/*--------------------
work_detail.css
--------------------*/


.l-block01{
  padding:4.0rem 3.0rem 0;
}
.l-block01-inner{
  max-width:1600px;
  width:100%;
  margin:0 auto;
}
.l-block01-inner > picture{
  display:block;
}
.l-block01-inner > picture img{
  width:100%;
}
.l-block01-block{
  max-width:1000px;
  width:100%;
  margin:13.0rem auto 14.0rem;
}
.l-block01-block ul{
  display: block;
  text-align: left;
  font-size:0;
}
.l-block01-block ul li{
  display:inline-block;
  vertical-align: top;
}
.l-block01-block ul li.l-block01-block-cat{
  /*font-family: "Noto Serif JP", serif;*/
  border:1px solid #3aa4bf;
  background:#FFFFFF;
  border-radius: 2.0rem;
  margin-right:1.5rem;
  padding:0.2rem 2.5rem;
  text-align: center;
  color: #3aa4bf;

  font-size:18px;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0em;
}
.l-block01-block ul li.l-block01-block-name{
  /*font-family: "Noto Serif JP", serif;*/
  border:1px solid #cccccc;
  background:#FFFFFF;
  border-radius: 2.0rem;
  padding:0.2rem 2.5rem;
  min-width:12.0rem;
  text-align: center;
  color: #808080;

  font-size:18px;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0em;
}
.l-block01-block h2{
  /*font-family: "Noto Serif JP", serif;*/
  padding-top:4.0rem;
  text-align: left;
  color: #3aa4bf;

  font-size:30px;
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0em;
}
.l-block01-block p{
  padding-top:2.5rem;
  text-align: justify;
  color: #808080;

  font-size:18px;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0em;
}


@media screen and (max-width: 767.5px) {
  .l-block01{
    padding:4.0rem 3.0rem 0;
  }
  .l-block01-inner{
    max-width:100%;
    width:100%;
    margin:0 auto;
  }
  .l-block01-inner > picture{
    display:block;
  }
  .l-block01-inner > picture img{
    width:100%;
  }
  .l-block01-block{
    max-width:100%;
    width:100%;
    margin:8.0rem auto;
  }
  .l-block01-block ul{
    display: block;
    text-align: left;
    font-size:0;
  }
  .l-block01-block ul li{
    display:inline-block;
    vertical-align: top;
  }
  .l-block01-block ul li.l-block01-block-cat{
    /*font-family: "Noto Serif JP", serif;*/
    border:1px solid #3aa4bf;
    background:#FFFFFF;
    border-radius: 2.0rem;
    margin-right:1.5rem;
    padding:0.2rem 3.0rem;
    text-align: center;
    color: #3aa4bf;

    font-size:2.6rem;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0em;
  }
  .l-block01-block ul li.l-block01-block-name{
    /*font-family: "Noto Serif JP", serif;*/
    border:1px solid #cccccc;
    background:#FFFFFF;
    border-radius: 2.0rem;
    padding:0.2rem 3.0rem;
    min-width:auto;
    text-align: center;
    color: #808080;

    font-size:2.6rem;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0em;
  }
  .l-block01-block h2{
    /*font-family: "Noto Serif JP", serif;*/
    padding-top:4.0rem;
    text-align: left;
    color: #3aa4bf;

    font-size: 4.2rem;
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0em;
  }
  .l-block01-block p{
    padding-top:2.5rem;
    text-align: justify;
    color: #808080;

    font-size:2.6rem;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0em;
  }
}


.l-block02{
  padding:0 3.0rem 15.5rem;
}
.l-block02-inner{
  max-width:1600px;
  width:100%;
  margin:0 auto;
}
.l-block02-slider{
  
}
.l-block02-slider-list{
  padding:0 0.2rem;
}
.l-block02-slider-list picture{
  
}
.l-block02-slider-list picture img{
  width:100%;
}
.l-block02-slider .slick-prev{
  width: 8.0rem;
  height: 4.0rem;
  position: absolute;
  top: auto;
  bottom: -6.0rem;
  margin: auto;
  left: auto;
  right:49.0rem;
  z-index: 100;
  background: url(../images/voice_detail/block02-prev_pc.png) left center no-repeat transparent;
  background-size: 8.0rem auto;
  min-height: 4.0rem;
  z-index: 50;
}
.l-block02-slider .slick-next{
  width: 8.0rem;
  height: 4.0rem;
  position: absolute;
  top: auto;
  bottom: -6.0rem;
  margin: auto;
  right: 40.0rem;
  left: auto;
  z-index: 100;
  background: url(../images/voice_detail/block02-next_pc.png) right center no-repeat transparent;
  background-size: 8.0rem auto;
  min-height: 4.0rem;
  z-index: 50;
}

.l-block02-block{
  margin-top:10.0rem;
  text-align: center;
  font-size:0;
}
.l-block02-block .slick-track {
  transform: unset !important;
  text-align: center;
}
.l-block02-block-list{
  width:16.0rem !important;
  display:inline-block !important;
  vertical-align: top;
  padding:0 1.0rem;
  float:none;
}
.l-block02-block-list picture{
  display:block;
}
.l-block02-block-list picture:hover{
  cursor: pointer;
}
.l-block02-block-list picture img{
  width:100%;
}

.l-block02-table{
  max-width:830px;
  width:100%;
  margin:14.0rem auto 0;
  display:table;
}
.l-block02-table > div{
  display:table-cell;
  vertical-align: top;
  text-align: left;
}
.l-block02-table-left{
  width:14.0rem;
}
.l-block02-table-left h3{
  text-align: left;
  color: #3aa4bf;

  font-size:30px;
  font-weight: 700;
  line-height: 1.0;
  letter-spacing: 0em;
}
.l-block02-table-right{
  width:69.0rem;
  padding-left:6.0rem;
  border-left:1px solid #3aa4bf;
}
.l-block02-table-right table{
  width:100%;
  display:table;
}
.l-block02-table-right table tr{
  border-bottom:1px solid #808080;
}
.l-block02-table-right table tr:first-of-type th{
  padding:0 0.5rem 2.0rem 0;
}
.l-block02-table-right table tr th{
  width:11.0rem;
  padding:2.0rem 0.5rem 2.0rem 0;
  vertical-align: top;
  text-align: left;
  color: #808080;

  font-size:18px;
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0em;
}
.l-block02-table-right table tr td{
  width:auto;
  padding:2.0rem 0.5rem 2.0rem 0;
  vertical-align: top;
  text-align: justify;
  color: #808080;

  font-size:18px;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0em;
}
.l-block02-table-right table tr:first-of-type td{
  padding:0 0.5rem 2.0rem 0;
}

.l-block02-block02{
  padding-top:10.0rem;
}
.l-block02-block02-box{
  max-width:1000px;
  width:100%;
  margin:0 auto;
  background:#f2f2f2;
  padding:5.0rem 5.0rem;
}
.l-block02-block02-box-table{
  width:100%;
  display:table;
}
.l-block02-block02-box-table > div{
  display:table-cell;
  vertical-align: top;
  text-align: left;
}
.l-block02-block02-box-table-left{
  width:20.5rem;
}
.l-block02-block02-box-table-left p{
  background: url("../images/work_detail/block02-icon01_pc.png") left center no-repeat transparent;
  background-size: 2.4rem auto;
  min-height:2.3rem;
  padding-left:4.0rem;
  text-align: left;
  color: #808080;

  font-size:18px;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0em;
}
.l-block02-block02-box-table-right{
  width:auto;
}
.l-block02-block02-box-table-right ul{
  display:block;
  text-align: left;
  font-size:0;
}
.l-block02-block02-box-table-right ul li{
  display:inline-block;
  vertical-align: top;
  padding-right:1.5rem;
  text-align: left;
  color: #808080;

  font-size:18px;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0em;
}


@media screen and (max-width: 767.5px) {
  .l-block02{
    padding:0 3.0rem 8.0rem;
  }
  .l-block02-inner{
    max-width:100%;
    width:100%;
    margin:0 auto;
  }
  .l-block02-slider{

  }
  .l-block02-slider-list{
    padding:0 0.2rem;
  }
  .l-block02-slider-list picture{

  }
  .l-block02-slider-list picture img{
    width:100%;
  }
  .l-block02-slider .slick-prev{
    width: 12.0rem;
    height: 6.0rem;
    position: absolute;
    top: auto;
    bottom: -9.0rem;
    margin: auto;
    left: auto;
    right:13.0rem;
    background: url(../images/voice_detail/block02-prev_pc.png) left center no-repeat transparent;
    background-size: 12.0rem auto;
    min-height: 6.0rem;
    z-index: 50;
  }
  .l-block02-slider .slick-next{
    width: 12.0rem;
    height: 6.0rem;
    position: absolute;
    top: auto;
    bottom: -9.0rem;
    margin: auto;
    right: 0;
    left: auto;
    background: url(../images/voice_detail/block02-next_pc.png) right center no-repeat transparent;
    background-size: 12.0rem auto;
    min-height: 6.0rem;
    z-index: 50;
  }

  .l-block02-block{
    margin-top:12.0rem;
    text-align: center;
    font-size:0;
  }
  .l-block02-block .slick-track {
    width:100% !important;
    transform: unset !important;
    text-align: center;
  }
  .l-block02-block-list{
    width:20% !important;
    display:inline-block !important;
    vertical-align: top;
    padding:1.0rem 0.5rem 0;
    float:none;
  }
  .l-block02-block-list picture{
    display:block;
  }
  .l-block02-block-list picture:hover{
    cursor: pointer;
  }
  .l-block02-block-list picture img{
    width:100%;
  }

  .l-block02-table{
    max-width:100%;
    width:100%;
    margin:6.0rem auto 0;
    display:table;
  }
  .l-block02-table > div{
    display:table-cell;
    vertical-align: top;
    text-align: left;
  }
  .l-block02-table-left{
    width:20.0rem;
  }
  .l-block02-table-left h3{
    text-align: left;
    color: #3aa4bf;

    font-size: 4.2rem;
    font-weight: 700;
    line-height: 1.0;
    letter-spacing: 0em;
  }
  .l-block02-table-right{
    width:auto;
    padding-left:6.0rem;
    border-left:1px solid #3aa4bf;
  }
  .l-block02-table-right table{
    width:100%;
    display:table;
  }
  .l-block02-table-right table tr{
    border-bottom:1px solid #808080;
  }
  .l-block02-table-right table tr:first-of-type th{
    padding:0 0.5rem 2.0rem 0;
  }
  .l-block02-table-right table tr th{
    width:15.0rem;
    padding:2.0rem 0.5rem 2.0rem 0;
    vertical-align: top;
    text-align: left;
    color: #808080;

    font-size: 2.6rem;
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0em;
  }
  .l-block02-table-right table tr td{
    width:auto;
    padding:2.0rem 0.5rem 2.0rem 0;
    vertical-align: top;
    text-align: justify;
    color: #808080;

    font-size: 2.6rem;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0em;
  }
  .l-block02-table-right table tr:first-of-type td{
    padding:0 0.5rem 2.0rem 0;
  }

  .l-block02-block02{
    padding-top:8.0rem;
  }
  .l-block02-block02-box{
    max-width:100%;
    width:100%;
    margin:0 auto;
    background:#f2f2f2;
    padding:5.0rem 5.0rem;
  }
  .l-block02-block02-box-table{
    width:100%;
    display:table;
  }
  .l-block02-block02-box-table > div{
    display:table-cell;
    vertical-align: top;
    text-align: left;
  }
  .l-block02-block02-box-table-left{
    width:20.5rem;
  }
  .l-block02-block02-box-table-left p{
    background: url("../images/work_detail/block02-icon01_pc.png") left center no-repeat transparent;
    background-size: 3.6rem auto;
    min-height:3.5rem;
    padding-left:6.0rem;
    text-align: left;
    color: #808080;

    font-size:2.6rem;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0em;
  }
  .l-block02-block02-box-table-right{
    width:auto;
  }
  .l-block02-block02-box-table-right ul{
    display:block;
    text-align: left;
    font-size:0;
  }
  .l-block02-block02-box-table-right ul li{
    display:inline-block;
    vertical-align: top;
    padding-right:1.5rem;
    text-align: left;
    color: #808080;

    font-size:2.6rem;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0em;
  }
}


.l-block03{
  padding:12.0rem 3.0rem;
  background:#e9e3d1;
}
.l-block03-inner{
  max-width:1770px;
  width:100%;
  margin:0 auto;
}
.l-block03-table{
  width: 100%;
  display: table;
}
.l-block03-table > div{
  display: table-cell;
  vertical-align: top;
}
.l-block03-table-left{
  text-align: left;
  width:8.8rem;
}
.l-block03-table-left h2{
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
  text-align: left;
  color: #FFFFFF;
  
  font-size:70px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.05em;
  
  white-space: nowrap;
}
.l-block03-table-left h2 span{
  position: relative;
  left:10px;
}
.l-block03-table-right{
  width:153.2rem;
  text-align: right;
  padding-right:15.0rem;
}

.l-block03-block{
  width:100%;
  margin:0 auto 0;
  padding-right:0;
  display:block;
  text-align: left;
  font-size:0;
  padding-top:2.5rem;
}
.l-block03-block > p{
  padding-top:10.0rem;
  text-align: center;
  color: #000000;

  font-size:20px;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0em;
}
.l-block03-block-list{
  width:33.3%;
  display:inline-block;
  vertical-align: top;
  padding:3.0rem 0 0;
}
.l-block03-block-list:nth-of-type(3n+1){
  padding-right:2.0rem;
}
.l-block03-block-list:nth-of-type(3n+2){
  padding-left:1.0rem;
  padding-right:1.0rem;
}
.l-block03-block-list:nth-of-type(3n){
  padding-left:2.0rem;
}
.l-block03-block-list > a{
  display:block;
  background:#fafaf0;
  padding:2.0rem 2.0rem 4.0rem;
}
.l-block03-block-list > a picture{
  display:block;
}
.l-block03-block-list > a picture img{
  max-width:100%;
  width:100%;
  height: 25.0rem;
  object-fit: cover;
}
.l-block03-block-list-title{
  /*font-family: "Noto Serif JP", serif;*/
  padding-top:2.0rem;
  text-align: left;
  color: #3aa4bf;

  font-size:20px;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0em;
}
.l-block03-block-list-message{
  padding-top:2.0rem;
  text-align: left;
  color: #808080;

  font-size:18px;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0em;
  
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 2;
}
.l-block03-block-list-category{
  position: relative;
  padding-right:3.0rem;
  margin-top:3.0rem;
}
.l-block03-block-list-category ul{
  display: block;
  text-align: left;
  font-size:0;
}
.l-block03-block-list-category ul li{
  display:inline-block;
  vertical-align: top;
}
.l-block03-block-list-category ul li.l-block03-block-list-cat{
  /*font-family: "Noto Serif JP", serif;*/
  border: 1px solid #3aa4bf;
  border-radius: 2.0rem;
  background: #FFFFFF;
  margin-right: 1.5rem;
  padding: 0.2rem 0.5rem;
  min-width: 12.0rem;
  text-align: center;
  color: #3aa4bf;
  
  font-size:15px;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0em;
}
.l-block03-block-list-category ul li.l-block03-block-list-name{
  /*font-family: "Noto Serif JP", serif;*/
  border: 1px solid #cccccc;
  border-radius: 2.0rem;
  background: #FFFFFF;
  margin-right: 1.5rem;
  padding: 0.2rem 0.5rem;
  min-width: 12.0rem;
  text-align: center;
  color: #333333;
  
  font-size:15px;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0em;
}
.scrollLineAnime{
  position: absolute;
  width: 20px;
  height: 1px;
  overflow: hidden;
  z-index: 4;
  display: block;
  right:0;
  top:0;
  bottom:0;
  margin:auto 0;
}
.scrollLineAnime:before {
  background: #3aa4bf;
  z-index: 10;
}
.scrollLineAnime:after, .scrollLineAnime:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 20px;
  height: 1px;
}
.scrollLineAnime:after {
  background: transparent;
}
.l-block03-block-list a:hover .scrollLineAnime:before {
  animation: scrollHoverAnime 1.4s infinite normal;
}
.l-block03-btn{
  padding-top:6.5rem;
  padding-right:4.0rem;
  text-align: right;
}
.l-block03-btn > div{
  display:inline-block;
}


@media screen and (max-width: 767.5px) {
  .l-block03{
    padding:10.0rem 3.0rem;
    background:#e9e3d1;
  }
  .l-block03-inner{
    max-width:100%;
    width:100%;
    margin:0 auto;
  }
  .l-block03-table{
    width: 100%;
    display: block;
  }
  .l-block03-table > div{
    width: 100%;
    display: block;
    vertical-align: top;
  }
  .l-block03-table-left{
    width: 100%;
    display: block;
    text-align: left;
  }
  .l-block03-table-left h2{
    -webkit-writing-mode: horizontal-tb;
    -ms-writing-mode: lr-tb;
    writing-mode: horizontal-tb;
    text-align: left;
    color: #FFFFFF;

    font-size: 6.2rem;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0.05em;
    
    white-space: wrap;
  }
  .l-block03-table-right{
    text-align: right;
    padding-right:0;
  }
  .l-block03-table-left h2 span{
    position: relative;
    left:0;
  }

  .l-block03-block{
    width:100%;
    margin:0 auto 0;
    padding-right:0;
    display:block;
    text-align: left;
    font-size:0;
    padding-top:3.0rem;
  }
  .l-block03-block > p{
    padding-top:10.0rem;
    text-align: center;
    color: #000000;

    font-size:3.2rem;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0em;
  }
  .l-block03-block-list{
    width:100%;
    display:block;
    vertical-align: top;
    padding:3.0rem 0 0;
  }
  .l-block03-block-list:nth-of-type(3n+1){
    padding-right:0;
  }
  .l-block03-block-list:nth-of-type(3n+2){
    padding-left:0;
    padding-right:0;
  }
  .l-block03-block-list:nth-of-type(3n){
    padding-left:0;
  }
  .l-block03-block-list > a{
    display:block;
    background:#fafaf0;
    padding: 2.7rem 2.7rem 3.0rem;
  }
  .l-block03-block-list > a picture{
    display:block;
  }
  .l-block03-block-list > a picture img{
    max-width:100%;
    width:100%;
    height: auto;
    object-fit: cover;
  }
  .l-block03-block-list-title{
      /*font-family: "Noto Serif JP", serif;*/
      padding-top: 2.0rem;
      text-align: left;
      color: #3aa4bf;

      font-size: 3.2rem;
      font-weight: 400;
      line-height: 1.75;
      letter-spacing: 0em;
  }
  .l-block03-block-list-message{
    padding-top: 1.0rem;
    text-align: justify;
    color: #808080;
    font-size: 2.6rem;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0em;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 3;
  }
  .l-block03-block-list-category{
    position: relative;
    padding-right:3.0rem;
    margin-top:3.0rem;
  }
  .l-block03-block-list-category ul{
    display: block;
    text-align: left;
    font-size:0;
  }
  .l-block03-block-list-category ul li{
    display:inline-block;
    vertical-align: top;
  }
  .l-block03-block-list-category ul li.l-block03-block-list-cat{
    /*font-family: "Noto Serif JP", serif;*/
    border: 1px solid #3aa4bf;
    border-radius: 2.0rem;
    background: #FFFFFF;
    margin-right: 1.5rem;
    padding: 0.2rem 4.0rem;
    min-width: 12.0rem;
    text-align: center;
    color: #3aa4bf;

    font-size: 2.6rem;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0em;
  }
  .l-block03-block-list-category ul li.l-block03-block-list-name{
    /*font-family: "Noto Serif JP", serif;*/
    border: 1px solid #cccccc;
    border-radius: 2.0rem;
    background: #FFFFFF;
    margin-right: 1.5rem;
    padding: 0.2rem 4.0rem;
    min-width: 12.0rem;
    text-align: center;
    color: #333333;

    font-size: 2.6rem;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0em;
  }
  .scrollLineAnime{
    position: absolute;
    width: 5.0rem;
    height: 1px;
    overflow: hidden;
    z-index: 4;
    display: block;
    right:0;
    top:auto;
    bottom:3.0rem;
    margin:auto 0;
  }
  .scrollLineAnime:before {
    background: #3aa4bf;
    z-index: 10;
  }
  .scrollLineAnime:after, .scrollLineAnime:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 5.0rem;
    height: 1px;
  }
  .scrollLineAnime:after {
    background: transparent;
  }
  .l-block03-block-list a:hover .scrollLineAnime:before {
    animation: scrollHoverAnime 1.4s infinite normal;
  }
  .l-block03-btn{
    padding-top:6.5rem;
    padding-right:0;
    text-align: right;
  }
  .l-block03-btn > div{
    display:inline-block;
  }
}




@media screen and (max-width: 767.5px) {
  
}

@media screen and (max-width: 767.5px) {
  
}




