/* XServer 採用サイト — スマホ対応（基準390px / PC・タブレット表示は不変） */
/* 数字で見る: 中間幅（768〜1180px）は4カラムに84px数字が収まらないため、4列→3列に落とし数字も縮小 */
@media (min-width: 768px) and (max-width: 1180px){
  .d-stats[style*="repeat(4, 1fr)"]{ grid-template-columns: repeat(3, 1fr) !important; }
  .d-stats p[style*="font-size: 84px"]{ font-size: 64px !important; }
  .d-stats p[style*="font-size: 54px"]{ font-size: 44px !important; }
}
/* index MV: タブレット幅はボタン下の余白を圧縮 */
@media (min-width: 768px) and (max-width: 1040px){
  .mv-textblock{ padding-bottom: 72px !important; }
}
/* index MVリード文: SP幅は改行なしで流し込み */
@media (max-width: 767px){
  .mv-lead-br{ display: none; }
}
@media (max-width: 767px){
  .cta-br, .fv-br{display:none}
  /* 下層FV写真: PCの340pxはSPだとほぼ正方形になるため約16:9に */
  div.bleed-in[style*="height: 340px"]{ height: 220px !important; }
  /* 統計ブロック（評価2025年度実績・welfare PICK UP）: SPは縦積みなので罫線を横に・見出しと数字を密着 */
  div[style*="repeat(auto-fit, minmax(240px, 1fr))"] > div{ border-right: none !important; padding: 0 8px !important; }
  div[style*="repeat(auto-fit, minmax(240px, 1fr))"] > div + div{ margin-top: 26px; padding-top: 26px !important; border-top: 1px solid rgba(13,44,82,0.12); }
  div[style*="repeat(auto-fit, minmax(240px, 1fr))"] p[style*="min-height"]{ min-height: 0 !important; }
  :root{ --font-size-body: 15px; }
  /* インラインで16px直書きの本文もSPは15pxに統一 */
  [style*="font-size: 16px"]{ font-size: 15px !important; }
  /* --- 多カラムグリッドを1カラム化（インラインstyle値で特定） --- */
  [style*="grid-template-columns: 1.1fr 0.9fr"],
  [style*="grid-template-columns: repeat(3, 1fr)"],
  [style*="grid-template-columns: repeat(3, minmax("],
  [style*="grid-template-columns: auto minmax(0px, 1fr)"],
  [style*="grid-template-columns: 1fr 1fr"],
  [style*="grid-template-columns: minmax(0px, 1.2fr) minmax(320px, 1.2fr)"],
  [style*="grid-template-columns: 300px 1fr"],
  [style*="grid-template-columns: minmax(0px, 1.4fr)"],
  [style*="grid-template-columns: clamp(240px, 30%, 340px)"],
  [style*="grid-template-columns: 104px minmax("],
  [style*="grid-template-columns: repeat(2, minmax("],
  [style*="grid-template-columns: 220px minmax("],
  [style*="grid-template-columns: minmax(0px, 1fr) minmax(260px, 340px)"],
  [style*="grid-template-columns: minmax(0px, 1fr) calc(50vw - 160px)"],
  [style*="grid-template-columns: calc(50vw - 160px) minmax(0px, 1fr)"],
  [style*="grid-template-columns: repeat(2, 1fr)"]{
    grid-template-columns: 1fr !important;
  }
  .num-hero p[style*="font-size: var(--font-size-body-lg)"]{ font-size: 13px !important; margin-top: 12px !important; }
  /* DATA帯の上マージン縮小 */
  div[style*="margin: 80px 0px 0px"]{ margin-top: 48px !important; }
  /* 数字ストリップ（ピル）: ラベル1行＋3統計横並び（育休は省略） */
  .num-strip{ grid-template-columns: repeat(3, 1fr) !important; margin-top: 14px !important; padding: 22px 20px !important; border-radius: 24px !important; gap: 18px 8px !important; }
  .num-strip-label{ grid-column: 1 / -1; max-width: none !important; text-align: center; }
  .num-strip-label br{ display: none; }
  .num-strip-hide{ display: none !important; }
  .num-strip > div{ flex-direction: column; text-align: center; gap: 8px !important; }
  .num-strip > div span[style*="font-size: 30px"]{ font-size: 22px !important; }
  .num-strip > div span[style*="font-size: 14px"]{ font-size: 12px !important; }
  .num-strip > div span[style*="font-size: 12px"]{ font-size: 11px !important; }
  .num-strip > div > span > span:first-child{ justify-content: center; }
  /* グループ体制図: 縦積み・子会社を右インデント＋左に接続線 */
  .co-flow{ grid-template-columns: 1fr !important; row-gap: 20px; }
  .co-flow > .co-lines{ display: none !important; }
  .co-flow > div:last-child{ position: relative; margin-left: 28px; grid-template-rows: none !important; }
  .co-flow > div:last-child > *{ position: relative; }
  .co-flow > div:last-child > *::before{ content: ""; position: absolute; left: -16px; top: 50%; width: 16px; height: 2px; background: var(--blue-200); }
  /* 縦線: 各カード左に上ギャップから下端まで、最後のカードのみ自身の中心で止める */
  .co-flow > div:last-child > *::after{ content: ""; position: absolute; left: -16px; top: -20px; bottom: 0; width: 2px; background: var(--blue-200); }
  .co-flow > div:last-child > *:last-child::after{ bottom: auto; height: calc(50% + 20px); }
  /* メディア一覧: 画像→テキスト縦積み、矢印非表示 */
  .ml-row{ grid-template-columns: 1fr !important; gap: 18px !important; }
  .ml-row > :last-child{ display: none !important; }
  /* --- 汎用調整 --- */
  .scroll-cue{ display: none !important; }
  [style*="white-space: nowrap"]{ white-space: normal !important; }
  [style*="min-width: 680px"]{ min-width: 0 !important; }
  [style*="font-size: 92px"]{ font-size: 44px !important; top: -8px !important; }
  /* 見出し: 英字ウォーターマークと日本語の重なりをPC同様に */
  div[style*="padding-top: 34px"][style*="position: relative"]{ padding-top: 16px !important; }
  /* index英字ディスプレイ見出し（Message / Company 等）をSPで縮小 */
  h2[style*="clamp(56px, 5.4vw, 76px)"], h2[style*="var(--font-size-en-display"]{ font-size: 48px !important; margin-top: -6px !important; }
  h2[style*="clamp(56px, 5.4vw, 76px)"] ~ *, span[style*="color: #1786D1"], span[style*="rgb(23, 134, 209)"]{ }
  span[style*="font-size: 18px"][style*="letter-spacing: 0.08em"]{ font-size: 14px !important; }
  /* 見出し横の「すべての○○を見る」は改行して下に */
  .sec-hdrow{ flex-direction: column; align-items: flex-start !important; gap: 22px !important; }
  .sec-hdrow .sec-hdlink{ margin-top: 0 !important; }
  /* --- 見出しタイプスケール（スマホ縮小） --- */
  [style*="font-size: 72px"]{ font-size: 34px !important; }
  [style*="font-size: 64px"]{ font-size: 32px !important; }
  [style*="font-size: 56px"]{ font-size: 30px !important; }
  [style*="font-size: 52px"]{ font-size: 28px !important; }
  [style*="font-size: 48px"]{ font-size: 27px !important; }
  [style*="font-size: 44px"], [style*="font-size: 48px"]{ font-size: 26px !important; }
  h1[style*="font-size: 44px"], h1[style*="font-size: 48px"]{ font-size: 30px !important; }
  h1.jd-fvtitle{ font-size: 48px !important; }
  h2[style*="clamp(24px, 2.4vw, 32px)"]{ font-size: 26px !important; }
  [style*="font-size: 40px"]{ font-size: 25px !important; }
  h1{ font-size: clamp(24px, 6.6vw, 30px) !important; }
  blockquote[style*="font-size: 30px"], blockquote[style*="font-size: 28px"]{ font-size: 19px !important; }
  blockquote[style*="font-size: 30px"], blockquote[style*="font-size: 28px"]{ font-size: 19px !important; }
  /* message: 社長写真は横いっぱい・縦は上限あり */
  .msg-float{ float: none !important; width: 100% !important; margin: 6px 0 28px !important; }
  .msg-float img{ aspect-ratio: auto !important; height: min(92vw, 420px) !important; object-position: center 22%; }
  /* 共通CTA（エントリー）: SPは見出し・本文を縮小、ボタン縦積み */
  [data-screen-label="エントリー"] h2{ font-size: 15px !important; letter-spacing: 0 !important; line-height: 2 !important; }
  [data-screen-label="エントリー"] p{ font-size: 13.5px !important; }
  [data-screen-label="エントリー"]{ padding-top: 72px !important; padding-bottom: 72px !important; }
  [data-screen-label="エントリー"] h2 + p + div{ flex-direction: column; align-items: center; gap: 14px !important; margin-top: 34px !important; }
  [data-screen-label="エントリー"] h2 + p + div a{ width: 230px; box-sizing: border-box; justify-content: center; padding: 0 !important; }
  /* index MV: ボタンは390px以上なら横並び、それ未満は縦積み */
  .mv-btnrow{ flex-wrap: wrap; gap: 12px !important; }
  /* フッター: リンクを折返し（1行2項目程度） */
  footer nav{ margin-left: 0 !important; flex-wrap: wrap; row-gap: 12px !important; column-gap: 20px !important; }
  footer > div{ flex-direction: column-reverse; align-items: flex-start !important; gap: 20px !important; }
  /* Workplace: 画像非表示・リンクに左右ガター */
  .wp-grid{ grid-template-columns: 1fr !important; padding-left: clamp(20px, 5vw, 48px) !important; }
  .wp-grid > div:first-child{ display: none; }
  .wp-tile{ padding: 16px 8px !important; }
  .wp-tile > span:first-child{ gap: 4px !important; }
  .wp-tile > span:first-child > span:last-child{ font-size: 13px !important; line-height: 1.7 !important; }
  .wp-title{ font-size: 17px !important; }
  /* people スライドショー: SPは停止・縦を縮小 */
  .ppl-marq{ animation: none !important; }
  .ppl-marq img{ width: 240px !important; height: 180px !important; }
  /* media サムネ: SPは1枚=画面幅 */
  a[style*="flex: 0 0 480px"]{ flex: 0 0 100% !important; }
  /* media: SP でも矢印とスクロールバーを出し、その下にリンクを置く */
  .md-arrow{ width: 44px !important; height: 44px !important; }
  .md-nav{ gap: 16px !important; }
  /* people: SPはリンクを説明文下に */
  .ppl-hdlink{ display: none !important; }
  .ppl-splink{ display: block !important; }
  section[data-screen-label="人を知る"] div[style*="margin-top: 56px"]{ margin-top: 32px !important; }
  section[data-screen-label="人を知る"] div[style*="margin-top: 10px"]{ margin-top: 24px !important; }
  .md-hdlink{ display: none !important; }
  .md-splink{ display: flex !important; }
  /* セクション上下余白: 104px → 64px */
  section[style*="padding: 104px"], div[data-screen-label][style*="padding: 104px"]{ padding-top: 64px !important; padding-bottom: 64px !important; }
  section[style*="104px clamp(20px, 5vw, 48px) 0"]{ padding-bottom: 0 !important; }
  section[style*="104px 48px 0"]{ padding-bottom: 0 !important; }
  /* index DATA: 運用サイト数を省略し2列横並び */
  .num-hero{ grid-template-columns: 1.4fr 1fr !important; row-gap: 40px !important; }
  .num-hero-hide{ display: none !important; }
  .num-hero > div:first-child{ border-right: 1px solid rgba(13,44,82,0.1) !important; }
  .num-hero > div{ padding: 0 8px !important; }
  .num-hero > div:first-child{ padding-bottom: 8px !important; }
  .num-hero span[style*="clamp(64px, 7.5vw, 96px)"]{ font-size: 44px !important; }
  .num-hero span[style*="font-size: 26px"]{ font-size: 18px !important; }
  .num-hero > div > span{ flex-wrap: nowrap; white-space: nowrap; }
  /* index MV: 2枚目（fv_new_04）はSPで右寄せ表示 */
  .mv-bgwrap img[src*="fv_new_04"]{ object-position: 88% center !important; }
  .mv-bgwrap img[src*="fv_new_02_flipped"]{ object-position: 62% center !important; }
  /* MV: SPは写真分離・見出しだけ写真左下に白文字で重ねる */
  .mv-bgwrap{ position: relative !important; height: 80vh !important; }
  .mv-grad{ background: linear-gradient(180deg, rgba(9,24,44,0) 30%, rgba(9,24,44,0.52) 100%) !important; }
  .mv-textblock h1{ color: #fff !important; }
  .mv-textblock h1 + p{ display: none !important; }
  /* Message帯: SPは背景写真がないため透過でなく不透明の紺 */
  .mv-content > div[style*="rgba(9, 24, 44"], .mv-content > div[style*="rgba(9,24,44"]{ background: #09182C !important; padding-top: 64px !important; padding-bottom: 64px !important; }
  .mv-content{ margin-top: 0 !important; }
  .mv-textblock{ margin-top: -80vh !important; min-height: 80vh !important; padding: 0 20px 40px !important; box-sizing: border-box !important; }
  .mv-textblock h1 + p{ margin-top: 16px !important; }
  .mv-btnrow{ margin-top: 24px !important; }
  /* ヘッダー: SPライト調整（ロゴピル縮小・ラベル非表示・メニューをガラスピル化） */
  .hdr-logopill{ height: 56px !important; padding: 0 18px !important; }
  /* ヘッダー左右をコンテンツガター(約20px)に揃える */
  .hdr-logopill{ margin-left: -4px; }
  .hdr-menupill{ margin-right: -4px; }
  .hdr-logolabel{ font-size: 11.5px !important; letter-spacing: 0.06em !important; white-space: nowrap; }
  /* 390px級ではラベルを「採用サイト」に短縮 */
  @media (max-width: 480px){
    .hdr-lbl-full{ display: none; }
    .hdr-lbl-short{ display: inline !important; }
  }
  .hdr-menupill{ position: relative; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; min-width: 56px; width: 56px; height: 56px; border-radius: 50%; border: 1px solid rgba(255,255,255,0.95); background: rgba(255,255,255,0.55); backdrop-filter: blur(18px) saturate(1.25); -webkit-backdrop-filter: blur(18px) saturate(1.25); box-shadow: 0 8px 22px rgba(13,44,82,0.1); box-sizing: border-box; }
  .hdr-menupill button{ margin: 0 !important; }
  /* Company 3リンク: SPは低め・文字小さめ */
  .co-photolink{ height: 84px !important; border-radius: 14px !important; }
  .co-photolink > span:last-child{ font-size: 16px !important; gap: 14px !important; position: absolute !important; inset: 0 !important; padding: 0 18px; justify-content: space-between; }
  .co-photolink > span:last-child > span{ width: 30px !important; height: 30px !important; }
  .num-alllink{ margin-top: 20px !important; }
  /* index message帯: SPは左揃え・改行なし */
  .msg-inner{ align-items: flex-start !important; text-align: left !important; }
  .msg-inner > div:first-child{ align-items: flex-start !important; text-align: left !important; }
  .msg-br{ display: none; }
  .msg-btnrow{ justify-content: flex-start !important; margin-top: 28px !important; }
  /* 福利厚生 AI活用: SPは1カラム */
  .bn-aigrid{ grid-template-columns: 1fr !important; }
  /* index Q&A: その他の質問を見るは中央配置 */
  .faq-morelink{ justify-content: center !important; }
  /* 見出し下マージン圧縮（Workplace / media / Q&A） */
  .wp-grid{ margin-top: 20px !important; }
  section[data-screen-label="メディア"] > div:last-child{ margin-top: 16px !important; }
  section[data-screen-label="よくあるご質問"] > div{ gap: 24px !important; }
  /* Q&A: アコーディオンを圧縮 */
  section[data-screen-label="よくあるご質問"] button[style*="padding: 22px 28px"]{ padding: 15px 12px !important; font-size: 14px !important; gap: 8px !important; letter-spacing: 0 !important; }
  section[data-screen-label="よくあるご質問"] div[style*="margin-top: 32px"]{ margin-top: 20px !important; }
  /* 会社カード: SPはpadding圧縮（矢印分の右余白は確保） */
  .co-flow div[style*="padding: 28px 74px"]{ padding: 20px 58px 20px 22px !important; }
  .co-flow div[style*="padding: 24px 74px"]{ padding: 16px 58px 16px 18px !important; }
  /* 11の行動指針: 指針の下に説明を縦積み */
  [style*="grid-template-columns: 340px"]{ grid-template-columns: 1fr !important; gap: 8px !important; }
  /* 事業とサービス: 売上グラフの余白圧縮 */
  div[style*="padding: 40px 44px"][style*="grid-template-columns"]{ padding: 0 !important; margin-top: 24px !important; gap: 28px !important; }
  div[style*="padding: 40px 44px"] div[style*="height: 260px"]{ padding: 0 !important; gap: 10px !important; }
  div[style*="padding: 40px 44px"] div[style*="margin-top: 10px"]{ padding: 0 !important; gap: 10px !important; }
  /* 事業領域ラベル: ピルとサービス名を縦積み */
  .bz-arealabel{ flex-direction: column; align-items: flex-start !important; gap: 10px !important; }
  /* 事業領域の図: SPは横スクロールで原寸表示（バー非表示） */
  .bz-portchart{ margin-top: 28px !important; }
  .bz-chartscroll{ overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
  .bz-chartscroll::-webkit-scrollbar{ display: none; }
  /* 375px 以下でも横スクロールが出ないよう、下限は枠に収まる値にする。
     図は viewBox なので幅に合わせて比例縮小するだけ。 */
  .bz-chartscroll > svg{ min-width: 280px; }
  .bz-chartbar[data-on="1"]{ display: block !important; }
  /* 数字で見る: C-2型をSPで1カラム化 */
  .d-stats{ grid-template-columns: repeat(2, minmax(0,1fr)) !important; gap: 28px 16px !important; }
  .d-stats p[style*="font-size: 54px"]{ font-size: 44px !important; letter-spacing: -0.02em; }
  .d-stats p[style*="font-size: 84px"]{ font-size: 52px !important; letter-spacing: -0.02em; }
  .d-stat{ grid-template-columns: 32px minmax(0,1fr) !important; gap: 0 10px !important; align-content: start !important; align-items: center !important; }
  .d-stat > span:first-child{ width: 32px !important; height: 32px !important; }
  .d-stat > span:last-child{ display: contents !important; }
  .d-stat p:first-of-type{ align-self: center; }
  .d-stat p[style*="font-size: 84px"], .d-stat p[style*="font-size: 54px"]{ grid-column: 1 / -1; margin-top: 12px !important; }
  .d-stat p[style*="font-size: 12.5px"]{ grid-column: 1 / -1; }
  .d-stats p[style*="font-size: 84px"] span[style*="font-size: 20px"], .d-stats p[style*="font-size: 54px"] span[style*="font-size: 20px"]{ font-size: 15px !important; }
  .d-phototile{ grid-column: 1 / -1 !important; grid-row: auto !important; min-height: 0 !important; height: 180px; order: 99; margin-right: 0 !important; border-radius: 16px !important; }
  section[data-screen-label="働く環境の数字"]{ padding-bottom: 96px !important; }
  .d-photoband{ margin-top: 32px !important; height: 180px !important; }
  /* キャリア形成の図: SPは横スクロール＋バー */
  .ev-chartscroll{ overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
  .ev-chartscroll::-webkit-scrollbar{ display: none; }
  .ev-chartscroll > svg{ min-width: 680px !important; }
  .ev-chartbar{ display: block !important; }
  /* オフィス写真: SPは大1枚の下に2枚横並び */
  .of-imggrid{ grid-template-columns: 1fr !important; }
  .of-subgrid{ grid-template-rows: none !important; grid-template-columns: 1fr 1fr !important; }
  .of-subgrid img{ aspect-ratio: 16/10.5; }
  /* 福利厚生 PICK UP: 要素間に余白 */
  section[data-screen-label="福利厚生 PICK UP"] div[style*="repeat(auto-fit"]{ row-gap: 40px !important; margin-top: 32px !important; }
  section[data-screen-label="福利厚生 PICK UP"] div[style*="repeat(auto-fit"] > div{ border-right: none !important; }
  /* AI活用・各種制度: 見出し下マージン縮小、制度カードを圧縮 */
  section[data-screen-label="AI活用"] div[style*="repeat(auto-fit"]{ margin-top: 24px !important; }
  section[data-screen-label="各種制度"] > div > div[style*="flex-direction: column"]{ margin-top: 24px !important; gap: 24px !important; }
  section[data-screen-label="各種制度"] div[style*="padding: 34px 38px"]{ padding: 22px 20px 12px !important; }
  section[data-screen-label="各種制度"] div[style*="padding: 34px 38px"] > div:first-child{ padding-bottom: 12px !important; }
  section[data-screen-label="各種制度"] div[style*="padding: 15px 0px 16px"]{ padding: 9px 0 10px !important; }
  /* 各種制度・AI活用: SPはPCより一段小さく（PC側で+2した分を戻す） */
  section[data-screen-label="各種制度"] h3[style*="font-size: 21px"]{ font-size: 18px !important; }
  section[data-screen-label="各種制度"] span[style*="font-size: 17.5px"]{ font-size: 15px !important; }
  section[data-screen-label="各種制度"] span[style*="font-size: 15px"][style*="pre-line"]{ font-size: 13.5px !important; }
  section[data-screen-label="AI活用"] p[style*="font-size: 15px"]{ font-size: 13.5px !important; }
  /* オフィス: ブロック見出しを中見出しサイズに */
  section[data-screen-label="オフィス紹介"] h2{ font-size: 20px !important; }
  /* 人を知る一覧: 2列（狭ければ1列）・カード高さ統一（F案: 全面写真＋グラデ） */
  .pl-grid{ grid-template-columns: repeat(auto-fill, minmax(175px, 1fr)) !important; gap: 16px !important; }
  .pl-grid > a{ height: 340px !important; }
  .pl-grid > a p{ font-size: 13px !important; line-height: 1.6 !important; }
  .pl-grid > a span[style*="width: 38px"]{ display: none !important; }
  /* media一覧: タイトル縮小 */
  .ml-row span[style*="font-size: 22px"]{ font-size: 17px !important; }
  /* media記事: 見出し縮小 */
  h1[style*="clamp(30px, 3vw, 42px)"]{ font-size: 22px !important; }
  h1[style*="clamp(30px, 3vw, 42px)"] + p{ font-size: 13.5px !important; }
  h2[style*="font-size: 26px"]{ font-size: 19px !important; }
  h2[style*="font-size: 26px"] > span{ font-size: 16px !important; }
  p[style*="font-size: 17px"][style*="font-weight: 800"]{ font-size: 15px !important; }
  /* FAQ: 1カラム・カテゴリナビ非表示・検索は最上部 */
  div[data-screen-label="FAQ本体"] > div{ grid-template-columns: 1fr !important; gap: 52px !important; }
  .faq-side{ position: static !important; }
  .faq-catnav{ display: none !important; }
  /* カジュアル面談: 見出し下・要素間の余白圧縮 */
  section[data-screen-label="面談でお話しできること"] div[style*="margin-top: 56px"]{ margin-top: 24px !important; gap: 28px !important; }
  section[data-screen-label="実施方法"] div[style*="margin-top: 64px"]{ margin-top: 24px !important; gap: 16px !important; }
  section[data-screen-label="面談後の流れ"] div[style*="margin-top: 64px"]{ margin-top: 24px !important; row-gap: 12px !important; }
  /* 面談後の流れ: SPはアロー型をやめカード型に */
  .cf-step{ filter: drop-shadow(0 6px 14px rgba(13,44,82,0.10)) !important; }
  .cf-stepcard{ padding: 22px 24px !important; border: none !important; border-radius: 0 !important; box-shadow: none !important; }
  .cf-step:first-child .cf-stepcard{ clip-path: polygon(0% 0%, 100% 0%, 100% calc(100% - 22px), 50% 100%, 0% calc(100% - 22px)) !important; padding-bottom: 40px !important; }
  .cf-step:last-child .cf-stepcard{ clip-path: polygon(0% 0%, 50% 22px, 100% 0%, 100% 100%, 0% 100%) !important; padding-top: 40px !important; }
  .cf-step:not(:first-child):not(:last-child) .cf-stepcard{ clip-path: polygon(0% 0%, 50% 22px, 100% 0%, 100% calc(100% - 22px), 50% 100%, 0% calc(100% - 22px)) !important; padding-top: 40px !important; padding-bottom: 40px !important; }
  .cf-step + .cf-step{ margin-top: -12px; }
  section[data-screen-label="カジュアル面談FAQ"] > div{ gap: 20px !important; }
  section[data-screen-label="申込フォーム"] form > div[style*="grid-template-columns"]{ gap: 20px !important; }
  /* FAQページ: indexのQ&Aと同じ圧縮＋項目間を狭く */
  div[data-screen-label="FAQ本体"] button[style*="padding: 22px 26px"]{ padding: 15px 14px !important; gap: 10px !important; }
  div[data-screen-label="FAQ本体"] button[style*="padding: 22px 26px"] span{ font-size: 14px !important; letter-spacing: 0 !important; }
  div[data-screen-label="FAQ本体"] div[style*="gap: 14px"][style*="margin-top: 28px"]{ gap: 6px !important; margin-top: 14px !important; }
  div[data-screen-label="FAQ本体"] h2[style*="font-size: 26px"]{ font-size: 19px !important; }
  /* 申込フォーム: カード枠なしでフル幅 */
  .cf-formcard{ background: none !important; border: none !important; box-shadow: none !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important; padding: 0 !important; margin-top: 28px !important; border-radius: 0 !important; }
  /* 募集要項: 行ラベルを見出し的に（青グラデ縦バー） */
  .jd-row{ padding: 22px 0 !important; gap: 14px !important; }
  /* インタビューMV: 写真は上部に短く（右寄り表示）、パンくず以下は写真の下の白地へ */
  .iv-mvimg{ height: 390px !important; object-position: 65% 0% !important; }
  .iv-mvgrad{ height: 390px !important; background: rgba(9,24,44,0.08) !important; }
  section[data-screen-label="インタビュー FV"] > div[style*="padding: 134px"]{ padding-top: 418px !important; }
  body section[data-screen-label="インタビュー FV"]{ background: #FFFFFF !important; }
  section[data-screen-label="インタビュー FV"] div[style*="min-height"]{ min-height: 0 !important; }
  .iv-mvtext{ padding-top: 28px !important; padding-bottom: 8px !important; }
  .iv-mvtext h1 + p{ margin-top: 6px !important; }
  /* キャッチ帯: SPは名前ブロックとの間を詰め、INTERVIEWを縮小 */
  section[data-screen-label="インタビュー キャッチ"]{ padding-top: 40px !important; }
  section[data-screen-label="インタビュー キャッチ"] span[style*="font-size: 80px"]{ font-size: 44px !important; top: 12px !important; }
  section[data-screen-label="インタビュー本文"] .iv-qa:first-child{ padding-top: 8px !important; }
  /* Q&A: SPは1カラム・Q番号を見出し上に小さく */
  .iv-qa{ grid-template-columns: 1fr !important; gap: 6px 0 !important; padding: 32px 0 !important; }
  .iv-qno{ text-align: left !important; }
  .iv-qno p{ font-size: 16px !important; line-height: 1.4 !important; }
  .iv-qa h2{ font-size: 18px !important; }
  /* 募集要項: 追従エントリーは下部センター */
  .jd-float{ right: 16px !important; left: 16px !important; bottom: 16px !important; display: flex; justify-content: center; }
  .jd-float a{ width: 230px; box-sizing: border-box; justify-content: center; padding: 0 !important; }
  /* 横スクロールの保険 */
  html, body{ overflow-x: clip; }
  /* FAQ: SPはコンテンツ内の検索バーを使い、スクロールで上部に張付き */
  .faq-side{ display: none !important; }
  .faq-spsearch{ display: block !important; position: sticky !important; top: 92px; z-index: 40; background: var(--surface-page, #fff); padding: 8px 0; margin-top: -8px; box-shadow: 0 -14px 0 var(--surface-page, #fff); }
  div[data-screen-label="FAQ本体"]{ background: none !important; }
}
/* FAQ検索: PCはサイドのみ、SP用は非表示（上の767px内で上書き） */
.faq-spsearch{ display: none; }
/* FAQ検索: ブラウザ標準の×（クリアボタン）を消す — 自前の×と二重になるため */
.faq-searchinput::-webkit-search-cancel-button, .faq-searchinput::-webkit-search-decoration{ -webkit-appearance: none; appearance: none; }

/* iOS はフォントサイズ 16px 未満の入力欄にフォーカスすると、ページを自動で拡大する。
   Q&A の検索欄（既定 13.5px）が対象になるため、SP だけ 16px にして拡大を防ぐ。 */
@media (max-width: 767px){
  input.faq-searchinput{ font-size: 16px !important; }
}

/* OS で「視差効果を減らす」「アニメーションを減らす」を選んでいる利用者には、
   自動で動き続ける表示を止める。トップの社員写真マーキーが対象。
   MV の自動切り替えと数字のカウントアップは JS 側で同じ設定を見ている。 */
@media (prefers-reduced-motion: reduce){
  .ppl-marq{ animation: none !important; }
}

/* 募集要項: 行が縦並びになるのは 860px 以下（各求人ページの <style> が指定）。
   行ラベルの青グラデ縦バーも同じ幅から出す。767px だけに書いていたため、
   iPad 縦など 768〜860px で縦並びなのにバーが出ていなかった。 */
@media (max-width: 860px){
  .jd-row > div:first-child{ position: relative; padding-left: 12px; }
  .jd-row > div:first-child::before{ content: ""; position: absolute; left: 0; top: 3px; bottom: 3px; width: 4px; border-radius: 2px; background: linear-gradient(180deg,#00B3DB,#3B89DC); }
}

/* 福利厚生 PICK UP
   カードは 240px 下限の auto-fit で、3 つ横並びになるのは 800px 以上。
   それ未満だと 2 列になって 3 枚目だけが次の段に余り、カード間の区切り線が
   段の途中から始まって崩れる。横並びが 3 つにならない幅は 1 列に寄せる。
   縦並びのときの間隔は、区切り線の上下を同じ 26px に揃える
   （従来は gap 40 + margin 26 + padding 26 で 92px あり、空きすぎていた）。 */
@media (max-width: 799px){
  section[data-screen-label="福利厚生 PICK UP"] div[style*="repeat(auto-fit"]{
    grid-template-columns: 1fr !important;
    row-gap: 26px !important;
  }
  section[data-screen-label="福利厚生 PICK UP"] div[style*="repeat(auto-fit"] > div{
    border-right: none !important;
    padding: 0 8px !important;
  }
  section[data-screen-label="福利厚生 PICK UP"] div[style*="repeat(auto-fit"] > div + div{
    margin-top: 0 !important;
    padding-top: 26px !important;
    border-top: 1px solid rgba(13,44,82,0.12);
  }
}
