/* ============================================================
   スマホ表示 折り返し補正（全ページ共通・最後に読み込み）
   狭い画面(600px以下)で横並びブロックを1列に統一し、
   文字の縦積み・はみ出しを防ぐ。PC表示には影響しない。
   ============================================================ */
@media (max-width: 600px) {
  .about-split,.aidx-grid,.annual-grid,.axis3-grid,.ba-wrap,.biz-cards,
  .career-grid,.case-grid,.case-grid2,.case-index,.case-metrics,.cause-grid,
  .cd-cols,.classify-grid,.contact-grid,.coo-cl-grid,.coo-hero__inner,
  .coo-price-grid,.deliverable-grid,.dx2-grid,.dxp-grid,.eval-hero__inner,
  .faq-check,.feature-grid,.flow-grid,.flow-mini-grid,.flow-steps,
  .foreign-layout,.foreign-supports-grid,.form-row,.hplp-feat__grid,
  .kyushu-grid,.mbanner-grid,.mgmt-cases,.mgmt-grid,.ntabs,.outcome-grid,
  .plan-grid,.plan-grid3,.pn-grid,.pn-photos,.pn-target__grid,.pp-list,
  .principle-row,.questions-grid,.record-grid,.report-preview-grid,.role-grid,
  .row-3,.sample-grid,.site-footer__top,.sm-grid,.sp-common__grid,.sp-grid,
  .stage-grid,.su-grid,.su-list,.support-grid,.svc-grid,.svc-select-grid,
  .target-grid,.three-col,.value-grid,.worry-grid {
    grid-template-columns: 1fr !important;
  }

  /* 横スクロール（画面右へのはみ出し）を防ぐ保険 */
  html, body { overflow-x: hidden; }

  /* 縦積みになった要素間の余白を最低限確保 */
  .biz-cards, .svc-grid, .mgmt-grid, .aidx-grid, .plan-grid, .plan-grid3,
  .coo-price-grid, .sp-grid, .case-grid, .mgmt-cases, .worry-grid,
  .outcome-grid, .role-grid, .ntabs, .ba-wrap {
    gap: 16px !important;
  }
}

/* インライン指定の多段グリッドもスマホで1列に（テーマ単体で完結させる） */
@media (max-width: 768px) {
  [style*="repeat(2,1fr)"], [style*="repeat(3,1fr)"],
  [style*="repeat(4,1fr)"], [style*="repeat(5,1fr)"],
  [style*="repeat(2, 1fr)"], [style*="repeat(3, 1fr)"],
  [style*="repeat(4, 1fr)"], [style*="repeat(5, 1fr)"] {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
}
