 @charset "UTF-8";

 html {
   font-size: 0.4857vw;
 }

 @media screen and (min-width: 1400px) {
   html {
     font-size: 6.6667px;
   }
 }

 html,
 body,
 div,
 span,
 applet,
 object,
 iframe,
 h1,
 h2,
 h3,
 h4,
 h5,
 h6,
 p,
 blockquote,
 pre,
 a,
 abbr,
 acronym,
 address,
 big,
 cite,
 code,
 del,
 dfn,
 em,
 img,
 ins,
 kbd,
 q,
 s,
 samp,
 small,
 strike,
 strong,
 sub,
 sup,
 tt,
 var,
 b,
 i,
 dl,
 dt,
 dd,
 ol,
 ul,
 li,
 fieldset,
 form,
 label,
 legend,
 table,
 caption,
 tbody,
 tfoot,
 thead,
 tr,
 th,
 td,
 article,
 aside,
 canvas,
 details,
 embed,
 figure,
 figcaption,
 footer,
 header,
 hgroup,
 menu,
 nav,
 output,
 ruby,
 section,
 summary,
 time,
 mark,
 audio,
 video {
   margin: 0;
   padding: 0;
   border: 0;
   vertical-align: baseline;
   box-sizing: border-box;
 }

 /*-------------------------
   PC_page
  -------------------------*/
 .l-header {
   padding: 0;
   position: relative;
   z-index: 999;
   background-color: #fff;
   overflow-x: clip;
 }

 .l-footer {
   padding: 0;
   position: relative;
   z-index: 999;
   background-color: #fff;
   overflow-x: clip;
 }

 .pc-footer {
   margin: 0;
 }


 #feature .left,
 #feature .right {
   width: 50%;
 }

 /*-------------------------
 Content
-------------------------*/
 .l-container {
   width: 100%;
   overflow: clip;
 }

 #feature {
   box-sizing: border-box;
   overflow: clip;
   position: relative;
   width: 100%;
   color: #000;
   display: flex;
   font-family: "fot-tsukumin-pr6n", sans-serif;
   font-weight: 300;
   font-style: normal;
   font-feature-settings: "palt";
   background: #e4e6f1;
 }

 #feature .feature__inner {
   width: 75rem;
   margin: auto;
   position: relative;
   overflow: clip;
   background: #f1f2f8;
 }

 #feature a {
   transition: all 0.3s ease-in-out;
   display: block;
   transform: none;
   text-decoration: none;
 }

 #feature a:hover {
   cursor: pointer;
   opacity: .7;
   transition: all 0.3s ease-in-out;
 }

 #feature img,
 svg,
 video {
   width: 100%;
   height: auto;
   display: block;
   object-fit: cover;
 }

 #feature .section__inner {
   width: 100%;
 }

 #feature .block_area {
   position: relative;
   height: fit-content;
 }

 #feature .item_overlay {
   pointer-events: none;
 }

 #feature .section {
   position: relative;
 }

 /*-------------------------
 Movie
-------------------------*/
 #feature .mv {
   overflow: hidden;
   margin: 0 auto;
   position: relative;
   z-index: 10;
 }

 #feature .mv video {
   width: 100%;
 }

 #feature .mv #sound {
   position: absolute;
   top: 2.7rem;
   right: 3.1rem;
   z-index: 10;
 }

 #feature .mv #sound:hover {
   cursor: pointer;
 }

 #feature .mv #sound span {
   display: none;
 }

 #feature .mv #sound span.active {
   display: block;
 }

 #feature .mv #sound span.off {
   width: auto;
   height: 3.15rem;
   position: absolute;
   right: 0.5rem;
 }

 #feature .mv #sound span.off img {
   width: auto;
   height: 100%;
 }

 #feature .mv #sound span.on {
   width: auto;
   height: 3.15rem;
 }

 #feature .mv #sound span.on img {
   width: auto;
   height: 100%;
 }

 /*-------------------------
 fade
-------------------------*/
 #feature .fadeIn {
   opacity: 0;
   transition: opacity 1.5s ease-in-out, translate 1.5s ease-in-out;
 }

 #feature .fadeIn.active {
   opacity: 1;
 }

 /*-------------------------
 Text
-------------------------*/
 #feature .text_accordion {
   text-align: center;
   margin-top: 7rem;
 }

 #feature .text_accordion_inner {
   overflow: hidden;
 }

 #feature .text_accordion p {
   color: #b19ac1;
   font-size: 2.6rem;
   letter-spacing: 0.05em;
   line-height: 2;
   font-family: "kudryashev-d-contrast-sans", "fot-tsukumin-pr6n", sans-serif;
   font-weight: 400;
   font-style: normal;
   font-feature-settings: "palt";
 }

 #feature .text_accordion_more {
   display: grid;
   grid-template-rows: 0fr;
   opacity: 0;
   visibility: hidden;
   transition: grid-template-rows 0.8s ease, opacity 0.6s ease, visibility 0.8s;
 }

 #feature .text_accordion_more>* {
   overflow: hidden;
 }

 #feature .text_accordion_more p {
   margin-top: 3.4rem;
 }

 #feature .text_accordion_more p:nth-of-type(2) {
   margin-top: 4.2rem;
 }

 #feature .text_accordion_button {
   display: block;
   padding: 0;
   margin-right: auto;
   margin-left: auto;
   background: transparent;
   border: 0;
   cursor: pointer;
   appearance: none;
 }

 #feature .text_accordion_button img {
   display: block;
   width: 100%;
   height: auto;
 }

 #feature .text_accordion_open {
   width: 16rem;
   margin-top: 4.7rem;
   opacity: 1;
   visibility: visible;
 }

 #feature .text_accordion_close {
   width: 10rem;
   height: 0;
   margin-top: 0;
   overflow: hidden;
   opacity: 0;
   visibility: hidden;
 }

 #feature .text_accordion.is-open .text_accordion_more {
   grid-template-rows: 1fr;
   opacity: 1;
   visibility: visible;
 }

 #feature .text_accordion.is-open .text_accordion_open {
   height: 0;
   margin-top: 0;
   overflow: hidden;
   opacity: 0;
   visibility: hidden;
 }

 #feature .text_accordion.is-open .text_accordion_close {
   height: auto;
   margin-top: 4.7rem;
   opacity: 1;
   visibility: visible;
 }

 /*-------------------------
 Sticky
-------------------------*/
 #feature .img_sticky {
   width: 75rem;
   margin: 1rem auto 0;
   position: sticky;
   top: 80px;
   z-index: 1;
 }

 #feature .img_bg {
   width: 75rem;
   margin: 0;
 }

 #feature .img_bg img {
   width: 100%;
   height: auto;
   display: block;
 }

 #feature .sec02 .img {
   width: 60rem;
   height: 90rem;
   position: absolute;
   top: 50%;
   left: 50%;
   margin: -1rem auto 0;
   transform: translate(-50%, -50%);
   background: #fff;
 }

 #feature .sec05 .img {
   width: 60rem;
   height: 90rem;
   position: absolute;
   top: 50%;
   left: 50%;
   margin: -1rem auto 0;
   transform: translate(-50%, -50%);
   background: #fff;
 }

 #feature .img img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   display: block;
 }

 #feature .sec02 .img_2_wrap {
   width: 75rem;
   aspect-ratio: 750 / 1645;
   margin: -1rem auto 0;
   position: sticky;
   top: 0;
   z-index: 2;
   display: flex;
   justify-content: center;
   align-items: center;
 }

 #feature .sec05 .img_2_wrap {
   width: 75rem;
   aspect-ratio: 750 / 1645;
   margin: -1rem auto 0;
   position: sticky;
   top: 0;
   z-index: 2;
   display: flex;
   justify-content: center;
   align-items: center;
 }

 #feature .img_2 {
   width: 60rem;
   height: 90rem;
   margin: 50rem auto 0;
   position: relative;
   background: #fff;
 }

 /*-------------------------
 Slider
-------------------------*/
 #feature .splide {
   width: 75rem;
   height: fit-content;
   margin: 18.6rem auto 0 0;
 }

 #feature .splide.splide02 {
   width: 75rem;
   height: fit-content;
   margin: 8rem auto 0;
 }

 #feature .splide.splide03 {
   width: 75rem;
   height: fit-content;
   margin: 18.6rem auto 0 0;
 }

 .splide__slide a {
   display: block;
 }

 #feature .splide__track {
   background: #fff;
 }

 #feature .splide__slide img {
   width: 100%;
   display: block;
 }

 /*-------------------------
 Section
-------------------------*/
 #feature .sec01,
 #feature .sec09 {
   position: relative;
   z-index: 10;
 }

 #feature .section.sec01 {
   padding-bottom: 18.6rem;
 }

 #feature .section.sec10 {
   padding-bottom: 15rem;
 }

 /*-------------------------
 hero
-------------------------*/
 #feature .hero_area {
   position: sticky;
   top: 80px;
   left: 0;
   width: 100%;
   height: calc(100vh - 80px);
   order: 1;
   flex: 1;
   align-items: center;
 }

 #feature .hero {
   width: 100%;
   height: 100vh;
   margin: auto;
   position: relative;
   box-sizing: border-box;
 }

 #feature .hero img {
   width: 100%;
   height: 100vh;
   object-fit: cover;
   display: block;
 }

 #feature .hero_ttl {
   position: absolute;
   bottom: 80px;
   left: 50%;
   transform: translate(-50%);
   width: 27.5vw;
 }

 /*-------------------------
 Deco
-------------------------*/
 #feature .deco_01 {
   width: 8rem;
   position: absolute;
   top: 114.7rem;
   left: 0;
   z-index: 20;
   pointer-events: none;
 }

 #feature .deco_02 {
   width: 40rem;
   position: absolute;
   top: 98rem;
   right: 0;
   z-index: 0;
   pointer-events: none;
 }

 #feature .deco_03 {
   width: 10rem;
   position: absolute;
   top: -10rem;
   right: 0;
   z-index: 10;
   pointer-events: none;
 }

 #feature .deco_04 {
   width: 35rem;
   position: absolute;
   top: 112.5rem;
   left: 0;
   z-index: 10;
   pointer-events: none;
 }

 #feature .deco_05 {
   width: 51rem;
   position: absolute;
   top: 22.8rem;
   right: -7.5rem;
   z-index: 0;
   pointer-events: none;
 }

 #feature .deco_top {
   width: 75rem;
   position: absolute;
   top: 0;
   left: 50%;
   transform: translate(-50%);
   z-index: 10;
   pointer-events: none;
 }

 #feature .deco_bottom {
   width: 75rem;
   position: absolute;
   bottom: 7.5rem;
   left: 50%;
   transform: translate(-50%);
   z-index: 10;
   pointer-events: none;
 }

 #feature .deco_06 {
   width: 12rem;
   position: absolute;
   top: -10rem;
   right: 0;
   z-index: 10;
   pointer-events: none;
 }

 #feature .deco_07 {
   width: 10rem;
   position: absolute;
   top: 84.5rem;
   left: 0rem;
   z-index: 10;
   pointer-events: none;
 }

 #feature .deco_08 {
   width: 16rem;
   position: absolute;
   top: 151rem;
   right: 0rem;
   z-index: 10;
   pointer-events: none;
 }

 /*-------------------------
 ttl_text
-------------------------*/
 #feature .ttl {
   width: 61.1rem;
   margin: 12rem auto 0;
 }

 #feature .txt_01 {
   width: 75rem;
   position: absolute;
   top: 290.4rem;
   left: 0;
   z-index: -1;
   pointer-events: none;
 }

 #feature .txt_02 {
   width: 75rem;
   position: absolute;
   top: 44.4rem;
   left: 0;
   z-index: -1;
   pointer-events: none;
 }

 #feature .txt_N {
   width: 9.6rem;
   position: absolute;
   top: 7.2rem;
   right: 8.2rem;
   z-index: 10;
   pointer-events: none;
 }

 #feature .txt_e {
   width: 7.2rem;
   position: absolute;
   top: 65.5rem;
   right: 0.5rem;
   z-index: 10;
   pointer-events: none;
 }

 #feature .txt_R {
   width: 8.8rem;
   position: absolute;
   top: 6.2rem;
   left: -4.7rem;
   z-index: 10;
   pointer-events: none;
 }

 #feature .txt_u {
   width: 7.2rem;
   position: absolute;
   top: 62.5rem;
   left: -12.4rem;
   z-index: 10;
   pointer-events: none;
 }

 #feature .txt_H {
   width: 9rem;
   position: absolute;
   top: 3.5rem;
   right: 16rem;
   z-index: 10;
   pointer-events: none;
 }

 #feature .txt_o {
   width: 6.8rem;
   position: absolute;
   top: 32rem;
   right: 2.2rem;
   z-index: 10;
   pointer-events: none;
 }

 #feature .txt_m {
   width: 10.5rem;
   position: absolute;
   top: 56rem;
   right: 23.8rem;
   z-index: 10;
   pointer-events: none;
 }

 #feature .txt__E {
   width: 7.5rem;
   position: absolute;
   top: 70.5rem;
   right: 0;
   z-index: 10;
   pointer-events: none;
 }

 #feature .txt_B {
   width: 8rem;
   position: absolute;
   top: 7.3rem;
   left: 5.3rem;
   z-index: 10;
   pointer-events: none;
 }

 #feature .txt_a {
   width: 6.3rem;
   position: absolute;
   top: 40.4rem;
   left: 19.8rem;
   z-index: 10;
   pointer-events: none;
 }

 #feature .txt_g {
   width: 8.4rem;
   position: absolute;
   top: 58.8rem;
   left: 9.2rem;
   z-index: 10;
   pointer-events: none;
 }

 #feature .txt_lover {
   width: 49rem;
   position: relative;
   z-index: 30;
   pointer-events: none;
 }

 #feature .btn {
   width: 36rem;
   margin: 13.5rem auto 0;
 }

 #feature .profile {
   color: #b19ac1;
   font-family: "kudryashev-d-contrast-sans", sans-serif;
   font-weight: 400;
   font-style: normal;
 }

 #feature .profile h2 {
   font-size: 5rem;
   letter-spacing: 0.05em;
   text-align: center;
   margin-top: 12.5rem;
   line-height: 1;
   font-weight: 400;
 }

 #feature .profile p {
   font-size: 2.6rem;
   letter-spacing: 0.07em;
   text-align: center;
   margin-top: 4.5rem;
   line-height: 2;
   font-weight: 400;
 }



 /*-------------------------
 image
-------------------------*/
 #feature .img01 {
   width: 75rem;
   margin: 15rem auto 0;
 }

 #feature .img02 {
   width: 64rem;
   margin: 15rem auto 0 0;
 }

 #feature .img03 {
   width: 60rem;
   margin: 8rem 4rem 0 auto;
 }

 #feature .img04 {
   width: 75rem;
   margin: auto;
 }

 #feature .img06 {
   width: 75rem;
   margin: 30.6rem auto 0;
 }

 #feature .img07 {
   width: 60rem;
   margin: 12rem auto 0;
 }

 #feature .img08 {
   width: 60rem;
   margin: 2rem auto 0;
 }

 #feature .img08 figure img {
   position: relative;
   z-index: 20;
 }

 #feature .img09 {
   width: 75rem;
   margin: 12rem auto 0;
 }

 #feature .img10 {
   width: 75rem;
   margin: 2rem auto 0;
 }

 #feature .img11 {
   width: 75rem;
   margin: 18.7rem auto 0;
 }

 #feature .img12 {
   width: 75rem;
   margin: 12rem auto 0;
 }

 #feature .img13 {
   width: 60rem;
   margin: 26rem auto 0 0;
 }

 #feature .img14 {
   width: 67rem;
   margin: 18.8rem auto 0;
 }

 #feature .img15 {
   width: 67rem;
   margin: 2rem auto 0;
 }

 #feature .img16 {
   width: 75rem;
   margin: 12rem auto 0;
 }

 #feature .img17 {
   width: 75rem;
   margin: 12rem auto 0;
 }

 #feature .img18 {
   width: 63rem;
   margin: -4rem auto 0;
 }

 #feature .img19 {
   width: 75rem;
   margin: 18.7rem auto 0;
 }

 #feature .img20 {
   width: 56rem;
   margin: 12rem auto 0 4rem;
 }

 #feature .img21 {
   width: 56rem;
   margin: 2rem auto 0 4rem;
 }

 #feature .img22 {
   width: 57rem;
   margin: 18.5rem 0 0 auto;
   position: relative;
   z-index: 30;
 }

 /*-------------------------
 credit
-------------------------*/
 #feature .credit-inner {
   display: flex;
   justify-content: left;
   gap: 0 2rem;
   margin-top: 3.1rem;
 }

 #feature .credit01 .credit-inner {
   justify-content: right;
 }

 #feature .credit02 .credit-inner {
   width: 43.5rem;
   margin-left: 4rem;
   flex-wrap: wrap;
   justify-content: left;
   position: absolute;
   left: 0;
   bottom: -12rem;
   z-index: 3;
 }

 #feature .credit03 .credit-inner {
   width: 60rem;
   margin-left: 0;
   flex-wrap: wrap;
   justify-content: left;
   position: relative;
   z-index: 30;
 }

 #feature .credit04 .credit-inner {
   width: 50rem;
   margin: 3.2rem 0 0 4rem;
   flex-wrap: wrap;
   justify-content: left;
 }

 #feature .credit05 .credit-inner {
   width: 50rem;
   margin: 3.2rem 0 0 4rem;
   flex-wrap: wrap;
   justify-content: left;
   position: absolute;
   left: 0;
   bottom: -7.5rem;
   z-index: 3;
 }

 #feature .credit06 .credit-inner {
   justify-content: center;
   margin-top: 3.3rem;
 }

 #feature .credit07 .credit-inner {
   width: 50rem;
   margin: 3rem 0 0 4rem;
   flex-wrap: wrap;
   justify-content: left;
 }

 #feature .credit08 .credit-inner {
   width: 50rem;
   flex-wrap: wrap;
   justify-content: right;
   margin: 3.2rem 0 0 auto;
 }

 #feature .credit09 .credit-inner {
   width: 50rem;
   flex-wrap: wrap;
   justify-content: left;
   margin: 3.2rem auto 0 0;
 }

 #feature .credit10 .credit-inner {
   justify-content: center;
   margin-top: 3.3rem;
 }

 #feature .credit-inner a {
   font-size: 2.2rem;
   letter-spacing: 0;
   line-height: 2;
   text-align: left;
   color: #b19ac1;
   text-decoration: underline;
   text-decoration-skip-ink: none;
   pointer-events: auto;
   font-family: "kudryashev-d-contrast-sans", sans-serif;
   font-weight: 400;
   font-style: normal;
 }
