/* =========================================================
   お問い合わせ
   ========================================================= */
/* ---------- TimeRex 予約カレンダー ----------
   埋め込みの高さは --timerex-h で調整する */
.timerex { --timerex-h: 860px; }
.timerex iframe { width: 100%; height: var(--timerex-h); border: 1px solid var(--c-line); background: var(--c-white); }
@media (max-width: 767px) { .timerex { --timerex-h: 1040px; } }
.timerex__pending {
  display: grid; justify-items: center; gap: 10px; text-align: center;
  padding: clamp(40px, 7vw, 80px) 24px;
  border: 1px dashed rgba(124, 96, 56, .45); background: var(--c-pearl); color: var(--c-mute);
}
.timerex__pending-title { font-family: var(--ff-serif); font-size: 22px; letter-spacing: .1em; color: var(--c-ink); }
.timerex__pending-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 20px; }
.timerex__pending-actions .btn { min-width: 220px; }
.is-timerex-ready .timerex__pending { display: none; }
.reserve__note { margin-top: 16px; font-size: 13px; color: var(--c-mute); }

/* ---------- LINE・電話・メール ---------- */
.method-detail__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.method {
  display: flex; flex-direction: column; gap: 14px;
  padding: clamp(28px, 4vw, 44px) clamp(22px, 3vw, 34px);
  background: var(--c-white); border: 1px solid var(--c-line);
}
.method .sec-label { margin-bottom: 0; }
.method__title { font-family: var(--ff-serif); font-weight: 500; font-size: 22px; letter-spacing: .08em; line-height: 1.5; }
.method > p:not(.sec-label) { font-size: 15px; color: var(--c-mute); }
.method .btn { margin-top: auto; }
/* .method > p:not(.sec-label) より詳細度を上げて上書きする */
.method > p.method__tel { font-family: var(--ff-serif); font-size: clamp(26px, 2.6vw, 32px); letter-spacing: .06em; line-height: 1.3; color: var(--c-ink); }
.method > p.method__tel--sub { font-size: 17px; }
.method > p.method__mail { font-size: 16px; word-break: break-all; color: var(--c-ink); }
.method__mail a { border-bottom: 1px solid var(--c-line); }

.method__line { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; margin-top: auto; width: 100%; }
.method__line > div + div { width: 100%; }
/* QRコード画像の配置エリア（公式LINEの開設後に img へ差し替え） */
.method__qr {
  flex: none; width: 112px; height: 112px; display: grid; place-items: center;
  border: 1px dashed rgba(124, 96, 56, .45); font-size: 12px; color: var(--c-mute);
}
.method__line-btn { width: 100%; }
.method__pending { margin-top: 10px; font-size: 13px; color: var(--c-brass); }
.is-line-ready .method__pending { display: none; }
.method-detail__privacy { margin-top: 32px; font-size: 13px; color: var(--c-mute); }
.method-detail__privacy a { border-bottom: 1px solid currentColor; }

@media (max-width: 1023px) { .method-detail__grid { grid-template-columns: 1fr; } }
@media (max-width: 479px) { .method__qr { display: none; } }
