@charset "UTF-8";
/*
Theme Name: AIDER Child
Theme URI: https://tcd-theme.com/tcd115
Description: Child theme for AIDER (aider_tcd115).
Author: Generated Theme
Author URI: https://example.com/
Template: aider_tcd115
Version: 1.0.0
Text Domain: aider-tcd115-child
*/

  :root {
    --custom-wall-accent: #b29a68;
    --custom-wall-card-title: #2b2a28;
    --custom-wall-card-body: #5c574f;
    --custom-wall-line: rgba(0, 0, 0, 0.16);
    --custom-wall-serif: "Hiragino Mincho ProN", "Hiragino Mincho Pro",
      "Yu Mincho", "YuMincho", "MS PMincho", serif;
  }

  * {
    box-sizing: border-box;
  }

  .custom-wall-body {
    margin: 0;
    font-family: var(--custom-wall-serif);
    background: transparent;
    color: #1a1a1a;
    -webkit-font-smoothing: antialiased;
  }

  .custom-wall-issue-section {
    max-width: 930px;
    margin: 0 auto;
    padding: 40px 24px 48px;
    background: transparent;
  }

  .custom-wall-issue-section__title {
    font-size: clamp(28px, 4vw, 42px);
    font-weight: 700;
    line-height: 1.2;
    margin: 0 0 16px;
    text-align: center;
  }

  .custom-wall-issue-section__note {
    font-size: 16px;
    color: #5c5c5c;
    margin: 0 0 32px;
    text-align: center;
    line-height: 1.8;
  }

  .custom-wall-issue-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
  }

  .custom-wall-issue-card {
    position: relative;
    background: #f6f6f6;
    border: 1px solid var(--custom-wall-line);
    border-radius: 18px;
    padding: 0 0 36px;
    box-shadow: 0 10px 30px rgba(31, 58, 77, 0.06);
  }

  /* wpautopが混入させる閉じタグ由来の空のpが画像上に余白を作るため打ち消す */
  .custom-wall-issue-card > p:empty {
    margin: 0;
    padding: 0;
  }

  .custom-wall-issue-card__image {
    margin: 0 0 22px;
  }

  .custom-wall-issue-card__image img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: 17px 17px 0 0;
  }

  .custom-wall-issue-card__num {
    position: absolute;
    top: -19px;
    left: -19px;
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--custom-wall-accent);
    color: #fff;
    border-radius: 50%;
    font-size: 17px;
    font-weight: 700;
    line-height: 1;
  }

  .custom-wall-issue-card__title.custom-wall-issue-card__title {
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: var(--custom-wall-card-title);
    width: auto;
    text-align: center;
    margin: 0 32px 18px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--custom-wall-line);
  }

  .custom-wall-issue-card__text.custom-wall-issue-card__text {
    font-size: 18px;
    line-height: 1.9;
    color: var(--custom-wall-card-body);
    margin: 0;
    padding: 0 32px;
  }

  .custom-wall-issue-banner.custom-wall-issue-banner {
    position: relative;
    max-width: 720px;
    margin: 44px auto 36px;
    padding: 16px 28px;
    background: #f3ecdd;
    border: 1px solid var(--custom-wall-accent);
    border-radius: 6px;
    text-align: center;
    font-size: 24px;
    font-weight: 700;
    color: #1f3a4d;
    line-height: 1.7;
  }

  @media (max-width: 930px) {
    .custom-wall-issue-section {
      padding: 32px 20px 40px;
    }

    .custom-wall-issue-cards {
      grid-template-columns: 1fr;
      gap: 20px;
    }

    .custom-wall-issue-card {
      padding: 0 0 30px;
    }

    .custom-wall-issue-card__num {
      left: 16px;
    }

    .custom-wall-issue-card__title.custom-wall-issue-card__title {
      font-size: 20px;
      margin: 0 24px 18px;
    }

    .custom-wall-issue-card__text.custom-wall-issue-card__text {
      font-size: 16px;
      padding: 0 24px;
    }

    .custom-wall-issue-banner.custom-wall-issue-banner {
      font-size: 18px;
    }
  }

/* なぜ専門家に頼んでも解決しないのか（3カード＋比較表 統合ブロック） */
#_842.p-cb-item,
#_348.p-cb-item {
  background-color: #f6f6f6;
  padding-block: 100px;
}

/* 専門家の限界セクションだけ一段濃いグレー（ユーザー指示） */
#_348.p-cb-item {
  background-color: #eaeaea;
}

/* 直後の紺セクションとの間の白帯を消し、グレー→紺を直接つなげる */
#_348.p-cb-item {
  margin-block-end: -100px;
}

@media (max-width: 930px) {
  #_842.p-cb-item,
  #_348.p-cb-item {
    padding-block: 60px;
  }
}

@media (max-width: 991px) {
  #_348.p-cb-item {
    margin-block-end: -40px;
  }
}

.custom-expert-intro.custom-expert-intro {
  text-align: center;
  font-size: 18px;
  color: #5c574f;
  line-height: 2;
  margin: 0 0 44px;
}

.custom-expert-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}

.custom-expert-card {
  position: relative;
  background: #fff;
  border: 1px solid var(--custom-wall-line);
  border-radius: 10px;
  padding: 0 0 32px;
  text-align: center;
  box-shadow: 0 10px 30px rgba(31, 58, 77, 0.06);
}

/* wpautopが混入させる閉じタグ由来の空のpが画像上に余白を作るため打ち消す */
.custom-expert-card > p:empty {
  margin: 0;
  padding: 0;
}

.custom-expert-card__image {
  margin: 0 0 24px;
}

.custom-expert-card__image img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 9px 9px 0 0;
}

.custom-expert-card__title.custom-expert-card__title {
  font-size: 28px;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #1f3a4d;
  width: auto;
  margin: 0 24px 12px;
  text-align: center;
}

.custom-expert-card__role.custom-expert-card__role {
  font-size: 18px;
  color: #5c574f;
  margin: 0 24px 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--custom-wall-line);
  text-align: center;
}

.custom-expert-card__gap.custom-expert-card__gap {
  font-size: 19px;
  /* 明朝系はWindowsでweight:700が細く見えるため、strokeで視覚的に太らせる */
  font-weight: 900;
  -webkit-text-stroke: 0.6px currentColor;
  color: #c0392b;
  margin: 0 24px;
  text-align: center;
}

.custom-expert-note.custom-expert-note {
  text-align: center;
  font-size: 18px;
  color: #5c574f;
  line-height: 2;
  margin: 40px 0 0;
}

.custom-expert-banner.custom-expert-banner {
  max-width: 1000px;
  margin: 36px auto 0;
  padding: 28px 32px;
  background: #f7f2e7;
  border: 1px solid var(--custom-wall-accent);
  border-radius: 4px;
  text-align: center;
  font-size: clamp(18px, 2.4vw, 26px);
  font-weight: 700;
  color: #1f3a4d;
  line-height: 1.8;
  font-family: var(--custom-wall-serif);
}

@media (max-width: 930px) {
  .custom-expert-cards {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .custom-expert-card {
    padding: 0 0 28px;
  }

  .custom-expert-banner {
    padding: 20px 20px;
  }

  .custom-expert-intro.custom-expert-intro,
  .custom-expert-note.custom-expert-note,
  .custom-expert-card__role.custom-expert-card__role {
    font-size: 16px;
  }

  .custom-expert-card__title.custom-expert-card__title {
    font-size: 22px;
  }

  .custom-expert-card__gap.custom-expert-card__gap {
    font-size: 17px;
  }
}

/* 私たちの「二刀流」（鑑定士の目 × 銀行員の耳） */
.custom-duo-label.custom-duo-label {
  text-align: center;
  font-size: 20px;
  font-weight: 700;
  color: #1f3a4d;
  margin: 0 0 12px;
}

.custom-duo-title.custom-duo-title {
  text-align: center;
  font-size: clamp(30px, 4vw, 42px);
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #1f3a4d;
  font-family: var(--custom-wall-serif);
  margin: 0 0 28px;
}

.custom-duo-title__x {
  color: var(--custom-wall-accent);
  margin-inline: 0.15em;
}

/* 汎用: 太字 <span class="u-bold">…</span> */
.u-bold {
  font-weight: 700;
}

/* 汎用: 黄色マーカー <span class="u-marker">…</span>（太字と併用は class="u-bold u-marker"） */
.u-marker {
  background-image: linear-gradient(transparent 60%, rgba(255, 224, 100, 0.75) 60%, rgba(255, 224, 100, 0.75) 95%, transparent 95%);
  background-repeat: no-repeat;
  background-size: 100% 100%;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  padding: 0 2px;
}

/* スマホ専用改行ユーティリティ: <br class="sp-br"> */
.sp-br {
  display: none;
}

@media (max-width: 930px) {
  .sp-br {
    display: inline;
  }

  .custom-duo-title__x {
    display: block;
    margin: 6px auto;
  }
}

.custom-duo-intro.custom-duo-intro {
  text-align: center;
  font-size: 18px;
  line-height: 2;
  color: #5c574f;
  margin: 0 0 52px;
}

.custom-duo-panels {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  /* 左右のカードを同じ高さに揃える */
  align-items: stretch;
  gap: 32px;
}

.custom-duo-cross {
  align-self: center;
}

/* パネル上部の写真（カードの角丸に沿わせて全幅表示） */
.custom-duo-panel__image {
  margin: -36px -36px 24px;
  border-radius: 13px 13px 0 0;
  overflow: hidden;
}

.custom-duo-panel__image img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.custom-duo-panel {
  background: #fff;
  border: 1px solid var(--custom-wall-line);
  border-radius: 14px;
  padding: 36px 36px 32px;
  box-shadow: 0 10px 30px rgba(31, 58, 77, 0.06);
}

.custom-duo-panel__title.custom-duo-panel__title {
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #1f3a4d;
  margin: 0 0 20px;
  padding-bottom: 14px;
  border-bottom: 2px solid var(--custom-wall-accent);
}

.custom-duo-panel__list.custom-duo-panel__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.custom-duo-panel__list.custom-duo-panel__list li {
  position: relative;
  padding-left: 1.3em;
  font-size: 18px;
  line-height: 1.9;
  color: #3c3a36;
  margin: 0 0 12px;
}

.custom-duo-panel__list.custom-duo-panel__list li:last-child {
  margin-bottom: 0;
}

.custom-duo-panel__list.custom-duo-panel__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.95em;
  transform: translateY(-50%);
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--custom-wall-accent);
}

.custom-duo-cross {
  font-size: 46px;
  font-weight: 700;
  color: var(--custom-wall-accent);
  font-family: var(--custom-wall-serif);
  line-height: 1;
}

.custom-duo-banner.custom-duo-banner {
  margin: 52px auto 0;
  padding: 22px 32px;
  background: #f7f2e7;
  border: 1px solid var(--custom-wall-accent);
  border-radius: 4px;
  text-align: center;
  font-size: 21px;
  font-weight: 700;
  color: #1f3a4d;
  line-height: 1.8;
}

.custom-duo-equal.custom-duo-equal {
  text-align: center;
  font-size: 46px;
  font-weight: 700;
  color: var(--custom-wall-accent);
  font-family: var(--custom-wall-serif);
  line-height: 1;
  margin: 32px 0 24px;
}

.custom-duo-result.custom-duo-result {
  text-align: center;
  font-family: var(--custom-wall-serif);
  font-size: clamp(20px, 2.6vw, 27px);
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.9;
  color: #1f3a4d;
  margin: 0 0 40px;
}

.custom-duo-result-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 28px;
  margin: 40px 0 44px;
}

/* 2026-08-21: ユーザー指示でこの結論行を一段大きく・目立たせた */
.custom-duo-result-row .custom-duo-equal.custom-duo-equal {
  margin: 0;
  font-size: 62px;
  flex: 0 0 auto;
}

/* 2026-08-21: PCでは1行に収める（ユーザー指示）。本文は26文字で、字送りは
   font-size × (1 + letter-spacing) ＝ 1.06倍。行の幅は
   「行の親1100px − ＝の62px − gapの28px」で約982pxなので上限は約35px。
   ウィンドウが1100pxを下回ると親も縮むため、vw連動のclampで追従させている */
.custom-duo-result-row .custom-duo-result.custom-duo-result {
  margin: 0;
  font-size: clamp(25px, 2.8vw, 33px);
  letter-spacing: 0.06em;
  line-height: 1.95;
  white-space: nowrap;
}

.custom-duo-result__marker {
  background-image: linear-gradient(transparent 58%, rgba(255, 224, 100, 0.75) 58%, rgba(255, 224, 100, 0.75) 94%, transparent 94%);
  background-repeat: no-repeat;
  background-size: 100% 100%;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  padding: 0 4px;
}


.custom-duo-case.custom-duo-case {
  display: flex;
  align-items: flex-start;
  gap: 18px;
  background: #fff;
  border: 1px solid var(--custom-wall-line);
  border-left: 4px solid var(--custom-wall-accent);
  border-radius: 10px;
  padding: 24px 28px;
  box-shadow: 0 10px 30px rgba(31, 58, 77, 0.06);
  margin: 0;
}

/* wpautopの余分な</p>が空のp要素になりフレックス内で余白を作るため除去 */
.custom-duo-case > p:empty {
  display: none;
}

.custom-duo-case__label {
  flex: 0 0 auto;
  background: #1f3a4d;
  color: #fff;
  font-family: var(--custom-wall-serif);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.1em;
  border-radius: 4px;
  padding: 5px 14px;
  margin-top: 3px;
}

.custom-duo-case__text.custom-duo-case__text {
  margin: 0;
  font-size: 16px;
  line-height: 2;
  color: #3c3a36;
}

.custom-duo-more.custom-duo-more {
  margin: 40px 0 0;
  text-align: center;
}

.custom-duo-more a {
  font-family: var(--custom-wall-serif);
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #fff;
  text-decoration: none;
  border-bottom: 1px solid var(--custom-wall-accent);
  padding-bottom: 8px;
  transition: opacity 0.2s;
}

.custom-duo-more a:hover {
  opacity: 0.7;
}

.custom-duo-more .custom-duo-more__arrow {
  color: var(--custom-wall-accent);
  margin-left: 12px;
}

@media (max-width: 930px) {
  .custom-duo-label.custom-duo-label {
    font-size: 17px;
  }

  .custom-duo-intro.custom-duo-intro {
    font-size: 16px;
    margin-bottom: 40px;
  }

  .custom-duo-panels {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .custom-duo-cross {
    text-align: center;
    font-size: 36px;
  }

  .custom-duo-panel {
    padding: 28px 24px 26px;
  }

  .custom-duo-panel__image {
    margin: -28px -24px 20px;
  }

  .custom-duo-panel__title.custom-duo-panel__title {
    font-size: 20px;
  }

  .custom-duo-panel__list.custom-duo-panel__list li {
    font-size: 16px;
  }

  .custom-duo-banner.custom-duo-banner {
    font-size: 18px;
    padding: 16px 20px;
  }

  .custom-duo-equal.custom-duo-equal {
    font-size: 36px;
    margin: 22px 0 16px;
  }

  .custom-duo-result.custom-duo-result {
    font-size: 18px;
    margin-bottom: 28px;
  }

  /* 2026-08-21: スマホは「＝」を横ではなく上へ置く（ユーザー提案）。
     横並びのままだと、記号のぶんだけ本文の1行が痩せて折返しが増える */
  .custom-duo-result-row {
    flex-direction: column;
    gap: 0;
    margin: 28px 0 32px;
  }

  .custom-duo-result-row .custom-duo-equal.custom-duo-equal {
    font-size: 44px;
    margin: 0;
  }

  /* スマホは <br class="sp-br"> で「価値を、／銀行が…」の2行に固定する。
     長いほうの行は14文字。実測で1文字あたり font-size × 約1.10 の幅を取るため、
     390px端末（本文幅350px）で 350 ÷ (14 × 1.10) ≒ 22px が上限。
     360pxや320pxの端末でも2行を保てるよう vw 連動にする。
     上限26pxは、幅の広いタブレットでPC側の下限（931pxで約26px）を超えないようにするため */
  .custom-duo-result-row .custom-duo-result.custom-duo-result {
    font-size: min(5.4vw, 26px);
    letter-spacing: 0.02em;
    text-align: center;
    line-height: 1.9;
    margin: 0;
    white-space: normal;
    /* 折り返しは明示した <br class="sp-br"> の位置だけにする。
       body の word-break: auto-phrase と text-wrap: pretty が効いていると、
       幅に収まる14文字の行がさらに文節で割られて3行になってしまう */
    word-break: normal;
    text-wrap: wrap;
  }

  .custom-duo-case.custom-duo-case {
    flex-direction: column;
    gap: 10px;
    padding: 20px 18px;
  }

  .custom-duo-case__text.custom-duo-case__text {
    font-size: 15px;
  }

  .custom-duo-more.custom-duo-more {
    margin-top: 32px;
  }

  .custom-duo-more a {
    font-size: 16px;
  }
}

/* 私たちが提供する3つの価値 */
.custom-value-title.custom-value-title,
.custom-step-title.custom-step-title {
  position: relative;
  text-align: center;
  font-size: clamp(28px, 3.6vw, 38px);
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #1f3a4d;
  font-family: var(--custom-wall-serif);
  margin: 0 0 56px;
  padding-bottom: 30px;
}

.custom-value-title.custom-value-title::after,
.custom-step-title.custom-step-title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: min(340px, 70%);
  height: 1px;
  background: var(--custom-wall-accent);
}

.custom-value-title.custom-value-title::before,
.custom-step-title.custom-step-title::before {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 50%;
  transform: translateX(-50%);
  width: 46px;
  height: 3px;
  background: var(--custom-wall-accent);
}

.custom-value-list {
  display: grid;
  gap: 28px;
}

/* 3つの価値セクション: 薄いブルーグレー背景（直前の紺セクションと隙間なく接続） */
#_743.p-cb-item {
  background-color: #edf1f5;
  padding-block: 100px;
  margin-block-start: -100px;
}

@media (max-width: 991px) {
  #_743.p-cb-item {
    margin-block-start: -40px;
  }
}

@media (max-width: 930px) {
  #_743.p-cb-item {
    padding-block: 60px;
  }
}

.custom-value-row {
  display: grid;
  grid-template-columns: auto 320px 1fr;
  align-items: center;
  gap: 32px;
  background: #fbfaf8;
  border: 1px solid rgba(0, 0, 0, 0.05);
  border-radius: 10px;
  padding: 36px 40px;
  box-shadow: 0 8px 24px rgba(31, 58, 77, 0.05);
}

.custom-value-row__num {
  width: 58px;
  height: 58px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--custom-wall-accent);
  color: #fff;
  border-radius: 50%;
  font-size: 22px;
  font-weight: 700;
  font-family: var(--custom-wall-serif);
  line-height: 1;
}

.custom-value-row__title.custom-value-row__title {
  font-size: 32px;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #1f3a4d;
  font-family: var(--custom-wall-serif);
  margin: 0 0 12px;
  text-align: left;
}

.custom-value-row__sub.custom-value-row__sub {
  font-size: 18px;
  font-weight: 700;
  font-family: var(--custom-wall-serif);
  color: #b08a2e;
  margin: 0;
}

.custom-value-row__body {
  border-left: 1px solid var(--custom-wall-line);
  padding-left: 32px;
}

.custom-value-row__text.custom-value-row__text {
  font-size: 18px;
  line-height: 1.9;
  color: #3c3a36;
  margin: 0 0 10px;
}

.custom-value-row__result.custom-value-row__result {
  font-size: 17px;
  font-weight: 700;
  color: #b08a2e;
  margin: 0;
}

.custom-value-row__badge {
  display: none;
}

@media (max-width: 930px) {
  .custom-value-row {
    grid-template-columns: auto 1fr;
    gap: 16px 20px;
    padding: 24px 20px;
  }

  .custom-value-row__num {
    width: 46px;
    height: 46px;
    font-size: 18px;
  }

  .custom-value-row__body {
    grid-column: 1 / -1;
    border-left: none;
    border-top: 1px solid var(--custom-wall-line);
    padding-left: 0;
    padding-top: 16px;
  }

  .custom-value-row__title.custom-value-row__title {
    font-size: 24px;
    margin-bottom: 6px;
  }

  .custom-value-row__sub.custom-value-row__sub {
    font-size: 16px;
  }

  .custom-value-row__text.custom-value-row__text {
    font-size: 16px;
  }

  .custom-value-row__result.custom-value-row__result {
    font-size: 15px;
  }
}

/* トップページ: コンテンツ最下部とフッターの間の余白を削除 */
.home .l-container:has(.p-cb) {
  padding-block-end: 0;
}

/* お問い合わせセクション: 薄いグレー背景 */
#contact.p-cb-item {
  background-color: #f6f6f6;
  padding-block: 100px;
}

@media (max-width: 930px) {
  #contact.p-cb-item {
    padding-block: 60px;
  }
}

/* 事例紹介セクション: 紺背景 */
#_624.p-cb-item {
  background: #08475f;
  padding-block: 90px;
}

#_624 .p-cb-header-title {
  color: #fff;
}

#_624 .p-cb-header-subtitle {
  color: rgba(255, 255, 255, 0.8);
}

#_624 .p-voice-cards-item {
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.25);
}

#_624 .p-voice-cards-item__title {
  color: #1f3a4d;
}

#_624 .splide__pagination button,
#_624 .splide__pagination__page {
  background: transparent;
  border: 1px solid #ffffff;
}

#_624 .splide__pagination button.is-active,
#_624 .splide__pagination__page.is-active {
  background: #ffffff;
}

#_624 .p-cb-button {
  color: #fff;
  border: 1px solid #fff;
  background: transparent;
}

#_624 .p-cb-button:hover {
  background: rgba(255, 255, 255, 0.16);
  color: #fff;
}

@media (max-width: 930px) {
  #_624.p-cb-item {
    padding-block: 56px;
  }
}

/* コンサルティングの進め方（5ステップ） */
/* 進め方セクション: 薄いブルーグレー背景（直前の紺セクションと隙間なく接続） */
#_813.p-cb-item {
  background-color: #edf1f5;
  padding-block: 100px;
  margin-block-start: -100px;
}

@media (max-width: 991px) {
  #_813.p-cb-item {
    margin-block-start: -40px;
  }
}

@media (max-width: 930px) {
  #_813.p-cb-item {
    padding-block: 60px;
  }
}

.custom-step-list {
  display: grid;
  gap: 26px;
}

.custom-step-row {
  position: relative;
  display: grid;
  grid-template-columns: auto 260px 1fr;
  align-items: center;
  gap: 36px;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 8px;
  padding: 30px 40px 30px 46px;
  box-shadow: 0 8px 24px rgba(31, 58, 77, 0.04);
}

.custom-step-row::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 7px;
  background: var(--custom-wall-accent);
  border-radius: 8px 0 0 8px;
}

.custom-step-row__num {
  width: 60px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #1f3a4d;
  color: #fff;
  border-radius: 50%;
  font-size: 22px;
  font-weight: 700;
  font-family: var(--custom-wall-serif);
  line-height: 1;
}

.custom-step-row__title.custom-step-row__title {
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #1f3a4d;
  font-family: var(--custom-wall-serif);
  margin: 0 0 8px;
  text-align: left;
}

.custom-step-row__sub.custom-step-row__sub {
  font-size: 17px;
  font-weight: 700;
  color: #b08a2e;
  font-family: var(--custom-wall-serif);
  margin: 0;
}

.custom-step-row__body {
  border-left: 1px solid rgba(178, 154, 104, 0.55);
  padding-left: 36px;
}

.custom-step-row__text.custom-step-row__text {
  font-size: 18px;
  line-height: 2;
  color: #2e3d49;
  font-family: var(--custom-wall-serif);
  margin: 0;
}

@media (max-width: 930px) {
  .custom-step-row {
    grid-template-columns: auto 1fr;
    gap: 14px 18px;
    padding: 22px 20px 22px 26px;
  }

  .custom-step-row::before {
    top: 0;
    bottom: 0;
    width: 5px;
  }

  .custom-step-row__num {
    width: 46px;
    height: 46px;
    font-size: 18px;
  }

  .custom-step-row__body {
    grid-column: 1 / -1;
    border-left: none;
    border-top: 1px solid rgba(178, 154, 104, 0.55);
    padding-left: 0;
    padding-top: 14px;
  }

  .custom-step-row__title.custom-step-row__title {
    font-size: 20px;
    margin-bottom: 4px;
  }

  .custom-step-row__sub.custom-step-row__sub {
    font-size: 15px;
  }

  .custom-step-row__text.custom-step-row__text {
    font-size: 16px;
  }
}

/* サービス内容（3つの柱） */
#_100.p-cb-item {
  background-color: #f6f0e4;
  padding-block: 100px;
  margin-block-start: -100px;
  margin-block-end: -100px;
}

@media (max-width: 991px) {
  #_100.p-cb-item {
    margin-block-start: -40px;
    margin-block-end: -40px;
  }
}

@media (max-width: 930px) {
  #_100.p-cb-item {
    padding-block: 60px;
  }
}

/* 2026-08-21: カードを4枚（固定資産税適正化を追加）にしたため、
   3列から2列（上2・下2）へ変更した。930px以下は従来どおり1列 */
.custom-service-cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-auto-rows: 1fr;
  gap: 28px;
}

.custom-service-card {
  position: relative;
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid var(--custom-wall-line);
  border-radius: 18px;
  padding: 0 0 36px;
  box-shadow: 0 10px 30px rgba(31, 58, 77, 0.06);
}

/* wpautopが混入させる閉じタグ由来の空のpが画像上に余白を作るため打ち消す */
.custom-service-card > p:empty {
  margin: 0;
  padding: 0;
}

.custom-service-card__image {
  margin: 0 0 22px;
}

.custom-service-card__image img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  border-radius: 17px 17px 0 0;
}

.custom-service-card__title.custom-service-card__title {
  font-family: var(--custom-wall-serif);
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.6;
  color: #1f3a4d;
  text-align: center;
  width: auto;
  margin: 0 32px 18px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--custom-wall-line);
}

.custom-service-card__text.custom-service-card__text {
  font-size: 16px;
  line-height: 1.9;
  color: #3c3a36;
  margin: 0;
  padding: 0 32px;
}

/* 詳細ページへのリンク（2026-08-21・固定資産税適正化のカードのみ）。
   他の3枚にはリンクが無いため、ボタンではなく控えめなテキストリンクにして
   カード同士が不揃いに見えないようにしている。
   margin-top: auto でカード下端に揃え、本文量が違っても位置がぶれない */
.custom-service-card__link.custom-service-card__link {
  margin: 18px 0 0;
  padding: 0 32px;
  text-align: right;
}

.custom-service-card__link a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--custom-wall-serif);
  font-size: 16px;
  font-weight: 700;
  color: #b08a2e;
  text-decoration: none;
  border-bottom: 1px solid rgba(178, 154, 104, 0.5);
  padding-bottom: 2px;
  transition: color 0.2s, border-color 0.2s;
}

.custom-service-card__link a::after {
  content: "→";
  font-family: inherit;
}

.custom-service-card__link a:hover {
  color: #8f6c1f;
  border-bottom-color: #8f6c1f;
}

/* リンクを持つカードは、本文の下の余白を吸わせて下端をそろえる */
.custom-service-card:has(.custom-service-card__link) .custom-service-card__link {
  margin-top: auto;
  padding-top: 18px;
}

@media (max-width: 930px) {
  .custom-service-cards {
    grid-template-columns: 1fr;
    grid-auto-rows: auto;
    gap: 24px;
  }

  .custom-service-card {
    padding: 0 0 30px;
  }

  .custom-service-card__title.custom-service-card__title {
    font-size: 21px;
    margin: 0 24px 18px;
  }

  .custom-service-card__text.custom-service-card__text {
    font-size: 15px;
    padding: 0 24px;
  }

  .custom-service-card__link.custom-service-card__link {
    padding: 0 24px;
    margin-top: 16px;
  }

  .custom-service-card__link a {
    font-size: 15px;
  }
}

/* ---- 「財務部からのお願い」（2026-08-21・トップページの問い合わせセクションで使用） ----
   固定資産税ページにも一度入れたが、ユーザー指示でトップのみの表示に変更した。
   そのため .custom-zeitax の CSS変数には依存させず、色は実値で持たせている。
   格式は装飾を足して出すのではなく、二重の金罫・広い字間・ゆったりした行間で出している */
.custom-ask {
  position: relative;
  max-width: 900px;
  /* 2026-08-21: フォームの上から送信ボタンの下（フォームの中）へ移したので、余白も上側へ移した */
  margin: 40px auto 0;
  padding: 46px 56px 42px;
  background: #fff;
  border: 1px solid rgba(178, 154, 104, 0.55);
  box-shadow: 0 8px 24px rgba(31, 58, 77, 0.05);
}

/* 内側にもう1本の細い金罫を回して二重罫にする */
.custom-ask::before {
  content: "";
  position: absolute;
  inset: 7px;
  border: 1px solid rgba(178, 154, 104, 0.3);
  pointer-events: none;
}

/* wpautopが混入させる空のpで余白がずれるのを防ぐ */
.custom-ask > p:empty {
  display: none;
}

/* 2026-08-21: このブロックはCF7のフォーム本文（.custom-contact-form の中）へ移した。
   フォームは送信成功時に display:none になるため、お願いも自動的に一緒に消える。
   以前使っていた :has() での隣接指定は不要になったので削除した。

   固定資産税ページのフォームには出さない（ユーザー指示でトップページのみ）。 */
.custom-zeitax__form .custom-ask {
  display: none;
}

.custom-ask__title.custom-ask__title {
  font-family: var(--custom-wall-serif);
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-indent: 0.2em;
  color: #1f3a4d;
  text-align: center;
  line-height: 1.6;
  margin: 0 0 30px;
  padding: 0;
  width: auto;
}

.custom-ask__text.custom-ask__text {
  font-family: var(--custom-wall-serif);
  font-size: 20px;
  line-height: 2.15;
  color: #3c3a36;
  text-align: center;
  margin: 0 0 20px;
}

.custom-ask__text.custom-ask__text:last-child {
  margin-bottom: 0;
}

@media (max-width: 930px) {
  .custom-ask {
    margin-top: 36px;
    padding: 30px 22px 28px;
  }

  .custom-ask::before {
    inset: 5px;
  }

  .custom-ask__title.custom-ask__title {
    font-size: 21px;
    letter-spacing: 0.14em;
    text-indent: 0.14em;
    margin-bottom: 22px;
  }

  .custom-ask__text.custom-ask__text {
    font-size: 18px;
    line-height: 2;
    /* 幅が狭いと中央揃えの長い段落が読みにくいので左揃えへ */
    text-align: left;
    margin-bottom: 16px;
  }
}

/* なぜ「私たちでないといけないのか」（比較表） */
.custom-compare-intro.custom-compare-intro,
.custom-contact-intro.custom-contact-intro {
  text-align: center;
  font-size: 18px;
  line-height: 2;
  color: #3c3a36;
  margin: 0 0 44px;
}

.custom-compare-wrap {
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid rgba(0, 0, 0, 0.08);
}

.custom-compare-table.custom-compare-table {
  width: 100%;
  border-collapse: collapse;
  margin: 0;
}

.custom-compare-table.custom-compare-table th {
  background: #1f3a4d;
  color: #fff;
  font-size: 18px;
  font-weight: 700;
  text-align: center;
  padding: 16px 12px;
  border: none;
}

.custom-compare-table.custom-compare-table th.is-ours {
  background: #e6dcc4;
  color: #1f3a4d;
  font-size: 18px;
}

.custom-compare-table.custom-compare-table td {
  background: #fff;
  text-align: center;
  font-size: 18px;
  color: #1f3a4d;
  padding: 20px 12px;
  border: none;
  border-bottom: 1px solid rgba(0, 0, 0, 0.07);
}

.custom-compare-table.custom-compare-table td small {
  font-size: 14px;
  color: #5c574f;
  margin-left: 4px;
}

.custom-compare-table.custom-compare-table tr:last-child td {
  border-bottom: none;
}

.custom-compare-table.custom-compare-table td.custom-compare-table__item {
  text-align: left;
  padding-left: 24px;
  color: #2b2a28;
  font-weight: 500;
}

.custom-compare-table.custom-compare-table td.is-ours {
  background: #faf6ec;
  color: #1f3a4d;
  font-size: 18px;
}

.custom-compare-note.custom-compare-note {
  text-align: center;
  font-size: 21px;
  font-weight: 700;
  font-family: var(--custom-wall-serif);
  color: #1f3a4d;
  line-height: 2;
  margin: 28px 0 0;
}

.custom-compare-banner {
  margin: 36px auto 0;
  padding: 30px 32px;
  background: #fdfaf2;
  border: 1px solid var(--custom-wall-accent);
  border-radius: 6px;
  text-align: center;
}

.custom-compare-banner__main.custom-compare-banner__main {
  font-size: clamp(24px, 3vw, 32px);
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #1f3a4d;
  font-family: var(--custom-wall-serif);
  margin: 0 0 10px;
  line-height: 1.6;
}

.custom-compare-banner__sub.custom-compare-banner__sub {
  font-size: 18px;
  font-weight: 700;
  color: #1f3a4d;
  margin: 0;
}

@media (max-width: 930px) {
  .custom-compare-intro.custom-compare-intro {
    font-size: 16px;
    margin-bottom: 32px;
  }

  /* 表をカード化（横スクロールなし） */
  .custom-compare-wrap {
    border: none;
    border-radius: 0;
    overflow: visible;
  }

  .custom-compare-table.custom-compare-table,
  .custom-compare-table.custom-compare-table tbody,
  .custom-compare-table.custom-compare-table tr,
  .custom-compare-table.custom-compare-table td {
    display: block;
    width: 100%;
  }

  .custom-compare-table.custom-compare-table thead {
    display: none;
  }

  .custom-compare-table.custom-compare-table tr {
    margin-bottom: 16px;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 4px 14px rgba(31, 58, 77, 0.05);
  }

  .custom-compare-table.custom-compare-table tr:last-child {
    margin-bottom: 0;
  }

  .custom-compare-table.custom-compare-table td.custom-compare-table__item {
    background: #1f3a4d;
    color: #fff;
    font-size: 17px;
    font-weight: 700;
    padding: 12px 16px;
    border-bottom: none;
  }

  .custom-compare-table.custom-compare-table td:not(.custom-compare-table__item) {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding: 11px 16px;
    font-size: 19px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  }

  .custom-compare-table.custom-compare-table td:not(.custom-compare-table__item)::before {
    content: attr(data-label);
    font-size: 15px;
    font-weight: 600;
    color: #3c3a36;
    margin-right: auto;
  }

  .custom-compare-table.custom-compare-table td.is-ours {
    font-size: 19px;
    background: #e6dcc4;
  }

  .custom-compare-note.custom-compare-note {
    font-size: 15px;
  }

  .custom-compare-banner {
    padding: 22px 18px;
  }

  .custom-compare-banner__sub.custom-compare-banner__sub {
    font-size: 16px;
  }
}

/* よくあるご質問（アコーディオン） */
.custom-faq-lead.custom-faq-lead {
  text-align: center;
  font-size: 18px;
  color: #2e3d49;
  font-family: var(--custom-wall-serif);
  margin: 0 0 44px;
}

.custom-faq-list {
  counter-reset: faq;
  display: grid;
  gap: 20px;
}

.custom-faq-item {
  counter-increment: faq;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(31, 58, 77, 0.05);
  overflow: hidden;
}

.custom-faq-item__q.custom-faq-item__q {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 24px 28px;
  cursor: pointer;
  list-style: none;
  font-size: 21px;
  font-weight: 700;
  letter-spacing: 0.03em;
  color: #1f3a4d;
  font-family: var(--custom-wall-serif);
  line-height: 1.5;
}

.custom-faq-item__q::-webkit-details-marker {
  display: none;
}

.custom-faq-item__q::before {
  content: counter(faq, decimal-leading-zero);
  flex-shrink: 0;
  width: 52px;
  height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--custom-wall-accent);
  color: #fff;
  border-radius: 50%;
  font-size: 19px;
  font-weight: 700;
  line-height: 1;
}

.custom-faq-item__q::after {
  content: "\FF0B"; /* ＋ */
  margin-left: auto;
  flex-shrink: 0;
  font-size: 24px;
  font-weight: 400;
  color: var(--custom-wall-accent);
  transition: transform 0.25s ease;
}

.custom-faq-item[open] .custom-faq-item__q::after {
  content: "\FF0D"; /* － */
}

.custom-faq-item__a {
  padding: 0 28px 26px;
}

.custom-faq-item__a::before {
  content: "";
  display: block;
  height: 1px;
  background: var(--custom-wall-accent);
  margin-bottom: 20px;
}

.custom-faq-item__a.custom-faq-item__a p {
  font-size: 18px;
  line-height: 2;
  color: #2e3d49;
  font-family: var(--custom-wall-serif);
  margin: 0;
}

.custom-faq-banner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 32px;
  margin: 44px auto 0;
  padding: 30px 32px;
  background: #f9f4e8;
  border: 1px solid var(--custom-wall-accent);
  border-radius: 6px;
}

.custom-faq-banner > br,
.custom-faq-banner > p:empty {
  display: none;
}

.custom-faq-banner__icon {
  width: 96px;
  height: auto;
  flex-shrink: 0;
  padding-right: 32px;
  border-right: 1px solid rgba(178, 154, 104, 0.6);
  box-sizing: content-box;
}

.custom-faq-banner__text.custom-faq-banner__text {
  font-size: clamp(19px, 2.4vw, 24px);
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #1f3a4d;
  font-family: var(--custom-wall-serif);
  line-height: 1.8;
  margin: 0;
}

@media (max-width: 930px) {
  .custom-faq-lead.custom-faq-lead {
    font-size: 16px;
    margin-bottom: 32px;
  }

  .custom-faq-item__q.custom-faq-item__q {
    gap: 14px;
    padding: 18px 18px;
    font-size: 18px;
  }

  .custom-faq-item__q::before {
    width: 42px;
    height: 42px;
    font-size: 17px;
  }

  .custom-faq-item__a {
    padding: 0 18px 20px;
  }

  .custom-faq-item__a.custom-faq-item__a p {
    font-size: 16px;
  }

  .custom-faq-banner {
    flex-direction: column;
    gap: 16px;
    padding: 24px 18px;
    text-align: center;
  }

  .custom-faq-banner__icon {
    width: 48px;
    padding-right: 0;
    border-right: none;
  }
}

/* お問い合わせフォーム（Contact Form 7） */
.wpcf7.wpcf7 {
  border: none;
  background: transparent;
}

.wpcf7.wpcf7 form {
  margin: 0;
}

.custom-contact-form {
  position: relative;
  background: #fff;
  border: 1px solid rgba(178, 154, 104, 0.5);
  border-radius: 10px;
  padding: 56px 60px 44px;
  box-shadow: 0 18px 44px rgba(31, 58, 77, 0.08);
  overflow: hidden;
}

/* カード上端の金のライン（高級感の差し色） */
.custom-contact-form::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #d9c48c 0%, #b29a68 50%, #d9c48c 100%);
}

.custom-contact-row {
  display: grid;
  grid-template-columns: 232px 1fr;
  align-items: center;
  gap: 28px;
  margin-bottom: 26px;
}

/* 背の高いtextarea行は見出しを上端へ揃える */
.custom-contact-row:has(textarea) {
  align-items: start;
}

.custom-contact-row:has(textarea) .custom-contact-row__label {
  padding-top: 14px;
}

.custom-contact-row__label.custom-contact-row__label {
  font-size: 18px;
  font-weight: 600;
  color: #1f3a4d;
  font-family: var(--custom-wall-serif);
  line-height: 1.5;
  margin: 0;
  text-align: left;
}

/* 必須／任意のバッジ */
.custom-contact-req,
.custom-contact-opt {
  display: inline-block;
  margin-left: 10px;
  padding: 3px 9px 2px;
  border-radius: 3px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.5;
  font-family: var(--custom-wall-serif);
  vertical-align: 2px;
  white-space: nowrap;
}

/* 2026-08-21: ユーザー指示で金系から赤系へ。真っ赤は避け、紺・金・ベージュ基調から
   浮かない煉瓦色にした。文字色#a53f32は背景#faeae7に対してコントラスト比 約5.6:1 */
.custom-contact-req {
  background: #faeae7;
  border: 1px solid rgba(165, 63, 50, 0.3);
  color: #a53f32;
}

.custom-contact-opt {
  background: #f3f3f1;
  border: 1px solid rgba(31, 58, 77, 0.14);
  color: #6f6b64;
}

.custom-contact-row__field.custom-contact-row__field {
  margin: 0;
}

.custom-contact-form input[type="text"],
.custom-contact-form input[type="email"],
.custom-contact-form input[type="tel"],
.custom-contact-form textarea {
  width: 100%;
  background: #fbf8f1;
  border: 1px solid rgba(178, 154, 104, 0.45);
  border-radius: 6px;
  padding: 15px 18px;
  font-size: 17px;
  line-height: 1.6;
  color: #2b2a28;
  box-sizing: border-box;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.custom-contact-form input[type="text"]:hover,
.custom-contact-form input[type="email"]:hover,
.custom-contact-form input[type="tel"]:hover,
.custom-contact-form textarea:hover {
  border-color: rgba(178, 154, 104, 0.75);
}

.custom-contact-form input:focus,
.custom-contact-form textarea:focus,
.custom-contact-form select:focus {
  outline: none;
  border-color: #b08a2e;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(178, 138, 46, 0.16);
}

/* 記入例（placeholder）
   入力済みの文字（#2b2a28）とはっきり見分けがつく明るさにする。
   薄くしすぎると読めず、濃すぎると「もう入力されている」と誤解される。
   opacity:1 はFirefoxが既定で薄くするのを打ち消すため。 */
.custom-contact-form input::placeholder,
.custom-contact-form textarea::placeholder {
  color: #8a847a;
  opacity: 1;
}

/* ご用件ラジオ（無料相談／お問い合わせ）をボタン型の選択肢にする
   ※ tcd-classic-editorのutility.cssが .wpcf7 .wpcf7-list-item{display:block}を
   子テーマより後に読むため、詳細度を1段上げて上書きする */
.custom-contact-type .wpcf7-radio.wpcf7-radio {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.custom-contact-type .wpcf7-list-item.wpcf7-list-item {
  display: block;
  margin: 0;
}

.custom-contact-type label {
  display: block;
  cursor: pointer;
  margin: 0;
}

/* ラジオ本体は視覚的に隠し、キーボード操作は維持する */
.custom-contact-type input[type="radio"] {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  margin: 0;
  pointer-events: none;
}

.custom-contact-type .wpcf7-list-item-label {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 52px;
  padding: 10px 26px 10px 20px;
  background: #fbf8f1;
  border: 1px solid rgba(178, 154, 104, 0.45);
  border-radius: 999px;
  font-size: 17px;
  line-height: 1.5;
  color: #3c3a36;
  transition: border-color 0.2s ease, background 0.2s ease, color 0.2s ease;
}

/* 疑似ラジオのマーク */
.custom-contact-type .wpcf7-list-item-label::before {
  content: "";
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  border: 1px solid rgba(178, 138, 46, 0.55);
  border-radius: 50%;
  background: #fff;
  box-shadow: inset 0 0 0 4px #fff;
  transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.custom-contact-type label:hover .wpcf7-list-item-label {
  border-color: rgba(178, 154, 104, 0.85);
}

.custom-contact-type input[type="radio"]:checked + .wpcf7-list-item-label {
  background: #f7ecd7;
  border-color: #b08a2e;
  color: #1f3a4d;
  font-weight: 600;
}

.custom-contact-type input[type="radio"]:checked + .wpcf7-list-item-label::before {
  border-color: #b08a2e;
  background: #b08a2e;
  box-shadow: inset 0 0 0 3px #fff;
}

.custom-contact-type input[type="radio"]:focus-visible + .wpcf7-list-item-label {
  border-color: #b08a2e;
  box-shadow: 0 0 0 3px rgba(178, 138, 46, 0.22);
}

/* 無料相談の候補日時（日付＋時間帯）はカード内の帯として区切る */
.custom-contact-slots {
  background: #fbf7ef;
  border-top: 1px solid rgba(178, 154, 104, 0.3);
  border-bottom: 1px solid rgba(178, 154, 104, 0.3);
  margin: 0 -60px 30px;
  padding: 30px 60px 6px;
}

.custom-contact-slots__lead.custom-contact-slots__lead {
  font-size: 16px;
  color: #5c574f;
  line-height: 1.7;
  margin: 0 0 20px;
}

.custom-contact-slot.custom-contact-slot {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.custom-contact-form input[type="date"],
.custom-contact-form .custom-contact-slot select {
  box-sizing: border-box;
  min-height: 52px;
  background: #fff;
  border: 1px solid rgba(178, 154, 104, 0.45);
  border-radius: 6px;
  padding: 12px 14px;
  font-size: 17px;
  line-height: 1.6;
  color: #2b2a28;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.custom-contact-form input[type="date"] {
  width: 220px;
}

.custom-contact-form input[type="date"]::-webkit-calendar-picker-indicator {
  cursor: pointer;
  opacity: 0.55;
}

/* selectの矢印を金色の細い山形へ差し替える */
.custom-contact-form .custom-contact-slot select {
  width: 220px;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  padding-right: 40px;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='9' viewBox='0 0 13 9'%3E%3Cpath d='M1.2 1.6 6.5 6.9l5.3-5.3' fill='none' stroke='%23b08a2e' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  cursor: pointer;
}

.custom-contact-form input[type="date"]:hover,
.custom-contact-form .custom-contact-slot select:hover {
  border-color: rgba(178, 154, 104, 0.85);
}

/* CF7のtextareaは既定のrows属性で高さが決まるため、heightで明示的に抑える
   （親テーマ側のtextarea高さ指定に負けないようクラスで詳細度を上げる） */
.custom-contact-form textarea.wpcf7-textarea {
  height: 170px;
  min-height: 120px;
  resize: vertical;
}

.custom-contact-form textarea[name="property"] {
  height: 120px;
}

/* スパム対策の確認欄（CF7標準の[quiz]）
   外部サービスを使わずボット送信を弾く。答えは数字のみにしてあるため、
   CF7側のmb_convert_kana('asKV')が全角数字を半角へ正規化し、
   表記ゆれで正規の送信者を弾くことがない */
.custom-contact-quiz.custom-contact-quiz {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px;
}

.custom-contact-quiz label {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0;
}

.custom-contact-quiz .wpcf7-quiz-label {
  font-size: 19px;
  font-weight: 700;
  color: #1f3a4d;
  letter-spacing: 0.06em;
  white-space: nowrap;
}

/* 1桁の入力なので、他の項目の幅100%指定を打ち消して狭くする */
.custom-contact-form .custom-contact-quiz input[type="text"] {
  width: 110px;
  min-height: 52px;
  padding: 12px 14px;
  text-align: center;
}

.custom-contact-quiz__note {
  display: block;
  width: 100%;
  margin: 0;
  font-size: 14px;
  line-height: 1.7;
  color: #6f6b64;
}

.custom-contact-submit {
  margin-top: 40px;
  text-align: center;
}

.custom-contact-submit input[type="submit"] {
  display: block;
  width: 100%;
  max-width: 440px;
  height: auto;
  background: linear-gradient(180deg, #c9a45c 0%, #b78d3c 100%);
  color: #fff;
  font-size: 19px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.16em;
  text-indent: 0.16em;
  text-align: center;
  border: none;
  border-radius: 999px;
  padding: 19px 20px;
  margin: 0 auto;
  cursor: pointer;
  box-shadow: 0 12px 26px rgba(178, 138, 46, 0.26);
  transition: background 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.custom-contact-submit input[type="submit"]:hover {
  background: linear-gradient(180deg, #bf9850 0%, #a87f31 100%);
  box-shadow: 0 14px 30px rgba(178, 138, 46, 0.32);
  transform: translateY(-1px);
}

.custom-contact-submit input[type="submit"]:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(31, 58, 77, 0.25), 0 12px 26px rgba(178, 138, 46, 0.26);
}

/* 送信中インジケーター。
   2026-08-21: CF7既定は visibility: hidden なので待機中も24px＋余白14pxの場所を取り、
   送信ボタンと下の一文の間に約52pxの空きを作っていた。送信中だけ場所を取るようにする */
.custom-contact-submit .wpcf7-spinner {
  display: none;
  margin: 14px auto 0;
}

.wpcf7-form.submitting .custom-contact-submit .wpcf7-spinner {
  display: block;
}

/* 2026-08-21: ユーザー指示で送信ボタンの直下へ寄せた（余白 20px → 10px） */
.custom-contact-note.custom-contact-note {
  text-align: center;
  font-size: 15px;
  color: #6f6b64;
  line-height: 1.7;
  margin: 10px 0 0;
}

/* 送信完了パネル
   CF7 6.xは送信結果をform[data-status]に持たせる（成功時は "sent"）。
   そのためJSに頼らずCSSだけで「フォームを隠して完了画面を出す」ことができる。
   パネルは .custom-contact-form の外側・同階層に置いてある（_form 参照）。
   中に入れるとフォームごと隠したときにパネルまで消えるため。 */
.custom-contact-done {
  display: none;
  position: relative;
  background: #fff;
  border: 1px solid rgba(178, 154, 104, 0.5);
  border-radius: 10px;
  padding: 64px 60px 60px;
  box-shadow: 0 18px 44px rgba(31, 58, 77, 0.08);
  overflow: hidden;
  text-align: center;
}

/* フォームカードと同じ金のラインを上端へ */
.custom-contact-done::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #d9c48c 0%, #b29a68 50%, #d9c48c 100%);
}

.wpcf7-form[data-status="sent"] .custom-contact-form {
  display: none;
}

.wpcf7-form[data-status="sent"] .custom-contact-done {
  display: block;
}

/* 完了パネルと内容が重複するので、CF7既定の通知バーは成功時だけ隠す
   （エラー時は引き続き表示する） */
.wpcf7-form[data-status="sent"] .wpcf7-response-output {
  display: none;
}

.custom-contact-done__mark.custom-contact-done__mark {
  width: 64px;
  height: 64px;
  margin: 0 auto 26px;
  border-radius: 50%;
  background: linear-gradient(135deg, #c9ab6d 0%, #a8873c 100%);
  color: #fff;
  font-size: 32px;
  line-height: 64px;
  box-shadow: 0 8px 20px rgba(176, 138, 46, 0.28);
}

.custom-contact-done__title.custom-contact-done__title {
  margin: 0 0 22px;
  font-family: var(--custom-wall-serif);
  font-size: 26px;
  font-weight: 700;
  color: #1f3a4d;
  letter-spacing: 0.04em;
  line-height: 1.5;
}

.custom-contact-done__text.custom-contact-done__text {
  margin: 0 0 24px;
  font-size: 18px;
  line-height: 2;
  color: #2b2a28;
}

.custom-contact-done__note.custom-contact-done__note {
  margin: 0;
  font-size: 15px;
  line-height: 1.8;
  color: #6f6b64;
}

/* CF7のバリデーションメッセージ */
.custom-contact-form .wpcf7-not-valid-tip {
  display: block;
  margin-top: 8px;
  font-size: 15px;
  line-height: 1.6;
  color: #b03a2b;
}

.custom-contact-form input.wpcf7-not-valid,
.custom-contact-form textarea.wpcf7-not-valid,
.custom-contact-form select.wpcf7-not-valid {
  border-color: #d08a80;
  background: #fdf6f5;
}

.wpcf7 .wpcf7-response-output.wpcf7-response-output {
  border-radius: 6px;
  border-width: 1px;
  padding: 14px 18px;
  margin: 24px 0 0;
  font-size: 16px;
  line-height: 1.7;
  text-align: center;
}

@media (max-width: 930px) {
  .custom-contact-form {
    padding: 30px 18px 28px;
    border-radius: 8px;
    box-shadow: 0 10px 26px rgba(31, 58, 77, 0.07);
  }

  .custom-contact-row {
    grid-template-columns: 1fr;
    gap: 10px;
    margin-bottom: 22px;
  }

  .custom-contact-row__label.custom-contact-row__label {
    font-size: 17px;
  }

  .custom-contact-form input[type="text"],
  .custom-contact-form input[type="email"],
  .custom-contact-form input[type="tel"],
  .custom-contact-form textarea {
    /* iOSの自動ズームを避けるため16px未満にしない */
    padding: 14px 15px;
    font-size: 17px;
  }

  .custom-contact-form input[type="text"],
  .custom-contact-form input[type="email"],
  .custom-contact-form input[type="tel"] {
    min-height: 52px;
  }

  /* ご用件は2列の大きめタップ領域に */
  .custom-contact-type .wpcf7-radio.wpcf7-radio {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }

  .custom-contact-type .wpcf7-list-item-label {
    justify-content: center;
    padding: 10px 12px;
    gap: 8px;
    font-size: 16px;
  }

  .custom-contact-slots {
    margin: 4px -18px 24px;
    padding: 22px 18px 4px;
  }

  .custom-contact-slots__lead.custom-contact-slots__lead {
    font-size: 15px;
    margin: 0 0 16px;
  }

  /* CF7のラッパーspanがフレックスアイテムのため、span側に幅を与えて縦積みにする */
  .custom-contact-slot.custom-contact-slot {
    gap: 10px;
  }

  .custom-contact-slot .wpcf7-form-control-wrap {
    width: 100%;
  }

  .custom-contact-form input[type="date"],
  .custom-contact-form .custom-contact-slot select {
    width: 100%;
  }

  .custom-contact-submit {
    margin-top: 30px;
  }

  .custom-contact-submit input[type="submit"] {
    max-width: none;
    font-size: 18px;
    letter-spacing: 0.12em;
    text-indent: 0.12em;
    padding: 18px;
  }

  .custom-contact-note.custom-contact-note {
    font-size: 14px;
  }

  .custom-contact-done {
    padding: 46px 22px 40px;
  }

  .custom-contact-done__mark.custom-contact-done__mark {
    width: 56px;
    height: 56px;
    margin-bottom: 22px;
    font-size: 28px;
    line-height: 56px;
  }

  .custom-contact-done__title.custom-contact-done__title {
    font-size: 22px;
    margin-bottom: 18px;
  }

  .custom-contact-done__text.custom-contact-done__text {
    font-size: 17px;
    line-height: 1.9;
    margin-bottom: 20px;
  }
}

/* 事例記事（Before/Afterテンプレート） */
.custom-case-label.custom-case-label {
  text-align: center;
  font-size: 20px;
  font-weight: 700;
  color: #1f3a4d;
  margin: 0 0 12px;
}

.custom-case-title.custom-case-title {
  text-align: center;
  font-size: clamp(28px, 4vw, 40px);
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.5;
  color: #1f3a4d;
  font-family: var(--custom-wall-serif);
  margin: 0 0 24px;
}

.custom-case-title__arrow {
  color: var(--custom-wall-accent);
  margin-inline: 0.1em;
}

.custom-case-intro.custom-case-intro {
  text-align: center;
  font-size: 18px;
  line-height: 2;
  color: #3c3a36;
  margin: 0 0 48px;
}

.custom-case-ba {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: stretch;
  gap: 24px;
}

.custom-case-card {
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 14px;
  padding: 32px 36px;
  box-shadow: 0 10px 30px rgba(31, 58, 77, 0.06);
}

.custom-case-card__title.custom-case-card__title {
  text-align: center;
  font-size: 26px;
  font-weight: 700;
  color: #1f3a4d;
  font-family: var(--custom-wall-serif);
  margin: 0 0 20px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--custom-wall-accent);
}

.custom-case-card__row {
  display: grid;
  grid-template-columns: 112px 1fr;
  align-items: baseline;
  gap: 12px;
  padding: 14px 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.07);
}

.custom-case-card__row:last-child {
  border-bottom: none;
}

.custom-case-card__key {
  position: relative;
  padding-left: 1.1em;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.7;
  color: #2b2a28;
}

.custom-case-card__key::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.85em;
  transform: translateY(-50%);
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--custom-wall-accent);
}

.custom-case-card__val {
  font-size: 17px;
  line-height: 1.7;
  color: #3c3a36;
}

.custom-case-card__val strong {
  font-size: 20px;
  font-weight: 700;
  color: #1f3a4d;
}

.custom-case-arrow {
  align-self: center;
  font-size: 44px;
  font-weight: 700;
  color: var(--custom-wall-accent);
  line-height: 1;
}

.custom-case-note.custom-case-note {
  text-align: center;
  font-size: 18px;
  line-height: 2;
  color: #3c3a36;
  margin: 44px 0 0;
}

.custom-case-result {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 24px;
  margin: 36px 0 0;
  padding: 32px 36px;
  background: #fdf8ec;
  border: 1px solid var(--custom-wall-accent);
  border-radius: 6px;
}

.custom-case-result__item {
  text-align: center;
  font-size: 18px;
  font-weight: 700;
  color: #1f3a4d;
  font-family: var(--custom-wall-serif);
  line-height: 1.8;
}

.custom-case-result__item strong {
  font-size: clamp(24px, 2.6vw, 32px);
  color: #1f3a4d;
}

.custom-case-result__plus {
  font-size: 36px;
  font-weight: 700;
  color: var(--custom-wall-accent);
  font-family: var(--custom-wall-serif);
  line-height: 1;
}

/* 事例：ラベルの飾り線・サブタイトル・区切り線 */
.custom-case-label--lines {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
}

.custom-case-label--lines::before,
.custom-case-label--lines::after {
  content: "";
  width: 56px;
  height: 1px;
  background: var(--custom-wall-accent);
}

.custom-case-title__sub {
  display: block;
  margin-top: 6px;
  font-size: 0.72em;
}

.custom-case-divider {
  width: 130px;
  height: 2px;
  background: var(--custom-wall-accent);
  margin: 0 auto 32px;
}

/* 事例：課題／解決カード */
.custom-case-points {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  margin: 0 0 24px;
}

.custom-case-point {
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 14px;
  padding: 30px 32px;
  box-shadow: 0 10px 30px rgba(31, 58, 77, 0.06);
}

.custom-case-point__title.custom-case-point__title {
  display: flex;
  align-items: center;
  gap: 14px;
  font-size: 22px;
  font-weight: 700;
  color: #1f3a4d;
  font-family: var(--custom-wall-serif);
  margin: 0 0 20px;
  text-align: left;
}

.custom-case-point__title::before {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid var(--custom-wall-accent);
  border-radius: 50%;
  color: var(--custom-wall-accent);
  font-size: 20px;
  font-weight: 700;
  font-family: sans-serif;
  line-height: 1;
}

.custom-case-point__title--ng::before {
  content: "\00D7"; /* × */
}

.custom-case-point__title--ok::before {
  content: "\2713"; /* ✓ */
}

.custom-case-point__title::after {
  content: "";
  flex: 1;
  height: 1px;
  background: rgba(178, 154, 104, 0.55);
}

.custom-case-point__list.custom-case-point__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.custom-case-point__list.custom-case-point__list li {
  position: relative;
  padding-left: 1.8em;
  font-size: 17px;
  line-height: 1.8;
  color: #3c3a36;
  margin: 0 0 12px;
}

.custom-case-point__list.custom-case-point__list li:last-child {
  margin-bottom: 0;
}

.custom-case-point__list.custom-case-point__list li::before {
  position: absolute;
  left: 0;
  top: 0;
  color: var(--custom-wall-accent);
  font-weight: 700;
  font-family: sans-serif;
}

.custom-case-point__list--ng.custom-case-point__list--ng li::before {
  content: "\00D7";
}

.custom-case-point__list--ok.custom-case-point__list--ok li::before {
  content: "\2713";
}

/* 事例：成果タイル */
.custom-case-stats {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}

.custom-case-stat {
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 14px;
  padding: 30px 24px;
  box-shadow: 0 10px 30px rgba(31, 58, 77, 0.06);
  text-align: center;
}

.custom-case-stat__icon {
  width: 56px;
  height: auto;
  margin: 0 auto 14px;
  display: block;
}

.custom-case-stat__label.custom-case-stat__label {
  display: inline-block;
  font-size: 18px;
  font-weight: 700;
  color: #1f3a4d;
  margin: 0 0 14px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(178, 154, 104, 0.55);
}

.custom-case-stat__value.custom-case-stat__value {
  font-size: clamp(24px, 2.8vw, 32px);
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #a07d2a;
  font-family: var(--custom-wall-serif);
  margin: 0;
  line-height: 1.4;
}

@media (max-width: 930px) {
  .custom-case-points {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .custom-case-point {
    padding: 22px 18px;
  }

  .custom-case-point__title.custom-case-point__title {
    font-size: 18px;
  }

  .custom-case-point__title::before {
    width: 32px;
    height: 32px;
    font-size: 17px;
  }

  .custom-case-point__list.custom-case-point__list li {
    font-size: 15px;
  }

  .custom-case-stats {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .custom-case-stat {
    padding: 22px 18px;
  }

  .custom-case-stat__value.custom-case-stat__value {
    font-size: 22px;
  }
}

/* 事例：タイトル2行目の飾り線 */
.custom-case-title__sub--lines {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
}

.custom-case-title__sub--lines::before,
.custom-case-title__sub--lines::after {
  content: "";
  width: 44px;
  height: 2px;
  background: var(--custom-wall-accent);
}

/* 事例：課題ボックス */
.custom-case-issue {
  background: #fffdf8;
  border: 1px solid var(--custom-wall-accent);
  border-radius: 6px;
  padding: 24px 32px;
  margin: 0 0 36px;
}

.custom-case-issue__text.custom-case-issue__text {
  font-size: 17px;
  line-height: 2;
  color: #2b2a28;
  margin: 0;
}

/* 事例：効果カード3枚 */
.custom-case-merits {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin: 0 0 36px;
}

.custom-case-merit {
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 14px;
  padding: 28px 26px;
  box-shadow: 0 10px 30px rgba(31, 58, 77, 0.06);
}

.custom-case-merit__head.custom-case-merit__head {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 18px;
  font-weight: 700;
  color: #1f3a4d;
  margin: 0 0 18px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(178, 154, 104, 0.55);
  text-align: left;
}

.custom-case-merit__num {
  flex-shrink: 0;
  width: 26px;
  height: 26px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  font-size: 15px;
  font-weight: 700;
  font-family: sans-serif;
  line-height: 1;
}

.custom-case-merit--c1 .custom-case-merit__num {
  background: #1f3a4d;
  color: #fff;
}

.custom-case-merit--c2 .custom-case-merit__head {
  color: #25806a;
}

.custom-case-merit--c2 .custom-case-merit__num {
  border: 2px solid #25806a;
  color: #25806a;
}

.custom-case-merit--c3 .custom-case-merit__head {
  color: #a07d2a;
}

.custom-case-merit--c3 .custom-case-merit__num {
  border: 2px solid #a07d2a;
  color: #a07d2a;
}

.custom-case-merit__value.custom-case-merit__value {
  font-size: clamp(20px, 1.8vw, 25px);
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.5;
  color: #1f3a4d;
  font-family: var(--custom-wall-serif);
  margin: 0 0 18px;
  text-align: left;
}

.custom-case-merit__text.custom-case-merit__text {
  font-size: 16px;
  line-height: 1.9;
  color: #3c3a36;
  margin: 0;
}

/* 事例：まとめ帯 */
.custom-case-summary {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  text-align: center;
  background: #f9f4e8;
  border: 1px solid var(--custom-wall-accent);
  border-radius: 6px;
  padding: 22px 28px;
}

.custom-case-summary__item.custom-case-summary__item,
.custom-case-summary.custom-case-summary p {
  font-size: clamp(20px, 2.2vw, 24px);
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #1f3a4d;
  font-family: var(--custom-wall-serif);
  line-height: 1.7;
  margin: 0;
}

.custom-case-summary br {
  display: none;
}

.custom-case-summary__sep {
  display: none;
}

@media (max-width: 930px) {
  .custom-case-issue {
    padding: 18px 16px;
  }

  .custom-case-issue__text.custom-case-issue__text {
    font-size: 15px;
  }

  .custom-case-merits {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .custom-case-merit {
    padding: 22px 18px;
  }

  .custom-case-merit__value.custom-case-merit__value {
    font-size: 22px;
  }

  .custom-case-merit__text.custom-case-merit__text {
    font-size: 15px;
  }

  .custom-case-summary {
    gap: 6px;
    padding: 18px 16px;
  }

  .custom-case-summary__item.custom-case-summary__item,
  .custom-case-summary.custom-case-summary p {
    font-size: 17px;
  }
}

/* 事例：タイトル2行目を1行目と同じ大きさにする修飾 */
.custom-case-title__sub--xl {
  font-size: 1em;
}

/* 事例：A/Bミニ比較カード */
.custom-case-pair {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  margin: 0 0 36px;
}

.custom-case-mini {
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 14px;
  padding: 26px 24px;
  box-shadow: 0 10px 30px rgba(31, 58, 77, 0.06);
}

.custom-case-mini__badge.custom-case-mini__badge {
  display: block;
  width: fit-content;
  margin: 0 auto 22px;
  padding: 8px 22px;
  background: #1f3a4d;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  border-radius: 999px;
  text-align: center;
}

.custom-case-mini__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.custom-case-mini__col + .custom-case-mini__col {
  border-left: 1px solid rgba(0, 0, 0, 0.1);
  padding-left: 18px;
}

.custom-case-mini__col:first-child {
  padding-right: 18px;
}

.custom-case-mini__ba.custom-case-mini__ba {
  text-align: center;
  font-size: 20px;
  font-weight: 700;
  color: #a07d2a;
  font-family: var(--custom-wall-serif);
  letter-spacing: 0.06em;
  margin: 0 0 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--custom-wall-accent);
}

.custom-case-mini__row {
  display: grid;
  grid-template-columns: 6.5em 1fr;
  gap: 6px;
  align-items: baseline;
  padding: 7px 0;
  font-size: 15px;
}

.custom-case-mini__key {
  position: relative;
  padding-left: 1.2em;
  color: #2b2a28;
  line-height: 1.6;
}

.custom-case-mini__key::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.8em;
  transform: translateY(-50%);
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--custom-wall-accent);
}

.custom-case-mini__val {
  font-weight: 700;
  color: #1f3a4d;
  line-height: 1.6;
}

.custom-case-mini__result {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px dashed rgba(0, 0, 0, 0.18);
}

.custom-case-mini__result-label {
  flex-shrink: 0;
  padding-right: 18px;
  border-right: 1px solid var(--custom-wall-accent);
  font-size: 18px;
  font-weight: 700;
  color: #a07d2a;
  font-family: var(--custom-wall-serif);
}

.custom-case-mini__result-body strong {
  display: block;
  font-size: clamp(20px, 1.8vw, 24px);
  font-weight: 700;
  color: #1f3a4d;
  font-family: var(--custom-wall-serif);
  line-height: 1.5;
}

.custom-case-mini__result-body span {
  display: block;
  font-size: 15px;
  color: #3c3a36;
  margin-top: 2px;
}

/* 事例：最終まとめバナー（左に大数字・右に説明） */
.custom-case-final {
  display: flex;
  align-items: center;
  gap: 28px;
  background: #fdf8ec;
  border: 1px solid var(--custom-wall-accent);
  border-radius: 6px;
  padding: 30px 36px;
}

.custom-case-final__left.custom-case-final__left {
  flex-shrink: 0;
  font-size: 22px;
  font-weight: 700;
  color: #1f3a4d;
  font-family: var(--custom-wall-serif);
  line-height: 1.4;
  margin: 0;
}

.custom-case-final__left strong {
  font-size: 2em;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.custom-case-final__right.custom-case-final__right {
  border-left: 1px solid rgba(178, 154, 104, 0.6);
  padding-left: 28px;
  font-size: 18px;
  font-weight: 700;
  color: #1f3a4d;
  line-height: 2;
  margin: 0;
}

@media (max-width: 930px) {
  .custom-case-pair {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .custom-case-mini {
    padding: 20px 16px;
  }

  .custom-case-mini__badge.custom-case-mini__badge {
    font-size: 14px;
    padding: 6px 16px;
  }

  .custom-case-mini__ba.custom-case-mini__ba {
    font-size: 18px;
  }

  .custom-case-mini__row {
    grid-template-columns: 6em 1fr;
    font-size: 13px;
  }

  .custom-case-mini__col + .custom-case-mini__col {
    padding-left: 12px;
  }

  .custom-case-mini__col:first-child {
    padding-right: 12px;
  }

  .custom-case-mini__result-body strong {
    font-size: 18px;
  }

  .custom-case-mini__result-body span {
    font-size: 13px;
  }

  .custom-case-final {
    flex-direction: column;
    gap: 14px;
    padding: 22px 18px;
    text-align: center;
  }

  .custom-case-final__left.custom-case-final__left {
    font-size: 18px;
  }

  .custom-case-final__right.custom-case-final__right {
    border-left: none;
    border-top: 1px solid rgba(178, 154, 104, 0.6);
    padding-left: 0;
    padding-top: 14px;
    font-size: 15px;
  }
}

/* 事例：4ステップのフロー図 */
.custom-case-flow {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr;
  align-items: stretch;
  gap: 10px;
  margin: 0 0 32px;
}

.custom-case-flow__step {
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 12px;
  padding: 24px 14px;
  box-shadow: 0 8px 24px rgba(31, 58, 77, 0.05);
  text-align: center;
}

.custom-case-flow__num {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 14px;
  background: var(--custom-wall-accent);
  color: #fff;
  border-radius: 50%;
  font-size: 15px;
  font-weight: 700;
  font-family: var(--custom-wall-serif);
  line-height: 1;
}

.custom-case-flow__name.custom-case-flow__name {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 3.2em;
  font-size: 19px;
  font-weight: 700;
  color: #1f3a4d;
  font-family: var(--custom-wall-serif);
  line-height: 1.6;
  margin: 0 0 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--custom-wall-accent);
  text-align: center;
}

.custom-case-flow__desc.custom-case-flow__desc {
  font-size: 17px;
  line-height: 1.9;
  color: #3c3a36;
  margin: 0;
}

.custom-case-flow__arrow {
  align-self: center;
  font-size: 24px;
  font-weight: 700;
  color: var(--custom-wall-accent);
  line-height: 1;
}

/* 事例：色分けされた効果行 */
.custom-case-gains {
  display: grid;
  gap: 18px;
  margin: 0 0 32px;
}

.custom-case-gain {
  display: grid;
  grid-template-columns: 56px 250px 1fr;
  align-items: center;
  gap: 26px;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.05);
  border-left-width: 6px;
  border-radius: 10px;
  padding: 24px 30px;
  box-shadow: 0 8px 24px rgba(31, 58, 77, 0.05);
}

.custom-case-gain__icon {
  width: 56px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
}

.custom-case-gain__icon img {
  width: 34px;
  height: 34px;
  display: block;
}

.custom-case-gain--c1 {
  border-left-color: #1f3a4d;
}

.custom-case-gain--c1 .custom-case-gain__icon {
  background: #1f3a4d;
}

.custom-case-gain--c2 {
  border-left-color: #25806a;
}

.custom-case-gain--c2 .custom-case-gain__icon {
  background: #25806a;
}

.custom-case-gain--c3 {
  border-left-color: var(--custom-wall-accent);
}

.custom-case-gain--c3 .custom-case-gain__icon {
  background: var(--custom-wall-accent);
}

.custom-case-gain__title.custom-case-gain__title {
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #1f3a4d;
  font-family: var(--custom-wall-serif);
  margin: 0;
  text-align: left;
}

.custom-case-gain__text.custom-case-gain__text {
  border-left: 1px solid rgba(178, 154, 104, 0.55);
  padding-left: 26px;
  font-size: 18px;
  line-height: 1.9;
  color: #3c3a36;
  margin: 0;
}

@media (max-width: 930px) {
  .custom-case-flow {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .custom-case-flow__arrow {
    justify-self: center;
    transform: rotate(90deg);
    font-size: 20px;
  }

  .custom-case-flow__step {
    padding: 18px 14px;
  }

  .custom-case-flow__name.custom-case-flow__name {
    font-size: 17px;
    margin-bottom: 8px;
    padding-bottom: 8px;
  }

  .custom-case-flow__desc.custom-case-flow__desc {
    font-size: 14px;
  }

  .custom-case-gain {
    grid-template-columns: 44px 1fr;
    gap: 12px 16px;
    padding: 18px 16px;
  }

  .custom-case-gain__icon {
    width: 44px;
    height: 44px;
  }

  .custom-case-gain__icon img {
    width: 26px;
    height: 26px;
  }

  .custom-case-gain__title.custom-case-gain__title {
    font-size: 18px;
  }

  .custom-case-gain__text.custom-case-gain__text {
    grid-column: 1 / -1;
    border-left: none;
    border-top: 1px solid rgba(178, 154, 104, 0.55);
    padding-left: 0;
    padding-top: 12px;
    font-size: 15px;
  }
}

/* 後から入れる画像用 */
.custom-case-image {
  margin: 44px 0;
}

.custom-case-image img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(31, 58, 77, 0.08);
}

/* CTA（申し込み誘導） */
.custom-case-cta {
  margin: 56px 0 0;
  padding: 44px 36px;
  background: #1f3a4d;
  border-radius: 14px;
  text-align: center;
}

.custom-case-cta__text.custom-case-cta__text {
  font-size: clamp(20px, 2.4vw, 26px);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.8;
  color: #fff;
  font-family: var(--custom-wall-serif);
  margin: 0 0 24px;
}

.custom-case-cta__button {
  display: inline-block;
  min-width: min(420px, 100%);
  padding: 18px 40px;
  background: #c29a4d;
  color: #fff !important;
  font-size: 19px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-indent: 0.1em;
  text-decoration: none !important;
  border-radius: 8px;
  transition: background 0.2s ease;
}

.custom-case-cta__button:hover {
  background: #d3ab5e;
}

.custom-case-cta__note.custom-case-cta__note {
  font-size: 15px;
  color: rgba(255, 255, 255, 0.75);
  margin: 16px 0 0;
}

@media (max-width: 930px) {
  .custom-case-label.custom-case-label {
    font-size: 17px;
  }

  .custom-case-intro.custom-case-intro {
    font-size: 16px;
    margin-bottom: 32px;
  }

  .custom-case-ba {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .custom-case-arrow {
    justify-self: center;
    transform: rotate(90deg);
    font-size: 34px;
  }

  .custom-case-card {
    padding: 24px 20px;
  }

  .custom-case-card__title.custom-case-card__title {
    font-size: 21px;
  }

  .custom-case-card__row {
    /* 文字拡大(15px)後も「ニューマネー」（項目名）と「3.7%（年間利息2,960万円）」
       （値）の両方が1行に収まるよう、列幅と間隔を配分 */
    grid-template-columns: 108px 1fr;
    gap: 8px;
    padding: 12px 0;
  }

  .custom-case-card__key,
  .custom-case-card__val {
    font-size: 15px;
  }

  .custom-case-card__val strong {
    font-size: 18px;
  }

  .custom-case-note.custom-case-note {
    font-size: 16px;
    margin-top: 32px;
  }

  .custom-case-result {
    grid-template-columns: 1fr;
    gap: 14px;
    padding: 24px 18px;
  }

  .custom-case-result__item {
    font-size: 16px;
  }

  .custom-case-cta {
    padding: 30px 20px;
  }

  .custom-case-cta__button {
    min-width: 100%;
    font-size: 17px;
    padding: 15px 20px;
  }
}

.compare-table {
  width: 100%;
  border-collapse: collapse;
  margin: 0 0 1rem 0;
}

.compare-table thead th {
  text-align: left;
  padding: 0.9rem 1rem;
  font-weight: 800;
  color: var(--accent-dark);
  background: #f6f0e6;
  border-bottom: 2px solid rgba(28,36,48,0.06);
}

.compare-table tbody td {
  padding: 1rem;
  border-bottom: 1px solid rgba(28,36,48,0.06);
  vertical-align: top;
  background: #ffffff;
}

.compare-table tbody tr:nth-child(odd) td {
  background: #fbf8f4;
}

.compare-table tbody td:first-child {
  width: 18%;
  font-weight: 700;
}

/* モバイル: 行をカード化してラベル表示 */
@media (max-width: 980px) {
  .compare-table, .compare-table thead, .compare-table tbody, .compare-table th, .compare-table td, .compare-table tr {
    display: block;
  }

  .compare-table thead { display: none; }

  .compare-table tbody tr {
    margin-bottom: 1rem;
    border: 1px solid rgba(28,36,48,0.06);
    border-radius: 0.8rem;
    overflow: hidden;
    background: #ffffff;
  }

  .compare-table tbody td {
    display: flex;
    padding: 0.75rem 1rem;
  }

  .compare-table tbody td::before {
    content: attr(data-label) ": ";
    flex: 0 0 40%;
    font-weight: 700;
    color: var(--accent-dark);
    padding-right: 0.5rem;
  }
}

.split-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.panel {
  border-radius: 1rem;
  padding: 1.75rem;
  background: #ffffff;
  border: 1px solid rgba(28, 36, 48, 0.08);
  box-shadow: 0 18px 48px rgba(17, 25, 34, 0.08);
  backdrop-filter: blur(14px);
}

.panel.panel h3 {
  margin-top: 0;
  margin-bottom: 1rem;
  font-size: 1.5rem;
}

.panel ul {
  margin: 0;
  padding-left: 1.5rem;
}

.panel.panel li {
  margin-bottom: 0.75rem;
  line-height: 1.8;
  font-size: 18px;
}

.panel-left {
  border-top: 4px solid #2a3652;
}

.panel-right {
  border-top: 4px solid #8b6a3f;
}

.strength-highlight {
  margin-top: 2rem;
  padding: 2rem;
  border-radius: 1rem;
  background: #ffffff;
  border: 1px solid rgba(28, 36, 48, 0.12);
}

.strength-highlight.strength-highlight p {
  margin: 0 0 0.8rem;
  line-height: 1.8;
  font-size: 18px;
}

.strength-highlight p:first-child {
  font-weight: 700;
  color: var(--accent-dark);
}

@media (max-width: 930px) {
  .panel.panel h3 {
    font-size: 1.25rem;
  }

  .panel.panel li,
  .strength-highlight.strength-highlight p {
    font-size: 16px;
  }
}

/* レスポンシブ: 2列を1列に */
@media (max-width: 980px) {
  .split-grid {
    grid-template-columns: 1fr;
  }
}

.home :is(.tcdce-body, .editor-styles-wrapper) * + h3 {
  margin-top: 0;
}

/* 会社概要 */
.custom-wall-profile-section {
  max-width: 1100px;
  margin: 0 auto;
  padding: 40px 24px 48px;
  background: transparent;
}

.custom-wall-profile-heading.custom-wall-profile-heading {
  position: relative;
  display: block;
  width: 100%;
  text-align: center;
  /* letter-spacing の末尾スペース分を先頭にも足して字面を完全に中央へ */
  text-indent: 0.08em;
  font-size: clamp(24px, 2.8vw, 30px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.08em;
  color: #1f3a4d;
  font-family: var(--custom-wall-serif);
  margin: 0 0 40px;
  padding: 0 0 24px;
}

.custom-wall-profile-heading.custom-wall-profile-heading::after {
  content: "";
  position: absolute;
  top: auto;
  right: auto;
  bottom: 0;
  left: 50%;
  margin: 0;
  transform: translateX(-50%);
  width: min(280px, 60%);
  height: 1px;
  background: var(--custom-wall-accent);
}

/*
 * tcd-classic-editor の「:is(.tcdce-body) h2:before」が
 * inset-block(top:0) と margin:auto を設定するため、
 * top / right / margin を明示的に打ち消さないと
 * バーが見出しの縦中央（テキスト上）に重なってしまう。
 */
.custom-wall-profile-heading.custom-wall-profile-heading::before {
  content: "";
  position: absolute;
  top: auto;
  right: auto;
  bottom: -1px;
  left: 50%;
  margin: 0;
  transform: translateX(-50%);
  width: 40px;
  height: 3px;
  background: var(--custom-wall-accent);
}

.custom-wall-profile-note.custom-wall-profile-note {
  text-align: center;
  font-size: 15px;
  color: #5c574f;
  margin: -20px 0 32px;
}

.custom-wall-profile-card {
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 14px;
  padding: 40px 48px;
  box-shadow: 0 10px 30px rgba(31, 58, 77, 0.06);
}

.custom-wall-profile-table.custom-wall-profile-table {
  width: 100%;
  border-collapse: collapse;
  /* .s_table(モバイル)の white-space: nowrap を無効化 */
  white-space: normal;
}

/*
 * th/td はセレクタを二重にして詳細度を上げる。
 * tcd-classic-editor の editor.css（子テーマより後に読み込まれる）の
 * 「:is(.tcdce-body, .editor-styles-wrapper) :is(th, td)」(0,1,1) が
 * vertical-align: middle / border: 1px solid #ddd / padding / font-weight
 * を同点後勝ちで上書きしてしまうため。
 */
.custom-wall-profile-table.custom-wall-profile-table th,
.custom-wall-profile-table.custom-wall-profile-table td {
  text-align: left;
  vertical-align: top;
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--custom-wall-line);
}

.custom-wall-profile-table.custom-wall-profile-table tr:last-child th,
.custom-wall-profile-table.custom-wall-profile-table tr:last-child td {
  border-bottom: none;
}

.custom-wall-profile-table.custom-wall-profile-table th {
  width: 200px;
  padding: 24px 16px 24px 0;
  font-family: var(--custom-wall-serif);
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.9;
  color: #1f3a4d;
}

/*
 * ドットは absolute + top固定値ではなく、ラベルと同じ行内に
 * インラインブロックとして流し込む。行の高さやセルの縦位置に
 * かかわらず、常にラベル1行目と揃う。
 * （7px + 13px = 20px で従来のテキストインデントを維持）
 */
.custom-wall-profile-table.custom-wall-profile-table th::before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  position: static;
  margin: 0 13px 0.18em 0;
  transform: none;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--custom-wall-accent);
}

.custom-wall-profile-table.custom-wall-profile-table td {
  padding: 24px 8px;
  font-size: 18px;
  line-height: 1.9;
  color: #3c3a36;
}

.custom-wall-profile-table td a {
  color: #1f3a4d;
  text-decoration: underline;
  text-decoration-color: var(--custom-wall-accent);
}

.custom-wall-profile-office {
  margin-top: 18px;
}

.custom-wall-profile-office:first-child {
  margin-top: 0;
}

.custom-wall-profile-office__label {
  display: inline-block;
  border: 1px solid var(--custom-wall-accent);
  color: #1f3a4d;
  background: #faf6ec;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.04em;
  padding: 3px 14px;
  border-radius: 999px;
  margin-bottom: 8px;
}

.custom-wall-profile-office__address {
  margin: 0;
}

.custom-wall-profile-list.custom-wall-profile-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.custom-wall-profile-list.custom-wall-profile-list li {
  position: relative;
  padding-left: 1.3em;
  font-size: 17px;
  line-height: 1.9;
  color: #3c3a36;
  margin: 0 0 10px;
}

.custom-wall-profile-list.custom-wall-profile-list li:last-child {
  margin-bottom: 0;
}

.custom-wall-profile-list.custom-wall-profile-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.9em;
  transform: translateY(-50%);
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--custom-wall-accent);
}

.custom-wall-profile-list__sub {
  display: block;
  font-size: 14px;
  color: #5c574f;
  margin-top: 2px;
}

.custom-wall-profile-list--cols.custom-wall-profile-list--cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 40px;
  row-gap: 0;
}

.custom-wall-profile-groups {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-top: 24px;
}

.custom-wall-profile-groups > .custom-wall-profile-group--wide {
  grid-column: 1 / -1;
}

.custom-wall-profile-group {
  background: #fff;
  border: 1px solid var(--custom-wall-line);
  border-radius: 14px;
  padding: 32px 36px;
  box-shadow: 0 10px 30px rgba(31, 58, 77, 0.06);
}

.custom-wall-profile-group__title.custom-wall-profile-group__title {
  font-family: var(--custom-wall-serif);
  font-size: 21px;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #1f3a4d;
  margin: 0 0 20px;
  padding-bottom: 12px;
  border-bottom: 2px solid var(--custom-wall-accent);
}

@media (max-width: 930px) {
  .custom-wall-profile-heading.custom-wall-profile-heading {
    font-size: 22px;
    margin-bottom: 28px;
    padding-bottom: 20px;
  }

  .custom-wall-profile-note.custom-wall-profile-note {
    margin-top: -12px;
  }

  .custom-wall-profile-card {
    padding: 28px 20px;
  }

  .custom-wall-profile-table.custom-wall-profile-table,
  .custom-wall-profile-table.custom-wall-profile-table tbody,
  .custom-wall-profile-table.custom-wall-profile-table tr,
  .custom-wall-profile-table.custom-wall-profile-table th,
  .custom-wall-profile-table.custom-wall-profile-table td {
    display: block;
    width: auto;
  }

  .custom-wall-profile-table.custom-wall-profile-table tr {
    border-bottom: 1px solid var(--custom-wall-line);
  }

  .custom-wall-profile-table.custom-wall-profile-table tr:last-child {
    border-bottom: none;
  }

  .custom-wall-profile-table.custom-wall-profile-table th {
    padding: 18px 4px 4px 0;
    border-bottom: none;
    font-size: 15px;
  }

  .custom-wall-profile-table.custom-wall-profile-table td {
    padding: 0 4px 18px;
    font-size: 16px;
    border-bottom: none;
  }

  .custom-wall-profile-list--cols.custom-wall-profile-list--cols {
    grid-template-columns: 1fr;
  }

  .custom-wall-profile-list.custom-wall-profile-list li {
    font-size: 15px;
  }

  .custom-wall-profile-groups {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .custom-wall-profile-group {
    padding: 24px 18px;
  }

  .custom-wall-profile-group__title.custom-wall-profile-group__title {
    font-size: 18px;
  }
}

/* 会社概要: 代表あいさつ */
.custom-wall-greeting {
  display: flex;
  align-items: flex-start;
  gap: 40px;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 14px;
  padding: 40px 48px;
  box-shadow: 0 10px 30px rgba(31, 58, 77, 0.06);
  margin-bottom: 0;
}

/* 連続する custom-wall-profile-section 間の余白圧縮
   （エディタプラグインが全ブロックへ一律付与する margin-bottom を打ち消す） */
.tcdce-body .custom-wall-profile-section,
.p-single-content .custom-wall-profile-section {
  margin-bottom: 0;
}

.custom-wall-greeting__photo {
  flex: 0 0 220px;
  margin: 0;
}

.custom-wall-greeting__photo img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 10px;
}

.custom-wall-greeting__body {
  flex: 1;
}

.custom-wall-greeting__label.custom-wall-greeting__label {
  display: block;
  font-family: var(--custom-wall-serif);
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.14em;
  color: var(--custom-wall-accent);
  margin: 0 0 14px;
}

.custom-wall-greeting__text.custom-wall-greeting__text {
  font-family: var(--custom-wall-serif);
  font-size: 18px;
  line-height: 2.1;
  color: #3c3a36;
  margin: 0 0 22px;
}

.custom-wall-greeting__name.custom-wall-greeting__name {
  font-family: var(--custom-wall-serif);
  font-size: 16px;
  color: #5c574f;
  margin: 0 0 18px;
  text-align: right;
}

.custom-wall-greeting__actions.custom-wall-greeting__actions {
  margin: 0;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.custom-wall-greeting__link.custom-wall-greeting__link--primary {
  color: #fff;
  background: #1f3a4d;
  border-color: #1f3a4d;
}

.custom-wall-greeting__link.custom-wall-greeting__link--primary:hover {
  background: #2c5270;
}

.custom-wall-greeting__name strong {
  font-size: 20px;
  font-weight: 700;
  color: #1f3a4d;
  margin-left: 10px;
  letter-spacing: 0.06em;
}

.custom-wall-greeting__link.custom-wall-greeting__link {
  display: inline-block;
  font-family: var(--custom-wall-serif);
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #1f3a4d;
  background: #faf6ec;
  border: 1px solid var(--custom-wall-accent);
  border-radius: 999px;
  padding: 10px 26px;
  text-decoration: none;
  transition: background 0.2s;
}

.custom-wall-greeting__link.custom-wall-greeting__link:hover {
  background: #f3ecdd;
}

.custom-wall-greeting__link .custom-wall-greeting__arrow {
  color: var(--custom-wall-accent);
  margin-left: 8px;
}

@media (max-width: 930px) {
  .custom-wall-greeting {
    flex-direction: column;
    align-items: center;
    gap: 24px;
    padding: 28px 20px;
    margin-bottom: 0;
    text-align: center;
  }

  .custom-wall-greeting__photo {
    flex: none;
    width: min(200px, 60%);
  }

  .custom-wall-greeting__text.custom-wall-greeting__text {
    font-size: 16px;
    text-align: left;
  }

  .custom-wall-greeting__name.custom-wall-greeting__name {
    text-align: right;
  }

  .custom-wall-greeting__actions.custom-wall-greeting__actions {
    justify-content: center;
  }
}

/* 代表プロフィール */
.custom-wall-ceo-profile {
  display: flex;
  flex-direction: column;
  gap: 32px;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 14px;
  padding: 40px 48px;
  box-shadow: 0 10px 30px rgba(31, 58, 77, 0.06);
}

.custom-wall-ceo-profile__photo {
  flex: none;
  width: 100%;
  margin: 0;
}

.custom-wall-ceo-profile__photo img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 10px;
}

.custom-wall-ceo-profile__body {
  flex: 1;
}

.custom-wall-ceo-profile__name.custom-wall-ceo-profile__name {
  font-family: var(--custom-wall-serif);
  font-size: 26px;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #1f3a4d;
  margin: 0 0 6px;
}

.custom-wall-ceo-profile__name span {
  font-size: 16px;
  font-weight: 400;
  color: #5c574f;
  margin-left: 10px;
  letter-spacing: 0.04em;
}

.custom-wall-ceo-profile__role.custom-wall-ceo-profile__role {
  font-size: 15px;
  line-height: 1.9;
  color: #5c574f;
  margin: 0 0 22px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--custom-wall-line);
}

.custom-wall-ceo-profile__bio p {
  font-size: 16px;
  line-height: 2;
  color: #3c3a36;
  margin: 0 0 14px;
}

.custom-wall-ceo-profile__bio p:last-child {
  margin-bottom: 0;
}

.custom-wall-ceo-profile__link.custom-wall-ceo-profile__link {
  margin: 28px 0 0;
  text-align: right;
}

@media (max-width: 930px) {
  .custom-wall-ceo-profile {
    gap: 24px;
    padding: 28px 20px;
  }

  .custom-wall-ceo-profile__name.custom-wall-ceo-profile__name {
    font-size: 22px;
    text-align: center;
  }

  .custom-wall-ceo-profile__role.custom-wall-ceo-profile__role {
    text-align: center;
  }

  .custom-wall-ceo-profile__bio p {
    font-size: 15px;
  }

  .custom-wall-ceo-profile__link.custom-wall-ceo-profile__link {
    text-align: center;
  }
}

/* 社長の思い（代表インタビュー） */
.custom-wall-ceo-section {
  max-width: 1100px;
  margin: 0 auto;
  padding: 40px 24px 48px;
}

.custom-wall-ceo-catch.custom-wall-ceo-catch {
  text-align: center;
  font-family: var(--custom-wall-serif);
  font-size: clamp(24px, 3.2vw, 34px);
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.6;
  color: #1f3a4d;
  margin: 0 0 32px;
}

.custom-wall-ceo-lead.custom-wall-ceo-lead {
  background: #f7f2e7;
  border-left: 4px solid var(--custom-wall-accent);
  border-radius: 0 8px 8px 0;
  padding: 26px 32px;
  font-family: var(--custom-wall-serif);
  font-size: 17px;
  line-height: 2.1;
  color: #3c3a36;
  margin: 0 0 48px;
}

.custom-wall-ceo-lead__credit {
  display: block;
  text-align: right;
  font-size: 14px;
  line-height: 1.8;
  color: #5c574f;
  margin-top: 14px;
}

.custom-wall-ceo-chapter.custom-wall-ceo-chapter {
  position: relative;
  font-family: var(--custom-wall-serif);
  font-size: 23px;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #1f3a4d;
  margin: 64px 0 32px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--custom-wall-line);
}

.custom-wall-ceo-chapter.custom-wall-ceo-chapter::after {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 46px;
  height: 3px;
  background: var(--custom-wall-accent);
}

.custom-wall-ceo-talk {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin: 0 0 22px;
}

/* wpautopの余分な</p>が空のp要素になりフレックス内で余白を作るため除去 */
.custom-wall-ceo-talk > p:empty {
  display: none;
}

.custom-wall-ceo-talk__label {
  flex: 0 0 96px;
  text-align: center;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.06em;
  padding: 5px 0;
  border-radius: 4px;
  margin-top: 6px;
}

.custom-wall-ceo-talk--q .custom-wall-ceo-talk__label {
  background: #eef1f3;
  color: #5c6b76;
}

.custom-wall-ceo-talk--a .custom-wall-ceo-talk__label {
  background: #1f3a4d;
  color: #fff;
}

.custom-wall-ceo-talk__text.custom-wall-ceo-talk__text {
  flex: 1;
  margin: 0;
  font-size: 17px;
  line-height: 2.05;
  color: #3c3a36;
}

.custom-wall-ceo-talk--q .custom-wall-ceo-talk__text.custom-wall-ceo-talk__text {
  font-size: 16px;
  font-weight: 700;
  color: #5c6b76;
}

.custom-wall-ceo-talk--a .custom-wall-ceo-talk__text.custom-wall-ceo-talk__text {
  font-family: var(--custom-wall-serif);
}

.custom-wall-ceo-quote.custom-wall-ceo-quote {
  text-align: center;
  font-family: var(--custom-wall-serif);
  font-size: 21px;
  font-weight: 700;
  line-height: 1.9;
  letter-spacing: 0.04em;
  color: #1f3a4d;
  border-top: 1px solid var(--custom-wall-line);
  border-bottom: 1px solid var(--custom-wall-line);
  padding: 30px 16px;
  margin: 48px 0;
}

.custom-wall-ceo-quote .custom-wall-ceo-quote__mark {
  color: var(--custom-wall-accent);
}

.custom-wall-ceo-figure.custom-wall-ceo-figure {
  margin: 48px 0;
}

.custom-wall-ceo-figure img {
  display: block;
  width: 100%;
  height: auto;
  /* 横長にトリミングして縦幅を抑える（スマホは既存の4:3指定が優先） */
  aspect-ratio: 3 / 1;
  object-fit: cover;
  border-radius: 10px;
}

.custom-wall-ceo-figure figcaption {
  text-align: center;
  font-size: 14px;
  color: #5c574f;
  margin-top: 10px;
}

/* 章見出し直下の画像は見出しとの間を詰める */
.custom-wall-ceo-figure--chapter.custom-wall-ceo-figure--chapter {
  margin: 0 0 40px;
}

/* 冒頭の代表写真だけは切り抜かず元の縦横比で表示 */
.custom-wall-ceo-figure--hero img {
  aspect-ratio: auto;
}

/* インタビュー内に figure なしで直接貼られた画像にも同じ見た目を適用 */
#interview p > img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 1;
  object-fit: cover;
  border-radius: 10px;
}


/* スマホもPCと同じ3:1比率（冒頭の代表写真のみ除外） */

/* 解決事例ページのCTAと同デザイン（紺ボックス＋金ボタン） */
.custom-wall-ceo-cta.custom-wall-ceo-cta {
  background: #1f3a4d;
  border: none;
  border-radius: 14px;
  text-align: center;
  padding: 44px 36px;
  margin: 64px 0 0;
}

.custom-wall-ceo-cta__title.custom-wall-ceo-cta__title {
  font-family: var(--custom-wall-serif);
  font-size: clamp(20px, 2.4vw, 26px);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.8;
  color: #fff;
  margin: 0 0 24px;
}

.custom-wall-ceo-cta__text.custom-wall-ceo-cta__text {
  font-size: 15px;
  line-height: 2;
  color: rgba(255, 255, 255, 0.75);
  margin: 16px 0 0;
}

.custom-wall-ceo-cta__buttons {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}

/* 解決事例ページのCTAボタンと同デザイン（金色の角丸長方形） */
.custom-wall-ceo-cta__btn.custom-wall-ceo-cta__btn {
  display: inline-block;
  min-width: min(420px, 100%);
  font-size: 19px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-indent: 0.1em;
  text-align: center;
  color: #fff;
  background: #c29a4d;
  border-radius: 8px;
  padding: 18px 40px;
  text-decoration: none;
  transition: background 0.2s;
}

.custom-wall-ceo-cta__btn.custom-wall-ceo-cta__btn:hover {
  background: #d3ab5e;
}

@media (max-width: 930px) {
  .custom-wall-ceo-catch.custom-wall-ceo-catch {
    font-size: 21px;
  }

  .custom-wall-ceo-lead.custom-wall-ceo-lead {
    padding: 20px 20px;
    font-size: 15px;
  }

  .custom-wall-ceo-chapter.custom-wall-ceo-chapter {
    font-size: 19px;
    margin: 48px 0 24px;
  }

  .custom-wall-ceo-talk {
    flex-direction: column;
    gap: 8px;
    margin-bottom: 26px;
  }

  .custom-wall-ceo-talk__label {
    flex: none;
    display: inline-block;
    width: auto;
    padding: 4px 16px;
    margin-top: 0;
  }

  .custom-wall-ceo-talk__text.custom-wall-ceo-talk__text {
    font-size: 16px;
  }

  .custom-wall-ceo-quote.custom-wall-ceo-quote {
    font-size: 18px;
    padding: 22px 8px;
    margin: 36px 0;
  }

  .custom-wall-ceo-cta.custom-wall-ceo-cta {
    padding: 32px 20px;
  }

  .custom-wall-ceo-cta__title.custom-wall-ceo-cta__title {
    font-size: 20px;
  }

  .custom-wall-ceo-cta__buttons {
    flex-direction: column;
  }

  .custom-wall-ceo-cta__btn.custom-wall-ceo-cta__btn {
    width: 100%;
    max-width: 320px;
  }
}

/* トップページ: PCのセクション間隔を標準150pxから100pxに詰める（スマホはテーマ標準のまま） */
@media (min-width: 992px) {
  .home .p-cb {
    row-gap: 100px;
  }
}

@media (max-width: 930px) {
  .home .p-cb-item + .p-cb-item .p-cb-header {
    padding-top: 48px;
  }
}

/* 日本語の自然な改行（対応ブラウザのみ働く。非対応ブラウザは従来通り） */
body {
  word-break: auto-phrase;
}

/* テーマのbreak-all（単語の途中でも強制改行）を解除し、自然な折り返しに */
.c-line-clamp.c-line-clamp {
  word-break: normal;
  word-break: auto-phrase;
}

h1,
h2,
h3,
.p-mv1-content-title span,
.p-mv1-content-title_2 span,
.p-cb-header-title {
  text-wrap: balance;
}

/* セクション見出し: 親テーマのline-height 2.4は複数行になると行間が開きすぎる。
   外側余白は--tcd-half-read（1lh基準）が自動追従するため詰めても崩れない */
.p-cb-header-title {
  line-height: 1.6;
}

/* スマホのセクション見出し。以前は32pxで1行約11文字と細切れになるため26pxへ下げていたが、
   2026-08-21のユーザー指示で「もっと大きく」へ方針変更し30pxにした。
   text-wrap: balance が効くので、行数が増えても行頭・行末は文節でそろう */
@media (max-width: 767px) {
  .p-cb-header-title {
    font-size: 30px;
  }
}

/* ドロワーメニュー: 親テーマが電話番号未設定でも枠線付きの電話枠を出力するため非表示。
   ヘッダーに電話番号を表示する運用へ変えた場合はこの指定を外すこと */
.p-drawer-bottom .p-header-cta__tel {
  display: none;
}

p,
li {
  text-wrap: pretty;
}

/* メインビジュアル: スマホ時は画面の約2/3の縦長表示にし、文字を中央配置 */
@media (max-width: 767px) {
  .p-mv1.p-mv-height-type-0 {
    height: 66svh;
    min-height: 420px;
  }

  .p-mv1.p-mv-height-type-0 .p-mv1__track,
  .p-mv1.p-mv-height-type-0 .splide__list,
  .p-mv1.p-mv-height-type-0 .splide__slide {
    height: 100%;
  }

  .p-mv1.p-mv-height-type-0 .splide__slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .p-mv1-content-title.p-mv1-content-title,
  .p-mv1-content-title_2.p-mv1-content-title_2 {
    max-width: 100%;
    padding-inline: 8px;
    word-break: normal;
    overflow-wrap: break-word;
  }
}

/* メインビジュアル: PC向けHTMLをスマホ幅で見たときにキャッチコピーが消えるテーマ仕様の回避 */
@media (max-width: 767px) {
  .p-mv1-content-title .c-hidden-sp,
  .p-mv1-content-title_2 .c-hidden-sp {
    display: inline !important;
  }
}

/* 二刀流セクション: 濃紺の反転ブロック */
body.home {
  overflow-x: clip;
}

.home #_135 {
  background: #08475f;
  margin-inline: calc(50% - 50vw);
  padding-inline: calc(50vw - 50%);
  padding-block: 90px 72px;
}

.home #_135 .p-cb-header {
  padding-top: 0;
}

.home #_135 .p-cb-header-title {
  color: #fff;
}

.home #_135 .p-cb-header-subtitle {
  color: rgba(255, 255, 255, 0.8);
}

.home #_135 .custom-duo-title.custom-duo-title {
  color: #fff;
}

.home #_135 .custom-duo-intro.custom-duo-intro {
  color: rgba(255, 255, 255, 0.78);
}

.home #_135 .custom-duo-panel {
  border-color: rgba(255, 255, 255, 0.14);
  box-shadow: 0 16px 44px rgba(0, 0, 0, 0.28);
}

.home #_135 .custom-duo-result.custom-duo-result {
  color: #fff;
}

.home #_135 .custom-duo-result__marker {
  background-image: linear-gradient(transparent 80%, rgba(255, 224, 100, 0.9) 80%);
  padding: 0 4px 4px;
}

.home #_135 .custom-duo-case.custom-duo-case {
  border-color: rgba(255, 255, 255, 0.14);
  border-left-color: var(--custom-wall-accent);
  box-shadow: 0 16px 44px rgba(0, 0, 0, 0.28);
}

@media (max-width: 991px) {
  .home #_135 {
    padding-block: 56px 48px;
  }
}

/* ============================================================
   フローティングUI（セクションナビ / TOPへ戻る / 無料相談CTA）
   ============================================================ */
.p-cb-item {
  scroll-margin-top: 90px;
}

/* ページ内リンクのフェード移動用オーバーレイ */
.custom-fade-overlay {
  position: fixed;
  inset: 0;
  z-index: 9998;
  background: #fff;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.22s ease;
}

.custom-fade-overlay.is-active {
  opacity: 1;
}

/* ① 左端セクションジャンプナビ（トップページのみ出力） */
.custom-float-nav {
  position: fixed;
  left: 3px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 90;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s, visibility 0.3s;
}

.custom-float-nav.is-visible {
  opacity: 1;
  visibility: visible;
}

.custom-float-nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 2px;
}

.custom-float-nav a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 6px;
  text-decoration: none;
}

.custom-float-nav__dot {
  flex: none;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  border: 1.5px solid rgba(31, 58, 77, 0.45);
  background: rgba(255, 255, 255, 0.7);
  transition: background 0.25s, border-color 0.25s, transform 0.25s;
}

.custom-float-nav a:hover .custom-float-nav__dot {
  border-color: var(--custom-wall-accent);
}

.custom-float-nav a.is-active .custom-float-nav__dot {
  background: var(--custom-wall-accent);
  border-color: var(--custom-wall-accent);
  transform: scale(1.25);
}

.custom-float-nav__label {
  font-family: var(--custom-wall-serif);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #1f3a4d;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 999px;
  padding: 3px 12px;
  white-space: nowrap;
  box-shadow: 0 4px 14px rgba(31, 58, 77, 0.12);
  opacity: 0;
  visibility: hidden;
  transform: translateX(-4px);
  transition: opacity 0.2s, transform 0.2s, visibility 0.2s;
  pointer-events: none;
}

.custom-float-nav a:hover .custom-float-nav__label,
.custom-float-nav a:focus-visible .custom-float-nav__label {
  opacity: 1;
  visibility: visible;
  transform: translateX(0);
}

/* ②③ 右下アクション（TOPへ戻る＋無料相談） */
.custom-float-actions {
  position: fixed;
  right: 16px;
  bottom: 20px;
  z-index: 90;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 10px;
}

/* 左端・ドットナビの下の縦書きタブ群（無料相談・社長紹介・解決事例） */
.custom-float-side {
  position: fixed;
  left: 0;
  /* ドットナビ(高さ約205px・中央固定)の下端 + ドット間隔と同じ約14px */
  top: calc(50% + 117px);
  z-index: 90;
  display: grid;
  gap: 8px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s, visibility 0.3s;
}

.custom-float-side.is-visible {
  opacity: 1;
  visibility: visible;
}

.custom-float-cta {
  writing-mode: vertical-rl;
  font-family: var(--custom-wall-serif);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.2em;
  color: #fff;
  background: #1f3a4d;
  border-radius: 0 5px 5px 0;
  padding: 16px 7px;
  text-decoration: none;
  box-shadow: 3px 4px 14px rgba(31, 58, 77, 0.16);
  transition: background 0.25s, padding 0.25s;
}

.custom-float-cta:hover {
  color: #fff;
  padding-right: 11px;
}

/* タブごとの色分け（サイトの基調色に合わせる）。ホバーは共通の明るいブルー */
.custom-float-cta--contact {
  background: #b08a2e; /* 金: CTAの強調色 */
}

.custom-float-cta--profile {
  background: #1f3a4d; /* 紺: 見出しの基調色 */
}

.custom-float-cta--case {
  background: #08475f; /* ティール: 解決事例セクションの背景色 */
}

.custom-float-cta:hover {
  background: #0085b2; /* ヘッダーのお問い合わせボタンと同じブルー */
}

.custom-float-top {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: none;
  cursor: pointer;
  background: #1f3a4d;
  color: var(--custom-wall-accent);
  display: grid;
  place-items: center;
  box-shadow: 0 6px 20px rgba(31, 58, 77, 0.25);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s, visibility 0.3s, background 0.25s;
}

.custom-float-top.is-visible {
  opacity: 0.9;
  visibility: visible;
}

.custom-float-top:hover {
  background: #2c5270;
  opacity: 1;
}

/* ③ SP: 画面下部固定のCTAバー */
.custom-sp-ctabar {
  display: none;
}

@media (max-width: 767px) {
  /* ナビはドットのみの極小表示 */
  .custom-float-nav {
    left: 2px;
  }

  .custom-float-nav ul {
    gap: 0;
  }

  .custom-float-nav a {
    padding: 5px;
  }

  .custom-float-nav__dot {
    width: 8px;
    height: 8px;
  }

  .custom-float-nav__label {
    display: none;
  }

  /* CTAバー: TOPボタンと同じタイミングで表示 */
  .custom-sp-ctabar {
    display: grid;
    grid-template-columns: 1fr;
    position: fixed;
    inset-inline: 0;
    bottom: 0;
    z-index: 95;
    box-shadow: 0 -4px 16px rgba(31, 58, 77, 0.18);
    opacity: 0;
    visibility: hidden;
    transform: translateY(100%);
    transition: opacity 0.3s, visibility 0.3s, transform 0.3s;
  }

  .custom-sp-ctabar.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }

  .custom-sp-ctabar a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    font-family: var(--custom-wall-serif);
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-decoration: none;
    padding: 14px 8px calc(14px + env(safe-area-inset-bottom));
  }

  .custom-sp-ctabar__form {
    background: #b08a2e;
    color: #fff;
  }

  /* バーに隠れないよう本文とフローティングUIを持ち上げる。
     余白をbodyへ付けると白いまま残り、コピーライト帯とCTAバーの間に
     白い隙間として見える（バー実寸はフォント描画で前後するため
     数値を合わせても環境によって出る）。余白はコピーライト帯へ持たせ、
     帯と同じ色で塗りつぶすことで隙間が原理的に出ないようにする */
  body {
    padding-block-end: 0;
  }

  /* 親テーマの height 指定に勝つため二重クラスで詳細度を上げる。
     content-box にすることで帯の高さ(60px)と文字位置は変えずに下だけ伸ばす */
  .p-footer-copyright.p-footer-copyright {
    box-sizing: content-box;
    height: auto;
    block-size: auto;
    min-block-size: 60px;
    padding-block-end: calc(52px + env(safe-area-inset-bottom));
  }

  .custom-float-actions {
    bottom: calc(66px + env(safe-area-inset-bottom));
    right: 12px;
  }


  .custom-float-actions {
    bottom: calc(66px + env(safe-area-inset-bottom));
    right: 12px;
  }

  /* SPは下部バーがあるため左端の縦タブ群は非表示（PC版のみ） */
  .custom-float-side {
    display: none;
  }

  .custom-float-top {
    width: 40px;
    height: 40px;
  }
}

/* フッターメニューの開始位置を住所（〒）の行に揃える */
@media (min-width: 768px) {
  .p-footer-nav--pc {
    padding-top: 83px;
  }
}

/* フッターバナー: 画像の元幅(475px)がグリッドの最小幅になり
   スマホでページ全体を横に押し広げるのを防ぐ */
.p-footer-banner__item {
  min-width: 0;
}

.p-footer-banner__image img {
  max-width: 100%;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ページタイトルを明朝体に（固定ページ・投稿・アーカイブ共通） */
.c-main-title.c-main-title {
  font-family: var(--custom-wall-serif);
  letter-spacing: 0.08em;
}

/* 解決事例アーカイブ: タイトルを固定ページと同じ明朝体に */
.c-archive-header__title h1 {
  font-family: var(--custom-wall-serif);
  letter-spacing: 0.08em;
}

/* 解決事例アーカイブ: 事例一覧の下のYouTube動画（2026-09-01にヘッダー下から移動） */
.custom-wall-video-archive {
  max-width: 1100px;
  margin: 16px auto 88px;
  padding: 0 24px;
}

/* 解決事例アーカイブでは2本を横並びに（代表紹介ページは縦積みのまま） */
.custom-wall-video-archive .custom-wall-video-grid {
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  align-items: start;
}

.custom-wall-video-archive .custom-wall-video {
  max-width: none;
  margin: 0;
}

@media (max-width: 930px) {
  .custom-wall-video-archive {
    margin: 0 auto 40px;
    padding: 0 20px;
  }

  .custom-wall-video-archive .custom-wall-video-grid {
    grid-template-columns: 1fr;
  }
}

/* 代表紹介ページ：YouTube動画 */
.custom-wall-video {
  max-width: 880px;
  margin: 0 auto;
}

.custom-wall-video-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 48px;
}

.custom-wall-video-grid .custom-wall-video {
  width: 100%;
  max-width: 880px;
  margin: 0 auto;
}

@media (max-width: 930px) {
  .custom-wall-video-grid {
    gap: 32px;
  }
}

.custom-wall-video__frame {
  position: relative;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(31, 58, 77, 0.12);
}

/* 解決事例: 本文画像クリックで全画面表示（ライトボックス） */
.custom-img-zoomable {
  cursor: zoom-in;
}

.custom-img-lightbox {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-items: center;
  padding: 3vmin;
  background: rgba(10, 18, 26, 0.93);
  cursor: zoom-out;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.25s, visibility 0.25s;
}

.custom-img-lightbox.is-open {
  opacity: 1;
  visibility: visible;
}

.custom-img-lightbox img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 6px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
}

.custom-img-lightbox__close {
  position: absolute;
  top: 14px;
  right: 18px;
  width: 44px;
  height: 44px;
  border: none;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
}

.custom-img-lightbox__close:hover {
  background: rgba(255, 255, 255, 0.25);
}

/* クリックで全画面再生させる透明レイヤー */
.custom-video-fs-overlay {
  position: absolute;
  inset: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  z-index: 2;
  padding: 0;
}

/* 全画面時は黒背景いっぱいに表示 */
.custom-wall-video__frame:fullscreen {
  background: #000;
  border-radius: 0;
}

.custom-wall-video__frame:fullscreen iframe {
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
}

.custom-wall-video__frame iframe {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  height: auto;
  border: 0;
}

.custom-wall-video__caption {
  margin-top: 14px;
  text-align: center;
  font-size: 16px;
  color: #5c574f;
  line-height: 1.8;
}

@media (max-width: 930px) {
  .custom-wall-video__frame {
    border-radius: 10px;
  }

  .custom-wall-video__caption {
    font-size: 14px;
    padding-inline: 8px;
  }
}

/* ============================================================
   代表紹介ページ（/profile/）文字サイズ拡大
   読者層が50代以上中心のため、本文・見出しを一回り大きくする。
   他ページと共有するクラスがあるため page-id-114 でスコープ。
   ============================================================ */
.page-id-114 .custom-wall-profile-heading.custom-wall-profile-heading {
  font-size: clamp(26px, 3vw, 32px);
}

/* プロフィールカード */
.page-id-114 .custom-wall-ceo-profile__name {
  font-size: 28px;
}

.page-id-114 .custom-wall-ceo-profile__name span {
  font-size: 17px;
}

.page-id-114 .custom-wall-ceo-profile__role {
  font-size: 17px;
}

.page-id-114 .custom-wall-ceo-profile__bio p {
  font-size: 18px;
}

.page-id-114 .custom-wall-greeting__link {
  font-size: 17px;
}

/* 著書・メディア実績 */
.page-id-114 .custom-wall-profile-group__title {
  font-size: 20px;
}

.page-id-114 .custom-wall-profile-list li {
  font-size: 18px;
}

.page-id-114 .custom-wall-profile-list__sub {
  font-size: 15px;
}

/* インタビュー本編 */
.page-id-114 .custom-wall-ceo-catch {
  font-size: clamp(26px, 3.4vw, 36px);
}

.page-id-114 .custom-wall-ceo-lead {
  font-size: 18px;
}

.page-id-114 .custom-wall-ceo-lead__credit {
  font-size: 15px;
}

.page-id-114 .custom-wall-ceo-chapter {
  font-size: 25px;
}

.page-id-114 .custom-wall-ceo-talk__label {
  font-size: 14px;
}

.page-id-114 .custom-wall-ceo-talk__text {
  font-size: 18px;
}

.page-id-114 .custom-wall-ceo-talk--q .custom-wall-ceo-talk__text {
  font-size: 18px;
}

.page-id-114 .custom-wall-ceo-quote {
  font-size: 23px;
}

.page-id-114 .custom-wall-ceo-figure figcaption {
  font-size: 15px;
}

.page-id-114 .custom-wall-ceo-cta__title {
  font-size: 26px;
}

.page-id-114 .custom-wall-ceo-cta__text {
  font-size: 18px;
}

.page-id-114 .custom-wall-ceo-cta__btn {
  font-size: 18px;
}

@media (max-width: 930px) {
  .page-id-114 .custom-wall-ceo-profile__name {
    font-size: 24px;
  }

  .page-id-114 .custom-wall-ceo-profile__role {
    font-size: 16px;
  }

  .page-id-114 .custom-wall-ceo-profile__bio p {
    font-size: 17px;
  }

  .page-id-114 .custom-wall-profile-list li {
    font-size: 16px;
  }

  .page-id-114 .custom-wall-ceo-catch {
    font-size: 23px;
  }

  .page-id-114 .custom-wall-ceo-lead {
    font-size: 17px;
  }

  .page-id-114 .custom-wall-ceo-chapter {
    font-size: 21px;
  }

  .page-id-114 .custom-wall-ceo-talk__text,
  .page-id-114 .custom-wall-ceo-talk--q .custom-wall-ceo-talk__text {
    font-size: 17px;
  }

  .page-id-114 .custom-wall-ceo-quote {
    font-size: 19px;
  }

  .page-id-114 .custom-wall-ceo-cta__title {
    font-size: 22px;
  }
}

/* 無料相談ボタンの強調（--primary）が後続の基本ルールに負けないよう明示 */
.custom-wall-greeting__link.custom-wall-greeting__link--primary.custom-wall-greeting__link--primary {
  color: #fff;
  background: #1f3a4d;
  border-color: #1f3a4d;
}

.custom-wall-greeting__link.custom-wall-greeting__link--primary.custom-wall-greeting__link--primary:hover {
  background: #2c5270;
}

/* プロフィールカード・代表メッセージのボタン列:
   スマホでは同じ幅で縦に整列させて上質な印象に */
/* ボタン間のbrがフレックス子要素になり縦積み時の隙間を広げるため非表示 */
.custom-wall-greeting__actions br {
  display: none;
}

@media (max-width: 930px) {
  .custom-wall-greeting__actions.custom-wall-greeting__actions {
    flex-direction: column;
    align-items: center;
    gap: 12px;
  }

  .custom-wall-greeting__actions .custom-wall-greeting__link {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: min(300px, 100%);
    padding: 14px 20px;
    font-size: 16px;
    letter-spacing: 0.14em;
  }

  .custom-wall-greeting__actions .custom-wall-greeting__arrow {
    margin: 0;
  }
}

/* ============================================================
   固定ページ共通: スマホの左右余白圧縮
   テーマ(.l-contents)の左右20pxに加え、セクション24px＋カード20pxが
   重なって片側64pxになっていたのを解消する。
   ============================================================ */
@media (max-width: 767px) {
  .custom-wall-profile-section,
  .custom-wall-ceo-section {
    padding-inline: 0;
  }

  .custom-wall-greeting,
  .custom-wall-ceo-profile {
    padding-inline: 14px;
  }
}

/* ============================================
   代表紹介(page-id-114): 実績カード
   著書・執筆寄稿・メディア・講演研修の4カテゴリ
   2026-07-24追加。画像は後日挿入(入れるとプレースホルダーは自動で消える)
   ============================================ */

.custom-wall-works {
  display: grid;
  gap: 48px;
  margin-top: 48px;
}

.custom-wall-works__heading.custom-wall-works__heading {
  font-family: var(--custom-wall-serif);
  font-size: 21px;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #1f3a4d;
  margin: 0 0 20px;
  padding: 0 0 12px;
  border-bottom: 2px solid var(--custom-wall-accent);
}

.custom-wall-works__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
  gap: 24px;
}

.custom-wall-works-card {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid var(--custom-wall-line);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(31, 58, 77, 0.06);
}

.custom-wall-works-card__media {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 3 / 4;
  overflow: hidden;
  background: #f6f0e4;
  padding: 16px;
}

.custom-wall-works-card__media img {
  display: block;
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
}

/* 画像が入るまでの飾り枠 */
.custom-wall-works-card__media::before {
  content: "";
  position: absolute;
  inset: 10px;
  border: 1px solid rgba(184, 152, 90, 0.5);
  pointer-events: none;
}

.custom-wall-works-card__placeholder {
  display: block;
  font-family: var(--custom-wall-serif);
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 0.18em;
  color: #8a7a55;
  writing-mode: vertical-rl;
}

/* 画像を挿入したら飾り枠も自動で隠す */
.custom-wall-works-card__media:has(img)::before {
  display: none;
}

/* 画像を挿入したらプレースホルダーを自動で隠す */
.custom-wall-works-card__media:has(img) .custom-wall-works-card__placeholder {
  display: none;
}

/* 誌面写真を1枚ずつ見せるスライダー(税務経理)。
   media(aspect-ratio)への%高さ連鎖を避けるため absolute で敷き詰める */
.custom-wall-works-card__media--slider {
  padding: 0;
}

.custom-wall-works-slider {
  position: absolute;
  inset: 0;
}

.custom-wall-works-slider__track {
  display: flex;
  width: 100%;
  height: 100%;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.custom-wall-works-slider__track::-webkit-scrollbar {
  display: none;
}

.custom-wall-works-slider__track img {
  flex: 0 0 100%;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  scroll-snap-align: center;
  padding: 14px;
}

.custom-wall-works-slider__btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  padding: 0;
  border: 1px solid rgba(184, 152, 90, 0.6);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.88);
  color: #8a7a55;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
}

.custom-wall-works-slider__btn:hover {
  background: #fff;
}

.custom-wall-works-slider__btn--prev {
  left: 8px;
}

.custom-wall-works-slider__btn--next {
  right: 8px;
}

.custom-wall-works-slider__dots {
  position: absolute;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  display: flex;
  gap: 7px;
}

.custom-wall-works-slider__dot {
  width: 9px;
  height: 9px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(31, 58, 77, 0.25);
  cursor: pointer;
}

.custom-wall-works-slider__dot.is-active {
  background: var(--custom-wall-accent);
}

.custom-wall-works-card__body {
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex: 1;
  padding: 18px 20px 20px;
}

/* テーマ側の p マージン(後読み・同点上書き)に負けないよう二重クラスで詳細度を上げる */
.custom-wall-works-card__kicker.custom-wall-works-card__kicker {
  margin: 0;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #8a7a55;
}

/* 出版社名が長いカード用。字間を詰めてPC幅で1行に収める(既定のkickerには影響しない) */
.custom-wall-works-card__kicker--tight.custom-wall-works-card__kicker--tight {
  letter-spacing: 0.01em;
}

.custom-wall-works-card__title.custom-wall-works-card__title {
  margin: 0;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.7;
  color: #1f3a4d;
}

.custom-wall-works-card__date.custom-wall-works-card__date {
  margin: 0;
  margin-top: auto;
  padding-top: 8px;
  font-size: 14px;
  line-height: 1.7;
  color: #5c574f;
}

/* 講演・研修: 画像なしの全幅横型カード(左に演台アイコン) */
.custom-wall-works-card--wide {
  grid-column: 1 / -1;
  flex-direction: row;
}

.custom-wall-works-card--wide .custom-wall-works-card__icon {
  flex: 0 0 120px;
  background-color: #f6f0e4;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23a58a4d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='24' cy='9' r='4'/%3E%3Cpath d='M16 17.5q8-5.5 16 0'/%3E%3Cpath d='M14 20h20l-3 10H17z'/%3E%3Cpath d='M24 30v9'/%3E%3Cpath d='M17 39h14'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 44px;
}

.custom-wall-works-card--wide .custom-wall-works-card__date {
  margin-top: 0;
  padding-top: 2px;
}

@media (max-width: 930px) {
  .custom-wall-works {
    gap: 36px;
    margin-top: 36px;
  }

  .custom-wall-works__heading.custom-wall-works__heading {
    font-size: 18px;
  }

  .custom-wall-works__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
  }

  .custom-wall-works-card__body {
    padding: 14px 14px 16px;
  }

  .custom-wall-works-card__title {
    font-size: 16px;
  }
}

@media (max-width: 560px) {
  .custom-wall-works__grid {
    grid-template-columns: 1fr;
  }

  .custom-wall-works-card {
    flex-direction: row;
  }

  .custom-wall-works-card__media {
    flex: 0 0 132px;
    aspect-ratio: 3 / 4;
    padding: 10px;
  }

  .custom-wall-works-card__placeholder {
    font-size: 15px;
  }

  .custom-wall-works-card__body {
    padding: 14px 16px;
  }

  .custom-wall-works-card--wide .custom-wall-works-card__icon {
    flex-basis: 80px;
    background-size: 36px;
  }

  .custom-wall-works-slider__track img {
    padding: 8px;
  }

  .custom-wall-works-slider__btn {
    width: 26px;
    height: 26px;
    font-size: 17px;
  }

  .custom-wall-works-slider__btn--prev {
    left: 4px;
  }

  .custom-wall-works-slider__btn--next {
    right: 4px;
  }

  .custom-wall-works-slider__dots {
    bottom: 6px;
  }

  /* 横型カードになる幅でも長い出版社名を1行に収める */
  .custom-wall-works-card__kicker--tight.custom-wall-works-card__kicker--tight {
    font-size: 12px;
    letter-spacing: normal;
  }
}
/* ============================================================
   全体の文字サイズ拡大（2026-08-19）
   閲覧者層（50歳以上・老眼世代）向けに、親テーマ・プラグイン由来の
   小さい文字を引き上げる。子テーマ独自の指定は各所で直接+1px済み。
   ============================================================ */

/* 基本文字サイズ 16px→17px（明示指定のない継承テキスト全体が対象） */
body {
  font-size: 17px;
}

/* TCDクラシックエディタ本文（固定ページ・アーカイブ説明文）の基準サイズ
   PC 16px→17px / SP 14px→16px
   ※ インラインCSSが .tcdce-body 自身へ変数を定義するため二重クラスで上書き */
.tcdce-body.tcdce-body {
  --tcdce-base-font-size-pc: 17px;
  --tcdce-base-font-size-sp: 16px;
}

/* ヘッダー・ドロワーの「無料相談」ボタン 14px→15px */
.header-button_item__label {
  font-size: 15px;
}

/* ドロワーメニューの項目 14px→15px */
.p-drawer-nav a {
  font-size: 15px;
}

/* フッターメニュー 14px→15px */
.p-footer-nav a {
  font-size: 15px;
}

/* フッターの住所・説明 14px→15px */
.p-footer-info__desc.c-desc {
  font-size: 15px;
}

/* フッターの問い合わせボタン内テキスト 14px→15px */
.p-footer-button_grid p {
  font-size: 15px;
}

/* コピーライト 14px→15px */
.p-footer-copyright {
  font-size: 15px;
}

/* パンくず（breadcrumb.cssが子テーマより後に読まれるため二重クラスで上書き）
   PC 14px→15px / SP 12px→13px */
.c-breadcrumb__list.c-breadcrumb__list {
  font-size: 15px;
}

/* お問い合わせフォームのご用件ラジオ（無料相談／お問い合わせ）14px→17px
   入力欄・送信ボタンと同等の大きさに揃える
   ※ utility.cssの .wpcf7 .wpcf7-list-item-label{font-size:14px} が
   子テーマより後に読まれるため、詳細度を1段上げて上書きする */
.custom-contact-form .custom-contact-type .wpcf7-list-item-label {
  font-size: 17px;
}

/* スマホ幅はピル内で「お問い合わせ」が2行に折れるため16pxに抑え、
   ラベル内の改行を禁止する（幅が足りない端末ではピルごと折り返す） */
@media (max-width: 930px) {
  .custom-contact-form .custom-contact-type .wpcf7-list-item-label {
    font-size: 16px;
    white-space: nowrap;
  }
}

@media (max-width: 767px) {
  .c-breadcrumb__list.c-breadcrumb__list {
    font-size: 13px;
  }
}

/* キービジュアル2行目のキャッチコピー PC 16px→17px / SP 14px→15px
   （親テーマがdiv付きセレクタで指定するため同形式で上書き） */
div.p-mv1-content-title_2 {
  font-size: 17px;
}

/* キービジュアル: 白文字の背後に薄い黒の放射状グラデーション幕を敷いて
   視認性を上げる（2026-08-19 追加指示）。テキストのフェードインに合わせて
   ゆっくり広がりながら現れる */
.p-mv1-content {
  /* 疑似要素のz-index:-1が背景写真より下へ落ちないよう独立した重なり文脈にする */
  isolation: isolate;
}

.p-mv1-content::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: radial-gradient(
    ellipse 68% 58% at 50% 50%,
    rgba(0, 0, 0, 0.42),
    rgba(0, 0, 0, 0.22) 55%,
    rgba(0, 0, 0, 0) 80%
  );
  opacity: 0;
}

body.is-ready .p-mv1-content::before {
  animation: custom-mv-scrim-in 1.8s ease-out 0.15s forwards;
}

@keyframes custom-mv-scrim-in {
  from {
    opacity: 0;
    transform: scale(1.08);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

/* キービジュアルPC: 文字・ボタンの拡大と、文字への薄いドロップシャドウ
   （夜景写真の明るい部分でも読めるように。2026-08-19 追加指示） */
@media (min-width: 768px) {
  .p-mv1-content-title {
    /* タブレット幅では「銀行が「無理」と言った案件を、」が折り返さないよう可変 */
    font-size: clamp(40px, 5vw, 48px);
    text-shadow: 0 2px 16px rgba(0, 0, 0, 0.45), 0 1px 4px rgba(0, 0, 0, 0.3);
  }

  div.p-mv1-content-title_2 {
    font-size: 24px;
    text-shadow: 0 1px 10px rgba(0, 0, 0, 0.5), 0 1px 3px rgba(0, 0, 0, 0.35);
  }

  .p-mv1-content-button {
    min-width: 340px;
    height: 84px;
    font-size: 22px;
  }
}

@media (max-width: 767px) {
  div.p-mv1-content-title_2 {
    font-size: 17px;
    text-shadow: 0 1px 10px rgba(0, 0, 0, 0.5), 0 1px 3px rgba(0, 0, 0, 0.35);
    /* 拡大で「…設計さ／れていますか？」のような中途半端な折返しになるため均等化。
       対応ブラウザ（Chrome等）では文節単位で折り返す */
    text-wrap: balance;
    word-break: auto-phrase;
  }
}

/* キービジュアルSP: 文字の拡大とPCと同じ薄いドロップシャドウ（2026-08-19 追加指示）
   メインキャッチ24→27px / 2行目15→17px / ボタン14→17px */
@media (max-width: 767px) {
  .p-mv1-content-title {
    font-size: 27px;
    text-shadow: 0 2px 14px rgba(0, 0, 0, 0.45), 0 1px 4px rgba(0, 0, 0, 0.3);
  }

  .p-mv1-content-button {
    font-size: 17px;
  }
}

@media (max-width: 767px) {
  /* コンテンツビルダーのボタン（事例一覧など）14px→15px */
  .p-cb-button {
    font-size: 15px;
  }

  /* 解決事例アーカイブのカード見出し 14px→15px */
  .c-line-clamp {
    font-size: 15px;
  }
}

/* ============================================================
   PC最小文字20px（2026-08-19）
   パソコン閲覧時は注記・ラベル・バッジを含む全テキストを最低20pxに
   する（ユーザー指示）。境界は767pxではなく931px以上。理由:
   フォームや各カスタムセクションのSPレイアウトは930px以下で切り替わる
   ため、768〜930pxへ適用するとSP用のカード型レイアウトと衝突する。
   各セレクタは元の宣言と同じか上の詳細度で後勝ち上書きする
   （.page-id-114系の上書きにも同詳細度・後方定義で勝つ）。
   ============================================================ */
@media (min-width: 931px) {
  /* --- 基本（継承テキスト全体と固定ページ本文） --- */
  body {
    font-size: 20px;
  }

  .tcdce-body.tcdce-body {
    --tcdce-base-font-size-pc: 20px;
    /* リスト等はプラグインが別変数で16pxを持つため個別に引き上げる */
    --tcdce-ul-font-size-pc: 20px;
    --tcdce-ol-font-size-pc: 20px;
    --tcdce-box-font-size-pc: 20px;
    --tcdce-button-font-size-pc: 20px;
    --tcdce-sb-font-size-pc: 20px;
  }

  /* コンテンツビルダーのボタン（事例一覧など。親テーマ.c-button01の16px） */
  .p-cb-button {
    font-size: 20px;
  }

  /* --- ヘッダー（グローバルナビ・ドロップダウン・メガメニュー・CTA） --- */
  .p-header-nav {
    font-size: 20px;
  }

  .p-header-nav__list > li > ul {
    font-size: 20px;
  }

  .p-megamenu02__item-title {
    font-size: 20px;
  }

  .header-button_item__label {
    font-size: 20px;
  }

  .p-drawer-nav a {
    font-size: 20px;
  }

  /* --- パンくず --- */
  .c-breadcrumb__list.c-breadcrumb__list {
    font-size: 20px;
  }

  /* --- フッター --- */
  .p-footer-nav a,
  .p-footer-info__desc.c-desc,
  .p-footer-button_grid p,
  .p-footer-copyright,
  .p-footer-banner__title {
    font-size: 20px;
  }

  /* --- フロートUI（左端ドットナビのラベル・縦書きタブ） --- */
  /* ラベルは20px化でリンクの高さを押し広げ、ナビ全高が376pxになって
     下の縦書きタブと重なるため、絶対配置にしてレイアウトから外す
     （ホバーでドットの右に出る見た目は従来どおり） */
  .custom-float-nav a {
    position: relative;
  }

  .custom-float-nav__label {
    font-size: 20px;
    position: absolute;
    left: calc(100% + 2px);
    top: 50%;
    transform: translate(-4px, -50%);
  }

  .custom-float-nav a:hover .custom-float-nav__label,
  .custom-float-nav a:focus-visible .custom-float-nav__label {
    transform: translate(0, -50%);
  }

  /* 20px化でタブ群が縦に伸びるため、余白と字間を詰めて全高を約325pxに抑える */
  .custom-float-cta {
    font-size: 20px;
    letter-spacing: 0.1em;
    padding: 10px 7px;
  }

  .custom-float-side {
    gap: 6px;
  }

  /* サブページはドットナビが無いので上下中央に置き、低い画面でも収める */
  body:not(.home) .custom-float-side {
    top: 50%;
    transform: translateY(-50%);
  }

  /* トップページはドットナビ（中央±約102px）の下に置く関係で、
     画面高が足りないと下のタブが切れるため非表示にする
     （タブ全高336px: 50%+117+336が収まるのは画面高906px以上）
     （無料相談・代表紹介・解決事例はドットナビ・ヘッダーからも辿れる） */
  @media (max-height: 905px) {
    body.home .custom-float-side {
      display: none;
    }
  }

  /* --- トップ: 3つの壁 --- */
  .custom-wall-issue-section__note {
    font-size: 20px;
  }

  .custom-wall-issue-card__num {
    font-size: 20px;
  }

  .custom-wall-issue-card__text.custom-wall-issue-card__text {
    font-size: 20px;
  }

  /* --- トップ: 専門家の限界 --- */
  .custom-expert-intro.custom-expert-intro,
  .custom-expert-note.custom-expert-note,
  .custom-expert-card__role.custom-expert-card__role,
  .custom-expert-card__gap.custom-expert-card__gap {
    font-size: 20px;
  }

  /* --- トップ: 二刀流 --- */
  .custom-duo-intro.custom-duo-intro,
  .custom-duo-panel__list.custom-duo-panel__list li,
  .custom-duo-case__label,
  .custom-duo-case__text.custom-duo-case__text,
  .custom-duo-more a {
    font-size: 20px;
  }

  /* --- トップ: 3つの価値 --- */
  .custom-value-row__sub.custom-value-row__sub,
  .custom-value-row__text.custom-value-row__text,
  .custom-value-row__result.custom-value-row__result {
    font-size: 20px;
  }

  /* --- トップ: 進め方 --- */
  .custom-step-row__sub.custom-step-row__sub,
  .custom-step-row__text.custom-step-row__text {
    font-size: 20px;
  }

  /* --- トップ: サポート内容 --- */
  .custom-service-card__text.custom-service-card__text {
    font-size: 20px;
  }

  /* --- トップ: 比較表 --- */
  .custom-compare-intro.custom-compare-intro,
  .custom-contact-intro.custom-contact-intro,
  .custom-compare-banner__sub.custom-compare-banner__sub {
    font-size: 20px;
  }

  .custom-compare-table.custom-compare-table th,
  .custom-compare-table.custom-compare-table th.is-ours,
  .custom-compare-table.custom-compare-table td,
  .custom-compare-table.custom-compare-table td.is-ours,
  .custom-compare-table.custom-compare-table td small {
    font-size: 20px;
  }

  /* --- トップ: FAQ --- */
  .custom-faq-lead.custom-faq-lead,
  .custom-faq-item__q::before,
  .custom-faq-item__a.custom-faq-item__a p {
    font-size: 20px;
  }

  /* --- お問い合わせフォーム --- */
  .custom-contact-row__label.custom-contact-row__label,
  .custom-contact-req,
  .custom-contact-opt,
  .custom-contact-slots__lead.custom-contact-slots__lead,
  .custom-contact-quiz .wpcf7-quiz-label,
  .custom-contact-quiz__note,
  .custom-contact-note.custom-contact-note,
  .custom-contact-done__text.custom-contact-done__text,
  .custom-contact-done__note.custom-contact-done__note,
  .custom-contact-form .wpcf7-not-valid-tip {
    font-size: 20px;
  }

  .custom-contact-form input[type="text"],
  .custom-contact-form input[type="email"],
  .custom-contact-form input[type="tel"],
  .custom-contact-form input[type="date"],
  .custom-contact-form .custom-contact-slot select,
  .custom-contact-form textarea,
  .custom-contact-submit input[type="submit"] {
    font-size: 20px;
  }

  /* utility.cssの14px指定より詳細度を上げる（既存の上書きと同形式） */
  .custom-contact-form .custom-contact-type .wpcf7-list-item-label {
    font-size: 20px;
  }

  .wpcf7 .wpcf7-response-output.wpcf7-response-output {
    font-size: 20px;
  }

  /* --- 解決事例 個別ページ --- */
  .custom-case-intro.custom-case-intro,
  .custom-case-card__key,
  .custom-case-card__val,
  .custom-case-note.custom-case-note,
  .custom-case-result__item,
  .custom-case-point__list.custom-case-point__list li,
  .custom-case-stat__label.custom-case-stat__label,
  .custom-case-issue__text.custom-case-issue__text,
  .custom-case-merit__head.custom-case-merit__head,
  .custom-case-merit__text.custom-case-merit__text,
  .custom-case-mini__badge.custom-case-mini__badge,
  .custom-case-mini__row,
  .custom-case-mini__result-label,
  .custom-case-mini__result-body span,
  .custom-case-final__right.custom-case-final__right,
  .custom-case-flow__num,
  .custom-case-flow__name.custom-case-flow__name,
  .custom-case-flow__desc.custom-case-flow__desc,
  .custom-case-gain__text.custom-case-gain__text,
  .custom-case-cta__button,
  .custom-case-cta__note.custom-case-cta__note {
    font-size: 20px;
  }

  /* タイトル併記の小書き。親サイズに比例しつつ20pxを下限にする */
  .custom-case-title__sub {
    font-size: max(20px, 0.72em);
  }

  /* 20pxで「銀行ランク」「ニューマネー」が語中折れしないよう項目名列を拡幅 */
  .custom-case-card__row {
    grid-template-columns: 148px 1fr;
  }

  /* メリット番号の丸が20px文字では窮屈になるため一回り拡大 */
  .custom-case-merit__num {
    width: 32px;
    height: 32px;
    font-size: 20px;
  }

  /* --- 固定ページ共通パネル --- */
  .panel.panel li,
  .strength-highlight.strength-highlight p {
    font-size: 20px;
  }

  /* --- 会社概要 --- */
  .custom-wall-profile-note.custom-wall-profile-note,
  .custom-wall-profile-table.custom-wall-profile-table th,
  .custom-wall-profile-table.custom-wall-profile-table td,
  .custom-wall-profile-office__label.custom-wall-profile-office__label,
  .custom-wall-profile-office__address.custom-wall-profile-office__address,
  .custom-wall-profile-list.custom-wall-profile-list li,
  .custom-wall-profile-list__sub.custom-wall-profile-list__sub {
    font-size: 20px;
  }

  .custom-wall-greeting__label.custom-wall-greeting__label,
  .custom-wall-greeting__text.custom-wall-greeting__text,
  .custom-wall-greeting__name.custom-wall-greeting__name,
  .custom-wall-greeting__link.custom-wall-greeting__link {
    font-size: 20px;
  }

  /* 発言ラベルは20pxだと「インタビュアー」が幅96pxで折り返すため拡幅 */
  .custom-wall-ceo-talk__label.custom-wall-ceo-talk__label {
    flex: 0 0 156px;
  }

  /* --- 代表紹介（.page-id-114系の個別上書きにも同詳細度・後方定義で勝つ） --- */
  .custom-wall-ceo-profile__name.custom-wall-ceo-profile__name span,
  .custom-wall-ceo-profile__role.custom-wall-ceo-profile__role,
  .custom-wall-ceo-profile__bio.custom-wall-ceo-profile__bio p,
  .custom-wall-ceo-lead.custom-wall-ceo-lead,
  .custom-wall-ceo-lead__credit.custom-wall-ceo-lead__credit,
  .custom-wall-ceo-talk__label.custom-wall-ceo-talk__label,
  .custom-wall-ceo-talk__text.custom-wall-ceo-talk__text,
  .custom-wall-ceo-talk--q .custom-wall-ceo-talk__text.custom-wall-ceo-talk__text,
  .custom-wall-ceo-figure.custom-wall-ceo-figure figcaption,
  .custom-wall-ceo-cta__text.custom-wall-ceo-cta__text,
  .custom-wall-ceo-cta__btn.custom-wall-ceo-cta__btn {
    font-size: 20px;
  }

  /* --- 著書スライダー --- */
  .custom-wall-works-card__kicker.custom-wall-works-card__kicker,
  .custom-wall-works-card__title.custom-wall-works-card__title,
  .custom-wall-works-card__date.custom-wall-works-card__date,
  .custom-wall-works-card__placeholder {
    font-size: 20px;
  }

  /* 20pxで長い出版社名が語中折れするため、対応ブラウザでは文節で折り返す */
  .custom-wall-works-card__kicker.custom-wall-works-card__kicker {
    word-break: auto-phrase;
  }

  /* --- YouTube動画のキャプション --- */
  .custom-wall-video__caption {
    font-size: 20px;
  }
}

/* ============================================================
   SP最小文字18px（2026-08-19）
   スマホ閲覧時は注記・ラベル・バッジを含む全テキストを最低18pxに
   する（ユーザー指示）。境界はPC用（min-width: 931px）と対になる
   max-width: 930px（カスタムセクションのSPレイアウト切替点）。
   下部CTAバー関連のみ、バーが出る767px以下の内側ブロックで調整。
   各セレクタは元の宣言と同じか上の詳細度で後勝ち上書きする。
   ============================================================ */
@media (max-width: 930px) {
  /* --- 基本（継承テキスト全体と固定ページ本文） --- */
  body {
    font-size: 18px;
  }

  .tcdce-body.tcdce-body {
    /* どちらの変数が参照されても18pxになるようpc/sp両方を上書き */
    --tcdce-base-font-size-pc: 18px;
    --tcdce-base-font-size-sp: 18px;
    --tcdce-ul-font-size-pc: 18px;
    --tcdce-ul-font-size-sp: 18px;
    --tcdce-ol-font-size-pc: 18px;
    --tcdce-ol-font-size-sp: 18px;
    --tcdce-box-font-size-pc: 18px;
    --tcdce-box-font-size-sp: 18px;
    --tcdce-button-font-size-pc: 18px;
    --tcdce-button-font-size-sp: 18px;
    --tcdce-sb-font-size-pc: 18px;
    --tcdce-sb-font-size-sp: 18px;
  }

  /* --- 親テーマ由来（ヘッダーCTA・ドロワー・フッター・パンくず・ボタン類） --- */
  .header-button_item__label,
  .p-drawer-nav a,
  .p-footer-nav a,
  .p-footer-info__desc.c-desc,
  .p-footer-button_grid p,
  .p-footer-copyright,
  .p-footer-banner__title,
  .c-breadcrumb__list.c-breadcrumb__list,
  .p-cb-button,
  .c-line-clamp {
    font-size: 18px;
  }

  /* --- キービジュアル --- */
  div.p-mv1-content-title_2 {
    font-size: 18px;
  }

  .p-mv1-content-button {
    font-size: 18px;
  }

  /* --- トップ: 3つの壁 --- */
  .custom-wall-issue-section__note,
  .custom-wall-issue-card__num,
  .custom-wall-issue-card__text.custom-wall-issue-card__text {
    font-size: 18px;
  }

  /* --- トップ: 専門家の限界 --- */
  .custom-expert-intro.custom-expert-intro,
  .custom-expert-note.custom-expert-note,
  .custom-expert-card__role.custom-expert-card__role,
  .custom-expert-card__gap.custom-expert-card__gap {
    font-size: 18px;
  }

  /* --- トップ: 二刀流 --- */
  .custom-duo-label.custom-duo-label,
  .custom-duo-intro.custom-duo-intro,
  .custom-duo-panel__list.custom-duo-panel__list li,
  .custom-duo-case__label,
  .custom-duo-case__text.custom-duo-case__text,
  .custom-duo-more a {
    font-size: 18px;
  }

  /* --- トップ: 3つの価値 --- */
  .custom-value-row__sub.custom-value-row__sub,
  .custom-value-row__text.custom-value-row__text,
  .custom-value-row__result.custom-value-row__result {
    font-size: 18px;
  }

  /* --- トップ: 進め方 --- */
  .custom-step-row__sub.custom-step-row__sub,
  .custom-step-row__text.custom-step-row__text {
    font-size: 18px;
  }

  /* --- トップ: サポート内容 --- */
  .custom-service-card__text.custom-service-card__text {
    font-size: 18px;
  }

  /* --- トップ: 比較表（SPはカード型表示） --- */
  .custom-compare-intro.custom-compare-intro,
  .custom-compare-note.custom-compare-note,
  .custom-compare-banner__sub.custom-compare-banner__sub,
  .custom-compare-table.custom-compare-table td.custom-compare-table__item,
  .custom-compare-table.custom-compare-table td:not(.custom-compare-table__item)::before,
  .custom-compare-table.custom-compare-table td small {
    font-size: 18px;
  }

  /* --- トップ: FAQ --- */
  .custom-faq-lead.custom-faq-lead,
  .custom-faq-item__q::before,
  .custom-faq-item__a.custom-faq-item__a p {
    font-size: 18px;
  }

  /* --- お問い合わせフォーム --- */
  .custom-contact-row__label.custom-contact-row__label,
  .custom-contact-req,
  .custom-contact-opt,
  .custom-contact-slots__lead.custom-contact-slots__lead,
  .custom-contact-quiz__note,
  .custom-contact-note.custom-contact-note,
  .custom-contact-done__text.custom-contact-done__text,
  .custom-contact-done__note.custom-contact-done__note,
  .custom-contact-form .wpcf7-not-valid-tip {
    font-size: 18px;
  }

  .custom-contact-form input[type="text"],
  .custom-contact-form input[type="email"],
  .custom-contact-form input[type="tel"],
  .custom-contact-form input[type="date"],
  .custom-contact-form .custom-contact-slot select,
  .custom-contact-form textarea {
    font-size: 18px;
  }

  /* utility.cssの14px指定より詳細度を上げる（既存の上書きと同形式）。
     nowrap指定（同930px媒体・前方定義）は維持される */
  .custom-contact-form .custom-contact-type .wpcf7-list-item-label {
    font-size: 18px;
  }

  .wpcf7 .wpcf7-response-output.wpcf7-response-output {
    font-size: 18px;
  }

  /* --- 解決事例 個別ページ --- */
  .custom-case-label.custom-case-label,
  .custom-case-intro.custom-case-intro,
  .custom-case-card__key,
  .custom-case-card__val,
  .custom-case-note.custom-case-note,
  .custom-case-result__item,
  .custom-case-point__title::before,
  .custom-case-point__list.custom-case-point__list li,
  .custom-case-issue__text.custom-case-issue__text,
  .custom-case-merit__text.custom-case-merit__text,
  .custom-case-summary__item.custom-case-summary__item,
  .custom-case-summary.custom-case-summary p,
  .custom-case-mini__badge.custom-case-mini__badge,
  .custom-case-mini__row,
  .custom-case-mini__result-body span,
  .custom-case-final__right.custom-case-final__right,
  .custom-case-flow__num,
  .custom-case-flow__name.custom-case-flow__name,
  .custom-case-flow__desc.custom-case-flow__desc,
  .custom-case-gain__text.custom-case-gain__text,
  .custom-case-cta__button,
  .custom-case-cta__note.custom-case-cta__note {
    font-size: 18px;
  }

  /* タイトル併記の小書き。親サイズに比例しつつ18pxを下限にする */
  .custom-case-title__sub {
    font-size: max(18px, 0.72em);
  }

  /* 18pxで「銀行ランク」「ニューマネー」が語中折れしないよう項目名列を拡幅 */
  .custom-case-card__row {
    grid-template-columns: 130px 1fr;
  }

  /* メリット番号の丸が18px文字では窮屈になるため一回り拡大 */
  .custom-case-merit__num {
    width: 30px;
    height: 30px;
    font-size: 18px;
  }

  /* --- 固定ページ共通パネル --- */
  .panel.panel li,
  .strength-highlight.strength-highlight p {
    font-size: 18px;
  }

  /* --- 会社概要 --- */
  .custom-wall-profile-note.custom-wall-profile-note,
  .custom-wall-profile-table.custom-wall-profile-table th,
  .custom-wall-profile-table.custom-wall-profile-table td,
  .custom-wall-profile-office__label.custom-wall-profile-office__label,
  .custom-wall-profile-office__address.custom-wall-profile-office__address,
  .custom-wall-profile-list.custom-wall-profile-list li,
  .custom-wall-profile-list__sub.custom-wall-profile-list__sub {
    font-size: 18px;
  }

  .custom-wall-greeting__label.custom-wall-greeting__label,
  .custom-wall-greeting__text.custom-wall-greeting__text,
  .custom-wall-greeting__name.custom-wall-greeting__name,
  .custom-wall-greeting__link.custom-wall-greeting__link {
    font-size: 18px;
  }

  /* --- 代表紹介（.page-id-114系の個別上書きにも同詳細度・後方定義で勝つ） --- */
  .custom-wall-ceo-profile__name.custom-wall-ceo-profile__name span,
  .custom-wall-ceo-profile__role.custom-wall-ceo-profile__role,
  .custom-wall-ceo-profile__bio.custom-wall-ceo-profile__bio p,
  .custom-wall-ceo-lead.custom-wall-ceo-lead,
  .custom-wall-ceo-lead__credit.custom-wall-ceo-lead__credit,
  .custom-wall-ceo-talk__label.custom-wall-ceo-talk__label,
  .custom-wall-ceo-talk__text.custom-wall-ceo-talk__text,
  .custom-wall-ceo-talk--q .custom-wall-ceo-talk__text.custom-wall-ceo-talk__text,
  .custom-wall-ceo-figure.custom-wall-ceo-figure figcaption,
  .custom-wall-ceo-cta__text.custom-wall-ceo-cta__text {
    font-size: 18px;
  }

  /* --- 著書スライダー --- */
  .custom-wall-works-card__kicker.custom-wall-works-card__kicker,
  .custom-wall-works-card__kicker--tight.custom-wall-works-card__kicker--tight,
  .custom-wall-works-card__title.custom-wall-works-card__title,
  .custom-wall-works-card__date.custom-wall-works-card__date,
  .custom-wall-works-card__placeholder {
    font-size: 18px;
  }

  /* 長い出版社名は対応ブラウザでは文節で折り返す */
  .custom-wall-works-card__kicker.custom-wall-works-card__kicker {
    word-break: auto-phrase;
  }

  /* スライダー送りボタンは18px文字に合わせて一回り拡大 */
  .custom-wall-works-slider__btn.custom-wall-works-slider__btn {
    width: 28px;
    height: 28px;
    font-size: 18px;
  }

  /* --- YouTube動画のキャプション --- */
  .custom-wall-video__caption {
    font-size: 18px;
  }
}

/* 下部CTAバー（767px以下のみ表示）: 18px化でバーが約5px高くなるため、
   コピーライト帯の逃がし余白と右下ボタンの位置も追従させる */
@media (max-width: 767px) {
  .custom-sp-ctabar a {
    font-size: 18px;
  }

  .p-footer-copyright.p-footer-copyright {
    padding-block-end: calc(58px + env(safe-area-inset-bottom));
  }

  .custom-float-actions {
    bottom: calc(72px + env(safe-area-inset-bottom));
  }
}

/* ============================================================
   解決事例ジャンルタグ（2026-08-19）
   実績カード・YouTube動画・個別記事にジャンルのバッジを表示し、
   アーカイブ上部のボタンで絞り込めるようにする。
   文字サイズは既定の最小値（PC 20px / SP 18px）を守る。
   ============================================================ */

/* --- バッジ共通 --- */
.custom-genre-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 12px;
}

.custom-genre-tag {
  display: inline-block;
  padding: 3px 14px;
  border: 1px solid rgba(8, 71, 95, 0.3);
  border-radius: 999px;
  background: #f0f5f7;
  color: #08475f;
  font-size: 20px;
  line-height: 1.5;
  letter-spacing: 0.02em;
  cursor: pointer;
  transition: background-color 0.2s, border-color 0.2s;
}

/* バッジはクリックで同ジャンルの絞り込みへ飛べる */
.custom-genre-tag:hover,
.custom-genre-tag:focus-visible {
  background: #dcebf0;
  border-color: rgba(8, 71, 95, 0.55);
}

/* 実績カード: 白い枠はタイトル要素側の枠線・余白で作られているため、
   画像とタイトルの間に入るバッジ帯にも同じ側面枠線を与えて一体化させる */
.p-voice-cards-item .custom-genre-tags {
  margin: 0;
  padding: 18px 40px 0;
  border-left: 1px solid #ddd;
  border-right: 1px solid #ddd;
  background: #fff;
}

.p-voice-cards-item .custom-genre-tags + .p-voice-cards-item__title {
  padding-top: 14px;
}

/* トップページの解決事例スライダーは card自体が白背景＋角丸のため枠線不要 */
#_624 .p-voice-cards-item .custom-genre-tags {
  border-left: none;
  border-right: none;
}

/* --- カードの縦幅を揃える ---
   白い枠（タイトル要素）を flex で下端まで伸ばし、行内のカード高さを統一する。
   アーカイブはグリッド、トップページはスライダー（splide）の行高に追従。 */
.p-voice-cards-item > a {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.p-voice-cards-item__image {
  flex: 0 0 auto;
}

.p-voice-cards-item__content {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
}

.p-voice-cards-item .custom-genre-tags {
  flex: 0 0 auto;
}

.p-voice-cards-item .p-voice-cards-item__title {
  flex: 1 1 auto;
}

#_624 .splide__slide .p-voice-cards-item {
  height: 100%;
}

/* アーカイブは行をまたいでも全カード同じ高さにする（複数列のときのみ。
   767px以下は1列なので自然な高さのまま） */
@media (min-width: 768px) {
  .p-archive--voice.p-voice-cards {
    grid-auto-rows: 1fr;
  }
}

/* YouTube動画: 動画とキャプションの間に中央寄せで表示 */
.custom-genre-tags--video {
  justify-content: center;
  margin: 12px 0 0;
}

.custom-genre-tags--video + .custom-wall-video__caption {
  margin-top: 8px;
}

/* 個別記事: 本文先頭に表示 */
.custom-genre-tags--single {
  margin: 0 0 28px;
}

/* --- アーカイブ上部の絞り込みボタン ---
   明朝＋淡い生成りのグラデーションと金のアクセントで、サイト基調
   （紺・青緑・金・ベージュ）に合わせる。下余白でサムネとの間隔を確保
   （動画セクション側の上余白は0にしてここへ一本化）。 */
.custom-genre-filter {
  max-width: 1100px;
  margin: 40px auto 48px;
  padding: 0 24px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px 14px;
  justify-content: center;
}

.custom-genre-filter__btn {
  padding: 9px 28px;
  border: 1px solid rgba(8, 71, 95, 0.22);
  border-radius: 999px;
  background: linear-gradient(180deg, #ffffff 0%, #f6f2ea 100%);
  color: #08475f;
  font-family: var(--custom-wall-serif);
  font-size: 20px;
  line-height: 1.5;
  letter-spacing: 0.06em;
  cursor: pointer;
  box-shadow: 0 2px 10px rgba(31, 58, 77, 0.08);
  transition: border-color 0.25s, box-shadow 0.25s, color 0.25s, background-color 0.25s;
}

.custom-genre-filter__btn:hover {
  border-color: rgba(176, 138, 46, 0.6);
  box-shadow: 0 4px 14px rgba(31, 58, 77, 0.16);
}

.custom-genre-filter__btn.is-active {
  background: linear-gradient(180deg, #0d5872 0%, #083c50 100%);
  border-color: #b08a2e;
  color: #fff;
  box-shadow: inset 0 0 0 1px rgba(201, 164, 92, 0.35), 0 6px 18px rgba(8, 71, 95, 0.28);
}

/* 絞り込みで対象外になった動画・カード・動画セクションを隠す */
.is-genre-hidden {
  display: none !important;
}

@media (max-width: 930px) {
  .custom-genre-tags {
    gap: 6px;
    margin-bottom: 10px;
  }

  .custom-genre-tag {
    padding: 2px 12px;
    font-size: 18px;
  }

  .custom-genre-tags--single {
    margin-bottom: 22px;
  }

  .custom-genre-filter {
    margin: 28px auto 32px;
    padding: 0 20px;
    gap: 8px 10px;
  }

  .custom-genre-filter__btn {
    padding: 6px 18px;
    font-size: 18px;
  }
}

/* ======================================================================
  解決事例アーカイブのタイトル拡大（2026-08-19）
  ユーザー指示「解決事例のタイトルだけ大きく。スマホ・PC両方」。
  /case/ のページタイトル（h1「解決事例」）のみ拡大。
  リード文・絞り込みボタン・カードは変更しない。
  親テーマは --tcd-archive-title-font-size-pc: 34px / -sp: 20px（767px以下）。
====================================================================== */

body.post-type-archive-voice .c-archive-header__title {
  font-size: 44px;
}

/* 代表紹介（page-id-114）・会社概要（page-id-2）・固定資産税（page-id-199）の
   ページタイトルも同じ大きさに揃える
   （親テーマ実値: PC 30px / SP 20px。他の固定ページは指示外のため変更しない） */
body.page-id-114 .p-page-header-title,
body.page-id-2 .p-page-header-title,
body.page-id-199 .p-page-header-title {
  font-size: 44px;
}

/* サイト共通のSP切替点（930px）に合わせる。親テーマの767px切替より広いが、
   body クラス付きで詳細度が勝つためタブレット幅でも一貫して効く */
@media (max-width: 930px) {
  body.post-type-archive-voice .c-archive-header__title,
  body.page-id-114 .p-page-header-title,
  body.page-id-2 .p-page-header-title,
  body.page-id-199 .p-page-header-title {
    font-size: 30px;
  }
}


/* ======================================================================
  固定ページ「新築建物の固定資産税適正化」（2026-08-19 新規 / 2026-08-20 全面改訂）
  タウンエステート協同組合提携の固定資産税適正化スキームを紹介するLP型固定ページ
  （post ID 199 / スラッグ fixed-asset-tax）。本文HTMLは
  page-fixed-asset-tax-body.html。Classic Editorの「テキスト」タブへ貼る。

  2026-08-20 改訂の要点（ユーザー指示）:
  ・濃い紺／青緑の面（旧ヒーロー #08475f 等）は使わない。トップページと同じ
    「明るい面 ＋ 金と明朝のアクセント」で構成する。背景は
    白 / #edf1f5 / #f6f0e4 / #f6f6f6 のみを交互に使う（トップページのリズム）。
  ・図解は後日ユーザーが用意する画像を当てはめる。巨大な16:9枠は廃止し、
    図タイトル＋画像＋キャプションを1枚のカードにまとめた .custom-zeitax__fig
    （最大720px）へ収める。ヒーローの大画像枠は廃止。
  ・カードの意匠はトップページの .custom-value-row / .custom-step-row /
    .custom-wall-issue-card から借用（生成り白 #fbfaf8・金の丸番号・
    金の縦罫・明朝見出し・影 0 8px 24px rgba(31,58,77,.05)）。

  既知の落とし穴への対処:
  ・TCD Classic Editorプラグインの :is(.tcdce-body, .editor-styles-wrapper) ul/ol
    が子テーマより後に読まれ、list-style: none に勝ってマーカーが出る。
    → .tcdce-body を前置した2クラス相当の詳細度で打ち消す（下部の一括指定）。
  ・親テーマのh1指定に負けるため、見出し系は二重クラスで詳細度を上げる。
  ・wpautopが空<p>を差し込むため p:empty を一括で消す。
  ・文字サイズは PC最小20px／SP最小18px（930px切替）に準拠。
    装飾用の小さな添え字（単位・図キャプション等）のみ既存前例に倣った例外。
====================================================================== */

.custom-zeitax {
  --zeitax-gold: #b29a68;
  --zeitax-gold-dark: #b08a2e;
  --zeitax-ink: #1f3a4d;
  --zeitax-teal: #08475f;
  --zeitax-body: #3c3a36;
  --zeitax-muted: #6b665c;
  --zeitax-card: #fbfaf8;
  --zeitax-shadow: 0 8px 24px rgba(31, 58, 77, 0.05);
  font-size: 20px;
  line-height: 1.9;
  color: var(--zeitax-body);
}

/* 日本語の改行位置を文節で切る（既存ページと同じ方針）。
   Safariは未対応だが、その場合も従来どおりの折返しになるだけ */
.custom-zeitax p,
.custom-zeitax li,
.custom-zeitax h2,
.custom-zeitax h3,
.custom-zeitax td,
.custom-zeitax th {
  word-break: auto-phrase;
}

/* 数値・年号・型番など、途中で切れると読みにくい語のかたまり */
.custom-zeitax__nw {
  white-space: nowrap;
}

/* ---- セクション（本文カラム内で完結する角丸パネル） ---- */
.custom-zeitax__section {
  padding: 72px 48px;
  margin: 0 0 28px;
  border-radius: 18px;
  background: transparent;
}

.custom-zeitax__section:last-child {
  margin-bottom: 0;
}

.custom-zeitax__section--bluegray {
  background: #edf1f5;
}

.custom-zeitax__section--beige {
  background: #f6f0e4;
}

/* 2026-08-20: 問い合わせセクションだけ、トップページの #contact と同じ
   「画面いっぱいのグレー帯 ＋ 本文カラム幅(1100px)のフォーム」にする（ユーザー指示）。
   このページの本文カラム(.l-contents)は max-width:1100px なので、
   そこから左右へはみ出させて画面幅いっぱいの帯にする。
   100vw はスクロールバー幅を含み数pxはみ出すため、body 側を overflow-x: clip で
   切り落とす。clip はスクロールコンテナを作らないので、テーマの
   position: fixed / sticky（左端の縦タブ・下部CTAバー等）には影響しない。 */
body.page-id-199 {
  overflow-x: clip;
}

.custom-zeitax__section--form {
  background: #f6f6f6;
  width: 100vw;
  margin-inline: calc(50% - 50vw);
  border-radius: 0;
  padding: 100px 40px;
}

/* 帯の中身はトップページと同じ 1100px 幅に揃える */
.custom-zeitax__section--form .custom-zeitax__heading.custom-zeitax__heading,
.custom-zeitax__section--form .custom-zeitax__form {
  max-width: 1100px;
  margin-inline: auto;
}

/* ---- 見出し（明朝＋金の下線バー。トップページの見出しと同系） ---- */
/* 2026-08-20: 見出し下の金の横棒（::after）はユーザー指示で全廃した。
   棒のために取っていた padding-bottom 22px は margin へ振り替え、
   見出しと内容の間隔は従来どおり（PC 62px）を保つ */
.custom-zeitax__heading.custom-zeitax__heading {
  font-family: var(--custom-wall-serif);
  font-size: clamp(28px, 3vw, 36px);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.6;
  color: var(--zeitax-teal);
  text-align: center;
  margin: 0 0 62px;
  padding-bottom: 0;
}

/* セクション内の小見出し */
.custom-zeitax__subhead.custom-zeitax__subhead {
  font-family: var(--custom-wall-serif);
  /* 2026-08-21: ユーザー指示で拡大（24px→30px）。h2 見出しの clamp(28,3vw,36) より
     一段小さく保ち、見出しの階層が入れ替わらないようにしている */
  font-size: 30px;
  font-weight: 700;
  color: var(--zeitax-ink);
  text-align: center;
  line-height: 1.6;
  margin: 56px 0 24px;
}

/* ---- 本文 ---- */
/* 1行が長くなりすぎないよう行長を制限し、左揃えで折返しを安定させる */
.custom-zeitax__prose {
  max-width: 880px;
  margin-inline: auto;
}

.custom-zeitax__text.custom-zeitax__text {
  font-size: 20px;
  line-height: 2;
  color: var(--zeitax-body);
  margin: 0 0 22px;
}

.custom-zeitax__text.custom-zeitax__text:last-child {
  margin-bottom: 0;
}

.custom-zeitax__lead.custom-zeitax__lead {
  text-align: center;
  text-wrap: balance;
  font-size: 20px;
  line-height: 1.9;
  color: var(--zeitax-body);
  max-width: 820px;
  margin: 0 auto 40px;
}

.custom-zeitax__note.custom-zeitax__note {
  font-size: 20px;
  line-height: 1.9;
  /* 2026-08-21: ユーザー指示で太字化。この注記はゴシックで描画されるため
     700 で十分に太くなる（明朝の .custom-expert-card__gap のような
     900 + text-stroke の補正は不要だった） */
  font-weight: 700;
  color: var(--zeitax-muted);
  max-width: 900px;
  margin: 14px auto 0;
}

/* ---- ヒーロー（紺は使わず、生成りベージュ＋金） ---- */
.custom-zeitax__hero {
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg, #faf6ec 0%, #f3ead8 100%);
  border: 1px solid rgba(178, 154, 104, 0.35);
  text-align: center;
  padding: 64px 48px 68px;
}

/* 2026-08-20: 上辺の金のライン（::before）はユーザー指示で削除。
   アイキャッチ画像がヒーロー上端まで見切れる形になる */

/* ヒーロー最上部のアイキャッチ画像（2026-08-20 追加）。
   ヒーローの padding を打ち消して天地・左右いっぱいに敷く。
   上辺にあった金のラインは同日ユーザー指示で削除済み。
   画像を入れるときは .custom-zeitax__hero-ph の p を
   <img class="custom-zeitax__hero-img" src="…" alt="…"> へ置き換える。 */
.custom-zeitax__hero-visual {
  margin: -64px -48px 40px;
}

.custom-zeitax__hero-visual img,
.custom-zeitax__hero-img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 8 / 3;
  object-fit: cover;
  margin: 0;
}

/* wpautop が <img> を <p> で包んでも、天地の余白で枠から浮かないようにする */
.custom-zeitax__hero-visual > p:not(.custom-zeitax__hero-ph) {
  margin: 0;
  line-height: 0;
}

.custom-zeitax__hero-visual > p:empty {
  display: none;
}

/* 画像が入るまでのプレースホルダー（図解カードと同じ意匠。
   左右は見切れるため、破線は下辺のみ） */
.custom-zeitax__hero-ph.custom-zeitax__hero-ph {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  aspect-ratio: 8 / 3;
  border-bottom: 1px dashed rgba(178, 154, 104, 0.55);
  background: rgba(31, 58, 77, 0.03);
  color: var(--zeitax-muted);
  font-size: 20px;
  line-height: 1.6;
  text-align: center;
  margin: 0;
  padding: 16px;
}

.custom-zeitax__hero-ph span {
  font-size: 20px;
  color: rgba(107, 102, 92, 0.8);
}

.custom-zeitax__kicker.custom-zeitax__kicker {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: var(--zeitax-gold-dark);
  margin: 0 0 18px;
}

.custom-zeitax__catch.custom-zeitax__catch {
  font-family: var(--custom-wall-serif);
  font-size: clamp(30px, 4vw, 46px);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.55;
  color: var(--zeitax-ink);
  text-wrap: balance;
  margin: 0 0 24px;
}

.custom-zeitax__sub.custom-zeitax__sub {
  font-size: 20px;
  line-height: 2;
  color: var(--zeitax-body);
  max-width: 740px;
  text-align: left;
  margin: 0 auto;
}

/* ヒーローの3つの数字。カードではなく金の縦罫で仕切る（軽く上品に） */
.custom-zeitax__points.custom-zeitax__points {
  margin: 40px 0;
}

.custom-zeitax__points {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  margin: 40px 0 40px;
}

.custom-zeitax__points li {
  padding: 8px 20px;
  border-left: 1px solid rgba(178, 154, 104, 0.45);
}

.custom-zeitax__points li:first-child {
  border-left: none;
}

.custom-zeitax__points strong {
  display: block;
  font-family: var(--custom-wall-serif);
  font-size: clamp(34px, 3.4vw, 42px);
  font-weight: 700;
  color: var(--zeitax-gold-dark);
  line-height: 1.25;
  margin: 0 0 10px;
}

/* 単位の添え字。0.48emだと931〜1100px付近で20pxを下回るため下限を敷く
   （既存の .custom-case-title__sub と同じ max() の手法） */
.custom-zeitax__points-unit {
  font-size: max(20px, 0.48em);
  margin-left: 3px;
}

.custom-zeitax__points span:not(.custom-zeitax__points-unit) {
  display: block;
  font-size: 20px;
  line-height: 1.6;
  color: var(--zeitax-ink);
}

.custom-zeitax__btn-wrap.custom-zeitax__btn-wrap {
  margin: 0;
  /* ヒーロー以外（「個別にご説明します」セクション等）でも中央に置く */
  text-align: center;
}

.custom-zeitax__btn.custom-zeitax__btn {
  display: inline-block;
  min-width: min(420px, 100%);
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-indent: 0.1em;
  text-align: center;
  color: #c29a4d;
  background: #1f3a4d;
  border-radius: 8px;
  padding: 20px 40px;
  text-decoration: none;
  transition: background 0.2s, color 0.2s;
}

.custom-zeitax__btn.custom-zeitax__btn:hover {
  background: #2b4d64;
  color: #d3ab5e;
}

.custom-zeitax__btn-note.custom-zeitax__btn-note {
  font-size: 20px;
  color: var(--zeitax-muted);
  margin: 16px 0 0;
}

/* ---- お悩み（カードではなく、金の罫で区切った3項目） ---- */
.custom-zeitax__worries.custom-zeitax__worries {
  margin: 0;
}

.custom-zeitax__worries {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  max-width: 980px;
  margin-inline: auto;
}

/* 2026-08-20: 上辺の金の帯（border-top 3px）と金のダイヤ印を廃止し、
   トップページの .custom-wall-issue-card と同じ「上に画像・下に文字」の
   カードへ変更（ユーザー指示）。overflow:hidden で画像の角を枠に合わせる */
.custom-zeitax__worries li {
  position: relative;
  background: #f4f1ea;
  border: 1px solid rgba(0, 0, 0, 0.05);
  border-radius: 10px;
  box-shadow: var(--zeitax-shadow);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  padding: 0 0 28px;
  text-align: center;
  font-family: var(--custom-wall-serif);
  font-size: 21px;
  font-weight: 700;
  line-height: 1.75;
  color: var(--zeitax-ink);
}

/* ダイヤ印は廃止。ただし単に消すとTCD Classic Editorプラグインの
   li::before { content: counter(item) } が復活して番号が出るため、
   同じ詳細度で content: none を明示する */
.tcdce-body .custom-zeitax .custom-zeitax__worries li::before,
.custom-zeitax .custom-zeitax__worries li::before {
  content: none;
  display: none;
}

/* 画像（トップページの .custom-wall-issue-card__image と同じ見せ方）。
   差し替えは <p class="custom-zeitax__worries-ph">…</p> の1行を
   <img class="custom-zeitax__worries-img" src="…" alt="…"> へ置き換えるだけ */
.custom-zeitax__worries-visual {
  margin: 0 0 22px;
}

.custom-zeitax__worries-visual img,
.custom-zeitax__worries-img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  margin: 0;
}

/* wpautop が <img> を <p> で包んでも天地に余白が出ないようにする */
.custom-zeitax__worries-visual > p:not(.custom-zeitax__worries-ph) {
  margin: 0;
  line-height: 0;
}

.custom-zeitax__worries-visual > p:empty {
  display: none;
}

.custom-zeitax__worries-ph.custom-zeitax__worries-ph {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  aspect-ratio: 4 / 3;
  border-bottom: 1px dashed rgba(178, 154, 104, 0.55);
  background: rgba(31, 58, 77, 0.03);
  color: var(--zeitax-muted);
  font-size: 20px;
  font-weight: 400;
  line-height: 1.6;
  margin: 0;
  padding: 12px;
}

.custom-zeitax__worries-ph span {
  font-size: 20px;
  color: rgba(107, 102, 92, 0.8);
}

.custom-zeitax__worries-text.custom-zeitax__worries-text {
  font-size: 21px;
  line-height: 1.75;
  margin: 0;
  padding: 0 20px;
}

/* 締めのひとこと（トップページの .custom-wall-issue-banner と同系） */
.custom-zeitax__banner.custom-zeitax__banner {
  max-width: 820px;
  margin: 44px auto 0;
  padding: 20px 32px;
  background: #f3ecdd;
  border: 1px solid var(--zeitax-gold);
  border-radius: 6px;
  text-align: center;
  text-wrap: balance;
  font-family: var(--custom-wall-serif);
  font-size: 24px;
  font-weight: 700;
  color: var(--zeitax-ink);
  line-height: 1.8;
}

/* ---- 対象／対象外（2カラム） ---- */
.custom-zeitax__scope {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  align-items: stretch;
}

.custom-zeitax__scope-col {
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.05);
  border-radius: 12px;
  box-shadow: var(--zeitax-shadow);
  padding: 28px 26px 30px;
}

.custom-zeitax__scope-col--ng {
  background: rgba(255, 255, 255, 0.55);
  box-shadow: none;
}

.custom-zeitax__scope-title.custom-zeitax__scope-title {
  font-family: var(--custom-wall-serif);
  font-size: 22px;
  font-weight: 700;
  color: var(--zeitax-ink);
  text-align: center;
  line-height: 1.5;
  margin: 0 0 20px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(178, 154, 104, 0.5);
}

.custom-zeitax__scope-col--ng .custom-zeitax__scope-title.custom-zeitax__scope-title {
  color: var(--zeitax-muted);
  border-bottom-color: rgba(0, 0, 0, 0.12);
}

/* 2026-08-20: 丸いピル（タグ）をやめ、チェック／バツのアイコン付き箇条書きへ変更
   （ユーザー指示「丸で囲ってあるのがダサい、アイコンと箇条書きに」）。
   1行1項目の縦並びにして、対象と対象外がひと目で見分けられるようにする */
.custom-zeitax__taglist.custom-zeitax__taglist {
  margin: 0;
}

.custom-zeitax__taglist {
  display: block;
}

.custom-zeitax__tag {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 13px 2px;
  border: none;
  border-radius: 0;
  border-top: 1px solid rgba(0, 0, 0, 0.07);
  background: transparent;
  color: var(--zeitax-teal);
  font-size: 20px;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.02em;
  text-align: left;
}

.custom-zeitax__taglist li:first-child {
  border-top: none;
  padding-top: 2px;
}

.custom-zeitax__taglist li:last-child {
  padding-bottom: 2px;
}

.custom-zeitax__tag--ng {
  background: transparent;
  color: var(--zeitax-muted);
  font-weight: 500;
}

/* 行頭のアイコン。プラグインの li::before { content: counter(item) } に
   勝つよう、既存の打ち消しと同じ詳細度で指定する */
.tcdce-body .custom-zeitax .custom-zeitax__taglist li::before,
.custom-zeitax .custom-zeitax__taglist li::before {
  content: "";
  position: static;
  display: block;
  flex: 0 0 auto;
  width: 24px;
  height: 24px;
  margin: 4px 0 0;
  background: url("images/zeitax-check.svg") center / contain no-repeat;
}

.tcdce-body .custom-zeitax .custom-zeitax__taglist li.custom-zeitax__tag--ng::before,
.custom-zeitax .custom-zeitax__taglist li.custom-zeitax__tag--ng::before {
  background-image: url("images/zeitax-cross.svg");
}

/* 見出しの上の丸バッジ（○＝対象 / ×＝対象外）。ひと目で判別できるようにする */
.custom-zeitax__scope-title.custom-zeitax__scope-title::before {
  content: "";
  display: block;
  width: 46px;
  height: 46px;
  margin: 0 auto 14px;
  border-radius: 50%;
  background: rgba(8, 71, 95, 0.07) url("images/zeitax-check.svg") center / 24px 24px no-repeat;
}

.custom-zeitax__scope-col--ng .custom-zeitax__scope-title.custom-zeitax__scope-title::before {
  background: rgba(60, 58, 54, 0.06) url("images/zeitax-cross.svg") center / 22px 22px no-repeat;
}

/* ---- 図解カード（後日、中の枠を <img> へ差し替える） ---- */
/* 2026-08-21: ユーザー指示で「崩れない限界まで」横長へ。上限は本文カラム幅から
   セクション左右padding(48px×2)を引いた 1004px。図の原本は1600×900なので
   カード内の実表示幅944pxでも解像度は足りる */
.custom-zeitax__fig {
  max-width: 1000px;
  margin: 44px auto 0;
  padding: 26px 28px 22px;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 12px;
  box-shadow: var(--zeitax-shadow);
}

.custom-zeitax__fig-title.custom-zeitax__fig-title {
  font-family: var(--custom-wall-serif);
  font-size: 20px;
  font-weight: 700;
  color: var(--zeitax-ink);
  line-height: 1.6;
  text-align: center;
  margin: 0 0 18px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(178, 154, 104, 0.5);
}

.custom-zeitax__fig-body.custom-zeitax__fig-body {
  margin: 0;
}

/* 差し替え後の画像 */
.custom-zeitax__fig-body.custom-zeitax__fig-body img,
.custom-zeitax__fig-img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 6px;
  margin: 0;
}

/* 画像が入るまでのプレースホルダー（控えめな高さに抑える） */
.custom-zeitax__fig-ph.custom-zeitax__fig-ph {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  aspect-ratio: 16 / 9;
  border: 1px dashed rgba(31, 58, 77, 0.3);
  border-radius: 6px;
  background: rgba(31, 58, 77, 0.03);
  color: var(--zeitax-muted);
  font-size: 20px;
  line-height: 1.6;
  text-align: center;
  margin: 0;
  padding: 16px;
}

.custom-zeitax__fig-ph span {
  font-size: 20px;
  color: rgba(107, 102, 92, 0.8);
}

.custom-zeitax__fig-note.custom-zeitax__fig-note {
  font-size: 20px;
  line-height: 1.7;
  color: var(--zeitax-muted);
  margin: 14px 0 0;
}

/* ---- 横並びの解説行（トップページ .custom-value-row / .custom-step-row と同系） ---- */
.custom-zeitax__rows.custom-zeitax__rows {
  margin: 0;
}

.custom-zeitax__rows {
  display: grid;
  gap: 22px;
  margin: 0;
}

.custom-zeitax__row {
  position: relative;
  display: grid;
  grid-template-columns: auto 260px 1fr;
  align-items: center;
  gap: 32px;
  background: var(--zeitax-card);
  border: 1px solid rgba(0, 0, 0, 0.05);
  border-radius: 10px;
  /* 2026-08-21: 左の金の帯を廃止したぶん左右を対称にし、
     ユーザー指示で背景の見える面積を広げるため上下左右とも余白を増やした */
  padding: 38px 40px;
  box-shadow: var(--zeitax-shadow);
}

/* 2026-08-21: 左端の金の帯（border-left: 7px）はユーザー指示で廃止。
   3つのこと・6ステップの両方が対象 */

/* プラグインが li へ差し込む装飾用の擬似要素を打ち消す */
.tcdce-body .custom-zeitax li::before,
.custom-zeitax li::before {
  content: none;
}

/* お悩みカードのダイヤ印だけは上の打ち消しより後で復活させる（下部で定義） */

.custom-zeitax__row-num.custom-zeitax__row-num {
  width: 58px;
  height: 58px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--zeitax-gold);
  color: #fff;
  border-radius: 50%;
  font-family: var(--custom-wall-serif);
  font-size: 22px;
  font-weight: 700;
  line-height: 1;
  margin: 0;
}

.custom-zeitax__row-head {
  min-width: 0;
}

.custom-zeitax__row-title.custom-zeitax__row-title {
  font-family: var(--custom-wall-serif);
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.03em;
  color: var(--zeitax-ink);
  line-height: 1.55;
  text-align: left;
  margin: 0;
}

.custom-zeitax__row-sub.custom-zeitax__row-sub {
  font-family: var(--custom-wall-serif);
  font-size: 20px;
  font-weight: 700;
  color: var(--zeitax-gold-dark);
  line-height: 1.6;
  margin: 8px 0 0;
}

.custom-zeitax__row-body {
  border-left: 1px solid rgba(178, 154, 104, 0.55);
  padding-left: 32px;
  min-width: 0;
}

.custom-zeitax__row-text.custom-zeitax__row-text {
  font-size: 20px;
  line-height: 1.95;
  color: var(--zeitax-body);
  margin: 0;
}

/* 流れ（6ステップ）は説明が短いので、見出し列を少し狭める */
.custom-zeitax__rows--steps .custom-zeitax__row {
  grid-template-columns: auto 300px 1fr;
}

/* ---- モデルケース比較表 ---- */
/* テーマが table を .s_table（overflow:auto ＋ 左右へはみ出す幅）で
   自動的に包むため、この表では無効化する（SPはカード化して収めるため不要） */
.custom-zeitax__table-wrap .s_table {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  overflow: visible;
}

.custom-zeitax__table-wrap {
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid rgba(0, 0, 0, 0.08);
  box-shadow: var(--zeitax-shadow);
}

.custom-zeitax__table.custom-zeitax__table {
  width: 100%;
  border-collapse: collapse;
  margin: 0;
}

.custom-zeitax__table.custom-zeitax__table th {
  background: #edf1f5;
  color: var(--zeitax-ink);
  font-family: var(--custom-wall-serif);
  font-size: 20px;
  font-weight: 700;
  text-align: center;
  padding: 18px 12px;
  border: none;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.custom-zeitax__table.custom-zeitax__table th.is-ours {
  background: #f0e6cf;
  color: var(--zeitax-ink);
}

.custom-zeitax__table.custom-zeitax__table td {
  background: #fff;
  text-align: center;
  font-size: 20px;
  color: var(--zeitax-ink);
  padding: 22px 12px;
  border: none;
  border-bottom: 1px solid rgba(0, 0, 0, 0.07);
}

.custom-zeitax__table.custom-zeitax__table tr:last-child td {
  border-bottom: none;
}

.custom-zeitax__table.custom-zeitax__table td.custom-zeitax__table-item {
  text-align: left;
  padding-left: 24px;
  color: #2b2a28;
  font-weight: 700;
}

.custom-zeitax__table.custom-zeitax__table td.is-ours {
  background: #faf6ec;
}

/* 削減効果セル: 金額を主、%を添えに。
   SPのカード表示ではセルがflexになるため、金額と%は1つのspanで包んで
   ひとまとまりの要素として扱う（別々のflexアイテムだと横に潰れて重なる） */
.custom-zeitax__table-effect {
  display: block;
}

.custom-zeitax__table.custom-zeitax__table td strong {
  display: block;
  font-family: var(--custom-wall-serif);
  font-size: 22px;
  font-weight: 700;
  color: var(--zeitax-gold-dark);
  line-height: 1.4;
}

.custom-zeitax__table.custom-zeitax__table td strong + span {
  display: block;
  font-size: 20px;
  color: var(--zeitax-muted);
  margin-top: 4px;
}

/* ---- 適正化実績 ---- */
.custom-zeitax__results.custom-zeitax__results {
  margin: 0;
}

.custom-zeitax__results {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
  margin: 0;
}

/* 2026-08-20: 上辺の金の帯はユーザー指示で廃止 */
.custom-zeitax__results li {
  background: var(--zeitax-card);
  border: 1px solid rgba(0, 0, 0, 0.05);
  border-radius: 10px;
  box-shadow: var(--zeitax-shadow);
  overflow: hidden;
  padding: 26px 28px;
}

/* 画像（お悩みカードと同じ「上に画像・下に文字」）。li の padding を
   負のマージンで打ち消し、カードの幅いっぱい・上辺いっぱいに見せる。
   差し替えは <p class="custom-zeitax__results-ph">…</p> の1行を
   <img class="custom-zeitax__results-img" src="…" alt="…"> へ置き換えるだけ */
.custom-zeitax__results-visual {
  margin: -26px -28px 20px;
}

.custom-zeitax__results-visual img,
.custom-zeitax__results-img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  margin: 0;
}

/* wpautop が <img> を <p> で包んでも天地に余白が出ないようにする */
.custom-zeitax__results-visual > p:not(.custom-zeitax__results-ph) {
  margin: 0;
  line-height: 0;
}

.custom-zeitax__results-visual > p:empty {
  display: none;
}

.custom-zeitax__results-ph.custom-zeitax__results-ph {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  aspect-ratio: 16 / 9;
  border-bottom: 1px dashed rgba(178, 154, 104, 0.55);
  background: rgba(31, 58, 77, 0.03);
  color: var(--zeitax-muted);
  font-size: 20px;
  font-weight: 400;
  line-height: 1.6;
  text-align: center;
  margin: 0;
  padding: 12px;
}

.custom-zeitax__results-ph span {
  font-size: 20px;
  color: rgba(107, 102, 92, 0.8);
}

.custom-zeitax__results-name.custom-zeitax__results-name {
  font-family: var(--custom-wall-serif);
  font-size: 22px;
  font-weight: 700;
  color: var(--zeitax-ink);
  line-height: 1.5;
  margin: 0;
}

.custom-zeitax__results-meta.custom-zeitax__results-meta {
  font-size: 20px;
  color: var(--zeitax-muted);
  line-height: 1.7;
  margin: 6px 0 14px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

/* 実績の内訳。「1億2,900万円 適正化（▲32.9%）」を1行の文章にすると
   金額の直後で折り返して読みにくくなるため、項目名／金額／率の3列に分ける */
.custom-zeitax__results-caption.custom-zeitax__results-caption {
  font-size: 20px;
  color: var(--zeitax-muted);
  line-height: 1.6;
  margin: 0 0 8px;
}

.custom-zeitax__results-line.custom-zeitax__results-line {
  display: flex;
  align-items: baseline;
  gap: 12px;
  margin: 0;
  padding: 10px 0;
  border-bottom: 1px dotted rgba(0, 0, 0, 0.14);
}

.custom-zeitax__results-line.custom-zeitax__results-line:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.custom-zeitax__results-label {
  flex: none;
  font-size: 20px;
  line-height: 1.6;
  color: var(--zeitax-body);
  white-space: nowrap;
}

.custom-zeitax__results-value {
  flex: 1 1 auto;
  text-align: right;
  font-family: var(--custom-wall-serif);
  font-size: 22px;
  font-weight: 700;
  line-height: 1.5;
  color: var(--zeitax-gold-dark);
  white-space: nowrap;
}

.custom-zeitax__results-rate {
  flex: none;
  min-width: 5.5em;
  text-align: right;
  font-size: 20px;
  line-height: 1.6;
  color: var(--zeitax-muted);
  white-space: nowrap;
}

/* ---- 条文引用 ---- */
/* テーマ側の既定の引用符を打ち消す（::after のみ。::before は下で装飾に使う） */
.tcdce-body .custom-zeitax .custom-zeitax__quote::after,
.custom-zeitax .custom-zeitax__quote::after {
  content: none;
}

/* 2026-08-21: 左の金の縦罫はユーザー指示で廃止し、代わりに引用符を置く。
   金のダブルクォートを薄く敷き、本文は左padding でよける */
.tcdce-body .custom-zeitax .custom-zeitax__quote::before,
.custom-zeitax .custom-zeitax__quote::before {
  content: "“";
  position: absolute;
  top: 10px;
  left: 24px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 88px;
  line-height: 1;
  color: rgba(178, 154, 104, 0.35);
  pointer-events: none;
}

.tcdce-body .custom-zeitax .custom-zeitax__quote,
.custom-zeitax .custom-zeitax__quote {
  position: relative;
  max-width: 900px;
  margin: 0 auto 44px;
  padding: 34px 40px 30px 86px;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.05);
  border-radius: 6px;
  box-shadow: var(--zeitax-shadow);
}

.custom-zeitax__quote.custom-zeitax__quote p {
  font-size: 20px;
  line-height: 2;
  color: var(--zeitax-body);
  margin: 0 0 18px;
}

.custom-zeitax__quote.custom-zeitax__quote cite {
  display: block;
  font-family: var(--custom-wall-serif);
  font-style: normal;
  font-size: 20px;
  color: var(--zeitax-muted);
  text-align: right;
  margin: 0;
}

/* ---- 信頼ポイント4枚 ---- */
/* 2026-08-20: 4枚の高さを揃える（ユーザー指示）。align-items: start をやめて
   stretch に戻し、grid-auto-rows: 1fr で上下の行も同じ高さにする */
.custom-zeitax__cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-auto-rows: 1fr;
  gap: 24px;
  align-items: stretch;
  margin: 0;
}

/* 2026-08-20: 上辺の金の帯はユーザー指示で廃止 */
.custom-zeitax__card {
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.05);
  border-radius: 10px;
  box-shadow: var(--zeitax-shadow);
  padding: 28px 28px 30px;
}

/* 2026-08-21: ユーザー指示で見出しを目立たせた。装飾は足さず、
   文字を1段大きくして字間を広げ、下罫を灰色から金（ページ共通の罫色）へ変えただけ */
.custom-zeitax__card-title.custom-zeitax__card-title {
  font-family: var(--custom-wall-serif);
  font-size: 25px;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--zeitax-teal);
  line-height: 1.5;
  text-align: left;
  margin: 0 0 18px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(178, 154, 104, 0.55);
  /* 2026-08-21: 見出しの頭に金のチェックアイコンを付けた（ユーザー指示）。
     見出しが2行になっても記号が上に残るよう align-items は flex-start */
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 12px;
}

.custom-zeitax__card-title.custom-zeitax__card-title::before {
  content: "";
  /* テーマ側が h3::before を position: absolute で使っているため、
     そのままだと見出しの1文字目に重なる。static へ戻してフレックス項目にする */
  position: static;
  transform: none;
  flex: 0 0 auto;
  width: 30px;
  height: 30px;
  /* 行の中心へ合わせる（行の高さ25px×1.5＝37.5pxの中で30pxを中央に置く）。
     テーマ側の h3::before が margin: 0 auto を持っており、そのままだと
     フレックスの auto マージンが余白を全部吸って見出しが右端へ寄る。左右は0で上書きする */
  margin: 4px 0 0;
  background: url("images/zeitax-badge-check.svg") center / contain no-repeat;
}

.custom-zeitax__card-text.custom-zeitax__card-text {
  font-size: 20px;
  line-height: 1.9;
  color: var(--zeitax-body);
  margin: 0;
}

/* ---- フォーム ---- */
/* 2026-08-20: 幅をトップページのフォーム（本文カラム 1100px いっぱい）に合わせた。
   以前は 760px で、トップより 340px 狭かった */
.custom-zeitax__form {
  max-width: 1100px;
  margin: 0 auto;
}

/* ======================================================================
  後読みCSSへの対処（TCD Classic Editorプラグイン）
  :is(.tcdce-body, .editor-styles-wrapper) ul / ol / ul li が子テーマより
  後に読み込まれ、list-style: none に勝ってマーカーが出てしまうため、
  .tcdce-body を前置して詳細度で確実に上回らせる。
====================================================================== */
/* マーカーだけを確実に消す。li の余白はここでは触らない
   （触ると各コンポーネントの padding が詳細度で負けて潰れる） */
.tcdce-body .custom-zeitax ul,
.tcdce-body .custom-zeitax ol,
.tcdce-body .custom-zeitax ul li,
.tcdce-body .custom-zeitax ol li,
.custom-zeitax ul,
.custom-zeitax ol,
.custom-zeitax ul li,
.custom-zeitax ol li {
  list-style: none;
  list-style-type: none;
}

/* ul/ol 自体の既定余白のみ打ち消す。個別の margin は各コンポーネント側で
   指定するため、ここでは padding だけを 0 にする */
.tcdce-body .custom-zeitax ul,
.tcdce-body .custom-zeitax ol,
.custom-zeitax ul,
.custom-zeitax ol {
  padding: 0;
}

/* wpautop対策: Classic Editorのため保存内容がwpautopを通る。
   コメントや閉じタグ由来の空<p>が余白を作らないよう一括で消す */
.tcdce-body .custom-zeitax p:empty,
.custom-zeitax p:empty {
  display: none;
  margin: 0;
  padding: 0;
}

/* ======================================================================
  スマホ・タブレット（930px以下）
====================================================================== */
@media (max-width: 930px) {
  .custom-zeitax {
    font-size: 18px;
  }

  .custom-zeitax__section {
    padding: 44px 20px;
    margin-bottom: 18px;
    border-radius: 12px;
  }

  /* 問い合わせセクションは画面いっぱいの帯なので角丸なし。
     上下余白はトップページの #contact（60px）に合わせる */
  .custom-zeitax__section--form {
    padding: 60px 20px;
    border-radius: 0;
  }

  .custom-zeitax__heading.custom-zeitax__heading {
    font-size: 26px;
    margin-bottom: 46px;
    padding-bottom: 0;
  }

  .custom-zeitax__subhead.custom-zeitax__subhead {
    font-size: 24px;
    margin: 40px 0 20px;
  }

  .custom-zeitax__text.custom-zeitax__text,
  .custom-zeitax__lead.custom-zeitax__lead,
  .custom-zeitax__note.custom-zeitax__note,
  .custom-zeitax__card-text.custom-zeitax__card-text,
  .custom-zeitax__row-text.custom-zeitax__row-text,
  .custom-zeitax__quote.custom-zeitax__quote p {
    font-size: 18px;
  }

  /* ヒーロー */
  .custom-zeitax__hero {
    padding: 40px 20px 44px;
  }

  /* アイキャッチ画像（SPは横長すぎると細く見えるので16:9へ） */
  .custom-zeitax__hero-visual {
    margin: -40px -20px 28px;
  }

  .custom-zeitax__hero-visual img,
  .custom-zeitax__hero-img,
  .custom-zeitax__hero-ph.custom-zeitax__hero-ph {
    aspect-ratio: 16 / 9;
  }

  .custom-zeitax__hero-ph.custom-zeitax__hero-ph,
  .custom-zeitax__hero-ph span {
    font-size: 18px;
  }

  .custom-zeitax__kicker.custom-zeitax__kicker {
    font-size: 18px;
    letter-spacing: 0.06em;
  }

  .custom-zeitax__sub.custom-zeitax__sub {
    font-size: 18px;
  }

  .custom-zeitax__points {
    grid-template-columns: 1fr;
    gap: 0;
    margin: 30px 0 30px;
  }

  .custom-zeitax__points li {
    display: flex;
    align-items: baseline;
    gap: 14px;
    text-align: left;
    padding: 16px 4px;
    border-left: none;
    border-top: 1px solid rgba(178, 154, 104, 0.45);
  }

  .custom-zeitax__points li:first-child {
    border-top: none;
  }

  .custom-zeitax__points strong {
    flex: none;
    font-size: 32px;
    margin: 0;
  }

  .custom-zeitax__points span:not(.custom-zeitax__points-unit) {
    font-size: 18px;
  }

  /* SP最小18pxルールに合わせる（PCは0.48em＝約20pxで下限を満たす） */
  .custom-zeitax__points-unit {
    font-size: 18px;
  }

  /* スマホでは数字と説明を横に並べるので、HTML側の改行は無効化する */
  .custom-zeitax__points span br {
    display: none;
  }

  .custom-zeitax__btn.custom-zeitax__btn {
    width: 100%;
    min-width: 0;
    font-size: 18px;
    letter-spacing: 0.06em;
    padding: 18px 20px;
  }

  .custom-zeitax__btn-note.custom-zeitax__btn-note {
    font-size: 18px;
    line-height: 1.7;
  }

  /* お悩み */
  .custom-zeitax__worries {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .custom-zeitax__worries li {
    font-size: 19px;
    padding: 0 0 22px;
  }

  .custom-zeitax__worries-visual {
    margin: 0 0 18px;
  }

  .custom-zeitax__worries-text.custom-zeitax__worries-text {
    font-size: 19px;
    padding: 0 18px;
  }

  .custom-zeitax__worries-ph.custom-zeitax__worries-ph,
  .custom-zeitax__worries-ph span {
    font-size: 18px;
  }

  .custom-zeitax__banner.custom-zeitax__banner {
    font-size: 20px;
    padding: 18px 20px;
    margin-top: 32px;
  }

  /* 対象／対象外 */
  .custom-zeitax__scope {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .custom-zeitax__scope-col {
    padding: 22px 18px 24px;
  }

  .custom-zeitax__scope-title.custom-zeitax__scope-title {
    font-size: 20px;
    margin-bottom: 16px;
  }

  .custom-zeitax__tag {
    font-size: 18px;
    padding: 11px 2px;
    gap: 10px;
  }

  .tcdce-body .custom-zeitax .custom-zeitax__taglist li::before,
  .custom-zeitax .custom-zeitax__taglist li::before {
    width: 21px;
    height: 21px;
    margin-top: 3px;
  }

  .custom-zeitax__scope-title.custom-zeitax__scope-title::before {
    width: 40px;
    height: 40px;
    margin-bottom: 12px;
    background-size: 21px 21px;
  }

  .custom-zeitax__scope-col--ng .custom-zeitax__scope-title.custom-zeitax__scope-title::before {
    background-size: 19px 19px;
  }

  /* 図解 */
  .custom-zeitax__fig {
    margin-top: 32px;
    padding: 20px 18px 18px;
  }

  .custom-zeitax__fig-title.custom-zeitax__fig-title {
    font-size: 19px;
    margin-bottom: 14px;
    padding-bottom: 12px;
  }

  .custom-zeitax__fig-ph.custom-zeitax__fig-ph {
    font-size: 18px;
  }

  .custom-zeitax__fig-ph span {
    font-size: 18px;
  }

  .custom-zeitax__fig-note.custom-zeitax__fig-note {
    font-size: 18px;
  }

  /* 解説行・ステップ: 番号＋見出しを1段目、本文を2段目へ */
  .custom-zeitax__rows {
    gap: 14px;
  }

  .custom-zeitax__row,
  .custom-zeitax__rows--steps .custom-zeitax__row {
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 14px 16px;
    padding: 26px 20px;
  }

  .custom-zeitax__row-num.custom-zeitax__row-num {
    width: 46px;
    height: 46px;
    font-size: 19px;
  }

  .custom-zeitax__row-title.custom-zeitax__row-title {
    font-size: 20px;
  }

  .custom-zeitax__row-sub.custom-zeitax__row-sub {
    font-size: 18px;
    margin-top: 4px;
  }

  .custom-zeitax__row-body {
    grid-column: 1 / -1;
    border-left: none;
    border-top: 1px solid rgba(178, 154, 104, 0.55);
    padding-left: 0;
    padding-top: 14px;
  }

  /* 実績 */
  .custom-zeitax__results {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .custom-zeitax__results li {
    padding: 22px 20px;
  }

  .custom-zeitax__results-visual {
    margin: -22px -20px 16px;
  }

  .custom-zeitax__results-ph.custom-zeitax__results-ph,
  .custom-zeitax__results-ph span {
    font-size: 18px;
  }

  .custom-zeitax__results-name.custom-zeitax__results-name {
    font-size: 20px;
  }

  .custom-zeitax__results-meta.custom-zeitax__results-meta {
    font-size: 18px;
  }

  .custom-zeitax__results-caption.custom-zeitax__results-caption,
  .custom-zeitax__results-label,
  .custom-zeitax__results-rate {
    font-size: 18px;
  }

  .custom-zeitax__results-value {
    font-size: 20px;
  }

  /* 3つを横一列にすると390pxでは収まらず重なるため、
     項目名を1行目、金額と率を2行目へ折り返す */
  .custom-zeitax__results-line.custom-zeitax__results-line {
    flex-wrap: wrap;
    gap: 2px 10px;
  }

  .custom-zeitax__results-label {
    flex: 1 1 100%;
  }

  .custom-zeitax__results-value {
    flex: 1 1 auto;
    text-align: left;
  }

  .custom-zeitax__results-rate {
    min-width: 0;
  }

  /* 引用 */
  .tcdce-body .custom-zeitax .custom-zeitax__quote,
  .custom-zeitax .custom-zeitax__quote {
    /* SPは横幅が足りないので、引用符の分を左ではなく上に取る
       （左へ寄せると条文の1行が10文字程度まで痩せて読みにくい） */
    padding: 48px 20px 22px;
    margin-bottom: 32px;
  }

  .tcdce-body .custom-zeitax .custom-zeitax__quote::before,
  .custom-zeitax .custom-zeitax__quote::before {
    top: 8px;
    left: 16px;
    font-size: 56px;
  }

  .custom-zeitax__quote.custom-zeitax__quote cite {
    font-size: 18px;
    text-align: left;
  }


  /* 信頼カード */
  .custom-zeitax__cards {
    grid-template-columns: 1fr;
    grid-auto-rows: auto;
    gap: 14px;
  }

  .custom-zeitax__card {
    padding: 22px 20px 24px;
  }

  .custom-zeitax__card-title.custom-zeitax__card-title {
    font-size: 22px;
    margin-bottom: 16px;
    padding-bottom: 14px;
    gap: 10px;
  }

  .custom-zeitax__card-title.custom-zeitax__card-title::before {
    width: 26px;
    height: 26px;
    margin: 3px 0 0;
  }

  /* 比較表をカード化（横スクロールなし。既存 .custom-compare-table と同じ手法） */
  .custom-zeitax__table-wrap {
    border: none;
    border-radius: 0;
    overflow: visible;
    box-shadow: none;
  }

  .custom-zeitax__table.custom-zeitax__table,
  .custom-zeitax__table.custom-zeitax__table tbody,
  .custom-zeitax__table.custom-zeitax__table tr,
  .custom-zeitax__table.custom-zeitax__table td {
    display: block;
    width: 100%;
  }

  .custom-zeitax__table.custom-zeitax__table thead {
    display: none;
  }

  .custom-zeitax__table.custom-zeitax__table tr {
    margin-bottom: 16px;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
    box-shadow: var(--zeitax-shadow);
  }

  .custom-zeitax__table.custom-zeitax__table tr:last-child {
    margin-bottom: 0;
  }

  .custom-zeitax__table.custom-zeitax__table td.custom-zeitax__table-item {
    background: #edf1f5;
    color: var(--zeitax-ink);
    font-family: var(--custom-wall-serif);
    font-size: 19px;
    font-weight: 700;
    text-align: center;
    padding: 12px 16px;
    border-bottom: none;
  }

  .custom-zeitax__table.custom-zeitax__table td:not(.custom-zeitax__table-item) {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    text-align: right;
    padding: 12px 16px;
    font-size: 19px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  }

  .custom-zeitax__table.custom-zeitax__table td:not(.custom-zeitax__table-item)::before {
    content: attr(data-label);
    flex: none;
    font-size: 18px;
    font-weight: 700;
    color: var(--zeitax-body);
    text-align: left;
  }

  .custom-zeitax__table.custom-zeitax__table td.is-ours {
    background: #faf6ec;
  }

  .custom-zeitax__table.custom-zeitax__table td strong {
    font-size: 20px;
  }

  .custom-zeitax__table.custom-zeitax__table td strong + span {
    font-size: 18px;
  }

  /* 削減効果セルは金額と%をひとまとまりで右寄せにする */
  .custom-zeitax__table.custom-zeitax__table td[data-label="削減効果"] {
    align-items: flex-start;
  }

  .custom-zeitax__table-effect {
    text-align: right;
  }
}
