/* ============================================================
   自治体向けLP（ad003.html）専用スタイル
   ベース: css/style.css ＋ css/k-shared.css（ad001のkブロック抽出）
   Figma: DHK / 新規デザイン node 1362:1065
   ============================================================ */

/* ---------- FV ---------- */
.jt-fv{position:relative;overflow:hidden;background:linear-gradient(146deg,#2624A3 7.7%,#0b5fff 92.3%);color:#fff}
.jt-fv__inner{position:relative;max-width:1400px;margin:0 auto;min-height:539px;padding:56px 40px 70px 8.2%}
.jt-fv__visual{position:absolute;top:0;right:-6%;width:78%;height:100%;pointer-events:none}
.jt-fv__visual img{width:100%;height:100%;object-fit:cover;object-position:left center}
.jt-fv__logo{width:378px;max-width:60vw;height:auto;margin-bottom:30px}
.jt-fv__badge{display:inline-flex;align-items:center;background:#fff;border-radius:6px;padding:5px 16px;margin-bottom:14px}
.jt-fv__badge span{font-family:var(--font-noto);font-weight:700;font-size:23px;color:#2130b6;line-height:1.4}
.jt-fv__title{font-family:var(--font-noto);font-weight:700;font-size:clamp(34px,3.6vw,50px);line-height:1.4;margin:0 0 22px;white-space:nowrap}
.jt-fv__sub{font-family:var(--font-noto);font-weight:700;font-size:24px;line-height:1.5;margin:0 0 44px}
.jt-fv__medals{display:flex;gap:38px;align-items:center}
.jt-fv__medals img{width:128px;height:128px}
.jt-fv__note{position:absolute;right:24px;bottom:18px;font-family:var(--font-noto);font-size:10px;line-height:1.84;color:#fff;text-align:right;margin:0}
@media(max-width:900px){
  .jt-fv__inner{padding:40px 20px 90px}
  .jt-fv__visual{position:absolute;inset:auto 0 0 auto;width:100%;height:40%;opacity:.45}
  .jt-fv__title{font-size:clamp(26px,7vw,40px);white-space:normal}
  .jt-fv__sub{font-size:clamp(15px,4.2vw,20px)}
  .jt-fv__badge span{font-size:17px}
  .jt-fv__medals{gap:16px}
  .jt-fv__medals img{width:min(96px,26vw);height:auto}
  .jt-fv__note{position:static;margin-top:28px;text-align:left}
}

/* ---------- 共通セクション ---------- */
.jt-lead{font-family:var(--font-ryo);font-size:17.5px;line-height:1.8;color:#464646;max-width:1000px;margin:0 auto}

/* ---------- RESULTS 稼働数カード ---------- */
.jt-res__grid{display:flex;justify-content:center;gap:26px;flex-wrap:wrap;margin-top:36px}
.jt-res__c{display:flex;gap:16px;align-items:flex-start;width:369px;background:#fff;border:1px solid var(--k-line,#e2e7f1);border-radius:18px;padding:24px 26px;box-shadow:0 22px 27px rgba(13,20,43,.10);text-align:left}
.jt-res__icon{flex:0 0 auto;width:47px;height:47px;color:#0b5fff}
.jt-res__icon svg{width:100%;height:100%}
.jt-res__t{font-family:var(--font-noto);font-weight:700;font-size:14.5px;color:#0c1530;margin:4px 0 2px}
.jt-res__num{font-family:var(--font-montserrat);font-weight:800;font-size:34px;letter-spacing:-.45px;line-height:1.05;background:linear-gradient(146deg,#008EFF 8%,#1EC7D0 92%);-webkit-background-clip:text;background-clip:text;color:transparent;margin:0;display:flex;align-items:baseline;gap:6px}
.jt-res__num small{font-family:var(--font-montserrat);font-weight:700;font-size:15px;color:#0c1530;-webkit-text-fill-color:#0c1530}
.jt-res__note{font-family:var(--font-noto);font-size:11px;color:#6b7384;margin:6px 0 0}

/* ---------- カード共通（PROBLEM/シナリオ） ---------- */
.jt-cards{display:flex;justify-content:center;gap:30px;flex-wrap:wrap;margin-top:48px}
.jt-card{position:relative;width:313px;background:#fff;border:1px solid var(--k-line,#e2e7f1);border-radius:19px;overflow:hidden;box-shadow:0 23px 58px rgba(13,20,43,.10);text-align:left}
.jt-card__ph{position:relative;height:195px;overflow:hidden}
.jt-card--tall .jt-card__ph{height:214px}
.jt-card__ph img{width:100%;height:100%;object-fit:cover}
.jt-card__no{position:absolute;top:13px;left:15px;padding:5px 12px;border-radius:8px;background:linear-gradient(137deg,#0b5fff 0%,#2624A3 100%);box-shadow:0 6px 8px rgba(11,95,255,.35);font-family:var(--font-montserrat);font-weight:800;font-size:16.4px;color:#fff;line-height:1.4}
.jt-card__body{padding:23px 25px 27px}
.jt-card__h{font-family:var(--font-noto);font-weight:700;font-size:17.3px;line-height:1.5;color:#101726;margin:0}
.jt-card__h b{color:#2c56f7;font-weight:700}
.jt-card__tx{font-family:var(--font-noto);font-size:13px;line-height:1.7;color:#6b7384;margin:9px 0 0}

/* ---------- 市場の伸び ---------- */
.jt-market__pill{display:flex;align-items:center;justify-content:center;width:506px;max-width:100%;height:44px;margin:26px auto 0;background:linear-gradient(171deg,#008EFF 8%,#1EC7D0 92%)}
.jt-market__pill p{font-family:var(--font-noto);font-weight:700;font-size:26px;color:#fff;letter-spacing:.4px;margin:0;line-height:1}
.jt-market__pill p sup{font-size:19px;font-weight:700;vertical-align:baseline}
.jt-market__chartwrap{position:relative;width:min(830px,100%);aspect-ratio:830/478;overflow:hidden;margin:26px auto 0}
.jt-market__chartwrap img{position:absolute;left:0;top:-11.2%;width:100%;height:130.3%;object-fit:cover}
@media(max-width:640px){.jt-market__pill p{font-size:clamp(15px,4.6vw,22px)}}

/* ---------- DHK CANVASで課題を解決 ---------- */
.jt-sol__top{display:flex;align-items:center;justify-content:center;gap:38px;flex-wrap:wrap;text-align:left}
.jt-sol__copy{max-width:480px}
.jt-sol__lead{font-family:var(--font-noto);font-weight:700;font-size:19.6px;line-height:1.5;color:#0b5fff;margin:0 0 15px}
.jt-sol__title{font-family:var(--font-montserrat);font-weight:800;font-size:58px;line-height:1.2;color:#101726;margin:0 0 15px}
.jt-sol__title .ja{font-family:var(--font-noto);font-weight:900}
.jt-sol__sub{font-family:var(--font-noto);font-size:17.4px;line-height:1.85;color:#6b7384;margin:0}
.jt-sol__visual{width:min(483px,100%);height:auto}
@media(max-width:900px){.jt-sol__title{font-size:clamp(30px,8vw,46px)}}

/* ---------- 特徴 point ---------- */
.jt-point{width:min(1000px,100%);margin:0 auto;text-align:left}
.jt-point+.jt-point{margin-top:80px}
.jt-point__head{display:flex;align-items:center;gap:22px;margin-bottom:22px}
.jt-point__label{flex:0 0 auto;font-family:var(--font-montserrat);font-weight:800;font-size:15.8px;line-height:2;color:#0b5fff;white-space:nowrap}
.jt-point__h{font-family:var(--font-noto);font-weight:700;font-size:29px;line-height:1.5;color:#101726;margin:0}
.jt-point__h .bl{color:#2c56f7;font-weight:900}
.jt-point__desc{font-family:var(--font-ryo);font-size:17.5px;line-height:1.8;color:#464646;margin:0 0 44px}
.jt-point__center{display:flex;flex-direction:column;align-items:center}
@media(max-width:640px){.jt-point__head{flex-wrap:wrap;gap:10px}.jt-point__h{font-size:clamp(20px,5.6vw,26px)}}

/* point01 DHK CLOUD 図版 */
.jt-cloud__logo{width:min(522px,90%);height:106px;overflow:hidden;position:relative;margin:0 auto}
.jt-cloud__logo img{position:absolute;top:0;left:-16.36%;width:132.35%;height:auto}
.jt-cloud__graph{display:block;width:min(800px,100%);margin:-20px auto 0}

/* point02 機能カード */
.jt-feat__grid{display:flex;flex-wrap:wrap;justify-content:center;gap:24px;width:100%;margin:0 auto}
.jt-feat__c{position:relative;width:315px;min-height:240px;background:#fff;border:1px solid var(--k-line,#e2e7f1);border-radius:16px;padding:26px 23px;box-shadow:0 9px 24px rgba(13,20,43,.06);overflow:hidden}
.jt-feat__c::before{content:"";position:absolute;top:-34px;left:-35px;width:118px;height:118px;border-radius:50%;background:radial-gradient(circle at center,rgba(11,95,255,.10) 0%,rgba(11,95,255,0) 70%)}
.jt-feat__icon{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,#3C87FA 0%,#0B5FFF 100%);filter:drop-shadow(0 8px 9px rgba(11,95,255,.3));margin-bottom:14px}
.jt-feat__icon img{width:24px;height:24px}
.jt-feat__no{position:absolute;top:10px;right:14px;font-family:var(--font-montserrat);font-weight:800;font-size:36px;letter-spacing:-.72px;color:#0b5fff;opacity:.09;line-height:1}
.jt-feat__h{font-family:var(--font-noto);font-weight:700;font-size:16px;line-height:1.4;color:#101726;margin:0}
.jt-feat__tx{font-family:var(--font-noto);font-size:13px;line-height:1.8;color:#3c4456;margin:8px 0 0}

/* point03 セキュリティ */
.jt-security{display:block;width:min(700px,100%);margin:0 auto}

/* point04 比較表 */
.jt-cmp{width:min(800px,100%);margin:0 auto;overflow-x:auto}
.jt-cmp__tbl{display:grid;grid-template-columns:195px 1fr 1fr;gap:0 3px;min-width:640px}
.jt-cmp__row{display:contents}
.jt-cmp__hd{padding:16px 10px 10px;font-family:var(--font-noto);font-weight:700;font-size:18px;text-align:center;color:#fff;border-radius:18px 18px 0 0}
.jt-cmp__hd--push{background:#595b5f}
.jt-cmp__hd--ai{background:#0b5fff}
.jt-cmp__lbl{display:flex;align-items:center;justify-content:center;font-family:var(--font-noto);font-weight:700;font-size:18px;color:#464646;background:#f9f9f9;padding:16px 8px;text-align:center}
.jt-cmp__cell{display:flex;align-items:center;gap:14px;padding:18px 20px;font-family:var(--font-noto);font-size:13px;line-height:1.8;color:#3c4456}
.jt-cmp__cell img{flex:0 0 auto;width:38px;height:38px;object-fit:contain}
.jt-cmp__cell b{color:#0b5fff;font-weight:700}
.jt-cmp__row--alt .jt-cmp__lbl{background:#f9fbff}
.jt-cmp__row--alt .jt-cmp__cell{background:#f9fbff}
.jt-cmp__cell--push{background:rgba(89,91,95,.05)}
.jt-cmp__cell--ai{background:rgba(11,95,255,.05)}
.jt-cmp__row--alt .jt-cmp__cell--push{background:#f4f5f7}
.jt-cmp__row--alt .jt-cmp__cell--ai{background:#f0f5ff}

/* ---------- USER VOICE 2枚（k-case2の上書き） ---------- */
.jt-voice .k-case2__grid{display:flex;justify-content:center;gap:60px;flex-wrap:wrap}
.jt-voice .k-case2__c{width:292px}

/* ---------- セクション余白の微調整 ---------- */
.jt-sec{padding:90px 0}
.jt-sec--tint{background:#f5f7fb}

/* ---------- CTA k-cv3（ad001のsim-cssブロックから抽出） ---------- */
.k-cv3__arw{position:absolute;right:11px;top:50%;transform:translateY(-50%);color:#2451FF}
.k-cv3__btn--main .k-cv3__arw{color:#fff}
.k-cv3__btn--main .k-cv3__btn-tx small{color:rgba(255,255,255,.92)}
.k-cv3__btn--main:hover{box-shadow:0 1px 0 #a85800}
.k-cv3__btn--main>svg:first-child{color:#fff}
.k-cv3__btn--main{background:linear-gradient(135deg,#FF9900,#FF7A00);color:#fff;box-shadow:0 4px 0 #a85800}
.k-cv3__btn-tx small{font-size:11px;font-weight:700;color:#6b7486}
.k-cv3__btn-tx{display:flex;flex-direction:column;gap:2px;font-size:15.5px;font-weight:900;line-height:1.3;text-align:left;min-width:0}
.k-cv3__btn:hover{transform:translateY(3px);box-shadow:0 1px 0 rgba(9,14,40,.30)}
.k-cv3__btn>svg:first-child{flex:0 0 auto;color:#2451FF}
.k-cv3__btn{flex:1;display:flex;align-items:center;gap:11px;background:#fff;border-radius:14px;padding:13px 32px 13px 15px;text-decoration:none!important;box-shadow:0 4px 0 rgba(9,14,40,.30);position:relative;transition:transform .12s ease,box-shadow .12s ease;color:#0d142b}
.k-cv3__item{flex:1;display:flex;flex-direction:column;min-width:0}
.k-cv3__who{color:#fff;font-size:12.5px;font-weight:700;margin:0 0 9px;opacity:.95;text-align:center}
.k-cv3{display:flex;gap:16px;justify-content:center;align-items:stretch;max-width:920px;margin:10px auto 0}
@media(max-width:820px){.k-cv3{flex-direction:column;max-width:400px;gap:14px}}
/* --main はベースの .k-cv3__btn より後に置く（上書き順） */
.k-cv3__btn--main{background:linear-gradient(135deg,#FF9900,#FF7A00);color:#fff;box-shadow:0 4px 0 #a85800}
.k-cv3__btn--main:hover{box-shadow:0 1px 0 #a85800}
.k-cv3__btn--main>svg:first-child{color:#fff}
.k-cv3__btn--main .k-cv3__arw{color:#fff}
.k-cv3__btn--main .k-cv3__btn-tx small{color:rgba(255,255,255,.92)}
