/* SP_C_2026_10_19 スマホ修正（@media内のみ） */

/* ---- 固定バー・シートは PC では出さない ---- */
.spc-bar, .spc-backdrop, .spc-navsheet, .spc-sheet-head { display: none; }

@media (max-width: 768px) {
  /* ===== 固定バー（下） ===== */
  .spc-bar { display: flex; gap: 10px; position: fixed; left: 0; right: 0; bottom: 0; z-index: 80;
    padding: 10px 14px calc(10px + env(safe-area-inset-bottom)); background: rgba(255,255,255,0.97);
    border-top: 1px solid var(--border); box-shadow: 0 -6px 18px rgba(15,27,51,0.10); }
  .spc-bar[hidden] { display: none; }
  body:has(.spc-bar:not([hidden])) { padding-bottom: calc(76px + env(safe-area-inset-bottom)); }
  .spc-bar-btn, .spc-bar-cta { display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    min-height: 50px; border-radius: 12px; font-size: 16px; font-weight: 900; line-height: 1; text-decoration: none; cursor: pointer; }
  .spc-bar-btn { flex: 1 1 0; min-width: 0; border: 2px solid var(--sk-amber); background: #fff; color: var(--sk-amber); }
  .spc-bar-btn { color: #0B5CAD; border-color: #0B5CAD; }
  .spc-bar-cta { flex: 1 1 0; min-width: 0; border: 2px solid var(--sk-amber); background: var(--sk-amber); color: var(--sk-navy); }
  .spc-ico { width: 20px; height: 20px; flex: 0 0 20px; }
  /* 登録案内カード(.quiz-sheet)が出ている間は、そちらを優先して固定バーを隠す */
  body.quiz-sheet-on .spc-bar { display: none; }

  /* ===== シート共通 ===== */
  .spc-backdrop { display: block; position: fixed; inset: 0; z-index: 96; background: rgba(9,20,35,0.5);
    opacity: 0; pointer-events: none; transition: opacity .25s; }
  .spc-backdrop.is-open { opacity: 1; pointer-events: auto; }
  body.spc-lock { overflow: hidden; }
  body.spc-ready .spc-sheet { position: fixed; left: 0; right: 0; bottom: 0; top: auto; z-index: 97;
    max-height: 82vh; overflow-y: auto; overscroll-behavior: contain; background: var(--bg-primary, #fff);
    border-radius: 18px 18px 0 0; padding: 0 16px calc(20px + env(safe-area-inset-bottom));
    box-shadow: 0 -10px 30px rgba(15,27,51,0.22); transform: translateY(105%); transition: transform .3s ease;
    visibility: hidden; display: block; margin: 0; }
  body.spc-ready .spc-sheet.is-open { transform: translateY(0); visibility: visible; }
  .spc-sheet-head { display: flex; align-items: center; justify-content: space-between; position: sticky; top: 0; z-index: 2;
    margin: 0 -16px 12px; padding: 14px 16px 10px; background: var(--bg-primary, #fff); border-bottom: 1px solid var(--border); }
  .spc-sheet-title { font-size: 18px; font-weight: 900; color: var(--text-primary); }
  .spc-sheet-close { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px;
    border: 0; border-radius: 50%; background: var(--bg-secondary, #f1f5f9); color: var(--text-primary); cursor: pointer; }
  .spc-sheet-close svg { width: 22px; height: 22px; }
  body.spc-ready .joblist-sidebar.spc-sheet { position: fixed; }
  body.spc-ready .joblist-sidebar .job-search-form { margin-bottom: 14px; }
  body.spc-ready .joblist-sidebar .job-filter-panel { box-shadow: none; }
  .spc-navsheet .spc-navlist { list-style: none; margin: 0; padding: 0; }
  .spc-navlink { display: flex; align-items: center; min-height: 52px; padding: 10px 4px; font-size: 16px; font-weight: 700;
    color: var(--text-primary); text-decoration: none; border-bottom: 1px solid var(--border); }

  /* ===== 求人一覧: 検索欄（ボタンは入力欄とくっつく側を直角に）・アイコンの縦位置 ===== */
  body .joblist-sidebar .job-search-form { gap: 0; overflow: hidden; border-radius: 12px; align-items: stretch; }
  body .joblist-sidebar .job-search-btn { border-radius: 0; min-height: 52px; padding: 0 18px; }
  body .job-search-input-wrap { align-items: center; }
  body .job-search-icon { top: 50%; bottom: auto; transform: translateY(-50%); margin: 0; }
  body .job-search-input { line-height: 1.3; }
  /* 求人カードの条件行のアイコンを1行目の文字の縦中央に */
  body .hv2-job-meta li { align-items: flex-start; line-height: 22px; }
  body .hv2-job-meta li .lucide-icon { width: 16px; height: 16px; flex: 0 0 16px; margin-top: 4px; }

  /* ===== 求人詳細: 上のサイドを固定しない ===== */
  .detail-sidebar, .detail-sidebar > .sidebar-card, .sidebar-card, .sidebar-card-sp, .detail-main .sidebar-card,
  .jobs-sidebar, .detail-layout > * { position: static; top: auto; }

  /* ===== 県ページ・業態ページ ===== */
  body .area-hero { margin-bottom: 0; padding-bottom: 20px; }
  body .area-hero + .list-section.area-page { padding-top: 0; }
  body .ph-hero { margin-bottom: 8px; }
  body .industry-page .ph-hero--plain { padding-bottom: 0; }
  /* カード状（角丸・枠線）をやめ、各セクションを画面幅いっぱいに通す */
  body .area-section, body .cat-guide, body .industry-intro.cat-guide, body .industry-skills.cat-guide {
    border: 0; border-radius: 0; background: transparent; box-shadow: none; padding: 20px 0; margin-bottom: 0; }
  body .area-page .area-section:first-child, body .industry-page .industry-intro { padding-top: 8px; }
  body .industry-page .industry-jobs, body .industry-page .industry-faq { margin-top: 20px; }
  /* 「◯◯の求人一覧 120件」: 件・一覧の途中で折り返さない */
  .industry-jobs .cat-guide-title, .area-section-title, .industry-faq .cat-guide-title { word-break: keep-all; overflow-wrap: anywhere; line-break: strict; }
  .industry-job-count, .area-job-count-badge, .company-job-count { white-space: nowrap; flex: 0 0 auto; }
  .cat-guide-title, body .area-section-title { text-wrap: pretty; }
  body .industry-jobs .cat-guide-title { flex-wrap: wrap; gap: 6px 8px; font-size: 22px; }
  body .industry-jobs .cat-guide-title > .lucide-icon { display: none; }
  body .industry-jobs .cat-guide-title .industry-job-count { margin-left: 0; }

  /* FAQ: タップできる大きさ */
  .faq-question { min-height: 56px; cursor: pointer; -webkit-tap-highlight-color: transparent; }
}

/* FIX_2026_10_16 業態ページ: ヒーロー下〜最初の節の余白を詰める */
@media (max-width: 768px) {
  body .industry-page .industry-intro, body .industry-page .industry-intro.cat-guide { margin-top: 0; }
}
