@charset "UTF-8";
/* ==================================================================*/
/* 全般 */
/* ==================================================================*/
table {
  border-collapse: collapse;
  width: 100%; }

/* ==================================================================*/
/* 通常テーブル（入力画面や参照画面等のth1に対してtdが1の場合） */
/* ==================================================================*/
table.normal {
  border-collapse: separate;
  border-spacing: 0;
  border-left: 1px solid #125939;
  border-right: 1px solid #125939;
  border-bottom: 1px solid #125939; }

table.normal tr th, table.normal tr td {
  border-top: 1px solid #125939;
  padding: 1.5em 10px;
  text-align: left; }

table.normal tr th {
  vertical-align: middle;
  background-color: #DBFAEC;
  width: 30%;
  text-align: left; }

table.normal tr th span.nes1 {
  display: none; }

table.normal tr td.nes2 {
  vertical-align: middle;
  text-align: center;
  width: 5em; }

table.normal tr td.iew, table.normal tr td.iew_modal, table.normal tr td.iew_intab {
  max-width: calc(90vw * 0.8 - 5em); }

table.normal.iew tr td {
  max-width: calc(90vw * 0.8 - 5em); }

@media screen and (max-width: 768px) {
  table.normal {
    margin-left: auto;
    margin-right: auto;
    width: 98%;
    border: none; }
  table.normal tr {
    border: none; }
  table.normal tr th, table.normal tr td {
    border: none;
    width: 100%; }
  table.normal tr th {
    display: flex;
    align-items: center; }
  table.normal tr th span.nes1 {
    display: inline;
    margin-left: 2em; }
  table.normal tr td {
    display: block; }
  table.normal tr td.media_nodisp, table.normal tr td.nes2 {
    display: none; }
  table.normal tr td.iew {
    max-width: 95.54vw;
    width: 100%; }
  table.normal tr td.iew_modal {
    max-width: 79.54vw;
    width: 100%; }
  table.normal tr td.iew_intab {
    max-width: 94.39vw;
    width: 100%; }
  table.normal.iew tr td {
    max-width: 95.54vw;
    width: 100%; } }

/* ==================================================================*/
/* レスポンシブテーブル */
/* ==================================================================*/
table.responsive {
  border-collapse: collapse;
  vertical-align: middle; }

table.responsive th, table.responsive td {
  border: 1px solid #125939;
  padding: .5em; }

table.responsive th {
  vertical-align: middle;
  background-color: #DBFAEC; }

/*
.row-head label {
  line-height: 34px;
  margin: 0;
}
*/
@media only screen and (max-width: 768px) {
  table.responsive {
    margin-left: auto;
    margin-right: auto;
    width: 98%; }
  table.responsive thead {
    display: none; }
  table.responsive tr, table.responsive td {
    display: block;
    width: auto; }
  table.responsive tr {
    border: 1px solid #125939;
    border-radius: .5em;
    margin-bottom: .5em;
    padding: .5em .5em 0 .5em; }
  table.responsive td {
    border: none;
    border-bottom: 1px solid #125939;
    display: flex;
    justify-content: space-between;
    text-align: right; }
  table.responsive td:last-child {
    border-bottom: none; }
  table.responsive td::before {
    content: attr(aria-label);
    display: inline-block;
    font-weight: bold;
    float: left;
    text-align: left;
    padding-right: 1.5em;
    padding-left: 1em;
    white-space: nowrap; }
  table.responsive.header_check tr {
    padding-left: 2em;
    position: relative; }
  table.responsive.header_check td:first-child {
    align-items: center;
    background: #fff;
    border-right: 1px solid #125939;
    border-top-left-radius: .5em;
    border-bottom-left-radius: .5em;
    border-bottom: none;
    bottom: 0;
    display: flex;
    justify-content: center;
    left: 0;
    padding: 0;
    position: absolute;
    text-align: center;
    top: 0;
    width: 2.5em; }
  table.responsive.header_check td:first-child::before {
    display: none; } }

table.table_message {
  margin: 1em; }

table.table_message th,
table.table_message td {
  padding: 10px;
  border-top: 1px solid #afb2b3;
  border-bottom: 1px solid #afb2b3;
  font-size: 0.875em; }

table.table_message th {
  background-color: #c8c8c8;
  text-align: center; }

table.table_message tr:nth-child(odd) {
  background-color: #f6f6f6; }

table.table_message td {
  line-height: 1.8em; }

table.table_message td a {
  color: #00a1e9; }

@media screen and (max-width: 768px) {
  table.table_message {
    margin: 1em 0; }
  table.table_message th,
  table.table_message td {
    padding: 4px;
    border-top: 1px solid #afb2b3;
    border-bottom: 1px solid #afb2b3;
    font-size: 0.675em; } }

table.kyujin {
  table-layout: fixed;
  word-wrap: anywhere; }

table.kyujin th,
table.kyujin td {
  padding: 0.5em;
  border: 1px solid #afb2b3;
  text-align: left; }

table tr.kyujin_head {
  background-color: #eee; }

table tr.kyujin_foot {
  background-color: #eee; }

@media screen and (max-width: 768px) {
  table tr.kyujin_foot .button {
    width: 100%; } }

table.kyujin table.noborder,
table.kyujin table.noborder td,
table.kyujin table.noborder th {
  border: none; }

table.kyujin tr.kyujin_body td div div.left-side {
  width: 58%;
  margin-right: 2%; }

table.kyujin tr.kyujin_body td div div.right-side {
  width: 40%; }

table.kyujin tr.kyujin_body td div div.left-side2 {
  width: 49%;
  margin-right: 2%; }

table.kyujin tr.kyujin_body td div div.right-side2 {
  width: 49%; }

@media screen and (max-width: 768px) {
  table.kyujin tr.kyujin_body td div div.left-side,
  table.kyujin tr.kyujin_body td div div.right-side,
  table.kyujin tr.kyujin_body td div div.left-side2,
  table.kyujin tr.kyujin_body td div div.right-side2 {
    width: 100%; } }

table.list_table {
  width: 100%;
  border: #afb2b3 solid 1px;
  border-collapse: collapse;
  font-size: 0.8em; }

table.list_table thead th {
  background: #eee;
  color: #000000;
  padding: 10px 15px;
  border-right: #afb2b3 solid 1px;
  border-bottom: #afb2b3 solid 1px; }

table.list_table thead th:last-child {
  border-right: #afb2b3 solid 1px; }

table.list_table tbody th {
  background: #eee;
  color: #000000;
  padding: 10px 15px;
  border-bottom: #afb2b3 solid 1px;
  vertical-align: top; }

table.list_table tbody tr:last-child th {
  border-bottom: #afb2b3 solid 1px; }

table.list_table tbody td {
  background: #FFF;
  padding: 10px 15px;
  border-left: #afb2b3 solid 1px;
  border-bottom: #afb2b3 solid 1px;
  vertical-align: top; }

@media screen and (max-width: 768px) {
  table.list_table thead {
    display: none; }
  table.list_table tbody th {
    display: block; }
  table.list_table tbody td {
    display: block; }
  table.list_table tbody td::before {
    content: attr(label);
    float: left;
    clear: both;
    font-weight: bold; }
  table.list_table tbody td p {
    padding-left: 6em; } }


