/* ==========================================================================
   MapMaru 記事ページ（プラグイン側）。テーマのCSSより後に読み込まれる。
   v2: satori.marketing 型。ページ幅いっぱいの色帯（ヒーロー）＋ 本文 720px ＋ サイドバー 300px。
   配色はアクセント変数で一括管理。既定はロゴ配色（青→水色）。body.mm-theme-navy で紺版。
   オレンジ #f7930e はボタン専用。
========================================================================== */
:root{
  /* アクセント（緑版） */
  --mm-accent:#376bab; --mm-accent-dark:#2b5a90; --mm-accent-soft:#e6f2f4; --mm-accent-line:#b9dde0; --mm-accent-tint:#f3f9fa;
  --mm-hero-from:#3a72b0; --mm-hero-to:#86c4c5;
  /* 固定色 */
  --mm-navy:#0f2186; --mm-orange:#f7930e; --mm-orange-deep:#e07f00;
  --mm-yellow:#fff4d6; --mm-yellow-2:#ffe9b8; --mm-yellow-line:#f5d98a; --mm-sky:#eaf4fb; --mm-sky-line:#cfe2f1;
  --mm-ink:#1c2333; --mm-ink-2:#4b5568; --mm-ink-3:#7c869a; --mm-line:#e1e6ef; --mm-bg-2:#f5f6fa;
  --mm-head:"Zen Kaku Gothic New","LINESeedJP","Noto Sans JP","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
  --mm-r:8px; --mm-r-sm:6px;
  --mm-shadow:0 10px 30px rgba(20,40,60,.10); --mm-shadow-sm:0 2px 10px rgba(20,40,60,.06);
  --mm-hh:clamp(120px, 66.66667px + 6.94444vw, 200px); /* テーマの透過ヘッダーと同じ高さ */
  --mm-fixed-h:84px;                                   /* スクロール後の固定ヘッダーの高さ（記事ページで上書き） */
  --mm-hero-overlap:150px;                             /* 色帯がアイキャッチにかぶる量 */
  /* アイコン（currentColor で塗る） */
  --mm-i-clock:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E");
  --mm-i-search:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-4-4'/%3E%3C/svg%3E");
  --mm-i-alert:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 2.5 20h19z'/%3E%3Cpath d='M12 10v4M12 17.5v.5'/%3E%3C/svg%3E");
  --mm-i-bulb:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18h6M10 21h4'/%3E%3Cpath d='M12 3a6 6 0 0 0-3.5 10.9c.8.6 1.5 1.5 1.5 2.1h4c0-.6.7-1.5 1.5-2.1A6 6 0 0 0 12 3z'/%3E%3C/svg%3E");
  --mm-i-check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7'/%3E%3C/svg%3E");
  --mm-i-plus:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E");
  --mm-i-minus:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M5 12h14'/%3E%3C/svg%3E");
}
@media screen and (max-width:1299px){ :root{ --mm-hh:100px; } }
/* 紺版（ヘッダーと同じ色系）。body または html に .mm-theme-navy */
.mm-theme-navy{
  --mm-accent:#0f2186; --mm-accent-dark:#0b1866; --mm-accent-soft:#eaeefb; --mm-accent-line:#c5cff0; --mm-accent-tint:#f4f6fd;
  --mm-hero-from:#0f2186; --mm-hero-to:#376bab;
}

/* ==========================================================================
   テーマ干渉の修正
   ・スクロール後に fixed で再表示される複製ヘッダー（.header.is-headerClone / .is-show）は背景が透明で
     本文に白ロゴ・文字が重なるため、記事ページでは紺の帯にして高さを詰める。
========================================================================== */
body.mm-article-page .header.is-show,
body.mm-article-page .is-headerClone{ background:var(--mm-navy); }
body.mm-article-page .is-headerClone{ height:var(--mm-fixed-h); box-shadow:0 6px 24px rgba(15,33,134,.28); }
body.mm-article-page .is-headerClone::before{ display:none; }
body.mm-article-page .is-headerClone .header__navText{ color:#fff; }
body.mm-article-page .is-headerClone .header__navLink:hover .header__navText{ color:var(--mm-orange); }
body.mm-article-page .is-headerClone .header__logo,
body.mm-article-page .is-headerClone .header__logo svg{ max-width:200px; }
body.mm-article-page .is-headerClone .header__contact .header__infoLink{ background:var(--mm-orange); box-shadow:none; min-height:44px; }
body.mm-article-page .is-headerClone .hamburger{ width:52px; box-shadow:none; }

/* ==========================================================================
   ベース
========================================================================== */
.mm-article{ position:relative; z-index:0; overflow-x:clip; color:var(--mm-ink); font-size:16px; line-height:1.95; letter-spacing:.02em; overflow-wrap:anywhere; background:#fff; }
.mm-article h1,.mm-article h2,.mm-article h3,.mm-article h4{ font-family:var(--mm-head); letter-spacing:.01em; }
.mm-article a{ transition:color .2s,background-color .2s,box-shadow .2s,transform .2s,opacity .2s; }
.mm-article ul,.mm-article ol{ list-style:none; margin:0; padding:0; }
.mm-article img{ max-width:100%; height:auto; }
.mm-container{ max-width:1120px; margin:0 auto; padding:0 20px; }
.mm-visually-hidden{ position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }

/* 2カラム。サイドバーは色帯の上から始まる（satori と同じ） */
.mm-layout{ display:grid; grid-template-columns:minmax(0,720px) 300px; justify-content:space-between; gap:40px 60px; padding-top:calc(var(--mm-hh) + 8px); padding-bottom:96px; }
.mm-main{ min-width:0; }
.mm-side{ min-width:0; }

/* ==========================================================================
   ヒーロー: 本文カラムの見出し。色帯は ::before でページ幅いっぱいに敷く
========================================================================== */
.mm-hero{ position:relative; color:#fff; padding:8px 0 30px; }
.mm-hero::before{ content:""; position:absolute; z-index:-1; left:50%; width:100vw; margin-left:-50vw; top:calc(-1 * (var(--mm-hh) + 8px + 8px)); bottom:calc(-1 * var(--mm-hero-overlap)); pointer-events:none;
  background-color:var(--mm-hero-from);
  background-image:radial-gradient(rgba(255,255,255,.14) 1px,transparent 1.3px), linear-gradient(100deg,var(--mm-hero-from) 0%,var(--mm-hero-to) 100%);
  background-size:14px 14px, auto; }
.mm-hero__label{ display:flex; width:max-content; align-items:center; gap:10px; color:#fff; font-size:13px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; text-decoration:none; border-bottom:1px solid rgba(255,255,255,.7); padding-bottom:3px; margin-bottom:22px; }
.mm-hero__label::before{ content:""; width:22px; height:1px; background:#fff; }
.mm-hero__label:hover{ opacity:.8; }
.mm-cat{ display:inline-block; background:#fff; color:var(--mm-accent); font-size:13px; font-weight:700; line-height:1; padding:8px 16px; border-radius:999px; text-decoration:none; margin:0 0 14px; }
.mm-cat:hover{ background:var(--mm-accent-soft); }
.mm-meta{ display:flex; flex-wrap:wrap; gap:6px 18px; font-size:14px; font-weight:500; margin-bottom:12px; }
.mm-meta__item{ display:inline-flex; align-items:center; gap:6px; }
.mm-meta__item--pub::before{ content:""; width:16px; height:16px; background:currentColor; -webkit-mask:var(--mm-i-clock) center/contain no-repeat; mask:var(--mm-i-clock) center/contain no-repeat; }
.mm-meta__item b{ font-weight:700; font-size:12px; opacity:.85; }
.mm-hero__title{ font-size:clamp(26px, 20px + 1vw, 33px); line-height:1.5; font-weight:800; color:#fff; margin:0 0 18px; text-wrap:balance; }
.mm-hashtags{ display:flex; flex-wrap:wrap; gap:6px 14px; font-size:13px; }
.mm-hashtags a{ color:#fff; text-decoration:none; opacity:.92; }
.mm-hashtags a:hover{ text-decoration:underline; opacity:1; }

/* アイキャッチ: 色帯の下端をまたいで白地にはみ出す */
.mm-eyecatch{ position:relative; margin:0 0 36px; padding:6px; background:#fff; border:1px solid var(--mm-line); border-radius:var(--mm-r); box-shadow:var(--mm-shadow); }
.mm-eyecatch img{ display:block; width:100%; aspect-ratio:16/9; object-fit:cover; border-radius:calc(var(--mm-r) - 3px); }

/* ==========================================================================
   リード・目次
========================================================================== */
.mm-lead{ font-size:16px; line-height:2; color:var(--mm-ink); margin:0 0 32px; }
.mm-toc{ background:var(--mm-accent-soft); border-radius:var(--mm-r); padding:22px 28px 24px; margin:0 0 56px; }
.mm-toc__title{ display:flex; align-items:center; gap:14px; margin:0 0 12px; font-family:var(--mm-head); font-size:15px; font-weight:700; letter-spacing:.12em; color:var(--mm-ink); }
.mm-toc__title::before{ content:""; width:18px; height:1px; background:var(--mm-ink); }
.mm-toc__title::after{ content:""; flex:1; height:1px; background:var(--mm-accent-line); }
.mm-toc__list li{ position:relative; padding:7px 0 7px 22px; font-size:15px; line-height:1.6; }
.mm-toc__list li::before{ content:""; position:absolute; left:2px; top:14px; border:5px solid transparent; border-top:7px solid var(--mm-accent); border-bottom:0; }
.mm-toc__list a{ color:var(--mm-accent); text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:1px; font-weight:500; }
.mm-toc__list a:hover{ color:var(--mm-accent-dark); }
.mm-toc__list a.is-active{ font-weight:700; color:var(--mm-accent-dark); }

/* ==========================================================================
   本文
========================================================================== */
.mm-section{ scroll-margin-top:calc(var(--mm-fixed-h) + 24px); }
.mm-section + .mm-section{ margin-top:64px; }
.mm-article{ counter-reset:mm-h2; }
.mm-section h2{ position:relative; font-size:24px; line-height:1.5; font-weight:800; color:var(--mm-ink); margin:0 0 26px; padding:6px 0 6px 20px; border-left:6px solid var(--mm-accent); }
.mm-numbered .mm-section h2{ counter-increment:mm-h2; }
.mm-numbered .mm-section h2::before{ content:counter(mm-h2,decimal-leading-zero); display:inline-block; margin-right:12px; color:var(--mm-accent); font-size:22px; font-weight:800; letter-spacing:.02em; font-variant-numeric:tabular-nums; }
.mm-numbered .mm-faq h2::before,.mm-numbered .mm-summary h2::before{ content:none; }
.mm-body h3{ font-size:19px; line-height:1.55; font-weight:700; color:var(--mm-accent); margin:44px 0 18px; padding:0 0 8px; border-bottom:1px solid var(--mm-accent); scroll-margin-top:calc(var(--mm-fixed-h) + 24px); }
.mm-text{ margin:0 0 26px; }
.mm-text p{ margin:0 0 1.4em; }
.mm-text p:last-child{ margin-bottom:0; }
.mm-text strong{ font-weight:700; background:none; text-decoration:none; } /* 太字は太字だけ（下線・蛍光ペンなし・2026-10-06 社長指示）。蛍光ペンは「マーカー」で付ける */
.mm-text a{ color:var(--mm-accent); text-decoration:underline; text-underline-offset:3px; }
.mm-text a:hover{ color:var(--mm-accent-dark); }
.mm-text ul,.mm-text ol{ margin:0 0 1.4em; padding-left:6px; }
.mm-text li{ position:relative; padding-left:22px; margin:6px 0; }
.mm-text ul li::before{ content:""; position:absolute; left:2px; top:.8em; width:8px; height:8px; border-radius:50%; background:var(--mm-accent); }
.mm-text ol{ counter-reset:mm-ol; }
.mm-text ol li{ counter-increment:mm-ol; padding-left:30px; }
.mm-text ol li::before{ content:counter(mm-ol); position:absolute; left:0; top:.35em; width:22px; height:22px; border-radius:50%; background:var(--mm-accent); color:#fff; font-size:12px; font-weight:700; display:flex; align-items:center; justify-content:center; }

/* 画像 */
.mm-figure{ margin:0 0 30px; }
.mm-figure img{ display:block; width:100%; border-radius:var(--mm-r); border:1px solid var(--mm-line); }
.mm-figure figcaption{ font-size:13px; color:var(--mm-ink-3); margin-top:10px; text-align:center; }
.mm-figure__grid{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }

/* ポイント箱 */
.mm-keypoints{ background:var(--mm-accent-soft); border:1px solid var(--mm-accent-line); border-radius:var(--mm-r); padding:20px 24px; margin:0 0 30px; }
.mm-keypoints__title{ font-family:var(--mm-head); font-weight:700; color:var(--mm-accent-dark); font-size:15px; margin:0 0 10px; }
.mm-keypoints li{ position:relative; padding-left:26px; margin:5px 0; font-size:15px; line-height:1.8; }
.mm-keypoints li::before{ content:""; position:absolute; left:0; top:.4em; width:16px; height:16px; background:var(--mm-accent); -webkit-mask:var(--mm-i-check) center/contain no-repeat; mask:var(--mm-i-check) center/contain no-repeat; }

/* 表: 表タイトル（グレー小）＋上端の濃い太線＋薄グレーの見出し行＋横罫線のみ */
.mm-table{ margin:0 0 30px; }
.mm-table__title{ font-size:13px; color:var(--mm-ink-3); margin:0 0 8px; }
.mm-table__scroll{ overflow-x:auto; -webkit-overflow-scrolling:touch; }
.mm-table table{ width:100%; border-collapse:collapse; border-top:2px solid var(--mm-ink); font-size:15px; line-height:1.7; }
.mm-table th,.mm-table td{ text-align:left; vertical-align:top; padding:18px 24px; border-bottom:1px solid var(--mm-line); }
.mm-table thead th{ background:var(--mm-bg-2); font-weight:700; color:var(--mm-ink); white-space:nowrap; }
.mm-table thead th:last-child{ color:var(--mm-navy); }
.mm-table tbody td:first-child{ font-weight:700; }

/* 注意（黄）・ポイント（緑）・補足（引用風） */
.mm-callout{ margin:0 0 30px; }
.mm-callout--caution,.mm-callout--point{ display:flex; gap:16px; align-items:flex-start; padding:20px 24px; border-radius:var(--mm-r); }
.mm-callout--caution{ background:var(--mm-yellow); }
.mm-callout--point{ background:var(--mm-accent-soft); }
.mm-callout__icon{ flex:none; width:26px; height:26px; margin-top:2px; background:currentColor; -webkit-mask:var(--mm-i-alert) center/contain no-repeat; mask:var(--mm-i-alert) center/contain no-repeat; }
.mm-callout--caution .mm-callout__icon{ color:#d9860b; }
.mm-callout--point .mm-callout__icon{ color:var(--mm-accent); -webkit-mask-image:var(--mm-i-bulb); mask-image:var(--mm-i-bulb); }
.mm-callout__inner{ min-width:0; }
.mm-callout__title{ font-family:var(--mm-head); font-weight:700; font-size:16px; line-height:1.5; margin:0 0 6px; }
.mm-callout--caution .mm-callout__title{ color:#8a5a00; }
.mm-callout--point .mm-callout__title{ color:var(--mm-accent-dark); }
.mm-callout__body{ font-size:15px; line-height:1.85; }
.mm-callout--note{ border-left:2px solid #9bb0c4; padding:2px 0 2px 16px; color:var(--mm-ink-2); font-size:14px; line-height:1.8; }
.mm-callout--note .mm-callout__title{ font-size:14px; margin-bottom:2px; color:var(--mm-ink-2); }
.mm-table + .mm-callout--note{ margin-top:-14px; }

/* 3要素カード */
.mm-icons3{ margin:0 0 30px; }
.mm-icons3__list{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.mm-icons3__list li{ background:var(--mm-accent-soft); border-radius:var(--mm-r); padding:24px 16px 20px; text-align:center; display:flex; flex-direction:column; align-items:center; gap:8px; }
.mm-icons3 .mm-icon{ width:44px; height:44px; color:var(--mm-accent); }
.mm-icons3__list strong{ font-family:var(--mm-head); font-size:16px; font-weight:700; color:var(--mm-ink); line-height:1.4; }
.mm-icons3__list span{ font-size:13px; line-height:1.7; color:var(--mm-ink-2); }
.mm-icons3__note{ text-align:right; font-size:12px; color:var(--mm-ink-3); margin:8px 0 0; }

/* 事例カード */
.mm-case{ border:1px solid var(--mm-accent-line); border-radius:var(--mm-r); overflow:hidden; margin:0 0 30px; }
.mm-case__name{ margin:0; padding:12px 20px; background:var(--mm-accent); color:#fff; font-family:var(--mm-head); font-weight:700; font-size:15px; }
.mm-case dl{ margin:0; padding:6px 20px; }
.mm-case dl > div{ display:grid; grid-template-columns:96px 1fr; gap:12px; padding:12px 0; border-bottom:1px solid var(--mm-line); font-size:15px; }
.mm-case dl > div:last-child{ border-bottom:0; }
.mm-case dt{ font-weight:700; color:var(--mm-accent-dark); }
.mm-case dd{ margin:0; }

/* 動画・関連記事 */
.mm-video{ position:relative; aspect-ratio:16/9; margin:0 0 30px; border-radius:var(--mm-r); overflow:hidden; background:#000; }
.mm-video iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }
.mm-related{ margin:0 0 30px; border:1px solid var(--mm-line); border-radius:var(--mm-r); padding:18px 20px; }
.mm-related__title{ font-family:var(--mm-head); font-weight:700; font-size:14px; color:var(--mm-accent-dark); margin:0 0 6px; }

/* ==========================================================================
   横長CTAバナー（本文中）: 薄い黄色〜オレンジ地・右にイラスト・右端に「お問い合わせは こちら ▶▶▶」
========================================================================== */
.mm-banner{ display:grid; grid-template-columns:minmax(0,1fr) 120px auto; align-items:center; gap:18px; margin:8px 0 36px; padding:18px 24px 18px 28px; background:linear-gradient(90deg,#fff7e0 0%,#ffe8b8 100%); border:1px solid var(--mm-yellow-line); border-radius:var(--mm-r); color:var(--mm-ink); text-decoration:none; box-shadow:var(--mm-shadow-sm); }
.mm-banner:hover{ box-shadow:var(--mm-shadow); transform:translateY(-2px); }
.mm-banner__text{ display:flex; flex-direction:column; gap:4px; min-width:0; }
.mm-banner__text strong{ font-family:var(--mm-head); font-size:19px; line-height:1.45; font-weight:800; }
.mm-banner__text span{ font-size:13px; color:var(--mm-ink-2); line-height:1.6; }
.mm-banner__art{ width:120px; height:92px; background:#fff; border:1px solid var(--mm-yellow-line); border-radius:var(--mm-r-sm); display:flex; align-items:center; justify-content:center; color:var(--mm-orange-deep); overflow:hidden; }
.mm-banner__art .mm-art{ width:74px; height:74px; }
.mm-banner__art img{ width:100%; height:100%; object-fit:cover; }
.mm-banner__cta{ display:flex; flex-direction:column; align-items:center; text-align:center; color:var(--mm-orange-deep); font-family:var(--mm-head); font-weight:800; font-size:15px; line-height:1.35; white-space:nowrap; }
.mm-banner__cta i{ font-style:normal; font-size:13px; letter-spacing:-.05em; margin-top:4px; }

/* ==========================================================================
   FAQ・まとめ
========================================================================== */
.mm-faq__item{ border:1.5px solid var(--mm-accent); border-radius:var(--mm-r); margin:0 0 12px; background:#fff; overflow:hidden; }
.mm-faq__item summary{ list-style:none; cursor:pointer; display:flex; align-items:center; gap:14px; padding:16px 52px 16px 20px; position:relative; font-weight:700; font-size:16px; line-height:1.6; color:var(--mm-ink); }
.mm-faq__item summary::-webkit-details-marker{ display:none; }
.mm-faq__item summary::before{ content:"Q"; flex:none; width:30px; height:30px; border-radius:50%; background:var(--mm-accent); color:#fff; font-family:var(--mm-head); font-weight:800; font-size:15px; display:flex; align-items:center; justify-content:center; }
.mm-faq__item summary::after{ content:""; position:absolute; right:18px; top:50%; width:20px; height:20px; margin-top:-10px; background:var(--mm-accent); -webkit-mask:var(--mm-i-plus) center/contain no-repeat; mask:var(--mm-i-plus) center/contain no-repeat; }
.mm-faq__item[open] summary::after{ -webkit-mask-image:var(--mm-i-minus); mask-image:var(--mm-i-minus); }
.mm-faq__item[open] summary{ border-bottom:1px solid var(--mm-accent-line); }
.mm-faq__a{ background:var(--mm-accent-soft); padding:16px 20px 18px 64px; position:relative; font-size:15px; line-height:1.85; }
.mm-faq__a::before{ content:"A"; position:absolute; left:20px; top:14px; width:30px; height:30px; border-radius:50%; background:#fff; border:1.5px solid var(--mm-accent); color:var(--mm-accent); font-family:var(--mm-head); font-weight:800; font-size:15px; display:flex; align-items:center; justify-content:center; }
.mm-summary ul{ margin:0; }
.mm-summary li{ position:relative; padding:6px 0 6px 24px; font-size:16px; line-height:1.8; }
.mm-summary li::before{ content:""; position:absolute; left:2px; top:1em; width:9px; height:9px; border-radius:50%; background:var(--mm-accent); }

/* ==========================================================================
   記事末: 著者カード・出典・相談ボックス
========================================================================== */
.mm-foot{ margin-top:64px; }
.mm-author{ display:flex; gap:20px; align-items:flex-start; background:#fff; border:1px solid var(--mm-line); border-radius:var(--mm-r); padding:24px; margin:0 0 28px; }
.mm-author__avatar{ flex:none; width:72px; height:72px; border-radius:50%; background:var(--mm-accent-soft); color:var(--mm-accent); font-family:var(--mm-head); font-weight:800; font-size:26px; display:flex; align-items:center; justify-content:center; overflow:hidden; border:1px solid var(--mm-accent-line); }
.mm-author__avatar img{ width:100%; height:100%; object-fit:cover; }
.mm-author__body{ min-width:0; }
.mm-author__label{ font-size:12px; color:var(--mm-ink-3); margin:0 0 4px; letter-spacing:.06em; }
.mm-author__name{ font-family:var(--mm-head); font-size:18px; font-weight:800; margin:0 0 6px; display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 10px; }
.mm-author__name small{ font-size:12px; color:var(--mm-ink-2); font-weight:500; }
.mm-author__bio{ font-size:14px; line-height:1.8; color:var(--mm-ink-2); margin:0; }
.mm-refs{ font-size:13px; color:var(--mm-ink-2); margin:0 0 32px; padding:16px 20px; background:var(--mm-bg-2); border-radius:var(--mm-r); }
.mm-refs__title{ font-weight:700; margin:0 0 6px; }
.mm-refs li{ position:relative; padding-left:14px; line-height:1.8; }
.mm-refs li::before{ content:"・"; position:absolute; left:0; }
.mm-refs a{ color:var(--mm-accent); text-decoration:underline; }

.mm-endcta{ display:grid; grid-template-columns:104px minmax(0,1fr) auto; align-items:center; gap:20px; background:var(--mm-sky); border:1px solid var(--mm-sky-line); border-radius:var(--mm-r); padding:24px 28px; margin:0 0 28px; }
.mm-endcta__art{ width:104px; height:96px; background:#fff; border:1px solid var(--mm-sky-line); border-radius:var(--mm-r-sm); display:flex; align-items:center; justify-content:center; color:#3e7fb5; overflow:hidden; }
.mm-endcta__art .mm-art{ width:84px; height:84px; }
.mm-endcta__art img{ width:100%; height:100%; object-fit:cover; }
.mm-endcta__text{ display:flex; flex-direction:column; gap:6px; min-width:0; }
.mm-endcta__title{ font-family:var(--mm-head); font-size:19px; line-height:1.45; font-weight:800; text-wrap:balance; }
.mm-endcta__sub{ font-size:13.5px; line-height:1.7; color:var(--mm-ink-2); }
.mm-backlink{ text-align:center; margin:0; }

/* ボタン */
.mm-btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:48px; padding:10px 26px; border-radius:999px; font-family:var(--mm-head); font-weight:700; font-size:15px; text-decoration:none; line-height:1.3; white-space:nowrap; transition:transform .2s, box-shadow .2s, background-color .2s; }
.mm-btn--orange{ background:var(--mm-orange); color:#fff; box-shadow:0 6px 16px rgba(247,147,14,.35); }
.mm-btn--orange::after{ content:"›"; font-size:20px; line-height:1; }
.mm-btn--orange:hover{ background:var(--mm-orange-deep); transform:translateY(-2px); }
.mm-btn--accent{ background:var(--mm-accent); color:#fff; }
.mm-btn--accent:hover{ background:var(--mm-accent-dark); }
.mm-btn--ghost{ background:#fff; color:var(--mm-ink-2); border:1px solid var(--mm-line); }
.mm-btn--ghost:hover{ border-color:var(--mm-ink-3); color:var(--mm-ink); }

/* ==========================================================================
   サイドバー
========================================================================== */
.mm-side{ display:flex; flex-direction:column; gap:36px; font-size:14px; }
.mm-sbanner{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:12px; background:var(--mm-yellow); border:1px solid var(--mm-yellow-line); border-radius:var(--mm-r); padding:22px 20px 24px; color:var(--mm-ink); text-decoration:none; box-shadow:var(--mm-shadow-sm); }
.mm-sbanner:hover{ box-shadow:var(--mm-shadow); }
.mm-sbanner__label{ font-size:12px; font-weight:700; letter-spacing:.12em; color:var(--mm-orange-deep); }
.mm-sbanner__title{ font-family:var(--mm-head); font-size:17px; line-height:1.5; font-weight:800; text-wrap:balance; }
.mm-sbanner__art{ width:100%; height:120px; background:#fff; border:1px solid var(--mm-yellow-line); border-radius:var(--mm-r-sm); display:flex; align-items:center; justify-content:center; color:var(--mm-orange-deep); overflow:hidden; }
.mm-sbanner__art .mm-art{ width:96px; height:96px; }
.mm-sbanner__art img{ width:100%; height:100%; object-fit:cover; }
.mm-sbanner .mm-btn{ width:100%; }
.mm-sbox__title{ display:flex; align-items:center; gap:10px; font-family:var(--mm-head); font-size:16px; font-weight:800; color:var(--mm-ink); margin:0 0 14px; padding-bottom:10px; border-bottom:2px solid var(--mm-accent); }
.mm-sbox__badge{ display:inline-block; background:var(--mm-accent); color:#fff; font-size:11px; font-weight:800; letter-spacing:.08em; padding:3px 8px; border-radius:4px; line-height:1.2; }
/* 記事カード（横長サムネ＋タイトル＋サブ） */
.mm-sbox--new{ background:#fff; border-radius:var(--mm-r); padding:22px 20px 8px; box-shadow:var(--mm-shadow); }
.mm-sbox--new .mm-sbox__title{ border-bottom:0; padding-bottom:0; margin-bottom:6px; font-size:19px; }
.mm-cards{ display:flex; flex-direction:column; }
.mm-sbox--new .mm-card a{ grid-template-columns:112px 1fr; gap:14px; padding:14px 0; border-bottom:0; }
.mm-sbox--new .mm-card__title{ font-size:14.5px; -webkit-line-clamp:2; }
.mm-card__cat{ display:inline-block; width:max-content; max-width:100%; border:1.5px solid var(--mm-accent); color:var(--mm-accent); border-radius:999px; padding:3px 10px; font-size:11.5px; font-weight:700; line-height:1.3; margin-top:2px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.mm-card a{ display:grid; grid-template-columns:104px 1fr; gap:12px; align-items:start; padding:12px 0; border-bottom:1px solid var(--mm-line); color:var(--mm-ink); text-decoration:none; }
.mm-card:last-child a{ border-bottom:0; }
.mm-card a:hover .mm-card__title{ color:var(--mm-accent); }
.mm-card__img{ display:block; aspect-ratio:16/9; border-radius:var(--mm-r-sm); overflow:hidden; background:var(--mm-bg-2); border:1px solid var(--mm-line); }
.mm-card__img img,.mm-card__noimg{ display:block; width:100%; height:100%; object-fit:cover; }
.mm-card__noimg{ background:linear-gradient(135deg,var(--mm-accent-soft),var(--mm-bg-2)); }
.mm-card__body{ display:flex; flex-direction:column; gap:4px; min-width:0; }
.mm-card__title{ font-weight:700; font-size:13.5px; line-height:1.55; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.mm-card__sub{ font-size:12px; color:var(--mm-ink-3); line-height:1.5; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.mm-related .mm-card a{ grid-template-columns:120px 1fr; }
/* 検索 */
.mm-search{ display:flex; border:1px solid var(--mm-line); border-radius:var(--mm-r-sm); overflow:hidden; background:#fff; }
.mm-search__input{ flex:1; min-width:0; border:0; padding:11px 14px; font-size:14px; font-family:inherit; background:transparent; color:var(--mm-ink); }
.mm-search__input:focus{ outline:none; }
.mm-search:focus-within{ border-color:var(--mm-accent); box-shadow:0 0 0 3px var(--mm-accent-soft); }
.mm-search__btn{ flex:none; width:46px; border:0; background:var(--mm-accent); cursor:pointer; position:relative; }
.mm-search__btn::before{ content:""; position:absolute; inset:0; margin:auto; width:20px; height:20px; background:#fff; -webkit-mask:var(--mm-i-search) center/contain no-repeat; mask:var(--mm-i-search) center/contain no-repeat; }
.mm-search__btn:hover{ background:var(--mm-accent-dark); }
/* カテゴリー（ピル）・タグ */
.mm-cats{ display:flex; flex-wrap:wrap; gap:8px; }
.mm-cats a{ display:inline-flex; align-items:center; gap:6px; border:1.5px solid var(--mm-accent); color:var(--mm-accent); border-radius:999px; padding:6px 14px; font-size:13px; font-weight:700; text-decoration:none; }
.mm-cats a span{ font-size:11px; font-weight:500; opacity:.8; }
.mm-cats a:hover{ background:var(--mm-accent); color:#fff; }
.mm-taglist{ display:flex; flex-wrap:wrap; gap:6px 14px; }
.mm-taglist a{ color:var(--mm-ink-2); font-size:13px; text-decoration:none; }
.mm-taglist a:hover{ color:var(--mm-accent); text-decoration:underline; }
.mm-side__sticky{ position:sticky; top:calc(var(--mm-fixed-h) + 20px); }
.mm-toc--side{ padding:16px 18px 18px; margin:0; }
.mm-toc--side .mm-toc__title{ font-size:14px; }
.mm-toc--side .mm-toc__list li{ font-size:13.5px; padding:5px 0 5px 20px; }
.mm-toc--side .mm-toc__list li::before{ top:11px; }

/* ==========================================================================
   レスポンシブ
========================================================================== */
@media screen and (max-width:1100px){
  .mm-layout{ grid-template-columns:minmax(0,1fr) 280px; gap:40px; }
}
@media screen and (max-width:900px){
  .mm-layout{ grid-template-columns:1fr; gap:56px; padding-top:calc(var(--mm-hh) + 4px); padding-bottom:64px; }
  .mm-hero{ padding-bottom:24px; }
  .mm-hero::before{ top:calc(-1 * (var(--mm-hh) + 4px + 8px)); bottom:calc(-1 * (var(--mm-hero-overlap) * .6)); }
  .mm-hero__title{ font-size:clamp(23px, 19px + 1.4vw, 28px); }
  .mm-side__sticky{ position:static; }
  .mm-toc--side{ display:none; }
  .mm-banner{ grid-template-columns:minmax(0,1fr) 96px; gap:14px; padding:16px 18px; }
  .mm-banner__art{ width:96px; height:76px; }
  .mm-banner__cta{ grid-column:1 / -1; flex-direction:row; justify-content:flex-end; gap:8px; }
  .mm-banner__cta br{ display:none; }
  .mm-banner__cta i{ margin-top:0; }
  .mm-endcta{ grid-template-columns:1fr; text-align:center; justify-items:center; padding:24px 20px; }
  .mm-endcta .mm-btn{ width:100%; }
  .mm-endcta__title{ text-wrap:balance; }
  .mm-figure__grid{ grid-template-columns:1fr; }
  .mm-icons3__list{ grid-template-columns:1fr; }
  .mm-icons3__list li{ flex-direction:row; text-align:left; align-items:center; gap:14px; padding:16px; display:grid; grid-template-columns:40px 1fr; }
  .mm-icons3 .mm-icon{ width:36px; height:36px; grid-row:1 / span 2; }
  .mm-case dl > div{ grid-template-columns:1fr; gap:2px; }
}
@media screen and (max-width:600px){
  .mm-article{ font-size:15.5px; line-height:1.9; }
  .mm-container{ padding-left:18px; padding-right:18px; }
  .mm-hero__label{ margin-bottom:16px; }
  .mm-hero__title{ font-size:23px; line-height:1.5; }
  .mm-meta{ font-size:13px; }
  .mm-eyecatch{ padding:4px; margin-bottom:28px; }
  .mm-lead{ font-size:15px; }
  .mm-toc{ padding:18px 18px 20px; margin-bottom:44px; }
  .mm-section + .mm-section{ margin-top:52px; }
  .mm-section h2{ font-size:21px; padding-left:14px; border-left-width:5px; }
  .mm-body h3{ font-size:17.5px; margin-top:36px; }
  .mm-table table{ min-width:520px; } /* 狭い画面では表の中で横スクロール（本文は崩さない） */
  .mm-table th,.mm-table td{ padding:14px 16px; font-size:14px; }
  .mm-callout--caution,.mm-callout--point{ padding:16px; gap:12px; }
  .mm-banner__text strong{ font-size:16px; }
  .mm-faq__item summary{ font-size:15px; padding:14px 44px 14px 14px; }
  .mm-faq__a{ padding:14px 14px 16px 56px; }
  .mm-faq__a::before{ left:14px; }
  .mm-author{ flex-direction:column; align-items:center; text-align:center; padding:22px 18px; }
  .mm-author__name{ justify-content:center; }
  .mm-endcta__title{ font-size:18px; }
  .mm-side{ gap:32px; }
}
@media (prefers-reduced-motion: no-preference){ html{ scroll-behavior:smooth; } }
@media (prefers-reduced-motion: reduce){ .mm-article *{ transition:none !important; } }

.mm-sbox--new .mm-card__sub{ display:none; }

/* ==== v2.0.2: satori 準拠の幅・帯・白ヘッダー（記事ページのみ。テーマ本体は無改変） ==== */
:root{ --mm-hh:120px; --mm-hero-overlap:200px; }
@media screen and (max-width:1299px){ :root{ --mm-hh:100px; } }
body.mm-article-page .header{ height:var(--mm-hh); background:#fff; box-shadow:0 2px 14px rgba(0,0,0,.07); }
body.mm-article-page .header img.header__logo{ filter:brightness(0) invert(13%) sepia(59%) saturate(4000%) hue-rotate(228deg) brightness(95%); max-height:52px; width:auto; }
body.mm-article-page .header .hamburger{ box-shadow:0 4px 14px rgba(0,0,0,.18); width:76px; }
body.mm-article-page .is-headerClone{ background:#fff; box-shadow:0 4px 18px rgba(0,0,0,.1); height:var(--mm-fixed-h); }
body.mm-article-page .is-headerClone .header__navText{ color:#222; }
body.mm-article-page .is-headerClone .header__contact .header__infoLink{ background:var(--mm-orange); }
.mm-container{ max-width:1240px; }
.mm-layout{ grid-template-columns:minmax(0,780px) 320px; gap:40px 80px; padding-top:calc(var(--mm-hh) + 8px); }
.mm-hero{ padding-top:44px; }
.mm-hero::before{ top:-8px; }
@media screen and (max-width:1299px){ .mm-layout{ grid-template-columns:minmax(0,1fr) 300px; gap:40px 48px; } body.mm-article-page .header .hamburger{ width:64px; } }
@media screen and (max-width:900px){ .mm-layout{ grid-template-columns:1fr; } .mm-hero::before{ top:-4px; } }

/* ==== v2.0.3: 幅拡大（本文920／サイドバー380）・FV帯を画面幅いっぱいに ==== */
:root{ --mm-cw:1320px; --mm-pad:24px; }
.mm-container{ max-width:var(--mm-cw); padding-left:var(--mm-pad); padding-right:var(--mm-pad); }
.mm-layout{ grid-template-columns:minmax(0,860px) 360px; gap:40px 52px; }
.mm-eyecatch{ width:84%; margin-left:auto; margin-right:auto; }
@media screen and (max-width:900px){ .mm-eyecatch{ width:100%; } }
.mm-hero::before{ left:calc(-1 * max(var(--mm-pad), (100vw - var(--mm-cw)) / 2 + var(--mm-pad))); margin-left:0; width:100vw; }
.mm-hero__title{ font-size:clamp(28px, 22px + 1vw, 36px); }
@media screen and (max-width:1299px){ .mm-layout{ grid-template-columns:minmax(0,1fr) 320px; gap:40px 48px; } }
@media screen and (max-width:900px){ :root{ --mm-pad:18px; } .mm-layout{ grid-template-columns:1fr; } }

/* ==== v2.0.3b: サイドバー上の余白・資料バナー縮小・記事ページ専用ヘッダーメニュー ==== */
.mm-side{ padding-top:44px; }
.mm-sbanner{ padding:16px 18px 18px; gap:10px; }
.mm-sbanner__art{ height:84px; }
.mm-sbanner__art .mm-art{ width:64px; height:64px; }
.mm-sbanner__title{ font-size:15.5px; }
/* ヘッダー内メニュー（テーマの .header__nav を差し替え） */
body.mm-article-page .header .mm-nav{ display:flex; align-items:center; gap:28px; margin-right:16px; }
body.mm-article-page .header .mm-nav__link{ color:#222; font-size:15px; font-weight:700; text-decoration:none; letter-spacing:.02em; white-space:nowrap; }
body.mm-article-page .header .mm-nav__link:hover{ color:var(--mm-accent); }
body.mm-article-page .header .mm-nav__btn{ display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:0 24px; border-radius:999px; font-size:15px; font-weight:700; text-decoration:none; white-space:nowrap; }
body.mm-article-page .header .mm-nav__btn--ghost{ border:2px solid var(--mm-navy); color:var(--mm-navy); background:#fff; }
body.mm-article-page .header .mm-nav__btn--ghost:hover{ background:var(--mm-accent-soft); }
body.mm-article-page .header .mm-nav__btn--orange{ background:var(--mm-orange); color:#fff; box-shadow:0 6px 16px rgba(247,147,14,.3); }
body.mm-article-page .header .mm-nav__btn--orange:hover{ opacity:.9; }
body.mm-article-page .header .headerRight{ margin-right:0; }
@media screen and (min-width:1300px){ body.mm-article-page .header .hamburger{ display:none; } }
@media screen and (max-width:1299px){ body.mm-article-page .header .mm-nav{ display:none; } }
body.mm-article-page .is-headerClone .mm-nav__link{ color:#222; }
body.mm-article-page .header img.header__logo.mm-logo-color{ filter:none; max-height:56px; width:auto; }
.mm-sbanner__art img{ width:100%; height:100%; object-fit:cover; }

/* ==== v2.0.4: ヘッダー低く・FV文字小さく・アイキャッチ16:9固定・サイドバー控えめ ==== */
:root{ --mm-hh:84px; --mm-fixed-h:72px; }
@media screen and (max-width:1299px){ :root{ --mm-hh:84px; } }
body.mm-article-page .header img.header__logo{ max-height:40px; }
body.mm-article-page .header img.header__logo.mm-logo-color{ max-height:44px; }
body.mm-article-page .header .hamburger{ width:60px; }
.mm-hero{ padding-top:36px; padding-bottom:22px; }
.mm-hero__label{ margin-bottom:16px; }
.mm-hero__title{ font-size:clamp(23px, 19px + 0.6vw, 29px); line-height:1.5; margin-bottom:14px; }
.mm-eyecatch{ width:82%; }
.mm-eyecatch img{ aspect-ratio:16/9; object-fit:cover; width:100%; height:auto; display:block; }
.mm-layout{ grid-template-columns:minmax(0,860px) 340px; gap:40px 56px; }
.mm-sbanner{ box-shadow:none; }
.mm-sbox--new{ box-shadow:0 2px 12px rgba(15,33,134,.06); }
@media screen and (max-width:1299px){ .mm-layout{ grid-template-columns:minmax(0,1fr) 300px; } }
@media screen and (max-width:900px){ .mm-layout{ grid-template-columns:1fr; } .mm-eyecatch{ width:100%; } }
/* v2.0.4b: メニュー9項目に合わせて詰める */
body.mm-article-page .header .mm-nav{ gap:20px; }
body.mm-article-page .header .mm-nav__link{ font-size:14px; }
body.mm-article-page .header .mm-nav__btn{ min-height:44px; padding:0 18px; font-size:14px; }
@media screen and (max-width:1499px){ body.mm-article-page .header .mm-nav{ gap:14px; } body.mm-article-page .header .mm-nav__link{ font-size:13px; } body.mm-article-page .header .mm-nav__btn{ padding:0 14px; font-size:13px; } }
/* 本文の装飾: 下線・マーカー */
.mm-text u{ text-decoration:underline; text-decoration-color:var(--mm-accent); text-decoration-thickness:2px; text-underline-offset:4px; }
.mm-text mark, .mm-text mark.mm-marker{ background:linear-gradient(transparent 55%, #fff1a8 55%); color:inherit; padding:0 2px; }

/* ==== v2.1.4: H3を見本型（黒太字＋2本の短線＋グレー罫線）・アイキャッチ角丸なし・目次を見本型 ==== */
.mm-body h3{ position:relative; color:var(--mm-ink); font-size:21px; font-weight:800; border-bottom:0; padding:0 0 18px; margin:52px 0 22px; }
.mm-body h3::after{ content:""; position:absolute; left:0; bottom:0; width:100%; height:4px; border-radius:2px;
  background:linear-gradient(90deg, var(--mm-accent) 0 36px, transparent 36px 46px, var(--mm-accent) 46px 82px, transparent 82px 96px, #e4e7ee 96px 100%); }
.mm-eyecatch{ padding:0; border:0; border-radius:0; box-shadow:0 12px 32px rgba(20,40,60,.14); }
.mm-eyecatch img{ border-radius:0; }
.mm-toc{ background:#f7f8f9; border-radius:6px; padding:30px 40px 34px; margin:0 0 60px; }
.mm-toc__title{ position:relative; gap:0; margin:0 0 22px; padding-left:56px; font-size:19px; letter-spacing:.05em; }
.mm-toc__title::before{ position:absolute; left:-40px; width:56px; height:4px; background:var(--mm-accent); border-radius:2px; top:50%; margin-top:-2px; }
.mm-toc__title::after{ margin-left:22px; height:4px; background:var(--mm-accent); border-radius:2px; }
.mm-toc__list li{ padding:14px 0 14px 34px; font-size:18px; line-height:1.6; }
.mm-toc__list li::before{ left:4px; top:26px; border:7px solid transparent; border-top:9px solid #1f5f66; border-bottom:0; }
.mm-toc__list a{ color:#1f5f66; font-weight:700; text-underline-offset:5px; text-decoration-thickness:1.5px; }
.mm-toc__list a:hover{ color:var(--mm-accent); }
.mm-toc--side{ padding:16px 18px 18px; }
.mm-toc--side .mm-toc__title{ font-size:14px; padding-left:34px; margin-bottom:10px; }
.mm-toc--side .mm-toc__title::before{ left:-18px; width:34px; height:3px; }
.mm-toc--side .mm-toc__title::after{ height:3px; margin-left:12px; }
.mm-toc--side .mm-toc__list li{ font-size:13.5px; padding:6px 0 6px 20px; }
.mm-toc--side .mm-toc__list li::before{ top:12px; border-width:5px; border-top-width:7px; }
@media screen and (max-width:900px){ .mm-toc{ padding:22px 20px 24px; } .mm-toc__list li{ font-size:16px; padding:10px 0 10px 26px; } .mm-toc__list li::before{ top:19px; } }

/* ==== v2.1.5: 本文幅800・行間/字間を見本に合わせる・FVタイトル幅・目次を詰める・サイドバー自由画像 ==== */
.mm-layout{ grid-template-columns:minmax(0,800px) 340px; gap:40px 60px; }
.mm-article{ font-size:16px; line-height:2; letter-spacing:.01em; }
.mm-text p{ margin:0 0 1.6em; line-height:2; }
.mm-hero__title{ max-width:800px; }
.mm-toc{ padding:26px 36px 28px; margin-bottom:52px; }
.mm-toc__title{ margin-bottom:12px; }
.mm-toc__list li{ padding:8px 0 8px 32px; font-size:17px; line-height:1.55; }
.mm-toc__list li::before{ top:19px; }
.mm-sfree{ display:block; border-radius:6px; overflow:hidden; }
.mm-sfree img{ display:block; width:100%; height:auto; }

/* FVタイトル: 本文幅いっぱいまで使ってから折り返す（均等折返しを無効化） */
.mm-hero__title{ text-wrap:wrap; max-width:800px; }
/* ヘッダーメニュー: 5項目＋2ボタン（文字16px・間隔34px） */
body.mm-article-page .header .mm-nav{ gap:34px; }
body.mm-article-page .header .mm-nav__link{ font-size:16px; }
body.mm-article-page .header .mm-nav__btn{ font-size:15px; min-height:46px; padding:0 22px; }
body.mm-article-page .header .mm-nav__btn--ghost{ margin-left:6px; }
@media screen and (max-width:1499px){ body.mm-article-page .header .mm-nav{ gap:24px; } body.mm-article-page .header .mm-nav__link{ font-size:15px; } body.mm-article-page .header .mm-nav__btn{ padding:0 18px; font-size:14px; } }

/* ==== v2.2.0: タイ語記事の文字組み（body.mm-lang-th） ====
   ・和文フォントにはタイ文字が無く、OS任せの代替フォント（太く・ラテン文字と不揃い）になるため専用フォントを指定
   ・本文 Noto Sans Thai 400 / 見出し Kanit 600（LPのタイ語見出しと同系） */
body.mm-lang-th .mm-article{ font-family:'Noto Sans Thai','LINESeedJP',sans-serif; font-size:17px; letter-spacing:0; }
body.mm-lang-th .mm-article p, body.mm-lang-th .mm-article li, body.mm-lang-th .mm-article td, body.mm-lang-th .mm-lead, body.mm-lang-th .mm-faq__a{ font-weight:400; }
body.mm-lang-th .mm-text p{ line-height:1.9; }
body.mm-lang-th .mm-article strong{ font-weight:700; }
body.mm-lang-th .mm-article h1, body.mm-lang-th .mm-article h2, body.mm-lang-th .mm-article h3, body.mm-lang-th .mm-toc__title,
body.mm-lang-th .mm-sbox__title, body.mm-lang-th .mm-banner strong, body.mm-lang-th .mm-endcta__title, body.mm-lang-th .mm-sbanner__title{ font-family:'Kanit','Noto Sans Thai',sans-serif; font-weight:600; letter-spacing:0; }
body.mm-lang-th .mm-hero__title{ font-weight:600; line-height:1.45; }
body.mm-lang-th .mm-toc__list a{ font-family:'Noto Sans Thai',sans-serif; font-weight:500; }
body.mm-lang-th .header .mm-nav{ font-family:'Noto Sans Thai',sans-serif; }
body.mm-lang-th .mm-table table{ font-size:15px; }
body.mm-lang-th .mm-table th{ font-weight:600; }
body.mm-lang-th .mm-table th:first-child, body.mm-lang-th .mm-table td:first-child{ min-width:10em; font-weight:600; }

/* ==== v2.2.3: 画面幅ごとの段組みを最後に確定（後から足したPC幅指定がスマホ指定を上書きしていた不具合の修正） ==== */
@media screen and (max-width:1299px){
  .mm-layout{ grid-template-columns:minmax(0,1fr) 300px; gap:40px 44px; }
}
@media screen and (max-width:900px){
  .mm-layout{ grid-template-columns:1fr; gap:48px; }
  .mm-eyecatch{ width:100%; }
  .mm-hero__title{ max-width:none; }
  body.mm-lang-th .mm-article{ font-size:16px; }
  .mm-toc{ padding:22px 20px 24px; }
}

/* ==== v2.2.4: ヘッダー資料請求ボタンのホバー・サイドバー調整 ==== */
body.mm-article-page .header .mm-nav__btn--ghost{ transition:background .2s, color .2s, border-color .2s; }
body.mm-article-page .header .mm-nav__btn--ghost:hover{ background:linear-gradient(90deg,#3a72b0 0%,#55a8cf 50%,#86c4c5 100%); border-color:transparent; background-origin:border-box; color:#fff; opacity:1; }
/* 最新記事: サムネ角丸なし・記事同士の間隔を詰める */
.mm-sbox--new .mm-card a{ padding:8px 0; }
.mm-sbox--new .mm-card__img{ border-radius:0; }
.mm-sbox--new .mm-card__img img{ border-radius:0; }
/* 一番上のバナー: 下の最新記事ボックスより少し細く・中央 */
.mm-side > .mm-sbanner:first-child, .mm-side > .mm-sfree-top{ width:92%; align-self:center; }
@media screen and (max-width:900px){ .mm-side > .mm-sbanner:first-child{ width:100%; } }
/* v2.3.2: サイドバー上の画像も最新記事の枠より少し細く */
.mm-side > .mm-sfree--top{ width:92%; align-self:center; }
@media screen and (max-width:900px){ .mm-side > .mm-sfree--top{ width:100%; } }
/* v2.3.3: サイドバー画像が未設定のときの「Coming soon」枠 */
.mm-sfree--soon{ aspect-ratio:16/9; display:flex; align-items:center; justify-content:center; background:repeating-linear-gradient(135deg,#f5f7fa 0 12px,#eef2f6 12px 24px); border:1px dashed #c9d3df; color:#8a96a8; font-family:var(--mm-head); font-weight:700; font-size:15px; letter-spacing:.12em; text-transform:uppercase; }

/* ==== v2.3.4: FVの色を濃く・点々なし／サイドバー上部の間隔／右下の固定ポップアップ ==== */
.mm-hero::before{ background-color:#2b5f9e; background-image:linear-gradient(100deg,#2b5f9e 0%,#3380ab 55%,#3d97a6 100%); background-size:auto; }
.mm-side > .mm-sfree--top, .mm-side > .mm-sbanner:first-child{ margin-bottom:-14px; }
.mm-popup{ position:fixed; right:20px; bottom:20px; z-index:9990; width:260px; background:#fff; border:3px solid var(--mm-accent); box-shadow:0 10px 30px rgba(20,40,60,.22); }
.mm-popup[hidden]{ display:none !important; }
.mm-popup__body{ display:block; }
.mm-popup__body img{ display:block; width:100%; height:auto; }
.mm-popup__soon{ display:flex; align-items:center; justify-content:center; aspect-ratio:1/1; background:repeating-linear-gradient(135deg,#f5f7fa 0 12px,#eef2f6 12px 24px); color:#8a96a8; font-family:var(--mm-head); font-weight:700; font-size:15px; letter-spacing:.12em; text-transform:uppercase; }
.mm-popup__close{ position:absolute; top:-12px; right:-12px; width:28px; height:28px; border-radius:50%; border:2px solid #fff; background:#1c2333; color:#fff; font-size:18px; line-height:1; cursor:pointer; display:flex; align-items:center; justify-content:center; padding:0; }
.mm-popup__close:hover{ background:#000; }
@media screen and (max-width:900px){ .mm-popup{ display:none !important; } }

/* ==== v2.3.5: 見本（satori）と文字サイズ・画像サイズ・幅を実寸で一致させる（1512px幅で実測） ====
   見本: 枠1200（左右16）/ 本文784 / 間96 / サイドバー320、アイキャッチ640×360、本文16px・行間32px、
   H1 26px・H2 24px・H3 20px、目次16px、FVラベル20px、カテゴリ16px、日付16px、タグ14px */
:root{ --mm-hero-overlap:208px; }
.mm-hero{ padding-top:40px; padding-bottom:0; }
.mm-hero__label{ font-size:20px; line-height:20px; letter-spacing:.1em; padding-bottom:4px; margin-bottom:44px; }
.mm-cat{ font-size:16px; line-height:16px; padding:10px 16px; margin:0 0 8px; }
.mm-meta{ font-size:16px; font-weight:400; letter-spacing:.05em; line-height:30px; margin-bottom:0; }
.mm-meta__item--pub::before{ width:20px; height:20px; }
.mm-hero__title, body.mm-lang-th .mm-hero__title{ font-size:26px; line-height:39px; margin:20px 0 0; max-width:784px; }
body.mm-lang-ja .mm-hero__title{ letter-spacing:1.3px; }
.mm-hero .mm-hashtags{ font-size:14px; line-height:28px; margin:0; padding-top:14px; }
.mm-eyecatch{ width:640px; max-width:100%; margin:40px auto 0; }
.mm-lead{ font-size:16px; line-height:32px; margin:16px 0 32px; }
.mm-article, body.mm-lang-th .mm-article{ font-size:16px; line-height:32px; }
.mm-text p, body.mm-lang-th .mm-text p{ line-height:32px; margin:0 0 16px; }
.mm-toc__list li{ font-size:16px; line-height:24px; padding:10px 0 10px 32px; }
.mm-toc__list li::before{ top:17px; }
.mm-body h2{ font-size:24px; line-height:36px; }
.mm-body h3{ font-size:20px; line-height:30px; padding-bottom:16px; margin:60px 0 30px; }
.mm-table table, body.mm-lang-th .mm-table table{ font-size:16px; }
.mm-body img{ max-width:100%; height:auto; }
/* サイドバー: 上の画像は枠いっぱい（320×240・4:3）、最新記事の白枠は左右に16pxはみ出す（見本と同じ） */
.mm-side{ padding-top:40px; }
.mm-side > .mm-sfree--top, .mm-side > .mm-sbanner:first-child{ width:100%; align-self:stretch; margin-bottom:-12px; }
.mm-side > .mm-sfree--top.mm-sfree--soon{ aspect-ratio:4/3; }
.mm-side > .mm-sfree--top img{ aspect-ratio:4/3; object-fit:cover; }
.mm-sbox--new{ margin:0 -16px; padding:24px 16px 8px; }
.mm-sbox--new .mm-sbox__title{ font-size:20px; }
.mm-sbox--new .mm-card a{ grid-template-columns:128px 1fr; gap:16px; }
.mm-sbox--new .mm-card__title{ font-size:14px; line-height:21px; }
@media screen and (min-width:1300px){
  :root{ --mm-cw:1232px; --mm-pad:16px; }
  .mm-layout{ grid-template-columns:minmax(0,784px) 320px; gap:40px 96px; }
}
@media screen and (max-width:900px){
  .mm-hero__title, body.mm-lang-th .mm-hero__title{ font-size:23px; line-height:1.5; }
  .mm-hero__label{ font-size:15px; line-height:15px; margin-bottom:24px; }
  .mm-eyecatch{ width:100%; margin-top:28px; }
  .mm-sbox--new{ margin:0; }
  .mm-side{ padding-top:0; }
}
/* v2.3.5b: FVの書体も見本に合わせる（見本: ラベル・日付＝Lato、見出し＝Noto Sans 系の太字）
   ・ラベル: 大文字にしない・太字にしない・文字だけ下線・前に 16×4 の白線
   ・カテゴリ: 太さ500・1px枠 ／ タグ: 太さ500
   ・タイ語の見出しは Kanit だと同じpxでも大きく見えるため、見本と同系の Noto Sans Thai 700 に */
.mm-hero__label{ font-family:'Lato',sans-serif; font-weight:400; text-transform:none; letter-spacing:2px; border-bottom:0; padding-bottom:0; gap:24px; text-decoration:underline; text-underline-offset:auto; height:20px; }
.mm-hero__label::before{ width:16px; height:4px; }
.mm-cat{ font-weight:500; border:1px solid var(--mm-accent); }
.mm-meta{ font-family:'Lato',sans-serif; font-weight:400; letter-spacing:.8px; }
.mm-meta__item{ gap:4px; }
.mm-hero .mm-hashtags a{ font-weight:500; }
.mm-hero__title{ font-weight:700; }
body.mm-lang-th .mm-article h1, body.mm-lang-th .mm-hero__title, body.mm-lang-th .mm-article h2, body.mm-lang-th .mm-article h3, body.mm-lang-th .mm-toc__title{ font-family:'Noto Sans Thai',sans-serif; font-weight:700; }
body.mm-lang-th .mm-hero__title{ letter-spacing:0; }
/* 本文の太さ・色も見本（Noto Sans 500・#2c343e）に合わせる */
.mm-article, body.mm-lang-th .mm-article p, body.mm-lang-th .mm-article li, body.mm-lang-th .mm-article td, body.mm-lang-th .mm-lead, body.mm-lang-th .mm-faq__a{ font-weight:500; }
.mm-text p, .mm-lead, .mm-body li{ color:#2c343e; }
/* v2.3.6: タイ文字は同じpxでも日本語より小さく見えるため、タイ語記事の大見出し（H2）だけ大きく */
body.mm-lang-th .mm-section h2{ font-size:28px; line-height:42px; }
@media screen and (max-width:900px){ body.mm-lang-th .mm-section h2{ font-size:23px; line-height:1.5; } }
/* v2.3.8: タイ語記事のFVタイトルを大きく（見本26px→タイ文字は小さく見えるため32px） */
body.mm-lang-th .mm-article .mm-hero__title{ font-size:32px; line-height:48px; }
@media screen and (max-width:900px){ body.mm-lang-th .mm-article .mm-hero__title{ font-size:25px; line-height:1.5; } }

/* ==== v2.3.9: 右下ポップアップを見本型に（画像260×260＋タイトル・説明文＋ボタン、閉じると下端のタブに縮む・タブで再表示） ==== */
.mm-popup{ right:16px; bottom:16px; width:260px; border:0; background:none; box-shadow:none; transition:bottom .3s ease; }
.mm-popup__frame{ position:relative; background:#fff; box-shadow:0 10px 30px rgba(20,40,60,.22); overflow:visible; }
.mm-popup__img{ display:block; }
.mm-popup__img img{ display:block; width:260px; height:260px; object-fit:cover; }
.mm-popup__img .mm-popup__soon{ width:260px; height:260px; }
.mm-popup__desc{ padding:16px 16px 0; }
.mm-popup__title{ margin:0 0 4px; font-size:12.8px; font-weight:700; letter-spacing:.05em; line-height:1.5; color:#2c343e; overflow:hidden; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.mm-popup__text{ margin:0; font-size:12px; font-weight:500; line-height:1.5; color:#2c343e; overflow:hidden; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; }
.mm-popup__cta{ padding:16px; }
.mm-popup__btn{ display:block; background:var(--mm-orange); border:2px solid var(--mm-orange); border-radius:6px; color:#fff !important; font-size:12.8px; font-weight:700; letter-spacing:.05em; line-height:1.5; padding:.7em 1em; text-align:center; text-decoration:none !important; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; transition:opacity .2s; }
.mm-popup__btn:hover{ opacity:.7; }
.mm-popup__close{ top:8px; right:8px; width:25px; height:25px; border:0; background:rgba(28,35,51,.75); font-size:17px; z-index:2; }
/* 閉じた後のタブ（押すと開く） */
.mm-popup__tab{ display:none; width:260px; height:30px; margin:0; border:0; border-radius:12px 12px 0 0; background:var(--mm-orange); color:#fff; font-size:13px; font-weight:700; letter-spacing:.05em; line-height:1; cursor:pointer; align-items:center; justify-content:center; gap:10px; padding:0 12px; box-shadow:0 -2px 12px rgba(20,40,60,.15); }
.mm-popup__tab::after{ content:""; width:18px; height:14px; flex:none; background:#fff; -webkit-mask:var(--mm-i-mail) center/contain no-repeat; mask:var(--mm-i-mail) center/contain no-repeat; }
.mm-popup__tab span{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.mm-popup.is-min{ bottom:0; }
.mm-popup.is-min .mm-popup__frame{ display:none; }
.mm-popup.is-min .mm-popup__tab{ display:flex; }
:root{ --mm-i-mail:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 18' fill='none' stroke='%23000' stroke-width='2' stroke-linejoin='round'%3E%3Crect x='1.5' y='1.5' width='21' height='15' rx='2'/%3E%3Cpath d='m2 3 10 7 10-7'/%3E%3C/svg%3E"); }
body.mm-lang-th .mm-popup__title, body.mm-lang-th .mm-popup__text, body.mm-lang-th .mm-popup__btn, body.mm-lang-th .mm-popup__tab{ font-family:'Noto Sans Thai',sans-serif; letter-spacing:0; }
body.mm-lang-th .mm-popup__title{ font-size:14px; }
body.mm-lang-th .mm-popup__text{ font-size:13px; }
body.mm-lang-th .mm-popup__btn, body.mm-lang-th .mm-popup__tab{ font-size:14px; }
@media screen and (max-width:900px){ .mm-popup{ display:none !important; } }

/* ==== v2.3.10: ヘッダー高さ・FV帯の長さ・グラデーションを見本に合わせる ====
   見本: ヘッダー80px／帯はアイキャッチ上端から208px下まで（画像の約58%にかかる）／グラデは81°・左端から68.75%地点で最終色 */
:root{ --mm-hh:80px; --mm-hero-overlap:248px; }
@media screen and (max-width:1299px){ :root{ --mm-hh:80px; } }
.mm-hero::before{ background-image:linear-gradient(81.14deg,#2b5f9e 0%,#3d9fa8 68.75%); }

/* ==== v2.3.11: FV帯を少し短く（アイキャッチへの重なり 208→184px）・左側のシェアボタン（見本型、1440px以上のみ） ==== */
:root{ --mm-hero-overlap:224px; }
.mm-share{ display:none; position:absolute; left:-72px; top:calc(100% + var(--mm-hero-overlap)); width:40px; padding-top:60px; color:#2c343e; }
.mm-share__title{ margin:0 0 40px; font-size:14px; font-weight:700; line-height:1.5; color:#2c343e; font-family:'Noto Sans Thai','Noto Sans JP',sans-serif; }
.mm-share__list{ list-style:none; margin:0; padding:0; }
.mm-share__list li{ margin:0 0 40px; padding:0; text-align:center; line-height:0; }
.mm-share__list li::before{ display:none; }
.mm-share__list a{ display:inline-block; transition:opacity .2s; }
.mm-share__list a:hover{ opacity:.6; }
@media screen and (min-width:1440px){ .mm-share{ display:block; } }

/* ==== v2.3.12: サイドバーを見本型に（最新記事〜タグ〜下の画像を1枚の白カードにまとめ、薄いグレー線で区切る）
   見出し: 20px 太字＋左に20pxのアイコン・下線なし ／ カテゴリー: 縦並びの枠付きピル「名前｜件数」 ／ タグ: #付き下線リンクをカンマ区切り ==== */
.mm-swidgets{ background:#fff; border-radius:6px; margin:0 -16px; padding:24px 16px 16px; box-shadow:0 2px 12px rgba(15,33,134,.06); }
.mm-sw{ min-width:0; }
.mm-swsep{ border:0; border-top:2px solid #f3f4f5; height:0; margin:24px 0; }
.mm-sw--new + .mm-swsep{ margin-top:20px; }
.mm-swh{ display:flex; align-items:center; gap:16px; margin:0 0 16px; font-family:var(--mm-head); font-size:20px; font-weight:700; line-height:1.3; color:#2c343e; }
.mm-swh__icon{ flex:none; width:20px; height:20px; color:var(--mm-accent); display:flex; }
.mm-swh__icon svg{ width:20px; height:20px; }
body.mm-lang-th .mm-swh{ font-family:'Noto Sans Thai',sans-serif; }
/* 最新記事 */
.mm-sw--new .mm-card a{ grid-template-columns:128px 1fr; gap:16px; padding:0 0 16px; border-bottom:0; }
.mm-sw--new .mm-card:last-child a{ padding-bottom:0; }
.mm-sw--new .mm-card__img{ border-radius:0; }
.mm-sw--new .mm-card__img img{ border-radius:0; }
.mm-sw--new .mm-card__title{ font-size:14px; line-height:21px; }
.mm-sw--new .mm-card__sub{ display:none; }
/* 検索: 薄いグレーの入力欄の中に虫めがね */
.mm-search--sw{ background:#f8f8f8; border:1px solid #eaebec; border-radius:6px; padding:8px 10px; align-items:center; }
.mm-search--sw .mm-search__input{ padding:0 4px; height:30px; font-size:15px; }
.mm-search--sw .mm-search__btn{ width:24px; height:24px; background:none; color:#80858b; margin-left:10px; display:flex; align-items:center; justify-content:center; padding:0; }
.mm-search--sw .mm-search__btn::before{ display:none; }
.mm-search--sw .mm-search__btn svg{ width:20px; height:20px; }
.mm-search--sw .mm-search__btn:hover{ background:none; color:var(--mm-accent); }
.mm-search--sw:focus-within{ border-color:var(--mm-accent); box-shadow:none; }
/* カテゴリー */
.mm-swcats{ list-style:none; margin:0; padding:0; }
.mm-swcats li{ margin:0 0 8px; padding:0; }
.mm-swcats li::before{ display:none; }
.mm-swcats a{ display:inline-flex; align-items:center; border:1px solid var(--mm-accent); border-radius:9999px; padding:6px 13px; font-size:13px; font-weight:500; line-height:1.1; color:var(--mm-accent); text-decoration:none; background:#fff; transition:background .2s; }
.mm-swcats a:hover{ background:var(--mm-accent-soft); }
.mm-swcats__count{ margin-left:10px; padding-left:10px; border-left:1px solid var(--mm-accent); }
body.mm-lang-th .mm-swcats a{ font-size:14px; }
/* タグ */
.mm-swtags{ list-style:none; margin:0; padding:0; font-size:14px; line-height:1.5; }
.mm-swtags li{ display:inline; margin:0; padding:0; }
.mm-swtags li::before{ display:none; }
.mm-swtags li:not(:last-child)::after{ content:" , "; color:#2c343e; }
.mm-swtags a{ color:var(--mm-accent); text-decoration:underline; text-underline-offset:2px; }
.mm-swtags a::before{ content:"#"; }
.mm-swtags a:hover{ text-decoration:none; }
/* カード内の下の画像 */
.mm-swidgets > .mm-sfree{ border-radius:0; }
.mm-swidgets > .mm-sfree--soon{ aspect-ratio:16/9; }
@media screen and (max-width:900px){ .mm-swidgets{ margin:0; } }
/* 本文の太さ指定（p=500）に負けないよう見出しの太字を固定・タグの行間 */
.mm-article .mm-swh, body.mm-lang-th .mm-article .mm-swh{ font-weight:700; }
.mm-swtags{ line-height:1.85; }
.mm-swtags a{ white-space:nowrap; }
/* v2.3.13: 見本はカードに影なし・区切りの余白を広めに・カード上端から最初の見出しまで40px */
.mm-swidgets{ box-shadow:none; padding:16px; }
.mm-sw--new .mm-swh{ margin-top:24px; }
.mm-swsep{ margin:32px 0; }
.mm-sw--new + .mm-swsep{ margin-top:36px; }
.mm-sw--new .mm-card__img{ border:0; }

/* ==== v2.4.0: 記事一覧ページ（見本 satori「マーケティングブログ」型）
   ページ名（中央40px・後ろに薄い英字）→ Pick Up!!（3枚表示・横送り・下2/3に色帯）→ 新着記事（2列カード 368px・間48px＋サイドバー）→ 無料相談の帯 ==== */
.mm-archive{ padding-top:var(--mm-hh); color:#2c343e; }
.mm-archive .mm-container{ max-width:var(--mm-cw); margin:0 auto; padding-left:var(--mm-pad); padding-right:var(--mm-pad); }
/* ページ名 */
.mm-atitle{ position:relative; height:120px; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.mm-atitle__en{ position:absolute; left:50%; top:50%; transform:translate(-18%,-50%); font-family:'Lato',sans-serif; font-weight:700; font-size:104px; line-height:1; letter-spacing:.04em; color:#eef2f7; white-space:nowrap; pointer-events:none; }
.mm-atitle__ja{ position:relative; margin:0; font-size:40px; line-height:60px; font-weight:700; letter-spacing:4px; color:var(--mm-accent); }
body.mm-lang-th .mm-atitle__ja{ font-family:'Noto Sans Thai',sans-serif; letter-spacing:.02em; }
/* カード共通 */
.mm-acard{ position:relative; min-width:0; }
.mm-acard__img{ position:relative; display:block; aspect-ratio:16/9; border-radius:6px; overflow:hidden; background:#eef2f7; }
.mm-acard__img img, .mm-acard__noimg{ display:block; width:100%; height:100%; object-fit:cover; }
.mm-acard__noimg{ background:linear-gradient(135deg,var(--mm-accent-soft),#eef2f7); }
.mm-acard__date{ position:absolute; left:0; bottom:0; background:var(--mm-accent); color:#fff; font-family:'Lato',sans-serif; font-size:16px; font-weight:400; line-height:16px; letter-spacing:.03em; padding:12px 9px; border-radius:0 6px 0 0; }
.mm-acard__title{ margin:20px 0 12px; font-size:20px; font-weight:700; line-height:28px; color:#2c343e; }
.mm-acard__title a{ color:inherit; text-decoration:none; }
.mm-acard__title a:hover{ text-decoration:underline; }
.mm-acard__cats{ display:flex; flex-wrap:wrap; gap:6px; }
.mm-acard__cat{ display:inline-block; border:1px solid var(--mm-accent); border-radius:9999px; background:#fff; color:var(--mm-accent); font-size:12px; font-weight:500; line-height:12px; padding:8px 12px; text-decoration:none; }
.mm-acard__cat:hover{ background:var(--mm-accent-soft); }
.mm-acard__tags{ list-style:none; margin:4px 0 0; padding:0; font-size:12px; line-height:22px; }
.mm-acard__tags li{ display:inline; margin:0; padding:0; }
.mm-acard__tags li::before{ display:none; }
.mm-acard__tags li:not(:last-child)::after{ content:" , "; }
.mm-acard__tags a{ color:var(--mm-accent); text-decoration:underline; white-space:nowrap; }
.mm-acard__tags a::before{ content:"#"; }
body.mm-lang-th .mm-acard__title, body.mm-lang-th .mm-ahead, body.mm-lang-th .mm-acta{ font-family:'Noto Sans Thai',sans-serif; }
body.mm-lang-th .mm-acard__cat{ font-size:13px; }
/* Coming soon カード */
.mm-acard--soon .mm-acard__img{ border:1px dashed #c9d3df; background:repeating-linear-gradient(135deg,#f5f7fa 0 12px,#eef2f6 12px 24px); display:flex; align-items:center; justify-content:center; }
.mm-acard__soon{ font-family:var(--mm-head); font-weight:700; font-size:16px; letter-spacing:.12em; text-transform:uppercase; color:#8a96a8; }
.mm-acard--soon .mm-acard__title{ color:#9aa3b0; font-weight:500; font-size:16px; }
/* Pick Up!! */
.mm-pickup{ margin:0 0 80px; }
.mm-pickup__label{ margin:0 0 20px; font-family:'Lato',sans-serif; font-size:20px; font-weight:700; line-height:40px; color:var(--mm-orange); }
.mm-pickup__band{ position:relative; padding:0 0 48px; }
.mm-pickup__band::before{ content:""; position:absolute; left:0; right:0; top:48px; bottom:0; background:linear-gradient(81.14deg,#2b5f9e 0%,#3d9fa8 68.75%); }
.mm-pickup__wrap{ position:relative; }
.mm-pickup__track{ position:relative; display:flex; gap:48px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; }
.mm-pickup__track::-webkit-scrollbar{ display:none; }
.mm-pickup__slide{ flex:0 0 calc((100% - 96px) / 3); scroll-snap-align:start; }
.mm-pickup .mm-acard__title, .mm-pickup .mm-acard__title a, .mm-pickup .mm-acard__tags, .mm-pickup .mm-acard__tags a{ color:#fff; }
.mm-pickup .mm-acard--soon .mm-acard__title{ color:rgba(255,255,255,.8); }
.mm-pickup .mm-acard--soon .mm-acard__img{ border-color:#fff; }
.mm-pickup__arrow{ position:absolute; z-index:2; top:100px; width:48px; height:48px; border-radius:50%; border:2px solid #abaeb2; background:#fff; cursor:pointer; padding:0; display:flex; align-items:center; justify-content:center; }
.mm-pickup__arrow::before{ content:""; width:10px; height:10px; border-top:2.5px solid #2c343e; border-right:2.5px solid #2c343e; transform:rotate(45deg); margin-right:4px; }
.mm-pickup__arrow--prev{ left:-8px; }
.mm-pickup__arrow--prev::before{ transform:rotate(-135deg); margin:0 0 0 4px; }
.mm-pickup__arrow--next{ right:-8px; }
.mm-pickup__arrow[disabled]{ opacity:.35; cursor:default; }
.mm-pickup__dots{ display:flex; justify-content:flex-end; gap:12px; margin-top:12px; min-height:12px; }
.mm-pickup__dots button{ width:12px; height:12px; border-radius:50%; border:0; padding:0; background:rgba(255,255,255,.5); cursor:pointer; }
.mm-pickup__dots button.is-active{ background:#fff; }
/* 新着記事＋サイドバー */
.mm-alayout{ display:grid; grid-template-columns:minmax(0,784px) 320px; justify-content:space-between; gap:40px 96px; padding-bottom:80px; }
.mm-ahead{ margin:0 0 48px; font-size:28px; line-height:42px; font-weight:700; color:#2c343e; }
.mm-agrid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:48px 48px; }
.mm-archive .mm-side{ padding-top:0; }
.mm-apager{ display:flex; justify-content:center; flex-wrap:wrap; gap:8px; margin-top:64px; }
.mm-apager .page-numbers{ min-width:44px; height:44px; display:inline-flex; align-items:center; justify-content:center; padding:0 12px; border:2px solid var(--mm-accent); border-radius:6px; color:var(--mm-accent); font-family:'Lato',sans-serif; font-weight:700; text-decoration:none; background:#fff; }
.mm-apager .page-numbers.current{ background:var(--mm-accent); color:#fff; }
.mm-apager .page-numbers.dots{ border:0; }
/* 無料相談の帯（見本の問い合わせ帯。2項目） */
.mm-acta{ position:relative; margin-top:40px; padding:84px 16px 48px; background:#2c343e; color:#fff; }
.mm-acta__head{ position:absolute; left:50%; top:0; transform:translate(-50%,-50%); width:min(660px,92%); margin:0; padding:18px 32px; border-radius:9999px; background:linear-gradient(81.14deg,#2b5f9e 0%,#3d9fa8 100%); color:#fff; text-align:center; font-size:20px; font-weight:700; line-height:1.5; }
.mm-acta__cols{ display:grid; grid-template-columns:repeat(2,minmax(0,440px)); justify-content:center; }
.mm-acta__col{ display:flex; flex-direction:column; align-items:center; gap:24px; padding:16px 40px 8px; }
.mm-acta__col + .mm-acta__col{ background:rgba(255,255,255,.04); }
.mm-acta__title{ margin:0; font-size:24px; font-weight:700; line-height:1.5; text-align:center; color:#fff; }
.mm-acta__icon{ width:144px; height:144px; border-radius:50%; background:#fff; display:flex; align-items:center; justify-content:center; }
.mm-acta__icon svg{ width:76px; height:76px; }
.mm-acta__btn{ display:block; width:100%; max-width:360px; padding:20px 16px; background:var(--mm-orange); border:2px solid #fff; color:#fff !important; text-align:center; font-size:18px; font-weight:700; line-height:1.4; text-decoration:none !important; transition:opacity .2s; }
.mm-acta__btn:hover{ opacity:.85; }
@media screen and (min-width:1300px){ .mm-alayout{ gap:40px 96px; } }
@media screen and (max-width:1299px){ .mm-alayout{ grid-template-columns:minmax(0,1fr) 300px; gap:40px 44px; } .mm-agrid{ gap:40px 28px; } }
@media screen and (max-width:900px){
  .mm-atitle{ height:96px; } .mm-atitle__ja{ font-size:28px; line-height:40px; } .mm-atitle__en{ font-size:64px; }
  .mm-pickup{ margin-bottom:56px; }
  .mm-pickup__slide{ flex-basis:82%; }
  .mm-pickup__track{ gap:20px; }
  .mm-pickup__arrow{ display:none; }
  .mm-alayout{ grid-template-columns:1fr; gap:56px; }
  .mm-agrid{ grid-template-columns:1fr; gap:40px; }
  .mm-ahead{ font-size:24px; margin-bottom:28px; }
  .mm-acta{ padding-top:96px; }
  .mm-acta__head{ font-size:16px; padding:14px 20px; }
  .mm-acta__cols{ grid-template-columns:1fr; gap:24px; }
  .mm-acta__col{ padding:8px 0; }
  .mm-acta__col + .mm-acta__col{ background:none; }
  .mm-acta__title{ font-size:20px; }
  .mm-acta__icon{ width:112px; height:112px; } .mm-acta__icon svg{ width:60px; height:60px; }
}
/* 一覧: テーマ本体の字間を打ち消す・タイ語の書体・送る必要がないときは矢印を隠す・英字をさらに薄く */
.mm-archive{ letter-spacing:normal; font-size:16px; line-height:1.85; }
body.mm-lang-th .mm-archive{ font-family:'Noto Sans Thai',sans-serif; }
.mm-pickup__arrow[hidden]{ display:none; }
.mm-atitle__en{ color:#f1f4f8; }
/* 一覧のページ名を英字「Marketing Blog」に（下に小さくタイ語の説明） */
.mm-atitle{ height:140px; }
.mm-atitle__ja--en{ display:flex; flex-direction:column; align-items:center; font-family:'Lato',sans-serif !important; font-size:44px; line-height:1.2; letter-spacing:.06em; }
.mm-atitle__sub{ margin-top:8px; font-family:'Noto Sans Thai','Noto Sans JP',sans-serif; font-size:15px; font-weight:500; line-height:1.5; letter-spacing:.04em; color:#5b6573; }
.mm-atitle__en{ transform:translate(-50%,-50%); font-size:128px; }
@media screen and (max-width:900px){ .mm-atitle{ height:112px; } .mm-atitle__ja--en{ font-size:30px; } .mm-atitle__sub{ font-size:13px; } .mm-atitle__en{ font-size:76px; } }
/* 一覧のページ名: ヘッダーとPick Upの間の真ん中に・背景の「Mapmaru」は右寄せ */
.mm-atitle{ height:auto; padding:56px 0 48px; }
.mm-atitle__en{ left:auto; right:max(16px, calc(50% - 616px)); transform:translateY(-50%); }
@media screen and (max-width:900px){ .mm-atitle{ padding:36px 0 28px; } .mm-atitle__en{ right:-8px; } }
/* 一覧のページ名: 白い部分の高さは元に戻し（140px）、文字だけをヘッダーと下のカードの真ん中まで下げる */
.mm-atitle{ height:140px; padding:0; overflow-x:clip; overflow-y:visible; }
.mm-atitle__ja, .mm-atitle__en{ translate:0 var(--mm-atitle-shift, 30px); }
@media screen and (max-width:900px){ .mm-atitle{ height:112px; padding:0; } .mm-atitle__ja, .mm-atitle__en{ translate:0 18px; } }

/* v2.8.0: スマホだけ目次の下に無料診断の画像（PCはサイドバーにあるので出さない） */
.mm-sp-audit{ display:none; }
@media screen and (max-width:900px){
  .mm-sp-audit{ display:block; margin:24px 0 8px; border-radius:8px; overflow:hidden; box-shadow:0 4px 16px rgba(20,40,60,.10); }
  .mm-sp-audit img{ display:block; width:100%; height:auto; }
}
/* 記事の最後の「Mapmaruとは」紹介欄（トップページへのリンク） */
.mm-about{ border:1px solid var(--mm-accent-line); background:var(--mm-accent-tint); border-radius:var(--mm-r); padding:20px 24px; margin:0 0 28px; }
.mm-about__title{ font-weight:700; font-size:17px; color:var(--mm-ink); margin:0 0 6px; }
.mm-about__text{ font-size:15px; line-height:1.8; color:var(--mm-ink-2); margin:0 0 10px; }
.mm-about__link{ font-weight:700; color:var(--mm-accent); text-decoration:underline; text-underline-offset:3px; }
.mm-about__link:hover{ color:var(--mm-accent-dark); }
/* 記事ページ・記事一覧ではテーマの下部固定バー（Download Materials / Free Audit）を出さない（2026-10-07 社長指示）。
   記事内のボタン・最後のサイドバーで案内するため */
body.mm-article-page .spHomeBar{ display:none !important; }
/* ヘッダーを低く・メニューボタンは枠と影なし（2026-10-07 社長指示「ヘッダーの縦幅デカすぎる」「ハンバーガーの枠・シャドウは不要」）
   メニューボタンが出る幅（1299px以下）だけに効かせる。PCの横並びメニューはそのまま */
@media screen and (max-width:1299px){
  :root{ --mm-hh:68px; }
  body.mm-article-page .header{ height:var(--mm-hh); }
  body.mm-article-page .header img.header__logo,
  body.mm-article-page .header img.header__logo.mm-logo-color{ max-height:36px; }
  body.mm-article-page .header .hamburger,
  body.mm-article-page .is-headerClone .hamburger,
  body.mm-article-page .spMenu .hamburger{ width:48px !important; height:48px !important; background:transparent !important; box-shadow:none !important; border:0 !important; border-radius:0 !important; }
}
@media screen and (max-width:900px){
  :root{ --mm-hh:56px; }
  body.mm-article-page .header img.header__logo,
  body.mm-article-page .header img.header__logo.mm-logo-color{ max-height:30px; }
}
/* スマホ: 題名の上（Marketing Blog・カテゴリ・日付）を小さく・上に詰める（2026-10-07 社長指示「題名と同じ大きさで見にくい」） */
@media screen and (max-width:900px){
  .mm-hero{ padding-top:16px !important; }
  .mm-hero__label{ font-size:12px !important; margin-bottom:10px !important; }
  .mm-cat{ font-size:12px !important; padding:4px 12px !important; margin-bottom:6px !important; }
  .mm-meta, .mm-meta__item, .mm-meta time{ font-size:12px !important; line-height:1.5 !important; }
  .mm-meta__item b{ font-size:10px !important; }
  .mm-meta svg{ width:13px; height:13px; }
  .mm-hero__title{ margin-top:10px !important; }
}
