/* ============================================================
   お問い合わせ（/contact/）

   ブランドごとに分けず1ページ。電話窓口は「店舗」投稿タイプから出しているので、
   営業時間を直せばここも同時に変わる。

   ★ホバー時の色は必ず自分で指定すること。指定しないと Astra 既定の
     リンク色（青）や白文字が出てトンマナから外れる（/products/ で指摘された）。
   ★入力欄の文字は 16px 未満にしないこと。スマホで勝手に拡大される。
   ============================================================ */

.kb-ct{ padding:clamp(3rem,7vw,5rem) 0 clamp(4rem,9vw,7rem); }
.kb-ct__inner{ max-width:820px; margin:0 auto; padding:0 clamp(1.25rem,4vw,3rem); }

/* ---- 見出し ---- */
.kb-ct__head{ text-align:center; margin-bottom:clamp(2.5rem,6vw,4rem); }
.kb-ct__en{
  display:block; margin-bottom:.9rem;
  font-family:var(--kb-font-en); font-size:.8rem;
  letter-spacing:var(--kb-ls-wide); text-transform:uppercase; color:var(--kb-c-gold);
}
.kb-ct__title{
  margin:0; font-weight:500;
  font-size:clamp(1.4rem,3vw,1.9rem); letter-spacing:.24em; color:var(--kb-text);
}
.kb-ct__h{
  margin:0 0 1.25rem; font-weight:500;
  font-size:clamp(.95rem,2vw,1.1rem); letter-spacing:.16em; color:var(--kb-text);
  padding-bottom:.75rem; border-bottom:1px solid var(--kb-rule);
}
.kb-ct__lead{
  margin:0 0 2rem; font-size:.86rem; line-height:2.2; letter-spacing:.05em; color:var(--kb-text-soft);
}

/* ---- 送信結果 ---- */
.kb-ct__done, .kb-ct__ng{
  margin:0 0 2.5rem; padding:1.1rem 1.4rem; border-radius:2px;
  font-size:.88rem; line-height:1.9; letter-spacing:.04em;
}
.kb-ct__done{ background:#f2f7f3; border:1px solid #cfe3d5; color:#2f6b45; }
.kb-ct__ng{   background:#fdf3f1; border:1px solid #e3b7ad; color:#8f4536; }

/* ---- 電話窓口 ---- */
.kb-ct__desks{ margin-bottom:clamp(3rem,7vw,4.5rem); }
.kb-ct__deskgrid{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:clamp(1.25rem,3vw,2rem);
}
.kb-ct__desk{
  background:var(--kb-c-white); border:1px solid var(--kb-rule); border-radius:2px;
  padding:1.5rem 1.4rem; text-align:center;
}
.kb-ct__deskname{
  margin:0 0 .75rem; font-size:.82rem; letter-spacing:.1em; color:var(--kb-text);
}
.kb-ct__tel{
  display:inline-block; margin-bottom:.75rem;
  font-family:var(--kb-font-en); font-size:1.35rem; letter-spacing:.04em;
  color:var(--kb-c-brown); text-decoration:none;
}
.kb-ct__tel:hover{ color:var(--kb-c-brown); opacity:.75; }
.kb-ct__hours, .kb-ct__closed{
  margin:0; font-size:.74rem; line-height:1.9; letter-spacing:.04em; color:var(--kb-text-mute);
}

/* ---- フォーム ---- */
.kb-ct__field{ margin-bottom:1.5rem; }
.kb-ct__label{
  display:block; margin-bottom:.5rem;
  font-size:.8rem; letter-spacing:.08em; color:var(--kb-text-soft);
}
.kb-ct__req{
  display:inline-block; margin-left:.6rem; padding:.1rem .45rem;
  background:var(--kb-c-brown); color:#fff; border-radius:2px;
  font-size:.64rem; letter-spacing:.06em;
}
.kb-ct__input{
  width:100%; box-sizing:border-box;
  /* 16px を下回るとスマホで画面が勝手に拡大するため、ここは rem にしない */
  font-family:inherit; font-size:16px; line-height:1.8; color:var(--kb-text);
  background:var(--kb-c-white); border:1px solid var(--kb-rule); border-radius:2px;
  padding:.75rem .9rem; transition:border-color .2s;
}
.kb-ct__input:focus{ outline:none; border-color:var(--kb-c-gold); }
.kb-ct__input--area{ min-height:11rem; resize:vertical; }

/* 迷惑送信よけ。読み上げからも外す */
.kb-ct__hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }

.kb-ct__submit{ margin-top:2.5rem; text-align:center; }
.kb-ct__btn{
  appearance:none; cursor:pointer; font:inherit;
  min-width:14rem; min-height:52px; padding:.9rem 2.5rem;
  background:var(--kb-c-brown-deep); color:#fff; border:0; border-radius:2px;
  font-size:.92rem; letter-spacing:.16em;
  transition:background .2s;
}
.kb-ct__btn:hover{ background:#5a463c; color:#fff; }
.kb-ct__privacy{
  margin:1.25rem 0 0; font-size:.74rem; line-height:1.9; color:var(--kb-text-mute);
}
.kb-ct__privacy a{ color:var(--kb-c-brown); }
.kb-ct__privacy a:hover{ color:var(--kb-c-brown); opacity:.75; }

@media (max-width:900px){
  .kb-ct__label{ font-size:14px; }
  .kb-ct__hours, .kb-ct__closed{ font-size:13px; }
  .kb-ct__privacy{ font-size:13px; }
  .kb-ct__btn{ width:100%; }
}
