/* ============================================================
 * lp-rich.css — リッチ LP テンプレート専用スタイル
 *   .pm-mock.lp-rich 配下で有効
 *   TOP デザインシステム（変数・sec-head 等）を継承
 * ============================================================ */

/* ---- HERO ---- */
.pm-mock.lp-rich .lpr-hero{
  position:relative;overflow:hidden;
  padding:56px 0 80px;
  background:linear-gradient(180deg, #F6FBFE 0%, #E5F3FB 100%);
}
.pm-mock.lp-rich .lpr-hero-bg{
  position:absolute;inset:0;z-index:0;
  background:
    radial-gradient(circle at 88% 24%, rgba(28,147,210,.22) 0%, transparent 45%),
    radial-gradient(circle at 8% 80%, rgba(28,147,210,.14) 0%, transparent 40%);
}
.pm-mock.lp-rich .lpr-hero-inner{
  position:relative;z-index:1;
  display:grid;grid-template-columns:1.15fr 1fr;gap:56px;align-items:center;
}
.pm-mock.lp-rich .lpr-hero .pm-crumb{
  font-family:'Poppins',sans-serif;font-size:15px;letter-spacing:.14em;color:var(--sub);
  margin-bottom:14px;
}
.pm-mock.lp-rich .lpr-hero .pm-crumb a{color:var(--sub);text-decoration:none;}
.pm-mock.lp-rich .lpr-hero .pm-crumb a:hover{color:var(--sky);}
.pm-mock.lp-rich .lpr-hero .pm-crumb .sep{margin:0 8px;color:var(--line);}
.pm-mock.lp-rich .lpr-eyebrow{
  display:inline-block;
  font-family:'Poppins',sans-serif;font-size:15px;font-weight:700;
  color:var(--sky);letter-spacing:.22em;
  padding:6px 12px;background:#fff;border:1px solid var(--sky);
  margin-bottom:20px;
}
.pm-mock.lp-rich .lpr-h1{
  font-family:'Noto Sans JP',sans-serif;
  font-weight:900;
  font-size:clamp(42.5px, 3.6vw, 68px);
  line-height:1.35;
  color:var(--navy);
  letter-spacing:-.005em;
  margin:0 0 24px;
}
.pm-mock.lp-rich .lpr-h1 .hl{color:var(--sky);position:relative;display:inline-block;}
.pm-mock.lp-rich .lpr-h1 .hl::after{
  content:"";position:absolute;left:0;right:0;bottom:-4px;height:4px;background:var(--sky);opacity:.3;
}
.pm-mock.lp-rich .lpr-lead{
  font-size:20px;line-height:1.85;color:var(--ink);
  margin:0 0 28px;
}
.pm-mock.lp-rich .lpr-lead b{color:var(--navy);font-weight:900;}
.pm-mock.lp-rich .lpr-badges{
  display:grid;grid-template-columns:repeat(3,1fr);gap:12px;
  margin:0 0 28px;
}
.pm-mock.lp-rich .lpr-badge{
  background:#fff;
  border:1px solid rgba(27,34,76,.10);
  border-top:3px solid var(--sky);
  padding:14px 12px 12px;text-align:center;
  box-shadow:0 6px 16px rgba(27,34,76,.06);
}
.pm-mock.lp-rich .lpr-badge .b-num{
  font-family:'Poppins',sans-serif;font-weight:700;font-size:40px;
  color:var(--navy);line-height:1;
}
.pm-mock.lp-rich .lpr-badge .b-unit{
  font-size:17.5px;color:var(--sky);margin-left:2px;font-weight:600;
}
.pm-mock.lp-rich .lpr-badge .b-cap{
  font-size:15px;color:var(--sub);margin-top:6px;letter-spacing:.03em;
}
.pm-mock.lp-rich .lpr-badge .b-note{
  display:block;font-size:12.5px;color:var(--sky);font-weight:700;margin-top:2px;
}
.pm-mock.lp-rich .lpr-cta-group{display:flex;gap:14px;flex-wrap:wrap;}
.pm-mock.lp-rich .lpr-btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:16px 30px;
  font-size:19px;font-weight:900;
  text-decoration:none;transition:.2s;
  border:2px solid transparent;
}
.pm-mock.lp-rich .lpr-btn em{font-style:normal;font-family:'Poppins',sans-serif;font-size:22.5px;}
.pm-mock.lp-rich .lpr-btn--primary{background:var(--sky);color:#fff;border-color:var(--sky);}
.pm-mock.lp-rich .lpr-btn--primary:hover{background:var(--navy);border-color:var(--navy);transform:translateY(-2px);box-shadow:0 12px 24px rgba(27,34,76,.20);}
.pm-mock.lp-rich .lpr-btn--ghost{background:#fff;color:var(--navy);border-color:var(--navy);}
.pm-mock.lp-rich .lpr-btn--ghost:hover{background:var(--navy);color:#fff;}
.pm-mock.lp-rich .lpr-btn--white{background:#fff;color:var(--navy);border-color:#fff;}
.pm-mock.lp-rich .lpr-btn--white:hover{background:var(--sky);color:#fff;border-color:var(--sky);}
.pm-mock.lp-rich .lpr-btn--ghost2{background:transparent;color:#fff;border-color:#fff;}
.pm-mock.lp-rich .lpr-btn--ghost2:hover{background:#fff;color:var(--navy);}
.pm-mock.lp-rich .lpr-hero-note{
  margin:16px 0 0;font-size:15.5px;color:var(--sub);
}
.pm-mock.lp-rich .lpr-hero-right{
  display:flex;align-items:center;justify-content:center;
}
.pm-mock.lp-rich .lpr-hero-svg{
  max-width:100%;height:auto;
  filter:drop-shadow(0 20px 40px rgba(27,34,76,.10));
}

/* ---- 共通セクション余白 ---- */
.pm-mock.lp-rich section{padding:80px 0;position:relative;}
.pm-mock.lp-rich section.lpr-hero{padding:56px 0 80px;}
.pm-mock.lp-rich section .sec-head{margin-bottom:36px;}

/* ---- 共通セクション見出し（h2, lead）---- */
.pm-mock.lp-rich .lpr-sec{position:relative;overflow:hidden;}
.pm-mock.lp-rich .lpr-sec > .container{position:relative;z-index:1;}
.pm-mock.lp-rich .lpr-sec--tint{background:var(--tint,#F1F6FA);}
.pm-mock.lp-rich .lpr-sec--white{background:#fff;}
/* page-lp-blocks: 上に 80px 空けて bg-word と h2 が重ならないように */
body.is-lp-blocks .pm-mock.lp-rich .lpr-sec--tint, body.is-lp-rich .pm-mock.lp-rich .lpr-sec--tint,
body.is-lp-blocks .pm-mock.lp-rich .lpr-sec--white, body.is-lp-rich .pm-mock.lp-rich .lpr-sec--white{padding:80px 0 40px !important;}
/* mock 側の inner section の余分な padding を消す（外側で padding するので）*/
body.is-lp-blocks .pm-mock.lp-rich .lpr-sec .mock-embed section, body.is-lp-rich .pm-mock.lp-rich .lpr-sec .mock-embed section{padding:0 !important;}
/* 背景大文字（LP：コンパクト＋見える色）*/
.pm-mock.lp-rich .lpr-sec{position:relative !important;overflow:hidden !important;}
.pm-mock.lp-rich .lpr-sec > .container{position:relative;z-index:1;background:transparent !important;}
.pm-mock.lp-rich .lpr-sec .lpr-free{position:relative;z-index:1;background:transparent !important;}
/* mock CSS が .mock-embed に白背景を付けているため透過に */
.pm-mock.lp-rich .lpr-sec .mock-embed{background:transparent !important;}
.pm-mock.lp-rich .lpr-sec .mock-embed section{
  background:transparent !important;
  border:0 !important;           /* mock の section 間の罫線を削除（分断感を消す） */
  padding:16px 0 32px !important;  /* 上余白を大幅圧縮、下は少し確保 */
}
/* mock の section 間の罫線も完全に消す */
.pm-mock.lp-rich .lpr-sec .mock-embed section + section,
.pm-mock.lp-rich .lpr-sec .mock-embed .sec-alt{border:0 !important;}

/* mock の小さい eyebrow（WHY SPECIALIZED 等）は非表示（背景大文字と重複するため）*/
.pm-mock.lp-rich .lpr-sec .mock-embed .sec-eyebrow,
.pm-mock.lp-rich .lpr-sec .mock-embed .eyebrow{display:none !important;}

/* ================================================================
 * page-lp-blocks で mock コンテンツを proapocall 風にリッチ化
 * body.is-lp-blocks 配下のみに限定（proapocall LP には影響させない）
 * ================================================================ */

/* h2：見出しを大きく／濃紺／余白 */
body.is-lp-blocks .mock-embed h2,
body.is-lp-rich .mock-embed h2{
  font-size:clamp(32.5px,2.6vw,44px) !important;
  font-weight:900 !important;
  color:var(--navy,#1B224C) !important;
  line-height:1.4 !important;
  margin:8px 0 20px !important;
  letter-spacing:-.01em !important;
}
body.is-lp-blocks .mock-embed h3, body.is-lp-rich .mock-embed h3{
  font-size:24px !important;font-weight:900 !important;color:var(--navy,#1B224C) !important;
}

/* リードアンサー（青系サマリ）：proapocall の lead-answer 風 */
body.is-lp-blocks .mock-embed .lead-answer, body.is-lp-rich .mock-embed .lead-answer,
body.is-lp-blocks .mock-embed .lead, body.is-lp-rich .mock-embed .lead{
  font-size:19px !important;line-height:1.9 !important;color:#22304A !important;
  background:#F2F7FC !important;border-left:4px solid var(--sky,#1C93D2) !important;
  padding:18px 24px !important;border-radius:0 !important;margin:0 0 24px !important;
}

/* Cards / Reasons：proapocall の NUMLIST 風（大ナンバー横並び 縦積み）*/
body.is-lp-blocks .mock-embed .cards, body.is-lp-rich .mock-embed .cards,
body.is-lp-blocks .mock-embed .cards.c3, body.is-lp-rich .mock-embed .cards.c3,
body.is-lp-blocks .mock-embed .reasons, body.is-lp-rich .mock-embed .reasons,
body.is-lp-blocks .mock-embed .pains, body.is-lp-rich .mock-embed .pains{
  display:flex !important;flex-direction:column !important;
  gap:0 !important;margin:24px 0 !important;
  border-top:1px solid var(--line,#E2E8F1) !important;
}
body.is-lp-blocks .mock-embed .card, body.is-lp-rich .mock-embed .card,
body.is-lp-blocks .mock-embed .reason, body.is-lp-rich .mock-embed .reason,
body.is-lp-blocks .mock-embed .pain, body.is-lp-rich .mock-embed .pain{
  display:grid !important;
  grid-template-columns:140px 1fr !important;
  gap:24px !important;align-items:center !important;
  background:transparent !important;border:0 !important;
  border-bottom:1px solid var(--line,#E2E8F1) !important;
  border-radius:0 !important;padding:26px 0 !important;
  transition:.2s !important;position:relative !important;
}
body.is-lp-blocks .mock-embed .card:hover, body.is-lp-rich .mock-embed .card:hover,
body.is-lp-blocks .mock-embed .reason:hover, body.is-lp-rich .mock-embed .reason:hover,
body.is-lp-blocks .mock-embed .pain:hover, body.is-lp-rich .mock-embed .pain:hover{
  background:rgba(28,147,210,.03) !important;padding-left:12px !important;
  box-shadow:none !important;transform:none !important;
}
/* 大ナンバー */
body.is-lp-blocks .mock-embed .card .n, body.is-lp-rich .mock-embed .card .n,
body.is-lp-blocks .mock-embed .reason .reason__no, body.is-lp-rich .mock-embed .reason .reason__no{
  font-family:'Poppins',sans-serif !important;font-weight:700 !important;
  font-size:clamp(61.5px,7vw,105.5px) !important;
  color:var(--sky,#1C93D2) !important;
  background:transparent !important;
  padding:0 !important;line-height:.9 !important;
  width:auto !important;height:auto !important;
  display:block !important;text-align:center !important;
  letter-spacing:-.03em !important;
  margin:0 !important;
}
/* pain の ① ② ③ を大きく（::first-letter で Unicode 番号を拡大）*/
body.is-lp-blocks .mock-embed .pain::first-letter, body.is-lp-rich .mock-embed .pain::first-letter{
  font-family:'Poppins',sans-serif !important;font-weight:700 !important;
  font-size:105.5px !important;color:var(--sky,#1C93D2) !important;
  float:left !important;line-height:.9 !important;margin-right:24px !important;
}
body.is-lp-blocks .mock-embed .pain::before, body.is-lp-rich .mock-embed .pain::before{display:none !important;}
body.is-lp-blocks .mock-embed .card::after, body.is-lp-rich .mock-embed .card::after{display:none !important;}
body.is-lp-blocks .mock-embed .reason::before, body.is-lp-rich .mock-embed .reason::before{display:none !important;}

/* 見出し・本文 */
body.is-lp-blocks .mock-embed .card h3, body.is-lp-rich .mock-embed .card h3,
body.is-lp-blocks .mock-embed .reason h3, body.is-lp-rich .mock-embed .reason h3{
  font-size:22.5px !important;font-weight:900 !important;
  color:var(--navy,#1B224C) !important;margin:0 0 8px !important;
}
body.is-lp-blocks .mock-embed .card p, body.is-lp-rich .mock-embed .card p,
body.is-lp-blocks .mock-embed .reason p, body.is-lp-rich .mock-embed .reason p{
  font-size:17.5px !important;color:var(--sub,#5C6B80) !important;
  line-height:1.85 !important;margin:0 !important;
}
body.is-lp-blocks .mock-embed .pain small, body.is-lp-rich .mock-embed .pain small{
  display:block !important;margin-top:6px !important;
  font-size:17.5px !important;color:var(--sub,#5C6B80) !important;
  font-weight:normal !important;line-height:1.85 !important;
}
body.is-lp-blocks .mock-embed .pain, body.is-lp-rich .mock-embed .pain{font-weight:900 !important;color:var(--navy,#1B224C) !important;font-size:22.5px !important;}

/* Flow ステップ：proapocall の flow-steps 風 */
body.is-lp-blocks .mock-embed .flow, body.is-lp-rich .mock-embed .flow{
  display:grid !important;gap:0 !important;
  border:1px solid var(--line,#E2E8F1) !important;background:#fff !important;
  margin-top:20px !important;
}
body.is-lp-blocks .mock-embed .flow.f3, body.is-lp-rich .mock-embed .flow.f3{grid-template-columns:repeat(3,1fr) !important;}
body.is-lp-blocks .mock-embed .flow.f4, body.is-lp-rich .mock-embed .flow.f4{grid-template-columns:repeat(4,1fr) !important;}
body.is-lp-blocks .mock-embed .flow.f5, body.is-lp-rich .mock-embed .flow.f5{grid-template-columns:repeat(5,1fr) !important;}
body.is-lp-blocks .mock-embed .flow__step, body.is-lp-rich .mock-embed .flow__step{
  background:transparent !important;border:0 !important;border-right:1px solid var(--line,#E2E8F1) !important;
  border-radius:0 !important;padding:20px 16px !important;
  position:relative !important;margin-right:0 !important;
}
body.is-lp-blocks .mock-embed .flow__step:last-child, body.is-lp-rich .mock-embed .flow__step:last-child{border-right:0 !important;}
body.is-lp-blocks .mock-embed .flow__step::after, body.is-lp-rich .mock-embed .flow__step::after{display:none !important;}
body.is-lp-blocks .mock-embed .flow__step .ph, body.is-lp-rich .mock-embed .flow__step .ph{
  display:inline-block !important;background:var(--sky,#1C93D2) !important;color:#fff !important;
  padding:3px 10px !important;font-size:14px !important;font-weight:700 !important;
  letter-spacing:.08em !important;margin-bottom:10px !important;
}

/* Pricing テーブル：ヘッダを navy に */
body.is-lp-blocks .mock-embed table.price thead th, body.is-lp-rich .mock-embed table.price thead th{
  background:var(--navy,#1B224C) !important;color:#fff !important;
  font-weight:700 !important;font-size:17px !important;
}
body.is-lp-blocks .mock-embed table.price tbody th, body.is-lp-rich .mock-embed table.price tbody th{
  background:#F5F8FB !important;color:var(--navy,#1B224C) !important;
  border-left:3px solid var(--sky,#1C93D2) !important;
}

/* FAQ：Q プレフィックスを大きく */
body.is-lp-blocks .mock-embed .faq__item, body.is-lp-rich .mock-embed .faq__item{
  background:#fff !important;border:1px solid var(--line,#E2E8F1) !important;
  border-radius:0 !important;margin-bottom:8px !important;
  transition:.2s !important;
}
body.is-lp-blocks .mock-embed .faq__item[open], body.is-lp-rich .mock-embed .faq__item[open]{
  border-color:var(--sky,#1C93D2) !important;
  box-shadow:0 6px 16px rgba(27,34,76,.06) !important;
}
body.is-lp-blocks .mock-embed .faq__q, body.is-lp-rich .mock-embed .faq__q{
  font-size:19px !important;font-weight:900 !important;color:var(--navy,#1B224C) !important;
  padding:16px 22px !important;
}
body.is-lp-blocks .mock-embed .faq__q::before, body.is-lp-rich .mock-embed .faq__q::before{
  background:var(--sky,#1C93D2) !important;border-radius:2px !important;
}
/* .faq の summary には、LP側の「素のQ」と、モック側の「角丸のQチップ」の
   2系統のルールが当たる。チップ側を正として、文字色とサイズを取り戻す。
   （これが無いと、スカイ地にスカイ文字で Q が消える）v2.5.0 */
body.is-lp-blocks .mock-embed .faq__q::before,
body.is-lp-rich .mock-embed .faq__q::before,
.pm-mock.lp-rich .lpr-sec .faq .faq__q::before{
  color:#fff !important;
  font-family:'Poppins',sans-serif !important;
  font-size:13px !important; font-weight:800 !important;
  line-height:1 !important;
  width:24px !important; height:24px !important;
  display:grid !important; place-items:center !important;
  margin-right:0 !important; flex-shrink:0 !important;
}

/* Final CTA：削除（下部で lpr-cta を出しているので mock 側は非表示）*/
body.is-lp-blocks .mock-embed .finalcta, body.is-lp-rich .mock-embed .finalcta{display:none !important;}

/* リンクカード：hover 強調 */
body.is-lp-blocks .mock-embed .linkcard, body.is-lp-rich .mock-embed .linkcard{
  background:#fff !important;border:1px solid var(--line,#E2E8F1) !important;
  border-left:3px solid var(--sky,#1C93D2) !important;border-radius:0 !important;
  transition:.2s !important;
}
body.is-lp-blocks .mock-embed .linkcard:hover, body.is-lp-rich .mock-embed .linkcard:hover{
  border-left-color:var(--navy,#1B224C) !important;
  box-shadow:0 10px 22px rgba(27,34,76,.08) !important;
  transform:translateY(-2px) !important;
}

/* ボタン群 */
body.is-lp-blocks .mock-embed .btn--primary, body.is-lp-rich .mock-embed .btn--primary{
  background:var(--sky,#1C93D2) !important;color:#fff !important;
  border:1px solid var(--sky,#1C93D2) !important;border-radius:0 !important;
}
body.is-lp-blocks .mock-embed .btn--primary:hover, body.is-lp-rich .mock-embed .btn--primary:hover{
  background:var(--navy,#1B224C) !important;border-color:var(--navy,#1B224C) !important;
}
body.is-lp-blocks .mock-embed .btn--ghost, body.is-lp-rich .mock-embed .btn--ghost{
  background:#fff !important;color:var(--navy,#1B224C) !important;
  border:1px solid var(--navy,#1B224C) !important;border-radius:0 !important;
}
.pm-mock.lp-rich .lpr-sec .sec-bg-word{
  font-size:clamp(61.5px,6.5vw,105.5px) !important;
  top:12px !important;
  z-index:0 !important;
  opacity:1 !important;
  max-width:calc(100vw + 60px);
}
/* 白背景 → 薄いブルー（薄すぎない） */
.pm-mock.lp-rich .lpr-sec--white .sec-bg-word{color:#E8F1F8 !important;}
/* 薄グレー背景 → 白 */
.pm-mock.lp-rich .lpr-sec--tint .sec-bg-word{color:#FFFFFF !important;}
/* 濃紺背景 → 薄い白 */
.pm-mock.lp-rich .lpr-sec--navy .sec-bg-word{color:rgba(255,255,255,.06) !important;}

@media (max-width:640px){
  .pm-mock.lp-rich .lpr-sec .sec-bg-word{font-size:clamp(45px,10vw,66px) !important;}
}

/* ---- セクション装飾写真（右端 or 左端に薄く配置）---- */
.pm-mock.lp-rich .lpr-sec-photo{
  position:absolute;
  top:60px;left:-60px;
  width:34vw;max-width:520px;height:70%;max-height:400px;
  background-size:cover;background-position:center;
  opacity:.16;
  z-index:0;
  border-radius:0 24px 24px 0;
  filter:saturate(.85);
  pointer-events:none;
}
.pm-mock.lp-rich .lpr-sec-photo--right{
  left:auto;right:-60px;
  border-radius:24px 0 0 24px;
}
@media (max-width:960px){.pm-mock.lp-rich .lpr-sec-photo{display:none;}}

/* ---- HERO 写真オーバーレイ ---- */
.pm-mock.lp-rich .lpr-hero-photo{
  position:absolute;inset:0;
  background-size:cover;background-position:center;
  opacity:.28;
  border-radius:12px;
  z-index:0;
}
.pm-mock.lp-rich .lpr-hero-right{position:relative;}
.pm-mock.lp-rich .lpr-hero-right .lpr-hero-svg{position:relative;z-index:1;}
/* メイン画像（hero.png 透過 or hero.svg / hero.jpg 共通）*/
.pm-mock.lp-rich .lpr-hero-img{
  display:block;width:100%;height:auto;
  max-width:640px;margin:0 auto;
  filter:drop-shadow(0 12px 28px rgba(27,34,76,.08));
  position:relative;z-index:2;
}

/* ===============================================================
 * リッチ HERO ステージ（背景ブロブ＋浮遊バッジ＋ドット装飾）
 * =============================================================== */
.pm-mock.lp-rich .lpr-hero-stage{
  position:relative;
  padding:30px 20px 20px;
}
/* 背景ブロブ */
.pm-mock.lp-rich .lpr-hero-blob{
  position:absolute;inset:0;
  width:100%;height:100%;
  z-index:0;
  animation:lpr-blob-spin 60s linear infinite;
}
@keyframes lpr-blob-spin{
  from{transform:rotate(0deg);}
  to{transform:rotate(360deg);}
}
/* 装飾ドット */
.pm-mock.lp-rich .lpr-hero-dot{
  position:absolute;border-radius:50%;
  z-index:1;pointer-events:none;
}
.pm-mock.lp-rich .lpr-hero-dot--1{width:14px;height:14px;background:var(--sky);top:16%;left:8%;opacity:.7;}
.pm-mock.lp-rich .lpr-hero-dot--2{width:8px;height:8px;background:var(--navy);top:28%;right:12%;opacity:.6;}
.pm-mock.lp-rich .lpr-hero-dot--3{width:20px;height:20px;border:3px solid var(--sky);top:72%;left:6%;opacity:.55;}
.pm-mock.lp-rich .lpr-hero-dot--4{width:12px;height:12px;background:var(--sky);border-radius:50%;top:82%;right:8%;opacity:.5;}

/* 浮遊バッジ（共通）*/
.pm-mock.lp-rich .lpr-hero-float{
  position:absolute;z-index:3;
  display:flex;align-items:center;gap:10px;
  background:#fff;
  padding:10px 14px;
  border-radius:14px;
  box-shadow:0 14px 30px rgba(27,34,76,.14);
  border:1px solid rgba(27,34,76,.06);
  animation:lpr-float 4.5s ease-in-out infinite;
}
@keyframes lpr-float{
  0%,100%{transform:translateY(0);}
  50%{transform:translateY(-6px);}
}
.pm-mock.lp-rich .lpr-hero-float--tl{top:6%;left:-2%;animation-delay:.2s;}
.pm-mock.lp-rich .lpr-hero-float--tr{top:2%;right:-4%;animation-delay:1.4s;}
.pm-mock.lp-rich .lpr-hero-float--br{bottom:8%;right:-3%;animation-delay:2.6s;}
.pm-mock.lp-rich .lpr-hero-float--bl{bottom:16%;left:-4%;animation-delay:.9s;}

.pm-mock.lp-rich .lpr-hero-float .hf-icon{
  width:36px;height:36px;flex:0 0 auto;
  background:var(--sky-pale,#e5f3fb);
  border-radius:10px;
  display:flex;align-items:center;justify-content:center;
}
.pm-mock.lp-rich .lpr-hero-float .hf-icon svg{width:20px;height:20px;}
.pm-mock.lp-rich .lpr-hero-float .hf-body{min-width:0;}
.pm-mock.lp-rich .lpr-hero-float .hf-label{
  font-size:12.5px;font-weight:700;color:var(--sub);letter-spacing:.1em;
  margin-bottom:2px;
}
.pm-mock.lp-rich .lpr-hero-float .hf-value{
  font-family:'Poppins',sans-serif;font-weight:700;
  font-size:27.5px;color:var(--navy);line-height:1;
}
.pm-mock.lp-rich .lpr-hero-float .hf-value span{
  font-family:'Noto Sans JP',sans-serif;
  font-size:14px;color:var(--sub);
  font-weight:700;margin-left:4px;
}
.pm-mock.lp-rich .lpr-hero-float .hf-value-sm{
  font-size:14px;color:var(--sub);line-height:1.5;font-weight:600;
}
.pm-mock.lp-rich .lpr-hero-float .hf-value-sm b{color:var(--sky);font-weight:900;}
.pm-mock.lp-rich .lpr-hero-float .hf-num{
  flex:0 0 auto;
  display:flex;align-items:baseline;
  padding:6px 12px;
  background:var(--sky);color:#fff;border-radius:10px;
}
.pm-mock.lp-rich .lpr-hero-float .hf-num--navy{background:var(--navy);}
.pm-mock.lp-rich .lpr-hero-float .hf-num .n{
  font-family:'Poppins',sans-serif;font-weight:700;
  font-size:30px;line-height:1;
}
.pm-mock.lp-rich .lpr-hero-float .hf-num .u{
  font-family:'Noto Sans JP',sans-serif;
  font-size:14px;font-weight:700;margin-left:2px;
}

/* SVG ゲージバッジ内の SVG サイズ */
.pm-mock.lp-rich .lpr-hero-float--tr > svg{flex:0 0 auto;}

@media (max-width:1100px){
  .pm-mock.lp-rich .lpr-hero-stage{padding:20px 10px 10px;}
  .pm-mock.lp-rich .lpr-hero-float--tl{left:2%;top:2%;}
  .pm-mock.lp-rich .lpr-hero-float--tr{right:2%;top:-2%;}
  .pm-mock.lp-rich .lpr-hero-float--br{right:2%;bottom:4%;}
  .pm-mock.lp-rich .lpr-hero-float--bl{left:2%;bottom:8%;}
}
@media (max-width:640px){
  .pm-mock.lp-rich .lpr-hero-float{padding:8px 10px;gap:6px;}
  .pm-mock.lp-rich .lpr-hero-float .hf-icon{width:28px;height:28px;}
  .pm-mock.lp-rich .lpr-hero-float .hf-value{font-size:20px;}
  .pm-mock.lp-rich .lpr-hero-float .hf-num .n{font-size:22.5px;}
  .pm-mock.lp-rich .lpr-hero-float .hf-value-sm{font-size:12.5px;}
  .pm-mock.lp-rich .lpr-hero-float--tr,
  .pm-mock.lp-rich .lpr-hero-float--tl{top:-2%;}
  .pm-mock.lp-rich .lpr-hero-dot{display:none;}
}

/* ---- HERO プレースホルダー ---- */
.pm-mock.lp-rich .lpr-hero-placeholder{
  width:100%;padding:20px;
}
.pm-mock.lp-rich .lpr-hero-placeholder svg{max-width:520px;margin:0 auto;display:block;}

/* ================================================================
 * mock 由来の汎用クラスにリッチスタイルを適用
 * （page-lp-rich.php で自動包み込み時に使う）
 * ================================================================ */
.pm-mock.lp-rich .lpr-sec .wrap{max-width:none;padding:0;}
.pm-mock.lp-rich .lpr-sec .pains{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:16px;margin:20px 0 24px;
}
.pm-mock.lp-rich .lpr-sec .pain{
  background:#fff;border:1px solid var(--line);
  padding:22px 22px 20px;
  font-size:17.5px;font-weight:900;color:var(--navy);
  line-height:1.5;
  position:relative;transition:.2s;
}
.pm-mock.lp-rich .lpr-sec .pain:hover{
  border-color:var(--sky);box-shadow:0 12px 26px rgba(27,34,76,.08);
  transform:translateY(-3px);
}
.pm-mock.lp-rich .lpr-sec .pain small{
  display:block;margin-top:8px;
  font-size:15.5px;font-weight:500;
  color:var(--sub);line-height:1.75;
}
.pm-mock.lp-rich .lpr-sec .pillars{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:18px;margin:20px 0 24px;
}
.pm-mock.lp-rich .lpr-sec .pillar{
  background:#fff;border:1px solid var(--line);
  padding:24px 24px 22px;
  position:relative;transition:.2s;
}
.pm-mock.lp-rich .lpr-sec--tint .pillar{background:#fff;}
.pm-mock.lp-rich .lpr-sec .pillar:hover{
  border-color:var(--sky);box-shadow:0 12px 26px rgba(27,34,76,.08);
}
.pm-mock.lp-rich .lpr-sec .p-no{
  display:inline-block;
  font-family:'Poppins',sans-serif;font-weight:700;
  font-size:30px;color:var(--sky);line-height:1;
  margin-bottom:10px;
}
.pm-mock.lp-rich .lpr-sec .pillar h3{
  font-size:20px;font-weight:900;color:var(--navy);
  line-height:1.5;margin:0 0 8px;
}
.pm-mock.lp-rich .lpr-sec .pillar p{
  font-size:17px;color:var(--sub);line-height:1.8;margin:0;
}
.pm-mock.lp-rich .lpr-sec .pillar p b{color:var(--navy);font-weight:900;}
.pm-mock.lp-rich .lpr-sec .callout{
  margin-top:24px;padding:22px 26px;
  background:#fff;border-left:4px solid var(--sky);
  font-size:18px;line-height:1.85;color:var(--navy);
}
.pm-mock.lp-rich .lpr-sec--tint .callout{background:#fff;}
.pm-mock.lp-rich .lpr-sec .callout b{font-weight:900;}
.pm-mock.lp-rich .lpr-sec .note{
  font-size:14.5px;color:var(--sub);line-height:1.7;margin-top:10px;
}

/* Timeline (追客タイムライン) */
.pm-mock.lp-rich .lpr-sec .tl{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:14px;
  /* 上下だけを指定する。ここで margin の一括指定を使うと、モック側の
     「max-width + margin:0 auto」の auto を打ち消して左寄せになってしまう
     （/proapocall/ で実際に中心がずれていた）。 */
  margin-top:20px;margin-bottom:20px;
}
.pm-mock.lp-rich .lpr-sec .tl-card{
  background:#fff;border:1px solid var(--line);
  border-top:3px solid var(--sky);
  padding:20px 20px 18px;
}
.pm-mock.lp-rich .lpr-sec .tl-card .tw{
  display:inline-block;
  font-family:'Poppins',sans-serif;font-size:14px;font-weight:700;
  color:var(--sky);letter-spacing:.15em;
  background:var(--sky-pale,#e5f3fb);padding:3px 10px;margin-bottom:10px;
}
.pm-mock.lp-rich .lpr-sec .tl-card h4{
  font-size:19px;font-weight:900;color:var(--navy);
  line-height:1.5;margin:0 0 8px;
}
.pm-mock.lp-rich .lpr-sec .tl-card p{
  font-size:15.5px;color:var(--sub);line-height:1.75;margin:0;
}
.pm-mock.lp-rich .lpr-sec .tl-total{
  padding:16px 22px;background:var(--navy);color:#fff;
  font-size:17.5px;
}
.pm-mock.lp-rich .lpr-sec .tl-total b{color:#fff;font-weight:900;display:inline;margin-right:12px;}
.pm-mock.lp-rich .lpr-sec .tl-total small{
  display:block;margin-top:4px;font-size:14.5px;color:rgba(255,255,255,.8);
}

/* Q&A テーブル */
.pm-mock.lp-rich .lpr-sec .q-table{
  width:100%;border-collapse:collapse;background:#fff;
  box-shadow:0 6px 18px rgba(27,34,76,.06);margin-top:8px;
}
.pm-mock.lp-rich .lpr-sec .q-table thead th{
  background:var(--navy);color:#fff;
  padding:14px 16px;font-size:17px;font-weight:700;text-align:left;
}
.pm-mock.lp-rich .lpr-sec .q-table tbody td{
  padding:13px 16px;font-size:16px;color:var(--ink);
  border:1px solid var(--line);vertical-align:top;line-height:1.7;
}
.pm-mock.lp-rich .lpr-sec .q-table .jd{
  color:var(--sky);font-weight:900;text-align:center;
  background:var(--sky-pale,#e5f3fb);
}
.pm-mock.lp-rich .lpr-sec .q-note{
  margin-top:14px;padding:16px 20px;
  background:var(--sky-pale,#e5f3fb);border-left:3px solid var(--sky);
  font-size:17px;color:var(--navy);line-height:1.75;
}
.pm-mock.lp-rich .lpr-sec .two{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:14px;margin-top:14px;
}
.pm-mock.lp-rich .lpr-sec .tcard{
  background:#fff;border:1px solid var(--line);
  border-left:3px solid var(--sky);padding:20px 22px;
}
.pm-mock.lp-rich .lpr-sec .tcard h4{
  font-size:19px;font-weight:900;color:var(--navy);margin:0 0 8px;
}
.pm-mock.lp-rich .lpr-sec .tcard p{
  font-size:16px;color:var(--sub);line-height:1.85;margin:0;
}

/* Report */
.pm-mock.lp-rich .lpr-sec .reps{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:12px;
  margin-top:16px;margin-bottom:16px;   /* 一括指定にしない（.tl と同じ理由） */
}
.pm-mock.lp-rich .lpr-sec .rep{
  background:#fff;border:1px solid var(--line);
  border-top:3px solid var(--sky);padding:14px 16px;
  font-size:15px;color:var(--sub);line-height:1.7;
}
.pm-mock.lp-rich .lpr-sec .rep b{
  display:block;font-size:17px;color:var(--navy);
  font-weight:900;margin-bottom:4px;
}
.pm-mock.lp-rich .lpr-sec .mtg-line{
  padding:16px 22px;background:var(--sky-pale,#e5f3fb);
  border-left:4px solid var(--sky);
  font-size:17.5px;line-height:1.85;color:var(--navy);margin:12px 0;
}
.pm-mock.lp-rich .lpr-sec .neutral{
  padding:18px 22px;background:var(--navy);color:#fff;
  font-size:17px;line-height:1.85;
}
.pm-mock.lp-rich .lpr-sec .fig{margin:20px 0 0;padding:16px;background:#fff;border:1px solid var(--line);}
.pm-mock.lp-rich .lpr-sec .fig svg{width:100%;height:auto;display:block;}
.pm-mock.lp-rich .lpr-sec .fig figcaption{margin-top:6px;font-size:14.5px;color:var(--sub);text-align:center;}

/* Operation */
.pm-mock.lp-rich .lpr-sec .ops{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:12px;margin-bottom:18px;
}
.pm-mock.lp-rich .lpr-sec .op{
  background:#fff;border:1px solid var(--line);
  border-left:3px solid var(--sky);padding:16px 20px;
  font-size:16px;color:var(--sub);line-height:1.7;
}
.pm-mock.lp-rich .lpr-sec .op b{
  display:block;font-size:17.5px;color:var(--navy);font-weight:900;margin-bottom:4px;
}
.pm-mock.lp-rich .lpr-sec .ba{
  display:grid;grid-template-columns:1fr auto 1fr;gap:20px;
  align-items:center;margin-top:24px;
}
.pm-mock.lp-rich .lpr-sec .ba-box{padding:20px 24px;text-align:center;}
.pm-mock.lp-rich .lpr-sec .ba-box.b{background:#F5F6F8;border:1px solid var(--line);color:#7E8AA1;}
.pm-mock.lp-rich .lpr-sec .ba-box.a{background:var(--navy);color:#fff;}
.pm-mock.lp-rich .lpr-sec .bh{font-size:15px;font-weight:700;margin-bottom:6px;opacity:.85;}
.pm-mock.lp-rich .lpr-sec .bn{
  font-family:'Poppins',sans-serif;font-weight:700;font-size:47.5px;line-height:1;
}
.pm-mock.lp-rich .lpr-sec .ba-box.a .bn{color:var(--sky-light,#5FB6E8);}
.pm-mock.lp-rich .lpr-sec .bl{font-size:15px;margin-top:6px;}
.pm-mock.lp-rich .lpr-sec .ba-arrow{
  font-family:'Poppins',sans-serif;font-size:35px;font-weight:700;color:var(--sky);text-align:center;
}

/* 比較表 */
.pm-mock.lp-rich .lpr-sec .cmp{
  width:100%;border-collapse:collapse;background:#fff;
  box-shadow:0 8px 20px rgba(27,34,76,.08);
}
.pm-mock.lp-rich .lpr-sec .cmp thead th{
  background:var(--navy);color:#fff;padding:14px;
  font-size:17px;font-weight:700;text-align:center;
}
.pm-mock.lp-rich .lpr-sec .cmp thead th.hl{background:var(--sky);}
.pm-mock.lp-rich .lpr-sec .cmp tbody th{
  background:#F1F6FA;color:var(--navy);padding:12px 14px;
  font-size:16px;font-weight:900;text-align:left;width:16%;
}
.pm-mock.lp-rich .lpr-sec .cmp tbody td{
  padding:12px 14px;font-size:15.5px;color:var(--sub);
  text-align:center;border:1px solid var(--line);
}
.pm-mock.lp-rich .lpr-sec .cmp tbody td.dim{color:#9AA5B8;}
.pm-mock.lp-rich .lpr-sec .cmp tbody td.hl{
  background:var(--sky-pale,#e5f3fb);color:var(--navy);font-weight:700;
}

/* 料金プラン */
.pm-mock.lp-rich .lpr-sec .prices{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:18px;
  margin-top:14px;margin-bottom:14px;   /* 一括指定にしない（.tl と同じ理由） */
}
.pm-mock.lp-rich .lpr-sec .price{
  background:#fff;border:1px solid var(--line);
  padding:24px 22px 20px;text-align:center;position:relative;
  transition:.2s;
}
.pm-mock.lp-rich .lpr-sec .price.reco{
  border:2px solid var(--sky);
  box-shadow:0 14px 30px rgba(28,147,210,.15);
}
.pm-mock.lp-rich .lpr-sec .price:hover{
  border-color:var(--sky);box-shadow:0 14px 30px rgba(27,34,76,.08);
  transform:translateY(-3px);
}
.pm-mock.lp-rich .lpr-sec .price .pb{
  position:absolute;top:-12px;left:50%;transform:translateX(-50%);
  background:var(--sky);color:#fff;font-size:14px;font-weight:900;letter-spacing:.1em;
  padding:5px 14px;
}
.pm-mock.lp-rich .lpr-sec .price h3{
  font-size:19px;font-weight:900;color:var(--navy);margin:0 0 10px;
}
.pm-mock.lp-rich .lpr-sec .price .pn{
  font-family:'Poppins',sans-serif;font-weight:700;
  font-size:48.5px;color:var(--sky);line-height:1;margin:0 0 10px;
}
.pm-mock.lp-rich .lpr-sec .price .pn small{
  font-size:16px;color:var(--sub);margin-left:2px;font-weight:600;
}
.pm-mock.lp-rich .lpr-sec .price .pc{
  font-size:15.5px;color:var(--sub);line-height:1.65;margin:0;
}
.pm-mock.lp-rich .lpr-sec .nobind{
  margin-top:22px;padding:18px 22px;
  background:var(--sky-pale,#e5f3fb);border-left:4px solid var(--sky);
  font-size:17px;line-height:1.75;color:var(--navy);
}
.pm-mock.lp-rich .lpr-sec .ss-chips{margin-top:16px;display:flex;flex-wrap:wrap;gap:6px;}
.pm-mock.lp-rich .lpr-sec .ss-chip{
  padding:6px 12px;background:#fff;border:1px solid var(--sky);
  color:var(--sky);font-size:15px;font-weight:700;
}
.pm-mock.lp-rich .lpr-sec .pnote{margin-top:12px;font-size:14px;color:var(--sub);line-height:1.7;}

/* Voice / Teaser */
.pm-mock.lp-rich .lpr-sec .voice{
  background:#fff;border-left:4px solid var(--sky);padding:22px 26px;
  box-shadow:0 6px 16px rgba(27,34,76,.06);margin-bottom:16px;
}
.pm-mock.lp-rich .lpr-sec .voice .vh{font-size:18px;font-weight:900;color:var(--navy);margin-bottom:8px;}
.pm-mock.lp-rich .lpr-sec .voice p{font-size:17px;line-height:1.85;color:var(--ink);margin:0;}
.pm-mock.lp-rich .lpr-sec .teaser{
  background:var(--navy);color:#fff;padding:22px 26px;
}
.pm-mock.lp-rich .lpr-sec .teaser b{display:block;font-size:18px;margin-bottom:12px;color:#fff;font-weight:900;}
.pm-mock.lp-rich .lpr-sec .teaser ol{margin:0;padding-left:20px;}
.pm-mock.lp-rich .lpr-sec .teaser li{font-size:16px;line-height:1.85;color:rgba(255,255,255,.9);margin-bottom:4px;}

/* FAQ */
.pm-mock.lp-rich .lpr-sec .faq{max-width:820px;margin:0 auto;}
.pm-mock.lp-rich .lpr-sec .faq details{
  background:#fff;border:1px solid var(--line);margin-bottom:8px;transition:.2s;
}
.pm-mock.lp-rich .lpr-sec .faq details[open]{
  border-color:var(--sky);box-shadow:0 6px 18px rgba(27,34,76,.06);
}
.pm-mock.lp-rich .lpr-sec .faq summary{
  padding:16px 22px;font-size:17.5px;font-weight:900;color:var(--navy);
  cursor:pointer;list-style:none;
  display:flex;justify-content:space-between;align-items:center;
}
.pm-mock.lp-rich .lpr-sec .faq summary::-webkit-details-marker{display:none;}
.pm-mock.lp-rich .lpr-sec .faq summary::before{
  content:"Q";font-family:'Poppins',sans-serif;font-weight:700;
  font-size:22.5px;color:var(--sky);margin-right:12px;
}
.pm-mock.lp-rich .lpr-sec .faq summary::after{
  content:"＋";font-family:'Poppins',sans-serif;font-size:25px;color:var(--sky);
  margin-left:auto;transition:.2s;
}
.pm-mock.lp-rich .lpr-sec .faq details[open] summary::after{content:"−";}
.pm-mock.lp-rich .lpr-sec .faq .a{
  padding:0 22px 18px 54px;font-size:17px;color:var(--sub);line-height:1.85;
}

/* Flow steps */
.pm-mock.lp-rich .lpr-sec .flow{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
  border:1px solid var(--line);background:#fff;
}
.pm-mock.lp-rich .lpr-sec .fstep{
  padding:20px 16px;border-right:1px solid var(--line);
  text-align:left;font-size:18px;font-weight:900;color:var(--navy);
  line-height:1.4;
}
.pm-mock.lp-rich .lpr-sec .fstep:last-child{border-right:none;background:var(--sky);color:#fff;}
.pm-mock.lp-rich .lpr-sec .fstep small{
  display:block;margin-top:6px;
  font-size:14.5px;font-weight:500;color:var(--sub);
}
.pm-mock.lp-rich .lpr-sec .fstep:last-child small{color:rgba(255,255,255,.85);}
.pm-mock.lp-rich .lpr-sec .flow-note{margin-top:12px;font-size:15.5px;color:var(--sub);text-align:center;}

/* section.alt を tint 扱いに */
.pm-mock.lp-rich .lpr-sec.alt,
.pm-mock.lp-rich section.alt{background:var(--tint,#F1F6FA);}

/* section.final を final CTA 風に（mock の最後のセクション用）*/
.pm-mock.lp-rich .lpr-sec.final{
  background:linear-gradient(135deg,#1B224C 0%,#12183A 100%);color:#fff;
  padding:80px 0;
}
.pm-mock.lp-rich .lpr-sec.final h2{color:#fff;}
.pm-mock.lp-rich .lpr-sec.final p{font-size:18px;line-height:1.85;color:rgba(255,255,255,.88);margin-bottom:20px;}
.pm-mock.lp-rich .lpr-sec.final .cta{
  display:inline-flex;align-items:center;gap:10px;
  padding:16px 32px;background:var(--sky);color:#fff;
  text-decoration:none;font-weight:900;font-size:19px;
}

/* ---- VOICE 写真アバター ---- */
.pm-mock.lp-rich .lpr-voice-photo{
  width:100%;aspect-ratio:1/1;max-width:120px;
  background-size:cover;background-position:center;
  border-radius:50%;
  border:3px solid #fff;
  box-shadow:0 4px 12px rgba(27,34,76,.15);
}
.pm-mock.lp-rich .lpr-h2{
  font-family:'Noto Sans JP',sans-serif;
  font-weight:900;
  font-size:clamp(30px,2.2vw,45px);
  line-height:1.5;color:var(--navy);
  margin:8px 0 18px;letter-spacing:-.005em;
}
.pm-mock.lp-rich .lpr-lead-text{
  font-size:19.5px;line-height:1.9;color:var(--ink);
  margin:0 0 28px;max-width:820px;
}
.pm-mock.lp-rich .lpr-lead-text b{color:var(--navy);font-weight:900;}
.pm-mock.lp-rich .lpr-note{
  font-size:14.5px;color:var(--sub);line-height:1.7;margin:12px 0 0;
}
.pm-mock.lp-rich .lpr-note-inline{font-size:14.5px;color:var(--sub);}

/* ================================================================
 * Layout A：NUMLIST（巨大ナンバー横1行 × 縦積み）
 * WHY NOW 用
 * ================================================================ */
.pm-mock.lp-rich .lpr-numlist{display:flex;flex-direction:column;}
.pm-mock.lp-rich .lpr-numrow{
  display:grid;
  grid-template-columns:150px 1fr;
  gap:32px;align-items:center;
  padding:28px 0;
  border-bottom:1px solid var(--line);
  transition:.2s;
}
.pm-mock.lp-rich .lpr-numrow:first-child{border-top:1px solid var(--line);}
.pm-mock.lp-rich .lpr-numrow:hover{padding-left:8px;}
.pm-mock.lp-rich .lpr-numrow-no{
  font-family:'Poppins',sans-serif;font-weight:700;
  font-size:clamp(66px,7vw,121px);
  color:var(--sky);line-height:.9;letter-spacing:-.04em;
  text-align:center;
}
.pm-mock.lp-rich .lpr-numrow-tag{
  display:inline-block;
  font-family:'Poppins',sans-serif;font-size:14px;font-weight:700;
  color:var(--sky);letter-spacing:.2em;
  padding:4px 12px;background:var(--sky-pale,#e5f3fb);
  margin-bottom:8px;
}
.pm-mock.lp-rich .lpr-numrow-body h3{
  font-size:25px;font-weight:900;color:var(--navy);
  line-height:1.5;margin:0 0 8px;
}
.pm-mock.lp-rich .lpr-numrow-body p{
  font-size:17.5px;color:var(--sub);line-height:1.85;margin:0;
}
.pm-mock.lp-rich .lpr-numrow-body p b{color:var(--navy);font-weight:900;}

/* ================================================================
 * Layout B：FEATURED（大1 + サブ2）
 * PROBLEM 用
 * ================================================================ */
.pm-mock.lp-rich .lpr-feat{
  display:grid;
  grid-template-columns:1.4fr 1fr;
  gap:20px;
}
.pm-mock.lp-rich .lpr-feat-main{
  background:linear-gradient(155deg,#1B224C 0%,#0F1938 100%);
  color:#fff;
  padding:36px 36px 32px;
  position:relative;overflow:hidden;
}
.pm-mock.lp-rich .lpr-feat-main::before{
  content:"";
  position:absolute;right:-30px;bottom:-30px;
  width:180px;height:180px;border-radius:50%;
  background:rgba(28,147,210,.15);
}
.pm-mock.lp-rich .lpr-feat-no{
  font-family:'Poppins',sans-serif;font-weight:700;
  font-size:70.5px;color:var(--sky);line-height:1;
  margin-bottom:16px;
  position:relative;
}
.pm-mock.lp-rich .lpr-feat-main h3{
  font-size:30px;font-weight:900;color:#fff;
  line-height:1.5;margin:0 0 14px;position:relative;
}
.pm-mock.lp-rich .lpr-feat-main p{
  font-size:18px;line-height:1.9;color:rgba(255,255,255,.86);
  margin:0 0 24px;position:relative;
}
.pm-mock.lp-rich .lpr-feat-stat{
  display:flex;align-items:baseline;gap:16px;
  padding-top:20px;border-top:1px solid rgba(255,255,255,.25);
  position:relative;
}
.pm-mock.lp-rich .lpr-feat-stat-num{
  font-family:'Poppins',sans-serif;font-weight:700;
  font-size:70.5px;color:var(--sky);line-height:.9;
}
.pm-mock.lp-rich .lpr-feat-stat-cap{
  font-size:16px;color:rgba(255,255,255,.75);
}
.pm-mock.lp-rich .lpr-feat-side{
  display:flex;flex-direction:column;gap:16px;
}
.pm-mock.lp-rich .lpr-feat-sub{
  background:#fff;border:1px solid var(--line);
  padding:22px 24px;
  border-left:3px solid var(--sky);
  flex:1;
}
.pm-mock.lp-rich .lpr-feat-sub-no{
  font-family:'Poppins',sans-serif;font-weight:700;
  font-size:27.5px;color:var(--sky);line-height:1;
  margin-bottom:8px;
}
.pm-mock.lp-rich .lpr-feat-sub h4{
  font-size:20px;font-weight:900;color:var(--navy);
  line-height:1.5;margin:0 0 8px;
}
.pm-mock.lp-rich .lpr-feat-sub p{
  font-size:16px;color:var(--sub);line-height:1.8;margin:0;
}

/* ================================================================
 * Layout C：ZIGZAG（ジグザグ交互配置）
 * HIDDEN LOSS 用
 * ================================================================ */
.pm-mock.lp-rich .lpr-zig{display:flex;flex-direction:column;gap:24px;}
.pm-mock.lp-rich .lpr-zig-row{
  display:grid;
  grid-template-columns:220px 1fr;
  gap:36px;align-items:center;
  padding:26px 30px;
  background:#fff;border:1px solid var(--line);
  transition:.2s;
}
.pm-mock.lp-rich .lpr-zig-row:hover{
  border-color:var(--sky);
  box-shadow:0 14px 30px rgba(27,34,76,.08);
}
.pm-mock.lp-rich .lpr-zig-row--reverse{
  grid-template-columns:1fr 220px;
  background:var(--sky-pale,#e5f3fb);
  border-color:transparent;
}
.pm-mock.lp-rich .lpr-zig-row--reverse .lpr-zig-no{grid-column:2;grid-row:1;text-align:right;}
.pm-mock.lp-rich .lpr-zig-row--reverse .lpr-zig-content{grid-column:1;grid-row:1;text-align:right;}
.pm-mock.lp-rich .lpr-zig-no{
  display:flex;flex-direction:column;align-items:flex-start;gap:6px;
}
.pm-mock.lp-rich .lpr-zig-row--reverse .lpr-zig-no{align-items:flex-end;}
.pm-mock.lp-rich .lpr-zig-no-big{
  font-family:'Poppins',sans-serif;font-weight:700;
  font-size:88px;color:var(--sky);line-height:1;letter-spacing:-.04em;
}
.pm-mock.lp-rich .lpr-zig-no-tag{
  font-family:'Poppins',sans-serif;font-size:14px;font-weight:700;
  color:var(--navy);letter-spacing:.22em;
  padding:4px 10px;background:#fff;border:1px solid var(--navy);
}
.pm-mock.lp-rich .lpr-zig-row--reverse .lpr-zig-no-tag{background:transparent;}
.pm-mock.lp-rich .lpr-zig-content h3{
  font-size:27.5px;font-weight:900;color:var(--navy);
  line-height:1.5;margin:0 0 10px;
}
.pm-mock.lp-rich .lpr-zig-content p{
  font-size:18px;color:var(--sub);line-height:1.85;margin:0;
}

/* ================================================================
 * Layout D：WHY5（Featured 01 + 2×2 サブ）
 * WHY US 用
 * ================================================================ */
.pm-mock.lp-rich .lpr-why5{
  display:grid;
  grid-template-columns:1.15fr 1fr;
  gap:20px;
}
.pm-mock.lp-rich .lpr-why5-main{
  background:linear-gradient(155deg,var(--sky) 0%,#12588A 100%);
  color:#fff;
  padding:36px 34px 30px;
  position:relative;overflow:hidden;
}
.pm-mock.lp-rich .lpr-why5-main::after{
  content:"";position:absolute;left:-40px;top:-40px;
  width:200px;height:200px;border-radius:50%;
  background:rgba(255,255,255,.10);
}
.pm-mock.lp-rich .lpr-why5-main-no{
  font-family:'Poppins',sans-serif;font-weight:700;
  font-size:79px;color:#fff;line-height:1;letter-spacing:-.03em;
  position:relative;
}
.pm-mock.lp-rich .lpr-why5-main-badge{
  display:inline-block;
  font-size:13px;font-weight:700;color:var(--navy);
  background:#fff;padding:5px 12px;letter-spacing:.15em;
  margin:8px 0 20px;position:relative;
}
.pm-mock.lp-rich .lpr-why5-main h3{
  font-size:32.5px;font-weight:900;color:#fff;
  line-height:1.4;margin:0 0 14px;position:relative;
}
.pm-mock.lp-rich .lpr-why5-main p{
  font-size:17.5px;line-height:1.9;color:rgba(255,255,255,.9);
  margin:0 0 24px;position:relative;
}
.pm-mock.lp-rich .lpr-why5-metric{
  display:grid;grid-template-columns:1fr 1fr;gap:16px;
  padding-top:20px;border-top:1px solid rgba(255,255,255,.3);
  position:relative;
}
.pm-mock.lp-rich .lpr-why5-metric-num{
  font-family:'Poppins',sans-serif;font-weight:700;
  font-size:48.5px;color:#fff;line-height:1;
}
.pm-mock.lp-rich .lpr-why5-metric-num span{font-size:20px;margin-left:4px;color:rgba(255,255,255,.85);}
.pm-mock.lp-rich .lpr-why5-metric-cap{
  font-size:14.5px;color:rgba(255,255,255,.8);margin-top:6px;
}
.pm-mock.lp-rich .lpr-why5-side{
  display:grid;grid-template-columns:1fr 1fr;gap:14px;
}
.pm-mock.lp-rich .lpr-why5-sub{
  background:#fff;border:1px solid var(--line);
  padding:20px 20px 18px;
  transition:.2s;
}
.pm-mock.lp-rich .lpr-why5-sub:hover{
  border-color:var(--sky);
  box-shadow:0 10px 22px rgba(27,34,76,.08);
  transform:translateY(-2px);
}
.pm-mock.lp-rich .lpr-why5-sub-no{
  font-family:'Poppins',sans-serif;font-weight:700;
  font-size:27.5px;color:var(--sky);line-height:1;margin-bottom:10px;
}
.pm-mock.lp-rich .lpr-why5-sub h4{
  font-size:18px;font-weight:900;color:var(--navy);
  line-height:1.45;margin:0 0 8px;
}
.pm-mock.lp-rich .lpr-why5-sub p{
  font-size:15.5px;color:var(--sub);line-height:1.75;margin:0;
}

/* ---- PAIN / 汎用 3列カード ---- */
.pm-mock.lp-rich .lpr-pain-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:16px;
}
.pm-mock.lp-rich .lpr-pain-card{
  background:#fff;
  border:1px solid var(--line);
  padding:26px 24px 22px;
  transition:.2s;
  position:relative;
}
.pm-mock.lp-rich .lpr-pain-card:hover{
  border-color:var(--sky);box-shadow:0 12px 26px rgba(27,34,76,.08);
  transform:translateY(-3px);
}
.pm-mock.lp-rich .lpr-pain-idx{
  font-family:'Poppins',sans-serif;
  font-weight:700;font-size:32.5px;
  color:var(--sky);
  line-height:1;margin-bottom:12px;
}
.pm-mock.lp-rich .lpr-pain-icon{
  width:56px;height:56px;
  display:flex;align-items:center;justify-content:center;
  background:var(--sky-pale,#e5f3fb);
  margin-bottom:16px;
}
.pm-mock.lp-rich .lpr-pain-icon svg{width:32px;height:32px;}
.pm-mock.lp-rich .lpr-pain-card h3{
  font-size:20px;font-weight:900;color:var(--navy);
  line-height:1.5;margin:0 0 10px;
}
.pm-mock.lp-rich .lpr-pain-card p{
  font-size:17px;color:var(--sub);line-height:1.8;margin:0;
}
.pm-mock.lp-rich .lpr-callout{
  margin-top:32px;
  padding:22px 28px;
  background:#fff;
  border-left:4px solid var(--sky);
  font-size:19px;line-height:1.8;color:var(--navy);
}
.pm-mock.lp-rich .lpr-callout b{font-weight:900;}
.pm-mock.lp-rich .lpr-callout .hl-sky{color:var(--sky);}

/* ---- 4本柱 / 汎用ピラーグリッド ---- */
.pm-mock.lp-rich .lpr-pillar-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:20px;
}
.pm-mock.lp-rich .lpr-pillar{
  background:#fff;
  border:1px solid var(--line);
  padding:28px 30px 24px;
  position:relative;transition:.2s;
}
.pm-mock.lp-rich .lpr-pillar:hover{
  border-color:var(--sky);
  box-shadow:0 14px 30px rgba(27,34,76,.08);
}
.pm-mock.lp-rich .lpr-pillar-head{
  display:flex;align-items:center;gap:16px;
  padding-bottom:14px;margin-bottom:14px;
  border-bottom:1px solid var(--line);
}
.pm-mock.lp-rich .lpr-pillar-no{
  font-family:'Poppins',sans-serif;font-weight:700;
  font-size:35px;color:var(--sky);line-height:1;
}
.pm-mock.lp-rich .lpr-pillar-icon{
  width:48px;height:48px;
  display:flex;align-items:center;justify-content:center;
  background:var(--sky-pale,#e5f3fb);
  margin-left:auto;
}
.pm-mock.lp-rich .lpr-pillar-icon svg{width:28px;height:28px;}
.pm-mock.lp-rich .lpr-pillar h3{
  font-size:24px;font-weight:900;color:var(--navy);
  line-height:1.5;margin:0 0 10px;
}
.pm-mock.lp-rich .lpr-pillar p{
  font-size:17.5px;color:var(--sub);line-height:1.85;margin:0;
}
.pm-mock.lp-rich .lpr-pillar p b{color:var(--navy);font-weight:900;}

/* ---- TIMELINE ---- */
.pm-mock.lp-rich .lpr-tl{
  display:grid;grid-template-columns:repeat(3,1fr);gap:14px;
  position:relative;
}
.pm-mock.lp-rich .lpr-total{
  margin-top:20px;
  padding:20px 24px;
  background:var(--navy);color:#fff;
  display:flex;flex-direction:column;gap:6px;
}
.pm-mock.lp-rich .lpr-total b{font-size:21px;font-weight:900;letter-spacing:.02em;color:#fff;}
.pm-mock.lp-rich .lpr-total span{font-size:15.5px;color:rgba(255,255,255,.85);}
.pm-mock.lp-rich .lpr-tl-card{
  background:#fff;border:1px solid var(--line);
  padding:22px 20px 20px;
  border-top:3px solid var(--sky);
  position:relative;
}
.pm-mock.lp-rich .lpr-tl-when{
  display:inline-block;
  font-family:'Poppins',sans-serif;font-size:14px;font-weight:700;
  color:var(--sky);letter-spacing:.18em;
  background:var(--sky-pale,#e5f3fb);padding:3px 10px;
  margin-bottom:12px;
}
.pm-mock.lp-rich .lpr-tl-card h4{
  font-size:19.5px;font-weight:900;color:var(--navy);
  line-height:1.5;margin:0 0 8px;
}
.pm-mock.lp-rich .lpr-tl-card p{
  font-size:15.5px;color:var(--sub);line-height:1.75;margin:0;
}

/* Before / After バー */
.pm-mock.lp-rich .lpr-ba{
  margin-top:36px;
  display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:center;
}
.pm-mock.lp-rich .lpr-ba-box{
  padding:22px 24px;text-align:center;
}
.pm-mock.lp-rich .lpr-ba--before{
  background:#F5F6F8;border:1px solid var(--line);color:#7E8AA1;
}
.pm-mock.lp-rich .lpr-ba--after{
  background:var(--navy);color:#fff;
}
.pm-mock.lp-rich .lpr-ba-box .ba-head{
  font-size:15px;font-weight:700;letter-spacing:.06em;margin-bottom:6px;opacity:.85;
}
.pm-mock.lp-rich .lpr-ba-box .ba-num{
  font-family:'Poppins',sans-serif;font-weight:700;font-size:48.5px;line-height:1;
}
.pm-mock.lp-rich .lpr-ba--after .ba-num{color:var(--sky-light,#7bc4ec);}
.pm-mock.lp-rich .lpr-ba-box small{font-size:20px;margin-left:2px;}
.pm-mock.lp-rich .lpr-ba-box .ba-cap{
  font-size:15.5px;margin-top:6px;
}
.pm-mock.lp-rich .lpr-ba-arrow{
  font-family:'Poppins',sans-serif;font-size:40px;font-weight:700;
  color:var(--sky);
}
.pm-mock.lp-rich .lpr-ba-note{
  margin-top:14px;font-size:16px;color:var(--sub);text-align:center;line-height:1.7;
}

/* ---- QUALITY テーブル（アポの質・判断基準）---- */
.pm-mock.lp-rich .lpr-q-table{
  width:100%;border-collapse:collapse;
  background:#fff;
  box-shadow:0 6px 18px rgba(27,34,76,.06);
}
.pm-mock.lp-rich .lpr-q-table thead th{
  background:var(--navy);color:#fff;
  padding:14px 16px;font-size:17px;font-weight:700;text-align:left;
}
.pm-mock.lp-rich .lpr-q-table tbody td{
  padding:14px 16px;font-size:17px;color:var(--ink);
  border:1px solid var(--line);vertical-align:top;line-height:1.7;
}
.pm-mock.lp-rich .lpr-q-table td.jd{
  color:var(--sky);font-weight:900;text-align:center;
  background:var(--sky-pale,#e5f3fb);width:170px;
}
.pm-mock.lp-rich .lpr-two{
  margin-top:20px;
  display:grid;grid-template-columns:repeat(2,1fr);gap:16px;
}
.pm-mock.lp-rich .lpr-tcard{
  background:#fff;border:1px solid var(--line);
  padding:22px 24px;
  border-left:3px solid var(--sky);
}
.pm-mock.lp-rich .lpr-tcard h4{
  font-size:19px;font-weight:900;color:var(--navy);margin:0 0 8px;
}
.pm-mock.lp-rich .lpr-tcard p{
  font-size:16px;color:var(--sub);line-height:1.85;margin:0;
}

/* ---- REPORT（分析レポート）---- */
.pm-mock.lp-rich .lpr-reps{
  display:grid;grid-template-columns:repeat(3,1fr);gap:12px;
  margin-bottom:20px;
}
.pm-mock.lp-rich .lpr-rep{
  background:#fff;border:1px solid var(--line);
  padding:16px 18px;
  border-top:3px solid var(--sky);
  display:flex;flex-direction:column;gap:6px;
}
.pm-mock.lp-rich .lpr-rep b{
  font-size:17px;color:var(--navy);font-weight:900;
}
.pm-mock.lp-rich .lpr-rep span{
  font-size:15px;color:var(--sub);line-height:1.7;
}
.pm-mock.lp-rich .lpr-mtg-line{
  padding:18px 22px;background:var(--sky-pale,#e5f3fb);
  font-size:17.5px;line-height:1.85;color:var(--navy);
  border-left:4px solid var(--sky);margin:0 0 20px;
}
.pm-mock.lp-rich .lpr-mtg-line b{font-weight:900;}
.pm-mock.lp-rich .lpr-neutral{
  padding:20px 24px;background:var(--navy);color:#fff;
  font-size:17.5px;line-height:1.85;
}
.pm-mock.lp-rich .lpr-neutral b{color:#fff;font-weight:900;display:inline;}
.pm-mock.lp-rich .lpr-fig{
  margin:24px 0 0;padding:20px;
  background:#fff;border:1px solid var(--line);
}
.pm-mock.lp-rich .lpr-fig svg{width:100%;height:auto;display:block;}
.pm-mock.lp-rich .lpr-fig figcaption{
  margin-top:8px;font-size:15px;color:var(--sub);text-align:center;
}

/* ---- OPERATION（運用設計）---- */
.pm-mock.lp-rich .lpr-ops{
  display:grid;grid-template-columns:repeat(2,1fr);gap:12px;
  margin-bottom:24px;
}
.pm-mock.lp-rich .lpr-op{
  background:#fff;border:1px solid var(--line);
  padding:18px 22px;
  border-left:3px solid var(--sky);
  display:flex;flex-direction:column;gap:6px;
}
.pm-mock.lp-rich .lpr-op b{
  font-size:19px;color:var(--navy);font-weight:900;
}
.pm-mock.lp-rich .lpr-op span{
  font-size:16px;color:var(--sub);line-height:1.7;
}

/* ---- WHY US ---- */
.pm-mock.lp-rich .lpr-why-grid{
  display:grid;grid-template-columns:repeat(5,1fr);gap:14px;
}
.pm-mock.lp-rich .lpr-why-card{
  background:#fff;border:1px solid var(--line);
  padding:24px 20px 20px;
  transition:.2s;
  position:relative;
}
.pm-mock.lp-rich .lpr-why-card::before{
  content:"";position:absolute;left:0;top:0;width:100%;height:3px;
  background:linear-gradient(90deg,var(--sky),var(--navy));
  transform:scaleX(0);transform-origin:left;transition:.3s;
}
.pm-mock.lp-rich .lpr-why-card:hover::before{transform:scaleX(1);}
.pm-mock.lp-rich .lpr-why-card:hover{
  transform:translateY(-3px);box-shadow:0 12px 26px rgba(27,34,76,.08);
}
.pm-mock.lp-rich .lpr-why-no{
  font-family:'Poppins',sans-serif;font-weight:700;
  font-size:40px;color:var(--sky);line-height:1;
  margin-bottom:12px;
}
.pm-mock.lp-rich .lpr-why-card h3{
  font-size:18px;font-weight:900;color:var(--navy);
  line-height:1.5;margin:0 0 8px;min-height:44px;
}
.pm-mock.lp-rich .lpr-why-card p{
  font-size:15.5px;color:var(--sub);line-height:1.75;margin:0;
}

/* ---- COMPARISON ---- */
.pm-mock.lp-rich .lpr-compare{background:var(--tint,#F1F6FA);}
.pm-mock.lp-rich .lpr-cmp-wrap{overflow-x:auto;}
.pm-mock.lp-rich .lpr-cmp{
  width:100%;border-collapse:collapse;
  background:#fff;
  box-shadow:0 8px 20px rgba(27,34,76,.08);
}
.pm-mock.lp-rich .lpr-cmp thead th{
  background:var(--navy);color:#fff;
  padding:16px 14px;font-size:17px;font-weight:700;
  text-align:center;
}
.pm-mock.lp-rich .lpr-cmp thead th.lpr-cmp-hl{background:var(--sky);}
.pm-mock.lp-rich .lpr-cmp tbody th{
  background:#F1F6FA;color:var(--navy);
  padding:14px 16px;font-size:17px;font-weight:900;
  text-align:left;width:16%;
}
.pm-mock.lp-rich .lpr-cmp tbody td{
  padding:14px 16px;font-size:16px;color:var(--sub);
  text-align:center;border:1px solid var(--line);
}
.pm-mock.lp-rich .lpr-cmp tbody td.lpr-cmp-hl{
  background:var(--sky-pale,#e5f3fb);
  color:var(--navy);font-weight:700;
}
.pm-mock.lp-rich .lpr-cmp-note{
  margin-top:16px;font-size:16px;color:var(--sub);text-align:center;
}

/* ---- PRICE ---- */
.pm-mock.lp-rich .lpr-price{background:#fff;}
.pm-mock.lp-rich .lpr-price-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:20px;
}
.pm-mock.lp-rich .lpr-plan{
  background:#fff;border:1px solid var(--line);
  padding:28px 24px 24px;text-align:center;
  position:relative;transition:.2s;
}
.pm-mock.lp-rich .lpr-plan:hover{
  border-color:var(--sky);box-shadow:0 14px 30px rgba(27,34,76,.08);
  transform:translateY(-3px);
}
.pm-mock.lp-rich .lpr-plan--reco{
  border:2px solid var(--sky);
  box-shadow:0 14px 30px rgba(28,147,210,.15);
}
.pm-mock.lp-rich .lpr-plan-badge{
  position:absolute;top:-12px;left:50%;transform:translateX(-50%);
  background:var(--sky);color:#fff;
  font-size:14px;font-weight:900;letter-spacing:.1em;
  padding:5px 16px;
}
.pm-mock.lp-rich .lpr-plan-head h3{
  font-size:21px;font-weight:900;color:var(--navy);margin:0 0 12px;
}
.pm-mock.lp-rich .lpr-plan-num{
  font-family:'Poppins',sans-serif;font-weight:700;
  font-size:57px;color:var(--sky);line-height:1;
  margin:0 0 12px;
}
.pm-mock.lp-rich .lpr-plan-num small{
  font-size:19px;color:var(--sub);margin-left:2px;font-weight:600;
}
.pm-mock.lp-rich .lpr-plan-cap{
  font-size:16px;color:var(--sub);line-height:1.7;margin:0;
}
.pm-mock.lp-rich .lpr-nobind{
  margin-top:28px;padding:20px 24px;
  background:var(--sky-pale,#e5f3fb);
  border-left:4px solid var(--sky);
  font-size:17.5px;line-height:1.8;color:var(--navy);
}
.pm-mock.lp-rich .lpr-nobind b{font-weight:900;}
.pm-mock.lp-rich .lpr-price-chips{
  margin-top:20px;display:flex;flex-wrap:wrap;gap:8px;
}
.pm-mock.lp-rich .lpr-price-chip{
  display:inline-block;
  padding:8px 14px;
  background:#fff;border:1px solid var(--sky);
  color:var(--sky);
  font-size:15.5px;font-weight:700;
}
.pm-mock.lp-rich .lpr-price-note{
  margin-top:16px;font-size:14.5px;color:var(--sub);line-height:1.7;
}

/* ---- VOICE ---- */
.pm-mock.lp-rich .lpr-voice{background:var(--tint,#F1F6FA);}
.pm-mock.lp-rich .lpr-voice-card{
  display:grid;grid-template-columns:120px 1fr;gap:24px;align-items:start;
  background:#fff;
  padding:28px 32px;
  border-left:4px solid var(--sky);
  box-shadow:0 8px 20px rgba(27,34,76,.06);
  margin-bottom:24px;
}
.pm-mock.lp-rich .lpr-voice-avatar svg{width:100%;height:auto;max-width:100px;}
.pm-mock.lp-rich .lpr-voice-who{
  font-size:19px;font-weight:900;color:var(--navy);margin-bottom:10px;
}
.pm-mock.lp-rich .lpr-voice-text{
  font-size:17.5px;color:var(--ink);line-height:1.85;margin:0 0 12px;
}
.pm-mock.lp-rich .lpr-voice-link{
  display:inline-flex;align-items:center;gap:4px;
  font-size:16px;font-weight:700;color:var(--sky);text-decoration:none;
}
.pm-mock.lp-rich .lpr-voice-link:hover{color:var(--navy);}
.pm-mock.lp-rich .lpr-teaser{
  background:var(--navy);color:#fff;
  padding:26px 32px;
}
.pm-mock.lp-rich .lpr-teaser b{
  display:block;font-size:19px;font-weight:900;margin-bottom:14px;color:#fff;
}
.pm-mock.lp-rich .lpr-teaser ol{
  margin:0;padding-left:22px;
}
.pm-mock.lp-rich .lpr-teaser li{
  font-size:17px;line-height:1.85;color:rgba(255,255,255,.92);
  margin-bottom:6px;
}
.pm-mock.lp-rich .lpr-teaser-note{
  margin:14px 0 0;font-size:15px;color:rgba(255,255,255,.7);line-height:1.7;
}

/* ---- FAQ ---- */
.pm-mock.lp-rich .lpr-faq{background:#fff;}
.pm-mock.lp-rich .lpr-faq-list{max-width:820px;margin:0 auto;}
.pm-mock.lp-rich .lpr-faq-item{
  background:#fff;border:1px solid var(--line);
  margin-bottom:10px;transition:.2s;
}
.pm-mock.lp-rich .lpr-faq-item[open]{
  border-color:var(--sky);box-shadow:0 8px 20px rgba(27,34,76,.06);
}
.pm-mock.lp-rich .lpr-faq-item summary{
  padding:18px 24px;font-size:19px;font-weight:900;color:var(--navy);
  cursor:pointer;list-style:none;
  display:flex;justify-content:space-between;align-items:center;
  position:relative;
}
.pm-mock.lp-rich .lpr-faq-item summary::-webkit-details-marker{display:none;}
.pm-mock.lp-rich .lpr-faq-item summary::before{
  content:"Q";
  font-family:'Poppins',sans-serif;font-weight:700;font-size:25px;color:var(--sky);
  margin-right:14px;
}
.pm-mock.lp-rich .lpr-faq-item summary::after{
  content:"＋";font-family:'Poppins',sans-serif;font-weight:400;
  font-size:27.5px;color:var(--sky);transition:.2s;
  margin-left:auto;
}
.pm-mock.lp-rich .lpr-faq-item[open] summary::after{content:"−";}
.pm-mock.lp-rich .lpr-faq-item summary > *:first-child,
.pm-mock.lp-rich .lpr-faq-item summary{gap:0;}
.pm-mock.lp-rich .lpr-faq-a{
  padding:0 24px 20px 60px;
  font-size:17.5px;color:var(--sub);line-height:1.85;
}

/* ---- STEP ---- */
.pm-mock.lp-rich .lpr-step{background:var(--tint,#F1F6FA);}
.pm-mock.lp-rich .lpr-steps{
  display:grid;grid-template-columns:repeat(5,1fr);gap:0;
  border:1px solid var(--line);background:#fff;
}
.pm-mock.lp-rich .lpr-step-item{
  padding:24px 20px;border-right:1px solid var(--line);
  transition:.2s;position:relative;
}
.pm-mock.lp-rich .lpr-step-item:last-child{border-right:none;}
.pm-mock.lp-rich .lpr-step-item--hot{background:var(--sky);color:#fff;}
.pm-mock.lp-rich .lpr-step-item--hot .lpr-step-no,
.pm-mock.lp-rich .lpr-step-item--hot h4,
.pm-mock.lp-rich .lpr-step-item--hot p{color:#fff;}
.pm-mock.lp-rich .lpr-step-no{
  font-family:'Poppins',sans-serif;font-weight:700;
  font-size:16px;color:var(--sky);letter-spacing:.1em;
  margin-bottom:12px;
}
.pm-mock.lp-rich .lpr-step-item h4{
  font-size:20px;font-weight:900;color:var(--navy);
  line-height:1.4;margin:0 0 6px;
}
.pm-mock.lp-rich .lpr-step-item p{
  font-size:15.5px;color:var(--sub);margin:0;
}
.pm-mock.lp-rich .lpr-step-note{
  margin-top:16px;font-size:16px;color:var(--sub);text-align:center;
}

/* ---- 最終CTA ---- */
.pm-mock.lp-rich .lpr-cta{
  background:linear-gradient(135deg, #1B224C 0%, #12183A 100%);
  color:#fff;overflow:hidden;position:relative;
}
.pm-mock.lp-rich .lpr-cta .bgword{
  position:absolute;right:-40px;bottom:-40px;
  font-family:'Poppins',sans-serif;font-weight:800;
  font-size:clamp(132px,20vw,308px);line-height:.85;
  color:rgba(255,255,255,.06);letter-spacing:-.02em;pointer-events:none;
}
.pm-mock.lp-rich .lpr-cta-body{position:relative;z-index:1;text-align:center;}
.pm-mock.lp-rich .lpr-cta h2{
  font-family:'Noto Sans JP',sans-serif;font-weight:900;
  font-size:clamp(30px,2.4vw,44px);line-height:1.4;
  color:#fff;margin:0 0 16px;
}
.pm-mock.lp-rich .lpr-cta p{
  font-size:19px;line-height:1.85;color:rgba(255,255,255,.88);
  margin:0 0 24px;
}
.pm-mock.lp-rich .lpr-cta p small{
  display:inline-block;margin-top:6px;font-size:15px;color:rgba(255,255,255,.7);
}
.pm-mock.lp-rich .lpr-cta-actions{
  display:flex;gap:14px;justify-content:center;flex-wrap:wrap;
  margin-bottom:14px;
}
.pm-mock.lp-rich .lpr-cta-note{
  font-size:15px;color:rgba(255,255,255,.7);margin:0;
}

/* ============================================================
 * レスポンシブ
 * ============================================================ */
@media (max-width:1100px){
  .pm-mock.lp-rich .lpr-hero-inner{grid-template-columns:1fr;gap:32px;}
  .pm-mock.lp-rich .lpr-hero-right{max-width:520px;margin:0 auto;}
  .pm-mock.lp-rich .lpr-pain-grid{grid-template-columns:repeat(2,1fr);}
  .pm-mock.lp-rich .lpr-tl{grid-template-columns:repeat(2,1fr);}
  .pm-mock.lp-rich .lpr-why-grid{grid-template-columns:repeat(3,1fr);}
  .pm-mock.lp-rich .lpr-steps{grid-template-columns:repeat(3,1fr);}
  .pm-mock.lp-rich .lpr-step-item{border-bottom:1px solid var(--line);}
  .pm-mock.lp-rich .lpr-reps{grid-template-columns:repeat(2,1fr);}
  .pm-mock.lp-rich .lpr-ops{grid-template-columns:1fr;}
  .pm-mock.lp-rich .lpr-two{grid-template-columns:1fr;}
  .pm-mock.lp-rich .lpr-feat{grid-template-columns:1fr;}
  .pm-mock.lp-rich .lpr-why5{grid-template-columns:1fr;}
  .pm-mock.lp-rich .lpr-numrow{grid-template-columns:110px 1fr;gap:22px;}
}
@media (max-width:768px){
  .pm-mock.lp-rich .lpr-zig-row,
  .pm-mock.lp-rich .lpr-zig-row--reverse{
    grid-template-columns:1fr;gap:14px;padding:22px 20px;
    text-align:left !important;
  }
  .pm-mock.lp-rich .lpr-zig-row--reverse .lpr-zig-no,
  .pm-mock.lp-rich .lpr-zig-row--reverse .lpr-zig-content{grid-column:auto;grid-row:auto;text-align:left;}
  .pm-mock.lp-rich .lpr-zig-row--reverse .lpr-zig-no{align-items:flex-start;}
  .pm-mock.lp-rich .lpr-zig-no-big{font-size:57px;}
  .pm-mock.lp-rich .lpr-why5-side{grid-template-columns:1fr;}
  .pm-mock.lp-rich .lpr-numrow-no{font-size:57px;}
  .pm-mock.lp-rich .lpr-feat-main{padding:26px 22px 22px;}
  .pm-mock.lp-rich .lpr-feat-main h3{font-size:25px;}
  .pm-mock.lp-rich .lpr-feat-stat-num{font-size:48.5px;}
}
@media (max-width:768px){
  .pm-mock.lp-rich section{padding:56px 0;}
  .pm-mock.lp-rich .lpr-hero{padding:36px 0 56px;}
  .pm-mock.lp-rich .lpr-pillar-grid{grid-template-columns:1fr;}
  .pm-mock.lp-rich .lpr-price-grid{grid-template-columns:1fr;}
  .pm-mock.lp-rich .lpr-badges{grid-template-columns:1fr;}
  .pm-mock.lp-rich .lpr-cta-group{flex-direction:column;align-items:stretch;}
  .pm-mock.lp-rich .lpr-cta-group .lpr-btn{justify-content:center;}
  .pm-mock.lp-rich .lpr-ba{grid-template-columns:1fr;gap:12px;}
  .pm-mock.lp-rich .lpr-ba-arrow{transform:rotate(90deg);text-align:center;}
  .pm-mock.lp-rich .lpr-voice-card{grid-template-columns:1fr;text-align:center;padding:22px 20px;}
  .pm-mock.lp-rich .lpr-voice-avatar{margin:0 auto;max-width:80px;}
  .pm-mock.lp-rich .lpr-faq-a{padding:0 20px 16px 46px;}
  .pm-mock.lp-rich .lpr-faq-item summary{padding:14px 20px;font-size:17.5px;}
}
@media (max-width:640px){
  .pm-mock.lp-rich .lpr-pain-grid{grid-template-columns:1fr;}
  .pm-mock.lp-rich .lpr-why-grid{grid-template-columns:1fr;}
  .pm-mock.lp-rich .lpr-tl{grid-template-columns:1fr;}
  .pm-mock.lp-rich .lpr-steps{grid-template-columns:1fr;}
  .pm-mock.lp-rich .lpr-reps{grid-template-columns:1fr;}
  .pm-mock.lp-rich .lpr-cmp,
  .pm-mock.lp-rich .lpr-q-table{font-size:15px;}
  .pm-mock.lp-rich .lpr-cmp thead th,
  .pm-mock.lp-rich .lpr-cmp tbody th,
  .pm-mock.lp-rich .lpr-cmp tbody td,
  .pm-mock.lp-rich .lpr-q-table thead th,
  .pm-mock.lp-rich .lpr-q-table tbody td{padding:10px 8px;}
}

/* =============================================================
 * v1.18.0  サービスLP の版面整理
 * -------------------------------------------------------------
 * 実測してわかったこと（/proapocall/ を 1280px で計測）
 *   ・.wrap 直下57ブロックの幅が 1141 / 880 / 860 / 760 の4種類に
 *     割れていた。原因は lp-layouts.css の
 *     「h3, p, ul, ol, table, .cards, .flow …」を
 *     max-width:none !important で全幅に戻すリセットで、
 *     この一覧に入っていないブロック（.tl / .reps / .prices /
 *     .two / .ops / .ba）だけモック側の 860〜880px が残っていた。
 *   ・そのため同じセクションの中で本文の左端が何度も動いていた。
 *
 * ここで .wrap 直下の幅を1種類（いちばん広いところ）に揃える。
 * 上のリセットが !important なので、こちらも !important で上書きする。
 * ※ v1.18.0 では「読み物880px＋図表は全幅」の2種類にしていたが、
 *   v1.18.3 で全幅の1種類に変更した。
 * ============================================================= */

/* --- ① 版面幅を1種類に（v1.18.3 で 880px の読み物幅 → 全幅に変更）---
   いちど「本文880px＋図表は全幅」の2種類にしたが、
   ブロックによって左端が動くのが気になるとのことで、
   .wrap 直下はすべて同じ幅（＝いちばん広いところ）に揃える。
   モック側の max-width:760〜880px はここで打ち消す。 */
.pm-mock.lp-rich .lpr-sec .wrap > * {
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* --- ③ 長いセクションを話題ごとに区切る ---
   /proapocall/ の QUALITY は1セクションで3,000px超あり、
   同じ背景・同じ幅が3画面続いて単調だった。
   h3 が話題の切れ目になっているので、そこに余白と細い罫を足す。 */
.pm-mock.lp-rich .lpr-sec .wrap > h3 {
  margin-top: 62px;
  padding-top: 26px;
  border-top: 1px solid var(--line, #E2E8F1);
}
.pm-mock.lp-rich .lpr-sec .wrap > h3:first-of-type {
  margin-top: 26px;
  padding-top: 0;
  border-top: 0;
}

/* --- ④ 注記は「箱」をやめて左罫に ---
   囲みが多すぎて全部同じ強さに見えるため、補足の枠を外す。
   ※ .neutral は「濃紺の面＋白文字」の強調ブロックなので対象外。
      v1.18.0 で一度含めてしまい、白地に白文字で消えていた（v1.18.1 で除外）。 */
.pm-mock.lp-rich .lpr-sec .q-note {
  background: transparent !important;
  border: 0 !important;
  border-left: 3px solid var(--sky, #1C93D2) !important;
  border-radius: 0 !important;
  padding: 2px 0 2px 18px !important;
}

/* --- ⑤ FLOW：白い枠と内側の余白を外して、5ステップの帯にする ---
   上下56pxの余白は top-mock.css 側で section.flow に限定して解消済み。
   ここでは枠と背景を外し、ステップの間に隙間を入れる。 */
body.is-lp-rich .mock-embed .flow,
body.is-lp-blocks .mock-embed .flow {
  background: none !important;
  border: 0 !important;
  gap: 8px !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.pm-mock.lp-rich .lpr-sec .fstep {
  border-right: 0 !important;
  text-align: center;
  font-size: 16px;
  padding: 16px 12px;
  border-radius: 2px;
}

/* --- ② ヒーローの数値パネルを詰める ---
   数字が左端・項目名が右端で200px以上離れており、
   どの数字がどの項目か視線で追う必要があった。 */
body.is-lp-mock .lpr-hero .tso-figures { max-width: 380px; margin-left: auto; }
body.is-lp-mock .lpr-hero .tso-figure  { padding: 16px 0; gap: 14px; }
body.is-lp-mock .lpr-hero .tso-figure-num { font-size: clamp(38px, 3.2vw, 52px) !important; }
body.is-lp-mock .lpr-hero .tso-figure-cap { font-size: 15px; }

/* =============================================================
 * v1.18.1  /proapocall/ ご指摘の反映
 * ============================================================= */

/* --- B. 「この4本柱が、5つの違いになります」を横1列に ---
   モックの .pillars は表示時に JS で .lps-case-grid > .lps-case へ
   組み替えられる（PC で2カラム＝3行になっていた）。
   実際に描画されるのは後者なので、そちらを5カラム固定にする。 */
.pm-mock.lp-rich .lpr-sec .wrap > .pillars,
body.is-lp-mock .mock-embed .lps-v--casegrid { max-width: none !important; }
.pm-mock.lp-rich .lpr-sec .pillars,
body.is-lp-mock .mock-embed .lps-case-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 12px !important;
}
body.is-lp-mock .mock-embed .lps-case { padding: 18px 14px !important; }
.pm-mock.lp-rich .lpr-sec .pillar    { padding: 18px 16px; }
.pm-mock.lp-rich .lpr-sec .pillar h3 { font-size: 17px; line-height: 1.5; margin-top: 8px; }
.pm-mock.lp-rich .lpr-sec .pillar p  { font-size: 14.5px; line-height: 1.75; }
@media (max-width: 1100px) {
  .pm-mock.lp-rich .lpr-sec .pillars,
  body.is-lp-mock .mock-embed .lps-case-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
@media (max-width: 760px) {
  .pm-mock.lp-rich .lpr-sec .pillars,
  body.is-lp-mock .mock-embed .lps-case-grid { grid-template-columns: 1fr !important; }
}

/* --- C. 「アポの質を決める判断基準」：表と下のブロックの幅をそろえる ---
   基準は上の表（全幅）。注記と2カラムを表に合わせる。 */
.pm-mock.lp-rich .lpr-sec .wrap > :is(.q-note, .two) { max-width: none !important; }

/* --- D. Before→After の棒グラフ（モック側で図に差し替え） ---
   .wrap 直下の figure は全幅にする指定があるので、この図だけ読み物幅に戻す。
   （セレクタを1段強くしているのはそのため） */
.pm-mock.lp-rich .lpr-sec .wrap > figure.ba-fig {
  max-width: none !important;
  margin: 26px 0 0 !important;
}
.pm-mock.lp-rich .lpr-sec .ba-fig svg { width: 100%; height: auto; display: block; }
.pm-mock.lp-rich .lpr-sec .ba-fig figcaption {
  margin-top: 8px; font-size: 14px; color: var(--sub); text-align: center;
}

/* --- E. 分析レポート：各ボックスの右下に水色の番号（v1.18.2 で右下・大きく） --- */
.pm-mock.lp-rich .lpr-sec .reps { counter-reset: repno; }
.pm-mock.lp-rich .lpr-sec .rep {
  counter-increment: repno;
  position: relative;
  padding-bottom: 56px;
}
.pm-mock.lp-rich .lpr-sec .rep::after {
  content: counter(repno, decimal-leading-zero);
  position: absolute; right: 14px; bottom: 12px;
  left: auto; top: auto; width: auto;   /* 旧版の left 指定が残っても横に伸びないように */
  font-family: 'Poppins', sans-serif;
  font-size: 22px; font-weight: 700; letter-spacing: .04em; line-height: 1;
  color: var(--sky-deep, #12689B);
  background: var(--sky-pale, #E5F3FB);
  padding: 8px 14px; border-radius: 2px;
}

/* --- F. FLOW：白 → 最後だけ水色。矢印で左から右へ（v1.18.2） --- */
body.is-lp-rich .mock-embed .flow,
body.is-lp-blocks .mock-embed .flow { gap: 30px !important; }

.pm-mock.lp-rich .lpr-sec .fstep {
  position: relative;
  /* 「テスト稼働」だけ small が空で、文字が上に寄っていたので上下中央に */
  display: flex; flex-direction: column; justify-content: center;
  min-height: 76px;
}
.pm-mock.lp-rich .lpr-sec .fstep + .fstep::before {
  content: "→";
  position: absolute; left: -22px; top: 50%; transform: translateY(-50%);
  font-size: 16px; line-height: 1; color: var(--sky, #1C93D2);
}
/* 1〜4番目は白地・紺文字、5番目（本稼働）だけ水色地・白文字 */
.pm-mock.lp-rich .lpr-sec .fstep:nth-child(-n+4) {
  background: #FFFFFF !important;
  box-shadow: inset 0 0 0 1px #D8E0EC;
}
.pm-mock.lp-rich .lpr-sec .fstep:nth-child(-n+4),
.pm-mock.lp-rich .lpr-sec .fstep:nth-child(-n+4) small { color: #1B224C !important; }
.pm-mock.lp-rich .lpr-sec .fstep:nth-child(-n+4) small { color: #5C6B80 !important; }

.pm-mock.lp-rich .lpr-sec .fstep:nth-child(5) { background: var(--sky, #1C93D2) !important; }
.pm-mock.lp-rich .lpr-sec .fstep:nth-child(5),
.pm-mock.lp-rich .lpr-sec .fstep:nth-child(5) small { color: #FFFFFF !important; }
.pm-mock.lp-rich .lpr-sec .fstep:nth-child(5) small { color: rgba(255,255,255,.85) !important; }


/* =============================================================
 * v1.18.2  /proapocall/ ご指摘の反映（2回目）
 * ============================================================= */

/* --- G. 見出しが2つ続くところに、空の帯ができていた ---
   「導入後の運用と、毎月の改善サイクル」の直後に別の h3 が来るため、
   v1.18.0 で入れた「h3 の上に余白＋罫」が二重にかかり、
   中身のないブロックのように見えていた。続けて置かれた見出しは詰める。 */
.pm-mock.lp-rich .lpr-sec .wrap > h3 + h3 {
  margin-top: 18px;
  padding-top: 0;
  border-top: 0;
}

/* --- H. 「5つの違い」のカードをコンパクトに --- */
body.is-lp-mock .mock-embed .lps-case       { padding: 16px 13px !important; }
body.is-lp-mock .mock-embed .lps-case-badge { width: 46px !important; height: 46px !important; }
body.is-lp-mock .mock-embed .lps-case-main,
body.is-lp-mock .mock-embed .lps-case-main * { font-size: 15px !important; line-height: 1.5 !important; }
body.is-lp-mock .mock-embed .lps-case-body,
body.is-lp-mock .mock-embed .lps-case-body * { font-size: 13.5px !important; line-height: 1.7 !important; }

/* --- I. 「並行してもぶつからない」運用設計の4枠も横1列に --- */
.pm-mock.lp-rich .lpr-sec .wrap > .ops { max-width: none !important; }
.pm-mock.lp-rich .lpr-sec .ops {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 12px;
}
.pm-mock.lp-rich .lpr-sec .op   { font-size: 14px; line-height: 1.75; padding: 16px 14px; }
.pm-mock.lp-rich .lpr-sec .op b { font-size: 15.5px; }
@media (max-width: 1000px) {
  .pm-mock.lp-rich .lpr-sec .ops { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 640px) {
  .pm-mock.lp-rich .lpr-sec .ops { grid-template-columns: 1fr !important; }
}

/* =============================================================
 * v1.50.0  表紙の指標が3つのとき（.tso-figures--lg）
 * -------------------------------------------------------------
 * 5項目を並べていたときは1つあたりを小さくしていた（v1.17.4）。
 * 指標を絞ったページでは、その制限を戻して大きく見せる。
 * ============================================================= */
body.is-lp-mock .lpr-hero .tso-figures--lg { max-width: 460px; }
body.is-lp-mock .lpr-hero .tso-figures--lg .tso-figure { padding: 26px 0; gap: 18px; }
body.is-lp-mock .lpr-hero .tso-figures--lg .tso-figure-num { font-size: clamp(50px, 4.6vw, 76px) !important; }
body.is-lp-mock .lpr-hero .tso-figures--lg .tso-figure-cap { font-size: 18px; }

@media (max-width: 640px) {
  body.is-lp-mock .lpr-hero .tso-figures--lg { max-width: none; }
  body.is-lp-mock .lpr-hero .tso-figures--lg .tso-figure { padding: 18px 0; }
  body.is-lp-mock .lpr-hero .tso-figures--lg .tso-figure-num { font-size: 40px !important; }
  body.is-lp-mock .lpr-hero .tso-figures--lg .tso-figure-cap { font-size: 15px; }
}

/* =============================================================
 * v1.51.0  サービス体制（.team）
 * -------------------------------------------------------------
 * 役割を3つ横並びにするだけの部品。自動レイアウトの対象クラス
 * （.cards / .reasons / .pillars など）とは名前を分けている。
 * 対象にしてしまうと、レイアウトマップのスロット番号がずれるため。
 * ============================================================= */
.pm-mock.lp-rich .lpr-sec .team {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px; margin: 22px 0 0;
}
.pm-mock.lp-rich .lpr-sec .team-r {
  display: flex; flex-direction: column;
  padding: 22px 22px 20px;
  background: #fff; border: 1px solid var(--line, #E2E8F1); border-radius: 6px;
  border-top: 3px solid var(--sky, #1C93D2);
}
.pm-mock.lp-rich .lpr-sec .team-t {
  display: block; font-size: 18px; font-weight: 900; line-height: 1.5;
  color: var(--navy, #1B224C);
}
.pm-mock.lp-rich .lpr-sec .team-d {
  margin: 8px 0 0; font-size: 15px; line-height: 1.85; color: var(--sub, #5C6B80);
}
.pm-mock.lp-rich .lpr-sec .team-l {
  margin: 14px 0 0; padding: 14px 0 0; list-style: none;
  border-top: 1px solid var(--line, #E2E8F1);
}
.pm-mock.lp-rich .lpr-sec .team-l li {
  position: relative; padding-left: 17px; margin-top: 7px;
  font-size: 14.5px; line-height: 1.8; color: var(--ink, #1B224C);
}
.pm-mock.lp-rich .lpr-sec .team-l li:first-child { margin-top: 0; }
.pm-mock.lp-rich .lpr-sec .team-l li::before {
  content: ""; position: absolute; left: 0; top: .72em;
  width: 7px; height: 7px; border-radius: 50%; background: var(--sky, #1C93D2);
}

@media (max-width: 1023px) {
  .pm-mock.lp-rich .lpr-sec .team { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
}
@media (max-width: 640px) {
  .pm-mock.lp-rich .lpr-sec .team { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .pm-mock.lp-rich .lpr-sec .team-r { padding: 18px 16px 16px; }
  .pm-mock.lp-rich .lpr-sec .team-t { font-size: 16.5px; }
  .pm-mock.lp-rich .lpr-sec .team-d { font-size: 14px; }
  .pm-mock.lp-rich .lpr-sec .team-l li { font-size: 13.5px; }
}

/* =============================================================
 * v1.52.0  全幅の表紙（.lpr-hero--wide）
 * -------------------------------------------------------------
 * mock の hero.layout が 'wide' のページだけに出る、別組みの表紙。
 *   ・上段：コピー＋CTA（左）とイラスト（右）
 *   ・下段：数字を帯にして、1つずつ大きく見せる
 * 既存の .lpr-hero-inner は使わないので、他のLPの表紙は変わらない。
 * ============================================================= */
.pm-mock.lp-rich .lpr-hero--wide { padding: 22px 0 0; }
.pm-mock.lp-rich .lpr-hero--wide .lprw {
  position: relative; z-index: 1;
  max-width: 1680px; margin: 0 auto; padding: 0 clamp(24px, 3.4vw, 64px);
}
/* イラストは右に置き、文字がその手前を通る（v1.55.0） */
.pm-mock.lp-rich .lpr-hero--wide .lprw-illust {
  position: absolute; top: -22px; bottom: 0;
  left: 60%;                       /* 文章より右から始める（重ならない） */
  right: calc(50% - 50vw);         /* 右は画面の端まで使う */
  z-index: 0; pointer-events: none;
  display: flex; align-items: flex-end; justify-content: flex-start;
}
.pm-mock.lp-rich .lpr-hero--wide .lprw-copy,
.pm-mock.lp-rich .lpr-hero--wide .lprw-claims,
.pm-mock.lp-rich .lpr-hero--wide .lprw-cta,
.pm-mock.lp-rich .lpr-hero--wide .lprw-note { position: relative; z-index: 1; }
.pm-mock.lp-rich .lpr-hero--wide .lprw-copy { max-width: 56%; padding: 4px 0 0; }
/* イラストを置かないページでは、左の列の幅制限を外す */
.pm-mock.lp-rich .lpr-hero--wide .lprw:not(:has(.lprw-illust)) :is(.lprw-copy, .lprw-claims, .lprw-figs) {
  max-width: none;
}
/* CTA は右下に寄せる */
/* CTA は文章と同じ左寄せ（v1.57.0） */
.pm-mock.lp-rich .lpr-hero--wide .lprw-cta {
  display: flex; flex-direction: column; align-items: flex-start;
  margin-top: 14px; padding-bottom: 30px;
}
.pm-mock.lp-rich .lpr-hero--wide .lprw-cta .lpr-hero-note { text-align: left; margin-top: 8px; }
.pm-mock.lp-rich .lpr-hero--wide .lpr-h1 { margin-bottom: 16px; }
.pm-mock.lp-rich .lpr-hero--wide .lpr-lead { word-break: auto-phrase; overflow-wrap: normal; }
.pm-mock.lp-rich .lpr-hero--wide .lpr-lead { max-width: 40em; }
/* 表紙の縦いっぱいに、左下を基準に置く。文章とは重ならない */
.pm-mock.lp-rich .lpr-hero--wide .lprw-illust img {
  display: block; height: 100%; width: auto; max-width: 100%;
  /* v1.65.0：高さの上限（52vh）を外した。
     vh は表示倍率（global-scale.css の zoom）の影響を受けないため、
     まわりが 0.75 倍になった分だけ絵が相対的に小さく見えていた。
     上限を外すと表紙の縦幅いっぱいまで使い、
     横に入りきらない場合だけ max-width:100% が効いて自然に収まる。 */
  max-height: none;
  object-fit: contain; object-position: left bottom; margin: 0;
}

/* ---- 数字の帯（.lprw-claims を持たないページ向け）----
   文章と同じ左の列に収め、値が数字かどうかで大きさを変える。
   「300」と「一気通貫」を同じ字送りで出さないための出し分け。 */
.pm-mock.lp-rich .lpr-hero--wide .lprw-figs {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px clamp(18px, 2.2vw, 40px);
  max-width: 58%; margin-top: clamp(18px, 3vw, 36px);
}
.pm-mock.lp-rich .lpr-hero--wide .lprw-fig {
  display: flex; flex-direction: column; justify-content: flex-end; min-width: 0;
}
.pm-mock.lp-rich .lpr-hero--wide .lprw-fig-cap {
  display: block; margin-bottom: 2px;
  font-size: clamp(14px, 1.05vw, 17px); font-weight: 700; line-height: 1.5;
  letter-spacing: .01em; color: var(--sub, #5C6B80);
}
.pm-mock.lp-rich .lpr-hero--wide .lprw-fig-num {
  display: block;
  font-family: 'Poppins', sans-serif; font-weight: 700;
  font-size: clamp(40px, 4.2vw, 80px); line-height: 1;
  letter-spacing: -.04em; color: var(--sky, #1C93D2);
  font-variant-numeric: tabular-nums; overflow-wrap: anywhere;
}
.pm-mock.lp-rich .lpr-hero--wide .lprw-fig[data-kind="word"] .lprw-fig-num {
  font-family: 'Noto Sans JP', sans-serif; font-weight: 900;
  font-size: clamp(19px, 1.85vw, 31px); line-height: 1.35; letter-spacing: -.01em;
  color: var(--navy, #1B224C);
}
.pm-mock.lp-rich .lpr-hero--wide .lprw-fig-num i {
  font-style: normal; margin-left: 4px;
  font-family: 'Noto Sans JP', sans-serif; font-weight: 900;
  font-size: .3em; letter-spacing: 0; color: var(--sky, #1C93D2);
}
.pm-mock.lp-rich .lpr-hero--wide .lprw-fig[data-kind="word"] .lprw-fig-num i { font-size: .7em; }

/* 注記は数字のすぐ下に置き、余白を作らない */
.pm-mock.lp-rich .lpr-hero--wide .lprw-note {
  margin: 8px 0 0 !important; padding: 0;
  font-size: clamp(11px, .82vw, 13px) !important; line-height: 1.6 !important;
  color: var(--muted-soft, #98A5B8) !important;
}
/* 画面が広いときは注記を1行に収める（折り返さない） */
@media (min-width: 1280px) {
  .pm-mock.lp-rich .lpr-hero--wide .lprw-note { white-space: nowrap; }
}

/* 濃紺の表紙のとき */
body.is-hero-dark .pm-mock.lp-rich .lpr-hero--wide .lprw-fig-cap { color: rgba(255, 255, 255, .72) !important; }
body.is-hero-dark .pm-mock.lp-rich .lpr-hero--wide .lprw-fig-num { color: var(--teal, #1C93D2) !important; }
body.is-hero-dark .pm-mock.lp-rich .lpr-hero--wide .lprw-fig[data-kind="word"] .lprw-fig-num { color: #fff !important; }
body.is-hero-dark .pm-mock.lp-rich .lpr-hero--wide .lprw-note { color: rgba(255, 255, 255, .5) !important; }

@media (max-width: 1100px) {
  .pm-mock.lp-rich .lpr-hero--wide .lprw-claims,
  .pm-mock.lp-rich .lpr-hero--wide .lprw-figs { max-width: none; }
  .pm-mock.lp-rich .lpr-hero--wide .lprw-note { white-space: normal; }
  .pm-mock.lp-rich .lpr-hero--wide .lprw-illust {
    position: static; display: block; left: auto; right: auto;
    width: 100%; max-width: 460px; margin: 16px auto 4px;
  }
  .pm-mock.lp-rich .lpr-hero--wide .lprw-illust img { height: auto; width: 100%; margin: 0 auto; }
  .pm-mock.lp-rich .lpr-hero--wide .lprw-copy { max-width: none; }
  .pm-mock.lp-rich .lpr-hero--wide .lprw-cta { align-items: stretch; margin-top: 18px; }
}
@media (max-width: 768px) {
  .pm-mock.lp-rich .lpr-hero--wide { padding: 16px 0 0; }
  .pm-mock.lp-rich .lpr-hero--wide .lprw-illust { max-width: 320px; }
  .pm-mock.lp-rich .lpr-hero--wide .lprw-figs { grid-template-columns: minmax(0, 1fr); gap: 14px 0; }
  .pm-mock.lp-rich .lpr-hero--wide .lprw-fig {
    flex-direction: row; align-items: baseline; justify-content: space-between; gap: 14px;
  }
  .pm-mock.lp-rich .lpr-hero--wide .lprw-fig-cap { order: 2; margin: 0; font-size: 14px; text-align: right; }
  .pm-mock.lp-rich .lpr-hero--wide .lprw-fig-num { font-size: 46px; }
  .pm-mock.lp-rich .lpr-hero--wide .lprw-fig[data-kind="word"] .lprw-fig-num { font-size: 19px; }
  .pm-mock.lp-rich .lpr-hero--wide .lprw-cta { padding-bottom: 20px; }
}

/* =============================================================
 * v1.54.0  表紙の数字（.lprw-claims）
 * -------------------------------------------------------------
 * 項目の帯ではなく、文章のまま数字だけを特大にする組み方。
 * <b> が数字、<i> が単位。ラベルも大きめにして、数字との比率を
 * 参考サイト（roundtoss）に寄せている。
 *   ・1行目は左右2つに割って、表紙の幅いっぱいに広げる
 *   ・3文目は次の行に全幅で置く
 *   ・上下の余白は最小限に詰める
 * ============================================================= */
.pm-mock.lp-rich .lpr-hero--wide .lprw-claims {
  display: block; margin-top: clamp(18px, 3vw, 40px); max-width: 58%;
}
/* モックのインラインCSSが p{font-size:15.5px!important;color:…!important} を
   持っているため、ここは !important で上書きする必要がある */
/* 文章として流す。数字を flex の1項目にすると、数字の直後で不自然に
   改行されるため、通常の行組みにして文節で折り返させる（v1.62.0） */
.pm-mock.lp-rich .lpr-hero--wide .lprw-claim {
  display: block; margin: 0 !important; min-width: 0;
  font-family: 'Noto Sans JP', sans-serif; font-weight: 900;
  font-size: clamp(20px, 2.4vw, 42px) !important; line-height: 1.06 !important;
  letter-spacing: -.02em; color: var(--navy, #1B224C) !important;
  word-break: auto-phrase; overflow-wrap: normal; line-break: strict;
}
.pm-mock.lp-rich .lpr-hero--wide .lprw-claim + .lprw-claim { margin-top: clamp(2px, .6vw, 10px) !important; }
/* 文章が長いページは、数字を1〜2段階落として折り返しを減らす（v1.61.0） */
.pm-mock.lp-rich .lpr-hero--wide .lprw-claims--md .lprw-claim { font-size: clamp(19px, 2.15vw, 37px) !important; }
.pm-mock.lp-rich .lpr-hero--wide .lprw-claims--md .lprw-claim b { font-size: clamp(50px, 5.6vw, 106px) !important; }
.pm-mock.lp-rich .lpr-hero--wide .lprw-claims--md .lprw-claim i { font-size: clamp(17px, 1.7vw, 30px) !important; }
.pm-mock.lp-rich .lpr-hero--wide .lprw-claims--sm .lprw-claim { font-size: clamp(17px, 1.85vw, 31px) !important; line-height: 1.2 !important; }
.pm-mock.lp-rich .lpr-hero--wide .lprw-claims--sm .lprw-claim b { font-size: clamp(42px, 4.6vw, 86px) !important; }
.pm-mock.lp-rich .lpr-hero--wide .lprw-claims--sm .lprw-claim i { font-size: clamp(15px, 1.45vw, 25px) !important; }
@media (max-width: 768px) {
  .pm-mock.lp-rich .lpr-hero--wide .lprw-claims--md .lprw-claim,
  .pm-mock.lp-rich .lpr-hero--wide .lprw-claims--sm .lprw-claim { font-size: 18px !important; }
  .pm-mock.lp-rich .lpr-hero--wide .lprw-claims--md .lprw-claim b { font-size: 54px !important; }
  .pm-mock.lp-rich .lpr-hero--wide .lprw-claims--sm .lprw-claim b { font-size: 46px !important; }
  .pm-mock.lp-rich .lpr-hero--wide .lprw-claims--md .lprw-claim i,
  .pm-mock.lp-rich .lpr-hero--wide .lprw-claims--sm .lprw-claim i { font-size: 17px !important; }
}
.pm-mock.lp-rich .lpr-hero--wide .lprw-claim b {
  display: inline-block; vertical-align: baseline; white-space: nowrap;
  font-family: 'Poppins', 'Noto Sans JP', sans-serif; font-weight: 700;
  font-size: clamp(58px, 6.8vw, 128px) !important; line-height: .84;
  letter-spacing: -.05em;
  /* モック側の b,strong{color:navy !important} と p>b のマーカー装飾を外す */
  color: var(--sky, #1C93D2) !important;
  font-variant-numeric: tabular-nums;
  background: none !important; background-image: none !important;
}
.pm-mock.lp-rich .lpr-hero--wide .lprw-claim i {
  font-style: normal; margin-left: .04em;
  font-family: 'Noto Sans JP', sans-serif; font-weight: 900;
  font-size: clamp(18px, 1.9vw, 34px); letter-spacing: -.01em;
  color: var(--sky, #1C93D2) !important;
}

body.is-hero-dark .pm-mock.lp-rich .lpr-hero--wide .lprw-claim { color: #fff !important; }
body.is-hero-dark .pm-mock.lp-rich .lpr-hero--wide .lprw-claim b,
body.is-hero-dark .pm-mock.lp-rich .lpr-hero--wide .lprw-claim i { color: var(--teal, #1C93D2) !important; }

@media (max-width: 768px) {
  .pm-mock.lp-rich .lpr-hero--wide .lprw-claims { margin-top: 16px; }
  .pm-mock.lp-rich .lpr-hero--wide .lprw-claim { font-size: 20px !important; line-height: 1.3 !important; }
  .pm-mock.lp-rich .lpr-hero--wide .lprw-claim b { font-size: 60px !important; }
  .pm-mock.lp-rich .lpr-hero--wide .lprw-claim i { font-size: 19px; }
}

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

.pm-mock.lp-rich .lpr-lead{font-size:21px}
.pm-mock.lp-rich .lpr-badge .b-unit{font-size:18px}
.pm-mock.lp-rich .lpr-badge .b-cap{font-size:14px}
.pm-mock.lp-rich .lpr-badge .b-note{font-size:14px}
body.is-lp-blocks .mock-embed h3{font-size:22px !important}
body.is-lp-rich .mock-embed h3{font-size:22px !important}
body.is-lp-blocks .mock-embed .lead-answer{font-size:21px !important}
body.is-lp-rich .mock-embed .lead-answer{font-size:21px !important}
body.is-lp-blocks .mock-embed .lead{font-size:21px !important}
body.is-lp-rich .mock-embed .lead{font-size:21px !important}
body.is-lp-blocks .mock-embed .card h3{font-size:22px !important}
body.is-lp-rich .mock-embed .card h3{font-size:22px !important}
body.is-lp-blocks .mock-embed .reason h3{font-size:22px !important}
body.is-lp-rich .mock-embed .reason h3{font-size:22px !important}
body.is-lp-blocks .mock-embed .card p{font-size:16px !important}
body.is-lp-rich .mock-embed .card p{font-size:16px !important}
body.is-lp-blocks .mock-embed .reason p{font-size:18px !important}
body.is-lp-rich .mock-embed .reason p{font-size:18px !important}
body.is-lp-blocks .mock-embed table.price thead th{font-size:18px !important}
body.is-lp-rich .mock-embed table.price thead th{font-size:18px !important}
body.is-lp-blocks .mock-embed .faq__q::before{font-size:14px !important}
body.is-lp-rich .mock-embed .faq__q::before{font-size:14px !important}
.pm-mock.lp-rich .lpr-sec .faq .faq__q::before{font-size:14px !important}
.pm-mock.lp-rich .lpr-sec .pain{font-size:18px}
.pm-mock.lp-rich .lpr-sec .pain small{font-size:14px}
.pm-mock.lp-rich .lpr-sec .pillar h3{font-size:22px}
.pm-mock.lp-rich .lpr-sec .pillar p{font-size:18px}
.pm-mock.lp-rich .lpr-sec .note{font-size:14px}
.pm-mock.lp-rich .lpr-sec .tl-card h4{font-size:22px}
.pm-mock.lp-rich .lpr-sec .tl-card p{font-size:16px}
.pm-mock.lp-rich .lpr-sec .tl-total{font-size:18px}
.pm-mock.lp-rich .lpr-sec .tl-total small{font-size:14px}
.pm-mock.lp-rich .lpr-sec .q-table thead th{font-size:18px}
.pm-mock.lp-rich .lpr-sec .tcard h4{font-size:22px}
.pm-mock.lp-rich .lpr-sec .rep{font-size:16px}
.pm-mock.lp-rich .lpr-sec .rep b{font-size:18px}
.pm-mock.lp-rich .lpr-sec .mtg-line{font-size:18px}
.pm-mock.lp-rich .lpr-sec .neutral{font-size:18px}
.pm-mock.lp-rich .lpr-sec .fig figcaption{font-size:14px}
.pm-mock.lp-rich .lpr-sec .op b{font-size:18px}
.pm-mock.lp-rich .lpr-sec .bh{font-size:16px}
.pm-mock.lp-rich .lpr-sec .bl{font-size:16px}
.pm-mock.lp-rich .lpr-sec .cmp thead th{font-size:18px}
.pm-mock.lp-rich .lpr-sec .cmp tbody td{font-size:16px}
.pm-mock.lp-rich .lpr-sec .price h3{font-size:22px}
.pm-mock.lp-rich .lpr-sec .price .pc{font-size:16px}
.pm-mock.lp-rich .lpr-sec .nobind{font-size:18px}
.pm-mock.lp-rich .lpr-sec .voice p{font-size:18px}
.pm-mock.lp-rich .lpr-sec .teaser li{font-size:18px}
.pm-mock.lp-rich .lpr-sec .faq summary{font-size:18px}
.pm-mock.lp-rich .lpr-sec .fstep small{font-size:14px}
.pm-mock.lp-rich .lpr-sec .flow-note{font-size:14px}
.pm-mock.lp-rich .lpr-lead-text{font-size:21px}
.pm-mock.lp-rich .lpr-note{font-size:14px}
.pm-mock.lp-rich .lpr-note-inline{font-size:14px}
.pm-mock.lp-rich .lpr-numrow-body h3{font-size:22px}
.pm-mock.lp-rich .lpr-numrow-body p{font-size:18px}
.pm-mock.lp-rich .lpr-feat-main h3{font-size:28px}
.pm-mock.lp-rich .lpr-feat-sub h4{font-size:22px}
.pm-mock.lp-rich .lpr-feat-sub p{font-size:18px}
.pm-mock.lp-rich .lpr-zig-content h3{font-size:28px}
.pm-mock.lp-rich .lpr-why5-main-badge{font-size:14px}
.pm-mock.lp-rich .lpr-why5-main h3{font-size:28px}
.pm-mock.lp-rich .lpr-why5-main p{font-size:18px}
.pm-mock.lp-rich .lpr-why5-sub p{font-size:18px}
.pm-mock.lp-rich .lpr-pain-card h3{font-size:22px}
.pm-mock.lp-rich .lpr-pain-card p{font-size:16px}
.pm-mock.lp-rich .lpr-pillar h3{font-size:22px}
.pm-mock.lp-rich .lpr-pillar p{font-size:18px}
.pm-mock.lp-rich .lpr-total span{font-size:16px}
.pm-mock.lp-rich .lpr-tl-card h4{font-size:22px}
.pm-mock.lp-rich .lpr-tl-card p{font-size:16px}
.pm-mock.lp-rich .lpr-ba-box .ba-head{font-size:18px}
.pm-mock.lp-rich .lpr-ba-box .ba-cap{font-size:14px}
.pm-mock.lp-rich .lpr-q-table thead th{font-size:18px}
.pm-mock.lp-rich .lpr-q-table tbody td{font-size:16px}
.pm-mock.lp-rich .lpr-tcard h4{font-size:22px}
.pm-mock.lp-rich .lpr-rep b{font-size:18px}
.pm-mock.lp-rich .lpr-rep span{font-size:16px}
.pm-mock.lp-rich .lpr-mtg-line{font-size:18px}
.pm-mock.lp-rich .lpr-neutral{font-size:18px}
.pm-mock.lp-rich .lpr-fig figcaption{font-size:14px}
.pm-mock.lp-rich .lpr-why-card p{font-size:16px}
.pm-mock.lp-rich .lpr-cmp thead th{font-size:18px}
.pm-mock.lp-rich .lpr-cmp tbody th{font-size:18px}
.pm-mock.lp-rich .lpr-plan-head h3{font-size:22px}
.pm-mock.lp-rich .lpr-nobind{font-size:18px}
.pm-mock.lp-rich .lpr-voice-who{font-size:18px}
.pm-mock.lp-rich .lpr-voice-text{font-size:18px}
.pm-mock.lp-rich .lpr-voice-link{font-size:18px}
.pm-mock.lp-rich .lpr-teaser li{font-size:18px}
.pm-mock.lp-rich .lpr-teaser-note{font-size:14px}
.pm-mock.lp-rich .lpr-faq-item summary{font-size:16px}
.pm-mock.lp-rich .lpr-faq-a{font-size:18px}
.pm-mock.lp-rich .lpr-step-item h4{font-size:22px}
.pm-mock.lp-rich .lpr-step-item p{font-size:16px}
.pm-mock.lp-rich .lpr-cta p{font-size:18px}
.pm-mock.lp-rich .lpr-cta p small{font-size:14px}
.pm-mock.lp-rich .lpr-cta-note{font-size:14px}
body.is-lp-mock .mock-embed .lps-case-main{font-size:16px !important}
body.is-lp-mock .mock-embed .lps-case-main *{font-size:16px !important}
body.is-lp-mock .mock-embed .lps-case-body{font-size:18px !important}
body.is-lp-mock .mock-embed .lps-case-body *{font-size:14px !important}
.pm-mock.lp-rich .lpr-sec .team-d{font-size:18px}
.pm-mock.lp-rich .lpr-sec .team-l li{font-size:18px}

@media (max-width:900px){
  .pm-mock.lp-rich .lpr-lead{font-size:17px}
  .pm-mock.lp-rich .lpr-badge .b-unit{font-size:16px}
  .pm-mock.lp-rich .lpr-badge .b-cap{font-size:13px}
  .pm-mock.lp-rich .lpr-badge .b-note{font-size:13px}
  body.is-lp-blocks .mock-embed h3{font-size:19px !important}
  body.is-lp-rich .mock-embed h3{font-size:19px !important}
  body.is-lp-blocks .mock-embed .lead-answer{font-size:17px !important}
  body.is-lp-rich .mock-embed .lead-answer{font-size:17px !important}
  body.is-lp-blocks .mock-embed .lead{font-size:17px !important}
  body.is-lp-rich .mock-embed .lead{font-size:17px !important}
  body.is-lp-blocks .mock-embed .card h3{font-size:19px !important}
  body.is-lp-rich .mock-embed .card h3{font-size:19px !important}
  body.is-lp-blocks .mock-embed .reason h3{font-size:19px !important}
  body.is-lp-rich .mock-embed .reason h3{font-size:19px !important}
  body.is-lp-blocks .mock-embed .card p{font-size:14.5px !important}
  body.is-lp-rich .mock-embed .card p{font-size:14.5px !important}
  body.is-lp-blocks .mock-embed .reason p{font-size:16px !important}
  body.is-lp-rich .mock-embed .reason p{font-size:16px !important}
  body.is-lp-blocks .mock-embed table.price thead th{font-size:16px !important}
  body.is-lp-rich .mock-embed table.price thead th{font-size:16px !important}
  body.is-lp-blocks .mock-embed .faq__q::before{font-size:13px !important}
  body.is-lp-rich .mock-embed .faq__q::before{font-size:13px !important}
  .pm-mock.lp-rich .lpr-sec .faq .faq__q::before{font-size:13px !important}
  .pm-mock.lp-rich .lpr-sec .pain{font-size:16px}
  .pm-mock.lp-rich .lpr-sec .pain small{font-size:13px}
  .pm-mock.lp-rich .lpr-sec .pillar h3{font-size:19px}
  .pm-mock.lp-rich .lpr-sec .pillar p{font-size:16px}
  .pm-mock.lp-rich .lpr-sec .note{font-size:13px}
  .pm-mock.lp-rich .lpr-sec .tl-card h4{font-size:19px}
  .pm-mock.lp-rich .lpr-sec .tl-card p{font-size:14.5px}
  .pm-mock.lp-rich .lpr-sec .tl-total{font-size:16px}
  .pm-mock.lp-rich .lpr-sec .tl-total small{font-size:13px}
  .pm-mock.lp-rich .lpr-sec .q-table thead th{font-size:16px}
  .pm-mock.lp-rich .lpr-sec .tcard h4{font-size:19px}
  .pm-mock.lp-rich .lpr-sec .rep{font-size:14.5px}
  .pm-mock.lp-rich .lpr-sec .rep b{font-size:16px}
  .pm-mock.lp-rich .lpr-sec .mtg-line{font-size:16px}
  .pm-mock.lp-rich .lpr-sec .neutral{font-size:16px}
  .pm-mock.lp-rich .lpr-sec .fig figcaption{font-size:13px}
  .pm-mock.lp-rich .lpr-sec .op b{font-size:16px}
  .pm-mock.lp-rich .lpr-sec .bh{font-size:14.5px}
  .pm-mock.lp-rich .lpr-sec .bl{font-size:14.5px}
  .pm-mock.lp-rich .lpr-sec .cmp thead th{font-size:16px}
  .pm-mock.lp-rich .lpr-sec .cmp tbody td{font-size:14.5px}
  .pm-mock.lp-rich .lpr-sec .price h3{font-size:19px}
  .pm-mock.lp-rich .lpr-sec .price .pc{font-size:14.5px}
  .pm-mock.lp-rich .lpr-sec .nobind{font-size:16px}
  .pm-mock.lp-rich .lpr-sec .voice p{font-size:16px}
  .pm-mock.lp-rich .lpr-sec .teaser li{font-size:16px}
  .pm-mock.lp-rich .lpr-sec .faq summary{font-size:16px}
  .pm-mock.lp-rich .lpr-sec .fstep small{font-size:13px}
  .pm-mock.lp-rich .lpr-sec .flow-note{font-size:13px}
  .pm-mock.lp-rich .lpr-lead-text{font-size:17px}
  .pm-mock.lp-rich .lpr-note{font-size:13px}
  .pm-mock.lp-rich .lpr-note-inline{font-size:13px}
  .pm-mock.lp-rich .lpr-numrow-body h3{font-size:19px}
  .pm-mock.lp-rich .lpr-numrow-body p{font-size:16px}
  .pm-mock.lp-rich .lpr-feat-main h3{font-size:22px}
  .pm-mock.lp-rich .lpr-feat-sub h4{font-size:19px}
  .pm-mock.lp-rich .lpr-feat-sub p{font-size:16px}
  .pm-mock.lp-rich .lpr-zig-content h3{font-size:22px}
  .pm-mock.lp-rich .lpr-why5-main-badge{font-size:13px}
  .pm-mock.lp-rich .lpr-why5-main h3{font-size:22px}
  .pm-mock.lp-rich .lpr-why5-main p{font-size:16px}
  .pm-mock.lp-rich .lpr-why5-sub p{font-size:16px}
  .pm-mock.lp-rich .lpr-pain-card h3{font-size:19px}
  .pm-mock.lp-rich .lpr-pain-card p{font-size:14.5px}
  .pm-mock.lp-rich .lpr-pillar h3{font-size:19px}
  .pm-mock.lp-rich .lpr-pillar p{font-size:16px}
  .pm-mock.lp-rich .lpr-total span{font-size:14.5px}
  .pm-mock.lp-rich .lpr-tl-card h4{font-size:19px}
  .pm-mock.lp-rich .lpr-tl-card p{font-size:14.5px}
  .pm-mock.lp-rich .lpr-ba-box .ba-head{font-size:16px}
  .pm-mock.lp-rich .lpr-ba-box .ba-cap{font-size:13px}
  .pm-mock.lp-rich .lpr-q-table thead th{font-size:16px}
  .pm-mock.lp-rich .lpr-q-table tbody td{font-size:14.5px}
  .pm-mock.lp-rich .lpr-tcard h4{font-size:19px}
  .pm-mock.lp-rich .lpr-rep b{font-size:16px}
  .pm-mock.lp-rich .lpr-rep span{font-size:14.5px}
  .pm-mock.lp-rich .lpr-mtg-line{font-size:16px}
  .pm-mock.lp-rich .lpr-neutral{font-size:16px}
  .pm-mock.lp-rich .lpr-fig figcaption{font-size:13px}
  .pm-mock.lp-rich .lpr-why-card p{font-size:14.5px}
  .pm-mock.lp-rich .lpr-cmp thead th{font-size:16px}
  .pm-mock.lp-rich .lpr-cmp tbody th{font-size:16px}
  .pm-mock.lp-rich .lpr-plan-head h3{font-size:19px}
  .pm-mock.lp-rich .lpr-nobind{font-size:16px}
  .pm-mock.lp-rich .lpr-voice-who{font-size:16px}
  .pm-mock.lp-rich .lpr-voice-text{font-size:16px}
  .pm-mock.lp-rich .lpr-voice-link{font-size:16px}
  .pm-mock.lp-rich .lpr-teaser li{font-size:16px}
  .pm-mock.lp-rich .lpr-teaser-note{font-size:13px}
  .pm-mock.lp-rich .lpr-faq-item summary{font-size:14.5px}
  .pm-mock.lp-rich .lpr-faq-a{font-size:16px}
  .pm-mock.lp-rich .lpr-step-item h4{font-size:19px}
  .pm-mock.lp-rich .lpr-step-item p{font-size:14.5px}
  .pm-mock.lp-rich .lpr-cta p{font-size:16px}
  .pm-mock.lp-rich .lpr-cta p small{font-size:13px}
  .pm-mock.lp-rich .lpr-cta-note{font-size:13px}
  body.is-lp-mock .mock-embed .lps-case-main{font-size:14.5px !important}
  body.is-lp-mock .mock-embed .lps-case-main *{font-size:14.5px !important}
  body.is-lp-mock .mock-embed .lps-case-body{font-size:16px !important}
  body.is-lp-mock .mock-embed .lps-case-body *{font-size:13px !important}
  .pm-mock.lp-rich .lpr-sec .team-d{font-size:16px}
  .pm-mock.lp-rich .lpr-sec .team-l li{font-size:16px}
}

@media (max-width:768px){
  .pm-mock.lp-rich .lpr-feat-main h3{font-size:19px}
  .pm-mock.lp-rich .lpr-faq-item summary{font-size:14.5px}
}

@media (max-width:640px){
  .pm-mock.lp-rich .lpr-cmp{font-size:16px}
  .pm-mock.lp-rich .lpr-q-table{font-size:16px}
}

@media (max-width: 640px){
  .pm-mock.lp-rich .lpr-sec .team-t{font-size:16px}
  .pm-mock.lp-rich .lpr-sec .team-d{font-size:16px}
  .pm-mock.lp-rich .lpr-sec .team-l li{font-size:16px}
}
