@font-face{font-family:LeadScript;src:url(/images/stores/script-font.ttf) format("truetype");font-display:swap}
:root{font-size:min(1.183431953vw,20px);--ink:#15130f;--gold:#e5c991;--paper:#fffdfb;--serif:'Yu Mincho','Hiragino Mincho ProN','Noto Serif JP',serif;--sans:'Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}h1,h2,h3,p,figure,ul,ol{margin:0}ul,ol{padding:0;list-style:none}a:focus-visible,summary:focus-visible,button:focus-visible{outline:3px solid #ac741d;outline-offset:3px}a:hover{filter:brightness(.93)}.site{width:100%;max-width:1690px;margin:auto}.art{background-repeat:no-repeat}.sr-only,.skip:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip:focus{position:fixed;z-index:100;left:10px;top:10px;background:#fff;padding:10px}.hero{height:33.2rem;position:relative;background:#100d0a}.hero-art{position:absolute;inset:0}.hero-cta{position:absolute;left:4.26%;top:87.65%;width:25.32%;height:9.65%;border-radius:100px}.hero-cta span,.closing-links span{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden}#site-header{position:absolute;inset:0 0 auto;height:6.2rem;z-index:2}.header-logo{position:absolute;left:4.25%;top:.4rem;width:22%;height:5.3rem}.header-logo span,.header-nav a span{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden}.header-nav a{position:absolute;top:1.3rem;height:3.4rem;display:grid;place-items:center;border-radius:99px}.mobile-toggle,.mobile-hero-copy{display:none}.section-bar{display:flex;align-items:center;height:4.6rem;gap:1.4rem;white-space:nowrap}.section-bar h2{font-size:1.85rem;letter-spacing:.18rem;font-weight:500}.section-bar p{font-size:.85rem;color:#68645e;letter-spacing:.03rem}.pill{display:flex;align-items:center;justify-content:center;border:1px solid #d2cfca;border-radius:99px;height:2.6rem;font-family:var(--sans);font-size:1rem;font-weight:600;letter-spacing:.06rem;white-space:nowrap}.section-bar .pill{margin-left:auto;font-size:.92rem;padding:0 1.7rem;height:2.4rem}.therapists{height:41rem;padding:0 3.7rem;background:#fffefd}.cast-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.9rem}.cast-card{border:1px solid #e3dfd9;border-radius:.25rem;overflow:hidden;background:#fffefd;box-shadow:0 .15rem .25rem #20140709}.cast-photo{display:block;height:21.5rem}.cast-art{width:100%;height:100%}.cast-copy{padding:.55rem .9rem .7rem}.cast-name{font-family:var(--sans);font-size:1.6rem;letter-spacing:.16rem;font-weight:600;color:#07518a;line-height:1.6}.cast-en{font-family:var(--sans);font-size:.85rem;letter-spacing:.12rem;color:#a8a199;height:1.6rem}.cast-stats{display:flex;align-items:center;gap:.35rem;white-space:nowrap;margin:.4rem 0 .7rem;font-family:var(--sans);font-size:1rem;letter-spacing:-.035rem;color:#71747a}.cast-stats span{background:#f4f4f4;padding:.1rem .15rem}.cast-intro{font-size:1.02rem;color:#78716a;line-height:1.6;letter-spacing:.06rem;min-height:3.7rem}.cast-copy .pill{margin-top:.2rem;width:100%}.reassurance{height:17.8rem;display:grid;grid-template-columns:19rem 35.1rem 1fr;position:relative;color:#fff6e9;background:#110e0a}.concerns{z-index:1;padding:1.4rem 0 0 3.8rem;white-space:nowrap}.concerns h2{font-weight:400;font-size:1.8rem;letter-spacing:.24rem;line-height:1.4;margin-bottom:1rem}.concerns li{font-size:1rem;letter-spacing:.04rem;line-height:2.05}.concerns li:before{content:'✓';display:inline-grid;place-items:center;width:1.4rem;height:1.4rem;margin-right:.9rem;border-radius:50%;background:var(--gold);color:#282117;font-family:var(--sans);font-weight:bold;font-size:.95rem}.reassurance-art{height:100%;margin-left:-.6rem}.reassurance-copy{padding:1.6rem 3.8rem .7rem 1.6rem}.reassurance-copy h2{font-size:1.5rem;line-height:1.4;font-weight:400;white-space:nowrap;letter-spacing:.08rem}.reassurance-copy ul{display:flex;gap:.7rem;margin:1.1rem 0 .45rem}.reassurance-copy li{display:grid;place-items:center;text-align:center;width:7.8rem;height:7.4rem;border:1px solid #8d743f;border-radius:50%;font-size:.83rem;line-height:1.4}.gold-button{height:2.7rem;display:flex;justify-content:center;align-items:center;border-radius:99px;background:linear-gradient(110deg,#c5a26a,#fff0bd);color:#241d10;font-size:1rem;font-weight:600;letter-spacing:.12rem}.reasons{height:19.2rem;padding:0 3.7rem}.reasons>h2{height:4.4rem;display:flex;align-items:center;justify-content:center;font-size:1.85rem;font-weight:400;letter-spacing:.04rem}.reasons>h2 span{font-size:3.2rem;margin:0 .3rem}.reason-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3.4rem}.reason-grid article{border:1px solid #eae4de;box-shadow:0 .2rem .25rem #1f0b0406}.reason-art{height:6.4rem}.reason-copy{display:flex;gap:1.5rem;padding:.55rem .65rem .6rem;min-height:7.6rem}.number{font-family:var(--serif);font-size:3rem;line-height:1;color:#b97d5c}.reason-copy h3{font-size:1.2rem;font-weight:500;letter-spacing:.09rem;margin-bottom:.35rem}.reason-copy p{font-size:1.06rem;line-height:1.4;letter-spacing:.035rem;color:#696159}.scenes{height:13.1rem;padding:0 3.7rem}.scenes h2{height:3rem;text-align:center;font-size:1.75rem;letter-spacing:.14rem;font-weight:500}.scene-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.35rem}.scene-art{height:7rem}.scene-grid figcaption{height:2.6rem;display:grid;place-items:center;font-size:1.08rem;white-space:nowrap}.flow{height:11.7rem;padding:1rem 3.7rem 1rem;background:radial-gradient(ellipse at 42% 95%,#342419 0,transparent 30%),linear-gradient(90deg,#100e0b,#17120d 64%,#100e0b);color:#eee7dc}.flow h2{font-size:1.65rem;font-weight:400;letter-spacing:.1rem;margin-bottom:.8rem}.flow ol{display:grid;grid-template-columns:repeat(4,1fr);gap:3rem}.flow li{display:flex;position:relative;gap:1.2rem}.flow li:not(:last-child):after{content:'';position:absolute;right:-1rem;top:2rem;width:.85rem;height:.85rem;border:solid #d3b97b;border-width:1px 1px 0 0;transform:rotate(45deg)}.step-number{width:4.7rem;height:4.7rem;flex-shrink:0;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;background:#332c1b;color:#e5ca8d;font-size:2.1rem;line-height:1}.step-desktop{display:flex;flex-direction:column;align-items:center}.step-number small{font-size:.7rem;margin-bottom:.1rem}.step-label{color:#b9a16d;font-size:1.05rem;letter-spacing:.2rem}.flow h3{font-size:1.08rem;line-height:1.8;font-weight:400}.flow p{font-size:1rem;line-height:1.45;letter-spacing:.03rem;white-space:nowrap}.information{padding:0 3.7rem;background:linear-gradient(100deg,#fffefd,#fcf9f5 70%,#fffefd)}.price-row,.reviews-row{display:grid;grid-template-columns:17rem 1fr;gap:1.2rem}.price-row{min-height:8.8rem;padding-top:1.2rem}.info-heading h2{font-size:1.6rem;font-weight:400;letter-spacing:.04rem;line-height:1.3}.info-heading p{font-size:.98rem;color:#6b655f;line-height:1.4;margin:.15rem 0 .35rem}.info-heading .pill{font-size:.94rem;width:max-content;min-width:11.3rem;padding:0 1.4rem;height:2.3rem}.price-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;padding-top:.45rem;grid-template-columns:repeat(4,11.6rem)}.price-grid>a{border:1px solid #ebe6e0;border-radius:.35rem;height:5.8rem;box-shadow:0 .2rem .35rem #20100605;background:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.45rem}.price-grid>a>small{font-size:1rem;letter-spacing:.06rem}.price-grid strong{font-size:1.9rem;font-weight:500;white-space:nowrap}.price-grid strong small{font-size:1.5rem}.reviews-row{min-height:9.9rem;padding-top:.35rem}.review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.review-grid article{display:flex;align-items:center;gap:1.5rem;padding:.65rem 1.4rem;background:#fffefd;border:1px solid #efe8e0;height:9.1rem}.review-avatar{width:4.2rem;height:5.8rem;flex-shrink:0}.review-grid h3{font-size:1rem;font-weight:600;letter-spacing:.035rem;line-height:1.6}.review-grid p{font-size:.8rem;line-height:1.65;color:#68615a;white-space:nowrap}.review-grid span{font-size:.85rem;color:#797169}.review-grid b{font-family:var(--sans);font-size:1.2rem;letter-spacing:.1rem;color:#ff9500;margin-left:.8rem}.faq-row{min-height:11.2rem;display:grid;grid-template-columns:25rem 29rem 1fr;gap:1rem;padding-top:.7rem}.faqs{padding-top:.1rem}.faqs details{border:1px solid #e7e2db;background:#fffefd;border-bottom:0}.faqs details:last-child{border-bottom:1px solid #e7e2db}.faqs summary{list-style:none;cursor:pointer;display:flex;align-items:center;font-size:1.08rem;padding:.37rem .8rem;line-height:1.35;color:#66615b}.faqs summary::-webkit-details-marker{display:none}.faqs summary:before{content:'＋';border:1px solid #8c8984;border-radius:50%;width:1.3rem;height:1.3rem;display:grid;place-items:center;font-family:var(--sans);font-size:1.15rem;line-height:1;margin-right:.8rem}.faqs details[open] summary:before{content:'−'}.faqs details p{padding:.5rem 1rem .8rem;font-size:1rem;line-height:1.6}.faq-art{height:10.4rem}.closing{height:12.3rem;position:relative;background:#211910}.closing-art{position:absolute;inset:0}.closing-links>a{position:absolute;top:50%;height:28%;border-radius:99px}.closing-links>a:first-of-type{left:26.2%;width:21.6%}.closing-links>a:last-of-type{left:48.7%;width:21.25%}#site-footer{height:8rem;display:flex;align-items:center;padding:0 3.7rem;gap:1rem;background:#fffdfc}.footer-logo{width:15.8rem;height:4.3rem;flex-shrink:0}#site-footer nav{display:flex;align-items:center;gap:1.15rem;white-space:nowrap;font-family:var(--sans);font-size:.64rem;margin-left:.1rem}#site-footer small{font-family:var(--sans);font-size:.65rem;white-space:nowrap;margin-left:auto}.socials{display:flex;align-items:center;gap:1.2rem;margin-left:.6rem}.socials a{font-family:var(--sans);font-size:2.1rem;line-height:1}.socials .line{background:#111;color:#fff;font-size:.65rem;font-weight:bold;border-radius:.5rem;display:grid;place-items:center;width:1.9rem;height:1.9rem}.instagram{font-size:2.2rem!important}.mobile-nav-open{overflow:hidden}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media(min-width:701px){.section-bar{gap:.7rem}.section-bar h2{font-size:1.8rem;letter-spacing:.12rem}.section-bar p{font-family:var(--sans);font-size:.82rem}.cast-name{font-family:var(--serif);font-weight:600;font-size:1.6rem;letter-spacing:.11rem}.cast-intro{font-family:var(--sans);font-size:.99rem;letter-spacing:.015rem;line-height:1.6;min-height:3.7rem;white-space:nowrap}.cast-stats{margin:.3rem 0 .6rem;font-size:.99rem}.cast-copy .pill{margin-top:0}.reassurance-copy .gold-button{width:20.3rem;margin:auto}.concerns li{font-family:var(--sans);font-size:.96rem;letter-spacing:0}.concerns{position:relative}.reassurance-art{mask-image:linear-gradient(90deg,transparent,#000 14%,#000 96%,transparent)}.reason-copy{gap:1.25rem}.reason-copy p{font-family:var(--sans);font-size:1.02rem;line-height:1.45}.flow p{font-family:var(--sans);font-size:.96rem}.flow li{gap:.8rem}.step-label{font-size:1.25rem}.info-heading p{font-family:var(--sans);font-size:.92rem;line-height:1.4;letter-spacing:-.025rem;white-space:nowrap}.price-row{height:8.8rem;min-height:0}.reviews-row{height:9.9rem;min-height:0}.faq-row{min-height:11.2rem;grid-template-columns:25rem 29rem 1fr}.review-grid article{padding:.65rem 1.4rem;gap:1.2rem}.review-grid p{font-family:var(--sans);font-size:.77rem;line-height:1.7}.review-grid span{font-family:var(--sans);font-size:.9rem}.faq-art{height:10.4rem}.faqs summary{font-size:1.08rem;padding:.31rem .8rem}.price-grid{grid-template-columns:repeat(4,11.6rem)}#site-footer nav{font-size:.64rem;gap:1.25rem}#site-footer small{font-size:.68rem}}
/* Photo windows use measured source rectangles, excluding every contact-sheet divider. */
.photo-window{overflow:hidden;background:none;position:relative}
.photo-window svg{display:block;width:100%;height:100%;overflow:hidden}
.photo-window image{pointer-events:none}
.mobile-only,.mobile-section-heading,.about-mobile,.cast-filters,.favorite-mobile,.escape-mobile,.trust-mobile,.premium-mobile,.diary-row,.step-mobile,.closing-mobile-title,.scroll-cue{display:none}
.hero-art{background:url('/images/stores/hero-v3.webp') center/cover!important}
.header-logo{background:url('/images/stores/logo-horizontal.webp') center/contain no-repeat}
.header-nav a span{position:static;clip:auto;width:auto;height:auto;overflow:visible;color:#fff5e4;font:600 .76rem var(--sans)}
.header-nav a[href='/customer-portal.html']{border:1px solid #d8c39f}
.header-nav a[href='/reserve.html']{background:linear-gradient(110deg,#c9a66a,#fff0bd)}
.header-nav a[href='/reserve.html'] span{color:#241d10}
.mobile-hero-copy{display:block;position:absolute;z-index:1;left:4.3%;top:7.5rem;color:#fff6e9;width:46rem}
.hero-lead{font-size:1rem;letter-spacing:.18em;margin-left:5.4rem}
.hero-brand{width:21rem;height:6rem;margin:1.1rem 0 .6rem 5.3rem;background:url('/images/stores/logo-hero-horizontal.webp') center/contain no-repeat!important}
.mobile-hero-copy h1:not(.hero-lead){font-size:1.7rem;line-height:1.8;font-weight:400;letter-spacing:.2em;transform:rotate(-8deg);width:25rem;text-align:center;margin-bottom:1.5rem}
.hero-benefits{display:flex;align-items:center;gap:2.2rem;font-family:var(--sans);font-size:.86rem;line-height:1.45}
.hero-benefits li{display:flex;align-items:center;gap:.8rem;white-space:nowrap}
.benefit-icon{width:4rem;height:4rem;display:grid;place-items:center;border:0;border-radius:0;flex-shrink:0}
.benefit-icon svg{width:2.3rem;height:2.3rem;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.benefit-zero{font:inherit}
.hero-cta{background:linear-gradient(110deg,#cbaa74,#fff0bc);display:grid;place-items:center;font:600 1rem var(--sans);letter-spacing:.12em;color:#251f15}
.hero-cta span,.closing-links span{position:static;clip:auto;width:auto;height:auto;overflow:visible}
.hero-side-copy{position:absolute;right:4.2%;top:8.8rem;color:#fff4e4;font-size:1.05rem;line-height:1.9;letter-spacing:.14em}
.script,.hero-script,.favorite-script{font-family:LeadScript,'Snell Roundhand',cursive;font-weight:400;font-style:normal;line-height:1.15;transform:rotate(-10deg);text-align:center}
.hero-script{position:absolute;right:4.7%;bottom:5.1rem;color:#fff4e8;font-size:2.6rem;line-height:.72}
.cast-photo{position:relative}
.new-badge{position:absolute;z-index:1;top:.7rem;left:.6rem;padding:.25rem .7rem;background:#efdbad;color:#393124;font:500 .9rem var(--sans)}
.cast-heart{display:none}
.cast-tags{display:flex;gap:.35rem;flex-wrap:wrap}
.cast-tags span{font:500 .75rem var(--sans);padding:.15rem .5rem;color:#f5dba5;background:#302a1b;border:1px solid #c8ac67;border-radius:99px;white-space:nowrap}
.cast-copy{position:relative}
.cast-tags{position:absolute;bottom:calc(100% + .4rem);left:.3rem;right:.3rem}
.reassurance-art{background:url('/images/stores/hero-v3.webp') 62% center/auto 165%!important}
.fare-zero{font-size:1.65em;line-height:1;font-weight:500}
.price-grid .travel-price{font-size:1.4rem}
.closing-art{background:url('/images/stores/closing-desktop-v4.webp') center 58%/cover!important;filter:brightness(.65)}
.closing-links h2{position:absolute;top:1.1rem;left:0;right:0;text-align:center;font-size:1.6rem;letter-spacing:.15em;font-weight:400;color:#fff7eb}
.closing-links h2:after{content:'あなただけのセラピストがきっと見つかります。';display:block;margin-top:.5rem;font-size:1rem;letter-spacing:.12em}
.closing-links>a{display:grid;place-items:center;font:600 1rem var(--sans)}
.closing-links>.closing-cast{background:linear-gradient(100deg,#d3b27e,#fff0bc)}
.closing-links>.closing-contact{border:1px solid #e8ddcb;color:#fff5e5}
.closing-links>.closing-reserve{display:none}
.footer-logo{background:url('/images/stores/logo-horizontal.webp') center/contain no-repeat!important}
.socials svg{width:2rem;height:2rem;fill:none;stroke:currentColor;stroke-width:1.8}
@media(max-width:700px){
 :root{font-size:4.366812227vw;--paper:#fcf9f4}
 .site{max-width:none}.desktop-only,.desktop-title{display:none}.mobile-only{display:block}
 main{display:flex;flex-direction:column}
 h2{font-weight:400}.eyebrow{font-size:1rem;letter-spacing:.12em;color:#625c53;line-height:1.4}
 .pill,.gold-button{height:3.4rem;font:600 .96rem var(--sans);letter-spacing:.08em}
 .gold-button{background:linear-gradient(110deg,#e1cba9,#fff0ce)}
 .hero{height:64.4rem;overflow:hidden;background:#0c0b08}
 .hero-art{inset:0 0 auto;height:49rem;background-image:url('/images/stores/hero-mobile-v4.webp')!important;background-size:125% auto!important;background-position:center 5rem!important;background-repeat:no-repeat!important;mask-image:linear-gradient(transparent 8%,#000 22%,#000 72%,transparent 100%);-webkit-mask-image:linear-gradient(transparent 8%,#000 22%,#000 72%,transparent 100%)}
 .hero:after{content:'';position:absolute;inset:24rem 0 0;background:linear-gradient(0deg,#100e09 0%,#0c0b08 25%,transparent 75%);pointer-events:none}
 #site-header{height:6rem;z-index:5}
 .header-logo{left:1.5rem;top:.5rem;width:14rem;height:4rem}
 .header-nav{display:none}
 .mobile-toggle{display:block;position:absolute;right:1.5rem;top:1.6rem;width:2.6rem;height:2.6rem;padding:0;border:0;background:transparent;font-size:0;color:#d1c4ac}
 .mobile-toggle:before{content:'';display:block;width:1.3rem;height:1.1rem;margin:auto;border-top:1px solid;border-bottom:1px solid;background:linear-gradient(currentColor,currentColor) center/100% 1px no-repeat}
 .mobile-nav-open .header-nav{display:flex;position:fixed;inset:6rem 1rem auto;background:#15110afa;border:1px solid #aa8d52;flex-direction:column;padding:1.5rem;z-index:6}
 .mobile-nav-open .header-nav a{position:static!important;width:auto!important;height:4.5rem;flex-shrink:0;border:0;border-bottom:1px solid #6c583c;border-radius:0;background:none}
 .mobile-nav-open .header-nav a span{color:#fff0da;font-size:1.2rem}
 .mobile-hero-copy{left:2rem;right:2rem;top:27.6rem;width:auto}
 .hero-lead{margin:0;font-size:2.15rem;line-height:1.4;letter-spacing:.05em}
 .hero-brand{display:none}
 .mobile-hero-copy h1:not(.hero-lead){margin:.8rem 0 0;text-align:left;font-size:1.12rem;line-height:1.6;letter-spacing:.08em;transform:none;width:auto}
 .hero-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin:0;position:absolute;top:15.4rem;left:-1rem;right:-1rem;font-size:.78rem;line-height:1.45;text-align:center}
 .hero-benefits li{display:flex;flex-direction:column;gap:.65rem;white-space:nowrap;letter-spacing:-.025em}
 .benefit-icon{width:4.3rem;height:4.3rem;border-color:#89703d;color:#e5c482}
 .benefit-icon svg{width:2.5rem;height:2.5rem}
 .hero-script{z-index:2;right:1.6rem;top:38.7rem;bottom:auto;font-size:1.9rem;line-height:.85}
 .hero-side-copy{display:none}
 .hero-cta{z-index:2;top:51.9rem;left:2.1rem;width:18.4rem;height:3.5rem;font-size:.96rem}
 .scroll-cue{position:absolute;display:flex;gap:.3rem;left:10.4rem;top:57.8rem;height:3.5rem;writing-mode:vertical-rl;font-size:.42rem;color:#d9ceba;z-index:2;letter-spacing:.1em}
 .scroll-cue:after{content:'';position:absolute;right:-.6rem;top:-.8rem;width:1px;height:5.8rem;background:linear-gradient(transparent,#88754f,transparent)}
 .scroll-cue span{font-size:.45rem}
 .about-mobile{order:1;display:block;position:relative;min-height:40rem;background:var(--paper)}
 .about-mobile-art{position:absolute;inset:0 0 auto;height:16rem;background:url('/images/stores/about-v4.webp') center top/cover no-repeat;mask-image:linear-gradient(#000 50%,transparent 100%);-webkit-mask-image:linear-gradient(#000 50%,transparent 100%)}
 .about-mobile-copy{position:relative;text-align:center;padding:14.5rem 1.3rem 3.5rem}
 .about-mobile-copy h2{font-size:1.8rem;line-height:1.4;margin:0 0 .4rem;letter-spacing:.025em}
 .about-mobile-copy .eyebrow{margin-bottom:1rem}
 .about-mobile-copy>p:not(.eyebrow){font-size:.92rem;line-height:1.85;letter-spacing:.015em}
 .about-mobile-copy .pill{margin:1.7rem auto 0;width:17.2rem;background:#fff}
 .reassurance{order:2;display:block;height:23.5rem;padding:3.8rem 1.7rem 2rem;background:linear-gradient(90deg,#030607b0,transparent),url('/images/stores/night-v4.webp') center/cover}
 .reassurance-art,.reassurance-copy{display:none}
 .concerns{padding:0;white-space:normal}
 .concerns h2{font-size:1.9rem;line-height:1.25;margin-bottom:1.5rem;letter-spacing:.08em}
 .concerns li{font-size:1.1rem;line-height:2.3;letter-spacing:.035em}
 .concerns li:before{width:1.6rem;height:1.6rem;font-size:1.1rem;margin-right:1rem}
 .reasons{order:3;height:auto;min-height:47.9rem;padding:2.2rem 1rem 8.5rem;background:var(--paper)}
 .reasons>h2{display:block;height:auto;font-size:1.7rem;line-height:1.3;letter-spacing:.02em;margin:0 .7rem 1.3rem;text-align:left}
 .reasons>h2 span{font-size:2.2rem;margin:0}
 .reason-grid{display:grid;grid-template-columns:1fr;gap:.6rem}
 .reason-grid article{position:relative;padding-left:5.2rem;border-radius:.4rem;overflow:hidden;background:#fff}
 .reason-art{height:3.7rem}
 .reason-copy{display:block;padding:.3rem .3rem .55rem;min-height:5.4rem}
 .number{position:absolute;left:.55rem;top:.6rem;font-size:3.5rem;color:#d7a18e;font-weight:400}
 .reason-copy h3{font-family:var(--sans);font-size:1.2rem;line-height:1.25;letter-spacing:0;margin:0 0 .25rem;font-weight:600}
 .reason-copy p{font-size:.96rem;line-height:1.35;letter-spacing:-.02em;color:#37332c}
 .therapists{order:4;height:auto;padding:1.7rem .7rem .9rem;background:#fcfaf7}
 .mobile-section-heading{display:block;margin:0 .8rem .9rem}
 .mobile-section-heading h2{font-size:1.9rem;letter-spacing:.12em;line-height:1.5}
 .mobile-section-heading .eyebrow{margin-top:.1rem}
 .section-bar{display:block;height:auto;white-space:normal;margin:0 .8rem 1.1rem;text-align:center}
 .section-bar h2{font-size:1.45rem;letter-spacing:.12em;font-weight:400;text-align:left;margin-bottom:.6rem}
 .section-bar p{font-size:.88rem;line-height:1.7;max-width:15.5rem;margin:auto;color:#4b453e}
 .section-bar .pill{display:none}
 .cast-filters{display:flex;justify-content:space-between;gap:.35rem;margin:0 0 1.5rem}
 .cast-filters button{padding:.32rem .55rem;border:1px solid #c2bdb4;border-radius:99px;background:#fff;font:600 .82rem var(--sans);white-space:nowrap}
 .cast-filters button.active{background:#100f0c;border-color:#100f0c;color:#fff}
 .cast-grid{grid-template-columns:1fr;gap:.9rem}
 .cast-card{border-color:#eae4dc;border-radius:.35rem;box-shadow:none}
 .cast-photo{height:15rem;aspect-ratio:auto}
 .cast-art{height:100%}
 .new-badge{top:.7rem;left:.7rem;padding:.35rem 1.1rem;font-size:1.2rem;background:#f0dcac}
 .cast-heart{position:absolute;display:block;z-index:1;top:.9rem;right:1rem;font:2.8rem/1 var(--sans);color:white;text-shadow:0 1px 2px #0003}
 .cast-copy{padding:.8rem 1rem .9rem;font-family:var(--sans)}
 .cast-name{font-family:var(--sans);color:#161512;font-size:1.45rem;font-weight:600;letter-spacing:.025em;line-height:1.35}
 .cast-en,.cast-stats span:last-child{display:none}
 .cast-stats{margin:.35rem 0 .6rem;gap:.6rem;min-height:0;color:#24231f;font-size:1.13rem;letter-spacing:0;line-height:1.2}
 .cast-stats span{background:none;padding:0}
 .cast-stats span+span:before{content:'/';margin-right:.6rem;color:#9c968b}
 .cast-tags{position:static;display:flex;flex-wrap:nowrap;gap:.7rem;margin:0 0 .85rem}
 .cast-tags span{font-size:.81rem;font-weight:600;line-height:1.3;padding:.15rem .6rem;border:0;border-radius:.5rem;background:#ffe7bb;color:#292417}
 .cast-intro{font-size:1.05rem;line-height:1.65;letter-spacing:.02em;color:#514b43;min-height:0;margin-bottom:1rem}
 .cast-copy .pill{height:3rem;font-size:1rem;margin:0;background:#fff}
 .favorite-mobile{order:5;display:block;position:relative;height:33.5rem;padding:1.6rem;background:linear-gradient(0deg,#0a090666,transparent),url('/images/stores/favorite-v4.webp') center/cover;color:#fff8ed}
 .favorite-mobile .gold-button{height:3.6rem;width:100%;font-size:.95rem}
 .favorite-copy{font-size:1.4rem;letter-spacing:.06em;line-height:1.55;margin-top:7rem}
 .favorite-script{position:absolute;right:1.6rem;bottom:7rem;font-size:2.1rem;line-height:.95}
 .scenes{order:6;height:auto;padding:1.4rem .6rem 2.4rem;background:linear-gradient(#100e0b,#100e0bf5),url('/images/stores/hero-v3.webp') center/cover;color:#f9f5ec}
 .scenes .mobile-section-heading{margin:0 1.2rem .7rem}
 .scenes .mobile-section-heading h2{height:auto;text-align:left;font-size:1.9rem;letter-spacing:.1em}
 .scenes .eyebrow{color:#b8a073}
 .scene-description{height:auto!important;text-align:left!important;font-size:1rem!important;letter-spacing:0!important;font-weight:400!important;margin:0 1.2rem 1rem}
 .scene-grid{grid-template-columns:1fr;gap:.65rem}
 .scene-grid figure{position:relative;border:1px solid #786746;border-radius:.3rem;overflow:hidden;height:11.3rem}
 .scene-art{height:100%}
 .scene-grid figcaption{position:absolute;inset:auto 0 0;display:flex;justify-content:center;align-items:center;height:3.2rem;padding:.2rem .2rem;background:#0c0b0999;color:#fffbf3;font-size:1.2rem;letter-spacing:.025em;white-space:nowrap}
 .flow{order:7;height:auto;padding:2.6rem 1.3rem 3.5rem;background:var(--paper);color:var(--ink)}
 .flow h2{font-size:1.9rem;line-height:1.5;margin:0 .5rem .2rem;letter-spacing:.05em}
 .flow>.eyebrow{margin:0 .5rem 1.7rem}
 .flow ol{display:flex;flex-direction:column;gap:4.6rem;max-width:20rem;margin:auto}
 .flow li{gap:1.6rem;align-items:center}
 .step-number{width:4.6rem;height:4.6rem;background:transparent;border:1px solid #e0cba4;color:#6b4e29;font-size:2.3rem}
 .step-desktop{display:none}.step-mobile{display:block}
 .step-mobile svg{display:block;width:2.6rem;height:2.6rem;fill:none;stroke:#171612;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
 .step-label{font-size:1.1rem;letter-spacing:.09em;color:#72695c}
 .flow h3{font:600 1.25rem/1.5 var(--sans);margin:.25rem 0 .5rem}
 .flow p{font-size:.82rem;line-height:1.7;white-space:normal;color:#3e3932}
 .flow li:not(:last-child):after{width:.7rem;height:.7rem;right:auto;left:6.8rem;top:calc(100% + 1.8rem);transform:rotate(135deg);border-color:#b3986b}
 .flow li:not(:last-child):before{content:'';position:absolute;top:calc(100% + .8rem);left:2.25rem;height:3rem;width:1px;background:#c9b696}
 .escape-mobile{order:8;display:block;position:relative;height:31rem;background:linear-gradient(0deg,#100b0870,transparent),url('/images/stores/escape-v4.webp') center/cover;color:#fff7ec}
 .escape-mobile>p:first-child{position:absolute;left:0;right:0;top:15.6rem;text-align:center;font-size:1.38rem;letter-spacing:.04em;line-height:1.8}
 .escape-script{position:absolute;right:1.6rem;bottom:3.9rem;font-size:2.1rem;line-height:.95}
 .trust-mobile{order:9;display:block;min-height:38.4rem;padding:2.4rem 1.1rem 12rem;background:radial-gradient(ellipse at 75% 100%,#30281d,transparent 55%),#0c0b09;color:#fff8eb;text-align:center}
 .trust-mobile h2{font-size:1.5rem;letter-spacing:.06em;margin-bottom:1.7rem;white-space:nowrap}
 .trust-mobile ul{display:grid;grid-template-columns:repeat(3,1fr);gap:.45rem;margin-bottom:2rem}
 .trust-mobile li{font-size:.77rem;letter-spacing:-.04em;white-space:nowrap}
 .trust-mobile li>span{display:grid;place-items:center;width:5.35rem;height:5.35rem;border:1px solid #8d7542;border-radius:50%;color:#dfb969;margin:0 auto .5rem}
 .trust-mobile svg{width:3rem;height:3rem;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
 .trust-note{font-size:.9rem;line-height:1.8;letter-spacing:-.025em;margin:0 -.5rem 2.2rem}
 .trust-mobile .gold-button{height:3.6rem;margin:0 .7rem;font-size:.9rem}
 .information{order:10;padding:0;background:var(--paper)}
 .price-row,.reviews-row,.faq-row{display:block;height:auto;min-height:0;padding:1.7rem 1rem 0}
 .info-heading h2{font-size:1.9rem;line-height:1.4;letter-spacing:.02em}
 .info-heading .eyebrow{font-family:var(--serif);font-size:1rem;letter-spacing:.12em;margin:.2rem 0 0}
 .info-heading p:not(.eyebrow){text-align:center;font-size:.9rem;line-height:1.6;margin:1rem 0 1.5rem;color:#494238}
 .info-heading>.pill{display:none}
 .price-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;padding:0;margin-bottom:1.4rem}
 .price-grid>a{height:7.2rem;gap:.65rem;border-radius:.3rem;border-color:#f2ede6;box-shadow:none}
 .price-grid>a>small{font-size:.98rem;letter-spacing:.035em}
 .price-grid strong{font-size:2.05rem;line-height:1.2;font-weight:500}
 .price-grid strong small{font-size:1.15rem}
 .price-grid .travel-price{font-size:1.3rem}
 .fare-zero{font-size:1.75em}
 .price-more{display:flex;margin:0 .8rem .2rem;height:3.5rem;font-size:.95rem}
 .premium-mobile{display:flex;align-items:center;height:20.7rem;background:linear-gradient(90deg,#120e0980,transparent),url('/images/stores/bedroom-v4.webp') right center/cover;color:#fff7e9}
 .premium-mobile>div{padding:1.8rem;font-size:1.45rem;letter-spacing:.065em;line-height:1.65}
 .reviews-row{padding-top:2.5rem;padding-bottom:3.7rem}
 .reviews-row .info-heading p:not(.eyebrow){display:none}
 .review-grid{grid-template-columns:1fr;gap:1.1rem;margin-top:1.2rem}
 .review-grid article{align-items:flex-start;gap:1.1rem;padding:1.4rem .8rem;height:auto;min-height:12.5rem;border-color:#f0eae1;border-radius:.3rem;background:#fff}
 .review-avatar{width:3.5rem;height:4.8rem}
 .review-grid article>div{min-width:0}
 .review-grid h3{font-size:.96rem;line-height:1.5;margin-bottom:.5rem;letter-spacing:0}
 .review-grid p{font-size:.83rem;line-height:1.65;white-space:normal;letter-spacing:0;color:#504940}
 .review-grid p br{display:none}
 .review-grid span{font-size:.8rem;display:block;margin-top:.6rem;white-space:nowrap;color:#635b50}
 .review-grid b{font-size:1.15rem;margin-left:.5rem;letter-spacing:0}
 .faq-row{padding-top:.6rem;padding-bottom:2.5rem}
 .faq-row .info-heading{margin:0 .8rem 1.6rem}
 .faq-row .info-heading p:not(.eyebrow){display:none}
 .faqs{padding:0;margin-bottom:1.4rem}
 .faqs summary{padding:.85rem .65rem;font-size:.9rem;line-height:1.55;color:#292621}
 .faqs summary:before{width:1.25rem;height:1.25rem;font-size:1.1rem;margin-right:.8rem;flex-shrink:0}
 .faqs details{border-color:#f0ece5;border-radius:.2rem}
 .faqs details p{font-size:1rem;padding:.5rem 1rem 1rem;line-height:1.65}
 .faq-art{display:none}.faq-more{display:flex;font-size:.87rem;height:3.4rem;margin:0 .7rem;background:#fff}
 .closing{order:11;height:20.5rem;position:relative;background:#110e0b}
 .closing-art{background-image:url('/images/stores/closing-v4.webp')!important;background-position:right center!important;filter:none}
 .closing-links{position:relative;padding:4.8rem 1.8rem}
 .closing-links h2{position:static;text-align:left;font-size:1.45rem;letter-spacing:.03em;line-height:1.7;margin-bottom:2.2rem}
 .closing-links h2:after{display:none}
 .closing-links .closing-desktop-title,.closing-links>.closing-cast,.closing-links>.closing-contact{display:none}
 .closing-mobile-title{display:block}
 .closing-links>.closing-reserve{display:flex;position:static;width:14.7rem;height:3.6rem;align-items:center;justify-content:center;background:linear-gradient(110deg,#e1cba9,#fff0ce);font-size:.95rem;border-radius:99px}
 #site-footer{height:37.2rem;display:flex;flex-direction:column;align-items:center;padding:3rem 1.5rem 10rem;gap:0;background:var(--paper)}
 .footer-logo{width:15rem;height:4.3rem;margin-bottom:4.1rem}
 #site-footer nav{display:flex;justify-content:center;flex-wrap:wrap;gap:1rem .8rem;white-space:normal;font-size:.8rem;line-height:1.5;margin:0 0 3.2rem;width:20rem}
 #site-footer nav a{position:relative}
 #site-footer nav a:not(:last-child):after{content:'';position:absolute;right:-.45rem;top:.15rem;height:.7rem;width:1px;background:#ddd5c8}
 .socials{margin:0 0 2.5rem;gap:1.9rem}.socials a{font-size:2.6rem}.socials svg{width:2.2rem;height:2.2rem}
 .socials .line{width:2.2rem;height:2.2rem;font-size:.75rem}
 #site-footer small{font-size:.82rem;margin:0;line-height:1.5}
}
.closing-side-copy{position:absolute;right:4.5rem;top:5.4rem;text-align:center;color:#fff2de;font-size:1.1rem;line-height:1.8;letter-spacing:.1em}
.cast-card[hidden]{display:none}

/* One flat gold ink also preserves the fine restored logo on the white footer. */
.header-logo,.hero-brand,.footer-logo{background:#caaa69!important;mask:url('/images/stores/logo-v4.webp') center/118% auto no-repeat;-webkit-mask:url('/images/stores/logo-v4.webp') center/118% auto no-repeat}

@media(max-width:700px){.flow li:first-child p br,.flow li:nth-child(4) p br{display:none}}

.review-avatar{background:url(/images/stores/avatar-v4.webp) center/160% auto no-repeat!important}

@media(max-width:700px){.hero-art:before{content:"";position:absolute;top:5rem;left:0;right:0;height:8rem;background:linear-gradient(#0c0b08,transparent)}}

.faq-art{position:relative;background:url(/images/stores/faq-flower-v4.webp) left center/100% 100% no-repeat;mix-blend-mode:multiply}.faq-art .script{position:absolute;right:0;top:3rem;width:12rem;font-size:2.3rem;line-height:.85;color:#bca092}
/* Keep the primary action inside the initial mobile viewport, including browser chrome. */
@media(max-width:700px){
 .hero{--hero-height:100svh;height:var(--hero-height);min-height:460px;max-height:none}
 .hero-art{height:calc(var(--hero-height) - 100px);background-size:100% auto!important;background-position:center top!important;mask-image:linear-gradient(transparent,#000 12%,#000 65%,transparent);-webkit-mask-image:linear-gradient(transparent,#000 12%,#000 65%,transparent)}
 .hero-art:before{display:none}
 .hero:after{inset:max(80px,calc(var(--hero-height) - 440px)) 0 0;background:linear-gradient(0deg,#0c0b08 8%,#0c0b08e8 36%,transparent 100%)}
 .header-logo{width:190px;height:54px;left:20px;top:8px}
 .mobile-toggle{top:17px;right:18px;width:40px;height:40px}
 .mobile-hero-copy{top:calc(var(--hero-height) - 412px);left:24px;right:24px}
 .hero-lead{font-size:clamp(26px,7.4vw,32px);line-height:1.35}
 .mobile-hero-copy h1:not(.hero-lead){font-size:14px;line-height:1.6;margin-top:10px}
 .hero-script{top:calc(var(--hero-height) - 256px);right:25px;font-size:30px;line-height:.75}
 .hero-benefits{top:234px;left:-8px;right:-8px;gap:6px;font-size:clamp(10px,2.65vw,12px);line-height:1.5}
 .hero-benefits li{gap:6px}
 .benefit-icon{width:48px;height:48px}
 .benefit-icon svg{width:29px;height:29px}
 .hero-cta{top:calc(var(--hero-height) - 76px);left:24px;width:calc(100% - 48px);height:48px;font-size:14px}
 .scroll-cue{display:none}
}
@supports not (height:100svh){@media(max-width:700px){.hero{--hero-height:100vh}}}

@media(max-width:700px) and (max-height:550px){.mobile-hero-copy{top:calc(var(--hero-height) - 390px)}.hero-lead{font-size:26px}.mobile-hero-copy h1:not(.hero-lead){font-size:13px}.hero-benefits{top:212px}.header-logo{width:160px;height:45px}}

@media(max-width:700px) and (max-height:459px){.hero{--hero-height:460px}}

.store-switcher{display:grid;grid-template-columns:15rem 1fr 23rem;align-items:center;gap:1.2rem;padding:1rem 3.7rem;background:#f4efe8;border-bottom:1px solid #e4dcd0}.store-switcher-copy{white-space:nowrap}.store-switcher-eyebrow{font:600 .68rem/1 var(--sans);letter-spacing:.18em;color:#9b7c49}.store-switcher-copy h2{margin-top:.35rem;font-size:1.05rem;font-weight:500;letter-spacing:.08em}.store-switcher-nav{display:flex;gap:.55rem;align-items:stretch}.store-switcher-link{display:flex;min-width:6.6rem;flex-direction:column;align-items:center;justify-content:center;padding:.5rem .8rem;border:1px solid #d7cbbd;border-radius:.35rem;background:#fffdfb;font-family:var(--sans);line-height:1.25}.store-switcher-link strong{font-size:1.25rem;font-weight:700}.store-switcher-link small{margin-top:.12rem;font-size:.68rem;color:#8b8177}.store-switcher-link.is-active{border-color:#a77d3e;background:#2a2118;color:#fff7ea}.store-switcher-link.is-active small{color:#e5c991}.store-switcher-note{font:500 .76rem/1.55 var(--sans);color:#756d64}
.area-pending,.price-pending{font-size:.8em;color:#d9c69e}.price-pending{color:#8b6a3a}
@media(max-width:700px){.store-switcher{display:block;padding:1.35rem 1rem 1.15rem;background:#f4efe8}.store-switcher-copy{white-space:normal;text-align:center}.store-switcher-eyebrow{font-size:.75rem}.store-switcher-copy h2{font-size:1.2rem}.store-switcher-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem;margin-top:.95rem}.store-switcher-link{min-width:0;padding:.55rem .15rem}.store-switcher-link strong{font-size:1.18rem;font-weight:700}.store-switcher-link small{font-size:.58rem;letter-spacing:-.02em}.store-switcher-note{margin-top:.8rem;text-align:center;font-size:.72rem;line-height:1.65}}

.hero-location-lockup{position:relative;width:26rem;height:8.25rem;margin:.15rem 0 .1rem 5.4rem;display:grid;place-items:center;transform:translateX(0)}
.hero-location-art{position:absolute;z-index:0;left:21.65rem;right:auto;top:44%;width:6rem;height:6rem;transform:translateY(-50%);background:center/contain no-repeat;opacity:.2;filter:saturate(.72) sepia(.18)}
.hero-location-name{position:absolute;z-index:1;left:24.65rem;right:auto;top:44%;transform:translate(-50%,-50%);color:#ead09a;font:600 2.2rem/1 var(--serif);letter-spacing:.12em;text-indent:.12em;opacity:.82;white-space:nowrap}
.hero-location-roman{position:absolute;z-index:1;left:24.65rem;right:auto;top:74%;transform:translate(-50%,-50%);color:#f0d9a4;font:600 .45rem/1 var(--sans);letter-spacing:.24em;text-indent:.24em;opacity:.9;white-space:nowrap}
.hero-location-lockup .hero-brand{position:absolute;z-index:2;left:0;top:50%;margin:0;transform:translateY(-50%)}
@media(max-width:700px){
 .hero-script{display:none}
 .hero-location-lockup{position:relative;width:100%;height:5.65rem;margin:.15rem 0 .05rem;transform:translateY(.25rem);display:grid;place-items:center}
 .hero-location-art{left:14.35rem;right:auto;top:50%;width:4rem;height:4rem;transform:translateY(-50%);opacity:.17}
 .hero-location-name{left:16.35rem;right:auto;top:50%;transform:translate(-50%,-50%);font-size:1.85rem;letter-spacing:.1em;text-indent:.1em;opacity:.82}
 .hero-location-roman{left:16.35rem;right:auto;top:77%;transform:translate(-50%,-50%);font-size:.34rem;letter-spacing:.25em;text-indent:.25em;opacity:.9}
 .hero-location-lockup .hero-brand{display:block;width:13.8rem;height:4rem;left:0;top:50%;transform:translateY(-50%)}
 .hero-benefits{top:205px}
}

/* Give the desktop TOP the vertical breathing room of the reference layout. */
@media(min-width:701px){
 .hero{height:36.5rem}
 .store-switcher{padding-top:1.25rem;padding-bottom:1.25rem}
 .therapists{height:45rem}
 .section-bar{height:5rem}
 .cast-photo{height:23.5rem}
 .cast-copy{padding:.8rem 1rem .9rem}
 .reassurance{height:20rem}
 .concerns{padding-top:1.8rem}
 .reassurance-copy{padding-top:2rem}
 .reasons{height:21rem}
 .reasons>h2{height:5rem}
 .reason-art{height:7rem}
 .reason-copy{min-height:8rem;padding:.8rem .75rem .8rem}
 .scenes{height:14.5rem}
 .scenes h2{height:3.4rem}
 .scene-art{height:7.8rem}
 .scene-grid figcaption{height:2.8rem}
 .flow{height:13rem;padding:1.3rem 3.7rem 1.3rem}
 .information .price-row{height:9.8rem;min-height:0}
 .information .reviews-row{height:11rem;min-height:0}
 .information .faq-row{min-height:12.5rem}
 .closing{height:13.5rem}
 #site-footer{height:9rem}
}

/* Replace the removed hero message with a larger regional lockup and benefit row on desktop. */
.mobile-hero-copy h1:not(.hero-lead){display:none}
.desktop-title{display:none}
@media(min-width:701px){
 .hero-lead{font-size:1.8rem;line-height:1.45;letter-spacing:.08em}
 body[data-store-area="nara"] .hero-lead{font-size:2.05rem;transform:translateY(2.2rem);white-space:nowrap}
 .hero-side-copy{display:none}
 .hero-location-lockup{width:34rem;height:10.5rem}
 .hero-location-lockup .hero-brand{width:25rem;height:7.1rem}
 .hero-location-art{left:26.4rem;top:50%;width:8rem;height:8rem}
 .hero-location-name{left:30.4rem;top:50%;font-size:2.7rem}
 .hero-location-roman{left:30.4rem;top:74%;font-size:.55rem}
 .hero-benefits{margin-top:1.4rem;gap:2.6rem;font-size:1rem}
 .hero-benefits li{gap:1rem}
 .benefit-icon{width:5rem;height:5rem}
 .benefit-icon svg{width:2.8rem;height:2.8rem}
}

/* Keep the TOP header's mypage action centered. */
#site-header .header-mypage-link{display:flex;position:absolute;left:50%;top:1.1rem;transform:translateX(-50%);width:11%;height:3.8rem;align-items:center;justify-content:center;border:1px solid #d8c39f;border-radius:99px;color:#fff5e4;font:600 .82rem/1 var(--sans);white-space:nowrap}

/* The header now owns the regional lockup; do not repeat LEAD + area in the hero. */
.hero-location-lockup{display:none!important}
@media(min-width:701px){
 .hero-benefits{margin-top:6.4rem}
}
@media(max-width:700px){
 #site-header .header-logo{left:10px;top:8px;width:128px;height:44px}
 #site-header .header-mypage-link{display:flex;left:50%;right:auto;top:15px;width:54px;height:32px;transform:translateX(-50%);border:1px solid rgba(216,195,159,.78);border-radius:999px;color:#fff0d8;font:600 .56rem/1 var(--sans);letter-spacing:.02em;white-space:nowrap}
 #site-header .mobile-toggle{right:12px;top:17px;width:36px;height:36px}
 .hero-benefits{top:168px}
}

/* 2026-10-20 オーナー指示「縦にぎゅっとしすぎ、もっとスクロールさせたい」: PCで各セクションに余白を持たせる。
   ヒーローと締め（%配置のボタンが画像に重なる）は高さを変えない。 */
@media(min-width:701px){
.store-switcher{padding:1.8rem 3.7rem}
.therapists{height:auto;padding:5.5rem 3.7rem 6rem}
.therapists .cast-grid{gap:1.6rem;margin-top:2.2rem}
.reassurance{height:auto;min-height:24rem}
.reassurance .concerns{padding-top:3.4rem;padding-bottom:3rem}
.reassurance-copy{padding-top:3.4rem;padding-bottom:3rem}
.reasons{height:auto;padding:6rem 3.7rem 6.5rem}
.reasons>h2{margin-bottom:2.6rem}
.reason-art{height:8.4rem}
.scenes{height:auto;padding:5rem 3.7rem 6rem}
.scenes h2{height:auto;margin-bottom:2.4rem}
.scene-art{height:9.5rem}
.flow{height:auto;padding:4.6rem 3.7rem 5rem}
.flow h2{margin-bottom:2.2rem}
.information{padding:2rem 3.7rem 5rem}
.information .price-row{height:auto;min-height:0;padding:4.5rem 0 3.5rem;border-bottom:1px solid #ece6de}
.information .reviews-row{height:auto;min-height:0;padding:3.5rem 0;border-bottom:1px solid #ece6de}
.information .faq-row{height:auto;min-height:0;padding:3.5rem 0 1rem}
}

/* 2026-10-20 オーナー指摘「細かいところが雑、特にスマホ」 */
/* チェックは文字（✓）だとフォントで位置がずれるため、円の中央に描いた図形にして行の中央へ揃える */
.concerns li{display:flex;align-items:center;gap:0}
.concerns li:before{content:'';flex:0 0 auto;background:var(--gold) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.5 12.5l3.6 3.6 7.4-8' fill='none' stroke='%23282117' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/68% no-repeat}
@media(max-width:700px){
 .concerns li{line-height:1.6;padding:.42rem 0}
 /* 3つの理由: 写真を横幅いっぱい・大きめにし、番号は見出しの横へ */
 .reasons{min-height:0;padding:2.6rem 1rem 3.4rem}
 .reason-grid{gap:1.2rem}
 .reason-grid article{padding-left:0;border:1px solid #eae4de}
 .reason-art{height:12.5rem}
 .reason-copy{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:.9rem;padding:1rem 1.1rem 1.2rem;min-height:0}
 .number{position:static;font-size:2.7rem;line-height:1}
 .reason-copy h3{margin-top:.15rem}
}

/* 2026-10-20 点検の修正: ヘッダー・セラピスト名・余白・フッター・口コミ欄 */
#site-header .header-mypage-link{left:79.4%;width:7.6%;transform:none}
.cast-name{color:#161512}
.review-summary{display:block;min-width:0;max-width:100%}
.information .review-grid.review-summary .review-summary-card,.information .review-grid.review-summary .review-summary-card span{white-space:normal;min-width:0;overflow-wrap:anywhere}
.review-summary-card{display:flex;flex-direction:column;gap:.55rem;padding:1.6rem 1.8rem;border:1px solid #e7e0d6;background:#fffefd;color:#2b2621;text-decoration:none}
a.review-summary-card:hover{border-color:#c9a86a}
.review-summary-score{font-family:var(--serif);font-size:1.25rem;letter-spacing:.04em}
.review-summary-score b{color:#b88a3e;font-size:1.6rem;font-weight:500}
.review-summary-text{font-family:var(--sans);font-size:.95rem;color:#5f5850;line-height:1.6}
.review-summary-link{font-family:var(--sans);font-size:.92rem;color:#8a6a2f;font-weight:600}
@media(max-width:700px){
 #site-header .lead-header-location{left:142px}
 #site-header .header-mypage-link{left:auto;right:58px;width:auto;padding:0 12px;height:30px;top:17px;font-size:.66rem;letter-spacing:.04em}
 .trust-mobile{min-height:0;padding-bottom:3.4rem}
 #site-footer nav a:not(:last-child):after{display:none}
 #site-footer nav{gap:.9rem 1.3rem}
 .review-summary-card{padding:1.3rem 1.2rem}
}

/* 2026-10-20 ヘッダーの店舗名の下の英字（NARA等）は出さない */
#site-header .lead-header-location-roman{display:none}
#site-header .lead-header-location-name{top:50%}
@media(max-width:700px){#site-header .lead-header-location{align-items:center;justify-content:center}#site-header .lead-header-location-name{top:0}}

/* 2026-10-20 店舗ごとの色（大阪以外）。黒×金は保ち、差し色＋明るい背景のほんのり色＋最上部の帯＋ヘッダーの札で店舗を見分けられるようにする。
   色の濃さは既定5%、?tint=10 で10%（テスト比較用） */
body[data-store-area="kobe"]{--store:#2E4A6B;--store-light:#9DB3CF;--store-rgb:46,74,107}
body[data-store-area="kyoto"]{--store:#5B4A6E;--store-light:#BBA9CF;--store-rgb:91,74,110}
body[data-store-area="nara"]{--store:#7C8B5A;--store-light:#BFCB98;--store-rgb:124,139,90}
body[data-store-area="kobe"],body[data-store-area="kyoto"],body[data-store-area="nara"]{--store-tint:.05}
html[data-tint="10"] body[data-store-area]{--store-tint:.10}
/* 1. 明るい背景をほんのり店舗色に（背景画像や写真の上ではなく、明るいセクションの地色だけ） */
body[data-store-area="kobe"] :is(.store-switcher,.therapists,.reasons,.information,.about-mobile),
body[data-store-area="kyoto"] :is(.store-switcher,.therapists,.reasons,.information,.about-mobile),
body[data-store-area="nara"] :is(.store-switcher,.therapists,.reasons,.information,.about-mobile){background-image:linear-gradient(rgba(var(--store-rgb),var(--store-tint)),rgba(var(--store-rgb),var(--store-tint)))}
@media(min-width:701px){body[data-store-area="kobe"] .scenes,body[data-store-area="kyoto"] .scenes,body[data-store-area="nara"] .scenes{background-image:linear-gradient(rgba(var(--store-rgb),var(--store-tint)),rgba(var(--store-rgb),var(--store-tint)))}}
@media(max-width:700px){body[data-store-area="kobe"] .flow,body[data-store-area="kyoto"] .flow,body[data-store-area="nara"] .flow{background-image:linear-gradient(rgba(var(--store-rgb),var(--store-tint)),rgba(var(--store-rgb),var(--store-tint)))}}
body[data-store-area="osaka"] *{--store-rgb:0,0,0}
/* 2. ページ最上部の細い帯（スクロールしても常に見える） */
/* 最上部に固定の店舗色の帯は出さない（2026-10-21 オーナー指示） */
/* 3. ヘッダーの店舗名を店舗色の札に */
body[data-store-area="kobe"] #site-header .lead-header-location-name,body[data-store-area="kyoto"] #site-header .lead-header-location-name,body[data-store-area="nara"] #site-header .lead-header-location-name{background:var(--store);color:#fff;padding:.28em .55em .3em;border-radius:.3rem;text-shadow:none;line-height:1}
/* 4. 差し色 */
body[data-store-area="kobe"] .store-switcher-link.is-active,body[data-store-area="kyoto"] .store-switcher-link.is-active,body[data-store-area="nara"] .store-switcher-link.is-active{background:var(--store);border-color:var(--store)}
body[data-store-area="kobe"] .store-switcher-eyebrow,body[data-store-area="kyoto"] .store-switcher-eyebrow,body[data-store-area="nara"] .store-switcher-eyebrow{color:var(--store)}
body[data-store-area] :is(.therapists,.reasons,.information,.about-mobile) .eyebrow{color:var(--store,#625c53)}
body[data-store-area] .reason-copy .number{color:var(--store,#b97d5c)}
@media(max-width:700px){
 body[data-store-area] .flow .eyebrow{color:var(--store,#625c53)}
 body[data-store-area] .flow .step-number{border-color:var(--store,#e0cba4);color:var(--store,#6b4e29)}
 body[data-store-area] .flow .step-number svg{stroke:var(--store,currentColor)}
 body[data-store-area] .flow ol li:not(:last-child):after,body[data-store-area] .flow ol li:not(:last-child):before{border-color:var(--store-light,#d8c39f)}
}
@media(min-width:701px){body[data-store-area] .flow .step-number{box-shadow:0 0 0 2px var(--store-light,transparent)}}
body[data-store-area="kobe"] .concerns li:before,body[data-store-area="kyoto"] .concerns li:before,body[data-store-area="nara"] .concerns li:before{background-color:var(--store-light)}
/* 比較用の切り替えボタン */
.store-tint-toggle{position:fixed;right:12px;bottom:12px;z-index:1001;display:flex;gap:4px;padding:4px;border-radius:99px;background:rgba(20,16,12,.86);font:600 11px/1 system-ui,sans-serif}
.store-tint-toggle a{padding:7px 10px;border-radius:99px;color:#eadfcf;text-decoration:none}
.store-tint-toggle a[aria-current="true"]{background:var(--store,#b88a3e);color:#fff}

/* 2026-10-20 再調整: ヘッダーの店舗名がLEADのロゴにかぶらないよう、ロゴの右に12px空けて左揃えに */
body[data-store-area] #site-header .lead-header-location{left:calc(26.3% + 12px);transform:translateY(.25rem)}
body[data-store-area] #site-header .lead-header-location-name{left:0;transform:translateY(-50%)}
@media(max-width:700px){
 body[data-store-area] #site-header .lead-header-location{left:150px;width:auto;min-width:0;justify-content:flex-start;transform:translateY(4px)}
 body[data-store-area] #site-header .lead-header-location-name{left:auto;transform:none}
}
/* 店舗色を分かりやすく（既定12%、?tint=20で20%） */
body[data-store-area="kobe"],body[data-store-area="kyoto"],body[data-store-area="nara"]{--store-tint:.12}
html[data-tint="20"] body[data-store-area]{--store-tint:.20}
body[data-store-area="kobe"]:before,body[data-store-area="kyoto"]:before,body[data-store-area="nara"]:before{height:6px}
/* デスクトップの「〜の女性のための、やさしい時間を。」は奈良の設定で統一 */
@media(min-width:701px){body[data-store-area="kobe"] .hero-lead,body[data-store-area="kyoto"] .hero-lead{font-size:2.05rem;transform:translateY(2.2rem);white-space:nowrap}}

/* 2026-10-20 店舗の顔: キャッチ・紋章・カード型の店舗切り替え */
.store-catch{font-family:var(--serif);color:#e9cb74;font-size:1.05rem;letter-spacing:.22em;margin:0 0 .6rem;text-shadow:0 1px 10px rgba(0,0,0,.6)}
.store-hero-emblem{position:absolute;z-index:2;right:4.5%;bottom:4.2rem;width:11rem;height:11rem;object-fit:contain;filter:drop-shadow(0 6px 18px rgba(0,0,0,.55));pointer-events:none}
body[data-store-area="kobe"] .hero-script,body[data-store-area="kyoto"] .hero-script,body[data-store-area="nara"] .hero-script{display:none}
.store-switcher.store-cards{display:block;padding:3rem 3.7rem 3.2rem}
.store-cards .store-switcher-copy{display:flex;align-items:baseline;gap:1.2rem;margin-bottom:1.4rem;white-space:normal}
.store-cards .store-switcher-copy h2{font-family:var(--serif);font-size:1.5rem;margin:0}
.store-cards .store-switcher-note{margin:0}
.store-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.store-card{display:flex;align-items:center;gap:1rem;padding:1rem 1.1rem;border:1px solid #ddd2c3;border-radius:.5rem;background:#fffdf9;color:#2b241c;text-decoration:none;transition:border-color .2s,box-shadow .2s,transform .2s}
.store-card:hover{border-color:#b89257;box-shadow:0 .5rem 1.2rem rgba(60,40,15,.1);transform:translateY(-2px)}
.store-card-emblem{flex:0 0 4.6rem;width:4.6rem;height:4.6rem;border-radius:50%;background:#15120e;padding:.2rem;object-fit:contain}
.store-card-body{display:flex;flex-direction:column;gap:.18rem;min-width:0}
.store-card-city{font-family:var(--serif);font-size:1.45rem;line-height:1.1;letter-spacing:.1em}
.store-card-name{display:flex;align-items:center;gap:.4rem;font:600 .72rem/1.3 var(--sans);letter-spacing:.06em;color:#8a7a62}
.store-card-name em{font-style:normal;font-size:.62rem;padding:.12rem .4rem;border-radius:99px;background:var(--store,#2a2118);color:#fff}
.store-card-catch{font-family:var(--serif);font-size:.86rem;line-height:1.5;color:#3d342a}
.store-card-areas{font:500 .7rem/1.45 var(--sans);color:#8b8177}
.store-card.is-active{border:2px solid var(--store,#a77d3e);background:#fff;box-shadow:0 .4rem 1rem rgba(var(--store-rgb,60,40,15),.18)}
@media(max-width:1100px) and (min-width:701px){.store-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* PCのキャッチは見出しと同じ字下げ・同じ下げ幅にそろえる */
@media(min-width:701px){body[data-store-area] .store-catch{margin-left:5.4rem;transform:translateY(2.2rem)}}
/* 店舗内のリンク（/nara/reserve.html 等）になっても「予約する」の見た目を保つ */
.header-nav a[href$='/reserve.html']{background:linear-gradient(110deg,#c9a66a,#fff0bd)}
.header-nav a[href$='/reserve.html'] span{color:#241d10}
@media(max-width:700px){
 .store-catch{font-size:.86rem;letter-spacing:.16em;margin-bottom:.4rem}
 .store-hero-emblem{width:92px;height:92px;right:16px;bottom:auto;top:calc(var(--hero-height) - 470px)}
 .store-switcher.store-cards{padding:2rem 1rem 2.2rem}
 .store-cards .store-switcher-copy{flex-direction:column;gap:.3rem;align-items:center;text-align:center;margin-bottom:1rem}
 .store-card-grid{grid-template-columns:1fr;gap:.7rem}
 .store-card{padding:.85rem .9rem}
 .store-card-emblem{flex-basis:4rem;width:4rem;height:4rem}
}

/* 2026-10-20 オーナー指摘の修正（スマホ優先） */
/* フッター: 公式LINEロゴ（緑）。Instagramは無いので出さない */
.socials .line-official svg{stroke:none;width:2.1rem;height:2.1rem}
/* ヘッダーの地名を「LEAD」の文字の中心にそろえる（ロゴ枠ではなく文字基準。実測でPC5〜6px・スマホ3.5px上にずれていた） */
@media(min-width:701px){body[data-store-area] #site-header .lead-header-location-name{transform:translateY(calc(-50% + .33rem))}}
@media(max-width:700px){body[data-store-area] #site-header .lead-header-location-name{top:-4.5px}}
.header-nav .nav-stores-link{display:none}
@media(max-width:700px){.header-nav .nav-stores-link{display:flex}}
/* 地域キャッチ: スマホで読みやすく（明るさ・太さ・影） */
@media(max-width:700px){.store-catch{color:#f6e3a6;font-size:15px;font-weight:600;letter-spacing:.12em;text-shadow:0 1px 2px rgba(0,0,0,.95),0 0 12px rgba(0,0,0,.85)}}
/* 紋章: スマホは見出し2行目の右（2行目は短く右側が空く）へ下げる */
@media(max-width:700px){.store-hero-emblem{width:84px;height:84px;right:14px;top:calc(var(--hero-height) - 345px)}}
/* 店舗一覧（ページ下部、小さく） */
.store-switcher.store-cards{padding:2rem 3.7rem 2.2rem;border-top:1px solid #e4dcd0;border-bottom:0}
.store-cards .store-switcher-copy{margin-bottom:.9rem}
.store-cards .store-switcher-copy h2{font-size:1.15rem}
.store-cards .store-card{padding:.6rem .8rem;gap:.7rem}
.store-cards .store-card-emblem{flex-basis:2.8rem;width:2.8rem;height:2.8rem}
.store-cards .store-card-city{font-size:1.15rem}
.store-cards .store-card-catch,.store-cards .store-card-areas{display:none}
@media(max-width:700px){
 .store-switcher.store-cards{padding:1.6rem 1rem 1.8rem}
 .store-cards .store-switcher-copy{margin-bottom:.8rem}
 .store-cards .store-switcher-note{display:none}
 .store-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}
 .store-cards .store-card{padding:.55rem .6rem;gap:.55rem}
 .store-cards .store-card-emblem{flex-basis:2.4rem;width:2.4rem;height:2.4rem}
 .store-cards .store-card-name{font-size:.62rem}
}

/* 料金の「料金の詳細を見る」と下の画像の間をあける（スマホ） */
@media(max-width:700px){.price-more{margin-bottom:2.6rem !important}.premium-mobile{margin-top:.4rem}}

/* 紋章: スマホはキャッチの横に小さく並べる（画面幅で見出しに重なるため大きい紋章は出さない）。PCは右下の大きい紋章のみ */
.store-catch-emblem{display:none}
@media(max-width:700px){
 .store-hero-emblem{display:none}
 .store-catch{display:flex;align-items:center;gap:10px}
 .store-catch-emblem{display:block;flex:0 0 52px;width:52px;height:52px;filter:drop-shadow(0 3px 8px rgba(0,0,0,.6))}
}
/* 店舗別TOPのハンバーガーを本店（今の公式HP）と同じ見た目に */
#site-header .mobile-toggle.lead-hamburger-like{font-size:10px;display:none;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:auto;height:auto;padding:4px 6px;color:#f5f5f5}
#site-header .mobile-toggle.lead-hamburger-like:before,#site-header .mobile-toggle.lead-hamburger-like:after{display:none !important}
#site-header .lead-hamburger-like .lead-hamburger-label{font:600 10px/1 system-ui,-apple-system,sans-serif;letter-spacing:.18em}
#site-header .lead-hamburger-like .icon-close{display:none}
#site-header .lead-hamburger-like[aria-expanded="true"] .icon-menu{display:none}
#site-header .lead-hamburger-like[aria-expanded="true"] .icon-close{display:block}
@media(max-width:700px){#site-header .mobile-toggle.lead-hamburger-like{display:flex;top:12px;right:10px}}
body.store-mobile-nav-open #site-header .header-nav{display:none !important}
#site-header #mobile-nav{position:fixed;top:64px;left:0;right:0;z-index:1100;max-height:calc(100dvh - 64px);overflow-y:auto;overscroll-behavior:contain;border-top:1px solid rgba(184,150,62,.3);background:rgba(10,10,10,.98);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
#site-header #mobile-nav nav{display:flex;flex-direction:column;padding:16px 24px 32px}
#site-header #mobile-nav nav a{font-family:var(--serif);font-size:16px;letter-spacing:.2em;padding:12px 16px;color:rgba(245,245,245,.9);text-decoration:none}
#site-header #mobile-nav nav a[style]{font-family:inherit;padding:8px 16px;color:rgba(245,245,245,.8)}
#site-header #mobile-nav .lead-mobile-en,#site-header #mobile-nav .lead-mobile-sep{color:#f3d29b}
#site-header #mobile-nav .lead-mobile-en{font-size:.85em}
#site-header #mobile-nav nav a[href$="/reserve.html"]{margin:6px 0;border:1px solid #fff;background:#fff8ea;color:#080706;font-weight:800;text-align:center;box-shadow:0 0 0 1px rgba(255,255,255,.26),0 14px 34px rgba(255,248,234,.16),0 6px 18px rgba(0,0,0,.34)}
#site-header #mobile-nav nav a[href$="/reserve.html"] span{color:#080706}
#site-header #mobile-nav nav a.lead-mobile-stores{border-bottom:1px solid rgba(184,150,62,.18);margin-bottom:6px}

/* スマホは並び順指定（order）で組んでいるため、店舗一覧を最後（フッターの直前）へ */
@media(max-width:700px){.store-switcher.store-cards{order:12}}
@media(max-width:700px){.store-cards .store-card-name{white-space:nowrap;gap:.3rem}.store-cards .store-card-name em{font-size:.55rem;padding:.08rem .32rem;line-height:1.3;white-space:nowrap}}
/* 店舗TOPのセラピストは本人の実写真 */
.cast-real-photo{display:block;width:100%;height:100%;object-fit:cover;object-position:center 20%}

/* 紋章（スマホ）: キャッチの左端の真上に（2026-10-21 右下→左に変更）、最初のサイズ（92px）で置く（2026-10-21 オーナー指示）。
   位置は見出しの塊（.mobile-hero-copy）基準なので、画面の高さが変わってもキャッチとの間隔は同じ */
@media(max-width:700px){
 .store-catch{display:block;transform:none}
 .store-catch-emblem{display:block;position:absolute;left:0;bottom:calc(100% + 14px);width:92px;height:92px;flex:none;filter:drop-shadow(0 6px 16px rgba(0,0,0,.6));pointer-events:none}
}

/* NEW は本店（cast-card-render.js の .cast-new-badge）と同じく点滅させる（2026-10-21 オーナー指摘） */
.cast-card .new-badge{animation:leadNewBadgePulse 2.4s ease-in-out infinite}
@keyframes leadNewBadgePulse{0%,100%{opacity:1;box-shadow:0 0 0 2px rgba(233,203,116,.18),0 0 22px rgba(233,203,116,.58),0 10px 24px rgba(0,0,0,.32)}50%{opacity:.28;box-shadow:0 3px 10px rgba(0,0,0,.2)}}

/* ヘッダーは本店と同じく画面上部に固定してついてくる（2026-10-21 オーナー指摘）。
   ヒーローの上では透明のまま、スクロールしたら黒の帯を敷く（後ろの文字が透けないよう濃いめ） */
#site-header{position:fixed;top:0;left:0;right:0;transition:background-color .25s ease,box-shadow .25s ease}
#site-header.is-scrolled{background:rgba(10,10,10,.94);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 1px 0 rgba(233,203,116,.18),0 6px 18px rgba(0,0,0,.35)}
main [id]{scroll-margin-top:7rem}
/* スマホのヘッダーは中身（ロゴ・マイページ・MENU、上から55pxまで）に合わせて64px。
   6remのままだと画面幅で98〜113pxに伸び、スクロール時の黒い帯の下に空白ができていた（2026-10-21）。メニューの開く位置（top:64px）とも一致 */
@media(max-width:700px){#site-header{height:64px}}

/* 店舗の地域案内（対応エリア・交通費・待ち合わせ・よくある質問）2026-10-21 */
.store-local{padding:4.5rem 3.7rem;background:var(--paper);border-top:1px solid #e4dcd0;color:var(--ink)}
.store-local .eyebrow{font:600 .7rem/1 var(--sans);letter-spacing:.2em;color:#9b7c49;margin:0}
.store-local h2{margin:.5rem 0 1rem;font:500 1.9rem/1.4 var(--serif);letter-spacing:.06em}
.store-local-lead{max-width:46rem;margin:0 0 2.2rem;font:400 1rem/2 var(--sans);color:#3a342b}
.store-local-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:2rem}
.store-local-block{padding:1.6rem 1.8rem;border:1px solid #e4dcd0;border-radius:.5rem;background:#fbf8f3}
.store-local h3{margin:0 0 1rem;font:600 1.05rem/1.4 var(--serif);letter-spacing:.08em;color:#2b261f}
.store-local-sub{margin:.9rem 0 .5rem;font:600 .78rem/1 var(--sans);letter-spacing:.12em;color:#9b7c49}
.store-local-chips{display:flex;flex-wrap:wrap;gap:.45rem;margin:0;padding:0;list-style:none}
.store-local-chips li{padding:.35rem .8rem;border:1px solid #d9ccb6;border-radius:999px;background:#fff;font:500 .85rem/1.3 var(--sans);color:#3a342b}
.store-local-note{margin:1rem 0 0;font:400 .82rem/1.8 var(--sans);color:#6f665a}
.store-local-fees{width:100%;border-collapse:collapse;font:400 .92rem/1.6 var(--sans)}
.store-local-fees th,.store-local-fees td{padding:.75rem 0;border-bottom:1px solid #e4dcd0;text-align:left;font-weight:500}
.store-local-fees td{text-align:right;white-space:nowrap;color:#7a5e2c;font-weight:700}
.store-local-faq{margin-top:2.2rem}
.store-local-faq-item{border-bottom:1px solid #e4dcd0}
.store-local-faq-item summary{cursor:pointer;padding:1rem 2rem 1rem 0;font:500 .98rem/1.6 var(--sans);list-style:none;position:relative}
.store-local-faq-item summary::-webkit-details-marker{display:none}
.store-local-faq-item summary:after{content:'+';position:absolute;right:.2rem;top:50%;transform:translateY(-50%);color:#9b7c49;font-size:1.2rem}
.store-local-faq-item[open] summary:after{content:'−'}
.store-local-faq-item p{margin:0 0 1rem;font:400 .92rem/1.9 var(--sans);color:#3a342b}
@media(max-width:700px){
 .store-local{order:11;padding:48px 20px}
 .store-local h2{font-size:24px}
 .store-local-lead{font-size:15px;line-height:1.95}
 .store-local-grid{grid-template-columns:1fr;gap:16px}
 .store-local-block{padding:20px 18px}
 .store-local h3{font-size:17px}
 .store-local-sub{font-size:12px}
 .store-local-chips li{font-size:14px;padding:6px 12px}
 .store-local-note{font-size:13px}
 .store-local-fees{font-size:14px}
 .store-local-fees th{font-weight:500;padding-right:10px}
 .store-local-faq-item summary{font-size:15px}
 .store-local-faq-item p{font-size:14px}
}
h1.hero-lead{font-weight:inherit}

/* 2026-10-22 オーナー指示「萬天堂と同じ12画面分くらいにしよう」: PCは写真を細い帯にせず縦にも大きく見せ、各セクションの上下にゆとりを持たせる
   （1280x800で約12画面分）。暗い帯（ヒーロー・お悩み・流れ・締め）は画面の高さ(vh)基準、それ以外は余白と写真の大きさで伸ばす。
   縦長の大画面では横幅基準(rem)で頭打ちにする。スマホ（700px以下）は変えない。 */
@media(min-width:701px){
 /* ヒーローは画面いっぱい。見出し・特徴・ボタンはまとめて縦の中央付近に置く */
 .hero{height:min(100vh,60rem);min-height:36.5rem}
 .mobile-hero-copy{top:calc(50% - 12rem)}
 .hero-cta{top:calc(50% + 7.5rem);height:3.5rem}
 /* セラピスト */
 .therapists{padding-top:10rem;padding-bottom:10rem}
 .cast-photo{height:34rem}
 /* こんなお悩み: 中央の写真は縦長の元画像を使う（横長の写真を縦に引き伸ばすとぼやけるため） */
 .reassurance{min-height:min(90vh,54rem)}
 .reassurance .concerns,.reassurance .reassurance-copy{display:flex;flex-direction:column;justify-content:center;padding-top:3rem;padding-bottom:3rem}
 .reassurance-copy .gold-button{margin:2.4rem auto 0}
 .reassurance-art{background:url('/images/stores/hero-mobile-v4.webp') center 28%/cover!important}
 /* 3つの理由 */
 .reasons{padding-top:10rem;padding-bottom:7.5rem}
 .reasons>h2{margin-bottom:3.6rem}
 .reason-art{height:22rem}
 .reason-copy{padding:1.6rem .8rem 1.8rem}
 .reason-copy h3{font-size:1.3rem;margin-bottom:.6rem}
 /* ご利用シーン: 2列×2段で写真を大きく */
 .scenes{padding-top:7.5rem;padding-bottom:10rem}
 .scenes h2{margin-bottom:3rem}
 .scene-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2.6rem 2.2rem}
 .scene-art{height:27rem}
 .scene-grid figcaption{height:3.4rem}
 /* ご利用の流れ */
 .flow{min-height:min(80vh,48rem);display:flex;flex-direction:column;justify-content:center}
 .flow h2{margin-bottom:3.4rem}
 /* 料金・お客様の声・よくある質問: スマホと同じく見出しを上、中身を下に置く */
 .information{padding-top:0;padding-bottom:0}
 .information .price-row,.information .reviews-row{grid-template-columns:minmax(0,1fr);justify-items:center;text-align:center}
 .information .faq-row{grid-template-columns:minmax(0,42rem) 18rem;justify-content:center;column-gap:3rem}
 .information .faq-row .info-heading{grid-column:1/-1;justify-self:center;text-align:center}
 .information .info-heading .pill{margin:1rem auto 0}
 .information .price-row{padding:10rem 0 8rem}
 .information .reviews-row{padding:8rem 0}
 .information .faq-row{padding:8rem 0 10rem}
 .price-grid{justify-content:center;margin-top:2.6rem}
 .price-grid>a{height:8rem}
 .information .review-grid.review-summary{width:min(100%,46rem);margin-top:2.6rem}
 .faqs{margin-top:2.6rem}
 .faqs summary{padding:.8rem 1rem}
 .faq-art{height:14rem;margin-top:2.6rem;background-size:contain!important;background-position:center!important}
 /* まずは、気になる人を見つける */
 .closing{height:min(90vh,54rem)}
 .closing-links h2{top:calc(50% - 6.8rem)}
 .closing-links>a{top:calc(50% + 1.6rem);height:3.8rem}
 .closing-side-copy{top:50%;transform:translateY(-50%)}
 /* 地域案内・店舗一覧・フッター */
 .store-local{padding-top:10rem;padding-bottom:10rem}
 .store-local-block{padding:2.2rem 2.4rem}
 .store-switcher.store-cards{padding-top:4rem;padding-bottom:4.5rem}
 #site-footer{height:12rem}
}

/* 2026-10-22 オーナー指示「最低でも予約ボタンは出しとこう」: スマホは画面下に予約ボタンを常に出す（萬天堂の固定バーを参考に、予約だけ）。
   最初の画面の「セラピストを探す」と締めの「今すぐ予約する」が見えている間は隠す（切り替えは home-reference.php のスクリプト）。
   メニューを開いている間も隠す。共通のLINE・上へ戻るボタンは、このボタンがあるページでは出さない（lead-shared-ui.js）。 */
.sticky-reserve{display:none}
@media(max-width:700px){
 .sticky-reserve{display:flex;position:fixed;left:16px;right:16px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:900;height:52px;align-items:center;justify-content:center;border-radius:999px;background:linear-gradient(110deg,#cbaa74,#fff0bc);color:#251f15;font:700 15px/1 var(--sans);letter-spacing:.14em;text-decoration:none;box-shadow:0 10px 28px rgba(0,0,0,.38);opacity:0;visibility:hidden;transform:translateY(14px);transition:opacity .25s ease,transform .25s ease,visibility 0s linear .25s}
 .sticky-reserve.is-visible{opacity:1;visibility:visible;transform:none;transition:opacity .25s ease,transform .25s ease,visibility 0s}
 /* メニューを開いている間は出さない（メニューは画面の上半分だけを覆うため、下にボタンが残る） */
 body.store-mobile-nav-open .sticky-reserve,body.mobile-nav-open .sticky-reserve{opacity:0;visibility:hidden;transform:translateY(14px)}
}

/* 2026-10-23 オーナー指示: ご利用の流れに「セラピストからお電話」を足して5段階。
   PCは5つを横に並べ、各段は番号の下に文字を置く（番号の右に文字を置いたままだと幅が足りず、変な位置で折り返す）。
   改行位置は home-reference.php の <br> で決める。PCだけの改行は <br class="desktop-only"> */
@media(min-width:701px){
 .flow ol{grid-template-columns:repeat(5,minmax(0,1fr));gap:1.6rem}
 .flow li{flex-direction:column;align-items:center;gap:1.1rem;text-align:center}
 .flow li:not(:last-child):after{right:-1.05rem;top:2rem}
 .flow p{white-space:normal}
}
