
:root { --ink:#1a2733; --sub:#5a6b7a; --line:#dde4ea; --accent:#1856a0; --bg:#ffffff; --bg2:#f5f8fa; }
* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif; color:var(--ink); background:var(--bg); line-height:1.7; }
header { border-bottom:3px solid var(--accent); background:var(--bg); }
.wrap { max-width:960px; margin:0 auto; padding:0 16px; }
header .wrap { display:flex; align-items:baseline; gap:12px; padding-top:14px; padding-bottom:14px; }
.logo { font-size:1.3rem; font-weight:700; color:var(--accent); text-decoration:none; }
.tagline { font-size:.78rem; color:var(--sub); }
main { padding:28px 0 48px; }
h1 { font-size:1.35rem; margin-bottom:8px; }
h2 { font-size:1.1rem; margin:28px 0 10px; padding-left:10px; border-left:4px solid var(--accent); }
.meta { font-size:.82rem; color:var(--sub); margin-bottom:18px; }
.note { background:var(--bg2); border:1px solid var(--line); border-radius:6px; padding:12px 14px; font-size:.86rem; margin:14px 0; }
table { width:100%; border-collapse:collapse; font-size:.88rem; margin:10px 0 22px; }
th, td { border:1px solid var(--line); padding:7px 9px; text-align:left; vertical-align:top; }
th { background:var(--bg2); font-weight:600; white-space:nowrap; }
tr:nth-child(even) td { background:#fbfcfd; }
a { color:var(--accent); }
.kunav { display:flex; flex-wrap:wrap; gap:8px; margin:14px 0 6px; }
.kunav a { display:inline-block; padding:5px 12px; border:1px solid var(--line); border-radius:99px; font-size:.85rem; text-decoration:none; background:var(--bg); }
.kunav a:hover { background:var(--bg2); }
.cards { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:14px; margin:18px 0; }
.card { border:1px solid var(--line); border-radius:8px; padding:16px; text-decoration:none; color:var(--ink); background:var(--bg); }
.card:hover { border-color:var(--accent); }
.card b { color:var(--accent); }
.card p { font-size:.83rem; color:var(--sub); margin-top:6px; }
footer { border-top:1px solid var(--line); padding:20px 0 40px; font-size:.78rem; color:var(--sub); }
footer p { margin-bottom:6px; }
.crumb { font-size:.8rem; color:var(--sub); margin-bottom:14px; }
.crumb a { color:var(--sub); }
@media (max-width:600px){ table{font-size:.8rem;} th,td{padding:5px 6px;} }
