@charset "utf-8";

/* SECTION TABLE //////////////////////////////////////////////////////////////////////////////////////////////////////*/

/*~~*/

#table .table-body {

	display: flex;
	flex-direction: column;
	gap: 20px;

	> li {
		padding-top: 20px;
		border-top: 1px solid #000;
	}

	> li:first-child {
		padding-top: 0;
		border-top: none;
	}

	/* PICTURE ///////////////////////////////////////////////////////////////////////////////////////////////////////*/

	.pict-b.-w > *,
	.pict-l.-w > * {
		margin-bottom: 0;
	}

	.pict-n .fpict {
		display: none;
	}

	.fpict .capt {
		margin-top: 5px;
	}

	.ftext .head + .body {
		margin-top: 5px;
	}

	/* TABLE /////////////////////////////////////////////////////////////////////////////////////////////////////////*/

	.ftable {
		width: 100%;
		margin-top: 15px;
	}

	.none {
		display: none;
	}

	.none + .ftable {
		margin-top: 0;
	}

	table {
		width: 100%;
		border-spacing: 0;
		border-collapse: separate;

		th {
			padding: 5px 10px;
			border-right: 1px solid #fff;
			background-color: #000;
			color: #fff;
			font-size: 1.2rem;
			font-weight: normal;
			line-height: 120%;
			text-align: center;
			vertical-align: middle;
		}

		th:last-of-type {
			border-right: 0;
		}

		td {
			padding: 7px 10px;
			border-right: 1px solid #000;
			border-bottom: 1px solid #000;
			color: #000;
			font-size: 1.2rem;
			font-weight: normal;
			line-height: 120%;
			text-align: center;
			vertical-align: middle;
		}

		td:first-of-type {
			border-left: 1px solid #000;
		}
	}

	tr:nth-child(even) {
		background-color: #ccc;
	}

	tr:nth-child(odd) {
		background-color: #fff;
	}

	.blank::before {
		content: "--";
	}

	.note {
		margin-top: 10px;
	}

}

/*//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////*/

@media screen and (max-width:768px){
/************************************************************************************************************************/

#table {
	margin-top: var(--mtsp, 0);
	margin-right: var(--mrsp, 0);
	margin-bottom: var(--mbsp, 0);
	margin-left: var(--mlsp, 0);
}

#table .table-body {

	.capt {
		text-align: right;
	}

	.pict-t .fpict + .ftext,
	.pict-l .fpict + .ftext {
		margin-top: 10px;
	}

	.pict-b,
	.pict-r {
		display: flex;
		flex-flow: column-reverse;
	}

	.pict-b .fpict,
	.pict-r .fpict {
		margin-top: 10px;
	}

	/* FIXED COLUMN //////////////////////////////////////////////////////////////////////////////////////////////////*/

	.ftable {

		> div {
			overflow-x: auto;
		}

		table {
			width: 1000px;
		}
	}

	tr {

		th:first-of-type,
		td:first-of-type {
			position: sticky;
			top: 0;
			left: 0;
			border-right: none;
			border-left: none;
			background: none;
		}

		th:first-of-type::before,
		td:first-of-type::before {
			content: "";
			position: absolute;
			z-index: -1;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			border-right: 2px solid #000;
		}

		th:first-of-type::before {
			border-right-color: #fff;
			background: #000;
		}
	}

	tr:nth-child(odd) td:first-of-type::before {
		background: #fff;
	}

	tr:nth-child(even) td:first-of-type::before {
		background: #ccc;
	}

}

/************************************************************************************************************************/
}

/*//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////*/

@media screen and (min-width:769px){
/************************************************************************************************************************/

#table {
	margin-top: var(--mt, 0);
	margin-right: var(--mr, 0);
	margin-bottom: var(--mb, 0);
	margin-left: var(--ml, 0);
}

#table .table-body {

	.fpict img {
		width: auto;
		max-width: 100%;
	}

	[class*="-w"] .fpict img {
		width: 100%;
	}

	.pict-l > div:first-child {
		display: flex;
		flex-direction: row;
	}

	.pict-r > div:first-child {
		display: flex;
		flex-direction: row-reverse;
	}

	.pict-b > div:first-child {
		display: flex;
		flex-direction: column-reverse;
	}

	.pict-l.-w .fpict,
	.pict-r.-w .fpict {
		width: 50%;
	}

	.pict-l.-w3 .fpict,
	.pict-r.-w3 .fpict {
		width: 35%;
	}

	.pict-t .capt {
		text-align: right;
	}

	.pict-l .ftext {
		flex: 1;
		margin: 0 0 0 15px;
	}

	.pict-r .ftext {
		flex: 1;
		margin: 0 15px 0 0;
	}

	.pict-b .ftext {
		margin: 0 0 10px;
	}

	table td {
		font-size: 1.4rem;
	}

}

/************************************************************************************************************************/
}

/*//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////*/