@charset "UTF-8";
/* ==================================================================
 * lp-layouts.css — 全 LP 共通（page-lp-mock.php 用）
 *   1. mock の CSS 変数を design-rules の値へ差し替え
 *   2. mock section のリセットと .lpr-sec ラッパ
 *   3. Layout E/F/G/H の定義
 *   4. .mock-embed 内で Layout A〜H のタイポを復元
 *   5. mock 由来コンポーネントの微調整
 * ================================================================== */

/* ------------------------------------------------------------------
 * 1. トークン差し替え（これだけで配色・書体が design-rules に揃う）
 * ------------------------------------------------------------------ */
body.is-lp-mock,
body.is-lp-mock .pm-mock{
  --teal:#1C93D2;   --teal-dark:#1B224C;  --teal-light:#EAF4FB;
  --navy:#1B224C;   --navy-deep:#12183A;
  --blue:#1C93D2;   --blue-light:#EAF4FB;
  --text:#1B224C;   --muted:#5C6B80;      --muted-soft:#7C89A0;
  --border:#E2E8F1; --border-soft:#EDF1F5;
  --bg:#F4F7FB;     --white:#fff;
  --font:'Noto Sans JP',-apple-system,BlinkMacSystemFont,'Helvetica Neue',Arial,sans-serif;
  --font-en:'Poppins','Helvetica Neue',Arial,sans-serif;
  --maxw:100%;
}

/* ------------------------------------------------------------------
 * 2. mock section のリセット + .lpr-sec ラッパ
 * ------------------------------------------------------------------ */
body.is-lp-mock .mock-embed{background:transparent !important;font-size:20px;}
body.is-lp-mock .mock-embed .sec-eyebrow,
body.is-lp-mock .mock-embed .eyebrow{display:none !important;}
/* .lpr-sec 自身は除外する（除外しないと交互背景と余白が消える）*/
body.is-lp-mock .mock-embed section:not(.lpr-sec):not(.tso-cta-band){padding:0 !important;background:transparent !important;border:0 !important;}
body.is-lp-mock .mock-embed .wrap,
body.is-lp-mock .mock-embed .sec .wrap{max-width:none !important;padding:0 !important;margin:0 !important;width:100% !important;}
body.is-lp-mock .mock-embed h3,
body.is-lp-mock .mock-embed p,
body.is-lp-mock .mock-embed ul,
body.is-lp-mock .mock-embed ol,
body.is-lp-mock .mock-embed table,
body.is-lp-mock .mock-embed .cards,
body.is-lp-mock .mock-embed .flow,
body.is-lp-mock .mock-embed .reasons,
body.is-lp-mock .mock-embed .links,
body.is-lp-mock .mock-embed .faq{max-width:none !important;width:100% !important;margin-left:0 !important;margin-right:0 !important;}

body.is-lp-mock .lpr-sec{position:relative;overflow:hidden;padding:64px 0 56px;background:#fff;}
body.is-lp-mock .lpr-sec--alt{background:#F3F6F9 !important;}
/* TOP / proapocall と同じフルブリード幅 */
body.is-lp-mock .lpr-block{max-width:100%;width:100%;margin:0;padding:0 60px;position:relative;z-index:1;}
@media (max-width:1024px){body.is-lp-mock .lpr-sec{padding:48px 0 40px;}body.is-lp-mock .lpr-block{padding:0 32px;}}
@media (max-width:640px){body.is-lp-mock .lpr-sec{padding:40px 0 34px;}body.is-lp-mock .lpr-block{padding:0 20px;}}

body.is-lp-mock .lpr-sec .lpr-bg-word{
  position:absolute;top:-16px;font-family:'Poppins',sans-serif;font-weight:700;
  font-size:clamp(55px,6vw,99px);line-height:1;letter-spacing:-.02em;
  color:#E1EBF3;white-space:nowrap;z-index:0;pointer-events:none;user-select:none;text-transform:uppercase;
}
body.is-lp-mock .lpr-sec--alt .lpr-bg-word{color:#fff;}
body.is-lp-mock .lpr-sec .lpr-bg-word--left{left:24px;}
body.is-lp-mock .lpr-sec .lpr-bg-word--right{right:24px;}
body.is-lp-mock .lpr-sec-h2{
  font-family:'Noto Sans JP',sans-serif !important;font-weight:900 !important;
  font-size:clamp(32.5px,2.6vw,44px) !important;line-height:1.45 !important;
  color:var(--navy,#1B224C) !important;margin:0 0 24px !important;letter-spacing:-.005em !important;
  position:relative;z-index:1;
}
/* mock 側の最終CTAはテーマ側の .lpr-cta を使うので隠す */
body.is-lp-mock .finalcta,
body.is-lp-mock .mock-embed .finalcta{display:none !important;}

/* ------------------------------------------------------------------
 * 3. Layout E/F/G/H
 * ------------------------------------------------------------------ */

/* ---- E：PIPELINE（矢羽根で連結した工程帯 / 濃紺→空色で進行を表現）---- */
body.is-lp-mock .mock-embed .lps-pipe{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;align-items:stretch;margin:8px 0 4px;}
body.is-lp-mock .mock-embed .lps-pipe-cell{
  position:relative;padding:30px 40px 28px 54px;color:#fff;background:var(--navy,#1B224C);
  clip-path:polygon(0 0, calc(100% - 24px) 0, 100% 50%, calc(100% - 24px) 100%, 0 100%, 24px 50%);
  margin-left:-24px;
}
body.is-lp-mock .mock-embed .lps-pipe-cell:first-child{
  clip-path:polygon(0 0, calc(100% - 24px) 0, 100% 50%, calc(100% - 24px) 100%, 0 100%);
  margin-left:0;padding-left:34px;
}
body.is-lp-mock .mock-embed .lps-pipe-cell:nth-child(1){background:#1B224C;}
body.is-lp-mock .mock-embed .lps-pipe-cell:nth-child(2){background:#1E3A65;}
body.is-lp-mock .mock-embed .lps-pipe-cell:nth-child(3){background:#1A5589;}
body.is-lp-mock .mock-embed .lps-pipe-cell:nth-child(4){background:#1775AF;}
body.is-lp-mock .mock-embed .lps-pipe-cell:nth-child(5){background:#1C93D2;}
body.is-lp-mock .mock-embed .lps-pipe-cell:nth-child(6){background:#3FA8DE;}
body.is-lp-mock .mock-embed .lps-pipe-tag{font-family:'Poppins',sans-serif;font-size:14px;font-weight:700;letter-spacing:.18em;color:rgba(255,255,255,.72);margin-bottom:10px;}
@media (max-width:1200px){
  body.is-lp-mock .mock-embed .lps-pipe{grid-auto-flow:row;}
  body.is-lp-mock .mock-embed .lps-pipe-cell,
  body.is-lp-mock .mock-embed .lps-pipe-cell:first-child{
    clip-path:polygon(0 0, 100% 0, 100% calc(100% - 18px), 50% 100%, 0 calc(100% - 18px));
    margin:0 0 -18px;padding:24px 26px 42px;
  }
}

/* ---- F：STAIRS（右へ伸びる積み上げ。最終段は濃紺＝確定）---- */
body.is-lp-mock .mock-embed .lps-stairs{display:flex;flex-direction:column;gap:10px;}
body.is-lp-mock .mock-embed .lps-stair{
  display:grid;grid-template-columns:88px 1fr;gap:26px;align-items:center;
  background:#fff;border:1px solid var(--border,#E2E8F1);border-left:4px solid var(--teal,#1C93D2);
  padding:24px 32px;transition:.2s;
}
body.is-lp-mock .mock-embed .lps-stair:hover{border-color:var(--teal,#1C93D2);box-shadow:0 12px 26px rgba(27,34,76,.08);}
body.is-lp-mock .mock-embed .lps-stair:last-child{background:var(--navy,#1B224C);border-color:var(--navy,#1B224C);border-left-color:var(--teal,#1C93D2);}
body.is-lp-mock .mock-embed .lps-stair-no{font-family:'Poppins',sans-serif;font-weight:700;font-size:53px;line-height:1;color:var(--teal,#1C93D2);letter-spacing:-.03em;text-align:center;}
body.is-lp-mock .mock-embed .lps-stair:last-child .lps-stair-no{color:#fff;}
body.is-lp-mock .mock-embed .lps-stair-tag{font-family:'Poppins',sans-serif;font-size:14px;font-weight:700;letter-spacing:.18em;color:var(--teal,#1C93D2);margin-bottom:6px;}
@media (max-width:1024px){
  body.is-lp-mock .mock-embed .lps-stair{width:100% !important;grid-template-columns:60px 1fr;gap:18px;padding:20px 22px;}
  body.is-lp-mock .mock-embed .lps-stair-no{font-size:42.5px;}
}

/* ---- G：TIMELINE（横軸・上下交互）---- */
body.is-lp-mock .mock-embed .lps-tl{position:relative;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;min-height:320px;align-items:center;margin:6px 0;}
body.is-lp-mock .mock-embed .lps-tl::before{content:"";position:absolute;left:0;right:0;top:50%;height:2px;background:linear-gradient(90deg,var(--navy,#1B224C),var(--teal,#1C93D2));}
body.is-lp-mock .mock-embed .lps-tl-node{position:relative;height:100%;padding:0 18px;}
body.is-lp-mock .mock-embed .lps-tl-dot{position:absolute;top:50%;left:50%;width:13px;height:13px;background:var(--teal,#1C93D2);transform:translate(-50%,-50%) rotate(45deg);box-shadow:0 0 0 6px #fff;}
body.is-lp-mock .mock-embed .lpr-sec--alt .lps-tl-dot{box-shadow:0 0 0 6px #EEF4F9;}
body.is-lp-mock .mock-embed .lps-tl-node::after{content:"";position:absolute;left:50%;width:1px;height:30px;background:#B9D8EC;}
body.is-lp-mock .mock-embed .lps-tl-node:nth-child(odd)::after{bottom:50%;}
body.is-lp-mock .mock-embed .lps-tl-node:nth-child(even)::after{top:50%;}
body.is-lp-mock .mock-embed .lps-tl-body{position:absolute;left:18px;right:18px;text-align:center;}
body.is-lp-mock .mock-embed .lps-tl-node:nth-child(odd) .lps-tl-body{bottom:calc(50% + 32px);}
body.is-lp-mock .mock-embed .lps-tl-node:nth-child(even) .lps-tl-body{top:calc(50% + 32px);}
body.is-lp-mock .mock-embed .lps-tl-tag{font-family:'Poppins',sans-serif;font-size:14px;font-weight:700;letter-spacing:.18em;color:var(--teal,#1C93D2);margin-bottom:6px;}
@media (max-width:1024px){
  body.is-lp-mock .mock-embed .lps-tl{grid-auto-flow:row;min-height:0;padding-left:26px;}
  body.is-lp-mock .mock-embed .lps-tl::before{left:5px;right:auto;top:0;bottom:0;width:2px;height:auto;background:linear-gradient(180deg,var(--navy,#1B224C),var(--teal,#1C93D2));}
  body.is-lp-mock .mock-embed .lps-tl-node{height:auto;padding:14px 0 14px 6px;}
  body.is-lp-mock .mock-embed .lps-tl-node::after{display:none;}
  body.is-lp-mock .mock-embed .lps-tl-dot{left:-21px;top:24px;}
  body.is-lp-mock .mock-embed .lps-tl-body{position:static;text-align:left;}
}

/* ---- H：ICONROW（箱をやめた罫線リスト）---- */
body.is-lp-mock .mock-embed .lps-iconrow{display:flex;flex-direction:column;}
body.is-lp-mock .mock-embed .lps-iconrow-item{
  display:grid;grid-template-columns:56px 132px 1fr;gap:26px;align-items:center;
  padding:18px 10px;border-bottom:1px solid var(--border,#E2E8F1);transition:.2s;
}
body.is-lp-mock .mock-embed .lps-iconrow-item:first-child{border-top:1px solid var(--border,#E2E8F1);}
body.is-lp-mock .mock-embed .lps-iconrow-item:hover{padding-left:20px;}
body.is-lp-mock .mock-embed .lps-iconrow-ic{width:54px;height:54px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--border,#E2E8F1);color:var(--teal,#1C93D2);}
body.is-lp-mock .mock-embed .lps-iconrow-ic svg{width:24px;height:24px;}
body.is-lp-mock .mock-embed .lps-iconrow-no{font-family:'Poppins',sans-serif;font-weight:700;font-size:25px;color:var(--teal,#1C93D2);}
body.is-lp-mock .mock-embed .lps-iconrow-tag{font-family:'Poppins',sans-serif;font-size:15px;font-weight:700;letter-spacing:.16em;color:var(--teal,#1C93D2);}
@media (max-width:768px){
  body.is-lp-mock .mock-embed .lps-iconrow-item{grid-template-columns:44px 1fr;gap:14px 16px;}
  body.is-lp-mock .mock-embed .lps-iconrow-ic{width:44px;height:44px;}
  body.is-lp-mock .mock-embed .lps-iconrow-tag{grid-column:2;margin-bottom:-8px;}
  body.is-lp-mock .mock-embed .lps-iconrow-body{grid-column:2;}
}

/* ------------------------------------------------------------------
 * 4. .mock-embed 内で Layout A〜H のタイポを復元
 *    mock CSS の素タグ指定（h3/h4/p）が Layout クラスより勝つため
 * ------------------------------------------------------------------ */
body.is-lp-mock .mock-embed .lpr-numrow-body h3{font-size:25px !important;font-weight:900 !important;color:var(--navy,#1B224C) !important;line-height:1.5 !important;margin:0 0 8px !important;}
body.is-lp-mock .mock-embed .lpr-numrow-body p{font-size:17.5px !important;color:var(--muted,#5C6B80) !important;line-height:1.85 !important;margin:0 0 6px !important;}
body.is-lp-mock .mock-embed .lpr-numrow-body p:last-child{margin-bottom:0 !important;}

body.is-lp-mock .mock-embed .lpr-zig-content h3{font-size:27.5px !important;font-weight:900 !important;color:var(--navy,#1B224C) !important;line-height:1.5 !important;margin:0 0 10px !important;}
body.is-lp-mock .mock-embed .lpr-zig-content p{font-size:18px !important;color:var(--muted,#5C6B80) !important;line-height:1.85 !important;margin:0 0 6px !important;}
body.is-lp-mock .mock-embed .lpr-zig-content p:last-child{margin-bottom:0 !important;}

body.is-lp-mock .mock-embed .lpr-feat-main h3{font-size:30px !important;font-weight:900 !important;color:#fff !important;line-height:1.5 !important;margin:0 0 14px !important;}
body.is-lp-mock .mock-embed .lpr-feat-main p{font-size:18px !important;line-height:1.9 !important;color:rgba(255,255,255,.88) !important;margin:0 0 10px !important;}
body.is-lp-mock .mock-embed .lpr-feat-main p:last-child{margin-bottom:0 !important;}
body.is-lp-mock .mock-embed .lpr-feat-sub h4{font-size:20px !important;font-weight:900 !important;color:var(--navy,#1B224C) !important;line-height:1.5 !important;margin:0 0 8px !important;}
body.is-lp-mock .mock-embed .lpr-feat-sub p{font-size:16px !important;color:var(--muted,#5C6B80) !important;line-height:1.8 !important;margin:0 0 6px !important;}
body.is-lp-mock .mock-embed .lpr-feat-sub p:last-child{margin-bottom:0 !important;}

body.is-lp-mock .mock-embed .lpr-why5-main h3{font-size:32.5px !important;font-weight:900 !important;color:#fff !important;line-height:1.4 !important;margin:0 0 14px !important;}
body.is-lp-mock .mock-embed .lpr-why5-main p{font-size:18px !important;line-height:1.9 !important;color:rgba(255,255,255,.92) !important;margin:0 0 10px !important;}
body.is-lp-mock .mock-embed .lpr-why5-main p:last-child{margin-bottom:0 !important;}
body.is-lp-mock .mock-embed .lpr-why5-sub h4{font-size:18px !important;font-weight:900 !important;color:var(--navy,#1B224C) !important;line-height:1.45 !important;margin:0 0 8px !important;}
body.is-lp-mock .mock-embed .lpr-why5-sub p{font-size:15.5px !important;color:var(--muted,#5C6B80) !important;line-height:1.75 !important;margin:0 0 6px !important;}
body.is-lp-mock .mock-embed .lpr-why5-sub p:last-child{margin-bottom:0 !important;}

body.is-lp-mock .mock-embed .lps-pipe-cell h3{font-size:21px !important;font-weight:900 !important;color:#fff !important;line-height:1.45 !important;margin:0 0 8px !important;}
body.is-lp-mock .mock-embed .lps-pipe-cell p{font-size:15.5px !important;color:rgba(255,255,255,.82) !important;line-height:1.7 !important;margin:0 !important;}
body.is-lp-mock .mock-embed .lps-stair h3{font-size:24px !important;font-weight:900 !important;color:var(--navy,#1B224C) !important;line-height:1.5 !important;margin:0 0 8px !important;}
body.is-lp-mock .mock-embed .lps-stair p{font-size:17px !important;color:var(--muted,#5C6B80) !important;line-height:1.8 !important;margin:0 !important;}
body.is-lp-mock .mock-embed .lps-stair:last-child h3{color:#fff !important;}
body.is-lp-mock .mock-embed .lps-stair:last-child p{color:rgba(255,255,255,.85) !important;}
body.is-lp-mock .mock-embed .lps-tl-node h3{font-size:21px !important;font-weight:900 !important;color:var(--navy,#1B224C) !important;line-height:1.45 !important;margin:0 0 6px !important;}
body.is-lp-mock .mock-embed .lps-tl-node p{font-size:15.5px !important;color:var(--muted,#5C6B80) !important;line-height:1.7 !important;margin:0 !important;}
body.is-lp-mock .mock-embed .lps-iconrow-item h3{font-size:22.5px !important;font-weight:900 !important;color:var(--navy,#1B224C) !important;line-height:1.5 !important;margin:0 0 4px !important;}
body.is-lp-mock .mock-embed .lps-iconrow-item p{font-size:17px !important;color:var(--muted,#5C6B80) !important;line-height:1.75 !important;margin:0 !important;}

/* 濃色パネル内の <b>（mock のマーカー装飾）は白抜きに */
body.is-lp-mock .mock-embed .lpr-why5-main b,
body.is-lp-mock .mock-embed .lpr-feat-main b,
body.is-lp-mock .mock-embed .lps-pipe-cell b,
body.is-lp-mock .mock-embed .lps-stair:last-child b{color:#fff !important;background:none !important;background-image:none !important;}
/* 01 パネルはサブ列の高さに引っ張られるので内容を上下中央に */
body.is-lp-mock .lpr-why5-main,
body.is-lp-mock .lpr-feat-main{display:flex;flex-direction:column;justify-content:center;}

/* ------------------------------------------------------------------
 * 5. mock 由来コンポーネントの微調整（変換しなかった群もトーンを揃える）
 * ------------------------------------------------------------------ */
body.is-lp-mock .mock-embed .lead-answer,
body.is-lp-mock .mock-embed .lead{
  background:#F2F7FC !important;border-left:4px solid var(--teal,#1C93D2) !important;
  padding:20px 24px !important;border-radius:0 !important;
  font-size:20px !important;line-height:1.9 !important;color:#22304A !important;margin-bottom:24px !important;
}
body.is-lp-mock .mock-embed .card,
body.is-lp-mock .mock-embed .reason,
body.is-lp-mock .mock-embed .aisol-card{border-radius:0 !important;}
body.is-lp-mock .mock-embed .faq__item{
  background:#fff !important;border:1px solid var(--border,#E2E8F1) !important;
  border-radius:0 !important;margin-bottom:8px !important;overflow:hidden;
}
body.is-lp-mock .mock-embed .faq__item[open]{border-color:var(--teal,#1C93D2) !important;box-shadow:0 6px 16px rgba(27,34,76,.06) !important;}
body.is-lp-mock .mock-embed .faq__q{padding:18px 24px !important;font-size:19px !important;font-weight:900 !important;color:var(--navy,#1B224C) !important;}
body.is-lp-mock .mock-embed .faq__a{padding:0 24px 20px 60px !important;font-size:18px !important;line-height:1.85 !important;}

/* HERO の注記（※〜）*/
body.is-lp-mock .lpr-hero-note{font-size:14.5px;line-height:1.7;color:#7C8CA0;margin:10px 0 0;max-width:640px;}
body.is-lp-mock .lpr-h1 em{font-style:normal;color:var(--teal,#1C93D2);}

/* ==================================================================
 * Layout I/J/K/L — 参考LP5（テックオファー）系の語彙
 *   I pair      左右交互 ＋ 端に縦書きタグ
 *   J deflist   左見出し ＋ 右に番号つきリスト
 *   K checklist 確認項目
 *   L split     先頭を大きく、残りを縦積み
 * ================================================================== */

/* ---- 共通チップ（ラベルの形に意味を持たせる）---- */
body.is-lp-mock .mock-embed .tso-chip{
  display:inline-flex;align-items:center;justify-content:center;
  font-size:15px;font-weight:900;letter-spacing:.1em;line-height:1;
  padding:8px 14px;white-space:nowrap;flex:none;
}
body.is-lp-mock .mock-embed .tso-chip--solid{background:var(--navy,#1B224C);color:#fff;}
body.is-lp-mock .mock-embed .tso-chip--line{background:#fff;color:var(--teal,#1C93D2);border:2px solid var(--teal,#1C93D2);}

/* ---- I：PAIR ---- */
body.is-lp-mock .mock-embed .tso-pairs{display:flex;flex-direction:column;gap:20px;}
body.is-lp-mock .mock-embed .tso-pair{
  position:relative;border:1px solid #DCE5EF;padding:34px 44px 34px 44px;background:#fff;
  box-shadow:0 1px 0 rgba(27,34,76,.03);
}
body.is-lp-mock .mock-embed .tso-pair--rev{}
body.is-lp-mock .mock-embed .tso-pair--rev .tso-pair-fig{grid-column:2;grid-row:1;}
body.is-lp-mock .mock-embed .tso-pair--rev .tso-pair-body{grid-column:1;grid-row:1;}
/* 端に飛び出す縦書きタブ */
body.is-lp-mock .mock-embed .tso-pair-tab{
  position:absolute;top:-1px;left:-1px;transform:translateX(-100%);
  writing-mode:vertical-rl;
  background:var(--teal,#1C93D2);color:#fff;
  font-family:'Poppins',sans-serif;font-size:14px;font-weight:700;letter-spacing:.22em;
  padding:14px 6px;
}
body.is-lp-mock .mock-embed .tso-pair--rev .tso-pair-tab{left:auto;right:-1px;transform:translateX(100%);}
/* 図版が入る枠。素材が無いあいだは番号を静かに置いておく */
body.is-lp-mock .mock-embed .tso-pair-fig{
  display:flex;align-items:center;justify-content:center;
  padding:18px 0;border-top:1px solid #DCE5EF;border-bottom:1px solid #DCE5EF;
}
body.is-lp-mock .mock-embed .tso-pair-no{
  font-family:'Poppins',sans-serif;font-weight:700;font-size:86px;line-height:1;
  color:var(--teal,#1C93D2);letter-spacing:-.04em;opacity:.30;
}
body.is-lp-mock .mock-embed .tso-pair-head{display:flex;align-items:flex-start;gap:16px;margin-bottom:14px;}
body.is-lp-mock .mock-embed .tso-pair-head h3{font-size:29px !important;font-weight:900 !important;color:var(--navy,#1B224C) !important;line-height:1.5 !important;margin:0 !important;}
body.is-lp-mock .mock-embed .tso-pair-body p{font-size:18px !important;color:var(--muted,#5C6B80) !important;line-height:1.95 !important;margin:0 0 8px !important;}
body.is-lp-mock .mock-embed .tso-pair-body p:last-child{margin-bottom:0 !important;}
body.is-lp-mock .mock-embed .tso-pair-body b{color:var(--navy,#1B224C) !important;font-weight:900 !important;}
@media (max-width:900px){
  body.is-lp-mock .mock-embed .tso-pair,
  body.is-lp-mock .mock-embed .tso-pair--rev{grid-template-columns:1fr;gap:22px;padding:28px 22px;}
  body.is-lp-mock .mock-embed .tso-pair--rev .tso-pair-fig,
  body.is-lp-mock .mock-embed .tso-pair--rev .tso-pair-body{grid-column:1;grid-row:auto;}
  body.is-lp-mock .mock-embed .tso-pair-tab,
  body.is-lp-mock .mock-embed .tso-pair--rev .tso-pair-tab{
    position:static;transform:none;writing-mode:horizontal-tb;display:inline-block;padding:7px 14px;margin-bottom:14px;
  }
  body.is-lp-mock .mock-embed .tso-pair-no{font-size:61.5px;}
}

/* ---- J：DEFLIST ---- */
body.is-lp-mock .mock-embed .tso-def-list{display:grid;grid-template-columns:1fr 1fr;gap:0 48px;}
body.is-lp-mock .mock-embed .tso-def-row{
  display:grid;grid-template-columns:56px 1fr;gap:20px;align-items:start;
  padding:18px 0;border-bottom:1px solid var(--border,#E2E8F1);
}
body.is-lp-mock .mock-embed .tso-def-no{
  font-family:'Poppins',sans-serif;font-weight:700;font-size:42.5px;line-height:1;
  color:var(--teal,#1C93D2);letter-spacing:-.03em;
}
body.is-lp-mock .mock-embed .tso-def-body h3{font-size:21px !important;font-weight:900 !important;color:var(--navy,#1B224C) !important;line-height:1.5 !important;margin:0 0 6px !important;}
body.is-lp-mock .mock-embed .tso-def-body p{font-size:17px !important;color:var(--muted,#5C6B80) !important;line-height:1.85 !important;margin:0 !important;}
@media (max-width:900px){body.is-lp-mock .mock-embed .tso-def-list{grid-template-columns:1fr;}}

/* ---- K：CHECKLIST ---- */
body.is-lp-mock .mock-embed .tso-check{display:flex;flex-direction:column;border-top:2px solid var(--navy,#1B224C);}
body.is-lp-mock .mock-embed .tso-check-row{
  display:grid;grid-template-columns:34px 1fr;gap:22px;align-items:start;
  padding:20px 6px;border-bottom:1px solid var(--border,#E2E8F1);
}
body.is-lp-mock .mock-embed .tso-check-mark{
  position:relative;width:26px;height:26px;background:var(--teal,#1C93D2);flex:none;margin-top:2px;
}
body.is-lp-mock .mock-embed .tso-check-mark::after{
  content:"";position:absolute;left:7px;top:5px;width:9px;height:14px;
  border:solid #fff;border-width:0 3px 3px 0;transform:rotate(45deg);
}
body.is-lp-mock .mock-embed .tso-check-body .tso-chip{margin-bottom:10px;}
body.is-lp-mock .mock-embed .tso-check-body h3{font-size:24px !important;font-weight:900 !important;color:var(--navy,#1B224C) !important;line-height:1.55 !important;margin:0 0 8px !important;}
body.is-lp-mock .mock-embed .tso-check-body p{font-size:17.5px !important;color:var(--muted,#5C6B80) !important;line-height:1.9 !important;margin:0 !important;}

/* ---- L：SPLIT ---- */
body.is-lp-mock .mock-embed .tso-split{display:grid;grid-template-columns:1.1fr 1fr;gap:44px;align-items:start;}
body.is-lp-mock .mock-embed .tso-split-lead{position:relative;padding-left:26px;border-left:4px solid var(--teal,#1C93D2);}
body.is-lp-mock .mock-embed .tso-split-no{
  display:block;font-family:'Poppins',sans-serif;font-weight:700;font-size:19px;
  letter-spacing:.2em;color:var(--teal,#1C93D2);margin-bottom:10px;
}
body.is-lp-mock .mock-embed .tso-split-lead h3{font-size:31px !important;font-weight:900 !important;color:var(--navy,#1B224C) !important;line-height:1.5 !important;margin:0 0 14px !important;}
body.is-lp-mock .mock-embed .tso-split-lead p{font-size:18px !important;color:var(--muted,#5C6B80) !important;line-height:1.95 !important;margin:0 0 8px !important;}
body.is-lp-mock .mock-embed .tso-split-rest{display:flex;flex-direction:column;gap:0;}
body.is-lp-mock .mock-embed .tso-split-item{
  display:grid;grid-template-columns:44px 1fr;gap:16px;align-items:start;
  padding:20px 0;border-bottom:1px solid var(--border,#E2E8F1);
}
body.is-lp-mock .mock-embed .tso-split-item:first-child{border-top:1px solid var(--border,#E2E8F1);}
body.is-lp-mock .mock-embed .tso-split-item-no{font-family:'Poppins',sans-serif;font-weight:700;font-size:27.5px;line-height:1;color:var(--teal,#1C93D2);}
body.is-lp-mock .mock-embed .tso-split-item h4{font-size:20px !important;font-weight:900 !important;color:var(--navy,#1B224C) !important;line-height:1.5 !important;margin:0 0 6px !important;}
body.is-lp-mock .mock-embed .tso-split-item p{font-size:17px !important;color:var(--muted,#5C6B80) !important;line-height:1.85 !important;margin:0 !important;}
@media (max-width:900px){body.is-lp-mock .mock-embed .tso-split{grid-template-columns:1fr;gap:28px;}}

/* ---- 本文中の CTA 帯（参考LP5 は本文の途中で必ず1回挟む）---- */
body.is-lp-mock .tso-cta-band{background:var(--navy,#1B224C) !important;padding:44px 0 !important;}
body.is-lp-mock .tso-cta-band .lpr-block{padding-top:0;}
body.is-lp-mock .tso-cta-band-inner{display:flex;align-items:center;justify-content:space-between;gap:36px;flex-wrap:wrap;}
body.is-lp-mock .tso-cta-band h2{font-size:clamp(25px,2vw,35px);font-weight:900;color:#fff;line-height:1.5;margin:0;}
body.is-lp-mock .tso-cta-band p{font-size:17.5px;color:rgba(255,255,255,.8);margin:8px 0 0;}
body.is-lp-mock .tso-cta-band .tso-cta-actions{display:flex;gap:14px;flex-wrap:wrap;}

/* ==================================================================
 * セクションの「面」を増やす
 *   白 / 淡グレー(--alt) / スカイ淡(--pale) / 濃紺(--dark) の4種
 *   参考LP は背景の質感がセクションごとに変わる。2種だけだと単調になる
 * ================================================================== */
body.is-lp-mock .lpr-sec--pale{background:#E2EEF9 !important;}
body.is-lp-mock .lpr-sec--pale .lpr-bg-word{color:#fff;}

body.is-lp-mock .lpr-sec--dark{background:var(--navy,#1B224C) !important;}
body.is-lp-mock .lpr-sec--dark .lpr-bg-word{color:rgba(255,255,255,.07);}
body.is-lp-mock .lpr-sec--dark .lpr-sec-h2{color:#fff !important;}
body.is-lp-mock .mock-embed .lpr-sec--dark h3{color:#fff !important;}
body.is-lp-mock .mock-embed .lpr-sec--dark p,
body.is-lp-mock .mock-embed .lpr-sec--dark p{color:rgba(255,255,255,.85) !important;}
/* 濃紺面のリード文 */
body.is-lp-mock .mock-embed .lpr-sec--dark .lead-answer{
  background:rgba(255,255,255,.06) !important;border-left-color:var(--teal,#1C93D2) !important;
  color:rgba(255,255,255,.92) !important;
}
body.is-lp-mock .mock-embed .lpr-sec--dark b{color:#fff !important;background:none !important;background-image:none !important;}
/* 濃紺面では見出しを中央に寄せてリズムを変える */
body.is-lp-mock .lpr-sec--dark .lpr-sec-h2{text-align:center;margin-bottom:0 !important;}
body.is-lp-mock .lpr-sec--dark .lead-answer{max-width:900px !important;margin-left:0 !important;margin-right:auto !important;}

/* 濃紺面の tso-pair */
body.is-lp-mock .mock-embed .lpr-sec--dark .tso-pair{
  background:transparent;border-color:rgba(255,255,255,.22);box-shadow:none;
}
body.is-lp-mock .mock-embed .lpr-sec--dark .tso-pair-fig{border-color:rgba(255,255,255,.18);}
body.is-lp-mock .mock-embed .lpr-sec--dark .tso-pair-no{color:#fff;opacity:.28;}
body.is-lp-mock .mock-embed .lpr-sec--dark .tso-pair-tab{background:#fff;color:var(--navy,#1B224C);}
body.is-lp-mock .mock-embed .lpr-sec--dark .tso-pair-head h3{color:#fff !important;}
body.is-lp-mock .mock-embed .lpr-sec--dark .tso-pair-body p{color:rgba(255,255,255,.82) !important;}
body.is-lp-mock .mock-embed .lpr-sec--dark .tso-pair-body b{color:#fff !important;}
body.is-lp-mock .mock-embed .lpr-sec--dark .tso-chip--solid{background:var(--teal,#1C93D2);color:#fff;}
/* 濃紺面の checklist */
body.is-lp-mock .mock-embed .lpr-sec--dark .tso-check{border-top-color:rgba(255,255,255,.35);}
body.is-lp-mock .mock-embed .lpr-sec--dark .tso-check-row{border-bottom-color:rgba(255,255,255,.16);}
body.is-lp-mock .mock-embed .lpr-sec--dark .tso-check-body h3{color:#fff !important;}
body.is-lp-mock .mock-embed .lpr-sec--dark .tso-check-body p{color:rgba(255,255,255,.8) !important;}

/* ---- HERO 濃紺（body.is-hero-dark。slug で半々に振り分ける）---- */
body.is-hero-dark .lpr-hero{background:var(--navy,#1B224C) !important;}
body.is-hero-dark .lpr-hero .lpr-hero-bg{background:
  radial-gradient(900px 420px at 78% 18%, rgba(28,147,210,.30), transparent 62%),
  radial-gradient(700px 380px at 8% 92%, rgba(28,147,210,.16), transparent 60%) !important;
  opacity:1 !important;}
body.is-hero-dark .lpr-hero .lpr-h1{color:#fff !important;}
body.is-hero-dark .lpr-hero .lpr-h1 em{color:var(--teal,#1C93D2) !important;}
body.is-hero-dark .lpr-hero .lpr-lead{color:rgba(255,255,255,.86) !important;}
body.is-hero-dark .lpr-hero .lpr-eyebrow{color:var(--teal,#1C93D2) !important;border-color:rgba(255,255,255,.28) !important;}
body.is-hero-dark .lpr-hero .pm-crumb,
body.is-hero-dark .lpr-hero .pm-crumb a,
body.is-hero-dark .lpr-hero .pm-crumb .sep{color:rgba(255,255,255,.62) !important;}
body.is-hero-dark .lpr-hero .lpr-hero-note{color:rgba(255,255,255,.5) !important;}
body.is-hero-dark .lpr-hero .lpr-badge{
  background:rgba(255,255,255,.06) !important;border-color:rgba(255,255,255,.18) !important;
  border-top-color:var(--teal,#1C93D2) !important;
}
body.is-hero-dark .lpr-hero .lpr-badge .b-num{color:#fff !important;}
body.is-hero-dark .lpr-hero .lpr-badge .b-unit{color:var(--teal,#1C93D2) !important;}
body.is-hero-dark .lpr-hero .lpr-badge .b-cap{color:rgba(255,255,255,.66) !important;}
body.is-hero-dark .lpr-hero .lpr-btn--ghost{color:#fff !important;border-color:rgba(255,255,255,.45) !important;background:transparent !important;}
body.is-hero-dark .lpr-hero .lpr-btn--ghost:hover{background:rgba(255,255,255,.1) !important;}

/* ---- HERO 右カラム：実績数値を大きく縦積み ---- */
body.is-hero-dark .lpr-hero-right{display:flex;align-items:center;}
body.is-lp-mock .tso-figures{width:100%;border-top:1px solid rgba(255,255,255,.22);}
body.is-lp-mock .tso-figure{
  display:flex;align-items:baseline;justify-content:space-between;gap:20px;
  padding:24px 4px;border-bottom:1px solid rgba(255,255,255,.22);
}
body.is-lp-mock .tso-figure-num{
  font-family:'Poppins',sans-serif;font-weight:700;font-size:clamp(48.5px,4.4vw,75px);
  line-height:1;color:#fff;letter-spacing:-.03em;
}
body.is-lp-mock .tso-figure-num span{font-size:.34em;margin-left:6px;color:var(--teal,#1C93D2);letter-spacing:0;}
body.is-lp-mock .tso-figure-cap{font-size:17.5px;font-weight:700;color:rgba(255,255,255,.72);text-align:right;}
body.is-lp-mock .tso-figure-note{font-size:14px;line-height:1.7;color:rgba(255,255,255,.42);margin:14px 0 0;}
@media (max-width:960px){
  body.is-hero-dark .lpr-hero-right{margin-top:36px;}
  body.is-lp-mock .tso-figure{padding:18px 2px;}
}

/* ==================================================================
 * セクション見出し：細い大きな英字を「前面」に置く
 *   これまでは太い英字を背景に薄く敷いていた（.lpr-bg-word）
 *   参考LPは細いウェイトで大きく、前面に出している
 * ================================================================== */
body.is-lp-mock .lpr-sec .lpr-bg-word{display:none;}
/* ---- セクション見出し（v0.80.0）------------------------------------
 *   英字を1行目、日本語を2行目以降に積む。
 *   文字数で構成が変わらないよう、どちらもブロックで置き、
 *   区切りのハイフンと下のアクセント線は使わない。
 * ------------------------------------------------------------------ */
body.is-lp-mock .tso-sechead{margin-bottom:34px;text-align:center;}
body.is-lp-mock .tso-sechead .lpr-sec-h2{
  display:block;margin:0 !important;padding-left:0 !important;position:relative;
  text-align:center !important;font-weight:900 !important;
  font-size:clamp(21px,1.5vw,26px) !important;
}
body.is-lp-mock .tso-sechead .lpr-sec-h2::before{display:none !important;}
body.is-lp-mock .tso-sechead .tso-sec-en{
  display:block;
  font-family:'Poppins',sans-serif;font-weight:200;
  font-size:clamp(42.5px,4.2vw,68px);line-height:1.06;letter-spacing:.02em;
  color:var(--navy,#1B224C);text-transform:uppercase;
  text-wrap:balance;
}
body.is-lp-mock .tso-sechead .tso-sec-sep{display:none !important;}
body.is-lp-mock .tso-sechead .tso-sec-en + .tso-sec-ja{margin-top:14px;}
body.is-lp-mock .tso-sechead .tso-sec-ja{
  display:block;max-width:34em;margin-left:auto;margin-right:auto;
  color:var(--navy,#1B224C);font-size:clamp(21px,1.5vw,26px);line-height:1.7;
}
body.is-lp-mock .tso-sechead .tso-sec-en + .tso-sec-ja::before{content:none !important;}
body.is-lp-mock .tso-sechead::after{content:none !important;}
@media (max-width:720px){
  body.is-lp-mock .tso-sechead .tso-sec-en + .tso-sec-ja{margin-top:10px;}
}
body.is-lp-mock .lpr-sec--dark .tso-sechead .tso-sec-ja{color:#fff;}
body.is-lp-mock .lpr-sec--dark .tso-sechead .tso-sec-en{color:#5FB6E8;}

/* ==================================================================
 * 巨大な薄い番号を見出しの背後に重ねる（参考LPの共通手法）
 * ================================================================== */
body.is-lp-mock .mock-embed .tso-pair-head{position:relative;padding-top:26px;}
body.is-lp-mock .mock-embed .tso-pair-head .tso-ghost{
  position:absolute;left:-8px;top:-24px;z-index:0;
  font-family:'Poppins',sans-serif;font-weight:700;font-size:90px;line-height:1;
  color:var(--teal,#1C93D2);opacity:.16;letter-spacing:-.04em;pointer-events:none;
}
body.is-lp-mock .mock-embed .tso-pair-head h3,
body.is-lp-mock .mock-embed .tso-pair-head .tso-chip{position:relative;z-index:1;}
body.is-lp-mock .lpr-sec--dark .mock-embed .tso-pair-head .tso-ghost{color:#fff;opacity:.14;}

/* ==================================================================
 * TIMELINE を円形ノードに（参考LPの FLOW）
 * ================================================================== */
body.is-lp-mock .mock-embed .lps-tl--circle{min-height:0;padding:10px 0 0;}
body.is-lp-mock .mock-embed .lps-tl--circle::before{top:64px;left:9%;right:9%;background:var(--border,#E2E8F1);}
body.is-lp-mock .mock-embed .lps-tl--circle .lps-tl-node{height:auto;text-align:center;}
body.is-lp-mock .mock-embed .lps-tl--circle .lps-tl-node::after{display:none;}
body.is-lp-mock .mock-embed .lps-tl--circle .lps-tl-dot{
  position:relative;top:auto;left:auto;transform:none;
  display:flex;align-items:center;justify-content:center;margin:0 auto 26px;
  width:128px;height:128px;border-radius:50%;
  background:var(--teal-light,#EAF4FB);box-shadow:0 0 0 10px #fff;
}
body.is-lp-mock .mock-embed .lps-tl--circle .lps-tl-dot::after{
  content:attr(data-no);
  font-family:'Poppins',sans-serif;font-weight:200;font-size:48.5px;color:var(--teal,#1C93D2);
}
body.is-lp-mock .mock-embed .lps-tl--circle .lps-tl-body,
body.is-lp-mock .mock-embed .lps-tl--circle .lps-tl-node:nth-child(odd) .lps-tl-body,
body.is-lp-mock .mock-embed .lps-tl--circle .lps-tl-node:nth-child(even) .lps-tl-body{
  position:static;top:auto;bottom:auto;left:auto;right:auto;padding:0 14px;
}
@media (max-width:1024px){
  body.is-lp-mock .mock-embed .lps-tl--circle{grid-auto-flow:row;padding-left:0;}
  body.is-lp-mock .mock-embed .lps-tl--circle::before{display:none;}
  body.is-lp-mock .mock-embed .lps-tl--circle .lps-tl-dot{width:92px;height:92px;margin-bottom:16px;}
}

/* ==================================================================
 * 読み幅：面は全幅のまま、テキストカラムだけ抑える
 *   --lp-colw を変えるだけで全ページの読み幅を切り替えられる
 * ================================================================== */
body.is-lp-mock{--lp-colw:1400px;}  /* v0.99.0：本文1.25倍に合わせ、図版も等比で拡大 */
body.is-lp-mock .lpr-block{max-width:var(--lp-colw);margin-left:auto;margin-right:auto;}
body.is-lp-mock .lpr-hero-inner{max-width:var(--lp-colw);margin-left:auto;margin-right:auto;}
body.is-lp-mock .lpr-cta .container{max-width:var(--lp-colw);margin-left:auto;margin-right:auto;}

/* ==================================================================
 * Layout M：MEDIA（左右交互。番号を左右に振り分け、片側にメディア枠）
 *   参考LP：番号＋見出し＋本文 ↔ 画像 の交互配置。枠線は使わず余白で切る
 * ================================================================== */
body.is-lp-mock .mock-embed .tso-medias{display:flex;flex-direction:column;gap:44px;}
body.is-lp-mock .mock-embed .tso-media{
  display:grid;grid-template-columns:1fr 1.05fr;gap:56px;align-items:center;
}
body.is-lp-mock .mock-embed .tso-media--rev .tso-media-fig{grid-column:2;grid-row:1;}
body.is-lp-mock .mock-embed .tso-media--rev .tso-media-body{grid-column:1;grid-row:1;}
/* メディア枠：図解や写真が入る場所。素材が無いあいだは番号を大きく置く */
body.is-lp-mock .mock-embed .tso-media-fig{
  position:relative;display:flex;align-items:center;justify-content:center;
  aspect-ratio:16/10;background:var(--teal-light,#EAF4FB);overflow:hidden;
}
body.is-lp-mock .mock-embed .tso-media-fig::after{
  content:"";position:absolute;inset:0;
  background-image:linear-gradient(var(--border,#E2E8F1) 1px,transparent 1px),
                   linear-gradient(90deg,var(--border,#E2E8F1) 1px,transparent 1px);
  background-size:44px 44px;opacity:.5;
}
body.is-lp-mock .mock-embed .tso-media-icon{position:relative;z-index:1;}
body.is-lp-mock .mock-embed .tso-media-icon svg{width:88px;height:88px;color:var(--teal,#1C93D2);}
body.is-lp-mock .mock-embed .tso-media-icon + .tso-media-no{display:none;}
body.is-lp-mock .mock-embed .tso-media-no{
  position:relative;z-index:1;
  font-family:'Poppins',sans-serif;font-weight:200;font-size:clamp(79px,8vw,145px);
  line-height:1;color:var(--teal,#1C93D2);opacity:.42;letter-spacing:-.04em;
}
body.is-lp-mock .mock-embed .tso-media-head{display:flex;align-items:flex-start;gap:18px;margin-bottom:16px;}
body.is-lp-mock .mock-embed .tso-media-num{
  font-family:'Poppins',sans-serif;font-weight:700;font-size:61.5px;line-height:.9;
  color:var(--teal,#1C93D2);opacity:.5;letter-spacing:-.04em;flex:none;
}
body.is-lp-mock .mock-embed .tso-media-head h3{
  font-size:30px !important;font-weight:900 !important;color:var(--navy,#1B224C) !important;
  line-height:1.5 !important;margin:.25em 0 0 !important;
}
body.is-lp-mock .mock-embed .tso-media-body p{font-size:18px !important;color:var(--muted,#5C6B80) !important;line-height:2 !important;margin:0 0 10px !important;}
body.is-lp-mock .mock-embed .tso-media-body p:last-child{margin-bottom:0 !important;}
body.is-lp-mock .mock-embed .tso-media-body b{color:var(--navy,#1B224C) !important;font-weight:900 !important;}
/* 濃紺面 */
body.is-lp-mock .mock-embed .lpr-sec--dark .tso-media-fig{background:rgba(255,255,255,.05);}
body.is-lp-mock .mock-embed .lpr-sec--dark .tso-media-fig::after{
  background-image:linear-gradient(rgba(255,255,255,.10) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(255,255,255,.10) 1px,transparent 1px);
}
body.is-lp-mock .mock-embed .lpr-sec--dark .tso-media-no{color:#fff;opacity:.30;}
body.is-lp-mock .mock-embed .lpr-sec--dark .tso-media-num{color:#fff;opacity:.42;}
body.is-lp-mock .mock-embed .lpr-sec--dark .tso-media-head h3{color:#fff !important;}
body.is-lp-mock .mock-embed .lpr-sec--dark .tso-media-body p{color:rgba(255,255,255,.82) !important;}
body.is-lp-mock .mock-embed .lpr-sec--dark .tso-media-body b{color:#fff !important;}
@media (max-width:900px){
  body.is-lp-mock .mock-embed .tso-medias{gap:34px;}
  body.is-lp-mock .mock-embed .tso-media,
  body.is-lp-mock .mock-embed .tso-media--rev{grid-template-columns:1fr;gap:22px;}
  body.is-lp-mock .mock-embed .tso-media--rev .tso-media-fig,
  body.is-lp-mock .mock-embed .tso-media--rev .tso-media-body{grid-column:1;grid-row:auto;}
  body.is-lp-mock .mock-embed .tso-media-num{font-size:44px;}
  body.is-lp-mock .mock-embed .tso-media-head h3{font-size:25px !important;}
}

/* ==================================================================
 * Layout N：TRIO（1列3つのグリッド。背後に巨大な薄い番号）
 * ================================================================== */
body.is-lp-mock .mock-embed .tso-trio{
  display:grid;grid-template-columns:repeat(var(--trio-cols,3),minmax(0,1fr));
  gap:30px 28px;justify-content:center;
}
body.is-lp-mock .mock-embed .tso-trio-item{position:relative;padding-bottom:8px;}
body.is-lp-mock .mock-embed .tso-trio-ghost{
  position:absolute;right:-6px;bottom:-14px;z-index:0;
  font-family:'Poppins',sans-serif;font-weight:700;font-size:105.5px;line-height:1;
  color:var(--teal,#1C93D2);opacity:.10;letter-spacing:-.05em;pointer-events:none;
}
body.is-lp-mock .mock-embed .tso-trio-media{
  position:relative;z-index:1;display:flex;align-items:center;justify-content:center;
  aspect-ratio:16/10;background:var(--teal-light,#EAF4FB);margin-bottom:20px;overflow:hidden;
}
body.is-lp-mock .mock-embed .tso-trio-media::after{
  content:"";position:absolute;inset:0;
  background-image:linear-gradient(var(--border,#E2E8F1) 1px,transparent 1px),
                   linear-gradient(90deg,var(--border,#E2E8F1) 1px,transparent 1px);
  background-size:34px 34px;opacity:.5;
}
body.is-lp-mock .mock-embed .tso-trio-media svg{position:relative;z-index:1;width:56px;height:56px;color:var(--teal,#1C93D2);}
body.is-lp-mock .mock-embed .tso-trio-no{
  position:relative;z-index:1;font-family:'Poppins',sans-serif;font-weight:200;
  font-size:61.5px;line-height:1;color:var(--teal,#1C93D2);opacity:.5;
}
body.is-lp-mock .mock-embed .tso-trio-tag{
  position:relative;z-index:1;display:inline-block;
  font-family:'Poppins',sans-serif;font-size:14px;font-weight:700;letter-spacing:.18em;
  color:var(--teal,#1C93D2);margin-bottom:8px;
}
body.is-lp-mock .mock-embed .tso-trio-item h3{
  position:relative;z-index:1;
  font-size:22.5px !important;font-weight:900 !important;color:var(--navy,#1B224C) !important;
  line-height:1.55 !important;margin:0 0 10px !important;
  padding-bottom:12px;border-bottom:1px solid var(--border,#E2E8F1);
}
body.is-lp-mock .mock-embed .tso-trio-item p{
  position:relative;z-index:1;
  font-size:17px !important;color:var(--muted,#5C6B80) !important;line-height:1.9 !important;margin:0 0 8px !important;
}
body.is-lp-mock .mock-embed .lpr-sec--dark .tso-trio-media{background:rgba(255,255,255,.06);}
body.is-lp-mock .mock-embed .lpr-sec--dark .tso-trio-item h3{color:#fff !important;border-bottom-color:rgba(255,255,255,.2);}
body.is-lp-mock .mock-embed .lpr-sec--dark .tso-trio-item p{color:rgba(255,255,255,.82) !important;}
body.is-lp-mock .mock-embed .lpr-sec--dark .tso-trio-ghost{color:#fff;opacity:.09;}
@media (max-width:1024px){body.is-lp-mock .mock-embed .tso-trio{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:640px){body.is-lp-mock .mock-embed .tso-trio{grid-template-columns:1fr;}}

/* ---- メディア枠に説明図（インラインSVG）が入る場合 ---- */
body.is-lp-mock .mock-embed .tso-media-fig--dia{background:transparent;color:var(--navy,#1B224C);}
body.is-lp-mock .mock-embed .tso-media-fig--dia::after{display:none;}
body.is-lp-mock .mock-embed .tso-media-fig--dia svg{display:block;width:100%;height:auto;}
body.is-lp-mock .mock-embed .lpr-sec--dark .tso-media-fig--dia{background:rgba(255,255,255,.04);color:#fff;}
body.is-lp-mock .mock-embed .lpr-sec--pale .tso-media-fig--dia{background:rgba(255,255,255,.55);}

/* HERO が白系のページでの実績数値 */
body.is-lp-mock:not(.is-hero-dark) .tso-figures{border-top-color:var(--border,#E2E8F1);}
body.is-lp-mock:not(.is-hero-dark) .tso-figure{border-bottom-color:var(--border,#E2E8F1);}
body.is-lp-mock:not(.is-hero-dark) .tso-figure-num{color:var(--navy,#1B224C);}
body.is-lp-mock:not(.is-hero-dark) .tso-figure-cap{color:var(--muted,#5C6B80);}
body.is-lp-mock:not(.is-hero-dark) .tso-figure-note{color:var(--muted-soft,#98A5B8);}

/* ==================================================================
 * 濃紺セクションの総ざらい
 *   どのレイアウトが濃紺面に当たるかはページごとに変わるため、
 *   白地のコンポーネントはすべて「透明＋白の細枠」に統一する。
 *   （これが無いと白カードの中が白文字になって読めなくなる）
 * ================================================================== */
body.is-lp-mock .mock-embed .lpr-sec--dark .lpr-feat-sub,
body.is-lp-mock .mock-embed .lpr-sec--dark .lpr-why5-sub,
body.is-lp-mock .mock-embed .lpr-sec--dark .lpr-zig-row,
body.is-lp-mock .mock-embed .lpr-sec--dark .lps-stair,
body.is-lp-mock .mock-embed .lpr-sec--dark .lps-iconrow-ic,
body.is-lp-mock .mock-embed .lpr-sec--dark .card,
body.is-lp-mock .mock-embed .lpr-sec--dark .reason,
body.is-lp-mock .mock-embed .lpr-sec--dark .aisol-card,
body.is-lp-mock .mock-embed .lpr-sec--dark .faq__item,
body.is-lp-mock .mock-embed .lpr-sec--dark .linkcard,
body.is-lp-mock .mock-embed .lpr-sec--dark .flow__step,
body.is-lp-mock .mock-embed .lpr-sec--dark .rep-item,
body.is-lp-mock .mock-embed .lpr-sec--dark .vocsum__c,
body.is-lp-mock .mock-embed .lpr-sec--dark .nc{
  background:rgba(255,255,255,.05) !important;
  border-color:rgba(255,255,255,.20) !important;
  box-shadow:none !important;
}
/* 交互の片側だけ地色が付くもの（濃紺面では少し明るく） */
body.is-lp-mock .mock-embed .lpr-sec--dark .lpr-zig-row--reverse,
body.is-lp-mock .mock-embed .lpr-sec--dark .lps-stair:last-child{
  background:rgba(255,255,255,.12) !important;border-color:transparent !important;
}
/* 見出し・本文 */
body.is-lp-mock .mock-embed .lpr-sec--dark h3,
body.is-lp-mock .mock-embed .lpr-sec--dark h4,
body.is-lp-mock .mock-embed .lpr-sec--dark .faq__q{color:#fff !important;}
body.is-lp-mock .mock-embed .lpr-sec--dark p,
body.is-lp-mock .mock-embed .lpr-sec--dark li,
body.is-lp-mock .mock-embed .lpr-sec--dark td,
body.is-lp-mock .mock-embed .lpr-sec--dark .faq__a{color:rgba(255,255,255,.84) !important;}
body.is-lp-mock .mock-embed .lpr-sec--dark th{color:#fff !important;}
/* 罫線で区切るもの */
body.is-lp-mock .mock-embed .lpr-sec--dark .lpr-numrow,
body.is-lp-mock .mock-embed .lpr-sec--dark .lps-iconrow-item,
body.is-lp-mock .mock-embed .lpr-sec--dark .tso-def-row,
body.is-lp-mock .mock-embed .lpr-sec--dark .tso-split-item,
body.is-lp-mock .mock-embed .lpr-sec--dark table,
body.is-lp-mock .mock-embed .lpr-sec--dark th,
body.is-lp-mock .mock-embed .lpr-sec--dark td{border-color:rgba(255,255,255,.18) !important;}
body.is-lp-mock .mock-embed .lpr-sec--dark .lpr-numrow:first-child,
body.is-lp-mock .mock-embed .lpr-sec--dark .lps-iconrow-item:first-child,
body.is-lp-mock .mock-embed .lpr-sec--dark .tso-split-item:first-child{border-top-color:rgba(255,255,255,.18) !important;}
body.is-lp-mock .mock-embed .lpr-sec--dark .tso-trio-item h3{border-bottom-color:rgba(255,255,255,.20) !important;}
/* 濃紺の上に濃紺パネルが乗ると沈むので、空色側へ寄せる */
body.is-lp-mock .mock-embed .lpr-sec--dark .lpr-feat-main{
  background:linear-gradient(155deg,var(--teal,#1C93D2) 0%,#12588A 100%) !important;
}
body.is-lp-mock .mock-embed .lpr-sec--dark .lps-pipe-cell:nth-child(1){background:#2A3866 !important;}
body.is-lp-mock .mock-embed .lpr-sec--dark .lps-pipe-cell:nth-child(2){background:#26507F !important;}
body.is-lp-mock .mock-embed .lpr-sec--dark .lps-pipe-cell:nth-child(3){background:#1F6A9E !important;}
body.is-lp-mock .mock-embed .lpr-sec--dark .lps-pipe-cell:nth-child(4){background:#1985C1 !important;}
body.is-lp-mock .mock-embed .lpr-sec--dark .lps-pipe-cell:nth-child(5){background:#1C93D2 !important;}
body.is-lp-mock .mock-embed .lpr-sec--dark .lps-pipe-cell:nth-child(6){background:#45AEE2 !important;}
/* タイムラインのノードの縁取りは面の色に合わせる */
body.is-lp-mock .mock-embed .lpr-sec--dark .lps-tl-dot{background:rgba(255,255,255,.10) !important;box-shadow:none !important;}
body.is-lp-mock .mock-embed .lpr-sec--dark .lps-tl-dot::after{color:#fff !important;}
body.is-lp-mock .mock-embed .lpr-sec--dark .lps-tl::before{background:rgba(255,255,255,.22) !important;}
/* マーカー装飾の <b> は濃紺面では白太字に */
body.is-lp-mock .mock-embed .lpr-sec--dark b{color:#fff !important;background:none !important;background-image:none !important;}

/* ==================================================================
 * mock CSS の漏れ止め
 *   mock の CSS は <head> にそのまま差し込まれるため、素タグ指定（p / li など）が
 *   テーマ側のヘッダー・フッター・最終CTA にも効いてしまう。
 *   濃紺の面に濃い文字が乗って読めなくなるので、ここで打ち消す。
 * ================================================================== */
body.is-lp-mock footer p,
body.is-lp-mock footer li,
body.is-lp-mock footer span,
body.is-lp-mock footer small,
body.is-lp-mock footer dd,
body.is-lp-mock footer dt,
body.is-lp-mock footer address,
body.is-lp-mock footer div{color:inherit !important;}
body.is-lp-mock footer a{color:rgba(255,255,255,.85) !important;}
body.is-lp-mock footer a:hover{color:#fff !important;}
/* 最終CTA と フッターの境目をはっきりさせる（どちらも濃紺で地続きに見えるため） */
body.is-lp-mock footer{border-top:1px solid rgba(255,255,255,.14);}

/* 最終CTA */
body.is-lp-mock .lpr-cta h2,
body.is-lp-mock .lpr-cta .lpr-cta-body h2{color:#fff !important;}
body.is-lp-mock .lpr-cta p,
body.is-lp-mock .lpr-cta .lpr-cta-body p{color:rgba(255,255,255,.82) !important;}
body.is-lp-mock .lpr-cta .bgword{font-size:clamp(79px,10vw,187px) !important;color:rgba(255,255,255,.05) !important;}

/* ------------------------------------------------------------------
 * 15. ページ末尾のクロージングCTA（.lpr-endcta）
 *     フッター直前に1つだけ置く。中盤の .tso-cta-band とは別デザイン。
 * ------------------------------------------------------------------ */
body.is-lp-mock .lpr-endcta{
  position:relative;overflow:hidden;
  background:linear-gradient(135deg,#1B224C 0%,#12183A 58%,#16305C 100%);
  padding:78px 0 74px;margin:0;text-align:center;isolation:isolate;
}
body.is-lp-mock .lpr-endcta::after{
  content:"";position:absolute;right:-120px;top:-120px;width:420px;height:420px;border-radius:50%;
  background:radial-gradient(circle,rgba(28,147,210,.30) 0%,rgba(28,147,210,0) 70%);pointer-events:none;
}
body.is-lp-mock .lpr-endcta .lpr-endcta-bg{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  font-family:'Poppins',sans-serif;font-weight:700;letter-spacing:.06em;white-space:nowrap;
  font-size:clamp(99px,13vw,242px);line-height:1;color:rgba(255,255,255,.055) !important;
  pointer-events:none;user-select:none;z-index:0;
}
body.is-lp-mock .lpr-endcta .lpr-block{position:relative;z-index:1;}
body.is-lp-mock .lpr-endcta .lpr-endcta-en{
  display:inline-block;font-family:'Poppins',sans-serif;font-size:15px;font-weight:600;
  letter-spacing:.22em;color:rgba(255,255,255,.62) !important;margin:0 0 14px;
}
/* 見出し下のアクセント線は使わない（v0.80.0） */
body.is-lp-mock .lpr-endcta .lpr-endcta-en::after{content:none !important;}
body.is-lp-mock .lpr-endcta h2{
  font-family:'Noto Sans JP',sans-serif !important;font-weight:900 !important;
  font-size:clamp(30px,2.8vw,47.5px) !important;line-height:1.5 !important;
  color:#fff !important;margin:0 0 16px !important;letter-spacing:-.005em;
}
body.is-lp-mock .lpr-endcta .lpr-endcta-lead{
  font-size:19px !important;line-height:1.9 !important;color:rgba(255,255,255,.82) !important;
  margin:0 auto 30px !important;max-width:760px;
}
body.is-lp-mock .lpr-endcta .lpr-endcta-actions{
  display:flex;gap:14px;flex-wrap:wrap;justify-content:center;
}
body.is-lp-mock .lpr-endcta .lpr-endcta-note{
  font-size:15.5px !important;line-height:1.8 !important;color:rgba(255,255,255,.58) !important;
  margin:22px 0 0 !important;
}
@media (max-width:640px){
  body.is-lp-mock .lpr-endcta{padding:56px 0 54px;}
  body.is-lp-mock .lpr-endcta .lpr-endcta-lead{margin-bottom:24px !important;}
}

/* ------------------------------------------------------------------
 * 16. HERO 直下の試算シミュレーター（mock hero.sim を持つページのみ）
 * ------------------------------------------------------------------ */
body.is-lp-mock .lpm-simsec{padding:0;background:#fff;}
body.is-lp-mock .lpm-simsec .lpr-block{padding-left:60px;padding-right:60px;}
body.is-lp-mock .lpm-sim{
  position:relative;margin-top:-34px;z-index:2;
  background:#fff;border:1px solid var(--border,#E2E8F1);border-top:3px solid var(--teal,#1C93D2);
  padding:34px 40px 30px;box-shadow:0 20px 44px rgba(27,34,76,.10);
}
body.is-lp-mock .lpm-sim-head{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;margin-bottom:22px;}
body.is-lp-mock .lpm-sim-en{
  font-family:'Poppins',sans-serif;font-size:14px;font-weight:600;letter-spacing:.22em;color:var(--teal,#1C93D2);
}
body.is-lp-mock .lpm-sim-head h2{
  font-family:'Noto Sans JP',sans-serif;font-weight:900;margin:0;
  font-size:clamp(24px,1.9vw,32.5px);line-height:1.5;color:var(--navy,#1B224C);
}
body.is-lp-mock .lpm-sim-body{display:grid;grid-template-columns:1.25fr .95fr;gap:34px;align-items:center;}
body.is-lp-mock .lpm-sim-inputs{display:grid;grid-template-columns:1fr 1fr;gap:26px;}
body.is-lp-mock .lpm-sim-field label{display:block;font-size:15.5px;color:var(--muted,#5C6B80);margin-bottom:10px;}
body.is-lp-mock .lpm-sim-field input[type=range]{
  -webkit-appearance:none;appearance:none;width:100%;height:4px;border-radius:2px;
  background:#E4EBF2;outline:none;margin:0;
}
body.is-lp-mock .lpm-sim-field input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;
  background:var(--teal,#1C93D2);border:3px solid #fff;cursor:pointer;box-shadow:0 2px 8px rgba(27,34,76,.28);
}
body.is-lp-mock .lpm-sim-field input[type=range]::-moz-range-thumb{
  width:20px;height:20px;border-radius:50%;background:var(--teal,#1C93D2);
  border:3px solid #fff;cursor:pointer;box-shadow:0 2px 8px rgba(27,34,76,.28);
}
body.is-lp-mock .lpm-sim-val{margin-top:10px;font-family:'Poppins',sans-serif;font-weight:700;font-size:30px;color:var(--navy,#1B224C);}
body.is-lp-mock .lpm-sim-val small{font-family:'Noto Sans JP',sans-serif;font-size:15px;font-weight:400;color:var(--muted,#5C6B80);margin-left:4px;}
body.is-lp-mock .lpm-sim-out{border-left:1px solid var(--border,#E2E8F1);padding-left:32px;}
body.is-lp-mock .lpm-sim-out-l{display:block;font-size:15.5px;color:var(--muted,#5C6B80);}
body.is-lp-mock .lpm-sim-out-n{
  display:block;margin-top:6px;font-family:'Poppins',sans-serif;font-weight:700;
  font-size:clamp(42.5px,3.4vw,55px);line-height:1.1;color:var(--teal,#1C93D2);
}
body.is-lp-mock .lpm-sim-out-n small{font-family:'Noto Sans JP',sans-serif;font-size:17.5px;font-weight:700;color:var(--navy,#1B224C);margin-left:6px;}
body.is-lp-mock .lpm-sim-out-y{display:block;margin-top:8px;font-size:17px;color:var(--text,#1B224C);}
body.is-lp-mock .lpm-sim-out-y b{font-family:'Poppins',sans-serif;font-size:22.5px;color:var(--navy,#1B224C);}
body.is-lp-mock .lpm-sim-note{margin:20px 0 0;font-size:14.5px;line-height:1.75;color:var(--muted,#5C6B80);}

/* ------------------------------------------------------------------
 * 17. 数値だけの帯（mock の <div class="strip"> 由来）
 * ------------------------------------------------------------------ */
body.is-lp-mock .lpr-strip .wrap{max-width:100% !important;padding:0 !important;}
body.is-lp-mock .mock-embed .lpr-strip .s-grid{
  display:grid !important;grid-template-columns:repeat(3,1fr) !important;
  gap:0 !important;max-width:100% !important;margin:0 !important;
}
body.is-lp-mock .mock-embed .lpr-strip .s{
  padding:0 24px !important;text-align:center !important;font-size:15.5px !important;
  color:rgba(255,255,255,.72) !important;border-left:1px solid rgba(255,255,255,.14);
}
body.is-lp-mock .mock-embed .lpr-strip .s-grid .s:first-child{border-left:0;}
body.is-lp-mock .mock-embed .lpr-strip .s b{
  display:block !important;font-family:'Poppins',sans-serif !important;font-weight:700 !important;
  font-size:clamp(30px,2.4vw,42.5px) !important;line-height:1.2 !important;color:#fff !important;
  margin-bottom:8px !important;
}
body.is-lp-mock .mock-embed .lpr-strip .gap-grid{
  display:grid !important;grid-template-columns:repeat(3,1fr) !important;
  gap:14px !important;max-width:100% !important;margin:30px 0 0 !important;
}
body.is-lp-mock .mock-embed .lpr-strip .gap{
  background:rgba(255,255,255,.06) !important;border:1px solid rgba(255,255,255,.12) !important;
  border-left:3px solid var(--teal,#1C93D2) !important;border-radius:0 !important;
  padding:16px 20px !important;font-size:15.5px !important;color:rgba(255,255,255,.78) !important;opacity:1 !important;
}
body.is-lp-mock .mock-embed .lpr-strip .gap b{
  display:block !important;font-family:'Poppins',sans-serif !important;font-weight:700 !important;
  font-size:27.5px !important;color:#5FB6E8 !important;margin-bottom:4px !important;
}
body.is-lp-mock .mock-embed .lpr-strip .s-note{
  margin:22px 0 0 !important;font-size:15px !important;color:rgba(255,255,255,.55) !important;
  text-align:center !important;opacity:1 !important;
}
@media (max-width:1024px){
  body.is-lp-mock .lpm-simsec .lpr-block{padding-left:32px;padding-right:32px;}
  body.is-lp-mock .lpm-sim{padding:28px 26px 24px;margin-top:-24px;}
  body.is-lp-mock .lpm-sim-body{grid-template-columns:1fr;gap:24px;}
  body.is-lp-mock .lpm-sim-out{border-left:0;border-top:1px solid var(--border,#E2E8F1);padding:20px 0 0;}
}
@media (max-width:640px){
  body.is-lp-mock .lpm-simsec .lpr-block{padding-left:20px;padding-right:20px;}
  body.is-lp-mock .lpm-sim-inputs{grid-template-columns:1fr;gap:20px;}
  body.is-lp-mock .mock-embed .lpr-strip .s-grid,
  body.is-lp-mock .mock-embed .lpr-strip .gap-grid{grid-template-columns:1fr !important;gap:20px !important;}
  body.is-lp-mock .mock-embed .lpr-strip .s{border-left:0;}
}

/* ------------------------------------------------------------------
 * 18. モック個別CSSの“はみ出し”を吸収する
 *     一部のモック（proapocall など）は素タグ指定や独自トークンを持ち、
 *     そのままだと他LPと色・寄せが揃わない。ここで自社パレットへ寄せる。
 * ------------------------------------------------------------------ */
body.is-lp-mock .mock-embed{
  --teal-deep:#12183A;   /* 旧パレットの濃teal → 濃紺へ */
  --gray:#5C6B80;        --ink:#1B224C;        --sub:#5C6B80;
  --line:#E2E8F1;        --tint:#F4F7FB;       --sky:#1C93D2;
  --amber:#1C93D2;       --amber-deep:#1478AE; /* オレンジCTA → プロセルブルー */
  --mint-bright:#5FB6E8;
}
/* h2 / lead の中央寄せ指定を打ち消す（濃紺面の見出しだけ中央のまま）*/
body.is-lp-mock .mock-embed h2,
body.is-lp-mock .mock-embed h3,
body.is-lp-mock .mock-embed .lead,
body.is-lp-mock .mock-embed .lead-answer,
body.is-lp-mock .mock-embed .callout{text-align:left !important;}
body.is-lp-mock .mock-embed .lpr-sec--dark .tso-sechead h2{text-align:center !important;}
/* 中央寄せが意図されている新レイアウトだけ例外 */
body.is-lp-mock .mock-embed .lps-case-main h3,
body.is-lp-mock .mock-embed .lps-hub-core-t,
body.is-lp-mock .mock-embed .tso-sechead .lpr-sec-h2{text-align:center !important;}
/* section+section の罫線が .lpr-sec 同士に出るのを止める */
body.is-lp-mock .mock-embed section + section{border-top:0 !important;}
/* HERO の実績注記が p{font-size:19.5px !important} に負けるのを戻す */
body.is-lp-mock .lpr-hero .tso-figure-note{font-size:14px !important;line-height:1.7 !important;}
body.is-lp-mock:not(.is-hero-dark) .lpr-hero .tso-figure-note{color:var(--muted-soft,#98A5B8) !important;}
body.is-hero-dark .lpr-hero .tso-figure-note{color:rgba(255,255,255,.42) !important;}
/* 日本語見出しの折り返しを文節単位に（対応ブラウザのみ・非対応は従来どおり）*/
body.is-lp-mock .lpr-h1,
body.is-lp-mock .lpr-sec-h2{word-break:auto-phrase;}

/* ==================================================================
 * 19. デザイン監査（v0.59.0）で出た不具合の一括修正
 * ================================================================== */

/* ---- 19-1. 濃紺セクションの取りこぼしを一括で白化する -----------------
 * これまでコンポーネント単位で個別指定していたため、モック側の新しい
 * パーツが出るたびに「濃紺に濃紺文字」が発生していた。総当たりで拾う。 */
body.is-lp-mock .mock-embed .lpr-sec--dark :is(p,li,dd,dt,td,th,small,figcaption,span,div){
  color:rgba(255,255,255,.84) !important;
}
body.is-lp-mock .mock-embed .lpr-sec--dark :is(h2,h3,h4,h5,b,strong){color:#fff !important;}
body.is-lp-mock .mock-embed .lpr-sec--dark a{color:#8FD0F5 !important;}
body.is-lp-mock .mock-embed .lpr-sec--dark a:hover{color:#fff !important;}
/* 白背景で組まれた箱は、濃紺面では透過＋白罫線に置き換える */
body.is-lp-mock .mock-embed .lpr-sec--dark :is(.callout,.neutral,.q-note,.nobind,.tl-total,
  .s,.gap,.card,.box,.panel,.note-box,.pp,.price,.ba-box,.fstep,.tcard,.pillar,.rep,.reason,
  .lead,.lead-answer,.q-table,.cmp,.tablewrap,.faq__item,.faq__a,.wrap > .note){
  background:rgba(255,255,255,.06) !important;
  border-color:rgba(255,255,255,.16) !important;
}
/* 面の色に溶ける「巨大ゴースト数字」を白の薄手に統一 */
body.is-lp-mock .mock-embed .lpr-sec--dark :is(.lpr-feat-no,.lpr-feat-sub-no,.lpr-why5-main-no,
  .lpr-why5-sub-no,.lpr-numrow-no,.tso-ghost,.p-no,.n-no){
  color:#fff !important;opacity:.26 !important;
}
/* 濃紺面のテーブルは罫線も白系に */
body.is-lp-mock .mock-embed .lpr-sec--dark :is(table,th,td){border-color:rgba(255,255,255,.18) !important;}
body.is-lp-mock .mock-embed .lpr-sec--dark thead :is(th,td){background:rgba(255,255,255,.08) !important;}

/* ---- 19-2. 角丸をスクエア基調に統一（円形の装飾だけ残す）------------- */
body.is-lp-mock .mock-embed *:not(circle){border-radius:0 !important;}
body.is-lp-mock .mock-embed :is(.lps-tl-dot,.lpr-voice-avatar,.lps-hub-core,.lps-hub-dot,.lps-hub-orbit,.lps-case-badge),
body.is-lp-mock .mock-embed .lps-hub-core::before{border-radius:50% !important;}

/* ---- 19-3. 図版内のフォントをモック標準（Zen Kaku）から本文書体へ ---- */
body.is-lp-mock .mock-embed :is(svg,figure,.fig) :is(text,tspan,figcaption,p,span){
  font-family:'Noto Sans JP',-apple-system,BlinkMacSystemFont,sans-serif !important;
}

/* ---- 19-4. 図版パネル（.fig）の締まりを出す ------------------------- */
body.is-lp-mock .mock-embed .fig{
  background:#fff !important;border:1px solid var(--border,#E2E8F1) !important;
  padding:20px !important;margin:20px 0 !important;
}
body.is-lp-mock .mock-embed .lpr-sec--dark .fig{
  background:rgba(255,255,255,.05) !important;border-color:rgba(255,255,255,.16) !important;
}
body.is-lp-mock .mock-embed .fig figcaption{
  margin-top:12px !important;padding-top:10px !important;
  border-top:1px solid var(--border-soft,#EDF1F5) !important;
  font-size:15px !important;color:var(--muted,#5C6B80) !important;text-align:left !important;
}
body.is-lp-mock .mock-embed .lpr-sec--dark .fig figcaption{
  border-top-color:rgba(255,255,255,.16) !important;color:rgba(255,255,255,.7) !important;
}

/* ---- 19-5. 小さな青文字／薄い補助テキストのコントラストを上げる ------ */
body.is-lp-mock .lpr-eyebrow:not(.en),
body.is-lp-mock .lpm-sim-en,
body.is-lp-mock .mock-embed :is(.tw,.sec-en,.chip-en){color:#1478AE !important;}
body.is-lp-mock .mock-embed :is(.note,.meta,.sub,.s-note,.pnote,.flow-note,.mtg-line){
  color:var(--muted,#5C6B80) !important;
}
body.is-lp-mock .mock-embed .lpr-sec--dark :is(.note,.meta,.sub,.s-note,.pnote,.flow-note){
  color:rgba(255,255,255,.62) !important;
}
/* 一括白化のあと、アクセントとして色を残す要素だけ戻す */
body.is-lp-mock .mock-embed .lpr-sec--dark :is(em,.hl,.hl-sky,.b-unit,.jd,.tso-figure-num span,
  .lps-num,.lps-step-no,.tso-chip){color:#5FB6E8 !important;}
body.is-lp-mock .mock-embed .lpr-sec--dark .tso-sec-en,
body.is-lp-mock .mock-embed .lpr-sec--dark .lpr-sec-h2{color:#fff !important;}
body.is-lp-mock .mock-embed .lpr-sec--dark .tso-chip--solid{background:var(--teal,#1C93D2) !important;color:#fff !important;}
/* 素タグリセット（.mock-embed section）より詳細度を上げて帯の面を確実に出す */
body.is-lp-mock .mock-embed section.tso-cta-band{
  background:var(--navy,#1B224C) !important;padding:44px 0 !important;border:0 !important;
}
body.is-lp-mock .mock-embed section.tso-cta-band :is(h2,p,span,div){color:#fff !important;}
body.is-lp-mock .mock-embed section.tso-cta-band p{color:rgba(255,255,255,.82) !important;}
body.is-lp-mock .mock-embed section.tso-cta-band .lpr-btn--white{background:#fff !important;color:var(--navy,#1B224C) !important;border-color:#fff !important;}
body.is-lp-mock .mock-embed section.tso-cta-band .lpr-btn--white span{color:var(--navy,#1B224C) !important;}
body.is-lp-mock .mock-embed section.tso-cta-band .lpr-btn--ghost2{background:transparent !important;border:1px solid #fff !important;}
body.is-lp-mock .mock-embed section.tso-cta-band .lpr-btn--ghost2 span{color:#fff !important;}
/* 図版スロットのゴースト数字と、見出し横の数字が二重に出るのを解消 */
body.is-lp-mock .mock-embed .tso-media:has(.tso-media-fig .tso-media-no) .tso-media-num{display:none !important;}
body.is-lp-mock .mock-embed .tso-trio-item:has(.tso-trio-ghost) .tso-trio-num{display:none !important;}

/* ---- 19-6. 明るい面の中に置かれた「濃紺の箱」の文字を白に戻す --------
 * モック側の p,li{color:#3D4A5C !important} が勝ってしまい、
 * 濃紺の箱の中だけ文字が読めなくなるケースがあった。 */
body.is-lp-mock .mock-embed :is(.pp-foot,.tl-total,.fstep,.cbox,.dark,.eval-box,.teaser,.neutral,.ba-box.a,
  .jd-closing,.jd-hero,.jd-voice-box,.job-card,.k-feature,.num-card,.biz-card,.modal-head,
  .rep-sample__h,.support-bar,.sx-badge,.voc-closing,.voice-card.v-navy,.mv-card.dark-card,
  .f-step.hot,.btn-big.primary,.stg),
body.is-lp-mock .mock-embed :is(.pp-foot,.tl-total,.fstep,.cbox,.dark,.eval-box,.teaser,.neutral,.ba-box.a,
  .jd-closing,.jd-hero,.jd-voice-box,.job-card,.k-feature,.num-card,.biz-card,.modal-head,
  .rep-sample__h,.support-bar,.sx-badge,.voc-closing,.voice-card.v-navy,.mv-card.dark-card,
  .f-step.hot,.btn-big.primary,.stg) :is(p,li,span,small,b,strong,h3,h4,td,th,div){
  color:#fff !important;
}

/* ==================================================================
 * 20. 参考デザイン準拠の3レイアウト（HUB / NUMRING / CASEGRID）
 * ================================================================== */

/* ---- 20-1. HUB：中央の円から枝分かれ（v2）-------------------------- */
body.is-lp-mock .mock-embed .lps-hub{
  display:grid;grid-template-columns:minmax(230px,320px) 92px 1fr;gap:0;
  align-items:stretch;margin:16px 0 6px;
}
body.is-lp-mock .mock-embed .lps-hub-core{
  position:relative;aspect-ratio:1/1;border-radius:50% !important;
  background:var(--navy,#1B224C);border:0;align-self:center;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 0 0 9px #EDF2F7;
}
body.is-lp-mock .mock-embed .lps-hub-core::before{
  content:"";position:absolute;inset:20px;border-radius:50% !important;
  border:1px solid rgba(255,255,255,.22);
}
body.is-lp-mock .mock-embed .lps-hub-core-in{text-align:center;padding:0 15%;position:relative;z-index:1;}
body.is-lp-mock .mock-embed .lps-hub-core-en{
  display:block;font-family:'Poppins',sans-serif;font-size:14px;font-weight:600;
  letter-spacing:.24em;color:#5FB6E8;
}
body.is-lp-mock .mock-embed .lps-hub-core-en::after{
  content:"";display:block;width:26px;height:2px;margin:9px auto 0;background:var(--teal,#1C93D2);
}
body.is-lp-mock .mock-embed .lps-hub-core-t{
  display:block;margin-top:12px;font-weight:900;line-height:1.7;
  font-size:clamp(17.5px,1.2vw,21px);color:#fff;letter-spacing:.01em;
}
/* 円 → カードをつなぐ曲線 */
body.is-lp-mock .mock-embed .lps-hub-links{align-self:stretch;position:relative;}
body.is-lp-mock .mock-embed .lps-hub-links svg{position:absolute;inset:0;width:100%;height:100%;display:block;}
body.is-lp-mock .mock-embed .lps-hub-rows{display:grid;grid-auto-rows:1fr;gap:0;}
body.is-lp-mock .mock-embed .lps-hub-row{
  position:relative;display:grid;grid-template-columns:34px 1fr;align-items:center;
  padding:8px 0;
}
body.is-lp-mock .mock-embed .lps-hub-card{height:100%;display:flex;flex-direction:column;}
body.is-lp-mock .mock-embed .lps-hub-dot{
  width:56px;height:56px;border-radius:50% !important;display:flex;align-items:center;justify-content:center;
  background:var(--navy,#1B224C);color:#fff;position:relative;z-index:2;
  box-shadow:0 10px 22px rgba(27,34,76,.22),0 0 0 5px #fff;
}
body.is-lp-mock .mock-embed .lps-hub-dot i{
  font-style:normal;font-family:'Poppins',sans-serif;font-weight:700;font-size:24px;letter-spacing:.02em;
}
body.is-lp-mock .mock-embed .lps-hub-row:nth-child(2) .lps-hub-dot{background:var(--teal,#1C93D2);}
body.is-lp-mock .mock-embed .lps-hub-row:nth-child(3) .lps-hub-dot{background:#5C6B80;}
body.is-lp-mock .mock-embed .lps-hub-card{
  background:#fff;border:0;box-shadow:0 10px 30px rgba(27,34,76,.08);overflow:hidden;
}
body.is-lp-mock .mock-embed .lps-hub-head{
  background:linear-gradient(100deg,var(--navy,#1B224C) 0%,#2A3565 100%);
  color:#fff;padding:14px 24px 14px 40px;
  font-weight:900;font-size:20px;line-height:1.5;letter-spacing:.01em;
}
body.is-lp-mock .mock-embed .lps-hub-row:nth-child(2) .lps-hub-head{
  background:linear-gradient(100deg,#1478AE 0%,var(--teal,#1C93D2) 100%);
}
body.is-lp-mock .mock-embed .lps-hub-row:nth-child(3) .lps-hub-head{
  background:linear-gradient(100deg,#4C5A70 0%,#6B7A90 100%);
}
body.is-lp-mock .mock-embed .lps-hub-body{padding:16px 24px 18px 40px;}
body.is-lp-mock .mock-embed .lps-hub-body p{margin:0;font-size:17.5px;line-height:1.95;color:var(--muted,#5C6B80);}
/* 濃紺面 */
body.is-lp-mock .mock-embed .lpr-sec--dark .lps-hub-core{
  background:#111737;box-shadow:0 0 0 9px rgba(255,255,255,.06);
}
body.is-lp-mock .mock-embed .lpr-sec--dark .lps-hub-card{background:rgba(255,255,255,.07);box-shadow:none;}
body.is-lp-mock .mock-embed .lpr-sec--dark .lps-hub-dot{box-shadow:0 10px 22px rgba(0,0,0,.3),0 0 0 5px #1B224C;}

/* ---- 20-2. NUMRING：線画の大きな数字 3 連（v2）--------------------- */
body.is-lp-mock .mock-embed .lps-numring{
  display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin:20px 0 6px;
}
/* 4枚以上のときは 2 列にして、はぐれカードが出ないようにする */
body.is-lp-mock .mock-embed .lps-numring:has(> :nth-child(4)){grid-template-columns:repeat(2,1fr);}
body.is-lp-mock .mock-embed .lps-numring-item{
  position:relative;padding-top:52px;display:flex;flex-direction:column;
}
body.is-lp-mock .mock-embed .lps-numring-fig{
  position:absolute;top:0;left:2px;width:154px;height:154px;z-index:2;pointer-events:none;
}
body.is-lp-mock .mock-embed .lps-numring-ring{
  width:100%;height:100%;display:block;color:var(--teal,#1C93D2);opacity:.42;
}
body.is-lp-mock .mock-embed .lps-numring-no{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-family:'Poppins',sans-serif;font-weight:700;font-size:105.5px;line-height:1;
  color:var(--navy,#1B224C);
}
@supports (-webkit-text-stroke:1px #000){
  body.is-lp-mock .mock-embed .lps-numring-no{color:transparent;-webkit-text-stroke:2.5px var(--navy,#1B224C);}
}
body.is-lp-mock .mock-embed .lps-numring-card{
  position:relative;background:#fff;box-shadow:0 12px 34px rgba(27,34,76,.09);
  border-top:3px solid var(--teal,#1C93D2);
  padding:0 26px 24px;margin-left:0;flex:1 1 auto;display:flex;flex-direction:column;
}
body.is-lp-mock .mock-embed .lps-numring-item:nth-child(2) .lps-numring-card{border-top-color:var(--navy,#1B224C);}
body.is-lp-mock .mock-embed .lps-numring-item:nth-child(3) .lps-numring-card{border-top-color:#5C6B80;}
body.is-lp-mock .mock-embed .lps-numring-bar{
  position:relative;z-index:3;margin:0 -26px 0 auto;width:calc(100% - 66px);
  min-height:70px;display:flex;align-items:center;
  transform:translateY(56px) skewX(-12deg);
  background:var(--teal,#1C93D2);color:#fff;padding:10px 22px;
  box-shadow:0 8px 20px rgba(28,147,210,.28);
}
body.is-lp-mock .mock-embed .lps-numring-bar span{
  display:block;transform:skewX(12deg);font-weight:900;font-size:19px;line-height:1.5;
}
body.is-lp-mock .mock-embed .lps-numring-item:nth-child(2) .lps-numring-bar{
  background:var(--navy,#1B224C);box-shadow:0 8px 20px rgba(27,34,76,.28);
}
body.is-lp-mock .mock-embed .lps-numring-item:nth-child(3) .lps-numring-bar{
  background:#5C6B80;box-shadow:0 8px 20px rgba(92,107,128,.26);
}
body.is-lp-mock .mock-embed .lps-numring-body{padding-top:82px;flex:1 1 auto;}
body.is-lp-mock .mock-embed .lps-numring-body p{margin:0;font-size:17.5px;line-height:1.95;color:var(--muted,#5C6B80);}
body.is-lp-mock .mock-embed .lpr-sec--dark .lps-numring-no{-webkit-text-stroke-color:#fff;color:transparent;}
body.is-lp-mock .mock-embed .lpr-sec--dark .lps-numring-ring{color:#fff;opacity:.32;}
body.is-lp-mock .mock-embed .lpr-sec--dark .lps-numring-card{background:rgba(255,255,255,.07);box-shadow:none;}

/* ---- 20-3. CASEGRID：CASEバッジ → 矢印 → 濃色パネル ----------------- */
body.is-lp-mock .mock-embed .lps-case-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:34px 30px;margin:12px 0 4px;
}
body.is-lp-mock .mock-embed .lps-case{display:flex;flex-direction:column;align-items:center;}
body.is-lp-mock .mock-embed .lps-case-badge{
  width:66px;height:66px;border-radius:50% !important;border:2px solid var(--teal,#1C93D2);
  background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;
}
body.is-lp-mock .mock-embed .lps-case-badge em{
  font-style:normal;font-family:'Poppins',sans-serif;font-size:12px;font-weight:600;
  letter-spacing:.14em;color:var(--teal,#1C93D2);
}
body.is-lp-mock .mock-embed .lps-case-badge b{
  font-family:'Poppins',sans-serif;font-size:26px;font-weight:700;color:var(--navy,#1B224C);margin-top:3px;
}
body.is-lp-mock .mock-embed .lps-case-arrow{width:24px;height:24px;color:var(--muted-soft,#7C89A0);margin:10px 0 12px;}
body.is-lp-mock .mock-embed .lps-case-arrow svg{width:100%;height:100%;display:block;}
body.is-lp-mock .mock-embed .lps-case-main{
  width:100%;background:linear-gradient(135deg,#1B224C 0%,#1C93D2 100%);
  padding:22px 24px;text-align:center;
}
body.is-lp-mock .mock-embed .lps-case-main h3{
  margin:0 !important;color:#fff !important;font-weight:900 !important;
  font-size:clamp(21px,1.55vw,26px) !important;line-height:1.55 !important;
}
body.is-lp-mock .mock-embed .lps-case-body{
  width:100%;background:#fff;border:1px solid var(--border,#E2E8F1);border-top:0;
  padding:16px 24px 18px;
}
body.is-lp-mock .mock-embed .lps-case-body p{margin:0;font-size:17.5px;line-height:1.9;color:var(--muted,#5C6B80);}
body.is-lp-mock .mock-embed .lpr-sec--dark .lps-case-badge{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.4);}
body.is-lp-mock .mock-embed .lpr-sec--dark .lps-case-body{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.16);}

@media (max-width:1024px){
  body.is-lp-mock .mock-embed .lps-hub{grid-template-columns:1fr;gap:34px;justify-items:center;}
  body.is-lp-mock .mock-embed .lps-hub-core{width:220px;}
  body.is-lp-mock .mock-embed .lps-hub-links{display:none;}
  body.is-lp-mock .mock-embed .lps-hub-rows{width:100%;}
  body.is-lp-mock .mock-embed .lps-numring{grid-template-columns:1fr;gap:30px;}
  body.is-lp-mock .mock-embed .lps-numring-fig{width:120px;height:120px;}
  body.is-lp-mock .mock-embed .lps-numring-no{font-size:81.5px;}
  body.is-lp-mock .mock-embed .lps-numring-card{min-height:0;}
  body.is-lp-mock .mock-embed .lps-numring-bar{transform:translateY(44px) skewX(-12deg);}
  body.is-lp-mock .mock-embed .lps-numring-body{padding-top:70px;}
}
@media (max-width:720px){
  body.is-lp-mock .mock-embed .lps-case-grid{grid-template-columns:1fr;}
  body.is-lp-mock .mock-embed .lps-hub-row{grid-template-columns:52px 1fr;}
  body.is-lp-mock .mock-embed .lps-hub-dot{width:48px;height:48px;}
  body.is-lp-mock .mock-embed .lps-hub-dot span{font-size:20px;}
}
/* CASEGRID の微調整：カード高さを揃える／注記を改行／濃紺面の面色を分離 */
body.is-lp-mock .mock-embed .lps-case-grid{align-items:stretch;}
body.is-lp-mock .mock-embed .lps-case{height:100%;}
body.is-lp-mock .mock-embed .lps-case-body{flex:1 1 auto;}
body.is-lp-mock .mock-embed .lps-case-body .note{display:block;margin-top:8px;font-size:14.5px;line-height:1.7;}
body.is-lp-mock .mock-embed .lpr-sec--dark .lps-case-main{
  background:linear-gradient(135deg,#1C93D2 0%,#155F94 100%) !important;
}
body.is-lp-mock .mock-embed .lpr-sec--dark .lps-hub-head{background:rgba(255,255,255,.14) !important;}
body.is-lp-mock .mock-embed .lpr-sec--dark .lps-hub-row:nth-child(2) .lps-hub-head{background:var(--teal,#1C93D2) !important;}
body.is-lp-mock .mock-embed .lpr-sec--dark .lps-hub-row:nth-child(3) .lps-hub-head{background:rgba(255,255,255,.10) !important;}

/* HERO の eyebrow が日本語混じりのときは英字用の字間を外す */
body.is-lp-mock .lpr-hero .lpr-eyebrow:not(.en){
  font-family:'Noto Sans JP',sans-serif !important;
  font-size:15.5px !important;letter-spacing:.04em !important;line-height:1.6 !important;
}

/* ==================================================================
 * 21. 追加の可読性修正
 * ================================================================== */

/* 21-1. 濃紺セクション内で「明るい背景の箱」に白文字が乗る事故を潰す。
 *       モック／lp-rich 由来の淡色ボックスを一括で透過に置き換える。 */
body.is-lp-mock .mock-embed .lpr-sec--dark :is(
  .mtg-line,.op,.pain,.pillar,.tcard,.rcard,.wcard,.svc,.svc-card,.svc-row,.case-card,
  .cause-card,.ben-card,.plan,.pp-card,.proc-card,.rep-item,.rep-sample,.str-card,.step,
  .st,.tl-card,.q-table,.cmp,.faq,.faq-item,.faq__item,.jd,.k-row,.kpi,.layer,.list-card,
  .linkcard,.matrix,.nc,.pcol,.persona-item,.pill,.sample,.sec-alt,.segaxis,.sim,.sim-out,
  .ss-chip,.strength,.tag,.thumb,.toc-box,.voice,.wres,.wtag,.gb,.ic,.ind,.dist-box,
  .coverage,.cadence,.ch-item,.challenge,.flow__step,.f-step,.g-header,.appo-card,
  .aisol-card,.aisol-mini,.aisol-others,.ai-panel,.ai-opt,.ai-metric,.branch-card,
  .num-card2,.mx-card,.rpt-stage,.rptimg-stage,.why-box,.vocsum__c,.proofband
){
  background:rgba(255,255,255,.06) !important;
  border-color:rgba(255,255,255,.16) !important;
  color:rgba(255,255,255,.84) !important;
}
body.is-lp-mock .mock-embed .lpr-sec--dark :is(.mtg-line,.callout,.neutral,.q-note){
  border-left-color:var(--teal,#1C93D2) !important;
}

/* 21-2. Before/After の After 箱（濃紺）の文字色を確実に白へ */
body.is-lp-mock .mock-embed .ba-box.a,
body.is-lp-mock .mock-embed .ba-box.a :is(div,span,b,small,p){color:#fff !important;}
body.is-lp-mock .mock-embed .ba-box.a .bn{color:#5FB6E8 !important;}
body.is-lp-mock .mock-embed .ba-box.b .bh{color:var(--muted,#5C6B80) !important;}
body.is-lp-mock .mock-embed .lpr-sec--dark .ba-box.a{background:var(--teal,#1C93D2) !important;}

/* 21-3. 面が同じセクションが隣り合った場合の保険（境界線を1本入れる）*/
body.is-lp-mock .mock-embed .lpr-sec--alt + .lpr-sec--alt,
body.is-lp-mock .mock-embed .lpr-sec--pale + .lpr-sec--pale,
body.is-lp-mock .mock-embed .lpr-sec--dark + .lpr-sec--dark{
  border-top:1px solid rgba(27,34,76,.08) !important;
}
body.is-lp-mock .mock-embed .lpr-sec--dark + .lpr-sec--dark{
  border-top-color:rgba(255,255,255,.14) !important;
}
/* HUB が4行になったページ用の4色目 */
body.is-lp-mock .mock-embed .lps-hub-row:nth-child(4) .lps-hub-dot{background:#2E7FB8;}
body.is-lp-mock .mock-embed .lps-hub-row:nth-child(4) .lps-hub-head{
  background:linear-gradient(100deg,#2E7FB8 0%,#5FB6E8 100%);
}
/* NUMRING が4枚／HUB が5行になったページ用の追加色 */
body.is-lp-mock .mock-embed .lps-numring-item:nth-child(4) .lps-numring-card{border-top-color:#2E7FB8;}
body.is-lp-mock .mock-embed .lps-numring-item:nth-child(4) .lps-numring-bar{
  background:#2E7FB8;box-shadow:0 8px 20px rgba(46,127,184,.26);
}
body.is-lp-mock .mock-embed .lps-hub-row:nth-child(5) .lps-hub-dot{background:#7C89A0;}
body.is-lp-mock .mock-embed .lps-hub-row:nth-child(5) .lps-hub-head{
  background:linear-gradient(100deg,#5C6B80 0%,#8493A8 100%);
}

/* ==================================================================
 * 22. 下層ページ（数値を持たないモック）のコンパクトHERO
 * ================================================================== */
body.is-lp-mock .lpr-hero--page{padding:44px 0 56px;}
body.is-lp-mock .lpr-hero--page .lpr-hero-inner{grid-template-columns:1fr;}
body.is-lp-mock .lpr-hero--page .lpr-hero-left{max-width:900px;}
body.is-lp-mock .lpr-hero--page .lpr-hero-en{
  display:block;font-family:'Poppins',sans-serif;font-weight:200;
  font-size:clamp(37.5px,3.4vw,57px);line-height:1.05;letter-spacing:.02em;
  color:var(--teal,#1C93D2);text-transform:uppercase;margin:6px 0 10px;
}
body.is-lp-mock .lpr-hero--page .lpr-h1{
  font-size:clamp(30px,2.6vw,47.5px) !important;line-height:1.5 !important;margin:0 0 14px !important;
}
body.is-lp-mock .lpr-hero--page .lpr-lead{max-width:840px;}

/* ==================================================================
 * 23. 追加レイアウト（TILES / MATRIX / RIBBON / QUOTE）
 * ================================================================== */
/* ---- TILES：先頭だけ2カラム占有の非対称グリッド ---- */
body.is-lp-mock .mock-embed .lps-tiles{
  display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:10px 0 4px;
}
body.is-lp-mock .mock-embed .lps-tile{
  position:relative;background:#fff;border:1px solid var(--border,#E2E8F1);
  padding:26px 26px 24px;overflow:hidden;
}
body.is-lp-mock .mock-embed .lps-tile--lead{grid-column:span 2;background:var(--navy,#1B224C);border-color:var(--navy,#1B224C);}
body.is-lp-mock .mock-embed .lps-tile--lead :is(h3,p,li,span,b){color:#fff !important;}
body.is-lp-mock .mock-embed .lps-tile-no{
  position:absolute;right:16px;top:8px;font-family:'Poppins',sans-serif;font-weight:700;
  font-size:61.5px;line-height:1;color:var(--border-soft,#EDF1F5);
}
body.is-lp-mock .mock-embed .lps-tile--lead .lps-tile-no{color:rgba(255,255,255,.14);}
body.is-lp-mock .mock-embed .lps-tile-tag{
  display:inline-block;font-size:14.5px;font-weight:700;letter-spacing:.06em;
  color:var(--teal,#1C93D2);border:1px solid currentColor;padding:3px 10px;margin-bottom:10px;
}
body.is-lp-mock .mock-embed .lps-tile h3{
  font-size:21px !important;font-weight:900 !important;margin:0 0 10px !important;position:relative;z-index:1;
}
body.is-lp-mock .mock-embed .lps-tile p{margin:0;font-size:17.5px;line-height:1.9;color:var(--muted,#5C6B80);position:relative;z-index:1;}
body.is-lp-mock .mock-embed .lps-tile--lead p{color:rgba(255,255,255,.84) !important;}

/* ---- MATRIX：見出し列＋本文列の罫線テーブル ---- */
body.is-lp-mock .mock-embed .lps-matrix{border-top:2px solid var(--navy,#1B224C);margin:10px 0 4px;}
body.is-lp-mock .mock-embed .lps-mx-row{
  display:grid;grid-template-columns:minmax(220px,32%) 1fr;gap:28px;
  padding:22px 4px;border-bottom:1px solid var(--border,#E2E8F1);align-items:start;
}
body.is-lp-mock .mock-embed .lps-mx-key{display:flex;align-items:baseline;gap:12px;}
body.is-lp-mock .mock-embed .lps-mx-no{
  font-family:'Poppins',sans-serif;font-weight:700;font-size:19px;color:var(--teal,#1C93D2);flex:0 0 auto;
}
body.is-lp-mock .mock-embed .lps-mx-key h3{font-size:20.5px !important;font-weight:900 !important;margin:0 !important;line-height:1.6 !important;}
body.is-lp-mock .mock-embed .lps-mx-val p{margin:0;font-size:17.5px;line-height:1.95;color:var(--muted,#5C6B80);}

/* ---- RIBBON：横帯を1本ずつ右へずらす ---- */
body.is-lp-mock .mock-embed .lps-ribbons{display:flex;flex-direction:column;gap:10px;margin:10px 0 4px;}
body.is-lp-mock .mock-embed .lps-ribbon{
  display:grid;grid-template-columns:78px 1fr;align-items:center;
  margin-left:calc(var(--rb) * 26px);width:calc(100% - var(--rb) * 26px);
  background:var(--bg,#F4F7FB);border-left:4px solid var(--teal,#1C93D2);
  padding:18px 24px;
}
body.is-lp-mock .mock-embed .lps-ribbon-no{
  font-family:'Poppins',sans-serif;font-weight:700;font-size:37.5px;line-height:1;color:var(--teal,#1C93D2);
}
body.is-lp-mock .mock-embed .lps-ribbon h3{font-size:20.5px !important;font-weight:900 !important;margin:0 0 6px !important;}
body.is-lp-mock .mock-embed .lps-ribbon p{margin:0;font-size:17.5px;line-height:1.9;color:var(--muted,#5C6B80);}

/* ---- QUOTE：引用符つきコメント ---- */
body.is-lp-mock .mock-embed .lps-quotes{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px;margin:10px 0 4px;
}
body.is-lp-mock .mock-embed .lps-quote{
  position:relative;background:#fff;border:1px solid var(--border,#E2E8F1);padding:26px 26px 24px 30px;
}
body.is-lp-mock .mock-embed .lps-quote-mark{
  position:absolute;left:16px;top:2px;font-family:'Poppins',sans-serif;font-weight:700;
  font-size:70.5px;line-height:1;color:var(--teal-light,#EAF4FB);
}
body.is-lp-mock .mock-embed .lps-quote-body{position:relative;z-index:1;}
body.is-lp-mock .mock-embed .lps-quote h3{font-size:20.5px !important;font-weight:900 !important;margin:0 0 10px !important;}
body.is-lp-mock .mock-embed .lps-quote p{margin:0;font-size:17.5px;line-height:1.95;color:var(--muted,#5C6B80);}
body.is-lp-mock .mock-embed .lps-quote-tag{
  margin-top:12px;font-size:15px;font-weight:700;color:var(--teal,#1C93D2);
}
@media (max-width:900px){
  body.is-lp-mock .mock-embed .lps-tiles{grid-template-columns:1fr;}
  body.is-lp-mock .mock-embed .lps-tile--lead{grid-column:auto;}
  body.is-lp-mock .mock-embed .lps-mx-row{grid-template-columns:1fr;gap:8px;}
  body.is-lp-mock .mock-embed .lps-ribbon{margin-left:0;width:100%;grid-template-columns:56px 1fr;}
}


/* ==================================================================
 * 24. スキン（面の作り）と番号表現のバリエーション
 *   同じ構造でも sk-* / nm-* の組み合わせで別デザインとして読める。
 * ================================================================== */

/* ---- sk-card：白いカードに載せる ---- */
body.is-lp-mock .mock-embed .lps-v.sk-card :is(.lpr-numrow,.lpr-zig-row,.lpr-feat-main,.lpr-feat-sub,.lpr-why5-main,.lpr-why5-sub,.lps-pipe-cell,.lps-stair,.lps-tl-node,.tso-pair,.tso-media,.tso-trio-item,.tso-def-row,.tso-check-row,.tso-split-lead,.tso-split-item,.lps-iconrow-item,.lps-case,.lps-tile,.lps-mx-row,.lps-ribbon,.lps-quote,.lps-numring-card,.lps-hub-card,.lps-ladder-card,.lps-stat,.lps-banner,.lps-poster-cell,.lps-g2,.lps-frame-cell,.lps-onum-box,.lps-tabbox,.lps-capsule,.lps-iconcard){
  background:#fff !important;border:1px solid var(--border,#E2E8F1) !important;
  box-shadow:0 10px 26px rgba(27,34,76,.07) !important;
  padding:24px 26px !important;position:relative;
}
body.is-lp-mock .mock-embed .lps-v.sk-card :is(.lps-tl,.lpr-numlist,.tso-check,.tso-def-list,.lps-matrix){border:0 !important;}
body.is-lp-mock .mock-embed .lps-v.sk-card .lps-mx-row{border-bottom:0 !important;margin-bottom:12px;}
body.is-lp-mock .mock-embed .lps-v.sk-card .tso-def-row,
body.is-lp-mock .mock-embed .lps-v.sk-card .tso-check-row,
body.is-lp-mock .mock-embed .lps-v.sk-card .lpr-numrow{border:1px solid var(--border,#E2E8F1) !important;margin-bottom:12px;}

/* ---- sk-line：枠も面も持たず、細い罫線だけで区切る ---- */
body.is-lp-mock .mock-embed .lps-v.sk-line :is(.lpr-numrow,.lpr-zig-row,.lpr-feat-main,.lpr-feat-sub,.lpr-why5-main,.lpr-why5-sub,.lps-pipe-cell,.lps-stair,.lps-tl-node,.tso-pair,.tso-media,.tso-trio-item,.tso-def-row,.tso-check-row,.tso-split-lead,.tso-split-item,.lps-iconrow-item,.lps-case,.lps-tile,.lps-mx-row,.lps-ribbon,.lps-quote,.lps-numring-card,.lps-hub-card,.lps-ladder-card,.lps-stat,.lps-banner,.lps-poster-cell,.lps-g2,.lps-frame-cell,.lps-onum-box,.lps-tabbox,.lps-capsule,.lps-iconcard){
  background:transparent !important;border:0 !important;border-top:1px solid var(--border,#E2E8F1) !important;
  box-shadow:none !important;padding:22px 2px !important;position:relative;
}
body.is-lp-mock .mock-embed .lps-v.sk-line :is(.lpr-numrow,.lpr-zig-row,.lpr-feat-main,.lpr-feat-sub,.lpr-why5-main,.lpr-why5-sub,.lps-pipe-cell,.lps-stair,.lps-tl-node,.tso-pair,.tso-media,.tso-trio-item,.tso-def-row,.tso-check-row,.tso-split-lead,.tso-split-item,.lps-iconrow-item,.lps-case,.lps-tile,.lps-mx-row,.lps-ribbon,.lps-quote,.lps-numring-card,.lps-hub-card,.lps-ladder-card,.lps-stat,.lps-banner,.lps-poster-cell,.lps-g2,.lps-frame-cell,.lps-onum-box,.lps-tabbox,.lps-capsule,.lps-iconcard):first-child{border-top:0 !important;}
body.is-lp-mock .mock-embed .lps-v.sk-line .lps-tile--lead{background:transparent !important;}
body.is-lp-mock .mock-embed .lps-v.sk-line .lps-tile--lead :is(h3,p,span,b){color:var(--navy,#1B224C) !important;}
body.is-lp-mock .mock-embed .lps-v.sk-line .lps-tile--lead p{color:var(--muted,#5C6B80) !important;}

/* ---- sk-fill：淡色の面で塗り、左に太いアクセント ---- */
body.is-lp-mock .mock-embed .lps-v.sk-fill :is(.lpr-numrow,.lpr-zig-row,.lpr-feat-main,.lpr-feat-sub,.lpr-why5-main,.lpr-why5-sub,.lps-pipe-cell,.lps-stair,.lps-tl-node,.tso-pair,.tso-media,.tso-trio-item,.tso-def-row,.tso-check-row,.tso-split-lead,.tso-split-item,.lps-iconrow-item,.lps-case,.lps-tile,.lps-mx-row,.lps-ribbon,.lps-quote,.lps-numring-card,.lps-hub-card,.lps-ladder-card,.lps-stat,.lps-banner,.lps-poster-cell,.lps-g2,.lps-frame-cell,.lps-onum-box,.lps-tabbox,.lps-capsule,.lps-iconcard){
  background:var(--bg,#F4F7FB) !important;border:0 !important;
  border-left:4px solid var(--teal,#1C93D2) !important;box-shadow:none !important;
  padding:22px 26px !important;position:relative;
}
body.is-lp-mock .mock-embed .lps-v.sk-fill :is(.lpr-numrow,.tso-def-row,.tso-check-row,.lps-mx-row){margin-bottom:10px;}
body.is-lp-mock .mock-embed .lps-v.sk-fill .lps-mx-row{border-bottom:0 !important;}
body.is-lp-mock .mock-embed .lps-v.sk-fill .lps-matrix{border-top:0 !important;}

/* ---- 濃紺セクションでのスキン ---- */
body.is-lp-mock .mock-embed .lpr-sec--dark .lps-v.sk-card :is(.lpr-numrow,.lpr-zig-row,.lpr-feat-main,.lpr-feat-sub,.lpr-why5-main,.lpr-why5-sub,.lps-pipe-cell,.lps-stair,.lps-tl-node,.tso-pair,.tso-media,.tso-trio-item,.tso-def-row,.tso-check-row,.tso-split-lead,.tso-split-item,.lps-iconrow-item,.lps-case,.lps-tile,.lps-mx-row,.lps-ribbon,.lps-quote,.lps-numring-card,.lps-hub-card,.lps-ladder-card,.lps-stat,.lps-banner,.lps-poster-cell,.lps-g2,.lps-frame-cell,.lps-onum-box,.lps-tabbox,.lps-capsule,.lps-iconcard),
body.is-lp-mock .mock-embed .lpr-sec--dark .lps-v.sk-fill :is(.lpr-numrow,.lpr-zig-row,.lpr-feat-main,.lpr-feat-sub,.lpr-why5-main,.lpr-why5-sub,.lps-pipe-cell,.lps-stair,.lps-tl-node,.tso-pair,.tso-media,.tso-trio-item,.tso-def-row,.tso-check-row,.tso-split-lead,.tso-split-item,.lps-iconrow-item,.lps-case,.lps-tile,.lps-mx-row,.lps-ribbon,.lps-quote,.lps-numring-card,.lps-hub-card,.lps-ladder-card,.lps-stat,.lps-banner,.lps-poster-cell,.lps-g2,.lps-frame-cell,.lps-onum-box,.lps-tabbox,.lps-capsule,.lps-iconcard){
  background:rgba(255,255,255,.07) !important;border-color:rgba(255,255,255,.16) !important;box-shadow:none !important;
}
body.is-lp-mock .mock-embed .lpr-sec--dark .lps-v.sk-line :is(.lpr-numrow,.lpr-zig-row,.lpr-feat-main,.lpr-feat-sub,.lpr-why5-main,.lpr-why5-sub,.lps-pipe-cell,.lps-stair,.lps-tl-node,.tso-pair,.tso-media,.tso-trio-item,.tso-def-row,.tso-check-row,.tso-split-lead,.tso-split-item,.lps-iconrow-item,.lps-case,.lps-tile,.lps-mx-row,.lps-ribbon,.lps-quote,.lps-numring-card,.lps-hub-card,.lps-ladder-card,.lps-stat,.lps-banner,.lps-poster-cell,.lps-g2,.lps-frame-cell,.lps-onum-box,.lps-tabbox,.lps-capsule,.lps-iconcard){border-top-color:rgba(255,255,255,.18) !important;}

/* ---- nm-ghost：番号を極大・極薄にして背面へ ---- */
body.is-lp-mock .mock-embed .lps-v.nm-ghost :is(.lpr-numrow,.lpr-zig-row,.lpr-feat-main,.lpr-feat-sub,.lpr-why5-main,.lpr-why5-sub,.lps-pipe-cell,.lps-stair,.lps-tl-node,.tso-pair,.tso-media,.tso-trio-item,.tso-def-row,.tso-check-row,.tso-split-lead,.tso-split-item,.lps-iconrow-item,.lps-case,.lps-tile,.lps-mx-row,.lps-ribbon,.lps-quote,.lps-numring-card,.lps-hub-card,.lps-ladder-card,.lps-stat,.lps-banner,.lps-poster-cell,.lps-g2,.lps-frame-cell,.lps-onum-box,.lps-tabbox,.lps-capsule,.lps-iconcard){position:relative;overflow:hidden;}
body.is-lp-mock .mock-embed .lps-v.nm-ghost :is(.lpr-numrow-no,.lpr-zig-no-big,.lpr-feat-no,.lpr-feat-sub-no,.lpr-why5-main-no,.lpr-why5-sub-no,.lps-stair-no,.tso-def-no,.tso-split-no,.tso-split-item-no,.tso-media-num,.tso-media-no,.tso-trio-no,.lps-tile-no,.lps-mx-no,.lps-ribbon-no,.tso-ghost,.lps-quote-mark,.lps-stat-no,.lps-banner-no,.lps-poster-cell-no,.lps-g2-no,.lps-frame-no,.lps-iconcard-no){
  position:absolute !important;right:10px !important;top:-6px !important;left:auto !important;
  font-family:'Poppins',sans-serif !important;font-weight:700 !important;
  font-size:97px !important;line-height:1 !important;
  color:var(--navy,#1B224C) !important;opacity:.07 !important;
  width:auto !important;height:auto !important;background:none !important;border:0 !important;
  margin:0 !important;padding:0 !important;pointer-events:none;z-index:0;
}
body.is-lp-mock .mock-embed .lpr-sec--dark .lps-v.nm-ghost :is(.lpr-numrow-no,.lpr-zig-no-big,.lpr-feat-no,.lpr-feat-sub-no,.lpr-why5-main-no,.lpr-why5-sub-no,.lps-stair-no,.tso-def-no,.tso-split-no,.tso-split-item-no,.tso-media-num,.tso-media-no,.tso-trio-no,.lps-tile-no,.lps-mx-no,.lps-ribbon-no,.tso-ghost,.lps-quote-mark,.lps-stat-no,.lps-banner-no,.lps-poster-cell-no,.lps-g2-no,.lps-frame-no,.lps-iconcard-no){color:#fff !important;opacity:.10 !important;}

/* ---- nm-ring：番号を丸で囲む ---- */
body.is-lp-mock .mock-embed .lps-v.nm-ring :is(.lpr-numrow-no,.lpr-zig-no-big,.lpr-feat-no,.lpr-feat-sub-no,.lpr-why5-main-no,.lpr-why5-sub-no,.lps-stair-no,.tso-def-no,.tso-split-no,.tso-split-item-no,.tso-media-num,.tso-media-no,.tso-trio-no,.lps-tile-no,.lps-mx-no,.lps-ribbon-no,.tso-ghost,.lps-quote-mark,.lps-stat-no,.lps-banner-no,.lps-poster-cell-no,.lps-g2-no,.lps-frame-no,.lps-iconcard-no){
  display:inline-flex !important;align-items:center;justify-content:center;
  width:46px !important;height:46px !important;border-radius:50% !important;
  border:2px solid var(--teal,#1C93D2) !important;background:transparent !important;
  font-family:'Poppins',sans-serif !important;font-weight:700 !important;
  font-size:20px !important;line-height:1 !important;color:var(--teal,#1C93D2) !important;
  opacity:1 !important;margin:0 0 10px !important;padding:0 !important;
}
body.is-lp-mock .mock-embed .lpr-sec--dark .lps-v.nm-ring :is(.lpr-numrow-no,.lpr-zig-no-big,.lpr-feat-no,.lpr-feat-sub-no,.lpr-why5-main-no,.lpr-why5-sub-no,.lps-stair-no,.tso-def-no,.tso-split-no,.tso-split-item-no,.tso-media-num,.tso-media-no,.tso-trio-no,.lps-tile-no,.lps-mx-no,.lps-ribbon-no,.tso-ghost,.lps-quote-mark,.lps-stat-no,.lps-banner-no,.lps-poster-cell-no,.lps-g2-no,.lps-frame-no,.lps-iconcard-no){border-color:#5FB6E8 !important;color:#5FB6E8 !important;}

/* ---- nm-hide：番号を出さない ---- */
body.is-lp-mock .mock-embed .lps-v.nm-hide :is(.lpr-numrow-no,.lpr-zig-no-big,.lpr-feat-no,.lpr-feat-sub-no,.lpr-why5-main-no,.lpr-why5-sub-no,.lps-stair-no,.tso-def-no,.tso-split-no,.tso-split-item-no,.tso-media-num,.tso-media-no,.tso-trio-no,.lps-tile-no,.lps-mx-no,.lps-ribbon-no,.tso-ghost,.lps-quote-mark,.lps-stat-no,.lps-banner-no,.lps-poster-cell-no,.lps-g2-no,.lps-frame-no,.lps-iconcard-no){display:none !important;}

/* 角丸ゼロ化より後・高い詳細度で、丸番号の円形を確定させる */
body.is-lp-mock .mock-embed .lps-v.nm-ring :is(.lpr-numrow-no,.lpr-zig-no-big,.lpr-feat-no,.lpr-feat-sub-no,.lpr-why5-main-no,.lpr-why5-sub-no,.lps-stair-no,.tso-def-no,.tso-split-no,.tso-split-item-no,.tso-media-num,.tso-media-no,.tso-trio-no,.lps-tile-no,.lps-mx-no,.lps-ribbon-no,.tso-ghost,.lps-stat-no,.lps-banner-no,.lps-poster-cell-no,.lps-g2-no,.lps-frame-no,.lps-iconcard-no){
  border-radius:50% !important;
}

/* 番号を外に出した／隠したスキンでは、中身が番号だけだったメディア枠を畳む */
body.is-lp-mock .mock-embed .lps-v.nm-hide .tso-media-fig:not(:has(*:not(.tso-media-no))){
  display:none !important;
}
/* nm-ghost は番号を残すので、枠だけを潰して数字は項目の右上へ逃がす */
body.is-lp-mock .mock-embed .lps-v.nm-ghost .tso-media-fig:not(:has(*:not(.tso-media-no))){
  position:static !important;height:0 !important;min-height:0 !important;
  padding:0 !important;border:0 !important;background:none !important;overflow:visible !important;
}
body.is-lp-mock .mock-embed .lps-v.nm-ghost .tso-media-body,
body.is-lp-mock .mock-embed .lps-v.nm-hide .tso-media-body{max-width:none !important;}
body.is-lp-mock .mock-embed .lps-v:is(.nm-ghost,.nm-hide) .tso-media:has(.tso-media-fig:not(:has(*:not(.tso-media-no)))){
  grid-template-columns:1fr !important;
}
body.is-lp-mock .mock-embed .lps-v:is(.nm-ghost,.nm-hide) .tso-trio-media:not(:has(*:not(.tso-trio-no))){
  display:none !important;
}
body.is-lp-mock .mock-embed .lps-v.nm-ghost .tso-media-fig:not(:has(*:not(.tso-media-no)))::after,
body.is-lp-mock .mock-embed .lps-v.nm-ghost .tso-media-fig:not(:has(*:not(.tso-media-no)))::before{
  display:none !important;content:none !important;
}

/* ==================================================================
 * 25. 番号を隠したときの桁落ち対策（v0.73.0）
 *   nm-ghost / nm-hide は番号要素を絶対配置または非表示にするが、
 *   グリッドの番号カラムだけが残って本文が極端に細くなっていた。
 *   番号を出さない場合はカラムを1本に畳む。
 * ================================================================== */
body.is-lp-mock .mock-embed .lps-v:is(.nm-ghost,.nm-hide) :is(
  .lpr-numrow,.lps-stair,.tso-def-row,.tso-split-item,.lps-ribbon
){grid-template-columns:1fr !important;gap:0 !important;}
body.is-lp-mock .mock-embed .lps-v:is(.nm-ghost,.nm-hide) .lps-ribbon{padding-left:24px !important;}

/* ------------------------------------------------------------------
 * 25-2. 反転パネルはスキンで塗り替えない（v0.73.0）
 *   PIPELINE のシェブロン / FEAT・WHY5 の主役パネル / STAIRS の最終段 /
 *   TILES の先頭タイルは、白文字を前提にした濃色面。
 *   sk-card / sk-line / sk-fill が背景を白や淡色に変えると
 *   「白文字 × 白背景」で中身が消えていた。濃色面を復元する。
 * ------------------------------------------------------------------ */
body.is-lp-mock .mock-embed .lps-v:is(.sk-card,.sk-line,.sk-fill) .lpr-feat-main,
body.is-lp-mock .mock-embed .lps-v:is(.sk-card,.sk-line,.sk-fill) .lps-stair:last-child,
body.is-lp-mock .mock-embed .lps-v:is(.sk-card,.sk-line,.sk-fill) .lps-tile--lead{
  background:var(--navy,#1B224C) !important;
  border:1px solid var(--navy,#1B224C) !important;
  box-shadow:none !important;
}
body.is-lp-mock .mock-embed .lps-v:is(.sk-card,.sk-line,.sk-fill) .lps-stair:last-child{
  border-left:4px solid var(--teal,#1C93D2) !important;
}
body.is-lp-mock .mock-embed .lps-v:is(.sk-card,.sk-line,.sk-fill) .lpr-why5-main{
  background:linear-gradient(150deg,#1C93D2 0%,#1A5589 100%) !important;
  border:0 !important;box-shadow:none !important;
}
body.is-lp-mock .mock-embed .lps-v:is(.sk-card,.sk-line,.sk-fill) .lps-pipe-cell{border:0 !important;box-shadow:none !important;}
body.is-lp-mock .mock-embed .lps-v:is(.sk-card,.sk-line,.sk-fill) .lps-pipe-cell:nth-child(1){background:#1B224C !important;}
body.is-lp-mock .mock-embed .lps-v:is(.sk-card,.sk-line,.sk-fill) .lps-pipe-cell:nth-child(2){background:#1E3A65 !important;}
body.is-lp-mock .mock-embed .lps-v:is(.sk-card,.sk-line,.sk-fill) .lps-pipe-cell:nth-child(3){background:#1A5589 !important;}
body.is-lp-mock .mock-embed .lps-v:is(.sk-card,.sk-line,.sk-fill) .lps-pipe-cell:nth-child(4){background:#1775AF !important;}
body.is-lp-mock .mock-embed .lps-v:is(.sk-card,.sk-line,.sk-fill) .lps-pipe-cell:nth-child(5){background:#1C93D2 !important;}
body.is-lp-mock .mock-embed .lps-v:is(.sk-card,.sk-line,.sk-fill) .lps-pipe-cell:nth-child(6){background:#3FA8DE !important;}
/* sk-line が TILES 先頭を白抜きに戻していた指定を打ち消す */
body.is-lp-mock .mock-embed .lps-v.sk-line .lps-tile--lead :is(h3,span,b){color:#fff !important;}
body.is-lp-mock .mock-embed .lps-v.sk-line .lps-tile--lead p{color:rgba(255,255,255,.84) !important;}

/* ------------------------------------------------------------------
 * 25-3. 濃紺面に置かれた淡色ボックスの可読性（v0.73.0）
 *   濃紺セクションでは本文を白に倒しているが、自前で淡色の背景を
 *   持つ箱（新レイアウトの帯・タイル、モック側のチップ類）は
 *   「白文字 × 淡色地」になって読めなくなっていた。
 * ------------------------------------------------------------------ */
body.is-lp-mock .mock-embed .lpr-sec--dark .lps-ribbon{
  background:rgba(255,255,255,.07) !important;border-left-color:var(--teal,#1C93D2) !important;
}
body.is-lp-mock .mock-embed .lpr-sec--dark .lps-tile{
  background:rgba(255,255,255,.07) !important;border-color:rgba(255,255,255,.16) !important;
}
body.is-lp-mock .mock-embed .lpr-sec--dark .lps-tile-no{color:rgba(255,255,255,.16) !important;}
body.is-lp-mock .mock-embed .lpr-sec--dark .lps-quote{
  background:rgba(255,255,255,.07) !important;border-color:rgba(255,255,255,.16) !important;
}
body.is-lp-mock .mock-embed .lpr-sec--dark .lps-matrix{border-top-color:rgba(255,255,255,.32) !important;}
body.is-lp-mock .mock-embed .lpr-sec--dark .lps-mx-row{border-bottom-color:rgba(255,255,255,.16) !important;}
/* 縦書きタブは白地・濃紺文字のまま（全体の白文字化より優先させる） */
body.is-lp-mock .mock-embed .lpr-sec--dark .tso-pair .tso-pair-tab,
body.is-lp-mock .mock-embed .lpr-sec--dark .tso-pair .tso-pair-tab :is(span,b){
  background:#fff !important;color:var(--navy,#1B224C) !important;
}
/* モック側の淡色チップ */
body.is-lp-mock .mock-embed .lpr-sec--dark :is(.aisol-chip,.svc-tag,.chip,.tagline,.pill){
  background:rgba(255,255,255,.12) !important;border-color:rgba(255,255,255,.22) !important;color:#fff !important;
}

/* ------------------------------------------------------------------
 * 25-4. 濃紺面の淡色ボックス（v0.73.0）
 *   濃紺セクションでは本文を白へ倒しているので、モック側が自前で持つ
 *   淡色の地はすべて「白文字 × 淡色地」になり読めない。
 *   クラス名を列挙して追いかけるのはモックが増えるたびに破綻するため、
 *   テーマ側のレイアウト要素（lps- / lpr- / tso-）以外は一律で地を落とす。
 * ------------------------------------------------------------------ */
body.is-lp-mock .mock-embed .lpr-sec--dark *:not([class*="lps-"]):not([class*="lpr-"]):not([class*="tso-"]):not([class*="pfg"]):not([class*="fx-"]):not(svg):not(path):not(circle):not(rect):not(line):not(polygon){
  background-color:transparent !important;
}
body.is-lp-mock .mock-embed .lpr-sec--dark :is([class*="box"],[class*="card"],[class*="panel"],[class*="chip"],[class*="badge"],[class*="slot"],[class*="tag"]):not([class*="lps-"]):not([class*="lpr-"]):not([class*="tso-"]):not([class*="pfg"]):not([class*="fx-"]){
  border-color:rgba(255,255,255,.20) !important;
}
/* 濃紺面の zig タグ／POINT チップは白抜きにする */
body.is-lp-mock .mock-embed .lpr-sec--dark .lpr-zig-no-tag{
  background:rgba(255,255,255,.14) !important;color:#fff !important;
}
body.is-lp-mock .mock-embed .lpr-sec--dark .tso-chip.tso-chip--solid{
  background:#fff !important;color:var(--navy,#1B224C) !important;border-color:#fff !important;
}
/* TILES の飾り数字は、どの地の上でも必ず少しだけ濃くする */
body.is-lp-mock .mock-embed .lps-tile-no{color:rgba(27,34,76,.09) !important;}
body.is-lp-mock .mock-embed .lps-tile--lead .lps-tile-no,
body.is-lp-mock .mock-embed .lpr-sec--dark .lps-tile-no{color:rgba(255,255,255,.16) !important;}

/* ==================================================================
 * 26. 追加レイアウト第2弾（v0.74.0）
 *   LADDER / BIGSTAT / BANNER / POSTER / GRID2 / CHEV / FRAME
 *   既存21種はシルエットが似通ってきていたので、
 *   「縦軸」「巨大数字」「全幅の帯」「バナー＋グリッド」「2列大判」
 *   「縦の矢羽根」「太枠の表組み」という別の骨格を足す。
 * ================================================================== */

/* ---- LADDER：中央に縦軸を通し、左右へ振り分ける ---- */
body.is-lp-mock .mock-embed .lps-ladder{position:relative;display:flex;flex-direction:column;gap:22px;margin:10px 0 4px;}
body.is-lp-mock .mock-embed .lps-ladder::before{
  content:"";position:absolute;left:50%;top:8px;bottom:8px;width:2px;margin-left:-1px;
  background:linear-gradient(180deg,var(--navy,#1B224C),var(--teal,#1C93D2));
}
body.is-lp-mock .mock-embed .lps-ladder-row{
  display:grid;grid-template-columns:1fr 64px 1fr;align-items:center;
}
body.is-lp-mock .mock-embed .lps-ladder-row--rev .lps-ladder-card{grid-column:3;grid-row:1;}
body.is-lp-mock .mock-embed .lps-ladder-row--rev .lps-ladder-pad{grid-column:1;grid-row:1;}
body.is-lp-mock .mock-embed .lps-ladder-card{
  background:#fff;border:1px solid var(--border,#E2E8F1);padding:20px 24px;
  box-shadow:0 8px 22px rgba(27,34,76,.05);
}
body.is-lp-mock .mock-embed .lps-ladder-row:not(.lps-ladder-row--rev) .lps-ladder-card{text-align:right;}
body.is-lp-mock .mock-embed .lps-ladder-axis{
  position:relative;z-index:1;display:flex;align-items:center;justify-content:center;
}
body.is-lp-mock .mock-embed .lps-ladder-no{
  display:flex;align-items:center;justify-content:center;width:44px;height:44px;
  background:var(--navy,#1B224C);color:#fff;
  font-family:'Poppins',sans-serif;font-weight:700;font-size:19px;letter-spacing:.02em;
  box-shadow:0 0 0 6px #fff;
}
body.is-lp-mock .mock-embed .lpr-sec--alt .lps-ladder-no{box-shadow:0 0 0 6px #F3F6F9;}
body.is-lp-mock .mock-embed .lpr-sec--pale .lps-ladder-no{box-shadow:0 0 0 6px #E2EEF9;}
body.is-lp-mock .mock-embed .lps-ladder-tag{
  display:inline-block;font-family:'Poppins',sans-serif;font-size:14px;font-weight:700;
  letter-spacing:.16em;color:var(--teal,#1C93D2);margin-bottom:6px;
}
body.is-lp-mock .mock-embed .lps-ladder-card h3{font-size:22px !important;font-weight:900 !important;margin:0 0 8px !important;line-height:1.55 !important;}
body.is-lp-mock .mock-embed .lps-ladder-card p{margin:0;font-size:17.5px;line-height:1.9;color:var(--muted,#5C6B80);}
@media (max-width:900px){
  body.is-lp-mock .mock-embed .lps-ladder::before{left:22px;}
  body.is-lp-mock .mock-embed .lps-ladder-row,
  body.is-lp-mock .mock-embed .lps-ladder-row--rev{grid-template-columns:44px 1fr;}
  body.is-lp-mock .mock-embed .lps-ladder-row .lps-ladder-axis{grid-column:1;grid-row:1;}
  body.is-lp-mock .mock-embed .lps-ladder-row .lps-ladder-card,
  body.is-lp-mock .mock-embed .lps-ladder-row--rev .lps-ladder-card{grid-column:2;grid-row:1;text-align:left;margin-left:16px;}
  body.is-lp-mock .mock-embed .lps-ladder-pad{display:none;}
}

/* ---- BIGSTAT：番号を極大にして横一列 ---- */
body.is-lp-mock .mock-embed .lps-stats{
  display:grid;grid-template-columns:repeat(var(--st,4),minmax(0,1fr));
  gap:0;margin:10px 0 4px;border-top:2px solid var(--navy,#1B224C);
}
body.is-lp-mock .mock-embed .lps-stat{
  padding:26px 24px 22px;border-right:1px solid var(--border,#E2E8F1);
}
body.is-lp-mock .mock-embed .lps-stat:last-child{border-right:0;}
body.is-lp-mock .mock-embed .lps-stat-no{
  display:block;font-family:'Poppins',sans-serif;font-weight:700;
  font-size:clamp(53px,5vw,81.5px);line-height:.9;letter-spacing:-.05em;
  color:var(--teal,#1C93D2);margin-bottom:14px;
}
body.is-lp-mock .mock-embed .lps-stat-tag{
  display:inline-block;font-family:'Poppins',sans-serif;font-size:13px;font-weight:700;
  letter-spacing:.18em;color:var(--muted-soft,#7C89A0);margin-bottom:6px;
}
body.is-lp-mock .mock-embed .lps-stat h3{font-size:20.5px !important;font-weight:900 !important;margin:0 0 8px !important;line-height:1.55 !important;}
body.is-lp-mock .mock-embed .lps-stat p{margin:0;font-size:17px;line-height:1.9;color:var(--muted,#5C6B80);}
@media (max-width:900px){body.is-lp-mock .mock-embed .lps-stats{grid-template-columns:1fr 1fr;}
  body.is-lp-mock .mock-embed .lps-stat{border-bottom:1px solid var(--border,#E2E8F1);}}

/* ---- BANNER：全幅の帯を濃淡交互に積む ---- */
body.is-lp-mock .mock-embed .lps-banners{display:flex;flex-direction:column;margin:10px 0 4px;}
body.is-lp-mock .mock-embed .lps-banner{
  display:grid;grid-template-columns:96px minmax(220px,30%) 1fr;gap:0 28px;align-items:center;
  padding:22px 28px;background:#fff;border-bottom:1px solid var(--border,#E2E8F1);
}
body.is-lp-mock .mock-embed .lps-banner--alt{background:var(--tint,#F3F6F9);}
body.is-lp-mock .mock-embed .lps-banner-no{
  font-family:'Poppins',sans-serif;font-weight:700;font-size:47.5px;line-height:1;
  letter-spacing:-.04em;color:var(--teal,#1C93D2);
}
body.is-lp-mock .mock-embed .lps-banner-head h3{font-size:21px !important;font-weight:900 !important;margin:0 !important;line-height:1.55 !important;}
body.is-lp-mock .mock-embed .lps-banner-tag{
  display:inline-block;margin-top:6px;font-family:'Poppins',sans-serif;font-size:13px;
  font-weight:700;letter-spacing:.16em;color:var(--muted-soft,#7C89A0);
}
body.is-lp-mock .mock-embed .lps-banner-body p{margin:0;font-size:17.5px;line-height:1.9;color:var(--muted,#5C6B80);}
@media (max-width:900px){
  body.is-lp-mock .mock-embed .lps-banner{grid-template-columns:64px 1fr;gap:0 18px;row-gap:8px;padding:18px 20px;}
  body.is-lp-mock .mock-embed .lps-banner-body{grid-column:2;}
}

/* ---- POSTER：先頭を全幅バナー、残りを横並びのカードへ ---- */
body.is-lp-mock .mock-embed .lps-poster{margin:10px 0 4px;}
body.is-lp-mock .mock-embed .lps-poster-lead{
  position:relative;background:linear-gradient(135deg,#1B224C 0%,#1A5589 100%);
  color:#fff;padding:34px 40px 30px;overflow:hidden;
}
body.is-lp-mock .mock-embed .lps-poster-lead::after{
  content:"";position:absolute;right:-40px;top:-40px;width:220px;height:220px;
  border-radius:50%;background:rgba(255,255,255,.06);
}
body.is-lp-mock .mock-embed .lps-poster-no{
  position:relative;z-index:1;display:block;font-family:'Poppins',sans-serif;font-weight:700;
  font-size:17.5px;letter-spacing:.22em;color:rgba(255,255,255,.72);margin-bottom:10px;
}
body.is-lp-mock .mock-embed .lps-poster-tag{
  position:relative;z-index:1;display:inline-block;font-size:14px;font-weight:700;letter-spacing:.06em;
  border:1px solid rgba(255,255,255,.5);color:#fff;padding:3px 10px;margin-bottom:10px;
}
body.is-lp-mock .mock-embed .lps-poster-lead h3{position:relative;z-index:1;font-size:30px !important;font-weight:900 !important;color:#fff !important;margin:0 0 12px !important;line-height:1.5 !important;}
body.is-lp-mock .mock-embed .lps-poster-lead p{position:relative;z-index:1;margin:0 0 8px;font-size:18px;line-height:1.9;color:rgba(255,255,255,.88) !important;}
body.is-lp-mock .mock-embed .lps-poster-lead p:last-child{margin-bottom:0;}
body.is-lp-mock .mock-embed .lps-poster-grid{
  display:grid;grid-template-columns:repeat(var(--pg,3),minmax(0,1fr));gap:0;
  border:1px solid var(--border,#E2E8F1);border-top:0;background:#fff;
}
body.is-lp-mock .mock-embed .lps-poster-cell{padding:22px 24px;border-right:1px solid var(--border,#E2E8F1);}
body.is-lp-mock .mock-embed .lps-poster-cell:last-child{border-right:0;}
body.is-lp-mock .mock-embed .lps-poster-cell-no{
  display:block;font-family:'Poppins',sans-serif;font-weight:700;font-size:16px;
  letter-spacing:.18em;color:var(--teal,#1C93D2);margin-bottom:8px;
}
body.is-lp-mock .mock-embed .lps-poster-cell h3{font-size:20px !important;font-weight:900 !important;margin:0 0 8px !important;line-height:1.55 !important;}
body.is-lp-mock .mock-embed .lps-poster-cell p{margin:0;font-size:17px;line-height:1.9;color:var(--muted,#5C6B80);}
@media (max-width:900px){body.is-lp-mock .mock-embed .lps-poster-grid{grid-template-columns:1fr;}
  body.is-lp-mock .mock-embed .lps-poster-cell{border-right:0;border-bottom:1px solid var(--border,#E2E8F1);}}

/* ---- GRID2：2カラムの大判カード＋上辺のアクセントバー ---- */
body.is-lp-mock .mock-embed .lps-grid2{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:10px 0 4px;}
body.is-lp-mock .mock-embed .lps-g2{
  position:relative;background:#fff;border:1px solid var(--border,#E2E8F1);
  padding:26px 28px 24px;
}
body.is-lp-mock .mock-embed .lps-g2-bar{
  position:absolute;left:-1px;right:-1px;top:-1px;height:4px;background:var(--teal,#1C93D2);
}
body.is-lp-mock .mock-embed .lps-g2:nth-child(4n+2) .lps-g2-bar{background:var(--navy,#1B224C);}
body.is-lp-mock .mock-embed .lps-g2:nth-child(4n+3) .lps-g2-bar{background:#4C5A70;}
body.is-lp-mock .mock-embed .lps-g2:nth-child(4n) .lps-g2-bar{background:#3FA8DE;}
body.is-lp-mock .mock-embed .lps-g2-head{display:flex;align-items:center;gap:12px;margin-bottom:10px;}
body.is-lp-mock .mock-embed .lps-g2-no{
  font-family:'Poppins',sans-serif;font-weight:700;font-size:32.5px;line-height:1;
  letter-spacing:-.03em;color:var(--teal,#1C93D2);
}
body.is-lp-mock .mock-embed .lps-g2-tag{
  font-family:'Poppins',sans-serif;font-size:13px;font-weight:700;letter-spacing:.16em;
  color:var(--muted-soft,#7C89A0);
}
body.is-lp-mock .mock-embed .lps-g2 h3{font-size:22.5px !important;font-weight:900 !important;margin:0 0 10px !important;line-height:1.55 !important;}
body.is-lp-mock .mock-embed .lps-g2 p{margin:0 0 6px;font-size:17.5px;line-height:1.9;color:var(--muted,#5C6B80);}
body.is-lp-mock .mock-embed .lps-g2 p:last-child{margin-bottom:0;}
@media (max-width:820px){body.is-lp-mock .mock-embed .lps-grid2{grid-template-columns:1fr;}}

/* ---- CHEV：下向きの矢羽根を縦に積む ---- */
body.is-lp-mock .mock-embed .lps-chevs{display:flex;flex-direction:column;gap:8px;margin:10px 0 4px;}
body.is-lp-mock .mock-embed .lps-chev{
  display:grid;grid-template-columns:72px 1fr;gap:24px;align-items:center;
  background:var(--navy,#1B224C);color:#fff;
  padding:22px 32px 34px;
  clip-path:polygon(0 0,100% 0,100% calc(100% - 18px),50% 100%,0 calc(100% - 18px));
  margin-bottom:-6px;
}
body.is-lp-mock .mock-embed .lps-chev:nth-child(2){background:#1E3A65;}
body.is-lp-mock .mock-embed .lps-chev:nth-child(3){background:#1A5589;}
body.is-lp-mock .mock-embed .lps-chev:nth-child(4){background:#1775AF;}
body.is-lp-mock .mock-embed .lps-chev:nth-child(5){background:#1C93D2;}
body.is-lp-mock .mock-embed .lps-chev:nth-child(6){background:#3FA8DE;}
body.is-lp-mock .mock-embed .lps-chev--last{clip-path:none;padding-bottom:22px;margin-bottom:0;}
body.is-lp-mock .mock-embed .lps-chev-no{
  font-family:'Poppins',sans-serif;font-weight:700;font-size:40px;line-height:1;
  letter-spacing:-.04em;color:rgba(255,255,255,.6);text-align:center;
}
body.is-lp-mock .mock-embed .lps-chev h3{font-size:22.5px !important;font-weight:900 !important;color:#fff !important;margin:0 0 6px !important;line-height:1.5 !important;}
body.is-lp-mock .mock-embed .lps-chev p{margin:0;font-size:17px;line-height:1.85;color:rgba(255,255,255,.84) !important;}
@media (max-width:900px){body.is-lp-mock .mock-embed .lps-chev{grid-template-columns:52px 1fr;gap:16px;padding:18px 20px 30px;}}

/* ---- FRAME：太い枠の中を内罫線だけで2列に割る ---- */
body.is-lp-mock .mock-embed .lps-frame{
  display:grid;grid-template-columns:1fr 1fr;gap:0;margin:10px 0 4px;
  border:2px solid var(--navy,#1B224C);background:#fff;
}
body.is-lp-mock .mock-embed .lps-frame-cell{
  padding:24px 28px;border-right:1px solid var(--border,#E2E8F1);border-bottom:1px solid var(--border,#E2E8F1);
}
body.is-lp-mock .mock-embed .lps-frame-cell:nth-child(2n){border-right:0;}
body.is-lp-mock .mock-embed .lps-frame-cell:nth-last-child(-n+2){border-bottom:0;}
body.is-lp-mock .mock-embed .lps-frame-cell:nth-child(2n):last-child{border-bottom:0;}
body.is-lp-mock .mock-embed .lps-frame-key{display:flex;align-items:baseline;gap:12px;margin-bottom:10px;}
body.is-lp-mock .mock-embed .lps-frame-no{
  font-family:'Poppins',sans-serif;font-weight:700;font-size:19px;letter-spacing:.14em;
  color:var(--teal,#1C93D2);flex:0 0 auto;
}
body.is-lp-mock .mock-embed .lps-frame-key h3{font-size:21px !important;font-weight:900 !important;margin:0 !important;line-height:1.55 !important;}
body.is-lp-mock .mock-embed .lps-frame-cell p{margin:0 0 6px;font-size:17.5px;line-height:1.9;color:var(--muted,#5C6B80);}
body.is-lp-mock .mock-embed .lps-frame-cell p:last-child{margin-bottom:0;}
@media (max-width:820px){
  body.is-lp-mock .mock-embed .lps-frame{grid-template-columns:1fr;}
  body.is-lp-mock .mock-embed .lps-frame-cell{border-right:0;}
  body.is-lp-mock .mock-embed .lps-frame-cell:last-child{border-bottom:0;}
}

/* ---- 濃紺面での見え方 ---- */
body.is-lp-mock .mock-embed .lpr-sec--dark :is(.lps-ladder-card,.lps-g2,.lps-poster-grid,.lps-frame,.lps-banner){
  background:rgba(255,255,255,.07) !important;border-color:rgba(255,255,255,.16) !important;
}
body.is-lp-mock .mock-embed .lpr-sec--dark .lps-banner--alt{background:rgba(255,255,255,.13) !important;}
body.is-lp-mock .mock-embed .lpr-sec--dark :is(.lps-stat,.lps-poster-cell,.lps-frame-cell){border-color:rgba(255,255,255,.16) !important;}
body.is-lp-mock .mock-embed .lpr-sec--dark .lps-stats{border-top-color:rgba(255,255,255,.32) !important;}
body.is-lp-mock .mock-embed .lpr-sec--dark .lps-ladder-no{background:var(--teal,#1C93D2) !important;box-shadow:0 0 0 6px #1B224C !important;}
body.is-lp-mock .mock-embed .lpr-sec--dark .lps-poster-lead{background:linear-gradient(135deg,#1C93D2 0%,#12588A 100%) !important;}
body.is-lp-mock .mock-embed .lpr-sec--dark .lps-chev:nth-child(1){background:#2A3866 !important;}
body.is-lp-mock .mock-embed .lpr-sec--dark .lps-chev:nth-child(2){background:#26507F !important;}
body.is-lp-mock .mock-embed .lpr-sec--dark .lps-chev:nth-child(3){background:#1F6A9E !important;}
body.is-lp-mock .mock-embed .lpr-sec--dark .lps-chev:nth-child(4){background:#1C93D2 !important;}
body.is-lp-mock .mock-embed .lpr-sec--dark .lps-chev:nth-child(5){background:#3FA8DE !important;}
/* 左側に来た札は軸に向けて右寄せ（h3/p の既定の左寄せより優先させる） */
body.is-lp-mock .mock-embed .lps-ladder-row:not(.lps-ladder-row--rev) .lps-ladder-card,
body.is-lp-mock .mock-embed .lps-ladder-row:not(.lps-ladder-row--rev) .lps-ladder-card :is(h3,p,span,li){
  text-align:right !important;
}
@media (max-width:900px){
  body.is-lp-mock .mock-embed .lps-ladder-row:not(.lps-ladder-row--rev) .lps-ladder-card,
  body.is-lp-mock .mock-embed .lps-ladder-row:not(.lps-ladder-row--rev) .lps-ladder-card :is(h3,p,span,li){text-align:left !important;}
}

/* ==================================================================
 * 27. 追加レイアウト第3弾（v0.75.0）— 参考LPから抽出
 *   OUTLINENUM / TABBOX / ZIGSTEP / CAPSULE / ICONCARD
 * ================================================================== */

/* ---- OUTLINENUM：袋文字の巨大数字を枠の外へ ---- */
body.is-lp-mock .mock-embed .lps-onums{display:grid;grid-template-columns:1fr 1fr;gap:34px 40px;margin:18px 0 4px;}
body.is-lp-mock .mock-embed .lps-onum{display:grid;grid-template-columns:86px 1fr;gap:14px;align-items:center;}
body.is-lp-mock .mock-embed .lps-onum-fig{
  font-family:'Poppins',sans-serif;font-weight:700;font-size:97px;line-height:.82;
  letter-spacing:-.06em;text-align:center;
  color:transparent;-webkit-text-stroke:2.5px var(--navy,#1B224C);
  padding-right:6px;
}
body.is-lp-mock .mock-embed .lps-onum-box{
  position:relative;border:2px solid var(--navy,#1B224C);background:#fff;padding:20px 24px;
}
body.is-lp-mock .mock-embed .lps-onum-box::before{
  content:"";position:absolute;left:-22px;top:50%;width:16px;height:2px;
  background:var(--navy,#1B224C);
}
body.is-lp-mock .mock-embed .lps-onum-tag{
  display:inline-block;font-family:'Poppins',sans-serif;font-size:13px;font-weight:700;
  letter-spacing:.18em;color:var(--teal,#1C93D2);margin-bottom:6px;
}
body.is-lp-mock .mock-embed .lps-onum-box h3{font-size:24px !important;font-weight:900 !important;margin:0 0 8px !important;line-height:1.5 !important;}
body.is-lp-mock .mock-embed .lps-onum-box p{margin:0;font-size:17px;line-height:1.9;color:var(--muted,#5C6B80);}
@media (max-width:820px){
  body.is-lp-mock .mock-embed .lps-onums{grid-template-columns:1fr;gap:22px;}
  body.is-lp-mock .mock-embed .lps-onum{grid-template-columns:62px 1fr;}
  body.is-lp-mock .mock-embed .lps-onum-fig{font-size:68px;-webkit-text-stroke-width:2px;}
}

/* ---- TABBOX：見出しをタブ状に左上へ出す ---- */
body.is-lp-mock .mock-embed .lps-tabboxes{display:grid;grid-template-columns:1fr 1fr;gap:34px 30px;margin:24px 0 4px;}
body.is-lp-mock .mock-embed .lps-tabbox{
  position:relative;border:2px solid var(--navy,#1B224C);background:#fff;
  padding:26px 26px 22px;
}
body.is-lp-mock .mock-embed .lps-tabbox-tab{
  position:absolute;left:-2px;top:0;transform:translateY(-50%);
  display:flex;align-items:center;gap:10px;
  background:var(--navy,#1B224C);color:#fff;padding:8px 22px;max-width:calc(100% + 4px);
}
body.is-lp-mock .mock-embed .lps-tabbox:nth-child(4n+2){border-color:var(--teal,#1C93D2);}
body.is-lp-mock .mock-embed .lps-tabbox:nth-child(4n+2) .lps-tabbox-tab{background:var(--teal,#1C93D2);}
body.is-lp-mock .mock-embed .lps-tabbox:nth-child(4n+3){border-color:#4C5A70;}
body.is-lp-mock .mock-embed .lps-tabbox:nth-child(4n+3) .lps-tabbox-tab{background:#4C5A70;}
body.is-lp-mock .mock-embed .lps-tabbox:nth-child(4n){border-color:#1A5589;}
body.is-lp-mock .mock-embed .lps-tabbox:nth-child(4n) .lps-tabbox-tab{background:#1A5589;}
body.is-lp-mock .mock-embed .lps-tabbox-no{
  font-family:'Poppins',sans-serif;font-weight:700;font-size:15px;letter-spacing:.16em;
  color:rgba(255,255,255,.72);flex:0 0 auto;
}
body.is-lp-mock .mock-embed .lps-tabbox-tab h3{font-size:20px !important;font-weight:900 !important;color:#fff !important;margin:0 !important;line-height:1.5 !important;}
body.is-lp-mock .mock-embed .lps-tabbox-body{padding-top:6px;}
body.is-lp-mock .mock-embed .lps-tabbox-body p{margin:0 0 6px;font-size:17.5px;line-height:1.9;color:var(--muted,#5C6B80);}
body.is-lp-mock .mock-embed .lps-tabbox-body p:last-child{margin-bottom:0;}
body.is-lp-mock .mock-embed .lps-tabbox-body :is(ul,ol){margin:0;padding-left:1.1em;}
body.is-lp-mock .mock-embed .lps-tabbox-body li{font-size:17.5px;line-height:1.9;}
@media (max-width:820px){body.is-lp-mock .mock-embed .lps-tabboxes{grid-template-columns:1fr;gap:30px;}}

/* ---- ZIGSTEP：横に流れる工程を上下へ振り分け、点線でつなぐ ---- */
body.is-lp-mock .mock-embed .lps-zigsteps{
  position:relative;display:grid;grid-template-columns:repeat(var(--zs,5),minmax(0,1fr));
  gap:0 14px;align-items:start;margin:16px 0 4px;padding:14px 0 34px;
}
body.is-lp-mock .mock-embed .lps-zigsteps::before{
  content:"";position:absolute;left:6%;right:6%;top:50%;height:0;
  border-top:2px dashed #C3D6E6;
}
body.is-lp-mock .mock-embed .lps-zigstep{
  position:relative;z-index:1;
  background:#fff;border:1px solid var(--border,#E2E8F1);
  padding:16px 18px 18px;box-shadow:0 8px 20px rgba(27,34,76,.05);
}
body.is-lp-mock .mock-embed .lps-zigstep--down{margin-top:72px;}
body.is-lp-mock .mock-embed .lps-zigstep-no{
  display:inline-flex;align-items:center;justify-content:center;
  width:46px;height:46px;margin:-32px 0 10px;
  background:var(--navy,#1B224C);color:#fff;
  font-family:'Poppins',sans-serif;font-weight:700;font-size:22.5px;letter-spacing:.02em;
}
/* 白文字が乗るので、最後まで十分に濃い側で刻む（#3FA8DE は白文字だとコントラスト不足）*/
body.is-lp-mock .mock-embed .lps-zigstep:nth-child(2) .lps-zigstep-no{background:#1E3A65;}
body.is-lp-mock .mock-embed .lps-zigstep:nth-child(3) .lps-zigstep-no{background:#1A5589;}
body.is-lp-mock .mock-embed .lps-zigstep:nth-child(4) .lps-zigstep-no{background:#1775AF;}
body.is-lp-mock .mock-embed .lps-zigstep:nth-child(5) .lps-zigstep-no{background:#1C93D2;}
body.is-lp-mock .mock-embed .lps-zigstep h3{font-size:20px !important;font-weight:900 !important;margin:0 0 8px !important;line-height:1.55 !important;}
body.is-lp-mock .mock-embed .lps-zigstep p{margin:0;font-size:16px;line-height:1.85;color:var(--muted,#5C6B80);}
@media (max-width:900px){
  body.is-lp-mock .mock-embed .lps-zigsteps{grid-template-columns:1fr;gap:18px;padding:0;}
  body.is-lp-mock .mock-embed .lps-zigsteps::before{display:none;}
  body.is-lp-mock .mock-embed .lps-zigstep--down{margin-top:0;}
}

/* ---- CAPSULE：丸番号を上辺にまたがせた縦長カード ---- */
body.is-lp-mock .mock-embed .lps-capsules{
  display:grid;grid-template-columns:repeat(var(--cp,4),minmax(0,1fr));gap:20px;margin:32px 0 4px;
}
body.is-lp-mock .mock-embed .lps-capsule{
  position:relative;background:var(--tint,#F3F6F9);border:1px solid var(--border,#E2E8F1);
  padding:34px 24px 24px;text-align:center;
}
body.is-lp-mock .mock-embed .lps-capsule-no{
  position:absolute;left:50%;top:0;transform:translate(-50%,-50%);
  display:flex;align-items:center;justify-content:center;width:44px;height:44px;
  border-radius:50% !important;background:var(--navy,#1B224C);color:#fff;
  font-family:'Poppins',sans-serif;font-weight:700;font-size:21px;
}
body.is-lp-mock .mock-embed .lps-capsule h3{font-size:20.5px !important;font-weight:900 !important;margin:0 0 12px !important;line-height:1.55 !important;}
body.is-lp-mock .mock-embed .lps-capsule-rule{display:block;width:40px;height:2px;background:var(--teal,#1C93D2);margin:0 auto 14px;}
body.is-lp-mock .mock-embed .lps-capsule-body p{margin:0 0 6px;font-size:17px;line-height:1.9;color:var(--muted,#5C6B80);text-align:left;}
body.is-lp-mock .mock-embed .lps-capsule-body p:last-child{margin-bottom:0;}
@media (max-width:900px){body.is-lp-mock .mock-embed .lps-capsules{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){body.is-lp-mock .mock-embed .lps-capsules{grid-template-columns:1fr;}}

/* ---- ICONCARD：中央寄せカード。上に幾何マーク、番号は角へ小さく ---- */
body.is-lp-mock .mock-embed .lps-iconcards{
  /* 端数が出た最終行を中央に寄せたいので grid ではなく flex で組む */
  display:flex;flex-wrap:wrap;justify-content:center;gap:20px;margin:10px 0 4px;
}
body.is-lp-mock .mock-embed .lps-iconcard{
  box-sizing:border-box;
  flex:0 0 calc((100% - (var(--ic,3) - 1) * 20px) / var(--ic,3));
  max-width:calc((100% - (var(--ic,3) - 1) * 20px) / var(--ic,3));
}
body.is-lp-mock .mock-embed .lps-iconcard{
  position:relative;background:#fff;border:1px solid var(--border,#E2E8F1);
  padding:26px 24px 24px;text-align:center;
  box-shadow:0 10px 26px rgba(27,34,76,.05);
}
body.is-lp-mock .mock-embed .lps-iconcard-no{
  position:absolute;left:18px;top:14px;
  font-family:'Poppins',sans-serif;font-weight:700;font-size:16px;letter-spacing:.1em;
  color:var(--muted-soft,#7C89A0);
}
body.is-lp-mock .mock-embed .lps-iconcard-mark{
  width:64px;height:64px;margin:6px auto 14px;color:var(--teal,#1C93D2);
}
body.is-lp-mock .mock-embed .lps-iconcard-mark svg{width:100%;height:100%;display:block;}
body.is-lp-mock .mock-embed .lps-iconcard h3{font-size:20.5px !important;font-weight:900 !important;color:var(--teal-deep,#1A5589) !important;margin:0 0 10px !important;line-height:1.55 !important;}
body.is-lp-mock .mock-embed .lps-iconcard p{margin:0 0 6px;font-size:17px;line-height:1.9;color:var(--muted,#5C6B80);text-align:left;}
body.is-lp-mock .mock-embed .lps-iconcard p:last-child{margin-bottom:0;}
@media (max-width:900px){body.is-lp-mock .mock-embed .lps-iconcard{flex-basis:calc((100% - 20px) / 2);max-width:calc((100% - 20px) / 2);}}
@media (max-width:560px){body.is-lp-mock .mock-embed .lps-iconcard{flex-basis:100%;max-width:100%;}}

/* ---- 濃紺面での見え方 ---- */
body.is-lp-mock .mock-embed .lpr-sec--dark :is(.lps-onum-box,.lps-tabbox,.lps-capsule,.lps-iconcard){
  background:rgba(255,255,255,.07) !important;border-color:rgba(255,255,255,.34) !important;
}
body.is-lp-mock .mock-embed .lpr-sec--dark .lps-onum-fig{-webkit-text-stroke-color:rgba(255,255,255,.55) !important;}
body.is-lp-mock .mock-embed .lpr-sec--dark .lps-onum-box::before{background:rgba(255,255,255,.55) !important;}
body.is-lp-mock .mock-embed .lpr-sec--dark .lps-tabbox-tab{background:var(--teal,#1C93D2) !important;}
body.is-lp-mock .mock-embed .lpr-sec--dark :is(.lps-capsule-no,.lps-zigstep-no){background:var(--teal,#1C93D2) !important;}
body.is-lp-mock .mock-embed .lpr-sec--dark .lps-zigsteps::before{border-top-color:rgba(255,255,255,.28) !important;}
body.is-lp-mock .mock-embed .lpr-sec--dark .lps-iconcard h3{color:#8FD0F5 !important;}

/* ==================================================================
 * 28. 図版イラスト（v0.77.0）
 *   inc/lp-figures.php の図版に色を渡す。
 *   図版は枠いっぱいに構図を組む前提なので、余白は取らずに全面へ敷く。
 * ================================================================== */
body.is-lp-mock .mock-embed .tso-media-fig--dia{
  --fig-ink:#1B224C; --fig-key:#1C93D2; --fig-soft:#8FD0F5;
  --fig-pale:#CFE3F4; --fig-line:#A9BCCE; --fig-bg:#EAF4FB; --fig-paper:#FFFFFF;
  background:var(--fig-bg) !important;
  padding:0 !important;overflow:hidden;
}
body.is-lp-mock .mock-embed .lpr-sec--alt .tso-media-fig--dia{--fig-bg:#EDF2F7;}
body.is-lp-mock .mock-embed .lpr-sec--pale .tso-media-fig--dia{--fig-bg:#EAF2FA;}
body.is-lp-mock .mock-embed .lpr-sec--dark .tso-media-fig--dia{
  --fig-ink:#DCE7F4; --fig-key:#4FB0E8; --fig-soft:#3D7FAE;
  --fig-pale:#2B3A63; --fig-line:#5F7292; --fig-bg:#222E52; --fig-paper:#1B2647;
}
body.is-lp-mock .mock-embed .tso-media-fig--dia .lps-fig{
  width:100%;height:100%;display:block;
}

/* ------------------------------------------------------------------
 * 28-2. TRIO の図版枠とアイコン（v0.79.0）
 * ------------------------------------------------------------------ */
body.is-lp-mock .mock-embed .tso-trio-media--dia{
  --fig-ink:#1B224C; --fig-key:#1C93D2; --fig-soft:#8FD0F5;
  --fig-pale:#CFE3F4; --fig-line:#A9BCCE; --fig-bg:#EAF4FB; --fig-paper:#FFFFFF;
  background:var(--fig-bg) !important;padding:0 !important;overflow:hidden;
}
body.is-lp-mock .mock-embed .tso-trio-media--dia::after{display:none !important;}
body.is-lp-mock .mock-embed .tso-trio-media--dia .lps-fig{width:100%;height:100%;display:block;}
body.is-lp-mock .mock-embed .lpr-sec--alt .tso-trio-media--dia{--fig-bg:#EDF2F7;}
body.is-lp-mock .mock-embed .lpr-sec--pale .tso-trio-media--dia{--fig-bg:#EAF2FA;}
body.is-lp-mock .mock-embed .lpr-sec--dark .tso-trio-media--dia{
  --fig-ink:#DCE7F4; --fig-key:#4FB0E8; --fig-soft:#3D7FAE;
  --fig-pale:#2B3A63; --fig-line:#5F7292; --fig-bg:#222E52; --fig-paper:#1B2647;
}

/* 小アイコン（ICONROW / ICONCARD）*/
body.is-lp-mock .mock-embed :is(.lps-iconrow-ic,.lps-iconcard-mark){--ic-ink:#1B224C;}
body.is-lp-mock .mock-embed .lps-iconrow-ic .lps-ic{width:26px;height:26px;display:block;}
body.is-lp-mock .mock-embed .lps-iconcard-mark .lps-ic{width:100%;height:100%;display:block;}
body.is-lp-mock .mock-embed .lpr-sec--dark :is(.lps-iconrow-ic,.lps-iconcard-mark){--ic-ink:#DCE7F4;}
body.is-lp-mock .mock-embed .lpr-sec--dark .lps-iconrow-ic{
  background:rgba(255,255,255,.07) !important;border-color:rgba(255,255,255,.20) !important;color:#4FB0E8 !important;
}

/* ==================================================================
 * 29. 日本語の折り返し（v0.80.0）
 *   長音「ー」や助詞の途中で折れると読みにくいので、
 *   語中では折らず、区切り記号・括弧の位置（PHP 側で <wbr> を挿入）
 *   だけを改行位置として許す。どうしても入らないときだけ語中で折る。
 *   対応ブラウザでは文節単位の自動折り返しに任せる。
 * ================================================================== */
body.is-lp-mock .mock-embed :is(h1,h2,h3,h4,h5,figcaption),
body.is-lp-mock .tso-sechead .tso-sec-ja,
body.is-lp-mock :is(.lpr-hero-h1,.lpr-hero-lead,.lpr-hero-sub,.tso-cta-h,.lpr-cta-h){
  overflow-wrap:break-word;
  line-break:strict;   /* 行頭に句読点や小書き仮名を送らない */
  text-wrap:balance;   /* 最終行に1〜2文字だけ残さない */
}
@supports (word-break:auto-phrase){
  body.is-lp-mock .mock-embed :is(h1,h2,h3,h4,h5,figcaption),
  body.is-lp-mock .tso-sechead .tso-sec-ja,
  body.is-lp-mock :is(.lpr-hero-h1,.lpr-hero-lead,.lpr-hero-sub,.tso-cta-h,.lpr-cta-h){
    word-break:auto-phrase;
  }
}
/* ボタンやチップは途中で折らない */
body.is-lp-mock .mock-embed :is(.lpr-btn,.tso-btn,.btn,.lps-tile-tag,.lps-ladder-tag,.lps-banner-tag,
  .lps-g2-tag,.lps-stat-tag,.lps-onum-tag,.tso-chip,.lpr-numrow-tag,.lps-iconrow-tag,.tso-trio-tag){
  word-break:keep-all;overflow-wrap:break-word;
}
/* BANNER の番号を隠したときは、見出し列と本文列の2列に畳む
   （汎用の1列化を当てると暗黙の列ができて見出し列が潰れていた） */
body.is-lp-mock .mock-embed .lps-v:is(.nm-ghost,.nm-hide) .lps-banner{
  grid-template-columns:minmax(220px,30%) 1fr !important;
}
body.is-lp-mock .mock-embed .lps-v:is(.nm-ghost,.nm-hide) .lps-banner-body{grid-column:auto !important;}
@media (max-width:900px){
  body.is-lp-mock .mock-embed .lps-v:is(.nm-ghost,.nm-hide) .lps-banner{grid-template-columns:1fr !important;}
  body.is-lp-mock .mock-embed .lps-v:is(.nm-ghost,.nm-hide) .lps-banner-body{grid-column:1 !important;}
}
/* モック側の多カラム群が、狭い画面で1〜2文字幅の列になってしまうことがある。
   見出しが1行に数文字しか入らない状態を避けるため、狭い画面では1列に畳む。 */
@media (max-width:560px){
  body.is-lp-mock .mock-embed :is(.cards,.cards4,.reasons,.named,.vocsum,.pillars,.pains,
    .rep-items,.flow,.grid,.g2,.g3,.g4,.two,.three,.four){
    grid-template-columns:1fr !important;
  }
}
/* 矢印つきのリンク見出しは、矢印だけが行送りされないようにする */
body.is-lp-mock .mock-embed :is(h3,h4,a) > .arrow,
body.is-lp-mock .mock-embed :is(h3,h4){text-wrap:balance;}

/* ==================================================================
 * 30. ページ内目次と、長いセクションの折りたたみ（v0.82.0）
 *   情報量は変えずに、体感の長さと見通しを改善するための2つ。
 * ================================================================== */

/* ---- 目次 ---- */
body.is-lp-mock .lps-toc{background:var(--tint,#F3F6F9);border-bottom:1px solid var(--border,#E2E8F1);padding:30px 0 34px;}
body.is-lp-mock .lps-toc-head{display:flex;align-items:baseline;gap:14px;margin-bottom:18px;
  padding-bottom:12px;border-bottom:1px solid var(--border,#E2E8F1);}
body.is-lp-mock .lps-toc-en{font-family:'Poppins',sans-serif;font-size:15px;font-weight:700;
  letter-spacing:.22em;color:var(--teal,#1C93D2);}
body.is-lp-mock .lps-toc-ja{font-size:18px;font-weight:900;color:var(--navy,#1B224C);}
body.is-lp-mock .lps-toc-count{margin-left:auto;font-family:'Poppins',sans-serif;font-size:15px;
  color:var(--muted-soft,#7C89A0);}
body.is-lp-mock .lps-toc-list{list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px 28px;}
body.is-lp-mock .lps-toc-item{margin:0;}
body.is-lp-mock .lps-toc-item a{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:baseline;
  padding:9px 6px 9px 0;text-decoration:none;border-bottom:1px solid transparent;transition:.15s;}
body.is-lp-mock .lps-toc-item a:hover,
body.is-lp-mock .lps-toc-item a:focus-visible{border-bottom-color:var(--teal,#1C93D2);}
body.is-lp-mock .lps-toc-no{font-family:'Poppins',sans-serif;font-size:15px;font-weight:700;
  letter-spacing:.06em;color:var(--teal,#1C93D2);}
body.is-lp-mock .lps-toc-t{font-size:17.5px;line-height:1.7;color:var(--navy,#1B224C);font-weight:700;
  overflow-wrap:break-word;line-break:strict;}
@media (max-width:900px){body.is-lp-mock .lps-toc-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 20px;}}
@media (max-width:600px){body.is-lp-mock .lps-toc-list{grid-template-columns:1fr;}
  body.is-lp-mock .lps-toc{padding:24px 0 26px;}}
/* アンカーで飛んだときに見出しが上端に張り付かないように */
body.is-lp-mock .lpr-sec[id]{scroll-margin-top:24px;}

/* ---- セクション内の折りたたみ ---- */
body.is-lp-mock .mock-embed .lps-more{margin:26px 0 0;border-top:1px solid var(--border,#E2E8F1);padding-top:22px;}
body.is-lp-mock .mock-embed .lps-more-btn{
  display:inline-flex;align-items:center;gap:12px;cursor:pointer;list-style:none;
  padding:13px 24px;border:1px solid var(--navy,#1B224C);background:#fff;
  font-size:17.5px;font-weight:700;color:var(--navy,#1B224C);transition:.15s;
}
body.is-lp-mock .mock-embed .lps-more-btn::-webkit-details-marker{display:none;}
body.is-lp-mock .mock-embed .lps-more-btn::after{
  content:"";width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;
  transform:rotate(45deg) translate(-2px,-2px);transition:.2s;
}
body.is-lp-mock .mock-embed .lps-more[open] .lps-more-btn::after{transform:rotate(-135deg) translate(-2px,-2px);}
body.is-lp-mock .mock-embed .lps-more-btn:hover{background:var(--navy,#1B224C);color:#fff;}
body.is-lp-mock .mock-embed .lps-more-btn em{font-style:normal;font-family:'Poppins',sans-serif;
  font-size:15px;font-weight:600;color:var(--muted-soft,#7C89A0);}
body.is-lp-mock .mock-embed .lps-more-btn:hover em{color:rgba(255,255,255,.7);}
body.is-lp-mock .mock-embed .lps-more[open] .lps-more-btn{margin-bottom:26px;}
body.is-lp-mock .mock-embed .lpr-sec--dark .lps-more{border-top-color:rgba(255,255,255,.18);}
body.is-lp-mock .mock-embed .lpr-sec--dark .lps-more-btn{
  background:transparent;border-color:rgba(255,255,255,.5);color:#fff;
}
body.is-lp-mock .mock-embed .lpr-sec--dark .lps-more-btn:hover{background:#fff;color:var(--navy,#1B224C);}
/* CTA帯・最終CTAの中の強調は、モック側の b{color:…} に負けて濃紺のまま残ることがある */
body.is-lp-mock :is(.tso-cta-band,.lpr-endcta) :is(b,strong,em,span,a){color:#fff !important;}
body.is-lp-mock :is(.tso-cta-band,.lpr-endcta) .lpr-btn--white :is(span,em,b,strong){color:var(--navy,#1B224C) !important;}
/* ZIGSTEP のカードは白地。濃紺面では本文が白へ倒れるため、面も反転させる（v0.83.0） */
body.is-lp-mock .mock-embed .lpr-sec--dark .lps-zigstep{
  background:rgba(255,255,255,.07) !important;border-color:rgba(255,255,255,.16) !important;
}
body.is-lp-mock .mock-embed .lpr-sec--dark .lps-zigsteps::before{border-top-color:rgba(255,255,255,.28) !important;}

/* ==================================================================
 * v0.99.1 — モック側インラインCSSの文字サイズを上書きする
 *
 *   各LPは <style id="mock-embed-css"> でモック自身のCSSを読み込んでおり、
 *   そこに h1〜h4 / p,li,td / .lead-answer などの型指定が **!important 付き**
 *   で入っている。自動レイアウトに変換されたブロックはテーマ側の
 *   !important 付きルールが勝つが、変換されなかった素のモック本文は
 *   モック側が勝ち、v0.99.0 の拡大が効かない（proapocall が 15.5px のままだった）。
 *   ここでモック側と同じ対象を、より高い詳細度＋!important で 1.25 倍にする。
 *   個別コンポーネント（.tso-* / .lps-*）の指定はさらに詳細度が高いので影響しない。
 * ================================================================== */
body.is-lp-mock .mock-embed :is(p,li,td){font-size:19.5px !important;}
body.is-lp-mock .mock-embed h1{font-size:clamp(37.5px,3.4vw,51px) !important;}
body.is-lp-mock .mock-embed h2{font-size:clamp(29px,2.4vw,40px) !important;}
body.is-lp-mock .mock-embed h3{font-size:24px !important;}
body.is-lp-mock .mock-embed h4{font-size:20px !important;}
body.is-lp-mock .mock-embed :is(.sec-eyebrow,.eyebrow){font-size:15.5px !important;}
body.is-lp-mock .mock-embed :is(.lead-answer,.lead){font-size:20.5px !important;}
body.is-lp-mock .mock-embed :is(.price-note,.note,figcaption,.photo-cap){font-size:15px !important;}
body.is-lp-mock .mock-embed .fig figcaption{font-size:15.5px !important;}

body.is-lp-mock .mock-embed table.price thead th{font-size:17px !important;}
body.is-lp-mock .mock-embed :is(table.price td,table.price th){font-size:18px !important;}

body.is-lp-mock .mock-embed :is(.card h3,.reason h3,.cause-card h4,.wcard h3){font-size:21px !important;}
body.is-lp-mock .mock-embed :is(.card p,.reason p,.cause-card p){font-size:18px !important;}
body.is-lp-mock .mock-embed .cards .card .n{font-size:14.5px !important;}
body.is-lp-mock .mock-embed .reason__no{font-size:14px !important;}

body.is-lp-mock .mock-embed .hmetric .n{font-size:47.5px !important;}
body.is-lp-mock .mock-embed .hmetric .n span{font-size:19px !important;}
body.is-lp-mock .mock-embed .hmetric .l{font-size:15.5px !important;}

body.is-lp-mock .mock-embed :is(.faq__q,.faq-item h4){font-size:20px !important;}
body.is-lp-mock .mock-embed :is(.faq__a,.faq-item p){font-size:19px !important;}

body.is-lp-mock .mock-embed .step-num{font-size:20px !important;}
body.is-lp-mock .mock-embed .step-body strong{font-size:20.5px !important;}
body.is-lp-mock .mock-embed .linkcard .b{font-size:19px !important;}

body.is-lp-mock .mock-embed .btn--primary{font-size:19.5px !important;}
body.is-lp-mock .mock-embed .btn--ghost{font-size:19px !important;}
body.is-lp-mock .mock-embed .finalcta h2{font-size:clamp(30px,2.6vw,37.5px) !important;}
body.is-lp-mock .mock-embed .finalcta p{font-size:20px !important;}

body.is-lp-mock .mock-embed :is(.hero__lead){font-size:21px !important;}
body.is-lp-mock .mock-embed :is(.hero__eyebrow){font-size:14.5px !important;}

@media (max-width:760px){
  body.is-lp-mock .mock-embed :is(p,li,td){font-size:16.5px !important;}
  body.is-lp-mock .mock-embed h3{font-size:20px !important;}
  body.is-lp-mock .mock-embed h4{font-size:17.5px !important;}
  body.is-lp-mock .mock-embed :is(.lead-answer,.lead){font-size:17px !important;}
  body.is-lp-mock .mock-embed :is(.card p,.reason p,.cause-card p){font-size:16px !important;}
  body.is-lp-mock .mock-embed :is(table.price td,table.price th){font-size:15.5px !important;}
}

/* ==================================================================
 * v0.99.3 — スマホ幅での横溢れ対策
 *
 *   文字を 1.25 倍にしたことで、grid / flex の「自動最小幅」
 *   （min-width:auto ＝ 中身の min-content 幅）が広がり、
 *   1fr 指定のカラムでも縮まなくなって横に溢れる箇所が出た。
 *   セクションが overflow:hidden なので画面は横スクロールしないが、
 *   代わりに右端が切れる。ここで縮めるようにして塞ぐ。
 *   ※ table.price は .tablewrap の横スクロールで見せる仕様なので、
 *     min-width の指定を消さないよう対象から外している。
 * ================================================================== */
@media (max-width:760px){

  /* 1) grid / flex アイテムを縮められるようにする */
  body.is-lp-mock .pm-mock :is(
    [class^="lpr-"],[class*=" lpr-"],
    [class^="lps-"],[class*=" lps-"],
    [class^="tso-"],[class*=" tso-"]
  ){min-width:0;}
  body.is-lp-mock .pm-mock :is(
    [class^="lpr-"],[class*=" lpr-"],
    [class^="lps-"],[class*=" lps-"],
    [class^="tso-"],[class*=" tso-"]
  ) > *:not(table):not(.tablewrap){min-width:0;}

  /* 2) 2カラムのままでは入りきらないものを 1 カラムへ */
  body.is-lp-mock .lpr-hero-inner{grid-template-columns:minmax(0,1fr) !important;}
  body.is-lp-mock .mock-embed .lps-stats{grid-template-columns:minmax(0,1fr) !important;}
  body.is-lp-mock .mock-embed .lps-onums{grid-template-columns:minmax(0,1fr) !important;}
  body.is-lp-mock .mock-embed .lps-onum{grid-template-columns:64px minmax(0,1fr) !important;}
  body.is-lp-mock .mock-embed .lpr-numrow{grid-template-columns:minmax(0,1fr) !important;}

  /* Before / After 比較（proapocall ほか）は縦積みにする */
  body.is-lp-mock .mock-embed .ba{grid-template-columns:minmax(0,1fr) !important;gap:12px !important;}
  body.is-lp-mock .mock-embed .ba > *{min-width:0;}

  /* 3) 意図的に外へはみ出させている帯は画面内に収める */
  body.is-lp-mock .mock-embed .lps-numring-bar{
    margin-right:0 !important;width:100% !important;
  }

  /* 4) 装飾用の極大数字を画面幅に合わせて縮める */
  body.is-lp-mock .tso-figure{gap:10px;}
  body.is-lp-mock .tso-figure-num{font-size:clamp(34px,10vw,48.5px);}
  body.is-lp-mock .mock-embed .lps-stat-no{font-size:clamp(40px,12vw,53px);}
  body.is-lp-mock .mock-embed .lpr-numrow-body h3{font-size:21px !important;}
}

/* ==================================================================
 * v0.99.13 — /capability/ で見つかった重なり・視認性の修正
 * ================================================================== */

/* ① 濃い面のカードでは、背面の巨大番号が地色と同化して見えない。
 *    .lpr-why5-main は青のグラデーション塗りなので白に反転させる。 */
body.is-lp-mock .mock-embed .lps-v.nm-ghost .lpr-why5-main .lpr-why5-main-no{
  color:#fff !important;opacity:.18 !important;
}
body.is-lp-mock .mock-embed .lps-v.nm-ghost .lps-pipe-cell :is(.lps-pipe-no,.lpr-numrow-no){
  color:#fff !important;opacity:.18 !important;
}

/* ② .tso-pair の番号が見出し左上にあり、POINT バッジと重なって読めない。
 *    課題別ページのカードと同じ「右下に大きく透過」へ移す。
 *    タブ（縦書きラベル）と左右で対になるよう、rev では左下に置く。 */
body.is-lp-mock .mock-embed .tso-pair{position:relative;overflow:hidden;}
body.is-lp-mock .mock-embed .tso-pair .tso-pair-head{position:static;padding-top:0;}
body.is-lp-mock .mock-embed .tso-pair .tso-ghost{
  position:absolute !important;
  left:auto !important;right:14px !important;
  top:auto !important;bottom:-38px !important;
  font-size:150px !important;opacity:.10 !important;z-index:0 !important;
}
body.is-lp-mock .mock-embed .tso-pair--rev .tso-ghost{
  right:auto !important;left:14px !important;
}
body.is-lp-mock .mock-embed .lpr-sec--dark .tso-pair .tso-ghost{
  color:#fff !important;opacity:.14 !important;
}
@media (max-width:760px){
  body.is-lp-mock .mock-embed .tso-pair .tso-ghost{font-size:104px !important;bottom:-26px !important;}
}

/* ==================================================================
 * v0.99.16 — HERO の見出し・リード文が拡大から漏れていた（全LP共通）
 *
 *   .lpr-h1 / .lpr-lead はテーマ側（lp-rich.css）で
 *   clamp(42.5px,3.6vw,68px) / 20px を指定しているが、
 *   モックのインラインCSSが h1{46px !important} / p{15.5px !important}
 *   を持っているため、そちらが勝って小さいままだった。
 *   v0.99.1 の上書きは .mock-embed の中だけを対象にしていて、
 *   HERO は .mock-embed の外にあるので届いていなかった。
 * ================================================================== */
body.is-lp-mock .pm-mock.lp-rich .lpr-h1{font-size:clamp(42.5px,3.6vw,68px) !important;}
body.is-lp-mock .pm-mock.lp-rich .lpr-h1 :is(em,b,span,.hl){font-size:inherit !important;}
body.is-lp-mock .pm-mock.lp-rich .lpr-lead{font-size:20px !important;line-height:1.85 !important;}
body.is-lp-mock .pm-mock.lp-rich .lpr-lead :is(b,em,span){font-size:inherit !important;}
body.is-lp-mock .pm-mock.lp-rich .lpr-hero-note{font-size:15.5px !important;}
@media (max-width:760px){
  body.is-lp-mock .pm-mock.lp-rich .lpr-h1{font-size:32px !important;}
  body.is-lp-mock .pm-mock.lp-rich .lpr-lead{font-size:17px !important;}
}


/* ============================================================================
 * LP 個別ページの見直し（v1.7.0）
 *   /sales/ を対象に検証したが、いずれも .mock-embed 全体に効く共通の直し。
 * ========================================================================= */

/* ---- 1. 番号つきカード（.cards>.card / .reasons>.reason / .pains>.pain）----
   lp-rich.css は「左140pxに巨大な番号、右に見出しと本文」の numlist を意図しているが、
   モック側の `.card .n{position:absolute}` で番号がグリッドから外れ、
   代わりに見出しが140pxの列に入って4行に折り返していた。
   番号を小さなバッジとして列に戻し、見出しと本文は残り全幅で読ませる。 */
body.is-lp-mock .mock-embed .cards > .card,
body.is-lp-mock .mock-embed .reasons > .reason,
body.is-lp-mock .mock-embed .pains > .pain{
  display:grid !important;
  grid-template-columns:30px minmax(0,1fr) !important;
  column-gap:18px !important;row-gap:6px !important;
  align-items:start !important;
  padding:22px 0 24px !important;
}
body.is-lp-mock .mock-embed .cards > .card .n,
body.is-lp-mock .mock-embed .reasons > .reason .reason__no{
  position:static !important;
  grid-column:1 !important;grid-row:1 / span 2 !important;
  width:30px !important;height:30px !important;min-width:30px !important;
  display:flex !important;align-items:center !important;justify-content:center !important;
  margin:2px 0 0 !important;padding:0 !important;
  background:var(--sky,#1C93D2) !important;color:#fff !important;
  font-family:'Poppins',sans-serif !important;
  font-size:14px !important;font-weight:700 !important;line-height:1 !important;
  letter-spacing:0 !important;border-radius:0 !important;text-align:center !important;
}
body.is-lp-mock .mock-embed .cards > .card h3,
body.is-lp-mock .mock-embed .reasons > .reason h3{
  grid-column:2 !important;grid-row:1 !important;margin:0 !important;
  font-size:20px !important;font-weight:900 !important;line-height:1.6 !important;
}
body.is-lp-mock .mock-embed .cards > .card p,
body.is-lp-mock .mock-embed .reasons > .reason p{
  grid-column:2 !important;grid-row:2 !important;margin:0 !important;
  font-size:17.5px !important;line-height:1.95 !important;
}
body.is-lp-mock .mock-embed .cards > .card:hover,
body.is-lp-mock .mock-embed .reasons > .reason:hover{padding-left:0 !important;}
/* 濃紺の面では番号を白抜きにする */
body.is-lp-mock .mock-embed .lpr-sec--dark .cards > .card .n{
  background:#fff !important;color:var(--navy,#1B224C) !important;
}

/* ---- 2. 図版のキャプション（<figure class="fig"><svg><figcaption>）----
   枠の外に小さく置かれて浮いていたので、枠の一部として下端に収める。 */
body.is-lp-mock .mock-embed figure.fig{
  margin:26px 0 30px !important;padding:0 !important;
  background:#fff !important;border:1px solid var(--line,#E2E8F1) !important;
  overflow:hidden;
}
body.is-lp-mock .mock-embed figure.fig > svg{
  display:block;width:100%;height:auto;margin:0 !important;padding:22px 24px 6px !important;
  box-sizing:border-box;
}
body.is-lp-mock .mock-embed figure.fig > figcaption{
  margin:0 !important;padding:11px 24px 12px !important;
  border-top:1px solid var(--line,#E2E8F1) !important;
  background:var(--tint,#F4F7FB) !important;
  font-size:14px !important;font-weight:700 !important;line-height:1.7 !important;
  color:var(--sub,#5C6B80) !important;letter-spacing:.02em;
}
body.is-lp-mock .mock-embed .lpr-sec--alt figure.fig > figcaption{background:#EDF2F8 !important;}
body.is-lp-mock .mock-embed .lpr-sec--dark figure.fig{
  background:rgba(255,255,255,.04) !important;border-color:rgba(255,255,255,.22) !important;
}
body.is-lp-mock .mock-embed .lpr-sec--dark figure.fig > figcaption{
  background:rgba(255,255,255,.07) !important;border-top-color:rgba(255,255,255,.22) !important;
  color:rgba(255,255,255,.75) !important;
}

/* ---- 3. 本文中の小ラベル（AI 1–3 / CHECK / A / B など）----
   見出しの上に素の文字で置かれて浮いていたので、小さなラベルの形にする。 */
body.is-lp-mock .mock-embed .lpl-tag,
body.is-lp-mock .mock-embed .lps-iconrow-tag{
  display:inline-block;padding:4px 10px;
  background:var(--sky-pale,#EAF4FB);color:var(--sky,#1C93D2);
  font-family:'Poppins',sans-serif;font-size:12.5px;font-weight:700;
  letter-spacing:.12em;line-height:1.6;
}

/* ---- 4. PHASE のステップブロック（.tso-phase）----
   「PHASE 1｜…」の見出しと、その下の本文・図をひとまとまりにして、
   左の番号レールで5段階だと分かるようにする。 */
body.is-lp-mock .mock-embed .tso-phase{
  position:relative;
  display:grid;grid-template-columns:64px minmax(0,1fr);
  column-gap:26px;margin:0;padding:34px 0 6px;
}
body.is-lp-mock .mock-embed .tso-phase + .tso-phase{border-top:1px solid var(--line,#E2E8F1);}
body.is-lp-mock .mock-embed .tso-phase-head{
  grid-column:1 / -1;display:grid;grid-template-columns:subgrid;
  align-items:center;margin-bottom:16px;
}
@supports not (grid-template-columns:subgrid){
  body.is-lp-mock .mock-embed .tso-phase-head{grid-template-columns:64px minmax(0,1fr);column-gap:26px;}
}
body.is-lp-mock .mock-embed .tso-phase-n{
  grid-column:1;justify-self:start;
  display:flex;align-items:center;justify-content:center;
  width:56px;height:56px;background:var(--navy,#1B224C);color:#fff;
  font-family:'Poppins',sans-serif;font-size:26px;font-weight:700;line-height:1;
}
body.is-lp-mock .mock-embed .tso-phase-t{
  grid-column:2;margin:0 !important;padding:0 !important;border:0 !important;
  font-size:clamp(20px,1.7vw,24px) !important;font-weight:900 !important;
  line-height:1.55 !important;color:var(--navy,#1B224C) !important;
}
body.is-lp-mock .mock-embed .tso-phase-body{
  grid-column:2;position:relative;padding-bottom:30px;
}
/* 番号の下に伸びるレール */
body.is-lp-mock .mock-embed .tso-phase::before{
  content:"";position:absolute;left:27px;top:106px;bottom:18px;width:2px;
  background:linear-gradient(180deg,#CFDBE9,rgba(207,219,233,0));
}
body.is-lp-mock .mock-embed .tso-phase:last-child::before{display:none;}
body.is-lp-mock .mock-embed .tso-phase-body > p:first-child{margin-top:0 !important;}
body.is-lp-mock .mock-embed .tso-phase-body > figure.fig:first-child{margin-top:0 !important;}

/* ---- 5. 名前つきカード（.named > .nc）----
   LP では素通しで、ラベル（.tag）も裸の文字のまま流れていた。
   ハブページと同じくカードとラベルの形にする。 */
body.is-lp-mock .mock-embed .named{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:24px 0 28px;
}
body.is-lp-mock .mock-embed .named:has(> .nc:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr));}
body.is-lp-mock .mock-embed .named > .nc{
  background:#fff;border:1px solid var(--line,#E2E8F1);
  border-top:3px solid var(--sky,#1C93D2);padding:22px 24px 24px;
}
body.is-lp-mock .mock-embed .named > .nc > .tag{
  display:inline-block;margin:0 0 10px;padding:4px 10px;
  background:var(--sky-pale,#EAF4FB);color:var(--sky,#1C93D2);
  font-family:'Poppins',sans-serif;font-size:12.5px;font-weight:700;
  letter-spacing:.12em;line-height:1.6;
}
body.is-lp-mock .mock-embed .named > .nc h3{
  margin:0 0 8px !important;padding:0 !important;border:0 !important;
  font-size:18.5px !important;font-weight:900 !important;line-height:1.6 !important;
}
body.is-lp-mock .mock-embed .named > .nc p{
  margin:0 !important;font-size:16px !important;line-height:1.9 !important;
}
body.is-lp-mock .mock-embed .lpr-sec--alt .named > .nc{background:#fff;}

/* ---- 6. レポート見本の折りたたみ（.rep-sample--fold）---- */
body.is-lp-mock .mock-embed details.rep-sample--fold{
  background:#fff;border:1px solid var(--line,#E2E8F1);margin:0 0 10px;
}
body.is-lp-mock .mock-embed details.rep-sample--fold[open]{border-color:#BFD4E8;}
body.is-lp-mock .mock-embed details.rep-sample--fold > summary{
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  cursor:pointer;list-style:none;padding:16px 22px;
  background:var(--navy,#1B224C);
}
body.is-lp-mock .mock-embed details.rep-sample--fold > summary::-webkit-details-marker{display:none;}
body.is-lp-mock .mock-embed details.rep-sample--fold > summary::after{
  content:"";flex:0 0 auto;width:9px;height:9px;margin-left:auto;
  border-right:2px solid rgba(255,255,255,.8);border-bottom:2px solid rgba(255,255,255,.8);
  transform:rotate(45deg) translate(-2px,-2px);transition:transform .2s ease;
}
body.is-lp-mock .mock-embed details.rep-sample--fold[open] > summary::after{transform:rotate(-135deg);}
body.is-lp-mock .mock-embed details.rep-sample--fold > summary .rep-sample__tag,
body.is-lp-mock .mock-embed details.rep-sample--fold > summary .rep-sample__t{color:#fff !important;}
body.is-lp-mock .mock-embed details.rep-sample--fold > .rep-sample__b{padding:22px 22px 24px;}
body.is-lp-mock .mock-embed details.rep-sample--fold > summary:hover{background:#243057;}

/* ---- 4b. PHASE ブロックの狭い画面 ---- */
@media (max-width:900px){
  body.is-lp-mock .mock-embed .tso-phase{grid-template-columns:46px minmax(0,1fr);column-gap:18px;padding-top:28px;}
  body.is-lp-mock .mock-embed .tso-phase-head{margin-bottom:13px;}
  @supports not (grid-template-columns:subgrid){
    body.is-lp-mock .mock-embed .tso-phase-head{grid-template-columns:46px minmax(0,1fr);column-gap:18px;}
  }
  body.is-lp-mock .mock-embed .tso-phase-n{width:44px;height:44px;font-size:21px;}
  body.is-lp-mock .mock-embed .tso-phase::before{left:21px;top:88px;}
}
@media (max-width:560px){
  /* 本文まで字下げすると読み幅が足りないので、番号と見出しだけ段にする */
  body.is-lp-mock .mock-embed .tso-phase{grid-template-columns:1fr;column-gap:0;}
  body.is-lp-mock .mock-embed .tso-phase-head{
    grid-template-columns:40px minmax(0,1fr);column-gap:14px;align-items:center;
  }
  body.is-lp-mock .mock-embed .tso-phase-n{width:38px;height:38px;font-size:18px;}
  body.is-lp-mock .mock-embed .tso-phase-t{font-size:19px !important;}
  body.is-lp-mock .mock-embed .tso-phase-body{grid-column:1;}
  body.is-lp-mock .mock-embed .tso-phase::before{display:none;}
}
@media (max-width:900px){
  body.is-lp-mock .mock-embed .named{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:620px){
  body.is-lp-mock .mock-embed .named,
  body.is-lp-mock .mock-embed .named:has(> .nc:nth-child(2):last-child){grid-template-columns:1fr;}
  body.is-lp-mock .mock-embed details.rep-sample--fold > summary{padding:14px 16px;gap:10px;}
  body.is-lp-mock .mock-embed details.rep-sample--fold > .rep-sample__b{padding:18px 16px 20px;}
}

/* ---- 7. 見出し直下のリード文は囲まない（v1.7.1）----
   セクションごとに水色の箱が続いて重かったので、素の文章に戻す。
   強調（<b>）だけで十分読み分けられる。 */
body.is-lp-mock .mock-embed .lead-answer,
body.is-lp-mock .mock-embed .lead{
  background:none !important;border:0 !important;border-left:0 !important;
  padding:0 !important;margin:0 0 30px !important;
  font-size:20px !important;line-height:2 !important;font-weight:500 !important;
  color:var(--ink,#22304A) !important;max-width:52em;
}
body.is-lp-mock .mock-embed .lpr-sec--dark .lead-answer,
body.is-lp-mock .mock-embed .lpr-sec--dark .lead{color:rgba(255,255,255,.9) !important;}

/* ---- 8. SCOPE：2つの担当範囲（.tso-scopes）----
   SVGをやめ、パターンごとに「左から右へ流れる工程」をHTMLで組む。 */
body.is-lp-mock .mock-embed .tso-scopes{
  display:grid;gap:16px;margin:8px 0 20px;
}
body.is-lp-mock .mock-embed .tso-scope{
  background:#fff;border:1px solid var(--line,#E2E8F1);
  border-top:3px solid var(--sky,#1C93D2);padding:28px 30px 30px;
}
body.is-lp-mock .mock-embed .tso-scope-head{
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:12px;
}
body.is-lp-mock .mock-embed .tso-scope-tag{
  flex:none;padding:6px 12px;background:var(--navy,#1B224C);color:#fff;
  font-family:'Poppins',sans-serif;font-size:12.5px;font-weight:700;
  letter-spacing:.16em;line-height:1.5;
}
body.is-lp-mock .mock-embed .tso-scope-head h3{
  margin:0 !important;padding:0 !important;border:0 !important;
  font-size:21px !important;font-weight:900 !important;line-height:1.55 !important;
  color:var(--navy,#1B224C) !important;
}
body.is-lp-mock .mock-embed .tso-scope > p{
  margin:0 0 22px !important;font-size:17px !important;line-height:1.95 !important;
  color:var(--sub,#5C6B80) !important;
}
/* 工程の帯：左から右へ */
body.is-lp-mock .mock-embed .tso-flow{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0 26px;margin:0 !important;padding:0 !important;list-style:none !important;
}
body.is-lp-mock .mock-embed .tso-flow-i{
  position:relative;display:flex;flex-direction:column;justify-content:center;gap:5px;
  min-height:74px;padding:14px 16px;margin:0 !important;text-align:center;
}
body.is-lp-mock .mock-embed .tso-flow-i::marker{content:"";}
/* 工程のあいだの矢印 */
body.is-lp-mock .mock-embed .tso-flow-i + .tso-flow-i::before{
  content:"";position:absolute;left:-19px;top:50%;
  width:9px;height:9px;margin-top:-5px;
  border-right:2px solid #B9C8DA;border-bottom:2px solid #B9C8DA;
  transform:rotate(-45deg);
}
body.is-lp-mock .mock-embed .tso-flow-t{
  font-size:15.5px;font-weight:900;line-height:1.5;letter-spacing:.01em;
}
body.is-lp-mock .mock-embed .tso-flow-w{font-size:12.5px;line-height:1.5;}
/* 当社が担当する工程 */
body.is-lp-mock .mock-embed .tso-flow-i.is-own{background:var(--sky,#1C93D2);}
body.is-lp-mock .mock-embed .tso-flow-i.is-own .tso-flow-t{color:#fff;}
body.is-lp-mock .mock-embed .tso-flow-i.is-own .tso-flow-w{color:rgba(255,255,255,.82);}
/* 貴社・他社が担当する工程 */
body.is-lp-mock .mock-embed .tso-flow-i.is-client{
  background:#fff;border:1px dashed #C3D0DF;
}
body.is-lp-mock .mock-embed .tso-flow-i.is-client .tso-flow-t{color:#8496AB;}
body.is-lp-mock .mock-embed .tso-flow-i.is-client .tso-flow-w{color:#9DACBE;}
body.is-lp-mock .mock-embed .tso-scope-note{
  margin:0 !important;padding:14px 20px !important;
  background:var(--tint,#F4F7FB);border-left:3px solid var(--sky,#1C93D2);
  font-size:15.5px !important;line-height:1.85 !important;color:var(--sub,#5C6B80) !important;
}
@media (max-width:860px){
  body.is-lp-mock .mock-embed .tso-flow{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 26px;}
  body.is-lp-mock .mock-embed .tso-flow-i:nth-child(3)::before{display:none;}
  body.is-lp-mock .mock-embed .tso-scope{padding:24px 22px 26px;}
}
@media (max-width:520px){
  body.is-lp-mock .mock-embed .tso-flow{grid-template-columns:1fr;gap:16px 0;}
  body.is-lp-mock .mock-embed .tso-flow-i:nth-child(3)::before{display:block;}
  body.is-lp-mock .mock-embed .tso-flow-i + .tso-flow-i::before{
    left:50%;top:-13px;margin:0 0 0 -5px;transform:rotate(45deg);
  }
}

/* ---- 9. 7つの失敗をボックスの並びに（.cards.tso-grid7）----
   1行1件の縦長リストだと7件は読み切れないので、番号つきの箱を並べる。 */
body.is-lp-mock .mock-embed .cards.tso-grid7{
  display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:14px !important;border-top:0 !important;margin:26px 0 34px !important;
}
body.is-lp-mock .mock-embed .cards.tso-grid7 > .card{
  display:block !important;
  background:#fff !important;border:1px solid var(--line,#E2E8F1) !important;
  border-bottom:1px solid var(--line,#E2E8F1) !important;
  padding:26px 24px 26px !important;
}
body.is-lp-mock .mock-embed .cards.tso-grid7 > .card:hover{
  border-color:#BFD4E8 !important;background:#fff !important;
}
/* 番号は輪郭だけの丸（参考デザインに寄せる）*/
body.is-lp-mock .mock-embed .cards.tso-grid7 > .card .n{
  position:static !important;
  width:42px !important;height:42px !important;
  display:flex !important;align-items:center !important;justify-content:center !important;
  margin:0 0 14px !important;padding:0 !important;
  background:#fff !important;color:var(--sky,#1C93D2) !important;
  border:2px solid var(--sky,#1C93D2) !important;border-radius:50% !important;
  font-family:'Poppins',sans-serif !important;
  font-size:17px !important;font-weight:700 !important;line-height:1 !important;
}
body.is-lp-mock .mock-embed .cards.tso-grid7 > .card h3{
  margin:0 0 10px !important;font-size:18px !important;font-weight:900 !important;
  line-height:1.6 !important;
}
body.is-lp-mock .mock-embed .cards.tso-grid7 > .card p{
  margin:0 !important;font-size:15.5px !important;line-height:1.9 !important;
  color:var(--sub,#5C6B80) !important;
}
@media (max-width:980px){
  body.is-lp-mock .mock-embed .cards.tso-grid7{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media (max-width:620px){
  body.is-lp-mock .mock-embed .cards.tso-grid7{grid-template-columns:1fr !important;}
  body.is-lp-mock .mock-embed .cards.tso-grid7 > .card{padding:22px 20px !important;}
}

/* ---- 10. 筋の良い課題設定の条件（.tso-venn）----
   2つの条件は「両方を満たす」関係なので、重なる2円で示す。 */
body.is-lp-mock .mock-embed .tso-venn-cap{
  margin:26px 0 6px !important;text-align:center;
  font-size:19px !important;font-weight:900 !important;line-height:1.6 !important;
  color:var(--navy,#1B224C) !important;
}
body.is-lp-mock .mock-embed .tso-venn{
  --vc:min(460px,40vw);
  position:relative;display:flex;justify-content:center;align-items:center;
  margin:0 0 22px;padding:8px 0 4px;isolation:isolate;
}
body.is-lp-mock .mock-embed .tso-venn-c{
  position:relative;flex:0 0 auto;
  width:var(--vc);aspect-ratio:1/1;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;
  text-align:center;background:none;
}
/* 面だけを重ね合わせる。文字は上に置いて混色させない */
body.is-lp-mock .mock-embed .tso-venn-c::before{
  content:"";position:absolute;inset:0;z-index:0;
  border-radius:50% !important;
  background:rgba(28,147,210,.22);
  mix-blend-mode:multiply;
}
body.is-lp-mock .mock-embed .tso-venn-c--b::before{background:rgba(28,147,210,.22);}
body.is-lp-mock .mock-embed .tso-venn-c > *{position:relative;z-index:1;}
/* 重なりを作りつつ、文字は重なりを避けて外側に寄せる */
body.is-lp-mock .mock-embed .tso-venn-c--a{
  margin-right:calc(var(--vc) * -0.17);
  padding:0 calc(var(--vc) * 0.215) 0 calc(var(--vc) * 0.075);
}
body.is-lp-mock .mock-embed .tso-venn-c--b{
  margin-left:calc(var(--vc) * -0.17);
  padding:0 calc(var(--vc) * 0.075) 0 calc(var(--vc) * 0.215);
}
body.is-lp-mock .mock-embed .tso-venn-no{
  font-family:'Poppins',sans-serif;font-size:12.5px;font-weight:700;letter-spacing:.16em;
  color:var(--navy,#1B224C);opacity:.7;
}
body.is-lp-mock .mock-embed .tso-venn-t{
  font-size:18px;font-weight:900;line-height:1.55;color:var(--navy,#1B224C);margin-bottom:2px;
}
body.is-lp-mock .mock-embed .tso-venn-d{font-size:13.5px;line-height:1.75;color:#2B3E5C;}
body.is-lp-mock .mock-embed .tso-venn-ng{
  margin-top:8px;font-style:normal;font-size:12.5px;line-height:1.7;
  font-weight:700;color:#A8432B;
}
body.is-lp-mock .mock-embed .tso-venn-plus{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:3;
  font-size:21px;font-weight:900;color:#fff;opacity:.9;
}
body.is-lp-mock .mock-embed .tso-venn-note{
  margin:0 0 6px;padding:20px 24px;background:var(--tint,#F4F7FB);
  border-left:3px solid var(--sky,#1C93D2);
}
body.is-lp-mock .mock-embed .tso-venn-note > b{
  display:block;margin-bottom:8px;font-size:17px;font-weight:900;line-height:1.7;
  color:var(--navy,#1B224C);
}
body.is-lp-mock .mock-embed .tso-venn-note > p{
  margin:0 !important;font-size:15.5px !important;line-height:1.9 !important;
  color:var(--sub,#5C6B80) !important;
}
@media (max-width:900px){
  /* 円のままでは文字が入らないので、2枚のカードと＋に切り替える */
  body.is-lp-mock .mock-embed .tso-venn{flex-direction:column;gap:34px;padding-top:4px;}
  body.is-lp-mock .mock-embed .tso-venn-c{
    width:100%;aspect-ratio:auto;padding:24px 22px !important;margin:0 !important;
    background:#fff;border:1px solid var(--line,#E2E8F1);border-top:3px solid var(--sky,#1C93D2);
  }
  body.is-lp-mock .mock-embed .tso-venn-c::before{display:none;}
  body.is-lp-mock .mock-embed .tso-venn-c--b{border-top-color:var(--navy,#1B224C);}
  body.is-lp-mock .mock-embed .tso-venn-plus{top:50%;font-size:26px;opacity:1;color:var(--sky,#1C93D2);}
}

/* ---- 11. 型がある場合とない場合（.tso-form）---- */
body.is-lp-mock .mock-embed .tso-form{margin:26px 0 6px;}
body.is-lp-mock .mock-embed .tso-form-cap{
  margin:0 0 14px !important;font-size:19px !important;font-weight:900 !important;
  line-height:1.6 !important;color:var(--navy,#1B224C) !important;
}
body.is-lp-mock .mock-embed .tso-form-row{
  display:grid;grid-template-columns:210px minmax(0,1fr) 230px;
  gap:0 24px;align-items:center;
  background:#fff;border:1px solid var(--line,#E2E8F1);padding:22px 26px;
}
body.is-lp-mock .mock-embed .tso-form-row + .tso-form-row{margin-top:10px;}
body.is-lp-mock .mock-embed .tso-form-row--yes{border-left:3px solid var(--sky,#1C93D2);}
body.is-lp-mock .mock-embed .tso-form-row--no{border-left:3px solid #C3CDDA;}
body.is-lp-mock .mock-embed .tso-form-h{display:flex;flex-direction:column;gap:3px;}
body.is-lp-mock .mock-embed .tso-form-t{
  font-size:18.5px;font-weight:900;line-height:1.5;color:var(--navy,#1B224C);
}
body.is-lp-mock .mock-embed .tso-form-row--no .tso-form-t{color:#7C8CA0;}
body.is-lp-mock .mock-embed .tso-form-s{font-size:13.5px;line-height:1.6;color:var(--faint,#98A5B8);}
body.is-lp-mock .mock-embed .tso-form-l{
  margin:0 !important;padding:0 !important;list-style:none !important;
}
body.is-lp-mock .mock-embed .tso-form-l li{
  position:relative;padding-left:16px;font-size:15.5px;line-height:1.9;color:var(--sub,#5C6B80);
}
body.is-lp-mock .mock-embed .tso-form-l li + li{margin-top:4px;}
body.is-lp-mock .mock-embed .tso-form-l li::before{
  content:"";position:absolute;left:0;top:.82em;width:6px;height:6px;background:#C3CDDA;
}
body.is-lp-mock .mock-embed .tso-form-row--yes .tso-form-l li::before{background:var(--sky,#1C93D2);}
body.is-lp-mock .mock-embed .tso-form-r{
  display:flex;align-items:center;gap:12px;padding:12px 16px;
  background:var(--tint,#F4F7FB);
}
body.is-lp-mock .mock-embed .tso-form-row--yes .tso-form-r{background:var(--navy,#1B224C);}
body.is-lp-mock .mock-embed .tso-form-mk{
  flex:none;font-family:'Poppins',sans-serif;font-size:22px;font-weight:700;line-height:1;
  color:#A9B6C6;
}
body.is-lp-mock .mock-embed .tso-form-row--yes .tso-form-mk{color:#7FC8ED;}
body.is-lp-mock .mock-embed .tso-form-rt{
  font-size:15px;font-weight:900;line-height:1.6;color:#7C8CA0;
}
body.is-lp-mock .mock-embed .tso-form-row--yes .tso-form-rt{color:#fff;}
body.is-lp-mock .mock-embed .tso-form-foot{
  margin-top:10px;padding:18px 26px;background:var(--sky-pale,#EAF4FB);
}
body.is-lp-mock .mock-embed .tso-form-foot > b{
  display:block;margin-bottom:6px;font-size:16.5px;font-weight:900;line-height:1.6;
  color:var(--navy,#1B224C);
}
body.is-lp-mock .mock-embed .tso-form-foot > span{
  font-size:14.5px;line-height:1.85;color:var(--sub,#5C6B80);
}
@media (max-width:900px){
  body.is-lp-mock .mock-embed .tso-form-row{grid-template-columns:1fr;gap:14px 0;padding:20px 22px;}
  body.is-lp-mock .mock-embed .tso-form-r{justify-content:center;text-align:center;}
}

/* ============================================================================
 * LP の図版を HTML+CSS に置き換えるための共通ブロック（v1.8.0）
 *   /method/ の「5つのステージ」と同じ作法で、工程の帯と3枚組を用意する。
 * ========================================================================= */

/* ---- 12. 工程の帯（.tso-steps）— /method/ の 5 STAGES を転用 ---- */
body.is-lp-mock .mock-embed .tso-steps{margin:26px 0 30px;}
body.is-lp-mock .mock-embed .tso-steps-cap,
body.is-lp-mock .mock-embed .tso-cols-cap{
  margin:0 0 14px !important;font-size:18.5px !important;font-weight:900 !important;
  line-height:1.6 !important;color:var(--navy,#1B224C) !important;
}
body.is-lp-mock .mock-embed .tso-steps-l{
  --slant:22px;--n:5;
  display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));
  gap:0;margin:0 !important;padding:0 !important;list-style:none !important;
}
body.is-lp-mock .mock-embed .tso-steps-i{
  position:relative;margin:0 0 0 calc(var(--slant) * -1) !important;
  padding:22px 18px 24px calc(18px + var(--slant));
  clip-path:polygon(var(--slant) 0,100% 0,calc(100% - var(--slant)) 100%,0 100%);
  background:var(--stg-bg,#EAF2FA);color:var(--stg-fg,#1B224C);
  display:flex;flex-direction:column;gap:5px;
}
body.is-lp-mock .mock-embed .tso-steps-i::marker{content:"";}
body.is-lp-mock .mock-embed .tso-steps-i:first-child{
  margin-left:0 !important;padding-left:20px;
  clip-path:polygon(0 0,100% 0,calc(100% - var(--slant)) 100%,0 100%);
}
body.is-lp-mock .mock-embed .tso-steps-i:last-child{
  clip-path:polygon(var(--slant) 0,100% 0,100% 100%,0 100%);
}
/* 左から右へ濃くなる（5段階の既定。段数が違っても破綻しない） */
body.is-lp-mock .mock-embed .tso-steps-i:nth-child(1){--stg-bg:#EDF4FB;}
body.is-lp-mock .mock-embed .tso-steps-i:nth-child(2){--stg-bg:#D8E8F7;}
body.is-lp-mock .mock-embed .tso-steps-i:nth-child(3){--stg-bg:#9CC8E8;}
body.is-lp-mock .mock-embed .tso-steps-i:nth-child(4){--stg-bg:#3E8CC0;--stg-fg:#fff;}
body.is-lp-mock .mock-embed .tso-steps-i:nth-child(5){--stg-bg:#1B4E7E;--stg-fg:#fff;}
body.is-lp-mock .mock-embed .tso-steps-i:nth-child(6){--stg-bg:#152F52;--stg-fg:#fff;}
body.is-lp-mock .mock-embed .tso-steps-no{
  font-family:'Poppins',sans-serif;font-size:12px;font-weight:700;letter-spacing:.14em;
  line-height:1.5;opacity:.72;
}
body.is-lp-mock .mock-embed .tso-steps-i > b{
  font-size:17px;font-weight:900;line-height:1.5;letter-spacing:.01em;
}
body.is-lp-mock .mock-embed .tso-steps-i > span:not(.tso-steps-no){
  font-size:13px;line-height:1.75;opacity:.88;
}
body.is-lp-mock .mock-embed .tso-steps-i > em{
  font-style:normal;font-size:12.5px;font-weight:700;line-height:1.7;
  color:var(--cta,#F5A945);
}
body.is-lp-mock .mock-embed .tso-steps-i:nth-child(-n+3) > em{color:#C2711A;}
/* 帯の下の注記 */
body.is-lp-mock .mock-embed .tso-steps-note{
  margin:12px 0 0 !important;padding:16px 22px !important;
  background:var(--tint,#F4F7FB);border-left:3px solid var(--sky,#1C93D2);
  font-size:15px !important;line-height:1.9 !important;color:var(--sub,#5C6B80) !important;
}
body.is-lp-mock .mock-embed .tso-steps-note > b{
  display:block;margin-bottom:5px;font-size:16.5px;font-weight:900;line-height:1.7;
  color:var(--navy,#1B224C);
}
@media (max-width:1024px){
  body.is-lp-mock .mock-embed .tso-steps-l{grid-template-columns:repeat(2,minmax(0,1fr));--slant:0px;gap:8px;}
  body.is-lp-mock .mock-embed .tso-steps-i,
  body.is-lp-mock .mock-embed .tso-steps-i:first-child{margin-left:0 !important;padding:18px 20px 20px !important;clip-path:none !important;}
}
@media (max-width:560px){
  body.is-lp-mock .mock-embed .tso-steps-l{grid-template-columns:1fr;}
}

/* ---- 13. 3枚組（.tso-cols）---- */
body.is-lp-mock .mock-embed .tso-cols{margin:26px 0 30px;}
body.is-lp-mock .mock-embed .tso-cols-l{
  --n:3;display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:14px;
  margin:0 !important;padding:0 !important;list-style:none !important;
}
body.is-lp-mock .mock-embed .tso-cols-i{
  position:relative;margin:0 !important;padding:22px 22px 24px;
  background:#fff;border:1px solid var(--line,#E2E8F1);border-top:3px solid var(--sky,#1C93D2);
  display:flex;flex-direction:column;gap:6px;
}
body.is-lp-mock .mock-embed .tso-cols-i::marker{content:"";}
body.is-lp-mock .mock-embed .tso-cols-tag{
  font-family:'Poppins',sans-serif;font-size:12px;font-weight:700;letter-spacing:.14em;
  line-height:1.5;color:var(--sky,#1C93D2);
}
body.is-lp-mock .mock-embed .tso-cols-i > b{
  font-size:17px;font-weight:900;line-height:1.55;color:var(--navy,#1B224C);
}
body.is-lp-mock .mock-embed .tso-cols-i > span:not(.tso-cols-tag){
  font-size:14px;line-height:1.85;color:var(--sub,#5C6B80);
}
body.is-lp-mock .mock-embed .tso-cols-i > em{
  font-style:normal;margin-top:4px;padding-top:8px;border-top:1px dashed #D8E2EE;
  font-size:13.5px;font-weight:700;line-height:1.7;
}
/* 意味づけ：守る／上積み／避ける */
body.is-lp-mock .mock-embed .tso-cols-i.is-must{border-top-color:var(--navy,#1B224C);}
body.is-lp-mock .mock-embed .tso-cols-i.is-must .tso-cols-tag{color:var(--navy,#1B224C);}
body.is-lp-mock .mock-embed .tso-cols-i.is-good{border-top-color:#3F8F8A;}
body.is-lp-mock .mock-embed .tso-cols-i.is-good .tso-cols-tag{color:#3F8F8A;}
body.is-lp-mock .mock-embed .tso-cols-i.is-ng{border-top-color:#C0563A;background:#FDF6F4;}
body.is-lp-mock .mock-embed .tso-cols-i.is-ng .tso-cols-tag{color:#C0563A;}
body.is-lp-mock .mock-embed .tso-cols-i.is-ours{border-top-color:var(--sky,#1C93D2);background:var(--sky-pale,#EAF4FB);}
body.is-lp-mock .mock-embed .tso-cols-i.is-ng > em{color:#C0563A;}
body.is-lp-mock .mock-embed .tso-cols-i.is-ours > em{color:var(--sky,#1C93D2);}
body.is-lp-mock .mock-embed .tso-cols-i > em{color:var(--sub,#5C6B80);}
/* 矢印でつなぐ場合 */
body.is-lp-mock .mock-embed .tso-cols-l.is-flow{gap:0 34px;}
body.is-lp-mock .mock-embed .tso-cols-l.is-flow .tso-cols-i + .tso-cols-i::before{
  content:"";position:absolute;left:-23px;top:50%;width:10px;height:10px;margin-top:-6px;
  border-right:2px solid #B9C8DA;border-bottom:2px solid #B9C8DA;transform:rotate(-45deg);
}
@media (max-width:860px){
  body.is-lp-mock .mock-embed .tso-cols-l{grid-template-columns:1fr;gap:12px;}
  body.is-lp-mock .mock-embed .tso-cols-l.is-flow{gap:26px 0;}
  body.is-lp-mock .mock-embed .tso-cols-l.is-flow .tso-cols-i + .tso-cols-i::before{
    left:50%;top:-19px;margin:0 0 0 -6px;transform:rotate(45deg);
  }
}

/* ---- 14. 図版ブロックの見出し補助（.tso-steps-lbl / .tso-steps-sub） ---- */
body.is-lp-mock .mock-embed .tso-steps-lbl,
body.is-lp-mock .mock-embed .tso-cols-lbl{
  margin:0 0 6px !important;font-family:'Poppins',sans-serif;
  font-size:12px !important;font-weight:700 !important;letter-spacing:.12em;
  line-height:1.6 !important;color:var(--sky,#1C93D2) !important;
}
body.is-lp-mock .mock-embed .tso-steps-sub{
  margin:16px 0 8px !important;padding-left:11px;
  border-left:3px solid var(--sky,#1C93D2);
  font-size:14px !important;font-weight:900 !important;line-height:1.6 !important;
  color:var(--navy,#1B224C) !important;
}
body.is-lp-mock .mock-embed .tso-steps-cap + .tso-steps-sub{margin-top:6px !important;}
/* 6段のときは詰める */
body.is-lp-mock .mock-embed .tso-steps-l.is-6{--slant:15px;}
body.is-lp-mock .mock-embed .tso-steps-l.is-6 .tso-steps-i{padding:18px 12px 20px calc(12px + var(--slant));}
body.is-lp-mock .mock-embed .tso-steps-l.is-6 .tso-steps-i:first-child{padding-left:14px;}
body.is-lp-mock .mock-embed .tso-steps-l.is-6 .tso-steps-i > b{font-size:15px;}
body.is-lp-mock .mock-embed .tso-steps-l.is-6 .tso-steps-i > span:not(.tso-steps-no){font-size:12.5px;line-height:1.7;}
@media (max-width:1024px){
  body.is-lp-mock .mock-embed .tso-steps-l.is-6{--slant:0px;grid-template-columns:repeat(3,minmax(0,1fr));}
  body.is-lp-mock .mock-embed .tso-steps-l.is-6 .tso-steps-i,
  body.is-lp-mock .mock-embed .tso-steps-l.is-6 .tso-steps-i:first-child{padding:18px 16px 20px !important;}
}
@media (max-width:560px){
  body.is-lp-mock .mock-embed .tso-steps-l.is-6{grid-template-columns:1fr;}
}

/* ---- 15. .tso-steps / .tso-cols の色の上書き対策 ---- */
/* 既存の li / b / span の色指定に負けるので、帯の色を最優先にする */
body.is-lp-mock .mock-embed .tso-steps-i{color:var(--stg-fg,#1B224C) !important;}
body.is-lp-mock .mock-embed .tso-steps-i > b,
body.is-lp-mock .mock-embed .tso-steps-i > span{color:inherit !important;}
/* 段数に応じて最後の帯を締める（3段・4段でも右端が濃くなる） */
body.is-lp-mock .mock-embed .tso-steps-i:nth-child(2):nth-last-child(2){--stg-bg:#9CC8E8;}
body.is-lp-mock .mock-embed .tso-steps-i:nth-child(3):last-child,
body.is-lp-mock .mock-embed .tso-steps-i:nth-child(4):last-child{--stg-bg:#1B4E7E;--stg-fg:#fff;}
/* 濃い帯の上の em は明るく */
body.is-lp-mock .mock-embed .tso-steps-i:nth-child(3):last-child > em,
body.is-lp-mock .mock-embed .tso-steps-i:nth-child(4):last-child > em,
body.is-lp-mock .mock-embed .tso-steps-i:nth-child(n+4) > em{color:var(--cta,#F5A945) !important;}
body.is-lp-mock .mock-embed .tso-steps-i:nth-child(-n+3):not(:last-child) > em{color:#C2711A !important;}
/* 注記の見出し（b）に付くマーカー風の下地を消す */
body.is-lp-mock .mock-embed .tso-steps-note > b{background:none !important;}

/* ---- 16. 暗い背景のセクション内での見え方 ---- */
/* カード・注記は常に明るい面なので、中の文字は暗色で固定する */
body.is-lp-mock .mock-embed .tso-cols-i > b{color:var(--navy,#1B224C) !important;}
body.is-lp-mock .mock-embed .tso-cols-i > span:not(.tso-cols-tag){color:var(--sub,#5C6B80) !important;}
body.is-lp-mock .mock-embed .tso-cols-i.is-must > .tso-cols-tag{color:var(--navy,#1B224C) !important;}
body.is-lp-mock .mock-embed .tso-cols-i.is-good > .tso-cols-tag{color:#3F8F8A !important;}
body.is-lp-mock .mock-embed .tso-cols-i.is-ng   > .tso-cols-tag{color:#C0563A !important;}
body.is-lp-mock .mock-embed .tso-cols-i > .tso-cols-tag{color:var(--sky,#1C93D2) !important;}
body.is-lp-mock .mock-embed .tso-cols-i > em{color:var(--sub,#5C6B80) !important;}
body.is-lp-mock .mock-embed .tso-cols-i.is-ng > em{color:#C0563A !important;}
body.is-lp-mock .mock-embed .tso-cols-i.is-ours > em{color:var(--sky,#1C93D2) !important;}
body.is-lp-mock .mock-embed .tso-steps-note{color:var(--sub,#5C6B80) !important;}
body.is-lp-mock .mock-embed .tso-steps-note > b{color:var(--navy,#1B224C) !important;}
/* 見出し補助はセクション地の上に載るので、暗い面では明るく */
body.is-lp-mock .mock-embed .lpr-sec--dark .tso-steps-lbl,
body.is-lp-mock .mock-embed .lpr-sec--dark .tso-cols-lbl{color:#5FB6E8 !important;}
body.is-lp-mock .mock-embed .lpr-sec--dark .tso-steps-sub{
  color:#fff !important;border-left-color:#5FB6E8;
}
body.is-lp-mock .mock-embed .lpr-sec--dark .tso-steps-note{color:#5C6B80 !important;}
body.is-lp-mock .mock-embed .lpr-sec--dark .tso-steps-note > b{color:#1B224C !important;}
body.is-lp-mock .mock-embed .lpr-sec--dark .tso-cols-i > b{color:#1B224C !important;}
body.is-lp-mock .mock-embed .lpr-sec--dark .tso-cols-i > span:not(.tso-cols-tag){color:#5C6B80 !important;}
body.is-lp-mock .mock-embed .lpr-sec--dark .tso-cols-i > em{color:#5C6B80 !important;}
body.is-lp-mock .mock-embed .lpr-sec--dark .tso-cols-i.is-ours > em{color:#1C93D2 !important;}
body.is-lp-mock .mock-embed .lpr-sec--dark .tso-cols-i.is-ng > em{color:#C0563A !important;}

/* ---- 17. 関連する取り組み（.tso-more）— 共通セクションの要約＋リンク ---- */
body.is-lp-mock .mock-embed .tso-more{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;
  margin:24px 0 0;
}
body.is-lp-mock .mock-embed .tso-more-i{
  display:flex;flex-direction:column;gap:7px;
  padding:22px 22px 24px;background:#fff;
  border:1px solid var(--line,#E2E8F1);border-top:3px solid var(--sky,#1C93D2);
}
body.is-lp-mock .mock-embed .tso-more-tag{
  font-family:'Poppins',sans-serif;font-size:11.5px;font-weight:700;letter-spacing:.13em;
  line-height:1.5;color:var(--sky,#1C93D2) !important;
}
body.is-lp-mock .mock-embed .tso-more-i > h3{
  margin:0 !important;padding:0 !important;border:0 !important;
  font-size:16px !important;font-weight:900 !important;line-height:1.6 !important;
  color:var(--navy,#1B224C) !important;
}
body.is-lp-mock .mock-embed .tso-more-i > h3::before,
body.is-lp-mock .mock-embed .tso-more-i > h3::after{content:none !important;}
body.is-lp-mock .mock-embed .tso-more-i > .lead-answer{
  margin:0 !important;padding:0 !important;background:none !important;border:0 !important;
  font-size:13.5px !important;line-height:1.85 !important;color:var(--sub,#5C6B80) !important;
}
body.is-lp-mock .mock-embed .tso-more-i > .lead-answer b{color:var(--navy,#1B224C) !important;font-weight:700;}
body.is-lp-mock .mock-embed .tso-more-link{
  margin-top:auto;padding-top:12px;
  font-size:13.5px;font-weight:700;line-height:1.7;
  color:var(--sky,#1C93D2) !important;text-decoration:none;
}
body.is-lp-mock .mock-embed .tso-more-link:hover{text-decoration:underline;}
/* 暗い面のセクションに置かれた場合もカードは明るい面のまま */
body.is-lp-mock .mock-embed .lpr-sec--dark .tso-more-i > h3{color:#1B224C !important;}
body.is-lp-mock .mock-embed .lpr-sec--dark .tso-more-i > .lead-answer{color:#5C6B80 !important;}
body.is-lp-mock .mock-embed .lpr-sec--dark .tso-more-tag,
body.is-lp-mock .mock-embed .lpr-sec--dark .tso-more-link{color:#1C93D2 !important;}
@media (max-width:860px){
  body.is-lp-mock .mock-embed .tso-more{grid-template-columns:1fr;gap:12px;}
  body.is-lp-mock .mock-embed .tso-more-i{padding:18px 20px 20px;}
}

/* ---- 18. 統合したセクションの小見出し（.tso-sub） ---- */
body.is-lp-mock .mock-embed h3.tso-sub{
  margin:44px 0 14px !important;padding:0 0 10px !important;
  border:0 !important;border-bottom:1px solid var(--line,#E2E8F1) !important;
  font-size:21px !important;font-weight:900 !important;line-height:1.55 !important;
  letter-spacing:.01em;color:var(--navy,#1B224C) !important;
}
body.is-lp-mock .mock-embed h3.tso-sub::before,
body.is-lp-mock .mock-embed h3.tso-sub::after{content:none !important;}
body.is-lp-mock .mock-embed .lpr-sec--dark h3.tso-sub{
  color:#fff !important;border-bottom-color:rgba(255,255,255,.22) !important;
}
@media (max-width:760px){
  body.is-lp-mock .mock-embed h3.tso-sub{margin-top:34px !important;font-size:19px !important;}
}

/* ---- 19. スマホでのセクション余白を、テーマ本来の値に揃える ---- */
/* モック側の section{padding:76px 0} が勝ってしまい、狭い画面で余白が過大になるため上書き */
@media (max-width:1024px){
  body.is-lp-mock .mock-embed .lpr-sec{padding-top:48px !important;padding-bottom:40px !important;}
}
@media (max-width:640px){
  body.is-lp-mock .mock-embed .lpr-sec{padding-top:38px !important;padding-bottom:32px !important;}
  body.is-lp-mock .mock-embed .lpr-sec .tso-sechead{margin-bottom:14px !important;}
}

/* ---- 20. セクション導入文の横に置くイラスト（.pm-illust-row） ---- */
body.is-lp-mock .mock-embed .pm-illust-row{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,290px);
  gap:30px;align-items:center;margin:0 0 24px;
}
body.is-lp-mock .mock-embed .pm-illust-row--solo{
  grid-template-columns:1fr;justify-items:center;margin:-4px 0 22px;
}
body.is-lp-mock .mock-embed .pm-illust-row--solo .pm-illust-fig{max-width:230px;}
body.is-lp-mock .mock-embed .pm-illust-txt > .lead-answer{margin:0 !important;}
body.is-lp-mock .mock-embed .pm-illust-fig{width:100%;}
body.is-lp-mock .mock-embed .pm-illust-fig img{
  display:block;width:100%;height:auto;
}
/* 暗い面では白すぎて浮くので、わずかに落ち着かせる */
body.is-lp-mock .mock-embed .lpr-sec--dark .pm-illust-fig img{opacity:.94;}
@media (max-width:900px){
  body.is-lp-mock .mock-embed .pm-illust-row,
  body.is-lp-mock .mock-embed .pm-illust-row--solo{
    grid-template-columns:1fr;gap:16px;justify-items:center;margin-bottom:20px;
  }
  body.is-lp-mock .mock-embed .pm-illust-row .pm-illust-fig,
  body.is-lp-mock .mock-embed .pm-illust-row--solo .pm-illust-fig{
    max-width:190px;order:-1;
  }
  body.is-lp-mock .mock-embed .pm-illust-txt{width:100%;}
}

/* ==================================================================
 * 31. 濃色の面に乗る <b> のマーカー装飾を落とす（v1.13.1）
 *   モック側のCSSが `p>b` / `.lead-answer b` に淡いブルーの下地
 *   （linear-gradient(transparent 62%, #CFE4F7 62%)）を敷いている。
 *   濃紺の面ではこの下地と navy の文字色が重なって文字が潰れるため、
 *   地を落として白の太字に倒す。
 *   `.lpr-sec--dark` は 371 行の既存ルールで対応済み。ここで拾うのは
 *   「明るいセクションの中に置かれた濃色のカード・帯」と「濃紺HERO」。
 * ================================================================== */
body.is-lp-mock .mock-embed :is(
  .lps-pipe-cell, .lps-hub-core, .lps-hub-head, .lps-hub-dot,
  .lps-case-main, .lps-tile--lead, .lps-poster-lead, .lps-chev,
  .lps-tabbox-tab, .lps-g2-bar, .lps-numring-bar,
  .lps-ladder-no, .lps-capsule-no, .lps-zigstep-no,
  .tso-chip--solid, .tso-phase-n, .tso-scope-tag,
  .tso-form-row--yes .tso-form-r,
  section.tso-cta-band, details.rep-sample--fold > summary
) :is(b, strong),
body.is-lp-mock .mock-embed .lps-stair:last-child :is(b, strong),
body.is-lp-mock .mock-embed :is(table.price, .lpr-cmp, .lpr-q-table, .cmp, .q-table) thead th :is(b, strong){
  color:#fff !important;
  background:none !important;
  background-image:none !important;
}
.pm-mock.lp-rich :is(
  .lpr-feat-main, .lpr-why5-main, .lpr-total, .lpr-teaser, .lpr-cta,
  .lpr-neutral, .lpr-ba--after, .lpr-sec.final,
  .lpr-sec .teaser, .lpr-sec .neutral, .lpr-sec .ba-box.a, .lpr-sec .tl-total
) :is(b, strong){
  color:#fff !important;
  background:none !important;
  background-image:none !important;
}
/* 濃紺HERO（body.is-hero-dark）。lpr-lead b は navy 指定なので必ず倒す */
body.is-hero-dark .pm-mock .lpr-hero :is(b, strong),
body.is-hero-dark .pm-mock .page-hero--top :is(b, strong),
body.is-hero-dark .mock-embed .lpr-hero :is(b, strong){
  color:#fff !important;
  background:none !important;
  background-image:none !important;
}

/* ---- 31-2. 濃紺セクションの料金表（table.price）------------------------
 *   1540 行の「濃紺面では地を落とす」ルールで tbody th の淡色地が消え、
 *   navy 指定の文字がそのまま濃紺の上に乗って読めなくなっていた。
 *   透過の白地に置き換え、文字も白へ倒す。 */
body.is-lp-mock .mock-embed .lpr-sec--dark table.price tbody th{
  background:rgba(255,255,255,.10) !important;
  color:#fff !important;
  border-left-color:var(--teal,#1C93D2) !important;
}
body.is-lp-mock .mock-embed .lpr-sec--dark table.price tbody td{
  color:rgba(255,255,255,.84) !important;
}
body.is-lp-mock .mock-embed .lpr-sec--dark table.price tbody tr:nth-child(even){
  background:rgba(255,255,255,.04) !important;
}

/* ---- 31-3. 濃色の地に乗る「番号・小ラベル」の透過を戻す ----------------
 *   白を半透明にしていたため、青地（#1C93D2 系）の上でコントラスト比が
 *   3.0 を下回り、小さい文字が沈んでいた。不透明の白に戻す。 */
body.is-lp-mock .mock-embed .lps-tabbox-no,
body.is-lp-mock .mock-embed .lps-zigstep-no,
body.is-lp-mock .mock-embed .lps-chev-no,
body.is-lp-mock .mock-embed .lps-hub-dot i,
body.is-lp-mock .mock-embed .lps-pipe-tag,
body.is-lp-mock .mock-embed .lps-pipe-cell p,
body.is-lp-mock .mock-embed .lps-chev-body p,
body.is-lp-mock .mock-embed .lps-hub-head,
body.is-lp-mock .mock-embed .tso-flow-i.is-own .tso-flow-w{
  color:#fff !important;
}
/*   濃紺セクション内では 926 行の一括白化（.84）が上書きしてしまうため、
 *   青地のチップ・セルだけ不透明の白に戻す。 */
body.is-lp-mock .mock-embed .lpr-sec--dark :is(
  .lps-tabbox-no, .lps-zigstep-no, .lps-chev-no, .lps-pipe-tag, .lps-hub-dot i,
  .lps-pipe-cell p, .lps-chev-body p, .lps-hub-head span, .lps-hub-head,
  .tso-flow-i.is-own .tso-flow-w
){
  color:#fff !important;
}

/* ==================================================================
 * 32. 小さいラベル類の底上げ（v1.14.0）
 *   本文が19〜20pxで組まれているのに対し、タグ・番号・注記が
 *   10〜14px に留まっていて、ページ全体が細かく見えていた。
 *   本文との落差が大きいものを 1.5〜2px ずつ引き上げる。
 * ================================================================== */
/* 目次 */
body.is-lp-mock .mock-embed :is(.lps-toc-no,.lps-toc-en,.lps-toc-count){font-size:16.5px !important;}
/* 関連リンク（共通セクションの要約＋リンク） */
body.is-lp-mock .mock-embed .tso-more-tag{font-size:13px !important;}
body.is-lp-mock .mock-embed .tso-more-link{font-size:16px !important;}
body.is-lp-mock .mock-embed .tso-more-i .lead-answer{font-size:16.5px !important;line-height:1.85 !important;}
/* 各レイアウトのタグ・英字ラベル */
body.is-lp-mock .mock-embed :is(
  .lps-tl-tag,.lps-pipe-tag,.lpr-numrow-tag,.lps-hub-core-en,.lpr-zig-no-tag,
  .lps-ladder-tag,.tso-figure-note,.lps-onum-tag,.cadence
){font-size:15.5px !important;}
body.is-lp-mock .mock-embed :is(.lps-iconrow-tag,.named .nc .tag,.samples .photo-slot){font-size:14px !important;}
body.is-lp-mock .mock-embed :is(.tso-cols-tag,.tso-steps-lbl,.tso-cols-lbl){font-size:13.5px !important;}
body.is-lp-mock .mock-embed :is(.procflow .n,.procflow .phase,.intent-flow .intent,.dist-box .dist-tag){font-size:13px !important;}
body.is-lp-mock .mock-embed :is(.faqlog__cat,.faqlog .meta,.rep-sample__b .meta){font-size:12px !important;}
/* 注記・強調の小文字 */
body.is-lp-mock .mock-embed :is(.tso-cols-i em,.tso-steps-i em,.lps-case-badge em){font-size:14.5px !important;}
body.is-lp-mock .mock-embed .tso-steps-i > span{font-size:15px !important;}
/* HERO の図版注記は .mock-embed の外側にあるので別途指定する */
body.is-lp-mock .lpr-hero .tso-figure-note{font-size:15.5px !important;}
/* モック側で 10px のまま残っていたタグ */
body.is-lp-mock .mock-embed :is(.ng-tag,.faqlog__cat){font-size:12px !important;}

/* ==================================================================
 * HERO の見出しを2段に分ける（v1.18.7）
 * ------------------------------------------------------------------
 * H1 は全ページ「サービス名 ─ キャッチコピー」の2部構成だが、
 * 1つの文として折り返していたため、括弧の途中や「─」の直後で
 * 改行が入っていた（1920px 実測で 1行7.8文字・5行）。
 * pm_lp_h1_split() が
 *     .lpr-h1-name  … サービス名（小さく）
 *     .lpr-h1-catch … キャッチ（大きく）
 * に分けて出力するので、キャッチだけを見出しサイズで見せる。
 *
 * 版面幅（--lp-colw：1400px）は変えない。
 * HERO だけ全幅にすると、下のセクションと左端が 260px ずれるため。
 * 代わりに左のテキストカラムを広げて 1行あたりの文字数を稼ぐ。
 * ================================================================== */
body.is-lp-mock .pm-mock.lp-rich .lpr-hero:not(.lpr-hero--page) h1.lpr-h1{
  font-size:clamp(40px,3.2vw,58px) !important;
  line-height:1.34 !important;
  margin:0 0 22px !important;
}
body.is-lp-mock .pm-mock.lp-rich h1.lpr-h1 span.lpr-h1-name{
  display:block;
  font-size:22px !important; font-weight:700 !important;
  color:var(--sub,#5C6B80); letter-spacing:.02em; line-height:1.5;
  margin:0 0 8px;
}
body.is-lp-mock .pm-mock.lp-rich h1.lpr-h1 span.lpr-h1-catch{
  display:block;
  font-size:inherit !important; font-weight:900 !important;
  /* 語の途中ではなく文節で折り返す（対応ブラウザのみ。非対応は従来どおり） */
  word-break:auto-phrase;
  text-wrap:balance;
}
/* 左のテキストカラムを広げる（右の数値ブロックは元々ここまで幅を必要としない） */
body.is-lp-mock .lpr-hero-inner{grid-template-columns:1.6fr 1fr !important;}
/* 数値を持たないページ（右カラムが空）は、見出しに全幅を使わせる */
body.is-lp-mock .lpr-hero-inner:not(:has(.tso-figure)){grid-template-columns:minmax(0,1fr) !important;}
/* リード文と、右の数値の「主要ツ／ール」のような途中改行も直す */
body.is-lp-mock .lpr-hero .lpr-lead,
body.is-lp-mock .lpr-hero .tso-figure-num,
body.is-lp-mock .lpr-hero .tso-figure-cap{
  word-break:auto-phrase; overflow-wrap:normal;
}

@media (max-width:1100px){
  body.is-lp-mock .lpr-hero-inner{grid-template-columns:minmax(0,1fr) !important;}
  body.is-lp-mock .pm-mock.lp-rich h1.lpr-h1 span.lpr-h1-name{font-size:19px !important;}
}
@media (max-width:640px){
  body.is-lp-mock .pm-mock.lp-rich .lpr-hero:not(.lpr-hero--page) h1.lpr-h1{font-size:32px !important;}
  body.is-lp-mock .pm-mock.lp-rich h1.lpr-h1 span.lpr-h1-name{font-size:15px !important;margin-bottom:6px;}
}

/* ==================================================================
 * ICONROW：アイコンと番号を1つの箱にまとめる（v1.18.8）
 * ------------------------------------------------------------------
 * これまでは「アイコンの箱」「番号の淡い帯（132px固定）」「本文」の
 * 3列だった。番号の帯が中身に対して広すぎ、独立した空箱に見えていた。
 * アイコンと番号を同じマスに重ねて、1つの箱の中に収める。
 * ================================================================== */
body.is-lp-mock .mock-embed .lps-iconrow-item{
  grid-template-columns:76px minmax(0,1fr) !important;
  gap:0 26px !important;
  align-items:center !important;
}
body.is-lp-mock .mock-embed .lps-iconrow-ic{
  grid-column:1 !important; grid-row:1 !important;
  width:76px !important; height:auto !important; min-height:76px !important;
  flex-direction:column !important; justify-content:center !important;
  gap:2px !important;
  padding:12px 6px 22px !important;   /* 下に番号のぶんの余白 */
  box-sizing:border-box;
}
body.is-lp-mock .mock-embed .lps-iconrow-tag{
  grid-column:1 !important; grid-row:1 !important;
  align-self:end !important; justify-self:center !important;
  max-width:76px !important;
  margin:0 0 8px !important; padding:0 !important;
  background:transparent !important;
  color:var(--teal,#1C93D2) !important;
  font-size:12px !important; letter-spacing:.1em !important; line-height:1.3 !important;
  text-align:center !important; white-space:nowrap;
  overflow:hidden; text-overflow:ellipsis;
}
body.is-lp-mock .mock-embed .lps-iconrow-body{grid-column:2 !important;grid-row:1 !important;}
/* アイコンがなく番号だけの場合は、箱の中央に数字だけを置く */
body.is-lp-mock .mock-embed .lps-iconrow-ic:has(.lps-iconrow-no){padding-bottom:12px !important;}
body.is-lp-mock .mock-embed .lps-iconrow-ic:has(.lps-iconrow-no) + .lps-iconrow-tag{display:none !important;}

@media (max-width:768px){
  body.is-lp-mock .mock-embed .lps-iconrow-item{grid-template-columns:60px minmax(0,1fr) !important;gap:0 16px !important;}
  body.is-lp-mock .mock-embed .lps-iconrow-ic{width:60px !important;min-height:60px !important;padding:9px 4px 18px !important;}
  body.is-lp-mock .mock-embed .lps-iconrow-tag{
    grid-column:1 !important; grid-row:1 !important; max-width:60px !important;
    margin-bottom:6px !important; font-size:11px !important;
  }
  body.is-lp-mock .mock-embed .lps-iconrow-body{grid-column:2 !important;grid-row:1 !important;}
}

/* =============================================================
 * v1.51.0  試算シミュレーターの出力を2つに
 * -------------------------------------------------------------
 * 「改善インパクト（万円）」に加えて「訪問アポイントの増加（件）」も
 * 出すため、出力を .lpm-sim-outs で包んで縦に2段重ねる。
 * 左の枠線は外側のまとまりに移し、2段目は上に区切り線を引く。
 * ============================================================= */
body.is-lp-mock .lpm-sim-outs{
  display:flex; flex-direction:column; gap:16px;
  border-left:1px solid var(--border,#E2E8F1); padding-left:32px;
}
body.is-lp-mock .lpm-sim-outs .lpm-sim-out{ border-left:0; padding-left:0; }
body.is-lp-mock .lpm-sim-outs .lpm-sim-out + .lpm-sim-out{
  border-top:1px solid var(--border,#E2E8F1); padding-top:16px;
}
/* 2段になるので、1つあたりの数字は少し抑える */
body.is-lp-mock .lpm-sim-outs .lpm-sim-out-n{ font-size:clamp(34px,2.6vw,42px); }
body.is-lp-mock .lpm-sim-outs .lpm-sim-out-l b{
  font-family:'Poppins',sans-serif; font-size:19px; color:var(--navy,#1B224C);
}
@media (max-width:960px){
  body.is-lp-mock .lpm-sim-outs{
    border-left:0; border-top:1px solid var(--border,#E2E8F1); padding:20px 0 0;
  }
}
@media (max-width:640px){
  body.is-lp-mock .lpm-sim-outs .lpm-sim-out-n{ font-size:30px; }
}

/* =============================================================
 * v1.88.0  文字サイズの統一（typography.css の8段階に寄せる）
 * -------------------------------------------------------------
 * 見出し 28 / 22・リード 21・本文 18・ボックス内 16・注記/タグ 14。
 * 0.5px 刻みと 14px 未満をなくすための上書き。自動で役割を判定して
 * 生成しているので、元の指定は書き換えていない。
 * 見た目がおかしい箇所は、このブロックの該当行を消せば元に戻る。
 * ヘッダー・ナビ・ボタン・数値の強調・ヒーローは対象外。
 * ============================================================= */

body.is-lp-mock .mock-embed .lpr-numrow-body h3{font-size:22px !important}
body.is-lp-mock .mock-embed .lpr-numrow-body p{font-size:18px !important}
body.is-lp-mock .mock-embed .lpr-zig-content h3{font-size:28px !important}
body.is-lp-mock .mock-embed .lpr-feat-main h3{font-size:28px !important}
body.is-lp-mock .mock-embed .lpr-feat-sub h4{font-size:22px !important}
body.is-lp-mock .mock-embed .lpr-feat-sub p{font-size:18px !important}
body.is-lp-mock .mock-embed .lpr-why5-main h3{font-size:28px !important}
body.is-lp-mock .mock-embed .lpr-why5-sub p{font-size:18px !important}
body.is-lp-mock .mock-embed .lps-pipe-cell h3{font-size:18px !important}
body.is-lp-mock .mock-embed .lps-pipe-cell p{font-size:16px !important}
body.is-lp-mock .mock-embed .lps-stair h3{font-size:22px !important}
body.is-lp-mock .mock-embed .lps-stair p{font-size:18px !important}
body.is-lp-mock .mock-embed .lps-tl-node h3{font-size:22px !important}
body.is-lp-mock .mock-embed .lps-tl-node p{font-size:16px !important}
body.is-lp-mock .mock-embed .lead-answer{font-size:21px !important}
body.is-lp-mock .mock-embed .lead{font-size:21px !important}
body.is-lp-mock .mock-embed .tso-pair-head h3{font-size:22px !important}
body.is-lp-mock .mock-embed .tso-pair-body p{font-size:16px !important}
body.is-lp-mock .mock-embed .tso-def-body h3{font-size:22px !important}
body.is-lp-mock .mock-embed .tso-def-body p{font-size:18px !important}
body.is-lp-mock .mock-embed .tso-check-body h3{font-size:22px !important}
body.is-lp-mock .mock-embed .tso-check-body p{font-size:18px !important}
body.is-lp-mock .mock-embed .tso-split-lead h3{font-size:28px !important}
body.is-lp-mock .mock-embed .tso-split-item h4{font-size:22px !important}
body.is-lp-mock .mock-embed .tso-split-item p{font-size:16px !important}
body.is-lp-mock .tso-cta-band p{font-size:18px}
body.is-lp-mock .mock-embed .tso-media-head h3{font-size:28px !important}
body.is-lp-mock .mock-embed .tso-trio-item h3{font-size:22px !important}
body.is-lp-mock .mock-embed .tso-trio-item p{font-size:16px !important}
body.is-lp-mock .lpr-endcta .lpr-endcta-lead{font-size:21px !important}
body.is-lp-mock .lpr-endcta .lpr-endcta-note{font-size:14px !important}
body.is-lp-mock .lpm-sim-val small{font-size:14px}
body.is-lp-mock .lpm-sim-out-l{font-size:16px}
body.is-lp-mock .lpm-sim-out-y{font-size:18px}
body.is-lp-mock .lpm-sim-note{font-size:14px}
body.is-lp-mock .mock-embed .lpr-strip .s{font-size:16px !important}
body.is-lp-mock .mock-embed .lpr-strip .gap{font-size:16px !important}
body.is-lp-mock .mock-embed .lpr-strip .s-note{font-size:14px !important}
body.is-lp-mock .mock-embed .fig figcaption{font-size:14px !important}
body.is-lp-mock .mock-embed .lps-hub-head{font-size:22px}
body.is-lp-mock .mock-embed .lps-hub-body p{font-size:18px}
body.is-lp-mock .mock-embed .lps-numring-body p{font-size:18px}
body.is-lp-mock .mock-embed .lps-case-badge em{font-size:14px}
body.is-lp-mock .mock-embed .lps-case-body p{font-size:18px}
body.is-lp-mock .mock-embed .lps-case-body .note{font-size:14px}
body.is-lp-mock .mock-embed .lps-tile h3{font-size:22px !important}
body.is-lp-mock .mock-embed .lps-tile p{font-size:16px}
body.is-lp-mock .mock-embed .lps-mx-key h3{font-size:22px !important}
body.is-lp-mock .mock-embed .lps-mx-val p{font-size:18px}
body.is-lp-mock .mock-embed .lps-ribbon h3{font-size:22px !important}
body.is-lp-mock .mock-embed .lps-ribbon p{font-size:18px}
body.is-lp-mock .mock-embed .lps-quote h3{font-size:22px !important}
body.is-lp-mock .mock-embed .lps-quote p{font-size:18px}
body.is-lp-mock .mock-embed .lps-ladder-card p{font-size:16px}
body.is-lp-mock .mock-embed .lps-stat-tag{font-size:14px}
body.is-lp-mock .mock-embed .lps-stat h3{font-size:22px !important}
body.is-lp-mock .mock-embed .lps-stat p{font-size:18px}
body.is-lp-mock .mock-embed .lps-banner-head h3{font-size:22px !important}
body.is-lp-mock .mock-embed .lps-banner-tag{font-size:14px}
body.is-lp-mock .mock-embed .lps-banner-body p{font-size:18px}
body.is-lp-mock .mock-embed .lps-poster-lead h3{font-size:28px !important}
body.is-lp-mock .mock-embed .lps-poster-cell h3{font-size:18px !important}
body.is-lp-mock .mock-embed .lps-poster-cell p{font-size:16px}
body.is-lp-mock .mock-embed .lps-g2-tag{font-size:14px}
body.is-lp-mock .mock-embed .lps-g2 h3{font-size:22px !important}
body.is-lp-mock .mock-embed .lps-g2 p{font-size:18px}
body.is-lp-mock .mock-embed .lps-chev h3{font-size:22px !important}
body.is-lp-mock .mock-embed .lps-chev p{font-size:18px}
body.is-lp-mock .mock-embed .lps-frame-key h3{font-size:22px !important}
body.is-lp-mock .mock-embed .lps-frame-cell p{font-size:16px}
body.is-lp-mock .mock-embed .lps-onum-tag{font-size:14px}
body.is-lp-mock .mock-embed .lps-onum-box h3{font-size:22px !important}
body.is-lp-mock .mock-embed .lps-onum-box p{font-size:16px}
body.is-lp-mock .mock-embed .lps-tabbox-tab h3{font-size:22px !important}
body.is-lp-mock .mock-embed .lps-tabbox-body p{font-size:16px}
body.is-lp-mock .mock-embed .lps-tabbox-body li{font-size:16px}
body.is-lp-mock .mock-embed .lps-zigstep h3{font-size:22px !important}
body.is-lp-mock .mock-embed .lps-capsule h3{font-size:22px !important}
body.is-lp-mock .mock-embed .lps-capsule-body p{font-size:18px}
body.is-lp-mock .lps-toc-t{font-size:18px}
body.is-lp-mock .mock-embed h3{font-size:22px !important}
body.is-lp-mock .mock-embed h4{font-size:22px !important}
body.is-lp-mock .mock-embed :is(.lead-answer,.lead){font-size:21px !important}
body.is-lp-mock .mock-embed table.price thead th{font-size:18px !important}
body.is-lp-mock .mock-embed :is(.card h3,.reason h3,.cause-card h4,.wcard h3){font-size:22px !important}
body.is-lp-mock .mock-embed .cards .card .n{font-size:16px !important}
body.is-lp-mock .mock-embed .hmetric .l{font-size:16px !important}
body.is-lp-mock .mock-embed :is(.faq__q,.faq-item h4){font-size:22px !important}
body.is-lp-mock .mock-embed .finalcta p{font-size:18px !important}
body.is-lp-mock .pm-mock.lp-rich .lpr-lead{font-size:21px !important}
body.is-lp-mock .mock-embed .cards > .card h3{font-size:22px !important}
body.is-lp-mock .mock-embed .reasons > .reason h3{font-size:22px !important}
body.is-lp-mock .mock-embed .cards > .card p{font-size:16px !important}
body.is-lp-mock .mock-embed .reasons > .reason p{font-size:18px !important}
body.is-lp-mock .mock-embed .lpl-tag{font-size:14px}
body.is-lp-mock .mock-embed .named > .nc > .tag{font-size:14px}
body.is-lp-mock .mock-embed .named > .nc h3{font-size:22px !important}
body.is-lp-mock .mock-embed .tso-scope-tag{font-size:14px}
body.is-lp-mock .mock-embed .tso-scope-head h3{font-size:22px !important}
body.is-lp-mock .mock-embed .tso-scope > p{font-size:18px !important}
body.is-lp-mock .mock-embed .tso-flow-t{font-size:18px}
body.is-lp-mock .mock-embed .tso-flow-w{font-size:14px}
body.is-lp-mock .mock-embed .tso-scope-note{font-size:14px !important}
body.is-lp-mock .mock-embed .cards.tso-grid7 > .card .n{font-size:18px !important}
body.is-lp-mock .mock-embed .cards.tso-grid7 > .card p{font-size:16px !important}
body.is-lp-mock .mock-embed .tso-venn-no{font-size:14px}
body.is-lp-mock .mock-embed .tso-venn-d{font-size:18px}
body.is-lp-mock .mock-embed .tso-venn-ng{font-size:14px}
body.is-lp-mock .mock-embed .tso-venn-note > b{font-size:18px}
body.is-lp-mock .mock-embed .tso-venn-note > p{font-size:18px !important}
body.is-lp-mock .mock-embed .tso-form-t{font-size:22px}
body.is-lp-mock .mock-embed .tso-form-s{font-size:18px}
body.is-lp-mock .mock-embed .tso-form-l li{font-size:18px}
body.is-lp-mock .mock-embed .tso-form-rt{font-size:16px}
body.is-lp-mock .mock-embed .tso-form-foot > b{font-size:18px}
body.is-lp-mock .mock-embed .tso-form-foot > span{font-size:16px}
body.is-lp-mock .mock-embed .tso-steps-no{font-size:14px}
body.is-lp-mock .mock-embed .tso-steps-i > b{font-size:18px}
body.is-lp-mock .mock-embed .tso-steps-i > span:not(.tso-steps-no){font-size:14px}
body.is-lp-mock .mock-embed .tso-steps-i > em{font-size:14px}
body.is-lp-mock .mock-embed .tso-steps-note{font-size:14px !important}
body.is-lp-mock .mock-embed .tso-steps-note > b{font-size:18px}
body.is-lp-mock .mock-embed .tso-cols-tag{font-size:14px}
body.is-lp-mock .mock-embed .tso-cols-i > b{font-size:18px}
body.is-lp-mock .mock-embed .tso-cols-i > em{font-size:14px}
body.is-lp-mock .mock-embed .tso-steps-lbl{font-size:14px !important}
body.is-lp-mock .mock-embed .tso-cols-lbl{font-size:14px !important}
body.is-lp-mock .mock-embed .tso-steps-sub{font-size:16px !important}
body.is-lp-mock .mock-embed .tso-steps-l.is-6 .tso-steps-i > b{font-size:16px}
body.is-lp-mock .mock-embed .tso-steps-l.is-6 .tso-steps-i > span:not(.tso-steps-no){font-size:14px}
body.is-lp-mock .mock-embed .tso-more-tag{font-size:14px}
body.is-lp-mock .mock-embed .tso-more-i > h3{font-size:18px !important}
body.is-lp-mock .mock-embed .tso-more-i > .lead-answer{font-size:18px !important}
body.is-lp-mock .mock-embed .tso-more-link{font-size:14px}
body.is-lp-mock .mock-embed h3.tso-sub{font-size:22px !important}
body.is-lp-mock .mock-embed .tso-more-i .lead-answer{font-size:21px !important}
body.is-lp-mock .mock-embed :is( .lps-tl-tag,.lps-pipe-tag,.lpr-numrow-tag,.lps-hub-core-en,.lpr-zig-no-tag, .lps-ladder-tag,.tso-figure-note,.lps-onum-tag,.cadence ){font-size:16px !important}
body.is-lp-mock .mock-embed :is(.tso-cols-tag,.tso-steps-lbl,.tso-cols-lbl){font-size:14px !important}
body.is-lp-mock .mock-embed :is(.procflow .n,.procflow .phase,.intent-flow .intent,.dist-box .dist-tag){font-size:14px !important}
body.is-lp-mock .mock-embed :is(.faqlog__cat,.faqlog .meta,.rep-sample__b .meta){font-size:14px !important}
body.is-lp-mock .mock-embed :is(.tso-cols-i em,.tso-steps-i em,.lps-case-badge em){font-size:16px !important}
body.is-lp-mock .mock-embed .tso-steps-i > span{font-size:16px !important}
body.is-lp-mock .mock-embed :is(.ng-tag,.faqlog__cat){font-size:14px !important}

@media (max-width:900px){
  body.is-lp-mock .mock-embed .lpr-numrow-body h3{font-size:19px !important}
  body.is-lp-mock .mock-embed .lpr-numrow-body p{font-size:16px !important}
  body.is-lp-mock .mock-embed .lpr-zig-content h3{font-size:22px !important}
  body.is-lp-mock .mock-embed .lpr-feat-main h3{font-size:22px !important}
  body.is-lp-mock .mock-embed .lpr-feat-sub h4{font-size:19px !important}
  body.is-lp-mock .mock-embed .lpr-feat-sub p{font-size:16px !important}
  body.is-lp-mock .mock-embed .lpr-why5-main h3{font-size:22px !important}
  body.is-lp-mock .mock-embed .lpr-why5-sub p{font-size:16px !important}
  body.is-lp-mock .mock-embed .lps-pipe-cell h3{font-size:16px !important}
  body.is-lp-mock .mock-embed .lps-pipe-cell p{font-size:14.5px !important}
  body.is-lp-mock .mock-embed .lps-stair h3{font-size:19px !important}
  body.is-lp-mock .mock-embed .lps-stair p{font-size:16px !important}
  body.is-lp-mock .mock-embed .lps-tl-node h3{font-size:19px !important}
  body.is-lp-mock .mock-embed .lps-tl-node p{font-size:14.5px !important}
  body.is-lp-mock .mock-embed .lead-answer{font-size:17px !important}
  body.is-lp-mock .mock-embed .lead{font-size:17px !important}
  body.is-lp-mock .mock-embed .tso-pair-head h3{font-size:19px !important}
  body.is-lp-mock .mock-embed .tso-pair-body p{font-size:14.5px !important}
  body.is-lp-mock .mock-embed .tso-def-body h3{font-size:19px !important}
  body.is-lp-mock .mock-embed .tso-def-body p{font-size:16px !important}
  body.is-lp-mock .mock-embed .tso-check-body h3{font-size:19px !important}
  body.is-lp-mock .mock-embed .tso-check-body p{font-size:16px !important}
  body.is-lp-mock .mock-embed .tso-split-lead h3{font-size:22px !important}
  body.is-lp-mock .mock-embed .tso-split-item h4{font-size:19px !important}
  body.is-lp-mock .mock-embed .tso-split-item p{font-size:14.5px !important}
  body.is-lp-mock .tso-cta-band p{font-size:16px}
  body.is-lp-mock .mock-embed .tso-trio-item h3{font-size:19px !important}
  body.is-lp-mock .mock-embed .tso-trio-item p{font-size:14.5px !important}
  body.is-lp-mock .lpr-endcta .lpr-endcta-lead{font-size:17px !important}
  body.is-lp-mock .lpr-endcta .lpr-endcta-note{font-size:13px !important}
  body.is-lp-mock .lpm-sim-val small{font-size:13px}
  body.is-lp-mock .lpm-sim-out-l{font-size:14.5px}
  body.is-lp-mock .lpm-sim-out-y{font-size:16px}
  body.is-lp-mock .lpm-sim-note{font-size:13px}
  body.is-lp-mock .mock-embed .lpr-strip .s{font-size:14.5px !important}
  body.is-lp-mock .mock-embed .lpr-strip .gap{font-size:14.5px !important}
  body.is-lp-mock .mock-embed .lpr-strip .s-note{font-size:13px !important}
  body.is-lp-mock .mock-embed .fig figcaption{font-size:13px !important}
  body.is-lp-mock .mock-embed .lps-hub-head{font-size:19px}
  body.is-lp-mock .mock-embed .lps-hub-body p{font-size:16px}
  body.is-lp-mock .mock-embed .lps-numring-body p{font-size:16px}
  body.is-lp-mock .mock-embed .lps-case-badge em{font-size:13px}
  body.is-lp-mock .mock-embed .lps-case-body p{font-size:16px}
  body.is-lp-mock .mock-embed .lps-case-body .note{font-size:13px}
  body.is-lp-mock .mock-embed .lps-tile h3{font-size:19px !important}
  body.is-lp-mock .mock-embed .lps-tile p{font-size:14.5px}
  body.is-lp-mock .mock-embed .lps-mx-key h3{font-size:19px !important}
  body.is-lp-mock .mock-embed .lps-mx-val p{font-size:16px}
  body.is-lp-mock .mock-embed .lps-ribbon h3{font-size:19px !important}
  body.is-lp-mock .mock-embed .lps-ribbon p{font-size:16px}
  body.is-lp-mock .mock-embed .lps-quote h3{font-size:19px !important}
  body.is-lp-mock .mock-embed .lps-quote p{font-size:16px}
  body.is-lp-mock .mock-embed .lps-ladder-card p{font-size:14.5px}
  body.is-lp-mock .mock-embed .lps-stat-tag{font-size:13px}
  body.is-lp-mock .mock-embed .lps-stat h3{font-size:19px !important}
  body.is-lp-mock .mock-embed .lps-stat p{font-size:16px}
  body.is-lp-mock .mock-embed .lps-banner-head h3{font-size:19px !important}
  body.is-lp-mock .mock-embed .lps-banner-tag{font-size:13px}
  body.is-lp-mock .mock-embed .lps-banner-body p{font-size:16px}
  body.is-lp-mock .mock-embed .lps-poster-lead h3{font-size:22px !important}
  body.is-lp-mock .mock-embed .lps-poster-cell h3{font-size:16px !important}
  body.is-lp-mock .mock-embed .lps-poster-cell p{font-size:14.5px}
  body.is-lp-mock .mock-embed .lps-g2-tag{font-size:13px}
  body.is-lp-mock .mock-embed .lps-g2 h3{font-size:19px !important}
  body.is-lp-mock .mock-embed .lps-g2 p{font-size:16px}
  body.is-lp-mock .mock-embed .lps-chev h3{font-size:19px !important}
  body.is-lp-mock .mock-embed .lps-chev p{font-size:16px}
  body.is-lp-mock .mock-embed .lps-frame-key h3{font-size:19px !important}
  body.is-lp-mock .mock-embed .lps-frame-cell p{font-size:14.5px}
  body.is-lp-mock .mock-embed .lps-onum-tag{font-size:13px}
  body.is-lp-mock .mock-embed .lps-onum-box h3{font-size:19px !important}
  body.is-lp-mock .mock-embed .lps-onum-box p{font-size:14.5px}
  body.is-lp-mock .mock-embed .lps-tabbox-tab h3{font-size:19px !important}
  body.is-lp-mock .mock-embed .lps-tabbox-body p{font-size:14.5px}
  body.is-lp-mock .mock-embed .lps-tabbox-body li{font-size:14.5px}
  body.is-lp-mock .mock-embed .lps-zigstep h3{font-size:19px !important}
  body.is-lp-mock .mock-embed .lps-capsule h3{font-size:19px !important}
  body.is-lp-mock .mock-embed .lps-capsule-body p{font-size:16px}
  body.is-lp-mock .lps-toc-t{font-size:16px}
  body.is-lp-mock .mock-embed h3{font-size:19px !important}
  body.is-lp-mock .mock-embed h4{font-size:19px !important}
  body.is-lp-mock .mock-embed :is(.lead-answer,.lead){font-size:17px !important}
  body.is-lp-mock .mock-embed table.price thead th{font-size:16px !important}
  body.is-lp-mock .mock-embed :is(.card h3,.reason h3,.cause-card h4,.wcard h3){font-size:19px !important}
  body.is-lp-mock .mock-embed .cards .card .n{font-size:14.5px !important}
  body.is-lp-mock .mock-embed .hmetric .l{font-size:14.5px !important}
  body.is-lp-mock .mock-embed :is(.faq__q,.faq-item h4){font-size:19px !important}
  body.is-lp-mock .mock-embed .finalcta p{font-size:16px !important}
  body.is-lp-mock .pm-mock.lp-rich .lpr-lead{font-size:17px !important}
  body.is-lp-mock .mock-embed .cards > .card h3{font-size:19px !important}
  body.is-lp-mock .mock-embed .reasons > .reason h3{font-size:19px !important}
  body.is-lp-mock .mock-embed .cards > .card p{font-size:14.5px !important}
  body.is-lp-mock .mock-embed .reasons > .reason p{font-size:16px !important}
  body.is-lp-mock .mock-embed .lpl-tag{font-size:13px}
  body.is-lp-mock .mock-embed .named > .nc > .tag{font-size:13px}
  body.is-lp-mock .mock-embed .named > .nc h3{font-size:19px !important}
  body.is-lp-mock .mock-embed .tso-scope-tag{font-size:13px}
  body.is-lp-mock .mock-embed .tso-scope-head h3{font-size:19px !important}
  body.is-lp-mock .mock-embed .tso-scope > p{font-size:16px !important}
  body.is-lp-mock .mock-embed .tso-flow-t{font-size:16px}
  body.is-lp-mock .mock-embed .tso-flow-w{font-size:13px}
  body.is-lp-mock .mock-embed .tso-scope-note{font-size:13px !important}
  body.is-lp-mock .mock-embed .cards.tso-grid7 > .card .n{font-size:16px !important}
  body.is-lp-mock .mock-embed .cards.tso-grid7 > .card p{font-size:14.5px !important}
  body.is-lp-mock .mock-embed .tso-venn-no{font-size:13px}
  body.is-lp-mock .mock-embed .tso-venn-d{font-size:16px}
  body.is-lp-mock .mock-embed .tso-venn-ng{font-size:13px}
  body.is-lp-mock .mock-embed .tso-venn-note > b{font-size:16px}
  body.is-lp-mock .mock-embed .tso-venn-note > p{font-size:16px !important}
  body.is-lp-mock .mock-embed .tso-form-t{font-size:19px}
  body.is-lp-mock .mock-embed .tso-form-s{font-size:16px}
  body.is-lp-mock .mock-embed .tso-form-l li{font-size:16px}
  body.is-lp-mock .mock-embed .tso-form-rt{font-size:14.5px}
  body.is-lp-mock .mock-embed .tso-form-foot > b{font-size:16px}
  body.is-lp-mock .mock-embed .tso-form-foot > span{font-size:14.5px}
  body.is-lp-mock .mock-embed .tso-steps-no{font-size:13px}
  body.is-lp-mock .mock-embed .tso-steps-i > b{font-size:16px}
  body.is-lp-mock .mock-embed .tso-steps-i > span:not(.tso-steps-no){font-size:13px}
  body.is-lp-mock .mock-embed .tso-steps-i > em{font-size:13px}
  body.is-lp-mock .mock-embed .tso-steps-note{font-size:13px !important}
  body.is-lp-mock .mock-embed .tso-steps-note > b{font-size:16px}
  body.is-lp-mock .mock-embed .tso-cols-tag{font-size:13px}
  body.is-lp-mock .mock-embed .tso-cols-i > b{font-size:16px}
  body.is-lp-mock .mock-embed .tso-cols-i > em{font-size:13px}
  body.is-lp-mock .mock-embed .tso-steps-lbl{font-size:13px !important}
  body.is-lp-mock .mock-embed .tso-cols-lbl{font-size:13px !important}
  body.is-lp-mock .mock-embed .tso-steps-sub{font-size:14.5px !important}
  body.is-lp-mock .mock-embed .tso-steps-l.is-6 .tso-steps-i > b{font-size:14.5px}
  body.is-lp-mock .mock-embed .tso-steps-l.is-6 .tso-steps-i > span:not(.tso-steps-no){font-size:13px}
  body.is-lp-mock .mock-embed .tso-more-tag{font-size:13px}
  body.is-lp-mock .mock-embed .tso-more-i > h3{font-size:16px !important}
  body.is-lp-mock .mock-embed .tso-more-i > .lead-answer{font-size:16px !important}
  body.is-lp-mock .mock-embed .tso-more-link{font-size:13px}
  body.is-lp-mock .mock-embed h3.tso-sub{font-size:19px !important}
  body.is-lp-mock .mock-embed .tso-more-i .lead-answer{font-size:17px !important}
  body.is-lp-mock .mock-embed :is( .lps-tl-tag,.lps-pipe-tag,.lpr-numrow-tag,.lps-hub-core-en,.lpr-zig-no-tag, .lps-ladder-tag,.tso-figure-note,.lps-onum-tag,.cadence ){font-size:14.5px !important}
  body.is-lp-mock .mock-embed :is(.tso-cols-tag,.tso-steps-lbl,.tso-cols-lbl){font-size:13px !important}
  body.is-lp-mock .mock-embed :is(.procflow .n,.procflow .phase,.intent-flow .intent,.dist-box .dist-tag){font-size:13px !important}
  body.is-lp-mock .mock-embed :is(.faqlog__cat,.faqlog .meta,.rep-sample__b .meta){font-size:13px !important}
  body.is-lp-mock .mock-embed :is(.tso-cols-i em,.tso-steps-i em,.lps-case-badge em){font-size:14.5px !important}
  body.is-lp-mock .mock-embed .tso-steps-i > span{font-size:14.5px !important}
  body.is-lp-mock .mock-embed :is(.ng-tag,.faqlog__cat){font-size:13px !important}
  body.is-lp-mock .mock-embed .tso-media-head h3{font-size:19px !important}
}

@media (max-width:760px){
  body.is-lp-mock .mock-embed h3{font-size:19px !important}
  body.is-lp-mock .mock-embed h4{font-size:16px !important}
  body.is-lp-mock .mock-embed :is(table.price td,table.price th){font-size:16px !important}
  body.is-lp-mock .mock-embed .lpr-numrow-body h3{font-size:19px !important}
}
