@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; }

.page-top-button { display: none !important; }
.efs-system-notification { display: none !important; }

html { scroll-behavior: smooth; font-size: 1.3333333vw; }

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; }

.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.-fromRight  { clip-path: inset(0 0 0 100%); }
.js-wipe.-fromTop    { clip-path: inset(0 0 100% 0); }
.js-wipe.-fromBottom { clip-path: inset(100% 0 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-wipe { transition: none !important; clip-path: none !important; }
.is-noanim .js-reveal, .is-noanim .js-anime { transition: none !important; opacity: 1 !important; }
@media (prefers-reduced-motion: reduce) {
  html:not(.is-forceanim) .js-reveal, html:not(.is-forceanim) .js-anime { transition: none !important; opacity: 1 !important; }
  html:not(.is-forceanim) .js-wipe { transition: none !important; clip-path: none !important; }
  html:not(.is-forceanim) { scroll-behavior: auto; }
}

.feature { box-sizing: border-box; color: #333; margin: 0 auto; position: relative; width: 100%;
  font-family: hiragino-kaku-gothic-pron, "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体",
    "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", meiryo, メイリオ, sans-serif;

  font-weight: 300; font-style: normal;
  font-size: 2rem;
  text-spacing-trim: space-all;
  line-break: strict;
  background: #f8f3f6;  }
.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 a { color: #333; text-decoration: none; cursor: pointer; }
.feature .look-link { position: relative; display: block; }
.feature button { background: none; font: inherit; color: inherit; cursor: pointer; }
@media (hover: hover) {
  .feature a img, .feature a:not(:has(img:not([alt=""]))), .feature button { transition: opacity .3s; }
  .feature a:not(.look-link):has(img:not([alt=""])):hover img { opacity: .7; }
  .feature a:not(:has(img:not([alt=""]))):hover, .feature button:hover { opacity: .7; text-decoration: none; }

  .feature .look-link::after { content: ""; position: absolute; inset: 0; background: #fff; opacity: 0; transition: opacity .3s; pointer-events: none; }
  .feature .look-link:hover::after { opacity: .3; }
}
.feature img { display: block; vertical-align: bottom; max-width: 100%; height: auto; }
.feature ul { list-style: none; }

.feature img.-r45 { aspect-ratio: 4 / 5; object-fit: cover; }

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

.feature .ff-area { font-family: "area-variable", sans-serif; font-variation-settings: "slnt" 0, "wdth" 100, "wght" 500, "INKT" 0; font-kerning: none; }

.feature .sec { position: relative; display: flow-root; background: #fff; }
.feature .sec01 { margin-top: 0rem; }
.feature .sec02 { margin-top: 19.414rem; background: #e3eef4; }
.feature .sec03 { margin-top: 0; }
.feature .sec04 { margin-top: 0; z-index: 0; }
.feature .sec05 { margin-top: 0; }
.feature .sec06 { margin-top: 0; z-index: 0; }
.feature .sec07 { margin-top: 0; padding-bottom: 19.317rem; }
.feature .sec08 { margin-top: 0; background: #efe5ea; }

.feature .sec09 { margin-top: 0; }

.feature .sec04::before, .feature .sec06::before { content: ""; position: absolute; left: 0; right: 0; top: 0; z-index: -1; }
.feature .sec04::before { bottom: 5.35rem; background: #efe5ea; }
.feature .sec06::before { bottom: 3.5rem; background: #e3eef4; }

.feature .sec02__end { margin-top: 19.9rem; }
.feature .sec03__end { margin-top: 21.3rem; }
.feature .sec05__end { margin-top: 21.216rem; }
.feature .sec08__end { margin-top: 21.3rem; }

html.has-rise-js .feature .js-rise { position: sticky; top: var(--rise-top, 0px); }

.feature .heart { position: absolute; z-index: 2; width: 4.1rem; pointer-events: none; }
.feature { --plx-rate: 0.12; }
.feature .heart img { width: 100%; }

.feature .heart.-a05 { top: 112.75rem; left: 66.4rem; }
.feature .heart.-a06 { top: 141.45rem; left: 10rem; }
.feature .heart.-a07 { top: 194.85rem; left: 46.5rem; }
.feature .heart.-a11 { top: 7.15rem; left: 6rem; }
.feature .heart.-a12 { top: 51.05rem; left: 64.4rem; }
.feature .heart.-a13 { top: 78.85rem; left: 16.3rem; }
.feature .heart.-a15 { top: 200.88rem; left: 52.9rem; }
.feature .heart.-a16 { top: 222.58rem; left: 7rem; }
.feature .heart.-a17 { top: 277.58rem; left: 65.4rem; }
.feature .heart.-a18 { top: 137.88rem; left: 8.2rem; }
.feature .heart.-a19 { top: 198.18rem; left: 65.7rem; }
.feature .heart.-a21 { top: 32.7rem; left: 5.8rem; }
.feature .heart.-a22 { top: 49.5rem; left: 60.8rem; }
.feature .heart.-a23 { top: 109.5rem; left: 24.5rem; }
.feature .heart.-a26 { top: 438.9rem; left: 54.5rem; }
.feature .heart.-a27 { top: 462rem; left: 10rem; }
.feature .heart.-a28 { top: 481.1rem; left: 61.8rem; }
.feature .heart.-a32 { top: 33.54rem; left: 22.311rem; }
.feature .heart.-a33 { top: 56.34rem; left: 55.411rem; }
.feature .heart.-a34 { top: 74.74rem; left: 13.111rem; }

.feature .fv { position: relative; }
.feature .fv__photo { width: 75rem; }
.feature .fv__deco { position: absolute; }
.feature .fv__heart { top: 2.5rem; width: 4.1rem; }
.feature .fv__heart.-h1 { left: 55rem; }
.feature .fv__heart.-h2 { left: 61.45rem; }
.feature .fv__heart.-h3 { left: 67.9rem; }
.feature .fv__logo { top: 7.6rem; left: 55.05rem; width: 17rem; }
.feature .fv__hearts3 { top: 68.25rem; left: 10.2rem; width: 17rem; }

.feature .fv__ttl { position: absolute; margin: 0; }
.feature .fv__ttl img { width: 100%; }
.feature .fv__ttl.-y2026 { top: 59.89rem; left: 61.33rem; width: 12.816rem; }
.feature .fv__ttl.-winter { top: 66.25rem; left: 30.85rem; width: 41.4626rem; }
.feature .fv__ttl.-preorder { top: 76.15rem; left: 10.25rem; width: 62.0948rem; }

.feature .intro { margin-top: 13.966rem; position: relative; width: 47rem; margin-left: auto; margin-right: auto; }
.feature .intro-end { margin-top: 16.4rem; position: relative; width: 47rem; margin-left: auto; margin-right: auto; }
.feature .intro__ttl { position: absolute; top: 7.98rem; left: 7.65rem; width: 31.6065rem; }
.feature .intro-end .intro__ttl { top: 7.95rem; left: 7.6rem; width: 31.6066rem; }

.feature .intro .js-wipe { transition-duration: 1.2s; transition-timing-function: cubic-bezier(0, 0.55, 0.45, 1); --d: .5s; }
@media screen and (min-width: 751px) {
  .feature .intro .js-wipe { --d: 1.5s; }
}

.feature .lead__txt { margin-top: 5.68rem; }
.feature .lead p { font-feature-settings: "palt"; font-size: 2.4rem; line-height: 5.28rem; letter-spacing: .05em; text-align: center; color: #333; }
.feature .lead__more { height: 0; overflow: hidden; transition: height .6s ease; }
.feature .lead__more p:nth-child(1) { margin-top: 3.36rem; }
.feature .lead__more p:nth-child(2) { margin-top: 3.36rem; }
.feature .lead__more p:nth-child(3) { margin-top: 3.48rem; }
.feature .lead__toggle { margin-top: 4.98rem; display: block; margin-left: auto; margin-right: auto; }
.feature .lead__toggle .-open { width: 17rem; }
.feature .lead__toggle .-close { display: none; width: 11.1rem; }
.feature .lead.is-open .lead__toggle .-open { display: none; }
.feature .lead.is-open .lead__toggle .-close { display: block; }

.feature .lead { padding-bottom: 12rem; }
.feature .order-start { padding-bottom: 12.967rem; }
.feature .order-start__band { position: relative; height: 10rem; background: #eec6d6;
  color: #fff; text-align: center; font-size: 3.2rem; line-height: 10.2rem; letter-spacing: .023em; text-indent: .3rem;
  font-variation-settings: "slnt" 0, "wdth" 140, "wght" 600, "INKT" 0; }

.feature .order-start__band .-s { font-size: 2.3rem; }
.feature .order-start__heart { position: absolute; top: 3.45rem; width: 4.1rem; }
.feature .order-start__heart.-l { left: 4.2rem; }
.feature .order-start__heart.-r { left: 66.772rem; width: 4.028rem; }

.feature .delivery__ttl { margin-top: 0rem; width: 50.3123rem; margin-left: auto; margin-right: auto; }
.feature .delivery__lead { margin-top: 2.7rem;  font-feature-settings: "palt"; font-size: 2.4rem; line-height: 5.28rem; letter-spacing: .05em; text-align: center; }
.feature .delivery__months { margin-top: 4.871rem; display: flex; justify-content: space-between; width: 68rem; margin-left: 3.5rem; }
.feature .delivery__month { position: relative; display: block; width: 14rem; height: 4.789rem; }
.feature .delivery__month::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: .4rem; background: #eec6d6; }
.feature .delivery__month img { margin: 0 auto; height: 2.5352rem; width: auto; }

.feature .slider { position: relative; }

.feature .splide__track { position: relative; overflow: hidden; z-index: 0; }
.feature .splide__list { display: flex; margin: 0; padding: 0; }
.feature .splide__slide { position: relative; flex-shrink: 0; width: 100%; list-style: none; }
.feature .slider .splide__slide img { width: 100%; }
.feature .slider .splide__pagination { position: static; display: flex; justify-content: center; gap: 2rem; margin-top: 3rem; padding: 0; height: .4rem; }
.feature .slider .splide__pagination li { font-size: 0; line-height: 0; }
.feature .slider .splide__pagination__page { display: block; width: 6rem; height: .4rem; margin: 0; border: 0; border-radius: 0; background: #c9cdcd; opacity: 1; transform: none; }
.feature .slider .splide__pagination__page.is-active { background: #656e70; transform: none; }

.feature .slider .splide__pagination__page { position: relative; overflow: hidden; }
.feature .slider.is-autoplay .splide__pagination__page.is-active { background: #c9cdcd; }
.feature .slider.is-autoplay .splide__pagination__page.is-active::after { content: ""; position: absolute; top: 0; left: 0; width: 0; height: 100%; background: #656e70; animation: sl-timer 3s linear forwards; }
@keyframes sl-timer { from { width: 0; } to { width: 100%; } }
.feature .sl08 { margin-top: 20.05rem; }
.feature .sl10 { margin-top: 0rem; }
.feature .sl14 { margin-top: 19.35rem; }
.feature .sl19 { margin-top: 10rem; }
.feature .sl23 { margin-top: 19.35rem; }
.feature .sl26 { margin-top: 12.05rem; }
.feature .sl32 { margin-top: 8rem; width: 62rem; margin-left: auto; margin-right: auto; }
.feature .sl34 { margin-top: 7.95rem; width: 62rem; margin-left: auto; margin-right: auto; }
.feature .sl36 { margin-top: 11.95rem; }
.feature .sl38 { margin-top: 19.35rem; }
.feature .sl41 { margin-top: 19.35rem; }

.feature .look { position: relative; }
.feature .look img { width: 100%; }
.feature .look.-w620 { width: 62rem; margin-left: auto; margin-right: auto; }
.feature .look.-w600 { width: 60rem; margin-left: auto; margin-right: auto; }
.feature .look.-w540 { width: 54rem; margin-left: auto; margin-right: auto; }
.feature .look09 { margin-top: 8rem; }
.feature .look11 { margin-top: 11.3rem; }
.feature .look13 { margin-top: 19.35rem; }
.feature .look15 { margin-top: 19.3rem; }
.feature .look16 { margin-top: 8.05rem; }
.feature .look17 { margin-top: 6.2rem; }
.feature .look18 { margin-top: 2rem; }
.feature .look22 { margin-top: 17.55rem; }
.feature .look24 { margin-top: 19.35rem; }
.feature .look25 { margin-top: 6.2rem; }
.feature .look29 { margin-top: 17.4rem; }
.feature .look30 { margin-top: 8.05rem; }
.feature .look31 { margin-top: 19.35rem; }
.feature .look35 { margin-top: 6.2rem; }
.feature .look37 { margin-top: 8rem; }
.feature .look39 { margin-top: 19.35rem; }
.feature .look40 { margin-top: 8rem; }

.feature .pair { position: relative; width: 66.6rem; margin-left: 4.2rem; }
.feature .pair__back { width: 100%; }
.feature .pair__front { position: absolute; }
.feature .g20 { margin-top: 16.75rem; }
.feature .g27 { margin-top: 16.8rem; }
.feature .g42 { margin-top: 16.5rem; }
.feature .g20 .pair__front { top: 2.8rem; left: 3.6rem; width: 59.4rem; }
.feature .g27 .pair__front { top: 2.4rem; left: 3.3rem; width: 60rem; }
.feature .g42 .pair__front { top: 2.7rem; left: 3.6rem; width: 59.4rem; }
.feature .pair .credit { position: absolute; will-change: transform, opacity; }
.feature .pair .credit .link { will-change: transform, opacity; }
.feature .pair .credit .item { color: #fff; margin: 0; }
.feature .pair .credit .link { color: #fff; }

.feature .pair .credit08 { max-width: 14.5596rem; top: 9.09rem; right: 12.696rem; justify-content: flex-end; transform: rotate(-3deg); transform-origin: right top; height: 2.6000rem; }
.feature .pair .credit08 { line-height: 2.6rem; }
.feature .pair .credit13 { max-width: 28.5721rem; top: 8.28rem; left: 12.77rem; justify-content: flex-start; transform: rotate(3deg); transform-origin: left top; height: 7.6rem; }
.feature .pair .credit13 { line-height: 3.8rem; }

.feature .stack { --header-h: 51px;
  --under-h: 93.75rem; --over-h: 77.5rem; --v: 85.63rem;
  --stack-h: var(--under-h);
  --stack-top: calc((100svh + var(--header-h)) / 2 - var(--stack-h) / 2);
  --pin: calc(var(--stack-top) + var(--under-h));
  --runway: calc(100svh - var(--pin) + var(--v)); position: relative; }
.feature .o01 { margin-top: 0.15rem; }
.feature .o02 { margin-top: 0rem; }
.feature .stack-stick { position: sticky; top: calc(var(--pin) - var(--stick-h, 99999px)); }
.feature .stack-runway { height: 0; }
html.has-stack-js .feature .stack-runway { height: var(--runway); }
.feature .stack__over { position: relative; display: none; width: 62rem; margin-left: 6.5rem; margin-top: -85.63rem; padding-bottom: 8.13rem; }
html.has-stack-js .feature .stack__over { display: block; }
.feature .stack__over img { width: 100%; }
.feature .stack__frame { position: absolute; top: 0; left: 0; }

.is-noanim .feature .stack-runway { height: 0 !important; }
.is-noanim .feature .stack__over { display: none !important; }
.is-noanim .feature .stack-stick { position: relative; top: auto; }
@media (prefers-reduced-motion: reduce) {
  html:not(.is-forceanim) .feature .stack-runway { height: 0 !important; }
  html:not(.is-forceanim) .feature .stack__over { display: none !important; }
  html:not(.is-forceanim) .feature .stack-stick { position: relative; top: auto; }
}

.feature .sttl { position: relative; height: 10.4rem; }
.feature .sttl img { position: absolute; }
.feature .sttl04 { margin-top: 10.7rem; }
.feature .sttl06 { margin-top: 10.7rem; }
.feature .sttl09 { margin-top: 10.7rem; }
.feature .sttl__main { top: 0; left: 22.6rem; width: 29.6rem; }
.feature .sttl09 .sttl__main { left: 22.7rem; }
.feature .sttl__y2026 { top: 4.2rem; left: 6.6rem; width: 5.6rem; }
.feature .sttl__winter { top: 4.3rem; left: 58.9rem; width: 9.5rem; }
.feature .sttl06 .sttl__y2026 { top: 4.1rem; }
.feature .sttl06 .sttl__winter { top: 4.2rem; }
.feature .sttl09 .sttl__y2026 { top: 5.2rem; width: 5.7rem; }
.feature .sttl09 .sttl__winter { width: 9.6rem; }

.feature .credit { display: flex; flex-wrap: wrap; justify-content: center; align-content: flex-start; column-gap: 1.6rem; margin-left: auto; margin-right: auto;
  line-height: 3.8rem; font-size: 1.9rem; }
.feature .credit .item { position: relative; margin: 0; letter-spacing: .03em; color: #333; white-space: nowrap;
  font-family: "area-variable", sans-serif; font-variation-settings: "slnt" 0, "wdth" 100, "wght" 500, "INKT" 0; font-size: 1.9rem;
  font-kerning: none; top: -.3rem; }

.feature .credit .link { color: #333; }
.feature .credit .item.-noline { border-bottom: none; }
.feature .credit01 { line-height: 3.5910rem; margin-top: 4.3046rem; max-width: 18.7797rem; height: 3.5910rem; }
.feature .credit02 { margin-top: 4.3rem; max-width: 53.7891rem; height: 7.6000rem; }
.feature .credit03 { margin-top: 4.3rem; max-width: 42.3922rem; height: 3.8000rem; }
.feature .credit04 { margin-top: 4.3rem; max-width: 33.7297rem; height: 3.8000rem; }
.feature .credit05 { margin-top: 4.3rem; max-width: 15.1547rem; height: 3.8000rem; }
.feature .credit06 { margin-top: 4.3rem; max-width: 35.3750rem; height: 3.8000rem; }
.feature .credit07 { margin-top: 4.3rem; max-width: 60.1672rem; height: 7.6000rem; }
.feature .credit09 { margin-top: 4.3rem; max-width: 45.1125rem; height: 3.8000rem; }
.feature .credit10 { margin-top: 4.3rem; max-width: 54.8625rem; height: 7.6000rem; }
.feature .credit11 { margin-top: 4.3rem; max-width: 37.7938rem; height: 7.6000rem; }
.feature .credit12 { margin-top: 4.3rem; max-width: 39.9586rem; height: 7.6000rem; }
.feature .credit14 { margin-top: 4.3rem; max-width: 61.6914rem; height: 7.6000rem; }
.feature .credit15 { margin-top: 4.3rem; max-width: 49.0250rem; height: 7.6000rem; }
.feature .credit16 { margin-top: 4.3rem; max-width: 42.4773rem; height: 7.6000rem; }
.feature .credit17 { margin-top: 4.3rem; max-width: 55.9883rem; height: 7.6000rem; }
.feature .credit18 { margin-top: 4.3rem; max-width: 57.5633rem; height: 7.6000rem; }
.feature .credit19 { margin-top: 4.3rem; max-width: 53.8313rem; height: 7.6000rem; }
.feature .credit20 { margin-top: 4.3rem; max-width: 41.1742rem; height: 7.6000rem; }

.feature .btn-all { margin-top: 19.3rem; position: relative; display: block; width: 58rem; margin-left: auto; margin-right: auto; }
.feature .btn-all__heart { position: absolute; top: 4.45rem; width: 4.1rem; }
.feature .btn-all__heart.-l { left: 6.3rem; }
.feature .btn-all__heart.-r { left: 47.6rem; }

.feature .staff { position: relative; top: -.2rem;  margin-top: 7.0662rem; font-size: 2.1rem; line-height: 4.2rem; letter-spacing: .03em; text-align: center; color: #333; }

.feature .heart-row { margin-top: 9.1001rem; padding-bottom: 3rem; display: flex; justify-content: space-between; }
.feature .heart-row img { width: 4.1rem; }
/* 1400px以上は末尾の余白を固定 30px（1400未満は上の 3rem＝本文の幅750に対して30の割合で伸び縮み・仕上げの指示 2026-10-13） */
@media screen and (min-width: 1400px) { .feature .heart-row { padding-bottom: 30px; } }

.feature .follow-wrap.sp { display: contents; }
.feature .follow { position: sticky; top: 100dvh; height: 0; z-index: 20; }
.feature .follow__btn { position: absolute; right: 2rem; bottom: 3.8rem; display: block; width: 15rem;
  opacity: 0; pointer-events: none; transition: opacity .2s linear; }
.feature .follow.is-show .follow__btn { opacity: 1; pointer-events: auto; }
.feature .follow__btn img { width: 100%; }

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

  html { font-size: min(0.419048vw, 5.866667px); }

  .feature .pc { display: block; }
  .feature .sp { display: none; }
  .feature .frame > .pc { display: contents; }
  .feature .follow-wrap.sp { display: none; }
  .feature .stack { --header-h: 80px; }

  .feature {
             --pcu: min(0.0714286vw, 1px);
             --rail-top: 80px;    }

  .feature .frame { display: flex; align-items: stretch; justify-content: center; }
  .feature .frame-main { flex: 0 0 auto; width: 75rem; }
  .feature .frame-side { position: relative; flex: 1 1 0; }
  .feature .frame-side__inner { position: sticky; top: var(--rail-top); height: calc(100vh - var(--rail-top)); margin-bottom: calc(80 * var(--pcu)); }

  .feature .rail__body { position: absolute; left: 0; right: 0; top: 50%; transform: translateY(-50%); text-align: center;
    opacity: 0; transition: opacity .6s ease; }
  .feature .rail__body.is-show { opacity: 1; }
  .is-noanim .feature .rail__body { opacity: 1; transition: none; }
  .feature .rail-l__box { position: relative; display: inline-block; width: calc(304.4 * var(--pcu)); height: calc(167.5 * var(--pcu)); }
  .feature .rail-l__ttl { position: absolute; top: 0; left: 0; width: calc(303.392 * var(--pcu)); }
  .feature .rail-l__hearts { position: absolute; top: calc(8.8 * var(--pcu)); left: calc(6.8 * var(--pcu)); width: calc(296.592 * var(--pcu)); }
  .feature .rail-r__link { position: relative; display: inline-block; width: calc(225 * var(--pcu)); height: calc(28.5 * var(--pcu)); }
  .feature .rail-r__link img { width: calc(222.539 * var(--pcu)); margin: 0 auto; }
  .feature .rail-r__link::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: calc(2 * var(--pcu)); background: #eec6d6; }
}
@media (prefers-reduced-motion: reduce) and (min-width: 751px) {
  html:not(.is-forceanim) .feature .rail__body { transition: none; }
}
