/* =========================================================================
 * market.css — 業種の市場カルテ（/research/market/ 以下、テンプレート page-market.php）だけの見た目
 * 置き場: wp-content/themes/swell-child/assets/market.css（page-market.php が wp_enqueue_style で読む）
 *
 * - 業界ページ（page-research.php）の作りを引き継ぎ、Lumière Design System に合わせて直したもの
 *   色は決まりの5色＋白・縁の色だけ（文字 #101841／青 #144DA0／地 #E9F4FB／線 #8FA2AA／黄 #F9D026）
 *   黄はグラフのデータに使わない（短い線・マーカー・ボタンだけ）。角は4px、大きな面だけ 110px 0 110px 0。影はつけない
 *   英数字は Jost 500 だけ（600 は読み込んでいないため）。小さい文字はネイビー（#8FA2AA は白地で読めない）
 * - クラスはすべて mk- で始める（site.css の .wrap .card .cta .form とぶつけない）。site.css と page-research.php は触らない
 * ======================================================================= */

.mk-page{
  --mk-navy:var(--will-navy,#101841);
  --mk-blue:var(--guiding-blue,#144DA0);
  --mk-sky:var(--open-sky-blue,#E9F4FB);
  --mk-mist:var(--insight-mist,#8FA2AA);
  --mk-yellow:var(--lumiere-yellow,#F9D026);
  --mk-cream:var(--first-light-yellow,#FFF2B2);
  --mk-line:var(--border-warm,#E2E0DC);
  --mk-white:var(--white,#FFFFFF);
  --mk-en:var(--font-en,'Jost',sans-serif);
  --mk-jp:var(--font-jp,'Yu Gothic','Noto Sans JP',sans-serif);
  color:var(--mk-navy);
  padding-bottom:96px;
}
.mk-page *{box-sizing:border-box}

/* ---- 段 */
.mk-sec{padding:64px 0 0}
.mk-sec-top{padding-top:48px}
.mk-w{max-width:960px;margin:0 auto}
.mk-body{font-size:16px;line-height:1.95}
.mk-body p{margin:0 0 14px}
.mk-body a,.mk-summary a,.mk-more-link a{color:var(--mk-blue);text-decoration:underline;text-underline-offset:3px}
.mk-body b{font-weight:700}
.mk-page b.mk{font-weight:700;background:linear-gradient(transparent 68%,var(--mk-yellow) 68%);padding:0 2px}

/* 見出し：番号（英字）＋黄色の短い線＋日本語 */
.mk-h2{margin:0 0 22px;padding:0;border:0;font-size:24px;line-height:1.55;font-weight:700;letter-spacing:.04em;color:var(--mk-navy)}
.mk-h2 .mk-no{display:flex;align-items:center;gap:12px;margin:0 0 8px;font-family:var(--mk-en);font-weight:500;font-size:15px;line-height:1;letter-spacing:.14em;color:var(--mk-blue)}
.mk-h2 .mk-no::after{content:"";width:28px;height:2px;background:var(--mk-yellow)}
.mk-h2 .mk-ht{display:block}
.mk-h2-sm{font-size:20px}
.mk-body h3.mk-h3{margin:34px 0 10px;font-size:18px;line-height:1.6;font-weight:700}

/* 注（出典・計算のしかた）。本文より小さく、左に細い線 */
.mk-note{margin:0 0 20px;padding:0 0 0 12px;border-left:2px solid var(--mk-line);font-size:12.5px;line-height:1.85;color:var(--mk-navy)}
.mk-body p.mk-note{margin:0 0 20px}
.mk-foot{margin-top:14px}
.mk-items{margin:8px 0 16px;padding-left:1.3em}
.mk-items li{margin:0 0 6px}
/* 長い URL（記事等でのご利用の「該当ページ（https://…）」など）がスマホ幅で右にはみ出さないよう、URL の途中でも折り返す（2026-10-01 点検 #125）。
   表のセルの幅を変えないよう、本文と箇条書きの中のリンクだけに当てる */
.mk-body p a,.mk-items a,.mk-note a{overflow-wrap:anywhere}

/* ---- 要点と大きな数字 */
.mk-summary{background:var(--mk-white);border:1px solid var(--mk-line);border-left:4px solid var(--mk-blue);border-radius:4px;padding:24px 28px}
.mk-summary-t{margin:0 0 10px;font-size:13px;font-weight:700;letter-spacing:.1em;color:var(--mk-blue)}
.mk-summary ul{margin:0;padding-left:1.25em}
.mk-summary li{margin:0 0 6px;font-size:15.5px;line-height:1.95}
.mk-meta{margin:14px 0 0;padding-top:12px;border-top:1px solid var(--mk-line);font-size:12.5px;line-height:1.8}
.mk-kpi{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;margin:24px 0 0}
/* 枚数に合わせて横幅いっぱいに並べる（2枚のとき右に空きができていた。2026-10-01 石田さん「ここのレイアウトが少し気になる」） */
.mk-kpi--n3{grid-template-columns:repeat(3,minmax(0,1fr))}
.mk-kpi--n2{grid-template-columns:repeat(2,minmax(0,1fr))}
.mk-kpi--n1{grid-template-columns:minmax(0,1fr)}
@media (max-width:760px){.mk-kpi--n3,.mk-kpi--n2{grid-template-columns:minmax(0,1fr)}}
.mk-kpi-card{display:flex;flex-direction:column;gap:6px;background:var(--mk-white);box-shadow:inset 0 0 0 1px var(--mk-line);border-radius:4px;padding:22px 24px 20px}
.mk-kpi-t{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:700;line-height:1.5}
.mk-kpi-t::before{content:"";flex:0 0 16px;height:2px;background:var(--mk-yellow)}
.mk-kpi-n{font-family:var(--mk-en);font-weight:500;font-size:34px;line-height:1.2;letter-spacing:.01em;overflow-wrap:anywhere}
.mk-kpi-n small{margin-left:4px;font-family:var(--mk-jp);font-size:15px;font-weight:700;letter-spacing:.04em}
.mk-kpi-s{margin:0;font-size:12px;line-height:1.75}
.mk-top-cta{margin:28px 0 0;text-align:center}

/* ---- 主な業態のカード（番号は CSS でふる） */
.mk-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin:4px 0 16px;counter-reset:mkc}
.mk-card{counter-increment:mkc;background:var(--mk-white);box-shadow:inset 0 0 0 1px var(--mk-line);border-radius:4px;padding:22px 22px 18px}
.mk-card::before{content:counter(mkc,decimal-leading-zero);display:block;margin:0 0 8px;font-family:var(--mk-en);font-weight:500;font-size:15px;letter-spacing:.12em;color:var(--mk-blue)}
.mk-card-t{display:block;margin:0 0 8px;font-size:16px;line-height:1.6}
.mk-body .mk-card p{margin:0;font-size:14px;line-height:1.85}

/* ---- 表 */
.mk-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:14px 0 8px}
.mk-table{width:100%;border-collapse:collapse;font-size:13.5px;line-height:1.7;background:var(--mk-white)}
.mk-table th,.mk-table td{border:1px solid var(--mk-line);padding:9px 11px;text-align:left;vertical-align:top}
.mk-table th{background:var(--mk-sky);font-weight:700}
.mk-table th.mk-nw{white-space:nowrap}
.mk-table td.mk-n{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.mk-table td.mk-w1{min-width:5em}
.mk-table td.mk-w2{min-width:7.5em}
.mk-table a{color:var(--mk-blue)}
.mk-hint{margin:0 0 12px;font-size:12px;line-height:1.6;color:var(--mk-navy)}

/* ---- グラフ（render_page.py の SVG。色はネイビーと青だけ） */
.mk-chart{margin:20px 0 10px}
.mk-chart figcaption{margin:0 0 8px;font-size:15px;font-weight:700}
.mk-chart svg{display:block;width:100%;height:auto}
.mk-chart svg text{font-family:var(--mk-en),var(--mk-jp)}
.mk-ch-sp{display:none!important}
@media (max-width:600px){.mk-ch-pc{display:none!important}.mk-ch-sp{display:block!important}}

/* ---- たたむ所（詳しいデータの項目、課題ごとの全社など） */
.mk-fold{border-top:1px solid var(--mk-line)}
.mk-fold:last-of-type{border-bottom:1px solid var(--mk-line)}
.mk-fold>summary,.mk-more>summary,.mk-fine>summary,.mk-faq summary,.mk-sheets>summary{cursor:pointer;list-style:none;position:relative}
.mk-fold>summary::-webkit-details-marker,.mk-more>summary::-webkit-details-marker,.mk-fine>summary::-webkit-details-marker,.mk-faq summary::-webkit-details-marker,.mk-sheets>summary::-webkit-details-marker{display:none}
.mk-fold>summary{padding:16px 40px 16px 0;font-size:16px;font-weight:700;line-height:1.6}
.mk-fold>summary::after,.mk-more>summary::after,.mk-faq summary::after,.mk-fine>summary::after,.mk-sheets>summary::after{content:"+";position:absolute;right:6px;top:50%;transform:translateY(-50%);font-family:var(--mk-en);font-weight:500;font-size:22px;line-height:1;color:var(--mk-blue)}
.mk-fold[open]>summary::after,.mk-more[open]>summary::after,.mk-faq details[open] summary::after,.mk-fine[open]>summary::after,.mk-sheets[open]>summary::after{content:"−"}
.mk-fold[open]{padding-bottom:14px}
.mk-more{margin:14px 0;border:1px solid var(--mk-line);border-radius:4px;padding:0 16px}
.mk-more>summary{padding:12px 36px 12px 0;font-size:14px;font-weight:700}
.mk-more[open]{padding-bottom:8px}

/* ---- 資料DL（青い面に白いカード。#apply） */
.mk-dl-sec{padding-top:80px}
.mk-dl{position:relative;overflow:hidden;background:var(--mk-blue);color:var(--mk-white);border-radius:110px 0 110px 0;padding:76px 64px 64px}
.mk-dl a{color:var(--mk-white)}
.mk-dl-spark{position:absolute;right:56px;top:40px;width:96px;height:auto;pointer-events:none}
.mk-dl-head{position:relative;max-width:760px}
.mk-kicker{display:flex;align-items:center;gap:12px;margin:0 0 14px;font-size:13px;font-weight:700;letter-spacing:.08em;color:var(--mk-white)}
.mk-kicker::before{content:"";flex:0 0 28px;height:2px;background:var(--mk-yellow)}
.mk-dl-h{margin:0 0 14px;padding:0;border:0;font-size:clamp(22px,2.6vw,30px);line-height:1.5;font-weight:700;color:var(--mk-white)}
.mk-keep{display:inline-block}
.mk-dl-h,.mk-h2 .mk-ht{text-wrap:balance}
.mk-dl-lead{margin:0;font-size:16px;line-height:1.9;color:var(--mk-white)}
.mk-dl-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:36px 0 0}
.mk-dl-card{background:var(--mk-white);color:var(--mk-navy);border-radius:4px;padding:26px 24px 22px}
.mk-dl-no{display:flex;align-items:center;gap:10px;margin:0 0 10px;font-family:var(--mk-en);font-weight:500;font-size:15px;letter-spacing:.12em;color:var(--mk-blue)}
.mk-dl-no::after{content:"";width:22px;height:2px;background:var(--mk-yellow)}
.mk-dl-card strong{display:block;margin:0 0 8px;font-size:16px;line-height:1.6}
.mk-dl-card p{margin:0;font-size:13.5px;line-height:1.85;color:var(--mk-navy)}
.mk-sheets{margin:24px 0 0;border-top:1px solid var(--mk-sky);border-bottom:1px solid var(--mk-sky)}
.mk-sheets>summary{padding:14px 36px 14px 0;font-size:14px;font-weight:700;color:var(--mk-white)}
.mk-sheets>summary::after{color:var(--mk-white)}
.mk-sheets ul{margin:0 0 14px;padding-left:1.2em;font-size:13.5px;line-height:1.85;color:var(--mk-white)}
.mk-sheets li{margin:0 0 4px}
.mk-facts{display:flex;flex-wrap:wrap;gap:6px 22px;margin:18px 0 0;font-size:14px;font-weight:700;color:var(--mk-white)}
.mk-dl-note{margin:10px 0 0;font-size:12.5px;line-height:1.85;color:var(--mk-white)}
.mk-shot{margin:32px auto 0;max-width:960px}
.mk-shot img{display:block;width:100%;height:auto;border-radius:4px;background:var(--mk-white)}
.mk-shot figcaption{margin:8px 0 0;font-size:12.5px;text-align:center;color:var(--mk-white)}
.mk-form-card{background:var(--mk-white);color:var(--mk-navy);border-radius:4px;padding:40px 44px 34px;margin:36px auto 0;max-width:820px}
.mk-form-card a{color:var(--mk-blue)}
.mk-form-title{margin:0;font-size:20px;line-height:1.5;font-weight:700;text-align:center;color:var(--mk-navy)}
.mk-form-sub{margin:10px auto 26px;max-width:640px;font-size:14px;line-height:1.85;text-align:center;color:var(--mk-navy)}
.mk-form-card .form{max-width:none}
.mk-form-card .consent a{color:var(--mk-blue)}
.mk-dl-help{margin:6px 0 0;font-size:13px;line-height:1.7;color:var(--mk-navy)}
.mk-dl-err{margin:6px 0 0;font-size:13px;line-height:1.7;color:#c0392b}  /* 入力の誤りだけは赤で知らせる（決まりの色に赤が無いため） */
.mk-submit{display:flex;justify-content:center;margin-top:8px}
.mk-submit .btn-glint{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-width:260px;min-height:52px;padding:0 28px;border:none;border-radius:100px;background:var(--mk-yellow);cursor:pointer;box-sizing:border-box}
.mk-submit .btn-glint:hover{opacity:.85}
.mk-submit-t{font-family:var(--font-button,'Noto Sans JP',sans-serif);font-weight:700;font-size:14px;line-height:1.7;letter-spacing:.06em;color:var(--mk-navy);white-space:nowrap}
.mk-submit-l{width:23px;height:0;border-top:1px solid var(--mk-navy);flex-shrink:0}
.mk-dl-after{margin:0;font-size:13px;line-height:1.8;text-align:center;color:var(--mk-navy)}
.mk-dl-wait{margin:0;padding:18px;border:1px solid var(--mk-line);border-radius:4px;font-size:14px;line-height:1.85;text-align:center}
.mk-consult{margin:26px 0 0;padding:16px 18px;background:var(--mk-sky);border-radius:4px;font-size:14px;line-height:1.85;color:var(--mk-navy)}
.mk-consult p{margin:0}

/* ---- 出典と注意（たたむ） */
.mk-fine{border:1px solid var(--mk-line);border-radius:4px;padding:0 20px}
.mk-fine>summary{padding:14px 36px 14px 0;font-size:15px;font-weight:700}
.mk-fine-b{padding:0 0 14px;font-size:13.5px;line-height:1.9}
.mk-fine-b p{margin:0 0 10px}
.mk-fine-h{margin:18px 0 6px!important;font-weight:700}

/* ---- よくある質問 */
.mk-faq details{border-bottom:1px solid var(--mk-line)}
.mk-faq details:first-child{border-top:1px solid var(--mk-line)}
.mk-faq summary{padding:16px 40px 16px 0;font-size:16px;font-weight:700;line-height:1.75}
.mk-faq-a{padding:0 0 18px;font-size:15px;line-height:1.95}

/* ---- 数字の誤り・ご意見（業界ページと同じフォーム。色だけ決まりに合わせる） */
.mk-fb{border:1px solid var(--mk-line);border-radius:4px;padding:14px 18px;background:var(--mk-white)}
.mk-fb>summary{cursor:pointer;font-weight:700;font-size:15px;color:var(--mk-blue)}
.mk-fb-lead{margin:10px 0 0;font-size:14px}
.mk-fb-form{display:grid;gap:12px;margin-top:12px}
.mk-fb-form label{display:block;font-size:14px;font-weight:700}
.mk-fb-form select,.mk-fb-form textarea,.mk-fb-form input[type=email]{display:block;width:100%;margin-top:6px;padding:8px 10px;border:1px solid var(--mk-mist);border-radius:4px;background:var(--mk-white);font:inherit;font-size:15px;font-weight:500;color:var(--mk-navy)}
.mk-fb-tag{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:4px;background:var(--mk-sky);font-size:11px;font-weight:700;color:var(--mk-blue);vertical-align:1px}
.mk-fb-form button{justify-self:start;padding:10px 28px;border:none;border-radius:100px;background:var(--mk-blue);color:var(--mk-white);font-weight:700;font-size:14px;cursor:pointer}
.mk-fb-form button:disabled{opacity:.6;cursor:default}
.mk-fb-msg{margin:0;font-size:13px;color:#c0392b}
.mk-body .mk-fb-note{margin:0;font-size:12px}
.mk-fb-done{margin:12px 0 0;font-weight:700;color:var(--mk-blue)}

/* ---- 業種のカード（一覧・同じ分野）。サムネイルは OGP 画像 */
.mk-chips{display:flex;flex-wrap:wrap;gap:10px}
.mk-chips a{display:inline-flex;align-items:center;padding:8px 16px;border-radius:100px;background:var(--mk-sky);color:var(--mk-navy);font-size:14px;font-weight:700;text-decoration:none}
.mk-chips a:hover{color:var(--mk-blue)}
.mk-icards{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:20px}
.mk-icards-2{grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}
.mk-icards-sm{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px}
.mk-icard{display:flex;flex-direction:column;overflow:hidden;background:var(--mk-white);box-shadow:inset 0 0 0 1px var(--mk-line);border-radius:4px;color:var(--mk-navy);text-decoration:none}
.mk-icard:hover .mk-icard-t{color:var(--mk-blue)}
.mk-thumb{display:block;aspect-ratio:1200/630;background:var(--mk-sky);overflow:hidden}
.mk-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.mk-thumb-ph{display:flex;align-items:center;justify-content:center;height:100%;padding:0 16px;font-size:16px;font-weight:700;text-align:center;color:var(--mk-navy)}
.mk-icard-b{display:flex;flex-direction:column;gap:4px;padding:16px 18px 18px}
.mk-icard-t{font-size:16px;font-weight:700;line-height:1.5}
.mk-icard-n{font-family:var(--mk-en);font-weight:500;font-size:24px;line-height:1.3}
.mk-icard-n small{margin-left:3px;font-family:var(--mk-jp);font-size:13px;font-weight:700}
.mk-icard-s{font-size:12px;line-height:1.7}
.mk-icard-i{margin-top:6px;padding-top:8px;border-top:1px solid var(--mk-line);font-size:12px;line-height:1.7}
.mk-more-link{margin:20px 0 0;font-size:14px;font-weight:700}

/* ---- 下に固定の案内 */
.mk-sticky{position:fixed;right:16px;bottom:16px;z-index:60;width:340px;max-width:calc(100vw - 32px);padding:16px 18px;border-radius:4px;background:linear-gradient(73deg,var(--mk-navy) 0%,var(--mk-blue) 100%);color:var(--mk-white);transform:translateY(16px);opacity:0;pointer-events:none;transition:opacity .25s,transform .25s}
.mk-sticky.on{opacity:1;transform:none;pointer-events:auto}
.mk-sticky-k{margin:0;font-size:11px;font-weight:700;letter-spacing:.06em;color:var(--mk-yellow)}
.mk-sticky-t{margin:4px 0 12px;padding-right:22px;font-size:16px;font-weight:700;line-height:1.5;color:var(--mk-white)}
.mk-sticky-btns{display:flex;flex-direction:column;gap:8px}
.mk-sticky-btns a{display:flex;align-items:center;justify-content:center;height:42px;border-radius:100px;font-size:14px;font-weight:700;letter-spacing:.04em;text-decoration:none}
.mk-sticky-dl{background:var(--mk-yellow);color:var(--mk-navy)}
.mk-sticky-cal{background:transparent;color:var(--mk-white);border:1px solid var(--mk-white)}
.mk-sticky-btns a:hover{opacity:.85}
.mk-sticky-x{position:absolute;top:8px;right:8px;width:28px;height:28px;padding:0;border:none;border-radius:50%;background:var(--mk-blue);color:var(--mk-white);font-size:16px;line-height:28px;cursor:pointer}

/* ---- パンくず（ページの一番下、CONTACT の上） */
.mk-bc{margin-top:0;padding:18px 0 4px;border-top:1px solid var(--mk-line,#E2E0DC)}
.mk-bc ol{display:flex;flex-wrap:wrap;gap:6px 10px;margin:0;padding:0;list-style:none;font-size:13px;line-height:1.7;color:var(--will-navy,#101841)}
.mk-bc li{display:flex;align-items:center;gap:10px}
.mk-bc li+li::before{content:"›"}
.mk-bc a{color:inherit;text-decoration:none;border-bottom:1px solid transparent}
.mk-bc a:hover{border-bottom-color:currentColor}
.mk-bc [aria-current]{font-weight:700}

/* ---- 幅ごとの直し */
@media (max-width:960px){
  .mk-dl{border-radius:48px 0 48px 0;padding:56px 32px 40px}
  .mk-dl-spark{right:24px;top:24px;width:64px}
  .mk-dl-cards{grid-template-columns:1fr}
  .mk-form-card{padding:32px 24px 26px}
}
@media (max-width:760px){
  .mk-sticky{left:8px;right:8px;bottom:8px;width:auto;max-width:none;padding:10px 12px}
  .mk-sticky-t{margin:2px 0 8px;font-size:13px}
  .mk-sticky-btns{flex-direction:row}
  .mk-sticky-btns a{flex:1;height:38px;font-size:12px}
}
@media (max-width:600px){
  .mk-sec{padding-top:48px}
  .mk-h2{font-size:20px}
  .mk-h2-sm{font-size:18px}
  .mk-summary{padding:18px 16px}
  .mk-kpi-n{font-size:30px}
  .page-hero:has(+ .mk-page) .sec-en{font-size:min(56px,13vw,calc((100vw - 64px) * .125))}
  /* 長いボタンの文言が画面からはみ出さないように折り返す（業界ページと同じ直し） */
  .mk-page a.btn-glint,.mk-page button.btn-glint{width:auto!important;max-width:100%;height:auto!important;min-height:48px;padding:12px 20px!important}
  .mk-page a.btn-glint span,.mk-page button.btn-glint span{white-space:normal!important;text-align:center;font-size:12.5px!important;line-height:1.6}
  .mk-page a.btn-glint span[aria-hidden],.mk-page button.btn-glint span[aria-hidden]{display:none}
}
@media (max-width:540px){
  .mk-dl{border-radius:32px 0 32px 0;padding:44px 20px 28px;margin:0 -12px}
  .mk-dl-spark{display:none}
  .mk-form-card{padding:26px 16px 22px}
  /* site.css は 540px 以下で p を 12px にする。データのページは読みにくくなるので、ここだけ 14px に戻す */
  .mk-page p,.mk-page li{font-size:14px!important;line-height:1.85}
  .mk-page .mk-note,.mk-page .mk-kpi-s,.mk-page .mk-dl-note,.mk-page .mk-hint,.mk-page .mk-fb-note,.mk-page .mk-icard-s,.mk-page .mk-meta{font-size:12px!important}
  /* 下に固定の案内も .mk-page の中なので、上の 14px に引っぱられないよう元の大きさに戻す */
  .mk-page .mk-sticky-k{font-size:11px!important}
  .mk-page .mk-sticky-t{font-size:13px!important;line-height:1.5}
  .mk-page .mk-table th,.mk-page .mk-table td{font-size:12.5px}
}
@media (prefers-reduced-motion:reduce){
  .mk-sticky{transition:none}
}

/* スマホの一覧は、サムネイルを左・文字を右にして縦の長さをおさえる */
@media (max-width:600px){
  .mk-icards,.mk-icards-2,.mk-icards-sm{grid-template-columns:1fr;gap:12px}
  .mk-icard{flex-direction:row;align-items:flex-start}
  .mk-thumb{flex:0 0 42%;align-self:flex-start}
  .mk-thumb-ph{font-size:13px;padding:0 8px}
  .mk-icard-b{padding:10px 12px 12px;min-width:0}
  .mk-icard-t{font-size:15px}
  .mk-icard-n{font-size:20px}
  .mk-icard-i{display:none}
}

/* 業種別の市場カルテの入口（市場規模の一覧・広告費の一覧）。区分けごとのカードを、PCは複数列、スマホは2列で並べる（2026-10-06） */
.mk-body .mk-ind{margin:6px 0 28px}
.mk-body .mk-ind h3.mk-h3{margin:26px 0 10px;font-size:16px;letter-spacing:.04em;padding-left:10px;border-left:3px solid var(--mk-yellow)}
.mk-ind-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.mk-body a.mk-ind-card{display:flex;flex-direction:column;gap:3px;padding:12px 14px;border:1px solid var(--mk-line);border-radius:8px;background:var(--mk-white);color:var(--mk-navy);text-decoration:none;transition:border-color .15s,background-color .15s}
.mk-body a.mk-ind-card:hover,.mk-body a.mk-ind-card:focus-visible{border-color:var(--mk-blue);background:var(--mk-sky);text-decoration:none}
.mk-ind-n{font-size:15px;font-weight:700;line-height:1.5;overflow-wrap:anywhere}
.mk-ind-m{font-size:12px;line-height:1.5;color:#5b6b78;word-break:keep-all}
.mk-ind--compact .mk-ind-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.mk-ind--compact a.mk-ind-card{padding:9px 12px}
.mk-ind--compact .mk-ind-n{font-size:14px;font-weight:600}
@media (max-width:600px){
  .mk-ind-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .mk-body a.mk-ind-card{padding:10px 11px}
  .mk-ind-n{font-size:14px}
  .mk-ind-m{font-size:11.5px}
  .mk-ind--compact .mk-ind-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* 目次チップ・途中の相談の誘い（2026-10-06）。PCは折り返し、スマホは横にスクロール */
.mk-toc{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:18px 0 0}
.mk-toc-t{font-size:12px;font-weight:700;color:#5b6b78;margin-right:4px}
.mk-toc a{display:inline-block;padding:6px 13px;border:1px solid var(--mk-line);border-radius:100px;background:var(--mk-white);font-size:13px;line-height:1.5;color:var(--mk-navy);text-decoration:none;white-space:nowrap}
.mk-toc a:hover,.mk-toc a:focus-visible{border-color:var(--mk-blue);background:var(--mk-sky)}
.mk-mid-sec{padding-top:0;padding-bottom:0}
.mk-mid-cta{margin:8px 0;padding:22px 26px;border-radius:12px;background:var(--mk-sky);display:grid;grid-template-columns:1fr auto;grid-template-areas:"t b" "p b";column-gap:28px;row-gap:4px;align-items:center}
.mk-mid-t{grid-area:t;margin:0;font-size:17px;font-weight:700;line-height:1.6;color:var(--mk-navy)}
.mk-mid-p{grid-area:p;margin:0;font-size:14px;line-height:1.8;color:var(--mk-navy)}
.mk-mid-b{grid-area:b;margin:0}
.mk-kpi{margin-top:0;margin-bottom:20px}
.mk-kpi + .mk-summary{margin-top:0}
/* 目次チップは、見出しを1行目に、チップを2行目に（PCで1行に収める）。アンカー移動は固定ヘッダーの下に出す */
.mk-toc{margin-top:20px}
.mk-toc-t{flex-basis:100%;margin:0 0 2px}
.mk-toc a{padding:5px 12px;font-size:12.5px}
.mk-sec[id],.mk-dl-sec[id]{scroll-margin-top:92px}
@media (max-width:760px){
  .mk-sec{padding-top:44px}
  .mk-sec-top{padding-top:28px}
  .mk-sec[id],.mk-dl-sec[id]{scroll-margin-top:76px}
  .mk-kpi{gap:8px;margin-bottom:14px}
  .mk-kpi-card{gap:3px;padding:12px 16px 11px}
  .mk-kpi-t{font-size:12px}
  .mk-kpi-n{font-size:26px}
  .mk-kpi-n small{font-size:13px}
  .mk-kpi-s{font-size:11.5px;line-height:1.6}
  .mk-summary{padding:18px 16px}
  .mk-summary ul{padding-left:1.1em}
  .mk-summary li{font-size:14.5px;line-height:1.85}
  .mk-h2{font-size:21px;margin-bottom:16px}
  .mk-toc-t{display:block;font-size:11.5px}
}
@media (max-width:760px){
  .mk-toc{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;margin-left:-16px;margin-right:-16px;padding:2px 16px 8px;scrollbar-width:none}
  .mk-toc::-webkit-scrollbar{display:none}
  .mk-toc-t{display:none}
  .mk-mid-cta{grid-template-columns:1fr;grid-template-areas:"t" "p" "b";padding:18px 18px;row-gap:8px}
  .mk-mid-b{margin-top:6px}
  .mk-mid-b a{width:100%;justify-content:center}
}
