/* 配信終了ページ：webinar2と共通のモーダル・終了ラベル */
body.is-modal-open {
  overflow: hidden;
}

.end-modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.25vw;
  background: rgba(12, 35, 64, 0.88);
  overflow-y: auto;
}
@media screen and (max-width: 1024px) {
  .end-modal {
    padding: 2.34375vw;
  }
}
@media (max-width: 599px) {
  .end-modal {
    padding: 5.3333333333vw;
  }
}
.end-modal.is-closed {
  display: none;
}
.end-modal__card {
  position: relative;
  width: 100%;
  max-width: 33.3333333333vw;
  margin: auto;
  padding: 3.75vw 2.5vw 2.9166666667vw;
  background: #ffffff;
  border-radius: 0.8333333333vw;
  box-shadow: 0 1.25vw 3.125vw rgba(12, 35, 64, 0.35);
  text-align: center;
}
@media screen and (max-width: 1024px) {
  .end-modal__card {
    max-width: 62.5vw;
    padding: 5.859375vw 3.90625vw 4.6875vw;
    border-radius: 1.5625vw;
  }
}
@media (max-width: 599px) {
  .end-modal__card {
    max-width: 100%;
    padding: 14.9333333333vw 6.4vw 10.6666666667vw;
    border-radius: 3.7333333333vw;
  }
}
.end-modal__close {
  position: absolute;
  top: 0.8333333333vw;
  right: 0.8333333333vw;
  width: 2.5vw;
  height: 2.5vw;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: #233246;
  cursor: pointer;
  transition: background 0.3s, color 0.3s;
}
@media screen and (max-width: 1024px) {
  .end-modal__close {
    top: 1.3671875vw;
    right: 1.3671875vw;
    width: 4.296875vw;
    height: 4.296875vw;
  }
}
@media (max-width: 599px) {
  .end-modal__close {
    top: 2.6666666667vw;
    right: 2.6666666667vw;
    width: 9.6vw;
    height: 9.6vw;
  }
}
.end-modal__close svg {
  width: 1.0416666667vw;
  height: auto;
  display: block;
}
@media screen and (max-width: 1024px) {
  .end-modal__close svg {
    width: 1.7578125vw;
  }
}
@media (max-width: 599px) {
  .end-modal__close svg {
    width: 4vw;
  }
}
.end-modal__close:hover {
  background: #f4f8fb;
  color: #0c2340;
}
.end-modal__close:focus-visible {
  outline: 2px solid #0c2340;
  outline-offset: 2px;
}
.end-modal__title {
  font-size: 1.5625vw;
  font-weight: 700;
  color: #0c2340;
  margin: 0 0 1.0416666667vw;
  line-height: 1.6;
}
@media screen and (max-width: 1024px) {
  .end-modal__title {
    font-size: 2.5390625vw;
    margin: 0 0 1.7578125vw;
  }
}
@media (max-width: 599px) {
  .end-modal__title {
    font-size: 5.3333333333vw;
    margin: 0 0 3.7333333333vw;
  }
}
.end-modal__text {
  font-size: 0.9375vw;
  color: #233246;
  margin: 0 0 1.875vw;
  line-height: 1.8888888889;
}
@media screen and (max-width: 1024px) {
  .end-modal__text {
    font-size: 1.5625vw;
    margin: 0 0 2.9296875vw;
  }
}
@media (max-width: 599px) {
  .end-modal__text {
    font-size: 3.7333333333vw;
    margin: 0 0 6.9333333333vw;
  }
}
.end-modal__btn {
  display: inline-block;
  text-align: center;
  background: linear-gradient(120deg, #1e5996 0%, #0f77a4 52%, #0096b1 100%);
  color: #fff;
  border-radius: 3.125vw;
  font-size: 1.0416666667vw;
  font-weight: 700;
  padding: 0.9375vw 2.5vw 1.0416666667vw;
  box-shadow: 0 0.5208333333vw 1.1458333333vw rgba(12, 35, 64, 0.22);
  transition: opacity 0.3s;
}
@media screen and (max-width: 1024px) {
  .end-modal__btn {
    border-radius: 5.859375vw;
    font-size: 1.66015625vw;
    padding: 1.5625vw 3.90625vw 1.7578125vw;
  }
}
@media (max-width: 599px) {
  .end-modal__btn {
    border-radius: 16vw;
    font-size: 4vw;
    padding: 4vw 8.5333333333vw 4.5333333333vw;
  }
}
.end-modal__btn:hover {
  opacity: 0.85;
}
.end-modal__btn:focus-visible {
  outline: 2px solid #0c2340;
  outline-offset: 3px;
}

.is-ended {
  background: #e6edf3 !important;
  background-image: none !important;
  color: #233246 !important;
  box-shadow: none !important;
  cursor: default;
  pointer-events: none;
  text-decoration: none;
}
