#header {
    display: none;
}

#cnt_wrap {
    width: auto;
    padding: 0;
    margin: 0;
}

table {
    border: solid 1px #666;
    border-collapse: collapse;
    background: #FFF;
}

td, th {
    border: solid 1px #666;
    font-weight: normal;
}

.datasheet {

    width:100%;
    
    counter-reset: rowCount;
    background: #FFF;
    cursor: default;
    border: solid 1px #A5ACB5;

    box-shadow: none;
}

    .datasheet th {
        font-weight: normal;
        text-align: center;
        border: solid 1px #A9B0B8;

        background: #d2d8dc;
        padding: 0.25em;
        white-space: nowrap;
    }

    .datasheet > thead {
        position: sticky;
        z-index: 1;
        white-space: nowrap;
        top: 0px;
    }

    .datasheet > thead > tr > th.special_sticky {
        position: sticky;
        z-index: 2;
        left: 0;
    }

    .datasheet > thead > tr > th.date {
        font-weight: bold;
    }

    .datasheet > tbody {

    }

    /* 偶数・奇数で色を変えるテーブルの場合 */
    .datasheet.colored_row tr:nth-child(odd) {
        background: #FFFFFF;
    }

    .datasheet.colored_row tr:nth-child(even) {
        background: #EFEFEF;
    }

    .datasheet > tbody > tr > th.row_num {
        text-align: right;
        position: -webkit-sticky;
        position: sticky;
        left: 0;
    }

    .datasheet > tbody > tr > th.row_num::before {
        counter-increment: rowCount;
        content: counter(rowCount);
    }


    .datasheet > tbody > tr > td {
        font-weight: normal;
        text-align: left;
        border: solid 1px #A9B0B8;
        padding: 0.25em;
        white-space: nowrap;
    }

    .datasheet > tbody > tr > td.num {
        text-align: right;
    }

    .datasheet > tbody > tr > td.num[data-num^="-"] {
        color: #F00;
    }