
:root{--d-ink:#10203d;--d-muted:#68758d;--d-line:#e6ebf3;--d-blue:#2468f2;--d-bg:#f6f8fc;--d-soft:#eef3ff;--d-green:#18835e;--d-shadow:0 18px 50px rgba(26,52,98,.10)}
.district-page{background:#fff;color:var(--d-ink)}
.district-hero{padding:66px 0 58px;background:radial-gradient(circle at 85% 18%,rgba(36,104,242,.18),transparent 26%),linear-gradient(180deg,#f5f8ff,#fff);position:relative;overflow:hidden}
.district-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(36,104,242,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(36,104,242,.035) 1px,transparent 1px);background-size:38px 38px;mask-image:linear-gradient(to bottom,black,transparent 88%)}
.district-hero-grid{position:relative;display:grid;grid-template-columns:1.08fr .92fr;gap:42px;align-items:center}.district-breadcrumb{font-size:13px;color:#7d899d;margin-bottom:16px}.district-kicker{display:inline-flex;padding:7px 12px;border-radius:999px;background:#eaf1ff;color:var(--d-blue);font-size:12px;font-weight:800}.district-hero h1{font-size:50px;line-height:1.12;letter-spacing:-.035em;margin:16px 0}.district-hero .lead{font-size:17px;line-height:1.9;color:var(--d-muted);margin:0}.district-intent{margin-top:22px;display:flex;flex-wrap:wrap;gap:8px}.district-intent span{padding:8px 11px;border:1px solid #dce5f5;border-radius:10px;background:#fff;color:#40506b;font-size:13px}.district-panel{padding:24px;border-radius:24px;background:linear-gradient(145deg,#10295e,#19499e 65%,#2468f2);color:#fff;box-shadow:0 26px 66px rgba(24,70,164,.22)}.district-panel small{color:rgba(255,255,255,.68)}.district-panel h2{font-size:24px;margin:7px 0 16px}.district-panel-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.district-panel-card{padding:16px;border-radius:16px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.14)}.district-panel-card b{display:block;font-size:16px}.district-panel-card span{font-size:12px;color:rgba(255,255,255,.7)}
.district-main{padding:64px 0 88px}.district-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:32px;align-items:start}.district-section{padding:30px 0;border-bottom:1px solid var(--d-line)}.district-section:first-child{padding-top:0}.district-section h2{font-size:31px;margin:0 0 14px;letter-spacing:-.02em}.district-section p{font-size:16px;line-height:1.9;color:var(--d-muted);margin:0}.district-section p+p{margin-top:12px}.district-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:18px}.district-card{padding:20px;border:1px solid var(--d-line);border-radius:18px;background:#fff;box-shadow:0 9px 25px rgba(27,55,104,.05)}.district-card b{display:block;margin-bottom:7px}.district-card p,.district-card span{font-size:14px;line-height:1.75;color:var(--d-muted)}.district-service-card{display:flex;flex-direction:column;min-height:275px}.district-service-card .go{margin-top:auto;padding-top:18px;color:var(--d-blue);font-weight:800}.district-list{display:grid;gap:9px;margin:18px 0 0;padding:0;list-style:none}.district-list li{padding:13px 15px 13px 44px;background:var(--d-bg);border-radius:13px;position:relative;color:#40506b}.district-list li:before{content:"✓";position:absolute;left:15px;top:12px;width:21px;height:21px;display:grid;place-items:center;border-radius:50%;background:#e5edff;color:var(--d-blue);font-weight:800}.district-warning{padding:17px 19px;border-radius:15px;background:#fff8e9;border:1px solid #f0d69d;color:#815a18;margin-top:18px;font-size:14px;line-height:1.75}.district-compare{overflow:auto;margin-top:18px}.district-compare table{width:100%;border-collapse:collapse;min-width:620px}.district-compare th,.district-compare td{padding:14px;border:1px solid var(--d-line);text-align:left;vertical-align:top}.district-compare th{background:var(--d-bg);font-size:14px}.district-compare td{font-size:14px;color:#4f5d74;line-height:1.65}.district-faq{display:grid;gap:10px;margin-top:17px}.district-faq details{border:1px solid var(--d-line);border-radius:14px;overflow:hidden}.district-faq summary{padding:16px 18px;font-weight:750;cursor:pointer;list-style:none}.district-faq summary:after{content:"＋";float:right;color:#8792a7}.district-faq details[open] summary:after{content:"－"}.district-faq details p{padding:0 18px 17px}.district-aside{position:sticky;top:96px}.district-aside-box{padding:21px;border:1px solid var(--d-line);border-radius:19px;background:#fff;box-shadow:var(--d-shadow)}.district-aside-box+.district-aside-box{margin-top:15px}.district-aside-box h3{margin:0 0 12px;font-size:17px}.district-aside-box a{display:block;padding:10px 0;border-bottom:1px solid #edf1f6;color:#40506b;font-size:14px}.district-aside-box a:last-child{border-bottom:0}.district-aside-box a:hover{color:var(--d-blue)}.district-meta{font-size:13px;color:var(--d-muted);line-height:1.75}.district-cta{padding:27px;border-radius:22px;background:linear-gradient(120deg,#153570,#2468f2 70%,#1cb8cc);color:#fff;margin-top:28px}.district-cta h3{font-size:23px;margin:0 0 8px}.district-cta p{color:rgba(255,255,255,.74)}.district-cta a{display:inline-flex;margin-top:17px;padding:11px 17px;border-radius:11px;background:#fff;color:var(--d-blue);font-weight:800}
.district-link-module{margin-top:26px;padding:25px;border:1px solid #e6ebf3;border-radius:22px;background:#f8faff}.district-link-module h3{font-size:22px;margin:0 0 8px}.district-link-module>p{color:#68758d;margin:0 0 18px;line-height:1.75}.district-link-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.district-link-item{display:block;padding:16px;border-radius:15px;background:#fff;border:1px solid #e6ebf3;transition:.2s}.district-link-item:hover{transform:translateY(-3px);border-color:#cbd9f5;box-shadow:0 10px 24px rgba(27,55,104,.08)}.district-link-item b{display:block;margin-bottom:5px}.district-link-item span{font-size:13px;color:#68758d}
@media(max-width:980px){.district-hero-grid,.district-layout{grid-template-columns:1fr}.district-aside{position:static}.district-link-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:660px){.district-hero{padding:50px 0}.district-hero h1{font-size:38px}.district-grid,.district-panel-grid,.district-link-grid{grid-template-columns:1fr}.district-section h2{font-size:27px}}

/* extensible regional service navigation */
.district-link-item .district-entry{display:block;margin-top:6px;color:#6f7e98;font-size:14px}
.district-service-note{margin-top:14px;padding:14px 16px;border-radius:14px;background:#f7f9fd;color:#697792;font-size:14px;line-height:1.7}
.district-card.is-future{border-style:dashed;background:#fafbfe}
.district-card.is-future .go{color:#8a96aa}
