:root{--ink:#193447;--gold:#ae946a;--paper:#faf9f5;--muted:#627078;--line:#dddcd4}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Noto Sans JP',sans-serif;font-size:15px;line-height:1.9}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #ae7831;outline-offset:5px}img{display:block;width:100%;height:auto}figure{margin:0}h1,h2,h3,p{margin-top:0}h1,h2{font-family:'Noto Serif JP',serif;font-weight:400;letter-spacing:.07em;line-height:1.65}h2{font-size:clamp(30px,3.2vw,48px);margin-bottom:24px}h3{font-weight:500;font-size:20px}.wrap{width:min(1200px,88%);margin:auto}.demo-bar{background:var(--ink);color:#f6f0e4;text-align:center;font-size:10px;letter-spacing:.15em;padding:5px 10px}.demo-bar span{margin-left:20px;letter-spacing:.03em}.site-header{position:sticky;top:0;z-index:20;background:#faf9f5f2;backdrop-filter:blur(16px);border-bottom:1px solid #ddd8cb}.header-inner{height:91px;display:flex;align-items:center;justify-content:space-between;gap:20px;width:94%}.brand{display:flex;align-items:center;gap:13px}.brand-mark{font-family:serif;display:grid;place-items:center;border:1px solid var(--gold);height:44px;width:44px;font-size:24px;flex-shrink:0}.brand-text strong{font-family:'Noto Serif JP',serif;font-size:17px;letter-spacing:.05em}.brand-text small{display:block;font-size:8px;letter-spacing:.22em;margin-top:2px}nav{display:flex;gap:24px;font-size:12px}nav a:hover{color:#947346}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:17px 25px;background:var(--ink);color:white;font-size:13px;transition:background .2s,transform .2s}.btn:hover{background:#35556b;transform:translateY(-2px)}.btn span{font-size:20px;color:#d5c3a4}.header-book{padding:13px 19px;font-size:11px;gap:20px}.menu-toggle{display:none}.hero{height:min(760px,80vw);min-height:580px;position:relative;overflow:hidden}.hero-image{height:110%;position:absolute;object-fit:cover;object-position:center 52%;top:-5%;will-change:transform}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#f9f5eabf,#faf7ef40 42%,transparent 65%)}.hero-content{position:relative;padding-top:100px}.eyebrow{font-size:10px;letter-spacing:.22em;font-weight:500;color:#88724e;margin-bottom:26px}.hero h1{font-size:clamp(40px,4.5vw,68px);margin-bottom:25px}.hero-lead{font-size:16px;line-height:2.3;margin-bottom:30px}.hero-small{font-size:11px;margin-top:16px}.hero-bottom{position:absolute;bottom:25px;left:6%;right:6%;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.14em}.hero-bottom span:last-child{background:#faf9f5d9;padding:3px 8px;letter-spacing:0}.hero-number{position:absolute;right:30px;top:50%;writing-mode:vertical-rl;font-size:10px;letter-spacing:.15em}.hero-number i{padding:15px;font-style:normal}.values-strip{display:flex;justify-content:space-around;padding:28px 0;border-bottom:1px solid var(--line);font-size:12px}.values-strip span:before{content:'◇';color:var(--gold);padding-right:14px}section:not(.hero){padding:100px 0}.about-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:9%;align-items:center}.photo-card{position:relative;transition:transform .35s;transform-style:preserve-3d}.photo-card img{object-fit:cover}.about .photo-card img{height:480px;border-radius:150px 0 0 0}.photo-tag{position:absolute;bottom:55px;right:-25px;background:var(--paper);padding:17px 25px;font-size:9px;letter-spacing:.2em;box-shadow:0 10px 30px #1934470d}figcaption{font-size:10px;color:var(--muted);margin-top:9px}.about-copy p:not(.eyebrow){font-size:14px;color:#576771;line-height:2.3}.text-link{display:flex;justify-content:space-between;max-width:220px;border-bottom:1px solid var(--gold);padding:15px 0;font-size:13px;margin-top:25px}.treatment{background:#edf0ed}.section-head{text-align:center;margin-bottom:50px}.muted{font-size:13px;color:var(--muted)}.treatment-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.model-panel{position:relative;height:500px;background:radial-gradient(ellipse,#fffdf5 0%,#e2e8e2 68%);border-radius:50% 50% 5px 5px;overflow:hidden}.model-orbit{position:absolute;inset:14% 10%;border:1px solid #ae946a65;border-radius:50%;transform:rotate(-25deg)}#tooth-stage{position:absolute;inset:0 0 50px;cursor:grab;touch-action:pan-y}#tooth-stage:active{cursor:grabbing}#tooth-stage canvas{width:100%;height:100%;position:absolute;inset:0}.tooth-fallback{position:absolute;width:48%;height:70%;left:26%;top:15%;filter:drop-shadow(15px 25px 15px #19344720)}.model-label{position:absolute;bottom:34px;left:25px;right:25px;display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:8px;letter-spacing:.12em}.model-label button{border:1px solid #bdc5be;border-radius:20px;background:#ffffffc9;color:var(--ink);font-size:10px;padding:8px 12px}.model-note{position:absolute;bottom:10px;width:100%;text-align:center;font-size:9px;color:#687570}.treatment-item{border-bottom:1px solid #cdd4cd}.treatment-item summary{display:flex;gap:22px;align-items:center;list-style:none;cursor:pointer;padding:22px 0}.treatment-item summary::-webkit-details-marker{display:none}.treatment-item strong{font-weight:500;font-size:19px}.treatment-item small{display:block;font-size:9px;color:#7e8986;letter-spacing:.13em}.treat-no{font-family:serif;color:#9d865f;font-size:17px}.treatment-item b{margin-left:auto;font-weight:400;color:#89744f}.treatment-item[open] b{transform:rotate(45deg)}.treatment-item p{margin:0 25px 23px 42px;color:#566760;font-size:13px}.space-title{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:35px}.space-title p:last-child{font-size:13px;color:var(--muted)}.space-photo{width:88%;margin:auto}.space-photo img{height:450px;object-position:center 65%;object-fit:cover}.price{background:#f0eee8}.price-table{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}th{font-weight:500;background:#e5e3da}td,th{padding:21px 22px;border-bottom:1px solid #d5d6ce}td:last-child{white-space:nowrap}.price-note{font-size:11px;color:var(--muted);margin-top:17px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.doctor-card{padding:30px;border:1px solid var(--line);background:#fffdf8}.doctor-photo{font-size:45px;margin-bottom:20px}.doctor-card p{font-size:13px;color:var(--muted)}.role{font-size:9px!important;letter-spacing:.12em;color:#947b51!important}.access{background:#eeefea}.access-inner{display:grid;grid-template-columns:1.2fr .8fr;gap:60px}.info-list{font-size:13px}.info-list>div{display:flex;padding:11px 0;border-bottom:1px solid #d5d8cf}.info-list dt{width:85px;flex-shrink:0}.info-list dd{margin:0}.hours-table{margin-top:30px;font-size:11px}.hours-table td,.hours-table th{padding:10px 6px;white-space:nowrap}.access-map{background:repeating-linear-gradient(35deg,#e1e5dc,#e1e5dc 40px,#e8ebe4 41px,#e8ebe4 70px);display:flex;align-items:center;justify-content:center;flex-direction:column;min-height:300px;text-align:center;border:1px solid #cdd4c7}.art-emoji{font-size:45px}.access-map small{font-size:11px}.faq-list{max-width:850px;margin:auto}.faq-item{border-bottom:1px solid var(--line)}.faq-q{width:100%;text-align:left;padding:25px 40px 25px 0;border:0;background:none;color:var(--ink);position:relative;font-size:14px}.faq-q:after{content:'＋';position:absolute;right:5px}.faq-q[aria-expanded=true]:after{content:'−'}.faq-a p{color:var(--muted);font-size:13px;padding:0 20px}.reserve{background:var(--ink);color:#fff;text-align:center}.reserve .eyebrow{color:#d1ba92}.reserve p{font-size:13px}.hero-actions{display:flex;justify-content:center;align-items:center;gap:25px;flex-wrap:wrap}.btn-on-accent{border:1px solid #79909e}.demo-reservation{padding:20px;margin:0;border:1px solid #79909e}.site-footer{padding:50px 0}.footer-inner{display:flex;flex-direction:column;gap:20px;align-items:center}.site-footer p{font-size:10px;color:var(--muted);text-align:center}.mobile-book{display:none}.skip{position:fixed;top:-100px;z-index:100;background:white;padding:12px}.skip:focus{top:0}
@media(max-width:1100px){nav{gap:14px;font-size:11px}.header-book{display:none}.hero-content{padding-top:75px}.hero{height:650px}.about .photo-card img{height:430px}.brand-text strong{font-size:15px}}
@media(max-width:760px){html{scroll-padding-top:90px}.demo-bar{font-size:8px}.demo-bar span{margin-left:8px;font-size:8px}.header-inner{height:74px;width:90%}.brand-mark{width:35px;height:35px;font-size:21px}.brand-text strong{font-size:13px}.brand-text small{font-size:7px}.menu-toggle{display:block;border:1px solid #c3c5bc;background:none;color:var(--ink);width:42px;height:42px;font-size:21px}nav{display:none;position:absolute;top:74px;left:0;right:0;background:var(--paper);padding:20px 7%;box-shadow:0 15px 20px #19344715}nav.open{display:flex;flex-direction:column}nav a{padding:10px;font-size:14px}.hero{height:720px;min-height:0;max-height:900px}.hero-image{object-position:65% center}.hero-shade{background:linear-gradient(90deg,#faf6ede8,#faf6ed8c 60%,#faf6ed1a)}.hero-content{padding-top:95px}.hero h1{font-size:40px;line-height:1.8}.hero .eyebrow{font-size:8px}.hero-lead{font-size:14px}.hero-number{display:none}.hero-bottom{font-size:8px;gap:15px;letter-spacing:0}.values-strip{font-size:9px;gap:14px;padding:22px 0}.values-strip span:before{display:none}section:not(.hero){padding:65px 0}.about-grid,.treatment-grid,.access-inner{grid-template-columns:1fr;gap:40px}.about .photo-card img{height:auto;aspect-ratio:1.1;border-radius:90px 0 0 0}.photo-tag{right:-8px;padding:12px 17px;bottom:40px;font-size:8px}.about-copy{padding-top:10px}.eyebrow{margin-bottom:17px}h2{font-size:31px}.section-head{margin-bottom:30px}.model-panel{height:390px;max-width:460px;width:100%;margin:auto}.treatment-item strong{font-size:17px}.treatment-item summary{padding:19px 0}.space-title{display:block}.space-photo img{height:300px;object-position:65% center}.grid-3{grid-template-columns:1fr;gap:18px}.doctor-card{padding:25px}.doctor-photo{float:right;font-size:30px}.price-table td,.price-table th{padding:15px 10px;font-size:11px}.price-table td:nth-child(2),.price-table th:nth-child(2){display:none}.access-inner{gap:30px}.faq-q{font-size:13px}.reserve h2{font-size:27px}.site-footer{padding-bottom:100px}.mobile-book{display:grid;grid-template-columns:1fr 1.8fr;position:fixed;bottom:0;left:0;right:0;z-index:30;background:var(--paper);box-shadow:0 -5px 25px #19344715;padding-bottom:env(safe-area-inset-bottom)}.mobile-book a{text-align:center;font-size:12px;padding:18px 5px}.mobile-book a:last-child{background:var(--ink);color:white}.copyright{max-width:90%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.hero-image,.photo-card{transform:none!important}}
@media(max-width:760px){.price-table td:nth-child(2),.price-table th:nth-child(2){display:table-cell}.price-table table{min-width:540px}}
