:root{--fg:#1d2433;--mute:#5b6577;--bg:#f7f8fa;--card:#fff;--acc:#2f6fdb;--line:#e3e7ee}
*{box-sizing:border-box}body{margin:0;font:16px/1.65 -apple-system,"Hiragino Sans","Noto Sans JP","Segoe UI",sans-serif;color:var(--fg);background:var(--bg)}
a{color:var(--acc);text-decoration:none}header,footer{background:var(--card);border-bottom:1px solid var(--line)}footer{border-top:1px solid var(--line);border-bottom:0;color:var(--mute);font-size:14px}
.wrap{max-width:960px;margin:0 auto;padding:0 20px}.nav{display:flex;justify-content:space-between;align-items:center;height:64px}.logo{font-weight:700;color:var(--fg)}.nav nav a{margin-left:22px;color:var(--mute)}
.hero{padding:72px 0 48px}.hero h1{font-size:34px;line-height:1.3;margin:0 0 14px}.hero p{color:var(--mute);max-width:620px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin:12px 0 56px}.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:22px}.card h3{margin:0 0 6px;font-size:17px}.card p{margin:0;color:var(--mute);font-size:15px}
section h2{font-size:22px;margin:0 0 14px}footer .wrap{padding:22px 20px}
