:root { --bg:#161d36; --surface:#242e52; --text:#f4f1e8; --sub:#a9b6d6; --accent:#ff8a3d;
        --border:#34406c; }
* { box-sizing:border-box; margin:0; padding:0; }
body { background:var(--bg); color:var(--text); line-height:1.8;
       font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP","Segoe UI",sans-serif; }
a { color:#ffb37a; }
.wrap { max-width:760px; margin:0 auto; padding:32px 20px 80px; }
.nav { display:flex; justify-content:space-between; align-items:baseline; margin-bottom:24px; font-size:14px; }
.nav a { text-decoration:none; }
.nav a:hover { text-decoration:underline; }
h1 { font-size:26px; line-height:1.4; margin-bottom:20px; }
h2 { font-size:20px; margin:40px 0 12px; padding-bottom:6px; border-bottom:1px solid var(--border); }
h3 { font-size:16px; margin:24px 0 8px; }
p { margin:12px 0; }
ul { margin:12px 0 12px 22px; }
li { margin:6px 0; }
.hero { text-align:center; padding:48px 0 24px; }
.hero img { width:112px; height:112px; border-radius:24px; box-shadow:0 4px 12px rgba(119,110,101,.14); }
.hero h1 { font-size:34px; margin:20px 0 4px; letter-spacing:.02em; }
.hero p { color:var(--sub); font-weight:700; }
.card { background:var(--surface); border:.5px solid var(--border); border-radius:20px; padding:20px 22px;
        margin:16px 0; box-shadow:0 4px 12px rgba(119,110,101,.08); }
.card h2 { border:none; margin:0 0 8px; padding:0; font-size:17px; }
.links { list-style:none; margin:0; }
.links li { border-top:.5px solid var(--border); margin:0; }
.links li:first-child { border-top:none; }
.links a { display:block; padding:12px 0; text-decoration:none; font-weight:700; }
footer { margin-top:40px; color:var(--sub); font-size:13px; text-align:center; }
