@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600&family=Noto+Serif+JP:wght@400;500;600;700&display=swap');
:root{--navy:#071426;--silver:#d2dcea;--muted:#acb9cc;--teal:#039c9e}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--navy);color:#f5f7fb;font-family:'Noto Sans JP',sans-serif;font-size:15px;line-height:2}a{color:inherit;text-decoration:none}img{max-width:100%;object-fit:cover;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:'Noto Serif JP',serif;font-weight:500}em{font-style:normal;color:var(--silver)}.skip{position:absolute;left:-9999px}.skip:focus{left:0;z-index:9;background:white;color:black}.header{height:94px;position:absolute;z-index:3;left:5%;right:5%;display:flex;align-items:center;justify-content:space-between}.brand img{width:168px;height:70px;object-fit:contain}nav{display:flex;align-items:center;gap:32px;font-size:13px}.header-booking{background:var(--teal);padding:12px 32px}.hero{position:relative;min-height:850px;height:min(950px,70vw);overflow:hidden}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#07142655,transparent 70%)}.hero-inner{position:relative;padding:180px 0 0 10%;max-width:1100px}.hero-location{font-size:14px;letter-spacing:.16em;color:#dce3ef}.hero-location span{display:inline-block;margin-left:16px;border:1px solid #abbacf;padding:1px 12px}.hero h1{font-size:clamp(44px,4.9vw,76px);line-height:1.7;letter-spacing:.04em;margin:28px 0 25px;text-shadow:0 3px 25px #0008}.hero h1 em{background:linear-gradient(135deg,#fff,#adbbcf,#fff);background-clip:text;color:transparent;font-weight:600}.hero-footer{max-width:560px}.hero-lead,.hero-description{font-size:16px;line-height:2.2;text-shadow:0 1px 10px #000}.hero-reserve{display:none}.mobile-only{display:none}.offer{padding:55px 24px 65px;text-align:center;background:radial-gradient(ellipse at top,#263951,#0c1d34 70%)}.offer-frame{width:min(720px,100%);margin:auto;border:1px solid #9caec2;outline:1px solid #52677f;outline-offset:6px;padding:25px 35px;background:#09152880}.offer-label{letter-spacing:.18em}.offer h2{font-size:22px;color:var(--silver);margin-top:5px}.offer-price{display:flex;justify-content:center;align-items:center;gap:28px;line-height:1.3;margin:20px 0}.minutes{background:linear-gradient(130deg,#f4f7fc,#97a7bb);color:#102139;font-family:'Noto Serif JP',serif;font-size:44px;padding:10px 18px}.minutes small{font-size:20px}.amount{font-family:'Noto Serif JP',serif;font-size:76px;letter-spacing:.015em}.amount>small{font-size:25px}.amount small span{font-family:'Noto Sans JP';font-size:12px}.button{display:block;width:min(370px,100%);margin:32px auto 0;padding:16px 40px;background:linear-gradient(100deg,#069ca2,#008c92);border-radius:50px;text-align:center;font-weight:600;letter-spacing:.12em;box-shadow:0 10px 30px #0003}.button:after{content:' →';margin-left:28px}.button:hover,.header-booking:hover{filter:brightness(1.15)}.section{padding:100px 7%}.about{position:relative;text-align:center;overflow:hidden;isolation:isolate;background:#152339}.about-backdrop{position:absolute;inset:0;z-index:-1;background:linear-gradient(#081426bb,#071426ed),url('assets/private.webp') center/cover}.about h2{font-size:44px;line-height:1.8;letter-spacing:.08em;margin-bottom:40px}.about h2:before,.section-heading:before{content:'✧';display:block;font-size:32px;color:#c4d3e4;line-height:1;margin-bottom:24px}.about-body p{margin:25px 0;line-height:2.6}.section-heading{text-align:center;margin-bottom:60px}.section-heading h2{font-size:40px;letter-spacing:.12em}.heading-line{display:block;background:linear-gradient(90deg,transparent,#b7c9df,transparent);width:150px;height:1px;margin:25px auto}.experience{background:radial-gradient(ellipse at top left,#21364b,transparent 45%),#09192d}.wrap{max-width:1100px;margin:auto}.step{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:70px;margin:70px 0}.step:nth-child(even) .step-photo{order:2}.step-photo{position:relative}.step-photo img{width:100%;height:330px;border-radius:48% 52% 43% 57%/50% 44% 56% 50%;box-shadow:12px 14px 0 #b0c4e010}.step-photo>span{position:absolute;left:0;top:0;width:70px;height:70px;background:linear-gradient(130deg,#eff6ff,#8f9eb4);color:#0d2139;font:36px/70px 'Noto Serif JP';text-align:center;border:4px solid #13243a}.step-text h3{font-size:30px;line-height:1.65;margin-bottom:24px}.step-text>p{color:#d3dce7;line-height:2.2}.machine-note{margin-top:25px;padding-top:20px;border-top:1px solid #ffffff29}.machine-note span{font-size:26px;color:white}.machine-note small{font-size:14px}.cta-band{text-align:center;background:linear-gradient(#edf1f4e8,#e4eaf1ed),url('assets/treatment-cannula.jpg') center/cover;color:#142a42;padding:45px 20px}.band-price strong{font-size:24px}.cta-band .button{color:white;margin-top:20px}.method{background:#101e31}.method-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:65px;align-items:center}.method-image img{height:430px;width:100%;border-radius:50% 50% 8px 8px}.method h2{font-size:32px;line-height:1.8;margin-bottom:30px}.method p{margin-top:20px;color:#ced9e6}.price-section{background:radial-gradient(ellipse at bottom,#253b55,#071426 75%)}.price-panel{max-width:800px;margin:auto;background:#eef1f6;color:#13273f;padding:45px 60px;text-align:center}.price-panel h3{font-size:26px}.featured-price{border:1px solid #71859d;margin-top:30px;padding:25px}.trial-badge{display:inline-block;background:#1e354f;color:white;padding:3px 25px}.other-prices{display:flex;justify-content:space-around;border-bottom:1px solid #b8c3d0;padding:22px 0;gap:15px}.other-prices p{display:flex;gap:20px;font-size:21px}.other-prices small{font-size:14px}.price-panel .button{color:white}.access-section{background:#14263c}.access-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.access-grid>img{height:360px;width:100%}.access-info h3{font-size:24px}.access-info dl{font-size:14px}.access-info dl>div{display:flex;border-bottom:1px solid #ffffff20;padding:13px 0}.access-info dt{width:80px;flex-shrink:0;color:#b7c8dc}.access-info dd{margin:0}.text-link{font-size:13px;border-bottom:1px solid #b4c5d9}.faq-section{background:#273143}.faq-list{max-width:940px;margin:auto}details{background:#f4f6f9;color:#172b43;margin:16px 0;border-radius:4px}summary{list-style:none;cursor:pointer;padding:24px 30px;display:flex;align-items:center;gap:20px;font-weight:600}summary::-webkit-details-marker{display:none}summary span{font:24px 'Noto Serif JP';color:#62758e}summary i{margin-left:auto;flex-shrink:0;width:25px;height:25px;position:relative}summary i:before,summary i:after{content:'';position:absolute;background:#6a7e96;top:12px;left:3px;width:18px;height:1px}summary i:after{transform:rotate(90deg)}details[open] summary i:after{display:none}details>p{padding:0 30px 25px 70px}.closing{position:relative;background:linear-gradient(90deg,#071426ef,#07142650),url('assets/advertisement-cannula.png') center/cover;padding:100px 8%;text-align:center}.closing-content{position:relative;max-width:650px}.closing h2{font-size:42px;line-height:1.8;margin-bottom:25px}.closing-price strong{font-size:23px}footer{padding:40px 7%;display:flex;align-items:center;justify-content:space-between;font-size:12px}.footer-logo img{width:140px;height:60px;object-fit:contain}footer div{display:flex;gap:25px}.mobile-reserve{display:none}a:focus-visible,summary:focus-visible{outline:3px solid #72edf0;outline-offset:4px}
@media(min-width:1600px){.hero-inner{padding-left:14%}}
@media(max-width:750px){body{font-size:14px}.header{height:72px;left:20px;right:20px}.brand img{width:125px;height:55px}nav>a:not(.header-booking){display:none}nav{gap:0}.header-booking{padding:7px 17px;font-size:12px}.hero{height:900px;min-height:0}.hero-image{height:570px;top:330px;object-position:65% center}.hero-shade{background:linear-gradient(#071426 0%,#071426 30%,transparent 60%,#07142622)}.hero-inner{padding:110px 22px 0;text-align:center}.hero-location{font-size:11px;letter-spacing:.03em}.hero-location span{margin-left:7px;padding:1px 5px}.hero h1{font-size:37px;line-height:1.75;margin:25px -8px 20px;letter-spacing:.015em}.mobile-only{display:block}.hero-lead,.hero-description{font-size:13px;line-height:2}.hero-footer{margin:auto}.hero-description{margin-top:10px}.offer{padding:35px 22px 45px}.offer-frame{padding:20px 10px}.offer-label{font-size:13px}.offer h2{font-size:18px}.offer-price{gap:16px;margin:16px 0}.minutes{font-size:30px;padding:10px 12px}.minutes small{font-size:16px}.amount{font-size:48px}.amount>small{font-size:18px}.amount small span{display:block;font-size:10px;text-align:right}.amount{display:flex;align-items:center}.button{padding:15px 20px;margin-top:25px}.section{padding:65px 24px}.about h2{font-size:28px;letter-spacing:.03em;margin-bottom:26px}.about-body p{font-size:13px;line-height:2.4}.section-heading{margin-bottom:35px}.section-heading h2{font-size:30px}.step{display:flex;flex-direction:column;gap:30px;margin:40px 0 65px}.step:nth-child(even) .step-photo{order:0}.step-photo{width:100%}.step-photo img{height:260px}.step-photo>span{width:58px;height:58px;font-size:29px;line-height:50px}.step-text{width:100%}.step-text h3{font-size:25px;margin-bottom:18px;text-align:center}.step-text>p{font-size:14px}.method-grid,.access-grid{grid-template-columns:1fr;gap:35px}.method-image img{height:300px}.method h2{font-size:25px;text-align:center}.method p{font-size:14px}.price-panel{padding:30px 15px}.price-panel h3{font-size:21px}.featured-price{padding:20px 4px}.other-prices{flex-direction:column;padding:16px}.other-prices p{justify-content:space-between;font-size:20px}.access-grid>img{height:240px}.access-info dl>div{display:block}.access-info dt{font-size:12px;width:auto}.access-info dd{font-size:13px}summary{padding:20px 16px;gap:12px;font-size:13px;line-height:1.8}summary span{font-size:20px}details>p{padding:0 20px 20px;font-size:13px}.closing{padding:65px 20px;background-position:65% center}.closing h2{font-size:29px}.closing-content{background:#07142688;padding:20px 0}.closing-price{font-size:11px}.closing-price strong{font-size:20px}footer{flex-direction:column;gap:15px;padding-bottom:105px}.mobile-reserve{display:flex;position:fixed;z-index:5;bottom:0;left:0;right:0;background:#f1f4f8;color:#122940;padding:10px 14px;gap:12px;align-items:center;justify-content:space-between;box-shadow:0 -2px 20px #0003}.mobile-reserve>div{line-height:1.5}.mobile-reserve span{display:block;font-size:10px}.mobile-reserve strong{font-size:17px}.mobile-reserve small{font-size:10px}.mobile-reserve a{background:#008f95;color:white;padding:12px 17px;border-radius:30px;font-size:12px;font-weight:600}}
.hero h1{line-height:1.5;font-size:clamp(44px,4.5vw,70px);margin-top:25px}.hero-inner{padding-top:145px}.hero-footer{margin-top:28px}@media(max-width:750px){.hero-inner{padding-top:110px}.hero h1{font-size:37px;line-height:1.6}.hero-footer{margin-top:20px}}
@media(max-width:750px){.hero-image{mask-image:linear-gradient(transparent,#000 20%);-webkit-mask-image:linear-gradient(transparent,#000 20%)}}
.step:last-child .step-photo{overflow:hidden;border-radius:48% 52% 43% 57%/50% 44% 56% 50%}.step:last-child .step-photo img{border-radius:0;transform:scale(1.9);transform-origin:65% 100%;object-position:bottom}.step:last-child .step-photo>span{z-index:1}.cta-band{background-image:linear-gradient(#edf1f4e8,#e4eaf1ed),url('assets/treatment-cannula.jpg');background-position:center,65% 85%;background-size:cover,cover}
.step:last-child .step-photo{overflow:visible;border-radius:0}.actual-crop{overflow:hidden;border-radius:48% 52% 43% 57%/50% 44% 56% 50%}

/* Pricing: one continuous navy composition. */
.price-section{background:radial-gradient(ellipse at 12% 5%,#243950 0,transparent 45%),radial-gradient(ellipse at 90% 100%,#20374f 0,transparent 45%),#09182c}
.price-section .section-heading{margin-bottom:40px}
.price-panel{max-width:820px;padding:48px 64px 42px;background:linear-gradient(135deg,#12243b99,#061329cc);border:1px solid #95a7bd;color:#f4f7fb;box-shadow:none;position:relative}
.price-panel h3{font-size:27px;letter-spacing:.09em;margin:0 0 30px}
.price-panel .featured-price{border:0;margin:0;padding:0 0 30px;background:none;outline:0;box-shadow:none}
.price-panel .trial-badge{display:flex;align-items:center;justify-content:center;gap:22px;background:none;color:#d3deec;padding:0;font-family:'Noto Serif JP',serif;font-size:23px;letter-spacing:.16em}
.price-panel .trial-badge:before,.price-panel .trial-badge:after{content:'';height:1px;width:70px;background:#879bb477}
.price-panel .offer-price{gap:28px;margin:22px 0 0;line-height:1.15}
.price-panel .minutes{background:none;border:0;border-right:1px solid #899cb36b;padding:8px 28px 8px 0;color:#d6e0ed;font-size:49px;white-space:nowrap}
.price-panel .minutes small{font-size:21px}
.price-panel .amount{display:flex;align-items:baseline;font-size:100px;font-weight:600;letter-spacing:.01em;line-height:1.2;color:#f6f8fc}
.price-panel .amount>small{font-size:26px;margin-left:4px;line-height:1.5}
.price-panel .amount small span{display:block;font-size:11px;font-weight:400;white-space:nowrap}
.price-panel .other-prices{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid #899cb35c;border-bottom:1px solid #899cb35c;padding:22px 0}
.price-panel .other-prices p{display:flex;align-items:baseline;justify-content:center;gap:20px;font-size:23px;background:none;box-shadow:none;padding:0;border:0;white-space:nowrap}
.price-panel .other-prices p+p{border-left:1px solid #899cb35c}
.price-panel .other-prices p>span{color:#c3cfdf;font-family:'Noto Serif JP',serif}
.price-panel .other-prices strong{font-family:'Noto Serif JP',serif;font-size:32px;font-weight:500}
.price-panel .other-prices small{font-size:15px;margin-left:3px}
.price-panel .button{width:min(400px,100%);margin-top:32px;box-shadow:none}
@media(max-width:750px){
.price-section{padding:60px 20px}.price-section .section-heading{margin-bottom:28px}
.price-panel{padding:32px 18px 28px}.price-panel h3{font-size:19px;letter-spacing:.03em;margin-bottom:24px}
.price-panel .trial-badge{font-size:18px;gap:16px}.price-panel .trial-badge:before,.price-panel .trial-badge:after{width:36px}
.price-panel .featured-price{padding-bottom:25px}.price-panel .offer-price{gap:15px;margin-top:22px}
.price-panel .minutes{font-size:32px;padding:5px 15px 5px 0}.price-panel .minutes small{font-size:15px}
.price-panel .amount{font-size:clamp(43px,13vw,65px)}.price-panel .amount>small{font-size:18px}.price-panel .amount small span{font-size:9px}
.price-panel .other-prices{padding:18px 0}.price-panel .other-prices p{flex-direction:column;align-items:center;gap:5px;font-size:19px}.price-panel .other-prices strong{font-size:26px}.price-panel .other-prices small{font-size:12px}
.price-panel .button{margin-top:26px;letter-spacing:.04em;padding:15px 10px}
}

/* User-supplied supervisor portrait, framed from the supplied screenshot. */
.method-grid{grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:65px}
.supervisor-photo{width:100%;max-width:320px;margin:auto}
.supervisor-crop{position:relative;aspect-ratio:372/496;overflow:hidden}
.method-image.supervisor-photo img{position:absolute;width:524.731%;max-width:none;height:auto;left:-19.8925%;top:-88.1048%;border-radius:0;object-fit:initial}
.method h2{font-size:clamp(23px,2.3vw,32px);letter-spacing:0;line-height:1.8}
.method h2 span{display:inline-block}
@media(max-width:750px){.method-grid{grid-template-columns:1fr;gap:30px}.supervisor-photo{max-width:240px}.method h2{font-size:clamp(20px,5.6vw,28px)}}
.button.booking,.header-booking.booking,.hero-reserve.booking,.mobile-reserve .booking{background:#c25e0a;color:#fff;font-weight:700;transition:background-color .2s}.button.booking:hover,.header-booking.booking:hover,.hero-reserve.booking:hover,.mobile-reserve .booking:hover{background:#a84f08;filter:none}
@media(max-width:374px),(min-width:751px) and (max-width:799px){.step-text .nw{white-space:nowrap}}
.about .nw{display:inline-block}
.about-photo{width:min(560px,100%);height:auto;margin:45px auto;border-radius:4px;box-shadow:0 14px 40px #0006}
.accent{color:#E8C66A}.about-body .accent{font-weight:500}
