@charset "UTF-8";

.tbl03,
.tbl04 {
	border-collapse: collapse;
	border-spacing: 0;
	margin-bottom: 1em;
	width: 100%;
}
.tbl03 th,
.tbl04 th {
  text-align: center;
	padding: 20px;
	background: #F8E9F2;
	border: solid 1px #FFF;
	white-space: nowrap;
	min-width: 100px;
	font-weight: 500;
}
.tbl03 th {
	background: #B3DBF0;
}
.tbl03 td,
.tbl04 td {
	padding: 20px;
	border: solid 1px #FFF;
	background: #FBF4F9;
}
.tbl03 td {
	background: #EDF6FB;
}

.tbl03 td table th,
.tbl03 td table td,
.tbl04 td table th,
.tbl04 td table td {
	padding: 10px;
}

.tbl04 td table td {
	background: #F2F2F2;
}

table.op01 th,
table.op02 th {
	padding: 10px;
	font-weight: bolder;
	font-size: 1.6rem;
}
table.op03 th {
	min-width: inherit;
	width: 15%;
	font-size: 1.6rem;
}
table.op01 td:first-of-type {
	font-size: clamp(1.5rem, 1.000rem + 1.6vw, 1.6rem);
}
table.op03 td:first-of-type {
	width: 35%;
}

/* 表示領域が768px以上の場合に適用するスタイル
-----------------------------------------------------*/
@media print, screen and (min-width: 768px) {
	table.th-w200 th {
		width: 200px;
	}
}

/* 表示領域が767.98px以下の場合に適用するスタイル
-----------------------------------------------------*/
@media print, screen and (max-width: 767.98px) {
	table.sp th,
	table.sp td {
		display: block;
		width: 100%;
	}
	.tbl03.sp > tbody > tr > th,
	.tbl04.sp > tbody > tr > th {
		padding: 7px 10px;
		font-weight: 700;
		font-size: clamp(1.8rem, calc(1.8rem + ((1vw - 0.36rem) * 0.5435)), 2.2rem);
	}
	.tbl04 table.sp th {
		padding: 5px 10px;
		text-align: left;
	}
	.tbl03 th,
	.tbl03 td {
		padding: 15px;
	}
	.op03 tr {
    display: flex;
    flex-wrap: wrap;
  }
  .op03 th {
    flex-basis: 100%;
    order: 1;
		text-align: left;
		padding: 0.5em 1em;
		font-weight: bolder;
  }
  .op03 td {
    order: 2;
  }
	.op03 td:last-of-type {
    flex: 2;
  }
}

/* 表示領域が575.98px以下の場合に適用するスタイル
-----------------------------------------------------*/
@media print, screen and (max-width: 575.98px) {
	.op02 td {
		padding: 0.5em;
		font-size: 1.4rem;
	}
  .op03 td {
		width: 100%!important;
		padding: 0.5em 1em
  }
	.op03 td:first-of-type {
		border-bottom: none;
		padding-bottom: 0.2em;
  }
	.op03 td:last-of-type {
    flex: auto;
		border-top: none;
		padding-top: 0.2em;
  }
}