#plans.plans-2025 {
    padding: var(--sec-padding1);
    margin-top: 0;
    .sec-header {
        padding-bottom: 2rem;
    }
    .wrap_L_cards {
        list-style: none;
        display: grid;
        grid-template-columns: 1fr 1fr;
        column-gap: var(--common-gap1);
        row-gap: 40px;
        .card {
            h3 {
                text-align: center;
                &::before {
                    margin-right: 10px;
                }
            }
            .inner {
                padding: 40px;
                border-radius: var(--common-br1);
                background: #fff;
                border: var(--card-border1);
                display: flex;
                flex-direction: column;
                align-items: center;
                small {
                    font-size: 19px;
                    background: var(--main-color-1);
                    border-radius: 999px;
                    color: #fff;
                    font-weight: 400;
                    padding-top: 5px;
                    padding-bottom: 5px;
                    padding-left: max(2.5vw, 5px);
                    padding-right: max(2.5vw, 5px);
                }
                p.p1_inner {
                    margin: 0 auto;
                    font-size: clamp(15px, 1.65vw, 18px);
                    font-weight: 600;
                    color: var(--main-dark1);
                    span {
                        color: var(--main-color-1);
                    }
                }
            }
            .inner2 {
                width: 100%;
                padding: 30px;
                display: flex;
                flex-direction: column;
                align-items: center;
                .inner2_inner {
                    display: grid;
                    grid-template-columns: 3fr 9fr;
                    column-gap: 30px;
                    margin-bottom: 20px;
                    width: 100%;
                    max-width: 400px;
                }
                .price_l {
                    position: relative;
                    display: flex;
                    flex-direction: column;
                    align-items: center;
                    justify-content: center;
                }
                .span_sub_title {
                    font-weight: bold;
                    font-size: 17px;
                    text-align: center;
                    color: var(--main-color-1);
                    display: block;
                }
                .h4_period {
                    color: #fff;
                    border-radius: 8px;
                    display: flex;
                    justify-content: center;
                    align-items: center;
                    margin: 0;
                    width: 100%;
                    height: 50px;
                    font-size: 18px;
                }
                .p_price {
                    font-size: 42px;
                    margin: 0;
                    font-weight: 700;
                    .zeinuki {
                        font-size: clamp(20px, 2vw, 22px);
                        font-weight: 400;
                        margin-left: 10px;
                    }
                }
                .zeikomi {
                    font-size: clamp(18px, 1.8vw, 20px);
                    color: #aaa;
                    margin: -5px 0 0;
                    padding: 0;
                }
                .price_r {
                    display: flex;
                    justify-content: end;
                    flex-direction: column;
                    align-items: end;
                }
            }
            .top-sec6_border {
                content: "";
                display: block;
                width: clamp(300px, 10vw, 600px);
                margin-top: 30px;
                border-bottom: 2px solid #eee;
            }
            .inner3 {
                margin-bottom: 20px;
                .inner3_l {
                    h5 {
                        background: var(--main-color-1);
                    }
                }
            }
            .inner4 {
                .inner4_l {
                    h5 {
                        background: #ed842f;
                    }
                }
            }
        }
        .card_B {
            h3 {
                &::before {
                    font: var(--fa-font-solid);
                    content: "\e163";
                }
            }
        }
        .card_M {
            h3 {
                &::before {
                    font: var(--fa-font-solid);
                    content: "\f3cf";
                }
            }
        }
    }
    .wrap_M_cards {
        padding: 60px 40px;
        background: var(--main-color-l2);
        border-radius: var(--common-br1);
        .wrap_img {
            width: clamp(100px, 6.75vw, 110px);
            height: clamp(100px, 6.75vw, 110px);
            background: #fff;
            border-radius: 999px;
            margin: 0 auto 40px;
            display: flex;
            align-items: center;
            justify-content: center;
            img {
                width: clamp(60px, 4vw, 65px);
                height: clamp(60px, 4vw, 65px);
            }
        }
        p.p_title {
            margin-bottom: 10px;
            text-align: center;
            font-weight: 600;
            font-size: 28px;
        }
        small {
            display: block;
            text-align: center;
            font-size: 20px;
        }
        .sec_footer.price_sec_footer {
            padding-bottom: 0;
            padding-top: 40px;
            a.btn-common {
                background: #fff;
                color: #111;
                filter: drop-shadow(0 0 15px rgba(213, 173, 136, 0.5));
                will-change: filter;
                .allow-box {
                    background: var(--main-color-l5);
                    &::after {
                        color: #111;
                    }
                }
            }
        }
    }
}
@media screen and (max-width: 1399px) {
    #plans.plans-2025 {
        & .wrap_M_cards {
            small {
                font-size: 18px;
            }
        }
    }
}
@media screen and (max-width: 1199px) {
    #plans.plans-2025 {
        & .wrap_L_cards {
            & .card {
                .inner {
                    padding: 40px 25px;
                    small {
                        font-size: 18px;
                        padding-left: max(3.5vw, 5px);
                        padding-right: max(3.5vw, 5px);
                    }
                }
                .inner2 {
                    padding: 30px 5px;
                    .span_sub_title {
                        font-size: 16px;
                    }
                    .p_price {
                        font-size: clamp(36px, 3.6vw, 39px);
                    }
                    .inner2_inner {
                        column-gap: 15px;
                        max-width: clamp(350px, 36.5vw, 385px);
                    }
                }
            }
        }
        & .wrap_M_cards {
            p.p_title {
                font-size: 26px;
            }
            small {
                font-size: 17px;
            }
        }
    }
}
@media screen and (max-width: 959px) {
    #plans.plans-2025 {
        .wrap_L_cards {
            grid-template-columns: 1fr;
            & .card {
                & .inner {
                    p.p1_inner {
                        font-size: clamp(14px, 2.75vw, 17px);
                    }
                }
                & .inner2 {
                    .inner2_inner {
                        max-width: clamp(395px, 57.5vw, 425px);
                        .p_price {
                            font-size: clamp(37px, 7.5vw, 45px);
                        }
                    }
                }
            }
        }
        & .wrap_M_cards {
            .wrap_img {
                width: clamp(80px, 9.5vw, 100px);
                height: clamp(80px, 9.5vw, 100px);
                margin: 0 auto 30px;
                img {
                    width: clamp(45px, 9.5vw, 52.5px);
                    height: clamp(45px, 9.5vw, 52.5px);
                }
            }
            p.p_title {
                font-size: 24px;
            }
        }
    }
}
@media screen and (max-width: 767px) {
    #plans.plans-2025 {
        & .wrap_L_cards {
            & .card {
                & .inner2 {
                    .inner2_inner {
                        max-width: clamp(375px, 72.5vw, 400px);
                    }
                }
            }
        }
        & .wrap_M_cards {
            padding: 50px 30px;
            p.p_title {
                font-size: clamp(20px, 4vw, 22px);
            }
            small {
                font-size: 16px;
            }
        }
    }
}
@media screen and (max-width: 480px) {
    #plans.plans-2025 {
        & .wrap_L_cards {
            & .card {
                .top-sec6_border {
                    width: clamp(200px, 20vw, 250px);
                }
                .inner {
                    padding: 40px 20px;
                    padding-right: min(0.1vw, 3vw);
                    padding-left: min(0.1vw, 3vw);
                    small {
                        font-size: clamp(12.5px, 3.5vw, 15px);
                        padding-left: max(6vw, 6px);
                        padding-right: max(6vw, 6px);
                    }
                    p.p1_inner {
                        font-size: clamp(14px, 4.5vw, 17px);
                        text-align: center;
                    }
                }
                & .inner2 {
                    padding: 30px 0;
                    padding-right: min(0.1vw, 3vw);
                    padding-left: min(0.1vw, 3vw);
                    .span_sub_title {
                        font-size: clamp(10px, 3vw, 14px);
                    }
                    .inner2_inner {
                        max-width: clamp(235px, 72.5vw, 325px);
                        grid-template-columns: 3fr 10fr;
                        .h4_period {
                            height: 45px;
                            font-size: clamp(14px, 1.4vw, 16px);
                        }
                        & .p_price {
                            font-size: clamp(25px, 7.5vw, 35px);
                            .zeinuki {
                                font-size: clamp(15px, 4.5vw, 21px);
                                margin-left: 8px;
                            }
                        }
                        .zeikomi {
                            margin-top: -3px;
                            font-size: clamp(14px, 3.5vw, 17px);
                        }
                    }
                }
            }
        }
        & .wrap_M_cards {
            padding: 50px 25px;
            p.p_title {
                font-size: clamp(15.5px, 4vw, 19px);
            }
            small {
                font-size: 15px;
            }
        }
    }
}

/* Enterprise restyle: pricing plans.
   The plan cards themselves live in magic-pod/pricing/style.css and are shared with
   the /pricing/ page, so everything here is scoped under #plans.plans-2025.
   Figma moves the Enterprise plan from orange to navy (#264A73 / #203E60). */
#plans.plans-2025 {
    /* Grey cards on white, as in the features and support sections. The card fill is
       hard-coded #fff in pricing/style.css, which /pricing/ shares, so it is
       overridden here. */
    background-color: #fff;
    border-radius: 0;

    .plan-card {
        background: #f8f8fc;
        border: 0;
        border-radius: 8px;
    }

    /* Tags take the 4px label radius; /pricing/ keeps its 50px. */
    .plan-tag,
    .price-badge {
        border-radius: 3px;
    }

    /* Green reduced to two tones, #0BA360 for fills and #087E4A for text, from the
       four that were previously mixed. */
    .plan-tag {
        background: var(--main-color-1);
    }

    .price-badge {
        background: var(--main-color-1);
    }

    .plan-tag.plan-tag-orange {
        background: #264a73;
    }

    .plan-standard .plan-name {
        color: var(--main-color-d1);
    }

    .plan-enterprise .plan-name {
        color: #264a73;
    }

    /* Prices use Roboto; the base rule hard-codes Hiragino Sans. */
    .price-amount,
    .price-monthly {
        font-family: "Roboto", "Noto Sans JP", "Hiragino Sans", sans-serif;
    }

    .price-number {
        font-size: 44px;
        line-height: 40px;
        font-weight: 700;
    }

    .plan-enterprise .price-number {
        font-size: 32px;
        color: #264a73;
    }

    /* Standard keeps the green outline, cancelling the shared near-black rule. */
    a.btn-common.btn-common-white.btn-common-white202512 {
        background: #fff;
        border: 1px solid var(--main-color-1);
        border-radius: 3px;
        color: var(--main-color-d1);

        .allow-box {
            background: #f8f8fc;

            &::after {
                color: var(--main-color-d1);
            }
        }

        &:hover {
            background: var(--main-color-1);
            border-color: var(--main-color-1);
            color: #fff;
            transform: translateY(-2px);
            box-shadow: 0 8px 18px rgba(11, 163, 96, 0.3);

            .allow-box {
                background: #fff;

                &::after {
                    color: var(--main-color-d1);
                    transform: translateX(6px);
                }
            }
        }
    }

    /* Enterprise moves from an orange gradient to flat navy. */
    /* The navy tag above and a filled button together read too heavy, so this is an
       outline built like the Standard green: coloured border and text, filling on hover. */
    a.btn-common.btn-common202512.btn-common-orange202512 {
        background: #fff;
        border: 1px solid #264a73;
        border-radius: 3px;
        color: #203e60;
        box-shadow: none;

        .allow-box {
            background: #f8f8fc;

            &::after {
                color: #203e60;
            }
        }

        &:hover {
            background: #264a73;
            border-color: #264a73;
            color: #fff;
            transform: translateY(-2px);
            box-shadow: 0 8px 18px rgba(32, 62, 96, 0.3);

            .allow-box {
                background: #fff;

                &::after {
                    color: #203e60;
                    transform: translateX(6px);
                }
            }
        }
    }
}
