/* Contact */
.page-lead{margin:10px 0 0;max-width:44em;font-size:15px;line-height:1.8;color:#5A4A3C}

.contact{max-width:860px;margin:0 auto;padding:0 24px 96px;box-sizing:border-box}

.steps{margin:0 0 28px;padding:0;list-style:none;display:flex;gap:8px;counter-reset:step}
.steps li{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 12px;border-radius:999px;background:#EFE6D5;font-size:14px;font-weight:700;color:#6E5D4E;counter-increment:step}
.steps li::before{content:counter(step);font-family:'Lilita One',sans-serif;font-size:16px}
.steps li[aria-current="step"]{background:#3A2A1E;color:#FFFFFF}
.steps li[aria-current="step"]::before{color:#F5B82E}

.form-intro{margin:0 0 24px;font-size:15px;line-height:1.9}
.form-intro a,.form-note a,.form-privacy a{text-decoration:underline;text-underline-offset:3px}

.form-card{display:flex;flex-direction:column;gap:28px;padding:clamp(20px,4vw,44px);background:#FFFDF8;border:1px solid #E6DCCB;border-radius:20px}
/* 入力と確認の切り替え（contact/index.html の JavaScript が hidden を付け外しする） */
.form-fields{display:flex;flex-direction:column;gap:28px}
.form-fields[hidden],.form-intro[hidden]{display:none}

/* スパム対策のダミー項目。display:none はボットに無視されやすいため画面外へ追いやる */
.form-hp{position:absolute;left:-9999px;top:-9999px;width:1px;height:1px;overflow:hidden}

.form-row{margin:0;padding:0;border:0;min-width:0;display:flex;flex-direction:column;gap:10px}
.form-label{padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:15px;font-weight:700}
.form-required{padding:2px 8px;border-radius:4px;background:#A3461A;color:#FFFFFF;font-size:11px;font-weight:700}
.form-hint{font-size:12px;font-weight:500;color:#6E5D4E}
.form-input{width:100%;box-sizing:border-box;min-height:48px;padding:10px 14px;border:1px solid #CBB99D;border-radius:10px;background:#FFFFFF;color:#3A2A1E;font:inherit;font-size:16px}
.form-input:focus{outline:3px solid #F5B82E;outline-offset:1px;border-color:#3A2A1E}
.form-select{appearance:auto}
.form-textarea{min-height:180px;line-height:1.7;resize:vertical}

.form-checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:10px}
.form-check{display:flex;align-items:flex-start;gap:10px;min-height:44px;padding:12px 14px;border:1px solid #E6DCCB;border-radius:10px;background:#FFFFFF;cursor:pointer}
.form-check:hover{border-color:#3A2A1E}
.form-check input{flex:none;width:20px;height:20px;margin:2px 0 0;accent-color:#3A2A1E}
.form-check>span{display:flex;flex-direction:column;gap:2px}
.form-check-title{font-size:15px;font-weight:700;line-height:1.5}
.form-check-desc{font-size:13px;line-height:1.6;color:#5A4A3C}
.form-check-inline{align-self:flex-start;align-items:center;padding:8px 12px;font-size:14px}
.form-check-inline input{margin:0}

.form-error{margin:0;color:#A3461A;font-size:14px;font-weight:700}
.form-error-summary{margin:0 0 24px;padding:16px 20px;border:1px solid #E2B7A6;border-radius:12px;background:#FBEDE8;color:#8E3315;font-size:14px;line-height:1.9}
.form-error-summary ul{margin:8px 0 0;padding-left:1.2em}

.form-privacy{padding:16px 20px;border-radius:10px;background:#F6F1E7;font-size:13px;line-height:1.8;color:#5A4A3C}
.form-consent{align-self:flex-start;font-size:15px;font-weight:700}

.form-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:16px}
.form-submit,.form-back{min-height:52px;padding:0 36px;border-radius:999px;font:inherit;font-size:15px;font-weight:700;cursor:pointer}
.form-submit{border:0;background:#3A2A1E;color:#FFFFFF}
.form-submit:hover{color:#F5B82E}
.form-back{border:1px solid #CBB99D;background:#FFFFFF;color:#3A2A1E}
.form-back:hover{border-color:#3A2A1E}

.confirm{margin:0;border-top:1px solid #EDE4D4}
.confirm>div{display:grid;grid-template-columns:180px 1fr;gap:12px;padding:16px 0;border-bottom:1px solid #EDE4D4}
.confirm dt{font-size:14px;font-weight:700;color:#6E5D4E}
.confirm dd{margin:0;font-size:15px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}
@media (max-width:640px){
  .confirm>div{grid-template-columns:1fr;gap:4px}
}

.form-complete{align-items:center;text-align:center}
.form-complete h2{margin:0;font-size:22px;font-weight:900}
.form-complete p{margin:0;font-size:15px;line-height:2}
.form-complete .form-note{font-size:13px;color:#5A4A3C}
