@charset "UTF-8";
/* ============================================================
   /asi/ 配下 スマホ最適化オーバーライド
   実装カンプ(PC向けインラインstyle)を 767px 以下でのみ上書きする。
   インラインstyleより優先させるため !important を使用。

   図版(複雑なダイアグラム)は .sp-scroll / .sp-scroll-inner で
   PCと同じレイアウトのまま横スクロール表示にする。
   .sp-scroll-inner 配下は下記の一括上書きの対象外。
   ============================================================ */

@media only screen and (max-width: 767px) {

  /* ---------- 基本 ---------- */
  html, body { overflow-x: hidden; }
  /* layout.css(SP) が body{margin-top:50px} で固定ヘッダー分を確保するため、
     ページ側の追いオフセットは解除して二重余白を防ぐ */
  #local-Header + * { margin-top: 0 !important; }

  /* ---------- 図版: PCレイアウトのまま横スクロール ---------- */
  .sp-scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .sp-scroll::before {
    content: "※ 図は横にスクロールできます";
    display: block;
    font-size: 1.2rem;
    color: #5C799A;
    margin: 0 0 .8rem;
  }
  .sp-scroll-inner { min-width: 96rem; zoom: 0.85; }

  /* ---------- グリッドは一律1カラム化(図版内は除く) ---------- */
  [style*="grid-template-columns"]:not(.sp-scroll-inner):not(.sp-scroll-inner *) {
    grid-template-columns: 1fr !important;
  }
  /* 先端技術セクション等の明示的な grid-row/grid-column 配置は自動配置に戻す */
  [style*="grid-column"]:not(.sp-scroll-inner *),
  [style*="grid-row"]:not(.sp-scroll-inner *) {
    grid-column: auto !important;
    grid-row: auto !important;
  }
  /* 先端技術カードの余白圧縮 */
  #Section-tech [style*="padding:3rem"] { padding: 2.2rem 1.8rem !important; }

  /* ---------- ページ内アンカー帯: 1行のまま横スクロール ---------- */
  [style*="display:flex;justify-content:center;flex-wrap:wrap"] {
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  a.anc-nav.anc-nav {
    padding: 1.4rem 1.6rem !important;
    font-size: 1.35rem !important;
    white-space: nowrap;
    flex: none;
  }

  /* ---------- セクション左右余白の圧縮 ---------- */
  [style*="padding:9rem 10vw"]:not(.sp-scroll-inner *),
  [style*="padding:11rem 10vw"]:not(.sp-scroll-inner *) { padding: 6rem 2rem 7rem !important; }
  [style*="padding:7.5rem 10vw"]:not(.sp-scroll-inner *),
  [style*="padding:8.5rem 10vw"]:not(.sp-scroll-inner *) { padding: 5.5rem 2rem 6rem !important; }
  [style*="padding:8rem 10vw"]:not(.sp-scroll-inner *) { padding: 5.5rem 2rem 6rem !important; }
  [style*="padding:5rem 10vw"]:not(.sp-scroll-inner *) { padding: 4rem 2rem !important; }
  [style*="padding:3rem 10vw"]:not(.sp-scroll-inner *) { padding: 2rem 2rem 6rem !important; } /* 記事ヒーロー */
  [style*="padding:2.6rem 4rem"]:not(.sp-scroll-inner *) { padding: 2rem 2rem 5rem !important; } /* 一覧ヒーロー */
  [style*="padding:7rem 4rem"]:not(.sp-scroll-inner *) { padding: 5rem 2rem 6rem !important; } /* 一覧リスト */
  [style*="padding:6rem 4rem"]:not(.sp-scroll-inner *) { padding: 4.5rem 2rem 0 !important; } /* 記事リード */
  [style*="padding:8rem 0"]:not(.sp-scroll-inner *) { padding: 5rem 0 !important; }
  [style*="padding:11rem 0"]:not(.sp-scroll-inner *) { padding: 6rem 0 !important; }

  /* ---------- 見出し・大型テキストの縮小(図版内は除く) ---------- */
  [style*="font-size:5.2rem"]:not(.sp-scroll-inner *) { font-size: 3rem !important; line-height: 1.5 !important; }
  [style*="font-size:4.4rem"]:not(.sp-scroll-inner *) { font-size: 2.6rem !important; }
  [style*="font-size:3.6rem"]:not(.sp-scroll-inner *) { font-size: 2.4rem !important; }
  [style*="font-size:3.4rem"]:not(.sp-scroll-inner *) { font-size: 2.2rem !important; }
  [style*="font-size:3.2rem"]:not(.sp-scroll-inner *),
  [style*="font-size: 3.2rem"]:not(.sp-scroll-inner *) { font-size: 2.2rem !important; }
  [style*="font-size:3rem"]:not(.sp-scroll-inner *),
  [style*="font-size: 3rem"]:not(.sp-scroll-inner *) { font-size: 2.1rem !important; }
  [style*="font-size:2.6rem"]:not(.sp-scroll-inner *) { font-size: 2rem !important; }
  [style*="font-size:2.3rem"]:not(.sp-scroll-inner *) { font-size: 1.9rem !important; }

  /* ---------- 本文テキストを2回り縮小(図版内は除く) ---------- */
  [style*="font-size:2.8rem"]:not(.sp-scroll-inner *) { font-size: 2rem !important; }
  [style*="font-size:2.1rem"]:not(.sp-scroll-inner *) { font-size: 1.7rem !important; }
  [style*="font-size:1.7rem"]:not(.sp-scroll-inner *) { font-size: 1.5rem !important; }
  [style*="font-size:1.65rem"]:not(.sp-scroll-inner *) { font-size: 1.45rem !important; }
  [style*="font-size:1.6rem"]:not(.sp-scroll-inner *),
  [style*="font-size: 1.6rem"]:not(.sp-scroll-inner *) { font-size: 1.4rem !important; }
  [style*="font-size:1.55rem"]:not(.sp-scroll-inner *) { font-size: 1.35rem !important; }
  [style*="font-size:1.5rem"]:not(.sp-scroll-inner *),
  [style*="font-size: 1.5rem"]:not(.sp-scroll-inner *) { font-size: 1.3rem !important; }
  [style*="font-size:1.45rem"]:not(.sp-scroll-inner *) { font-size: 1.3rem !important; }
  [style*="font-size:1.4rem"]:not(.sp-scroll-inner *) { font-size: 1.25rem !important; }
  [style*="font-size:1.35rem"]:not(.sp-scroll-inner *) { font-size: 1.2rem !important; }
  /* 記事本文の段落(2.05含む)も一段縮小 */
  .ctbl { font-size: 1.25rem !important; }

  /* ---------- BASICS本文: SPでは左罫線とインデントを外す ---------- */
  [style*="border-left:1px solid #E1E8F0"] {
    border-left: none !important;
    padding-left: 0 !important;
  }

  /* ---------- 資料DLカード(CASE STUDIES)の余白圧縮 ---------- */
  [style*="padding:5rem 6rem"] { padding: 2.8rem 2rem !important; }

  /* ---------- KV(LPメインビジュアル) ---------- */
  #main-content { padding: 6rem 2rem 7rem !important; }

  /* ---------- BASICS(車載ソフトウェアとは?)の左右2段組 ---------- */
  [style*="display:flex;gap:4rem"]:not(.sp-scroll-inner *) { flex-direction: column !important; gap: 2.4rem !important; }
  [style*="flex:none;width:30rem"]:not(.sp-scroll-inner *) { width: 100% !important; }

  /* ---------- BASICS: テキスト+コラムボタン行を縦積み ---------- */
  [style*="align-items:center;justify-content:space-between;gap:2rem"]:not(.sp-scroll-inner *) {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 1.6rem !important;
  }

  /* ---------- 事業紹介(DIVISION): リスト+ポートレートの2段組を縦積み ---------- */
  [style*="display:flex;gap:5.5rem"]:not(.sp-scroll-inner *) { flex-direction: column !important; gap: 3rem !important; }
  [style*="width:20rem;height:24rem"]:not(.sp-scroll-inner *) { margin: 2rem auto 0 !important; }

  /* ---------- 記事: 執筆者ボックス ---------- */
  [style*="display:flex;gap:3.2rem"]:not(.sp-scroll-inner *) { flex-direction: column !important; align-items: center !important; gap: 2rem !important; }
  [style*="flex:none;width:13rem"] { width: 14rem !important; }

  /* ---------- 記事: 本文テーブルは横スクロール ---------- */
  .ctbl-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .ctbl { min-width: 56rem; }

  /* ---------- ボタン・CTA ---------- */
  [style*="min-width:30rem"] { min-width: 0 !important; width: 100% !important; max-width: 34rem !important; }
  [style*="max-width:36rem"] { max-width: 100% !important; }

  /* ---------- 汎用: パディング大きめのカード(図版内は除く) ---------- */
  [style*="padding:3.8rem 4.2rem"]:not(.sp-scroll-inner *) { padding: 2.6rem 2rem !important; }
  [style*="padding:3.6rem 3.4rem"]:not(.sp-scroll-inner *) { padding: 2.8rem 2rem !important; }
  [style*="padding:3.4rem 3.6rem"]:not(.sp-scroll-inner *) { padding: 2.6rem 2rem !important; }
  [style*="padding:2.6rem 3rem"]:not(.sp-scroll-inner *) { padding: 2.2rem 1.8rem !important; }
  [style*="padding:2.6rem 4.2rem"]:not(.sp-scroll-inner *) { padding: 2.4rem 2rem !important; }

  /* ---------- 画像・図版 ---------- */
  img { max-width: 100%; height: auto; }
  .sp-scroll-inner img { max-width: none; }
  /* layout.css(SP) の .Section__inner img{margin:5rem auto 0} を無効化
     (アイコン等すべての img に 50px の上マージンが付き崩れるため) */
  .Section__inner img { margin: 0 !important; }

  /* ---------- クラス化コンポーネントのSP上書き(asi.css対応) ---------- */
  .asi-h2:not(.sp-scroll-inner *) { font-size: 2.2rem !important; }
  .asi-h3:not(.sp-scroll-inner *) { font-size: 2rem !important; }
  .asi-stat-num:not(.sp-scroll-inner *) { font-size: 2.2rem !important; }
  .asi-section-lead:not(.sp-scroll-inner *) { font-size: 1.4rem !important; }
  .asi-lead-sm:not(.sp-scroll-inner *) { font-size: 1.35rem !important; }
  .asi-card-title:not(.sp-scroll-inner *) { font-size: 1.35rem !important; }
  .asi-card-title-md:not(.sp-scroll-inner *),
  .asi-title-md:not(.sp-scroll-inner *) { font-size: 1.5rem !important; }
  .asi-card-text:not(.sp-scroll-inner *),
  .asi-card-text2:not(.sp-scroll-inner *),
  .asi-li-md:not(.sp-scroll-inner *),
  .asi-li-check:not(.sp-scroll-inner *),
  .asi-num-sm:not(.sp-scroll-inner *),
  .asi-num-sky:not(.sp-scroll-inner *),
  .asi-white-label:not(.sp-scroll-inner *),
  .asi-eyebrow:not(.sp-scroll-inner *) { font-size: 1.25rem !important; }
  .asi-item-label:not(.sp-scroll-inner *),
  .asi-label-purple:not(.sp-scroll-inner *) { font-size: 1.2rem !important; }
  .asi-num-md:not(.sp-scroll-inner *) { font-size: 1.3rem !important; }

  /* ---------- 記事ページ用クラスのSP上書き ---------- */
  .asi-art-p:not(.sp-scroll-inner *),
  .asi-art-p--26:not(.sp-scroll-inner *),
  .asi-art-p--28:not(.sp-scroll-inner *),
  .asi-art-p--30:not(.sp-scroll-inner *) { font-size: 1.4rem !important; }
  .asi-art-text:not(.sp-scroll-inner *) { font-size: 1.3rem !important; }
  .asi-art-text-lg:not(.sp-scroll-inner *),
  .asi-toc-t:not(.sp-scroll-inner *) { font-size: 1.35rem !important; }
  .asi-art-h4-t:not(.sp-scroll-inner *) { font-size: 1.5rem !important; }
  .asi-fig-cap:not(.sp-scroll-inner *),
  .asi-fig-ph-t:not(.sp-scroll-inner *) { font-size: 1.2rem !important; }
  .asi-toc-num:not(.sp-scroll-inner *) { font-size: 1.3rem !important; }
  .asi-art-strong-t:not(.sp-scroll-inner *) { font-size: 1.4rem !important; }
  .asi-jump-box { padding: 1.8rem 2rem !important; }

  /* ---------- 記事SP: 目次の余白 ---------- */
  [style*="margin-top:6.5rem;border:1px solid #D3DEEA"] { margin-top: 4rem !important; }
  [style*="background:#0F2B4A;padding:2rem 3rem"] { padding: 1.4rem 1.8rem !important; }
  [style*="padding:0 3rem 1rem"] { padding: 0 1.6rem .6rem !important; }
  [style*="font-size:1.9rem;font-weight:700;color:#fff"] { font-size: 1.6rem !important; }
  .asi-toc-row { padding: 1.2rem .2rem !important; gap: 1.2rem !important; }

  /* ---------- 記事SP: 本文セクションの余白 ---------- */
  [style*="padding:0 4rem 9rem"] { padding: 0 2rem 6rem !important; }
  .asi-art-sec { margin: 6rem 0 0 !important; }
  .asi-art-h3 { margin: 4.5rem 0 0 !important; }
  .asi-art-h4 { margin-top: 3.2rem !important; }
  .asi-jump-box { margin-top: 2.2rem !important; }
  .asi-fig-ph { height: 22rem !important; }

  /* ---------- 記事SP: 見出しサイズ ---------- */
  .asi-art-h2 { font-size: 2rem !important; }
  .asi-art-h3-t { font-size: 1.7rem !important; }
  .asi-art-h4-t { font-size: 1.45rem !important; }
  .asi-art-h3-bar { height: 2rem !important; }

  /* ---------- 記事SP: ヒーローの余白圧縮 ---------- */
  #article-top { padding: 1.6rem 2rem 4.5rem !important; }
  #article-top [style*="margin-top:8rem"] { margin-top: 3rem !important; }
  #article-top [style*="margin-top:2.2rem"] { margin-top: 1.4rem !important; }
  #article-top h1 { margin-top: 1.6rem !important; }

  /* ---------- 共通化第2弾クラスのSP上書き ---------- */
  .asi-cta-card { padding: 2.8rem 2rem !important; }
  .asi-toc-box { margin-top: 4rem !important; }
  .asi-btn-primary { max-width: 100% !important; }
  .asi-btn-outline { min-width: 0 !important; width: 100% !important; max-width: 34rem !important; }
  .asi-cta-grid { grid-template-columns: 1fr !important; }
  .asi-cta-h2:not(.sp-scroll-inner *),
  .asi-cta-h2-b:not(.sp-scroll-inner *),
  .asi-about-em:not(.sp-scroll-inner *) { font-size: 2.2rem !important; }
  .asi-dl-title:not(.sp-scroll-inner *) { font-size: 2rem !important; }
  .asi-colcard-title:not(.sp-scroll-inner *),
  .asi-colcard-text:not(.sp-scroll-inner *),
  .asi-cta-text:not(.sp-scroll-inner *),
  .asi-cta-lead:not(.sp-scroll-inner *) { font-size: 1.3rem !important; }
  .asi-strong-navy:not(.sp-scroll-inner *) { font-size: 1.25rem !important; }
  .asi-readmore:not(.sp-scroll-inner *) { font-size: 1.2rem !important; }
  .asi-strong-blue:not(.sp-scroll-inner *) { font-size: 1.4rem !important; }

  /* asi.css の ui.js 対策(IDセレクタ)よりSPの余白を優先 */
  #page-hero { padding-top: 2rem !important; }

  /* SPではヘッダーのサイト名「モビリティ」を非表示 */
  .FSI-Header__Sitetitle { display: none !important; }
}






