@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&family=Noto+Serif+JP:wght@400;700&display=swap');

body {
    font-family: 'Noto Serif JP', serif !important;
}

/*角丸を抑制*/
/*.card{
    border-radius: 0;
}*/
/*角丸を抑制*/
/*.modal-content {  
    border-radius: 0;
}*/
/*コントロールの角丸を抑制*/
/*.form-control {   
    border-radius: 0;
}*/

/*モーダルフッターのボタンサイズ*/
.modal-footer .btn{  
    width: 120px !important;
}

/*テーブルデータを垂直中央揃え*/
.table td{
    vertical-align:middle;
}

/*モーダルヘッダーの下線削除*/
/*.modal-header{
    border: none;
}*/
/*モーダルヘッダーの上線削除*/
/*.modal-footer {
    border: none;
}*/

/* 検証 */
/*.form-control.invalid {
    border-color: #dc3545;
}*/

.validation-message {
    margin-top: .25rem;
    color: #dc3545;
}

.modal-open {
    padding-right: 0px !important;
    overflow-y: scroll !important;
}


/* .table-cell-fixed
-----------------------------*/
/*.table-cell-fixed {
    width: auto;
}*/
    .table-cell-fixed th {
        position: -webkit-sticky;
        position: sticky;
        top: 0;
        z-index: 1;
        background-color: #f8f9fa;
    }

.table-cell-fixed2 th {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 1;
    background-color: #f8f9fa;
}

/* 各要素を固定、背景・border設定*/
th.fixed-cell {
    position: sticky;
    background-color: #f8f9fa;
    background-clip: padding-box;
    border-bottom: 2px solid #dee2e6;
    border-collapse: separate;
    border-left: none;
    z-index: 2;
}

td.fixed-cell {
    position: sticky;
    background-color: white;
    background-clip: padding-box;
    border: 1px solid #dee2e6;
    border-collapse: separate;
    border-left: none;
}

    /* 枠線も移動してしまうので、疑似要素で追加*/
    th.fixed-cell:before, td.fixed-cell:before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        border-right: 1px solid #dee2e6;
    }

/* 最初のleftを指定、以降jqueryで幅取得しleft指定 */
.fixed-cell01 {
    left: 0;
}

.fixed-cell01-2 {
    left: 0;
}

.first-th-width {
    width: 65px;
    min-width: 65px;
}

.first-td-padding {
    padding-top: .5rem !important;
    padding-bottom: .5rem !important;
}

td.fixed-cell-color, tr.fixed-cell-color {
    background-color: #f5f5f5;
}

table.tbodyhover tbody:hover td {
    background-color: #dcdcdc !important;
}

table.trhover tr:hover td {
    background-color: #dcdcdc !important;
}

.spinner {
    border: 16px solid silver;
    border-top: 16px solid #337AB7;
    border-radius: 50%;
    width: 80px;
    height: 80px;
    animation: spin 700ms linear infinite;
    top: 40%;
    left: 55%;
    position: absolute;
}

@keyframes spin {
    0% {
        transform: rotate(0deg)
    }

    100% {
        transform: rotate(360deg)
    }
}