.dynamic-modal-overlay {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: rgba(0, 0, 0, 0.5);
      display: none; /* デフォルトは非表示 */
      justify-content: center;
      align-items: center;
      z-index: 9999; /* 最前面に表示 */
    }

    .dynamic-modal-content {
      background-color: #fff;
      padding: 20px 40px;
      border-radius: 10px;
      text-align: center;
      max-width: 400px;
      box-shadow: 0 5px 15px rgba(0,0,0,0.3);
      animation: fadeIn 0.3s ease-in-out;
    }

    .dynamic-modal-content h2 {
      margin-top: 0;
      font-size: 24px;
    }

    .dynamic-modal-content p {
      color: #333;
      margin-bottom: 20px;
      font-size: 16px;
    }

    .dynamic-btn-close {
      background-color: #007bff;
      color: white;
      border: none;
      padding: 10px 20px;
      border-radius: 5px;
      cursor: pointer;
      font-size: 16px;
      transition: background-color 0.3s ease;
    }

    .dynamic-btn-close:hover {
      background-color: #0056b3;
    }

    @keyframes fadeIn {
      from { opacity: 0; transform: translateY(-10px); }
      to { opacity: 1; transform: translateY(0); }
    }

    /****** ESCONDER O SCROLL QUANDO O MODAL ESTIVER ABERTO ******/
    body.dynamic-modal-open {
      overflow: hidden;
    }

    /****** TIPOS DE MODAL ******/
    .dynamic-modal-success h2 { color: #28a745; } /* 成功 */
    .dynamic-modal-error h2 { color: #ff4444; } /* エラー */
    .dynamic-modal-warning h2 { color: #ff8800; } /* 警告 */
