/* =============================================================
   AIT SEGMENT USERS — ait-segment-users.css
   セグメント1: AI活用者向けLP（伸び悩み層）
   配置: /wp-content/themes/cocoon-child-master/ait-segment-lp/
============================================================= */

/* ── RESET & TOKENS ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --bg:          #151210;
  --bg-mid:      #1a1715;
  --bg-card:     #211d1b;
  --bg-card-h:   #2b2623;
  --bg-card2:    #1e1a18;

  --text-1:      #fbf8f3;
  --text-2:      #cdc7be;
  --text-3:      #a39d94;

  --acc:         #c93f2d;
  --acc-text:    #ff8a76;
  --acc-dim:     rgba(255,120,98,0.24);
  --acc-glow:    rgba(255,120,98,0.14);

  --border:      rgba(255,255,255,0.14);
  --border-h:    rgba(255,255,255,0.24);

  --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);

  --sp-xs: 8px;   --sp-sm: 16px;  --sp-md: 24px;
  --sp-lg: 40px;  --sp-xl: 72px;  --sp-2xl: 120px;
}

/* ── WP THEME OVERRIDE ── */
.ait-users-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-users-body #page,
.ait-users-body .site,
.ait-users-body .site-content,
.ait-users-body #content,
.ait-users-body .content-area,
.ait-users-body main,
.ait-users-body article,
.ait-users-body .entry-content {
  background: transparent !important;
  margin: 0 !important; padding: 0 !important;
  max-width: 100% !important; float: none !important; width: 100% !important;
}
.ait-users-body header.site-header,
.ait-users-body footer.site-footer-default,
.ait-users-body .sidebar, .ait-users-body #sidebar,
.ait-users-body .widget-area, .ait-users-body .breadcrumb,
.ait-users-body .post-navigation, .ait-users-body .ad-area { display: none !important; }

/* ── ACCESSIBILITY ── */
.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(255,255,255,0.066); 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-text); }

/* ── STICKY CTA ── */
.sticky-cta {
  position:fixed; bottom:24px; right:24px; z-index:100;
  display:flex; align-items:center; gap:12px;
  background:rgba(33,29,27,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:#e05040; }

/* ── SECTION BASE ── */
.sec { padding: var(--sp-2xl) 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-text); }
.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:#e05040; transform:translateY(-2px); }
.cta-pulse { animation:ctaPulse 3s ease-in-out infinite; }
@keyframes ctaPulse {
  0%,100% { box-shadow:0 0 16px rgba(255,120,98,.30), 0 0 0 0 rgba(255,255,255,0); }
  50%      { box-shadow:0 0 34px rgba(255,140,118,.55), 0 0 0 8px rgba(255,255,255,0.1); }
}

/* ── HERO ── */
.hero { position:relative; min-height:100vh; display:flex; align-items:center; padding:var(--sp-2xl) 0; overflow:hidden; }

.hero-bg {
  position:absolute; inset:0; background-size:cover; background-position:center;
  background-color:#1a1714; z-index:0;
}
.hero-bg::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(to bottom, rgba(21,18,16,0.3) 0%, rgba(21,18,16,0.4) 50%, rgba(21,18,16,1) 100%),
             linear-gradient(to right, rgba(21,18,16,0.25) 0%, transparent 60%);
}
.hero::before {
  content:''; position:absolute; top:10%; right:5%;
  width:500px; height:500px;
  background:radial-gradient(circle, rgba(255,120,98,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) translate(0,0);} 100%{transform:scale(1.4) translate(60px,-40px);} }

.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(30px,5vw,58px); font-weight:500;
  line-height:1.35; letter-spacing:-.01em; color:var(--text-1);
  display:flex; flex-direction:column; gap:4px; margin-bottom:32px;
}
.ht-line { display:block; }
.ht-sub {
  font-size:clamp(17px,2.2vw,24px); font-weight:400; color:var(--text-2);
  font-style:normal; margin-top:8px;
}
.ht-sub em { font-style:normal; color:var(--acc-text); }

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

/* Hero Stats */
.hero-stats {
  display:flex; align-items:center; gap:36px; flex-wrap:wrap;
  padding:28px 36px; background:rgba(255,255,255,0.066); border:1px solid var(--border);
  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:48px; font-weight:400;
  color:var(--text-1); display:block; line-height:1; letter-spacing:-.02em;
}
.hs-unit { font-size:18px; color:var(--acc-text); vertical-align:super; margin-left:2px; }
.hs-label { display:block; font-size:12px; color:var(--text-3); line-height:1.55; margin-top:8px; letter-spacing:.03em; }
.hs-src { display:block; font-size:11px; color:var(--text-3); margin-top:4px; }
.hs-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-list { list-style:none; display:flex; flex-direction:column; gap:1px; }
.pain-item {
  display:flex; gap:28px; align-items:flex-start;
  padding:28px 0; border-bottom:1px solid var(--border);
}
.pain-item:first-child { border-top:1px solid var(--border); }
.pi-icon {
  font-family:'Cormorant Garamond',serif; font-size:36px; font-weight:400;
  color:rgba(255,138,118,0.6); flex-shrink:0; line-height:1; width:56px; text-align:center;
  transition:color .4s var(--ease);
}
.pain-item:hover .pi-icon { color:rgba(255,138,118,1); }
.pi-body h3 { font-size:16px; font-weight:500; color:var(--text-1); margin-bottom:8px; }
.pi-body p  { font-size:14px; color:var(--text-2); line-height:1.8; }

/* ── INSIGHT SECTION ── */
.insight-box {
  background:var(--bg-card); border:1px solid var(--border);
  border-radius:6px; padding:56px 56px 48px; margin-bottom:48px;
  position:relative; overflow:hidden;
}
.insight-box::before {
  content:'"'; font-family:'Cormorant Garamond',serif; font-size:200px;
  color:var(--acc-text); opacity:.04; position:absolute; top:-40px; left:20px;
  line-height:1; pointer-events:none;
}
.ib-eyebrow { font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--acc-text); margin-bottom:20px; }
.ib-title {
  font-family:var(--font-serif); font-size:clamp(22px,2.8vw,32px); font-weight:500;
  color:var(--text-1); line-height:1.55; margin-bottom:32px;
}
.ib-body p { font-size:15px; color:var(--text-2); line-height:1.9; margin-bottom:24px; }
.ib-three {
  display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin:24px 0;
}
.ib-three-item {
  background:rgba(255,255,255,0.055); border:1px solid var(--border);
  border-radius:3px; padding:18px 20px;
  display:flex; flex-direction:column; gap:10px;
}
.ib-three-item p { font-size:14px; color:var(--text-2); line-height:1.7; margin:0; }
.ib-three-item strong { color:var(--text-1); }
.ib-conclusion { font-size:15px; color:var(--text-1); line-height:1.9; padding:20px; background:var(--acc-glow); border-left:2px solid var(--acc); border-radius:0 4px 4px 0; margin-bottom:0; }
.ib-conclusion strong { color:var(--text-1); }

/* Stage Diagram */
.stage-diagram { border:1px solid var(--border); border-radius:6px; overflow:hidden; }
.sd-header { background:var(--bg-card); padding:14px 24px; font-size:13px; font-weight:500; letter-spacing:.06em; color:var(--text-2); border-bottom:1px solid var(--border); }
.sd-rows { display:flex; flex-direction:column; }
.sd-row {
  display:grid; grid-template-columns:160px 1fr; border-bottom:1px solid var(--border); last-child { border:none; }
}
.sd-row:last-child { border-bottom:none; }
.sd-label {
  padding:20px 24px; font-size:13px; font-weight:500; color:var(--text-3);
  border-right:1px solid var(--border); display:flex; flex-direction:column; gap:6px;
  background:rgba(255,255,255,0.044);
}
.sd-pct { font-size:11px; letter-spacing:.06em; }
.sd-desc { padding:20px 24px; font-size:14px; color:var(--text-2); line-height:1.75; }
.sd-current .sd-label { background:rgba(255,120,98,0.108); color:var(--acc-text); }
.sd-current .sd-pct { color:var(--acc-text); }
.sd-mid .sd-label { color:var(--text-2); }
.sd-goal .sd-label { background:rgba(70,190,125,0.144); color:#7fe0a5; }
.sd-goal .sd-pct { color:#7fe0a5; }

/* ── SOLUTION SECTION ── */
.sol-image {
  height:280px; background-size:cover; background-position:center; background-color:#1f1b19;
  border-radius:4px; overflow:hidden; position:relative; margin-bottom:56px;
}
.sol-image-overlay { position:absolute; inset:0; background:linear-gradient(135deg, rgba(255,120,98,0.18) 0%, rgba(21,18,16,0.3) 100%); }
.sol-image-label {
  position:absolute; bottom:24px; left:28px;
  font-family:var(--font-serif); font-size:18px; font-weight:500; color:var(--text-1);
}

.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:40px; }
.vcard {
  background:var(--bg-card); padding:32px 28px;
  transition:background .35s var(--ease);
}
.vcard:hover { background:var(--bg-card-h); }
.vcard-rec { border-top:1px solid var(--border); }
.vcard-rec { grid-column:1 / -1; }
.vc-badge { display:inline-block; margin-bottom:14px; }
.vcard h3 { font-size:16px; font-weight:500; color:var(--text-1); margin-bottom:10px; }
.vcard p  { font-size:14px; color:var(--text-2); line-height:1.85; }

/* Skill Bridge */
.skill-bridge { background:var(--bg-card2); border:1px solid var(--border); border-radius:6px; overflow:hidden; margin-top:8px; }
.sb-header { padding:16px 24px; font-size:14px; font-weight:500; color:var(--text-2); border-bottom:1px solid var(--border); display:flex; align-items:center; gap:10px; }
.sb-rows { padding:8px 0; }
.sb-row {
  display:grid; grid-template-columns:1fr 32px 1fr;
  align-items:center; padding:14px 24px; gap:12px;
  border-bottom:1px solid var(--border);
}
.sb-row:last-child { border-bottom:none; }
.sb-before { font-size:14px; color:var(--text-3); }
.sb-arrow { font-size:14px; color:var(--acc-text); text-align:center; }
.sb-after { font-size:14px; color:var(--text-2); font-weight:400; }
.sb-note { padding:16px 24px; font-size:13px; color:var(--text-3); line-height:1.7; border-top:1px solid var(--border); font-style:normal; }

/* ── FLOW SECTION ── */
.flow-track { position:relative; }
.flow-item {
  display:grid; grid-template-columns:80px 1fr; gap:24px; align-items:start;
  padding:32px 0;
}
.flow-item + .flow-item { border-top:1px solid var(--border); }
.fi-num {
  font-family:'Cormorant Garamond',serif; font-size:52px; font-weight:400;
  color:rgba(255,138,118,0.6); line-height:1; text-align:center; padding-top:4px;
  transition:color .4s var(--ease);
}
.flow-item:hover .fi-num { color:rgba(255,138,118,1); }
.fi-body h3 { font-size:17px; font-weight:500; color:var(--text-1); margin-bottom:10px; }
.fi-body p  { font-size:14px; color:var(--text-2); line-height:1.85; margin-bottom:14px; }
.fi-tag { display:inline-block; }
.flow-connector { width:1px; height:0; background:transparent; }

/* ── VOICE SECTION ── */
.voice-image {
  height:240px; background-size:cover; background-position:center; background-color:#1f1b19;
  border-radius:4px; overflow:hidden; position:relative; margin-bottom:48px;
}
.vi-overlay { position:absolute; inset:0; background:linear-gradient(to right, rgba(21,18,16,0.4) 0%, rgba(21,18,16,0.15) 100%); }
.vi-label {
  position:absolute; bottom:24px; left:28px;
  font-family:var(--font-serif); font-size:16px; color:var(--text-1);
}

.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 ── */
.metrics-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; }
.metric-card { background:var(--bg-card); padding:36px 28px; text-align:center; }
.mc-num {
  font-family:'Cormorant Garamond',serif; font-size:56px; font-weight:400;
  color:var(--text-1); display:block; line-height:1; letter-spacing:-.02em;
}
.mc-unit { font-size:20px; color:var(--acc-text); }
.mc-label { display:block; font-size:13px; color:var(--text-3); line-height:1.6; margin-top:12px; }

.trust-points { display:flex; flex-direction:column; gap:24px; }
.tp-item { display:flex; gap:20px; align-items:flex-start; padding:24px; background:var(--bg-card); border:1px solid var(--border); border-radius:4px; }
.tp-icon { font-size:18px; color:var(--acc-text); flex-shrink:0; margin-top:2px; }
.tp-item h3 { font-size:15px; font-weight:500; color:var(--text-1); margin-bottom:8px; }
.tp-item p  { font-size:14px; color:var(--text-2); line-height:1.8; }

/* ── RELIEF / FAQ ── */
.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-text); }
.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-text); }
.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 / GUARANTEE ── */
.limit-banner {
  display:flex; align-items:center; gap:20px; flex-wrap:wrap;
  padding:22px 32px; background:var(--acc-dim); border:1px solid rgba(255,120,98,0.54);
  border-radius:4px; margin-bottom:24px;
}
.lb-badge { font-size:14px; font-weight:500; color:var(--acc-text); border:1px solid rgba(255,120,98,0.72); 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-text); 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:var(--sp-2xl) 0; overflow:hidden; }
.cta-bg {
  position:absolute; inset:0; background-size:cover; background-position:center;
  background-color:#1a1714; z-index:0;
}
.cta-bg::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(to bottom, rgba(21,18,16,0.35) 0%, rgba(21,18,16,0.425) 50%, rgba(21,18,16,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,4vw,48px); 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-btns { text-align:center; margin-bottom:16px; }
.cta-note { text-align:center; font-size:13px; color:var(--text-3); letter-spacing:.04em; margin-bottom:32px; }
.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 ANIMATIONS ── */
.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; }
.rd7 { transition-delay:.56s; }

/* ── RESPONSIVE ── */
@media (max-width: 900px) {
  .container { padding:0 28px; }
  .value-grid { grid-template-columns:1fr; }
  .vcard-rec { grid-column:auto; }
  .voice-grid { grid-template-columns:1fr; }
  .metrics-grid { grid-template-columns:1fr; }
  .guarantee-grid { grid-template-columns:1fr; }
  .ib-three { grid-template-columns:1fr; }
  .hero-stats { flex-direction:column; gap:20px; width:100%; }
  .hs-div { width:60px; height:1px; }
  .sd-row { grid-template-columns:1fr; }
  .sd-label { border-right:none; border-bottom:1px solid var(--border); }
}

@media (max-width: 640px) {
  .hero { min-height:auto; padding:var(--sp-xl) 0; }
  .hero-title { font-size:clamp(26px,8vw,38px); }
  .hero-stats { padding:20px; }
  .hs-num { font-size:40px; }
  .container { padding:0 20px; }
  .insight-box { padding:32px 24px; }
  .flow-item { grid-template-columns:1fr; }
  .fi-num { display:none; }
  .pain-item { flex-direction:column; gap:12px; }
  .pi-icon { font-size:24px; width:auto; }
  .sb-row { grid-template-columns:1fr; gap:4px; }
  .sb-arrow { display:none; }
  .sticky-cta { display:none; }
  .sticky-cta-text { 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, .ib-title {
  text-shadow: 0 0 30px rgba(255,138,118,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, .ht-sub {
  text-shadow: 0 1px 10px rgba(0,0,0,0.6);
}
.sol-image-label, .vi-label { text-shadow: 0 2px 14px rgba(0,0,0,0.85); }
.hs-num, .mc-num { text-shadow: 0 0 24px rgba(255,138,118,0.40); }
.hero-stats { box-shadow: 0 0 40px rgba(255,120,98,0.10) 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(255,120,98,0.13) 0%, transparent 70%);
  pointer-events: none;
  z-index: 0;
}

/* ボタン・カードの発光 */
.btn-primary { box-shadow: 0 4px 22px rgba(255,120,98,0.38); }
.btn-primary:hover { box-shadow: 0 6px 32px rgba(255,140,118,0.60); }
.sticky-cta { box-shadow: 0 6px 30px rgba(0,0,0,0.45), 0 0 22px rgba(255,120,98,0.22); }
.vcard:hover, .voice-card:hover { box-shadow: 0 0 44px rgba(255,120,98,0.12) inset; }
.insight-box, .tp-item, .metric-card, .gg-card { box-shadow: inset 0 1px 0 rgba(255,255,255,0.06); }
.faq-q[aria-expanded="true"] { background: var(--bg-card-h); }
@media (prefers-reduced-motion: reduce) { .cta-pulse { box-shadow: 0 4px 22px rgba(255,120,98,0.38); } }
