/* Responsive release layer. Desktop layouts and timelines remain untouched. */
.mobile-hero{display:none}
@media (max-width:1199px){
  /* ---- スマホ版ヒーロー（デスクトップ版と同じ文言・4体配置を縦積みで再現） ---- */
  .hero2.fv > .mobile-hero{display:block;position:relative;isolation:isolate;width:100%;overflow:hidden;padding:18px 16px 30px;background:#f3f5fb}
  .hero2.fv > .fv-product-hero--trio{display:none}
  .mobile-hero__art{position:absolute;inset:0;z-index:0;display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 40%;pointer-events:none}
  .fv-left-agent-field--mobile{left:-8%;top:34%;z-index:1;width:60%;height:52%;opacity:.5;border-radius:44% 56% 52% 48%;background:radial-gradient(circle at 28% 18%,rgba(255,255,255,.5),rgba(112,190,255,.13) 24%,transparent 48%),radial-gradient(circle at 44% 66%,rgba(255,255,255,.18),rgba(255,104,119,.06) 34%,transparent 60%)}
  /* 文字（デスクトップの焼き込み文字と同じ内容・配色） */
  .mobile-hero__copy{position:relative;z-index:2;text-align:center}
  .mobile-hero__badge{display:inline-block;margin:0;padding:9px 16px;border-radius:999px;background:#fff;box-shadow:0 8px 22px rgba(40,60,120,.1);color:#111;font-size:clamp(11px,3.2vw,13px);font-weight:700;letter-spacing:.01em;white-space:nowrap}
  .mobile-hero__badge b{color:var(--blue);font-weight:800}
  .mobile-hero__title{margin:18px 0 0;color:#0b1330;font-size:clamp(30px,9.4vw,46px);font-weight:900;line-height:1.2;letter-spacing:-.03em}
  .mobile-hero__title em{position:relative;display:inline-block;color:var(--blue);font-style:normal}
  .mobile-hero__title em::after{content:"";position:absolute;left:0;right:0;bottom:-.04em;height:.09em;border-radius:999px;background:linear-gradient(90deg,#1668f0,#7b3cf5)}
  .mobile-hero__lead{max-width:34em;margin:16px auto 0;color:#1d2433;font-size:clamp(13px,3.7vw,15px);font-weight:500;line-height:1.9}
  .mobile-hero__lead b{color:var(--blue);font-weight:800}
  /* 4体: デスクトップと同じ並び（左列 Dots→OpenClaw、右列 Hermes→Grok） */
  .mobile-hero__agents{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:4px 12px;max-width:440px;margin:18px auto 0;padding:0 4px}
  /* 背景のリング（デスクトップ背景から切り出し。_build/mobile_hero_rings.py で生成）: 各キャラの背後に1つずつ */
  .mobile-hero__rings{position:absolute;left:-15%;top:-15%;z-index:0;width:130%;height:130%;max-width:none;object-fit:fill;pointer-events:none}
  .mobile-hero__agent-link{position:relative;z-index:1;display:block;text-decoration:none;-webkit-tap-highlight-color:transparent}
  .mobile-hero__agent-link:focus-visible{outline:3px solid var(--blue);outline-offset:4px;border-radius:24px}
  .mobile-hero__agent-link--dots{justify-self:center;width:66%;margin-bottom:24px}
  .mobile-hero__agent-link--openclaw{justify-self:center;width:84%}
  .mobile-hero__agent-link--hermes,.mobile-hero__agent-link--grok{width:100%}
  .fv-dots-unit--mobile{position:relative;display:block;width:100%;aspect-ratio:1}
  .fv-dots-unit--mobile::before{opacity:.46;filter:blur(7px)}
  .fv-dots-unit--mobile::after{opacity:.4}
  .fv-dots-unit--mobile .fv-dots-unit__name{left:50%;top:97%;font-size:clamp(20px,6vw,28px);transform:translateX(-50%)}
  .mobile-hero__agent{position:relative;display:block;width:100%;filter:drop-shadow(0 8px 14px rgba(27,48,105,.1));will-change:transform,opacity}
  .mobile-hero__agent--openclaw{aspect-ratio:1273/1236}
  .mobile-hero__agent--hermes,.mobile-hero__agent--grok{aspect-ratio:1448/1086}
  .mobile-hero__agent .fv-agent-unit__art{width:100%;height:100%;margin:0;object-fit:contain}
  /* ボタン（デスクトップと同じ白地・黒枠のピル） */
  .mobile-hero__cta{position:relative;z-index:2;display:grid;gap:10px;max-width:360px;margin:22px auto 0}
  .mobile-hero__btn{display:flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 20px;border:1.5px solid #111;border-radius:999px;background:#fff;box-shadow:0 10px 24px rgba(30,50,120,.1);color:#111;font-size:15px;font-weight:700;text-decoration:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
  .mobile-hero__btn i{color:var(--blue);font-style:normal;font-size:1.15em;line-height:1}
  .mobile-hero__btn:active{background:#f3f6ff}
  .mobile-hero__btn:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
}
@media (max-width:1199px) and (prefers-reduced-motion:no-preference){
  .fv-left-agent-field--mobile{animation:mobileAgentFieldIn .9s .05s both ease-out}
  .mobile-hero__rings{animation:mobileRingsIn 1s .1s both ease-out}
  @keyframes mobileRingsIn{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}
  .fv-dots-unit--mobile{animation:mobileDotsEnter 1.12s .28s both cubic-bezier(.2,.82,.22,1)}
  .mobile-hero__agent--openclaw{animation:mobileOpenclawEnter 1.12s .28s both cubic-bezier(.2,.82,.22,1)}
  .mobile-hero__agent--hermes{animation:mobileHermesEnter 1.12s .32s both cubic-bezier(.2,.82,.22,1)}
  .mobile-hero__agent--grok{animation:mobileGrokEnter 1.12s .56s both cubic-bezier(.2,.82,.22,1)}
  @keyframes mobileDotsEnter{
    from{opacity:0;transform:translate3d(-145%,48%,0)}
    to{opacity:1;transform:translate3d(0,0,0)}
  }
  @keyframes mobileAgentFieldIn{from{opacity:0}to{opacity:.58}}
  @keyframes mobileOpenclawEnter{
    from{opacity:0;transform:translate3d(-145%,48%,0)}
    to{opacity:1;transform:translate3d(0,0,0)}
  }
  @keyframes mobileHermesEnter{
    from{opacity:0;transform:translate3d(145%,48%,0)}
    to{opacity:1;transform:translate3d(0,0,0)}
  }
  @keyframes mobileGrokEnter{
    from{opacity:0;transform:translate3d(145%,58%,0)}
    to{opacity:1;transform:translate3d(0,0,0)}
  }
}
@media (max-width:900px){
  .page-grokbot .gb-hero{padding:calc(var(--header-h) + 28px) 0 28px;background:#fff}
  .page-grokbot .gb-hero__inner{max-width:640px;gap:18px}
  .page-grokbot .gb-hero__art{min-height:0;order:0;width:100%;aspect-ratio:858 / 600}
  .page-grokbot .gb-hero__orb--a{width:95px;top:var(--header-h);right:-58px;border:0;border-radius:0 0 0 80%;background:#ff7100;animation:none}
  .page-grokbot .gb-hero__orb--b{width:130px;height:90px;left:-72px;bottom:0;border-radius:0 80% 0 0;background:#ff7100;opacity:1;animation:none}
  /* Reuse the approved 1558 x 825 desktop artwork. The stepped left edge
     excludes its baked copy and badges without replacing any characters. */
  .gb-mobile-art__scene{position:absolute;inset:0;background-image:url('../images/grokbot-first-view-v3.png');background-size:181.5851% 137.5%;background-position:100% 62.2222%;clip-path:polygon(5.25% 0,100% 0,100% 100%,22.15% 100%,22.15% 78%,7% 78%,7% 45%,12% 45%,12% 35%,5.25% 35%)}
  .page-grokbot .gb-hero__art img{width:min(100%,390px)}
  .page-grokbot .gb-hero__art p{display:none}
  .page-grokbot .gb-hero__copy h1{font-size:clamp(27px,7.2vw,42px);line-height:1.45;letter-spacing:-.04em;margin-top:16px}
  .page-grokbot .gb-hero__copy h1 em{white-space:nowrap}
  .page-grokbot .gb-hero__copy h1 br{display:block}
  .page-grokbot .gb-hero__copy h1 em::after{background:#ff5a00;height:3px;border-radius:50%;bottom:-4px;transform:rotate(-1deg)}
  .page-grokbot .gb-hero__status{display:inline-flex;margin:0 0 0 12px}
  .page-grokbot .gb-hero__status{color:#ff5a00;background:#fff;border-color:#ff7100}
  .page-grokbot .gb-hero__copy .lead{font-size:14px;line-height:1.85;margin-top:18px}
  .page-grokbot .gb-hero__facts{gap:8px;margin-top:18px}
  .page-grokbot .gb-hero__facts li{font-size:12px;padding:8px 11px}
  .page-grokbot .gb-hero__facts li::before{display:none}
  .gb-mobile-fact-icon{flex:none;display:inline-block;width:30px;height:30px;background-image:url('../images/grokbot-first-view-v3.png');background-repeat:no-repeat;background-size:calc(1558 / var(--iw) * 100%) calc(825 / var(--ih) * 100%);background-position:calc(var(--ix) / (1558 - var(--iw)) * 100%) calc(var(--iy) / (825 - var(--ih)) * 100%)}
  .gb-mobile-fact-icon--cloud{--ix:150;--iy:619;--iw:42;--ih:44}
  .gb-mobile-fact-icon--team{--ix:383;--iy:617;--iw:80;--ih:50;width:42px}
  .gb-mobile-fact-icon--skill{--ix:666;--iy:617;--iw:43;--ih:50}
  .page-grokbot .gb-hero .cta{display:grid;grid-template-columns:1fr;gap:12px;margin-top:22px}
  .page-grokbot .gb-hero .cta .ibtn{width:100%;min-height:52px;font-size:15px;padding:12px 16px}
  html body.page-grokbot .gb-hero .ibtn .arw{color:#ff5a00!important}
  html body.page-grokbot .gb-hero .ibtn .arw::after{width:8px;height:8px;background:none;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg)}
  html body.page-grokbot .gb-hero .ibtn[data-interactive-hover-ready="true"] .ibtn__hover-fill{background:#ff5a00}
  html body.page-grokbot .gb-hero .ibtn[data-interactive-hover-ready="true"]:is(:hover,:focus-visible){border-color:#ff5a00!important;box-shadow:0 10px 22px #ff5a0033!important}
}
@media (max-width:600px){
  .pr-product{padding:26px 22px}
  .pr-products__note{font-size:13px;text-align:left}
  .page-grokbot .gb-access-levels > div{grid-template-columns:24px minmax(0,1fr);gap:8px}
  .page-grokbot .gb-access-levels small{grid-column:2;font-size:12px}
  .page-grokbot .gb-compare-card p{font-size:14px}
}

/* ============================================================
   スマホの密度調整（トップページ）
   カードが1枚ごとに画面を占有してスクロール量が多すぎたため、
   700px 以下では「色面のカードに、左に文字・右にキャラ、上にチップとバッジ」の
   横長コンパクト型（高さ約150px）に畳み、セクションの上下余白も詰める。
   デスクトップ（701px以上）は変更なし。
============================================================ */
/* ※ 以下の密度調整は「タッチ端末（hover:none）」だけに適用する。
   PC ブラウザの窓を狭めてもカードの大きさは変えない（ユーザー指定）。 */
@media (max-width:700px) and (hover:none){
  :root{--sec-y:44px}
  .sec-head{margin-bottom:22px}
  .sceneband{padding-block:36px}
  .home-video-showcase{padding:44px 0 48px}

  /* ---- 汎用カード .rc-card（3つの壁・各部門・なぜZETTAi） ---- */
  .rc-grid{grid-template-columns:1fr;gap:12px;margin-top:20px}
  .rc-card{display:block;width:100%;height:auto;min-height:150px;padding:14px 16px 16px;border-radius:20px;
    background:linear-gradient(135deg,var(--rc-a),var(--rc-b) 70%,#fff);border-color:rgba(234,238,242,.9)}
  /* 上段: チップとバッジを横一列に。絵は右側へ */
  .rc-card__art{position:static;height:auto;min-height:0;overflow:visible;background:none;border:0;
    display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-right:118px;margin-bottom:10px}
  .rc-card__chip{position:static;height:22px;padding:0 10px;font-size:10.5px}
  .rc-card__badges{position:static;display:flex}
  .rc-badge{width:30px;height:30px;box-shadow:0 3px 10px rgba(30,60,70,.16)}
  .rc-badge img{width:20px;height:20px}
  .rc-card__ghost{display:none}
  .rc-card__gfx{right:-4px;top:auto;bottom:-6px;width:112px;transform:none;filter:drop-shadow(0 6px 12px rgba(30,60,70,.16))}
  /* 「なぜZETTAi」の絵は白地付きの画像なので、乗算で地色に馴染ませる */
  .why-zettai .rc-card__gfx{mix-blend-mode:multiply;filter:none;bottom:0;width:118px}
  .rc-card__body{padding:0 118px 0 0;gap:4px;overflow:visible}
  .rc-card__title{font-size:16px}
  .rc-card__text{font-size:12.5px;line-height:1.55}
  .b2-bridge{margin-top:36px}
  .why-zettai{min-height:0;padding-bottom:150px;margin-inline:10px}
  .why-zettai__mascot{width:96px;bottom:16px}

  /* ---- 4つの基盤 .yc-card（12枚） ---- */
  .yc-cards{grid-template-columns:1fr;gap:12px}
  .yc-card{display:block;width:100%;max-width:none;height:auto;min-height:140px;padding:14px 16px 16px;border-radius:20px;
    background:linear-gradient(135deg,var(--yc-tone,#F6F8FA),#fff 80%)}
  .yc-card__art{position:static;height:auto;min-height:0;overflow:visible;background:none;
    display:flex;align-items:center;padding-right:112px;margin-bottom:8px}
  .yc-card__art > img{top:auto;left:auto;right:-2px;bottom:-4px;width:104px;height:104px;transform:none;mix-blend-mode:multiply;border-radius:14px}
  .yc-group--dots .yc-card__art img{padding:0}
  .yc-group--dots .yc-card:nth-child(2) .yc-card__art img,
  .yc-group--dots .yc-card:nth-child(3) .yc-card__art img{transform:none}
  .yc-badges{position:static;display:flex}
  .yc-badge{width:30px;height:30px;box-shadow:0 3px 10px rgba(30,60,70,.16)}
  .yc-badge img{width:20px;height:20px}
  .yc-card__body{padding:0 112px 0 0;gap:4px}
  .yc-card__body h3{font-size:17px}
  .yc-card__body p{font-size:12.5px;line-height:1.55}
  .yc-group--dots .yc-card__body a{margin-top:6px;font-size:12px}
  .yc-group + .yc-group{margin-top:22px}
  .yc-group__key{margin-bottom:10px}
  /* Before/After の図があるカードは、図を全幅のまま上に置く */
  .yc-card--workflow{padding:0 0 16px}
  .yc-card--workflow .yc-card__art{display:block;padding:12px 14px 12px;margin:0 0 10px}
  .yc-card--workflow .yc-card__body{padding:0 16px}

  /* ---- 積層パネル（黒・青・黄・ピンク・緑） ---- */
  .stack > .panel,.stack > .deco-card-panel,.stack > .b3-employee{padding-top:40px;padding-bottom:48px}
  .b3-flow__art img{max-width:260px}
  .b3-ready__art img{max-width:220px}
  .b3-wall__art img{max-width:260px}

  /* ---- 数字・料金・導入の流れ ---- */
  .st-card{min-height:0}
  .st-grid{gap:12px}
  .b6-plans{gap:14px}
  .b6-plan{padding:24px 20px}
  .b6-envcard{padding:22px 18px}
  .b6-faq{gap:10px}
}

/* ============================================================
   スマホの密度調整（2）: カード以外の縦に長い部分
   導入の流れ・料金・ご用意いただくもの・数字・積層パネル・FAQ・動画
============================================================ */
@media (max-width:700px) and (hover:none){
  /* ---- 導入の流れ: 丸アイコンを小さくし、本文を右に寄せた1枚のタイムラインに ---- */
  .b6-steps{--b6-ring:44px;--b6-gap:14px;gap:14px}
  .b6-step{display:grid;grid-template-columns:var(--b6-ring) minmax(0,1fr);column-gap:12px;padding:14px 14px 14px 12px;border:1px solid var(--line);border-radius:18px;background:#fff}
  .b6-step:not(:last-child)::before{display:none}
  .b6-step__marker{display:contents}
  .b6-step__ring{grid-row:1 / span 2;position:static;transform:none;box-shadow:none}
  .b6-step__icon svg{width:18px;height:18px}
  .b6-step__no{position:static;transform:none;padding:0;background:none;font-size:13px;color:var(--blue);line-height:1.2}
  .b6-step--key .b6-step__no{background:none;-webkit-background-clip:initial;background-clip:initial;color:var(--purple)}
  .b6-step__tag{position:static;transform:none;display:inline-block;margin-left:8px;padding:2px 8px;border-radius:999px;background:rgba(123,60,245,.1);font-size:10px}
  .b6-step__body{grid-column:2;padding-left:0;margin-top:2px}
  .b6-step__body h3{font-size:16px}
  .b6-step__body p{font-size:12.5px;line-height:1.6;margin-top:4px}
  .b6-step__body ul{margin-top:8px;padding-top:8px;gap:3px;display:grid}
  .b6-step__body li{font-size:12px;line-height:1.5}

  /* ---- 料金: 数字を小さく、余白を詰める ---- */
  .b6-plans{gap:12px}
  .b6-plan--main,.b6-plan--sub{padding:20px 18px 20px}
  .b6-plan__head{margin-bottom:10px}
  .b6-plan__flag{margin-bottom:8px}
  .b6-plan__num,.b6-plan--main .b6-plan__num{font-size:56px;line-height:1}
  .b6-plan__price{margin-bottom:8px}
  .b6-plan__sub{font-size:12.5px}
  .b6-plan__list{gap:8px;margin-top:14px;padding-top:14px}
  .b6-plan__list li{font-size:13px}
  .b6-plan .ibtn{min-height:46px;margin-top:14px}
  .b6-note{padding:16px;font-size:12.5px}

  /* ---- ご用意いただくもの: アイコンを左、文字を右の横並びに ---- */
  .b6-envs{gap:12px}
  .b6-envcard{flex-direction:row;align-items:flex-start;gap:12px;padding:16px 14px}
  .b6-envcard__icon{width:56px}
  .b6-envcard__ghost{display:none}
  .b6-envcard__body h3{font-size:16px}
  .b6-envcard__body ul{margin-top:8px;padding-top:8px;gap:5px}
  .b6-envcard__body li{font-size:12.5px;line-height:1.5}
  .b6-envfoot{margin-top:14px;padding:14px;font-size:12.5px}

  /* ---- 数字で見る: 2列の小さなタイルに ---- */
  .st-grid{grid-template-columns:1fr 1fr;gap:10px}
  .st-card{min-height:0;padding:16px 14px;border-radius:18px}
  .st-card--wide{grid-column:1 / -1}
  .st-card__ic{width:22px;height:22px}
  .st-card__label{margin-top:8px;font-size:11.5px;line-height:1.4}
  .st-card__num{margin-top:2px;font-size:1.9rem;white-space:normal}
  .st-card__num small{font-size:.8rem}
  .st-card__text{padding-top:8px;font-size:11.5px;line-height:1.5}
  .st-bar{margin-top:6px}

  /* ---- 積層パネル ---- */
  .stack > .panel,.stack > .deco-card-panel,.stack > .b3-employee{padding-top:36px;padding-bottom:40px}
  .b3-head,.stack .sec-head{margin-bottom:16px}
  .panel .sec-lead,.deco-card-panel .sec-lead{font-size:13.5px;line-height:1.75}
  /* 黒: 社員証を小さく、3つの性格を詰める */
  .b3-emp{gap:18px}
  .b3-idcard{width:min(100%,250px);margin-inline:auto;padding-top:14px}
  .b3-idcard__photo img{max-height:120px;object-fit:cover}
  .b3-traits{gap:0}
  .b3-traits li{padding:12px 0}
  .b3-traits h3{font-size:15px}
  .b3-traits p{font-size:12.5px;line-height:1.6}
  .b3-emp__note{margin-top:14px;padding:12px 14px;font-size:12.5px}
  /* 青: 8つのピルを2列・小さく */
  .deco-pills{gap:8px}
  .deco-pill{--pill-w:calc(50% - 4px);height:46px;gap:8px;padding:0 10px;font-size:12.5px}
  .deco-pill__ic{width:24px;height:24px}
  .deco-panel__foot{margin-top:16px;padding:12px 14px;font-size:12.5px}
  /* 黄: スマホ図を小さく */
  .b3-flow__top{gap:16px}
  .b3-phone{width:min(100%,240px);padding:8px;border-radius:28px}
  .b3-phone__screen{padding:12px 10px 14px;gap:8px;border-radius:22px}
  .b3-bubble{font-size:11.5px;padding:8px 10px}
  .b3-flow__art img{max-width:220px}
  /* ピンク: VS の2枚を詰める */
  .b3-wall__art img{max-width:200px}
  .b3-vs{margin-top:18px;gap:10px}
  .b3-col{padding:16px 16px 14px}
  .b3-col li{font-size:13px;line-height:1.5}
  .b3-col__foot{font-size:12px;margin-top:10px;padding-top:10px}
  .b3-vs__mark{width:40px;height:40px;font-size:12px}
  /* 緑: 巨大数字を縮小 */
  .b3-ready__art img{max-width:180px}
  .b3-figs{margin-top:16px;gap:10px}
  .b3-fig{padding:18px 18px 16px}
  .b3-fig__num .en{font-size:56px}
  .b3-fig__num small{font-size:15px}
  .b3-fig h3{font-size:15px;margin-top:4px}
  .b3-fig ul{margin-top:8px;padding-top:8px;gap:3px}
  .b3-fig li{font-size:12.5px}
  .b3-ready__foot{margin-top:14px;padding:12px 14px;font-size:12.5px}

  /* ---- FAQ（最終CTAが -60px で乗り上げるぶん、下に余白を足す） ---- */
  .b6-faqsec{padding-bottom:calc(var(--sec-y) + 64px)}
  .b6-faq{gap:8px}
  .b6-faq__item summary{padding:12px 14px;gap:10px}
  .b6-faq__q{font-size:14px;line-height:1.5}
  .b6-faq__mark{width:30px;height:30px}
  .b6-faq__a{padding:0 14px 14px;font-size:13px}

  /* ---- 冒頭の場面・証拠・動画 ---- */
  .sceneband{padding-block:28px}
  .sceneband__art img{max-height:180px;width:auto;margin-inline:auto}
  .proof.fv-proof{padding:28px 0 20px}
  .home-video-showcase{padding:36px 0 36px}
  .video-carousel__viewport{padding:16px 0 22px}
}

/* ============================================================
   スマホの密度調整（3）: 最終CTA・料金・導入の流れをさらにコンパクトに
============================================================ */
@media (max-width:700px) and (hover:none){
  /* ---- 最終CTA: 焼き込み画像（縦長）をやめ、HTML版を小さく組む ---- */
  .b6-final--illustrated > .ct-hero-stage{display:none}
  .b6-final--illustrated{padding:36px 0 40px;margin-top:-40px;border-radius:32px 32px 0 0;background:linear-gradient(160deg,#eef0ff,#e6ddff 55%,#dcd3ff)}
  .b6-final--illustrated > .b6-final__wrap{display:block;position:relative;text-align:left;padding-right:0}
  .b6-final--illustrated .b6-final__text{padding-right:96px}
  .section.section--brand.b6-final--illustrated .label{color:#5b43c8;opacity:1;background:none;-webkit-text-fill-color:#5b43c8}
  .b6-final--illustrated h2{margin-top:4px;color:#171c33;font-size:clamp(21px,5.8vw,26px);line-height:1.3;text-wrap:balance}
  .b6-final--illustrated h2 br{display:none}
  .section.section--brand.b6-final--illustrated h2{color:#171c33}
  .section.section--brand.b6-final--illustrated h2 em{color:#5b43c8;-webkit-text-fill-color:#5b43c8;background:none;font-style:normal}
  .b6-final--illustrated .sec-lead{margin-top:8px;color:#4a5068;font-size:13px;line-height:1.7;opacity:1}
  .b6-final--illustrated .sec-lead br{display:none}
  .b6-final--illustrated .b6-final__cta{display:grid;grid-template-columns:1fr;gap:8px;margin:14px -96px 0 0}
  .b6-final--illustrated .b6-final__cta .ibtn{width:100%;min-height:48px;justify-content:center;font-size:14px}
  .b6-final--illustrated .b6-final__cta .ibtn-ghost{background:#fff;color:#171c33;border:1.5px solid #171c33}
  .b6-final--illustrated .b6-final__pills{gap:6px;margin:10px -96px 0 0;justify-content:flex-start}
  .b6-final--illustrated .b6-final__pills li{padding:6px 11px;font-size:11px;background:#fff;color:#3e4660;border-color:rgba(91,67,200,.18)}
  .b6-final--illustrated .b6-final__pills li::before{background:#5b43c8}
  .b6-final--illustrated .b6-final__mascot{position:absolute;right:0;top:18px;order:0}
  .b6-final--illustrated .b6-final__mascot img{width:88px}

  /* ---- 料金: プラン名と金額を横並びに、項目は2行以内の小さな一覧に ---- */
  .b6-plan--main,.b6-plan--sub{padding:16px 16px 16px;border-radius:22px}
  .b6-plan__inner{display:block}
  .b6-plan__head{margin-bottom:6px}
  .b6-plan__flag{margin-bottom:6px;font-size:10.5px}
  .b6-plan__for{font-size:11px;margin-bottom:4px}
  .b6-plan__name{font-size:17px}
  .b6-plan__price{flex-wrap:nowrap;align-items:baseline;margin:0}
  .b6-plan__cur{flex:0 0 auto;margin:0 4px 0 0;font-size:11px}
  .b6-plan__num,.b6-plan--main .b6-plan__num{font-size:40px;line-height:1}
  .b6-plan__unit{font-size:13px}
  .b6-plan__sub{margin-top:8px;font-size:12px;line-height:1.55}
  .b6-plan__list{gap:6px;margin-top:10px;padding-top:10px}
  .b6-plan__list li{font-size:12.5px;line-height:1.5;gap:8px}
  .b6-plan .ibtn{min-height:42px;margin-top:12px;font-size:13.5px}
  .b6-note{padding:14px;border-radius:18px}
  .b6-note p{font-size:12px;line-height:1.7}

  /* ---- 導入の流れ: 本文を短く見せ、箇条書きは横並びのチップに ---- */
  .b6-step{padding:12px 12px 12px 10px;border-radius:16px}
  .b6-step__body p{font-size:12px;line-height:1.55;margin-top:3px}
  .b6-step__body ul{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px;padding-top:0;border-top:0}
  .b6-step__body li{padding:4px 9px 4px 8px;border-radius:999px;background:#f3f5fa;font-size:11px;line-height:1.3;color:#3e4660}
  .b6-step__body li::before{display:none}
  .b6-step--key .b6-step__body li{background:rgba(123,60,245,.08)}
}

/* ============================================================
   積層パネル（スマホ）
   sticky の重なりモーションは維持する。パネルが画面より高いときは
   assets/reveal.js の setupStackPanels() が top を負の値に補正し、
   「下端まで読み切ってから次のパネルが覆う」動きにしている。
============================================================ */

/* ============================================================
   スマホでもヘッダーをスクロール追従させる（全ページ共通）
   style.css の 1000px 以下の指定が position:relative にしているため、
   後読みのこのファイルで sticky に戻す。sticky は通常フローのままなので
   レイアウトは変わらない。メニュー展開中（.is-menu-open）は fixed のまま。
============================================================ */
@media (max-width:1199px){
  /* トップページは body:has(.fv-reference-image) > header の指定が強いので、同じ詳細度で上書きする */
  header,body:has(.fv-reference-image) > header{position:sticky;top:0}
  header.is-menu-open,body:has(.fv-reference-image) > header.is-menu-open{position:fixed}
}
@media (max-width:1000px) and (hover:none){
  /* 積層パネルの固定位置はヘッダーの下から。高さ超過分の補正は reveal.js が行う */
  .stack > .deco-card-panel:nth-child(2){top:var(--header-h)}
  .stack > .panel:nth-child(3){top:calc(var(--header-h) + 10px)}
  .stack > .panel:nth-child(4){top:calc(var(--header-h) + 20px)}
  .stack > .panel:nth-child(5){top:calc(var(--header-h) + 30px)}
}

/* ============================================================
   黒パネル（デジタル社員）: スマホでは1画面（ヘッダー下 約590px）に収める
   社員証を「写真左・情報右」の横型に、3つの性格は詰めた行に。
============================================================ */
@media (max-width:700px) and (hover:none){
  .stack > .b3-employee{padding-top:18px;padding-bottom:20px}
  .panel--ink .sec-head{margin-bottom:12px}
  .panel--ink .sec-head .label{font-size:10.5px}
  .panel--ink .sec-head h2{font-size:clamp(20px,5.8vw,24px);line-height:1.3;margin-top:4px}
  .panel--ink .sec-head h2 br{display:none}
  .panel--ink .b3-head-ic{width:34px;margin-left:.15em;vertical-align:-.2em}
  .panel--ink .sec-lead{margin-top:6px;font-size:12px;line-height:1.6}
  .panel--ink .sec-lead br{display:none}
  .b3-emp{gap:10px}
  .b3-idcard{width:100%;max-width:none;padding-top:0}
  .b3-idcard::before{display:none}
  .b3-idcard__strap{display:none}
  /* スマホでは傾けず水平に置く（style.css の rotate(-2.5deg) を打ち消す） */
  .b3-employee .b3-idcard__body{display:grid;grid-template-columns:84px minmax(0,1fr);column-gap:14px;align-items:center;padding:12px 14px;border-radius:20px;text-align:left;transform:none}
  .b3-idcard__co{grid-column:1 / -1;font-size:10px;margin-bottom:2px}
  .b3-employee .b3-idcard__photo{grid-row:2 / span 3;width:84px;margin:0;border-radius:18px}
  .b3-employee .b3-idcard__name{font-size:16px;line-height:1.2}
  .b3-idcard__role{font-size:10px;margin-top:2px}
  .b3-employee .b3-idcard__meta{margin-top:6px;padding-top:6px;gap:2px}
  .b3-idcard__meta > div{gap:8px}
  .b3-idcard__meta dt,.b3-idcard__meta dd{font-size:11px;line-height:1.4}
  .b3-traits li{gap:10px;padding:7px 0;align-items:baseline}
  .b3-traits li:first-child{padding-top:0}
  .b3-traits__no{font-size:15px}
  .b3-traits h3{font-size:14px;line-height:1.3}
  .b3-traits p{margin-top:2px;font-size:11.5px;line-height:1.45}
  /* 補足の一文は1画面に収めるため非表示（本文と重複する内容） */
  .b3-emp__note{display:none}
}
