/* SWELLと競合しにくいように mrm- 接頭辞で統一 */
.mrm-recruit-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 24px;
  margin: 24px 0;
}
.mrm-recruit-card,
.mrm-card {
  background: #fff;
  border: 1px solid #d9e4f0;
  border-radius: 14px;
  box-shadow: 0 4px 14px rgba(0,0,0,.05);
  padding: 20px;
}
.mrm-recruit-card-title,
.mrm-page-header h1,
.mrm-card h2,
.mrm-related-jobs h2 {
  margin: 0 0 12px;
}
.mrm-recruit-card-title a {
  text-decoration: none;
}
.mrm-status-badge {
  display: inline-block;
  border-radius: 999px;
  padding: 6px 12px;
  font-size: 12px;
  line-height: 1;
  margin-bottom: 12px;
  background: #e8f5e9;
  color: #1b5e20;
}
.mrm-recruit-card.mrm-status-closed .mrm-status-badge,
.mrm-status-closed .mrm-status-badge {
  background: #f3f4f6;
  color: #4b5563;
}
.mrm-recruit-card.mrm-status-filled .mrm-status-badge,
.mrm-status-filled .mrm-status-badge {
  background: #eef2ff;
  color: #4338ca;
}
.mrm-recruit-card.mrm-status-draft .mrm-status-badge,
.mrm-status-draft .mrm-status-badge {
  background: #fff7ed;
  color: #9a3412;
}
.mrm-recruit-meta {
  list-style: none;
  margin: 0 0 12px;
  padding: 0;
}
.mrm-recruit-meta li { margin-bottom: 6px; }
.mrm-single,
.mrm-archive {
  max-width: 1080px;
  margin: 0 auto;
  padding: 32px 16px;
}
.mrm-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 20px;
  margin: 20px 0;
}
.mrm-meta {
  color: #5b6777;
}
.mrm-button {
  display: inline-block;
  background: #2563eb;
  color: #fff;
  border-radius: 999px;
  padding: 12px 24px;
  text-decoration: none;
}
@media (max-width: 767px) {
  .mrm-single,
  .mrm-archive {
    padding: 20px 14px;
  }
  .mrm-recruit-list {
    gap: 16px;
  }
}

/* ============================================================
   ステータスバッジ（新: mrm-status-badge--* 修飾子パターン）
   ============================================================ */
.mrm-status-badge--open   { background: #e8f5e9; color: #1b5e20; }
.mrm-status-badge--closed { background: #f3f4f6; color: #4b5563; }
.mrm-status-badge--filled { background: #eef2ff; color: #4338ca; }
.mrm-status-badge--draft  { background: #fff7ed; color: #9a3412; }

/* おすすめバッジ */
.mrm-featured-badge {
  display: inline-block;
  border-radius: 999px;
  padding: 4px 10px;
  font-size: 11px;
  font-weight: 700;
  background: #fbbf24;
  color: #78350f;
  margin-left: 6px;
  vertical-align: middle;
}

/* ============================================================
   求人カード（拡張）
   ============================================================ */
.mrm-recruit-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.mrm-card-thumb {
  margin: -20px -20px 16px;
  overflow: hidden;
  border-radius: 14px 14px 0 0;
}
.mrm-card-thumb-img {
  width: 100%;
  height: 180px;
  object-fit: cover;
  display: block;
}

.mrm-card-body {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.mrm-card-badges {
  margin-bottom: 10px;
}

.mrm-card-subtitle {
  font-size: 13px;
  color: #5b6777;
  margin: 4px 0 8px;
}

.mrm-card-highlight {
  font-size: 15px;
  font-weight: 700;
  color: #ea580c;
  margin: 0 0 10px;
}

.mrm-card-note {
  font-size: 12px;
  color: #9ca3af;
  margin-top: auto;
  padding-top: 8px;
}

.mrm-card-link {
  display: inline-block;
  margin-top: 12px;
  font-size: 13px;
  color: #2563eb;
  text-decoration: none;
  font-weight: 500;
}
.mrm-card-link:hover { text-decoration: underline; }

.mrm-recruit-meta {
  list-style: none;
  margin: 0 0 10px;
  padding: 0;
}
.mrm-recruit-meta li {
  margin-bottom: 5px;
  font-size: 13px;
  color: #374151;
  display: flex;
  align-items: center;
  gap: 4px;
}
.mrm-meta-icon { font-style: normal; }

/* ============================================================
   単ページ共通セクション
   ============================================================ */
.mrm-section {
  margin: 32px 0;
}

.mrm-section-title {
  font-size: 18px;
  font-weight: 700;
  color: #1d2327;
  border-left: 4px solid #2563eb;
  padding-left: 12px;
  margin: 0 0 16px;
  line-height: 1.4;
}

/* ============================================================
   定義リスト（募集要項・基本情報）
   ============================================================ */
.mrm-spec-list {
  margin: 0;
  padding: 0;
}

.mrm-spec-row {
  display: flex;
  border-bottom: 1px solid #f0f0f1;
  padding: 12px 0;
  gap: 16px;
}
.mrm-spec-row:first-child { border-top: 1px solid #f0f0f1; }

.mrm-spec-dt {
  flex: 0 0 120px;
  font-weight: 600;
  font-size: 13px;
  color: #5b6777;
  padding-top: 2px;
}

.mrm-spec-dd {
  flex: 1;
  margin: 0;
  font-size: 14px;
  color: #1d2327;
  line-height: 1.7;
}

/* ============================================================
   テキストブロック（仕事内容等）
   ============================================================ */
.mrm-prose {
  font-size: 14px;
  line-height: 1.85;
  color: #374151;
  white-space: pre-line;
}

/* ============================================================
   応募CTA
   ============================================================ */
.mrm-apply-cta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  padding: 24px;
  background: #eff6ff;
  border-radius: 14px;
  margin: 24px 0;
  justify-content: center;
}

.mrm-apply-contacts {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 16px;
}

/* ボタンバリエーション */
.mrm-button { font-size: 14px; font-weight: 600; }
.mrm-button--primary  { background: #2563eb; color: #fff; }
.mrm-button--tel      { background: #16a34a; color: #fff; }
.mrm-button--line     { background: #06c755; color: #fff; cursor: default; }
.mrm-button--small    { padding: 8px 18px; font-size: 13px; }
.mrm-button:hover { opacity: 0.88; }

/* ============================================================
   選考フロー
   ============================================================ */
.mrm-selection-flow {
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid #e5e7eb;
}
.mrm-selection-flow h3 {
  font-size: 15px;
  font-weight: 600;
  margin-bottom: 10px;
}

/* ============================================================
   事業所ヘッダー・サブタイトル
   ============================================================ */
.mrm-subtitle {
  font-size: 16px;
  color: #4b5563;
  margin: 6px 0 4px;
}
.mrm-highlight {
  font-size: 18px;
  font-weight: 700;
  color: #ea580c;
  margin: 0 0 12px;
}
.mrm-short-intro {
  font-size: 16px;
  color: #374151;
  line-height: 1.7;
  margin-top: 10px;
}

/* ============================================================
   採用メッセージ（blockquote）
   ============================================================ */
.mrm-message {
  background: #eff6ff;
  border-left: 4px solid #2563eb;
  border-radius: 0 8px 8px 0;
  padding: 16px 20px;
  margin: 0;
  font-size: 15px;
  line-height: 1.8;
  color: #1d2327;
  white-space: pre-line;
}

/* ============================================================
   特徴リスト
   ============================================================ */
.mrm-features {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.mrm-features li {
  background: #e8f5e9;
  color: #1b5e20;
  border-radius: 999px;
  padding: 6px 16px;
  font-size: 13px;
  font-weight: 500;
}
.mrm-features li::before {
  content: '✓ ';
}

/* ============================================================
   事業所アイキャッチ
   ============================================================ */
.mrm-facility-thumb {
  margin-bottom: 20px;
  border-radius: 14px;
  overflow: hidden;
}
.mrm-facility-thumb-img {
  width: 100%;
  max-height: 360px;
  object-fit: cover;
  display: block;
}

/* ============================================================
   動画（レスポンシブ）
   ============================================================ */
.mrm-video-wrap {
  position: relative;
  padding-top: 56.25%;
  overflow: hidden;
  border-radius: 10px;
  background: #000;
}
.mrm-video-wrap iframe,
.mrm-video-wrap video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

/* ============================================================
   絞り込みフォーム（アーカイブ）
   ============================================================ */
.mrm-filter-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  background: #f6f7f7;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  padding: 14px 16px;
  margin-bottom: 24px;
}
.mrm-filter-bar select {
  padding: 8px 12px;
  border: 1px solid #c3c4c7;
  border-radius: 6px;
  font-size: 13px;
  background: #fff;
}
.mrm-filter-clear {
  font-size: 13px;
  color: #787c82;
  text-decoration: underline;
  cursor: pointer;
}

/* ============================================================
   レスポンシブ追加
   ============================================================ */
@media (max-width: 767px) {
  .mrm-spec-row { flex-direction: column; gap: 4px; }
  .mrm-spec-dt  { flex: none; }
  .mrm-apply-cta,
  .mrm-apply-contacts { flex-direction: column; align-items: stretch; }
  .mrm-features { gap: 8px; }
  .mrm-filter-bar { flex-direction: column; align-items: stretch; }
}
