.home-image-text {
    position: relative;
    margin-top: -37px;
    z-index: 1;
}

.home-image-text__image {
    position: relative;
    z-index: 1;
}

.home-image-text__image::before {
    content: '';
    position: absolute;
    width: 65px;
    height: 209px;
    background: #F5F5F5;
    border-radius: 40px 0 40px 0;
    bottom: -72px;
    left: 154px;
}

.home-image-text__image::after {
    content: '';
    position: absolute;
    width: 64px;
    height: 209px;
    background: #F5F5F5;
    border-radius: 40px 0 40px 0;
    bottom: -96px;
    left: 226px;
    z-index: -1;
}

.home-image-text__image-1 {
    position: relative;
    margin: 7px 0 0 2px;
    height: 273px;
    width: 228px;
}

.home-image-text__image-1 img {
    border-radius: 16px 0 16px 0;
}

.home-image-text__image-1::before {
    content: '';
    z-index: -1;
    position: absolute;
    width: 100%;
    height: 100%;
    border-radius: 20px 0 16px 0;
    top: -7px;
    left: -7px;
    background: #37CE2E;
}

.home-image-text__image-2 {
    height: 156px;
    width: 178px;
    position: absolute;
    top: 50%;
    transform: translate(0, -50%);
    left: 147px;
}

.home-image-text__image-2 img {
    border-radius: 16px 0 16px 0;
}

.home-image-text__image-2::before {
    content: '';
    z-index: -1;
    position: absolute;
    width: 100%;
    height: calc(100% + 14px);
    border-radius: 20px 0 16px 0;
    top: -7px;
    left: -7px;
    background: #fff;
}

.home-image-text__text {
    position: relative;
    z-index: 2;
    padding: 23px 0 0 0;
}

.home-image-text__text i {
    font-size: 42px;
    color: #37CE2E;
    font-weight: normal;
    line-height: 1em;
    margin-bottom: -5px;
}

.home-image-text__text p {
    margin-bottom: 26px;
}

@media (min-width: 768px) {
    .home-image-text {
        margin-top: -36px;
    }

    .home-image-text__flex {
        display: flex;
        flex-wrap: wrap;
        align-items: flex-start;
    }

    .home-image-text__image {
        width: 326px;
    }

    .home-image-text__image-1 {
        margin: 7px 0 0 0;
    }

    .home-image-text__image-2 {
        left: auto;
        right: 0;
    }
    
    .home-image-text__text {
        width: calc(100% - 326px);
        padding: 68px 0 0 22px;
    }

    .home-image-text__flex.flex-opposite {
        flex-direction: row-reverse;
    }

    .flex-opposite .home-image-text__text {
        padding: 64px 22px 0 0;
    }
}

@media (min-width: 1200px) {
    .home-image-text {
        margin-top: -128px;
        padding-bottom: 108px;
    }

    .home-image-text__flex {
        display: flex;
        flex-wrap: wrap;
        align-items: flex-start;
    }

    .home-image-text__image {
        width: calc(100% - 540px);
    }
    
    .home-image-text__image-1 {
        margin: 16px 0 0 0;
        height: 606px;
        width: 508px;
    }

    .home-image-text__image-1::before {
        top: -16px;
        left: -16px;
    }

    .home-image-text__image-2 {
        left: auto;
        right: 0;
        width: 400px;
        height: 346px;
        margin-top: 3px;
    }

    .home-image-text__image-2::before {
        height: calc(100% + 32px);
        top: -16px;
        left: -16px;
    }
    
    .home-image-text__text {
        width: 540px;
        padding: 193px 0 0 24px;
    }

    .home-image-text__image::before {
        width: 144px;
        height: 463px;
        border-radius: 76px 0 60px 0;
        bottom: -160px;
        left: 239px;
    }
    
    .home-image-text__image::after {
        width: 144px;
        height: 463px;
        border-radius: 76px 0 60px 0;
        bottom: -213px;
        left: 401px;
    }

    .home-image-text__text h2 {
        padding-bottom: 6px;
    }

    .flex-opposite .home-image-text__text {
        padding: 34px 34px 0 0;
    }

    .flex-opposite.home-image-text__flex .home-image-text__image-1 {
        padding: 16px 0 0 16px;
    }

    .flex-opposite .home-image-text__image-1::before {
        left: 0;
    }
}

@media (min-width: 1367px) {
    .home-image-text__image::before {
        bottom: -160px;
        left: 339px;
    }
    
    .home-image-text__image::after {
        bottom: -213px;
        left: 501px;
    }

    .home-image-text__text {
        padding: 193px 0 0 34px;
    }
}