@charset "UTF-8";
/* ==========================================================================
   ¥Today - セクション
   ========================================================================== */

/* ==========================================================================
   02 FV（＋ 一括お申込フォーム）
   PCは横2カラム（コピー / フォーム）、SPは縦積みでフォームが独立ブロックになる。
   ========================================================================== */
/* SPは背景もグラデもFV（hero）だけに載る。フォームは別ブロック。
   ラッパーに載せると、FV＋フォームの高さ（約1500px）に対して
   背景が引き伸ばされ、グラデも青まで到達しない。 */
.p-hero-wrap { position: relative; }

.p-hero__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  opacity: 0.48;
  pointer-events: none;
}

.p-hero__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center bottom;
}

.p-hero-wrap__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: var(--space-28) var(--gutter) 0;
}

.p-hero {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--space-20);
  /* 全幅にグラデを敷く（親の左右余白を打ち消す） */
  margin-inline: calc(var(--gutter) * -1);
  padding: 0 var(--gutter) var(--space-36, 36px);
  overflow: hidden;
  background: linear-gradient(
    180deg,
    #ffffff 0%,
    rgba(231, 240, 247, 0.8) 50%,
    rgba(31, 127, 196, 0.7) 100%
  );
}

.p-hero > *:not(.p-hero__bg) { position: relative; z-index: 1; }

/* ---- eyebrow ---- */
.p-hero__eyebrow {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-6);
}

.p-hero__badge {
  display: flex;
  align-items: center;
  justify-content: center;
  /* 右向きのペナント形。clip-path だと切り口の角が尖るため、
     全角 4px の角丸を持たせたSVGを背景に敷いている（縦横比 84:64 を維持）。 */
  width: auto;
  min-width: 80px;
  height: 23px;
  padding: 0 var(--space-20) 0 var(--space-8); /* 右は三角ぶん */
  background: url("../img/badge-pennant.svg") no-repeat center / 100% 100%;
  color: var(--color-text-inverse);
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  text-align: center;
}

.p-hero__eyebrow-text {
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  color: var(--color-brand-navy);
}

/* ---- H1（組み文字） ----
   Figmaでは -4deg 回転 + skewX -12deg + scaleY 0.98 がかかっている。 */
.p-hero__title {
  margin-block: 0 0;
  transform: rotate(-4deg) skewX(-12deg) scaleY(0.98);
  transform-origin: left center;
  font-weight: 700;
  line-height: 1;
  color: var(--color-brand-navy-dark);
}

.p-hero__title-line {
  display: flex;
  align-items: baseline;
  gap: var(--space-2);
  white-space: nowrap;
}

/* 行を重ねて詰める（PC -20px を基準に、SPは文字サイズ比で -12px） */
.p-hero__title-line--02 { margin-top: -12px; }
.p-hero__title-line--tight { margin-top: -4px; }

.p-hero__lg { font-size: 40px; letter-spacing: -0.01em; }
.p-hero__md { font-size: 28px; }

/* SPの3行目だけ一段大きい（Figma 48 / 32px）。2行目の「で」も32px */
.p-hero__title-line--tight .p-hero__lg { font-size: 48px; }
.p-hero__title-line--tight .p-hero__md,
.p-hero__title-line--02 .p-hero__md { font-size: 32px; }

/* 「最短 / 30 / 分」は書体が違うので、ボックス下端ではなく
   文字のベースラインで揃える。flex-end だと 30 が浮いて見える。 */
.p-hero__accent {
  display: flex;
  align-items: baseline;
  gap: var(--space-4);
  color: var(--color-brand-blue);
}

.p-hero__accent-jp { font-size: 64px; letter-spacing: -0.02em; }

.p-hero__accent-num {
  font-family: var(--font-en);
  font-size: 96px;
  letter-spacing: -0.03em;
}

.p-hero__accent-unit { font-size: 56px; letter-spacing: -0.02em; }

/* 3行目：文字を詰めるための負のマージン（Figmaの -12px gap 相当） */
.p-hero__title-line--tight { display: block; }
.p-hero__title-line--tight .p-hero__lg,
.p-hero__title-line--tight .p-hero__md { letter-spacing: -0.02em; }

.p-hero__underline {
  display: block;
  width: 100%;
  height: 14px;
  object-fit: fill;
  margin-top: -0.18em;
  transform: rotate(2deg) skewX(2deg);
}

/* ---- リード＋数値パネル ---- */
.p-hero__stats {
  border-radius: var(--radius-8);
  overflow: hidden;
}

.p-hero__stats-head {
  padding: var(--space-12) var(--space-16);
  background: var(--color-brand-blue);
  color: var(--color-text-inverse);
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  text-align: center;
}

.p-hero__stats-body {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0;
  padding: var(--space-16) var(--space-8);
  background: var(--color-surface-base);
  border: 1px solid var(--color-border-default);
  border-top: 0;
  border-radius: 0 0 var(--radius-8) var(--radius-8);
  box-shadow: var(--shadow-card);
}

.p-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-4);
  padding: var(--space-4) var(--space-8);
  text-align: center;
}

/* SPは2×2。列間に縦罫、行間に横罫（Figmaと同じ「表」の見え方） */
.p-stat:nth-child(odd) { border-right: 1px solid var(--color-border-default); }
.p-stat:nth-child(n + 3) {
  margin-top: var(--space-14);
  padding-top: var(--space-14);
  border-top: 1px solid var(--color-border-default);
}

.p-stat__label {
  font-size: 12px;
  font-weight: 500;
  line-height: 1.5;
  color: var(--color-text-secondary);
}

.p-stat__value {
  display: flex;
  align-items: baseline;
  gap: var(--space-2);
  color: var(--color-brand-blue);
  white-space: nowrap;
}

.p-stat__num {
  font-family: var(--font-en);
  font-weight: 700;
  font-style: italic;
  font-size: 36px;
  letter-spacing: -0.03em;
  line-height: 1;
}

.p-stat__unit {
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
}

.p-hero__note { margin-top: calc(var(--space-12) * -1); color: var(--color-brand-navy-dark); }

/* ---- FV内のCTA（SPのみ。PCはフォームが常に見えているので出さない） ---- */
.p-hero__cta {
  width: 100%;
  font-size: 17px;
}

/* ---- PC ---------------------------------------------------------------- */
@media (min-width: 1024px) {

  /* PCは横2カラム全体に背景とグラデを敷く（SPはFVだけに閉じている） */
  .p-hero-wrap {
    overflow: hidden;
    background: linear-gradient(
      90deg,
      #ffffff 0%,
      rgba(231, 240, 247, 0.8) 50%,
      rgba(31, 127, 196, 0.7) 100%
    );
  }

  /* PCは背景をラッパー全体（横2カラムぶん）に敷く。
     .p-hero を static にして、包含ブロックを .p-hero-wrap に移す。 */
  .p-hero__bg { inset: 0; }

  .p-hero__bg img { object-position: center top; }

  .p-hero-wrap__inner {
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--space-48);
    max-width: calc(1184px + var(--space-48) * 2);
    margin-inline: auto;
    padding: var(--space-40) var(--space-48);
  }

  /* 左カラムがフォーム（約660px）の縦幅に収まるよう、間隔を詰める */
  .p-hero {
    gap: var(--space-16);
    width: 667px;
    flex: none;
    position: static;
    margin-inline: 0;
    padding: 0;
    overflow: visible;
    background: none;
  }

  .p-hero__eyebrow {
    flex-direction: row;
    align-items: center;
    gap: var(--space-16);
  }

  .p-hero__badge {
    width: 84px;
    height: 64px;
    padding-right: 20px;
    font-size: 20px;
    line-height: 1.48;
    white-space: normal;
  }

  .p-hero__eyebrow-text { font-size: 26px; line-height: 1; }
  .p-hero__stats-head { font-size: 24px; line-height: 1; }

  .p-hero__title { margin-block: var(--space-4) var(--space-8); }
  .p-hero__title-line--02 { margin-top: -20px; }
  .p-hero__title-line--tight { margin-top: -10px; }
  .p-hero__lg { font-size: 64px; }
  .p-hero__md { font-size: 48px; }
  .p-hero__accent-jp { font-size: 120px; }
  .p-hero__accent-num { font-size: 164px; }
  .p-hero__accent-unit { font-size: 96px; }
  .p-hero__title-line--tight .p-hero__lg { font-size: 104px; }
  .p-hero__title-line--tight .p-hero__md { font-size: 80px; }
  .p-hero__title-line--tight .p-hero__md { font-size: 80px; }

  .p-hero__stats-head { font-size: 24px; padding: var(--space-16); }

  .p-hero__stats-body {
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
    padding: var(--space-20) 0;
  }

  .p-stat:nth-child(odd),
  .p-stat:nth-child(n + 3) { margin-top: 0; padding-top: var(--space-4); border-top: 0; border-right: 0; }
  .p-stat + .p-stat { border-left: 1px solid var(--color-border-default); }
  .p-stat__label { font-size: 16px; line-height: 1.85; }
  .p-stat__num { font-size: 56px; letter-spacing: -0.03em; }
  .p-stat__unit { font-size: 24px; }

  .p-hero__underline { height: 24px; }
  .p-hero__cta { display: none; }
}

/* ==========================================================================
   03 About（¥Todayとは）
   ========================================================================== */
.p-about { background: var(--color-surface-base); }

/* 見出しブロックの下余白はセクションごとに違う（Figma実測） */

.p-flow .c-sec-head     { margin-bottom: var(--space-28); }
.p-faq .c-sec-head,
.p-org .c-sec-head      { margin-bottom: var(--space-24); }

/* ---- 申込の仕組み（3ステップ → 比較・契約） ---------------------------- */
.p-flow3 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-16);
}

.p-flow3__steps {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-12);
  width: 100%;
}

.p-flow3__step {
  display: flex;
  align-items: center;
  gap: var(--space-14);
  width: 100%;
  padding: var(--space-18) var(--space-16);
  border: 1px solid var(--color-border-default);
  border-radius: var(--radius-8);
  background: var(--color-surface-base);
  text-align: left;
}

.p-flow3__step--brand {
  border-color: transparent;
  background: var(--color-surface-tint);
}

/* SPは［アイコン｜テキスト］の横組み。PCで縦組みに切り替える */
.p-flow3__icon,
.p-flow3__logo,
.p-flow3__companies { flex: none; }

.p-flow3__logo .p-logo__symbol { font-size: 28px; }
.p-flow3__logo .p-logo__text { font-size: 28px; }

.p-flow3__title {
  font-size: var(--fs-card-title);
  font-weight: 700;
  line-height: 1.48;
  color: var(--color-brand-navy);
}

.p-flow3__title--brand { color: var(--color-brand-blue); }

.p-flow3__text {
  font-size: var(--fs-body);
  font-weight: 500;
  line-height: 1.85;
  color: var(--color-brand-navy-dark);
}

/* SPでは強制改行を無効化して自然に折り返す */
.p-flow3__text br { display: none; }

.p-flow3__step > .p-flow3__title,
.p-flow3__step > .p-flow3__text { flex: 1 1 auto; }

/* テキスト2本を1つの列にまとめる（SP横組み時） */
.p-flow3__step {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto;
  column-gap: var(--space-14);
  row-gap: var(--space-4);
  align-items: center;
}

.p-flow3__icon,
.p-flow3__logo,
.p-flow3__companies { grid-row: 1 / 3; }

/* 3枚目だけ縦組み（3社の丸が横に広いため） */
.p-flow3__step--stack {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  text-align: center;
}

.p-flow3__step--stack .p-flow3__companies { margin-bottom: var(--space-8); }

.p-flow3__step--stack .p-flow3__title,
.p-flow3__step--stack .p-flow3__text { align-self: auto; }

.p-flow3__title { align-self: end; }
.p-flow3__text { align-self: start; }

/* 矢印はSPでは下向きに見せる */
.p-flow3__arrow--v { width: 20px; height: 26px; }

/* 3社の丸 */
.p-flow3__companies {
  display: flex;
  gap: var(--space-12);
}

/* Figmaは 社名（上）→ 円（下）の順 */
.p-flow3__company {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-6);
}

.p-flow3__company img { width: 60px; height: 60px; }

.p-flow3__company-name {
  font-size: 13px;
  font-weight: 700;
  line-height: 1.3;
  color: var(--color-brand-navy);
}

/* 3ステップと比較バーをつなぐ括弧。SPでは成立しないので出さない */
.p-flow3__connector { display: none; }

/* 比較・契約バー */
.p-flow3__compare {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-4);
  width: 100%;
  padding: var(--space-16) var(--space-40);
  border: 1px solid var(--color-border-default);
  border-radius: var(--radius-12);
  background: var(--color-brand-blue);
  color: var(--color-text-inverse);
}

.p-flow3__compare-item {
  display: flex;
  align-items: center;
  gap: var(--space-8);
  font-size: 18px;
  white-space: nowrap;
  font-weight: 700;
  line-height: 1.48;
}

.p-flow3__compare-item img { flex: none; }

.p-flow3__compare-arrow--v { width: 20px; height: 26px; }

/* ---- PC ---------------------------------------------------------------- */
@media (min-width: 1024px) {
  .p-flow3 { gap: var(--space-8); }

  .p-flow3__steps {
    flex-direction: row;
    align-items: stretch;
    justify-content: space-between;
    gap: var(--space-4);
  }

  .p-flow3__step {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    /* gapは0にして、アイコンとの間だけ margin で空ける。
       gapを入れると行間（line-height）の余白と足し算になって開きすぎる。 */
    gap: 0;
    width: 280px;
    flex: none;
    padding: var(--space-24) var(--space-16);
    text-align: center;
  }

  .p-flow3__title { margin-top: var(--space-12); }

  /* SP用グリッドの指定を打ち消す。
     縦フレックスでは align-self が左右の寄せとして効いてしまい、
     タイトルが右・本文が左にズレる。 */
  .p-flow3__icon,
  .p-flow3__logo,
  .p-flow3__companies { grid-row: auto; }

  .p-flow3__title,
  .p-flow3__text { align-self: auto; }

  .p-flow3__text br { display: revert; }
  .p-flow3__text { font-size: 14px; }
  .p-flow3__arrow { width: 40px; }

  .p-flow3__company img { width: 60px; height: 60px; }
  .p-flow3__company-name { font-size: 13px; }
  .p-flow3__companies { gap: var(--space-12); }

  .p-flow3__connector {
    display: block;
    width: 786px;
    max-width: 100%;
    height: auto;
  }

  .p-flow3__compare {
    flex-direction: row;
    gap: var(--space-28);
    width: auto;
    padding: var(--space-20) var(--space-40);
  }

  .p-flow3__compare-item { font-size: 20px; white-space: normal; }
  .p-flow3__compare-arrow { width: 44px; }
}

/* ---- ファクタリングとは -------------------------------------------------- */
.p-about__divider {
  height: 1px;
  margin-block: var(--space-40);
  border: 0;
  background: var(--color-border-strong);
}

.p-about__factoring {
  display: flex;
  flex-direction: column;
  gap: var(--space-28);
}

/* 「ファクタリングとは」「他の資金調達方法との違い」はFigmaでは中央寄せ */
.c-sec-head--sm {
  margin-bottom: 0;
  gap: var(--space-10);
  align-items: center;
  text-align: center;
}

.p-compare__title { text-align: center; }

/* ---- 3者の関係図 ---------------------------------------------------------
   PCは 取引先 → あなたの会社 ⇄ ファクタリング会社 の横一列。
   SPは縦積みにして、矢印を90度回して上下の流れとして見せる。
   -------------------------------------------------------------------------- */
.p-parties {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-4);
}

/* SPは全幅の行カード（円56px＋左寄せテキスト）。PCで縦組みの円に戻す */
.p-parties__node {
  display: flex;
  align-items: center;
  gap: var(--space-8);
  width: 100%;
  padding: var(--space-8) var(--space-12);
  border-radius: var(--radius-4);
  background: var(--color-surface-base);
  border: 1px solid var(--color-border-strong);
  text-align: left;
}

/* 3者は背景色で描き分ける。
   :nth-of-type は同じタグの兄弟で数えるため、間にある矢印やdivを拾ってしまう。
   確実にクラスで指定する。 */
.p-parties__node--you {
  background: var(--color-surface-tint);
  border-color: transparent;
}

.p-parties__node--factor {
  background: var(--color-surface-green-tint);
  border-color: transparent;
}

/* 取引先は既定のまま（白＋枠）。意図を残すためクラスも定義しておく */
.p-parties__node--client { /* 白背景 ＋ #B8C4CD の枠（既定） */ }

/* 円の右は［名前／説明］の縦積み */
.p-parties__body {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.p-parties__circle,
.p-parties__circle--sm { flex: none; width: 56px; height: 56px; }

.p-parties__name {
  flex: none;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.48;
  color: var(--color-brand-navy);
}

.p-parties__desc {
  font-size: var(--fs-body);
  font-weight: 500;
  line-height: 1.85;
  color: var(--color-text-secondary);
}

.p-parties__arrow-dashed {
  width: 20px;
  height: auto;
  transform: rotate(90deg);
  margin-block: var(--space-8);
}

/* ①売却 / ②入金。SPでは下向き・上向きの2列にする */
/* SPは ①下向き＋ラベル / ラベル＋②上向き の2列 */
.p-parties__exchange {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-areas:
    "sell pay"
    "sell pay";
  align-items: center;
  column-gap: var(--space-16);
  padding-block: var(--space-8);
  width: 258px;
  margin-inline: auto;
}

.p-parties__exchange > *:nth-child(1) { grid-area: sell; align-self: start; }
.p-parties__exchange > *:nth-child(3) { grid-area: sell; align-self: end; justify-self: center; }
.p-parties__exchange > *:nth-child(2) { grid-area: pay; align-self: start; }
.p-parties__exchange > *:nth-child(4) { grid-area: pay; align-self: end; justify-self: center; }

/* SPは専用の縦矢印を使う。横向きSVGを回すと縦横比が崩れて潰れる。
   ①売掛債権を売却＝下向き、②買取代金を入金＝上向きで方向が逆になる。 */
.p-parties__arrow--v { width: 20px; height: 34px; }
.p-parties__arrow-dashed--v { width: 11px; height: 23px; margin-block: var(--space-4); }

.p-parties__label {
  display: flex;
  align-items: center;
  gap: var(--space-6);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.5;
  color: var(--color-brand-navy);
  white-space: nowrap;
}

.p-parties__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  width: 24px;
  height: 24px;
  border-radius: var(--radius-full);
  color: var(--color-text-inverse);
  font-family: var(--font-en);
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
}

.p-parties__num--blue { background: var(--color-brand-blue); }
.p-parties__num--green { background: var(--color-accent-green); }

/* ---- 3つの特徴 ----------------------------------------------------------- */
.p-features {
  display: flex;
  flex-direction: column;
  gap: var(--space-12);
  padding: var(--space-24);
  border-radius: var(--radius-16);
  background: var(--color-surface-tint);
}

.p-feature {
  display: flex;
  align-items: center;
  gap: var(--space-16);
}

.p-feature + .p-feature {
  padding-top: var(--space-12);
  border-top: 1px solid var(--color-brand-blue-soft);
}

.p-feature img { flex: none; width: 48px; height: auto; }

.p-feature__title {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.48;
  color: var(--color-brand-blue);
}

.p-feature__text {
  font-size: var(--fs-lead);
  font-weight: 500;
  line-height: 1.85;
  color: var(--color-text-secondary);
}

/* ---- PC ---------------------------------------------------------------- */
@media (min-width: 1024px) {
  .p-about__divider { margin-block: var(--space-56); }
  .p-about__factoring { gap: var(--space-24); }

  .p-parties {
    flex-direction: row;
    justify-content: center;
    gap: var(--space-20);
  }

  .p-parties__node {
    flex-direction: column;
    gap: var(--space-12);
    width: auto;
    padding: 0;
    border: 0;
    background: none;
    text-align: center;
  }
  .p-parties__node--you,
  .p-parties__node--factor { background: none; }
  .p-parties__body { align-items: center; }
  .p-parties__circle { width: 156px; height: 156px; }
  .p-parties__circle--sm { width: 104px; height: 104px; }
  .p-parties__name { font-size: 16px; }
  .p-parties__desc { font-size: 13px; width: 180px; }

  /* 円の大きさが違うので、行の縦中央に置く */
  .p-parties__arrow-dashed {
    width: 66px;
    transform: none;
    margin-block: 0;
    align-self: center;
  }

  .p-parties__exchange {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-12);
    padding-block: 0;
  }

  .p-parties__exchange > * { align-self: auto; }
  .p-parties__exchange { width: auto; margin-inline: 0; }

  .p-parties__arrow {
    width: 300px;
    height: 26px;
  }

  .p-parties__label { font-size: 16px; }
  .p-parties__num { width: 24px; height: 24px; font-size: 13px; }

  .p-features {
    flex-direction: row;
    align-items: center;
    gap: 0;
    padding: var(--space-28) var(--space-32);
  }

  .p-feature {
    flex: 1 1 0;
    min-width: 0;
    gap: var(--space-16);
    padding-inline: var(--space-20);
  }

  .p-feature + .p-feature { border-left: 1px solid var(--color-brand-blue-soft); border-top: 0; }
  .p-feature img { width: 48px; }
  .p-feature__title { font-size: 16px; }
  .p-feature__text { font-size: 12px; }
}

/* ==========================================================================
   他の資金調達方法との違い（比較表）
   PC/SPとも横スクロール。1列目（比較項目）は position: sticky で左に固定する。
   ========================================================================== */
.p-compare {
  display: flex;
  flex-direction: column;
  gap: var(--space-10);
  margin-top: var(--space-40);
}

.p-compare__title { margin-bottom: var(--space-4); }

.p-compare .c-note { color: var(--color-text-muted); }

/* 横スクロールの示唆はFigmaと同じくアイコンで（表の右下に重ねる） */
.p-compare__scroll-wrap { position: relative; }

.p-compare__hint {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 66px;
  height: 59px;
  pointer-events: none;
}

/* 角丸16pxはFigmaでは表全体（クリップあり）に掛かっている。
   セルではなくスクロール枠側に持たせて、外周だけを丸める。 */
.p-compare__scroll {
  overflow-x: auto;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  border: 1px solid var(--color-border-default);
  border-radius: var(--radius-16);
  background: var(--color-surface-base);
}

.p-compare__scroll:focus-visible {
  outline: 3px solid var(--color-brand-blue);
  outline-offset: 2px;
}

.p-table {
  width: 100%;
  min-width: 760px;
  table-layout: fixed;
  /* 角丸を外枠で持つため collapse ではなく separate。
     collapse だとセルの境界線が角丸からはみ出して見える。 */
  border-collapse: separate;
  border-spacing: 0;
  font-size: var(--fs-body);
  line-height: var(--lh-body);
}

.p-table thead th { padding-block: var(--space-12); }

.p-table th,
.p-table td {
  padding: var(--space-16);
  border-right: 1px solid var(--color-border-default);
  border-bottom: 1px solid var(--color-border-default);
  text-align: center;
  vertical-align: middle;
  font-weight: 500;
  color: var(--color-text-secondary);
}

/* 外周は枠側の border で描くので、内側の最終列・最終行は線を持たない */
.p-table tr > *:last-child { border-right: 0; }
.p-table tbody tr:last-child > * { border-bottom: 0; }

/* 1列目：見出し列を左に固定 */
.p-table th[scope="row"],
.p-table thead th:first-child {
  position: sticky;
  left: 0;
  z-index: 1;
  width: 130px;
  background: var(--color-surface-subtle);
  color: var(--color-brand-navy);
  font-weight: 500;
}

.p-table thead th {
  background: var(--color-surface-subtle);
  color: var(--color-brand-navy);
  font-weight: 500;
}

.p-table thead th:first-child { color: var(--color-text-secondary); }

/* ¥Today列を目立たせる */
.p-table__own { background: var(--color-surface-tint); }

.p-table thead .p-table__own {
  color: var(--color-brand-blue);
  font-weight: 700;
}

.p-table thead .p-table__own { font-size: 15px; }

.p-table td.p-table__own strong {
  display: block;
  color: var(--color-brand-blue);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.4;
}

@media (min-width: 1024px) {
  .p-compare { gap: var(--space-14); margin-top: var(--space-56); }

  .p-table {
    min-width: 1040px;
    font-size: 16px;
  }

  .p-table th,
  .p-table td { padding: var(--space-20) var(--space-16); }
  .p-table thead th { padding-block: var(--space-16); }

  .p-table th[scope="row"],
  .p-table thead th:first-child { width: 200px; }
  .p-table thead th,
  .p-table td { line-height: 1.85; }

  .p-table td.p-table__own strong { font-size: 20px; }
}

/* ==========================================================================
   セクション内のCTA（About / Standard の下など）
   ========================================================================== */
.p-cta-inline {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-8);
  margin-top: var(--space-40);
  text-align: center;
}

.p-cta-inline__btn { width: 100%; }

@media (min-width: 1024px) {
  .p-cta-inline__btn { min-height: 62px; }
}

@media (min-width: 1024px) {
  .p-cta-inline { margin-top: var(--space-56); }
  .p-cta-inline__btn { width: auto; min-width: 360px; }
}

/* ==========================================================================
   04 Concerns（こんなお悩みありませんか？）
   ========================================================================== */
.p-concerns { background: var(--color-surface-subtle); }

.p-concerns__inner { position: relative; }

/* 困っている経営者のイラスト。PC/SPとも見出しの右に重ねる */
.p-concerns__illust {
  position: absolute;
  top: 66px;
  right: 0;
  width: 105px;
  height: auto;
}

.p-concerns__cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 11px;
}

.p-concern {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: var(--radius-16);
  background: var(--color-surface-base);
}

.p-concern__q {
  padding: var(--space-12);
  background: var(--color-brand-blue);
  color: var(--color-text-inverse);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.48;
  text-align: center;
}

/* 答えは残りの高さを使って縦中央に置く（行内でカード高さが揃うため） */
.p-concern__a {
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  justify-content: center;
  padding: var(--space-16) var(--space-12);
  color: var(--color-brand-blue);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.48;
  text-align: center;
}

.p-concerns__solution {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: var(--space-4);
  margin-top: var(--space-40);
  text-align: center;
}

.p-concerns__logo .p-logo__symbol { font-size: 32px; }
.p-concerns__logo .p-logo__text { font-size: 28px; }

.p-concerns__solution-text {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4;
  color: var(--color-brand-navy);
}

@media (min-width: 1024px) {
  .p-concerns__illust {
    top: -16px;
    right: 80px;
    width: 226px;
  }

  .p-concerns__cards {
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-28);
  }

  .p-concern__q {
    padding: var(--space-20) var(--space-24);
    font-size: 20px;
  }

  .p-concern__a {
    padding: var(--space-22) var(--space-24) var(--space-24);
    font-size: 20px;
  }

  .p-concerns__solution { margin-top: var(--space-48); gap: var(--space-4); }
  .p-concerns .c-sec-head { margin-bottom: var(--space-48); }
  .p-concerns__cards { gap: var(--space-28); }
  .p-concerns__logo .p-logo__symbol { font-size: 48px; }
  .p-concerns__logo .p-logo__text { font-size: 40px; }
  .p-concerns__solution-text { font-size: 32px; }
}

/* ==========================================================================
   CTAバンド（4本共通の器。中の文言だけ差し替える）
   ========================================================================== */
.p-band {
  background: var(--color-brand-blue);
  color: var(--color-text-inverse);
  padding-block: var(--band-py);
}

.p-band__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-16);
  text-align: center;
}

.p-band__copy {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-8);
}

.p-band__eyebrow {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-4);
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
}

/* SPの＼／は12px、PCは18px */
.p-band__eyebrow img { width: 12px; height: 12px; }

.p-band__action .c-btn { padding: 0 var(--space-40) 0 var(--space-48); gap: var(--space-24); }
.p-band__action .c-btn__arrow { width: 18px; }

.p-band__headline {
  font-size: 40px;
  font-weight: 700;
  line-height: 1.32;
}

/* 数字はロゴと同じ Montserrat のイタリック */
.p-band__num {
  display: inline-block;
  font-family: var(--font-en);
  font-weight: 700;
  font-style: italic;
  font-size: 1.8em;      /* SP 72/40 */
  line-height: 0.71;
  letter-spacing: -0.02em;
  padding-inline: 0.04em;
}

/* バンド②の「3」だけSPでは控えめ（48/40） */
.p-band--compact .p-band__num { font-size: 1.2em; }

/* バンド②の「できます。」はSPで一段小さい（32/40） */
.p-band__sm { font-size: 0.8em; }

/* Figmaは強調語だけ一段大きい（60px → 68px） */
.p-band__em { font-size: 1.2em; }

.p-band__lead {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.85;
}

.p-band__action {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-8);
  width: 100%;
}

.p-band__action .c-btn { width: 100%; }

.p-band__note {
  font-size: var(--fs-note);
  font-weight: 400;
  line-height: 1.6;
}

@media (min-width: 1024px) {
  .p-band__inner { gap: var(--space-24); }
  .p-band__copy { gap: var(--space-16); }
  .p-band__eyebrow { font-size: 24px; gap: var(--space-8); }
  .p-band__eyebrow img { width: 16px; height: 16px; }
  .p-band__action .c-btn { font-size: 22px; }
  .p-band__headline { font-size: 60px; line-height: 1; }
  .p-band__num,
  .p-band--compact .p-band__num { font-size: 1.33em; }
  .p-band__sm { font-size: 1em; }
  .p-band__lead { font-size: 22px; line-height: 1.6; }

  .p-band__action { width: auto; }
  .p-band__action .c-btn { width: auto; min-width: 306px; padding-inline: var(--space-48) var(--space-40); }
  .p-band__note { font-size: 14px; }
}

/* ==========================================================================
   05 Why ¥Today?（選ばれる3つの理由）
   ========================================================================== */
.p-why { background: var(--color-surface-base); }

/* SPは1枚ずつ見せるスライダー（前後ボタン＋ドット）。
   PCは3列に並べて縦罫線で区切る。 */
.p-why__slider {
  display: flex;
  flex-direction: column;
  gap: var(--space-24);
}

.p-why__divider {
  height: 1px;
  margin: 0;
  border: 0;
  background: var(--color-border-default);
}

.p-why__viewport {
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.p-why__viewport::-webkit-scrollbar { display: none; }

.p-why__rail {
  display: flex;
  gap: var(--space-40);
}

.p-reason {
  display: flex;
  flex-direction: column;
  gap: var(--space-16);
  flex: none;
  width: 100%;
  scroll-snap-align: start;
}



.p-reason__num {
  font-family: var(--font-en);
  font-weight: 500;
  font-size: 32px;
  line-height: 1;
  color: var(--color-brand-blue-soft);
}

.p-reason__title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.3;
  color: var(--color-brand-navy);
}

.p-reason__stat {
  display: flex;
  align-items: baseline;
  gap: var(--space-2);
  color: var(--color-brand-blue);
}

.p-reason__stat-pre {
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
}

.p-reason__stat-num {
  font-family: var(--font-en);
  font-weight: 700;
  font-style: italic;   /* Figmaは Bold Italic。直立だと見え方が変わる */
  font-size: 62px;
  line-height: 1;
  letter-spacing: -0.02em;
}

.p-reason__stat-unit {
  font-size: 28px;
  font-weight: 700;
  line-height: 1;
}

.p-reason__stat-unit--en {
  font-family: var(--font-en);
}

.p-reason__text {
  font-size: var(--fs-body);
  font-weight: 500;
  line-height: var(--lh-body);
  color: var(--color-text-secondary);
}

@media (min-width: 1024px) {
  /* PCはスライダーをやめて3列に並べる */
  .p-why__slider { gap: 0; }
  .p-why__divider { display: none; }

  .p-why__viewport {
    overflow-x: visible;
    scroll-snap-type: none;
  }

  /* 3枚の高さを揃える（縦罫線も最も高いカードに合わせて伸びる） */
  .p-why__rail {
    align-items: stretch;
    gap: var(--space-32);
  }

  .p-reason {
    flex: 1 1 0;
    min-width: 0;
    width: auto;
    gap: var(--space-16);
    scroll-snap-align: none;
  }

  .p-reason + .p-reason {
    padding-left: var(--space-32);
    border-left: 1px solid var(--color-border-default);
  }

  /* 数字まわりはSPと同値。PCで変わるのは理由タイトルだけ */
  .p-reason__title { font-size: 24px; line-height: 1.3; }
}

/* ==========================================================================
   06 Standard（優良ファクタリング会社の基準）
   ========================================================================== */
.p-standard { background: var(--color-surface-subtle); }

/* SPは1枚ずつ見せる横スライダー。PCは3+2の並びに戻す */
.p-standard__slider {
  display: flex;
  flex-direction: column;
  gap: var(--space-12);
}

.p-standard__rail {
  display: flex;
  gap: var(--space-24);
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.p-standard__rail::-webkit-scrollbar { display: none; }

.p-std {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-8);
  flex: none;
  width: 100%;
  scroll-snap-align: start;
  padding: var(--space-24);
  border: 1px solid var(--color-border-strong);
  border-radius: var(--radius-16);
  background: var(--color-surface-base);
  box-shadow: var(--shadow-card);
}

.p-std__icon { width: 72px; height: 72px; }

.p-std__title {
  width: calc(100% - var(--space-32));
  padding-bottom: var(--space-8);
  border-bottom: 1px dashed var(--color-brand-blue-soft);
  text-align: center;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.48;
  color: var(--color-brand-navy);
}

.p-std__text {
  text-align: center;
  font-size: var(--fs-body);
  font-weight: 500;
  line-height: 1.85;
  color: var(--color-text-secondary);
}



.p-standard__note { text-align: center; }

@media (min-width: 1024px) {
  /* PCはスライダーをやめて3+2の並びに。flexの折り返し＋中央寄せなら
     4・5枚目が自動で中央に来て、幅も3列ぶんを保てる。 */
  .p-standard__slider { gap: 0; }

  .p-standard__rail {
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--space-32);
    overflow-x: visible;
    scroll-snap-type: none;
  }

  .p-std {
    width: calc((100% - var(--space-32) * 2) / 3);
    scroll-snap-align: none;
    gap: 0;
    padding: var(--space-32) var(--space-28);
  }

  .p-std__icon { width: 88px; height: 88px; }

  .p-std__title {
    width: auto;
    margin-top: var(--space-16);
    padding-bottom: var(--space-16);
    font-size: 20px;
    line-height: 1.48;
  }

  .p-std__text {
    margin-top: var(--space-16);
    line-height: 1.65;
  }
  .p-standard__note { margin-top: var(--space-40); }
}

/* ==========================================================================
   07 Voice（ご利用者様の声）
   SPは横スワイプのスライダー、PCは3枚横並びで静止。
   ========================================================================== */
.p-voice { background: var(--color-surface-base); }

/* スライダーの外枠。スクロールは .p-voice__rail 側が担当する */
.p-voice__slider {
  display: flex;
  flex-direction: column;
}

.p-voice__rail {
  display: flex;
  gap: var(--space-12);
  /* SPは横スクロール。1枚ずつ吸着させる */
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.p-voice__rail::-webkit-scrollbar { display: none; }

.p-voice-card {
  display: flex;
  flex-direction: column;
  gap: var(--space-20);
  flex: none;
  width: 290px;
  padding: var(--space-32) var(--space-16);
  border: 1px solid var(--color-border-default);
  border-radius: var(--radius-16);
  background: var(--color-surface-base);
  box-shadow: var(--shadow-card);
  scroll-snap-align: start;
}

.p-voice-card__head {
  display: flex;
  align-items: center;
  gap: var(--space-12);
}

.p-voice-card__avatar {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: none;
  width: 52px;
  height: 52px;
  border-radius: var(--radius-12);
  background: var(--color-surface-subtle);
}

.p-voice-card__avatar img { width: 28px; height: 28px; }

.p-voice-card__name {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.48;
  color: var(--color-brand-navy);
}

.p-voice-card__meta {
  font-size: var(--fs-caption);
  font-weight: 500;
  line-height: 1.5;
  color: var(--color-text-secondary);
}

/* 星は1つのSVGをマスクにして色だけ変える */
.p-voice-card__stars {
  display: flex;
  gap: 3px;
}

.p-voice-card__star {
  display: block;
  flex: none;
  width: 20px;
  height: 19px;
}

.p-voice-card__result {
  display: flex;
  align-items: center;
  padding: var(--space-16) var(--space-8);
  border-radius: var(--radius-8);
  background: var(--color-surface-tint);
}

.p-voice-card__cell {
  display: flex;
  flex: 1 1 0;
  min-width: 0;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  text-align: center;
}

.p-voice-card__cell + .p-voice-card__cell {
  border-left: 1px solid var(--color-border-strong);
}

.p-voice-card__head > div {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}

.p-voice-card__cell dt {
  font-size: var(--fs-note);
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-text-secondary);
}

.p-voice-card__cell dd {
  display: flex;
  align-items: baseline;
  gap: var(--space-2);
  color: var(--color-brand-blue);
}

.p-voice-card__num {
  font-family: var(--font-en);
  font-weight: 700;
  font-size: 20px;
  line-height: 1.28;
  letter-spacing: 0;
}

.p-voice-card__unit {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
}

.p-voice-card__unit--lg { font-size: 16px; }

.p-voice-card__text {
  font-size: var(--fs-body);
  font-weight: 500;
  line-height: var(--lh-body);
  color: var(--color-text-secondary);
}

.p-voice__dots {
  display: flex;
  justify-content: center;
  gap: var(--space-8);
  margin-top: var(--space-14);
}

.p-voice__dot {
  width: 7px;
  height: 7px;
  padding: 0;
  border-radius: var(--radius-full);
  background: var(--color-border-strong);
  transition: background var(--dur) var(--ease);
}

.p-voice__dot.is-active { background: var(--color-brand-blue); }

.p-voice__note { margin-top: var(--space-14); text-align: center; }

@media (min-width: 1024px) {
  /* スライダーの外枠。スクロールは .p-voice__rail 側が担当する */
.p-voice__slider {
  display: flex;
  flex-direction: column;
}

.p-voice__rail {
    gap: var(--space-32);
    overflow-x: visible;
    scroll-snap-type: none;
    padding-bottom: 0;
  }

  .p-voice-card {
    flex: 1 1 0;
    min-width: 0;
    width: auto;
    gap: var(--space-20);
    padding: var(--space-32) var(--space-24);
  }

  .p-voice-card__avatar { width: 64px; height: 64px; }
  .p-voice-card__avatar img { width: 28px; height: 28px; }
  .p-voice-card__name { font-size: 20px; line-height: 1.48; }
  .p-voice-card__num { font-size: 24px; }
  .p-voice-card__unit { font-size: 15px; }
  .p-voice-card__unit--lg { font-size: 24px; }
  .p-voice__note { margin-top: var(--space-14); text-align: center; }

  /* PCは3枚並びで静止するのでドットは出さない。
     .u-sp-only より後に読まれる .p-voice__dots{display:flex} を打ち消す */
  .p-voice__dots { display: none; }
}

/* ==========================================================================
   08 Flow（ご利用の流れ）
   ========================================================================== */
.p-flow { background: var(--gradient-section); }

.p-flow__steps {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-10);
}

.p-step {
  display: grid;
  grid-template-columns: auto auto 1fr;
  grid-template-rows: auto auto;
  align-items: center;
  column-gap: var(--space-8);
  row-gap: var(--space-4);
  width: 100%;
  padding: var(--space-16);
  border-radius: var(--radius-16);
  background: var(--color-surface-base);
  box-shadow: var(--shadow-card);
}

.p-step__num {
  grid-row: 1 / 3;
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: none;
  font-family: var(--font-en);
  font-weight: 700;
  color: var(--color-brand-blue);
  line-height: 1;
}

.p-step__label { font-size: 11px; letter-spacing: 0.04em; }
.p-step__no { font-size: 22px; font-style: italic; }

.p-step__illust {
  grid-row: 1 / 3;
  width: 100px;
  height: auto;
  flex: none;
}

.p-step__title {
  align-self: end;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.48;
  color: var(--color-brand-navy);
}

.p-step__text {
  align-self: start;
  font-size: var(--fs-body-sm);
  font-weight: 500;
  line-height: 1.8;
  color: var(--color-brand-navy-dark);
}

/* SPは矢印を下向きに */
.p-step__arrow img {
  width: 24px;
  height: auto;
  transform: rotate(90deg);
}

@media (min-width: 1024px) {
  .p-flow__steps {
    flex-direction: row;
    align-items: stretch;
    justify-content: center;
    gap: 0;
  }

  .p-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: var(--space-20);
    width: 227px;
    flex: none;
    padding: var(--space-32) var(--space-24);
    text-align: center;
  }

  /* SP用グリッド指定の打ち消し */
  .p-step__num,
  .p-step__illust { grid-row: auto; }
  .p-step__title,
  .p-step__text { align-self: auto; }

  .p-step__label { font-size: 12px; }
  .p-step__no { font-size: 30px; }
  .p-step__illust { width: auto; max-width: 100%; height: 168px; object-fit: contain; }

  .p-step__title { font-size: 20px; line-height: 1.48; }
  .p-step__text { font-size: 13px; }

  .p-step__arrow {
    display: flex;
    align-items: center;
    flex: none;
  }

  .p-step__arrow img { width: 44px; transform: none; }
}

/* ==========================================================================
   09 FAQ（よくあるご質問）
   ========================================================================== */
.p-faq { background: var(--color-surface-tint); }

.p-faq__list {
  display: flex;
  flex-direction: column;
  gap: var(--space-12);
}

.p-faq-item {
  overflow: hidden;
  border-radius: var(--radius-8);
  background: var(--color-brand-blue);
}

.p-faq__q {
  display: flex;
  align-items: center;
  gap: var(--space-8);
  width: 100%;
  padding: var(--space-16);
  color: var(--color-text-inverse);
  text-align: left;
}

.p-faq__badge {
  flex: none;
  font-family: var(--font-en);
  font-weight: 500;
  font-size: 16px;
  line-height: 1;
}

.p-faq__badge--a { line-height: 1.75; }

.p-faq__text {
  flex: 1 1 auto;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.5;
}

/* ＋ / − のトグル。CSSだけで作る */
.p-faq__toggle {
  position: relative;
  flex: none;
  width: 24px;
  height: 24px;
}

.p-faq__toggle::before,
.p-faq__toggle::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 14px;
  height: 2px;
  border-radius: 1px;
  background: currentColor;
  transform: translate(-50%, -50%);
  transition: transform var(--dur) var(--ease), opacity var(--dur) var(--ease);
}

.p-faq__toggle::after { transform: translate(-50%, -50%) rotate(90deg); }

.p-faq-item.is-open .p-faq__toggle::after {
  transform: translate(-50%, -50%) rotate(0deg);
  opacity: 0;
}

.p-faq__a {
  display: flex;
  gap: var(--space-8);
  padding: var(--space-16);
  background: var(--color-surface-base);
}

.p-faq__badge--a { color: var(--color-brand-blue); }

.p-faq__a p {
  font-size: var(--fs-body);
  font-weight: 500;
  line-height: var(--lh-body);
  color: var(--color-brand-navy-dark);
}

@media (min-width: 1024px) {
  .p-faq__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    align-items: start;
    gap: var(--space-24);
  }

  .p-faq__q { padding: var(--space-16); }
  .p-faq__badge { font-size: 22px; }
  .p-faq__text { font-size: 16px; }
  .p-faq__a { padding: var(--space-16) var(--space-24); }
}

/* ==========================================================================
   10 Organization（運営組織）
   ========================================================================== */
.p-org { background: var(--color-surface-base); }

.p-org__table {
  display: flex;
  flex-direction: column;
}

.p-org__row {
  display: flex;
  gap: var(--space-12);
  padding-block: var(--space-16);
  border-bottom: 1px solid var(--color-border-default);
}

.p-org__row dt {
  flex: none;
  width: 92px;
  font-size: var(--fs-body-sm);
  font-weight: 700;
  line-height: 1.75;
  color: var(--color-brand-navy);
}

.p-org__row dd {
  flex: 1 1 auto;
  min-width: 0;
  font-size: var(--fs-body-sm);
  font-weight: 500;
  line-height: 1.8;
  color: var(--color-brand-navy-dark);
}

.p-org__link {
  color: var(--color-brand-blue);
}

/* 電話番号はFigmaでは本文色・装飾なし。tel:リンクの機能だけ残す */
.p-org__link--plain { color: var(--color-brand-navy-dark); }

@media (min-width: 1024px) {
  .p-org__row { gap: 0; padding-block: var(--space-20); }
  .p-org__row dt { width: 200px; font-size: var(--fs-body); }
  .p-org__row dd { font-size: var(--fs-body); }
}





