* { box-sizing: border-box; }
body { margin: 0; font-family: system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif; color:#222; background:#fff; }
.wrap { max-width: 920px; margin: 28px auto; padding: 0 16px; }
h1 { font-size: 1.6rem; margin: 0 0 10px; }
h2 { font-size: 1.1rem; margin: 18px 0 12px; }
h3 { font-size: 1rem; margin: 18px 0 10px; }
.notice { background:#fff3cd; border:1px solid #ffe69c; border-radius:8px; padding:10px 12px; margin:12px 0 22px; }

.block { padding: 4px 0 2px; }
.line { display:flex; align-items:center; gap:16px; margin-bottom:10px; }
.line .label { width: 260px; }
.line .label small { font-weight:600; color:#333; }
.line .field label { font-size:.9rem; color:#666; margin-right:8px; }
.line .field input[type="number"] { width:120px; padding:6px 10px; border:1px solid #ccc; border-radius:6px; }

hr { border:0; border-top:1px solid #e5e5e5; margin:16px 0; }

.contact .grid { display:grid; grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); gap:12px; }
.contact label span { display:block; font-size:.9rem; color:#333; margin-bottom:6px; }
.contact input[type="text"],
.contact input[type="email"],
.contact input[type="tel"] { width:100%; padding:8px 10px; border:1px solid #ccc; border-radius:6px; }

.btn { margin-top:14px; background:#111; color:#fff; border:0; padding:10px 16px; border-radius:8px; cursor:pointer; }
.btn:hover { opacity:.92; }

.hp { position:absolute; left:-9999px; top:-9999px; }
