/* pages/lp-scoutalia-3.css — linkedin.css から自動で分割。このページだけで使う記述 */
/* =========================================================
   ScouTalia
   ========================================================= */
.sc-hero { background: linear-gradient(180deg, #f3f6f9 0%, #fff 100%); }
.sc-hero .page-hero__inner { grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); align-items: center; }
.sc-hero__logo { font-family: var(--font-en); font-size: 22px; font-weight: 500; letter-spacing: .02em; color: var(--brand-blue); }
.sc-hero__logo span { font-family: var(--font-ja); font-size: 12px; font-weight: 400; color: var(--ink-2); margin-left: 10px; }
.sc-hero .page-hero__title { font-size: clamp(30px, 3.2vw, 46px); margin-top: 16px; }
.sh__av { width: 30px; height: 30px; border-radius: 50%; background: radial-gradient(circle at 50% 38%, #f1d2bd 0 22%, transparent 23%), radial-gradient(circle at 50% 105%, #2e4a6b 0 46%, transparent 47%), linear-gradient(160deg, #d9e6f2, #b8cde3); flex: none; }
/* 4つの機能の画面（.scw） */
.scw { width: 72%; background: #fff; border-radius: 12px; padding: 22px; box-shadow: 0 30px 60px -26px rgba(17,18,20,.35); font-size: 12px; display: grid; gap: 12px; }
.scw [data-at]:not([data-to]):not(em) { opacity: 0; transform: translateY(8px); }
.scw [data-at].is-on { opacity: 1; transform: none; }
.scw__h { font-size: 11px; letter-spacing: .12em; color: var(--brand-blue); }
.scw__note { font-size: 12px; color: var(--ink-2); }
.scw--save { position: relative; grid-template-columns: 34% 1fr 40%; align-items: center; min-height: 240px; }
.scw__srcs { display: grid; gap: 10px; }
.scw__srcs p { padding: 8px 10px; border-radius: 999px; background: var(--paper); text-align: center; font-size: 11px; }
.scw__flow { width: 100%; height: 180px; }
.scw__flow path { fill: none; stroke: var(--brand-sky); stroke-width: 1.5; stroke-dasharray: 4 4; vector-effect: non-scaling-stroke; animation: bfv-flow 1s linear infinite; }
.scw__db { padding: 18px 16px; border-radius: 12px; background: var(--ink); color: #fff; display: grid; gap: 6px; }
.scw__db b { font-family: var(--font-en); color: var(--brand-sky); }
.scw__db em { font-style: normal; font-family: var(--font-en); font-size: 24px; font-weight: 300; }
.scw__db small { font-size: 10px; color: rgba(255,255,255,.6); }
.scw__kit { display: grid; gap: 8px; }
.scw__kit li { display: grid; grid-template-columns: 30px 1fr auto; grid-template-rows: auto auto; column-gap: 10px; align-items: center; padding: 10px 12px; border-radius: 10px; background: var(--paper); }
.scw__kit .sh__av { grid-row: span 2; }
.scw__kit b { font-size: 12px; font-weight: 500; }
.scw__kit small { grid-column: 2; font-size: 10px; color: var(--ink-2); }
.scw__kit em { grid-column: 3; grid-row: 1 / span 2; font-style: normal; font-size: 10px; padding: 4px 10px; border-radius: 999px; background: var(--brand-blue); color: #fff; }
.scw__slack { display: flex; gap: 10px; align-items: center; padding: 10px 12px; border-radius: 10px; border: 1px solid var(--ui-line); font-size: 11px; }
.scw__slack b { font-family: var(--font-en); font-size: 10px; padding: 2px 8px; border-radius: 4px; background: #4a154b; color: #fff; }
@media (max-width: 900px) {
  .sc-hero .page-hero__inner { grid-template-columns: 1fr; }
  .scw { width: 90%; }
  .scw--save { grid-template-columns: 1fr; }
  .scw__flow { display: none; }
}
.scw [data-at].is-on:not([data-to]):not(em) { opacity: 1; transform: none; }

/* =========================================================
   Scoutalia AI（全面改訂）
   ========================================================= */
.sc-hero__for { margin-top: 20px; font-size: 12px; color: var(--ink-2); letter-spacing: .04em; }

/* ATSとの違い（.dc） */
.dc { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(32px, 5vw, 80px); align-items: center; }
.dc__k { font-size: 12px; letter-spacing: .14em; color: var(--brand-blue); }
.dc__h { margin-top: 14px; font-size: var(--fs-h2); font-weight: 300; line-height: 1.6; }
.dc__lead { margin-top: 18px; font-size: 15px; line-height: 2; color: var(--ink-2); }
.dc__vis { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.dc__col { border-radius: 16px; padding: 22px; background: var(--paper); }
.dc__col--sa { background: var(--ink); color: #fff; }
.dc__ch { font-size: 13px; }
.dc__col--sa .dc__ch { color: var(--brand-sky); font-family: var(--font-en); }
.dc__dots { display: grid; grid-template-columns: repeat(10, 1fr); gap: 5px; margin-top: 16px; }
.dc__dots i { aspect-ratio: 1; border-radius: 50%; background: #d7dce2; transition: background .3s, transform .3s; }
.dc__col--sa .dc__dots i { background: rgba(255,255,255,.12); }
.dc.is-in .dc__dots--ats i:nth-child(-n+12) { background: var(--ink-2); }
.dc.is-in .dc__dots--sa i { background: var(--brand-sky); }
.dc__dots--sa i { transition-delay: calc(var(--k, 0) * 12ms); }
.dc__n { margin-top: 14px; }
.dc__n b { font-family: var(--font-en); font-weight: 200; font-size: 44px; }
.dc__n small { font-size: 12px; margin-left: 4px; }
.dc__note { grid-column: 1 / -1; font-size: 11px; color: var(--ink-2); }

/* AI判定のしくみ（.af） */
.af__lead { max-width: 46em; font-size: 15px; line-height: 2; color: var(--ink-2); margin: -12px 0 32px; }
.afx { margin-top: 24px; display: grid; grid-template-columns: auto 1fr 1fr; gap: 16px; align-items: center; padding: 22px 24px; border-radius: 14px; background: #fff; }
.afx__h { font-size: 13px; color: var(--ink-2); writing-mode: horizontal-tb; }
.afx__rule { display: grid; gap: 6px; }
.afx__rule p { font-size: 12px; padding: 8px 10px; border-radius: 8px; background: var(--paper); }
.afx__rule span { font-size: 10px; padding: 2px 8px; border-radius: 4px; background: #e6eefb; color: var(--brand-blue); margin-right: 8px; }
.afx__rule--ng span { background: #fbe6e6; color: #c0392b; }
.afx__rule > b { justify-self: center; font-family: var(--font-en); font-size: 10px; padding: 2px 10px; border-radius: 999px; background: var(--ink); color: #fff; }

/* 対応媒体（.sam） */
.sam { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; border-top: 1px solid var(--ink); padding-top: 24px; }
.sam__h { font-size: 12px; letter-spacing: .1em; color: var(--brand-blue); margin-bottom: 12px; }
.sam ul { display: grid; gap: 8px; }
.sam li { font-size: 15px; }

/* ショーケース追加パーツ */
.scw__ranks { display: flex; gap: 12px; font-size: 11px; color: rgba(255,255,255,.75); }
.scw__ranks b { font-family: var(--font-en); font-weight: 400; color: #fff; }
.scw__new { padding: 10px 12px; border-radius: 10px; background: #e6eefb; font-size: 13px; }
.scw__new b { font-family: var(--font-en); font-size: 10px; padding: 2px 8px; border-radius: 4px; background: var(--brand-blue); color: #fff; margin-right: 8px; }
.scw__search { font-size: 11px; color: var(--brand-blue); }
.scw__s, .scw__a { font-style: normal; width: 30px; height: 30px; border-radius: 8px; display: grid; place-items: center; font-family: var(--font-en); font-size: 13px !important; padding: 0 !important; }
.scw__a { background: #5aa0e6 !important; }
.scw__tpl { font-size: 12px; padding: 12px; border-radius: 10px; background: var(--paper); color: var(--ink-2); line-height: 1.8; }
.scw__arrow { font-size: 11px; color: var(--brand-blue); text-align: center; }
.scw__out { min-height: 90px; font-size: 13px; padding: 14px; border-radius: 10px; border: 1px solid var(--brand-blue); line-height: 1.9; }
.scw__tl { display: grid; gap: 0; border-left: 2px solid #dfe3e8; margin-left: 6px; }
.scw__tl li { position: relative; padding: 8px 0 8px 18px; font-size: 12px; }
.scw__tl li::before { content: ""; position: absolute; left: -7px; top: 13px; width: 12px; height: 12px; border-radius: 50%; background: #fff; border: 2px solid var(--brand-blue); }
.scw__tl b { display: inline-block; width: 64px; font-weight: 500; color: var(--brand-blue); }
.hm { display: grid; gap: 4px; }
.hm p { display: grid; grid-template-columns: 1.1fr repeat(3, 1fr); gap: 4px; align-items: center; font-size: 11px; }
.hm__h { font-size: 10px !important; color: var(--ink-2); }
.hm i { font-style: normal; text-align: center; padding: 10px 0; border-radius: 6px; background: rgba(58, 138, 200, var(--v)); color: #fff; font-family: var(--font-en); font-size: 12px; }
.scw__sim { padding: 12px 14px; border-radius: 10px; background: var(--ink); color: #fff; font-size: 12px; }
.scw__sim b { font-family: var(--font-en); font-weight: 200; font-size: 30px; color: var(--brand-sky); margin: 0 4px; }
.scw__sim small { color: rgba(255,255,255,.6); font-size: 10px; }
@media (max-width: 900px) {
  .dc, .dc__vis, .sam { grid-template-columns: 1fr 1fr; }
  .dc { grid-template-columns: 1fr; }
  .afx { grid-template-columns: 1fr; }
}
.dc__h { font-size: clamp(22px, 2.3vw, 32px); }
.scw .sx__type[data-at] { opacity: 1; transform: none; }
.scw .sx__type[data-at] { opacity: 1 !important; transform: none !important; }
@media (max-width: 900px) { .dc__vis { grid-template-columns: 1fr 1fr; } .dc__n b { font-size: 32px; } }

/* Scoutalia AI：ファーストビュー（AIが職歴を読む .ax） */
.ax { position: relative; }
.ax__win { border-radius: 12px; background: #fff; box-shadow: 0 40px 80px -30px rgba(17,18,20,.35), 0 0 0 1px rgba(17,18,20,.05); overflow: hidden; }
.ax__bar { display: flex; align-items: center; gap: 6px; padding: 10px 14px; background: #f3f5f7; }
.ax__bar i { width: 8px; height: 8px; border-radius: 50%; background: #d9dee3; }
.ax__url { margin-left: 10px; font-size: 10px; color: var(--ink-2); background: #fff; border-radius: 999px; padding: 2px 12px; }
.ax__body { position: relative; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); min-height: 380px; }
.ax__page { position: relative; padding: 16px 18px; overflow: hidden; }
.ax__prof { position: absolute; inset: 16px 18px; opacity: 0; transition: opacity .5s; }
.ax__prof.is-on { opacity: 1; }
.ax__media { font-size: 10px; color: var(--ink-2); }
.ax__media span { font-weight: 500; color: var(--ink); padding: 2px 8px; border-radius: 4px; background: var(--paper); margin-right: 6px; }
.ax__who { display: flex; gap: 10px; align-items: center; margin-top: 12px; }
.ax__av { width: 40px; height: 40px; border-radius: 50%; flex: none; background: radial-gradient(circle at 50% 38%, #f1d2bd 0 22%, transparent 23%), radial-gradient(circle at 50% 105%, #2e4a6b 0 46%, transparent 47%), linear-gradient(160deg, #d9e6f2, #b8cde3); }
.ax__who b { display: block; font-size: 14px; font-weight: 500; }
.ax__meta { font-size: 10px; color: var(--ink-2); padding: 1px 4px; border-radius: 4px; transition: background .3s; }
.ax__prof.is-hard .ax__meta { background: #e3f4ea; }
.ax__sh { margin-top: 14px; font-size: 10px; letter-spacing: .12em; color: var(--ink-2); }
.ax__cars { margin-top: 6px; display: grid; gap: 6px; }
.ax__car { display: grid; grid-template-columns: 72px 1fr; gap: 8px; padding: 8px; border-radius: 8px; transition: background .35s, box-shadow .35s; }
.ax__yr { font-family: var(--font-en); font-size: 10px; color: var(--ink-2); padding-top: 2px; }
.ax__car b { display: block; font-size: 11px; font-weight: 500; }
.ax__car small { display: block; font-size: 10px; color: var(--ink-2); line-height: 1.6; margin-top: 2px; }
.ax__car.is-hit { background: #e6f2fb; box-shadow: inset 3px 0 var(--brand-blue); }
.ax__car.is-ng { background: #fbe9e9; box-shadow: inset 3px 0 #c0392b; }
.ax__scan { position: absolute; left: 0; right: 0; top: 0; height: 60px; background: linear-gradient(180deg, rgba(46,184,222,0), rgba(46,184,222,.16) 70%, rgba(46,184,222,.55) 100%); border-bottom: 2px solid var(--brand-sky); opacity: 0; pointer-events: none; }
.ax.is-scan .ax__scan { animation: ax-scan 2.6s ease-in-out forwards; }
.ax__panel { border-left: 1px solid var(--line); background: #fbfcfd; padding: 14px; display: grid; align-content: start; gap: 8px; }
.ax__ph { display: flex; justify-content: space-between; align-items: baseline; }
.ax__ph b { font-family: var(--font-en); font-size: 13px; color: var(--brand-blue); }
.ax__st { font-size: 10px; color: var(--brand-sky); }
.ax__job { font-size: 10px; color: var(--ink-2); }
.ax__crs { display: grid; gap: 5px; }
.ax__cr { display: grid; grid-template-columns: auto 1fr 18px; align-items: center; gap: 6px; padding: 7px 8px; border-radius: 8px; background: #fff; box-shadow: 0 0 0 1px var(--line); font-size: 10px; transition: box-shadow .3s, background .3s, opacity .3s; }
.ax__tag { font-size: 9px; padding: 1px 6px; border-radius: 4px; background: #eef2f6; color: var(--ink-2); }
.ax__cr--ng .ax__tag { background: #fbe6e6; color: #c0392b; }
.ax__cr--c3 .ax__tag { background: #e3f4ea; color: #057642; }
.ax__cr--c1 .ax__tag, .ax__cr--c2 .ax__tag { background: #e6eefb; color: var(--brand-blue); }
.ax__mk { width: 18px; height: 18px; border-radius: 50%; display: grid; place-items: center; font-size: 10px; color: #fff; background: #e3e7eb; transform: scale(.6); transition: transform .3s var(--ease), background .3s; }
.ax__cr.is-ok { box-shadow: 0 0 0 1.5px var(--brand-blue); }
.ax__cr.is-ok .ax__mk { background: var(--brand-blue); transform: none; }
.ax__cr.is-ok .ax__mk::after { content: "✓"; }
.ax__cr.is-pass .ax__mk { background: #9aa6b2; transform: none; }
.ax__cr.is-pass .ax__mk::after { content: "✓"; }
.ax__cr.is-ng { box-shadow: 0 0 0 1.5px #c0392b; background: #fff6f6; }
.ax__cr.is-ng .ax__mk { background: #c0392b; transform: none; }
.ax__cr.is-ng .ax__mk::after { content: "!"; }
.ax__cr.is-skip { opacity: .35; }
.ax__score { display: grid; grid-template-columns: 1fr auto 46px; align-items: center; gap: 10px; margin-top: 4px; }
.ax__sb { height: 8px; border-radius: 4px; background: #e6e9ec; overflow: hidden; }
.ax__sb i { display: block; height: 100%; width: 0; background: linear-gradient(90deg, var(--brand-blue), var(--brand-sky)); transition: width 1s var(--ease); }
.ax__score p b { font-family: var(--font-en); font-weight: 300; font-size: 20px; }
.ax__score p small { font-size: 10px; margin-left: 2px; }
.ax__rank { width: 46px; height: 46px; border-radius: 12px; display: grid; place-items: center; font-family: var(--font-en); font-size: 22px; font-weight: 500; color: #fff; background: var(--brand-blue); opacity: 0; transform: scale(1.6) rotate(-8deg); transition: opacity .3s, transform .4s cubic-bezier(.3,1.6,.5,1); }
.ax.is-rank .ax__rank { opacity: 1; transform: none; }
.ax__rank.is-ng { background: #c0392b; font-size: 15px; }
.ax__rank.is-a { background: #5aa0e6; }
.ax__add { text-align: center; font-size: 11px; padding: 9px 0; border-radius: 999px; border: 1px solid var(--brand-blue); color: var(--brand-blue); opacity: .3; transition: opacity .3s, background .2s, color .2s, transform .15s; }
.ax.is-rank .ax__add { opacity: 1; }
.ax.is-press .ax__add { background: var(--brand-blue); color: #fff; transform: scale(.97); }
.ax.is-ngc .ax__add { border-color: var(--ui-line); color: var(--ink-2); }
.ax__lines { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; overflow: visible; }
.ax__lines path { fill: none; stroke: var(--brand-sky); stroke-width: 1.5; stroke-dasharray: 400; stroke-dashoffset: 400; animation: ax-draw .6s ease forwards; }
.ax__lines path.is-ng { stroke: #c0392b; }
.ax__pool { position: absolute; left: -24px; bottom: -30px; display: flex; align-items: center; gap: 14px; padding: 12px 18px; border-radius: 14px; background: var(--ink); color: #fff; box-shadow: 0 24px 50px -18px rgba(17,18,20,.5); }
.ax__pool small { display: block; font-size: 10px; color: rgba(255,255,255,.6); }
.ax__pool b { font-family: var(--font-en); font-weight: 200; font-size: 28px; font-variant-numeric: tabular-nums; }
.ax__pool span { font-size: 11px; margin-left: 2px; }
.ax__toast { font-size: 11px; color: var(--brand-sky); opacity: 0; transition: opacity .3s; }
.ax.is-toast .ax__toast { opacity: 1; }
.sc-hero .page-hero__inner { padding-bottom: 30px; }
@media (max-width: 900px) {
  .ax__body { grid-template-columns: 1fr; }
  .ax__page { min-height: 270px; }
  .ax__panel { border-left: 0; border-top: 1px solid var(--line); }
  .ax__lines { display: none; }
  .ax__pool { position: relative; left: auto; bottom: auto; margin: 12px 0 0 auto; width: max-content; }
}
.ax { margin-bottom: 56px; }
.ax__pool { bottom: -56px; left: -20px; padding: 10px 16px; }
.ax__pool b { font-size: 24px; }
@media (max-width: 900px) { .ax { margin-bottom: 0; } }

/* Scoutalia AI：AI判定のパイプライン（.afp） */
.afp { border-radius: 20px; background: #fff; padding: 24px; }
.afp__heads { display: grid; grid-template-columns: 1fr 1.1fr 1.1fr 1.1fr .9fr; gap: 10px; }
.afp__h { padding: 14px; border-radius: 12px; background: var(--paper); display: grid; align-content: start; gap: 4px; transition: box-shadow .4s, background .4s; }
.afp__h.is-on { box-shadow: 0 0 0 2px var(--brand-blue); background: #fff; }
.afp__h--src { background: transparent; border: 1px dashed #c3cad2; }
.afp__h--ai { background: var(--ink); color: #fff; }
.afp__h--ai.is-on { box-shadow: 0 0 0 2px var(--brand-sky); background: var(--ink); }
.afp__no { font-family: var(--font-en); font-size: 11px; color: var(--brand-blue); }
.afp__h--ai .afp__no { color: var(--brand-sky); }
.afp__n { font-size: 15px; }
.afp__d { font-size: 10px; color: var(--ink-2); line-height: 1.6; }
.afp__h--ai .afp__d { color: rgba(255,255,255,.6); }
.afp__c { margin-top: 6px; font-size: 11px; }
.afp__c b { font-family: var(--font-en); font-weight: 200; font-size: 30px; margin-right: 2px; font-variant-numeric: tabular-nums; }
.afp__h--out { background: linear-gradient(160deg, var(--brand-blue), #2c6ea3); color: #fff; }
.afp__h--out ul { display: grid; gap: 4px; margin-top: 4px; }
.afp__h--out li { display: flex; align-items: center; gap: 8px; font-family: var(--font-en); }
.afp__h--out li b { width: 22px; height: 22px; display: grid; place-items: center; border-radius: 6px; background: rgba(255,255,255,.2); font-size: 11px; font-weight: 500; }
.afp__h--out li span { font-size: 20px; font-weight: 300; }
.afp__stage { position: relative; height: 260px; margin-top: 14px; border-radius: 14px; background: radial-gradient(circle, rgba(17,18,20,.07) 1px, transparent 1.4px) 0 0 / 18px 18px, #f8fafc; overflow: hidden; }
.afp__gate { position: absolute; left: var(--x); top: 10%; bottom: 22%; width: 3px; border-radius: 2px; background: #c9d2db; transition: background .3s, box-shadow .3s; }
.afp__gate.is-on { background: var(--brand-blue); box-shadow: 0 0 14px rgba(58,138,200,.6); }
.afp__gate--ai.is-on { background: var(--brand-sky); box-shadow: 0 0 18px rgba(46,184,222,.8); }
.afp__bin { position: absolute; right: 3%; top: var(--y); transform: translateY(-50%); width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; font-family: var(--font-en); font-size: 13px; color: #fff; }
.afp__bin--s { background: var(--brand-blue); } .afp__bin--a { background: #5aa0e6; } .afp__bin--b { background: #9cc2ea; }
.afp__out { position: absolute; left: 0; right: 0; bottom: 0; height: 20%; border-top: 1px dashed #d5dbe1; padding: 6px 14px; font-size: 10px; color: var(--ink-2); }
.afp__dots { position: absolute; inset: 0; }
.afp__dots i { position: absolute; left: 0; top: 0; width: 8px; height: 8px; margin: -4px 0 0 -4px; border-radius: 50%; background: #8a96a3; transition: transform 1s cubic-bezier(.45,.05,.3,1), background .4s, opacity .4s; }
.afp__dots i.is-ng { background: #e07a6e; }
.afp__dots i.is-out { background: #c5ccd3; }
@media (max-width: 900px) {
  .afp { padding: 14px; }
  .afp__heads { grid-template-columns: 1fr 1fr; }
  .afp__h--out { grid-column: 1 / -1; }
  .afp__h--out ul { grid-template-columns: repeat(3, 1fr); }
  .afp__stage { height: 200px; }
  .afp__gate:nth-of-type(1) { left: 26%; } .afp__gate:nth-of-type(2) { left: 48%; } .afp__gate:nth-of-type(3) { left: 70%; }
  .afp__bin { width: 28px; height: 28px; font-size: 11px; }
}
@media (min-width: 901px) {

/* Scoutalia AI：Talent Pool をスクロール連動に（.bs--scroll、PCのみ） */
  .bs--scroll { height: calc(100vh + 5 * 70vh); align-items: start; }
  .bs--scroll > .bs__tabs, .bs--scroll > .bs__stage { position: sticky; top: max(96px, calc(50vh - 250px)); }
  .bs--scroll > .bs__tabs { margin-top: 40px; }
  .bs--scroll .bs__tt { max-height: 40px; opacity: .55; }
  .bs--scroll .bs__tab.is-on .bs__tt { opacity: 1; color: var(--ink-2); }
  .bs--scroll .bs__tab.is-on .bs__prog, .bs--scroll .bs__tab .bs__prog { animation: none; transform: scaleX(var(--p, 0)); background: var(--brand-blue); transition: transform .15s linear; }
  .bs--scroll .bs__tab.is-done .bs__no { color: var(--brand-blue); }
  .bs--scroll .bs__tab.is-done .bs__tn { color: var(--ink); }
  .bs--scroll .bs__pane > .sx { transform: scale(1.18); transform-origin: center; }
}

/* Scoutalia AI：媒体→AI判定→タレントプールの流れ（.mf） */
.mf { position: relative; display: grid; grid-template-columns: 240px minmax(0, 1fr) 260px; align-items: center; gap: 24px; margin: 8px 0 48px; padding: 32px; border-radius: 20px; background: var(--paper); overflow: hidden; min-height: 360px; }
.mf__lb { font-size: 11px; letter-spacing: .12em; color: var(--ink-2); margin-bottom: 12px; }
.mf__src { display: grid; gap: 8px; }
.mf__src li { position: relative; z-index: 2; display: flex; align-items: center; gap: 10px; padding: 11px 14px; border-radius: 10px; background: #fff; font-size: 13px; box-shadow: 0 1px 0 rgba(17,18,20,.06); transition: box-shadow .3s, transform .3s; }
.mf__src li.is-on { box-shadow: 0 0 0 2px var(--brand-blue), 0 8px 20px rgba(58,138,200,.18); transform: translateX(4px); }
.mf__ic { width: 18px; height: 18px; border-radius: 5px; background: #dfe5eb; position: relative; flex: none; }
.mf__ic::after { content: ""; position: absolute; inset: 5px 4px; border-top: 2px solid #9aa7b4; border-bottom: 2px solid #9aa7b4; }
.mf__src li.is-on .mf__ic { background: var(--brand-blue); } .mf__src li.is-on .mf__ic::after { border-color: #fff; }
.mf__src .mf__more { background: transparent; box-shadow: none; color: var(--ink-2); font-size: 12px; padding: 4px 14px; }
.mf__ai { position: relative; z-index: 2; display: grid; justify-items: center; gap: 12px; }
.mf__core { position: relative; width: 150px; height: 150px; border-radius: 50%; background: var(--ink); color: #fff; display: grid; place-items: center; text-align: center; }
.mf__core p { font-family: var(--font-en); font-size: 15px; line-height: 1.3; }
.mf__core small { display: block; font-family: inherit; font-size: 10px; letter-spacing: .14em; color: var(--brand-sky); margin-bottom: 4px; }
.mf__ring { position: absolute; inset: -8px; border-radius: 50%; border: 2px solid transparent; border-top-color: var(--brand-sky); border-right-color: rgba(46,184,222,.3); animation: mf-spin 1.6s linear infinite; opacity: .35; transition: opacity .3s; }
.mf__ai.is-busy .mf__ring { opacity: 1; animation-duration: .7s; }
.mf__rule { font-size: 11px; color: var(--ink-2); letter-spacing: .06em; }
.mf__db { position: relative; z-index: 2; border-radius: 14px; background: #fff; padding: 16px; box-shadow: 0 10px 30px rgba(17,18,20,.08); }
.mf__cnt { font-size: 12px; } .mf__cnt b { font-family: var(--font-en); font-weight: 200; font-size: 34px; margin-right: 4px; font-variant-numeric: tabular-nums; }
.mf__cnt.is-bump b { color: var(--brand-blue); }
.mf__rows { display: grid; gap: 6px; margin-top: 10px; min-height: 176px; align-content: start; }
.mf__rows li { display: grid; grid-template-columns: 22px 1fr auto; align-items: center; gap: 8px; padding: 7px 8px; border-radius: 8px; background: var(--paper); font-size: 12px; animation: mf-in .5s ease; }
.mf__rows li small { display: block; font-size: 9px; color: var(--ink-2); }
.mf__rows li:first-child { background: #eaf3fb; }
.mf__av { width: 22px; height: 22px; border-radius: 50%; background: linear-gradient(160deg, #c6d0da, #8f9cab); }
.mf__fly { position: absolute; inset: 0; z-index: 3; pointer-events: none; }
.mf__tk { position: absolute; left: 0; top: 0; display: flex; align-items: center; gap: 8px; padding: 7px 10px 7px 7px; border-radius: 999px; background: #fff; box-shadow: 0 6px 18px rgba(17,18,20,.14); font-size: 12px; white-space: nowrap; transition: transform .9s cubic-bezier(.5,0,.3,1), opacity .5s; }
.mf__tk .mf__rk { opacity: 0; transform: scale(.4); transition: .3s; }
.mf__tk.is-judged .mf__rk { opacity: 1; transform: none; }
.mf__tk.is-ng { background: #fbeceb; color: #b4483c; }
.mf__tk.is-ng .mf__rk { background: #e07a6e; font-size: 9px; width: auto; padding: 0 5px; }
.mf__tk.is-gone { opacity: 0; }
@media (max-width: 900px) {
  .mf { grid-template-columns: 1fr 96px 1fr; gap: 10px; padding: 18px 12px; min-height: 0; }
  .mf__src li { padding: 8px; font-size: 10px; gap: 6px; }
  .mf__ic { width: 12px; height: 12px; } .mf__ic::after { inset: 3px 2px; border-width: 1.5px; }
  .mf__core { width: 84px; height: 84px; } .mf__core p { font-size: 10px; } .mf__core small { font-size: 8px; }
  .mf__rule { display: none; }
  .mf__db { padding: 10px; } .mf__cnt b { font-size: 22px; }
  .mf__rows { min-height: 150px; } .mf__rows li { grid-template-columns: 1fr auto; font-size: 10px; padding: 6px; } .mf__rows .mf__av { display: none; }
  .mf__tk { font-size: 10px; padding: 5px 8px 5px 5px; } .mf__tk .mf__av { width: 16px; height: 16px; }
}
.sam { display: grid; grid-template-columns: 1fr; gap: 0; border-top: 1px solid var(--ink); padding-top: 0; }
.sam__g { display: grid; grid-template-columns: 170px minmax(0, 1fr); gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--line); align-items: start; }
.sam__h { margin: 6px 0 0; font-size: 13px; letter-spacing: .04em; color: var(--ink); }
.sam__h small { margin-left: 8px; font-family: var(--font-en); font-size: 11px; color: var(--ink-2); }
.sam ul { display: flex; flex-wrap: wrap; gap: 6px; }
.sam li { display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px 5px 9px; border-radius: 999px; background: #fff; border: 1px solid var(--line); font-size: 13px; line-height: 1.4; transition: opacity .25s, background .25s, border-color .25s; }
.sam li::before { content: ""; width: 10px; height: 6px; border-left: 2px solid var(--brand-blue); border-bottom: 2px solid var(--brand-blue); transform: rotate(-45deg) translate(1px, -2px); }
.sam.is-q li { opacity: .3; }
.sam.is-q li.is-hit { opacity: 1; background: var(--brand-blue); border-color: var(--brand-blue); color: #fff; }
.sam.is-q li.is-hit::before { border-color: #fff; }
@media (max-width: 900px) {
  .sam { grid-template-columns: 1fr; }
  .sam__g { grid-template-columns: 1fr; gap: 8px; }
  .sam li { font-size: 12px; }
}
.mf__src li { white-space: nowrap; font-size: 12.5px; }
.mf__rule { order: -1; }
.mf__core p { margin-top: -46px; }
.mf__lines { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 1; pointer-events: none; overflow: visible; }
.mf__lines path { fill: none; stroke: #c9d3dd; stroke-width: 1.5; stroke-dasharray: 4 5; transition: stroke .3s; }
.mf__lines path.is-on { stroke: var(--brand-blue); stroke-dasharray: none; }
@media (max-width: 900px) { .mf__core p { margin-top: -26px; } .mf__src li { font-size: 10px; white-space: normal; }
  .mf { grid-template-columns: 1fr; gap: 28px; padding: 20px 16px; }
  .mf__lines { display: none; }
  .mf__src { grid-template-columns: 1fr 1fr; gap: 6px; }
  .mf__src li { font-size: 11px; padding: 9px 10px; white-space: nowrap; }
  .mf__src li.is-on { transform: none; }
  .mf__src .mf__more { grid-column: 1 / -1; padding: 0 4px; }
  .mf__rule { display: block; }
  .mf__core { width: 104px; height: 104px; } .mf__core p { margin-top: -30px; font-size: 11px; }
  .mf__rows { min-height: 0; } .mf__rows li { grid-template-columns: 22px 1fr auto; font-size: 11px; } .mf__rows .mf__av { display: block; }
  .mf__tk { font-size: 11px; } .mf__core p { margin-top: -46px; } }

/* Scoutalia AI：Use Case（会社タイプを選ぶと、右で使い方が動く .uc） */
.uc { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: clamp(24px, 4vw, 48px); align-items: center; }
.uc__tabs { display: grid; gap: 10px; }
.uc__tab { position: relative; display: grid; gap: 4px; text-align: left; padding: 20px 22px; border: 1px solid var(--line); border-radius: 14px; background: #fff; font: inherit; color: var(--ink-2); cursor: pointer; overflow: hidden; transition: background .3s, color .3s, border-color .3s; }
.uc__tab:hover { border-color: var(--ink); }
.uc__tn { font-size: 18px; color: inherit; }
.uc__tw { font-size: 12px; opacity: .7; }
.uc__tab.is-on { background: var(--ink); border-color: var(--ink); color: #fff; }
.uc__prog { position: absolute; left: 0; bottom: 0; height: 3px; width: 100%; background: var(--brand-sky); transform: scaleX(0); transform-origin: left; }
.uc__tab.is-on .uc__prog { animation: bs-prog var(--dur, 10s) linear forwards; }
.uc.is-paused .uc__tab.is-on .uc__prog { animation: none; transform: scaleX(1); }
.uc__stage { position: relative; aspect-ratio: 16 / 10.5; border-radius: 18px; background: #eef1f4; overflow: hidden; container-type: inline-size; }
.uc__pane { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity .4s, visibility 0s .4s; }
.uc__pane.is-on { opacity: 1; visibility: visible; transition: opacity .5s; }
.uc__cap { position: absolute; left: 4%; right: 4%; bottom: 3.2%; display: flex; align-items: center; gap: 1.4cqw; font-size: 2.5cqw; font-weight: 500; color: var(--ink); opacity: 0; transform: translateY(8px); transition: opacity .4s, transform .4s; }
.uc__cap b { width: 3.4cqw; height: 3.4cqw; border-radius: 50%; display: grid; place-items: center; background: var(--brand-blue); color: #fff; font-family: var(--font-en); font-size: 1.7cqw; font-weight: 400; flex: none; }
.uc__cap.is-on { opacity: 1; transform: none; }
.uc__e { position: absolute; left: var(--x); top: var(--y); width: var(--w, auto); height: var(--h, auto); opacity: 0; transform: translateY(6px) scale(.98); transition: opacity .45s, transform .45s; font-size: 1.55cqw; }
.uc__e.is-on { opacity: 1; transform: none; }
.uc__win, .uc__cli, .uc__card, .uc__box { border-radius: 1.4cqw; background: #fff; box-shadow: 0 .6cqw 2cqw rgba(17,18,20,.07); padding: 1.6cqw; }
.uc__wh { font-size: 1.6cqw; font-weight: 500; margin-bottom: 1cqw; }
.uc__bar { height: 1.3cqw; border-radius: 1cqw; background: #e8ecf0; margin-top: .9cqw; width: 85%; }
.uc__bar + .uc__bar { width: 60%; }
.uc__box { display: flex; flex-direction: column; gap: .8cqw; overflow: hidden; }
.uc__bh { display: flex; justify-content: space-between; align-items: baseline; font-size: 1.5cqw; color: var(--ink-2); letter-spacing: .06em; margin-bottom: .4cqw; }
.uc__bh b { font-family: var(--font-en); font-weight: 300; font-size: 3cqw; color: var(--ink); letter-spacing: 0; }
.uc__row { display: flex; align-items: center; gap: 1cqw; padding: .9cqw 1cqw; border-radius: 1cqw; background: var(--paper); font-size: 1.5cqw; opacity: 0; transform: translateX(-6px); transition: opacity .35s, transform .35s, background .35s, box-shadow .35s; }
.uc__row.is-on { opacity: 1; transform: none; }
.uc__row.is-hl { background: #e3f0fb; box-shadow: inset 0 0 0 .2cqw var(--brand-blue); }
.uc__row.is-chk.is-on { background: #fff6e6; box-shadow: inset 0 0 0 .2cqw #e8a33d; }
.uc__av { width: 2.4cqw; height: 2.4cqw; border-radius: 50%; background: linear-gradient(160deg, #c6d0da, #8f9cab); flex: none; }
.uc__nm { flex: 1; }
.uc__tk { position: absolute; left: var(--x0); top: var(--y0); width: 2.6cqw; height: 2.6cqw; margin: -1.3cqw 0 0 -1.3cqw; border-radius: 50%; background: var(--brand-blue); box-shadow: 0 0 0 .5cqw rgba(58,138,200,.2); opacity: 0; z-index: 3; transition: left .9s cubic-bezier(.5,0,.3,1), top .9s cubic-bezier(.5,0,.3,1), opacity .25s; }
.uc__tk.is-on { opacity: 1; left: var(--x1); top: var(--y1); }
.uc__tag { display: flex; align-items: center; gap: 1cqw; padding: .8cqw 1.4cqw; border-radius: 1cqw; background: #fff; box-shadow: 0 0 0 .2cqw var(--brand-blue); font-size: 1.6cqw; z-index: 2; }
.uc__tag b { font-family: var(--font-en); font-size: 1.2cqw; font-weight: 500; color: #fff; background: var(--brand-blue); padding: .2cqw .8cqw; border-radius: .5cqw; }
.uc__go { padding: .7cqw 1.4cqw; border-radius: 99px; background: var(--brand-blue); color: #fff; font-size: 1.5cqw; font-weight: 500; }
.uc__lb { font-size: 1.4cqw; color: var(--brand-blue); letter-spacing: .06em; }
.uc__big { font-size: 2.6cqw; font-weight: 500; margin: .6cqw 0 .3cqw; }
.uc__sm { font-size: 1.4cqw; color: var(--ink-2); }
.uc__card--old { background: transparent; box-shadow: inset 0 0 0 .15cqw #c9d2db; color: var(--ink-2); }
.uc__card--old .uc__big { color: #9aa5b1; text-decoration: line-through; text-decoration-color: #e07a6e; text-decoration-thickness: .3cqw; }
.uc__beam { position: absolute; left: 0; right: 0; top: 0; height: 18%; background: linear-gradient(180deg, transparent, rgba(46,184,222,.25), transparent); opacity: 0; }
.uc__beam.is-on { opacity: 1; animation: uc-beam 1.6s linear infinite; }
.uc__box--dark { background: var(--ink); color: #fff; align-items: center; justify-content: center; text-align: center; }
.uc__box--dark .uc__bh { color: var(--brand-sky); justify-content: center; }
.uc__num { font-size: 1.6cqw; } .uc__num b { font-family: var(--font-en); font-weight: 200; font-size: 7cqw; margin-right: .4cqw; }
.uc__box--dark .uc__sm { color: rgba(255,255,255,.6); }
.uc__chips { display: flex; flex-wrap: wrap; gap: .6cqw; }
.uc__chips span { padding: .4cqw .9cqw; border-radius: 99px; background: var(--paper); font-size: 1.3cqw; }
.uc__chips .uc__ng { background: #fbeceb; color: #b4483c; }
.uc__who { font-size: 1.35cqw; color: #b77a1d; text-align: center; opacity: 0; transition: opacity .4s; }
.uc__who.is-on { opacity: 1; }
.uc__bars { flex: 1; display: flex; align-items: flex-end; gap: 1.2cqw; padding: 1cqw .4cqw 0; border-bottom: .15cqw solid var(--line); }
.uc__bars i { flex: 1; height: 0; border-radius: .5cqw .5cqw 0 0; background: var(--brand-blue); opacity: .85; transition: height .7s cubic-bezier(.3,.7,.3,1); }
.uc__bars i:nth-child(odd) { background: var(--brand-sky); }
.uc__bars i.is-on { height: var(--v); }
.uc__stamp { align-self: center; margin: .6cqw 0 .2cqw; padding: .5cqw 1.6cqw; border: .25cqw solid var(--brand-blue); border-radius: .8cqw; color: var(--brand-blue); font-size: 1.7cqw; font-weight: 600; letter-spacing: .1em; transform: rotate(-6deg) scale(1.6); opacity: 0; transition: transform .3s cubic-bezier(.3,1.6,.5,1), opacity .2s; }
.uc__stamp.is-on { opacity: 1; transform: rotate(-6deg) scale(1); }
@media (max-width: 900px) {
  .uc { grid-template-columns: 1fr; }
  .uc__tabs { grid-template-columns: repeat(3, 1fr); gap: 6px; }
  .uc__tab { padding: 12px 10px; border-radius: 10px; }
  .uc__tn { font-size: 12px; line-height: 1.4; } .uc__tw { display: none; }
  .uc__stage { aspect-ratio: 16 / 12; border-radius: 12px; }
  .uc__e { font-size: 2cqw; } .uc__row, .uc__bh, .uc__sm, .uc__chips span { font-size: 2cqw; } .uc__wh { font-size: 2.1cqw; }
  .uc__cap { font-size: 3.4cqw; } .uc__cap b { width: 4.6cqw; height: 4.6cqw; font-size: 2.4cqw; }
}
.uc__sc { position: absolute; left: 0; right: 0; top: 0; height: 85%; }
.uc__caps { position: absolute; left: 0; right: 0; bottom: 0; height: 15%; background: #fff; border-top: 1px solid var(--line); }
.uc__cap { bottom: auto; top: 50%; transform: translateY(calc(-50% + 8px)); }
.uc__cap.is-on { transform: translateY(-50%); }
.uc__stage { aspect-ratio: 16 / 11; }
@media (max-width: 900px) { .uc__stage { aspect-ratio: 16 / 13; } }

/* 対応媒体：件数（検索欄は廃止） */
.sam-cnt { font-size: 13px; color: var(--ink-2); margin-bottom: 12px; text-align: right; }
.sam-cnt b { font-family: var(--font-en); font-size: 22px; font-weight: 300; color: var(--ink); margin-left: 4px; }

/* Scoutalia AI：80万件で鍛えたAI（.ev2 データ量と精度のチャート） */
.ev2 { display: grid; grid-template-columns: 340px minmax(0, 1fr); gap: clamp(24px, 5vw, 72px); align-items: end; }
.ev2__n { display: flex; align-items: baseline; gap: 8px; }
.ev2__n b { font-family: var(--font-en); font-weight: 200; font-size: clamp(80px, 10vw, 136px); line-height: .9; color: var(--brand-blue); letter-spacing: -.03em; }
.ev2__n span { font-size: 20px; }
.ev2__t { margin-top: 20px; font-size: 15px; line-height: 1.9; }
.ev2__lg { display: flex; gap: 18px; margin-top: 28px; font-size: 12px; color: var(--ink-2); }
.ev2__lg li { display: flex; align-items: center; gap: 8px; }
.ev2__lg .is-bar::before { content: ""; width: 12px; height: 12px; border-radius: 2px; background: #cfe2f3; }
.ev2__lg .is-line::before { content: ""; width: 18px; height: 3px; border-radius: 2px; background: var(--brand-blue); }
.ev2__chart { position: relative; padding-top: 64px; }
.ev2__chart svg { display: block; width: 100%; height: 300px; overflow: visible; }
.ev2__b { fill: #cfe2f3; transform: scaleY(0); transform-box: fill-box; transform-origin: bottom; transition: transform .6s cubic-bezier(.3,.7,.3,1) var(--d); }
.ev2__b:last-of-type { fill: #9cc5ea; }
.ev2.is-in .ev2__b { transform: none; }
.ev2__ln { fill: none; stroke: var(--brand-blue); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; stroke-dasharray: 1; stroke-dashoffset: 1; transition: stroke-dashoffset 1.8s cubic-bezier(.4,0,.2,1) .3s; }
.ev2.is-in .ev2__ln { stroke-dashoffset: 0; }
.ev2__dot { fill: var(--brand-blue); stroke: #fff; stroke-width: 3; vector-effect: non-scaling-stroke; opacity: 0; transition: opacity .3s 2s; }
.ev2.is-in .ev2__dot { opacity: 1; }
.ev2__x { display: grid; grid-template-columns: repeat(12, 1fr); border-top: 1px solid var(--ink); padding-top: 8px; font-family: var(--font-en); font-size: 11px; color: var(--ink-2); text-align: center; }
.ev2__x li:last-child { color: var(--brand-blue); font-weight: 500; font-family: inherit; }
.ev2__pins li { position: absolute; top: 0; left: var(--x); transform: translateX(-50%); display: grid; gap: 2px; text-align: center; font-size: 11px; color: var(--ink-2); white-space: nowrap; opacity: 0; transition: opacity .4s; }
.ev2__pins li:first-child { transform: translateX(-12%); text-align: left; }
.ev2__pins li.is-now { transform: translateX(-88%); text-align: right; }
.ev2__pins b { font-size: 13px; font-weight: 500; color: var(--ink); }
.ev2__pins li.is-now b { color: var(--brand-blue); }
.ev2.is-in .ev2__pins li { opacity: 1; } .ev2.is-in .ev2__pins li:nth-child(2) { transition-delay: .9s; } .ev2.is-in .ev2__pins li:nth-child(3) { transition-delay: 1.9s; }
@media (max-width: 900px) {
  .ev2 { grid-template-columns: 1fr; }
  .ev2__chart svg { height: 200px; }
  .ev2__x { font-size: 8px; } .ev2__x li:not(:first-child):not(:last-child):nth-child(even) { visibility: hidden; }
  .ev2__pins li { font-size: 10px; } .ev2__pins b { font-size: 11px; }
}
@media (prefers-reduced-motion: reduce) { .ev2__b { transform: none; } .ev2__ln { stroke-dashoffset: 0; } .ev2__dot, .ev2__pins li { opacity: 1; } }
.ev2__chart svg, .ev2__chart svg { height: auto; }
.ev2__ln, .ev2__dot { vector-effect: none; }
.ev2__ln { stroke-width: 3.5; }
@media (max-width: 900px) { .ev2__chart svg { height: auto; } .ev2__ln { stroke-width: 5; } }

/* ===== スマホ最適化：AI Screening は 媒体の候補者 → 01 → 02 → 03 → ランク を縦1列のステップに ===== */
@media (max-width: 600px) {
  .afp__heads { grid-template-columns: 1fr; gap: 8px; }
  .afp__h { grid-template-columns: 30px minmax(0, 1fr) auto; grid-template-areas: "no n c" "no d c"; column-gap: 10px; row-gap: 2px; align-items: center; padding: 14px 16px; }
  .afp__no { grid-area: no; font-size: 13px; align-self: start; padding-top: 2px; }
  .afp__n { grid-area: n; }
  .afp__d { grid-area: d; font-size: 11px; }
  .afp__c { grid-area: c; margin: 0; white-space: nowrap; }
  .afp__c b { font-size: 26px; }
  .afp__h--src .afp__n { grid-column: 1 / 3; }
  .afp__h--out { grid-template-columns: 1fr; grid-template-areas: none; }
  .afp__h--out .afp__n { grid-area: auto; }
  /* 背景の白・グレーが続かないように */
  .section--paper + .section--paper { background: var(--white); }
}
