:root { --ink:#1c1c1e; --sub:#636366; --line:#e5e5ea; --blue:#4a2ef0; --bg:#fff; }
* { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; }
body { margin:0 auto; max-width:680px; padding:40px 20px 32px; background:var(--bg); color:var(--ink); font:16px/1.75 -apple-system,"Hiragino Sans","Noto Sans JP",sans-serif; }
a { color:var(--blue); }
header { padding-bottom:28px; border-bottom:1px solid var(--line); }
header img { display:block; border-radius:16px; margin-bottom:14px; }
h1 { margin:0; font-size:32px; line-height:1.25; }
header.sub a { color:var(--sub); font-size:14px; text-decoration:none; }
header.sub h1 { font-size:26px; margin-top:4px; }
.lead { margin:6px 0 0; color:var(--sub); font-size:17px; }
h2 { margin:32px 0 8px; font-size:18px; }
p { margin:8px 0; }
ul { margin:8px 0; padding-left:1.3em; }
dt { margin-top:14px; font-weight:600; }
dd { margin:0; color:var(--sub); }
footer { margin-top:40px; padding-top:18px; border-top:1px solid var(--line); font-size:14px; }
footer a { margin-right:18px; }
footer p { margin:10px 0 0; color:var(--sub); }
