/* 広告運用 ページ固有スタイル */

/* Hero watermark */
.hero::before { content: 'ADS'; position: absolute; right: -30px; top: 50%; transform: translateY(-50%); font-size: clamp(180px, 26vw, 340px); font-weight: 900; color: rgba(255,255,255,.025); letter-spacing: -.04em; line-height: 1; pointer-events: none; white-space: nowrap; }


/* Outcome Cards (.oc variant) */
.outcome-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.oc { background: var(--bg); border: 1px solid var(--border-light); border-radius: 6px; padding: 40px 32px; position: relative; overflow: hidden; }
.oc::before { content: ''; position: absolute; top: 0; left: 0; width: 48px; height: 3px; background: var(--black); }
.oc-num { font-size: 48px; font-weight: 900; color: #AFAFB0; line-height: 1; margin-bottom: 24px; letter-spacing: -.04em; }
.oc h3 { font-size: 16px; font-weight: 900; color: var(--black); margin-bottom: 12px; line-height: 1.5; }
.oc p { font-size: 14px; color: var(--text-sub); line-height: 2; font-weight: 300; }
.outcome-grid .fi:nth-child(2) { transition-delay: .1s; }
.outcome-grid .fi:nth-child(3) { transition-delay: .2s; }

/* Funnel */
.funnel { display: grid; grid-template-columns: repeat(5, 1fr); gap: 0; border: 1px solid var(--border-light); border-radius: 6px; overflow: hidden; }
.funnel-step { padding: 32px 20px; text-align: center; border-right: 1px solid var(--border-light); position: relative; }
.funnel-step:last-child { border-right: none; }
.funnel-step::after { content: '\2192'; position: absolute; right: -8px; top: 36px; font-size: 12px; color: var(--text-pale); z-index: 1; }
.funnel-step:last-child::after { display: none; }
.funnel-label { font-size: 11px; letter-spacing: .1em; color: var(--text-pale); margin-bottom: 10px; font-weight: 500; }
.funnel-name { font-size: 14px; font-weight: 700; color: var(--black); margin-bottom: 8px; }
.funnel-desc { font-size: 12px; color: var(--text-muted); line-height: 1.7; font-weight: 300; }

/* Responsive */
@media (max-width: 760px) {
  .outcome-grid { grid-template-columns: 1fr; }
  .funnel { grid-template-columns: 1fr; }
  .funnel-step { border-right: none; border-bottom: 1px solid var(--border-light); }
  .funnel-step:last-child { border-bottom: none; }
  .funnel-step::after { display: none; }
}
@media (max-width: 540px) {
  .oc { padding: 28px 24px; }
}
