@charset "UTF-8";
/* ---------------------------------
買取LP 2026 — 本体（ベース／SP幅を基準としたモバイルファースト）
---------------------------------- */
.lp-part-kaitori-lp-full {
  /* kaitori-lp-full — 買取LP フルページ（PC=背景+スマホプレビュー / SP=通常ページ） */
  --kaitori-white: #ffffff;
  --kaitori-black: #1d1d1d;
  --kaitori-green: #00b327;
  --kaitori-orange: #ff4e00;
  --kaitori-navy: #184a8c;
  --kaitori-ivory: #f5f1e4;
  --kaitori-yellow: #ffd42a;
  --kaitori-gray: #f3f3f3;
  --kaitori-bp: 1080px;
  font-family: "Noto Sans JP", "Hiragino Sans", "Yu Gothic", sans-serif;
  color: var(--kaitori-black);
  background: var(--kaitori-white);
  position: relative;
  /* 右向きのくの字（>）。正方形の上辺と右辺だけを残して 45 度回すと「>」になる。
     見えている形は正方形の右半分に寄るので、translate を -75% にして
     箱の中央に見えるよう戻している。色は currentColor を拾う。
     箱の大きさは各所で width / height を、線は下の変数を指定する。

     査定フォームの 2 クラスもここに含めている。マークアップが管理画面（MW WP Form の
     フォーム本文）にあり、そちらで class が失われると矢印が消えてしまうため、
     クラスの追加を前提にせずクラス名だけで成立させている。 */
  /* ---------- base（SP幅）: kaitori-pc-bg/kaitori-pc-content は表示しない。kaitori-phone-shell はただの入れ物として通常フローに流す ---------- */
  /* ---------- SP: 通常ページ本体（mobile-first = base）。実機では端末幅いっぱいに広げる。
  タブレット〜PC直前の広い幅（PC切り替えは --kaitori-bp = 1080px）では各セクションの背景を
  フルブリードのまま端まで伸ばし、実際のコンテンツだけを 480px 幅の中央カラムに収める
  （full-bleed section background + centered max-width content の定番パターン）。
  そのため .kaitori-sp-page 自体には max-width を設けない。 */
  /* 共通の見出しブロック（.kaitori-heading）はほぼ全セクションで使われているため、
  ここで一括して 480px 中央カラムに収める（各セクション個別の対応を省略できる） */
  /* header — 広い幅では space-between の間隔が間延びするため、内側に 480px 幅の中央ラッパーを挟む
  SPメニュー展開中も隠れないよう sticky + 高い z-index で最前面に留める */
  /* ハンバーガー⇔✕は同一ボタン（.kaitori-hamburger）の状態切替で表現する
  （aria-expanded を main.js が開閉に合わせてトグルし、span を回転させてXにする） */
  /* SP: ハンバーガーで開閉するフルスクリーンメニュー（node 949:7569）。
  .kaitori-header（sticky・z-index:110）の下に潜り込む形で表示する */
  /* MV 背景。水色グラデーションの上に 雲(01) → 山(02) → 道路(03) の順で重ねる（z-index は付けず DOM 順で重なる）。
  重なり順だけのためにスタッキングコンテキストを作り、中の要素が前面の .kaitori-hero-inner より上に出ないようにしている */
  /* 雲は右から左へ流れ続ける。background-position-x の % 指定は「コンテナ幅 - 画像幅」基準で
  画像1枚分と一致せず継ぎ目でカクつくため、表示サイズ(高さ230px → 元画像比 1114:656 で幅約390px)の px でちょうど1枚分ずらす */
  /* 山(02)・道路(03)は MV の高さ(510px)に対する%で枠を決め、object-fit: cover で敷く。
  幅375px前後ではほぼ原寸比で収まり、それより広い画面では幅に合わせて拡大し上端基準でトリミングする。
  どちらも画像の上部が透過なので、上端基準なら画面幅が変わっても 03 の道路の縁が 02 の下端より上に来て隙間が出ない */
  /* hero内の絶対配置要素（バッジ/車3台/見出し/ロゴ/USPバッジ）は元々 375〜480px 幅の
  コンテナを前提とした実測px座標。.kaitori-hero 自体はフルブリード背景のため、
  これらの子要素だけ 480px 幅・中央寄せの内側ラッパーに移し、そこを新しい position:relative
  の基準にする（座標の数値自体は変更しない。基準となる箱の幅を変えているだけ） */
  /* バッジの光沢アニメーション（node 893:2462 の "Mask group"）。
     Figma 上は円マスク＋白い斜め帯 1 枚が円の外に静止しているだけで、帯が円を横切る
     「キラッ」という動きのデータは Figma に存在しないため CSS アニメーションで実装している。
     SP hero（.kaitori-hero-badge）と PC（.kaitori-pc-badge）の両方で使う。 */
  /* 車3台は透過カットアウトPNG。MV背景の上に実測座標で重ねる */
  /* img_mv_text.svg は傾き込みで書き出されているので CSS では回転しない */
  /* 見出し・ロゴ・PC版コピーは影なしで書き出されたSVGなので、文字の形に沿うdrop-shadowをCSS側で付ける。
  背景から浮き出て見えるよう、X/Yはずらさず輪郭全体を濃い黒でぼかす */
  /* USP丸バッジ3点（強引な営業なし/直販高額/丁寧査定）— btn_mv_0n.png が円・背景・アイコン・矢印を含む1枚絵。
  背景から浮き出て見えるよう、X/Yはずらさず輪郭全体を濃い黒でぼかす */
  /* node 893:2463 の USP 3アイコンが一定間隔で順番にバウンスする。Figma 自体には動きのデータが
     無いため CSS アニメーション + animation-delay の段違いで実装している。
     1 周期につき跳ねるのは 1 回だけ（0〜10%＝0.5 秒で跳ねて着地、残りは静止）。 */
  /* price CTA — Figma実データ(893:2439)は薄グレーの斜めストライプ背景（画像ではなくCSSで再現） */
  /* node 893:2464「無料査定を依頼する」ボタンの拡大縮小パルス。Figma 自体には動きのデータが
     無いため CSS アニメーションで実装している。1 周期中に一瞬だけ拡大し、残りは静止。 */
  /* section heading (共通) */
  /* 見出しをSEO用に残しつつ視覚的には非表示にする（実装参照に見出しが表示されていないため） */
  /* stats */
  /* 電話ボタン（<a>）・査定ボタン（<button>）どちらも白文字。
  ルート直下の a { color: inherit } に負けないよう、この階層に置くこと */
  /* such cars (FAQ list) */
  /* 左上の直角三角形。右下（-br）は 180 度回して使う */
  /* 緑背景バナー（.kaitori-accept / .kaitori-cta 共通）— 左上/右下の三角装飾はセクション全体の
  四隅（フルブリード）に留め、実際のコンテンツ（tag/logo/copy/panel/final-cta）だけを
  480px 幅の中央カラムに収める内側ラッパー。三角装飾はこのラッパーの外（セクション直下）に置く。 */
  /* 「ミスターシャーマン」24px（この要素の既定） / 「に」16px / 「お任せください！」38px */
  /* store manager */
  /* 1列目と2,3列目を別要素にし、grid-template-rows: subgrid で行の高さを揃える。
  レール色はブラウザ側の問題で断念（thumbのみ反映）。 */
  /* Figma実データどおり、STEP1以外は前カード下端からタグ上端まで縦の点線でつなぐ。
  clip-path付きの .kaitori-flow-step-tag に付けると子孫ごと切り取られて消えるため、カード側の疑似要素にする */
  /* kaitori-cta の「電話で査定を依頼する」だけ従来どおり中央・20px */
  /* reviews */
  /* お客様の声カルーセル。input[type=radio] 4個は「今何枚目か」を保持するための状態(前後の
  矢印の出し分けに使う)で、トラックの移動自体は lp-purchase-2026.js が transform を直接操作する。 */
  /* コンテナクエリ単位(cqw)を使い、カード幅・ギャップ・送り量を「このビューポート自身の幅」に対する
  割合として直接指定する。track 経由のネストした%変換（track比→viewport比）が不要になり、
  ズレの入り込む余地がない。カード=64cqw（ビューポートの64%）・ギャップ=4cqw・1枚送り=68cqw。 */
  /* JS が瞬時に位置を戻す（無限ループ用のずらし補正）ときだけ transition を止める */
  /* タイヤはトラックと同じ duration / easing で回し（--kaitori-review-slide-duration を共有）、
     スライド中だけ回っているように見せる。
     角度はカルーセルの状態ごとの絶対値（マイナス方向）なので、次へ送ると反時計回りになり、
     前に戻ると角度が0に近づいて時計回りになる。
     トラックは一体で動き両隣のカードも見切れて見えているため、4枚すべてのタイヤを同時に回す。
     回転は img に掛けること（親の .kaitori-review-wheels は translateX(-50%) を持つため）。 */
  /* 黒丸に白いくの字。丸は border-radius、くの字は .kaitori-chevron で描く */
  /* 実写ではなく車のイラストSVG。カード上端にはみ出して重なる */
  /* カード下端のタイヤ装飾2個 */
  /* タイヤ2個。カード下端に半分だけはみ出す（kaitori-review-car と同じ絶対配置の考え方） */
  /* 開閉アイコン。丸は border-radius、＋と−の棒は単色の linear-gradient を
     背景画像として 2 枚重ねて描く。棒の色は currentColor を拾う。
     閉: 緑丸に白いプラス */
  /* 開: 白丸に緑のマイナス（縦棒を消す） */
  /* 参考（未使用）: <details> は開閉が瞬時。ゆっくり開閉させたい場合は checkbox(:checked) + label + max-height の
  transition で置き換え可能（詳細・サンプルコードは NOTES.md 参照）。 */
  /* required docs */
  /* node 893:3160 実データどおり、見出し〜ボタンまで全部を ivory + drop-shadow のパネルで包む */
  /* 黒背景のボタン内なので色は親（白）を継承する */
  /* cta block */
  /* kaitori-cta（893:3173）— kaitori-accept と同じ背景装飾（緑背景＋左上/右下の三角、白いタグ+ロゴ+コピー）を共有し、
  電話・フォーム導線は kaitori-flow-step（893:2697/893:2715 等）で作った共通パーツをそのまま再利用する */
  /* footer */
  /* 店舗一覧（お近くの店舗はこちら） */
}
.lp-part-kaitori-lp-full * {
  box-sizing: border-box;
}
.lp-part-kaitori-lp-full img {
  display: block;
  max-width: 100%;
}
.lp-part-kaitori-lp-full .kaitori-cta-icon {
  display: inline-block;
  width: 54px;
  height: 26px;
  margin: 0;
}
.lp-part-kaitori-lp-full .kaitori-chevron,
.lp-part-kaitori-lp-full .kaitori-quote-icon-chevron,
.lp-part-kaitori-lp-full .kaitori-quote-select-chevron {
  position: relative;
  flex-shrink: 0;
  --kaitori-chevron-size: 10px;
  --kaitori-chevron-weight: 2px;
}
.lp-part-kaitori-lp-full .kaitori-chevron::before,
.lp-part-kaitori-lp-full .kaitori-quote-icon-chevron::before,
.lp-part-kaitori-lp-full .kaitori-quote-select-chevron::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: var(--kaitori-chevron-size);
  height: var(--kaitori-chevron-size);
  border-top: var(--kaitori-chevron-weight) solid currentColor;
  border-right: var(--kaitori-chevron-weight) solid currentColor;
  transform: translate(-75%, -50%) rotate(45deg);
}
.lp-part-kaitori-lp-full a {
  color: inherit;
  text-decoration: none;
}
.lp-part-kaitori-lp-full .kaitori-pc-bg {
  display: none;
}
.lp-part-kaitori-lp-full .kaitori-pc-content {
  display: none;
}
.lp-part-kaitori-lp-full .kaitori-phone-shell {
  display: block;
}
.lp-part-kaitori-lp-full .kaitori-phone-viewport {
  overflow: visible;
}
.lp-part-kaitori-lp-full .kaitori-sp-page {
  width: 100%;
  position: relative;
  /* はみ出しは隠すが、overflow: hidden はスクロールコンテナを作ってしまい、
     中の .kaitori-header の position: sticky が（ページではなくこの要素基準になって）効かなくなる。
     スクロールコンテナを作らない overflow: clip を使うことでヘッダーを上部固定にしている。
     1行目は clip 非対応ブラウザ向けのフォールバック。 */
  overflow: hidden;
  overflow: clip;
}
.lp-part-kaitori-lp-full .kaitori-heading {
  max-width: 480px;
  margin-left: auto;
  margin-right: auto;
}
.lp-part-kaitori-lp-full .kaitori-header {
  position: sticky;
  top: 0;
  z-index: 110;
  height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  background: var(--kaitori-white);
  border-bottom: 1px solid #eee;
}
.lp-part-kaitori-lp-full .kaitori-header-inner {
  width: 100%;
  max-width: 480px;
  margin: 0 auto;
  padding: 0 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.lp-part-kaitori-lp-full .kaitori-hamburger {
  position: relative;
  width: 26px;
  height: 20px;
  cursor: pointer;
  background: none;
  border: none;
  padding: 0;
}
.lp-part-kaitori-lp-full .kaitori-hamburger span {
  position: absolute;
  left: 0;
  width: 26px;
  height: 3px;
  border-radius: 2px;
  background: var(--kaitori-green);
  transition: transform 0.2s ease, opacity 0.2s ease, top 0.2s ease;
}
.lp-part-kaitori-lp-full .kaitori-hamburger span:nth-child(1) {
  top: 0;
}
.lp-part-kaitori-lp-full .kaitori-hamburger span:nth-child(2) {
  top: 8.5px;
}
.lp-part-kaitori-lp-full .kaitori-hamburger span:nth-child(3) {
  top: 17px;
}
.lp-part-kaitori-lp-full .kaitori-hamburger[aria-expanded=true] span:nth-child(1) {
  top: 8.5px;
  transform: rotate(45deg);
}
.lp-part-kaitori-lp-full .kaitori-hamburger[aria-expanded=true] span:nth-child(2) {
  opacity: 0;
}
.lp-part-kaitori-lp-full .kaitori-hamburger[aria-expanded=true] span:nth-child(3) {
  top: 8.5px;
  transform: rotate(-45deg);
}
.lp-part-kaitori-lp-full .kaitori-sp-menu {
  position: fixed;
  top: 52px;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 100;
  display: flex;
  flex-direction: column;
  width: 100%;
  background: var(--kaitori-ivory);
  overflow-y: auto;
}
.lp-part-kaitori-lp-full .kaitori-sp-menu[hidden] {
  display: none;
}
.lp-part-kaitori-lp-full .kaitori-sp-menu-nav {
  flex: 1 1 auto;
  max-width: 480px;
  width: 100%;
  margin: 0 auto;
  padding: 25px 0 103px;
}
.lp-part-kaitori-lp-full .kaitori-sp-menu-nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.lp-part-kaitori-lp-full .kaitori-sp-menu-nav li + li {
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}
.lp-part-kaitori-lp-full .kaitori-sp-menu-nav a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 22px 20px;
  font-size: 16px;
  color: var(--kaitori-black);
}
.lp-part-kaitori-lp-full .kaitori-sp-menu-nav a .kaitori-sp-menu-arrow {
  width: 20px;
  height: 20px;
  color: var(--kaitori-green);
}
.lp-part-kaitori-lp-full .kaitori-hero {
  position: relative;
  height: 510px;
  overflow: hidden;
  color: var(--kaitori-white);
}
.lp-part-kaitori-lp-full .kaitori-hero-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  background: linear-gradient(180deg, #0095ff 0%, #56b9ff 18%, #56b9ff 100%);
}
.lp-part-kaitori-lp-full .kaitori-hero-bg-01 {
  position: absolute;
  top: -55px;
  left: 0;
  width: 100%;
  height: 230px;
  background: url("../img/lp/2026_purchase_lp/sp/bg_mv_01.png") repeat-x 0 0/auto 230px;
  animation: kaitori-hero-bg-scroll 8s linear infinite;
}
@media (prefers-reduced-motion: reduce) {
  .lp-part-kaitori-lp-full .kaitori-hero-bg-01 {
    animation: none;
  }
}
.lp-part-kaitori-lp-full .kaitori-hero-bg-02,
.lp-part-kaitori-lp-full .kaitori-hero-bg-03 {
  position: absolute;
  left: 0;
  width: 100%;
  object-fit: cover;
  object-position: center top;
}
.lp-part-kaitori-lp-full .kaitori-hero-bg-02 {
  top: 8%;
  height: 73%; /* 750×748 を幅375pxで表示したときの高さ 374px / 510px */
}
.lp-part-kaitori-lp-full .kaitori-hero-bg-03 {
  top: 46%;
  height: 54%;
}
.lp-part-kaitori-lp-full .kaitori-hero-inner {
  position: relative;
  max-width: 480px;
  height: 100%;
  margin: 0 auto;
}
.lp-part-kaitori-lp-full .kaitori-hero-badge {
  position: absolute;
  left: 10px;
  top: 13px;
  width: 100px;
  height: 100px;
  z-index: 3;
}
.lp-part-kaitori-lp-full .kaitori-badge-shine-wrap {
  position: relative; /* .kaitori-badge-shine の位置基準 */
  display: block;
  border-radius: 50%;
  overflow: hidden;
  /* box-shadow は要素自身の overflow:hidden には切り取られないので、円の右下に影を落とせる */
  box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.6);
}
.lp-part-kaitori-lp-full .kaitori-badge-img {
  display: block;
  width: 100%;
  height: 100%;
}
.lp-part-kaitori-lp-full .kaitori-badge-shine {
  position: absolute;
  top: -75%;
  left: -20%;
  width: 40%;
  height: 250%;
  background: rgba(255, 255, 255, 0.55);
  transform: rotate(-20deg) translateX(-250%);
  animation: kaitori-badge-shine-sweep 4s ease-in-out infinite;
  pointer-events: none;
}
@media (prefers-reduced-motion: reduce) {
  .lp-part-kaitori-lp-full .kaitori-badge-shine {
    animation: none;
  }
}
.lp-part-kaitori-lp-full .kaitori-hero-cars {
  position: absolute;
  inset: 0;
}
.lp-part-kaitori-lp-full .kaitori-car {
  position: absolute;
  object-fit: contain;
}
.lp-part-kaitori-lp-full .kaitori-car-1 {
  left: calc(50% - 195.5px); /* 375px基準のleft:-8pxを中央寄せの相対値に変換 */
  top: 263px;
  width: 163px;
  height: 129px;
}
.lp-part-kaitori-lp-full .kaitori-car-2 {
  left: calc(50% - 77.5px); /* 375px基準のleft:110pxを中央寄せの相対値に変換 */
  top: 263px;
  width: 178px;
  height: 127px;
}
.lp-part-kaitori-lp-full .kaitori-car-3 {
  left: calc(50% + 47.5px); /* 375px基準のleft:235pxを中央寄せの相対値に変換 */
  top: 275px;
  width: 133px;
  height: 117px;
}
.lp-part-kaitori-lp-full .kaitori-hero-title {
  position: absolute;
  left: calc(50% - 55.5px);
  top: 0;
  width: 238px;
  height: auto;
}
.lp-part-kaitori-lp-full .kaitori-hero-title,
.lp-part-kaitori-lp-full .kaitori-hero-logo,
.lp-part-kaitori-lp-full .kaitori-pc-copy,
.lp-part-kaitori-lp-full .kaitori-pc-logo-img {
  filter: drop-shadow(0 0 6px rgba(0, 0, 0, 0.9));
}
.lp-part-kaitori-lp-full .kaitori-hero-logo {
  position: absolute;
  left: calc(50% - 167.5px); /* 375px基準のleft:20pxを中央寄せの相対値に変換 */
  top: 86px;
  width: 335px;
  height: auto;
}
.lp-part-kaitori-lp-full .kaitori-usp img {
  display: block;
  width: 100px;
  height: auto;
  filter: drop-shadow(0 0 6px rgba(0, 0, 0, 0.9));
}
.lp-part-kaitori-lp-full .kaitori-usp-row {
  position: absolute;
  margin: 0;
  padding: 0;
  list-style: none;
  left: 50%;
  top: 370px;
  width: 336px;
  transform: translateX(-50%);
  display: flex;
  justify-content: space-between;
  align-items: center;
  z-index: 2;
}
.lp-part-kaitori-lp-full .kaitori-usp {
  position: relative;
  animation: kaitori-usp-bounce 5s ease-in-out infinite;
}
.lp-part-kaitori-lp-full .kaitori-usp a {
  display: block;
}
.lp-part-kaitori-lp-full .kaitori-usp-row .kaitori-usp:nth-child(2) {
  top: 5px;
  animation-delay: 0.2s;
}
.lp-part-kaitori-lp-full .kaitori-usp-row .kaitori-usp:nth-child(3) {
  animation-delay: 0.4s;
}
@media (prefers-reduced-motion: reduce) {
  .lp-part-kaitori-lp-full .kaitori-usp {
    animation: none;
  }
}
.lp-part-kaitori-lp-full .kaitori-price-cta {
  position: relative;
  padding: 20px 20px 28px;
  text-align: center;
  background: repeating-linear-gradient(135deg, #f2f2f2 0 14px, #e9e9e9 14px 28px);
}
.lp-part-kaitori-lp-full .kaitori-price-copy {
  max-width: 480px;
  margin: 0 auto 8px;
  color: var(--kaitori-black);
  font-size: 18px;
  line-height: 1.4;
}
.lp-part-kaitori-lp-full .kaitori-price-copy b {
  font-weight: 800;
}
.lp-part-kaitori-lp-full .kaitori-price-btn {
  width: 335px;
  max-width: 100%;
  height: 80px;
  margin: 0 auto;
  border-radius: 5px;
  border: none;
  cursor: pointer;
  background: linear-gradient(180deg, #ff8127 0%, var(--kaitori-orange) 50%, #ff3300 100%);
  box-shadow: 0 4px 0 #b92600, 0 8px 0 rgba(0, 0, 0, 0.25);
  color: var(--kaitori-white);
  font-size: 22px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  animation: kaitori-cta-pulse 3.5s ease-in-out infinite;
}
@media (prefers-reduced-motion: reduce) {
  .lp-part-kaitori-lp-full .kaitori-price-btn {
    animation: none;
  }
}
.lp-part-kaitori-lp-full .kaitori-heading {
  text-align: center;
  padding-top: 45px;
}
.lp-part-kaitori-lp-full .kaitori-heading h2 {
  font-size: 26px;
  font-weight: 700;
  margin: 0 0 12px;
  line-height: 1.4;
}
.lp-part-kaitori-lp-full .kaitori-heading .kaitori-bar {
  width: 60px;
  height: 3px;
  background: var(--kaitori-green);
  margin: 0 auto;
}
.lp-part-kaitori-lp-full .kaitori-heading .kaitori-eyebrow {
  display: inline-block;
  background: var(--kaitori-black);
  color: var(--kaitori-white);
  border-radius: 999px;
  padding: 0 20px;
  font-size: 16px;
  margin-bottom: 20px;
  position: relative;
}
.lp-part-kaitori-lp-full .kaitori-heading .kaitori-eyebrow::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -8px;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 12.5px solid transparent;
  border-right: 12.5px solid transparent;
  border-top: 10px solid var(--kaitori-black);
}
.lp-part-kaitori-lp-full .kaitori-highlight-green {
  color: var(--kaitori-green);
}
.lp-part-kaitori-lp-full .kaitori-marker {
  background-image: linear-gradient(transparent 50%, rgba(255, 212, 42, 0.5) 50%);
  background-repeat: no-repeat;
  color: inherit;
  font-weight: 700;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
.lp-part-kaitori-lp-full .kaitori-heading-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.lp-part-kaitori-lp-full .kaitori-stats {
  padding: 0 10px 60px;
  background: var(--kaitori-ivory);
}
.lp-part-kaitori-lp-full .kaitori-quickbtn {
  flex: 1;
  height: 55px;
  border: none;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: var(--kaitori-white);
  font-weight: 700;
  font-size: 20px;
  font-family: inherit;
  cursor: pointer;
}
.lp-part-kaitori-lp-full .kaitori-quickbtn img {
  width: 19px;
  height: 22px;
}
.lp-part-kaitori-lp-full .kaitori-quickbtn-tel {
  background: linear-gradient(180deg, #5d5d5d 0%, #464646 50%, #383838 100%);
  box-shadow: 0 4px 0 #000, 0 8px 0 rgba(0, 0, 0, 0.25);
}
.lp-part-kaitori-lp-full .kaitori-quickbtn-form {
  background: linear-gradient(180deg, #ff8127 0%, var(--kaitori-orange) 50%, #ff3300 100%);
  box-shadow: 0 4px 0 #b92600, 0 8px 0 rgba(0, 0, 0, 0.25);
}
.lp-part-kaitori-lp-full .kaitori-quickbtn-form img {
  width: 38px;
  height: 18px;
}
.lp-part-kaitori-lp-full .kaitori-stats .kaitori-note {
  max-width: 480px;
  font-size: 13px;
  line-height: 1.5;
  opacity: 0.8;
  margin: 30px auto 0;
  /* 2行目以降を ※ の右（本文の先頭）に揃える */
  padding-left: calc(1em + 4px);
  text-indent: calc(-1em - 4px);
}
.lp-part-kaitori-lp-full .kaitori-stats .kaitori-note span {
  margin-right: 4px;
}
.lp-part-kaitori-lp-full .kaitori-stat-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 15px;
  row-gap: 30px;
  max-width: 480px;
  margin: 45px auto 0;
}
.lp-part-kaitori-lp-full .kaitori-stat-card {
  background: var(--kaitori-white);
  box-shadow: 5px 5px 2.5px rgba(0, 0, 0, 0.1);
  display: flex;
  flex-direction: column;
}
.lp-part-kaitori-lp-full .kaitori-stat-card img {
  width: 100%;
  height: 100px;
  object-fit: cover;
}
.lp-part-kaitori-lp-full .kaitori-stat-card .kaitori-stat-body {
  padding: 10px 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1;
  justify-content: space-between;
}
.lp-part-kaitori-lp-full .kaitori-stat-info {
  display: flex;
  gap: 10px;
  padding-right: 10px;
}
.lp-part-kaitori-lp-full .kaitori-stat-info .kaitori-bar-green {
  width: 3px;
  align-self: stretch;
  background: var(--kaitori-green);
  flex-shrink: 0;
}
.lp-part-kaitori-lp-full .kaitori-stat-text {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.lp-part-kaitori-lp-full .kaitori-stat-name {
  margin: 0;
  height: 54px;
  font-weight: 700;
  font-size: 15px;
  line-height: 1.2;
}
.lp-part-kaitori-lp-full .kaitori-stat-meta {
  margin: 0;
  font-size: 12px;
  opacity: 0.6;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.lp-part-kaitori-lp-full .kaitori-stat-meta span {
  margin-right: 4px;
}
.lp-part-kaitori-lp-full .kaitori-stat-price {
  margin: 0;
  padding: 0 10px;
  text-align: right;
  font-weight: 900;
  color: var(--kaitori-orange);
}
.lp-part-kaitori-lp-full .kaitori-stat-price .kaitori-p1 {
  font-size: 26px;
}
.lp-part-kaitori-lp-full .kaitori-stat-price .kaitori-p2 {
  font-size: 18px;
}
.lp-part-kaitori-lp-full .kaitori-reasons {
  padding-bottom: 20px;
  background: var(--kaitori-white);
  /* 「ミスターシャーマンが選ばれる」「の」は 20px */
  /* 「3つ」「理由」だけ 26px */
}
.lp-part-kaitori-lp-full .kaitori-reasons .kaitori-heading h2 {
  font-size: 20px;
}
.lp-part-kaitori-lp-full .kaitori-reasons .kaitori-heading .kaitori-highlight-green,
.lp-part-kaitori-lp-full .kaitori-reasons .kaitori-heading .kaitori-reason-heading-em {
  font-size: 26px;
}
.lp-part-kaitori-lp-full .kaitori-reason-list {
  max-width: 480px;
  margin: 0 auto;
  padding: 20px 10px 0;
  display: flex;
  flex-direction: column;
}
.lp-part-kaitori-lp-full .kaitori-reason-card {
  padding-bottom: 40px;
  margin-bottom: 40px;
  border-bottom: 1px solid #e5e5e5;
}
.lp-part-kaitori-lp-full .kaitori-reason-photo {
  width: 100%;
  height: 200px;
  object-fit: cover;
  background: #ddd;
}
.lp-part-kaitori-lp-full .kaitori-reason-head {
  display: flex;
  align-items: center;
  gap: 24px;
  margin-top: 20px;
}
.lp-part-kaitori-lp-full .kaitori-reason-num {
  width: 60px;
  height: 60px;
  flex-shrink: 0;
  border-radius: 50%;
  background: var(--kaitori-black);
  color: var(--kaitori-white);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  line-height: 1;
  position: relative;
}
.lp-part-kaitori-lp-full .kaitori-reason-num .kaitori-lbl {
  font-size: 14px;
  font-weight: 700;
}
.lp-part-kaitori-lp-full .kaitori-reason-num .kaitori-num {
  font-size: 28px;
  font-weight: 700;
}
.lp-part-kaitori-lp-full .kaitori-reason-num::after {
  content: "";
  position: absolute;
  right: 2px;
  bottom: 2px;
  width: 0;
  height: 0;
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-bottom: 11px solid var(--kaitori-black);
  transform: rotate(15deg);
}
.lp-part-kaitori-lp-full .kaitori-reason-head h3 {
  font-size: 20px;
  margin: 0;
  flex: 1;
}
.lp-part-kaitori-lp-full .kaitori-reason-body {
  font-size: 16px;
  line-height: 1.7;
  margin-top: 20px;
  padding: 0 8px;
}
.lp-part-kaitori-lp-full .kaitori-suchcars {
  background: var(--kaitori-ivory);
  padding: 0 10px 16px;
}
.lp-part-kaitori-lp-full .kaitori-suchcars .kaitori-heading h2 {
  padding: 0 20px;
}
.lp-part-kaitori-lp-full .kaitori-suchcars-img {
  width: 100%;
  max-width: 480px;
  height: auto;
  margin: 0 auto 16px;
}
.lp-part-kaitori-lp-full .kaitori-qa-card {
  list-style: none;
  background: var(--kaitori-white);
  box-shadow: 5px 5px 2.5px rgba(0, 0, 0, 0.1);
  max-width: 440px;
  margin: 20px 10px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  /* 項目間の点線。gap の 10px + 点線 + padding-top の 10px で区切る */
}
.lp-part-kaitori-lp-full .kaitori-qa-card li {
  font-size: 16px;
  line-height: 1.6;
}
.lp-part-kaitori-lp-full .kaitori-qa-card li::before {
  content: "・";
}
.lp-part-kaitori-lp-full .kaitori-qa-card li + li {
  padding-top: 10px;
  border-top: 2px dotted rgba(29, 29, 29, 0.2);
}
.lp-part-kaitori-lp-full .kaitori-accept {
  background: var(--kaitori-green);
  color: var(--kaitori-white);
  padding: 30px 10px;
  position: relative;
  overflow: hidden;
}
.lp-part-kaitori-lp-full .kaitori-accept-corner {
  position: absolute;
  width: 153px;
  height: 133px;
  background: #00c22a;
  clip-path: polygon(0 0, 100% 0, 0 100%);
}
.lp-part-kaitori-lp-full .kaitori-accept-inner {
  position: relative;
  z-index: 1;
  max-width: 480px;
  margin: 0 auto;
}
.lp-part-kaitori-lp-full .kaitori-accept-corner-tl {
  left: 0;
  top: 0;
}
.lp-part-kaitori-lp-full .kaitori-accept-corner-br {
  right: 0;
  bottom: 0;
  transform: rotate(180deg);
}
.lp-part-kaitori-lp-full .kaitori-accept-tag {
  display: inline-block;
  background: var(--kaitori-white);
  color: var(--kaitori-green);
  border-radius: 999px;
  padding: 5px 20px;
  font-size: 20px;
  font-weight: 900;
  margin: 0 auto;
  position: relative;
}
.lp-part-kaitori-lp-full .kaitori-accept-tag::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -8px;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-top: 10px solid var(--kaitori-white);
}
.lp-part-kaitori-lp-full .kaitori-accept-top {
  text-align: center;
  position: relative;
  z-index: 1;
}
.lp-part-kaitori-lp-full .kaitori-accept-logo {
  width: 245px;
  height: auto;
  margin: 20px auto 10px;
}
.lp-part-kaitori-lp-full .kaitori-accept-copy-sm {
  font-size: 16px;
}
.lp-part-kaitori-lp-full .kaitori-accept-copy {
  font-size: 24px;
  font-weight: 900;
  letter-spacing: 0.05em;
  line-height: 1.3;
  margin: 0;
}
.lp-part-kaitori-lp-full .kaitori-highlight-yellow {
  color: var(--kaitori-yellow);
  font-size: 38px;
}
.lp-part-kaitori-lp-full .kaitori-accept-panel {
  background: var(--kaitori-white);
  color: var(--kaitori-black);
  margin-top: 20px;
  /* 左右パディングは持たせず子要素ごとに付ける（.kaitori-check-list を幅いっぱいにするため） */
  padding: 20px 0;
  border-radius: 5px;
  position: relative;
  z-index: 1;
}
.lp-part-kaitori-lp-full .kaitori-accept-panel h3 {
  text-align: center;
  padding: 0 10px;
  font-size: 24px;
  font-weight: 900;
  margin: 0 0 20px;
}
.lp-part-kaitori-lp-full .kaitori-highlight-orange {
  color: var(--kaitori-orange);
}
.lp-part-kaitori-lp-full .kaitori-check-list {
  list-style: none;
  margin: 0 0 20px;
  padding: 20px;
  background: var(--kaitori-ivory);
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.lp-part-kaitori-lp-full .kaitori-check-list li {
  display: flex;
  gap: 10px;
  align-items: center;
  padding-bottom: 10px;
  border-bottom: 2px dotted rgba(29, 29, 29, 0.2);
  font-size: 16px;
  /* チェックマーク。長辺と短辺の 2 辺だけを残した長方形を -45 度回して描く */
}
.lp-part-kaitori-lp-full .kaitori-check-list li:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
.lp-part-kaitori-lp-full .kaitori-check-list li::before {
  content: "";
  flex-shrink: 0;
  width: 12px;
  height: 6px;
  margin: 0 3px 4px;
  border-left: 2.5px solid var(--kaitori-orange);
  border-bottom: 2.5px solid var(--kaitori-orange);
  transform: rotate(-45deg);
}
.lp-part-kaitori-lp-full .kaitori-check-list li.kaitori-check-list-tall::before {
  align-self: flex-start;
  margin-top: 2px;
}
.lp-part-kaitori-lp-full .kaitori-accept-highlight {
  position: relative;
  text-align: center;
  font-weight: 900;
  padding: 10px;
  line-height: 1.4;
}
.lp-part-kaitori-lp-full .kaitori-accept-highlight p {
  position: relative;
  margin: 0;
  font-size: 32px;
}
.lp-part-kaitori-lp-full .kaitori-accept-highlight .kaitori-fs-sm {
  font-size: 24px;
}
.lp-part-kaitori-lp-full .kaitori-accept-highlight-line {
  position: relative;
  display: inline-block;
}
.lp-part-kaitori-lp-full .kaitori-accept-highlight-line::after {
  content: "";
  position: absolute;
  left: -3%;
  right: -3%;
  bottom: 2px;
  height: 12px;
  background: var(--kaitori-yellow);
  z-index: -1;
}
.lp-part-kaitori-lp-full .kaitori-accept-note {
  font-size: 14px;
  line-height: 1.6;
  opacity: 0.8;
  margin: 15px 0 0;
  padding: 0 10px 0 calc(1em + 10px);
  text-indent: -1em;
}
.lp-part-kaitori-lp-full .kaitori-storemgr {
  background: var(--kaitori-ivory);
  padding: 0 10px 40px;
}
.lp-part-kaitori-lp-full .kaitori-storemgr-panel {
  position: relative;
  z-index: 0;
  background: var(--kaitori-white);
  max-width: 440px;
  margin: 20px auto;
  padding: 30px 20px;
  box-shadow: 5px 5px 5px 0 rgba(0, 0, 0, 0.1);
}
.lp-part-kaitori-lp-full .kaitori-storemgr-panel h3 {
  position: relative;
  display: inline-block;
  text-align: center;
  font-size: 20px;
  font-weight: 700;
  margin: 0;
}
.lp-part-kaitori-lp-full .kaitori-storemgr-panel h3::after {
  content: "";
  position: absolute;
  left: -3%;
  right: -3%;
  bottom: 2px;
  height: 12px;
  background: var(--kaitori-yellow);
  opacity: 0.5;
  z-index: -1;
}
.lp-part-kaitori-lp-full .kaitori-storemgr-panel .kaitori-storemgr-head {
  text-align: center;
  margin-bottom: 30px;
}
.lp-part-kaitori-lp-full .kaitori-storemgr-panel p.kaitori-body {
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 1.8;
  margin: 0 0 30px;
}
.lp-part-kaitori-lp-full .kaitori-storemgr-panel .kaitori-sign {
  margin: 0;
  text-align: center;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 1;
}
.lp-part-kaitori-lp-full .kaitori-tvcm {
  padding: 0 10px 60px;
  text-align: center;
}
.lp-part-kaitori-lp-full .kaitori-tvcm-frame {
  position: relative;
  margin: 30px auto 0;
  width: 100%;
  max-width: 460px;
  aspect-ratio: 16/9;
  overflow: hidden;
  border-radius: 2px;
}
.lp-part-kaitori-lp-full .kaitori-tvcm-frame iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: none;
}
.lp-part-kaitori-lp-full .kaitori-flow {
  background: repeating-linear-gradient(135deg, #f2f2f2 0 14px, #e9e9e9 14px 28px);
  padding: 0 10px 60px;
}
.lp-part-kaitori-lp-full .kaitori-flow-intro {
  position: relative;
  z-index: 0;
  max-width: 335px;
  margin: 20px auto 0;
  font-size: 16px;
  line-height: 1.6;
  text-align: center;
}
.lp-part-kaitori-lp-full .kaitori-underline-yellow {
  position: relative;
  font-weight: 700;
}
.lp-part-kaitori-lp-full .kaitori-underline-yellow::after {
  content: "";
  position: absolute;
  left: -3%;
  right: -3%;
  bottom: 2px;
  height: 12px;
  background: var(--kaitori-yellow);
  opacity: 0.5;
  z-index: -1;
}
.lp-part-kaitori-lp-full .kaitori-flow-compare {
  background: var(--kaitori-white);
  border-radius: 5px;
  padding: 20px 10px;
  max-width: 460px;
  margin: 30px auto 0;
}
.lp-part-kaitori-lp-full .kaitori-flow-compare h3 {
  text-align: center;
  font-size: 18px;
  font-weight: 700;
  margin: 0 0 20px;
}
.lp-part-kaitori-lp-full .kaitori-flow-compare-table {
  display: grid;
  grid-template-columns: 80px 1fr;
  grid-template-rows: repeat(5, auto);
  width: 100%;
}
.lp-part-kaitori-lp-full .kaitori-flow-compare-labels {
  grid-column: 1;
  grid-row: 1/-1;
  display: grid;
  grid-template-rows: subgrid;
}
.lp-part-kaitori-lp-full .kaitori-flow-compare-scroll {
  grid-column: 2;
  grid-row: 1/-1;
  display: grid;
  grid-template-rows: subgrid;
  grid-template-columns: 180px 180px;
  min-width: 0; /* auto だと overflow が効かない */
  overflow-x: auto;
  padding-bottom: 24px; /* 表とスクロールバーの間の余白 */
  scrollbar-color: var(--kaitori-green) var(--kaitori-gray);
  scrollbar-width: thin;
}
.lp-part-kaitori-lp-full .kaitori-flow-compare-scroll::-webkit-scrollbar {
  height: 6px;
}
.lp-part-kaitori-lp-full .kaitori-flow-compare-scroll::-webkit-scrollbar-thumb {
  background: var(--kaitori-green);
  border-radius: 100px;
}
.lp-part-kaitori-lp-full .kaitori-flow-cell {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 12px;
  line-height: 1.4;
  padding: 10px 6px;
  border-bottom: 1px dotted rgba(29, 29, 29, 0.2);
}
.lp-part-kaitori-lp-full .kaitori-flow-corner {
  border-bottom: none;
}
.lp-part-kaitori-lp-full .kaitori-flow-head {
  min-height: 50px;
  font-weight: 700;
  border-bottom: none;
}
.lp-part-kaitori-lp-full .kaitori-flow-head-ours {
  background: var(--kaitori-green);
  color: var(--kaitori-white);
  border-radius: 8px 8px 0 0;
}
.lp-part-kaitori-lp-full .kaitori-flow-head-theirs {
  background: #a6a6a6;
  color: var(--kaitori-white);
  font-weight: 400;
  /* .kaitori-flow-head-ours（緑の角丸ボックス）と高さを合わせず一段下げ、
  左に白い区切り線を入れて隣の緑枠と分離する */
  margin-top: 7px;
  border-left: 2px solid var(--kaitori-white);
}
.lp-part-kaitori-lp-full .kaitori-flow-label {
  font-weight: 700;
}
.lp-part-kaitori-lp-full .kaitori-flow-label-last {
  border-bottom: none;
}
.lp-part-kaitori-lp-full .kaitori-flow-body-ours {
  background: #e0ffe7;
  border-left: 2px solid var(--kaitori-green);
  border-right: 2px solid var(--kaitori-green);
}
.lp-part-kaitori-lp-full .kaitori-flow-body-ours b {
  font-weight: 900;
}
.lp-part-kaitori-lp-full .kaitori-flow-body-ours-last {
  border-bottom: 2px solid var(--kaitori-green);
  border-radius: 0 0 8px 8px;
}
.lp-part-kaitori-lp-full .kaitori-flow-body-theirs-last {
  border-bottom: none;
}
.lp-part-kaitori-lp-full .kaitori-flow-em {
  font-size: 16px;
  font-weight: 900;
}
.lp-part-kaitori-lp-full .kaitori-flow-xs {
  font-size: 10px;
  font-weight: 400;
}
.lp-part-kaitori-lp-full .kaitori-flow-steps {
  display: flex;
  flex-direction: column;
  gap: 60px;
  max-width: 460px;
  margin: 60px auto 0;
}
.lp-part-kaitori-lp-full .kaitori-flow-step {
  position: relative;
  background: var(--kaitori-white);
  border-radius: 5px;
  padding: 45px 20px 30px;
}
.lp-part-kaitori-lp-full .kaitori-flow-step-tag {
  position: absolute;
  left: 20px;
  top: -15px;
  width: 85px;
  height: 30px;
  background: var(--kaitori-black);
  clip-path: polygon(0 0, 100% 0, 88.2% 50%, 100% 100%, 0 100%);
  color: var(--kaitori-white);
  font-family: "Open Sans", "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.lp-part-kaitori-lp-full .kaitori-flow-step:not(:first-child)::before {
  content: "";
  position: absolute;
  left: 58px;
  bottom: 100%;
  width: 0;
  height: 60px;
  border-left: 2px dashed var(--kaitori-black);
}
.lp-part-kaitori-lp-full .kaitori-flow-step-title {
  margin: 0 0 20px;
  font-size: 22px;
  font-weight: 700;
  color: var(--kaitori-green);
}
.lp-part-kaitori-lp-full .kaitori-flow-step-lead {
  margin: 0 0 10px;
  font-size: 16px;
  font-weight: 700;
}
.lp-part-kaitori-lp-full .kaitori-flow-step-body {
  margin: 0;
  font-size: 16px;
  line-height: 1.6;
}
.lp-part-kaitori-lp-full .kaitori-flow-step-rule {
  border: none;
  border-top: 1px solid #eee;
  margin: 20px 0;
}
.lp-part-kaitori-lp-full .kaitori-flow-step-label {
  margin: 0 0 15px;
  font-size: 16px;
  font-weight: 700;
  text-align: left;
}
.lp-part-kaitori-lp-full .kaitori-flow-step-label.is-center {
  font-size: 20px;
  text-align: center;
}
.lp-part-kaitori-lp-full .kaitori-flow-step-note {
  font-size: 14px;
  line-height: 1.6;
  background: var(--kaitori-ivory);
  padding: 10px;
  padding-left: calc(10px + 1em);
  text-indent: -1em;
  border-radius: 4px;
  margin: 15px 0 0;
}
.lp-part-kaitori-lp-full a.kaitori-flow-tel-btn {
  width: 100%;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  padding: 16px;
  border-radius: 5px;
  background: linear-gradient(180deg, #5d5d5d 0%, #464646 50%, #383838 100%);
  box-shadow: 0 4px 0 #000, 0 8px 0 rgba(0, 0, 0, 0.25);
  color: var(--kaitori-white);
  text-decoration: none;
}
.lp-part-kaitori-lp-full .kaitori-flow-tel-top {
  display: flex;
  align-items: center;
  gap: 10px;
}
.lp-part-kaitori-lp-full .kaitori-flow-tel-icon {
  width: 19px;
  height: 24px;
}
.lp-part-kaitori-lp-full .kaitori-flow-tel-num {
  font-size: 28px;
  font-weight: 700;
}
.lp-part-kaitori-lp-full .kaitori-flow-tel-hours {
  font-size: 13px;
  opacity: 0.85;
}
.lp-part-kaitori-lp-full .kaitori-flow-form-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-size: 24px;
  width: 100%;
  height: 80px;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  background: linear-gradient(180deg, #ff8127 0%, var(--kaitori-orange) 50%, #ff3300 100%);
  box-shadow: 0 4px 0 #b92600, 0 8px 0 rgba(0, 0, 0, 0.25);
  color: var(--kaitori-white);
  font-size: 20px;
  font-weight: 700;
}
.lp-part-kaitori-lp-full .kaitori-flow-complete {
  max-width: 460px;
  margin: 60px auto 0;
  text-align: center;
}
.lp-part-kaitori-lp-full .kaitori-flow-complete-badge-wrap {
  display: inline-flex;
  align-items: flex-start;
}
.lp-part-kaitori-lp-full .kaitori-flow-complete-tail {
  width: 51px;
  height: 52px;
  margin-top: 16px;
  flex-shrink: 0;
  background: var(--kaitori-green);
}
.lp-part-kaitori-lp-full .kaitori-flow-complete-tail-left {
  clip-path: polygon(100% 0, 0 0, 27.5% 50%, 0 100%, 100% 100%);
  margin-right: -8px;
}
.lp-part-kaitori-lp-full .kaitori-flow-complete-tail-right {
  clip-path: polygon(0 0, 100% 0, 72.5% 50%, 100% 100%, 0 100%);
  margin-left: -8px;
}
.lp-part-kaitori-lp-full .kaitori-flow-complete-badge {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  white-space: nowrap;
  background: var(--kaitori-green);
  color: var(--kaitori-white);
  font-size: 28px;
  font-weight: 700;
  padding: 6px 40px;
  border: 3px solid var(--kaitori-gray);
}
.lp-part-kaitori-lp-full .kaitori-flow-complete-copy {
  margin: 20px 10px 0;
  font-size: 24px;
  font-weight: 900;
  line-height: 1.4;
}
.lp-part-kaitori-lp-full .kaitori-flow-complete-body {
  text-align: left;
  margin: 15px 10px 0;
  font-size: 16px;
  line-height: 1.6;
}
.lp-part-kaitori-lp-full .kaitori-flow-final-cta {
  position: relative;
  z-index: 1; /* kaitori-cta の絶対配置コーナー装飾より手前に描画されるようにする（kaitori-accept-panel と同じ対策） */
  background: var(--kaitori-white);
  color: var(--kaitori-black); /* kaitori-cta（緑背景・白文字）内で使っても白文字を継承しないようにリセット */
  border-radius: 5px;
  margin: 30px auto 0;
  padding: 30px 20px 45px;
  max-width: 460px;
}
.lp-part-kaitori-lp-full .kaitori-reviews {
  padding: 0 0 60px;
  text-align: center;
  background: var(--kaitori-white);
}
.lp-part-kaitori-lp-full .kaitori-review-carousel {
  position: relative;
  max-width: 480px;
  margin: 72px auto 0;
  /* 送りの所要時間。トラックの移動とタイヤの回転で共有し、必ず同期させる
     （速すぎるとタイヤが回っているのが視認できない） */
  --kaitori-review-slide-duration: .8s;
}
.lp-part-kaitori-lp-full .kaitori-review-radio {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.lp-part-kaitori-lp-full .kaitori-review-viewport {
  container-type: inline-size;
  overflow: hidden;
}
.lp-part-kaitori-lp-full .kaitori-review-track {
  display: flex;
  align-items: flex-start;
  gap: 4cqw;
  /* 上30px= kaitori-review-car の逃げ、下15px= kaitori-review-wheels がカード下端からはみ出す分の逃げ（縦方向はpxのまま）。左は (100-64)/2=18cqw で1枚目を中央寄せ */
  padding: 30px 0 15px 18cqw;
  transition: transform var(--kaitori-review-slide-duration) ease-in-out;
}
.lp-part-kaitori-lp-full .kaitori-review-track-jump {
  transition: none !important;
}
.lp-part-kaitori-lp-full .kaitori-review-wheels img {
  transition: transform var(--kaitori-review-slide-duration) ease-in-out;
}
.lp-part-kaitori-lp-full #kaitori-review-r1:checked ~ .kaitori-review-viewport .kaitori-review-wheels img {
  transform: rotate(0deg);
}
.lp-part-kaitori-lp-full #kaitori-review-r2:checked ~ .kaitori-review-viewport .kaitori-review-wheels img {
  transform: rotate(-360deg);
}
.lp-part-kaitori-lp-full #kaitori-review-r3:checked ~ .kaitori-review-viewport .kaitori-review-wheels img {
  transform: rotate(-720deg);
}
.lp-part-kaitori-lp-full #kaitori-review-r4:checked ~ .kaitori-review-viewport .kaitori-review-wheels img {
  transform: rotate(-1080deg);
}
.lp-part-kaitori-lp-full .kaitori-review-nav {
  display: none;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--kaitori-black);
  color: var(--kaitori-white);
  cursor: pointer;
  z-index: 1;
}
.lp-part-kaitori-lp-full .kaitori-review-nav-arrow {
  width: 44px;
  height: 44px;
  --kaitori-chevron-weight: 3px;
}
.lp-part-kaitori-lp-full .kaitori-review-prev {
  left: 4px;
}
.lp-part-kaitori-lp-full .kaitori-review-prev .kaitori-review-nav-arrow {
  transform: scaleX(-1);
}
.lp-part-kaitori-lp-full .kaitori-review-next {
  right: 4px;
}
.lp-part-kaitori-lp-full #kaitori-review-r1:checked ~ .kaitori-review-nav-1,
.lp-part-kaitori-lp-full #kaitori-review-r2:checked ~ .kaitori-review-nav-2,
.lp-part-kaitori-lp-full #kaitori-review-r3:checked ~ .kaitori-review-nav-3,
.lp-part-kaitori-lp-full #kaitori-review-r4:checked ~ .kaitori-review-nav-4 {
  display: flex;
}
.lp-part-kaitori-lp-full .kaitori-review-card {
  position: relative;
  flex-shrink: 0;
  width: 64cqw; /* ビューポートの64% */
  height: 330px;
  background: var(--kaitori-ivory);
  padding: 50px 20px 30px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  text-align: left;
  border-radius: 5px;
  overflow: visible;
}
.lp-part-kaitori-lp-full .kaitori-review-car {
  position: absolute;
  left: 50%;
  top: -24px;
  transform: translateX(-50%);
  width: 96px;
  height: 48px;
}
.lp-part-kaitori-lp-full .kaitori-review-body {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
}
.lp-part-kaitori-lp-full .kaitori-review-card h3 {
  font-size: 16px;
  font-weight: 700;
  margin: 0;
  line-height: 1.6;
}
.lp-part-kaitori-lp-full .kaitori-review-card p {
  font-size: 14px;
  line-height: 1.6;
  margin: 0;
  color: var(--kaitori-black);
}
.lp-part-kaitori-lp-full .kaitori-review-card .kaitori-review-who {
  display: inline-block;
  background: var(--kaitori-white);
  border-radius: 999px;
  padding: 5px 10px;
  font-size: 13px;
  color: rgba(29, 29, 29, 0.5);
}
.lp-part-kaitori-lp-full .kaitori-review-wheels {
  position: absolute;
  left: 50%;
  bottom: -15px;
  transform: translateX(-50%);
  display: flex;
  gap: 80px;
  align-items: center;
  justify-content: center;
}
.lp-part-kaitori-lp-full .kaitori-review-wheels img {
  width: 30px;
  height: 30px;
}
.lp-part-kaitori-lp-full .kaitori-faq {
  background: var(--kaitori-ivory);
  padding: 0 20px 60px;
}
.lp-part-kaitori-lp-full .kaitori-faq-list {
  display: flex;
  flex-direction: column;
  gap: 30px;
  max-width: 460px;
  margin: 60px auto 0;
}
.lp-part-kaitori-lp-full .kaitori-faq-item {
  border-radius: 5px;
  overflow: hidden;
}
.lp-part-kaitori-lp-full .kaitori-faq-item summary {
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  background: var(--kaitori-white);
  color: var(--kaitori-black);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
  padding: 10px 20px;
  cursor: pointer;
}
.lp-part-kaitori-lp-full .kaitori-faq-item[open] summary {
  background: var(--kaitori-green);
  color: var(--kaitori-white);
}
.lp-part-kaitori-lp-full .kaitori-faq-item summary::-webkit-details-marker {
  display: none;
}
.lp-part-kaitori-lp-full .kaitori-faq-item summary::after {
  content: "";
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  color: var(--kaitori-white);
  background-color: var(--kaitori-green);
  background-image: linear-gradient(currentColor, currentColor), linear-gradient(currentColor, currentColor);
  background-size: 18px 2px, 2px 18px; /* 横棒, 縦棒 */
  background-position: center;
  background-repeat: no-repeat;
}
.lp-part-kaitori-lp-full .kaitori-faq-item[open] summary::after {
  color: var(--kaitori-green);
  background-color: var(--kaitori-white);
  background-size: 18px 2px, 0 0;
}
.lp-part-kaitori-lp-full .kaitori-faq-item p {
  margin: 0;
  background: var(--kaitori-white);
  padding: 20px;
  font-size: 14px;
  line-height: 1.6;
}
.lp-part-kaitori-lp-full .kaitori-docs {
  background: var(--kaitori-white);
  padding: 45px 10px;
}
.lp-part-kaitori-lp-full .kaitori-docs-panel {
  max-width: 460px;
  margin: 0 auto;
  padding: 30px 20px;
  background: var(--kaitori-ivory);
  box-shadow: 5px 5px 2.5px rgba(0, 0, 0, 0.1);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 30px;
  text-align: center;
}
.lp-part-kaitori-lp-full .kaitori-docs-panel .kaitori-heading {
  padding-top: 0;
}
.lp-part-kaitori-lp-full .kaitori-docs-panel .kaitori-lead {
  font-size: 16px;
  line-height: 1.6;
  margin: 0;
}
.lp-part-kaitori-lp-full .kaitori-doc-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: var(--kaitori-black);
  color: var(--kaitori-white);
  width: 298px;
  max-width: 100%;
  height: 60px;
  padding: 10px 20px;
  border-radius: 100px;
  font-size: 14px;
  font-weight: 700;
  border: none;
  cursor: pointer;
  text-align: left;
}
.lp-part-kaitori-lp-full .kaitori-doc-link b {
  color: var(--kaitori-yellow);
}
.lp-part-kaitori-lp-full .kaitori-doc-arrow {
  width: 16px;
  height: 16px;
  --kaitori-chevron-size: 8px;
  --kaitori-chevron-weight: 2px;
}
.lp-part-kaitori-lp-full .kaitori-cta {
  position: relative;
  overflow: hidden;
  background: var(--kaitori-green);
  color: var(--kaitori-white);
  padding: 30px 10px;
}
.lp-part-kaitori-lp-full .kaitori-cta-lead {
  margin: 10px 0 0;
  font-size: 16px;
  text-align: center;
}
.lp-part-kaitori-lp-full .kaitori-shops {
  background: var(--kaitori-ivory);
  padding: 0 20px 80px;
}
.lp-part-kaitori-lp-full .kaitori-shops-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 15px;
  row-gap: 30px;
  max-width: 440px;
  margin: 30px auto 0;
}
.lp-part-kaitori-lp-full .kaitori-shop-card {
  display: block;
  color: inherit;
}
.lp-part-kaitori-lp-full .kaitori-shop-card img:first-child {
  width: 100%;
  height: 150px;
  object-fit: cover;
}
.lp-part-kaitori-lp-full .kaitori-shop-info {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 60px;
}
.lp-part-kaitori-lp-full .kaitori-shop-text p {
  margin: 0;
}
.lp-part-kaitori-lp-full .kaitori-shop-text p:first-child {
  font-size: 12px;
  font-weight: 700;
}
.lp-part-kaitori-lp-full .kaitori-shop-text .kaitori-shop-name {
  font-size: 16px;
  font-weight: 900;
}
.lp-part-kaitori-lp-full .kaitori-shop-arrow {
  width: 20px;
  height: 20px;
  color: var(--kaitori-green);
}
.lp-part-kaitori-lp-full .kaitori-footer {
  background: var(--kaitori-white);
  padding-bottom: 117px; /* 30px + 下部固定バー(約87px)に隠れないための余白 */
}
.lp-part-kaitori-lp-full .kaitori-footer-brand {
  background: var(--kaitori-green);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 0;
}
.lp-part-kaitori-lp-full .kaitori-footer-nav {
  list-style: none;
  max-width: 440px;
  margin: 25px auto 0;
  padding: 0 20px;
  display: flex;
  flex-direction: column;
  gap: 25px;
}
.lp-part-kaitori-lp-full .kaitori-footer-nav li {
  display: flex;
  align-items: center;
  font-size: 14px;
  border-bottom: none;
}
.lp-part-kaitori-lp-full .kaitori-footer-nav li a {
  display: flex;
  align-items: center;
  /* .kaitori-chevron と同じくの字。疑似要素の中に疑似要素は作れないため、
     この要素自体を正方形にして回している */
}
.lp-part-kaitori-lp-full .kaitori-footer-nav li a::after {
  content: "";
  width: 8px;
  height: 8px;
  margin-left: 1em;
  flex-shrink: 0;
  border-top: 1.6px solid var(--kaitori-green);
  border-right: 1.6px solid var(--kaitori-green);
  transform: rotate(45deg);
}
.lp-part-kaitori-lp-full .kaitori-footer-rule {
  border: none;
  border-top: 1px solid #eee;
  max-width: 440px;
  margin: 25px auto 0;
}
.lp-part-kaitori-lp-full .kaitori-footer-bottom {
  text-align: center;
  font-size: 12px;
  max-width: 440px;
  margin: 20px auto 0;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.lp-part-kaitori-lp-full .kaitori-footer-bottom .kaitori-privacy {
  text-decoration: underline;
}
.lp-part-kaitori-lp-full .kaitori-fixed-cta {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  background: rgba(255, 255, 255, 0.97);
  box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.08);
  z-index: 110;
}
.lp-part-kaitori-lp-full .kaitori-fixed-cta-inner {
  max-width: 600px;
  margin: 0 auto;
  display: flex;
  gap: 10px;
  padding: 16px 10px;
}

/* アニメーションのキーフレーム。@keyframes は .lp-part-kaitori-lp-full の外（ルート直下）に置く。 */
@keyframes kaitori-badge-shine-sweep {
  0% {
    transform: rotate(-20deg) translateX(-300%);
  }
  30% {
    transform: rotate(-20deg) translateX(350%);
  }
  100% {
    transform: rotate(-20deg) translateX(350%);
  }
}
@keyframes kaitori-usp-bounce {
  0%, 10%, 100% {
    transform: translateY(0);
  }
  5% {
    transform: translateY(-10px);
  }
}
@keyframes kaitori-hero-bg-scroll {
  from {
    background-position-x: 0;
  }
  to {
    background-position-x: -390px;
  }
}
@keyframes kaitori-cta-pulse {
  0%, 28%, 100% {
    transform: scale(1);
  }
  14% {
    transform: scale(1.05);
  }
}
/* ヘッダーが sticky なので、アンカーで飛んだ際にセクション先頭が隠れないようにする。
scroll-behavior はドキュメントの実際のスクロール要素（= html）に指定しないと効かないため、
body ではなくここに置く（PC幅でも kaitori-phone-viewport 等の別コンテナは持たず、
常に html/body 側が実スクロール要素になる構成） */
html {
  scroll-padding-top: 52px;
  scroll-behavior: smooth;
}

/* ---------------------------------
買取LP 2026 — モーダル（必要書類／無料査定フォーム）
---------------------------------- */
/* 必要書類モーダル（node 988:3861 / 988:4542）。SP は Figma 実寸(355px)準拠、
PC はオーバーレイ全画面・コンテンツ幅 ~800px（中身は SP のスタイルを踏襲） */
/* ダイアログの外枠・ヘッダー・✕ボタンは必要書類/査定フォームの両モーダルで共通の見た目のため
セレクタをまとめて定義（重複ルール排除）。中身のレイアウト・サイズ指定は各モーダル専用クラス側で行う。 */
.lp-part-kaitori-lp-full {
  /* ✕ ボタンだけをスクロール中もモーダル右上に残す。
     ヘッダーの中ではなくダイアログ（overflow-y: auto のスクロールコンテナ）の直下に置き、
     sticky で上端から 15px の位置に貼り付ける。本来の位置はダイアログ上端 (0) で top:15px より
     上にあたるため、スクロール前から 15px の位置に固定され、従来と同じ見た目になる。
     margin-bottom で自身の高さを打ち消し、後続のヘッダーを押し下げないようにしている。 */
  /* 無料査定フォームモーダル（node 893:5353 / 893:6094 / 893:6831 / 893:7621）
  外枠・ヘッダー・✕ボタンは上部の .kaitori-doc-modal, .kaitori-quote-modal 共通ルールを参照。
  ここでは査定フォーム専用のレイアウトのみ定義する。 */
  /* 確認画面は ivory の枠をモーダル幅いっぱいに出すため左右パディングを外す */
  /* 入力時は 2 つのパネルを縦に並べる入れ物。確認画面では全体を ivory の 1 枠にする */
  /* 入力画面の STEP1 / STEP2 の出し分け。確認・完了画面は下の画面種別クラスで扱う */
  /* MW WP Form 連携 -----------------------------------------------------------
     入力画面と確認画面は同じフォーム本文から描画され、確認画面では各フォームタグが
     プレーンテキストに変わる。そのため STEP3 専用のパネルは持たず、画面種別を表す
     ラッパークラス（.mw_wp_form_input / _confirm / _complete）で見た目を切り替える。 */
  /* 確認・完了画面ではステップ分割をやめ、全パネルを続けて表示する */
  /* 確認画面: 入力欄だった箇所が素のテキストになるため、ラベルと値を横並びにする */
  /* バリデーションエラー（MW WP Form が各項目の直後に <span class="error"> で出力する） */
  /* MW WP Form はエラーを項目の直後（同意チェックではチェックボックスと文言の間）に
     出力するため、order で最後に回して幅いっぱいの1行として表示する */
  /* 同意チェックの行は幅を中身に合わせて中央寄せするため、エラーの文字量が行の幅を
     広げないようにする。width: 0 で固有幅への影響を消し、min-width で実際には
     行幅いっぱい（= チェックボックスの左端に揃う1行）に広げる。 */
  /* 同意チェック。MW WP Form が出力する span.mwform-checkbox-field > label > input + span の
     うち、ラベル文字は esc_attr されリンクを入れられないため CSS で隠し、
     リンク入りの文言は隣の .kaitori-quote-checkbox-text で出している。 */
  /* テンプレート側（ステッパー直下）に置いてあり、確認画面のときだけ表示する */
}
.lp-part-kaitori-lp-full .kaitori-doc-modal,
.lp-part-kaitori-lp-full .kaitori-quote-modal {
  border: none;
  padding: 0;
  margin: auto;
  width: calc(100vw - 36px);
  max-width: 800px;
  max-height: calc(100vh - 36px);
  overflow-y: auto;
  /* モーダル内のスクロールが端まで達したとき、余ったスクロール量が背後のページに
     伝わって一緒にスクロールしてしまう（スクロールチェイニング）のを防ぐ */
  overscroll-behavior: contain;
  border-radius: 5px;
  background: var(--kaitori-white);
  box-shadow: 0 0 2.5px rgba(0, 0, 0, 0.25);
}
.lp-part-kaitori-lp-full .kaitori-doc-modal::backdrop,
.lp-part-kaitori-lp-full .kaitori-quote-modal::backdrop {
  background: rgba(0, 0, 0, 0.5);
}
.lp-part-kaitori-lp-full .kaitori-doc-modal[open],
.lp-part-kaitori-lp-full .kaitori-quote-modal[open] {
  display: flex;
  flex-direction: column;
}
.lp-part-kaitori-lp-full .kaitori-doc-modal-header,
.lp-part-kaitori-lp-full .kaitori-quote-modal-header {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  height: 80px;
  padding-top: 20px;
  border-radius: 5px 5px 0 0;
  background: var(--kaitori-white);
}
.lp-part-kaitori-lp-full .kaitori-doc-modal-header h2,
.lp-part-kaitori-lp-full .kaitori-quote-modal-header h2 {
  margin: 0;
  font-size: 22px;
  font-weight: 900;
  letter-spacing: 0.66px;
  line-height: 1.2;
  color: var(--kaitori-black);
  text-align: center;
}
.lp-part-kaitori-lp-full .kaitori-doc-modal-x,
.lp-part-kaitori-lp-full .kaitori-quote-modal-x {
  position: sticky;
  top: 15px;
  z-index: 2;
  align-self: flex-end;
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  margin-right: 15px;
  margin-bottom: -20px;
  padding: 0;
  border: none;
  background: none;
  cursor: pointer;
  /* 2本の線それぞれを半透明にすると交差部分だけ色が濃くなるため、
     線は不透明のまま描いてボタン全体を半透明にする */
  opacity: 0.25;
}
.lp-part-kaitori-lp-full .kaitori-doc-modal-x::before,
.lp-part-kaitori-lp-full .kaitori-doc-modal-x::after,
.lp-part-kaitori-lp-full .kaitori-quote-modal-x::before,
.lp-part-kaitori-lp-full .kaitori-quote-modal-x::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 26px;
  height: 3px;
  border-radius: 100px;
  background: var(--kaitori-black);
}
.lp-part-kaitori-lp-full .kaitori-doc-modal-x::before,
.lp-part-kaitori-lp-full .kaitori-quote-modal-x::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.lp-part-kaitori-lp-full .kaitori-doc-modal-x::after,
.lp-part-kaitori-lp-full .kaitori-quote-modal-x::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.lp-part-kaitori-lp-full .kaitori-doc-modal-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 45px;
  margin-top: 32px;
  padding: 0 10px 40px;
}
.lp-part-kaitori-lp-full .kaitori-doc-modal-body {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  width: 100%;
}
.lp-part-kaitori-lp-full .kaitori-doc-modal-subhead {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
}
.lp-part-kaitori-lp-full .kaitori-doc-modal-subhead p {
  flex-shrink: 0;
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  color: var(--kaitori-black);
  text-align: center;
}
.lp-part-kaitori-lp-full .kaitori-doc-modal-line {
  flex: 1 0 0;
  min-width: 8px;
  height: 1px;
  background: var(--kaitori-black);
  opacity: 0.2;
}
.lp-part-kaitori-lp-full .kaitori-doc-modal-list {
  width: 100%;
  margin: 0;
  padding-left: 1.5em;
  list-style: decimal;
  color: var(--kaitori-black);
}
.lp-part-kaitori-lp-full .kaitori-doc-modal-list li {
  margin-bottom: 20px;
}
.lp-part-kaitori-lp-full .kaitori-doc-modal-list li:last-child {
  margin-bottom: 0;
}
.lp-part-kaitori-lp-full .kaitori-doc-modal-list b {
  display: block;
  margin-bottom: 4px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
}
.lp-part-kaitori-lp-full .kaitori-doc-modal-list p {
  margin: 0;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.6;
}
.lp-part-kaitori-lp-full .kaitori-doc-modal-dismiss {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  flex-shrink: 0;
  width: 315px;
  max-width: 100%;
  height: 60px;
  padding: 10px 20px;
  border: none;
  border-radius: 33.5px;
  background: var(--kaitori-black);
  color: var(--kaitori-white);
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
}
.lp-part-kaitori-lp-full .kaitori-doc-modal-dismiss-arrow {
  width: 20px;
  height: 20px;
}
@media (min-width: 1024px) {
  .lp-part-kaitori-lp-full {
    /* オーバーレイは画面全体・コンテンツ幅は800pxだが、中身は SP と同じスタイルのまま中央寄せする */
  }
  .lp-part-kaitori-lp-full .kaitori-doc-modal {
    max-width: 800px;
  }
  .lp-part-kaitori-lp-full .kaitori-doc-modal-body {
    width: 80%;
  }
}
.lp-part-kaitori-lp-full .kaitori-quote-modal-title-accent {
  color: var(--kaitori-green);
}
.lp-part-kaitori-lp-full .kaitori-quote-modal-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 30px;
  margin-top: 14px;
  padding: 0 10px;
}
.lp-part-kaitori-lp-full .kaitori-quote-modal[data-step="3"] .kaitori-quote-modal-content {
  padding: 0;
}
.lp-part-kaitori-lp-full .kaitori-quote-modal-body {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 30px;
  width: 100%;
}
@media (min-width: 1024px) {
  .lp-part-kaitori-lp-full .kaitori-quote-modal-body {
    width: 80%;
  }
}
.lp-part-kaitori-lp-full .kaitori-quote-stepper {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  width: calc(100% + 20px);
  margin: 0 -10px;
  padding: 10px 0;
  background: repeating-linear-gradient(135deg, #f2f2f2 0 14px, #e9e9e9 14px 28px);
}
.lp-part-kaitori-lp-full .kaitori-quote-step-pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 10px 5px 5px;
  border: 1px solid var(--kaitori-green);
  border-radius: 100px;
  background: var(--kaitori-white);
  color: var(--kaitori-green);
  font-size: 14px;
  font-weight: 700;
  white-space: nowrap;
}
.lp-part-kaitori-lp-full .kaitori-quote-step-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border-radius: 100px;
  background: var(--kaitori-green);
  color: var(--kaitori-white);
  font-size: 12px;
  line-height: 1;
  font-weight: 700;
  text-align: center;
}
.lp-part-kaitori-lp-full .kaitori-quote-step-sep {
  width: 8px;
  height: 14px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
}
.lp-part-kaitori-lp-full .kaitori-quote-step-sep::before {
  content: "";
  width: 0;
  height: 0;
  border-top: 7px solid transparent;
  border-bottom: 7px solid transparent;
  border-left: 8px solid var(--kaitori-green);
}
.lp-part-kaitori-lp-full .kaitori-quote-modal[data-step="1"] [data-quote-step-pill="1"],
.lp-part-kaitori-lp-full .kaitori-quote-modal[data-step="2"] [data-quote-step-pill="2"],
.lp-part-kaitori-lp-full .kaitori-quote-modal[data-step="3"] [data-quote-step-pill="1"],
.lp-part-kaitori-lp-full .kaitori-quote-modal[data-step="3"] [data-quote-step-pill="2"],
.lp-part-kaitori-lp-full .kaitori-quote-modal[data-step="4"] [data-quote-step-pill="3"] {
  background: var(--kaitori-green);
  color: var(--kaitori-white);
}
.lp-part-kaitori-lp-full .kaitori-quote-modal[data-step="1"] [data-quote-step-pill="1"] .kaitori-quote-step-num,
.lp-part-kaitori-lp-full .kaitori-quote-modal[data-step="2"] [data-quote-step-pill="2"] .kaitori-quote-step-num,
.lp-part-kaitori-lp-full .kaitori-quote-modal[data-step="3"] [data-quote-step-pill="1"] .kaitori-quote-step-num,
.lp-part-kaitori-lp-full .kaitori-quote-modal[data-step="3"] [data-quote-step-pill="2"] .kaitori-quote-step-num,
.lp-part-kaitori-lp-full .kaitori-quote-modal[data-step="4"] [data-quote-step-pill="3"] .kaitori-quote-step-num {
  background: var(--kaitori-white);
  color: var(--kaitori-green);
}
.lp-part-kaitori-lp-full .kaitori-quote-groups {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 30px;
  width: 100%;
}
.lp-part-kaitori-lp-full .kaitori-quote-panel {
  display: none;
  flex-direction: column;
  align-items: center;
  gap: 30px;
  width: 100%;
}
.lp-part-kaitori-lp-full .kaitori-quote-modal[data-step="1"] .kaitori-quote-panel-1,
.lp-part-kaitori-lp-full .kaitori-quote-modal[data-step="2"] .kaitori-quote-panel-2 {
  display: flex;
}
.lp-part-kaitori-lp-full .mw_wp_form,
.lp-part-kaitori-lp-full .mw_wp_form form {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 30px;
  width: 100%;
}
.lp-part-kaitori-lp-full .mw_wp_form_confirm .kaitori-quote-panel,
.lp-part-kaitori-lp-full .mw_wp_form_complete .kaitori-quote-panel {
  display: flex;
}
.lp-part-kaitori-lp-full .mw_wp_form_input .is-confirm-only,
.lp-part-kaitori-lp-full .mw_wp_form_confirm .is-input-only {
  display: none;
}
.lp-part-kaitori-lp-full .mw_wp_form_confirm {
  /* お車情報とご連絡先で枠を分けず、全体を 1 つの ivory 枠にする */
  /* 「ご連絡先」の区切りは直後の項目一覧から少し離す */
  /* 「お車情報を変更する」は直前の項目一覧から少し離す */
  /* 「項目名：入力値」の 1 行にする。
     幅が足りないときは項目名ではなく入力値のほうを折り返す。
     overflow-wrap は break-word ではなく anywhere にすること。break-word は要素の
     最小幅の計算に影響しないため、flex の中では縮まずにはみ出してしまう。 */
  /* select の装飾シェブロンは入力欄が無い確認画面では不要 */
  /* 同意チェックは確認画面では素のテキスト（"同意する"）として出力される。
     テキストノードは CSS で選択できないため、行全体の font-size を 0 にして消し、
     チェック済みの箱を ::before で描く。文言は .kaitori-quote-checkbox-text が
     自前で font-size を持っているのでそのまま表示される。
     gap は空のテキストノードにも掛かって二重になるため 0 にし、代わりに margin で空ける。 */
  /* 確認画面では押してもチェックは切り替わらないため */
}
.lp-part-kaitori-lp-full .mw_wp_form_confirm .kaitori-quote-groups {
  gap: 40px;
  padding: 30px 10px;
  background: var(--kaitori-ivory);
}
.lp-part-kaitori-lp-full .mw_wp_form_confirm .kaitori-quote-panel {
  gap: 16px;
  padding: 0;
  background: none;
}
.lp-part-kaitori-lp-full .mw_wp_form_confirm .kaitori-quote-fields {
  gap: 16px;
}
.lp-part-kaitori-lp-full .mw_wp_form_confirm .kaitori-doc-modal-subhead {
  margin-bottom: 20px;
}
.lp-part-kaitori-lp-full .mw_wp_form_confirm .kaitori-quote-cta-outline {
  margin-top: 20px;
}
.lp-part-kaitori-lp-full .mw_wp_form_confirm .kaitori-quote-field {
  flex-direction: row;
  /* 入力値が複数行になっても項目名は先頭行に揃える */
  align-items: flex-start;
  gap: 0;
  font-size: 14px;
  font-weight: 700;
  overflow-wrap: anywhere;
}
.lp-part-kaitori-lp-full .mw_wp_form_confirm .kaitori-quote-field-label-row {
  flex-shrink: 0;
}
.lp-part-kaitori-lp-full .mw_wp_form_confirm .kaitori-quote-field-label-row::after {
  content: "：";
}
.lp-part-kaitori-lp-full .mw_wp_form_confirm .kaitori-quote-select-wrap {
  width: auto;
}
.lp-part-kaitori-lp-full .mw_wp_form_confirm .kaitori-quote-select-chevron {
  display: none;
}
.lp-part-kaitori-lp-full .mw_wp_form_confirm .kaitori-quote-checkbox-row {
  gap: 0;
  font-size: 0;
  line-height: 0;
  cursor: default;
  /* チェックマーク。長辺と短辺の 2 辺だけを残した長方形を -45 度回して描く */
}
.lp-part-kaitori-lp-full .mw_wp_form_confirm .kaitori-quote-checkbox-row::before {
  content: "";
  width: 12px;
  height: 6px;
  margin: 0 14px 4px 2px;
  flex-shrink: 0;
  border-left: 2px solid var(--kaitori-green);
  border-bottom: 2px solid var(--kaitori-green);
  transform: rotate(-45deg);
}
.lp-part-kaitori-lp-full .mw_wp_form_confirm .kaitori-quote-checkbox-text {
  cursor: default;
}
.lp-part-kaitori-lp-full .kaitori-quote-field .error,
.lp-part-kaitori-lp-full .kaitori-quote-checkbox-row .error {
  display: block;
  order: 1;
  width: 100%;
  font-size: 13px;
  font-weight: 700;
  color: var(--kaitori-orange);
}
.lp-part-kaitori-lp-full .kaitori-quote-checkbox-row .error {
  width: 0;
  min-width: 100%;
}
.lp-part-kaitori-lp-full .kaitori-quote-fields {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
}
.lp-part-kaitori-lp-full .kaitori-quote-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  width: 100%;
}
.lp-part-kaitori-lp-full .kaitori-quote-field-label-row {
  display: flex;
  align-items: center;
  gap: 5px;
}
.lp-part-kaitori-lp-full .kaitori-quote-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 2px 5px;
  background: var(--kaitori-green);
  color: var(--kaitori-white);
  font-size: 12px;
  font-weight: 700;
  flex-shrink: 0;
}
.lp-part-kaitori-lp-full .kaitori-quote-badge.is-optional {
  background: #a8a8a8;
}
.lp-part-kaitori-lp-full .kaitori-quote-label-text {
  font-size: 14px;
  font-weight: 700;
  color: var(--kaitori-black);
}
.lp-part-kaitori-lp-full .kaitori-quote-input,
.lp-part-kaitori-lp-full .kaitori-quote-select {
  width: 100%;
  height: 44px;
  padding: 0 10px;
  border: 1px solid #d9d9d9;
  border-radius: 0;
  background: var(--kaitori-white);
  font-family: inherit;
  font-size: 14px;
  font-weight: 700;
  color: var(--kaitori-black);
  appearance: none;
}
.lp-part-kaitori-lp-full .kaitori-quote-input::placeholder {
  color: #a8a8a8;
  opacity: 1;
}
.lp-part-kaitori-lp-full .kaitori-quote-select option[value=""] {
  color: #a8a8a8;
}
.lp-part-kaitori-lp-full .kaitori-quote-select option:not([value=""]) {
  color: var(--kaitori-black);
}
.lp-part-kaitori-lp-full .kaitori-quote-select.is-placeholder {
  color: #a8a8a8;
}
.lp-part-kaitori-lp-full .kaitori-quote-field.is-required .kaitori-quote-input,
.lp-part-kaitori-lp-full .kaitori-quote-field.is-required .kaitori-quote-select {
  background: var(--kaitori-ivory);
  border-color: var(--kaitori-green);
}
.lp-part-kaitori-lp-full .kaitori-quote-select-wrap {
  position: relative;
  width: 100%;
}
.lp-part-kaitori-lp-full .kaitori-quote-select-wrap .kaitori-quote-select {
  padding-right: 34px;
}
.lp-part-kaitori-lp-full .kaitori-quote-select-chevron {
  position: absolute;
  right: 10px;
  top: 12px;
  width: 20px;
  height: 20px;
  pointer-events: none;
  color: var(--kaitori-black);
  /* 下向き。回す向きに合わせて寄せる方向も変える */
}
.lp-part-kaitori-lp-full .kaitori-quote-select-chevron::before {
  transform: translate(-50%, -75%) rotate(135deg);
}
.lp-part-kaitori-lp-full .kaitori-quote-icon-chevron {
  width: 20px;
  height: 20px;
}
.lp-part-kaitori-lp-full .kaitori-quote-cta-orange,
.lp-part-kaitori-lp-full .kaitori-quote-cta-black,
.lp-part-kaitori-lp-full .kaitori-quote-cta-outline {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  max-width: 315px;
  height: 60px;
  padding: 10px 20px;
  border-radius: 33.5px;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  font-family: inherit;
}
.lp-part-kaitori-lp-full .kaitori-quote-cta-orange {
  border: none;
  background: var(--kaitori-orange);
  color: var(--kaitori-white);
}
.lp-part-kaitori-lp-full .kaitori-quote-cta-black {
  border: none;
  background: var(--kaitori-black);
  color: var(--kaitori-white);
}
.lp-part-kaitori-lp-full .kaitori-quote-cta-outline {
  border: 2px solid var(--kaitori-green);
  background: var(--kaitori-white);
  color: var(--kaitori-green);
  padding: 8px 18px;
}
.lp-part-kaitori-lp-full .kaitori-quote-checkbox-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  cursor: pointer;
  /* チェックボックス＋文言の幅にとどめて中央寄せする（親は align-items: center） */
  width: fit-content;
  max-width: 100%;
  margin-top: 20px;
}
.lp-part-kaitori-lp-full .kaitori-quote-checkbox-row .mwform-checkbox-field-text {
  display: none;
}
.lp-part-kaitori-lp-full .kaitori-quote-checkbox-row label {
  display: block;
  line-height: 0;
  cursor: pointer;
}
.lp-part-kaitori-lp-full .kaitori-quote-checkbox-row input[type=checkbox] {
  width: 20px;
  height: 20px;
  margin: 0;
  flex-shrink: 0;
  border: 1px solid var(--kaitori-green);
  background: var(--kaitori-white);
  appearance: none;
  cursor: pointer;
  /* チェックマークは確認画面と同じ描き方。appearance: none にした
     チェックボックスの疑似要素として重ねる */
}
.lp-part-kaitori-lp-full .kaitori-quote-checkbox-row input[type=checkbox]::before {
  content: "";
  display: block;
  width: 12px;
  height: 6px;
  margin: 2px auto 0;
  border-left: 2px solid var(--kaitori-green);
  border-bottom: 2px solid var(--kaitori-green);
  transform: rotate(-45deg);
  opacity: 0;
}
.lp-part-kaitori-lp-full .kaitori-quote-checkbox-row input[type=checkbox]:checked::before {
  opacity: 1;
}
.lp-part-kaitori-lp-full .kaitori-quote-checkbox-text {
  font-size: 16px;
  line-height: 1.6;
  color: var(--kaitori-black);
  /* 文言クリックでもチェックが切り替わる（js/lp-purchase-2026.js）。
     リンク部分はそのままページ遷移する */
  cursor: pointer;
}
.lp-part-kaitori-lp-full .kaitori-quote-checkbox-text a {
  color: var(--kaitori-green);
  text-decoration: underline;
  cursor: pointer;
}
.lp-part-kaitori-lp-full .kaitori-quote-confirm-heading {
  display: none;
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  text-align: center;
  color: var(--kaitori-black);
}
.lp-part-kaitori-lp-full .kaitori-quote-modal[data-step="3"] .kaitori-quote-confirm-heading {
  display: block;
}
.lp-part-kaitori-lp-full .kaitori-quote-done-heading {
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  text-align: center;
  color: var(--kaitori-black);
}
.lp-part-kaitori-lp-full .kaitori-quote-done-body {
  margin: 0;
  font-size: 16px;
  line-height: 1.6;
  text-align: left;
  color: var(--kaitori-black);
}
.lp-part-kaitori-lp-full .kaitori-quote-note {
  flex-shrink: 0;
  width: 100%;
  margin-top: 30px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 20px;
  background: repeating-linear-gradient(135deg, #f2f2f2 0 14px, #e9e9e9 14px 28px);
  border-radius: 0 0 5px 5px;
}
.lp-part-kaitori-lp-full .kaitori-quote-note p:first-child {
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  color: var(--kaitori-black);
}
.lp-part-kaitori-lp-full .kaitori-quote-note p:last-child {
  margin: 0;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.6;
  color: var(--kaitori-black);
}

/* ---------------------------------
買取LP 2026 — PC (>=1080px) 背景ヒーロー＋スマホプレビュー枠
---------------------------------- */
@media (min-width: 1080px) {
  .lp-part-kaitori-lp-full {
    /* 背景はウィンドウ全体に敷く（kaitori-pc-content / kaitori-phone-shell の幅とは無関係）。
    ページ本体が通常どおりスクロールするようになったので、背景は position: fixed で
    ビューポートに固定し、スクロールしても常に画面いっぱいに見えるようにする */
    /* bg_mv_01_pc（山）は上部の空が透過。画面の上 85% に cover で敷き、下端基準でトリミングする
    （横長の画面では透過の空側が切れ、縦長の画面では左右が切れる。山の麓は常に枠の下端に来て、そこへ 02 の道路が重なる） */
    /* bg_mv_02_pc（道路）は上部が透過の横長の帯。幅100%・原寸比のまま画面下端に置き、
    01 の麓に重ねる */
    /* Figma 995:6195 実測どおり。直下は [kaitori-pc-main] と [navcard] の2要素で gap:56px。
    右の kaitori-phone-shell はページ本体として通常どおり縦に伸びて全体スクロールで流れるので、
    左のヒーローはその間 sticky で画面内に留め続ける（スクロール量に応じて隠れる/独立スクロールする、
    という不自然な体験を避けるため） */
    /* Figma 995:6196 実測どおり。top-row/logo/cta を gap:32px で束ねる */
    /* Figma実データ(995:6194)どおり、バッジとコピーは横並びのflex行 */
    /* node 995:6190 実測どおり */
    /* node 988:2056 実データどおり、ナビとコピーライトは1つの白いカードにまとめる */
    /* node 903:1733 / 903:1758 実測どおり左右で幅が異なる */
    /* ページ本体として通常フローで縦に伸ばす（固定高さ・独自スクロールをやめ、ブラウザ標準の
    ページスクロールに乗せる） */
  }
  .lp-part-kaitori-lp-full {
    background: linear-gradient(160deg, #5fb6ff 0%, #bfe4ff 60%);
  }
  .lp-part-kaitori-lp-full .kaitori-hamburger {
    display: none;
  }
  .lp-part-kaitori-lp-full .kaitori-pc-wrap {
    position: relative;
  }
  .lp-part-kaitori-lp-full .kaitori-pc-bg {
    display: block; /* base(SP)ルールの display:none を上書き */
    position: fixed;
    inset: 0;
    overflow: hidden;
    background: linear-gradient(180deg, #0095ff 0%, #56b9ff 18%, #56b9ff 100%);
  }
  .lp-part-kaitori-lp-full .kaitori-pc-bg-01 {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 85%;
    object-fit: cover;
    object-position: center bottom;
  }
  .lp-part-kaitori-lp-full .kaitori-pc-bg-02 {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: auto;
  }
  .lp-part-kaitori-lp-full .kaitori-pc-inner {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    max-width: 1420px;
    margin: 0 auto;
    padding: 0 40px;
  }
  .lp-part-kaitori-lp-full .kaitori-pc-content {
    position: sticky;
    top: 0;
    align-self: flex-start;
    height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 721.355px;
    /* 画面の高さが低いと中身(Figma実測で約968px)が入り切らないため、
    間隔だけ画面高さに応じて縮める（要素自体のサイズはFigmaのまま変えない） */
    gap: clamp(16px, 2.2vh, 56px);
    color: var(--kaitori-white);
  }
  .lp-part-kaitori-lp-full .kaitori-pc-main {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: clamp(10px, 1.3vh, 32px);
    width: 100%;
  }
  .lp-part-kaitori-lp-full .kaitori-pc-top-row {
    display: flex;
    align-items: center;
    gap: 22px;
    width: 100%;
  }
  .lp-part-kaitori-lp-full .kaitori-pc-badge {
    flex-shrink: 0;
    width: 170px;
    height: 170px;
  }
  .lp-part-kaitori-lp-full .kaitori-pc-copy {
    width: 529.355px;
    height: auto;
    min-width: 0;
  }
  .lp-part-kaitori-lp-full .kaitori-pc-logo-img {
    width: min(100%, 576.816px);
    height: auto;
    filter: drop-shadow(0 0 8px rgba(0, 0, 0, 0.5));
  }
  .lp-part-kaitori-lp-full .kaitori-pc-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 13.333px;
    height: 106.667px;
    padding: 0 26.667px;
    border-radius: 6.667px;
    border: none;
    cursor: pointer;
    background: linear-gradient(180deg, #ff8127 0%, var(--kaitori-orange) 50%, #ff3300 100%);
    box-shadow: 0 5.333px 0 #b92600, 0 10.667px 0 rgba(0, 0, 0, 0.25);
    color: var(--kaitori-white);
    font-size: 32px;
    font-weight: 700;
  }
  .lp-part-kaitori-lp-full .kaitori-pc-navcard {
    width: 100%;
    background: var(--kaitori-white);
    color: var(--kaitori-black);
    border-radius: 10px;
    padding: clamp(28px, 3.5vh, 90px) 45px clamp(20px, 2.3vh, 60px);
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: clamp(14px, 1.75vh, 45px);
  }
  .lp-part-kaitori-lp-full .kaitori-pc-navcard-grid {
    display: flex;
    gap: 60px;
  }
  .lp-part-kaitori-lp-full .kaitori-pc-navcard ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 20px;
  }
  .lp-part-kaitori-lp-full .kaitori-pc-navcard-grid ul:first-child {
    width: 245px;
  }
  .lp-part-kaitori-lp-full .kaitori-pc-navcard-grid ul:last-child {
    width: 254px;
  }
  .lp-part-kaitori-lp-full .kaitori-pc-navcard li {
    font-size: 16px;
    padding-bottom: 10px;
    border-bottom: 1px solid #ddd;
  }
  .lp-part-kaitori-lp-full .kaitori-pc-navcard li a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    /* node 903:1737 実測どおり8x8 */
  }
  .lp-part-kaitori-lp-full .kaitori-pc-navcard li a::after {
    content: "";
    width: 8px;
    height: 8px;
    flex-shrink: 0;
    aspect-ratio: 1/1;
    border-top: 2px solid var(--kaitori-green);
    border-right: 2px solid var(--kaitori-green);
    transform: rotate(45deg);
  }
  .lp-part-kaitori-lp-full .kaitori-pc-copyright {
    font-size: 12px;
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  .lp-part-kaitori-lp-full .kaitori-pc-copyright .kaitori-privacy {
    text-decoration: underline;
  }
  .lp-part-kaitori-lp-full .kaitori-phone-shell {
    flex: 0 0 500px;
    max-width: 500px;
    box-shadow: -4px 0 24px rgba(0, 0, 0, 0.25);
  }
  .lp-part-kaitori-lp-full .kaitori-phone-viewport {
    background: var(--kaitori-white);
    /* SP側の各セクションは個別にPC用の実測値を持たせておらず、375px想定のpx値のまま。
    スマホ枠(kaitori-phone-shell、幅500px)の中で文字や画像が小さく間延びして見えるため、
    375px幅で組んだものを zoom で拡大して収める。--kaitori-sp-zoom を変えるだけで倍率調整できる
    （kaitori-phone-shell の幅を変えたときは、ここも合わせて調整すること） */
  }
  .lp-part-kaitori-lp-full .kaitori-phone-viewport .kaitori-sp-page {
    --kaitori-sp-zoom: 1.2;
    width: calc(500px / var(--kaitori-sp-zoom));
    zoom: var(--kaitori-sp-zoom);
    margin: 0 auto;
  }
  .lp-part-kaitori-lp-full .kaitori-phone-viewport .kaitori-fixed-cta {
    display: none;
  }
}

/*# sourceMappingURL=lp-purchase-2026.css.map */
