@charset "utf-8";
/* CSS Document */
/*------------------------
    テーブル
--------------------------*/
.table01 {
  border-collapse: collapse;
  font-size: 1.6rem;
}
.table01 th, .table01 td {
  display: block; /*テーブルを縦積み化*/
  padding: .5em, 1.1em;
  border: 1px solid #0D3B2B;
}
.table01 th {
  color: #E5DECA;
}
.table01 td:nth-child(even) {
  background: #FFFCDB;
}
/*----------------------------
table02
----------------------------*/
.table02 {
    width:100%;
     border-collapse: collapse;
    table-layout: fixed;
}
.table02 th, .table02 td {
    padding:.5em;
    border-bottom:1px solid #4A7664;
}
.table02 th {
  color: #E5DECA;
  text-align:left;
    overflow-wrap: break-word;
}
.table02 td {
    width:calc(100%/4);
}
/*----------------------------
table03
----------------------------*/
.table03 {
  border-collapse: collapse;
  font-size: 1.6rem;
}
.table03 th, .table03 td {
  padding: .5em 1.1em;
  border: 1px solid #0D3B2B;
}
.table03 th {
  background: #4A7664;
  color: #E5DECA;
}
/*----------------------------
table04
----------------------------*/
.table04 {
  /*隣接するボーダーラインを離して表示するよう指定します。*/
  border-collapse: collapse;
  width: 100%;
  display:table;
    font-size:1.6rem;
}
.table04 th, .table04 td {
  display:table-cell;
  padding: .5em 1.1em;
    width:8em;
}
.table04 th:first-child{
    width:6em;
}
.table04 th {
  color: #E5DECA;
}
/*----------------------------
スマフォタブレット
1023px以下の画面
----------------------------*/
@media only screen and (max-width:1023px), print {
    /*table02*/
    .table02{
        width:100%;
        border-collapse:separate;
        border-spacing: 0;
        border: 1px solid #dfe2e5;
    }
    .table02 tr:first-child{
        display: none;
    }
    .table02 th,
    .table02 td{
        box-sizing:border-box;
        display:table;
        table-layout: fixed;
        padding: .5em 1.1em;
        width:100%;
        border:0;
    }
    .table02 td{
        width:100%;
    }
    .table02 tr + tr + tr th,
    .table02 td{
        border-top:1px solid #dfe2e5;
    }
    .table02 td::before{
        content: attr(data-heading);
        display:table-cell;
        width:6em;
        padding:0.5em;
        font-weight:bold;
    }
    /*----------------------------
    table03
    ----------------------------*/
  .table03 {
    border-collapse: separate;
    display: flex;
    width: 100%;
    border-spacing: 0;
    border: 1px solid #0D3B2B;
  }
  .table03 thead {
    width: 5em;
    text-shadow: 0 7.8em, 0 15.6em;
    background: #4A7664;
    color: #E5DECA;
  }
  .table03 tbody {
    flex: 1;
  }
  .table03 thead, .table03 tbody, .table03 tr {
    display: block;
  }
  .table03 tr:not(:first-child) td:first-child {
    border-top: 1px solid #dfe2e5;
  }
  .table03 th, .table03 td {
    display: block;
    line-height:40px;
    padding: 0.5em 1.1em;
    border: 0;
  }
  .table03 th {
    background: none;
  }
    .table03 td::before{
        content: attr(data-heading);
        display:table-cell;
        width:6em;
        padding: 0.5em 1.1em;
    }
  /*----------------------------
    table04
    ----------------------------*/
  .table04 {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    border: 1px solid #dfe2e5;
  }
  .table04::after {
    content: '';
    display: block;
    clear: both;
  }
  .table04 tr {
    float: left;
    width: 25%;
  }
  .table04 th, .table04 td {
    box-sizing: border-box;
    display: block;
    height: 2.6em;
  }
  .table04 th:not(:first-child), .table04 td:not(:first-child) {
    border-top: 1px solid #000;
  }
  .table04 th {
    background-color: #f9fafb;
  }
  .table04 tr:not(:first-child) th:first-child, .table04 td {
    border-left: 1px solid #dfe2e5;
  }
} /*@media*/