/* バックドロップ */
.modal-backdrop {
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0,0,0,0.5);
  
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease;
  z-index: 1000;
}

.modal-backdrop.active {
  opacity: 1;
  visibility: visible;
}

/* モーダルコンテンツ */
.modal-content {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: white;
  padding: 20px 30px;
  border-radius: 8px;
  width: 80vw;
  min-width: 300px;
  max-height: 80vh;
  overflow-y: auto;
  box-shadow: 0 0 15px rgba(0,0,0,0.3);

  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease;
  z-index: 1001;
}

.modal-content.active {
  opacity: 1;
  visibility: visible;
}

/* 閉じるボタン */
.modal-close {
  position: absolute;
  top: 0;
  right: 0;
  width: 3rem;
  height: 3rem;
  background: transparent;
  border: none;
  font-size: 3rem;
  cursor: pointer;
}
.modal-close::after{
  content: "×";
}

/* スクロール禁止 */
body.modal-open {
  overflow: hidden;
}
