/* スマホで見やすく（2026-10-07）
 * PCの見え方は変えない：このファイルのルールは、すべて幅600px以下のときだけ効く。 */
@media (max-width: 600px) {

  /* ── TOPのスライド：人物の写真が画面の外に出ないように。文字は上、写真＋吹き出しは下に横並び ── */
  html body .hero .hero-slide--cast { flex-direction: column !important; justify-content: flex-start !important; padding-bottom: 64px !important; }
  html body .hero .hero-slide--cast .cast-tx { padding-top: 0 !important; }
  html body .hero .hero-slide--cast .cast-copy { font-size: 26px !important; line-height: 1.3 !important; }
  html body .hero .hero-slide--cast .pr-desc,
  html body .hero .hero-slide--cast .cast-pts,
  html body .hero .hero-slide--cast .cast-steps,
  html body .hero .hero-slide--cast .cast-recs { display: none !important; }
  html body .hero .hero-slide--cast .hero-buttons { display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important; gap: 8px !important; margin-top: 12px !important; }
  html body .hero .hero-slide--cast .hero-buttons .btn { flex: 1 1 0 !important; min-width: 0 !important; width: auto !important; padding: 11px 8px !important; font-size: 13px !important; justify-content: center !important; }
  html body .hero .hero-slide--cast .cast-vis { display: grid !important; grid-template-columns: 44% 1fr !important; align-items: end !important; gap: 8px !important; position: relative !important; inset: auto !important; transform: none !important; width: 100% !important; height: auto !important; margin: 10px 0 0 !important; padding: 0 16px !important; box-sizing: border-box !important; }
  html body .hero .hero-slide--cast .cast-vis img { grid-column: 1 !important; grid-row: 1 !important; width: 100% !important; height: 230px !important; object-fit: contain !important; object-position: center bottom !important; position: static !important; transform: none !important; margin: 0 !important; }
  html body .hero .hero-slide--cast .cast-say--q { grid-column: 2 !important; grid-row: 1 !important; position: static !important; inset: auto !important; transform: none !important; max-width: none !important; width: auto !important; margin: 0 0 18px !important; padding: 10px 12px !important; align-self: center !important; }
  html body .hero .hero-slide--cast .cast-say--q b { display: -webkit-box !important; -webkit-line-clamp: 6; -webkit-box-orient: vertical; overflow: hidden; font-size: 12.5px !important; line-height: 1.6 !important; }
  html body .hero .hero-slide--cast .cast-say--q small { font-size: 10.5px !important; }
  html body .hero .hero-slide--cast .cast-say--q .cs-go { display: none !important; }
  html body .hero .hero-slide--cast .cast-proof { font-size: 12px !important; }

  /* ── 左右の小さなタブ（SEARCH・VOICE・DISPLAYなど）：本文にかぶらないよう、小さく・うすく ── */
  .rvc-tab, .rds-tab { opacity: .72; } .rvc-tab { transform-origin: left center; } .rds-tab { transform-origin: right center; } .rvc-tab, .rds-tab { scale: .8; }

  /* ── 縦に長くなる一覧は、横にスライド（基本横スライド） ── */
  html body .rsk-swipe { display: grid !important; grid-auto-flow: column !important; grid-template-columns: none !important; grid-template-rows: none !important; grid-auto-columns: 82% !important; gap: 12px !important; overflow-x: auto !important; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; padding-bottom: 10px !important; flex-wrap: nowrap !important; }
  html body .rsk-swipe > * { flex: none !important; scroll-snap-align: start; min-width: 0 !important; width: auto !important; max-width: none !important; margin: 0 !important; }
  .rsk-swipe-hint { display: flex; align-items: center; justify-content: flex-end; gap: 6px; margin: 4px 0 6px; font: 800 11.5px/1 "Inter", "Noto Sans JP", sans-serif; letter-spacing: .08em; color: #3b4cca; }

  /* ── 製品カード：もともと横スライド。幅400px固定で画面からはみ出していたのを、画面幅に合わせる ── */
  html body.corp section .pc-block .pc-grid > .product-card, html body section .pc-block .pc-grid > .product-card { flex-basis: 82vw !important; max-width: 82vw !important; width: 82vw !important; }

  /* ── 会社概要の表：行を詰めて読みやすく ── */
  .company-info-table th, .company-info-table td, .company-info-table dt, .company-info-table dd { padding-top: 8px !important; padding-bottom: 8px !important; font-size: 14px !important; line-height: 1.7 !important; }

  /* ── 文字が小さすぎる所を、少しだけ大きく ── */
  .product-new, .bm-ai-badge, .fst-k, .lw-mkt, .evo-r { font-size: 11px !important; }

  /* ── 横にはみ出す所 ── */
  .contact-go { max-width: 100% !important; }
  /* 左右から入ってくる動きは、スマホでは横にはみ出して切れて見えるので、動かさない */
  [data-aos^="fade-left"], [data-aos^="fade-right"], [data-aos^="slide-left"], [data-aos^="slide-right"] { transform: none !important; opacity: 1 !important; }
}
@media (min-width: 601px) { .rsk-swipe-hint { display: none; } }

/* ── スマホのTOPをすっきり（2026-10-07 追加）：PCはそのまま。600px以下だけ ── */
@media (max-width: 600px) {
  /* ヒーローの中の流れる帯・「どちらからお越し」・LANGUAGE（口）は、スマホでは出さない（メニュー・右の🌐・製品一覧から行ける） */
  html body .hero .hero-services, html body .hero .robo-ask, html body .hero .rtl-mouth, html body .hero .hs-hey, html body .hero .hs-wx, html body .hero .rk-sea { display: none !important; }
  /* 左右の小さなタブは、検索・表示・言語だけ */
  .rvc-tab:not(.rsr-tab), .rds-tab--print { display: none !important; }
  /* ラスク君のスライド：ラスク君は右上に小さめ、文字は下にゆったり */
  html body .hero .hero-scene .hs-rasuku { top: 70px !important; bottom: auto !important; right: 4% !important; left: auto !important; height: 210px !important; max-width: 62% !important; }
  html body .hero .hs-ask { top: 14px !important; bottom: auto !important; left: 16px !important; right: 16px !important; width: auto !important; transform: none !important; }
  html body .hero .hs-ask small { display: none; }
  html body .hero .hero-slide--team .hero-content { padding-top: 290px !important; }
  html body .hero .hero-slide--team .hero-title { font-size: 34px !important; line-height: 1.2 !important; text-shadow: 0 2px 14px rgba(255, 255, 255, .85); }
  html body .hero .hero-slide--team .hero-subtitle { font-size: 17px !important; }
}
@media (max-width: 600px) {
  html body .hero-digest, html body #top-carousel .tc-dots { display: none !important; }
}
