.doc{max-width:820px;margin:24px auto 40px;background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow-s);padding:clamp(18px,4vw,36px)}
.doc h1{font-size:clamp(2rem,5vw,2.8rem);font-weight:800;margin-bottom:4px}
.doc .upd{color:var(--muted);font-weight:700;font-size:.85rem;margin:0 0 18px}
.doc h2{font-family:var(--f-body);font-size:1.05rem;font-weight:900;color:var(--navy);margin:22px 0 6px}
.doc p,.doc li{color:#334155;line-height:1.6;font-size:.96rem}
.doc ul{padding-left:20px}
.doc .note{background:#f0fbf8;border:1px solid #c9ede6;border-radius:14px;padding:12px 14px;color:#2f5b55;font-size:.9rem}
.lf label{display:block;margin-bottom:12px}
.lf label span{display:block;font-size:.8rem;font-weight:800;color:#334155;margin-bottom:5px}
.lf input,.lf textarea,.lf select{width:100%;min-height:46px;border:1px solid #cfd8e2;border-radius:12px;padding:10px 13px;font:inherit;font-size:.96rem;background:#fff}
.lf textarea{min-height:110px}
.lf input:focus,.lf textarea:focus,.lf select:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(14,165,160,.14)}
.lf .two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.lf fieldset{border:1px solid #e6edf3;border-radius:16px;padding:14px;margin:0 0 14px}
.lf legend{font-weight:900;color:var(--navy);padding:0 6px}
.lf .go{width:100%;min-height:50px;border:0;border-radius:12px;background:var(--navy);color:#fff;font-weight:900;font-size:1rem}
.lf .err{min-height:18px;color:#b42318;font-weight:700;margin:6px 0}
.lf .radio{display:flex;gap:16px;flex-wrap:wrap}.lf .radio label{display:flex;gap:8px;align-items:center;margin:0;font-weight:700}
.lf .radio input{width:18px;min-height:18px}
@media (max-width:640px){.lf .two{grid-template-columns:1fr}}
