.l-main * {
    font-family: "Zen Old Mincho", sans-serif;
}
.l-main {
    width: 100%;
    padding: 0;
    margin: 0;
    background: #fff;
    overflow: hidden;
}

/*/////////////// メイン画像 ////////////////*/
.mv__wrap {
    width: 100%;
    height: 1072px;
}
    .mv__inner {
        width: 1140px;
        margin: 0 auto;
        position: relative;
    }
        .mv__scroll-box {
            width: 570px;
            padding: 21px 30px;
            background: rgba(255, 255, 255, 0.30);
            backdrop-filter: blur(17.5px);
            position: absolute;
            top: 694px;
            right: 0;
        }
            .mv__scroll-text {
                font-family: "Zen Kaku Gothic New", sans-serif;
                font-size: 20px;
                font-weight: 500;
                letter-spacing: 0.05em;
                color: #fff;
            }
            .mv__scrollbar {
                margin-top: 8px;
            }
                .mv__scrollbar .scrollbar-content.vertical{
                    max-height: 140px;
                }
                .mv__scrollbar .simplebar-track.simplebar-vertical{
                    background: #D8D8D8;
                    width: 5px;
                    border-radius: 9999px;
                }
                .mv__scrollbar .simplebar-scrollbar.simplebar-visible:before {
                    width: 5px;
                    background-color: #FFF;
                    border-radius: 9999px;
                    opacity: 1;
                    top: 0;
                    bottom: 0;
                    left: 0;
                    right: 0;
                }
            .mv-scroll__list {
                display: flex;
                flex-direction: column;
                gap: 18px;
                padding-right: 25px;
            }
                .mv-scroll__item {
                    padding-bottom: 17px;
                    border-bottom: 1px solid #FFF;
                    font-family: "Zen Kaku Gothic New", sans-serif;
                    font-size: 16px;
                    font-weight: 700;
                    letter-spacing: 0.05em;
                    color: #FFF;
                }
    .mv__img {
        width: 100%;
        height: 100%;
    }
        .mv__img img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

/*/////////////// 共通スタイル ///////////////*/
[class*="cnt__wrap"] {
    padding-block: 150px;
}
    [class*="cnt__inner"] {
        width: 1140px;
        margin: 0 auto;
    }
        [class*="cnt__ttl"] {
            font-family: "Zen Old Mincho", sans-serif;
            font-size: 44px;
            font-weight: 400;
            line-height: 1.4;
            color: #333;
            text-align: center;
        }
            [class*="cnt__en-ttl"] {
                display: block;
                margin-bottom: 14px;
                font-family: "Zen Old Mincho", sans-serif;
                font-size: 18px;
                font-weight: 500;
                letter-spacing: 0.11em;
                color: #063857;
            }
        [class*="more__bt"] {
            margin-top: 35px;
        }
            [class*="more__bt"] a {
                display: flex;
                align-items: center;
                justify-content: center;
                width: 300px;
                height: 60px;
                border-radius: 9999px;
                margin-inline: auto;
                background: rgba(255, 255, 255, 0.20);
                backdrop-filter: blur(20px);
                font-size: 16px;
                font-weight: 500;
                color: #fff;
                text-align: center;
                position: relative;
            }
                [class*="more__bt"] a svg {
                    flex-shrink: 0;
                    width: 32px;
                    height: 5px;
                    fill: none;
                    position: absolute;
                    top: 0;
                    bottom: 0;
                    margin: auto;
                    right: 27px;
                }

/*/////////////// メッセージ ////////////////*/
.cnt__wrap--message {
    padding-bottom: 0;
}
    .cnt__inner--message {
        display: flex;
        justify-content: flex-end;
        padding-block: 143px 150px;
        position: relative;
        z-index: 1;
    }
    .cnt__inner--message::before {
        content: '';
        background: #F9F9F9;
        position: absolute;
        top: 210px;
        bottom: 140px;
        left: calc(50% - 44.7396vw);
        right: 0;
        z-index: -1;
    }
    .cnt__inner--message::after {
        content: '';
        background: #254E72;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 480px;
        right: calc(50% - 50vw);
        z-index: -1;
    }
        .message__img--top {
            width: 800px;
            height: 483px;
            position: absolute;
            top: 0;
            left: -390px;
            z-index: 0;
        }
        .message__img--mid {
            width: 387px;
            height: 250px;
            position: absolute;
            top: 453px;
            left: -112px;
            z-index: 1;
        }
        .message__img--bottom {
            width: 326px;
            height: 191px;
            position: absolute;
            top: 692px;
            left: 55px;
            z-index: 0;
        }
            [class*="message__img"] img {
                width: 100%;
                height: 100%;
                object-fit: cover;
            }
        .message__box {
            width: 590px;
        }
            .cnt__ttl--message {
                text-align: left;
                color: #fff;
                white-space: nowrap;
            }
            .cnt__en-ttl--message {
                color: #fff;
            }
            .cnt__ja-ttl--message {
                display: block;
                margin-bottom: 5px;
                font-size: 27px;
                font-weight: 400;
                line-height: 1.4;
                color: #fff;
            }
            .message__txt {
                display: flex;
                flex-direction: column;
                gap: 22px;
                margin-top: 35px;
                padding-right: 20px;
            }
                .message__txt p {
                    font-size: 18px;
                    font-weight: 400;
                    line-height: 1.7;
                    color: #fff;
                }

/*/////////////// サービス ////////////////*/
.cnt__wrap--service {
    padding-top: 143px;
}
    .service__list {
        display: flex;
        flex-wrap: wrap;
        gap: 40px;
        margin-top: 35px;
    }
        .service__item {
            display: flex;
            width: 550px;
        }
            .service__img {
                width: 160px;
                flex-shrink: 0;
            }
                .service__img img {
                    width: 100%;
                    height: 100%;
                    object-fit: cover;
                }
            .service__txtbox {
                width: 100%;
                padding: 49px 40px 0;
                background: #254E72;
            }
                .service__ttl {
                    display: flex;
                    flex-direction: column;
                    gap: 4px;
                    font-size: 28px;
                    font-weight: 400;
                    line-height: 1.4;
                    color: #fff;
                }
                    .service__num {
                        font-family: "Great Vibes", cursive;
                        font-size: 50px;
                        font-weight: 400;
                        line-height: 0.72;
                        color: #A0BFD2;
                    }
                    .service__ttl-head {
                        display: flex;
                        align-items: center;
                        height: 78px;
                    }
                .service__txt {
                    font-family: "Zen Kaku Gothic New", sans-serif;
                    font-size: 16px;
                    font-weight: 400;
                    line-height: 1.65;
                    color: #fff;
                    margin-top: 13px;
                }
                .service__bt {
                    margin-top: 6px;
                }
                    .service__bt a {
                        display: flex;
                        align-items: center;
                        gap: 13px;
                        width: fit-content;
                        margin-left: auto;
                        padding-bottom: 2px;
                        border-bottom: 1px solid #fff;
                        font-size: 16px;
                        font-weight: 500;
                        color: #fff;
                    }
                        .service__bt a svg {
                            flex-shrink: 0;
                            width: 11px;
                            height: 3px;
                            fill: none;
                            margin-top: 3px;
                        }

/*/////////////// お悩み ////////////////*/
.cnt__wrap--worries {
    padding-top: 143px;
    background: url(/images/top/worries_bg.webp) no-repeat center / cover;
}
    .cnt__ttl--worries {
        color: #fff;
    }
    .cnt__en-ttl--worries {
        color: #fff;
    }
    .worries__list {
        display: flex;
        gap: 28px;
        margin-top: 34px;
    }
        .worries__item {
            width: 264px;
        }
            .worries__img {
                width: 100%;
                height: 198px;
                overflow: hidden;
            }
                .worries__img img {
                    width: 100%;
                    height: 100%;
                    object-fit: cover;
                }
            .worries__txtbox {
                width: 100%;
                padding: 14px 20px 20px;
                background: #fff;
                min-height: 143px;
            }
                .worries__txt {
                    height: 79px;
                    font-family: "Zen Kaku Gothic New", sans-serif;
                    font-size: 16px;
                    font-weight: 700;
                    line-height: 1.65;
                    color: #333;
                    overflow: hidden;
                    text-overflow: ellipsis;
                    display: -webkit-box;
                    -webkit-line-clamp: 3;
                    -webkit-box-orient: vertical;
                }
                .worries__flex-box {
                    display: flex;
                    justify-content: space-between;
                    align-items: center;
                    margin-top: 10px;
                }
                    .worries__flex-date {
                        font-family: "Zen Kaku Gothic New", sans-serif;
                        font-size: 14px;
                        font-weight: 400;
                        line-height: 1.4;
                        color: #063857;
                    }
                    .worries__flex-tag {
                        font-family: "Zen Kaku Gothic New", sans-serif;
                        display: flex;
                        align-items: center;
                        justify-content: center;
                        padding-inline: 21px;
                        width: fit-content;
                        height: 20px;
                        background: #063857;
                        margin-left: auto;
                        font-size: 14px;
                        font-weight: 400;
                        line-height: 1.4;
                        color: #fff;
                    }
    .more__bt--worries a {
        border: 1px solid #FFF;
    }

/*/////////////// そのお悩みKOWAにお任せください ////////////////*/
.cnt__wrap--reason {
    padding-top: 143px;
}
    .reason__list {
        display: flex;
        flex-direction: column;
        gap: 35px;
        margin-top: 34px;
    }
        .reason__item {
            display: flex;
            justify-content: flex-end;
            padding-top: 80px;
            position: relative;
            z-index: 0;
        }
        .reason__item:nth-of-type(even) {
            justify-content: flex-start;
        }
            .reason__img {
                width: 570px;
                height: 300px;
                flex-shrink: 0;
                position: absolute;
                top: 0;
                left: 0;
                z-index: -1;
            }
            .reason__item:nth-of-type(even) .reason__img {
                left: auto;
                right: 0;
            }
                .reason__img img {
                    width: 100%;
                    height: 100%;
                    object-fit: cover;
                }
            .reason__txtbox {
                width: 740px;
                padding: 52px 60px 48px;
                background: #254E72;
                position: relative;
            }
            .reason__txtbox-mid {
                padding: 52px 60px 50px;
            }
                .reason__num {
                    font-family: "Great Vibes", cursive;
                    font-size: 50px;
                    font-weight: 400;
                    line-height: 0.72;
                    color: #8A9FB2;
                    position: absolute;
                    top: -23px;
                    right: 0;
                    z-index: 1;
                }
                .reason__item:nth-of-type(even) .reason__num {
                    right: auto;
                    left: 0;
                }
                .reason__ttl {
                    font-size: 28px;
                    font-weight: 400;
                    line-height: 1.4;
                    color: #fff;
                }
                .reason__txt {
                    font-family: "Zen Kaku Gothic New", sans-serif;
                    border-left: 1px solid #fff;
                    padding-left: 17px;
                    margin-left: 14px;
                    font-size: 16px;
                    font-weight: 400;
                    line-height: 1.65;
                    color: #fff;
                    margin-top: 7px;
                }
                .reason__bt {
                    margin-top: 7px;
                }
                    .reason__bt a {
                        display: flex;
                        align-items: center;
                        gap: 13px;
                        width: fit-content;
                        padding-bottom: 2px;
                        margin-left: auto;
                        border-bottom: 1px solid #fff;
                        font-size: 16px;
                        font-weight: 500;
                        color: #fff;
                    }
                        .reason__bt a svg {
                            flex-shrink: 0;
                            width: 11px;
                            height: 3px;
                            fill: none;
                            margin-top: 3px;
                        }
    .reason__large-img {
        margin-top: 36px;
    }
        .reason__large-img img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

/*/////////////// 実績 ////////////////*/
.cnt__wrap--achievement {
    padding-top: 143px;
    background: url(/images/top/achievement_bg.webp) no-repeat center / cover;
}
    .cnt__ttl--achievement {
        color: #fff;
    }
    .cnt__en-ttl--achievement {
        color: #fff;
    }
    .achievement__slider {
        margin-top: 34px;
    }
        .achievement__slider .swiper-slide {
            width: 300px;
        }
            .achievement__item a {
                display: block;
                width: 300px;
            }
            .achievement__img {
                width: 100%;
                height: 225px;
                overflow: hidden;
            }
                .achievement__img img {
                    width: 100%;
                    height: 100%;
                    object-fit: cover;
                }
            .achievement__txtbox {
                width: 100%;
                padding: 14px 20px 20px;
                background: #fff;
                min-height: 112px;
            }
                .achievement__txt {
                    height: 53px;
                    font-family: "Zen Kaku Gothic New", sans-serif;
                    font-size: 16px;
                    font-weight: 700;
                    line-height: 1.65;
                    color: #333;
                    overflow: hidden;
                    text-overflow: ellipsis;
                    display: -webkit-box;
                    -webkit-line-clamp: 2;
                    -webkit-box-orient: vertical;
                }
                .achievement__date {
                    font-family: "Zen Kaku Gothic New", sans-serif;
                    font-size: 14px;
                    font-weight: 400;
                    line-height: 1.4;
                    color: #063857;
                    margin-top: 6px;
                }
    .swiper__controls {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 21px;
        margin-top: 30px;
    }
        .swiper__controls .swiper-button-prev,
        .swiper__controls .swiper-button-next,
        .swiper__controls .swiper-pagination {
            position: unset;
            margin: 0;
        }
        .swiper__controls .swiper-button-prev,
        .swiper__controls .swiper-button-next {
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
            width: 13px;
            height: 21px;
            color: #fff;
            cursor: pointer;
        }
        .swiper__controls .swiper-button-prev.swiper-button-disabled,
        .swiper__controls .swiper-button-next.swiper-button-disabled {
            opacity: 1;
        }
        .swiper__controls .swiper-button-prev::after,
        .swiper__controls .swiper-button-next::after {
            content: none;
        }
        .swiper__controls .swiper-button-prev svg,
        .swiper__controls .swiper-button-next svg {
            display: block;
            width: 13px;
            height: 21px;
            fill: none;
        }
        .swiper__controls .swiper-pagination {
            width: fit-content;
            font-family: "Zen Kaku Gothic New", sans-serif;
            font-size: 16px;
            font-weight: 700;
            line-height: 1.65;
            color: #fff;
        }
    .more__bt--achievement {
        margin-top: 32px;
    }
        .more__bt--achievement a {
            border: 1px solid #fff;
        }

/*/////////////// お客様からの声 ////////////////*/
.cnt__wrap--voice {
    padding-top: 143px;
}
    .voice__list {
        display: flex;
        gap: 28px;
        margin-top: 34px;
    }
        .voice__item {
            width: 264px;
        }
            .voice__img {
                width: 100%;
                height: 198px;
                overflow: hidden;
            }
                .voice__img img {
                    width: 100%;
                    height: 100%;
                    object-fit: cover;
                }
            .voice__txtbox {
                width: 100%;
                padding-top: 14px;
            }
                .voice__name {
                    font-family: "Zen Kaku Gothic New", sans-serif;
                    font-size: 16px;
                    font-weight: 700;
                    line-height: 1.65;
                    color: #333;
                    text-align: center;
                }
                .voice__txt {
                    font-family: "Zen Kaku Gothic New", sans-serif;
                    font-size: 16px;
                    font-weight: 400;
                    line-height: 1.65;
                    color: #333;
                    margin-top: 6px;
                    overflow: hidden;
                    text-overflow: ellipsis;
                    display: -webkit-box;
                    -webkit-line-clamp: 2;
                    -webkit-box-orient: vertical;
                }
    .more__bt--voice {
        margin-top: 34px;
    }
        .more__bt--voice a {
            border: 1px solid #063857;
            color: #063857;
        }

/*/////////////// メッセージ ////////////////*/
.cnt__wrap--sentence {
    padding-block: 0;
}
    .cnt__inner--sentence {
        padding-block: 143px 150px;
        position: relative;
        z-index: 1;
    }
    .cnt__inner--sentence::before {
        content: '';
        background: #254E72;
        position: absolute;
        top: 0;
        bottom: 0;
        left: calc(50% - 50vw);
        right: 327px;
        z-index: -1;
    }
    .cnt__ttl--sentence {
        color: #fff;
        text-align: left;
    }
    .cnt__en-ttl--sentence {
        color: #fff;
        text-align: left;
    }
    .sentence__box {
        display: flex;
        flex-direction: column;
        gap: 21px;
        margin-top: 34px;
    }
        .sentence__txt {
            display: flex;
            flex-direction: column;
            gap: 22px;
            width: 630px;
        }
            .sentence__txt p {
                font-size: 18px;
                font-weight: 400;
                line-height: 1.7;
                color: #fff;
            }
        .sentence__mid-txt {
            font-size: 28px;
            font-weight: 400;
            line-height: 1.4;
            color: #fff;
        }
        .name__img {
            width: 392px;
            height: 54px;
            margin-top: 35px;
        }
            .name__img img {
                width: 100%;
                height: 100%;
                object-fit: cover;
            }
        .sentence__img--top {
            width: 440px;
            height: 600px;
            position: absolute;
            top: 233px;
            left: 700px;
        }
        .sentence__img--bottom {
            width: 332px;
            height: 187px;
            position: absolute;
            top: 738px;
            left: 896px;
        }
            [class*="sentence__img"] img {
                width: 100%;
                height: 100%;
                object-fit: cover;
            }

/*/////////////// 最新のお知らせ ////////////////*/
    .org-news__box {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 50px 50px 50px 0;
        position: relative;
        z-index: 1;
    }
    .org-news__box::after {
        content: '';
        background: #F9F9F9;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 254px;
        right: 0;
        z-index: -1;
    }
    .org-news__box-left {
        padding-bottom: 5px;
    }
        .cnt__ttl--org-news {
            text-align: left;
        }
        .cnt__en-ttl--org-news {
            text-align: left;
        }
        .more__bt--org-news {
            margin-top: 34px;
        }
            .more__bt--org-news a {
                border: 1px solid #063857;
                color: #063857;
                margin-left: 0;
            }
        .org-news__scrollbar {
            width: 590px;
            flex-shrink: 0;
        }
        .org-news__scrollbar .scrollbar-content.vertical{
            max-height: 200px;
        }
        .org-news__scrollbar .simplebar-track.simplebar-vertical{
            background: #D8D8D8;
            width: 6px;
            border-radius: 9999px;
        }
        .org-news__scrollbar .simplebar-scrollbar.simplebar-visible:before {
            width: 6px;
            background-color: #063857;
            border-radius: 9999px;
            opacity: 1;
            top: 0;
            bottom: 0;
            left: 0;
            right: 0;
        }
        .org-news__list {
            display: flex;
            flex-direction: column;
            gap: 20px;
            padding-right: 30px;
        }
            .org-news__item {
                display: flex;
                gap: 20px;
                padding-bottom: 20px;
                border-bottom: 1px solid #D8D8D8;
            }
                .org-news__date {
                    width: 64px;
                    font-family: "Zen Kaku Gothic New", sans-serif;
                    font-size: 14px;
                    font-weight: 400;
                    line-height: 1.4;
                    color: #063857;
                    flex-shrink: 0;
                }