#scrollTableWrapper {
    margin:20px 2%;
}

/* ===============　個別設定　=============== */
table#kochi {
    --main-color:#d1e8ff;
    --sub-color:#f4f9ff;
}
table#hata {
    --main-color:#F8F4E6;
    --sub-color:#FFFFF9;
}
table#susaki {
    --main-color:#FFEAD6;
    --sub-color:#FFF9F4;
}
table#chuo-nishi {
    --main-color:#EAD6FF;
    --sub-color:#F9F4FF;
}
table#chuo-higashi {
    --main-color:#D1FFE8;
    --sub-color:#F4FFF9;
}
table#aki {
    --main-color:#FFD6EA;
    --sub-color:#FFF4F9;
}
table#kengai {
    --main-color:#d6ffff;
    --sub-color:#f4ffff;
}

/* =============== 共通設定 =============== */
.scroll_wrap {
    --border:solid 1px #ddd;
    --first-cell-width:33px;

    width:fit-content;
    height:fit-content;
    max-width:100%;
    max-height:80vh;
    margin-inline:auto;
    line-height:1.4;
    overflow:auto;
}

.tbl_kaiin,
.tbl_kaiin *,
.tbl_kaiin *:before,
.tbl_kaiin *:after { box-sizing:border-box;}

.tbl_kaiin{
    margin:0;
    padding:0;
    border-collapse:collapse;
    font-size:12px;
    width:max-content;
}
.tbl_kaiin thead { position:sticky; inset:0 auto auto 0; z-index:2;}
.tbl_kaiin thead tr:first-of-type th:first-of-type { width:var(--first-cell-width);}
.tbl_kaiin thead :nth-child(1 of tr) th:before { border-top:var(--border);}
.tbl_kaiin :is(th, td) {
    position:relative;
    padding:5px;
}
.tbl_kaiin :is(th, td):before{
    content:"";
    position:absolute;
    display:block;
    inset:0;
    z-index:0;
    border-right:var(--border);
    border-bottom:var(--border);
    pointer-events:none;
}
.tbl_kaiin :is(.num, .corp){
    position:sticky;
    z-index:1;
}
.tbl_kaiin .num { inset:0 auto auto 0;}
.tbl_kaiin .num:before {
    content:"";
    position:absolute;
    display:block;
    width:100%;
    height:100%;
    inset:0 auto auto 0;
    border-left:var(--border);
    pointer-events:none;
}
.tbl_kaiin .corp { inset:0 auto auto var(--first-cell-width);}

.tbl_kaiin th {
    background:var(--main-color);
    font-weight:bold;
    letter-spacing:0.5em;
}
.tbl_kaiin th.light { background:var(--sub-color);}
.tbl_kaiin th.white { background:#fff; color:inherit;}
.tbl_kaiin .ttb { writing-mode:vertical-rl;}    /* top to bottom */

.tbl_kaiin td { text-align:center;}
.tbl_kaiin td strong { display:block;}
.tbl_kaiin td:is(.num, .corp) { background:#fff;}
.tbl_kaiin td:is(.corp, .address) { text-align:start;}