:root {
    --color-dodgerblue: #3e92cc;
    --color-darkblue: #0a2463;
    --color-white-gray: #fafafa;
    --color-gray: #c4c4c4;
    --color-red: #d8315b;
    --color-border: #eeeeee;
    --color-white: #fff;
    --bs-body-font-family: "Noto Sans JP", sans-serif;
}

* {

    font-family: "Open Sans", Meiryo, "メイリオ", Arial, sans-serif;
}

#body {
    margin-top: 60px;
    min-height: calc(100vh - 210px - 60px);
    /* 210px: header of footer; 60px: margin-top of #body */
}

.overlay {
    display: none;
    position: fixed;
    width: 100%;
    height: 100%;
    inset: 0;
    z-index: 9999;
    background: rgba(255, 255, 255, 0.8);
    margin: auto;
    text-align: center;
    line-height: 100vh;
}

body.loading {
    overflow: hidden;
}

body.loading .overlay {
    display: block;
}

#body #wrap {
    margin: auto;
    padding-top: 54px;
    display: flex;
    justify-content: center;
}

.rotate-180 {
    transform: rotate(180deg);
}

input[type="checkbox"] {
    width: 18px;
    height: 18px;
}

/* Pagination */

.pagination nav .flex-sm-fill {
    justify-content: center !important;
    display: block !important;
    width: 100%;
}

.pagination nav>*:first-child {
    display: none !important;
}

.pagination nav .flex-sm-fill>*:first-child {
    display: none;
}

.pagination nav .flex-sm-fill>*:nth-child(2) li.page-item {
    margin: 0 8px;
}

.pagination nav .flex-sm-fill>*:nth-child(2) li.page-item .page-link {
    color: var(--color-dodgerblue);
    border-color: var(--color-dodgerblue);
    border-radius: 0 !important;
    width: 30px;
    height: 25px;
    font-size: 14px;
    text-align: center;
    line-height: 25px;
    padding: 0;
}

.pagination nav .flex-sm-fill>*:nth-child(2) .pagination {
    justify-content: center;
}

.pagination nav .flex-sm-fill>*:nth-child(2) .pagination li.page-item:first-child>.page-link,
.pagination nav .flex-sm-fill>*:nth-child(2) .pagination li.page-item:last-child>.page-link {
    border: none;
    transform: scale(1.5);
}

/* Label */
.label-red {
    background: var(--color-red);
    border-radius: 8px;
    color: #fff;
    padding: 3px 10px;
}

.label-blue {
    background: var(--color-dodgerblue);
    border-radius: 8px;
    color: #fff;
    padding: 3px 10px;
}

.label-grey {
    background: grey;
    border-radius: 8px;
    color: white;
    padding: 3px 10px;
    font-weight: bold;
}

.small,
small {
    font-size: .675em !important;
}

.pull-right {
    float: right;
}

.btn-radius-15px {
    border-radius: 15px;
    padding: 3px 25px;
}

.btn-radius-20px {
    border-radius: 20px;
    padding: 3px 25px;
}

.pd-b-16 {
    padding-bottom: 16px;
}

.pd-b-20 {
    padding-bottom: 20px;
}

.heading-section h4 {
    font-style: normal;
    font-weight: 700;
    font-size: 18px;
    line-height: 26px;
    padding-left: 20px;
    color: #000000;
    border-left: 3px solid #3E92CC;
}

.auth-btn {
    background-color: #3E92CC;
    color: #FFFFFF;
    width: 350px;
    height: 52px;
    border-radius: 39px;
}

.p-btn-l {
    padding: 6px 65px !important;
}

.p-btn-s {
    padding: 6px 32px !important;
}

/* Color line table */
.table-striped>tbody>tr:nth-of-type(odd)>* {
    --bs-table-accent-bg: rgb(255 255 255 / 5%);
    color: var(--bs-table-striped-color);
}

.table-striped>tbody>tr:nth-of-type(even)>* {
    --bs-table-accent-bg: var(--bs-table-striped-bg);
    color: var(--bs-table-striped-color);
}

.error-message,
#errorList p {
    font-size: 14px;
    color: var(--color-red);
}

#errorList p:before {
    content: '※ '
}

#errorList:empty {
    display: none;
}

table.custom {
    border-collapse: separate;
}

table.custom th:first-child {
    border-left: 1px solid var(--bs-table-striped-bg) !important;
}

/* table.custom td:first-child {
    border-left: 1px solid var(--bs-table-striped-bg) !important;
} */

table.custom th {
    border-bottom: 1px solid var(--bs-table-striped-bg) !important;
    border-top: 1px solid var(--bs-table-striped-bg) !important;
    border-right: 1px solid var(--bs-table-striped-bg) !important;
}

table.custom tbody tr td {
    border-top: 1px solid var(--bs-table-striped-bg) !important;
    border-right: 1px solid var(--bs-table-striped-bg) !important;
    border-bottom: 1px solid var(--bs-table-striped-bg) !important;
}

table.custom tbody tr:first-child td {
    border-top: 0 !important;
}

.thead-sticky {
    position: sticky;
    top: 0;
    background-color: #fff;
}

.table-scroll {
    max-height: 500px;
}

.table-hover-custom tbody tr:hover {
    background-color: #d3d9de;
    cursor: pointer;
}

@media (min-width: 992px) {
    .menu_admin {
        max-width: 22% !important;
    }
}

@media (min-width: 1200px) {
    #body #wrap {
        max-width: calc(100% - 160px);
    }

    .menu_admin {
        max-width: 17% !important;
    }
}

@media (min-width: 1400px) {
    .menu_admin {
        max-width: 14% !important;
        margin-right: 30px !important;
    }
}

@media (min-width: 1600px) {
    .menu_admin {
        max-width: 12% !important;
        margin-right: 30px !important;
    }
}

@media (max-width: 992px) {
    #menu {
        display: none;
    }

    #content {
        padding: 10px;
        width: 100%;
    }
}