.l-main * {
    font-family: "Zen Kaku Gothic New", sans-serif;
}
.l-main {
    width: 100%;
    margin: 0;
    padding: 0;
    background: #fff;
    overflow: hidden;
}
.mv__wrap {
    width: 100%;
}
    .mv__img {
        width: 100%;
        height: 638px;
        background: #F4F4F4;
        overflow: hidden;
        position: relative;
    }
    .mv__inner {
        width: 1140px;
        height: 100%;
        margin-inline: auto;
        position: relative;
        z-index: 1;
    }
        [class*="mv__swiper"] {
            position: absolute;
            top: -60px;
            width: 240px;
            height: 850px;
            overflow: hidden;
            transform: rotate(15deg);
        }
        .mv__swiper--left {
            left: -135px;
        }
        .mv__swiper--right {
            left: 133px;
        }
            [class*="mv__swiper"] .swiper-wrapper {
                transition-timing-function: linear !important;
            }
            [class*="mv__swiper"] .swiper-slide {
                width: 240px;
                height: 270px;
                flex-shrink: 0;
            }
                [class*="mv__swiper"] .swiper-slide img {
                    width: 100%;
                    height: 100%;
                    object-fit: cover;
                }

/* 連続スクロール（タブ切替・ブラウザバック耐性） */
.js-flow-marquee .swiper-wrapper {
    display: flex;
    width: max-content;
    height: max-content;
    transition: none !important;
    animation-duration: var(--flow-marquee-duration, 24s);
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    will-change: transform;
}
.js-flow-marquee--horizontal .swiper-wrapper {
    flex-direction: row;
    animation-name: flow-marquee-x;
}
.js-flow-marquee--vertical .swiper-wrapper {
    flex-direction: column;
    animation-name: flow-marquee-y;
}
.js-flow-marquee--horizontal .swiper-slide {
    margin-right: var(--flow-marquee-gap, 20px);
}
.js-flow-marquee--vertical .swiper-slide {
    margin-bottom: var(--flow-marquee-gap, 20px);
}
.js-flow-marquee--reverse .swiper-wrapper {
    animation-direction: reverse;
}
@keyframes flow-marquee-x {
    from { transform: translate3d(0, 0, 0); }
    to { transform: translate3d(-50%, 0, 0); }
}
@keyframes flow-marquee-y {
    from { transform: translate3d(0, 0, 0); }
    to { transform: translate3d(0, -50%, 0); }
}
@media (prefers-reduced-motion: reduce) {
    .js-flow-marquee .swiper-wrapper {
        animation: none !important;
    }
}
        .mv__right {
            width: 689px;
            padding-top: 104px;
            margin-left: auto;
            position: relative;
        }
            .mv__sub-ttl {
                margin-left: 18px;
            }
            .mv__ttl {
                position: absolute;
                top: 192px;
                left: 9px;
            }
            .mv__bottom-bt-list {
                display: flex;
                align-items: center;
                justify-content: flex-end;
                gap: 25px;
                margin-top: 395px;
                margin-right: 1px;
            }
                [class*="mv__bottom-bt-link"] {
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    gap: 8px;
                    color: #252525;
                }
                    [class*="mv__bottom-bt-link"] span {
                        display: flex;
                        flex-direction: column;
                        gap: 4px;
                        font-size: 18px;
                        font-weight: 700;
                    }
                    [class*="mv__bottom-bt-link"] span::after {
                        content: '';
                        display: block;
                        width: 100%;
                        height: 1px;
                        background: #252525;
                    }
                .mv__bottom-bt-link--left .mv__bottom-bt-icon {
                    color: #004D2D;
                }
                .mv__bottom-bt-link--right .mv__bottom-bt-icon {
                    color: #47AA42;
                }

.info__num-list {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #252525;
    padding-block: 12px;
}
    .info__num-item {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 18px;
        width: 380px;
        position: relative;
    }
    .info__num-item::before {
        content: '';
        display: block;
        width: 1px;
        height: 42px;
        background: #fff;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        left: 0;
    }
    .info__num-item:last-child::after {
        content: '';
        display: block;
        width: 1px;
        height: 42px;
        background: #fff;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        right: 0;
    }
        .info__num-ttl {
            font-size: 20px;
            font-weight: 700;
            line-height: 1.4;
            color: #fff;
        }
            .info__num-ttl span {
                font-size: 10px;
                font-weight: 700;
                line-height: 1.5;
                color: #fff;
            }
        .info__num-txt {
            font-family: "Roboto", sans-serif;
            font-size: 55px;
            font-weight: 700;
            line-height: 1;
            color: #fff;
            margin-top: 3px;
        }
            .info__num-txt span {
                font-size: 18px;
                font-weight: 700;
                line-height: 1.7;
                color: #fff;
                margin-left: 11px;
            }

/*////////////////// common ////////////////////*/
[class*="cnt__wrap"] {
    padding-block: 160px 100px;
}
    [class*="cnt__inner"] {
        width: 1140px;
        margin-inline: auto;
    }
        [class*="cnt__ttl"] {
            font-size: 55px;
            font-weight: 900;
            line-height: 1.4;
            color: #252525;
            text-align: center;
            position: relative;
            z-index: 0;
        }
            [class*="cnt__bg-ttl"] {
                font-family: "Roboto", sans-serif;
                font-size: 320px;
                font-weight: 900;
                line-height: 1;
                letter-spacing: 0.02em;
                color: #E6F0EE;
                text-align: center;
                position: absolute;
                top: 0;
                left: 50%;
                transform: translateX(-50%);
                z-index: -1;
            }
        [class*="more__bt"] a {
            display: flex;
            align-items: center;
            gap: 6px;
            width: fit-content;
            font-size: 14px;
            font-weight: 500;
            line-height: 1.3; 
            color: #252525;
        }

/*////////////////// worries ////////////////////*/
.cnt__wrap--worries {
    padding-top: 56px;
    background: #F4F4F4;
}
    .cnt__ttl--worries {
        padding-block: 106px 60px;
    }
    .cnt__sub-ttl--worries {
        display: block;
        font-size: 24px;
        font-weight: 700;
        line-height: 1;
        letter-spacing: 0.02em;
        color: #196B15;
        text-align: center;
        margin-bottom: 5px;
    }
    .cnt__property-ttl--worries {
        display: inline-block;
        transform: rotate(16deg);
    }
    .worries__list {
        display: flex;
        flex-wrap: wrap;
        gap: 30px;
        position: relative;
        z-index: 1;
    }
        [class*="worries__item"] {
            width: 360px;
        }
        .worries__item--large {
            width: 555px;
        }
            .worries__link {
                display: flex;
                align-items: center;
                gap: 21px;
                width: 100%;
                height: 100%;
                padding: 30px 31px 27px 29px;
                background: #fff;
                border-radius: 10px;
                overflow: hidden;
            }
            .worries__item--large .worries__link {
                padding: 35px 34px 27px;
                gap: 25px;
            }
                .worries__link .worries__icn {
                    margin-bottom: 14px;
                }
                .worries__txtbox {
                    display: flex;
                    justify-content: space-between;
                    flex-direction: column;
                    gap: 14px;
                    width: 200px;
                }
                .worries__item--large .worries__txtbox {
                    gap: 19px;
                    width: 380px;
                }
                    .worries__ttl {
                        width: fit-content;
                        padding: 2px 12px 3px;
                        border-radius: 3px;
                        background: #196B15;
                        font-size: 35px;
                        font-weight: 700;
                        line-height: 1.4;
                        color: #FFF;
                        flex-shrink: 0;
                    }
                    .worries__item--large .worries__ttl {
                        padding: 2px 15px 3px;
                    }
                    .worries__txt {
                        font-size: 18px;
                        font-weight: 500;
                        color: #252525;
                        margin-top: 10px;
                    }
                    .worries__more-bt {
                        display: flex;
                        align-items: center;
                        justify-content: flex-end;
                        gap: 4px;
                        font-size: 14px;
                        font-weight: 500;
                        line-height: 1.3;
                        color: #252525;
                    }

/*////////////////// voice ////////////////////*/
.cnt__wrap--voice {
    padding-block: 116px 120px;
}
    .cnt__ttl--voice {
        padding-block: 118px 77px;
    }
    .cnt__property-ttl--voice {
        display: inline-block;
        transform: rotate(16deg);
    }
    .cnt__bg-ttl--voice {
        color: #F5F9F8;
    }
    .voice__swiper {
        position: relative;
        z-index: 1;
    }
    .voice__swiper .swiper-slide {
        width: 350px;
    }
    .voice__item {
        transition: .4s;
    }
    .voice__swiper .swiper-slide:nth-of-type(even) .voice__item {
        padding-top: 50px;
    }
        .voice__item a {
            display: block;
            width: 350px;
            height: 334px;
        }
            .voice__img {
                width: 100%;
                height: 263px;
                border-radius: 10px;
                overflow: hidden;
                position: relative;
            }
                .voice__img img {
                    width: 100%;
                    height: 100%;
                    object-fit: cover;
                }
                .voice__name {
                    padding: 1px 15px 2px;
                    border-radius: 9999px;
                    background: #004D2D;
                    font-size: 18px;
                    font-weight: 500;
                    color: #FFF;
                    position: absolute;
                    bottom: 10px;
                    left: 9px;
                }
            .voice__txt {
                font-size: 20px;
                font-weight: 700;
                line-height: 1.4;
                color: #252525;
                overflow: hidden;
                text-overflow: ellipsis;
                display: -webkit-box;
                -webkit-line-clamp: 2;
                -webkit-box-orient: vertical;
                margin-top: 16px;
            }
    .more__bt--voice {
        margin-top: 40px;
    }
        .more__bt--voice a {
            margin-left: auto;
        }

/*////////////////// navi ////////////////////*/
.cnt__wrap--navi {
    padding-block: 378px 160px;
    background: url(/images/top/navi_bg.webp) no-repeat top center / cover;
}
    .cnt__ttl--navi {
        color: #fff;
    }
    .cnt__sub-ttl--navi {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 255px;
        height: 32px;
        background: #fff;
        font-size: 24px;
        font-weight: 700;
        line-height: 1;
        letter-spacing: 0.02em;
        color: #196B15;
        text-align: center;
        margin-inline: auto;
    }
    .cnt__property-ttl--navi {
        display: inline-block;
        transform: rotate(16deg);
    }
    .navi__list {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        gap: 50px;
        margin-top: 61px;
    }
        .navi__item {
            width: 504px;
        }
            .navi__img {
                width: 420px;
                height: 240px;
                border-radius: 15px;
                overflow: hidden;
            }
                .navi__img img {
                    width: 100%;
                    height: 100%;
                    object-fit: cover;
                }
            .navi__txtbox {
                width: 414px;
                padding-top: 40px;
                margin-left: 10px;
                position: relative;
            }
                .navi__ttl {
                    display: flex;
                    align-items: center;
                    gap: 10px;
                    font-family: "Momo Trust Display", sans-serif;
                    font-size: 60px;
                    font-weight: 400;
                    line-height: 1.4;
                    color: #fff;
                    position: absolute;
                    top: -42px;
                    left: 0;
                }
                    .navi__ttl span {
                        display: inline-block;
                        height: 44px;
                        padding-top: 10px;
                        padding-inline: 10px 0;
                        background: #fff;
                        font-size: 24px;
                        font-weight: 900;
                        line-height: 1;
                        letter-spacing: 0.02em;
                        color: #252525;
                        white-space: nowrap;
                    }
                    .navi__ttl .navi__ttl-num-wrap {
                        padding-top: 4px;
                    }
                    .navi__ttl .navi__ttl-num {
                        font-size: 33px;
                        padding: 0;
                        background: transparent;
                    }
                .navi__txt {
                    font-size: 18px;
                    font-weight: 500;
                    color: #fff;
                }

/*////////////////// staff ////////////////////*/
.cnt__wrap--staff {
    padding-block: 115px 160px;
    background: #F4F4F4;
}
    .cnt__ttl--staff {
        padding-block: 119px 77px;
    }
    .cnt__ttl-inner--staff {
        display: block;
        width: fit-content;
        padding: 0 10px 3px;
        background: #fff;
        margin-inline: auto;
    }
    .cnt__property-ttl--staff {
        display: inline-block;
        transform: rotate(16deg);
    }
    .cnt__bg-ttl--staff {
        color: #36A112;
    }
    .staff__top-txt {
        font-size: 18px;
        font-weight: 500;
        line-height: 1.4;
        color: #252525;
        text-align: center;
        margin-top: 17px;
    }
    .staff__swiper {
        position: relative;
        z-index: 1;
        margin-top: 49px;
    }
    .staff__swiper .swiper-slide {
        width: 308px;
    }
    .staff__swiper .swiper-slide:nth-of-type(even) .staff__item {
        padding-top: 50px;
    }
        .staff__item  a {
            display: block;
            width: 308px;
            height: 355px;
        }
            .staff__img {
                width: 100%;
                height: 320px;
                border-radius: 10px;
                overflow: hidden;
                position: relative;
            }
                .staff__img img {
                    width: 100%;
                    height: 100%;
                    object-fit: cover;
                }
            .staff__txtbox {
                padding-top: 18px;
                position: relative;
            }
            .staff__name {
                display: flex;
                align-items: center;
                gap: 20px;
            }
                .staff__name-type {
                    font-size: 16px;
                    font-weight: 700;
                    line-height: 1;
                    color: #252525;
                    position: relative;
                }
                .staff__name-type::after {
                    content: '';
                    display: block;
                    width: 1px;
                    height: 15px;
                    background: #252525;
                    position: absolute;
                    top: 2px;
                    right: -9px;
                }
                .staff__name-txt {
                    font-size: 16px;
                    font-weight: 700;
                    line-height: 1;
                    background: linear-gradient(90deg, #01BB58 0%, #0A6D70 100%);
                    background-clip: text;
                    -webkit-background-clip: text;
                    -webkit-text-fill-color: transparent;
                }
            .staff__txt {
                display: flex;
                flex-direction: column;
                gap: 5px;
                width: 326px;
                max-height: calc(33px * 2 + 5px);
                overflow: hidden;
                text-wrap: balance;
                position: absolute;
                top: -91px;
                left: -40px;            
            }
                .staff__txt .bunsetsu-wrap__segment {
                    display: inline-block;
                    width: fit-content;
                    max-width: 100%;
                    height: 33px;
                    padding-top: 1px;
                    padding-inline: 10px;
                    overflow: hidden;
                    background: #FFF;
                    position: relative;
                    z-index: 1;
                }
                    .staff__txt .bunsetsu-wrap__segment-txt {
                        display: block;
                        overflow: hidden;
                        text-overflow: ellipsis;
                        white-space: nowrap;
                        font-size: 18px;
                        font-weight: 700;
                        line-height: 32px;
                        background: linear-gradient(90deg, #01BB58 0%, #0A6D70 100%);
                        background-clip: text;
                        -webkit-background-clip: text;
                        -webkit-text-fill-color: transparent;
                    }
    .more__bt--staff {
        margin-top: 40px;
    }
        .more__bt--staff a {
            margin-left: auto;
        }
    .area__map {
        padding-block: 80px 86px;
        margin-top: 160px;
        position: relative;
        z-index: 1;
    }
    .area__map::before {
        content: '';
        display: block;
        width: 681px;
        height: 526px;
        background: url(/images/top/map_img.webp) no-repeat center / cover;
        position: absolute;
        top: 115px;
        right: -47px;
    }
    .area__map::after {
        content: '';
        width: 1386px;
        height: 749px;
        border-radius: 30px;
        background: #FFF;
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        z-index: -1;
    }
        .area__ttl {
            font-size: 55px;
            font-weight: 900;
            line-height: 1.4;
            color: #196B15;
        }
        .area__box {
            width: 506px;
            height: 394px;
            border-radius: 8px;
            background: #66C242;
            margin-top: 35px;
        }
            .area__box-ttl {
                display: flex;
                align-items: center;
                justify-content: center;
                width: 150px;
                height: 38px;
                border-radius: 8px 0;
                background: #004D2D;
                font-size: 20px;
                font-weight: 700;
                line-height: 1.4;
                color: #fff;
            }
            .area__list-box {
                display: flex;
                justify-content: space-between;
                margin-top: 18px;
                padding-inline: 41px;
            }
                .area__list-osaka {
                    width: 296px;
                }
                .area__list-other {
                    width: 100px;
                }
                    .area__list-ttl {
                        font-size: 20px;
                        font-weight: 700;
                        line-height: 1.4;
                        color: #fff;
                        border-bottom: 1px solid #fff;
                        padding-bottom: 9px;
                        margin-bottom: 10px;
                    }
                    .area__list-osaka .area__list {
                        display: grid;
                        grid-template-columns: repeat(3, 1fr);
                        gap: 5px 25px;
                    }
                    .area__list-other .area__list {
                        display: flex;
                        flex-direction: column;
                        gap: 5px;
                    }
                        .area__item {
                            display: flex;
                            align-items: center;
                            gap: 5px;
                            font-size: 18px;
                            font-weight: 500;
                            color: #fff;
                        }
                        .area__item::before {
                            content: '';
                            display: block;
                            width: 5px;
                            height: 5px;
                            border-radius: 50%;
                            background: #fff;
                        }

/*////////////////// achievement ////////////////////*/
.cnt__wrap--achievement {
    padding-block: 115px 120px;
}
    .cnt__ttl--achievement {
        padding-block: 103px 61px;
    }
    .cnt__sub-ttl--achievement {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 255px;
        height: 32px;
        background: #fff;
        font-size: 24px;
        font-weight: 700;
        line-height: 1;
        letter-spacing: 0.02em;
        color: #196B15;
        text-align: center;
        margin-inline: auto;
    }
    .cnt__property-ttl--achievement {
        display: inline-block;
        transform: rotate(16deg);
    }
    .cnt__bg-ttl--achievement {
        color: #F5F9F8;
    }
    .achievement__list {
        display: flex;
        flex-wrap: wrap;
        gap: 29px 32px;
        position: relative;
        z-index: 1;
    }
        .achievement__item {
            width: 261px;
        }
            .achievement__img {
                width: 100%;
                height: 174px;
                border-radius: 10px;
                overflow: hidden;
                position: relative;
            }
                .achievement__img img {
                    width: 100%;
                    height: 100%;
                    object-fit: cover;
                }
                .achievement__tag-txt {
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    width: fit-content;
                    height: 25px;
                    padding-inline: 15px;
                    border-radius: 9999px;
                    background: #004D2D;
                    font-size: 16px;
                    font-weight: 700;
                    line-height: 1;
                    color: #fff;
                    position: absolute;
                    bottom: 10px;
                    left: 10px;
                }
            .achievement__ttl {
                font-size: 20px;
                font-weight: 700;
                line-height: 1.4;
                color: #252525;
                overflow: hidden;
                text-overflow: ellipsis;
                white-space: nowrap;
                margin-top: 11px;
            }
    .more__bt--achievement {
        margin-top: 28px;
    }
        .more__bt--achievement a {
            margin-left: auto;
        }
    .sns__box {
        margin-top: 161px;
        display: flex;
        gap: 43px;
        width: 1140px;
        height: 260px;
        border-radius: 20px;
        background: #36A112;
        padding: 0 40px 0;
    }
    .sns__ttl {
        font-size: 55px;
        font-weight: 900;
        line-height: 1.4;
        color: #fff;
        margin-top: 84px;
    }
        .sns__ttl span {
            display: block;
            font-size: 18px;
            font-weight: 500;
            color: #fff;
            margin-top: 11px;
            margin-left: 8px;
        }
    .sns__list {
        display: flex;
        gap: 20px;
        margin-top: 70px;
    }
        .sns__item {
            width: fit-content;
            height: fit-content;
        }
            [class*="sns__link"] {
                display: flex;
                width: 372px;
                height: 120px;
                border-radius: 10px;
                overflow: hidden;
                position: relative;
            }
            .sns__link--instagram {
                background: linear-gradient(0deg, rgba(255, 255, 255, 0.20) 0%, rgba(255, 255, 255, 0.20) 100%), linear-gradient(81deg, #FFCB02 -3.2%, #FF4917 22.1%, #FF1D38 53.82%, #F10196 81.23%, #C114BD 93.35%, #7931F8 100%);
            }
            .sns__link--tiktok {
                background: linear-gradient(0deg, rgba(255, 255, 255, 0.20) 0%, rgba(255, 255, 255, 0.20) 100%), #000;
            }
            .sns__txtbox {
                display: flex;
                flex-direction: column;
                gap: 1px;
                margin-top: 20px;
            }
                .sns__txtbox-ttl {
                    font-size: 30px;
                    font-weight: 700;
                    line-height: 1.4;
                    color: #fff;
                }
                .sns__txtbox-txt {
                    display: flex;
                    align-items: center;
                    gap: 5px;
                    font-size: 18px;
                    font-weight: 500;
                    line-height: 1.1;
                    color: #fff;
                }
                    .sns__txtbox-txt span {
                        display: flex;
                        align-items: center;
                        justify-content: center;
                        width: 30px;
                        height: 20px;
                        background: #FFF;
                        margin-top: 4px;
                        padding-bottom: 3px;
                        font-size: 16px;
                        font-weight: 700;
                        line-height: 1;
                        color: #FF5C52;
                    }
                    .sns__link--tiktok .sns__txtbox-txt span {
                        color: #333;
                    }
                .sns__arrow {
                    position: absolute;
                    top: 50%;
                    right: 20px;
                    transform: translateY(-50%);
                }
                .sns__link--instagram .sns__arrow {
                    color: #E53AB8;
                }
                .sns__link--tiktok .sns__arrow {
                    color: #333;
                }

/*////////////////// contact ////////////////////*/
.cnt__wrap--contact {
    padding-block: 0 60px;
    background: #333;
    overflow: hidden;
}
    .cnt__ttl--contact {
        padding-block: 74px 44px;
    }
    .cnt__sub-ttl--contact {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 330px;
        height: 80px;
        background: #fff;
        margin-inline: auto;
        font-size: 55px;
        font-weight: 900;
        line-height: 1.4;
        color: #004D2D;
    }
    .cnt__bg-ttl--contact {
        top: -44px;
        color: #424242;
    }
    .contact__top-txt {
        font-size: 18px;
        font-weight: 700;
        color: #FFF;
        text-align: center;
        position: relative;
        z-index: 1;
    }
    .contact__list {
        display: flex;
        justify-content: center;
        gap: 40px;
        margin-top: 50px;
    }
        [class*="contact__link"] {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 10px;
            width: 440px;
            height: 110px;
            border-radius: 10px;
            background: #FFF;
            padding-inline: 50px 39px;
            font-size: 25px;
            font-weight: 700;
            line-height: 1.4;
            color: #004D2D;
        }
        .contact__link--mail {
            color: #47AA41;
        }
        .contact__arrow {
            color: #004D2D;
        }
        .contact__link--mail .contact__arrow {
            color: #47AA41;
        }

/*////////////////// plan ////////////////////*/
.cnt__wrap--plan {
    padding-block: 116px 58px;
    background: #F4F4F4;
}
    .cnt__ttl--plan {
        padding-block: 102px 61px;
    }
    .cnt__sub-ttl--plan {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 230px;
        height: 32px;
        background: #fff;
        margin-inline: auto;
        font-size: 24px;
        font-weight: 700;
        line-height: 1;
        letter-spacing: 0.02em;
        color: #196B15;
    }
    .plan__list {
        display: flex;
        justify-content: center;
        gap: 30px;
        position: relative;
        z-index: 1;
    }
    .plan__list::before {
        content: '';
        width: 200px;
        height: 200px;
        border-radius: 8px;
        background: #D3E6DF;
        position: absolute;
        top: -41px;
        left: 55px;
        z-index: -1;
    }
    .plan__list::after {
        content: '';
        width: 60px;
        height: 100px;
        border-radius: 8px;
        background: #BDDDD7;
        position: absolute;
        bottom: 15px;
        right: 65px;
        z-index: -1;
    }
        [class*="plan__item"] {
            width: 450px;
            border-radius: 10px;
            padding-block: 65px;
            background: #fff;
            position: relative;
        }
        .plan__item--speed::after {
            content: '';
            width: 45px;
            height: 45px;
            border-radius: 8px;
            background: #3B8377;
            position: absolute;
            bottom: 3px;
            right: -13px;
        }
            .plan__ttl {
                font-size: 30px;
                font-weight: 700;
                line-height: 1.4;
                color: #252525;
                text-align: center;
            }
            .plan__ttl::after {
                content: '';
                display: block;
                width: 100px;
                height: 1px;
                background: #CFCFCF;
                margin-top: 20px;
                margin-inline: auto;
            }
                .plan__sub-ttl {
                    display: block;
                    font-size: 20px;
                    font-weight: 700;
                    line-height: 1.4;
                    color: #252525;
                }
                .plan__property-ttl {
                    color: #289368;
                }
                .plan__item--speed .plan__property-ttl {
                    color: #3B8377;
                }
                .plan__txt {
                    font-size: 18px;
                    font-weight: 500;
                    color: #252525;
                    text-align: center;
                    margin-top: 20px;
                }
                .plan__detail-list {
                    display: flex;
                    flex-direction: column;
                    gap: 8px;
                    width: fit-content;
                    margin-inline: auto;
                    margin-top: 20px;
                }
                .plan__detail-item {
                    display: flex;
                    align-items: center;
                    gap: 8px;
                    font-size: 18px;
                    font-weight: 500;
                    color: #252525;
                    text-align: center;
                }
                .plan__check-icon {
                    color: #289368;
                }
                .plan__item--speed .plan__check-icon {
                    color: #3B8377;
                }

/*////////////////// flow ////////////////////*/
.cnt__wrap--flow {
    padding-block: 59px 160px;
    background: #F4F4F4;
}
    .cnt__ttl--flow {
        padding-block: 101px 61px;
    }
    .cnt__sub-ttl--flow {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 353px;
        height: 32px;
        background: #fff;
        margin-inline: auto;
        font-size: 24px;
        font-weight: 700;
        line-height: 1;
        letter-spacing: 0.02em;
        color: #196B15;
    }
    .flow__box {
        display: flex;
        justify-content: center;
        gap: 30px;
        position: relative;
    }
        .flow__left-list {
            display: flex;
            flex-direction: column;
            justify-content: center;
            gap: 50px;
        }
            [class*="flow__left-item"] {
                display: flex;
                align-items: center;
                justify-content: center;
                width: 57px;
                height: 132px;
                border-radius: 5px;
                background: #289368;
                padding-top: 7px;
                font-size: 18px;
                font-weight: 700;
                line-height: 1.2;
                letter-spacing: 0.25em;
                color: #fff;
                writing-mode: vertical-rl;
            }
            .flow__left-item--speed {
                background: #3B8377;
            }
        .flow__right-list {
            display: flex;
            gap: 12px;
            counter-reset: flow-item;
        }
            .flow__right-item {
                display: flex;
                align-items: center;
                flex-direction: column;
                gap: 23px;
                position: relative;
                z-index: 1;
                width: 90px;
                height: 400px;
                border-radius: 5px;
                background: #FFF;
                padding-top: 24px;
                counter-increment: flow-item;
            }
            .flow__right-item--short {
                height: 280px;
            }
            .flow__right-item:last-child {
                z-index: 0;
            }
                .flow__num {
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    flex-direction: column;
                    width: 50px;
                    padding-bottom: 17px;
                    border-bottom: 1px solid #CFCFCF;
                    font-size: 14px;
                    font-weight: 700;
                    line-height: 1;
                    color: #252525;
                }
                .flow__num::after {
                    content: counter(flow-item, decimal-leading-zero);
                    font-family: "Roboto", sans-serif;
                    font-size: 20px;
                    font-weight: 700;
                    line-height: 1;
                    color: #252525;
                }
                .flow__txt {
                    font-size: 18px;
                    font-weight: 700;
                    line-height: 1.2;
                    letter-spacing: 0.23em;
                    color: #252525;
                    writing-mode: vertical-rl;
                }
        [class*="flow__arrow"] {
            position: absolute;
            left: 127px;
            z-index: 0;
            pointer-events: none;
        }
        .flow__arrow--top {
            color: #289368;
            top: 98px;
        }
        .flow__arrow--bottom {
            color: #3B8377;
            bottom: 98px;
        }

/*////////////////// blog ////////////////////*/
.cnt__wrap--blog {
    padding-block: 116px 161px;
    background: #F4F4F4;
}
    .cnt__ttl--blog {
        padding-block: 118px 74px;
    }
    .cnt__sub-ttl--blog {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 385px;
        height: 80px;
        background: #fff;
        margin-inline: auto;
        font-size: 55px;
        font-weight: 900;
        line-height: 1.4;
        color: #252525;
    }
    .cnt__bg-ttl--blog {
        color: #47AA42;
    }
    .blog__box {
        position: relative;
        z-index: 1;
    }
    .blog__box::before {
        content: '';
        background: #F4F4F4;
        position: absolute;
        top: 0;
        bottom: 0;
        left: calc(50% - 50vw);
        right: 1140px;
        z-index: 2;
    }
        .blog__swiper .swiper-slide {
            width: 347px;
            flex-shrink: 0;
        }
            .blog__item {
                width: 100%;
                border-radius: 10px;
                overflow: hidden;
                background: #FFF;
            }
                .blog__item a {
                    display: block;
                    width: 100%;
                }
                    .blog__top-img {
                        display: flex;
                    }
                        .blog__img {
                            width: 300px;
                            height: 225px;
                            overflow: hidden;
                        }
                            .blog__img img {
                                width: 100%;
                                height: 100%;
                                object-fit: cover;
                            }
                        .blog__date {
                            font-size: 18px;
                            font-weight: 500;
                            line-height: 1.2;
                            color: #004D2D;
                            writing-mode: vertical-rl;
                            margin: 15px 0 0 13px;
                        }
                    .blog__txtbox {
                        padding: 16px 20px 0;
                    }
                        .blog__ttl {
                            font-size: 20px;
                            font-weight: 700;
                            line-height: 1.4;
                            color: #252525;
                            overflow: hidden;
                            text-overflow: ellipsis;
                            display: -webkit-box;
                            -webkit-line-clamp: 3;
                            -webkit-box-orient: vertical;
                        }
                        .blog__cate-box {
                            display: flex;
                            justify-content: space-between;
                            align-items: center;
                            margin-top: 14px;
                        }
                            .blog__category {
                                display: flex;
                                align-items: center;
                                justify-content: center;
                                height: 25px;
                                padding-inline: 15px;
                                border-radius: 9999px;
                                background: #004D2D;
                                font-size: 16px;
                                font-weight: 700;
                                line-height: 1;
                                color: #fff;
                            }
                            .blog__name {
                                font-size: 16px;
                                font-weight: 700;
                                line-height: 1;
                                color: #252525;
                            }
                        .blog__tag-list {
                            display: flex;
                            flex-wrap: wrap;
                            gap: 10px 15px;
                            padding-inline: 21px;
                            padding-bottom: 26px;
                            margin-top: 17px;
                        }
                            .blog__tag-item a {
                                display: flex;
                                align-items: center;
                                font-size: 16px;
                                font-weight: 700;
                                line-height: 1;
                                color: #252525;
                            }
                            .blog__tag-item a span {
                                color: #004D2D;
                            }
        .more__bt--blog {
            margin-top: 29px;
        }
            .more__bt--blog a {
                margin-left: auto;
            }

/*////////////////// news ////////////////////*/
.cnt__wrap--news {
    padding-block: 130px 160px;
    position: relative;
    z-index: 1;
}
.cnt__wrap--news::after {
    content: '';
    height: 450px;
    background: #36A112;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: -1;
}
    .cnt__inner--news {
        display: flex;
        gap: 39px;
    }
        .cnt__ttl--news {
            font-family: "Roboto", sans-serif;
            font-size: 40px;
            font-weight: 900;
            line-height: 1;
            letter-spacing: 0.02em;
            color: #FFF;
            text-align: left;
        }
        .cnt__sub-ttl--news {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 240px;
            height: 77px;
            background: #fff;
            margin-inline: auto;
            font-size: 55px;
            font-weight: 900;
            line-height: 1.4;
            color: #252525;
            margin-top: 15px;
        }
        .news__left {
            flex-shrink: 0;
            padding-top: 10px;
        }
            .more__bt--news {
                margin-top: 59px;
            }
                .news__left .more__bt--news a {
                    margin-left: 0;
                    color: #fff;
                }
        .news__right {
            width: 860px;
            padding: 70px 0 70px 65px;
            position: relative;
            z-index: 1;
        }
        .news__right::after {
            content: '';
            background: #F4F4F4;
            border-radius: 20px 0 0 20px;
            position: absolute;
            top: 0;
            bottom: 0;
            left: 0;
            right: calc(50% - 50vw);
            z-index: -1;
        }
        .scrollbar-content.vertical{
            max-height: 300px;
        }
        .simplebar-track.simplebar-vertical{
            background: #CFCFCF;
            width: 6px;
            border-radius: 5px;
        }
        .news__right .simplebar-scrollbar.simplebar-visible:before {
            width: 6px;
            background-color: #252525;
            border-radius: 5px;
            opacity: 1;
            top: 0;
            bottom: 0;
            left: 0;
            right: 0;
        }
        .org-scroll__list {
            display: flex;
            flex-direction: column;
            gap: 15px;
            padding-right: 36px;
        }
            .org-scroll__item {
                padding-bottom: 15px;
                border-bottom: 1px solid #CFCFCF;
            }
                .org-scroll__date {
                    font-size: 16px;
                    font-weight: 700;
                    line-height: 1;
                    color: #004D2D;
                }
                .org-scroll__ttl {
                    font-size: 18px;
                    font-weight: 700;
                    color: #252525;
                    margin-top: 7px;
                }
                .org-scroll__txt {
                    margin-top: 7px;
                }

/*////////////////// company ////////////////////*/
.cnt__wrap--company {
    padding-block: 0 58px;
}
    .company__swiper {
        width: 100%;
        overflow: hidden;
        position: relative;
        z-index: 0;
    }
        .company__swiper .swiper-wrapper {
            transition-timing-function: linear !important;
        }
        .company__swiper .swiper-slide {
            width: 312px;
            height: 270px;
            flex-shrink: 0;
        }
            .company__swiper .swiper-slide img {
                width: 100%;
                height: 100%;
                object-fit: cover;
            }
    .cnt__ttl--company {
        padding-block: 74px 76px;
    }
    .cnt__bg-ttl--company {
        top: -45px;
        color: #F5F9F8;
    }
    .org-company__box {
        display: flex;
        gap: 40px;
    }
    .org-company__img {
        width: 570px;
        height: 526px;
        border-radius: 15px;
        overflow: hidden;
        margin-top: 1px;
        flex-shrink: 0;
    }
        .org-company__img img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }
    .org-company__list {
        display: flex;
        flex-direction: column;
        gap: 16px;
        padding-top: 16px;
        border-top: 1px solid #CFCFCF;
    }
        .org-company__item {
            display: flex;
            align-items: center;
            gap: 30px;
            padding-bottom: 15px;
            border-bottom:1px solid #CFCFCF;
        }
            .org-company__ttl {
                width: 72px;
                flex-shrink: 0;
                font-size: 18px;
                font-weight: 700;
                color: #004D2D;
            }
            .org-company__txt {
                font-size: 18px;
                font-weight: 500;
                color: #252525;
            }

/*////////////////// faq ////////////////////*/
.cnt__wrap--faq {
    padding-block: 58px 160px;
}
    .cnt__ttl--faq {
        padding-block: 118px 74px;
    }
    .cnt__sub-ttl--faq {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 330px;
        height: 80px;
        background: #fff;
        margin-inline: auto;
        font-size: 55px;
        font-weight: 900;
        line-height: 1.4;
        color: #252525;
    }
    .cnt__bg-ttl--faq {
        color: #47AA42;
    }
    .faq__list {
        display: flex;
        flex-direction: column;
        gap: 20px;
        position: relative;
        z-index: 1;
    }
        .faq__item {
            display: flex;
            flex-direction: column;
            gap: 10px;
            padding: 40px;
            border-radius: 15px;
            background: #F4F4F4;
        }
            .faq__ttl {
                display: flex;
                align-items: center;
                gap: 15px;
                font-size: 20px;
                font-weight: 700;
                line-height: 1.4;
                color: #47AA42;
            }
            .faq__ttl::before {
                content: 'Q';
                display: flex;
                align-items: center;
                justify-content: center;
                width: 40px;
                height: 40px;
                border-radius: 5px;
                background: #47AA42;
                font-family: "Roboto", sans-serif;
                font-size: 30px;
                font-weight: 700;
                line-height: 1;
                color: #fff;
            }
            .faq__txt {
                font-size: 18px;
                font-weight: 500;
                line-height: 2;
                color: #252525;
                margin-left: 55px;
            }

/*////////////////// address ////////////////////*/
.cnt__wrap--address {
    padding-block: 100px 67px;
    background: url(/images/top/address_bg.webp) no-repeat center / cover;
}
    .flex-address__box {
        display: flex;
        gap: 40px;
        border-bottom: 2px solid #fff;
        padding-bottom: 39px;
    }
        .address__img {
            width: 447px;
            height: 325px;
            overflow: hidden;
            flex-shrink: 0;
        }
            .address__img img {
                width: 100%;
                height: 100%;
                object-fit: cover;
            }
        .org-address__box {
            display: flex;
            flex-direction: column;
            gap: 20px;
            margin-top: 2px;
        }
            .cnt__ttl--address {
                font-size: 44px;
                font-weight: 900;
                color: #FFF;
                text-align: left;
                position: relative;
                z-index: 0;
            }
            .ttl-flex__box {
                display: flex;
                align-items: center;
                gap: 10px;
                margin-block: 8px 9px;
            }
            .ttl-address__box {
                display: flex;
                align-items: center;
                justify-content: center;
                width: 518px;
                height: 83px;
                background: #fff;
                font-size: 55px;
                font-weight: 900;
                line-height: 1.5;
                color: #36A113;
            }
            .address__bt-list {
                display: flex;
                gap: 10px;
            }
                [class*="address__bt-link"] {
                    display: flex;
                    align-items: center;
                    justify-content: space-between;
                    width: 321px;
                    height: 80px;
                    padding-inline: 30px 23px;
                    border-radius: 10px;
                    font-size: 20px;
                    font-weight: 700;
                    color: #FFF;
                }
                .address__bt-link--satei {
                    background: #004D2D;
                }
                .address__bt-link--satei svg {
                    color: #004D2D;
                    background-color: #fff;
                    border-radius: 50%;
                }
                .address__bt-link--mail {
                    background: #fff;
                    color: #47AA41;
                }
                .address__bt-link--mail svg {
                    color: #fff;
                    background-color: #47AA41;
                    border-radius: 50%;
                }
            
        .org-tel__box {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 31px;
            margin-top: 25px;
        }
            .org-tel__txt {
                font-family: "Roboto", sans-serif;
                font-size: 37px;
                font-weight: 700;
                line-height: 1;
                color: #FFF;
                text-align: center;
                padding-left: 42px;
                position: relative;
            }
            .org-tel__txt svg {
                position: absolute;
                top: -11px;
                left: -13px;
            }
        .org-info__list {
            display: flex;
            gap: 16px;
        }
            .org-info__item {
                font-size: 16px;
                font-weight: 700;
                line-height: 1;
                color: #FFF;
                text-align: center;
            }
