@charset "UTF-8";
:root{--ink:#10110e;--paper:#f3f0e7;--acid:#d5fd37;--magenta:#ef5ea0}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif}button,input{font:inherit}a{color:inherit}img,video{display:block;max-width:100%}.skip{position:absolute;top:-100px;left:1rem;z-index:50;background:white;padding:1rem}.skip:focus{top:1rem}:focus-visible{outline:3px solid #6c32e5;outline-offset:4px}.sample-ribbon{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 2.6vw;background:var(--acid);font:700 .68rem/1.3 Arial,sans-serif;letter-spacing:.15em}.masthead{height:76px;display:flex;align-items:center;gap:2rem;justify-content:space-between;padding:0 2.6vw;background:var(--ink);color:#fff}.wordmark{font:900 clamp(1.15rem,2.1vw,2rem)/1 Arial,sans-serif;letter-spacing:-.08em;text-decoration:none;white-space:nowrap}.wordmark>span:not(.wordmark-small){color:var(--acid)}.wordmark-small{display:inline-block;margin-left:.5rem;font-size:.36em;letter-spacing:.14em;vertical-align:middle}.masthead nav{display:flex;gap:2.5rem}.masthead nav a,.all-link{font:700 .69rem/1 Arial,sans-serif;letter-spacing:.11em;text-decoration:none}.masthead nav a:hover,.all-link:hover{text-decoration:underline;text-decoration-color:var(--acid);text-underline-offset:7px}.hero{min-height:min(880px,calc(100svh - 105px));position:relative;overflow:hidden;background:#363a30;color:#fff;display:flex;flex-direction:column;justify-content:space-between;padding:2rem 2.6vw}.hero-film,.film-scrim{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-film{filter:contrast(1.2) saturate(.75)}.film-scrim{background:linear-gradient(90deg,rgba(5,8,4,.78),rgba(8,12,6,.13) 72%),linear-gradient(0deg,rgba(0,0,0,.53),transparent 35%)}.hero>*:not(video):not(.film-scrim){position:relative;z-index:1}.hero-topline,.hero-bottom{display:flex;justify-content:space-between;align-items:center;gap:1rem;font:700 .72rem/1.4 Arial,sans-serif;letter-spacing:.18em}.hero-center{width:min(100%,1150px);padding:3rem 0 3rem 4vw}.hero-kicker{display:inline-block;background:var(--acid);color:var(--ink);padding:.65rem .8rem;font:900 .78rem/1 Arial,sans-serif;letter-spacing:.2em}.hero h1{font:900 clamp(5rem,13.5vw,14rem)/.92 "Arial Black",Impact,sans-serif;letter-spacing:-.09em;margin:.7rem 0 2rem;text-shadow:0 8px 40px rgba(0,0,0,.18)}.hero h1 span{color:var(--acid)}.hero-lead{font-weight:700;font-size:clamp(.9rem,1.35vw,1.15rem);line-height:1.8;max-width:36rem}.round-jump{display:grid;place-items:center;width:64px;height:64px;border:2px solid white;border-radius:50%;text-decoration:none;font:700 1.5rem Arial,sans-serif;transition:transform .25s,background .25s}.round-jump:hover{transform:rotate(-45deg);background:var(--magenta)}.vertical-label{position:absolute!important;right:2.7vw;top:50%;writing-mode:vertical-rl;font:700 .65rem Arial,sans-serif;letter-spacing:.26em}.ticker{overflow:hidden;background:var(--acid);border-top:4px solid var(--ink);border-bottom:4px solid var(--ink)}.ticker-track{width:max-content;padding:.65rem 0;font:900 clamp(1.5rem,3.3vw,3rem)/1 Impact,"Arial Black",sans-serif;letter-spacing:-.03em;animation:ticker 19s linear infinite}@keyframes ticker{to{transform:translateX(-33.33%)}}.section-index{font:900 .78rem/1.3 Arial,sans-serif;letter-spacing:.22em;text-transform:uppercase}.manifesto{min-height:670px;display:grid;grid-template-columns:17% 1fr 20%;padding:7rem 4vw;gap:1.8rem;overflow:hidden}.manifesto-copy{max-width:850px}.eyebrow{font:900 .75rem Arial,sans-serif;letter-spacing:.2em;color:#676e5e}.manifesto h2,.booking h2{font:900 clamp(3.8rem,8vw,8rem)/1.08 "Arial Black",Impact,sans-serif;letter-spacing:-.09em;margin:1.4rem 0 2rem}.manifesto h2 i,.booking h2 em{font-style:normal;color:#6a4ad5}.manifesto-copy>p:last-child{max-width:41rem;font-size:1.05rem;line-height:2}.manifesto-mark{font:900 clamp(7rem,20vw,19rem)/1 Arial,sans-serif;color:var(--magenta);align-self:end;transform:rotate(-22deg)}.menu{display:grid;grid-template-columns:37% 63%;background:var(--ink);color:var(--paper)}.menu-heading{background:var(--acid);color:var(--ink);padding:5rem 4vw;display:flex;flex-direction:column;justify-content:space-between;min-height:650px}.menu-heading h2{font:900 clamp(4rem,7vw,8rem)/.86 Impact,"Arial Black",sans-serif;letter-spacing:-.05em;margin:2rem 0;overflow-wrap:anywhere}.menu-heading em{font-style:normal;color:#5530be}.menu-heading p{line-height:1.7}.menu-list{align-self:center}.menu-list article{display:grid;grid-template-columns:70px 1fr auto;gap:2rem;align-items:center;padding:2.5rem 4vw;border-bottom:1px solid #55594f}.menu-list article:first-child{border-top:1px solid #55594f}.menu-n{font:900 1rem Arial,sans-serif;color:var(--acid)}.menu-list h3{font-size:clamp(1.7rem,2.5vw,2.6rem);margin:0 0 .6rem}.menu-list p{line-height:1.6;color:#c9cbbf;margin:0}.menu-list strong{font:700 .82rem Arial,sans-serif;letter-spacing:.05em;white-space:nowrap}.visual{display:grid;grid-template-columns:40% 1fr 60px;min-height:660px;background:#e1d9c6}.visual-copy{padding:5rem 4vw;display:flex;flex-direction:column;justify-content:center}.visual-copy>p:first-of-type{font:800 .85rem Arial,sans-serif;letter-spacing:.2em;margin-top:5rem}.visual h2{font:900 clamp(2.9rem,4.5vw,5rem)/1.14 "Arial Black",sans-serif;letter-spacing:-.07em}.visual-copy>p:last-of-type{line-height:1.9;max-width:27rem}.visual-image{position:relative;min-height:560px;overflow:hidden}.visual-image img{width:100%;height:100%;object-fit:cover;transition:transform .9s}.visual-image:hover img{transform:scale(1.07)}.visual-image span{position:absolute;bottom:1.2rem;left:1.3rem;background:var(--acid);padding:.55rem;font:700 .68rem Arial,sans-serif;letter-spacing:.12em}.visual-rail{writing-mode:vertical-rl;display:grid;place-items:center;background:var(--magenta);font:900 .72rem Arial,sans-serif;letter-spacing:.2em}.booking{display:grid;grid-template-columns:44% 1fr;gap:4vw;padding:7rem 4vw;background:#ded3f4}.booking-head{align-self:start;position:sticky;top:2rem}.booking h2{font-size:clamp(3.2rem,5.8vw,6.5rem)}.booking-head>p{line-height:1.85;max-width:32rem}.booking-warning{background:var(--ink);color:white;padding:.85rem 1rem;font-weight:700}.booking-panel{background:#fff;padding:clamp(1.3rem,3vw,3rem);border:3px solid var(--ink);box-shadow:16px 16px 0 var(--ink)}.progress{font:900 .85rem Arial,sans-serif;letter-spacing:.12em;border-bottom:4px solid var(--ink);padding-bottom:1.2rem;margin-bottom:2rem}.progress span{font-size:2rem;color:#643dd2}.step[hidden],.progress[hidden],.error[hidden],#back[hidden],#next[hidden]{display:none}.step fieldset{border:0;padding:0;margin:0}.step legend,.step h3{font-size:clamp(1.4rem,2.2vw,2rem);font-weight:900;margin-bottom:1.3rem}.step label{display:block;position:relative;margin:.75rem 0}.step label input{position:absolute;opacity:0}.step label span{display:block;padding:1.05rem 1.2rem;border:2px solid #999;cursor:pointer;font-weight:800;transition:background .2s,border .2s,transform .2s}.step label span small{display:block;margin-top:.35rem;color:#595959;font-weight:500}.step label input:checked+span{background:var(--acid);border-color:var(--ink);transform:translateX(6px)}.step label input:focus-visible+span{outline:3px solid #6c32e5;outline-offset:3px}.hint{line-height:1.7}.error{color:#a11b41;font-weight:800}.controls{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}.controls button{border:2px solid var(--ink);padding:.85rem 1.2rem;background:var(--ink);color:#fff;font-weight:900;cursor:pointer}.controls button:hover{background:#673fd0}.controls .secondary,.controls .quiet{background:#fff;color:var(--ink)}.controls .quiet{border-color:transparent;text-decoration:underline}#summary div{display:grid;grid-template-columns:110px 1fr;gap:1rem;padding:.8rem 0;border-bottom:1px solid #aaa}#summary dt{font-weight:800}#summary dd{margin:0}.done h3{color:#5938c5}.endnote{background:var(--acid);padding:8rem 4vw;min-height:620px}.endnote>span{font:900 .85rem Arial,sans-serif;letter-spacing:.2em}.endnote h2{font:900 clamp(4rem,10vw,11rem)/.94 "Arial Black",Impact,sans-serif;letter-spacing:-.1em;margin:2rem 0}.endnote p{line-height:1.8}.endnote a{display:inline-block;margin-top:2rem;border-bottom:4px solid var(--ink);padding-bottom:.3rem;font-weight:900;text-decoration:none}footer{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:1.5rem 4vw;background:var(--ink);color:#fff;font:700 .7rem Arial,sans-serif;letter-spacing:.12em}footer a{text-decoration:none}
@media(max-width:950px){.masthead nav{display:none}.manifesto{grid-template-columns:1fr;min-height:auto}.manifesto-mark{display:none}.menu{grid-template-columns:1fr}.menu-heading{min-height:400px}.visual{grid-template-columns:1fr 40px}.visual-copy{grid-column:1/3}.visual-image{grid-column:1;min-height:500px}.visual-rail{grid-column:2}.booking{grid-template-columns:1fr}.booking-head{position:static}.menu-list article{grid-template-columns:40px 1fr}.menu-list strong{grid-column:2}}
@media(max-width:600px){.sample-ribbon{font-size:.55rem}.sample-ribbon span:last-child{display:none}.masthead{height:60px}.wordmark{font-size:1.25rem}.all-link{font-size:.58rem}.hero{min-height:740px;min-height:calc(100svh - 80px);padding:1.3rem 4vw}.hero-center{padding:1rem 0}.hero h1{font-size:clamp(4rem,17vw,7rem)}.hero-lead br{display:none}.hero-topline span:last-child,.hero-bottom span:last-child,.vertical-label{display:none!important}.manifesto{padding:5rem 5vw}.manifesto h2{font-size:clamp(3.4rem,12vw,5.5rem)}.menu-heading{padding:4rem 5vw}.menu-list article{padding:2rem 5vw;gap:1rem}.menu-list h3{font-size:1.5rem}.visual-copy{padding:4rem 5vw}.visual-image{min-height:400px}.booking{padding:5rem 5vw}.booking h2{font-size:clamp(3rem,11vw,5rem)}.booking-panel{box-shadow:8px 8px 0 var(--ink)}.endnote{padding:6rem 5vw}.endnote h2{font-size:clamp(3.8rem,14vw,7rem)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ticker-track{animation:none}.visual-image img,.round-jump,.step label span{transition:none}.hero-film{display:none}.hero{background:linear-gradient(90deg,rgba(0,0,0,.7),rgba(0,0,0,.2)),url('../assets/komorebi-salon-generated.jpg') center/cover}}
/* 日本語の句読点と行末を読みやすく整える */
h1,h2,h3,p{line-break:strict}
h1,h2,h3{text-wrap:balance}
p{text-wrap:pretty}
.manifesto h2{font-size:clamp(2.4rem,7vw,5.8rem)}
.endnote h2{font-size:clamp(3.1rem,9vw,7rem)}

/* The salon work and category are visible together in the first viewport. */
.hero>.hero-film{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% center;z-index:0;display:block}
.hero>.film-scrim{z-index:0;background:linear-gradient(90deg,rgba(5,8,4,.83),rgba(8,12,6,.08) 76%),linear-gradient(0deg,rgba(0,0,0,.48),transparent 36%)}
.hero-center{width:min(100%,950px);padding:1rem 0 1rem 4vw;margin-top:auto;margin-bottom:auto}
.hero-kicker{font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;letter-spacing:.08em}
.hero h1{font-size:clamp(6.2rem,15vw,13rem);line-height:1;letter-spacing:-.09em;margin:1.1rem 0 .25rem;white-space:nowrap}
.hero-phrase{margin:.2rem 0 1.4rem;font-size:clamp(1.7rem,4vw,4rem);line-height:1.2;font-weight:900;color:var(--acid);letter-spacing:-.07em}
.hero-lead{max-width:34rem}
@media(max-width:600px){.hero{min-height:calc(100svh - 80px)}.hero>.hero-film{object-position:56% center}.hero-center{padding:0}.hero h1{font-size:clamp(5rem,22vw,8rem);margin:.8rem 0 .15rem}.hero-phrase{font-size:clamp(1.5rem,7vw,2.6rem);margin:0 0 1rem}.hero-kicker{font-size:.68rem}.hero-lead{font-size:.85rem}}
@media(prefers-reduced-motion:reduce){.hero>.hero-film{display:block}.hero{background:#363a30}}
body .hero>img.hero-film{position:absolute;inset:0;width:100%;height:100%;z-index:0}
