/* 公開終了した動画リンク */
.content_block.expired {
  position: relative;
  pointer-events: none;
  cursor: default;
}

.content_block.expired .video_image {
  filter: grayscale(100%);
  opacity: 0.5;
}

.content_block.expired .play_button {
  display: none;
}

.content_block.expired::after {
  content: "公開期間は終了しました";
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.6);
  color: #fff;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.6);
}

/* 動画が未公開（順次公開） */
.content_block.coming-soon {
  position: relative;
  pointer-events: none;
  cursor: default;
}

.content_block.coming-soon .video_image {
  filter: grayscale(50%);
  opacity: 0.6;
}

.content_block.coming-soon .play_button {
  display: none;
}

.content_block.coming-soon::after {
  content: "順次公開";
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.45);
  color: #fff;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.6);
}

/* 公開終了したダウンロードボタン */
.download_button.expired {
  pointer-events: none;
  cursor: default;
  opacity: 0.4;
  filter: grayscale(100%);
  position: relative;
}

.download_button.expired div {
  visibility: hidden;
}

.download_button.expired::after {
  content: "公開終了";
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  visibility: visible;
  font-weight: 700;
  letter-spacing: 0.1em;
}
