/* 要約部（先頭100文字表示） */
.locked-intro .table_recruit_detail_data .locked-more { color:#6c757d; }

/* ぼかしロックのコンテナ */
.locked-overlay {
  position: relative;
  margin-top: 16px;
}

/* 本体をぼかすためのマスク */
.locked-overlay .locked-mask {
  position: relative;
  pointer-events: none;         /* クリック不可 */
  filter: blur(4px);
  max-height: 220px;           /* ← 露出を短くする */
  overflow: hidden;            /* 余剰は隠す */
}

/* 下部にグラデーションを足して「続きがある」感を演出 */
.locked-overlay .locked-mask::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 140px;               /* 少し広げて下部を隠す */
  background: linear-gradient(to bottom, rgba(255,255,255,0), rgba(255,255,255,1));
}

/* 未ログイン時: ぼかし領域でのテキスト選択・コピーを禁止 */
.locked-overlay .locked-mask,
.locked-overlay .locked-mask * {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

/* CTAブロック */
.locked-overlay .locked-cta {
  position: absolute;
  left: 50%;
  /* bottom: 24px; 上部表示へ変更のため無効化 */
  top: 24px;                  /* ← 上部に固定表示 */
  transform: translateX(-50%);
  width: min(640px, 90%);
  background: #fff8e6;         /* 目立つ薄い背景色 */
  border: 1px solid #f5c16c;   /* 枠線もトーンを合わせる */
  box-shadow: 0 8px 28px rgba(0,0,0,.10);
  border-radius: 8px;
  padding: 16px;
  text-align: center;
}

.locked-overlay .locked-benefits {
  margin: 0 0 8px;
  font-weight: 600;
}

.locked-overlay .locked-list {
  list-style: disc;
  text-align: left;
  margin: 0 auto 12px;
  padding-left: 1.25rem;
  max-width: 520px;
  color: #495057;
  font-size: .95rem;
}

.locked-overlay .locked-button {
  display: inline-block;
  padding: 10px 18px;
  border-radius: 6px;
  text-decoration: none;
}

/* ボタンのベース */
.locked-cta .btn {
  display: inline-block;
  min-width: 220px;
  padding: 10px 16px;
  margin: 6px 8px 0;
  border-radius: 6px;
  text-decoration: none;
  font-weight: 600;
  line-height: 1.4;
}

/* 主要ボタン */
.locked-cta .btn-main {
  background-color: #e74c3c;
  color: #fff;
  border: 1px solid #e74c3c;
}

/* セカンダリボタン */
.locked-cta .btn-secondary {
  background-color: #fff;
  color: #333;
  border: 1px solid #ccc;
}

/* ホバー */
.locked-cta .btn-main:hover {
  background-color: #d84332;
  border-color: #d84332;
}
.locked-cta .btn-secondary:hover {
  background-color: #f7f7f7;
}

/* SP調整 */
@media (max-width: 767px) {
  .locked-overlay .locked-cta {
    /* bottom: 16px; 上部表示へ変更のため無効化 */
    top: 14px;               /* ← 上部に固定表示 */
    padding: 12px;
  }
  .locked-overlay .locked-list { font-size: .9rem; }
  .locked-cta .btn {
    min-width: 100%;
    margin: 6px 0 0;
  }
  .locked-overlay .locked-mask {
    max-height: 180px;       /* スマホはさらに短く */
  }
}

/* 要約テーブル内の小型CTA余白 */
.locked-intro .inline-cta {
  margin: 8px 0 10px; /* 上下に少し余白 */
}

/* SP調整 */
@media (max-width: 767px) {
  .locked-intro .inline-cta {
    margin: 6px 0 8px;
  }
}

/* 募集内容セクション限定スコープ */
.detail-lock .locked-intro .table_recruit_detail_data .locked-more { color:#6c757d; }

/* ぼかしロックのコンテナ（募集内容内） */
.detail-lock .locked-overlay { position: relative; margin-top: 16px; }

/* 本体をぼかすためのマスク（クリック不可） */
.detail-lock .locked-overlay .locked-mask {
  position: relative;
  pointer-events: none;
  filter: blur(4px);
  max-height: 220px;
  overflow: hidden;
}

/* 下部グラデーションで続き感を演出 */
.detail-lock .locked-overlay .locked-mask::after {
  content: "";
  position: absolute; left:0; right:0; bottom:0;
  height: 140px;
  background: linear-gradient(to bottom, rgba(255,255,255,0), rgba(255,255,255,1));
}

/* 未ログイン時: ぼかし領域でのテキスト選択・コピーを禁止 */
.detail-lock .locked-overlay .locked-mask,
.detail-lock .locked-overlay .locked-mask * {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

/* CTAブロック（中央固定） */
.detail-lock .locked-overlay .locked-cta {
  position: absolute;
  left: 50%;
  /* bottom: 24px; 上部表示へ変更のため無効化 */
  top: 24px;                 /* ← 上部に固定表示 */
  transform: translateX(-50%);
  width: min(640px, 90%);
  background: #fff8e6;         /* 目立つ薄い背景色 */
  border: 1px solid #f5c16c;   /* 枠線もトーンを合わせる */
  box-shadow: 0 8px 28px rgba(0,0,0,.10);
  border-radius: 8px;
  padding: 16px;
  text-align: center;
}

.detail-lock .locked-benefits { margin: 0 0 8px; font-weight: 600; }
.detail-lock .locked-list {
  list-style: disc;
  text-align: left;
  margin: 0 auto 16px;
  padding-left: 1.25rem;
  max-width: 520px;
  color: #495057;
  font-size: .95rem;
  font-weight: bold;
}

/* ボタンのベース（見た目強化） */
.detail-lock .locked-cta .btn {
  display: inline-block;
  min-width: 220px;
  padding: 10px 16px;
  margin: 6px 8px 0;
  border-radius: 6px;
  text-decoration: none;
  font-weight: 600;
  line-height: 1.4;
}

/* 主要ボタン（赤系） */
.detail-lock .locked-cta .btn-main {
  background-color: #e74c3c;
  color: #fff;
  border: 1px solid #e74c3c;
}

/* セカンダリボタン（白） */
.detail-lock .locked-cta .btn-secondary {
  background-color: #fff;
  color: #333;
  border: 1px solid #ccc;
}

/* ホバー */
.detail-lock .locked-cta .btn-main:hover { background-color: #d84332; border-color: #d84332; }
.detail-lock .locked-cta .btn-secondary:hover { background-color: #f7f7f7; }

/* SP調整 */
@media (max-width: 767px) {
  .detail-lock .locked-overlay .locked-cta {
    /* bottom: 16px; 上部表示へ変更のため無効化 */
    top: 14px;               /* ← 上部に固定表示 */
    padding: 12px;
  }
  .detail-lock .locked-list { font-size: .9rem; font-weight: bold; }
  .detail-lock .locked-cta .btn { min-width: 100%; margin: 6px 0 0; }
  .detail-lock .locked-overlay .locked-mask {
    max-height: 180px;       /* スマホはさらに短く */
  }
}

/* relative_entry: 中央揃え復元（このブロック限定） */
.relative_entry,
.relative_entry .relative_entry_list,
.relative_entry .relative_entry_recommend_list {
  text-align: center;
}

/* 子の ul を中央に配置。内部コンテンツは左寄せ維持 */
.relative_entry .relative_entry_list ul,
.relative_entry .relative_entry_recommend_list ul {
  display: inline-block;
  text-align: left;
  margin-left: auto;
  margin-right: auto;
  width: auto; /* もし 100% 指定があれば上書き */
}

/* flex/float の影響がある場合の保険 */
.relative_entry .relative_entry_list ul,
.relative_entry .relative_entry_recommend_list ul {
  float: none;
}

/* 横並びグリッドに復元（relative_entry配下限定） */
.relative_entry .relative_entry_recommend_list ul.rel-cards,
.relative_entry .relative_entry_recommend_list ul.height_fix {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;   /* 中央揃え */
  gap: 16px;                 /* カード間の隙間 */
  margin-left: auto;
  margin-right: auto;
  padding: 0;
  list-style: none;
  width: auto;               /* 100%指定の打ち消し */
}

/* カード項目を横に並べるための最小幅指定（必要に応じて調整） */
.relative_entry .relative_entry_recommend_list ul.rel-cards > li,
.relative_entry .relative_entry_recommend_list ul.height_fix > li {
  /* 3列目安の可変幅。ブレークポイントで変化 */
  flex: 0 1 300px;
  max-width: 340px;
}

/* 画像や内部要素の調整が必要ならここに追記 */
/* .relative_entry .relative_entry_recommend_list li a { display:block; } */

/* SPで1～2列に落とす */
@media (max-width: 767px) {
  .relative_entry .relative_entry_recommend_list ul.rel-cards > li,
  .relative_entry .relative_entry_recommend_list ul.height_fix > li {
    flex: 0 1 48%;
  }
}
@media (max-width: 480px) {
  .relative_entry .relative_entry_recommend_list ul.rel-cards > li,
  .relative_entry .relative_entry_recommend_list ul.height_fix > li {
    flex: 0 1 100%;
  }
}
