/* MV */
.maintenance .heading--primary.imgBg {
    background-image: url(../img/mv_maintenance.webp);
}

@media screen and (max-width: 767.9px) {
    .maintenance .heading--primary.imgBg {
        background-image: url(../img/mv_maintenance_sp.webp);
    }
}

/* leadSection */
.leadSection {
    padding: 9rem 0 50rem;
}

.wrapper {
    display: flex;
    justify-content: space-between;
    padding-top: 53rem;
}

.wrapper__img {
    order: -1;
    width: 490rem;
    padding-top: 7rem;
}

.wrapper .text {
    width: 490rem;
}

.wrapper .bold {
    display: block;
    margin-top: 32rem;
}

@media screen and (max-width: 767.9px) {
    .leadSection {
        padding: 5rem 0 20rem;
    }

    .leadSection .heading--primary {
        line-height: 1.25;
    }

    .wrapper {
        flex-direction: column;
        padding-top: 29rem;
    }

    .wrapper .text,
    .wrapper__img {
        width: 100%;
    }

    .wrapper__img {
        order: 1;
        padding-top: 32rem;
    }
}

/* problems */
.problems .heading--primary.imgBg {
    height: 260rem;
    margin-bottom: 107rem;
    background-image: url(../img/title_maintenance.webp);
}

.problems .card__lists {
    gap: 47rem 40rem;
}

.problems .card__list:last-child .card__title {
    padding-right: 32rem;
}

.problems .card__title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    line-height: 1.45;
}

.problems .card__title::before {
    content: "";
    background: url(../img/icon_01.svg) center/contain no-repeat;
    width: 128rem;
    height: 100rem;
}

.problems .card__title.icon_02::before {
    background-image: url(../img/icon_02.svg);
    width: 93rem;
}

.problems .card__link {
    position: relative;
    display: block;
}

.problems .card__link .text {
    position: absolute;
    color: var(--color-white);
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
    font-size: 20rem;
    font-weight: 600;
    letter-spacing: .2em;
}

.problems .card__link::after {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    content: "";
    background: url(../img/hover_01.webp) center/cover no-repeat;
    opacity: 0;
    transition: all .4s;
}

.problems .card__link.link_02::after {
    background-image: url(../img/hover_02.webp);
}

.problems .card__link.link_03::after {
    background-image: url(../img/hover_03.webp);
}

.problems .card__link.link_04::after {
    background-image: url(../img/hover_04.webp);
}

.problems .card__link:hover,
.problems .card__link:hover::after {
    opacity: 1;
}

.btn--more p {
    color: var(--color-green);
}

@media screen and (max-width: 767.9px) {
    .problems .heading--primary.imgBg {
        height: 200rem;
        margin-bottom: 59rem;
        line-height: 1.25;
        background-image: url(../img/title_maintenance_sp.webp);
    }

    .problems .card__lists {
        gap: 50rem;
    }

    .problems .card__title {
        font-size: 20rem;
        line-height: 1.4;
        padding-right: 7rem;
    }

    .problems .card__title::before {
        transform: translate(0, -9rem);
    }

    .problems .card__link {
        margin-top: -10rem;
    }

    .problems .card__list:nth-child(3) .card__title {
        transform: translate(0, -23rem);
        padding-right: 0;
    }

    .problems .card__list:nth-child(3) .card__title::before {
        transform: translate(0, 13rem);
    }

    .problems .card__list:nth-child(4) .card__title {
        transform: translate(0, -10rem);
        padding-right: 7rem;
    }

    .problems .card__list:nth-child(4) .card__title::before {
        transform: translate(0, 0);
    }
}

/* estimate */
.estimate {
    padding: 21rem 0 40rem;
}

.estimate .heading--primary+.text {
    margin: 51rem 0 23rem;
}

.estimate .scroll__wrapper {
    margin: 23rem 0 12rem;
}

.estimate .btn--more {
    margin: 11rem 0 13rem;
}

.estimate .btn--more p {
    letter-spacing: .1em;
    padding-right: 10rem;
}

.estimate .btn:last-child {
    margin: 55rem auto 0;
}

@media screen and (max-width: 767.9px) {
    .estimate {
        padding: 79rem 0 10rem;
    }

    .estimate .heading--primary+.text {
        margin: 32rem 0 23rem;
    }

    .estimate .scroll__wrapper {
        margin: 23rem -20rem 30rem 0;
        padding-top: 80rem;
    }

    .estimate .btn:last-child {
        margin: 42rem auto 0;
    }

}

/* flow */
.flow {
    text-align: center;
}

.flow .heading--primary+.text {
    margin: 52rem 0px 32rem;
}

.flow__lists {
    display: flex;
    justify-content: space-between;
}

.flow__list {
    position: relative;
    background-color: var(--color-green);
    color: var(--color-white);
    border-radius: 10rem;
    width: 160rem;
    height: 160rem;
}

.flow__list:not(:last-child)::after {
    content: "";
    position: absolute;
    transform: rotate(-45deg);
    border-bottom: 1px solid var(--color-green);
    border-right: 1px solid var(--color-green);
    right: -28rem;
    top: 43%;
    height: 22rem;
    width: 22rem;
}

.flow__num {
    font-size: 33rem;
    font-weight: 600;
    line-height: 2.6;
}

.flow__list .text {
    font-size: 16rem;
    font-weight: 600;
    line-height: 1.38;
}

.flow .btn {
    margin: 60rem auto 40rem;
    line-height: 1.5;
}

@media screen and (max-width: 767.9px) {
    .flow .heading--primary+.text {
        margin: 32rem 0;
        text-align: left;
    }

    .flow__lists {
        flex-direction: column;
        align-items: center;
        gap: 54rem;
    }

    .flow__list:not(:last-child)::after {
        transform: rotate(45deg);
        top: unset;
        bottom: -19%;
        right: 69rem;
    }
        .flow .btn {
            margin: 60rem auto 10rem;
        }
}

/* qa */
.qa {
    background-color: var(--color-green-light);
    text-align: center;
    padding-bottom: 47rem;
}

.qa .text {
    font-size: 20rem;
    padding: 42rem 0 29rem;
}

.qa .btn {
    margin: 0 auto;
}

/* inquiry */
.inquiry {
    margin: 84rem auto 50rem
}
@media screen and (max-width: 767.9px) {
    .inquiry {
            margin: 123rem auto 33rem
        }
}