/* =========================================================
スポット一覧 > 小見出しの追加
   ========================================================= */

.spot-list-item:nth-child(1)::before {
  background-color: rgba(var(--theme-color-rgb), 0.1);
  border-left: 0.2rem solid var(--theme-color);
	color: var(--text1-color);
  content: "北大阪エリア";
  display: block;
  font-size: 1.6rem;
  font-weight: 500;
  height: 2.4rem;
  letter-spacing: 0.02em;
  line-height: 1.5;
  margin: 1.6rem 0 2.4rem 0.8rem;
  padding: 0.2rem 0 0.39rem 0.8rem;
  text-align: left;
  width: calc(200% - 2.6rem);
}

.spot-list-item:nth-child(2) {
  margin-top: 7rem;
}

.spot-list-item:nth-child(17) {
  margin-right: 100%;
}

.spot-list-item:nth-child(18)::before {
  background-color: rgba(var(--theme-color-rgb), 0.1);
  border-left: 0.2rem solid var(--theme-color);
	color: var(--text1-color);
  content: "大阪市エリア";
  display: block;
  font-size: 1.6rem;
  font-weight: 500;
  height: 2.4rem;
  letter-spacing: 0.02em;
  line-height: 1.5;
  margin: 1.6rem 0 2.4rem 0.8rem;
  padding: 0.2rem 0 0.39rem 0.8rem;
  text-align: left;
  width: calc(200% - 2.6rem);
}

.spot-list-item:nth-child(19) {
  margin-top: 7rem;
}

.spot-list-item:nth-child(44)::before {
  background-color: rgba(var(--theme-color-rgb), 0.1);
  border-left: 0.2rem solid var(--theme-color);
	color: var(--text1-color);
  content: "東大阪エリア";
  display: block;
  font-size: 1.6rem;
  font-weight: 500;
  height: 2.4rem;
  letter-spacing: 0.02em;
  line-height: 1.5;
  margin: 1.6rem 0 2.4rem 0.8rem;
  padding: 0.2rem 0 0.39rem 0.8rem;
  text-align: left;
  width: calc(200% - 2.6rem);
}

.spot-list-item:nth-child(45) {
  margin-top: 7rem;
}

.spot-list-item:nth-child(62)::before {
  background-color: rgba(var(--theme-color-rgb), 0.1);
  border-left: 0.2rem solid var(--theme-color);
	color: var(--text1-color);
  content: "泉州エリア";
  display: block;
  font-size: 1.6rem;
  font-weight: 500;
  height: 2.4rem;
  letter-spacing: 0.02em;
  line-height: 1.5;
  margin: 1.6rem 0 2.4rem 0.8rem;
  padding: 0.2rem 0 0.39rem 0.8rem;
  text-align: left;
  width: calc(200% - 2.6rem);
}

.spot-list-item:nth-child(63) {
  margin-top: 7rem;
}

.spot-list-item:nth-child(86)::before {
  background-color: rgba(var(--theme-color-rgb), 0.1);
  border-left: 0.2rem solid var(--theme-color);
	color: var(--text1-color);
  content: "南河内エリア";
  display: block;
  font-size: 1.6rem;
  font-weight: 500;
  height: 2.4rem;
  letter-spacing: 0.02em;
  line-height: 1.5;
  margin: 1.6rem 0 2.4rem 0.8rem;
  padding: 0.2rem 0 0.39rem 0.8rem;
  text-align: left;
  width: calc(200% - 2.6rem);
}

.spot-list-item:nth-child(87) {
  margin-top: 7rem;
}


/* =========================================================
   特典 ID（並び順）
    1: 197204（5 スタンプ）  ← 一覧に表示する特典
    2: 198992（10 スタンプ）
    3: 198993（15 スタンプ）
    4: 198994（20 スタンプ）
    5: 198995（25 スタンプ）
    6: 198996（30 スタンプ）
    7: 198997（35 スタンプ）
    8: 198998（40 スタンプ）
    9: 198999（45 スタンプ）
   10: 199000（50 スタンプ）
   11: 199001（55 スタンプ）
   12: 199002（60 スタンプ）
   13: 199003（65 スタンプ）
   14: 199004（70 スタンプ）
   15: 199005（75 スタンプ）
   16: 199006（80 スタンプ）
   17: 199007（85 スタンプ）
   18: 199008（90 スタンプ）
   19: 199009（95 スタンプ）
   20: 199010（100 スタンプ）  ← 応募口数の表示に使う
   ========================================================= */

.reward-list-section {
  counter-reset: form-complete-count;
  margin-bottom: 4rem !important;
}

/* ---------- 応募口数のカウント ---------- */
/* 1 つ目の特典に応募済みの場合、条件を満たした特典の数を数える */
.reward-list-body:has(.reward-197204.has-entry) .reward-list-item.reward-197204.completed,
.reward-list-body:has(.reward-197204.has-entry) .reward-list-item.reward-198992.completed,
.reward-list-body:has(.reward-197204.has-entry) .reward-list-item.reward-198993.completed,
.reward-list-body:has(.reward-197204.has-entry) .reward-list-item.reward-198994.completed,
.reward-list-body:has(.reward-197204.has-entry) .reward-list-item.reward-198995.completed,
.reward-list-body:has(.reward-197204.has-entry) .reward-list-item.reward-198996.completed,
.reward-list-body:has(.reward-197204.has-entry) .reward-list-item.reward-198997.completed,
.reward-list-body:has(.reward-197204.has-entry) .reward-list-item.reward-198998.completed,
.reward-list-body:has(.reward-197204.has-entry) .reward-list-item.reward-198999.completed,
.reward-list-body:has(.reward-197204.has-entry) .reward-list-item.reward-199000.completed,
.reward-list-body:has(.reward-197204.has-entry) .reward-list-item.reward-199001.completed,
.reward-list-body:has(.reward-197204.has-entry) .reward-list-item.reward-199002.completed,
.reward-list-body:has(.reward-197204.has-entry) .reward-list-item.reward-199003.completed,
.reward-list-body:has(.reward-197204.has-entry) .reward-list-item.reward-199004.completed,
.reward-list-body:has(.reward-197204.has-entry) .reward-list-item.reward-199005.completed,
.reward-list-body:has(.reward-197204.has-entry) .reward-list-item.reward-199006.completed,
.reward-list-body:has(.reward-197204.has-entry) .reward-list-item.reward-199007.completed,
.reward-list-body:has(.reward-197204.has-entry) .reward-list-item.reward-199008.completed,
.reward-list-body:has(.reward-197204.has-entry) .reward-list-item.reward-199009.completed,
.reward-list-body:has(.reward-197204.has-entry) .reward-list-item.reward-199010.completed {
  counter-increment: form-complete-count;
}

/* ---------- 応募口数の表示（20 番目の特典の枠を利用） ---------- */
.reward-list-body:has(.reward-197204.has-entry) .reward-list-item:nth-child(20) {
  display: block !important;
  margin-bottom: 0 !important;
}

.reward-list-body:has(.reward-197204.has-entry) .reward-list-item:nth-child(20) > .reward-list-item-image-container,
.reward-list-body:has(.reward-197204.has-entry) .reward-list-item:nth-child(20) > .reward-list-item-title-container,
.reward-list-body:has(.reward-197204.has-entry) .reward-list-item:nth-child(20) > .reward-list-item-description-container,
.reward-list-body:has(.reward-197204.has-entry) .reward-list-item:nth-child(20) > .reward-list-item-status-container,
.reward-list-body:has(.reward-197204.has-entry) .reward-list-item:nth-child(20) > .reward-list-item-button-container {
  display: none !important;
}

.reward-list-body:has(.reward-197204.has-entry) .reward-list-item:nth-child(20)::before {
  border-bottom: dotted var(--headline-color);
  color: var(--headline-color);
  content: "現在の応募口数: " counter(form-complete-count);
  display: block;
  font-feature-settings: "palt" on;
  font-size: 1.7rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.7;
  margin: 0 auto;
  text-align: center;
  visibility: visible;
  width: fit-content;
}

.reward-list-body:has(.reward-197204.has-entry):has(.reward-199010.completed) .reward-list-item:nth-child(20) {
  margin-bottom: 0 !important;
}

.reward-list-body:has(.reward-197204.has-entry):has(.reward-199010.completed) .reward-list-item.completed:nth-child(20)::after {
  margin: 2.4rem auto 0;
}

.reward-list-body:has(.reward-197204.has-entry):has(.reward-199010.completed) .reward-list-item.completed.has-entry:nth-child(20)::after {
  margin: 0 auto;
}

/* ---------- 特典一覧の共通スタイル ---------- */
.reward-list-body .reward-list-item {
  width: 100% !important;
}

.reward-list-body .reward-list-item > .reward-list-item-image-container {
  margin: 0 0.8rem 2.4rem !important;
}

.reward-list-body .reward-list-item > .reward-list-item-button-container {
  display: block !important;
  padding: 0 1.6rem !important;
}

.reward-list-body .reward-list-item > .reward-list-item-description-container {
  display: block !important;
  margin: 0 1.6rem 3.2rem !important;
}

.reward-list-body .reward-list-item > .reward-list-item-status-container {
  font-size: 1.5rem !important;
  line-height: 1.7 !important;
}

/* ---------- 1 番目の特典のみ表示 ---------- */
.reward-list-body .reward-list-item:nth-child(1) {
  display: flex !important;
  flex-direction: column;
  margin-bottom: 0 !important;
}

.reward-list-body .reward-list-item:nth-child(1) > .reward-list-item-title-container {
  display: none !important;
}

.reward-list-body .reward-list-item:nth-child(1) > .reward-list-item-description-container > .reward-list-item-description p:last-child {
  margin-bottom: 0 !important;
}

.reward-list-body .reward-list-item:nth-child(1) > .reward-list-item-status-container {
  order: 1;
}

.reward-list-body .reward-list-item:nth-child(1) > .reward-list-item-button-container {
  margin-bottom: 2.4rem;
}

/* 2 番目以降の特典は非表示 */
.reward-list-body .reward-list-item:nth-child(n + 2) {
  margin: 0 !important;
  visibility: hidden;
}

.reward-list-body .reward-list-item:nth-child(n + 2) > .reward-list-item-image-container,
.reward-list-body .reward-list-item:nth-child(n + 2) > .reward-list-item-title-container,
.reward-list-body .reward-list-item:nth-child(n + 2) > .reward-list-item-description-container,
.reward-list-body .reward-list-item:nth-child(n + 2) > .reward-list-item-status-container,
.reward-list-body .reward-list-item:nth-child(n + 2) > .reward-list-item-button-container {
  height: 0 !important;
  margin: 0 !important;
}

/* ---------- 応募済みの状態 ---------- */
.reward-list-body .reward-list-item.has-entry {
  margin-bottom: 0 !important;
}

.reward-list-body .reward-list-item.has-entry:nth-child(1) > .reward-list-item-button-container {
  display: none !important;
}

.reward-list-body .reward-list-item.has-entry:nth-child(1) > .reward-list-item-status-container {
  margin-bottom: 2.4rem;
}

/* ---------- 特典獲得ポップアップ ---------- */
/* 1 つ目の特典（197204）のみメッセージを差し替え */
.can-entry-reward-dialog-container.reward-197204 .can-entry-reward-dialog-message > .message,
.can-entry-reward-dialog-container.reward-197204 .can-entry-reward-dialog-message > .message > .reward-name {
  font-size: 0 !important;
}

.can-entry-reward-dialog-container.reward-197204 .can-entry-reward-dialog-message > .message::after {
  content: "「USJでも使えるJTB旅行券3万円分」への応募が可能になりました。";
  font-size: 1.6rem;
}

/* 1 つ目の特典（197204）以外は詳細ページへのボタンを非表示 */
:is(.can-entry-reward-dialog-container.reward-198992,
.can-entry-reward-dialog-container.reward-198993,
.can-entry-reward-dialog-container.reward-198994,
.can-entry-reward-dialog-container.reward-198995,
.can-entry-reward-dialog-container.reward-198996,
.can-entry-reward-dialog-container.reward-198997,
.can-entry-reward-dialog-container.reward-198998,
.can-entry-reward-dialog-container.reward-198999,
.can-entry-reward-dialog-container.reward-199000,
.can-entry-reward-dialog-container.reward-199001,
.can-entry-reward-dialog-container.reward-199002,
.can-entry-reward-dialog-container.reward-199003,
.can-entry-reward-dialog-container.reward-199004,
.can-entry-reward-dialog-container.reward-199005,
.can-entry-reward-dialog-container.reward-199006,
.can-entry-reward-dialog-container.reward-199007,
.can-entry-reward-dialog-container.reward-199008,
.can-entry-reward-dialog-container.reward-199009,
.can-entry-reward-dialog-container.reward-199010) > .can-entry-reward-dialog-button {
  display: none !important;
}