:root{--blue:#1554c0;--ink:#13233a;--mut:#5b6b80;--line:#dde4ee;--bg:#f5f8fc}
*{box-sizing:border-box}body{margin:0;font:16px/1.55 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:#fff}
a{color:var(--blue)}header{border-bottom:1px solid var(--line);background:#fff}
.wrap{max-width:1040px;margin:0 auto;padding:0 20px}nav{display:flex;align-items:center;gap:20px;height:62px}
.logo{font-weight:800;font-size:19px;color:var(--ink);text-decoration:none}.logo span{color:var(--blue)}nav .sp{flex:1}
.btn{display:inline-block;background:var(--blue);color:#fff;padding:11px 18px;border-radius:7px;text-decoration:none;font-weight:600;border:0;font:inherit;cursor:pointer}
.btn.o{background:#fff;color:var(--blue);border:1px solid var(--blue)}
.hero{background:var(--bg);padding:64px 0 56px;border-bottom:1px solid var(--line)}.hero h1{font-size:42px;line-height:1.15;margin:0 0 14px;max-width:760px}
.hero p{font-size:19px;color:var(--mut);max-width:680px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:40px 0}
.card{border:1px solid var(--line);border-radius:10px;padding:18px;background:#fff}.card b{display:block;margin-bottom:4px}.n{color:var(--blue);font-weight:800}
section{padding:40px 0}h2{font-size:26px;margin:0 0 14px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.note{background:#fff8eb;border:1px solid #f1cf91;border-radius:8px;padding:10px 14px;font-size:14px}
footer{border-top:1px solid var(--line);padding:24px 0;color:var(--mut);font-size:14px;margin-top:30px}
label{display:block;margin-top:14px;font-weight:600}input,textarea,select{width:100%;padding:10px;border:1px solid #cfd8e3;border-radius:7px;font:inherit}
.legal h2{font-size:20px;margin-top:28px}
@media(max-width:800px){.steps,.grid3{grid-template-columns:1fr}.hero h1{font-size:32px}}
@media(max-width:700px){nav{flex-wrap:wrap;height:auto;padding:10px 0;gap:8px 14px;font-size:15px}nav .logo{flex-basis:100%}nav .sp{display:none}nav .btn{padding:8px 12px}}
.privacy-box{background:#f1f6ff;border:1px solid #cfe0fb;border-radius:14px;padding:22px 22px 14px;margin:28px 0}.privacy-box h2{margin-top:0}.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 20px}.pgrid div{font-size:15px}.pgrid b{display:block;color:#1554c0}.pfine{font-size:13px;color:var(--mut);margin-top:14px}@media(max-width:820px){.pgrid{grid-template-columns:1fr}}
