/* === TFP Job Rich Card (scoped) === */
/* TFP Theme Tokens (consolidated) */
:root{
  --tfp-orange: #F06419;
  --tfp-orange-600: #e4570f;
  --tfp-orange-100: #ffd9c7;
  --tfp-orange-50: #fff2eb;
  --tfp-orange-ring: rgba(240,100,25,.35);
  --tfp-navy: #0b1e3a;
}
.tfp-job-rich{
  border:1px solid #e5e7eb;border-radius:16px;background:#fff;
  padding:16px 16px 14px;box-shadow:0 4px 14px rgba(0,0,0,.06);margin:0 0 16px;
}
.tfp-job-rich .head .ttl{margin:0 0 6px;font-size:20px;line-height:1.35}
.tfp-job-rich .head .ttl a{text-decoration:none;color:inherit}
.tfp-job-rich .head .lead{margin:0 0 10px;color:#334155}

.tfp-job-rich .thumbs-3{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 12px;
}
.tfp-job-rich .thumbs-3 .t{
  background:#f8fafc;border-radius:12px;overflow:hidden;aspect-ratio:16/9;
}
.tfp-job-rich .thumbs-3 img{
  width:100%;height:100%;object-fit:cover;display:block;
}
.tfp-job-rich .thumbs-3 .placeholder{background:#eef2f7}

.tfp-job-rich .tfp-chips{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 12px;padding:0;list-style:none}
.tfp-job-rich .chip{display:inline-flex;gap:6px;border:1px solid #e5e7eb;border-radius:999px;padding:6px 10px;background:#f3f4f6;font-size:12px;color:#1f2937}
.tfp-job-rich .desc{color:#334155;line-height:1.7;margin:0 0 14px}

.tfp-job-rich .company-mini{
  display:flex;justify-content:space-between;gap:16px;border:1px solid #e5e7eb;border-radius:12px;padding:12px;background:#fff;margin:0 0 12px
}
.tfp-job-rich .company-mini .name{font-weight:700;text-decoration:none}
.tfp-job-rich .company-mini ul{margin:6px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:80px 1fr;gap:6px 10px;color:#475569}
.tfp-job-rich .foot{display:flex;justify-content:flex-end}

/* === Company mini card layout refresh === */
.tfp-job-rich .company-mini{
  display:grid;
  grid-template-columns: 1fr auto;
  align-items:start;
  gap:16px;
  border:1px solid #e5e7eb;
  border-radius:12px;
  padding:12px;
  background:#fff;
  margin:0 0 12px;
}
.tfp-job-rich .company-mini .name{
  font-weight:700;
  text-decoration:none;
  display:inline-block;
  margin-bottom:6px;
  color:#0b1e3a;
}
.tfp-job-rich .company-mini .facts{
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns: 80px 1fr; /* ラベル / 値 */
  gap:6px 10px;
}
.tfp-job-rich .company-mini .facts dt{
  margin:0;
  color:#64748b;
}
.tfp-job-rich .company-mini .facts dd{
  margin:0;
  color:#334155;
  line-height:1.7;
  /* ACFのTextarea改行を綺麗に表示 */
}
.tfp-job-rich .company-mini .actions{
  display:flex;
  gap:8px;
  align-self:end;
}
@media (max-width: 768px){
  .tfp-job-rich .company-mini{
    grid-template-columns: 1fr;
  }
  .tfp-job-rich .company-mini .actions{
    align-self:start;
  }
}
/* ========== Green風カード磨き ========== */
.tfp-job-rich{
  border:1px solid #e5e7eb;border-radius:16px;background:#fff;
  padding:16px;box-shadow:0 6px 18px rgba(0,0,0,.06);margin:0 0 18px
}
.tfp-job-rich .meta-top{display:flex;justify-content:space-between;align-items:center;margin:0 0 8px}
.tfp-job-rich .badge-new{display:inline-block;background:#fee2e2;color:#b91c1c;border-radius:8px;padding:4px 8px;font-size:12px;font-weight:700;margin-right:8px}
.tfp-job-rich .postdate,.tfp-job-rich .updated{font-size:12px;color:#64748b}

.tfp-job-rich .head .ttl{margin:0 0 6px;font-size:20px;line-height:1.35}
.tfp-job-rich .head .ttl a{text-decoration:none;color:#111827}
.tfp-job-rich .head .ttl a:hover{opacity:.9}
.tfp-job-rich .head .lead{margin:0 0 10px;color:#334155}

/* 3枚ギャラリー */
.tfp-job-rich .thumbs-3{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 12px
}
.tfp-job-rich .thumbs-3 .t{background:#f8fafc;border-radius:12px;overflow:hidden;aspect-ratio:16/9}
.tfp-job-rich .thumbs-3 img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}
.tfp-job-rich .thumbs-3 .t:hover img{transform:scale(1.02)}
.tfp-job-rich .thumbs-3 .placeholder{background:#eef2f7}

/* 条件チップ */
.tfp-job-rich .tfp-chips{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 10px;padding:0;list-style:none}
.tfp-job-rich .chip{display:inline-flex;gap:6px;border:1px solid #e5e7eb;border-radius:999px;padding:6px 10px;background:#f3f4f6;font-size:12px;color:#1f2937}

/* タグ群（カテゴリ等） */
.tfp-job-rich .tfp-tags{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px;padding:0;list-style:none}
.tfp-job-rich .tfp-tags .tag{border:1px dashed #e5e7eb;border-radius:999px;padding:4px 10px;font-size:12px;color:#475569;background:#fafafa}

/* 概要 */
.tfp-job-rich .desc{color:#334155;line-height:1.7;margin:0 0 12px}
.tfp-job-rich .desc .more{color:#2563eb;text-decoration:none;margin-left:4px}

/* 会社カード */
.tfp-job-rich .company-mini{
  display:grid;grid-template-columns:1fr auto;align-items:start;gap:16px;
  border:1px solid #e5e7eb;border-radius:12px;padding:12px;background:#fff;margin:0 0 12px
}
.tfp-job-rich .company-mini .name{font-weight:700;text-decoration:none;color:#0b1e3a;display:inline-block;margin-bottom:6px}
.tfp-job-rich .company-mini .facts{margin:0;padding:0;display:grid;grid-template-columns:80px 1fr;gap:6px 10px}
.tfp-job-rich .company-mini .facts dt{margin:0;color:#64748b}
.tfp-job-rich .company-mini .facts dd{margin:0;color:#334155;line-height:1.7}
.tfp-job-rich .company-mini .actions{display:flex;gap:8px;align-self:end}

.tfp-job-rich .foot{display:flex;justify-content:flex-end}
.tfp-job-rich .btn.pri{background:#111827;color:#fff;border-radius:10px;padding:10px 14px;text-decoration:none}
.tfp-job-rich .btn.sec{background:#fff;color:#111827;border:1px solid #e5e7eb;border-radius:10px;padding:8px 12px;text-decoration:none}
.tfp-job-rich .btn.pri:hover,.tfp-job-rich .btn.sec:hover{opacity:.9}

@media (max-width: 1024px){
  .tfp-job-rich .thumbs-3{gap:8px}
}
@media (max-width: 768px){
  .tfp-job-rich{padding:12px;border-radius:14px}
  .tfp-job-rich .thumbs-3{grid-template-columns:1fr;border-radius:12px}
  .tfp-job-rich .company-mini{grid-template-columns:1fr}
  .tfp-job-rich .company-mini .actions{align-self:start}
}

/* === 調整: 日付・バッジ・タイトル・チップ === */

/* メタ行：右寄せの更新日だけ残す */
.tfp-job-rich .meta-top{display:flex;align-items:center;margin:0 0 8px}
.tfp-job-rich .meta-top .left{display:flex;gap:8px}
.tfp-job-rich .meta-top .right{margin-left:auto}

.tfp-job-rich .badge-new{
  display:inline-block;background:#fee2e2;color:#b91c1c;
  border-radius:8px;padding:5px 10px;font-size:13px;font-weight:800;
}
.tfp-job-rich .updated{font-size:13px;color:#475569;font-weight:600}
.tfp-job-rich .updated .label{margin-right:4px;color:#64748b}

/* タイトルをボールドに */
.tfp-job-rich .head .ttl{margin:0 0 6px;font-size:20px;line-height:1.35;font-weight:800}
.tfp-job-rich .head .ttl a{text-decoration:none;color:#111827}

/* チップは2つ（年収/勤務地）想定でそのまま美しく並ぶよう微調整 */
.tfp-job-rich .tfp-chips{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 10px;padding:0;list-style:none}
.tfp-job-rich .chip{
  display:inline-flex;gap:6px;border:1px solid #e5e7eb;border-radius:999px;
  padding:6px 10px;background:#f3f4f6;font-size:12px;color:#1f2937
}
/* === TFP: チップサイズUP & 画像との距離を詰める（override） === */

/* 画像直下の余白を詰める */
.tfp-job-rich .thumbs-3{
  margin: 0 0 6px !important; /* 既存の 10〜12px を置き換え */
}

/* チップ行の余白を微調整（上方向をさらに詰める） */
.tfp-job-rich .tfp-chips{
  margin: 4px 0 10px !important; /* 先頭余白を小さく */
  gap: 10px !important;          /* 見やすい程度に間隔を確保 */
}

/* チップを少し大きく＆視認性UP */
.tfp-job-rich .chip{
  font-size: 14px !important;    /* 12px → 14px */
  padding: 8px 12px !important;  /* 6px → 8px で高さUP */
  border-radius: 999px !important;
  border: 1px solid #e5e7eb !important;
  background: #f3f4f6 !important;
  color: #111827 !important;
  line-height: 1 !important;     /* 文字の収まりをキリッと */
}

/* ラベルと値のコントラスト（任意） */
.tfp-job-rich .chip .k{ opacity: .75; font-weight: 600; }
.tfp-job-rich .chip .v{ font-weight: 700; }
  
/* SP時は少しだけ詰めすぎないようセーフティ */
@media (max-width: 768px){
  .tfp-job-rich .tfp-chips{ margin: 6px 0 10px !important; gap: 8px !important; }
  .tfp-job-rich .chip{ font-size: 13.5px !important; padding: 8px 12px !important; }
}
/* ====== TFP override pack: spacing, company facts, buttons ====== */

/* 1) 画像下の余白をさらにキュッ */
.tfp-job-rich .thumbs-3{
  margin: 0 0 4px !important; /* もっと詰める */
}

/* 2) チップは少し大きめのまま、画像との距離を詰める */
.tfp-job-rich .tfp-chips{
  margin: 2px 0 8px !important; /* 上をさらに詰める */
  gap: 10px !important;
}
.tfp-job-rich .chip{
  font-size: 14.5px !important;
  padding: 9px 12px !important;
  line-height: 1 !important;
  border-radius: 999px !important;
}

/* 3) 会社カードの住所を小さく＆常に1行（スマホでも） */
.tfp-job-rich .company-mini .facts{
  grid-template-columns: 70px 1fr; /* ラベル/値 */
}
.tfp-job-rich .company-mini .facts dt{
  font-size: 12px; color:#64748b;
}
.tfp-job-rich .company-mini .facts dd{
  font-size: 12.5px; color:#334155;
  white-space: nowrap;          /* 折り返さない */
  overflow: hidden;             /* はみ出し隠す */
  text-overflow: ellipsis;      /* 末尾を…に */
}
@media (max-width: 768px){
  .tfp-job-rich .company-mini .facts{
    grid-template-columns: 64px 1fr; /* SPは少しタイトに */
  }
  .tfp-job-rich .company-mini .facts dd{ max-width: 100%; }
}

/* 4) ボタンの配色（オレンジ/白/紺） */
/* (moved to consolidated :root at top) */

/* 主CTA：求人詳細を見る（オレンジ×白） */
.tfp-job-rich .btn.pri{
  background: var(--tfp-orange) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 12px !important;
  padding: 12px 16px !important;
  font-weight: 800 !important;
  box-shadow: 0 6px 14px rgba(249,115,22,.25);
}
.tfp-job-rich .btn.pri:hover{
  background: var(--tfp-orange-dark) !important;
}

/* 副ボタン：会社ページ（白×紺） */
.tfp-job-rich .btn.sec{
  background: #fff !important;
  color: var(--tfp-navy) !important;
  border: 1.5px solid var(--tfp-navy) !important;
  border-radius: 12px !important;
  padding: 10px 14px !important;
  font-weight: 700 !important;
}
.tfp-job-rich .btn.sec:hover{
  background: #f1f5f9 !important;
}
/* ====== Company mini: Green風レイアウト強化 ====== */

/* 会社カード全体 */
.tfp-job-rich .company-mini{
  display:grid;grid-template-columns:1fr auto;align-items:start;gap:16px;
  border:1px solid #e5e7eb;border-radius:12px;padding:12px;background:#fff;margin:8px 0 12px
}

/* 会社名 */
.tfp-job-rich .company-mini .name{
  font-weight:800;text-decoration:none;color:#0b1e3a;display:inline-block;margin-bottom:6px
}

/* メタ行（設立・人数・平均年齢） */
.tfp-job-rich .company-mini .meta-line{
  display:flex;flex-wrap:wrap;align-items:center;gap:8px;
  font-size:13px;color:#64748b;margin:0 0 6px
}
.tfp-job-rich .company-mini .meta-line .dot{opacity:.5}

/* タグ群（薄グレーのピル） */
.tfp-job-rich .company-mini .company-tags{
  margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:8px
}
.tfp-job-rich .company-mini .company-tags .tag{
  font-size:12px;color:#475569;background:#f5f6f7;border:1px solid #e5e7eb;
  border-radius:6px;padding:6px 8px;line-height:1;white-space:nowrap
}

/* 右側アクション */
.tfp-job-rich .company-mini .actions{display:flex;gap:8px;align-self:end}
@media (max-width: 768px){
  .tfp-job-rich .company-mini{grid-template-columns:1fr}
  .tfp-job-rich .company-mini .actions{align-self:start}
}

/* 既存の住所DLは出さない（オプトインで適用） */
.tfp-job-rich .company-mini--no-facts .facts{display:none !important}

/* === Company detail: 会社カードの概要テキスト === */
.tfp-job-rich .company-mini .company-detail{
  margin: 4px 0 8px;
  font-size: 13px;
  color: #334155;
  line-height: 1.6;
  /* 2〜3行で上品に省略（ブラウザ対応広め） */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3; /* PCは3行 */
  overflow: hidden;
}
@media (max-width: 768px){
  .tfp-job-rich .company-mini .company-detail{
    -webkit-line-clamp: 2; /* スマホは2行に */
  }
}
/* ===== Fix: 更新日のセレクタ（ピリオド抜け）＆サイズ感調整 ===== */
.tfp-job-rich .postdate,
.tfp-job-rich .updated { font-size: 13px; color:#64748b; }

/* タイトル強調 */
.tfp-job-rich .head .ttl { font-weight: 800; }

/* 会社カード：住所(facts)の見た目 & 会社概要の2行クランプ */
.tfp-job-rich .company-mini .facts { 
  margin: 6px 0 4px; padding:0;
  display:grid; grid-template-columns: 70px 1fr; gap:6px 10px;
}
.tfp-job-rich .company-mini .facts dt { color:#64748b; font-size:12px; }
.tfp-job-rich .company-mini .facts dd { 
  color:#334155; font-size:12.5px;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
@media (max-width:768px){
  .tfp-job-rich .company-mini .facts { grid-template-columns:64px 1fr; }
}

/* 会社概要（Company_detail）を2行でトリム。 */
.tfp-job-rich .company-mini .company-detail{
  margin: 6px 0 8px; color:#334155;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
  overflow:hidden;
}

/* 投資家/タクソノミータグ（会社カード内） */
.tfp-job-rich .company-mini .company-tags{
  margin: 4px 0 0; padding:0; list-style:none; display:flex; flex-wrap:wrap; gap:6px;
}
.tfp-job-rich .company-mini .company-tags .tag{
  border:1px dashed #e5e7eb; border-radius:999px; padding:4px 10px;
  font-size:12px; color:#475569; background:#fafafa;
}

/* 画像下チップ：画像に寄せつつ視認性UP（既存より優先） */
.tfp-job-rich .tfp-chips{ margin: 2px 0 8px !important; gap:10px !important; }
.tfp-job-rich .chip{ font-size:14.5px !important; padding:9px 12px !important; line-height:1 !important; }

/* CTA配色（オレンジ/白/紺）— 既に導入済ならこのまま重複可 */
/* (moved to consolidated :root at top) */
.tfp-job-rich .btn.pri{
  background:var(--tfp-orange)!important;color:#fff!important;border:none!important;
  border-radius:12px!important;padding:12px 16px!important;font-weight:800!important;
  box-shadow:0 6px 14px rgba(249,115,22,.25);
}
.tfp-job-rich .btn.pri:hover{ background:var(--tfp-orange-dark)!important; }
.tfp-job-rich .btn.sec{
  background:#fff!important;color:var(--tfp-navy)!important;border:1.5px solid var(--tfp-navy)!important;
  border-radius:12px!important;padding:10px 14px!important;font-weight:700!important;
}
.tfp-job-rich .btn.sec:hover{ background:#f1f5f9!important; }
/* ===== Metaを“チップ”化：創業・人数帯（＋他メタも同じ見た目） ===== */
.tfp-job-rich .company-mini .meta-line{
  display:flex; flex-wrap:wrap; align-items:center;
  gap:10px; margin:4px 0 6px;
}
.tfp-job-rich .company-mini .meta-line .dot{ display:none; } /* ・は不要に */
.tfp-job-rich .company-mini .meta-line .item{
  font-size:14.5px;                 /* 年収/勤務地チップと同等のサイズ感 */
  font-weight:700;
  color:#111827;                     /* 濃さを合わせる */
  background:#f3f4f6;
  border:1px solid #e5e7eb;
  border-radius:999px;
  padding:9px 12px;
  line-height:1;
}

/* 会社概要：少し大きく */
.tfp-job-rich .company-mini .company-detail{
  margin:6px 0 8px;
  font-size:14.5px; line-height:1.7; color:#334155;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
}
@media (max-width:768px){
  .tfp-job-rich .company-mini .company-detail{ font-size:14px; -webkit-line-clamp:2; }
}

/* 求人詳細（主ボタン）：文字小さめ＆横長に */
.tfp-job-rich .btn.pri{
  font-size:14px !important;         /* 少し小さめ */
  padding:12px 28px !important;      /* 横幅に余裕 */
  border-radius:12px !important;
}
.tfp-job-rich .foot .btn.pri{
  min-width:210px;                    /* 横長の印象を出す */
}

/* 念のため：画像下のチップ（年収/勤務地）の見た目はこのまま強めに */
.tfp-job-rich .tfp-chips{ margin:2px 0 8px !important; gap:10px !important; }
.tfp-job-rich .chip{ font-size:14.5px !important; padding:9px 12px !important; line-height:1 !important; }

/* ===== 画像とメタチップの距離を詰める ===== */
.tfp-job-rich .thumbs-3{ margin-bottom: 8px !important; }
@media (max-width:768px){
  .tfp-job-rich .thumbs-3{ margin-bottom: 6px !important; }
}

/* ===== 年収/勤務地チップ：中央揃え・高さ統一 ===== */
.tfp-job-rich .tfp-chips{
  display:flex; flex-wrap:wrap; gap:10px;
  margin: 4px 0 10px !important;
}
.tfp-job-rich .tfp-chips .chip{
  display:inline-flex; align-items:center; justify-content:center; gap:6px;
  min-height:36px; line-height:1;
  padding:8px 12px !important;
  font-size:14.5px !important; font-weight:700;
}
.tfp-job-rich .tfp-chips .chip .k,
.tfp-job-rich .tfp-chips .chip .v{ line-height:1; display:inline-block; }

/* ===== 会社概要：もう少し大きく＆濃く ===== */
.tfp-job-rich .company-mini .company-detail{
  margin:6px 0 8px;
  font-size:15.5px;           /* ちょいUP */
  line-height:1.7;
  color:#1f2937;               /* 文字色を濃く */
  font-weight:500;
  display:-webkit-box; -webkit-box-orient:vertical;
  -webkit-line-clamp:3; overflow:hidden;
}
@media (max-width:768px){
  .tfp-job-rich .company-mini .company-detail{ font-size:15px; -webkit-line-clamp:2; }
}

/* ===== 求人詳細ボタン：中央揃え＆少し横長、文字は小さめ ===== */
.tfp-job-rich .btn.pri{
  display:inline-flex; align-items:center; justify-content:center;
  min-height:44px;              /* 縦センターを担保 */
  padding:12px 32px !important; /* 横長に */
  font-size:14px !important;
  line-height:1; border-radius:12px !important;
}

/* ===== 会社ページ：サイズダウン＆スタイリッシュ ===== */
.tfp-job-rich .company-mini .actions .btn.sec{
  display:inline-flex; align-items:center; justify-content:center;
  padding:8px 12px !important; min-height:36px;
  font-size:13.5px !important; font-weight:700 !important;
  border-radius:10px !important;
  border:1px solid #cbd5e1 !important;
  color:#0f172a !important; background:#fff !important;
  box-shadow:0 1px 0 rgba(15,23,42,.04);
}
.tfp-job-rich .company-mini .actions .btn.sec:hover{
  background:#f8fafc !important; border-color:#94a3b8 !important;
}
/* ===== 画像とチップの距離をさらに詰める（強制） ===== */
/* テンプレ側の block-gap など親の余白を食らってる可能性があるので両側から潰す */
.tfp-job-rich .thumbs-3{ 
  margin: 6px 0 4px !important; 
  padding-bottom: 0 !important;
}
.tfp-job-rich .thumbs-3 .t{ margin:0 !important; }               /* 子要素の余白も潰す */
.tfp-job-rich > .tfp-chips{ margin-top: 6px !important; }         /* 直下のULに確実適用 */
:where(.wp-site-blocks) .tfp-job-rich > .tfp-chips{ margin-top:6px !important; } /* block gap対策 */

/* ===== 年収/勤務地チップ：縦横センターを完全固定 ===== */
.tfp-job-rich .tfp-chips{
  display:flex; flex-wrap:wrap; gap:10px;
  align-items:center; justify-content:flex-start; 
  margin-bottom:10px !important;
}
.tfp-job-rich .tfp-chips .chip{
  display:flex; align-items:center; justify-content:center;   /* ←縦横センター */
  min-height:38px; min-width: auto;
  padding:8px 12px !important;
  line-height:1 !important; text-align:center;
  font-size:14.5px !important; font-weight:700;
}
.tfp-job-rich .tfp-chips .chip *{
  line-height:1 !important; vertical-align:middle;            /* 内側のズレを根こそぎ抑止 */
  display:inline-block;
}

/* ===== 会社概要：もう一段大きく＆濃く ===== */
.tfp-job-rich .company-mini .company-detail{
  margin:6px 0 10px; 
  font-size:16px;                /* 前より+0.5〜1pt */
  line-height:1.75;
  color:#111827;                 /* かなり濃いめ（Readable） */
  font-weight:500;
  display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden;
}
@media (max-width:768px){
  .tfp-job-rich .company-mini .company-detail{ font-size:15.5px; -webkit-line-clamp:2; }
}

/* ===== 「求人詳細を見る」も縦横センター固定 ===== */
.tfp-job-rich .btn.pri{
  display:inline-flex; align-items:center; justify-content:center;
  min-height:44px; padding:12px 32px !important;
  text-align:center; line-height:1 !important;
  font-size:14px !important; border-radius:12px !important;
}

/* ===== 「会社ページ」ボタン：スタイリッシュ&控えめサイズ ===== */
.tfp-job-rich .company-mini .actions .btn.sec{
  display:inline-flex; align-items:center; justify-content:center;
  min-height:36px; padding:8px 12px !important;
  font-size:13.5px !important; font-weight:700 !important;
  border-radius:10px !important; border:1px solid #cbd5e1 !important;
  color:#0f172a !important; background:#fff !important;
  text-decoration:none !important;
  box-shadow:0 1px 0 rgba(15,23,42,.04);
}
.tfp-job-rich .company-mini .actions .btn.sec:hover{
  background:#f8fafc !important; border-color:#94a3b8 !important;
}
/* === TFP: 年収/勤務地チップを1行固定＆中央揃え（最小パッチ） === */
.tfp-job-rich .tfp-chips{
  display:flex; flex-wrap:wrap; gap:10px;
  align-items:center; margin:4px 0 10px;
  padding:0; list-style:none;
}
.tfp-job-rich .tfp-chips > li.chip{
  display:inline-flex; align-items:center; justify-content:center;
  min-height:38px; padding:8px 14px;
  border-radius:999px; background:#f3f4f6; border:1px solid #e5e7eb;
  line-height:1; white-space:nowrap;           /* ← 1行固定 */
}
.tfp-job-rich .tfp-chips > li.chip .chip-line{
  display:inline-flex; align-items:center; gap:6px;
  white-space:nowrap; word-break:keep-all; overflow-wrap:normal;  /* ← 日本語の強制折返しも抑止 */
}
.tfp-job-rich .tfp-chips > li.chip .chip-line .v{
  white-space:nowrap; line-height:1;
}

/* 画像とチップの距離も詰める（被ってたら勝てるようにここで上書き） */
.tfp-job-rich .thumbs-3{ margin-bottom:4px !important; }
.tfp-job-rich .thumbs-3 + .tfp-chips{ margin-top:4px !important; }

/* タイトルの可読性強化 */
.tfp-job-rich .head .ttl{
  font-size:22px; line-height:1.4; letter-spacing:.01em;
  word-break:normal; overflow-wrap:anywhere;
}
@media (max-width:768px){
  .tfp-job-rich .head .ttl{ font-size:19px; }
}
/* ホバー微エレベーション */
.tfp-job-rich{ transition: box-shadow .15s ease, transform .15s ease; }
.tfp-job-rich:hover{ box-shadow:0 6px 18px rgba(0,0,0,.06); transform: translateY(-2px); }
@media (prefers-reduced-motion: reduce){
  .tfp-job-rich, .tfp-job-rich:hover{ transition:none; transform:none; }
}

/* フォーカス可視化（アクセシビリティ） */
.tfp-job-rich a:focus-visible,
.tfp-job-rich .btn:focus-visible{
  outline:3px solid #0ea5e9; outline-offset:2px;
  border-radius:10px;
}
/* CTAを右下寄せ（カード中での位置の安定化） */
.tfp-job-rich .foot{ justify-content:flex-end; }

/* === Job: 仕事概要（lead_subtext） === */
.tfp-job-rich .lead-subtext{
  margin: 6px 0 12px;          /* チップに寄せてキュッと */
  font-size: 15px;
  line-height: 1.75;
  color: #374151;              /* gray-700 */
}
.tfp-job-rich .lead-subtext p{ margin: 0; }  /* wpautop対策：段落余白ゼロ */
@media (max-width:768px){
  .tfp-job-rich .lead-subtext{ font-size: 14.5px; }
}

/* （任意）2～3行で省略したい場合は下をON
.tfp-job-rich .lead-subtext{
  display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden;
}
*/
/* === Job: 仕事概要（lead_subtext）可読性ブースト === */
.tfp-job-rich .lead-subtext{
  margin: 8px 0 16px;        /* チップに寄せて→本文は少し余白 */
  font-size: 16.5px;         /* PCで一段階UP */
  line-height: 1.8;          /* しっかり読める行間 */
  color: #1f2937;            /* 濃いめ（gray-900寄り） */
  font-weight: 500;          /* 細すぎないミディアム */
  letter-spacing: .01em;     /* ほんのり */
  max-width: 78ch;           /* 1行の長さを最適化（横に伸びすぎ防止） */
}
.tfp-job-rich .lead-subtext p{ margin: 0; }
.tfp-job-rich .lead-subtext p + p{ margin-top: .6em; } /* 段落が複数あれば間隔だけ足す */

@media (max-width: 1024px){
  /* タブレット以下はコンテナ幅優先で横スク回避 */
  .tfp-job-rich .lead-subtext{ max-width: none; }
}
@media (max-width: 768px){
  /* モバイルはわずかにサイズ調整、読みやすい行間を維持 */
  .tfp-job-rich .lead-subtext{
    font-size: 15.5px;
    line-height: 1.7;
  }
}
/* === lead_subtext：PCは横幅いっぱいで自然改行に統一 === */
.tfp-job-rich .lead-subtext{
  /* 幅制限を解除（以前の 78ch を打ち消す） */
  max-width: none !important;
  width: 100%;

  /* 日本語の変な途中改行を抑制して自然に折り返す */
  white-space: normal !important;
  word-break: normal !important;        /* break-word を無効化 */
  overflow-wrap: break-word;            /* どうしても長い英数のみ折返し */
  line-break: strict;                   /* CJK向け文字組み（対応ブラウザで有効） */
  text-wrap: pretty;                    /* 近年のブラウザで余白の見栄えを改善 */
}
/* ========= Chips: Orange Accent (#F06419) ========= */
/* (moved to consolidated :root at top) */

/* ベース（通常時は淡色ベタ＋濃いめテキスト） */
.tfp-job-rich .tfp-chips > li.chip{
  background: var(--tfp-orange-50);
  border: 1px solid var(--tfp-orange-100);
  color: var(--tfp-orange-600);           /* 「年収」「勤務地」側の色味 */
  transition: background .15s ease, color .15s ease, border-color .15s ease, transform .15s ease;
}

/* 値のほうは読みやすく濃いグレーでキリッと */
.tfp-job-rich .tfp-chips > li.chip .chip-line .v{
  color: #111827;                         /* gray-900 */
  font-weight: 700;
}

/* ホバー/フォーカスでしっかり主張（白文字でコントラスト確保） */
.tfp-job-rich .tfp-chips > li.chip:hover,
.tfp-job-rich .tfp-chips > li.chip:focus-visible{
  background: var(--tfp-orange);
  border-color: var(--tfp-orange);
  color: #fff;
}
.tfp-job-rich .tfp-chips > li.chip:hover .chip-line .v,
.tfp-job-rich .tfp-chips > li.chip:focus-visible .chip-line .v{
  color: #fff;
}

/* キーボード操作の可視化 */
.tfp-job-rich .tfp-chips > li.chip:focus-visible{
  outline: 3px solid var(--tfp-orange-ring);
  outline-offset: 2px;
  border-radius: 999px;
}

/* 微アニメ（触り心地UP、動き弱め） */
.tfp-job-rich .tfp-chips > li.chip:hover{ transform: translateY(-1px); }
@media (prefers-reduced-motion: reduce){
  .tfp-job-rich .tfp-chips > li.chip,
  .tfp-job-rich .tfp-chips > li.chip:hover{ transition:none; transform:none; }
}
/* ====== TFP: 年収/勤務地チップをオレンジに（強制上書き） ====== */
/* (moved to consolidated :root at top) */

/* ベース（通常時：淡いオレンジ地＋文字はやや濃い） */
.tfp-job-rich .tfp-chips > li.chip{
  background: var(--tfp-orange-50) !important;
  border: 1px solid var(--tfp-orange-100) !important;
  color: var(--tfp-orange-600) !important;   /* 「年収」「勤務地」のラベル色 */
  transition: background .15s ease, color .15s ease, border-color .15s ease, transform .15s ease;
}

/* 値（300万〜… / ON_SITE など）は読みやすい濃グレー */
.tfp-job-rich .tfp-chips > li.chip .v{
  color:#111827 !important;
  font-weight:700;
}

/* ホバー/フォーカス（しっかり主張） */
.tfp-job-rich .tfp-chips > li.chip:hover,
.tfp-job-rich .tfp-chips > li.chip:focus-visible{
  background: var(--tfp-orange) !important;
  border-color: var(--tfp-orange) !important;
  color:#fff !important;
}
.tfp-job-rich .tfp-chips > li.chip:hover .v,
.tfp-job-rich .tfp-chips > li.chip:focus-visible .v{
  color:#fff !important;
}

/* キーボード操作の可視化 */
.tfp-job-rich .tfp-chips > li.chip:focus-visible{
  outline:3px solid var(--tfp-orange-ring) !important;
  outline-offset:2px;
  border-radius:999px;
}
/* ====== CTA（求人詳細を見る）をチップと同トーンに。高さも半分へ ====== */
/* (moved to consolidated :root at top) */

/* 対象を広めにキャッチ（btn/priなどバリエーション吸収） */
.tfp-job-rich .foot .btn,
.tfp-job-rich .foot a.btn,
.tfp-job-rich .foot .btn.pri,
.tfp-job-rich .foot a.btn.pri,
.tfp-job-rich .foot .btn-cta{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  /* ここで“縦幅を半分”に（目安：36px） */
  height: 36px !important;
  min-height: 36px !important;
  padding: 0 16px !important;   /* 横は詰めすぎないで読みやすく */
  line-height: 1 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  border-radius: 9999px !important;

  color: #fff !important;
  background: var(--tfp-orange) !important;
  border: 1px solid var(--tfp-orange) !important;
  text-decoration: none !important;
  box-shadow: none !important;

  transition: background .15s ease, border-color .15s ease,
              transform .12s ease, box-shadow .15s ease;
}

/* ホバー/フォーカス：チップと同じ濃いトーンへ */
.tfp-job-rich .foot .btn:hover,
.tfp-job-rich .foot a.btn:hover,
.tfp-job-rich .foot .btn.pri:hover,
.tfp-job-rich .foot a.btn.pri:hover,
.tfp-job-rich .foot .btn-cta:hover{
  background: var(--tfp-orange-600) !important;
  border-color: var(--tfp-orange-600) !important;
  transform: translateY(-1px);
}

/* キーボード操作の可視化（リングはチップと共通） */
.tfp-job-rich .foot .btn:focus-visible,
.tfp-job-rich .foot a.btn:focus-visible,
.tfp-job-rich .foot .btn.pri:focus-visible,
.tfp-job-rich .foot a.btn.pri:focus-visible,
.tfp-job-rich .foot .btn-cta:focus-visible{
  outline: 3px solid var(--tfp-orange-ring) !important;
  outline-offset: 2px;
}
/* ===== Company Card：枠線を少し濃く＆縦の余白をコンパクトに ===== */
/* いま使ってる外枠クラスが「company-card / company / company-box」のどれでも拾えるように多め指定 */
.tfp-job-rich .company-card,
.tfp-job-rich .company,
.tfp-job-rich .company-box{
  border-color: #c9d1d9 !important;   /* 既存より一段濃いグレー */
  border-width: 1.5px !important;     /* ほんの少しだけ太く */
  padding: 14px 18px !important;      /* 上下の余白を軽く圧縮（例：20→14） */
  background: #fff;                   /* 念のため */
}

/* 見出し・メタ・説明の上下マージンを詰める */
.tfp-job-rich .company-card .head,
.tfp-job-rich .company-card .meta,
.tfp-job-rich .company-card .desc,
.tfp-job-rich .company .head,
.tfp-job-rich .company .meta,
.tfp-job-rich .company .desc,
.tfp-job-rich .company-box .head,
.tfp-job-rich .company-box .meta,
.tfp-job-rich .company-box .desc{
  margin-top: 6px !important;
  margin-bottom: 6px !important;
}

/* 会社名の下だけ少しだけ余白を残す＆サイズは据え置き（読みやすさ優先） */
.tfp-job-rich .company-card .name,
.tfp-job-rich .company .name,
.tfp-job-rich .company-box .name{
  margin: 0 0 6px !important;
}

/* メタのチップ群の詰め。gap を少し狭める */
.tfp-job-rich .company-card .tfp-chips,
.tfp-job-rich .company .tfp-chips,
.tfp-job-rich .company-box .tfp-chips{
  gap: 8px !important;                 /* 例：12px→8px */
  margin: 6px 0 0 !important;
}

/* 説明（会社概要）の行間を少しだけ締める。長文は2行で省略（縦縮み重視のとき） */
.tfp-job-rich .company-card .summary,
.tfp-job-rich .company .summary,
.tfp-job-rich .company-box .summary{
  font-size: 14.5px !important;
  line-height: 1.6 !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;               /* 2行で省略：もっと見せたいなら 3 に */
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* CTAエリア（会社ページボタン）との間も少しだけ詰める */
.tfp-job-rich .company-card .foot,
.tfp-job-rich .company .foot,
.tfp-job-rich .company-box .foot{
  margin-top: 8px !important;
}
/* ===== TFP FIX: 会社カード（company-mini）枠線を濃く＆縦をコンパクトに ===== */
:where(.tfp-job-rich) .company-mini{
  border-color:#b6c2cf !important;   /* 既存より一段濃い */
  border-width:1.5px !important;
  padding:10px 12px !important;      /* 上下を軽く圧縮 */
  margin:6px 0 10px !important;      /* カード間もタイトに */
  background:#fff !important;
}
:where(.tfp-job-rich) .company-mini .name{
  margin:0 0 4px !important;
}
:where(.tfp-job-rich) .company-mini .meta-line{
  margin:2px 0 4px !important;
  gap:6px !important;
}
:where(.tfp-job-rich) .company-mini .company-detail{
  font-size:16px !important;
  line-height:1.6 !important;
  -webkit-line-clamp:2;              /* 2行で省略（縦幅短縮） */
  display:-webkit-box; -webkit-box-orient:vertical; overflow:hidden;
  margin:4px 0 6px !important;
}
:where(.tfp-job-rich) .company-mini .actions .btn.sec{
  min-height:32px !important;
  padding:6px 10px !important;
  font-size:13px !important;
  border-radius:10px !important;
}

/* 会社カード内の「タグ」群も少しだけ詰める（使っていれば） */
:where(.tfp-job-rich) .company-mini .company-tags{
  gap:6px !important;
  margin-top:4px !important;
}
/* === Company mini：下の余白ゼロ＆ボタンを右上に、カード高さは中身分だけ === */
:where(.tfp-job-rich) .company-mini{
  /* 枠はそのまま濃いめでOK（前パッチのまま） */
  display: flex !important;            /* 横並びで右側にボタン置きやすく */
  align-items: flex-start !important;   /* ボタンを上端に揃える */
  gap: 16px !important;

  /* 余白をギュッと（下が空かないように上下を詰める） */
  padding: 10px 12px 10px !important;   /* 下パディングを薄く */
  margin-bottom: 10px !important;       /* カード間の間隔は控えめに */
}

/* 左側の本文エリア（クラス名が body/inner/content 等でも拾えるようにケア） */
:where(.tfp-job-rich) .company-mini .body,
:where(.tfp-job-rich) .company-mini .inner,
:where(.tfp-job-rich) .company-mini .content{
  flex: 1 1 auto !important;
  min-width: 0 !important;              /* 折返し時のはみ出し防止 */
}

/* 会社ページボタンの置き場（foot / actions どちらでもOK） */
:where(.tfp-job-rich) .company-mini .foot,
:where(.tfp-job-rich) .company-mini .actions{
  margin: 0 0 0 auto !important;        /* 右端に寄せる & 下余白ゼロ */
  align-self: flex-start !important;     /* 上端に固定 → カードの下が空かない */
}

/* 本文の段落やメタの下マージンを詰める（最後の要素はゼロ） */
:where(.tfp-job-rich) .company-mini .company-detail{ 
  margin: 4px 0 0 !important;           /* 上だけ少し、下はゼロ寄り */
  line-height: 1.6 !important;
}
:where(.tfp-job-rich) .company-mini > *:last-child{
  margin-bottom: 0 !important;          /* カード最下の余白を完全にカット */
}

/* 任意：説明文は2行で省略（もっと詰めたい時） */
:where(.tfp-job-rich) .company-mini .company-detail{
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;                 /* 2行表示で省略。3行にしたければ 3 に */
  overflow: hidden;
}

/* ======= Compact Search Toolbar (Green風) ======= */
.tfp-toolbar {
  position: sticky;
  top: 0;           /* 管理バーが被るなら 32px に調整 */
  z-index: 50;
  background: #fff;
  border-bottom: 1px solid #e5e7eb;
  padding: 8px 12px;
  backdrop-filter: saturate(180%) blur(6px);
}

.tfp-row {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.tfp-toolbar-row .tfp-field { display: flex; align-items: center; }
.tfp-grow { flex: 1 1 auto; }

/* 小さめの入力/セレクト */
.tfp-input,
.tfp-select {
  height: 36px;
  padding: 6px 10px;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  font-size: 14px;
  background: #fff;
}

/* ボタン類 */
.tfp-btn {
  height: 36px;
  padding: 0 14px;
  border: 0;
  border-radius: 10px;
  background: #0f172a;
  color: #fff;
  font-weight: 600;
  cursor: pointer;
}
.tfp-btn:hover { opacity: .92; }

.tfp-link-btn {
  height: 36px;
  padding: 0 10px;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  background: #fff;
  cursor: pointer;
}
.tfp-link {
  color: #0f172a;
  text-decoration: underline;
  font-size: 14px;
}

/* ラベル非表示（アクセシビリティは維持） */
.sr-only {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px; overflow: hidden;
  clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

/* アクティブ条件のチップ */
.tfp-chips {
  display: flex; gap: 6px; flex-wrap: wrap;
  padding: 8px 0 4px;
}
.tfp-chip {
  display: inline-flex; align-items: center; gap: 6px;
  border: 1px solid #e5e7eb; border-radius: 999px;
  padding: 5px 10px; font-size: 12px; background: #fff;
}

/* 詳細条件ドロワー（モバイル優先） */
.tfp-drawer {
  position: fixed; left: 0; right: 0; bottom: 0; top: 0;
  background: rgba(0,0,0,.2);
  display: none;
}
.tfp-drawer[aria-hidden="false"] { display: block; }
.tfp-drawer-inner {
  position: absolute; left: 0; right: 0; bottom: 0;
  background: #fff; border-top-left-radius: 16px; border-top-right-radius: 16px;
  box-shadow: 0 -10px 30px rgba(0,0,0,.08);
  padding: 12px;
}
.tfp-drawer-head { display:flex; align-items:center; justify-content:space-between; margin-bottom: 8px; }
.tfp-drawer-body { display:grid; gap: 12px; max-height: 50vh; overflow:auto; }
.tfp-drawer-foot { display:flex; gap:10px; align-items:center; justify-content:flex-end; padding-top:8px; border-top:1px solid #f1f5f9; }
.tfp-drawer-close { background: transparent; border: 0; cursor: pointer; }

body.tfp-drawer-open { overflow: hidden; }

/* 画面幅が広いときはドロワーをポップオーバーっぽく */
@media (min-width: 960px) {
  .tfp-drawer-inner {
    left: auto; right: 24px; bottom: auto; top: 80px;
    width: 420px; border-radius: 12px;
  }
}

/* 画面幅が狭いときは横スクロール気味に */
@media (max-width: 640px) {
  .tfp-toolbar { padding: 8px; }
  .tfp-row { gap: 6px; }
  .tfp-input, .tfp-select { min-width: 42%; }
}
/* --- Hero検索を強制的に横並びのツールバー化 --- */
.tfp-hero-search{
  position: sticky; top: 0; z-index: 50;
  background:#fff; border-bottom:1px solid #e5e7eb;
  padding:8px 12px;
  display:flex !important; align-items:center; gap:8px; flex-wrap:wrap;
}
/* ラベルをインライン化＆見出しを消して省スペース */
.tfp-hero-search label{display:inline-flex !important; align-items:center; gap:8px; margin:0;}
.tfp-hero-search label>span{display:none !important;}
/* グリッド/ブロック指定を全部打ち消す */
.tfp-hero-search div, .tfp-hero-search fieldset{display:inline-flex !important; align-items:center; gap:8px; margin:0;}
/* フル幅指定の打ち消し */
.tfp-hero-search input[type="text"],
.tfp-hero-search select{
  width:auto !important; min-width:180px; height:36px;
  padding:6px 10px; border:1px solid #e5e7eb; border-radius:10px; font-size:14px; background:#fff;
}
.tfp-hero-search input[type="range"]{ width:140px !important; }
.tfp-hero-search small{ font-size:12px; color:#64748b; }
.tfp-hero-search .tfp-btn{
  height:36px; padding:0 14px; border:0; border-radius:10px; background:#0f172a; color:#fff; font-weight:600; cursor:pointer;
}
.tfp-hero-search .tfp-link{ font-size:14px; color:#0f172a; text-decoration:underline; }
.tfp-hero-search [type="checkbox"]{ transform: translateY(1px); }

@media (max-width:640px){
  .tfp-hero-search{ gap:6px; }
  .tfp-hero-search input[type="text"], .tfp-hero-search select{ min-width:140px; }
}



/* --- Compact Search Toolbar (Green風) --- */
.tfp-toolbar{
  position: sticky; top: 0; z-index: 50;
  background:#fff; border-bottom:1px solid #e5e7eb;
  padding:8px 12px;
  display:flex; align-items:center; gap:8px; flex-wrap:wrap;
}
.tfp-input, .tfp-select{
  height:36px; padding:6px 10px;
  border:1px solid #e5e7eb; border-radius:10px;
  font-size:14px; background:#fff;
}
.tfp-btn{
  height:36px; padding:0 14px; border:0;
  border-radius:10px; background:#0f172a; color:#fff; font-weight:600; cursor:pointer;
}
.tfp-btn:hover{ opacity:.92; }
.tfp-link{ color:#0f172a; text-decoration:underline; font-size:14px; }
@media (max-width:640px){
  .tfp-input, .tfp-select{ min-width:140px; }
}

/* ===== /jobs 検索バーを横並び＆コンパクトに（WPJM上書きパッチ） ===== */

/* WPJMの「幅100%」を打ち消し */
.job_filters.tfp-toolbar input[type="text"],
.job_filters.tfp-toolbar select {
  width: auto !important;
  min-width: 150px;
}

/* 旧WPJMクラスが残っていても縦積み化しないように */
.job_filters.tfp-toolbar .search_jobs > * {
  width: auto !important;
  flex: 0 0 auto !important;
}

/* 1行で気持ちよく収まるグリッド（PC） */
.job_filters.tfp-toolbar .tfp-toolbar-row{
  display: grid !important;
  grid-template-columns:
    minmax(260px, 1.6fr)   /* キーワード */
    minmax(180px, 1.0fr)   /* 勤務地 */
    minmax(140px, .8fr)    /* リモート下限 */
    minmax(140px, .8fr)    /* 年収下限 */
    minmax(140px, .8fr)    /* ステージ */
    minmax(140px, .8fr)    /* 人数帯 */
    minmax(160px, .9fr)    /* 並び替え */
    auto                   /* 検索 */
    auto;                  /* 全クリア/詳細条件 */
  align-items: center;
  gap: 8px;
}

/* 入力UIはセル幅にフィット */
.job_filters.tfp-toolbar .tfp-field,
.job_filters.tfp-toolbar .tfp-input,
.job_filters.tfp-toolbar .tfp-select{
  width: 100% !important;
}

/* タブレット：2段に落として見やすく */
@media (max-width: 1024px){
  .job_filters.tfp-toolbar .tfp-toolbar-row{
    grid-template-columns:
      minmax(260px,1fr) minmax(180px,1fr)  /* キーワード / 勤務地 */
      minmax(160px,1fr) minmax(160px,1fr)  /* リモート / 年収 */
      minmax(160px,1fr) minmax(160px,1fr)  /* ステージ / 人数帯 */
      minmax(160px,1fr) auto;              /* 並び替え / ボタン群 */
  }
}

/* スマホ：2列グリッド＋要素は幅いっぱいでOK */
@media (max-width: 640px){
  .job_filters.tfp-toolbar .tfp-toolbar-row{
    grid-template-columns: 1fr 1fr;
    gap: 6px;
  }
  .job_filters.tfp-toolbar input[type="text"],
  .job_filters.tfp-toolbar select{
    min-width: 0 !important;
  }
}

/* ボタンのサイズを揃えて詰める */
.job_filters.tfp-toolbar .tfp-btn{
  height: 36px; padding: 0 14px;
}
.job_filters.tfp-toolbar .tfp-link-btn{ height:36px; }
.job_filters.tfp-toolbar .tfp-link{ font-size:14px; white-space:nowrap; }

/* ======= /jobs 検索ツールバーをカード幅に合わせ＆見やすく ======= */

/* 1) カードと同じ“ワイド”幅で中央寄せ（TT25のカスタムプロパティに追従） */
.tfp-toolbar-inner{
  max-width: var(--wp--style--global--wide-size, 1200px);
  margin-inline: auto;
  padding-inline: clamp(12px, 2vw, 24px);
  padding-block: 8px;
}

/* 2) 上段をグリッドで綺麗に配列（PCは1行） */
.tfp-toolbar .tfp-toolbar-row{
  display: grid !important;
  grid-template-columns:
    minmax(320px, 1.8fr)   /* キーワード */
    minmax(220px, 1.2fr)   /* 勤務地 */
    minmax(180px, 1fr)     /* リモート */
    minmax(180px, 1fr)     /* 年収 */
    minmax(180px, 1fr)     /* ステージ */
    minmax(180px, 1fr)     /* 人数帯 */
    minmax(190px, 1.1fr)   /* 並び替え */
    auto                   /* 検索 */
    auto;                  /* 全クリア/詳細 */
  align-items: center;
  gap: 10px;
}

/* 3) WPJM既定の width:100% を打消して、セル幅にフィット */
.job_filters.tfp-toolbar input[type="text"],
.job_filters.tfp-toolbar select {
  width: 100% !important;   /* ←グリッドのセル幅に追従 */
  min-width: 0 !important;
}

/* 4) 入力UIの“横幅”と“縦幅”を拡大して見やすく */
.tfp-toolbar .tfp-input,
.tfp-toolbar .tfp-select{
  height: 44px;                 /* ←縦幅UP */
  padding: 8px 12px;            /* ←内側余白UP */
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  font-size: 15px;
  background: #fff;
}

/* 5) ボタンサイズも合わせる */
.tfp-toolbar .tfp-btn{
  height: 44px;
  padding: 0 16px;
  border: 0; border-radius: 10px;
  background:#0f172a; color:#fff; font-weight:600; cursor:pointer;
}
.tfp-toolbar .tfp-link-btn{ height:44px; }
.tfp-toolbar .tfp-link{ font-size:14px; white-space:nowrap; }

/* 6) タブレット：2段に崩して見やすく */
@media (max-width: 1100px){
  .tfp-toolbar .tfp-toolbar-row{
    grid-template-columns:
      minmax(320px,1fr) minmax(220px,1fr) /* キーワード/勤務地 */
      minmax(180px,1fr) minmax(180px,1fr) /* リモート/年収 */
      minmax(180px,1fr) minmax(180px,1fr) /* ステージ/人数帯 */
      minmax(190px,1fr) auto auto;        /* 並び替え/検索/クリア */
  }
}

/* 7) スマホ：2列レイアウト */
@media (max-width: 640px){
  .tfp-toolbar .tfp-toolbar-row{
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }
  .tfp-toolbar .tfp-input, .tfp-toolbar .tfp-select{
    height: 42px; font-size: 14px;
  }
}

/* 8) 余白・影響を最小化（他CSSの横幅100%を抑制） */
.job_filters.tfp-toolbar .search_jobs > *{
  width: auto !important;
  flex: 0 0 auto !important;
}

/* 追加: PCでも不要なスペーサーを無効化（列数を崩さない） */
.job_filters.tfp-toolbar .tfp-grow{ display:none !important; }
/* === TFP: /jobs ツールバーをカード幅に合わせ、項目の幅/高さを拡大（強制上書き） === */

/* まず幅をカードと揃える（alignwide があるテーマなら自動で一致） */
.tfp-toolbar-inner.alignwide{
  /* ブロックテーマ系の変数に追従しつつフォールバック */
  max-width: var(--wp--style--global--content-size, var(--wp--style--global--wide-size, 1140px)) !important;
  margin-inline: auto !important;
  padding-inline: clamp(12px, 2vw, 24px) !important;
}

/* 1段目をグリッドで整列（PCは1行） */
.job_filters.tfp-toolbar .tfp-toolbar-row{
  display: grid !important;
  grid-template-columns:
    minmax(320px, 1.8fr)   /* キーワード */
    minmax(220px, 1.2fr)   /* 勤務地 */
    minmax(160px, .9fr)    /* 年収（小さめ） */
    minmax(180px, 1fr)     /* ステージ */
    minmax(160px, .9fr)    /* 人数帯（小さめ） */
    minmax(200px, 1.1fr)   /* 並び替え */
    auto                   /* 検索 */
    auto;                  /* クリア/詳細 */
  align-items: center;
  gap: 12px !important;
}

/* WPJMやテーマの width:100% をセル幅にリセット */
.job_filters.tfp-toolbar input[type="text"],
.job_filters.tfp-toolbar select{
  width: 100% !important;
  min-width: 0 !important;
}

/* ★ 高さと内側余白を大きめに（指でも押しやすい） */
.job_filters.tfp-toolbar .tfp-input,
.job_filters.tfp-toolbar .tfp-select,
.job_filters.tfp-toolbar input[type="text"],
.job_filters.tfp-toolbar select{
  height: 46px !important;          /* ←縦幅UP */
  padding: 10px 14px !important;    /* ←内側余白UP */
  border-radius: 10px !important;
  font-size: 15px !important;
  line-height: 1.2 !important;
}

/* ボタン類もサイズを合わせる */
.job_filters.tfp-toolbar .tfp-btn,
.job_filters.tfp-toolbar .tfp-link-btn{
  height: 46px !important;
  padding: 0 16px !important;
  border-radius: 10px !important;
  font-weight: 700 !important;
}
.job_filters.tfp-toolbar .tfp-link{ font-size:14px !important; white-space:nowrap; }

/* タブレットは2段に分割 */
@media (max-width: 1100px){
  .job_filters.tfp-toolbar .tfp-toolbar-row{
    grid-template-columns:
      minmax(320px,1fr) minmax(220px,1fr)  /* キーワード/勤務地 */
      minmax(190px,1fr) minmax(190px,1fr)  /* リモート/年収 */
      minmax(190px,1fr) minmax(190px,1fr)  /* ステージ/人数帯 */
      minmax(200px,1fr) auto auto;         /* 並び替え/検索/クリア */
  }
}

/* スマホは2列 */
@media (max-width: 640px){
.job_filters.tfp-toolbar .tfp-toolbar-row{
    grid-template-columns: 1fr 1fr;
    gap: 8px !important;
  }
  .job_filters.tfp-toolbar .tfp-input,
  .job_filters.tfp-toolbar .tfp-select,
  .job_filters.tfp-toolbar input[type="text"],
  .job_filters.tfp-toolbar select{
    height: 44px !important;
    font-size: 14px !important;
  }
}

/* ===== Mobile: show only trigger button, hide full toolbar row ===== */
  .tfp-mobile-trigger{ display:none; }
  @media (max-width: 768px){
    .tfp-mobile-trigger{ display:block; }
    /* ドロワーを持つフォームのみ、表面の行を隠す（TOPのショートコードは隠さない） */
    .tfp-toolbar[data-has-drawer="1"] > .tfp-toolbar-inner > .tfp-toolbar-row{ display:none !important; }
  .tfp-mobile-trigger .tfp-trigger-btn{
    display:flex; align-items:center; justify-content:center; /* 中央寄せ（左右・上下） */
    width:100%; height:44px; padding:0 14px; margin:0; /* 余白を詰めてコンパクトに */
    border:1px solid #cbd5e1; border-radius:12px; background:#fff;
    font-size:16px; color:#0f172a !important; font-weight:600; line-height:1;
    text-align:center;
    box-shadow:0 1px 0 rgba(15,23,42,.04);
  }
}

/* ===== Mobile: shrink toolbar vertical space around trigger ===== */
@media (max-width: 768px){
  .tfp-toolbar{ padding-top: 0 !important; padding-bottom: 0 !important; }
  .tfp-toolbar .tfp-toolbar-inner{ padding-top: 0 !important; padding-bottom: 0 !important; }
}

/* ===== Mobile Drawer as full-screen popover (no inner scroll) ===== */
@media (max-width: 768px){
  .tfp-drawer{ position: fixed; inset: 0; background: rgba(0,0,0,.35); z-index: 9999; }
  .tfp-drawer[aria-hidden="true"]{ display:none; }
  .tfp-drawer-inner{
    position:absolute; inset:0; width:auto; height:100vh; border-radius:0; padding:12px;
    box-shadow:none; background:#fff; z-index: 10000;
    display:flex; flex-direction:column;
  }
  .tfp-drawer-head{ position:relative; padding:8px 52px 8px 8px; border-bottom:1px solid #e5e7eb; }
  .tfp-drawer-close{
    position:absolute; top:8px; right:8px;
    display:inline-flex; align-items:center; justify-content:center;
    padding:6px 10px; height:auto; width:auto; line-height:1; white-space:nowrap;
    border:1px solid #e5e7eb; border-radius:8px; background:#fff; writing-mode:horizontal-tb;
  }
  /* コンテンツが収まりきらない場合に備え、ボディ内のみスクロール可 */
  .tfp-drawer-body{ height: calc(100vh - 56px - 64px); overflow:auto; padding-top:8px; padding-bottom:88px; }
  /* 追加の詳細ブロックはモバイルでは非表示（ツールバーのみ見せる） */
  .tfp-drawer .tfp-field-block{ display:none !important; }
  /* ドロワー内のツールバーは縦1列（flex縦積み＋gap） */
  .tfp-drawer .tfp-toolbar-row{ display:flex !important; flex-direction:column !important; gap:12px !important; max-width:560px; margin:0 auto; }
  .tfp-drawer .tfp-toolbar-row > *{ display:block !important; width:100% !important; }
  .tfp-drawer .tfp-toolbar-row > p{ display: contents !important; }
  .tfp-drawer .tfp-toolbar-row .tfp-field{ display:grid; grid-template-columns: 1fr; align-items:start; gap:6px; }
  /* sr-only を可視化して左側ラベルとして使う */
  .tfp-drawer .sr-only{
    position:static !important; width:auto !important; height:auto !important; margin:0 0 2px 0 !important;
    padding:0 !important; clip:auto !important; white-space:normal !important; overflow:visible !important;
    color:#475569; font-size:13px; font-weight:600; line-height:1.3;
  }
  .tfp-drawer .tfp-toolbar-row .tfp-input,
  .tfp-drawer .tfp-toolbar-row .tfp-select,
  .tfp-drawer .tfp-toolbar-row input[type="text"],
  .tfp-drawer .tfp-toolbar-row select{
    height:44px !important; font-size:14px !important; width:100% !important;
  }
  /* 行内の黒い 検索 ボタンは隠し、下部のオレンジのみ使用 */
  .tfp-drawer .tfp-toolbar-row .tfp-btn{ display:none !important; }
  /* ボタン配置：右上の閉じる。下段に固定フッターを表示して右下に検索 */
  .tfp-drawer-foot{
    position:sticky; bottom:0; margin-top:12px; padding:10px 12px; background:linear-gradient(180deg, rgba(255,255,255,.85), #fff);
    border-top:1px solid #e5e7eb; display:flex; gap:10px; align-items:center; justify-content:flex-end;
  }
  .tfp-drawer-foot .tfp-btn{ background:#E85D04 !important; color:#fff !important; border:none !important; height:48px !important; padding:0 18px !important; border-radius:12px !important; font-weight:800 !important; }
  .tfp-drawer-foot .tfp-btn:hover{ background:#d14f00 !important; }
  .tfp-drawer-foot .tfp-link{ margin-right:auto; text-decoration:none !important; }
}

/* Extra hardening: force 1-column inside both drawers on small screens */
@media (max-width: 1200px){
  #tfpFilterDrawer-shortcode .tfp-toolbar-row,
  #tfpFilterDrawer .tfp-toolbar-row{ grid-template-columns: 1fr !important; }
  #tfpFilterDrawer-shortcode .tfp-toolbar-row > *,
  #tfpFilterDrawer .tfp-toolbar-row > *{ grid-column: 1 / -1 !important; }
}

/* ===== Final fix: Drawer toolbar is always single-column on mobile/tablet ===== */
@media (max-width: 1200px){
  :where(.tfp-drawer) :where(.tfp-toolbar-row){ grid-template-columns: 1fr !important; }
  :where(.tfp-drawer) :where(.tfp-toolbar-row) > *{ grid-column: 1 / -1 !important; }
}

/* === TFP Final Fix: Prevent overflow by auto-fit grid at all widths === */
.tfp-toolbar .tfp-toolbar-row,
.job_filters.tfp-toolbar .tfp-toolbar-row{
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
}
.tfp-toolbar .tfp-grow,
.job_filters.tfp-toolbar .tfp-grow{ display:none !important; }

/* ===== Drawer: force vertical layout (all widths) ===== */
.tfp-drawer .tfp-toolbar-row{ display:flex !important; flex-direction:column !important; gap:12px !important; max-width:560px; margin:0 auto; }
.tfp-drawer .tfp-toolbar-row > *{ display:block !important; width:100% !important; }
.tfp-drawer .tfp-toolbar-row .tfp-btn{ display:none !important; }

/* ===== Final Mobile Shrink: minimize white background around trigger ===== */
@media (max-width: 768px){
  :where(.tfp-toolbar),
  :where(.job_filters.tfp-toolbar){
    padding-block: 0 !important;
    margin: 0 !important;
  }
  :where(.tfp-toolbar-inner),
  :where(.tfp-toolbar-inner.alignwide),
  :where(.job_filters.tfp-toolbar) :where(.tfp-toolbar-inner){
    padding-block: 0 !important;
  }
  :where(.tfp-mobile-trigger){ margin:0 !important; padding:0 !important; }
  :where(.tfp-mobile-trigger) .tfp-trigger-btn{ height: 36px !important; }
}

/* ===== Super-final mobile override with higher specificity ===== */
@media (max-width: 768px){
  /* Outer white bar */
  .tfp-toolbar,
  .job_filters.tfp-toolbar{ padding-top:0 !important; padding-bottom:0 !important; }
  /* Inner container padding */
  .tfp-toolbar .tfp-toolbar-inner,
  .tfp-toolbar .tfp-toolbar-inner.alignwide,
  .job_filters.tfp-toolbar .tfp-toolbar-inner,
  .job_filters.tfp-toolbar .tfp-toolbar-inner.alignwide{ padding-top:0 !important; padding-bottom:0 !important; }
  /* Trigger block spacing */
  .tfp-toolbar .tfp-mobile-trigger,
  .job_filters.tfp-toolbar .tfp-mobile-trigger{ margin:0 !important; padding:0 !important; }
  .tfp-toolbar .tfp-mobile-trigger .tfp-trigger-btn,
  .job_filters.tfp-toolbar .tfp-mobile-trigger .tfp-trigger-btn{
    height:36px !important; margin:0 !important; padding:0 14px !important; line-height:1 !important;
    display:flex !important; align-items:center !important; justify-content:center !important;
  }
}
/* === /jobs 検索ツールバー：カード幅に合わせ、項目の幅/高さを拡大（強制上書き） === */

/* 1) 幅：カードと同じ“ワイド幅”で中央寄せ */
.tfp-toolbar-inner.alignwide{
  max-width: var(--wp--style--global--content-size, var(--wp--style--global--wide-size, 1140px)) !important;
  margin-inline: auto !important;
  padding-inline: clamp(12px, 2vw, 24px) !important;
  padding-block: 8px !important;
}

/* 2) 上段をグリッドで配列（PCは1行） */
.job_filters.tfp-toolbar .tfp-toolbar-row{
  display: grid !important;
  grid-template-columns:
    minmax(320px, 1.8fr)   /* キーワード */
    minmax(220px, 1.2fr)   /* 勤務地 */
    minmax(190px, 1fr)     /* リモート */
    minmax(190px, 1fr)     /* 年収 */
    minmax(190px, 1fr)     /* ステージ */
    minmax(190px, 1fr)     /* 人数帯 */
    minmax(200px, 1.1fr)   /* 並び替え */
    auto                   /* 検索 */
    auto;                  /* クリア/詳細 */
  align-items: center;
  gap: 12px !important;
}

/* 3) WPJM/テーマの width:100% を“セル幅に追従”へ統一 */
.job_filters.tfp-toolbar input[type="text"],
.job_filters.tfp-toolbar select{
  width: 100% !important;
  min-width: 0 !important;
}

/* 4) 項目の縦幅・余白・文字サイズを拡大 */
.job_filters.tfp-toolbar .tfp-input,
.job_filters.tfp-toolbar .tfp-select,
.job_filters.tfp-toolbar input[type="text"],
.job_filters.tfp-toolbar select{
  height: 46px !important;          /* ←縦幅UP */
  padding: 10px 14px !important;    /* ←内側余白UP */
  border-radius: 10px !important;
  font-size: 15px !important;
  line-height: 1.2 !important;
}

/* 5) ボタンもサイズ合わせ */
.job_filters.tfp-toolbar .tfp-btn,
.job_filters.tfp-toolbar .tfp-link-btn{
  height: 46px !important;
  padding: 0 16px !important;
  border-radius: 10px !important;
  font-weight: 700 !important;
}
.job_filters.tfp-toolbar .tfp-link{ font-size:14px !important; white-space:nowrap; }

/* 6) タブレットは2段 */
@media (max-width: 1100px){
  .job_filters.tfp-toolbar .tfp-toolbar-row{
    grid-template-columns:
      minmax(320px,1fr) minmax(220px,1fr)  /* キーワード/勤務地 */
      minmax(190px,1fr) minmax(190px,1fr)  /* リモート/年収 */
      minmax(190px,1fr) minmax(190px,1fr)  /* ステージ/人数帯 */
      minmax(200px,1fr) auto auto;         /* 並び替え/検索/クリア */
  }
}

/* 7) スマホは2列 */
@media (max-width: 640px){
  .job_filters.tfp-toolbar .tfp-toolbar-row{
    grid-template-columns: 1fr 1fr;
    gap: 8px !important;
  }
  .job_filters.tfp-toolbar .tfp-input,
  .job_filters.tfp-toolbar .tfp-select,
  .job_filters.tfp-toolbar input[type="text"],
  .job_filters.tfp-toolbar select{
    height: 44px !important;
    font-size: 14px !important;
  }
}
/* === /jobs 検索ツールバー：カード幅に合わせ、各項目の幅/高さを拡大（強制上書き） === */

/* 中央寄せ＆カードと同じ“ワイド幅” */
.tfp-toolbar-inner.alignwide,
.job_filters.tfp-toolbar .tfp-toolbar-inner {
  max-width: var(--wp--style--global--wide-size, 1140px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-inline: clamp(12px, 2vw, 24px) !important;
  padding-block: 8px !important;
  box-sizing: border-box !important;
}

/* 上段を1行グリッド（PC） */
.job_filters.tfp-toolbar .tfp-toolbar-row{
  display: grid !important;
  grid-template-columns:
    minmax(320px, 1.8fr)   /* キーワード */
    minmax(220px, 1.2fr)   /* 勤務地 */
    minmax(190px, 1fr)     /* リモート */
    minmax(190px, 1fr)     /* 年収 */
    minmax(190px, 1fr)     /* ステージ */
    minmax(190px, 1fr)     /* 人数帯 */
    minmax(200px, 1.1fr)   /* 並び替え */
    auto                   /* 検索 */
    auto;                  /* クリア/詳細 */
  align-items: center;
  gap: 12px !important;
}

/* WPJM/テーマの幅指定に勝つ（セル幅にフィット） */
.job_filters.tfp-toolbar input[type="text"],
.job_filters.tfp-toolbar select{
  width: 100% !important;
  min-width: 0 !important;
}

/* ★ 各項目の“縦幅・余白・文字サイズ”を拡大 */
.job_filters.tfp-toolbar .tfp-input,
.job_filters.tfp-toolbar .tfp-select,
.job_filters.tfp-toolbar input[type="text"],
.job_filters.tfp-toolbar select{
  height: 46px !important;
  padding: 10px 14px !important;
  border-radius: 10px !important;
  font-size: 15px !important;
  line-height: 1.2 !important;
}

/* ボタンも同じ高さに揃える */
.job_filters.tfp-toolbar .tfp-btn,
.job_filters.tfp-toolbar .tfp-link-btn{
  height: 46px !important;
  padding: 0 16px !important;
  border-radius: 10px !important;
  font-weight: 700 !important;
}
.job_filters.tfp-toolbar .tfp-link{ font-size:14px !important; white-space:nowrap; }

/* タブレットは2段にブレーク */
@media (max-width: 1100px){
  .job_filters.tfp-toolbar .tfp-toolbar-row{
    grid-template-columns:
      minmax(320px,1fr) minmax(220px,1fr)
      minmax(190px,1fr) minmax(190px,1fr)
      minmax(190px,1fr) minmax(190px,1fr)
      minmax(200px,1fr) auto auto;
  }
}

/* === TFP Consolidated: chips & thumbs (final override) === */
.tfp-job-rich .thumbs-3{ margin: 6px 0 4px !important; }
@media (max-width:768px){ .tfp-job-rich .thumbs-3{ margin-bottom: 6px !important; } }

/* ===== Desktop tighten: reduce toolbar vertical space (PC only) ===== */
@media (min-width: 1024px){
  /* Outer bar vertical padding */
  .tfp-toolbar,
  .job_filters.tfp-toolbar{
    padding-top: 2px !important;
    padding-bottom: 2px !important;
    min-height: 56px;                 /* さらに圧縮 */
    box-sizing: border-box;
    align-items: center;               /* 念押し */
    background: transparent !important;    /* ← 白地を消す（PC） */
    border-bottom: 0 !important;           /* 下線も消す */
    box-shadow: none !important;
    backdrop-filter: none !important;
  }

  /* Inner container vertical padding */
  .tfp-toolbar .tfp-toolbar-inner,
  .tfp-toolbar .tfp-toolbar-inner.alignwide,
  .job_filters.tfp-toolbar .tfp-toolbar-inner{ padding-top: 2px !important; padding-bottom: 2px !important; }

  /* Center contents vertically inside the white bar */
  .tfp-toolbar .tfp-toolbar-inner,
  .job_filters.tfp-toolbar .tfp-toolbar-inner{
    display: flex !important;
    align-items: center !important;
    min-height: 50px;                  /* 子要素(38px)でも中央へ */
    padding-left: 6px !important;      /* 横パディングをさらに圧縮 */
    padding-right: 6px !important;
    }
  .tfp-toolbar .tfp-toolbar-inner > *,
  .job_filters.tfp-toolbar .tfp-toolbar-inner > *{ margin-top: 0 !important; margin-bottom: 0 !important; }

  /* まれに挿入されるラッパーを打ち消し（PC） */
  :where(.tfp-toolbar) :where(.tfp-toolbar-inner) > p{ display: contents !important; }
  :where(.tfp-toolbar) :where(.tfp-toolbar-inner) br{ display:none !important; }

  /* Grid gap a bit smaller */
  .tfp-toolbar .tfp-toolbar-row,
  .job_filters.tfp-toolbar .tfp-toolbar-row{ gap: 6px !important; }

  /* Control heights slightly shorter */
  .tfp-toolbar .tfp-input,
  .tfp-toolbar .tfp-select,
  .job_filters.tfp-toolbar input[type="text"],
  .job_filters.tfp-toolbar select{ height: 38px !important; padding: 6px 12px !important; }

  /* Buttons match the input height */
  .tfp-toolbar .tfp-btn,
  .tfp-toolbar .tfp-link-btn,
  .job_filters.tfp-toolbar .tfp-btn,
  .job_filters.tfp-toolbar .tfp-link-btn{ height: 38px !important; padding: 0 12px !important; line-height: 1 !important; }

  /* ブロック間の余白（上/下）を抑制 */
  :where(.wp-site-blocks) > :where(.tfp-toolbar){
    margin-top: 6px !important;
    margin-bottom: 6px !important;
  }

  /* Toolbar と 検索条件チップの隙間をさらに圧縮 */
  .tfp-toolbar,
  .job_filters.tfp-toolbar{ margin-bottom: 2px !important; }
  .tfp-active-conds{ margin-top: 2px !important; }
  .tfp-active-chips.alignwide{ margin-top: 2px !important; margin-bottom: 8px !important; }
  /* WPが挿入する <p> ラッパー由来の余白を無効化 */
  p:has(> .tfp-active-conds),
  p:has(> .tfp-active-chips.alignwide){ margin-top: 0 !important; margin-bottom: 0 !important; }
}

/* ===== Final Desktop Tighten (wins last) ===== */
@media (min-width: 1024px){
  /* Inner container horizontal padding最小化 */
  .tfp-toolbar .tfp-toolbar-inner,
  .tfp-toolbar .tfp-toolbar-inner.alignwide,
  .job_filters.tfp-toolbar .tfp-toolbar-inner,
  .job_filters.tfp-toolbar .tfp-toolbar-inner.alignwide{
    padding-left: 0 !important;
    padding-right: 0 !important;   /* ← さらに0へ */
    min-height: 46px !important;
  }

  /* 行の隙間をさらに縮める */
  .tfp-toolbar .tfp-toolbar-row,
  .job_filters.tfp-toolbar .tfp-toolbar-row{ gap: 2px !important; }

  /* コントロールの高さ/パディングを最小限に（上書き優先度を上げる） */
  :where(.tfp-toolbar) :where(.tfp-toolbar-row) input[type="text"],
  :where(.job_filters.tfp-toolbar) :where(.tfp-toolbar-row) input[type="text"],
  :where(.tfp-toolbar) :where(.tfp-toolbar-row) select,
  :where(.job_filters.tfp-toolbar) :where(.tfp-toolbar-row) select{
    height: 34px !important;
    padding: 3px 8px !important;
  }

  .tfp-toolbar .tfp-btn,
  .tfp-toolbar .tfp-link-btn,
  .job_filters.tfp-toolbar .tfp-btn,
  .job_filters.tfp-toolbar .tfp-link-btn{
    height: 34px !important;
    padding: 0 8px !important;
    line-height: 1 !important;
  }

  /* 検索条件チップの左右パディングも削減 */
  .tfp-active-chips.alignwide{
    padding-left: 12px !important; padding-right: 0 !important; /* セレクト左端に合わせて右へ寄せる */
    margin-top: 0 !important; margin-bottom: 4px !important;
    margin-left: 0 !important;  /* 中央寄せ(左右auto)を解除して左寄せ */
    margin-right: auto !important;
  }

  /* Template-part ラッパーが作る縦の余白を最小化（フォームを含むときだけ） */
  :where(.wp-site-blocks) > :where(.wp-block-template-part):has(> .tfp-toolbar){
    margin-top: 4px !important;
    margin-bottom: 4px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
}

/* すべての幅で、フォームを含む template-part の上下パディングをゼロに */
:where(.wp-block-template-part):has(> .tfp-toolbar){
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* ===== Kill stray <p> wrappers that only contain scripts/br (all widths) ===== */
/* WordPressが自動挿入する<p>が余白を作るケースを根絶 */
:where(.tfp-toolbar) + p:has(> script),
:where(.job_filters.tfp-toolbar) + p:has(> script),
:where(.wp-site-blocks) p:has(> script){
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0 !important;
  display: contents !important;   /* スペース消失。scriptの実行は維持 */
}
/* <p><br></p> のような実体のない行も潰す */
:where(.tfp-toolbar) + p:has(> br),
:where(.job_filters.tfp-toolbar) + p:has(> br),
:where(.wp-site-blocks) p:has(> br){
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0 !important;
}

/* ===== Search-condition chips: bigger & clearer (all widths) ===== */
:where(.tfp-active-chips, .tfp-active-conds) :where(.tfp-chip){
  display: inline-flex; align-items: center; justify-content: center;
  gap: 8px !important;
  padding: 9px 13px !important;      /* さらに少しだけ拡大 */
  font-size: 15px !important;        /* もう少しだけ大きく */
  border-radius: 9999px !important;
  border-width: 1.5px !important;    /* 枠を少し強めに */
  line-height: 1 !important;
}
:where(.tfp-active-chips, .tfp-active-conds) :where(.tfp-chip) > strong{ font-weight: 800; }
:where(.tfp-active-chips, .tfp-active-conds) :where(.tfp-chip-clear){ font-size: 15px !important; }

@media (min-width: 1024px){
  :where(.tfp-active-chips, .tfp-active-conds){
    display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-start; /* 左寄せに */
  }
  :where(.tfp-active-chips, .tfp-active-conds) :where(.tfp-chip){
    padding: 10px 15px !important;
    font-size: 15.5px !important;    /* PCではほんの少しUP */
  }
  :where(.tfp-active-chips, .tfp-active-conds) :where(.tfp-chip-clear){ font-size: 15.5px !important; }
}

.tfp-job-rich .tfp-chips{
  display:flex; flex-wrap:wrap; gap:10px;
  align-items:center; margin:4px 0 10px !important;
  padding:0; list-style:none;
}

/* li.chip を推奨。div/spanベースの .chip にもフォールバック適用 */
.tfp-job-rich .tfp-chips > li.chip,
.tfp-job-rich .chip{
  display:inline-flex; align-items:center; justify-content:center;
  min-height:38px; padding:8px 12px;
  line-height:1; border-radius:999px;
  background: var(--tfp-orange-50); border:1px solid var(--tfp-orange-100);
  color: var(--tfp-orange-600);
  font-size:14.5px; font-weight:700; white-space:nowrap;
}
.tfp-job-rich .tfp-chips > li.chip .v,
.tfp-job-rich .chip .v{ color:#111827; font-weight:700; }

.tfp-job-rich .tfp-chips > li.chip:hover,
.tfp-job-rich .tfp-chips > li.chip:focus-visible,
.tfp-job-rich .chip:hover,
.tfp-job-rich .chip:focus-visible{
  background: var(--tfp-orange);
  border-color: var(--tfp-orange);
  color:#fff;
}
.tfp-job-rich .tfp-chips > li.chip:hover .v,
.tfp-job-rich .tfp-chips > li.chip:focus-visible .v,
.tfp-job-rich .chip:hover .v,
.tfp-job-rich .chip:focus-visible .v{ color:#fff; }

.tfp-job-rich .tfp-chips > li.chip:focus-visible,
.tfp-job-rich .chip:focus-visible{
  outline:3px solid var(--tfp-orange-ring); outline-offset:2px; border-radius:999px;
}

/* === TFP Consolidated: search toolbar (final override) === */
/* ベース（stickyツールバーの枠と背景） */
.tfp-toolbar,
.job_filters.tfp-toolbar{
  position: sticky;
  top: 0;
  z-index: 50;
  background: #fff;
  border-bottom: 1px solid #e5e7eb;
  padding: 8px 12px;
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

/* 幅：カードと同じ“ワイド幅”で中央寄せ */
.tfp-toolbar-inner,
.tfp-toolbar-inner.alignwide,
.job_filters.tfp-toolbar .tfp-toolbar-inner{
  max-width: var(--wp--style--global--wide-size, 1140px) !important;
  width: 100% !important;                 /* Flex子として親幅にフィット */
  flex: 1 1 100% !important;              /* shrinkせず広がる */
  margin-inline: auto !important;
  padding-inline: clamp(12px, 2vw, 24px) !important;
  padding-block: 8px !important;
  box-sizing: border-box !important;
}

/* 1行グリッド（PC） */
.tfp-toolbar .tfp-toolbar-row,
.job_filters.tfp-toolbar .tfp-toolbar-row{
  display: grid !important;
  /* PCは7カラム（おすすめ検索/キーワード/勤務地/年収帯/ステージ/人数帯/検索）*/
  grid-template-columns:
    minmax(0, 1.1fr)  /* おすすめ検索 */
    minmax(0, 1.8fr)  /* キーワード */
    minmax(0, 1.2fr)  /* 勤務地 */
    minmax(0, .9fr)   /* 年収帯 */
    minmax(0, 1fr)    /* ステージ */
    minmax(0, .9fr)   /* 人数帯 */
    auto;             /* 検索 */
  grid-auto-flow: column dense; /* 余計なノードがあっても同列に詰める */
  font-size: 0; /* テキストノードのレイアウト影響をゼロに */
  align-items: center;
  gap: 12px !important;
}

/* 最優先で 7 カラムを適用（ショートコード/テンプレ双方のスロット直下に効かせる） */
@media (min-width: 1200px){
  #tfp-toolbar-row-slot-sc > .tfp-row.tfp-toolbar-row,
  #tfp-toolbar-row-slot > .tfp-row.tfp-toolbar-row{
    grid-template-columns:
      minmax(0, 1.1fr) minmax(0, 1.8fr) minmax(0, 1.2fr)
      minmax(0, .9fr)  minmax(0, 1fr)    minmax(0, .9fr) auto !important;
    grid-auto-flow: column dense !important;
  }
  /* 各セルを縮められるように */
  #tfp-toolbar-row-slot-sc > .tfp-row.tfp-toolbar-row > *,
  #tfp-toolbar-row-slot > .tfp-row.tfp-toolbar-row > *{ min-width:0 !important; }
}
/* 各セルを縮小可能に（overflowを起こして折返さない） */
.tfp-toolbar .tfp-toolbar-row > *,
.job_filters.tfp-toolbar .tfp-toolbar-row > *{ min-width: 0 !important; }
.tfp-toolbar .tfp-toolbar-row .tfp-field,
.job_filters.tfp-toolbar .tfp-toolbar-row .tfp-field{ min-width: 0 !important; }
.tfp-toolbar .tfp-toolbar-row select,
.tfp-toolbar .tfp-toolbar-row input{ min-width: 0 !important; }
/* 検索ボタンを常に1行目・最終カラムへ固定（PC） */
@media (min-width: 1200px){
  .tfp-toolbar .tfp-toolbar-row .tfp-btn,
  .job_filters.tfp-toolbar .tfp-toolbar-row .tfp-btn{
    grid-column: -1 / -1 !important; /* 最後のカラム */
    grid-row: 1 !important;          /* 1行目 */
    justify-self: end;
  }
  /* 明示的に各項目をカラムに割当：直下子<p>に対して指定（グリッドアイテムは直下子のみ） */
  .tfp-toolbar .tfp-toolbar-row > p:has(select[name="sort"]),
  .job_filters.tfp-toolbar .tfp-toolbar-row > p:has(select[name="sort"]) { grid-column: 1 / 2 !important; grid-row:1 !important; }

  .tfp-toolbar .tfp-toolbar-row > p:has(input[name="search_keywords"]),
  .job_filters.tfp-toolbar .tfp-toolbar-row > p:has(input[name="search_keywords"]) { grid-column: 2 / 3 !important; grid-row:1 !important; }

  .tfp-toolbar .tfp-toolbar-row > p:has(select[name="search_location"]),
  .job_filters.tfp-toolbar .tfp-toolbar-row > p:has(select[name="search_location"]) { grid-column: 3 / 4 !important; grid-row:1 !important; }

  .tfp-toolbar .tfp-toolbar-row > p:has(select[name="salary_min"]),
  .job_filters.tfp-toolbar .tfp-toolbar-row > p:has(select[name="salary_min"]) { grid-column: 4 / 5 !important; grid-row:1 !important; }

  .tfp-toolbar .tfp-toolbar-row > p:has(select[name="company_round"]),
  .job_filters.tfp-toolbar .tfp-toolbar-row > p:has(select[name="company_round"]) { grid-column: 5 / 6 !important; grid-row:1 !important; }

  .tfp-toolbar .tfp-toolbar-row > p:has(select[name="company_headcount_band"]),
  .job_filters.tfp-toolbar .tfp-toolbar-row > p:has(select[name="company_headcount_band"]) { grid-column: 6 / 7 !important; grid-row:1 !important; }
}
/* WPの自動<br>を無効化：グリッドの余計なセル化/折返しを防ぐ */
.tfp-toolbar .tfp-toolbar-row br,
.job_filters.tfp-toolbar .tfp-toolbar-row br{ display:none !important; }
/* WPの自動<p>挿入で空のグリッドセルができるのを防ぐ（PC/共通） */
.tfp-toolbar .tfp-toolbar-row > p,
.job_filters.tfp-toolbar .tfp-toolbar-row > p,
:where(.tfp-toolbar) :where(.tfp-toolbar-row) > p{ display: contents !important; margin:0 !important; padding:0 !important; }
/* 空<p>は完全に除去（コメントや改行だけのpも対象） */
.tfp-toolbar .tfp-toolbar-row > p:empty,
.job_filters.tfp-toolbar .tfp-toolbar-row > p:empty,
:where(.tfp-toolbar) :where(.tfp-toolbar-row) > p:empty{ display:none !important; }
/* <br>を無効化：グリッド列増加を防ぐ */
.tfp-toolbar .tfp-toolbar-row br,
.job_filters.tfp-toolbar .tfp-toolbar-row br,
:where(.tfp-toolbar) :where(.tfp-toolbar-row) br{ display:none !important; }

/* WPJMの幅指定をセル幅に追従させる */
.job_filters.tfp-toolbar input[type="text"],
.job_filters.tfp-toolbar select{
  width: 100% !important;
  min-width: 0 !important;
}

/* 入力UIの縦幅・余白・角丸・文字サイズ（PC） */
.tfp-toolbar .tfp-input,
.tfp-toolbar .tfp-select,
.job_filters.tfp-toolbar input[type="text"],
.job_filters.tfp-toolbar select{
  height: 46px !important;
  padding: 10px 14px !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 10px !important;
  font-size: 15px !important;
  background: #fff !important;
}

/* ボタン類の高さを揃える */
.tfp-toolbar .tfp-btn,
.tfp-toolbar .tfp-link-btn,
.job_filters.tfp-toolbar .tfp-btn,
.job_filters.tfp-toolbar .tfp-link-btn{
  height: 46px !important;
  padding: 0 16px !important;
  border-radius: 10px !important;
  font-weight: 700 !important;
}
.tfp-toolbar .tfp-link,
.job_filters.tfp-toolbar .tfp-link{
  font-size: 14px !important;
  white-space: nowrap !important;
}

/* 旧WPJMの縦積み指定に勝つ */
.job_filters.tfp-toolbar .search_jobs > *{
  width: auto !important;
  flex: 0 0 auto !important;
}

/* タブレット/ワイドカード幅：2段に崩して見やすく（1140px想定） */
@media (max-width: 1200px){
  .tfp-toolbar .tfp-toolbar-row,
  .job_filters.tfp-toolbar .tfp-toolbar-row{
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  }
  .tfp-toolbar .tfp-grow,
  .job_filters.tfp-toolbar .tfp-grow{ display:none; }
}

/* スマホ：2列＋少し高さを詰める */
@media (max-width: 640px){
  .tfp-toolbar .tfp-toolbar-row,
  .job_filters.tfp-toolbar .tfp-toolbar-row{
    grid-template-columns: 1fr 1fr;
    gap: 8px !important;
  }
  .tfp-toolbar .tfp-input,
  .tfp-toolbar .tfp-select,
  .job_filters.tfp-toolbar input[type="text"],
  .job_filters.tfp-toolbar select{
    height: 44px !important;
    font-size: 14px !important;
  }
}

/* スマホは2列 */
@media (max-width: 640px){
  .job_filters.tfp-toolbar .tfp-toolbar-row{
    grid-template-columns: 1fr 1fr;
    gap: 8px !important;
  }
  .job_filters.tfp-toolbar .tfp-input,
  .job_filters.tfp-toolbar .tfp-select,
  .job_filters.tfp-toolbar input[type="text"],
  .job_filters.tfp-toolbar select{
    height: 44px !important;
    font-size: 14px !important;
  }
}

/* ===== TFP Final Layout: PCは等間隔1列／狭い幅は2列 ===== */
@media (min-width: 1200px){
  :where(.tfp-toolbar) :where(.tfp-toolbar-row),
  :where(.job_filters.tfp-toolbar) :where(.tfp-toolbar-row){
    display: grid !important;
    /* PCは7カラム（おすすめ検索/キーワード/勤務地/年収帯/ステージ/人数帯/検索）*/
    grid-template-columns:
      minmax(180px, 1.1fr)  /* おすすめ検索 */
      minmax(320px, 1fr)    /* キーワード */
      minmax(220px, 1fr)    /* 勤務地 */
      minmax(160px, .9fr)   /* 年収帯 */
      minmax(180px, 1fr)    /* ステージ */
      minmax(160px, .9fr)   /* 人数帯 */
      auto                  /* 検索 */
      !important;
    gap: 12px !important;
    align-items: center !important;
    justify-items: stretch !important;
  }
}

@media (max-width: 1199.98px){
  :where(.tfp-toolbar) :where(.tfp-toolbar-row),
  :where(.job_filters.tfp-toolbar) :where(.tfp-toolbar-row){
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }
}
@media (max-width: 1199.98px){
  :where(.tfp-toolbar-row) :is(.tfp-btn){ grid-column: 2 !important; justify-self:end !important; align-self:end !important; }
  :where(.tfp-toolbar-row) :is(.tfp-link){ grid-column: 2 !important; justify-self:end !important; }
}

/* === Equalize: text inputs = selects (size/height/padding/radius) === */
:where(.tfp-toolbar) :where(.tfp-toolbar-row) input[type="text"],
:where(.job_filters.tfp-toolbar) :where(.tfp-toolbar-row) input[type="text"]{
  height: 46px !important;
  padding: 10px 14px !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 10px !important;
  font-size: 15px !important;
  line-height: 1.2 !important;
  background: #fff !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* ===== Final mobile override: show trigger only, hide surface toolbar row (wins last) ===== */
@media (max-width: 768px){
  :where(.tfp-mobile-trigger){ display:block !important; }
  :where(.tfp-toolbar)[data-has-drawer="1"] > :where(.tfp-toolbar-inner) > :where(.tfp-toolbar-row){ display:none !important; }
}

:where(.tfp-toolbar) :where(.tfp-toolbar-row) select,
:where(.job_filters.tfp-toolbar) :where(.tfp-toolbar-row) select{
  height: 46px !important;
  padding: 10px 14px !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 10px !important;
  font-size: 15px !important;
  line-height: 1.2 !important;
  background: #fff !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Fix: Gutenberg/shortcode 出力で勝手に挿入される <p><br> を無効化 */
:where(.tfp-toolbar) :where(.tfp-toolbar-row) > p,
:where(.job_filters.tfp-toolbar) :where(.tfp-toolbar-row) > p{
  margin:0 !important; padding:0 !important; display: contents !important;
}
:where(.tfp-toolbar) :where(.tfp-toolbar-row) br,
:where(.job_filters.tfp-toolbar) :where(.tfp-toolbar-row) br{ display:none !important; }

/* 同様に、上位ラッパー（.tfp-toolbar-inner）に混入する空<p><br>も無効化 */
:where(.tfp-toolbar) :where(.tfp-toolbar-inner) > p,
:where(.job_filters.tfp-toolbar) :where(.tfp-toolbar-inner) > p{
  margin:0 !important; padding:0 !important; display: contents !important;
}
:where(.tfp-toolbar) :where(.tfp-toolbar-inner) br,
:where(.job_filters.tfp-toolbar) :where(.tfp-toolbar-inner) br{ display:none !important; }

/* === TFP Ultimate Override: 均等12列（PC）/ 2列（タブレット以下） === */
@media (min-width: 1200px){
  :where(.tfp-toolbar) :where(.tfp-toolbar-row),
  :where(.job_filters.tfp-toolbar) :where(.tfp-toolbar-row){
    display: grid !important;
    grid-template-columns:
      minmax(280px, 1.8fr)   /* キーワード */
      minmax(220px, 1.2fr)   /* 勤務地 */
      minmax(180px, 1fr)     /* リモート */
      minmax(180px, 1fr)     /* 年収 */
      minmax(170px, 1fr)     /* ステージ */
      minmax(170px, 1fr)     /* 人数帯 */
      minmax(180px, 1fr)     /* 並び替え */
      auto                   /* 全クリア */
      auto                   /* 検索 */
      !important;
    gap: 12px !important;
    align-items: center !important;
    grid-auto-rows: minmax(46px, auto) !important; /* 行高の担保で重なり防止 */
    align-content: start !important;
    justify-items: stretch !important;               /* セル幅いっぱいに */
    grid-auto-flow: row dense !important;            /* 上から順に詰める */
  }
  /* 入力群はセル幅いっぱい */
  :where(.tfp-toolbar) :where(.tfp-toolbar-row) .tfp-field,
  :where(.job_filters.tfp-toolbar) :where(.tfp-toolbar-row) .tfp-field{ min-width:0 !important; }
  :where(.tfp-toolbar) :where(.tfp-toolbar-row) .tfp-input,
  :where(.tfp-toolbar) :where(.tfp-toolbar-row) .tfp-select{ width:100% !important; }
  :where(.tfp-toolbar) :where(.tfp-toolbar-row) .tfp-btn,
  :where(.tfp-toolbar) :where(.tfp-toolbar-row) .tfp-link-btn,
  :where(.tfp-toolbar) :where(.tfp-toolbar-row) .tfp-link,
  :where(.job_filters.tfp-toolbar) :where(.tfp-toolbar-row) .tfp-btn,
  :where(.job_filters.tfp-toolbar) :where(.tfp-toolbar-row) .tfp-link-btn,
  :where(.job_filters.tfp-toolbar) :where(.tfp-toolbar-row) .tfp-link{ justify-self:start !important; }

  /* ボタンのサイズ・色（PCでも反映されるようにここで増強） */
  :where(.tfp-toolbar) :where(.tfp-toolbar-row) .tfp-btn,
  :where(.job_filters.tfp-toolbar) :where(.tfp-toolbar-row) .tfp-btn{
    height: 54px !important;
    min-width: 120px !important;
    padding: 0 20px !important;
    border-radius: 12px !important;
    background: #E85D04 !important;
    border: none !important;
    color: #fff !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    box-shadow: 0 4px 12px rgba(232,93,4,.25) !important;
  }
  :where(.tfp-toolbar) :where(.tfp-toolbar-row) .tfp-btn:hover,
  :where(.job_filters.tfp-toolbar) :where(.tfp-toolbar-row) .tfp-btn:hover{ background:#d14f00 !important; }
}

/* PC時の列配分：自動配置（span固定を解除して潰れ防止） */
@media (min-width: 1200px){
  /* ラッパーあり/なし共通で auto に戻す */
  :where(.tfp-toolbar-row) > .tfp-field,
  :where(.tfp-toolbar-row) > [name]{ grid-column: auto !important; }

  /* ボタン/リンク（PC）：右下固定（最後の2トラック） */
  :where(.tfp-toolbar-row) :is(.tfp-btn){ grid-column: -1 / -1 !important; grid-row: 2 !important; justify-self:end !important; align-self:end !important; }
  :where(.tfp-toolbar-row) :is(.tfp-link){ grid-column: -2 / -2 !important; grid-row: 2 !important; justify-self:end !important; align-self:end !important; }
}

/* ===== Drawer Final Enforcement: always single-column inside popups ===== */
.tfp-drawer .tfp-toolbar-row{ display:flex !important; flex-direction:column !important; gap:12px !important; max-width:560px; margin:0 auto; }
.tfp-drawer .tfp-toolbar-row > *{ display:block !important; width:100% !important; }
.tfp-drawer .tfp-toolbar-row .tfp-field{ display:grid !important; grid-template-columns:1fr !important; gap:6px !important; width:100% !important; }
.tfp-drawer .tfp-toolbar-row .tfp-btn{ display:none !important; }

/* ===== Absolute last: compact mobile toolbar height around trigger ===== */
@media (max-width: 768px){
  .tfp-toolbar,
  .job_filters.tfp-toolbar{ padding-top:0 !important; padding-bottom:0 !important; }
  .tfp-toolbar .tfp-toolbar-inner,
  .tfp-toolbar .tfp-toolbar-inner.alignwide,
  .job_filters.tfp-toolbar .tfp-toolbar-inner,
  .job_filters.tfp-toolbar .tfp-toolbar-inner.alignwide{ padding-top:0 !important; padding-bottom:0 !important; }
  .tfp-mobile-trigger{ margin:0 !important; padding:0 !important; }
  .tfp-mobile-trigger .tfp-trigger-btn{ height:36px !important; margin:0 !important; padding:0 14px !important; }
}

/* ===== Final mobile tighten: kill top-level <p> gaps and shrink trigger ===== */
@media (max-width: 768px){
  /* フォーム直下に混入する空<p>/<br>の余白を無効化 */
  :where(.tfp-toolbar) > p,
  :where(.job_filters.tfp-toolbar) > p{ margin:0 !important; padding:0 !important; display: contents !important; }
  :where(.tfp-toolbar) > br,
  :where(.job_filters.tfp-toolbar) > br{ display:none !important; }

  /* 内側パディングをゼロ維持（念押し） */
  :where(.tfp-toolbar)[data-has-drawer="1"] .tfp-toolbar-inner,
  :where(.job_filters.tfp-toolbar) .tfp-toolbar-inner{ padding-top:0 !important; padding-bottom:0 !important; }

  /* トリガーボタンをさらに薄く */
  :where(.tfp-toolbar) .tfp-mobile-trigger .tfp-trigger-btn,
  :where(.job_filters.tfp-toolbar) .tfp-mobile-trigger .tfp-trigger-btn{
    height: 32px !important;
    padding: 0 12px !important;
    line-height: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 0 !important;              /* ← 枠線を消す */
    box-shadow: none !important;        /* ← 影も消す */
    background: transparent !important; /* ← 余白全体をボタンに見せる */
  }

  /* 余白内で上下左右センター配置（モバイル時のみ） */
  :where(.tfp-toolbar) .tfp-toolbar-inner,
  :where(.job_filters.tfp-toolbar) .tfp-toolbar-inner{
    display: flex !important;
    align-items: center !important;   /* 垂直センター */
    justify-content: center !important;/* 水平センター */
    min-height: 36px;                 /* ボタン高さに近い最小高（見た目の安定） */
  }
  :where(.tfp-toolbar) .tfp-mobile-trigger,
  :where(.job_filters.tfp-toolbar) .tfp-mobile-trigger{
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
  }

  /* セクション間の縦余白をさらに圧縮 */
  :where(.tfp-toolbar),
  :where(.job_filters.tfp-toolbar){
    margin-bottom: 6px !important;     /* バー下の間隔を小さく */
  }
  :where(.tfp-active-chips).alignwide,
  :where(.tfp-active-conds){
    margin-top: 4px !important;        /* バー直下を詰める */
    margin-bottom: 6px !important;     /* カード直前の隙間を詰める */
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  :where(.tfp-job-rich){
    margin-bottom: 12px !important;    /* カード間の縦間隔も軽く圧縮 */
  }
}

/* (reverted) Mobile ultra-compact block removed to restore popup layout */
/* 0) ガッツリ効かせるためにスコープを絞りつつ important 最小限 */
:root { --tfp-field-h: 40px; }

/* 1) ツールバー内で wpautop が入れた <p> の余白を殺す */
.tfp-toolbar p { margin: 0 !important; }

/* 2) ボタン内の <br> で縦に伸びないように */
.tfp-toolbar .tfp-trigger-btn br,
.tfp-toolbar .tfp-btn br { display: none !important; }

/* 3) フォーム直後の <p>（<script> を包んでるだけ）を無力化 */
.tfp-toolbar + p { margin: 0 !important; padding: 0 !important; height: 0 !important; }
.tfp-toolbar + p > script { display: none !important; }

/* 4) ドロワーが aria-hidden="true" のときは完全に折り畳み（高さゼロ） */
.tfp-drawer[aria-hidden="true"] { display: none !important; }

/* 5) フィールドの高さ・パディングを少しだけ詰める（PC） */
@media (min-width: 769px){
  .tfp-mobile-trigger { display: none !important; } /* PC ではトリガー非表示 */
  .tfp-toolbar .tfp-row { gap: 8px; }               /* 12px → 8px に */
  .tfp-toolbar .tfp-select,
  .tfp-toolbar .tfp-input { 
    height: var(--tfp-field-h); 
    padding: 6px 12px; 
  }
  .tfp-toolbar .tfp-btn { 
    height: var(--tfp-field-h); 
    padding: 0 14px; 
  }
}

/* 6) アクティブ条件チップの外側マージンをさらに詰める */
.tfp-active-chips { 
  margin: 4px auto 8px !important;   /* 余白を上4 / 下8 に圧縮 */
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.tfp-active-chips .tfp-chip { margin-bottom: 4px; }
