body {
    visibility: hidden;
}

#loading {
    visibility: visible;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.dataTables_scrollHead .sort-header {
    cursor: pointer;
    position: relative;
    padding-right: 20px;
}

.dataTables_scrollHead .sort-header::before,
.dataTables_scrollHead .sort-header::after {
    content: '';
    position: absolute;
    right: 5px;
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
}

.dataTables_scrollHead .sort-header::before {
    top: 30%;
    border-bottom: 5px solid #ccc;
}

.dataTables_scrollHead .sort-header::after {
    bottom: 30%;
    border-top: 5px solid #ccc;
}

.dataTables_scrollHead .sort-header.asc::before {
    border-bottom-color: #000;
}

.dataTables_scrollHead .sort-header.desc::after {
    border-top-color: #000;
}

.dataTables_wrapper {
    overflow-x: auto;    /* 横スクロール用 */
    width: 100%;
}

table.dataTable {
    table-layout: fixed;  /* 列幅を固定 */
    width: 100%;
}

/* 検索アイコン用 */
.top-20 {
    top: 20%;
}

/* 検索アイコン用 */
.ps-2em {
    padding-left: 2em;
}

.min-width-10em {
    min-width: 10em;
}