:root { --ink:#2b2b2b; --sub:#6b6b6b; --line:#e6e2da; --bg:#fbfaf7; --accent:#3d6b8c; }
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP",sans-serif; line-height:1.8; }
main { max-width:760px; margin:0 auto; padding:48px 24px 64px; }
header.top { display:flex; align-items:center; gap:16px; margin-bottom:32px; }
header.top img { width:64px; height:64px; border-radius:14px; }
header.top a { color:inherit; text-decoration:none; }
h1 { font-size:28px; margin:0; }
h2 { font-size:19px; margin:40px 0 8px; padding-bottom:4px; border-bottom:1px solid var(--line); }
h3 { font-size:16px; margin:24px 0 4px; }
.sub { color:var(--sub); margin:0; }
.en { color:var(--sub); font-size:14px; }
a { color:var(--accent); }
ul { padding-left:1.4em; }
nav.links { display:flex; gap:20px; flex-wrap:wrap; margin-top:40px; padding-top:16px; border-top:1px solid var(--line); font-size:14px; }
footer { color:var(--sub); font-size:13px; margin-top:24px; }
