*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: "Inter", "Noto Sans JP", "Hiragino Sans", sans-serif; color: #1b1f2e; background: #f5f6fa; line-height: 1.85; -webkit-font-smoothing: antialiased; }
header { background: #fff; border-bottom: 1px solid #e4e7ef; }
header a { display: inline-flex; align-items: center; gap: 10px; font-weight: 800; font-size: 18px; color: #1b1f2e; text-decoration: none; padding: 16px 0; }
.wrap { max-width: 820px; margin: 0 auto; padding: 0 16px; }
main { background: #fff; border: 1px solid #e4e7ef; border-radius: 16px; padding: 40px; margin: 32px auto 48px; }
h1 { font-size: 26px; margin-bottom: 8px; }
.updated { color: #8c93a6; font-size: 13px; margin-bottom: 28px; }
h2 { font-size: 17px; margin: 28px 0 8px; }
p, li { font-size: 15px; color: #3a4055; }
ol, ul { padding-left: 1.4em; display: flex; flex-direction: column; gap: 4px; }
table { width: 100%; border-collapse: collapse; font-size: 15px; }
th, td { text-align: left; vertical-align: top; padding: 14px 12px; border-bottom: 1px solid #e4e7ef; }
th { width: 30%; background: #f8f9fc; font-weight: 700; }
.ph { background: #fff4e0; color: #9a5000; padding: 0 4px; border-radius: 4px; }
footer { text-align: center; font-size: 13px; color: #8c93a6; padding-bottom: 40px; }
footer a { color: #5b6275; margin: 0 8px; }
@media (max-width: 640px) { main { padding: 24px 18px; } th { width: 38%; } }
