.wp-block-table {
	&.is-style-regular,
	&:not([class*="is-style-"]) {
		table {
			width: 100%;
			vertical-align: middle;
			background-color: var(--wp--preset--color--light-01);

			th,
			td {
				padding: 1rem;
				border: 1px solid var(--wp--preset--color--borderline);
			}

			thead {
				th {
					color: var(--wp--preset--color--dark-01);
					text-align: center;
					background-color: var(--wp--preset--color--primary-light);
				}
			}

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

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

	&.is-style-left-head-col2 {
		table {
			width: 100%;
			vertical-align: middle;
			background-color: var(--wp--preset--color--light-01);

			th,
			td {
				padding: 1rem;
				border: 1px solid var(--wp--preset--color--borderline);
			}

			th {
				width: 25%;
				color: var(--wp--preset--color--dark-01);
				text-align: center;
				background-color: var(--wp--preset--color--primary-light);

				@media (width <= 767px) {
					width: 30%;
				}

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

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

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

		+ .is-style-time {
			margin-block-start: 1rem;
		}
	}

	&.is-style-left-head-col3 {
		table {
			width: 100%;
			vertical-align: middle;
			background-color: var(--wp--preset--color--light-01);

			thead {
				th {
					color: var(--wp--preset--color--light-01);
					text-align: center;
					background-color: var(--wp--preset--color--secondary);
				}
			}

			tbody {
				th {
					width: 40%;
					text-align: center;
					background-color: var(--wp--preset--color--primary-light);
				}
			}

			th,
			td {
				padding: 1rem;
				border: 1px solid var(--wp--preset--color--borderline);
			}

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

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

	&.is-style-fee-col2 {
		margin-block-end: 1rem;

		table {
			width: 100%;
			vertical-align: middle;
			background-color: var(--wp--preset--color--light-01);

			.price {
				font-weight: 700;
				font-size: var(--wp--preset--font-size--2-xl);
				letter-spacing: 0.2rem;

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

			th,
			td {
				padding: 1rem;
				border: 1px solid var(--wp--preset--color--borderline);
				@media (width <= 767px) {
					display: block;
				}
			}

			th {
				width: 60%;
				text-align: center;
				background-color: var(--wp--preset--color--primary-light);

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

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

			td {
				text-align: center;

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

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

	&.is-style-separate {
		width: 100%;
		color: var(--wp--preset--color--dark-01);

		table {
			width: 100%;
			border: 0;

			tbody {
				tr {
					&:nth-of-type(1) {
						th,
						td {
							padding-top: 0;
						}
					}

					th,
					td {
						padding: 1rem;
						vertical-align: middle;
						border: 0;
					}

					th {
						width: 20%;
						@media (width <= 767px) {
							width: 45%;
						}
					}

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

	&.is-style-time {
		padding: 2rem;
		background-color: var(--wp--preset--color--alto-03);
		border-radius: 5px;

		@media (width <= 767px) {
			width: 100%;
			padding: 1rem;
		}

		table {
			width: 100%;
			th,
			td {
				padding: 0.7rem;
				text-align: center;
				@media (width <= 767px) {
					padding: 0.2rem;
				}
			}

			thead {
				border-bottom: 2px solid var(--wp--preset--color--primary);

				th {
					padding-top: 0;
				}
			}

			tbody {
				tr {
					&:nth-of-type(3) {
						border-top: 2px solid var(--wp--preset--color--primary);

						th,
						td {
							padding-top: 0.7rem;
						}
					}
				}
			}

			tr {
				+ tr {
					th,
					td {
						padding-top: 0;
					}
				}
			}
		}

		figcaption {
			margin-inline-end: -1rem;
			margin-block-end: -1rem;
			margin-inline-start: -1rem;
			padding: 1rem;
			color: var(--wp--preset--color--primary);
			line-height: 1.2;
		}

		.small {
			display: block;
			font-size: var(--wp--preset--font-size--sm);
			line-height: 1;
		}

		.primary {
			color: var(--wp--preset--color--primary);
		}
	}

	+ .is-style-point1 {
		margin-block-start: 1rem;
	}

	+ p {
		margin-block-start: 1rem;
	}
}
