@charset "utf-8";

/* モーダル全体の背景 */
.modal-overlay {
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  visibility: hidden;
  z-index: 9999;
}

/* モーダル本体 */
.modal {
  background: #fff;
  border-radius: 6px;
  width: 90%;
  max-width: 550px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.3);
  overflow: hidden;
  font-family: "Segoe UI", sans-serif;
}

/* タイトルバー */
.modal-header {
  background-color: #000000; /* 黒背景 */
  color: #ffffff; /* 白文字 */
  padding: 1rem;
  font-size: 1.5rem;
  font-weight: bold;
  text-align: center;
}

/* モーダル内容 */
.modal-body {
  padding: 1.5rem;
  text-align: center;
  line-height: 1.5;
  font-size: 0.95rem;
  max-width: 52ch; /* PCでは28文字幅に制限 */
  margin: 0 auto;
  word-break: break-word;
  line-height: 1.7;
}

.modal-body p {
  margin: 0.1rem 0 0.3rem 0; /* 上:0.1rem 下:0.3rem */
}

/* ボタンラッパー */
.modal-buttons {
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
  margin-top: 1rem;
}

.modal-buttons button {
  padding: 0.6rem 1.5rem;
  font-size: 1rem;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  flex: 1 1 40%;
  max-width: 150px;
  margin: 0.5rem;
}

.btn-yes {
  background: #A8E6CF; /* パステルグリーン */
  color: #000000;       /* 黒文字 */
}

.btn-no {
  background: #B0B0B0; /* グレー */
  color: #ffffff;       /* 白文字 */
}

/* 表示 */
.show {
  visibility: visible;
}

/* スマホ対応 */
@media (max-width: 400px) {
  .modal-body {
    max-width: 90%;  /* スマホでは幅制限解除 */
    font-size: 0.9rem;   /* フォントサイズ少し大きめに調整 */
    line-height: 1.6;    /* 行間も少し広く */
  }
  .modal-header {
    font-size: 1.3rem;
  }
  .modal-buttons button {
    font-size: 0.85rem;
    padding: 0.5rem 1rem;
  }
}
