:root{--paper:#F6F8FB;--ink:#16213E;--blue:#2748E8;--mark:#FFE15C;--line:#D5DCEA;--soft:#E9EEF8;--white:#fff;--mute:#556083;--err:#C0262D}
*{box-sizing:border-box;margin:0}
body{font-family:"Zen Kaku Gothic New","Hiragino Sans","Yu Gothic",Meiryo,sans-serif;color:var(--ink);background:var(--paper);line-height:1.9;font-size:16px;
background-image:linear-gradient(var(--soft) 1px,transparent 1px),linear-gradient(90deg,var(--soft) 1px,transparent 1px);background-size:32px 32px}
a{color:var(--blue)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
header{background:rgba(246,248,251,.94);border-bottom:1px solid var(--line)}
header .wrap{display:flex;align-items:center;gap:10px;height:58px}
header a{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-weight:900}
header img{height:40px;width:auto;display:block}
.wrap{max-width:680px;margin:0 auto;padding:0 22px}
main{padding:48px 0 72px}
h1{font-size:clamp(24px,5.4vw,34px);line-height:1.5;font-weight:900;margin-bottom:14px}
h2{font-size:19px;margin:30px 0 8px;font-weight:900}
p+p{margin-top:.8em}
.lead{font-weight:700}
.note{font-size:13.5px;color:var(--mute);line-height:1.7}
form{margin-top:28px;background:var(--white);border:2px solid var(--ink);border-radius:10px;padding:24px 22px}
.f{margin-bottom:20px}
label,.lab{display:block;font-weight:700;margin-bottom:4px}
.req{color:var(--err);font-size:13px;margin-left:6px}
input[type=text],input[type=email],input[type=tel],select,textarea{width:100%;font:inherit;padding:11px 12px;border:1.5px solid #8E9BC4;border-radius:6px;background:#fff;color:var(--ink)}
textarea{min-height:130px;resize:vertical}
.chk{display:flex;gap:10px;align-items:flex-start;font-weight:500}
.chk input{margin-top:7px;width:18px;height:18px;flex:none}
.hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.btn{display:inline-block;border:0;cursor:pointer;font:inherit;background:var(--blue);color:#fff;text-decoration:none;font-weight:700;padding:15px 30px;border-radius:6px;box-shadow:0 4px 0 #1A33A8}
.btn:disabled{opacity:.6;cursor:wait}
.btn.full{width:100%}
.err{color:var(--err);font-weight:700;margin-top:14px;min-height:1.5em}
footer{padding:30px 0;text-align:center;font-size:13px;color:var(--mute)}
