@charset "UTF-8";

/* ====================================
	共通スタイル
==================================== */

.research-table-wrapper {
	--border-spacing: 8px;
	margin-inline: calc(var(--border-spacing) * -1);
}

.research-table-wrapper:nth-of-type(n+2) {
	margin-top: 6rem;
}

.research-table {
	border-collapse: separate;
	border-spacing: var(--border-spacing) 0px;
	inline-size: 100%;

	caption {
		font-size: 1.8rem;
		font-weight: 700;
		margin: 0 0 1rem var(--border-spacing);
	}

	tr:last-child :is(th, td),
	th[rowspan] {
		border-bottom: 1px solid #d9d9d9;
	}

	th,
	td {
		font-size: 1.4rem;
		line-height: 1.5;
		padding: 1.5rem 0;
	}

	th {
		font-weight: 400;
		inline-size: calc(100% / 3);
		border-top: 1px solid #d9d9d9;
		vertical-align: top;
	}

	td {
		border-top: 1px solid #d9d9d9;
	}

	a {
		text-decoration: underline;
		text-underline-offset: 2px;
	}
}


/* ====================================
	ホバー、マウスポインタが有効なデバイス
==================================== */
@media (hover:hover) and (pointer: fine) {
	.research-table a:hover {
		text-decoration: none;
	}
}

/* ====================================
	768px未満専用スタイル
==================================== */
@media screen and (width <768px) {}

/* ====================================
	768px以上専用スタイル
==================================== */
@media screen and (width >=768px) {
	.research-table-wrapper {
		--border-spacing: 34px;
	}

	.research-table-wrapper:nth-of-type(n+2) {
		margin-top: 8rem;
	}

	.research-table {
		caption {
			font-size: 2.6rem;
			margin-bottom: 3rem;
		}

		th,
		td {
			padding: 2.5rem 0;
		}

		th {
			font-size: 2rem;
		}

		td {
			font-size: 1.8rem;
		}
	}
}