@charset "UTF-8";

/* ページテーマ（色だけ調整） */
body.page-contact{
  --sys-link:    #276ef1;
  --sys-accent1: #1f4fb5;
  --sys-ink:     #1a2333;
  --panel-bd:     #e7eefc;
  --panel-shadow: 0 10px 26px rgba(39,110,241,.08);
}

/* サブヒーロー */
body.page-contact #hero .container{ text-align:left; }
body.page-contact #hero .hero-title{ text-align:left; }

/* フォームUI */
#contact-form .panel{
  padding: clamp(16px, 2.4vw, 28px);
}
.form-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px 24px;
}
.form-field{ display:flex; flex-direction:column; gap:8px; }
.form-field--full{ grid-column: 1 / -1; }
.form-field label{ font-weight:600; }
.req{
  color: #fff; background: var(--sys-accent1);
  font-size: .75rem; padding: 2px 6px; border-radius: 999px; margin-left: .4em;
}
input[type="text"],
input[type="email"],
input[type="tel"],
select,
textarea{
  width:100%;
  border:1px solid #d6dbe8; border-radius:10px;
  padding: 12px 14px; font-size: 16px; background:#fff;
}
textarea{ resize: vertical; }
.hint{ font-size: .85rem; color:#6a738b; }
.err{
  min-height: 1.2em;
  font-size:.85rem; color:#b42318;
}

/* チェックボックス整形 */
.chk{ display:flex; gap:8px; align-items:flex-start; }
.chk input{ margin-top:.3em; }

/* 送信ボタン */
.form-actions{
  display:flex; align-items:center; gap:16px; margin-top: 12px;
}
.btn{
  appearance: none; border: 0; cursor: pointer;
  background: var(--sys-link); color:#fff; font-weight:700;
  padding: 12px 18px; border-radius: 12px;
  transition: transform .06s ease, box-shadow .2s ease;
}
.btn:disabled{ opacity:.6; cursor:not-allowed; }
.btn:active{ transform: translateY(1px); }
.submit-note{ color:#2b3a55; }

/* SP */
@media (max-width: 760px){
  .form-grid{ grid-template-columns: 1fr; }
}
/* ハニーポット */
.hp-field {
  position: absolute !important;
  left: -9999px !important;
  height: 0 !important;
  overflow: hidden !important;
  visibility: hidden !important;
}