/* ==========================================================================
   teiki-style.css
   定期便のご案内ページ（page-teiki.php）専用スタイル
   デザイントークン：ネイビー #004183／コーラル #C63031
   フォント：Zen Old Mincho（見出し）／Zen Kaku Gothic New（本文）
   faq-style.css / guarantee-style.css の構成に準拠
   2026-11-01新規作成
   ========================================================================== */

.tk-page {
  --tk-navy: #004183;
  --tk-coral: #C63031;
  --tk-bg-soft: #F7F9FB;
  --tk-text: #262626;
  --tk-border: #E5E9ED;
  font-family: "Zen Kaku Gothic New", sans-serif;
  color: var(--tk-text);
  line-height: 1.9;
}
.tk-page h1,
.tk-page h2 {
  font-family: "Zen Old Mincho", serif;
  color: var(--tk-navy);
}
.tk-hero__inner,
.tk-inner {
  max-width: 880px;
  margin: 0 auto;
  padding: 0 24px;
}

/* ---------- ヒーロー ---------- */
.tk-hero {
  background: linear-gradient(180deg, #EAF4FF 0%, #fff 100%);
  padding: 88px 0;
  min-height: 300px;
  display: flex;
  align-items: center;
  text-align: center;
}
.tk-hero__inner { width: 100%; }
.tk-hero__eyebrow {
  color: var(--tk-navy);
  font-weight: 700;
  font-size: 0.92rem;
  letter-spacing: 0.12em;
  margin: 0 0 16px;
}
.tk-hero__title { font-size: 2rem; margin: 0 0 14px; }
.tk-hero__sub { font-size: 1rem; color: #555; margin: 0; }

/* ---------- 共通セクション ---------- */
.tk-section { padding: 64px 0; }
.tk-section--soft { background: var(--tk-bg-soft); }
.tk-title {
  font-size: 1.6rem;
  text-align: center;
  margin: 0 0 32px;
}
.tk-lead { text-align: center; margin: 0 0 28px; color: #444; }
.tk-note { margin: 20px 0 0; font-size: 0.9rem; color: #666; text-align: center; }

/* ---------- 3つのポイント ---------- */
.tk-points {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.tk-points__item {
  background: #fff;
  border: 1px solid var(--tk-border);
  border-top: 4px solid var(--tk-coral);
  border-radius: 12px;
  padding: 22px 20px;
  text-align: center;
}
.tk-points__label { margin: 0; font-size: 0.9rem; font-weight: 700; color: #555; }
.tk-points__main {
  margin: 6px 0 8px;
  font-family: "Zen Old Mincho", serif;
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--tk-navy);
  line-height: 1.4;
}
.tk-points__desc { margin: 0; font-size: 0.95rem; color: #555; line-height: 1.8; }

/* ---------- 確認事項 ---------- */
.tk-check {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.tk-check li {
  background: #fff;
  border: 1px solid var(--tk-border);
  border-left: 4px solid var(--tk-navy);
  border-radius: 8px;
  padding: 16px 20px;
  font-size: 1rem;
}
.tk-check strong { color: var(--tk-navy); }
.tk-check a { color: var(--tk-navy); text-decoration: underline; }

/* ---------- 対象製品の表 ---------- */
.tk-table-wrap { overflow-x: auto; }
.tk-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 1rem;
  background: #fff;
}
.tk-table th,
.tk-table td {
  border: 1px solid var(--tk-border);
  padding: 14px 16px;
  text-align: left;
  vertical-align: middle;
}
.tk-table thead th { background: var(--tk-bg-soft); color: var(--tk-navy); font-size: 0.92rem; }
.tk-table tbody th { font-weight: 700; }
.tk-table tbody th a { color: var(--tk-navy); text-decoration: none; }
.tk-table tbody th a:hover { text-decoration: underline; }
.tk-table__btn {
  display: inline-block;
  background: var(--tk-coral);
  color: #fff;
  font-weight: 700;
  font-size: 0.92rem;
  padding: 8px 18px;
  border-radius: 999px;
  text-decoration: none;
  white-space: nowrap;
}
.tk-table__btn:hover { opacity: 0.85; color: #fff; }

/* ---------- 流れ ---------- */
.tk-steps {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.tk-steps li {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  background: #fff;
  border: 1px solid var(--tk-border);
  border-radius: 10px;
  padding: 16px 20px;
}
.tk-steps__no {
  flex: 0 0 auto;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--tk-navy);
  color: #fff;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}
.tk-steps__head { margin: 0 0 2px; font-weight: 700; color: var(--tk-navy); }
.tk-steps p { margin: 0; }

/* ---------- CTA ---------- */
.tk-cta { text-align: center; margin-top: 36px; }
.tk-cta__button {
  display: inline-block;
  background: var(--tk-coral);
  color: #fff;
  font-weight: 700;
  font-size: 1.2rem;
  padding: 16px 48px;
  border-radius: 999px;
  text-decoration: none;
}
.tk-cta__button:hover { opacity: 0.85; color: #fff; }
.tk-cta__sub { margin: 16px 0 0; font-size: 0.95rem; color: #555; }
.tk-cta__sub a { color: var(--tk-navy); text-decoration: underline; }

/* ---------- スマホ ---------- */
@media (max-width: 767px) {
  .tk-hero { padding: 64px 0; min-height: 240px; }
  .tk-section { padding: 48px 0; }
  .tk-title { font-size: 1.35rem; }
  .tk-points { grid-template-columns: 1fr; }
  .tk-table th,
  .tk-table td { padding: 10px 10px; font-size: 0.92rem; }
  .tk-cta__button { padding: 14px 28px; font-size: 1.05rem; }
}
