@charset "UTF-8";

html {
  font-size: 10px;
}

html {
  font-size: calc(10 * (100vw / 1200));
}

body {
  overflow-x: hidden;
}

.l-container {
  font-family: "yu-gothic-pr6n", sans-serif;
  font-weight: 400;
  font-feature-settings: "palt";
  font-style: normal;
  margin: 0 0 0;
  width: 100%;
}
.l-container a {
  display: block;
  color: #000;
  text-decoration: none;
}
.l-container img{
  width: 100%;
  height: 100%;
  vertical-align: top;
}

.l-container .default-img{
  width: 100%;
  height: auto;
  display: block;
}

.l-container .video__body{
  height: 100%;
  width: 100%;
}
.l-container .video__body--content{
  top: 0;
  left: 0;
  position: absolute;
  width: 100%;
  height: 100%;
}

.l-container #sp-only{
  display: none !important;
}

/*******************************
credit
*******************************/

.l-container .creditList{
  
}

.l-container .creditList .credit{
  display: flex;
  flex-direction: column;
  gap: calc(22 *(100vw / 1400) * 0.64) 0;
}

.l-container .creditList .credit li{
  position: relative;
  text-decoration: underline;
  text-decoration-skip-ink: none;
  width: fit-content;
}

.l-container .creditList .credit li,
.l-container .creditList .credit a{
  color: #191919;
  font-family: "acumin-pro", sans-serif;
  font-weight: 400;
  font-size: calc(22 *(100vw / 1400) * 0.64);
  letter-spacing: 0;
  line-height: 1;
}

.l-container .creditList .credit li .price{
  letter-spacing: 0.015em;
}
.l-container .creditList .credit li .price::before{
  content: "\0A0";
}

.l-container .creditList.wh .credit li,
.l-container .creditList.wh .credit a{
  color: #fff;
}

.l-container .credit01{
  position: absolute;
  bottom: calc(197 *(100vw / 1400) * 0.64);
  left: calc(40 *(100vw / 1400) * 0.64);
}

.l-container .credit02{
  margin: calc(41 *(100vw / 1400) * 0.64) 0 0;
}

.l-container .credit03{
  margin: calc(40 *(100vw / 1400) * 0.64) 0 0;
}

.l-container .credit04{
  position: absolute;
  top: calc(40 *(100vw / 1400) * 0.64);
  left: calc(40 *(100vw / 1400) * 0.64);
}

.l-container .credit05{
  position: absolute;
  top: calc(40 *(100vw / 1400) * 0.64);
  right: calc(40 *(100vw / 1400) * 0.64);
}
.l-container .credit05 .credit{
  align-items: flex-end;
}

.l-container .credit06{
  margin: calc(42 *(100vw / 1400) * 0.64) 0 0 calc(40 *(100vw / 1400) * 0.64);
}

.l-container .credit07{
  margin: calc(42 *(100vw / 1400) * 0.64) 0 0 calc(40 *(100vw / 1400) * 0.64);
}

.l-container .credit08{
  position: absolute;
  bottom: calc(44 *(100vw / 1400) * 0.64);
  left: calc(40 *(100vw / 1400) * 0.64);
}

/*******************************
mv
*******************************/

.feature{
  display: flex;
}

.feature .mv{
  background: url(../img/mv.jpg) top 25% center / cover no-repeat;
  position: sticky;
  transition: 1s;
  top: 80px;
  height: calc(100vh - 80px);
  width: 50%;
}

/*******************************
hero
*******************************/

.feature .hero{
  margin: auto;
  width: 100%;
}

.feature .hero .hero__mv{
  display: flex;
  justify-content: center;
  margin: 0 auto;
  position: relative;
  height: calc(1333 *(100vw / 1400) * 0.64);
  width: calc(750 *(100vw / 1400) * 0.64);
}

.feature .hero .hero__sound{
  background: url(../img/sound_off.png) center top / contain no-repeat;
  position: absolute;
  top: calc(24 *(100vw / 1400) * 0.64);
  right: calc(18 *(100vw / 1400) * 0.64);
  height: calc(20 *(100vw / 1400) * 0.64);
  width: calc(152 *(100vw / 1400) * 0.64);
}
.feature .hero .hero__sound.on{
  background: url(../img/sound_on.png) center top / contain no-repeat;
}

.feature .hero .hero__logo{
  margin: calc(100 *(100vw / 1400) * 0.64) auto 0;
  position: relative;
  width: calc(476 *(100vw / 1400) * 0.64);
}

.feature .hero .hero__text{
  color: #191919;
  font-size: calc(24 *(100vw / 1400) * 0.64);
  letter-spacing: 0.025em;
  line-height: 2;
  margin: calc(87 *(100vw / 1400) * 0.64) auto 0;
  text-align: center;
}
.feature .hero .hero__text.text02{
  margin: calc(56 *(100vw / 1400) * 0.64) auto 0;
}

/*******************************
container
*******************************/

.feature .main{
  width: 50%;
}

.feature .sec{
  position: relative;
  margin: auto;
  width: calc(480 *(100vw / 1400));
}

.feature .sec .inner{
  margin: auto;
  position: relative;
  width: 100%;
}

.feature .sec .sec__flex{
  display: flex;
}

.feature .sec .sec__img{
  position: relative;
}

/*******************************
sec01
*******************************/

.feature .sec01{
  margin: calc(167 *(100vw / 1400) * 0.64) auto 0;
}

.feature .sec01 .img01{
  margin: 0;
  width: calc(678 *(100vw / 1400) * 0.64);
}
.feature .sec01 .img04{
  margin: calc(98 *(100vw / 1400) * 0.64) auto 0;
  width: 100%;
}

.feature .sec01 .slide01{
  margin: calc(100 *(100vw / 1400) * 0.64) 0 0 auto;
  width: calc(608 *(100vw / 1400) * 0.64);
}

/*******************************
sec02
*******************************/

.feature .sec02{
  margin: calc(200 *(100vw / 1400) * 0.64) auto 0;
}

.feature .sec02 .img05{
  width: calc(630 *(100vw / 1400) * 0.64);
}
.feature .sec02 .img05 a{
  position: relative;
  z-index: 2;
}
.feature .sec02 .img05::before{
  background: #0f5a41;
  content: "";
  position: absolute;
  top: calc(38 *(100vw / 1400) * 0.64);
  right: calc(-35 *(100vw / 1400) * 0.64);
  height: calc(840 *(100vw / 1400) * 0.64);
  width: calc(630 *(100vw / 1400) * 0.64);
  z-index: 1;
}

.feature .sec02 .img06{
  margin: calc(118 *(100vw / 1400) * 0.64) calc(30 *(100vw / 1400) * 0.64) 0 auto;
  width: calc(630 *(100vw / 1400) * 0.64);
}

/*******************************
sec03
*******************************/

.feature .sec03{
  margin: calc(170 *(100vw / 1400) * 0.64) auto 0;
}

.feature .sec03 .img07-1{
  margin: 0 auto;
  position: sticky;
  top: calc((100vh - 45.71vw) / 2 + 40px);
  width: 100%;
  z-index: 1;
}
.feature .sec03 .img07-2{
  margin: calc(-128 *(100vw / 1400) * 0.64) auto 0;
  padding: calc(228 *(100vw / 1400) * 0.64) 0 calc(128 *(100vw / 1400) * 0.64);
  position: sticky;
  top: calc(128 *(100vw / 1400) + 40px);
  width: calc(540 *(100vw / 1400) * 0.64);
  z-index: 2;
}
.feature .sec03 .img07-2::before{
  background: #0f5a41;
  content: "";
  margin: auto;
  position: absolute;
  top: calc(100 *(100vw / 1400) * 0.64);
  bottom: 0;
  left: calc(-14 *(100vw / 1400) * 0.64);
  height: calc(748 *(100vw / 1400) * 0.64);
  width: calc(568 *(100vw / 1400) * 0.64);
  z-index: 1;
}
.feature .sec03 .img07-2 a{
  position: relative;
  z-index: 2;
}

.feature .sec03 .img08{
  margin: calc(100 *(100vw / 1400) * 0.64) auto 0;
  width: calc(620 *(100vw / 1400) * 0.64);
}

/*******************************
sec04
*******************************/

.feature .sec04{
  margin: calc(170 *(100vw / 1400) * 0.64) auto 0;
}

.feature .sec04 .flex01{
  flex-direction: column;
  margin: 0 auto;
  overflow: hidden;
  width: 100%;
}

.feature .sec04 .sec__lax{
  display: flex;
  justify-content: space-between;
  width: calc(1506 *(100vw / 1400) * 0.64);
}

.feature .sec04 .img09,
.feature .sec04 .img10{
  width: calc(238 *(100vw / 1400));
}

.feature .sec04 .img11{
  margin: calc(100 *(100vw / 1400) * 0.64) auto 0;
  width: calc(690 *(100vw / 1400) * 0.64);
}

.feature .sec04 .sec__item{
  margin: calc(169 *(100vw / 1400) * 0.64) auto 0;
  width: calc(450 *(100vw / 1400) * 0.64);
}

/*******************************
sec05
*******************************/

.feature .sec05{
  margin: calc(170 *(100vw / 1400) * 0.64) auto 0;
}

.feature .sec05 .img12{
  width: calc(678 *(100vw / 1400) * 0.64);
}

.feature .sec05 .img13{
  margin: calc(136 *(100vw / 1400) * 0.64) calc(76 *(100vw / 1400) * 0.64) 0 auto;
  width: calc(462 *(100vw / 1400) * 0.64);
}
.feature .sec05 .img13 a{
  position: relative;
  z-index: 2;
}
.feature .sec05 .img13::before{
  background: #0f5a41;
  content: "";
  position: absolute;
  top: calc(-35 *(100vw / 1400) * 0.64);
  right: calc(-35 *(100vw / 1400) * 0.64);
  height: calc(616 *(100vw / 1400) * 0.64);
  width: calc(462 *(100vw / 1400) * 0.64);
  z-index: 1;
}

.feature .sec05 .img14{
  margin: calc(100 *(100vw / 1400) * 0.64) auto 0;
  width: 100%;
}

/*******************************
sec06
*******************************/

.feature .sec06{
  margin: calc(200 *(100vw / 1400) * 0.64) auto 0;
}

.feature .sec06 .img15{
  margin: 0 0 0 auto;
  width: calc(650 *(100vw / 1400) * 0.64);
}
.feature .sec06 .img16{
  margin: calc(60 *(100vw / 1400) * 0.64) 0 0;
  width: calc(650 *(100vw / 1400) * 0.64);
}

/*******************************
sec07
*******************************/

.feature .sec07{
  margin: calc(170 *(100vw / 1400) * 0.64) auto 0;
}

.feature .sec07 .img17-1{
  margin: 0 auto;
  position: sticky;
  top: 80px;
  top: calc((100vh - 45.71vw) / 2 + 40px);
  width: 100%;
  z-index: 1;
}
.feature .sec07 .img17-2{
  margin: calc(-128 *(100vw / 1400) * 0.64) auto 0;
  padding: calc(228 *(100vw / 1400) * 0.64) 0 calc(128 *(100vw / 1400) * 0.64);
  position: sticky;
  top: calc(128 *(100vw / 1400) + 40px);
  width: calc(540 *(100vw / 1400) * 0.64);
  z-index: 2;
}
.feature .sec07 .img17-2::before{
  background: #0f5a41;
  content: "";
  margin: auto;
  position: absolute;
  top: calc(100 *(100vw / 1400) * 0.64);
  bottom: 0;
  left: calc(-14 *(100vw / 1400) * 0.64);
  height: calc(748 *(100vw / 1400) * 0.64);
  width: calc(568 *(100vw / 1400) * 0.64);
  z-index: 1;
}
.feature .sec07 .img17-2 a{
  position: relative;
  z-index: 2;
}

.feature .sec07 .img08{
  margin: calc(100 *(100vw / 1400) * 0.64) auto 0;
  width: calc(620 *(100vw / 1400) * 0.64);
}

/*******************************
sec08
*******************************/

.feature .sec08{
  margin: calc(170 *(100vw / 1400) * 0.64) auto 0;
}

.feature .sec08 .img18{
  margin: 0 auto;
  width: calc(630 *(100vw / 1400) * 0.64);
}

.feature .sec08 .sec__item{
  margin: calc(80 *(100vw / 1400) * 0.64) auto 0;
  position: relative;
  width: 100%;
}
.feature .sec08 .slide02{
  margin: 0;
  width: 100%;
}

.feature .sec08 .sec__btn{
  margin: calc(170 *(100vw / 1400) * 0.64) auto 0;
  padding: 0 0 calc(100 *(100vw / 1400));
  width: calc(450 *(100vw / 1400) * 0.64);
}

@media screen and (min-width: 1401px){
  .l-container .creditList .credit{
    gap: calc(22px * 0.64) 0;
  }
  
  .l-container .creditList .credit li,
  .l-container .creditList .credit a{
    font-size: calc(22px * 0.64);
  }
  
  .l-container .credit01{
    bottom: calc(197px * 0.64);
    left: calc(40px * 0.64);
  }
  
  .l-container .credit02{
    margin: calc(41px * 0.64) 0 0;
  }
  
  .l-container .credit03{
    margin: calc(40px * 0.64) 0 0;
  }
  
  .l-container .credit04{
    top: calc(40px * 0.64);
    left: calc(40px * 0.64);
  }
  
  .l-container .credit05{
    top: calc(40px * 0.64);
    right: calc(40px * 0.64);
  }
  
  .l-container .credit06{
    margin: calc(42px * 0.64) 0 0 calc(40px * 0.64);
  }
  
  .l-container .credit07{
    margin: calc(42px * 0.64) 0 0 calc(40px * 0.64);
  }
  
  .l-container .credit08{
    bottom: calc(44px * 0.64);
    left: calc(40px * 0.64);
  }

  .feature .hero{
    width: 480px;
  }

  .feature .hero .hero__mv{
    height: calc(1333px * 0.64);
    width: calc(750px * 0.64);
  }
  
  .feature .hero .hero__sound{
    top: calc(24px * 0.64);
    right: calc(18px * 0.64);
    height: calc(20px * 0.64);
    width: calc(152px * 0.64);
  }

  .feature .hero .hero__logo{
    margin: calc(100px * 0.64) auto 0;
    width: calc(476px * 0.64);
  }
  
  .feature .hero .hero__text{
    font-size: calc(24px * 0.64);
    margin: calc(87px * 0.64) auto 0;
  }
  .feature .hero .hero__text.text02{
    margin: calc(56px * 0.64) auto 0;
  }

  .feature .sec{
    width: 480px;
  }

  /*******************************
  sec01
  *******************************/

  .feature .sec01{
    margin: calc(167px * 0.64) auto 0;
  }

  .feature .sec01 .img01{
    width: calc(678px * 0.64);
  }
  .feature .sec01 .img04{
    margin: calc(98px * 0.64) auto 0;
    width: 100%;
  }

  .feature .sec01 .slide01{
    margin: calc(100px * 0.64) 0 0 auto;
    width: calc(608px * 0.64);
  }

  /*******************************
  sec02
  *******************************/

  .feature .sec02{
    margin: calc(200px * 0.64) auto 0;
  }

  .feature .sec02 .img05{
    width: calc(630px * 0.64);
  }
  .feature .sec02 .img05::before{
    top: calc(38px * 0.64);
    right: calc(-35px * 0.64);
    height: calc(840px * 0.64);
    width: calc(630px * 0.64);
  }

  .feature .sec02 .img06{
    margin: calc(118px * 0.64) calc(30px * 0.64) 0 auto;
    width: calc(630px * 0.64);
  }

  /*******************************
  sec03
  *******************************/

  .feature .sec03{
    margin: calc(170px * 0.64) auto 0;
  }

  .feature .sec03 .img07-1{
    margin: 0 auto;
    top: calc((100vh - 640px) / 2 + 40px);
    width: 100%;
  }
  .feature .sec03 .img07-2{
    margin: calc(-128px * 0.64) auto 0;
    padding: calc(228px * 0.64) 0 calc(128px * 0.64);
    top: calc(128px * 0.64 + 40px);
    width: calc(540px * 0.64);
  }
  .feature .sec03 .img07-2::before{
    top: calc(100px * 0.64);
    left: calc(-14px * 0.64);
    height: calc(748px * 0.64);
    width: calc(568px * 0.64);
  }

  .feature .sec03 .img08{
    margin: calc(100px * 0.64) auto 0;
    width: calc(620px * 0.64);
  }

  /*******************************
  sec04
  *******************************/

  .feature .sec04{
    margin: calc(170px * 0.64) auto 0;
  }

  .feature .sec04 .flex01{
    width: 480px;
  }

  .feature .sec04 .sec__lax{
    width: calc(1506px * 0.64);
  }

  .feature .sec04 .img09,
  .feature .sec04 .img10{
    width: calc(372px * 0.64);
  }

  .feature .sec04 .img11{
    margin: calc(100px * 0.64) auto 0;
    width: calc(690px * 0.64);
  }

  .feature .sec04 .sec__item{
    margin: calc(169px * 0.64) auto 0;
    width: calc(450px * 0.64);
  }

  /*******************************
  sec05
  *******************************/

  .feature .sec05{
    margin: calc(170px * 0.64) auto 0;
  }

  .feature .sec05 .img12{
    width: calc(678px * 0.64);
  }

  .feature .sec05 .img13{
    margin: calc(136px * 0.64) calc(76px * 0.64) 0 auto;
    width: calc(462px * 0.64);
  }
  .feature .sec05 .img13::before{
    top: calc(-35px * 0.64);
    right: calc(-35px * 0.64);
    height: calc(616px * 0.64);
    width: calc(462px * 0.64);
  }

  .feature .sec05 .img14{
    margin: calc(100px * 0.64) auto 0;
    width: 100%;
  }

  /*******************************
  sec06
  *******************************/

  .feature .sec06{
    margin: calc(200px * 0.64) auto 0;
  }

  .feature .sec06 .img15{
    margin: 0 0 0 auto;
    width: calc(650px * 0.64);
  }
  .feature .sec06 .img16{
    margin: calc(60px * 0.64) 0 0;
    width: calc(650px * 0.64);
  }

  /*******************************
  sec07
  *******************************/

  .feature .sec07{
    margin: calc(170px * 0.64) auto 0;
  }

  .feature .sec07 .img17-1{
    margin: 0 auto;
    top: calc((100vh - 640px) / 2 + 40px);
    width: 100%;
  }
  .feature .sec07 .img17-2{
    margin: calc(-128px * 0.64) auto 0;
    padding: calc(228px * 0.64) 0 calc(128px * 0.64);
    top: calc(128px * 0.64 + 40px);
    width: calc(540px * 0.64);
  }
  .feature .sec07 .img17-2::before{
    top: calc(100px * 0.64);
    left: calc(-14px * 0.64);
    height: calc(748px * 0.64);
    width: calc(568px * 0.64);
  }

  .feature .sec07 .img08{
    margin: calc(100px * 0.64) auto 0;
    width: calc(620px * 0.64);
  }

  /*******************************
  sec08
  *******************************/

  .feature .sec08{
    margin: calc(170px * 0.64) auto 0;
  }

  .feature .sec08 .img18{
    margin: 0 auto;
    width: calc(630px * 0.64);
  }

  .feature .sec08 .sec__item{
    margin: calc(80px * 0.64) auto 0;
    width: 100%;
  }
  .feature .sec08 .slide02{
    margin: 0;
    width: 100%;
  }

  .feature .sec08 .sec__btn{
    margin: calc(170px * 0.64) auto 0;
    padding: 0 0 100px;
    width: calc(450px * 0.64);
  }
}

/*******************************
fade
*******************************/

.l-container #feature .target[data-fade="fadeIn"]{
  opacity: 0;
  transition: ease-in, opacity 1000ms, transform 1000ms;
  transform: translateY(10rem);
}
.l-container #feature .target[data-fade="fadeIn"][data-is-active="true"]{
  opacity: 1;
  transform: translateY(0);
}


.pc-footer{
  margin: 0;
}
.l-footer{
  padding: 0;
}