/* Shared, scoped chrome: does not replace each page's editorial layout. */
.site-header{display:block;min-height:0;position:sticky;top:0;z-index:30;width:100%;max-width:none;margin:0;padding:0;background:#fffffff5;border-bottom:1px solid #e6ece8;color:#152632;font-family:Zen,'Yu Gothic',Meiryo,sans-serif;line-height:1.5}
.site-header .header-inner{box-sizing:border-box;width:min(1160px,calc(100% - 80px));min-height:80px;margin:auto;display:flex;align-items:center;gap:24px;padding:0}
.site-header .brand,.site-footer .brand{display:inline-flex;align-items:center;gap:10px;font-size:19px;font-weight:700;white-space:nowrap;text-decoration:none;color:#152632}
.site-header .brand img,.site-footer .brand img{width:34px;height:34px;flex:none}
.site-header .brand>span,.site-footer .brand>span{font:inherit;letter-spacing:normal}
.site-header nav{display:flex;gap:24px;margin:0 0 0 auto;align-items:center}
.site-header nav a{font-size:14px;font-weight:700;white-space:nowrap;text-decoration:none;color:#152632;padding:5px 0}
.site-header nav a:hover{text-decoration:underline}
.site-header .header-cta{display:inline-flex;gap:8px;align-items:center;justify-content:center;background:#086b6c;color:#fff;text-decoration:none;font-size:14px;font-weight:700;min-height:46px;padding:8px 18px;border:1px solid #086b6c;border-radius:2px;white-space:nowrap;box-sizing:border-box}
.consult-label{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.25;gap:4px}
.consult-label small{font-size:11px;font-weight:500;letter-spacing:.02em;line-height:1.25}
.site-footer{display:block;max-width:none;width:100%;margin:0;padding:30px 0;background:#fff;color:#152632;border-top:1px solid #cfded5;font-family:Zen,'Yu Gothic',Meiryo,sans-serif}
.site-footer .footer-inner{width:min(1160px,calc(100% - 80px));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}
.site-footer nav{display:flex;align-items:center;gap:24px;flex-wrap:wrap;font-size:13px}
.site-footer nav a{color:inherit;text-decoration:none}.site-footer nav a:hover{text-decoration:underline}
.site-header a:focus-visible,.site-footer a:focus-visible,.mobile-consult a:focus-visible{outline:3px solid #d6a821;outline-offset:4px}
.mobile-consult{display:none}.mobile-consult[hidden]{display:none!important}
.hero-consult.button{display:none;margin-top:24px}
@media(max-width:760px){
 .site-header .header-inner{width:calc(100% - 40px);min-height:100px;flex-wrap:wrap;gap:0;justify-content:space-between;padding:10px 0 6px}
 .site-header .brand,.site-footer .brand{font-size:16px;gap:8px}.site-header .brand img{width:28px;height:28px}
 .site-header nav{order:3;width:100%;margin:5px 0 0;justify-content:space-between;gap:10px}.site-header nav a{font-size:12px}
 .site-header .header-cta{min-height:46px;font-size:13px;padding:6px 14px}
 .site-footer .footer-inner{width:calc(100% - 40px);flex-direction:column;align-items:flex-start}.site-footer nav{gap:16px}
 .mobile-consult{position:fixed;z-index:50;inset:auto 0 0;display:flex;justify-content:center;padding:9px 20px calc(9px + env(safe-area-inset-bottom,0px));background:#fffffff5;border-top:1px solid #cfded5;box-shadow:0 -3px 14px #1526320b}
 .mobile-consult a{display:flex;gap:12px;align-items:center;justify-content:center;width:100%;min-height:48px;border-radius:3px;background:#086b6c;color:white;font-size:16px;font-weight:700;text-decoration:none}.mobile-consult small{font-size:12px;font-weight:500}
 body.has-mobile-consult{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}
 .hero-original .hero-bottom{flex-direction:column;align-items:flex-start}
 .hero-consult.button{display:inline-flex;margin-top:20px;font-size:15px;min-height:54px}
 .service-card{padding:20px 22px 0}.service-card h2{font-size:32px;margin:18px 0 14px;line-height:1.35}.service-card-caption{margin-bottom:16px}.service-card>a{min-height:48px;padding:12px 0}
}
