/* ============================================================
   連載コラム（rensai）専用スタイル 2026-08 追加
   - トップページ3カード / 目次ページ / 記事ページ
   - 1rem ≈ 10px（本テーマのvwベースrem設計に準拠）
   - モバイルファースト、ブレークポイント 768px
   ============================================================ */

:root {
  --rensai-ink: #1d3547;      /* 見出し・深色 */
  --rensai-acier: #35617a;    /* アクセント（スチールブルー） */
  --rensai-gris: #6c7e8c;     /* 補助テキスト */
  --rensai-fil: #e1ebf2;      /* 罫線 */
  --rensai-body: #22333f;     /* 記事本文 */
}

/* ------------------------------------------------------------
   トップページ：連載コラム 3カード
------------------------------------------------------------ */
.sec-rensai {
  padding: 8rem 20px;
  background: linear-gradient(180deg, #fff, #f3f8fd);
}

.sec-rensai__inner {
  margin: 0 auto;
}

.sec-rensai__lead {
  margin: 2rem 0 0;
  font-size: 1.3rem;
  font-weight: 500;
  color: var(--rensai-gris);
  letter-spacing: 0.16em;
}

/* スマホでも3枚横並び（クライアント要望） */
.sec-rensai__cards {
  display: flex;
  flex-direction: row;
  gap: 0.8rem;
  margin-top: 3.2rem;
}

.rensai-card {
  position: relative;
  display: flex;
  flex: 1;
  align-items: flex-start;
  justify-content: center;
  min-height: 23rem;
  overflow: hidden;
  color: var(--rensai-ink);
  text-align: center;
  transition: transform 0.6s cubic-bezier(0.2, 0.6, 0.2, 1);
}

.rensai-card:active {
  transform: scale(0.985);
}

.rensai-card--a {
  background:
    radial-gradient(32rem 21rem at 50% -4%, rgba(255, 255, 255, 0.7), transparent 60%),
    linear-gradient(178deg, #b7d0e0, #9fbfd3 62%, #84a9c0);
}

.rensai-card--b {
  background:
    radial-gradient(32rem 21rem at 50% -4%, rgba(255, 255, 255, 0.8), transparent 60%),
    linear-gradient(178deg, #d3e4ee, #c3d9e6 62%, #abc9da);
}

.rensai-card--c {
  background:
    radial-gradient(32rem 23rem at 50% -4%, rgba(255, 255, 255, 0.9), transparent 60%),
    linear-gradient(178deg, #edf4f9, #e3eef5 62%, #d8e7f0);
}

.rensai-card__frame {
  position: absolute;
  inset: 0.7rem;
  pointer-events: none;
  border: 1px solid rgba(255, 255, 255, 0.85);
}

.rensai-card__frame::before,
.rensai-card__frame::after {
  position: absolute;
  width: 1rem;
  height: 1rem;
  content: "";
  border-color: var(--rensai-acier);
  border-style: solid;
}

.rensai-card__frame::before {
  top: -1px;
  left: -1px;
  border-width: 1px 0 0 1px;
}

.rensai-card__frame::after {
  right: -1px;
  bottom: -1px;
  border-width: 0 1px 1px 0;
}

.rensai-card__sn,
.rensai-card__num,
.rensai-card__ttl,
.rensai-card__sub,
.rensai-card__link {
  position: relative;
  z-index: 2;
  display: block;
}

.rensai-card > .rensai-card__sn {
  padding-top: 2.4rem;
}

/* カード内は縦積みのため、リンク全体を縦flexに */
.rensai-card {
  flex-direction: column;
  align-items: center;
  padding: 2.4rem 0.8rem 1.8rem;
}

.rensai-card__sn {
  margin-bottom: 1.2rem;
  font-size: 0.85rem;
  color: var(--rensai-acier);
  letter-spacing: 0.4em;
  text-indent: 0.4em;
}

.rensai-card__num {
  position: relative;
  display: flex;
  align-items: baseline;
  justify-content: center;
  width: 5.6rem;
  height: 5.6rem;
  padding-top: 1.4rem;
  font-family: "Zen Old Mincho", serif;
  font-size: 2.4rem;
  line-height: 1;
  border: 1px solid rgba(29, 53, 71, 0.5);
  border-radius: 50%;
}

.rensai-card__num::after {
  position: absolute;
  inset: 0.3rem;
  content: "";
  border: 1px solid rgba(29, 53, 71, 0.16);
  border-radius: 50%;
}

.rensai-card__num small {
  margin-left: 0.2rem;
  font-size: 1rem;
  letter-spacing: 0.05em;
}

.rensai-card__ttl {
  margin-top: 1.2rem;
  font-family: "Zen Old Mincho", serif;
  font-size: 1.35rem;
  font-weight: 500;
  letter-spacing: 0.08em;
}

.rensai-card__sub {
  margin-top: 0.6rem;
  font-size: 0.8rem;
  color: #436076;
  letter-spacing: 0.08em;
}

.rensai-card__link {
  padding-bottom: 0.5rem;
  margin-top: 1.2rem;
  font-size: 0.85rem;
  letter-spacing: 0.2em;
  border-bottom: 1px solid currentColor;
}

@media (min-width: 768px) {
  .sec-rensai {
    padding: 10rem 0;
  }

  .sec-rensai__inner {
    width: 132rem;
  }

  .sec-rensai__lead {
    font-size: 1.6rem;
  }

  .sec-rensai__cards {
    gap: 2.2rem;
    margin-top: 5rem;
  }

  .rensai-card {
    justify-content: center;
    min-height: 42rem;
    padding: 4rem 2.6rem;
  }

  .rensai-card__frame {
    inset: 1.5rem;
  }

  .rensai-card__frame::before,
  .rensai-card__frame::after {
    width: 1.4rem;
    height: 1.4rem;
  }

  .rensai-card__sn {
    font-size: 1.2rem;
  }

  .rensai-card__num {
    width: 10rem;
    height: 10rem;
    padding-top: 2.6rem;
    font-size: 4.4rem;
  }

  .rensai-card__num small {
    font-size: 1.6rem;
  }

  .rensai-card__ttl {
    margin-top: 2.2rem;
    font-size: 2.4rem;
  }

  .rensai-card__sub {
    margin-top: 1rem;
    font-size: 1.3rem;
  }

  .rensai-card__link {
    margin-top: 2.2rem;
    font-size: 1.3rem;
  }

  .rensai-card:hover .rensai-card__link {
    color: #fff;
    transition: 0.2s ease-in;
  }
}

/* ------------------------------------------------------------
   共通：パンくず
------------------------------------------------------------ */
.rensai-bc {
  /* 固定・透過ヘッダー（実測: SP6.5rem/PC16.5rem）に被らないよう先頭に余白を確保 */
  padding: 1.3rem;
  margin-top: 7rem;
  font-size: 1rem;
  color: #93a2ae;
  text-align: center;
  letter-spacing: 0.28em;
  background: #fff;
  border-bottom: 1px solid var(--rensai-fil);
}

.rensai-bc a {
  color: inherit;
}

@media (min-width: 768px) {
  .rensai-bc {
    margin-top: 17rem;
    font-size: 1.2rem;
  }
}

/* ------------------------------------------------------------
   目次ページ（kabushiki27 / tachinoki20 / souzoku24）
------------------------------------------------------------ */
.rensai-hero {
  padding: 6.6rem 2.4rem;
  text-align: center;
  background:
    radial-gradient(52rem 20rem at 50% -30%, rgba(169, 200, 218, 0.25), transparent 60%),
    linear-gradient(180deg, #fff, #f0f6fa);
}

.rensai-hero__eb {
  margin-bottom: 1.6rem;
  font-size: 0.95rem;
  color: var(--rensai-acier);
  letter-spacing: 0.66em;
  text-indent: 0.66em;
}

.rensai-hero__title {
  font-family: "Zen Old Mincho", serif;
  font-size: 2.5rem;
  font-weight: 500;
  color: var(--rensai-ink);
  letter-spacing: 0.26em;
  text-indent: 0.26em;
}

.rensai-hero__title small {
  display: block;
  margin-top: 1.4rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.1rem;
  color: var(--rensai-acier);
  letter-spacing: 0.36em;
  text-indent: 0.36em;
}

.rensai-hero__orn {
  width: 1px;
  height: 4.4rem;
  margin: 3.4rem auto 0;
  background: linear-gradient(180deg, #9fb2bf, transparent);
}

.rensai-toc {
  max-width: 90rem;
  padding: 4rem 2rem 8rem;
  margin: 0 auto;
}

.rensai-part {
  margin-bottom: 4.8rem;
}

.rensai-part__no {
  margin-bottom: 0.8rem;
  font-size: 0.95rem;
  color: var(--rensai-acier);
  text-align: center;
  letter-spacing: 0.6em;
  text-indent: 0.6em;
}

.rensai-part__title {
  margin-bottom: 1.8rem;
  font-family: "Zen Old Mincho", serif;
  font-size: 1.7rem;
  font-weight: 500;
  color: var(--rensai-ink);
  text-align: center;
  letter-spacing: 0.2em;
}

.rensai-part__list li {
  border-bottom: 1px solid var(--rensai-fil);
}

.rensai-part__list a {
  display: flex;
  gap: 1.6rem;
  padding: 1.3rem 0.2rem;
  font-size: 1.3rem;
  color: #25343f;
  transition: 0.2s ease-in;
}

.rensai-part__list a:hover {
  color: #2690cf;
}

.rensai-part__list i {
  min-width: 5.2rem;
  font-family: "Zen Old Mincho", serif;
  font-size: 1.2rem;
  font-style: normal;
  color: var(--rensai-acier);
}

@media (min-width: 768px) {
  .rensai-hero {
    padding: 10rem 2.4rem 8rem;
  }

  .rensai-hero__eb {
    font-size: 1.2rem;
  }

  .rensai-hero__title {
    font-size: 3.6rem;
  }

  .rensai-hero__title small {
    font-size: 1.4rem;
  }

  .rensai-toc {
    padding: 6rem 2rem 12rem;
  }

  .rensai-part__no {
    font-size: 1.1rem;
  }

  .rensai-part__title {
    font-size: 2.2rem;
  }

  .rensai-part__list a {
    padding: 1.6rem 0.4rem;
    font-size: 1.6rem;
  }

  .rensai-part__list i {
    min-width: 6.4rem;
    font-size: 1.4rem;
  }
}

/* ------------------------------------------------------------
   記事ページ（single-rensai）
------------------------------------------------------------ */
.rensai-article {
  max-width: 78rem;
  padding: 5rem 2.4rem 8rem;
  margin: 0 auto;
}

.rensai-article__kick {
  margin-bottom: 2.2rem;
  font-size: 1rem;
  color: var(--rensai-acier);
  text-align: center;
  letter-spacing: 0.4em;
  text-indent: 0.4em;
}

.rensai-article__title {
  font-family: "Zen Old Mincho", serif;
  font-size: 2.1rem;
  font-weight: 500;
  line-height: 2;
  color: var(--rensai-ink);
  text-align: center;
  letter-spacing: 0.06em;
}

.rensai-article__meta {
  margin: 2rem 0 3.6rem;
  font-family: "Zen Old Mincho", serif;
  font-size: 1rem;
  color: #93a2ae;
  text-align: center;
  letter-spacing: 0.24em;
}

/* 本文タイポグラフィ */
.rensai-article__body {
  font-size: 1.4rem;
  line-height: 2.2;
  color: var(--rensai-body);
}

.rensai-article__body h2 {
  margin: 4.2rem 0 1.6rem;
  font-family: "Zen Old Mincho", serif;
  font-size: 1.8rem;
  font-weight: 500;
  color: var(--rensai-ink);
  text-align: center;
  letter-spacing: 0.12em;
}

.rensai-article__body h2::after {
  display: block;
  width: 0.5rem;
  height: 0.5rem;
  margin: 1.6rem auto 0;
  content: "";
  background: #9fb2bf;
  rotate: 45deg;
}

.rensai-article__body h3 {
  margin: 3.2rem 0 1.2rem;
  font-family: "Zen Old Mincho", serif;
  font-size: 1.6rem;
  font-weight: 500;
  color: var(--rensai-ink);
  letter-spacing: 0.08em;
}

.rensai-article__body p {
  margin-bottom: 2.2rem;
  text-align: justify;
}

.rensai-article__body strong {
  font-weight: 700;
  color: var(--rensai-ink);
}

.rensai-article__body ul,
.rensai-article__body ol {
  padding-left: 2.4rem;
  margin-bottom: 2.2rem;
}

.rensai-article__body ul li {
  list-style: disc;
}

.rensai-article__body ol li {
  list-style: decimal;
}

.rensai-article__body blockquote {
  padding: 1.6rem 2rem;
  margin-bottom: 2.2rem;
  font-size: 1.3rem;
  color: var(--rensai-gris);
  background: #f4f8fb;
  border-left: 3px solid var(--rensai-acier);
}

.rensai-article__body hr {
  height: 1px;
  margin: 4rem auto;
  background: var(--rensai-fil);
  border: 0;
}

/* 表（スマホは横スクロール） */
.rensai-article__body .tbl-scroll {
  margin-bottom: 2.2rem;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.rensai-article__body table {
  min-width: 100%;
  font-size: 1.25rem;
  line-height: 1.8;
  border-collapse: collapse;
}

.rensai-article__body th,
.rensai-article__body td {
  padding: 0.9rem 1.2rem;
  text-align: left;
  vertical-align: top;
  border: 1px solid var(--rensai-fil);
}

.rensai-article__body th {
  font-weight: 700;
  color: var(--rensai-ink);
  white-space: nowrap;
  background: #f0f6fa;
}

/* 図解（ASCIIダイアグラム） */
.rensai-article__body pre {
  padding: 1.6rem;
  margin-bottom: 2.2rem;
  overflow-x: auto;
  font-family: "Zen Kaku Gothic New", monospace;
  font-size: 1.1rem;
  line-height: 1.7;
  color: var(--rensai-ink);
  background: #f4f8fb;
  border: 1px solid var(--rensai-fil);
}

.rensai-article__body pre code {
  font-family: inherit;
}

/* ------------------------------------------------------------
   図解コンポーネント（zukai）
   記事内のリッチ図解用。post_contentに埋め込むHTMLが使用する
------------------------------------------------------------ */
.zukai {
  position: relative;
  padding: 2.8rem 1.4rem;
  margin-bottom: 2.2rem;
  background: linear-gradient(180deg, #fbfdfe, #f0f6fa);
  border: 1px solid var(--rensai-fil);
}

.zukai::before,
.zukai::after {
  position: absolute;
  width: 1.2rem;
  height: 1.2rem;
  content: "";
  border-color: var(--rensai-acier);
  border-style: solid;
}

.zukai::before {
  top: 0.6rem;
  left: 0.6rem;
  border-width: 1px 0 0 1px;
}

.zukai::after {
  right: 0.6rem;
  bottom: 0.6rem;
  border-width: 0 1px 1px 0;
}

/* ノード（箱） */
.zukai-node {
  max-width: 52rem;
  padding: 1.4rem 1.6rem;
  margin: 0 auto;
  text-align: center;
  background: #fff;
  border: 1px solid #c6d8e4;
}

.zukai-node--start {
  max-width: 34rem;
  padding: 1rem 2.8rem;
  font-weight: 700;
  color: var(--rensai-ink);
  letter-spacing: 0.1em;
  background: linear-gradient(178deg, #b7d0e0, #9fbfd3);
  border: none;
  border-radius: 999px;
}

.zukai-node--pos {
  border-top: 3px solid #2690cf;
}

.zukai-node--neg {
  border-top: 3px solid var(--rensai-ink);
}

.zukai-node__badge {
  display: inline-block;
  padding: 0.2rem 1.2rem;
  margin-bottom: 0.8rem;
  font-family: "Zen Old Mincho", serif;
  font-size: 1.1rem;
  color: #fff;
  letter-spacing: 0.3em;
  text-indent: 0.3em;
  background: var(--rensai-acier);
}

.zukai-node__head {
  margin: 0;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.7;
  color: var(--rensai-ink);
  text-align: center;
}

.zukai-node__sub {
  margin: 0.4rem 0 0;
  font-size: 1.2rem;
  line-height: 1.8;
  color: var(--rensai-gris);
  text-align: center;
}

/* 講参照ピル */
.zukai-ref {
  display: inline-block;
  padding: 0 0.8rem;
  margin-left: 0.6rem;
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  color: var(--rensai-acier);
  letter-spacing: 0.05em;
  white-space: nowrap;
  vertical-align: 0.2rem;
  border: 1px solid #c6d8e4;
  border-radius: 999px;
}

/* 下向き矢印 */
.zukai-arrow {
  position: relative;
  width: 1px;
  height: 2.4rem;
  margin: 0.6rem auto;
  background: var(--rensai-acier);
}

.zukai-arrow::after {
  position: absolute;
  bottom: -1px;
  left: 50%;
  content: "";
  border: 0.5rem solid transparent;
  border-top: 0.7rem solid var(--rensai-acier);
  border-bottom: 0;
  translate: -50% 0;
}

.zukai-arrow__label {
  position: absolute;
  top: 50%;
  left: 1rem;
  width: max-content;
  max-width: 12rem;
  font-size: 1.1rem;
  line-height: 1.5;
  color: var(--rensai-acier);
  text-align: left;
  letter-spacing: 0.08em;
  white-space: normal;
  translate: 0 -50%;
}

/* ラベル付き矢印はスマホで折返し分の高さを確保 */
.zukai-arrow:has(.zukai-arrow__label) {
  min-height: 6rem;
}

/* 分岐・並列カラム（2〜3列）。スマホは縦積み、768px以上で横並び */
.zukai-branch {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  max-width: 60rem;
  margin: 0 auto;
}

.zukai-branch__item {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-width: 0;
}

.zukai-branch__label {
  margin: 0 0 0.6rem;
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--rensai-acier);
  text-align: center;
  letter-spacing: 0.15em;
}

.zukai-branch__label::before {
  color: #c6d8e4;
  content: "─ ";
}

.zukai-branch__label::after {
  color: #c6d8e4;
  content: " ─";
}

.zukai-branch .zukai-node {
  flex: 1;
  width: 100%;
  max-width: none;
  margin: 0;
}

/* ノード内の箇条書き（左揃え） */
.zukai-list {
  padding: 0;
  margin: 0.6rem 0 0;
  font-size: 1.2rem;
  line-height: 1.9;
  color: var(--rensai-body);
  text-align: left;
  list-style: none;
}

.zukai-list li {
  padding-left: 1.1em;
  list-style: none;
  text-indent: -1.1em;
}

.zukai-list li::before {
  content: "・";
  color: var(--rensai-acier);
}

/* 記事本文のリスト装飾（disc・インデント）を図解内では無効化 */
.rensai-article__body .zukai-list {
  padding-left: 0;
  margin: 0.6rem 0 0;
}

.rensai-article__body .zukai-list li {
  list-style: none;
}

/* 対比（VS）2パネル。スマホは縦積み＋中央ラベル横書き、768px以上で横並び */
.zukai-vs {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  align-items: stretch;
  max-width: 64rem;
  margin: 0 auto;
}

.zukai-vs__panel {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-width: 0;
}

.zukai-vs__mid {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  align-self: center;
  padding: 0.2rem 0;
  font-family: "Zen Old Mincho", serif;
  font-size: 1.2rem;
  font-weight: 600;
  color: var(--rensai-acier);
  text-align: center;
  letter-spacing: 0.3em;
  text-indent: 0.3em;
  writing-mode: horizontal-tb;
}

/* ルート／ステップカード（番号付き縦リスト） */
.zukai-route {
  max-width: 60rem;
  margin: 0 auto;
}

.zukai-route__item {
  padding: 1.2rem 1.4rem;
  margin-bottom: 1rem;
  text-align: left;
  background: #fff;
  border: 1px solid #c6d8e4;
  border-left: 3px solid var(--rensai-acier);
}

.zukai-route__item:last-child {
  margin-bottom: 0;
}

.zukai-route__no {
  display: inline-block;
  padding: 0.1rem 1rem;
  margin: 0 0.8rem 0.4rem 0;
  font-family: "Zen Old Mincho", serif;
  font-size: 1.1rem;
  color: #fff;
  letter-spacing: 0.15em;
  background: var(--rensai-acier);
}

.zukai-route__head {
  display: inline;
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--rensai-ink);
}

.zukai-route__meta {
  margin: 0.4rem 0 0;
  font-size: 1.1rem;
  color: var(--rensai-acier);
  letter-spacing: 0.05em;
}

.zukai-route__sub {
  margin: 0.4rem 0 0;
  font-size: 1.2rem;
  line-height: 1.8;
  color: var(--rensai-gris);
}

/* 図解下部の補足注 */
.zukai-note {
  max-width: 56rem;
  padding-top: 1.2rem;
  margin: 1.6rem auto 0;
  font-size: 1.15rem;
  line-height: 1.9;
  color: var(--rensai-gris);
  text-align: center;
  border-top: 1px dashed #c6d8e4;
}

@media (min-width: 768px) {
  .zukai {
    padding: 4rem 3rem;
  }

  .zukai-node__head {
    font-size: 1.55rem;
  }

  .zukai-node__sub {
    font-size: 1.3rem;
  }

  .zukai-ref {
    font-size: 1.1rem;
  }

  .zukai-branch {
    flex-direction: row;
    gap: 2rem;
  }

  .zukai-list {
    font-size: 1.3rem;
  }

  .zukai-vs {
    flex-direction: row;
    gap: 1.6rem;
  }

  .zukai-vs__mid {
    padding: 0 0.2rem;
    font-size: 1.35rem;
    letter-spacing: 0.1em;
    text-indent: 0;
    writing-mode: vertical-rl;
  }

  .zukai-arrow__label {
    max-width: none;
    white-space: nowrap;
  }

  .zukai-arrow:has(.zukai-arrow__label) {
    min-height: 2.4rem;
  }

  .zukai-route__head {
    font-size: 1.5rem;
  }

  .zukai-route__meta {
    font-size: 1.2rem;
  }

  .zukai-route__sub {
    font-size: 1.3rem;
  }

  .zukai-note {
    font-size: 1.25rem;
  }
}

/* 本文中の講参照リンク */
.rensai-article__body a.rensai-ref-link {
  color: var(--rensai-acier);
  border-bottom: 1px dotted var(--rensai-acier);
  transition: 0.2s ease-in;
}

.rensai-article__body a.rensai-ref-link:hover {
  color: #2690cf;
  border-bottom-style: solid;
}

/* 図解のrefピル内では下線を消してピルの見た目を維持 */
.zukai-ref a.rensai-ref-link {
  color: inherit;
  border-bottom: none;
}

/* 目次ページ下部：他シリーズへのクロスリンク */
.rensai-cross {
  max-width: 90rem;
  padding-top: 3.2rem;
  margin: 6rem auto 0;
  border-top: 1px solid var(--rensai-fil);
}

.rensai-cross__title {
  margin-bottom: 1.6rem;
  font-family: "Zen Old Mincho", serif;
  font-size: 1.5rem;
  font-weight: 500;
  color: var(--rensai-ink);
  text-align: center;
  letter-spacing: 0.2em;
}

.rensai-cross__links {
  display: flex;
  gap: 1rem;
  margin-bottom: 2.4rem;
}

.rensai-cross__item {
  display: block;
  flex: 1;
  min-width: 0;
  padding: 1.4rem 1rem;
  text-align: center;
  background: linear-gradient(178deg, #edf4f9, #dfecf4);
  border: 1px solid #c6d8e4;
  transition: 0.2s ease-in;
}

.rensai-cross__item:hover {
  background: linear-gradient(178deg, #d3e4ee, #c3d9e6);
}

.rensai-cross__series {
  display: block;
  font-family: "Zen Old Mincho", serif;
  font-size: 1.4rem;
  font-weight: 500;
  color: var(--rensai-ink);
  letter-spacing: 0.1em;
}

.rensai-cross__sub {
  display: block;
  margin-top: 0.4rem;
  font-size: 1rem;
  color: var(--rensai-acier);
  letter-spacing: 0.08em;
}

@media (min-width: 768px) {
  .rensai-cross {
    padding-top: 4rem;
    margin-top: 8rem;
  }

  .rensai-cross__links {
    gap: 2rem;
  }

  .rensai-cross__item {
    padding: 2rem 1.6rem;
  }

  .rensai-cross__series {
    font-size: 1.7rem;
  }

  .rensai-cross__sub {
    font-size: 1.2rem;
  }
}

/* 前後の講ナビ */
.rensai-nav {
  display: flex;
  justify-content: space-between;
  gap: 1.2rem;
  padding-top: 3.2rem;
  margin-top: 5rem;
  border-top: 1px solid var(--rensai-fil);
}

.rensai-nav a {
  display: block;
  max-width: 46%;
  font-size: 1.2rem;
  color: var(--rensai-acier);
  transition: 0.2s ease-in;
}

.rensai-nav a:hover {
  color: #2690cf;
}

.rensai-nav__back {
  margin-top: 3.6rem;
  text-align: center;
}

.rensai-nav__back a {
  display: inline-block;
  padding-bottom: 0.5rem;
  font-size: 1.25rem;
  color: var(--rensai-ink);
  letter-spacing: 0.2em;
  border-bottom: 1px solid currentColor;
}

@media (min-width: 768px) {
  .rensai-article {
    padding: 8rem 2.4rem 12rem;
  }

  .rensai-article__kick {
    font-size: 1.2rem;
  }

  .rensai-article__title {
    font-size: 2.8rem;
  }

  .rensai-article__meta {
    font-size: 1.2rem;
  }

  .rensai-article__body {
    font-size: 1.6rem;
  }

  .rensai-article__body h2 {
    margin: 5.2rem 0 2rem;
    font-size: 2.2rem;
  }

  .rensai-article__body h3 {
    font-size: 1.9rem;
  }

  .rensai-article__body table {
    font-size: 1.4rem;
  }

  .rensai-article__body pre {
    font-size: 1.3rem;
  }

  .rensai-nav a {
    font-size: 1.4rem;
  }
}
