:root{--white:#fff;--paper:#fffafc;--blush:#fff1f4;--coral:#f77c90;--rose:#c44363;--rose-dark:#a73250;--ink:#4a4244;--muted:#806b73;--line:#ebd7dc;--serif:"Yu Mincho", "Hiragino Mincho ProN", "Noto Serif JP", serif;--sans:"Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif;--header-height:90px;--dock-height:0px;color-scheme:light;font-synthesis:none}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 24px)}body{background:var(--white);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:14px;line-height:1.9;overflow-x:clip}body.dialog-open,body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}img{max-width:100%;height:auto;display:block}svg{vertical-align:middle;flex:none}button,h1,h2,h3,p,dl,dd,ul{margin:0}ul{padding:0;list-style:none}[hidden]{display:none!important}::selection{color:#74263c;background:#f9c6d2}:focus-visible{outline:3px solid var(--rose);outline-offset:5px}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--white);color:var(--rose);padding:8px 20px;position:fixed;top:8px;left:8px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.container{width:min(1200px,100% - 80px);margin-inline:auto}.section{padding:80px 0;position:relative}.eyebrow{color:var(--rose);letter-spacing:.23em;font-size:11px;font-weight:500;line-height:1.6}.section h2,.recruit-section h2,.social-section h2{font-family:var(--serif);letter-spacing:.1em;font-weight:500;line-height:1.75}.section h2{margin-top:14px;font-size:clamp(25px,2.5vw,35px)}.section-heading{justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:32px;display:flex;position:relative}.section-lead{color:var(--muted);padding-bottom:5px;font-size:13px;line-height:2.1}.heading-flower{opacity:.24;pointer-events:none;width:96px;position:absolute;top:-36px;right:-55px;transform:rotate(18deg)}.button{letter-spacing:.07em;border:1px solid #0000;border-radius:3px;justify-content:center;align-items:center;gap:30px;min-height:54px;padding:13px 27px;font-size:13px;font-weight:500;line-height:1.6;transition:background .2s,color .2s,box-shadow .2s,transform .2s;display:inline-flex}.button-primary{background:var(--rose);color:var(--white);box-shadow:0 7px 22px #b744621c}.button-outline{color:var(--rose-dark);background:#ffffffa8;border-color:#d6a1ae}.button svg{transition:transform .2s}.text-link{color:var(--rose-dark);border-bottom:1px solid #e6c6ce;align-items:center;gap:9px;padding:5px 0;font-size:12px;display:inline-flex}.mobile-break{display:none}.site-header{z-index:40;width:100%;height:var(--header-height);box-shadow:none;background:0 0;border-bottom:1px solid #0000;justify-content:space-between;align-items:center;gap:24px;padding:8px 3.5vw;transition:background-color .3s,border-color .3s,box-shadow .3s;display:flex;position:fixed;top:0;left:0}.site-header.is-scrolled,body.menu-open .site-header{background:#fffffff7;border-bottom-color:#ebd7dc70;box-shadow:0 3px 25px #a4506510}.brand{flex:0 0 220px}.brand img{width:220px}.desktop-nav{align-items:center;gap:clamp(15px,1.8vw,28px);margin-left:auto;display:flex}.desktop-nav a{white-space:nowrap;padding:8px 0;font-size:12px;position:relative}.desktop-nav a:after{content:"";background:var(--coral);transform-origin:0;width:100%;height:1px;transition:transform .2s;position:absolute;bottom:2px;left:0;transform:scaleX(0)}.header-phone{border-left:1px solid var(--line);color:var(--rose-dark);align-items:center;gap:10px;padding-left:23px;display:flex}.header-phone span{display:grid}.header-phone small{letter-spacing:.08em;font-size:9px}.header-phone strong{letter-spacing:.025em;white-space:nowrap;font-family:Georgia,serif;font-size:21px;font-weight:400;line-height:1.5}.menu-toggle{display:none}.mobile-menu{top:var(--header-height);max-height:calc(100svh - var(--header-height) - var(--dock-height));background:var(--paper);border-bottom:1px solid var(--line);padding:26px 7vw 32px;position:fixed;left:0;right:0;overflow-y:auto;box-shadow:0 20px 40px #8f455b15}.mobile-menu>a{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:15px 0;display:flex}.mobile-menu>a>span{align-items:center;gap:18px;display:flex}.mobile-menu a small{color:var(--rose);font-family:Georgia,serif;font-size:15px}.mobile-menu .mobile-menu-phone{color:var(--rose-dark);border:0;justify-content:center;font-size:21px}.hero{isolation:isolate;background:var(--blush);place-items:center;height:100svh;min-height:640px;display:grid;position:relative;overflow:hidden}.hero-picture,.hero-picture img,.hero-shade{width:100%;height:100%;position:absolute;inset:0}.hero-picture{z-index:-3}.hero-picture img{object-fit:cover;object-position:center}.hero-shade{z-index:-2;background:radial-gradient(#fff6f958,#0000 56%),linear-gradient(#0000 70%,#fff5f85c)}.hero-content{text-align:center;max-width:650px;padding:110px 20px 45px;position:relative}.hero-location{color:#975166;letter-spacing:.2em;font-size:10px;font-weight:600}.hero-location span{color:#c88c9d;margin-inline:8px}.hero-rule{background:#c98296;width:36px;height:1px;margin:24px auto 20px;display:block}.hero h1{color:#8f3650;font-family:var(--serif);letter-spacing:.12em;text-shadow:0 2px 22px #ffffffc7;font-size:clamp(36px,3.6vw,58px);font-weight:500;line-height:1.75}.hero-description{color:#744a57;letter-spacing:.1em;margin-top:19px;font-size:13px;line-height:2}.hero-price{color:#88465b;justify-content:center;align-items:center;gap:15px;margin:26px 0 20px;font-size:12px;display:flex}.hero-price>span:first-child{letter-spacing:.14em;border-right:1px solid #d3a1af;padding-right:15px;font-size:9px}.hero-price b{margin-right:3px;font-family:Georgia,serif;font-size:23px;font-weight:400}.hero-price strong{margin:0 3px 0 7px;font-family:Georgia,serif;font-size:30px;font-weight:400}.hero-button{min-width:242px}.hero-contact{color:#804356;justify-content:center;align-items:center;gap:8px;width:fit-content;margin:15px auto 0;font-size:11px;display:flex}.hero-image-note{color:#7b5864;background:#ffffffdf;border:1px solid #d4a5b144;padding:4px 10px;font-size:10px;line-height:1.5;position:absolute;bottom:22px;right:25px}.scroll-cue{color:#9d5b70;flex-direction:column;align-items:center;gap:12px;display:flex;position:absolute;bottom:0;left:40px}.scroll-cue span{writing-mode:vertical-rl;letter-spacing:.22em;font-size:9px}.scroll-cue i{background:linear-gradient(#ba7186,#e7b9c6);width:1px;height:48px;display:block}.therapists-section{background:#fff}.therapists-section:before{content:"";opacity:.5;pointer-events:none;background:linear-gradient(145deg,#f9d3de,#fff8fb);border-radius:100% 0;width:160px;height:70px;position:absolute;top:420px;left:-60px;transform:rotate(-38deg)}.therapist-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 22px;display:grid}.therapist-card{min-width:0}.profile-trigger{text-align:left;background:0 0;border:0;width:100%;padding:0;display:block}.portrait-wrap{aspect-ratio:3/4;background:var(--blush);border-radius:3px;display:block;position:relative;overflow:hidden}.portrait-wrap:after{content:"";pointer-events:none;background:linear-gradient(#0000,#69404a36);position:absolute;inset:70% 0 0}.portrait-wrap img{object-fit:cover;object-position:var(--portrait-position,center 30%);width:100%;height:100%;transition:transform .6s cubic-bezier(.2,.65,.3,1)}.image-note{z-index:1;color:#6d4d58;letter-spacing:.02em;background:#fffafbed;border-radius:2px;padding:4px 8px;font-size:10px;font-weight:400;line-height:1.4;position:absolute;bottom:13px;left:12px}.portrait-view{z-index:1;color:var(--white);text-shadow:0 1px 5px #65414b80;letter-spacing:.08em;align-items:center;gap:5px;font-size:8px;display:flex;position:absolute;bottom:15px;right:10px}.therapist-caption{justify-content:space-between;align-items:center;gap:8px;padding-top:12px;display:flex}.therapist-name{align-items:baseline;gap:9px;display:flex}.roman-name{color:#a87082;order:2;font-family:Georgia,serif;font-size:15px;font-style:italic}.japanese-name{color:#5d404a;font-family:var(--serif);letter-spacing:.1em;font-size:20px}.therapist-meta{color:var(--muted);align-items:center;gap:9px;font-size:11px;display:flex}.round-arrow{width:31px;height:31px;color:var(--rose);border:1px solid #e7c8d2;border-radius:50%;place-items:center;transition:background .2s,color .2s;display:grid}.image-disclaimer{color:#826b74;justify-content:flex-start;align-items:flex-start;gap:9px;margin-top:28px;font-size:10px;line-height:1.8;display:flex}.image-disclaimer svg{color:#ca8197;margin-top:3px}.no-script-note{text-align:center;margin-top:20px}.no-script-note a{text-decoration:underline}.menu-section{background:linear-gradient(130deg,#fff,#fffafc);overflow:hidden}.access-section{border-top:1px solid #f3e8ec;overflow:hidden}.room-gallery{grid-template-columns:16fr 9fr 9fr;align-items:stretch;gap:16px;display:grid}.room-photo{aspect-ratio:3/4;background:#eee2db;border-radius:3px;margin:0;overflow:hidden}.room-photo:first-child{aspect-ratio:4/3}.room-photo img{object-fit:cover;width:100%;height:100%}.room-gallery+.rooms{margin-top:34px}.rooms{grid-template-columns:1fr 1fr;gap:52px;display:grid}.room{isolation:isolate;border-top:1px solid #dcb4c0;border-bottom:1px solid #ecdbe1;padding:26px 0 28px;position:relative;overflow:hidden}.room-number{color:#f7e8ee;z-index:-1;font-family:Georgia,serif;font-size:123px;font-style:italic;line-height:1;position:absolute;top:-10px;right:8px}.room-title>span{color:#ba7a8d;letter-spacing:.18em;font-size:9px}.room-title h3{color:#754453;font-family:var(--serif);letter-spacing:.1em;align-items:baseline;gap:15px;font-size:28px;font-weight:500;display:flex}.room-title h3 small{color:#b47b8d;letter-spacing:.02em;font-family:Georgia,serif;font-size:17px;font-style:italic;font-weight:400}.room-address{align-items:flex-start;gap:8px;margin-top:24px;font-size:13px;display:flex}.room-address svg{color:var(--rose);margin-top:3px}.room-access{color:var(--muted);margin-top:10px;padding-left:27px;font-size:11px;line-height:2}.contact-panel{background:var(--paper);border:1px solid #f0dfe6;justify-content:space-between;align-items:center;gap:32px;margin-top:53px;padding:35px 38px;display:flex}.contact-panel h3{color:#774959;font-family:var(--serif);letter-spacing:.06em;margin-top:8px;font-size:22px;font-weight:500}.contact-panel>div>p:not(.eyebrow){color:var(--muted);margin-top:8px;font-size:11px}.contact-phone-wrap{text-align:center;flex-shrink:0}.contact-phone{color:#aa3e5d;letter-spacing:.01em;white-space:nowrap;justify-content:center;align-items:center;gap:14px;font-family:Georgia,serif;font-size:34px;line-height:1.7;display:flex}.contact-phone-wrap>p{flex-wrap:wrap;justify-content:center;column-gap:18px;font-size:10px;display:flex}.social-section{padding:0 0 100px}.social-layout{grid-template-columns:.95fr 1.05fr;align-items:center;gap:100px;display:grid}.social-section h2{margin-top:13px;font-size:26px}.social-section .social-layout>div>p:not(.eyebrow){color:var(--muted);margin-top:13px;font-size:12px}.social-links a{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:20px 6px;display:flex}.social-links a:first-child{border-top:1px solid var(--line)}.social-name{color:#ae5d76;align-items:center;gap:20px;display:flex}.social-name>span{font-family:Georgia,serif;font-size:25px;line-height:1.5}.social-name small{color:var(--muted);font-family:var(--sans);font-size:10px;display:block}.social-links>a>svg{color:#b8758b}.recruit-section{background:linear-gradient(110deg,#fff0f5,#fce7ed 65%,#fff3f6);border-block:1px solid #f0d7e0;padding:85px 0;position:relative;overflow:hidden}.recruit-layout{z-index:1;grid-template-columns:1.15fr .85fr;align-items:center;gap:75px;display:grid;position:relative}.recruit-label{color:#9d4761;letter-spacing:.1em;border:1px solid #d9a2b3;border-radius:2px;margin-top:20px;padding:3px 15px;font-size:11px;display:inline-block}.recruit-section h2{color:#8c435b;margin-top:17px;font-size:clamp(26px,2.5vw,34px)}.recruit-intro>p:last-child{color:#88616f;margin-top:22px;font-size:12px;line-height:2.1}.recruit-details{border-left:1px solid #e4b8c7;padding:10px 0 0 40px}.recruit-details ul{gap:12px;margin-bottom:27px;display:grid}.recruit-details li{color:#7b4657;align-items:center;gap:13px;font-size:14px;display:flex}.recruit-details li svg{color:#af5371;border:1px solid #dcb0bd;border-radius:50%;width:21px;height:21px;padding:3px}.recruit-details .button{width:100%}.recruit-phone{text-align:center;color:#9c4c66;letter-spacing:.03em;margin-top:13px;font-family:Georgia,serif;font-size:23px;display:block}.recruit-flower{opacity:.18;pointer-events:none;width:230px;position:absolute}.flower-one{top:-70px;left:-85px;transform:rotate(20deg)}.flower-two{width:280px;bottom:-90px;right:-70px;transform:rotate(-20deg)}.site-footer{background:#fffafb;padding:45px 0 25px}.footer-top{align-items:center;gap:40px;display:flex}.footer-brand{width:240px}.footer-top>p{border-left:1px solid var(--line);color:#8b6573;padding-left:30px;font-size:11px;line-height:2}.footer-top>p span{font-size:10px}.back-top{border:1px solid var(--line);color:#ab6580;border-radius:50%;place-items:center;width:42px;height:42px;margin-left:auto;display:grid}.back-top svg{transform:rotate(-90deg)}.footer-bottom{border-top:1px solid #f0e2e8;justify-content:space-between;align-items:center;gap:25px;margin-top:25px;padding-top:24px;display:flex}.footer-bottom nav{flex-wrap:wrap;gap:25px;display:flex}.footer-bottom nav a{color:#8d727c;font-size:10px}.footer-bottom>small{color:#9a818a;letter-spacing:.03em;white-space:nowrap;font-size:10px}.mobile-dock{display:none}.profile-dialog{width:min(850px,100% - 40px);max-height:calc(100svh - 60px);color:var(--ink);background:#fffafb;border:0;border-radius:6px;padding:0;overflow-y:auto;box-shadow:0 20px 100px #54233c40}.profile-dialog::backdrop{backdrop-filter:blur(4px);background:#50303c80}.dialog-panel{grid-template-columns:.95fr 1.05fr;display:grid;position:relative}.dialog-close-form{z-index:3;margin:0;position:absolute;top:12px;right:12px}.dialog-close{border:1px solid var(--line);width:40px;height:40px;color:var(--rose-dark);background:#fffffff5;border-radius:50%;place-items:center;display:grid}.dialog-portrait{background:var(--blush);align-self:start;position:relative}.dialog-portrait img{object-fit:contain;width:100%;height:auto}.dialog-content{flex-direction:column;align-items:flex-start;padding:54px 34px 36px;display:flex}.dialog-roman{color:#d397aa;margin-top:14px;font-family:Georgia,serif;font-size:47px;font-style:italic;line-height:1.2}.dialog-content h2{font-family:var(--serif);letter-spacing:.1em;margin-top:5px;font-size:30px;font-weight:500}.profile-facts{width:100%;margin-top:23px}.profile-facts>div{border-bottom:1px solid var(--line);grid-template-columns:80px 1fr;gap:12px;padding:9px 0;font-size:12px;display:grid}.profile-facts dt{color:#9b697b}.profile-facts dd{overflow-wrap:anywhere}.profile-message{color:#805d6a;margin-top:20px;font-size:13px;line-height:2}.profile-note{color:#8d7780;margin-top:16px;font-size:10px;line-height:1.9}.dialog-content .button{gap:10px;width:100%;margin-top:24px;padding-inline:15px;font-size:11px}.dialog-content .text-link{align-self:center;margin-top:12px}@media (hover:hover){.button-primary:hover{background:var(--rose-dark);transform:translateY(-2px);box-shadow:0 8px 25px #b744622d}.button-outline:hover{background:var(--white)}.button:hover svg{transform:translate(3px)}.desktop-nav a:hover:after{transform:scaleX(1)}.profile-trigger:hover .portrait-wrap img{transform:scale(1.035)}.profile-trigger:hover .round-arrow{background:var(--rose);color:var(--white)}.social-links a:hover{color:var(--rose)}.hero-contact:hover,.text-link:hover{color:var(--rose-dark);text-decoration:underline}}@media (width>=1500px){.hero-content{padding-top:90px}.hero h1{font-size:60px}}@media (width<=1100px){:root{--header-height:80px}.desktop-nav{display:none}.site-header{gap:20px;padding-inline:30px}.header-phone{border:0;margin-left:auto;padding-left:0}.menu-toggle{color:#a54a68;background:0 0;border:0;align-content:center;justify-items:center;gap:6px;width:48px;min-height:48px;padding:5px;display:grid}.menu-toggle>span{background:currentColor;width:25px;height:1px;transition:transform .2s;display:block}.menu-toggle small{letter-spacing:.12em;font-family:Georgia,serif;font-size:8px;line-height:1}.menu-toggle[aria-expanded=true]>span:first-child{transform:translateY(3.5px)rotate(45deg)}.menu-toggle[aria-expanded=true]>span:nth-child(2){transform:translateY(-3.5px)rotate(-45deg)}.menu-toggle[aria-expanded=true] small{visibility:hidden}}@media (width<=960px){.container{width:calc(100% - 64px)}.section{padding-block:85px}.therapist-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 26px}.section-heading{align-items:flex-start}.section-lead{margin-top:28px;font-size:12px}.rooms{gap:30px}.contact-panel{gap:20px;padding-inline:25px}.contact-phone{gap:10px;font-size:28px}.contact-panel h3{font-size:19px}.contact-panel>div>p:not(.eyebrow){font-size:10px}.social-layout{gap:45px}.recruit-layout{gap:35px}.recruit-details{padding-left:25px}.recruit-section h2{font-size:26px}.recruit-details li{font-size:12px}.footer-top{gap:25px}}@media (aspect-ratio<=4/5){.hero{align-items:end}.hero-picture img{object-position:center top}.hero-shade{background:linear-gradient(#fff6f908 35%,#fff7fa40 49%,#fff5f8e8 72%,#fff6f9f5)}.hero-content{width:100%;max-width:650px;padding:0 24px calc(65px + var(--dock-height))}.hero-rule{display:none}.hero h1{margin-top:14px;font-size:clamp(30px,5.7vw,45px);line-height:1.65}.hero-description{margin-top:12px;font-size:12px}.hero-price{margin-block:14px}.hero-contact{margin-top:12px}.hero-image-note{bottom:calc(15px + var(--dock-height));right:15px}.scroll-cue{left:22px;bottom:var(--dock-height)}}@media (width<=600px){:root{--header-height:72px;--dock-height:calc(60px + env(safe-area-inset-bottom,0px))}html{scroll-padding-top:calc(var(--header-height) + 15px)}body{padding-bottom:var(--dock-height);font-size:13px}.container{width:calc(100% - 40px)}.section{padding-block:64px}.section-heading{margin-bottom:30px;display:block}.section h2{margin-top:10px;font-size:25px;line-height:1.7}.section-lead{margin-top:15px;padding-bottom:0;font-size:11px;line-height:2}.heading-flower{opacity:.22;width:75px;top:-15px;right:-16px}.eyebrow{letter-spacing:.2em;font-size:10px}.site-header{gap:10px;padding:4px 16px}.brand{flex-basis:188px}.brand img{width:188px}.header-phone{display:none}.menu-toggle{margin-left:auto}.hero{min-height:600px}.hero-content{padding-inline:15px;padding-bottom:calc(var(--dock-height) + 48px)}.hero-location{letter-spacing:.17em;font-size:8px}.hero-location span{margin-inline:5px}.hero h1{letter-spacing:.08em;font-size:clamp(29px,7.5vw,40px)}.hero-description{letter-spacing:.07em;font-size:11px}.hero-price{gap:10px;margin-block:12px 14px}.hero-price>span:first-child{padding-right:10px;font-size:8px}.hero-price b{font-size:21px}.hero-price strong{font-size:27px}.hero-button{min-width:228px;min-height:48px;padding-block:12px;font-size:12px}.hero-contact{margin-top:10px;font-size:10px}.hero-image-note{bottom:calc(var(--dock-height) + 12px);padding:4px 7px;font-size:9px}.scroll-cue{display:none}.therapist-grid{gap:30px 15px}.portrait-wrap{border-radius:3px}.portrait-view{display:none}.image-note{padding:3px 5px;font-size:9px;bottom:7px;left:6px}.therapist-caption{padding-top:10px}.therapist-name{display:block}.roman-name{font-size:20px;line-height:1.2;display:block}.japanese-name{margin-top:4px;font-size:18px;display:block}.therapist-meta{flex-direction:column;align-items:flex-end;gap:4px;font-size:10px}.round-arrow{width:25px;height:25px}.round-arrow svg{width:15px}.image-disclaimer{gap:7px;margin-top:28px;font-size:10px}.room-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.room-photo:first-child{grid-column:1/-1}.room-gallery+.rooms{margin-top:27px}.rooms{display:block}.room{margin-top:24px;padding-block:21px}.room-title h3{font-size:27px}.room-address{margin-top:17px;font-size:12px}.room-access{font-size:10px}.contact-panel{text-align:center;margin-top:32px;padding:26px 19px;display:block}.contact-panel h3{font-size:21px}.contact-panel>div>p:not(.eyebrow){font-size:10px}.contact-phone-wrap{margin-top:16px}.contact-phone{gap:10px;font-size:clamp(26px,7.4vw,34px)}.contact-phone svg{width:21px}.contact-phone-wrap>p{gap:0 12px}.social-section{padding-bottom:64px}.social-layout{display:block}.social-section h2{font-size:25px}.social-links{margin-top:25px}.social-name{gap:17px}.social-name>span{font-size:24px}.recruit-section{padding-block:55px}.recruit-layout{display:block}.recruit-section h2{letter-spacing:.06em;font-size:clamp(24px,6.3vw,29px)}.recruit-intro>p:last-child{font-size:11px}.recruit-details{border:0;margin-top:29px;padding:0}.recruit-details ul{gap:11px;margin-bottom:24px}.recruit-details li{font-size:13px}.recruit-flower{width:180px}.flower-one{top:-60px;left:auto;right:-60px}.flower-two{width:210px;bottom:-55px;left:-55px;right:auto}.site-footer{padding-top:29px;padding-bottom:22px}.footer-top{flex-wrap:wrap;gap:16px;position:relative}.footer-brand{width:215px}.footer-top>p{border:0;width:100%;padding-left:0;font-size:10px}.back-top{width:36px;height:36px;position:absolute;top:13px;right:0}.footer-bottom{margin-top:23px;padding-top:20px;display:block}.footer-bottom nav{gap:7px 20px}.footer-bottom>small{margin-top:20px;font-size:9px;display:block}.mobile-dock{z-index:45;min-height:var(--dock-height);padding-bottom:env(safe-area-inset-bottom,0px);background:var(--rose);grid-template-columns:1fr 1.15fr;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -3px 15px #77425417}.mobile-dock a{justify-content:center;align-items:center;gap:7px;min-height:60px;padding:9px 6px;font-size:11px;font-weight:500;line-height:1.4;display:flex}.mobile-dock a:first-child{background:var(--white);color:#a13e5b;border-top:1px solid var(--line)}.mobile-dock a:last-child{color:var(--white)}.profile-dialog{width:calc(100% - 28px);max-height:calc(100svh - 28px)}.dialog-panel{grid-template-columns:1fr}.dialog-portrait{height:auto;min-height:0}.dialog-portrait img{object-fit:contain;height:auto;min-height:0;max-height:52svh}.dialog-content{padding:25px 23px 28px}.dialog-roman{margin-top:8px;font-size:36px}.dialog-content h2{font-size:25px}.profile-facts{margin-top:15px}.profile-message{margin-top:16px;font-size:12px}.dialog-close-form{top:10px;right:10px}.dialog-close{width:36px;height:36px}}@media (height<=740px) and (aspect-ratio<=4/5){.hero-description{display:none}.hero-content{padding-bottom:calc(var(--dock-height) + 42px)}.hero h1{margin-top:9px;font-size:clamp(27px,6.8vw,36px);line-height:1.6}.hero-price{margin-block:10px}.hero-contact{margin-top:8px}}@media (height<=620px) and (aspect-ratio>=4/5){.hero{min-height:540px}.hero-content{padding-top:95px;padding-bottom:20px}.hero h1{font-size:34px;line-height:1.55}.hero-rule{margin-block:12px}.hero-description{margin-top:10px}.hero-price{margin-block:12px}.hero-contact{margin-top:8px}}.entry-section{border-bottom:1px solid var(--line);background:linear-gradient(110deg,#fff4f7,#fffafb);padding:25px 0;position:relative}.entry-layout{grid-template-columns:1.2fr 1fr;align-items:center;gap:38px;display:grid}.schedule-notice{align-items:center;gap:16px;min-width:0;display:flex}.notice-icon{width:47px;height:47px;color:var(--rose);background:#fff8fb;border:1px solid #e4b8c6;border-radius:50%;flex:0 0 47px;place-items:center;display:grid}.schedule-notice .eyebrow{letter-spacing:.17em;font-size:9px}.schedule-notice h2{color:#754653;letter-spacing:.04em;margin-top:5px;font-size:15px;font-weight:500}.schedule-notice div>p:last-child{color:#806470;margin-top:3px;font-size:10px;line-height:1.8}.notice-link{color:var(--rose-dark);white-space:nowrap;justify-items:center;gap:3px;margin-left:auto;display:grid}.notice-link span{font-size:9px}.quick-links{border-left:1px solid #e4c6d0;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.quick-links a{color:#9f4e69;border-right:1px solid #e4c6d0;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:77px;padding:5px 12px;display:flex}.quick-links a>span{color:#77525f;white-space:nowrap;font-size:10px}.quick-links a>svg:last-child{width:12px;height:12px}.directory-layout{grid-template-columns:minmax(0,1fr) 250px;align-items:start;gap:38px;display:grid}.directory-main{min-width:0}.directory-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;gap:20px;margin-bottom:28px;padding-bottom:20px;display:flex}.directory-heading h2{margin-top:6px;font-size:29px}.directory-caption{color:#8a707b;padding-bottom:4px;font-size:10px}.therapist-brief{color:#806b73;padding-top:8px;font-size:10px;line-height:1.8}.visit-guide{top:calc(var(--header-height) + 26px);background:linear-gradient(145deg,#fff8fb,#fff);border:1px solid #eed7df;border-top:3px solid #e89aaf;margin-top:6px;padding:25px 21px 18px;position:sticky}.guide-top{border-bottom:1px solid var(--line);padding-bottom:17px;position:relative}.guide-top h3{color:#79505f;font-family:var(--serif);letter-spacing:.08em;margin-top:6px;font-size:23px;font-weight:500}.guide-flower{opacity:.55;width:49px;position:absolute;top:-8px;right:-8px;transform:rotate(-15deg)}.guide-facts{margin-top:14px}.guide-facts>div{grid-template-columns:66px 1fr;gap:6px;padding:7px 0;font-size:11px;display:grid}.guide-facts dt{color:#997886}.guide-facts dd{color:#62454f}.guide-price{border-block:1px solid var(--line);margin-top:12px;padding:18px 0}.guide-price>span{color:#8d6575;font-size:10px}.guide-price p{color:#9c3d5a;font-size:11px}.guide-price b{font-family:Georgia,serif;font-size:23px;font-weight:400}.guide-price strong{margin-left:6px;font-family:Georgia,serif;font-size:31px;font-weight:400}.guide-price>a{color:#97586e;justify-content:space-between;align-items:center;padding-top:8px;font-size:10px;display:flex}.guide-contact{color:var(--rose-dark);text-align:center;padding:18px 0 16px;display:block}.guide-contact>span{justify-content:center;align-items:center;gap:7px;font-size:10px;display:flex}.guide-contact strong{margin-top:6px;font-family:Georgia,serif;font-size:23px;font-weight:400;line-height:1.5;display:block}.guide-blog{color:#99526b;background:#fff;border:1px solid #dcb3c0;justify-content:center;align-items:center;gap:9px;min-height:43px;padding:8px 5px;font-size:11px;display:flex}.menu-section{background:var(--paper);border-block:1px solid #f0e1e7;overflow:hidden}.course-comparison{border:1px solid var(--line);background:#fff;grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.course-comparison>div{text-align:center;padding:24px 15px 26px}.course-comparison>div+div{border-left:1px solid var(--line)}.course-comparison dt>span{color:#a36579;letter-spacing:.13em;font-size:9px}.course-comparison dt p{color:#ad5874;margin-top:8px;line-height:1.4}.course-comparison dt strong{font-family:Georgia,serif;font-size:50px;font-weight:400}.course-comparison dt p>span{margin-left:8px;font-size:13px}.course-comparison dd{color:#69434f;border-top:1px solid #f1dfe7;margin-top:15px;padding-top:13px}.course-comparison dd strong{font-family:Georgia,serif;font-size:31px;font-weight:400}.course-comparison dd>span{margin-left:7px;font-size:12px}.price-footer{justify-content:space-between;align-items:center;gap:20px;padding-top:22px;display:flex}.price-footer>p{color:#825b6c;font-size:12px}.price-footer>p>span{border:1px solid #e2c0cc;margin-right:17px;padding:4px 12px;font-size:10px}.price-footer strong{margin:0 5px 0 8px;font-family:Georgia,serif;font-size:24px;font-weight:400}.profile-landscape{width:min(780px,100% - 40px)}.profile-landscape .dialog-panel{grid-template-columns:1fr}.profile-landscape .dialog-portrait img{object-fit:contain;max-height:55svh}.profile-landscape .dialog-content{padding-top:26px}.profile-landscape .profile-facts{max-width:480px}.profile-landscape .dialog-content .button{max-width:360px}.profile-landscape .dialog-content .text-link{align-self:flex-start}@media (width<=1100px){.entry-layout{grid-template-columns:1.15fr 1fr;gap:24px}.schedule-notice{gap:11px}.notice-icon{flex-basis:40px;width:40px;height:40px}.schedule-notice h2{font-size:13px}.schedule-notice div>p:last-child{max-width:205px}.notice-link span{display:none}.directory-layout{grid-template-columns:minmax(0,1fr) 230px;gap:25px}.directory-heading h2{font-size:27px}.directory-caption{display:none}.visit-guide{padding-inline:17px}.therapist-meta{gap:6px}.japanese-name{font-size:18px}.roman-name{font-size:13px}.round-arrow{width:25px;height:25px}.round-arrow svg{width:15px}.portrait-view{display:none}}@media (width<=1000px){.directory-layout{display:block}.visit-guide{display:none}.therapist-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.directory-caption{display:block}}@media (width<=760px){.entry-layout{grid-template-columns:1fr;gap:23px}.schedule-notice{gap:14px}.schedule-notice h2{font-size:14px}.schedule-notice div>p:last-child{max-width:none}.notice-link{margin-left:auto}.notice-link span{font-size:8px;display:block}.quick-links a{min-height:65px}.quick-links a>span{font-size:11px}.course-comparison dt strong{font-size:41px}.course-comparison dd strong{font-size:25px}.price-footer{align-items:flex-start}.price-footer .text-link{font-size:10px}}@media (width<=600px){.entry-section{padding:23px 0}.section{padding-block:54px}.directory-heading{align-items:start;margin-bottom:22px;padding-bottom:17px}.directory-heading h2{font-size:25px}.directory-caption{max-width:87px;margin-top:20px;padding:0;font-size:9px;line-height:1.8}.therapist-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 14px}.therapist-caption{padding-top:10px}.therapist-name{flex-direction:column;align-items:flex-start;gap:3px;display:flex}.japanese-name{margin:0;font-size:18px}.roman-name{font-size:13px;line-height:1.3}.therapist-meta{flex-direction:row;align-items:center;gap:5px;font-size:10px}.round-arrow{width:22px;height:22px}.therapist-brief{padding-top:6px;font-size:10px;line-height:1.75}.course-comparison{grid-template-columns:repeat(2,minmax(0,1fr))}.course-comparison>div{padding:19px 18px 21px}.course-comparison>div:nth-child(3){border-left:0}.course-comparison>div:nth-child(n+3){border-top:1px solid var(--line)}.course-comparison dt strong{font-size:43px}.course-comparison dd{margin-top:10px;padding-top:9px}.course-comparison dd strong{font-size:29px}.price-footer{padding-top:17px;display:block}.price-footer>p{font-size:11px}.price-footer>p>span{margin-right:11px}.price-footer .text-link{margin-top:14px;font-size:11px}.social-section{padding-bottom:54px}.contact-panel{margin-top:29px}.profile-landscape{width:calc(100% - 28px)}.profile-landscape .dialog-portrait img{max-height:50svh}.profile-landscape .dialog-content{padding:25px 23px 28px}.dialog-portrait .image-note{bottom:8px}}@media (width>=1101px){.hero-content{transform:translate(8vw)}.hero-shade{background:radial-gradient(at 60%,#fff8f54d,#0000 58%),linear-gradient(#0000 70%,#fff5f85c)}}@media (width>=601px) and (width<=1100px){.hero-picture img{object-position:center 18%}}@media (width>=601px) and (width<=1100px) and (orientation:portrait){.hero{align-items:end}.hero-picture img{object-position:center top}.hero-content{width:100%;max-width:650px;padding:0 24px 65px;transform:none}.hero-rule{display:none}.hero h1{margin-top:14px;font-size:clamp(32px,4.4vw,45px);line-height:1.65}.hero-shade{background:linear-gradient(#fff6f908 35%,#fff7fa40 49%,#fff5f8e8 72%,#fff6f9f5)}}@media (width>=601px) and (width<=1100px) and (orientation:landscape){.hero-content{max-width:56vw;padding-top:100px;padding-bottom:30px;transform:translate(13vw)}.hero h1{font-size:clamp(28px,3.6vw,39px);line-height:1.6}.hero-description{margin-top:12px}.hero-price{margin-block:14px}}.room-photo img{transition:transform .7s cubic-bezier(.2,.65,.3,1)}.quick-links a{transition:color .25s,background-color .25s,transform .25s}.course-comparison>div{transition:background-color .3s}.social-links a{transition:color .25s,background-color .25s,padding-inline .25s}.social-links>a>svg{transition:transform .25s}.back-top{transition:background-color .25s,transform .25s}.button:active{transform:translateY(0)scale(.98)}@media (hover:hover){.room-photo:hover img{transform:scale(1.025)}.quick-links a:hover{background:#ffffff9c;transform:translateY(-3px)}.course-comparison>div:hover{background:#fff7fa}.social-links a:hover{background:#fff8fb;padding-inline:12px}.social-links a:hover>svg{transform:translate(2px,-2px)}.back-top:hover{background:#fff1f4;transform:translateY(-3px)}}@media (prefers-reduced-motion:no-preference){.mobile-menu:not([hidden]){animation:.28s cubic-bezier(.2,.65,.3,1) both menu-enter}.profile-dialog[open]{animation:.3s cubic-bezier(.2,.65,.3,1) both dialog-enter}.profile-dialog[open]::backdrop{animation:.25s both backdrop-enter}.scroll-cue i{transform-origin:top;animation:2.6s ease-in-out infinite scroll-line}.recruit-flower{animation:8s ease-in-out infinite flower-drift}.recruit-flower.flower-two{animation-duration:10s;animation-delay:-4s}}@keyframes menu-enter{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes dialog-enter{0%{opacity:0;transform:translateY(16px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes backdrop-enter{0%{opacity:0}to{opacity:1}}@keyframes scroll-line{0%,to{opacity:.45;transform:scaleY(.55)}50%{opacity:1;transform:scaleY(1)}}@keyframes flower-drift{0%,to{translate:0}50%{translate:0 -7px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.room-photo:hover img,.profile-trigger:hover .portrait-wrap img,.button:active,.button-primary:hover,.button:hover svg,.quick-links a:hover,.social-links a:hover>svg,.back-top:hover{transform:none}}
