div.bodyWrapper {
    >div {
        &.subFvWrap {
            >div {
                >h2 {
                    font-weight: bold;

                    @media (width >=768px) {
                        font-size: 36px;
                    }
                }
            }
        }

        &.wrap880 {
            details {

                &[open] {
                    >summary {
                        /* border-bottom: none; */

                        &::after {
                            content: "－";
                            font-size: 18px;
                            right: 10.5px;
                        }
                    }

                    >div {
                        padding-bottom: 40px;
                        border-bottom: solid 1px #E1E5E9;
                    }
                }

                >summary {
                    display: block;
                    list-style: none;
                    font-size: 18px;
                    line-height: 58px;
                    font-weight: bold;
                    border-bottom: solid 1px #E1E5E9;
                    position: relative;
                    cursor: pointer;

                    @media (width >=768px) {
                        line-height: 68px;
                    }

                    &::after {
                        content: "+";
                        color: #DF2C28;
                        font-size: 24px;
                        font-weight: bold;
                        position: absolute;
                        right: 12px;
                        top: 50%;
                        transform: translatey(-50%);
                    }
                }

                >summary::-webkit-details-marker {
                    display: none;
                }

                >div {
                    >aside {
                        font-size: 13px;
                        padding-top: 14px;
                        padding-bottom: 14px;
                        padding-left: 14px;
                        position: relative;

                        &::before {
                            content: "※";
                            position: absolute;
                            left: 0;
                            top: 14px;
                        }
                    }
                }
            }

            /* Swiper Custom Styles */
            .swiper-container {
                position: relative;
                margin-top: 20px;
                max-width: 880px;
                margin-left: auto;
                margin-right: auto;

                @media (width < 880px) {
                    padding: 0 30px;
                }
            }

            .swiper {
                width: 100%;
                padding-bottom: 20px;
            }

            .swiper-slide {
                height: auto;
                display: flex;
                flex-direction: column;
                align-items: center;

                figure {
                    width: 100%;
                    margin: 0;

                    img {
                        width: auto;
                        height: 400px;
                        display: block;
                        margin: 0 auto;
                        border: 1px solid #eee;
                        border-radius: 4px;
                    }

                    figcaption {
                        margin-top: 20px;
                        font-size: 16px;
                        line-height: 1.6;
                        color: #333;
                        font-weight: 500;
                        text-align: left;
                        position: relative;
                        padding-left: 1.8em;
                        /* 番号（3. ）の幅を確保 */

                        &::before {
                            counter-increment: slide-counter;
                            content: counter(slide-counter) ". ";
                            color: #df2c28;
                            font-weight: bold;
                            position: absolute;
                            left: 0;
                            top: 0;
                            white-space: nowrap;
                        }

                        >span {
                            font-size: 14px;
                            padding-left: 1.2em;
                            /* 「※」の幅を確保 */
                            position: relative;
                            display: block;
                            width: 100%;
                            margin-top: 5px;
                            line-height: 1.5;

                            &::before {
                                content: "※";
                                position: absolute;
                                left: 0;
                                top: 0;
                            }
                        }
                    }
                }
            }

            .swiper-wrapper {
                counter-reset: slide-counter;
                display: flex;
                align-items: stretch;
            }

            /* Navigation Arrows */
            .swiper-button-prev,
            .swiper-button-next {
                color: #333;
                width: 30px;
                height: 30px;
                top: 200px;
                /* 画像の高さ(400px)の中央に設定 */

                &::after {
                    font-size: 24px;
                    font-weight: bold;
                }

                &:hover {
                    opacity: 0.7;
                }
            }

            .swiper-button-disabled {
                display: none;
            }

            .swiper-button-prev {
                left: 0;
            }

            .swiper-button-next {
                right: 0;
            }

            /* Pagination Dots (Mobile Only) */
            .swiper-pagination {
                position: relative;
                bottom: 0 !important;
                margin-top: 10px;

                @media (width >=880px) {
                    display: none;
                }
            }

            .swiper-pagination-bullet {
                width: 10px;
                height: 10px;
                background: #D9D9D9;
                opacity: 1;
            }

            .swiper-pagination-bullet-active {
                background: #505050;
            }

            @media (width >=920px) {
                .swiper-button-prev {
                    left: -20px;
                }

                .swiper-button-next {
                    right: -20px;
                }
            }

            .btnWrap {
                display: flex;
                justify-content: center;
                padding: 8rem 0;

                >.btn-red {
                    font-size: 1.8rem;
                    padding: 1.7rem;
                    background-color: #df2c28;
                    width: 80%;
                    max-width: 35rem;
                    text-align: center;
                    text-decoration: none;
                    color: white;
                    border-radius: 6px;
                    position: relative;
                    transition: all 0.3s ease;

                    &:hover {
                        opacity: 0.8;
                    }

                    &::before {
                        content: "\e909";
                        font-family: "icomoon";
                        font-size: 1.2rem;
                        position: absolute;
                        left: 2rem;
                        top: 50%;
                        transform: translateY(-50%);
                    }
                }
            }
        }
    }
}