/* ============================================================
 * Service Hub Styles (v0.1)
 *   /service/ 配下の 5 ページ共通スタイル
 *   モックの service_*.html から抽出
 * ============================================================ */

/* 2カラム構造 */
.pm-svc-wrap{
  max-width:1100px;margin:0 auto;padding:32px 24px;
  display:flex;gap:32px;
}
.pm-svc-main{flex:1;min-width:0}
.pm-svc-side{width:280px;flex-shrink:0}
@media(max-width:1023px){
  .pm-svc-wrap{flex-direction:column}
  .pm-svc-side{width:100%;order:2}
  .pm-svc-main{order:1}
}

/* パンくず */
.pm-svc-crumb{font-size:12px;color:var(--muted);margin-bottom:20px}
.pm-svc-crumb a{color:var(--muted);text-decoration:none}
.pm-svc-crumb a:hover{color:var(--teal-dark)}
.pm-svc-crumb span{margin:0 6px}

/* 見出し */
.pm-svc-main h1{
  font-size:35px;font-weight:800;line-height:1.35;
  margin-bottom:12px;color:var(--text);
}
.pm-svc-main h2{
  font-size:25px;font-weight:700;
  margin:40px 0 16px;padding-bottom:8px;
  border-bottom:2px solid var(--teal);
}
.pm-svc-main h3{
  font-size:20px;font-weight:700;
  margin:24px 0 10px;color:var(--text);
}

/* リード（薄teal帯） */
.pm-svc-lead{
  background:var(--teal-light);
  border-left:4px solid var(--teal);
  padding:16px 20px;border-radius:0 var(--radius) var(--radius) 0;
  margin-bottom:28px;font-size:17.5px;color:var(--text);line-height:1.8;
}
.pm-svc-lead strong{color:var(--teal-dark)}

/* インラインCTA */
.pm-svc-cta-inline{
  display:flex;align-items:center;gap:8px;
  padding:14px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);
  margin:20px 0;font-size:17.5px;color:var(--teal-dark);font-weight:600;text-decoration:none;
}
.pm-svc-cta-inline:hover{color:var(--teal)}

/* サービスグリッド（3カード） */
.pm-svc-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:24px 0;
}
.pm-svc-grid.is-2col{grid-template-columns:repeat(2,1fr)}
@media(max-width:900px){
  .pm-svc-grid,.pm-svc-grid.is-2col{grid-template-columns:1fr}
}
.pm-svc-card{
  display:block;background:#fff;border:1px solid var(--border);border-radius:14px;
  padding:22px;text-decoration:none;transition:all .18s;
}
.pm-svc-card:hover{
  border-color:var(--teal);
  box-shadow:0 6px 22px rgba(22,51,92,.08);
  transform:translateY(-2px);
}
.pm-svc-card h3{
  font-size:20px;color:var(--teal-deep,#0e5478);
  margin:0 0 8px;font-weight:700;
}
.pm-svc-card p{
  font-size:17px;color:var(--muted);line-height:1.7;margin:0;
}
.pm-svc-tag{
  display:inline-block;font-size:14px;color:var(--teal-dark);
  background:var(--teal-light);border-radius:12px;
  padding:3px 10px;margin-bottom:10px;font-weight:600;
}

/* サイドバー */
.pm-svc-side .is-sticky{position:sticky;top:80px}
.pm-svc-side-cta{
  border:2px solid var(--teal);border-radius:var(--radius);
  padding:20px;text-align:center;background:var(--teal-light);
  margin-bottom:16px;
}
.pm-svc-side-cta p{
  font-size:16px;font-weight:600;color:var(--teal-dark);margin-bottom:8px;
}
.pm-svc-side-cta p.sub{font-size:14px;color:var(--muted);font-weight:400}
.pm-svc-side-cta .btn,
.pm-svc-side-dl .btn{
  display:block;background:var(--teal);color:#fff;
  padding:10px;border-radius:6px;font-size:16px;font-weight:600;
  text-decoration:none;margin-top:10px;
}
.pm-svc-side-dl{
  border:1px solid var(--border);border-radius:var(--radius);
  padding:16px;background:#f1f5f9;text-align:center;margin-bottom:16px;
}
.pm-svc-side-dl .thumb{
  width:100%;height:60px;background:var(--teal-light);border-radius:4px;
  margin-bottom:8px;display:flex;align-items:center;justify-content:center;
  font-size:14px;color:var(--teal-dark);
}
.pm-svc-side-dl p{font-size:15px;font-weight:600}
.pm-svc-side-dl p.sub{font-size:14px;color:var(--muted);font-weight:400;margin-top:2px}
.pm-svc-side-dl .btn{font-size:14px;padding:8px}
.pm-svc-side-rel{
  border:1px solid var(--border);border-radius:var(--radius);
  padding:16px;background:#fff;
}
.pm-svc-side-rel h4{font-size:16px;font-weight:700;margin-bottom:8px}
.pm-svc-side-rel ul{list-style:none;padding:0;margin:0}
.pm-svc-side-rel li{padding:6px 0;border-bottom:1px solid var(--border)}
.pm-svc-side-rel li:last-child{border-bottom:none}
.pm-svc-side-rel a{font-size:15px;color:var(--teal-dark);text-decoration:none}
.pm-svc-side-rel a:hover{text-decoration:underline}

/* ステップアイテム（solution-ai用）*/
.pm-svc-steps{display:grid;gap:16px;margin:20px 0}
.pm-svc-step{
  display:flex;gap:16px;
  background:#fff;border:1px solid var(--border);border-radius:12px;padding:18px 20px;
}
.pm-svc-step__num{
  flex-shrink:0;width:40px;height:40px;border-radius:50%;
  background:var(--teal);color:#fff;display:grid;place-items:center;
  font-weight:800;font-size:20px;
}
.pm-svc-step__body h4{
  font-size:19px;color:var(--teal-dark);margin:0 0 6px;font-weight:700;
}
.pm-svc-step__body p{
  font-size:17px;color:var(--muted);line-height:1.75;margin:0;
}

/* ai用：カード自体はリンク不可の場合の見た目 */
.pm-svc-card.is-static{cursor:default}
.pm-svc-card.is-static:hover{transform:none;box-shadow:none;border-color:var(--border)}

/* ==================================================================
 * 下層ページ HERO の統一（LPと同じ作法に寄せる / v0.68.0）
 *  ・eyebrow チップ（.hero-tag）は全ページで非表示
 *  ・背面の巨大英字も廃止
 * ================================================================== */
.page-hero .hero-tag{display:none !important;}
.page-hero .sec-bg-word{display:none !important;}
.page-hero{position:relative;padding:44px 0 56px;background:linear-gradient(180deg,#F6FBFE 0%,#E5F3FB 100%);}
.page-hero .container{position:relative;z-index:1;}
.page-hero .pm-crumb{
  font-family:'Poppins',sans-serif;font-size:12px;letter-spacing:.1em;color:var(--sub,#5C6B80);margin-bottom:18px;
}
.page-hero .pm-crumb a{color:var(--sub,#5C6B80);text-decoration:none;}
.page-hero .pm-crumb a:hover{color:var(--sky,#1C93D2);}
.page-hero .pm-crumb .sep{margin:0 8px;color:var(--line,#E2E8F1);}
.page-hero h1.en{
  font-family:'Poppins',sans-serif;font-weight:200 !important;
  font-size:clamp(42.5px,4.6vw,70.5px);line-height:1.05;letter-spacing:.02em;
  color:var(--sky,#1C93D2);margin:0 0 12px;
}
.page-hero h1.en .accent{color:var(--navy,#1B224C);}
.page-hero .hero-jp{
  font-family:'Noto Sans JP',sans-serif;font-weight:900;
  font-size:clamp(27.5px,2.4vw,42.5px);line-height:1.5;color:var(--navy,#1B224C);margin:0 0 14px;
}
.page-hero .hero-jp .jp-mid{color:var(--sky,#1C93D2);}
.page-hero .hero-sub{
  font-size:19.5px;line-height:1.95;color:var(--ink,#3D4A5C);max-width:840px;margin:0;
}

/* ==================================================================
 * /service/ ハブ v0.86.0 — モック v196（service_index）準拠の7カテゴリ構成
 *   既存 .pm-mock のトーン（白 / --tint の交互、--line の1px罫、--sky のアクセント）
 *   の範囲で組む。新しい色は足さない。
 * ================================================================== */

/* セクションの器 */
.pm-mock .svc-cat{position:relative;overflow:hidden;background:#fff;padding:56px 0;}
.pm-mock .svc-cat--tint{background:var(--tint);}

/* ---- SERVICE MAP：支援の全体像 ---- */
/* 全体像と対応表を左右に並べる（広い画面のみ。狭い画面では縦積み） */
.pm-mock .smap-wrap{display:grid;gap:24px;grid-template-columns:minmax(0,1fr);}
/* 対応表（min-width:700px）の min-content がグリッド列幅を押し広げて
   画面外にはみ出すため、列を明示的に縮められるようにする（v0.99.6）。
   表そのものは .smap-scroll の横スクロールで見せる。 */
@media (min-width:1500px){
  .pm-mock .smap-wrap{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);align-items:stretch;}
}
.pm-mock .smap{display:flex;flex-direction:column;
  background:var(--tint);border:1px solid var(--line);padding:26px 26px 24px;}
.pm-mock .svc-cat--tint .smap,
.pm-mock .smap-matrix{background:#fff;}
.pm-mock .smap-title{margin:0 0 18px;font-size:22.5px;font-weight:900;color:var(--navy);line-height:1.6;}
.pm-mock .smap-flow{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:22px;}
.pm-mock .smap-col{position:relative;display:flex;flex-direction:column;}
.pm-mock .smap-col + .smap-col::before{
  content:"→";position:absolute;left:-17px;top:50%;transform:translateY(-50%);
  font-size:16px;line-height:1;color:var(--sky);}
.pm-mock .smap-cap{background:var(--sky);color:#fff;font-size:19.5px;font-weight:700;
  text-align:center;padding:11px 12px;letter-spacing:.02em;}
.pm-mock .smap-col--2 .smap-cap{background:var(--navy);}
.pm-mock .smap-body{position:relative;overflow:hidden;flex:1;background:#fff;
  border:1px solid var(--line);border-top:none;
  padding:18px 20px 17px;display:flex;flex-direction:column;gap:8px;}
.pm-mock .smap-en{position:relative;z-index:1;font-family:'Poppins',sans-serif;font-size:15.5px;
  font-weight:600;letter-spacing:.14em;color:var(--sky);}
/* 項目はチップに分けて面を埋める。右下に薄く図を敷く */
.pm-mock .smap-chips{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:8px;margin-top:4px;}
.pm-mock .smap-chip{font-size:18px;font-weight:700;color:var(--navy);
  background:var(--sky-pale);border:1px solid var(--sky-light);padding:6px 12px;line-height:1.5;}
.pm-mock .smap-bg{position:absolute;right:-16px;bottom:-18px;width:136px;height:136px;
  --ic-dark:var(--navy); --ic-key:var(--navy); opacity:.07; pointer-events:none; z-index:0;}
.pm-mock .smap-bg .svc-ic{display:block;width:100%;height:100%;}
.pm-mock .smap-note{margin-top:16px;background:var(--sky-pale);border:1px solid var(--line);
  padding:15px 20px;display:flex;flex-direction:column;gap:5px;}
.pm-mock .smap-note b{font-size:19px;color:var(--navy);}
.pm-mock .smap-note span{font-size:17.5px;color:var(--sub);line-height:1.8;}

/* ---- SERVICE MAP：営業プロセス × ソリューション対応表 ---- */
.pm-mock .smap-matrix{display:flex;flex-direction:column;border:1px solid var(--line);padding:26px 26px 22px;}
.pm-mock .smap-scroll{flex:1;overflow-x:auto;}
.pm-mock .smap-matrix table{width:100%;min-width:700px;border-collapse:collapse;table-layout:fixed;}
.pm-mock .smap-matrix thead th:first-child,
.pm-mock .smap-matrix tbody th{width:40%;}
.pm-mock .smap-matrix thead th + th{width:12%;}
.pm-mock .smap-matrix th,
.pm-mock .smap-matrix td{border-bottom:1px solid var(--line);padding:15px 8px;text-align:center;}
.pm-mock .smap-matrix thead th{font-size:19px;font-weight:700;
  letter-spacing:.04em;color:var(--sky);border-bottom:2px solid var(--line);white-space:nowrap;}
.pm-mock .smap-matrix thead th:first-child{text-align:left;padding-left:14px;color:var(--navy);}
.pm-mock .smap-matrix tbody th{text-align:left;font-size:20px;font-weight:700;color:var(--navy);
  white-space:nowrap;padding-left:14px;}
.pm-mock .smap-matrix tbody tr:nth-child(even){background:var(--tint);}
.pm-mock .smap-matrix td span{display:inline-block;font-size:34px;line-height:1;}
.pm-mock .smap-matrix .m-main span{color:var(--sky);font-weight:700;}
.pm-mock .smap-matrix .m-sub span{font-size:30px;}
.pm-mock .smap-matrix .m-none span{font-size:26px;}
.pm-mock .smap-matrix .m-sub span{color:var(--sub);}
.pm-mock .smap-matrix .m-none span{color:var(--line);}
.pm-mock .smap-legend{margin:16px 0 0;font-size:17.5px;color:var(--sub);}

/* ---- サービスカード（4列・面で塗ったアイコンつき） ---- */
.pm-mock .svc-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
.pm-mock .svc-card2{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);
  padding:18px 18px 17px;text-decoration:none;color:inherit;transition:.2s;}
.pm-mock .svc-card2:hover{border-color:var(--sky);box-shadow:0 12px 26px rgba(27,34,76,.08);transform:translateY(-2px);}
.pm-mock .svc-card2__ic{
  --ic-dark:var(--navy); --ic-key:var(--sky);
  display:block;width:52px;height:52px;margin-bottom:13px;flex:0 0 auto;}
.pm-mock .svc-card2__ic .svc-ic{display:block;width:100%;height:100%;}
.pm-mock .svc-card2__body{display:flex;flex-direction:column;flex:1;}
.pm-mock .svc-card2 h3{margin:9px 0 0;font-size:21px;font-weight:900;color:var(--navy);line-height:1.55;}
.pm-mock .svc-card2 p{margin:8px 0 0;font-size:17.5px;color:var(--sub);line-height:1.85;flex:1;}
.pm-mock .svc-card2 .svc-more{display:inline-block;margin-top:13px;padding-top:12px;
  border-top:1px solid var(--line);font-size:17px;font-weight:700;color:var(--sky);letter-spacing:.02em;}
.pm-mock .svc-card2:hover .svc-more{text-decoration:underline;}
.pm-mock .svc-card2 .svc-row__ph{display:flex;flex-wrap:wrap;gap:5px;justify-content:flex-start;}
.pm-mock .ph-badge{font-size:14.5px;font-weight:700;color:var(--sky);
  border:1px solid var(--sky-light);background:var(--sky-pale);padding:3px 9px;white-space:nowrap;}

/* ---- リンクカード（ハブ導線 / どのサービスを選べばよいか） ---- */
.pm-mock .svc-linkcards{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:18px;}
.pm-mock .svc-cat .svc-linkcards:only-child{margin-top:0;}
.pm-mock .svc-linkcard{display:flex;flex-direction:column;gap:4px;
  background:#fff;border:1px solid var(--line);border-left:3px solid var(--sky);
  padding:17px 19px;text-decoration:none;transition:.2s;}
.pm-mock .svc-linkcard:hover{border-color:var(--sky);border-left-color:var(--sky);
  box-shadow:0 10px 22px rgba(27,34,76,.07);}
.pm-mock .svc-linkcard .lc-sub{font-size:16px;color:var(--sub);line-height:1.65;}
.pm-mock .svc-linkcard .lc-main{font-size:20.5px;font-weight:900;color:var(--navy);line-height:1.5;}
.pm-mock .svc-linkcard:hover .lc-main{color:var(--sky);}

/* ---- CTA の電話番号 ---- */
.pm-mock .cta .cta-tel{margin:18px 0 0;font-size:19px;color:rgba(255,255,255,.92);}
.pm-mock .cta .cta-tel a{color:#fff;font-weight:700;text-decoration:none;}

@media (max-width:1000px){
  .pm-mock .svc-linkcards{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:760px){
  .pm-mock .svc-cat{padding:44px 0;}
  .pm-mock .smap-flow{grid-template-columns:1fr;gap:14px;}
  .pm-mock .smap-col + .smap-col::before{content:none;}
  .pm-mock .smap,.pm-mock .smap-matrix{padding:18px 16px 16px;}
  .pm-mock .svc-card2__body{padding:14px 16px 16px;}
}
@media (max-width:560px){
  .pm-mock .svc-linkcards{grid-template-columns:1fr;}
}

/* ---- HERO：TOP と同じ字組み（右カラムなしの1列） ---- */
.pm-mock .page-hero.page-hero--top{padding:60px 0 72px;}
.pm-mock .page-hero.page-hero--top .container{max-width:none;}
.pm-mock .page-hero.page-hero--top .hero-title{
  font-family:'Poppins',sans-serif;font-weight:800;
  font-size:clamp(64px,6vw,114.5px);line-height:1;letter-spacing:-.025em;
  color:var(--navy);margin:20px 0 40px;}
.pm-mock .page-hero.page-hero--top .hero-title .hero-line{display:block;}
.pm-mock .page-hero.page-hero--top .hero-title .accent{color:var(--sky);}
.pm-mock .page-hero.page-hero--top .hero-jp{
  margin:0 0 28px;font-size:clamp(32.5px,2.5vw,48.5px);font-weight:900;
  line-height:1.5;color:var(--ink);letter-spacing:-.005em;}
.pm-mock .page-hero.page-hero--top .hero-sub{
  margin:0 0 38px;font-size:clamp(19px,1.25vw,25px);line-height:1.85;
  color:var(--ink);font-weight:500;max-width:38em;}
.pm-mock .page-hero.page-hero--top .hero-actions{margin-top:0;}

@media (max-width:1180px){
  .pm-mock .svc-cards{grid-template-columns:repeat(3,1fr);}
}
@media (max-width:900px){
  .pm-mock .svc-cards{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:560px){
  .pm-mock .svc-cards{grid-template-columns:1fr;}
  .pm-mock .page-hero.page-hero--top{padding:40px 0 48px;}
  .pm-mock .page-hero.page-hero--top .hero-title{margin:16px 0 26px;}
  .pm-mock .page-hero.page-hero--top .hero-jp{margin-bottom:20px;}
  .pm-mock .page-hero.page-hero--top .hero-sub{margin-bottom:28px;}
}

@media (max-width:560px){
  .pm-mock .smap-chip{font-size:16px;padding:5px 10px;}
  .pm-mock .smap-bg{width:104px;height:104px;}
}

/* 対応表のサービス名から各LPへ */
.pm-mock .smap-matrix tbody th a{color:inherit;text-decoration:none;
  border-bottom:1px solid transparent;transition:.15s;}
.pm-mock .smap-matrix tbody th a:hover{color:var(--sky);border-bottom-color:var(--sky);}

/* ==================================================================
 * /service/marketing/ v0.88.0 — モックのSVG図7枚をHTMLで組み直したもの
 *   既存トークン（白 / --tint / --line / --sky / --navy）だけで構成する。
 * ================================================================== */
.pm-mock .mkt-fig{background:var(--tint);border:1px solid var(--line);padding:26px 26px 24px;margin-top:26px;}
.pm-mock .svc-cat--tint .mkt-fig{background:#fff;}
.pm-mock .mkt-fig-title{margin:0 0 18px;font-size:22.5px;font-weight:900;color:var(--navy);line-height:1.6;}
.pm-mock .mkt-fignote{margin:16px 0 0;font-size:17.5px;color:var(--sub);line-height:1.8;}

/* 2列の対比 */
.pm-mock .mkt-duo{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:stretch;}
.pm-mock .mkt-duo-col{display:flex;flex-direction:column;}
.pm-mock .mkt-duo-cap{color:#fff;font-size:19.5px;font-weight:700;padding:11px 16px;letter-spacing:.02em;}
.pm-mock .mkt-duo-col--key  .mkt-duo-cap{background:var(--sky);}
.pm-mock .mkt-duo-col--dark .mkt-duo-cap{background:var(--navy);}
.pm-mock .mkt-duo-col--muted .mkt-duo-cap{background:#8494A8;}
.pm-mock .mkt-duo-body{flex:1;display:flex;flex-direction:column;background:#fff;
  border:1px solid var(--line);border-top:none;padding:18px 20px 16px;}
.pm-mock .svc-cat--tint .mkt-duo-body{background:var(--tint);}
.pm-mock .mkt-duo-sub{font-size:15.5px;font-weight:700;letter-spacing:.1em;color:var(--sky);}
.pm-mock .mkt-duo-body ul{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:8px;flex:1;}
.pm-mock .mkt-duo-body li{position:relative;padding-left:16px;font-size:19px;color:var(--ink);line-height:1.75;}
.pm-mock .mkt-duo-body li::before{content:"";position:absolute;left:0;top:.72em;width:7px;height:1.5px;background:var(--sky);}
.pm-mock .mkt-duo-concl{margin:14px 0 0;padding-top:13px;border-top:1px solid var(--line);
  font-size:19px;font-weight:700;color:var(--navy);line-height:1.7;}
.pm-mock .mkt-duo-col--muted .mkt-duo-concl{color:#6B7A8C;}

/* 下に敷く帯 */
.pm-mock .mkt-band{margin-top:16px;background:var(--sky-pale);border:1px solid var(--line);
  padding:15px 20px;display:flex;flex-direction:column;gap:5px;}
.pm-mock .mkt-band b{font-size:19px;color:var(--navy);}
.pm-mock .mkt-band span{font-size:17.5px;color:var(--sub);line-height:1.8;}

/* 手法の並び（軸つき4カード） */
.pm-mock .mkt-axis{display:flex;justify-content:space-between;gap:12px;margin-bottom:10px;
  font-size:16px;font-weight:700;color:var(--sky);}
.pm-mock .mkt-methods{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
.pm-mock .mkt-method{background:#fff;border:1px solid var(--line);border-top:4px solid var(--sky);padding:16px 18px 15px;}
.pm-mock .svc-cat--tint .mkt-method{background:var(--tint);}
.pm-mock .mkt-method--a{border-top-color:rgba(28,147,210,.5);}
.pm-mock .mkt-method--b{border-top-color:rgba(28,147,210,.78);}
.pm-mock .mkt-method--c{border-top-color:var(--sky);}
.pm-mock .mkt-method--base{border-top-color:var(--navy);}
.pm-mock .mkt-method-lab{font-family:'Poppins',sans-serif;font-size:14px;font-weight:600;letter-spacing:.14em;color:var(--sky);}
.pm-mock .mkt-method--base .mkt-method-lab{color:var(--navy);}
.pm-mock .mkt-method-name{margin-top:7px;font-size:20px;font-weight:900;color:var(--navy);line-height:1.5;}
.pm-mock .mkt-method p{margin:6px 0 0;font-size:17px;color:var(--sub);line-height:1.7;}
.pm-mock .mkt-method-note{margin-top:11px;padding-top:10px;border-top:1px solid var(--line);
  font-size:15.5px;font-weight:700;color:var(--sky);}

/* 3ステップ */
.pm-mock .mkt-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.pm-mock .mkt-step{position:relative;background:#fff;border:1px solid var(--line);padding:18px 20px 17px;}
.pm-mock .svc-cat--tint .mkt-step{background:var(--tint);}
.pm-mock .mkt-step + .mkt-step::before{content:"→";position:absolute;left:-19px;top:50%;
  transform:translateY(-50%);font-size:19px;line-height:1;color:var(--sky);}
.pm-mock .mkt-step-lab{font-family:'Poppins',sans-serif;font-size:14px;font-weight:600;letter-spacing:.12em;color:var(--sky);}
.pm-mock .mkt-step-name{margin-top:7px;font-size:20.5px;font-weight:900;color:var(--navy);line-height:1.5;}
.pm-mock .mkt-step p{margin:6px 0 0;font-size:17px;color:var(--sub);line-height:1.7;}

/* 本文中の小見出しと段落 */
.pm-mock .mkt-h3{margin:40px 0 0;font-size:27.5px;font-weight:900;color:var(--navy);line-height:1.6;}
.pm-mock .mkt-p{margin:12px 0 0;font-size:20px;color:var(--ink);line-height:1.95;max-width:60em;}

/* 表 */
.pm-mock .mkt-tablewrap{margin-top:22px;overflow-x:auto;border:1px solid var(--line);background:#fff;}
.pm-mock .svc-cat--tint .mkt-tablewrap{background:var(--tint);}
.pm-mock .mkt-table{width:100%;min-width:640px;border-collapse:collapse;}
.pm-mock .mkt-table th,.pm-mock .mkt-table td{border-bottom:1px solid var(--line);
  padding:15px 18px;text-align:left;font-size:19px;line-height:1.75;}
.pm-mock .mkt-table thead th{font-size:17.5px;font-weight:700;color:var(--sky);
  border-bottom:2px solid var(--line);white-space:nowrap;}
.pm-mock .mkt-table tbody th{font-weight:700;color:var(--navy);}
.pm-mock .mkt-table tbody td{color:var(--sub);}
.pm-mock .mkt-table tbody tr:last-child th,.pm-mock .mkt-table tbody tr:last-child td{border-bottom:none;}
.pm-mock .mkt-table a{color:var(--navy);text-decoration:none;border-bottom:1px solid transparent;}
.pm-mock .mkt-table a:hover{color:var(--sky);border-bottom-color:var(--sky);}

@media (max-width:1000px){
  .pm-mock .mkt-methods{grid-template-columns:repeat(2,1fr);}
  .pm-mock .mkt-steps{grid-template-columns:1fr;gap:14px;}
  .pm-mock .mkt-step + .mkt-step::before{content:none;}
}
@media (max-width:760px){
  .pm-mock .mkt-fig{padding:18px 16px 16px;margin-top:20px;}
  .pm-mock .mkt-duo{grid-template-columns:1fr;gap:14px;}
  .pm-mock .mkt-methods{grid-template-columns:1fr;}
  .pm-mock .mkt-axis{font-size:15px;}
  .pm-mock .mkt-h3{margin-top:30px;font-size:24px;}
  .pm-mock .mkt-p{font-size:19px;}
}

/* ==================================================================
 * v0.88.3 — page-hero--top を旧ルールから取り戻す
 *   このファイルの上部に旧デザイン（細いスカイの英字見出し）の指定が残っており、
 *   font-weight:200 !important / .hero-tag と .sec-bg-word の display:none !important
 *   が新しいヒーローを打ち消していた。--top を付けたページだけ元に戻す。
 * ================================================================== */
.pm-mock .page-hero.page-hero--top h1.en{
  font-weight:800 !important;
  font-size:clamp(64px,6vw,114.5px);
  line-height:1;
  letter-spacing:-.025em;
  color:var(--navy);
  margin:20px 0 40px;
}
.pm-mock .page-hero.page-hero--top h1.en .accent{color:var(--sky);}
.pm-mock .page-hero.page-hero--top .hero-tag{display:inline-block !important;}
.pm-mock .page-hero.page-hero--top .sec-bg-word{display:block !important;}
@media (max-width:620px){
  .pm-mock .page-hero.page-hero--top h1.en{font-size:45px;margin:16px 0 26px;}
}

/* 表の下の注記（/service/sales/・/service/solution/） */
.pm-mock .mkt-tablenote{margin:14px 0 0;font-size:17.5px;color:var(--sub);line-height:1.85;max-width:70em;}

/* ==================================================================
 * /service/industry/ v0.90.0 — 領域特化ハブ
 * ================================================================== */
/* 2層構造 */
.pm-mock .ind-layers{display:flex;flex-direction:column;gap:14px;margin-top:18px;}
.pm-mock .ind-layer{background:#fff;border:1px solid var(--line);border-left:5px solid var(--sky);}
.pm-mock .svc-cat--tint .ind-layer{background:var(--tint);}
.pm-mock .ind-layer--2{border-left-color:var(--navy);}
.pm-mock .ind-layer-tag{background:var(--sky-pale);color:var(--navy);font-size:16px;font-weight:700;
  letter-spacing:.06em;padding:9px 20px;border-bottom:1px solid var(--line);}
.pm-mock .ind-layer--2 .ind-layer-tag{background:var(--navy);color:#fff;}
.pm-mock .ind-layer-body{padding:18px 20px 17px;}
.pm-mock .ind-layer-body h4{margin:0;font-size:21px;font-weight:900;color:var(--navy);line-height:1.55;}
.pm-mock .ind-layer-body p{margin:8px 0 0;font-size:19px;color:var(--sub);line-height:1.9;}

/* 4領域の図 */
.pm-mock .ind-fig{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
.pm-mock .ind-fig-cap{background:var(--sky);color:#fff;font-size:19px;font-weight:700;
  text-align:center;padding:10px 10px;letter-spacing:.02em;}
.pm-mock .ind-fig-col:nth-child(4) .ind-fig-cap{background:var(--navy);}
.pm-mock .ind-fig-body{background:#fff;border:1px solid var(--line);border-top:none;
  padding:15px 16px 14px;display:flex;flex-direction:column;gap:7px;height:calc(100% - 42px);}
.pm-mock .svc-cat--tint .ind-fig-body{background:var(--tint);}
.pm-mock .ind-fig-en{font-family:'Poppins',sans-serif;font-size:14px;font-weight:600;
  letter-spacing:.14em;color:var(--sky);}
.pm-mock .ind-fig-item{font-size:17px;color:var(--ink);line-height:1.7;}

/* 4領域カード */
.pm-mock .ind-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:24px;}
.pm-mock .ind-card{background:#fff;border:1px solid var(--line);padding:22px 24px 20px;}
.pm-mock .svc-cat--tint .ind-card{background:#fff;}
.pm-mock .ind-card-head{display:flex;align-items:center;gap:14px;
  padding-bottom:14px;margin-bottom:4px;border-bottom:1px solid var(--line);}
.pm-mock .ind-card-head .svc-card2__ic{--ic-dark:var(--navy);--ic-key:var(--sky);
  display:block;width:46px;height:46px;flex:0 0 auto;margin:0;}
.pm-mock .ind-card-head .svc-card2__ic .svc-ic{display:block;width:100%;height:100%;}
.pm-mock .ind-card-en{display:block;font-family:'Poppins',sans-serif;font-size:14px;
  font-weight:600;letter-spacing:.14em;color:var(--sky);}
.pm-mock .ind-card h3{margin:3px 0 0;font-size:24px;font-weight:900;color:var(--navy);line-height:1.4;}
.pm-mock .ind-lbl{margin-top:14px;font-size:15px;font-weight:700;letter-spacing:.06em;
  color:var(--sky);background:var(--sky-pale);display:inline-block;padding:3px 10px;}
.pm-mock .ind-card p{margin:7px 0 0;font-size:18px;color:var(--sub);line-height:1.9;}
.pm-mock .ind-card p a{color:var(--navy);font-weight:700;text-decoration:none;border-bottom:1px solid var(--line);}
.pm-mock .ind-card p a:hover{color:var(--sky);border-bottom-color:var(--sky);}
.pm-mock .ind-card-link{display:inline-block;margin-top:16px;padding-top:14px;
  border-top:1px solid var(--line);width:100%;
  font-size:17.5px;font-weight:700;color:var(--sky);text-decoration:none;letter-spacing:.02em;}
.pm-mock .ind-card-link:hover{text-decoration:underline;}

/* PROOF 帯 */
.pm-mock .ind-proof{margin-top:22px;background:var(--navy);color:rgba(255,255,255,.92);
  padding:20px 24px;font-size:19px;line-height:1.95;}
.pm-mock .ind-proof b{color:#fff;}

@media (max-width:1000px){
  .pm-mock .ind-fig{grid-template-columns:repeat(2,1fr);}
  .pm-mock .ind-grid{grid-template-columns:1fr;}
}
@media (max-width:620px){
  .pm-mock .ind-fig{grid-template-columns:1fr;}
  .pm-mock .ind-fig-body{height:auto;}
  .pm-mock .ind-card{padding:18px 18px 16px;}
  .pm-mock .ind-proof{padding:16px 18px;font-size:17.5px;}
}

/* ==================================================================
 * v0.94.0 — /challenge/（課題アーカイブ）
 *   archive-challenge.php を独自の .chg-archive-* から
 *   他ページと同じ .pm-mock（page-hero--top / svc-cat / svc-linkcard /
 *   mkt-table / cta）へ寄せたときに足りなかった分。
 * ================================================================== */

/* ---- 白背景で使えるセカンダリボタン（static-pages.css と同じ定義）---- */
.pm-mock .btn-outline{
  display:inline-flex;align-items:center;gap:20px;
  border:1px solid var(--navy);color:var(--navy);
  padding:16px 30px;font-size:20px;font-weight:700;
  text-decoration:none;transition:.25s;
}
.pm-mock .btn-outline:hover{background:var(--navy);color:#fff;}

/* ---- 3フェーズ × 症状の一覧図 ---- */
.pm-mock .chl-map{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.pm-mock .chl-map-col{display:flex;flex-direction:column;gap:8px;}
.pm-mock .chl-map-head{
  padding:11px 14px;text-align:center;
  font-size:18px;font-weight:900;color:#fff;line-height:1.5;
}
.pm-mock .chl-map-col--1 .chl-map-head{background:var(--sky);}
.pm-mock .chl-map-col--2 .chl-map-head{background:#1C4587;}
.pm-mock .chl-map-col--3 .chl-map-head{background:var(--navy);}
.pm-mock .chl-map-body{display:flex;flex-direction:column;gap:8px;}
.pm-mock .chl-map-item{
  display:flex;align-items:center;min-height:56px;
  background:#fff;border:1px solid var(--line);
  padding:11px 14px;
  font-size:17px;font-weight:700;color:var(--navy);line-height:1.6;
  text-decoration:none;transition:.2s;
}
.pm-mock .svc-cat--tint .chl-map-item{background:var(--tint);}
.pm-mock .chl-map-item:hover{border-color:var(--sky);color:var(--sky);}

/* ---- 症状カード（モックの .links と同じ3列）---- */
.pm-mock .chl-cards{grid-template-columns:repeat(3,1fr);}
.pm-mock .chl-cards .lc-sub{min-height:2lh;}

@media (max-width:1100px){
  .pm-mock .chl-cards{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:860px){
  .pm-mock .chl-map{grid-template-columns:1fr;}
  .pm-mock .chl-map-item{min-height:0;}
}
@media (max-width:560px){
  .pm-mock .chl-cards{grid-template-columns:1fr;}
  .pm-mock .chl-cards .lc-sub{min-height:0;}
}

/* ==================================================================
 * v0.99.7 — top-mock.css 由来の共通パーツも、この5本では 1.25 倍にする
 *
 *   .str6-card / .str-all / .faq-q / .faq-a / .cta は top-mock.css で
 *   定義されているため、v0.99.5 の拡大から漏れて小さいまま残っていた。
 *   service-hub.css は /service/ 系4本と /challenge/（＋退役予定の
 *   /service/sales/）でしか読み込まれないので、ここで上書きしても
 *   TOP や LP には影響しない。
 *   セレクタ先頭の body は、詳細度を top-mock.css より 1 段上げるため。
 * ================================================================== */
body .pm-mock .str6-card p{font-size:17px;}
body .pm-mock .str-all a{font-size:17.5px;}
body .pm-mock .faq-q{font-size:22.5px;}
body .pm-mock .faq-a{font-size:20px;}
body .pm-mock .cta h2{font-size:38.5px;}
body .pm-mock .cta p{font-size:20.5px;}
@media (max-width:900px){
  body .pm-mock .faq-q{font-size:19px;}
  body .pm-mock .faq-a{font-size:17px;}
  body .pm-mock .cta h2{font-size:27.5px;}
  body .pm-mock .cta p{font-size:17.5px;}
}
@media (max-width:560px){
  body .pm-mock .faq-q{font-size:17.5px;}
  body .pm-mock .faq-a{font-size:16px;}
}

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

.pm-svc-crumb{font-size:14px}
.pm-svc-main h2{font-size:28px}
.pm-svc-main h3{font-size:22px}
.pm-svc-lead{font-size:21px}
.pm-svc-cta-inline{font-size:18px}
.pm-svc-card h3{font-size:22px}
.pm-svc-card p{font-size:16px}
.pm-svc-side-cta p{font-size:18px}
.pm-svc-side-cta p.sub{font-size:18px}
.pm-svc-side-dl p{font-size:18px}
.pm-svc-side-dl p.sub{font-size:18px}
.pm-svc-side-rel h4{font-size:18px}
.pm-svc-side-rel a{font-size:16px}
.pm-svc-step__body h4{font-size:22px}
.pm-svc-step__body p{font-size:16px}
.pm-mock .smap-title{font-size:22px}
.pm-mock .smap-note span{font-size:18px}
.pm-mock .smap-legend{font-size:18px}
.pm-mock .svc-card2 h3{font-size:22px}
.pm-mock .svc-card2 p{font-size:16px}
.pm-mock .svc-card2 .svc-more{font-size:18px}
.pm-mock .mkt-fig-title{font-size:22px}
.pm-mock .mkt-duo-sub{font-size:18px}
.pm-mock .mkt-duo-body li{font-size:18px}
.pm-mock .mkt-band span{font-size:18px}
.pm-mock .mkt-method-name{font-size:22px}
.pm-mock .mkt-method p{font-size:18px}
.pm-mock .mkt-method-note{font-size:14px}
.pm-mock .mkt-step-name{font-size:22px}
.pm-mock .mkt-step p{font-size:16px}
.pm-mock .mkt-h3{font-size:28px}
.pm-mock .mkt-table td{font-size:16px}
.pm-mock .mkt-table thead th{font-size:18px}
.pm-mock .ind-layer-body h4{font-size:22px}
.pm-mock .ind-layer-body p{font-size:18px}
.pm-mock .ind-fig-item{font-size:18px}
.pm-mock .ind-card h3{font-size:22px}
.pm-mock .ind-lbl{font-size:16px}
.pm-mock .ind-card p{font-size:16px}
.pm-mock .ind-card-link{font-size:18px}
.pm-mock .chl-map-item{font-size:18px}
body .pm-mock .str6-card p{font-size:16px}
body .pm-mock .str-all a{font-size:18px}
body .pm-mock .faq-q{font-size:22px}
body .pm-mock .faq-a{font-size:18px}
body .pm-mock .cta p{font-size:18px}

@media (max-width:900px){
  .pm-svc-crumb{font-size:13px}
  .pm-svc-main h2{font-size:22px}
  .pm-svc-main h3{font-size:19px}
  .pm-svc-lead{font-size:17px}
  .pm-svc-cta-inline{font-size:16px}
  .pm-svc-card h3{font-size:19px}
  .pm-svc-card p{font-size:14.5px}
  .pm-svc-side-cta p{font-size:16px}
  .pm-svc-side-cta p.sub{font-size:16px}
  .pm-svc-side-dl p{font-size:16px}
  .pm-svc-side-dl p.sub{font-size:16px}
  .pm-svc-side-rel h4{font-size:16px}
  .pm-svc-side-rel a{font-size:14.5px}
  .pm-svc-step__body h4{font-size:19px}
  .pm-svc-step__body p{font-size:14.5px}
  .pm-mock .smap-title{font-size:19px}
  .pm-mock .smap-note span{font-size:16px}
  .pm-mock .smap-legend{font-size:16px}
  .pm-mock .svc-card2 h3{font-size:19px}
  .pm-mock .svc-card2 p{font-size:14.5px}
  .pm-mock .svc-card2 .svc-more{font-size:16px}
  .pm-mock .mkt-fig-title{font-size:19px}
  .pm-mock .mkt-duo-sub{font-size:16px}
  .pm-mock .mkt-duo-body li{font-size:16px}
  .pm-mock .mkt-band span{font-size:16px}
  .pm-mock .mkt-method-name{font-size:19px}
  .pm-mock .mkt-method p{font-size:16px}
  .pm-mock .mkt-method-note{font-size:13px}
  .pm-mock .mkt-step-name{font-size:19px}
  .pm-mock .mkt-step p{font-size:14.5px}
  .pm-mock .mkt-h3{font-size:22px}
  .pm-mock .mkt-table td{font-size:14.5px}
  .pm-mock .mkt-table thead th{font-size:16px}
  .pm-mock .ind-layer-body h4{font-size:19px}
  .pm-mock .ind-layer-body p{font-size:16px}
  .pm-mock .ind-fig-item{font-size:16px}
  .pm-mock .ind-card h3{font-size:19px}
  .pm-mock .ind-lbl{font-size:14.5px}
  .pm-mock .ind-card p{font-size:14.5px}
  .pm-mock .ind-card-link{font-size:16px}
  .pm-mock .chl-map-item{font-size:16px}
  body .pm-mock .str6-card p{font-size:14.5px}
  body .pm-mock .str-all a{font-size:16px}
  body .pm-mock .faq-q{font-size:19px}
  body .pm-mock .faq-a{font-size:16px}
  body .pm-mock .cta h2{font-size:22px}
  body .pm-mock .cta p{font-size:16px}
}

@media (max-width:760px){
  .pm-mock .mkt-axis{font-size:16px}
  .pm-mock .mkt-h3{font-size:22px}
}

@media (max-width:560px){
  body .pm-mock .faq-q{font-size:16px}
}
