@media screen and (max-width: 767px) {
    .dates_box {
        box-sizing: border-box;
        width: min(250px, calc(100vw - 24px));
        max-width: 250px;
        font-size: 13px;
    }

    .dates_box_top {
        display: flex;
        gap: 8px;
        height: auto;
        padding: 8px;
    }

    .dates_choose {
        float: none;
        flex: 1 1 0;
        width: auto;
        min-width: 0;
    }

    .dates_mm {
        float: none;
    }

    .ipt_wrap {
        width: calc(100% - 42px);
    }

    .dates_table {
        width: calc(100% - 12px);
        table-layout: fixed;
    }

    .dates_bottom {
        height: auto;
        overflow: visible;
        padding: 8px;
    }

    .dates_btn {
        box-sizing: border-box;
        float: none;
        display: flex;
        width: 100%;
        border-right: 1px solid #ccc;
    }

    .dates_btn a {
        box-sizing: border-box;
        float: none;
        flex: 1 1 0;
        min-width: 0;
        height: 30px;
        padding: 0 4px;
        font-size: 14px;
        line-height: 30px;
        text-align: center;
        white-space: nowrap;
    }
}
