/* =============================================================
   AIT SEGMENT UNAWARE — ait-segment-unaware.css
   セグメント3: AI無関心層向けLP（最難関）
   配置: /wp-content/themes/cocoon-child-master/ait-segment-lp/
   アクセントカラー: 緑系 #2d5a3d（安心・自然・受容・穏やかさ）
   設計思想: 正論NG · 社会的証拠から · 超低摩擦CTA · 教育型
============================================================= */

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --bg:          #0c1a0f;
  --bg-mid:      #112215;
  --bg-card:     #162b1a;
  --bg-card-h:   #1c3522;
  --bg-card2:    #132515;

  --text-1:      #eef7f0;
  --text-2:      #bcd6c1;
  --text-3:      #93b29a;

  --acc:         #2f7d4d;
  --acc-light:   #38905a;
  --acc-bright:  #86d89f;
  --acc-dim:     rgba(80,185,115,0.24);
  --acc-glow:    rgba(80,185,115,0.13);

  --border:      rgba(255,255,255,0.13);
  --border-h:    rgba(255,255,255,0.22);
  --border-g:    rgba(110,210,140,0.38);

  --badge-must:  #c8402f;
  --badge-imp:   #a06010;
  --badge-rec:   #2d7a50;

  --font-serif:  'Noto Serif JP', 'Cormorant Garamond', serif;
  --font-sans:   'Noto Sans JP', sans-serif;

  --ease:        cubic-bezier(0.22, 1, 0.36, 1);
  --ease2:       cubic-bezier(0.4, 0, 0.2, 1);
}

/* ── WP THEME OVERRIDE ── */
.ait-unaware-body {
  background: var(--bg) !important;
  color: var(--text-1) !important;
  font-family: var(--font-sans) !important;
  font-weight:400 !important;
  line-height: 1.9 !important;
  overflow-x: hidden !important;
  -webkit-font-smoothing: antialiased;
}
.ait-unaware-body #page,
.ait-unaware-body .site,
.ait-unaware-body .site-content,
.ait-unaware-body #content,
.ait-unaware-body .content-area,
.ait-unaware-body main,
.ait-unaware-body article,
.ait-unaware-body .entry-content {
  background: transparent !important;
  margin: 0 !important; padding: 0 !important;
  max-width: 100% !important; float: none !important; width: 100% !important;
}
.ait-unaware-body header.site-header,
.ait-unaware-body footer.site-footer-default,
.ait-unaware-body .sidebar, .ait-unaware-body #sidebar,
.ait-unaware-body .widget-area, .ait-unaware-body .breadcrumb,
.ait-unaware-body .post-navigation, .ait-unaware-body .ad-area { display: none !important; }

.skip-link { position:absolute; top:-999px; left:0; z-index:9999; background:var(--acc); color:#fff; padding:8px 16px; font-size:14px; }
.skip-link:focus { top:0; }

/* ── NOISE ── */
.noise-overlay {
  position:fixed; inset:0; z-index:0; pointer-events:none; opacity:0.012;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ── LAYOUT ── */
.container { max-width: 960px; margin: 0 auto; padding: 0 40px; position: relative; z-index: 1; }

/* ── TOP STRIPE ── */
.top-stripe {
  background: rgba(80,185,115,0.108); border-bottom:1px solid var(--border);
  color: var(--text-3); font-size:12px; letter-spacing:0.1em;
  display:flex; align-items:center; justify-content:center; gap:16px;
  padding:11px 20px; position:relative; z-index:10; flex-wrap:wrap;
}
.back-link { color:var(--text-3); text-decoration:none; font-size:12px; transition:color .2s; }
.back-link:hover { color:var(--text-2); }
.stripe-tag { border:1px solid var(--border-g); padding:2px 8px; border-radius:2px; font-size:11px; color:var(--acc-bright); }

/* ── STICKY CTA ── */
.sticky-cta {
  position:fixed; bottom:24px; right:24px; z-index:100;
  display:flex; align-items:center; gap:12px;
  background:rgba(22,43,26,0.97); border:1px solid var(--border-g);
  backdrop-filter:blur(12px);
  padding:12px 20px; border-radius:4px;
  transform:translateY(120%); opacity:0;
  transition:transform .5s var(--ease), opacity .5s var(--ease);
}
.sticky-cta.is-visible { transform:translateY(0); opacity:1; }
.sticky-cta-text { font-size:13px; color:var(--text-2); white-space:nowrap; }
.sticky-cta-btn {
  font-size:13px; font-weight:500; color:#fff;
  background:var(--acc); padding:8px 16px; border-radius:3px;
  text-decoration:none; white-space:nowrap;
  transition:background .2s var(--ease);
}
.sticky-cta-btn:hover { background:var(--acc-light); }

/* ── SECTION BASE ── */
.sec { padding: 120px 0; border-top:1px solid var(--border); position:relative; z-index:1; }
.sec-header { text-align:center; margin-bottom:64px; }
.sec-eyebrow { font-size:11px; letter-spacing:.22em; color:var(--text-3); text-transform:uppercase; margin-bottom:14px; }
.sec-title {
  font-family:var(--font-serif); font-size:clamp(22px,3vw,34px); font-weight:500;
  color:var(--text-1); line-height:1.6; margin-bottom:20px;
}
.sec-desc { font-size:15px; color:var(--text-2); line-height:1.9; max-width:520px; margin:0 auto; }

/* ── BADGES ── */
.badge-must, .badge-imp, .badge-rec {
  display:inline-block; font-size:11px; font-weight:500; letter-spacing:.08em; padding:3px 10px; border-radius:2px;
}
.badge-must { background:rgba(255,120,98,0.324); color:#ff9482; border:1px solid rgba(255,120,98,0.45); }
.badge-imp  { background:rgba(240,160,50,0.324); color:#f4bd68; border:1px solid rgba(240,160,50,0.45); }
.badge-rec  { background:rgba(70,190,125,0.324); color:#7fe0a5; border:1px solid rgba(70,190,125,0.45); }

/* ── BUTTONS ── */
.btn-primary {
  display:inline-block; background:var(--acc); color:#fff;
  font-size:15px; font-weight:500; letter-spacing:.04em;
  padding:18px 44px; border-radius:3px; text-decoration:none;
  transition:background .3s var(--ease), transform .3s var(--ease);
}
.btn-primary:hover { background:var(--acc-light); transform:translateY(-2px); }
.cta-pulse { animation:ctaPulse 3.5s ease-in-out infinite; }
@keyframes ctaPulse {
  0%,100% { box-shadow:0 0 16px rgba(80,185,115,.30), 0 0 0 0 rgba(255,255,255,0); }
  50%      { box-shadow:0 0 34px rgba(100,210,135,.55), 0 0 0 8px rgba(255,255,255,0.1); }
}

/* ── HERO ── */
.hero { position:relative; min-height:100vh; display:flex; align-items:center; padding:120px 0; overflow:hidden; }
.hero-bg {
  position:absolute; inset:0; background-size:cover; background-position:center;
  background-color:#0c1a0f; z-index:0;
}
.hero-bg::after {
  content:''; position:absolute; inset:0;
  background:
    linear-gradient(to bottom, rgba(12,26,15,0.25) 0%, rgba(12,26,15,0.375) 50%, rgba(12,26,15,1) 100%),
    linear-gradient(to right, rgba(12,26,15,0.275) 0%, transparent 55%);
}
.hero::before {
  content:''; position:absolute; top:10%; right:8%;
  width:480px; height:480px;
  background:radial-gradient(circle, rgba(80,185,115,0.108) 0%, transparent 70%);
  pointer-events:none; z-index:1;
  animation:heroGlow 12s ease-in-out infinite alternate;
}
@keyframes heroGlow { 0%{transform:scale(1) translate(0,0);} 100%{transform:scale(1.4) translate(30px,-20px);} }
.hero-inner { position:relative; z-index:2; width:100%; }

.hero-tag {
  display:flex; align-items:center; gap:12px;
  font-size:11px; letter-spacing:.18em; color:var(--text-3); text-transform:uppercase; margin-bottom:28px;
}
.tag-line { display:block; width:28px; height:1px; background:var(--acc-bright); }
.hero-eyebrow { font-size:14px; color:var(--text-2); letter-spacing:.03em; margin-bottom:20px; }

.hero-title {
  font-family:var(--font-serif); font-size:clamp(26px,5vw,52px); font-weight:500;
  line-height:1.45; letter-spacing:-.01em; color:var(--text-1);
  display:flex; flex-direction:column; gap:2px; margin-bottom:32px;
}
.ht-line { display:block; }
.ht-accent {
  display:block; font-style:normal;
  color:var(--acc-bright); -webkit-text-stroke:0;
  font-size:clamp(22px,4.5vw,48px);
}

.hero-desc {
  font-size:16px; color:var(--text-2); line-height:2; max-width:600px;
  margin-bottom:48px; border-left:2px solid var(--acc-bright); padding-left:20px;
}
.hero-desc strong { color:var(--text-1); }

/* Hero Social Numbers */
.hero-social {
  display:flex; align-items:center; gap:36px; flex-wrap:wrap;
  padding:28px 36px; background:rgba(80,185,115,0.072); border:1px solid var(--border-g);
  border-radius:4px; width:fit-content; margin-bottom:48px;
}
.hs-item { text-align:center; }
.hs-num {
  font-family:'Cormorant Garamond',var(--font-serif); font-size:44px; font-weight:400;
  color:var(--text-1); display:block; line-height:1; letter-spacing:-.02em;
}
.hs-unit { font-size:16px; color:var(--acc-bright); }
.hs-label { display:block; font-size:12px; color:var(--text-3); line-height:1.55; margin-top:8px; }
.hs-div { width:1px; height:52px; background:var(--border-g); flex-shrink:0; }

.hero-cta { display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
.hero-cta-note { font-size:13px; color:var(--text-3); letter-spacing:.04em; }

/* ── CHANGE SECTION ── */
.change-list { display:flex; flex-direction:column; gap:1px; margin-bottom:40px; }
.change-item {
  display:flex; gap:28px; align-items:flex-start;
  padding:28px 0; border-bottom:1px solid var(--border);
  transition:background .3s var(--ease);
}
.change-item:first-child { border-top:1px solid var(--border); }
.ci-icon {
  width:40px; height:40px; flex-shrink:0; color:var(--acc-bright);
  opacity:.9; transition:opacity .4s var(--ease);
}
.change-item:hover .ci-icon { opacity:1; }
.ci-body h3 { font-size:16px; font-weight:500; color:var(--text-1); margin-bottom:8px; }
.ci-body p  { font-size:14px; color:var(--text-2); line-height:1.85; }

.change-quote {
  padding:32px 36px;
  background:var(--acc-glow); border:1px solid var(--border-g); border-radius:4px;
}
.cq-text {
  font-family:var(--font-serif); font-size:17px; color:var(--text-1);
  line-height:1.9; font-style:normal;
}
.cq-text strong { color:var(--acc-bright); font-style:normal; }

/* ── WHAT SECTION ── */
.what-image {
  height:260px; background-size:cover; background-position:center; background-color:#132515;
  border-radius:4px; overflow:hidden; position:relative; margin-bottom:48px;
}
.wi-overlay { position:absolute; inset:0; background:linear-gradient(135deg, rgba(80,185,115,0.144) 0%, rgba(12,26,15,0.325) 100%); }
.wi-caption {
  position:absolute; bottom:24px; left:28px;
  font-family:var(--font-serif); font-size:16px; color:var(--text-1); font-style:normal;
}

.what-examples { display:flex; flex-direction:column; gap:1px; margin-bottom:36px; }
.we-card {
  background:var(--bg-card); border:1px solid var(--border); border-radius:4px;
  overflow:hidden; margin-bottom:8px;
  transition:background .35s var(--ease);
}
.we-card:hover { background:var(--bg-card-h); }
.we-scene {
  padding:10px 24px; background:rgba(80,185,115,0.108); border-bottom:1px solid var(--border);
  font-size:11px; letter-spacing:.12em; color:var(--acc-bright); text-transform:uppercase;
}
.we-example { display:flex; gap:16px; align-items:flex-start; padding:20px 24px; }
.we-arrow { font-size:18px; color:var(--acc-bright); flex-shrink:0; margin-top:2px; }
.we-example h3 { font-size:15px; font-weight:500; color:var(--text-1); margin-bottom:8px; }
.we-example p  { font-size:14px; color:var(--text-2); line-height:1.8; margin-bottom:12px; }
.we-tag { display:inline-block; }

.what-summary {
  background:var(--bg-card); border:1px solid var(--border-g); border-radius:4px; padding:28px 32px;
}
.ws-label { font-size:12px; letter-spacing:.14em; color:var(--acc-bright); text-transform:uppercase; margin-bottom:12px; display:block; }
.ws-body { font-size:15px; color:var(--text-2); line-height:1.9; }
.ws-body strong { color:var(--text-1); }

/* ── SAFETY SECTION ── */
.safety-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--border); border:1px solid var(--border); border-radius:6px; overflow:hidden; }
.sg-card { background:var(--bg-card); padding:28px 28px; transition:background .35s var(--ease); }
.sg-card:hover { background:var(--bg-card-h); }
.sg-q { font-family:var(--font-serif); font-size:15px; font-weight:500; color:var(--text-1); margin-bottom:14px; line-height:1.55; }
.sg-a p { font-size:14px; color:var(--text-2); line-height:1.85; margin-bottom:12px; }
.sg-tag { display:inline-block; }

/* ── VOICE SECTION ── */
.voice-image {
  height:220px; background-size:cover; background-position:center; background-color:#132515;
  border-radius:4px; overflow:hidden; position:relative; margin-bottom:48px;
}
.vi-overlay { position:absolute; inset:0; background:linear-gradient(to right, rgba(12,26,15,0.425) 0%, rgba(12,26,15,0.15) 100%); }
.vi-label { position:absolute; bottom:24px; left:28px; font-family:var(--font-serif); font-size:16px; color:var(--text-1); font-style:normal; }
.voice-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--border); border:1px solid var(--border); border-radius:6px; overflow:hidden; }
.voice-card { background:var(--bg-card); padding:32px 28px; transition:background .35s var(--ease); }
.voice-card:hover { background:var(--bg-card-h); }
.voice-card p { font-size:14px; color:var(--text-2); line-height:1.9; margin-bottom:20px; font-style:normal; }
.vc-footer { display:block; }
.vc-who { font-size:13px; color:var(--text-3); letter-spacing:.04em; }

/* ── EDUCATION SECTION ── */
.edu-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--border); border:1px solid var(--border); border-radius:6px; overflow:hidden; margin-bottom:32px; }
.eg-card { background:var(--bg-card); padding:32px 28px; transition:background .35s var(--ease); position:relative; }
.eg-card:hover { background:var(--bg-card-h); }
.eg-num {
  font-family:'Cormorant Garamond',serif; font-size:52px; font-weight:400;
  color:rgba(134,216,159,0.5); position:absolute; top:16px; right:20px; line-height:1;
  pointer-events:none; transition:color .4s var(--ease);
}
.eg-card:hover .eg-num { color:rgba(134,216,159,0.85); }
.eg-card h3 { font-size:15px; font-weight:500; color:var(--text-1); margin-bottom:10px; }
.eg-card p  { font-size:14px; color:var(--text-2); line-height:1.85; margin-bottom:14px; }
.eg-tag { display:inline-block; }

.public-note {
  background:rgba(240,160,50,0.09); border:1px solid rgba(240,160,50,0.36); border-radius:4px; padding:24px 28px;
}
.pn-header { display:flex; align-items:center; gap:10px; font-size:14px; font-weight:500; color:var(--text-1); margin-bottom:12px; flex-wrap:wrap; }
.pn-body { font-size:14px; color:var(--text-2); line-height:1.85; }

/* ── PROGRAM SECTION ── */
.program-cards { display:grid; grid-template-columns:1fr 380px; gap:1px; background:var(--border); border:1px solid var(--border); border-radius:6px; overflow:hidden; margin-bottom:28px; }
.pc-card { background:var(--bg-card); padding:36px 32px; }
.pc-label { font-size:11px; letter-spacing:.16em; color:var(--acc-bright); text-transform:uppercase; margin-bottom:14px; }
.pc-card h3 { font-size:17px; font-weight:500; color:var(--text-1); margin-bottom:16px; }
.pc-card p  { font-size:14px; color:var(--text-2); line-height:1.85; margin-bottom:20px; }
.pc-list { list-style:none; display:flex; flex-direction:column; gap:8px; margin-bottom:24px; }
.pc-list li { font-size:14px; color:var(--text-2); display:flex; gap:10px; }
.pc-list li::before { content:'✓'; color:var(--acc-bright); flex-shrink:0; }
.pc-price { font-size:14px; color:var(--acc-bright); font-weight:500; letter-spacing:.04em; }
.pc-bonus { background:var(--bg-card2); }

.program-promise { padding:24px 28px; background:rgba(80,185,115,0.09); border:1px solid var(--border-g); border-radius:4px; }
.pp-items { display:flex; flex-wrap:wrap; gap:20px; }
.pp-item { display:flex; align-items:center; gap:10px; font-size:14px; color:var(--text-2); }
.pp-icon { color:var(--acc-bright); font-weight:500; }

/* ── FAQ SECTION ── */
.faq-list { display:flex; flex-direction:column; border:1px solid var(--border); border-radius:6px; overflow:hidden; }
.faq-item { border-bottom:1px solid var(--border); }
.faq-item:last-child { border-bottom:none; }
.faq-q {
  width:100%; background:var(--bg-card); border:none; cursor:pointer; color:var(--text-1);
  font-family:var(--font-sans); font-size:15px; font-weight:400;
  padding:22px 28px; text-align:left; display:flex; justify-content:space-between; align-items:center; gap:20px;
  transition:background .3s var(--ease);
}
.faq-q:hover { background:var(--bg-card-h); }
.faq-q[aria-expanded="true"] { color:var(--acc-bright); }
.faq-icon { font-size:18px; color:var(--text-3); flex-shrink:0; transition:transform .3s var(--ease), color .3s; }
.faq-q[aria-expanded="true"] .faq-icon { transform:rotate(45deg); color:var(--acc-bright); }
.faq-a { max-height:0; overflow:hidden; transition:max-height .4s var(--ease2); }
.faq-a.is-open { max-height:300px; }
.faq-a p { padding:0 28px 24px; font-size:14px; color:var(--text-2); line-height:1.85; }

/* ── LIMIT SECTION ── */
.limit-banner {
  display:flex; align-items:center; gap:20px; flex-wrap:wrap;
  padding:22px 32px; background:var(--acc-dim); border:1px solid var(--border-g);
  border-radius:4px; margin-bottom:24px;
}
.lb-badge { font-size:14px; font-weight:500; color:var(--acc-bright); border:1px solid var(--border-g); padding:4px 12px; border-radius:2px; white-space:nowrap; }
.lb-text { font-size:14px; color:var(--text-1); }
.limit-note { font-size:14px; color:var(--text-2); line-height:1.85; }

/* ── CTA SECTION ── */
.cta-sec { position:relative; padding:120px 0; overflow:hidden; }
.cta-bg {
  position:absolute; inset:0; background-size:cover; background-position:center;
  background-color:#0c1a0f; z-index:0;
}
.cta-bg::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(to bottom, rgba(12,26,15,0.3) 0%, rgba(12,26,15,0.425) 50%, rgba(12,26,15,1) 100%);
}
.cta-inner { position:relative; z-index:2; }
.cta-eyebrow { font-size:11px; letter-spacing:.22em; color:var(--text-3); text-transform:uppercase; margin-bottom:16px; text-align:center; }
.cta-title {
  font-family:var(--font-serif); font-size:clamp(28px,5vw,52px); font-weight:500;
  color:var(--text-1); line-height:1.45; margin-bottom:24px; text-align:center;
}
.cta-desc { font-size:16px; color:var(--text-2); line-height:1.9; text-align:center; margin-bottom:40px; }

.cta-three {
  display:flex; align-items:flex-start; justify-content:center; gap:40px;
  flex-wrap:wrap; margin-bottom:40px;
}
.ct-item { text-align:center; display:flex; flex-direction:column; align-items:center; gap:8px; }
.ct-icon { font-size:24px; }
.ct-label { font-size:14px; font-weight:500; color:var(--text-1); }
.ct-desc { font-size:13px; color:var(--text-3); }

.cta-btns { text-align:center; margin-bottom:16px; }
.cta-note { text-align:center; font-size:14px; color:var(--text-3); letter-spacing:.03em; margin-bottom:40px; font-style:normal; }

.cta-ending {
  text-align:center; max-width:520px; margin:0 auto 32px;
  padding:28px 32px; background:rgba(80,185,115,0.108); border:1px solid var(--border-g); border-radius:4px;
}
.cta-ending p {
  font-family:var(--font-serif); font-size:16px; color:var(--text-2); line-height:1.9; font-style:normal;
}
.cta-other { text-align:center; }
.cta-back { font-size:14px; color:var(--text-3); text-decoration:none; transition:color .2s; }
.cta-back:hover { color:var(--text-2); }

/* ── FOOTER ── */
.site-footer { padding:48px 0; border-top:1px solid var(--border); position:relative; z-index:1; }
.sf-inner { display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; }
.sf-copy { font-size:12px; color:var(--text-3); }
.sf-nav { display:flex; gap:20px; }
.sf-nav a { font-size:13px; color:var(--text-3); text-decoration:none; transition:color .2s; }
.sf-nav a:hover { color:var(--text-2); }

/* ── REVEAL ── */
.ri {
  opacity:0; transform:translateY(20px);
  transition:opacity .75s var(--ease), transform .75s var(--ease);
}
.ri.is-v { opacity:1; transform:translateY(0); }
.rd1 { transition-delay:.08s; } .rd2 { transition-delay:.16s; } .rd3 { transition-delay:.24s; }
.rd4 { transition-delay:.32s; } .rd5 { transition-delay:.40s; } .rd6 { transition-delay:.48s; }

/* ── RESPONSIVE ── */
@media (max-width: 960px) {
  .container { padding:0 28px; }
  .safety-grid { grid-template-columns:1fr; }
  .voice-grid { grid-template-columns:1fr; }
  .edu-grid { grid-template-columns:1fr; }
  .program-cards { grid-template-columns:1fr; }
  .hero-social { flex-direction:column; gap:20px; width:100%; }
  .hs-div { width:60px; height:1px; }
}
@media (max-width: 640px) {
  .hero { min-height:auto; padding:80px 0; }
  .hero-title { font-size:clamp(22px,8vw,34px); }
  .container { padding:0 20px; }
  .we-example { flex-direction:column; gap:8px; }
  .cta-three { gap:24px; }
  .sticky-cta { display:none; }
}
@media (prefers-reduced-motion: reduce) {
  .ri { opacity:1; transform:none; transition:none; }
  .cta-pulse { animation:none; }
  .hero::before { animation:none; }
}


/* =============================================================
   BRIGHTNESS & LEGIBILITY TUNING（視認性・明るさ改善）
============================================================= */
.hero-title, .sec-title, .cta-title {
  text-shadow: 0 0 30px rgba(134,216,159,0.30), 0 2px 14px rgba(0,0,0,0.35);
}
.hero-eyebrow, .hero-desc, .hero-cta-note, .hero-tag, .cta-desc, .cta-note, .cta-eyebrow, .hs-label, .ct-desc {
  text-shadow: 0 1px 10px rgba(0,0,0,0.6);
}
.wi-caption, .vi-label { text-shadow: 0 2px 14px rgba(0,0,0,0.85); }
.hs-num { text-shadow: 0 0 24px rgba(134,216,159,0.45); }
.hero-social { box-shadow: 0 0 40px rgba(80,185,115,0.12) inset, 0 8px 30px rgba(0,0,0,0.25); }

/* セクション上部のアンビエントグロー */
.sec::before {
  content: '';
  position: absolute;
  top: 0; left: 50%;
  width: min(900px, 100%); height: 320px;
  transform: translateX(-50%);
  background: radial-gradient(ellipse at 50% 0%, rgba(80,185,115,0.15) 0%, transparent 70%);
  pointer-events: none;
  z-index: 0;
}

/* ボタン・カードの発光 */
.btn-primary { box-shadow: 0 4px 22px rgba(80,185,115,0.40); }
.btn-primary:hover { box-shadow: 0 6px 32px rgba(100,210,135,0.62); }
.sticky-cta { box-shadow: 0 6px 30px rgba(0,0,0,0.45), 0 0 22px rgba(80,185,115,0.25); }
.we-card:hover, .sg-card:hover, .voice-card:hover, .eg-card:hover { box-shadow: 0 0 44px rgba(80,185,115,0.14) inset; }
.what-summary, .pc-card, .program-promise, .cta-ending { box-shadow: inset 0 1px 0 rgba(255,255,255,0.07); }
.faq-q[aria-expanded="true"] { background: var(--bg-card-h); }
@media (prefers-reduced-motion: reduce) { .cta-pulse { box-shadow: 0 4px 22px rgba(80,185,115,0.40); } }
