@charset "UTF-8";

table.table00,
table.table01,
table.table01a,
table.table01g,
table.table02 {
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid var(--dashboard-line, #cbdce8);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(15, 61, 102, .07);
  overflow: hidden;
}
table.table03 {
  border-collapse: collapse;
	border: 1px solid #c9c9c9;
}
/*テーブルを親要素の幅いっぱいに伸ばす*/
table.table01,
table.table01a,
table.table02,
table.table03 {
	width: 100%;
}
table.table01g,
table.table00 {
	margin: 0 auto;
}
/* table01, table01a */
table.table00 th,
table.table01 th,
table.table01a th,
table.table01g th,
table.table01 td,
table.table01a td,
table.table01g td {
	padding: 0.5em;
	border-top: 1px solid var(--dashboard-line, #cbdce8);
  border-bottom: 1px solid var(--dashboard-line, #cbdce8);
  font-weight: 500;
}
table.table03 th,
table.table03 td {
	padding: 0.5em;
	border-top: 1px solid #c9c9c9;
  border-bottom: 1px solid #c9c9c9;
}
table.table00 td,
table.table01 td,
table.table01a td,
table.table01g td,
table.table01g th {
	border-left: 1px solid var(--dashboard-line, #cbdce8);
}
table.table03 td {
	border-left: 1px solid #c9c9c9;
	line-height: 2em;
	font-size: 1.6rem;
}
table.table00 th,
table.table01 th,
table.table01a th,
table.table01g th {
  color: var(--dashboard-navy, #063b78);
  background: var(--dashboard-table-head, #edf6fc);
  font-weight: 700;
}
table.table03 th {
	background: #dfdfdf;
}
table.table00 th,
table.table01 th,
table.table03 th {
	width: 30%;
	min-width:100px;
	text-align: right;
}
table.table01g th {
	vertical-align: middle;
	text-align: center;
}
table.table01g td {
	vertical-align: middle;
	text-align: left;
}
table.table01a th {
	min-width:150px;
	padding: 0.7em 3em 0.7em 1em;
	position: relative;
	background-clip: padding-box; /* FireFoxでposition:relativeを指定したthやtdのボーダーが消えるのを防ぐ */	
	text-align: left;
	vertical-align: top;
}
/* table02 */
table.table02 th,
table.table02 td {
	padding: 0.8em 0.4em;
	border: 1px solid var(--dashboard-line, #cbdce8);
}
table.table02 th {
  color: var(--dashboard-navy, #063b78);
  text-align: center;
  background: var(--dashboard-table-head, #edf6fc);
  white-space: nowrap;
  font-weight: 700;
}
table.table04,
table.table04a {
	border-spacing:4px;
	background-color:#ffffff;
	empty-cells:show;
	width: 100%;
}
table.table04 a {
	text-decoration: none;
}
.table04 th,
.table04a th {
	white-space: nowrap;
}
.table04a th {
	border-left:5px solid #E9CEDF;
	background:#F3E6EF;
	padding:0.3em 0.2em 0.2em 0.5em;
	text-align:left;
}
.table04 th {
	border-right:1px solid #60a81d;
	border-bottom:1px solid #60a81d;
	color:#FFFFFF;
	background:#76c42e;
	padding:0.5em 1em;
	text-align:left;
	line-height:1em;
}
.table04 td {
	padding:0.2em;
}
.table04a td {
	padding:0.3em 0;
}

table.table04 .td01 {
	text-align:center;
	width: 20%;
	white-space: nowrap;
}
table.table04 .td02 {
	border: none;
	border-bottom:1px dotted #B8C3CC;
}
table.table04 .td3 {
	border-bottom:1px solid #B8C3CC;
	margin-bottom: 1em;
}

/*---------------------------------テーブル07*/
table.table05,
table.table05a {
	border-spacing:4px;
	background-color:#ffffff;
	empty-cells:show;
	width: 100%;
}

table.table05 a {
	text-decoration: none;
}


.table05 th,
.table05a th {
	white-space: nowrap;
}

.table05 th {
	border-right:1px solid #509F00;
	border-bottom:1px solid #509F00;
	color:#FFFFFF;
	background:#60BF00;
	padding:0.2em;
	text-align:center;
}

.table05a th {
	border-left: 5px solid var(--dashboard-blue, #1478c8);
	color: var(--dashboard-navy, #063b78);
	background: var(--dashboard-table-head, #edf6fc);
	padding: 0.45em 0.6em;
	text-align: left;
}

.table05 td {
	padding:0.2em;
}

.table05a td {
	padding:0.3em 0;
}

th.table05_td_t1,
td.table05_td_t1 {
	text-align:center;
	width: 20%;
	white-space: nowrap;
}

td.table05_td_t2 {
	border-bottom:1px dotted #B8C3CC;
}
td.table05_td_t3 {
	border-bottom:1px solid #B8C3CC;
	margin-bottom: 1em;
}


/* 表示領域が767.98x以下の場合に適用するスタイル
-----------------------------------------------------*/
@media screen and (max-width : 767.98px ){
	/* table01 */
	table.table01_sp,
	table.table01a_sp,
	table.table03_sp,
	table.table01g_sp {
		border-top: none;
	}
	/* thとtdをブロック化して幅100％にして、縦積み */
  table.table01_sp th,
	table.table01_sp td,
	table.table01a_sp th,
	table.table01a_sp td,
	table.table03_sp th,
	table.table03_sp td,
	table.table01g_sp th,
	table.table01g_sp td {
		width: 100%;
		display: block;
	}
	/* th（項目名）欄の不要な余白削除・テキスト左寄せ */
	table.table01_sp th,
	table.table01a_sp th,
	table.table03_sp th,
	table.table01g_sp th {
		text-align: left;
		padding-left: 1em; 
	}
	table.table01a_sp th,
	table.table03_sp th {
		padding-top: 0.6em;
		padding-bottom: 0.6em;
}
	table.table01_sp td,
	table.table01a_sp td,
	table.table03_sp td {
		border: none;
		padding-right: 10px; 
		padding-left: 10px; 
	}
	/*不要な最終行の左のthを非表示にする*/
	table.table01_sp .empty,
	table.table01a_sp .empty,
	table.table03_sp .empty {
		display: none;
	}

	/* table02 */
  table.table02_sp thead { 
		display: none;
  }

  table.table02_sp td { 
    display: block;
  }
	table.table02_sp td::before {
    content: attr(data-label);
    font-size: 1.4rem;
    color: #2387CA;
    display: block;
    margin-bottom: 0.25rem;
		text-align: left;
		font-weight: bold;
		background: #EEE;
		padding: 3px 13px;
		border-left: 3px solid var(--dashboard-table-head, #edf6fc);
  }
	table.table02_sp td.num {
		background: var(--dashboard-table-head, #edf6fc);
		color: #FFF;
  }
	table.table02_sp td.num::before {
		padding: 0;
	}
	table.table02_sp td.nottl::before {
		padding: 0;
	}
	table.table02_sp td.center {
		text-align: left;
	}
	/* フォーム関係 */
	table.table01_sp input[type="text"],
	table.table01_sp input[type="email"],
	table.table01_sp input[type="password"],
	table.table01g_sp input[type="text"],
	table.table01g_sp input[type="email"],
	table.table01g_sp input[type="password"],
	table.table02_sp input[type="text"],
	table.table02_sp input[type="email"],
	table.table02_sp input[type="password"],
	table.table03_sp input[type="text"],
	table.table03_sp input[type="email"],
	table.table03_sp input[type="password"],
	textarea {
		padding: 0.5em;
		margin: 0.2em 0;
	}
	
	button.sw100 {
		width: 49%;
    padding: 15px 20px;
	}
}

/* 修正箇所のセルを黄色に */
.bg_yelw01 { 
	background: #FF9;
}
.bg_gray01 { 
	background: #EEE;
  color: #999;
}
.nowrap {
	white-space: nowrap;
}

/* 日本語入力機能(IME)を制御 */
.ime_active { ime-mode: active; }    /* ONにする */
.ime_disabled { ime-mode: disabled; } /* 無効にする */

.bg_gren01 {
	background: #DDE8A4;
}
.bg_gren02 {
	background: #FAFDD7;
}
/*================================================
/* 幅
 ================================================*/

 .width005_per { width: 5%; }
 .width010_per { width: 10%; }
 .width015_per { width: 15%; }
 .width020_per { width: 20%; }
 .width025_per { width: 25%; }
 .width027_per { width: 27%; }
 .width030_per { width: 30%; }
 .width040_per { width: 40%; }
 .width045_per { width: 45%; }
 .width100_per { width: 100%; }
 .width025 { width: 25px; }
 .width030 { width: 30px; }
 .width040 { width: 40px; }
 .width050 { width: 50px; }
 .width060 { width: 60px; }
 .width065 { width: 65px; }
 .width070 { width: 70px; }
 .width080 { width: 80px; }
 .width090 { width: 90px; }
 .width100 { width: 100px; }
 .width110 { width: 110px; }
 .width120 { width: 120px; }
 .width125 { width: 125px; }
 .width130 { width: 130px; }
 .width134 { width: 134px; }
 .width140 { width: 140px; }
 .width150 { width: 150px; }
 .width152 { width: 152px; }
 .width160 { width: 160px; }
 .width180 { width: 180px; }
 .width200 { width: 200px; }
 .width230 { width: 230px; }
 .width240 { width: 240px; }
 .width250 { width: 250px; }
 .width280 { width: 280px; }
 .width300 { width: 300px; }
 .width350 { width: 350px; }
 .width360 { width: 360px; }
 .width380 { width: 380px; }
 .width400 { width: 400px; }
 .width500 { width: 500px; }
 .width520 { width: 520px; }
 .width600 { width: 600px; }
 .width650 { width: 600px; }
 .width750 { width: 750px; }

.v_top {
	vertical-align: top;
}