/* モーダル全体 */
.modal {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: none;
  align-items: center;       /* 縦中央 */
  justify-content: center;   /* 横中央 */
  background: rgba(0,0,0,.8);
}
.modal.is-open {
  display: flex;             /* flexで中央寄せ */
}

/* ダイアログ */
.modal__dialog {
  position: relative;
  background: transparent;
  transform: scale(.98);
  opacity: 0;
  transition: transform .18s ease, opacity .18s ease;
  width: 100%;
  max-width: 960px;           /* PC最大幅 */
}
.modal.is-open .modal__dialog {
  transform: scale(1);
  opacity: 1;
}

/* 閉じるボタン */
.modal__close {
  position: absolute;
  top: -44px;
  right: 0;
  width: 40px;
  height: 40px;
  border: none;
  background: url(../img/common/movie-close.png) no-repeat center center / contain;
  cursor: pointer;
  z-index: 2;

  /* 不要な装飾を無効化 */
  border-radius: 0;
  box-shadow: none;
  font-size: 0;
  padding: 0;
}

/* 動画フレーム */
.modal__frame {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  background: #000;
}
.modal__frame iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

/* スマホは横幅いっぱい */
@media screen and (max-width: 743px) {
  .modal__dialog {
    max-width: 100%;
    margin: 0;
  }
}