/* Movin Jobs module styles (scoped) */
.mjnjobs { background:#fafafa; color:#111; padding:18px 0; }
.mjnjobs * { box-sizing:border-box; }
.mjnjobs a { color:inherit; }
.mjnjobs-container { max-width:1100px; margin:0 auto; padding:0 18px; }

/* 基本カード（汎用） */
.mjnjobs-card { background:#fff; border:1px solid #e6e6e6; border-radius:12px; padding:16px; }

.mjnjobs-h1 { font-size:22px; margin:0 0 10px; }
.mjnjobs-h2 { font-size:16px; margin:0 0 10px; }
.mjnjobs-small { color:#666; font-size:12px; }
.mjnjobs-smalla{font-size:22px;font-weight: 700; }

.mjnjobs-grid { display:grid; grid-template-columns:1fr; gap:14px; }
/* 右カラムを固定幅で出す */
@media (min-width:900px){
  .mjnjobs-grid{ grid-template-columns:1fr 340px; }
}

.mjnjobs-row { display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.mjnjobs-form input,.mjnjobs-form select{
  padding:14px 12px; border:1px solid #053050; border-radius:10px; background:#fff;font-size: 14px;
}

.mjnjobs-badge{
  display:inline-block; padding:6px 10px; border:1px solid #e6e6e6; border-radius:999px;
  font-size:12px; background:#fff; text-decoration:none;
}

.mjnjobs-btn{
  display:inline-block; padding:10px 14px; border-radius:10px; border:1px solid #053050;
  background:#fff; text-decoration:none; cursor:pointer;
}
.mjnjobs-btn.primary{ background:#053050; border-color:#053050; color:#fff;width:120px;padding: 12px 0; }

.mjnjobs-job{ padding:14px; border:1px solid #053050; border-radius:12px; background:#fff; }
.mjnjobs-job .title{ font-weight:700; margin:0 0 6px; }
.mjnjobs-job .meta{ color:#111; font-size:18px; margin:0 0 10px; font-weight: 700;}

.mjnjobs-hr{ border:none; border-top:1px solid #e6e6e6; margin:16px 0; }
.mjnjobs-pre{ white-space:pre-wrap; line-height:1.7; }

.mjnjobs-pager{ display:flex; gap:10px; align-items:center; }
.mjnjobs-pager a{ text-decoration:none; }

/* --- List card (company/title) --- */
.mjnjobs-job--card { padding:14px; border:1px solid #053050;; border-radius:12px; background:#fff; }
.mjnjobs-job__company { font-size:18px;  margin:0 0 6px; font-weight:700;}
.mjnjobs-job__title { font-size:18px; line-height:1.35; }
.mjnjobs-job__actions { margin-top:12px; }

/* --- PC: label-left, value-right rows (table-like) --- */
.mjnjobs-kv { margin-top:12px; border-top:1px solid #efefef; }
.mjnjobs-kv__row { display:grid; grid-template-columns: 80px 1fr; gap:14px; padding:10px 0; border-bottom:1px solid #efefef; }
.mjnjobs-kv__k { font-size:14px; font-weight:700; letter-spacing:.2px; }
.mjnjobs-kv__v { font-size:14px; line-height:1.6; word-break:break-word; }

/* --- SP: stacked (label above value) --- */
@media (max-width: 768px) {
  .mjnjobs-job__title { font-size:16px; }
  .mjnjobs-kv__row { grid-template-columns: 1fr; gap:6px; padding:10px 0; }
  .mjnjobs-kv__k { font-size:14px; }
  .mjnjobs-kv__v { font-size:14px; }
}

@media (max-width: 767px) {
  .mjnjobs-kv__row {
    padding: 10px 0;
    border-bottom: 3px solid rgba(0,0,0,0.12);
  }

  .mjnjobs-kv__row:last-child {
    border-bottom: none;
  }

  .mjnjobs-kv__k {
    font-weight: 700;    
    line-height: 1.4;
  }

}

.mjnjobs-job .title a{color: #0066cc;text-decoration: underline;}
.mjnjobs-job .title a:hover{color: #ff7a00;text-decoration: underline;}


/* filters (multi) */
.mjnjobs-filterbox{display:flex;flex-direction:column;gap:10px;margin:10px 0}
.mjnjobs-filtergroup{border:1px solid #eee;border-radius:12px;padding:10px;background:#fafafa}
.mjnjobs-filtertitle{font-weight:700;font-size:13px;margin:0 0 8px}
.mjnjobs-filterchips{display:flex;flex-wrap:wrap;gap:8px}

/* チェックボックス（チップ風） */
.mjnjobs-check{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  border:1px solid #e6e6e6;
  border-radius:999px;
  background:#fff;
  font-size:12px;
  cursor:pointer;
}
.mjnjobs-check input{margin:0}


/* PCで右カラムを伸ばさず、stickyが効くようにする */
@media (min-width: 900px){
  .mjnjobs-grid{ align-items: start; }   /* ←これが超重要（stretch解除） */
  .mjnjobs-side{
    position: -webkit-sticky;
    position: sticky;
    top: 16px;                           /* ヘッダー固定なら 90px 等に調整 */
    z-index: 10;
    
  }
}

/* 右サイド：アコーディオン検索UI */
.mjnjobs-side .mjnjobs-acc{ display:flex; flex-direction:column; gap:10px; margin:10px 0; }

.mjnjobs-acc__item{
  border:1px solid #eee;
  border-radius:12px;
  overflow:hidden;
  background:#fafafa;
}

.mjnjobs-acc__btn{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:10px 12px;
  background:#fff;
  border:0;
  cursor:pointer;
  font-weight:700;
  font-size:13px;
}

.mjnjobs-acc__chev{ opacity:.7; }

.mjnjobs-acc__panel{
  padding:10px;
  background:#fafafa;
}

/* 登録ボタン（指定グラデ） */
.mjnjobs-btn-apply{
  width:100%;
  font-size:17px;
  border:0;
  color:#fff;
  font-weight:800;
  height:60px;
  border-radius:12px;
  background: linear-gradient(180deg, #C70000 0%, #9E0000 100%);
}
.mjnjobs-btn-apply:hover{ filter:brightness(1.05); }

/* 一覧カード内の“この求人に登録”（横並び用） */
.mjnjobs-btn-apply-inline{
  border:0;
  color:#fff;
  font-weight:800;
  height:50px;
  padding:0 14px;
  border-radius:10px;
  background: linear-gradient(180deg, #C70000 0%, #9E0000 100%);
  cursor:pointer;
}
.mjnjobs-btn-apply-inline:hover{ filter:brightness(1.05); }
.mjnjobs-applyform{ margin:0; }

/* =========================
   PC：フリーワード検索行の幅調整（左 + 右）
   ========================= */
@media (min-width: 900px){

  /* =========================
     左（一覧側）の検索行だけを広げる
     ※ section（左カラム）にだけ当てるのがポイント
     ========================= */

  /* 左の検索行：1行固定 */
  .mjnjobs .mjnjobs-grid > section.mjnjobs-card .mjnjobs-form > .mjnjobs-row{
    width: 100%;
    flex-wrap: nowrap !important;
    align-items: center;
  }

  /* 左のフリーワード入力だけ伸ばす */
  .mjnjobs .mjnjobs-grid > section.mjnjobs-card .mjnjobs-form > .mjnjobs-row input[type="text"][name="keyword"]{
    flex: 1 1 auto;
    width: 100%;    
  }

  /* 左の検索/リセットは縮まない */
  .mjnjobs .mjnjobs-grid > section.mjnjobs-card .mjnjobs-form > .mjnjobs-row button,
  .mjnjobs .mjnjobs-grid > section.mjnjobs-card .mjnjobs-form > .mjnjobs-row .mjnjobs-btn{
    flex: 0 0 auto;
    white-space: nowrap;
  }

  /* =========================
     右（固定バナー側）は “広がらない” ように強制上書き
     ========================= */

  /* 右はnowrapを絶対に食らわないようにする */
  .mjnjobs-side .mjnjobs-form > .mjnjobs-row{
    flex-wrap: wrap !important;
  }

  /* 右のinputはmin-widthを解除（これが崩れの主因になりがち） */
  .mjnjobs-side input[type="text"][name="keyword"]{
    min-width: 0 !important;
    width: 100%;
  }
}

/* リセットだけ文字を小さくする */
.mjnjobs-form a.mjnjobs-btn{
  font-size: 12px; /* 好きなサイズに */
  padding: 14px 12px; /* ついでに高さも合わせるなら */
}

/* 2ボタンを必ず 1/2 にする（直下要素に対して均等化） */
.mjnjobs-job__actions{
  display:flex;
  gap:10px;
}

.mjnjobs-job__actions > *{
  flex:1 1 0;
  min-width:0; /* これがないと片方だけ広がることがある */
}

/* a/button/input どれでも見た目を統一 */
.mjnjobs-job__actions > * > .mjnjobs-btn,
.mjnjobs-job__actions > .mjnjobs-btn,
.mjnjobs-job__actions a,
.mjnjobs-job__actions button,
.mjnjobs-job__actions input{
  width:100%;
  text-align:center;
  display:flex;
  justify-content:center;
  align-items:center;
}


/* タイトルリンク：色だけ青に */
.mjnjobs .mjnjobs-job__title a.mjnjobs-link{
  color:#0066cc;
  text-decoration: underline;
}

.mjnjobs .mjnjobs-job__title a.mjnjobs-link:hover{
  color:#ff7a00;
  text-decoration: underline;
}


/* pタグ化してもブラウザ標準余白で崩れないようにする */
.mjnjobs-p{ margin:0; }

/* mjnjobs-pre を p にしても同じ見た目に（余白ゼロ固定） */
.mjnjobs-pre{ white-space:pre-wrap; line-height:1.7; margin:0; }

.mjnjobs-p{ margin:0; }