/* =============================================================
   AIT SEGMENT POTENTIAL — ait-segment-potential.css
   セグメント2: AI未活用者向けLP（興味あり・挫折層）
   配置: /wp-content/themes/cocoon-child-master/ait-segment-lp/
   アクセントカラー: 青系 #2a6fb0（希望・安心・信頼）
============================================================= */

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

:root {
  --bg:          #0e1a2b;
  --bg-mid:      #132238;
  --bg-card:     #182a42;
  --bg-card-h:   #1f344f;
  --bg-card2:    #15263c;

  --text-1:      #f2f6fb;
  --text-2:      #bccadc;
  --text-3:      #93a6bf;

  --acc:         #2870b5;
  --acc-light:   #7dbbf5;
  --acc-hover:   #3a82cc;
  --acc-dim:     rgba(90,170,250,0.24);
  --acc-glow:    rgba(90,170,250,0.14);

  --border:      rgba(255,255,255,0.13);
  --border-h:    rgba(255,255,255,0.23);

  --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-potential-body {
  background: var(--bg) !important;
  color: var(--text-1) !important;
  font-family: var(--font-sans) !important;
  font-weight:400 !important;
  line-height: 1.85 !important;
  overflow-x: hidden !important;
  -webkit-font-smoothing: antialiased;
}
.ait-potential-body #page,
.ait-potential-body .site,
.ait-potential-body .site-content,
.ait-potential-body #content,
.ait-potential-body .content-area,
.ait-potential-body main,
.ait-potential-body article,
.ait-potential-body .entry-content {
  background: transparent !important;
  margin: 0 !important; padding: 0 !important;
  max-width: 100% !important; float: none !important; width: 100% !important;
}
.ait-potential-body header.site-header,
.ait-potential-body footer.site-footer-default,
.ait-potential-body .sidebar, .ait-potential-body #sidebar,
.ait-potential-body .widget-area, .ait-potential-body .breadcrumb,
.ait-potential-body .post-navigation, .ait-potential-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(90,170,250,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-h); padding:2px 8px; border-radius:2px; font-size:11px; color:var(--acc-light); }

/* ── STICKY CTA ── */
.sticky-cta {
  position:fixed; bottom:24px; right:24px; z-index:100;
  display:flex; align-items:center; gap:12px;
  background:rgba(24,42,66,0.97); border:1px solid var(--border-h);
  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-hover); }

/* ── 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(24px,3vw,36px); font-weight:500;
  color:var(--text-1); line-height:1.55; margin-bottom:20px;
}
.sec-title em { font-style:normal; color:var(--acc-light); }
.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 40px; border-radius:3px; text-decoration:none;
  transition:background .3s var(--ease), transform .3s var(--ease);
}
.btn-primary:hover { background:var(--acc-hover); transform:translateY(-2px); }
.cta-pulse { animation:ctaPulse 3s ease-in-out infinite; }
@keyframes ctaPulse {
  0%,100% { box-shadow:0 0 16px rgba(90,170,250,.30), 0 0 0 0 rgba(255,255,255,0); }
  50%      { box-shadow:0 0 34px rgba(110,185,255,.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:#0e1a2b; z-index:0;
}
.hero-bg::after {
  content:''; position:absolute; inset:0;
  background:
    linear-gradient(to bottom, rgba(14,26,43,0.25) 0%, rgba(14,26,43,0.39) 50%, rgba(14,26,43,1) 100%),
    linear-gradient(to right, rgba(14,26,43,0.25) 0%, transparent 60%);
}
.hero::before {
  content:''; position:absolute; top:15%; right:5%;
  width:500px; height:500px;
  background:radial-gradient(circle, rgba(90,170,250,0.126) 0%, transparent 70%);
  pointer-events:none; z-index:1;
  animation:heroGlow 10s ease-in-out infinite alternate;
}
@keyframes heroGlow { 0%{transform:scale(1);} 100%{transform:scale(1.5) translate(40px,-30px);} }
.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); }
.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(28px,5vw,54px); font-weight:500;
  line-height:1.4; letter-spacing:-.01em; color:var(--text-1);
  display:flex; flex-direction:column; gap:4px; margin-bottom:32px;
}
.ht-line { display:block; }
.ht-accent {
  display:block; font-style:normal;
  color:var(--acc-light); -webkit-text-stroke:0;
  font-size:clamp(24px,4.5vw,50px);
}

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

/* Hero Empathy Stats */
.hero-empathy {
  display:flex; align-items:center; gap:36px; flex-wrap:wrap;
  padding:28px 36px; background:rgba(90,170,250,0.072); border:1px solid rgba(90,170,250,0.27);
  border-radius:4px; width:fit-content; margin-bottom:48px;
}
.he-item { text-align:center; }
.he-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;
}
.he-unit { font-size:16px; color:var(--acc-light); vertical-align:super; margin-left:2px; }
.he-label { display:block; font-size:12px; color:var(--text-3); line-height:1.55; margin-top:6px; }
.he-note  { display:block; font-size:12px; color:var(--acc-light); margin-top:4px; font-style:normal; opacity:1; }
.he-div { width:1px; height:52px; background:var(--border-h); 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; }

/* ── PAIN SECTION ── */
.pain-story {
  background:var(--bg-card); border:1px solid var(--border); border-radius:6px;
  padding:40px 44px; margin-bottom:48px;
}
.ps-intro { font-size:15px; color:var(--text-2); line-height:1.9; margin-bottom:24px; }
.ps-insight {
  padding:20px 24px; background:var(--acc-glow); border-left:3px solid var(--acc);
  border-radius:0 4px 4px 0; margin-bottom:24px;
}
.psi-text { font-family:var(--font-serif); font-size:18px; color:var(--text-1); font-style:normal; line-height:1.6; }
.psi-text strong { color:var(--acc-light); font-style:normal; }
.ps-follow { font-size:15px; color:var(--text-2); line-height:1.9; }

.pain-list { list-style:none; display:flex; flex-direction:column; gap:1px; }
.pain-item {
  display:flex; gap:20px; align-items:flex-start;
  padding:24px 0; border-bottom:1px solid var(--border);
}
.pain-item:first-child { border-top:1px solid var(--border); }
.pi-check {
  width:20px; height:20px; border-radius:50%; border:1px solid var(--acc);
  flex-shrink:0; margin-top:4px;
  background:var(--acc-dim); display:flex; align-items:center; justify-content:center;
  position:relative;
}
.pi-check::after { content:''; width:6px; height:6px; border-radius:50%; background:var(--acc); }
.pi-body h3 { font-size:15px; font-weight:500; color:var(--text-1); margin-bottom:6px; }
.pi-body p  { font-size:14px; color:var(--text-2); line-height:1.8; }

/* ── EXEMPTION SECTION ── */
.exempt-box {
  background:var(--bg-card); border:1px solid var(--border); border-radius:6px;
  padding:56px 56px 48px; position:relative; overflow:hidden;
}
.exempt-box::before {
  content:''; position:absolute; top:-60px; right:-60px;
  width:280px; height:280px; border-radius:50%;
  background:radial-gradient(circle, rgba(90,170,250,0.108) 0%, transparent 70%);
  pointer-events:none;
}
.eb-eyebrow { font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--acc-light); margin-bottom:20px; }
.eb-title {
  font-family:var(--font-serif); font-size:clamp(24px,3vw,34px); font-weight:500;
  color:var(--text-1); line-height:1.5; margin-bottom:32px;
}
.eb-title em { color:var(--acc-light); font-style:normal; }
.eb-body p { font-size:15px; color:var(--text-2); line-height:1.9; margin-bottom:20px; }
.eb-body strong { color:var(--text-1); }
.eb-highlight {
  padding:24px 28px; background:var(--acc-dim); border:1px solid rgba(90,170,250,0.45);
  border-radius:4px;
}
.eb-highlight p { font-size:15px; color:var(--text-1); line-height:1.9; margin:0; font-family:var(--font-serif); }
.eb-highlight strong { color:var(--acc-light); }

/* ── SOLUTION SECTION ── */
.sol-image {
  height:260px; background-size:cover; background-position:center; background-color:#15263c;
  border-radius:4px; overflow:hidden; position:relative; margin-bottom:56px;
}
.sol-image-overlay {
  position:absolute; inset:0;
  background:linear-gradient(135deg, rgba(90,170,250,0.18) 0%, rgba(14,26,43,0.325) 100%);
}
.sol-caption {
  position:absolute; bottom:24px; left:28px;
  font-family:var(--font-serif); font-size:17px; font-weight:400; color:var(--text-1);
  font-style:normal;
}

.value-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; }
.vcard {
  background:var(--bg-card); padding:32px 28px;
  transition:background .35s var(--ease);
}
.vcard:hover { background:var(--bg-card-h); }
.vc-step {
  font-size:11px; letter-spacing:.14em; color:var(--acc-light); text-transform:uppercase;
  margin-bottom:10px; font-weight:500;
}
.vc-badge { display:inline-block; margin-bottom:12px; }
.vcard h3 { font-size:15px; font-weight:500; color:var(--text-1); margin-bottom:10px; }
.vcard p  { font-size:14px; color:var(--text-2); line-height:1.85; }

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

/* ── HABIT SECTION ── */
.habit-compare {
  display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--border);
  border:1px solid var(--border); border-radius:6px; overflow:hidden; margin-bottom:48px;
}
.hc-col { background:var(--bg-card); }
.hc-header { padding:14px 24px; font-size:13px; font-weight:500; letter-spacing:.06em; border-bottom:1px solid var(--border); }
.hc-bad  { color:#ff9482; background:rgba(255,120,98,0.144); }
.hc-good { color:#7fe0a5; background:rgba(70,190,125,0.144); }
.hc-list { list-style:none; padding:0; }
.hc-list li {
  padding:14px 24px; font-size:14px; color:var(--text-2); line-height:1.7;
  border-bottom:1px solid var(--border);
}
.hc-list li:last-child { border-bottom:none; }
.hc-before .hc-list li::before { content:'✗ '; color:#ff9482; }
.hc-after  .hc-list li::before { content:'✓ '; color:#7fe0a5; }

/* Habit Journey */
.habit-journey { padding:32px 36px; background:var(--bg-card); border:1px solid var(--border); border-radius:6px; }
.hj-label { font-size:12px; letter-spacing:.14em; color:var(--text-3); text-transform:uppercase; margin-bottom:24px; display:block; }
.hj-steps { display:flex; align-items:flex-start; gap:4px; flex-wrap:wrap; }
.hj-step { display:flex; flex-direction:column; gap:8px; flex:1; min-width:140px; padding:16px 16px; background:rgba(255,255,255,0.044); border-radius:3px; }
.hj-week { font-size:11px; letter-spacing:.12em; color:var(--acc-light); text-transform:uppercase; font-weight:500; }
.hj-task { font-size:13px; color:var(--text-2); line-height:1.65; flex:1; }
.hj-badge { display:inline-block; align-self:flex-start; }
.hj-arrow { font-size:20px; color:var(--text-3); align-self:center; padding:0 4px; flex-shrink:0; }

/* ── VOICE SECTION ── */
.voice-image {
  height:220px; background-size:cover; background-position:center; background-color:#15263c;
  border-radius:4px; overflow:hidden; position:relative; margin-bottom:48px;
}
.vi-overlay { position:absolute; inset:0; background:linear-gradient(to right, rgba(14,26,43,0.425) 0%, rgba(14,26,43,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; }

/* ── TRUST SECTION ── */
.trust-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--border); border:1px solid var(--border); border-radius:6px; overflow:hidden; margin-bottom:48px; }
.tg-card { background:var(--bg-card); padding:32px 28px; }
.tg-icon { font-size:28px; margin-bottom:16px; display:block; }
.tg-card h3 { font-size:15px; font-weight:500; color:var(--text-1); margin-bottom:10px; }
.tg-card p  { font-size:14px; color:var(--text-2); line-height:1.8; margin-bottom:14px; }
.tg-badge { display:inline-block; }

/* Metrics Row */
.metrics-row {
  display:flex; align-items:center; justify-content:center; gap:48px; flex-wrap:wrap;
  padding:40px 48px; background:var(--acc-dim); border:1px solid rgba(90,170,250,0.36); border-radius:4px;
}
.mr-item { text-align:center; }
.mr-num {
  font-family:'Cormorant Garamond',serif; font-size:52px; font-weight:400;
  color:var(--text-1); display:block; line-height:1; letter-spacing:-.02em;
}
.mr-unit { font-size:18px; color:var(--acc-light); }
.mr-label { display:block; font-size:12px; color:var(--text-3); line-height:1.55; margin-top:8px; }
.mr-div { width:1px; height:52px; background:rgba(90,170,250,0.45); flex-shrink:0; }

/* ── 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-light); }
.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-light); }
.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 rgba(90,170,250,0.45);
  border-radius:4px; margin-bottom:24px;
}
.lb-badge { font-size:14px; font-weight:500; color:var(--acc-light); border:1px solid rgba(90,170,250,0.54); 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; margin-bottom:40px; }
.guarantee-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--border); border:1px solid var(--border); border-radius:6px; overflow:hidden; }
.gg-card { background:var(--bg-card); padding:32px 28px; }
.gg-icon { font-size:20px; color:var(--acc-light); margin-bottom:14px; }
.gg-card h3 { font-size:15px; font-weight:500; color:var(--text-1); margin-bottom:10px; }
.gg-card p  { font-size:14px; color:var(--text-2); line-height:1.8; }

/* ── 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:#0e1a2b; z-index:0;
}
.cta-bg::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(to bottom, rgba(14,26,43,0.325) 0%, rgba(14,26,43,0.44) 50%, rgba(14,26,43,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(26px,4vw,46px); font-weight:500;
  color:var(--text-1); line-height:1.5; margin-bottom:24px; text-align:center;
}
.cta-desc { font-size:16px; color:var(--text-2); line-height:1.9; text-align:center; margin-bottom:32px; }
.cta-promises {
  display:flex; flex-wrap:wrap; gap:16px; justify-content:center;
  margin-bottom:36px;
}
.cp-item { font-size:14px; color:var(--acc-light); letter-spacing:.04em; }
.cta-btns { text-align:center; margin-bottom:16px; }
.cta-note { text-align:center; font-size:13px; color:var(--text-3); letter-spacing:.03em; margin-bottom:32px; 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(22px);
  transition:opacity .7s var(--ease), transform .7s 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; }

/* ── SCROLL PROGRESS ── */

/* ── RESPONSIVE ── */
@media (max-width: 900px) {
  .container { padding:0 28px; }
  .value-grid { grid-template-columns:1fr; }
  .voice-grid { grid-template-columns:1fr; }
  .trust-grid { grid-template-columns:1fr; }
  .guarantee-grid { grid-template-columns:1fr; }
  .habit-compare { grid-template-columns:1fr; }
  .hero-empathy { flex-direction:column; gap:20px; width:100%; }
  .he-div { width:60px; height:1px; }
  .metrics-row { gap:24px; }
  .mr-div { width:1px; height:40px; }
  .hj-steps { gap:8px; }
  .hj-arrow { display:none; }
}
@media (max-width: 640px) {
  .hero { min-height:auto; padding:80px 0; }
  .hero-title { font-size:clamp(24px,8vw,36px); }
  .container { padding:0 20px; }
  .exempt-box { padding:32px 24px; }
  .pain-story { padding:28px 24px; }
  .sticky-cta { display:none; }
  .hj-step { min-width:100%; }
}
@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, .eb-title {
  text-shadow: 0 0 30px rgba(125,187,245,0.32), 0 2px 14px rgba(0,0,0,0.35);
}
.hero-eyebrow, .hero-desc, .hero-cta-note, .hero-tag, .cta-desc, .cta-note, .cta-eyebrow, .he-label {
  text-shadow: 0 1px 10px rgba(0,0,0,0.6);
}
.sol-caption, .vi-label { text-shadow: 0 2px 14px rgba(0,0,0,0.85); }
.he-num, .mr-num { text-shadow: 0 0 24px rgba(125,187,245,0.45); }
.hero-empathy { box-shadow: 0 0 40px rgba(90,170,250,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(90,170,250,0.15) 0%, transparent 70%);
  pointer-events: none;
  z-index: 0;
}

/* ボタン・カードの発光 */
.btn-primary { box-shadow: 0 4px 22px rgba(90,170,250,0.40); }
.btn-primary:hover { box-shadow: 0 6px 32px rgba(110,185,255,0.62); }
.sticky-cta { box-shadow: 0 6px 30px rgba(0,0,0,0.45), 0 0 22px rgba(90,170,250,0.25); }
.vcard:hover, .voice-card:hover { box-shadow: 0 0 44px rgba(90,170,250,0.14) inset; }
.pain-story, .exempt-box, .habit-journey, .tg-card, .gg-card { 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(90,170,250,0.40); } }
