.form-page .form-content{padding:72px clamp(24px,7vw,112px) 110px}.form-page .form-wrap{max-width:980px;margin:0 auto}.form-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 0 42px}.form-step{padding:14px 16px;border:1px solid #d6cfbf;background:#f5f0e6;color:#7b7f78;font-size:12px;letter-spacing:.08em;text-align:center}.form-step strong{display:block;font-family:var(--serif);font-size:18px;letter-spacing:.08em}.form-step.is-current{background:#1f3a2f;color:#fff;border-color:#1f3a2f}.form-intro{display:grid;grid-template-columns:1.25fr .75fr;gap:26px;margin-bottom:44px}.form-note,.form-contact-card{padding:26px 28px;border:1px solid #d8d1c4;background:rgba(255,255,255,.45)}.form-note h2,.form-contact-card h2{margin:0 0 12px;font-family:var(--jpserif);font-size:23px;font-weight:500}.form-note p,.form-note li,.form-contact-card p{font-size:13px;line-height:1.9;color:#555b55}.form-note ul{margin:12px 0 0;padding-left:1.4em}.form-contact-card a{display:inline-flex;margin-top:8px;font-family:var(--serif);font-size:22px;color:var(--green)}.form-box{border-top:1px solid #cfc7b8}.form-row{display:grid;grid-template-columns:220px 1fr;gap:28px;padding:24px 0;border-bottom:1px solid #ded7c9;align-items:start}.form-label{font-size:14px;font-weight:600;line-height:1.7;padding-top:12px}.form-required,.form-optional{display:inline-block;margin-left:8px;padding:2px 7px;font-size:10px;font-weight:600;vertical-align:middle}.form-required{background:#314934;color:#fff}.form-optional{background:#e7e1d5;color:#696d68}.form-control input[type=text],.form-control input[type=email],.form-control input[type=tel],.form-control textarea,.form-control select{width:100%;box-sizing:border-box;border:1px solid #cfc7b8;background:#fffdf8;padding:14px 15px;font:inherit;font-size:15px;color:#173329;border-radius:0}.form-control textarea{min-height:190px;resize:vertical;line-height:1.8}.form-control small{display:block;margin-top:7px;color:#71766f;font-size:11px;line-height:1.6}.form-choice{display:flex;flex-wrap:wrap;gap:12px 24px;padding-top:10px}.form-choice label{display:flex;align-items:center;gap:8px;font-size:14px}.form-choice input{width:18px;height:18px;accent-color:#314934}.form-error{margin:0 0 28px;padding:18px 20px;border-left:4px solid #9c443b;background:#f5e8e5;color:#71352e;font-size:13px;line-height:1.8}.field-error{display:block;margin-top:8px;color:#913f37;font-size:12px}.form-agree{margin:30px 0 0;padding:22px 24px;background:#ece7dc}.form-agree label{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.8}.form-agree input{width:18px;height:18px;margin-top:3px;accent-color:#314934}.form-actions{display:flex;justify-content:center;gap:14px;margin-top:34px}.form-button{appearance:none;border:0;background:#314934;color:#fff;min-width:220px;padding:17px 26px;font:600 13px var(--sans);letter-spacing:.04em;cursor:pointer}.form-button.secondary{background:transparent;color:#314934;border:1px solid #314934}.form-confirm{border-top:1px solid #cfc7b8}.form-confirm-row{display:grid;grid-template-columns:220px 1fr;gap:28px;padding:20px 0;border-bottom:1px solid #ded7c9}.form-confirm-row dt{font-weight:600}.form-confirm-row dd{margin:0;white-space:pre-wrap;line-height:1.8}.form-complete{text-align:center;padding:60px 28px;border:1px solid #d8d1c4;background:rgba(255,255,255,.45)}.form-complete h2{font-family:var(--jpserif);font-size:30px;font-weight:500}.form-complete p{max-width:620px;margin:18px auto 0;font-size:13px;line-height:2}.form-config-warning{margin-top:22px;padding:14px 16px;background:#f1e8d7;color:#66542d;font-size:12px;line-height:1.7}.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.form-page input:focus,.form-page textarea:focus,.form-page select:focus{outline:2px solid #7d8f72;outline-offset:2px}@media(max-width:720px){.form-page .form-content{padding:54px 22px 82px}.form-steps{gap:5px}.form-step{padding:10px 5px;font-size:10px}.form-step strong{font-size:15px}.form-intro{grid-template-columns:1fr}.form-row,.form-confirm-row{grid-template-columns:1fr;gap:10px}.form-label{padding-top:0}.form-actions{flex-direction:column}.form-button{width:100%}.form-note,.form-contact-card{padding:22px}}
