モーダル機能　複数　レスポンシブル

```html
<div class="main-content">
    <img class="modal-open img-hover" 
           src="#" alt="#" />

    <div class="modal-container">
        <div class="modal-body">
            <div class="modal-close">
                ×
            </div>

            <div class="modal-content">
                <div class="modal-sp">
                    <div>
                        <img src="#" alt="#" 
                           class="modal-image" />

                            <a href="#" 
                             target="_blank"
                                rel="noopener noreferrer">
                            </a>
                        </p>
                    </div>

                    <div class="modal-content-img">
                        <div>
                            <a href="#">
                                <img src="#" alt="#" />
                                <div class="box" style="text-align: center;">
                                    <p style="font-weight: normal;">詳細</p>
                                </div>
                            </a>
                        </div>

                        <div class="img-hover">
                            <a href="#">
                                <img src="#" alt="#" />
                                <div class="box" style="text-align: center;">
                                    <p style="font-weight: normal;">もっとみる</p>
                                </div>
                            </a>
                        </div>

                    </div>
                </div>
            </div>
        </div>
    </div>
</div>

<div class="main-content">
    <img class="modal-open2 img-hover" 
           src="#" alt="#" />

    <div class="modal-container2">
        <div class="modal-body2">
            <div class="modal-close2">
                ×
            </div>

            <div class="modal-content">
                <div class="modal-sp">
                    <div>
                        <img src="#" alt="#" 
                           class="modal-image" />

                            <a href="#" 
                             target="_blank"
                                rel="noopener noreferrer">
                            </a>
                        </p>
                    </div>

                    <div class="modal-content-img">
                        <div>
                            <a href="#">
                                <img src="#" alt="#" />
                                <div class="box" style="text-align: center;">
                                    <p style="font-weight: normal;">詳細</p>
                                </div>
                            </a>
                        </div>

                        <div class="img-hover">
                            <a href="#">
                                <img src="#" alt="#" />
                                <div class="box" style="text-align: center;">
                                    <p style="font-weight: normal;">もっとみる</p>
                                </div>
                            </a>
                        </div>

                    </div>
                </div>
            </div>
        </div>
    </div>
</div>

<div class="main-content">
    <img class="modal-open3 img-hover" 
           src="#" alt="#" />

    <div class="modal-container3">
        <div class="modal-body3">
            <div class="modal-close3">
                ×
            </div>

            <div class="modal-content">
                <div class="modal-sp">
                    <div>
                        <img src="#" alt="#" 
                           class="modal-image" />

                            <a href="#" 
                             target="_blank"
                                rel="noopener noreferrer">
                            </a>
                        </p>
                    </div>

                    <div class="modal-content-img">
                        <div>
                            <a href="#">
                                <img src="#" alt="#" />
                                <div class="box" style="text-align: center;">
                                    <p style="font-weight: normal;">詳細</p>
                                </div>
                            </a>
                        </div>

                        <div class="img-hover">
                            <a href="#">
                                <img src="#" alt="#" />
                                <div class="box" style="text-align: center;">
                                    <p style="font-weight: normal;">もっとみる</p>
                                </div>
                            </a>
                        </div>

                    </div>
                </div>
            </div>
        </div>
    </div>
</div>

```

```css

.main-container {
    display: flex;
    gap: 40px;
    margin-bottom: 40px;
}

.main-content {
    width: calc(100% /3);
}

.img-hover:hover {
    opacity: 0.6;
    filter: brightness(110%);
    -webkit-transition: all .3s;
    transition: all .3s;
}

/*モーダルを開くボタン*/
.modal-open,
.modal-open2,
.modal-open3 {
    cursor: pointer;
}

/*モーダル本体の指定 + モーダル外側の背景の指定*/
.modal-container,
.modal-container2,
.modal-container3 {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    text-align: center;
    background: rgba(0, 0, 0, 50%);
    padding: 40px 20px;
    overflow: auto;
    opacity: 0;
    visibility: hidden;
    transition: .3s;
    box-sizing: border-box;
    z-index: 101;
}

/*モーダル本体の擬似要素の指定*/
.modal-container:before,
.modal-container2:before,
.modal-container3:before {
    content: "";
    display: inline-block;
    vertical-align: middle;
    height: 100%;
}

/*モーダル本体に「active」クラス付与した時のスタイル*/
.modal-container.active,
.modal-container2.active,
.modal-container3.active {
    opacity: 1;
    visibility: visible;
}

/*モーダル枠の指定*/
.modal-body,
.modal-body2,
.modal-body3 {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    width: 50%;
    top: 5%;
}

/*モーダルを閉じるボタンの指定*/
.modal-close,
.modal-close2,
.modal-close3 {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    right: 5px;
    width: 40px;
    height: 40px;
    font-size: 40px;
    color: #929191;
    cursor: pointer;
}

/*モーダル内のコンテンツの指定*/
.modal-content {
    background: #fff;
    text-align: left;
    padding: 40px;
}

.modal-content-img {
    display: inline-grid;
    row-gap: 20px;
    width: 30%;
}

.modal-sp {
    display: flex;
    align-items: flex-start;
    gap: 30px;
}

.modal-link-image {
    width: 30%;
    margin: 30px 0px 0px 0px;
}

.fhoto-text {
    magin-top: 10px;
    font-weight: bold;
}

.box {
    text-align: center;
    margin-top: 10%;
    border: solid 1px #000000;
}

.box p {
    margin: 0;
    padding: 0;
}

@media screen and (max-width: 767px),
print {

    .main-container {
        gap: 10px;
        margin-bottom: 10px;
    }

    .modal-body,
    .modal-body2,
    .modal-body3 {
        width: 90%;
    }


    .modal-content-text {
        margin: 0px;
    }

    .modal-content {
        margin: 0px;
        padding: 25px
    }

    .modal-close,
    .modal-close2,
    .modal-close3 {
        font-size: 30px;
        width: 20px;
        height: 30px;
    }

    .modal-image {
        width: 100%;
    }

    .modal-link-image {
        width: 50%;
        margin: 20px 0px 15px 0px;
    }

    .itemDetail-content-text p {
        font-weight: bold;
    }
}

@media screen and (max-width: 480px) {
    .box p {
        transform: scale(0.6);
    }
}

```

```Javascript

$(function () {
    // モーダルを定義した配列
    var modals = [
        { open: '.modal-open', close: '.modal-close', container: '.modal-container' },
        { open: '.modal-open2', close: '.modal-close2', container: '.modal-container2' },
        { open: '.modal-open3', close: '.modal-close3', container: '.modal-container3' }
    ];

    // 各モーダルに対して繰り返す
    modals.forEach(function (modal) {
        var open = $(modal.open),
            close = $(modal.close),
            container = $(modal.container);

        // 開くボタンがクリックされたら、コンテナに「active」クラスを追加する
        open.on('click', function () {
            container.addClass('active');
            return false;
        });

        // 閉じるボタンがクリックされたら、コンテナから「active」クラスを削除する
        close.on('click', function () {
            container.removeClass('active');
        });

        // コンテナの外側をクリックしたら、「active」クラスを削除する
        $(document).on('click', function (e) {
            if (!$(e.target).closest(container).length) {
                container.removeClass('active');
            }
        });
    });
});






```