body.menu-open{overflow:hidden}.menu-trigger{appearance:none;border:0;background:transparent;color:#fff;font:inherit;cursor:pointer;padding:4px 8px}.menu-trigger b{display:block;font-size:27px;line-height:.72}.menu-overlay{position:fixed;z-index:100;inset:0;background:linear-gradient(145deg,#30101df4,#6c2940f4);color:#fff;overflow:auto;opacity:0;visibility:hidden;transition:.25s}.menu-overlay:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:radial-gradient(#d9bb83 1px,transparent 1px);background-size:8px 8px;opacity:.18}.menu-overlay.open{opacity:1;visibility:visible}.menu-inner{position:relative;width:min(100%,760px);min-height:100%;margin:auto;padding:16px 0 80px}.menu-brand{text-align:center;margin:0 50px 26px}.menu-brand small{display:block;font-size:12px;font-weight:800;letter-spacing:.2em}.menu-brand strong{display:inline-block;font:700 36px/1.2 Georgia,"Yu Mincho",serif;letter-spacing:.08em}.menu-brand em{font:normal 11px/1 sans-serif;letter-spacing:.35em;margin-left:15px}.menu-brand p{font-size:12px;font-weight:700;margin:5px}.menu-close{position:absolute;right:18px;top:16px;border:0;background:none;color:#fff;font-size:38px;line-height:1;cursor:pointer}.menu-list{border-top:1px solid #ffffff2f}.menu-list a{display:flex;align-items:center;justify-content:space-between;min-height:69px;padding:0 34px;border-bottom:1px solid #ffffff31;font-size:20px;font-weight:900}.menu-list a:hover,.menu-list a:focus{background:#b6945533}.menu-list span{font-size:30px;font-weight:400}.page-shell{width:min(100%,1000px);min-height:100vh;margin:auto;background:#fff;box-shadow:0 0 35px #a4004420}.page-hero{padding:74px 7% 65px;background:linear-gradient(145deg,#351521,#6f2b42);color:#fff;text-align:center}.page-hero .en{font-size:12px;letter-spacing:.28em;color:#dbc58f;font-weight:900}.page-hero h1{margin:10px 0;font:700 clamp(34px,6vw,58px)/1.25 Georgia,"Yu Mincho",serif}.page-content{padding:62px 7% 120px}.page-content h2{color:#68153c;font:700 30px/1.4 Georgia,"Yu Mincho",serif}.intro{max-width:680px;margin:0 auto 46px;text-align:center}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.info-card{padding:26px;background:#fff2f7;border-top:4px solid #ed0a75}.info-card h3{margin-top:0;color:#6a153c}.steps{counter-reset:step;display:grid;gap:15px}.step{counter-increment:step;padding:24px 24px 24px 76px;position:relative;background:#fff5f9;border:1px solid #f4c3d7}.step:before{content:counter(step);position:absolute;left:20px;top:18px;width:39px;height:39px;border-radius:50%;display:grid;place-items:center;background:#6f253d;color:#fff;font-weight:900}.price-table{width:100%;border-collapse:collapse}.price-table th,.price-table td{padding:18px;border-bottom:1px solid #f0bfd3;text-align:left}.price-table th{background:#68153c;color:#fff}.form{display:grid;gap:16px;max-width:650px;margin:auto}.form label{font-weight:800}.form input,.form select,.form textarea{width:100%;padding:14px;border:1px solid #d9a4ba;font:inherit;background:#fff}.form button{padding:16px;background:#6f253d;color:#fff;border:0;font-weight:900;font-size:17px}.notice{padding:24px;background:#fff3f7;border-left:5px solid #b69455}.backtop{display:inline-block;margin-top:35px;color:#6f253d;font-weight:900}@media(max-width:700px){.menu-list a{min-height:62px;padding:0 22px;font-size:17px}.menu-brand strong{font-size:31px}.info-grid{grid-template-columns:1fr}.page-hero{padding-top:60px}.page-content{padding-left:20px;padding-right:20px}.price-table th,.price-table td{padding:13px 9px;font-size:14px}}
.menu-overlay{background:linear-gradient(145deg,#3c101ef4,#7b2046f4)!important}.page-hero{background:linear-gradient(145deg,#5b1738,#b83e75)!important}.hero:before{background:radial-gradient(circle at 72% 30%,#ffd3e5 0 10%,transparent 33%),linear-gradient(135deg,#f9bfd8 0%,#f28fbc 50%,#8d284f 100%)!important}.promo:before{background:linear-gradient(145deg,#ef8fba,#8f274f)!important}.promo-new:before{background:linear-gradient(145deg,#ffd6e7,#e94c91)!important}.promo-diary:before{background:linear-gradient(145deg,#b64073,#5b1738)!important}.promo-today:before{background:linear-gradient(145deg,#f39fc4,#7b2046)!important}
.latest-info{padding:26px 28px;background:#fff7fb;border-bottom:1px solid #f6b6d4}.latest-head{display:flex;align-items:end;justify-content:space-between;gap:16px}.latest-head h2{margin:2px 0;color:#5b1738;font:700 clamp(25px,4vw,36px)/1.3 Georgia,"Yu Mincho",serif}.latest-head time{font-size:13px;color:#8c4969;font-weight:700}.availability{margin-top:16px;padding:18px 20px;background:#fff;border:1px solid #f2cada;border-left:5px solid #ed0a75}.availability strong{font-size:20px;color:#68153c}.availability p{margin:6px 0 10px}.availability a{color:#d90063;font-weight:800}.live-dot{display:inline-block;width:10px;height:10px;margin-right:8px;border-radius:50%;background:#24a663;box-shadow:0 0 0 4px #24a66322}
.therapist-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.therapist-card{overflow:hidden;background:#fff;border:1px solid #f1c6da;box-shadow:0 10px 26px #7d174612}.photo-placeholder{min-height:230px;display:grid;place-content:center;text-align:center;background:linear-gradient(145deg,#fff2f7,#efb0cd);color:#9c3d68}.photo-placeholder>span{font:italic 72px/1 Georgia,serif}.photo-placeholder small{margin-top:12px;font-size:11px;letter-spacing:.18em}.therapist-body{padding:18px}.profile-head{display:flex;align-items:start;justify-content:space-between;gap:10px}.profile-head h3{margin:0;color:#5b1738;font-size:24px}.profile-head h3 small{font:700 14px sans-serif;color:#8c4969}.profile-head p{margin:0;color:#8c4969}.status{flex:0 0 auto;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:900}.status.available{background:#e5f7ed;color:#21764a}.status.soon{background:#fff0d9;color:#925900}.status.ended{background:#eee;color:#666}.feature-tags{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0}.feature-tags span{padding:4px 8px;background:#fff0f6;color:#8e104c;font-size:12px;font-weight:800}.work-time{padding:11px 0;border-top:1px solid #f4d6e3}.work-time small{display:block;color:#8c4969}.work-time strong{font-size:20px;color:#341429}.card-action{display:block;margin-top:10px;padding:11px;text-align:center;background:#ed0a75;color:#fff;font-weight:800}.card-action.disabled{background:#e5dfe2;color:#766b70}.section-more{display:block;width:max-content;margin:28px auto 0;color:#d90063;font-weight:900}.new-face-card{display:grid;grid-template-columns:minmax(220px,36%) 1fr;gap:28px;align-items:center;max-width:760px;margin:auto;padding:24px;background:#fff;border:1px solid #f1c6da}.new-face-card h3{margin:5px 0;color:#5b1738;font-size:30px}.new-face-card h3 small{font-size:15px}.new-face-card .btn{margin-top:10px}.portrait{min-height:310px}
@media(max-width:700px){.latest-info{padding:22px 14px}.latest-head{align-items:start}.latest-head time{white-space:nowrap}.availability strong{font-size:18px}.therapist-cards{grid-template-columns:1fr}.therapist-card{display:grid;grid-template-columns:40% 60%}.photo-placeholder{min-height:270px}.therapist-body{padding:15px}.profile-head{display:block}.status{display:inline-block;margin-top:8px}.new-face-card{grid-template-columns:1fr;padding:16px}.portrait{min-height:300px}.hero{min-height:560px}.hero:before{background:radial-gradient(circle at 70% 22%,#ffd3e5 0 12%,transparent 36%),linear-gradient(150deg,#f9bfd8,#e66a9f 55%,#762142)!important}}

/* Dahlia luxury editorial layout */
:root{--d-rose:#6f253d;--d-deep:#32131f;--d-gold:#b69455;--d-gold-light:#dbc58f;--d-ivory:#fbf9f4;--d-line:#d9c9ad;--d-green:#2d7955}.luxury-site{margin:0;color:#36252a;background:#f5f1e9;background-image:radial-gradient(circle at 16% 8%,#fff 0 8%,transparent 26%),radial-gradient(circle at 86% 20%,#eadfd3 0 1px,transparent 2px),linear-gradient(115deg,transparent 0 48%,#c8bda72c 49%,transparent 50%);background-size:auto,32px 32px,340px 340px;font-family:"Yu Gothic UI",Meiryo,sans-serif;line-height:1.8}.luxury-site a{text-decoration:none;color:inherit}.lux-header{position:sticky;z-index:60;top:0;background:#fffdf9eb;border-bottom:1px solid var(--d-gold);backdrop-filter:blur(12px)}.lux-header-inner{width:min(1180px,calc(100% - 40px));height:82px;margin:auto;display:flex;align-items:center}.lux-brand{display:flex;align-items:baseline;gap:11px;color:var(--d-deep)}.lux-brand small{font-size:9px;letter-spacing:.2em;writing-mode:vertical-rl}.lux-brand strong{font:italic 42px/1 Georgia,serif;letter-spacing:.04em}.lux-brand span{font-size:11px;letter-spacing:.22em;color:var(--d-gold)}.lux-header-note{margin-left:auto;margin-right:28px;font-size:12px;color:#79666a}.lux-menu{display:flex!important;align-items:center;gap:8px;color:var(--d-deep)!important;border-left:1px solid var(--d-line)!important;padding-left:22px!important}.lux-menu b{font-size:23px!important}.lux-menu span{font-size:10px;letter-spacing:.2em}.site-frame{width:min(1180px,calc(100% - 40px));margin:28px auto 110px;display:grid;grid-template-columns:minmax(0,860px) 280px;gap:28px;align-items:start}.main-column{min-width:0;background:#fffdf9;box-shadow:0 14px 50px #37231d18;border:1px solid #e5ddce}.brand-hero{height:650px;position:relative;overflow:hidden;background:linear-gradient(120deg,#f9f6ef 0 51%,#dfd0c2 51% 100%)}.brand-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 0 50%,#47182842 50%),radial-gradient(ellipse at 78% 26%,#fff8 0 5%,transparent 28%),repeating-linear-gradient(125deg,transparent 0 34px,#fff2 35px 36px);opacity:.9}.hero-ornament{position:absolute;left:-30px;bottom:-110px;font:italic 440px/.8 Georgia,serif;color:#b694550d}.hero-copy-lux{position:absolute;z-index:2;left:7%;top:50%;width:50%;transform:translateY(-50%)}.hero-kicker{font:700 11px/1.4 Georgia,serif;letter-spacing:.32em;color:var(--d-gold)}.hero-copy-lux h1{margin:12px 0 16px;font:italic 88px/.9 Georgia,serif;color:var(--d-rose);text-shadow:0 2px #fff}.hero-jp{font-family:"Yu Mincho",serif;font-size:25px;letter-spacing:.12em;color:var(--d-deep)}.hero-copy-lux>p:last-of-type{font-size:13px;color:#685b5d}.hero-actions{display:flex;gap:8px;margin-top:28px}.hero-actions a{padding:12px 28px;color:#fff;background:var(--d-rose);font-size:12px;letter-spacing:.12em;border:1px solid var(--d-rose)}.hero-actions a+ a{color:var(--d-rose);background:#fff9;border-color:var(--d-gold)}.hero-photo-placeholder{position:absolute;right:5%;top:7%;width:40%;height:86%;display:grid;place-content:center;text-align:center;border:1px solid #dfcda9;background:linear-gradient(145deg,#efe7da,#cdb9aa);box-shadow:16px 16px 0 #fff8;color:#fff}.hero-photo-placeholder:before{content:"";position:absolute;inset:18px;border:1px solid #fff8}.hero-photo-placeholder span{font:italic 40px Georgia,serif;letter-spacing:.15em}.hero-photo-placeholder small{font-size:9px;letter-spacing:.28em}.luxe-section{padding:64px 54px;border-bottom:1px solid #e6ddcf}.ornate-title{text-align:center;position:relative;padding:20px;border:1px solid var(--d-gold)}.ornate-title:before,.ornate-title:after{content:"✦";position:absolute;top:50%;transform:translateY(-50%);color:var(--d-gold);background:#fffdf9;padding:8px}.ornate-title:before{left:-15px}.ornate-title:after{right:-15px}.ornate-title span,.section-title-lux>span{font:700 10px Georgia,serif;letter-spacing:.36em;color:var(--d-gold)}.ornate-title h2,.section-title-lux h2{margin:6px 0 2px;font:500 34px/1.3 "Yu Mincho",serif;letter-spacing:.08em;color:var(--d-deep)}.ornate-title time{font-size:10px;letter-spacing:.14em;color:#8c7773}.availability-scroll{max-height:210px;overflow:auto;margin:22px 0;border-top:1px solid #e2d7c5}.availability-row{min-height:64px;padding:10px 14px;display:grid;grid-template-columns:1fr 120px 100px;gap:12px;align-items:center;border-bottom:1px solid #e2d7c5;background:#fff}.availability-row strong{color:var(--d-deep)}.availability-row small{font-weight:400;color:#8b7975}.availability-row .time{font-family:Georgia,serif}.live-dot{display:inline-block;width:7px;height:7px;margin-right:9px;border-radius:50%;background:#328764;box-shadow:0 0 0 4px #32876418}.live-dot.off{background:#aaa;box-shadow:none}.state,.shift strong{font-size:11px;text-align:center;padding:4px 7px}.open{color:#246a49!important;background:#e7f3ec}.soon{color:#8a5c10!important;background:#fbf0d8}.closed{color:#786f70!important;background:#eee9e8}.gold-more{display:block;width:max-content;max-width:100%;margin:24px auto 0;padding:11px 34px;border:1px solid var(--d-gold);color:var(--d-rose);font-size:12px;letter-spacing:.08em}.section-title-lux{text-align:center;margin-bottom:32px}.section-title-lux:after{content:"";display:block;width:60px;height:1px;margin:17px auto;background:var(--d-gold)}.section-title-lux p{margin:0;color:#9a8581;font-size:12px}.dense-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.dense-card{border:1px solid #d7c7aa;background:#fff;box-shadow:0 8px 18px #41211d12}.portrait-placeholder{position:relative;aspect-ratio:.76;display:grid;place-content:center;text-align:center;background:linear-gradient(150deg,#eee7dc,#d1bdb0 60%,#ad8b82);color:#fff;overflow:hidden}.portrait-placeholder:after{content:"";position:absolute;inset:10px;border:1px solid #ffffff70}.portrait-placeholder b{font:italic 72px/.9 Georgia,serif}.portrait-placeholder span{font-size:8px;letter-spacing:.16em}.portrait-placeholder em{position:absolute;z-index:2;left:0;top:18px;padding:5px 13px;background:var(--d-rose);font:normal 9px Georgia,serif;letter-spacing:.15em}.dense-body{padding:15px}.name-row{display:flex;align-items:baseline;justify-content:space-between;gap:5px;border-bottom:1px solid #e6ddcf}.name-row h3{margin:0 0 8px;font:600 20px "Yu Mincho",serif;color:var(--d-deep)}.name-row h3 small,.name-row>b{font:400 11px sans-serif;color:#8c7773}.tags{display:flex;flex-wrap:wrap;gap:4px;margin:12px 0}.tags span{padding:2px 6px;border:1px solid #d6c6aa;color:#735546;background:#fffdf8;font-size:9px}.shift{display:flex;justify-content:space-between;align-items:center;font:600 12px Georgia,serif}.dense-body>a,.disabled-action{display:block;margin-top:13px;padding:9px;text-align:center;color:#fff;background:var(--d-rose);font-size:11px}.disabled-action{background:#b8afac}.feature-profile{display:grid;grid-template-columns:43% 1fr;gap:36px;align-items:center;padding:24px;border:1px solid var(--d-line);background:#faf7f0}.portrait-placeholder.large{aspect-ratio:.8}.feature-profile h3{font:500 31px "Yu Mincho",serif;color:var(--d-deep)}.feature-profile h3 small{font:400 12px sans-serif}.mini-label{font:700 9px Georgia,serif;letter-spacing:.22em;color:var(--d-gold)}.rose-button{display:inline-block;margin-top:12px;padding:12px 28px;background:var(--d-rose);color:#fff!important;font-size:12px}.recommend-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.recommend-grid a{min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid var(--d-gold);background:linear-gradient(145deg,#fff,#f1e9de);color:var(--d-deep)}.recommend-grid b{font:italic 25px Georgia,serif;color:var(--d-gold)}.recommend-grid span{font:600 16px "Yu Mincho",serif}.recommend-grid small{font-size:8px;letter-spacing:.2em}.news-list{border-top:1px solid var(--d-line)}.news-list a{display:grid;grid-template-columns:100px 1fr 64px;gap:14px;padding:17px 8px;border-bottom:1px solid var(--d-line);align-items:center}.news-list time{font:11px Georgia,serif;color:#8b7771}.news-list b{text-align:center;border:1px solid var(--d-gold);font-size:8px;color:var(--d-gold)}.concept-lux{text-align:center;color:#fff;background:linear-gradient(#3d1724ed,#4b1d2beb),repeating-linear-gradient(45deg,#35101e 0 8px,#421524 9px 10px)}.section-title-lux.light h2,.section-title-lux.light span{color:#fff}.concept-lux>a{display:inline-block;margin-top:20px;padding:10px 28px;border:1px solid var(--d-gold-light);color:var(--d-gold-light)}.environment-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center}.room-placeholder{aspect-ratio:1.35;display:grid;place-items:center;border:1px solid var(--d-gold);background:linear-gradient(145deg,#ede4d6,#c7b7a2);color:#fff;font:11px Georgia,serif;letter-spacing:.2em}.environment-grid h3{font:500 23px "Yu Mincho",serif;color:var(--d-deep)}.environment-grid li{margin:5px 0;color:#765f58}.reservation-guide{padding:60px 30px;text-align:center;background:#eee3d4}.reservation-guide>p{font:700 10px Georgia,serif;letter-spacing:.3em;color:var(--d-gold)}.reservation-guide h2{font:500 32px "Yu Mincho",serif;color:var(--d-deep)}.reservation-guide>span{font-size:13px}.reservation-guide>div{display:flex;justify-content:center;gap:10px;margin-top:24px}.reservation-guide a{min-width:210px;padding:14px;color:#fff;background:var(--d-rose)}.lux-footer{text-align:center;padding:45px 25px 110px;color:#eaddc5;background:var(--d-deep)}.lux-footer strong{display:block;font:italic 48px Georgia,serif}.lux-footer>small{letter-spacing:.22em}.lux-footer nav{margin:24px 0;display:flex;justify-content:center;flex-wrap:wrap;gap:18px;font-size:11px}.lux-footer p{font-size:10px;opacity:.6}.side-rail{position:sticky;top:110px;display:grid;gap:10px}.side-brand{padding:28px 20px;text-align:center;border:1px solid var(--d-gold);background:#fffdf8;color:var(--d-deep)}.side-brand small,.side-brand span{display:block;font-size:9px;letter-spacing:.25em;color:var(--d-gold)}.side-brand strong{display:block;font:italic 45px Georgia,serif}.side-banner{min-height:96px;padding:17px 18px;display:flex;flex-direction:column;justify-content:center;color:#fff;background:linear-gradient(135deg,#562033,#7d2c48);border:1px solid #9d6e78;box-shadow:0 6px 15px #38251d16}.side-banner small{font:8px Georgia,serif;letter-spacing:.28em;color:#dbc58f}.side-banner b{font:600 16px "Yu Mincho",serif}.side-banner span{font-size:10px;opacity:.75}.side-banner.line{background:linear-gradient(135deg,#41634c,#65826b)}.side-banner.phone{background:linear-gradient(135deg,#80653c,#b09058)}.side-banner.recruit{background:linear-gradient(135deg,#3a2930,#72515b)}.side-banner.voice{background:linear-gradient(135deg,#796659,#ac9280)}.side-mini{display:grid;background:#fff;border:1px solid var(--d-line)}.side-mini a{padding:12px 14px;border-bottom:1px solid #e7ddcf;font-size:12px}.fixed-reservation{position:fixed;z-index:70;left:50%;bottom:0;transform:translateX(-50%);width:min(1180px,100%);display:grid;grid-template-columns:repeat(4,1fr);box-shadow:0 -5px 25px #2e182032}.fixed-reservation a{padding:12px;text-align:center;color:#fff;background:#5b2337;border-right:1px solid #ffffff2b;font-weight:700}.fixed-reservation a:nth-child(2){background:#53715c}.fixed-reservation a:nth-child(3){background:#9a7840}.fixed-reservation a:nth-child(4){background:#351722}.fixed-reservation small{display:block;font:8px Georgia,serif;letter-spacing:.22em;color:#ead9b6}

/* shared lower pages */
.page-shell{max-width:920px!important;background:#fffdf9!important;border-left:1px solid #e2d5bf;border-right:1px solid #e2d5bf}.page-hero{background:linear-gradient(130deg,#351521ed,#6f2b42e8),repeating-linear-gradient(45deg,#412030 0 12px,#5a273a 13px 14px)!important;border-bottom:3px double var(--d-gold)}.page-hero .en{color:var(--d-gold-light)!important}.page-content{background:#fffdf9}.info-card,.step,.notice{background:#f9f5ed!important;border-color:var(--d-gold)!important}.price-table th{background:var(--d-rose)!important}.form button{background:var(--d-rose)!important}.backtop{color:var(--d-rose)!important}

@media(max-width:900px){.site-frame{width:100%;margin:0 0 70px;display:block}.main-column{border:0}.side-rail{display:none}.lux-header-inner{width:100%;height:62px;padding:0 15px}.lux-brand strong{font-size:33px}.lux-brand small,.lux-brand span,.lux-header-note{display:none}.brand-hero{height:580px}.hero-copy-lux{left:7%;top:auto;bottom:34px;width:86%;transform:none}.hero-copy-lux h1{font-size:62px}.hero-copy-lux>p:last-of-type{max-width:50%}.hero-photo-placeholder{right:5%;top:5%;width:58%;height:61%;opacity:.9}.luxe-section{padding:48px 28px}.fixed-reservation{grid-template-columns:repeat(4,1fr)}.fixed-reservation a{padding:9px 3px;font-size:11px}}
@media(max-width:600px){.brand-hero{height:530px;background:linear-gradient(155deg,#f9f6ef 0 44%,#ddcdbf 44%)}.hero-copy-lux{bottom:28px}.hero-copy-lux h1{font-size:52px}.hero-jp{font-size:19px}.hero-copy-lux>p:last-of-type{display:none}.hero-photo-placeholder{width:62%;height:57%;right:4%}.hero-actions a{padding:10px 18px}.luxe-section{padding:42px 15px}.ornate-title{padding:16px 8px}.ornate-title h2,.section-title-lux h2{font-size:27px}.availability-row{grid-template-columns:1fr auto;gap:4px}.availability-row .time{grid-row:2;grid-column:1}.availability-row .state{grid-row:1 / span 2;grid-column:2}.dense-cards{grid-template-columns:1fr}.dense-card{display:grid;grid-template-columns:44% 56%}.portrait-placeholder{height:100%;min-height:275px;aspect-ratio:auto}.dense-body{align-self:center}.feature-profile,.environment-grid{grid-template-columns:1fr}.feature-profile{padding:14px}.feature-profile .portrait-placeholder{min-height:390px}.recommend-grid{grid-template-columns:1fr}.recommend-grid a{min-height:105px}.news-list a{grid-template-columns:80px 1fr}.news-list b{display:none}.reservation-guide>div{display:grid}.reservation-guide a{min-width:0}.fixed-reservation small{font-size:7px}}
.luxury-site{overflow-x:hidden}.luxury-site .side-banner{color:#fff!important}.luxury-site .side-banner b,.luxury-site .side-banner span{color:#fff}.luxury-site .fixed-reservation a,.luxury-site .hero-actions a,.luxury-site .rose-button{color:#fff}.public-therapist-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.public-therapist-card{overflow:hidden;border:1px solid var(--d-gold);background:#fff;box-shadow:0 8px 20px #41211d12}.public-therapist-card>div:last-child{padding:16px}.public-therapist-card h3{margin:0;color:var(--d-deep);font:600 22px "Yu Mincho",serif}.public-therapist-card h3 small{font:400 12px sans-serif}.public-therapist-card p{margin:7px 0 0;color:var(--d-gold);font-size:11px;font-weight:800}.public-therapist-photo{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}.public-photo-placeholder{display:grid;place-content:center;text-align:center;background:linear-gradient(145deg,#eee7dc,#cdb9aa);color:#fff}.public-photo-placeholder b{font:italic 64px Georgia,serif}.public-photo-placeholder span{font-size:8px;letter-spacing:.18em}.dense-card>.public-therapist-photo{aspect-ratio:3/2;height:auto}.dense-card>img.public-therapist-photo{object-fit:cover}@media(max-width:700px){.public-therapist-grid{grid-template-columns:1fr}.dense-card>.public-therapist-photo{height:100%;aspect-ratio:auto}}
.admin-top-notice{display:inline-block;margin:16px 0 0;padding:5px 11px;border:1px solid var(--d-gold);background:#fffdf9;color:var(--d-rose);font-size:11px;font-weight:700;letter-spacing:.05em}.hero-photo-placeholder.has-hero-image{background:#e9dfd5}.hero-photo-placeholder.has-hero-image:before{z-index:1;pointer-events:none}.hero-main-image{position:relative;z-index:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center}.top-hero-preview{width:min(100%,360px);aspect-ratio:7/9;display:grid;place-items:center;overflow:hidden;border:1px solid var(--d-line);background:#f5efe6;color:var(--d-gold);margin-bottom:12px}.top-hero-preview-image{display:block;width:100%;height:100%;object-fit:cover}.top-hero-preview .media-empty{font:italic 23px Georgia,serif;letter-spacing:.12em}
.course-group-list{border:1px solid var(--d-gold)}.course-group{padding:34px 10%;color:#fff;background:linear-gradient(135deg,#32131f,#5b2337);border-bottom:2px solid var(--d-gold);text-align:center}.course-group:last-child{border-bottom:0}.course-group.course-group-pink{background:linear-gradient(135deg,#7e294d,#b84d77)}.course-group h2{margin:0;color:var(--d-gold-light)!important;font:500 26px "Yu Mincho",serif}.course-group-pink h2{color:#fff4da!important}.course-group>p{max-width:600px;margin:14px auto 26px;font-size:13px;line-height:1.8}.course-group-prices{max-width:520px;margin:auto}.course-group-prices>div{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:7px 0;text-align:left;font:400 19px "Yu Mincho",serif}.course-group-prices strong{text-align:right;font:400 19px "Yu Mincho",serif;color:var(--d-gold-light)}.course-group-pink .course-group-prices strong{color:#fff4da}@media(max-width:600px){.course-group{padding:30px 22px}.course-group h2{font-size:23px}.course-group-prices>div,.course-group-prices strong{font-size:17px}.course-group-prices>div{gap:10px}.course-group>p{font-size:12px}}

/* White marble background, rendered entirely in CSS */
body.luxury-site{background-color:#f5f6f6;background-image:linear-gradient(117deg,transparent 0 18%,rgba(153,160,164,.16) 18.25%,rgba(255,255,255,.72) 18.55%,transparent 18.9% 52%,rgba(174,179,182,.13) 52.25%,transparent 52.65%),linear-gradient(43deg,transparent 0 31%,rgba(184,188,190,.12) 31.2%,rgba(255,255,255,.76) 31.55%,transparent 31.9% 73%,rgba(150,157,161,.1) 73.2%,transparent 73.55%),radial-gradient(ellipse at 12% 18%,rgba(255,255,255,.96) 0 14%,transparent 36%),radial-gradient(ellipse at 82% 72%,rgba(214,217,218,.42) 0 3%,transparent 30%),linear-gradient(135deg,#fafafa,#eceeef 48%,#f8f8f7);background-size:760px 520px,620px 470px,900px 700px,780px 620px,100% 100%;background-attachment:fixed}

/* Rich menu destination pages */
body:not(.luxury-site){margin:0;color:#36252a;background-color:#f5f6f6;background-image:linear-gradient(117deg,transparent 0 22%,rgba(153,160,164,.12) 22.2%,rgba(255,255,255,.7) 22.5%,transparent 22.8%),linear-gradient(43deg,transparent 0 68%,rgba(184,188,190,.11) 68.2%,transparent 68.6%),linear-gradient(135deg,#fafafa,#eceeef 48%,#f8f8f7);background-size:760px 520px,620px 470px,100% 100%;background-attachment:fixed}.page-shell{width:min(1180px,100%)!important;max-width:1180px!important}.page-hero{padding:72px 7% 60px!important}.page-hero p{max-width:660px;margin:18px auto 0;font-size:15px;color:#f4e8e1}.subpage-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:26px;align-items:start;padding:42px 34px 125px;background:#fffdf9}.subpage-layout .page-content{padding:0!important;min-width:0}.subpage-rail{position:sticky;top:90px;display:grid;gap:8px}.rail-brand{padding:24px 12px;text-align:center;border:1px solid var(--d-gold);background:#fff}.rail-brand small{display:block;font-size:10px;letter-spacing:.22em;color:var(--d-gold)}.rail-brand strong{font:italic 38px Georgia,serif;color:var(--d-deep)}.subpage-rail>a{min-height:82px;padding:15px;display:flex;flex-direction:column;justify-content:center;color:#fff;background:linear-gradient(135deg,#532033,#7c2946)}.subpage-rail>a.line{background:linear-gradient(135deg,#41634c,#65826b)}.subpage-rail span{font:10px Georgia,serif;letter-spacing:.2em;color:var(--d-gold-light)}.subpage-rail b{font-size:15px}.editorial-lead{padding:46px;background:linear-gradient(135deg,#f8f4ed,#e7ddd1);border:1px solid var(--d-line)}.editorial-lead span,.price-heading span,.form-title span,.faq-category span{font:700 11px Georgia,serif;letter-spacing:.28em;color:var(--d-gold)}.editorial-lead h2{font:500 36px/1.45 "Yu Mincho",serif;color:var(--d-deep)}.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:22px}.value-grid article{padding:24px;border-top:2px solid var(--d-gold);background:#f9f6f0}.value-grid article>b{font:italic 26px Georgia,serif;color:var(--d-gold)}.value-grid h3{font:600 18px "Yu Mincho",serif;color:var(--d-deep)}.next-guide{margin-top:36px;padding:35px;text-align:center;color:#fff;background:var(--d-deep)}.next-guide p{font-size:12px;letter-spacing:.2em;color:var(--d-gold-light)}.next-guide h2{color:#fff!important}.next-guide a{display:inline-block;padding:11px 28px;border:1px solid var(--d-gold);color:var(--d-gold-light)}.flow-steps{display:grid;gap:12px}.flow-steps article{display:grid;grid-template-columns:76px 1fr;gap:20px;padding:24px;background:#faf7f1;border:1px solid var(--d-line)}.flow-steps article>b{font:italic 34px Georgia,serif;color:var(--d-gold)}.flow-steps span{font:10px Georgia,serif;letter-spacing:.18em;color:var(--d-gold)}.flow-steps h3{margin:3px 0;font:600 20px "Yu Mincho",serif;color:var(--d-deep)}.flow-steps p{margin:5px 0}.notice-list{margin-top:28px;padding:26px;border-left:4px solid var(--d-gold);background:#f4f1eb}.price-heading{text-align:center}.price-heading h2,.form-title h2,.faq-category h2{font:500 30px "Yu Mincho",serif;color:var(--d-deep)}.price-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:26px 0}.price-cards article{position:relative;padding:28px 18px;text-align:center;border:1px solid var(--d-line);background:#fff}.price-cards article.recommended{border:2px solid var(--d-gold);background:#faf7ef}.price-cards em{position:absolute;left:0;right:0;top:-13px;width:max-content;margin:auto;padding:3px 14px;color:#fff;background:var(--d-rose);font-size:10px}.price-cards span{font:10px Georgia,serif;letter-spacing:.2em;color:var(--d-gold)}.price-cards h3{font-size:25px}.price-cards strong{font:700 26px Georgia,serif;color:var(--d-rose)}.price-table.detail th{width:35%;color:var(--d-deep);background:#f1eadf!important}.contact-choice{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:28px}.contact-choice a{padding:22px;text-align:center;border:1px solid var(--d-line);background:#faf7f1}.contact-choice b{font:italic 15px Georgia,serif;color:var(--d-gold)}.contact-choice h3{font:600 18px "Yu Mincho",serif}.contact-choice p{font-size:12px}.form-panel,.review-form-section{padding:32px;border:1px solid var(--d-line);background:#faf7f1}.form-title{text-align:center;margin-bottom:25px}.form label>span{float:right;padding:1px 7px;color:#fff;background:var(--d-rose);font-size:10px}.list-summary{display:flex;align-items:baseline;gap:10px;margin-bottom:22px;padding-bottom:12px;border-bottom:1px solid var(--d-line)}.list-summary span{font:11px Georgia,serif;letter-spacing:.22em;color:var(--d-gold)}.list-summary strong{font:italic 38px Georgia,serif;color:var(--d-rose)}.cast-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.cast-detail-card{overflow:hidden;border:1px solid var(--d-line);background:#fff}.sub-portrait{min-height:310px;display:grid;place-content:center;text-align:center;background:linear-gradient(145deg,#eee7dc,#cdb9aa);color:#fff}.sub-portrait b{font:italic 76px Georgia,serif}.sub-portrait span{font-size:10px;letter-spacing:.2em}.cast-detail-body{padding:18px}.cast-name{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid #e5dac8}.cast-name h3{margin:0 0 9px;font:600 23px "Yu Mincho",serif}.cast-name h3 small,.cast-name>span{font:400 12px sans-serif;color:#8b7771}.cast-shift{display:grid;grid-template-columns:1fr auto;align-items:end}.cast-shift small{grid-column:1 / -1}.cast-shift strong{font:600 17px Georgia,serif}.sub-action{display:block;margin-top:14px;padding:10px;text-align:center;color:#fff!important;background:var(--d-rose)}.sub-action.disabled{background:#b5aeaa}.date-tabs{display:grid;grid-template-columns:repeat(4,1fr);margin-bottom:20px;border:1px solid var(--d-line)}.date-tabs span{padding:10px;text-align:center;border-right:1px solid var(--d-line);background:#fff}.date-tabs b{display:block;font-size:11px}.date-tabs .active{color:#fff;background:var(--d-rose)}.schedule-update{display:flex;align-items:center;gap:10px;margin-bottom:20px;padding:13px 16px;background:#f3eee6}.schedule-update i{width:9px;height:9px;border-radius:50%;background:#2d7955}.schedule-update time{margin-left:auto;font-size:12px}.ranking-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;align-items:end}.rank-card{position:relative;padding:12px 12px 20px;text-align:center;border:1px solid var(--d-line);background:#fff}.rank-card.first{padding-top:18px;border:2px solid var(--d-gold)}.rank-card .sub-portrait{min-height:260px}.rank-medal{position:absolute;z-index:2;left:20px;top:0;padding:8px 12px;color:#fff;background:var(--d-rose);font:italic 14px Georgia,serif}.rank-card.first .rank-medal{background:var(--d-gold)}.rank-card h3{font:600 20px "Yu Mincho",serif}.rank-card h3 small{display:block;font:400 11px sans-serif}.rank-card p{font-size:12px}.rank-card>a{display:block;padding:9px;color:#fff;background:var(--d-rose);font-size:12px}.ranking-note{text-align:center;color:#8a7872;font-size:12px}.review-summary{display:grid;grid-template-columns:180px 1fr;gap:28px;align-items:center;margin-bottom:28px;padding:28px;border:1px solid var(--d-line);background:#faf7f1}.review-summary>div{text-align:center}.review-summary strong{display:block;font:italic 42px Georgia,serif;color:var(--d-rose)}.review-summary span{display:block;color:var(--d-gold)}.review-summary small{font-size:10px}.diary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.diary-grid article{border:1px solid var(--d-line);background:#fff}.diary-grid .sub-portrait{min-height:250px}.diary-grid article>div:last-child{padding:18px}.diary-grid time{font-size:11px;color:#8a7771}.diary-grid div>span{float:right;padding:2px 8px;color:#fff;background:var(--d-rose);font-size:11px}.diary-grid h3{font:600 19px "Yu Mincho",serif}.recruit-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:24px 0}.recruit-facts article{padding:22px;border-top:3px solid var(--d-gold);background:#f8f4ed}.recruit-facts span{font:10px Georgia,serif;letter-spacing:.2em;color:var(--d-gold)}.recruit-facts strong{display:block;font:600 18px "Yu Mincho",serif}.requirements{margin:30px 0}.requirements dl{border-top:1px solid var(--d-line)}.requirements dl>div{display:grid;grid-template-columns:150px 1fr;border-bottom:1px solid var(--d-line)}.requirements dt,.requirements dd{margin:0;padding:15px}.requirements dt{font-weight:700;background:#f3eee5}.faq-category{margin:30px 0 12px}.faq-category h2{margin:4px 0}.faq-list details{border-bottom:1px solid var(--d-line);background:#fff}.faq-list summary{position:relative;padding:20px 50px 20px 52px;cursor:pointer;font-weight:700;list-style:none}.faq-list summary:before{content:"Q";position:absolute;left:18px;color:var(--d-gold);font:italic 22px Georgia,serif}.faq-list summary:after{content:"＋";position:absolute;right:18px;color:var(--d-rose)}.faq-list details[open] summary:after{content:"−"}.faq-list details p{margin:0;padding:0 24px 22px 52px;color:#68585a}
@media(max-width:900px){.subpage-layout{display:block;padding:28px 18px 110px}.subpage-rail{display:none}.value-grid,.price-cards,.ranking-grid,.recruit-facts{grid-template-columns:1fr}.cast-grid{grid-template-columns:1fr 1fr}.page-hero{padding-top:58px!important}.editorial-lead{padding:32px}}
@media(max-width:600px){.cast-grid,.contact-choice,.diary-grid{grid-template-columns:1fr}.cast-detail-card{display:grid;grid-template-columns:42% 58%}.cast-detail-card .sub-portrait{min-height:290px}.cast-detail-body{padding:13px}.ranking-grid .rank-card{display:grid;grid-template-columns:42% 58%;text-align:left}.ranking-grid .rank-card .sub-portrait{grid-row:1 / 6;min-height:260px}.ranking-grid .rank-card>*:not(.sub-portrait):not(.rank-medal){grid-column:2;margin-left:14px;margin-right:8px}.review-summary{grid-template-columns:1fr}.flow-steps article{grid-template-columns:52px 1fr;padding:18px}.requirements dl>div{grid-template-columns:100px 1fr}.date-tabs span{font-size:12px}.subpage-layout{padding-left:12px;padding-right:12px}.form-panel,.review-form-section{padding:22px 14px}}
.page-shell>.top{height:76px;background:#fffdf9;color:var(--d-deep);border-bottom:1px solid var(--d-gold)}.page-shell>.top .brand{font:italic 31px Georgia,serif;color:var(--d-deep)}.page-shell>.top .brand small{font:700 9px "Yu Gothic UI",sans-serif;letter-spacing:.18em;color:var(--d-gold)}.page-shell>.top .menu-trigger{color:var(--d-deep)!important}.page-shell>.fixed{width:min(1180px,100%);grid-template-columns:repeat(4,1fr)}.page-shell>.fixed a{background:#592137!important;color:#fff}.page-shell>.fixed a:nth-child(2){background:#52705b!important}.page-shell>.fixed a:nth-child(3){background:#9b7940!important}.page-shell>.fixed a:nth-child(4){background:#361722!important}
.sub-portrait.public-therapist-photo{width:100%;height:310px;min-height:310px;object-fit:cover;object-position:top}.date-tabs{grid-template-columns:repeat(auto-fit,minmax(80px,1fr))}
.inquiry-complete{max-width:680px;margin:0 auto;padding:clamp(32px,7vw,72px) 24px;text-align:center;background:linear-gradient(145deg,#fffdf9,#f8f1e7);border:1px solid var(--d-line);box-shadow:0 18px 44px #38192212}.inquiry-complete-mark{display:grid;place-items:center;width:66px;height:66px;margin:0 auto 20px;border-radius:50%;color:#fff;background:var(--d-rose);font-size:30px}.inquiry-complete-label{margin:0;color:var(--d-gold);font:700 11px Georgia,serif;letter-spacing:.25em}.inquiry-complete h2{margin:12px 0;color:var(--d-deep);font:600 clamp(24px,4vw,34px)/1.5 "Yu Mincho",serif}.inquiry-complete>p:not(.inquiry-complete-label){margin:0;color:#68585a;line-height:1.9}.inquiry-complete-link{display:inline-block;margin-top:28px;padding:13px 30px;color:#fff!important;background:var(--d-rose);font-weight:700;text-decoration:none}.inquiry-complete-link:hover,.inquiry-complete-link:focus-visible{background:var(--d-deep);outline:2px solid var(--d-gold);outline-offset:3px}
.menu-overlay{background:linear-gradient(135deg,#2b111beF 0%,#4c1b2def 48%,#6d2d43ef 100%),radial-gradient(circle at 20% 10%,#b6945535,transparent 38%)!important;color:#fff!important}.menu-overlay:before{background-image:linear-gradient(120deg,transparent 0 46%,#d9bc7d18 46.2%,transparent 46.7%),linear-gradient(35deg,transparent 0 62%,#fff10 62.2%,transparent 62.8%);background-size:780px 520px,620px 430px;opacity:.45}.menu-inner{padding:25px 0 90px}.menu-brand{padding:18px 10px 23px;margin:0 50px 18px;border-bottom:1px solid #d9bc7d88}.menu-brand small{color:#e4cf9f!important;letter-spacing:.28em}.menu-brand strong{color:#fff!important;text-shadow:0 2px 18px #16070c}.menu-brand em{color:#d9bc7d!important}.menu-brand p{color:#f8ede2!important}.menu-close{color:#f7e8c7!important}.menu-list{border-top:1px solid #d9bc7d80}.menu-list a{min-height:70px;border-bottom:1px solid #d9bc7d68;color:#fff!important;letter-spacing:.04em;transition:background .2s ease,padding .2s ease}.menu-list a span{color:#e2c888!important;font-size:34px;line-height:1}.menu-list a:hover,.menu-list a:focus-visible{background:linear-gradient(90deg,#b6945545,#fff10);padding-left:42px;outline:2px solid #e2c888;outline-offset:-2px}.menu-list a:focus-visible{box-shadow:0 0 0 3px #2b111b,0 0 0 5px #e2c888}.menu-list a:active{background:#d9bc7d55}
.diary-grid{display:grid;gap:16px}.diary-card{padding:22px;border:1px solid var(--d-gold);background:#fff;box-shadow:0 8px 20px #41211d12}.diary-meta{display:flex;justify-content:space-between;gap:16px;color:var(--d-gold);font-size:12px}.diary-meta strong{font:600 16px "Yu Mincho",serif;color:var(--d-deep)}.diary-card h3{margin:10px 0 6px;color:var(--d-deep);font:600 23px "Yu Mincho",serif}.diary-card p{margin:0;color:#756467;white-space:normal}
.ranking-grid{display:grid;gap:18px}.ranking-card{display:grid;grid-template-columns:76px minmax(180px,280px) 1fr;align-items:center;overflow:hidden;border:1px solid var(--d-gold);background:#fff;box-shadow:0 8px 20px #41211d12}.ranking-card .public-therapist-photo{height:100%;min-height:180px;aspect-ratio:3/2}.ranking-number{text-align:center;color:var(--d-gold);font:italic 36px Georgia,serif}.ranking-number small{display:block;font:8px sans-serif;letter-spacing:.15em}.ranking-body{padding:20px}.ranking-body h3{margin:0;color:var(--d-deep);font:600 26px "Yu Mincho",serif}.ranking-body h3 small{font:400 12px sans-serif}.ranking-body p{color:#756467}@media(max-width:600px){.ranking-card{grid-template-columns:55px 38% 1fr}.ranking-card .public-therapist-photo{min-height:160px}.ranking-body{padding:12px}.ranking-body h3{font-size:20px}}
/* Therapist listing: generous portrait cards that preserve the uploaded image. */
body[data-page="therapists"] .page-shell{max-width:1180px!important}
body[data-page="therapists"] .public-therapist-photo{aspect-ratio:2/3;object-fit:cover;background:#f3eee7}
/* Reviews */
.public-review-list{display:grid;gap:14px;margin-bottom:38px}.public-review{padding:22px;border:1px solid var(--d-gold);background:#fff}.public-review>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.public-review strong{font:600 20px "Yu Mincho",serif;color:var(--d-deep)}.public-review small,.public-review time{display:block;margin-top:5px;color:#8b7773;font-size:11px}.public-review p{margin:12px 0 0;line-height:1.8}.review-stars{color:#cf9d37;letter-spacing:.1em;font-size:14px;white-space:nowrap}.review-form-section{padding-top:28px;border-top:1px solid var(--d-line)}.review-form-section h2{margin:0;color:var(--d-deep);font:600 26px "Yu Mincho",serif}.review-form-section>p{color:#79666a;font-size:13px}.review-form-section .form{max-width:none;margin:18px 0 0}.review-form-section .form button{background:var(--d-rose)}
.newcomer-section .newcomer-photo{width:100%;height:100%;aspect-ratio:.8;object-fit:cover;background:#eee7dc}
.recruit-complete{margin-top:12px;padding:50px 28px;text-align:center;border:1px solid var(--d-gold);background:linear-gradient(145deg,#fffdf8,#f2eadb)}.recruit-complete>span{display:grid;place-items:center;width:54px;height:54px;margin:0 auto 16px;border-radius:50%;background:#2d7955;color:#fff;font-size:29px;font-weight:800}.recruit-complete h2{margin:8px 0;color:var(--d-deep);font:600 30px "Yu Mincho",serif}.recruit-complete p:last-of-type{max-width:480px;margin:0 auto;color:#685b5d}.recruit-complete .rose-button{margin-top:22px}
/* Recruitment landing page */
.recruit-hero-card{padding:52px 42px;text-align:center;color:#fff;background:linear-gradient(135deg,#34131f,#6f253d 58%,#aa6c7e);box-shadow:inset 0 0 0 1px #d9c9ad}.recruit-hero-card>p{margin:0;font:700 10px Georgia,serif;letter-spacing:.3em;color:#dbc58f}.recruit-hero-card h2{margin:15px 0;font:500 clamp(31px,5vw,48px)/1.35 "Yu Mincho",serif}.recruit-hero-card>span{display:block;font-size:13px;color:#f5e9dc}.recruit-hero-card .rose-button{margin-top:24px;border:1px solid #dbc58f;background:#fff;color:var(--d-rose)!important}.recruit-income{margin:26px 0;padding:30px;text-align:center;border:1px solid var(--d-gold);background:#fff}.recruit-income p{margin:0;font-size:12px;letter-spacing:.16em;color:#8c7773}.recruit-income strong{display:block;margin:6px 0;color:var(--d-rose);font:500 24px "Yu Mincho",serif}.recruit-income strong b{font:700 45px Georgia,serif}.recruit-income small{color:#79666a}.recruit-benefits{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:30px 0}.recruit-benefits article{padding:22px;border:1px solid var(--d-line);background:#fff}.recruit-benefits b{color:var(--d-gold);font:italic 24px Georgia,serif}.recruit-benefits h3{margin:4px 0;color:var(--d-deep);font:600 20px "Yu Mincho",serif}.recruit-benefits p{margin:0;color:#67595a;font-size:13px}.recruit-message{margin:34px 0;padding:38px 30px;text-align:center;background:#f1e6d8}.recruit-message>span{font:700 10px Georgia,serif;letter-spacing:.25em;color:var(--d-gold)}.recruit-message h2{margin:10px 0;color:var(--d-deep);font:500 28px/1.5 "Yu Mincho",serif}.recruit-message p{max-width:620px;margin:auto;color:#695b5c;font-size:13px}.recruit-form-section{scroll-margin-top:90px}@media(max-width:600px){.recruit-hero-card{padding:42px 20px}.recruit-income{padding:25px 12px}.recruit-income strong{font-size:18px}.recruit-income strong b{font-size:35px}.recruit-benefits{grid-template-columns:1fr}.recruit-message{padding:30px 18px}.recruit-message h2{font-size:23px}}
.diary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.diary-card{padding:0;overflow:hidden}.diary-main-photo{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;background:#eee7dc}.diary-card-body{padding:18px 19px 21px}.diary-card .diary-meta{align-items:center}.diary-card h3{font-size:25px}.diary-card p{line-height:1.75}.diary-card:hover{transform:translateY(-3px);box-shadow:0 14px 28px #41211d1c}@media(max-width:650px){.diary-grid{grid-template-columns:1fr}.diary-main-photo{aspect-ratio:3/4}}
/* Layout safeguards for uploaded content on every public page. */
img{max-width:100%}.public-therapist-card h3,.diary-card h3,.public-review p,.recruit-benefits p,.recruit-message p{overflow-wrap:anywhere}.public-therapist-card,.diary-card,.public-review,.recruit-benefits article{min-width:0}.public-therapist-photo,.diary-main-photo,.newcomer-photo{object-position:center top}
.menu-overlay{background:linear-gradient(135deg,#2b111bfa 0%,#4c1b2dfa 48%,#6d2d43fa 100%),radial-gradient(circle at 20% 10%,#b6945535,transparent 38%)!important}
.side-rail{position:static!important;top:auto!important;gap:7px!important}.side-brand{padding:20px 14px!important}.side-brand strong{font-size:36px!important}.side-banner{min-height:74px!important;padding:11px 14px!important}.side-banner b{font-size:14px!important}.side-banner small{font-size:7px!important}.side-banner span{font-size:9px!important}.side-mini a{padding:9px 11px!important;font-size:11px!important}
@media(max-width:900px){.side-rail{display:none!important}}

/* Top-page navigation: Dahlia original layout */
.hours-band{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:18px 20px 17px;background:#fffdf9;border-top:1px solid rgba(143,105,69,.35);border-bottom:1px solid rgba(143,105,69,.35);text-align:center}
.hours-band span{color:#a27b54;font-size:10px;letter-spacing:.22em;font-weight:700}
.hours-band strong{color:#3b2525;font-size:18px;letter-spacing:.05em;font-weight:700}
.top-page-nav{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));max-width:100%;background:#fffdf9;border-bottom:1px solid rgba(143,105,69,.4);box-shadow:0 8px 22px rgba(61,32,28,.06)}
.top-page-nav a{display:flex;align-items:center;justify-content:center;min-height:70px;padding:14px 9px;color:#4a2b2a;border-right:1px solid rgba(143,105,69,.25);font-size:14px;font-weight:700;letter-spacing:.04em;text-align:center;line-height:1.4;transition:background .2s ease,color .2s ease,box-shadow .2s ease}
.top-page-nav a:last-child{border-right:0;background:#7b3b46;color:#fff}
.top-page-nav a:hover,.top-page-nav a:focus-visible{background:#7b3b46;color:#fff;box-shadow:inset 0 -3px 0 #d6ad73;outline:0}
@media(max-width:900px){.hours-band{padding:15px 14px}.hours-band strong{font-size:16px}.top-page-nav{grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.top-page-nav a{min-height:58px;padding:12px 7px;font-size:13px}.top-page-nav a:nth-child(2n){border-right:0}.top-page-nav a:nth-child(-n+6){border-bottom:1px solid rgba(143,105,69,.25)}}
@media(max-width:450px){.hours-band strong{font-size:14px;letter-spacing:0}.top-page-nav a{font-size:12px;min-height:54px}}
.top-contact-banners{margin:0 0 26px;padding:18px;background:linear-gradient(140deg,#fffdf9,#f4eadf);border-bottom:1px solid rgba(143,105,69,.35)}
.top-contact-banners .side-brand{display:flex;align-items:baseline;gap:10px;padding:0 4px 14px;background:transparent;color:#4a2b2a}.top-contact-banners .side-brand small{font-size:10px;letter-spacing:.18em;color:#a27b54}.top-contact-banners .side-brand strong{font:500 28px Georgia,serif;letter-spacing:.06em}.top-contact-banners .side-brand span{font-size:11px;letter-spacing:.12em;color:#8b7066}
.top-contact-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.top-contact-grid .side-banner{min-height:90px;padding:14px 12px;border:1px solid rgba(143,105,69,.28);box-shadow:0 5px 14px rgba(61,32,28,.08)}.top-contact-grid .side-banner b{font-size:14px}.top-contact-grid .side-banner small{font-size:8px}.top-contact-grid .side-banner span{font-size:10px}
@media(max-width:900px){.top-contact-banners{margin-bottom:20px;padding:14px 12px}.top-contact-grid{grid-template-columns:1fr;gap:8px}.top-contact-grid .side-banner{min-height:76px;padding:12px 14px}.top-contact-banners .side-brand{padding-bottom:11px}}
@media(min-width:901px){.site-frame{width:min(1440px,calc(100% - 40px));display:block}.main-column{width:100%}}
.top-contact-banners{display:grid;grid-template-columns:minmax(0,4fr) minmax(200px,1fr);gap:20px;align-items:stretch}.top-promo-slider{position:relative;min-height:360px;display:flex;flex-direction:column;justify-content:center;align-items:center;overflow:hidden;border:1px solid #d9c9ad;background:linear-gradient(125deg,#3a1828,#7d4350 55%,#c09b7d);color:#fff;text-align:center;box-shadow:inset 0 0 0 10px #ffffff12}.top-promo-slider:before{content:"";position:absolute;inset:20px;border:1px solid #dbc58f55;pointer-events:none}.top-promo-slide{position:relative;z-index:1;padding:30px}.top-promo-slide span{display:block;color:#dbc58f;font:700 11px Georgia,serif;letter-spacing:.28em}.top-promo-slide strong{display:block;margin:18px 0 10px;font:500 clamp(28px,4vw,50px)/1.35 "Yu Mincho",serif;letter-spacing:.08em}.top-promo-slide small{display:block;color:#f5e9dc;font-size:11px;letter-spacing:.08em}.promo-dot{position:relative;z-index:2;width:8px;height:8px;margin:0 4px 18px;padding:0;border:1px solid #f7ead8;border-radius:50%;background:transparent}.promo-dot.is-active{background:#dbc58f}.top-contact-aside{display:flex;flex-direction:column;min-width:0}.top-contact-aside .side-brand{flex:0 0 auto;white-space:nowrap}.top-contact-aside .side-brand strong{font-size:30px}.top-contact-aside .top-contact-grid{grid-template-columns:1fr;gap:7px}.top-contact-aside .side-banner{min-height:55px;padding:9px 10px;line-height:1.35;white-space:nowrap}.top-contact-aside .side-banner b{font-size:12px}.top-contact-aside .side-banner small{font-size:7px}.top-contact-aside .side-banner span{font-size:8px}
.top-contact-aside:before{content:none;display:block;margin:0 0 9px;padding-bottom:7px;border-bottom:1px solid rgba(143,105,69,.45);color:#4a2b2a;font:700 15px/1.3 "Yu Gothic UI",Meiryo,sans-serif;letter-spacing:.12em}.top-contact-aside .side-brand{display:flex;flex-direction:column;align-items:flex-start;gap:1px;white-space:normal;overflow:hidden;padding:10px 8px 11px!important}.top-contact-aside .side-brand small{font-size:8px;line-height:1.25;letter-spacing:.14em}.top-contact-aside .side-brand strong{font-size:29px;line-height:1.05;white-space:nowrap}.top-contact-aside .side-brand span{font-size:9px;line-height:1.3;white-space:nowrap}.top-contact-aside .side-banner b,.top-contact-aside .side-banner span,.top-contact-aside .side-banner small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:900px){.top-contact-banners{display:flex;flex-direction:column;gap:14px}.top-promo-slider{min-height:250px}.top-contact-aside{display:flex}.top-contact-aside .top-contact-grid{grid-template-columns:1fr;gap:8px}.top-contact-aside .side-banner{min-height:76px;padding:12px 14px}}
.sub-portrait.public-therapist-photo,.cast-detail-card .sub-portrait.public-therapist-photo,.rank-card .sub-portrait.public-therapist-photo{display:block;width:100%;height:auto;min-height:360px;aspect-ratio:4/5;object-fit:cover;object-position:center center;background:#eee8df;overflow:hidden}.dense-card>img.public-therapist-photo{display:block;width:100%;height:auto;min-height:390px;aspect-ratio:4/5;object-fit:cover;object-position:center center;background:#eee8df;overflow:hidden}.therapist-card>img.public-therapist-photo{display:block;width:100%;height:100%;min-height:320px;aspect-ratio:4/5;object-fit:cover;object-position:center center;background:#eee8df}.public-therapist-card>img.public-therapist-photo{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center center;background:#eee8df}.diary-grid .sub-portrait.public-therapist-photo{min-height:300px;aspect-ratio:4/5;object-fit:cover}
@media(max-width:600px){.dense-card>img.public-therapist-photo{height:100%;min-height:300px;aspect-ratio:auto;object-fit:cover}.therapist-card>img.public-therapist-photo{min-height:290px;height:100%;object-fit:cover}.cast-detail-card .sub-portrait.public-therapist-photo{min-height:290px;aspect-ratio:auto;object-fit:cover}.public-therapist-card>img.public-therapist-photo{min-height:290px;aspect-ratio:4/5;object-fit:cover}}
.luxury-site .hero-actions a+ a{background:#7b3b46!important;color:#fff!important;border-color:#dbc58f!important;text-shadow:0 1px 2px #32131f}
.therapist-profile-comment{margin:14px 0;padding:12px 14px;border-left:3px solid var(--d-gold);background:#faf6ee;color:#5f5052;font-size:14px;line-height:1.8}

/* Feature tags published from the management page */
.cast-detail-body .feature-tags,.dense-body .tags,.feature-profile .tags{display:flex;flex-wrap:wrap;gap:5px;margin:11px 0 14px}.cast-detail-body .feature-tags span,.dense-body .tags span,.feature-profile .tags span{padding:3px 7px;border:1px solid var(--d-rose);border-radius:2px;background:#fff8fb;color:var(--d-rose);font-size:11px;font-weight:800;line-height:1.35}

/* Public v2: ordered profiles, multi-photo galleries and date-based schedules */
.public-v2-cast-grid{align-items:start}.cast-detail-card.has-gallery{display:block;min-width:0;box-shadow:0 10px 26px rgba(65,33,29,.08)}
.cast-detail-card.has-ranking{position:relative}
.ranking-position{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;min-height:88px;box-sizing:border-box;padding:12px 16px;border-top:4px solid #815260;border-bottom:1px solid var(--d-line);background:#f6edf0;color:#61263d}
.ranking-position.is-first{border-top-color:#d6b35f;background:linear-gradient(120deg,#431a2c,#702f46);color:#ffe3a0}
.ranking-position.is-second{border-top-color:#9ca8b7;background:linear-gradient(120deg,#e7ebf0,#fafbfc);color:#465365}
.ranking-position.is-third{border-top-color:#b47a50;background:linear-gradient(120deg,#f0dfd1,#fcf5ec);color:#84532f}
.ranking-crown{flex:0 0 34px;width:34px;height:34px}
.ranking-place{display:inline-flex;align-items:baseline;gap:5px;white-space:nowrap;font:700 19px/1.1 "Yu Mincho",serif}
.ranking-place strong{font:700 38px/1 Georgia,serif}
.ranking-position.is-first .ranking-place strong{font-size:46px}
.ranking-position.is-first .ranking-crown{width:40px;height:40px;flex-basis:40px}
.ranking-caption{font:700 9px/1.4 Georgia,serif;letter-spacing:.16em}
@media(max-width:400px){.ranking-position{gap:8px;padding:12px}.ranking-caption{font-size:8px}}

.diary-details{margin-top:12px;border-top:1px solid var(--d-line)}
.diary-details summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 0 4px;cursor:pointer;list-style:none;color:var(--d-deep)}
.diary-details summary::-webkit-details-marker{display:none}
.diary-details summary:focus-visible{outline:2px solid var(--d-gold);outline-offset:5px}
.diary-title{font:600 23px/1.45 "Yu Mincho",serif;overflow-wrap:anywhere}
.diary-read-more{flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;color:var(--d-rose);font:700 11px "Yu Gothic",sans-serif;letter-spacing:.08em}
.diary-read-more i{display:grid;place-items:center;width:25px;height:25px;border:1px solid currentColor;border-radius:50%;font:400 18px/1 sans-serif;transition:transform .22s ease}
.diary-close-label{display:none}
.diary-details[open] .diary-read-label{display:none}
.diary-details[open] .diary-close-label{display:inline}
.diary-details[open] .diary-read-more i{transform:rotate(45deg)}
.diary-body{padding:14px 0 2px;border-top:1px solid #eee3dc}
.diary-body p{margin:0;line-height:1.9;white-space:normal}
@media(max-width:650px){.diary-details summary{align-items:flex-start}.diary-title{font-size:20px}.diary-read-more{margin-top:4px}.diary-card-body{padding:16px}}

/* Diary: soft, friendly treatment */
body[data-page="diary"] .diary-grid{gap:26px;align-items:start}
body[data-page="diary"] .diary-card{position:relative;border:1px solid #efd4de;border-radius:18px;overflow:hidden;background:linear-gradient(160deg,#fff 0%,#fff8fb 100%);box-shadow:0 11px 26px rgba(105,38,62,.12);transition:transform .22s ease,box-shadow .22s ease}
body[data-page="diary"] .diary-card:hover{transform:translateY(-5px);box-shadow:0 17px 34px rgba(105,38,62,.18)}
body[data-page="diary"] .diary-card:before{content:"♡ DIARY ♡";position:absolute;z-index:1;top:14px;left:14px;padding:5px 10px;border-radius:999px;color:#8d3155;background:rgba(255,247,250,.94);box-shadow:0 3px 10px rgba(80,23,43,.16);font:700 10px/1 "Yu Gothic",sans-serif;letter-spacing:.12em}
body[data-page="diary"] .diary-main-photo{aspect-ratio:1/1;filter:saturate(1.04) brightness(1.025);transition:transform .45s ease}
body[data-page="diary"] .diary-card:hover .diary-main-photo{transform:scale(1.025)}
body[data-page="diary"] .diary-card-body{padding:19px 21px 22px}
body[data-page="diary"] .diary-meta{position:relative;align-items:center;padding-bottom:11px;border-bottom:1px dashed #e7becd}
body[data-page="diary"] .diary-meta strong{padding:4px 10px;border-radius:999px;color:#8d3155;background:#fdebf2;font-size:14px}
body[data-page="diary"] .diary-meta time{color:#a1858e;font-size:11px}
body[data-page="diary"] .diary-details{margin-top:6px;border-top:0}
body[data-page="diary"] .diary-details summary{padding:13px 0 6px}
body[data-page="diary"] .diary-title{color:#64243e;font-size:24px}
body[data-page="diary"] .diary-read-more{padding:6px 9px;border-radius:999px;color:#a13d64;background:#fff0f5}
body[data-page="diary"] .diary-read-more i{width:23px;height:23px;border-color:#d47796;background:#fff;font-size:16px}
body[data-page="diary"] .diary-body{margin-top:6px;padding:15px 14px;border-top:0;border-radius:12px;color:#604d55;background:#fff5f8}
@media(max-width:650px){body[data-page="diary"] .diary-card{border-radius:14px}body[data-page="diary"] .diary-main-photo{aspect-ratio:4/5}body[data-page="diary"] .diary-card-body{padding:17px}body[data-page="diary"] .diary-title{font-size:21px}}

/* Image-only hero is enabled only after the separately managed image loads. */
.brand-hero.has-wide-hero{display:block!important;position:relative;min-height:0!important;height:auto!important;padding:0!important;background:none!important;overflow:hidden}
.brand-hero.has-wide-hero:before,.brand-hero.has-wide-hero:after{display:none!important}
.brand-hero.has-wide-hero>:not(.wide-hero-visual){display:none!important}
.wide-hero-visual{position:relative;width:100%;aspect-ratio:350 / 133;line-height:0}
.wide-hero-picture{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;opacity:1;transition:opacity 3s ease-in-out}
.wide-hero-visual.is-fade-pending .wide-hero-picture{opacity:0}
.wide-hero-visual.is-offscreen .wide-hero-picture{opacity:0;transition:none!important}
@media(prefers-reduced-motion:reduce){.wide-hero-visual.is-fade-pending .wide-hero-picture{opacity:1;transition:none}}
.wide-hero-logo{position:absolute;top:5%;left:50%;transform:translateX(-50%);width:clamp(80px,22%,340px);max-width:40%;max-height:30%;height:auto;object-fit:contain}
/* Keep the top-page copy clear of the hero image. */
.hero-overlay-logo{position:absolute;display:block;line-height:0}.hero-overlay-image{display:block;width:100%;height:auto}.hero-overlay-logo.is-legacy{top:5%;left:50%;transform:translateX(-50%);width:clamp(80px,22%,340px);max-width:40%;height:30%}.hero-overlay-logo.is-legacy .hero-overlay-image{height:100%;object-fit:contain;object-position:top center}.hero-overlay-logo[href]:focus-visible{outline:3px solid #dbc58f;outline-offset:3px}
@media(min-width:901px){.hero-copy-lux{width:min(42%,360px)}.hero-copy-lux .hero-jp,.hero-copy-lux>p:last-of-type{overflow-wrap:anywhere}}
.ranking-card-comment{margin:12px 0;color:var(--d-rose);font-size:13px;line-height:1.7}
.public-v2-ranking-grid>.notice{grid-column:1/-1}
.therapist-gallery{min-width:0;padding:12px 12px 0;background:linear-gradient(145deg,#f8f2f5,#fff)}
.therapist-gallery-stage{position:relative;overflow:hidden;width:100%;aspect-ratio:2/3;border:1px solid var(--d-line);border-radius:3px;background:#f3edf1}
.therapist-gallery-slide{display:none;width:100%;height:100%;object-fit:contain;object-position:center;background:#f3edf1}.therapist-gallery-slide.is-active{display:block}
.therapist-gallery-empty{display:grid;width:100%;aspect-ratio:2/3;place-content:center;text-align:center;background:linear-gradient(145deg,#eee7dc,#cdb9aa);color:#fff}.therapist-gallery-empty b{font:italic 70px Georgia,serif}.therapist-gallery-empty span{font-size:9px;letter-spacing:.18em}
.therapist-gallery-count{position:absolute;right:9px;bottom:9px;padding:4px 8px;border-radius:99px;background:rgba(48,23,32,.76);color:#fff;font:700 10px/1.2 Georgia,serif;letter-spacing:.08em}
.therapist-gallery-thumbs{display:flex;gap:7px;overflow-x:auto;padding:9px 1px 11px;scrollbar-width:thin;scrollbar-color:var(--d-gold) #f1e9e4}
.therapist-gallery-socials{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;min-height:44px;padding:6px 1px 2px}
.therapist-card-visual{min-width:0;align-self:start;overflow:hidden}
.therapist-card-visual>.therapist-gallery-socials{padding:8px 12px;background:#faf6f8}
.therapist-social-link:hover,.therapist-social-link:focus-visible{outline:2px solid var(--d-rose);outline-offset:2px;filter:brightness(1.08)}
.therapist-social-link{display:grid;place-items:center;width:32px;height:32px;flex:0 0 32px;border:1px solid #ffffff70;border-radius:50%;color:#fff;box-shadow:0 2px 6px #32131f22;outline-offset:3px}
.therapist-social-link svg{display:block;width:17px;height:17px;fill:currentColor}
.therapist-social-link.instagram{background:linear-gradient(145deg,#833ab4,#e1306c 58%,#f77737)}
.therapist-social-link.x,.therapist-social-link.tiktok{background:#151515}
.therapist-social-link.line{background:#06c755}
.therapist-social-link.zero2{background:#24a7bc;color:#fff}
.therapist-social-link.zero2 svg{width:26px;height:26px}
.therapist-social-link.other{background:#78535f}
.therapist-gallery-thumb{flex:0 0 58px;height:76px;padding:2px;border:1px solid #d9c9cf;border-radius:3px;background:#fff;cursor:pointer;opacity:.7;transition:border-color .18s,opacity .18s,transform .18s}.therapist-gallery-thumb:hover,.therapist-gallery-thumb:focus-visible,.therapist-gallery-thumb.is-active{border-color:var(--d-rose);box-shadow:0 0 0 1px var(--d-rose);opacity:1;outline:0}.therapist-gallery-thumb:active{transform:scale(.97)}
.therapist-gallery-thumb-image{display:block;width:100%;height:100%;object-fit:contain;object-position:center;background:#f3edf1}
.therapist-catch,.dense-catch,.newcomer-catch{margin:0 0 9px;color:var(--d-rose);font:700 14px/1.45 "Yu Mincho",serif;letter-spacing:.04em}.dense-catch{margin-bottom:5px;font-size:12px}.newcomer-catch{margin:5px 0 2px;font-size:16px}
.cast-no-shift{display:grid;gap:4px;margin-top:13px;padding:12px 13px;border-left:3px solid var(--d-gold);background:#f8f4ed}.cast-no-shift small{color:#8b7771;font-size:10px}.cast-no-shift strong{color:#67565a;font-size:13px}
.public-date-tabs{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));overflow:hidden}.public-date-tabs .schedule-date-tab{appearance:none;min-width:0;padding:10px 4px;border:0;border-right:1px solid var(--d-line);background:#fff;color:#4b3438;font:inherit;cursor:pointer;transition:background .18s,color .18s}.public-date-tabs .schedule-date-tab:last-child{border-right:0}.public-date-tabs .schedule-date-tab b,.public-date-tabs .schedule-date-tab span{display:block}.public-date-tabs .schedule-date-tab b{font-size:11px}.public-date-tabs .schedule-date-tab span{margin-top:2px;font:12px Georgia,serif}.public-date-tabs .schedule-date-tab:hover,.public-date-tabs .schedule-date-tab:focus-visible{background:#f8edf2;outline:2px solid var(--d-gold);outline-offset:-2px}.public-date-tabs .schedule-date-tab.is-active{background:var(--d-rose);color:#fff}.public-v2-schedule-grid{align-items:start}.public-v2-schedule-grid .schedule-empty{grid-column:1/-1}.public-v2-schedule-grid .cast-detail-card{height:100%}
.availability-scroll>.notice,.dense-cards>.notice{width:100%;box-sizing:border-box}.dense-body .disabled-action{display:block;margin-top:13px;padding:9px;text-align:center;color:#fff;background:#b8afac;font-size:11px}
@media(max-width:700px){.public-date-tabs{display:flex;overflow-x:auto;scroll-snap-type:x proximity}.public-date-tabs .schedule-date-tab{flex:0 0 82px;scroll-snap-align:start}.therapist-gallery{padding:9px 9px 0}.therapist-gallery-thumb{flex-basis:54px;height:70px}}
@media(max-width:600px){.public-v2-cast-grid{grid-template-columns:1fr}.cast-detail-card.has-gallery{display:block}.cast-detail-card.has-gallery .cast-detail-body{padding:16px}.therapist-gallery-stage{max-height:none;aspect-ratio:2/3}.public-v2-schedule-grid .cast-detail-card{grid-template-columns:42% 58%}}

/* Keep the therapist photo frame fixed and zoom only the active image on hover-capable desktops. */
@media (hover:hover) and (pointer:fine){
  .public-v2-cast-grid .therapist-gallery-stage .therapist-gallery-slide.is-active{transform:scale(1);transform-origin:center;transition:transform .42s cubic-bezier(.2,.65,.3,1)}
  .public-v2-cast-grid .therapist-gallery-stage:hover .therapist-gallery-slide.is-active{transform:scale(1.08)}
}
@media (prefers-reduced-motion:reduce){
  .public-v2-cast-grid .therapist-gallery-stage .therapist-gallery-slide.is-active{transform:none!important;transition:none!important}
}
.public-date-tabs .schedule-date-tab span{margin-top:2px;padding:0;border:0;background:transparent;color:inherit;text-align:center}
.date-tabs .active span{padding:0;border:0;background:transparent;color:inherit}
.payment-methods{margin:32px 0;padding:26px;border:1px solid var(--d-line);background:#f7f3ec}
.payment-methods>h2{margin:0 0 18px;color:var(--d-deep);font:500 25px "Yu Mincho",serif}
.payment-method-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.payment-method-card{display:grid;grid-template-columns:54px minmax(0,1fr);gap:14px;align-items:center;padding:16px;border:1px solid #e3d8c5;background:#fff}
.payment-method-icon{display:grid;place-items:center;width:50px;height:50px;border-radius:50%;color:var(--d-rose);background:#f5ecdd}
.payment-method-icon svg{width:27px;height:27px;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.payment-method-card h3{margin:0 0 3px;color:var(--d-deep);font-size:16px}
.payment-method-card p{margin:0;color:#6c5e5b;font-size:12px;line-height:1.7}
@media(max-width:600px){.payment-methods{padding:20px 14px}.payment-method-grid{grid-template-columns:1fr}.payment-method-card{grid-template-columns:48px minmax(0,1fr);gap:11px;padding:13px}.payment-method-icon{width:44px;height:44px}}

/* The homepage promo area now shows admin-managed image banners without cropping. */
.top-promo-slider{min-height:0;aspect-ratio:auto;align-self:start;display:grid;grid-template-rows:auto auto;align-items:start;justify-items:stretch;padding:10px;gap:8px;background:#fffdf9;color:var(--d-deep);box-shadow:0 8px 24px #38251d12}
.top-promo-slider:before{content:none}
.top-promo-slider{min-width:0;width:100%;box-sizing:border-box}
.top-promo-slides{position:relative;display:grid;min-width:0;min-height:0;width:100%;height:auto;overflow:hidden;border:1px solid #d9c9ad;background:#fff}
.top-promo-slide{grid-area:1/1;display:flex;width:100%;height:auto;padding:0;align-items:center;justify-content:center;background:#fff;visibility:hidden;pointer-events:none;transform:translateX(0);transition:transform 600ms cubic-bezier(.4,0,.2,1);will-change:transform}
.top-promo-slide.is-active,.top-promo-slide.is-entering{visibility:visible}.top-promo-slide.is-active{pointer-events:auto}.top-promo-slider.is-direction-next .top-promo-slide.is-entering{transform:translateX(100%)}.top-promo-slider.is-direction-prev .top-promo-slide.is-entering{transform:translateX(-100%)}.top-promo-slider.is-animating .top-promo-slide.is-entering{transform:translateX(0)}.top-promo-slider.is-animating.is-direction-next .top-promo-slide.is-leaving{transform:translateX(-100%)}.top-promo-slider.is-animating.is-direction-prev .top-promo-slide.is-leaving{transform:translateX(100%)}
.top-promo-slider.is-preparing .top-promo-slide{transition:none}
@media(prefers-reduced-motion:reduce){.top-promo-slide{transition:none}}
.top-promo-image{display:block;width:100%;height:auto;object-fit:contain;object-position:center}
.top-promo-arrow{position:absolute;z-index:4;top:50%;display:grid;place-items:center;width:44px;height:56px;padding:0;border:1px solid rgba(255,255,255,.72);border-radius:8px;background:rgba(50,19,31,.68);color:#fff;font:400 38px/1 Arial,sans-serif;transform:translateY(-50%);cursor:pointer;box-shadow:0 4px 14px rgba(50,19,31,.22)}
.top-promo-arrow.is-prev{left:12px}.top-promo-arrow.is-next{right:12px}.top-promo-arrow:hover{background:rgba(50,19,31,.86)}.top-promo-arrow:focus-visible{outline:3px solid #fff;outline-offset:2px}
.top-promo-controls{display:flex;justify-content:center;align-items:center;gap:6px;min-height:18px}
.top-promo-controls .promo-dot{width:10px;height:10px;margin:0;border-color:#9b7846;background:#fff}
.top-promo-controls .promo-dot.is-active{background:#9b7846}
.top-promo-empty{align-self:center;justify-self:center;margin:0;padding:18px;color:#8b7771;font-size:13px;text-align:center}
@media(max-width:900px){.top-promo-slider{width:100%;box-sizing:border-box;aspect-ratio:auto;min-height:0;padding:8px}.top-promo-empty{font-size:12px}}
@media(max-width:700px){.top-promo-arrow{width:40px;height:48px;font-size:32px}.top-promo-arrow.is-prev{left:8px}.top-promo-arrow.is-next{right:8px}}
.top-contact-aside .top-contact-grid .side-banner-image{display:block;min-height:0;height:auto;padding:0;line-height:0;white-space:normal;overflow:hidden;background:#fff}
.top-contact-banner-image{display:block;width:100%;height:auto;max-width:100%;object-fit:contain}
.top-contact-aside .top-contact-grid .side-banner-image{position:relative}
.top-contact-banner-caption{position:static;display:block!important;padding:9px 12px;background:#32131f;color:#fff;line-height:1.3;text-align:left}
.top-contact-banner-caption small,.top-contact-banner-caption b,.top-contact-banner-caption>span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.top-contact-banner-caption small{color:#f0d79e!important;font-size:8px!important;letter-spacing:.12em}
.top-contact-banner-caption b{color:#fff!important;font-size:12px!important}
.top-contact-banner-caption>span{color:#fff!important;font-size:9px!important;opacity:.85}
/* Separate rounded actions; preserve the existing fixed anchor and destinations. */
.fixed-reservation,.page-shell>.fixed{box-sizing:border-box;gap:10px;padding:8px;box-shadow:none;background:transparent}
.fixed-reservation a,.page-shell>.fixed a{min-width:0;min-height:44px;box-sizing:border-box;border:0;border-radius:12px;box-shadow:0 3px 12px #2e182026;display:flex;flex-direction:column;align-items:center;justify-content:center}
.fixed-reservation a:focus-visible,.page-shell>.fixed a:focus-visible{outline:3px solid var(--d-gold-light);outline-offset:2px}
@media(max-width:900px){.fixed-reservation,.page-shell>.fixed{gap:6px;padding:6px}.fixed-reservation a,.page-shell>.fixed a{border-radius:10px}}
@supports(padding-bottom:env(safe-area-inset-bottom)){.fixed-reservation,.page-shell>.fixed{padding-bottom:calc(8px + env(safe-area-inset-bottom))}@media(max-width:900px){.fixed-reservation,.page-shell>.fixed{padding-bottom:calc(6px + env(safe-area-inset-bottom))}}}
/* The same independent banner collections appear above every public page. */
.page-shell>.top-contact-banners{margin-bottom:0}
@media(min-width:901px){.top-contact-banners{grid-template-columns:minmax(0,4fr) minmax(0,1fr)}}

/* Public-only pastel palette. Color changes only: keep layout, media and admin intact. */
body:is(.luxury-site,[data-page]) .menu-brand strong{text-shadow:none}
body:is(.luxury-site,[data-page]){--d-rose:#79485e;--d-deep:#514352;--d-gold:#806846;--d-gold-light:#806846;--d-ivory:#fffcf7;--d-line:#ddced7;--d-green:#42664f;--pastel-pink:#f5dfe5;--pastel-lavender:#e9e1f1;--pastel-sage:#e1ecdf;--pastel-ink:#514352;--pastel-muted:#71616c;color:var(--pastel-ink);background:linear-gradient(135deg,#fffaf2,#f8edf1 52%,#edf3e9);background-attachment:fixed}
body:is(.luxury-site,[data-page]) .page-shell,
body:is(.luxury-site,[data-page]) .main-column,
body:is(.luxury-site,[data-page]) .page-content,
body:is(.luxury-site,[data-page]) .subpage-layout,
body:is(.luxury-site,[data-page]) .hours-band,
body:is(.luxury-site,[data-page]) .top-page-nav,
body:is(.luxury-site,[data-page]) .lux-header,
body:is(.luxury-site,[data-page]) .page-shell>.top{background:#fffcf7!important;border-color:var(--d-line);color:var(--pastel-ink)}
body:is(.luxury-site,[data-page]) .page-hero{background:linear-gradient(125deg,#f7e6e9,#ece4f4 65%,#e8efdf)!important;border-color:#d5bfd1;color:var(--d-deep)}
body:is(.luxury-site,[data-page]) .page-hero .en,
body:is(.luxury-site,[data-page]) .page-hero p,
body:is(.luxury-site,[data-page]) .page-hero h1{color:var(--d-deep)!important}
body:is(.luxury-site,[data-page]) .concept-lux,
body:is(.luxury-site,[data-page]) .next-guide,
body:is(.luxury-site,[data-page]) .recruit-hero-card{background:linear-gradient(135deg,#f4e0e7,#ebe3f2)!important;color:var(--pastel-ink)}
body:is(.luxury-site,[data-page]) .concept-lux .light h2,
body:is(.luxury-site,[data-page]) .concept-lux .light span,
body:is(.luxury-site,[data-page]) .next-guide h2,
body:is(.luxury-site,[data-page]) .next-guide p,
body:is(.luxury-site,[data-page]) .recruit-hero-card h2,
body:is(.luxury-site,[data-page]) .recruit-hero-card>p,
body:is(.luxury-site,[data-page]) .recruit-hero-card>span{color:var(--d-deep)!important}
body:is(.luxury-site,[data-page]) .reservation-guide,
body:is(.luxury-site,[data-page]) .recruit-message,
body:is(.luxury-site,[data-page]) .payment-methods,
body:is(.luxury-site,[data-page]) .review-summary,
body:is(.luxury-site,[data-page]) .schedule-update{background:#edf2e8;color:var(--pastel-ink);border-color:#cad8c6}
body:is(.luxury-site,[data-page]) .lux-footer{background:#eae3ef;color:var(--d-deep)}
body:is(.luxury-site,[data-page]) .lux-footer p{color:var(--pastel-muted);opacity:1}
body:is(.luxury-site,[data-page]) .editorial-lead,
body:is(.luxury-site,[data-page]) .feature-profile,
body:is(.luxury-site,[data-page]) .recruit-complete,
body:is(.luxury-site,[data-page]) .inquiry-complete{background:linear-gradient(135deg,#fff8ed,#f6e8ed);color:var(--pastel-ink);border-color:var(--d-line)}
body:is(.luxury-site,[data-page]) .value-grid article,
body:is(.luxury-site,[data-page]) .flow-steps article,
body:is(.luxury-site,[data-page]) .notice-list,
body:is(.luxury-site,[data-page]) .contact-choice a,
body:is(.luxury-site,[data-page]) .form-panel,
body:is(.luxury-site,[data-page]) .review-form-section,
body:is(.luxury-site,[data-page]) .recruit-facts article,
body:is(.luxury-site,[data-page]) .cast-no-shift,
body:is(.luxury-site,[data-page]) .therapist-profile-comment{background:#f5eef7;color:var(--pastel-ink);border-color:var(--d-line)}
body:is(.luxury-site,[data-page]) .info-card,
body:is(.luxury-site,[data-page]) .step,
body:is(.luxury-site,[data-page]) .notice{background:#f2f4e9!important;border-color:#a1b899!important;color:var(--pastel-ink)}
body:is(.luxury-site,[data-page]) .dense-card,
body:is(.luxury-site,[data-page]) .cast-detail-card,
body:is(.luxury-site,[data-page]) .ranking-card,
body:is(.luxury-site,[data-page]) .rank-card,
body:is(.luxury-site,[data-page]) .public-review,
body:is(.luxury-site,[data-page]) .public-therapist-card,
body:is(.luxury-site,[data-page]) .diary-card,
body:is(.luxury-site,[data-page]) .recruit-income,
body:is(.luxury-site,[data-page]) .recruit-benefits article,
body:is(.luxury-site,[data-page]) .payment-method-card,
body:is(.luxury-site,[data-page]) .price-cards article,
body:is(.luxury-site,[data-page]) .faq-list details,
body:is(.luxury-site,[data-page]) .availability-row{background:#fffdfa;border-color:var(--d-line)}
body:is(.luxury-site,[data-page]) .recommend-grid a{background:linear-gradient(135deg,#fff9f0,#f5e7ee);border-color:var(--d-line);color:var(--d-deep)}
body:is(.luxury-site,[data-page]) .recommend-grid a:nth-child(2),
body:is(.luxury-site,[data-page]) .payment-method-card:nth-child(2n){background:#f0eaf5}
body:is(.luxury-site,[data-page]) .recommend-grid a:nth-child(3),
body:is(.luxury-site,[data-page]) .value-grid article:nth-child(3n){background:#edf3e8}
body:is(.luxury-site,[data-page]) .course-group{background:linear-gradient(135deg,#eee5f3,#faf6fc);color:var(--d-deep);border-color:var(--d-line)}
body:is(.luxury-site,[data-page]) .course-group.course-group-pink{background:linear-gradient(135deg,#f6dee7,#fff5f6);color:var(--d-deep)}
body:is(.luxury-site,[data-page]) .course-group h2,
body:is(.luxury-site,[data-page]) .course-group-prices strong,
body:is(.luxury-site,[data-page]) .course-group-pink .course-group-prices strong{color:var(--d-rose)!important}
body:is(.luxury-site,[data-page]) .price-table th,
body:is(.luxury-site,[data-page]) .price-table.detail th,
body:is(.luxury-site,[data-page]) .requirements dt{background:#ebe4f1!important;color:var(--d-deep);border-color:var(--d-line)}
body:is(.luxury-site,[data-page]) .price-table td,
body:is(.luxury-site,[data-page]) .requirements dl,
body:is(.luxury-site,[data-page]) .requirements dl>div,
body:is(.luxury-site,[data-page]) .faq-list details,
body:is(.luxury-site,[data-page]) .news-list,
body:is(.luxury-site,[data-page]) .news-list a,
body:is(.luxury-site,[data-page]) .name-row,
body:is(.luxury-site,[data-page]) .cast-name{border-color:var(--d-line)}
body:is(.luxury-site,[data-page]) .form input,
body:is(.luxury-site,[data-page]) .form select,
body:is(.luxury-site,[data-page]) .form textarea{background:#fffefd;border-color:#b9a6b4;color:var(--pastel-ink)}
body:is(.luxury-site,[data-page]) .form button,
body:is(.luxury-site,[data-page]) .rose-button,
body:is(.luxury-site,[data-page]) .sub-action,
body:is(.luxury-site,[data-page]) .dense-body>a,
body:is(.luxury-site,[data-page]) .reservation-guide a,
body:is(.luxury-site,[data-page]) .hero-actions a,
body:is(.luxury-site,[data-page]) .rank-card>a,
body:is(.luxury-site,[data-page]) .inquiry-complete-link,
body:is(.luxury-site,[data-page]) .card-action,
body:is(.luxury-site,[data-page]) .next-guide a,
body:is(.luxury-site,[data-page]) .concept-lux>a,
body:is(.luxury-site,[data-page]) .gold-more{background:#efd5df!important;color:#61394e!important;border-color:#c6a3b5}
body:is(.luxury-site,[data-page]) .form button:hover,
body:is(.luxury-site,[data-page]) .rose-button:hover,
body:is(.luxury-site,[data-page]) .sub-action:hover,
body:is(.luxury-site,[data-page]) .dense-body>a:hover,
body:is(.luxury-site,[data-page]) .reservation-guide a:hover,
body:is(.luxury-site,[data-page]) .inquiry-complete-link:hover,
body:is(.luxury-site,[data-page]) .next-guide a:hover,
body:is(.luxury-site,[data-page]) .gold-more:hover{background:#e7c5d4!important;color:#533043!important}
body:is(.luxury-site,[data-page]) .top-page-nav a:last-child,
body:is(.luxury-site,[data-page]) .top-page-nav a:hover,
body:is(.luxury-site,[data-page]) .top-page-nav a:focus-visible{background:#eedce8;color:#61394e}
body:is(.luxury-site,[data-page]) .fixed-reservation a,
body:is(.luxury-site,[data-page]) .page-shell>.fixed a{background:#f0d6e0!important;color:#61394e!important;box-shadow:0 3px 12px #65485920}
body:is(.luxury-site,[data-page]) .fixed-reservation a:nth-child(2),
body:is(.luxury-site,[data-page]) .page-shell>.fixed a:nth-child(2){background:#deebdc!important;color:#385943!important}
body:is(.luxury-site,[data-page]) .fixed-reservation a:nth-child(3),
body:is(.luxury-site,[data-page]) .page-shell>.fixed a:nth-child(3){background:#e7dff1!important;color:#554266!important}
body:is(.luxury-site,[data-page]) .fixed-reservation a:nth-child(4),
body:is(.luxury-site,[data-page]) .page-shell>.fixed a:nth-child(4){background:#f6ead3!important;color:#655034!important}
body:is(.luxury-site,[data-page]) .fixed-reservation small{color:inherit}
body:is(.luxury-site,[data-page]) .public-date-tabs .schedule-date-tab,
body:is(.luxury-site,[data-page]) .date-tabs span{background:#fffdfa;color:var(--d-deep);border-color:var(--d-line)}
body:is(.luxury-site,[data-page]) .public-date-tabs .schedule-date-tab.is-active,
body:is(.luxury-site,[data-page]) .date-tabs .active{background:#e4d4ec;color:#51405e}
body:is(.luxury-site,[data-page]) .public-date-tabs .schedule-date-tab span,
body:is(.luxury-site,[data-page]) .date-tabs .active span{background:transparent;color:inherit}
body:is(.luxury-site,[data-page]) .public-date-tabs .schedule-date-tab:hover{background:#f4e6ef;color:var(--d-deep)}
body:is(.luxury-site,[data-page]) .ranking-position,
body:is(.luxury-site,[data-page]) .ranking-position.is-first,
body:is(.luxury-site,[data-page]) .rank-medal{background:linear-gradient(120deg,#f4e2ec,#e9dff2);color:#674253;border-color:#c9a8bb}
body:is(.luxury-site,[data-page]) .ranking-position.is-second{background:#e8e6f4;color:#54546c;border-color:#beb8d2}
body:is(.luxury-site,[data-page]) .ranking-position.is-third,
body:is(.luxury-site,[data-page]) .rank-card.first .rank-medal{background:#f4e8d5;color:#6c573e;border-color:#cbb694}
body:is(.luxury-site,[data-page]) .tags span,
body:is(.luxury-site,[data-page]) .feature-tags span,
body:is(.luxury-site,[data-page]) .dense-body .tags span,
body:is(.luxury-site,[data-page]) .cast-detail-body .feature-tags span,
body:is(.luxury-site,[data-page]) .feature-profile .tags span,
body:is(.luxury-site,[data-page]) .diary-meta strong,
body:is(.luxury-site,[data-page]) .diary-read-more{background:#f7e7ee;color:#754359;border-color:#d4b5c4}
body:is(.luxury-site,[data-page]) .form label>span,
body:is(.luxury-site,[data-page]) .price-cards em,
body:is(.luxury-site,[data-page]) .step:before,
body:is(.luxury-site,[data-page]) .inquiry-complete-mark,
body:is(.luxury-site,[data-page]) .diary-grid div>span{background:#ecd9e8;color:#603d57}
body:is(.luxury-site,[data-page]) .payment-method-icon,
body:is(.luxury-site,[data-page]) .recruit-complete>span{background:#dce9da;color:#42624a}
body:is(.luxury-site,[data-page]) .sub-action.disabled,
body:is(.luxury-site,[data-page]) .dense-body .disabled-action,
body:is(.luxury-site,[data-page]) .disabled-action,
body:is(.luxury-site,[data-page]) .card-action.disabled{background:#e7e3e5!important;color:#645b61!important}
body:is(.luxury-site,[data-page]) .menu-overlay{background:linear-gradient(130deg,#fff8f0 0%,#f5e3ec 50%,#e9e3f1 100%)!important;color:var(--d-deep)!important}
body:is(.luxury-site,[data-page]) .menu-brand small,
body:is(.luxury-site,[data-page]) .menu-brand strong,
body:is(.luxury-site,[data-page]) .menu-brand em,
body:is(.luxury-site,[data-page]) .menu-brand p,
body:is(.luxury-site,[data-page]) .menu-close,
body:is(.luxury-site,[data-page]) .menu-list a,
body:is(.luxury-site,[data-page]) .menu-list a span{color:var(--d-deep)!important}
body:is(.luxury-site,[data-page]) .menu-list,
body:is(.luxury-site,[data-page]) .menu-list a{border-color:#d8c3cf}
body:is(.luxury-site,[data-page]) .menu-list a:hover,
body:is(.luxury-site,[data-page]) .menu-list a:focus-visible,
body:is(.luxury-site,[data-page]) .menu-list a:active{background:#e8d8e8}
body:is(.luxury-site,[data-page]) .top-contact-banners{background:linear-gradient(140deg,#fff9ef,#f2e9f3);border-color:var(--d-line)}
body:is(.luxury-site,[data-page]) .top-promo-slider,
body:is(.luxury-site,[data-page]) .top-promo-slides,
body:is(.luxury-site,[data-page]) .top-contact-grid .side-banner{border-color:var(--d-line)}
body:is(.luxury-site,[data-page]) .top-promo-slider{background:#fffdfa;color:var(--d-deep);box-shadow:0 8px 24px #71556912}
body:is(.luxury-site,[data-page]) .top-contact-banner-caption{background:#eadfed;color:var(--d-deep)}
body:is(.luxury-site,[data-page]) .top-contact-banner-caption small,
body:is(.luxury-site,[data-page]) .top-contact-banner-caption b,
body:is(.luxury-site,[data-page]) .top-contact-banner-caption>span{color:var(--d-deep)!important}
body:is(.luxury-site,[data-page]) .top-promo-controls .promo-dot{border-color:#92627c;background:#fffdfa}
body:is(.luxury-site,[data-page]) .top-promo-controls .promo-dot.is-active{background:#92627c}
body:is(.luxury-site,[data-page]) .section-title-lux p,
body:is(.luxury-site,[data-page]) .section-title-lux>span,
body:is(.luxury-site,[data-page]) .hours-band span,
body:is(.luxury-site,[data-page]) .lux-header-note,
body:is(.luxury-site,[data-page]) .top-promo-empty,
body:is(.luxury-site,[data-page]) .public-review small,
body:is(.luxury-site,[data-page]) .public-review time,
body:is(.luxury-site,[data-page]) .news-list time,
body:is(.luxury-site,[data-page]) .ranking-body p,
body:is(.luxury-site,[data-page]) .ranking-note,
body:is(.luxury-site,[data-page]) .diary-card p,
body:is(.luxury-site,[data-page]) .diary-meta time,
body:is(.luxury-site,[data-page]) .cast-name>span,
body:is(.luxury-site,[data-page]) .name-row h3 small,
body:is(.luxury-site,[data-page]) .name-row>b{color:var(--pastel-muted)}
body:is(.luxury-site,[data-page]) .ornate-title,
body:is(.luxury-site,[data-page]) .luxe-section,
body:is(.luxury-site,[data-page]) .availability-scroll,
body:is(.luxury-site,[data-page]) .availability-row,
body:is(.luxury-site,[data-page]) .list-summary{border-color:var(--d-line)}
body:is(.luxury-site,[data-page]) .ornate-title:before,
body:is(.luxury-site,[data-page]) .ornate-title:after{color:#927086;background:#fffcf7}
body:is(.luxury-site,[data-page]) .section-title-lux:after{background:#c4a5ba}
body:is(.luxury-site,[data-page]) .form input:focus-visible,
body:is(.luxury-site,[data-page]) .form textarea:focus-visible,
body:is(.luxury-site,[data-page]) .form select:focus-visible,
body:is(.luxury-site,[data-page]) .form button:focus-visible,
body:is(.luxury-site,[data-page]) .fixed-reservation a:focus-visible,
body:is(.luxury-site,[data-page]) .page-shell>.fixed a:focus-visible{outline-color:#79485e}

/* Public typography: system fonts only; no layout, palette, media or admin changes. */
body:is(.luxury-site,[data-page]){--type-serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",Georgia,serif;--type-sans:"Yu Gothic UI","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-family:var(--type-sans);font-size:16px;font-weight:400;line-height:1.85;letter-spacing:.015em}
body:is(.luxury-site,[data-page]) h1,
body:is(.luxury-site,[data-page]) h2,
body:is(.luxury-site,[data-page]) h3{font-family:var(--type-serif);font-weight:500;font-style:normal;line-height:1.5;letter-spacing:.035em}
body:is(.luxury-site,[data-page]) .page-hero h1{font-size:clamp(30px,4.2vw,48px);font-weight:500;line-height:1.45;letter-spacing:.045em}
body:is(.luxury-site,[data-page]) .page-content h2,
body:is(.luxury-site,[data-page]) .section-title-lux h2,
body:is(.luxury-site,[data-page]) .ornate-title h2,
body:is(.luxury-site,[data-page]) .reservation-guide h2,
body:is(.luxury-site,[data-page]) .next-guide h2,
body:is(.luxury-site,[data-page]) .form-title h2,
body:is(.luxury-site,[data-page]) .faq-category h2,
body:is(.luxury-site,[data-page]) .recruit-message h2{font-size:clamp(24px,2.4vw,32px);font-weight:500;line-height:1.5;letter-spacing:.035em}
body:is(.luxury-site,[data-page]) .editorial-lead h2,
body:is(.luxury-site,[data-page]) .recruit-hero-card h2{font-size:clamp(27px,3vw,38px);font-weight:500;line-height:1.65;letter-spacing:.04em}
body:is(.luxury-site,[data-page]) .course-group h2,
body:is(.luxury-site,[data-page]) .payment-methods>h2{font-size:clamp(23px,2.2vw,28px);font-weight:500;line-height:1.6;letter-spacing:.04em}
body:is(.luxury-site,[data-page]) .page-content h3,
body:is(.luxury-site,[data-page]) .environment-grid h3,
body:is(.luxury-site,[data-page]) .feature-profile h3{font-size:clamp(19px,1.8vw,24px);font-weight:500;line-height:1.55;letter-spacing:.025em}
body:is(.luxury-site,[data-page]) .cast-name h3,
body:is(.luxury-site,[data-page]) .dense-body h3,
body:is(.luxury-site,[data-page]) .ranking-body h3,
body:is(.luxury-site,[data-page]) .rank-card h3,
body:is(.luxury-site,[data-page]) .new-face-card h3,
body:is(.luxury-site,[data-page]) .profile-head h3{font-family:var(--type-serif);font-size:21px;font-weight:500;line-height:1.5;letter-spacing:.02em}
body:is(.luxury-site,[data-page]) p,
body:is(.luxury-site,[data-page]) .page-hero p,
body:is(.luxury-site,[data-page]) .flow-steps p,
body:is(.luxury-site,[data-page]) .course-group p,
body:is(.luxury-site,[data-page]) .faq-list details p,
body:is(.luxury-site,[data-page]) .form-title p,
body:is(.luxury-site,[data-page]) .recruit-message p,
body:is(.luxury-site,[data-page]) .notice,
body:is(.luxury-site,[data-page]) .notice-list li,
body:is(.luxury-site,[data-page]) .requirements dt,
body:is(.luxury-site,[data-page]) .requirements dd{font-family:var(--type-sans);font-size:16px;font-weight:400;line-height:1.85;letter-spacing:.015em}
body:is(.luxury-site,[data-page]) .dense-body p,
body:is(.luxury-site,[data-page]) .cast-detail-body p,
body:is(.luxury-site,[data-page]) .ranking-body p,
body:is(.luxury-site,[data-page]) .payment-method-card p,
body:is(.luxury-site,[data-page]) .recruit-benefits p,
body:is(.luxury-site,[data-page]) .diary-body,
body:is(.luxury-site,[data-page]) .therapist-profile-comment,
body:is(.luxury-site,[data-page]) .contact-choice p{font-family:var(--type-sans);font-size:15px;font-weight:400;line-height:1.8;letter-spacing:.01em}
body:is(.luxury-site,[data-page]) .section-title-lux p,
body:is(.luxury-site,[data-page]) .form-title p,
body:is(.luxury-site,[data-page]) .ranking-note,
body:is(.luxury-site,[data-page]) .list-summary small,
body:is(.luxury-site,[data-page]) .cast-name h3 small,
body:is(.luxury-site,[data-page]) .cast-name>span,
body:is(.luxury-site,[data-page]) .name-row h3 small,
body:is(.luxury-site,[data-page]) .name-row>b,
body:is(.luxury-site,[data-page]) .public-review small,
body:is(.luxury-site,[data-page]) .public-review time,
body:is(.luxury-site,[data-page]) .diary-meta time,
body:is(.luxury-site,[data-page]) .news-list time,
body:is(.luxury-site,[data-page]) .cast-no-shift small{font-family:var(--type-sans);font-size:14px;font-weight:400;line-height:1.65;letter-spacing:.01em}
body:is(.luxury-site,[data-page]) .diary-title{font-family:var(--type-serif);font-size:clamp(20px,2vw,25px);font-weight:500;line-height:1.55;letter-spacing:.025em}
body:is(.luxury-site,[data-page]) .page-hero .en,
body:is(.luxury-site,[data-page]) .section-title-lux>span,
body:is(.luxury-site,[data-page]) .ornate-title span,
body:is(.luxury-site,[data-page]) .editorial-lead>span,
body:is(.luxury-site,[data-page]) .price-heading>span,
body:is(.luxury-site,[data-page]) .form-title>span,
body:is(.luxury-site,[data-page]) .faq-category>span,
body:is(.luxury-site,[data-page]) .mini-label,
body:is(.luxury-site,[data-page]) .hero-kicker,
body:is(.luxury-site,[data-page]) .list-summary>span,
body:is(.luxury-site,[data-page]) .recruit-hero-card>p,
body:is(.luxury-site,[data-page]) .recruit-message>span,
body:is(.luxury-site,[data-page]) .reservation-guide>p,
body:is(.luxury-site,[data-page]) .hours-band>span{font-family:var(--type-sans);font-size:12px;font-weight:500;line-height:1.6;letter-spacing:.12em}
body:is(.luxury-site,[data-page]) .form label,
body:is(.luxury-site,[data-page]) .form input,
body:is(.luxury-site,[data-page]) .form select,
body:is(.luxury-site,[data-page]) .form textarea,
body:is(.luxury-site,[data-page]) .form button,
body:is(.luxury-site,[data-page]) button,
body:is(.luxury-site,[data-page]) .top-page-nav a,
body:is(.luxury-site,[data-page]) .fixed-reservation a,
body:is(.luxury-site,[data-page]) .page-shell>.fixed a,
body:is(.luxury-site,[data-page]) .rose-button,
body:is(.luxury-site,[data-page]) .sub-action,
body:is(.luxury-site,[data-page]) .dense-body>a,
body:is(.luxury-site,[data-page]) .gold-more,
body:is(.luxury-site,[data-page]) .next-guide a,
body:is(.luxury-site,[data-page]) .concept-lux>a,
body:is(.luxury-site,[data-page]) .reservation-guide a,
body:is(.luxury-site,[data-page]) .backtop,
body:is(.luxury-site,[data-page]) .inquiry-complete-link,
body:is(.luxury-site,[data-page]) .rank-card>a{font-family:var(--type-sans);font-weight:500;font-style:normal;line-height:1.6;letter-spacing:.025em}
body:is(.luxury-site,[data-page]) .form input,
body:is(.luxury-site,[data-page]) .form select,
body:is(.luxury-site,[data-page]) .form textarea,
body:is(.luxury-site,[data-page]) .form button,
body:is(.luxury-site,[data-page]) .rose-button,
body:is(.luxury-site,[data-page]) .sub-action,
body:is(.luxury-site,[data-page]) .reservation-guide a,
body:is(.luxury-site,[data-page]) .next-guide a,
body:is(.luxury-site,[data-page]) .inquiry-complete-link,
body:is(.luxury-site,[data-page]) .gold-more,
body:is(.luxury-site,[data-page]) .backtop{font-size:16px}
body:is(.luxury-site,[data-page]) .form label,
body:is(.luxury-site,[data-page]) .top-page-nav a,
body:is(.luxury-site,[data-page]) .fixed-reservation a,
body:is(.luxury-site,[data-page]) .page-shell>.fixed a,
body:is(.luxury-site,[data-page]) .dense-body>a,
body:is(.luxury-site,[data-page]) .rank-card>a{font-size:14px;font-weight:600}
body:is(.luxury-site,[data-page]) .fixed-reservation small,
body:is(.luxury-site,[data-page]) .lux-menu span{font-family:var(--type-sans);font-size:11px;font-weight:500;line-height:1.4;letter-spacing:.08em}
body:is(.luxury-site,[data-page]) .menu-list a{font-family:var(--type-sans);font-size:clamp(16px,1.6vw,19px);font-weight:500;line-height:1.7;letter-spacing:.025em}
body:is(.luxury-site,[data-page]) .menu-brand small,
body:is(.luxury-site,[data-page]) .menu-brand p,
body:is(.luxury-site,[data-page]) .menu-brand em{font-family:var(--type-sans);font-size:12px;font-weight:500;line-height:1.7;letter-spacing:.06em}
body:is(.luxury-site,[data-page]) .course-group-prices,
body:is(.luxury-site,[data-page]) .course-group-prices strong,
body:is(.luxury-site,[data-page]) .price-cards strong,
body:is(.luxury-site,[data-page]) .price-table,
body:is(.luxury-site,[data-page]) .shift,
body:is(.luxury-site,[data-page]) .cast-shift strong,
body:is(.luxury-site,[data-page]) .availability-row .time{font-family:var(--type-sans);font-weight:500;font-style:normal;font-variant-numeric:tabular-nums;line-height:1.6;letter-spacing:.01em}
body:is(.luxury-site,[data-page]) .course-group-prices strong{font-size:clamp(19px,1.8vw,23px);font-weight:500}
body:is(.luxury-site,[data-page]) .course-group-prices span{font-size:16px;font-weight:400}
body:is(.luxury-site,[data-page]) .availability-row strong,
body:is(.luxury-site,[data-page]) .hours-band strong,
body:is(.luxury-site,[data-page]) .contact-choice h3,
body:is(.luxury-site,[data-page]) .payment-method-card h3,
body:is(.luxury-site,[data-page]) .faq-list summary,
body:is(.luxury-site,[data-page]) .recruit-facts strong,
body:is(.luxury-site,[data-page]) .form label>span,
body:is(.luxury-site,[data-page]) .diary-meta strong{font-family:var(--type-sans);font-weight:500;line-height:1.65;letter-spacing:.015em}
body:is(.luxury-site,[data-page]) .payment-method-card h3,
body:is(.luxury-site,[data-page]) .faq-list summary,
body:is(.luxury-site,[data-page]) .contact-choice h3{font-size:16px}
body:is(.luxury-site,[data-page]) .tags span,
body:is(.luxury-site,[data-page]) .feature-tags span,
body:is(.luxury-site,[data-page]) .dense-catch,
body:is(.luxury-site,[data-page]) .therapist-catch,
body:is(.luxury-site,[data-page]) .newcomer-catch,
body:is(.luxury-site,[data-page]) .ranking-card-comment{font-family:var(--type-sans);font-weight:500;line-height:1.65;letter-spacing:.01em}
body:is(.luxury-site,[data-page]) .public-date-tabs .schedule-date-tab{font-family:var(--type-sans);font-weight:500;line-height:1.5;letter-spacing:.01em}
body:is(.luxury-site,[data-page]) .public-date-tabs .schedule-date-tab b,
body:is(.luxury-site,[data-page]) .public-date-tabs .schedule-date-tab span{font-family:var(--type-sans);font-size:13px;font-weight:500;line-height:1.55;letter-spacing:.01em}
body:is(.luxury-site,[data-page]) .lux-footer nav,
body:is(.luxury-site,[data-page]) .lux-footer p,
body:is(.luxury-site,[data-page]) .lux-header-note{font-family:var(--type-sans);font-size:14px;font-weight:400;line-height:1.7;letter-spacing:.02em}

/* Section surfaces: quiet outer frame, soft content groups; preserve order and typography. */
body:is(.luxury-site,[data-page]){background:#faf8f5}
body:is(.luxury-site,[data-page]) .page-shell,
body:is(.luxury-site,[data-page]) .main-column,
body:is(.luxury-site,[data-page]) .subpage-layout,
body:is(.luxury-site,[data-page]) .page-content{background:transparent!important;box-shadow:none;border-color:transparent}
body:is(.luxury-site,[data-page]) .page-hero{background:#f4e8ee!important;border-color:transparent;padding:48px 7% 42px!important}
body:is(.luxury-site,[data-page]) .subpage-layout{padding-top:28px;padding-bottom:100px}
body:is(.luxury-site,[data-page]) .luxe-section{padding-top:42px;padding-bottom:42px;border-color:transparent}
body:is(.luxury-site,[data-page]) .ornate-title{border-color:transparent}
body:is(.luxury-site,[data-page]) .ornate-title:before,
body:is(.luxury-site,[data-page]) .ornate-title:after{background:transparent}
body:is(.luxury-site,[data-page]) .latest-panel,
body:is(.luxury-site,[data-page]) .news-section,
body:is(.luxury-site,[data-page]) .environment-section{background:#fffcf7}
body:is(.luxury-site,[data-page]) .therapists-section,
body:is(.luxury-site,[data-page]) .recommend-section{background:#f1edf6}
body:is(.luxury-site,[data-page]) .newcomer-section,
body:is(.luxury-site,[data-page]) .concept-lux{background:#f7e9ee!important}
body:is(.luxury-site,[data-page]) .reservation-guide{background:#edf3e9;padding-top:42px;padding-bottom:42px}
body:is(.luxury-site,[data-page]) .editorial-lead{background:#f7e9ee;border-color:transparent;border-radius:12px;padding:32px}
body:is(.luxury-site,[data-page]) .value-grid article{background:#fffcf3;border-color:#e2d4bc;border-radius:10px;padding:22px}
body:is(.luxury-site,[data-page]) .value-grid article:nth-child(2){background:#f1edf6;border-color:#d9cce4}
body:is(.luxury-site,[data-page]) .value-grid article:nth-child(3){background:#edf3e9;border-color:#cbdac4}
body:is(.luxury-site,[data-page]) .next-guide{background:#edf3e9!important;border-radius:12px;padding:28px}
body:is(.luxury-site,[data-page]) .flow-steps article{background:#fffcf3;border-color:transparent;border-radius:10px}
body:is(.luxury-site,[data-page]) .notice-list{background:#edf3e9;border-color:#c4d5be;border-radius:0 10px 10px 0}
body:is(.luxury-site,[data-page]) .course-group-list{border-color:transparent;background:transparent}
body:is(.luxury-site,[data-page]) .course-group{background:#f1edf6;border-color:transparent;border-radius:12px;padding:28px}
body:is(.luxury-site,[data-page]) .course-group+.course-group{margin-top:14px}
body:is(.luxury-site,[data-page]) .course-group.course-group-pink{background:#f7e9ee}
body:is(.luxury-site,[data-page]) .payment-methods{background:#edf3e9;border-color:transparent;border-radius:12px;padding:24px}
body:is(.luxury-site,[data-page]) .payment-method-card{border-color:transparent}
body:is(.luxury-site,[data-page]) .contact-choice a{background:#fffcf3;border-color:transparent;border-radius:10px}
body:is(.luxury-site,[data-page]) .contact-choice a:nth-child(2){background:#edf3e9}
body:is(.luxury-site,[data-page]) .contact-choice a:nth-child(3){background:#f1edf6}
body:is(.luxury-site,[data-page]) .form-panel,
body:is(.luxury-site,[data-page]) .review-form-section{background:#f7e9ee;border-color:transparent;border-radius:12px;padding:28px}
body:is(.luxury-site,[data-page]) .list-summary{background:#f1edf6;border-color:transparent;border-radius:10px;padding:12px 18px}
body:is(.luxury-site,[data-page]) .cast-detail-card,
body:is(.luxury-site,[data-page]) .ranking-card,
body:is(.luxury-site,[data-page]) .dense-card,
body:is(.luxury-site,[data-page]) .public-therapist-card{border-color:#e5dce4;box-shadow:none}
body:is(.luxury-site,[data-page]) .cast-detail-body,
body:is(.luxury-site,[data-page]) .ranking-body,
body:is(.luxury-site,[data-page]) .dense-body{background:#fffcf7}
body:is(.luxury-site,[data-page]) .schedule-update{background:#edf3e9;border-radius:10px}
body:is(.luxury-site,[data-page]) .review-summary{background:#edf3e9;border-color:transparent;border-radius:12px}
body:is(.luxury-site,[data-page]) .public-review{background:#fffcf3;border-color:transparent;border-radius:10px}
body:is(.luxury-site,[data-page]) .diary-card{border-color:#e5dce4;box-shadow:none}
body:is(.luxury-site,[data-page]) .recruit-hero-card{background:#f7e9ee!important;border-radius:12px}
body:is(.luxury-site,[data-page]) .recruit-benefits article,
body:is(.luxury-site,[data-page]) .recruit-facts article{background:#f1edf6;border-color:transparent;border-radius:10px}
body:is(.luxury-site,[data-page]) .recruit-income,
body:is(.luxury-site,[data-page]) .requirements{background:#fffcf3;border-color:transparent;border-radius:12px}
body:is(.luxury-site,[data-page]) .requirements{padding:20px}
body:is(.luxury-site,[data-page]) .recruit-message{background:#edf3e9;border-radius:12px}
body:is(.luxury-site,[data-page]) .faq-category{background:#f1edf6;border-radius:12px 12px 0 0;padding:20px 24px 8px;margin-bottom:0}
body:is(.luxury-site,[data-page]) .faq-list{background:#f1edf6;border-radius:0 0 12px 12px;padding:0 12px 12px}
body:is(.luxury-site,[data-page]) .faq-list details{background:transparent;border-color:#ddd4e7}
body:is(.luxury-site,[data-page]) .faq-list details:last-child{border-bottom-color:transparent}
@media(max-width:600px){
body:is(.luxury-site,[data-page]) .page-hero{padding:36px 6% 30px!important}
body:is(.luxury-site,[data-page]) .subpage-layout{padding-top:20px;padding-bottom:100px}
body:is(.luxury-site,[data-page]) .luxe-section{padding-top:30px;padding-bottom:30px}
body:is(.luxury-site,[data-page]) .editorial-lead,body:is(.luxury-site,[data-page]) .next-guide,body:is(.luxury-site,[data-page]) .course-group,body:is(.luxury-site,[data-page]) .form-panel,body:is(.luxury-site,[data-page]) .review-form-section,body:is(.luxury-site,[data-page]) .payment-methods{padding:22px 16px}
body:is(.luxury-site,[data-page]) .requirements{padding:14px}
body:is(.luxury-site,[data-page]) .faq-category{padding:18px 18px 6px}
body:is(.luxury-site,[data-page]) .faq-list{padding:0 6px 10px}
}

/* Gentle surface light: retain each pastel base, typography, media and geometry. */
body:is(.luxury-site,[data-page]) :is(
  .page-hero,.latest-panel,.news-section,.environment-section,
  .therapists-section,.recommend-section,.newcomer-section,.concept-lux,
  .reservation-guide,.editorial-lead,.value-grid article,.next-guide,
  .flow-steps article,.notice-list,.course-group,.payment-methods,
  .contact-choice a,.form-panel,.review-form-section,.list-summary,
  .cast-detail-body,.ranking-body,.dense-body,.schedule-update,
  .review-summary,.public-review,.recruit-hero-card,
  .recruit-benefits article,.recruit-facts article,.recruit-income,
  .requirements,.recruit-message
){background-image:linear-gradient(135deg,rgba(255,255,255,.32) 0%,rgba(255,255,255,0) 60%,rgba(255,255,255,.10) 100%)!important}
/* Matching horizontal light keeps the category and question list continuous. */
body:is(.luxury-site,[data-page]) :is(.faq-category,.faq-list){
  background-image:linear-gradient(100deg,rgba(255,255,255,.28),rgba(255,255,255,0))!important;
}



/* The highlight belongs to the first/main photo; SNS and thumbnails stay outside. */
/* Listing previews stay compact while the native dialog preserves the full text. */
/* Only the directory and the new profile page use these layouts. */
.therapist-list-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.therapist-list-card{min-width:0;cursor:pointer}
.therapist-detail-link{color:inherit;text-decoration:none}
.therapist-detail-link:focus-visible{outline:3px solid #943552;outline-offset:3px}
.therapist-list-card .shift{flex-wrap:wrap}
.next-shift-date{flex-basis:100%;color:#752640;font-size:14px}
body[data-page="therapist"] .page-hero{padding-block:22px}
body[data-page="therapist"] .subpage-layout{display:block}
.therapist-detail{max-width:800px;margin:auto;min-width:0}
.detail-photo-layout{display:grid;grid-template-columns:minmax(0,1fr) 88px;gap:12px;align-items:stretch}
.detail-photo-layout.single-photo{grid-template-columns:minmax(0,1fr)}
.detail-photo-stage{position:relative;min-width:0;aspect-ratio:2/3;background:#f5eef2;overflow:hidden;border:1px solid #d9c9ad}
.detail-photo-slide{position:absolute;inset:0}
.detail-photo-slide[hidden]{display:none!important}
.detail-photo{display:block;width:100%;height:100%;object-fit:contain}
.detail-no-photo{height:100%;display:grid;place-items:center;color:#78626b;font-size:16px}
.detail-photo-thumbs{position:relative;min-height:0;height:0;min-height:100%;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;display:flex;flex-direction:column;gap:10px}
.detail-photo-thumbs button{flex:none;width:100%;padding:3px;border:2px solid transparent;background:#fff;cursor:pointer;border-radius:4px}
.detail-photo-thumbs button[aria-pressed="true"]{border-color:#943552;background:#f9e9ee}
.detail-photo-thumb{display:block;width:100%;aspect-ratio:2/3;object-fit:contain}
.detail-photo-prev,.detail-photo-next{position:absolute;z-index:4;top:0;bottom:0;width:50%;border:0;padding:0;background:transparent;cursor:pointer;color:white}
.detail-photo-prev{left:0;text-align:left}.detail-photo-next{right:0;text-align:right}
.detail-photo-prev span,.detail-photo-next span{display:inline-grid;place-items:center;width:32px;height:44px;margin:5px;background:#351b2a80;border-radius:4px;font:32px/1 sans-serif}
.detail-photo-prev:focus-visible,.detail-photo-next:focus-visible{outline:3px solid #b69455;outline-offset:-4px}
.detail-photo-count{position:absolute;z-index:5;bottom:10px;left:50%;transform:translateX(-50%);padding:3px 10px;border-radius:20px;background:#351b2ac9;color:#fff;font:14px/1.5 sans-serif;pointer-events:none}
.detail-name{text-align:center;padding:20px 0 26px}.detail-name h2{margin:0}.detail-name p{margin:5px 0 0}
.detail-booking,.detail-profile,.detail-social{margin:0 0 32px;padding:24px;border:1px solid #d9c9ad;background:#fffcf7;border-radius:10px}
.detail-week{list-style:none;margin:0 0 20px;padding:0}.detail-week li{display:grid;grid-template-columns:minmax(100px,.8fr) minmax(0,1fr);gap:12px;padding:13px 0;border-bottom:1px solid #e9dce1;align-items:center;font-size:16px}
.detail-week li div{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center}.detail-week li div span{font-size:14px;color:#6b5560}.detail-week strong{font-weight:500}
.detail-reserve{display:block;text-align:center;min-height:44px;box-sizing:border-box}
.detail-comment{white-space:pre-wrap;overflow-wrap:anywhere}
.detail-profile .feature-tags{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}
.detail-profile .feature-tags span{padding:5px 10px;border:1px solid #d7b6c7;background:#f7e9f0;color:#752640;border-radius:4px;font-size:14px}
.detail-highlight{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:20px;padding:14px;border:1px solid #b69455;background:#fff7e9;color:#752640}
.detail-highlight span{font-size:14px}.detail-highlight strong{font-size:17px}
.detail-social .therapist-gallery-socials{justify-content:flex-start;padding:0;background:transparent}
@media(max-width:800px){.therapist-list-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){
 .therapist-list-grid{grid-template-columns:1fr}
 .detail-photo-layout{grid-template-columns:minmax(0,1fr) 58px;gap:8px}
 .detail-photo-thumbs{gap:6px}
 .detail-booking,.detail-profile,.detail-social{padding:16px}
 .detail-week li{grid-template-columns:106px minmax(0,1fr);gap:8px;font-size:14px}
 .detail-photo-stage .therapist-highlight-ribbon{width:112px;height:112px}
 .detail-photo-stage .therapist-highlight-ribbon>span{top:24px;right:-54px;width:200px;padding:5px 48px;font-size:14px}
}
[data-profile-card]{cursor:pointer}
.profile-comment-preview{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;white-space:pre-line;overflow-wrap:anywhere}
.profile-read-more{display:block;margin:0 0 16px;padding:8px 0;border:0;border-bottom:1px solid #b89455;background:transparent;color:#752640;font:inherit;font-size:14px;cursor:pointer;min-height:44px;text-align:left}
.profile-read-more:focus-visible,.profile-dialog-close:focus-visible{outline:3px solid #943552;outline-offset:4px}
.therapist-profile-dialog{box-sizing:border-box;width:min(640px,calc(100% - 32px));max-height:calc(100dvh - 40px);margin:auto;padding:0;border:1px solid #b89455;border-radius:16px;background:#fffaf7;color:#48363b;box-shadow:0 24px 80px #29132155;overflow:auto;overscroll-behavior:contain}
.therapist-profile-dialog::backdrop{background:rgba(36,20,30,.64)}
.profile-dialog-heading{position:sticky;top:0;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:24px 28px 20px;border-bottom:1px solid #dfcbb0;background:#fffaf7}
.profile-dialog-heading p{margin:0 0 6px;color:#8b6b38;font:600 12px/1.5 sans-serif;letter-spacing:.16em}
.profile-dialog-heading h2{margin:0;color:#752640;font-size:24px;line-height:1.5;overflow-wrap:anywhere}
.profile-dialog-close{flex:none;min-height:44px;padding:8px 12px;border:1px solid #d1b993;border-radius:8px;background:#fff;color:#752640;font:inherit;font-size:14px;cursor:pointer}
.profile-dialog-close span{margin-left:5px;font-size:20px}
.profile-dialog-content{padding:24px 28px 32px}
.profile-dialog-comment{margin:0;font-size:16px;line-height:1.95;white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:600px){
 .therapist-profile-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 32px)}
 .profile-dialog-heading{padding:16px;gap:10px}
 .profile-dialog-heading h2{font-size:21px}
 .profile-dialog-content{padding:20px 18px 28px}
}
/* Shared public-page navigation: only the current section carries the accent. */
body:is(.luxury-site,[data-page]) .top-page-nav a:last-child{background:transparent;color:#4a2b2a}
body:is(.luxury-site,[data-page]) .top-page-nav a.is-current{background:#7b3b46;color:#fff;box-shadow:inset 0 -3px 0 #d6ad73}
body:is(.luxury-site,[data-page]) .top-page-nav a:focus-visible{outline:2px solid #7b3b46;outline-offset:-4px}
body[data-page] .page-intro{margin:0;padding:22px 24px;text-align:center;color:#68524f;font-size:16px;line-height:1.8}
.therapist-main-visual{position:relative;min-width:0;overflow:hidden}
.therapist-highlight-ribbon{position:absolute;z-index:3;top:0;right:0;width:150px;height:150px;overflow:hidden;pointer-events:none}
.therapist-highlight-ribbon[hidden]{display:none!important}
.therapist-highlight-ribbon>span{position:absolute;top:30px;right:-44px;display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:210px;min-height:38px;padding:7px 42px;transform:rotate(45deg);border-block:1px solid #efd298;background:linear-gradient(110deg,#5f1830,#943552 48%,#6c1d38);color:#fff9e9;font:700 14px/1.3 "Yu Gothic UI",Meiryo,sans-serif;letter-spacing:.06em;text-align:center;overflow-wrap:anywhere;text-shadow:0 1px 1px #431020;box-shadow:0 3px 8px #34152155}
.therapist-highlight-ribbon>span:before{content:"";position:absolute;inset:3px 0;border-block:1px solid #f5ddb78c;pointer-events:none}
.dense-card>.therapist-main-visual>.public-therapist-photo{display:block;width:100%;height:auto;min-height:390px;aspect-ratio:4/5;object-fit:cover;object-position:center}
@media(max-width:600px){
 .dense-card>.therapist-main-visual>.public-therapist-photo{height:100%;min-height:300px;aspect-ratio:auto}
 .public-v2-schedule-grid .therapist-highlight-ribbon,.dense-card .therapist-highlight-ribbon{width:125px;height:125px}
 .public-v2-schedule-grid .therapist-highlight-ribbon>span,.dense-card .therapist-highlight-ribbon>span{top:25px;right:-48px;width:200px;padding:5px 45px;font-size:14px}
}

/* NEWS entries with a body expand in place; older title-only entries keep their links. */
.news-list .news-item{border-bottom:1px solid var(--d-line)}
.news-list .news-item summary{display:grid;grid-template-columns:100px minmax(0,1fr) 64px;gap:14px;align-items:center;padding:17px 8px;cursor:pointer;list-style:none}
.news-list .news-item summary::-webkit-details-marker{display:none}
.news-list .news-item summary>span{overflow-wrap:anywhere}
.news-list .news-item summary:focus-visible{outline:2px solid var(--d-rose);outline-offset:-2px}
.news-list .news-item-body{padding:0 8px 20px 122px;color:#604d55;font-size:15px;line-height:1.8;overflow-wrap:anywhere}
@media(max-width:600px){.news-list .news-item summary{grid-template-columns:80px minmax(0,1fr)}.news-list .news-item summary b{display:none}.news-list .news-item-body{padding-left:8px}}

/* Layered public pages: keep the DAHLIA pastels, photos, navigation and content intact. */
body:is(.luxury-site,[data-page]){
  --surface-shadow:0 18px 46px rgba(72,43,57,.10),0 3px 12px rgba(72,43,57,.045);
  --card-shadow:0 10px 24px rgba(72,43,57,.095),0 2px 5px rgba(72,43,57,.045);
  background:radial-gradient(circle at 7% 1%,#f6e4ec 0,transparent 32%),radial-gradient(circle at 92% 36%,#eee8f5 0,transparent 32%),linear-gradient(180deg,#fffcf9 0%,#f7f5f3 52%,#f5f1ed 100%);
}
body.luxury-site .site-frame{width:min(1280px,calc(100% - 48px));margin:32px auto 118px}
body.luxury-site .main-column{background:transparent!important;border:0;box-shadow:none;overflow:visible}
body.luxury-site .brand-hero{border-radius:20px;box-shadow:0 25px 56px rgba(54,35,46,.17);isolation:isolate}
body.luxury-site .hours-band{position:relative;z-index:2;width:calc(100% - 56px);margin:-24px auto 28px;border:1px solid #ead9dc;border-radius:14px;background:linear-gradient(125deg,#fffaf6 0%,#f8edf1 54%,#f1edf7 100%);box-shadow:var(--card-shadow)}
body.luxury-site .top-contact-banners{margin:0 0 30px;border:1px solid #eadfe4;border-radius:18px;background:linear-gradient(125deg,#fff9ef 0%,#f7edf2 57%,#f1edf7 100%);box-shadow:var(--surface-shadow)}
body.luxury-site .top-promo-slider{border-radius:12px;box-shadow:0 12px 28px rgba(79,52,62,.13)}
body.luxury-site .top-contact-grid .side-banner{border-radius:9px;box-shadow:0 4px 12px rgba(66,44,57,.08)}
body.luxury-site .luxe-section{position:relative;overflow:hidden;margin:0 0 26px;padding:clamp(40px,5vw,68px) clamp(24px,5vw,72px);border:1px solid rgba(181,149,165,.22);border-radius:18px;box-shadow:var(--surface-shadow)}
body.luxury-site .luxe-section::before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,#d8adbf,#e5d8eb,#d8e4d3);opacity:.65;pointer-events:none}
body.luxury-site .latest-panel{background:linear-gradient(145deg,#fffefb 0%,#f9f1ea 100%)}
body.luxury-site .therapists-section{background:linear-gradient(145deg,#f8f4fb 0%,#efeaf5 100%)}
body.luxury-site .newcomer-section{background:linear-gradient(145deg,#fff7f9 0%,#f4e5ed 100%)}
body.luxury-site .recommend-section{background:linear-gradient(145deg,#fffdf9 0%,#f4f0f8 100%)}
body.luxury-site .news-section{background:linear-gradient(145deg,#fffdf7 0%,#f7eff3 100%)}
body.luxury-site .concept-lux{background:linear-gradient(130deg,#f5e6ee 0%,#f8edf1 50%,#eee7f3 100%)!important}
body.luxury-site .environment-section{background:linear-gradient(145deg,#fffdfa 0%,#edf4ee 100%)}
body.luxury-site .reservation-guide{margin:0 0 28px;border:1px solid #d7e2d3;border-radius:18px;background:linear-gradient(135deg,#e4efe4,#f0f4e9 52%,#f8f2eb);box-shadow:var(--surface-shadow)}
body.luxury-site .lux-footer{border-radius:16px;overflow:hidden}
body.luxury-site :is(.dense-card,.new-face-card,.recommend-grid a,.availability-row,.news-item,.environment-grid>div:last-child){border-radius:12px;box-shadow:var(--card-shadow)}
body.luxury-site :is(.dense-card,.new-face-card,.recommend-grid a){transition:transform .2s ease,box-shadow .2s ease}
@media(hover:hover){body.luxury-site :is(.dense-card,.new-face-card,.recommend-grid a):hover{transform:translateY(-3px);box-shadow:0 16px 30px rgba(72,43,57,.15)}}

/* Subpages have their own editorial heading and content-led surfaces, not one enclosing slab. */
body[data-page] .page-shell{width:min(1180px,calc(100% - 40px))!important;min-height:100vh;background:transparent!important;border:0!important;box-shadow:none}
body[data-page] .page-shell>.top{border-radius:0 0 12px 12px;box-shadow:0 7px 24px rgba(72,43,57,.07)}
body[data-page] .top-page-nav{position:relative;z-index:1;border:1px solid #e8dbe1;border-top:0;border-radius:0 0 12px 12px;overflow:hidden;box-shadow:0 10px 24px rgba(72,43,57,.075)}
body[data-page] .page-hero{position:relative;margin:28px 0 0;padding:50px 24px 44px!important;border:1px solid #eadce2!important;border-radius:18px;background:linear-gradient(120deg,#f7e8ef 0%,#f6edf3 55%,#eee9f4 100%)!important;color:#4e3040!important;box-shadow:var(--surface-shadow);overflow:hidden}
body[data-page] .page-hero::after{content:"";position:absolute;right:-38px;top:-72px;width:270px;height:270px;border-radius:50%;background:radial-gradient(circle,#fff9 0%,#fff0 70%);pointer-events:none}
body[data-page] .page-hero .en{display:block;color:#8a6379!important;font-size:13px;letter-spacing:.2em}
body[data-page] .page-hero h1{position:relative;z-index:1;margin:8px 0 0;color:#4b2e3c;font-size:clamp(30px,3.6vw,46px);line-height:1.4}
body[data-page] .page-intro{max-width:820px;margin:0 auto;padding:24px 20px 26px;color:#68525e;font-size:16px;line-height:1.9}
body[data-page] .top-contact-banners{margin:0 0 10px;border:1px solid #e9dfe2;border-radius:16px;background:linear-gradient(130deg,#fff9f0,#f5eef6);box-shadow:var(--surface-shadow)}
body[data-page] .top-promo-slider{border-radius:10px;box-shadow:0 12px 26px rgba(72,43,57,.11)}
body[data-page] .subpage-layout{padding:38px 34px 112px;background:transparent!important}
body[data-page] .page-content{max-width:1080px;margin:auto}
body[data-page] .page-content>.backtop{margin-top:34px;padding:12px 20px;border:1px solid #d8c5cd;border-radius:8px;background:#fffaf8;box-shadow:0 4px 12px rgba(72,43,57,.07)}
body[data-page] :is(.editorial-lead,.next-guide,.notice-list,.course-group,.payment-methods,.form-panel,.review-form-section,.schedule-update,.review-summary,.recruit-hero-card,.recruit-income,.requirements,.recruit-message){border:1px solid rgba(176,147,162,.18)!important;box-shadow:var(--surface-shadow)}
body[data-page] :is(.value-grid article,.flow-steps article,.payment-method-card,.contact-choice a,.cast-detail-card,.ranking-card,.dense-card,.public-therapist-card,.public-review,.diary-card,.recruit-benefits article,.recruit-facts article,.detail-booking,.detail-profile,.detail-social){box-shadow:var(--card-shadow)}
body[data-page] :is(.value-grid article,.flow-steps article,.payment-method-card,.contact-choice a,.public-review,.diary-card,.recruit-benefits article,.recruit-facts article){border-radius:12px}
body[data-page] .editorial-lead{background:linear-gradient(135deg,#f8eaf0 0%,#f6edf5 100%);padding:clamp(28px,4vw,52px)}
body[data-page] .editorial-lead h2{margin-top:16px;margin-bottom:20px}
body[data-page] .value-grid{gap:18px;margin:22px 0 34px}
body[data-page] .value-grid article:nth-child(2){transform:translateY(10px)}
body[data-page] .value-grid article:nth-child(3){transform:translateY(20px)}
body[data-page] .flow-steps{gap:18px}
body[data-page] .flow-steps article{position:relative;border-left:4px solid #c7a6b9!important;background:linear-gradient(125deg,#fffdfa,#f8f2f7)}
body[data-page] .flow-steps article:nth-child(even){border-left-color:#aac4aa!important;background:linear-gradient(125deg,#fffdfa,#eef5ec)}
body[data-page] .price-heading{padding:28px 32px;margin-bottom:28px;border-radius:14px;background:linear-gradient(120deg,#fffcf7,#f5eef6);box-shadow:var(--card-shadow)}
body[data-page] .payment-methods{background:linear-gradient(135deg,#ebf3e9,#f3f4ee 60%,#faf7f0)}
body[data-page] .payment-method-card{background:#fffdfa;border:1px solid #dfe7dc!important}
body[data-page] .contact-choice a{background:linear-gradient(140deg,#fffdfa,#f9edf3)}
body[data-page] .contact-choice a:nth-child(2){background:linear-gradient(140deg,#f6fbf5,#e8f2e5)}
body[data-page] .contact-choice a:nth-child(3){background:linear-gradient(140deg,#fbf9ff,#eee9f6)}
body[data-page] .form-panel{background:linear-gradient(140deg,#faebf2,#f9f1f4)}
body[data-page] .list-summary{margin-bottom:24px;box-shadow:var(--card-shadow)}
body[data-page] .schedule-update{background:linear-gradient(120deg,#e8f1e7,#f7f5ed)}
body[data-page] .review-summary{background:linear-gradient(120deg,#e7f1e6,#f5f8f0)}
body[data-page] .recruit-hero-card{background:linear-gradient(125deg,#f8e8ef,#f4ebf5 70%,#e9f1e6)!important}
body[data-page] .recruit-facts{gap:18px;margin-block:28px}
body[data-page] .recruit-facts article:nth-child(2){background:#eef4eb}
body[data-page] .recruit-facts article:nth-child(3){background:#f4eff8}
body[data-page] .faq-category{margin-top:26px;border:1px solid #e4d9e8;border-bottom:0;border-radius:14px 14px 0 0;background:linear-gradient(115deg,#f1eaf6,#f8f4fb);box-shadow:0 8px 20px rgba(72,43,57,.08)}
body[data-page] .faq-list{border:1px solid #e4d9e8;border-top:0;border-radius:0 0 14px 14px;box-shadow:var(--card-shadow)}
body[data-page="therapist"] .page-hero{padding:24px!important}

@media(max-width:700px){
  body.luxury-site .lux-header-inner{box-sizing:border-box}
  body.luxury-site .site-frame{width:calc(100% - 24px);margin:14px auto 100px}
  body.luxury-site .brand-hero{border-radius:14px}
  body.luxury-site .hours-band{width:calc(100% - 22px);margin:-13px auto 18px;padding:13px 10px}
  body.luxury-site .top-contact-banners{margin-bottom:16px}
  body.luxury-site .luxe-section{margin-bottom:16px;padding:34px 20px;border-radius:14px}
  body.luxury-site .reservation-guide{margin-bottom:18px;border-radius:14px}
  body[data-page] .page-shell{width:calc(100% - 20px)!important}
  body[data-page] .page-hero{margin-top:14px;padding:31px 16px 28px!important;border-radius:14px}
  body[data-page] .page-hero h1{font-size:clamp(27px,7vw,34px)}
  body[data-page] .page-intro{padding:17px 12px 21px}
  body[data-page] .top-contact-banners{border-radius:12px}
  body[data-page] .subpage-layout{padding:24px 8px 100px}
  body[data-page] .editorial-lead{padding:26px 20px}
  body[data-page] .value-grid article:nth-child(2),body[data-page] .value-grid article:nth-child(3){transform:none}
  body[data-page] .price-heading{padding:22px 16px}
  body[data-page] .faq-category{padding:18px 18px 8px}
}
@media(prefers-reduced-motion:reduce){body.luxury-site :is(.dense-card,.new-face-card,.recommend-grid a){transition:none}}

/* Override the earlier shared light wash so each section keeps its own depth. */
body.luxury-site .main-column .latest-panel{background-color:#fffdf9!important;background-image:linear-gradient(145deg,#fffefa 0%,#f7f0ea 100%)!important}
body.luxury-site .main-column .therapists-section{background-color:#f1edf6!important;background-image:linear-gradient(145deg,#f9f5fb 0%,#eee9f5 100%)!important}
body.luxury-site .main-column .newcomer-section{background-color:#f7e9ee!important;background-image:linear-gradient(145deg,#fff7f9 0%,#f3e4eb 100%)!important}
body.luxury-site .main-column .recommend-section{background-color:#f1edf6!important;background-image:linear-gradient(145deg,#fffdf9 0%,#f1edf6 100%)!important}
body.luxury-site .main-column .news-section{background-color:#fffcf7!important;background-image:linear-gradient(145deg,#fffdf7 0%,#f6edf2 100%)!important}
body.luxury-site .main-column .concept-lux{background-color:#f7e9ee!important;background-image:linear-gradient(130deg,#f5e6ee 0%,#f8edf1 50%,#eee7f3 100%)!important}
body.luxury-site .main-column .environment-section{background-color:#fffcf7!important;background-image:linear-gradient(145deg,#fffdfa 0%,#ebf3ed 100%)!important}
body.luxury-site .main-column .reservation-guide{background-color:#edf3e9!important;background-image:linear-gradient(135deg,#e4efe4,#f0f4e9 52%,#f8f2eb)!important}
body[data-page] .page-shell .page-hero{background-color:#f4e8ee!important;background-image:linear-gradient(120deg,#f7e8ef 0%,#f6edf3 55%,#eee9f4 100%)!important}
body[data-page] .page-shell .editorial-lead{background-image:linear-gradient(135deg,#f8eaf0,#f4edf6)!important}
body[data-page] .page-shell .payment-methods{background-image:linear-gradient(135deg,#ebf3e9,#f3f4ee 60%,#faf7f0)!important}
body[data-page] .page-shell .form-panel{background-image:linear-gradient(140deg,#faebf2,#f9f1f4)!important}
body[data-page] .page-shell .recruit-hero-card{background-image:linear-gradient(125deg,#f8e8ef,#f4ebf5 70%,#e9f1e6)!important}

/* Every visible nav item is a flower; the full link box remains clickable. */
body:is(.luxury-site,[data-page]) .top-page-nav{gap:5px 4px;padding:4px 0;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important}
body:is(.luxury-site,[data-page]) .top-page-nav a{--flower-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 100' preserveAspectRatio='none'%3E%3Cpath d='M80 8 C90 0 99 5 106 15 C118 7 130 10 134 23 C149 23 157 34 151 48 C162 58 156 72 141 76 C140 91 128 96 114 89 C105 101 92 101 80 92 C68 101 55 101 46 89 C32 96 20 91 19 76 C4 72 -2 58 9 48 C3 34 11 23 26 23 C30 10 42 7 54 15 C61 5 70 0 80 8 Z' fill='%23000'/%3E%3C/svg%3E");--flower-outline:#d8bdcb;--flower-fill:#f5e3eb;position:relative;z-index:0;isolation:isolate;min-width:0;padding:13px 12px;border:0!important;background:transparent!important;color:#4a2b3b!important;box-shadow:none!important;text-shadow:none;overflow-wrap:anywhere}
body:is(.luxury-site,[data-page]) .top-page-nav a:nth-child(3n+2){--flower-outline:#d2c4df;--flower-fill:#eee6f4}
body:is(.luxury-site,[data-page]) .top-page-nav a:nth-child(3n){--flower-outline:#c7d9c7;--flower-fill:#e8f0e6}
body:is(.luxury-site,[data-page]) .top-page-nav a::before,body:is(.luxury-site,[data-page]) .top-page-nav a::after{content:"";position:absolute;z-index:-1;pointer-events:none;-webkit-mask:var(--flower-mask) center/100% 100% no-repeat;mask:var(--flower-mask) center/100% 100% no-repeat}
body:is(.luxury-site,[data-page]) .top-page-nav a::before{inset:2px;background:var(--flower-outline)}
body:is(.luxury-site,[data-page]) .top-page-nav a::after{inset:4px;background:var(--flower-fill)}
body:is(.luxury-site,[data-page]) .top-page-nav a.is-current,body:is(.luxury-site,[data-page]) .top-page-nav a.is-current:hover,body:is(.luxury-site,[data-page]) .top-page-nav a.is-current:focus-visible{--flower-outline:#f8dce8;--flower-fill:#7b3b46;color:#fff!important;text-shadow:0 1px 2px rgba(55,24,35,.55)}
body:is(.luxury-site,[data-page]) .top-page-nav a:hover{filter:brightness(.96)}
body:is(.luxury-site,[data-page]) .top-page-nav a:focus-visible{outline:0;filter:drop-shadow(0 0 4px #7b3b46)}

/* A softly blurred flower field sits behind public pages only. */
body:is(.luxury-site,[data-page]){position:relative;isolation:isolate;background:transparent!important}
body:is(.luxury-site,[data-page])::before{content:"";position:fixed;z-index:-1;inset:-18px;pointer-events:none;background-color:#f7f0f4;background-image:linear-gradient(135deg,rgba(255,250,249,.68),rgba(248,241,247,.66)),url('/flower-field-background.png');background-position:center,center 55%;background-size:cover;background-repeat:no-repeat;filter:blur(8px) saturate(.9)}

/* Home: let the main image lead, then reveal quiet floating navigation. */
body.home-page .site-frame{width:min(1440px,100%);margin:0 auto 118px}
body.home-page .main-column{position:relative}
body.home-page .brand-hero{border-radius:0;box-shadow:none}
body.home-page .hours-band,body.home-page .top-page-nav{display:none!important}
body.home-page .home-header{position:fixed;z-index:65;top:0;left:0;right:0;background:none!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;pointer-events:none}
body.home-page .home-header .lux-header-inner{box-sizing:border-box;width:min(1440px,100%);height:0;padding:0 clamp(14px,2vw,28px);display:flex;align-items:flex-start;justify-content:space-between}
body.home-page .home-header .lux-brand{margin-top:clamp(12px,2vw,24px);padding:8px 16px;border:1px solid rgba(184,157,171,.65);border-radius:999px;background:rgba(255,251,249,.91);box-shadow:0 6px 22px rgba(55,35,44,.13);color:#553346;opacity:0;filter:blur(7px);transform:translateY(-10px) scale(.93);transition:opacity .8s ease,filter .8s ease,transform .85s cubic-bezier(.2,1.15,.35,1);pointer-events:none}
body.home-page .home-header .lux-brand strong{font-size:clamp(25px,3vw,34px);line-height:1.1}
body.home-page .home-menu-button{display:flex!important;align-items:center;gap:7px;min-height:43px;margin:0;padding:9px 15px!important;border:1px solid rgba(184,157,171,.7)!important;border-radius:999px;background:rgba(255,251,249,.91)!important;box-shadow:0 6px 22px rgba(55,35,44,.14);color:#553346!important;backdrop-filter:blur(10px);cursor:pointer}
body.home-page .home-menu-button b{font-size:22px!important;line-height:1}
body.home-page .home-menu-button span{font-size:11px;line-height:1.2;letter-spacing:.1em}
body.home-page .home-menu-button:focus-visible,body.home-page .home-header .lux-brand:focus-visible{outline:3px solid #7b3b46;outline-offset:3px}
body.home-page .home-hero-controls{position:absolute;z-index:66;top:clamp(12px,2vw,24px);right:clamp(14px,2vw,28px)}
body.home-page .home-header .home-sticky-menu{margin-top:clamp(12px,2vw,24px);opacity:0;filter:blur(7px);transform:translateY(-10px) scale(.93);transition:opacity .8s ease,filter .8s ease,transform .85s cubic-bezier(.2,1.15,.35,1);pointer-events:none}
body.home-page .home-header.is-past-hero .lux-brand,body.home-page .home-header.is-past-hero .home-sticky-menu{opacity:1;filter:blur(0);transform:translateY(0) scale(1);pointer-events:auto}
body.home-page .home-header.is-past-hero .home-sticky-menu{transition-delay:.03s}
@media(max-width:700px){body.home-page .site-frame{width:100%;margin-top:0}body.home-page .home-header .lux-brand{padding:8px 13px}body.home-page .home-menu-button{min-height:40px;padding:8px 12px!important}body.home-page .home-menu-button span{font-size:10px}}
@media(prefers-reduced-motion:reduce){body.home-page .home-header .lux-brand,body.home-page .home-header .home-sticky-menu{transition:none;filter:none;transform:none}}

/* Six straightforward links between the home visual and the slide banners. */
body.home-page .home-quick-links{box-sizing:border-box;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:min(100%,1020px);margin:0 auto;padding:20px 16px}
body.home-page .home-quick-links>*{box-sizing:border-box;display:grid;place-items:center;min-width:0;min-height:58px;padding:9px 4px;border:1px solid #bfa8b3;background:rgba(255,255,255,.92);color:#4e3341;font-size:clamp(13px,1.5vw,16px);font-weight:600;letter-spacing:.02em;line-height:1.3;text-align:center}
body.home-page .home-quick-links a:hover{background:#f9f1f5;border-color:#8d6077}
body.home-page .home-quick-links a:focus-visible{outline:2px solid #7b3b46;outline-offset:2px}
body.home-page .home-quick-links span{color:#786e74;border-color:#d7cbd0}
@media(max-width:700px){body.home-page .home-quick-links{gap:7px;padding:14px 10px}body.home-page .home-quick-links>*{min-height:52px;padding:7px 2px}}

/* Today's message runs between the main visual and six-link menu. */
body.home-page .home-news-ticker{overflow:hidden;background:#60283f;color:#fff9f5;border-top:1px solid #a77b8c;border-bottom:1px solid #a77b8c}
body.home-page .home-news-ticker-text{box-sizing:content-box;display:block;width:max-content;margin:0;padding:12px 0 12px 100%;font-size:clamp(15px,2vw,20px);font-weight:700;line-height:1.5;letter-spacing:.04em;white-space:nowrap;animation:home-news-scroll 14.6666667s linear infinite}
@keyframes home-news-scroll{from{transform:translateX(0)}to{transform:translateX(-100%)}}
@media(max-width:700px){body.home-page .top-contact-aside{display:none!important}body.home-page .home-news-ticker-text{padding-top:10px;padding-bottom:10px}}
@media(prefers-reduced-motion:reduce){body.home-page .home-news-ticker-text{box-sizing:border-box;width:100%;padding:12px 16px;white-space:normal;text-align:center;animation:none}}

/* Compact icon-only menu and the same reveal timing for the fixed actions. */
body.home-page .home-menu-button{box-sizing:border-box;justify-content:center;width:46px;min-width:46px;height:46px;min-height:46px;padding:0!important;border-left:1px solid rgba(184,157,171,.7)!important}
body.home-page .home-menu-button b{line-height:1!important}
body[data-page] .page-shell>.top .menu-trigger{display:grid;place-items:center;min-width:44px;min-height:44px;padding:4px!important}
body.home-page .fixed-reservation{opacity:0;filter:blur(7px);transform:translate(-50%,14px) scale(.98);transition:opacity .8s ease,filter .8s ease,transform .85s cubic-bezier(.2,1.15,.35,1);pointer-events:none}
body.home-page.is-past-hero .fixed-reservation{opacity:1;filter:none;transform:translate(-50%,0) scale(1);pointer-events:auto}

/* Reception hours and today's profiles are drawn from the existing published schedule. */
body.home-page .availability-scroll.has-live-ticker{max-height:none;margin:22px 0 0;overflow:hidden;border:0}
body.home-page .availability-ticker{overflow:hidden;border:1px solid #d5bdc8;border-radius:8px;background:#fffafc;color:#502b3f}
body.home-page .availability-ticker-text{box-sizing:content-box;display:block;width:max-content;margin:0;padding:13px 0 13px 100%;font-size:16px;font-weight:700;line-height:1.5;white-space:nowrap;animation:home-news-scroll 28s linear infinite}
body.home-page .availability-ticker-separator{color:#9e7082}
body.home-page .therapists-section .dense-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:840px;margin-inline:auto}
body.home-page .therapists-section .home-therapist-card{display:block;min-width:0;overflow:hidden;color:#432d39;background:#fff}
body.home-page .therapists-section .home-therapist-card>.public-therapist-photo{display:block;width:100%;height:auto;min-height:0;aspect-ratio:4/5;object-fit:cover;object-position:center}
body.home-page .home-therapist-meta{display:grid;gap:4px;padding:12px 14px}
body.home-page .home-therapist-meta strong{font:600 20px/1.4 "Yu Mincho",serif;color:#402437}
body.home-page .home-therapist-facts{display:flex;flex-wrap:wrap;gap:3px 12px;font-size:14px;line-height:1.5}
body.home-page .home-therapist-time{font-size:14px;font-weight:700;line-height:1.5}
body.home-page .home-therapist-card:focus-visible{outline:3px solid #7b3b46;outline-offset:3px}

@media(max-width:700px){
  body.home-page .home-menu-button{width:44px;min-width:44px;height:44px;min-height:44px;padding:0!important}
  body.home-page .top-contact-banners{display:block;width:100%;margin:0 0 16px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
  body.home-page .top-promo-slider{display:block;width:100%;min-height:0;padding:0;border:0;border-radius:0;box-shadow:none}
  body.home-page .top-promo-slides{width:100%;border:0}
  body.home-page .top-promo-empty{display:grid;place-items:center;min-height:180px}
  body.home-page .top-promo-controls{position:absolute;z-index:3;left:50%;bottom:7px;transform:translateX(-50%);min-height:0;padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.82)}
  body.home-page .therapists-section .dense-cards{gap:9px}
  body.home-page .home-therapist-meta{gap:3px;padding:9px 8px}
  body.home-page .home-therapist-meta strong{font-size:17px}
}
@media(prefers-reduced-motion:reduce){body.home-page .fixed-reservation{transition:none;filter:none}body.home-page .availability-ticker-text{box-sizing:border-box;width:100%;padding:13px 14px;white-space:normal;animation:none}}

/* Home sections flow without an enclosing card; nested cards and controls keep their styling. */
body.home-page .main-column :is(.luxe-section:not(.latest-panel),.reservation-guide){overflow:visible;border:0!important;border-radius:0;box-shadow:none;background:transparent!important}
body.home-page .main-column .luxe-section:not(.latest-panel)::before{display:none}

/* Only the currently accepting therapists appear in a single, low-profile moving band. */
body.home-page .main-column .latest-panel{box-sizing:border-box;overflow:hidden;width:100%;margin:0 0 8px;padding:0;border:0;border-radius:0;box-shadow:none;background-color:#f9f4f7!important;background-image:none!important}
body.home-page .main-column .latest-panel[hidden]{display:none}
body.home-page .latest-panel .availability-scroll,body.home-page .latest-panel .availability-scroll.has-live-ticker{box-sizing:border-box;max-height:none;margin:0;padding:0;overflow:hidden;border:0}
body.home-page .latest-panel .availability-ticker{border:0;border-radius:0;background:transparent}
body.home-page .latest-panel .availability-ticker-text{padding-top:7px;padding-bottom:7px}
@media(prefers-reduced-motion:reduce){body.home-page .latest-panel .availability-ticker-text{padding:7px 14px}}
