.core_section {
    padding: clamp(69px, 4.5vw, 103px) 6vw;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.core_section.core_1 {
    background: linear-gradient(
        180deg,
        #FFF 0%,
        #FFF 25%,
        rgba(255, 255, 255, 0.5) 25%,
        rgba(222, 229, 238, 0.5) 100%
    );
}
.core_section.core_3 {
    margin-top: clamp(-248px, -10vw, -134px);
    padding-top: clamp(203px, 14.5vw, 351px);
    background: linear-gradient(180deg, #EEEFF3 44.05%, #FFF 100%);
}

.core_section__label {
    width: clamp(236px, 15.5vw, 354px);
    height: clamp(30px, 1.8vw, 40px);
    border: 1.5px solid #196FB7;
    border-radius: clamp(65px, 3.9vw, 80px);
    color: #303030;
    text-align: center;
    font-style: normal;
    font-weight: 300;
    align-content: center;
}

.core_section__title {
    margin: clamp(21px, 1.8vw, 49px) 0 clamp(46px, 4vw, 108px);
    color: #212121;
    text-align: center;
    font-style: normal;
    font-weight: 600;
    line-height: 160%;
}

.core_section__subtitle {
    color: #212121;
    text-align: center;
    font-style: normal;
    font-weight: 400;
    line-height: 145%;
}

.core_section__headline {
    color: #001B60;
    font-style: normal;
    font-weight: 600;
    line-height: 145%;
}

.core_section__description {
    color: #212121;
    text-align: center;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
}

/* cards */
.core_section_cards {
    margin: clamp(43px, 2.8vw, 65px) 0;
}

.core_section_cards,
.core_section_cards_wrap {
    display: flex;
    justify-content: center;
    gap: clamp(24px, 2.1vw, 56px);
    flex-wrap: wrap;
}

.core_card {
    position: relative;
    width: clamp(143px, 12.5vw, 333px);
    height: clamp(125px, 9.4vw, 233px);
    background: #F2F3F8;
    align-content: center;
    color: #212121;
    text-align: center;
    font-style: normal;
    font-weight: 500;
    line-height: 145%;
}
.core_3 .core_card {
    background-color: #FFF;
}
.core_card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(to right, #196FB7, #262261);
}

/* dispatch_flow */
.dispatch_flow {
    display: flex;
    align-items: center;
}

.dispatch_flow__step {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.dispatch_flow__label {
    width: clamp(106px, 7vw, 160px);
    height: clamp(37px, 2.4vw, 55px);
    background: #1D2554;
    border-radius: clamp(18px, 1.2vw, 28px);
    align-content: center;
    text-align: center;
    color: #FFF;
    font-weight: 500;
}

.dispatch_flow__image.shipper,
.dispatch_flow__image.partner {
    width: clamp(289px, 21.7vw, 537px);
}
.dispatch_flow__image.driver {
    width: clamp(122px, 9.2vw, 227px);
}

.dispatch_flow__arrow {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex: 0 0 auto;
    min-width: 0;
}

.dispatch_flow__arrow-image_long {
    width: auto;
}

.dispatch_flow__arrow-text {
    color: #16539C;
    font-weight: 600;
}

.dispatch_flow__arrow_long {
    margin-top: clamp(34px, 2.1vw, 50px);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: clamp(12px, 0.8vw, 18px);
    opacity: 0;
    transform: translateY(10px);
}
.dispatch_flow__arrow_long .dispatch_flow__arrow-text {
    text-align: center;
}

.dispatch_flow__left {
    display: contents;
}
.dispatch_flow__right {
    display: none;
}

.core_section__capture {
    width: clamp(756px, 49.6vw, 1134px);
}

.tablet-only, .mobile-only {
    display: none;
}


/* 모바일 환경 최적화 */
@media (max-width: 1024px) {
    .dispatch_flow_wrap {
        width: 100%;
    }

    .dispatch_flow__arrow_long {
        display: none;
    }

    .desktop-only {
        display: none;
    }
    .tablet-only {
        display: flex;
    }

    /* 전체를 좌/우 2열 flex로 */
    .dispatch_flow {
        display: flex;
        align-items: stretch;
        width: 100%;
        margin: 0 auto;
    }

    .dispatch_flow__left {
        display: flex;
        flex: 154;
        flex-direction: column;
        align-items: center;
        justify-content: space-between;
        gap: clamp(66px, 4.3vw, 98px);
    }
    .dispatch_flow__right {
        display: flex;
        flex: 65;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: clamp(66px, 4.3vw, 98px);
    }

    .dispatch_flow__arrow.vertical {
        flex-direction: row;
        width: 21%;
        position: relative;
    }
    .dispatch_flow__arrow.vertical .dispatch_flow__arrow-image {
        width: 100%;
        transform: rotate(90deg);
    }
    .dispatch_flow__arrow.vertical .dispatch_flow__arrow-text {
        width: 50%;
        transform: translateX(120%);
        position: absolute;
    }

    .dispatch_flow__arrow.diagonal.top-right {
        flex-direction: row;
        align-items: end;
        justify-content: start;
        width: 100%;
        position: relative;
    }
    .dispatch_flow__arrow.diagonal.top-right .dispatch_flow__arrow-image {
        width: 50%;
        transform: rotate(45deg);
    }
    .dispatch_flow__arrow.diagonal.top-right .dispatch_flow__arrow-text {
        width: 50%;
        transform: translate(60%, -100%);
        position: absolute;
    }

    .dispatch_flow__arrow.diagonal.bottom-right {
        flex-direction: row;
        align-items: start;
        justify-content: start;
        width: 100%;
        position: relative;
    }
    .dispatch_flow__arrow.diagonal.bottom-right .dispatch_flow__arrow-image {
        width: 50%;
        transform: rotate(-45deg);
    }
    .dispatch_flow__arrow.diagonal.bottom-right .dispatch_flow__arrow-text {
        width: 50%;
        transform: translate(60%, 100%);
        position: absolute;
    }

    .dispatch_flow__label {
        width: clamp(88px, 5.8vw, 132px);
        font-size: clamp(22px, 1.4vw, 32px) !important;
    }

    .dispatch_flow__image {
        width: 100% !important;
    }

    .dispatch_flow__arrow-text {
        font-size: clamp(20px, 1.3vw, 30px) !important;
    }
}

@media (max-width: 767px) {
    .core_section__capture {
        width: 88vw;
    }
}

@media (max-width: 540px) {
    .core_section.core_3 {
        margin-top: clamp(-160px, -7vw, -106px);
        padding-top: clamp(175px, 11.5vw, 263px);
    }

    .dispatch_flow__left {
        gap: clamp(43px, 2.8vw, 65px);
    }
    .dispatch_flow__right {
        gap: clamp(43px, 2.8vw, 65px);
    }

    .dispatch_flow__arrow.vertical {
        width: 30.5%;
    }
    .dispatch_flow__arrow.diagonal.top-right .dispatch_flow__arrow-image,
    .dispatch_flow__arrow.diagonal.bottom-right .dispatch_flow__arrow-image {
        width: 75%;
    }
}

@media (max-width: 480px) {
    .mobile-only {
        display: block;
    }

    .core_card {
        font-size: clamp(22px, 1.4vw, 32px) !important;
    }
}