@import url('https://fonts.googleapis.com/css2?family=BIZ+UDPGothic:wght@400;700&display=swap');

/* ============================================================
   Custom Template: cmg（cmG｜ひらめきメソッド）
   サブオプション A（特注 TOP）+ B（/method /tools /cafe /cases /apps /master）+ C（共通 Chrome）
   すべて [data-template="custom-cmg"] スコープに閉じ込める。
   意匠の軸：白地に、ひらめきカードの 8 色の丸。カードのように角の丸い面。
   文字はユニバーサルデザイン基準：
   ・書体＝モリサワ BIZ UDP ゴシックのみ。太さは 400 と 700 の 2 段階
   ・本文 16px 以上、補助の文字も 14px 以上（最小 13px）。行間 1.8 以上
   ・字間は 0.08em まで。文字と地の明度差は 4.5:1 以上（8 色は小さな文字には濃い側 *-text を使う）
   ============================================================ */

[data-template="custom-cmg"] {
  --cg-paper:  #fffdf8;   /* 地：ほんのり暖かい白 */
  --cg-tint:   #f6f2ea;   /* 交互の面 */
  --cg-line:   #e6e0d4;   /* 罫線 */
  --cg-ink:    #1f1d24;   /* 墨：見出し・反転面 */
  --cg-ink-deep: #15131a;
  --cg-text:   #26242c;
  --cg-muted:  #5d5a66;

  --cg-purple:  #804088; --cg-purple-text:  #6a3372;
  --cg-skyblue: #1898d0; --cg-skyblue-text: #0b6f9c;
  --cg-pink:    #d85088; --cg-pink-text:    #b8306c;
  --cg-orange:  #e89010; --cg-orange-text:  #9a5a00;
  --cg-blue:    #003880; --cg-blue-text:    #003880;
  --cg-gray:    #989090; --cg-gray-text:    #5e5858;
  --cg-green:   #188840; --cg-green-text:   #126a32;
  --cg-brown:   #a07820; --cg-brown-text:   #7a5612;

  /* ページの差し色（既定は紫。SubPage の data-accent で切り替え） */
  --cg-accent: var(--cg-purple);
  --cg-accent-text: var(--cg-purple-text);

  --cg-radius: 22px;
  --cg-radius-sm: 14px;
  --cg-gothic: 'BIZ UDPGothic', var(--font-noto-sans-jp), 'Hiragino Sans', 'Yu Gothic', sans-serif;

  font-family: var(--cg-gothic);
  color: var(--cg-text);
  background: var(--cg-paper);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.9;
  -webkit-font-smoothing: antialiased;
}
[data-template="custom-cmg"][data-accent="orange"]  { --cg-accent: var(--cg-orange);  --cg-accent-text: var(--cg-orange-text); }
[data-template="custom-cmg"][data-accent="purple"]  { --cg-accent: var(--cg-purple);  --cg-accent-text: var(--cg-purple-text); }
[data-template="custom-cmg"][data-accent="blue"]    { --cg-accent: var(--cg-blue);    --cg-accent-text: var(--cg-blue-text); }
[data-template="custom-cmg"][data-accent="green"]   { --cg-accent: var(--cg-green);   --cg-accent-text: var(--cg-green-text); }
[data-template="custom-cmg"][data-accent="skyblue"] { --cg-accent: var(--cg-skyblue); --cg-accent-text: var(--cg-skyblue-text); }
[data-template="custom-cmg"][data-accent="brown"]   { --cg-accent: var(--cg-brown);   --cg-accent-text: var(--cg-brown-text); }
[data-template="custom-cmg"][data-accent="pink"]    { --cg-accent: var(--cg-pink);    --cg-accent-text: var(--cg-pink-text); }
[data-template="custom-cmg"][data-accent="gray"]    { --cg-accent: var(--cg-gray);    --cg-accent-text: var(--cg-gray-text); }

[data-template="custom-cmg"] *,
[data-template="custom-cmg"] *::before,
[data-template="custom-cmg"] *::after { box-sizing: border-box; }
[data-template="custom-cmg"] img { max-width: 100%; height: auto; display: block; }
[data-template="custom-cmg"] h1, [data-template="custom-cmg"] h2, [data-template="custom-cmg"] h3, [data-template="custom-cmg"] h4 { margin: 0; font-weight: 700; }
[data-template="custom-cmg"] p, [data-template="custom-cmg"] ul, [data-template="custom-cmg"] ol, [data-template="custom-cmg"] dl { margin: 0; }
[data-template="custom-cmg"] ul, [data-template="custom-cmg"] ol { padding: 0; list-style: none; }

/* コンテンツ幅：パソコンは左右 6% ずつ、タブレットとスマートフォンは 20〜40px */
[data-template="custom-cmg"] { --cg-side: clamp(1.25rem, 4vw, 2.5rem); }
@media (min-width: 1025px) { [data-template="custom-cmg"] { --cg-side: 6%; } }
[data-template="custom-cmg"] .cg-container { width: 100%; max-width: 1480px; margin: 0 auto; padding-left: var(--cg-side); padding-right: var(--cg-side); }

/* ── 共通の部品 ───────────────────────────────────────────── */
[data-template="custom-cmg"] .cg-eyebrow {
  display: inline-flex; align-items: center; gap: .7rem;
  font-size: 0.875rem; letter-spacing: .08em; color: var(--cg-muted); margin: 0 0 1rem; font-weight: 700;
}
[data-template="custom-cmg"] .cg-eyebrow::before { content: ''; width: .75rem; height: .75rem; border-radius: 50%; background: var(--cg-accent); flex-shrink: 0; }

[data-template="custom-cmg"] .cg-h2 {
  color: var(--cg-ink); font-size: clamp(1.55rem, 3vw, 2.3rem); line-height: 1.5; letter-spacing: .03em; margin: 0 0 1.3rem;
}
[data-template="custom-cmg"] .cg-h3 { color: var(--cg-ink); font-size: 1.25rem; line-height: 1.6; margin: 2.4rem 0 1rem; }
[data-template="custom-cmg"] .cg-lead { max-width: 46rem; color: var(--cg-muted); font-size: 1.0625rem; line-height: 2; margin: 0 0 2.4rem; }
[data-template="custom-cmg"] .cg-note { margin: 2rem 0 0; padding: 1rem 1.2rem; border-left: 3px solid var(--cg-accent); background: #fff; border-radius: 0 var(--cg-radius-sm) var(--cg-radius-sm) 0; font-size: 1rem; color: var(--cg-muted); }
[data-template="custom-cmg"] .cg-more { margin: 2.4rem 0 0; }
[data-template="custom-cmg"] .cg-more a:not(.cg-btn) {
  display: inline-flex; align-items: center; gap: .6rem; color: var(--cg-ink); font-weight: 700; font-size: 1rem;
  border-bottom: 2px solid var(--cg-accent); padding-bottom: .2rem; text-decoration: none; transition: gap .25s ease, color .25s ease;
}
[data-template="custom-cmg"] .cg-more a:not(.cg-btn):hover { gap: 1rem; color: var(--cg-accent-text); }

[data-template="custom-cmg"] .cg-section { padding: clamp(4rem, 8vw, 7rem) 0; }
[data-template="custom-cmg"] .cg-section-tint { background: var(--cg-tint); }
[data-template="custom-cmg"] .cg-section-ink { background: var(--cg-ink); color: var(--cg-paper); }
[data-template="custom-cmg"] .cg-section-ink .cg-h2 { color: #fff; }
[data-template="custom-cmg"] .cg-section-ink .cg-lead { color: rgba(255,253,248,.8); }
[data-template="custom-cmg"] .cg-section-ink .cg-eyebrow { color: rgba(255,253,248,.75); }

[data-template="custom-cmg"] .cg-grid { display: grid; gap: 1.25rem; }
[data-template="custom-cmg"] .cg-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
[data-template="custom-cmg"] .cg-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
[data-template="custom-cmg"] .cg-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }

[data-template="custom-cmg"] .cg-card { background: #fff; border: 1px solid var(--cg-line); border-radius: var(--cg-radius); padding: 1.8rem 1.8rem 2rem; }
[data-template="custom-cmg"] .cg-card-title { color: var(--cg-ink); font-size: 1.35rem; line-height: 1.5; margin: 0 0 1.2rem; }

/* ボタン */
[data-template="custom-cmg"] .cg-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .7rem;
  padding: .95rem 1.7rem; border-radius: 999px; font-weight: 700; font-size: 1rem; letter-spacing: .04em;
  text-decoration: none; cursor: pointer; border: 2px solid transparent; font-family: inherit; line-height: 1.4;
  transition: transform .2s ease, background .2s ease, color .2s ease, box-shadow .2s ease;
}
[data-template="custom-cmg"] .cg-btn:hover { transform: translateY(-2px); }
[data-template="custom-cmg"] .cg-btn:focus-visible { outline: 3px solid var(--cg-accent); outline-offset: 3px; }
[data-template="custom-cmg"] .cg-btn-primary { background: var(--cg-ink); color: var(--cg-paper); box-shadow: 0 10px 24px rgba(31,29,36,.16); }
[data-template="custom-cmg"] .cg-btn-primary:hover { background: var(--cg-ink-deep); }
[data-template="custom-cmg"] .cg-btn-accent { background: var(--cg-accent); color: #fff; box-shadow: 0 12px 28px rgba(31,29,36,.14); }
[data-template="custom-cmg"] .cg-btn-accent:hover { filter: brightness(.92); }
[data-template="custom-cmg"] .cg-btn-ghost { background: transparent; color: var(--cg-ink); border-color: var(--cg-ink); }
[data-template="custom-cmg"] .cg-btn-ghost:hover { background: var(--cg-ink); color: var(--cg-paper); }
[data-template="custom-cmg"] .cg-btn-paper { background: var(--cg-paper); color: var(--cg-ink); }
[data-template="custom-cmg"] .cg-btn-paper:hover { background: #fff; }
[data-template="custom-cmg"] .cg-btn-ghost-light { background: transparent; color: var(--cg-paper); border-color: rgba(255,253,248,.6); }
[data-template="custom-cmg"] .cg-btn-ghost-light:hover { background: rgba(255,253,248,.12); }

/* 見出しと導入文は、行末に数文字だけ残る折り返しを避ける */
[data-template="custom-cmg"] .cg-h2, [data-template="custom-cmg"] .cg-hero-lead,
[data-template="custom-cmg"] .cg-final h2, [data-template="custom-cmg"] .cg-sub-head h1 { text-wrap: balance; }

[data-template="custom-cmg"] a:focus-visible,
[data-template="custom-cmg"] button:focus-visible { outline: 3px solid var(--cg-accent); outline-offset: 3px; border-radius: 6px; }

/* 色の丸・図形・輪 */
[data-template="custom-cmg"] .cg-dot { display: inline-block; border-radius: 50%; flex-shrink: 0; }
[data-template="custom-cmg"] .cg-dotrow { display: inline-flex; gap: .45em; align-items: center; }
[data-template="custom-cmg"] .cg-dotrow span { display: inline-block; border-radius: 50%; }
[data-template="custom-cmg"] .cg-shapes { display: inline-flex; align-items: center; gap: .18em; vertical-align: -0.08em; margin: 0 .1em; }
[data-template="custom-cmg"] .cg-shapes svg { width: 1em; height: 1em; }

[data-template="custom-cmg"] .cg-ring { position: relative; width: 100%; max-width: 420px; aspect-ratio: 1; margin: 0 auto; }
[data-template="custom-cmg"] .cg-ring-svg { width: 100%; height: 100%; display: block; }
[data-template="custom-cmg"] .cg-ring-svg.is-spin { animation: cg-spin 80s linear infinite; }
[data-template="custom-cmg"] .cg-ring-center { position: absolute; inset: 24%; display: flex; align-items: center; justify-content: center; }
[data-template="custom-cmg"] .cg-hero-face { width: 82%; height: auto; }
[data-template="custom-cmg"] .cg-hero-face--chara { width: 70%; border-radius: 50%; }
@keyframes cg-spin { to { transform: rotate(360deg); } }

/* 浮かび上がり */
[data-template="custom-cmg"] .cg-reveal { opacity: 0; transform: translateY(18px); transition: opacity .8s ease, transform .8s cubic-bezier(.2,.7,.2,1); }
[data-template="custom-cmg"] .cg-reveal.is-shown { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  [data-template="custom-cmg"] .cg-reveal { opacity: 1; transform: none; transition: none; }
  [data-template="custom-cmg"] .cg-btn:hover { transform: none; }
  [data-template="custom-cmg"] .cg-ring-svg.is-spin { animation: none; }
}

/* ── ヘッダー ─────────────────────────────────────────────── */
[data-template="custom-cmg"].cg-shell { min-height: 100vh; display: flex; flex-direction: column; }
[data-template="custom-cmg"] .cg-main { flex: 1; background: var(--cg-paper); }

[data-template="custom-cmg"] .cg-header {
  position: sticky; top: 0; z-index: 30; background: rgba(255,253,248,.92);
  backdrop-filter: saturate(1.2) blur(10px); -webkit-backdrop-filter: saturate(1.2) blur(10px);
  border-bottom: 1px solid transparent; transition: border-color .3s ease, box-shadow .3s ease;
}
[data-template="custom-cmg"] .cg-header.is-scrolled { border-bottom-color: var(--cg-line); box-shadow: 0 6px 24px rgba(31,29,36,.06); }
[data-template="custom-cmg"] .cg-header-inner {
  width: 100%; max-width: 1480px; margin: 0 auto; padding: .7rem var(--cg-side);
  display: flex; align-items: center; gap: 1.6rem; position: relative; z-index: 30; background: inherit;
}
[data-template="custom-cmg"] .cg-header-logo { text-decoration: none; color: var(--cg-ink); margin-right: auto; }

[data-template="custom-cmg"] .cg-wordmark { display: inline-flex; align-items: center; gap: .8rem; }
[data-template="custom-cmg"] .cg-wordmark-face { width: 3rem; height: auto; flex-shrink: 0; }
[data-template="custom-cmg"] .cg-wordmark-text { display: flex; flex-direction: column; line-height: 1.2; gap: .15rem; }
[data-template="custom-cmg"] .cg-wordmark-logo { width: 5.4rem; height: auto; }
[data-template="custom-cmg"] .cg-wordmark-sub { font-size: .8125rem; letter-spacing: .08em; color: var(--cg-muted); font-weight: 700; }
@media (min-width: 1025px) {
  [data-template="custom-cmg"] .cg-wordmark-face { width: 3.6rem; }
  [data-template="custom-cmg"] .cg-wordmark-logo { width: 6.2rem; }
  [data-template="custom-cmg"] .cg-wordmark-sub { font-size: .875rem; }
}

[data-template="custom-cmg"] .cg-nav { display: flex; align-items: center; gap: 1.3rem; }
[data-template="custom-cmg"] .cg-nav-link {
  position: relative; color: var(--cg-text); text-decoration: none; font-size: 1rem; font-weight: 400; letter-spacing: .04em; padding: .55rem 0;
  line-height: 1.6; white-space: nowrap; transition: color .2s ease;
}
[data-template="custom-cmg"] .cg-nav-link::after {
  content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; border-radius: 3px; background: var(--cg-nav-color, var(--cg-purple));
  transform: scaleX(0); transform-origin: left; transition: transform .3s ease;
}
[data-template="custom-cmg"] .cg-nav-link:hover::after, [data-template="custom-cmg"] .cg-nav-link.is-current::after { transform: scaleX(1); }
[data-template="custom-cmg"] .cg-nav-link.is-current { font-weight: 700; color: var(--cg-ink); }
[data-template="custom-cmg"] .cg-header-cta { padding: .7rem 1.3rem; font-size: .9375rem; }

[data-template="custom-cmg"] .cg-hamburger {
  display: none; flex-direction: column; justify-content: center; gap: 5px; width: 44px; height: 44px; padding: 10px;
  background: #fff; border: 1px solid var(--cg-line); border-radius: 50%; cursor: pointer;
}
[data-template="custom-cmg"] .cg-hamburger span { display: block; height: 2px; background: var(--cg-ink); border-radius: 2px; transition: transform .25s ease, opacity .2s ease; }

[data-template="custom-cmg"] .cg-drawer-backdrop { position: fixed; inset: 0; z-index: 28; background: rgba(31,29,36,.35); }
[data-template="custom-cmg"] .cg-drawer {
  position: fixed; top: 0; right: 0; bottom: 0; z-index: 29; width: min(86vw, 380px); overflow-y: auto;
  background: var(--cg-paper); padding: 5.5rem var(--cg-side) 2.5rem; display: flex; flex-direction: column; gap: .2rem;
  box-shadow: -12px 0 40px rgba(31,29,36,.14); animation: cg-drawer-in .3s ease;
}
@keyframes cg-drawer-in { from { transform: translateX(24px); opacity: 0; } to { transform: none; opacity: 1; } }
[data-template="custom-cmg"] .cg-drawer-link {
  display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: .8rem; padding: .85rem .2rem;
  color: var(--cg-ink); text-decoration: none; font-size: 1.0625rem; font-weight: 700; border-bottom: 1px solid var(--cg-line);
}
[data-template="custom-cmg"] .cg-drawer-link .cg-dot { width: .8rem; height: .8rem; }
[data-template="custom-cmg"] .cg-drawer-link small { font-size: .8125rem; font-weight: 400; color: var(--cg-muted); letter-spacing: .06em; }
[data-template="custom-cmg"] .cg-drawer-link.is-current { color: var(--cg-purple-text); }
[data-template="custom-cmg"] .cg-drawer-minor { display: flex; flex-wrap: wrap; gap: .5rem 1.2rem; padding: 1.2rem .2rem .4rem; }
[data-template="custom-cmg"] .cg-drawer-minor a { color: var(--cg-muted); text-decoration: none; font-size: .9375rem; }
[data-template="custom-cmg"] .cg-drawer-cta { margin-top: 1rem; }
[data-template="custom-cmg"] .cg-drawer-mail { margin-top: 1rem; color: var(--cg-ink); font-size: .9375rem; text-decoration: none; text-align: center; }
html.cg-drawer-open { overflow: hidden; }
html.cg-drawer-open .cg-float-chat { display: none; }

/* ── フッター ─────────────────────────────────────────────── */
[data-template="custom-cmg"] .cg-footer { background: #fff; border-top: 1px solid var(--cg-line); color: var(--cg-text); }
[data-template="custom-cmg"] .cg-footer-top { padding: 2.2rem var(--cg-side) 0; display: flex; justify-content: center; }
[data-template="custom-cmg"] .cg-footer-inner { display: grid; grid-template-columns: 1.3fr 2fr; gap: 3rem; padding-top: 2.5rem; padding-bottom: 2.5rem; }
[data-template="custom-cmg"] .cg-footer-logo { text-decoration: none; color: var(--cg-ink); display: inline-block; }
[data-template="custom-cmg"] .cg-footer-tagline { margin: 1rem 0 .6rem; font-weight: 700; color: var(--cg-ink); }
[data-template="custom-cmg"] .cg-footer address { font-style: normal; font-size: .9375rem; color: var(--cg-muted); line-height: 1.9; }
[data-template="custom-cmg"] .cg-footer-contact { display: flex; flex-direction: column; gap: .35rem; margin-top: 1rem; }
[data-template="custom-cmg"] .cg-footer-contact a { display: inline-flex; align-items: center; gap: .4rem; color: var(--cg-ink); text-decoration: none; font-size: .9375rem; }
[data-template="custom-cmg"] .cg-footer-contact a:hover { color: var(--cg-purple-text); text-decoration: underline; }
[data-template="custom-cmg"] .cg-footer-groups { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; }
[data-template="custom-cmg"] .cg-footer-heading { font-weight: 700; color: var(--cg-ink); margin: 0 0 .8rem; font-size: .9375rem; letter-spacing: .04em; }
[data-template="custom-cmg"] .cg-footer-group ul { display: flex; flex-direction: column; gap: .45rem; }
[data-template="custom-cmg"] .cg-footer-group a { color: var(--cg-muted); text-decoration: none; font-size: .9375rem; }
[data-template="custom-cmg"] .cg-footer-group a:hover { color: var(--cg-ink); text-decoration: underline; }
[data-template="custom-cmg"] .cg-footer-note { padding-bottom: 1.2rem; }
[data-template="custom-cmg"] .cg-footer-note p { font-size: .875rem; color: var(--cg-muted); }
[data-template="custom-cmg"] .cg-footer-bottom { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding-top: 1.2rem; padding-bottom: 1.6rem; border-top: 1px solid var(--cg-line); font-size: .875rem; color: var(--cg-muted); }
[data-template="custom-cmg"] .cg-footer-totop { color: var(--cg-ink); text-decoration: none; font-weight: 700; }

/* ── ヒーロー ─────────────────────────────────────────────── */
[data-template="custom-cmg"] .cg-hero { position: relative; overflow: hidden; padding: clamp(3rem, 7vw, 6rem) 0 clamp(3rem, 6vw, 5rem); }
[data-template="custom-cmg"] .cg-hero::before {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background:
    radial-gradient(circle at 85% 20%, rgba(232,144,16,.10), transparent 36%),
    radial-gradient(circle at 70% 85%, rgba(24,152,208,.10), transparent 40%),
    radial-gradient(circle at 10% 90%, rgba(216,80,136,.08), transparent 36%);
}
[data-template="custom-cmg"] .cg-hero-inner { position: relative; display: grid; grid-template-columns: 1.15fr .85fr; gap: 3rem; align-items: center; }
[data-template="custom-cmg"] .cg-hero-title { color: var(--cg-ink); font-size: clamp(2.1rem, 5.2vw, 4rem); line-height: 1.3; letter-spacing: .02em; margin: 0 0 1.4rem; display: flex; flex-wrap: wrap; align-items: center; }
[data-template="custom-cmg"] .cg-hero-lead { font-size: 1.125rem; line-height: 2; color: var(--cg-text); margin: 0 0 1rem; max-width: 40rem; }
[data-template="custom-cmg"] .cg-hero-sub { font-size: 1rem; line-height: 2; color: var(--cg-muted); margin: 0 0 2rem; max-width: 40rem; }
[data-template="custom-cmg"] .cg-hero-actions { display: flex; flex-wrap: wrap; gap: .9rem; }
[data-template="custom-cmg"] .cg-hero-visual { display: flex; flex-direction: column; align-items: center; gap: 1rem; }
[data-template="custom-cmg"] .cg-hero-ring { max-width: 460px; }
[data-template="custom-cmg"] .cg-hero-ringlabel { font-size: .875rem; color: var(--cg-muted); letter-spacing: .06em; }

/* ── 3つのことば ──────────────────────────────────────────── */
[data-template="custom-cmg"] .cg-words { padding-top: 0; }
[data-template="custom-cmg"] .cg-word { background: #fff; border: 1px solid var(--cg-line); border-top: 6px solid var(--cg-accent); border-radius: var(--cg-radius); padding: 1.8rem 1.8rem 2rem; height: 100%; }
[data-template="custom-cmg"] .cg-word-en { font-size: .875rem; letter-spacing: .12em; color: var(--cg-accent-text); font-weight: 700; margin: 0 0 .3rem; }
[data-template="custom-cmg"] .cg-word-ja { color: var(--cg-ink); font-size: 1.8rem; line-height: 1.4; margin: 0 0 .9rem; }
[data-template="custom-cmg"] .cg-word p:last-child { color: var(--cg-muted); font-size: 1rem; }

/* ── 4つの道具 ────────────────────────────────────────────── */
[data-template="custom-cmg"] .cg-tool {
  display: flex; flex-direction: column; gap: .4rem; height: 100%; text-decoration: none; color: var(--cg-text);
  background: #fff; border: 1px solid var(--cg-line); border-radius: var(--cg-radius); padding: 1.4rem 1.4rem 1.6rem; position: relative;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
[data-template="custom-cmg"] .cg-tool:hover { transform: translateY(-4px); box-shadow: 0 16px 36px rgba(31,29,36,.10); border-color: var(--cg-accent); }
[data-template="custom-cmg"] .cg-tool-no { position: absolute; top: 1rem; left: 1.2rem; color: var(--cg-accent); font-size: 1.4rem; line-height: 1; }
[data-template="custom-cmg"] .cg-tool-img { display: block; border-radius: var(--cg-radius-sm); overflow: hidden; background: #ebebeb; margin: 1.4rem 0 .9rem; }
[data-template="custom-cmg"] .cg-tool-img img { width: 100%; height: auto; mix-blend-mode: multiply; }
[data-template="custom-cmg"] .cg-tool-name { font-size: .875rem; letter-spacing: .1em; color: var(--cg-accent-text); font-weight: 700; }
[data-template="custom-cmg"] .cg-tool-nick { font-size: 1.3rem; font-weight: 700; color: var(--cg-ink); line-height: 1.4; }
[data-template="custom-cmg"] .cg-tool-specs { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .6rem; }
[data-template="custom-cmg"] .cg-tool-specs li { font-size: .8125rem; color: var(--cg-muted); background: var(--cg-tint); border-radius: 999px; padding: .15rem .7rem; }

/* ── 5つの効果 ────────────────────────────────────────────── */
[data-template="custom-cmg"] .cg-effect-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1rem; }
[data-template="custom-cmg"] .cg-effect {
  display: flex; align-items: center; gap: .8rem; flex-wrap: wrap;
  background: #fff; border: 1px solid var(--cg-line); border-radius: 999px; padding: .9rem 1.4rem; font-size: 1.0625rem;
}
[data-template="custom-cmg"] .cg-effect-from { color: var(--cg-muted); }
[data-template="custom-cmg"] .cg-effect-arrow { display: inline-flex; color: var(--cg-muted); }
[data-template="custom-cmg"] .cg-effect-to { font-size: 1.25rem; }

/* ── 3つの展開 ────────────────────────────────────────────── */
[data-template="custom-cmg"] .cg-deploy {
  display: flex; flex-direction: column; gap: .7rem; height: 100%; text-decoration: none; color: var(--cg-text);
  background: #fff; border: 1px solid var(--cg-line); border-radius: var(--cg-radius); padding: 2rem 1.8rem; position: relative; overflow: hidden;
  transition: transform .25s ease, box-shadow .25s ease;
}
[data-template="custom-cmg"] .cg-deploy::before { content: ''; position: absolute; top: -40px; right: -40px; width: 140px; height: 140px; border-radius: 50%; background: var(--cg-accent); opacity: .12; }
[data-template="custom-cmg"] .cg-deploy:hover { transform: translateY(-4px); box-shadow: 0 16px 36px rgba(31,29,36,.10); }
[data-template="custom-cmg"] .cg-deploy-no { display: inline-flex; align-items: center; justify-content: center; width: 2.6rem; height: 2.6rem; border-radius: 50%; background: var(--cg-accent); color: #fff; font-weight: 700; font-size: 1.1rem; }
[data-template="custom-cmg"] .cg-deploy h3 { color: var(--cg-ink); font-size: 1.4rem; line-height: 1.4; }
[data-template="custom-cmg"] .cg-deploy p { color: var(--cg-muted); font-size: 1rem; flex: 1; }
[data-template="custom-cmg"] .cg-deploy-link { display: inline-flex; align-items: center; gap: .5rem; color: var(--cg-accent-text); font-weight: 700; font-size: .9375rem; }

/* ── 9つの使いどころ ──────────────────────────────────────── */
[data-template="custom-cmg"] .cg-case-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .9rem; counter-reset: none; }
[data-template="custom-cmg"] .cg-case {
  display: flex; align-items: center; gap: 1rem; text-decoration: none; color: var(--cg-ink);
  background: #fff; border: 1px solid var(--cg-line); border-radius: 999px; padding: .7rem 1.3rem .7rem .7rem; font-weight: 700; font-size: 1.0625rem;
  transition: border-color .2s ease, transform .2s ease;
}
[data-template="custom-cmg"] .cg-case:hover { border-color: var(--cg-accent); transform: translateX(4px); }
[data-template="custom-cmg"] .cg-case-no { display: inline-flex; align-items: center; justify-content: center; width: 2.4rem; height: 2.4rem; border-radius: 50%; background: var(--cg-accent); color: #fff; font-size: 1rem; flex-shrink: 0; }

[data-template="custom-cmg"] .cg-case-detail-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
[data-template="custom-cmg"] .cg-case-detail { height: 100%; background: #fff; border: 1px solid var(--cg-line); border-radius: var(--cg-radius); padding: 1.8rem; border-top: 6px solid var(--cg-accent); }
[data-template="custom-cmg"] .cg-case-detail-no { font-size: .875rem; letter-spacing: .1em; color: var(--cg-accent-text); font-weight: 700; }
[data-template="custom-cmg"] .cg-case-detail h2 { color: var(--cg-ink); font-size: 1.3rem; line-height: 1.5; margin: .4rem 0 .8rem; }
[data-template="custom-cmg"] .cg-case-detail p { color: var(--cg-muted); font-size: 1rem; }

/* ── ひらめきアプリ（トップの帯） ─────────────────────────── */
[data-template="custom-cmg"] .cg-apps-inner { display: grid; grid-template-columns: 1.2fr .8fr; gap: 3rem; align-items: center; }
[data-template="custom-cmg"] .cg-apps-ring { max-width: 340px; }
[data-template="custom-cmg"] .cg-apps-teaser .cg-eyebrow::before { background: var(--cg-skyblue); }

[data-template="custom-cmg"] .cg-app { display: block; height: 100%; width: 100%; text-align: left; background: none; border: 0; padding: 0; text-decoration: none; color: var(--cg-text); font-family: inherit; cursor: default; }
[data-template="custom-cmg"] .cg-app.is-link { cursor: pointer; }
[data-template="custom-cmg"] .cg-app-inner {
  display: flex; flex-direction: column; gap: .6rem; height: 100%; position: relative;
  background: #fff; border: 1px solid var(--cg-line); border-radius: var(--cg-radius); padding: 2rem 1.8rem;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
[data-template="custom-cmg"] .cg-app.is-link:hover .cg-app-inner { transform: translateY(-4px); box-shadow: 0 16px 36px rgba(31,29,36,.10); border-color: var(--cg-accent); }
[data-template="custom-cmg"] .cg-app.is-soon .cg-app-inner { background: var(--cg-tint); border-style: dashed; }
[data-template="custom-cmg"] .cg-app-status { position: absolute; top: 1.2rem; right: 1.2rem; font-size: .8125rem; font-weight: 700; color: var(--cg-muted); background: #fff; border: 1px solid var(--cg-line); border-radius: 999px; padding: .15rem .7rem; }
[data-template="custom-cmg"] .cg-app-status.is-ready { color: #fff; background: var(--cg-accent); border-color: var(--cg-accent); }
[data-template="custom-cmg"] .cg-app-inner h2 { color: var(--cg-ink); font-size: 1.35rem; line-height: 1.5; }
[data-template="custom-cmg"] .cg-app-inner p { color: var(--cg-muted); font-size: 1rem; flex: 1; }
[data-template="custom-cmg"] .cg-app-go { display: inline-flex; align-items: center; gap: .5rem; color: var(--cg-accent-text); font-weight: 700; font-size: .9375rem; }

/* ── お知らせ ─────────────────────────────────────────────── */
[data-template="custom-cmg"] .cg-post { display: flex; flex-direction: column; height: 100%; text-decoration: none; color: var(--cg-text); background: #fff; border: 1px solid var(--cg-line); border-radius: var(--cg-radius); overflow: hidden; transition: transform .25s ease, box-shadow .25s ease; }
[data-template="custom-cmg"] .cg-post:hover { transform: translateY(-4px); box-shadow: 0 16px 36px rgba(31,29,36,.10); }
[data-template="custom-cmg"] .cg-post-thumb { display: block; aspect-ratio: 16 / 9; overflow: hidden; background: var(--cg-tint); }
[data-template="custom-cmg"] .cg-post-thumb img { width: 100%; height: 100%; object-fit: cover; }
[data-template="custom-cmg"] .cg-post-thumb--empty { display: flex; align-items: center; justify-content: center; }
[data-template="custom-cmg"] .cg-post-thumb--empty img { width: 30%; height: auto; opacity: .5; object-fit: contain; }
[data-template="custom-cmg"] .cg-post-body { display: block; padding: 1.2rem 1.4rem 1.5rem; }
[data-template="custom-cmg"] .cg-post time { font-size: .8125rem; color: var(--cg-muted); letter-spacing: .04em; }
[data-template="custom-cmg"] .cg-post h3 { color: var(--cg-ink); font-size: 1.1rem; line-height: 1.6; margin: .3rem 0 .5rem; }
[data-template="custom-cmg"] .cg-post p { color: var(--cg-muted); font-size: .9375rem; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }

/* ── 開発のルーツ ─────────────────────────────────────────── */
[data-template="custom-cmg"] .cg-roots-inner { display: grid; grid-template-columns: .9fr 1.1fr; gap: 3rem; align-items: center; }
[data-template="custom-cmg"] .cg-roots-photo { margin: 0; }
[data-template="custom-cmg"] .cg-roots-photo img { border-radius: var(--cg-radius); width: 100%; }
[data-template="custom-cmg"] .cg-roots-photo figcaption { font-size: .875rem; color: var(--cg-muted); margin-top: .7rem; }
[data-template="custom-cmg"] .cg-roots-quote { margin: 0; }
[data-template="custom-cmg"] .cg-roots-quote p:not(.cg-eyebrow):not(.cg-more) { color: var(--cg-text); font-size: 1.0625rem; line-height: 2; margin: 0 0 1.1rem; }
[data-template="custom-cmg"] .cg-roots-quote footer { color: var(--cg-muted); font-size: .9375rem; margin-top: 1rem; }
[data-template="custom-cmg"] .cg-roots .cg-eyebrow::before { background: var(--cg-brown); }

/* ── 体験申込（締め） ─────────────────────────────────────── */
[data-template="custom-cmg"] .cg-final { background: var(--cg-ink); color: var(--cg-paper); text-align: center; padding: clamp(4rem, 9vw, 7rem) 0; position: relative; overflow: hidden; }
[data-template="custom-cmg"] .cg-final .cg-container { position: relative; display: flex; flex-direction: column; align-items: center; }
[data-template="custom-cmg"] .cg-final .cg-dotrow { margin-bottom: 1.6rem; }
[data-template="custom-cmg"] .cg-final h2 { font-size: clamp(1.6rem, 3.6vw, 2.5rem); line-height: 1.6; margin: 0 0 1rem; letter-spacing: .04em; color: #fff; }
[data-template="custom-cmg"] .cg-final p { margin: 0 0 2.2rem; color: rgba(255,253,248,.78); max-width: 42rem; }
[data-template="custom-cmg"] .cg-final-actions { display: flex; flex-direction: column; align-items: center; gap: 1.2rem; }
[data-template="custom-cmg"] .cg-final .cg-btn-accent { background: var(--cg-purple); }
[data-template="custom-cmg"] .cg-final-mail { color: var(--cg-paper); text-decoration: none; display: flex; flex-direction: column; gap: .2rem; font-weight: 700; }
[data-template="custom-cmg"] .cg-final-mail span { font-size: .8125rem; font-weight: 400; color: rgba(255,253,248,.7); }
[data-template="custom-cmg"] .cg-final-mail:hover { text-decoration: underline; }

/* ── 第二階層の共通 ───────────────────────────────────────── */
[data-template="custom-cmg"] .cg-sub-head { position: relative; overflow: hidden; padding: clamp(3.5rem, 7vw, 6rem) 0 clamp(2.5rem, 5vw, 4rem); border-bottom: 1px solid var(--cg-line); background: var(--cg-paper); }
[data-template="custom-cmg"] .cg-sub-head .cg-container { position: relative; }
[data-template="custom-cmg"] .cg-sub-head h1 { color: var(--cg-ink); font-size: clamp(1.9rem, 4vw, 3rem); line-height: 1.4; letter-spacing: .03em; margin: 0 0 1.3rem; }
[data-template="custom-cmg"] .cg-sub-head .cg-lead { margin-bottom: 0; }
[data-template="custom-cmg"] .cg-sub-orb { position: absolute; right: -8vw; top: -10vw; width: 34vw; height: 34vw; max-width: 460px; max-height: 460px; border-radius: 50%; background: var(--cg-accent); opacity: .10; pointer-events: none; }

[data-template="custom-cmg"] .cg-table { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--cg-line); border-radius: var(--cg-radius); overflow: hidden; }
[data-template="custom-cmg"] .cg-table-row { display: grid; grid-template-columns: 9rem 1fr; gap: 1rem; padding: 1.1rem 1.6rem; border-top: 1px solid var(--cg-line); }
[data-template="custom-cmg"] .cg-table-row:first-child { border-top: 0; }
[data-template="custom-cmg"] .cg-table dt { font-weight: 700; color: var(--cg-accent-text); }
[data-template="custom-cmg"] .cg-table dd { margin: 0; color: var(--cg-text); }

[data-template="custom-cmg"] .cg-checklist { display: flex; flex-direction: column; gap: .5rem; margin: .4rem 0 1rem; }
[data-template="custom-cmg"] .cg-checklist li { display: flex; align-items: flex-start; gap: .6rem; color: var(--cg-text); }
[data-template="custom-cmg"] .cg-checklist svg { color: var(--cg-accent); flex-shrink: 0; margin-top: .45em; }
[data-template="custom-cmg"] .cg-bullets { display: flex; flex-direction: column; gap: .5rem; }
[data-template="custom-cmg"] .cg-bullets li { position: relative; padding-left: 1.2rem; color: var(--cg-text); }
[data-template="custom-cmg"] .cg-bullets li::before { content: ''; position: absolute; left: 0; top: .78em; width: .5rem; height: .5rem; border-radius: 50%; background: var(--cg-accent); }

[data-template="custom-cmg"] .cg-steps { display: flex; flex-direction: column; gap: 1rem; }
[data-template="custom-cmg"] .cg-steps li { display: grid; grid-template-columns: auto 1fr; gap: 1rem; align-items: flex-start; }
[data-template="custom-cmg"] .cg-step-no { display: inline-flex; align-items: center; justify-content: center; width: 2.2rem; height: 2.2rem; border-radius: 50%; background: var(--cg-accent); color: #fff; font-weight: 700; }
[data-template="custom-cmg"] .cg-steps h3 { color: var(--cg-ink); font-size: 1.1rem; line-height: 1.6; }
[data-template="custom-cmg"] .cg-steps p { color: var(--cg-muted); font-size: .9375rem; }

/* メソッド：コンセプト */
[data-template="custom-cmg"] .cg-concept-inner { display: grid; grid-template-columns: 1.2fr .8fr; gap: 3rem; align-items: center; }
[data-template="custom-cmg"] .cg-concept-ring { max-width: 380px; }
[data-template="custom-cmg"] .cg-concept-catch { display: flex; flex-wrap: wrap; align-items: center; font-size: clamp(1.8rem, 3.6vw, 2.8rem); }
[data-template="custom-cmg"] .cg-pdf { display: flex; justify-content: space-between; align-items: center; gap: 2rem; background: #fff; border: 1px solid var(--cg-line); border-radius: var(--cg-radius); padding: 2.2rem 2.4rem; }
[data-template="custom-cmg"] .cg-pdf .cg-lead { margin-bottom: 0; }

/* 道具の詳細 */
[data-template="custom-cmg"] .cg-tool-detail-list { display: flex; flex-direction: column; gap: 2rem; }
[data-template="custom-cmg"] .cg-tool-detail { display: grid; grid-template-columns: .8fr 1.2fr; gap: 2.5rem; align-items: center; background: #fff; border: 1px solid var(--cg-line); border-radius: var(--cg-radius); padding: 2rem; scroll-margin-top: 6rem; border-left: 8px solid var(--cg-accent); }
[data-template="custom-cmg"] .cg-tool-detail.is-flip .cg-tool-detail-img { order: 2; }
[data-template="custom-cmg"] .cg-tool-detail-img { border-radius: var(--cg-radius-sm); overflow: hidden; background: #ebebeb; }
[data-template="custom-cmg"] .cg-tool-detail-img img { width: 100%; mix-blend-mode: multiply; }
[data-template="custom-cmg"] .cg-tool-detail-no { font-size: .875rem; letter-spacing: .1em; color: var(--cg-accent-text); font-weight: 700; margin: 0 0 .4rem; }
[data-template="custom-cmg"] .cg-tool-detail h2 { display: flex; flex-wrap: wrap; align-items: baseline; gap: .4rem 1rem; margin: 0 0 .6rem; }
[data-template="custom-cmg"] .cg-tool-detail-name { font-size: 1rem; letter-spacing: .08em; color: var(--cg-muted); font-weight: 700; }
[data-template="custom-cmg"] .cg-tool-detail-nick { font-size: 1.7rem; color: var(--cg-ink); line-height: 1.4; }
[data-template="custom-cmg"] .cg-tool-detail-summary { color: var(--cg-text); font-weight: 700; margin: 0 0 .6rem; }
[data-template="custom-cmg"] .cg-tool-detail-body > p:last-child { color: var(--cg-muted); }

[data-template="custom-cmg"] .cg-palette { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 1rem; }
[data-template="custom-cmg"] .cg-palette-chip { display: flex; flex-direction: column; align-items: center; gap: .6rem; }
[data-template="custom-cmg"] .cg-palette-swatch { display: block; width: 100%; aspect-ratio: 1; border-radius: 50%; box-shadow: inset 0 -8px 0 rgba(0,0,0,.08); }
[data-template="custom-cmg"] .cg-palette-name { font-weight: 700; color: var(--cg-ink); }

/* カフェ */
[data-template="custom-cmg"] .cg-theme { display: flex; flex-direction: column; gap: .6rem; height: 100%; }
[data-template="custom-cmg"] .cg-theme h3 { color: var(--cg-ink); font-size: 1.25rem; line-height: 1.5; }
[data-template="custom-cmg"] .cg-theme p { color: var(--cg-muted); }
[data-template="custom-cmg"] .cg-hicafe { display: grid; grid-template-columns: 320px 1fr; gap: 2rem; align-items: center; margin-top: 2.5rem; }
[data-template="custom-cmg"] .cg-hicafe img { border-radius: var(--cg-radius); background: #fff; }
[data-template="custom-cmg"] .cg-hicafe .cg-note { margin: 0; }
[data-template="custom-cmg"] .cg-crew-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 1.5rem; }
[data-template="custom-cmg"] .cg-record { height: 100%; background: #fff; border: 1px solid var(--cg-line); border-radius: var(--cg-radius); padding: 1.6rem 1.8rem; }
[data-template="custom-cmg"] .cg-record-org { font-size: .875rem; color: var(--cg-accent-text); font-weight: 700; letter-spacing: .04em; margin: 0 0 .3rem; }
[data-template="custom-cmg"] .cg-record h4 { color: var(--cg-ink); font-size: 1.2rem; line-height: 1.5; margin: 0 0 .6rem; }
[data-template="custom-cmg"] .cg-record p:last-child { color: var(--cg-muted); }

/* ── 標準ページ（FAQ／用語集／お知らせ／お問い合わせ）を Chrome の中で馴染ませる ── */
[data-template="custom-cmg"] .cg-main { --color-brand: var(--cg-purple); --color-brand-light: var(--cg-tint); --color-text-primary: var(--cg-ink); --color-text-muted: var(--cg-muted); }

/* ── レスポンシブ ─────────────────────────────────────────── */
@media (max-width: 1240px) {
  [data-template="custom-cmg"] .cg-nav { gap: 1rem; }
  [data-template="custom-cmg"] .cg-nav-link { font-size: .9375rem; }
}
@media (max-width: 1100px) {
  [data-template="custom-cmg"] .cg-nav, [data-template="custom-cmg"] .cg-header-cta { display: none; }
  [data-template="custom-cmg"] .cg-hamburger { display: flex; }
  [data-template="custom-cmg"] .cg-grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  [data-template="custom-cmg"] .cg-palette { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  [data-template="custom-cmg"] .cg-hero-inner { grid-template-columns: 1fr; gap: 2rem; }
  [data-template="custom-cmg"] .cg-hero-visual { order: -1; }
  [data-template="custom-cmg"] .cg-hero-ring { max-width: 300px; }
  [data-template="custom-cmg"] .cg-grid-3 { grid-template-columns: 1fr; }
  [data-template="custom-cmg"] .cg-case-grid, [data-template="custom-cmg"] .cg-case-detail-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  [data-template="custom-cmg"] .cg-apps-inner, [data-template="custom-cmg"] .cg-roots-inner, [data-template="custom-cmg"] .cg-concept-inner,
  [data-template="custom-cmg"] .cg-tool-detail, [data-template="custom-cmg"] .cg-crew-grid, [data-template="custom-cmg"] .cg-hicafe { grid-template-columns: 1fr; }
  [data-template="custom-cmg"] .cg-tool-detail.is-flip .cg-tool-detail-img { order: 0; }
  [data-template="custom-cmg"] .cg-apps-ring, [data-template="custom-cmg"] .cg-concept-ring { max-width: 260px; }
  [data-template="custom-cmg"] .cg-footer-inner { grid-template-columns: 1fr; gap: 2rem; }
  [data-template="custom-cmg"] .cg-pdf { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 600px) {
  [data-template="custom-cmg"] .cg-grid-2, [data-template="custom-cmg"] .cg-grid-4,
  [data-template="custom-cmg"] .cg-case-grid, [data-template="custom-cmg"] .cg-case-detail-grid { grid-template-columns: 1fr; }
  [data-template="custom-cmg"] .cg-footer-groups { grid-template-columns: 1fr; }
  [data-template="custom-cmg"] .cg-table-row { grid-template-columns: 1fr; gap: .2rem; }
  [data-template="custom-cmg"] .cg-hero-actions .cg-btn { width: 100%; }
  [data-template="custom-cmg"] .cg-footer-bottom { flex-direction: column; align-items: flex-start; }
  [data-template="custom-cmg"] .cg-wordmark-sub { display: none; }
  [data-template="custom-cmg"] .cg-sub-orb { width: 60vw; height: 60vw; right: -20vw; top: -24vw; }
}

/* ── 実績・お知らせ（/blog）：タブ、ページ送り、出典 ───────────── */
[data-template="custom-cmg"] .cg-tabs { display: flex; flex-wrap: wrap; gap: .6rem; margin: 0 0 2rem; }
[data-template="custom-cmg"] .cg-tab { display: inline-flex; align-items: center; gap: .5rem; padding: .6rem 1.3rem; border-radius: 999px; border: 1px solid var(--cg-line); background: #fff; color: var(--cg-ink); font-weight: 700; text-decoration: none; font-size: 1rem; }
[data-template="custom-cmg"] .cg-tab.is-active { background: var(--cg-accent); border-color: var(--cg-accent); color: #fff; }
[data-template="custom-cmg"] .cg-tab small { font-weight: 400; font-size: .8125rem; opacity: .85; }
[data-template="custom-cmg"] .cg-post-src { display: inline-flex; align-items: center; gap: .25rem; margin-left: .7rem; color: var(--cg-pink-text); font-weight: 700; }
[data-template="custom-cmg"] .cg-pager { display: flex; justify-content: center; align-items: center; gap: .5rem; margin-top: 2.5rem; flex-wrap: wrap; }
[data-template="custom-cmg"] .cg-pager a, [data-template="custom-cmg"] .cg-pager span { display: inline-flex; align-items: center; justify-content: center; min-width: 2.6rem; height: 2.6rem; padding: 0 .8rem; border-radius: 999px; border: 1px solid var(--cg-line); background: #fff; color: var(--cg-ink); text-decoration: none; font-weight: 700; }
[data-template="custom-cmg"] .cg-pager .is-current { background: var(--cg-accent); border-color: var(--cg-accent); color: #fff; }
[data-template="custom-cmg"] .cg-pager .is-disabled { opacity: .4; pointer-events: none; }
/* チラシ画像（縦長）が多い実績カードは、切らずに全体を収める */
[data-template="custom-cmg"] .cg-post-thumb--contain { background: #fff; border-bottom: 1px solid var(--cg-line); }
[data-template="custom-cmg"] .cg-post-thumb--contain img { object-fit: contain; padding: .6rem; }
/* ヒーロー下の原典 PDF リンク */
[data-template="custom-cmg"] .cg-hero-pdf { margin: 1.1rem 0 0; }
[data-template="custom-cmg"] .cg-hero-pdf a { display: inline-flex; align-items: center; gap: .4rem; color: var(--cg-muted); font-size: .9375rem; text-decoration: none; border-bottom: 1px solid var(--cg-line); padding-bottom: .1rem; }
[data-template="custom-cmg"] .cg-hero-pdf a:hover { color: var(--cg-purple-text); border-color: var(--cg-purple); }

/* ── TOP：旧サイト（community-marketing-generation.jp）のトップをそのまま再現 ──────────
   白地、中央に「cmG home」の輪（PC 440px／スマホ 288px）、右上にサイトメニューアイコン（PC 50×33／スマホ 33×22）。
   輪は 8 色の丸が 0.853 秒後から 0.358 秒ごとに順に点灯し、約 4.2 秒で一巡（元 APNG の計測値） */
[data-template="custom-cmg"].cg-shell--home { background: #fff; }
[data-template="custom-cmg"] .cg-main--home { background: #fff; min-height: 100vh; min-height: 100dvh; display: flex; align-items: center; justify-content: center; }
[data-template="custom-cmg"].cg-home { width: 440px; max-width: 74vw; aspect-ratio: 1; position: relative; background: transparent; }
[data-template="custom-cmg"] .cg-home-ring { display: block; width: 100%; height: 100%; padding: 0; margin: 0; border: 0; background: none; cursor: pointer; position: relative; }
[data-template="custom-cmg"] .cg-home-ring:focus-visible { outline: 2px solid var(--cg-gray); outline-offset: 8px; border-radius: 50%; }
[data-template="custom-cmg"] .cg-home-ring svg { width: 100%; height: 100%; display: block; }
[data-template="custom-cmg"] .cg-home-logo { position: absolute; inset: 0; margin: auto; width: 36.1%; height: auto; pointer-events: none; }
[data-template="custom-cmg"] .cg-hd { fill: #efefef; animation-duration: 4.2s; animation-timing-function: steps(1, end); animation-iteration-count: infinite; }
@keyframes cg-hd-5 { 0%, 20.30% { fill: #efefef; } 20.31%, 100% { fill: #9a9695; } }
[data-template="custom-cmg"] .cg-hd-5 { animation-name: cg-hd-5; }
@keyframes cg-hd-6 { 0%, 28.82% { fill: #efefef; } 28.83%, 100% { fill: #df911c; } }
[data-template="custom-cmg"] .cg-hd-6 { animation-name: cg-hd-6; }
@keyframes cg-hd-7 { 0%, 37.35% { fill: #efefef; } 37.36%, 100% { fill: #7b3d83; } }
[data-template="custom-cmg"] .cg-hd-7 { animation-name: cg-hd-7; }
@keyframes cg-hd-0 { 0%, 45.87% { fill: #efefef; } 45.88%, 100% { fill: #258fc4; } }
[data-template="custom-cmg"] .cg-hd-0 { animation-name: cg-hd-0; }
@keyframes cg-hd-1 { 0%, 54.39% { fill: #efefef; } 54.40%, 100% { fill: #cb5481; } }
[data-template="custom-cmg"] .cg-hd-1 { animation-name: cg-hd-1; }
@keyframes cg-hd-2 { 0%, 62.92% { fill: #efefef; } 62.93%, 100% { fill: #07397b; } }
[data-template="custom-cmg"] .cg-hd-2 { animation-name: cg-hd-2; }
@keyframes cg-hd-3 { 0%, 71.44% { fill: #efefef; } 71.45%, 100% { fill: #9b7624; } }
[data-template="custom-cmg"] .cg-hd-3 { animation-name: cg-hd-3; }
@keyframes cg-hd-4 { 0%, 79.97% { fill: #efefef; } 79.98%, 100% { fill: #198540; } }
[data-template="custom-cmg"] .cg-hd-4 { animation-name: cg-hd-4; }
@media (prefers-reduced-motion: reduce) {
  [data-template="custom-cmg"] .cg-hd { animation: none; }
  [data-template="custom-cmg"] .cg-hd-0 { fill: #258fc4; }
  [data-template="custom-cmg"] .cg-hd-1 { fill: #cb5481; }
  [data-template="custom-cmg"] .cg-hd-2 { fill: #07397b; }
  [data-template="custom-cmg"] .cg-hd-3 { fill: #9b7624; }
  [data-template="custom-cmg"] .cg-hd-4 { fill: #198540; }
  [data-template="custom-cmg"] .cg-hd-5 { fill: #9a9695; }
  [data-template="custom-cmg"] .cg-hd-6 { fill: #df911c; }
  [data-template="custom-cmg"] .cg-hd-7 { fill: #7b3d83; }
}
[data-template="custom-cmg"] .cg-home-header { position: fixed; top: 0; right: 0; z-index: 30; }
[data-template="custom-cmg"] .cg-home-menu { position: fixed; top: 50px; right: 50px; width: 50px; height: 33px; padding: 0; border: 0; background: none; cursor: pointer; line-height: 0; }
[data-template="custom-cmg"] .cg-home-menu img { width: 100%; height: 100%; }
[data-template="custom-cmg"] .cg-home-menu:focus-visible { outline: 2px solid var(--cg-gray); outline-offset: 6px; }
@media (max-width: 900px) {
  [data-template="custom-cmg"] .cg-home-menu { top: 25px; right: 30px; width: 33px; height: 22px; }
}
/* 検索エンジン・AI 向けの見出しを視覚上だけ隠す */
[data-template="custom-cmg"] .sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
