@charset "UTF-8";

body { margin: 0; }

.l-container { width: 100%; }
.l-footer,.pc-footer { margin: 0; padding: 0; }
.l-container::after { content: ""; }
sup, sub { position: static; top: auto; }

html { scroll-behavior: smooth; font-size: calc((100vw - var(--sbw, 0px)) / 75); }

html.js-anim .js-reveal { opacity: 0; transition: opacity 1s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
html.js-anim .js-reveal.is-inview { opacity: 1; }
.feature .js-reveal:has(img) { overflow: clip; }
html.js-anim .js-reveal img, html.js-anim .fv__starring, html.js-anim .fv__michi { filter: blur(2rem); transform: scale(1.05);
  transition: filter 1s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 1s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 1s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
html.js-anim .js-reveal.is-inview img, html.js-anim .fv__starring.is-inview, html.js-anim .fv__michi.is-inview { filter: blur(0); transform: none; }

html.js-anim .js-float { opacity: 0; transform: translateY(8rem); transition: opacity .8s ease, transform .8s ease; }
html.js-anim .js-float.-d2 { transition-delay: .3s; }
html.js-anim .js-float.is-inview { opacity: 1; transform: none; }

@keyframes doll-sway { 0%, 100% { transform: rotate(0deg); } 50% { transform: rotate(8deg); } }
.feature .js-sway { transform-origin: 50% 50%; animation: doll-sway 4s ease-in-out infinite; }
.feature .js-sway.-d2 { animation-duration: 4.6s; animation-delay: -1.7s; }

.feature .js-wipe.-fromCenter { clip-path: inset(50%); transition: clip-path 1.2s cubic-bezier(0.16, 1, 0.3, 1); will-change: clip-path; }
.feature .js-wipe-box.is-inview .js-wipe.-fromCenter { clip-path: inset(0); }

.js-wipe { transition: clip-path 1.4s cubic-bezier(0.37, 0, 0.63, 1) var(--d, 0s); }
.js-wipe.-fromLeft   { clip-path: inset(0 100% 0 0); }
.js-wipe-box.is-inview > .js-wipe { clip-path: inset(0); }
.js-wipe.is-inview   { clip-path: inset(0); }
.js-wipe-box { position: relative; }
.js-wipe-box > .js-wipe { display: block; }

.is-noanim .js-reveal, .is-noanim .js-anime, .is-noanim .js-reveal img { transition: none !important; opacity: 1 !important; filter: none !important; transform: none !important; }
.is-noanim .js-float { transition: none !important; opacity: 1 !important; transform: none !important; }
.is-noanim .js-sway { animation: none !important; }
.is-noanim .js-wipe { transition: none !important; clip-path: none !important; }

.is-still .js-reveal, .is-still .js-anime, .is-still .js-reveal img { transition: none !important; opacity: 1 !important; filter: none !important; transform: none !important; }
.is-still .js-float { transition: none !important; opacity: 1 !important; transform: none !important; }
.is-still .js-sway { animation: none !important; }
.is-still .js-wipe { transition: none !important; clip-path: none !important; }
html.is-still { scroll-behavior: auto; }

.feature { box-sizing: border-box; color: #000; margin: 0 auto; position: relative; width: 100%;

  font-family: "hiragino-kaku-gothic-pron-1", "hiragino-kaku-gothic-pron-2", "hiragino-kaku-gothic-pron", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN",
    "Yu Gothic", "游ゴシック", YuGothic, meiryo, メイリオ, sans-serif;
  font-weight: 300; font-style: normal;
  font-size: 2rem;
  text-spacing-trim: space-all;
  line-break: strict;
  background: #fff; }
.feature * { margin: 0; padding: 0; border: 0; vertical-align: baseline; box-sizing: border-box; scroll-margin-top: 50px; }
.feature h1, .feature h2, .feature h3, .feature h4, .feature h5, .feature h6,
.feature strong, .feature b { font-weight: inherit; }
.feature .pc { display: none; }

.feature .frame-side, .feature .frame-rail, .feature .frame-gap { display: none; }
.feature a { color: #000; text-decoration: none; }

@media (hover: hover) {
  .feature a img, .feature a:not(:has(img:not([alt=""]))), .feature button { transition: opacity .3s; }
  .feature a:has(img:not([alt=""])):hover img { opacity: 1; }
  .feature a:not(:has(img:not([alt=""]))):hover, .feature button:hover { opacity: 1; text-decoration: none; }
}
.feature img { display: block; vertical-align: bottom; max-width: 100%; height: auto; }

.feature :is(.fv__logo, .fv__lily, .lead__stars, .about__logo, .ging__seal, .endlogo, .endlily, .guide__logo, .guide__lily) img { width: 100%; }

.feature img[src$=".jpg"] { aspect-ratio: 3 / 4; object-fit: cover; }
.feature .charm__img img { aspect-ratio: 1; }
.feature ul { list-style: none; }
.feature figure a { display: block; }

.feature .fv__logo, .feature .fv__lily, .feature .fv__starring, .feature .fv__michi, .feature .frame74__s1974, .feature .frame74__slm,
.feature .dolls11__doll, .feature .ging__doll, .feature .ging__seal, .feature .btns__doll, .feature .lead__doll, .feature .guide__doll { pointer-events: none; }

.feature .frame74__img a, .feature .charm__img a { background: linear-gradient(#fff, #fff) center / calc(100% - 2px) calc(100% - 2px) no-repeat; }
.feature .t-en { font-family: "helvetica-neue-lt-pro-1", "Helvetica Neue", Arial, sans-serif; }

.feature .frame-main__inner { display: flow-root; width: 100%; margin: auto; padding-bottom: 25.225rem; background: #fff; }

:where(.feature .frame-main__inner > *) { position: relative; }

.feature .credit { display: flex; flex-wrap: wrap; justify-content: center; align-content: flex-start; column-gap: 2.4rem; margin-left: auto; margin-right: auto; line-height: 3.85rem; }
.feature .credit .item { display: inline-block; position: relative; line-height: 3.85rem; white-space: nowrap; }
.feature .credit .item.-noline { border-bottom: none; }
.feature .credit .link { font-family: "helvetica-neue-lt-pro-1", "Helvetica Neue", Arial, sans-serif; font-weight: 400;
  font-size: 2.2rem; line-height: 3.85rem; color: #000; letter-spacing: 0; }

.feature :is(.credit01, .credit02, .credit03, .credit04, .credit06, .credit07) { flex-wrap: nowrap; width: max-content; max-width: none; }

.feature .fv { margin-top: 0rem; display: flow-root; }
.feature .fv__img { width: 75rem; }
.feature .fv__logo { position: absolute; top: 50.4rem; left: 11.4rem; width: 54rem; }
.feature .fv__lily { position: absolute; top: 64.8rem; left: 18.2rem; width: 38.6rem; }
.feature .fv__starring, .feature .fv__michi { position: absolute; line-height: 1.75; white-space: nowrap; color: #000; }

.feature .fv__starring { top: 70.55rem; left: 4rem; font-family: "montecarlo-1", cursive; font-weight: 400; font-size: 5.4rem; }

.feature .fv__michi { top: 76.875rem; left: 9.8rem; font-family: "helvetica-neue-lt-pro-1", "Helvetica Neue", Arial, sans-serif;
  font-weight: 700; font-size: 4.6rem; }

html.js-anim .feature .fv__starring { transition-delay: .4s; }
html.js-anim .feature .fv__michi { transition-delay: .8s; }

.feature .lead { margin-top: 12rem; width: 69rem; margin-left: 3rem; padding: 6.1rem 0 7.1rem; border: .4rem solid #e50012; border-radius: 4.8rem;
  background: #fff; text-align: center; }
.feature .lead__stars { width: 17rem; margin: 0 auto; }

.feature .lead__date { height: 8.6rem; }
.feature .lead__date-txt { padding-top: 1.455rem; font-family: "helvetica-neue-lt-pro-1", "Helvetica Neue", Arial, sans-serif;
  font-weight: 700; font-size: 4.2rem; line-height: 7.35rem; color: #e50012; white-space: nowrap; }

.feature .lead__txt { font-family: "hiragino-kaku-gothic-pron-1", "hiragino-kaku-gothic-pron-2", "hiragino-kaku-gothic-pron", "ヒラギノ角ゴ ProN", sans-serif; margin-top: 5.13rem; font-size: 2.4rem; line-height: 4.2rem; color: #000; }
.feature .lead__end { font-feature-settings: "halt"; }

.feature .lead__doll { position: absolute; z-index: 1; width: 18rem; }
.feature .lead__doll.-d1 { top: calc(100% - 8.7rem); left: 50.7rem; }
.feature .lead__doll.-d2 { top: calc(100% - 4.5rem); left: 38.5rem; }
.feature .lead-copy { margin-top: 19.25rem; padding-right: 3rem; text-align: right; font-family: "helvetica-neue-lt-pro-1", "Helvetica Neue", Arial, sans-serif;
  font-weight: 400; font-size: 2rem; line-height: 3.5rem; color: #000; }

.feature .about__logo { margin-top: 7.458rem; width: 33rem; margin-left: 21rem; }
.feature .about__more { margin-top: 5.1rem; position: relative; max-height: 8.867rem; overflow: hidden;
  transition: max-height .8s ease, opacity 1s ease, padding .8s ease; }
.feature .about__more::after { content: ""; position: absolute; left: 0; right: 0; top: 4.2rem; height: 4.667rem; pointer-events: none;
  background: linear-gradient(180deg, rgba(255,255,255,.55) 0%, rgba(255,255,255,.9) 55%, #fff 100%); transition: opacity 1s ease; }
.feature .about__more.is-open::after { opacity: 0; }

.feature .about__txt { font-family: "hiragino-kaku-gothic-pron-1", "hiragino-kaku-gothic-pron-2", "hiragino-kaku-gothic-pron", "ヒラギノ角ゴ ProN", sans-serif; margin: 0 5rem; font-size: 2.4rem; line-height: 4.2rem; text-align: justify; text-align-last: justify; letter-spacing: -.01em; color: #000;
  white-space: nowrap; text-spacing-trim: space-all; text-autospace: no-autospace; }
.feature .about__l1 { letter-spacing: -.045em; }

.feature .-svg { display: flow-root; }
.feature .-svg img { width: var(--w); margin: var(--t) 0 0 var(--l); }
.feature .lead__txt.-svg { height: 37.8rem; --w: 55.9584rem; --t: .9rem; --l: 6.2208rem; }
.feature .about__txt.-svg { height: 33.6rem; --w: 64.8154rem; --t: .9rem; --l: .1rem; }
.feature .about__last { display: block; text-align-last: left; }
.feature .about__half { font-feature-settings: "halt"; }
.feature .about__num { margin: 0 .22em; }

.feature .about__links { position: relative; height: 4.9rem; margin-top: 4.59rem; margin-bottom: 1.177rem; }
.feature .about__link { position: absolute; top: 0; display: block;
  font-size: 2.8rem; line-height: 4.9rem; color: #e50012; white-space: nowrap; }
.feature .about__link.-web { left: 12.618rem; font-weight: 600; word-spacing: -.3rem; }
.feature .about__link.-insta { left: 42.656rem; font-family: "helvetica-neue-lt-pro-1", "Helvetica Neue", Arial, sans-serif; font-weight: 700; }

.feature .about__link-icon { position: absolute; top: .35rem; display: block; width: 4.2rem; height: 4.2rem; overflow: visible;
  fill: none; stroke: #e50012; stroke-width: 4; stroke-linecap: butt; stroke-linejoin: miter; }
.feature .about__link.-web .about__link-icon { left: 17.82rem; }
.feature .about__link.-insta .about__link-icon { left: 15.49rem; }

.feature .about__btn { display: block; position: relative; margin-top: 4.451rem; margin-left: 27.3rem; width: 20.4rem; height: 5.2rem; padding: 0; border: 0;
  background: url(../img/asset-08.svg) center / 100% 100% no-repeat; cursor: pointer; font: inherit; }
.feature .about__btn > span { position: absolute; inset: 0; transition: opacity .3s ease, visibility .3s; }
.feature .about__btn-txt { position: absolute; top: .05rem; font-family: "helvetica-neue-lt-pro-1", "Helvetica Neue", Arial, sans-serif;
  font-weight: 700; font-size: 2.8rem; line-height: 4.9rem; color: #e50012; white-space: nowrap; }
.feature .about__btn-open .about__btn-txt { left: 2.03rem; }
.feature .about__btn-close .about__btn-txt { left: 5.325rem; }
.feature .about__btn-plus { position: absolute; left: 16.568rem; top: 1.6rem; width: 2rem; }

.feature .about__btn-minus { position: absolute; left: 13.27rem; top: 2.4rem; width: 2rem; height: .4rem; border-radius: .2rem; background: #e50012; }
.feature .about__btn-close { opacity: 0; visibility: hidden; }
.feature .about.is-open .about__btn-open { opacity: 0; visibility: hidden; }
.feature .about.is-open .about__btn-close { opacity: 1; visibility: visible; }

.feature .frame74 { margin-top: 20rem; }
.feature .frame74__in { position: relative; }
.feature .frame74__bg { width: 75rem; }
.feature .frame74__img { position: absolute; top: 13.333rem; left: 10rem; width: 55rem; }
.feature .frame74__s1974 { position: absolute; top: 3.8rem; left: 55.8rem; width: 15.4rem; }
.feature .frame74__slm { position: absolute; top: 72.4rem; left: 4.8rem; width: 17.4rem; }

.feature .look08 { margin-top: 14rem; width: 65rem; margin-left: 5rem; }
.feature .look09 { margin-top: 8.033rem; width: 75rem; }
.feature .credit01 { margin-top: 2.325rem; max-width: 50.7938rem; height: auto; height: 3.8500rem; }

.feature .dolls11 { margin-top: 6.019rem; height: 75rem; display: flow-root; }
.feature .dolls11__photo { width: 51rem; margin: 7rem 0 0 24rem; }
.feature .dolls11__doll { position: absolute; width: 16rem; }
.feature .dolls11__doll.-d1 { top: 0; left: 2.3rem; }
.feature .dolls11__doll.-d2 { top: 11rem; left: 14rem; }
.feature .look13 { margin-top: 8rem; width: 63rem; margin-left: 6rem; }
.feature .credit02 { margin-top: 2.325rem; max-width: 66.7125rem; height: auto; height: 3.8500rem; }
.feature .look14 { margin-top: 12.919rem; width: 75rem; }
.feature .credit03 { margin-top: 2.325rem; max-width: 66.3922rem; height: auto; height: 3.8500rem; }
.feature .look15 { margin-top: 13.019rem; width: 43rem; margin-left: 5rem; }
.feature .look16 { margin-top: 4.967rem; width: 47rem; margin-left: 23rem; }

.feature .ging { margin-top: 14.033rem; height: 274.7rem; overflow-x: clip; z-index: 0; }
.feature .ging::before { content: ""; position: absolute; inset: 0; z-index: -1; background: url(../img/asset-13.jpg) center top / 100% 100% no-repeat;
  opacity: 1; transition: opacity 1s ease; }
html.js-anim .feature .ging:not(.is-bg-on)::before { opacity: 0; }
.is-noanim .feature .ging::before, .is-still .feature .ging::before { opacity: 1 !important; transition: none !important; }
.feature .ging > * { position: absolute; }
.feature .ging__p30 { top: 14rem; left: 5rem; width: 65rem; }
.feature .ging__p31 { top: 108.7rem; left: 26rem; width: 49rem; }
.feature .ging__p33 { top: 182rem; left: 8rem; width: 59rem; }
.feature .ging__doll { width: 18rem; }
.feature .ging__doll.-d1 { top: 112.7rem; left: 7rem; }
.feature .ging__doll.-d2 { top: 187rem; left: 58.8rem; }

.feature .ging__seal .js-wipe { transition: clip-path .6s cubic-bezier(0, 0.55, 0.45, 1) .5s; }
.feature .ging:not(.is-bg-once) .ging__seal > .js-wipe { clip-path: inset(0 100% 0 0); }
.is-noanim .feature .ging .ging__seal > .js-wipe, .is-still .feature .ging .ging__seal > .js-wipe { clip-path: none !important; }
.feature .ging__seal.-mon { top: 9rem; left: 3rem; width: 32.7509rem; }
.feature .ging__seal.-s1974 { top: 73.8rem; left: 56.8rem; width: 15.4rem; }
.feature .ging__seal.-lm { top: 144.5rem; left: 2.8rem; width: 17.4rem; }
.feature .credit04 { margin-top: 2.325rem; max-width: 66.3875rem; height: auto; height: 3.8500rem; }

.feature .slide35 { margin-top: 13.019rem; width: 57rem; margin-left: 13rem; }
.feature .slide37 { margin-top: 12.969rem; width: 65rem; margin-left: 5rem; }
.feature .js-slider { position: relative; overflow: hidden; z-index: 1; }
:where(.feature .js-slider) .swiper-wrapper { position: relative; width: 100%; height: 100%; z-index: 1; display: flex; box-sizing: content-box; transition-property: transform; }
:where(.feature .js-slider) .swiper-slide { flex-shrink: 0; width: 100%; height: 100%; position: relative; transition-property: transform; }
.feature .js-slider img { width: 100%; }
.feature .swiper-pagination { position: absolute; left: auto; top: auto; bottom: 2rem; right: 2rem; width: auto; z-index: 2; display: flex; gap: 1.2rem; }
.feature .slide37 .swiper-pagination { right: 2.31rem; }
.feature .swiper-pagination .swiper-pagination-bullet { display: block; width: 2.2rem; height: 2.1873rem; margin: 0; border-radius: 0; opacity: 1; background: #fff;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 21.873'%3E%3Cpolygon points='22 6.467 14.245 6.412 9.893 0 7.453 7.36 0 9.513 6.243 14.109 5.993 21.873 12.295 17.348 19.582 19.985 17.241 12.593 22 6.467'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 21.873'%3E%3Cpolygon points='22 6.467 14.245 6.412 9.893 0 7.453 7.36 0 9.513 6.243 14.109 5.993 21.873 12.295 17.348 19.582 19.985 17.241 12.593 22 6.467'/%3E%3C/svg%3E") center / contain no-repeat; cursor: pointer; }
.feature .swiper-pagination .swiper-pagination-bullet-active { background: #e50012; }
.feature .look36 { margin-top: 8rem; width: 51rem; }
.feature .credit05 { margin-top: 2.325rem; max-width: 44.1133rem; height: auto; height: 7.7000rem; }
.feature .credit06 { margin-top: 2.325rem; max-width: 48.6313rem; height: auto; height: 3.8500rem; }
.feature .look38 { margin-top: 13.052rem; width: 75rem; }

.feature .charm { margin-top: 14rem; width: 53rem; margin-left: 22rem; }
.feature .charm__bg { width: 100%; }
.feature .charm__img { position: absolute; top: 11.83rem; left: 3rem; width: 47rem; }

.feature .credit07 { margin-top: 2.325rem; max-width: 21.3094rem; height: auto; left: 11rem; height: 3.8500rem; }
.feature .look40 { margin-top: 13.052rem; width: 55rem; }
.feature .look41 { margin-top: 8rem; width: 75rem; }
.feature .credit08 { margin-top: 2.325rem; max-width: 62.9453rem; height: auto; height: 7.7000rem; }

.feature .btns { margin-top: 10.936rem; height: 38rem; overflow-x: clip; }
.feature .btns > * { position: absolute; }
.feature .btns__item { left: 13.5rem; width: 48rem; letter-spacing: .1rem; }
.feature .btns__item.-collab { top: 14rem; }
.feature .btns__item.-all { top: 27rem; }
.feature .btns__item a { display: block; position: relative; }
.feature .btns__item img { width: 100%; }
.feature .btns__txt { position: absolute; top: 2.035rem; font-family: "helvetica-neue-lt-pro-1", "Helvetica Neue", Arial, sans-serif;
  font-weight: 700; font-size: 3.8rem; line-height: 6.65rem; color: #fff; white-space: nowrap;

  -webkit-text-stroke: .12em #000; paint-order: stroke fill; }
.feature .btns__txt { left: 0; right: 0; text-align: center; }
.feature .btns__item.-collab .btns__txt { left: -1rem; }
.feature .btns__item .btns__arrow { position: absolute; left: 43.2rem; top: 3.94rem; width: 2rem; }
.feature .btns__doll { width: 16rem; }
.feature .btns__doll.-d1 { top: 0; left: 51.6rem; }
.feature .btns__doll.-d2 { top: 13rem; left: 59.6rem; }

.feature .look44 { margin-top: 26rem; width: 43rem; margin-left: 16rem; }
.feature .endlogo { margin-top: 5.967rem; width: 48rem; margin-left: 13.5rem; }
.feature .endlily { margin-top: 2.4712rem; width: 35rem; margin-left: 20rem; }
.feature .staff { margin-top: 7.3558rem; font-family: "helvetica-neue-lt-pro-1", "Helvetica Neue", Arial, sans-serif;
  font-weight: 400; font-size: 2.2rem; line-height: 3.85rem; text-align: center; color: #000; }

.feature .staff { padding-bottom: .1rem; }

.feature .staff__kakko { position: relative; top: -.09em; }

@media screen and (min-width: 751px) {

  html { font-size: calc((100vw - var(--sbw, 0px)) * .0048); }

  .feature .pc { display: block; }
  .feature .sp { display: none; }
  .feature .frame > .pc { display: contents; }

  .feature {
             --pcu: calc((100vw - var(--sbw, 0px)) / 1400);
             --rail-top: 80px; }

  .feature .frame { display: flex; align-items: stretch; justify-content: center; }
  .feature .frame-main { flex: 0 0 auto; width: 75rem; }

  .feature .frame-rail { display: block; flex: 0 0 auto; width: calc(50 * var(--pcu));
    background: url(../img/pc-rail-l.jpg) left top / calc(50 * var(--pcu)) calc(800 * var(--pcu)) repeat-y fixed; }
  .feature .frame-rail.-right { background-image: url(../img/pc-rail-r.jpg); background-position: right top; }
  .feature .frame-gap { display: block; flex: 0 0 auto; width: calc(110 * var(--pcu)); }
  .feature .frame-side { display: block; position: relative; flex: 1 1 0; }

  .feature .frame-side__inner { position: sticky; top: var(--rail-top); height: calc(100vh - var(--rail-top));
    display: grid; place-items: center; margin-bottom: calc(80 * var(--pcu)); }

  .feature .guide { position: relative; width: calc(340 * var(--pcu)); height: calc(318 * var(--pcu)); }
  .feature .guide > * { position: absolute; }
  .feature .guide__logo { top: 0; left: 0; width: calc(340 * var(--pcu)); }
  .feature .guide__lily { top: calc(93 * var(--pcu)); left: calc(47 * var(--pcu)); width: calc(246 * var(--pcu)); }
  .feature .guide__btn { left: calc(47 * var(--pcu)); width: calc(246 * var(--pcu)); letter-spacing: .1rem; }
  .feature .guide__btn.-collab { top: calc(204 * var(--pcu)); }
  .feature .guide__btn.-all { top: calc(264 * var(--pcu)); }
  .feature .guide__btn a { display: block; position: relative; }
  .feature .guide__btn img { width: 100%; }
  .feature .guide__btn-txt { position: absolute; top: calc(8.76 * var(--pcu)); font-family: "helvetica-neue-lt-pro-1", "Helvetica Neue", Arial, sans-serif;
    font-weight: 700; font-size: calc(20 * var(--pcu)); line-height: 1.75; color: #fff; white-space: nowrap;
    -webkit-text-stroke: .12em #000; paint-order: stroke fill; }

  .feature .guide__btn-txt { width: 100%; text-align: center; }
  .feature .guide__btn.-collab .guide__btn-txt { left: -.5rem; }

  .feature .guide__btn .guide__btn-arrow { position: absolute; left: calc(225 * var(--pcu)); top: calc(20.9 * var(--pcu)); width: calc(8 * var(--pcu)); }
  .feature .guide__doll { width: calc(74 * var(--pcu)); }
  .feature .guide__doll.-d1 { top: calc(141 * var(--pcu)); left: calc(247 * var(--pcu)); }
  .feature .guide__doll.-d2 { top: calc(201 * var(--pcu)); left: calc(287 * var(--pcu)); }
}
