
:root{
  --paper:#fff;--ink:#2b2e2c;--text:#595757;--line:#e4e7e5;--mint:#6adbaf;--mint-pale:#e9f8f2;--err:#b3261e;--strike:#e0262f;--navy:#052f56;
  --f-big:"Antonio",Impact,sans-serif;--f-hand:"Klee One","Noto Sans JP",serif;--f-body:"Noto Sans JP","Hiragino Sans","Yu Gothic",sans-serif;
  --pad:20px;--dock:64px;
  --sa-max-b:env(safe-area-max-inset-bottom,36px); 
}
*{box-sizing:border-box}

[hidden]{display:none!important}
html{background:var(--paper);-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--paper);color:var(--text);font:400 16px/1.9 var(--f-body);letter-spacing:.02em;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
p{margin:0}
h1,h2,h3{margin:0;font-weight:700;color:var(--ink)}


p,li,dd{text-wrap:wrap}

h1,h2,h3,dt,summary,figcaption,.res-s{text-wrap:balance}

body{word-break:keep-all;overflow-wrap:break-word;line-break:strict} 
.pb{white-space:nowrap} 




.btn{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:58px;padding:0 24px;margin-top:24px;
  background:var(--navy);color:#fff;text-decoration:none;font:700 15px/1 var(--f-body);letter-spacing:.14em}
.btn::after{content:"";width:22px;height:2px;background:var(--mint)}
.btn:focus-visible,.dock-btn:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.poster .btn:focus-visible,.plate .btn:focus-visible{outline-color:#fff}
.btn-note{margin-top:10px;font-size:13px;line-height:1.7}
.btn-note.try{font:700 15px/1.65 var(--f-body);letter-spacing:.02em} 



.dock{position:fixed;left:0;right:0;bottom:calc(env(safe-area-inset-bottom,0px) - var(--sa-max-b));z-index:60;display:flex;align-items:center;justify-content:space-between;gap:12px;
  min-height:calc(var(--dock) + var(--sa-max-b));padding:8px var(--pad) calc(8px + var(--sa-max-b));background:var(--ink);color:#fff;
  transform:translateY(110%);transition:transform .3s ease}
.dock.show{transform:none}
@media (prefers-reduced-motion:reduce){.dock{transition:none}}
.dock-t{display:flex;align-items:center;gap:8px;min-width:0}
.dock-t b{font:700 30px/1 var(--f-big);letter-spacing:.02em}
.dock-w{font:700 11px/1 var(--f-big);letter-spacing:.14em;writing-mode:vertical-rl;opacity:.85}
.dock-s{font:500 12px/1.5 var(--f-body);letter-spacing:.04em}
.dock-btn{flex:none;display:flex;align-items:center;min-height:46px;padding:0 18px;background:var(--mint);color:var(--ink);text-decoration:none;
  font:700 14px/1 var(--f-body);letter-spacing:.14em}


.hero{display:flex;flex-direction:column;min-height:var(--vh0,100svh);background:var(--mint)}
.hero-ph{position:relative;flex:1 1 auto;min-height:max(236px,calc(var(--vh0,100svh)*.4));overflow:hidden;background:#3a3a3a}


.hero-ph picture img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%}


.slide-track{position:absolute;inset:0;display:flex;transition:transform .9s cubic-bezier(.65,0,.25,1);will-change:transform}
.slide{position:relative;flex:0 0 100%;height:100%;margin:0;overflow:hidden}
.slide>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media (prefers-reduced-motion:reduce){.slide-track{transition:none}}

.no-js .slide-track{transition:none;animation:slides-nojs 25s cubic-bezier(.65,0,.25,1) infinite}
@keyframes slides-nojs{0%,16.4%{transform:translateX(0)}20%,36.4%{transform:translateX(-100%)}40%,56.4%{transform:translateX(-200%)}60%,76.4%{transform:translateX(-300%)}80%,96.4%{transform:translateX(-400%)}100%{transform:translateX(-500%)}}
@media (prefers-reduced-motion:reduce){.no-js .slide-track{animation:none}}
.hero-ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.46),rgba(0,0,0,0) 46%,rgba(0,0,0,0) 76%,rgba(0,0,0,.3));pointer-events:none}
.slide-ui{position:absolute;left:var(--pad);right:var(--pad);bottom:10px;z-index:3;display:flex;align-items:center;gap:12px;color:#fff}
.slide-num{font:700 12px/1 var(--f-big);letter-spacing:.12em;white-space:nowrap;text-shadow:0 1px 6px rgba(0,0,0,.4)}
.slide-num b{font-weight:700}
.slide-bar{position:relative;flex:1;height:2px;background:rgba(255,255,255,.35);overflow:hidden}
.slide-bar i{position:absolute;inset:0;background:#fff;transform-origin:left;transform:scaleX(0)}
.slide-bar i.run{animation:slidebar var(--slide-ms,5000ms) linear forwards}
.hero-ph.paused .slide-bar i{animation-play-state:paused}
@keyframes slidebar{to{transform:scaleX(1)}}
.slide-pause{flex:none;display:grid;place-items:center;width:40px;height:40px;margin:-4px -8px -4px 0;padding:0;border:0;background:none;color:#fff;cursor:pointer}
.slide-pause::before{content:"";width:10px;height:12px;border-left:3px solid currentColor;border-right:3px solid currentColor;box-sizing:border-box;filter:drop-shadow(0 1px 3px rgba(0,0,0,.45))}
.slide-pause[aria-pressed="true"]::before{width:0;height:0;border-style:solid;border-width:7px 0 7px 11px;border-color:transparent transparent transparent currentColor;margin-left:3px}
.slide-pause:focus-visible{outline:2px solid #fff;outline-offset:-4px}

.hero-top{position:absolute;left:var(--pad);right:var(--pad);top:20px;bottom:38px;z-index:2;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;color:#fff;pointer-events:none}
@media (max-width:899px){.hero-ph::after{background:linear-gradient(180deg,rgba(0,0,0,.4),rgba(0,0,0,0) 24%,rgba(0,0,0,0) 56%,rgba(0,0,0,.5))}}
.logo{width:124px;margin-bottom:14px}
.hero-line{font:600 15px/1.6 var(--f-hand);text-shadow:0 1px 10px rgba(0,0,0,.35)}
.poster{flex:none;padding:22px var(--pad) 22px;color:var(--ink)}
.poster-k{display:flex;justify-content:space-between;gap:10px;padding-bottom:12px;border-bottom:1px solid var(--ink);
  font:700 12px/1 var(--f-big);letter-spacing:.2em}

.poster h1{margin-top:14px;font-size:30px;line-height:1.3;letter-spacing:.06em}

.ig{display:inline-block;margin-top:16px;padding:6px 11px;border:1.5px solid var(--ink);font:700 14px/1 var(--f-body);letter-spacing:.1em}
.poster .ig + h1{margin-top:10px}
.poster-d{margin-top:6px;font:500 15px/1.6 var(--f-body);letter-spacing:.04em}
.max{display:flex;align-items:baseline;gap:6px;margin-top:6px;white-space:nowrap}
.max-pre,.max-post{font:700 21px/1 var(--f-body);letter-spacing:.04em}
.max-n{font:700 92px/1 var(--f-big);letter-spacing:.005em;margin-bottom:-.02em}

.lim{display:inline-block;margin-top:10px;padding:7px 12px;background:var(--ink);color:#fff;font:700 15px/1 var(--f-body);letter-spacing:.12em}

.perk{margin-top:8px;padding-top:8px;border-top:1px solid rgba(43,46,44,.35);font:700 15px/1.5 var(--f-body);letter-spacing:.04em}
.poster .btn{margin-top:16px}
.poster .btn-note{color:var(--ink)}


.paper{padding:64px var(--pad) 72px;background:var(--paper)}
.paper.sep{border-top:1px solid var(--line)}
.kicker{font:700 13px/1 var(--f-big);letter-spacing:.2em;color:var(--ink);margin-bottom:14px}
.paper h2{font-size:24px;line-height:1.55;letter-spacing:.04em}
.lead{margin-top:14px}
.note{margin-top:14px;font-size:13px;line-height:1.8}
.nw{white-space:nowrap}
.ib{display:inline-block} 


.terms{margin:28px 0 0;background:var(--mint-pale);padding:6px 16px}
.terms div{display:grid;grid-template-columns:3.6em 1fr;gap:10px;align-items:baseline;padding:12px 0;border-bottom:1px solid #cfeee2}
.terms div:last-child{border-bottom:0}
.terms dt{justify-self:start;background:var(--ink);color:#fff;font:700 12px/1 var(--f-body);letter-spacing:.12em;padding:5px 7px}
.terms dd{margin:0;color:var(--ink);font:500 15px/1.65 var(--f-body)}
.terms dd b{font:700 20px/1 var(--f-big);letter-spacing:.02em}


.cards{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:14px}
.card{border:1px solid var(--ink);background:#fff}
.card-h{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;background:var(--mint);color:var(--ink)}
.card-n{font:700 15px/1 var(--f-big);letter-spacing:.18em}
.off{font:700 18px/1 var(--f-big);letter-spacing:.04em}
.card-b{padding:16px 16px 18px}
.card h3{font-size:18px;line-height:1.5}
.what{font-size:14px;line-height:1.7}
.card .nick{margin:0 0 2px;font-size:13px;line-height:1.6;font-weight:700;letter-spacing:.04em;color:var(--ink)} 
.card .nick small{margin-left:8px;font-size:12px;font-weight:500}
.route{margin:8px 0 0;font:500 14px/1.9 var(--f-body);color:var(--ink);letter-spacing:.06em;word-break:keep-all}
.route i{display:inline-block;width:18px;height:3px;background:var(--mint);vertical-align:middle;margin:0 6px 2px}
.ladder{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.was{display:flex;align-items:baseline;gap:10px;font-size:12px;letter-spacing:.06em}
.was s{position:relative;font:400 17px/1 var(--f-big);color:var(--text);text-decoration:none} 

.was s::after{content:"";position:absolute;left:-1px;right:-1px;top:.75em;border-top:1px solid var(--strike)}

@supports (text-box: trim-both cap alphabetic){
  .was s{text-box:trim-both cap alphabetic}
  .was s::after{top:62%}
}

.now-l{margin-top:12px;font:700 12.5px/1 var(--f-body);letter-spacing:.08em;color:var(--ink)}
.now{margin-top:6px;color:var(--ink)}
.now b{font:700 56px/1 var(--f-big);letter-spacing:.01em}
.what,.terms dd{word-break:keep-all;overflow-wrap:break-word} 


.incl{display:grid;gap:22px;margin-top:30px}
.incl h3{font-size:15px;letter-spacing:.06em;padding-bottom:8px;border-bottom:1px solid var(--ink)}
.incl ul{list-style:none;margin:0;padding:0}
.incl li{position:relative;padding:10px 0 10px 1.3em;border-bottom:1px solid var(--line);font-size:14.5px;line-height:1.7}
.incl li::before{content:"";position:absolute;left:0;top:1.28em;width:.62em;height:2px;background:var(--mint)}
.incl .out li::before{background:var(--text);height:1px}
.incl b{font:700 17px/1 var(--f-big);color:var(--ink);letter-spacing:.02em}
.cta-box{margin-top:32px}


.rating{display:flex;align-items:center;gap:16px;padding:16px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--line)}
.rating .score{display:flex;align-items:baseline;gap:6px;color:var(--ink)}
.rating .score b{font:700 52px/1 var(--f-big);letter-spacing:.01em}
.rating .score span{font:700 16px/1 var(--f-big);color:var(--text)}
.rating .src{font-size:13px;line-height:1.6}
.rating-s{margin-top:24px}

.plans .rating-s{padding-bottom:0;border-bottom:0}
.paper.plans{padding-bottom:48px}


.door{position:relative;height:var(--vh0,100svh);min-height:560px;overflow:hidden;color:#fff;background:#3a3a3a}
.door picture,.door .ph{position:absolute;inset:0}
.door img.ph{width:100%;height:100%;object-fit:cover}
.door::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,.44),rgba(0,0,0,0) 30%,rgba(0,0,0,0) 56%,rgba(0,0,0,.44))}
.door .top{position:absolute;left:var(--pad);right:var(--pad);top:22px;z-index:3}
.door .no{font:700 13px/1 var(--f-big);letter-spacing:.18em;margin-bottom:10px;opacity:.95}
.door .line{font:600 17px/1.65 var(--f-hand);text-shadow:0 1px 10px rgba(0,0,0,.35)}

.door .foot{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:0 var(--pad) calc(var(--dock) + 18px)}

.door .foot::before{content:"";position:absolute;left:0;right:0;top:-56px;bottom:0;z-index:-1;pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,var(--foot-shade,.34)) 55%)}
.door.light{--foot-shade:.55}

.door-split picture.half{position:absolute;left:0;right:0;height:50%;inset:auto 0 auto 0}
.door-split picture.half:first-of-type{top:0}
.door-split picture.half+picture.half{bottom:0;border-top:2px solid #fff}
@media (orientation:landscape){
  .door-split picture.half{inset:0 auto 0 auto;width:50%;height:auto}
  .door-split picture.half:first-of-type{left:0}
  .door-split picture.half+picture.half{right:0;left:auto;border-top:0;border-left:2px solid #fff}
}
.tag{display:inline-flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;padding:9px 12px;background:var(--mint);color:var(--ink);margin-bottom:12px}
.tag span{font:700 12px/1 var(--f-body);letter-spacing:.08em}
.tag b{font:700 24px/1 var(--f-big);letter-spacing:.02em}
.tag small{font:700 12px/1 var(--f-big);letter-spacing:.14em}
.door .label{font:500 15px/1.5 var(--f-body);letter-spacing:.12em;color:#fff;text-shadow:0 1px 10px rgba(0,0,0,.4)}
.door .label b{font-weight:700;margin-right:8px} 

.door .label small{font-size:13px;opacity:.9;display:inline-block}
.big{display:block;margin:2px 0 0;padding:0;font:700 13vw/.98 var(--f-big);letter-spacing:.01em;color:#fff;text-transform:uppercase;
  white-space:nowrap;text-shadow:0 2px 24px rgba(0,0,0,.24)}
.big span{display:block}


.look{padding:40px var(--pad) 56px}
.look .t{margin-bottom:20px}
.look .t p{font-size:15px}
.look .t p.ka{word-break:keep-all}


.rail{margin:0 calc(-1 * var(--pad))}
.track{display:flex;gap:10px;margin:0;padding:0 var(--pad);list-style:none;overflow-x:auto;overscroll-behavior-x:contain;
  scroll-snap-type:x mandatory;scroll-padding-left:var(--pad);scrollbar-width:none}
.track::-webkit-scrollbar{display:none}
.track::after{content:"";flex:0 0 1px}
.track li{flex:0 0 68%;scroll-snap-align:start}
.track figure{margin:0}
.track img{width:100%;aspect-ratio:2/3;object-fit:cover;background:#eee}
.track figcaption{display:flex;align-items:baseline;gap:8px;padding-top:9px;font:500 12.5px/1.4 var(--f-body);color:var(--text)}
.track figcaption span{font:700 12px/1 var(--f-big);letter-spacing:.1em;color:var(--ink)}
.track:focus-visible{outline:3px solid var(--ink);outline-offset:4px}
.rail .meta{display:flex;align-items:center;gap:14px;padding:16px var(--pad) 0}
.rail .rail-num{font:700 13px/1 var(--f-big);letter-spacing:.1em;color:var(--text);white-space:nowrap}
.rail .rail-num b{color:var(--ink);font-weight:700}
.rail .bar{position:relative;flex:1;height:1px;background:var(--line);overflow:hidden}
.rail .bar i{position:absolute;inset:0;background:var(--ink);transform-origin:left;transform:scaleX(.2);transition:transform .25s ease-out}
.rail .hint{font:700 11px/1 var(--f-big);letter-spacing:.24em;color:var(--ink)}
.rail .hint::after{content:"";display:inline-block;width:18px;height:1px;background:var(--ink);vertical-align:middle;margin-left:8px}
@media (prefers-reduced-motion:reduce){.rail .bar i{transition:none}}
.rail-note{margin-top:12px;font-size:12.5px;line-height:1.7;color:var(--text)}


.plate{margin-top:36px;padding:20px 18px 20px;background:var(--mint);color:var(--ink)}
.plate-k{font:700 13px/1.5 var(--f-body);letter-spacing:.1em;padding-bottom:10px;border-bottom:1px solid var(--ink)}
.plate-list{list-style:none;margin:0;padding:0}
.plate-list li{display:grid;grid-template-columns:2.2em 1fr auto;gap:4px 10px;align-items:center;padding:12px 0;border-bottom:1px solid rgba(43,46,44,.18)}
.pn{font:700 22px/1 var(--f-big);letter-spacing:.02em}
.pt{font:700 15px/1.45 var(--f-body)}
.pt small{display:block;font:500 12px/1.5 var(--f-body);letter-spacing:.02em;margin-top:2px;word-break:keep-all;overflow-wrap:break-word}
.pp{display:flex;flex-direction:column;align-items:flex-end;gap:3px}
.pp s{font:400 13px/1 var(--f-big)}
.pp b{font:700 26px/1 var(--f-big);letter-spacing:.01em}
.plate-due{margin-top:12px;font:500 12.5px/1.6 var(--f-body)}
.plate .btn{margin-top:14px}
.plate-lead{margin-top:12px;font:500 15px/1.75 var(--f-body)}

.plate-price{margin-top:12px;color:var(--ink)}
.plate-price .was{color:var(--ink)}
.plate-price .was s{color:var(--ink);opacity:.75}
.plate-price .now-l{display:block;margin-top:10px}
.plate-price b{display:block;margin-top:6px;font:700 46px/1 var(--f-big);letter-spacing:.01em}
.plate-due a{color:inherit;text-underline-offset:3px}

.card-go{display:inline-block;margin-top:14px;font:500 13.5px/1.6 var(--f-body);color:var(--ink);text-underline-offset:4px;text-decoration-thickness:1px}
.card-go::after{content:" ↓"}

.dress-rails .sub{margin:34px 0 14px;font-size:16px;letter-spacing:.06em}
.dress-rails .sub+.rail{margin-top:0}

.stock{position:relative;margin:40px 0 0}
.dress-rails+.dress-rails>.stock:first-child{margin-top:64px}
.stock img{width:100%;aspect-ratio:3/2;object-fit:cover;background:#eee}
.stock figcaption{position:absolute;left:0;bottom:0;padding:12px 16px 12px;background:var(--ink);color:#fff;white-space:nowrap} 
.stock-en{display:block;font:700 28px/1 var(--f-big);letter-spacing:.08em}
.stock-ja{display:block;margin-top:7px;font:700 15px/1.3 var(--f-body);letter-spacing:.08em}
.stock-ja small{display:block;margin-top:5px;font:500 12px/1.3 var(--f-body);letter-spacing:.04em;opacity:.85} 
.stock-c figcaption{top:0;bottom:auto} 

.dgrid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.dgrid.folded li:nth-child(n+7){display:none}

.dg-check{position:absolute;width:1px;height:1px;margin:0;opacity:0;pointer-events:none}
.dg-check:checked + .dgrid.folded li:nth-child(n+7){display:block}
.dg-more .c{display:none}
.dg-check:checked + .dgrid + .dg-more .o{display:none}
.dg-check:checked + .dgrid + .dg-more .c{display:inline}
.dg-check:checked + .dgrid + .dg-more::after{transform:translateY(2px) rotate(-135deg)}
.dg-check:focus-visible + .dgrid + .dg-more{outline:3px solid var(--ink);outline-offset:3px}
.dg{display:block;width:100%;padding:0;border:0;background:#eee;cursor:zoom-in}
.dg img{width:100%;aspect-ratio:2/3;object-fit:cover}
.dg:focus-visible{outline:3px solid var(--ink);outline-offset:2px}
.dg-more{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:48px;margin-top:10px;padding:0 20px;border:1px solid var(--ink);background:#fff;color:var(--ink);font:700 14px/1 var(--f-body);letter-spacing:.1em;cursor:pointer}
.dg-more::after{content:"";width:9px;height:9px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-3px) rotate(45deg)}
.dg-more[aria-expanded="true"]::after{transform:translateY(2px) rotate(-135deg)}
.dg-more:focus-visible{outline:3px solid var(--ink);outline-offset:3px}

.dg-view{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:transparent;color:#fff;overflow:hidden}
.dg-view::backdrop{background:rgba(24,24,24,.94)}
.dg-view[open]{display:grid;place-items:center}
.dg-view figure{margin:0;display:grid;justify-items:center;gap:12px;padding:56px 16px 24px}
.dg-view img{width:auto;max-width:min(92vw,560px);max-height:calc(100dvh - 150px);aspect-ratio:2/3;object-fit:cover;background:#333}
.dg-view figcaption{display:flex;align-items:baseline;gap:12px;font:500 14px/1.5 var(--f-body);letter-spacing:.06em}
.dg-n{font:700 13px/1 var(--f-big);letter-spacing:.12em;opacity:.8}
.dg-prev,.dg-next,.dg-close{position:absolute;display:grid;place-items:center;width:48px;height:48px;padding:0;border:0;background:rgba(255,255,255,.12);color:#fff;cursor:pointer}
.dg-prev{left:8px;top:50%;transform:translateY(-50%)}
.dg-next{right:8px;top:50%;transform:translateY(-50%)}
.dg-close{right:8px;top:8px;background:none}
.dg-prev::before,.dg-next::before{content:"";width:12px;height:12px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:translateX(3px) rotate(45deg)}
.dg-next::before{transform:translateX(-3px) rotate(-135deg)}
.dg-close::before,.dg-close::after{content:"";grid-area:1/1;width:22px;height:2px;background:#fff;transform:rotate(45deg)}
.dg-close::after{transform:rotate(-45deg)}
.dg-prev:focus-visible,.dg-next:focus-visible,.dg-close:focus-visible{outline:2px solid #fff;outline-offset:2px}


.count{display:flex;align-items:flex-end;gap:10px;margin:26px 0 8px;color:var(--ink);white-space:nowrap}
.count b{font:700 64px/.85 var(--f-big)} 
.count span{font:500 15px/1.5 var(--f-body);padding-bottom:4px}


@media (max-width:429px){.count{flex-wrap:wrap;row-gap:6px}.count span:first-child{flex-basis:100%;padding-bottom:0}}
.count .approx{margin-right:-4px}

.tryon{margin-top:30px;background:var(--mint-pale);padding:20px 16px 6px}
.count+.tryon{margin-top:40px} 
.tryon h3{font:700 18px/1.5 var(--f-body);color:var(--ink);letter-spacing:.04em}
.tryon>p{margin-top:8px;font-size:15px;line-height:1.85;color:var(--ink)}
.tfacts{margin:12px 0 0}
.tfacts div{display:grid;grid-template-columns:3.6em 1fr;gap:10px;align-items:baseline;padding:11px 0;border-top:1px solid #cfeee2}
.tfacts dt{justify-self:start;background:var(--ink);color:#fff;font:700 12px/1 var(--f-body);letter-spacing:.12em;padding:5px 7px}
.tfacts dd{margin:0;color:var(--ink);font:500 15px/1.65 var(--f-body)}
.brands{margin-top:34px;padding-top:22px;border-top:1px solid var(--ink)}
.brands h3{font-size:16px;letter-spacing:.06em;margin-bottom:16px}
.bn-list{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}
.bn-list li{padding:12px 0;border-bottom:1px solid var(--line);font:700 24px/1.2 var(--f-big);letter-spacing:.04em;color:var(--ink)}
.brands .note{margin-top:14px}
.facts{margin:26px 0 0;padding:0;list-style:none;border-top:1px solid var(--line)}
.facts li{padding:14px 0;border-bottom:1px solid var(--line)}
.facts b{display:block;color:var(--ink);font-size:16px}


.steps{list-style:none;margin:32px 0 0;padding:0;border-top:1px solid var(--ink)}
.steps>li{display:grid;grid-template-columns:52px 1fr;gap:0 12px;padding:22px 0;border-bottom:1px solid var(--line)}
.steps .n{font:700 34px/1 var(--f-big);color:var(--ink)}
.steps h3{font-size:17px;line-height:1.5;margin-bottom:4px}
.steps p{font-size:14.5px}
.sched{width:100%;margin-top:14px;border-collapse:collapse;font-size:13.5px}
.sched caption{caption-side:top;text-align:left;font-size:13px;padding-bottom:6px;color:var(--text)}
.sched th{width:4.2em;padding:6px 0;text-align:left;font:700 15px/1.4 var(--f-big);color:var(--ink);letter-spacing:.02em;vertical-align:top}
.sched td{padding:6px 0;border-bottom:1px solid var(--line)}
.sched tr:first-child th,.sched tr:first-child td{border-top:1px solid var(--line)}


.qa{margin-top:28px;border-top:1px solid var(--ink)}
.qa details{border-bottom:1px solid var(--line)}
.qa summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:48px 1fr 18px;align-items:baseline;gap:8px;padding:18px 0;color:var(--ink);font-weight:500;font-size:15.5px;line-height:1.6}
.qa summary::-webkit-details-marker{display:none}
.qa summary::after{content:"+";font:400 20px/1 var(--f-body);color:var(--ink);justify-self:end}
.qa details[open] summary::after{content:"−"}
.qa .q{font:700 13px/1 var(--f-big);letter-spacing:.12em;color:var(--ink)}
.qa details p{padding:0 0 20px 56px;font-size:14.5px}
.qa summary:focus-visible{outline:3px solid var(--ink);outline-offset:2px}


.reserve{border-top:1px solid var(--line)}
.res-camp{padding:28px var(--pad) 26px;background:var(--mint);color:var(--ink)}
.res-k{font:700 12px/1 var(--f-big);letter-spacing:.2em;margin-bottom:12px}
.res-t{display:flex;align-items:center;gap:10px}
.res-t b{font:700 64px/.9 var(--f-big);letter-spacing:.01em}
.res-w{font:700 13px/1 var(--f-big);letter-spacing:.14em;writing-mode:vertical-rl}
.res-s{font:700 15px/1.6 var(--f-body);letter-spacing:.04em}
.res-s em{font:700 22px/1 var(--f-big);font-style:normal;letter-spacing:.02em}

@media (max-width:359px){.res-t b{font-size:56px}}
.res-body{padding:40px var(--pad) 72px}
.res-body .rating{margin-bottom:30px}
.res-body h2{font-size:24px;line-height:1.55;letter-spacing:.04em}
.tel{display:block;margin-top:22px;font:700 34px/1 var(--f-big);color:var(--ink);text-decoration:none;letter-spacing:.02em}
.tel small{display:block;font:400 13px/1.6 var(--f-body);color:var(--text);margin-top:6px;letter-spacing:.04em}
.access{margin:26px 0 0;border-top:1px solid var(--line)}
.access div{display:grid;grid-template-columns:5em 1fr;padding:10px 0;border-bottom:1px solid var(--line);font-size:14px}
.access dt{color:var(--ink);font-weight:500}
.access dd{margin:0}
footer{padding:36px var(--pad) calc(var(--dock) + 40px);border-top:1px solid var(--line);font-size:12.5px;line-height:1.8}
footer img{width:120px;margin-bottom:14px}


.rform{margin-top:28px;display:grid;gap:20px}
.rform fieldset{margin:0;padding:0;border:0;display:grid;gap:14px;min-width:0}
.rform legend{padding:0;margin-bottom:4px;font:700 16px/1.5 var(--f-body);color:var(--ink);letter-spacing:.04em}
.f-row,.f-field{display:grid;gap:6px;min-width:0}
.f-l{display:flex;align-items:center;gap:8px;margin:0;font:700 14px/1.4 var(--f-body);color:var(--ink)}
.req{font:700 11px/1 var(--f-body);background:var(--ink);color:#fff;padding:4px 6px;letter-spacing:.08em}
.opt{font:500 11px/1 var(--f-body);color:var(--text);border:1px solid var(--line);padding:3px 6px}
.f-dt{display:grid;grid-template-columns:minmax(0,1fr) 7.4em;gap:8px}
.rform input,.rform select{width:100%;min-width:0;min-height:52px;padding:0 12px;border:1px solid var(--ink);border-radius:0;background:#fff;color:var(--ink);
  font:400 16px/1.4 var(--f-body);letter-spacing:.02em}
.rform select{-webkit-appearance:none;appearance:none;padding-right:34px;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%232b2e2c' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 12px center}
.rform input[type=date]{-webkit-appearance:none;appearance:none;display:block}
.rform input:focus-visible,.rform select:focus-visible{outline:3px solid var(--mint);outline-offset:1px}
.rform [aria-invalid="true"]{border:2px solid var(--err)}
.f-note,.f-consent{font-size:13px;line-height:1.7}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.f-err{color:var(--err);font:700 14px/1.7 var(--f-body)}
.rform .btn{margin-top:4px}
.rform .btn[disabled]{opacity:.6;cursor:progress}
.thanks{margin-top:28px;padding:26px 20px;background:var(--mint-pale);border-top:4px solid var(--mint)}
.thanks:focus{outline:none}
.thanks h3{font-size:21px;line-height:1.5;letter-spacing:.04em;margin-bottom:8px}

.thanks .mailed{font-weight:700;margin-bottom:6px}
.thanks .mail-help{margin-top:8px;font-size:13px;line-height:1.7}
.demo{margin-top:20px;padding-top:14px;border-top:1px solid #cfeee2}
.demo-h{font:700 13px/1.6 var(--f-body);color:var(--ink)}
.demo-t{width:100%;border-collapse:collapse;margin-top:10px;font-size:12.5px;line-height:1.5}
.demo-t th{text-align:left;width:8.6em;padding:6px 8px 6px 0;color:var(--ink);font-weight:500;vertical-align:top;border-bottom:1px solid #cfeee2}
.demo-t td{padding:6px 0;border-bottom:1px solid #cfeee2;word-break:break-all;color:var(--ink)}
.demo-t td.none{color:var(--text)}
.demo-n{margin-top:12px;font-size:12.5px;line-height:1.7}

.sform{margin-top:20px;padding:24px 20px;background:#fff;border:1px solid var(--line);border-top:4px solid var(--mint);display:grid;gap:20px;scroll-margin-top:16px}
.sform h3{font-size:19px;line-height:1.5;letter-spacing:.04em}
.s-lead{font-size:14px;line-height:1.75;margin-top:-8px}
.s-q{margin:0;padding:0;border:0;min-width:0;display:grid;gap:10px}
.s-q legend,.s-legend{padding:0;margin-bottom:2px;font:700 15px/1.5 var(--f-body);color:var(--ink);letter-spacing:.03em}
.s-q legend small,.s-legend small{font:500 12px/1 var(--f-body);color:var(--text);margin-left:8px;letter-spacing:.04em}
.s-opts{display:flex;flex-wrap:wrap;gap:8px}
.s-opts label{position:relative;display:inline-flex;max-width:100%}
.s-opts input{position:absolute;opacity:0;width:1px;height:1px;margin:0}

.s-opts label > span{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border:1px solid var(--ink);background:#fff;font:500 14px/1.3 var(--f-body);color:var(--ink);cursor:pointer}
.s-opts input:checked + span{background:var(--ink);color:#fff}
.s-opts input:focus-visible + span{outline:3px solid var(--mint);outline-offset:1px}
.s-free{display:grid;gap:6px;font-size:13px;line-height:1.6;color:var(--text)}
.s-text{display:grid;gap:8px}
.sform input[name=s_date],.sform textarea{width:100%;min-width:0;min-height:48px;padding:10px 12px;border:1px solid var(--ink);border-radius:0;background:#fff;color:var(--ink);font:400 16px/1.5 var(--f-body)}
.sform textarea{min-height:96px;resize:vertical}
.sform input:focus-visible,.sform textarea:focus-visible{outline:3px solid var(--mint);outline-offset:1px}
.sform .btn[disabled]{opacity:.6;cursor:progress}
.s-skip{font-size:12.5px;line-height:1.7;color:var(--text)}

.thanks .s-go{margin-top:18px}
.s-go-note{margin-top:10px;font-size:13px;line-height:1.7}

.s-head{padding:22px var(--pad) 0;text-align:center}
.s-head img{width:140px;height:auto}
.s-main{padding:12px var(--pad) 32px;max-width:720px;margin:0 auto}
.s-h{margin:0;font:700 21px/1.5 var(--f-body);color:var(--ink);letter-spacing:.04em}
.survey-page .sform,.survey-page .thanks{margin-top:16px}
.survey-page .thanks h2{margin:0 0 8px;font:700 21px/1.5 var(--f-body);color:var(--ink);letter-spacing:.04em}
.s-nokey,.s-nojs{margin:16px 0 0;padding:20px;border:1px solid var(--line);font-size:14px;line-height:1.8}
.s-nokey p{margin:10px 0 0}
.s-foot{padding:4px var(--pad) 40px;border-top:1px solid var(--line);max-width:720px;margin:0 auto}


@keyframes sharpen{from{filter:blur(14px);opacity:.25;transform:translateY(10%)}to{filter:none;opacity:1;transform:none}}
.max-n{animation:sharpen 1.3s cubic-bezier(.2,.7,.2,1) .2s both}
@media (prefers-reduced-motion:reduce){.max-n{animation:none}}


@media (max-width:899px){.max-n{font-size:min(118px,calc((100vw - 140px) / 3.12))}}
@media (max-width:374px){.max-n{font-size:calc((100vw - 127px) / 3.12)}}


@media (max-width:374px){
  .poster h1{font-size:27px}
  .max-pre,.max-post{font-size:18px}
  .terms div{grid-template-columns:3.4em 1fr}
  .now b{font-size:46px}
}




@media (max-width:899px) and (max-height:760px){
  .no-js .poster{padding-top:10px}
  .no-js .poster-k{padding-bottom:9px}
  .no-js .ig{margin-top:10px;padding:5px 10px}
  .no-js .poster .ig + h1{margin-top:4px}
  .no-js .lim{margin-top:8px}
  .no-js .perk{margin-top:6px;padding-top:6px}
  .no-js .poster .btn{margin-top:10px}
}
.short .poster{padding-top:10px}
.short .poster-k{padding-bottom:9px}
.short .ig{margin-top:10px;padding:5px 10px}
.short .poster .ig + h1{margin-top:4px}
.short .lim{margin-top:8px}
.short .perk{margin-top:6px;padding-top:6px}
.short .poster .btn{margin-top:10px}


@media (min-width:900px){
  :root{--pad:56px;--dock:72px}
  .hero{flex-direction:row;height:var(--vh0,100svh);min-height:680px}
  .hero-ph{flex:1.15 1 0}
  .hero-ph picture img{object-position:50% 60%}
  .hero-top{top:34px;bottom:auto;display:block}
  .logo{width:150px;margin-bottom:22px}
  .hero-line{font-size:20px}
  
  .poster{flex:1 1 0;display:flex;flex-direction:column;justify-content:center;padding:56px 64px 48px}
  .poster-k{font-size:13px}
  .poster h1{font-size:44px;margin-top:24px}
  .ig{align-self:flex-start;font-size:16px;padding:8px 14px;margin-top:26px}
  .poster .ig + h1{margin-top:14px}
  .poster-d{font-size:18px}
  .max-pre,.max-post{font-size:28px}
  .perk{font-size:19px;margin-top:12px}
  .lim{font-size:17px;padding:9px 16px;margin-top:14px}
  .poster .btn{margin-top:28px}
  .btn{width:auto;min-width:320px;display:inline-flex}
  .dock{justify-content:center;gap:40px;padding-left:40px;padding-right:40px}
  .dock-t b{font-size:34px}
  .dock-s{font-size:13px}
  .dock-btn{min-height:50px;padding:0 32px}
  .paper{padding:112px var(--pad) 120px}
  .paper>*{max-width:1080px;margin-left:auto;margin-right:auto}
  .paper h2{font-size:32px}
  
  .paper>.lead{max-width:1080px}
  .terms{padding:10px 28px}
  .terms div{grid-template-columns:5em 1fr}
  .terms dd{font-size:17px}
  .cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:40px}
  .card-b{padding:22px 22px 24px}
  .now b{font-size:54px}
  .incl{margin-top:48px} 
  .incl .in ul{display:grid;grid-template-columns:1fr 1fr;column-gap:48px}
  .cta-box{display:flex;align-items:center;gap:40px;flex-wrap:wrap}
  .cta-box .btn{margin-top:0}
  .cta-box .btn-note{margin-top:0;flex:1 1 16em}
  .rating-s{flex-basis:100%;margin-top:8px}
  .paper.plans{padding-bottom:80px} 
  .door{min-height:640px}
  .door .top{top:34px;right:120px;max-width:560px}
  .door .line{font-size:22px}
  .door .foot{padding-bottom:calc(var(--dock) + 36px)}
  .door .label{font-size:17px}
  .tag b{font-size:30px}
  .look{max-width:1180px;margin:0 auto;padding:88px var(--pad) 110px}
  .look .t{max-width:34em;margin-bottom:32px}
  
  .rail{margin:0}
  .track{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;padding:0;overflow:visible}
  .track::after{content:none}
  .rail .meta{display:none}
  .bn-list{display:grid;grid-template-columns:repeat(3,1fr);column-gap:24px;max-width:760px}
  .bn-list li{font-size:28px}
  .plate{display:grid;grid-template-columns:1fr auto;gap:0 48px;align-items:end;padding:28px 36px 32px;margin-top:48px}
  .plate-k{grid-column:1/-1}
  .plate-list{grid-column:1}
  .plate-list li{grid-template-columns:2.4em 1fr auto;gap:4px 24px}
  .plate-due{grid-column:1}
  .plate .btn{grid-column:2;grid-row:2 / span 2;margin-top:0;align-self:center}
  .plate-price,.plate-one .plate-due{grid-column:1}
  .plate-one .btn{grid-row:2 / span 2}
  .plate-price b{font-size:56px}
  .dress-rails .sub{margin-top:48px}
  
  .stock{margin-top:56px}
  .dress-rails+.dress-rails>.stock:first-child{margin-top:88px}
  .stock img{aspect-ratio:16/7}
  .stock figcaption{padding:16px 24px 16px}
  .stock-en{font-size:40px}
  .stock-ja{font-size:17px}
  .stock-ja small{font-size:13px}
  .stock-c figcaption{top:auto;bottom:0}
  .stock-c img{object-position:50% 75%} 
  .dgrid{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
  .dg-more{width:auto;min-width:300px;margin-top:16px}
  .dg-prev{left:max(16px,calc(50vw - 380px))}
  .dg-next{right:max(16px,calc(50vw - 380px))}
  .dg-close{right:24px;top:20px}
  .plate-wide{grid-template-columns:1fr auto}
  .plate-wide .plate-lead{grid-column:1}
  .plate-wide .btn{grid-row:2}
  .count b{font-size:96px}
  .steps>li{grid-template-columns:90px 1fr;padding:30px 0}
  .steps .n{font-size:48px}
  .steps>li>div{max-width:44em}
  .sched{max-width:34em}
  .qa summary{grid-template-columns:72px 1fr 24px;font-size:17px;padding:22px 0}
  .qa details p{padding-left:80px;max-width:48em}
  .res-camp{padding:40px var(--pad)}
  .res-camp>*,.res-body>*{max-width:1080px;margin-left:auto;margin-right:auto}
  .res-t b{font-size:96px}
  .res-s{font-size:19px}
  .res-s em{font-size:30px}
  .res-body{padding:88px var(--pad) 120px}
  .res-body h2{font-size:32px}
  .rform{max-width:680px;margin-left:0}
  .thanks{max-width:680px;margin-left:0}
  
  .res-body>.rform,.res-body>.thanks{margin-left:max(0px,calc((100% - 1080px) / 2))}
  
  .res-body>.btn{margin-left:max(0px,calc((100% - 1080px) / 2))}
  .rating .score b{font-size:72px}
  .tel{font-size:48px}
}


@media (min-width:900px) and (orientation:portrait){
  .hero{flex-direction:column;height:auto;min-height:var(--vh0,100svh)}
  .hero-ph{flex:1 1 auto;min-height:max(236px,calc(var(--vh0,100svh)*.4))}
  
  .hero-ph picture img{object-position:50% 45%}
  .poster{flex:none;justify-content:flex-start;padding:40px 64px 44px}
}
@media (min-width:900px) and (orientation:landscape) and (max-aspect-ratio:3/2){
  .hero-ph{flex:1.7 1 0}
  
  .poster{padding:40px 32px 36px}
  .max-n{font-size:72px}
  .max-pre,.max-post{font-size:22px}
  
  .slide>img[src$="slide-3.webp"]{object-position:42% 30% !important}
}

@media (min-width:900px){
  .cards>.card{display:flex;flex-direction:column}
  .cards>.card>.card-b{flex:1 1 auto;display:flex;flex-direction:column}
  .card-b>.route{margin-bottom:12px}
  .card-b>.ladder{margin-top:auto}
  .card-b>.card-go{align-self:flex-start}
}


:root{--m-out:cubic-bezier(.16,1,.3,1);--m-io:cubic-bezier(.65,0,.35,1)}

body{overflow-x:clip}
@keyframes mHaze{from{filter:blur(16px) brightness(2.1)}to{filter:blur(0) brightness(1)}}
@keyframes mBlurIn{from{opacity:0;filter:blur(var(--mb,10px));transform:translateY(var(--my,8px))}to{opacity:1;filter:blur(0);transform:none}}

@keyframes mBig{from{opacity:0;filter:blur(16px);transform:translateY(8%)}to{opacity:1;filter:blur(0);transform:none}}
@keyframes mWrite{from{-webkit-mask-position:100% 0;mask-position:100% 0}to{-webkit-mask-position:0 0;mask-position:0 0}}
@keyframes mRise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}


.hero-ph{animation:mHaze 1s var(--m-out) .1s both}
.hero-top .logo{-webkit-mask-image:linear-gradient(90deg,#000 45%,transparent 55%);mask-image:linear-gradient(90deg,#000 45%,transparent 55%);
  -webkit-mask-size:250% 100%;mask-size:250% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:0 0;mask-position:0 0;
  animation:mWrite .7s var(--m-io) .8s both}
.poster-k{--my:4px;animation:mBlurIn .45s var(--m-out) .95s both}
.hero-line{animation:mBlurIn .45s var(--m-out) 1.15s both}
.ig{animation:mBlurIn .45s var(--m-out) 1.15s both}
.poster h1{animation:mBlurIn .5s var(--m-out) 1.3s both}
.poster-d{--mb:8px;animation:mBlurIn .45s var(--m-out) 1.65s both}
.max-pre{animation:mBlurIn .4s var(--m-out) 1.95s both}
.max-n{transform-origin:20% 85%;animation:mBig .75s var(--m-out) 2.05s both}
.max-post{animation:mBlurIn .4s var(--m-out) 2.4s both}
.lim{animation:mBlurIn .4s var(--m-out) 2.6s both}
.perk{--mb:8px;animation:mBlurIn .4s var(--m-out) 2.75s both}
.poster .btn{animation:mRise .4s var(--m-out) 2.9s both}
.poster .btn-note{--mb:6px;animation:mBlurIn .4s var(--m-out) 3.05s both}

@supports (animation-timeline: view()){
  
  .kicker,.paper h2,.plate,.plans .card{animation-name:mBlurIn;animation-timing-function:linear;animation-fill-mode:both;animation-duration:auto;animation-timeline:view();animation-range:entry 0% entry 80%}
}
@media (prefers-reduced-motion:reduce){
  .hero-ph,.hero-top .logo,.poster-k,.hero-line,.ig,.poster h1,.poster-d,.max-pre,.max-n,.max-post,.lim,.perk,.poster .btn,.poster .btn-note,
  .kicker,.paper h2,.plate,.plans .card{animation:none!important}
}


.split{margin:16px 0 0}
.split div{display:grid;grid-template-columns:7em 1fr;gap:2px 14px;align-items:baseline;padding:12px 0;border-top:1px solid var(--line)}
.split div:last-child{border-bottom:1px solid var(--line)}
.split dt{font-weight:700;color:var(--ink);font-size:15px;letter-spacing:.04em}
.split dd{margin:0;font-size:15px;line-height:1.7}
.split dd>b{display:block;color:var(--ink)}
.split dd>span{display:block} 
.incl h3 small{font-size:12px;font-weight:500;letter-spacing:.04em;margin-left:.5em}
.incl .sub{display:block;font-size:12.5px;line-height:1.7;color:var(--text);margin-top:2px}
.qa details ul{list-style:none;margin:0;padding:0 0 14px 56px;font-size:14.5px}
.qa details li{position:relative;padding:3px 0 3px 1.1em}
.qa details li::before{content:"";position:absolute;left:0;top:1.05em;width:.55em;height:1px;background:var(--text)}
.qa details p:has(+ ul){padding-bottom:6px}
@media (min-width:900px){.qa details ul{padding-left:80px;max-width:48em}}

.sen{display:inline-block}


.card-ph{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:#fff}
.card-ph img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover}
