/* ============================================================
   お問い合わせページ — contact.html のインラインスタイルを外部化
   ============================================================ */
body{background:#fff}
.contact{max-width:780px;margin:0 auto;padding:clamp(120px,18vh,190px) clamp(24px,6vw,40px) clamp(80px,12vh,140px)}
.contact__label{font-family:var(--latin);letter-spacing:.4em;font-size:12px;color:var(--gold);text-transform:uppercase;margin-bottom:18px}
.contact h1{font-family:var(--serif);font-weight:600;font-size:clamp(38px,6.4vw,72px);letter-spacing:.06em;color:var(--ink);line-height:1.2}
.contact__lead{margin-top:22px;font-size:15px;line-height:2.1;color:var(--ink-soft);max-width:34em}
.cform{margin-top:clamp(44px,7vh,72px);display:flex;flex-direction:column;gap:clamp(26px,4vh,38px)}
.cform .row2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,4vw,40px)}
.field{display:flex;flex-direction:column;gap:10px}
.field label{font-family:var(--sans);font-weight:500;font-size:13px;letter-spacing:.08em;color:var(--ink)}
.field label .req{color:var(--cyan);margin-left:3px}
.field input,.field textarea{font-family:var(--sans);font-weight:400;font-size:16px;color:var(--ink);
  background:transparent;border:none;border-bottom:1px solid rgba(20,22,26,.28);padding:9px 2px;transition:border-color .3s}
.field textarea{resize:vertical;min-height:120px;line-height:1.8}
.field input:focus,.field textarea:focus{outline:none;border-bottom-color:var(--ink)}
.field input::placeholder,.field textarea::placeholder{color:rgba(20,22,26,.32)}
.field.invalid input,.field.invalid textarea{border-bottom-color:#d8483f}
.field .err{font-size:12px;color:#d8483f;letter-spacing:.04em;min-height:1em;display:none}
.field.invalid .err{display:block}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.cform__submit{margin-top:8px}
.btn-send{font-family:var(--sans);font-weight:600;font-size:15px;letter-spacing:.14em;color:#fff;background:var(--ink);
  border:none;border-radius:40px;padding:16px 52px;cursor:pointer;transition:background .3s,transform .3s}
.btn-send:hover{background:#000;transform:translateY(-1px)}
.btn-send:disabled{opacity:.5;cursor:default;transform:none}
.cform__status{margin-top:20px;font-size:14px;letter-spacing:.04em;line-height:1.8;display:none}
.cform__status.ok{display:block;color:#1c7a4f}
.cform__status.ng{display:block;color:#d8483f}
@media(max-width:560px){
  .cform .row2{grid-template-columns:1fr;gap:clamp(26px,4vh,38px)}
}
