/* ============================================================
   RESPONSIVE STYLES — style_600.css
   Breakpoint: max-width 600px
   使用ページ: asbestos.html / design.html / service.html（サイドバー単列化・横スクロールナビ）
   ============================================================ */

@media (max-width: 600px) {
  /* 単列レイアウト */
  .page-layout__inner {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  /* サイドバーをコンテンツ上へ */
  .service-sidebar {
    position: static;
    order: -1;
    width: 100%;
    overflow: hidden;
  }

  /* サイドバー → 横スクロールナビ（オーバーフロー封じ込め） */
  .sidebar-nav {
    max-height: none;
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    /* ページ全体の横スクロールを防ぐ */
    display: block;
  }

  .sidebar-nav__header { display: none; }

  .sidebar-nav__list {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;  /* 折り返しで縦に溢れない */
    white-space: normal;
    padding: 4px;
    gap: 4px;
  }

  .sidebar-nav__item {
    border-bottom: none;
    border-right: none;
    border: 1px solid #DEDEDE;
    flex-shrink: 0;
  }
  .sidebar-nav__item:last-child { border: 1px solid #DEDEDE; }

  .sidebar-nav__link {
    white-space: nowrap;
    font-size: 12px;
    padding: 6px 10px;
  }

  /* Asbestos page components */
  .page-layout { padding-block: 32px; }

  /* ステップカード幅 強制統一（単列レイアウト） */
  .asb-steps,
  .asb-steps--green,
  .asb-steps--olive {
    width: 100%;
    max-width: none;
  }
  .asb-step {
    width: 100% !important;
  }

  .page-hero { height: 260px; }
  .page-hero__en    { font-size: 28px; }
  .page-hero__title { font-size: 16px; }
  .asb-quote        { font-size: 18px; }

  /* コースカード → 1列 */
  .asb-courses { grid-template-columns: 1fr; }
  .asb-course  { width: 100%; height: auto; min-height: 180px; }

  /* 6-image gallery → 2列 */
  .asb-gallery { grid-template-columns: repeat(2, 1fr); }

  /* 2列ギャラリー → 1列 */
  .asb-gallery2 { grid-template-columns: 1fr; }

  /* 3列ギャラリー → 1列 */
  .asb-gallery3 { grid-template-columns: 1fr; }

  /* Notice box */
  .asb-notice-box { padding: 16px; }
  .asb-notice-box p { font-size: 13px; line-height: 1.8; }

  /* Speed chart */
  .asb-speed__chart { max-width: 100%; }

  /* Send section */
  .asb-send__section { padding: 24px 16px; }

  /* CTAボタン縦並び */
  .asb-cta-box__btns {
    flex-direction: column;
    align-items: center;
  }

  .btn-asb--green {
    width: 100%;
    max-width: 360px;
  }

  /* 資格一覧 */
  .asb-qualifications__heading { font-size: 20px; }
  .asb-qualifications__lead    { font-size: 14px; }
  .asb-qualifications__list li { font-size: 13px; }
  .asb-qualifications__list    { margin-bottom: 24px; }

  /* ===== CSR/社会貢献 PAGE ===== */
  .p-csr-social { padding-top: 48px; }
  .p-csr-social__head { margin-bottom: 36px; }
  .p-csr-social__title-ja { font-size: 32px; }
  .p-csr-social__title-en { font-size: 14px; }
  .p-csr-social__lead { font-size: 14px; line-height: 2; margin-bottom: 40px; }
  .p-csr-cards__item { padding: 28px 20px; }
  .p-csr-cards__img { width: 100px; height: 100px; margin-right: 20px; }
  .p-csr-cards__title { font-size: 16px; }
  .p-csr-cards__text { font-size: 13px; }

  /* ===== SDGs PAGE ===== */
  .p-sdgs__title-ja { font-size: 28px; }
  .p-sdgs__section-heading { font-size: 18px; }
  .p-sdgs__sub-heading { font-size: 18px; }
  .p-sdgs-item { padding: 20px 16px 20px 0; }
  .p-sdgs-item__img { width: 100px; height: 100px; }
  .p-sdgs-item__body { padding-left: 16px; }

  /* ===== ACTION PLAN PAGE（行動計画） ===== */
  .p-action-plan__title-ja { font-size: 28px; }
  .p-action-plan__subtitle { font-size: 20px; margin-bottom: 24px; }
  .p-action-plan__intro { font-size: 14px; line-height: 2; margin-bottom: 28px; }
  .p-action-plan__text { font-size: 14px; line-height: 2.2; }

  /* ===== KODOMO CAFETERIA PAGE（こども食堂） ===== */
  .p-kodomo__title-ja { font-size: 28px; }
  .p-kodomo__subtitle { font-size: 20px; margin-bottom: 20px; }
  .p-kodomo__text { font-size: 14px; line-height: 2; }
  .p-kodomo__img-item { height: 320px; }

  /* ===== VOLUNTEER PAGE（ボランティア活動） ===== */
  .p-volunteer__title-ja { font-size: 28px; }
  .p-volunteer__subtitle { font-size: 20px; margin-bottom: 20px; }
  .p-volunteer__text { font-size: 14px; line-height: 2; }

  /* ===== SERVICE TOP PAGE ===== */
  .p-service-intro__en { font-size: 32px; }
  .p-service-intro__catch { font-size: 17px; }
  .p-service-section__cat-ja { font-size: 22px; }
  .p-service-section__catch { font-size: 16px; }
  .p-service-section__waku,
  .p-service-section__waku2,
  .p-service-section__waku3 {
    gap: 12px;
    margin: 28px 0;
  }
  .p-service-hero { height: 240px; }
  .p-service-item { padding: 0 15px; gap: 16px; }
  .p-service-item__img { width: 90px; height: 90px; }
  .p-service-item__label { font-size: 15px; }

  /* ===== KEIRYO PAGE ===== */
  .p-keiryo__cta-btn { width: 300px; height: 60px; border-radius: 30px; }

  /* ===== DESIGN PAGE ===== */
  .p-design__cta-btn { width: 300px; height: 60px; border-radius: 30px; }
  .p-design__specialties-list li { font-size: 13px; }

  /* ===== DOJO PAGE ===== */
  .p-dojo__images-pair { grid-template-columns: 1fr; gap: 20px; }
  .p-dojo__cta-btn { width: 300px; height: 60px; border-radius: 30px; }

  /* ===== 施工管理試験 PAGE ===== */
  .p-shikoku__heading { font-size: 20px; }
  .p-shikoku__subheading { font-size: 16px; }
  .p-shikoku__lead { font-size: 13px; line-height: 1.9; }
  /* 600px以下で写真を1列に変更 */
  .p-shikoku-photos {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .p-shikoku-section { gap: 32px; }
  .p-shikoku-subsection { gap: 16px; }
}

/* ---- recruit.html ---- */
@media (max-width: 600px) {
  /* 募集要項 */
  .p-recruit__requirements {
    padding: 100px 0 50px;
  }
  .p-recruit__slider-item {
    width: 180px;
    height: 135px;
  }
  .p-recruit__person-card {
    width: 100%;
    max-width: 320px;
  }
  .p-recruit__people-grid {
    flex-direction: column;
    align-items: center;
  }
  .p-recruit__culture-photos {
    gap: 8px;
  }
  .p-recruit__culture-photo {
    height: 170px;
  }
  .p-recruit__req-table,
  .p-recruit__req-table thead,
  .p-recruit__req-table tbody,
  .p-recruit__req-table tr,
  .p-recruit__req-table th,
  .p-recruit__req-table td {
    display: block;
    width: 100%;
  }
  .p-recruit__req-table th {
    background: #f0f4fa;
    border-bottom: none;
    padding-bottom: 8px;
  }
  .p-recruit__req-table td {
    border-top: none;
    padding-top: 8px;
    padding-bottom: 16px;
  }
  .p-recruit__entry-btn {
    font-size: 18px;
    padding: 16px 32px;
  }
  .p-recruit__career-text {
    font-size: 22px;
  }
  .p-recruit__schools-list {
    grid-template-columns: 1fr;
  }
  .p-recruit__schools-list dt {
    padding-bottom: 0;
    border-bottom: none;
  }
  .p-recruit__schools-list dd {
    border-top: none;
    padding-left: 0;
    padding-top: 0;
    padding-bottom: 16px;
  }
  .p-recruit__pie-wrap {
    flex-direction: column;
    align-items: flex-start;
  }
  /* ヒーローキャッチ */
  .p-recruit__hero {
    height: 540px;
  }
  .p-recruit__hero-catch {
    font-size: 30px;
    top: 90px;
  }
}
