/* 募集終了時は body の is-recruitment-closed で2ページを同じ状態に切り替える。 */
.recruitment-closed-label,
.recruitment-notice {
  display: none;
}

body.is-recruitment-closed [data-recruitment-block] {
  position: relative;
  isolation: isolate;
}

body.is-recruitment-closed [data-recruitment-block] .recruitment-notice {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(20px, 4vw, 48px);
  border-radius: inherit;
  color: #fff;
  background: rgba(0, 0, 0, .8);
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  letter-spacing: normal;
  line-height: 1.8;
  text-align: center;
}

.recruitment-notice__copy {
  width: 100%;
  max-width: 840px;
  overflow-wrap: anywhere;
}

.recruitment-notice__title {
  margin: 0 0 20px;
  font-size: clamp(20px, 2.2vw, 32px);
  font-weight: 700;
  line-height: 1.5;
}

.recruitment-notice__details {
  margin: 0;
  font-size: clamp(15px, 1.5vw, 22px);
  line-height: 1.8;
}

body.is-recruitment-closed [data-recruitment-content] {
  pointer-events: none;
  user-select: none;
}

body.is-recruitment-closed .recruitment-button {
  position: relative;
  pointer-events: none;
  cursor: default;
}

body.is-recruitment-closed .recruitment-button > .recruitment-closed-label {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px 12px;
  border-radius: inherit;
  color: #fff;
  background: rgba(0, 0, 0, .78);
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(16px, 1.5vw, 22px);
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  text-wrap: balance;
}

/* ヘッダーとSPメニューは以前のグレーのボタン表示を継承。 */
body.is-recruitment-closed .form-btn.recruitment-button,
body.is-recruitment-closed .cv-btn__link.recruitment-button {
  border-color: #777;
  background: #777;
}

body.is-recruitment-closed .form-btn > .recruitment-closed-label,
body.is-recruitment-closed .cv-btn__link > .recruitment-closed-label {
  background: #777;
}

body.is-recruitment-closed .form-btn > .recruitment-closed-label {
  font-size: 13px;
}

/* FVボタンの外側の二重線もマスクに含める。 */
body.is-recruitment-closed .mv47__requirements > .recruitment-closed-label {
  inset: -6px;
}

body.is-recruitment-closed .org-hero__requirements > .recruitment-closed-label {
  inset: -10px;
}

/* 公開前の表示に戻した場合は、既存の8/14公開予定メッセージを使用。 */
body.is-requirements-pending .guide > .recruitment-notice .recruitment-notice__copy {
  display: none;
}

/* 終了済みの説明会は募集状態と独立して非表示。SPはメルマガ1枚分の幅を維持。 */
.floating-banner--seminar {
  display: none;
}

.floating-banners {
  grid-template-columns: minmax(0, 1fr);
  width: min(130px, calc(100% - 24px));
}

@media (min-width: 768px) {
  .floating-banners {
    width: min(280px, calc(100% - 40px));
  }
}
