:root{--beige:#C8BB9B;--beige-dark:#C4AA70;--brown:#6d5a39;--ink:#3f382f;--muted:#73695d;--line:#e4dccb;--bg:#f8f5ef;--danger:#b84b42}
*{box-sizing:border-box}html{font-family:Meiryo,"Hiragino Kaku Gothic ProN",Arial,sans-serif;color:var(--ink);background:var(--bg)}body{margin:0}.contact-page{width:min(920px,calc(100% - 28px));margin:28px auto 50px}.contact-card{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 14px 36px rgba(70,55,30,.12)}.contact-head{padding:28px 30px 24px;text-align:center;background:linear-gradient(135deg,#fff,#faf6ec)}.contact-head__en{display:block;color:#9d8150;font-size:12px;font-weight:700;letter-spacing:.22em}.contact-head h1{margin:7px 0 8px;font-size:30px}.contact-head p{margin:0;color:var(--muted);line-height:1.8}.contact-steps{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.contact-step{padding:11px;text-align:center;color:#9a9185;background:#faf9f6;font-size:13px;font-weight:700}.contact-step.is-current{color:#fff;background:var(--beige-dark)}.contact-body{padding:30px}.contact-row{display:grid;grid-template-columns:210px minmax(0,1fr);gap:22px;padding:16px 0;border-bottom:1px solid #eee9df}.contact-label{font-weight:700}.required{display:inline-block;margin-left:6px;padding:2px 6px;border-radius:999px;color:#fff;background:#a76056;font-size:10px}.optional{color:#999;font-size:11px}.contact-input,.contact-select,.contact-textarea{width:100%;padding:11px 12px;border:1px solid #cfc6b7;border-radius:8px;background:#fff;font:inherit;color:var(--ink)}.contact-input:focus,.contact-select:focus,.contact-textarea:focus{border-color:#a88f5e;box-shadow:0 0 0 3px rgba(200,187,155,.24);outline:0}.contact-textarea{min-height:170px;resize:vertical;line-height:1.7}.contact-datetime{display:grid;grid-template-columns:1fr 1fr;gap:10px}.contact-error{margin:6px 0 0;color:var(--danger);font-size:12px;font-weight:700}.contact-notice{margin:0 0 20px;padding:13px 15px;border-radius:10px;background:#fff8e8;color:#6c5a39;line-height:1.7}.contact-check{display:flex;gap:9px;align-items:flex-start;line-height:1.7}.contact-actions{display:flex;justify-content:center;gap:12px;margin-top:28px}.contact-btn{display:inline-flex;align-items:center;justify-content:center;min-width:190px;padding:13px 22px;border:0;border-radius:999px;background:var(--brown);color:#fff;text-decoration:none;font:inherit;font-weight:700;cursor:pointer;transition:.2s}.contact-btn:hover{background:#8a7142;transform:translateY(-1px)}.contact-btn--sub{background:#9b948a}.contact-table{width:100%;border-collapse:collapse}.contact-table th,.contact-table td{padding:13px 14px;border-bottom:1px solid #eee9df;text-align:left;vertical-align:top;line-height:1.7}.contact-table th{width:210px;background:#faf7f1}.contact-complete{text-align:center;padding:38px 20px}.contact-complete h2{font-size:26px}.contact-small{color:#7d7469;font-size:12px;line-height:1.7}.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:680px){.contact-page{margin-top:14px}.contact-head{padding:22px 17px}.contact-head h1{font-size:24px}.contact-body{padding:18px}.contact-row{grid-template-columns:1fr;gap:8px;padding:13px 0}.contact-datetime{grid-template-columns:1fr}.contact-actions{flex-direction:column}.contact-btn{width:100%}.contact-table th,.contact-table td{display:block;width:100%}.contact-table th{padding-bottom:6px}.contact-table td{padding-top:8px}.contact-step{font-size:11px;padding:9px 4px}}

/* 簡易Formzu再現版 v2 */
.contact-label small{display:block;margin-top:4px;color:#9a9185;font-size:11px;font-weight:400}.contact-row--wide{grid-template-columns:1fr}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.choice-grid--route{grid-template-columns:repeat(2,minmax(0,1fr))}.choice-card{display:flex;align-items:center;gap:9px;min-height:44px;padding:9px 11px;border:1px solid #ded4c3;border-radius:9px;background:#fffdf9;cursor:pointer;line-height:1.5}.choice-card:hover{border-color:#bda878;background:#faf6ec}.choice-card input{width:18px;height:18px;flex:0 0 auto;accent-color:#8a7142}.choice-card:has(input:checked){border-color:#aa8a4f;background:#f7f0df;box-shadow:0 0 0 2px rgba(200,187,155,.18)}.address-grid{display:grid;grid-template-columns:160px 1fr;gap:10px}.contact-input--short{max-width:180px}.contact-table td{word-break:break-word}
@media(max-width:680px){.choice-grid,.choice-grid--route{grid-template-columns:1fr}.address-grid{grid-template-columns:1fr}.choice-card{min-height:42px}}

/* 郵便番号検索 v3 */
.postal-tools{display:flex;gap:8px;align-items:center}.postal-tools .contact-input{max-width:180px}.postal-search-btn{white-space:nowrap;padding:10px 14px;border:1px solid #bda878;border-radius:8px;background:#f7f0df;color:#6d5a39;font-weight:700;cursor:pointer}.postal-search-btn:hover{background:#efe3c8}.postal-status{margin:6px 0 0;color:#7d7469;font-size:12px}.postal-status.is-error{color:#b84b42}@media(max-width:680px){.postal-tools{align-items:stretch}.postal-tools .contact-input{max-width:none}.postal-search-btn{flex:0 0 auto}}
