:root{--ink:#293f46;--muted:#63777d;--blue:#386a7a;--pale:#edf3f3;--cream:#f7f6f1;--line:#d7e0df;--serif:'Yu Mincho','Hiragino Mincho ProN','Noto Serif JP',serif;--sans:'Yu Gothic','Hiragino Kaku Gothic ProN','Meiryo',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.9;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}img{display:block;max-width:100%;object-fit:cover}button{border:0;background:none}h1,h2,h3,p,figure{margin:0}h2,h3{font-weight:500}h2{font-family:var(--serif);font-size:32px;line-height:1.75;letter-spacing:.06em}p{letter-spacing:.035em}a,button{touch-action:manipulation}:focus-visible{outline:3px solid #c18b36;outline-offset:5px}::selection{background:#d5e7e9}.svg-library{position:absolute;width:0;height:0;overflow:hidden}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.wrap{max-width:1160px;width:calc(100% - 112px);margin-inline:auto}.section{padding:105px 0}.eyebrow{font:11px/1.5 Arial,sans-serif;letter-spacing:.19em;color:var(--blue);margin-bottom:22px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:45px;gap:30px}.section-heading>p{color:var(--muted);font-size:13px;line-height:2}.button{display:inline-flex;align-items:center;justify-content:center;gap:13px;min-height:58px;padding:15px 26px;background:var(--blue);color:white;font-size:13px;letter-spacing:.06em;transition:background .2s,transform .2s}.button>span:last-child{margin-left:16px}.button:hover{background:#244f5d}.text-link{display:inline-flex;align-items:center;gap:28px;font-size:12px;font-weight:600;letter-spacing:.07em}.circle-arrow{width:42px;height:42px;border:1px solid #a6b9bd;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font:21px Arial;transition:background .2s,color .2s,transform .2s}.text-link:hover .circle-arrow{background:var(--blue);color:white;transform:translate(2px,-2px)}.small-link{font-size:11px;letter-spacing:.04em;text-decoration:underline;text-underline-offset:6px;text-decoration-color:#a6b9bd}.small-link:hover{color:var(--blue)}.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:white;padding:10px 20px}.skip-link:focus{top:10px}
.header{height:103px;padding:0 44px;display:flex;align-items:center;justify-content:space-between;background:#fff;position:relative;z-index:20}.brand{display:flex;align-items:center;gap:14px}.brand-mark{position:relative;color:var(--blue);width:51px;height:54px}.brand-mark svg{width:48px;height:48px;stroke-width:1.1}.brand-mark i{position:absolute;right:-2px;top:-11px;font-size:22px;font-style:normal}.brand small{font-size:9px;letter-spacing:.14em;display:block;line-height:1.5;margin-bottom:4px}.brand-name{display:block;font-family:var(--serif);font-size:22px;letter-spacing:.03em;line-height:1.4}.brand-en{display:block;font:8px/2 Arial,sans-serif;letter-spacing:.17em;color:var(--muted);margin-top:3px}.header-right{display:flex;align-items:center;gap:30px}.header-phone{display:flex;flex-direction:column;align-items:center}.header-phone small{font-size:9px;letter-spacing:.1em}.header-phone span{font:24px/1.5 Georgia,serif;letter-spacing:.03em}.header-book{min-height:52px}.menu-toggle{display:none}.navigation{height:56px;display:flex;align-items:center;justify-content:center;gap:0;border-top:1px solid #edf0ef;border-bottom:1px solid #edf0ef;position:relative;z-index:19;background:white}.navigation>a{font-size:12px;letter-spacing:.06em;padding:4px 35px;border-right:1px solid var(--line);transition:color .2s}.navigation>a:last-of-type{border:0}.navigation>a:hover{color:#6993a3}.mobile-menu-book{display:none}
.hero{position:relative;margin:0 24px;min-height:591px;overflow:hidden;background:#eef3f1}.hero-photo{position:absolute;inset:0 0 61px 21%;overflow:hidden}.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#eef3f1 0%,rgba(238,243,241,.96) 7%,rgba(238,243,241,.78) 19%,rgba(238,243,241,.1) 42%,transparent 65%)}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:57% center}.hero-copy{position:relative;z-index:1;padding:66px 0 45px 7%;width:56%}.hero-copy .eyebrow{display:flex;align-items:center;gap:13px;font-size:10px;letter-spacing:.16em;margin-bottom:26px}.hero-copy .eyebrow>span{height:1px;width:28px;background:var(--blue)}h1{font-family:var(--serif);font-size:clamp(34px,3.7vw,54px);font-weight:500;letter-spacing:.11em;line-height:1.65}.hero-em{color:var(--blue)}.hero-description{margin:23px 0 24px;font-size:13px;line-height:2.1;letter-spacing:.1em}.hero-copy .text-link{font-size:11px}.hero-foot{position:absolute;bottom:0;left:0;right:0;height:61px;display:flex;align-items:center;justify-content:space-between;padding:0 5.5% 0 7%;background:#e7efee}.hero-foot>div{display:flex;gap:13px;align-items:center;font-size:12px;letter-spacing:.07em}.hero-foot svg{width:17px;height:20px}.hero-foot strong{font-size:14px;font-weight:600}.hero-tag{font-size:10px;border-left:1px solid #bdcdce;padding-left:13px}.scroll-hint{display:flex;gap:21px;align-items:center;font:9px Arial;letter-spacing:.16em}.scroll-hint span{font-size:25px}.hero-vertical{position:absolute;top:60px;right:16px;writing-mode:vertical-rl;font:9px Arial;letter-spacing:.16em;color:#3e626b}
.information{display:grid;grid-template-columns:1.1fr 1fr;gap:65px;padding-top:55px;padding-bottom:58px}.compact{margin-bottom:19px;align-items:center}.compact h2{font-size:22px;display:inline-block}.compact .eyebrow{font-size:10px;margin-bottom:4px}.news-row{border-top:1px solid var(--line);display:grid;grid-template-columns:78px 61px 1fr 10px;gap:12px;align-items:center;padding:18px 0;font-size:11px;line-height:1.9}.news-row:last-child{border-bottom:1px solid var(--line)}.news-row time{font:11px Arial;color:var(--muted)}.news-row:hover{color:var(--blue)}.tag{display:inline-block;background:#eaf0ef;color:#426774;padding:3px 10px;font-size:10px;text-align:center}.news-row .tag{padding:2px 5px}.hours{border-left:1px solid var(--line);padding-left:48px}.hours-title{display:flex;align-items:center;gap:20px;margin-bottom:13px}.hours-title h2{font-size:19px}.hours-title>span{font:8px Arial;color:var(--muted);letter-spacing:.12em}table{width:100%;border-collapse:collapse;text-align:center;font-size:11px}thead{background:#eef3f2}th,td{padding:9px 4px;font-weight:400;border-bottom:1px solid #d9e2df}th:first-child{white-space:nowrap;padding-left:9px;padding-right:9px}td{color:var(--blue);font-size:10px}.table-note{font-size:10px;margin:10px 0 7px;color:var(--muted)}
.about{background:var(--cream);position:relative}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.about-images{position:relative;padding:0 45px 95px 0}.about-main{width:100%;height:405px;object-position:55% center}.about-detail{position:absolute;bottom:0;right:0;width:67%;height:190px;border:8px solid var(--cream);object-position:45% center}.image-label{display:block;font:9px Arial;letter-spacing:.15em;color:var(--muted)}.about-images .image-label{position:absolute;left:0;bottom:60px;writing-mode:vertical-rl;transform:rotate(180deg)}.about-copy h2{font-size:34px;line-height:1.85;margin-bottom:29px}.about-copy>p:not(.eyebrow){font-size:13px;line-height:2.2;margin-bottom:18px;color:#53676e}.about-copy .text-link{margin-top:9px}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:46px;margin-top:70px}.feature-grid article{position:relative;border-top:1px solid #bdcecb;padding:24px 0 0}.feature-number{color:#6f9198;font:italic 27px Georgia;display:block;margin-bottom:12px}.feature-grid h3{font-size:16px;letter-spacing:.045em;margin-bottom:11px}.feature-grid p{font-size:12px;color:var(--muted);line-height:2}
.treatment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.treatment-card{text-align:left;background:#f2f6f5;padding:27px 29px 22px;border:1px solid transparent;transition:background .25s,border .25s,transform .25s}.treatment-card:hover{background:#eaf2f2;border-color:#afc6c9;transform:translateY(-3px)}.treatment-top{display:flex;justify-content:space-between;align-items:start;gap:10px;margin-bottom:17px}.treatment-top>span{font:8px/1.6 Arial;letter-spacing:.08em;padding-top:8px;color:#64828b}.treatment-top svg{width:48px;height:48px;stroke:var(--blue);stroke-width:1.25}.treatment-card h3{font-family:var(--serif);font-size:21px;margin-bottom:12px;letter-spacing:.025em}.treatment-card p{font-size:12px;color:var(--muted);line-height:2}.card-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:21px;padding-top:12px;border-top:1px solid #d6e3e1;font-size:10px;letter-spacing:.05em}.card-bottom>span{font-size:19px}.treatment-note{margin-top:29px;display:flex;justify-content:space-between;gap:20px;align-items:center}.treatment-note p{font-size:11px;color:var(--muted)}
.doctor{background:#f5f5ef}.doctor-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px;align-items:center}.doctor-portrait{position:relative;padding:32px 32px 30px;align-self:center;isolation:isolate;max-width:390px;margin:auto;width:100%}.doctor-portrait img{width:100%;height:365px;object-fit:cover;object-position:50% 25%;filter:saturate(.8);position:relative;z-index:1}.portrait-decoration{position:absolute;inset:0;background:#e3eae5;border-radius:48% 48% 0 0}.doctor-portrait .image-label{text-align:center;margin-top:25px;position:relative}.doctor-copy h2{font-size:34px;margin-bottom:25px}.doctor-copy>p:not(.eyebrow){font-size:13px;line-height:2.2;color:#53676e;margin:15px 0}.doctor-sign{display:flex;gap:17px;align-items:center;flex-wrap:wrap;margin:28px 0}.doctor-sign>span:first-child{font-size:9px;line-height:1.7}.doctor-sign strong{font-family:var(--serif);font-size:25px;font-weight:400;letter-spacing:.1em}.doctor-roman{font:italic 12px Georgia;color:#7e9495}.career{border-top:1px solid #cdd7d0;border-bottom:1px solid #cdd7d0;margin-bottom:18px}.career summary{list-style:none;cursor:pointer;font-size:12px;padding:13px 0;display:flex;justify-content:space-between}.career dl{margin:0 0 18px;font-size:11px}.career dl>div{display:flex;gap:20px;margin-top:10px}.career dt{min-width:52px}.career dd{margin:0}.career[open] summary span{transform:rotate(45deg)}
.clinic-gallery{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:24px}.clinic-gallery img{width:100%;height:245px}.clinic-wide img{object-position:75% center}.clinic-gallery figure:nth-child(2) img{object-position:40% center}.clinic-gallery figcaption{font-size:12px;padding-top:15px;letter-spacing:.035em}.clinic-gallery figcaption span{font:italic 17px Georgia;color:#7d9ba4;padding-right:15px}.clinic-facts{display:flex;gap:0;justify-content:center;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:36px;padding-top:27px}.clinic-facts span{padding:0 28px;border-right:1px solid var(--line);font-size:11px;color:#5c777f}.clinic-facts span:last-child{border:0}.first{background:#edf3f2}.first-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:42px}.first-grid>div{border-top:1px solid #afc5c5;padding-top:23px}.step-number{font:italic 32px Georgia;color:#7b9b9e;display:block;margin-bottom:16px}.first-grid h3{font-family:var(--serif);font-size:23px;margin-bottom:14px}.first-grid p{font-size:12px;line-height:2.1;color:#546e76;margin-bottom:18px}.first-phone{font:23px Georgia;display:flex;align-items:center;gap:18px}.first-phone svg{width:18px}
.faq{display:grid;grid-template-columns:.75fr 1.5fr;gap:60px}.faq h2{font-size:29px}.faq-list details{border-top:1px solid var(--line)}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{display:flex;list-style:none;gap:15px;padding:24px 2px;align-items:center;font-size:13px;cursor:pointer}.faq-list summary::-webkit-details-marker,.career summary::-webkit-details-marker{display:none}.q{font:italic 24px Georgia;color:#74929c}.plus{margin-left:auto;font-size:20px;font-weight:300;transition:transform .2s}.faq-list details[open] .plus{transform:rotate(45deg)}.faq-list details>p{padding:0 25px 24px 40px;font-size:12px;color:var(--muted);line-height:2.1}.faq-list details>.small-link{display:inline-block;margin:0 0 24px 40px}
.access{background:var(--cream)}.access-stamp{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--blue);border:1px solid #b7c9c6;padding:8px 17px}.access-stamp svg{width:17px}.access-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:center}.access-image img{width:100%;height:305px;object-position:50% center}.map-link{display:flex;justify-content:center;align-items:center;gap:15px;background:white;padding:17px;font-size:12px;border:1px solid #d5dfdb}.map-link>span{margin-left:auto;font-size:18px}.map-link svg{width:18px}.map-link:hover{background:#e9f0ed}.access-copy h3{font-family:var(--serif);font-size:22px;margin-bottom:18px;letter-spacing:.04em}.access-copy>p{font-size:12px;line-height:1.9}.access-details{margin:20px 0}.access-details>div{display:flex;gap:20px;font-size:12px;padding:10px 0;border-bottom:1px solid #dce2dc}.access-details dt{width:65px;flex-shrink:0;color:var(--muted)}.access-details dd{margin:0}.access-details small{font-size:10px;color:var(--muted)}
.contact{background:#386674;color:white;padding:68px 0}.contact-inner{display:flex;align-items:center;justify-content:space-between;gap:60px}.contact .eyebrow{color:#c2dadf}.contact h2{font-size:33px;line-height:1.7}.contact-actions{min-width:390px;text-align:center}.contact-phone{display:block}.contact-phone>span{font-size:11px;letter-spacing:.08em}.contact-phone strong{display:flex;align-items:center;justify-content:center;gap:14px;font:39px/1.65 Georgia;letter-spacing:.04em}.contact-phone strong svg{width:24px}.contact-phone>small{font-size:10px;color:#d3e2e4}.light-button{background:#f5f6ef;color:#386674;width:100%;margin-top:24px;font-size:12px}.light-button:hover{background:#dbe9e5}.footer-main{padding-top:49px;padding-bottom:35px;display:flex;align-items:center;justify-content:space-between;gap:35px}.footer-brand small{display:block;font-size:9px;letter-spacing:.12em}.footer-brand strong{display:block;font:18px/1.9 var(--serif);letter-spacing:.03em}.footer-brand>span{font:7px Arial;letter-spacing:.12em;color:var(--muted)}.footer-links{display:flex;gap:20px;font-size:10px}.footer-links a:hover{text-decoration:underline}.back-top{display:flex;border:1px solid #c7d5d4;width:40px;height:40px;align-items:center;justify-content:center}.footer-bottom{border-top:1px solid var(--line);display:flex;justify-content:space-between;padding:18px 0 25px;font-size:9px;color:#7e8f91}.footer-bottom>span{font-family:Arial}.mobile-contact{display:none}
dialog{border:0;border-radius:3px;width:min(580px,calc(100% - 32px));padding:43px;color:var(--ink);max-height:calc(100dvh - 48px);overflow-y:auto;box-shadow:0 24px 90px #16374433}dialog::backdrop{background:#203e4bb3;backdrop-filter:blur(4px)}.dialog-open{overflow:hidden}.dialog-close{position:absolute;top:9px;right:13px;font-size:30px;width:42px;height:42px;line-height:1}.dialog-close:hover{background:var(--pale)}dialog .eyebrow{margin-bottom:12px}dialog h2{font-size:28px}dialog h3{font-size:16px;margin:10px 0}.dialog-lead{font-size:13px;margin:18px 0;line-height:2.1;color:var(--muted)}.booking-option{padding:24px 0 0;border-top:1px solid var(--line);margin-top:24px}.booking-option p{font-size:12px;line-height:1.9;color:var(--muted)}.booking-option>small{display:block;margin-top:9px;font-size:10px;color:var(--muted)}.dialog-phone{display:block;font:32px/1.8 Georgia;color:var(--blue)}.booking-option .button{width:100%;margin-top:15px}.treatment-dialog-actions{display:flex;flex-direction:column;align-items:stretch;gap:25px;margin-top:30px}.treatment-dialog-actions .text-link{justify-content:space-between}
@media(min-width:1550px){.hero{max-width:1550px;margin-inline:auto}.hero-copy{padding-left:9%}.hero-foot{padding-left:9%}.hero{min-height:660px}.hero-copy{padding-top:86px}h1{font-size:57px}}
@media(max-width:1150px){.header{padding-inline:28px}.brand-name{font-size:19px}.header-right{gap:20px}.header-phone span{font-size:22px}.navigation>a{padding-inline:25px}.wrap{width:calc(100% - 80px)}.hero{margin-inline:18px;min-height:575px}.hero-copy{padding-left:6%;width:64%;padding-top:62px}h1{font-size:43px}.hero-foot{padding-left:6%}.about-grid{gap:55px}.doctor-grid{gap:55px}.information{gap:30px}.hours{padding-left:28px}.news-row{grid-template-columns:70px 55px 1fr 9px;gap:8px;font-size:10px}.news-row time{font-size:10px}.news-row .tag{font-size:9px}.section-heading h2{font-size:28px}.treatment-card{padding:23px}.treatment-card h3{font-size:19px}.treatment-top>span{font-size:7px}.access-grid{gap:40px}.clinic-gallery{gap:18px}.footer-links{gap:13px}.footer-main{gap:22px}.footer-brand strong{font-size:16px}.clinic-facts span{padding-inline:20px}}
@media(max-width:900px){.header{height:90px;padding-inline:24px}.brand-name{font-size:19px}.header-phone{display:none}.header-book{min-height:45px;padding:10px 20px}.navigation>a{padding-inline:18px;font-size:11px}.wrap{width:calc(100% - 56px)}.hero-copy{width:70%;padding-top:60px}.hero{min-height:560px}.hero h1{font-size:40px}.hero-photo{left:13%}.hero-photo:after{background:linear-gradient(90deg,#eef3f1 0%,#eef3f1ed 10%,#eef3f1a8 35%,transparent 80%)}.information{grid-template-columns:1fr 1fr;gap:26px}.news-row{grid-template-columns:75px 1fr 12px;row-gap:6px}.news-row .tag{justify-self:start}.news-row>span:nth-last-child(2){grid-column:1/3}.news-row>span:last-child{grid-column:3;grid-row:1/3}.hours{padding-left:25px}.hours-title{gap:10px;flex-wrap:wrap}.hours-title>span{display:none}th,td{padding:9px 3px;font-size:9px}th:first-child{padding-inline:4px}.section{padding:80px 0}.about-grid{gap:35px}.about-main{height:355px}.about-images{padding-right:20px;padding-bottom:75px}.about-detail{width:80%;height:155px}.about-copy h2{font-size:28px}.about-copy>p:not(.eyebrow){font-size:12px}.feature-grid{gap:25px;margin-top:50px}.feature-grid h3{font-size:14px}.feature-grid p{font-size:11px}.section-heading h2{font-size:25px}.section-heading>p{font-size:11px}.treatment-grid{gap:14px}.treatment-card{padding:20px 17px}.treatment-card h3{font-size:17px}.treatment-top{display:block;margin-bottom:14px}.treatment-top svg{display:block;margin-top:15px}.treatment-top>span{font-size:8px}.treatment-card p{font-size:11px}.doctor-grid{gap:38px}.doctor-copy h2{font-size:29px}.doctor-copy>p:not(.eyebrow){font-size:12px}.doctor-portrait{padding:22px}.doctor-portrait img{height:325px}.doctor-sign{gap:12px}.doctor-roman{display:none}.clinic-gallery{grid-template-columns:1.2fr 1fr 1fr;gap:15px}.clinic-gallery img{height:200px}.clinic-gallery figcaption{font-size:10px}.clinic-gallery figcaption span{padding-right:6px}.clinic-facts span{padding-inline:12px;font-size:10px}.first-grid{gap:25px}.first-grid h3{font-size:21px}.first-grid p{font-size:11px}.first-phone{font-size:20px}.faq{grid-template-columns:.8fr 1.5fr;gap:25px}.faq h2{font-size:25px}.faq-list summary{font-size:12px;gap:10px}.access-copy h3{font-size:18px}.access-grid{gap:30px}.access-image img{height:300px}.access-details>div{font-size:11px;gap:12px}.contact-inner{gap:30px}.contact h2{font-size:28px}.contact-actions{min-width:340px}.contact-phone strong{font-size:32px}.footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:10px 17px}.footer-main{gap:20px}.back-top{flex-shrink:0}.footer-bottom{font-size:8px}}
@media(max-width:680px){html{scroll-padding-top:90px}.wrap{width:calc(100% - 40px)}.header{height:79px;padding:0 18px;position:sticky;top:0;box-shadow:0 1px 0 #dbe3e3}.brand{gap:8px}.brand-mark{width:31px;height:38px}.brand-mark svg{width:31px;height:38px}.brand-mark i{font-size:16px;top:-7px;right:-3px}.brand small{font-size:7px;margin-bottom:3px}.brand-name{font-size:14px;letter-spacing:0}.brand-en{font-size:5.5px;letter-spacing:.045em;margin-top:3px}.header-right{display:none}.menu-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;width:42px;height:46px;gap:5px;padding:0;margin-left:8px}.menu-toggle>span{width:23px;height:1px;background:var(--ink);transition:transform .2s}.menu-toggle small{font:7px Arial;letter-spacing:.08em;margin-top:3px}.menu-toggle[aria-expanded=true]>span:first-child{transform:translateY(3px) rotate(45deg)}.menu-toggle[aria-expanded=true]>span:nth-child(2){transform:translateY(-3px) rotate(-45deg)}.navigation{display:none;position:fixed;top:79px;left:0;right:0;height:auto;max-height:calc(100dvh - 140px);overflow:auto;padding:17px 25px 25px;box-shadow:0 15px 20px #263d461c}.navigation.is-open{display:flex;flex-direction:column;align-items:stretch}.navigation>a{font-size:13px;padding:13px 0;border:0;border-bottom:1px solid var(--line)}.mobile-menu-book{display:block;background:var(--blue);color:white;padding:15px;margin-top:18px;font-size:13px}.hero{margin:0;min-height:720px;background:#eef3f1;display:flex;flex-direction:column}.hero-copy{padding:37px 27px 31px;width:100%;order:0}.hero-copy .eyebrow{font-size:8px;margin-bottom:22px;gap:10px}.hero h1{font-size:34px;letter-spacing:.085em;line-height:1.65}.hero-description{font-size:11px;margin:18px 0 20px;line-height:2.1;letter-spacing:.06em}.hero-copy .text-link{font-size:10px;gap:18px}.circle-arrow{width:35px;height:35px;font-size:18px}.hero-photo{position:relative;inset:auto;order:1;height:238px;margin-left:24px}.hero-photo:after{background:linear-gradient(180deg,rgba(238,243,241,.15),transparent 35%)}.hero-photo img{object-position:64% center}.hero-foot{position:relative;inset:auto;height:auto;min-height:65px;order:2;padding:15px 20px}.hero-foot>div{gap:9px;flex-wrap:wrap;font-size:10px}.hero-foot strong{font-size:12px}.hero-tag{font-size:9px;padding-left:9px}.hero-foot svg{width:15px}.scroll-hint{display:none}.hero-vertical{right:10px;top:51px;font-size:7px;color:#7d999d}.information{grid-template-columns:1fr;padding-top:38px;padding-bottom:43px;gap:34px}.compact h2{font-size:23px}.compact .eyebrow{font-size:9px;margin-bottom:3px}.compact{margin-bottom:18px}.news-row{grid-template-columns:83px 65px 1fr 13px;padding:17px 0;gap:9px;font-size:11px}.news-row>span:nth-last-child(2){grid-column:1/4}.news-row>span:last-child{grid-column:4}.news-row time{font-size:11px}.news-row .tag{font-size:9px}.desktop-break{display:none}.hours{padding:23px 20px;background:#f2f6f5;border:0}.hours-title{margin-bottom:13px;justify-content:space-between}.hours-title>span{display:block;font-size:7px}.hours-title h2{font-size:20px}th,td{padding:10px 4px;font-size:10px}th:first-child{font-size:10px}.table-note{font-size:9px}.hours .small-link{font-size:10px}.section{padding:62px 0}.eyebrow{font-size:9px;margin-bottom:15px}.about-grid{display:flex;flex-direction:column-reverse;gap:37px}.about-copy h2{font-size:29px;line-height:1.8;margin-bottom:22px}.about-copy>p:not(.eyebrow){font-size:12px;line-height:2.1}.about-copy .text-link{font-size:11px;margin-top:2px}.about-images{width:100%;padding-right:36px;padding-bottom:58px}.about-main{height:260px;object-position:60% center}.about-detail{height:140px;width:61%;border-width:5px}.about-images .image-label{bottom:16px;writing-mode:horizontal-tb;transform:none;font-size:7px}.feature-grid{grid-template-columns:1fr;gap:24px;margin-top:40px}.feature-grid article{padding-top:18px;padding-left:45px}.feature-number{position:absolute;left:0;top:22px;font-size:25px}.feature-grid h3{font-size:16px;margin-bottom:7px}.feature-grid p{font-size:12px}.section-heading{display:block;margin-bottom:30px}.section-heading h2{font-size:25px;line-height:1.7;letter-spacing:.02em}.section-heading>p{margin-top:15px;font-size:11px}.treatment-grid{grid-template-columns:repeat(2,1fr);gap:12px}.treatment-card{padding:20px 14px 14px}.treatment-top>span{font-size:6px;letter-spacing:.025em}.treatment-top svg{width:38px;height:38px;margin-top:14px}.treatment-card h3{font-size:15px;line-height:1.7;letter-spacing:0;min-height:51px;margin-bottom:7px}.treatment-card p{font-size:10px;letter-spacing:0}.card-bottom{font-size:8px;margin-top:15px;padding-top:9px}.card-bottom>span{font-size:17px}.treatment-note{display:block;margin-top:22px}.treatment-note p{font-size:10px;margin-bottom:15px}.doctor-grid{display:flex;flex-direction:column;gap:33px}.doctor-portrait{max-width:295px;padding:26px 30px 22px}.doctor-portrait img{height:295px}.doctor-portrait .image-label{font-size:8px;margin-top:18px}.doctor-copy h2{font-size:28px}.doctor-copy>p:not(.eyebrow){font-size:12px}.doctor-sign{margin:23px 0;gap:14px}.doctor-sign strong{font-size:26px}.doctor-roman{display:block;font-size:11px}.clinic-gallery{grid-template-columns:1fr 1fr;gap:22px 14px}.clinic-wide{grid-column:1/-1}.clinic-gallery img{height:155px}.clinic-gallery .clinic-wide img{height:225px}.clinic-gallery figcaption{font-size:10px;padding-top:10px}.clinic-gallery figcaption span{font-size:14px}.clinic-facts{margin-top:27px;padding-top:20px;gap:10px 0;justify-content:start}.clinic-facts span{padding:0 11px;font-size:10px}.first-grid{grid-template-columns:1fr;gap:29px}.first-grid>div{position:relative;padding:22px 0 0 48px}.step-number{position:absolute;left:0;top:25px;font-size:27px}.first-grid h3{font-size:23px;margin-bottom:10px}.first-grid p{font-size:12px;margin-bottom:13px}.first-phone{font-size:24px}.faq{display:block}.faq>div:first-child{margin-bottom:26px}.faq-list summary{padding:21px 0;font-size:12px;gap:10px;line-height:1.9}.q{font-size:22px}.plus{font-size:18px;flex-shrink:0}.faq-list details>p{padding-left:31px;padding-right:5px;font-size:11px}.faq-list details>.small-link{margin-left:31px}.access .section-heading{position:relative}.access .section-heading h2{font-size:25px}.access-stamp{font-size:10px;display:inline-flex;margin-top:17px;padding:4px 10px}.access-stamp svg{width:14px}.access-grid{display:block}.access-image img{height:220px;object-position:62% center}.map-link{font-size:11px;padding:14px}.access-copy{margin-top:30px}.access-copy h3{font-size:19px}.access-copy>p{font-size:12px}.access-details>div{font-size:12px}.contact{padding:48px 0}.contact-inner{display:block}.contact h2{font-size:29px}.contact-actions{min-width:0;margin-top:31px;text-align:left}.contact-phone strong{justify-content:start;font-size:35px}.contact-phone>span{font-size:10px}.contact-phone>small{font-size:9px}.light-button{font-size:11px;padding-inline:15px;min-height:54px;gap:8px}.light-button>span:last-child{margin-left:auto}.light-button svg{width:20px}.footer-main{position:relative;display:block;padding-top:35px;padding-bottom:27px}.footer-brand strong{font-size:16px}.footer-brand>span{font-size:6px}.footer-links{margin-top:25px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;font-size:10px;padding-right:20px}.back-top{position:absolute;right:0;top:35px;width:33px;height:33px}.footer-bottom{display:flex;flex-direction:column-reverse;gap:14px;font-size:8px;padding-bottom:88px}.mobile-contact{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:1fr 1.25fr;z-index:30;background:#fdfefc;padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -3px 15px #29455016}.mobile-contact>a,.mobile-contact>button{display:flex;align-items:center;justify-content:center;gap:10px;padding:16px 5px;font-size:11px;letter-spacing:.035em;min-height:58px}.mobile-contact>a{color:var(--blue)}.mobile-contact>button{background:var(--blue);color:white}.mobile-contact svg{width:18px;height:18px}dialog{padding:35px 24px;max-height:calc(100dvh - 40px)}dialog h2{font-size:25px}.dialog-lead{font-size:12px}.booking-option h3{font-size:15px}.booking-option p{font-size:11px}.booking-option .button{font-size:11px;padding-inline:15px}.dialog-phone{font-size:30px}.dialog-close{font-size:28px;right:5px;top:3px}}
@media(max-width:370px){.brand-name{font-size:12.5px}.header{padding-inline:12px}.brand-en{font-size:5px}.hero h1{font-size:31px}.hero-copy{padding-inline:23px}.hero-foot>div{font-size:9px;gap:7px}.hero-tag{font-size:8px}.wrap{width:calc(100% - 32px)}.treatment-card{padding-inline:11px}.treatment-card h3{font-size:14px}.treatment-card p{font-size:9px}.footer-brand strong{font-size:14px}}
@media(max-width:680px){.contact h2{font-size:clamp(23px,6.5vw,27px);letter-spacing:.03em}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}


/* merged-detail-styles: one render-blocking stylesheet */

.detail-content .hours table{min-width:0;width:100%;table-layout:fixed}.detail-content .hours th:first-child{width:30%}.detail-content .hours{min-width:0}
.page-intro{background:#f1f5f3;padding:38px 0 58px;border-bottom:1px solid #e0e8e5}.breadcrumbs{font-size:12px;color:#75817e;display:flex;gap:14px;margin-bottom:34px;flex-wrap:wrap}.breadcrumbs a{text-decoration:underline;text-underline-offset:4px}.page-intro h1{font-family:"Noto Serif JP","Yu Mincho",serif;font-size:clamp(27px,3.4vw,46px);font-weight:500;line-height:1.6;margin:12px 0 16px;letter-spacing:.05em}.page-intro .intro-copy{font-size:15px;line-height:2;color:#66716d;max-width:800px}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:64px;padding-top:64px;padding-bottom:80px;align-items:start}.detail-content{min-width:0;font-size:16px;line-height:2.1;overflow-wrap:anywhere}.detail-content> :first-child{margin-top:0}.detail-content h2{font-family:"Noto Serif JP","Yu Mincho",serif;font-size:27px;line-height:1.65;font-weight:500;padding-bottom:16px;border-bottom:1px solid #d9e4de;margin:48px 0 24px}.detail-content h3{font-size:20px;line-height:1.8;margin:36px 0 18px;color:#386a7a}.detail-content p{margin:14px 0 23px}.detail-content ul,.detail-content ol{padding-left:1.5em;margin:20px 0;list-style:revert}.detail-content li{margin:8px 0}.detail-content img{max-width:100%;height:auto;object-fit:contain;display:block;margin:24px auto}.detail-content a:not(.button):not(.detail-card){color:#386a7a;text-decoration:underline;text-underline-offset:5px}.detail-content table{border-collapse:collapse;width:100%;font-size:14px;text-align:left;margin:16px 0;min-width:420px}.detail-content td,.detail-content th{border:1px solid #dfe6e2;padding:14px;vertical-align:top;white-space:normal}.detail-content th{background:#f1f5f3}.table-scroll{overflow:auto;max-width:100%;margin:24px 0}.table-scroll img{min-width:90px;max-width:180px}.detail-sidebar{border-top:2px solid #386a7a;padding-top:18px}.detail-sidebar h2{font-size:15px;font-weight:600;margin-bottom:15px}.detail-sidebar nav{display:grid}.detail-sidebar nav a{padding:13px 0;border-bottom:1px solid #e5e9e7;font-size:13px;display:flex;justify-content:space-between}.detail-sidebar a[aria-current=page]{color:#386a7a;font-weight:700}.sidebar-book{margin-top:25px;width:100%}.detail-cards{display:grid;grid-template-columns:1fr 1fr;gap:18px}.detail-card{border:1px solid #dce5df;padding:26px;display:flex;flex-direction:column;min-height:180px;background:#fff;transition:background .2s}.detail-card:hover{background:#f1f5f3}.detail-card h2,.detail-card h3{border:0;margin:0 0 10px;padding:0;font-size:20px}.detail-card p{font-size:13px;color:#6c7871;margin:0 0 14px;line-height:1.9}.detail-card .card-link{font-size:12px;color:#386a7a;margin-top:auto}.detail-note{background:#f3f5f0;border-left:3px solid #6b8b7d;padding:20px 24px;margin:28px 0;font-size:14px;line-height:2}.detail-note p{margin:0}.detail-actions{display:flex;gap:16px;flex-wrap:wrap;margin:35px 0}.calendar-section{background:#f4f6f1;padding:75px 0}.calendar-frame{width:100%;height:640px;border:1px solid #dde5df;background:white;display:block;border-radius:2px}.calendar-mobile{display:none}.calendar-help{font-size:13px;color:#6b786f;line-height:1.9;margin:20px 0}.staff-cards{display:grid;grid-template-columns:1fr 1fr;gap:20px}.staff-card{padding:28px;background:#f5f7f3;min-height:180px;border-top:2px solid #b0c2b7}.staff-card img{width:120px;height:120px;border-radius:50%;object-fit:cover;margin:0 0 18px}.staff-card h2{border:0;margin:0 0 10px;font-size:24px;padding:0}.staff-card p{font-size:14px;margin:0}.map-frame{width:100%;height:380px;border:0;margin:24px 0}.detail-cta{background:#f1f5f3;padding:30px;margin-top:48px}.detail-cta h2{border:0;margin:0 0 12px;font-size:24px;padding:0}.detail-cta .button{margin-top:12px}.article-date{font-size:13px;letter-spacing:.12em;color:#728074}.article-list{display:grid;gap:0}.article-list a{padding:26px 0;border-bottom:1px solid #dce5df;display:block}.article-list time{font-size:12px;display:block;margin-bottom:8px;letter-spacing:.1em;color:#6d7f74}.article-list strong{font-weight:500}.route-gallery img{max-height:430px}.section-more{margin-top:32px;text-align:right}
@media(max-width:900px){.detail-layout{grid-template-columns:minmax(0,1fr);gap:40px}.detail-sidebar nav{grid-template-columns:1fr 1fr;gap:0 20px}.detail-sidebar .sidebar-book{width:auto}.detail-content{font-size:15px}.detail-layout{padding-top:38px;padding-bottom:50px}.calendar-section{padding:50px 0}}
@media(max-width:600px){.page-intro{padding:25px 0 34px}.breadcrumbs{margin-bottom:25px}.page-intro h1{font-size:28px}.page-intro .intro-copy{font-size:14px}.detail-cards,.staff-cards{grid-template-columns:1fr}.detail-card{min-height:140px;padding:23px}.detail-content h2{font-size:23px}.detail-content h3{font-size:19px}.detail-content td,.detail-content th{padding:10px}.calendar-desktop{display:none}.calendar-mobile{display:block;height:550px}.detail-sidebar nav{grid-template-columns:1fr 1fr}.detail-note,.detail-cta{padding:20px}.detail-actions .button{width:100%}.page-intro .eyebrow{font-size:10px}.detail-content .hours table{font-size:11px}.detail-content .hours th,.detail-content .hours td{padding:8px 5px}.route-gallery img{max-height:350px}}

/* clinic SEO navigation */
.related-treatments>div{display:flex;flex-wrap:wrap;gap:12px 24px}.related-treatments a{font-size:16px}.treatment-card:focus-visible{outline:3px solid #386a7a;outline-offset:4px}


.seo-help { margin-top: 3rem; padding-top: 2.25rem; border-top: 1px solid var(--line, #d5dfdf); }
.seo-help ol { display: grid; gap: 1rem; padding-left: 1.35rem; }
.seo-help li { padding-left: .35rem; }
.seo-help h3 { margin-top: 1.75rem; }


/* page-speed-contrast: readable secondary text on light and dark surfaces */
:root{--muted:#526a70}
.hours-title>span,.table-note,.image-label,.feature-grid p,.treatment-card p,
.treatment-note p,.section-heading>p,.doctor-roman,.clinic-gallery figcaption span,
.step-number,.q,.access-details dt,.access-details small,.footer-bottom{color:#49656d}
.treatment-top>span{color:#476a73}
.contact .eyebrow{color:#e0f0f2}
.contact-phone>small{color:#eef6f7}

/* Initial visit booking: direct links across the clinic website. */
.hero-booking{margin:24px 0 20px;max-width:410px}
.booking-eyebrow{font-size:12px;font-weight:700;margin-bottom:8px;letter-spacing:.08em}
.booking-primary{width:100%;min-height:64px;font-size:18px;font-weight:700;box-shadow:0 5px 16px #244f5d20}
.booking-help{font-size:11px;line-height:1.8;color:var(--muted);margin-top:9px}
.booking-returning{display:block;margin-top:12px;font-size:11px;text-decoration:underline;text-underline-offset:4px;line-height:1.9}
.booking-returning span{white-space:nowrap}
.hero-about-link{margin-top:0}
.hero{min-height:740px}
.hero-copy{padding-top:48px;padding-bottom:90px}
.header-book{font-weight:700;white-space:nowrap}
.mobile-menu-book{align-items:center;justify-content:center;gap:10px}
.first-booking-button{margin:4px 0 12px;font-weight:700}
.first-phone-note{font-size:11px!important;margin-bottom:6px!important}
.sidebar-book{padding-inline:14px;font-size:12px;gap:8px}
.sidebar-book>span:last-child{margin-left:0}
@media(min-width:1550px){.hero{min-height:790px}.hero-copy{padding-top:60px}}
@media(min-width:681px) and (max-width:1150px){.hero{min-height:730px}.hero-copy{padding-top:42px}}
@media(max-width:680px){
 .hero{min-height:0}.hero-copy{padding-top:28px;padding-bottom:25px}
 .hero-copy .eyebrow{margin-bottom:16px}.hero-description{margin:14px 0 18px}
 .hero-booking{margin:20px 0 18px;max-width:none}.booking-primary{font-size:17px;min-height:60px}
 .booking-help{font-size:11px}.booking-returning{font-size:11px}.hero-about-link{font-size:10px}
 .navigation>a.mobile-menu-book{display:flex;background:var(--blue);color:white;padding:15px;font-size:14px;font-weight:700;border:0}
 .mobile-contact{grid-template-columns:1fr 1.5fr}
 .mobile-contact>a[data-online-booking]{background:var(--blue);color:white;font-size:14px;font-weight:700;gap:7px;min-height:60px}
 .mobile-contact>a[data-online-booking]:hover{background:#244f5d}
 .mobile-contact>a[data-online-booking]>span{font-size:15px}
 .mobile-contact>a:first-child{font-size:12px}
 .first-booking-button{font-size:14px;min-height:54px}
}
/* Keep the desktop phone label and number on one aligned line. */
.header-phone{flex-direction:row;align-items:center;gap:12px;white-space:nowrap;flex-shrink:0}
.header-phone small{font-size:10px;line-height:1.5}
.header-phone span{font-family:var(--sans);font-size:24px;font-weight:500;line-height:1.3;letter-spacing:.025em;font-variant-numeric:lining-nums tabular-nums}
.header-right{flex-shrink:0;gap:24px}
@media(min-width:901px) and (max-width:1150px){.header-phone{gap:10px}.header-phone span{font-size:22px}.header-right{gap:18px}}
@media(min-width:901px) and (max-width:1050px){.header-phone small{display:none}}

/* Natural clinic photography: keep reception and entrance visible in their frames. */
.hero-photo img{object-position:58% center}.about-main{object-position:50% center}.about-detail{object-position:50% center}.clinic-wide img{object-position:50% center}.access-image img{object-position:50% center}
@media(max-width:680px){.hero-photo img{object-position:58% 55%}.about-main{object-position:50% center}.access-image img{object-position:50% center}}

/* Show the supplied doctor illustration in full, including its lettering. */
.doctor-portrait:has(.doctor-illustration){padding:0;max-width:390px}.doctor-portrait img.doctor-illustration{width:100%;height:auto;object-fit:contain;filter:none}
@media(max-width:680px){.doctor-portrait:has(.doctor-illustration){max-width:320px}}
.staff-card img.doctor-illustration{width:220px;max-width:100%;height:auto;border-radius:0;object-fit:contain}
