@charset "utf-8";
/* =========================================================================
   credit.css — クレジットカード決済代行ページ（/credit/）固有スタイル
   共通（ヘッダー/フッター/CTA赤帯/パンくず構造/色変数/タイポ）は common.css。
   セクション: hero / since(15年) / merit / flow / mid-cta / signup / cycle / faq抜粋 / voice
   ========================================================================= */

/* ============ 01 HERO（黒） ============ */
.hero{ position:relative; background:#000; color:#fff; overflow:hidden; min-height:78vh; display:flex; flex-direction:column }
.hero-watermark{ position:absolute; inset:0; display:flex; align-items:center; justify-content:flex-start; pointer-events:none; z-index:0; padding-left:48px }
.hero-watermark span{ font-family:var(--en); font-weight:900; font-size:clamp(140px,18vw,300px); letter-spacing:-0.02em; color:rgba(248,39,79,0.10); line-height:.85; white-space:nowrap; transform:translateY(8%) }
.hero-inner{ position:relative; z-index:2; padding:80px var(--gutter); max-width:var(--maxw); margin-inline:auto; width:100%; display:grid; grid-template-columns:1.4fr .8fr; gap:32px; align-items:end; flex:1 }
.hero-text .eyebrow{ color:var(--red); opacity:.95 }
.hero-text h1{ font-family:var(--jp); font-weight:900; font-size:clamp(56px,8.5vw,140px); line-height:.92; letter-spacing:-0.04em; margin:24px 0 28px; text-wrap:balance }
.hero-text h1 .accent{ color:var(--red) }
.hero-text .sub{ font-family:var(--jp); font-weight:500; font-size:clamp(16px,1.3vw,20px); line-height:1.6; letter-spacing:.02em; opacity:.9; max-width:36ch; margin:0 0 36px }
.hero-meta{ display:flex; gap:24px; font-family:var(--mono); font-size:12px; letter-spacing:.12em; opacity:.7; flex-wrap:wrap }
.hero-meta .dotred{ display:inline-block; width:8px; height:8px; background:var(--red); margin-right:8px; transform:translateY(-2px) }
.hero-mascot{ position:relative; display:flex; justify-content:center; align-items:flex-end; height:100%; min-height:380px }
.hero-mascot img{ height:560px; width:auto; max-width:none; filter:drop-shadow(0 12px 0 rgba(248,39,79,0.35)) }

/* ============ 02 SINCE 15年（赤） ============ */
.since{ background:var(--red); color:#fff; padding:160px 56px; border-top:2px solid #000; position:relative; overflow:hidden }
.since-bg{ position:absolute; left:-3%; bottom:-12%; font-family:var(--en); font-weight:900; font-size:clamp(280px,40vw,640px); color:rgba(0,0,0,0.12); line-height:.82; letter-spacing:-0.04em; pointer-events:none; user-select:none; white-space:nowrap }
.since-inner{ max-width:var(--maxw); margin-inline:auto; padding-inline:var(--gutter); position:relative; display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center }
.since-num{ font-family:var(--en); font-weight:900; font-size:clamp(220px,32vw,520px); line-height:.85; letter-spacing:-0.05em; color:#fff; text-shadow:10px 10px 0 #000; margin:0; display:flex; align-items:flex-start; justify-content:center }
.since-num .y{ font-size:.25em; letter-spacing:-0.02em; margin-left:.15em; transform:translateY(.18em); text-shadow:6px 6px 0 #000 }
.since-num .plus{ font-size:.4em; color:#000; text-shadow:none; transform:translateY(.05em); margin-left:.05em }
.since-text .eyebrow{ opacity:1 }
.since-text h2{ font-family:var(--jp); font-weight:900; font-size:clamp(36px,4.4vw,68px); line-height:1.1; letter-spacing:-0.03em; margin:24px 0 28px; text-wrap:balance; text-shadow:4px 4px 0 #000 }
.since-text h2 em{ font-style:normal; background:#000; padding:0 .12em; color:#fff; text-shadow:none; display:inline-block; line-height:1.05 }
.since-text p{ font-size:17px; line-height:1.95; max-width:38ch; margin:0 0 16px; font-weight:500 }
.since-since{ font-family:var(--mono); font-size:13px; letter-spacing:.15em; margin-top:32px; opacity:.95 }

/* ============ 03 MERIT（生成り・非対称グリッド） ============ */
.merit{ background:var(--cream); color:#000; padding:140px 56px }
.merit-head{ margin-bottom:80px; display:flex; justify-content:space-between; align-items:flex-end; gap:48px; flex-wrap:wrap }
.merit-head h2{ font-family:var(--jp); font-weight:900; font-size:clamp(40px,5.4vw,88px); line-height:1.0; letter-spacing:-0.03em; margin:12px 0 0 }
.merit-head h2 .en{ font-family:var(--en); font-weight:900; font-size:.7em; margin-right:.4em; opacity:.5 }
.merit-head p{ max-width:36ch; font-size:16px; line-height:1.8; opacity:.85 }
.merit-grid{ display:grid; grid-template-columns:repeat(6,1fr); grid-auto-rows:minmax(180px,auto); gap:0; border-top:2px solid #000; border-left:2px solid #000 }
.merit-item{ padding:36px 32px; border-right:2px solid #000; border-bottom:2px solid #000; display:flex; flex-direction:column; justify-content:space-between; position:relative; background:#fff; transition:background .2s ease,color .2s ease }
.merit-item:hover{ background:#000; color:#fff }
.merit-item:hover .merit-num{ color:var(--red) }
.merit-item.size-lg{ grid-column:span 3; grid-row:span 2; background:#000; color:#fff }
.merit-item.size-lg:hover{ background:var(--red) }
.merit-item.size-md{ grid-column:span 3; grid-row:span 1 }
.merit-item.size-sm{ grid-column:span 2; grid-row:span 1 }
.merit-num{ font-family:var(--en); font-weight:800; font-size:14px; letter-spacing:.15em; color:var(--red); margin-bottom:auto }
.merit-item.size-lg .merit-num{ color:var(--red) }
.merit-title{ font-family:var(--jp); font-weight:900; font-size:clamp(22px,2vw,32px); line-height:1.2; letter-spacing:-0.02em; margin:auto 0 12px; text-wrap:balance }
.merit-item.size-lg .merit-title{ font-size:clamp(32px,3.6vw,56px); line-height:1.05; margin-top:32px }
.merit-desc{ font-size:13.5px; line-height:1.7; opacity:.8; max-width:34ch }
.merit-item.size-lg .merit-desc{ font-size:15.5px; max-width:36ch }
.brand-row{ display:flex; gap:14px; flex-wrap:wrap; margin-top:24px }
.brand-chip{ font-family:var(--en); font-weight:800; font-size:13px; letter-spacing:.1em; border:1.5px solid currentColor; padding:6px 12px; background:transparent }

/* ============ 04 FLOW（決済の流れ・黒） ============ */
.flow{ background:#000; color:#fff; padding:140px 56px; border-top:2px solid #000; position:relative; overflow:hidden }
.flow-head{ margin-bottom:72px }
.flow .eyebrow{ color:var(--red); opacity:1 }
.flow-head h2{ font-family:var(--jp); font-weight:900; font-size:clamp(40px,5.4vw,88px); line-height:1.0; letter-spacing:-0.03em; margin:12px 0 0 }
.flow-head h2 .en{ font-family:var(--en); font-weight:900; font-size:.7em; margin-right:.4em; color:var(--red); opacity:1 }
.flow-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:0; border-top:2px solid #fff }
.flow-step{ padding:40px 28px; border-bottom:2px solid #fff; border-right:2px solid #fff; position:relative; min-height:280px; display:flex; flex-direction:column }
.flow-step:last-child{ border-right:none }
.flow-step .step-no{ font-family:var(--en); font-weight:900; font-size:80px; line-height:.9; letter-spacing:-0.04em; color:var(--red) }
.flow-step .step-no .small{ display:block; font-size:14px; letter-spacing:.2em; color:#fff; opacity:.6; margin-bottom:8px }
.flow-step h3{ font-family:var(--jp); font-weight:900; font-size:22px; line-height:1.35; margin:32px 0 12px; letter-spacing:-0.02em }
.flow-step p{ font-size:13.5px; line-height:1.75; opacity:.8; margin:0; max-width:24ch }
.flow-step::after{ content:"→"; position:absolute; right:-18px; top:50%; transform:translateY(-50%); font-family:var(--en); font-weight:900; font-size:32px; background:#000; color:var(--red); padding:0 6px; z-index:2 }
.flow-step:last-child::after{ display:none }

/* ============ ミッドCTA（生成り帯） ============ */
.mid-cta{ background:var(--cream); color:#000; padding:80px 56px; border-top:2px solid #000; border-bottom:2px solid #000 }
.mid-cta-inner{ max-width:var(--maxw); margin-inline:auto; padding-inline:var(--gutter); display:flex; justify-content:space-between; align-items:center; gap:32px; flex-wrap:wrap }
.mid-cta h3{ font-family:var(--jp); font-weight:900; font-size:clamp(28px,3.4vw,48px); line-height:1.15; letter-spacing:-0.03em; margin:0; text-wrap:balance }
.mid-cta .cta{ background:#000; color:#fff; border-color:#000; box-shadow:6px 6px 0 var(--red) }
.mid-cta .cta:hover{ background:var(--red); color:#fff; box-shadow:2px 2px 0 #000 }

/* ============ 05 SIGN UP（導入の流れ・白） ============ */
.signup{ background:#fff; color:#000; padding:140px 56px }
.signup-head{ margin-bottom:64px; display:flex; justify-content:space-between; align-items:flex-end; gap:48px; flex-wrap:wrap }
.signup-head h2{ font-family:var(--jp); font-weight:900; font-size:clamp(40px,5.4vw,88px); line-height:1.0; letter-spacing:-0.03em; margin:12px 0 0 }
.signup-head h2 .en{ font-family:var(--en); font-weight:900; font-size:.7em; margin-right:.4em; opacity:.5 }
.signup-head .badge{ font-family:var(--mono); font-weight:700; font-size:12px; letter-spacing:.15em; color:#000; display:inline-flex; align-items:center; gap:18px; text-transform:uppercase }
.signup-head .badge::before{ content:""; width:48px; height:2px; background:#000; display:inline-block }
.signup-head .badge .b-label{ display:flex; flex-direction:column; align-items:flex-start; gap:2px; line-height:1.2 }
.signup-head .badge .b-fact{ font-family:var(--mono); font-size:11px; letter-spacing:.22em; opacity:.55 }
.signup-head .badge strong{ font-family:var(--jp); font-weight:900; font-size:clamp(28px,3.2vw,44px); letter-spacing:-0.02em; line-height:1; color:#000; display:inline-flex; align-items:baseline; gap:6px; text-transform:none }
.signup-head .badge strong .num{ font-family:var(--en); font-weight:900; color:var(--red); font-size:1.4em; letter-spacing:-0.04em; line-height:.85 }
.signup-flow{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; align-items:stretch }
.signup-step{ padding:32px 28px; background:var(--cream); border:2px solid #000; position:relative; display:flex; flex-direction:column; gap:14px; transition:transform .15s,box-shadow .15s }
.signup-step:hover{ transform:translate(-3px,-3px); box-shadow:6px 6px 0 #000 }
.signup-step .no{ font-family:var(--en); font-weight:900; font-size:56px; letter-spacing:-0.03em; line-height:.85; color:var(--red) }
.signup-step h3{ font-family:var(--jp); font-weight:900; font-size:22px; margin:8px 0 0; letter-spacing:-0.02em }
.signup-step p{ font-size:13.5px; line-height:1.75; opacity:.85; margin:0 }

/* ============ 06 入金サイクル（生成り） ============ */
.cycle{ background:var(--cream); color:#000; padding:140px 56px; border-top:2px solid #000 }
.cycle-head{ margin-bottom:64px }
.cycle-head h2{ font-family:var(--jp); font-weight:900; font-size:clamp(40px,5.4vw,88px); line-height:1.0; letter-spacing:-0.03em; margin:12px 0 0 }
.cycle-head h2 .en{ font-family:var(--en); font-weight:900; font-size:.7em; margin-right:.4em; opacity:.5 }
.cycle-head .lead{ margin-top:24px; font-size:17px; line-height:1.9; max-width:50ch }
.cycle-cards{ display:grid; grid-template-columns:1fr 1fr; gap:0; border:2px solid #000; background:#fff }
.cycle-card{ padding:48px 40px; display:flex; flex-direction:column; gap:18px; border-right:2px solid #000 }
.cycle-card:last-child{ border-right:none }
.cycle-card .term{ font-family:var(--mono); font-size:13px; letter-spacing:.12em; color:var(--red) }
.cycle-card .period{ font-family:var(--jp); font-weight:900; font-size:clamp(28px,2.6vw,40px); line-height:1.15; letter-spacing:-0.02em }
.cycle-card .arrow-line{ display:flex; align-items:center; gap:14px; font-family:var(--en); font-weight:800; font-size:14px; letter-spacing:.1em; opacity:.5; margin:8px 0 }
.cycle-card .arrow-line .line{ flex:1; height:1.5px; background:currentColor }
.cycle-card .payout{ font-family:var(--jp); font-weight:900; font-size:clamp(32px,3.4vw,52px); line-height:1.1; letter-spacing:-0.03em; color:var(--red) }
.cycle-card .payout small{ display:block; font-size:.45em; color:#000; font-family:var(--mono); letter-spacing:.12em; margin-top:8px; font-weight:400 }
.cycle-note{ margin-top:24px; font-family:var(--mono); font-size:12px; letter-spacing:.06em; opacity:.65 }

/* ============ 07 FAQ抜粋（黒） ============ */
.faq{ background:#000; color:#fff; padding:140px 56px; border-top:2px solid #000 }
.faq-head{ margin-bottom:64px; display:flex; justify-content:space-between; align-items:flex-end; gap:32px; flex-wrap:wrap }
.faq .eyebrow{ color:var(--red); opacity:1 }
.faq-head h2{ font-family:var(--jp); font-weight:900; font-size:clamp(40px,5.4vw,88px); line-height:1.0; letter-spacing:-0.03em; margin:12px 0 0 }
.faq-head h2 .en{ font-family:var(--en); font-weight:900; font-size:.7em; margin-right:.4em; opacity:.4 }
.faq-head .faq-lead{ opacity:.75; max-width:36ch; font-size:15px; line-height:1.8 }
.faq-list{ display:flex; flex-direction:column; border-top:2px solid #fff }
.faq-row{ display:grid; grid-template-columns:80px 1fr; gap:32px; padding:36px 0; border-bottom:2px solid #fff; align-items:flex-start; transition:padding-left .2s }
.faq-row:hover{ padding-left:16px }
.faq-row:hover .faq-mark{ color:#fff }
.faq-mark{ font-family:var(--en); font-weight:900; font-size:48px; line-height:.9; color:var(--red); letter-spacing:-0.02em }
.faq-q{ font-family:var(--jp); font-weight:900; font-size:clamp(20px,1.8vw,26px); line-height:1.4; letter-spacing:-0.01em; margin:0 0 14px; text-wrap:balance }
.faq-a{ display:grid; grid-template-columns:80px 1fr; gap:0; margin-top:8px }
.faq-a-mark{ font-family:var(--en); font-weight:800; font-size:14px; letter-spacing:.18em; color:var(--red); opacity:.7; padding-top:4px }
.faq-a-text{ font-size:15px; line-height:1.85; opacity:.85; max-width:60ch; font-weight:500 }
.faq-foot{ margin-top:48px; display:flex; justify-content:center }
.faq-all{ display:inline-flex; align-items:center; gap:14px; border:2px solid #fff; padding:20px 32px; font-family:var(--jp); font-weight:900; font-size:16px; transition:background .15s,color .15s }
.faq-all:hover{ background:#fff; color:#000 }
.faq-all .arrow{ font-family:var(--en); font-weight:800; transition:transform .25s }
.faq-all:hover .arrow{ transform:translateX(8px) }

/* ============ 08 VOICE（白・非対称グリッド） ============ */
.voice{ background:#fff; color:#000; padding:140px 56px; border-top:2px solid #000 }
.voice-head{ margin-bottom:64px }
.voice-head h2{ font-family:var(--jp); font-weight:900; font-size:clamp(40px,5.4vw,88px); line-height:1.0; letter-spacing:-0.03em; margin:12px 0 0 }
.voice-head h2 .en{ font-family:var(--en); font-weight:900; font-size:.7em; margin-right:.4em; opacity:.5 }
.voice-grid{ display:grid; grid-template-columns:repeat(6,1fr); gap:24px; grid-auto-rows:minmax(120px,auto) }
.voice-card{ padding:36px 32px; background:var(--cream); border:2px solid #000; position:relative; display:flex; flex-direction:column; justify-content:space-between; transition:transform .15s,box-shadow .15s }
.voice-card:hover{ transform:translate(-3px,-3px); box-shadow:6px 6px 0 var(--red) }
.voice-card .quote-mark{ font-family:var(--en); font-weight:900; font-size:80px; line-height:.7; color:var(--red); position:absolute; top:16px; right:20px; opacity:.85 }
.voice-card blockquote{ font-family:var(--jp); font-weight:700; font-size:17px; line-height:1.7; letter-spacing:-0.005em; margin:0; text-wrap:pretty; padding-right:60px; max-width:38ch }
.voice-card .meta{ margin-top:24px; font-family:var(--mono); font-size:12px; letter-spacing:.08em; opacity:.7; display:flex; gap:14px }
.voice-card .meta .cat{ background:#000; color:#fff; padding:3px 8px; font-family:var(--en); font-weight:800; letter-spacing:.1em }
.voice-card.vsize-3{ grid-column:span 3 }
.voice-card.vsize-2{ grid-column:span 2 }
.voice-card.vsize-feature{ grid-column:span 4; background:var(--red); color:#fff; border-color:#000 }
.voice-card.vsize-feature .quote-mark{ color:#000; opacity:.9 }
.voice-card.vsize-feature blockquote{ font-size:22px }
/* 黒の小カード（design の inline 版をクラス化） */
.voice-card.vsize-dark{ background:#000; color:#fff }
.voice-card.vsize-dark .quote-mark{ color:var(--red); opacity:1 }
.voice-card.vsize-dark .meta{ opacity:.85 }
.voice-card.vsize-dark .meta .cat{ background:var(--red) }
.voice-card.vsize-dark .meta .src{ color:#fff; opacity:.7 }

/* =========================================================================
   レスポンシブ（≤960px：SP最適値を反映）
   ========================================================================= */
@media (max-width:960px){
  /* HERO：縦積み（マスコットを上に）*/
  .hero{ min-height:auto }
  /* SP：見出し・本文は balance/pretty 解除で幅いっぱい折り返し */
  .since-text h2, .merit-title, .mid-cta h3, .faq-q, .voice-card blockquote{ text-wrap:wrap }
  .hero-watermark{ padding-left:0; left:-3%; justify-content:flex-start }
  .hero-watermark span{ font-size:25vw; color:rgba(248,39,79,0.12) }
  .hero-inner{ grid-template-columns:1fr; gap:24px; padding:48px 18px 56px }
  /* SP順序：アイブロウ→タイトル→マスコット→説明→メタ（hero-textを解除して並べ替え） */
  .hero-text{ display:contents }
  .hero-text .eyebrow{ order:1 }
  .hero-text h1{ order:2; font-size:18vw; line-height:.95; margin:20px 0 24px; text-wrap:wrap }
  .hero-mascot{ order:3; min-height:auto; margin:8px 0 }
  /* SP：sub下の余白を縮小（gap24pxで足りるため基本の36pxを解除＝design-source相当） */
  .hero-text .sub{ order:4; max-width:none; line-height:1.7; margin-bottom:0 }
  .hero-meta{ order:5; flex-direction:column; gap:10px }
  .hero-mascot img{ height:min(360px,84vw) }

  /* SINCE 15年 */
  .since{ padding:64px 18px }
  .since-inner{ grid-template-columns:1fr; gap:8px; text-align:center }
  .since-num{ font-size:44vw; justify-content:center }
  .since-bg{ font-size:46vw; bottom:-6% }
  .since-text{ text-align:left; margin-top:24px }
  .since-text h2{ font-size:38px; text-shadow:3px 3px 0 #000 }
  .since-text p{ font-size:16px; max-width:none }
  .since-since{ font-size:12px }

  /* MERIT（1カラム積み） */
  .merit{ padding:64px 18px }
  .merit-head{ margin-bottom:36px; gap:16px }
  .merit-head h2{ font-size:40px }
  .merit-head p{ font-size:15px; max-width:none }
  .merit-num{ font-size:13px }
  .merit-title{ font-size:26px }
  .merit-desc{ font-size:14px; max-width:none }
  .merit-item.size-lg .merit-desc{ font-size:14px; max-width:none }
  /* SP：PC用の<br>を無効化し、タイトル・本文を画面幅で自然に折り返す（max-widthも解除済み） */
  .merit-head h2 br, .merit-head p br, .merit-title br{ display:none }
  .merit-grid{ grid-template-columns:1fr; grid-auto-rows:auto; border-left:none }
  .merit-item,
  .merit-item.size-lg,
  .merit-item.size-md,
  .merit-item.size-sm{ grid-column:span 1; grid-row:span 1; border-left:2px solid #000 }
  .merit-item.size-lg .merit-title{ font-size:34px; margin-top:8px }

  /* FLOW（縦・矢印は下向き） */
  .flow{ padding:64px 18px }
  .flow-head{ margin-bottom:36px }
  .flow-head h2{ font-size:40px }
  .flow-step .step-no{ font-size:64px }
  .flow-step .step-no .small{ font-size:13px }
  .flow-step h3{ font-size:24px; line-height:1.3; margin:18px 0 10px }
  .flow-step h3 br{ display:none }
  .flow-step p{ font-size:14px; max-width:none }
  .flow-grid{ grid-template-columns:1fr }
  .flow-step{ min-height:auto; padding:32px 4px; border-right:none }
  .flow-step::after{ content:"↓"; right:auto; left:50%; top:auto; bottom:-20px; transform:translateX(-50%); font-size:30px; padding:2px 8px }
  .flow-step:last-child::after{ display:none }

  /* ミッドCTA */
  .mid-cta{ padding:56px 18px }
  .mid-cta-inner{ flex-direction:column; align-items:stretch; gap:28px }
  .mid-cta h3{ font-size:28px }
  .mid-cta .cta{ width:100%; justify-content:center }

  /* SIGN UP */
  .signup{ padding:64px 18px }
  .signup-head{ margin-bottom:36px; gap:20px }
  .signup-head h2{ font-size:40px }
  .signup-head .badge strong{ font-size:30px }
  .signup-step .no{ font-size:52px }
  .signup-step p{ font-size:14px }
  .signup-flow{ grid-template-columns:1fr; gap:16px }

  /* CYCLE */
  .cycle{ padding:64px 18px }
  .cycle-head{ margin-bottom:32px }
  .cycle-head h2{ font-size:40px }
  .cycle-head .lead{ font-size:16px; max-width:none }
  .cycle-card .term{ font-size:12px }
  .cycle-card .period{ font-size:30px }
  .cycle-card .period br{ display:none }   /* SPは全幅で1行に収まるため「締め」を折り返さない */
  .cycle-card .arrow-line{ font-size:13px }
  .cycle-card .payout{ font-size:38px }
  .cycle-note{ font-size:11px }
  .cycle-cards{ grid-template-columns:1fr }
  .cycle-card{ border-right:none; border-bottom:2px solid #000 }
  .cycle-card:last-child{ border-bottom:none }

  /* FAQ */
  .faq{ padding:64px 18px }
  .faq-head{ margin-bottom:32px; gap:14px }
  .faq-head h2{ font-size:40px }
  .faq-head .faq-lead{ max-width:none }
  .faq-row{ grid-template-columns:1fr; gap:0; padding:28px 0 }
  .faq-row:hover{ padding-left:0 }
  .faq-mark{ font-size:32px; margin-bottom:12px }
  .faq-q{ font-size:21px }
  .faq-a{ grid-template-columns:40px 1fr }
  .faq-foot{ margin-top:36px }
  .faq-all{ width:100%; justify-content:center; padding:18px }

  /* VOICE（1カラム積み） */
  .voice{ padding:64px 18px }
  .voice-head{ margin-bottom:28px }
  .voice-head h2{ font-size:40px }
  .voice-grid{ grid-template-columns:1fr; gap:18px }
  .voice-card,
  .voice-card.vsize-3,
  .voice-card.vsize-2,
  .voice-card.vsize-feature,
  .voice-card.vsize-dark{ grid-column:span 1 }
  .voice-card .quote-mark{ font-size:64px }
  .voice-card .meta{ font-size:11px }
  .voice-card blockquote{ padding-right:40px }
  .voice-card.vsize-feature blockquote{ font-size:17px }
}

/* ===== 基準線統一：バンドは横paddingを持たない（gutterは内側コンテナが担う） ===== */
.since, .merit, .flow, .mid-cta, .signup, .cycle, .faq, .voice{ padding-left:0; padding-right:0 }
