/* Clinic identity and responsive refinements. */
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;500;600&display=swap');
:root{--blue:#285d52;--blue-deep:#214d44;--sky-0:#faf9f5;--sky-1:#f3f4ee;--sky-2:#e1e8df;--ink:#293f39;--ink-soft:#53615b;--ink-faint:#68736b;--line:#dce2d8;--warn:#876b42;--beige:#f8f5ed;--beige-2:#e4dccb;--gray-head:#69766d;--ok:#366a57;--serif:"Noto Serif JP","Yu Mincho",serif;}
body{background:#fffefa;font-size:16px;line-height:2;padding-bottom:0;}
html{scroll-padding-top:160px;}::selection{background:#dbe5d6;color:var(--ink);}
:focus-visible{outline:3px solid #947440;outline-offset:5px;}img{height:auto;}
.wrap{max-width:1200px;padding:0 48px;}
.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:white;padding:12px 24px;}.skip-link:focus{top:10px;}
.reveal{opacity:1;transform:none;}.js-motion .reveal{opacity:0;transform:translateY(18px);}.js-motion .reveal.in-view{opacity:1;transform:none;}
.topbar{background:rgba(255,254,250,.97);backdrop-filter:blur(14px);}
.topbar-inner{max-width:1440px;min-height:130px;padding:19px 48px 48px;position:relative;gap:24px;}
.brand{font-size:25px;letter-spacing:.06em;color:var(--blue-deep);text-decoration:none;font-family:var(--serif);font-weight:600;}
.brand-location{font-family:"Zen Kaku Gothic New",sans-serif;font-size:11px;font-weight:500;letter-spacing:.15em;margin-bottom:7px;}
.brand small{font-family:Arial,sans-serif;font-size:9px;letter-spacing:.22em;margin-top:9px;}
.topbar-links{position:absolute;bottom:0;left:48px;right:48px;justify-content:center;gap:clamp(16px,3vw,42px);padding:10px 0;border-top:1px solid var(--line);font-size:12px;}
.topbar-links a{position:relative;padding:10px 0;}.topbar-links a::after{content:"";height:2px;background:var(--blue);position:absolute;bottom:0;left:0;right:0;transform:scaleX(0);transition:transform .2s;}.topbar-links a:hover::after,.topbar-links a[aria-current]::after{transform:scaleX(1);}
.topbar-cta{gap:25px;}.topbar-tel{font-size:25px;letter-spacing:.03em;text-decoration:none;line-height:1.5;}.topbar-tel span{font-size:10px;color:var(--ink-soft);letter-spacing:.08em;}
.topbar-btn{padding:16px 27px;border-radius:4px;font-size:14px;}.topbar-btn::after{content:"↗";margin-left:22px;}.topbar-btn:hover{background:#183f36;}.menu-toggle{display:none;}
.hero{min-height:640px;background:#f3f2e9;isolation:isolate;}
.hero-photo{position:absolute;right:0;top:0;width:53%;height:100%;object-position:61% center;border-bottom-left-radius:110px;}
.hero-scrim{background:linear-gradient(90deg,#f3f2e9 0%,#f3f2e9 37%,rgba(243,242,233,.9) 43%,transparent 66%);}
.hero-inner{position:relative;inset:auto;max-width:1440px;min-height:640px;margin:auto;align-items:flex-start;text-align:left;padding:74px 6.5% 90px;}
.hero-eyebrow{font-family:inherit;color:var(--blue);font-size:12px;letter-spacing:.12em;margin-bottom:24px;display:flex;align-items:center;gap:14px;}.hero-eyebrow::before{content:"";width:28px;height:1px;background:#8d987a;}
.hero h1{font-family:var(--serif);font-size:clamp(30px,3.4vw,48px);line-height:1.85;font-weight:500;letter-spacing:.045em;color:var(--ink);text-wrap:initial;}
.hero .sub{font-size:14px;max-width:410px;color:var(--ink-soft);line-height:2.15;margin:24px 0 0;}.hero-actions{justify-content:flex-start;gap:12px;margin-top:28px;}
.btn{padding:17px 23px;border-radius:4px;gap:26px;font-size:14px;}.btn .arrow{font-size:19px;font-weight:400;}.hero .btn-outline{border-color:#a7b3a3;color:var(--blue-deep);background:rgba(255,254,250,.7);}
.hero-scroll{position:absolute;bottom:25px;left:6.5%;font-family:Arial,sans-serif;font-size:9px;letter-spacing:.18em;text-decoration:none;display:flex;gap:30px;align-items:center;color:var(--ink-soft);}.hero-scroll span{font-size:21px;}
section{padding:104px 0;}.rule-head{border:0;padding:0;max-width:none;margin:0 auto 28px;text-align:center;}
.rule-head::before{content:"WATANABE DENTAL CLINIC";display:block;font-family:Arial,sans-serif;font-size:10px;font-weight:500;letter-spacing:.22em;color:var(--warn);margin-bottom:18px;}
#about .rule-head::before{content:"ABOUT IMPLANT";}#feature .rule-head::before{content:"OUR APPROACH";}#compare .rule-head::before{content:"YOUR TREATMENT OPTIONS";}#price .rule-head::before{content:"PRICE & PAYMENT";}#flow .rule-head::before{content:"TREATMENT FLOW";}#faq .rule-head::before{content:"QUESTIONS & ANSWERS";}#guide .rule-head::before{content:"IMPLANT GUIDE";}.worry-band .rule-head::before{content:"YOUR CONCERNS";}
.rule-head h2{font-family:var(--serif);font-size:clamp(24px,2.4vw,33px);font-weight:500;letter-spacing:.06em;line-height:1.65;}.rule-sub{font-size:15px;max-width:740px;line-height:2.15;margin-bottom:48px;}
.about-grid{gap:64px;margin-top:56px;}.about-photo{border:0;border-radius:8px 56px 8px 8px;background:#f4f0e6;}.about-photo img{object-fit:contain;}.about-copy h3{font-family:var(--serif);font-size:25px;font-weight:500;}.about-copy p{font-size:15px;line-height:2.15;}
.worry-band{padding:84px 0;background:#eef1e9;}.worry-inner{display:grid;grid-template-columns:1fr 260px;column-gap:50px;align-items:center;}.worry-inner .rule-head{grid-column:1/-1;}
.worry-grid{grid-template-columns:1fr 1fr;gap:0 26px;max-width:none;}
.worry-chip,.worry-chip:nth-child(n){aspect-ratio:auto;border-radius:0;background:transparent;color:var(--ink);justify-content:flex-start;text-align:left;border-bottom:1px solid #d1dacd;padding:20px 0;font-size:15px;line-height:1.7;font-weight:500;gap:13px;}
.worry-chip::before{content:"✓";flex-shrink:0;border:1px solid #a8b79f;border-radius:50%;width:23px;height:23px;display:grid;place-items:center;font-size:13px;color:var(--blue);}
.worry-photo{display:block;position:static;width:100%;border-radius:130px 130px 8px 8px;box-shadow:none;overflow:hidden;}.worry-photo img{aspect-ratio:4/5;object-fit:cover;}
.worry-lead{grid-column:1/-1;font-family:var(--serif);font-size:23px;font-weight:500;margin:40px 0 0;}.worry-lead .hl{padding-bottom:5px;border-bottom:2px solid #b4b99b;}
.reason-grid{gap:48px 40px;}.reason-card{display:grid;grid-template-columns:64px 1fr;align-content:start;}.reason-card .ph{grid-column:1/-1;border:0;border-radius:6px 38px 6px 6px;margin-bottom:24px;}.reason-card .ph img{aspect-ratio:16/9;}
.reason-card .tag{font-size:9px;letter-spacing:.1em;color:var(--warn);grid-column:1;}.reason-card .num{grid-column:1;font-size:37px;line-height:1.2;font-weight:500;color:#81947d;grid-row:3/5;}.reason-card h4{grid-column:2;grid-row:2/4;font-family:var(--serif);font-size:21px;line-height:1.7;font-weight:500;margin:0 0 14px;}.reason-card p{grid-column:2;font-size:14px;line-height:2;}
.md-panel{padding:42px 0;background:#fffefa;border-radius:8px;}.md-label{font-size:23px;font-weight:500;letter-spacing:.12em;}.md-grid{gap:30px 46px;}.md-item h4{font-size:16px;}.md-item p{font-size:14px;}
.cmp-cards{gap:22px;margin-top:36px;}.cmp-card{border-radius:5px;}.cmp-card.primary{border-color:var(--blue);}.cmp-card .head{font-family:var(--serif);font-size:21px;font-weight:500;padding:21px;}.cmp-card ul.ok li,.cmp-card ul.ng li{font-size:14px;}.note{font-size:12px;color:var(--ink-soft);}
.price-row{grid-template-columns:108px 1fr 220px;gap:32px;padding:26px 0;}.price-row .ph{border-radius:4px;}.price-row h4{font-size:18px;font-weight:700;}.price-row p{font-size:14px;}.price-row .amt{border-radius:4px;padding:23px 14px;}.price-row .amt .v{color:var(--blue-deep);font-size:23px;}.price-row .amt .v.placeholder{font-size:20px;color:var(--ink-soft);}.price-row .amt .u{font-size:12px;}
.doc-band{grid-template-columns:.85fr 1.15fr;border:0;background:transparent;padding:0;gap:65px;}.doc-band img{width:100%;border-radius:80px 6px 6px 6px;aspect-ratio:4/4.6;}.doc-band h3{font-family:var(--serif);font-size:34px;font-weight:500;letter-spacing:.16em;}.doc-band .role{font-size:11px;}.doc-band .sub-role{font-size:13px;}.doc-band p{font-size:15px;line-height:2.15;}.doc-band .btn{margin-top:15px;}
.timeline{max-width:880px;margin-top:50px;}.timeline::before{background:#bfcbb9;}.tl-step{padding:0 0 38px 88px;min-height:100px;}.tl-num{background:#f0f3eb;border:0;color:var(--blue);font-size:22px;}.tl-step h4{font-size:19px;}.tl-step p{font-size:15px;}.tl-body{grid-template-columns:1fr 150px;gap:30px;}
.faq-list{max-width:920px;padding:12px 24px 0;gap:12px;}.faq-item,.faq-item:nth-child(even){background:#fffefa;border:1px solid var(--line);border-radius:4px;}.faq-item summary{font-size:16px;padding:25px 58px 25px 65px;}.faq-item summary::before{font-family:var(--serif);font-size:24px;color:var(--blue);left:25px;}.faq-item .a{font-size:15px;padding:0 30px 28px 65px;}.faq-item .a::before{left:26px;}
.cta-band{border-radius:6px 70px 6px 6px;min-height:400px;}.cta-band .scrim{background:linear-gradient(90deg,rgba(27,55,44,.96),rgba(27,55,44,.85) 36%,rgba(27,55,44,.08) 80%);}.cta-band .content{max-width:580px;padding:55px;}.cta-band h3{font-family:var(--serif);font-size:32px;font-weight:500;line-height:1.8;}.cta-band p{color:#eef3e9;font-size:15px;}.cta-band .btn{background:#fffefa;color:var(--blue-deep);}
.flow-grid{gap:0 34px;}.flow-card{padding:27px 30px 27px 0;border:0;border-bottom:1px solid #cad5c4;border-radius:0;background:transparent;}.flow-card::before{display:none;}.flow-card::after{content:"↗";position:absolute;right:0;top:50%;font-size:21px;color:var(--blue);}.flow-card:hover{transform:none;box-shadow:none;background:#e9eee3;}.flow-card h4{font-size:17px;margin:7px 0;}.flow-card p{font-size:13px;}
#access{background:var(--sky-1);padding-bottom:90px;}.info-panel{border-radius:6px;background:#fffefa;border:1px solid var(--line);}.info-panel .bg,.info-panel .scrim{display:none;}.info-content{grid-template-columns:1fr 1fr;}.info-left{padding:45px;}.info-left h2{font-family:var(--serif);font-size:26px;font-weight:500;}.info-left .addr{font-size:13px;}.info-left .tel-big{display:block;text-decoration:none;font-size:32px;}.info-right{padding:45px 35px;align-self:center;border-left:1px solid var(--line);}.hours-table{font-size:14px;}.hours-table th{width:25%;white-space:nowrap;}.closed{font-size:13px;}.staff-links a{font-size:13px;border-radius:3px;}
footer{background:#253f36;color:#eef1e8;padding:65px 0 110px;}.foot-grid{font-size:13px;gap:14px 26px;opacity:1;}.foot-grid a:hover{color:white;}.foot-area,.foot-bottom{opacity:1;color:#c6d0c5;}.foot-bottom{border-color:#597064;font-size:11px;}
.floatbar{left:auto;right:24px;bottom:20px;grid-template-columns:190px 220px;border:1px solid #d3dccd;border-radius:6px;overflow:hidden;box-shadow:0 5px 28px #173c2926;}.floatbar a{padding:17px 14px;font-size:14px;}.floatbar .fb-form::after{content:"↗";margin-left:12px;}
@media(max-width:1050px){.topbar-inner{padding-left:28px;padding-right:28px;}.topbar-links{left:28px;right:28px;display:flex;gap:22px;}.wrap{padding:0 32px;}.hero-inner{padding-left:5%;}.hero h1{font-size:36px;}.hero-photo{width:55%;}.hero .sub{max-width:370px;}.hero-actions{gap:9px;}.hero .btn{padding:15px;gap:12px;}.worry-inner{gap:28px;grid-template-columns:1fr 220px;}.doc-band{gap:38px;}.info-content{grid-template-columns:1fr;}.info-right{border-left:0;border-top:1px solid var(--line);padding:30px 45px;}}
@media(max-width:760px){
html{scroll-padding-top:100px;}body{padding-bottom:68px;}.wrap{padding:0 24px;}section{padding:70px 0;}
.topbar-inner{min-height:88px;padding:14px 20px;gap:12px;}.brand{font-size:20px;}.brand-location{font-size:9px;margin-bottom:4px;}.brand small{font-size:8px;margin-top:6px;}.topbar-cta{display:none;}
.menu-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:1px solid #ced8c8;border-radius:4px;background:transparent;width:50px;height:50px;color:var(--blue);cursor:pointer;}.menu-toggle>span:not(.menu-label){width:21px;height:1px;background:currentColor;transition:transform .2s;}.menu-label{font:9px sans-serif;}.menu-toggle[aria-expanded="true"]>span:first-child{transform:translateY(3.5px) rotate(45deg);}.menu-toggle[aria-expanded="true"]>span:nth-child(2){transform:translateY(-3.5px) rotate(-45deg);}
.topbar-links{display:none;position:absolute;top:100%;bottom:auto;left:0;right:0;background:#fffefa;padding:16px 24px 24px;box-shadow:0 15px 20px #21372c12;max-height:calc(100dvh - 160px);overflow:auto;}.topbar-links.is-open{display:grid;gap:0;}.topbar-links a{display:block;padding:13px 5px;border-bottom:1px solid var(--line);font-size:14px;}
.hero{display:flex;flex-direction:column;min-height:0;}.hero-photo{position:relative;order:2;width:calc(100% - 24px);margin-left:24px;height:265px;object-position:center 46%;border-radius:48px 0 0 0;}.hero-scrim{display:none;}.hero-inner{min-height:0;margin:0;width:100%;padding:40px 24px 30px;}.hero-eyebrow{font-size:10px;letter-spacing:.07em;margin-bottom:18px;gap:8px;}.hero-eyebrow::before{width:17px;}.hero h1{font-size:clamp(27px,5.2vw,37px);letter-spacing:.02em;line-height:1.8;}.hero .sub{font-size:13px;max-width:100%;margin-top:18px;}.hero-actions{margin-top:22px;width:100%;flex-wrap:nowrap;}.hero .btn{font-size:12px;flex:1;justify-content:space-between;padding:14px 12px;gap:5px;}.hero-scroll{display:none;}
.rule-head{margin-bottom:24px;}.rule-head::before{font-size:9px;margin-bottom:12px;}.rule-head h2{font-size:25px;}.rule-sub{text-align:left;font-size:14px;margin-bottom:30px;}.about-grid{grid-template-columns:1fr;gap:28px;margin-top:32px;}.about-copy h3{font-size:23px;}.about-copy p{font-size:14px;}
.worry-band{padding:60px 0;}.worry-inner{grid-template-columns:1fr;gap:0;}.worry-grid{grid-template-columns:1fr 1fr;gap:0 18px;}.worry-chip,.worry-chip:nth-child(n){font-size:13px;padding:18px 0;gap:8px;}.worry-chip::before{width:19px;height:19px;font-size:11px;}.worry-photo{display:none;}.worry-lead{font-size:19px;line-height:1.9;margin-top:28px;}
.reason-grid{grid-template-columns:1fr;gap:36px;}.reason-card h4{font-size:21px;}.reason-card p{font-size:14px;}.reason-card .ph{margin-bottom:20px;}.md-panel{padding:30px 0;}.md-grid{grid-template-columns:1fr;gap:26px;}.md-label{font-size:21px;}.cmp-cards{grid-template-columns:1fr;gap:18px;}
.price-row{grid-template-columns:74px 1fr;grid-template-areas:"ph copy" "amt amt";gap:16px;}.price-row .ph{grid-area:ph;}.price-row>div:nth-child(2){grid-area:copy;}.price-row h4{font-size:16px;}.price-row p{font-size:13px;}.price-row .amt{grid-area:amt;margin:0;padding:13px;}
.doc-band{grid-template-columns:1fr;gap:30px;}.doc-band img{max-width:100%;width:100%;aspect-ratio:16/10;object-position:center 40%;border-radius:45px 4px 4px 4px;}.doc-band h3{font-size:30px;}.doc-band p{font-size:14px;}
.timeline{margin-top:35px;}.timeline::before{left:20px;}.tl-step{padding-left:60px;padding-bottom:30px;}.tl-num{width:42px;height:42px;font-size:18px;}.tl-step h4{font-size:17px;}.tl-step p{font-size:14px;}.tl-body{grid-template-columns:1fr;gap:16px;}.tl-body img{order:0;width:135px;}
.faq-list{padding:0 20px;}.faq-item summary{font-size:14px;padding:21px 40px 21px 47px;}.faq-item summary::before{left:17px;font-size:21px;}.faq-item summary::after{right:16px;}.faq-item .a{font-size:14px;padding:0 20px 23px 47px;}.faq-item .a::before{left:18px;}
.cta-band{min-height:390px;border-radius:4px 44px 4px 4px;}.cta-band .content{padding:32px 24px;}.cta-band h3{font-size:27px;}.cta-band p{font-size:14px;}.cta-band .scrim{background:rgba(27,55,44,.78);}
.flow-grid{grid-template-columns:1fr 1fr;gap:0 20px;}.flow-card{padding:22px 18px 22px 0;}.flow-card h4{font-size:15px;}.flow-card p{font-size:12px;}.flow-card .tag{font-size:9px;}
#access{padding-bottom:60px;}.info-left,.info-right{padding:28px 23px;}.info-left h2{font-size:22px;}.info-left .tel-big{font-size:29px;}.hours-table{font-size:12px;}.info-chips{gap:16px;}.staff-links{gap:8px;}.staff-links a{padding:7px 11px;}
footer{padding:45px 0;}.foot-grid{font-size:12px;gap:12px 20px;}.floatbar{left:0;right:0;bottom:0;border-radius:0;grid-template-columns:1fr 1.2fr;padding-bottom:env(safe-area-inset-bottom);background:white;}.floatbar a{font-size:12px;min-height:62px;padding:15px 8px;}.floatbar .fb-form::after{margin-left:3px;}
}
@media(max-width:480px){.hero h1{font-size:clamp(20px,6vw,28px);}.hero .btn{font-size:11px;padding:14px 10px;gap:4px;white-space:nowrap;}.hero .btn .arrow{font-size:16px;}.brand{font-size:clamp(16px,5.1vw,20px);}.menu-toggle{flex-shrink:0;}}
@media(prefers-reduced-motion:reduce){.js-motion .reveal{opacity:1;transform:none;}*{scroll-behavior:auto!important;}}
