:root { --text:#222; --muted:#666; --accent:#bf0000; --line:#e5e5e5; --bg-soft:#fafafa; }
* { box-sizing: border-box; }
body { margin:0; font-family: -apple-system, "Hiragino Sans", "Noto Sans JP", sans-serif; color:var(--text); line-height:1.8; font-size:17px; }
.pr-bar { background:#f3f3f3; color:var(--muted); font-size:13px; padding:6px 16px; }
.site-header { border-bottom:1px solid var(--line); padding:12px 16px; }
.site-name { font-weight:700; color:var(--text); text-decoration:none; font-size:18px; }
main, .site-nav, .site-footer { max-width:720px; margin:0 auto; padding:0 16px; }
h1 { font-size:26px; line-height:1.4; margin:28px 0 4px; }
h2 { font-size:21px; margin:36px 0 8px; padding-bottom:4px; border-bottom:2px solid var(--line); }
h3 { font-size:18px; margin:24px 0 6px; }
.checked { color:var(--muted); font-size:13px; margin:0 0 20px; }
a { color:#0b57d0; }
.note { background:#fff8e1; border-left:4px solid #f4b400; padding:10px 14px; margin:16px 0; font-size:15px; }
.table-wrap { overflow-x:auto; }
table { border-collapse:collapse; width:100%; font-size:15px; margin:12px 0; }
th, td { border:1px solid var(--line); padding:8px; text-align:left; vertical-align:top; }
th { background:var(--bg-soft); }
li.check { list-style:none; margin-left:-20px; }
.cta { background:var(--bg-soft); border:1px solid var(--line); border-radius:8px; padding:16px; margin:28px 0; text-align:center; }
.cta-button { display:inline-block; background:var(--accent); color:#fff; font-weight:700; text-decoration:none; padding:14px 22px; border-radius:6px; margin-top:8px; }
.cta-note { font-size:13px; color:var(--muted); margin:8px 0 0; }
.banner-placeholder { border:2px dashed #bbb; padding:24px; color:#999; font-size:14px; }
.site-nav { margin-top:48px; border-top:1px solid var(--line); }
.site-nav h2 { border:none; font-size:17px; }
.site-nav ul { padding-left:20px; font-size:15px; }
.site-footer { color:var(--muted); font-size:13px; margin:32px auto; }
.banner { display:block; width:100%; height:auto; border-radius:6px; }
