/* ============================================================
 * TOP Page — Mock Implementation (v0.17.0)
 *   ・提供モック「案C改訂版・高密度レイアウト」を忠実に WP 化
 *   ・.pm-mock ラッパで既存テーマと完全隔離
 *   ・方針書「精密な実行家（Precision & Traction）」準拠
 * ============================================================ */

html{scroll-behavior:smooth;scroll-padding-top:110px;} /* header 92px + 少し余白 */

/* テーマ style.css の `overflow-x:hidden` が sticky を壊すので、
   mock ページでは overflow-x:clip に切り替える（クリッピングはするがスクロールコンテキストを作らない）*/
html,
body{overflow-x:clip !important;}

.pm-mock{
  /* === Prosell 公式パレット v1.0 準拠 === */
  --navy:#1B224C;         /* プロセルネイビー（主基調）*/
  --navy-dark:#141936;    /* 濃ネイビー */
  --navy-deep:#0F1229;    /* 最濃ネイビー（AI背景・フッター）*/
  --sky:#1C93D2;          /* プロセルブルー（アクセント）*/
  --sky-mid:#4EA9CA;      /* サブブルー（装飾・ホバー）*/
  --sky-light:#5FB6E8;    /* 派生 明（ダーク背景上）*/
  --sky-pale:#EAF4FB;     /* 派生 淡（ホバー背景・タグ地）*/
  --teal:#71BFBA;         /* ロゴティール（限定使用）*/
  --cta:#F5A945;          /* CVオレンジ（無料相談・資料請求専用）*/
  --cta-hover:#E89933;    /* CVオレンジ hover */
  --ink:#1B224C;          /* 本文基調（navy と統一）*/
  --sub:#5C6B80;          /* 補足テキスト */
  --faint:#98A5B8;        /* ミュート・注記 */
  --line:#E2E8F1;         /* 罫線・境界 */
  --bg:#FFFFFF;
  --tint:#F4F7FB;         /* セクション交互背景 */

  font-family:'Noto Sans JP',sans-serif;
  color:var(--ink);
  background:var(--bg);
  font-size:18px;
  line-height:1.85;
  letter-spacing:.02em;
  -webkit-font-smoothing:antialiased;
}
.pm-mock *{margin:0;padding:0;box-sizing:border-box;}
.pm-mock .en{font-family:'Poppins',sans-serif;}
.pm-mock a{color:inherit;text-decoration:none;}
.pm-mock .container{max-width:100%;margin:0;padding:0 60px;position:relative;z-index:1;}

/* ===== 各セクション背景の大型英字（HEROのTRACTION と同系） ===== */
.pm-mock .sec-bg-word{
  position:absolute;top:-24px;
  font-family:'Poppins',sans-serif;
  font-size:170px;font-weight:700;
  line-height:1;letter-spacing:-.02em;
  user-select:none;pointer-events:none;
  white-space:nowrap;z-index:0;
}
.pm-mock .sec-bg-word--right{right:-30px;}
.pm-mock .sec-bg-word--left{left:-30px;}
/* 白背景 → グレー文字 */
.pm-mock .sec-bg-word--on-white{color:var(--tint);}
/* グレー背景 → 白文字 */
.pm-mock .sec-bg-word--on-tint{color:#fff;}
/* ダーク背景 → うっすら白文字 */
.pm-mock .sec-bg-word--on-dark{color:rgba(255,255,255,.05);}
/* sky bg 上でも見える濃いめ白（AI, CTA など sky セクション用）*/
.pm-mock .ai .sec-bg-word--on-dark{color:rgba(255,255,255,.18);}
/* 下から立ち上がる演出（.reveal 経由） */
.pm-mock .sec-bg-word.reveal{
  transform:translateY(80px);
  transition:opacity 1.4s cubic-bezier(.16,.68,.28,1), transform 1.4s cubic-bezier(.16,.68,.28,1);
}
/* 各セクションを positioning context + overflow hide */
.pm-mock .challenge,
.pm-mock .strength,
.pm-mock .svc,
.pm-mock .cases,
.pm-mock .knowledge,
.pm-mock .flow,
.pm-mock .faq{position:relative;overflow:hidden;}

/* ===== side tab ===== */
.pm-mock .side-tab{position:fixed;right:0;top:110px;z-index:200;display:flex;flex-direction:column;}
.pm-mock .side-tab a{writing-mode:vertical-rl;padding:22px 13px;font-size:15.5px;font-weight:700;letter-spacing:.18em;}
.pm-mock .side-tab .t1{background:var(--sky);color:#fff;}
.pm-mock .side-tab .t1:hover{background:var(--navy);}
.pm-mock .side-tab .t2{background:var(--navy-dark);color:#fff;}
.pm-mock .side-tab .t2:hover{background:var(--navy);}

/* ===== header ===== */
.pm-mock > header{
  position:-webkit-sticky;position:sticky !important;
  top:0;
  background:#fff;
  z-index:9999;
  border-bottom:1px solid var(--line);
  width:100%;
}
/* WP 管理バーが表示されている場合は 32px 下に */
body.admin-bar .pm-mock > header{top:32px;}
@media(max-width:782px){
  body.admin-bar .pm-mock > header{top:46px;}
}
.pm-mock .header-inner{max-width:100%;margin:0;padding:0 72px;height:92px;display:flex;align-items:center;gap:24px;}
.pm-mock .logo{display:flex;align-items:center;gap:11px;}
.pm-mock .logo img{display:block;height:48px;width:auto;}
.pm-mock nav{margin-left:auto;display:flex;gap:40px;margin-right:32px;}
.pm-mock nav a{font-size:20px;font-weight:700;color:var(--ink);padding:8px 0;border-bottom:2px solid transparent;transition:color .15s, border-color .15s;}
.pm-mock nav a:hover{color:var(--sky);border-bottom-color:var(--sky);}
/* 無料相談 CTA — メインカラー（sky）*/
.pm-mock .h-btn{background:var(--sky);color:#fff;font-size:18px;font-weight:700;padding:16px 34px;transition:.2s;letter-spacing:.02em;}
.pm-mock .h-btn:hover{background:var(--navy);}

/* ===== hero (v2: 巨大タイトル + 段階アニメ) ===== */
.pm-mock .hero{
  padding:28px 0 36px;
  position:relative;overflow:hidden;
  min-height:auto;   /* viewport 拘束を外してコンテンツ高に合わせる */
}
@media (min-width:1200px){
  .pm-mock .hero{
    /* ヘッダー(92px)込みで 1画面内に収める */
    min-height:calc(100vh - 92px);
    display:flex;align-items:center;
  }
  .pm-mock .hero > .container{width:100%;}
}
/* WP 管理バー分の追加補正 */
body.admin-bar .pm-mock .hero{}
@media (min-width:1200px){
  body.admin-bar .pm-mock .hero{min-height:calc(100vh - 92px - 32px);}
}

/* 背景写真層（実写差し替え可）*/
.pm-mock .hero-photo{
  position:absolute;inset:0;z-index:0;
  background:linear-gradient(135deg, #EAF4FB 0%, #A5D5EE 35%, #5FB6E8 70%, #1C93D2 100%);
  background-size:cover;background-position:center;
}

/* 白グラデーション tint（テキスト可読性）*/
.pm-mock .hero-tint{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,
    rgba(255,255,255,0.85) 0%,
    rgba(255,255,255,0.70) 60%,
    rgba(255,255,255,0.55) 100%);
}

.pm-mock .hero .container{position:relative;z-index:3;}

/* ---- 巨大背景装飾（見た目のみ・最背面）---- */
.pm-mock .hero-bg-title{
  position:absolute;
  top:50%;left:0;right:0;
  transform:translateY(-50%);
  z-index:2;
  pointer-events:none;
  font-family:'Poppins',sans-serif;
  font-weight:700;
  font-size:clamp(140px, 18vw, 320px);
  line-height:.95;
  color:rgba(27,34,76,.08);   /* うっすらネイビー */
  letter-spacing:-.04em;
  padding:0 60px;
  margin:0;
  white-space:nowrap;
  overflow:hidden;
}
.pm-mock .hero-bg-title .bg-line{display:block;}
.pm-mock .hero-bg-title .bg-line-2{padding-left:.15em;}
.pm-mock .hero-bg-title .accent{color:rgba(28,147,210,.25);}

/* ---- 前面 h1（v63：大きく、下に余裕をもった余白）---- */
.pm-mock .hero-title{
  position:relative;
  z-index:3;
  font-family:'Poppins',sans-serif;
  font-weight:700;
  font-size:clamp(52px, 5.4vw, 96px);
  line-height:1;
  color:var(--navy);
  letter-spacing:-.025em;
  margin:0 0 48px;
}
.pm-mock .hero-title .hero-line{display:block;}
.pm-mock .hero-title .hero-line-2{margin-top:.05em;}
.pm-mock .hero-title .accent{color:var(--sky);}

/* ---- 本文行（左）+ 課題分岐（右）---- */
.pm-mock .hero-body{
  display:grid;
  grid-template-columns:1.15fr 1fr;
  gap:60px;
  align-items:start; /* 上端揃え：右カラムの余白を回避 */
}

/* 日本語サブタイトル（v63：大きく、上下に余白） */
.pm-mock .hero-jp{
  margin:0 0 36px;
  font-family:'Noto Sans JP',sans-serif;
  font-weight:900;
  font-size:clamp(26px, 2.5vw, 44px);
  line-height:1.5;
  color:var(--ink);
  letter-spacing:-.005em;
}
.pm-mock .hero-jp .jp-mid{color:var(--sky);font-weight:900;letter-spacing:.01em;}

/* 説明文（v63：大きく、下に余白） */
.pm-mock .hero-sub{
  margin:0 0 44px;
  font-size:clamp(15px, 1.25vw, 20px);
  line-height:1.85;
  color:var(--ink);
  max-width:38em;
  font-weight:500;
}

.pm-mock .hero-actions{margin-top:8px;display:flex;gap:16px;flex-wrap:wrap;}
.pm-mock .hero .hero-actions .btn-big{padding:16px 30px;font-size:16px;}

/* ================================================================
 * v63：HERO 右カラム（大きめ・目立たせる）
 *  - 上に「特定のソリューションがお決まりの方」（メイン）
 *  - 下に「貴社の課題からはじめる」（サブ・小さめ）
 * ================================================================ */
.pm-mock .hero .branch-stack{display:flex;flex-direction:column;gap:16px;}

/* ---- Solution Primary（メイン導線・大きめに） ---- */
.pm-mock .hero .solution-primary{
  background:#fff;
  border:1px solid rgba(27,34,76,.10);
  box-shadow:0 20px 44px rgba(27,34,76,.10);
  padding:22px 26px 20px;
  position:relative;
}
.pm-mock .hero .solution-primary::before{
  content:"";
  position:absolute;left:0;top:0;bottom:0;width:5px;
  background:linear-gradient(180deg,var(--sky) 0%,var(--navy) 100%);
}
.pm-mock .hero .sp-head{
  font-size:clamp(17px,1.4vw,22px);
  font-weight:900;
  color:var(--navy);
  letter-spacing:.02em;
  margin:0 0 16px;
  padding-left:12px;
  line-height:1.4;
}
.pm-mock .hero .sp-head::before{
  content:"SOLUTION";
  display:block;
  font-family:'Poppins',sans-serif;
  font-size:11.5px;
  font-weight:700;
  color:var(--sky);
  letter-spacing:.2em;
  margin-bottom:4px;
}
.pm-mock .hero .sp-grid{display:grid;gap:6px;}
.pm-mock .hero .sp-card{
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:10px;
  padding:14px 18px;
  text-decoration:none;
  color:var(--navy);
  border:1px solid var(--line);
  background:#fff;
  transition:.18s;
}
.pm-mock .hero .sp-card:hover{
  border-color:var(--sky);
  background:var(--sky-pale,#e5f3fb);
  transform:translateX(2px);
}
.pm-mock .hero .sp-card .sp-cat{
  font-size:16px;
  font-weight:900;
  color:var(--navy);
  grid-column:1;grid-row:1;
  line-height:1.35;
}
.pm-mock .hero .sp-card .sp-sub{
  font-size:12.5px;
  color:var(--sub);
  grid-column:1;grid-row:2;
  margin-top:3px;
  line-height:1.45;
}
.pm-mock .hero .sp-card .sp-arr{
  grid-column:2;grid-row:1 / span 2;
  font-family:'Poppins',sans-serif;
  font-size:20px;
  color:var(--sky);
  font-weight:700;
}

/* ---- Branch Sub（サブ導線・少しゆとりある小さめ） ---- */
.pm-mock .hero .branch-sub{
  padding:14px 16px 12px;
  border:1px solid rgba(27,34,76,.08);
  background:rgba(255,255,255,.55);
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
}
.pm-mock .hero .branch-sub .branch-head{
  font-size:12.5px;
  font-weight:700;
  color:var(--sub);
  letter-spacing:.06em;
  margin:0 0 8px;
  padding-left:8px;
  border-left:2px solid var(--sub);
}
.pm-mock .hero .branch-mini-grid{display:grid;gap:2px;}
.pm-mock .hero .branch-mini{
  display:flex;justify-content:space-between;align-items:center;
  padding:10px 12px;
  text-decoration:none;
  color:var(--navy);
  transition:.15s;
  border-radius:2px;
}
.pm-mock .hero .branch-mini:hover{background:var(--tint,#F1F6FA);}
.pm-mock .hero .branch-mini h3{
  font-size:14.5px;
  font-weight:700;
  color:var(--navy);
  margin:0;
  line-height:1.3;
}
.pm-mock .hero .branch-mini .arr{
  font-family:'Poppins',sans-serif;
  font-size:15px;
  color:var(--sky);
  font-weight:700;
}

@media (max-width:960px){
  .pm-mock .hero-body{grid-template-columns:1fr;gap:24px;}
  .pm-mock .hero{min-height:auto !important;}
}
@media (max-width:640px){
  .pm-mock .hero .solution-primary{padding:12px 14px 10px;}
  .pm-mock .hero .sp-head{font-size:14px;}
  .pm-mock .hero .sp-card{padding:8px 12px;}
  .pm-mock .hero .sp-card .sp-cat{font-size:13px;}
}

/* ---- HERO 内 CTA ボタンも大きく ---- */
.pm-mock .hero .btn-big{
  font-size:clamp(15px, 1.15vw, 20px);
  padding:22px 36px;
  min-width:260px;
  gap:28px;
}

/* ============================================================
 * HERO 段階アニメーション
 *   0.4s : Get Traction,
 *   1.1s : Grow Business.
 *   2.0s : 新規事業の… (Japanese subtitle)
 *   2.9s : 豊富な支援実績… (BUBBLE POP)
 *   3.7s : CTA ボタン + branch stack （ゆっくり）
 * ============================================================ */
/* --- HERO アニメ v7：背景常時表示 → 前面 h1 順次 → 日本語 2 行がゆっくりフェード → CTA + カード（1つずつ左から）--- */

/* 背景装飾は最初から表示（アニメなし）*/
.pm-mock .hero .bg-line{opacity:1;transform:none;}

/* 前面コンテンツは初期非表示 */
.pm-mock .hero .hero-line,
.pm-mock .hero .hero-jp,
.pm-mock .hero .hero-sub,
.pm-mock .hero .hero-actions,
.pm-mock .hero .branch-head,
.pm-mock .hero .branch-card{opacity:0;}

/* h1 は下からせり上がり */
.pm-mock .hero .hero-line{transform:translateY(40px);}
/* CTA / branch-head は下から少しせり上がり */
.pm-mock .hero .hero-actions,
.pm-mock .hero .branch-head{transform:translateY(20px);}
/* カードは左からスライドイン（stagger）*/
.pm-mock .hero .branch-card{transform:translateX(-80px);}
/* hero-jp / hero-sub は移動なし・透明度のみで薄→濃 */
.pm-mock .hero .hero-jp,
.pm-mock .hero .hero-sub{transform:none;}

/* シーケンス
   0.6s  Get Traction,           （前面）
   1.3s  Grow Business.
   2.2s  新規事業の... + 豊富な支援...   ← 同時にゆっくりフェードイン（1.8s）
   3.6s  CTA + あなたの課題見出し（見出し + CTA 同時）
   3.9s  card 1（左から）
   4.2s  card 2
   4.5s  card 3
*/
.pm-mock .hero .hero-line-1{
  animation:pm-hero-fade-up .6s cubic-bezier(.16,.68,.28,1) .2s forwards;
}
.pm-mock .hero .hero-line-2{
  animation:pm-hero-fade-up .6s cubic-bezier(.16,.68,.28,1) .55s forwards;
}
.pm-mock .hero .hero-jp,
.pm-mock .hero .hero-sub{
  animation:pm-hero-fade-in 1s ease-out 1.05s forwards;
}
.pm-mock .hero .hero-actions,
.pm-mock .hero .branch-head{
  animation:pm-hero-fade-up .65s cubic-bezier(.16,.68,.28,1) 1.7s forwards;
}
.pm-mock .hero .branch-card{
  animation:pm-hero-slide-in .55s cubic-bezier(.16,.68,.28,1) forwards;
}
.pm-mock .hero .branch-card:nth-of-type(1){animation-delay:1.9s;}
.pm-mock .hero .branch-card:nth-of-type(2){animation-delay:2.1s;}
.pm-mock .hero .branch-card:nth-of-type(3){animation-delay:2.3s;}

/* シンプルなフェードイン（透明度のみ）*/
@keyframes pm-hero-fade-in{
  to{opacity:1;}
}
@keyframes pm-hero-slide-in{
  to{opacity:1;transform:translateX(0);}
}

@keyframes pm-hero-fade-up{to{opacity:1;transform:translateY(0);}}
@keyframes pm-hero-slow-up{to{opacity:1;transform:translateY(0);}}
@keyframes pm-hero-bubble-pop{
  0%   {opacity:0; transform:scale(.4);}
  55%  {opacity:1; transform:scale(1.06);}
  80%  {transform:scale(.98);}
  100% {opacity:1; transform:scale(1);}
}

@media(prefers-reduced-motion:reduce){
  .pm-mock .hero .hero-line,
  .pm-mock .hero .bg-line,
  .pm-mock .hero .hero-jp,
  .pm-mock .hero .hero-sub,
  .pm-mock .hero .hero-actions,
  .pm-mock .hero .branch-head,
  .pm-mock .hero .branch-card{
    opacity:1;transform:none;animation:none;
  }
}

/* HERO レスポンシブ */
@media(max-width:1060px){
  .pm-mock .hero{padding:56px 0 64px;min-height:auto;}
  .pm-mock .hero-title{margin-bottom:40px;}
  .pm-mock .hero-body{grid-template-columns:1fr;gap:40px;}
}
.pm-mock .hero-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:48px;align-items:center;}
.pm-mock .hero-tag{display:inline-block;background:var(--navy);color:#fff;font-size:15px;font-weight:700;letter-spacing:.12em;padding:7px 16px;}
/* 旧 .pm-mock .hero h1 ルールは削除
   → .pm-mock .hero-title に統一（v0.20.2 以降・巨大背景装飾） */
.pm-mock .hero-jp{margin-top:22px;font-size:23px;font-weight:900;color:var(--ink);line-height:1.75;}
.pm-mock .hero-jp .en-mid{font-family:'Poppins',sans-serif;font-weight:600;color:var(--sky);letter-spacing:.02em;}
.pm-mock .hero-jp .jp-mid{font-weight:900;color:var(--sky);letter-spacing:.02em;}
.pm-mock .hero-sub{margin-top:10px;font-size:17px;color:var(--sub);max-width:42em;}
.pm-mock .hero-actions{margin-top:28px;display:flex;gap:14px;}
.pm-mock .btn-big{
  display:inline-flex;align-items:center;justify-content:space-between;
  gap:24px;border:1px solid var(--navy);
  padding:16px 26px;
  font-size:16px;line-height:1;font-weight:700;
  color:var(--navy);
  min-width:220px;
  transition:.25s;background:#fff;
  white-space:nowrap;
}
.pm-mock .btn-big::after{content:"→";font-family:'Poppins',sans-serif;color:var(--sky);}
.pm-mock .btn-big:hover{background:var(--navy);color:#fff;border-color:var(--navy);}
.pm-mock .btn-big:hover::after{color:#fff;}
/* Primary（メインCTA・パレットの Primary/MAIN = sky）*/
.pm-mock .btn-big.primary{background:var(--sky);border-color:var(--sky);color:#fff;}
.pm-mock .btn-big.primary:hover{background:var(--navy);border-color:var(--navy);color:#fff;}
.pm-mock .btn-big.primary::after{color:#fff;}
/* CV 直結ボタン（Conversion オレンジ・限定使用のオプション）*/
.pm-mock .btn-big.cta{background:var(--cta);border-color:var(--cta);color:var(--navy);}
.pm-mock .btn-big.cta:hover{background:var(--cta-hover);border-color:var(--cta-hover);color:var(--navy);}
.pm-mock .btn-big.cta::after{color:var(--navy);}
.pm-mock .branch-stack{display:flex;flex-direction:column;gap:10px;}
.pm-mock .branch-head{font-size:16px;font-weight:700;color:var(--sub);letter-spacing:.06em;margin-bottom:2px;}
.pm-mock .branch-card{display:grid;grid-template-columns:1fr auto;align-items:center;gap:16px;border:1px solid var(--line);background:#fff;padding:18px 22px;transition:.2s;position:relative;}
.pm-mock .branch-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--navy);transition:.2s;}
.pm-mock .branch-card:hover{border-color:var(--sky);box-shadow:0 10px 26px rgba(27,34,76,.1);}
.pm-mock .branch-card:hover::before{background:var(--sky);}
.pm-mock .branch-card h3{font-size:19px;font-weight:900;color:var(--navy);line-height:1.5;}
.pm-mock .branch-card .b-sub{font-size:15px;color:var(--sub);margin-top:2px;}
.pm-mock .branch-card .arr{font-family:'Poppins',sans-serif;font-size:22px;color:var(--sky);transition:.2s;}
.pm-mock .branch-card:hover .arr{transform:translateX(5px);}

/* ===== challenge strip ===== */
.pm-mock .challenge{background:var(--tint);border-top:1px solid var(--line);padding:40px 0 44px;}
.pm-mock .challenge-head{display:flex;align-items:baseline;gap:20px;margin-bottom:20px;}
.pm-mock .challenge-head h2{font-family:'Poppins',sans-serif;font-size:31px;font-weight:700;color:var(--navy);text-transform:uppercase;letter-spacing:.02em;}
.pm-mock .challenge-head .bar{width:34px;height:3px;background:var(--sky);align-self:center;}
.pm-mock .challenge-head .jp{font-size:16.5px;font-weight:700;color:var(--sub);}
.pm-mock .ch-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.pm-mock .ch-col .ch-cat{display:flex;align-items:center;gap:10px;font-size:16.5px;font-weight:900;color:var(--navy);padding-bottom:8px;border-bottom:2px solid var(--navy);margin-bottom:8px;}
.pm-mock .ch-col .ch-cat .no{font-family:'Poppins',sans-serif;font-size:14.5px;font-weight:600;color:var(--sky);}
.pm-mock .ch-item{display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid var(--line);padding:11px 16px;margin-bottom:6px;font-size:16px;font-weight:500;transition:.15s;}
.pm-mock .ch-item:hover{border-color:var(--sky);background:var(--sky-pale);}
.pm-mock .ch-item .a{font-family:'Poppins',sans-serif;color:var(--sky);font-weight:600;}

/* ===== numbers ===== */
/* Numbers: sky bg 版（v0.22 プロセルカラー統一）*/
.pm-mock .numbers{background:var(--sky);color:#fff;padding:40px 0 36px;position:relative;overflow:hidden;}
.pm-mock .numbers .label-strip{font-family:'Poppins',sans-serif;font-size:13.5px;font-weight:600;letter-spacing:.3em;color:#fff;margin-bottom:18px;}
.pm-mock .numbers-grid{display:grid;grid-template-columns:repeat(4,1fr);}
.pm-mock .num-cell{padding:2px 28px 0;position:relative;}
.pm-mock .num-cell + .num-cell{border-left:1px solid rgba(255,255,255,.32);}
.pm-mock .num-cell .value{font-family:'Poppins',sans-serif;font-size:64px;font-weight:600;line-height:1.05;color:#fff;white-space:nowrap;}
.pm-mock .num-cell .value small{font-size:24px;font-weight:500;}
.pm-mock .num-cell .value .accent{color:#fff;} /* 他数値と同じ白で統一 */
.pm-mock .num-cell .label{font-size:15.5px;font-weight:700;color:rgba(255,255,255,.95);margin-top:6px;}
.pm-mock .num-cell .note{font-size:13.5px;color:rgba(255,255,255,.75);}

/* ===== section commons ===== */
.pm-mock section{padding:64px 0;}
.pm-mock .sec-head{display:flex;align-items:baseline;gap:20px;margin-bottom:34px;flex-wrap:wrap;}
.pm-mock .sec-head h2{font-family:'Poppins',sans-serif;font-size:44px;font-weight:700;color:var(--navy);text-transform:uppercase;letter-spacing:.01em;line-height:1;}
.pm-mock .sec-head .bar{width:34px;height:4px;background:var(--sky);align-self:center;}
.pm-mock .sec-head .jp{font-size:17px;font-weight:700;color:var(--sub);}
.pm-mock .sec-head .lead{width:100%;font-size:17.5px;color:var(--ink);font-weight:500;margin-top:6px;}

/* ===== strengths ===== */
.pm-mock .strength{background:#fff;padding-top:56px;}
.pm-mock .str-mosaic{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:auto;gap:14px;}
.pm-mock .str-card{border:1px solid var(--line);padding:26px 26px 22px;position:relative;background:#fff;transition:.2s;}
.pm-mock .str-card:hover{border-color:var(--sky);box-shadow:0 14px 30px rgba(27,34,76,.08);}
.pm-mock .str-card .no{font-family:'Poppins',sans-serif;font-size:35px;font-weight:600;color:var(--sky);line-height:1;}
.pm-mock .str-card h3{margin-top:12px;font-size:20px;font-weight:900;color:var(--navy);line-height:1.6;}
.pm-mock .str-card p{margin-top:8px;font-size:15.5px;color:var(--sub);}
.pm-mock .str-card.feature{grid-column:span 5;grid-row:span 2;background:var(--sky);border-color:var(--sky);display:flex;flex-direction:column;}
.pm-mock .str-card.feature .no{font-size:50px;color:#fff;}
.pm-mock .str-card.feature h3{color:#fff;font-size:24px;}
.pm-mock .str-card.feature p{color:rgba(255,255,255,.92);font-size:16px;flex:1;}
.pm-mock .str-card.feature .f-metric{margin-top:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.35);display:flex;gap:28px;}
.pm-mock .str-card.feature .f-metric div b{display:block;font-family:'Poppins',sans-serif;font-size:31px;font-weight:600;color:#fff;line-height:1.2;}
.pm-mock .str-card.feature .f-metric div b i{font-style:normal;color:#fff;opacity:.9;}
.pm-mock .str-card.feature .f-metric div span{font-size:14px;color:rgba(255,255,255,.85);}
.pm-mock .str-card.w4{grid-column:span 4;}
.pm-mock .str-card.w3{grid-column:span 3;}
.pm-mock .str-card.w7{grid-column:span 7;display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:center;}
.pm-mock .str-card.w7 .no{font-size:50px;}
/* --- STRENGTH v63 6カード グリッド --- */
.pm-mock .str-grid6{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.pm-mock .str6-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);padding:26px 24px 20px;text-decoration:none;color:inherit;transition:.2s;position:relative;}
.pm-mock .str6-card:hover{border-color:var(--sky);box-shadow:0 14px 30px rgba(27,34,76,.08);transform:translateY(-2px);}
.pm-mock .str6-card .no{font-family:'Poppins',sans-serif;font-size:32px;font-weight:600;color:var(--sky);line-height:1;}
.pm-mock .str6-card h3{margin-top:12px;font-size:17px;font-weight:900;color:var(--navy);line-height:1.55;min-height:52px;}
.pm-mock .str6-card p{margin-top:10px;font-size:13.5px;color:var(--sub);line-height:1.75;flex:1;}
.pm-mock .str6-card .str6-more{display:inline-block;margin-top:14px;padding-top:12px;border-top:1px solid var(--line);font-size:12.5px;font-weight:700;color:var(--sky);letter-spacing:.02em;}
@media (max-width:960px){
  .pm-mock .str-grid6{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:640px){
  .pm-mock .str-grid6{grid-template-columns:1fr;}
  .pm-mock .str6-card h3{min-height:0;}
}

/* ===== coverage + services ===== */
.pm-mock .svc{background:var(--tint);padding-top:56px;}
.pm-mock .coverage{display:flex;border:1px solid var(--line);background:#fff;margin-bottom:26px;}
.pm-mock .cov-stage{flex:1;padding:14px 14px 12px;border-right:1px solid var(--line);position:relative;}
.pm-mock .cov-stage:last-child{border-right:none;}
.pm-mock .cov-stage .tagg{display:inline-block;font-size:12.5px;font-weight:700;color:#fff;background:var(--sky);padding:2px 8px;margin-bottom:6px;letter-spacing:.06em;}
.pm-mock .cov-stage.exist .tagg{background:var(--navy);}
.pm-mock .cov-stage h5{font-size:16px;font-weight:900;color:var(--navy);}
.pm-mock .cov-stage p{font-size:14px;color:var(--sub);line-height:1.5;}
.pm-mock .cov-note{font-size:15px;color:var(--sub);margin-bottom:8px;}
.pm-mock .svc-grid{display:grid;grid-template-columns:1fr 1fr 1.25fr;gap:16px;}
.pm-mock .svc-card{background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;transition:.2s;}
.pm-mock .svc-card:hover{box-shadow:0 16px 34px rgba(27,34,76,.09);}
.pm-mock .svc-card .s-head{padding:20px 24px 16px;border-bottom:1px solid var(--line);border-top:3px solid var(--navy);}
.pm-mock .svc-card .s-tag{display:inline-block;font-family:'Poppins',sans-serif;font-size:13px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--sky);border:1px solid var(--sky-light);padding:3px 10px;margin-bottom:10px;}
.pm-mock .svc-card h3{font-size:21px;font-weight:900;color:var(--navy);line-height:1.5;}
.pm-mock .svc-card .s-desc{font-size:15px;color:var(--sub);margin-top:4px;}
.pm-mock .svc-card .s-body{padding:16px 24px 18px;flex:1;}
.pm-mock .svc-card .s-body li{list-style:none;font-size:16px;padding:6px 0 6px 16px;position:relative;border-bottom:1px dashed var(--line);}
.pm-mock .svc-card .s-body li:last-child{border-bottom:none;}
.pm-mock .svc-card .s-body li::before{content:"";position:absolute;left:0;top:50%;width:7px;height:1.5px;background:var(--sky);}
.pm-mock .svc-card .s-body li a{display:flex;justify-content:space-between;align-items:center;color:var(--navy);text-decoration:none;transition:.15s;}
.pm-mock .svc-card .s-body li a::after{content:"→";color:var(--sky);font-weight:700;opacity:.6;transition:.15s;}
.pm-mock .svc-card .s-body li a:hover{color:var(--sky);}
.pm-mock .svc-card .s-body li a:hover::after{opacity:1;transform:translateX(2px);}
.pm-mock .svc-card .ai-opt{display:inline-block;margin-top:10px;font-size:14px;font-weight:700;color:var(--navy);background:var(--sky-pale);padding:4px 12px;}
.pm-mock .svc-card .s-link{display:flex;justify-content:space-between;align-items:center;padding:12px 24px;border-top:1px solid var(--line);font-size:15.5px;font-weight:700;color:var(--navy);}
.pm-mock .svc-card .s-link .en{color:var(--sky);}
.pm-mock .svc-card.dark{background:var(--navy-dark);border-color:var(--navy-dark);}
.pm-mock .svc-card.dark .s-head{border-top-color:var(--sky);border-bottom-color:rgba(255,255,255,.14);}
.pm-mock .svc-card.dark .s-tag{color:var(--sky-light);border-color:rgba(95,182,232,.5);}
.pm-mock .svc-card.dark h3{color:#fff;}
.pm-mock .svc-card.dark .s-desc{color:#9FB2CE;}
.pm-mock .svc-card.dark .s-body li{color:#D2DCEC;border-bottom-color:rgba(255,255,255,.1);}
.pm-mock .svc-card.dark .ai-opt{background:rgba(28,147,210,.2);color:#fff;}
.pm-mock .svc-card.dark .s-link{border-top-color:rgba(255,255,255,.14);color:#fff;}
.pm-mock .badge-new{display:inline-block;background:var(--sky);color:#fff;font-family:'Poppins',sans-serif;font-size:12px;font-weight:600;letter-spacing:.1em;padding:2px 7px;margin-left:8px;vertical-align:2px;}

/* ===== AI banner（sky bg 版）===== */
.pm-mock .ai{background:var(--sky);color:#fff;position:relative;overflow:hidden;padding:60px 0;}
.pm-mock .ai::before{content:"";position:absolute;inset:0;background:radial-gradient(rgba(255,255,255,.22) 1px,transparent 1px);background-size:26px 26px;}
.pm-mock .ai .container{position:relative;}
.pm-mock .ai-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:44px;align-items:center;}
.pm-mock .ai .sec-head h2{color:#fff;}
.pm-mock .ai .sec-head .jp{color:rgba(255,255,255,.85);}
.pm-mock .ai-copy h3{font-size:29px;font-weight:900;color:#fff;line-height:1.6;}
.pm-mock .ai-copy p{margin-top:12px;font-size:16.5px;color:rgba(255,255,255,.92);}
.pm-mock .ai-chips{margin-top:18px;display:flex;flex-wrap:wrap;gap:8px;}
.pm-mock .ai-chip{border:1px solid rgba(255,255,255,.7);color:#fff;font-size:15px;font-weight:600;padding:6px 14px;background:rgba(255,255,255,.15);}
.pm-mock .ai-stack-note{margin-top:16px;font-family:'Poppins',sans-serif;font-size:13px;letter-spacing:.16em;color:rgba(255,255,255,.8);text-transform:uppercase;}
.pm-mock .ai-panel{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.35);padding:22px;}
.pm-mock .ai-panel .p-title{font-family:'Poppins',sans-serif;font-size:13.5px;font-weight:600;letter-spacing:.2em;color:#fff;text-transform:uppercase;margin-bottom:14px;}
.pm-mock .ai-metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.pm-mock .ai-metric{background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.3);padding:18px 20px 18px;display:flex;flex-direction:column;gap:10px;min-width:0;}
.pm-mock .ai-metric .m-label{font-family:'Noto Sans JP',sans-serif;font-size:15.5px;color:rgba(255,255,255,.95);font-weight:500;letter-spacing:.02em;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pm-mock .ai-metric .m-value{display:flex;align-items:baseline;gap:1px;line-height:1;flex-wrap:nowrap;}
.pm-mock .ai-metric .m-num{font-family:'Poppins',sans-serif;font-size:60px;font-weight:700;color:#fff;letter-spacing:-.02em;line-height:1;}
.pm-mock .ai-metric .m-unit{font-family:'Poppins',sans-serif;font-size:28px;font-weight:600;color:#fff;margin-left:3px;}
.pm-mock .ai-metric .m-verb{font-family:'Noto Sans JP',sans-serif;font-size:17px;font-weight:700;color:#fff;margin-left:8px;letter-spacing:.02em;align-self:baseline;}
.pm-mock .ai-panel .btn-ghost{margin-top:14px;width:100%;justify-content:center;}
.pm-mock .btn-ghost{display:inline-flex;align-items:center;gap:24px;border:1px solid rgba(255,255,255,.7);color:#fff;padding:13px 28px;font-size:16px;font-weight:700;transition:.25s;}
.pm-mock .btn-ghost::after{content:"→";color:#fff;}
.pm-mock .btn-ghost:hover{background:#fff;color:var(--sky);}

/* ===== cases ===== */
.pm-mock .cases{padding-top:56px;}
/* 横スクロールカードコンテナ */
.pm-mock .case-scroll-wrap{position:relative;margin-right:-60px;} /* 右端は余白なくして画面端まで見せる */
.pm-mock .case-grid{
  display:flex;gap:20px;
  overflow-x:auto;
  padding:8px 60px 20px 0;
  scroll-snap-type:x mandatory;
  scroll-padding-left:0;
  scrollbar-width:thin;
  scrollbar-color:var(--sky) var(--tint);
}
.pm-mock .case-grid::-webkit-scrollbar{height:8px;}
.pm-mock .case-grid::-webkit-scrollbar-track{background:var(--tint);border-radius:4px;}
.pm-mock .case-grid::-webkit-scrollbar-thumb{background:var(--sky);border-radius:4px;}
.pm-mock .case-grid > .case-card{flex:0 0 380px;scroll-snap-align:start;}
.pm-mock .case-grid > .case-card.feature{flex:0 0 460px;}
.pm-mock .case-card{border:1px solid var(--line);background:#fff;display:flex;flex-direction:column;transition:.2s;}
.pm-mock .case-card:hover{box-shadow:0 16px 36px rgba(27,34,76,.1);}
.pm-mock .case-card .c-top{padding:22px 26px 18px;background:var(--sky);color:#fff;}
.pm-mock .case-card.feature .c-top{background:var(--sky);padding:28px 30px 22px;}
.pm-mock .case-card .cli{display:flex;align-items:baseline;gap:12px;}
.pm-mock .case-card .cli .name{font-family:'Poppins',sans-serif;font-size:24px;font-weight:700;color:#fff;}
.pm-mock .case-card.feature .cli .name{font-size:31px;}
.pm-mock .case-card .cli .cat{font-size:14px;color:rgba(255,255,255,.9);font-weight:700;}
.pm-mock .case-card .res{font-family:'Poppins',sans-serif;font-weight:600;color:#fff;line-height:1.05;margin-top:12px;font-size:50px;}
.pm-mock .case-card.feature .res{font-size:66px;}
.pm-mock .case-card .res small{font-size:22px;}
.pm-mock .case-card .res .accent{color:#fff;opacity:.9;}
.pm-mock .case-card .res-cap{font-size:15px;font-weight:700;color:rgba(255,255,255,.9);margin-top:4px;}
.pm-mock .case-card .c-body{padding:16px 26px 18px;flex:1;display:flex;flex-direction:column;}
.pm-mock .case-card .c-body p{font-size:15.5px;color:var(--sub);flex:1;}
.pm-mock .case-card .c-body .link{margin-top:10px;font-size:15.5px;font-weight:700;color:var(--navy);display:inline-flex;gap:8px;align-items:center;}
.pm-mock .case-card .c-body .link::after{content:"→";color:var(--sky);}
/* 支援会社一覧（横流れロゴ・マーキー）*/
.pm-mock .logo-strip{margin-top:32px;border:1px solid var(--line);background:var(--tint);padding:24px 0 24px;}
.pm-mock .logo-strip .cap{font-size:14.5px;font-weight:700;color:var(--sub);margin-bottom:16px;padding:0 32px;}
.pm-mock .logo-marquee{
  position:relative;
  overflow:hidden;
  /* 両端フェード（マスク）*/
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 8%,#000 92%,transparent 100%);
          mask-image:linear-gradient(90deg,transparent 0,#000 8%,#000 92%,transparent 100%);
}
.pm-mock .logo-track{
  display:flex;
  width:max-content;
  animation:pm-logo-marquee 40s linear infinite;
}
.pm-mock .logo-track:hover{animation-play-state:paused;}
.pm-mock .logo-item{
  flex-shrink:0;
  min-width:220px;height:70px;
  display:flex;align-items:center;justify-content:center;
  padding:0 32px;
  color:#8B99AD;
  letter-spacing:.04em;
  line-height:1.2;
  transition:color .2s;
}
.pm-mock .logo-item.en{
  font-family:'Poppins',sans-serif;
  font-size:24px;font-weight:700;
}
.pm-mock .logo-item.jp{
  font-family:'Noto Sans JP',sans-serif;
  font-size:18px;font-weight:900;
}
.pm-mock .logo-item:hover{color:var(--sky);}

/* 右→左に流れる。 -50% で複製部分がちょうど元の位置に来るのでシームレス */
@keyframes pm-logo-marquee{
  from{transform:translateX(0);}
  to  {transform:translateX(-50%);}
}
@media(prefers-reduced-motion:reduce){
  .pm-mock .logo-track{animation:none;}
}
@media(max-width:640px){
  .pm-mock .logo-item{min-width:160px;padding:0 20px;}
  .pm-mock .logo-item.en{font-size:20px;}
  .pm-mock .logo-item.jp{font-size:15px;}
}
.pm-mock .case-more{margin-top:20px;display:flex;justify-content:flex-end;}

/* ===== knowledge ===== */
.pm-mock .knowledge{background:var(--tint);padding-top:56px;}
.pm-mock .k-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:16px;}
.pm-mock .k-feature{background:var(--sky);color:#fff;padding:30px 32px;display:flex;flex-direction:column;transition:.2s;}
.pm-mock .k-feature:hover{background:var(--navy);}
.pm-mock .k-feature .badge{align-self:flex-start;background:var(--navy);color:#fff;font-size:13.5px;font-weight:700;padding:3px 12px;}
.pm-mock .k-feature h3{margin-top:16px;font-size:24px;font-weight:900;line-height:1.7;flex:1;}
.pm-mock .k-feature .k-meta{margin-top:16px;display:flex;justify-content:space-between;align-items:center;font-family:'Poppins',sans-serif;font-size:14px;letter-spacing:.1em;color:rgba(255,255,255,.85);}
.pm-mock .k-feature .k-meta .arr{font-size:22px;color:#fff;}
.pm-mock .k-rows{display:flex;flex-direction:column;gap:10px;}
.pm-mock .k-row{background:#fff;border:1px solid var(--line);padding:16px 22px;display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;transition:.15s;}
.pm-mock .k-row:hover{border-color:var(--sky);}
.pm-mock .k-row .badge{font-size:13px;font-weight:700;padding:3px 10px;white-space:nowrap;}
.pm-mock .k-row .badge.guide{background:var(--sky-pale);color:var(--navy);}
.pm-mock .k-row .badge.compare{background:var(--navy);color:#fff;}
.pm-mock .k-row .badge.method{background:var(--sky);color:#fff;}
.pm-mock .k-row h4{font-size:16.5px;font-weight:700;line-height:1.6;}
.pm-mock .k-row:hover h4{color:var(--sky);}
.pm-mock .k-row .arr{font-family:'Poppins',sans-serif;color:var(--sky);}

/* ===== flow ===== */
/* TOP の FLOW セクション用。セレクタを section に限定している：
   サービスLP側にも別コンポーネントの div.flow があり、
   限定しないと LP の5ステップ帯に上下56pxの余白が入ってしまう
   （/proapocall/ の FLOW が「白い枠の中に箱が5つ」に見えていた原因）。 */
.pm-mock section.flow{padding-top:56px;padding-bottom:56px;}
.pm-mock .flow-steps{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line);}
.pm-mock .flow-steps--7{grid-template-columns:repeat(7,1fr);}
@media (max-width:960px){.pm-mock .flow-steps--7{grid-template-columns:repeat(2,1fr);}}
@media (max-width:640px){.pm-mock .flow-steps--7{grid-template-columns:1fr;}}
.pm-mock .f-step{
  padding:20px 20px 18px;
  border-right:1px solid var(--line);
  position:relative;
  background:#fff;
  transition:background .5s ease;
}
.pm-mock .f-step .f-no,
.pm-mock .f-step h5,
.pm-mock .f-step p{transition:color .5s ease;}
.pm-mock .f-step:last-child{border-right:none;}
.pm-mock .f-step .f-no{font-family:'Poppins',sans-serif;font-size:14.5px;font-weight:600;color:var(--sky);letter-spacing:.14em;}
.pm-mock .f-step h5{font-size:18px;font-weight:900;color:var(--navy);margin-top:8px;}
.pm-mock .f-step p{font-size:14.5px;color:var(--sub);margin-top:4px;line-height:1.6;}
.pm-mock .f-step.hot{background:var(--sky);}
.pm-mock .f-step.hot .f-no{color:#fff;opacity:.9;}
.pm-mock .f-step.hot h5{color:#fff;}
.pm-mock .f-step.hot p{color:#B7C6DE;}
.pm-mock .flow-note{margin-top:14px;font-size:15.5px;color:var(--sub);display:flex;gap:8px;align-items:center;}
.pm-mock .flow-note b{font-family:'Poppins',sans-serif;color:var(--navy);font-size:18.5px;}

/* ===== faq（アコーディオン・縦並び） ===== */
.pm-mock .faq{background:var(--tint);padding-top:56px;padding-bottom:64px;}
.pm-mock .faq-list{max-width:900px;margin:0 auto;display:flex;flex-direction:column;gap:12px;}
.pm-mock .faq-item{background:#fff;border:1px solid var(--line);transition:.2s;}
.pm-mock .faq-item[open]{border-color:var(--sky);box-shadow:0 8px 24px rgba(27,34,76,.06);}
.pm-mock .faq-q{
  padding:20px 26px;
  font-size:18px;
  font-weight:700;
  color:var(--navy);
  display:flex;gap:16px;
  align-items:flex-start;
  cursor:pointer;
  list-style:none;
  position:relative;
  padding-right:52px;
  line-height:1.6;
}
.pm-mock .faq-q::-webkit-details-marker{display:none;}
.pm-mock .faq-q::before{
  content:"Q";
  font-family:'Poppins',sans-serif;
  color:var(--sky);
  font-weight:600;
  font-size:20px;
  flex-shrink:0;
}
.pm-mock .faq-q::after{
  content:"";
  position:absolute;
  right:26px;top:50%;
  width:12px;height:12px;
  border-right:2px solid var(--navy);
  border-bottom:2px solid var(--navy);
  transform:translateY(-70%) rotate(45deg);
  transition:transform .25s ease;
}
.pm-mock .faq-item[open] .faq-q::after{
  transform:translateY(-30%) rotate(-135deg);
  border-color:var(--sky);
}
.pm-mock .faq-item[open] .faq-q{color:var(--sky);}
.pm-mock .faq-a{
  padding:0 26px 22px 68px;
  font-size:16px;
  color:var(--sub);
  line-height:1.9;
  border-top:1px solid var(--line);
  padding-top:16px;
  margin-top:0;
}

/* ===== cta（sky bg 版）===== */
.pm-mock .cta{background:var(--sky);color:#fff;padding:72px 0;text-align:center;position:relative;overflow:hidden;}
.pm-mock .cta .bgword{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-family:'Poppins',sans-serif;font-size:170px;font-weight:700;color:rgba(255,255,255,.15);white-space:nowrap;}
.pm-mock .cta .container{position:relative;}
.pm-mock .cta .bar{width:44px;height:4px;background:#fff;margin:0 auto 22px;}
.pm-mock .cta h2{font-size:31px;font-weight:900;line-height:1.7;}
.pm-mock .cta p{margin-top:10px;font-size:16.5px;color:rgba(255,255,255,.92);}
.pm-mock .cta-actions{margin-top:30px;display:flex;gap:16px;justify-content:center;}
.pm-mock .btn-white{display:inline-flex;align-items:center;gap:28px;background:#fff;color:var(--navy);padding:17px 38px;font-size:17.5px;font-weight:700;transition:.25s;}
.pm-mock .btn-white::after{content:"→";color:var(--sky);}
.pm-mock .btn-white:hover{background:var(--sky);color:#fff;}
.pm-mock .btn-white:hover::after{color:#fff;}
/* CV オレンジ版（CTA帯・ダーク背景上でも視認性高い）*/
.pm-mock .btn-white.cta{background:var(--cta);color:var(--navy);}
.pm-mock .btn-white.cta::after{color:var(--navy);}
.pm-mock .btn-white.cta:hover{background:var(--cta-hover);color:var(--navy);}
.pm-mock .btn-white.cta:hover::after{color:var(--navy);}
.pm-mock .btn-ghost2{display:inline-flex;align-items:center;gap:28px;border:1px solid rgba(255,255,255,.5);color:#fff;padding:17px 38px;font-size:17.5px;font-weight:700;transition:.25s;}
.pm-mock .btn-ghost2:hover{background:rgba(255,255,255,.1);}

/* ===== footer ===== */
/* Footer：ネイビー基調（CTA sky との境界を明確化 + 落ち着き）*/
.pm-mock > footer{background:var(--navy);color:#fff;padding:56px 0 30px;}
/* フッターは「ロゴ＋リンク4列」の計5ブロック。列数が4だと Company が
   はみ出してロゴの下に落ちるため、5列で組む（v1.26.4） */
.pm-mock .f-grid{display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:40px 30px;}
/* 中間幅ではロゴ行を独立させ、リンクを4列で並べる */
@media(max-width:1180px){
  .pm-mock .f-grid{grid-template-columns:repeat(4,1fr);gap:30px 24px;}
  .pm-mock .f-grid > :first-child{grid-column:1 / -1;margin-bottom:6px;}
}
.pm-mock .f-logo{display:flex;align-items:center;gap:11px;}
.pm-mock .f-logo img{display:block;height:34px;width:auto;filter:brightness(0) invert(1);}
.pm-mock .f-addr{margin-top:16px;font-size:15.5px;line-height:2;color:rgba(255,255,255,.75);}
.pm-mock .f-grid h5{font-family:'Poppins',sans-serif;font-size:13.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--sky-light);margin-bottom:14px;}
.pm-mock .f-grid ul{list-style:none;}
.pm-mock .f-grid li{margin-bottom:8px;}
.pm-mock .f-grid a{font-size:16px;color:rgba(255,255,255,.85);transition:color .15s;}
.pm-mock .f-grid a:hover{color:var(--sky-light);}
.pm-mock .f-bottom{margin-top:44px;padding-top:20px;border-top:1px solid rgba(255,255,255,.14);display:flex;justify-content:space-between;font-family:'Poppins',sans-serif;font-size:13.5px;letter-spacing:.1em;color:rgba(255,255,255,.55);}

/* ===== reveal ===== */
.pm-mock .reveal{opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform .7s ease;}
.pm-mock .reveal.on{opacity:1;transform:none;}

/* BY THE NUMBERS — ラベル → 各セルが右から流れて左から蓄積 */
.pm-mock .numbers{overflow:hidden;} /* 右外からの侵入を隠す */
.pm-mock .numbers .label-strip.reveal{transform:translateY(8px);}
.pm-mock .numbers .num-cell.reveal{
  transform:translateX(80px);
  transition:opacity .6s cubic-bezier(.2,.7,.3,1), transform .6s cubic-bezier(.2,.7,.3,1);
}
.pm-mock .numbers .num-cell.reveal.on{transform:translateX(0);}
.pm-mock .numbers .num-cell.reveal:nth-child(1){transition-delay:.30s;}
.pm-mock .numbers .num-cell.reveal:nth-child(2){transition-delay:.55s;}
.pm-mock .numbers .num-cell.reveal:nth-child(3){transition-delay:.80s;}
.pm-mock .numbers .num-cell.reveal:nth-child(4){transition-delay:1.05s;}

/* ===== responsive: タブレット以下（1060px 以下）===== */
@media(max-width:1060px){
  .pm-mock .container,
  .pm-mock .header-inner{padding:0 32px;}

  /* header */
  .pm-mock .header-inner{height:72px;}
  .pm-mock .logo img{height:36px;}
  .pm-mock nav{display:none;}
  .pm-mock .side-tab{display:none;}
  .pm-mock .h-btn{font-size:14px;padding:11px 20px;}

  /* hero */
  .pm-mock .hero{min-height:auto;padding:56px 0 72px;}
  .pm-mock .hero-title{font-size:clamp(36px, 8vw, 60px);margin-bottom:32px;}
  .pm-mock .hero-bg-title{font-size:clamp(80px, 16vw, 180px);padding:0 24px;}
  .pm-mock .hero-jp{font-size:clamp(22px, 3.6vw, 34px);margin-bottom:24px;}
  .pm-mock .hero-sub{font-size:clamp(15px, 2vw, 20px);margin-bottom:32px;max-width:none;}
  .pm-mock .hero-body{grid-template-columns:1fr;gap:48px;align-items:start;}
  .pm-mock .hero .btn-big{font-size:14px;min-width:0;flex:1;padding:16px 20px;gap:16px;}
  .pm-mock .hero-actions{gap:12px;}
  .pm-mock .hero .branch-card{padding:18px 22px;}
  .pm-mock .hero .branch-head{font-size:15px;}
  .pm-mock .hero .branch-card h3{font-size:16px;}
  .pm-mock .hero .branch-card .b-sub{font-size:12.5px;}

  /* numbers */
  .pm-mock .numbers{padding:32px 0 32px;}
  .pm-mock .numbers-grid{grid-template-columns:repeat(2,1fr);row-gap:28px;}
  .pm-mock .num-cell{padding:0 20px;}
  .pm-mock .num-cell .value{font-size:44px;}
  .pm-mock .num-cell .value small{font-size:16px;}
  .pm-mock .num-cell .label{font-size:13px;}
  .pm-mock .num-cell .note{font-size:11px;}

  /* challenge */
  .pm-mock .challenge-head h2{font-size:22px;}
  .pm-mock .challenge-head .jp{font-size:13px;}
  .pm-mock .ch-grid{grid-template-columns:1fr;}

  /* sec-head 共通 */
  .pm-mock .sec-head h2{font-size:30px;}
  .pm-mock .sec-head .jp{font-size:13px;}
  .pm-mock .sec-head .lead{font-size:14px;}
  .pm-mock section{padding:48px 0;}

  /* strength */
  .pm-mock .str-mosaic{grid-template-columns:1fr;}
  .pm-mock .str-card.feature,
  .pm-mock .str-card.w4,
  .pm-mock .str-card.w3,
  .pm-mock .str-card.w7{grid-column:span 1;grid-row:span 1;}
  .pm-mock .str-card.w7{grid-template-columns:1fr;gap:12px;}
  .pm-mock .str-card{padding:22px 22px 18px;}

  /* service */
  .pm-mock .svc{padding-top:48px;}
  .pm-mock .svc-grid{grid-template-columns:1fr;}
  .pm-mock .coverage{flex-direction:column;}
  .pm-mock .cov-stage{border-right:none;border-bottom:1px solid var(--line);}
  .pm-mock .cov-stage:last-child{border-bottom:none;}

  /* AI */
  .pm-mock .ai{padding:48px 0;}
  .pm-mock .ai-grid{grid-template-columns:1fr;gap:32px;}
  .pm-mock .ai-copy h3{font-size:22px;}
  .pm-mock .ai-copy p{font-size:14px;}
  .pm-mock .ai-metric{padding:14px 16px;}
  .pm-mock .ai-metric .m-num{font-size:42px;}
  .pm-mock .ai-metric .m-unit{font-size:20px;}
  .pm-mock .ai-metric .m-verb{font-size:13px;margin-left:5px;}
  .pm-mock .ai-metric .m-label{font-size:12.5px;}
  .pm-mock .ai-chip{font-size:13px;padding:5px 12px;}

  /* cases 横スクロール */
  .pm-mock .cases{padding-top:48px;}
  .pm-mock .case-scroll-wrap{margin-right:-32px;}
  .pm-mock .case-grid{padding:8px 32px 20px 0;gap:14px;}
  .pm-mock .case-grid > .case-card{flex:0 0 82vw;max-width:340px;}
  .pm-mock .case-grid > .case-card.feature{flex:0 0 88vw;max-width:380px;}
  .pm-mock .case-card .cli .name{font-size:20px;}
  .pm-mock .case-card.feature .cli .name{font-size:24px;}
  .pm-mock .case-card .res{font-size:40px;}
  .pm-mock .case-card.feature .res{font-size:48px;}
  .pm-mock .case-card .res small{font-size:16px;}

  /* logo marquee */
  .pm-mock .logo-strip{margin-top:24px;padding:20px 0;}
  .pm-mock .logo-strip .cap{font-size:12.5px;padding:0 20px;margin-bottom:14px;}
  .pm-mock .logo-track{animation-duration:30s;}

  /* knowledge */
  .pm-mock .knowledge{padding-top:48px;}
  .pm-mock .k-grid{grid-template-columns:1fr;}
  .pm-mock .k-feature{padding:24px 22px;}
  .pm-mock .k-feature h3{font-size:18px;}
  .pm-mock .k-row{padding:14px 18px;gap:12px;}
  .pm-mock .k-row h4{font-size:13.5px;}

  /* flow */
  .pm-mock section.flow{padding-top:48px;padding-bottom:48px;}
  .pm-mock .flow-steps{grid-template-columns:1fr;}
  .pm-mock .f-step{border-right:none;border-bottom:1px solid var(--line);padding:16px 20px;}
  .pm-mock .f-step:last-child{border-bottom:none;}

  /* faq */
  .pm-mock .faq{padding:48px 0;}
  .pm-mock .faq-q{font-size:15px;padding:16px 22px;padding-right:44px;}
  .pm-mock .faq-q::after{right:18px;width:10px;height:10px;}
  .pm-mock .faq-a{padding:16px 22px 18px 56px;font-size:13.5px;}

  /* CTA */
  .pm-mock .cta{padding:56px 0;}
  .pm-mock .cta h2{font-size:22px;line-height:1.6;}
  .pm-mock .cta p{font-size:14px;}
  .pm-mock .cta-actions{flex-direction:column;gap:12px;padding:0 24px;}
  .pm-mock .cta-actions .btn-white,
  .pm-mock .cta-actions .btn-ghost2{justify-content:center;padding:15px 24px;font-size:15px;gap:16px;width:100%;}

  /* footer */
  .pm-mock > footer{padding:40px 0 24px;}
  .pm-mock .f-grid{grid-template-columns:1fr 1fr;gap:28px 24px;}
  .pm-mock .f-addr{font-size:13.5px;}
  .pm-mock .f-grid a{font-size:14px;}
  .pm-mock .f-bottom{margin-top:32px;flex-direction:column;gap:10px;font-size:11px;letter-spacing:.05em;}

  /* sec-bg-word 全体 */
  .pm-mock .sec-bg-word{font-size:clamp(70px, 14vw, 130px);}
}

/* ===== responsive: スマホ（640px 以下）===== */
@media(max-width:640px){
  .pm-mock .container,
  .pm-mock .header-inner{padding:0 20px;}

  /* header */
  .pm-mock .header-inner{height:64px;gap:12px;}
  .pm-mock .logo img{height:32px;}
  .pm-mock .h-btn{font-size:12.5px;padding:9px 14px;letter-spacing:0;}

  /* hero */
  .pm-mock .hero{padding:40px 0 56px;}
  .pm-mock .hero-title{font-size:36px;margin-bottom:24px;}
  .pm-mock .hero-bg-title{font-size:clamp(64px, 20vw, 120px);padding:0 12px;}
  .pm-mock .hero-jp{font-size:20px;margin-bottom:20px;}
  .pm-mock .hero-sub{font-size:14px;margin-bottom:28px;line-height:1.8;}
  .pm-mock .hero-body{gap:36px;}
  .pm-mock .hero-actions{flex-direction:column;align-items:stretch;}
  .pm-mock .hero .btn-big{font-size:14px;justify-content:space-between;}

  /* branch cards */
  .pm-mock .hero .branch-card{padding:16px 18px;gap:12px;}
  .pm-mock .hero .branch-card h3{font-size:15px;}
  .pm-mock .hero .branch-card .b-sub{font-size:12px;}

  /* numbers */
  .pm-mock .num-cell{padding:0 12px;}
  .pm-mock .num-cell .value{font-size:36px;}
  .pm-mock .num-cell .value small{font-size:14px;}

  /* section 見出し */
  .pm-mock .sec-head{gap:12px 14px;margin-bottom:24px;}
  .pm-mock .sec-head h2{font-size:24px;}
  .pm-mock .sec-head .bar{width:24px;height:3px;}
  .pm-mock .sec-head .jp{font-size:12.5px;}
  .pm-mock section{padding:40px 0;}

  /* challenge */
  .pm-mock .challenge{padding:32px 0 36px;}
  .pm-mock .challenge-head{margin-bottom:16px;}
  .pm-mock .challenge-head h2{font-size:20px;}
  .pm-mock .ch-item{font-size:13.5px;padding:10px 14px;}

  /* strength */
  .pm-mock .str-card .no{font-size:26px;}
  .pm-mock .str-card h3{font-size:17px;}
  .pm-mock .str-card p{font-size:13.5px;}
  .pm-mock .str-card.feature .no{font-size:38px;}
  .pm-mock .str-card.feature h3{font-size:19px;}
  .pm-mock .str-card.feature p{font-size:13.5px;}
  .pm-mock .str-card.feature .f-metric{gap:20px;}
  .pm-mock .str-card.feature .f-metric div b{font-size:24px;}

  /* AI */
  .pm-mock .ai-metric-grid{gap:8px;}
  .pm-mock .ai-metric .m-num{font-size:36px;}
  .pm-mock .ai-metric .m-unit{font-size:18px;}
  .pm-mock .ai-metric .m-label{font-size:12px;}
  .pm-mock .ai-metric .m-verb{font-size:12px;}

  /* cases */
  .pm-mock .case-scroll-wrap{margin-right:-20px;}
  .pm-mock .case-grid{padding-right:20px;}
  .pm-mock .case-grid > .case-card{flex:0 0 84vw;}
  .pm-mock .case-grid > .case-card.feature{flex:0 0 88vw;}
  .pm-mock .case-card .c-top{padding:18px 20px 14px;}
  .pm-mock .case-card.feature .c-top{padding:22px 22px 16px;}
  .pm-mock .case-card .res{font-size:34px;}
  .pm-mock .case-card.feature .res{font-size:40px;}
  .pm-mock .case-more{margin-top:16px;justify-content:center;}
  .pm-mock .case-more .btn-big{width:100%;justify-content:center;}

  /* logo marquee */
  .pm-mock .logo-item{min-width:150px;padding:0 18px;height:60px;}
  .pm-mock .logo-item.en{font-size:18px;}
  .pm-mock .logo-item.jp{font-size:14px;}
  .pm-mock .logo-track{animation-duration:24s;}

  /* footer */
  .pm-mock .f-grid{grid-template-columns:1fr;gap:24px;}
  .pm-mock .f-bottom span{text-align:left;}

  /* svc card */
  .pm-mock .svc-card h3{font-size:18px;}
  .pm-mock .svc-card .s-body li{font-size:13.5px;}

  /* faq */
  .pm-mock .faq-q{font-size:14px;padding:14px 18px;padding-right:40px;gap:10px;}
  .pm-mock .faq-a{padding:14px 18px 16px 42px;font-size:13px;line-height:1.85;}

  /* sec-bg-word */
  .pm-mock .sec-bg-word{font-size:clamp(50px, 18vw, 100px);top:auto;bottom:12px;}

  /* HERO 背景 tint をより濃く（写真バランス）*/
  .pm-mock .hero-tint{
    background:linear-gradient(180deg,
      rgba(255,255,255,.92) 0%,
      rgba(255,255,255,.82) 60%,
      rgba(255,255,255,.72) 100%);
  }
}

/* ===== 既存テーマ header/footer を TOP/Service でも非表示 ===== */
body.is-top-mock > header.g-header,
body.is-top-mock > footer.g-footer,
body.is-top-mock #root,
body.is-page-service > header.g-header,
body.is-page-service > footer.g-footer{display:none !important;}

/* ============================================================
 * Service 系ページ（page-service.php 系）専用スタイル
 *   ・.pm-mock 内で共通トークンを使いつつ、Service 独自の
 *     セクション（page-hero / svc-cats / svc-coverage /
 *     svc-approach）を追加
 * ============================================================ */

/* ---- パンくず ---- */
.pm-mock .pm-crumb{
  font-family:'Poppins',sans-serif;
  font-size:13px;font-weight:500;
  color:var(--sub);
  letter-spacing:.14em;
  margin-bottom:14px;
  display:flex;align-items:center;gap:10px;
}
.pm-mock .pm-crumb a{color:var(--sub);transition:color .15s;}
.pm-mock .pm-crumb a:hover{color:var(--sky);}
.pm-mock .pm-crumb .sep{color:var(--faint);}

/* ---- ページヒーロー（TOPの hero より控えめ・パンくず入り）---- */
.pm-mock .page-hero{
  position:relative;overflow:hidden;
  padding:44px 0 56px;
  background:#fff;
}
.pm-mock .page-hero .container{max-width:1080px;}
.pm-mock .page-hero .hero-tag{
  display:inline-block;background:var(--navy);color:#fff;
  font-size:15px;font-weight:700;letter-spacing:.12em;padding:7px 16px;
}
.pm-mock .page-hero h1{
  margin-top:18px;
  font-family:'Poppins',sans-serif;font-weight:700;
  font-size:82px;line-height:1.03;
  color:var(--navy);letter-spacing:-.01em;
}
.pm-mock .page-hero h1 .accent{color:var(--sky);}
.pm-mock .page-hero .hero-jp{
  margin-top:22px;font-size:23px;font-weight:900;
  color:var(--ink);line-height:1.75;
}
.pm-mock .page-hero .hero-jp .jp-mid{color:var(--sky);font-weight:900;letter-spacing:.02em;}
.pm-mock .page-hero .hero-sub{
  margin-top:10px;font-size:17px;color:var(--sub);
  max-width:52em;line-height:1.9;
}
.pm-mock .page-hero .hero-actions{margin-top:28px;display:flex;gap:14px;flex-wrap:wrap;}

/* ---- 3カテゴリカード ---- */
.pm-mock .svc-cats{
  position:relative;overflow:hidden;
  background:#fff;padding:72px 0;
}
.pm-mock .svc-cat-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:20px;
}
.pm-mock .svc-cat-card{
  background:#fff;border:1px solid var(--line);
  padding:36px 32px 32px;
  display:flex;flex-direction:column;
  transition:.2s;position:relative;
  border-top:3px solid var(--navy);
}
.pm-mock .svc-cat-card:hover{
  box-shadow:0 16px 34px rgba(27,34,76,.09);
  border-top-color:var(--sky);
  transform:translateY(-2px);
}
.pm-mock .svc-cat-card .cat-head{
  display:flex;align-items:baseline;justify-content:space-between;
  margin-bottom:20px;
}
.pm-mock .svc-cat-card .cat-num{
  font-family:'Poppins',sans-serif;font-size:36px;font-weight:700;
  color:var(--navy);line-height:1;letter-spacing:-.02em;
}
.pm-mock .svc-cat-card .cat-tag{
  font-family:'Poppins',sans-serif;font-size:11px;font-weight:600;
  letter-spacing:.18em;color:var(--sky);
  border:1px solid var(--sky-light);padding:4px 12px;
}
.pm-mock .svc-cat-card h3{
  font-size:22px;font-weight:900;color:var(--navy);
  line-height:1.5;margin-bottom:10px;
}
.pm-mock .svc-cat-card .cat-desc{
  font-size:14px;color:var(--sub);line-height:1.8;margin-bottom:18px;
}
.pm-mock .svc-cat-card .cat-list{
  list-style:none;padding:0;margin:0 0 24px;flex:1;
  border-top:1px solid var(--line);
}
.pm-mock .svc-cat-card .cat-list li{
  font-size:14px;color:var(--ink);font-weight:500;
  padding:10px 0 10px 18px;position:relative;
  border-bottom:1px dashed var(--line);
}
.pm-mock .svc-cat-card .cat-list li::before{
  content:"";position:absolute;left:0;top:50%;
  width:8px;height:1.5px;background:var(--sky);
}
.pm-mock .svc-cat-card .cat-arrow{
  font-family:'Poppins',sans-serif;font-size:14px;font-weight:700;
  color:var(--navy);display:inline-flex;align-items:center;gap:8px;
}
.pm-mock .svc-cat-card .cat-arrow span{color:var(--sky);transition:transform .2s;}
.pm-mock .svc-cat-card:hover .cat-arrow span{transform:translateX(4px);}

/* Dark バリアント（Solution カード用）*/
.pm-mock .svc-cat-card.dark{
  background:var(--navy-dark);border-color:var(--navy-dark);
  border-top-color:var(--sky);
}
.pm-mock .svc-cat-card.dark .cat-num{color:#fff;}
.pm-mock .svc-cat-card.dark .cat-tag{color:var(--sky-light);border-color:rgba(95,182,232,.5);}
.pm-mock .svc-cat-card.dark h3{color:#fff;}
.pm-mock .svc-cat-card.dark .cat-desc{color:#9FB2CE;}
.pm-mock .svc-cat-card.dark .cat-list{border-top-color:rgba(255,255,255,.14);}
.pm-mock .svc-cat-card.dark .cat-list li{color:#D2DCEC;border-bottom-color:rgba(255,255,255,.1);}
.pm-mock .svc-cat-card.dark .cat-arrow{color:#fff;}

/* ---- Coverage セクション ---- */
.pm-mock .svc-coverage{
  position:relative;overflow:hidden;
  background:var(--tint);padding:72px 0;
}

/* ---- Approach（TRACTION5 サマリー / Why 系）---- */
.pm-mock .svc-approach{
  position:relative;overflow:hidden;
  background:var(--tint);padding:72px 0;
}
.pm-mock .approach-grid{
  display:grid;grid-template-columns:repeat(5,1fr);
  border:1px solid var(--line);background:#fff;
  margin-bottom:32px;
}
.pm-mock .approach-item{
  padding:26px 20px 24px;
  border-right:1px solid var(--line);
  text-align:center;
  transition:.2s;
}
.pm-mock .approach-item:last-child{border-right:none;}
.pm-mock .approach-item:hover{background:var(--sky-pale);}
.pm-mock .approach-item .a-no{
  font-family:'Poppins',sans-serif;font-size:32px;font-weight:700;
  color:var(--sky);line-height:1;letter-spacing:-.02em;margin-bottom:12px;
}
.pm-mock .approach-item .a-name{
  font-size:16px;font-weight:900;color:var(--navy);
  line-height:1.5;margin-bottom:4px;
}
.pm-mock .approach-item .a-sub{
  font-family:'Poppins',sans-serif;font-size:11px;font-weight:600;
  letter-spacing:.18em;color:var(--faint);
}
.pm-mock .approach-cta{display:flex;justify-content:center;}

/* ============================================================
 * Service サブページ（marketing/sales/solution/ai）専用
 * ============================================================ */

/* ---- 6 サブサービス一覧（sub-card × 6）---- */
.pm-mock .svc-subs{
  position:relative;overflow:hidden;
  background:#fff;padding:72px 0;
}
.pm-mock .sub-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:16px;
}
.pm-mock .sub-card{
  background:#fff;border:1px solid var(--line);
  border-top:3px solid var(--navy);
  padding:26px 26px 22px;
  display:flex;flex-direction:column;
  transition:.2s;
}
.pm-mock .sub-card:hover{
  border-top-color:var(--sky);
  box-shadow:0 14px 30px rgba(27,34,76,.08);
  transform:translateY(-2px);
}
.pm-mock .sub-card .sub-tag{
  align-self:flex-start;
  font-family:'Poppins',sans-serif;font-size:10.5px;font-weight:600;
  letter-spacing:.18em;color:var(--sky);
  border:1px solid var(--sky-light);
  padding:3px 10px;margin-bottom:14px;
}
.pm-mock .sub-card h3{
  font-size:19px;font-weight:900;color:var(--navy);
  line-height:1.5;margin-bottom:10px;
}
.pm-mock .sub-card p{
  font-size:13.5px;color:var(--sub);line-height:1.75;
  flex:1;margin-bottom:16px;
}
.pm-mock .sub-card .sub-arrow{
  font-family:'Poppins',sans-serif;font-size:13px;font-weight:700;
  color:var(--navy);display:inline-flex;align-items:center;gap:8px;
}
.pm-mock .sub-card .sub-arrow span{color:var(--sky);transition:transform .2s;}
.pm-mock .sub-card:hover .sub-arrow span{transform:translateX(4px);}

/* ---- /service/solution/ 領域特化ショートカット ---- */
.pm-mock .industry-shortcuts{
  margin-top:56px;
  padding:36px 32px 32px;
  background:var(--tint,#F1F6FA);
  border:1px solid var(--line);
  position:relative;
}
.pm-mock .industry-shortcuts .is-head{margin-bottom:22px;}
.pm-mock .industry-shortcuts .is-label{
  display:inline-block;
  font-family:'Poppins',sans-serif;font-size:11px;font-weight:700;
  color:var(--sky);letter-spacing:.22em;
  margin-bottom:6px;
}
.pm-mock .industry-shortcuts .is-head h3{
  font-size:22px;font-weight:900;color:var(--navy);
  line-height:1.4;margin:0 0 6px;
}
.pm-mock .industry-shortcuts .is-head p{
  font-size:13.5px;color:var(--sub);line-height:1.6;margin:0;
}
.pm-mock .industry-shortcuts .is-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:14px;
}
.pm-mock .industry-shortcuts .is-card{
  display:block;
  background:#fff;
  border:1px solid var(--line);
  border-left:4px solid var(--sky);
  padding:20px 18px 18px;
  text-decoration:none;
  color:inherit;
  transition:.2s;
  position:relative;
}
.pm-mock .industry-shortcuts .is-card:hover{
  border-color:var(--sky);border-left-color:var(--navy);
  box-shadow:0 12px 24px rgba(27,34,76,.10);
  transform:translateY(-3px);
}
.pm-mock .industry-shortcuts .is-card .is-tag{
  display:inline-block;
  font-size:11px;font-weight:700;
  color:var(--sky);
  background:var(--sky-pale,#e5f3fb);
  padding:3px 8px;
  margin-bottom:10px;
  letter-spacing:.04em;
}
.pm-mock .industry-shortcuts .is-card h4{
  font-size:17px;font-weight:900;color:var(--navy);
  line-height:1.4;margin:0 0 8px;
}
.pm-mock .industry-shortcuts .is-card p{
  font-size:12.5px;color:var(--sub);line-height:1.65;
  margin:0 0 12px;
}
.pm-mock .industry-shortcuts .is-card .is-arr{
  font-family:'Poppins',sans-serif;font-size:16px;font-weight:700;
  color:var(--sky);
  transition:.2s;
}
.pm-mock .industry-shortcuts .is-card:hover .is-arr{transform:translateX(3px);}

@media (max-width:960px){
  .pm-mock .industry-shortcuts .is-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:640px){
  .pm-mock .industry-shortcuts{padding:24px 20px 22px;margin-top:40px;}
  .pm-mock .industry-shortcuts .is-grid{grid-template-columns:1fr;}
  .pm-mock .industry-shortcuts .is-head h3{font-size:19px;}
}

/* ---- Why セクション（3 理由）---- */
.pm-mock .svc-approach .why-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
}
.pm-mock .why-item{
  background:#fff;border:1px solid var(--line);
  padding:32px 28px 28px;
  border-top:3px solid var(--sky);
}
.pm-mock .why-item .why-no{
  font-family:'Poppins',sans-serif;font-size:32px;font-weight:700;
  color:var(--sky);line-height:1;letter-spacing:-.02em;
  margin-bottom:16px;
}
.pm-mock .why-item h3{
  font-size:17px;font-weight:900;color:var(--navy);
  line-height:1.6;margin-bottom:12px;
}
.pm-mock .why-item p{
  font-size:13.5px;color:var(--sub);line-height:1.85;
}

/* sub-grid カラム数バリアント */
.pm-mock .sub-grid--2{grid-template-columns:repeat(2,1fr);max-width:920px;margin:0 auto;}
.pm-mock .sub-grid--4{grid-template-columns:repeat(4,1fr);}

/* is-static：非クリック版（AI カードなど）*/
.pm-mock .sub-card.is-static{cursor:default;}
.pm-mock .sub-card.is-static:hover{transform:none;border-top-color:var(--navy);}

/* AI ページ 4 ステップ帯の下に置く why-grid の間隔 */
.pm-mock .ai-stack-note-page{
  margin-top:32px;
  font-family:'Poppins',sans-serif;font-size:11.5px;
  letter-spacing:.24em;text-transform:uppercase;
  color:var(--faint);text-align:center;
}

/* AI ページ用 Strengths（背景白）*/
.pm-mock .strengths-ai{
  position:relative;overflow:hidden;
  background:#fff;padding:72px 0;
}

/* ============================================================
 * LP 汎用（page-lp.php）専用スタイル
 * ============================================================ */

/* LP HERO タイトル（大型・日本語主体・page-hero の h1 を差し替え）*/
.pm-mock .page-hero .hero-lp-title{
  font-family:'Noto Sans JP',sans-serif;
  font-weight:900;
  font-size:clamp(36px, 4.5vw, 72px);
  line-height:1.35;
  color:var(--navy);
  letter-spacing:-.01em;
  margin:18px 0 24px;
}

/* LP 本文（Intro / Authority）*/
.pm-mock .lp-intro,
.pm-mock .lp-authority{
  position:relative;overflow:hidden;
  background:#fff;padding:64px 0;
}
.pm-mock .lp-authority{background:var(--tint);}
.pm-mock .lp-rich{
  max-width:900px;font-size:17px;line-height:2;color:var(--ink);
}
.pm-mock .lp-rich p{margin-bottom:1em;}
.pm-mock .lp-rich strong{color:var(--navy);font-weight:700;}
.pm-mock .lp-rich a{color:var(--sky);text-decoration:underline;text-underline-offset:3px;}

/* 注記行 */
.pm-mock .lp-note{
  margin-top:20px;
  font-size:13px;color:var(--faint);
}

/* ---- Pricing カード ---- */
.pm-mock .lp-pricing{
  position:relative;overflow:hidden;
  background:var(--tint);padding:72px 0;
}
.pm-mock .price-grid{
  display:grid;gap:20px;
  align-items:stretch;
}
.pm-mock .price-card{
  background:#fff;border:1px solid var(--line);
  padding:32px 28px 28px;
  display:flex;flex-direction:column;
  position:relative;transition:.2s;
  border-top:3px solid var(--navy);
}
.pm-mock .price-card:hover{
  box-shadow:0 14px 30px rgba(27,34,76,.08);
  transform:translateY(-2px);
}
.pm-mock .price-card.is-featured{
  border-top-color:var(--sky);border-color:var(--sky);
  background:linear-gradient(180deg, var(--sky-pale) 0%, #fff 30%);
  transform:translateY(-8px);
  box-shadow:0 18px 36px rgba(27,34,76,.1);
}
.pm-mock .price-badge{
  position:absolute;top:-14px;left:50%;transform:translateX(-50%);
  background:var(--sky);color:#fff;
  font-family:'Poppins',sans-serif;font-size:11px;font-weight:700;letter-spacing:.14em;
  padding:6px 18px;
}
.pm-mock .price-name{
  font-size:18px;font-weight:900;color:var(--navy);
  margin-bottom:12px;letter-spacing:.02em;
}
.pm-mock .price-value{
  font-family:'Poppins',sans-serif;font-size:44px;font-weight:700;
  color:var(--navy);line-height:1;letter-spacing:-.02em;margin-bottom:12px;
}
.pm-mock .price-value .unit{
  font-family:'Noto Sans JP',sans-serif;font-size:15px;font-weight:600;
  color:var(--sub);margin-left:6px;letter-spacing:0;
}
.pm-mock .price-desc{
  font-size:13.5px;color:var(--sub);line-height:1.75;
  margin-bottom:18px;
  padding-bottom:18px;border-bottom:1px solid var(--line);
}
.pm-mock .price-features{
  list-style:none;padding:0;margin:0;flex:1;
}
.pm-mock .price-features li{
  font-size:14px;color:var(--ink);
  padding:8px 0 8px 22px;position:relative;line-height:1.7;
}
.pm-mock .price-features li::before{
  content:"";position:absolute;left:0;top:14px;
  width:12px;height:6px;border-left:2px solid var(--sky);border-bottom:2px solid var(--sky);
  transform:rotate(-45deg);
}

/* Flow (LP)：TOP と同じ .flow-steps 系を使うので追加不要 */

@media(max-width:960px){
  .pm-mock .price-grid{grid-template-columns:1fr !important;}
  .pm-mock .price-card.is-featured{transform:none;}
}


/* ============================================================
 * 関連 AI ソリューション帯（service / sales / solution ページ用）
 *   sky bg + チップ + AI ページへの導線ボタン
 * ============================================================ */
.pm-mock .related-ai{
  position:relative;overflow:hidden;
  background:var(--sky);color:#fff;
  padding:80px 0;
}
.pm-mock .related-ai::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(rgba(255,255,255,.15) 1px,transparent 1px);
  background-size:26px 26px;
}
.pm-mock .related-ai .container{position:relative;}
.pm-mock .related-ai .sec-head{margin-bottom:20px;}
.pm-mock .related-ai .sec-head h2{color:#fff;}
.pm-mock .related-ai .sec-head .jp{color:rgba(255,255,255,.85);}
.pm-mock .related-ai .sec-head .lead{color:rgba(255,255,255,.95);}

.pm-mock .related-ai__body{
  display:grid;grid-template-columns:1.2fr 1fr;
  gap:48px;align-items:center;
  margin-top:32px;
}
.pm-mock .related-ai__lead{
  font-size:19px;font-weight:500;
  line-height:1.9;
  color:rgba(255,255,255,.95);
  margin-bottom:24px;
}
.pm-mock .related-ai__chips{
  display:flex;flex-wrap:wrap;gap:10px;
  margin-bottom:32px;
}
.pm-mock .related-ai__chip{
  border:1px solid rgba(255,255,255,.6);
  background:rgba(255,255,255,.12);
  color:#fff;
  padding:8px 18px;
  font-size:14px;font-weight:600;
  letter-spacing:.02em;
}

.pm-mock .related-ai__panel{
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.28);
  padding:32px;
}
.pm-mock .related-ai__panel .p-title{
  font-family:'Poppins',sans-serif;
  font-size:11px;font-weight:600;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:#fff;margin-bottom:20px;
}
.pm-mock .related-ai__list{list-style:none;padding:0;margin:0;}
.pm-mock .related-ai__list li{
  padding:10px 0 10px 20px;
  position:relative;
  font-size:15px;
  font-weight:500;
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,.2);
}
.pm-mock .related-ai__list li:last-child{border-bottom:none;}
.pm-mock .related-ai__list li::before{
  content:"";
  position:absolute;left:0;top:50%;
  width:10px;height:1.5px;background:#fff;
}

/* CTA ボタン */
.pm-mock .related-ai__cta{
  display:inline-flex;align-items:center;justify-content:space-between;
  gap:28px;min-width:280px;
  background:#fff;color:var(--navy);
  padding:18px 32px;
  font-size:15px;font-weight:700;
  line-height:1;
  letter-spacing:.02em;
  transition:.2s;
  white-space:nowrap;
}
.pm-mock .related-ai__cta::after{content:"→";color:var(--sky);}
.pm-mock .related-ai__cta:hover{background:var(--navy);color:#fff;}
.pm-mock .related-ai__cta:hover::after{color:#fff;}

@media(max-width:960px){
  .pm-mock .related-ai__body{grid-template-columns:1fr;gap:32px;}
  .pm-mock .related-ai__cta{width:100%;justify-content:center;}
}

/* ---- responsive ---- */
@media(max-width:960px){
  .pm-mock .sub-grid{grid-template-columns:repeat(2,1fr);}
  .pm-mock .sub-grid--4{grid-template-columns:repeat(2,1fr);}
  .pm-mock .svc-approach .why-grid,
  .pm-mock .strengths-ai .why-grid{grid-template-columns:1fr;gap:16px;}
}
@media(max-width:640px){
  .pm-mock .sub-grid,
  .pm-mock .sub-grid--2,
  .pm-mock .sub-grid--4{grid-template-columns:1fr;}
}

/* ---- Service 系 CTA の bgword を白抜きで再利用可能に ---- */
.pm-mock .cta .bgword{
  position:absolute;left:50%;top:50%;
  transform:translate(-50%,-50%);
  font-family:'Poppins',sans-serif;font-size:170px;font-weight:700;
  color:rgba(255,255,255,.04);white-space:nowrap;
}

/* ---- Responsive ---- */
@media(max-width:960px){
  .pm-mock .svc-cat-grid{grid-template-columns:1fr;}
  .pm-mock .approach-grid{grid-template-columns:1fr 1fr;}
  .pm-mock .approach-item{border-right:1px solid var(--line);border-bottom:1px solid var(--line);}
  .pm-mock .approach-item:nth-child(even){border-right:none;}
  .pm-mock .approach-item:last-child{border-bottom:none;}
  .pm-mock .page-hero h1{font-size:52px;}
  .pm-mock .page-hero .hero-jp{font-size:20px;}
  .pm-mock .page-hero .hero-sub{font-size:15px;}
}
@media(max-width:640px){
  .pm-mock .approach-grid{grid-template-columns:1fr;}
  .pm-mock .approach-item{border-right:none;border-bottom:1px solid var(--line);}
  .pm-mock .approach-item:last-child{border-bottom:none;}
}

/* ===== /service/ カード内個別リンク（各サービス LP へ）===== */
.pm-mock .svc-cat-card h3 a{color:inherit;text-decoration:none;}
.pm-mock .svc-cat-card h3 a:hover{color:var(--sky);}
.pm-mock .svc-cat-card .cat-list li a{
  color:inherit;text-decoration:none;
  display:block;padding:2px 0;
  transition:color .15s;
}
.pm-mock .svc-cat-card .cat-list li a:hover{color:var(--sky);}
.pm-mock .svc-cat-card .cat-arrow{
  cursor:pointer;text-decoration:none;color:var(--sky);
  display:inline-block;margin-top:16px;
}
.pm-mock .svc-cat-card .cat-arrow:hover{opacity:.75;}
.pm-mock .svc-cat-card.dark .cat-list li a{color:inherit;}
.pm-mock .svc-cat-card.dark .cat-list li a:hover{color:var(--sky-light,#a5d5ee);}

/* ===== TOP: case slider（8件1列・横スクロール・自動送り）v0.36 ===== */
.pm-mock .cases .case-scroll-wrap {
  overflow-x: auto; overflow-y: hidden;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  padding: 8px 0 20px;
  margin: 0 -20px; padding-left: 20px; padding-right: 20px;
}
.pm-mock .cases .case-scroll-wrap::-webkit-scrollbar { height: 8px; }
.pm-mock .cases .case-scroll-wrap::-webkit-scrollbar-track { background: transparent; }
.pm-mock .cases .case-scroll-wrap::-webkit-scrollbar-thumb { background: var(--sky-pale, #cfe4f2); border-radius: 4px; }
.pm-mock .cases .case-scroll-wrap::-webkit-scrollbar-thumb:hover { background: var(--sky); }

.pm-mock .cases .case-grid {
  display: flex; flex-wrap: nowrap;
  gap: 20px;
}
.pm-mock .cases .case-card {
  flex: 0 0 320px;   /* 固定幅 */
  display: flex; flex-direction: column;
  border: 1px solid var(--line); background: #fff;
  text-decoration: none; color: inherit;
  transition: .2s; overflow: hidden;
}
.pm-mock .cases .case-card:hover {
  border-color: var(--sky); box-shadow: 0 10px 26px rgba(28,147,210,.10);
  transform: translateY(-2px);
}
.pm-mock .cases .c-thumb {
  aspect-ratio: 16/9;
  background-size: contain; background-repeat: no-repeat; background-position: center;
  background-color: #fff; border-bottom: 1px solid var(--line);
  padding: 6px; box-sizing: border-box;
}
.pm-mock .cases .c-thumb--ph {
  display: flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, #eaf4fb 0%, #cfe4f2 100%);
}
.pm-mock .cases .c-thumb--ph span {
  font-family: 'Poppins', sans-serif; font-size: 14px; letter-spacing: .1em;
  color: var(--navy); font-weight: 800;
}
.pm-mock .cases .c-top { padding: 14px 16px 10px; border-bottom: 1px solid var(--line); }
.pm-mock .cases .c-top .cli { display: flex; flex-direction: column; gap: 4px; }
.pm-mock .cases .c-top .name { font-size: 14px; font-weight: 800; color: var(--navy); line-height: 1.4; }
.pm-mock .cases .c-top .cat { font-size: 11px; color: var(--sub); line-height: 1.4; }
.pm-mock .cases .c-top .res-svc {
  display: inline-block; margin-top: 8px;
  font-size: 11px; padding: 2px 8px; background: var(--paper); color: var(--sky);
  border-radius: 3px; font-weight: 700;
}
.pm-mock .cases .c-body { padding: 14px 16px; flex: 1; display: flex; flex-direction: column; justify-content: space-between; gap: 12px; }
.pm-mock .cases .c-body .ctitle {
  font-size: 13px; font-weight: 700; color: var(--navy);
  line-height: 1.55; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden;
}
.pm-mock .cases .c-body .link { font-size: 12px; color: var(--sky); font-weight: 700; }

.pm-mock .cases-more { text-align: center; margin-top: 32px; }

@media (max-width: 640px) {
  .pm-mock .cases .case-card { flex: 0 0 260px; }
}

/* ================================================================
 * v63：METHOD（TRACTION5）— Strength 直下 / ダークネイビー背景で強調
 * ================================================================ */
.pm-mock .method-t5{
  position:relative;
  padding:92px 0 100px;
  background:
    radial-gradient(circle at 15% 25%, rgba(28,147,210,.28) 0%, transparent 45%),
    radial-gradient(circle at 85% 80%, rgba(28,147,210,.20) 0%, transparent 50%),
    linear-gradient(160deg, #0F1938 0%, #1B224C 55%, #12183A 100%);
  color:#fff;
  overflow:hidden;
}
.pm-mock .method-t5::before{
  /* 大きな背景ワード "TRACTION5" — 装飾 */
  content:"TRACTION5";
  position:absolute;
  right:-40px;bottom:-56px;
  font-family:'Poppins',sans-serif;
  font-weight:800;
  font-size:clamp(140px, 22vw, 320px);
  line-height:.85;
  letter-spacing:-.02em;
  color:rgba(255,255,255,.045);
  white-space:nowrap;
  pointer-events:none;
  z-index:0;
}
.pm-mock .method-t5 .container{position:relative;z-index:1;}
.pm-mock .method-t5 .sec-bg-word{color:rgba(255,255,255,.06);}
.pm-mock .method-t5 .sec-head{margin-bottom:36px;}
.pm-mock .method-t5 .sec-head h2{color:#fff;}
.pm-mock .method-t5 .sec-head .bar{background:var(--sky);}
.pm-mock .method-t5 .sec-head .jp{color:rgba(255,255,255,.92);}
.pm-mock .method-t5 .sec-head .lead{
  max-width:860px;
  font-size:15px;
  color:rgba(255,255,255,.78);
  line-height:1.95;
  margin-top:16px;
}
/* --- TRACTION5 メインタイトル特別扱い（さらに目立たせ）--- */
.pm-mock .t5-title-wrap{
  display:flex;align-items:baseline;gap:24px;flex-wrap:wrap;
  margin-bottom:18px;
}
.pm-mock .t5-brandmark{
  display:inline-flex;align-items:baseline;gap:10px;
  font-family:'Poppins',sans-serif;
  font-weight:800;
  line-height:1;
}
.pm-mock .t5-brandmark .t5-word{
  font-size:clamp(38px,5vw,60px);
  color:#fff;
  letter-spacing:-.01em;
}
.pm-mock .t5-brandmark .t5-num{
  font-size:clamp(48px,6.5vw,80px);
  color:var(--sky);
  letter-spacing:-.02em;
  position:relative;
}
.pm-mock .t5-brandmark .t5-num::after{
  content:"";position:absolute;left:0;right:0;bottom:-6px;
  height:3px;background:var(--sky);
}
.pm-mock .t5-tagjp{
  font-size:14px;
  color:rgba(255,255,255,.8);
  letter-spacing:.06em;
}
/* --- 5カードグリッド --- */
.pm-mock .t5-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:14px;
  position:relative;
}
.pm-mock .t5-card{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.14);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  padding:26px 22px 24px;
  transition:.25s;
  position:relative;
  overflow:hidden;
}
.pm-mock .t5-card::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:3px;
  background:var(--sky);transform:scaleY(0);transform-origin:top;
  transition:transform .3s;
}
.pm-mock .t5-card:hover{
  background:rgba(255,255,255,.10);
  border-color:var(--sky);
  transform:translateY(-4px);
  box-shadow:0 16px 32px rgba(0,0,0,.25);
}
.pm-mock .t5-card:hover::before{transform:scaleY(1);}
.pm-mock .t5-head{
  display:flex;align-items:baseline;gap:8px;
  padding-bottom:12px;
  border-bottom:1px solid rgba(255,255,255,.18);
}
.pm-mock .t5-no{
  font-family:'Poppins',sans-serif;
  font-size:15px;
  font-weight:700;
  color:var(--sky);
  letter-spacing:.05em;
}
.pm-mock .t5-en{
  font-family:'Poppins',sans-serif;
  font-size:11.5px;
  font-weight:700;
  color:rgba(95,182,232,.9);
  letter-spacing:.18em;
}
.pm-mock .t5-jp{
  margin-top:16px;
  font-size:24px;
  font-weight:900;
  color:#fff;
  line-height:1.4;
  letter-spacing:.02em;
}
.pm-mock .t5-desc{
  margin-top:10px;
  font-size:12.5px;
  color:rgba(255,255,255,.78);
  line-height:1.8;
}
.pm-mock .t5-more{
  margin-top:32px;
}
.pm-mock .t5-more-link{
  display:inline-flex;align-items:center;gap:8px;
  font-size:14.5px;
  font-weight:700;
  color:#fff;
  text-decoration:none;
  padding:12px 22px;
  background:rgba(28,147,210,.85);
  border:1px solid var(--sky);
  transition:.2s;
}
.pm-mock .t5-more-link:hover{background:var(--sky);transform:translateX(3px);}
.pm-mock .t5-more-link .arr{color:#fff;}
@media (max-width:1100px){
  .pm-mock .t5-grid{grid-template-columns:repeat(3,1fr);}
}
@media (max-width:640px){
  .pm-mock .t5-grid{grid-template-columns:repeat(2,1fr);gap:10px;}
  .pm-mock .method-t5{padding:64px 0 72px;}
  .pm-mock .t5-jp{font-size:19px;}
  .pm-mock .t5-brandmark .t5-word{font-size:30px;}
  .pm-mock .t5-brandmark .t5-num{font-size:38px;}
}

/* Tone バリエーション */
.pm-mock .cs-tone-a{ --tone-a:#1C93D2; --tone-b:#12588A; }  /* vertical SaaS: sky-navy */
.pm-mock .cs-tone-b{ --tone-a:#2FA8B8; --tone-b:#0F5563; }  /* horizontal SaaS: teal */
.pm-mock .cs-tone-c{ --tone-a:#F26E4C; --tone-b:#9B361F; }  /* HR: orange */
.pm-mock .cs-tone-d{ --tone-a:#6E62DA; --tone-b:#302879; }  /* AI: violet */
.pm-mock .cs-tone-e{ --tone-a:#1B224C; --tone-b:#0A1029; }  /* 広告: deep navy */


/* ==================================================================
 * 下層ページの見出しを LP と同じ作法に寄せる（v0.69.0）
 *   中央寄せ＋青の下線。英字ラベルはページ側に無いので日本語のみ。
 * ================================================================== */
.pm-mock .page-hero ~ * .section-title,
.pm-mock .page-hero ~ .section-title{
  text-align:center;font-family:'Noto Sans JP',sans-serif;font-weight:900;
  font-size:clamp(20px,2vw,28px);line-height:1.55;color:var(--navy,#1B224C);
  margin:0 0 30px;
}
/* 見出し下のアクセント線は使わない（v0.80.0） */
.pm-mock .page-hero ~ * .section-title::after,
.pm-mock .page-hero ~ .section-title::after{content:none !important;}

/* TOP ヒーロー：課題カードの補足行（モック v196 の本文追加分）
   .branch-card の同名要素と同じ見え方に揃える。新規スタイルは足さない。 */
.pm-mock .hero .branch-mini .b-sub{font-size:15px;color:var(--sub);margin-top:2px;}
@media (max-width:900px){ .pm-mock .hero .branch-mini .b-sub{font-size:12.5px;} }

/* TOP 数値帯：モック v196 で追加された 4項目目の補足語と、帯全体の注釈1行
   既存の .num-cell .note と同じ扱いに揃えるだけで、新しい見た目は作らない。 */
.pm-mock .num-cell .label .label-sub{display:block;font-size:11.5px;font-weight:500;color:rgba(255,255,255,.75);margin-top:1px;}
.pm-mock .numbers .numbers-note{font-size:12px;color:rgba(255,255,255,.75);margin:18px 0 0;line-height:1.8;}
@media (max-width:900px){ .pm-mock .numbers .numbers-note{font-size:11px;margin-top:16px;} }

/* TOP 強み：モック v196 で 6項目 → 4項目になったため、3列だと 3+1 で割れる。
   4枚のときだけ 2列に組み替える。カードの見た目は既存のまま。 */
.pm-mock .str-grid6.is-4{grid-template-columns:repeat(2,1fr);}
.pm-mock .str-grid6.is-4 .str6-card h3{min-height:0;}
.pm-mock .str-all{margin:22px 0 0;}
.pm-mock .str-all a{font-size:14px;font-weight:700;color:var(--sky);text-decoration:none;letter-spacing:.02em;}
.pm-mock .str-all a:hover{text-decoration:underline;}
@media (max-width:760px){ .pm-mock .str-grid6.is-4{grid-template-columns:1fr;} }

/* TOP サービス：営業プロセス図（モック v196 で追加）
   モックはインラインSVGだが、色が既存パレット外だったため
   同じ文言のまま HTML に置き換え、既存トークンで組んでいる。 */
.pm-mock .svc-process{margin-top:26px;background:var(--tint);border:1px solid var(--line);padding:22px 22px 20px;}
.pm-mock .svc-process .sp-title{margin:0 0 16px;font-size:15px;font-weight:900;color:var(--navy);line-height:1.6;}
.pm-mock .svc-process .sp-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.pm-mock .svc-process .sp-step{position:relative;}
.pm-mock .svc-process .sp-step + .sp-step::before{
  content:"→";position:absolute;left:-17px;top:50%;transform:translateY(-50%);
  font-size:13px;color:var(--sky);line-height:1;}
.pm-mock .svc-process .sp-cap{background:var(--sky);color:#fff;font-size:12.5px;font-weight:700;
  text-align:center;padding:7px 8px;letter-spacing:.02em;}
.pm-mock .svc-process .sp-step--1 .sp-cap{background:rgba(28,147,210,.55);}
.pm-mock .svc-process .sp-step--2 .sp-cap{background:rgba(28,147,210,.78);}
.pm-mock .svc-process .sp-step--3 .sp-cap{background:var(--sky);}
.pm-mock .svc-process .sp-step--4 .sp-cap{background:var(--navy);}
.pm-mock .svc-process .sp-body{background:#fff;border:1px solid var(--line);border-top:none;
  padding:12px 14px 11px;display:flex;flex-direction:column;gap:5px;min-height:92px;}
.pm-mock .svc-process .sp-item{font-size:12.5px;color:var(--ink);line-height:1.6;}
.pm-mock .svc-process .sp-note{margin-top:auto;font-size:11.5px;color:var(--muted,#7E8DA3);line-height:1.6;}
.pm-mock .svc-process .sp-ai{margin-top:14px;background:var(--sky);color:#fff;text-align:center;
  font-size:13px;font-weight:700;padding:9px 12px;letter-spacing:.02em;}
@media (max-width:900px){
  .pm-mock .svc-process .sp-flow{grid-template-columns:repeat(2,1fr);gap:16px 22px;}
  .pm-mock .svc-process .sp-step--3::before{content:none;}
}
@media (max-width:560px){
  .pm-mock .svc-process{padding:18px 16px 16px;}
  .pm-mock .svc-process .sp-flow{grid-template-columns:1fr;gap:12px;}
  .pm-mock .svc-process .sp-step + .sp-step::before{content:none;}
  .pm-mock .svc-process .sp-body{min-height:0;}
}

/* TOP End to End（モック v196 で追加）：FLOW と同じ横ステップの型を4列で使う */
.pm-mock .pipeline{position:relative;overflow:hidden;background:#fff;padding-top:56px;padding-bottom:56px;}
.pm-mock .flow-steps--4{grid-template-columns:repeat(4,1fr);}
.pm-mock .f-step .f-link{display:inline-block;margin-top:10px;font-size:13px;font-weight:700;
  color:var(--sky);text-decoration:none;letter-spacing:.02em;}
.pm-mock .f-step .f-link:hover{text-decoration:underline;}
.pm-mock .f-step.hot .f-link{color:#fff;}
.pm-mock .flow-note a{color:var(--sky);font-weight:700;text-decoration:none;}
.pm-mock .flow-note a:hover{text-decoration:underline;}
@media (max-width:960px){.pm-mock .flow-steps--4{grid-template-columns:repeat(2,1fr);}}
@media (max-width:640px){.pm-mock .flow-steps--4{grid-template-columns:1fr;}}

/* TOP AI：モック v196 で指標が数値から語句に変わったため、
   数字用の大きさのままだと収まらない。語句用のサイズだけ用意する。 */
.pm-mock .ai-metric--word .m-num{font-size:34px;}
.pm-mock .ai-metric--word .m-unit{font-size:17px;}
.pm-mock .ai-metric--word .m-label{white-space:normal;overflow:visible;text-overflow:clip;}
@media (max-width:900px){
  .pm-mock .ai-metric--word .m-num{font-size:26px;}
  .pm-mock .ai-metric--word .m-unit{font-size:14px;}
}

/* TOP メソッド：モック v196 で追加された小見出しと、05→01 に戻る循環の注記 */
.pm-mock .t5-sub{
  margin:0 0 16px;font-size:16px;font-weight:900;color:#fff;letter-spacing:.02em;line-height:1.6;
}
.pm-mock .t5-loop{
  position:relative;margin-top:34px;padding:14px 20px 14px 46px;
  border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.06);
  font-size:13.5px;font-weight:700;color:#fff;line-height:1.7;
}
.pm-mock .t5-loop::before{
  content:"";position:absolute;left:14px;right:14px;top:-17px;height:16px;
  border-left:1px dashed rgba(255,255,255,.4);
  border-right:1px dashed rgba(255,255,255,.4);
  border-bottom:1px dashed rgba(255,255,255,.4);
}
.pm-mock .t5-loop-mark{
  position:absolute;left:16px;top:50%;transform:translateY(-50%);
  font-size:19px;line-height:1;color:var(--sky-light,#5FB6E8);
}
@media (max-width:640px){
  .pm-mock .t5-loop{padding:12px 14px 12px 40px;font-size:12.5px;}
  .pm-mock .t5-sub{font-size:14.5px;}
}

/* TOP FAQ：モック v196 と同じ2列に。縦の占有を半分に抑える。
   件数・文言は変えないので JSON-LD の件数とも一致したまま。 */
.pm-mock .faq-list{max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start;}
@media (max-width:820px){ .pm-mock .faq-list{grid-template-columns:1fr;} }

/* ==================================================================
 * TOP の文字サイズを一段上げる（v0.87.0 → v0.99.10）
 *   body.is-top-mock に限定しているので、他ページには影響しない。
 *   v0.99.10：他ページ（LP・サービス・事例）と同じ 1.25倍 / 1.10倍 まで
 *   引き上げた。v0.87.0 時点の 1.15倍 / 1.06倍 に対する差分を掛けている。
 * ================================================================== */
body.is-top-mock .pm-mock .hero-tag{font-size:18.5px;}
body.is-top-mock .pm-mock .hero-title{font-size:clamp(60px,6vw,108px);}
body.is-top-mock .pm-mock .hero-jp{font-size:clamp(31.5px,2.8vw,50px);}
body.is-top-mock .pm-mock .hero-sub{font-size:clamp(18.5px,1.4vw,24px);}
@media (max-width:640px){
  body.is-top-mock .pm-mock .hero-title{font-size:44.5px;}
  body.is-top-mock .pm-mock .hero-jp{font-size:25px;}
  body.is-top-mock .pm-mock .hero-sub{font-size:17.5px;}
}
body.is-top-mock .pm-mock{font-size:22.5px;}
body.is-top-mock .pm-mock .hero .hero-actions .btn-big{font-size:20px;}
body.is-top-mock .pm-mock .hero .sp-head::before{font-size:14px;}
body.is-top-mock .pm-mock .hero .sp-card .sp-cat{font-size:20px;}
body.is-top-mock .pm-mock .hero .sp-card .sp-sub{font-size:16px;}
body.is-top-mock .pm-mock .hero .sp-card .sp-arr{font-size:25px;}
body.is-top-mock .pm-mock .hero .branch-sub .branch-head{font-size:16px;}
body.is-top-mock .pm-mock .hero .branch-mini h3{font-size:18px;}
body.is-top-mock .pm-mock .hero .branch-mini .arr{font-size:18.5px;}
body.is-top-mock .pm-mock .btn-big{font-size:20px;}
body.is-top-mock .pm-mock .branch-head{font-size:20px;}
body.is-top-mock .pm-mock .branch-card .b-sub{font-size:18.5px;}
body.is-top-mock .pm-mock .branch-card .arr{font-size:27.5px;}
body.is-top-mock .pm-mock .challenge-head h2{font-size:38.5px;}
body.is-top-mock .pm-mock .challenge-head .jp{font-size:20.5px;}
body.is-top-mock .pm-mock .ch-col .ch-cat{font-size:20.5px;}
body.is-top-mock .pm-mock .ch-col .ch-cat .no{font-size:18px;}
body.is-top-mock .pm-mock .ch-item{font-size:20px;}
body.is-top-mock .pm-mock .numbers .label-strip{font-size:17px;}
body.is-top-mock .pm-mock .num-cell .value{font-size:70.5px;}
body.is-top-mock .pm-mock .num-cell .value small{font-size:30px;}
body.is-top-mock .pm-mock .num-cell .label{font-size:19.5px;}
body.is-top-mock .pm-mock .num-cell .note{font-size:17px;}
body.is-top-mock .pm-mock .sec-head h2{font-size:48.5px;}
body.is-top-mock .pm-mock .sec-head .jp{font-size:21px;}
body.is-top-mock .pm-mock .sec-head .lead{font-size:21.5px;}
body.is-top-mock .pm-mock .str-card .no{font-size:43.5px;}
body.is-top-mock .pm-mock .str-card.feature .no{font-size:55px;}
body.is-top-mock .pm-mock .str-card.w7 .no{font-size:55px;}
body.is-top-mock .pm-mock .str6-card .no{font-size:40px;}
body.is-top-mock .pm-mock .str6-card h3{font-size:21px;}
body.is-top-mock .pm-mock .str6-card p{font-size:17px;}
body.is-top-mock .pm-mock .str6-card .str6-more{font-size:16px;}
body.is-top-mock .pm-mock .cov-stage .tagg{font-size:16px;}
body.is-top-mock .pm-mock .cov-stage h5{font-size:20px;}
body.is-top-mock .pm-mock .cov-stage p{font-size:17.5px;}
body.is-top-mock .pm-mock .svc-card .s-tag{font-size:16.5px;}
body.is-top-mock .pm-mock .svc-card h3{font-size:26px;}
body.is-top-mock .pm-mock .svc-card .s-desc{font-size:18.5px;}
body.is-top-mock .pm-mock .svc-card .s-body li{font-size:20px;}
body.is-top-mock .pm-mock .svc-card .ai-opt{font-size:17.5px;}
body.is-top-mock .pm-mock .svc-card .s-link{font-size:19.5px;}
body.is-top-mock .pm-mock .ai-copy h3{font-size:36.5px;}
body.is-top-mock .pm-mock .ai-copy p{font-size:20.5px;}
body.is-top-mock .pm-mock .ai-chip{font-size:18.5px;}
body.is-top-mock .pm-mock .ai-stack-note{font-size:16.5px;}
body.is-top-mock .pm-mock .ai-panel .p-title{font-size:17px;}
body.is-top-mock .pm-mock .ai-metric .m-label{font-size:19.5px;}
body.is-top-mock .pm-mock .ai-metric .m-num{font-size:66px;}
body.is-top-mock .pm-mock .ai-metric .m-unit{font-size:35px;}
body.is-top-mock .pm-mock .ai-metric .m-verb{font-size:21px;}
body.is-top-mock .pm-mock .btn-ghost{font-size:20px;}
body.is-top-mock .pm-mock .k-feature .badge{font-size:17px;}
body.is-top-mock .pm-mock .k-feature h3{font-size:30px;}
body.is-top-mock .pm-mock .k-feature .k-meta{font-size:17.5px;}
body.is-top-mock .pm-mock .k-feature .k-meta .arr{font-size:27.5px;}
body.is-top-mock .pm-mock .k-row .badge{font-size:16.5px;}
body.is-top-mock .pm-mock .k-row h4{font-size:20.5px;}
body.is-top-mock .pm-mock .f-step .f-no{font-size:18px;}
body.is-top-mock .pm-mock .f-step h5{font-size:22.5px;}
body.is-top-mock .pm-mock .f-step p{font-size:18px;}
body.is-top-mock .pm-mock .flow-note{font-size:19.5px;}
body.is-top-mock .pm-mock .flow-note b{font-size:23.5px;}
body.is-top-mock .pm-mock .faq-q{font-size:22.5px;}
body.is-top-mock .pm-mock .faq-q::before{font-size:25px;}
body.is-top-mock .pm-mock .faq-a{font-size:20px;}
body.is-top-mock .pm-mock .cta h2{font-size:38.5px;}
body.is-top-mock .pm-mock .cta p{font-size:20.5px;}
body.is-top-mock .pm-mock .btn-white{font-size:21.5px;}
body.is-top-mock .pm-mock .method-t5 .sec-head .lead{font-size:18.5px;}
body.is-top-mock .pm-mock .t5-tagjp{font-size:17.5px;}
body.is-top-mock .pm-mock .t5-no{font-size:18.5px;}
body.is-top-mock .pm-mock .t5-en{font-size:14px;}
body.is-top-mock .pm-mock .t5-jp{font-size:30px;}
body.is-top-mock .pm-mock .t5-desc{font-size:16px;}
body.is-top-mock .pm-mock .t5-more-link{font-size:18px;}
body.is-top-mock .pm-mock .hero .branch-mini .b-sub{font-size:18.5px;}
body.is-top-mock .pm-mock .num-cell .label .label-sub{font-size:14px;}
body.is-top-mock .pm-mock .numbers .numbers-note{font-size:15px;}
body.is-top-mock .pm-mock .str-all a{font-size:17.5px;}
body.is-top-mock .pm-mock .svc-process .sp-title{font-size:18.5px;}
body.is-top-mock .pm-mock .svc-process .sp-step + .sp-step::before{font-size:16.5px;}
body.is-top-mock .pm-mock .svc-process .sp-cap{font-size:16px;}
body.is-top-mock .pm-mock .svc-process .sp-item{font-size:16px;}
body.is-top-mock .pm-mock .svc-process .sp-note{font-size:14px;}
body.is-top-mock .pm-mock .svc-process .sp-ai{font-size:16.5px;}
body.is-top-mock .pm-mock .f-step .f-link{font-size:16.5px;}
body.is-top-mock .pm-mock .ai-metric--word .m-num{font-size:42.5px;}
body.is-top-mock .pm-mock .ai-metric--word .m-unit{font-size:21px;}
body.is-top-mock .pm-mock .t5-sub{font-size:20px;}
body.is-top-mock .pm-mock .t5-loop{font-size:17px;}
body.is-top-mock .pm-mock .t5-loop-mark{font-size:24px;}
@media (max-width:640px){
  body.is-top-mock .pm-mock .hero .sp-head{font-size:17.5px;}
  body.is-top-mock .pm-mock .hero .sp-card .sp-cat{font-size:16.5px;}
  body.is-top-mock .pm-mock .hero .btn-big{font-size:17.5px;}
  body.is-top-mock .pm-mock .hero .branch-card h3{font-size:18.5px;}
  body.is-top-mock .pm-mock .hero .branch-card .b-sub{font-size:15px;}
  body.is-top-mock .pm-mock .num-cell .value{font-size:45px;}
  body.is-top-mock .pm-mock .num-cell .value small{font-size:17.5px;}
  body.is-top-mock .pm-mock .sec-head h2{font-size:30px;}
  body.is-top-mock .pm-mock .sec-head .jp{font-size:16px;}
  body.is-top-mock .pm-mock .challenge-head h2{font-size:25px;}
  body.is-top-mock .pm-mock .ch-item{font-size:17px;}
  body.is-top-mock .pm-mock .str-card .no{font-size:32.5px;}
  body.is-top-mock .pm-mock .str-card.feature .no{font-size:47.5px;}
  body.is-top-mock .pm-mock .ai-metric .m-num{font-size:45px;}
  body.is-top-mock .pm-mock .ai-metric .m-unit{font-size:22.5px;}
  body.is-top-mock .pm-mock .ai-metric .m-label{font-size:15px;}
  body.is-top-mock .pm-mock .ai-metric .m-verb{font-size:15px;}
  body.is-top-mock .pm-mock .svc-card h3{font-size:22.5px;}
  body.is-top-mock .pm-mock .svc-card .s-body li{font-size:17px;}
  body.is-top-mock .pm-mock .faq-q{font-size:17.5px;}
  body.is-top-mock .pm-mock .faq-a{font-size:16.5px;}
  body.is-top-mock .pm-mock .t5-jp{font-size:24px;}
  body.is-top-mock .pm-mock .t5-loop{font-size:16px;}
  body.is-top-mock .pm-mock .t5-sub{font-size:18px;}
}
@media (max-width:1060px){
  body.is-top-mock .pm-mock .hero .btn-big{font-size:17.5px;}
  body.is-top-mock .pm-mock .hero .branch-head{font-size:18.5px;}
  body.is-top-mock .pm-mock .hero .branch-card h3{font-size:20px;}
  body.is-top-mock .pm-mock .hero .branch-card .b-sub{font-size:16px;}
  body.is-top-mock .pm-mock .num-cell .value{font-size:48.5px;}
  body.is-top-mock .pm-mock .num-cell .value small{font-size:20px;}
  body.is-top-mock .pm-mock .num-cell .label{font-size:16.5px;}
  body.is-top-mock .pm-mock .num-cell .note{font-size:13.5px;}
  body.is-top-mock .pm-mock .challenge-head h2{font-size:27.5px;}
  body.is-top-mock .pm-mock .challenge-head .jp{font-size:16.5px;}
  body.is-top-mock .pm-mock .sec-head h2{font-size:37.5px;}
  body.is-top-mock .pm-mock .sec-head .jp{font-size:16.5px;}
  body.is-top-mock .pm-mock .sec-head .lead{font-size:17.5px;}
  body.is-top-mock .pm-mock .ai-copy h3{font-size:27.5px;}
  body.is-top-mock .pm-mock .ai-copy p{font-size:17.5px;}
  body.is-top-mock .pm-mock .ai-metric .m-num{font-size:46px;}
  body.is-top-mock .pm-mock .ai-metric .m-unit{font-size:25px;}
  body.is-top-mock .pm-mock .ai-metric .m-verb{font-size:16.5px;}
  body.is-top-mock .pm-mock .ai-metric .m-label{font-size:16px;}
  body.is-top-mock .pm-mock .ai-chip{font-size:16.5px;}
  body.is-top-mock .pm-mock .k-feature h3{font-size:22.5px;}
  body.is-top-mock .pm-mock .k-row h4{font-size:17px;}
  body.is-top-mock .pm-mock .faq-q{font-size:18.5px;}
  body.is-top-mock .pm-mock .faq-a{font-size:17px;}
  body.is-top-mock .pm-mock .cta h2{font-size:27.5px;}
  body.is-top-mock .pm-mock .cta p{font-size:17.5px;}
  body.is-top-mock .pm-mock .cta-actions .btn-white,body.is-top-mock .pm-mock .cta-actions .btn-ghost2{font-size:18.5px;}
}
@media (max-width:900px){
  body.is-top-mock .pm-mock .hero .branch-mini .b-sub{font-size:16px;}
  body.is-top-mock .pm-mock .numbers .numbers-note{font-size:13.5px;}
  body.is-top-mock .pm-mock .ai-metric--word .m-num{font-size:32.5px;}
  body.is-top-mock .pm-mock .ai-metric--word .m-unit{font-size:17.5px;}
}

/* =============================================================
 * ナビの「メディア」（v1.51.0）
 * -------------------------------------------------------------
 * 自社の情報メディアは別サイトなので、ナビの1項目にまとめて
 * ぶら下げる。JavaScript は使わず、hover と focus-within で開く。
 * 1060px 以下（縦積みのメニュー）では、開いたメニューの中に
 * そのまま並べる（折りたたみにしない）。
 * ============================================================= */
.pm-mock .nav-media{ position:relative; display:inline-flex; }
.pm-mock .nav-media__t::after{
  content:""; display:inline-block; width:.42em; height:.42em; margin-left:.5em;
  border-right:2px solid currentColor; border-bottom:2px solid currentColor;
  transform:translateY(-.15em) rotate(45deg);
}
.pm-mock .nav-media__list{
  position:absolute; top:100%; left:50%; transform:translateX(-50%);
  display:none; min-width:290px; padding:8px 0; z-index:70;
  background:#fff; border:1px solid #E2E8F1; border-radius:6px;
  box-shadow:0 16px 34px rgba(15,30,55,.14);
}
.pm-mock .nav-media:hover .nav-media__list,
.pm-mock .nav-media:focus-within .nav-media__list{ display:block; }
.pm-mock .nav-media__list a{
  display:block; padding:11px 18px; border-bottom:0 !important;
  font-size:15px; font-weight:700; line-height:1.5; color:var(--ink,#1B224C);
}
.pm-mock .nav-media__list a:hover{ background:#F2F7FB; color:var(--sky,#1C93D2); }
.pm-mock .nav-media__list b{ display:block; font-weight:700; }
.pm-mock .nav-media__list small{
  display:block; margin-top:3px; font-size:12.5px; font-weight:400; color:var(--sub,#5C6B80);
}

/* ハンバーガー側：入れ子にせず、そのまま縦に並べる
   （縦積みになるのは 1060px 以下。1061〜1280px は行のまま開くため対象外） */
@media (max-width:1060px){
  .pm-mock .pm-navtoggle:checked ~ nav .nav-media{ display:block; width:100%; }
  .pm-mock .pm-navtoggle:checked ~ nav .nav-media__t{
    display:block; padding:14px 20px; border-bottom:1px solid #eef2f6;
  }
  .pm-mock .pm-navtoggle:checked ~ nav .nav-media__t::after{ display:none; }
  .pm-mock .pm-navtoggle:checked ~ nav .nav-media__list{
    position:static; transform:none; display:block;
    min-width:0; padding:0; border:0; border-radius:0; box-shadow:none;
    background:#F7FAFC;
  }
  .pm-mock .pm-navtoggle:checked ~ nav .nav-media__list a{
    padding:12px 20px 12px 34px; border-bottom:1px solid #eef2f6 !important; font-size:14px;
  }
}

/* =============================================================
 * v1.71.0  TOP の文言修正にともなう調整
 * -------------------------------------------------------------
 *  ・HERO のリード文が「セールス＆マーケテ／ィングの」のように
 *    語の途中で折り返していた（レビュー指摘「改行がおかしい」）。
 *    文節で折り返すようにする。
 *  ・ロゴを大きく（レビュー指摘）。
 *  ・HERO 右のソリューション枠に「サービス一覧」への導線を追加。
 * ============================================================= */
.pm-mock .hero-jp{
  word-break:auto-phrase; overflow-wrap:normal; line-break:strict;
}

/* ロゴ：48px → 60px */
.pm-mock .logo img{ height:60px; }
@media (max-width:1100px){ .pm-mock .logo img{ height:44px; } }
@media (max-width:640px){  .pm-mock .logo img{ height:38px; } }

/* 「サービス一覧をすべて見る」 */
.pm-mock .sp-all{
  margin:10px 0 0; text-align:right;
  font-size:13.5px; font-weight:700;
}
.pm-mock .sp-all a{ color:var(--sky-dark,#14719f); text-decoration:none; }
.pm-mock .sp-all a:hover{ text-decoration:underline; }

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

.pm-mock .side-tab a{font-size:16px}
.pm-mock .branch-head{font-size:18px}
.pm-mock .branch-card h3{font-size:22px}
.pm-mock .branch-card .b-sub{font-size:16px}
.pm-mock .challenge-head h2{font-size:28px}
.pm-mock .challenge-head .jp{font-size:18px}
.pm-mock .numbers .label-strip{font-size:14px}
.pm-mock .num-cell .note{font-size:14px}
.pm-mock .sec-head .jp{font-size:18px}
.pm-mock .sec-head .lead{font-size:21px}
.pm-mock .str-card h3{font-size:22px}
.pm-mock .str-card p{font-size:16px}
.pm-mock .str-card.feature h3{font-size:22px}
.pm-mock .str6-card h3{font-size:18px}
.pm-mock .str6-card p{font-size:16px}
.pm-mock .str6-card .str6-more{font-size:14px}
.pm-mock .cov-stage .tagg{font-size:14px}
.pm-mock .cov-stage h5{font-size:18px}
.pm-mock .cov-stage p{font-size:18px}
.pm-mock .cov-note{font-size:14px}
.pm-mock .svc-card .s-tag{font-size:14px}
.pm-mock .svc-card h3{font-size:22px}
.pm-mock .svc-card .s-desc{font-size:16px}
.pm-mock .svc-card .s-link{font-size:16px}
.pm-mock .badge-new{font-size:14px}
.pm-mock .ai-copy h3{font-size:28px}
.pm-mock .ai-copy p{font-size:18px}
.pm-mock .ai-stack-note{font-size:14px}
.pm-mock .ai-panel .p-title{font-size:18px}
.pm-mock .ai-metric .m-verb{font-size:18px}
.pm-mock .case-card .res-cap{font-size:14px}
.pm-mock .case-card .c-body p{font-size:16px}
.pm-mock .case-card .c-body .link{font-size:16px}
.pm-mock .k-feature .badge{font-size:14px}
.pm-mock .k-feature h3{font-size:22px}
.pm-mock .k-row .badge{font-size:14px}
.pm-mock .k-row h4{font-size:18px}
.pm-mock .f-step p{font-size:16px}
.pm-mock .flow-note{font-size:14px}
.pm-mock .faq-a{font-size:18px}
.pm-mock .cta h2{font-size:28px}
.pm-mock .cta p{font-size:18px}
.pm-mock .f-addr{font-size:16px}
.pm-mock .f-grid h5{font-size:18px}
.pm-mock .f-bottom{font-size:14px}
.pm-mock .pm-crumb{font-size:14px}
.pm-mock .svc-cat-card .cat-tag{font-size:14px}
.pm-mock .svc-cat-card .cat-list li{font-size:16px}
.pm-mock .sub-card .sub-tag{font-size:14px}
.pm-mock .sub-card h3{font-size:22px}
.pm-mock .sub-card p{font-size:16px}
.pm-mock .industry-shortcuts .is-label{font-size:14px}
.pm-mock .industry-shortcuts .is-head p{font-size:18px}
.pm-mock .industry-shortcuts .is-card .is-tag{font-size:14px}
.pm-mock .industry-shortcuts .is-card h4{font-size:18px}
.pm-mock .industry-shortcuts .is-card p{font-size:16px}
.pm-mock .why-item h3{font-size:18px}
.pm-mock .why-item p{font-size:16px}
.pm-mock .ai-stack-note-page{font-size:14px}
.pm-mock .lp-rich{font-size:18px}
.pm-mock .lp-note{font-size:14px}
.pm-mock .price-badge{font-size:14px}
.pm-mock .price-value .unit{font-size:16px}
.pm-mock .price-desc{font-size:14px}
.pm-mock .price-features li{font-size:18px}
.pm-mock .related-ai__lead{font-size:21px}
.pm-mock .related-ai__panel .p-title{font-size:18px}
.pm-mock .related-ai__list li{font-size:18px}
.pm-mock .related-ai__cta{font-size:16px}
.pm-mock .cases .c-top .cat{font-size:14px}
.pm-mock .cases .c-top .res-svc{font-size:14px}
.pm-mock .cases .c-body .ctitle{font-size:18px}
.pm-mock .cases .c-body .link{font-size:14px}
.pm-mock .method-t5 .sec-head .lead{font-size:21px}
.pm-mock .t5-en{font-size:14px}
.pm-mock .t5-desc{font-size:18px}
.pm-mock .t5-more-link{font-size:16px}
.pm-mock .num-cell .label .label-sub{font-size:14px}
.pm-mock .numbers .numbers-note{font-size:14px}
.pm-mock .svc-process .sp-title{font-size:18px}
.pm-mock .svc-process .sp-step + .sp-step::before{font-size:14px}
.pm-mock .svc-process .sp-cap{font-size:14px}
.pm-mock .svc-process .sp-item{font-size:14px}
.pm-mock .svc-process .sp-note{font-size:14px}
.pm-mock .svc-process .sp-ai{font-size:14px}
.pm-mock .f-step .f-link{font-size:14px}
.pm-mock .t5-sub{font-size:18px}
.pm-mock .t5-loop{font-size:14px}
.pm-mock .sp-all{font-size:14px}

@media (max-width:1060px){
  .pm-mock .num-cell .label{font-size:14px}
  .pm-mock .num-cell .note{font-size:14px}
  .pm-mock .challenge-head .jp{font-size:14px}
  .pm-mock .sec-head h2{font-size:28px}
  .pm-mock .sec-head .jp{font-size:14px}
  .pm-mock .sec-head .lead{font-size:18px}
  .pm-mock .ai-copy p{font-size:18px}
  .pm-mock .ai-metric .m-verb{font-size:14px}
  .pm-mock .ai-metric .m-label{font-size:14px}
  .pm-mock .ai-chip{font-size:14px}
  .pm-mock .k-row h4{font-size:18px}
  .pm-mock .faq-q{font-size:18px}
  .pm-mock .faq-a{font-size:18px}
  .pm-mock .cta p{font-size:18px}
  .pm-mock .f-addr{font-size:14px}
  .pm-mock .f-bottom{font-size:14px}
}

@media (max-width:900px){
  .pm-mock .side-tab a{font-size:14.5px}
  .pm-mock .branch-head{font-size:16px}
  .pm-mock .branch-card h3{font-size:19px}
  .pm-mock .branch-card .b-sub{font-size:14.5px}
  .pm-mock .challenge-head h2{font-size:22px}
  .pm-mock .challenge-head .jp{font-size:16px}
  .pm-mock .numbers .label-strip{font-size:13px}
  .pm-mock .num-cell .note{font-size:13px}
  .pm-mock .sec-head .jp{font-size:16px}
  .pm-mock .sec-head .lead{font-size:17px}
  .pm-mock .str-card h3{font-size:19px}
  .pm-mock .str-card p{font-size:14.5px}
  .pm-mock .str-card.feature h3{font-size:19px}
  .pm-mock .str6-card h3{font-size:16px}
  .pm-mock .str6-card p{font-size:14.5px}
  .pm-mock .str6-card .str6-more{font-size:13px}
  .pm-mock .cov-stage .tagg{font-size:13px}
  .pm-mock .cov-stage h5{font-size:16px}
  .pm-mock .cov-stage p{font-size:16px}
  .pm-mock .cov-note{font-size:13px}
  .pm-mock .svc-card .s-tag{font-size:13px}
  .pm-mock .svc-card h3{font-size:19px}
  .pm-mock .svc-card .s-desc{font-size:14.5px}
  .pm-mock .svc-card .s-link{font-size:14.5px}
  .pm-mock .badge-new{font-size:13px}
  .pm-mock .ai-copy h3{font-size:22px}
  .pm-mock .ai-copy p{font-size:16px}
  .pm-mock .ai-stack-note{font-size:13px}
  .pm-mock .ai-panel .p-title{font-size:16px}
  .pm-mock .ai-metric .m-verb{font-size:16px}
  .pm-mock .case-card .res-cap{font-size:13px}
  .pm-mock .case-card .c-body p{font-size:14.5px}
  .pm-mock .case-card .c-body .link{font-size:14.5px}
  .pm-mock .k-feature .badge{font-size:13px}
  .pm-mock .k-feature h3{font-size:19px}
  .pm-mock .k-row .badge{font-size:13px}
  .pm-mock .k-row h4{font-size:16px}
  .pm-mock .f-step p{font-size:14.5px}
  .pm-mock .flow-note{font-size:13px}
  .pm-mock .faq-a{font-size:16px}
  .pm-mock .cta h2{font-size:22px}
  .pm-mock .cta p{font-size:16px}
  .pm-mock .f-addr{font-size:14.5px}
  .pm-mock .f-grid h5{font-size:16px}
  .pm-mock .f-bottom{font-size:13px}
  .pm-mock .pm-crumb{font-size:13px}
  .pm-mock .svc-cat-card .cat-tag{font-size:13px}
  .pm-mock .svc-cat-card .cat-list li{font-size:14.5px}
  .pm-mock .sub-card .sub-tag{font-size:13px}
  .pm-mock .sub-card h3{font-size:19px}
  .pm-mock .sub-card p{font-size:14.5px}
  .pm-mock .industry-shortcuts .is-label{font-size:13px}
  .pm-mock .industry-shortcuts .is-head p{font-size:16px}
  .pm-mock .industry-shortcuts .is-card .is-tag{font-size:13px}
  .pm-mock .industry-shortcuts .is-card h4{font-size:16px}
  .pm-mock .industry-shortcuts .is-card p{font-size:14.5px}
  .pm-mock .why-item h3{font-size:16px}
  .pm-mock .why-item p{font-size:14.5px}
  .pm-mock .ai-stack-note-page{font-size:13px}
  .pm-mock .lp-rich{font-size:16px}
  .pm-mock .lp-note{font-size:13px}
  .pm-mock .price-badge{font-size:13px}
  .pm-mock .price-value .unit{font-size:14.5px}
  .pm-mock .price-desc{font-size:13px}
  .pm-mock .price-features li{font-size:16px}
  .pm-mock .related-ai__lead{font-size:17px}
  .pm-mock .related-ai__panel .p-title{font-size:16px}
  .pm-mock .related-ai__list li{font-size:16px}
  .pm-mock .related-ai__cta{font-size:14.5px}
  .pm-mock .cases .c-top .cat{font-size:13px}
  .pm-mock .cases .c-top .res-svc{font-size:13px}
  .pm-mock .cases .c-body .ctitle{font-size:16px}
  .pm-mock .cases .c-body .link{font-size:13px}
  .pm-mock .method-t5 .sec-head .lead{font-size:17px}
  .pm-mock .t5-en{font-size:13px}
  .pm-mock .t5-desc{font-size:16px}
  .pm-mock .t5-more-link{font-size:14.5px}
  .pm-mock .num-cell .label .label-sub{font-size:13px}
  .pm-mock .svc-process .sp-title{font-size:16px}
  .pm-mock .svc-process .sp-step + .sp-step::before{font-size:13px}
  .pm-mock .svc-process .sp-cap{font-size:13px}
  .pm-mock .svc-process .sp-item{font-size:13px}
  .pm-mock .svc-process .sp-note{font-size:13px}
  .pm-mock .svc-process .sp-ai{font-size:13px}
  .pm-mock .f-step .f-link{font-size:13px}
  .pm-mock .t5-sub{font-size:16px}
  .pm-mock .t5-loop{font-size:13px}
  .pm-mock .sp-all{font-size:13px}
  .pm-mock .numbers .numbers-note{font-size:13px}
}

@media (max-width:640px){
  .pm-mock .num-cell .value small{font-size:13px}
  .pm-mock .sec-head h2{font-size:22px}
  .pm-mock .sec-head .jp{font-size:13px}
  .pm-mock .challenge-head h2{font-size:19px}
  .pm-mock .str-card h3{font-size:16px}
  .pm-mock .str-card p{font-size:14.5px}
  .pm-mock .str-card.feature h3{font-size:16px}
  .pm-mock .str-card.feature p{font-size:14.5px}
  .pm-mock .ai-metric .m-label{font-size:13px}
  .pm-mock .ai-metric .m-verb{font-size:13px}
  .pm-mock .svc-card h3{font-size:16px}
  .pm-mock .svc-card .s-body li{font-size:14.5px}
  .pm-mock .faq-q{font-size:16px}
  .pm-mock .faq-a{font-size:16px}
  .pm-mock .t5-loop{font-size:13px}
  .pm-mock .t5-sub{font-size:16px}
}
