.func {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.func_box {
    width: 7.75rem; /* 310px */
    height: 11.25rem; /* 450px */
    background: white;
    border-radius: 0.7rem; /* 28px */
    box-shadow: 0 0.175rem 0.5rem rgb(210, 225, 255); /* 7px 20px */
    position: relative;
    z-index: 1;
    cursor: pointer;
}

.func_box::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 7.75rem; /* 310px */
    height: 11.25rem; /* 450px */
    background: linear-gradient(to left, #3f7def, #195cd9);
    border-radius: 0.7rem; /* 28px */
    opacity: 0;
    transition: opacity 0.6s;
    z-index: -1;
}

.func_box:hover::before {
    opacity: 1;
}

.funcbox_title {
    position: absolute;
    right: 0;
    top: 0.75rem; /* 30px */
    width: 6.75rem; /* 270px */
    height: 1.625rem; /* 65px */
    background: linear-gradient(to left, #3f7def, #195cd9);
    border-radius: 0.375rem 0 0 0.375rem; /* 15px 0 0 15px */
    text-align: center;
    line-height: 1.625rem; /* 65px */
    color: white;
    font-size: 0.75rem; /* 30px */
    transition: color 0.4s;
    z-index: 2;
}

.funcbox_title::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 0.375rem 0 0 0.375rem; /* 15px 0 0 15px */
    background-color: white;
    opacity: 0;
    transition: opacity 0.6s;
    z-index: -1;
}

.func_box:hover .funcbox_title::before {
    opacity: 1;
}

.func_box:hover .funcbox_title {
    color: #195cd9;
}

.funcbox_text {
    margin-top: 2.75rem; /* 110px */
    font-size: 0.45rem; /* 18px */
    color: black;
    line-height: 1.8;
    letter-spacing: 0.025rem; /* 0.1em */
    padding: 0 0.5rem; /* 20px */
    transition: color 0.4s;
}

.func_box:hover .funcbox_text {
    color: white;
}


.as {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0 1.25rem; /* 50px */
}

.as_box {
    position: relative;
}

.as_box_bg {
    width: 6.6rem; /* 264px */
}

.as_box_title {
    position: absolute;
    font-size: 0.6rem; /* 24px */
    color: white;
    width: 5rem; /* 200px */
    text-align: center;
    top: 0.25rem; /* 10px */
    left: 52%;
    transform: translateX(-50%);
}

.as_box_text {
    position: absolute;
    line-height: 1.7;
    top: 55%;
    transform: translateY(-50%);
    padding: 0 0.5rem; /* 20px */
    font-size: 0.45rem; /* 18px */
}
