:root{
 --navy:#102a43;--navy2:#173f5f;--blue:#1769aa;--blue2:#2f80c7;
 --sky:#f7fbff;--text:#25313c;--sub:#627181;--line:#dfe7ee;
}
*{box-sizing:border-box}
body{
 margin:0;color:var(--text);background:#fff;line-height:1.8;
 font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
}
a{color:var(--blue);text-decoration:none}
.site-header{background:#fff;border-bottom:1px solid var(--line)}
.header-inner{width:min(1100px,calc(100% - 34px));margin:auto;min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:12px;color:var(--navy);font-weight:800}
.brand-mark{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(135deg,var(--navy),var(--blue2));color:#fff;font-weight:800}
.brand small{display:block;color:#82909d;font-size:.68rem;font-weight:500}
.home-link{padding:9px 15px;border-radius:8px;background:var(--blue);color:#fff;font-weight:700}
.hero{color:#fff;background:linear-gradient(135deg,var(--navy),var(--blue))}
.hero-inner{width:min(1000px,calc(100% - 34px));margin:auto;padding:64px 0}
.hero p{margin:0 0 7px;color:#b8def3;font-size:.8rem;font-weight:800;letter-spacing:.14em}
.hero h1{margin:0 0 13px;font-size:clamp(2.2rem,5vw,3.5rem)}
.hero .lead{margin:0;color:#e6f3fa;font-size:1.02rem}
.wrap{width:min(1000px,calc(100% - 34px));margin:auto}
.breadcrumb{padding:16px 0;color:#798692;font-size:.86rem}
.section{padding:60px 0}
.section.soft{background:var(--sky)}
.eyebrow{color:var(--blue);font-size:.78rem;font-weight:800;letter-spacing:.13em}
h2{margin:5px 0 26px;color:var(--navy);font-size:1.8rem}
.map-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.map-card{padding:25px;border:1px solid var(--line);border-radius:15px;background:#fff}
.map-card h3{margin:0 0 10px;color:var(--navy);font-size:1.12rem}
.map-card p{margin:0 0 13px;color:#667785;font-size:.9rem}
.map-card ul{margin:0;padding-left:1.2em}
.map-card li{margin:7px 0}
.map-card > a{font-weight:800}
.detail-list{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.detail-link{display:block;padding:21px;border:1px solid var(--line);border-radius:13px;background:#fff}
.detail-link strong{display:block;margin-bottom:5px;color:var(--navy)}
.detail-link span{color:#71808c;font-size:.84rem}
.site-footer{padding:30px 0;background:#0b1d2c;color:#a9b6c0}
.footer-inner{width:min(1000px,calc(100% - 34px));margin:auto;display:flex;justify-content:space-between;gap:20px}
.footer-inner a{color:#d7e2e9}
@media(max-width:760px){
 .map-grid,.detail-list{grid-template-columns:1fr}
 .footer-inner{display:block;text-align:center}
}
