/* ============================================================
   contact.css — お問い合わせページ専用 (page-contact.php)
   ============================================================ */
.contact-wrap{
  max-width:820px;margin:0 auto;
  background:var(--paper);
  padding:80px 60px;
  border:1px solid var(--line);
  position:relative;
}
.contact-wrap::before,.contact-wrap::after{
  content:"";position:absolute;
  width:30px;height:30px;
  border:1px solid var(--copper);
}
.contact-wrap::before{top:12px;left:12px;border-right:none;border-bottom:none}
.contact-wrap::after{bottom:12px;right:12px;border-left:none;border-top:none}
.contact-lead{
  font-family:"Shippori Mincho",serif;
  text-align:center;color:var(--ink);
  margin-bottom:48px;font-size:14px;line-height:2;
}
.form-group{margin-bottom:28px}
.form-label{
  display:block;
  font-family:"Inter",sans-serif;
  font-size:11px;font-weight:700;
  margin-bottom:10px;letter-spacing:.2em;
  color:var(--sumi);
}
.form-label .req{
  font-family:"Shippori Mincho",serif;
  color:var(--copper);font-size:10px;
  margin-left:10px;letter-spacing:.1em;
  padding:2px 8px;background:rgba(160,74,42,.12);
}
.form-input,.form-select,.form-textarea{
  width:100%;padding:14px 16px;
  background:var(--paper-2);
  border:1px solid var(--line-soft);
  color:var(--sumi);
  font-family:"Shippori Mincho",serif;
  font-size:14px;
  transition:border-color .25s,background .25s;
}
.form-input:focus,.form-select:focus,.form-textarea:focus{
  outline:none;border-color:var(--copper);background:var(--paper);
}
.form-textarea{resize:vertical;min-height:140px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.form-check{
  display:flex;align-items:center;gap:12px;
  justify-content:center;
  margin:36px 0;
  font-family:"Shippori Mincho",serif;
  font-size:13px;
}
.form-submit{
  display:flex;align-items:center;justify-content:center;gap:14px;
  width:100%;
  padding:20px;
  background:var(--sumi);
  color:var(--paper);
  font-family:"Inter",sans-serif;
  font-size:12px;font-weight:700;letter-spacing:.3em;
  position:relative;
  transition:background .25s;
  cursor:pointer;
}
.form-submit::before{
  content:"";position:absolute;inset:4px;
  border:1px solid var(--gold);
  transition:inset .25s;
}
.form-submit:hover{background:var(--copper)}
.form-submit:hover::before{inset:6px}

/* ============ Contact Form 7 用の上書き ============ */
.wpcf7 .form-row:last-of-type{margin-bottom:0}
.wpcf7 .form-check{margin:0 0 28px}
.wpcf7-form-control-wrap{display:block}
.wpcf7-not-valid-tip{
  display:block;
  font-family:"Inter",sans-serif;
  font-size:11px;letter-spacing:.05em;
  color:var(--copper);
  margin-top:8px;
}
.wpcf7-response-output{
  margin-top:32px!important;
  padding:16px 20px;
  border:1px solid var(--line-soft);
  font-family:"Shippori Mincho",serif;
  font-size:13px;color:var(--ink);
  background:var(--paper-2);
}
.wpcf7-form.invalid .wpcf7-response-output{border-color:var(--copper);color:var(--copper-deep)}
.wpcf7-form.sent .wpcf7-response-output{border-color:var(--sumi);color:var(--sumi)}
.wpcf7-spinner{margin-left:12px}
.wpcf7 [type="submit"]{width:100%}
