@charset "UTF-8";

/* =========================================================
   Job Search Page Only (page: 355)
   - filtering-job__page / filter-modal / keyword-tags
   - job detail(.job-detail__page / .jd-*) は入れない
========================================================= */

/* --------------------------
   基本（ページスコープ）
-------------------------- */
.filtering-job__page{
  font-family: var(--font-base);
  --border-color: #e9e9e9;
  --gray-back-color: #f9f9f9;
  --text-color: #333;
  --gray-text-color: #7b7b7b;

  --main-blue: #014C96;
  --light-blue: #125ca7;
  --main-green: #27a41d;
  --main-orange: #FF832B;
  --main-yellow: #fda724;
}

.filtering-job__page .flex{ display:flex; }
.filtering-job__page .flex-wrap{ flex-wrap:wrap; }
.filtering-job__page .flex-auto{ flex:auto; }
.filtering-job__page .w-full{ width:100%; }

/* --------------------------
   HERO（検索ページ）
-------------------------- */
.catch-cover__back{
  position: relative;
  width: 100%;
  padding: 50px 0;
  z-index: 0;
  background-color: #0693e3;
}
.catch-cover__back .section-title{ color:#fff; }
.catch-cover__back .section-title .jp{
  font-size: 32px;
  font-weight: bold;
  letter-spacing: .2em;
}
.catch-cover__back .section-title .en{
  font-size: 20px;
}

/* --------------------------
   検索エリア レイアウト
-------------------------- */
.filtering-job__page .job-search{
  background-color:#fff;
  padding:30px 0;
}
.filtering-job__page .job-search .filter-container{
  display:flex;
  gap:20px;
}
@media screen and (max-width: 768px){
  .filtering-job__page .job-search .filter-container{
    flex-direction:column;
  }
}


@media screen and (max-width: 768px){
  .filtering-job__page .job-search .filter-area{
    width:100%;
    position:relative;
    top:0;
  }
}

.filtering-job__page .filter-area__inner .filter-group{
  background-color: var(--gray-back-color);
  border: 1px solid var(--border-color);
  margin-bottom: 14px;
}
.filtering-job__page .filter-area__inner .filter-group .group-label span{
  display:block;
  padding:10px;
  background-color:#719fe440;
  font-weight:bold;
}
.filtering-job__page .filter-area__inner .filter-group .group-inner{
  padding:15px 12px;
  background-color:#fff;
}

/* 各入力 */
.filtering-job__page .filter-area__inner .filter-item{
  margin-bottom:10px;
}
.filtering-job__page .filter-item__inner .filter-item__label{
  display:flex;
  align-items:center;
  gap:4px;
  font-weight:bold;
  font-size:14px;
}
.filtering-job__page .filter-item__inner .filter-item__label::before{
  display:block;
  font-family: "Font Awesome 5 Free";
  font-weight:900;
  line-height:1;
}

/* アイコン（既存の class に合わせる） */
.filtering-job__page .filter-item__label.location::before{ content:"\f3c5"; }
.filtering-job__page .filter-item__label.category::before{ content:"\f109"; }
.filtering-job__page .filter-item__label.hire-type::before{ content:"\f21d"; }
.filtering-job__page .filter-item__label.free-word::before{ content:"\f303"; }
/* 年収 label を追加した場合 */
.filtering-job__page .filter-item__label.salary::before{ content:"\f155"; } /* money-bill-alt */

.filtering-job__page .filter-item__inner .choose-item{ margin-top:6px; }
.filtering-job__page .choose-item .input-field{
  width:100%;
  background:#fff;
  border:1px solid var(--border-color);
  border-radius:4px;
  padding:10px;
  color: var(--gray-text-color);
  font-size:14px;
  cursor:pointer;
}
.filtering-job__page .choose-item .input-field#area-preview,
.filtering-job__page .choose-item .input-field#category-preview{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* 年収 select を横並びにしたい場合（あなたのHTMLのflexに合わせて微調整） */
.filtering-job__page .choose-item select.input-field{
  min-width: 160px;
}

/* ボタン */
.filtering-job__page .filter-area__inner .btn-group{
  margin-top:30px;
}
.filtering-job__page .filter-area__inner .btn-group button{
  padding:14px;
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  font-size:16px;
  border-radius:3px;
  transition:.2s ease;
}
.filtering-job__page .filter-area__inner .btn-group button::before{
  font-family:"Font Awesome 5 Free";
  font-weight:900;
  font-size:16px;
  line-height:1;
}
.filtering-job__page .filter-area__inner .btn-group button:hover{ opacity:.7; }

.filtering-job__page .filter-area__inner .btn-group button.submit-btn{
  background-color: var(--main-blue);
  color:#fff;
}
.filtering-job__page .filter-area__inner .btn-group button.submit-btn::before{ content:"\f002"; }

.filtering-job__page .filter-area__inner .btn-group button.clear-btn{
  padding: 8px 14px;
  margin-top:14px;
  background-color: var(--gray-back-color);
  border:1px solid var(--border-color);
}
.filtering-job__page .filter-area__inner .btn-group button.clear-btn::before{ content:"\f057"; }

/* btn-groupの余白調整（あなたが入れてたやつの整理版） */
.filtering-job__page .btn-group.mb-2{
  margin-top: 8px;
  margin-bottom: 12px;
}

/* --------------------------
   右：検索結果
-------------------------- */
.filtering-job__page .job-search .result-area{
  width:100%;
  flex:auto;
}

.filtering-job__page .result-header .recruit-count{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:20px;
}
.filtering-job__page .recruit-count .count-label{
  font-size:15px;
  font-weight:bold;
  line-height:1.1;
}
.filtering-job__page .recruit-count .count-label .gray-txt{
  color: var(--gray-text-color);
  font-size:12px;
}
.filtering-job__page .recruit-count .total-count{
  font-size:15px;
}
.filtering-job__page .recruit-count .total-count .count-number{
  font-weight:bold;
  font-size:40px;
  color: var(--main-orange);
  font-family: "Montserrat", sans-serif;
}

.filtering-job__page .result-list{ margin-top:30px; }

.filtering-job__page ul.result-items li.item{
  background:#fff;
  border:1px solid var(--border-color);
  border-radius:3px;
  margin-bottom:20px;
}

/* 1件のヘッダー */
.filtering-job__page li.item .item-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  background-color:#d7d7d7;
  border-bottom:1px solid var(--border-color);
  padding:10px 14px;
}
.filtering-job__page li.item .item-header .detail-link a{
  display:block;
  padding:4px 14px;
  background: linear-gradient(to right, var(--main-orange), var(--main-yellow));
  color:#fff;
  font-size:14px;
  border-radius:3px;
  text-decoration:none;
}

/* 1件の中身 */
.filtering-job__page li.item .item-inner{
  padding:20px;
}
.filtering-job__page li.item .item-inner .item-info{
  margin-bottom:16px;
  display:flex;
  gap:20px;
}
.filtering-job__page li.item .item-info__label{
  width:80px;
  flex-shrink:0;
  font-weight:bold;
}
.filtering-job__page li.item .item-info__content{
  flex:auto;
}
.filtering-job__page li.item .item-info__content .flex{ gap:5px; }

.filtering-job__page li.item .tag{
  display:block;
  width:fit-content;
  padding:3px 10px;
  border-radius:20px;
  font-size:12px;
  color:#fff;
}
.filtering-job__page li.item .tag.orange-tag{ background-color: var(--main-orange); }
.filtering-job__page li.item .tag.blue-tag{ background-color: var(--main-blue); }

/* 応募資格の行を省略表示 */
.filtering-job__page li.item .eligibility-info .desc{
  display:-webkit-box;
  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical;
  overflow:hidden;
}

/* ページャ */
.filtering-job__page .pagination{ margin-top:20px; }
.filtering-job__page .pagination .page-links{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px;
}
.filtering-job__page .pagination .page-links .link{
  display:block;
  padding:10px 12px;
  background:#fff;
  border:1px solid var(--main-blue);
  border-radius:3px;
  color: var(--main-blue);
  line-height:1;
  font-family:"Montserrat", sans-serif;
  text-decoration:none !important;
}
.filtering-job__page .pagination .page-links .link.active{
  background: var(--main-blue);
  color:#fff;
}
.filtering-job__page .no-job-data{
  padding:40px;
  text-align:center;
  font-size:24px;
  font-weight:bold;
  color:#777;
}

/* =========================================================
   Keyword Tags（フリーワード下のタグ）
========================================================= */
.keyword-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
}
.keyword-tag{
  background:#0073aa;
  border:none;
  color:#fff;
  padding:6px 12px;
  border-radius:4px;
  font-size:12px;
  font-weight:bold;
  cursor:pointer;
  transition: all .2s ease;
}
.keyword-tag:hover{ background:#005f8d; }
.keyword-tag.active{
  background:#004766;
  box-shadow: inset 0 2px 4px rgba(0,0,0,.3);
}

/* =========================================================
   Modal（勤務地 / 職種）修正版
   - 画面内に収めて、リスト部分のみスクロールさせる設定
========================================================= */

/* モーダル背景 */
.filter-modal {
  position: fixed; /* none から fixed に変更 */
  inset: 0;
  background-color: #000000b7;
  z-index: 9999;
  display: none; /* 初期状態は非表示 */
  align-items: center;
  justify-content: center;
}

/* JSでクラスがついた時だけ表示 */
.filter-modal.is-open {
  display: flex !important; 
}
/* モーダル本体（枠） */
.househr-lp .filter-modal__container {
  /* 画面中央に配置し、画面サイズに合わせて高さを決定 */
  position: relative;
  width: min(900px, 94%); /* 幅は最大900px、スマホなら94% */
  height: calc(100svh - 40px); /* 上下20pxずつの隙間を残して高さを確保 */
  max-height: 900px; /* PCなどで縦長になりすぎないよう制限 */
  background: #fff;
  margin: 0 auto;
  border-radius: 4px;
  
  /* ★重要：縦方向のFlexレイアウトにして内部スクロールを実現 */
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important; /* コンテナ自体はスクロールさせない */
  
  /* 既存の配置リセット（念の為） */
  top: auto !important;
  left: auto !important;
  transform: none !important;
  inset: auto !important;
}

/* 閉じるボタン */
.filter-modal__container .modal-close__btn {
  position: absolute;
  right: -40px;
  top: -20px;
  width: 30px;
  height: 30px;
  cursor: pointer;
  z-index: 10;
}
/* スマホで閉じるボタンが画面外に行かないよう調整 */
@media screen and (max-width: 960px) {
  .filter-modal__container .modal-close__btn {
    right: 0;
    top: -40px;
  }
}
.filter-modal__container .modal-close__btn::before {
  content: "\f00d";
  font-family: "Font Awesome 5 Free";
  font-size: 30px;
  color: #fff;
  font-weight: 900;
}

/* --------------------------
   ヘッダー（固定）
-------------------------- */
.filter-modal__header {
  flex: 0 0 auto; /* 縮まない・伸びない */
  background: #fff;
  z-index: 2;
}
.filter-modal__header .filter-option__navbar {
  display: flex;
  align-items: flex-end;
  gap: 4px;
}
.filter-modal__header .filter-option__navbar .nav-item {
  flex: 1;
  background: var(--gray-back-color);
  padding: 12px 10px;
  border-radius: 6px 6px 0 0;
  text-align: center;
  cursor: pointer;
  transition: .2s ease-in;
  color: var(--text-color);
  font-size: 14px;
  font-weight: bold;
}
.filter-modal__header .filter-option__navbar .nav-item.active {
  background: var(--light-blue);
  color: #fff;
}

/* アイコン */
.filter-modal__header .nav-label::before {
  display: inline-block;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 16px;
  padding-right: 5px;
}
.filter-modal__header .nav-label.location-tab::before { content: "\f3c5"; }
.filter-modal__header .nav-label.category-tab::before { content: "\f109"; }


/* --------------------------
   メインエリア（ここだけスクロール）
-------------------------- */
.househr-lp .filter-modal__inner {
  /* 余った高さを全て使い、溢れたらスクロール */
  flex: 1 1 auto !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
  
  border-top: 2px solid var(--light-blue);
  padding: 20px;
  /* フッターが重ならないので、極端なpadding-bottomは不要ですが、
     スマホでの操作性のため少し余白を持たせます */
  padding-bottom: 40px !important;
}

/* タブ表示制御 */
.target-group { display: none; }
.target-group.active { display: block; }

/* 選択肢のデザイン */
.filter-target__field__inner {
  border: 1px solid var(--border-color);
  border-radius: 3px;
  margin-bottom: 20px;
}
.filter-modal__inner .filter-item .all-select {
  background: var(--gray-back-color);
  padding: 10px 15px;
  border-bottom: 1px solid var(--border-color);
}
.filter-modal__inner .filter-item .all-select label span {
  font-size: 14px;
  font-weight: bold;
  color: var(--main-blue);
}
.filter-modal__inner .filter-item .child-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 15px;
  padding: 15px;
  background: #fff;
}
.checkbox-field {
  display: flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
}
.checkbox-field input[type="checkbox"] {
  width: 16px;
  height: 16px;
  cursor: pointer;
}


/* --------------------------
   フッター（固定）
-------------------------- */
.househr-lp .filter-modal__footer {
  flex: 0 0 auto; /* 縮まない・伸びない */
  background: #fff;
  padding: 16px 20px;
  border-top: 1px solid #ddd;
  z-index: 50;
  
  /* stickyではなくstaticでOK（枠の外には出ないため） */
  position: relative !important;
  bottom: auto !important;
}

.filter-modal__footer .btn-group {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
}

.filter-modal__footer .btn-group button {
  padding: 12px 30px;
  font-weight: bold;
  font-size: 16px;
  border-radius: 4px;
  cursor: pointer;
  transition: opacity .2s;
  min-width: 140px;
}
.filter-modal__footer .btn-group button:hover { opacity: 0.8; }

.filter-modal__footer .btn-group button.search_set_button {
  background: var(--main-blue);
  border: 2px solid var(--main-blue);
  color: #fff;
}
.filter-modal__footer .btn-group button.search_clear_button {
  background: #fff;
  color: var(--main-blue);
  border: 2px solid var(--main-blue);
}


/* --------------------------
   スマホ調整
-------------------------- */
@media screen and (max-width: 576px) {
  .househr-lp .filter-modal__container {
    width: 96%;
    height: calc(100svh - 20px); /* 上下少しゆとり */
  }
  .filter-modal__footer .btn-group {
    flex-direction: column-reverse; /* 「クリア」を下にするなど押しやすく */
    gap: 10px;
    width: 100%;
  }
  .filter-modal__footer .btn-group button {
    width: 100%;
    padding: 12px;
  }
}

.househr-lp .filter-modal__container{
  position: relative;         /* flex中央寄せ前提に変更 */
  inset: auto !important;     /* 旧inset方式を無効化 */
  width: min(900px, 100%);
  height: min(86svh, 900px);  /* 画面に収める */
  margin: 0;                  /* flex側で中央寄せするので不要 */
  background: #fff;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.househr-lp .filter-modal__inner{
  flex: 1 1 auto;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.househr-lp .filter-modal__footer{
  flex: 0 0 auto;
}
/* モーダル本体の基本（初期は非表示） */
.househr-lp .filter-modal {
  display: none;              /* 初期状態は非表示にする */
  position: fixed;
  inset: 0;
  background-color: #000000b7;
  z-index: 9999;
  align-items: center;
  justify-content: center;
  padding: 12px;
}

/* JSで fadeIn() された時、またはクラスが付与された時に表示 */
/* jQueryのfadeInは最終的に display: flex にしたいので、!importantで制御します */
.househr-lp .filter-modal[style*="display: block"],
.househr-lp .filter-modal[style*="display: flex"],
.househr-lp .filter-modal.is-open {
  display: flex !important; 
}
/* =========================================================
  job_search: モデル寄せ（幅/左右余白/2カラム）
========================================================= */
article[data-househr-job-search="1"] .container{
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 24px;
}

/* 青い帯（ヒーロー） */
article[data-househr-job-search="1"] .catch-cover__back{
  background: #007fcf;
  padding: 44px 0;
  margin: 0 0 28px;
}
article[data-househr-job-search="1"] .section-title .en{
  color:#fff;
  font-weight: 700;
  letter-spacing:.02em;
}
article[data-househr-job-search="1"] .section-title .jp{
  color:#fff;
  font-size: 34px;
  font-weight: 800;
  margin: 6px 0 0;
}

/* 左：検索 右：結果（モデルの2カラム） */
article[data-househr-job-search="1"] .filter-container{
  display: grid;
  grid-template-columns: 300px 1fr;
  gap: 32px;
  align-items: start;
}

article[data-househr-job-search="1"] .filter-area__inner{
  border: 1px solid #e6e6e6;
  background: #fff;
}

/* 左の「検索条件」タイトル */
article[data-househr-job-search="1"] .group-label{
  background: #d7e6f2;
  padding: 10px 12px;
  font-weight: 800;
}

/* 右上の件数（モデル寄せ） */
article[data-househr-job-search="1"] .recruit-count{
  display:flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
}
article[data-househr-job-search="1"] .count-number{
  font-size: 44px;
  font-weight: 900;
  color: #f28c28;
}

/* 1件カードのヘッダー帯 */
article[data-househr-job-search="1"] .item-wrap{
  border:1px solid #e6e6e6;
  background:#fff;
}
article[data-househr-job-search="1"] .item-header{
  background:#e9e9e9;
  padding: 12px 14px;
  display:flex;
  justify-content: space-between;
  align-items:center;
}
article[data-househr-job-search="1"] .detail-link a{
  background:#f28c28;
  color:#fff;
  padding: 8px 14px;
  border-radius: 4px;
  font-weight: 800;
  text-decoration:none;
}

/* SPは1カラム */
@media (max-width: 900px){
  article[data-househr-job-search="1"] .container{ padding: 0 16px; }
  article[data-househr-job-search="1"] .filter-container{ grid-template-columns: 1fr; }
}
/* =========================================================
  job_search：フォント＆全体の見た目をモデル寄せ
========================================================= */
body.househr-jobsearch,
body.househr-jobsearch *{
  font-family: Meiryo, "メイリオ", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
}

body.househr-jobsearch{
  font-size: 16px;
  line-height: 1.7;
  color: #111;
}
article[data-househr-job-search="1"] .filter-container,
article[data-househr-job-search="1"] .job-search,
article[data-househr-job-search="1"] .container{
  overflow: visible !important;
}
body.page-id-11389 .l-header{ display:none !important; }
body.page-id-11389 .l-main,
body.page-id-11389 .l-content{ padding-top:0 !important; margin-top:0 !important; }


/* job_search（page-id-11389）：SWELL標準ヘッダーを消す（保険込み） */
body.page-id-11389 header#header,
body.page-id-11389 #header,
body.page-id-11389 .l-header,
body.page-id-11389 .p-header{
  display:none !important;
}

body.page-id-11389 .l-content,
body.page-id-11389 .l-main,
body.page-id-11389 #content,
body.page-id-11389 #main{
  padding-top:0 !important;
  margin-top:0 !important;
}
/* =========================================================
   job_search：左カラム追従は「is-follow」の時だけ
========================================================= */

/* デフォ：追従OFF（重要） */
body.page-id-11389 .filtering-job__page .job-search .filter-area{
  position: static !important;
  top: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

/* job_search：フォント最適化 */
.filtering-job__page{
  font-family: Meiryo, "メイリオ", "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
  color:#111;
}
/* job_search：コンテナ幅をモデル寄せ */
.filtering-job__page .container{
  max-width: 1120px;
  margin: 0 auto;
  padding-left: 24px;
  padding-right: 24px;
}
@media (max-width: 900px){
  .filtering-job__page .container{
    padding-left: 16px;
    padding-right: 16px;
  }
}
.filtering-job__page .job-search .filter-area{
  top: 120px !important; /* 管理バー込みで調整 */
}
/* ===== job_search: sticky 最終確定 ===== */
body.page-id-11389 .filtering-job__page .job-search .filter-container{
  display:grid !important;
  grid-template-columns: 300px 1fr;
  gap:32px;
  align-items:start;
}


/* sticky潰し対策：親要素の overflow を全部開ける */
body.page-id-11389 .l-content,
body.page-id-11389 .l-main,
body.page-id-11389 .filtering-job__page .job-search,
body.page-id-11389 .filtering-job__page .job-search .container,
body.page-id-11389 .filtering-job__page .job-search .filter-container{
  overflow: visible !important;
}

@media (max-width: 900px){
  body.page-id-11389 .filtering-job__page .job-search .filter-container{
    grid-template-columns: 1fr;
  }
  body.page-id-11389 .filtering-job__page .job-search .filter-area{
    position: static !important;
    top: auto !important;
  }
}
/* =========================================================
   フォント最適化：クリアで読みやすいフォント設定
========================================================= */

/* ベースフォント設定 */
body.househr-jobsearch,
.filtering-job__page,
.filtering-job__page * {
  font-family: 
    -apple-system, 
    BlinkMacSystemFont,
    "Helvetica Neue",
    "Segoe UI",
    "Noto Sans JP", 
    "Hiragino Kaku Gothic ProN",
    "Yu Gothic UI",
    Meiryo,
    sans-serif;
  
  /* アンチエイリアシングでフォントをクリアに */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

/* 本文テキスト */
.filtering-job__page {
  font-size: 15px;
  font-weight: 500;
  line-height: 1.75;
  color: #222;
  letter-spacing: 0.03em;
}

/* 見出し系の強化 */
.filtering-job__page .section-title .jp {
  font-size: 36px;
  font-weight: 900;
  letter-spacing: 0.08em;
  line-height: 1.3;
}

.filtering-job__page .section-title .en {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.4;
}

/* 検索条件エリアのラベル */
.filtering-job__page .filter-group .group-label span {
  font-size: 15px;
  font-weight: 900;
  letter-spacing: 0.05em;
  color: #014C96;
}

.filtering-job__page .filter-item__label {
  font-size: 14px;
  font-weight: 900;
  letter-spacing: 0.04em;
  color: #333;
}

/* 検索結果件数 */
.filtering-job__page .recruit-count .count-label {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: #333;
}

.filtering-job__page .recruit-count .count-number {
  font-size: 48px;
  font-weight: 900;
  letter-spacing: 0.02em;
  font-family: "Montserrat", -apple-system, sans-serif;
  line-height: 1;
}

/* 求人カードの会社名 */
.filtering-job__page li.item .item-header {
  font-size: 18px;
  font-weight: 900;
  letter-spacing: 0.04em;
  color: #222;
}

/* 求人カード内のラベル */
.filtering-job__page li.item .item-info__label {
  font-size: 14px;
  font-weight: 900;
  letter-spacing: 0.05em;
  color: #555;
}

/* 求人カード内のコンテンツ */
.filtering-job__page li.item .item-info__content {
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.03em;
  line-height: 1.7;
  color: #333;
}

/* タグのフォント */
.filtering-job__page li.item .tag {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
}

/* ボタンのフォント */
.filtering-job__page .filter-area__inner .btn-group button {
  font-size: 16px;
  font-weight: 900;
  letter-spacing: 0.08em;
}

.filtering-job__page .item-header .detail-link a {
  font-size: 14px;
  font-weight: 900;
  letter-spacing: 0.06em;
}

/* 入力フィールド */
.filtering-job__page .choose-item .input-field {
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.02em;
  color: #555;
}

/* プレースホルダー */
.filtering-job__page .choose-item .input-field::placeholder {
  color: #999;
  font-weight: 400;
}

/* モーダルのタブ */
.filter-modal__header .filter-option__navbar .nav-item {
  font-size: 15px;
  font-weight: 900;
  letter-spacing: 0.06em;
}

/* モーダル内のチェックボックスラベル */
.checkbox-field label {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.03em;
  color: #333;
}

/* ページネーション */
.filtering-job__page .pagination .page-links .link {
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.05em;
}

/* 数値系は Montserrat で統一 */
.filtering-job__page .recruit-count .count-number,
.filtering-job__page .pagination .page-links .link {
  font-family: "Montserrat", -apple-system, sans-serif;
  font-feature-settings: "tnum"; /* 数字を等幅に */
}
/* =========================================================
   モデル寄せ：全体デザイン改善
========================================================= */

/* 青帯を画面全幅に＆ヘッダーに密着 */
.catch-cover__back {
  position: relative;
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding: 60px 0 80px !important;
  background: linear-gradient(135deg, #0073cf 0%, #0098e8 100%);
  z-index: 1;
}

/* 青帯内のタイトル */
.catch-cover__back .section-title {
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 24px;
}

.catch-cover__back .section-title .en {
  font-size: 18px;
  font-weight: 800;
  letter-spacing: 0.15em;
  color: #fff;
  text-transform: uppercase;
  margin-bottom: 8px;
}

.catch-cover__back .section-title .jp {
  font-size: 42px;
  font-weight: 900;
  letter-spacing: 0.12em;
  color: #fff;
  line-height: 1.3;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

/* 検索エリア：青帯の下に配置 */
.filtering-job__page .job-search {
  background-color: #fff;
  padding: 40px 0 60px;
  margin-top: 0 !important;
}

/* 左サイドバー：アイコン修正 */
.filtering-job__page .filter-area__inner .filter-group .group-label {
  background: #c5d9eb;
  border-bottom: 3px solid #0073cf;
  padding: 14px 16px;
}

.filtering-job__page .filter-area__inner .filter-group .group-label span {
  font-size: 16px;
  font-weight: 900;
  letter-spacing: 0.08em;
  color: #014C96;
  display: flex;
  align-items: center;
  gap: 8px;
}

/* Font Awesomeアイコンを正しく表示 */
.filtering-job__page .filter-item__label::before {
  display: inline-block;
  font-family: "Font Awesome 5 Free" !important;
  font-weight: 900 !important;
  font-size: 16px;
  margin-right: 6px;
  color: #0073cf;
}

.filtering-job__page .filter-item__label.location::before {
  content: "\f3c5"; /* map-marker-alt */
}

.filtering-job__page .filter-item__label.category::before {
  content: "\f0b1"; /* briefcase */
}

.filtering-job__page .filter-item__label.hire-type::before {
  content: "\f0c0"; /* users */
}

.filtering-job__page .filter-item__label.salary::before {
  content: "\f155"; /* dollar-sign */
}

.filtering-job__page .filter-item__label.free-word::before {
  content: "\f002"; /* search */
}

/* 左サイドバーのスタイル改善 */
.filtering-job__page .filter-area__inner .filter-group {
  background-color: #fff;
  border: 2px solid #e3e3e3;
  border-radius: 4px;
  margin-bottom: 20px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
}

.filtering-job__page .filter-area__inner .filter-group .group-inner {
  padding: 20px 16px;
  background-color: #fff;
}

.filtering-job__page .filter-item__inner .filter-item__label {
  font-size: 15px;
  font-weight: 900;
  letter-spacing: 0.04em;
  color: #333;
  margin-bottom: 8px;
}

/* 入力フィールドの改善 */
.filtering-job__page .choose-item .input-field {
  width: 100%;
  background: #fff;
  border: 2px solid #ddd;
  border-radius: 4px;
  padding: 12px 14px;
  color: #333;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
}

.filtering-job__page .choose-item .input-field:hover {
  border-color: #0073cf;
}

.filtering-job__page .choose-item .input-field:focus {
  border-color: #0073cf;
  outline: none;
  box-shadow: 0 0 0 3px rgba(0, 115, 207, 0.1);
}

/* ボタンの改善 */
.filtering-job__page .filter-area__inner .btn-group button.submit-btn {
  background: linear-gradient(135deg, #0073cf 0%, #0098e8 100%);
  color: #fff;
  padding: 16px;
  font-size: 17px;
  font-weight: 900;
  letter-spacing: 0.1em;
  border: none;
  border-radius: 4px;
  box-shadow: 0 4px 12px rgba(0, 115, 207, 0.3);
  transition: all 0.3s ease;
}

.filtering-job__page .filter-area__inner .btn-group button.submit-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(0, 115, 207, 0.4);
}

.filtering-job__page .filter-area__inner .btn-group button.clear-btn {
  background: #fff;
  border: 2px solid #ddd;
  color: #666;
  font-weight: 800;
  transition: all 0.2s ease;
}

.filtering-job__page .filter-area__inner .btn-group button.clear-btn:hover {
  background: #f5f5f5;
  border-color: #999;
}

/* 右側：検索結果ヘッダー */
.filtering-job__page .result-header .recruit-count {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  padding: 20px 0;
  border-bottom: 3px solid #f0f0f0;
  margin-bottom: 30px;
}

.filtering-job__page .recruit-count .count-label {
  font-size: 16px;
  font-weight: 900;
  letter-spacing: 0.05em;
  color: #333;
}

.filtering-job__page .recruit-count .count-label .gray-txt {
  color: #999;
  font-size: 13px;
  font-weight: 600;
  display: block;
  margin-top: 4px;
}

.filtering-job__page .recruit-count .total-count {
  display: flex;
  align-items: baseline;
  gap: 8px;
}

.filtering-job__page .recruit-count .count-number {
  font-size: 52px;
  font-weight: 900;
  color: #ff8c2b;
  font-family: "Montserrat", sans-serif;
  line-height: 1;
  letter-spacing: -0.02em;
}

.filtering-job__page .recruit-count .total-count::after {
  content: "件";
  font-size: 18px;
  font-weight: 900;
  color: #333;
}

/* 求人カードの改善 */
.filtering-job__page ul.result-items li.item {
  background: #fff;
  border: 2px solid #e6e6e6;
  border-radius: 6px;
  margin-bottom: 24px;
  transition: all 0.3s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.filtering-job__page ul.result-items li.item:hover {
  border-color: #0073cf;
  box-shadow: 0 4px 16px rgba(0, 115, 207, 0.15);
  transform: translateY(-2px);
}

.filtering-job__page li.item .item-header {
  background: #e9e9e9;
  border-bottom: 2px solid #d0d0d0;
  padding: 14px 20px;
}

.filtering-job__page li.item .item-header .company-name {
  font-size: 19px;
  font-weight: 900;
  letter-spacing: 0.04em;
  color: #222;
}

.filtering-job__page li.item .item-header .detail-link a {
  background: linear-gradient(135deg, #ff8c2b 0%, #ffa94d 100%);
  color: #fff;
  padding: 10px 20px;
  border-radius: 4px;
  font-size: 15px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-decoration: none;
  transition: all 0.3s ease;
  box-shadow: 0 2px 8px rgba(255, 140, 43, 0.3);
}

.filtering-job__page li.item .item-header .detail-link a:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(255, 140, 43, 0.4);
}

/* カード内のラベル */
.filtering-job__page li.item .item-info__label {
  font-size: 14px;
  font-weight: 900;
  letter-spacing: 0.05em;
  color: #666;
  width: 100px;
}

.filtering-job__page li.item .item-info__content {
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: #333;
  line-height: 1.8;
}

/* タグの改善 */
.filtering-job__page li.item .tag {
  padding: 5px 14px;
  border-radius: 20px;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.04em;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.filtering-job__page li.item .tag.blue-tag {
  background: linear-gradient(135deg, #0073cf 0%, #0098e8 100%);
}

.filtering-job__page li.item .tag.orange-tag {
  background: linear-gradient(135deg, #ff8c2b 0%, #ffa94d 100%);
}

/* スマホ対応 */
@media (max-width: 900px) {
  .catch-cover__back {
    padding: 40px 0 50px !important;
  }
  
  .catch-cover__back .section-title .jp {
    font-size: 32px;
  }
  
  .filtering-job__page .job-search {
    padding: 30px 0 40px;
  }
}
/* ===== job_search：2カラム固定（落ち防止） ===== */
body.page-id-11389 .filtering-job__page .job-search .filter-container{
  display: grid !important;
  grid-template-columns: 300px 1fr !important;
  gap: 32px !important;
  align-items: start !important;
}

/* ===== sticky潰し対策（親overflowで死ぬ） ===== */
body.page-id-11389 #body_wrap,
body.page-id-11389 #job-search-root,
body.page-id-11389 .filtering-job__page,
body.page-id-11389 .filtering-job__page .job-search,
body.page-id-11389 .filtering-job__page .job-search .container,
body.page-id-11389 .filtering-job__page .job-search .filter-container{
  overflow: visible !important;
}

/* ===== デフォ：追従OFF ===== */
body.page-id-11389 .filtering-job__page .filter-area__inner{
  position: static !important;
}

/* ===== 追従ON：.filter-area に is-follow が付いたら inner をsticky ===== */
body.page-id-11389 .filtering-job__page .filter-area.is-follow .filter-area__inner{
  position: sticky !important;
  top: 120px !important;     /* 管理バー/ヘッダー分 */
  z-index: 10 !important;

  /* 長い場合の保険 */
  max-height: calc(100vh - 140px);
  overflow: auto;
}

/* SPは追従OFF */
@media (max-width: 900px){
  body.page-id-11389 .filtering-job__page .filter-area.is-follow .filter-area__inner{
    position: static !important;
    top: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }
}
/* =========================================================
  job_search：SP最適化（〜900px）
========================================================= */
@media (max-width: 900px){

  /* 2カラムをやめて1カラムに */
  body.page-id-11389 .filtering-job__page .job-search .filter-container{
    display:block !important;
  }

  /* 左カラム幅固定を解除 */
  body.page-id-11389 .filtering-job__page .job-search .filter-area{
    width: 100% !important;
    max-width: none !important;
    margin: 0 0 16px !important;
  }

  body.page-id-11389 .filtering-job__page .job-search .result-area{
    width: 100% !important;
  }

  /* 件数ヘッダー：横並び→縦並びで見やすく */
  body.page-id-11389 .filtering-job__page .result-header .recruit-count{
    display:flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 6px !important;
    padding: 10px 0 12px !important;
  }

  body.page-id-11389 .filtering-job__page .recruit-count .total-count{
    display:flex !important;
    align-items: baseline !important;
    gap: 6px !important;
  }

  body.page-id-11389 .filtering-job__page .recruit-count .count-number{
    font-size: 34px !important;
    line-height: 1 !important;
  }

  /* 求人カード：ヘッダーを縦に（会社名とボタンが潰れない） */
  body.page-id-11389 .filtering-job__page li.item .item-header{
    display:flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 10px !important;
  }

  body.page-id-11389 .filtering-job__page li.item .item-header .detail-link{
    width: 100% !important;
  }
  body.page-id-11389 .filtering-job__page li.item .item-header .detail-link a{
    width: 100% !important;
    text-align: center !important;
    padding: 10px 12px !important;
  }

  /* 求人カード中身：ラベル/値の2列をやめて縦積みに */
  body.page-id-11389 .filtering-job__page li.item .item-inner .item-info{
    display:block !important;
    margin-bottom: 14px !important;
  }
  body.page-id-11389 .filtering-job__page li.item .item-info__label{
    width: auto !important;
    margin-bottom: 6px !important;
    color: #555 !important;
  }

  /* 左フォーム内：ボタン間隔を詰める */
  body.page-id-11389 .filtering-job__page .filter-area__inner .btn-group{
    margin-top: 14px !important;
  }

  /* タグ：折り返し時に窮屈なので少し小さく */
  body.page-id-11389 .keyword-tag{
    font-size: 11px !important;
    padding: 6px 10px !important;
  }

  /* コンテナ左右余白 */
  body.page-id-11389 .filtering-job__page .container{
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
}

/* =========================================================
  job_search：さらに小さい端末（〜480px）
========================================================= */
@media (max-width: 480px){
  body.page-id-11389 .filtering-job__page .section-title .jp{
    font-size: 28px !important;
  }
  body.page-id-11389 .filtering-job__page .section-title .en{
    font-size: 14px !important;
  }
  body.page-id-11389 .filtering-job__page .recruit-count .count-number{
    font-size: 30px !important;
  }
}
/* =========================================================
  job_search：SP 詳細を見るボタンをカード下部へ
========================================================= */
@media (max-width: 900px){

  /* ヘッダー側の「詳細を見る」は非表示 */
  body.page-id-11389 
  .filtering-job__page 
  li.item .item-header .detail-link{
    display: none !important;
  }

  /* item-inner の最後にボタンを出す */
  body.page-id-11389 
  .filtering-job__page 
  li.item .item-inner::after{
    content: "詳細を見る";
    display: block;
    margin-top: 16px;
    padding: 12px;
    text-align: center;
    font-weight: 900;
    letter-spacing: 0.08em;

    color: #fff;
    background: linear-gradient(135deg, #ff8c2b 0%, #ffa94d 100%);
    border-radius: 6px;

    cursor: pointer;
  }

  /* クリックできるように（親aのURLを使う） */
  body.page-id-11389 
  .filtering-job__page 
  li.item .item-inner{
    position: relative;
  }

  body.page-id-11389 
  .filtering-job__page 
  li.item .item-inner::after{
    pointer-events: auto;
  }

  body.page-id-11389 
  .filtering-job__page 
  li.item{
    cursor: pointer;
  }
}
/* =========================================================
  job_search：最終勝ち（PCは2カラム / SPは1カラム）
  ※このブロックをCSS末尾に置く
========================================================= */

/* PC：2カラム固定 */
@media (min-width: 901px){
  body.page-id-11389 .filtering-job__page .job-search .filter-container{
    display: grid !important;
    grid-template-columns: 300px 1fr !important;
    gap: 32px !important;
    align-items: start !important;
  }

  body.page-id-11389 .filtering-job__page .job-search .filter-area{
    width: auto !important;
    margin: 0 !important;
  }

  body.page-id-11389 .filtering-job__page .job-search .result-area{
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
  }
}

/* SP：1カラム固定 */
@media (max-width: 900px){
  body.page-id-11389 .filtering-job__page .job-search .filter-container{
    display: block !important;
  }
}
/* PCだけ追従ON */
@media (min-width: 901px){
  body.page-id-11389 .filtering-job__page .filter-area.is-follow .filter-area__inner{
    position: sticky !important;
    top: 120px !important;
    z-index: 10 !important;
    max-height: calc(100vh - 140px);
    overflow: auto;
  }
}

/* SPは常に追従OFF */
@media (max-width: 900px){
  body.page-id-11389 .filtering-job__page .filter-area__inner{
    position: static !important;
    top: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }
}
/* =========================================================
   job_search：SEOテキストブロック美化
========================================================= */

body.page-id-11389 .jobsearch-seo{
  padding: 60px 0;
  background: linear-gradient(180deg, rgba(0,115,207,.05) 0%, rgba(0,115,207,0) 100%);
}

body.page-id-11389 .jobsearch-seo .l-container{
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 24px;
}

body.page-id-11389 .jobsearch-seo__card{
  background: #fff;
  border: 2px solid #e6e6e6;
  border-radius: 8px;
  padding: 32px 28px;
  box-shadow: 0 6px 20px rgba(0,0,0,.06);
  transition: all .3s ease;
}

body.page-id-11389 .jobsearch-seo__card:hover{
  border-color: #0073cf;
  box-shadow: 0 8px 28px rgba(0,115,207,.12);
}

body.page-id-11389 .jobsearch-seo__eyebrow{
  display:inline-block;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .1em;
  color:#0073cf;
  background: rgba(0,115,207,.1);
  padding: 6px 12px;
  border-radius: 20px;
  margin-bottom: 14px;
}

body.page-id-11389 .jobsearch-seo__title{
  font-size: 24px;
  font-weight: 900;
  letter-spacing: .05em;
  margin-bottom: 16px;
  color:#111;
}

body.page-id-11389 .jobsearch-seo__body{
  font-size: 15px;
  font-weight: 500;
  line-height: 1.9;
  color:#333;
}

body.page-id-11389 .jobsearch-seo__body p{
  margin-bottom: 14px;
}

body.page-id-11389 .jobsearch-seo__cta{
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid #e6e6e6;
  display:flex;
  align-items:center;
  gap:16px;
  flex-wrap:wrap;
}

body.page-id-11389 .jobsearch-seo__ctaBtn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:44px;
  padding:0 20px;
  background: linear-gradient(135deg,#0073cf 0%,#0098e8 100%);
  color:#fff;
  font-size:14px;
  font-weight:900;
  letter-spacing:.08em;
  border-radius:4px;
  text-decoration:none;
  transition:.25s ease;
  box-shadow:0 4px 12px rgba(0,115,207,.25);
}

body.page-id-11389 .jobsearch-seo__ctaBtn:hover{
  transform: translateY(-2px);
  box-shadow:0 6px 18px rgba(0,115,207,.35);
}

body.page-id-11389 .jobsearch-seo__note{
  font-size:12px;
  color:#888;
}

/* SP最適化 */
@media (max-width:900px){
  body.page-id-11389 .jobsearch-seo{
    padding: 40px 0;
  }
  body.page-id-11389 .jobsearch-seo__card{
    padding: 22px 18px;
  }
  body.page-id-11389 .jobsearch-seo__title{
    font-size:20px;
  }
}
/* =========================================================
   job_search：SEOブロック（カード＋chips＋リンク＋CTA）
========================================================= */
body.page-id-11389 .jobsearch-seo{
  padding: 56px 0;
  background: linear-gradient(180deg, rgba(0,115,207,.06) 0%, rgba(0,115,207,0) 100%);
}

body.page-id-11389 .jobsearch-seo .l-container{
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 24px;
}

body.page-id-11389 .jobsearch-seo__card{
  background:#fff;
  border: 2px solid #e6e6e6;
  border-radius: 10px;
  padding: 30px 28px;
  box-shadow: 0 10px 28px rgba(0,0,0,.06);
}

body.page-id-11389 .jobsearch-seo__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap: 16px;
  margin-bottom: 14px;
}

body.page-id-11389 .jobsearch-seo__eyebrow{
  display:inline-flex;
  align-items:center;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .10em;
  color:#0073cf;
  background: rgba(0,115,207,.10);
  padding: 6px 12px;
  border-radius: 999px;
  margin: 0 0 10px;
}

body.page-id-11389 .jobsearch-seo__chips{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

body.page-id-11389 .jobsearch-seo__chip{
  display:inline-flex;
  align-items:center;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .04em;
  border: 1px solid rgba(0,0,0,.08);
}

body.page-id-11389 .jobsearch-seo__chip--pref{
  color:#014C96;
  background: rgba(1,76,150,.06);
}
body.page-id-11389 .jobsearch-seo__chip--job{
  color:#ff8c2b;
  background: rgba(255,140,43,.08);
}

body.page-id-11389 .jobsearch-seo__count{
  display:flex;
  align-items:baseline;
  gap: 6px;
  padding: 10px 12px;
  border-radius: 10px;
  background: #f7fbff;
  border: 1px solid rgba(0,115,207,.15);
  white-space: nowrap;
}

body.page-id-11389 .jobsearch-seo__countLabel{
  font-size: 12px;
  font-weight: 900;
  color:#014C96;
}
body.page-id-11389 .jobsearch-seo__countNum{
  font-size: 34px;
  font-weight: 900;
  color:#ff8c2b;
  font-family: "Montserrat", -apple-system, sans-serif;
  line-height: 1;
}
body.page-id-11389 .jobsearch-seo__countUnit{
  font-size: 14px;
  font-weight: 900;
  color:#111;
}

body.page-id-11389 .jobsearch-seo__title{
  margin: 0 0 12px;
  font-size: clamp(18px, 2.1vw, 24px);
  font-weight: 900;
  letter-spacing: .04em;
  color:#111;
  line-height: 1.35;
}

body.page-id-11389 .jobsearch-seo__body{
  color:#333;
  line-height: 1.9;
  font-size: 15px;
}
body.page-id-11389 .jobsearch-seo__body p{ margin: 0 0 12px; }
body.page-id-11389 .jobsearch-seo__body p:last-child{ margin-bottom: 0; }

/* 内部リンク */
body.page-id-11389 .jobsearch-seo__links{
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid #e6e6e6;
}
body.page-id-11389 .jobsearch-seo__linksTitle{
  margin: 0 0 10px;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .06em;
  color:#014C96;
}
body.page-id-11389 .jobsearch-seo__linksGrid{
  display:grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 10px;
}
body.page-id-11389 .jobsearch-seo__link{
  display:flex;
  align-items:center;
  justify-content:center;
  gap: 6px;
  padding: 10px 10px;
  border-radius: 8px;
  border: 1px solid rgba(0,0,0,.08);
  background: #fff;
  text-decoration: none !important;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
body.page-id-11389 .jobsearch-seo__link:hover{
  transform: translateY(-2px);
  border-color: rgba(0,115,207,.35);
  box-shadow: 0 10px 18px rgba(0,115,207,.10);
}
body.page-id-11389 .jobsearch-seo__linkPref{ font-weight: 900; color:#014C96; font-size: 12px; }
body.page-id-11389 .jobsearch-seo__linkSep{ color:#94a3b8; font-size: 12px; }
body.page-id-11389 .jobsearch-seo__linkJob{ font-weight: 900; color:#ff8c2b; font-size: 12px; }

/* CTA */
body.page-id-11389 .jobsearch-seo__cta{
  display:flex;
  align-items:center;
  gap: 14px;
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid #e6e6e6;
  flex-wrap: wrap;
}
body.page-id-11389 .jobsearch-seo__ctaBtn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:44px;
  padding: 0 18px;
  border-radius: 8px;
  font-weight: 900;
  letter-spacing: .08em;
  color:#fff;
  background: linear-gradient(135deg,#0073cf 0%,#0098e8 100%);
  text-decoration:none !important;
  box-shadow: 0 10px 22px rgba(0,115,207,.22);
  transition: transform .18s ease, box-shadow .18s ease;
}
body.page-id-11389 .jobsearch-seo__ctaBtn:hover{
  transform: translateY(-2px);
  box-shadow: 0 14px 26px rgba(0,115,207,.28);
}
body.page-id-11389 .jobsearch-seo__note{
  font-size: 12px;
  color:#777;
}

/* reveal（フェードイン） */
body.page-id-11389 .js-umj-reveal{
  opacity: 0;
  transform: translateY(14px);
  transition: opacity .5s ease, transform .5s ease;
}
body.page-id-11389 .js-umj-reveal.is-in{
  opacity: 1;
  transform: translateY(0);
}

/* SP */
@media (max-width: 900px){
  body.page-id-11389 .jobsearch-seo{ padding: 44px 0; }
  body.page-id-11389 .jobsearch-seo .l-container{ padding: 0 14px; }
  body.page-id-11389 .jobsearch-seo__card{ padding: 22px 18px; }
  body.page-id-11389 .jobsearch-seo__head{ flex-direction: column; align-items:flex-start; }
  body.page-id-11389 .jobsearch-seo__linksGrid{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}
