
:root{--green:#30614b;--deep:#254b3b;--light:#eef4ed;--gold:#ad8d4f;--ink:#303d35;--muted:#677268;--line:#dce4da;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;color:var(--ink);font-size:16px;line-height:1.9;background:#fff}a{color:inherit;text-underline-offset:.25em}a:focus-visible{outline:3px solid #b47611;outline-offset:5px}button,a{-webkit-tap-highlight-color:transparent}.container{width:min(1100px,calc(100% - 48px));margin:auto}.head{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.6rem 0}.brand{text-decoration:none;color:var(--deep);font-weight:600;font-size:1.75rem;letter-spacing:.06em;line-height:1.6}.brand small{display:block;font-size:.8rem;font-weight:400;letter-spacing:.03em;color:var(--muted)}.contact{text-align:right;font-size:.875rem;line-height:1.7}.contact a{font-family:Georgia,serif;text-decoration:none;font-size:1.7rem;letter-spacing:.03em;color:var(--green)}.nav{background:var(--green)}.nav-inner{display:flex;justify-content:center}.nav a{text-align:center;text-decoration:none;padding:1rem 1.8rem;flex:1;color:#fff;font-size:.9375rem;position:relative}.nav a+a:before{content:"";position:absolute;left:0;top:30%;height:40%;border-left:1px solid #ffffff40}.nav a:hover,.nav a[aria-current=page]{background:#234c39}.hero{display:grid;grid-template-columns:48% 52%;background:var(--light);margin-top:2rem;border-radius:5px 60px 5px 5px;overflow:hidden;min-height:330px}.hero-copy{padding:2.7rem 2.8rem;align-self:center}.eyebrow{font-family:Georgia,serif;letter-spacing:.08em;font-size:.875rem;color:var(--green);margin:0 0 .65rem}.hero h1{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;color:var(--deep);font-weight:500;line-height:1.65;font-size:2.6rem;letter-spacing:.05em;margin:.35rem 0 1rem}.hero p:last-child{margin:0;font-size:.9375rem}.hero-photo{margin:0;min-height:330px;background:#dcebd5}.hero-photo img{width:100%;height:100%;object-fit:cover;display:block}.info-strip{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);margin:1.5rem 0 0;border-radius:4px}.info-strip>div{padding:1.1rem 1.7rem}.info-strip>div+div{border-left:1px solid var(--line)}.info-strip strong{color:var(--green);font-size:1.05rem}.info-strip p{margin:.1rem 0;font-size:.875rem}.pill{font-size:.8125rem;display:inline-block;color:var(--green);background:var(--light);padding:.15rem .6rem;border-radius:3px;margin-left:.5rem}.block{padding:4rem 0}.block-heading{text-align:center;margin-bottom:2rem}.block-heading h2{color:var(--green);font-weight:500;font-size:1.75rem;margin:.2rem 0}.block-heading:after{content:"";display:block;width:36px;border-top:2px solid var(--gold);margin:1rem auto}.services{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.service{padding:2rem;border:1px solid var(--line);border-top:3px solid var(--green);border-radius:4px;background:white}.service h3{color:var(--green);font-size:1.3rem;margin:0 0 .9rem;font-weight:500}.service p{margin:.8rem 0;font-size:.9375rem}.text-link{display:inline-flex;gap:2rem;align-items:center;color:var(--green);text-decoration:none;border-bottom:1px solid var(--green);padding:.3rem 0;font-size:.9375rem}.text-link:after{content:"→"}.tint{background:#f6f8f4}.outline-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem}.mini-title{font-size:1.2rem;color:var(--green);font-weight:500;margin:0 0 1rem}.row{display:grid;grid-template-columns:120px 1fr;gap:1rem;border-bottom:1px solid var(--line);padding:1rem 0}.row:first-child{padding-top:0}.row:last-child{border-bottom:0}dl{margin:0}dt{font-weight:500}dd{margin:0}.schedule{border-collapse:collapse;width:100%;font-size:.9375rem;text-align:center}.schedule caption{text-align:left;margin-bottom:.8rem;font-size:1rem;color:var(--green)}.schedule th,.schedule td{padding:.85rem .5rem;border-bottom:1px solid var(--line)}.schedule thead th{background:var(--light);font-weight:500}.schedule tbody th{font-weight:500}.yes{color:var(--green);font-weight:700}.small-note,.pending{font-size:.875rem;color:var(--muted)}.notice-link{display:flex;justify-content:space-between;align-items:center;padding:1.6rem 2rem;border:1px solid var(--line);text-decoration:none;border-radius:4px;gap:2rem}.notice-link strong{font-size:1.15rem;color:var(--green);font-weight:500}.notice-link p{margin:.25rem 0;font-size:.875rem}.page-title{background:var(--light);padding:2.4rem 0;text-align:center}.page-title h1{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;color:var(--deep);font-weight:500;font-size:2rem;margin:.2rem 0}.breadcrumb{font-size:.8125rem;color:var(--muted);padding:1rem 0}.article{max-width:850px;margin:0 auto;padding:1.3rem 0 4rem}.article h2{font-size:1.4rem;font-weight:500;color:var(--green);padding:.5rem 0 .5rem 1rem;border-left:3px solid var(--green);background:var(--light);margin:2rem 0 1.4rem}.article h3{font-size:1.13rem;font-weight:500;color:var(--green);margin:0 0 1rem}.article p{margin:.8rem 0}.article ul{padding-left:1.4rem}.article li{padding:.3rem 0}.posting{border-top:1px solid var(--line);padding-top:2rem;margin-top:2rem}.standards{width:100%;border-collapse:collapse;text-align:left;font-size:.9375rem}.standards th,.standards td{padding:1rem;border-bottom:1px solid var(--line);vertical-align:top;font-weight:400}.standards thead th{background:var(--light);color:var(--green)}.standards td{min-width:150px;font-size:.875rem;color:var(--muted)}.doctor{padding:2rem;background:var(--light);border-radius:4px}.doctor strong{font-family:"Yu Mincho",serif;display:block;font-size:2rem;color:var(--deep);font-weight:500}.doctor p{margin:.5rem 0 0}.footer{background:var(--green);color:white;padding:2.3rem 0}.footer-inner{display:flex;justify-content:space-between;gap:2rem}.footer-name{font-size:1.35rem;margin-bottom:.5rem}.footer p{font-size:.875rem;margin:.2rem 0}.footer-nav{display:flex;flex-wrap:wrap;gap:.7rem 1.5rem;align-content:start;max-width:300px;font-size:.875rem}.footer-nav a{text-decoration:none}.copyright{font-size:.75rem;color:#d0decd;margin-top:2rem;text-align:center}.jump{display:flex;gap:.8rem;flex-wrap:wrap;margin-bottom:1.8rem;font-size:.875rem}.jump a{padding:.4rem .8rem;background:var(--light);text-decoration:none;border-radius:3px}@media(max-width:750px){.container{width:calc(100% - 32px)}.head{align-items:start;gap:1rem;padding:1.2rem 0}.brand{font-size:1.25rem}.brand small{font-size:.75rem}.contact .address{display:none}.contact a{font-size:1.1rem}.nav a{padding:.85rem .35rem;font-size:.8125rem}.hero{grid-template-columns:1fr;margin-top:1rem;border-radius:4px 35px 4px 4px}.hero-copy{padding:1.8rem}.hero h1{font-size:2rem}.hero-photo{height:190px;min-height:0;grid-row:1}.info-strip{grid-template-columns:1fr}.info-strip>div{padding:1rem}.info-strip>div+div{border-left:0;border-top:1px solid var(--line)}.services,.outline-grid{grid-template-columns:1fr;gap:1.5rem}.block{padding:2.6rem 0}.service{padding:1.5rem}.block-heading h2{font-size:1.45rem}.row{grid-template-columns:100px 1fr;font-size:.9375rem}.footer-inner{display:block}.footer-nav{margin-top:1.5rem;max-width:none}.notice-link{padding:1.2rem}.standards th,.standards td{padding:.8rem .4rem}.standards td{min-width:110px}.schedule{font-size:.8125rem}.schedule th,.schedule td{padding:.7rem .25rem}.article{padding-bottom:2.5rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{.draft,.nav,.footer-nav,.hero-photo{display:none}.hero{display:block}.block{padding:1rem 0}.container{width:100%}body{font-size:11pt}.service,.posting{break-inside:avoid}}

.director-greeting{display:grid;grid-template-columns:minmax(0,160px) minmax(0,1fr);gap:1.8rem;align-items:start;margin:1.8rem 0 2.5rem}.director-photo{margin:0}.director-photo img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:5px 30px 5px 5px}.director-message p:first-child{margin-top:0}.director-message p{font-size:1rem;line-height:2}.director-signature{margin-top:1.5rem;text-align:right}.director-signature span{display:block;font-size:.875rem;color:var(--muted)}.director-signature strong{display:block;font-family:"Yu Mincho",serif;font-size:1.65rem;font-weight:500;letter-spacing:.15em;color:var(--deep)}@media(max-width:650px){.director-greeting{grid-template-columns:1fr;gap:1.5rem}.director-photo{width:120px;max-width:100%;margin:0 auto}}

/* Keep the existing green palette and layout; improve narrow screens and keyboard access. */
.skip-link{position:absolute;left:1rem;top:-6rem;z-index:10;background:white;color:var(--deep);padding:.7rem 1rem;border:2px solid var(--green)}
.skip-link:focus{top:1rem}
.contact-label{display:block;font-size:.875rem;color:var(--muted)}
.contact a{display:inline-flex;align-items:center;min-height:44px;white-space:nowrap}
.brand,.contact,.service,.outline-grid>div,.row dd{min-width:0}
.brand small{font-size:.875rem}
.hero p:last-child,.service p,.article p,.standards{font-size:1rem}
.footer-nav a,.jump a,.text-link{min-height:44px;display:inline-flex;align-items:center}
.nav a{display:flex;justify-content:center;align-items:center;min-height:48px}
.schedule{table-layout:fixed}
.schedule th:first-child{width:29%;white-space:normal;overflow-wrap:anywhere}
.standards{table-layout:fixed;overflow-wrap:anywhere}
.standards th:first-child{width:70%}
.standards td{min-width:0}
.row dd,.footer p{overflow-wrap:anywhere}
.source-note{font-size:.875rem;color:var(--muted)}
@media(max-width:750px){
 .head{flex-wrap:wrap;align-items:center;gap:.4rem 1rem}
 .brand{font-size:1.35rem;letter-spacing:.03em}
 .brand small{font-size:.875rem;letter-spacing:0}
 .contact{text-align:left}
 .contact a{font-size:1.4rem}
 .nav-inner{display:grid;grid-template-columns:1fr 1fr}
 .nav a{font-size:.875rem;padding:.65rem .4rem}
 .nav a:nth-child(odd):before{display:none}
 .nav a:nth-child(n+3){border-top:1px solid #ffffff30}
 .schedule{font-size:.875rem}
 .schedule th,.schedule td{padding:.7rem .15rem}
 .schedule th:first-child{width:31%}
 .row{grid-template-columns:90px minmax(0,1fr);gap:.7rem;font-size:1rem}
 .hero h1{font-size:clamp(1.65rem,7.7vw,2rem);letter-spacing:.02em}
 .hero-copy{padding:1.5rem}
 .page-title h1{font-size:clamp(1.6rem,7vw,2rem);padding:0 1rem}
 .standards th:first-child{width:64%}
 .standards td{font-size:.875rem}
 .notice-link{gap:1rem}
}
@media(max-width:360px){.row{grid-template-columns:1fr;gap:.2rem}.row dt{color:var(--green)}.schedule th:first-child{width:34%}}

.standards caption{text-align:left;margin:0 0 .8rem;font-size:.875rem;color:var(--muted)}
.standard-date{display:block;font-size:.875rem;margin-top:.4rem}
