:root { color-scheme: light; font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", system-ui, sans-serif; color: #193042; background: #f3f5f2; }
* { box-sizing: border-box; }
body { margin: 0; }
header { padding: 22px 16px; color: white; background: linear-gradient(130deg, #0f304a, #173f5f); border-bottom: 4px solid #d8a33d; }
header div, main, footer { max-width: 780px; margin: auto; }
header a { color: white; }
header h1 { margin: 12px 0 0; font-family: "Yu Mincho", "Hiragino Mincho ProN", serif; font-size: 25px; }
main { padding: 18px 14px; }
article { padding: 20px; background: #fffdfa; border: 1px solid #e3e8e5; border-radius: 15px; box-shadow: 0 8px 30px rgba(23,63,95,.08); }
h2 { margin: 28px 0 8px; color: #173f5f; font-size: 19px; }
h2:first-of-type { margin-top: 12px; }
p, li, td, th { line-height: 1.85; }
a { color: #176899; overflow-wrap: anywhere; }
.note { padding: 12px 14px; background: #fff5d9; border-left: 4px solid #d8a33d; border-radius: 8px; }
.date { color: #647785; font-size: 13px; }
table { width: 100%; border-collapse: collapse; }
th, td { padding: 10px 7px; border-bottom: 1px solid #d7dfdc; text-align: left; vertical-align: top; }
footer { padding: 8px 16px 30px; color: #647785; font-size: 13px; }
footer nav { display: flex; flex-wrap: wrap; gap: 8px 16px; margin-top: 10px; }
@media (max-width: 520px) { article { padding: 16px; } table { font-size: 13px; } }
