/* IROHAHOME 問い合わせフォーム — 市場最高水準デザイン */
#cpro{ --ink:#2b2622; --sub:#8a8076; --bronze:#9a7f63; --bronze-d:#7d6450; --paper:#faf8f5; --line:#e6ded3; --ok:#2e6b4f;
  max-width:760px; margin:0 auto; padding:8px 20px 80px; font-family:"Noto Sans JP",sans-serif; color:var(--ink);
  -webkit-font-smoothing:antialiased; box-sizing:border-box; }
#cpro *{ box-sizing:border-box; }
#cpro .cp-head{ text-align:center; padding:24px 0 8px; }
#cpro .cp-kicker{ font-family:"Cormorant Garamond",serif; letter-spacing:.34em; color:var(--bronze); font-size:15px; text-transform:uppercase; }
#cpro h2.cp-title{ font-family:"Noto Serif JP",serif !important; font-weight:500 !important; font-size:clamp(28px,4.4vw,40px) !important; line-height:1.4 !important; margin:10px 0 14px !important; color:var(--ink) !important; letter-spacing:.04em; }
#cpro .cp-lead{ font-size:17px; line-height:2; color:var(--sub); }
/* trust strip */
#cpro .cp-trust{ display:flex; gap:10px; justify-content:center; flex-wrap:wrap; margin:22px 0 6px; }
#cpro .cp-trust span{ background:#fff; border:1px solid var(--line); border-radius:999px; padding:9px 18px; font-size:14px; color:var(--ink); }
#cpro .cp-trust b{ color:var(--bronze); font-weight:600; }
/* quick contact */
#cpro .cp-quick{ display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:26px 0 8px; }
#cpro .cp-quick a{ display:flex; flex-direction:column; align-items:center; gap:4px; padding:20px; border-radius:12px; text-decoration:none; transition:.25s; }
#cpro .cp-quick .cp-line{ background:#06C755; color:#fff; }
#cpro .cp-quick .cp-tel{ background:#fff; color:var(--ink); border:1px solid var(--line); }
#cpro .cp-quick a:hover{ transform:translateY(-2px); box-shadow:0 8px 22px rgba(0,0,0,.08); }
#cpro .cp-quick .cp-sm{ font-size:12.5px; opacity:.8; }
#cpro .cp-quick .cp-big{ font-size:19px; font-weight:700; letter-spacing:.04em; }
#cpro .cp-or{ text-align:center; color:var(--sub); font-size:14px; margin:30px 0 22px; position:relative; }
#cpro .cp-or:before,#cpro .cp-or:after{ content:""; position:absolute; top:50%; width:38%; height:1px; background:var(--line); }
#cpro .cp-or:before{ left:0; } #cpro .cp-or:after{ right:0; }
/* fields */
#cpro .cp-field{ margin:26px 0; }
#cpro .cp-label{ display:block; font-size:16px; font-weight:600; margin-bottom:12px; letter-spacing:.03em; }
#cpro .cp-label .cp-req{ color:var(--bronze); font-size:12px; margin-left:8px; font-weight:500; }
#cpro .cp-label .cp-opt{ color:var(--sub); font-size:12px; margin-left:8px; font-weight:400; }
/* choice chips */
#cpro .cp-chips{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
#cpro .cp-chip{ position:relative; }
#cpro .cp-chip input{ position:absolute; opacity:0; pointer-events:none; }
#cpro .cp-chip label{ display:block; padding:18px 18px; border:1.5px solid var(--line); border-radius:12px; background:#fff; cursor:pointer; font-size:15.5px; line-height:1.5; transition:.2s; }
#cpro .cp-chip label:hover{ border-color:var(--bronze); }
#cpro .cp-chip input:checked + label{ border-color:var(--bronze); background:#f6f1ea; box-shadow:0 0 0 1px var(--bronze) inset; }
#cpro .cp-chip .cp-chip-sub{ display:block; font-size:12.5px; color:var(--sub); margin-top:4px; }
/* inputs */
#cpro .cp-row{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
#cpro input.cp-in, #cpro textarea.cp-in{ width:100%; border:1.5px solid var(--line); border-radius:10px; background:#fff;
  padding:16px 16px; font-size:16px; font-family:inherit; color:var(--ink); transition:.2s; }
#cpro input.cp-in:focus, #cpro textarea.cp-in:focus{ border-color:var(--bronze); outline:none; box-shadow:0 0 0 3px rgba(154,127,99,.12); }
#cpro input.cp-in::placeholder, #cpro textarea.cp-in::placeholder{ color:#bcb2a7; }
#cpro textarea.cp-in{ min-height:130px; resize:vertical; line-height:1.8; }
/* submit */
#cpro .cp-submit{ width:100%; border:none; border-radius:12px; background:var(--bronze); color:#fff; font-family:"Noto Serif JP",serif;
  font-size:19px; font-weight:500; letter-spacing:.1em; padding:22px; margin-top:14px; cursor:pointer; transition:.25s; }
#cpro .cp-submit:hover{ background:var(--bronze-d); transform:translateY(-2px); box-shadow:0 12px 30px rgba(154,127,99,.3); }
#cpro .cp-submit:disabled{ opacity:.6; cursor:default; transform:none; box-shadow:none; }
#cpro .cp-note{ text-align:center; font-size:13px; color:var(--sub); margin-top:16px; line-height:1.8; }
#cpro .cp-err{ background:#fbeaea; color:#a33; border-radius:10px; padding:14px; text-align:center; font-size:15px; margin:14px 0; }
#cpro .cp-done{ text-align:center; padding:60px 24px; }
#cpro .cp-done .cp-check{ width:64px; height:64px; border-radius:50%; background:#f6f1ea; color:var(--bronze); font-size:32px; display:flex; align-items:center; justify-content:center; margin:0 auto 22px; }
#cpro .cp-done h3{ font-family:"Noto Serif JP",serif; font-size:26px; font-weight:500; margin-bottom:14px; }
#cpro .cp-done p{ font-size:16px; line-height:2; color:var(--sub); }
@media(max-width:600px){
  #cpro{ padding:4px 16px 64px; }
  #cpro .cp-chips{ grid-template-columns:1fr; }
  #cpro .cp-row{ grid-template-columns:1fr; gap:0; }
  #cpro .cp-row .cp-field{ margin:18px 0; }
  #cpro .cp-quick{ grid-template-columns:1fr; }
  #cpro .cp-lead{ font-size:15.5px; }
}
