@charset "UTF-8";
@-moz-document url-prefix() {}html {
  font-size: 10px;
}

body {
  overflow-x: hidden;
}

.l-container {
  width: 100%;
}

.l-container #feature {
  color: #000;
  font-family: 游ゴシック体, 游ゴシック Medium, Yu Gothic Medium, Yu Gothic, YuGothic, Hiragino Kaku Gothic ProN, Meiryo, sans-serif;
  font-family: "yu-gothic-pr6n", sans-serif;
  font-weight: 400;
  font-style: normal;
  margin: 0 auto 216px;
  overflow: hidden;
  width: 100%;
}

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

.l-container:after{
  content: none;
}

.l-container #feature * {
  box-sizing: border-box;
}

.l-container #feature *::after {
  box-sizing: border-box;
}

.l-container #feature *::before {
  box-sizing: border-box;
}

.l-container #feature a{
  display: block;
  text-decoration: none;
  position: relative;
  transition: all 0.3s;
}

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

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

.l-container #feature .target[data-fade="fadeIn"]{
  opacity: 0;
  transition: opacity 3s;
}
.l-container #feature .target[data-fade="fadeIn"][data-is-active="true"]{
  opacity: 1;
}

/* credit */

.l-container #feature .creditList .credit{
  display: flex;
  flex-wrap: wrap;
  gap: 12px 10.5px;
}

.l-container #feature .creditList .credit li,
.l-container #feature .creditList .credit li a{
  color: #000;
  display: flex;
  font-family: "neue-haas-grotesk-display", sans-serif;
  font-weight: 500;
  font-size: 13px;
  letter-spacing: 0.01em;
  line-height: 1;
}

.l-container #feature .creditList .credit li .price{
  margin-left: 3px;
}

.l-container #feature .credit01{
  position: absolute;
  top: 592px;
  right: 0;
  width: 320px;
}

.l-container #feature .credit02{
  margin: 31px 0 0;
  width: 350px;
}

.l-container #feature .credit03{
  position: absolute;
  bottom: 0;
  right: 756px;
  width: 220px;
}

.l-container #feature .credit04{
  margin: 30px 0 0;
  width: 330px;
}

.l-container #feature .credit05{
  margin: 42px auto 0;
  width: 430px;
}

.l-container #feature .credit06{
  margin: 31px 0 0;
  width: 330px;
}

.l-container #feature .credit01 .credit,
.l-container #feature .credit03 .credit{
  justify-content: flex-end;
}
.l-container #feature .credit05 .credit{
  justify-content: center;
}
.l-container #feature .credit02 .credit,
.l-container #feature .credit04 .credit,
.l-container #feature .credit06 .credit{
  gap: 13px 10.5px;
}

/* hero */

.l-container #feature .hero {
  margin: 0 auto;
  position: relative;
  width: 1400px;
}

.l-container #feature .hero__mv{
  margin: 0 auto;
  position: relative;
  width: 1000px;
}
.l-container #feature .hero__mv::before{
  background: url("../img/hero_text.svg") center top / contain no-repeat;
  content: "";
  position: absolute;
  bottom: -15px;
  left: -70px;
  height: 88.95px;
  width: 455.3px;
  z-index: 2;
}

.l-container #feature .hero__ttl{
  left: -2px;
  margin: 86px auto 0;
  position: relative;
  width: 415px;
}

.l-container #feature .hero__text{
  font-feature-settings: "palt";
  font-size: 15px;
  letter-spacing: 0.02em;
  line-height: 45px;
  margin: 66px auto 0;
  text-align: center;
  width: fit-content;
}

/* main */

.l-container #feature .sec{
  margin: 0 auto;
  position: relative;
  width: 100%;
}

.l-container #feature .sec .inner{
  margin: 0 auto;
  position: relative;
  width: 1400px;
}

.l-container #feature .sec .sec__flex{
  display: flex;
}

.l-container #feature .sec .sec__img{
  position: relative;
}

.l-container #feature .sec .sec__ttl{
  margin: 0 auto;
  position: relative;
  width: 400px;
}

.l-container #feature .sec .sec__text{
  font-size: 17px;
  letter-spacing: 0.04em;
  line-height: 2.0588;
  text-align: center;
}

.l-container #feature .sec .sec__num{
  font-family: "canada-type-gibson", sans-serif;
  font-weight: 300;
  font-size: 60px;
  line-height: 1;
  margin: 20px auto 0;
  width: fit-content;
}
.l-container #feature .sec .sec__num span{
  font-family: "miller-headline", serif;
  font-weight: 300;
  font-size: 86px;
  letter-spacing: -0.03em;
  margin: 0 11px 0 8px;
  position: relative;
  top: 8px;
}

.l-container #feature .sec .sec__name{
  font-feature-settings: "palt";
  font-weight: 600;
  font-size: 15px;
  letter-spacing: 0.1em;
  line-height: 32px;
  margin: 15.5px auto 0;
  text-align: center;
  width: fit-content;
}

.l-container #feature .sec .sec__text{
  font-feature-settings: "palt";
  font-size: 14px;
  letter-spacing: 0.025em;
  line-height: 30.8px;
  text-align: justify;
}
.l-container #feature .sec .sec__text.text01{
  width: 375px;
}
.l-container #feature .sec .sec__text.text02{
  width: 335px;
}

.l-container #feature .sec .sec__style.off{
  margin: 120px auto 0;
  width: 380px;
}

/* sec01 */

.l-container #feature .sec01{
  margin: 134px auto 0;
}

.l-container #feature .sec01 .sec__ttl{
  left: 3px;
}

.l-container #feature .sec01 .flex01{
  align-items: flex-start;
  flex-wrap: wrap;
  left: 2px;
  margin: 70px auto 0;
  position: relative;
  width: 1075px;
}

.l-container #feature .sec01 .flex02{
  flex-direction: row-reverse;
  justify-content: space-between;
  left: -7px;
  margin: 44px auto 0;
  position: relative;
  width: 915px;
}

.l-container #feature .sec01 .sec__wrap{
  margin: 246px 0 0;
}

.l-container #feature .sec01 .sec__style.on{
  margin: 0 0 0 101px;
  order: 1;
  width: 276.3px;
}

.l-container #feature .sec01 .sec__text.text01{
  margin: 184.5px 0 0 45px;
  order: 4;
}

.l-container #feature .sec01 .img01{
  margin: 0 0 0 auto;
  order: 2;
  width: 400px;
}
.l-container #feature .sec01 .img02{
  margin: -328px 0 0;
  order: 3;
  width: 470px;
}

.l-container #feature .sec01 .img03{
  width: 500px;
}

/* sec02 */

.l-container #feature .sec02{
  margin: 148px auto 0;
}

.l-container #feature .sec02 .flex01{
  align-items: flex-start;
  flex-wrap: wrap;
  left: 40px;
  margin: 70px auto 0;
  position: relative;
  width: 1120px;
}

.l-container #feature .sec02 .flex02{
  align-items: flex-start;
  justify-content: space-between;
  margin: 43px auto 0;
  width: 920px;
}

.l-container #feature .sec02 .sec__style{
  margin: 101px 0 0 120px;
  order: 2;
  width: 312.2px;
}
.l-container #feature .sec02 .sec__style.off{
  margin: 130px auto 0;
}

.l-container #feature .sec02 .sec__text.text01{
  margin: -297px 0 0 540px;
  order: 3;
  width: 360px;
}
.l-container #feature .sec02 .sec__text.text02{
  width: 340px;
}

.l-container #feature .sec02 .sec__wrap{
  margin: 247px 0 0;
}

.l-container #feature .sec02 .img04{
  order: 1;
  width: 420px;
}
.l-container #feature .sec02 .img05{
  margin: -58px 0 0 auto;
  order: 5;
  width: 330px;
}
.l-container #feature .sec02 .img06{
  margin: 132px 0 0 400px;
  order: 4;
  width: 380px;
}
.l-container #feature .sec02 .img07{
  width: 500px;
}

/* sec03 */

.l-container #feature .sec03{
  margin: 149px auto 0;
}

.l-container #feature .sec03 .flex01{
  align-items: flex-start;
  flex-direction: row-reverse;
  justify-content: space-between;
  left: -5px;
  margin: 42px auto 0;
  position: relative;
  width: 910px;
}

.l-container #feature .sec03 .sec__style{
  margin: 80px auto 0;
  width: 303.7px;
}
.l-container #feature .sec03 .sec__style.off{
  margin: 130px auto 0;
}

.l-container #feature .sec03 .sec__text.text01{
  margin: 58px auto 0;
  width: 490px;
}
.l-container #feature .sec03 .sec__text.text02{
  width: 330px;
}

.l-container #feature .sec03 .sec__wrap{
  margin: 263px 0 0;
}

.l-container #feature .sec03 .img08{
  margin: 59px auto 0;
  width: 672px;
}
.l-container #feature .sec03 .img09{
  margin: 50px auto 0;
  width: 430px;
}
.l-container #feature .sec03 .img10{
  margin: 86px auto 0;
  width: 700px;
}
.l-container #feature .sec03 .img11{
  width: 500px;
}

.l-container #feature .sec03 .sec__btn{
  margin: 130px auto 0;
  width: 380px;
}

.l-container #feature .sec03 .sec__staff{
  font-family: "neue-haas-grotesk-display", sans-serif;
  font-weight: 500;
  font-size: 13px;
  letter-spacing: 0.02em;
  line-height: 2;
  margin: 96px auto 0;
  text-align: center;
}
.l-container #feature .sec03 .sec__staff span{
  display: block;
  font-family: "canada-type-gibson", sans-serif;
  font-weight: 500;
  font-size: 15px;
  letter-spacing: 0.15em;
}

@media screen and (max-width: 1401px){
  .l-container #feature {
    margin: 0 auto 15.43vw;
  }
  
  /* credit */
  
  .l-container #feature .creditList .credit{
    gap: 0.857vw 0.75vw;
  }
  
  .l-container #feature .creditList .credit li,
  .l-container #feature .creditList .credit li a{
    font-size: 0.929vw;
  }
  
  .l-container #feature .creditList .credit li .price{
    margin-left: 0.214vw;
  }
  
  .l-container #feature .credit01{
    top: 42.286vw;
    width: 22.857vw;
  }
  
  .l-container #feature .credit02{
    margin: 2.214vw 0 0;
    width: 25vw;
  }
  
  .l-container #feature .credit03{
    bottom: 0;
    right: 54vw;
    width: 15.714vw;
  }
  
  .l-container #feature .credit04{
    margin: 2.143vw 0 0;
    width: 23.571vw;
  }
  
  .l-container #feature .credit05{
    margin: 3vw auto 0;
    width: 30.714vw;
  }
  
  .l-container #feature .credit06{
    margin: 2.214vw 0 0;
    width: 23.571vw;
  }
  
  .l-container #feature .credit02 .credit,
  .l-container #feature .credit04 .credit,
  .l-container #feature .credit06 .credit{
    gap: 0.929vw 0.75vw;
  }
  
  /* hero */
  
  .l-container #feature .hero {
    width: 100vw;
  }
  
  .l-container #feature .hero__mv{
    width: 71.429vw;
  }
  .l-container #feature .hero__mv::before{
    bottom: -1.07vw;
    left: -5vw;
    height: 6.35vw;
    width: 32.52vw;
  }
  
  .l-container #feature .hero__ttl{
    left: -0.143vw;
    margin: 6.14vw auto 0;
    width: 29.643vw;
  }
  
  .l-container #feature .hero__text{
    font-size: 1.071vw;
    line-height: 3.214vw;
    margin: 4.71vw auto 0;
  }
  
  /* main */
  
  .l-container #feature .sec{
    width: 100%;
  }
  
  .l-container #feature .sec .inner{
    width: 100vw;
  }
  
  .l-container #feature .sec .sec__ttl{
    width: 28.571vw;
  }
  
  .l-container #feature .sec .sec__text{
    font-size: 1.214vw;
  }
  
  .l-container #feature .sec .sec__num{
    font-size: 4.286vw;
    margin: 1.43vw auto 0;
  }
  .l-container #feature .sec .sec__num span{
    font-size: 6.143vw;
    margin: 0 0.786vw 0 0.571vw;
    top: 0.571vw;
  }
  
  .l-container #feature .sec .sec__name{
    font-size: 1.071vw;
    line-height: 2.286vw;
    margin: 1.11vw auto 0;
  }
  
  .l-container #feature .sec .sec__text{
    font-size: 1vw;
    line-height: 2.2vw;
  }
  .l-container #feature .sec .sec__text.text01{
    width: 26.786vw;
  }
  .l-container #feature .sec .sec__text.text02{
    width: 23.929vw;
  }
  
  .l-container #feature .sec .sec__style.off{
    margin: 8.57vw auto 0;
    width: 27.143vw;
  }
  
  /* sec01 */
  
  .l-container #feature .sec01{
    margin: 9.57vw auto 0;
  }
  
  .l-container #feature .sec01 .sec__ttl{
    left: 0.214vw;
  }
  
  .l-container #feature .sec01 .flex01{
    left: 0.143vw;
    margin: 5vw auto 0;
    width: 76.786vw;
  }
  
  .l-container #feature .sec01 .flex02{
    left: -0.5vw;
    margin: 3.14vw auto 0;
    width: 65.357vw;
  }
  
  .l-container #feature .sec01 .sec__wrap{
    margin: 17.571vw 0 0;
  }
  
  .l-container #feature .sec01 .sec__style.on{
    margin: 0 0 0 7.214vw;
    width: 19.736vw;
  }
  
  .l-container #feature .sec01 .sec__text.text01{
    margin: 13.179vw 0 0 3.214vw;
  }
  
  .l-container #feature .sec01 .img01{
    width: 28.571vw;
  }
  .l-container #feature .sec01 .img02{
    margin: -23.429vw 0 0;
    width: 33.571vw;
  }
  
  .l-container #feature .sec01 .img03{
    width: 35.714vw;
  }
  
  /* sec02 */
  
  .l-container #feature .sec02{
    margin: 10.57vw auto 0;
  }
  
  .l-container #feature .sec02 .flex01{
    left: 2.857vw;
    margin: 5vw auto 0;
    width: 80vw;
  }
  
  .l-container #feature .sec02 .flex02{
    margin: 3.07vw auto 0;
    width: 65.714vw;
  }
  
  .l-container #feature .sec02 .sec__style{
    margin: 7.214vw 0 0 8.571vw;
    width: 22.3vw;
  }
  .l-container #feature .sec02 .sec__style.off{
    margin: 9.29vw auto 0;
  }
  
  .l-container #feature .sec02 .sec__text.text01{
    margin: -21.214vw 0 0 38.571vw;
    width: 25.714vw;
  }
  .l-container #feature .sec02 .sec__text.text02{
    width: 24.286vw;
  }
  
  .l-container #feature .sec02 .sec__wrap{
    margin: 17.643vw 0 0;
  }
  
  .l-container #feature .sec02 .img04{
    width: 30vw;
  }
  .l-container #feature .sec02 .img05{
    margin: -4.14vw 0 0 auto;
    width: 23.571vw;
  }
  .l-container #feature .sec02 .img06{
    margin: 9.429vw 0 0 28.571vw;
    width: 27.143vw;
  }
  .l-container #feature .sec02 .img07{
    width: 35.714vw;
  }
  
  /* sec03 */
  
  .l-container #feature .sec03{
    margin: 10.64vw auto 0;
  }
  
  .l-container #feature .sec03 .flex01{
    left: -0.357vw;
    margin: 3vw auto 0;
    width: 65vw;
  }
  
  .l-container #feature .sec03 .sec__style{
    margin: 5.71vw auto 0;
    width: 21.693vw;
  }
  .l-container #feature .sec03 .sec__style.off{
    margin: 9.29vw auto 0;
  }
  
  .l-container #feature .sec03 .sec__text.text01{
    margin: 4.14vw auto 0;
    width: 35vw;
  }
  .l-container #feature .sec03 .sec__text.text02{
    width: 23.571vw;
  }
  
  .l-container #feature .sec03 .sec__wrap{
    margin: 18.786vw 0 0;
  }
  
  .l-container #feature .sec03 .img08{
    margin: 4.21vw auto 0;
    width: 48vw;
  }
  .l-container #feature .sec03 .img09{
    margin: 3.57vw auto 0;
    width: 30.714vw;
  }
  .l-container #feature .sec03 .img10{
    margin: 6.14vw auto 0;
    width: 50vw;
  }
  .l-container #feature .sec03 .img11{
    width: 35.714vw;
  }
  
  .l-container #feature .sec03 .sec__btn{
    margin: 9.29vw auto 0;
    width: 27.143vw;
  }
  
  .l-container #feature .sec03 .sec__staff{
    font-size: 0.929vw;
    margin: 6.86vw auto 0;
  }
  .l-container #feature .sec03 .sec__staff span{
    font-size: 1.071vw;
  }
}

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