.heading { background-image: url(../img/second/tennis/tennis.jpg); }
h3, .service a { color: var(--tennis); }
main>section:not(.news, :has(.arrow_link, .archive_list, .event, .triangle)) a:not(.btn),
.post_wrap a:not(.triangle, .btn) {
	color: var(--tennis);
	text-decoration: underline;
}
.splide.event img+div p:last-child, select, ul.disc li:before { background-color: var(--tennis); }
table {
	thead th { background-color: var(--tennis); }
	th { color: var(--tennis); }
}

/*  時間割 */
#timetable {
	.inner>div:has(.pdf) {
		display: flex;
		justify-content: space-between;
		align-items: baseline;
	}
	thead th:first-of-type {
		width: 36.5%;
		@media screen and (min-width: 769px) {
			width: auto;
		}
	}
	.arrow_link {
		margin-top: 1em;
		display: flex;
		flex-wrap: wrap;
		gap: .5em;
		li { width: calc(100% / 4 - .5em); }
		@media screen and (min-width: 769px) {
			gap: 1em;
			flex-wrap: nowrap;
			li { width: calc(100% / 7 - .85em); }
		}
	}
	.splide { width: 100%; }
	.splide__track { transition: height 0.3s ease; }
	.splide__slide {
		width: 100%;
		height: fit-content;
		padding-bottom: 0.1em;
	}
}

/*  TOP  */
#tennis {
	section:first-of-type {
		p+p { margin-top: 1em; }
		h2 { margin-top: 5rem; }
		@media screen and (min-width: 769px) {
			.two_column { gap: 5em; }
			h2 { margin-top: 0; }
		}
	}
	.flowcard {
		h3+p { margin: 0; }
		p+ul { margin-top: 0.75em; }
	}
	section:last-of-type {
		.arrow_link {
			display: flex;
			flex-wrap: wrap;
			gap: .5em;
			@media screen and (min-width: 769px) {
				gap: 1em;
				li { width: calc(100% / 4 - .5em); }
			}
		}
	}
}

/* 初めての方へ */
#tennis-visitors {
	.three_column {
		>div:nth-of-type(3) {
			p:has(img) {
				text-align: center;
				img { max-width: 110px; }
			}
		}
		@media screen and (min-width: 769px) { grid-template-columns: repeat(4, 1fr); }
	}
}

/* 営業案内 */
#tennis-info section:nth-of-type(2) .highlight { margin-bottom: .75em; }
#shortTable tbody>tr:nth-child(5) th[rowspan] { border-bottom: none; }

/* テニスクラス一覧 */
.category {
	width: 4rem;
	display: inline-block;
	color: #fff;
	font-size: 0.75rem;
	font-weight: 600;
	padding: 0.5em 0;
	border-radius: 2rem;
	text-align: center;
	height: fit-content;
	margin-top: 0.25em;
	background-color: var(--tennis);
	line-height: 1.2;
}
.tennisClass {
	>div {
		width: 100%;
		padding: 1.5em;
		border-radius: 1.25em;
		background-color: var(--bg);
		text-align: center;
		h3 {
			text-align: center;
			padding-bottom: 1rem;
			border-bottom: 1px solid var(--line);
			margin-bottom: 1em;
			span {
				font-size: .875rem;
				padding-left: .25em;
			}
		}
		h3+p {
			background-color: #fff;
			border-radius: 0.5em;
			text-align: center;
			padding: 0.5em;
			width: 100%;
		}
		>div {
			margin-top: 1em;
			>div {
				display: flex;
				align-items: center;
				gap: .5em;
				margin-bottom: .5em;
				&:last-child { margin-bottom: 0; }
				>p {
					&:last-child {
						width: 80%;
						text-align: justify;
						margin-top: 0;
						line-height: 1.3;
					}
				}
			}
		}
	}
}

/*  スクール 一般 */
#tennis-general {
	section:first-of-type {
		table {
			margin-top: 1em;
			col {
				&:nth-child(1) { width: 30%; }
				&:nth-child(2) { width: 35%; }
				&:nth-child(3) { width: 35%; }
			}
			td { width: auto; }
			tr:nth-child(7) th[rowspan] { border-bottom: none; }
			@media screen and (min-width: 769px) {
				col:nth-child(1) { width: 20%; }
				col:nth-child(2) { width: 30%; }
				col:nth-child(3) { width: 50%; }
			}
		}
	}
	.flowcard p { margin-top: 0; }
}

/*  スクール Jr */
#tennis-junior {
	.flowcard p { margin-top: 0; }
	section:first-of-type {
		.two_column {
			margin-top: 1.5em;
			>div:first-of-type {
				th { width: calc(100% / 3); }
				th[rowspan] { border-bottom: none;}
			}
			h3+p { margin-bottom: 1em; }
			@media screen and (min-width: 769px) {
				>div:first-of-type {
					>div {
						display: flex;
						justify-content: space-between;
						align-items: baseline;
						h3+p { font-size: .75em; }
					}
				}
			}
		}
	}
	section:nth-of-type(3) .flowcard { width: 100%; }
}

/*  コーチ紹介 */
#tennis-coach .photo_card dl {
	padding: 1.25em;
	display: grid;
	gap: 0 1em;
	grid-template-columns: 4em 1fr;
	dt { text-align: justify;
		text-align-last: justify;
	}
	dt.name {
		text-align: center;
		text-align-last: auto;
		grid-column: 1/3;
		font-size: 125%;
		color: var(--tennis);
		+ dd {
			grid-column: 1/3;
			text-align: center;
			color: var(--tennis);
			font-weight: 300;
		}
	}
}