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

/* 全ページ　共通

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

/*=========================================
/* hr
==========================================*/
.hr-menu {
    border: none;
    border-top: clamp(13px, calc(10.23076923076923px + 0.7692307692307693vw), 25px) solid #bababa;
    width: 100%;
}

.hr-guide {
    border: none;
    border-top: clamp(13px, calc(10.23076923076923px + 0.7692307692307693vw), 25px) solid rgba(87, 183, 195, 0.82);
    width: 100%;
}

.hr-shopInfo {
    border: none;
    border-top: clamp(13px, calc(10.23076923076923px + 0.7692307692307693vw), 25px) solid rgba(87, 183, 195, 0.82);
    width: 100%;
    margin-top: clamp(100px, calc(65.38461538461539px + 9.615384615384617vw), 250px);
}

.hr-hasei {
    border: none;
    border-top: clamp(13px, calc(10.23076923076923px + 0.7692307692307693vw), 25px) solid rgba(191, 184, 121, 0.92);
    width: 100%;
}

/*=========================================
/* line-btn container
==========================================*/
.common-line-cta, .common-line-cta {
    text-align: center;

    >.txt {
        display: inline-block;
        font-family: var(--font-marugothic);
        color: var(--color-text);
        margin-inline: auto;
        padding-left: clamp(60px, calc(50.769230769230774px + 2.564102564102564vw), 100px);
        position: relative;

        &::before {
            position: absolute;
            content: "";
            background: url(../img/line_icon.webp)no-repeat center/ contain;
            width: clamp(53px, calc(43.30769230769231px + 2.6923076923076925vw), 95px);
            height: clamp(52px, calc(42.53846153846154px + 2.628205128205128vw), 93px);
            top: 50%;
            left: 0;
            transform: translateY(-50%);
        }
    }

    .btn {

        &.top {
            width: min(100% - 2rem, 755px);
            margin-inline: auto;
            margin-bottom: clamp(58px, calc(48.769230769230774px + 2.564102564102564vw), 98px);
        }

        &.shop-info {
            width: min(100% - 2rem, 401px);
            margin-inline: auto;
        }

        a {
            display: block;
            color: #fff;
            font-family: var(--font-shippori);
            font-weight: 600;
            background: var(--color-blue02);
            padding: 1em;
            border-radius: 22px;
            margin-top: 3em;
            letter-spacing: 0.05em;
        }
    }

    &.service-qa {
        margin-top: clamp(25px, calc(-0.38461538461538325px + 7.051282051282051vw), 135px);

        >.btn {

            &.service-qa {
                width: min(100% - 2rem, 472px);
                margin-inline: auto;
                margin-bottom: clamp(58px, calc(48.769230769230774px + 2.564102564102564vw), 98px);
            }

            a {
                display: block;
                color: #fff;
                font-family: var(--font-shippori);
                background: var(--color-blue02);
                padding: 1em;
                border-radius: 22px;
                margin-top: 3em;
                line-height: 1.3;
            }
        }
    }
}


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

/* 派生ページ　共通

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



/*========================================================
/* page-bottom-note
==========================================================*/
.page-bottom-note {
    width: min(100% - 4rem, 962px);
    margin-inline: auto;
    margin-top: clamp(26px, calc(20.46153846153846px + 1.5384615384615385vw), 50px);
    text-align: center;
    font-family: var(--font-marugothic);
    font-weight: 300;
    color: var(--color-blue02);
    line-height: 1.6;
}

/*========================================================
/* menu 
==========================================================*/
.bg_menu {
    margin-top: clamp(75px, calc(46.153846153846146px + 8.012820512820513vw), 200px);
}

.menu-page-bottom-note {
    width: min(100% - 2rem, 820px);
    margin-inline: auto;
    color: var(--color-dark-red01);
    line-height: 1.6;
    text-align: center;
}

/*========================================================
/* school-banner
==========================================================*/
.school_banner {
    display: block;
    width: min(100% - 2rem, 1201px);
    margin: clamp(55px, calc(41.15384615384615px + 3.8461538461538463vw), 115px) auto clamp(90px, calc(64.61538461538461px + 7.051282051282051vw), 200px);
    background: var(--color-blue02);
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
    padding: 18px 15px;
    border-radius: 30px;


    .col {
        display: flex;
        align-items: center;
        justify-content: space-between;

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

        figcaption {
            width: min(100%, 805px);
            margin-left: 1em;
            color: #fff;
            line-height: 1.3;
            text-align: center;
        }
    }
}


/*========================================================
/* product
==========================================================*/
#product-list {
    background: var(--color-dark-red01);
    padding: 2em 0 4em;
    margin-bottom: clamp(58px, calc(41.84615384615385px + 4.487179487179487vw), 128px);
    color: #fff;

    .heading_block {
        text-align: center;

        .heading {
            font-family: var(--font-ja-gothic);
            font-weight: 600;
            letter-spacing: 0.05em;
        }

        .lead {
            margin-top: 0.5em;
            letter-spacing: 0.05em;
        }

        .tit {
            margin: 2em 0 1em 0;
        }
    }

    .product_container {
        width: min(100% - 2rem, 1051px);
        margin-inline: auto;
        padding: clamp(36px, calc(29.076923076923077px + 1.9230769230769231vw), 66px) 0;
        border-bottom: 1px solid #fff;

        &:last-of-type {
            border-bottom: none;
        }

        .inner {
            width: min(100% - 4rem, 859px);
            margin-inline: auto;

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

        .desc {
            font-family: var(--font-marugothic);
            font-weight: 300;
            margin-top: 2em;
            line-height: 1.4;
        }

        .col {
            display: flex;
            margin-top: 37px;

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

            &.album {
                margin-top: clamp(37px, calc(31.923076923076923px + 1.4102564102564104vw), 59px);

                &.option {
                    border: 1px solid #fff;
                    padding: 30px;

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

            figure {
                width: min(100%, 176px);
                height: min(100%, 219px);

                @media (max-width: 767px) {
                    width: 80%;
                    margin-inline: auto;
                }

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

            .lists {
                width: calc(100% - 176px);
                margin-left: 3em;
                font-family: var(--font-marugothic);

                &.key-frame {
                    width: min(100%, 264px);
                }

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

                .list-block {
                    &:nth-of-type(n+2) {
                        margin-top: 1.8em;
                    }

                }

                .cat-tit {
                    font-weight: 300;
                    margin-bottom: 1em;
                    line-height: 1.3;
                }

                p {
                    &.marginL {
                        font-size: 15px;
                        font-weight: 300;
                        margin-left: 2em;
                        line-height: 1.4em;

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

                }

                dl {
                    margin-top: 0.5em;
                    display: flex;
                    justify-content: space-between;
                    flex-wrap: wrap;
                    width: min(100%, 350px);

                    &.marginL {
                        margin-left: 3em;

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

                    dt,
                    dd {
                        font-size: 15px;
                        font-weight: 300;
                        line-height: 1.8em;
                    }

                    dt {
                        width: calc(100% - 120px);
                    }

                    dd {
                        width: 120px;
                    }
                }

                .list-txt {
                    font-weight: 300;
                    margin-left: 3em;
                    padding-top: 1.9em;
                    line-height: 1.8;

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

                    &.album {
                        margin-left: 0;
                        padding-top: 0.5em;
                    }
                }
            }
        }

    }


}


/*========================================================
/* basicMenu
==========================================================*/

.common-basic-menu {
    width: min(100% - 2rem, 820px);
    margin-inline: auto;
    margin-bottom: 36px;
    background: var(--color-blue01);
    padding: 9px;
    display: flex;
    text-align-last: left;

    @media (max-width: 950px) {
        display: block;
        width: min(100% - 2rem, 692px);
    }

    dl {
        display: flex;
        align-items: center;
        justify-content: space-between;
        background: #fff;
        border-radius: 20px;
        padding: 0 1.4em;
        font-family: var(--font-shippori);
        width: 50%;

        @media (max-width: 950px) {
            width: 100%;
            padding: 1.5em 1.4em;
        }

        dt {
            color: var(--color-text);
            font-size: clamp(15px, calc(12.692307692307693px + 0.641025641025641vw), 25px);
            letter-spacing: 0.05em;
            font-weight: 600;
        }

        dd {
            font-size: clamp(26px, calc(23.923076923076923px + 0.576923076923077vw), 35px);
            color: var(--color-blue01);
            font-weight: 600;
            padding-left: 1em;

            span {
                font-size: clamp(12px, calc(11.307692307692308px + 0.19230769230769232vw), 15px);
                font-weight: 600;
            }
        }
    }

    .guide__detail {
        width: 48%;
        color: #fff;
        padding: 0.4em 0px 0.4em 4%;

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

        .tit {
            font-family: var(--font-shippori);
            font-weight: 600;
            font-size: clamp(18px, calc(16.384615384615383px + 0.4487179487179487vw), 25px);
            margin-bottom: 0.3em;
        }

        ul {
            font-family: var(--font-marugothic);

            li {
                font-size: clamp(16px, calc(15.538461538461538px + 0.1282051282051282vw), 18px);
                font-weight: 300;
                line-height: 1.5;

                &:nth-of-type(n + 2) {
                    font-size: clamp(11px, calc(10.76923076923077px + 0.0641025641025641vw), 12px);
                }
            }
        }
    }
}


/*========================================================
/* lineQR 
==========================================================*/
.shop-info__line-qr {
    width: min(100% - 2rem, 737px);
    margin: 65px auto 115px;
    text-align: left;

    .column {
        display: flex;

        @media (max-width: 767px) {
            flex-direction: column;
        }
    }

    &.shopInfo {
        margin: 77px auto 0;
    }

    .lineQR {
        @media (max-width: 767px) {
            order: 2;
            text-align: center;
        }

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

    .txt {
        font-family: var(--font-marugothic);
        font-weight: 300;
        line-height: 1.4;
        margin-left: 2em;
        padding-left: 1.5em;
        position: relative;

        &::before {
            position: absolute;
            content: "◀︎";
            font-size: 25px;
            top: 0;
            left: 0;
        }

        @media (max-width: 767px) {
            order: 1;
            margin-left: 0;
            padding-left: 0;
            padding-bottom: 30px;
            text-align: center;

            &::before {
                font-size: 17px;
                top: auto;
                left: 50%;
                transform: translateX(-50%) rotate(270deg);
                bottom: 0;
            }
        }

        &.minato {
            color: var(--color-khaki02);
        }

        &.oroshi {
            color: var(--color-dark-red01);
        }
    }

    .btn {
        width: min(100%, 400px);
        margin-inline: auto;
        margin-top: 40px;

        a {
            width: 100%;
            display: block;
            text-align: center;
            font-family: var(--font-shippori);
            color: #fff;
            padding: 1em;
            background: var(--color-blue02);
            border-radius: 22px;
        }
    }
}


/*========================================================
/* price-formula
==========================================================*/
.price-formula_container {

    ul {
        width: min(100% - 4rem, 820px);
        margin-inline: auto;
        display: flex;
        align-items: center;


        li {
            font-family: var(--font-ja-gothic);
            font-weight: 600;
            line-height: 1.63;

            &.basic {
                width: min(100%, 198px);
                color: var(--color-blue01);
                padding: 0.8em;
                border: 9px solid var(--color-blue01);
                border-radius: 24px;
                white-space: nowrap;
                text-align: center;

                @media (max-width: 767px) {
                    border: 6px solid var(--color-blue01);
                    padding: 0.8em;
                    border-radius: 14px;
                }

                font {
                    font-size: 16px;
                }
            }

            &.symbol {
                margin: 0 0.5em;
                color: var(--color-text);
            }

            &.product-menu {
                width: min(100%, 192px);
                color: var(--color-dark-red01);
                padding: 0.8em 1.5em;
                border: 9px solid var(--color-dark-red01);
                border-radius: 24px;

                @media (max-width: 767px) {
                    border: 6px solid var(--color-dark-red01);
                    padding: 0.8em;
                    border-radius: 14px;
                }

                font {
                    font-size: 16px;
                }
            }

            &.price {
                width: min(100%, 255px);
                color: #fff;
                background: var(--color-dark-red01);
                padding: 0.8em 1.5em;
                border: 9px solid var(--color-dark-red01);
                border-radius: 24px;

                @media (max-width: 767px) {
                    border: 6px solid var(--color-dark-red01);
                    padding: 0.8em;
                    border-radius: 14px;
                }

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


/*========================================================
/* lineQR
==========================================================*/
figure.lineQR {
    img {
        width: 147px;
        margin-inline: auto;
    }

    figcaption {
        font-family: var(--font-ja-gothic);
        font-size: 18px;
        font-weight: 300;
        line-height: 1.6;
        margin-top: 1em;

        &.minato {
            color: var(--color-khaki02);
        }

        &.oroshi {
            color: var(--color-dark-red01);
        }
    }
}


/*========================================================
/* 各種サービス　派生ページ
==========================================================*/

/*========================================================
/* read-hasei
==========================================================*/
.service-menu__read, .bridal-menu__read {
    margin-top: clamp(25px, calc(12.307692307692308px + 3.5256410256410255vw), 80px);
    font-size: clamp(14px, calc(8px + 1.6666666666666667vw), 40px);
    text-align: center;
    color: var(--color-text);
    line-height: 1.4;

    &.bridal {
        color: rgba(191, 184, 121, 0.92);
    }
}

/*========================================================
/* key-contents-hasei
==========================================================*/
.service-menu__key-contents, .bridal-menu__key-contents {
    margin-top: clamp(45px, calc(16.615384615384617px + 7.884615384615384vw), 168px);

    .baby-ceremony & {
        margin-bottom: clamp(0px, calc(-39.23076923076923px + 10.897435897435898vw), 170px);
    }

    .baby-ceremony &,
    .first-celebration &,
    .birthday &,
    .maternity &,
    .family-memorial & {
        margin-bottom: clamp(60px, calc(34.61538461538461px + 7.051282051282051vw), 170px);
    }

    .service-menu__key-visual, .bridal-menu__key-visual {
        position: relative;
        width: 100%;

        .service-menu__key-txt--top, .bridal-menu__key-txt--top,
        .service-menu__key-txt--top2,
        .service-menu__key-txt--bottom, .bridal-menu__key-txt--bottom,
        .service-menu__key-txt--bottom2 {
            color: #626262;
            line-height: 2.5;
            position: absolute;
        }

        .shichi-go-san {
            font-size: clamp(11px, calc(4.3076923076923075px + 1.858974358974359vw), 40px);

            &.service-menu__key-txt--top {
                top: 0;
                left: calc(50% + clamp(31px, calc(9.538461538461537px + 5.961538461538462vw), 124px));
            }

            &.service-menu__key-txt--top2 {
                top: clamp(90px, calc(10px + 10.416666666666668vw), 210px);
                left: calc(50% + clamp(31px, calc(9.538461538461537px + 5.961538461538462vw), 124px));

                @media (max-width: 767px) {
                    top: clamp(52px, calc(18.38820638820639px + 9.336609336609335vw), 90px);
                }
            }

            &.service-menu__key-txt--bottom {
                bottom: clamp(15px, calc(-3.46153846153846px + 5.128205128205128vw), 95px);
                right: calc(50% + clamp(69px, calc(-11px + 10.416666666666668vw), 189px));

                @media (max-width: 767px) {
                    right: calc(50% + clamp(38px, calc(10.579852579852577px + 7.616707616707617vw), 69px));
                }
            }
        }

        .fresh-start {
            font-size: clamp(11px, calc(4.3076923076923075px + 1.858974358974359vw), 40px);

            &.service-menu__key-txt--top {
                text-align: right;
                top: clamp(20px, calc(-16.92307692307692px + 10.256410256410255vw), 180px);
                right: calc(50% + clamp(36px, calc(17.53846153846154px + 5.128205128205128vw), 116px));
            }

            &.service-menu__key-txt--bottom {
                bottom: clamp(25px, calc(-6.384615384615383px + 8.717948717948717vw), 161px);
                left: calc(50% + clamp(45px, calc(13.153846153846153px + 8.846153846153847vw), 183px));
            }
        }

        .age-ceremony {
            font-size: clamp(11px, calc(7.76923076923077px + 0.8974358974358974vw), 25px);

            &.service-menu__key-txt--top {
                top: clamp(-7px, calc(-17.846153846153847px + 3.0128205128205128vw), 40px);
                left: calc(50% + 5px);
                left: calc(50% + clamp(-12px, calc(-9.23076923076923px + -0.7692307692307693vw), -24px));

            }

            &.service-menu__key-txt--top2 {
                top: clamp(90px, calc(10px + 10.416666666666668vw), 210px);
                left: calc(50% + clamp(-12px, calc(-9.23076923076923px + -0.7692307692307693vw), -24px));

                @media (max-width: 767px) {
                    top: clamp(52px, calc(18.38820638820639px + 9.336609336609335vw), 90px);
                }
            }

            &.service-menu__key-txt--bottom {
                text-align: right;
                bottom: clamp(86px, calc(-94px + 18.75vw), 266px);
                right: calc(50% + 5px);

                @media (max-width: 959px) {
                    bottom: clamp(52px, calc(-11.706176961602665px + 17.696160267111853vw), 158px);
                }
            }

            &.service-menu__key-txt--bottom2 {
                text-align: right;
                bottom: clamp(-2px, calc(-109px + 11.145833333333334vw), 105px);
                right: calc(50% + 5px);

                @media (max-width: 959px) {
                    bottom: clamp(-10px, calc(-52.07011686143573px + 11.686143572621036vw), 60px);
                }
            }
        }

        .baby-ceremony {
            font-size: clamp(11px, calc(4.3076923076923075px + 1.858974358974359vw), 40px);
            top: 50%;
            left: 50%;

            &.service-menu__key-txt--top {
                text-align: right;
                transform: translate(-128%, -131%);
            }

            &.service-menu__key-txt--bottom {
                transform: translate(30%, 92%);

                @media (max-width: 1172px) {
                    transform: translate(38%, 53%);
                }

                .is_br {
                    display: none;

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

        .first-celebration {
            font-size: clamp(11px, calc(4.3076923076923075px + 1.858974358974359vw), 40px);

            &.service-menu__key-txt--top {
                top: 180px;
                top: clamp(25px, calc(-10.769230769230766px + 9.935897435897436vw), 180px);
                left: calc(50% + 105px);
                left: calc(50% + clamp(25px, calc(6.53846153846154px + 5.128205128205128vw), 105px));
            }

            &.service-menu__key-txt--bottom {
                bottom: clamp(9px, calc(-10.846153846153847px + 5.512820512820513vw), 95px);
                right: calc(50% + clamp(43px, calc(10.230769230769234px + 9.102564102564102vw), 185px));
            }
        }

        .birthday {
            font-size: clamp(11px, calc(4.3076923076923075px + 1.858974358974359vw), 40px);

            &.service-menu__key-txt--top {
                color: #626262;
                top: 15%;
                left: calc(50% + clamp(17px, calc(6.384615384615385px + 2.9487179487179485vw), 63px));
            }

            &.service-menu__key-txt--bottom {
                color: #626262;
                bottom: clamp(25px, calc(-16.53846153846154px + 11.538461538461538vw), 205px);
                right: calc(50% + clamp(15px, calc(3.4615384615384635px + 3.205128205128205vw), 65px));
            }
        }

        .maternity {
            font-size: clamp(11px, calc(4.3076923076923075px + 1.858974358974359vw), 40px);

            &.service-menu__key-txt--top {
                top: clamp(20px, calc(-7.692307692307693px + 7.6923076923076925vw), 140px);
                left: calc(50% + clamp(10px, calc(0.76923076923077px + 2.564102564102564vw), 50px));
            }

            &.service-menu__key-txt--bottom {
                bottom: clamp(15px, calc(-3.46153846153846px + 5.128205128205128vw), 95px);
                right: calc(50% + clamp(12px, calc(8.076923076923077px + 1.0897435897435896vw), 29px));
            }
        }

        .family-memorial {
            font-size: clamp(11px, calc(4.3076923076923075px + 1.858974358974359vw), 40px);

            &.service-menu__key-txt--top {
                top: clamp(23px, calc(2.9230769230769234px + 5.5769230769230775vw), 110px);
                left: calc(50% + clamp(22px, calc(5.384615384615383px + 4.615384615384616vw), 94px));
            }

            &.service-menu__key-txt--bottom {
                text-align: right;
                bottom: 19%;
                right: calc(50% + clamp(16px, calc(5.846153846153847px + 2.8205128205128207vw), 60px));

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

        .bridal {
            font-size: clamp(11px, calc(6.615384615384615px + 1.217948717948718vw), 30px);
            top: 50%;
            left: 50%;

            &.service-menu__key-txt--top,
            &.bridal-menu__key-txt--top {
                transform: translate(10%, -170%);

                @media (max-width: 767px) {
                    transform: translate(10%, -141%);
                }
            }

            &.service-menu__key-txt--bottom,
            &.bridal-menu__key-txt--bottom {
                top: 50%;
                left: 0;
                text-align: right;
                transform: translate(30%, 170%);
                transform: translate(2rem, 100%);

                @media (max-width: 1200px) {
                    transform: translate(2rem, 100%);
                }

                @media (max-width: 868px) {
                    transform: translate(39%, 40%);
                }

                .is_br {
                    display: none;

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

    .bottom-txt {
        width: min(100% - 1.5rem);
        margin-inline: auto;
        color: #626262;
        text-align: center;
        line-height: 1.5;
        letter-spacing: 0.05em;
        text-align: center;

        .shichi-go-san & {
            margin-top: clamp(45px, calc(16.615384615384617px + 7.884615384615384vw), 168px);
        }

        .fresh-start & {
            margin-top: clamp(30px, calc(10.153846153846153px + 5.512820512820513vw), 116px);
        }

        .baby-ceremony & {
            margin-top: clamp(30px, calc(10.153846153846153px + 5.512820512820513vw), 116px);
        }

        .first-celebration & {
            margin-top: clamp(30px, calc(-2.07692307692308px + 8.91025641025641vw), 169px);
        }

        .birthday &,
        .maternity & {
            margin-top: clamp(30px, calc(-3.92307692307692px + 9.423076923076923vw), 177px);
        }

        .family-memorial & {
            margin-top: clamp(30px, calc(-4.61538461538462px + 9.615384615384617vw), 180px);
        }

        .newborn & {
            margin-top: clamp(30px, calc(10px + 5.5vw), 120px);
        }

        .bridal & {
            margin-top: clamp(30px, calc(-4.61538461538462px + 9.615384615384617vw), 180px);
        }
    }

    .service-menu__bg-images {
        margin-top: clamp(60px, calc(34.61538461538461px + 7.051282051282051vw), 170px);

        .service-menu__bg-image--1,
        .service-menu__bg-image--2 {
            position: relative;

            .txt {
                position: absolute;
                font-size: clamp(11px, calc(6.615384615384615px + 1.217948717948718vw), 30px);
                line-height: 1.7;
                text-shadow: 3px 3px 5px rgba(0, 0, 0, 0.16);
            }
        }

        .shichi-go-san {

            &.service-menu__bg-image--1 {
                .txt {
                    font-size: clamp(11px, calc(6.615384615384615px + 1.217948717948718vw), 30px);
                    color: var(--color-blue02);
                    top: 20%;
                    left: calc(50% + -27px);
                }
            }

            &.service-menu__bg-image--2 {
                .txt {
                    font-size: clamp(11px, calc(6.615384615384615px + 1.217948717948718vw), 30px);
                    color: var(--color-khaki02);
                    text-align: right;
                    top: 29%;
                    right: calc(50% + clamp(-40px, calc(-42.30769230769231px + 0.641025641025641vw), -30px));
                }
            }
        }

        .fresh-start {
            &.service-menu__bg-image--1 {
                .txt {
                    font-size: clamp(11px, calc(6.615384615384615px + 1.217948717948718vw), 30px);
                    color: #fff;
                    top: 20%;
                    left: calc(50% + clamp(-2px, calc(-8.923076923076923px + 1.9230769230769231vw), 28px));
                }
            }

            &.service-menu__bg-image--2 {
                .txt {
                    font-size: clamp(11px, calc(6.615384615384615px + 1.217948717948718vw), 30px);
                    color: var(--color-text);
                    text-align: right;
                    top: clamp(84px, calc(-13.9381443298969px + 10.309278350515463vw), 184px);
                    right: calc(50% + clamp(50px, calc(-18.556701030927826px + 7.216494845360824vw), 120px));

                    @media (max-width: 959px) {
                        top: clamp(15px, calc(-11.4440734557596px + 7.345575959933222vw), 59px);
                        right: calc(50% + clamp(40px, calc(15.959933222036728px + 6.67779632721202vw), 80px));
                    }
                }
            }
        }

        .age-ceremony {
            &.service-menu__bg-image--1 {
                .txt {
                    font-size: clamp(11px, calc(7.76923076923077px + 0.8974358974358974vw), 25px);
                    color: var(--color-text);
                    right: calc(50% + -15px);
                    top: clamp(46px, calc(-40.66666666666667px + 11.284722222222223vw), 176px);
                    text-align: right;

                    @media (max-width: 767px) {
                        top: clamp(25px, calc(-10.380835380835379px + 9.828009828009828vw), 65px);
                        right: calc(50% +clamp(-35px, calc(-52.69041769041769px + 4.914004914004914vw), -15px));
                    }
                }
            }

            &.service-menu__bg-image--2 {
                .txt {
                    font-size: clamp(11px, calc(7.76923076923077px + 0.8974358974358974vw), 25px);
                    color: #fff;
                    text-align: left;
                    top: clamp(39px, calc(-52.33333333333333px + 11.89236111111111vw), 176px);
                    left: calc(50% + 33px);

                    @media (max-width: 767px) {
                        top: clamp(19px, calc(-19.91891891891892px + 10.81081081081081vw), 63px);
                        left: calc(50% + clamp(5px, calc(-19.766584766584767px + 6.87960687960688vw), 33px));
                    }
                }
            }
        }

        .baby-ceremony {
            &.service-menu__bg-image--1 {
                .txt {
                    font-size: clamp(11px, calc(7.76923076923077px + 0.8974358974358974vw), 25px);
                    color: var(--color-text);
                    top: clamp(6px, calc(-16.615384615384613px + 6.282051282051282vw), 104px);
                    left: calc(50% - clamp(52px, calc(37px + 4.166666666666666vw), 117px));
                }
            }

            &.service-menu__bg-image--2 {
                .txt {
                    font-size: clamp(11px, calc(7.76923076923077px + 0.8974358974358974vw), 25px);
                    text-shadow: 1px 2px 1px rgba(255, 255, 255, 1);
                    color: var(--color-text);
                    text-align: right;
                    top: clamp(73px, calc(105.66666666666667px + -4.253472222222222vw), 24px);
                    right: calc(50% - clamp(70px, calc(3.333333333333343px + 8.680555555555555vw), 170px));

                    @media (max-width: 767px) {
                        top: clamp(6px, calc(-32.91891891891892px + 10.81081081081081vw), 50px);
                        right: calc(50% - clamp(62px, calc(37.23341523341523px + 6.87960687960688vw), 90px));
                    }
                }
            }
        }

        .first-celebration {
            &.service-menu__bg-image--1 {
                .txt {
                    color: #fff;
                    text-shadow: 0px 3px 6px rgba(112, 112, 112, 1);
                    top: 245px;
                    top: clamp(20px, calc(-31.92307692307692px + 14.423076923076922vw), 245px);
                    right: calc(50% - 223px);
                    right: calc(50% - clamp(47px, calc(6.384615384615387px + 11.282051282051283vw), 223px));
                }
            }

            &.service-menu__bg-image--2 {
                .txt {
                    color: #fff;
                    text-shadow: 2px 1px 1px rgba(112, 112, 112, 1);
                    top: clamp(23px, calc(-61px + 10.9375vw), 149px);
                    left: calc(50% - clamp(40px, calc(6.666666666666671px + 4.340277777777778vw), 90px));

                    @media (max-width: 767px) {
                        top: clamp(-3px, calc(-25.997542997542997px + 6.388206388206388vw), 23px);
                        left: calc(50% + clamp(-7px, calc(-37.073710073710075px + 8.353808353808354vw), 27px));

                    }
                }
            }
        }

        .birthday {
            &.service-menu__bg-image--1 {
                .txt {
                    font-size: clamp(11px, calc(7.76923076923077px + 0.8974358974358974vw), 25px);
                    color: var(--color-text);

                    top: clamp(19px, calc(-34.333333333333336px + 6.944444444444445vw), 99px);
                    left: calc(50% - clamp(97px, calc(23.66666666666667px + 9.54861111111111vw), 207px));

                    @media (max-width: 767px) {
                        top: clamp(4px, calc(-12.666666666666664px + 2.170138888888889vw), 29px);
                        left: calc(50% - clamp(44px, calc(28.666666666666668px + 1.9965277777777777vw), 67px));
                    }
                }
            }

            &.service-menu__bg-image--2 {
                .txt {
                    font-size: clamp(11px, calc(7.76923076923077px + 0.8974358974358974vw), 25px);
                    color: #fff;
                    text-shadow: 0px 3px 6px rgba(112, 112, 112, 1);
                    text-align: right;
                    top: clamp(18px, calc(-25.846153846153847px + 12.179487179487179vw), 208px);
                    right: calc(50% + clamp(32px, calc(20.23076923076923px + 3.2692307692307696vw), 83px));
                }
            }
        }

        .maternity {
            &.service-menu__bg-image--1 {
                .txt {
                    font-size: clamp(11px, calc(7.76923076923077px + 0.8974358974358974vw), 25px);
                    color: #fff;
                    text-align: center;
                    top: clamp(17px, calc(-2.6153846153846168px + 5.448717948717949vw), 102px);
                    left: calc(50% - clamp(103px, calc(84.53846153846155px + 5.128205128205128vw), 183px));
                }
            }

            &.service-menu__bg-image--2 {
                .txt {
                    font-size: clamp(11px, calc(7.76923076923077px + 0.8974358974358974vw), 25px);
                    color: #2E2E2E;
                    text-align: center;
                    text-shadow: 2px 1px 1px rgba(255, 255, 255, 1);
                    top: clamp(17px, calc(-2.6153846153846168px + 5.448717948717949vw), 102px);
                    left: calc(50% - clamp(81px, calc(71.76923076923077px + 2.564102564102564vw), 121px));
                }
            }
        }

        .family-memorial {
            &.service-menu__bg-image--1 {
                .txt {
                    color: var(--color-text);
                    /* top: 102px;
                    left: calc(50% + -27px); */
                    top: clamp(20px, calc(1.0769230769230766px + 5.256410256410256vw), 102px);
                    left: calc(50% - clamp(67px, calc(53.15384615384615px + 3.8461538461538463vw), 127px));
                }
            }

            &.service-menu__bg-image--2 {
                .txt {
                    color: #fff;
                    top: clamp(17px, calc(-13.692307692307693px + 8.525641025641026vw), 150px);
                    right: calc(50% - clamp(141px, calc(55.61538461538461px + 23.717948717948715vw), 511px));
                }
            }
        }
    }

    .age-ceremony & {
        .service-menu__key-visual, .bridal-menu__key-visual {
            width: 69.4%;
            margin-inline: auto;

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

        .service-menu__fav-bottom-image {
            margin-top: 21px;
        }
    }
}

/*========================================================
/* price-hasei
==========================================================*/
.service-menu__price-section, .bridal-menu__price-section {
    margin: clamp(45px, calc(26.53846153846154px + 5.128205128205128vw), 125px) 0;
    color: var(--color-text);

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

    .tit {
        line-height: 1.4;
        padding: 5px 0 5px 20px;
        border-left: 5px solid var(--color-text);
    }

    .column {
        display: flex;
        justify-content: space-between;
        margin-top: clamp(27px, calc(22.384615384615387px + 1.282051282051282vw), 47px);
        position: relative;

        &::before {
            position: absolute;
            content: "";
            background: var(--color-text);
            width: clamp(12px, calc(11.307692307692308px + 0.19230769230769232vw), 15px);
            height: 1px;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
        }

        &::after {
            position: absolute;
            content: "";
            background: var(--color-text);
            width: 1px;
            height: clamp(12px, calc(11.307692307692308px + 0.19230769230769232vw), 15px);
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
        }


        .box {
            width: min(44.5%, 264px);
            text-align: center;
            padding: 15px 5px;
            border: 1px solid #c8c8c8;

            .service-menu__price-title, .bridal-menu__price-title {
                font-size: clamp(16px, calc(13.923076923076923px + 0.576923076923077vw), 25px);
            }

            .txt {
                font-size: clamp(12px, calc(11.307692307692308px + 0.19230769230769232vw), 15px);
                line-height: 1.8;
                margin-top: 5px;
            }
        }
    }

    .bottom-txt {
        margin-top: clamp(30px, calc(24.230769230769234px + 1.6025641025641024vw), 55px);
        line-height: 1.5;
    }

    .btn {
        a {
            display: block;
            width: min(100%, 370px);
            margin-inline: auto;
            margin-top: clamp(63px, calc(49.15384615384615px + 3.8461538461538463vw), 123px);
            text-align: center;
            color: #fff;
            font-family: var(--font-marugothic);
            line-height: 1.6;
            padding: 5px;
            background: var(--color-blue01);
            border-radius: 24px;
            box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
        }
    }

    .service-menu__catchcopy {
        margin-top: clamp(48px, calc(29.53846153846154px + 5.128205128205128vw), 128px);
        font-family: var(--font-marugothic);
        color: var(--color-text);
        text-align: center;
        line-height: 1.6;
    }
}

/*========================================================
/* info-hasei
==========================================================*/
#info-hasei {
    margin-top: clamp(49px, calc(30.76923076923077px + 5.064102564102564vw), 128px);

    .inner {
        width: min(100% - 2rem, 1114px);
        margin-inline: auto;
        padding: 23px 43.5px 46px;
        background: #fff;
        box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.16);
        color: #626262;
    }

    .heading {
        font-family: var(--font-marugothic);
        text-align: center;
    }

    .column {
        margin-top: 59px;
        font-family: var(--font-marugothic);
        display: flex;
        align-items: center;
        justify-content: center;

        a {
            display: block;
        }

        figure {
            width: min(48%, 282px);
            border: 1px solid var(--color-text);
        }

        .tit_box {
            width: min(52%, 691px);
            margin-left: 34.5px;

            .date {
                display: block;
                padding-bottom: 21.5px;
                border-bottom: 1px solid var(--color-text);
            }

            .tit {
                margin-top: 26.5px;
                padding-bottom: 1px;
                overflow: hidden;
                text-overflow: ellipsis;
                white-space: nowrap;
            }
        }
    }
}

/*========================================================
/* fav-plan
==========================================================*/
#fav-plan {
    background: var(--color-khaki02);
    padding: 48px 0 63px;
    margin-top: clamp(36px, calc(29.53846153846154px + 1.7948717948717947vw), 64px);
    text-align: center;
    color: #fff;

    >.inner {
        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;
    }

    .service-menu__fav-container, .bridal-menu__fav-container {
        margin-inline: auto;
        margin-top: clamp(30px, calc(13.846153846153847px + 4.487179487179487vw), 100px);

        .column {
            display: flex;

            @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);
            }

            .price {
                font-family: var(--font-ja-mincho);
                margin-top: 15px;
                font-weight: 600;
                letter-spacing: 0.02em;

                span {
                    font-family: var(--font-ja-gothic);
                }
            }

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

            .detail {
                border: 1px solid #fff;
                padding: 21px clamp(15px, calc(-12px + 2.8125vw), 42px);
                margin-top: 18px;

                >.column {
                    display: flex;
                    justify-content: space-between;

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

                .icons {
                    display: flex;
                    /* width: min(100%, 128px); */
                    /* justify-content: flex-end; */
                    gap: clamp(5px, calc(3.8461538461538463px + 0.3205128205128205vw), 10px);

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

                .details {
                    width: 100%;
                    font-family: var(--font-marugothic);
                    font-size: 13px;
                    margin-left: clamp(15.5px, calc(1px + 1.5104166666666667vw), 30px);

                    dt,
                    dd {
                        line-height: 1.6;
                    }

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

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

    .service-menu__option, .bridal-menu__option {
        margin-top: clamp(26px, calc(20.230769230769234px + 1.6025641025641024vw), 51px);

        .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 {
                    display: none;
                }
            }

            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;
                    position: relative;
                
                    &::after {
                        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: calc(100% + 5px);
                        left: 50%;
                        transform: translateX(-50%) rotate(90deg);
                    }
                }
            }

            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);
                        font-weight: 200;
                    }

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

                @media (max-width: 767px) {
                    width: min(100%, 470px);
                    margin: 45px 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;
        }
    }

    /* 成人式 */
    .age-ceremony & {
        background: rgba(85, 167, 178, 0.75);

        .service-menu__option, .bridal-menu__option {
            padding-top: clamp(28.5px, calc(21.576923076923077px + 1.9230769230769231vw), 58.5px);
            border-top: 1px solid #fff;
        }

        .bottom-txt {
            margin-top: clamp(37px, calc(27.76923076923077px + 2.564102564102564vw), 77px);
        }
    }
}

/*========================================================
/* fav-item
==========================================================*/
#fav-item {
    background: var(--color-khaki02);
    padding: 48px 0 63px;
    margin-top: clamp(36px, calc(29.53846153846154px + 1.7948717948717947vw), 64px);
    text-align: center;
    color: #fff;

    .inner {
        width: min(100%, 1200px);
        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 {
        margin-top: 14px;
        line-height: 1.25;
        letter-spacing: 0.05em;
    }

    .service-menu__fav-items {
        width: min(100% - 2rem, 897px);
        margin-inline: auto;
        margin-top: clamp(30px, calc(13.846153846153847px + 4.487179487179487vw), 100px);

        .column {
            display: flex;
            align-items: flex-end;
            justify-content: space-between;

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

            &:nth-of-type(2) {
                margin-top: 50px;
            }

            &:nth-of-type(3) {
                margin-top: 91px;
                padding-top: 72px;
                border-top: 1px solid #fff;
            }
        }

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

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

        figcaption {
            text-align: left;
            width: min(60%, 569px);

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

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

            .txt {
                font-family: var(--font-marugothic);
                font-size: clamp(13px, calc(12.538461538461538px + 0.1282051282051282vw), 15px);
                margin: clamp(13px, calc(9.076923076923077px + 1.0897435897435896vw), 30px) 0 0 clamp(2px, calc(-4.923076923076923px + 1.9230769230769231vw), 32px);
                line-height: 1.3;
            }

            .priceBox {
                background: #fff;
                border-radius: 21px;
                padding: 12px;
                margin-top: clamp(19px, calc(14.384615384615385px + 1.282051282051282vw), 39px);
                display: flex;
                justify-content: space-between;
                align-items: center;
                color: var(--color-text);

                .left,
                .middle,
                .right {
                    font-family: var(--font-shippori);
                    font-weight: 700;
                    text-align: center;
                    line-height: 1.2;
                    white-space: nowrap;

                    font {
                        font-size: 12px;
                    }
                }

                .left {
                    width: clamp(73px, calc(63.30769230769231px + 2.6923076923076925vw), 115px);
                    white-space: nowrap;
                    text-align: left;
                }

                span {
                    display: block;
                    font-size: clamp(14px, calc(12.615384615384615px + 0.38461538461538464vw), 20px);
                    font-family: var(--font-shippori);
                    font-weight: 700;
                    color: var(--color-blue01);
                    margin-top: 0.3em;
                    white-space: nowrap;

                    &.small {
                        display: inline-block;
                        font-size: clamp(9px, calc(8.307692307692308px + 0.19230769230769232vw), 12px);
                    }
                }

                .symbol {
                    padding: 0 0.4em 0;
                    font-weight: 700;
                }
            }

            .note {
                font-size: 10px;
                color: #fff;
                text-align: right;
                padding-right: 23px;
                margin-top: 0.5em;
            }

            .lists {
                li {
                    font-family: var(--font-marugothic);
                    font-size: clamp(13.5px, calc(13.153846153846153px + 0.09615384615384616vw), 15px);
                    line-height: 1.6;

                    &.indent {
                        padding-left: clamp(24px, calc(19.615384615384613px + 1.217948717948718vw), 43px);

                        span {
                            padding-left: 3em;

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

    .service-menu__fav-bottom-image {
        margin-top: 56px;
    }

    .service-menu__flow-list, .bridal-menu__flow {
        width: min(100% - 2rem, 897px);
        margin-inline: auto;
        margin-top: clamp(42px, calc(27.46153846153846px + 4.038461538461538vw), 105px);

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

        .column {
            margin-top: 24px;
            display: flex;
            justify-content: space-between;
            flex-wrap: wrap;

        }

        figure {
            width: calc(25% - clamp(28px, calc(14.666666666666666px + 1.7361111111111112vw), 48px) * 3 / 4);
            position: relative;

            &:not(:nth-child(4n + 1)) {
                margin-left: clamp(28px, calc(14.666666666666666px + 1.7361111111111112vw), 48px);
                margin-left: 5px;
            }

            @media (max-width: 767px) {
                width: calc(50% - clamp(28px, calc(14.666666666666666px + 1.7361111111111112vw), 48px) * 1 / 2);
                width: calc(50% - 5 * 1 / 2);

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

            &::before {
                position: absolute;
                content: "";
                background: url(../img/arrow-right.webp)no-repeat center/contain;
                width: 28px;
                height: 18px;
                top: 22%;
                right: -37px;
                transform: translateX(-50%);
            }

            &:last-child {
                &::before {
                    content: none;
                }
            }
        }

        figcaption {
            text-align-last: left;
            font-family: var(--font-marugothic);

            .lead {
                font-family: var(--font-marugothic);
                font-size: clamp(14px, calc(13.76923076923077px + 0.0641025641025641vw), 15px);
                margin-top: clamp(12px, calc(10.846153846153847px + 0.3205128205128205vw), 17px);
            }

            .txt {
                font-size: 12px;
                margin-top: clamp(10px, calc(5.384615384615385px + 1.282051282051282vw), 30px);
                line-height: 1.25;
            }
        }
    }

    .service-menu__option, .bridal-menu__option {
        margin-top: clamp(26px, calc(20.230769230769234px + 1.6025641025641024vw), 51px);

        .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: 49%;
                transform: translate(-50%, -50%);
            }

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

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

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

                &::before {
                    content: none;
                }
            }

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

                @media (max-width: 767px) {
                    &::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: calc(100% + 5px);
                        left: 50%;
                        transform: translateX(-50%) rotate(90deg);
                    }
                }

                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: clamp(25px, calc(-9px + 4.427083333333334vw), 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: 45px auto 0;
                }
            }
        }


    }

    .bottom-txt {
        margin: clamp(60px, calc(47.769230769230774px + 3.3974358974358974vw), 113px) 0 clamp(10px, calc(0.76923076923077px + 2.564102564102564vw), 50px);
        font-family: var(--font-marugothic);
        letter-spacing: 0.05em;
        color: #fff;
        text-align: center;
    }
}

/*========================================================
/* flow-hasei
==========================================================*/
#flow-hasei {
    text-align: center;
    margin: clamp(39px, calc(20.076923076923077px + 5.256410256410256vw), 121px) 0 clamp(70px, calc(61.69230769230769px + 2.307692307692308vw), 106px);

    .heading {
        color: var(--color-blue02);
        letter-spacing: 0.05em;
        line-height: 1.4;
        margin-bottom: clamp( 25px, calc( 7.58px + 4.83vw ), 85px );
    }

    .service-menu__flow-list,
    .bridal-menu__flow {
        padding-top: 0;

        .service-menu__flow-item, .bridal-menu__flow-item {
            width: min(100% - 4rem, 962px);
            margin-inline: auto;
            background: rgba(106, 160, 167, 0.2);
            padding: 20px 34px;
            font-family: var(--font-marugothic);
            color: var(--color-blue02);
            text-align: left;
            display: flex;
            align-items: center;

            &:nth-of-type(n+2) {
                margin-top: clamp(42px, calc(36.46153846153846px + 1.5384615384615385vw), 66px);
                position: relative;

                &::before {
                    position: absolute;
                    content: "";
                    background: url(../img/arrow-down.webp)no-repeat center / contain;
                    width: clamp(26px, calc(20.692307692307693px + 1.4743589743589742vw), 49px);
                    height: 31px;
                    top: -42px;
                    left: 50%;
                    transform: translateX(-50%);

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

            @media (max-width: 767px) {
                flex-wrap: wrap;
                padding: 4%;
            }

            .service-menu__flow-icon, .bridal-menu__flow-icon {
                width: min(100%, 71px);

                @media (max-width: 767px) {
                    width: 30px;
                    margin: 0 0.4em 0 0;
                }
            }

            .tit {
                width: clamp(230px, calc(220.76923076923077px + 2.564102564102564vw), 270px);
                font-weight: 400;
                text-align: center;
                line-height: 1.3;
            }

            .desc {
                width: min(60%, 559px);
                font-weight: 300;
                line-height: 1.6;

                span {
                    display: block;
                    font-size: 13px;
                    font-weight: 300;
                    line-height: 1.5;
                    text-align: left;
                    margin-top: 0.5em;
                }

                @media (max-width: 767px) {
                    width: 100%;
                    margin-top: 1em;
                }
            }
        }
    }

}

.service-menu__guide-note {
    width: min(100% - 2rem);
    margin-inline: auto;
    margin-top: 48px;
    font-family: var(--font-marugothic);
    color: var(--color-text);
    text-align: center;
    line-height: 2.5;

    .age-ceremony & {
        margin: clamp(28px, calc(2.6153846153846168px + 7.051282051282051vw), 138px) auto clamp(37px, calc(30.076923076923077px + 1.9230769230769231vw), 67px);
    }
}

.hasei-productBottom_txt {
    width: min(100% - 2rem);
    margin-inline: auto;
    margin-top: 48px;
    font-family: var(--font-marugothic);
    color: var(--color-dark-red01);
    text-align: center;
    line-height: 1.66;
}

/*========================================================
/* more-plan
==========================================================*/
#more-plan {
    width: min(100% - 2rem, 1150px);
    margin-inline: auto;
    margin-top: clamp(66px, calc(54.46153846153847px + 3.205128205128205vw), 116px);

    .top_txt {
        font-family: var(--font-marugothic);
        color: var(--color-text);
        line-height: 1.75;
        text-align: center;
        position: relative;

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

    .heading {
        color: #fff;
        text-align: center;
        font-family: var(--font-ja-gothic);
        font-weight: 700;
        letter-spacing: 0.03em;
        padding: 32px;
        background: var(--color-khaki02);
        margin: clamp(64px, calc(52px + 3.3333333333333335vw), 116px) calc(50% - 50vw) 0;
        width: 100vw;
    }

    .service-menu__more-plan {
        text-align: center;

        &:nth-of-type(n+3) {
            margin-top: 50.5px;
            padding-top: clamp(12.5px, calc(-1.115384615384615px + 3.782051282051282vw), 71.5px);
            border-top: 0.5px solid rgba(191, 184, 121, 0.92);
        }

        .age-ceremony & {
            &:nth-of-type(n+3) {
                border-top: 3px solid rgba(191, 184, 121, 0.92);
            }
        }

        .tit {
            margin-top: 32px;
            font-family: var(--font-ja-gothic);
            font-weight: 700;
            color: var(--color-khaki02);
            letter-spacing: 0.03em;
            line-height: 1.4;

            span {
                display: block;
                font-weight: 700;
                font-size: clamp(15px, calc(12.692307692307693px + 0.641025641025641vw), 25px);
            }
        }

        .service-menu__bg-image--1 {
            margin-top: clamp(28px, calc(14.153846153846153px + 3.8461538461538463vw), 88px);
        }
    }

    .table-container {
        width: min(100%, 1136px);
        margin-inline: auto;
        overflow-x: auto;

        table {
            width: max(100%, 930px);
            border-collapse: collapse;
            text-align: center;
            font-family: var(--font-marugothic);
            margin-top: 44px;
            color: #707070;


            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);
                        font-weight: 500;
                        color: rgba(191, 184, 121, 0.92);
                        vertical-align: middle;
                        line-height: 1.3;
                    }
                }

                &.set {
                    &:nth-of-type(n+2) {
                        td:nth-of-type(n+2) {
                            vertical-align: top;
                        }
                    }
                }

                &.option {
                    &:nth-of-type(n+2) {
                        td:nth-of-type(n+2) {
                            vertical-align: top;
                        }
                    }
                }
            }

            th,
            td {
                border: 1px solid rgba(112, 112, 112, 0.21);
                padding: 1.1em;
            }

            tr:nth-of-type(n+2) {
                td {
                    border-top: none;
                    border-bottom: none;
                }

                &:last-child {
                    border-bottom: 1px solid rgba(112, 112, 112, 0.21);
                }
            }

            th {
                background-color: #fff;
                line-height: 1.2;
                padding: 0.5em 0;

                &:nth-child(1) {
                    border: none;
                    width: 200px;
                }

                &:nth-child(2) {
                    background: rgba(191, 184, 121, 0.80);
                    color: #fff;
                    width: clamp(96px, calc(61.38461538461538px + 9.615384615384617vw), 246px);
                }

                &:nth-child(3) {
                    background: rgba(191, 184, 121, 0.58);
                    color: #fff;
                    width: clamp(90px, calc(55.61538461538462px + 9.551282051282051vw), 239px);
                }

                &:nth-child(4) {
                    background: rgba(191, 184, 121, 0.33);
                    color: #BFB879;
                    width: clamp(80px, calc(46.07692307692308px + 9.423076923076923vw), 227px);
                }

                &:nth-child(5) {
                    background: rgba(255, 255, 255, 0.46);
                    color: #6AA0A7;
                    width: clamp(80px, calc(41.69230769230769px + 10.64102564102564vw), 246px);
                }
            }

            td {
                white-space: nowrap;

                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;

                    span {
                        display: block;
                        font-family: var(--font-marugothic);
                        font-size: clamp(11px, calc(10.076923076923077px + 0.2564102564102564vw), 15px);
                        margin-top: 0.5em;
                        color: var(--color-text);
                    }
                }

                &.newborn-option {
                    color: var(--color-text)!important;
                    font-size: clamp(13px, calc(12.538461538461538px + 0.1282051282051282vw), 15px)!important;
                    font-weight: 500;

                    span.newborn-option__span {
                        color: var(--color-khaki02);
                        font-family: var(--font-marugothic);
                        font-size: clamp(13px, calc(12.538461538461538px + 0.1282051282051282vw), 15px)!important;
                        font-weight: 500;
                        margin-top: 0.5em;
                    }
                }
                /* * SP：〜767px ----- */
                @media (max-width: 767px) {
                    &.newborn-option {
                        font-size: 9px!important;
    
                        span.newborn-option__span {
                            font-size: 15px!important;
                        }
                    }
                }

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

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

                .plan-common {
                    background: #fff;
                    padding: 1em 5em;

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

                        &:not(:first-child) {
                            padding-left: 2em;
                            line-height: 1.3;
                        }
                    }
                }
            }
        }
    }

    /* 成人式 */
    .age-ceremony & {

        .service-menu__plan-a {
            font-family: var(--font-marugothic);
            color: var(--color-text);
            text-align: left;
            background: rgba(206, 194, 90, 0.23);
            border-radius: 25px;
            padding: 25px clamp(11px, calc(2.9230769230769234px + 2.2435897435897436vw), 46px) clamp(23px, calc(18.384615384615387px + 1.282051282051282vw), 43px);
            margin-top: clamp(21px, calc(7.153846153846153px + 3.8461538461538463vw), 81px);
            z-index: -1;

            .service-menu__lead-box {
                width: min(100%, 845px);

                .lead {
                    font-size: clamp(12.4px, calc(8.338461538461537px + 1.1282051282051282vw), 30px);

                    span {
                        font-family: var(--font-shippori);
                        font-weight: 700;
                        color: var(--color-dark-red01);
                    }
                }

                .note {
                    font-size: clamp(12px, calc(10.615384615384615px + 0.38461538461538464vw), 18px);
                    margin: clamp(6px, calc(2.7692307692307696px + 0.8974358974358974vw), 20px) 0 0 clamp(88px, calc(-8px + 26.666666666666668vw), 504px);
                }
            }

            .column {
                display: flex;
                margin: clamp(25px, calc(19.46153846153846px + 1.5384615384615385vw), 49px) auto 0 clamp(10px, calc(0.76923076923077px + 2.564102564102564vw), 50px);

                figure {
                    width: 39px;
                }

                figcaption {
                    font-size: clamp(11.5px, calc(10px + 0.4166666666666667vw), 18px);
                    line-height: 1.6;
                    margin-left: clamp(10px, calc(0.5384615384615383px + 2.628205128205128vw), 51px);
                }
            }
        }

        .symbol {
            color: var(--color-text);
            font-size: clamp(24px, calc(20.307692307692307px + 1.0256410256410255vw), 40px);
            margin: clamp(8px, calc(-1.23076923076923px + 2.564102564102564vw), 48px) 0;
        }

        .service-menu__plan-b-header {
            .lead {
                font-size: clamp(12.4px, calc(8.338461538461537px + 1.1282051282051282vw), 30px);
                font-family: var(--font-marugothic);
                color: var(--color-text);
                text-align: left;
                margin: 0 clamp(12px, calc(4.153846153846154px + 2.1794871794871793vw), 46px);
            }
        }

        .service-menu__table-wrap {
            width: min(100%, 1136px);
            margin-inline: auto;
            overflow-x: auto;

            table {
                border-collapse: collapse;
                text-align: center;
                font-family: var(--font-marugothic);
                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);
                            font-weight: 500;
                            color: rgba(191, 184, 121, 0.92);
                            vertical-align: middle;
                            line-height: 1.3;
                        }
                    }

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

                th,
                td {
                    border: 1px solid rgba(112, 112, 112, .11);
                    padding: 1.1em;
                }

                tr:nth-of-type(n+2) {
                    td {
                        border-top: none;
                        border-bottom: none;
                    }

                    &:last-child {
                        border-bottom: 1px solid rgba(112, 112, 112, 0.21);
                    }
                }

                th {
                    background: #fff;
                    line-height: 1.2;
                    color: #BFB879;
                    padding: 0.5em 0;
                    width: 143px;

                    &:nth-child(odd) {
                        background: rgba(191, 184, 121, 0.13);
                    }

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

                td {
                    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);
                        }
                    }
                }
            }

            table.planB {
                th {
                    background: #F6F6F6;

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

                    &:nth-child(odd):nth-child(n+3) {
                        background: rgba(191, 184, 121, 0.13);
                    }
                }

                tr {
                    &.planB {
                        &:nth-of-type(2) {
                            border-top: 2px solid transparent;
                        }
                    }

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

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

                    td {

                        &.highlight {
                            background: rgba(191, 184, 121, 0.13);
                            border-left: 2px solid transparent;
                            border-right: 2px solid transparent;

                        }

                        &.price {
                            font-size: clamp(13px, calc(11.384615384615385px + 0.4487179487179487vw), 20px);
                            font-family: var(--font-ja-mincho);
                            color: var(--color-dark-red01);
                            font-weight: 700;
                        }
                    }

                    &.option {
                        height: 261px;

                        td {
                            >.plan-common {
                                background: #fff;
                                padding: 1em 1em 2em 3em;
                                width: 946px;
                                margin-inline: auto;

                                @media (max-width: 767px) {
                                    padding: 1em 1em 2em;
                                }

                                .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;
                                }

                                .column {
                                    display: flex;
                                    width: min(100%, 816px);
                                    margin-top: 32px;
                                    margin-left: auto;

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

                                ul {
                                    &:nth-of-type(n + 2) {
                                        margin-left: 3em;
                                    }
                                }

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

                                    &:not(:first-child) {
                                        padding-left: 2em;
                                        line-height: 1.3;
                                    }

                                    &.note {
                                        margin: 50px 0 0 clamp(35px, calc(1.53846153846154px + 9.294871794871796vw), 180px);
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }


    .page-bottom-note {
        font-family: var(--font-marugothic);
        text-align: center;
        color: #fff;
        padding: clamp(50px, calc(38.46153846153847px + 3.205128205128205vw), 100px) 0;
        background: rgba(191, 184, 121, 0.92);
        margin: clamp(52px, calc(19.692307692307693px + 8.974358974358974vw), 192px) calc(50% - 50vw) 0;
        width: 100vw;
    }
}

/*========================================================
/* information - お知らせブログ
==========================================================*/
#information {
    .information-hero {
        padding: clamp(67px, calc(34.69230769230769px + 8.974358974358974vw), 207px) 0 clamp(45px, calc(33.46153846153847px + 3.205128205128205vw), 95px);
        color: var(--color-text);
        border-bottom: 1px solid var(--color-text);

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

        .information-hero__title {
            font-family: var(--font-ja-gothic);
            font-size: clamp(20px, calc(17.23076923076923px + 0.7692307692307693vw), 32px);
            font-weight: 700;

            span {
                display: block;
                font-family: var(--font-ja-gothic);
                font-size: clamp(12px, calc(11.538461538461538px + 0.1282051282051282vw), 14px);
                font-weight: 400;
                margin-top: clamp(20px, calc(17.692307692307693px + 0.641025641025641vw), 30px);
            }
        }

        .note {
            font-size: clamp(13px, calc(11.846153846153847px + 0.3205128205128205vw), 18px);
            font-weight: 600;
            margin-top: clamp(45px, calc(38.07692307692308px + 1.9230769230769231vw), 75px);
            letter-spacing: 0.1em;
            line-height: 1.3;
        }
    }

    &.archive {
        .archive-list {
            padding: clamp(30px, calc(16.153846153846153px + 3.8461538461538463vw), 90px) 0;

            &.past {
                margin: 36px 0;
                padding-top: clamp(38px, calc(32.23076923076923px + 1.6025641025641024vw), 63px);
                border-top: 1px solid #000;

            }

            .heading {
                padding: 1em;
                border-radius: 27px;
                color: #fff;

                &.new {
                    background: rgba(191, 184, 121, 0.92);
                    width: min(100%, 295px);
                }

                &.campaign {
                    background: #282745;
                    width: min(100%, 600px);
                }

                &.past {
                    background: var(--color-text);
                    width: min(100%, 568px);
                }
            }

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


            .column {
                display: flex;
                align-items: center;

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

            #category-filter {
                margin-left: 3em;

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

                select {
                    appearance: none;
                    -moz-appearance: none;
                    -webkit-appearance: none;
                    background: none;
                    border: none;
                    font-family: var(--font-ja-mincho);
                    font-size: clamp(14px, calc(13.538461538461538px + 0.1282051282051282vw), 16px);
                    color: var(--color-text);
                    border: 1px solid var(--color-text);
                    width: 100%;
                    height: 100%;
                    padding: 0 10px;
                    height: 35px;
                    width: 335px;
                }
            }


            .archive-list__items {
                display: flex;
                flex-wrap: wrap;
                justify-content: space-between;
                gap: 3em 3%;
                margin-top: 30px;

                .items {
                    display: block;
                    width: min(47%, 410px);

                    .thumbnail img {
                        width: 100%;
                        height: auto;
                        aspect-ratio: 3/3;
                        object-fit: cover;
                        box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
                    }

                    .date {
                        display: block;
                        margin-top: 14.3px;
                        padding-bottom: 15.3px;
                        border-bottom: 1px solid var(--color-text);

                        .new {
                            display: inline-block;
                            margin-left: 0.5em;
                            color: var(--color-blue01);
                            font-size: 12px;
                            font-weight: 600;
                        }
                    }

                    .caption {
                        margin-top: 3.6px;
                        font-family: var(--font-marugothic);
                        width: 100%;
                        overflow: hidden;

                        span {
                            display: -webkit-box;
                            -webkit-box-orient: vertical;
                            font-weight: 300;
                            -webkit-line-clamp: 2;
                            line-height: 1.66;

                        }

                    }
                }
            }
        }
    }

    &.single {
        .single__container {
            width: min(100% - 3rem);
            margin-inline: auto;
            padding: clamp(30px, calc(16.153846153846153px + 3.8461538461538463vw), 90px) 0;
            display: flex;

            @media (max-width: 959px) {
                flex-direction: column;
            }
        }

        .single__sidebar {
            width: 200px;
            border-right: 1px solid var(--color-text);
            padding: 25px 0;

            @media (max-width: 959px) {
                order: 2;
                width: 100%;
                border-right: none;
                border-top: 1px solid var(--color-text);
            }

            .tit {
                font-size: 21px;
                font-weight: 500;
                letter-spacing: 0.05em;

                span {
                    display: block;
                    font-family: var(--font-ja-gothic);
                    font-size: 12px;
                    margin-top: 0.8em;
                }
            }

            ul {
                list-style: disc;
                margin-left: 1em;

                li {
                    line-height: 2;

                    &:first-child {
                        margin-top: 25px;
                    }

                    a {
                        font-family: var(--font-ja-gothic);
                        white-space: nowrap;
                    }
                }
            }
        }

        .single-list {
            width: calc(100% - 200px);

            .inner {
                margin-left: 2rem;
            }

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

                .inner {
                    margin-left: 0;
                }
            }

            .column {
                display: flex;
                align-items: center;

                .cat {
                    font-size: 12px;
                    margin-left: 1.5em;
                    border: 1px solid #000;
                    padding: 0.3em 0.6em;
                }

                .new {
                    display: inline-block;
                    margin-left: 1.5em;
                    color: var(--color-blue01);
                    font-size: 12px;
                    font-weight: 600;
                }
            }

            .tit {
                font-family: var(--font-ja-gothic);
                font-size: 23px;
                font-weight: 600;
                margin-top: 15px;
            }

            .txt {
                font-family: var(--font-ja-gothic);
                font-size: 16px;
                font-weight: 400;
                line-height: 1.6em;
                margin: 40px 0;
            }

            .img {
                margin: 40px 0;
            }
        }

    }
}
/*========================================================
/* newborn-coupon（マタニティ・ニューボーン・お宮参り共通）
==========================================================*/
.newborn-coupon {
    text-align: center;
    margin-top: clamp(58px, calc(41.84px + 4.48vw), 128px);
}

.newborn-coupon__inner {
    width: min(100% - 2rem, 750px);
    margin-inline: auto;
}

/* チケット画像 */
.newborn-coupon__ticket-img {
    width: 100%;
    display: block;
}

/* note */
.newborn-coupon__note {
    font-family: var(--font-marugothic);
    font-size: clamp(13px, calc(11.2px + 0.48vw), 19px);
    color: var(--color-text);
    margin-top: 1.5em;
}

/* tags */
.newborn-coupon__tags {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5em;
    flex-wrap: wrap;
    margin-top: 1.3em;
}

/* * SP：〜767px ----- */
@media (max-width: 767px) {
    .newborn-coupon__tags {
        flex-direction: column;
        gap: 0.3em;
    }
}

.newborn-coupon__tag {
    font-family: var(--font-marugothic);
    font-size: clamp(14px, calc(11.9px + 0.56vw), 21px);
    color: #000;
    background: #e4e2cf;
    padding: 0.3em 1em;
    border-radius: 4px;
}

.newborn-coupon__plus {
    font-size: 20px;
    color: var(--color-blue01);
    font-weight: 700;
}

/* LINE */
.newborn-coupon__line {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.6em;
    margin-top: 2em;
}

.newborn-coupon__line-icon {
    width: min(15vw, 66px);
}

.newborn-coupon__line-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.8em;
    margin-top: -20px;
}

/* * SP：〜767px ----- */
@media (max-width: 767px) {
    .newborn-coupon__line-row {
        gap: 0.8em;
    }
}

.newborn-coupon__arrow {
    width: min(10vw, 40px);
}

.newborn-coupon__line-txt {
    font-family: var(--font-marugothic);
    font-size: clamp(14px, calc(11.9px + 0.56vw), 21px);
    color: #000;
    text-decoration: underline;
    text-decoration-color: #a79e4b;
    text-underline-offset: 10px;
    text-decoration-thickness: 1.5px;
}

/* ボタン */
.newborn-coupon__btn {
    margin-top: clamp(30px, 5vw, 60px);
}

.newborn-coupon__btn a {
    display: block;
    font-family: var(--font-marugothic);
    font-size: clamp(14px, 1.8vw, 18px);
    color: #fff;
    background: var(--color-blue02);
    padding: 1em 2em;
    border-radius: 8px;
}

/*========================================================
/* lineQR_sevice-qa（reserve共通）
==========================================================*/
.lineQR_sevice-qa {
    width: min(100% - 2rem, 147px);
    margin-inline: auto;
    margin: 70px auto 64px;
    text-align: left;

    .btn {
        a {
            display: block;
            text-align: center;
        }
    }
}
