@charset "UTF-8";

html{
  font-size: 10px;
}

html{
  font-size: calc(10 * (100vw / 1200));
}

body{
  overflow-x: clip;
}

.l-container{
  background: #e9eae5;
  color: #000;
  font-family: "hiragino-kaku-gothic-pron", sans-serif;
  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 {
  width: fit-content;
}

.l-container .creditList .credit {
  display: flex;
  flex-wrap: wrap;
  gap: 0 calc(17 *(100vw / 1400) * 0.648);
}

.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: #000;
  display: flex;
  font-family: "nimbus-sans", sans-serif;
  font-weight: 400;
  font-size: calc(24 *(100vw / 1400) * 0.648);
  letter-spacing: 0;
  line-height: 1;
}

.l-container .creditList.white .credit li,
.l-container .creditList.white .credit a {
  color: #fff;
}

.l-container .creditList .credit .price {
  position: relative;
}

.l-container .creditList .credit .price::before {
  content: "\0A0";
}

.l-container .credit01 {
  margin: calc(40 *(100vw / 1400) * 0.648) auto 0;
}

.l-container .credit02 {
  margin: calc(43 *(100vw / 1400) * 0.648) auto 0;
}

.l-container .credit03 {
  margin: calc(43 *(100vw / 1400) * 0.648) auto 0;
}

.l-container .credit04 {
  margin: calc(42 *(100vw / 1400) * 0.648) auto 0;
}

.l-container .credit05 {
  margin: calc(-67 *(100vw / 1400) * 0.648) auto 0;
  position: relative;
  z-index: 2;
}

.l-container .credit06 {
  margin: calc(42 *(100vw / 1400) * 0.648) auto 0;
}

.l-container .credit07 {
  margin: calc(45 *(100vw / 1400) * 0.648) auto 0;
}

/*******************************
left,right
*******************************/

.feature::before{
  background: url(../view/JAPAN-NEW-JERSEY_PC.jpg);
  top: 199px;
}

.feature .left,.feature .right{
  align-items: center;
  display: flex;
  justify-content: center;
  top: 80px;
  position: sticky;
  height: calc(100vh - 80px);
  width: calc(457 *(100vw / 1400));
}

.feature .left .left__ttl{
  height: fit-content;
  width: calc(334.94 *(100vw / 1400));
}
.feature .right .right__ttl {
  height: fit-content;
  width: calc(247.3 *(100vw / 1400));
}

.feature .js-scroll > *{
  opacity: 0;
  transform: translateY(-20px);
  transition: all 0.5s ease;
}
.feature .js-scroll.show > *{
  opacity: 1;
  transform: translateY(0);
}

/*******************************
mv
*******************************/

.feature .main{
  background: #fff;
  width: calc(486 *(100vw / 1400));
}

.feature .mv {
  position: relative;
  width: 100%;
}

.feature .mv .mv__img {
  margin: 0 auto;
  width: 100%;
}

.feature .mv .mv__text {
  margin: auto;
  position: absolute;
  right: 0;
}

.feature .mv .mv__text.text01 {
  top: calc(450 *(100vw / 1400) * 0.648);
  left: calc(-2 *(100vw / 1400) * 0.648);
  width: calc(375.8 *(100vw / 1400) * 0.648);
}

.feature .mv .mv__text.text02 {
  top: calc(512 *(100vw / 1400) * 0.648);
  left: calc(4 *(100vw / 1400) * 0.648);
  width: calc(503.2 *(100vw / 1400) * 0.648);
}

.feature .mv .mv__text.text03 {
  top: calc(834 *(100vw / 1400) * 0.648);
  left: calc(0 *(100vw / 1400) * 0.648);
  width: calc(257.2 *(100vw / 1400) * 0.648);
}

.feature .mv .mv__text {
  color: #fff;
  font-family: "nimbus-sans", sans-serif;
  font-weight: 700;
  font-size: calc(45 *(100vw / 1400) * 0.648);
  letter-spacing: 0.045em;
  line-height: 1;
  margin: auto;
  position: absolute;
  top: calc(884 *(100vw / 1400) * 0.648);
  left: 0;
  right: 0;
  width: fit-content;
}

/*******************************
container
*******************************/

.feature .sec {
  position: relative;
  margin: auto;
  width: 100%;
}

.feature .sec .inner {
  margin: auto;
  position: relative;
  width: 100%;
}

.feature .sec .sec__flex {
  display: flex;
}

.feature .sec .sec__img {
  position: relative;
  margin: 0 auto;
  width: calc(650 *(100vw / 1400) * 0.648);
}

.feature .sec .sec__brand {
  font-family: "trajan-pro-3", serif;
  font-weight: 400;
  font-size: calc(60 *(100vw / 1400) * 0.648);
  line-height: 1;
  margin: 0 auto;
  width: fit-content;
}

.feature .sec .sec__brand .line {
  font-family: "nimbus-sans", sans-serif;
  font-weight: 400;
}

.feature .sec .sec__ttl {
  color: #676154;
  font-family: "nimbus-sans", sans-serif;
  font-weight: 400;
  font-size: calc(60 *(100vw / 1400) * 0.648);
  letter-spacing: 0.025em;
  line-height: 1;
  width: fit-content;
}

.feature .sec .sec__explanation {
  font-feature-settings: "palt";
  font-weight: 600;
  font-size: calc(26 *(100vw / 1400) * 0.648);
  letter-spacing: 0.025em;
  line-height: 1.7692;
  text-align: center;
}

.feature .sec .sec__text {
  font-weight: 300;
  font-size: calc(23 *(100vw / 1400) * 0.648);
  line-height: 1.8695;
  margin: calc(64 *(100vw / 1400) * 0.648) auto 0;
  text-align: justify;
  width: calc(650 *(100vw / 1400) * 0.648);
}

/*******************************
sec01
*******************************/

.feature .sec01 {
  margin: calc(182 *(100vw / 1400) * 0.648) auto 0;
}

.feature .sec01 .sec__brand {
  margin: calc(106 *(100vw / 1400) * 0.648) auto 0;
}

.feature .sec01 .sec__explanation {
  margin: calc(28 *(100vw / 1400) * 0.648) auto 0;
}

.feature .sec01 .img02 {
  margin: calc(86 *(100vw / 1400) * 0.648) auto 0;
}

/*******************************
sec02
*******************************/

.feature .sec02 {
  margin: calc(78 *(100vw / 1400) * 0.648) auto 0;
}

.feature .sec02 .sec__text {
  margin: calc(76 *(100vw / 1400) * 0.648) auto 0;
}

.feature .sec02 .img04 {
  margin: calc(80 *(100vw / 1400) * 0.648) auto 0;
}

.feature .sec02 .img05 {
  margin: calc(80 *(100vw / 1400) * 0.648) auto 0;
}

/*******************************
sec03
*******************************/

.feature .sec03 {
  margin: calc(62 *(100vw / 1400) * 0.648) auto 0;
}

.feature .sec03 .sec__ttl {
  margin: calc(158 *(100vw / 1400) * 0.648) auto 0;
}

.feature .sec03 .img07 {
  margin: calc(81 *(100vw / 1400) * 0.648) auto 0;
}

.feature .sec03 .img08 {
  margin: calc(108 *(100vw / 1400) * 0.648) auto 0;
}

/*******************************
sec04
*******************************/

.feature .sec04 {
  margin: calc(102 *(100vw / 1400) * 0.648) auto 0;
  padding: 0 0 calc(172 *(100vw / 1400));
}

.feature .sec04 .sec__explanation {
  margin: calc(28 *(100vw / 1400) * 0.648) auto 0;
}

.feature .sec04 .sec__text {
  margin: calc(68 *(100vw / 1400) * 0.648) auto 0;
}

.feature .sec04 .other01 {
  margin: calc(74 *(100vw / 1400) * 0.648) auto 0;
}

.feature .sec04 .img09 {
  margin: calc(78 *(100vw / 1400) * 0.648) auto 0;
}

.feature .sec04 .img10 {
  left: calc(7 *(100vw / 1400) * 0.648);
  margin: calc(65 *(100vw / 1400) * 0.648) auto 0;
  position: relative;
  width: calc(638 *(100vw / 1400) * 0.648);
}

.feature .sec04 .img11 {
  margin: calc(78 *(100vw / 1400) * 0.648) auto 0;
}

.feature .sec04 .sec__btn {
  box-sizing: border-box;
  margin: calc(192 *(100vw / 1400) * 0.648) auto 0;
  position: relative;
  width: fit-content;
}

.feature .sec04 .sec__btn::before {
  background: #000;
  content: "";
  margin: auto;
  position: absolute;
  bottom: calc(5 *(100vw / 1400) * 0.648);
  left: 0;
  right: 0;
  height: calc(1 *(100vw / 1400) * 0.648);
  width: 100%;
}

.feature .sec04 .sec__btn a {
  box-sizing: border-box;
  color: #000;
  font-family: "nimbus-sans", sans-serif;
  font-weight: 400;
  font-size: calc(30 *(100vw / 1400) * 0.648);
  letter-spacing: 0.05em;
  width: fit-content;
}

/*******************************
fade
*******************************/

.l-container #feature .target[data-fade="fade"] {
  opacity: 0;
  transition: opacity 1s ease;
}

.l-container #feature .target[data-fade="fade"][data-is-active="true"] {
  opacity: 1;
}

.l-container #feature .target[data-fade="text"] {
  opacity: 0;
  transition: opacity 1s, transform 1s;
  transform: translateY(1em);
}

.l-container #feature .target[data-fade="text"][data-is-active="true"] {
  opacity: 1;
  transform: translateY(0);
}

.l-container #feature .target[data-fade="over"] {
  overflow: hidden;
}

.l-container #feature .target[data-fade="over"]>span {
  display: block;
  transition: transform 1s;
  transform: translateY(110%);
}

.l-container #feature .target[data-fade="over"][data-is-active="true"]>span {
  transform: translateY(0);
}

.l-container #feature .mv .js-text {
  overflow: hidden;
}

.l-container #feature .mv .js-text span {
  display: block;
  opacity: 0;
  transform: translateY(130%);
  transition: all 1.2s;
}

.l-container #feature .mv.target[data-fade="fade"][data-is-active="true"] .js-text span {
  opacity: 1;
  transform: translateY(0);
}

.l-container #feature .delay01 span {
  transition-delay: .3s !important;
}

.l-container #feature .delay02 span {
  transition-delay: .6s !important;
}

.l-container #feature .delay03 span {
  transition-delay: .9s !important;
}

@media screen and (min-width: 1400px){
  /*******************************
  credit
  *******************************/

  .l-container .creditList .credit{
    gap: 0 calc(17px * 0.648);
  }

  .l-container .creditList .credit li,
  .l-container .creditList .credit a{
    font-size: calc(24px * 0.648);
  }

  .l-container .credit01{
    margin: calc(40px * 0.648) auto 0;
  }

  .l-container .credit02{
    margin: calc(43px * 0.648) auto 0;
  }

  .l-container .credit03{
    margin: calc(43px * 0.648) auto 0;
  }

  .l-container .credit04{
    margin: calc(42px * 0.648) auto 0;
  }

  .l-container .credit05{
    margin: calc(-67px * 0.648) auto 0;
  }

  .l-container .credit06{
    margin: calc(42px * 0.648) auto 0;
  }

  .l-container .credit07{
    margin: calc(45px * 0.648) auto 0;
  }

  /*******************************
  left,right
  *******************************/

  .feature .left,
  .feature .right{
    width: calc((100vw - 486px) / 2);
  }

  .feature .left .left__ttl{
    width: calc(334.94px);
  }

  .feature .right .right__ttl{
    width: calc(247.3px);
  }

  /*******************************
  mv
  *******************************/

  .feature .main{
    width: 486px;
  }

  .feature .mv .mv__text.text01{
    top: calc(450px * 0.648);
    left: calc(-2px * 0.648);
    width: calc(375.8px * 0.648);
  }

  .feature .mv .mv__text.text02{
    top: calc(512px * 0.648);
    left: calc(4px * 0.648);
    width: calc(503.2px * 0.648);
  }

  .feature .mv .mv__text.text03{
    top: calc(834px * 0.648);
    left: calc(0px * 0.648);
    width: calc(257.2px * 0.648);
  }

  .feature .mv .mv__text{
    font-size: calc(45px * 0.648);
    top: calc(884px * 0.648);
  }

  /*******************************
  container
  *******************************/

  .feature .sec .sec__img{
    width: calc(650px * 0.648);
  }

  .feature .sec .sec__brand{
    font-size: calc(60px * 0.648);
  }

  .feature .sec .sec__ttl{
    font-size: calc(60px * 0.648);
  }

  .feature .sec .sec__explanation{
    font-size: calc(26px * 0.648);
  }

  .feature .sec .sec__text{
    font-size: calc(23px * 0.648);
    margin: calc(64px * 0.648) auto 0;
    width: calc(650px * 0.648);
  }

  /*******************************
  sec01
  *******************************/

  .feature .sec01{
    margin: calc(182px * 0.648) auto 0;
  }

  .feature .sec01 .sec__brand{
    margin: calc(106px * 0.648) auto 0;
  }

  .feature .sec01 .sec__explanation{
    margin: calc(28px * 0.648) auto 0;
  }

  .feature .sec01 .img02{
    margin: calc(86px * 0.648) auto 0;
  }

  /*******************************
  sec02
  *******************************/

  .feature .sec02{
    margin: calc(78px * 0.648) auto 0;
  }

  .feature .sec02 .sec__text{
    margin: calc(76px * 0.648) auto 0;
  }

  .feature .sec02 .img04{
    margin: calc(80px * 0.648) auto 0;
  }

  .feature .sec02 .img05{
    margin: calc(80px * 0.648) auto 0;
  }

  /*******************************
  sec03
  *******************************/

  .feature .sec03{
    margin: calc(62px * 0.648) auto 0;
  }

  .feature .sec03 .sec__ttl{
    margin: calc(158px * 0.648) auto 0;
  }

  .feature .sec03 .img07{
    margin: calc(81px * 0.648) auto 0;
  }

  .feature .sec03 .img08{
    margin: calc(108px * 0.648) auto 0;
  }

  /*******************************
  sec04
  *******************************/

  .feature .sec04{
    margin: calc(102px * 0.648) auto 0;
    padding: 0 0 172px;
  }

  .feature .sec04 .sec__explanation{
    margin: calc(28px * 0.648) auto 0;
  }

  .feature .sec04 .sec__text{
    margin: calc(68px * 0.648) auto 0;
  }

  .feature .sec04 .other01{
    margin: calc(74px * 0.648) auto 0;
  }

  .feature .sec04 .img09{
    margin: calc(78px * 0.648) auto 0;
  }

  .feature .sec04 .img10{
    left: calc(7px * 0.648);
    margin: calc(65px * 0.648) auto 0;
    width: calc(638px * 0.648);
  }

  .feature .sec04 .img11{
    margin: calc(78px * 0.648) auto 0;
  }

  .feature .sec04 .sec__btn{
    margin: calc(192px * 0.648) auto 0;
  }

  .feature .sec04 .sec__btn::before{
    bottom: calc(5px * 0.648);
    height: calc(1px * 0.648);
  }

  .feature .sec04 .sec__btn a{
    font-size: calc(30px * 0.648);
  }
}

.pc-footer{
  margin: 0;
}
.l-footer{
  padding: 0;
}