:root {
    --board-font-xsm: clamp(13px, calc(0.5vw + 0.7rem), 14px);
    --board-font-sm: clamp(13px, calc(0.7vw + 0.8rem), 15px);
    --board-font-md: clamp(14px, calc(1vw + 0.8rem), 16px);
    --board-font-lg: clamp(15px, calc(1.2vw + 0.9rem), 17px);
}

.listArea {
    margin-top: 46px;
}

/* 테이블 */
/* .table_wrap{
    overflow-x: auto;
} */

/* -------------------  table_top  ---------------------- */
.table_top {
    margin-bottom: 24px;
    display: flex;
    justify-content: space-between;
}

.table_top select {
    height: 40px;
    padding: 0 34px 0 12px;
    border-radius: 2px;
    border: 1px solid #ccc;
    appearance: none;
    background: #fff url("../../images/select.png") right 12px center / 8px auto no-repeat;
    font-size: var(--board-font-sm);
}

.table_page,
.count {
    display: flex;
    align-items: center;
    font-size: 14px;
}

.count>div {
    display: flex;
    margin-right: 3px;
}

.count .state {
    position: relative;
    padding-right: 8px;
}

.count .state::before {
    position: absolute;
    content: "/";
    right: 0;
}

.count .state span {
    color: #3342B8;
}

.count p {
    font-weight: 400;
}

.count span {
    font-weight: 700;
}

.table_search {
    display: flex;
    align-items: center;
    gap: 4px;
}

.table_search input {
    height: 40px;
    border-radius: 2px;
    border: 1px solid #ccc;
    font-size: var(--board-font-sm);
}

.table_search input::placeholder {
    font-size: var(--board-font-sm);
}

.table_search .btn_search {
    width: 70px;
    height: 40px;
    border-radius: 2px;
    background-color: #3264c7;
    font-size: var(--board-font-sm);
    letter-spacing: -0.6px;
    color: #fff;
}

.table_search .btn_reset {
    width: 56px;
    height: 40px;
    border-radius: 2px;
    border: 1px solid #ddd;
    font-size: 14px;
    letter-spacing: -0.35px;
    color: #444;
}


/* -------------------  layout  ---------------------- */
.table_label {
    display: flex;
    justify-content: space-between;
    margin-bottom: 10px;
}

.table_label p {
    font-weight: 700;
    font-size: 20px;
    letter-spacing: -0.5px;
}

.table_label span {
    color: #ef280e;
    font-size: 14px;
}

.red_dot::after {
    content: '*';
    display: inline-block;
    /*     font-size:14px; */
    color: #ef280e;

}

.tbl_agree {
    padding: 20px 0 16px;
    display: flex;
    align-items: center;
    gap: 34px;
}

.tbl_agree p {
    font-weight: 600;
    font-size: var(--board-font-sm);
}

.tbl_agree div {
    display: flex;
    align-items: center;
    gap: 62px;
}

.tbl_agree div input[type="radio"]+label {
    content: '';
    width: 20px;
    height: 20px;
    background-color: #ebebeb;
    border-radius: 2px;
    border: 1px solid #ebebeb;
}

.tbl_agree div input[type="radio"]:checked+label::before {
    content: '';
    width: 20px;
    height: 20px;
    border-radius: 2px;
    border: 1px solid #3959c5;
    background: #3959c5 url(../../images/cb_on_wh.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 12px;
}

.tbl_agree span {
    display: block;
    font-weight: 600;
    margin-left: 30px;
    font-size: var(--board-font-sm);
}

.no-data {
    text-align: center;
    padding: 7.2rem 0;
}

.no-data div {
    width: 6.4rem;
    margin: auto;
}

.no-data span {
    display: block;
    margin-top: 24px;
}

.infraList tbody tr td {
    padding: 10px 20px;
}

.conTableArea .tbl_contents img {
    max-width: 600px;
    height: auto;
    padding: 20px 0;
}

.conTableArea .tbl_contents {
    width: auto;
    /* max-width: 600px; */
    word-break: break-word;
    /* padding: 20px; */
}

.contable_contents .tbl_contents{
    padding: 20px;
}

/* -------------------  list  ---------------------- */
/* list1 */
.listTable1 {
    width: 100%;
    border-top: 2px solid #707070;
    border-bottom: 1px solid #707070;
    border-collapse: separate;
    border-spacing: 0;
}

.listTable1 caption {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
}

.listTable1 thead tr th {
    height: 56px;
    border-right: 1px solid #f2f2f2;
    background-color: #f5f5f5;
    font-size: var(--board-font-md);
    letter-spacing: -0.35px;
    color: #555;
    font-weight: 600;
}

.listTable1 thead tr th:last-child {
    border-right: none;
}

.listTable1 tbody tr td {
    height: 56px;
    border-bottom: 1px solid #ececec;
    border-right: 1px solid #f2f2f2;
    font-size: var(--board-font-md);
    letter-spacing: -0.38px;
    color: #222;
    text-align: center;
    vertical-align: middle;
    padding: 16px;
}

.listTable1 tbody tr td:last-child {
    border-right: none;
}

.listTable1 tbody tr:last-child td {
    border-bottom: 0;
}

.listTable1 tbody tr td.align_l {
    text-align: left;
}

.process_mng .listTable1 {
    table-layout: fixed;
}

.process_mng .listTable1 tbody tr td.align_l {
    max-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.state_badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 48px;
    height: 25px;
    padding: 4px 12px;
    border-radius: 50px;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: -0.28px;
    line-height: 1;
}

.state_badge--show {
    background-color: #ebf2ff;
    color: #3342b8;
}

.state_badge--hide {
    background-color: #f4f4f4;
    color: #5d5d5d;
}

/* list2 */

.listTable2 thead tr th {
    height: 36px;
    background-color: #f5f5f5;
    border: 1px solid #ececec;
    border-left: 0;
    font-size: var(--board-font-sm);
    letter-spacing: -0.3px;
    color: #555;
    font-weight: 600;
    text-align: center;
}

.listTable2 thead tr th:first-child {
    border-left: 1px solid #ececec;
}

.listTable2 tbody tr td {
    height: 36px;
    border-bottom: 1px solid #ececec;
    border-right: 1px solid #ececec;
    font-size: var(--board-font-sm);
    letter-spacing: -0.38px;
    color: #222;
    text-align: center;
    font-weight: 600;
    padding: 0;
    padding: 4px;
    line-height: 1.2;
}

.listTable2 tbody tr:first-child td:first-child {
    border-left: 1px solid #ececec;
}

table .link {
    font-size: var(--board-font-lg);
    letter-spacing: -0.4px;
    color: #222;
    font-weight: 700;
    /* padding: 0 20px; */
}

.listTable1 td img {
    display: inline-block;
    vertical-align: middle;
}

.board_file_icon {
    display: inline-block;
    width: 18px;
    height: auto;
    vertical-align: middle;
}

/* -------------------  contents  ---------------------- */
/* contents */
.conTableArea {
    border-top: 2px solid #707070;
    border-bottom: 1px solid #707070;
}

.conTableArea .conTable_title {
    padding: 38px 20px 24px;
    border-bottom: 1px solid #ececec;
}

.conTableArea .conTable_title h1 {
    font-size: 24px;
    letter-spacing: -0.6px;
    color: #000;
    font-weight: 700;
}

.conTableArea .conTable_title .conTable_info {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    font-size: 12px;
    color: #777;
}

.conTableArea .conTable_title .conTable_info p {
    font-size: 14px;
    letter-spacing: -0.35px;
    color: #555;
}

.conTableArea .conTable_title .conTable_info p b {
    font-size: 15px;
    letter-spacing: -0.38px;
    color: #222;
    font-weight: 600;
    margin-right: 10px;
}

.conTableArea .contable_contents img {
    max-width: 100%;
    height: auto;
}

.conTableArea .conTable_file {
    padding: 30px 20px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.conTableArea .conTable_file button {
    max-width: 300px;
    padding: 4px 10px;
    height: 36px;
    border: 1px solid #e6e6e6;
    background-color: #f5f5f5;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
}

.conTableArea .conTable_file button span {
    font-size: 14px;
    letter-spacing: -0.35px;
    color: #2954aa;
}

.conTable_file_write {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 14px;
}

.conTable_file_write p {
    font-size: 13px;
    color: #444;
    letter-spacing: -0.33px;
}

.conTable_file_wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 8px;

}

.conTable_file_wrap div {
    min-width: 260px;
    padding: 4px 10px;
    height: 36px;
    border: 1px solid #e6e6e6;
    background-color: #f5f5f5;
    font-size: 14px;
    letter-spacing: -0.35px;
    color: #2954aa;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.private_wrap {
    padding: 20px 20px 16px;
}

.private_wrap>p {
    margin-bottom: 15px;
    font-weight: 600;
    font-size: var(--board-font-sm);
}


/* conTable1 */

.conTable1 tr th {
    height: 72px;
    border-bottom: 1px solid #ececec;
    font-size: 15px;
    letter-spacing: -0.35px;
    color: #555;
    font-weight: 600;
    text-align: left;
    padding-left: 20px;
}

.conTable1 tr td {
    height: 72px;
    border-bottom: 1px solid #ececec;
    padding: 16px 0;
    padding-right: 20px;
}

.conTable1 tr td .condition_search--inputBox select {
    background-color: transparent;
    border: 1px solid #a6a6a6;
}

.conTable1 tr td .pos_cb+p {
    color: #2954aa;
    margin-top: -3px;
    margin-left: 24px;
}

.conTable1 textarea.table_text {
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    resize: vertical;
}

/* conTable2 */

.conTable2 {
    width: 100%;
    table-layout: fixed;
}

.conTable2 tr th {
    height: 56px;
    border-bottom: 1px solid #ececec;
    font-size: 14px;
    letter-spacing: -0.35px;
    color: #555;
    padding: 0 20px;
    background-color: #f5f5f5;
    font-weight: 500;
}

.conTable2 tr td {
    height: 56px;
    border-bottom: 1px solid #ececec;
    padding: 16px;
    font-size: 15px;
}

.conTable2 tr td pre {
    white-space: pre-wrap;
    line-height: normal;
}

.listTable1 tbody tr[onclick]:hover td {
    background-color: #fafafa;
}

.conTable2 tr td .resArea {
    display: flex;
    gap: 20px;
    justify-content: center;
    align-items: flex-end;
}

.conTable2 tr td .resArea a {
    margin-top: -2px;
}

.conTableArea .conTable2 .conTable_file {
    padding: 0 16px;
}

/* -------------------  tableRemote  ---------------------- */
.tableRemote {
    margin-top: 74px;
}

.tableRemote tr th {
    width: 120px;
    height: 56px;
    background-color: #f5f5f5;
    font-size: 14px;
    letter-spacing: -0.35px;
    color: #555;
    border-top: 1px solid #ececec;
    font-size: var(--board-font-sm);
}

.tableRemote tr td {
    height: 56px;
    letter-spacing: -0.4px;
    color: #222;
    border-top: 1px solid #ececec;
    padding: 6px 20px;
    font-size: var(--board-font-sm);
}

.tableRemote tr td.no_post {
    color: #999;
}

.tableRemote tr:last-child th,
.tableRemote tr:last-child td {
    border-bottom: 1px solid #ececec;
}




/* -------------------  content  ---------------------- */
.input_email {
    display: flex;
    align-items: center;
    gap: 6px;
}

.input_email input:first-child {
    width: 100%;
    max-width: 165px;
}

.input_email input:last-child {
    width: 100%;
    max-width: 210px;
}

.input_phone {
    display: flex;
    align-items: center;
    gap: 6px;
}

.input_phone input {
    width: 100%;
    max-width: 100px;
}

.input_file {
    display: flex;
    gap: 12px;
    align-items: center;
}

.input_file>button {
    flex: none;
}

.input_file .input_file_con {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.input_file .input_file_con .input_file_box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 6px 14px;
    min-width: 260px;
    background-color: #f5f5f5;
    border: 1px solid #e6e6e6;
    font-size: 14px;
    letter-spacing: -0.35px;
    color: #444;
    gap: 4px;
}

.table_scroll {
    font-size: 13px;
    margin-bottom: 10px;
    font-weight: 400;
    color: #8a8a8a;
}


@media screen and (min-width:1279px) {
    .m_conTableWrap:not(.nonResponsive) {
        display: none;
    }
}

@media screen and (max-width:1279px) {
    .table_label p {
        font-size: 1.5rem;
    }

    .table_label span {
        font-size: var(--board-font-sm);
    }

    .conTableWrap {
        display: none;
    }

    .nonResponsive {
        display: block;
    }

    .conTableArea .tbl_contents {
        font-size: var(--board-font-sm);
        color: #333;
    }

    /* m_conTable1 */
    .m_conTable1 {
        margin: 16px 0;
    }

    .m_conTable1 tbody tr th,
    .m_conTable1 tbody tr td {
        display: block;
    }

    .m_conTable1 tbody tr th {
        text-align: left;
        font-weight: 600;
        font-size: var(--board-font-sm);
        color: #555;
        margin: 16px 0 6px;
    }

    .m_conTable1 tbody tr:first-child th {
        margin-top: 0;
    }

    .m_conTable1 tbody tr td .flex-area {
        display: flex;
        align-items: center;
        gap: 26px;
    }

    .m_conTable1 tbody tr td .fix-flex {
        display: flex;
        align-items: center;
        gap: 16px;

    }

    .m_conTable1 tbody tr td .fix-flex span {
        text-align: left;
        font-weight: 600;
        font-size: var(--board-font-sm);
        color: #555;
    }

    .m_conTable1 tr td .condition_search--inputBox select {
        background-color: transparent;
        border: 1px solid #a6a6a6;
        display: block;
        margin-top: 8px;
        max-width: 100%;
    }

    .m_conTable1 tr td .condition_search--inputBox select:first-of-type {
        margin-top: 0;
    }

    .m_conTable1 tr td .pos_cb+p {
        color: #2954aa;
        font-size: var(--board-font-sm);

    }

    .conTable_file_wrap span,
    .conTable_file_write button {
        font-size: var(--board-font-sm);
    }

    .conTable_file_write {
        display: block;
    }

    .conTable_file_write p {
        margin-top: 10px;
    }

    .m_conTableWrap .tbl_contents {
        margin-top: 5px;
        margin-bottom: 5px;
        /* height: 200px; */
    }

    .m_conTableWrap .tbl_contents img {
        object-fit: contain;
        padding: 0;
    }

    /* m_conTable2 */
    .m_conTable2 tbody tr th {
        background-color: #f5f5f5;
        font-size: var(--board-font-sm);
        font-weight: 600;
        border-bottom: 1px solid #ececec;
        padding: 20px 5px 15px;
    }

    .m_conTable2 tbody tr td {
        padding: 20px 15px 14px;
        border-bottom: 1px solid #ececec;
        height: 48px;
        font-size: var(--board-font-sm);
    }

    .m_conTable2 tbody tr td pre {
        font-size: var(--board-font-sm);
        white-space: pre-wrap
    }

    .m_conTable2 tbody tr:last-child th,
    .m_conTable2 tbody tr:last-child td {
        border-bottom: 0;
    }

    .m_scroll {
        overflow-x: scroll;
        /* margin-left: -20px;
        padding: 0 20px; */
    }

    .m_scroll table {
        min-width: 1280px;
        width: 100%;
        margin-bottom: 10px;
    }

    /* .m_scroll::-webkit-scrollbar {
        display: none;
    } */

    .conTableArea .m_conTable_file {
        display: block;
        padding: 10px 15px;
    }

    .conTableArea .m_conTable_file button:first-child {
        margin-top: 0;
    }

    .conTableArea .m_conTable_file button {
        /* max-width: 300px; */
        width: auto;
        padding: 4px 10px;
        height: 36px;
        border: 1px solid #e6e6e6;
        background-color: #f5f5f5;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        gap: 10px;
        margin-top: 5px;
    }

    .conTableArea .m_conTable_file button span {
        font-size: var(--board-font-sm);
        letter-spacing: -0.35px;
        color: #2954aa;
    }

    .conTable_file_wrap div {
        font-size: var(--board-font-sm);
    }

    .conTable_file_write p {
        font-size: var(--board-font-sm);
    }

    .private_wrap {
        padding: 0 0 16px;
    }

    .tbl_agree {
        display: block;
    }

    .tbl_agree div {
        margin-top: 8px;
        align-items: center;
        gap: 24px;
    }

    .tbl_agree div input[type="radio"]+label {
        position: relative;
        display: inline-flex;
        align-items: center;
        width: auto;
        height: 20px;
        padding-left: 30px;
        background: transparent;
        border: 0;
        border-radius: 0;
        line-height: 20px;
    }

    .tbl_agree div input[type="radio"]+label::after {
        content: '';
        position: absolute;
        top: 50%;
        left: 0;
        width: 20px;
        height: 20px;
        transform: translateY(-50%);
        background-color: #ebebeb;
        border: 1px solid #ebebeb;
        border-radius: 2px;
        box-sizing: border-box;
    }

    .tbl_agree div input[type="radio"]:checked+label::before {
        position: absolute;
        top: 50%;
        left: 0;
        z-index: 1;
        transform: translateY(-50%);
        box-sizing: border-box;
    }

    .tbl_agree div input[type="radio"]+label span {
        display: block;
        margin-left: 0;
        line-height: 20px;
        font-size: var(--board-font-sm);
        white-space: nowrap;
    }

    .tbl_agree label:last-child {
        font-size: var(--board-font-sm);
    }

    .input_email input[type='text'] {
        width: 100%;
    }

    .input_phone input {
        width: 100%;
        max-width: 33%;
    }

    .tableRemote tbody tr th {
        width: 70px;
    }
}

@media screen and (min-width:767px) {
    .m_table_wrap {
        display: none;
    }
}

@media screen and (max-width:767px) {

    .table_page,
    .table_top select {
        display: none;
    }

    .table_search,
    .table_search input {
        width: 100% !important;
    }

    .listArea {
        margin-top: 0;
    }

    .inputClear_wrap {
        width: 100%;
    }

}
