.wp-block-table {
	margin-block-start: var(--wp--preset--spacing--50);
	margin-block-end: var(--wp--preset--spacing--40);

	&.is-style-regular,
	&:not([class*="is-style-"]) {
		table {
			th,
			td {
				padding: var(--wp--preset--spacing--40);
				vertical-align: top;
				border: 1px solid var(--wp--preset--color--dark-01);
			}

			thead {
				border-bottom: 1px solid var(--wp--preset--color--alto-10);

				th {
					background-color: var(--wp--preset--color--alto-10);
				}
			}

			tbody {
				tr {
					&:has(th) th {
						text-align: center;
						background-color: var(--wp--preset--color--alto-03);
					}

					&:not(:has(th)) td:first-child {
						background-color: var(--wp--preset--color--alto-03);
					}

					& + tr {
						border-top: 1px solid var(--wp--preset--color--alto-10);
					}
				}
			}
		}

		@media screen and (0px <= width <= 767px) {
			table td + td {
				margin-block-start: 0;
			}
		}
	}

	&.is-style-col2,
	&.is-style-col3 {
		table {
			th,
			td {
				padding: var(--wp--preset--spacing--40);
				vertical-align: top;
				border: 1px solid var(--wp--preset--color--alto-10);
			}

			th {
				background-color: var(--wp--preset--color--alto-03);

				@media screen and (0px <= width <= 767px) {
					width: 40%;
				}
			}

			thead {
				border-bottom: 1px solid var(--wp--preset--color--alto-10);
			}

			tbody tr + tr {
				border-top: 1px solid var(--wp--preset--color--alto-10);
			}

			@media screen and (0px <= width <= 767px) {
				td + td {
					margin-block-start: 0;
				}
			}
		}

		figcaption {
			margin-block-start: var(--wp--preset--spacing--20);
			color: var(--wp--preset--color--dark-02);
			font-size: var(--wp--preset--font-size--sm);
		}
	}

	&.is-style-price-col2,
	&.is-style-price-col3 {
		table {
			border: 1px solid var(--wp--preset--color--alto-10);

			@media screen and (0px <= width <= 767px) {
				width: 100%;
			}

			th,
			td {
				padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--60);

				@media screen and (0px <= width <= 767px) {
					padding: var(--wp--preset--spacing--40);
				}
			}

			th {
				background-color: var(--wp--preset--color--primary-light);
			}

			thead {
				border-bottom: 1px solid var(--wp--preset--color--dark-03);

				th {
					text-align: center;
				}
			}

			tbody {
				tr *:nth-child(2),
				tr *:nth-child(3) {
					text-align: right;
				}

				tr + tr {
					border-top: 1px solid var(--wp--preset--color--alto-10);
				}
			}
		}

		.price {
			font-weight: 700;
			font-size: var(--wp--preset--font-size--three-xl);
			font-family: var(--wp--preset--font-family--alto-02);
		}

		.yen {
			font-size: var(--wp--preset--font-size--md);
			font-family: var(--wp--preset--font-family--sans-serif);
		}

		.more {
			margin-inline-start: var(--wp--preset--spacing--40);
			font-size: var(--wp--preset--font-size--lg);
		}

		figcaption {
			color: var(--wp--preset--color--dark-02);
			font-size: var(--wp--preset--font-size--sm);
		}
	}

	&.is-style-price-col5 {
		th,
		td {
			padding: var(--wp--preset--spacing--40);
			text-align: center;
			vertical-align: middle;
			border: 1px solid #000;
		}

		&:has(thead) {
			thead {
				color: var(--wp--preset--color--light-01);
				background-color: var(--wp--preset--color--primary);
			}

			tbody th {
				background-color: var(--wp--preset--color--alto-05);
			}
		}
	}

	&.is-style-separate {
		table {
			@media screen and (0px <= width <= 767px) {
				width: 100%;
			}

			th,
			td {
				padding: var(--wp--preset--spacing--40);
				vertical-align: top;

				@media screen and (0px <= width <= 767px) {
					display: block;
					width: 100%;
				}
			}

			thead {
				border-bottom: 1px solid var(--wp--preset--color--dark-03);
			}

			tbody tr + tr {
				border-top: 1px solid var(--wp--preset--color--dark-03);
			}

			@media screen and (0px <= width <= 767px) {
				th + td {
					padding-top: 0;
				}

				td + td {
					margin-block-start: 0;
				}
			}
		}

		figcaption {
			margin-block-start: var(--wp--preset--spacing--20);
			color: var(--wp--preset--color--dark-02);
			font-size: var(--wp--preset--font-size--sm);
		}
	}

	&.is-style-time,
	&.is-style-hours {
		.is-style-footer-primary & {
			margin-block-start: 0;
		}

		table {
			width: 100%;
			border-collapse: collapse;
			thead {
				border-block-end: 0;
			}
		}

		th,
		td {
			padding-block: var(--wp--preset--spacing--30);
			padding-inline: var(--wp--preset--spacing--20);
			line-height: 1.2;
			text-align: center;
			vertical-align: middle;
			border: 1px solid var(--wp--preset--color--dark-03);
		}

		@media screen and (0px <= width <= 767px) {
			th,
			td {
				padding-block: var(--wp--preset--spacing--20);
				padding-inline: var(--wp--preset--spacing--10);
				font-size: var(--wp--preset--font-size--sm);
			}
		}

		thead th {
			color: var(--wp--preset--color--light-01);
			font-weight: 700;
			font-size: var(--wp--preset--font-size--sm);
			letter-spacing: 0.04em;
			background-color: var(--wp--preset--color--primary);
			border-color: var(--wp--preset--color--primary);

			&:first-child {
				padding-inline: var(--wp--preset--spacing--30);
				text-align: start;
			}
		}

		tbody {
			th {
				padding-inline: var(--wp--preset--spacing--30);
				color: var(--wp--preset--color--dark-01);
				font-weight: 700;
				font-size: var(--wp--preset--font-size--sm);
				font-variant-numeric: tabular-nums;
				text-align: start;
				white-space: nowrap;
				background-color: var(--wp--preset--color--primary-light);
			}

			td {
				color: var(--wp--preset--color--primary);
				font-weight: 700;
				font-size: var(--wp--preset--font-size--lg);
				letter-spacing: 0;
			}

			tr > :nth-child(7),
			tr > :nth-child(8) {
				background-color: color-mix(in srgb, var(--wp--preset--color--secondary) 10%,
					var(--wp--preset--color--light-01));
			}
		}

		figcaption {
			margin-block-start: var(--wp--preset--spacing--30);
			color: var(--wp--preset--color--dark-02);
			font-size: var(--wp--preset--font-size--sm);
			line-height: 1.7;
			text-align: start;
		}
	}

	&.js-scrollable table {
		width: var(--wp--custom--container--lv-1);
	}
}
