/* ============================================================
   page-sp.css — 下層固定ページ SP / Tablet ≤ 1000px
============================================================ */

/* ── Page Hero ── */
.page-hero { height: 220px; }
.page-hero-title { font-size: 1.5rem; }
.page-hero-label { font-size: .7rem; }

/* ── Breadcrumb ── */
.breadcrumb-inner {
  padding: 12px 20px;
  font-size: .72rem;
}

/* ── Page Content ── */
.page-content { padding: 48px 0 72px; }
.content-inner { padding: 0 20px; max-width: 100%; }

/* ── アンカーリンク ── */
.c-anchor-links {
  flex-direction: column;
  gap: 8px;
  padding: 20px;
  margin-bottom: 40px;
}

.c-anchor-btn { font-size: .8rem; padding: 10px 16px; }

/* ── セクション間隔 ── */
.content-inner section + section { margin-top: 56px; }

/* ── H2 ── */
.c-h2 { font-size: 1.25rem; padding-left: 16px; margin-bottom: 24px; }

/* ── H3 ── */
.c-h3 { font-size: 1rem; padding: 8px 0 8px 14px; margin: 32px 0 16px; }

/* ── H4 ── */
.c-h4 { font-size: .93rem; margin: 24px 0 12px; }

/* ── リード文 ── */
.c-lead { font-size: .93rem; line-height: 1.9; }

/* ── 通常段落 ── */
.content-inner p { font-size: .88rem; line-height: 1.85; }

/* ── 強調ボックス ── */
.c-em-box { padding: 20px; margin: 20px 0; }
.c-em-box p { font-size: .88rem; line-height: 1.95; }

/* ── 画像＋テキスト ── */
.c-img-text,
.c-img-text--rev {
  flex-direction: column;
  gap: 20px;
}

.c-img-text-img { width: 100%; }

/* ── リスト ── */
.c-list li,
.c-list-ol li { font-size: .88rem; padding-top: 10px; padding-bottom: 10px; }

/* ── Contact Form 7 ── */
.cf7-group { flex-direction: column; }

.cf7-label {
  width: 100%;
  min-height: auto;
  padding: 12px 16px;
  border-right: none;
  border-bottom: 1px solid #ddd;
}

.cf7-input {
  padding: 14px 16px;
  min-height: auto;
}

.wpcf7 input[type="submit"] { max-width: 100%; }

/* ── アーカイブ カテゴリータブ ── */
.archive-tabs { gap: 6px; margin-bottom: 28px; }
.archive-tab { font-size: .78rem; padding: 8px 16px; }

/* ── ページネーション ── */
.archive-pagination .page-numbers li a,
.archive-pagination .page-numbers li span {
  width: 36px;
  height: 36px;
  font-size: .78rem;
}

.archive-pagination .page-numbers li a.prev,
.archive-pagination .page-numbers li a.next {
  width: auto;
  padding: 0 12px;
  font-size: .75rem;
}

/* ── 記事ヘッダー（single） ── */
.single-title { font-size: 1.2rem; }
.single-body p { font-size: .88rem; }

/* ── 強調テキスト バリエーション ── */
.c-quote { padding: 20px 20px 18px 36px; }
.c-quote::before { font-size: 2rem; top: 8px; left: 10px; }
.c-quote p { font-size: .88rem; }

/* ── 全幅画像 ── */
.c-img-full img { aspect-ratio: 16 / 9; }

/* ── 2カラム画像 ── */
.c-img-cols { gap: 12px; }

/* ── テーブル ── */
.c-table { font-size: .82rem; }

.c-table tbody th {
  width: 36%;
  white-space: normal;
  font-size: .78rem;
  padding: 12px 12px;
}

.c-table tbody td { padding: 12px 12px; }

.c-table--head thead th { padding: 12px 8px; font-size: .78rem; }
.c-table--head tbody td { padding: 12px 8px; font-size: .82rem; }

/* ── ページナビ ── */
.c-page-nav {
  flex-direction: column;
  gap: 12px;
  margin-top: 56px;
  padding-top: 28px;
}

.c-page-nav-btn {
  font-size: .8rem;
  padding: 12px 18px;
  justify-content: center;
}

.c-page-nav-btn--next { margin-left: 0; }

/* ─── ≤ 480px ─── */
@media (max-width: 480px) {
  .page-hero { height: 180px; }
  .page-hero-title { font-size: 1.3rem; }
  .content-inner { padding: 0 16px; }
  .c-h2 { font-size: 1.1rem; }
  .c-table { display: block; overflow-x: auto; }
}
