/* YouTube解説スライド品質 共通スタイル — 1920x1080 / 白背景 / ブランドグラデ */
:root{
  --brand-a:#6a5acd; --brand-b:#d98a4a;
  --ink:#1a1730; --sub:#5b5470; --line:#ece8f6;
  --bg:#ffffff;
}
*{box-sizing:border-box; margin:0; padding:0;}
html,body{width:1920px; height:1080px; overflow:hidden;}
body{
  font-family:"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  background:var(--bg); color:var(--ink);
  -webkit-font-smoothing:antialiased;
}
.stage{
  position:relative; width:1920px; height:1080px;
  padding:96px 120px; display:flex; flex-direction:column;
}
/* subtle corner gradient wash */
.stage::before{
  content:""; position:absolute; inset:0; z-index:0;
  background:
    radial-gradient(900px 520px at 100% 0%, rgba(217,138,74,.07), transparent 60%),
    radial-gradient(900px 560px at 0% 100%, rgba(106,90,205,.08), transparent 60%);
}
.stage>*{position:relative; z-index:1;}
.grad{background:linear-gradient(145deg,var(--brand-a),var(--brand-b)); -webkit-background-clip:text; background-clip:text; color:transparent;}
.gradbg{background:linear-gradient(145deg,var(--brand-a),var(--brand-b));}

/* top bar: brand + kicker */
.topbar{display:flex; align-items:center; gap:22px; margin-bottom:54px;}
.logo{display:flex; align-items:center; gap:14px;}
.logo .mark{width:52px; height:52px; border-radius:14px; background:linear-gradient(145deg,var(--brand-a),var(--brand-b)); display:flex; align-items:center; justify-content:center; color:#fff; font-weight:800; font-size:26px; box-shadow:0 8px 22px rgba(106,90,205,.35);}
.logo .name{font-weight:800; font-size:30px; letter-spacing:.5px; color:var(--ink);}
.logo .name b{ }
.kicker{margin-left:auto; font-size:24px; font-weight:700; color:#fff; padding:11px 26px; border-radius:999px; background:linear-gradient(145deg,var(--brand-a),var(--brand-b)); letter-spacing:1px; box-shadow:0 10px 26px rgba(217,138,74,.3);}

.headline{font-size:108px; font-weight:900; line-height:1.16; letter-spacing:-1px;}
.headline.mid{font-size:88px;}
.sub{font-size:40px; color:var(--sub); font-weight:600; line-height:1.5;}

.spacer{flex:1;}
.footer{display:flex; align-items:center; gap:18px; font-size:24px; color:var(--sub); font-weight:600;}
.footer .dot{width:12px; height:12px; border-radius:50%; background:linear-gradient(145deg,var(--brand-a),var(--brand-b));}

.chiprow{display:flex; gap:28px; margin-top:18px;}
.chip{font-size:30px; font-weight:800; padding:18px 34px; border-radius:18px; border:3px solid var(--line); background:#fbfaff; color:var(--ink);}

/* big number badge */
.bignum{font-size:200px; font-weight:900; line-height:1;}

/* cards / steps */
.cards{display:flex; gap:40px; margin-top:30px;}
.card{flex:1; background:#fbfaff; border:3px solid var(--line); border-radius:28px; padding:48px 44px; display:flex; flex-direction:column; gap:22px; box-shadow:0 18px 40px rgba(26,23,48,.05);}
.card .no{width:78px; height:78px; border-radius:20px; display:flex; align-items:center; justify-content:center; color:#fff; font-size:42px; font-weight:900; background:linear-gradient(145deg,var(--brand-a),var(--brand-b)); box-shadow:0 10px 24px rgba(106,90,205,.32);}
.card .ico{font-size:60px;}
.card .ct{font-size:42px; font-weight:900; line-height:1.3;}
.card .cd{font-size:27px; color:var(--sub); font-weight:600; line-height:1.55;}

/* arrow compare */
.compare{display:flex; align-items:center; gap:48px; margin-top:24px;}
.cbox{flex:1; border-radius:28px; padding:54px 44px; text-align:center;}
.cbox .l{font-size:34px; font-weight:700; opacity:.85;}
.cbox .v{font-size:64px; font-weight:900; margin-top:10px; line-height:1.2;}
.cbox.cut{background:#fff4ee; border:3px solid #f3d8c6; color:#9a4b1e;}
.cbox.keep{background:#f1eefc; border:3px solid #d9d1f5; color:#4a3aa0;}
.arrow{font-size:96px; font-weight:900;}

.icon-lg{font-size:90px;}
