:root{--bg: #f7f5ee;--card: #ffffff;--ink: #1b2631;--muted: #4d5b68;--accent: #0b4f6c;--accent-ink: #ffffff;--accent-soft: #e4eef2;--amber: #e0891b;--amber-ink: #7a4300;--line: #d8d3c4;--focus: #b45f06;--radius: 6px;--font: "Noto Sans JP", "Hiragino Sans", "Yu Gothic UI", "Meiryo", system-ui, sans-serif}@font-face{font-family:Noto Sans JP;font-weight:400;font-display:swap;src:url(/fonts/noto-sans-jp-400.woff2) format("woff2")}@font-face{font-family:Noto Sans JP;font-weight:700;font-display:swap;src:url(/fonts/noto-sans-jp-700.woff2) format("woff2")}*{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.8;overflow-wrap:anywhere}a{color:var(--accent);text-underline-offset:3px}a:hover{color:#083a50}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.skip{position:absolute;left:-999px;top:0;background:var(--accent);color:#fff;padding:8px 14px;z-index:10}.skip:focus{left:8px;top:8px}.wrap{width:100%;max-width:1080px;margin:0 auto;padding:0 16px}h1,h2,h3{line-height:1.4;margin:0}h2{font-size:1.35rem;margin:40px 0 14px;padding-left:12px;border-left:6px solid var(--accent)}h3{font-size:1.08rem;margin:22px 0 8px}p{margin:0 0 1em}.note{color:var(--muted);font-size:.88rem}.num{font-variant-numeric:tabular-nums}.site-header{background:var(--card);border-bottom:1px solid var(--line);position:relative}.site-header:after{content:"";display:block;height:5px;background:linear-gradient(90deg,var(--accent) 0 70%,var(--amber) 70% 100%)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:12px 24px;flex-wrap:wrap;padding-top:10px;padding-bottom:8px}.logo{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}.logo-plate{display:inline-block;min-width:54px;padding:3px 8px 2px;border-top:5px solid var(--accent);border-bottom:5px solid var(--accent);background:#fff;text-align:center;font-weight:700;font-size:.78rem;line-height:1.3;color:var(--ink);outline:1px solid var(--line)}.logo-name{font-weight:700;font-size:1.12rem;display:block;line-height:1.3}.logo-sub{font-size:.75rem;color:var(--muted);display:block;line-height:1.4}.nav{display:flex;flex-wrap:wrap;gap:2px 4px;list-style:none;margin:0;padding:0}.nav a{display:block;padding:10px 12px;text-decoration:none;color:var(--ink);font-weight:700;font-size:.95rem;border-bottom:3px solid transparent;min-height:44px}.nav a:hover,.nav a[aria-current=page]{border-bottom-color:var(--amber);color:var(--accent)}.crumbs{padding-top:12px;padding-bottom:0;font-size:.85rem}.crumbs ol{display:flex;flex-wrap:wrap;list-style:none;margin:0;padding:0;color:var(--muted)}.crumbs li+li:before{content:"›";margin:0 8px}.crumbs a{color:var(--muted)}main{display:block;padding-bottom:56px}.sign{margin:22px 0 18px;background:#fff;border-top:10px solid var(--accent);border-bottom:10px solid var(--accent);outline:1px solid var(--line);padding:14px 20px 12px;display:grid;gap:2px}.sign-kicker{font-size:.82rem;color:var(--muted);font-weight:700;letter-spacing:.04em}.sign h1{font-size:clamp(1.7rem,5.4vw,2.5rem);letter-spacing:.06em}.sign-sub{color:var(--muted);font-size:.95rem}.sign--lead{border-top-color:var(--accent)}.bar{display:block;height:10px;background:#ece7d8;border-radius:2px;overflow:hidden}.bar>i{display:block;height:100%;width:var(--w, 0%);background:var(--amber)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin:18px 0}.stat{background:var(--card);border:1px solid var(--line);border-top:4px solid var(--accent);padding:12px 14px}.stat dt{font-size:.82rem;color:var(--muted);font-weight:700}.stat dd{margin:2px 0 0;font-size:1.55rem;font-weight:700;line-height:1.4}.stat dd small{font-size:.85rem;font-weight:400;color:var(--muted)}.rank{list-style:none;margin:0;padding:0;background:var(--card);border:1px solid var(--line)}.rank>li{display:grid;grid-template-columns:3.2rem 1fr auto;gap:2px 12px;align-items:center;padding:10px 14px;border-top:1px solid var(--line)}.rank>li:first-child{border-top:0}.rank-no{font-weight:700;font-size:1.15rem;color:var(--accent);text-align:right}.rank-name{font-weight:700}.rank-sub{grid-column:2;font-size:.85rem;color:var(--muted);line-height:1.5}.rank-val{grid-row:1;grid-column:3;font-weight:700;text-align:right;white-space:nowrap}.rank-bar{grid-column:2 / 4}.more{margin-top:12px}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;list-style:none;padding:0;margin:0}.cards li a{display:block;background:var(--card);border:1px solid var(--line);padding:10px 14px;text-decoration:none;color:var(--ink);min-height:48px;border-left:5px solid var(--accent)}.cards li a:hover{background:var(--accent-soft)}.cards .c-sub{display:block;font-size:.8rem;color:var(--muted)}.region h3{margin-top:24px}.table-scroll{overflow-x:auto;background:var(--card);border:1px solid var(--line)}table{border-collapse:collapse;width:100%;font-size:.93rem}caption{text-align:left;padding:10px 12px;font-weight:700;background:var(--accent-soft)}th,td{padding:8px 12px;border-top:1px solid var(--line);text-align:left;vertical-align:top}thead th{background:#f0ede2;font-size:.85rem;white-space:nowrap}table.wide{min-width:640px}td.r,th.r{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}tbody tr:nth-child(2n){background:#fbfaf6}.chart{width:100%;height:auto;max-width:720px;background:var(--card);border:1px solid var(--line)}.chart text{font-family:var(--font);font-size:12px;fill:var(--muted)}.chart .ln{fill:none;stroke:var(--accent);stroke-width:2.5}.chart .dot{fill:var(--accent)}.chart .grid{stroke:#e6e1d2;stroke-width:1}.search-box{background:var(--card);border:1px solid var(--line);border-top:4px solid var(--accent);padding:16px;display:grid;gap:12px;margin:18px 0}.search-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}label{display:grid;gap:4px;font-weight:700;font-size:.88rem}input,select{font:inherit;padding:9px 10px;border:1px solid #8b8672;border-radius:var(--radius);background:#fff;color:var(--ink);min-height:44px;width:100%}.btn,button{font:inherit;font-weight:700;background:var(--accent);color:var(--accent-ink);border:0;border-radius:var(--radius);padding:10px 18px;min-height:44px;cursor:pointer;text-decoration:none;display:inline-block}.btn:hover,button:hover{background:#083a50;color:#fff}.btn--ghost{background:#fff;color:var(--accent);border:2px solid var(--accent)}.btn--ghost:hover{background:var(--accent-soft);color:var(--accent)}.result-count{font-weight:700;margin:8px 0}.hero{background:var(--card);border-bottom:1px solid var(--line);padding:8px 0 28px}.hero .sign{margin-top:24px}.hero-lead{max-width:46em;color:var(--ink)}.hero-search{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}.hero-search input{flex:1 1 260px;width:auto}.chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:14px 0 0}.chips a{display:inline-block;padding:8px 14px;border:1px solid var(--line);background:#fff;border-radius:999px;text-decoration:none;min-height:40px}.chips a:hover{background:var(--accent-soft)}.prose{max-width:46em}.prose h1{font-size:1.8rem;margin:28px 0 16px}.prose ul,.prose ol{padding-left:1.4em}.prose li{margin-bottom:.4em}.callout{background:#fff8e8;border:1px solid #e8cf94;border-left:6px solid var(--amber);padding:12px 16px;margin:18px 0;font-size:.93rem}.callout p:last-child{margin-bottom:0}.site-footer{background:#17313f;color:#e8eef1;padding:28px 0 24px}.site-footer a{color:#fff}.footer-inner{display:flex;flex-wrap:wrap;gap:24px 48px;justify-content:space-between}.footer-name{font-weight:700;font-size:1.1rem;margin:0}.footer-links{list-style:none;margin:0;padding:0;display:grid;gap:4px 28px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.footer-links a{display:inline-block;padding:6px 0;min-height:36px}.footer-credit{font-size:.85rem;line-height:1.8;margin:18px 0 0;color:#d3dde2;border-top:1px solid #38566a;padding-top:14px}@media(max-width:640px){.search-row{grid-template-columns:1fr 1fr;gap:8px}.search-box{padding:12px;gap:8px}.rank>li{grid-template-columns:2.4rem 1fr}.rank-val{grid-column:2;grid-row:auto;text-align:left}.rank-sub{grid-column:2}.nav a{padding:10px 8px;font-size:.9rem}h2{font-size:1.2rem}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
