@charset "UTF-8";

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

/* ボタンリンクデザイン・global.css上書き */
.button-link a {
	font-size: 1.2rem;
	padding: 1rem 1em;

	&:has(svg) {
		gap: 0 1rem;
	}
}

.base-table {
	inline-size: 100%;

	tr {
		border-top: 1px solid var(--light-gray);

		&:last-child {
			border-bottom: 1px solid var(--light-gray);
		}
	}

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

	th {
		font-weight: 500;
	}
}

/* ====================================
	ホバー、マウスポインタが有効なデバイス
==================================== */
@media (hover:hover) and (pointer: fine) {
	.button-arrow a:hover {
		color: var(--sharp-red);
		fill: var(--sharp-red);
		border-color: var(--sharp-red);
	}
}

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

	.base-table {

		th,
		td {
			display: block;
		}

		th {
			padding: 1.6rem 0 0;
		}

		td:has(address) {
			padding: 0.8rem 0 1.6rem;
		}

		td:has(.button-link) {
			display: flex;
			flex-wrap: wrap;
			gap: 0 0.8rem;
			padding: 0 0 2.4rem;
		}
	}
}

/* ====================================
	768px以上専用スタイル
==================================== */
@media screen and (width >=768px) {

	/* ボタンリンクデザイン・global.css上書き */
	.button-link a {
		font-size: 1.4rem;

		&:has(svg) {
			display: flex;
			justify-content: center;
		}
	}

	.button-link:nth-of-type(n+2) a {
		margin-top: 1.2rem;
	}

	.base-table {

		th,
		td {
			font-size: 1.6rem;
			line-height: 1.7;
			--padding: 2.5rem;
		}

		th {
			inline-size: 25%;
			padding: var(--padding) 0;
		}

		td {
			padding: var(--padding) 2rem;
		}

		td:has(.button-link) {
			inline-size: 15%;
			min-inline-size: 18rem;
			padding: var(--padding) 2rem var(--padding) 0;
		}
	}
}