/*--------------------
about.css
--------------------*/

header,
.l-breadcrumbs,
.l-page-mv,
.section-about{
  background:#FFFFFF;
}

.l-movie{
  background: linear-gradient(180deg, #FFFFFF 0%, #FFFFFF 18.5rem, transparent 18.5rem, transparent 100%);
  min-height: 48.0rem;
  padding:0 3.5rem 15.0rem;
}
.l-movie:before{
  content: "";
  display: block;
  position: fixed;
  top: 0px;
  left: 0px;
  z-index: -1;
  width: 100%;
  height: 100vh;
  background: url("../images/about/block01-bg01_pc.png") center center no-repeat rgba(0,0,0,0.5);
  background-size: cover;
}
.l-movie-inner{
  max-width:120.0rem;
  width:100%;
  margin:0 auto;
  height:67.5rem;
  position:relative;
  overflow:hidden;
}
.l-movie-inner > div{
  display:block;
  width: 100%;
  height: 100%;
  position: relative;
}
.l-movie-inner > div:hover{
  cursor: pointer;
}
.l-movie-inner > div > picture{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
  z-index:2;
  transition: 0.3s;
  opacity: 0.7;
}
.l-movie-inner > div > picture:hover{
  cursor: pointer;
  opacity: 1.0;
}
.l-movie-inner img{
  width:5.0rem;
}
.l-movie-inner iframe{
  position:absolute;
  top:0;
  left:0;
  z-index:1;
  width: 100%;  /* 明示的に幅を設定（必須） */
  height: 100%; /* 明示的に高さを設定（必須） */
  object-fit: cover;  /* ラッパーに収まるように拡大縮小 */
  pointer-events: none;
}

@media screen and (max-width: 767.5px) {
  .l-movie{
    background: linear-gradient(180deg, #FFFFFF 0%, #FFFFFF 14.5rem, transparent 14.5rem, transparent 100%);
    min-height: 52.0rem;
    padding:0 3.0rem 0;
  }
  .l-movie:before{
    content: "";
    display: block;
    position: fixed;
    top: 0px;
    left: 0px;
    z-index: -1;
    width: 100%;
    height: 75vh;
    background: url(../images/about/block01-bg01_pc.png) left center no-repeat rgba(0,0,0,0.5);
    background-size: cover;
  }
  .l-movie-inner{
    max-width:100%;
    width:100%;
    margin:0 auto;
    height:39.0rem;
    position:relative;
    overflow:hidden;
  }
  .l-movie-inner > div{
    display:block;
    width: 100%;
    height: 100%;
    position: relative;
  }
  .l-movie-inner > div:hover{
    cursor: pointer;
  }
  .l-movie-inner > div > picture{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit- transform: translateY(-50%) translateX(-50%);
    z-index:2;
    transition: 0.3s;
    opacity: 0.7;
  }
  .l-movie-inner > div > picture:hover{
    cursor: pointer;
    opacity: 1.0;
  }
  .l-movie-inner img{
    width:6.0rem;
  }
  .l-movie-inner iframe{
    position:absolute;
    top:0;
    left:0;
    z-index:1;
    width: 100%;  /* 明示的に幅を設定（必須） */
    height: 100%; /* 明示的に高さを設定（必須） */
    object-fit: cover;  /* ラッパーに収まるように拡大縮小 */
  }
}

.l-block01{
  background: url("../images/common/bg-check-blue_pc.png") top center repeat-y transparent;
  background-size: 100% auto;
  position: relative;
}
.l-block01-inner{
  max-width:140.0rem;
  width:100%;
  margin:0 auto;
  background:#FFFFFF;
  padding:9.0rem 10.0rem 5.0rem;
  position: relative;
  top:-9.0rem;
}
.l-block01-box{
  
}
.l-block01-box-table{
  width:100%;
  display:table;
}
.l-block01-box-table > div{
  display:table-cell;
  vertical-align: top;
}
.l-block01-box-table-left{
  width:60.0rem;
  text-align: left;
  padding-right:10.0rem;
}
.l-block01-box-table-left picture{
  
}
.l-block01-box-table-left picture img{
  width:100%;
  aspect-ratio: 1 / 1;
}
.l-block01-box-table-right{
  width:auto;
  text-align: left;
}
.l-block01-box-table-right h2{
  text-align: left;
  color: #1e4e74;
  font-size: clamp(22px, 3.0rem, 30px);
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.075em;
}
.l-block01-box-table-right p{
  padding-top:3.0rem;
  text-align: justify;
  color: #4d4d4d;
  font-size:clamp(14px, 1.7rem, 17px);
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.075em;
}

@media screen and (max-width: 767.5px) {
  .l-block01{
    background: url("../images/common/bg-check-blue_pc.png") top center repeat-y transparent;
    background-size: 100% auto;
    position: relative;
    padding:0 6.0rem;
  }
  .l-block01-inner{
    max-width:100%;
    width:100%;
    margin:0 auto;
    background:#FFFFFF;
    padding:6.0rem 5.0rem 5.0rem;
    position: relative;
    top:-9.0rem;
  }
  .l-block01-box{

  }
  .l-block01-box-table{
    width:100%;
    display:block;
  }
  .l-block01-box-table > div{
    width:100%;
    display:block;
    vertical-align: top;
  }
  .l-block01-box-table-left{
    width:100%;
    display:block;
    text-align: left;
    padding-right:0;
  }
  .l-block01-box-table-left picture{

  }
  .l-block01-box-table-left picture img{
    width:100%;
    aspect-ratio: 1 / 1;
  }
  .l-block01-box-table-right{
    width:100%;
    display:block;
    text-align: left;
    padding-top:4.0rem;
  }
  .l-block01-box-table-right h2{
    text-align: left;
    color: #1e4e74;
    font-size: 3.6rem;
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.05em;
  }
  .l-block01-box-table-right p{
    padding-top:3.0rem;
    text-align: justify;
    color: #4d4d4d;
    font-size: 2.6rem;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0.05em;
  }
}

.l-block02{
  
}
.l-block02-back{
  padding:9.0rem 3.5rem 10.0rem;
}
.l-block02-inner{
  max-width:140.0rem;
  width:100%;
  margin:0 auto;
}
.l-block02-inner > h2{
  text-align: center;
  color: #1e4e74;
  font-size: clamp(22px, 3.0rem, 30px);
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.075em;
}
.l-block02-inner > span{
  font-family: "zedou", sans-serif;
  display:block;
  text-align: center;
  color: #666;
  font-size:clamp(14px, 1.6rem, 16px);
  font-weight: 300;
  line-height: 1.75;
  letter-spacing: 0.075em;
}
.l-block02-table{
  width:100%;
  display:table;
  margin:5.0rem auto 10.0rem;
}
.l-block02-table > div{
  display:table-cell;
  vertical-align: middle;
}
.l-block02-table-left{
  width:auto;
  padding-right:10.0rem;
}
.l-block02-table-left p.l-block02-table-left-num{
  font-family: "zedou", sans-serif;
  text-align: left;
  color: #1e4e74;
  font-size:clamp(21px, 2.8rem, 28px);
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0.05em;
}
.l-block02-table-left h3{
  padding:2.5rem 0 0.5rem;
  border-bottom:1px solid #cccccc;
  text-align: left;
  color: #1e4e74;
  font-size: clamp(22px, 3.0rem, 30px);
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.075em;
}
.l-block02-table-left p{
  padding-top:1.0rem;
  text-align: justify;
  color: #4d4d4d;
  font-size:clamp(14px, 1.7rem, 17px);
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.075em;
}
.l-block02-table-right{
  width:70.0rem;
  text-align: left;
}
.l-block02-table-right picture{
  
}
.l-block02-table-right picture img{
  width:100%;
  aspect-ratio: 2 / 1;
}
.l-block02-slider{
  max-width:140.0rem;
  width:100%;
  margin:-15.0rem auto 0;
  display:block;
  text-align: left;
  font-size:0;
}
.l-block02-slider-list{
  display:inline-block;
  vertical-align: top;
  width:46.5rem;
  padding:0 0.5rem;
}
.l-block02-slider-list picture img{
  width:100%;
}
.l-block02-slider-list.-first picture img{
  border-radius:1.0rem 0 0 1.0rem;
}
.l-block02-slider-list.-last picture img{
  border-radius:0 1.0rem 1.0rem 0;
}

@media screen and (max-width: 767.5px) {
  .l-block02{

  }
  .l-block02-back{
    padding:9.0rem 3.0rem 10.0rem;
    /*background:#f7fafc;*/
  }
  .l-block02-inner{
    max-width:100%;
    width:100%;
    margin:0 auto;
  }
  .l-block02-inner > h2{
    text-align: center;
    color: #1e4e74;
    font-size: 3.6rem;
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.05em;
  }
  .l-block02-inner > span{
    font-family: "zedou", sans-serif;
    display:block;
    text-align: center;
    color: #666;
    font-size: 2.6rem;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0.05em;
  }
  .l-block02-table{
    width:100%;
    display:block;
    margin:5.0rem auto 5.0rem;
  }
  .l-block02-table > div{
    width:100%;
    display:block;
    vertical-align: middle;
  }
  .l-block02-table-left{
    width:100%;
    display:block;
    padding-right:0;
  }
  .l-block02-table-left p.l-block02-table-left-num{
    text-align: left;
    color: #1e4e74;
    font-size: 2.8rem;
    font-weight: 500;
    line-height: 1.75;
    letter-spacing: 0.05em;
  }
  .l-block02-table-left h3{
    padding:0 0 3.0rem;
    border-bottom:1px solid #cccccc;
    text-align: left;
    color: #1e4e74;
    font-size: 3.2rem;
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.05em;
  }
  .l-block02-table-left p{
    padding-top:3.0rem;
    text-align: left;
    color: #4d4d4d;
    font-size: 2.6rem;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0.05em;
  }
  .l-block02-table-right{
    width:100%;
    display:block;
    text-align: left;
    padding-top:4.0rem;
  }
  .l-block02-table-right picture{

  }
  .l-block02-table-right picture img{
    width:100%;
    aspect-ratio: 2 / 1;
  }
  .l-block02-slider{
    max-width:140.0rem;
    width:100%;
    margin:-15.0rem auto 0;
    display:block;
    text-align: left;
    font-size:0;
  }
  .l-block02-slider-list{
    display:inline-block;
    vertical-align: top;
    width:37.5rem;
    padding:0 0.5rem;
  }
  .l-block02-slider-list picture{

  }
  .l-block02-slider-list picture img{
    width:100%;
  }
}

.l-block04{
  padding:9.0rem 0 0;
  background:#f7fafc;
}
.l-block04-inner{
  max-width:192.0rem;
  width:100%;
  margin:0 auto;
}
.l-block04 h2{
  text-align: center;
  color: #1e4e74;
  font-size: clamp(22px, 3.0rem, 30px);
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.075em;
}
.l-block04 span{
  font-family: "zedou", sans-serif;
  display: block;
  text-align: center;
  color: #666;
  font-size:clamp(14px, 1.6rem, 16px);
  font-weight: 300;
  line-height: 1.75;
  letter-spacing: 0.075em;
}
.l-block04 picture{
  padding:10.5rem 0;
  display:block;
  text-align: center;
}
.l-block04 picture img{
  max-width:148.0rem;
  width:100%;
}
.l-block04-inner p{
  padding-top:6.5rem;
  text-align: center;
  color: #4d4d4d;
  font-size:clamp(14px, 1.7rem, 17px);
  font-weight: 400;
  line-height: 2.3;
  letter-spacing: 0.07em;
}


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

  .l-block04{
    padding:9.0rem 0 0;
    background:#f7fafc;
  }
  .l-block04-inner{
    max-width:100%;
    width:100%;
    margin:0 auto;
  }
  .l-block04 h2{
    text-align: center;
    color: #1e4e74;
    font-size: 3.6rem;
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.05em;
  }
  .l-block04 span{
    font-family: "zedou", sans-serif;
    display: block;
    text-align: center;
    color: #666;
    font-size: 2.6rem;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0.05em;
  }
  .l-block04 picture{
    display:block;
    text-align: center;
    padding:6.5rem 3.0rem;
  }
  .l-block04 picture img{
    max-width:100%;
    width:100%;
  }
  .l-block04-inner p{
    padding:6.5rem 3.5rem 0;
    text-align: center;
    color: #4d4d4d;
    font-size: 2.6rem;
    font-weight: 400;
    line-height: 2.3;
    letter-spacing: 0.07em;
  }
}

.modal-video {
  background:rgba(0,0,0,1.0) !important; 
}


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



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








