@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; }

/* ── ひらめきアプリ「One」（/apps）─────────────────────────────────────────
   8 色の丸のスロット＋発表シート。色は One の正式カラー（--one-color）。文字は 16px 以上 */
[data-template="custom-cmg"] .cg-one { --one-red: #b7242a; }
[data-template="custom-cmg"] .cg-one-head { margin: 0 0 1.6rem; }
[data-template="custom-cmg"] .cg-one-kicker { font-size: .8125rem; letter-spacing: .17em; color: var(--one-red); font-weight: 700; margin: 0 0 .4rem; }
[data-template="custom-cmg"] .cg-one-title { color: #231815; font-size: 1.1875rem; font-weight: 700; letter-spacing: 0; line-height: 1.4; margin: 0; }
[data-template="custom-cmg"] .cg-one-title span { font-size: inherit; color: inherit; font-weight: inherit; letter-spacing: 0; margin-left: 0; vertical-align: baseline; }
[data-template="custom-cmg"] .cg-one-lead { max-width: 46rem; color: var(--cg-muted); font-size: 1.0625rem; line-height: 2; margin: 0; }
[data-template="custom-cmg"] .cg-one-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(340px, 1fr); gap: 2.2rem; align-items: start; }

[data-template="custom-cmg"] .cg-one-board { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .6rem 1.1rem; align-items: center; padding: .6rem 0; }
[data-template="custom-cmg"] .cg-one-tile { text-align: center; min-width: 0; }
[data-template="custom-cmg"] .cg-one-orb { background: var(--one-color); color: #fff; aspect-ratio: 1; border-radius: 50%; display: flex; flex-direction: column; justify-content: center; align-items: center; padding: .9rem; position: relative; box-shadow: 0 5px 0 rgba(32,32,48,.04); transition: box-shadow .2s; }
[data-template="custom-cmg"] .cg-one-tile.is-held .cg-one-orb { outline: 3px solid var(--one-color); outline-offset: 5px; }
[data-template="custom-cmg"] .cg-one-label { font-size: 1rem; letter-spacing: .16em; font-weight: 700; }
[data-template="custom-cmg"] .cg-one-word-window { width: 100%; min-height: 3.2rem; display: flex; align-items: center; justify-content: center; overflow: hidden; margin-top: .5rem; }
[data-template="custom-cmg"] .cg-one-word { font-size: clamp(1.0625rem, 1.7vw, 1.5rem); font-weight: 700; line-height: 1.4; overflow-wrap: anywhere; }
[data-template="custom-cmg"] .cg-one-tile.is-rolling .cg-one-word { animation: cg-one-spin .1s linear infinite; }
@keyframes cg-one-spin { from { transform: translateY(-15px); opacity: .25; } to { transform: translateY(15px); opacity: 1; } }
[data-template="custom-cmg"] .cg-one-tile-controls { display: flex; justify-content: center; margin-top: .35rem; gap: .25rem; }
[data-template="custom-cmg"] .cg-one-tile-controls button { border: 0; background: transparent; color: #fff; font-size: 1.125rem; line-height: 1; width: 2.1rem; height: 2.1rem; padding: 0; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; font-family: inherit; cursor: pointer; opacity: .45; }
[data-template="custom-cmg"] .cg-one-tile-controls button svg { width: 17px; height: 17px; }
[data-template="custom-cmg"] .cg-one-tile-controls button:first-child { font-size: 1.62rem; }
[data-template="custom-cmg"] .cg-one-tile-controls button:hover { opacity: .75; }
[data-template="custom-cmg"] .cg-one-tile-controls button[aria-pressed="true"] { opacity: 1; }
[data-template="custom-cmg"] .cg-one-tile-controls button:disabled { opacity: .45; cursor: default; }
[data-template="custom-cmg"] .cg-one-center { text-align: center; display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100%; gap: .3rem; }
[data-template="custom-cmg"] .cg-one-brand { position: relative; top: 0; font-weight: 300; color: var(--one-red); font-size: clamp(calc(3.6rem - 10px), calc(7.5vw - 10px), calc(6.5rem - 10px)); letter-spacing: -.05em; line-height: 1; margin: 0; }
[data-template="custom-cmg"] .cg-one-spinall { border: 0; background: transparent; border-radius: 50%; color: #c8c8c8; width: 3.4rem; height: 3.4rem; padding: 0; display: inline-flex; align-items: center; justify-content: center; font-size: 2.48rem; line-height: 1; font-family: inherit; cursor: pointer; box-shadow: none; }
[data-template="custom-cmg"] .cg-one-spinall:hover { color: #9a9a9a; }
[data-template="custom-cmg"] .cg-one-spinall .is-spinning { display: inline-block; animation: cg-one-rotate 1s linear infinite; }
@keyframes cg-one-rotate { to { transform: rotate(360deg); } }
[data-template="custom-cmg"] .cg-one-spinall:disabled { opacity: .48; cursor: default; }
[data-template="custom-cmg"] .cg-one-foot { margin: 1.2rem 0; display: flex; align-items: flex-start; gap: 1rem; flex-wrap: wrap; }
[data-template="custom-cmg"] .cg-one-quiet { background: transparent; border: 1px solid var(--cg-line); border-radius: 6px; padding: .6rem .8rem; font-size: .9375rem; white-space: nowrap; font-family: inherit; cursor: pointer; color: var(--cg-text); }
[data-template="custom-cmg"] .cg-one-quiet:disabled { opacity: .48; cursor: default; }
[data-template="custom-cmg"] .cg-one-status { font-size: .9375rem; line-height: 1.8; min-height: 1.8em; color: var(--cg-muted); margin: 0; flex: 1; }
[data-template="custom-cmg"] .cg-one-howto { border-top: 1px solid var(--cg-line); margin-top: .6rem; padding-top: 1rem; color: var(--cg-muted); font-size: .9375rem; line-height: 1.9; }
[data-template="custom-cmg"] .cg-one-howto summary { cursor: pointer; font-weight: 700; color: var(--cg-ink); }
[data-template="custom-cmg"] .cg-one-howto ol { list-style: decimal; padding-left: 1.4rem; margin: .6rem 0; }
[data-template="custom-cmg"] .cg-one-howto p { margin: .4rem 0 0; }

[data-template="custom-cmg"] .cg-one-sheet { background: #fff; border: 1px solid var(--cg-line); border-radius: 16px; box-shadow: 0 10px 35px rgba(36,37,52,.03); padding: 1.8rem; }
[data-template="custom-cmg"] .cg-one-sheet-kicker { font-size: .8125rem; color: var(--one-red); letter-spacing: .17em; font-weight: 700; margin: 0; }
[data-template="custom-cmg"] .cg-one-sheet-title { font-size: 1.45rem; margin: .5rem 0; color: var(--cg-ink); }
[data-template="custom-cmg"] .cg-one-sheet-sub { font-size: .9375rem; color: var(--cg-muted); line-height: 1.8; margin: 0 0 1.2rem; }
[data-template="custom-cmg"] .cg-one-sentence { position: relative; padding: .9rem 0 .9rem 1.1rem; border-top: 1px solid var(--cg-line); font-size: 15px; line-height: 2; margin: 0; }
[data-template="custom-cmg"] .cg-one-sentence::before { content: ''; position: absolute; left: 0; top: 1.5rem; width: 7px; height: 7px; background: var(--one-color); border-radius: 1px; }
[data-template="custom-cmg"] .cg-one-sentence input { max-width: 100%; width: 10rem; border: 0; border-bottom: 1px dashed #b5b6c0; border-radius: 0; background: #f8f9fc; font-size: 15px; padding: .2rem .35rem; line-height: 1.8; color: var(--cg-ink); margin: 0 .25rem .25rem 0; font-family: inherit; }
[data-template="custom-cmg"] .cg-one-sentence input::placeholder { color: #787b88; font-size: .875rem; }
/* 入力欄のあとで改行（「あなたの名前」／「の自分デザインを発表します！」のように 2 行に。2026-11-08 SEI） */
[data-template="custom-cmg"] .cg-one-input-wrap { display: block; }
[data-template="custom-cmg"] .cg-one-chosen { font-weight: 700; color: var(--cg-ink); text-decoration: underline; text-decoration-color: var(--one-color); text-decoration-thickness: 3px; text-underline-offset: 5px; overflow-wrap: anywhere; }
[data-template="custom-cmg"] .cg-one-applause { text-align: right; color: var(--one-red); font-size: 15px; font-weight: 700; margin: .6rem 0 0; }
[data-template="custom-cmg"] .cg-one-actions { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: 1rem; }
[data-template="custom-cmg"] .cg-one-actions button { border: 1px solid #d5d5d5; background: #fff; border-radius: 4px; padding: .35rem .7rem; font-size: .8125rem; font-family: inherit; cursor: pointer; color: #666; }
[data-template="custom-cmg"] .cg-one-actions button:hover { background: #f2f2f2; }
[data-template="custom-cmg"] .cg-one-tabs { margin: .8rem 0 1rem; }
[data-template="custom-cmg"] .cg-one-tabs .cg-sheet-tab { font-size: .9375rem; padding: .5rem 1rem; }
[data-template="custom-cmg"] .cg-one-tabs .cg-sheet-tab:disabled { opacity: .45; cursor: default; }
[data-template="custom-cmg"] .cg-one-ai { margin: 0; }
[data-template="custom-cmg"] .cg-one-ai-wait { font-size: 15px; color: #666; margin: .4rem 0 1rem; }
[data-template="custom-cmg"] .cg-one-ai-text { font-size: 15px; line-height: 2; color: var(--cg-ink); padding: .4rem 0 0; }
[data-template="custom-cmg"] .cg-one-ai-text p { margin: 0 0 1em; }
[data-template="custom-cmg"] .cg-one-ai-text p:last-child { margin-bottom: 0; }
[data-template="custom-cmg"] .cg-one-actions button:disabled { opacity: .48; cursor: default; }
[data-template="custom-cmg"] .cg-one-fallback { width: 100%; height: 14rem; font-size: .9375rem; margin-top: 1rem; font-family: inherit; padding: .6rem; border: 1px solid var(--cg-line); border-radius: 6px; }
[data-template="custom-cmg"] .cg-one-draft { font-size: .875rem; line-height: 1.8; color: var(--cg-muted); margin: .8rem 0 0; }
[data-template="custom-cmg"] .cg-one-print-only { display: none; }

@media (max-width: 1000px) {
  [data-template="custom-cmg"] .cg-one-grid { grid-template-columns: 1fr; max-width: 46rem; }
}
@media (max-width: 520px) {
  [data-template="custom-cmg"] .cg-one-board { gap: .4rem .6rem; }
  /* スマホ：丸を正円にして、ヒントキーワードを丸のど真ん中に。ラベルは上、↻と鍵は下に絶対配置（2026-11-08 SEI） */
  [data-template="custom-cmg"] .cg-one-orb { padding: 0; aspect-ratio: 1; }
  [data-template="custom-cmg"] .cg-one-label { position: absolute; top: 12%; left: 0; right: 0; font-size: .8125rem; letter-spacing: .08em; }
  [data-template="custom-cmg"] .cg-one-word-window { position: absolute; inset: 0; min-height: 0; margin: 0; padding: 0 .5rem; }
  [data-template="custom-cmg"] .cg-one-word { font-size: 1rem; }
  [data-template="custom-cmg"] .cg-one-tile-controls { position: absolute; left: 0; right: 0; bottom: 8%; gap: 0; margin: 0; }
  [data-template="custom-cmg"] .cg-one-tile-controls button { width: 1.8rem; height: 1.8rem; font-size: 1rem; }
  [data-template="custom-cmg"] .cg-one-tile-controls button:first-child { font-size: 1.3rem; }
  [data-template="custom-cmg"] .cg-one-tile-controls button svg { width: 14px; height: 14px; }
  [data-template="custom-cmg"] .cg-one-center { display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100%; gap: .2rem; }
  [data-template="custom-cmg"] .cg-one-brand { font-size: calc(3.4rem - 10px); margin: 0; top: 0; }
  [data-template="custom-cmg"] .cg-one-spinall { width: 2.9rem; height: 2.9rem; font-size: 2.07rem; }
  [data-template="custom-cmg"] .cg-one-sheet { padding: 1.3rem 1rem; }
}
@media (prefers-reduced-motion: reduce) {
  [data-template="custom-cmg"] .cg-one-tile.is-rolling .cg-one-word { animation: none; }
  [data-template="custom-cmg"] .cg-one-orb { transition: none; }
}
@media print {
  [data-template="custom-cmg"] .cg-header, [data-template="custom-cmg"] .cg-footer, [data-template="custom-cmg"] .cg-sub-head, [data-template="custom-cmg"] .cg-final,
  [data-template="custom-cmg"] .cg-one-head, [data-template="custom-cmg"] .cg-one-board-wrap, [data-template="custom-cmg"] .cg-one-sheet-kicker, [data-template="custom-cmg"] .cg-one-sheet-sub,
  [data-template="custom-cmg"] .cg-one-actions, [data-template="custom-cmg"] .cg-one-draft, [data-template="custom-cmg"] .cg-one-fallback, [data-template="custom-cmg"] .cg-one-other, .cg-float-chat { display: none !important; }
  [data-template="custom-cmg"] .cg-one-grid { display: block; }
  [data-template="custom-cmg"] .cg-one-sheet { border: 0; box-shadow: none; padding: 12mm; border-radius: 0; }
  [data-template="custom-cmg"] .cg-one-sheet-title { font-size: 22pt; }
  [data-template="custom-cmg"] .cg-one-sentence { font-size: 13pt; line-height: 2; break-inside: avoid; }
  [data-template="custom-cmg"] .cg-one-sentence input { display: none; }
  [data-template="custom-cmg"] .cg-one-tabs { display: none !important; }
  [data-template="custom-cmg"] .cg-one-print-only { display: inline; white-space: pre-wrap; overflow-wrap: anywhere; }
  [data-template="custom-cmg"] .cg-one-chosen, [data-template="custom-cmg"] .cg-one-sentence::before { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  [data-template="custom-cmg"] .cg-one-applause { margin-top: 20px; }
  [data-template="custom-cmg"] .cg-one-print-footer { display: block; margin-top: 25px; text-align: center; font-size: 10pt; color: #666; }
  @page { size: A4; margin: 12mm; }
}

/* ── 索引（/menus）：旧サイト /menus/ の 3×3 カードを再現 ──────────────────────
   幅 90%（最大 800px）、枠 15px、角 10px、間隔 15px、文字 29px、縦横比 68:40。スマホは枠 8px・間隔 10px・縦横比 1.5 */
[data-template="custom-cmg"].cg-menus { width: 90%; max-width: 800px; margin: 0 auto; background: transparent; }
[data-template="custom-cmg"] .cg-menus-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; list-style: none; margin: 0; padding: 0; }
[data-template="custom-cmg"] .cg-menus-card { aspect-ratio: 68 / 40; border: 15px solid var(--menu-color); border-radius: 10px; background: #fff; display: flex; align-items: center; justify-content: center; color: #231815; font-size: 29px; font-weight: 400; letter-spacing: .5em; text-indent: .5em; line-height: 1; }
[data-template="custom-cmg"] .cg-menus-card--cmg { border-color: #b5161c; background: #b5161c; }
[data-template="custom-cmg"] .cg-menus-card--cmg a { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; }
[data-template="custom-cmg"] .cg-menus-card--cmg img { width: 52%; height: auto; }
[data-template="custom-cmg"] .cg-menus-logo { width: 52%; height: auto; display: block; }
@media (max-width: 519px) {
  [data-template="custom-cmg"].cg-menus { width: 95%; }
  [data-template="custom-cmg"] .cg-menus-grid { gap: 10px; }
  [data-template="custom-cmg"] .cg-menus-card { aspect-ratio: 1.5; border-width: 8px; font-size: 3.8vw; }
}

/* ── 2026-11-07 根本ブラッシュアップ：ヘッダーは「ロゴ＋索引」、フッターは索引 ──────── */
[data-template="custom-cmg"] .cg-header-index { display: inline-flex; align-items: center; gap: .6rem; text-decoration: none; color: var(--cg-muted); font-size: .875rem; letter-spacing: .1em; font-weight: 700; }
[data-template="custom-cmg"] .cg-header-index img { width: 2.6rem; height: auto; }
[data-template="custom-cmg"] .cg-header-index:hover { color: var(--cg-ink); }
[data-template="custom-cmg"] .cg-footer-index { display: flex !important; flex-direction: row !important; flex-wrap: wrap; gap: .5rem 1.2rem !important; }
[data-template="custom-cmg"] .cg-footer-index span { color: var(--cg-muted); opacity: .55; font-size: .9375rem; }
[data-template="custom-cmg"] .cg-menus-card.is-link a { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; color: inherit; text-decoration: none; transition: background .2s ease; }
[data-template="custom-cmg"] .cg-menus-card.is-link a:hover { background: color-mix(in srgb, var(--menu-color) 10%, #fff); }
[data-template="custom-cmg"] .cg-menus-card:not(.is-link) span { opacity: .55; }

/* ── 概要（/overview） ─────────────────────────────────────────── */
[data-template="custom-cmg"] .cg-pillar { display: flex; flex-direction: column; gap: .5rem; height: 100%; border-top: 6px solid var(--cg-accent); }
[data-template="custom-cmg"] .cg-pillar h4 { color: var(--cg-ink); font-size: 1.25rem; }
[data-template="custom-cmg"] .cg-pillar p { color: var(--cg-muted); }
[data-template="custom-cmg"] .cg-dev { display: grid; grid-template-columns: 1.2fr .8fr; gap: 3rem; align-items: center; }
[data-template="custom-cmg"] .cg-dev-name { color: var(--cg-ink); font-size: clamp(1.8rem, 3.5vw, 2.6rem); line-height: 1.3; margin: 0 0 .4rem; }
[data-template="custom-cmg"] .cg-dev-name span { display: block; font-size: .9375rem; font-weight: 400; color: var(--cg-muted); letter-spacing: .1em; margin-top: .2rem; }
[data-template="custom-cmg"] .cg-dev-role { color: var(--cg-accent-text); font-weight: 700; line-height: 1.8; margin: 0 0 1.2rem; }
[data-template="custom-cmg"] .cg-dev-body { color: var(--cg-text); line-height: 2; margin: 0 0 1rem; }
[data-template="custom-cmg"] .cg-dev-office { font-size: .9375rem; color: var(--cg-muted); margin: 1.2rem 0 0; }
[data-template="custom-cmg"] .cg-theory { height: 100%; border-top: 6px solid var(--cg-accent); }
[data-template="custom-cmg"] .cg-theory h3 { color: var(--cg-ink); font-size: 1.15rem; line-height: 1.5; margin: 0 0 .8rem; }
[data-template="custom-cmg"] .cg-theory-ai { margin-top: 1.5rem; border-left: 6px solid var(--cg-skyblue); }
[data-template="custom-cmg"] .cg-theory-ai h3 { color: var(--cg-ink); font-size: 1.25rem; margin: 0 0 .6rem; }
[data-template="custom-cmg"] .cg-theory-ai p { color: var(--cg-text); line-height: 2; }
[data-template="custom-cmg"] .cg-next { margin-top: 1.5rem; }
@media (max-width: 900px) { [data-template="custom-cmg"] .cg-dev { grid-template-columns: 1fr; } }

/* ── 概要（/overview）＝原典 PDF「ひらめきメソッド？」をそのまま。白背景・装飾なし ───────── */
[data-template="custom-cmg"].cg-sheet { background: #fff; color: #231815; max-width: 960px; margin: 0 auto; padding: 2.5rem var(--cg-side) 3rem; line-height: 1.9; }
[data-template="custom-cmg"] .cg-sheet-faces { display: grid; grid-template-columns: repeat(10, minmax(0, 1fr)); gap: 1.6rem 1.2rem; margin: 0; padding: 0; list-style: none; }
[data-template="custom-cmg"] .cg-sheet-faces img { width: 100%; height: auto; }
[data-template="custom-cmg"] .cg-sheet-front-title { display: flex; flex-direction: column; align-items: center; gap: 1.6rem; padding: 3.5rem 0; }
[data-template="custom-cmg"] .cg-sheet-front-title h1 { font-size: clamp(1.9rem, 4.6vw, 3rem); font-weight: 400; letter-spacing: .06em; color: #231815; margin: 0; }
[data-template="custom-cmg"] .cg-sheet-colored { display: flex; gap: 1.6rem; margin: 0; padding: 0; list-style: none; }
[data-template="custom-cmg"] .cg-sheet-colored--large img { width: clamp(64px, 12vw, 120px); height: auto; }
[data-template="custom-cmg"] .cg-sheet-colored--small { gap: .6rem; }
[data-template="custom-cmg"] .cg-sheet-colored--small img { width: 56px; height: auto; }
[data-template="custom-cmg"] .cg-sheet-back { margin-top: 4rem; padding-top: 3rem; border-top: 1px solid #eee; }
[data-template="custom-cmg"] .cg-sheet-head { display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
[data-template="custom-cmg"] .cg-sheet-logo { width: 150px; height: auto; }
[data-template="custom-cmg"] .cg-sheet-title { font-size: clamp(1.6rem, 3.6vw, 2.2rem); letter-spacing: .06em; margin: 1.6rem 0 2.4rem; color: #231815; }
[data-template="custom-cmg"] .cg-sheet-cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.5rem; }
[data-template="custom-cmg"] .cg-sheet-h2 { font-size: 1.1875rem; font-weight: 700; color: #231815; margin: 0 0 1.4rem; display: flex; align-items: center; gap: .15rem; }
[data-template="custom-cmg"] .cg-sheet-h2 span { color: #c61a22; font-size: .85em; }
[data-template="custom-cmg"] .cg-sheet-block { margin: 0 0 1.4rem; }
[data-template="custom-cmg"] .cg-sheet-label { margin: 0 0 .3rem; font-size: 1rem; }
[data-template="custom-cmg"] .cg-sheet-line { margin: 0; font-size: 1rem; }
[data-template="custom-cmg"] .cg-sheet-line.is-indent { padding-left: 1.5rem; }
[data-template="custom-cmg"] .cg-sheet strong { font-weight: 700; }
[data-template="custom-cmg"] .cg-sheet small { font-size: .8125rem; color: #6b6b6b; }
[data-template="custom-cmg"] .cg-sheet-foot { display: flex; justify-content: space-between; align-items: flex-end; gap: 1rem; margin-top: 3rem; padding-top: 1.2rem; border-top: 1px solid #eee; font-size: .875rem; color: #9a9a9a; }
[data-template="custom-cmg"] .cg-sheet-foot p { margin: 0; }
[data-template="custom-cmg"] .cg-sheet-site a { color: #6b6b6b; font-weight: 700; text-decoration: none; }
[data-template="custom-cmg"] .cg-sheet-pdf { margin: 2.5rem 0 0; text-align: center; font-size: .9375rem; }
[data-template="custom-cmg"] .cg-sheet-pdf a { color: #231815; text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 900px) {
  [data-template="custom-cmg"] .cg-sheet-cols { grid-template-columns: 1fr; gap: 2rem; }
  [data-template="custom-cmg"] .cg-sheet-faces { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 1rem .8rem; }
}
@media (max-width: 520px) {
  [data-template="custom-cmg"] .cg-sheet-faces { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .8rem .6rem; }
  [data-template="custom-cmg"] .cg-sheet-colored { gap: .8rem; }
}
/* 概要は外側まで純白に（他ページの生成り地と切り替え） */
[data-template="custom-cmg"] .cg-main:has(.cg-sheet) { background: #fff; }
[data-template="custom-cmg"] .cg-sheet small { white-space: nowrap; }

/* ── 2026-11-08：ヘッダーは白背景・左上はカラーロゴだけ・右上は索引アイコンだけ。フッター無し ── */
[data-template="custom-cmg"] .cg-header { background: #fff; backdrop-filter: none; -webkit-backdrop-filter: none; }
[data-template="custom-cmg"] .cg-header.is-scrolled { border-bottom-color: #eee; box-shadow: none; }
[data-template="custom-cmg"] .cg-header-inner { padding-top: 1rem; padding-bottom: 1rem; }
[data-template="custom-cmg"] .cg-wordmark { display: inline-flex; align-items: center; }
[data-template="custom-cmg"] .cg-wordmark-logo { width: 6.5rem; height: auto; }
@media (min-width: 1025px) { [data-template="custom-cmg"] .cg-wordmark-logo { width: 7.5rem; } }
[data-template="custom-cmg"] .cg-header-index img { width: 2.9rem; }

/* ── 概要の顔アイコン：さりげなく、やさしく、ランダムに（番号ごとに周期・出だし・大きさが違う） ── */
[data-template="custom-cmg"] .cg-sheet-face img { animation-name: var(--sway, cg-sway-1); animation-duration: var(--sway-dur, 9s); animation-delay: var(--sway-delay, 0s); animation-iteration-count: infinite; animation-timing-function: ease-in-out; animation-direction: alternate; transform-origin: 50% 60%; will-change: transform; }
@keyframes cg-sway-1 { 0% { transform: translateY(0) rotate(0deg) scale(1); opacity: .92; } 50% { transform: translateY(calc(-3px * var(--sway-amp, 1))) rotate(calc(2deg * var(--sway-amp, 1))) scale(1.02); opacity: 1; } 100% { transform: translateY(calc(1px * var(--sway-amp, 1))) rotate(calc(-1.5deg * var(--sway-amp, 1))) scale(1); opacity: .95; } }
@keyframes cg-sway-2 { 0% { transform: rotate(0deg) scale(1); opacity: .95; } 40% { transform: rotate(calc(-3deg * var(--sway-amp, 1))) scale(1.03); opacity: 1; } 100% { transform: rotate(calc(2deg * var(--sway-amp, 1))) scale(.99); opacity: .9; } }
@keyframes cg-sway-3 { 0% { transform: translateY(0) scale(1); opacity: .9; } 60% { transform: translateY(calc(2px * var(--sway-amp, 1))) scale(1.04); opacity: 1; } 100% { transform: translateY(calc(-2px * var(--sway-amp, 1))) scale(1); opacity: .94; } }
@media (prefers-reduced-motion: reduce) { [data-template="custom-cmg"] .cg-sheet-face img { animation: none; } }

/* ── 認定（/master）：概要と同じ白いシート。2 列 ── */
[data-template="custom-cmg"] .cg-main:has(.cg-sheet--plain) { background: #fff; }
[data-template="custom-cmg"] .cg-sheet-back--first { margin-top: 0; padding-top: 1rem; border-top: 0; }
[data-template="custom-cmg"] .cg-sheet-lead { margin: -1.2rem 0 2.4rem; color: #6b6b6b; }
[data-template="custom-cmg"] .cg-sheet-cols--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 900px) { [data-template="custom-cmg"] .cg-sheet-cols--2 { grid-template-columns: 1fr; } }
[data-template="custom-cmg"] .cg-sheet-stack { margin-top: 2.5rem; }
[data-template="custom-cmg"] .cg-sheet-gap { height: 1em; line-height: 1; }
[data-template="custom-cmg"] .cg-sheet-line { white-space: pre-wrap; }

/* ── 2026-11-08 索引 8 枠のコーナーページ共通（白いシート）：タブ・一覧・窓口・技法・道具・体験・研修 ── */
[data-template="custom-cmg"].cg-sheet--wide { max-width: 1080px; }
[data-template="custom-cmg"] .cg-sheet-tabs { display: flex; flex-wrap: wrap; gap: 0; margin: 0 0 2rem; border-bottom: 1px solid #ddd; }
[data-template="custom-cmg"] .cg-sheet-tab { appearance: none; background: none; border: 0; border-bottom: 3px solid transparent; margin-bottom: -1px; padding: .6rem 1.2rem; font: inherit; font-size: 1rem; font-weight: 700; color: #6b6b6b; text-decoration: none; cursor: pointer; }
[data-template="custom-cmg"] .cg-sheet-tab:hover { color: #231815; }
[data-template="custom-cmg"] .cg-sheet-tab.is-active { color: #231815; border-bottom-color: #c61a22; }
[data-template="custom-cmg"] .cg-sheet-tab:focus-visible { outline: 2px solid #c61a22; outline-offset: 2px; }
[data-template="custom-cmg"] .cg-sheet-panel { min-height: 12rem; }
[data-template="custom-cmg"] .cg-sheet-lead--panel { margin: 0 0 1.6rem; color: #6b6b6b; }
[data-template="custom-cmg"] .cg-sheet-link { color: #231815; font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }
[data-template="custom-cmg"] .cg-sheet-note { margin-top: 2rem; }
[data-template="custom-cmg"] .cg-sheet-badge { display: inline-block; font-style: normal; font-size: .75rem; font-weight: 700; color: #6b6b6b; border: 1px solid #ddd; border-radius: 999px; padding: 0 .55rem; line-height: 1.5; margin-left: .5rem; vertical-align: middle; }
[data-template="custom-cmg"] .cg-sheet-chip { display: inline-block; width: 1rem; height: 1rem; border-radius: 50%; flex: none; }
[data-template="custom-cmg"] .cg-sheet-block--tight { margin-bottom: .6rem; }
[data-template="custom-cmg"] .cg-sheet-block--after { margin-top: 2.5rem; padding-top: 2rem; border-top: 1px solid #eee; }

/* 一覧（案内・体験のほかのアプリ） */
[data-template="custom-cmg"] .cg-sheet-list { list-style: none; margin: 0; padding: 0; }
[data-template="custom-cmg"] .cg-sheet-item { border-bottom: 1px solid #eee; }
[data-template="custom-cmg"] .cg-sheet-item > a, [data-template="custom-cmg"] .cg-sheet-item > span, [data-template="custom-cmg"] .cg-sheet-item-btn { display: flex; gap: 1.2rem; align-items: flex-start; padding: 1rem 0; color: #231815; text-decoration: none; width: 100%; background: none; border: 0; font: inherit; text-align: left; cursor: pointer; }
[data-template="custom-cmg"] .cg-sheet-item > a:hover strong, [data-template="custom-cmg"] .cg-sheet-item-btn:hover strong { text-decoration: underline; text-underline-offset: 4px; }
[data-template="custom-cmg"] .cg-sheet-item > span.is-soon { cursor: default; color: #9a9a9a; }
[data-template="custom-cmg"] .cg-sheet-thumb { flex: none; width: 112px; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 4px; background: #f4f4f4; }
[data-template="custom-cmg"] .cg-sheet-thumb img { width: 100%; height: 100%; object-fit: cover; }
[data-template="custom-cmg"] .cg-sheet-thumb.is-contain img { object-fit: contain; }
[data-template="custom-cmg"] .cg-sheet-item-body { display: flex; flex-direction: column; gap: .2rem; min-width: 0; }
[data-template="custom-cmg"] .cg-sheet-item-body time { font-size: .8125rem; color: #9a9a9a; }
[data-template="custom-cmg"] .cg-sheet-item-body strong { font-size: 1rem; line-height: 1.6; }
[data-template="custom-cmg"] .cg-sheet-item-body small { white-space: normal; }
[data-template="custom-cmg"] .cg-sheet-apps { list-style: none; margin: 0; padding: 0; }
[data-template="custom-cmg"] .cg-sheet-apps .cg-sheet-item > a, [data-template="custom-cmg"] .cg-sheet-apps .cg-sheet-item > span, [data-template="custom-cmg"] .cg-sheet-apps .cg-sheet-item-btn { display: grid; grid-template-columns: auto auto auto 1fr; align-items: center; gap: .6rem; }
[data-template="custom-cmg"] .cg-sheet-apps .cg-sheet-item small { grid-column: 1 / -1; white-space: normal; }
[data-template="custom-cmg"] .cg-sheet-apps .cg-sheet-badge { margin: 0; }
[data-template="custom-cmg"] .cg-sheet-pager { display: flex; flex-wrap: wrap; gap: .4rem; justify-content: center; margin: 2rem 0 0; font-size: .9375rem; }
[data-template="custom-cmg"] .cg-sheet-pager a, [data-template="custom-cmg"] .cg-sheet-pager span { min-width: 2.2rem; padding: .3rem .6rem; text-align: center; color: #231815; text-decoration: none; border-radius: 4px; }
[data-template="custom-cmg"] .cg-sheet-pager a:hover { background: #f4f4f4; }
[data-template="custom-cmg"] .cg-sheet-pager .is-current { background: #231815; color: #fff; font-weight: 700; }
[data-template="custom-cmg"] .cg-sheet-pager .is-disabled { color: #bbb; }

/* 窓口：フォーム・FAQ・用語集 */
[data-template="custom-cmg"] .cg-sheet-form { max-width: 640px; --color-text-primary: #231815; --color-text-secondary: #4a4a4a; --color-text-muted: #9a9a9a; --color-border: #ddd; --color-bg-secondary: #fff; }
[data-template="custom-cmg"] .cg-sheet-form label { font-size: .9375rem; }
[data-template="custom-cmg"] .cg-sheet-form input, [data-template="custom-cmg"] .cg-sheet-form textarea, [data-template="custom-cmg"] .cg-sheet-form select { font-size: 1rem; }
[data-template="custom-cmg"] .cg-sheet-qa { border-bottom: 1px solid #eee; }
[data-template="custom-cmg"] .cg-sheet-qa summary { display: flex; gap: .6rem; align-items: baseline; padding: .9rem 0; cursor: pointer; font-weight: 700; list-style: none; }
[data-template="custom-cmg"] .cg-sheet-qa summary::-webkit-details-marker { display: none; }
[data-template="custom-cmg"] .cg-sheet-qa summary span, [data-template="custom-cmg"] .cg-sheet-qa-a span { flex: none; font-weight: 700; color: #c61a22; }
[data-template="custom-cmg"] .cg-sheet-qa-a { display: flex; gap: .6rem; align-items: baseline; padding: 0 0 1rem; }
[data-template="custom-cmg"] .cg-sheet-qa-a .cg-sheet-line { color: #4a4a4a; }
[data-template="custom-cmg"] .cg-sheet-dl { margin: 0; }
[data-template="custom-cmg"] .cg-sheet-dl-row { display: grid; grid-template-columns: 12rem 1fr; gap: .4rem 1.2rem; padding: .7rem 0; border-bottom: 1px solid #eee; }
[data-template="custom-cmg"] .cg-sheet-dl dt { font-weight: 700; }
[data-template="custom-cmg"] .cg-sheet-dl dt a { color: #231815; text-decoration: none; }
[data-template="custom-cmg"] .cg-sheet-dl dt a:hover { text-decoration: underline; text-underline-offset: 4px; }
[data-template="custom-cmg"] .cg-sheet-dl dd { margin: 0; color: #4a4a4a; font-size: .9375rem; }
@media (max-width: 640px) { [data-template="custom-cmg"] .cg-sheet-dl-row { grid-template-columns: 1fr; } }

/* 技法：8色・マンダラ */
[data-template="custom-cmg"] .cg-sheet-colors { list-style: none; margin: 0 0 1.2rem; padding: 0; }
[data-template="custom-cmg"] .cg-sheet-colors li { display: grid; grid-template-columns: auto auto 1fr; align-items: center; gap: .3rem .6rem; padding: .45rem 0; border-bottom: 1px solid #eee; }
[data-template="custom-cmg"] .cg-sheet-colors strong { font-size: 1rem; }
[data-template="custom-cmg"] .cg-sheet-colors small { white-space: nowrap; }
[data-template="custom-cmg"] .cg-sheet-colors-ex { grid-column: 1 / -1; font-size: .8125rem; color: #6b6b6b; }
[data-template="custom-cmg"] .cg-sheet-mandala { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: repeat(3, minmax(0, 1fr)); gap: 6px; width: min(100%, 240px); aspect-ratio: 1; margin: 0 0 1.6rem; }
[data-template="custom-cmg"] .cg-sheet-mandala span { display: flex; align-items: center; justify-content: center; aspect-ratio: 1; min-height: 0; box-sizing: border-box; border-radius: 4px; opacity: .9; }
[data-template="custom-cmg"] .cg-sheet-mandala .is-center { background: #fff; border: 2px solid #231815; font-weight: 700; font-size: .9375rem; opacity: 1; }

/* 道具 */
[data-template="custom-cmg"] .cg-sheet-tools { list-style: none; margin: 0; padding: 0; }
[data-template="custom-cmg"] .cg-sheet-tool { display: grid; grid-template-columns: 240px 1fr; gap: 2rem; padding: 1.8rem 0; border-bottom: 1px solid #eee; align-items: start; }
[data-template="custom-cmg"] .cg-sheet-tool--text { grid-template-columns: 1fr; }
[data-template="custom-cmg"] .cg-sheet-tool-img { display: block; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 6px; background: #f4f4f4; }
[data-template="custom-cmg"] .cg-sheet-tool-img img { width: 100%; height: 100%; object-fit: cover; }
[data-template="custom-cmg"] .cg-sheet-tool-body .cg-sheet-h2 { margin-bottom: .6rem; gap: .5rem; flex-wrap: wrap; }
[data-template="custom-cmg"] .cg-sheet-tool-body .cg-sheet-h2 small { font-weight: 700; letter-spacing: .04em; }
[data-template="custom-cmg"] .cg-sheet-tool-body .cg-sheet-line { margin-bottom: .4rem; }
@media (max-width: 720px) { [data-template="custom-cmg"] .cg-sheet-tool { grid-template-columns: 1fr; gap: 1rem; } }

/* 体験：One アプリをシート幅で */
[data-template="custom-cmg"] .cg-sheet-app { margin: 0 0 1rem; }

/* 研修：自動見積 */
[data-template="custom-cmg"] .cg-sheet-est { display: flex; flex-direction: column; gap: .8rem; }
[data-template="custom-cmg"] .cg-sheet-est-row { display: grid; grid-template-columns: 5.5rem 1fr; align-items: center; gap: .6rem; font-size: .9375rem; }
[data-template="custom-cmg"] .cg-sheet-est-row span { font-weight: 700; }
[data-template="custom-cmg"] .cg-sheet-est select { width: 100%; font: inherit; font-size: 1rem; padding: .5rem .7rem; border: 1px solid #ccc; border-radius: 6px; background: #fff; color: #231815; }
[data-template="custom-cmg"] .cg-sheet-est-result { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 1rem; margin-top: .4rem; padding: 1rem 1.2rem; border: 2px solid #231815; border-radius: 6px; }
[data-template="custom-cmg"] .cg-sheet-est-caveat { flex-basis: 100%; margin: .6rem 0 0; padding-top: .6rem; border-top: 1px solid #ddd; font-size: .8125rem; line-height: 1.7; color: #444; font-weight: 400; }
[data-template="custom-cmg"] .cg-sheet-est-result span { font-weight: 700; }
[data-template="custom-cmg"] .cg-sheet-est-result strong { font-size: 1.6rem; letter-spacing: .02em; }
[data-template="custom-cmg"] .cg-sheet-est-result strong small { font-size: .875rem; margin-left: .2rem; }
/* 概要以外のシートでは注記（small）を折り返す（技法・研修で列をはみ出していた） */
[data-template="custom-cmg"].cg-sheet--plain small { white-space: normal; }
[data-template="custom-cmg"] .cg-sheet-est-result > span { white-space: nowrap; flex: none; }
[data-template="custom-cmg"] .cg-sheet-colors small { white-space: nowrap; }

/* ── 2026-11-08 フッター＝8 色の丸（yellow→navy→green→sky→pink→violet→silver→gold）。該当ページへリンク ── */
[data-template="custom-cmg"] .cg-dots-footer { background: #fff; padding: 2.5rem var(--cg-side) 3rem; }
[data-template="custom-cmg"] .cg-dots { display: flex; justify-content: center; align-items: center; gap: clamp(.9rem, 3vw, 1.6rem); margin: 0; padding: 0; list-style: none; }
[data-template="custom-cmg"] .cg-dot { position: relative; display: block; width: 1.1rem; height: 1.1rem; border-radius: 50%; background: var(--dot); transition: transform .2s ease; }
[data-template="custom-cmg"] .cg-dot:hover, [data-template="custom-cmg"] .cg-dot:focus-visible { transform: scale(1.35); }
[data-template="custom-cmg"] .cg-dot.is-active { box-shadow: 0 0 0 3px #fff, 0 0 0 4px var(--dot); }
[data-template="custom-cmg"] .cg-dot:focus-visible { outline: 2px solid #231815; outline-offset: 4px; }
/* 丸の下にページ名（ホバー／フォーカス時だけ表示。スクリーンリーダーには常に読まれる） */
[data-template="custom-cmg"] .cg-dot-label { position: absolute; top: calc(100% + .5rem); left: 50%; transform: translateX(-50%); font-size: .8125rem; font-weight: 700; color: #231815; white-space: nowrap; opacity: 0; pointer-events: none; transition: opacity .15s ease; }
[data-template="custom-cmg"] .cg-dot:hover .cg-dot-label, [data-template="custom-cmg"] .cg-dot:focus-visible .cg-dot-label { opacity: 1; }

/* ── 2026-11-08 SEI「コンテンツ幅を20%ひろく」：960→1152px、幅広 1080→1296px ── */
[data-template="custom-cmg"].cg-sheet { max-width: 1152px; }
[data-template="custom-cmg"].cg-sheet--wide { max-width: 1296px; }
