
:root {
  --lp2-i-x: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M7 7l10 10M17 7L7 17'/%3E%3C/svg%3E");
  --lp2-error: #B42318;
  --lp2-error-bg: #FEF3F2;
  --lp2-error-line: #F4C7C3;
}

/* ---------- 共通の小物 ---------- */
.v2 .lp2-center { text-align: center; }
.v2 .lp2-muted { font-size: 0.8125rem; color: var(--v2-muted); font-weight: 400; }
.v2 .lp2-small { font-size: 0.8125rem; font-weight: 500; }
.v2 .lp2-nowrap { white-space: nowrap; }
.v2 .lp2-num { font-family: var(--v2-serif); font-weight: 800; font-size: 1.3em; color: var(--v2-heading); }
.v2 .taxin { display: block; font-size: 0.8125rem; font-weight: 500; color: var(--v2-muted); font-family: var(--v2-sans); }
.v2 .lp2-prose { max-width: 45rem; margin: 0 auto; line-height: 1.9; }
.v2 .lp2-prose p + p { margin-top: 1rem; }
.v2 .lp2-prose__strong { font-weight: 700; color: var(--v2-heading); }
.v2 .lp2-prose + * { margin-top: 1.5rem; }
.v2 .lp2-after { max-width: 45rem; margin: 1.5rem auto 0; line-height: 1.9; }
.v2 .v2-sec--band .lp2-after, .v2 .v2-sec--navy .lp2-after { color: rgba(255, 255, 255, 0.9); }
.v2 .v2-sec--band .lp2-onband, .v2 .v2-sec--navy .lp2-onband { color: rgba(255, 255, 255, 0.82); }
.v2 .lp2-subtitle { font-family: var(--v2-serif); font-weight: 800; font-size: 1.375rem; line-height: 1.5; text-align: center; color: var(--v2-heading); margin: 2.5rem 0 1.25rem; }
.v2 .lp2-subtitle::after { content: ""; display: block; width: 2.5rem; height: 2px; margin: 0.625rem auto 0; background: var(--v2-gold); }
.v2 .v2-closing__title .gold { color: var(--v2-gold); }
.v2 .v2-head + .lp2-prose { margin-top: 0; }

/* 札（ピル） */
.v2 .lp2-pill { display: inline-block; font-size: 0.75rem; font-weight: 700; line-height: 1.7; padding: 0 0.75rem; border-radius: 999px; background: var(--v2-pale); color: var(--v2-navy); letter-spacing: 0.02em; }
.v2 .lp2-pill--navy { background: var(--v2-navy); color: #fff; }
.v2 .lp2-pill--gold { background: var(--v2-gold-pale); color: var(--v2-gold-text); border: 1px solid var(--v2-gold-strong); }
.v2 .lp2-pill--goldfill { background: var(--v2-gold); color: var(--v2-heading); }
.v2 .lp2-pill--warn { background: var(--lp2-error-bg); color: var(--lp2-error); border: 1px solid var(--lp2-error-line); }
.v2 .lp2-pills { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.5rem; margin-top: 1.25rem; }
.v2 .lp2-pills .lp2-pill { font-size: 0.875rem; padding: 0.25rem 1rem; }

/* 箇条（チェック・質問・情報） */
.v2 .lp2-list li { position: relative; padding-left: 1.875rem; line-height: 1.8; margin-top: 0.5rem; font-size: 0.9375rem; }
.v2 .lp2-list li::before { content: ""; position: absolute; left: 0; top: 0.25rem; width: 1.25rem; height: 1.25rem; border-radius: 50%; }
.v2 .lp2-list--check li::before { background: var(--v2-blue); }
.v2 .lp2-list--check li::after { content: ""; position: absolute; left: 0.25rem; top: 0.5rem; width: 0.75rem; height: 0.75rem; background: #fff; -webkit-mask: var(--v2-i-check) center / contain no-repeat; mask: var(--v2-i-check) center / contain no-repeat; }
.v2 .lp2-list--q li::before { content: "?"; display: grid; place-items: center; background: #fff; border: 1px solid var(--v2-border-strong); color: var(--v2-navy); font-family: var(--v2-serif); font-weight: 800; font-size: 0.75rem; line-height: 1; }
.v2 .lp2-list a { color: var(--v2-blue); font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }

/* 補足の箱（金の淡い面／白に金の線） */
.v2 .lp2-callout { display: block; max-width: 55rem; margin: 1.25rem auto 0; background: var(--v2-gold-pale); border: 1px solid var(--v2-gold); border-radius: var(--v2-r-card); padding: 1rem 1.25rem; font-size: 0.9375rem; line-height: 1.85; }
.v2 .lp2-callout strong { color: var(--v2-heading); }
.v2 .lp2-callout--idea { background: #fff; border: 1px solid var(--v2-border); border-left: 3px solid var(--v2-gold); box-shadow: var(--v2-sh-card); }
.v2 .lp2-softbox { background: var(--v2-pale-light); border-radius: var(--v2-r-btn); padding: 0.875rem 1rem; line-height: 1.85; }
.v2 .lp2-softbox strong { color: var(--v2-heading); }

/* 区画の下のボタン */
.v2 .v2-btns--center { margin-top: 2rem; }
.v2 .v2-btns--center + .v2-assure { margin-top: 0.75rem; }
@media (min-width: 768px) { .v2 .v2-btns--center .v2-btn { min-width: 20rem; } }

/* ---------- 最初の画面：共通の足し ---------- */
.v2 .lp2-hero__badge { display: inline-block; font-size: 0.8125rem; font-weight: 700; color: var(--v2-gold-text); background: var(--v2-gold-pale); border: 1px solid var(--v2-gold-strong); border-radius: 999px; padding: 0.125rem 0.875rem; margin-bottom: 0.75rem; line-height: 1.6; }
.v2 .lp2-hero__note { font-size: var(--v2-fs-note); color: var(--v2-muted); line-height: 1.7; margin-top: 0.75rem; }
.v2 .lp2-check__main { font-weight: 700; color: var(--v2-heading); }
.v2 .lp2-check__sub { font-weight: 400; }
.v2 .v2-hero__checks li strong { color: var(--v2-heading); }
.v2 .v2-hero__lead strong { color: var(--v2-heading); }
/* パソコンで1行が13字以上になる見出しは、少し小さくして元の改行位置の2行に収める（税務調査・保険） */
@media (min-width: 1024px) { .v2 .v2-hero__title.lp2-hero__title--long { font-size: clamp(2rem, 3.3vw, 2.625rem); } }

/* 紺の面に白いコピー枠
   ヘッダー（元のまま）は最初は透明で、紺の上ではロゴの紺の文字が読めないため、このページだけ最初から白い面にする（スクロール後と同じ見た目） */
body:has(.lp2-hero--navy) .lp-header:not(.is-scrolled) { background: rgba(255, 255, 255, 0.96); border-bottom: 1px solid var(--v2-border); box-shadow: 0 1px 12px rgba(15, 23, 42, 0.06); }
.v2 .lp2-hero--navy { background: var(--v2-band); }
.v2 .lp2-hero--navy::before { display: none; }
.v2 .lp2-hero__card { position: relative; background: #fff; border: 1px solid var(--v2-gold); border-radius: var(--v2-r-card); box-shadow: var(--v2-sh-panel); padding: 1.25rem; }
.v2 .lp2-hero--navy .v2-hero__photo img { border: 1px solid var(--v2-gold); box-shadow: 0 14px 36px rgba(0, 0, 0, 0.28); }
.v2 .lp2-hero--navy .v2-assure, .v2 .lp2-hero--navy .lp2-hero__note--after { color: rgba(255, 255, 255, 0.82); }
.v2 .lp2-hero--navy .v2-btns { margin-top: 0; }
/* 紺の最初の画面の箇条：白いカードと同じ面 */
.v2 .lp2-hero__checks { background: #fff; border: 1px solid var(--v2-gold); border-radius: var(--v2-r-card); box-shadow: var(--v2-sh-panel); padding: 1rem 1.25rem; }
.v2 .lp2-hero__checks .v2-hero__checks { margin-top: 0; }
.v2 .lp2-hero__notes .lp2-hero__note--after:first-child { margin-top: 0; }
@media (min-width: 768px) { .v2 .lp2-hero__card { padding: 2rem 2.25rem; } }
/* 白い枠の中のボタン：スマホは縦に並べて幅をそろえる。タブレット以上は横に2つ */
.v2 .lp2-hero--photo .lp2-hero__card .v2-btns .v2-btn { min-width: 0; }
@media (min-width: 768px) { .v2 .lp2-hero--photo .lp2-hero__card .v2-btns .v2-btn { flex: 1 1 auto; padding-left: 1rem; padding-right: 1rem; } }   /* 左右の余白を詰めて、カードの幅（約630px）に2つ並ぶように */
@media (min-width: 1024px) {
  /* 白いカードの見出し（紺の帯・写真の上）は大きく：3rem 前後・明朝600。
     いちばん長い行（--lp2-h1-em：全角＝1）がカードの幅に収まる大きさまで下げる（cqi が使えないブラウザは前の行の大きさ） */
  .v2 .lp2-hero__card { container-type: inline-size; }
  .v2 .lp2-hero__card .v2-hero__title { font-size: clamp(2rem, 3.2vw, 2.625rem); font-size: min(3rem, calc(100cqi / var(--lp2-h1-em, 9) / 1.05)); }
  /* 左上＝白いカード（見出し・リード）、その下＝ボタン、右＝写真（2段分の高さまで伸ばす：v2.css の共通指定）、下の全幅＝箇条・注記 */
  .v2 .lp2-hero--navy .v2-hero__in { grid-template-columns: minmax(0, 1.5fr) minmax(0, 0.9fr); grid-template-areas: "card photo" "cta photo" "checks checks" "notes notes"; row-gap: 1.25rem; align-items: stretch; }
  .v2 .lp2-hero--navy .v2-hero__photo { grid-area: photo; }
  .v2 .lp2-hero--navy .lp2-hero__card { grid-area: card; }
  .v2 .lp2-hero--navy .lp2-hero__cta { grid-area: cta; align-self: end; }
  .v2 .lp2-hero--navy .lp2-hero__cta .v2-btn { min-width: 0; flex: 0 1 auto; padding-left: 1.25rem; padding-right: 1.25rem; }   /* 2つのボタンが白いカードの幅に並ぶように（左右の余白を詰める。収まらなければ2段） */
  .v2 .lp2-hero--navy .lp2-hero__cta .v2-btns { gap: 0.75rem; }
  .v2 .lp2-hero--navy .lp2-hero__checks { grid-area: checks; padding: 1.25rem 1.75rem; }
  .v2 .lp2-hero--navy .lp2-hero__checks .v2-hero__checks { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 2.5rem; }
  .v2 .lp2-hero--navy .lp2-hero__notes { grid-area: notes; }
  .v2 .lp2-hero--deco .v2-hero__in { grid-template-columns: minmax(0, 1.6fr) minmax(0, 0.8fr) minmax(0, 0.5fr); grid-template-areas: "card photo deco" "cta photo deco" "checks checks checks" "notes notes notes"; }
  .v2 .lp2-hero--deco .v2-hero__in::after { content: ""; grid-area: deco; margin-left: -5rem; margin-right: calc(var(--v2-gutter) * -1); background: var(--lp2-hero-deco) left bottom / contain no-repeat; pointer-events: none; }
  .v2 .lp2-hero--deco .v2-hero__photo { position: relative; z-index: 1; }
}

/* 住宅街の写真に白いコピー枠：写真は head の preload と同じ画像。スマホは縦長の写真 */
.v2 .lp2-hero--photo { padding: 0; background: var(--v2-white); }
.v2 .lp2-hero--photo::before { display: none; }
.v2 .lp2-hero__bg { position: relative; padding: calc(var(--v2-header-h) + var(--v2-hero-y)) 0 var(--v2-hero-y); background: var(--lp2-hero-bg) center 35% / cover no-repeat; }
.v2 .lp2-hero__bg::before { content: ""; position: absolute; inset: 0; background: rgba(16, 36, 95, 0.12); pointer-events: none; }
.v2 .lp2-hero__bg .v2-hero__in { position: relative; }
.v2 .lp2-hero--photo .v2-hero__photo img { border: 1px solid var(--v2-gold); box-shadow: 0 14px 36px rgba(20, 38, 95, 0.22); }
.v2 .lp2-hero--photo .v2-badges { margin-top: 2rem; }
@media (max-width: 840px) { .v2 .lp2-hero__bg { background-image: var(--lp2-hero-bg-sp, var(--lp2-hero-bg)); background-position: center top; } }

/* ---------- 箇条書きを1項目ずつアイコン付きのカードに。スマホは左にアイコン、パソコンは上にアイコン ---------- */
.v2 .lp2-icard { align-items: center; min-height: 0; }
.v2 .lp2-icard__text { font-size: 0.9375rem; line-height: 1.75; font-weight: 500; color: var(--v2-text); word-break: auto-phrase; text-wrap: pretty; }   /* 文節で折り返し、最後の行に1〜2字だけ残さない（対応ブラウザのみ） */
.v2 .lp2-icard__text strong { color: var(--v2-heading); }
.v2 .lp2-icards--solve .lp2-icard { border-top: 3px solid var(--v2-gold); }   /* 当事務所の対応・支援（悩みのカードと区別） */
.v2 .lp2-icards--row { grid-template-columns: minmax(0, 1fr); max-width: 52rem; margin: 0 auto; }   /* 文の長い項目（制度上の事実）は横長のカードを縦に */
.v2 .lp2-subtitle--top { margin-top: 0.5rem; }
.v2 .v2-worries + .lp2-subtitle { margin-top: 2.5rem; }
.v2 .lp2-answer { margin-top: 1.75rem; }
@media (min-width: 768px) and (max-width: 1023px) {
  /* 2列で数が奇数のときは、最後の1枚を中央に（片側だけ空かないように） */
  .v2 .lp2-icards:not(.lp2-icards--row) > :last-child:nth-child(odd) { grid-column: 1 / -1; justify-self: center; width: calc(50% - 0.5rem); }
}
@media (min-width: 1024px) {
  .v2 .lp2-icard { align-items: start; align-content: start; min-height: 0; padding: 1.5rem 1.25rem; }
  .v2 .lp2-icard__text { text-align: center; font-size: 1rem; line-height: 1.8; }
  .v2 .lp2-icards--n4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  /* 5枚は3枚＋2枚。2段目は中央に寄せる（6列の格子で2列ずつ使う） */
  .v2 .lp2-icards--n5 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .v2 .lp2-icards--n5 > * { grid-column: span 2; }
  .v2 .lp2-icards--n5 > :nth-child(4) { grid-column: 2 / span 2; }
  .v2 .lp2-icards--row .lp2-icard { grid-template-columns: 4.5rem minmax(0, 1fr); gap: 1.25rem; align-items: center; padding: 1.25rem 1.5rem; }
  .v2 .lp2-icards--row .v2-worry__icon { width: 4.5rem; height: 4.5rem; margin: 0; }
  .v2 .lp2-icards--row .lp2-icard__text { text-align: left; }
}

/* ---------- お悩み（4枚：不動産売却） ---------- */
.v2 .lp2-worries--4 .v2-worry { align-items: center; min-height: 0; }
@media (min-width: 1024px) {
  .v2 .lp2-worries--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .v2 .lp2-worries--4 .v2-worry { min-height: 11rem; align-content: center; }
}

/* ---------- 訴求の2つの箱（不動産売却） ---------- */
.v2 .lp2-pitch { display: grid; gap: var(--v2-gap); }
.v2 .lp2-pitch__box { padding: 1.5rem 1.25rem; text-align: center; border-top: 3px solid var(--v2-gold); }
.v2 .lp2-pitch__box--main { background: var(--v2-band); border-color: var(--v2-navy); border-top-color: var(--v2-gold); color: #fff; }
.v2 .lp2-pitch__title { font-family: var(--v2-sans); font-weight: 700; font-size: 1.125rem; line-height: 1.5; color: var(--v2-heading); }
.v2 .lp2-pitch__accent { font-family: var(--v2-serif); font-weight: 800; font-size: 1.625rem; line-height: 1.45; color: var(--v2-heading); margin-top: 0.375rem; word-break: normal; line-break: strict; overflow-wrap: anywhere; }
.v2 .lp2-pitch__text { margin-top: 0.875rem; font-size: 0.9375rem; line-height: 1.85; text-align: left; }
.v2 .lp2-pitch__box--main .lp2-pitch__title { color: #fff; }
.v2 .lp2-pitch__box--main .lp2-pitch__accent { color: var(--v2-gold); }
.v2 .lp2-pitch__box--main .lp2-pitch__text { color: rgba(255, 255, 255, 0.9); }
@media (min-width: 768px) {
  .v2 .lp2-pitch { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); }
  .v2 .lp2-pitch__box { padding: 2rem; }
  .v2 .lp2-pitch__accent { font-size: 2rem; }
}

/* ---------- 対応範囲（特例のカード：不動産売却） ---------- */
.v2 .lp2-scope { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--v2-gap); }
.v2 .lp2-scope__card { flex: 1 1 100%; display: grid; grid-template-columns: 4rem minmax(0, 1fr); gap: 1rem; align-items: start; padding: 1.25rem; border-top: 3px solid var(--v2-gold); }
.v2 .lp2-scope__card h3 { font-family: var(--v2-serif); font-weight: 800; font-size: 1.1875rem; line-height: 1.5; }
.v2 .lp2-scope__card p { margin-top: 0.5rem; font-size: 0.9375rem; line-height: 1.8; }
@media (min-width: 768px) { .v2 .lp2-scope__card { flex: 0 1 calc((100% - var(--v2-gap)) / 2); } }
@media (min-width: 1024px) { .v2 .lp2-scope__card { flex: 0 1 calc((100% - var(--v2-gap) * 2) / 3); } }

/* ---------- 選ばれる理由：本文中のリンク・補足 ---------- */
.v2 .v2-reason__text a { color: #fff; text-decoration: underline; text-underline-offset: 2px; }
.v2 .v2-reason__title small { display: block; font-size: 0.8125rem; font-weight: 500; color: rgba(255, 255, 255, 0.84); margin-top: 0.125rem; }

/* ---------- 代表の紹介：足し ---------- */
.v2 .lp2-profile__focus { font-family: var(--v2-serif); font-weight: 800; color: var(--v2-navy-light); font-size: 1rem; margin-top: 0.375rem; }
.v2 .lp2-statband { margin-top: 2.5rem; display: grid; gap: 0.75rem; background: var(--v2-band); color: #fff; border: 1px solid var(--v2-gold); border-radius: var(--v2-r-photo); padding: 1.25rem 1rem; text-align: center; box-shadow: var(--v2-sh-panel); }
.v2 .lp2-statband__label { font-size: 0.8125rem; color: rgba(255, 255, 255, 0.88); letter-spacing: 0.04em; }
.v2 .lp2-statband__num { font-family: var(--v2-serif); font-weight: 800; font-size: 2.5rem; line-height: 1.15; color: var(--v2-gold); font-variant-numeric: lining-nums; }
.v2 .lp2-statband__num small { font-size: 0.42em; color: #fff; margin-left: 0.125rem; }
.v2 .lp2-statband__sub { font-size: 0.75rem; color: rgba(255, 255, 255, 0.8); }
.v2 .lp2-statband__item + .lp2-statband__item { border-top: 1px solid var(--v2-inverse-line); padding-top: 0.75rem; }
@media (min-width: 640px) {
  .v2 .lp2-statband { grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 1.5rem; }
  .v2 .lp2-statband__item + .lp2-statband__item { border-top: 0; padding-top: 0; border-left: 1px solid var(--v2-inverse-line); }
}

/* 2つ目のプロフィール（確定申告）・実績の箱（税務調査） */
.v2 .lp2-profile2 { display: grid; gap: 1.25rem; padding: 1.25rem; align-items: center; }
.v2 .lp2-profile2__title { font-size: 0.875rem; font-weight: 700; color: var(--v2-navy-light); margin-top: 0.25rem; }
.v2 .lp2-profile2__num { font-size: 0.8125rem; color: var(--v2-muted); margin-top: 0.5rem; line-height: 1.7; }
@media (min-width: 768px) { .v2 .lp2-profile2 { grid-template-columns: minmax(0, 1fr) 15rem; padding: 2rem 2.5rem; gap: 2rem; } }
.v2 .lp2-sidebox { background: var(--v2-band); color: #fff; border-radius: var(--v2-r-card); padding: 1.25rem; text-align: center; }
.v2 .lp2-sidebox__label { font-size: 0.8125rem; color: rgba(255, 255, 255, 0.88); margin-top: 0.375rem; line-height: 1.6; }
.v2 .lp2-sidebox__label .lp2-muted { color: rgba(255, 255, 255, 0.76); font-size: 0.75rem; }
.v2 .lp2-sidebox__num { font-family: var(--v2-serif); font-weight: 800; font-size: 2.25rem; line-height: 1.15; color: var(--v2-gold); font-variant-numeric: lining-nums; }
.v2 .lp2-sidebox__num small { font-size: 0.45em; color: #fff; margin-left: 0.125rem; }
.v2 .lp2-sidebox .v2-btn { margin-top: 0.875rem; }
.v2 .lp2-sidebox--row { margin-top: 1rem; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; padding: 1rem 0.75rem; }
.v2 .lp2-sidebox--row > div + div { border-left: 1px solid var(--v2-inverse-line); }

/* ---------- 料金：箱・表 ---------- */
.v2 .lp2-pricecards { display: grid; gap: var(--v2-gap); align-items: start; }
.v2 .lp2-pricecard { padding: 1.25rem; overflow: hidden; }
.v2 .lp2-pricecard__head { font-family: var(--v2-serif); font-weight: 800; font-size: 1.25rem; line-height: 1.5; color: var(--v2-heading); text-align: center; }
.v2 .lp2-pricecard__head small { display: block; font-family: var(--v2-sans); font-size: 0.8125rem; font-weight: 500; color: var(--v2-muted); }
.v2 .lp2-pricecard__sub { text-align: center; font-size: 0.8125rem; color: var(--v2-muted); margin: 0.25rem 0 0.75rem; line-height: 1.6; }
.v2 .lp2-pricecard__strong { margin-top: 0.75rem; font-size: 0.875rem; font-weight: 700; color: var(--v2-gold-text); line-height: 1.7; }
.v2 .lp2-pricecard__strong small { font-weight: 500; }
.v2 .lp2-pricecard--navy { padding: 0; }
.v2 .lp2-pricecard--navy .lp2-pricecard__head { background: var(--v2-navy); color: #fff; padding: 0.875rem 1rem; }
.v2 .lp2-pricecard--navy .lp2-pricecard__head small { color: rgba(255, 255, 255, 0.82); }
@media (min-width: 768px) {
  .v2 .lp2-pricecards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .v2 .lp2-pricecard { padding: 1.5rem; }
  .v2 .lp2-pricecard--navy { padding: 0; }
}
/* 項目名の長い料金表（不動産譲渡）は、2枚並べると項目名が1〜2字だけ次の行に落ちるので、タブレット幅では1列にする */
@media (min-width: 768px) and (max-width: 1023px) { .v2 .lp2-pricecards--wide { grid-template-columns: minmax(0, 1fr); max-width: 40rem; margin-inline: auto; } }
/* 不動産売却：左の長い料金の箱の横で、右の短い箱の下が空かないように、基本料金の説明を右の列に置く（パソコン幅。スマホ・タブレットは箱の下） */
.v2 .lp2-pricecards__aside .lp2-callout { margin: 0; }
@media (min-width: 1024px) {
  .v2 .lp2-pricecards--wide { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: auto 1fr; }
  .v2 .lp2-pricecards--wide > :first-child { grid-row: span 2; }
  .v2 .lp2-pricecards--wide > .lp2-pricecards__aside { grid-column: 2; align-self: start; }
}
/* 代表の紹介：写真の列を文章の列と同じ高さまで伸ばし、写真の下に空白を残さない */
@media (min-width: 1024px) {
  .v2 .v2-profile { align-items: stretch; }
  .v2 .v2-profile__photo { display: flex; flex-direction: column; }
  .v2 .v2-profile__photo img { flex: 1 1 auto; height: 100%; min-height: 18rem; aspect-ratio: auto; object-fit: cover; object-position: 50% 30%; }
}

.v2 .lp2-table-wrap { background: #fff; border: 1px solid var(--v2-border); border-radius: var(--v2-r-card); box-shadow: var(--v2-sh-card); overflow-x: auto; max-width: 55rem; margin: 0 auto; }   /* 万一収まらないときも中身を隠さない */
.v2 .lp2-table-wrap + .lp2-table-wrap { margin-top: 1.25rem; }
.v2 .v2-table.lp2-table { margin: 0; }
.v2 .lp2-table th, .v2 .lp2-table td { padding: 0.75rem 1rem; }
.v2 .lp2-table td strong { color: var(--v2-heading); }
.v2 .lp2-table td small { font-size: 0.8125rem; }
.v2 .lp2-table td:last-child { white-space: normal; }   /* 金額は .lp2-nw で守り、「（税込…）」の前でだけ折り返せるようにする（v2.css は 421px 以上で折り返さない） */
.v2 .lp2-table:not(.lp2-rtable) th:last-child { text-align: right; }   /* 右寄せの金額の列は、見出しも右に寄せる */
.v2 .lp2-table tr.lp2-tr-note td { white-space: normal; text-align: left; font-size: 0.8125rem; font-weight: 700; color: var(--v2-gold-text); background: var(--v2-gold-pale); }
.v2 .lp2-table td.lp2-nowrap { white-space: nowrap; font-weight: 700; color: var(--v2-heading); text-align: right; }
.v2 .lp2-table .lp2-warntext { color: var(--lp2-error); font-weight: 700; }
.v2 .lp2-ptable td:first-child { font-weight: 500; }
.v2 .lp2-ptable td:last-child { font-family: var(--v2-serif); font-weight: 800; color: var(--v2-heading); font-size: 1.0625rem; }
.v2 .lp2-ptable td small { font-family: var(--v2-sans); font-size: 0.75rem; font-weight: 500; color: var(--v2-muted); }
.v2 .lp2-pricecard .v2-table { font-size: 0.875rem; }
.v2 .lp2-pricecard .lp2-table th, .v2 .lp2-pricecard .lp2-table td { padding: 0.625rem 0.75rem; }
.v2 .lp2-rtable td:last-child { white-space: normal; text-align: left; font-weight: 400; }
.v2 .lp2-rtable td:first-child { font-weight: 700; color: var(--v2-heading); }
.v2 .lp2-quick td:not(:first-child), .v2 .lp2-quick th:not(:first-child) { text-align: center; white-space: nowrap; }
.v2 .lp2-quick td small { color: var(--v2-muted); }
.v2 .lp2-compare-table { font-size: 0.875rem; }
.v2 .lp2-compare-table td:first-child { white-space: nowrap; }
@media (min-width: 768px) { .v2 .lp2-table th { white-space: nowrap; } .v2 .lp2-compare-table th { white-space: normal; } }   /* 比較の表は見出しの文が長いので折り返す */
/* 列が多い表は、スマホでは1行を1枚のカードにして縦に積む（見出しは data-label で各値の上に出す） */
@media (max-width: 767px) {
  .v2 .lp2-rtable thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .v2 .lp2-rtable, .v2 .lp2-rtable tbody, .v2 .lp2-rtable tr, .v2 .lp2-rtable td { display: block; width: 100%; }
  .v2 .lp2-rtable tr { padding: 0.75rem 0; border-bottom: 1px solid var(--v2-border); }
  .v2 .lp2-rtable tr:last-child { border-bottom: 0; }
  .v2 .lp2-table.lp2-rtable td, .v2 .lp2-table.lp2-rtable tbody tr:nth-child(even) td { border: 0; padding: 0.25rem 1rem; text-align: left; white-space: normal; background: none; }
  .v2 .lp2-table.lp2-rtable td:first-child { font-size: 1rem; padding-bottom: 0.375rem; }
  .v2 .lp2-rtable td[data-label]::before { content: attr(data-label); display: block; font-size: 0.75rem; font-weight: 500; color: var(--v2-muted); line-height: 1.5; }
  .v2 .lp2-rtable td.lp2-nowrap { white-space: normal; }
  .v2 .lp2-compare-table.lp2-rtable td:first-child { white-space: normal; }
  /* 値の短い表（融資の早見表・暴落の表）は、見出しを左・値を右の1行にする */
  .v2 .lp2-quick.lp2-rtable td[data-label] { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; text-align: right; }
  .v2 .lp2-quick.lp2-rtable td[data-label]::before { flex: none; text-align: left; font-size: 0.8125rem; }
  .v2 .lp2-quick.lp2-rtable .lp2-v br { display: none; }
  .v2 .lp2-quick.lp2-rtable td small { margin-left: 0.25rem; }
}
/* 7列の早見表（融資）・5列の比較表（退職金）は、タブレット幅にも収まらないので 1023px まで同じ形にする（lp2-rtable--tb） */
@media (min-width: 768px) and (max-width: 1023px) {
  .v2 .lp2-rtable--tb thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .v2 .lp2-rtable--tb, .v2 .lp2-rtable--tb tbody, .v2 .lp2-rtable--tb tr, .v2 .lp2-rtable--tb td { display: block; width: 100%; }
  .v2 .lp2-rtable--tb tr { padding: 0.75rem 0; border-bottom: 1px solid var(--v2-border); }
  .v2 .lp2-rtable--tb tr:last-child { border-bottom: 0; }
  .v2 .lp2-table.lp2-rtable--tb td, .v2 .lp2-table.lp2-rtable--tb tbody tr:nth-child(even) td { border: 0; padding: 0.25rem 1.25rem; text-align: left; white-space: normal; background: none; }
  .v2 .lp2-table.lp2-rtable--tb td:first-child { font-size: 1rem; padding-bottom: 0.375rem; }
  .v2 .lp2-rtable--tb td[data-label]::before { content: attr(data-label); display: block; font-size: 0.75rem; font-weight: 500; color: var(--v2-muted); line-height: 1.5; }
  .v2 .lp2-rtable--tb td.lp2-nowrap { white-space: normal; }
  .v2 .lp2-compare-table.lp2-rtable--tb td:first-child { white-space: normal; }
  /* 値の短い表（融資の早見表・暴落の表）は、見出しを左・値を右の1行にする */
  .v2 .lp2-quick.lp2-rtable--tb td[data-label] { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; text-align: right; }
  .v2 .lp2-quick.lp2-rtable--tb td[data-label]::before { flex: none; text-align: left; font-size: 0.8125rem; }
  .v2 .lp2-quick.lp2-rtable--tb .lp2-v br { display: none; }
  .v2 .lp2-quick.lp2-rtable--tb td small { margin-left: 0.25rem; }
}
/* 早見表（融資）はタブレット幅で、プランごとの縦の列を2つ並べる（見出しと値が離れすぎないように） */
@media (min-width: 768px) and (max-width: 1023px) {
  .v2 .lp2-quick.lp2-rtable--tb tbody { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .v2 .lp2-quick.lp2-rtable--tb tr { border-bottom: 0; }
  .v2 .lp2-quick.lp2-rtable--tb tr + tr { border-left: 1px solid var(--v2-border); }
}
.v2 .lp2-nw, .v2 .lp2-table .taxin { white-space: nowrap; }
/* スマホ幅の料金表：項目名の最後の1字だけが次の行に落ちないよう、項目名と税込の文字を少し小さくする */
@media (max-width: 420px) { .v2 .lp2-table:not(.lp2-rtable) td:first-child { font-size: 0.8125rem; } .v2 .lp2-table .taxin { font-size: 0.75rem; } }
@media (min-width: 361px) and (max-width: 420px) { .v2 .lp2-table:not(.lp2-rtable) th, .v2 .lp2-table:not(.lp2-rtable) td { padding-left: 0.75rem; padding-right: 0.75rem; } }
@media (max-width: 360px) { .v2 .lp2-table th, .v2 .lp2-table td { padding-left: 0.625rem; padding-right: 0.625rem; } .v2 .lp2-goldbox { padding-left: 1rem; padding-right: 1rem; } }

/* 割引の帯・期限の割増（不動産売却） */
.v2 .lp2-offer { max-width: 55rem; margin: 1.5rem auto 0; background: var(--v2-band); color: #fff; border-radius: var(--v2-r-card); padding: 1.25rem 1.5rem; text-align: center; box-shadow: var(--v2-sh-panel); }
.v2 .lp2-offer__chip { display: inline-block; background: var(--v2-gold); color: var(--v2-heading); font-weight: 700; font-size: 0.875rem; border-radius: 999px; padding: 0.125rem 1rem; }
.v2 .lp2-offer__text { margin-top: 0.625rem; line-height: 1.85; }
.v2 .lp2-offer__text strong { color: var(--v2-gold); }
.v2 .lp2-deadline { max-width: 40rem; margin: 0 auto; padding: 0.25rem 1.25rem; }
.v2 .lp2-deadline__row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 3.5rem; border-bottom: 1px solid var(--v2-border); }
.v2 .lp2-deadline__row:last-child { border-bottom: 0; }
.v2 .lp2-deadline__label { font-weight: 500; }
.v2 .lp2-deadline__pct { font-family: var(--v2-serif); font-weight: 800; font-size: 1.625rem; color: var(--v2-heading); white-space: nowrap; font-variant-numeric: lining-nums; }
.v2 .lp2-deadline__pct small { font-size: 0.6em; margin-left: 0.0625rem; }
.v2 .lp2-deadline__pct.is-normal { font-family: var(--v2-sans); font-size: 0.9375rem; font-weight: 500; color: var(--v2-muted); }
.v2 .lp2-deadline + .v2-note strong { color: var(--v2-heading); }

/* 60秒見積りの看板（カード全体がリンク） */
.v2 a.lp2-est { color: #fff; transition: box-shadow .18s ease-out; }
.v2 a.lp2-est:hover, .v2 a.lp2-est:focus-visible { color: #fff; box-shadow: var(--v2-sh-hover); }
.v2 a.lp2-est:hover .v2-btn--orange { background: var(--v2-orange-hover); }
.v2 .lp2-est__lead { font-family: var(--v2-serif); font-weight: 800; font-size: 1.25rem; line-height: 1.5; color: #fff; }
.v2 .lp2-est__lead-sub { margin-bottom: 0.875rem; }
.v2 .lp2-est__notice { margin: 0 0 0.5rem; }
.v2 .lp2-est__notice strong { color: var(--v2-gold); }
.v2 .v2-head + .lp2-est { margin-top: 0; }
.v2 .lp2-estblock { margin-top: 3rem; }   /* 料金の区画の中の「先に料金を確認したい方はこちら」（不動産売却） */
.v2 .lp2-estblock .lp2-subtitle { margin-top: 0; }
.v2 .lp2-estblock .lp2-after { margin: 0 auto 1.25rem; }
.v2 .lp2-table-wrap ~ .lp2-est, .v2 .v2-note + .lp2-est { margin-top: 2rem; }

/* ---------- 流れ ----------
   番号は元の「STEP 01」などの文字で出すので、v2.css の丸い番号（counter）は隠す */
.v2 .lp2-flow .v2-step::before { display: none; }
.v2 .lp2-flow .v2-step { grid-template-columns: minmax(0, 1fr) 4.5rem; column-gap: 1rem; padding: 1rem 1.25rem; }
.v2 .lp2-flow .v2-step > * { grid-column: 1; }
.v2 .lp2-flow .v2-step__circle { grid-column: 2; grid-row: 1 / span 5; align-self: center; }
.v2 .lp2-step__num { font-family: var(--v2-serif); font-style: italic; font-weight: 500; font-size: 0.9375rem; letter-spacing: 0.06em; line-height: 1.4; color: var(--v2-gold-strong); }
.v2 .lp2-step__tag { justify-self: start; display: inline-block; margin-top: 0.5rem; font-size: 0.75rem; font-weight: 700; color: var(--v2-gold-text); background: #fff; border: 1px solid var(--v2-gold-strong); border-radius: 999px; padding: 0 0.625rem; line-height: 1.7; }
.v2 .lp2-flow--inverse .v2-step { background: rgba(255, 255, 255, 0.06); border-color: var(--v2-inverse-line); }
.v2 .lp2-flow--inverse .v2-step__name { color: #fff; }
.v2 .lp2-flow--inverse .v2-step__text { color: rgba(255, 255, 255, 0.86); }
.v2 .lp2-flow--inverse .v2-step__circle { background: transparent; border-color: var(--v2-gold); }
.v2 .lp2-flow--inverse .lp2-step__num { color: var(--v2-gold); }
@media (min-width: 1024px) {
  .v2 .lp2-flow { gap: 1.5rem 3rem; }
  .v2 .lp2-flow--n3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .v2 .lp2-flow--n4 { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.5rem 2.25rem; }
  .v2 .lp2-flow .v2-step { display: flex; flex-direction: column; align-items: center; text-align: center; background: #fff; border: 1px solid var(--v2-border); border-radius: var(--v2-r-card); box-shadow: var(--v2-sh-card); padding: 1.5rem 1.25rem; }
  .v2 .lp2-flow--inverse .v2-step { background: rgba(255, 255, 255, 0.06); border-color: var(--v2-inverse-line); box-shadow: none; }
  .v2 .lp2-flow .v2-step__circle { width: 5rem; height: 5rem; margin: 0 auto 0.75rem; }
  .v2 .lp2-flow .v2-step__name { margin-top: 0.25rem; }
  .v2 .lp2-flow .v2-step__text { align-self: stretch; text-align: left; }
  .v2 .lp2-flow .lp2-step__tag { justify-self: auto; margin-top: auto; padding-top: 0; }
  .v2 .lp2-flow .v2-step__text + .lp2-step__tag { margin-top: 0.75rem; }
  .v2 .lp2-flow .v2-step::after { content: ""; display: block; position: absolute; top: 50%; right: -2.125rem; left: auto; bottom: auto; width: 1.25rem; height: 1.25rem; transform: translateY(-50%); border: 0; background: var(--v2-gold-strong); -webkit-mask: var(--v2-i-arrow) center / contain no-repeat; mask: var(--v2-i-arrow) center / contain no-repeat; }
  .v2 .lp2-flow--n4 .v2-step::after { right: -1.75rem; }
  .v2 .lp2-flow .v2-step:last-child::after { display: none; }
  .v2 .lp2-flow--inverse .v2-step::after { background: var(--v2-gold); }
}

/* ---------- 悩みと解決の2つの箱（v2-compare の足し） ---------- */
.v2 .lp2-compare__box--ng li::after { -webkit-mask-image: var(--lp2-i-x); mask-image: var(--lp2-i-x); }
.v2 .lp2-compare li strong { color: var(--v2-heading); }

/* ---------- 自己診断ナビゲーター（確定申告） ---------- */
.v2 .lp2-diag { display: grid; gap: var(--v2-gap); }
.v2 .lp2-diag__item { display: grid; grid-template-columns: 3.5rem minmax(0, 1fr) 1.25rem; grid-template-rows: auto auto; column-gap: 0.875rem; align-items: center; align-content: center; min-height: 5.5rem; padding: 1rem 1.25rem; color: var(--v2-heading); transition: box-shadow .18s ease-out, border-color .18s ease-out; }
.v2 .lp2-diag__item:hover, .v2 .lp2-diag__item:focus-visible { color: var(--v2-heading); border-color: var(--v2-blue); box-shadow: var(--v2-sh-hover); }
.v2 .lp2-diag__item::after { content: ""; grid-column: 3; grid-row: 1 / span 2; width: 1.25rem; height: 1.25rem; background: var(--v2-navy); -webkit-mask: var(--v2-i-arrow) center / contain no-repeat; mask: var(--v2-i-arrow) center / contain no-repeat; }
.v2 .lp2-diag__icon { grid-column: 1; grid-row: 1 / span 2; width: 3.5rem; height: 3.5rem; font-size: 1.25rem; object-fit: contain; }
.v2 .lp2-diag__num { grid-column: 2; font-family: var(--v2-serif); font-style: italic; font-weight: 500; font-size: 0.9375rem; line-height: 1.3; color: var(--v2-gold-strong); }
.v2 .lp2-diag__label { grid-column: 2; font-weight: 700; font-size: 1.0625rem; line-height: 1.45; }
@media (min-width: 480px) { .v2 .lp2-diag { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .v2 .lp2-diag { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* カテゴリ別の詳細情報・料金（確定申告） */
.v2 .lp2-catcards { display: grid; gap: var(--v2-gap); max-width: 60rem; margin: 0 auto; }
.v2 .lp2-catcard { display: flex; flex-direction: column; overflow: hidden; color: var(--v2-text); scroll-margin-top: 88px; transition: box-shadow .18s ease-out, transform .18s ease-out; }
.v2 .lp2-catcard:hover, .v2 .lp2-catcard:focus-visible { color: var(--v2-text); box-shadow: var(--v2-sh-hover); transform: translateY(-2px); }
.v2 .lp2-catcard__photo { display: block; aspect-ratio: 16 / 7; background: var(--v2-pale) center / cover no-repeat; }
.v2 .lp2-catcard__icon { display: grid; place-items: center; padding: 1.25rem 1rem; background: var(--v2-pale-light); border-bottom: 1px solid var(--v2-border); }   /* 入口アイコン（e-*：金の線＋淡い塗り） */
.v2 .lp2-catcard__icon img { width: 6.5rem; height: 6.5rem; object-fit: contain; }
.v2 .lp2-catcard__icon .v2-ico { width: 5rem; height: 5rem; font-size: 2rem; }
.v2 .lp2-catcard__body { display: flex; flex-direction: column; flex: 1; padding: 1.25rem; }
.v2 .lp2-catcard__tag { align-self: flex-start; font-size: 0.75rem; font-weight: 700; color: #fff; background: var(--v2-navy); border-radius: 999px; padding: 0.0625rem 0.75rem; }
.v2 .lp2-catcard__title { font-family: var(--v2-serif); font-weight: 800; font-size: 1.25rem; line-height: 1.5; margin-top: 0.625rem; }
.v2 .lp2-catcard__text { font-size: 0.9375rem; line-height: 1.8; margin: 0.375rem 0 0.875rem; }
.v2 .lp2-catcard__price { margin-top: auto; padding-top: 0.75rem; border-top: 1px solid var(--v2-gold); font-size: 0.875rem; font-weight: 500; }
.v2 .lp2-catcard__price strong { font-family: var(--v2-serif); font-weight: 800; font-size: 1.5rem; color: var(--v2-heading); font-variant-numeric: lining-nums; }
.v2 .lp2-catcard__price small { display: block; font-size: 0.75rem; font-weight: 400; color: var(--v2-muted); line-height: 1.6; }
@media (min-width: 768px) { .v2 .lp2-catcards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* 所得別・お悩みと解決策（確定申告） */
.v2 .lp2-nayami { display: grid; gap: var(--v2-gap); }
.v2 .lp2-nayami__item { padding: 1.25rem; scroll-margin-top: 88px; }
.v2 .lp2-nayami__head { display: grid; grid-template-columns: 3.5rem minmax(0, 1fr); column-gap: 0.875rem; align-items: center; padding-bottom: 0.75rem; margin-bottom: 0.75rem; border-bottom: 1px solid var(--v2-border); }
.v2 .lp2-nayami__icon { grid-row: 1 / span 2; width: 3.5rem; height: 3.5rem; font-size: 1.25rem; object-fit: contain; }
.v2 .lp2-nayami__num { font-family: var(--v2-serif); font-style: italic; font-weight: 500; color: var(--v2-gold-strong); line-height: 1.2; }
.v2 .lp2-nayami__title { font-family: var(--v2-serif); font-weight: 800; font-size: 1.25rem; line-height: 1.4; }
.v2 .lp2-nayami__label { font-size: 0.8125rem; font-weight: 700; color: var(--v2-muted); letter-spacing: 0.04em; }
.v2 .lp2-nayami__solve { margin-top: 1rem; background: var(--v2-pale-light); border-radius: var(--v2-r-btn); padding: 0.875rem 1rem; }
.v2 .lp2-nayami__label--solve { color: var(--v2-navy); }
.v2 .lp2-nayami__solve strong { color: var(--v2-heading); }
@media (min-width: 768px) { .v2 .lp2-nayami__item { padding: 1.5rem; } }
@media (min-width: 1024px) { .v2 .lp2-nayami { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* 訴求の帯（約120万円：確定申告。文言は画像のまま） */
.v2 .lp2-banner { max-width: 55rem; margin: 0 auto; text-align: center; background: var(--v2-band); color: #fff; border: 1px solid var(--v2-gold); border-radius: var(--v2-r-photo); padding: 1.75rem 1.25rem; box-shadow: var(--v2-sh-panel); }
.v2 .lp2-banner__lead { font-family: var(--v2-serif); font-weight: 800; font-size: 1.25rem; line-height: 1.5; }
.v2 .lp2-banner__lead::after { content: ""; display: block; width: var(--v2-rule-w); height: 2px; margin: 0.75rem auto 0; background: var(--v2-gold); }
.v2 .lp2-banner__main { margin-top: 0.75rem; display: flex; flex-wrap: wrap; justify-content: center; align-items: baseline; gap: 0.25rem 0.875rem; }
.v2 .lp2-banner__label { font-family: var(--v2-serif); font-weight: 800; font-size: 1.25rem; }
.v2 .lp2-banner__num { font-family: var(--v2-serif); font-weight: 800; font-size: 2.75rem; line-height: 1.1; color: var(--v2-gold); white-space: nowrap; font-variant-numeric: lining-nums; }
.v2 .lp2-banner__note { font-size: 0.75rem; color: rgba(255, 255, 255, 0.82); margin-top: 0.5rem; }
@media (min-width: 768px) { .v2 .lp2-banner { padding: 2.25rem 2rem; } .v2 .lp2-banner__lead { font-size: 1.5rem; } .v2 .lp2-banner__label { font-size: 1.5rem; } .v2 .lp2-banner__num { font-size: 3.5rem; } }

/* ---------- 「出口」まで見通した節税設計（法人顧問）：3段 ---------- */
.v2 .lp2-steps3 { display: grid; gap: 2rem; margin-top: 2rem; }
.v2 .lp2-steps3__item { position: relative; padding: 1.5rem 1.25rem; text-align: center; }
.v2 .lp2-steps3__icon { margin: 0 auto 0.75rem; }
.v2 .lp2-steps3__item h3 { font-family: var(--v2-serif); font-weight: 800; font-size: 1.1875rem; line-height: 1.5; margin-top: 0.75rem; }
.v2 .lp2-steps3__item > p:last-child { margin-top: 0.5rem; text-align: left; font-size: 0.9375rem; line-height: 1.85; }
.v2 .lp2-steps3__item + .lp2-steps3__item::before { content: ""; position: absolute; left: 50%; top: -1.625rem; width: 1.25rem; height: 1.25rem; transform: translateX(-50%); background: var(--v2-gold-strong); -webkit-mask: var(--v2-i-down) center / contain no-repeat; mask: var(--v2-i-down) center / contain no-repeat; }
@media (min-width: 1024px) {
  .v2 .lp2-steps3 { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.75rem; }
  .v2 .lp2-steps3__item + .lp2-steps3__item::before { left: -2rem; top: 50%; transform: translateY(-50%); -webkit-mask-image: var(--v2-i-arrow); mask-image: var(--v2-i-arrow); }
}

/* ---------- 税務調査：よくある誤解・動画・制度の事実 ---------- */
.v2 .lp2-myths { display: grid; gap: 1.25rem; max-width: 60rem; margin: 0 auto; }
.v2 .lp2-myth { display: grid; gap: 1.625rem; }
.v2 .lp2-myth__q { background: var(--v2-pale-light); border: 1px solid var(--v2-border); border-radius: var(--v2-r-card); padding: 1rem 1.25rem; font-weight: 700; color: var(--v2-heading); line-height: 1.7; }
.v2 .lp2-myth__a { position: relative; background: #fff; border: 1px solid var(--v2-gold-strong); border-radius: var(--v2-r-card); padding: 1rem 1.25rem; line-height: 1.85; box-shadow: var(--v2-sh-card); }
.v2 .lp2-myth__a strong { color: var(--v2-heading); }
.v2 .lp2-myth__q { display: grid; grid-template-columns: 3.25rem minmax(0, 1fr); gap: 0.875rem; align-items: center; }
.v2 .lp2-myth__icon { width: 3.25rem; height: 3.25rem; object-fit: contain; }
.v2 .lp2-myth__q .v2-ico.lp2-myth__icon { width: 3rem; height: 3rem; font-size: 1.125rem; }
.v2 .lp2-myth__a::before { content: ""; position: absolute; left: 50%; top: -1.5rem; width: 1.25rem; height: 1.25rem; transform: translateX(-50%); background: var(--v2-gold-strong); -webkit-mask: var(--v2-i-down) center / contain no-repeat; mask: var(--v2-i-down) center / contain no-repeat; }
@media (min-width: 768px) {
  .v2 .lp2-myth { grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr); gap: 2.75rem; align-items: center; }
  .v2 .lp2-myth__a::before { left: -2rem; top: 50%; transform: translateY(-50%); -webkit-mask-image: var(--v2-i-arrow); mask-image: var(--v2-i-arrow); }
}
.v2 .lp2-video { max-width: 45rem; margin: 0 auto; }
.v2 .lp2-video__lead { padding: 1.25rem 1.5rem; line-height: 1.9; }
.v2 .lp2-video__lead strong { color: var(--v2-heading); }
.v2 .lp2-video__frame { position: relative; aspect-ratio: 16 / 9; margin-top: 1rem; border-radius: var(--v2-r-card); overflow: hidden; box-shadow: var(--v2-sh-panel); background: var(--v2-navy-deep); }
.v2 .lp2-video__frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* ---------- 白い箱・紺の箱（共通） ---------- */
.v2 .lp2-panel { max-width: 45rem; margin: 1.5rem auto 0; padding: 1.25rem; line-height: 1.9; }
.v2 .lp2-panel p + p { margin-top: 0.75rem; }
.v2 .lp2-panel strong { color: var(--v2-heading); }
.v2 .lp2-panel__title { font-family: var(--v2-serif); font-weight: 800; font-size: 1.25rem; line-height: 1.55; color: var(--v2-heading); margin-bottom: 0.75rem; }
.v2 .lp2-panel .v2-btns--center { margin-top: 1.5rem; }
.v2 .lp2-panel--navy { background: var(--v2-band); color: #fff; border: 1px solid var(--v2-gold); border-radius: var(--v2-r-card); box-shadow: var(--v2-sh-panel); }
.v2 .lp2-panel--navy .lp2-panel__title { color: #fff; }
.v2 .lp2-panel--navy strong { color: var(--v2-gold); }
.v2 .lp2-panel--navy p { color: rgba(255, 255, 255, 0.94); }
.v2 .lp2-panel--navy .lp2-pill { margin-bottom: 0.625rem; }
.v2 .lp2-panel__label { font-size: 0.8125rem; font-weight: 700; margin-top: 1rem; }
.v2 .lp2-panel__note { font-size: 0.75rem; opacity: 0.8; }
@media (min-width: 768px) { .v2 .lp2-panel { padding: 1.75rem 2rem; } }

/* 金の枠の箱（退職金：別料金なし／保険：証券の無料チェック） */
.v2 .lp2-goldbox { max-width: 55rem; margin: 0 auto; padding: 1.5rem 1.25rem; border: 1px solid var(--v2-gold-strong); box-shadow: var(--v2-sh-hover); line-height: 1.9; }
.v2 .lp2-goldbox__icon { display: grid; margin: 0 auto 0.75rem; }
.v2 .lp2-goldbox__title { font-family: var(--v2-serif); font-weight: 800; font-size: 1.5rem; line-height: 1.5; color: var(--v2-heading); text-align: center; margin-bottom: 1rem; }
.v2 .lp2-goldbox__title::after { content: ""; display: block; width: var(--v2-rule-w); height: 2px; margin: var(--v2-rule-gap) auto 0; background: var(--v2-gold); }
.v2 .lp2-goldbox > p + p { margin-top: 0.875rem; }
.v2 .lp2-goldbox > .v2-table { margin: 1.25rem 0 0; border: 1px solid var(--v2-border); }
.v2 .lp2-goldbox strong { color: var(--v2-heading); }
.v2 .lp2-goldbox--row { display: grid; gap: 1rem; align-items: center; }
.v2 .lp2-goldbox--row .lp2-goldbox__title { margin-bottom: 0.5rem; }
.v2 .lp2-goldbox--row .lp2-goldbox__cta .v2-btn { width: 100%; }
@media (min-width: 768px) { .v2 .lp2-goldbox { padding: 2rem 2.5rem; } .v2 .lp2-goldbox__title { font-size: 1.875rem; } }
.v2 .lp2-goldbox--row { max-width: none; }
@media (min-width: 1024px) {
  .v2 .lp2-goldbox--row { grid-template-columns: 5rem minmax(0, 1fr) 19rem; gap: 2rem; }
  .v2 .lp2-goldbox--row .lp2-goldbox__icon { margin: 0; }
  .v2 .lp2-goldbox--row .lp2-goldbox__title { text-align: left; font-size: 1.5rem; }
  .v2 .lp2-goldbox--row .lp2-goldbox__title::after { margin-left: 0; }
  .v2 .lp2-goldbox--row .lp2-goldbox__cta .v2-btn { width: auto; min-width: 0; }
}

/* ---------- 役員退職金：担当・モデルケース・3条件・保険の4つのポイント・試算・インフレ ---------- */
.v2 .lp2-staff { display: grid; grid-template-columns: 3rem minmax(0, 1fr); gap: 1rem; align-items: center; max-width: 45rem; margin: 1.5rem auto 0; padding: 1rem 1.25rem; font-size: 0.875rem; line-height: 1.8; color: var(--v2-muted); }
.v2 .lp2-staff__icon { width: 3rem; height: 3rem; font-size: 1.125rem; object-fit: contain; }
.v2 .lp2-staff a { color: var(--v2-blue); font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }
.v2 .lp2-modelcases { display: grid; gap: var(--v2-gap); }
.v2 .lp2-modelcase { padding: 1.25rem; border-top: 3px solid var(--v2-gold); }
.v2 .lp2-modelcase--warn { border-color: var(--lp2-error-line); border-top-color: var(--lp2-error); background: #FFFBFA; }
.v2 .lp2-modelcase h3 { font-family: var(--v2-serif); font-weight: 800; font-size: 1.125rem; line-height: 1.55; margin-top: 0.625rem; }
.v2 .lp2-modelcase dl { margin: 0.5rem 0 0; font-size: 0.875rem; line-height: 1.8; }
.v2 .lp2-modelcase dt { font-weight: 700; color: var(--v2-muted); font-size: 0.8125rem; margin-top: 0.75rem; padding-top: 0.5rem; border-top: 1px dashed var(--v2-border-strong); }
.v2 .lp2-modelcase dd { margin: 0.125rem 0 0; }
.v2 .lp2-modelcase dd strong { color: var(--v2-heading); }
@media (min-width: 1024px) { .v2 .lp2-modelcases { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.v2 .lp2-cond { display: grid; gap: 1.5rem var(--v2-gap); }
.v2 .lp2-cond__item { position: relative; padding: 1.75rem 1.25rem 1.25rem; text-align: center; }
.v2 .lp2-cond__num { position: absolute; left: 1rem; top: -0.875rem; width: 2.25rem; height: 2.25rem; border-radius: 50%; background: var(--v2-gold); color: var(--v2-heading); font-family: var(--v2-serif); font-weight: 800; font-size: 0.9375rem; display: grid; place-items: center; }
.v2 .lp2-cond__icon { display: grid; margin: 0 auto 0.75rem; }
.v2 .lp2-cond__item h3 { font-family: var(--v2-serif); font-weight: 800; font-size: 1.25rem; line-height: 1.5; }
.v2 .lp2-cond__item p { margin-top: 0.5rem; font-size: 0.875rem; color: var(--v2-muted); }
@media (min-width: 768px) { .v2 .lp2-cond { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.v2 .lp2-point__num { font-family: var(--v2-serif); font-style: italic; font-weight: 500; font-size: 0.9375rem; letter-spacing: 0.06em; color: var(--v2-gold-strong); margin-bottom: 0.25rem; }
.v2 .lp2-example2 { max-width: 48rem; margin: 2rem auto 0; }
.v2 .lp2-example2 .lp2-panel { margin-top: 0; max-width: none; }
.v2 .lp2-example2 .lp2-panel + .lp2-panel { margin-top: 1rem; }
.v2 .lp2-bignum { font-family: var(--v2-serif); font-weight: 800; font-size: 2.25rem; line-height: 1.2; color: var(--v2-gold); margin: 0.25rem 0 0.5rem; font-variant-numeric: lining-nums; }
.v2 .lp2-bignum__sub { display: inline-block; font-size: 0.42em; color: rgba(255, 255, 255, 0.9); margin-left: 0.5rem; }
.v2 .lp2-chart { margin-top: 0.75rem; }
.v2 .lp2-chart svg { width: 100%; height: auto; display: block; }
.v2 .lp2-chart--navy { background: var(--v2-band); border-radius: var(--v2-r-card); padding: 0.75rem; }
.v2 .lp2-panel--navy .tk-bar-row { margin-top: 0.75rem; }
.v2 .lp2-stats3 { display: grid; gap: var(--v2-gap); margin-top: 1.25rem; }
.v2 .lp2-stat { padding: 1.25rem 1rem; text-align: center; }
.v2 .lp2-stat__label { font-size: 0.8125rem; color: var(--v2-muted); }
.v2 .lp2-stat__num { font-family: var(--v2-serif); font-weight: 800; font-size: 1.875rem; line-height: 1.3; margin-top: 0.25rem; color: var(--v2-heading); font-variant-numeric: lining-nums; }
.v2 .lp2-stat__num.is-down { color: var(--lp2-error); }
.v2 .lp2-stat__note { font-size: 0.75rem; color: var(--v2-muted); margin-top: 0.5rem; line-height: 1.7; }
.v2 .lp2-warn { margin-top: 1.25rem; background: var(--lp2-error-bg); border: 1px solid var(--lp2-error-line); border-radius: var(--v2-r-card); padding: 1rem 1.25rem; line-height: 1.9; }
.v2 .lp2-warn strong { color: var(--v2-heading); }
@media (min-width: 768px) { .v2 .lp2-stats3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } .v2 .lp2-bignum { font-size: 2.75rem; } }

/* 退職金の適正額シミュレーター：動き（id・クラス・is-active の切り替え）はそのまま、見た目だけ v2 に寄せる */
.v2 .tk-sim { max-width: 52rem; margin: 0 auto; background: #fff; border: 1px solid var(--v2-border); border-radius: var(--v2-r-card); box-shadow: var(--v2-sh-panel); padding: 1.25rem; }
.v2 .tk-sim__grid { gap: 1.5rem 1.5rem; margin-bottom: 1.5rem; }
.v2 .tk-sim__field label { font-size: 1rem; font-weight: 700; color: var(--v2-heading); margin-bottom: 0.5rem; line-height: 1.5; }
.v2 .tk-sim__field label span { font-size: 0.8125rem; }
.v2 .tk-sim__field input { min-height: 3.5rem; border: 1px solid var(--v2-input-border); border-radius: var(--v2-r-btn); padding: 0.5rem 1rem; font-size: 1rem; color: var(--v2-text); }
.v2 .tk-sim__field input:focus-visible { outline: 3px solid var(--v2-blue); outline-offset: 2px; border-color: var(--v2-blue); box-shadow: none; }
.v2 .tk-sim__field small { font-size: 0.75rem; color: var(--v2-muted); line-height: 1.6; margin-top: 0.375rem; }
.v2 .tk-sim__btn { min-height: 3.5rem; background: var(--v2-orange); color: var(--v2-heading); border-radius: var(--v2-r-btn); font-size: 1.0625rem; font-weight: 700; box-shadow: var(--v2-sh-btn); }
.v2 .tk-sim__btn:hover { background: var(--v2-orange-hover); filter: none; }
.v2 .tk-sim__err { color: var(--lp2-error); font-size: 0.8125rem; }
.v2 .tk-sim__result { border-top: 1px solid var(--v2-gold); }
.v2 .tk-sim__result-row { gap: 1rem; border-bottom: 1px solid var(--v2-border); padding: 0.625rem 0; }
.v2 .tk-sim__result-row .label { font-size: 0.875rem; color: var(--v2-muted); }
.v2 .tk-sim__result-row .value { font-family: var(--v2-serif); font-weight: 800; color: var(--v2-heading); white-space: nowrap; }
.v2 .tk-sim__result-row.is-main .value { color: var(--v2-heading); font-size: 1.875rem; }
.v2 .tk-sim__note { font-size: 0.75rem; color: var(--v2-muted); line-height: 1.8; }
@media (min-width: 768px) { .v2 .tk-sim { padding: 2rem 2.25rem; } }
@media (max-width: 767px) { .v2 .tk-sim__grid { grid-template-columns: 1fr; } }

/* ---------- 保険：3本柱・効果の例・運用の横長カード ---------- */
.v2 .lp2-cards { display: grid; gap: var(--v2-gap); }
.v2 .lp2-card { display: flex; flex-direction: column; padding: 1.25rem; }
.v2 .lp2-card--gold { border-top: 3px solid var(--v2-gold); }
.v2 .lp2-card h3 { font-family: var(--v2-serif); font-weight: 800; font-size: 1.25rem; line-height: 1.5; color: var(--v2-heading); }
.v2 .lp2-card > p { margin-top: 0.625rem; font-size: 0.9375rem; line-height: 1.85; }
.v2 .lp2-card strong { color: var(--v2-heading); }
.v2 .lp2-card__icon { display: grid; margin: 0 auto 0.5rem; }
.v2 .lp2-card__num { font-family: var(--v2-serif); font-style: italic; font-weight: 500; font-size: 0.9375rem; color: var(--v2-gold-strong); text-align: center; }
.v2 .lp2-card--gold h3 { text-align: center; }
.v2 .lp2-card > .v2-btn { margin-top: auto; align-self: flex-start; }
.v2 .lp2-card > p + .v2-btn { margin-top: 1rem; }
@media (min-width: 768px) { .v2 .lp2-cards--2x2, .v2 .lp2-cards--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .v2 .lp2-card { padding: 1.5rem; } }
@media (min-width: 1024px) { .v2 .lp2-cards--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.v2 .lp2-examples .lp2-example { color: var(--v2-text); }
.v2 .lp2-examples .lp2-example .lp2-pill { align-self: flex-start; }
.v2 .lp2-example--warn { border-top: 3px solid var(--lp2-error); }
.v2 .lp2-rows { display: grid; gap: var(--v2-gap); counter-reset: lp2row; }
.v2 .lp2-row { counter-increment: lp2row; padding: 1.25rem; line-height: 1.85; }
.v2 .lp2-row > * + * { margin-top: 0.875rem; }
.v2 .lp2-row__pill { justify-self: start; }
.v2 .lp2-row__title { position: relative; display: flex; align-items: center; min-height: 2.25rem; padding-left: 3rem; font-family: var(--v2-serif); font-weight: 800; font-size: 1.25rem; line-height: 1.5; color: var(--v2-heading); }
.v2 .lp2-row__title::before { content: counter(lp2row, decimal-leading-zero); position: absolute; left: 0; top: 0; width: 2.25rem; height: 2.25rem; border-radius: 50%; background: linear-gradient(135deg, #DCC38A 0%, var(--v2-gold-strong) 100%); color: #fff; font-family: var(--v2-serif); font-weight: 800; font-size: 0.9375rem; display: grid; place-items: center; }
.v2 .lp2-row__fig .lp2-table-wrap { max-width: none; }
.v2 .lp2-row .v2-note { margin-top: 0.75rem; }
@media (min-width: 1024px) {
  .v2 .lp2-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 0.95fr); column-gap: 2.25rem; align-items: start; padding: 1.75rem 2rem; }
  .v2 .lp2-row > * { grid-column: 1; }
  .v2 .lp2-row > .lp2-row__fig { grid-column: 2; grid-row: 1 / span 6; align-self: center; margin-top: 0; }
}

/* ---------- 融資：サービス・違いの行・記事 ---------- */
.v2 .lp2-svc__head { display: grid; grid-template-columns: 3.5rem minmax(0, 1fr); gap: 0.875rem; align-items: center; }
.v2 .lp2-svc__icon { width: 3.5rem; height: 3.5rem; font-size: 1.25rem; object-fit: contain; }
.v2 .lp2-svc h3 { font-size: 1.125rem; margin-top: 0.25rem; }
.v2 .lp2-card > .lp2-svc__for { font-size: 0.8125rem; color: var(--v2-muted); margin-top: 0.875rem; line-height: 1.7; }
.v2 .lp2-diffrows { display: grid; gap: 1.25rem; max-width: 64rem; margin: 1.75rem auto 0; }
.v2 .lp2-diffrow { display: grid; gap: 1.5rem; background: #fff; border: 1px solid var(--v2-border); border-radius: var(--v2-r-card); box-shadow: var(--v2-sh-card); padding: 1rem; }
.v2 .lp2-diffrow__label { display: flex; align-items: center; gap: 0.75rem; font-family: var(--v2-sans); font-weight: 700; font-size: 1.0625rem; line-height: 1.45; color: var(--v2-heading); }
.v2 .lp2-diffrow__icon { flex: none; width: 2.75rem; height: 2.75rem; font-size: 1rem; object-fit: contain; }
.v2 .lp2-diffrow__before, .v2 .lp2-diffrow__after { position: relative; border-radius: var(--v2-r-btn); padding: 0.75rem 1rem; font-size: 0.9375rem; line-height: 1.8; }
.v2 .lp2-diffrow__before { background: var(--v2-pale-light); border: 1px solid var(--v2-border); }
.v2 .lp2-diffrow__after { background: #fff; border: 1px solid var(--v2-gold-strong); }
.v2 .lp2-diffrow b { display: block; font-size: 0.8125rem; color: var(--v2-muted); margin-bottom: 0.125rem; }
.v2 .lp2-diffrow__after b { color: var(--v2-gold-text); }
.v2 .lp2-diffrow__after::before { content: ""; position: absolute; left: 50%; top: -1.375rem; width: 1.125rem; height: 1.125rem; transform: translateX(-50%); background: var(--v2-gold-strong); -webkit-mask: var(--v2-i-down) center / contain no-repeat; mask: var(--v2-i-down) center / contain no-repeat; }
@media (min-width: 1024px) {
  .v2 .lp2-diffrow { grid-template-columns: 13rem minmax(0, 1fr) minmax(0, 1fr); column-gap: 2.75rem; align-items: center; padding: 1rem 1.5rem; }
  .v2 .lp2-diffrow__after::before { left: -2rem; top: 50%; transform: translateY(-50%); -webkit-mask-image: var(--v2-i-arrow); mask-image: var(--v2-i-arrow); }
}
.v2 .lp2-articles { display: grid; gap: var(--v2-gap); }
.v2 .lp2-article { display: flex; flex-direction: column; padding: 1.25rem; color: var(--v2-text); transition: box-shadow .18s ease-out, transform .18s ease-out; }
.v2 .lp2-article:hover, .v2 .lp2-article:focus-visible { color: var(--v2-text); box-shadow: var(--v2-sh-hover); transform: translateY(-2px); }
.v2 .lp2-article .lp2-pill { align-self: flex-start; }
.v2 .lp2-article h3 { font-family: var(--v2-serif); font-weight: 800; font-size: 1.125rem; line-height: 1.55; color: var(--v2-heading); margin-top: 0.5rem; }
.v2 .lp2-article p { font-size: 0.875rem; color: var(--v2-muted); margin-top: 0.375rem; line-height: 1.7; }
.v2 .lp2-article--thumb { padding: 0; overflow: hidden; }
.v2 .lp2-article__thumb { display: block; aspect-ratio: 16 / 9; background: var(--v2-pale) center / cover no-repeat; }
.v2 .lp2-article__body { display: flex; flex-direction: column; padding: 1rem 1.25rem 1.25rem; }
@media (min-width: 768px) {
  .v2 .lp2-articles--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 55rem; margin: 0 auto; }
  .v2 .lp2-articles--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1024px) { .v2 .lp2-articles--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* ---------- お問い合わせ：見出しの紺の帯（締めの帯が無いページ）・注意書き ---------- */
.v2 .lp2-formsec { position: relative; scroll-margin-top: 72px; }
.v2 .lp2-formhead .v2-closing__row { margin-top: 1rem; }
.v2 .lp2-disclaimer { margin-top: 2rem; padding: 1.25rem; }
.v2 .lp2-disclaimer h3 { font-family: var(--v2-sans); font-size: 1rem; font-weight: 700; color: var(--v2-heading); margin-bottom: 0.5rem; }
.v2 .lp2-disclaimer ol { list-style: decimal; padding-left: 1.25rem; font-size: 0.8125rem; color: var(--v2-muted); line-height: 1.85; }
.v2 .lp2-disclaimer li + li { margin-top: 0.375rem; }
@media (min-width: 768px) { .v2 .lp2-disclaimer { padding: 1.5rem 2rem; } }

/* ===== 色味を足す ===== */
/* 小見出し（「よくあるお悩み」など）の下線も黄金色・3px */
.v2 .lp2-subtitle::after { height: 3px; border-radius: 2px; background: var(--v2-yellow); }
/* 金の札（「ただいま10%OFF」など）：クリームの面に黄金色の枠 */
.v2 .lp2-pill--gold { background: var(--v2-gold-pale); color: var(--v2-gold-text); border: 1px solid var(--v2-yellow-line); }
.v2 .lp2-myth__a { border-color: var(--v2-yellow-line); border-width: 1.5px; }
.v2 .lp2-myth__q { background: var(--v2-pale-light); border-color: #CFE0F4; }
/* 淡い青の段の中の淡い面は白に（背景に溶けないように） */
.v2 .v2-sec--pale .lp2-softbox, .v2 .v2-sec--pale .lp2-myth__q { background: #fff; }
/* まとめの一文（lp2-answer・lp2-after）：クリームの面に黄金色の枠 */
.v2 .lp2-answer { background: var(--v2-gold-pale); border: 1px solid var(--v2-yellow-line); border-radius: 0.875rem; padding: 0.875rem 1.25rem; }
/* 金の枠の箱・金のカードの枠を黄金色に */
.v2 .lp2-goldbox { border-color: var(--v2-yellow-line); border-width: 1.5px; background: linear-gradient(180deg, #FFFDF7 0%, #FFFFFF 100%); }
/* 白い段の上のカード（手順・カテゴリ・横長のカード）には淡い青を敷く */
.v2 .v2-sec:not(.v2-sec--pale):not(.v2-sec--navy):not(.v2-sec--band) .lp2-card:not(.lp2-card--gold):not(.lp2-example),
.v2 .v2-sec:not(.v2-sec--pale):not(.v2-sec--navy):not(.v2-sec--band) .lp2-catcard,
.v2 .v2-sec:not(.v2-sec--pale):not(.v2-sec--navy):not(.v2-sec--band) .lp2-row { background: linear-gradient(180deg, #EEF5FD 0%, #F8FBFF 100%); border-color: #D3E3F5; }

/* 最初の画面の見出し：長い見出し（--long）と白いカードの見出しも、いちばん長い行が1行に入るいちばん大きな文字に */
@media (min-width: 768px) {
  .v2 .lp2-hero__card { container-type: inline-size; }
  .v2 .v2-hero__title.lp2-hero__title--long[style*="--lp2-h1-em"] { font-size: min(3.75rem, 5.4vw, calc(100cqi / var(--lp2-h1-em) / 1.05)); }
  .v2 .lp2-hero__card .v2-hero__title[style*="--lp2-h1-em"] { font-size: min(3.5rem, 5vw, calc(100cqi / var(--lp2-h1-em) / 1.06)); line-height: 1.4; }
}
@media (min-width: 1024px) { .v2 .lp2-hero__card { padding: 1.75rem 2rem; } }

/* お悩みのカード：文は太字で大きく、強調は黄色のマーカー */
.v2 .lp2-icard__text { font-weight: 700; color: var(--v2-heading); }
.v2 .lp2-icard__text strong { background: linear-gradient(transparent 62%, var(--v2-marker) 62%); padding: 0 0.08em; }
@media (min-width: 1024px) { .v2 .lp2-icard__text { font-size: 1.125rem; line-height: 1.75; } }

/* 小見出し・カードの見出し：少し大きく（太さは明朝 800） */
@media (min-width: 1024px) {
  .v2 .lp2-subtitle { font-size: 1.625rem; }
  .v2 .lp2-card h3, .v2 .lp2-catcard__title, .v2 .lp2-scope__card h3, .v2 .lp2-steps3__item h3, .v2 .lp2-cond__item h3,
  .v2 .lp2-row__title, .v2 .lp2-modelcase h3 { font-size: 1.375rem; }
  .v2 .lp2-article h3 { font-size: 1.25rem; }
  .v2 .lp2-myth__q { font-size: 1.0625rem; }
}
.v2 .lp2-pitch__title { font-family: var(--v2-serif); font-weight: 800; }
@media (min-width: 1024px) { .v2 .lp2-pitch__title { font-size: 1.375rem; } }

.v2 .lp2-card h3, .v2 .lp2-catcard__title, .v2 .lp2-scope__card h3, .v2 .lp2-steps3__item h3, .v2 .lp2-cond__item h3,
.v2 .lp2-row__title, .v2 .lp2-modelcase h3, .v2 .lp2-article h3, .v2 .lp2-subtitle, .v2 .lp2-pitch__title { text-wrap: balance; word-break: auto-phrase; }
