@charset "UTF-8";

html {
  font-size: 10px;
}

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

body {
  overflow-x: clip;
}

.l-container {
  color: #fff;
  font-style: normal;
  margin: 0 auto;
  width: 100%;
}
.l-container a{
  display: block;
  color: #fff;
  text-decoration: none;
}

.l-container a:hover {
  cursor: pointer;
}

.l-container #feature a::after{
  content: "";
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.6);
  transition: all 0.4s;
}
.l-container #feature a:hover::after{
  opacity: 1;
  transition: 0.4s;
}

.l-container img{
  width: 100%;
  height: 100%;
  vertical-align: top;
}

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

.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 .feature{
  display: flex;
  margin: 0 auto;
  width: 100%;
}

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

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

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

.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: #2d2d2d;
  display: flex;
  font-family: "linotype-didot", serif;
  font-weight: 400;
  font-size: calc(22 *(100vw / 1400) * 0.64);
  letter-spacing: 0.02em;
  line-height: 1;
}

.l-container .creditList .credit .price{
  position: relative;
}
.l-container .creditList .credit .price::before{
  content: "\0A0";
}

.l-container .credit02 .credit,.l-container .credit04 .credit,
.l-container .credit07 .credit,.l-container .credit09 .credit{
  justify-content: center;
}
.l-container .credit03 .credit,.l-container .credit08 .credit{
  justify-content: flex-end;
}

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

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

.l-container .credit03{
  margin: calc(42 *(100vw / 1400) * 0.64) calc(44 *(100vw / 1400) * 0.64) 0 auto;
  width: calc(400 *(100vw / 1400) * 0.64);
}

.l-container .credit04{
  margin: calc(40 *(100vw / 1400) * 0.64) auto 0;
  width: calc(400 *(100vw / 1400) * 0.64);
}
.l-container .credit04 .credit li:nth-of-type(3){
  margin: 0 10%;
}

.l-container .credit05{
  margin: calc(41 *(100vw / 1400) * 0.64) calc(45 *(100vw / 1400) * 0.64) 0 auto;
  width: fit-content;
}

.l-container .credit06{
  margin: calc(41 *(100vw / 1400) * 0.64) 0 0 calc(45 *(100vw / 1400) * 0.64);
  width: fit-content;
}

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

.l-container .credit08{
  margin: calc(41 *(100vw / 1400) * 0.64) calc(45 *(100vw / 1400) * 0.64) 0 auto;
  width: calc(550 *(100vw / 1400) * 0.64);
}

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

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

.feature .mv{
  position: sticky;
  top: 80px;
  height: calc(100vh - 80px);
  width: 50%;
}

.feature .mv__img{
  position: relative;
  height: 100%;
  width: 100%;
}
.feature .mv__img img{
  object-fit: cover;
  object-position: center top;
  height: 100%;
  width: 100%;
}

.feature .mv .mv__logo{
  position: absolute;
  bottom: calc(120 *(100vw / 1400));
  right: calc(30 *(100vw / 1400));
  width: calc(358.58 *(100vw / 1400));
}

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

.feature .main{
  padding: calc(80 *(100vw / 1400)) 0 0;
  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__item,
.feature .sec .sec__slide{
  position: relative;
}

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

.feature .sec01{
  margin: 0 auto;
}

.feature .sec01 .img01{
  margin: 0;
  width: calc(580 *(100vw / 1400) * 0.64);
}
.feature .sec01 .img02{
  margin: calc(60 *(100vw / 1400) * 0.64) 0 0 auto;
  width: calc(540 *(100vw / 1400) * 0.64);
}
.feature .sec01 .img03{
  margin: calc(60 *(100vw / 1400) * 0.64) 0 0 calc(60 *(100vw / 1400) * 0.64);
  width: calc(600 *(100vw / 1400) * 0.64);
}

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

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

.feature .sec02 .img04{
  margin: 0 auto;
  width: 100%;
}

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

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

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

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

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

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

.feature .sec04 .slide01{
  margin: 0;
  width: calc(580 *(100vw / 1400) * 0.64);
}

.feature .sec04 .img08{
  margin: calc(60 *(100vw / 1400) * 0.64) 0 0 auto;
  width: calc(440 *(100vw / 1400) * 0.64);
}
.feature .sec04 .img09{
  margin: calc(90 *(100vw / 1400) * 0.64) auto 0;
  width: calc(600 *(100vw / 1400) * 0.64);
}

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

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

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

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

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

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

.feature .sec06 .img12{
  margin: 0;
  width: calc(480 *(100vw / 1400) * 0.64);
}

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

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

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

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

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

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

.feature .sec08 .img16{
  margin: calc(90 *(100vw / 1400) * 0.64) 0 0;
  width: calc(480 *(100vw / 1400) * 0.64);
}

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

/*******************************
sec09
*******************************/

.feature .sec09{
  margin: calc(180 *(100vw / 1400) * 0.64) auto 0;
  padding: 0 0 calc(80 *(100vw / 1400));
}

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

.feature .sec09 .sec__btn{
  border: calc(2 *(100vw / 1400) * 0.64) solid #2d2d2d;
  box-sizing: border-box;
  margin: calc(98 *(100vw / 1400) * 0.64) auto 0;
  height: calc(62 *(100vw / 1400) * 0.64);
  width: calc(710 *(100vw / 1400) * 0.64);
}
.feature .sec09 .sec__btn a{
  align-items: center;
  box-sizing: border-box;
  color: #2d2d2d;
  display: flex;
  font-family: "linotype-didot", serif;
  font-weight: 400;
  font-size: calc(34 *(100vw / 1400) * 0.64);
  justify-content: center;
  letter-spacing: 0.01em;
  padding: calc(6 *(100vw / 1400) * 0.64) 0 0;
  height: 100%;
  width: 100%;
}

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

.l-container #feature .target[data-fade="fade"]{
  filter: blur(5px);
  opacity: 0;
  transition: opacity 1.1s ease, filter 1.1s ease;
}

.l-container #feature .target[data-fade="fade"][data-is-active="true"]{
  filter: blur(0);
  opacity: 1;
}

@media screen and (min-width: 1400px){
  /*******************************
  credit
  *******************************/

  .l-container .creditList .credit{
    gap: calc(22px * 0.64) calc(26px * 0.64);
  }

  .l-container .creditList .credit li,
  .l-container .creditList .credit a{
    font-size: calc(22px * 0.64);
  }

  .l-container .credit01{
    margin: calc(40px * 0.64) 0 0 calc(60px * 0.64);
  }

  .l-container .credit02{
    margin: calc(42px * 0.64) auto 0;
    width: calc(460px * 0.64);
  }

  .l-container .credit03{
    margin: calc(42px * 0.64) calc(44px * 0.64) 0 auto;
    width: calc(400px * 0.64);
  }

  .l-container .credit04{
    margin: calc(40px * 0.64) auto 0;
    width: calc(400px * 0.64);
  }

  .l-container .credit05{
    margin: calc(41px * 0.64) calc(45px * 0.64) 0 auto;
  }

  .l-container .credit06{
    margin: calc(41px * 0.64) 0 0 calc(45px * 0.64);
  }

  .l-container .credit07{
    margin: calc(40px * 0.64) auto 0;
    width: calc(400px * 0.64);
  }

  .l-container .credit08{
    margin: calc(41px * 0.64) calc(45px * 0.64) 0 auto;
    width: calc(550px * 0.64);
  }

  .l-container .credit09{
    margin: calc(41px * 0.64) auto 0;
    width: calc(420px * 0.64);
  }

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

  .feature .main{
    padding: 80px 0 0;
  }
  
  .feature .sec{
    width: 480px;
  }

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

  .feature .sec01{
    margin: 0 auto;
  }

  .feature .sec01 .img01{
    width: calc(580px * 0.64);
  }
  .feature .sec01 .img02{
    margin: calc(60px * 0.64) 0 0 auto;
    width: calc(540px * 0.64);
  }
  .feature .sec01 .img03{
    margin: calc(60px * 0.64) 0 0 calc(60px * 0.64);
    width: calc(600px * 0.64);
  }

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

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

  .feature .sec02 .img04{
    width: 100%;
  }

  .feature .sec02 .slide01{
    margin: calc(90px * 0.64) auto 0;
    width: calc(580px * 0.64);
  }

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

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

  .feature .sec03 .img06{
    width: calc(580px * 0.64);
  }

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

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

  .feature .sec04 .slide01{
    width: calc(580px * 0.64);
  }

  .feature .sec04 .img08{
    margin: calc(60px * 0.64) 0 0 auto;
    width: calc(440px * 0.64);
  }
  .feature .sec04 .img09{
    margin: calc(90px * 0.64) auto 0;
    width: calc(600px * 0.64);
  }

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

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

  .feature .sec05 .img10{
    width: calc(540px * 0.64);
  }

  .feature .sec05 .slide01{
    margin: calc(60px * 0.64) 0 0 auto;
    width: calc(540px * 0.64);
  }

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

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

  .feature .sec06 .img12{
    width: calc(480px * 0.64);
  }

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

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

  .feature .sec07 .img13{
    width: calc(580px * 0.64);
  }
  .feature .sec07 .img14{
    margin: calc(90px * 0.64) auto 0;
  }

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

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

  .feature .sec08 .slide01{
    margin: 0 calc(45px * 0.64) 0 auto;
    width: calc(580px * 0.64);
  }

  .feature .sec08 .img16{
    margin: calc(90px * 0.64) 0 0;
    width: calc(480px * 0.64);
  }

  .feature .sec08 .img17{
    margin: calc(90px * 0.64) 0 0 auto;
    width: calc(680px * 0.64);
  }

  /*******************************
  sec09
  *******************************/

  .feature .sec09{
    margin: calc(180px * 0.64) auto 0;
    padding: 0 0 80px;
  }

  .feature .sec09 .slide01{
    width: calc(600px * 0.64);
  }

  .feature .sec09 .sec__btn{
    border: calc(1px * 0.64) solid #2d2d2d;
    margin: calc(98px * 0.64) auto 0;
    height: calc(62px * 0.64);
    width: calc(710px * 0.64);
  }
  .feature .sec09 .sec__btn a{
    font-size: calc(34px * 0.64);
    padding: calc(6px * 0.64) 0 0;
  }
}

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