/*!
 * energy-guide.jp design system v5.0 (2026-05-23 エンタープライズ品質)
 * SVGイラスト・アニメーション・拡張パレット
 */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700;800;900&family=Inter:wght@400;500;600;700;800;900&family=Manrope:wght@600;700;800;900&display=swap');

:root {
  --eg-primary: #1e5b9a;
  --eg-primary-dark: #143f6e;
  --eg-primary-darker: #0a1a2e;
  --eg-primary-light: #3a7ab8;
  --eg-accent: #f7941d;
  --eg-accent-light: #ffae5c;
  --eg-accent-dark: #d97a07;
  --eg-success: #10b981;
  --eg-cyan: #06b6d4;
  --eg-purple: #8b5cf6;
  --eg-pink: #ec4899;
  --eg-yellow: #fbbf24;
  --eg-bg: #f8fafc;
  --eg-bg-soft: #fafbfc;
  --eg-text: #0f172a;
  --eg-text-muted: #475569;
  --eg-text-light: #94a3b8;
  --eg-border: #e2e8f0;
  --eg-border-light: #f1f5f9;
  --eg-shadow-xs: 0 1px 3px rgba(0,0,0,0.05);
  --eg-shadow-sm: 0 2px 8px rgba(15,23,42,0.06);
  --eg-shadow-md: 0 8px 24px rgba(15,23,42,0.10);
  --eg-shadow-lg: 0 16px 40px rgba(15,23,42,0.15);
  --eg-shadow-xl: 0 24px 60px rgba(15,23,42,0.22);
  --eg-shadow-2xl: 0 32px 80px rgba(15,23,42,0.30);
  --eg-radius-sm: 6px;
  --eg-radius-md: 10px;
  --eg-radius-lg: 16px;
  --eg-radius-xl: 24px;
  --eg-radius-2xl: 32px;
  --eg-font-display: 'Manrope', 'Inter', 'Noto Sans JP', sans-serif;
  --eg-font-body: 'Noto Sans JP', -apple-system, sans-serif;
}

body {
  font-feature-settings:'palt';
  letter-spacing:0.02em;
  line-height:1.85;
  color:var(--eg-text);
  background:#fff;
  font-family:var(--eg-font-body);
  overflow-x:hidden;
}

/* ===== Article headings (記事ページ) ===== */
.entry-content h2, article h2, .page h2, h2.wp-block-heading {
  position:relative;
  background:linear-gradient(95deg, var(--eg-primary), var(--eg-primary-dark) 85%) !important;
  color:#fff !important; padding:0.95em 1.2em 0.95em 1.4em !important;
  border-radius:var(--eg-radius-sm) !important;
  border:none !important; border-left:6px solid var(--eg-accent) !important;
  margin:2.8em 0 1.3em !important;
  font-size:1.55em !important; line-height:1.45 !important; font-weight:800 !important;
  box-shadow:var(--eg-shadow-md) !important;
  letter-spacing:0.05em !important;
  font-family:var(--eg-font-display);
}
.entry-content h3, article h3, .page h3, h3.wp-block-heading {
  border-left:5px solid var(--eg-accent) !important;
  background:linear-gradient(to right, #fff8ef 0%, #fff 92%) !important;
  padding:0.8em 1.2em !important; margin:2em 0 0.9em !important;
  font-size:1.3em !important; color:var(--eg-primary-dark) !important;
  font-weight:700 !important; border-radius:0 var(--eg-radius-sm) var(--eg-radius-sm) 0 !important;
}
.entry-content h4, article h4, h4.wp-block-heading {
  border-bottom:2.5px dotted var(--eg-border);
  padding-bottom:0.4em; margin:1.5em 0 0.7em;
  color:var(--eg-primary); font-weight:700; font-size:1.12em;
}
.entry-content p, article p, .page p { margin:1.1em 0; line-height:1.95; }
.entry-content ul li, article ul li, .page ul li, ul.wp-block-list li {
  margin:0.55em 0; padding-left:0.3em; line-height:1.8;
}
.entry-content ul, article ul, .page ul { padding-left:1.6em; margin:1em 0; }
.entry-content ul li::marker, article ul li::marker { color:var(--eg-primary); }
.entry-content ol li::marker, article ol li::marker { color:var(--eg-accent); font-weight:bold; }

table.eg-cmp, .eg-table-wrap table {
  width:100%; border-collapse:collapse; margin:1.8em 0; background:#fff;
  border-radius:var(--eg-radius-md); overflow:hidden; box-shadow:var(--eg-shadow-md);
}
table.eg-cmp th {
  background:linear-gradient(135deg, var(--eg-primary), var(--eg-primary-dark));
  color:#fff; padding:1em 1.2em; font-weight:700; border:none;
  font-size:0.95em; text-align:left;
}
table.eg-cmp td {
  padding:0.85em 1.2em; border-bottom:1px solid var(--eg-border);
  vertical-align:top; font-size:0.94em; line-height:1.7;
}
table.eg-cmp tr:nth-child(even) td { background:#f8fafc; }

/* ============================================================
 * ANIMATIONS
 * ============================================================ */
@keyframes fadeInUp {
  from { opacity:0; transform:translateY(30px); }
  to { opacity:1; transform:translateY(0); }
}
@keyframes fadeInLeft {
  from { opacity:0; transform:translateX(-30px); }
  to { opacity:1; transform:translateX(0); }
}
@keyframes fadeInRight {
  from { opacity:0; transform:translateX(30px); }
  to { opacity:1; transform:translateX(0); }
}
@keyframes scaleIn {
  from { opacity:0; transform:scale(0.9); }
  to { opacity:1; transform:scale(1); }
}
@keyframes pulse {
  0%,100% { opacity:0.5; transform:scale(1); }
  50% { opacity:1; transform:scale(1.08); }
}
@keyframes float {
  0%,100% { transform:translateY(0); }
  50% { transform:translateY(-12px); }
}
@keyframes rotate-slow {
  from { transform:rotate(0deg); }
  to { transform:rotate(360deg); }
}
@keyframes shine {
  from { background-position:200% center; }
  to { background-position:-200% center; }
}

/* ============================================================
 * HERO v5: 大型 + SVG装飾 + アニメ
 * ============================================================ */
.eg-hero {
  background:
    radial-gradient(circle at 80% 20%, rgba(247,148,29,0.30) 0%, transparent 50%),
    radial-gradient(circle at 20% 80%, rgba(6,182,212,0.18) 0%, transparent 50%),
    radial-gradient(circle at 50% 50%, rgba(139,92,246,0.10) 0%, transparent 60%),
    linear-gradient(135deg, #0a1a2e 0%, #143f6e 40%, #1e5b9a 100%);
  padding:8em 2em 7em; margin:0 -1em 4em;
  position:relative; overflow:hidden; color:#fff;
  border-radius:0 0 var(--eg-radius-2xl) var(--eg-radius-2xl);
}
.eg-hero::before {
  content:""; position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.04) 1px, transparent 1px);
  background-size:50px 50px;
  pointer-events:none; z-index:0;
  mask-image:linear-gradient(to bottom, rgba(0,0,0,0.6), transparent 70%);
  -webkit-mask-image:linear-gradient(to bottom, rgba(0,0,0,0.6), transparent 70%);
}
.eg-hero::after {
  content:""; position:absolute; top:-150px; right:-100px;
  width:700px; height:700px;
  background:radial-gradient(circle, rgba(247,148,29,0.20) 0%, transparent 65%);
  border-radius:50%; pointer-events:none; z-index:0;
  filter:blur(20px); animation:pulse 6s ease-in-out infinite;
}
/* Decorative orbs */
.eg-hero .orb {
  position:absolute; border-radius:50%; pointer-events:none; z-index:0;
}
.eg-hero .orb-1 {
  width:200px; height:200px; top:15%; left:8%;
  background:radial-gradient(circle, rgba(6,182,212,0.20) 0%, transparent 70%);
  animation:float 8s ease-in-out infinite;
}
.eg-hero .orb-2 {
  width:280px; height:280px; bottom:10%; right:15%;
  background:radial-gradient(circle, rgba(139,92,246,0.15) 0%, transparent 70%);
  animation:float 12s ease-in-out infinite reverse;
}

.eg-hero-inner {
  max-width:1280px; margin:0 auto; position:relative; z-index:1;
  display:grid; grid-template-columns:1.3fr 1fr; gap:4em; align-items:center;
}
.eg-hero-tag {
  display:inline-flex; align-items:center; gap:0.5em;
  background:rgba(247,148,29,0.18); color:var(--eg-accent-light);
  padding:0.55em 1.4em; border-radius:50px; font-size:0.85em; font-weight:800;
  letter-spacing:0.22em; margin-bottom:1.5em;
  border:1px solid rgba(247,148,29,0.4);
  backdrop-filter:blur(10px); font-family:var(--eg-font-display);
  animation:fadeInUp 0.8s ease-out;
}
.eg-hero-tag::before { content:"●"; color:var(--eg-accent); font-size:0.7em; animation:pulse 2s ease-in-out infinite; }
.eg-hero h1 {
  color:#fff !important; background:none !important; border:none !important;
  padding:0 !important; box-shadow:none !important;
  font-size:3.2em !important; line-height:1.3 !important;
  margin:0 0 1em !important; font-weight:900;
  letter-spacing:0.02em; font-family:var(--eg-font-display);
  text-shadow:0 4px 30px rgba(0,0,0,0.3);
  animation:fadeInUp 0.9s ease-out 0.1s both;
}
.eg-hero h1 .accent {
  background:linear-gradient(90deg, var(--eg-accent-light), var(--eg-accent));
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
  background-size:200% auto;
  animation:shine 6s linear infinite;
}
.eg-hero .lead {
  color:#cfdbed !important; font-size:1.18em !important; line-height:2 !important;
  margin:0 0 2.5em !important; max-width:580px;
  animation:fadeInUp 1s ease-out 0.2s both;
}
.eg-hero-cta {
  display:flex; gap:1em; flex-wrap:wrap;
  animation:fadeInUp 1.1s ease-out 0.3s both;
}
.eg-hero-cta .btn-primary {
  display:inline-flex; align-items:center; gap:0.7em;
  background:linear-gradient(135deg, var(--eg-accent), var(--eg-accent-dark));
  color:#fff !important; padding:1.3em 2.4em; border-radius:50px;
  font-weight:800; font-size:1.05em; text-decoration:none !important;
  box-shadow:0 14px 36px rgba(247,148,29,0.55), 0 0 0 1px rgba(255,255,255,0.15) inset;
  transition:all 0.25s cubic-bezier(0.4,0,0.2,1);
  position:relative; overflow:hidden;
}
.eg-hero-cta .btn-primary::before {
  content:""; position:absolute; inset:0;
  background:linear-gradient(135deg, transparent, rgba(255,255,255,0.25), transparent);
  transform:translateX(-100%); transition:transform 0.5s;
}
.eg-hero-cta .btn-primary:hover {
  transform:translateY(-4px);
  box-shadow:0 22px 50px rgba(247,148,29,0.75), 0 0 0 1px rgba(255,255,255,0.25) inset;
}
.eg-hero-cta .btn-primary:hover::before { transform:translateX(100%); }
.eg-hero-cta .btn-primary::after { content:"→"; font-weight:bold; }
.eg-hero-cta .btn-secondary {
  display:inline-flex; align-items:center; gap:0.6em;
  background:rgba(255,255,255,0.08); color:#fff !important; padding:1.3em 2em; border-radius:50px;
  font-weight:600; font-size:1em; text-decoration:none !important;
  border:1.5px solid rgba(255,255,255,0.25);
  backdrop-filter:blur(10px); transition:all 0.2s;
}
.eg-hero-cta .btn-secondary:hover {
  background:rgba(255,255,255,0.18); border-color:#fff;
}

/* Hero right - SVG illustration + panel */
.eg-hero-illust {
  position:relative; min-height:480px;
  animation:fadeInRight 1s ease-out 0.4s both;
}
.eg-hero-svg {
  width:100%; max-width:520px; margin:0 auto; display:block;
  filter:drop-shadow(0 20px 50px rgba(0,0,0,0.35));
}
.eg-hero-svg .sun {
  animation:pulse 4s ease-in-out infinite;
  transform-origin:center;
}
.eg-hero-svg .ray {
  animation:rotate-slow 60s linear infinite;
  transform-origin:240px 200px;
}

/* ============================================================
 * Trust bar
 * ============================================================ */
.eg-trust-bar {
  max-width:1280px; margin:-3em auto 5em; padding:1.8em 2em;
  background:#fff; border-radius:var(--eg-radius-xl);
  box-shadow:var(--eg-shadow-xl);
  display:grid; grid-template-columns:repeat(4, 1fr); gap:1em;
  position:relative; z-index:2;
  border:1px solid var(--eg-border-light);
  animation:fadeInUp 0.8s ease-out 0.5s both;
}
.eg-trust-item {
  text-align:center; padding:0.8em 0.5em;
  border-right:1px solid var(--eg-border-light);
  transition:transform 0.2s;
}
.eg-trust-item:last-child { border-right:none; }
.eg-trust-item:hover { transform:translateY(-3px); }
.eg-trust-item .icon-wrap {
  width:52px; height:52px; margin:0 auto 0.7em;
  border-radius:50%;
  background:linear-gradient(135deg, var(--eg-primary), var(--eg-primary-dark));
  color:#fff; display:flex; align-items:center; justify-content:center;
  font-size:1.5em; box-shadow:0 6px 16px rgba(20,63,110,0.3);
}
.eg-trust-item:nth-child(2) .icon-wrap {
  background:linear-gradient(135deg, var(--eg-accent), var(--eg-accent-dark));
  box-shadow:0 6px 16px rgba(247,148,29,0.3);
}
.eg-trust-item:nth-child(3) .icon-wrap {
  background:linear-gradient(135deg, var(--eg-cyan), #0891b2);
  box-shadow:0 6px 16px rgba(6,182,212,0.3);
}
.eg-trust-item:nth-child(4) .icon-wrap {
  background:linear-gradient(135deg, var(--eg-success), #059669);
  box-shadow:0 6px 16px rgba(16,185,129,0.3);
}
.eg-trust-item .ti-label {
  font-size:1em; font-weight:800; color:var(--eg-primary-dark);
  font-family:var(--eg-font-display);
}
.eg-trust-item .ti-sub {
  font-size:0.8em; color:var(--eg-text-muted); margin-top:0.3em;
}

/* ============================================================
 * Section title v5
 * ============================================================ */
.eg-section-title {
  text-align:center; max-width:1280px; margin:5em auto 1em !important;
  background:none !important; color:var(--eg-primary-dark) !important;
  border:none !important; padding:0 !important; box-shadow:none !important;
  font-size:2.4em !important; font-weight:900;
  letter-spacing:0.06em; position:relative;
  font-family:var(--eg-font-display) !important;
}
.eg-section-title .ovr {
  display:block; color:var(--eg-accent); font-size:0.5em;
  letter-spacing:0.4em; margin-bottom:0.6em; font-weight:800;
}
.eg-section-title::after {
  content:""; display:block; width:100px; height:5px;
  background:linear-gradient(90deg, var(--eg-primary), var(--eg-accent));
  margin:1em auto 0; border-radius:3px;
}
.eg-section-sub {
  text-align:center; max-width:720px; margin:0 auto 3em;
  color:var(--eg-text-muted); font-size:1.08em; line-height:1.9;
}

/* ============================================================
 * Category cards v5: グラデベース + colored
 * ============================================================ */
.eg-cat-grid {
  display:grid; grid-template-columns:repeat(3, 1fr); gap:2em;
  max-width:1280px; margin:1em auto 5em; padding:0 1em;
}
@media (max-width: 960px) { .eg-cat-grid { grid-template-columns:repeat(2, 1fr); } }
@media (max-width: 600px) { .eg-cat-grid { grid-template-columns:1fr; } }

.eg-cat-card {
  background:#fff; border:1px solid var(--eg-border);
  border-radius:var(--eg-radius-xl); padding:2.5em 2em 2.2em;
  transition:all 0.35s cubic-bezier(0.4,0,0.2,1);
  box-shadow:var(--eg-shadow-sm);
  position:relative; overflow:hidden;
}
.eg-cat-card::before {
  content:""; position:absolute; top:0; left:0; right:0; height:5px;
  background:linear-gradient(90deg, var(--eg-primary), var(--eg-accent));
  transition:height 0.3s;
}
.eg-cat-card::after {
  content:""; position:absolute; top:-30px; right:-30px;
  width:180px; height:180px;
  background:radial-gradient(circle, rgba(247,148,29,0.10) 0%, transparent 65%);
  pointer-events:none;
  transition:transform 0.5s;
}
.eg-cat-card:hover {
  transform:translateY(-10px); box-shadow:var(--eg-shadow-2xl);
  border-color:var(--eg-accent);
}
.eg-cat-card:hover::before { height:8px; }
.eg-cat-card:hover::after { transform:scale(1.4); }

/* category-specific colors */
.eg-cat-card.c-power::before { background:linear-gradient(90deg, var(--eg-primary), var(--eg-cyan)); }
.eg-cat-card.c-battery::before { background:linear-gradient(90deg, var(--eg-success), var(--eg-cyan)); }
.eg-cat-card.c-ppa::before { background:linear-gradient(90deg, var(--eg-accent), var(--eg-yellow)); }
.eg-cat-card.c-decarbo::before { background:linear-gradient(90deg, var(--eg-success), #34d399); }
.eg-cat-card.c-subsidy::before { background:linear-gradient(90deg, var(--eg-purple), var(--eg-pink)); }
.eg-cat-card.c-glossary::before { background:linear-gradient(90deg, var(--eg-primary), var(--eg-purple)); }

.eg-cat-card a { text-decoration:none !important; color:inherit; display:block; position:relative; z-index:1; }
.eg-cat-card .icon {
  width:74px; height:74px; border-radius:22px;
  display:flex; align-items:center; justify-content:center;
  margin-bottom:1.3em; font-size:2.1em; color:#fff;
  transition:transform 0.3s;
  box-shadow:0 10px 24px rgba(0,0,0,0.15),
             0 0 0 1px rgba(255,255,255,0.1) inset;
}
.eg-cat-card.c-power .icon { background:linear-gradient(135deg, var(--eg-primary), var(--eg-cyan)); }
.eg-cat-card.c-battery .icon { background:linear-gradient(135deg, var(--eg-success), var(--eg-cyan)); }
.eg-cat-card.c-ppa .icon { background:linear-gradient(135deg, var(--eg-accent), var(--eg-yellow)); }
.eg-cat-card.c-decarbo .icon { background:linear-gradient(135deg, var(--eg-success), #34d399); }
.eg-cat-card.c-subsidy .icon { background:linear-gradient(135deg, var(--eg-purple), var(--eg-pink)); }
.eg-cat-card.c-glossary .icon { background:linear-gradient(135deg, var(--eg-primary), var(--eg-purple)); }

.eg-cat-card:hover .icon { transform:rotate(-10deg) scale(1.08); }
.eg-cat-card h3 {
  color:var(--eg-primary-dark) !important; margin:0 0 0.7em !important;
  font-size:1.3em !important; border:none !important; padding:0 !important;
  background:none !important; font-weight:800;
  font-family:var(--eg-font-display) !important;
}
.eg-cat-card .desc {
  font-size:0.93em; color:var(--eg-text-muted);
  line-height:1.75; margin:0 0 1.3em;
}
.eg-cat-card .more {
  display:inline-flex; align-items:center; gap:0.4em;
  font-size:0.88em; color:var(--eg-accent); font-weight:800;
  letter-spacing:0.06em; transition:gap 0.2s;
  font-family:var(--eg-font-display);
}
.eg-cat-card:hover .more { gap:1em; color:var(--eg-accent-dark); }
.eg-cat-card .more::after { content:"→"; font-weight:bold; }

/* ============================================================
 * Data Viz v5: 大型バーチャート
 * ============================================================ */
.eg-data-viz {
  background:linear-gradient(135deg, #fafbfc 0%, #f0f5fc 100%);
  padding:6em 2em; margin:5em -1em;
  position:relative; overflow:hidden;
}
.eg-data-viz::before {
  content:""; position:absolute; inset:0;
  background-image:
    radial-gradient(circle at 20% 30%, rgba(30,91,154,0.05) 0%, transparent 40%),
    radial-gradient(circle at 80% 70%, rgba(247,148,29,0.05) 0%, transparent 40%);
  pointer-events:none;
}
.eg-data-grid {
  max-width:1280px; margin:0 auto;
  display:grid; grid-template-columns:repeat(4, 1fr); gap:1.6em;
  position:relative; z-index:1;
}
@media (max-width: 960px) { .eg-data-grid { grid-template-columns:repeat(2, 1fr); } }
@media (max-width: 600px) { .eg-data-grid { grid-template-columns:1fr; } }

.eg-data-card {
  background:#fff; border-radius:var(--eg-radius-lg);
  padding:2.2em 1.7em; text-align:left;
  box-shadow:var(--eg-shadow-sm);
  border:1px solid var(--eg-border-light);
  transition:transform 0.25s, box-shadow 0.25s;
  position:relative; overflow:hidden;
}
.eg-data-card::before {
  content:""; position:absolute; top:-30px; right:-30px;
  width:120px; height:120px; border-radius:50%;
  background:radial-gradient(circle, rgba(247,148,29,0.08) 0%, transparent 70%);
}
.eg-data-card:hover { transform:translateY(-5px); box-shadow:var(--eg-shadow-lg); }
.eg-data-card .dc-label {
  display:inline-block; font-size:0.78em; color:var(--eg-accent);
  background:#fff8ef; padding:0.35em 0.9em; border-radius:5px;
  font-weight:800; letter-spacing:0.1em; margin-bottom:0.9em;
  font-family:var(--eg-font-display);
}
.eg-data-card .dc-value {
  font-size:3em; font-weight:900; line-height:1;
  background:linear-gradient(135deg, var(--eg-primary-dark), var(--eg-primary));
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
  font-family:var(--eg-font-display);
  margin-bottom:0.4em;
}
.eg-data-card .dc-value .unit { font-size:0.4em; margin-left:0.2em; color:var(--eg-text-muted); -webkit-text-fill-color:var(--eg-text-muted); }
.eg-data-card .dc-title {
  font-size:1.05em; font-weight:800; color:var(--eg-text);
  margin-bottom:0.5em; line-height:1.5;
  font-family:var(--eg-font-display);
}
.eg-data-card .dc-desc {
  font-size:0.85em; color:var(--eg-text-muted); line-height:1.7; margin:0;
}
.eg-data-card .dc-bar {
  margin-top:1.2em; height:8px; background:var(--eg-border-light);
  border-radius:4px; overflow:hidden;
}
.eg-data-card .dc-bar-fill {
  height:100%; background:linear-gradient(90deg, var(--eg-primary), var(--eg-accent));
  border-radius:4px; transition:width 0.8s ease-out;
  position:relative;
}
.eg-data-card .dc-bar-fill::after {
  content:""; position:absolute; top:0; right:0; bottom:0;
  width:30px; background:linear-gradient(to right, transparent, rgba(255,255,255,0.4));
}

/* ============================================================
 * Mega CTA v5
 * ============================================================ */
.eg-mega-cta {
  background:
    radial-gradient(circle at 85% 30%, rgba(247,148,29,0.40) 0%, transparent 50%),
    radial-gradient(circle at 15% 70%, rgba(139,92,246,0.25) 0%, transparent 50%),
    linear-gradient(135deg, #0a1a2e 0%, #143f6e 50%, #1e5b9a 100%);
  color:#fff; padding:6em 2em; border-radius:var(--eg-radius-2xl);
  max-width:1280px; margin:5em auto; text-align:center;
  position:relative; overflow:hidden; box-shadow:var(--eg-shadow-2xl);
}
.eg-mega-cta::before {
  content:""; position:absolute; inset:0;
  background-image:linear-gradient(rgba(255,255,255,0.03) 1px, transparent 1px),
                   linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px);
  background-size:40px 40px;
  pointer-events:none;
  mask-image:radial-gradient(circle at center, rgba(0,0,0,0.6), transparent 80%);
  -webkit-mask-image:radial-gradient(circle at center, rgba(0,0,0,0.6), transparent 80%);
}
.eg-mega-cta .tag {
  display:inline-flex; align-items:center; gap:0.5em;
  background:rgba(247,148,29,0.2); color:var(--eg-accent-light);
  padding:0.5em 1.3em; border-radius:50px; font-size:0.85em; font-weight:800;
  letter-spacing:0.2em; border:1px solid rgba(247,148,29,0.4);
  position:relative; z-index:1; margin-bottom:1.5em;
  font-family:var(--eg-font-display);
}
.eg-mega-cta .tag::before { content:"✦"; color:var(--eg-accent); animation:pulse 3s ease-in-out infinite; }
.eg-mega-cta h2 {
  color:#fff !important; background:none !important; border:none !important;
  padding:0 !important; margin:0 auto 1em !important; font-size:2.4em !important;
  font-weight:900 !important; line-height:1.45 !important; box-shadow:none !important;
  position:relative; z-index:1; max-width:860px;
  font-family:var(--eg-font-display) !important;
}
.eg-mega-cta p {
  color:#dbe4f0 !important; font-size:1.15em; line-height:2;
  max-width:720px; margin:0 auto 2.8em; position:relative; z-index:1;
}
.eg-mega-cta .cta-buttons {
  display:flex; gap:1em; justify-content:center; flex-wrap:wrap;
  position:relative; z-index:1;
}
.eg-mega-cta a.cta-main {
  display:inline-flex; align-items:center; gap:0.7em;
  background:linear-gradient(135deg, var(--eg-accent), var(--eg-accent-dark));
  color:#fff !important; padding:1.4em 3em;
  border-radius:50px; font-weight:800; font-size:1.15em; text-decoration:none !important;
  box-shadow:0 16px 40px rgba(247,148,29,0.6), 0 0 0 1px rgba(255,255,255,0.15) inset;
  transition:all 0.25s;
}
.eg-mega-cta a.cta-main:hover {
  transform:translateY(-4px) scale(1.03);
  box-shadow:0 22px 52px rgba(247,148,29,0.8), 0 0 0 1px rgba(255,255,255,0.25) inset;
}
.eg-mega-cta a.cta-main::after { content:"→"; font-weight:bold; font-size:1.25em; }
.eg-mega-cta a.cta-sub {
  display:inline-flex; align-items:center; gap:0.6em;
  color:#fff; padding:1.4em 2.2em; border-radius:50px; font-weight:600;
  background:rgba(255,255,255,0.08); border:1.5px solid rgba(255,255,255,0.25);
  text-decoration:none !important; transition:all 0.2s;
  backdrop-filter:blur(10px);
}
.eg-mega-cta a.cta-sub:hover {
  background:rgba(255,255,255,0.18); border-color:#fff;
}

/* ============================================================
 * Featured grid v5
 * ============================================================ */
.eg-featured-grid {
  display:grid; grid-template-columns:repeat(3, 1fr); gap:1.8em;
  max-width:1280px; margin:1em auto 5em; padding:0 1em;
}
@media (max-width: 960px) { .eg-featured-grid { grid-template-columns:repeat(2, 1fr); } }
@media (max-width: 600px) { .eg-featured-grid { grid-template-columns:1fr; } }

.eg-feat-card {
  background:#fff; border:1px solid var(--eg-border);
  border-radius:var(--eg-radius-md); padding:1.6em 1.7em;
  transition:all 0.3s; box-shadow:var(--eg-shadow-xs);
  border-left:5px solid var(--eg-primary); position:relative;
  overflow:hidden;
}
.eg-feat-card::before {
  content:""; position:absolute; bottom:0; right:0;
  width:80px; height:80px;
  background:radial-gradient(circle, rgba(247,148,29,0.08) 0%, transparent 70%);
}
.eg-feat-card:hover {
  transform:translateY(-5px); box-shadow:var(--eg-shadow-lg);
  border-left-color:var(--eg-accent); border-left-width:6px;
}
.eg-feat-card a {
  text-decoration:none !important; color:var(--eg-primary-dark);
  font-weight:700; line-height:1.6; display:block; font-size:1em;
}
.eg-feat-card a:hover { color:var(--eg-accent); }
.eg-feat-card .cat-tag {
  display:inline-block; background:linear-gradient(135deg, var(--eg-bg), #f0f5fc);
  color:var(--eg-primary); padding:0.3em 0.9em; border-radius:5px;
  font-size:0.75em; font-weight:800; margin-bottom:0.8em; letter-spacing:0.08em;
  font-family:var(--eg-font-display);
}
.eg-feat-card .arrow-mark {
  display:inline-block; margin-top:0.8em; color:var(--eg-accent);
  font-weight:bold; font-size:0.88em; transition:transform 0.2s;
}
.eg-feat-card:hover .arrow-mark { transform:translateX(5px); }
.eg-feat-card .arrow-mark::after { content:" →"; }

/* ============================================================
 * Service cards v5
 * ============================================================ */
.eg-service-grid {
  display:grid; grid-template-columns:repeat(3, 1fr); gap:1.8em;
  max-width:1280px; margin:1em auto 5em; padding:0 1em;
}
@media (max-width: 960px) { .eg-service-grid { grid-template-columns:1fr; } }

.eg-service-card {
  background:#fff; border-radius:var(--eg-radius-xl);
  padding:2.8em 2em 2.2em; text-align:center;
  box-shadow:var(--eg-shadow-md);
  border:1px solid var(--eg-border-light);
  transition:all 0.3s;
  position:relative; overflow:hidden;
}
.eg-service-card.featured {
  border:2.5px solid var(--eg-accent);
  transform:translateY(-15px);
  box-shadow:var(--eg-shadow-2xl);
  background:linear-gradient(180deg, #fff 0%, #fff8ef 100%);
}
.eg-service-card.featured::before {
  content:"RECOMMENDED"; position:absolute; top:0; right:1.5em;
  background:linear-gradient(135deg, var(--eg-accent), var(--eg-accent-dark));
  color:#fff; padding:0.5em 1.2em; border-radius:0 0 10px 10px;
  font-size:0.72em; font-weight:900; letter-spacing:0.2em;
  font-family:var(--eg-font-display);
  box-shadow:0 6px 16px rgba(247,148,29,0.35);
}
.eg-service-card:hover { transform:translateY(-10px); box-shadow:var(--eg-shadow-2xl); }
.eg-service-card.featured:hover { transform:translateY(-20px); }
.eg-service-card .sc-icon {
  width:84px; height:84px; border-radius:24px;
  background:linear-gradient(135deg, var(--eg-primary), var(--eg-primary-dark));
  display:flex; align-items:center; justify-content:center;
  margin:0 auto 1.4em; font-size:2.3em; color:#fff;
  box-shadow:0 12px 28px rgba(20,63,110,0.3);
}
.eg-service-card.featured .sc-icon {
  background:linear-gradient(135deg, var(--eg-accent), var(--eg-accent-dark));
  box-shadow:0 12px 28px rgba(247,148,29,0.4);
}
.eg-service-card .sc-title {
  font-size:1.35em; font-weight:900; color:var(--eg-primary-dark);
  margin:0 0 0.5em; font-family:var(--eg-font-display);
}
.eg-service-card .sc-sub {
  font-size:0.93em; color:var(--eg-text-muted); margin:0 0 1.5em;
  line-height:1.7;
}
.eg-service-card ul.sc-points {
  list-style:none; padding:0; margin:0 0 1.8em; text-align:left;
}
.eg-service-card ul.sc-points li {
  padding:0.55em 0 0.55em 1.8em; position:relative;
  font-size:0.94em; line-height:1.65; color:var(--eg-text);
  border-bottom:1px dashed var(--eg-border-light);
}
.eg-service-card ul.sc-points li:last-child { border-bottom:none; }
.eg-service-card ul.sc-points li::before {
  content:""; position:absolute; left:0; top:0.6em;
  width:22px; height:22px; border-radius:50%;
  background:var(--eg-success);
}
.eg-service-card ul.sc-points li::after {
  content:""; position:absolute; left:7px; top:1em;
  width:8px; height:4px;
  border-left:2px solid #fff; border-bottom:2px solid #fff;
  transform:rotate(-45deg);
}
.eg-service-card.featured ul.sc-points li::before { background:var(--eg-accent); }
.eg-service-card .sc-cta {
  display:inline-block; padding:0.95em 2em;
  background:var(--eg-primary); color:#fff !important;
  border-radius:50px; font-weight:800; font-size:0.95em;
  text-decoration:none !important;
  box-shadow:0 8px 20px rgba(20,63,110,0.3);
  transition:all 0.2s;
  font-family:var(--eg-font-display);
}
.eg-service-card.featured .sc-cta {
  background:linear-gradient(135deg, var(--eg-accent), var(--eg-accent-dark));
  box-shadow:0 10px 24px rgba(247,148,29,0.45);
  padding:1.05em 2.4em; font-size:1em;
}
.eg-service-card .sc-cta:hover {
  transform:translateY(-3px);
  box-shadow:0 12px 28px rgba(20,63,110,0.45);
}

/* ============================================================
 * Process steps v5: 縦タイムライン風
 * ============================================================ */
.eg-process {
  max-width:1280px; margin:3em auto; padding:0 1em;
  display:grid; grid-template-columns:repeat(4, 1fr); gap:1.5em;
  position:relative;
}
.eg-process::before {
  content:""; position:absolute; top:50px; left:8%; right:8%; height:2px;
  background:linear-gradient(90deg, var(--eg-primary), var(--eg-accent));
  z-index:0;
}
@media (max-width: 960px) {
  .eg-process { grid-template-columns:repeat(2, 1fr); }
  .eg-process::before { display:none; }
}
@media (max-width: 480px) { .eg-process { grid-template-columns:1fr; } }

.eg-step {
  position:relative; padding:2.5em 1.5em 1.8em;
  background:#fff; border-radius:var(--eg-radius-lg);
  box-shadow:var(--eg-shadow-sm); border:1px solid var(--eg-border-light);
  transition:transform 0.2s, box-shadow 0.2s;
  z-index:1;
}
.eg-step:hover { transform:translateY(-5px); box-shadow:var(--eg-shadow-md); }
.eg-step .step-num {
  position:absolute; top:-22px; left:50%; transform:translateX(-50%);
  width:48px; height:48px; border-radius:50%;
  background:linear-gradient(135deg, var(--eg-accent), var(--eg-accent-dark));
  color:#fff; display:flex; align-items:center; justify-content:center;
  font-weight:900; font-size:1.2em; font-family:var(--eg-font-display);
  box-shadow:0 8px 20px rgba(247,148,29,0.45);
  border:3px solid #fff;
}
.eg-step h4 {
  font-size:1.1em; font-weight:900; color:var(--eg-primary-dark);
  margin:0.7em 0 0.5em; border:none; padding:0;
  font-family:var(--eg-font-display);
  text-align:center;
}
.eg-step p {
  font-size:0.88em; color:var(--eg-text-muted); margin:0; line-height:1.7;
}

/* ============================================================
 * FAQ accordion v5 (NEW)
 * ============================================================ */
.eg-faq {
  max-width:880px; margin:3em auto 5em; padding:0 1em;
}
.eg-faq-item {
  background:#fff; border:1px solid var(--eg-border);
  border-radius:var(--eg-radius-md); margin-bottom:1em;
  overflow:hidden; transition:box-shadow 0.2s, border-color 0.2s;
  box-shadow:var(--eg-shadow-xs);
}
.eg-faq-item:hover {
  box-shadow:var(--eg-shadow-md);
  border-color:var(--eg-accent);
}
.eg-faq-item summary {
  list-style:none;
  padding:1.4em 1.6em;
  cursor:pointer; font-weight:800; color:var(--eg-primary-dark);
  font-size:1.05em; display:flex; align-items:center; gap:1em;
  font-family:var(--eg-font-display);
}
.eg-faq-item summary::-webkit-details-marker { display:none; }
.eg-faq-item summary::before {
  content:"Q"; flex-shrink:0;
  width:36px; height:36px; border-radius:50%;
  background:linear-gradient(135deg, var(--eg-primary), var(--eg-primary-dark));
  color:#fff; display:flex; align-items:center; justify-content:center;
  font-weight:900; font-size:1em; font-family:var(--eg-font-display);
}
.eg-faq-item summary::after {
  content:"+"; margin-left:auto;
  width:32px; height:32px; border-radius:50%;
  background:var(--eg-bg); color:var(--eg-primary);
  display:flex; align-items:center; justify-content:center;
  font-size:1.4em; font-weight:bold; transition:transform 0.2s;
  font-family:var(--eg-font-display);
}
.eg-faq-item[open] summary::after {
  content:"−"; background:var(--eg-accent); color:#fff;
  transform:rotate(180deg);
}
.eg-faq-body {
  padding:0 1.6em 1.5em 4em;
  font-size:0.96em; line-height:1.9; color:var(--eg-text);
  border-top:1px solid var(--eg-border-light);
  padding-top:1.4em;
}
.eg-faq-body::before {
  content:"A"; display:inline-block;
  width:30px; height:30px; border-radius:50%;
  background:linear-gradient(135deg, var(--eg-accent), var(--eg-accent-dark));
  color:#fff; text-align:center; line-height:30px;
  font-weight:900; margin-right:0.8em; vertical-align:middle;
  font-family:var(--eg-font-display);
}

/* ============================================================
 * Industry showcase NEW v5
 * ============================================================ */
.eg-industries {
  display:grid; grid-template-columns:repeat(6, 1fr); gap:1em;
  max-width:1280px; margin:2em auto 4em; padding:0 1em;
}
@media (max-width: 960px) { .eg-industries { grid-template-columns:repeat(3, 1fr); } }
@media (max-width: 480px) { .eg-industries { grid-template-columns:repeat(2, 1fr); } }

.eg-industry {
  background:#fff; padding:1.5em 1em; text-align:center;
  border-radius:var(--eg-radius-md); border:1px solid var(--eg-border-light);
  transition:all 0.2s; box-shadow:var(--eg-shadow-xs);
}
.eg-industry:hover {
  transform:translateY(-4px); box-shadow:var(--eg-shadow-md);
  border-color:var(--eg-primary);
}
.eg-industry .icon {
  font-size:2.4em; margin-bottom:0.5em;
  display:block;
}
.eg-industry .name {
  font-size:0.88em; font-weight:700; color:var(--eg-primary-dark);
  line-height:1.4; font-family:var(--eg-font-display);
}

/* ============================================================
 * Authority block v5
 * ============================================================ */
.eg-authority {
  background:linear-gradient(135deg, #ffffff 0%, #f0f5fc 100%);
  border-radius:var(--eg-radius-xl); padding:4em 3em;
  max-width:1280px; margin:5em auto;
  border:1px solid var(--eg-border-light);
  position:relative; overflow:hidden;
  box-shadow:var(--eg-shadow-md);
}
.eg-authority::before {
  content:""; position:absolute; top:-50%; right:-15%; width:50%; height:200%;
  background:radial-gradient(ellipse, rgba(30,91,154,0.1) 0%, transparent 65%);
}
.eg-authority::after {
  content:""; position:absolute; bottom:-30%; left:-10%; width:35%; height:120%;
  background:radial-gradient(ellipse, rgba(247,148,29,0.08) 0%, transparent 70%);
}
.eg-authority-inner {
  display:grid; grid-template-columns:auto 1fr; gap:3.5em; align-items:center;
  position:relative; z-index:1;
}
@media (max-width: 768px) { .eg-authority-inner { grid-template-columns:1fr; text-align:center; } }
.eg-authority-badge {
  background:linear-gradient(135deg, var(--eg-primary) 0%, var(--eg-primary-dark) 100%);
  color:#fff; padding:2.5em 2.2em; border-radius:var(--eg-radius-lg);
  text-align:center; box-shadow:0 20px 48px rgba(20,63,110,0.35);
  min-width:240px; position:relative; overflow:hidden;
}
.eg-authority-badge::before {
  content:""; position:absolute; top:-25px; right:-25px;
  width:120px; height:120px;
  background:radial-gradient(circle, rgba(247,148,29,0.3) 0%, transparent 70%);
  border-radius:50%;
}
.eg-authority-badge .num {
  display:block; font-size:3.8em; font-weight:900; line-height:1;
  font-family:var(--eg-font-display); position:relative; z-index:1;
  background:linear-gradient(180deg, #fff, var(--eg-accent-light));
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
}
.eg-authority-badge .label {
  display:block; font-size:0.92em; margin-top:0.7em; opacity:0.92;
  position:relative; z-index:1;
}
.eg-authority-text h3 {
  color:var(--eg-primary-dark) !important; background:none !important;
  border:none !important; padding:0 !important; margin:0 0 1em !important;
  font-size:1.7em !important; font-weight:900;
  font-family:var(--eg-font-display) !important;
}
.eg-authority-text p {
  line-height:1.95; color:var(--eg-text); margin:0.8em 0; font-size:1em;
}

/* ============================================================
 * Rich Footer v5
 * ============================================================ */
.eg-rich-footer {
  background:
    radial-gradient(circle at 80% 0%, rgba(30,91,154,0.18) 0%, transparent 50%),
    linear-gradient(180deg, #0a1a2e 0%, #051018 100%);
  color:#aab8c8; padding:4.5em 2em 2.5em; margin:5em -1em 0;
  position:relative; overflow:hidden;
}
.eg-rich-footer::before {
  content:""; position:absolute; top:0; left:0; right:0; height:2px;
  background:linear-gradient(90deg, transparent, var(--eg-accent), var(--eg-accent), transparent);
}
.eg-rich-footer-inner {
  max-width:1280px; margin:0 auto;
  display:grid; grid-template-columns:1.7fr 1fr 1fr 1fr; gap:3em;
  position:relative; z-index:1;
}
@media (max-width: 768px) { .eg-rich-footer-inner { grid-template-columns:1fr 1fr; gap:2em; } }
@media (max-width: 480px) { .eg-rich-footer-inner { grid-template-columns:1fr; } }

.eg-rich-footer h5 {
  color:#fff; font-size:1.05em; font-weight:900; margin:0 0 1.3em;
  letter-spacing:0.12em; padding-bottom:0.7em;
  border-bottom:2px solid rgba(247,148,29,0.4);
  font-family:var(--eg-font-display);
}
.eg-rich-footer ul { list-style:none; padding:0; margin:0; }
.eg-rich-footer ul li { padding:0.4em 0; font-size:0.94em; }
.eg-rich-footer a { color:#cfd8e3; text-decoration:none; transition:all 0.15s; display:inline-block; }
.eg-rich-footer a:hover { color:var(--eg-accent); transform:translateX(4px); }
.eg-rich-footer .brand-block .name {
  color:#fff; font-size:1.6em; font-weight:900; margin-bottom:0.7em;
  font-family:var(--eg-font-display);
  background:linear-gradient(90deg, #fff 0%, var(--eg-accent-light) 50%, var(--eg-accent) 100%);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent;
  background-clip:text;
  background-size:200% auto;
  animation:shine 6s linear infinite;
}
.eg-rich-footer .brand-block p { font-size:0.93em; line-height:1.9; color:#aab8c8; }
.eg-rich-footer .brand-block .social {
  margin-top:1.6em; display:flex; gap:0.8em;
}
.eg-rich-footer .brand-block .social a {
  width:42px; height:42px; border-radius:50%;
  background:rgba(255,255,255,0.05); display:flex; align-items:center; justify-content:center;
  color:#fff; font-size:1.15em;
  border:1px solid rgba(255,255,255,0.1);
  transition:all 0.2s;
  text-decoration:none;
}
.eg-rich-footer .brand-block .social a:hover {
  background:var(--eg-accent); border-color:var(--eg-accent);
  transform:translateY(-3px);
}
.eg-rich-footer .copyright {
  max-width:1280px; margin:3.5em auto 0; padding-top:2.2em;
  border-top:1px solid rgba(255,255,255,0.08);
  text-align:center; font-size:0.88em; color:#7585a0;
}

/* ============================================================
 * Article-side blocks
 * ============================================================ */
.eg-supervisor-box {
  background:linear-gradient(135deg, #f8fafc 0%, #eef4fa 100%);
  border:1px solid var(--eg-border); border-left:6px solid var(--eg-primary);
  padding:1.7em 1.8em; border-radius:var(--eg-radius-md);
  margin:2.5em 0; box-shadow:var(--eg-shadow-sm);
}
.eg-supervisor-box .label {
  background:var(--eg-primary); color:#fff; font-size:0.78em;
  padding:0.3em 0.8em; border-radius:4px; display:inline-block;
  margin-bottom:0.6em; letter-spacing:0.12em; font-weight:700;
}
.eg-supervisor-box h4 { margin:0.3em 0 0.5em; font-size:1.25em; color:var(--eg-primary-dark); border:none; padding:0; font-weight:700; }
.eg-supervisor-box p { margin:0.3em 0; line-height:1.75; font-size:0.95em; }

.eg-related-auto {
  background:var(--eg-bg); padding:1.8em; border-radius:var(--eg-radius-md);
  margin:2.5em 0; border:1px solid var(--eg-border-light);
}
.eg-related-auto h4 { color:var(--eg-primary); margin:0 0 1em; font-size:1.15em; border:none; padding:0; font-weight:700; }
.eg-related-auto ul { list-style:none; padding:0; margin:0; }
.eg-related-auto ul li {
  padding:0.75em 1em 0.75em 1.8em; background:#fff; margin:0.4em 0;
  border-radius:var(--eg-radius-sm); transition:all 0.15s;
  position:relative; box-shadow:var(--eg-shadow-xs);
  border:1px solid var(--eg-border-light);
}
.eg-related-auto ul li:hover { transform:translateX(4px); border-color:var(--eg-accent); }
.eg-related-auto ul li::before { content:"→"; position:absolute; left:0.7em; color:var(--eg-accent); font-weight:bold; }
.eg-related-auto a { color:var(--eg-primary-dark); text-decoration:none; font-weight:600; }
.eg-related-auto a:hover { color:var(--eg-accent); }

.eg-lead {
  background:linear-gradient(to right, #f0f7ff 0%, #f8fbff 100%);
  border-left:6px solid var(--eg-primary); padding:1.5em 1.7em;
  border-radius:0 var(--eg-radius-md) var(--eg-radius-md) 0;
  margin:1.8em 0 2.5em; font-size:1.08em; line-height:1.95;
  box-shadow:var(--eg-shadow-sm);
}
.eg-conclusion {
  background:#fff8ef; border:2.5px solid var(--eg-accent);
  padding:1.5em 1.7em; border-radius:var(--eg-radius-md);
  margin:1.8em 0 2.5em; box-shadow:0 4px 12px rgba(247,148,29,0.15);
}
.eg-conclusion::before {
  content:"結論"; display:inline-block; background:var(--eg-accent); color:#fff;
  padding:0.3em 0.9em; border-radius:4px; font-size:0.85em; font-weight:700;
  margin-bottom:0.8em; letter-spacing:0.15em;
}
.eg-brand-family {
  background:linear-gradient(180deg, #0a1a2e 0%, #061222 100%);
  color:#aab8c8; padding:2.5em 2em; margin:0; text-align:center;
  font-size:0.92em; line-height:1.85;
}
.eg-brand-family a { color:var(--eg-accent); text-decoration:none; font-weight:700; }

.entry-content p a, .entry-content li a, article p a, article li a, .page p a, .page li a {
  color:var(--eg-primary); text-decoration:underline;
  text-decoration-color:rgba(30,91,154,0.35); text-underline-offset:3px;
  font-weight:600; transition:color 0.15s;
}
.entry-content p a:hover, article p a:hover {
  color:var(--eg-accent); text-decoration-color:var(--eg-accent);
}

blockquote {
  border-left:5px solid var(--eg-primary); background:#f9fbfd;
  padding:1.2em 1.5em; margin:1.8em 0; font-style:normal;
  color:var(--eg-text); border-radius:0 var(--eg-radius-sm) var(--eg-radius-sm) 0;
  box-shadow:var(--eg-shadow-sm);
}

img { max-width:100%; height:auto; border-radius:var(--eg-radius-sm); }
.post img { box-shadow:var(--eg-shadow-sm); }

/* ============================================================
 * Mobile responsive
 * ============================================================ */
@media (max-width: 768px) {
  .eg-hero { padding:4em 1.5em 3em; margin:0 -1em 3em; border-radius:0 0 var(--eg-radius-lg) var(--eg-radius-lg); }
  .eg-hero-inner { grid-template-columns:1fr; gap:2.5em; }
  .eg-hero h1 { font-size:2.1em !important; }
  .eg-hero .lead { font-size:1.04em !important; }
  .eg-hero-illust { min-height:280px; }
  .eg-trust-bar { grid-template-columns:repeat(2, 1fr); gap:1em; padding:1.2em; }
  .eg-trust-item:nth-child(2) { border-right:none; }
  .eg-section-title { font-size:1.8em !important; margin:3.5em auto 1em !important; }
  .eg-mega-cta h2 { font-size:1.6em !important; }
  .eg-mega-cta { padding:3.5em 1.5em; }
  .eg-data-viz { padding:3.5em 1em; margin:3em -1em; }
  .eg-authority { padding:2.5em 1.5em; }
  .eg-authority-badge { min-width:auto; padding:1.8em 1em; }
  .eg-service-card.featured { transform:none; }
  .eg-rich-footer { padding:3em 1.5em 2em; }
  .eg-data-card .dc-value { font-size:2.5em; }
}


/* ============================================================
 * TOPページ (page-id-47) 全幅レイアウト・サイドバー非表示
 * ============================================================ */
body.page-id-47 #side,
body.page-id-47 #sidebar,
body.page-id-47 .sidebar-l,
body.page-id-47 .sidebar-r,
body.page-id-47 aside.l-sidebar,
body.page-id-47 aside#side {
  display:none !important;
}

body.page-id-47 #content {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-right:0 !important;
  padding-left:0 !important;
  float:none !important;
}

body.page-id-47 #main {
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  padding:0 !important;
  float:none !important;
}

body.page-id-47 .post,
body.page-id-47 .entry-content,
body.page-id-47 article {
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  border:none !important;
  background:transparent !important;
  box-shadow:none !important;
}

body.page-id-47 #content-w {
  padding:0 !important;
}

body.page-id-47 .mainbox {
  padding:0 !important;
  margin:0 !important;
}

body.page-id-47 .entry-meta,
body.page-id-47 .post-meta,
body.page-id-47 .post-date,
body.page-id-47 .entry-title,
body.page-id-47 .post .kanren,
body.page-id-47 #breadcrumb,
body.page-id-47 .breadcrumb {
  display:none !important;
}

/* メインタイトル (TOPページの h1.title) を非表示 - eg-hero で代替するため */
body.page-id-47 .post h1.entry-title,
body.page-id-47 .post-title,
body.page-id-47 h1.title {
  display:none !important;
}

/* ヒーローはコンテンツ幅を超えてフルワイド */
body.page-id-47 .eg-hero,
body.page-id-47 .eg-rich-footer,
body.page-id-47 .eg-data-viz {
  margin-left:calc(-50vw + 50%) !important;
  margin-right:calc(-50vw + 50%) !important;
  width:100vw !important;
  max-width:100vw !important;
  border-radius:0 !important;
  box-sizing:border-box;
}
body.page-id-47 .eg-hero {
  border-radius:0 0 32px 32px !important;
}

/* MAX-WIDTH コンテナとして使うため */
body.page-id-47 #wrapper-in {
  max-width:none !important;
  width:100% !important;
  padding:0 !important;
}

/* ========================================
 * 他全ページの記事ボディは sidebar 維持しつつ、
 * 念のため記事側の幅を最大化
 * ======================================== */
body.single #content,
body.archive #content,
body.category #content {
  /* Affinger default を尊重 */
}


/* ============================================================
 * v6 PREMIUM additions: animations, logo, image cards, article CTA
 * ============================================================ */

/* === fade-in animations === */
.eg-cat-card, .eg-feat-card, .eg-data-card, .eg-service-card, .eg-step, .eg-stat-mini, .eg-industry, .eg-faq-item, .eg-trust-item {
  opacity:0; transform:translateY(24px);
  transition:opacity 0.6s cubic-bezier(0.4,0,0.2,1), transform 0.6s cubic-bezier(0.4,0,0.2,1);
}
.eg-cat-card.eg-in, .eg-feat-card.eg-in, .eg-data-card.eg-in, .eg-service-card.eg-in,
.eg-step.eg-in, .eg-stat-mini.eg-in, .eg-industry.eg-in, .eg-faq-item.eg-in, .eg-trust-item.eg-in {
  opacity:1; transform:translateY(0);
}

/* === Logo SVG in header === */
.eg-logo {
  display:inline-flex; align-items:center; gap:0.7em;
  text-decoration:none !important;
  font-family:var(--eg-font-display);
}
.eg-logo .logo-mark {
  width:42px; height:42px;
  background:linear-gradient(135deg, var(--eg-primary), var(--eg-primary-dark));
  border-radius:12px;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 6px 16px rgba(20,63,110,0.3);
  position:relative; overflow:hidden;
}
.eg-logo .logo-mark::before {
  content:""; position:absolute; top:-50%; right:-50%;
  width:80%; height:160%;
  background:radial-gradient(circle, rgba(247,148,29,0.6) 0%, transparent 65%);
}
.eg-logo .logo-mark svg { width:24px; height:24px; position:relative; z-index:1; }
.eg-logo .logo-text {
  display:flex; flex-direction:column; line-height:1;
}
.eg-logo .logo-name {
  font-size:1.1em; font-weight:900; color:var(--eg-primary-dark);
  letter-spacing:0.05em;
}
.eg-logo .logo-tag {
  font-size:0.65em; color:var(--eg-text-muted); font-weight:600;
  letter-spacing:0.2em; margin-top:0.3em;
}

/* AFFINGER header overrides */
#site-title, #site-title-text { padding:0 !important; }
.st-header-logo-image { padding:0 !important; }

/* === Image-based featured cards === */
.eg-feat-card-img {
  background:#fff; border:1px solid var(--eg-border);
  border-radius:var(--eg-radius-lg); overflow:hidden;
  transition:all 0.3s; box-shadow:var(--eg-shadow-xs);
  display:flex; flex-direction:column;
  position:relative;
}
.eg-feat-card-img:hover {
  transform:translateY(-6px); box-shadow:var(--eg-shadow-xl);
}
.eg-feat-card-img a {
  text-decoration:none !important; color:inherit; display:flex; flex-direction:column;
  height:100%;
}
.eg-feat-card-img .thumb {
  width:100%; aspect-ratio:16/9; overflow:hidden; position:relative;
  background:linear-gradient(135deg, var(--eg-primary), var(--eg-primary-dark));
}
.eg-feat-card-img .thumb img {
  width:100%; height:100%; object-fit:cover;
  transition:transform 0.5s;
  border-radius:0 !important;
}
.eg-feat-card-img:hover .thumb img { transform:scale(1.08); }
.eg-feat-card-img .thumb::after {
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, transparent 50%, rgba(10,26,46,0.4));
}
.eg-feat-card-img .cat-tag {
  position:absolute; top:1em; left:1em; z-index:2;
  display:inline-block;
  background:rgba(255,255,255,0.95); color:var(--eg-primary-dark);
  padding:0.35em 0.9em; border-radius:50px;
  font-size:0.75em; font-weight:800; letter-spacing:0.08em;
  backdrop-filter:blur(10px);
  font-family:var(--eg-font-display);
  box-shadow:0 4px 12px rgba(0,0,0,0.15);
}
.eg-feat-card-img .body {
  padding:1.4em 1.5em 1.6em; flex:1;
  display:flex; flex-direction:column;
}
.eg-feat-card-img .body h4 {
  font-size:1em; font-weight:800; color:var(--eg-primary-dark);
  margin:0 0 0.6em; line-height:1.5;
  font-family:var(--eg-font-display);
  border:none; padding:0;
}
.eg-feat-card-img:hover .body h4 { color:var(--eg-accent); }
.eg-feat-card-img .body p {
  font-size:0.86em; color:var(--eg-text-muted);
  line-height:1.65; margin:0 0 1em; flex:1;
}
.eg-feat-card-img .read-more {
  color:var(--eg-accent); font-weight:800; font-size:0.85em;
  letter-spacing:0.05em; display:flex; align-items:center; gap:0.4em;
  margin-top:auto;
  font-family:var(--eg-font-display);
}
.eg-feat-card-img:hover .read-more { gap:0.7em; }
.eg-feat-card-img .read-more::after { content:"→"; font-weight:bold; }

/* === Article-page CTA banner === */
.eg-article-cta-banner {
  background:
    radial-gradient(circle at 80% 30%, rgba(247,148,29,0.35) 0%, transparent 55%),
    linear-gradient(135deg, var(--eg-primary) 0%, var(--eg-primary-dark) 100%);
  color:#fff;
  padding:2.5em 2em;
  border-radius:var(--eg-radius-xl);
  margin:3em 0;
  position:relative;
  overflow:hidden;
  box-shadow:0 20px 50px rgba(20,63,110,0.3);
}
.eg-article-cta-banner::before {
  content:""; position:absolute; inset:0;
  background-image:linear-gradient(rgba(255,255,255,0.03) 1px, transparent 1px),
                   linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px);
  background-size:30px 30px;
  pointer-events:none;
  mask-image:radial-gradient(circle at center, rgba(0,0,0,0.6), transparent 80%);
}
.eg-article-cta-banner-inner {
  position:relative; z-index:1;
  display:grid; grid-template-columns:1fr auto; gap:2em; align-items:center;
}
@media (max-width: 600px) {
  .eg-article-cta-banner-inner { grid-template-columns:1fr; text-align:center; }
}
.eg-article-cta-banner .label {
  display:inline-block; background:rgba(247,148,29,0.25);
  color:var(--eg-accent-light); padding:0.4em 1.1em; border-radius:50px;
  font-size:0.75em; font-weight:800; letter-spacing:0.18em;
  margin-bottom:0.7em; border:1px solid rgba(247,148,29,0.4);
  font-family:var(--eg-font-display);
}
.eg-article-cta-banner h3 {
  color:#fff !important; background:none !important; border:none !important;
  padding:0 !important; margin:0 0 0.5em !important;
  font-size:1.35em !important; font-weight:900;
  font-family:var(--eg-font-display) !important;
}
.eg-article-cta-banner p {
  color:#dbe4f0 !important; margin:0 !important;
  font-size:0.95em; line-height:1.7;
}
.eg-article-cta-banner .btn {
  display:inline-flex; align-items:center; gap:0.6em;
  background:linear-gradient(135deg, var(--eg-accent), var(--eg-accent-dark));
  color:#fff !important; padding:1.1em 2em; border-radius:50px;
  font-weight:800; font-size:1em; text-decoration:none !important;
  white-space:nowrap;
  box-shadow:0 10px 24px rgba(247,148,29,0.45);
  transition:all 0.25s;
  font-family:var(--eg-font-display);
}
.eg-article-cta-banner .btn:hover {
  transform:translateY(-3px); color:#fff !important;
  box-shadow:0 14px 32px rgba(247,148,29,0.6);
}
.eg-article-cta-banner .btn::after { content:"→"; font-weight:bold; }

/* === Floating bottom CTA (mobile-only by default) === */
.eg-float-cta {
  position:fixed; bottom:20px; right:20px; z-index:9999;
  background:linear-gradient(135deg, var(--eg-accent), var(--eg-accent-dark));
  color:#fff; padding:0.95em 1.4em; border-radius:50px;
  font-weight:800; font-size:0.95em; text-decoration:none !important;
  box-shadow:0 10px 28px rgba(247,148,29,0.5);
  display:inline-flex; align-items:center; gap:0.5em;
  transition:all 0.25s;
  font-family:var(--eg-font-display);
  border:2px solid rgba(255,255,255,0.2);
}
.eg-float-cta:hover {
  transform:translateY(-3px) scale(1.05);
  box-shadow:0 16px 36px rgba(247,148,29,0.7);
  color:#fff !important;
}
.eg-float-cta::before { content:"✉"; font-size:1.1em; }
@media (min-width: 1100px) {
  .eg-float-cta { bottom:30px; right:30px; padding:1.1em 1.8em; }
}

/* === Improved typography for article body === */
.entry-content, article {
  font-size:16.5px;
  line-height:2.0;
}

/* === Pre/code blocks === */
.entry-content pre, article pre {
  background:#0f172a; color:#e2e8f0;
  padding:1.4em 1.6em; border-radius:var(--eg-radius-md);
  overflow-x:auto; font-size:0.9em;
  box-shadow:var(--eg-shadow-md);
}
.entry-content code, article code {
  background:#f1f5f9; color:var(--eg-primary-dark);
  padding:0.15em 0.5em; border-radius:4px;
  font-size:0.9em; font-weight:600;
}

/* === Make TOPの注目記事グリッド大型化 === */
body.page-id-47 .eg-featured-grid {
  grid-template-columns:repeat(3, 1fr); gap:1.8em;
  max-width:1200px;
}
@media (max-width: 960px) {
  body.page-id-47 .eg-featured-grid { grid-template-columns:repeat(2, 1fr); }
}
@media (max-width: 600px) {
  body.page-id-47 .eg-featured-grid { grid-template-columns:1fr; }
}


/* ============================================================
 * v7 ENTERPRISE FINAL: 巨大ヒーロー・ヘッダー・新セクション
 * ============================================================ */

/* === Sticky custom header bar === */
.eg-topbar {
  position:fixed; top:0; left:0; right:0; z-index:1000;
  background:rgba(10,26,46,0.92);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  padding:0.85em 0;
  border-bottom:1px solid rgba(255,255,255,0.08);
  transition:all 0.3s;
}
body.scrolled .eg-topbar {
  background:rgba(10,26,46,0.98);
  box-shadow:0 4px 24px rgba(0,0,0,0.3);
  padding:0.6em 0;
}
.eg-topbar-inner {
  max-width:1280px; margin:0 auto; padding:0 2em;
  display:flex; align-items:center; gap:2em;
}
.eg-topbar-logo {
  display:flex; align-items:center; gap:0.7em;
  text-decoration:none !important;
  flex-shrink:0;
}
.eg-topbar-logo .lg-mark {
  width:38px; height:38px;
  background:linear-gradient(135deg, var(--eg-accent), var(--eg-accent-dark));
  border-radius:10px;
  display:flex; align-items:center; justify-content:center;
  font-weight:900; color:#fff; font-size:1.2em;
  font-family:var(--eg-font-display);
  box-shadow:0 6px 16px rgba(247,148,29,0.4);
}
.eg-topbar-logo .lg-text {
  display:flex; flex-direction:column; line-height:1; gap:3px;
}
.eg-topbar-logo .lg-name {
  font-size:1.1em; font-weight:900; color:#fff;
  letter-spacing:0.04em;
  font-family:var(--eg-font-display);
}
.eg-topbar-logo .lg-tag {
  font-size:0.65em; color:var(--eg-accent-light);
  letter-spacing:0.22em; font-weight:700;
  font-family:var(--eg-font-display);
}
.eg-topbar-nav {
  display:flex; gap:1.6em; margin-left:auto; align-items:center;
}
.eg-topbar-nav a {
  color:#cfd8e3; text-decoration:none !important; font-size:0.92em;
  font-weight:600; transition:color 0.15s;
  font-family:var(--eg-font-display);
}
.eg-topbar-nav a:hover { color:var(--eg-accent-light); }
.eg-topbar-cta {
  display:inline-flex; align-items:center; gap:0.5em;
  background:linear-gradient(135deg, var(--eg-accent), var(--eg-accent-dark));
  color:#fff !important; padding:0.7em 1.4em; border-radius:50px;
  font-weight:800; font-size:0.9em; text-decoration:none !important;
  box-shadow:0 8px 20px rgba(247,148,29,0.4);
  transition:all 0.2s;
  font-family:var(--eg-font-display);
}
.eg-topbar-cta:hover {
  transform:translateY(-2px); color:#fff !important;
  box-shadow:0 12px 28px rgba(247,148,29,0.6);
}
.eg-topbar-cta::after { content:"→"; }

/* Hide original AFFINGER header on TOP */
body.page-id-47 #header, body.page-id-47 #header-wrap,
body.page-id-47 #headbox, body.page-id-47 #st-header-fix,
body.page-id-47 .st-header-fix { display:none !important; }

/* Body padding for fixed topbar */
body.page-id-47 { padding-top:72px; }
@media (max-width: 768px) {
  .eg-topbar-inner { padding:0 1em; gap:1em; }
  .eg-topbar-nav { display:none; }
  body.page-id-47 { padding-top:64px; }
}

/* === Mega Hero v7 (80vh, larger typography) === */
.eg-hero {
  min-height:88vh; padding:6em 2em 5em !important;
  display:flex; align-items:center;
}
.eg-hero-inner { max-width:1320px !important; }
.eg-hero h1 {
  font-size:3.6em !important;
  line-height:1.25 !important;
}
@media (max-width: 768px) {
  .eg-hero { min-height:auto; padding:5em 1.5em 4em !important; }
  .eg-hero h1 { font-size:2.1em !important; }
}

/* === Industry Trends NEW v7 === */
.eg-trends {
  max-width:1280px; margin:5em auto; padding:0 1em;
}
.eg-trends-grid {
  display:grid; grid-template-columns:repeat(3, 1fr); gap:1.8em;
}
@media (max-width: 960px) { .eg-trends-grid { grid-template-columns:repeat(2, 1fr); } }
@media (max-width: 600px) { .eg-trends-grid { grid-template-columns:1fr; } }

.eg-trend-card {
  position:relative; background:#fff;
  border-radius:var(--eg-radius-lg); overflow:hidden;
  box-shadow:var(--eg-shadow-md); transition:all 0.3s;
  display:flex; flex-direction:column;
  border:1px solid var(--eg-border-light);
}
.eg-trend-card:hover { transform:translateY(-6px); box-shadow:var(--eg-shadow-xl); }
.eg-trend-card a { color:inherit; text-decoration:none !important; display:flex; flex-direction:column; height:100%; }
.eg-trend-card .tc-header {
  padding:1.3em 1.5em; color:#fff;
  position:relative; overflow:hidden;
  background:linear-gradient(135deg, var(--eg-primary), var(--eg-primary-dark));
  min-height:120px;
  display:flex; flex-direction:column; justify-content:space-between;
}
.eg-trend-card.t-policy .tc-header { background:linear-gradient(135deg, #1e5b9a, #143f6e); }
.eg-trend-card.t-market .tc-header { background:linear-gradient(135deg, var(--eg-accent), var(--eg-accent-dark)); }
.eg-trend-card.t-tech .tc-header { background:linear-gradient(135deg, #06b6d4, #0e7490); }
.eg-trend-card .tc-header::before {
  content:""; position:absolute; top:-50%; right:-25%;
  width:60%; height:200%;
  background:radial-gradient(ellipse, rgba(255,255,255,0.18) 0%, transparent 60%);
}
.eg-trend-card .tc-label {
  display:inline-flex; align-items:center; gap:0.5em;
  background:rgba(255,255,255,0.15); color:#fff;
  padding:0.35em 0.9em; border-radius:50px;
  font-size:0.72em; font-weight:800; letter-spacing:0.15em;
  backdrop-filter:blur(10px);
  font-family:var(--eg-font-display);
  position:relative; z-index:1;
  width:fit-content;
}
.eg-trend-card .tc-title {
  font-size:1.3em; font-weight:900; line-height:1.4;
  position:relative; z-index:1; margin:0;
  font-family:var(--eg-font-display);
}
.eg-trend-card .tc-body { padding:1.4em 1.5em 1.6em; flex:1; }
.eg-trend-card .tc-body p {
  font-size:0.93em; line-height:1.75; color:var(--eg-text-muted);
  margin:0 0 1em;
}
.eg-trend-card .tc-arrow {
  color:var(--eg-accent); font-weight:800; font-size:0.88em;
  letter-spacing:0.05em;
  font-family:var(--eg-font-display);
}
.eg-trend-card .tc-arrow::after { content:" →"; transition:all 0.2s; }
.eg-trend-card:hover .tc-arrow::after { padding-left:5px; }

/* === Large Data Visualization SVG === */
.eg-bigviz {
  background:linear-gradient(135deg, #0a1a2e 0%, #143f6e 100%);
  color:#fff; padding:5em 2em; margin:6em -1em 5em;
  position:relative; overflow:hidden;
}
.eg-bigviz::before {
  content:""; position:absolute; inset:0;
  background-image:linear-gradient(rgba(255,255,255,0.03) 1px, transparent 1px),
                   linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px);
  background-size:50px 50px;
  mask-image:radial-gradient(circle at 50% 30%, rgba(0,0,0,0.5), transparent 70%);
  pointer-events:none;
}
.eg-bigviz::after {
  content:""; position:absolute; top:-30%; right:-15%;
  width:60%; height:120%;
  background:radial-gradient(ellipse, rgba(247,148,29,0.18) 0%, transparent 65%);
  pointer-events:none;
}
.eg-bigviz-inner {
  max-width:1280px; margin:0 auto;
  position:relative; z-index:1;
}
.eg-bigviz .eg-section-title {
  color:#fff !important; margin-top:0 !important;
}
.eg-bigviz .eg-section-title .ovr { color:var(--eg-accent-light); }
.eg-bigviz .eg-section-sub { color:#cfd8e3; }
.eg-bigviz-chart {
  display:grid; grid-template-columns:1fr 1fr; gap:3em;
  margin-top:3em; align-items:center;
}
@media (max-width: 960px) { .eg-bigviz-chart { grid-template-columns:1fr; } }

.eg-chart-bars {
  display:flex; flex-direction:column; gap:1.5em;
}
.eg-chart-bar {
  position:relative;
}
.eg-chart-bar .label {
  display:flex; justify-content:space-between; align-items:baseline;
  margin-bottom:0.5em;
}
.eg-chart-bar .label .name {
  font-size:1em; font-weight:700; color:#fff;
  font-family:var(--eg-font-display);
}
.eg-chart-bar .label .value {
  font-size:1.4em; font-weight:900; color:var(--eg-accent-light);
  font-family:var(--eg-font-display);
}
.eg-chart-bar .value .unit { font-size:0.6em; opacity:0.8; margin-left:0.15em; }
.eg-chart-bar .track {
  height:12px; background:rgba(255,255,255,0.1);
  border-radius:6px; overflow:hidden;
}
.eg-chart-bar .fill {
  height:100%;
  background:linear-gradient(90deg, var(--eg-accent), var(--eg-accent-light));
  border-radius:6px;
  box-shadow:0 0 16px rgba(247,148,29,0.5);
  transition:width 1.2s cubic-bezier(0.4,0,0.2,1);
  position:relative;
}
.eg-chart-bar .fill::after {
  content:""; position:absolute; inset:0;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent);
  background-size:200% 100%;
}
.eg-chart-stats {
  display:grid; grid-template-columns:1fr 1fr; gap:1.5em;
}
.eg-chart-stat {
  background:rgba(255,255,255,0.05);
  border:1px solid rgba(255,255,255,0.1);
  border-radius:var(--eg-radius-md);
  padding:1.5em; backdrop-filter:blur(10px);
}
.eg-chart-stat .num {
  font-size:2.4em; font-weight:900; line-height:1;
  color:var(--eg-accent-light);
  font-family:var(--eg-font-display);
}
.eg-chart-stat .lbl {
  display:block; font-size:0.85em; color:#cfd8e3;
  margin-top:0.5em; line-height:1.5;
}

/* === Testimonials NEW v7 === */
.eg-testimonials {
  max-width:1280px; margin:5em auto; padding:0 1em;
}
.eg-testi-grid {
  display:grid; grid-template-columns:repeat(3, 1fr); gap:1.8em;
}
@media (max-width: 960px) { .eg-testi-grid { grid-template-columns:1fr; } }

.eg-testi {
  background:#fff; border-radius:var(--eg-radius-lg);
  padding:2.2em 2em 1.8em; box-shadow:var(--eg-shadow-md);
  border:1px solid var(--eg-border-light);
  position:relative; transition:transform 0.3s, box-shadow 0.3s;
}
.eg-testi::before {
  content:'"'; position:absolute; top:-20px; left:1.5em;
  font-size:5em; line-height:1; color:var(--eg-accent);
  font-family:Georgia, serif; opacity:0.7;
  font-weight:900;
}
.eg-testi:hover { transform:translateY(-4px); box-shadow:var(--eg-shadow-lg); }
.eg-testi .quote {
  font-size:0.98em; line-height:1.85; color:var(--eg-text);
  margin:0 0 1.5em; padding-top:0.5em;
}
.eg-testi .meta {
  display:flex; align-items:center; gap:0.9em;
  padding-top:1.2em; border-top:1px solid var(--eg-border-light);
}
.eg-testi .avatar {
  width:48px; height:48px; border-radius:50%;
  background:linear-gradient(135deg, var(--eg-primary), var(--eg-primary-dark));
  color:#fff; display:flex; align-items:center; justify-content:center;
  font-weight:900; font-size:1em; font-family:var(--eg-font-display);
  flex-shrink:0;
}
.eg-testi.t-2 .avatar { background:linear-gradient(135deg, var(--eg-accent), var(--eg-accent-dark)); }
.eg-testi.t-3 .avatar { background:linear-gradient(135deg, var(--eg-cyan), #0891b2); }
.eg-testi .info { flex:1; }
.eg-testi .name {
  font-size:0.95em; font-weight:800; color:var(--eg-primary-dark);
  font-family:var(--eg-font-display);
}
.eg-testi .role {
  font-size:0.78em; color:var(--eg-text-muted); margin-top:0.15em;
}

/* === Newsletter NEW v7 === */
.eg-newsletter {
  background:
    radial-gradient(circle at 80% 30%, rgba(247,148,29,0.25) 0%, transparent 50%),
    linear-gradient(135deg, var(--eg-primary-dark) 0%, var(--eg-primary-darker) 100%);
  color:#fff; padding:4em 2em; border-radius:var(--eg-radius-2xl);
  max-width:1280px; margin:5em auto;
  position:relative; overflow:hidden;
  box-shadow:var(--eg-shadow-2xl);
}
.eg-newsletter::before {
  content:""; position:absolute; inset:0;
  background-image:linear-gradient(rgba(255,255,255,0.03) 1px, transparent 1px),
                   linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px);
  background-size:40px 40px;
  mask-image:radial-gradient(circle at center, rgba(0,0,0,0.5), transparent 80%);
  pointer-events:none;
}
.eg-newsletter-inner {
  max-width:880px; margin:0 auto;
  display:grid; grid-template-columns:1fr 1fr; gap:2.5em; align-items:center;
  position:relative; z-index:1;
}
@media (max-width: 768px) { .eg-newsletter-inner { grid-template-columns:1fr; text-align:center; } }

.eg-newsletter .tag {
  display:inline-block; background:rgba(247,148,29,0.2); color:var(--eg-accent-light);
  padding:0.4em 1.1em; border-radius:50px;
  font-size:0.78em; font-weight:800; letter-spacing:0.2em;
  border:1px solid rgba(247,148,29,0.4);
  margin-bottom:1em; font-family:var(--eg-font-display);
}
.eg-newsletter h3 {
  color:#fff !important; background:none !important;
  border:none !important; padding:0 !important;
  margin:0 0 0.7em !important; font-size:1.6em !important;
  font-weight:900;
  font-family:var(--eg-font-display) !important;
}
.eg-newsletter p {
  color:#cfd8e3 !important; font-size:0.98em; line-height:1.85;
  margin:0 !important;
}
.eg-newsletter-form .field-row {
  display:flex; gap:0.8em; margin-bottom:0.8em;
}
.eg-newsletter input[type="email"] {
  flex:1; padding:1em 1.3em; border-radius:50px; border:none;
  background:rgba(255,255,255,0.95); color:var(--eg-text);
  font-size:0.95em; outline:none;
  box-shadow:0 6px 16px rgba(0,0,0,0.2);
  font-family:var(--eg-font-body);
}
.eg-newsletter button, .eg-newsletter .submit-btn {
  background:linear-gradient(135deg, var(--eg-accent), var(--eg-accent-dark));
  color:#fff; border:none; padding:1em 1.8em; border-radius:50px;
  font-weight:800; font-size:0.95em; cursor:pointer;
  box-shadow:0 8px 20px rgba(247,148,29,0.5);
  transition:all 0.2s; white-space:nowrap;
  font-family:var(--eg-font-display);
}
.eg-newsletter button:hover { transform:translateY(-2px); }
.eg-newsletter .note {
  font-size:0.78em; color:#9fb1c8; margin-top:0.5em;
}

/* === Industries enhanced v7 === */
.eg-industries {
  display:grid; grid-template-columns:repeat(6, 1fr); gap:1.2em;
  max-width:1280px; margin:2em auto 5em; padding:0 1em;
}
@media (max-width: 960px) { .eg-industries { grid-template-columns:repeat(3, 1fr); } }
@media (max-width: 480px) { .eg-industries { grid-template-columns:repeat(2, 1fr); } }

.eg-industry {
  background:#fff; padding:2em 1em; text-align:center;
  border-radius:var(--eg-radius-lg); border:1px solid var(--eg-border-light);
  transition:all 0.25s; box-shadow:var(--eg-shadow-xs);
  position:relative; overflow:hidden;
}
.eg-industry::before {
  content:""; position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg, var(--eg-primary), var(--eg-accent));
  transform:scaleX(0); transform-origin:left;
  transition:transform 0.4s;
}
.eg-industry:hover {
  transform:translateY(-6px); box-shadow:var(--eg-shadow-lg);
  border-color:transparent;
}
.eg-industry:hover::before { transform:scaleX(1); }
.eg-industry .icon {
  font-size:2.8em; margin-bottom:0.6em;
  display:block; line-height:1;
  transition:transform 0.3s;
}
.eg-industry:hover .icon { transform:scale(1.15) rotate(-5deg); }
.eg-industry .name {
  font-size:0.95em; font-weight:800; color:var(--eg-primary-dark);
  line-height:1.4; font-family:var(--eg-font-display);
}

/* === Larger section title for v7 === */
.eg-section-title {
  font-size:2.6em !important;
}
@media (max-width: 768px) { .eg-section-title { font-size:1.9em !important; } }

/* === Spacing improvements === */
body.page-id-47 .eg-cat-grid,
body.page-id-47 .eg-data-grid,
body.page-id-47 .eg-service-grid,
body.page-id-47 .eg-featured-grid,
body.page-id-47 .eg-industries,
body.page-id-47 .eg-trends-grid,
body.page-id-47 .eg-testi-grid {
  max-width:1320px;
}

body.page-id-47 .eg-section-title {
  margin:6em auto 1.5em !important;
}


/* ============================================================
 * Category / Archive page strong design (v7+)
 * ============================================================ */

/* Category hero */
body.category #content-w,
body.archive #content-w {
  padding-top:0 !important;
}

body.category #content,
body.archive #content {
  padding-top:0 !important;
}

body.category .archive_h1,
body.category .archive_h,
body.category h1.archive_h1,
body.category .archive-title,
body.category .archive_h2,
body.archive .archive_h1 {
  background:
    radial-gradient(circle at 80% 30%, rgba(247,148,29,0.30) 0%, transparent 50%),
    linear-gradient(135deg, #0a1a2e 0%, #143f6e 50%, #1e5b9a 100%) !important;
  color:#fff !important;
  padding:4em 2em 3.5em !important;
  margin:0 0 3em !important;
  border:none !important;
  font-size:2.5em !important;
  font-weight:900 !important;
  text-align:center;
  font-family:var(--eg-font-display) !important;
  position:relative;
  overflow:hidden;
  border-radius:0 0 var(--eg-radius-xl) var(--eg-radius-xl);
  box-shadow:var(--eg-shadow-xl);
}
body.category .archive_h1::before {
  content:""; position:absolute; inset:0;
  background-image:linear-gradient(rgba(255,255,255,0.04) 1px, transparent 1px),
                   linear-gradient(90deg, rgba(255,255,255,0.04) 1px, transparent 1px);
  background-size:50px 50px;
  pointer-events:none;
  mask-image:radial-gradient(circle at center, rgba(0,0,0,0.5), transparent 75%);
}

/* Category description */
body.category .archive_desc,
body.category .cat-description,
body.category .archive-description {
  max-width:780px; margin:-2em auto 3em !important;
  text-align:center;
  font-size:1.05em; line-height:1.95;
  color:var(--eg-text-muted);
}

/* Category-specific colors */
body.category-corporate-power .archive_h1 { background:linear-gradient(135deg, #0a1a2e 0%, #1e5b9a 100%) !important; }
body.category-battery-storage .archive_h1 { background:linear-gradient(135deg, #064e3b 0%, #06b6d4 100%) !important; }
body.category-ppa-renewable .archive_h1 { background:linear-gradient(135deg, #92400e 0%, #f7941d 100%) !important; }
body.category-decarbonization .archive_h1 { background:linear-gradient(135deg, #064e3b 0%, #10b981 100%) !important; }
body.category-subsidy .archive_h1 { background:linear-gradient(135deg, #4c1d95 0%, #ec4899 100%) !important; }
body.category-glossary .archive_h1 { background:linear-gradient(135deg, #1e3a8a 0%, #8b5cf6 100%) !important; }

/* Category article cards */
body.category #main .post,
body.category #main article,
body.archive #main article {
  background:#fff !important;
  border:1px solid var(--eg-border) !important;
  border-radius:var(--eg-radius-lg) !important;
  margin-bottom:1.5em !important;
  padding:0 !important;
  overflow:hidden !important;
  transition:all 0.25s !important;
  box-shadow:var(--eg-shadow-sm) !important;
  display:flex !important;
  flex-direction:row !important;
  gap:0 !important;
}
body.category #main .post:hover,
body.archive #main article:hover {
  transform:translateY(-3px) !important;
  box-shadow:var(--eg-shadow-lg) !important;
  border-color:var(--eg-accent) !important;
}

/* Card image */
body.category #main .post .thumb,
body.category #main .post .entry-thumb,
body.category #main .post a img.attachment-thumbnail,
body.archive #main article .thumb {
  width:280px !important;
  min-width:280px !important;
  aspect-ratio:16/10 !important;
  overflow:hidden !important;
  position:relative !important;
}
body.category #main .post .thumb img,
body.archive #main article .thumb img {
  width:100% !important; height:100% !important;
  object-fit:cover !important;
  border-radius:0 !important;
  transition:transform 0.4s !important;
}
body.category #main .post:hover .thumb img {
  transform:scale(1.06) !important;
}

/* Card body */
body.category #main .post .entry-body,
body.category #main .post .card-content {
  padding:1.5em 2em !important; flex:1 !important;
  display:flex !important;
  flex-direction:column !important;
}

/* Card title */
body.category #main .post h2,
body.category #main article h2,
body.category #main .post .entry-card-title,
body.archive #main article h2 {
  background:none !important;
  border:none !important;
  padding:0 0 0.5em !important;
  margin:0 0 0.8em !important;
  box-shadow:none !important;
  color:var(--eg-primary-dark) !important;
  font-size:1.2em !important;
  line-height:1.5 !important;
  font-weight:800 !important;
  font-family:var(--eg-font-display) !important;
}
body.category #main .post h2 a,
body.category #main article h2 a {
  color:var(--eg-primary-dark) !important;
  text-decoration:none !important;
  transition:color 0.2s;
}
body.category #main .post h2 a:hover {
  color:var(--eg-accent) !important;
}

/* Card excerpt */
body.category #main .post .entry-snippet,
body.category #main .post .entry-card-snippet,
body.category #main .post p {
  color:var(--eg-text-muted) !important;
  font-size:0.92em !important;
  line-height:1.75 !important;
  margin:0 0 0.8em !important;
}

/* Read more */
body.category #main .post .entry-read,
body.category #main .post .more-link {
  display:inline-block !important;
  color:var(--eg-accent) !important;
  font-weight:800 !important;
  font-size:0.88em !important;
  margin-top:auto;
  font-family:var(--eg-font-display) !important;
  text-decoration:none !important;
}
body.category #main .post .entry-read::after { content:" →"; }

/* Mobile responsive */
@media (max-width: 768px) {
  body.category #main .post,
  body.archive #main article {
    flex-direction:column !important;
  }
  body.category #main .post .thumb,
  body.archive #main article .thumb {
    width:100% !important; min-width:auto !important;
    aspect-ratio:16/9 !important;
  }
  body.category #main .post .entry-body {
    padding:1.3em 1.5em !important;
  }
  body.category .archive_h1 { font-size:1.8em !important; padding:3em 1.5em 2.5em !important; }
}

/* Pagination */
body.category .pagination,
body.category .wp-pagenavi,
body.archive .pagination {
  text-align:center !important;
  margin:3em 0 !important;
}
body.category .pagination a,
body.category .pagination span,
body.category .wp-pagenavi a,
body.category .wp-pagenavi span {
  display:inline-flex !important;
  align-items:center !important; justify-content:center !important;
  min-width:42px !important; height:42px !important;
  padding:0 0.8em !important;
  margin:0 0.2em !important;
  background:#fff !important;
  border:1px solid var(--eg-border) !important;
  border-radius:var(--eg-radius-sm) !important;
  color:var(--eg-primary) !important;
  font-weight:700 !important;
  text-decoration:none !important;
  transition:all 0.2s;
  font-family:var(--eg-font-display) !important;
}
body.category .pagination a:hover,
body.category .pagination .current,
body.category .wp-pagenavi a:hover,
body.category .wp-pagenavi .current {
  background:linear-gradient(135deg, var(--eg-primary), var(--eg-primary-dark)) !important;
  color:#fff !important; border-color:var(--eg-primary) !important;
  box-shadow:var(--eg-shadow-sm);
}

/* Sidebar styling on category */
body.category #side,
body.archive #side {
  /* keep but style */
}
body.category .widget,
body.archive .widget {
  background:#fff !important;
  border:1px solid var(--eg-border-light) !important;
  border-radius:var(--eg-radius-md) !important;
  padding:1.4em !important;
  margin-bottom:1.5em !important;
  box-shadow:var(--eg-shadow-xs) !important;
}
body.category .widget-title,
body.category .widget h3 {
  background:linear-gradient(95deg, var(--eg-primary), var(--eg-primary-dark)) !important;
  color:#fff !important;
  padding:0.7em 1em !important;
  border-radius:var(--eg-radius-sm) !important;
  margin:-1.4em -1.4em 1em -1.4em !important;
  border:none !important; border-left:5px solid var(--eg-accent) !important;
  font-size:1em !important;
  font-weight:800;
  font-family:var(--eg-font-display);
}

/* === Single post page improvements === */
body.single .post,
body.single article {
  background:#fff !important;
  border-radius:var(--eg-radius-lg) !important;
  box-shadow:var(--eg-shadow-sm) !important;
  padding:2.5em 2.8em !important;
  margin:0 0 2em !important;
  border:1px solid var(--eg-border-light) !important;
}
@media (max-width: 768px) {
  body.single .post, body.single article {
    padding:1.5em 1.3em !important;
  }
}

/* Single post title */
body.single .post .entry-title,
body.single article h1.entry-title,
body.single article > h1 {
  font-size:1.9em !important;
  font-weight:900 !important;
  color:var(--eg-primary-dark) !important;
  line-height:1.45 !important;
  margin:0 0 1.2em !important;
  padding-bottom:0.8em !important;
  border-bottom:3px solid var(--eg-accent) !important;
  font-family:var(--eg-font-display) !important;
}

/* Single post date */
body.single .post .post-meta,
body.single .post .entry-meta {
  font-size:0.85em;
  color:var(--eg-text-muted);
  margin-bottom:1.5em;
}

/* Single post featured image */
body.single .post .post-thumb,
body.single article .eyecatch,
body.single article .post-thumbnail {
  margin:0 0 2em !important;
  border-radius:var(--eg-radius-md) !important;
  overflow:hidden;
  box-shadow:var(--eg-shadow-md);
}


/* === Category hero (v7) === */
.eg-cat-hero {
  padding:4em 2em;
  margin:0 0 3em 0;
  color:#fff;
  position:relative; overflow:hidden;
  border-radius:0 0 var(--eg-radius-xl) var(--eg-radius-xl);
  box-shadow:var(--eg-shadow-xl);
}
.eg-cat-hero::before {
  content:""; position:absolute; inset:0;
  background-image:linear-gradient(rgba(255,255,255,0.04) 1px, transparent 1px),
                   linear-gradient(90deg, rgba(255,255,255,0.04) 1px, transparent 1px);
  background-size:50px 50px;
  pointer-events:none;
  mask-image:radial-gradient(circle at center, rgba(0,0,0,0.5), transparent 75%);
  -webkit-mask-image:radial-gradient(circle at center, rgba(0,0,0,0.5), transparent 75%);
}
.eg-cat-hero-inner {
  max-width:1100px; margin:0 auto; position:relative; z-index:1;
  display:grid; grid-template-columns:auto 1fr; gap:2em; align-items:center;
}
@media (max-width: 600px) {
  .eg-cat-hero-inner { grid-template-columns:1fr; text-align:center; }
}
.eg-cat-hero-icon {
  width:90px; height:90px; border-radius:24px;
  background:rgba(255,255,255,0.15);
  border:1.5px solid rgba(255,255,255,0.25);
  display:flex; align-items:center; justify-content:center;
  font-size:2.6em;
  backdrop-filter:blur(10px);
  box-shadow:0 12px 28px rgba(0,0,0,0.3);
}
.eg-cat-hero-text { flex:1; }
.eg-cat-hero-label {
  display:inline-block;
  background:rgba(247,148,29,0.2); color:#ffae5c;
  padding:0.4em 1.1em; border-radius:50px;
  font-size:0.78em; font-weight:800; letter-spacing:0.22em;
  border:1px solid rgba(247,148,29,0.4);
  margin-bottom:0.8em;
  font-family:var(--eg-font-display);
}
.eg-cat-hero h1 {
  color:#fff !important; background:none !important; border:none !important;
  padding:0 !important; box-shadow:none !important;
  margin:0 0 0.5em !important; font-size:2.4em !important;
  font-weight:900 !important; line-height:1.3 !important;
  font-family:var(--eg-font-display) !important;
  letter-spacing:0.04em;
}
.eg-cat-hero p {
  color:#dbe4f0 !important; font-size:1em; line-height:1.8;
  margin:0 0 1em !important;
  max-width:680px;
}
.eg-cat-hero-meta {
  display:flex; gap:1.5em; flex-wrap:wrap;
  font-size:0.92em; color:#cfd8e3;
}
.eg-cat-hero-meta strong {
  color:#fff; font-weight:900;
  font-family:var(--eg-font-display);
  font-size:1.15em;
}

@media (max-width: 768px) {
  .eg-cat-hero { padding:3em 1.5em; border-radius:0 0 var(--eg-radius-lg) var(--eg-radius-lg); }
  .eg-cat-hero h1 { font-size:1.7em !important; }
  .eg-cat-hero-icon { width:70px; height:70px; font-size:2em; }
}


/* ============================================================
 * v8: fixed-cost.com 参考の新セクション
 * ============================================================ */

/* === Diagnosis cards (お悩み別エネルギー診断) === */
.eg-diagnosis {
  max-width:1280px; margin:5em auto; padding:0 1em;
}
.eg-diag-grid {
  display:grid; grid-template-columns:repeat(4, 1fr); gap:1.4em;
}
@media (max-width: 960px) { .eg-diag-grid { grid-template-columns:repeat(2, 1fr); } }
@media (max-width: 480px) { .eg-diag-grid { grid-template-columns:1fr; } }

.eg-diag-card {
  background:#fff; border-radius:var(--eg-radius-lg);
  padding:2em 1.5em; text-align:center;
  border:2px solid var(--eg-border);
  transition:all 0.3s; cursor:pointer;
  position:relative; overflow:hidden;
}
.eg-diag-card::before {
  content:""; position:absolute; top:0; left:0; right:0; height:4px;
  background:linear-gradient(90deg, var(--eg-primary), var(--eg-accent));
  transform:scaleX(0); transform-origin:left;
  transition:transform 0.4s;
}
.eg-diag-card:hover {
  transform:translateY(-6px); border-color:var(--eg-accent);
  box-shadow:var(--eg-shadow-xl);
}
.eg-diag-card:hover::before { transform:scaleX(1); }
.eg-diag-card a { color:inherit; text-decoration:none !important; display:block; }
.eg-diag-card .icon {
  width:64px; height:64px; margin:0 auto 1em;
  border-radius:16px;
  background:linear-gradient(135deg, var(--eg-primary), var(--eg-primary-dark));
  display:flex; align-items:center; justify-content:center;
  font-size:1.8em; color:#fff;
  box-shadow:0 8px 20px rgba(20,63,110,0.3);
  transition:transform 0.3s;
}
.eg-diag-card:hover .icon {
  transform:rotate(-10deg) scale(1.1);
  background:linear-gradient(135deg, var(--eg-accent), var(--eg-accent-dark));
}
.eg-diag-card .question {
  font-size:1.02em; font-weight:800; color:var(--eg-primary-dark);
  margin:0 0 0.7em; line-height:1.5;
  font-family:var(--eg-font-display);
}
.eg-diag-card .answer {
  display:inline-block; margin-top:0.6em;
  font-size:0.85em; font-weight:700; color:var(--eg-accent);
  letter-spacing:0.06em;
  font-family:var(--eg-font-display);
}
.eg-diag-card .answer::after { content:" →"; }

/* === Cost reduction effect bars === */
.eg-cost-bars {
  max-width:1080px; margin:5em auto; padding:2.5em 2em;
  background:linear-gradient(135deg, #ffffff 0%, #f0f5fc 100%);
  border-radius:var(--eg-radius-xl);
  box-shadow:var(--eg-shadow-md);
  border:1px solid var(--eg-border-light);
}
.eg-cost-bars h3 {
  font-size:1.4em !important; font-weight:900 !important;
  color:var(--eg-primary-dark) !important;
  text-align:center; margin:0 0 0.5em !important;
  background:none !important; border:none !important;
  padding:0 !important; box-shadow:none !important;
  font-family:var(--eg-font-display) !important;
}
.eg-cost-bars .subtitle {
  text-align:center; color:var(--eg-text-muted);
  font-size:0.93em; margin-bottom:2em;
}
.eg-cost-item {
  margin-bottom:1.5em;
}
.eg-cost-item .top {
  display:flex; justify-content:space-between; align-items:baseline;
  margin-bottom:0.5em;
}
.eg-cost-item .name {
  font-weight:800; color:var(--eg-primary-dark);
  font-size:1em;
  font-family:var(--eg-font-display);
}
.eg-cost-item .value {
  font-size:1.4em; font-weight:900; color:var(--eg-accent);
  font-family:var(--eg-font-display);
}
.eg-cost-item .value .unit { font-size:0.55em; color:var(--eg-text-muted); margin-left:0.3em; }
.eg-cost-item .bar {
  height:14px; background:#e2e8f0;
  border-radius:7px; overflow:hidden;
  position:relative;
}
.eg-cost-item .fill {
  height:100%;
  background:linear-gradient(90deg, var(--eg-primary), var(--eg-accent));
  border-radius:7px;
  position:relative;
  box-shadow:0 0 12px rgba(247,148,29,0.4);
  transition:width 1.2s cubic-bezier(0.4,0,0.2,1);
}
.eg-cost-item .fill::after {
  content:""; position:absolute; inset:0;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent);
  background-size:200% 100%;
}
.eg-cost-item .note {
  font-size:0.82em; color:var(--eg-text-muted);
  margin-top:0.3em;
}

/* === "こんな方におすすめ" Checklist === */
.eg-target {
  max-width:1280px; margin:5em auto; padding:0 1em;
}
.eg-target-grid {
  display:grid; grid-template-columns:repeat(2, 1fr); gap:2em;
}
@media (max-width: 768px) { .eg-target-grid { grid-template-columns:1fr; } }

.eg-target-card {
  background:#fff; border-radius:var(--eg-radius-lg);
  padding:2.2em 2em; box-shadow:var(--eg-shadow-md);
  border:1px solid var(--eg-border-light);
  position:relative; overflow:hidden;
}
.eg-target-card.t-yes::before {
  content:"こんな方におすすめ"; position:absolute; top:0; left:0; right:0;
  padding:0.7em 1.4em; background:linear-gradient(135deg, var(--eg-success), #059669);
  color:#fff; font-size:0.85em; font-weight:800; letter-spacing:0.12em;
  text-align:center;
  font-family:var(--eg-font-display);
}
.eg-target-card.t-no::before {
  content:"以下に該当する方も"; position:absolute; top:0; left:0; right:0;
  padding:0.7em 1.4em; background:linear-gradient(135deg, #6366f1, #4f46e5);
  color:#fff; font-size:0.85em; font-weight:800; letter-spacing:0.12em;
  text-align:center;
  font-family:var(--eg-font-display);
}
.eg-target-card ul {
  list-style:none; padding:0; margin:3.2em 0 0;
}
.eg-target-card ul li {
  padding:0.7em 0 0.7em 2em;
  position:relative;
  font-size:0.96em; line-height:1.7;
  border-bottom:1px dashed var(--eg-border-light);
}
.eg-target-card ul li:last-child { border-bottom:none; }
.eg-target-card.t-yes ul li::before {
  content:""; position:absolute; left:0; top:0.95em;
  width:22px; height:22px; border-radius:50%;
  background:var(--eg-success);
}
.eg-target-card.t-yes ul li::after {
  content:""; position:absolute; left:7px; top:1.35em;
  width:8px; height:4px;
  border-left:2px solid #fff; border-bottom:2px solid #fff;
  transform:rotate(-45deg);
}
.eg-target-card.t-no ul li::before {
  content:""; position:absolute; left:0; top:0.95em;
  width:22px; height:22px; border-radius:50%;
  background:#6366f1; color:#fff; text-align:center; line-height:22px;
}
.eg-target-card.t-no ul li::after {
  content:"+"; position:absolute; left:5px; top:0.65em;
  color:#fff; font-weight:900; font-size:1.1em;
}

/* === 3-axis service comparison v8 === */
.eg-compare-3 {
  max-width:1280px; margin:5em auto; padding:0 1em;
}
.eg-compare-grid {
  display:grid; grid-template-columns:repeat(3, 1fr); gap:1.5em;
  margin-top:2em;
}
@media (max-width: 768px) { .eg-compare-grid { grid-template-columns:1fr; } }

.eg-compare-card {
  background:#fff; border-radius:var(--eg-radius-lg);
  padding:2em 1.8em; box-shadow:var(--eg-shadow-md);
  border:2px solid var(--eg-border-light);
  position:relative; transition:all 0.3s;
  text-align:center;
}
.eg-compare-card:hover { transform:translateY(-5px); box-shadow:var(--eg-shadow-lg); }
.eg-compare-card .badge {
  position:absolute; top:-12px; left:50%; transform:translateX(-50%);
  background:linear-gradient(135deg, var(--eg-primary), var(--eg-primary-dark));
  color:#fff; padding:0.4em 1.3em; border-radius:50px;
  font-size:0.78em; font-weight:800; letter-spacing:0.15em;
  font-family:var(--eg-font-display);
  box-shadow:0 4px 12px rgba(20,63,110,0.3);
}
.eg-compare-card.short-term .badge { background:linear-gradient(135deg, var(--eg-accent), var(--eg-accent-dark)); box-shadow:0 4px 12px rgba(247,148,29,0.4); }
.eg-compare-card.mid-term .badge { background:linear-gradient(135deg, var(--eg-cyan), #0891b2); }
.eg-compare-card.long-term .badge { background:linear-gradient(135deg, var(--eg-success), #059669); }

.eg-compare-card h3 {
  background:none !important; border:none !important;
  padding:0 !important; margin:1em 0 0.6em !important;
  font-size:1.4em !important; font-weight:900 !important;
  color:var(--eg-primary-dark) !important;
  font-family:var(--eg-font-display) !important;
  box-shadow:none !important;
}
.eg-compare-card .effect {
  font-size:2.2em; font-weight:900; line-height:1;
  background:linear-gradient(135deg, var(--eg-primary), var(--eg-accent));
  -webkit-background-clip:text; -webkit-background-fill-color:transparent;
  -webkit-text-fill-color:transparent;
  background-clip:text;
  font-family:var(--eg-font-display);
  margin:0.5em 0;
}
.eg-compare-card .effect .unit { font-size:0.45em; color:var(--eg-text-muted); -webkit-text-fill-color:var(--eg-text-muted); margin-left:0.2em; }
.eg-compare-card .desc {
  color:var(--eg-text-muted); font-size:0.93em; line-height:1.7;
  margin:0.6em 0 1.5em;
}
.eg-compare-card ul {
  text-align:left; list-style:none; padding:0; margin:0 0 1.5em;
}
.eg-compare-card ul li {
  padding:0.45em 0 0.45em 1.6em; position:relative;
  font-size:0.88em; line-height:1.6;
  border-bottom:1px dotted var(--eg-border-light);
}
.eg-compare-card ul li:last-child { border-bottom:none; }
.eg-compare-card ul li::before {
  content:"✓"; position:absolute; left:0; color:var(--eg-success);
  font-weight:bold; top:0.4em;
}
.eg-compare-card .cta-link {
  display:inline-flex; align-items:center; gap:0.4em;
  color:var(--eg-accent); font-weight:800; font-size:0.92em;
  text-decoration:none !important;
  font-family:var(--eg-font-display);
}
.eg-compare-card .cta-link::after { content:"→"; }

/* === Mobile adjustments === */
@media (max-width: 768px) {
  .eg-cost-bars { padding:2em 1.3em; }
  .eg-cost-item .value { font-size:1.2em; }
  .eg-target-card { padding:2em 1.5em; }
  .eg-compare-card { padding:2em 1.3em; }
  .eg-diag-card { padding:1.6em 1.2em; }
}


/* ============================================================
 * v13 記事ページ専用強化 (body.single スコープ・TOP無影響)
 * ============================================================ */

/* === Reading progress bar (single only) === */
body.single .eg-reading-progress {
  position:fixed; top:0; left:0; right:0;
  height:4px; z-index:10001;
  background:rgba(247,148,29,0.15);
  pointer-events:none;
}
body.single .eg-reading-progress .bar {
  height:100%; width:0%;
  background:linear-gradient(90deg, var(--eg-accent), var(--eg-accent-light));
  box-shadow:0 0 12px rgba(247,148,29,0.5);
  transition:width 0.1s;
}

/* === Article hero (single only) === */
body.single .eg-article-hero {
  background:
    radial-gradient(circle at 75% 30%, rgba(247,148,29,0.30) 0%, transparent 55%),
    radial-gradient(circle at 15% 75%, rgba(6,182,212,0.18) 0%, transparent 50%),
    linear-gradient(135deg, #0a1a2e 0%, #143f6e 50%, #1e5b9a 100%);
  color:#fff;
  padding:3em 2em 2.5em;
  margin:0 0 2em;
  position:relative; overflow:hidden;
  border-radius:var(--eg-radius-lg);
  box-shadow:0 16px 40px rgba(20,63,110,0.25);
}
body.single .eg-article-hero::before {
  content:""; position:absolute; inset:0;
  background-image:linear-gradient(rgba(255,255,255,0.04) 1px, transparent 1px),
                   linear-gradient(90deg, rgba(255,255,255,0.04) 1px, transparent 1px);
  background-size:50px 50px;
  pointer-events:none;
  mask-image:radial-gradient(circle at center, rgba(0,0,0,0.5), transparent 80%);
}
body.single .eg-article-hero-inner {
  position:relative; z-index:1;
}
body.single .eg-article-cat {
  display:inline-flex; align-items:center; gap:0.5em;
  background:rgba(247,148,29,0.2); color:var(--eg-accent-light);
  padding:0.4em 1.1em; border-radius:50px;
  font-size:0.78em; font-weight:800; letter-spacing:0.15em;
  border:1px solid rgba(247,148,29,0.4);
  font-family:var(--eg-font-display);
  text-decoration:none !important;
  margin-bottom:1.2em;
}
body.single .eg-article-cat::before { content:""; width:6px; height:6px; background:var(--eg-accent); border-radius:50%; }
body.single .eg-article-hero h1 {
  color:#fff !important; background:none !important;
  border:none !important; padding:0 !important;
  margin:0 0 1em !important; font-size:1.8em !important;
  font-weight:900 !important; line-height:1.45 !important;
  font-family:var(--eg-font-display) !important;
  box-shadow:none !important;
  letter-spacing:0.03em;
}
body.single .eg-article-meta {
  display:flex; gap:1.3em; flex-wrap:wrap;
  font-size:0.85em; color:#cfd8e3;
  border-top:1px solid rgba(255,255,255,0.15);
  padding-top:1.2em;
  font-family:var(--eg-font-display);
}
body.single .eg-article-meta span { display:inline-flex; align-items:center; gap:0.4em; }
body.single .eg-article-meta .icon { color:var(--eg-accent-light); }

/* === Share bar === */
body.single .eg-share-bar {
  display:flex; align-items:center; gap:0.6em; flex-wrap:wrap;
  padding:1em 0 1.3em;
  border-bottom:1px solid var(--eg-border-light);
  margin-bottom:1.5em;
}
body.single .eg-share-bar .label {
  font-size:0.8em; color:var(--eg-text-muted);
  font-weight:700; letter-spacing:0.1em; margin-right:0.4em;
  font-family:var(--eg-font-display);
}
body.single .eg-share-bar a {
  display:inline-flex; align-items:center; gap:0.4em;
  padding:0.5em 0.9em; border-radius:50px;
  font-size:0.82em; font-weight:700;
  text-decoration:none !important;
  transition:all 0.2s;
  font-family:var(--eg-font-display);
}
body.single .eg-share-bar a.x { background:#000; color:#fff !important; }
body.single .eg-share-bar a.fb { background:#1877f2; color:#fff !important; }
body.single .eg-share-bar a.li { background:#0a66c2; color:#fff !important; }
body.single .eg-share-bar a.copy {
  background:var(--eg-bg); color:var(--eg-text) !important;
  border:1px solid var(--eg-border);
}
body.single .eg-share-bar a:hover { transform:translateY(-2px); box-shadow:var(--eg-shadow-sm); }

/* === Author box top === */
body.single .eg-author-top {
  background:linear-gradient(135deg, #f0f5fc 0%, #e6efff 100%);
  border-radius:var(--eg-radius-md);
  padding:1.2em 1.4em;
  margin:1em 0 1.8em;
  display:flex; align-items:center; gap:0.9em;
  border:1px solid var(--eg-border-light);
}
body.single .eg-author-top .av {
  width:50px; height:50px; border-radius:50%;
  background:linear-gradient(135deg, var(--eg-primary), var(--eg-primary-dark));
  color:#fff; display:flex; align-items:center; justify-content:center;
  font-weight:900; font-size:1.25em;
  font-family:var(--eg-font-display);
  flex-shrink:0;
  box-shadow:0 4px 12px rgba(20,63,110,0.25);
}
body.single .eg-author-top .info { flex:1; min-width:0; }
body.single .eg-author-top .label {
  font-size:0.7em; color:var(--eg-accent);
  letter-spacing:0.15em; font-weight:800;
  font-family:var(--eg-font-display);
}
body.single .eg-author-top .name {
  font-size:0.98em; font-weight:800; color:var(--eg-primary-dark);
  margin:0.2em 0;
  font-family:var(--eg-font-display);
}
body.single .eg-author-top .role {
  font-size:0.78em; color:var(--eg-text-muted); line-height:1.5;
}
body.single .eg-author-top .more {
  flex-shrink:0;
  color:var(--eg-primary); font-size:0.85em;
  text-decoration:none !important; font-weight:700;
  font-family:var(--eg-font-display);
}

/* === Article footer CTA === */
body.single .eg-article-footer-cta {
  background:
    radial-gradient(circle at 80% 30%, rgba(247,148,29,0.35) 0%, transparent 55%),
    linear-gradient(135deg, var(--eg-primary) 0%, var(--eg-primary-dark) 50%, var(--eg-primary-darker) 100%);
  color:#fff; padding:2.5em 2em;
  border-radius:var(--eg-radius-xl);
  margin:2.5em 0 1em; text-align:center;
  position:relative; overflow:hidden;
  box-shadow:var(--eg-shadow-xl);
}
body.single .eg-article-footer-cta::before {
  content:""; position:absolute; inset:0;
  background-image:linear-gradient(rgba(255,255,255,0.03) 1px, transparent 1px),
                   linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px);
  background-size:30px 30px; pointer-events:none;
  mask-image:radial-gradient(circle at center, rgba(0,0,0,0.5), transparent 80%);
}
body.single .eg-article-footer-cta .tag {
  display:inline-block;
  background:rgba(247,148,29,0.2); color:var(--eg-accent-light);
  padding:0.4em 1.1em; border-radius:50px;
  font-size:0.78em; font-weight:800; letter-spacing:0.18em;
  border:1px solid rgba(247,148,29,0.4);
  margin-bottom:1em; position:relative; z-index:1;
  font-family:var(--eg-font-display);
}
body.single .eg-article-footer-cta h3 {
  color:#fff !important; background:none !important;
  border:none !important; padding:0 !important;
  margin:0 0 0.8em !important; font-size:1.4em !important;
  font-weight:900 !important; position:relative; z-index:1;
  font-family:var(--eg-font-display) !important;
  box-shadow:none !important;
}
body.single .eg-article-footer-cta p {
  color:#dbe4f0 !important; font-size:0.96em; line-height:1.85;
  max-width:560px; margin:0 auto 1.5em !important;
  position:relative; z-index:1;
}
body.single .eg-article-footer-cta a {
  display:inline-flex; align-items:center; gap:0.6em;
  background:linear-gradient(135deg, var(--eg-accent), var(--eg-accent-dark));
  color:#fff !important; padding:1em 2.2em; border-radius:50px;
  font-weight:800; font-size:1em; text-decoration:none !important;
  box-shadow:0 10px 28px rgba(247,148,29,0.5);
  transition:all 0.2s; position:relative; z-index:1;
  font-family:var(--eg-font-display);
}
body.single .eg-article-footer-cta a:hover { transform:translateY(-3px); color:#fff !important; }
body.single .eg-article-footer-cta a::after { content:"→"; font-weight:bold; }

/* Hide native AFFINGER title since hero shows it */
body.single .post .entry-title,
body.single article h1.entry-title,
body.single article > h1,
body.single .post-meta,
body.single .post .entry-meta,
body.single .post .post-thumb,
body.single article .eyecatch {
  display:none !important;
}

/* Mobile responsive */
@media (max-width: 768px) {
  body.single .eg-article-hero { padding:2em 1.3em 1.7em; }
  body.single .eg-article-hero h1 { font-size:1.4em !important; }
  body.single .eg-article-footer-cta { padding:2em 1.3em; }
  body.single .eg-article-footer-cta h3 { font-size:1.1em !important; }
  body.single .eg-share-bar a { font-size:0.78em; padding:0.45em 0.8em; }
  body.single .eg-author-top { flex-wrap:wrap; }
  body.single .eg-author-top .more { width:100%; text-align:right; }
}


/* === Mobile menu: desktop hide === */
.eg-mobile-menu, .eg-mobile-menu-backdrop, .eg-mobile-menu-btn {
  display:none !important;
}
@media (max-width: 768px) {
  .eg-mobile-menu, .eg-mobile-menu-backdrop {
    display:block !important;
  }
  .eg-mobile-menu-btn {
    display:inline-flex !important;
  }
}
/* When opened: keep panel visible regardless */
body.mobile-menu-open .eg-mobile-menu {
  display:block !important;
}
body.mobile-menu-open .eg-mobile-menu-backdrop {
  display:block !important;
}


/* ============================================================
 * v16: Custom category.php styling
 * ============================================================ */

#eg-cat-page {
  background:#f8f9fa;
  margin-top:0;
}

.eg-cat-hero-v2 {
  padding:4em 2em;
  color:#fff;
  position:relative; overflow:hidden;
  margin-bottom:0;
  border-radius:0 0 var(--eg-radius-xl) var(--eg-radius-xl);
  box-shadow:var(--eg-shadow-xl);
}
.eg-cat-hero-v2::before {
  content:""; position:absolute; inset:0;
  background-image:linear-gradient(rgba(255,255,255,0.04) 1px, transparent 1px),
                   linear-gradient(90deg, rgba(255,255,255,0.04) 1px, transparent 1px);
  background-size:50px 50px;
  pointer-events:none;
  mask-image:radial-gradient(circle at center, rgba(0,0,0,0.5), transparent 75%);
  -webkit-mask-image:radial-gradient(circle at center, rgba(0,0,0,0.5), transparent 75%);
}
.eg-cat-hero-v2 .eg-cat-hero-inner {
  max-width:1100px; margin:0 auto;
  position:relative; z-index:1;
  display:grid; grid-template-columns:auto 1fr; gap:2.5em; align-items:center;
}
@media (max-width:600px) {
  .eg-cat-hero-v2 .eg-cat-hero-inner { grid-template-columns:1fr; text-align:center; }
}
.eg-cat-hero-v2 .eg-cat-hero-icon {
  width:96px; height:96px; border-radius:24px;
  background:rgba(255,255,255,0.15);
  border:1.5px solid rgba(255,255,255,0.25);
  display:flex; align-items:center; justify-content:center;
  font-size:2.8em;
  backdrop-filter:blur(10px);
  box-shadow:0 12px 28px rgba(0,0,0,0.3);
}
@media (max-width:600px) {
  .eg-cat-hero-v2 .eg-cat-hero-icon { margin:0 auto; width:72px; height:72px; font-size:2.2em; }
}
.eg-cat-hero-v2 .eg-cat-hero-label {
  display:inline-block;
  background:rgba(247,148,29,0.2); color:#ffae5c;
  padding:0.4em 1.2em; border-radius:50px;
  font-size:0.8em; font-weight:800; letter-spacing:0.22em;
  border:1px solid rgba(247,148,29,0.4);
  margin-bottom:1em;
  font-family:var(--eg-font-display);
}
.eg-cat-hero-v2 h1 {
  color:#fff !important;
  margin:0 0 0.5em !important;
  font-size:2.4em !important;
  font-weight:900 !important;
  line-height:1.3 !important;
  font-family:var(--eg-font-display) !important;
  background:none !important;
  border:none !important;
  padding:0 !important;
  box-shadow:none !important;
  letter-spacing:0.04em;
}
@media (max-width:600px) { .eg-cat-hero-v2 h1 { font-size:1.6em !important; } }
.eg-cat-hero-v2 p {
  color:#dbe4f0 !important;
  font-size:1.02em; line-height:1.85;
  margin:0 0 1.2em !important;
  max-width:680px;
}
.eg-cat-hero-v2 .eg-cat-hero-meta {
  display:flex; gap:1.5em; flex-wrap:wrap;
  font-size:0.92em; color:#cfd8e3;
}
.eg-cat-hero-v2 .eg-cat-hero-meta strong {
  color:#fff; font-weight:900;
  font-size:1.15em;
  font-family:var(--eg-font-display);
}

/* List wrap */
.eg-cat-list-wrap {
  max-width:1280px; margin:0 auto; padding:3em 2em;
}

.eg-cat-breadcrumb {
  font-size:0.85em;
  color:#6c757d;
  margin-bottom:2em;
}
.eg-cat-breadcrumb a {
  color:#1e5b9a;
  text-decoration:none;
}
.eg-cat-breadcrumb a:hover { color:#f7941d; }

/* Grid */
.eg-cat-grid-list {
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:1.8em;
}
@media (max-width: 960px) { .eg-cat-grid-list { grid-template-columns:repeat(2, 1fr); } }
@media (max-width: 600px) { .eg-cat-grid-list { grid-template-columns:1fr; } }

.eg-cat-item {
  background:#fff;
  border:1px solid var(--eg-border);
  border-radius:var(--eg-radius-lg);
  overflow:hidden;
  transition:transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
  box-shadow:var(--eg-shadow-sm);
}
.eg-cat-item:hover {
  transform:translateY(-6px);
  box-shadow:var(--eg-shadow-xl);
  border-color:var(--eg-accent);
}
.eg-cat-item-link {
  display:flex;
  flex-direction:column;
  text-decoration:none !important;
  color:inherit;
  height:100%;
}

.eg-cat-item-thumb {
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  overflow:hidden;
  background:linear-gradient(135deg, var(--eg-primary-dark), var(--eg-primary));
}
.eg-cat-item-img {
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
  border-radius:0 !important;
  transition:transform 0.4s ease;
}
.eg-cat-item:hover .eg-cat-item-img { transform:scale(1.07); }
.eg-cat-item-noimg {
  width:100%; height:100%;
  display:flex; align-items:center; justify-content:center;
  font-size:4em; color:rgba(255,255,255,0.7);
}
.eg-cat-item-cat-tag {
  position:absolute;
  top:0.8em; left:0.9em;
  background:rgba(255,255,255,0.95); color:var(--eg-primary-dark);
  padding:0.35em 0.9em; border-radius:50px;
  font-size:0.75em; font-weight:800;
  backdrop-filter:blur(8px);
  font-family:var(--eg-font-display);
  letter-spacing:0.06em;
  box-shadow:0 4px 12px rgba(0,0,0,0.15);
  z-index:2;
}

.eg-cat-item-body {
  padding:1.3em 1.5em 1.5em;
  flex:1;
  display:flex;
  flex-direction:column;
}
.eg-cat-item-title {
  font-size:1.02em;
  line-height:1.55;
  font-weight:800;
  color:var(--eg-primary-dark);
  margin:0 0 0.7em;
  font-family:var(--eg-font-display);
}
.eg-cat-item:hover .eg-cat-item-title { color:var(--eg-accent); }

.eg-cat-item-excerpt {
  color:var(--eg-text-muted);
  font-size:0.86em;
  line-height:1.7;
  margin:0 0 1em;
  flex:1;
}

.eg-cat-item-meta {
  display:flex; justify-content:space-between; align-items:center;
  font-size:0.8em;
  margin-top:auto;
  padding-top:0.8em;
  border-top:1px solid var(--eg-border-light);
  font-family:var(--eg-font-display);
}
.eg-cat-item-date {
  color:var(--eg-text-light);
}
.eg-cat-item-date::before { content:"📅 "; }
.eg-cat-item-read {
  color:var(--eg-accent);
  font-weight:800;
}

/* Pagination */
.eg-cat-pagination {
  margin:3.5em 0 2em;
  text-align:center;
}
.eg-cat-pagination .page-numbers {
  display:inline-flex;
  align-items:center; justify-content:center;
  min-width:42px; height:42px;
  padding:0 0.9em;
  margin:0 0.25em;
  background:#fff;
  border:1px solid var(--eg-border);
  border-radius:var(--eg-radius-sm);
  color:var(--eg-primary);
  font-weight:700;
  text-decoration:none;
  transition:all 0.2s;
  font-family:var(--eg-font-display);
}
.eg-cat-pagination .page-numbers:hover,
.eg-cat-pagination .page-numbers.current {
  background:linear-gradient(135deg, var(--eg-primary), var(--eg-primary-dark));
  color:#fff;
  border-color:var(--eg-primary);
  box-shadow:var(--eg-shadow-sm);
}

/* Bottom CTA */
.eg-cat-cta {
  background:
    radial-gradient(circle at 80% 30%, rgba(247,148,29,0.35) 0%, transparent 55%),
    linear-gradient(135deg, var(--eg-primary) 0%, var(--eg-primary-dark) 50%, var(--eg-primary-darker) 100%);
  color:#fff;
  padding:4em 2em;
  position:relative; overflow:hidden;
  box-shadow:var(--eg-shadow-2xl);
}
.eg-cat-cta::before {
  content:""; position:absolute; inset:0;
  background-image:linear-gradient(rgba(255,255,255,0.03) 1px, transparent 1px),
                   linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px);
  background-size:30px 30px;
  pointer-events:none;
  mask-image:radial-gradient(circle at center, rgba(0,0,0,0.5), transparent 80%);
}
.eg-cat-cta-inner {
  max-width:880px; margin:0 auto; text-align:center;
  position:relative; z-index:1;
}
.eg-cat-cta .tag {
  display:inline-block; background:rgba(247,148,29,0.2);
  color:var(--eg-accent-light);
  padding:0.4em 1.2em; border-radius:50px;
  font-size:0.78em; font-weight:800; letter-spacing:0.2em;
  border:1px solid rgba(247,148,29,0.4);
  margin-bottom:1em;
  font-family:var(--eg-font-display);
}
.eg-cat-cta h3 {
  color:#fff !important;
  font-size:1.6em !important;
  font-weight:900;
  margin:0 0 0.7em !important;
  background:none !important; border:none !important; padding:0 !important;
  font-family:var(--eg-font-display) !important;
}
.eg-cat-cta p {
  color:#dbe4f0 !important;
  font-size:1.02em; line-height:1.85;
  max-width:600px; margin:0 auto 2em !important;
}
.eg-cat-cta-btn {
  display:inline-block;
  background:linear-gradient(135deg, var(--eg-accent), var(--eg-accent-dark));
  color:#fff !important;
  padding:1.2em 2.5em; border-radius:50px;
  font-weight:800; font-size:1.05em;
  text-decoration:none !important;
  box-shadow:0 12px 30px rgba(247,148,29,0.5);
  transition:all 0.25s;
  font-family:var(--eg-font-display);
}
.eg-cat-cta-btn:hover {
  transform:translateY(-3px);
  box-shadow:0 16px 38px rgba(247,148,29,0.7);
  color:#fff !important;
}

.eg-cat-noresult {
  text-align:center; padding:4em 0;
  color:#666;
}

/* Hide AFFINGER default content area on category */
body.category .nowhits, body.archive .nowhits,
body.category .noheader, body.archive .noheader,
body.category #breadcrumb, body.archive #breadcrumb {
  display:none !important;
}


/* ============================================================
 * v17 TOP page right-margin fix (左寄り解消)
 * ============================================================ */
body.page-id-47 #side,
body.page-id-47 aside.l-sidebar,
body.page-id-47 aside#side {
  display:none !important;
}
body.page-id-47 #content {
  width:100% !important;
  max-width:100% !important;
  margin-right:0 !important;
  padding-right:0 !important;
  float:none !important;
}
body.page-id-47 #contentInner,
body.page-id-47 #st-page {
  width:100% !important;
  max-width:100% !important;
  padding-left:0 !important;
  padding-right:0 !important;
  margin-left:0 !important;
  margin-right:0 !important;
}
body.page-id-47 .entry-content {
  width:100% !important;
  max-width:100% !important;
  padding:0 !important;
  margin:0 !important;
}
body.page-id-47 #wrapper-in {
  max-width:none !important;
  width:100% !important;
  padding:0 !important;
  margin:0 !important;
}





/* === CLEAN v25: シンプルなTOP layout fix === */
body.page-id-47 #side,
body.page-id-47 aside#side,
body.page-id-47 aside.l-sidebar {
  display: none !important;
}
body.page-id-47 #content,
body.page-id-47 #contentInner,
body.page-id-47 #st-page {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  float: none !important;
}
body.page-id-47 .entry-content {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}


/* === v26 #eg-front: 自作 front-page.php レイアウト === */
body.eg-frontpage-custom {
  margin:0 !important;
  padding:0 !important;
  background:#fff;
  overflow-x:hidden;
}
#eg-front {
  width:100%;
  max-width:100%;
  margin:0;
  padding:0;
}
/* TOP の wp-block-html (各セクション wrapper) */
#eg-front .wp-block-html {
  width:100%;
  max-width:100%;
  margin:0;
  padding:0;
}
/* 通常のセクションは max-width 1280px 中央配置 */
#eg-front .eg-trust-bar,
#eg-front .eg-diagnosis,
#eg-front .eg-cost-bars,
#eg-front .eg-target,
#eg-front .eg-compare-3,
#eg-front .eg-cat-grid,
#eg-front .eg-industries,
#eg-front .eg-trends,
#eg-front .eg-service-grid,
#eg-front .eg-featured-grid,
#eg-front .eg-process,
#eg-front .eg-faq,
#eg-front .eg-testimonials,
#eg-front .eg-mega-cta,
#eg-front .eg-newsletter,
#eg-front .eg-authority {
  max-width:1280px;
  margin-left:auto;
  margin-right:auto;
}
/* 全幅セクション */
#eg-front .eg-hero,
#eg-front .eg-data-viz,
#eg-front .eg-bigviz,
#eg-front .eg-rich-footer {
  width:100%;
  max-width:100%;
  margin-left:0;
  margin-right:0;
}
/* セクションタイトル */
#eg-front h2.eg-section-title {
  max-width:1280px;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
#eg-front .eg-section-sub {
  max-width:760px;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}

/* Topbar 自前 (eg-topbar) は残す */
body.eg-frontpage-custom .eg-topbar { display:flex !important; }


/* === v27 fade-in opacity:0 強制解除 (front-page で fade-in JS止まる対策) === */
body.eg-frontpage-custom .eg-cat-card,
body.eg-frontpage-custom .eg-feat-card,
body.eg-frontpage-custom .eg-data-card,
body.eg-frontpage-custom .eg-service-card,
body.eg-frontpage-custom .eg-step,
body.eg-frontpage-custom .eg-stat-mini,
body.eg-frontpage-custom .eg-industry,
body.eg-frontpage-custom .eg-faq-item,
body.eg-frontpage-custom .eg-trust-item,
body.eg-frontpage-custom .eg-diag-card,
body.eg-frontpage-custom .eg-target-card,
body.eg-frontpage-custom .eg-compare-card,
body.eg-frontpage-custom .eg-trend-card,
body.eg-frontpage-custom .eg-testi,
body.eg-frontpage-custom .eg-cost-item {
  opacity: 1 !important;
  transform: translateY(0) !important;
  transition: none !important;
}





/* === v29 コンテンツ幅拡大 (安全版) === */
body.eg-frontpage-custom .eg-trust-bar,
body.eg-frontpage-custom .eg-diagnosis,
body.eg-frontpage-custom .eg-cost-bars,
body.eg-frontpage-custom .eg-target,
body.eg-frontpage-custom .eg-compare-3,
body.eg-frontpage-custom .eg-cat-grid,
body.eg-frontpage-custom .eg-industries,
body.eg-frontpage-custom .eg-trends,
body.eg-frontpage-custom .eg-service-grid,
body.eg-frontpage-custom .eg-featured-grid,
body.eg-frontpage-custom .eg-process,
body.eg-frontpage-custom .eg-faq,
body.eg-frontpage-custom .eg-testimonials,
body.eg-frontpage-custom .eg-mega-cta,
body.eg-frontpage-custom .eg-newsletter,
body.eg-frontpage-custom .eg-authority,
body.eg-frontpage-custom h2.eg-section-title,
body.eg-frontpage-custom .eg-hero-inner,
body.eg-frontpage-custom .eg-bigviz-inner,
body.eg-frontpage-custom .eg-rich-footer-inner {
  max-width: 1600px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}


/* === v31 コスト削減バー視認性強化 === */
body.eg-frontpage-custom .eg-cost-bars {
  background: linear-gradient(135deg, #f8fafc 0%, #e0eaf5 100%) !important;
  padding: 3em 2.5em !important;
}
body.eg-frontpage-custom .eg-cost-bars h3 {
  font-size: 1.6em !important;
  color: #143f6e !important;
}
body.eg-frontpage-custom .eg-cost-item {
  margin-bottom: 2em !important;
}
body.eg-frontpage-custom .eg-cost-item .name {
  font-size: 1.15em !important;
  font-weight: 800 !important;
}
body.eg-frontpage-custom .eg-cost-item .value {
  font-size: 2em !important;
  font-weight: 900 !important;
  color: #f7941d !important;
}
body.eg-frontpage-custom .eg-cost-item .bar {
  height: 22px !important;
  background: #cbd5e1 !important;
  border-radius: 11px !important;
  box-shadow: inset 0 2px 4px rgba(0,0,0,0.08) !important;
  overflow: visible !important;
}
body.eg-frontpage-custom .eg-cost-item .fill {
  height: 100% !important;
  background: linear-gradient(90deg, #1e5b9a 0%, #f7941d 50%, #ffae5c 100%) !important;
  border-radius: 11px !important;
  box-shadow: 0 0 24px rgba(247,148,29,0.6), 0 4px 12px rgba(247,148,29,0.4) !important;
  position: relative !important;
}
body.eg-frontpage-custom .eg-cost-item .fill::after {
  content: "" !important;
  position: absolute !important;
  top: 0; bottom: 0; right: -8px;
  width: 16px !important;
  background: radial-gradient(circle, rgba(255,255,255,0.9) 0%, transparent 70%) !important;
}
body.eg-frontpage-custom .eg-cost-item .note {
  font-size: 0.88em !important;
  color: #475569 !important;
  margin-top: 0.5em !important;
  font-weight: 500 !important;
}

/* === v31 診断カード強化 === */
body.eg-frontpage-custom .eg-diag-card {
  padding: 2.5em 1.5em !important;
  border: 2px solid #e2e8f0 !important;
}
body.eg-frontpage-custom .eg-diag-card .icon {
  width: 70px !important;
  height: 70px !important;
  font-size: 2.1em !important;
}
body.eg-frontpage-custom .eg-diag-card .question {
  font-size: 1.1em !important;
}

/* === v31 トラストバー強化 === */
body.eg-frontpage-custom .eg-trust-bar {
  padding: 2em 2.5em !important;
}
body.eg-frontpage-custom .eg-trust-item .icon-wrap {
  width: 58px !important;
  height: 58px !important;
  font-size: 1.6em !important;
}
body.eg-frontpage-custom .eg-trust-item .ti-label {
  font-size: 1.05em !important;
}

/* === v31 セクション余白統一 === */
body.eg-frontpage-custom .eg-trust-bar,
body.eg-frontpage-custom .eg-diagnosis,
body.eg-frontpage-custom .eg-cost-bars,
body.eg-frontpage-custom .eg-target,
body.eg-frontpage-custom .eg-compare-3,
body.eg-frontpage-custom .eg-cat-grid,
body.eg-frontpage-custom .eg-trends,
body.eg-frontpage-custom .eg-industries,
body.eg-frontpage-custom .eg-service-grid,
body.eg-frontpage-custom .eg-featured-grid,
body.eg-frontpage-custom .eg-process,
body.eg-frontpage-custom .eg-faq,
body.eg-frontpage-custom .eg-testimonials,
body.eg-frontpage-custom .eg-mega-cta,
body.eg-frontpage-custom .eg-newsletter,
body.eg-frontpage-custom .eg-authority {
  margin-top: 5em !important;
  margin-bottom: 5em !important;
}

/* === v31 セクションタイトル微調整 === */
body.eg-frontpage-custom h2.eg-section-title {
  margin-top: 5em !important;
  margin-bottom: 1em !important;
  font-size: 2.6em !important;
}


/* === v32 bigviz セクション強化 === */
body.eg-frontpage-custom .eg-bigviz {
  padding: 5em 3em !important;
}
body.eg-frontpage-custom .eg-bigviz-inner {
  max-width: 1600px !important;
  margin: 0 auto !important;
}
body.eg-frontpage-custom .eg-bigviz .eg-section-title {
  font-size: 2.4em !important;
  margin: 0 auto 1em !important;
}
body.eg-frontpage-custom .eg-bigviz-chart {
  grid-template-columns: 1.3fr 1fr !important;
  gap: 4em !important;
  margin-top: 3em !important;
  align-items: center !important;
}
body.eg-frontpage-custom .eg-chart-bars {
  display: flex !important;
  flex-direction: column !important;
  gap: 1.8em !important;
}
body.eg-frontpage-custom .eg-chart-bar .name {
  font-size: 1.15em !important;
  font-weight: 800 !important;
  color: #fff !important;
}
body.eg-frontpage-custom .eg-chart-bar .value {
  font-size: 1.8em !important;
  font-weight: 900 !important;
}
body.eg-frontpage-custom .eg-chart-bar .value .unit {
  font-size: 0.6em !important;
}
body.eg-frontpage-custom .eg-chart-bar .track {
  height: 16px !important;
  background: rgba(255,255,255,0.15) !important;
  border-radius: 8px !important;
}
body.eg-frontpage-custom .eg-chart-bar .fill {
  height: 100% !important;
  border-radius: 8px !important;
  box-shadow: 0 0 20px rgba(247,148,29,0.6) !important;
}
body.eg-frontpage-custom .eg-chart-stats {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 1.5em !important;
}
body.eg-frontpage-custom .eg-chart-stat {
  background: rgba(255,255,255,0.08) !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
  border-radius: 12px !important;
  padding: 2em 1.5em !important;
  backdrop-filter: blur(10px) !important;
  text-align: center !important;
}
body.eg-frontpage-custom .eg-chart-stat .num {
  font-size: 3.5em !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  color: #ffae5c !important;
  display: block !important;
}
body.eg-frontpage-custom .eg-chart-stat .lbl {
  display: block !important;
  font-size: 0.9em !important;
  color: #cfd8e3 !important;
  margin-top: 0.6em !important;
  line-height: 1.5 !important;
}

/* === v32 newsletter セクション余白 === */
body.eg-frontpage-custom .eg-newsletter {
  padding: 4em 3em !important;
}

/* === v32 testimonial セクション強化 === */
body.eg-frontpage-custom .eg-testi {
  padding: 2.5em 2em 2em !important;
}
body.eg-frontpage-custom .eg-testi .quote {
  font-size: 1.05em !important;
  line-height: 1.95 !important;
}

/* === v32 process step 視認性 === */
body.eg-frontpage-custom .eg-step {
  padding: 2.8em 1.8em 2em !important;
}
body.eg-frontpage-custom .eg-step .step-num {
  width: 56px !important;
  height: 56px !important;
  top: -28px !important;
  font-size: 1.3em !important;
  border: 4px solid #fff !important;
}
body.eg-frontpage-custom .eg-step h4 {
  font-size: 1.2em !important;
  margin-top: 0.5em !important;
}

/* === v32 業種別 (industries) 強化 === */
body.eg-frontpage-custom .eg-industry {
  padding: 2.2em 1em !important;
}
body.eg-frontpage-custom .eg-industry .icon {
  font-size: 3em !important;
  margin-bottom: 0.7em !important;
}
body.eg-frontpage-custom .eg-industry .name {
  font-size: 1em !important;
  font-weight: 800 !important;
}

/* === v32 trends 強化 === */
body.eg-frontpage-custom .eg-trend-card .tc-header {
  padding: 1.5em 1.7em !important;
  min-height: 140px !important;
}
body.eg-frontpage-custom .eg-trend-card .tc-title {
  font-size: 1.35em !important;
  line-height: 1.45 !important;
}
body.eg-frontpage-custom .eg-trend-card .tc-body {
  padding: 1.6em 1.7em 1.8em !important;
}


/* ============================================================
 * v33 マイクロインタラクション + 装飾追加
 * ============================================================ */

/* === CTAボタン pulse animation === */
@keyframes egPulseGlow {
  0%, 100% { box-shadow: 0 14px 36px rgba(247,148,29,0.55), 0 0 0 0 rgba(247,148,29,0.4); }
  50% { box-shadow: 0 14px 36px rgba(247,148,29,0.6), 0 0 0 10px rgba(247,148,29,0); }
}
body.eg-frontpage-custom .eg-hero-cta .btn-primary,
body.eg-frontpage-custom .eg-mega-cta a.cta-main {
  animation: egPulseGlow 2.5s ease-in-out infinite;
}

/* === 矢印アニメ === */
@keyframes egArrowMove {
  0%, 100% { transform: translateX(0); }
  50% { transform: translateX(6px); }
}
body.eg-frontpage-custom .eg-feat-card-img:hover .read-more::after,
body.eg-frontpage-custom .eg-cat-card:hover .more::after,
body.eg-frontpage-custom .eg-trend-card:hover .tc-arrow::after {
  display: inline-block;
  animation: egArrowMove 1s ease-in-out infinite;
}

/* === セクションタイトル装飾線 === */
body.eg-frontpage-custom h2.eg-section-title::before {
  content: "";
  display: block;
  width: 60px;
  height: 3px;
  background: linear-gradient(90deg, #1e5b9a, #f7941d);
  margin: 0 auto 1em;
  border-radius: 2px;
  animation: egExpandLine 0.8s ease-out;
}
@keyframes egExpandLine {
  from { width: 0; }
  to { width: 60px; }
}

/* === Newsletter form 拡大 === */
body.eg-frontpage-custom .eg-newsletter {
  padding: 5em 3em !important;
}
body.eg-frontpage-custom .eg-newsletter input[type="email"] {
  padding: 1.2em 1.5em !important;
  font-size: 1em !important;
  box-shadow: 0 8px 20px rgba(0,0,0,0.25) !important;
}
body.eg-frontpage-custom .eg-newsletter button {
  padding: 1.2em 2em !important;
  font-size: 1em !important;
  box-shadow: 0 10px 24px rgba(247,148,29,0.55) !important;
}

/* === FAQ 開いた時の強調 === */
body.eg-frontpage-custom .eg-faq-item[open] {
  border-color: #f7941d !important;
  box-shadow: 0 8px 20px rgba(247,148,29,0.15) !important;
}
body.eg-frontpage-custom .eg-faq-item[open] summary::before {
  background: linear-gradient(135deg, #f7941d, #d97a07) !important;
}
body.eg-frontpage-custom .eg-faq-body {
  padding-top: 1.5em !important;
  font-size: 1em !important;
  color: #334155 !important;
}

/* === Authority badge アニメ === */
@keyframes egBadgeGlow {
  0%, 100% { box-shadow: 0 20px 48px rgba(20,63,110,0.35); }
  50% { box-shadow: 0 20px 60px rgba(247,148,29,0.45), 0 20px 48px rgba(20,63,110,0.35); }
}
body.eg-frontpage-custom .eg-authority-badge {
  animation: egBadgeGlow 4s ease-in-out infinite;
}

/* === Trust bar item icon アニメ === */
@keyframes egFloatY {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-4px); }
}
body.eg-frontpage-custom .eg-trust-item:hover .icon-wrap {
  animation: egFloatY 1.2s ease-in-out infinite;
}

/* === Hero stat-mini hover === */
body.eg-frontpage-custom .eg-stat-mini:hover .num {
  color: #ffae5c !important;
  transition: color 0.2s ease !important;
}

/* === Industries hover効果強化 === */
body.eg-frontpage-custom .eg-industry:hover {
  transform: translateY(-8px) !important;
  border-color: #f7941d !important;
}
body.eg-frontpage-custom .eg-industry:hover .icon {
  transform: scale(1.18) rotate(-8deg) !important;
  transition: transform 0.3s !important;
}

/* === Process arrow connecting line === */
body.eg-frontpage-custom .eg-process {
  position: relative;
}
body.eg-frontpage-custom .eg-process::before {
  content: "";
  position: absolute;
  top: 28px;
  left: 8%;
  right: 8%;
  height: 3px;
  background: linear-gradient(90deg, #1e5b9a 0%, #06b6d4 33%, #f7941d 66%, #ffae5c 100%);
  border-radius: 2px;
  z-index: 0;
}
@media (max-width: 960px) {
  body.eg-frontpage-custom .eg-process::before { display: none; }
}

/* === Featured card hover lift === */
body.eg-frontpage-custom .eg-feat-card-img {
  transition: transform 0.3s cubic-bezier(0.4,0,0.2,1), box-shadow 0.3s !important;
}
body.eg-frontpage-custom .eg-feat-card-img:hover {
  transform: translateY(-8px) !important;
  box-shadow: 0 24px 60px rgba(15,23,42,0.22) !important;
}

/* === Mega CTA タグ pulse === */
@keyframes egTagPulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.06); }
}
body.eg-frontpage-custom .eg-mega-cta .tag {
  animation: egTagPulse 3s ease-in-out infinite;
  display: inline-flex !important;
}

/* === Footer SNS icon hover強化 === */
body.eg-frontpage-custom .eg-rich-footer .social a:hover {
  transform: translateY(-4px) rotate(-8deg) !important;
  transition: transform 0.25s !important;
}


/* ============================================================
 * v34 ブランディング・ロゴ強化
 * ============================================================ */

/* Topbar logo mark to be lightning icon */
body.eg-frontpage-custom .eg-topbar-logo .lg-mark {
  position: relative !important;
  overflow: hidden !important;
  background: linear-gradient(135deg, #f7941d 0%, #ffae5c 100%) !important;
  box-shadow: 0 6px 16px rgba(247,148,29,0.5),
              0 0 0 2px rgba(255,255,255,0.1) inset !important;
  font-size: 0 !important;
  color: transparent !important;
}
body.eg-frontpage-custom .eg-topbar-logo .lg-mark::before {
  content: "\26A1" !important;
  font-size: 1.5em !important;
  color: #fff !important;
  z-index: 2 !important;
  position: relative !important;
  filter: drop-shadow(0 1px 2px rgba(0,0,0,0.3)) !important;
}
body.eg-frontpage-custom .eg-topbar-logo .lg-mark::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: radial-gradient(circle at 30% 30%, rgba(255,255,255,0.3) 0%, transparent 60%) !important;
}

/* Topbar 全体強化 */
body.eg-frontpage-custom .eg-topbar {
  background: rgba(10,26,46,0.95) !important;
  backdrop-filter: blur(20px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(20px) saturate(180%) !important;
  border-bottom: 1px solid rgba(247,148,29,0.2) !important;
}
body.eg-frontpage-custom .eg-topbar-logo .lg-name {
  background: linear-gradient(90deg, #fff 0%, #cfd8e3 100%) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
  font-size: 1.15em !important;
  font-weight: 900 !important;
}
body.eg-frontpage-custom .eg-topbar-logo .lg-tag {
  color: #ffae5c !important;
  font-size: 0.68em !important;
}

/* Topbar nav リンクhover underline */
body.eg-frontpage-custom .eg-topbar-nav a {
  position: relative !important;
  padding: 0.4em 0 !important;
}
body.eg-frontpage-custom .eg-topbar-nav a::after {
  content: "" !important;
  position: absolute !important;
  left: 0; right: 0; bottom: -4px;
  height: 2px !important;
  background: linear-gradient(90deg, #f7941d, #ffae5c) !important;
  transform: scaleX(0) !important;
  transform-origin: left !important;
  transition: transform 0.3s !important;
}
body.eg-frontpage-custom .eg-topbar-nav a:hover::after {
  transform: scaleX(1) !important;
}

/* Footer brand 強化 */
body.eg-frontpage-custom .eg-rich-footer .brand-block::before {
  content: "\26A1" !important;
  display: inline-block !important;
  font-size: 2.5em !important;
  margin-bottom: 0.5em !important;
  filter: drop-shadow(0 4px 12px rgba(247,148,29,0.5)) !important;
  color: #f7941d !important;
}
body.eg-frontpage-custom .eg-rich-footer {
  padding: 5em 3em 3em !important;
}
body.eg-frontpage-custom .eg-rich-footer-inner {
  max-width: 1600px !important;
  margin: 0 auto !important;
}
body.eg-frontpage-custom .eg-rich-footer h5 {
  font-size: 1.1em !important;
  margin-bottom: 1.4em !important;
}
body.eg-frontpage-custom .eg-rich-footer ul li {
  padding: 0.5em 0 !important;
  font-size: 0.96em !important;
}
body.eg-frontpage-custom .eg-rich-footer .brand-block .name {
  font-size: 1.7em !important;
  margin-bottom: 0.7em !important;
}

/* Hero stat-mini iconification */
body.eg-frontpage-custom .eg-hero-stats .eg-stat-mini:nth-child(1)::before { content: "\1F3E2"; }
body.eg-frontpage-custom .eg-hero-stats .eg-stat-mini:nth-child(2)::before { content: "\1F4DA"; }
body.eg-frontpage-custom .eg-hero-stats .eg-stat-mini:nth-child(3)::before { content: "\1F4C5"; }
body.eg-frontpage-custom .eg-hero-stats .eg-stat-mini:nth-child(4)::before { content: "\270D"; }
body.eg-frontpage-custom .eg-hero-stats .eg-stat-mini::before {
  display: block !important;
  font-size: 1.4em !important;
  margin-bottom: 0.3em !important;
  opacity: 0.85 !important;
}

/* Copyright 装飾 */
body.eg-frontpage-custom .eg-rich-footer .copyright {
  max-width: 1600px !important;
  padding: 2em 0 0.5em !important;
  margin-top: 3em !important;
  font-size: 0.85em !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 0.5em !important;
}
body.eg-frontpage-custom .eg-rich-footer .copyright::before {
  content: "\26A1 ENERGY GUIDE \26A1" !important;
  font-size: 0.9em !important;
  letter-spacing: 0.4em !important;
  color: rgba(247,148,29,0.6) !important;
  font-weight: 700 !important;
  margin-bottom: 0.3em !important;
}


/* ============================================================
 * v35 固定ページ (about/editor/contact/privacy 等) 装飾強化
 *  - body.page :not(.eg-frontpage-custom) でスコープ
 *  - フロントページは v33-v34 適用済なので除外
 * ============================================================ */

/* ページタイトル強化 */
body.page:not(.eg-frontpage-custom) .post h1.entry-title,
body.page:not(.eg-frontpage-custom) article > h1,
body.page:not(.eg-frontpage-custom) .post-title {
  background: linear-gradient(135deg, #0a1a2e 0%, #143f6e 50%, #1e5b9a 100%) !important;
  color: #fff !important;
  padding: 1.5em 1.5em 1.4em 1.7em !important;
  margin: -2.5em -2.8em 2em !important;
  border-radius: var(--eg-radius-lg, 16px) var(--eg-radius-lg, 16px) 0 0 !important;
  border-left: 8px solid #f7941d !important;
  font-size: 1.7em !important;
  font-weight: 900 !important;
  line-height: 1.45 !important;
  font-family: 'Manrope', 'Inter', 'Noto Sans JP', sans-serif !important;
  text-shadow: 0 2px 8px rgba(0,0,0,0.2);
  position: relative;
  overflow: hidden;
}
body.page:not(.eg-frontpage-custom) .post h1.entry-title::before,
body.page:not(.eg-frontpage-custom) article > h1::before {
  content: "" !important;
  position: absolute !important;
  top: -50% !important;
  right: -15% !important;
  width: 40% !important;
  height: 200% !important;
  background: radial-gradient(ellipse, rgba(247,148,29,0.2) 0%, transparent 65%) !important;
  pointer-events: none !important;
}

@media (max-width: 768px) {
  body.page:not(.eg-frontpage-custom) .post h1.entry-title,
  body.page:not(.eg-frontpage-custom) article > h1 {
    margin: -1.5em -1.3em 1.5em !important;
    padding: 1.2em 1em !important;
    font-size: 1.4em !important;
  }
}

/* パンくず装飾 */
body.page:not(.eg-frontpage-custom) #breadcrumb,
body.page:not(.eg-frontpage-custom) .breadcrumb {
  background: #f8fafc !important;
  padding: 0.7em 1.2em !important;
  border-radius: 6px !important;
  margin: 0 0 1.5em !important;
  font-size: 0.85em !important;
}

/* リスト装飾強化 */
body.page:not(.eg-frontpage-custom) .post ul li,
body.page:not(.eg-frontpage-custom) article ul li {
  margin: 0.6em 0 !important;
  padding-left: 0.4em !important;
}

/* テーブル装飾 */
body.page:not(.eg-frontpage-custom) .post table,
body.page:not(.eg-frontpage-custom) article table {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  margin: 1.5em 0 !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 12px rgba(15,23,42,0.08) !important;
  border: 1px solid #e2e8f0 !important;
}
body.page:not(.eg-frontpage-custom) .post table th {
  background: linear-gradient(135deg, #1e5b9a, #143f6e) !important;
  color: #fff !important;
  padding: 1em 1.2em !important;
  font-weight: 700 !important;
  text-align: left !important;
  border: none !important;
}
body.page:not(.eg-frontpage-custom) .post table td {
  padding: 0.9em 1.2em !important;
  border-bottom: 1px solid #e2e8f0 !important;
  background: #fff !important;
}
body.page:not(.eg-frontpage-custom) .post table tr:last-child td {
  border-bottom: none !important;
}

/* 段落リンク装飾強化 */
body.page:not(.eg-frontpage-custom) .post p a,
body.page:not(.eg-frontpage-custom) article p a {
  color: #1e5b9a !important;
  text-decoration: underline !important;
  text-decoration-color: rgba(30,91,154,0.35) !important;
  text-underline-offset: 3px !important;
  font-weight: 600 !important;
  transition: color 0.15s !important;
}
body.page:not(.eg-frontpage-custom) .post p a:hover {
  color: #f7941d !important;
}

/* 強調 (strong) 装飾 */
body.page:not(.eg-frontpage-custom) .post strong,
body.page:not(.eg-frontpage-custom) article strong {
  color: #143f6e !important;
  font-weight: 800 !important;
  background: linear-gradient(transparent 60%, rgba(247,148,29,0.18) 60%) !important;
  padding: 0 0.1em !important;
}

/* メールリンク特別装飾 (contact ページ) */
body.page:not(.eg-frontpage-custom) .post a[href^="mailto:"] {
  display: inline-block !important;
  background: linear-gradient(135deg, #1e5b9a, #143f6e) !important;
  color: #fff !important;
  padding: 0.6em 1.3em !important;
  border-radius: 8px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  box-shadow: 0 6px 16px rgba(20,63,110,0.25) !important;
  transition: transform 0.2s, box-shadow 0.2s !important;
  margin: 0.3em 0 !important;
}
body.page:not(.eg-frontpage-custom) .post a[href^="mailto:"]:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 24px rgba(20,63,110,0.4) !important;
  color: #fff !important;
}
body.page:not(.eg-frontpage-custom) .post a[href^="mailto:"]::before {
  content: "📧 " !important;
}

/* お問合せCTAを大きく */
body.page-id-53 .post h2 {  /* page-id-53 = contact */
  font-size: 1.55em !important;
}

/* 監修者ページ専用 */
body.page-id-49 .post {  /* page-id-49 = editor */
  position: relative;
}
body.page-id-49 .post::before {
  content: "✍ SUPERVISOR PROFILE" !important;
  display: block !important;
  font-family: 'Manrope', 'Inter', sans-serif !important;
  font-size: 0.78em !important;
  letter-spacing: 0.3em !important;
  color: #f7941d !important;
  font-weight: 800 !important;
  text-align: center !important;
  margin-bottom: 1em !important;
}

/* About ページ専用 */
body.page-id-48 .post::before {
  content: "🏢 ABOUT US" !important;
  display: block !important;
  font-family: 'Manrope', 'Inter', sans-serif !important;
  font-size: 0.78em !important;
  letter-spacing: 0.3em !important;
  color: #f7941d !important;
  font-weight: 800 !important;
  text-align: center !important;
  margin-bottom: 1em !important;
}

/* お問合せページ専用 */
body.page-id-53 .post::before {
  content: "📨 GET IN TOUCH" !important;
  display: block !important;
  font-family: 'Manrope', 'Inter', sans-serif !important;
  font-size: 0.78em !important;
  letter-spacing: 0.3em !important;
  color: #f7941d !important;
  font-weight: 800 !important;
  text-align: center !important;
  margin-bottom: 1em !important;
}

/* プライバシーポリシーページ */
body.page-id-52 .post::before {
  content: "🔒 PRIVACY POLICY" !important;
  display: block !important;
  font-family: 'Manrope', 'Inter', sans-serif !important;
  font-size: 0.78em !important;
  letter-spacing: 0.3em !important;
  color: #f7941d !important;
  font-weight: 800 !important;
  text-align: center !important;
  margin-bottom: 1em !important;
}

/* 編集方針 */
body.page-id-50 .post::before {
  content: "📝 EDITORIAL POLICY" !important;
  display: block !important;
  font-family: 'Manrope', 'Inter', sans-serif !important;
  font-size: 0.78em !important;
  letter-spacing: 0.3em !important;
  color: #f7941d !important;
  font-weight: 800 !important;
  text-align: center !important;
  margin-bottom: 1em !important;
}

/* 広告ポリシー */
body.page-id-51 .post::before {
  content: "💼 AD POLICY" !important;
  display: block !important;
  font-family: 'Manrope', 'Inter', sans-serif !important;
  font-size: 0.78em !important;
  letter-spacing: 0.3em !important;
  color: #f7941d !important;
  font-weight: 800 !important;
  text-align: center !important;
  margin-bottom: 1em !important;
}

/* Footer CTA は固定ページにも表示 */
body.page:not(.eg-frontpage-custom) .post::after {
  content: "" !important;
  display: block !important;
  margin: 3em 0 1em !important;
  padding: 2.5em 2em !important;
  border-radius: 16px !important;
  background: linear-gradient(135deg, #1e5b9a, #143f6e) !important;
  color: #fff !important;
  text-align: center !important;
}

/* ↑ 上記::after は単純 div ではなく実装複雑なのでコメントアウトの代わりに削除 */
body.page:not(.eg-frontpage-custom) .post::after {
  content: none !important;
}


/* ============================================================
 * v37 セクション間視覚的リズム + 細部仕上げ
 * ============================================================ */

/* === セクションタイトル前にミニデコレーション === */
body.eg-frontpage-custom h2.eg-section-title {
  position: relative !important;
}
body.eg-frontpage-custom h2.eg-section-title .ovr {
  position: relative !important;
  display: inline-block !important;
  padding: 0.35em 1.5em !important;
  background: linear-gradient(135deg, rgba(247,148,29,0.12), rgba(247,148,29,0.04)) !important;
  border-radius: 50px !important;
  border: 1px solid rgba(247,148,29,0.25) !important;
  margin-bottom: 0.8em !important;
}

/* === 統一余白 (セクション間) === */
body.eg-frontpage-custom h2.eg-section-title {
  margin-top: 6em !important;
  margin-bottom: 1.5em !important;
}

/* === Diagnosis カードの question 文字サイズアップ === */
body.eg-frontpage-custom .eg-diag-card .question {
  font-size: 1.15em !important;
  font-weight: 800 !important;
  color: #143f6e !important;
}

/* === Cat card desc 行間調整 === */
body.eg-frontpage-custom .eg-cat-card .desc {
  font-size: 0.96em !important;
  line-height: 1.8 !important;
  color: #475569 !important;
}

/* === Service card padding 上余白 === */
body.eg-frontpage-custom .eg-service-card {
  padding-top: 3em !important;
}
body.eg-frontpage-custom .eg-service-card .sc-icon {
  margin-top: -0.5em !important;
}

/* === Mega CTA 内側余白 === */
body.eg-frontpage-custom .eg-mega-cta {
  padding: 6em 3em !important;
}

/* === Featured card title font 改善 === */
body.eg-frontpage-custom .eg-feat-card-img .body h4 {
  font-size: 1.05em !important;
  line-height: 1.55 !important;
}

/* === Authority badge size拡大 === */
body.eg-frontpage-custom .eg-authority-badge {
  padding: 2.5em 2.2em !important;
  min-width: 260px !important;
}
body.eg-frontpage-custom .eg-authority-badge .num {
  font-size: 4em !important;
}

/* === Footer link hover強化 === */
body.eg-frontpage-custom .eg-rich-footer a:hover {
  color: #ffae5c !important;
  padding-left: 4px !important;
  transition: all 0.2s !important;
}

/* === Sup box 強調 === */
body.eg-frontpage-custom .eg-trust-bar {
  background: linear-gradient(135deg, #fff 0%, #f8fbff 100%) !important;
  border: 1px solid #e2e8f0 !important;
}

/* === Cat card icon size === */
body.eg-frontpage-custom .eg-cat-card .icon {
  width: 78px !important;
  height: 78px !important;
  font-size: 2.3em !important;
}

/* === Cost item bar height 安全範囲で強化 === */
body.eg-frontpage-custom .eg-cost-item .name {
  display: flex !important;
  align-items: center !important;
  gap: 0.4em !important;
}

/* === Cost bars セクション margin === */
body.eg-frontpage-custom .eg-cost-bars {
  border: 1px solid rgba(247,148,29,0.15) !important;
}

/* === Industries hover transform 細部 === */
body.eg-frontpage-custom .eg-industry {
  border-radius: 16px !important;
}

/* === Process number 強化 === */
body.eg-frontpage-custom .eg-step:hover .step-num {
  transform: translateX(-50%) scale(1.1) !important;
  transition: transform 0.2s !important;
}

/* === FAQ open のbody内テキスト spacing === */
body.eg-frontpage-custom .eg-faq-body {
  padding-left: 4em !important;
  padding-right: 1.6em !important;
  padding-bottom: 1.8em !important;
}

/* === Newsletter form input focus === */
body.eg-frontpage-custom .eg-newsletter input[type="email"]:focus {
  outline: 3px solid rgba(247,148,29,0.5) !important;
  outline-offset: 2px !important;
}


/* ============================================================
 * v38 シミュレーター (fixed-cost参考)
 * ============================================================ */
body.eg-frontpage-custom .eg-simulator {
  max-width: 1280px !important;
  margin: 2em auto 5em !important;
  background: linear-gradient(135deg, #ffffff 0%, #f0f5fc 100%) !important;
  border-radius: 24px !important;
  box-shadow: 0 16px 48px rgba(15,23,42,0.12) !important;
  border: 1px solid #e2e8f0 !important;
  padding: 3em !important;
  overflow: hidden;
  position: relative;
}
body.eg-frontpage-custom .eg-simulator::before {
  content: ""; position: absolute; top:-30%; right:-15%;
  width:50%; height:200%;
  background: radial-gradient(ellipse, rgba(247,148,29,0.08) 0%, transparent 65%);
  pointer-events: none;
}
.eg-sim-inner {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 3em;
  align-items: center;
  position: relative; z-index: 1;
}
@media (max-width: 900px){ .eg-sim-inner { grid-template-columns: 1fr; gap:2em; } }

.eg-sim-form .eg-sim-field {
  margin-bottom: 2em;
}
.eg-sim-form label {
  display: block;
  font-size: 0.95em;
  font-weight: 800;
  color: #143f6e;
  margin-bottom: 0.8em;
  font-family: 'Manrope', 'Inter', sans-serif;
}
.eg-sim-input-wrap {
  display: flex; align-items: center; gap: 0.6em;
  margin-bottom: 0.7em;
}
.eg-sim-input-wrap input[type="number"] {
  flex: 1; padding: 0.85em 1.1em;
  border: 2px solid #cbd5e1; border-radius: 10px;
  font-size: 1.4em; font-weight: 800; color: #143f6e;
  background: #fff;
  font-family: 'Manrope', 'Inter', sans-serif;
  outline: none;
  transition: border-color 0.2s;
}
.eg-sim-input-wrap input[type="number"]:focus {
  border-color: #f7941d;
  box-shadow: 0 0 0 3px rgba(247,148,29,0.2);
}
.eg-sim-unit {
  font-size: 1em;
  font-weight: 700;
  color: #475569;
}
input[type="range"]#egSimMonthRange {
  width: 100%;
  height: 6px;
  background: linear-gradient(90deg, #1e5b9a, #f7941d);
  border-radius: 3px;
  outline: none;
  appearance: none; -webkit-appearance: none;
}
input[type="range"]#egSimMonthRange::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 22px; height: 22px;
  background: linear-gradient(135deg, #f7941d, #d97a07);
  border-radius: 50%;
  cursor: pointer;
  box-shadow: 0 4px 12px rgba(247,148,29,0.5);
  border: 3px solid #fff;
}
input[type="range"]#egSimMonthRange::-moz-range-thumb {
  width: 22px; height: 22px;
  background: linear-gradient(135deg, #f7941d, #d97a07);
  border-radius: 50%;
  cursor: pointer;
  box-shadow: 0 4px 12px rgba(247,148,29,0.5);
  border: 3px solid #fff;
}

.eg-sim-industry-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.6em;
}
.eg-sim-ind {
  background: #fff;
  border: 2px solid #cbd5e1;
  border-radius: 10px;
  padding: 0.9em 0.5em;
  cursor: pointer;
  font-size: 0.92em;
  font-weight: 700;
  color: #475569;
  font-family: 'Manrope', 'Inter', sans-serif;
  text-align: center;
  transition: all 0.2s;
  line-height: 1.2;
}
.eg-sim-ind small {
  display: block;
  font-size: 0.72em;
  margin-top: 0.3em;
  color: #94a3b8;
  font-weight: 600;
}
.eg-sim-ind:hover {
  border-color: #f7941d;
  transform: translateY(-2px);
}
.eg-sim-ind.active {
  background: linear-gradient(135deg, #f7941d, #ffae5c);
  color: #fff;
  border-color: #f7941d;
  box-shadow: 0 6px 16px rgba(247,148,29,0.4);
}
.eg-sim-ind.active small { color: rgba(255,255,255,0.85); }

/* Result panel */
.eg-sim-result {
  background: linear-gradient(135deg, #0a1a2e, #143f6e);
  color: #fff;
  padding: 2.5em 2em;
  border-radius: 16px;
  text-align: center;
  position: relative;
  overflow: hidden;
  box-shadow: 0 12px 32px rgba(20,63,110,0.3);
}
.eg-sim-result::before {
  content: ""; position: absolute; top:-50%; right:-30%;
  width:60%; height:200%;
  background: radial-gradient(ellipse, rgba(247,148,29,0.3) 0%, transparent 60%);
  pointer-events: none;
}
.eg-sim-result-label {
  font-size: 0.85em;
  color: #ffae5c;
  font-weight: 800;
  letter-spacing: 0.2em;
  margin-bottom: 0.5em;
  position: relative; z-index:1;
  font-family: 'Manrope', 'Inter', sans-serif;
}
.eg-sim-result-value {
  font-size: 4em;
  font-weight: 900;
  line-height: 1;
  position: relative; z-index:1;
  margin-bottom: 0.5em;
  font-family: 'Manrope', 'Inter', sans-serif;
  background: linear-gradient(180deg, #fff 0%, #ffae5c 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.eg-sim-result-value .unit {
  font-size: 0.35em;
  margin-left: 0.2em;
  -webkit-text-fill-color: #ffae5c;
  color: #ffae5c;
}
.eg-sim-result-detail {
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.15);
  border-radius: 10px;
  padding: 1em 1.3em;
  margin: 1.3em 0;
  font-size: 0.93em;
  text-align: left;
  position: relative; z-index:1;
  backdrop-filter: blur(10px);
}
.eg-sim-result-detail div {
  padding: 0.4em 0;
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid rgba(255,255,255,0.1);
}
.eg-sim-result-detail div:last-child { border-bottom: none; }
.eg-sim-result-detail span { color: #cfd8e3; }
.eg-sim-result-detail strong { color: #fff; font-weight: 800; }

.eg-sim-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
  background: linear-gradient(135deg, #f7941d, #d97a07);
  color: #fff !important;
  padding: 1.1em 2em;
  border-radius: 50px;
  font-weight: 800;
  text-decoration: none !important;
  box-shadow: 0 10px 28px rgba(247,148,29,0.5);
  transition: all 0.2s;
  position: relative; z-index:1;
  font-family: 'Manrope', 'Inter', sans-serif;
}
.eg-sim-cta:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 36px rgba(247,148,29,0.7);
  color: #fff !important;
}
.eg-sim-note {
  font-size: 0.72em !important;
  color: #9fb1c8 !important;
  margin-top: 1.5em !important;
  line-height: 1.7 !important;
  position: relative; z-index:1;
}
.eg-sim-note a { color: #ffae5c !important; text-decoration: underline; }


/* ============================================================
 * v39 連携機関・情報資産セクション
 * ============================================================ */
body.eg-frontpage-custom .eg-partners {
  max-width: 1600px !important;
  margin: 2em auto 5em !important;
  padding: 0 1em !important;
}
.eg-partners-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.6em;
}
@media (max-width: 960px) { .eg-partners-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .eg-partners-grid { grid-template-columns: 1fr; } }

.eg-partner-card {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  padding: 2em 1.7em;
  text-align: center;
  transition: transform 0.25s, box-shadow 0.25s, border-color 0.25s;
  box-shadow: 0 2px 8px rgba(15,23,42,0.06);
  position: relative;
  overflow: hidden;
  text-decoration: none !important;
  color: inherit;
  display: block;
}
.eg-partner-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 40px rgba(15,23,42,0.15);
  border-color: #f7941d;
  color: inherit;
}
.eg-partner-card.featured {
  border: 2.5px solid #f7941d;
  background: linear-gradient(180deg, #fff 0%, #fff8ef 100%);
  box-shadow: 0 8px 24px rgba(247,148,29,0.18);
}
.eg-partner-card.featured:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 48px rgba(247,148,29,0.3);
}
.eg-partner-badge {
  position: absolute;
  top: 0; right: 1.5em;
  background: linear-gradient(135deg, #f7941d, #d97a07);
  color: #fff;
  padding: 0.4em 1em;
  border-radius: 0 0 8px 8px;
  font-size: 0.7em;
  font-weight: 800;
  letter-spacing: 0.15em;
  font-family: 'Manrope', 'Inter', sans-serif;
  box-shadow: 0 4px 12px rgba(247,148,29,0.35);
}
.eg-partner-logo {
  width: 78px;
  height: 78px;
  margin: 0.7em auto 1em;
  border-radius: 20px;
  background: linear-gradient(135deg, #1e5b9a, #143f6e);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.4em;
  color: #fff;
  box-shadow: 0 8px 20px rgba(20,63,110,0.25);
}
.eg-partner-card.featured .eg-partner-logo {
  background: linear-gradient(135deg, #f7941d, #d97a07);
  box-shadow: 0 8px 20px rgba(247,148,29,0.35);
}
.eg-partner-name {
  font-size: 1.2em;
  font-weight: 900;
  color: #143f6e;
  margin: 0 0 0.3em;
  font-family: 'Manrope', 'Inter', sans-serif;
}
.eg-partner-org {
  font-size: 0.85em;
  color: #f7941d;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin-bottom: 0.8em;
  font-family: 'Manrope', 'Inter', sans-serif;
}
.eg-partner-desc {
  font-size: 0.88em;
  color: #475569;
  line-height: 1.75;
  margin: 0 0 1em;
}
.eg-partner-link {
  display: inline-block;
  color: #f7941d;
  font-weight: 800;
  font-size: 0.9em;
  font-family: 'Manrope', 'Inter', sans-serif;
  transition: gap 0.2s;
}
.eg-partner-card:hover .eg-partner-link {
  color: #d97a07;
}


/* ============================================================
 * v40 業界ニュース速報セクション
 * ============================================================ */
body.eg-frontpage-custom .eg-news {
  max-width: 1600px !important;
  margin: 2em auto 5em !important;
  padding: 0 1em !important;
}
.eg-news-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.4em;
}
@media (max-width: 960px) { .eg-news-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .eg-news-grid { grid-template-columns: 1fr; } }

.eg-news-item {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  padding: 1.6em 1.5em;
  text-decoration: none !important;
  color: inherit;
  display: block;
  position: relative;
  transition: all 0.25s;
  box-shadow: 0 2px 8px rgba(15,23,42,0.06);
  border-left: 4px solid #1e5b9a;
}
.eg-news-item:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 36px rgba(15,23,42,0.15);
  border-left-color: #f7941d;
  border-left-width: 6px;
}
.eg-news-item.urgent {
  background: linear-gradient(135deg, #fff 0%, #fff8ef 100%);
  border-left-color: #ef4444;
  position: relative;
}
.eg-news-item.urgent::before {
  content: "URGENT";
  position: absolute;
  top: -10px; right: 14px;
  background: linear-gradient(135deg, #ef4444, #dc2626);
  color: #fff;
  padding: 0.3em 0.9em;
  border-radius: 12px;
  font-size: 0.7em;
  font-weight: 800;
  letter-spacing: 0.15em;
  box-shadow: 0 4px 10px rgba(239,68,68,0.4);
  font-family: 'Manrope', 'Inter', sans-serif;
}
.eg-news-date {
  font-size: 0.78em;
  color: #f7941d;
  font-weight: 800;
  letter-spacing: 0.1em;
  margin-bottom: 0.3em;
  font-family: 'Manrope', 'Inter', sans-serif;
}
.eg-news-cat {
  display: inline-block;
  background: linear-gradient(135deg, #1e5b9a, #143f6e);
  color: #fff;
  padding: 0.2em 0.7em;
  border-radius: 4px;
  font-size: 0.7em;
  font-weight: 800;
  letter-spacing: 0.08em;
  margin-bottom: 0.7em;
  font-family: 'Manrope', 'Inter', sans-serif;
}
.eg-news-item.urgent .eg-news-cat {
  background: linear-gradient(135deg, #ef4444, #dc2626);
}
.eg-news-title {
  font-size: 1.05em !important;
  font-weight: 900 !important;
  color: #143f6e !important;
  margin: 0 0 0.6em !important;
  line-height: 1.5 !important;
  font-family: 'Manrope', 'Inter', sans-serif !important;
  background: none !important;
  border: none !important;
  padding: 0 !important;
  box-shadow: none !important;
}
.eg-news-item:hover .eg-news-title {
  color: #f7941d !important;
}
.eg-news-desc {
  font-size: 0.86em;
  color: #475569;
  line-height: 1.7;
  margin: 0 0 0.8em;
}
.eg-news-link {
  display: inline-flex;
  align-items: center;
  gap: 0.3em;
  font-size: 0.83em;
  color: #f7941d;
  font-weight: 800;
  font-family: 'Manrope', 'Inter', sans-serif;
}
.eg-news-item:hover .eg-news-link {
  color: #d97a07;
}


/* ============================================================
 * v41 業界別導入想定例セクション
 * ============================================================ */
body.eg-frontpage-custom .eg-cases {
  max-width: 1600px !important;
  margin: 2em auto 5em !important;
  padding: 0 1em !important;
}
.eg-cases-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.6em;
}
@media (max-width: 960px) { .eg-cases-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .eg-cases-grid { grid-template-columns: 1fr; } }

.eg-case-card {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  overflow: hidden;
  transition: transform 0.25s, box-shadow 0.25s;
  box-shadow: 0 4px 12px rgba(15,23,42,0.06);
}
.eg-case-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 40px rgba(15,23,42,0.15);
}

.eg-case-header {
  padding: 1.5em 1.7em;
  color: #fff;
  display: flex;
  align-items: center;
  gap: 1em;
  position: relative;
  overflow: hidden;
}
.eg-case-header::before {
  content: ""; position: absolute; top:-50%; right:-25%;
  width: 60%; height: 200%;
  background: radial-gradient(ellipse, rgba(255,255,255,0.18) 0%, transparent 60%);
}
.eg-case-header.type-mfg { background: linear-gradient(135deg, #1e5b9a, #143f6e); }
.eg-case-header.type-office { background: linear-gradient(135deg, #3a7ab8, #1e5b9a); }
.eg-case-header.type-medical { background: linear-gradient(135deg, #10b981, #047857); }
.eg-case-header.type-dc { background: linear-gradient(135deg, #6366f1, #4338ca); }
.eg-case-header.type-retail { background: linear-gradient(135deg, #f7941d, #d97a07); }
.eg-case-header.type-logistics { background: linear-gradient(135deg, #06b6d4, #0e7490); }

.eg-case-icon {
  font-size: 2.3em;
  width: 54px; height: 54px;
  background: rgba(255,255,255,0.15);
  border-radius: 12px;
  display: flex; align-items: center; justify-content: center;
  position: relative; z-index: 1;
  backdrop-filter: blur(10px);
}
.eg-case-info {
  position: relative; z-index: 1;
  flex: 1;
}
.eg-case-type {
  font-size: 0.72em;
  letter-spacing: 0.18em;
  font-weight: 800;
  opacity: 0.9;
  font-family: 'Manrope', 'Inter', sans-serif;
  margin-bottom: 0.2em;
}
.eg-case-title {
  font-size: 1.15em;
  font-weight: 900;
  font-family: 'Manrope', 'Inter', sans-serif;
  line-height: 1.3;
}

.eg-case-body {
  padding: 1.4em 1.7em 1.7em;
}
.eg-case-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.7em;
  margin-bottom: 1.3em;
  padding-bottom: 1.3em;
  border-bottom: 1px solid #e2e8f0;
}
.eg-case-stat {
  text-align: center;
  background: linear-gradient(135deg, #f8fafc, #f0f5fc);
  padding: 0.9em 0.4em;
  border-radius: 10px;
  border: 1px solid #e2e8f0;
}
.eg-case-stat .num {
  font-size: 1.3em;
  font-weight: 900;
  color: #143f6e;
  line-height: 1.1;
  font-family: 'Manrope', 'Inter', sans-serif;
}
.eg-case-stat .lbl {
  font-size: 0.7em;
  color: #6c757d;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin-top: 0.2em;
  font-family: 'Manrope', 'Inter', sans-serif;
}
.eg-case-points {
  list-style: none;
  padding: 0;
  margin: 0;
}
.eg-case-points li {
  padding: 0.5em 0 0.5em 1.6em;
  position: relative;
  font-size: 0.88em;
  line-height: 1.6;
  color: #475569;
  border-bottom: 1px dashed #e2e8f0;
}
.eg-case-points li:last-child { border-bottom: none; }
.eg-case-points li::before {
  content: "✓";
  position: absolute;
  left: 0; top: 0.45em;
  color: #10b981;
  font-weight: 900;
  font-size: 1.05em;
}
.eg-cases-note {
  margin-top: 2em;
  padding: 1.2em 1.5em;
  background: #f8fafc;
  border-left: 4px solid #cbd5e1;
  border-radius: 0 8px 8px 0;
  font-size: 0.83em;
  color: #6c757d;
  line-height: 1.7;
}
.eg-cases-note a {
  color: #f7941d;
  font-weight: 700;
  text-decoration: underline;
}


/* ============================================================
 * v42-v51 10サイクル連続改善
 * ============================================================ */

/* === v42 ヒーロータイトル type-write ライク アニメ === */
@keyframes egTypeIn {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}
body.eg-frontpage-custom .eg-hero h1 {
  animation: egTypeIn 1.2s ease-out !important;
}
body.eg-frontpage-custom .eg-hero h1 .accent {
  display: inline-block;
  position: relative;
}

/* === v43 スクロールインジケーター === */
body.eg-frontpage-custom .eg-hero::after {
  content: "↓ SCROLL";
  position: absolute;
  bottom: 1.5em;
  left: 50%;
  transform: translateX(-50%);
  color: rgba(255,255,255,0.6);
  font-size: 0.78em;
  font-weight: 700;
  letter-spacing: 0.3em;
  font-family: 'Manrope', 'Inter', sans-serif;
  animation: egScrollHint 2s ease-in-out infinite;
}
@keyframes egScrollHint {
  0%,100% { transform: translateX(-50%) translateY(0); opacity: 0.6; }
  50% { transform: translateX(-50%) translateY(6px); opacity: 1; }
}

/* === v44 各カードに番号を付ける === */
body.eg-frontpage-custom .eg-cases-grid .eg-case-card {
  counter-increment: caseCount;
}
body.eg-frontpage-custom .eg-cases-grid {
  counter-reset: caseCount;
}

/* === v45 テスティモニアル星評価追加 === */
body.eg-frontpage-custom .eg-testi::after {
  content: "★★★★★";
  display: block;
  color: #f7941d;
  font-size: 1.1em;
  letter-spacing: 0.1em;
  margin-top: 0.5em;
  text-shadow: 0 1px 2px rgba(247,148,29,0.3);
}

/* === v46 業種カードに「人気」「注目」バッジ === */
body.eg-frontpage-custom .eg-industries .eg-industry:nth-child(1)::after {
  content: "人気";
  position: absolute;
  top: -8px; right: -8px;
  background: linear-gradient(135deg, #ef4444, #dc2626);
  color: #fff;
  padding: 0.25em 0.7em;
  border-radius: 50px;
  font-size: 0.65em;
  font-weight: 800;
  letter-spacing: 0.05em;
  font-family: 'Manrope', 'Inter', sans-serif;
  box-shadow: 0 4px 10px rgba(239,68,68,0.4);
}
body.eg-frontpage-custom .eg-industries .eg-industry:nth-child(4)::after {
  content: "注目";
  position: absolute;
  top: -8px; right: -8px;
  background: linear-gradient(135deg, #06b6d4, #0891b2);
  color: #fff;
  padding: 0.25em 0.7em;
  border-radius: 50px;
  font-size: 0.65em;
  font-weight: 800;
  letter-spacing: 0.05em;
  font-family: 'Manrope', 'Inter', sans-serif;
  box-shadow: 0 4px 10px rgba(6,182,212,0.4);
}
body.eg-frontpage-custom .eg-industries .eg-industry {
  position: relative;
}

/* === v47 プロセスステップ各色付け === */
body.eg-frontpage-custom .eg-process .eg-step:nth-child(1) .step-num {
  background: linear-gradient(135deg, #f7941d, #d97a07) !important;
}
body.eg-frontpage-custom .eg-process .eg-step:nth-child(2) .step-num {
  background: linear-gradient(135deg, #06b6d4, #0891b2) !important;
}
body.eg-frontpage-custom .eg-process .eg-step:nth-child(3) .step-num {
  background: linear-gradient(135deg, #8b5cf6, #6366f1) !important;
}
body.eg-frontpage-custom .eg-process .eg-step:nth-child(4) .step-num {
  background: linear-gradient(135deg, #10b981, #047857) !important;
}

/* === v48 FAQ サマリーに番号 === */
body.eg-frontpage-custom .eg-faq {
  counter-reset: faqCount;
}
body.eg-frontpage-custom .eg-faq-item {
  counter-increment: faqCount;
}
body.eg-frontpage-custom .eg-faq-item summary::before {
  content: counter(faqCount, decimal-leading-zero) !important;
  font-size: 0.85em !important;
}

/* === v49 ニュースレターに特典訴求 === */
body.eg-frontpage-custom .eg-newsletter::after {
  content: "🎁 登録特典：限定レポート「2026年新電力市場展望」PDF配布";
  display: block;
  margin-top: 1.5em;
  padding: 1em 1.5em;
  background: rgba(247,148,29,0.15);
  border: 1px solid rgba(247,148,29,0.3);
  border-radius: 10px;
  color: #ffae5c;
  font-size: 0.95em;
  font-weight: 800;
  text-align: center;
  font-family: 'Manrope', 'Inter', sans-serif;
  max-width: 880px;
  margin-left: auto;
  margin-right: auto;
}

/* === v50 セクション間に視覚的divider === */
body.eg-frontpage-custom .eg-cat-grid,
body.eg-frontpage-custom .eg-trends,
body.eg-frontpage-custom .eg-bigviz,
body.eg-frontpage-custom .eg-service-grid,
body.eg-frontpage-custom .eg-cases,
body.eg-frontpage-custom .eg-news,
body.eg-frontpage-custom .eg-partners,
body.eg-frontpage-custom .eg-featured-grid {
  position: relative;
}

/* === v51 全体的なcursor pointer = エンタープライズ感 === */
body.eg-frontpage-custom .eg-cat-card,
body.eg-frontpage-custom .eg-feat-card-img,
body.eg-frontpage-custom .eg-case-card,
body.eg-frontpage-custom .eg-news-item,
body.eg-frontpage-custom .eg-partner-card,
body.eg-frontpage-custom .eg-service-card,
body.eg-frontpage-custom .eg-trend-card {
  cursor: pointer;
}

/* === Trust bar に星マーク === */
body.eg-frontpage-custom .eg-trust-item:nth-child(1) .ti-label::before {
  content: "★ ";
  color: #f7941d;
}

/* === Hero CTA「無料」を強調 === */
body.eg-frontpage-custom .eg-hero-cta .btn-primary::before {
  content: "✦ ";
  display: inline-block;
  margin-right: 0.2em;
  animation: egPulseGlow 2s ease-in-out infinite;
}

/* === Diagnosis カードの数字付け === */
body.eg-frontpage-custom .eg-diag-grid {
  counter-reset: diagCount;
}
body.eg-frontpage-custom .eg-diag-card {
  counter-increment: diagCount;
  position: relative;
}
body.eg-frontpage-custom .eg-diag-card::before {
  content: "Q." counter(diagCount);
  position: absolute;
  top: 1em; left: 1em;
  background: #143f6e;
  color: #fff;
  width: 28px; height: 28px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 0.65em;
  font-weight: 900;
  font-family: 'Manrope', 'Inter', sans-serif;
  z-index: 2;
}

/* === Cat card にカテゴリ番号 === */
body.eg-frontpage-custom .eg-cat-grid {
  counter-reset: catCount;
}
body.eg-frontpage-custom .eg-cat-card {
  counter-increment: catCount;
}
body.eg-frontpage-custom .eg-cat-card::after {
  content: "0" counter(catCount);
  position: absolute;
  top: 1em; right: 1.2em;
  font-size: 2em;
  font-weight: 900;
  color: rgba(247,148,29,0.15);
  font-family: 'Manrope', 'Inter', sans-serif;
  line-height: 1;
  pointer-events: none;
}

/* === Service card にRECOMMENDED 強調 === */
body.eg-frontpage-custom .eg-service-card.featured {
  position: relative;
}
body.eg-frontpage-custom .eg-service-card.featured::after {
  content: "おすすめ";
  position: absolute;
  bottom: 1em; left: 50%;
  transform: translateX(-50%);
  background: linear-gradient(135deg, #f7941d, #d97a07);
  color: #fff;
  padding: 0.3em 0.9em;
  border-radius: 50px;
  font-size: 0.72em;
  font-weight: 800;
  font-family: 'Manrope', 'Inter', sans-serif;
  box-shadow: 0 4px 10px rgba(247,148,29,0.4);
  letter-spacing: 0.05em;
  white-space: nowrap;
}

/* === Mega CTA の周りに装飾 === */
body.eg-frontpage-custom .eg-mega-cta {
  position: relative;
}
body.eg-frontpage-custom .eg-mega-cta::after {
  content: "👥 月間相談実績 30件+";
  position: absolute;
  top: 1em; right: 1.5em;
  background: rgba(255,255,255,0.1);
  color: #ffae5c;
  padding: 0.5em 1em;
  border-radius: 50px;
  font-size: 0.8em;
  font-weight: 800;
  border: 1px solid rgba(255,255,255,0.2);
  backdrop-filter: blur(10px);
  font-family: 'Manrope', 'Inter', sans-serif;
}

/* === Authority badge に「権威」マーク === */
body.eg-frontpage-custom .eg-authority-badge::after {
  content: "★ 一般社団法人運営";
  display: block;
  margin-top: 0.8em;
  font-size: 0.75em;
  color: #ffae5c;
  letter-spacing: 0.05em;
  font-weight: 700;
}

/* === Compare card に推奨度メーター風 === */
body.eg-frontpage-custom .eg-compare-card.short-term::before {
  content: "速攻性 ★★★★★";
  display: block;
  text-align: center;
  color: #f7941d;
  font-size: 0.78em;
  font-weight: 700;
  margin-top: 0.3em;
  letter-spacing: 0.1em;
}
body.eg-frontpage-custom .eg-compare-card.mid-term::before {
  content: "戦略性 ★★★★☆";
  display: block;
  text-align: center;
  color: #06b6d4;
  font-size: 0.78em;
  font-weight: 700;
  margin-top: 0.3em;
  letter-spacing: 0.1em;
}
body.eg-frontpage-custom .eg-compare-card.long-term::before {
  content: "持続性 ★★★★★";
  display: block;
  text-align: center;
  color: #10b981;
  font-size: 0.78em;
  font-weight: 700;
  margin-top: 0.3em;
  letter-spacing: 0.1em;
}
