:root{color-scheme:light;--paper:#f7f5ef;--ink:#2a2420;--accent:#8c3a2f;--muted:#6b5e56;--line:#e4d9cf}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,'Hiragino Kaku Gothic ProN','Noto Sans JP',sans-serif;line-height:1.8}
a{color:var(--accent);text-underline-offset:4px}a:hover{color:#5c241c}
header{max-width:1200px;margin:auto;padding:28px 36px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px}
.brand{font-family:'Hiragino Mincho ProN','Yu Mincho',serif;font-size:22px;font-weight:700;text-decoration:none;color:var(--ink);line-height:1.4}
.brand span{display:block;font-size:11px;font-weight:400;letter-spacing:.12em}
nav{display:flex;gap:25px;font-size:13px}nav a{text-decoration:none}
main{max-width:1130px;margin:0 auto;padding:58px 36px 80px}
h1{font-family:'Hiragino Mincho ProN','Yu Mincho',serif;font-size:clamp(28px,4vw,46px);line-height:1.5;margin:12px 0 24px}
h2{font-size:22px;line-height:1.6;margin:28px 0 12px}
.eyebrow{font-size:11px;letter-spacing:.22em;color:var(--accent);font-weight:700}
.lead{font-size:17px;max-width:760px;color:var(--muted)}
.metrics{display:flex;gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:38px 0 28px;padding:22px 0}
.metrics div{flex:1;font-size:12px;color:var(--muted);padding:0 22px;border-right:1px solid var(--line)}
.metrics div:first-child{padding-left:0}.metrics div:last-child{border:0}
.metrics strong{display:block;font-family:Georgia,serif;font-size:34px;color:var(--ink);font-weight:400;line-height:1.3}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.card{display:block;padding:20px;background:#fffdf8;border:1px solid var(--line);border-radius:3px;text-decoration:none;color:var(--ink)}
.card:hover{border-color:var(--accent);background:#fbf3ee}
.card h2{font-size:18px;margin:0 0 6px}.card p{margin:0;font-size:12px;color:var(--muted)}
.notice{padding:18px 22px;background:#f6ebe6;border-left:3px solid #c4a394;font-size:13px;margin:28px 0;color:#5c463e}
.search{margin:28px 0}.search input{width:min(100%,420px);font:inherit;padding:10px 12px;border:1px solid var(--line);border-radius:3px;background:#fffdf8}
#hits{list-style:none;padding:0;margin:10px 0 0}#hits li{padding:6px 0;border-bottom:1px solid var(--line)}
.table-wrap{overflow:auto;background:#fffdf8;border:1px solid var(--line)}
table{border-collapse:collapse;width:100%;font-size:14px;min-width:640px}
caption{text-align:left;padding:14px;color:var(--muted);font-size:12px}
th,td{padding:10px 14px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
thead{background:#f6ebe6}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.links{list-style:none;padding:0}.links li{padding:8px 0;border-bottom:1px solid var(--line)}
.back{font-size:12px}footer{border-top:1px solid var(--line);max-width:1200px;margin:auto;padding:25px 36px;font-size:12px;color:var(--muted)}
@media(max-width:750px){header{align-items:flex-start;flex-direction:column;padding:22px}nav{gap:18px}main{padding:35px 22px 55px}.cards{grid-template-columns:1fr}.metrics{flex-direction:column;gap:16px}.metrics div{border:0;padding:0}.metrics strong{font-size:28px}footer{padding:22px}}
