.modal {
    display: none;
    /* 初期状態では非表示 */
    position: fixed;
    /* 画面に固定される */
    z-index: 300;
    /* 他の要素の上に表示 */
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(10px);
    animation: fadeIn-modal 0.3s ease-in;
}

@keyframes fadeIn-modal {
    from {
        opacity: 0;
    } to {
        opacity: 1;
    }
}

.modal-content {
    background-color: rgba(255, 255, 255, 1);
    border: 0px;
    padding: 15px;
    text-align: center;
    width: 80vw;
    max-width: 1030px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit-transform: translateY(-50%) translateX(-50%);
    max-height: 75vh; /* 高さの最大値を設定 */
    overflow-y: auto; /* コンテンツがオーバーフローした場合にスクロール */
}

/* ページスクロールを防止するクラス */
.no-scroll {
    overflow: hidden;
}

.modal h2 {
    color: black;
    font-size: 25px;
    margin: 20px 0;
}

.modal p {
    color: black;
    text-align: left;
    padding: 0;
    max-width: 95%;
    margin: 10px auto;
}

.modal hr {
    margin-bottom:20px;
}

.close {
    color: #ff0000;
    float: right;
    font-size: 100px;
    font-weight: bold;
}

.close:hover,
.close:focus {
    color: black;
    text-decoration: none;
    cursor: pointer;
}

.modalvideo {
    width: 75vw;
    max-width: 960px;
    aspect-ratio: 16/9; 
}

.modal img {
    width: 90%;
    display: block;
    margin:0 auto;
}


@media screen and (max-width: 767px) {

    .modal h2 {
        font-size: 22px;
    }

}