:root{color-scheme:dark;--canvas:#171614;--surface:#211e1a;--ink:#eee9e1;--muted:#bcb4a9;--accent:#c0aa8b;--line:rgba(238,233,225,.18);--serif:'Shippori Mincho','Yu Mincho','Hiragino Mincho ProN',serif;--sans:'Zen Kaku Gothic New','Hiragino Kaku Gothic ProN',sans-serif;--gutter:clamp(24px,6vw,84px);--ease:cubic-bezier(.25,.6,.3,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;background:var(--canvas);color:var(--ink);font:15px/1.95 var(--sans);letter-spacing:.025em;-webkit-font-smoothing:antialiased;word-break:normal;overflow-wrap:normal;line-break:strict}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}button{font:inherit}a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:1px solid currentColor;outline-offset:5px}::selection{background:#b8a58a;color:#171614}.container{max-width:1320px;padding-inline:var(--gutter);margin-inline:auto}.skip{position:fixed;top:10px;left:10px;transform:translateY(-180%);z-index:50;background:var(--ink);color:var(--canvas);padding:9px 18px}.skip:focus{transform:none}
.site-head{display:flex;justify-content:space-between;align-items:center;gap:24px;height:90px;padding-inline:var(--gutter);border-bottom:1px solid var(--line)}.wordmark{font:25px/1.25 var(--serif);letter-spacing:.025em}.wordmark>span{display:block;font:10px/1.6 var(--sans);letter-spacing:.1em;color:var(--muted);margin-top:5px}.site-head nav{display:flex;gap:28px}.site-head nav a{font-size:13px;min-height:44px;display:flex;gap:10px;align-items:center}.site-head a:hover,.site-foot a:hover{color:var(--accent)}
.menu-hero{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;padding-block:64px 65px}.eyebrow{font-size:10px;letter-spacing:.19em;color:var(--accent);line-height:1.8;margin-bottom:24px}.menu-hero h1{font-size:clamp(26px,3vw,38px);line-height:1.9;letter-spacing:.08em}.hero-label{font-size:13px;color:var(--muted);margin-top:20px}.hero-lead{font-size:14px;line-height:2.15;margin-top:25px}.hero-note{font-size:11px;color:var(--muted);margin-top:24px}.hero-note span{white-space:nowrap}.hero-photo{position:relative;aspect-ratio:1.2;overflow:hidden}.hero-photo>img{width:100%;height:100%;object-fit:cover;object-position:52% center}.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 50%,#17161480)}.hero-photo figcaption{position:absolute;bottom:27px;right:26px;z-index:1;width:130px;opacity:.85}
.category-nav{position:sticky;top:0;z-index:10;background:rgba(23,22,20,.98);border-block:1px solid var(--line)}.category-nav>.container{display:flex;gap:45px}.category-nav a{font-size:13px;min-height:63px;display:flex;align-items:center;position:relative;white-space:nowrap}.category-nav a:last-child{margin-left:auto;color:var(--muted)}.category-nav a:after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}.category-nav a[aria-current],.category-nav a:hover{color:#e8d6b9}.category-nav a[aria-current]:after,.category-nav a:hover:after{transform:scaleX(1)}
h2{font-size:clamp(22px,2vw,28px);line-height:1.85;letter-spacing:.06em}.selection-guide{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;padding-block:68px 78px;border-bottom:1px solid var(--line)}.section-note{font-size:13px;color:var(--muted);line-height:2;margin-top:20px}.text-link{display:inline-flex;gap:20px;align-items:center;border-bottom:1px solid #736651;min-height:48px;margin-top:22px;font-size:13px}.text-link>span{color:var(--accent)}.guide-list{border-top:1px solid var(--line)}.guide-list>details{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}.guide-list summary{position:relative;padding:17px 27px 17px 0;min-height:57px;font-size:13px;line-height:1.8}.guide-list summary:after,.course-details summary:after,.help-detail summary:after{content:'+';position:absolute;right:2px;top:50%;transform:translateY(-50%);color:var(--accent);font-size:17px}.guide-list details[open]>summary:after,.course-details[open]>summary:after,.help-detail[open]>summary:after{content:'−'}.guide-options{padding-bottom:20px;display:grid;gap:9px}.guide-options a{border-left:1px solid var(--accent);padding:10px 13px;display:grid;grid-template-columns:1fr auto 10px;gap:12px;align-items:center;background:#242019;min-height:48px}.guide-options a>span{font-size:13px;line-height:1.8}.guide-options small{font-size:12px;font-variant-numeric:tabular-nums;color:var(--muted)}.guide-options i{font-style:normal;font-size:12px;color:var(--accent)}.guide-options a:hover{background:#332b21}
.menu-section{padding-block:65px 10px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:30px}.section-head .eyebrow{margin-bottom:15px}.section-head>p{font-size:13px;line-height:2;color:var(--muted)}.menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}.menu-card{min-width:0;background:var(--surface);border:1px solid var(--line);padding:26px 23px;scroll-margin-top:100px}.card-top{display:flex;gap:10px;align-items:center;justify-content:space-between;min-height:26px;margin-bottom:22px}.menu-number{font-size:11px;letter-spacing:.1em;color:var(--accent)}.tag{font-size:10px;line-height:1.7;border:1px solid #78694f;padding:3px 8px;color:#d8c6aa}.menu-card h3{font-size:21px;letter-spacing:.025em;line-height:1.7;min-height:72px}.menu-card h3>span{display:block}.menu-card .en{display:block;font-size:9px;letter-spacing:.04em;color:var(--muted);line-height:1.8;min-height:32px;margin-top:7px}.course-point{font-size:12px;line-height:1.9;color:#c9c0b5;margin-top:15px;min-height:46px}.price{display:flex;flex-wrap:wrap;align-items:baseline;gap:7px 13px;margin-top:22px;font-variant-numeric:tabular-nums}.price b{font-family:var(--serif);font-size:28px;font-weight:400;line-height:1.4;letter-spacing:0}.price>span:not(.time-query){font-size:14px;border-left:1px solid var(--line);padding-left:13px}.price small{font-size:10px;color:var(--muted)}.price .time-query{flex-basis:100%;font-size:11px;color:var(--muted);margin-top:5px}.price-note{font-size:10px;color:var(--muted);line-height:1.8;margin-top:8px;min-height:18px}.course-details{margin-top:25px;border-block:1px solid var(--line)}.course-details summary{min-height:53px;padding:14px 25px 14px 0;font-size:12px;position:relative;display:flex;align-items:center}.course-description{padding-block:8px 21px;font-size:13px;line-height:2}.course-description>*+*{margin-top:20px}.catch{font-family:var(--serif);font-size:16px;line-height:1.9}.for{color:var(--muted);font-size:12px;line-height:2}.for b{display:block;font-size:10px;color:var(--accent);font-weight:400;letter-spacing:.1em;margin-bottom:5px}.desc{font-size:13px;line-height:2}.contents{display:flex;flex-wrap:wrap;gap:5px;font-size:11px;color:var(--muted)}.contents b{flex-basis:100%;font-weight:400;font-size:10px;color:var(--accent);margin-bottom:3px}.contents span{border:1px solid var(--line);padding:3px 7px;line-height:1.9}.go{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:52px;background:#e5dfd3;color:#2b251e;padding:13px 14px;margin-top:22px;font-size:12px;line-height:1.8;border:1px solid #e5dfd3;transition:background .3s,color .3s}.go:hover{background:transparent;color:var(--ink)}.go>span{font-size:16px}.featured{background:#e6e0d5;color:#332d25;border-color:#e6e0d5;--muted:#665c50;--line:#bdb3a5;--accent:#766347}.featured .tag{border-color:#ac9c85;color:#5e4d35}.featured .course-point{color:#655a4c}.featured .go{background:#332d25;color:#f1ece4;border-color:#332d25}.featured .go:hover{background:transparent;color:#332d25}.menu-card:target{outline:1px solid var(--accent);outline-offset:5px}.herb-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.herb-grid h3{min-height:0}.herb-grid .en{min-height:0}
.consultation{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;background:linear-gradient(115deg,#322a20,#211e19);padding:44px;margin-top:76px}.consultation .eyebrow{margin-bottom:18px}.consultation h2{font-size:25px}.consultation p:not(.eyebrow):not(.booking-note){font-size:13px;color:var(--muted);margin-top:20px}.primary-link{display:flex;align-items:center;justify-content:space-between;gap:15px;border:1px solid #dbcebb;padding:17px 20px;min-height:58px;font-size:14px}.primary-link:hover{background:#e5dfd3;color:#332d25}.booking-note{font-size:10px;color:var(--muted);margin-top:12px;line-height:1.9}.help-detail{border-bottom:1px solid var(--line);margin-top:17px}.help-detail summary{position:relative;min-height:49px;padding:12px 23px 12px 0;font-size:12px}.help-detail .prose{padding-bottom:22px}.before-booking{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;padding-block:68px 80px}.before-booking h2{font-size:22px}.before-booking .eyebrow{margin-bottom:18px}.notes{list-style:none;padding:0;margin:0;display:grid;gap:13px}.notes li{font-size:12px;line-height:2;color:var(--muted);padding-left:15px;position:relative}.notes li:before{content:'';width:3px;height:3px;background:var(--accent);position:absolute;left:0;top:11px}.site-foot{padding-block:40px 36px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:25px}.site-foot .wordmark{font-size:23px}.site-foot p{font-size:11px;color:var(--muted);line-height:2.1;margin-top:20px}.site-foot nav{display:flex;gap:5px 22px;flex-wrap:wrap;justify-content:flex-end;align-content:start}.site-foot nav a{font-size:12px;line-height:44px;color:var(--muted)}.site-foot>small{font-size:10px;color:var(--muted);grid-column:1/-1}
@media(min-width:761px){#facial .course-point{margin-top:54px}.menu-card .price-note+.course-details{margin-top:7px}}
@media(max-width:1100px) and (min-width:761px){.menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.selection-guide,.before-booking{gap:36px}.menu-hero{gap:35px}.consultation{padding:32px;gap:30px}.menu-card h3{font-size:20px}.menu-hero h1{font-size:29px}.category-nav>.container{gap:30px}}
@media(max-width:760px){
 :root{--gutter:24px}html{scroll-padding-top:76px}.site-head{height:76px;gap:15px}.wordmark{font-size:22px}.wordmark>span{font-size:9px}.site-head nav{gap:16px}.site-head nav a{font-size:12px;gap:6px}
 .menu-hero{display:block;padding-block:42px 0}.menu-hero h1{font-size:27px;line-height:1.95;letter-spacing:.06em}.eyebrow{font-size:9px;margin-bottom:18px}.hero-label{font-size:12px;margin-top:17px}.hero-lead{font-size:13px;line-height:2.1;margin-top:20px}.hero-note{font-size:10px;margin-top:22px}.hero-note span{display:block}.hero-photo{margin:29px calc(-1 * var(--gutter)) 0 24px;aspect-ratio:1.8}.hero-photo>img{object-position:50% 48%}.hero-photo figcaption{width:104px;right:22px;bottom:21px}
 .category-nav>.container{gap:0;justify-content:space-between}.category-nav a{font-size:11px;min-height:57px;letter-spacing:0}.category-nav a:last-child{margin:0}.selection-guide{display:block;padding-block:44px 45px}.selection-guide h2{font-size:22px;line-height:1.85}.selection-guide .section-note{margin-top:14px;font-size:12px}.selection-guide .text-link{margin-top:10px;font-size:12px}.guide-list{margin-top:24px}.guide-list summary{font-size:12px;padding-block:14px;min-height:51px}.guide-options a{grid-template-columns:minmax(0,1fr) auto 8px;gap:7px;padding:10px}.guide-options a>span{font-size:12px}.guide-options small{font-size:11px}
 .menu-section{padding-block:45px 4px}.section-head{display:block;margin-bottom:23px}.section-head h2{font-size:23px;letter-spacing:.035em}.section-head .eyebrow{margin-bottom:12px}.section-head>p{font-size:12px;line-height:1.95;margin-top:14px}.menu-grid,.herb-grid{grid-template-columns:1fr;gap:20px}.menu-card{padding:25px 24px;scroll-margin-top:84px}.card-top{margin-bottom:18px;min-height:24px}.menu-card h3{font-size:22px;min-height:0;line-height:1.7}.menu-card .en{font-size:9px;min-height:0;margin-top:7px}.tag{font-size:10px}.course-point{font-size:12px;min-height:0;margin-top:18px;line-height:1.9}.price{margin-top:23px;gap:8px 14px}.price b{font-size:28px}.price>span:not(.time-query){font-size:14px}.price small{font-size:10px}.price-note{margin-top:7px;min-height:0}.course-details{margin-top:23px}.course-details summary{font-size:12px;min-height:51px}.go{font-size:13px;min-height:54px;padding:14px 16px;margin-top:21px}.course-description{font-size:14px}.desc{font-size:14px;line-height:2.05}.for{font-size:13px}.catch{font-size:16px}.contents{font-size:12px}.contents span{padding:3px 7px}.herb-grid .time-query{font-size:11px}
 .consultation{display:block;padding:31px 25px;margin-top:49px;margin-inline:calc(-1 * var(--gutter))}.consultation h2{font-size:24px}.consultation>div+div{margin-top:28px}.consultation p:not(.eyebrow):not(.booking-note){font-size:13px;line-height:2}.primary-link{font-size:13px;padding-inline:16px}.booking-note{font-size:10px}.before-booking{display:block;padding-block:47px 52px}.before-booking h2{font-size:22px}.before-booking>div+div{margin-top:24px}.notes{gap:14px}.notes li{font-size:12px}.before-booking .text-link{font-size:12px;gap:11px}.site-foot{display:block;padding-block:35px}.site-foot nav{justify-content:flex-start;margin-top:20px;gap:0 20px}.site-foot nav a{font-size:11px}.site-foot>small{display:block;margin-top:24px}
}
@media(max-width:360px){:root{--gutter:20px}.site-head nav{gap:12px}.site-head nav a{font-size:11px}.menu-hero h1{font-size:25px}.menu-card{padding-inline:20px}.menu-card h3{font-size:21px}.category-nav a{font-size:10px}.hero-photo{margin-left:15px}.guide-list summary{font-size:11.5px}.guide-options a{grid-template-columns:minmax(0,1fr) auto;gap:6px}.guide-options i{display:none}.guide-options a>span{font-size:11px}.consultation{padding-inline:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
@media print{.site-head,.category-nav,.site-foot,.go{display:none}html,body{background:white;color:black}.menu-grid{display:block}.menu-card{break-inside:avoid;border:1px solid #888;background:white;color:black;margin-bottom:20px}.menu-hero{display:block}.hero-photo{display:none}.container{padding-inline:0}details>*{display:block!important}.consultation{background:white}}

.catch .phrase{display:inline-block;white-space:nowrap}

/* Quiet section marker: decorative numbering is replaced by a small glint. */
.mark-label{display:flex;align-items:center;gap:11px}
.mark-label:before,.menu-mark{content:'';display:block;width:6px;height:6px;flex:0 0 6px;background:var(--accent);clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%)}
