/* Extracted inline styles from page-onesong-biz-followup.php */
/* ============================================================
   ONE SONG Biz Followup（非公開）専用 — refined
   navy #1E2462 / pink #FF2D87 / cream #FBF4F0 / gold #B08D57
============================================================ */
.bzf{
  --navy:#1E2462; --navy-l:#2D3A8C; --pink:#FF2D87; --pink-l:#FFB3D6;
  --pink-pale:#FFF0F7; --ink:#1A1A2E; --gray:#4F5666; --cream:#FBF4F0;
  --cream2:#F9FAFB; --line:#ECEEF3; --gold:#B08D57;
  color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
  line-height:1.85;-webkit-font-smoothing:antialiased;
}
.bzf *{box-sizing:border-box;}
.bzf__wrap{max-width:1000px;margin:0 auto;padding:0 22px;}
.bzf__narrow{max-width:780px;margin:0 auto;padding:0 22px;}

/* 非公開バー */
.bzf__private{background:var(--navy);color:#fff;text-align:center;font-size:12px;letter-spacing:.06em;padding:9px 16px;}
.bzf__private b{color:var(--pink-l);}

/* HERO */
.bzf__hero{position:relative;overflow:hidden;text-align:center;padding:96px 22px 80px;
  background:radial-gradient(130% 100% at 50% -25%, rgba(255,179,214,.5) 0%, rgba(255,179,214,0) 58%), #fff;}
.bzf__hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,var(--line),transparent);}
.bzf__hero-kicker{display:inline-flex;align-items:center;gap:8px;color:var(--pink);font-weight:700;letter-spacing:.18em;font-size:12.5px;margin-bottom:20px;}
.bzf__hero-kicker::before{content:"";width:22px;height:2px;background:var(--pink);}
.bzf__hero-kicker::after{content:"";width:22px;height:2px;background:var(--pink);}
.bzf__hero h1{font-size:clamp(30px,5.2vw,54px);font-weight:800;line-height:1.2;margin:0 0 20px;color:var(--navy);letter-spacing:.01em;}
.bzf__hero h1 .pk{color:var(--pink);}
.bzf__hero .lead{font-size:clamp(15px,2.1vw,18px);color:var(--gray);max-width:660px;margin:0 auto;line-height:1.95;}
.bzf__hero .sub{font-size:13.5px;color:var(--gold);letter-spacing:.08em;margin-top:18px;font-weight:600;}

/* 資料アクセス バー */
.bzf__access{background:linear-gradient(135deg,#171c4d,var(--navy) 60%,#252c6e);color:#fff;padding:30px 22px;position:relative;overflow:hidden;}
.bzf__access::before{content:"";position:absolute;top:-40%;right:-6%;width:42%;height:180%;background:radial-gradient(ellipse at center,rgba(255,45,135,.18),transparent 70%);pointer-events:none;}
.bzf__access-inner{max-width:1000px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;position:relative;z-index:1;}
.bzf__access-txt{font-size:15px;}
.bzf__access-txt b{color:var(--pink-l);}
.bzf__access-txt small{display:block;color:#AEB6E0;font-size:12.5px;margin-top:2px;}
.bzf__btns{display:flex;gap:10px;flex-wrap:wrap;}
.bzf__btn{display:inline-flex;align-items:center;gap:9px;text-decoration:none;font-weight:700;font-size:15px;padding:13px 26px;border-radius:999px;transition:transform .15s,box-shadow .15s;white-space:nowrap;border:2px solid transparent;cursor:pointer;font-family:inherit;}
.bzf__btn--pink{background:var(--pink);color:#fff;box-shadow:0 6px 18px rgba(255,45,135,.35);}
.bzf__btn--pink:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(255,45,135,.46);}
.bzf__btn--ghost-w{background:transparent;color:#fff;border-color:rgba(255,255,255,.5);}
.bzf__btn--ghost-w:hover{background:rgba(255,255,255,.12);}
.bzf__btn svg{width:18px;height:18px;}
.bzf__btn--pink svg{fill:#fff;} .bzf__btn--ghost-w svg{fill:#fff;}

/* セクション */
.bzf__sec{padding:80px 0;}
.bzf__sec--cream{background:var(--cream2);}
.bzf__sec--navy{background:var(--navy);color:#fff;}
.bzf__sec--pink{background:var(--pink-pale);}
.bzf__label{color:var(--gold);font-weight:700;letter-spacing:.18em;font-size:12.5px;margin:0 0 12px;}
.bzf__sec--navy .bzf__label{color:var(--pink-l);}
.bzf__h2{font-size:clamp(23px,3.4vw,32px);font-weight:800;line-height:1.35;margin:0;color:var(--ink);}
.bzf__sec--navy .bzf__h2{color:#fff;}
.bzf__h2::after{content:"";display:block;width:46px;height:4px;background:var(--pink);border-radius:2px;margin-top:16px;}
.bzf__center{text-align:center;}
.bzf__center .bzf__h2::after{margin-left:auto;margin-right:auto;}
.bzf__p{font-size:16px;color:var(--gray);margin:20px 0 0;}
.bzf__sec--navy .bzf__p{color:#DCE3F5;}
.bzf__strong-navy{color:var(--navy);}

/* 目指すもの：価値カード */
.bzf__values{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:38px;}
.bzf__val{background:#fff;border:1px solid var(--line);border-radius:16px;padding:30px 24px;transition:transform .15s,box-shadow .15s;}
.bzf__val:hover{transform:translateY(-4px);box-shadow:0 14px 36px rgba(30,36,98,.10);}
.bzf__val .em{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:24px;background:var(--pink-pale);margin-bottom:16px;}
.bzf__val h4{font-size:17px;font-weight:800;color:var(--navy);margin:0 0 8px;}
.bzf__val p{font-size:13.5px;color:var(--gray);margin:0;line-height:1.75;}
.bzf__mission{margin-top:34px;background:#fff;border:1px solid var(--line);border-left:6px solid var(--pink);border-radius:0 14px 14px 0;padding:26px 30px;box-shadow:0 8px 30px rgba(30,36,98,.06);}
.bzf__mission p{margin:0;font-size:17px;color:var(--navy);font-weight:600;line-height:1.75;}

/* 哲学 */
.bzf__philo{text-align:center;}
.bzf__philo .quote{font-size:clamp(24px,4vw,36px);font-weight:800;color:#fff;margin:8px 0 22px;line-height:1.4;}
.bzf__philo .quote em{color:var(--pink-l);font-style:normal;}
.bzf__philo p{max-width:680px;margin:0 auto;color:#DCE3F5;font-size:16px;}

/* 資料カバー（クリックで別窓） */
.bzf__cover{display:block;margin-top:36px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 12px 44px rgba(30,36,98,.10);padding:0;overflow:hidden;text-decoration:none;transition:transform .15s,box-shadow .15s;}
.bzf__cover--left{text-align:left;}
.bzf__cover:hover{transform:translateY(-3px);box-shadow:0 20px 56px rgba(30,36,98,.18);}
.bzf__cover-top{background:linear-gradient(135deg,#171c4d,var(--navy));color:#fff;padding:30px 28px;display:flex;align-items:center;gap:18px;}
.bzf__cover-ic{flex-shrink:0;width:56px;height:56px;border-radius:14px;background:rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;font-size:28px;}
.bzf__cover-ttl{font-size:19px;font-weight:800;margin:0;}
.bzf__cover-sub{font-size:13px;color:#C7CDF0;margin:3px 0 0;}
.bzf__cover-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 28px;flex-wrap:wrap;}
.bzf__cover-foot .go{color:var(--pink);font-weight:800;font-size:15px;}
.bzf__cover-foot .dl{color:var(--gray);font-size:13px;text-decoration:underline;}

/* ONE SONGとは：3カラム（下方配置） */
.bzf__flow{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:38px;}
.bzf__flow-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:30px 24px;text-align:center;position:relative;transition:transform .15s,box-shadow .15s;}
.bzf__flow-card:hover{transform:translateY(-4px);box-shadow:0 14px 36px rgba(30,36,98,.10);}
.bzf__flow-card .em{font-size:34px;line-height:1;margin-bottom:14px;display:block;}
.bzf__flow-card h3{font-size:20px;font-weight:800;color:var(--navy);margin:0 0 8px;}
.bzf__flow-card p{font-size:13.5px;color:var(--gray);margin:0;line-height:1.7;}
.bzf__flow-card .step{position:absolute;top:15px;right:17px;font-size:10.5px;font-weight:700;color:var(--pink);letter-spacing:.1em;}

/* The Company Song */
.bzf__tcs{display:grid;grid-template-columns:0.85fr 1.15fr;gap:0;margin-top:38px;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 12px 44px rgba(30,36,98,.08);background:#fff;}
.bzf__tcs-thumb{position:relative;min-height:220px;background:linear-gradient(140deg,#171c4d,#2a327a 60%,#3a2b6e);display:flex;align-items:center;justify-content:center;background-size:cover;background-position:center;}
.bzf__tcs-thumb--has-img{background:none;}
.bzf__tcs-thumb-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
.bzf__tcs-thumb .ph{color:#fff;text-align:center;padding:20px;}
.bzf__tcs-thumb .ph b{display:block;font-size:18px;font-weight:800;letter-spacing:.04em;}
.bzf__tcs-thumb .ph span{font-size:11px;color:var(--pink-l);letter-spacing:.14em;}
.bzf__tcs-body{padding:32px 32px;}
.bzf__tcs-tag{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.12em;color:var(--pink);background:var(--pink-pale);border-radius:999px;padding:4px 14px;margin-bottom:12px;}
.bzf__tcs-body h3{font-size:22px;font-weight:800;color:var(--navy);margin:0 0 10px;}
.bzf__tcs-body p{font-size:14px;color:var(--gray);margin:0 0 18px;line-height:1.8;}
.bzf__tcs-link{display:inline-flex;align-items:center;gap:8px;color:#fff;background:var(--navy);font-weight:700;font-size:14px;padding:12px 24px;border-radius:999px;text-decoration:none;transition:transform .15s,box-shadow .15s;}
.bzf__tcs-link:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(30,36,98,.3);}

/* CTA */
.bzf__cta{text-align:center;padding:80px 22px;background:#fff;}
.bzf__cta h2{font-size:clamp(22px,3.4vw,30px);font-weight:800;color:var(--navy);margin:0 0 14px;line-height:1.45;}
.bzf__cta p{color:var(--gray);margin:0 0 30px;font-size:16px;}
.bzf__cta-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
.bzf__btn--navy{background:var(--navy);color:#fff;box-shadow:0 6px 18px rgba(30,36,98,.25);}
.bzf__btn--navy:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(30,36,98,.38);}
.bzf__btn--navy svg{fill:#fff;}
.bzf__btn--outline{background:#fff;color:var(--navy);border-color:var(--navy);}
.bzf__btn--outline:hover{background:var(--navy);color:#fff;}

@media(max-width:860px){
  .bzf__values,.bzf__flow{grid-template-columns:1fr;}
  .bzf__access-inner{justify-content:center;text-align:center;}
  .bzf__tcs{grid-template-columns:1fr;}
  .bzf__tcs-thumb{min-height:170px;}
  .bzf__sec{padding:60px 0;}
}
/* 可読性: 最小テキストを少し大きく/濃く */
.bzf__flow-card .step{font-size:11px;}
.bzf__access-txt small{color:#C7CEF2;font-size:13px;}
.bzf__cover-sub{color:#D2D7F4;font-size:13.5px;}
.bzf__val p,.bzf__flow-card p{font-size:14px;line-height:1.8;}
.bzf__tcs-body p{font-size:14.5px;}
.bzf__cover-foot .dl{font-size:13.5px;color:#5b6173;}
.bzf__private{font-size:12.5px;}
/* 動き: スクロールリビール（JSなし時は常時表示） */
.bzf--anim .bzf-reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease var(--bzf-reveal-delay,0ms),transform .75s cubic-bezier(.2,.7,.2,1) var(--bzf-reveal-delay,0ms);}
.bzf--anim .bzf-reveal.is-in{opacity:1;transform:none;}
@media(prefers-reduced-motion:reduce){.bzf--anim .bzf-reveal{opacity:1;transform:none;transition:none;}}

/* Accessibility: stable touch targets and keyboard focus */
.bzf__btn,
.bzf__cover,
.bzf__tcs-link {
  min-height: 44px;
}

.bzf__btn,
.bzf__tcs-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.bzf__btn:focus-visible,
.bzf__cover:focus-visible,
.bzf__tcs-link:focus-visible {
  outline: 3px solid rgba(255, 45, 135, 0.85);
  outline-offset: 4px;
}

