:root{--navy:#06152f;--blue:#1164c8;--cyan:#4bbef1;--paper:#f2f6fb;--ink:#06152f;--line:#d6e1ed}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;color:var(--ink);font-family:'Noto Sans JP',sans-serif;line-height:1.9;background:white}h1,h2,h3{font-family:'Zen Kaku Gothic New',sans-serif;line-height:1.35;margin:0;font-weight:900;letter-spacing:-.035em}h2{font-size:clamp(30px,3.7vw,54px)}h3{font-size:23px}p{margin:20px 0;color:inherit}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,summary,label.check{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}button{color:inherit}img{display:block;max-width:100%;object-fit:cover}figure{margin:0}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid var(--cyan);outline-offset:5px}::selection{background:var(--cyan);color:var(--navy)}.wrap{max-width:1220px;padding:100px 44px;margin:auto}.eyebrow{display:flex;align-items:center;gap:14px;font-family:'Barlow Condensed',sans-serif;font-size:15px;font-weight:700;letter-spacing:.15em;color:var(--blue);margin:0 0 25px}.eyebrow>span{border:1px solid currentColor;padding:3px 9px;letter-spacing:.03em}.note{font-size:12px;line-height:1.85;opacity:.75}.lead{font-size:20px;font-weight:600}.skip{position:fixed;top:-100px;left:20px;background:white;padding:15px;z-index:100}.skip:focus{top:0}header{position:absolute;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:22px 4.2%;gap:25px;color:white;border-bottom:1px solid #ffffff26;background:linear-gradient(#06152f91,transparent)}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.brand img{width:45px;height:51px;object-fit:contain;background:white}.brand span{display:flex;gap:8px;align-items:baseline}.brand b{font-family:'Barlow Condensed',sans-serif;font-size:32px;letter-spacing:.04em;line-height:1}.brand small{font-size:12px;font-weight:700}nav{display:flex;gap:24px;font-size:13px;font-weight:700}nav a{padding:6px 0;border-bottom:1px solid transparent}nav a:hover{border-color:var(--cyan)}.header-actions{display:flex;gap:10px;align-items:center}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:26px;padding:17px 26px;min-height:56px;background:linear-gradient(115deg,#1875da,#0e58b5);color:white;box-shadow:0 5px 0 #073b7d,0 12px 35px #0002;border:1px solid #65b5f866;font-size:14px;font-weight:700;position:relative;overflow:hidden;transition:transform .2s,box-shadow .2s,filter .2s;border-radius:3px}.btn span{font-size:20px}.btn:hover{transform:translateY(-3px);filter:brightness(1.12);box-shadow:0 8px 0 #073b7d,0 14px 35px #0003}.btn:active,.btn.pressed{transform:translateY(4px) scale(.985);box-shadow:0 1px 0 #073b7d}.btn:before{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 25%,#ffffff26 48%,transparent 65%);transform:translateX(-160%);transition:transform .7s}.btn:hover:before{transform:translateX(160%)}.header-actions .btn{min-height:44px;padding:8px 18px;font-size:12px}.menu{display:none}.hero{min-height:780px;height:min(950px,100svh);position:relative;background:var(--navy);color:white;overflow:hidden;display:flex;align-items:center}.hero-photo{position:absolute;width:100%;height:100%;object-position:70% 44%;animation:heroZoom 1.8s cubic-bezier(.16,1,.3,1) both}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#06152ff0 0%,#06152fc9 33%,#06152f2a 78%),linear-gradient(0deg,#06152ff5,transparent 45%)}.hero-copy{position:relative;width:100%;padding:135px 7% 180px}.hero-copy .eyebrow{color:var(--cyan);font-family:'Noto Sans JP',sans-serif;font-size:12px}.hero h1{font-size:clamp(40px,5.6vw,80px);line-height:1.38;max-width:1000px}.hero h1>span{display:block;animation:rise 1s both}.hero h1>span+span{animation-delay:.14s}.accent{color:var(--cyan)}.hero-lead{font-size:16px;line-height:2.1;max-width:530px;animation:rise 1s .25s both}.actions{display:flex;gap:28px;align-items:center;flex-wrap:wrap;margin-top:32px}.textlink{display:inline-flex;align-items:center;gap:30px;font-size:14px;font-weight:700;padding:13px 0;border-bottom:1px solid #ffffff66}.textlink span{font-size:20px}.textlink.dark{border-color:var(--blue);color:var(--blue)}.hero-bottom{position:absolute;bottom:36px;left:7%;right:7%;display:flex;gap:44px;align-items:center;border-top:1px solid #fff4;padding-top:20px}.hero-bottom>div{display:flex;align-items:baseline;gap:12px}.hero-bottom b{font-family:'Barlow Condensed',sans-serif;font-size:65px;line-height:1;color:var(--cyan)}.hero-bottom span{font-size:12px}.hero-bottom p{font-size:13px;margin:0}.hero-bottom small{color:#c8d7e7}.round{margin-left:auto;width:50px;height:50px;display:grid;place-items:center;border:1px solid #fff6;border-radius:50%;font-size:24px}.intro{display:grid;grid-template-columns:1fr 1fr;gap:80px}.intro p:first-child{margin-top:0}.check-section{background:var(--navy) url('/assets/gaku-section-texture_580c0a04.jpg') center/cover;color:white}.check-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:90px}.check-section .eyebrow{color:var(--cyan)}.check-intro>p{font-size:14px;color:#c4d3e7}.axis-display{position:relative;display:flex;justify-content:space-between;margin:38px 0 24px;padding:0 0 20px}.axis-line{position:absolute;top:22px;left:6%;right:6%;height:2px;background:#ffffff30}.axis-node{position:relative;text-align:center;display:flex;flex-direction:column;gap:12px;font-size:12px}.axis-node i{font-style:normal;display:grid;place-items:center;width:45px;height:45px;background:#0f2b4d;border:1px solid #416080;border-radius:50%;font-family:'Barlow Condensed';font-size:18px;transition:all .5s}.axis-node.lit i{background:var(--cyan);color:var(--navy);box-shadow:0 0 0 6px #4bbef118,0 0 25px #4bbef180;transform:scale(1.08)}.axis-display.complete .axis-line{background:var(--cyan);box-shadow:0 0 18px var(--cyan)}.progress-head{display:flex;justify-content:space-between;font-family:'Barlow Condensed';letter-spacing:.1em}.progress{height:3px;background:#ffffff26;margin:16px 0 24px}.progress span{display:block;height:100%;background:var(--cyan);width:0;transition:width .5s;box-shadow:0 0 12px var(--cyan)}.check{display:flex;align-items:center;gap:17px;padding:17px 20px;margin:10px 0;border:1px solid #ffffff30;background:linear-gradient(120deg,#153253d9,#09213ca6);cursor:pointer;position:relative;transition:all .3s;overflow:hidden}.check input{position:absolute;opacity:0;width:25px;height:25px;left:18px}.check:has(input:focus-visible){outline:3px solid var(--cyan)}.checkmark{flex-shrink:0;display:grid;place-items:center;width:27px;height:27px;border:1px solid #7a92ae;color:transparent;transition:all .3s}.check small{display:block;font-size:10px;font-family:'Barlow Condensed';letter-spacing:.1em;color:#8eb9e3}.check>span:last-child{font-size:14px;line-height:1.65}.check:has(input:checked){border-color:var(--cyan);background:linear-gradient(120deg,#174a78,#0b3153);transform:translateX(4px)}.check:has(input:checked) .checkmark{color:var(--navy);background:var(--cyan);border-color:var(--cyan);animation:pop .45s}.check-result{border-top:1px solid #ffffff30;margin-top:24px;padding-top:24px}.check-result strong{display:block;font-size:18px}.check-result p{font-size:12px;color:#bfcfe0;margin:10px 0 18px}.reset{background:none;border:0;text-decoration:underline;color:#bfcfe0;font-size:12px;margin:18px 0 0;display:block}.section-head{margin-bottom:45px}.section-head>p{max-width:650px;color:#506176}.method-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.method-grid figure{position:relative}.method-grid img{width:100%;height:570px}.method-grid figcaption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#06152fe6);color:white;padding:70px 25px 25px;font-size:18px;font-weight:700}.steps article{display:flex;gap:24px;padding:27px 0;border-bottom:1px solid var(--line)}.steps article>span{font-family:'Barlow Condensed';font-size:30px;color:var(--blue);line-height:1.2}.steps h3{font-size:21px}.steps p{font-size:14px;color:#506176;margin:12px 0 0}.life{display:grid;grid-template-columns:1fr 1fr;background:#0c2446;color:white}.life-photo img{height:100%;min-height:540px;width:100%;object-position:center 40%}.life-copy{padding:75px 10%}.life-copy .eyebrow{color:var(--cyan)}.life-copy p{color:#d7e6f8;line-height:2.2}.life-copy small{font-size:11px;color:#abbfd8}.service{border-bottom:1px solid var(--line)}summary{list-style:none}summary::-webkit-details-marker{display:none}.service summary{display:flex;align-items:center;gap:30px;padding:25px 5px}.service summary>span{font-family:'Barlow Condensed';font-size:29px;color:var(--blue)}.service summary h3{font-size:22px}.service summary p{font-size:13px;color:#506176;margin:5px 0 0}.service summary b{font-weight:400;font-size:24px;margin-left:auto}.service[open] summary b,.faq[open] summary b{transform:rotate(45deg)}.service-body{display:grid;grid-template-columns:.7fr 1fr;gap:35px;padding:5px 0 35px;animation:rise .4s}.service-body img{width:100%;height:300px}.service-body p{font-size:14px;margin-top:0}.service-price{display:flex;justify-content:space-between;padding:10px 0;border-top:1px solid var(--line);font-size:13px}.service-body .btn{margin-top:15px}.prices{background:var(--paper)}.pricing-top{display:grid;grid-template-columns:1fr 1fr;gap:60px}.offer{padding:35px 40px;background:var(--navy) url('/assets/gaku-section-texture_580c0a04.jpg') center/cover;color:white;border-top:4px solid var(--cyan)}.offer>span{font-size:13px}.offer>strong{display:block;font-family:'Barlow Condensed';font-size:88px;line-height:1.2;margin:16px 0;color:var(--cyan)}.offer small{font-size:26px;margin-left:8px}.offer p{font-size:13px}.offer p b{font-size:22px;margin-left:10px}.price-table{display:grid;grid-template-columns:1fr 1fr;margin-top:40px;border-top:1px solid var(--line)}.price-table>div{padding:22px 24px;border-bottom:1px solid var(--line)}.price-table>div:nth-child(odd){border-right:1px solid var(--line)}.price-table span{font-weight:700}.price-table p{font-size:12px;margin:4px 0}.price-table strong{font-size:26px;color:var(--blue)}.price-table del{font-size:14px;color:#6f7c8e;font-weight:400}.payment{font-size:13px}.director{display:grid;grid-template-columns:.8fr 1fr;gap:85px;align-items:center}.portrait{position:relative}.portrait img{width:100%;height:550px;object-position:center top}.portrait>span{position:absolute;bottom:-25px;right:-25px;background:var(--blue);color:white;font-family:'Barlow Condensed';font-size:100px;padding:0 30px;line-height:1.1}.portrait small{display:block;font-size:12px;letter-spacing:.1em;padding-bottom:15px}.director p{font-size:14px;color:#506176}.director .director-name{font-size:28px;font-weight:700;color:var(--navy);margin-top:30px}.director-name small{font-size:12px;margin-left:12px;font-weight:400}.qualifications{border-top:1px solid var(--line);padding-top:20px;font-size:13px;color:var(--blue)}.gallery-section{background:#f3f7fb;padding-bottom:30px}.gallery-section .wrap{padding-bottom:25px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:1300px;margin:auto;padding:0 44px}.gallery img{height:245px;width:100%;transition:transform .6s}.gallery figcaption{font-size:12px;padding:12px 0}.gallery figure{overflow:hidden}.gallery figure:hover img{transform:scale(1.035)}.activity{border-top:1px solid var(--line);padding-top:20px}.activity summary{display:flex;justify-content:space-between}.activity p{font-size:12px}.activity-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.activity-grid img{width:100%;height:180px}.voices{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.voice{margin:0;border-top:2px solid var(--blue);padding:20px 0}.quote{font-family:Georgia,serif;color:var(--blue);font-size:80px;line-height:.8;display:block}.voice p{font-size:14px;line-height:2}.voice footer{padding:20px 0 0;background:none;color:#506176;font-size:11px;display:flex;justify-content:space-between;border-top:1px solid var(--line)}.voice footer span{font-family:'Barlow Condensed';color:var(--blue);font-size:20px}.faq-section{background:var(--paper)}.faq{border-bottom:1px solid #c8d7e5}.faq summary{display:flex;gap:24px;align-items:center;padding:25px 0;font-weight:700;font-size:16px}.faq summary>span{color:var(--blue);font-family:'Barlow Condensed';font-size:20px}.faq summary>b{margin-left:auto;font-weight:400;font-size:22px}.faq>p{padding:0 35px 22px 53px;margin:0;font-size:14px;animation:rise .4s}.faq-section .textlink{margin-top:25px}.access{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.access h3{margin-top:30px;font-size:20px}.access p{font-size:14px}.access .phone{font-family:'Barlow Condensed';font-size:36px;color:var(--blue)}.access figure img{height:500px;width:100%}.access figcaption{font-size:12px;margin-top:12px}.contact{padding:100px 7%;color:white;background:linear-gradient(95deg,#06152ff0,#06152fc9),url('/assets/clinic-interior_16f8b3d3.webp') center/cover}.contact>div{max-width:1130px;margin:auto}.contact .eyebrow{color:var(--cyan)}.contact h2{font-size:clamp(30px,4vw,52px)}.contact .ghost{background:#ffffff0d;border-color:#ffffff66;box-shadow:none}.contact p{color:#c2d1e4}.contact .btn span{font-size:16px}footer{background:#041125;color:#c4d1e1;padding:55px 7% 90px}footer>.brand{color:white}footer>p{font-size:12px}.footerlinks{display:flex;gap:25px;flex-wrap:wrap;font-size:12px;margin:25px 0}.preferences{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:20px 0;border-top:1px solid #ffffff20}.preferences button{background:#112541;border:1px solid #ffffff30;padding:7px 13px;font-size:11px;min-height:40px}.preferences span{font-size:10px}footer>small{font-size:10px}.mobile-cta{display:none}.subpage{padding-top:155px;min-height:70vh}.subpage~.contact{margin-top:30px}body:has(.subpage)>header{background:var(--navy)}.subpage h1{font-size:clamp(34px,5vw,64px);margin-bottom:30px}.subpage .breadcrumb{display:block;font-size:11px;color:#697c93;margin-bottom:40px}.subpage .voices{margin-top:50px;row-gap:20px}.subpage .textlink{margin-top:35px}.reveal{opacity:1;transform:none}.motion .reveal{opacity:0;transform:translateY(28px);transition:opacity .8s,transform .8s}.motion .reveal.visible{opacity:1;transform:none}.ripple{position:fixed;width:20px;height:20px;border:2px solid var(--cyan);border-radius:50%;pointer-events:none;z-index:100;animation:ripple .65s both}.spark{position:fixed;width:6px;height:12px;left:50%;top:48%;background:var(--cyan);z-index:100;pointer-events:none;animation:spark 1.3s ease-out forwards}.complete .axis-node i{animation:pop .65s}.check-result.complete{border-color:var(--cyan)}@keyframes heroZoom{from{transform:scale(1.09);filter:brightness(.6)}to{transform:scale(1);filter:brightness(1)}}@keyframes rise{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}@keyframes pop{0%,100%{transform:scale(1)}45%{transform:scale(1.2)}}@keyframes ripple{to{transform:translate(-5px,-5px) scale(4);opacity:0}}@keyframes spark{to{transform:translate(var(--x),var(--y)) rotate(var(--r));opacity:0}}
@media(min-width:1500px){.hero-copy{padding-left:max(7%,calc((100vw - 1200px)/2))}.hero h1{font-size:80px}}
@media(max-width:1100px){nav{gap:15px;font-size:12px}.brand span{display:block}.brand small{display:block;margin-top:5px}.wrap{padding:80px 35px}.check-layout{gap:40px}.director{gap:50px}.hero h1{font-size:6vw}.method-grid{gap:35px}.voices{gap:22px}}
@media(max-width:760px){html{scroll-padding-top:20px}header{padding:16px 20px;gap:10px}.brand img{width:33px;height:38px}.brand b{font-size:27px}.brand small{font-size:9px}.brand{gap:8px}.header-actions .btn{padding:7px 12px;gap:10px;font-size:11px;min-height:39px}.header-actions .btn span{font-size:15px}.menu{display:block;border:1px solid #ffffff50;background:#06152f50;color:white;width:38px;height:38px;font-size:19px}nav{display:none;position:absolute;top:76px;left:0;right:0;padding:25px;background:var(--navy);border-top:1px solid #fff3;font-size:15px}header.open nav{display:grid;gap:15px}.hero{height:auto;min-height:780px;align-items:flex-start}.hero-photo{object-position:61% center}.hero-shade{background:linear-gradient(90deg,#06152fe8,#06152f54),linear-gradient(0deg,#06152f,transparent 80%)}.hero-copy{padding:160px 24px 180px}.hero-copy .eyebrow{font-size:9px;letter-spacing:.08em;margin-bottom:25px}.hero h1{font-size:clamp(33px,7.5vw,53px);line-height:1.5;letter-spacing:-.055em}.hero-lead{font-size:13px;line-height:2.1;margin-top:26px}.hero .actions{gap:15px;margin-top:30px;align-items:flex-start;flex-direction:column}.hero .btn{font-size:13px;min-height:53px}.hero .textlink{font-size:12px;padding:8px 0}.hero-bottom{left:24px;right:24px;gap:20px;bottom:28px;align-items:center}.hero-bottom b{font-size:50px}.hero-bottom>div{display:block}.hero-bottom span{display:block;font-size:10px}.hero-bottom p{font-size:10px}.hero-bottom small{font-size:9px}.round{width:36px;height:36px;flex-shrink:0;font-size:18px}.wrap{padding:65px 24px}.eyebrow{font-size:12px;margin-bottom:22px}h2{font-size:32px;line-height:1.45}.intro{grid-template-columns:1fr;gap:25px}.intro .lead{font-size:17px}.intro p{font-size:14px}.check-layout{grid-template-columns:1fr;gap:30px}.check-intro>p{font-size:13px}.axis-display{margin-top:27px;margin-bottom:12px}.check-intro .note{font-size:10px}.check{padding:16px 14px;gap:13px}.check>span:last-child{font-size:13px}.check-result strong{font-size:16px}.check-result .btn{font-size:13px}.section-head{margin-bottom:28px}.section-head>p{font-size:13px}.method-grid{grid-template-columns:1fr;gap:10px}.method-grid img{height:360px}.method-grid figcaption{font-size:15px}.steps article{padding:23px 0;gap:18px}.steps h3{font-size:20px}.steps p{font-size:13px}.life{grid-template-columns:1fr}.life-photo img{height:320px;min-height:0;object-position:center 40%}.life-copy{padding:45px 24px 55px}.life-copy p{font-size:14px}.service summary{gap:15px;padding:22px 0}.service summary>span{font-size:23px}.service summary h3{font-size:18px;letter-spacing:-.02em}.service summary p{font-size:11px}.service summary b{font-size:20px;flex-shrink:0}.service-body{grid-template-columns:1fr;gap:20px}.service-body img{height:250px}.service-price{gap:15px}.service-price strong{white-space:nowrap}.pricing-top{grid-template-columns:1fr;gap:20px}.pricing-top p{font-size:13px}.offer{padding:27px}.offer>strong{font-size:78px}.price-table{grid-template-columns:1fr;margin-top:24px}.price-table>div{padding:20px 0}.price-table>div:nth-child(odd){border-right:0}.price-table strong{font-size:25px}.director{grid-template-columns:1fr;gap:45px}.portrait img{height:420px}.portrait>span{right:0;bottom:-15px;font-size:80px}.portrait small{font-size:10px}.director .director-name{font-size:25px}.director-name small{display:block;margin:6px 0 0}.gallery{grid-template-columns:1fr 1fr;padding:0 24px;gap:20px 14px}.gallery img{height:155px}.gallery figcaption{font-size:10px;line-height:1.7}.gallery-section .wrap{padding-top:55px}.activity summary{font-size:13px}.activity-grid{grid-template-columns:1fr 1fr}.activity-grid img{height:180px}.voices{grid-template-columns:1fr;gap:15px}.voice p{font-size:14px}.voice{padding-top:25px}.faq summary{font-size:14px;gap:13px;padding:22px 0}.faq summary>span{font-size:18px;flex-shrink:0}.faq summary b{flex-shrink:0}.faq>p{padding:0 0 25px 38px;font-size:13px}.access{grid-template-columns:1fr;gap:30px}.access figure img{height:330px}.contact{padding:65px 24px}.contact h2{font-size:29px}.contact p{font-size:13px}.contact .actions{gap:17px;align-items:stretch;flex-direction:column}.contact .btn{font-size:13px}.contact .btn span{font-size:14px}footer{padding:40px 24px 110px}.footerlinks{gap:16px;font-size:11px}.mobile-cta{display:flex;position:fixed;bottom:0;left:0;right:0;background:#06152feb;padding:10px 15px max(10px,env(safe-area-inset-bottom));gap:10px;align-items:center;z-index:30;box-shadow:0 -5px 25px #0002}.mobile-cta>a:first-child{width:34%;text-align:center;color:white;font-size:13px}.mobile-cta .btn{flex:1;padding:10px 18px;min-height:44px;font-size:13px;box-shadow:0 3px 0 #073b7d}.mobile-cta .btn span{font-size:17px}.subpage{padding-top:125px}.subpage .lead{font-size:15px}.subpage h1{font-size:36px}.subpage .voices{margin-top:35px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion .reveal{opacity:1;transform:none}.ripple,.spark{display:none}}
.check-section{background:linear-gradient(110deg,#06152fd9,#06152fb0),url('/assets/gaku-hero-texture_5666a3b3.jpg') center/cover}.offer{background:linear-gradient(110deg,#06152fd9,#06152fb0),url('/assets/gaku-hero-texture_5666a3b3.jpg') center/cover}a:not(.btn),button,summary{transition:transform .18s,filter .18s}a:not(.btn):active,button:active,summary:active{transform:translateY(2px);filter:brightness(1.15)}.btn.entered{animation:buttonEnter .65s both}.activity li{font-size:14px;padding:4px 0}@keyframes buttonEnter{from{opacity:.2;translate:0 15px}to{opacity:1;translate:0 0}}
/* First refinement: photo storytelling and visitor-led exploration */
[hidden]{display:none!important}.sound-short{background:#06152f75;border:1px solid #ffffff55;color:white;min-height:42px;padding:7px 11px;font-size:11px;white-space:nowrap}.reading-progress{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,var(--blue),var(--cyan));box-shadow:0 0 12px #4bbef155;z-index:60;pointer-events:none}.hero-trace{position:absolute;right:9%;top:23%;height:50%;width:2px;background:linear-gradient(transparent,#4bbef188,transparent);transform:rotate(-12deg);animation:traceEnter 1.5s .3s both}.hero-trace i{position:absolute;width:14px;height:14px;border:1px solid #4bbef1aa;border-radius:50%;left:-6px;background:#4bbef12e;box-shadow:0 0 22px #4bbef144}.hero-trace i:nth-child(1){top:10%}.hero-trace i:nth-child(2){top:50%}.hero-trace i:nth-child(3){top:90%}.hero h1>span{animation-duration:1.25s;animation-timing-function:cubic-bezier(.16,1,.3,1)}.hero .hero-photo{animation-duration:2s}.check-result #personal-result{padding:20px;margin:20px 0;background:linear-gradient(130deg,#245e8555,#102a4b88);border-left:2px solid var(--cyan)}#selected-concerns{padding-left:18px;font-size:12px;line-height:1.9;margin:0}#selected-concerns li{margin:9px 0}#personal-result #personal-hint{font-size:13px;color:#e1efff}.copy-concerns{background:#e1f4ff;border:1px solid white;border-radius:2px;box-shadow:0 4px 0 #7190b3;color:var(--navy);padding:11px 18px;font-size:12px;font-weight:700}.copy-concerns:active{box-shadow:none;transform:translateY(4px)}#copy-status{display:block;font-size:12px;color:var(--cyan);margin-top:12px}.body-explorer{padding-top:15px}.explorer-grid{display:grid;grid-template-columns:.7fr 1fr;gap:60px;padding:45px;background:linear-gradient(120deg,#edf5fc,#e5edf5);border-top:3px solid var(--blue)}.body-map{position:relative;min-height:440px;max-width:370px;width:100%;margin:auto}.body-map svg{height:400px;width:100%;fill:#d5e4f2;stroke:#799ab9;stroke-width:1.2}.body-map .body-axis{fill:none;stroke:var(--blue);stroke-width:2.4;stroke-dasharray:4 5}.body-point{position:absolute;left:45%;border:0;background:transparent;display:flex;gap:30px;align-items:center;padding:9px;min-height:42px;color:#324d68}.body-point i{width:14px;height:14px;border-radius:50%;background:#7199bc;box-shadow:0 0 0 5px #fff9;flex-shrink:0;transition:all .4s}.body-point span{background:white;border:1px solid #d3e0eb;padding:4px 14px;font-size:12px;white-space:nowrap}.body-point[aria-pressed=true] i{background:var(--blue);box-shadow:0 0 0 7px #1164c822,0 0 0 12px #1164c811}.body-point[aria-pressed=true] span{background:var(--blue);color:white;border-color:var(--blue)}.point-0{top:80%;left:40%}.point-1{top:62%;left:40%}.point-2{top:48%}.point-3{top:37%}.point-4{top:23%}.map-caption{position:absolute;bottom:0;left:0;right:0;text-align:center;font-size:10px;color:#60788f}.part-panel img{height:270px;width:100%;object-fit:cover}.part-panel article>div{padding:25px 0 0}.part-panel .eyebrow{margin-bottom:12px}.part-panel h3{font-size:25px}.part-panel p{font-size:14px;color:#506176}.photo-open{display:block;position:relative;width:100%;padding:0;border:0;background:none;overflow:hidden}.photo-open>span{position:absolute;right:12px;bottom:12px;background:#06152fcb;color:white;padding:4px 10px;font-size:10px;backdrop-filter:blur(8px)}.photo-open:hover img{transform:scale(1.04)}#photo-dialog{width:min(1000px,92vw);max-height:90svh;padding:45px 20px 15px;border:1px solid #ffffff35;background:#06152f;color:white;box-shadow:0 20px 90px #0008;overflow:auto}#photo-dialog::backdrop{background:#020b1de8;backdrop-filter:blur(8px)}#large-photo{width:100%;height:min(65svh,650px);object-fit:contain}#photo-dialog button{background:#17395e;color:white;border:1px solid #ffffff55;min-width:44px;min-height:44px;cursor:pointer}.photo-close{position:absolute;right:12px;top:5px;font-size:25px}.photo-controls{display:flex;gap:18px;justify-content:space-between;align-items:center;margin-top:14px}.photo-controls p{font-size:13px;margin:0;text-align:center}.photo-viewing{overflow:hidden}.subpage .sub-photo{position:relative;margin:0 0 40px;height:280px;overflow:hidden}.sub-photo img{width:100%;height:100%;object-position:center 42%;filter:brightness(.65)}.sub-photo>span{position:absolute;bottom:28px;left:30px;color:white;font-family:'Zen Kaku Gothic New';font-size:32px;font-weight:800;text-shadow:0 2px 20px #0007}.faq-search{background:linear-gradient(120deg,#eef6fc,#f7faff);border-left:3px solid var(--blue);padding:22px 25px;margin:30px 0}.faq-search label{display:block;font-size:13px;font-weight:700;margin-bottom:12px}.faq-search>div{display:flex;gap:10px}.faq-search input{width:100%;min-width:0;padding:14px;border:1px solid #b9cbdf;background:white;color:var(--navy);font:inherit;font-size:16px;border-radius:2px}.faq-search button{border:1px solid #a1bad6;background:white;color:var(--blue);padding:10px 16px;white-space:nowrap;font-size:12px}.faq-search p{font-size:12px;margin:12px 0 0;color:#506176}.services{counter-reset:services}.service[open]{border-left:3px solid var(--blue);padding-left:18px;background:linear-gradient(90deg,#f0f7fd,white 70%)}.voice{background:linear-gradient(150deg,#f4f9ff,white);padding:28px 22px}.voice footer{background:transparent}.btn.entered{animation-fill-mode:backwards}@keyframes traceEnter{from{opacity:0;transform:rotate(-12deg) scaleY(.2)}to{opacity:1;transform:rotate(-12deg) scaleY(1)}}
@media(max-width:1100px){header{gap:18px}nav{gap:14px}.header-actions{gap:7px}.brand small{font-size:10px}.explorer-grid{gap:30px;padding:30px}}
@media(max-width:760px){.sound-short{position:absolute;right:24px;top:96px;min-height:32px;padding:3px 9px;font-size:10px}.hero{min-height:740px}.hero-copy{padding-top:155px;padding-bottom:165px}.hero-bottom{bottom:27px}.hero-trace{right:7%;top:38%;height:30%;opacity:.5}.explorer-grid{grid-template-columns:1fr;gap:25px;padding:22px}.body-explorer{padding-top:0}.body-map{min-height:335px;max-width:285px}.body-map svg{height:310px}.body-point{gap:15px;padding:6px;left:45%}.body-point span{font-size:11px;padding:3px 10px}.point-0,.point-1{left:40%}.body-point i{width:11px;height:11px}.map-caption{font-size:9px}.part-panel img{height:220px}.part-panel h3{font-size:22px}.part-panel p{font-size:13px}.part-panel article>div{padding-top:20px}.subpage{padding-top:145px}.subpage .sub-photo{height:210px;margin-bottom:25px}.sub-photo>span{font-size:24px;left:18px;bottom:18px;right:18px;line-height:1.5}.subpage .breadcrumb{margin-bottom:25px}.faq-search{padding:18px}.faq-search>div{gap:6px}.faq-search button{padding:10px}.photo-controls p{font-size:11px}.voice{padding:25px 20px}.header-actions .btn{gap:8px}.btn,.copy-concerns{touch-action:manipulation}.service[open]{padding-left:12px}#personal-result{scroll-margin-bottom:90px}#large-photo{height:60svh}}
@media(prefers-reduced-motion:reduce){.hero-trace{animation:none}.btn.entered{animation:none}}
#memo-fallback{display:block;width:100%;min-height:160px;margin-top:15px;padding:15px;color:var(--navy);background:white;border:1px solid var(--cyan);font:inherit;font-size:13px;resize:vertical}.sound-short:active,.body-point:active{transform:translateY(2px)}
/* Second refinement: consistent media and control feedback */
.media-control{line-height:0;border-radius:0;text-align:left}.media-control:focus-visible{outline:3px solid var(--cyan);outline-offset:4px}.media-control img{width:100%;height:100%;max-width:100%;object-fit:cover}.method-grid figure .media-control{height:570px}.portrait .media-control{height:550px}.life-photo .media-control{height:100%;min-height:540px}.access figure .media-control{height:500px}.service-body>.media-control{height:300px}.part-panel .media-control{height:270px}.sub-photo-control{height:100%;width:100%}.sub-photo>span{pointer-events:none}.sub-photo .photo-open>span{top:15px;bottom:auto}.activity-grid .media-control{height:180px}.hero-photo-open{position:absolute;right:7%;bottom:180px;z-index:3;background:#06152f75;border:1px solid #ffffff70;color:white;padding:11px 16px;font-size:12px;min-height:44px;backdrop-filter:blur(8px);width:auto;box-shadow:0 3px 0 #06152f77;line-height:1.6}.hero-photo-open img{display:none}.hero .hero-photo-open:hover{background:#1164c8b0}.image-arrived{animation:photoArrive .9s cubic-bezier(.16,1,.3,1) backwards}.control-arrived{animation:controlArrive .65s cubic-bezier(.16,1,.3,1) backwards}a.pressed,button.pressed,summary.pressed,.press-held{transform:translateY(3px) scale(.985)!important;filter:brightness(1.08)}button.pressed:not(.body-point),summary.pressed,button.press-held:not(.body-point),summary.press-held{box-shadow:inset 0 2px 7px #06152f38!important}.btn.pressed,.btn.press-held{box-shadow:inset 0 2px 8px #06152f44,0 1px 0 #073b7d!important}.body-point.pressed span,.body-point.press-held span{box-shadow:inset 0 2px 6px #06152f33}.media-control.pressed img,.media-control.press-held img,.gallery .photo-open.pressed img{transform:scale(1.025)}.personal-note{display:block;margin:15px 0;padding-left:12px;border-left:1px solid #4bbef166}.completion-halo{position:fixed;top:50%;left:50%;width:100px;height:100px;margin:-50px;border:2px solid var(--cyan);border-radius:50%;pointer-events:none;z-index:100;box-shadow:0 0 20px #4bbef166;animation:completionWave 1.1s ease-out forwards}.complete .axis-node:nth-child(2) i{animation-delay:.05s}.complete .axis-node:nth-child(3) i{animation-delay:.12s}.complete .axis-node:nth-child(4) i{animation-delay:.19s}.complete .axis-node:nth-child(5) i{animation-delay:.26s}.complete .axis-node:nth-child(6) i{animation-delay:.33s}@keyframes photoArrive{from{opacity:.15;clip-path:inset(8% 0 0 0);translate:0 15px}to{opacity:1;clip-path:inset(0);translate:0 0}}@keyframes controlArrive{from{opacity:.2;translate:0 10px}to{opacity:1;translate:0 0}}@keyframes completionWave{from{opacity:.7;transform:scale(.3)}to{opacity:0;transform:scale(6)}}
@media(max-width:760px){.method-grid figure .media-control{height:360px}.portrait .media-control{height:420px}.life-photo .media-control{height:320px;min-height:0}.access figure .media-control{height:330px}.service-body>.media-control{height:250px}.part-panel .media-control{height:220px}.hero-photo-open{right:24px;bottom:140px;min-height:36px;font-size:10px;padding:6px 11px}.hero-copy{padding-bottom:190px}.activity-grid .media-control{height:180px}.personal-note{font-size:12px;line-height:1.9}.sub-photo>span{right:20px}.photo-controls button{flex-shrink:0}#photo-dialog{padding-top:52px}a,button,summary{touch-action:manipulation}}
@media(prefers-reduced-motion:reduce){.image-arrived,.control-arrived,.completion-halo{animation:none!important}.completion-halo{display:none}a.pressed,button.pressed,summary.pressed{transform:none!important}}

.sub-photo>span{text-wrap:balance}.photo-open{scroll-margin-top:115px}.method-grid figcaption{pointer-events:none}
/* Third refinement: a photographic visit, with a clear next step. */
.visit-journey{margin-top:34px;border:1px solid #d0dfec;background:linear-gradient(135deg,#f4f8fb,#fff);box-shadow:0 24px 60px #06152f0b}.journey-instruction{margin:0;padding:20px 28px;color:#4f6076;font-size:13px;border-bottom:1px solid #d0dfec}.journey-tabs{display:grid;grid-template-columns:repeat(4,1fr);background:#eff4f8}.journey-tabs button{position:relative;display:flex;align-items:center;gap:12px;min-height:76px;padding:18px 22px;border:0;border-right:1px solid #ceddea;background:transparent;color:var(--navy);font:inherit;font-weight:700;cursor:pointer;transition:background .3s,color .3s}.journey-tabs button:last-child{border-right:0}.journey-tabs button span{font:700 25px 'Barlow Condensed',sans-serif;color:#547797}.journey-tabs button i{margin-left:auto;font-style:normal}.journey-tabs button[aria-selected=true]{color:white;background:linear-gradient(120deg,#1164c8,#06478f)}.journey-tabs button[aria-selected=true] span{color:var(--cyan)}.journey-tabs button[aria-selected=true]::after{content:'';position:absolute;bottom:0;left:0;height:3px;width:100%;background:var(--cyan);box-shadow:0 0 14px #4bbef1}.journey-panel:not([hidden]){display:grid;grid-template-columns:1.15fr 1fr;min-height:470px}.journey-image{position:relative;min-width:0}.journey-image .media-control{height:100%;min-height:470px}.journey-image img{width:100%;height:100%;object-fit:cover}.journey-photo-note{position:absolute;bottom:18px;left:22px;color:white;font-size:10px;letter-spacing:.08em;background:#06152fc9;padding:6px 10px;pointer-events:none}.journey-copy{position:relative;display:flex;flex-direction:column;justify-content:center;padding:56px 46px;overflow:hidden;background:radial-gradient(ellipse at top right,#4bbef11c,transparent 65%)}.journey-number{position:absolute;right:20px;top:-22px;font:800 190px 'Barlow Condensed',sans-serif;color:#1164c80b;line-height:1;pointer-events:none}.journey-copy .eyebrow{position:relative;margin-bottom:24px}.journey-copy h3{position:relative;font-size:30px;line-height:1.5;margin:0 0 20px;font-family:'Zen Kaku Gothic New',sans-serif;font-weight:800;text-wrap:balance}.journey-copy p{position:relative;font-size:15px;line-height:2.1;margin:0}.journey-caption{margin-top:35px;padding-top:20px;border-top:1px solid #ceddea;font-size:11px;color:#4f6076}.journey-bottom{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:22px 28px;background:var(--navy);color:white}.journey-bottom p{font-size:12px;margin:0}.journey-bottom>div{display:flex;gap:8px}.journey-bottom button,.journey-bottom a{font:inherit;font-size:12px;min-height:46px;padding:10px 18px;border:1px solid #ffffff45;background:linear-gradient(135deg,#174476,#0c2b52);color:white;cursor:pointer;box-shadow:0 3px 0 #010916}.journey-bottom button:disabled{opacity:.3;cursor:default}.journey-bottom [hidden]{display:none}.journey-tabs button:focus-visible,.journey-bottom button:focus-visible{outline:3px solid var(--cyan);outline-offset:-4px}#concern-links{display:flex;flex-wrap:wrap;gap:9px;margin:22px 0}#concern-links a{display:inline-flex;padding:10px 12px;border:1px solid #4bbef16b;background:linear-gradient(120deg,#1164c82b,#06152f22);color:white;font-size:12px;line-height:1.6;min-height:44px;align-items:center;text-decoration:none}#concern-links a:hover{background:#1164c870}.service{scroll-margin-top:115px}.service:target{outline:2px solid var(--cyan);outline-offset:5px}
@media(max-width:760px){.visit-journey{margin-top:22px}.journey-instruction{padding:15px 18px;font-size:11px;line-height:1.8}.journey-tabs button{flex-direction:column;gap:5px;justify-content:center;min-height:78px;padding:10px 4px;font-size:11px}.journey-tabs button i{display:none}.journey-tabs button span{font-size:24px}.journey-panel:not([hidden]){grid-template-columns:1fr;min-height:0}.journey-image{height:290px}.journey-image .media-control{height:290px;min-height:0}.journey-photo-note{bottom:12px;left:12px;font-size:8px;padding:5px 8px}.journey-copy{padding:30px 24px;min-height:275px;justify-content:flex-start}.journey-copy h3{font-size:24px;margin-bottom:14px}.journey-copy p{font-size:13px}.journey-copy .eyebrow{margin-bottom:12px}.journey-number{font-size:150px;top:-15px}.journey-caption{margin-top:20px;padding-top:13px;font-size:10px}.journey-bottom{padding:18px;flex-wrap:wrap;gap:14px}.journey-bottom p{font-size:10px;width:100%}.journey-bottom>div{width:100%}.journey-bottom button:not(:first-child),.journey-bottom a{flex:1;text-align:center}.journey-bottom button,.journey-bottom a{font-size:11px}#concern-links a{font-size:11px;width:100%}.service{scroll-margin-top:105px}}
#concern-links{position:static;inset:auto;padding:0;border:0;background:none;min-width:0}
/* Photo viewer: unique images, direct selection and touch navigation. */
.photo-thumbs{display:flex;gap:8px;overflow-x:auto;overscroll-behavior-x:contain;padding:14px 2px 8px;margin-top:10px;border-top:1px solid #ffffff25;scrollbar-width:thin;scrollbar-color:#4bbef166 transparent}.photo-thumbs button{flex:0 0 76px;padding:0;height:56px;overflow:hidden;opacity:.5;transition:opacity .2s,border-color .2s;animation:controlArrive .4s both}.photo-thumbs button img{height:100%;width:100%;object-fit:cover}.photo-thumbs button[aria-current=true]{border:2px solid var(--cyan)!important;opacity:1;box-shadow:0 0 13px #4bbef140}.photo-thumbs button:hover,.photo-thumbs button:focus-visible{opacity:1}#large-photo{height:min(53svh,580px);touch-action:pan-y}.photo-controls{min-height:44px}#photo-dialog{max-height:94svh}.journey-panel{scroll-margin-top:110px}
@media(max-width:760px){#large-photo{height:48svh}.photo-thumbs button{flex-basis:60px;height:46px}.photo-thumbs{gap:7px;margin-top:8px;padding-top:12px}#photo-dialog{padding-left:12px;padding-right:12px}.photo-controls{gap:10px}}
@media(prefers-reduced-motion:reduce){.photo-thumbs button{animation:none}}

.method h2>span{display:inline-block}

/* Third refinement: daily-life scenes and direct paths to treatment */
.scene-section{padding-top:0}.scene-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.scene-card{position:relative;min-height:470px;overflow:hidden;color:white;background:var(--navy);isolation:isolate;box-shadow:0 10px 30px #06152f12}.scene-card>img{position:absolute;inset:0;width:100%;height:100%;transition:transform .7s;object-position:50% 35%;z-index:-2}.scene-card:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#06152ffa 0%,#06152fc9 35%,#06152f00 85%);z-index:-1}.scene-card>div{height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding:28px}.scene-card small{font-family:'Barlow Condensed',sans-serif;font-size:13px;letter-spacing:.15em;color:var(--cyan)}.scene-card h3{font-size:26px;line-height:1.5;margin:10px 0}.scene-card p{font-size:13px;line-height:1.9;margin:5px 0 22px;color:#dfebf9}.scene-card span{font-size:13px;padding-top:16px;border-top:1px solid #fff5;display:flex;justify-content:space-between}.scene-card b{color:var(--cyan)}.scene-card:hover>img{transform:scale(1.04)}.service summary .service-thumb{display:block;width:100px;height:82px;object-fit:cover;flex-shrink:0;border-radius:2px}.service{scroll-margin-top:28px}.service summary>div{flex:1}.related-service{display:block;padding:13px 0;border-bottom:1px solid #4bbef144;color:#b9e8ff;font-size:12px;min-height:44px}.related-service:hover{color:white}.scene-card:focus-visible{outline-offset:6px}.scene-section>.note{margin-bottom:0}nav [aria-current=page]{color:var(--cyan);border-bottom-color:var(--cyan)}
@media(max-width:760px){.scene-section{padding-top:0;padding-bottom:45px}.scene-grid{grid-template-columns:1fr;gap:16px}.scene-card{min-height:315px}.scene-card>div{padding:24px}.scene-card>img{object-position:center 35%}.scene-card h3{font-size:25px}.scene-card p{max-width:270px;margin-bottom:16px}.scene-card:after{background:linear-gradient(0deg,#06152ff5,#06152f77 65%,#06152f11)}.service summary .service-thumb{width:67px;height:78px}.service summary{gap:11px}.service summary>span{font-size:17px}.service summary h3{font-size:17px}.service summary p{line-height:1.75}.service{scroll-margin-top:20px}.hero{height:auto;min-height:760px}.hero-copy{padding-top:158px;padding-bottom:230px}.hero h1{font-size:clamp(30px,7.2vw,48px);word-break:keep-all;overflow-wrap:anywhere}.hero-photo-open{bottom:150px}.hero-bottom{gap:20px}.hero-bottom p{font-size:11px}.hero-bottom b{font-size:54px}.hero-bottom .round{width:40px;height:40px;flex-shrink:0}.check:has(input:checked){transform:none}.photo-open>span{line-height:1.6}body{overflow-wrap:break-word}}
@media(max-width:360px){.brand span{gap:4px}.brand small{font-size:9px}.header-actions .btn{padding:8px 10px}.hero-bottom{gap:12px}.hero-bottom .round{display:none}.service summary .service-thumb{width:54px}}
@media(prefers-reduced-motion:reduce){.scene-card:hover>img{transform:none}}

/* A compact, accessible route into all ten original treatments. */
.service-finder{padding:28px;margin-bottom:26px;border:1px solid #c7dce9;background:radial-gradient(ellipse at top right,#d8f2ff 0,transparent 65%),linear-gradient(120deg,#f5faff,#eaf3fa);border-radius:4px;box-shadow:0 12px 35px #06152f08}.service-finder>label{display:block;font-size:18px;font-weight:800;margin-bottom:14px}.service-search-row{display:flex;gap:10px}.service-search-row input{min-width:0;flex:1;padding:15px 18px;border:1px solid #a8bfd2;border-radius:3px;background:#fff;color:#06152f;font:inherit}.service-search-row button,.service-filters button{font:inherit;cursor:pointer;min-height:46px;border:1px solid #8aabc3;border-radius:3px;color:#123557;background:linear-gradient(150deg,#fff,#dfebf4);box-shadow:0 3px 0 #b0c4d4;padding:10px 18px;transition:transform .18s,box-shadow .18s,background .18s}.service-search-row button:active,.service-filters button:active{transform:translateY(3px);box-shadow:none}.service-filters{display:flex;gap:10px;flex-wrap:wrap;margin-top:17px}.service-filters button[aria-pressed=true]{color:#fff;border-color:#1164c8;background:linear-gradient(135deg,#1c80db,#0b53af);box-shadow:0 3px 0 #083b80}.service-finder :focus-visible{outline:3px solid #1685d0;outline-offset:4px}#service-count{font-size:13px;margin:18px 0 0;color:#3b576d}.service[hidden],#service-empty[hidden]{display:none!important}#service-empty{padding:24px;border-left:3px solid #1164c8;background:#f1f6fa;line-height:1.9}@media(max-width:600px){.service-finder{padding:20px 16px;margin-bottom:20px}.service-finder>label{font-size:16px}.service-search-row{gap:7px}.service-search-row input{padding:13px 10px;font-size:16px}.service-search-row button{font-size:12px;padding:10px;flex-shrink:0}.service-filters{gap:8px}.service-filters button{font-size:13px;padding:8px 12px}}
/* Arrival sequence, original branding and compact phone composition. */
.hero-proof{position:absolute;z-index:2;bottom:136px;left:7%;display:flex;align-items:center;gap:14px;color:#fff;font-size:11px;letter-spacing:.06em}.hero-proof span{padding:6px 10px;border-left:2px solid var(--cyan);background:linear-gradient(100deg,#06152fe0,#1164c830);backdrop-filter:blur(6px)}.hero-proof i{color:var(--cyan);font-style:normal}.hero-photo{animation:gakuArrival 1.8s cubic-bezier(.16,1,.3,1) both}.hero-copy h1>span{display:block;animation:gakuTitle 1.05s cubic-bezier(.16,1,.3,1) both}.hero-copy h1>span+span{animation-delay:.16s}.hero-proof{animation:gakuTitle .8s .5s both}.check:has(input:checked){background:linear-gradient(115deg,#134d83,#0a2649);border-color:var(--cyan)}.check:has(input:checked) .checkmark{animation:checkClick .45s cubic-bezier(.2,1.5,.4,1)}.hero-copy{max-width:100%}.hero-copy h1{font-size:clamp(40px,5.1vw,78px)}.hero-shade{background:linear-gradient(90deg,rgba(6,21,47,.94) 0%,rgba(6,21,47,.77) 38%,rgba(6,21,47,.2) 76%),linear-gradient(0deg,rgba(6,21,47,.86),transparent 45%)}
@keyframes gakuArrival{from{transform:scale(1.09);filter:brightness(.55)}to{transform:scale(1);filter:brightness(1)}}
@keyframes gakuTitle{from{opacity:0;translate:0 28px;clip-path:inset(100% 0 0)}to{opacity:1;translate:0 0;clip-path:inset(0)}}
@keyframes checkClick{0%{transform:scale(.6) rotate(-15deg)}65%{transform:scale(1.2) rotate(5deg)}100%{transform:scale(1) rotate(0)}}
@media(max-width:760px){.hero{min-height:700px;min-height:max(680px,92svh)}.hero-copy{padding:150px 24px 230px}.hero-copy h1{font-size:clamp(32px,7.6vw,48px);line-height:1.5;letter-spacing:-.045em}.hero-proof{left:24px;right:24px;bottom:147px;gap:6px;flex-wrap:wrap;font-size:9px}.hero-proof span{padding:4px 6px}.hero-photo-open{bottom:104px;right:24px}.hero-bottom{bottom:24px}.hero-bottom p{font-size:10px}.hero-lead{font-size:14px}.hero-copy .actions{gap:16px}.hero .hero-photo{object-position:60% center}.hero-trace{display:none}.wrap{padding-top:60px;padding-bottom:60px}.body-explorer{padding-top:0}.subpage{padding-top:135px}.sound-short{top:94px}.btn{min-height:48px}.check{min-height:78px}.hero-shade{background:linear-gradient(90deg,#06152fe8,#06152f55),linear-gradient(0deg,#06152ff5,transparent 70%)}.check-section .wrap{padding-top:55px;padding-bottom:55px}.section-head{margin-bottom:26px}}
@media(prefers-reduced-motion:reduce){.hero-photo,.hero-copy h1>span,.hero-proof,.check:has(input:checked) .checkmark{animation:none!important}.hero-photo{transform:none!important}}
/* Consultation clarity, responsive spacing and complete keyboard feedback. */
.hero-rim{position:absolute;left:0;bottom:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);transform-origin:left;animation:rimReveal 1.5s .4s both;pointer-events:none}.hero-copy .actions{animation:rise 1s .4s backwards}.hero-photo{will-change:auto}.result-overview{font-size:14px!important;line-height:1.95;color:#e9f5ff!important;font-weight:500}.result-details{border-top:1px solid #4bbef144;border-bottom:1px solid #4bbef144;margin:18px 0}.result-details summary{display:flex;justify-content:space-between;align-items:center;gap:15px;min-height:48px;padding:12px 0;font-size:12px;list-style:none;color:#c9e4f6}.result-details summary::-webkit-details-marker{display:none}.result-details summary b{color:var(--cyan);font-size:20px;font-weight:400;transition:rotate .25s}.result-details[open] summary b{rotate:45deg}.result-details #selected-concerns{margin:0 0 18px}.result-details .personal-note{font-size:12px}.result-links-label{margin-top:20px!important;font-size:12px!important;color:#dcefff!important}.check-result #concern-links{margin:12px 0 22px;gap:8px}.check-result #concern-links a{font-size:11px;padding:10px}.service-tools{margin:0 0 18px;border-top:1px solid var(--line);padding-top:20px}.service-tools>p{font-size:13px;color:#506176;margin:0 0 14px}.service-filters{display:flex;flex-wrap:wrap;gap:9px}.service-filters button{min-height:46px;padding:10px 18px;border:1px solid #b9d1e6;background:linear-gradient(135deg,#fff,#edf5fc);box-shadow:0 3px 0 #c9dbea;color:var(--navy);border-radius:3px;font-size:13px;font-weight:600}.service-filters small{margin-left:10px;font-family:'Barlow Condensed',sans-serif;font-size:17px}.service-filters [aria-pressed=true]{background:linear-gradient(125deg,#1875da,#0e58b5);color:#fff;border-color:#1164c8;box-shadow:0 3px 0 #073b7d}.service-tools #service-count{font-size:11px;margin-top:16px}.scene-card{display:flex;align-items:flex-end}.scene-card>div{width:100%;height:auto}.hero .eyebrow{letter-spacing:.12em}.check-result .btn{width:100%}.menu:focus-visible{outline-offset:3px}.service summary:focus{outline-offset:3px}.service summary>div{min-width:0}button:disabled{cursor:default;pointer-events:none}.photo-thumbs button:focus-visible{outline-offset:-3px}.ripple{pointer-events:none}.photo-close{z-index:2}.photo-controls{flex-wrap:nowrap}.photo-controls p{min-width:0;overflow-wrap:anywhere}.subpage .breadcrumb{display:inline-block;min-height:44px;padding:9px 0}#main-navigation a{min-height:44px;display:inline-flex;align-items:center}
@keyframes rimReveal{from{scale:0 1;opacity:0}to{scale:1 1;opacity:1}}
@media(max-width:760px){html{scroll-padding-bottom:90px}.hero-lead{font-size:14px}.hero .actions{gap:16px;margin-top:24px}.hero-photo{object-position:62% center}.hero-shade{background:linear-gradient(90deg,#06152fe6,#06152f6e),linear-gradient(0deg,#06152ff0,transparent 60%)}.scene-card{min-height:320px}.service-filters{display:grid;grid-template-columns:1fr 1fr;gap:10px}.service-filters button{padding:10px 7px;font-size:12px}.service-tools>p{font-size:12px}.check-result #personal-result{padding:16px;margin:16px 0}.check-result #concern-links a{width:auto;flex:1 1 135px}.result-overview{font-size:13px!important}.result-details summary{font-size:12px}.check-intro>.note{margin-bottom:0}.journey-copy{min-height:0}.journey-caption{margin-top:20px}.body-explorer{padding-bottom:50px}.scene-card>div{padding:25px}.hero-bottom span{font-size:11px}.hero-bottom small{font-size:10px}.sound-short{top:91px}.mobile-cta{min-height:68px}#main-navigation a{display:flex}.subpage h1{font-size:clamp(28px,8vw,36px);word-break:keep-all;overflow-wrap:anywhere}.service summary .service-thumb{height:84px}.service summary p{font-size:12px}.check-result,.service{scroll-margin-bottom:90px}}
@media(max-width:360px){header{padding-left:16px;padding-right:16px;gap:8px}.brand{gap:8px}.brand img{width:35px;height:43px}.brand b{font-size:27px}.brand span{display:block}.brand small{display:block;font-size:9px;line-height:1.3}.header-actions{gap:6px}.header-actions .btn{font-size:11px;gap:6px;padding:8px 10px}.menu{min-width:38px}.hero-copy{padding-left:20px;padding-right:20px}.hero h1{font-size:29px;letter-spacing:-.05em}.hero-lead{font-size:12px}.hero .eyebrow{font-size:10px}.hero .btn{font-size:12px;padding:15px 20px}.hero-bottom{left:20px;right:20px}.hero-bottom b{font-size:44px}.hero-bottom p{font-size:9px}.wrap{padding-left:20px;padding-right:20px}.gallery{padding-left:20px;padding-right:20px}.scene-card h3{font-size:23px}.journey-tabs button{font-size:10px}.body-point span{padding:3px 8px}.service summary{gap:8px}.service summary>span{display:none}.service summary h3{font-size:16px}}
@media(prefers-reduced-motion:reduce){.hero-rim{animation:none}.press-held,.scene-card:hover>img{transform:none!important;filter:none!important}.motion .reveal{opacity:1!important;transform:none!important}}
/* Search recovery keeps the consultation route visible at every result count. */
#service-empty h3{font-size:20px;line-height:1.6;margin:0 0 12px}#service-empty p{margin:0 0 20px}#service-empty .btn{max-width:100%;white-space:normal;font-size:14px}@media(max-width:400px){#service-empty{padding:20px 16px}#service-empty h3{font-size:18px}#service-empty .btn{padding:14px 16px;font-size:12px}.service-search-row{flex-wrap:wrap}.service-search-row input{flex-basis:170px}.service-search-row button{flex-grow:1}.service-filters button:last-child{grid-column:1/-1}}
/* Original voices presented alongside clearly identified clinic photographs. */
.voice-index{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:32px 0 42px}.voice-index a{display:flex;align-items:center;gap:12px;min-height:56px;padding:12px 16px;background:linear-gradient(120deg,#f2f8fd,#e7f0f8);border:1px solid #c8dbe9;color:var(--navy);font-size:12px}.voice-index a span,.voice-topic>span{font-family:'Barlow Condensed',sans-serif;font-size:26px;color:var(--blue);line-height:1}.voice-journal{display:grid;gap:56px}.voice-row{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:42px;align-items:start}.voice-row:nth-child(even) .voice-scene{order:2}.voice-scene{position:relative;overflow:hidden;background:var(--navy)}.voice-scene>.media-control{width:100%;height:460px}.voice-scene img{width:100%;height:460px}.voice-scene figcaption{position:relative;padding:18px 22px;background:linear-gradient(115deg,#06152f,#123b64);color:white;line-height:1.7;font-size:13px}.voice-scene figcaption small{font-size:11px;color:#c9dcec}.voice-entry{scroll-margin-top:115px;padding:0 0 28px;border-bottom:1px solid var(--line)}.voice-entry+.voice-entry{padding-top:24px}.voice-topic{display:flex;gap:14px;align-items:center;margin:0 0 16px;font-size:15px;font-weight:700}.voice-entry blockquote{margin:0;padding:0 0 0 18px;border-left:2px solid var(--cyan)}.voice-entry blockquote p{margin:0;font-size:15px;line-height:2.1}.voice-entry blockquote footer{display:block;padding:12px 0 0;background:none;color:#526b80;font-size:11px}.faq-topics{display:flex;gap:9px;flex-wrap:wrap;margin:22px 0}.faq-topics button,.faq-tools button{padding:11px 17px;min-height:46px;border:1px solid #acc5da;border-radius:3px;background:linear-gradient(135deg,#fff,#eaf3fa);box-shadow:0 3px 0 #c0d3e1;color:var(--navy);font-size:13px}.faq-topics button[aria-pressed=true]{background:linear-gradient(120deg,#1875da,#0e58b5);color:white;box-shadow:0 3px 0 #073b7d}.faq-tools{display:flex;align-items:center;gap:20px;justify-content:space-between;margin-bottom:24px}.faq-tools>span{font-size:12px;color:#506176}.faq-tools button:disabled{opacity:.5}.voice-entry:target{animation:voiceHighlight 1.4s ease-out}@keyframes voiceHighlight{from{background:#4bbef12e}to{background:transparent}}
@media(max-width:760px){.voice-index{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:25px 0 30px}.voice-index a{padding:10px;font-size:11px;gap:8px}.voice-row{grid-template-columns:1fr;gap:25px}.voice-row:nth-child(even) .voice-scene{order:0}.voice-scene>.media-control,.voice-scene img{height:260px}.voice-scene figcaption{padding:13px 17px}.voice-entry blockquote p{font-size:14px}.voice-journal{gap:38px}.faq-topics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.faq-topics button{padding:10px 6px;font-size:12px}.faq-tools{align-items:flex-start;flex-direction:column;gap:12px}.faq-tools button{width:100%}.voice-topic{font-size:14px}.voice-entry{scroll-margin-top:90px}}
@media(prefers-reduced-motion:reduce){.voice-entry:target{animation:none}}
/* Keep the mobile hero in reading order when text wraps or text size increases. */
@media(max-width:760px){.hero{display:flex;flex-direction:column;align-items:stretch;justify-content:center;height:auto;min-height:92svh;padding:134px 0 24px}.hero .hero-copy{padding:20px 24px 26px}.hero .hero-proof{position:relative;inset:auto;margin:0 24px;order:1;gap:7px;font-size:10px}.hero .hero-photo-open{position:relative;inset:auto;align-self:flex-start;margin:18px 24px;order:2;min-height:44px;padding:10px 14px}.hero .hero-bottom{position:relative;inset:auto;margin:0 24px;order:3;padding-top:18px;gap:18px}.hero .hero-bottom>div{flex-shrink:0}.hero .hero-bottom p{min-width:0}.hero .hero-photo{inset:0;height:100%;width:100%}body{padding-bottom:calc(78px + env(safe-area-inset-bottom,0px))}.photo-viewing{overflow:hidden}.preferences{flex-wrap:wrap}.preferences button{min-height:44px}.preferences button:disabled{opacity:.6}.subpage .faq summary{overflow-wrap:anywhere}.check-result{overflow-wrap:anywhere}.voice-index a{min-width:0}.hero .actions>.textlink{min-height:44px}}
@media(max-width:360px){.hero .hero-copy{padding-left:20px;padding-right:20px}.hero .hero-proof,.hero .hero-photo-open,.hero .hero-bottom{margin-left:20px;margin-right:20px}.hero .hero-bottom{gap:12px}.hero .hero-proof{font-size:9px}}
/* Keep Japanese sentences intact at small phone widths. */
.hero-phrase{display:inline-block}@media(max-width:360px){.hero-copy h1,.hero h1{font-size:clamp(23px,8.1vw,29px);letter-spacing:-.045em}.hero .hero-proof{gap:3px;flex-wrap:nowrap;font-size:8px;left:20px;right:20px}.hero-proof span{padding:4px;border-left-width:1px;white-space:nowrap}.hero-proof i{flex:none}.hero-phrase{max-width:100%}}
/* Second review: easier orientation, meaningful topics and touch-safe spacing. */
.hero-price-link{display:inline-flex;align-items:center;gap:14px;font-size:12px;color:#e7f5ff;min-height:44px;border-bottom:1px solid #ffffff55;padding:8px 0}.hero-price-link:hover{border-color:var(--cyan);color:var(--cyan)}.hero .actions{flex-wrap:wrap}.voice-topics{display:flex;flex-wrap:wrap;gap:10px;margin:32px 0 16px}.voice-topics button{padding:10px 16px;min-height:46px;border:1px solid #adc6d9;background:linear-gradient(135deg,#fff,#edf5fc);box-shadow:0 3px 0 #bfd1e0;border-radius:3px;color:var(--navy);font-size:13px}.voice-topics button[aria-pressed=true]{color:white;background:linear-gradient(120deg,#1875da,#06478f);border-color:var(--blue);box-shadow:0 3px 0 #073b7d}.voice-subject{display:block;font-size:12px;font-weight:700;letter-spacing:.06em;color:#155ca4;margin-bottom:12px;padding-left:12px;border-left:3px solid var(--cyan)}.voice[hidden]{display:none!important}#voice-count{color:#506176;font-size:13px;margin:0 0 24px}.check:focus-within{outline:3px solid var(--cyan);outline-offset:4px}.check input:focus-visible{outline:none}.check-intro h2{font-size:clamp(30px,3.3vw,48px)}.check-result:focus-within{scroll-margin-bottom:110px}.faq summary{overflow-wrap:anywhere}input[type=search]{font-size:16px}#main-navigation{gap:clamp(10px,1.5vw,24px)}
@media(max-width:1100px) and (min-width:761px){header{gap:12px;padding-left:3%;padding-right:3%}#main-navigation{gap:10px}#main-navigation a{font-size:11px}.header-actions .btn{padding:12px 14px;gap:10px}.brand{gap:8px}.brand img{width:36px}}
@media(max-width:760px){.hero-copy .actions{align-items:flex-start}.hero-price-link{font-size:12px;min-height:44px}.hero-copy{padding-bottom:215px}.hero-proof{bottom:137px}.hero-photo-open{bottom:93px}.hero-bottom{bottom:17px}.mobile-cta{padding-bottom:max(10px,env(safe-area-inset-bottom));padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}body{padding-bottom:calc(72px + env(safe-area-inset-bottom))}.check-intro h2{font-size:clamp(28px,7vw,36px)}.voice-topics{gap:9px;margin-top:24px}.voice-topics button{font-size:12px;padding:10px 12px}.voice-subject{font-size:11px}.service-finder{margin-bottom:20px}.hero-copy h1>span{white-space:normal}.hero-price-link span{margin-left:auto}.hero-copy .actions>.hero-price-link{width:100%;max-width:275px}.hero .hero-proof{font-size:9px}#main-navigation{max-height:calc(100svh - 165px);overflow-y:auto}}
@media(prefers-reduced-motion:reduce){.hero-copy .actions{animation:none!important}}
@media(min-width:761px) and (max-width:1000px){header #main-navigation{display:none;position:absolute;top:100%;left:0;right:0;padding:22px 5%;background:var(--navy);border-top:1px solid #ffffff33;max-height:calc(100svh - 110px);overflow:auto}header.open #main-navigation{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px}header #main-navigation a{font-size:14px}header .menu{display:block;min-width:44px;height:44px;border:1px solid #ffffff66;background:#06152f80;color:white;font-size:20px}}

.voice-row[hidden],.voice-entry[hidden]{display:none!important}.voice-row:has(.voice-entry:not([hidden])){align-items:start}
@media(max-width:360px){.hero .hero-proof{left:auto;right:auto}}
/* Make the visitor-controlled photo story read as one continuous sequence. */
.journey-track{height:5px;background:#d1e1ec;overflow:hidden}.journey-track>span{display:block;height:100%;width:25%;background:linear-gradient(90deg,#1164c8,#4bbef1);box-shadow:0 0 16px #4bbef188;transition:width .45s cubic-bezier(.16,1,.3,1)}.journey-tabs button.journey-passed{background:linear-gradient(120deg,#e0effa,#eff7fc)}.journey-tabs button.journey-passed span{color:#1164c8}.journey-tabs button.journey-passed:after{content:'';position:absolute;bottom:0;left:0;width:100%;height:3px;background:#1164c8}.service summary:focus-visible{outline:3px solid #1164c8;outline-offset:4px}.check:focus-within{outline:2px solid var(--cyan);outline-offset:4px}.hero-proof{max-width:calc(100% - 48px)}
@media(prefers-reduced-motion:reduce){.journey-track>span{transition:none}}
/* Preserve photo space while loading; keep gallery navigation within its own strip. */
.photo-status{min-height:24px;margin:10px 0 0;font-size:12px;color:#d8edff;line-height:1.7}.photo-loading #large-photo{opacity:0}.photo-retry{padding:9px 16px;margin-top:10px}.photo-thumbs{position:relative;overscroll-behavior-inline:contain}.photo-thumbs button{transition:box-shadow .2s,opacity .2s}.photo-thumbs button[aria-current=true]{box-shadow:0 0 0 2px var(--cyan),0 0 18px #4bbef144}.photo-loading{background-image:radial-gradient(ellipse at 50% 35%,#123b64,transparent 65%)}
@media(max-width:760px){.photo-status{font-size:11px;min-height:22px}.photo-retry{width:100%}}

/* Photo guidance remains readable at narrow widths without covering the image. */
.photo-help{margin:10px 0 0;color:#bcd5e9;font-size:11px;line-height:1.7;text-align:center;padding:0 8px}.photo-thumbs button{flex-shrink:0;min-height:44px}.photo-thumbs button[aria-current=true]{box-shadow:0 0 0 2px var(--cyan),0 0 16px #4bbef144}.photo-thumbs{scroll-padding-inline:4px}#photo-dialog{max-height:calc(100dvh - 28px);overflow:auto}@media(max-width:480px){.photo-help{font-size:10px;margin-top:8px}}@media(prefers-reduced-motion:reduce){.photo-thumbs{scroll-behavior:auto}}

/* Make the next useful answer available where the visitor is reading. */
.service-next{display:grid;grid-template-columns:1fr;gap:0;margin-top:24px;border-top:1px solid #c5d9e9}.service-next a{display:flex;justify-content:space-between;align-items:center;gap:18px;min-height:44px;padding:10px 4px;color:#0c559d;font-size:12px;border-bottom:1px solid #d9e5ef;transition:background .2s,color .2s}.service-next a:hover{background:linear-gradient(90deg,#e7f3fd,transparent);color:#06152f}.service-next a span{font-size:20px;color:#1164c8}.service-next a:focus-visible{outline-offset:0}#main-navigation a[aria-current=page]{color:var(--cyan);border-bottom-color:var(--cyan)}#faq-empty{padding:26px;margin:20px 0 30px;background:linear-gradient(120deg,#eef6fc,#fff);border-left:3px solid var(--blue)}#faq-empty h2{font-size:24px}#faq-empty p{font-size:14px;max-width:650px}.faq-recovery{display:flex;gap:16px;flex-wrap:wrap}.faq-recovery a{display:inline-flex;justify-content:space-between;gap:20px;align-items:center;min-height:48px;padding:11px 16px;font-size:13px;font-weight:600;color:#0c559d;border:1px solid #b7d0e5;background:linear-gradient(120deg,#fff,#e6f1fb);box-shadow:0 3px 0 #c4d8e9}.faq-recovery a:hover{border-color:var(--blue)}@media(max-width:480px){#faq-empty{padding:20px 18px}#faq-empty h2{font-size:22px}.faq-recovery{display:grid;gap:12px}.faq-recovery a{width:100%;font-size:12px}}
