hr {
  margin: 120px 0;
  border: 1px solid #eee;
}

.rwdtable {
  max-width: 760px;
  width: 100%;
  border-collapse: collapse;
  border: none;
  margin: 30px auto;
  font-family: "Apple LiGothic Medium", PingFang, 微軟正黑體, "Microsoft JhengHei", "WenQuanYi Zen Hei", helvetica, Arial, sans-serif;
}

.rwdtable caption {
  color: #000;
  font-size: 20px;
  font-weight: bold;
  text-align: left;
}

.rwdtable th,
.rwdtable td {
  font-size: 18px;
  color: #000;
  padding: 10px 10px;
  position: relative;
  border: 5px solid #fff;
  vertical-align: top;
  box-sizing: border-box;
}

.rwdtable.type4 td {
  text-align: center;
}

.rwdtable.type1 td:first-child {
  background-color: #E8E8E7;
  white-space: nowrap;
}

.rwdtable.type3 td[colspan],
.rwdtable.type4 td[colspan] {
  background-color: #E8E8E7;
  white-space: nowrap;
  text-align: center;
}

.rwdtable.type2 td:first-child {
  background-color: #E8E8E7;
}

.rwdtable.type2 td:not(:first-child) {
  text-align: center;
}

.rwdtable tr {
  background-color: #F9F9F9;
}

.rwdtable tr:hover {
  background-color: #fff9e5;
}

.rwdtable th {
  font-weight: bold;
  background-color: #DAF5FE;
}

.rwdtable th:empty {
  background: #E8E8E7;
}

.rwdtable a {
  text-decoration: underline;
}

.rwdtable a:hover {
  text-decoration: underline;
}

.rwdtable .subl {
  font-size: 15px;
}

.rwdtable.type3 .subl {
  display: inline-block;
}



@media screen and (max-width: 640px) {

  .rwdtable thead {
    display: none;
  }

  .rwdtable.type3 thead,
  .rwdtable.type4 thead {
    display: table-header-group;
  }

  .rwdtable caption {
    font-size: 18px;
  }

  .rwdtable th,
  .rwdtable td {
    font-size: 16px;
    border: 3px solid #fff;
  }

  .rwdtable td {
    display: block;
    /* justify-content: space-between; */
    /* flex-direction: column; */
    /* align-items: center; */
    /* flex-wrap: wrap; */
  }


  .rwdtable.type1 td:first-child,
  .rwdtable.type2 td:first-child {
    font-size: 18px;
    display: block;
    padding: 10px;
    font-weight: bold;
    background-color: #DAF5FE;
    text-align: center;
  }

  .rwdtable.type1 td:not(:first-child),
  .rwdtable.type2 td:not(:first-child) {
    padding: 10px 10px 10px calc(32vw + 10px);
  }

  .rwdtable.type2 td:not(:first-child) {
    text-align: left;
  }

  .rwdtable.type1 td:not(:first-child):before,
  .rwdtable.type2 td:not(:first-child):before {
    content: attr(data-label);
    text-align: left;
    padding: 10px;
    width: 32vw;
    background-color: #E8E8E7;
    box-sizing: border-box;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
  }

  .rwdtable.type3 td,
  .rwdtable.type4 td {
    display: table-cell;
    padding: 10px !important;
  }

}

@media screen and (max-width: 375px) {
  .rwdtable td:not(:first-child) {
    padding: 10px 10px 10px calc(36vw + 10px) !important;
  }

  .rwdtable td:not(:first-child):before {
    width: 36vw !important;
  }

  .rwdtable.type3 td,
  .rwdtable.type4 td {
    padding: 10px !important;
  }
}

@media screen and (max-width: 320px) {
  .rwdtable td:not(:first-child) {
    padding: 10px 10px 10px calc(42vw + 10px) !important;
  }

  .rwdtable td:not(:first-child):before {
    width: 42vw !important;
  }

  .rwdtable.type3 td,
  .rwdtable.type4 td {
    padding: 10px !important;
  }
}