@charset "UTF-8";
/*==================================================================

# bridal-page

===================================================================*/

/*========================================================
/* titleBox
==========================================================*/
.titleBox01,
.titleBox02 {
    background: rgba(0, 0, 0, 0.53);
    margin-bottom: clamp(33px, calc(12.23076923076923px + 5.769230769230769vw), 123px);

    @media (max-width: 767px) {
        background: url(../img/bridal/bg_titBox.webp)no-repeat top center/cover;
    }

    .tit {
        color: #fff;
        line-height: 1.4;
        letter-spacing: 0.05em;
    }
}

.titleBox01 {
    .tit {
        padding: clamp(43px, calc(36.07692307692308px + 1.9230769230769231vw), 73px) 0;
    }
}

.titleBox02 {
    .tit {
        padding: clamp(34px, calc(15.53846153846154px + 5.128205128205128vw), 114px) 0;
    }
}

/*========================================================
/* fav-plan
==========================================================*/
#fav-plan {

    &.bridal {
        background: rgba(85, 167, 178, 0.75);
        padding: 48px 0 63px;
        margin-top: clamp(50px, calc(26.923076923076927px + 6.41025641025641vw), 150px);
        text-align: center;
        color: #fff;

        .bridal-menu__heading-box {
            width: min(100% - 2rem, 1190px);
            margin-inline: auto;

            .heading02 {
                font-family: var(--font-ja-gothic);
                font-weight: 600;
                letter-spacing: 0.05em;
                padding-bottom: 14px;
                border-bottom: 1px solid #fff;
                margin-top: 19px;
            }

            .txt {
                font-size: clamp(13px, calc(12.538461538461538px + 0.1282051282051282vw), 15px);
                margin-top: 14px;
                line-height: 1.25;
                letter-spacing: 0.05em;
            }
        }

        .bridal-menu__case {
            width: min(100% - 2rem, 1234px);
            margin-inline: auto;
            margin-top: clamp(30px, calc(20.76923076923077px + 2.564102564102564vw), 70px);

            &:nth-of-type(n + 3) {
                margin-top: clamp(40px, calc(26.384615384615387px + 3.782051282051282vw), 99px);
            }

            .inner {
                border: 0.25px solid #fff;
                padding: clamp(10px, calc(6.76923076923077px + 0.8974358974358974vw), 24px);
            }

            .lead {
                text-align: left;
                color: var(--color-dark-red01);
                font-family: var(--font-shippori);
                font-weight: 700;
                background: #fff;
                padding: clamp(7px, calc(4.6923076923076925px + 0.641025641025641vw), 17px) clamp(15px, calc(12.692307692307693px + 0.641025641025641vw), 25px);
                border-radius: 26px;

                span {
                    display: inline-block;
                    font-family: var(--font-marugothic);
                    margin-left: 40px;
                    font-weight: 500;

                    @media (max-width: 941px) {
                        display: block;
                        margin: 5px 0 0 0;
                    }

                    @media (max-width: 767px) {
                        display: block;
                        margin: 5px 0 0 0;
                    }
                }
            }

            .column {
                display: flex;
                align-items: center;
                margin-top: 12px;

                @media (max-width: 1250px) {
                    align-items: flex-start;
                }

                @media (max-width: 959px) {
                    display: block;
                }
            }

            figure {
                width: min(48%, 491px);

                @media (max-width: 959px) {
                    width: 100%;
                }
            }

            figcaption {
                width: min(52%, 655px);
                text-align: left;
                margin-left: clamp(30px, calc(2px + 3.6458333333333335vw), 72px);

                @media (max-width: 959px) {
                    width: 100%;
                    margin: clamp(15px, calc(11.99499165275459px + 0.8347245409015025vw), 20px) 0 0 0;
                }

                .tit {
                    font-family: var(--font-marugothic);
                }

                .priceBox {
                    display: flex;
                    margin-top: 21px;

                    @media (max-width: 767px) {
                        align-items: center;
                    }

                    .plan {
                        display: flex;
                        align-items: center;
                        border: 1px solid #fff;
                        padding: 14px 9px;
                        border-radius: 11px;

                        li {
                            font-size: clamp(11px, calc(10.76923076923077px + 0.0641025641025641vw), 12px);
                            font-family: var(--font-shippori);
                            font-weight: 700;
                            line-height: 1.2;

                            &:nth-of-type(3) {
                                margin-left: 10px;
                            }

                            span {
                                display: inline-block;
                                font-size: clamp(15px, calc(13.846153846153847px + 0.3205128205128205vw), 20px);
                                font-weight: 700;
                                margin-top: 5px;
                                padding-left: 0.5em;
                            }

                            &.symbol {
                                padding: 0 5px;
                            }
                        }
                    }

                    .price {
                        font-family: var(--font-ja-mincho);
                        margin-top: 15px;
                        font-weight: 600;
                        letter-spacing: 0.02em;
                        padding-left: clamp(7px, calc(4.6923076923076925px + 0.641025641025641vw), 17px);

                        span {
                            font-size: clamp(11px, calc(8.923076923076923px + 0.576923076923077vw), 20px);
                            font-weight: 700;
                        }
                    }
                }

                .txt {
                    font-family: var(--font-marugothic);
                }

                .detail {
                    border: 1px solid #fff;
                    padding: 12px 23px;
                    margin-top: 18px;

                    .tit {
                        font-size: clamp(13px, calc(12.538461538461538px + 0.1282051282051282vw), 15px);
                        font-family: var(--font-marugothic);
                        margin-bottom: 10px;
                        line-height: 1.2;

                        &:nth-of-type(n + 2) {
                            margin-top: 20px;
                        }
                    }

                    >.column {
                        display: flex;
                        justify-content: space-between;
                        align-items: flex-start;
                    }

                    .icons {
                        display: flex;
                        flex-wrap: wrap;
                        gap: clamp(5px, calc(3.8461538461538463px + 0.3205128205128205vw), 10px);
                        width: 113px;

                        li {
                            width: clamp(23px, calc(20.692307692307693px + 0.641025641025641vw), 33px);
                        }
                    }

                    .details {
                        width: 100%;
                        font-family: var(--font-marugothic);
                        font-size: clamp(13px, calc(12.538461538461538px + 0.1282051282051282vw), 15px);
                        margin-left: 39px;

                        dt,
                        dd {
                            line-height: 1.6;
                        }

                        dd {
                            padding-left: clamp(23px, calc(18.153846153846153px + 1.3461538461538463vw), 44px);
                            text-indent: -1em;
                        }
                    }
                }
            }

            .bridal-menu__bg-image--bottom {
                margin-top: clamp(14px, calc(8px + 1.6666666666666667vw), 40px);
            }

            .other-plan {

                a {
                    display: block;
                    font-family: var(--font-marugothic);
                    font-size: clamp(12px, calc(10.615384615384615px + 0.38461538461538464vw), 18px);
                    text-align: right;
                    margin-top: clamp(18px, calc(15.692307692307693px + 0.641025641025641vw), 28px);
                    font-variant-emoji: text;
                }
            }
        }


        .bridal-menu__option {
            margin-top: clamp(50px, calc(38.69230769230769px + 3.141025641025641vw), 99px);

            .tit {
                font-family: var(--font-marugothic);
                text-align: center;
                line-height: 0.5;

                span {
                    display: block;
                    font-size: clamp(11px, calc(9.384615384615385px + 0.4487179487179487vw), 18px);
                }
            }

            dl {
                width: min(100% - 2rem, 1061px);
                margin-inline: auto;
                margin-top: clamp(26px, calc(20.230769230769234px + 1.6025641025641024vw), 51px);
                display: flex;
                align-items: stretch;
                justify-content: center;
                position: relative;

                &::before {
                    position: absolute;
                    content: "";
                    background: url(../img/arrow-right.webp)no-repeat center/ contain;
                    width: clamp(39px, calc(36.69230769230769px + 0.641025641025641vw), 49px);
                    height: clamp(21px, calc(18.692307692307693px + 0.641025641025641vw), 31px);
                    top: 50%;
                    left: 47%;
                    transform: translateY(-50%);
                }

                &:nth-of-type(n + 2) {
                    margin-top: 11px;

                    @media (max-width: 767px) {
                        margin-top: 30px;
                    }
                }

                @media (max-width: 767px) {
                    display: block;

                    &::before {
                        top: 37%;
                        left: 50%;
                        transform: translate(-50%, -50%) rotate(90deg);
                    }
                }

                dt {
                    width: min(48%, 470px);
                    font-family: var(--font-shippori);
                    font-weight: 600;
                    color: var(--color-blue02);
                    line-height: 1.2;
                    background: #fff;
                    padding: clamp(13px, calc(11.846153846153847px + 0.3205128205128205vw), 18px);
                    border-radius: 8px;
                    display: flex;
                    flex-direction: column;
                    justify-content: center;

                    span {
                        display: block;
                        font-family: var(--font-marugothic);
                        font-size: clamp(10px, calc(8.153846153846153px + 0.5128205128205128vw), 18px);
                        margin-top: 0.3em;
                    }

                    @media (max-width: 767px) {
                        width: min(100%, 470px);
                        margin-inline: auto;
                    }
                }

                dd {
                    width: min(48%, 493px);
                    font-family: var(--font-marugothic);
                    text-align: left;
                    font-size: clamp(12px, calc(10.615384615384615px + 0.38461538461538464vw), 18px);
                    line-height: 1.4;
                    background: rgba(106, 160, 167, 0.51);
                    border: 5px solid rgba(255, 255, 255, 0.51);
                    border-radius: 11px;
                    padding: 14px clamp(10px, calc(6.3076923076923075px + 1.0256410256410255vw), 26px);
                    margin-left: clamp(25px, calc(7.69230769230769px + 4.807692307692308vw), 100px);

                    span {
                        display: inline-block;
                        font-family: var(--font-shippori);
                        font-size: clamp(13px, calc(11.384615384615385px + 0.4487179487179487vw), 20px);
                        font-weight: 600;
                        letter-spacing: 0.03em;
                        padding-left: 76px;

                        @media (max-width: 767px) {
                            padding-left: clamp(21px, calc(-27.648648648648653px + 13.513513513513514vw), 76px);
                        }

                        &.span02 {
                            padding-left: 51px;

                            @media (max-width: 767px) {
                                padding-left: clamp(16px, calc(-14.882352941176471px + 8.57843137254902vw), 51px);
                            }
                        }

                        &.indent {
                            font-family: var(--font-marugothic);
                            padding-left: clamp(15px, calc(-1.6666666666666643px + 2.170138888888889vw), 40px);
                        }

                        &.small {
                            font-family: var(--font-marugothic);
                            font-size: clamp(10.5px, calc(9.923076923076923px + 0.16025641025641024vw), 13px);
                            padding-left: 0;
                            margin-left: -0.5em;
                        }
                    }

                    @media (max-width: 767px) {
                        width: min(100%, 470px);
                        margin: 20px auto 0;
                    }
                }
            }

            &.age-ceremony {
                dl {

                    @media (max-width: 767px) {
                        display: block;

                        &::before {
                            top: 28%;
                            left: 50%;
                            transform: translate(-50%, -50%) rotate(90deg);
                        }
                    }
                }
            }

            .bottom-txt {
                margin-top: 39px;
                font-family: var(--font-marugothic);
                line-height: 1.5;
                letter-spacing: 0.05em;
                color: #fff;
                text-align: center;
            }
        }
    }
}


/*========================================================
/* bridal-btn_container
==========================================================*/
.bridal .common-line-cta,
.bridal .bridal-menu__cta,
.bridal-plans .common-line-cta {
    width: min(100% - 1rem, 830px);
    display: flex;
    margin: clamp(55px, calc(34.230769230769226px + 5.769230769230769vw), 145px) auto;

    li {
        width: min(100%, 264px);
        text-align: center;

        a {
            display: block;
            font-size: clamp(11px, calc(9.384615384615385px + 0.4487179487179487vw), 18px);
            font-family: var(--font-marugothic);
            color: #fff;
            padding: clamp(13px, calc(11.384615384615385px + 0.4487179487179487vw), 20px) 5px;
            border-radius: 12px;
        }

        &:nth-of-type(n + 2) {
            margin-left: clamp(10px, calc(7.923076923076923px + 0.576923076923077vw), 19px);
        }

        &.studio {
            a {
                background: #707070;
            }
        }

        &.location {
            a {
                background: rgba(191, 184, 121, 0.92);
            }
        }

        &.studio-lacation {
            a {
                background: #57B7C3;
            }
        }
    }
}


/*========================================================
/* bridal-plan
==========================================================*/
#bridal-plan {
    .bridal-menu__bg-plan {
        text-align: center;
        background: url(../img/bridal/bg_bridal-plan.webp)no-repeat center/1920px;
        width: 100%;
        height: 100%;
        margin-top: clamp(69px, calc(50.53846153846154px + 5.128205128205128vw), 149px);
        background-attachment: fixed;
        padding-bottom: clamp(33px, calc(12.23076923076923px + 5.769230769230769vw), 123px);
        position: relative;
        z-index: 0;

        &::before {
            position: absolute;
            content: "";
            top: 0;
            right: 0;
            bottom: 0;
            left: 0;
            background-color: rgba(255, 255, 255, 0.65);
            z-index: -1;
        }

        @media (max-width: 767px) {
            background-attachment: scroll;
            background: none;
        }
    }

    .bridal-menu__plan-list {
        width: min(100% - 2rem, 1261px);
        margin-inline: auto;
        font-family: var(--font-marugothic);
        color: var(--color-text);
        padding-top: clamp(33px, calc(12.23076923076923px + 5.769230769230769vw), 123px);

        &:nth-of-type(n+3) {
            margin-top: clamp(35px, calc(23.461538461538463px + 3.205128205128205vw), 85px);
            padding-top: clamp(36.5px, calc(27.5px + 2.5vw), 75.5px);
            border-top: 0.25px solid var(--color-text);
        }

        >.tit {
            padding-left: 1em;
            text-align: left;

            @media (max-width: 767px) {
                padding-left: 0;
            }
        }

        .txt {
            margin-top: clamp(18px, calc(7.615384615384615px + 2.8846153846153846vw), 63px);
            line-height: 1.5;
        }

        .column {
            display: flex;
            flex-wrap: wrap;
            justify-content: space-between;
            margin-top: clamp(36px, calc(29.76923076923077px + 1.7307692307692308vw), 63px);
            padding-bottom: 70px;

            @media (max-width: 959px) {
                display: block;
            }
        }

        figure {
            width: calc(33.3% - clamp(36px, calc(12px + 2.5vw), 60px) * 2 / 3);
            position: relative;

            &:not(:nth-child(3n + 1)) {
                margin-left: clamp(36px, calc(12px + 2.5vw), 60px);
            }

            @media (max-width: 959px) {
                width: 95%;
                margin-inline: auto;

                &:not(:nth-child(3n + 1)) {
                    margin-left: 0;
                }

                &:nth-of-type(n + 2) {
                    margin-top: 85px;
                }
            }

            img {
                display: block;
                box-shadow: 0 3px 10px rgba(0, 0, 0, 0.16);
            }

            figcaption {
                width: min(100%, 318px);
                height: 114px;
                font-family: var(--font-ja-mincho);
                padding: 11px;
                background: #fff;
                box-shadow: 0 5px 20px rgba(0, 0, 0, 0.16);
                position: absolute;
                top: auto;
                bottom: -40px;
                right: -15px;

                .lead {
                    color: var(--color-blue01);
                }

                >.txt {
                    margin-top: 18px;
                    font-size: 12px;

                    font {
                        font-size: 10.9px;
                    }
                }
            }
        }

        .link {
            a {
                display: block;
                font-size: clamp(12px, calc(9px + 0.8333333333333334vw), 25px);
                font-family: var(--font-ja-gothic);
                font-weight: 800;
                color: var(--color-blue01);
                text-align: center;
                padding: 14px;
                width: min(100%, 606px);
                margin: 40px auto clamp(40px, calc(33.53846153846154px + 1.7948717948717947vw), 68px);
                border: 3px solid var(--color-blue01);
                border-radius: 20px;
                position: relative;
                /* 
                &::before {
                    position: absolute;
                    content: "";
                    background: url(../img/bridal-plans/icon-img.webp)no-repeat center/contain;
                    width: clamp(20px, calc(16.076923076923077px + 1.0897435897435896vw), 37px);
                    height: clamp(20px, calc(16.076923076923077px + 1.0897435897435896vw), 37px);
                    top: 50%;
                    left: clamp(15px, calc(7.384615384615384px + 2.1153846153846154vw), 48px);
                    transform: translateY(-50%);
                } */
            }

            &:nth-of-type(n+3) {
                a {
                    margin-top: -30px;
                }
            }
        }
    }

    .bridal-menu__common-plan {
        width: min(100% - 2rem, 1124px);
        margin: clamp( 10px, calc( -18.84615384615385px + 8.012820512820513vw ), 135px ) auto clamp(67px, calc(48.53846153846154px + 5.128205128205128vw), 147px);
        margin-inline: auto;
        text-align: center;

        >.tit {
            color: #fff;
            padding: 24px 0;
            background: var(--color-text);
        }

        .lead {
            margin-top: clamp(30px, calc(23.076923076923077px + 1.9230769230769231vw), 60px);
            line-height: 1.25;
            color: #57B7C3;
        }

        .column {
            display: flex;
            margin-top: clamp(30px, calc(13.615384615384617px + 4.551282051282051vw), 101px);

            @media (max-width: 767px) {
                display: block;
            }

            figure {
                width: min(100%, 406px);

                @media (max-width: 767px) {
                    width: 100%;
                }
            }

            figcaption {
                width: min(50%, 672px);
                text-align: left;
                margin-left: clamp(24px, calc(9.333333333333332px + 1.9097222222222223vw), 46px);

                @media (max-width: 767px) {
                    width: 100%;
                    margin-left: 0;
                }

                .tit {
                    font-size: clamp(15px, calc(11.538461538461538px + 0.9615384615384616vw), 30px);
                    color: var(--color-blue01);

                    @media (max-width: 767px) {
                        margin-top: 15px;
                    }
                }

                .lists {
                    margin-top: clamp(12px, calc(7.846153846153846px + 1.153846153846154vw), 30px);

                    li {
                        color: var(--color-text);
                        font-size: clamp(13px, calc(11.846153846153847px + 0.3205128205128205vw), 18px);
                        line-height: 1.6;
                    }
                }
            }
        }
    }
}


/*========================================================
/* bridal-flow_container
==========================================================*/
#flow-hasei {

    &.bridal-menu__flow-wrap {
        margin-bottom: 0;

        .bridal-menu__bg-flow {
            text-align: center;
            background: url(../img/bridal/bg_bridal-plan.webp)no-repeat center/1920px;
            width: 100%;
            height: 100%;
            margin-top: clamp(69px, calc(50.53846153846154px + 5.128205128205128vw), 149px);
            background-attachment: fixed;
            position: relative;
            z-index: 0;

            &::before {
                position: absolute;
                content: "";
                top: 0;
                right: 0;
                bottom: 0;
                left: 0;
                background-color: rgba(255, 255, 255, 0.65);
                z-index: -1;
            }

            @media (max-width: 767px) {
                background-attachment: scroll;
                background: none;
            }
        }
    }
}


/*==================================================================

# bridal02-page

===================================================================*/
#studio-plan {
    padding-bottom: clamp(89px, calc(68.23076923076923px + 5.769230769230769vw), 179px);
    background: url(../img/bridal-plans/bg_plan-tit.webp)no-repeat center /1920px;
    width: 100%;
    height: 100%;
    background-attachment: fixed;
    position: relative;
    z-index: 0;

    &::before {
        position: absolute;
        content: "";
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        background-color: rgba(255, 255, 255, 0.85);
        z-index: -1;
    }

    @media (max-width: 767px) {
        background-attachment: scroll;
        background: none;

        .titleBox {
            background: url(../img/bridal-plans/bg_plan-tit.webp)no-repeat center /cover;
        }
    }
}

#location-plan {
    padding-bottom: clamp(89px, calc(68.23076923076923px + 5.769230769230769vw), 179px);
    background: url(../img/bridal-plans/bg_plan-tit02.webp)no-repeat center /cover;
    width: 100%;
    height: 100%;
    background-attachment: fixed;
    position: relative;
    z-index: 0;

    &::before {
        position: absolute;
        content: "";
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        background-color: rgba(255, 255, 255, 0.75);
        z-index: -1;
    }

    @media (max-width: 767px) {
        background-attachment: scroll;
        background: none;

        .titleBox {
            background: url(../img/bridal-plans/bg_plan-tit02.webp)no-repeat center /cover;
        }
    }
}

#studio-loca-plan {
    padding-bottom: clamp(103px, calc(61.46153846153846px + 11.538461538461538vw), 283px);
    background: url(../img/bridal-plans/bg_plan-tit03.webp)no-repeat center /cover;
    width: 100%;
    height: 100%;
    background-attachment: fixed;
    position: relative;
    z-index: 0;

    &::before {
        position: absolute;
        content: "";
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        background-color: rgba(255, 255, 255, 0.75);
        z-index: -1;
    }


    @media (max-width: 767px) {
        background-attachment: scroll;
        background: none;

        .titleBox {
            background: url(../img/bridal-plans/bg_plan-tit02.webp)no-repeat center /cover;
        }
    }
}


.bridal-menu__plan-b-item {
    font-family: var(--font-marugothic);

    .bridal-menu__plan-b {
        .titleBox {
            background: rgba(0, 0, 0, 0.53);
            width: 100%;

            @media (max-width: 767px) {
                width: 100%;
                position: relative;
                z-index: 0;

                &::before {
                    position: absolute;
                    content: "";
                    background: rgba(0, 0, 0, 0.53);
                    top: 0;
                    right: 0;
                    bottom: 0;
                    left: 0;
                    z-index: -1;
                }
            }

            .tit {
                width: min(100% - 2rem, 1288px);
                margin-inline: auto;
                color: #fff;
                padding: clamp(28px, calc(14.615384615384615px + 3.717948717948718vw), 86px) 0;

                span {
                    display: block;
                    font-size: 15px;
                    padding-left: 3em;
                    margin-top: 15px;
                }
            }
        }

        >.txt {
            width: min(100% - 2rem, 1245px);
            margin-inline: auto;
            margin-top: clamp(21px, calc(18px + 0.8333333333333334vw), 34px);
            line-height: 1.5;
            color: #000;
        }

        .inner {
            width: min(100% - 2rem, 1288px);
            margin-inline: auto;
        }

        .bridal-menu__plan-box--a,
        .bridal-menu__plan-box--b {
            border: 0.5px solid #000;
            padding: 15px clamp(13px, calc(-1.3076923076923066px + 3.974358974358974vw), 75px) clamp(13px, calc(7.461538461538462px + 1.5384615384615385vw), 37px);

            .tit {
                color: #000;
            }
        }

        .bridal-menu__plan-box--a {
            margin-top: clamp(33px, calc(23.76923076923077px + 2.564102564102564vw), 73px);

            .column {
                display: flex;
                justify-content: space-between;
                flex-wrap: wrap;
                margin-top: clamp(25px, calc(19px + 1.6666666666666667vw), 51px);

                @media (max-width: 959px) {
                    display: block;
                }
            }

            figure {
                width: calc(33.3% - clamp(32px, calc(12px + 2.083333333333333vw), 52px) * 2 / 3);
                position: relative;

                &:not(:nth-child(3n + 1)) {
                    margin-left: clamp(32px, calc(12px + 2.083333333333333vw), 52px);
                }

                @media (max-width: 959px) {
                    width: 100%;

                    &:not(:nth-child(3n + 1)) {
                        margin-left: 0;
                    }

                    &:nth-of-type(n + 2) {
                        margin-top: 115px;
                    }
                }

                img {
                    display: block;
                    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.16);
                }

                figcaption {
                    width: min(100%, 272px);
                    height: clamp(130px, calc(123.07692307692308px + 1.9230769230769231vw), 160px);
                    font-family: var(--font-ja-mincho);
                    padding: 11px;
                    background: #fff;
                    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.16);
                    position: absolute;
                    top: auto;
                    bottom: -120px;
                    right: -15px;
                    display: flex;
                    flex-direction: column;

                    @media (max-width: 959px) {
                        bottom: -78px;
                        right: -5px;
                    }

                    .lead {
                        color: var(--color-blue01);
                    }

                    >.txt {
                        color: #000;
                        margin-top: 18px;
                        font-size: 12px;
                        line-height: 1.6;
                    }

                    .price {
                        font-size: clamp(17px, calc(15.153846153846153px + 0.5128205128205128vw), 25px);
                        font-weight: 700;
                        color: var(--color-dark-red01);
                        margin-top: auto;
                        text-align: right;

                        span {
                            display: inline-block;
                            font-weight: 700;
                            font-size: 15px;
                        }
                    }
                }
            }

            .bottom-txt {
                font-family: var(--font-shippori);
                color: var(--color-dark-red01);
                font-weight: 700;
                margin: clamp(123px, calc(115.15384615384616px + 2.1794871794871793vw), 157px) 0 73px;
                text-align: center;
                line-height: 1.6;

                span {
                    font-size: 15px;
                    font-weight: 700;

                    &.txt-blue {
                        color: var(--color-blue01);
                    }
                }
            }

            .bridal-menu__spot {
                background: #fff;
                position: relative;
                padding: clamp(18px, calc(13.384615384615385px + 1.282051282051282vw), 38px);
                z-index: 0;

                &::before {
                    position: absolute;
                    content: "";
                    top: 0;
                    right: 0;
                    bottom: 0;
                    left: 0;
                    background: rgba(112, 112, 112, 0.10);

                }

                li {
                    font-size: clamp(13px, calc(11.384615384615385px + 0.4487179487179487vw), 20px);
                    color: var(--color-text);
                    line-height: 1.5;
                }
            }

            .link {
                a {
                    display: block;
                    font-size: clamp(12px, calc(9px + 0.8333333333333334vw), 25px);
                    font-family: var(--font-ja-gothic);
                    font-weight: 800;
                    color: var(--color-blue01);
                    text-align: center;
                    padding: 14px;
                    width: min(100%, 606px);
                    margin: 40px auto clamp(40px, calc(33.53846153846154px + 1.7948717948717947vw), 68px);
                    border: 3px solid var(--color-blue01);
                    border-radius: 20px;
                    position: relative;

                    &::before {
                        position: absolute;
                        content: "";
                        background: url(../img/bridal-plans/icon-img.webp)no-repeat center/contain;
                        width: clamp(20px, calc(16.076923076923077px + 1.0897435897435896vw), 37px);
                        height: clamp(20px, calc(16.076923076923077px + 1.0897435897435896vw), 37px);
                        top: 50%;
                        left: clamp(15px, calc(7.384615384615384px + 2.1153846153846154vw), 48px);
                        transform: translateY(-50%);
                    }
                }
            }
        }

        .symbol {
            color: var(--color-text);
            font-weight: 500;
            text-align: center;
            margin: 43px 0;
        }

        .bridal-menu__plan-box--b {
            .bridal-menu__table {
                overflow-x: auto;
                position: relative;

                table {
                    border-collapse: collapse;
                    text-align: center;
                    margin-top: clamp(18px, calc(12px + 1.6666666666666667vw), 44px);
                    color: #707070;
                    white-space: nowrap;

                    tr {
                        &:not(.bgc-blue) {
                            background: #F6F6F6;
                        }

                        &.bgc-blue {
                            background: rgba(106, 160, 167, 0.14);
                        }

                        &:nth-of-type(n+2) {
                            td {
                                vertical-align: middle;

                            }

                            td:nth-of-type(n+2) {
                                font-size: clamp(13px, calc(12.538461538461538px + 0.1282051282051282vw), 15px);
                                color: rgba(191, 184, 121, 0.92);
                                vertical-align: middle;
                                line-height: 1.3;
                            }
                        }

                        &:nth-of-type(n+2) {
                            td:nth-of-type(n+2) {
                                vertical-align: top;
                                font-size: 13px;
                                padding: 1.1em 0.5em;
                                font-weight: 500;
                            }
                        }

                        &.option {
                            height: 250px;
                        }

                        .plan-common {
                            background: #fff;
                            padding: 2em;
                            margin-inline: auto;


                            .tit {
                                font-size: clamp(12px, calc(11.307692307692308px + 0.19230769230769232vw), 15px);
                                color: rgba(191, 184, 121, 0.92);
                                text-align: left;
                                line-height: 1em;
                                margin-top: 0.4em;
                                font-weight: 500;
                            }

                            .column {
                                display: flex;
                                margin-top: 17px;
                                margin-left: auto;

                                @media (max-width: 767px) {
                                    margin-left: 0px;
                                }
                            }

                            li {
                                font-size: clamp(12px, calc(11.307692307692308px + 0.19230769230769232vw), 15px);
                                color: rgba(191, 184, 121, 0.92);
                                text-align: left;
                                line-height: 1em;
                                margin-top: 0.4em;
                                font-weight: 500;

                                &.note {
                                    margin: 50px 0 0 clamp(20px, calc(-50px + 7.291666666666667vw), 90px);
                                    line-height: 1.6;
                                }
                            }
                        }
                    }

                    th,
                    td {
                        padding: 1.1em;
                    }

                    th {
                        background: #F6F6F6;
                        border: 1px solid rgba(112, 112, 112, .11);

                        &:nth-child(1) {
                            border: none;
                            width: 178px;
                            background: #fff;
                        }

                        &:nth-child(2) {
                            background: rgba(191, 184, 121, 0.58);
                            color: #fff;
                            width: 320px;
                        }

                        &:nth-child(3) {
                            background: rgba(191, 184, 121, 0.33);
                            color: #BFB879;
                            width: 320px;
                        }

                        &:nth-child(4) {
                            background: rgba(255, 255, 255, 0.46);
                            color: #6AA0A7;
                            width: 320px;
                        }
                    }

                    td {
                        border: 1px solid rgba(112, 112, 112, .11);

                        span {
                            font-size: clamp(10px, calc(9.307692307692308px + 0.19230769230769232vw), 13px);
                        }

                        &.price {
                            font-family: var(--font-ja-mincho);
                            color: var(--color-dark-red01);
                            font-weight: 700;
                        }

                        .icons {
                            display: flex;
                            justify-content: center;
                            gap: clamp(5px, calc(3.8461538461538463px + 0.3205128205128205vw), 10px);
                            margin-top: 7px;

                            li {
                                width: clamp(22px, calc(19.46153846153846px + 0.7051282051282052vw), 33px);
                            }
                        }

                        &.lineTop-none {
                            border-top: 2px solid transparent;
                        }

                    }
                }
            }
        }

        .bridal-menu__table {
            margin-top: clamp( 20px, calc( 14.193548387096774px + 1.6129032258064515vw ), 40px );
            position: relative;
            overflow-x: auto;

            &.bridal-menu__table--summary {
                margin-top: clamp(90px, calc(69.23076923076923px + 5.769230769230769vw), 180px);

                &::before {
                    position: absolute;
                    content: "";
                    background: url(../img/arrow-down.webp)no-repeat center /contain;
                    width: clamp(18px, calc(10.846153846153847px + 1.987179487179487vw), 49px);
                    height: clamp(16px, calc(12.538461538461538px + 0.9615384615384616vw), 31px);
                    top: -73px;
                    left: 50%;
                    transform: translateX(-50%);
                    z-index: 1;
                }
            }

            &::before {
                position: absolute;
                content: "";
                background: url(../img/arrow-down.webp)no-repeat center /contain;
                width: clamp(18px, calc(10.846153846153847px + 1.987179487179487vw), 49px);
                height: clamp(16px, calc(12.538461538461538px + 0.9615384615384616vw), 31px);
                top: -73px;
                left: 50%;
                transform: translateX(-50%);
            }

            table {
                margin-inline: auto;
                border-collapse: collapse;
                color: var(--color-text);

                tr {
                    &:nth-of-type(1) {
                        th {
                            width: 40px;
                        }
                    }

                    &:nth-of-type(2) {
                        width: 263px;
                    }
                }

                th,
                td {
                    border: 1px solid #ccc;
                    padding: 15px;
                    text-align: center;
                    line-height: 1.5;
                    white-space: nowrap;
                }

                th {
                    background: #8c8c8c;
                    color: #fff;
                    font-size: 15px;

                    &.vertical-txt {
                        position: relative;
                        vertical-align: middle;
                        padding: 25px;

                        span {
                            writing-mode: vertical-rl !important;
                            -webkit-writing-mode: vertical-rl !important;
                            text-orientation: upright !important;
                            /* padding: 5px 10px; */
                            letter-spacing: 0.5em;
                            position: absolute;
                            top: 50%;
                            left: 50%;
                            transform: translate(-50%, -50%);
                        }
                    }
                }


                td {
                    vertical-align: middle;


                    &.txt-blue {
                        color: var(--color-blue01);
                    }

                    &.plan-name {
                        font-family: var(--font-ja-mincho);

                        span {
                            display: block;
                            margin-top: 15px;
                        }
                    }

                    &.price {
                        font-family: var(--font-shippori);
                        color: var(--color-dark-red01);
                        font-weight: 700;

                        span {
                            font-size: 15px;
                            font-weight: 700;
                        }
                    }

                    span {
                        &.price {
                            display: block;
                            color: var(--color-text);
                            font-family: var(--font-shippori);
                            font-weight: 700;
                        }
                    }

                    &.bd-none {
                        border: 2px solid transparent;
                    }

                    &.bd-custom {
                        border-top: 2px solid transparent;
                        border-left: 2px solid transparent;
                    }

                    &.bd-left {
                        border-left: 2px solid var(--color-text);
                    }

                    &.bd-top {
                        border-top: 2px solid var(--color-text);
                    }

                    &.bd-right {
                        border-right: 2px solid var(--color-text);
                    }

                    &.bd-bottom {
                        border-bottom: 2px solid var(--color-text);
                    }
                }
            }

            .bottom-txt {
                font-family: var(--font-shippori);
                color: var(--color-dark-red01);
                font-weight: 700;
                margin: 157px 0 23px;
                margin-top: 31px;
                text-align: center;
                line-height: 1.6;

                span {
                    font-size: 15px;
                    font-weight: 700;
                }
            }
        }

        .btn {
            a {
                display: block;
                width: min(100% - 2rem, 566px);
                margin-inline: auto;
                padding: 1em;
                color: #fff;
                border-radius: 22px;
                background: var(--color-blue01);
                margin-top: clamp(83px, calc(66.84615384615384px + 4.487179487179487vw), 153px);
                line-height: 1.6;
                text-align: center;
            }
        }
    }
}


/*========================================================
/* location-gallery
==========================================================*/
#location-gallery {
    position: relative;

    .bridal-menu__key-visual {
        position: relative;

        .tit {
            color: #fff;
            font-family: var(--font-ja-gothic);
            font-weight: 800;
            position: absolute;
            top: auto;
            bottom: clamp(20.25px, calc(11.01923076923077px + 2.564102564102564vw), 60.25px);
            left: clamp(21px, calc(-185.66666666666666px + 26.90972222222222vw), 331px);

            @media (max-width: 767px) {
                left: 5%;
            }

            span {
                display: block;
                padding-left: 1.5em;
                margin-top: clamp(5px, calc(3.8461538461538463px + 0.3205128205128205vw), 10px);
            }
        }
    }

    .lead {
        font-size: clamp(13px, calc(12.538461538461538px + 0.1282051282051282vw), 15px);
        color: var(--color-blue01);
        font-family: var(--font-marugothic);
        text-align: center;
        line-height: 2;
        margin-top: clamp(30.75px, calc(23.826923076923077px + 1.9230769230769231vw), 60.75px);
    }

    .note {
        width: min(100% - 2rem, 900px);
        font-family: var(--font-ja-gothic);
        font-weight: 800;
        font-size: 12px;
        color: var(--color-text);
        line-height: 1.3;
        margin: clamp(44px, calc(35.92307692307692px + 2.2435897435897436vw), 79px) auto 20px;
        padding-left: clamp(32px, calc(29px + 0.8333333333333334vw), 45px);
        position: relative;

        &::before {
            position: absolute;
            content: "";
            background: url(../img/bridal-plans/icon-img.webp)no-repeat center/contain;
            width: clamp(23px, calc(19.76923076923077px + 0.8974358974358974vw), 37px);
            height: clamp(23px, calc(19.76923076923077px + 0.8974358974358974vw), 37px);
            top: 50%;
            left: 0;
            transform: translateY(-50%);
        }
    }


    /* accordion */
    .bridal-menu__gallery {
        width: min(100% - 1rem, 1126px);
        margin-inline: auto;
        border: 1px solid #ccc;


        &:nth-of-type(n + 3) {
            margin-top: 16px;
        }

        .accordion_header {
            transition-duration: 0.2s;
            display: flex;
            padding: 20px clamp(45px, calc(33px + 3.3333333333333335vw), 97px) 20px clamp(10px, calc(5.384615384615385px + 1.282051282051282vw), 30px);
            position: relative;
            z-index: +1;
            cursor: pointer;
            transition: .2s;

            &:hover {
                opacity: .5;
            }

            @media (max-width: 767px) {
                display: block;
                padding: 20px 10px 30px;
            }

            figure {
                width: 181px;
                height: 125px;
                overflow: hidden;

                >img {
                    width: 100%;
                    height: 100%;
                    object-fit: cover;
                }

                @media (max-width: 767px) {
                    width: 100%;
                    height: 250px;
                }
            }

            figcaption {
                width: 79%;
                margin-left: 30px;
                font-family: var(--font-marugothic);

                @media (max-width: 767px) {
                    width: 100%;
                    margin-left: 0;
                }

                .titBox {
                    display: flex;
                    justify-content: space-between;
                    align-items: center;
                    color: var(--color-blue01);
                    padding-bottom: clamp(11px, calc(10.076923076923077px + 0.2564102564102564vw), 15px);
                    border-bottom: 1px solid #ccc;

                    @media (max-width: 767px) {
                        margin-top: 10px;
                    }

                    .tit {
                        font-size: clamp(15px, calc(13.846153846153847px + 0.3205128205128205vw), 20px);
                    }

                    .fee {
                        font-size: clamp(12px, calc(11.307692307692308px + 0.19230769230769232vw), 15px);
                    }
                }

                .txt {
                    font-size: clamp(12px, calc(11.076923076923077px + 0.2564102564102564vw), 16px);
                    color: var(--color-text);
                    margin-top: clamp(11px, calc(10.076923076923077px + 0.2564102564102564vw), 15px);
                    line-height: 1.6;
                }
            }

            .i_box {
                position: absolute;
                top: 20px;
                right: 18px;

                @media (max-width: 767px) {
                    display: none;
                }
            }

            .one_i {
                display: block;
                width: 18px;
                height: 18px;
                transform: rotate(90deg);

                &::before,
                &::after {
                    display: flex;
                    content: '';
                    background-color: var(--color-blue01);
                    width: 18px;
                    height: 4px;
                    position: absolute;
                    top: 7px;
                    left: 0;
                    -webkit-transform: rotate(0deg);
                    transform: rotate(0deg);
                    transform-origin: center center;
                }

                &::before {
                    width: 4px;
                    height: 18px;
                    top: 0;
                    left: 7px;
                }
            }

            &.open {
                .one_i {

                    &::before {
                        content: none;
                    }

                    &::after {
                        transform: rotate(-90deg);
                    }
                }
            }
        }

        .accordion_inner {
            display: none;
            padding: 30px 30px;

            .big-img {
                position: relative;
                font-family: var(--font-marugothic);
                font-size: 12px;
                color: var(--color-text);
                padding-left: 30px;
                margin-bottom: 12px;
                position: relative;

                &::before {
                    position: absolute;
                    content: "";
                    background: url(../img/bridal-plans/icon-sarchi.webp)no-repeat center/contain;
                    width: clamp(16px, calc(14.846153846153847px + 0.3205128205128205vw), 21px);
                    height: clamp(16px, calc(14.846153846153847px + 0.3205128205128205vw), 21px);
                    top: 50%;
                    left: 0;
                    transform: translateY(-50%);
                }
            }

            .img_container {
                width: min(100%, 1000px);
                display: flex;
                flex-wrap: wrap;
                gap: 10px;
                margin-bottom: 30px;

                li {
                    width: min(32%, 326px);
                    height: 200px;
                    overflow: hidden;

                    @media (max-width: 767px) {
                        width: 48%;
                    }

                    a {
                        img {
                            width: 100%;
                            height: 100%;
                            object-fit: cover;
                            cursor: pointer;
                        }
                    }
                }
            }

            .closeArea {
                width: 150px;
                margin: 0 auto;

                a {
                    &.close_btn {
                        display: flex;
                        justify-content: center;
                        align-items: center;
                        background: var(--color-blue01);
                        padding: 12px 12px 12px 22px;
                        line-height: 1.3;
                        color: #fff;
                        font-family: var(--font-marugothic);
                        font-size: 14px;
                        font-weight: 300;
                        position: relative;
                        cursor: pointer;
                        transition-duration: 0.2s;

                        &:hover {
                            opacity: .5;
                        }
                    }

                }

                .i_box {
                    display: flex;
                    justify-content: center;
                    align-items: center;
                    position: absolute;
                    top: 50%;
                    left: 10%;
                    width: 30px;
                    height: 30px;
                    margin-top: -15px;
                }

                .one_i {
                    display: flex;
                    justify-content: center;
                    align-items: center;
                    position: relative;
                    width: 18px;
                    height: 18px;

                    &::before,
                    &::after {
                        content: '';
                        background-color: #fff;
                        border-radius: 10px;
                        width: 18px;
                        height: 4px;
                        position: absolute;
                        top: 7px;
                        left: 0;
                        -webkit-transform: rotate(-45deg);
                        transform: rotate(45deg);
                        transform-origin: center center;
                    }

                    &::before {
                        width: 4px;
                        height: 18px;
                        top: 0;
                        left: 7px;
                    }
                }
            }
        }
    }

    .bottom-txt {
        width: min(100% - 2rem);
        margin-inline: auto!important;
        font-size: clamp( 13px, calc( 11.846153846153847px + 0.3205128205128205vw ), 18px );
        color: var(--color-blue01);
        font-family: var(--font-marugothic);
        text-align: center;
        line-height: 1.8;
        margin: clamp( 52px, calc( 34px + 5vw ), 130px ) 0;
    }
}

.lb-nav a.lb-prev,
.lb-nav a.lb-next {
    opacity: 1;
    background-size: clamp(22px, calc(17.384615384615387px + 1.282051282051282vw), 42px);
}