@charset "utf-8";

.l-case01 section.content__wrapper {
    padding: 83px 0 100px;
}
    .content__inner.content__inner--case {
        padding: 0 0 100px;
    }
        .content__inner--case .content__area {
            margin-top: 69px;
        }
            .content__box {
                display: flex;
                justify-content: space-between;
                align-items: center;
            }
                .content__text-box {
                    width: 440px;
                }
                    .content__text-box--ttl {
                        font-size: 30px;
                        font-weight: 700;
                        letter-spacing: 0.03em;
                        line-height: 1.67;
                        color: var(--main-color);
                    }
                    .content__text-box--text {
                        margin-top: 13px;
                        font-size: 16px;
                        font-weight: 500;
                        letter-spacing: 0.03em;
                        line-height: 2;
                    }
                    .content__text-box--bottom {
                        margin-top: 16px;
                        background: var(--bg-color);
                        padding: 14px 20px 18px 20px;
                    }
                        .content__text-box--bottom h4 {
                            font-size: 26px;
                            font-weight: 500;
                            letter-spacing: 0.03em;
                            color: var(--main-color);
                        }
                        .content__text-box--bottom p {
                            margin-top: 7px;
                            font-size: 16px;
                            font-weight: 500;
                            letter-spacing: 0.03em;
                            line-height: 1.75;
                        }
                .case__img {
                    margin-top: 4px;
                }
    .content__inner.content__inner--plan {
        padding: 133px 0 100px;
    }
        .content__inner--plan .content__area {
            margin-top: 72px;
        }
            .plan__list {
                width: 1140px;
                margin: 0 auto;
                display: flex;
                flex-direction: column;
                gap: 40px;
                counter-reset: plan-counter; /* カウンターを初期化 */
            }
                .plan__item {
                    background: #FFFFFF;
                    padding: 53px 50px 50px;
                }
                    .plan__item--ttl {
                        font-size: 26px;
                        font-weight: 500;
                        letter-spacing: 0.03em;
                        display: flex;
                        line-height: 1.44;
                        align-items: center;
                    }
                        .plan__item--ttl::before {
                            counter-increment: plan-counter;
                            content: counter(plan-counter, decimal-leading-zero);
                            color: var(--main-color);
                            font-size: 34px;
                            font-weight: 700;
                            letter-spacing: 0.1em;
                            margin-right: 8px;
                            display: block;
                        }
                    .plan__item--text {
                        margin-top: 2px;
                        font-size: 16px;
                        font-weight: 500;
                        letter-spacing: 0.03em;
                        line-height: 1.5;
                    }
                    .plan__item--area {
                        margin-top: 10px;
                    }
                        .plan__item--area h4 {
                            font-size: 20px;
                            font-weight: 500;
                            letter-spacing: 0.03em;
                            color: var(--main-color);
                        }
                        .plan__item--box {
                            margin-top: 4px;
                            display: flex;
                            justify-content: space-between;
                            position: relative;
                        }
                            .plan__item--box::before {
                                content: "";
                                background: url(../images/icn_arrow-plan.png) no-repeat center / cover;
                                width: 50px;
                                height: 34px;
                                position: absolute;
                                top: 116px;
                                left: 0;
                                right: 0;
                                margin: auto;
                            }
                            .plan__item--box-text {
                                margin-top: 5px;
                                text-align: center;
                                font-size: 16px;
                                font-weight: 500;
                                letter-spacing: 0.03em;
                            }
                    .plan__toggle--btn {
                        width: 350px;
                        height: 50px;
                        margin: 15px auto 0;
                    }
                        .plan__toggle--btn button {
                            display: flex;
                            align-items: center;
                            justify-content: center;
                            gap: 3px;
                            width: 100%;
                            height: 100%;
                            font-size: 14px;
                            font-weight: 500;
                            letter-spacing: 0.03em;
                            color: var(--main-color);
                            border: 1px solid #C3CEEB;
                            background: linear-gradient(125deg, rgba(236,245,255,1) 0%, rgba(210,222,255,1) 100%);
                        }
                            .plan__toggle--btn button::after {
                                content: "";
                                background: url(/images/icn_arrow-btn.png) no-repeat center / cover;
                                width: 11px;
                                height: 7px;
                                display: block;
                            }
                    .plan__toggle--content {
                        margin-top: 0;
                        max-height: 0;
                        overflow: hidden;
                        opacity: 0;
                        transition: max-height 0.5s ease, opacity 0.5s ease, margin-top 0.5s ease;
                    }
                    .plan__toggle--content.is-open {
                        margin-top: 10px;
                        max-height: 650px;
                        opacity: 1;
                    }
                        .gallery__inner {
                            background: var(--bg-color);
                            padding: 50px;
                            display: flex;
                            justify-content: space-between;
                        }
                            .gallery__left {
                                width: 360px;
                            }
                                .gallery__navi-list {
                                    display: flex;
                                    flex-wrap: wrap;
                                    gap: 9px;
                                }
                                    .gallery__navi-item {
                                        width: 114px;
                                        height: 114px;
                                    }
                                        .gallery__navi-item button {
                                            width: 100%;
                                            height: 100%;
                                        }
                                            .gallery__navi-item button img {
                                                width: 100%;
                                                height: 100%;
                                            }
                                .gallery__inner .btn__wrap {
                                    margin-top: 30px;
                                    justify-content: flex-start;
                                }
                            .gallery__right {
                                width: 550px;
                            }
                                .gallery__right--inner {
                                    position: relative;
                                    display: none;
                                }
                                .gallery__right--inner.is-active {
                                    display: block;
                                }
                                /* 横長 */
                                .img-wide.gallery__right--inner {
                                    height: 536px;
                                }
                                /* 縦長 */
                                .img-tall.gallery__right--inner {
                                    height: 550px;
                                }
                                    /* 横長 */
                                    .img-wide .gallery__img--after {
                                        position: absolute;
                                        width: 550px;
                                        height: 351px;
                                        top: 0;
                                        left: 0;
                                    }
                                    /* 横長 */
                                    .img-wide .gallery__img--before {
                                        position: absolute;
                                        width: 154px;
                                        height: 127px;
                                        top: 351px;
                                        left: 0;
                                    }

                                    /* 縦長 */
                                    .img-tall .gallery__img--after {
                                        position: absolute;
                                        width: 351px;
                                        height: 550px;
                                        top: 0;
                                        left: 0;
                                    }
                                    /* 縦長 */
                                    .img-tall .gallery__img--before {
                                        position: absolute;
                                        width: 136px;
                                        height: 153px;
                                        top: 395px;
                                        left: 351px;
                                    }
                                        [class*="gallery__img--"] img {
                                            width: 100%;
                                            height: 100%;
                                        }
                                    /* 横長 */
                                    .img-wide .gallery__text-box {
                                        padding: 366px 0 0 169px;
                                    }
                                    /* 縦長 */
                                    .img-tall .gallery__text-box {
                                        padding: 0 0 0 366px;
                                    }
                                        .gallery__text-box h5 {
                                            font-size: 20px;
                                            font-weight: 500;
                                            letter-spacing: 0.03em;
                                            color: var(--main-color);
                                        }
                                        .gallery__text-box p {
                                            margin-top: 2px;
                                            font-size: 16px;
                                            font-weight: 500;
                                            letter-spacing: 0.03em;
                                            line-height: 1.75;
                                        }
                    .plan__toggle--btn.is-open button::after {
                        transform: rotate(180deg);
                    }
    .content__inner.content__inner--introduction {
        padding: 135px 0 10px;
    }
        .content__inner--introduction .content__area {
            margin-top: 69px;
            position: relative;
        }
                .introduction__box--text {
                    font-size: 20px;
                    font-weight: 500;
                    letter-spacing: 0.03em;
                    line-height: 1.8;
                }
                .introduction__box--text:not(:first-of-type) {
                    margin-top: 23px;
                }
            .introduction__img {
                position: absolute;
                top: 3px;
                right: 0;
            }
            .content__inner--introduction .btn__wrap {
                margin-top: 36px;
                justify-content: center;
            }
                    .btn__wrap .more-btn--movie a {
                        color: #FFFFFF;
                        background: #0096DC;
                        border: none;
                    }
                        .more-btn--movie a::after {
                            background: url(/images/top/icn_arrow-white.png) no-repeat center / cover;
                        }