
/* ============================================================
   DECA Voice Agent / page-owned CSS  v27（サイト組み込み版）
   ページルート：.dva-page ／ 名前空間：dva-
   共通ヘッダー（.l-header）・共通フッター（.l-footer）はサイト側が出力する前提。
   ブレークポイント：1180px（ローカルナビ折りたたみ・2カラム解除）
                     767px（SP）／430px・359px（狭いSP）
   1つのセレクタを後段で打ち消さない（同一詳細度の上書きを排除）
   ============================================================ */

/* ---------- 1. トークン ---------- */
:root{
  color-scheme:light;
  --font-jp:YakuHanJP,"Noto Sans JP","Hiragino Kaku Gothic ProN","Hiragino Sans","BIZ UDPGothic","Yu Gothic Medium","Yu Gothic",Meiryo,system-ui,sans-serif;
  --font-en:neue-haas-grotesk-text,neue-haas-grotesk-display,"Helvetica Neue",Helvetica,Arial,sans-serif;
}
body{margin:0;background:#fff}

/* ---------- 2. ページルート ---------- */
.dva-page{
  --navy:#1d2088;
  --pink:#e4007f;        /* 面・枠・ホバー用のブランドピンク */
  --pink-deep:#cc0072;   /* 12px前後の小さな文字用（コントラスト確保） */
  --sky:#00a0e9;
  --lav:#c7c7e4;
  --lav2:#f3f1fa;
  --soft:#ededf3;
  --line:#d9daea;
  --sub:#575c83;
  --mute:#6b6f8a;

  /* 共通ヘッダー（.l-header）とページのローカルナビ（.dva-localNav）の二段構え。
     --dva-shell-h ：共通ヘッダーの高さ。読み込み後にJSが実測して上書きする。
                     下の値はJSが動く前／動かない場合の推定値で、
                     サイト側の指定（SP 12rem／PC 10rem＝ビューポート比）と同じ計算にしてある。
     --dva-nav-h   ：ローカルナビの高さ */
  --dva-shell-h:16vw;
  --dva-nav-h:81px;

  /* サイト共通CSS（main.css）は html{font-size:1.33333333vw}（375pxで5.0px／1440pxで10px）で、
     さらにリセットの *{font-size:inherit} が全要素に効く。
     基準を書かないとページ内の継承値がすべてその極小サイズになり、
     letter-spacing:.14em も 2.24px → 0.70px に縮む。
     独立LP（main.cssを読まない）と同じ 16px を基準として明示する。 */
  font-size:16px;

  max-width:100%;
  overflow-x:clip;
  overflow-y:visible;
  padding-top:calc(var(--dva-shell-h) + var(--dva-nav-h));
  background:#fff;
  color:var(--navy);
  font-family:var(--font-jp);
  font-weight:500;
  line-height:1.6875;
  letter-spacing:.14em;
}
.dva-page,.dva-page *{box-sizing:border-box}
.dva-page img{display:block;max-width:100%;height:auto}
.dva-page a{color:inherit;text-decoration:none}
.dva-page button,.dva-page input,.dva-page textarea,.dva-page select{font:inherit}
.dva-page :focus-visible{outline:3px solid var(--sky);outline-offset:3px}
.dva-page [id]{scroll-margin-top:calc(var(--dva-shell-h) + var(--dva-nav-h) + 12px)}

/* JSが実行されない場合（body閉じタグ前の未貼付、JSブロック、読み込み失敗）：
   ローカルナビを追従させずフローに置き、ナビリンクを常時表示する。
   共通ヘッダーはサイト側CSSで固定表示のままなので、その高さ分だけ余白を残す。 */
.dva-page:not(.dva-js){padding-top:var(--dva-shell-h)}
.dva-page:not(.dva-js) .dva-localNav{position:static}

/* ============================================================
   2-b. 共通ヘッダー・共通フッターとの結合（この版だけの追加）
   ------------------------------------------------------------
   サイト側CSSでの共通ヘッダーの指定（実測）：
     .l-header{position:fixed; top:0; z-index:100; min-height:12rem}
     @media(min-width:768px){ .l-header{min-height:10rem} }
     html{font-size:1.33333333vw} / 768px以上 .69444444vw / 1440px以上 10px
     .l-header.is-hidden{transform:translateY(-120%)}  ← 下スクロールで畳む状態
   ページ側はこの二段目に入り、共通ヘッダーが畳まれたら同じ速度で上へ詰める。
   ============================================================ */
@media(min-width:768px){ .dva-page{--dva-shell-h:6.9444vw} }
@media(min-width:1440px){ .dva-page{--dva-shell-h:100px} }

/* 共通ヘッダーの下端に出るノイズ帯（.l-header::before）が、
   すぐ下のローカルナビへ重なってにじむのを避ける。
   打ち消しはこのページのhead挿入要素の中だけなので、他ページには影響しない。
   .dva-shell-host は、共通ヘッダーを見つけたときにJSが<html>へ付ける。 */
.dva-shell-host .l-header::before{content:none}

/* 共通ヘッダーが畳まれた／戻ったときの追従。
   サイト側ヘッダーのトランジション（畳む .25s／戻す .325s）と同じカーブ・同じ時間にしてある。 */
.dva-shell-host .dva-localNav{transition:transform .325s cubic-bezier(.25,.46,.45,.94)}
.dva-shell-hidden .dva-localNav{
  transition:transform .25s cubic-bezier(.25,.25,.75,.75);
  transform:translateY(calc(var(--dva-shell-h) * -1))
}

/* 共通ヘッダーの全画面メニュー（ALL）を開いている間はローカルナビを隠す */
.dva-shell-menuOpen .dva-localNav{opacity:0;visibility:hidden}

/* ---------- 3. レイアウト部品 ---------- */
.dva-container{width:min(1200px,calc(100% - 48px));margin-inline:auto}
.dva-section{position:relative;padding:96px 0}
.dva-section--soft{background:var(--soft)}

.dva-kicker{margin:0 0 10px;color:var(--pink-deep);font:700 12px/1 var(--font-en);letter-spacing:.18em}
.dva-heading{text-align:center;margin-bottom:46px}
.dva-heading h2{margin:0;font-size:36px;line-height:1.5;letter-spacing:.12em}
.dva-heading h2::after{content:"";display:block;width:49px;height:4px;margin:28px auto 0;background:var(--navy)}
.dva-heading__lead{max-width:860px;margin:18px auto 0;color:var(--sub);font-size:14px;line-height:1.95;letter-spacing:.06em}

.dva-subHead{text-align:center;margin-bottom:34px}
.dva-subHead h3{margin:0;font-size:28px;line-height:1.5;letter-spacing:.12em}
.dva-subHead__lead{max-width:860px;margin:16px auto 0;color:var(--sub);font-size:14px;line-height:1.95;letter-spacing:.06em}

.dva-btns{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.dva-btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:56px;padding:12px 24px;
  border:2px solid var(--navy);border-radius:999px;
  background:var(--navy);color:#fff!important;
  font-size:13px;font-weight:700;letter-spacing:.05em;
  transition:.325s cubic-bezier(.25,.25,.75,.75)
}
.dva-btn:hover{border-color:var(--pink);background:var(--pink)}
.dva-btn--outline{background:#fff;color:var(--navy)!important}
.dva-btn--outline:hover{color:#fff!important}

/* PC/SPで意味の切れ目を最適化する改行制御 */
.dva-br-pc{display:inline}
.dva-br-sp{display:none}

/* スキップリンク */
.dva-skip{
  position:fixed;left:-9999px;top:0;z-index:95;  /* 共通ヘッダー(100)より下、ローカルナビ(90)より上 */
  padding:12px 18px;border-radius:0 0 10px 0;
  background:var(--navy);color:#fff;font-size:13px;font-weight:700;letter-spacing:.08em
}
.dva-skip:focus{left:0}

/* ---------- 4. ローカルナビ ---------- */
.dva-localNav{
  /* 共通ヘッダーの真下に固定する。z-indexは共通ヘッダー(100)とハンバーガー(101)より下 */
  position:fixed;top:var(--dva-shell-h);left:0;right:0;z-index:90;
  background:rgba(255,255,255,.96);
  border-bottom:1px solid rgba(29,32,136,.12);
  backdrop-filter:blur(12px);
  box-shadow:0 2px 16px rgba(29,32,136,.05)
}
.dva-localNav__inner{width:min(1200px,calc(100% - 32px));min-height:80px;margin:auto;display:flex;align-items:center;gap:18px}
.dva-brand{display:flex;align-items:center;min-width:0;flex:0 0 auto;padding:8px 0}
.dva-brand img{display:block;height:38px;width:auto;max-width:260px;object-fit:contain}
.dva-localNav__links{display:flex;gap:18px;align-items:center;justify-content:center;flex:1;margin:0;padding:0;list-style:none}
.dva-localNav__links a{display:flex;align-items:center;min-height:44px;font-size:12px;font-weight:700;white-space:nowrap;color:var(--sub);letter-spacing:.08em}
.dva-localNav__links a:hover,.dva-localNav__links a.is-active{color:var(--navy)}
.dva-localNav__links a.is-active{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:2px}
.dva-localNav__cta{flex:0 0 auto}
.dva-localNav__cta .dva-btn{min-height:46px;padding:10px 18px;font-size:12px}

/* ハンバーガー：JS有効時かつ1180px以下でだけ表示する */
.dva-navToggle{
  display:none;align-items:center;justify-content:center;
  width:44px;height:44px;margin-left:auto;padding:0;
  border:1px solid rgba(29,32,136,.18);border-radius:12px;background:#fff;cursor:pointer
}
.dva-navToggle__bars{display:grid;gap:4px}
.dva-navToggle__bars i{display:block;width:18px;height:2px;background:var(--navy);transition:.2s}
.dva-localNav[data-nav-open="true"] .dva-navToggle{border-color:var(--navy);background:var(--navy)}
.dva-localNav[data-nav-open="true"] .dva-navToggle__bars i{background:#fff}
.dva-localNav[data-nav-open="true"] .dva-navToggle__bars i:nth-child(1){transform:translateY(6px) rotate(45deg)}
.dva-localNav[data-nav-open="true"] .dva-navToggle__bars i:nth-child(2){opacity:0}
.dva-localNav[data-nav-open="true"] .dva-navToggle__bars i:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

/* ---------- 5. FV ---------- */
.dva-hero{position:relative;min-height:720px;display:flex;align-items:center;background:linear-gradient(140deg,#fff 12%,#fff 56%,#f4f6fd 82%,#eef7ff 100%)}
.dva-hero::before,.dva-hero::after{content:"";position:absolute;border-radius:50%;pointer-events:none}
.dva-hero::before{width:380px;height:380px;right:-120px;top:-110px;background:rgba(0,160,233,.07)}
.dva-hero::after{width:260px;height:260px;left:-80px;bottom:18px;background:rgba(228,0,127,.04)}
.dva-hero__inner{
  position:relative;z-index:1;container-type:inline-size;
  width:min(1200px,calc(100% - 48px));margin:auto;
  display:grid;grid-template-columns:minmax(0,1fr) minmax(520px,.98fr);
  gap:34px;align-items:center;padding:60px 0 72px
}
.dva-hero h1{margin:0 0 24px;font-size:36px;line-height:1.5;letter-spacing:.01em}
.dva-hero h1 em{color:var(--pink);font-style:normal}
.dva-heroLine{display:block;white-space:nowrap}
.dva-productLogo{margin:0 0 22px}
.dva-productLogo img{height:auto;width:min(340px,100%);max-width:100%;object-fit:contain}
.dva-hero__desc{max-width:680px;margin:0;color:var(--sub);font-size:15px;line-height:2}
.dva-hero__btns{margin-top:28px}
.dva-hero__visual{position:relative;display:grid;place-items:center;min-height:600px}
.dva-heroFigure{position:relative;width:min(620px,100%);aspect-ratio:1/1;border-radius:50%;overflow:hidden;background:#fff;box-shadow:0 26px 40px rgba(29,32,136,.09)}
.dva-heroFigure img{display:block;width:100%;height:100%;object-fit:cover;object-position:62% 50%}

/* ---------- 6. CHALLENGES ---------- */
.dva-challengeIntro{max-width:920px;margin:0 auto 38px;text-align:center;font-size:22px;font-weight:700;line-height:1.8}
.dva-challengeGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.dva-challenge{padding:24px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 10px 24px rgba(29,32,136,.04)}
.dva-challenge__top{display:flex;align-items:center;gap:14px;margin-bottom:12px}
.dva-challenge__icon{width:56px;height:56px;display:grid;place-items:center;border-radius:18px;background:linear-gradient(145deg,#eefaff,#fff3fa);flex:0 0 auto}
.dva-challenge__icon img{width:42px;height:42px}
.dva-challenge__num{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--lav2);font:700 12px/1 var(--font-en);color:var(--pink-deep);margin-left:auto}
.dva-challenge h3{margin:0;font-size:17px;line-height:1.55;letter-spacing:.08em}
.dva-challenge p{margin:0;color:var(--sub);font-size:12px;line-height:1.85;letter-spacing:.06em}

/* ---------- 7. CONCEPT / DEMO ---------- */
.dva-demo{margin-top:54px;padding:36px 32px;border-radius:34px;background:linear-gradient(180deg,#f6f7fc,#f9faff);border:1px solid #eaebf5;box-shadow:0 18px 34px rgba(29,32,136,.05)}
.dva-demo__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,.9fr);gap:28px;align-items:end;margin-bottom:26px}
.dva-demo__ttl{margin:0;font-size:26px;line-height:1.5}
.dva-demo__ttl span{display:block;color:var(--pink-deep);font:700 12px/1 var(--font-en);letter-spacing:.14em;margin:0 0 9px}
.dva-demo__lead{margin:0;color:var(--sub);font-size:14px;line-height:1.9;letter-spacing:.06em}
.dva-demo__grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(380px,.62fr);gap:28px;align-items:stretch}
.dva-demo__visual{padding:18px;border-radius:28px;background:#fff;border:1px solid var(--line);box-shadow:0 16px 30px rgba(29,32,136,.06)}
.dva-demo__frame{overflow:hidden;border-radius:24px;background:#0b0b15;box-shadow:0 12px 26px rgba(29,32,136,.12)}
.dva-demo__frame--video{position:relative;aspect-ratio:16/9;background:#0b0b15}
.dva-demo__frame--video iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.dva-demo__steps{display:grid;gap:16px}
.dva-demoStep{padding:22px 22px 20px;border-radius:22px;background:#fff;border:1px solid var(--line)}
.dva-demoStep b{display:block;color:var(--pink-deep);font:700 13px var(--font-en);letter-spacing:.12em}
.dva-demoStep strong{display:block;margin-top:10px;font-size:17px;line-height:1.6;letter-spacing:.08em}
.dva-demoStep p{margin:8px 0 0;color:var(--sub);font-size:12px;line-height:1.8;letter-spacing:.06em}

/* ---------- 8. AI OPERATION ---------- */
.dva-opGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.dva-op{position:relative;padding:30px 26px 28px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 12px 24px rgba(29,32,136,.05)}
.dva-op:not(:last-child)::after{content:"";position:absolute;right:-18px;top:50%;width:34px;height:2px;background:var(--lav);z-index:2}
.dva-op__stage{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;background:linear-gradient(145deg,#eefaff,#fff3fa);border:1px solid rgba(29,32,136,.08);font-size:13px;font-weight:800;line-height:1;margin-bottom:18px;box-shadow:0 8px 20px rgba(29,32,136,.05)}
.dva-op__stage b{color:var(--navy)}
.dva-op__stage i{font-style:normal;color:var(--mute)}
.dva-op__stage em{font-style:normal;color:var(--pink-deep)}
.dva-op h3{margin:0 0 10px;font-size:21px;line-height:1.55;letter-spacing:.08em}
.dva-op p{margin:0;color:var(--sub);font-size:12px;line-height:1.85;letter-spacing:.06em}
.dva-op ul{margin:17px 0 0;padding:0;list-style:none}
.dva-op li{position:relative;padding:8px 0 8px 17px;border-top:1px solid #ececf5;font-size:11px;line-height:1.65;letter-spacing:.04em}
.dva-op li::before{content:"";position:absolute;left:0;top:15px;width:6px;height:6px;border-radius:50%;background:var(--pink)}

/* ---------- 9. CONNECTED ARCHITECTURE / VOICE DATA ---------- */
.dva-archNotes,.dva-loopNotes{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:22px}
.dva-note{padding:18px;border-radius:18px;background:#fff;border:1px solid var(--line)}
.dva-note b{display:block;font-size:14px;line-height:1.5;letter-spacing:.08em}
.dva-note p{margin:6px 0 0;color:var(--sub);font-size:12px;line-height:1.75;letter-spacing:.06em}
.dva-dataBlock{margin-top:52px;padding:50px 88px;border-radius:18px;background:var(--soft)}
.dva-dataBlock .dva-fig{background:#fff}

/* ---------- 10. HOW WE DELIVER ---------- */
.dva-phaseGrid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.dva-phase{padding:24px 17px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 10px 24px rgba(29,32,136,.04)}
.dva-phase span{display:inline-flex;padding:5px 10px;border-radius:999px;background:#fff3fa;color:var(--pink-deep);font:700 11px/1 var(--font-en);letter-spacing:.1em}
.dva-phase h3{margin:12px 0 8px;font-size:16px;line-height:1.55;letter-spacing:.08em}
.dva-phase p{margin:0;color:var(--sub);font-size:11px;line-height:1.75;letter-spacing:.04em}

/* ---------- 11. DOWNLOAD ---------- */
.dva-contact{padding:84px 0;background:linear-gradient(135deg,var(--navy),#3036a9);color:#fff}
.dva-contact__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(360px,.85fr);gap:28px;align-items:start}
.dva-contact .dva-kicker{color:#fff;margin-bottom:14px}
.dva-contact h2{margin:0;font-size:33px;line-height:1.5}
.dva-contact p{max-width:620px;margin:18px 0 0;color:#e6e8ff;font-size:14px;line-height:1.9}
.dva-contact__list{margin:22px 0 0;padding:0;list-style:none;display:grid;gap:10px}
.dva-contact__list li{position:relative;padding-left:18px;color:#fff;font-size:13px}
.dva-contact__list li::before{content:"";position:absolute;left:0;top:10px;width:8px;height:8px;border-radius:50%;background:#fff}
/* フォームiframe：全項目と送信ボタンが出る高さを確保する。
   実フォームの実高を測ってから最終値へ調整する前提の安全側の値。 */
.dva-formFrame{display:block;width:100%;min-height:820px;border:0;border-radius:24px;background:#fff}

/* ---------- 12. フッター ---------- */
/* この版ではサイト共通フッター（.l-footer）を使うため、ページ側フッターのCSSは持たない。 */

/* ---------- 13. 図版（FIG） ---------- */
/* 図の中の文字について：
   サイト共通CSSのリセット *{font-size:inherit} はSVGの font-size 属性より強いため、
   属性だけでは文字サイズが効かない。そのため 03_page-main.txt 側で
   各文字に style="font-size:○○px" を併記してある（インラインstyleはリセットより強い）。
   ここではSVG全体の継承基準を独立LP版と同じ値に固定しておく。
   字間を属性で指定している文字（英字ラベルなど）は、そちらが優先される。 */
.dva-conceptFigure svg,.dva-fig svg{font-size:16px;letter-spacing:.14em}
.dva-conceptFigure{margin:0}
.dva-fig{margin:0;padding:24px;border-radius:28px;background:#fff;border:1px solid var(--line);box-shadow:0 18px 34px rgba(29,32,136,.06)}
.dva-conceptFigure svg,.dva-fig svg{display:block;width:100%;height:auto}
/* PC図とSP図の出し分け。打ち消し側と詳細度を揃える */
.dva-fig .dva-fig__pc,.dva-conceptFigure .dva-fig__pc{display:block}
.dva-fig .dva-fig__sp,.dva-conceptFigure .dva-fig__sp{display:none}
/* CONNECTED ARCHITECTUREのPC図は横長なので、コンテナより広い枠にして拡大する。
   SVG側をtransform:scaleで拡大すると枠（白いカード）の外へ図がはみ出すため、
   枠ごと広げて中身が必ず枠内に収まるようにしている。
   margin-left:50% + translateX(-50%) で、親の幅に関係なく画面中央へ揃える。 */
@media(min-width:1281px){
  .dva-fig[data-asset-id="fig-architecture"]{
    width:min(1320px,calc(100vw - 64px));
    margin-left:50%;
    transform:translateX(-50%);
    padding:26px 22px;
  }
}

/* ============================================================
   14. 1180px以下：2カラム解除・ローカルナビ折りたたみ
   ============================================================ */
@media(max-width:1180px){

  /* --- ローカルナビ --- */
  /* JS未実行時：リンクを2段目へ常時表示して必ず回遊できる状態にする */
  .dva-localNav__inner{position:relative;flex-wrap:wrap;gap:12px}
  .dva-localNav__links{flex:1 0 100%;order:3;justify-content:flex-start;flex-wrap:wrap;gap:0 20px;padding-bottom:6px}
  /* JS有効時：ハンバーガー＋開閉パネル */
  .dva-js .dva-navToggle{display:flex}
  .dva-js .dva-localNav__inner{flex-wrap:nowrap}
  .dva-js .dva-localNav__links{
    position:absolute;top:100%;left:0;right:0;
    display:grid;grid-template-columns:repeat(2,1fr);gap:0 24px;flex:none;order:0;
    margin:0;padding:6px 20px 18px;
    background:rgba(255,255,255,.99);
    border-bottom:1px solid rgba(29,32,136,.12);
    box-shadow:0 14px 26px rgba(29,32,136,.09);
    visibility:hidden;opacity:0;transform:translateY(-8px);pointer-events:none;
    /* 開くときはvisibilityを即時、閉じるときはフェード後に隠す */
    transition:opacity .2s,transform .2s,visibility 0s .2s
  }
  .dva-js .dva-localNav[data-nav-open="true"] .dva-localNav__links{
    visibility:visible;opacity:1;transform:none;pointer-events:auto;
    transition:opacity .2s,transform .2s,visibility 0s 0s
  }
  .dva-js .dva-localNav__links a{min-height:52px;justify-content:flex-start;border-top:1px solid #ececf5;font-size:13px;color:var(--navy)}

  /* --- FV：1カラム化＋「コピー → ロゴ → Hero → 説明文 → CTA」 --- */
  .dva-hero{min-height:auto}
  .dva-hero__inner{grid-template-columns:1fr;gap:0;padding:48px 0 64px}
  .dva-hero__copy{display:contents}
  .dva-hero h1{order:1;font-size:32px;margin:0 0 20px}
  /* FVコピーは2行構成を保つため、SPでも折り返さない（文字サイズ側で収める） */
  .dva-productLogo{order:2;margin:0 0 26px}
  .dva-hero__visual{order:3;min-height:auto;margin:0 0 28px}
  .dva-heroFigure{width:min(520px,100%);margin-inline:auto}
  .dva-hero__desc{order:4;margin:0}
  .dva-hero__btns{order:5;margin-top:26px}

  /* --- グリッド --- */
  .dva-challengeGrid,.dva-archNotes,.dva-loopNotes{grid-template-columns:repeat(2,1fr)}
  .dva-opGrid{grid-template-columns:1fr}
  .dva-op:not(:last-child)::after{right:auto;left:42px;top:auto;bottom:-19px;width:2px;height:20px}
  .dva-demo__head{grid-template-columns:1fr;gap:12px;align-items:start}
  .dva-demo__grid{grid-template-columns:1fr}
  .dva-demo__steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dva-contact__grid{grid-template-columns:1fr}
  .dva-formFrame{min-height:900px}

  /* --- PHASEは段組みにせず横並びのまま横スクロールで順序を保つ --- */
  .dva-phaseGrid{display:flex;overflow-x:auto;padding-bottom:12px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
  .dva-phase{min-width:230px;scroll-snap-align:start}

  /* --- 図版・ブロック --- */
  .dva-fig .dva-fig__pc,.dva-conceptFigure .dva-fig__pc{display:none}
  .dva-fig .dva-fig__sp,.dva-conceptFigure .dva-fig__sp{display:block;max-width:430px;margin-inline:auto}
  .dva-dataBlock{padding:40px 32px}
  .dva-subHead h3{font-size:25px}
}

/* ============================================================
   15. 767px以下：SP
   ============================================================ */
@media(max-width:767px){
  .dva-page{--dva-nav-h:69px}
  .dva-container{width:min(100% - 32px,620px)}
  .dva-section{padding:68px 0}

  .dva-heading{margin-bottom:34px}
  .dva-heading h2{font-size:27px;line-height:1.5}
  .dva-heading__lead{font-size:12px}
  .dva-subHead{margin-bottom:24px}
  .dva-subHead h3{font-size:21px}
  .dva-subHead__lead{font-size:12px}

  .dva-br-pc{display:none}
  .dva-br-sp{display:inline}
  .dva-btns{align-items:stretch}
  .dva-btn{width:100%}

  /* ローカルナビ：狭幅でロゴ・ハンバーガー・CTAが必ず収まる寸法 */
  .dva-localNav__inner{width:calc(100% - 24px);min-height:68px;gap:10px}
  .dva-brand img{height:28px;max-width:150px}
  .dva-localNav__cta .dva-btn{min-height:44px;padding:8px 12px;font-size:11px;letter-spacing:.02em}
  .dva-js .dva-localNav__links{grid-template-columns:1fr;padding:4px 16px 14px}

  /* FV */
  .dva-hero__inner{width:calc(100% - 32px);padding:34px 0 52px}
  /* FVコピーを必ず2行で表示する。1行は15文字なので必要幅は最大でも約15.15em。
     コンテナ幅を15.6で割った値（約3%の安全余白）まで自動縮小させ、28pxを上限にする。
     1行目＝コンテナクエリ単位に未対応のブラウザ向けvwフォールバック。
     2行目＝実コンテナ幅（.dva-hero__inner）基準。テーマ側の左右余白があってもズレない。 */
  .dva-hero h1{font-size:min(28px,calc((100vw - 32px) / 15.6));line-height:1.55;margin:0 0 18px}
  .dva-hero h1{font-size:min(28px,6.410cqi)}
  .dva-productLogo{margin:0 0 24px}
  .dva-productLogo img{width:min(290px,100%)}
  .dva-hero__visual{margin:0 0 26px}
  .dva-heroFigure{width:min(420px,100%)}
  .dva-heroFigure img{object-position:68% 50%}
  .dva-hero__desc{font-size:13px;line-height:1.9}
  .dva-hero__btns{margin-top:24px}

  .dva-challengeIntro{font-size:18px}
  .dva-challengeGrid,.dva-archNotes,.dva-loopNotes{grid-template-columns:1fr}

  .dva-demo{margin-top:40px;padding:26px 18px;border-radius:24px}
  .dva-demo__head{margin-bottom:20px}
  .dva-demo__ttl{font-size:22px;line-height:1.5}
  .dva-demo__ttl span{font-size:12px;margin-bottom:8px}
  .dva-demo__visual{padding:10px;border-radius:20px}
  .dva-demo__frame{border-radius:16px}
  .dva-demo__steps{grid-template-columns:1fr;gap:12px}
  .dva-demoStep{padding:18px}

  /* PHASEは画面端まで使って横スクロールできることを示す */
  .dva-phaseGrid{margin-inline:-16px;padding-inline:16px}

  .dva-fig{padding:0;border:0;background:transparent;box-shadow:none}
  .dva-fig .dva-fig__sp,.dva-conceptFigure .dva-fig__sp{max-width:none}
  .dva-dataBlock{margin-top:36px;padding:26px 18px}
  .dva-dataBlock .dva-fig{background:transparent}


  .dva-contact{padding:68px 0}
  .dva-contact h2{font-size:26px}
  .dva-formFrame{min-height:1080px;border-radius:18px}
}

/* ---------- 16. 430px以下 ---------- */
@media(max-width:430px){
  /* FV h1は上のfit計算で430px以下も自動的に小さくなるため固定値は置かない */
  .dva-heading h2{font-size:24px}
}

/* ---------- 17. 359px以下：ヘッダーCTAを外す（FVと最終CTAで受ける） ---------- */
@media(max-width:359px){
  .dva-localNav__cta{display:none}
  .dva-brand img{height:26px;max-width:140px}
}

/* ---------- 18. 動きを減らす設定を尊重する ---------- */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .dva-page *,.dva-page *::before,.dva-page *::after{
    transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important
  }
}

/* ============================================================
   QA用：横はみ出しを目視で検出したいときだけ、下の2行の
   コメントを外して確認する。確認後は必ず戻す。
   .dva-page{overflow-x:visible!important}
   .dva-page>*{outline:1px dashed rgba(228,0,127,.45)}
   ============================================================ */


/* ============================================================
   DECA Voice Agent / モーション図（CONCEPT・CONNECTED ARCHITECTURE・VOICE DATA）
   既存の head挿入要素 <style id="deca-voice-agent-style"> の後ろに追記する。
   名前空間：dva-m*（共通）／dva-cx*（CONCEPT）／dva-ax*（ARCHITECTURE）／dva-vd*（VOICE DATA）
   ・文字サイズはすべて px。サイト共通CSSの *{font-size:inherit} と html{font-size:vw} の影響を受けない
   ・SVGには文字を置かない（線だけ）。文字はすべてHTML
   ・線の位置はJSがノードの実寸から計算する。JSが動かない場合は線なしの静止図として読める
   ============================================================ */

/* ---------- 共通：ヒント・タブ・停止ボタン・キャプション・線・パケット ---------- */
.dva-mHint{display:flex;justify-content:center;align-items:center;gap:8px;margin:-14px 0 18px;color:var(--pink-deep);font-size:13px;font-weight:700;line-height:1.6;letter-spacing:.06em;text-align:center}
.dva-mHint svg{flex:0 0 auto;display:block}

.dva-mCard{position:relative;border:1px solid var(--line);border-radius:28px;background:#fff;box-shadow:0 18px 34px rgba(29,32,136,.06);overflow:hidden}

.dva-mTabs{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;background:#eef0f8;border-bottom:1px solid var(--line)}
.dva-page .dva-mTab{position:relative;appearance:none;-webkit-appearance:none;margin:0;border:0;border-right:1px solid var(--line);background:transparent;padding:16px 14px 14px;text-align:center;cursor:pointer;color:var(--navy);font:inherit;font-size:14px;line-height:1.4;letter-spacing:.04em;transition:background .25s,color .25s}
.dva-mTab:last-child{border-right:0}
.dva-mTab:hover:not([aria-selected="true"]){background:#e3e6f3}
.dva-mTab:focus-visible{outline:3px solid var(--sky);outline-offset:-3px}
.dva-mTab__no{display:block;color:var(--pink-deep);font:700 11px/1 Arial,Helvetica,sans-serif;letter-spacing:.14em}
.dva-mTab__label{display:block;margin-top:7px;font-size:16px;font-weight:700;line-height:1.4}
.dva-mTab__sub{display:block;margin-top:3px;color:var(--sub);font-size:12px;font-weight:700;line-height:1.5}
.dva-mTab[aria-selected="true"]{background:var(--navy);color:#fff}
.dva-mTab[aria-selected="true"] .dva-mTab__no{color:#ff8fcb}
.dva-mTab[aria-selected="true"] .dva-mTab__sub{color:rgba(255,255,255,.76)}
.dva-mTab__bar{position:absolute;left:0;top:0;height:3px;width:0;background:var(--pink)}

.dva-mFoot{display:flex;justify-content:flex-end;padding:0 28px 22px}
.dva-page .dva-mToggle{appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;gap:6px;min-height:32px;margin:0;padding:5px 14px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--sub);font:inherit;font-size:12px;font-weight:700;line-height:1.5;letter-spacing:.04em;cursor:pointer}
.dva-mToggle:hover{border-color:var(--navy);color:var(--navy)}
.dva-mToggle[hidden]{display:none}

.dva-mCap{display:flex;align-items:center;gap:14px;min-height:62px;margin:0 28px 16px;padding:12px 18px;border-radius:14px;background:var(--lav2);color:var(--navy);font-size:15px;font-weight:700;line-height:1.7;letter-spacing:.05em}
.dva-mCap__no{flex:0 0 auto;display:inline-grid;place-items:center;min-width:64px;height:28px;padding:0 10px;border-radius:999px;background:var(--navy);color:#fff;font:700 11px/1 Arial,Helvetica,sans-serif;letter-spacing:.12em}
.dva-mCap__txt{min-width:0}
.dva-mCap__txt em{font-style:normal;color:var(--pink-deep)}

/* 線（JSが描画）。基準線は淡い破線、通ったあとは色付きの実線で残す */
.dva-mSvg{position:absolute;left:0;top:0;z-index:1;overflow:visible;pointer-events:none}
.dva-mEdge{fill:none;stroke:#c9cbe6;stroke-width:2;stroke-dasharray:5 5;stroke-linecap:round;stroke-linejoin:round}
.dva-mEdge.is-faint{opacity:.55}
.dva-mLit{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;opacity:0}
.dva-mLit.is-on{opacity:1}
.dva-mLit[data-tone="navy"]{stroke:var(--navy)}
.dva-mLit[data-tone="sky"]{stroke:var(--sky)}
.dva-mLit[data-tone="pink"]{stroke:var(--pink)}
.dva-mElab{position:absolute;left:0;top:0;z-index:2;transform:translate(-50%,-50%);padding:1px 8px;border-radius:999px;background:#fff;color:#6b6f8a;font-size:12px;font-weight:700;line-height:1.6;letter-spacing:.04em;white-space:nowrap;pointer-events:none}
.dva-mElab.is-pink{color:var(--pink-deep)}

/* 流れるデータ（パケット）：点、またはラベル付きのカプセル */
.dva-mPkt{position:absolute;left:0;top:0;z-index:5;display:inline-flex;align-items:center;gap:5px;padding:3px 10px 3px 7px;border-radius:999px;background:var(--navy);color:#fff;font-size:12px;font-weight:700;line-height:1.5;letter-spacing:.04em;white-space:nowrap;box-shadow:0 6px 14px -4px rgba(29,32,136,.45);pointer-events:none;will-change:transform}
.dva-mPkt::before{content:"";flex:0 0 auto;width:7px;height:7px;border-radius:50%;background:#fff}
.dva-mPkt--dot{width:12px;height:12px;padding:0;gap:0}
.dva-mPkt--dot::before{display:none}
.dva-mPkt[data-tone="sky"]{background:var(--sky);box-shadow:0 0 0 5px rgba(0,160,233,.16),0 6px 14px -4px rgba(0,160,233,.5)}
.dva-mPkt[data-tone="pink"]{background:var(--pink);box-shadow:0 0 0 5px rgba(228,0,127,.14),0 6px 14px -4px rgba(228,0,127,.5)}
.dva-mPkt[data-tone="navy"]{box-shadow:0 0 0 5px rgba(29,32,136,.12),0 6px 14px -4px rgba(29,32,136,.45)}

/* 結果チップ（ノードの中に順に出てくる） */
.dva-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 9px;border-radius:999px;background:#eef0f8;color:var(--navy);font-size:12px;font-weight:700;line-height:1.6;letter-spacing:.03em;animation:dva-chip-in .35s cubic-bezier(.2,.8,.3,1.2) both}
.dva-chip[data-tone="sky"]{background:#e6f5fc;color:#006a9c}
.dva-chip[data-tone="pink"]{background:#fff0f7;color:var(--pink-deep)}
.dva-chip[data-tone="mute"]{background:#f1f1f6;color:#8a8ea8}
@keyframes dva-chip-in{0%{opacity:0;transform:translateY(4px) scale(.92)}100%{opacity:1;transform:none}}

/* ノードの状態：通常／処理中（is-active）／処理済み（is-done）／今回は通らない（is-dim） */
.dva-mNode{position:relative;z-index:2;transition:border-color .3s,box-shadow .3s,opacity .35s,background-color .3s}
.dva-mNode.is-active{border-color:var(--navy);box-shadow:0 0 0 4px rgba(29,32,136,.1),0 14px 26px -14px rgba(29,32,136,.45)}
.dva-mNode[data-tone="sky"].is-active{border-color:var(--sky);box-shadow:0 0 0 4px rgba(0,160,233,.14),0 14px 26px -14px rgba(0,160,233,.5)}
.dva-mNode[data-tone="pink"].is-active{border-color:var(--pink);box-shadow:0 0 0 4px rgba(228,0,127,.12),0 14px 26px -14px rgba(228,0,127,.5)}
.dva-mNode.is-done{border-color:#b7b9df}
.dva-mNode.is-dim{opacity:.42}

.dva-vh{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---------- 会話の吹き出し・通話の波形（CONCEPT／VOICE DATA共通） ---------- */
.dva-bub{max-width:88%;animation:dva-chip-in .3s ease-out both}
.dva-bub__who{display:block;margin:0 4px 3px;color:var(--mute);font-size:11px;font-weight:700;line-height:1.4;letter-spacing:.06em}
.dva-bub__txt{display:block;min-height:1.7em;padding:8px 12px;border-radius:14px;font-size:13px;font-weight:500;line-height:1.7;letter-spacing:.03em}
.dva-bub--cust{align-self:flex-start}
.dva-bub--cust .dva-bub__txt{border-top-left-radius:4px;background:#fff;border:1px solid var(--line);color:var(--navy)}
.dva-bub--ai,.dva-bub--op{align-self:flex-end}
.dva-bub--ai .dva-bub__who,.dva-bub--op .dva-bub__who{text-align:right}
.dva-bub--ai .dva-bub__txt{border-top-right-radius:4px;background:var(--navy);color:#fff}
.dva-bub--op .dva-bub__txt{border-top-right-radius:4px;background:#fff0f7;border:1px solid #f6b3d6;color:var(--navy)}
.dva-bub--op .dva-bub__who{color:var(--pink-deep)}
.dva-sys{align-self:center;padding:2px 12px;border-radius:999px;background:#e7e8f3;color:var(--sub);font-size:11.5px;font-weight:700;line-height:1.6;letter-spacing:.04em;animation:dva-chip-in .3s ease-out both}
.dva-sys[data-tone="pink"]{background:#fff0f7;color:var(--pink-deep)}
.dva-tool{align-self:stretch;display:flex;align-items:center;gap:7px;margin:0 2px;padding:5px 10px;border-radius:8px;border-left:3px solid var(--navy);background:#eef0f8;color:var(--navy);font-size:12px;font-weight:700;line-height:1.5;letter-spacing:.03em;animation:dva-tool-in .35s ease-out both}
.dva-tool::before{content:"";flex:0 0 auto;width:8px;height:8px;border-radius:2px;background:currentColor;transform:rotate(45deg)}
.dva-tool b{font-weight:700;color:var(--mute)}
.dva-tool[data-tone="sky"]{border-left-color:var(--sky);background:#e9f6fc;color:#006a9c}
.dva-tool[data-tone="pink"]{border-left-color:var(--pink);background:#fff0f7;color:var(--pink-deep)}
.dva-tool[data-tone="mute"]{border-left-color:#a9abc6;background:#f1f1f6;color:var(--sub)}
@keyframes dva-tool-in{0%{opacity:0;transform:translateX(-8px)}100%{opacity:1;transform:none}}
.dva-wave{display:flex;align-items:center;gap:3px;height:24px;margin-left:auto}
.dva-wave i{display:block;width:3px;height:5px;border-radius:2px;background:rgba(255,255,255,.45)}
.is-speaking .dva-wave i{background:#fff;animation:dva-wave .7s ease-in-out infinite alternate}
.is-speaking[data-speaker="cust"] .dva-wave i{background:#7fd3f7}
.is-speaking[data-speaker="op"] .dva-wave i{background:#ff8fcb}
.dva-wave i:nth-child(2){animation-delay:-.15s}.dva-wave i:nth-child(3){animation-delay:-.45s}.dva-wave i:nth-child(4){animation-delay:-.3s}.dva-wave i:nth-child(5){animation-delay:-.6s}
@keyframes dva-wave{0%{height:4px}100%{height:20px}}
@keyframes dva-blink{50%{opacity:.25}}

/* ============================================================
   CONCEPT：同じ電話を、2つのAIが同時に受ける
   ============================================================ */
.dva-cx__body{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 48px minmax(0,1fr);gap:0 12px;padding:28px 28px 20px;align-items:stretch}
.dva-vs{display:flex;flex-direction:column;gap:14px;min-width:0;padding:18px 18px 16px;border-radius:22px;border:1px solid var(--line)}
.dva-vs--talk{background:#f4f4f7}
.dva-vs--solve{background:#f5f6fd;border-color:#c5c7e6;box-shadow:0 18px 34px -22px rgba(29,32,136,.45)}
.dva-vs__head{display:grid;gap:2px}
.dva-vs__tag{justify-self:start;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:700;line-height:1.6;letter-spacing:.04em}
.dva-vs--talk .dva-vs__tag{background:#e3e4ee;color:#5f6384}
.dva-vs--solve .dva-vs__tag{background:#fff0f7;color:var(--pink-deep)}
.dva-vs__name{margin-top:6px;font-size:19px;font-weight:700;line-height:1.45;letter-spacing:.06em}
.dva-vs--talk .dva-vs__name{color:#5f6384}
.dva-vs__sub{color:var(--sub);font-size:12px;font-weight:500;line-height:1.6;letter-spacing:.03em}

.dva-vs__call{display:flex;flex-direction:column;border-radius:18px;overflow:hidden;border:1px solid var(--line);background:#fff}
.dva-vs__bar{display:flex;align-items:center;gap:10px;padding:10px 14px;color:#fff}
.dva-vs--talk .dva-vs__bar{background:#8a8ea8}
.dva-vs--solve .dva-vs__bar{background:linear-gradient(135deg,var(--navy),#3036a9)}
.dva-vs__ava{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.16)}
.dva-vs__ava svg{width:16px;height:16px}
.dva-vs__state{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;line-height:1.5;letter-spacing:.04em}
.dva-vs__state i{width:7px;height:7px;border-radius:50%;background:#34d27b}
.dva-vs__call[data-state="ring"] .dva-vs__state i{background:#ffd34d;animation:dva-blink 1s steps(2) infinite}
.dva-vs__call[data-state="transfer"] .dva-vs__state i{background:#ff8fcb;animation:dva-blink .8s steps(2) infinite}
.dva-vs__call[data-state="end"] .dva-vs__state i{background:rgba(255,255,255,.45)}
.dva-vs__log{display:flex;flex-direction:column;justify-content:flex-end;gap:8px;height:338px;padding:12px;overflow:hidden;-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 30px);mask-image:linear-gradient(to bottom,transparent 0,#000 30px)}
.dva-vs--talk .dva-bub--ai .dva-bub__txt{background:#8a8ea8}
.dva-vs--talk .dva-bub--op .dva-bub__txt{background:#fff;border-color:#c9cbd8}
.dva-vs--talk .dva-bub--op .dva-bub__who{color:var(--mute)}

.dva-vs__kitTtl{margin:0 0 6px;color:var(--sub);font-size:12px;font-weight:700;line-height:1.5;letter-spacing:.04em}
.dva-kits{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin:0;padding:0;list-style:none}
.dva-kit{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:0;padding:8px 4px 7px;border:1.5px solid var(--line);border-radius:10px;background:#fff;text-align:center;transition:border-color .3s,background-color .3s,opacity .3s}
.dva-kit__dot{width:9px;height:9px;border-radius:50%;background:#d3d4e4;transition:background .3s,box-shadow .3s}
.dva-kit__lb{font-size:12px;font-weight:700;line-height:1.35;letter-spacing:0;color:var(--navy)}
.dva-kit__st{min-height:1.5em;font-size:11px;font-weight:700;line-height:1.5;letter-spacing:0;color:var(--mute)}
.dva-kit[data-state="on"]{border-color:var(--navy);background:#eef0f8;animation:dva-kit-on .45s cubic-bezier(.2,.8,.3,1.3)}
.dva-kit[data-state="on"] .dva-kit__dot{background:var(--pink);box-shadow:0 0 0 4px rgba(228,0,127,.15)}
.dva-kit[data-state="on"] .dva-kit__st{color:var(--pink-deep)}
.dva-kit[data-state="off"]{opacity:.55;border-style:dashed;background:transparent}
.dva-kit[data-state="off"] .dva-kit__lb{color:var(--mute)}
.dva-kit[data-state="part"]{border-color:#e7b86a;background:#fff8ec}
.dva-kit[data-state="part"] .dva-kit__dot{background:#e59a1c}
.dva-kit[data-state="part"] .dva-kit__st{color:#9a5b00}
.dva-kit[data-state="skip"] .dva-kit__st{color:var(--mute)}
@keyframes dva-kit-on{0%{transform:scale(.92)}60%{transform:scale(1.06)}100%{transform:none}}

.dva-vs__res{display:flex;align-items:center;gap:10px;min-height:52px;margin:0;padding:10px 14px;border-radius:14px;font-size:14px;font-weight:700;line-height:1.55;letter-spacing:.04em;opacity:0;transform:translateY(6px);transition:opacity .4s,transform .4s}
.dva-vs__res.is-on{opacity:1;transform:none}
.dva-vs__resIc{flex:0 0 auto;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;font:700 14px/1 Arial,Helvetica,sans-serif}
.dva-vs__res[data-tone="ng"]{background:#e9e9f0;color:#4d5170}
.dva-vs__res[data-tone="ng"] .dva-vs__resIc{background:#9a9db5;color:#fff}
.dva-vs__res[data-tone="ok"]{background:var(--navy);color:#fff;box-shadow:0 14px 26px -14px rgba(29,32,136,.7)}
.dva-vs__res[data-tone="ok"] .dva-vs__resIc{background:var(--pink);color:#fff}

.dva-vs__mid{position:relative;display:flex;align-items:center;justify-content:center}
.dva-vs__mid::before{content:"";position:absolute;top:10px;bottom:10px;left:50%;border-left:2px dashed var(--lav)}
.dva-vs__mid span{position:relative;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#fff;border:1.5px solid var(--lav);color:var(--navy);font:700 13px/1 Arial,Helvetica,sans-serif;letter-spacing:.06em}

/* ============================================================
   ARCHITECTURE：次々にかかる電話を、AIが処理して振り分ける
   ============================================================ */
.dva-ax__body{padding:28px 28px 20px}
.dva-axStage{position:relative;display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.3fr) minmax(0,1.05fr);grid-template-areas:"q kn ." "q ag la" "q ag lb" "q sys ." "af af af";column-gap:62px;row-gap:14px;padding-right:38px}
.dva-axEn{display:block;color:var(--pink-deep);font:700 11px/1.3 Arial,Helvetica,sans-serif;letter-spacing:.12em}
.dva-axTt{display:block;font-size:14px;font-weight:700;line-height:1.5;letter-spacing:.04em}
.dva-axSb{display:block;color:var(--sub);font-size:12px;font-weight:500;line-height:1.55;letter-spacing:.02em}
.dva-axIc{flex:0 0 auto;display:block;width:32px;height:32px}
.dva-axOut{display:flex;flex-wrap:wrap;gap:4px;align-content:flex-start}

.dva-axQ{grid-area:q;align-self:center;padding:14px;border:1.5px solid var(--line);border-radius:18px;background:#f8f8fc}
.dva-axQ__head{display:grid;grid-template-columns:auto 1fr;align-items:baseline;column-gap:8px;margin:0 0 10px}
.dva-axQ__head .dva-axEn{grid-column:1/-1}
.dva-axQ__head b{font-size:16px;font-weight:700;line-height:1.5;letter-spacing:.06em}
.dva-axQ__sys{color:var(--sub);font-size:11.5px;font-weight:700;line-height:1.5;letter-spacing:.02em}
.dva-axQ__list{display:grid;gap:8px;min-height:268px;margin:0;padding:0;list-style:none;align-content:start}
.dva-axCall{display:grid;grid-template-columns:26px minmax(0,1fr);grid-template-areas:"ic q" "ic st";column-gap:8px;align-items:center;padding:8px 10px;border:1px solid var(--line);border-radius:12px;background:#fff;animation:dva-chip-in .35s ease-out both;transition:border-color .3s,background-color .3s,opacity .3s,transform .3s}
.dva-axCall__ic{grid-area:ic;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#c7c7e4}
.dva-axCall__ic svg{width:13px;height:13px}
.dva-axCall__q{grid-area:q;font-size:12.5px;font-weight:700;line-height:1.5;letter-spacing:.02em;color:var(--navy)}
.dva-axCall__st{grid-area:st;color:var(--mute);font-size:11px;font-weight:700;line-height:1.4;letter-spacing:.04em}
.dva-axCall.is-now{border-color:var(--sky);background:#e9f6fc;box-shadow:0 0 0 3px rgba(0,160,233,.14)}
.dva-axCall.is-now .dva-axCall__ic{background:var(--sky);animation:dva-blink .9s steps(2) infinite}
.dva-axCall.is-now .dva-axCall__st{color:#006a9c}
.dva-axCall.is-gone{opacity:0;transform:translateX(24px)}

.dva-axKn{grid-area:kn;display:flex;align-items:center;gap:12px;margin-bottom:30px;padding:12px 14px;border:1.5px solid var(--line);border-radius:16px;background:#fff}
.dva-axKn__txt{min-width:0;flex:1}
.dva-axKn .dva-axOut{flex:0 1 auto;justify-content:flex-end;max-width:48%}

.dva-axAg{grid-area:ag;display:flex;flex-direction:column;gap:10px;padding:16px;border:1.5px solid var(--navy);border-radius:18px;background:var(--navy);color:#fff;box-shadow:0 18px 30px -18px rgba(29,32,136,.8)}
.dva-axAg.is-active{box-shadow:0 0 0 5px rgba(29,32,136,.16),0 18px 30px -16px rgba(29,32,136,.8)}
.dva-axAg__head{display:grid;grid-template-columns:1fr auto;align-items:end;column-gap:8px}
.dva-axAg__head .dva-axEn{grid-column:1/-1;color:#ff8fcb}
.dva-axAg__head b{font-size:18px;font-weight:700;line-height:1.45;letter-spacing:.08em}
.dva-axAg__now{padding:2px 10px;border-radius:999px;background:rgba(255,255,255,.14);font-size:11.5px;font-weight:700;line-height:1.6;letter-spacing:.04em;white-space:nowrap}
.dva-axAg__now[data-tone="pink"]{background:var(--pink)}
.dva-axAg__q{margin:0;padding:9px 12px;border-radius:12px;background:#fff;color:var(--navy);font-size:13px;font-weight:700;line-height:1.6;letter-spacing:.03em}
.dva-axAg__chk{display:grid;gap:6px;margin:0;padding:0;list-style:none}
.dva-axAg__chk li{display:grid;grid-template-columns:18px 104px minmax(0,1fr);align-items:center;column-gap:6px;padding:5px 8px;border-radius:8px;background:rgba(255,255,255,.06);transition:background .3s,opacity .3s}
.dva-axAg__chk i{display:grid;place-items:center;width:16px;height:16px;border-radius:50%;border:1.5px solid rgba(255,255,255,.4);font:700 10px/1 Arial,Helvetica,sans-serif;font-style:normal}
.dva-axAg__k{color:#c7c7e4;font-size:12px;font-weight:700;line-height:1.5;letter-spacing:0}
.dva-axAg__v{min-width:0;color:#fff;font-size:12px;font-weight:700;line-height:1.5;letter-spacing:.02em}
.dva-axAg__chk li.is-run{background:rgba(255,255,255,.14)}
.dva-axAg__chk li.is-run i{border-color:#7fd3f7;animation:dva-blink .7s steps(2) infinite}
.dva-axAg__chk li.is-ok i{border-color:var(--pink);background:var(--pink)}
.dva-axAg__chk li.is-ok i::after{content:"✓";color:#fff}
.dva-axAg__chk li.is-skip{opacity:.45}
.dva-axAg__chk li.is-skip .dva-axAg__v{color:#c7c7e4}

.dva-axSys{grid-area:sys;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:30px;padding:8px;border:1.5px solid var(--line);border-radius:16px;background:#fff}
.dva-axSys__cell{min-width:0;padding:9px 11px;border-radius:10px;background:#f8f8fc;transition:background .3s,box-shadow .3s}
.dva-axSys__cell.is-on{background:#eef0f8;box-shadow:inset 0 0 0 1.5px var(--navy)}
.dva-axSys__cell .dva-axOut{min-height:26px;margin-top:6px}

.dva-axLane{padding:12px 14px;border:1.5px solid var(--line);border-radius:16px;background:#fff}
.dva-axLane--a{grid-area:la;align-self:center}
.dva-axLane--b{grid-area:lb;align-self:center}
.dva-axLane__head{display:flex;align-items:center;gap:8px;margin:0 0 8px}
.dva-axLane__tag{padding:1px 8px;border-radius:6px;background:var(--navy);color:#fff;font-size:11px;font-weight:700;line-height:1.7;letter-spacing:.04em}
.dva-axLane--b .dva-axLane__tag{background:var(--pink)}
.dva-axLane__head b{font-size:15px;font-weight:700;line-height:1.5;letter-spacing:.05em}
.dva-axLane__cnt{margin-left:auto;color:var(--sub);font-size:11.5px;font-weight:700;line-height:1;white-space:nowrap}
.dva-axLane__cnt span{display:inline-block;min-width:1ch;margin-right:2px;color:var(--navy);font:700 22px/1 Arial,Helvetica,sans-serif;text-align:right}
.dva-axLane--b .dva-axLane__cnt span{color:var(--pink-deep)}
.dva-axLane__cnt span.is-bump{animation:dva-bump .45s cubic-bezier(.2,.8,.3,1.4)}
@keyframes dva-bump{0%{transform:scale(1)}40%{transform:scale(1.35)}100%{transform:scale(1)}}
.dva-axLane__def{margin:-4px 0 8px;color:var(--sub);font-size:11.5px;font-weight:700;line-height:1.5;letter-spacing:.02em}
.dva-axLane__list{display:grid;gap:5px;min-height:88px;margin:0;padding:0;list-style:none;align-content:start}
.dva-axLane__list li{display:flex;align-items:center;gap:6px;padding:4px 9px;border-radius:8px;background:#eef0f8;font-size:12.5px;font-weight:700;line-height:1.5;letter-spacing:.02em;animation:dva-tool-in .35s ease-out both}
.dva-axLane__list li::before{content:"✓";color:var(--pink-deep);font:700 12px/1 Arial,Helvetica,sans-serif}
.dva-axMemo{padding:9px 11px;border-radius:10px;background:#fff7fb;border:1px solid #f6c9e0;transition:box-shadow .3s}
.dva-axMemo.is-new{box-shadow:0 0 0 3px rgba(228,0,127,.16)}
.dva-axMemo__ttl{margin:0 0 5px;color:var(--pink-deep);font-size:11.5px;font-weight:700;line-height:1.5;letter-spacing:.03em}
.dva-axMemo__dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 10px;margin:0}
.dva-axMemo__dl dt{color:var(--mute);font-size:11.5px;font-weight:700;line-height:1.6}
.dva-axMemo__dl dd{margin:0;color:var(--navy);font-size:12px;font-weight:700;line-height:1.6;letter-spacing:.02em}

.dva-axAf{grid-area:af;display:grid;grid-template-columns:minmax(0,auto) minmax(0,1fr) minmax(0,1.1fr);align-items:center;gap:18px;margin-top:22px;padding:14px 18px;border:1.5px solid var(--line);border-radius:16px;background:#f3f1fa}
.dva-axAf__lead{display:flex;align-items:center;gap:12px}
.dva-axAf__stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none}
.dva-axAf__stats li{display:flex;flex-direction:column;align-items:center;padding:6px 4px;border-radius:10px;background:#fff}
.dva-axAf__stats span{color:var(--sub);font-size:11px;font-weight:700;line-height:1.5;letter-spacing:0}
.dva-axAf__stats b{font:700 20px/1.2 Arial,Helvetica,sans-serif;color:var(--navy)}
.dva-axAf__stats b.is-bump{animation:dva-bump .45s cubic-bezier(.2,.8,.3,1.4)}
.dva-axAf__msg{margin:0;color:var(--sub);font-size:12.5px;font-weight:700;line-height:1.6;letter-spacing:.03em}
.dva-axAf__msg[data-tone="pink"]{color:var(--pink-deep)}
.dva-ax .dva-mCap{margin:22px 0 4px}
.dva-ax .dva-mFoot{padding:10px 0 0}

/* ============================================================
   VOICE DATA：1本の通話が、次の改善になるまで
   ============================================================ */
.dva-vd{position:relative;padding:24px 24px 18px;border-radius:22px;background:#fff;border:1px solid var(--line);box-shadow:0 18px 34px rgba(29,32,136,.06)}
.dva-vdStage{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px;padding-bottom:58px}
.dva-vdP{display:flex;flex-direction:column;gap:10px;min-width:0;padding:14px;border:1.5px solid var(--line);border-radius:18px;background:#fff}
.dva-vdP__head{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:8px;margin:0}
.dva-vdP__ph{padding:1px 8px;border-radius:6px;background:#fff0f7;color:var(--pink-deep);font:700 10.5px/1.7 Arial,Helvetica,sans-serif;letter-spacing:.1em}
.dva-vdP__head b{font-size:15px;font-weight:700;line-height:1.5;letter-spacing:.05em}
.dva-vdP__steps{grid-column:1/-1;margin-top:3px;color:var(--mute);font-size:11.5px;font-weight:700;line-height:1.5;letter-spacing:.02em}
.dva-vdLog{display:flex;flex-direction:column;justify-content:flex-end;gap:6px;min-height:120px;padding:8px;border-radius:12px;background:#f6f7fc}
.dva-vdLog .dva-bub{max-width:94%}
.dva-vdLog .dva-bub__txt{padding:6px 10px;font-size:12px;line-height:1.6}
.dva-vdLog .dva-bub__who{font-size:10.5px}
.dva-vdCard{padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#f8f8fc;transition:box-shadow .3s,border-color .3s}
.dva-vdCard.is-active{border-color:var(--navy);box-shadow:0 0 0 3px rgba(29,32,136,.1)}
.dva-vdCard__ttl{display:flex;align-items:center;gap:6px;margin:0 0 6px;font-size:12.5px;font-weight:700;line-height:1.5;letter-spacing:.03em}
.dva-vdAi{display:inline-grid;place-items:center;height:18px;padding:0 5px;border-radius:5px;background:var(--pink);color:#fff;font:700 10px/1 Arial,Helvetica,sans-serif;font-style:normal;letter-spacing:.04em}
.dva-vdDl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:3px 10px;margin:0}
.dva-vdDl dt{color:var(--mute);font-size:11.5px;font-weight:700;line-height:1.6}
.dva-vdDl dd{min-height:1.6em;margin:0;color:var(--navy);font-size:12.5px;font-weight:700;line-height:1.6;letter-spacing:.02em}
.dva-vdCase{margin:8px 0 0;padding:4px 9px;border-radius:8px;background:#eef0f8;font-size:12px;font-weight:700;line-height:1.6;opacity:0;transition:opacity .35s}
.dva-vdCase.is-on{opacity:1}
.dva-vdCase b{color:var(--pink-deep)}
.dva-vdScore{margin-left:auto;color:var(--sub);font-size:11.5px}
.dva-vdScore b{margin-right:1px;color:var(--navy);font:700 20px/1 Arial,Helvetica,sans-serif}
.dva-vdMeter{display:block;height:6px;border-radius:3px;background:#dfe0ee;overflow:hidden}
.dva-vdMeter i{display:block;width:0;height:100%;border-radius:3px;background:linear-gradient(90deg,var(--navy),var(--sky))}
.dva-vdChecks{display:flex;flex-wrap:wrap;gap:4px 10px;margin:8px 0 0;padding:0;list-style:none}
.dva-vdChecks li{color:var(--mute);font-size:11.5px;font-weight:700;line-height:1.6;letter-spacing:0}
.dva-vdChecks li::before{content:"○ "}
.dva-vdChecks li.is-on{color:var(--navy)}
.dva-vdChecks li.is-on::before{content:"✓ ";color:var(--pink-deep)}
.dva-vdBars{display:grid;gap:6px;margin:0;padding:0;list-style:none}
.dva-vdBars li{display:grid;grid-template-columns:92px minmax(0,1fr) 36px;align-items:center;gap:6px}
.dva-vdBars span{font-size:11.5px;font-weight:700;line-height:1.5;letter-spacing:0;white-space:nowrap}
.dva-vdBars i{display:block;height:10px;border-radius:5px;background:#e4e5f0;overflow:hidden}
.dva-vdBars b{display:block;width:0;height:100%;border-radius:5px;background:var(--lav)}
.dva-vdBars em{color:var(--sub);font-size:11px;font-style:normal;font-weight:700;text-align:right;white-space:nowrap}
.dva-vdBars li.is-hot b{background:var(--pink)}
.dva-vdBars li.is-hot span,.dva-vdBars li.is-hot em{color:var(--pink-deep)}
.dva-vdAlert{margin:8px 0 0;padding:4px 9px;border-radius:8px;background:#fff0f7;color:var(--pink-deep);font-size:12px;font-weight:700;line-height:1.6;opacity:0;transition:opacity .35s}
.dva-vdAlert.is-on{opacity:1}
.dva-vdFaq__st{margin-left:auto;padding:1px 8px;border-radius:999px;background:#e4e5f0;color:var(--sub);font-size:11px;line-height:1.6}
.dva-vdFaq__st[data-tone="sky"]{background:#e6f5fc;color:#006a9c}
.dva-vdFaq__st[data-tone="navy"]{background:var(--navy);color:#fff}
.dva-vdFaq__q{margin:0;font-size:12.5px;font-weight:700;line-height:1.6}
.dva-vdFaq__a{min-height:3.2em;margin:4px 0 0;color:var(--sub);font-size:12px;font-weight:500;line-height:1.6;letter-spacing:.02em}
.dva-vdNext{display:flex;flex-direction:column;gap:6px;flex:1}
.dva-vdNext__ttl{margin:0;color:var(--sub);font-size:12px;font-weight:700;line-height:1.5}
.dva-vdLog--next{flex:1;min-height:128px}
.dva-vd .dva-mFoot{padding:4px 0 0}
@media(min-width:1181px){ .dva-dataBlock{padding:50px 44px} }

/* ============================================================
   1180px以下
   ============================================================ */
@media(max-width:1180px){
  .dva-mCap{margin:0 20px 14px}

  .dva-ax__body{max-width:560px;margin-inline:auto;padding:22px 20px 18px}
  .dva-axStage{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"q q" "kn sys" "ag ag" "la lb" "af af";column-gap:18px;row-gap:34px;padding:0 0 0 22px}
  .dva-axQ__list{min-height:0;grid-template-columns:1fr}
  .dva-axKn{margin-bottom:0;flex-direction:column;align-items:flex-start;gap:6px}
  .dva-axKn .dva-axSb{display:none}
  .dva-axKn .dva-axOut{max-width:none;justify-content:flex-start}
  .dva-axSys{margin-top:0;grid-template-columns:1fr}
  .dva-axLane{align-self:stretch}
  .dva-axLane__head{flex-wrap:wrap;row-gap:2px}
  .dva-axAf{grid-template-columns:1fr;gap:10px;margin-top:0}
  .dva-axAg__chk li{grid-template-columns:18px 100px minmax(0,1fr)}

  .dva-vd{padding:18px 16px 14px}
  .dva-vdStage{grid-template-columns:1fr;gap:30px;padding:0 0 0 22px}
}
@media(max-width:767px){
  .dva-mHint{margin:-8px 0 14px;font-size:12px}
  .dva-mCard{border-radius:22px}
  .dva-mTab{padding:12px 8px 11px}
  .dva-mTab__label{font-size:14px;margin-top:5px;letter-spacing:0}
  .dva-mTab__sub{font-size:11px;letter-spacing:0}
  .dva-vs{padding:14px 12px 12px;border-radius:18px}
  .dva-vs__name{font-size:17px}
  .dva-vs__res{font-size:13px;padding:9px 12px}
  .dva-mCap{margin:0 10px 12px;padding:11px 13px;gap:10px;font-size:13.5px;align-items:flex-start}
  .dva-mCap__no{min-width:56px;height:24px;margin-top:1px;font-size:10.5px}
  .dva-mFoot{padding:0 12px 14px}

  .dva-ax__body{padding:16px 10px 14px}
  .dva-axStage{padding:0 0 0 20px;row-gap:32px;column-gap:16px}
  .dva-mTab__sub{display:none}
  .dva-axLane__list li{font-size:12px;padding:4px 7px}
  .dva-axQ,.dva-axAg,.dva-axKn,.dva-axSys,.dva-axLane,.dva-axAf{padding:11px}
  .dva-axAg__chk li{grid-template-columns:18px 96px minmax(0,1fr);padding:5px 6px}
  .dva-axMemo__dl{grid-template-columns:1fr}
  .dva-axMemo__dl dt{margin-top:2px}

  .dva-vd{padding:14px 10px 12px;border-radius:18px}
  .dva-vdStage{padding-left:20px}
  .dva-vdP{padding:12px}
}

/* ============================================================
   v5：各モーションを100%表示で1画面に収める調整
   ============================================================ */
.dva-mRow{display:flex;align-items:center;gap:12px;margin:0 22px 16px}
.dva-mRow .dva-mCap{flex:1 1 auto;min-height:50px;margin:0;padding:9px 16px;font-size:14px}
.dva-page .dva-mRow .dva-mToggle{flex:0 0 auto}
.dva-mRow--end{justify-content:flex-end;margin:10px 0 0}
.dva-mTab{padding:10px 12px 9px}
.dva-mTab__label{margin-top:4px;font-size:15px}
.dva-mTab__sub{margin-top:1px;font-size:11.5px}

/* CONCEPT */
.dva-cx__body{padding:16px 22px 14px}
.dva-vs{gap:9px;padding:13px 14px 12px}
.dva-vs__line{display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px;margin:0}
.dva-vs__name{margin:0;font-size:18px}
.dva-vs__bar{padding:7px 12px}
.dva-vs__ava{width:26px;height:26px}
.dva-vs__log{height:246px;padding:10px 12px}
.dva-vs__kitTtl{margin:0 0 4px;font-size:11.5px}
.dva-kits{gap:5px}
.dva-kit{gap:0;padding:6px 3px 5px}
.dva-kit__dot{display:none}
.dva-kit__lb{font-size:11.5px}
.dva-kit__st{min-height:1.45em;font-size:10.5px}
.dva-vs__res{min-height:42px;padding:8px 12px;font-size:13.5px}
.dva-vs__resIc{width:24px;height:24px;font-size:12px}
.dva-vsSwitch{display:none}
@media(max-width:1023px){
  .dva-cx__body{grid-template-columns:1fr;gap:0;max-width:520px;margin-inline:auto;padding:10px 12px 12px}
  .dva-vs__mid{display:none}
  .dva-cx__body[data-view="talk"] .dva-vs--solve,.dva-cx__body[data-view="solve"] .dva-vs--talk{display:none}
  .dva-vsSwitch{display:grid;grid-template-columns:1fr 1fr;gap:4px;width:calc(100% - 24px);max-width:520px;margin:12px auto 0;padding:4px;border-radius:999px;background:#eef0f8}
  .dva-page .dva-vsSwitch__btn{appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;margin:0;padding:4px 8px;border:0;border-radius:999px;background:transparent;color:var(--sub);font:inherit;font-size:12.5px;font-weight:700;line-height:1.3;letter-spacing:.02em;cursor:pointer;transition:background .25s,color .25s}
  .dva-vsSwitch__btn[aria-pressed="true"]{background:#fff;color:var(--navy);box-shadow:0 6px 14px -8px rgba(29,32,136,.45)}
  .dva-vsSwitch__btn[data-vs-view="solve"][aria-pressed="true"]{background:var(--navy);color:#fff}
  .dva-vsSwitch__btn i{display:none;place-items:center;width:18px;height:18px;border-radius:50%;font:700 10px/1 Arial,Helvetica,sans-serif;font-style:normal}
  .dva-vsSwitch__btn i.is-ng{display:inline-grid;background:#9a9db5;color:#fff}
  .dva-vsSwitch__btn i.is-ok{display:inline-grid;background:var(--pink);color:#fff}
  .dva-vs__log{height:236px}
  .dva-mRow{margin:0 12px 12px}
}
@media(max-width:767px){
  .dva-vs{padding:11px 11px 10px;border-radius:16px}
  .dva-vs__name{font-size:16px}
  .dva-vs__sub{font-size:11.5px}
  .dva-vs__log{height:224px;padding:8px 10px}
  .dva-bub__txt{padding:6px 10px;font-size:12.5px}
  .dva-tool{padding:4px 8px;font-size:11.5px}
  .dva-kits{grid-template-columns:repeat(5,minmax(0,1fr));gap:3px}
  .dva-kit{padding:5px 1px 4px;border-radius:8px}
  .dva-kit__lb{font-size:10.5px;line-height:1.3}
  .dva-kit__st{font-size:10px}
  .dva-vs__res{min-height:38px;font-size:12.5px}
  .dva-mRow{flex-wrap:wrap;gap:6px}
  .dva-mRow .dva-mCap{flex-basis:100%;min-height:0;padding:9px 12px;font-size:13px}
  .dva-page .dva-mRow .dva-mToggle{margin-left:auto;min-height:28px;padding:3px 12px;font-size:11.5px}
}

/* ARCHITECTURE */
.dva-ax__body{padding:18px 24px 16px}
.dva-axStage{row-gap:10px}
.dva-axKn{margin-bottom:24px;padding:9px 14px}
.dva-axSys{margin-top:24px}
.dva-axQ{padding:12px}
.dva-axQ__list{min-height:0;gap:6px}
.dva-axCall{padding:7px 10px}
.dva-axAg{gap:8px;padding:14px}
.dva-axAg__q{padding:7px 12px}
.dva-axAg__chk{gap:4px}
.dva-axAg__chk li{padding:4px 8px}
.dva-axLane{padding:10px 14px}
.dva-axLane__list{min-height:0}
.dva-axMemo{padding:7px 10px}
.dva-axAf{grid-template-columns:auto minmax(0,1fr);margin-top:14px;padding:10px 16px}
.dva-axAf__msg{padding:6px 12px;border-radius:10px;background:#fff;font-size:12.5px}
.dva-ax .dva-mRow{margin:14px 0 0}
@media(max-width:1180px){
  .dva-ax__body{padding:14px 14px 12px}
  .dva-axStage{row-gap:24px;column-gap:10px}
  .dva-axQ{padding:9px 10px}
  .dva-axQ__head{margin-bottom:6px}
  .dva-axQ__list li:nth-child(n+3){display:none}
  .dva-axCall{grid-template-columns:20px minmax(0,1fr) auto;grid-template-areas:"ic q st";padding:5px 8px}
  .dva-axCall__ic{width:20px;height:20px}
  .dva-axCall__ic svg{width:11px;height:11px}
  .dva-axCall__q{font-size:12px}
  .dva-axKn{padding:8px 10px}
  .dva-axKn .dva-axIc{display:none}
  .dva-axSys{padding:5px;gap:5px}
  .dva-axSys__cell{padding:6px 8px}
  .dva-axSys__cell .dva-axOut{min-height:0;margin-top:4px}
  .dva-axTt{font-size:12.5px}
  .dva-axAg{gap:7px;padding:11px}
  .dva-axAg__head b{font-size:16px}
  .dva-axAg__q{padding:5px 10px;font-size:12.5px}
  .dva-axAg__chk{grid-template-columns:1fr 1fr}
  .dva-axAg__chk li{grid-template-columns:16px minmax(0,1fr);row-gap:0;padding:4px 7px}
  .dva-axAg__chk .dva-axAg__v{grid-column:1/-1;min-height:1.5em}
  .dva-axLane{padding:9px 10px}
  .dva-axLane__head{margin-bottom:5px}
  .dva-axLane__head b{font-size:13.5px}
  .dva-axLane__def{display:none}
  .dva-axLane__list li:nth-child(n+2){display:none}
  .dva-axMemo{padding:6px 8px}
  .dva-axMemo__ttl{display:none}
  .dva-axMemo__dl{grid-template-columns:1fr;gap:0}
  .dva-axMemo__dl dt{display:none}
  .dva-axMemo__dl dd{font-size:11.5px}
  .dva-axAf{grid-template-columns:1fr;gap:6px;padding:9px 10px}
  .dva-axAf .dva-axIc{width:26px;height:26px}
  .dva-axAf .dva-axSb{display:none}
  .dva-axAf__msg{padding:5px 10px;font-size:12px}
  .dva-ax .dva-mRow{margin:12px 0 0}
}

/* VOICE DATA */
.dva-vdNav{display:none}
@media(max-width:1180px){
  .dva-vdNav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin:0 0 12px;padding:4px;border-radius:14px;background:#eef0f8}
  .dva-page .dva-vdNav__btn{appearance:none;-webkit-appearance:none;display:flex;align-items:center;justify-content:center;gap:5px;min-height:40px;margin:0;padding:4px 6px;border:0;border-radius:10px;background:transparent;color:var(--sub);font:inherit;font-size:12px;font-weight:700;line-height:1.3;letter-spacing:0;cursor:pointer;transition:background .25s,color .25s}
  .dva-vdNav__btn b{display:grid;place-items:center;flex:0 0 auto;width:18px;height:18px;border-radius:50%;background:#fff;color:var(--navy);font:700 10px/1 Arial,Helvetica,sans-serif}
  .dva-vdNav__btn[aria-pressed="true"]{background:var(--navy);color:#fff}
  .dva-vdNav__btn[aria-pressed="true"] b{background:var(--pink);color:#fff}
  .dva-vdStage{padding:0}
  .dva-vdStage[data-view="p1"] .dva-vdP:not([data-n="p1"]),.dva-vdStage[data-view="p2"] .dva-vdP:not([data-n="p2"]),.dva-vdStage[data-view="p3"] .dva-vdP:not([data-n="p3"]){display:none}
  .dva-vdP{animation:dva-chip-in .35s ease-out both}
  .dva-vd .dva-mRow--end{margin-top:8px}
}

/* v5-2：SPで1画面に収めるための追加調整 */
.dva-axKn{margin-bottom:20px}
.dva-axSys{margin-top:20px}
.dva-axSys__cell .dva-axOut{min-height:22px}
.dva-axMemo__dl dt,.dva-axMemo__dl dd{line-height:1.5}
.dva-axAf{margin-top:12px}
.dva-mToggle__i{font-size:11px}
@media(max-width:767px){
  .dva-vs__sub,.dva-vs__kitTtl{display:none}
  .dva-vs__log{height:204px}
  .dva-mRow{flex-wrap:nowrap;align-items:stretch}
  .dva-mRow .dva-mCap{flex:1 1 auto;flex-basis:auto}
  .dva-page .dva-mRow .dva-mToggle{align-self:center;width:34px;min-width:34px;height:34px;min-height:34px;padding:0;justify-content:center}
  .dva-mToggle__t{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .dva-page .dva-mRow--end .dva-mToggle{width:auto;padding:3px 12px}
  .dva-mRow--end .dva-mToggle__t{position:static;width:auto;height:auto;clip:auto}
}
@media(max-width:1180px){
  .dva-axStage{grid-template-columns:repeat(6,minmax(0,1fr));grid-template-areas:"q q q q q q" "kn kn sys sys sys sys" "ag ag ag ag ag ag" "la la la lb lb lb" "af af af af af af";row-gap:18px}
  .dva-axQ__head .dva-axEn,.dva-axAg__head .dva-axEn,.dva-axAf .dva-axEn{display:none}
  .dva-axKn .dva-axTt{white-space:nowrap;letter-spacing:0}
  .dva-axQ__list li:nth-child(n+2){display:none}
  .dva-axKn{justify-content:center}
  .dva-axKn .dva-axEn,.dva-axKn .dva-axSb{display:none}
  .dva-axKn .dva-axTt{font-size:12px}
  .dva-axSys{grid-template-columns:1fr 1fr}
  .dva-axSys__cell .dva-axTt{display:none}
  .dva-axSys__cell .dva-axEn{font-size:10.5px;letter-spacing:.06em}
  .dva-axOut .dva-chip{font-size:11px;padding:1px 7px}
  .dva-axLane__list li{padding:3px 7px;font-size:11.5px}
  .dva-axMemo__dl dd:nth-of-type(n+2){display:none}
}

/* ============================================================
   資料表紙つきボタン（FV）と中間CTA（チャットボットページと同じ表現）
   ============================================================ */
.dva-page .dva-docBtn{position:relative;display:inline-flex;align-items:center;justify-content:flex-start;width:384px;max-width:100%;min-height:64px;padding:12px 138px 12px 30px;border:2px solid var(--navy);border-radius:999px;background:var(--navy);color:#fff!important;font-size:14px;font-weight:700;letter-spacing:.04em;line-height:1.4;text-decoration:none;box-shadow:0 16px 28px -18px rgba(29,32,136,.7);transition:background .3s,border-color .3s}
.dva-page .dva-docBtn__txt{display:inline-flex;align-items:center;white-space:nowrap}
.dva-page .dva-docBtn__txt::after{content:"";flex:none;width:9px;height:12px;margin-left:13px;background:currentColor;clip-path:polygon(0 0,100% 50%,0 100%)}
.dva-page .dva-docBtn__cover{position:absolute;right:14px;bottom:12px;width:112px;border:2px solid #fff;border-radius:6px;overflow:hidden;background:#fff;box-shadow:0 12px 22px -10px rgba(15,18,80,.6);transform:rotate(-5deg);transform-origin:60% 100%;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.dva-page .dva-docBtn__cover img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.dva-page .dva-docBtn:hover,.dva-page .dva-docBtn:focus-visible{background:var(--pink);border-color:var(--pink)}
.dva-page .dva-docBtn:hover .dva-docBtn__cover,.dva-page .dva-docBtn:focus-visible .dva-docBtn__cover{transform:rotate(-1.5deg) translateY(-6px)}
.dva-page .dva-hero__consult{min-width:240px;min-height:64px}
.dva-hero--center .dva-hero__btns{gap:14px}

.dva-page .dva-btn--white{border-color:#fff;background:#fff;color:var(--navy)!important}
.dva-page .dva-btn--white:hover{border-color:var(--pink);background:var(--pink);color:#fff!important}
.dva-page .dva-midCta{position:relative;overflow:hidden;max-width:1000px;margin:72px auto 0;border-radius:24px;text-align:left}
.dva-page .dva-midCta__kicker{margin:0 0 10px;color:var(--pink-deep);font:700 11px/1.4 Arial,Helvetica,sans-serif;letter-spacing:.18em}
.dva-page .dva-midCta h3{margin:0;color:var(--navy);font-size:24px;line-height:1.6;letter-spacing:.05em}
.dva-page .dva-midCta__text{margin:12px 0 0;color:var(--sub);font-size:14px;line-height:1.9}
.dva-page .dva-midCta__actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px;margin-top:26px}
.dva-page .dva-midCta .dva-btn{width:auto;max-width:none;min-height:56px;padding:12px 30px}
.dva-page .dva-midCta__link{display:inline-flex;align-items:center;padding-bottom:2px;border-bottom:1px solid currentColor;color:var(--navy)!important;font-size:13px;font-weight:700;line-height:1.5;text-decoration:none;transition:color .2s}
.dva-page .dva-midCta__link:hover{color:var(--pink)!important}
.dva-page .dva-midCta--doc{display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:52px;align-items:center;padding:44px 52px;border:1px solid var(--line);background:linear-gradient(135deg,#f8f9fe 0%,#eef0fb 100%)}
.dva-page .dva-midCta__cover{position:relative;padding:6px 10px 12px 0}
.dva-page .dva-midCta__cover::before{content:"";position:absolute;inset:14px 0 2px 12px;border:1px solid #e1e3f2;border-radius:10px;background:#fff;transform:rotate(3deg)}
.dva-page .dva-midCta__cover img{position:relative;display:block;width:100%;height:auto;aspect-ratio:16/9;border:1px solid #e1e3f2;border-radius:10px;box-shadow:0 26px 40px -28px rgba(29,32,136,.6);transform:rotate(-2deg)}
.dva-page .dva-midCta--consult{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px 56px;align-items:center;padding:46px 56px;background:linear-gradient(120deg,#1d2088 0%,#2a2fa6 100%)}
.dva-page .dva-midCta--consult::before,.dva-page .dva-midCta--consult::after{content:"";position:absolute;border-radius:50%;pointer-events:none}
.dva-page .dva-midCta--consult::before{width:260px;height:260px;right:-80px;top:-120px;background:rgba(0,160,233,.16)}
.dva-page .dva-midCta--consult::after{width:160px;height:160px;left:-60px;bottom:-80px;background:rgba(228,0,127,.14)}
.dva-page .dva-midCta--consult>*{position:relative;z-index:1}
.dva-page .dva-midCta--consult .dva-midCta__kicker{color:#ff8fc9}
.dva-page .dva-midCta--consult h3{color:#fff}
.dva-page .dva-midCta--consult .dva-midCta__text{color:#e2e4ff}
.dva-page .dva-midCta--consult .dva-midCta__actions{flex-direction:column;align-items:center;gap:14px;margin-top:0}
.dva-page .dva-midCta--consult .dva-btn{min-width:260px}
.dva-page .dva-midCta--consult .dva-midCta__link{color:#fff!important}
.dva-page .dva-midCta--consult .dva-midCta__link:hover{color:#ff8fc9!important}
.dva-page .dva-midCta+.dva-bridge{margin-top:72px}
@media(max-width:1020px){
  .dva-page .dva-midCta{margin-top:60px}
  .dva-page .dva-midCta--doc{grid-template-columns:minmax(0,1fr);gap:30px;padding:40px 36px;text-align:center}
  .dva-page .dva-midCta--doc .dva-midCta__cover{width:min(380px,90%);margin:0 auto}
  .dva-page .dva-midCta--consult{grid-template-columns:minmax(0,1fr);gap:26px;padding:42px 36px;text-align:center}
  .dva-page .dva-midCta__actions{justify-content:center}
}
@media(max-width:767px){
  .dva-page .dva-docBtn{width:100%;max-width:360px;min-height:60px;padding:10px 120px 10px 24px;font-size:13px}
  .dva-page .dva-docBtn__cover{right:12px;bottom:10px;width:100px}
  .dva-page .dva-hero__consult{width:100%;max-width:360px;min-height:56px}
  .dva-hero--center .dva-hero__btns{flex-direction:column;align-items:center}
  .dva-page .dva-midCta{margin-top:48px;border-radius:18px}
  .dva-page .dva-midCta--doc{gap:24px;padding:30px 20px 32px}
  .dva-page .dva-midCta--consult{padding:34px 20px 36px}
  .dva-page .dva-midCta h3{font-size:19px;line-height:1.65}
  .dva-page .dva-midCta__text{font-size:13px}
  .dva-page .dva-midCta__actions{flex-direction:column;gap:16px;margin-top:22px}
  .dva-page .dva-midCta .dva-btn,.dva-page .dva-midCta--consult .dva-btn{width:100%;max-width:360px;min-width:0}
  .dva-page .dva-midCta+.dva-bridge{margin-top:48px}
}
@media(max-width:374px){
  .dva-page .dva-docBtn{padding:10px 96px 10px 18px;font-size:12px;letter-spacing:.02em}
  .dva-page .dva-docBtn__txt::after{display:none}
  .dva-page .dva-docBtn__cover{right:10px;width:82px}
}
@media(prefers-reduced-motion:reduce){ .dva-page .dva-docBtn__cover{transition:none} }

/* ============================================================
   FV：Heroイメージなし・中央ぞろえ（ソリューションページと同じ構成）
   ============================================================ */
.dva-hero--center{min-height:0;display:block;overflow:hidden;background:linear-gradient(180deg,#fff 0%,#fff 48%,#f4f6fd 100%)}
.dva-hero--center::before{width:420px;height:420px;right:-140px;top:-160px;background:rgba(0,160,233,.07)}
.dva-hero--center::after{width:300px;height:300px;left:-110px;top:120px;bottom:auto;background:rgba(228,0,127,.045)}
.dva-hero--center .dva-hero__inner{display:block;padding:84px 0 56px;text-align:center}
.dva-hero--center .dva-hero__copy{display:flex;flex-direction:column;align-items:center}
.dva-hero--center .dva-productLogo{order:0;margin:0 0 26px}
.dva-hero--center .dva-productLogo img{width:min(300px,100%)}
.dva-hero--center h1{order:1;margin:0 0 22px;line-height:1.45;letter-spacing:.04em}
.dva-hero--center .dva-hero__desc{order:2;max-width:660px;margin:0 auto;font-size:15.5px;line-height:2;word-break:keep-all;overflow-wrap:anywhere}
.dva-hero--center .dva-hero__btns{order:3;justify-content:center;margin-top:32px}
.dva-heroWave{display:flex;align-items:center;justify-content:center;gap:6px;height:88px;max-width:820px;margin:52px auto 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 18%,#000 82%,transparent);mask-image:linear-gradient(90deg,transparent,#000 18%,#000 82%,transparent)}
.dva-heroWave i{flex:0 0 auto;display:block;width:5px;height:calc(var(--h) * 100%);border-radius:3px;background:linear-gradient(180deg,var(--sky),var(--navy));opacity:.72;transform-origin:center;animation:dva-heroWave 1.9s ease-in-out infinite;animation-delay:var(--d)}
.dva-heroWave i.is-pink{background:linear-gradient(180deg,#ff5fb2,var(--pink));opacity:.9}
@keyframes dva-heroWave{0%,100%{transform:scaleY(.45)}50%{transform:scaleY(1)}}
@media(min-width:1181px){ .dva-hero--center h1{font-size:44px} }
@media(min-width:768px) and (max-width:1180px){ .dva-hero--center h1{font-size:38px} .dva-hero--center .dva-hero__inner{padding:64px 0 48px} }
@media(max-width:767px){
  .dva-hero--center .dva-hero__inner{padding:40px 0 40px}
  .dva-hero--center .dva-productLogo{margin:0 0 20px}
  .dva-hero--center .dva-productLogo img{width:min(230px,100%)}
  .dva-hero--center h1{margin:0 0 16px}
  .dva-hero--center .dva-hero__desc{font-size:13.5px;line-height:1.9}
  .dva-hero--center .dva-hero__btns{width:100%;margin-top:24px}
  .dva-heroWave{gap:4px;height:56px;margin-top:34px}
  .dva-heroWave i{width:4px}
  .dva-hero--center::before{width:260px;height:260px;right:-110px;top:-110px}
  .dva-hero--center::after{width:200px;height:200px;left:-100px;top:auto;bottom:40px}
}
@media(prefers-reduced-motion:reduce){ .dva-heroWave i{animation:none;transform:scaleY(.8)} }

/* ============================================================
   CHALLENGES：4つに集約（アイコンと番号を上、見出しを下に）
   ============================================================ */
.dva-challengeGrid{grid-template-columns:repeat(4,minmax(0,1fr))}
.dva-challenge__top{flex-wrap:wrap;align-items:center}
.dva-challenge__top h3{flex:1 0 100%;order:3;margin-top:4px;word-break:keep-all;overflow-wrap:anywhere}
.dva-challenge p{font-size:13px}

/* ============================================================
   CONCEPT：デモ動画は大きく、4ステップは動画の下に横一列
   ============================================================ */
.dva-demo__grid{grid-template-columns:1fr;max-width:900px;margin-inline:auto}
.dva-demo__steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.dva-demoStep{padding:14px 16px;border-radius:16px}
.dva-demoStep strong{margin-top:6px;font-size:14px;line-height:1.55;letter-spacing:.04em}
.dva-demoStep b{font-size:11.5px}

/* ============================================================
   HOW WE DELIVER：電話前／電話中／電話後の帯でフェーズをまとめる
   ============================================================ */
.dva-section--soft .dva-dataBlock{background:#fff;border:1px solid var(--line)}
.dva-section--soft .dva-dataBlock .dva-vd{box-shadow:none}
.dva-deliver{display:grid;grid-template-columns:2fr 2fr 1fr;gap:14px}
.dva-dGroup{display:flex;flex-direction:column;gap:10px;min-width:0}
.dva-dGroup__band{position:relative;display:flex;align-items:center;gap:10px;margin:0;padding:10px 16px;border-radius:12px;background:var(--navy);color:#fff;font-size:15px;font-weight:700;line-height:1.4;letter-spacing:.08em}
.dva-dGroup__band span{color:#ffb3dc;font-size:13px}
.dva-dGroup:nth-child(2) .dva-dGroup__band{background:#3036a9}
.dva-dGroup:nth-child(3) .dva-dGroup__band{background:var(--pink)}
.dva-dGroup:nth-child(3) .dva-dGroup__band span{color:#fff}
.dva-dGroup__phases{display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));gap:10px;flex:1}
.dva-dGroup .dva-phase{min-width:0}
.dva-dGroup .dva-phase p{font-size:12px;line-height:1.8}
@media(max-width:1180px){
  .dva-challengeGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dva-deliver{grid-template-columns:1fr}
}
@media(max-width:767px){
  .dva-challengeGrid{grid-template-columns:1fr}
  .dva-demo__steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dva-dGroup__phases{grid-template-columns:1fr;gap:8px}
  .dva-dGroup .dva-phase{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"no tt" "no tx";column-gap:12px;align-items:start;padding:14px 16px}
  .dva-dGroup .dva-phase span{grid-area:no}
  .dva-dGroup .dva-phase h3{grid-area:tt;margin:0 0 2px}
  .dva-dGroup .dva-phase p{grid-area:tx}
}
@media(max-width:430px){
  .dva-heading h2{letter-spacing:.06em}
}

/* ============================================================
   セクション間のつなぎ（チャットボット・FAQページと同じ表現）
   ============================================================ */
.dva-bridge{position:relative;display:flex;flex-direction:column;gap:2px;max-width:920px;margin:64px auto 0;padding-top:42px;text-align:center;color:var(--navy);font-size:22px;font-weight:700;line-height:1.75;letter-spacing:.07em}
.dva-bridge::before{content:"";position:absolute;left:50%;top:0;width:1px;height:24px;transform:translateX(-50%);background:linear-gradient(180deg,rgba(228,0,127,0),#e4007f)}
.dva-bridge::after{content:"";position:absolute;left:50%;top:26px;width:7px;height:7px;border-radius:50%;transform:translateX(-50%);background:var(--pink)}
.dva-bridge__lead,.dva-bridge__em{display:block;word-break:keep-all;overflow-wrap:anywhere}
.dva-heading h2,.dva-contact__copy h2{word-break:keep-all;overflow-wrap:anywhere}

.dva-bridge__em{color:var(--pink-deep)}
.dva-dataBlock+.dva-bridge{margin-top:64px}

/* ============================================================
   スクロール表示：下へスクロールで表示、上へ戻ると元に戻る
   （JSが .dva-rise-on を付けたときだけ隠す。JSなし・動きを減らす設定では常に表示）
   ============================================================ */
.dva-rise-on [data-dva-rise]{opacity:0;transform:translateY(22px);transition:opacity .62s ease,transform .62s ease;transition-delay:var(--rise-delay,0s)}
.dva-rise-on [data-dva-rise].is-rise{opacity:1;transform:none}

/* ============================================================
   CONTACT：資料請求／無料相談のタブ切り替え
   ============================================================ */
.dva-contact__inner{max-width:780px;margin:0 auto}
.dva-contact__head{margin:0 0 24px;text-align:center}
.dva-contact__head h2{margin:0;color:#fff;font-size:32px;line-height:1.5;word-break:keep-all;overflow-wrap:anywhere}
.dva-contact .dva-contact__lead{max-width:640px;margin:12px auto 0;color:#e6e8ff;font-size:14.5px;line-height:1.9}
.dva-contact .dva-contact__lead[hidden]{display:none}
.dva-formBox{min-width:0;padding:16px;border-radius:26px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.24)}
.dva-docSwitch{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:0 0 14px;padding:5px;border-radius:999px;background:rgba(255,255,255,.12)}
.dva-page .dva-docSwitch__btn{appearance:none;-webkit-appearance:none;min-height:48px;margin:0;padding:8px 12px;border:0;border-radius:999px;background:transparent;color:#fff;font:inherit;font-size:15px;font-weight:700;line-height:1.4;letter-spacing:.08em;cursor:pointer;transition:background .25s,color .25s}
.dva-docSwitch__btn:hover:not([aria-selected="true"]){background:rgba(255,255,255,.12)}
.dva-docSwitch__btn[aria-selected="true"]{background:#fff;color:var(--navy);box-shadow:0 8px 18px -10px rgba(0,0,0,.45)}
.dva-docSwitch__btn:focus-visible{outline:3px solid var(--sky);outline-offset:2px}
.dva-docPanel[hidden]{display:none}
.dva-formBox .dva-formFrame{min-height:0;border-radius:18px}
.dva-formFrame--doc{height:1040px}
.dva-formFrame--consult{height:1300px}
.dva-contact .dva-formBox__fallback{max-width:none;margin:10px 4px 0;color:rgba(255,255,255,.82);font-size:12px;line-height:1.8;letter-spacing:.04em}
.dva-formBox__fallback a{color:#fff;border-bottom:1px solid rgba(255,255,255,.55)}
@media(max-width:1180px){
}
@media(max-width:847px){
  .dva-formFrame--doc{height:1130px}
  .dva-formFrame--consult{height:1460px}
}
@media(max-width:767px){
  .dva-bridge{margin-top:44px;padding-top:32px;font-size:16.5px;letter-spacing:.04em}
  .dva-bridge::before{height:18px}
  .dva-bridge::after{top:20px}
  .dva-contact__head h2{font-size:24px}
  .dva-contact .dva-contact__lead{font-size:13px}
  .dva-formBox{padding:10px;border-radius:20px}
  .dva-page .dva-docSwitch__btn{font-size:14px;min-height:46px}
  .dva-formBox .dva-formFrame{border-radius:14px}
}
@media(prefers-reduced-motion:reduce){
  .dva-rise-on [data-dva-rise]{opacity:1;transform:none;transition:none}
}
