/************************************
** 横長テーブル
************************************/
.p-sticky-table{
  white-space: nowrap;
  line-height:1.6;
}
.p-sticky-table table{
  border:none;
  border: 1px solid #dedede;
  border-bottom: none;
  border-collapse: collapse;
  word-break: break-all;
  table-layout: fixed;
  display:block;
  overflow:scroll;
  max-height: 70vh;
}
.p-sticky-table thead th:first-child {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  left: 0;
  z-index: 3;
}
.p-sticky-table thead th {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 2;
  text-align:center;
    min-width: 130px;
}


.p-sticky-table tbody th:first-child{
  position: -webkit-sticky;
  position: sticky;
  left: 0;
  z-index: 1;
  border:none;
  white-space: normal;
  min-width: 130px;
}
.p-sticky-table th, .p-sticky-table td {
  text-align: left;
  font-size: 12px !important;
  position: relative;
  padding: 5px 13px !important;
  color: #333;
  border: none !important;
  z-index: 0;
  vertical-align:middle !important;
  background:#fff;
    min-width: 130px;
    min-height: 65px;
    height: 65px;
}


.p-sticky-table th{
  background:#E9ECEF !important;
  letter-spacing: 1px;
  font-weight: 500 !important;
  color: #555 !important;
}
.p-sticky-table tr{
  border-bottom:none !important;
}
.p-sticky-table img{
  margin: 10px auto;
  display: block;
  padding: 0;
  max-width: 80% !important;
}
.p-sticky-table table th::before, .p-sticky-table table td::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  border-right: 1px solid #dedede;
  border-bottom: 1px solid #dedede;
  z-index: -1;
}

/* スマホ */
@media screen and (max-width: 560px) {
  .p-sticky-table table {
    max-height: 60vh;
    }
  .p-sticky-table thead th:first-child, .p-sticky-table tbody th:first-child {
        min-width: 25vw;
    }
   .p-sticky-table th, .p-sticky-table td {
        font-size: 12px !important;
        padding: 7px !important;
    }
}
/* 中央寄せ */
.pst-center td {
  text-align: center;
}


.shift-item span {
    display: block;
}

.shift-item label {
    padding: 3px 10px;
}




/************************************
** 横長テーブル（せま目）
************************************/
.p-sticky-table-sm{
  white-space: nowrap;
  line-height:1;
}
.p-sticky-table-sm table{
  border:none;
  border: 1px solid #dedede;
  border-bottom: none;
  border-collapse: collapse;
  word-break: break-all;
  table-layout: fixed;
  display:block;
  overflow:scroll;
  max-height: 80vh;
}
.p-sticky-table-sm thead th:first-child {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  left: 0;
  z-index: 3;
}
.p-sticky-table-sm thead th {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 2;
  text-align:center;
    min-width: 150px;
}
.p-sticky-table-sm tbody th:first-child{
  position: -webkit-sticky;
  position: sticky;
  left: 0;
  z-index: 1;
  border:none;
  white-space: normal;
  min-width: 150px;
}
.p-sticky-table-sm th, .p-sticky-table-sm td {
  text-align: center;
  font-size: 12px !important;
  position: relative;
  padding: 5px 13px !important;
  color: #333;
  border: none !important;
  z-index: 0;
  vertical-align:middle !important;
  background:#fff;
    min-width: 90px;
    min-height: 30px;
    height: 30px;
}
.p-sticky-table-sm th{
  background:#E9ECEF !important;
  letter-spacing: 1px;
  font-weight: 500 !important;
  color: #555 !important;
}
.p-sticky-table-sm tr{
  border-bottom:none !important;
}
.p-sticky-table-sm img{
  margin: 10px auto;
  display: block;
  padding: 0;
  max-width: 80% !important;
}
.p-sticky-table-sm table th::before, .p-sticky-table-sm table td::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  border-right: 1px solid #dedede;
  border-bottom: 1px solid #dedede;
  z-index: -1;
}

/* スマホ */
@media screen and (max-width: 560px) {
  .p-sticky-table-sm table {
    max-height: 60vh;
    }
  .p-sticky-table-sm thead th:first-child, .p-sticky-table-sm tbody th:first-child {
        min-width: 25vw;
    }
   .p-sticky-table-sm th, .p-sticky-table-sm td {
        font-size: 12px !important;
        padding: 7px !important;
    }
}


/************************************
** 横長テーブル（かなりせま目）
************************************/
.p-sticky-table-xs{
  white-space: nowrap;
  line-height:1;
}
.p-sticky-table-xs table{
  border:none;
  border: 1px solid #dedede;
  border-bottom: none;
  border-collapse: collapse;
  word-break: break-all;
  table-layout: fixed;
  display:block;
  overflow:scroll;
  max-height: 80vh;
}

.p-sticky-table-xs thead th:first-child {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  left: 0;
  z-index: 3;
}
.p-sticky-table-xs thead th {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 2;
  text-align:center;
    min-width: 80px;
}
.p-sticky-table-xs tbody th:first-child{
  position: -webkit-sticky;
  position: sticky;
  left: 0;
  z-index: 1;
  border:none;
  white-space: normal;
  min-width: 150px;
}
.p-sticky-table-xs th, .p-sticky-table-xs td {
  text-align: center;
  font-size: 12px !important;
  position: relative;
  padding: 5px 13px !important;
  color: #333;
  border: none !important;
  z-index: 0;
  vertical-align:middle !important;
  background:#fff;
    min-width: 50px;
    min-height: 30px;
    height: 30px;
}
.p-sticky-table-xs th{
  background:#E9ECEF !important;
  letter-spacing: 1px;
  font-weight: 500 !important;
  color: #555 !important;
}
.p-sticky-table-xs tr{
  border-bottom:none !important;
}
.p-sticky-table-xs img{
  margin: 10px auto;
  display: block;
  padding: 0;
  max-width: 80% !important;
}
.p-sticky-table-xs table th::before, .p-sticky-table-xs table td::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  border-right: 1px solid #dedede;
  border-bottom: 1px solid #dedede;
  z-index: -1;
}

/* スマホ */
@media screen and (max-width: 560px) {
  .p-sticky-table-xs table {
    max-height: 60vh;
    }
  .p-sticky-table-xs thead th:first-child, .p-sticky-table-xs tbody th:first-child {
        min-width: 25vw;
    }
   .p-sticky-table-xs th, .p-sticky-table-xs td {
        font-size: 12px !important;
        padding: 7px !important;
    }
}


.custom-sticky-table th,
.custom-sticky-table td {
    min-width: 90px;
}
