.heading {
	background-image: url(../img/second/course/course.jpg);
}

h3,
div.service a {
	color: var(--golf-text);
}

main>section:not(.news, :has(.arrow_link, .archive_list, .event, .triangle)) a:not(.btn),
.post_wrap a:not(.triangle, .btn) {
	color: var(--golf-text);
	text-decoration: underline;
}

.splide.event img+div p:last-child,
select,
ul.disc li:before {
	background-color: var(--golf);
}

table {
	thead th {
		background-color: var(--golf);
	}

	th {
		color: var(--golf-text);
	}
}

/* ===============================
TOP
=============================== */
.courseinfo {
	&:first-child {
		h3 {
			background-color: #78c240;
		}

	}

	&:last-child {
		h3 {
			background-color: #9fc54d;
		}
	}

	background-color: var(--bg);
	border-radius: 1.875em;

	h3 {
		padding: 0.75em 0;
		font-size: 1.375rem;
		font-weight: 600;
		color: #fff;
		border-radius: 1.875rem 1.875rem 0 0;
		text-align: center;
	}

	h4 {
		color: var(--golf-text);
		font-size: 1.15rem;
		margin: 1.5em 0 0.25em;

		&:nth-child(n+2) {
			padding: 1.5em 0 0;
			border-top: 1px solid var(--line);
		}
	}

	>div {
		padding: 0 2em 2em;

		.week {
			>div {
				display: flex;
				gap: 0.75em;

				&:nth-child(n+1) {
					margin-top: 0.5em;
				}
			}
		}
	}

	.note {
		margin: 0;
	}

	.category {
		width: 4rem;
		display: inline-block;
		color: #fff;
		font-size: 0.75rem;
		font-weight: 600;
		padding: 0.25em 0;
		border-radius: 2rem;
		text-align: center;
		height: fit-content;
		margin-top: 0.25em;

		+div {
			width: 80%;
		}
	}

	.workingday {
		background-color: var(--text);
	}

	.holiday {
		background-color: var(--golf);
	}

	.price {
		font-size: .75rem;

		>em {
			font-size: 1.375rem;
			margin: 0 0.5em 0 0.25em;
		}
	}
}

section:has(.courseguide) {
	.note {
		margin-top: 0;
	}
}

/* ===============================
営業案内
=============================== */
#golfcourse-info {
	main {
		th {
			width: 40%;
		}

		.three_column {
			margin-top: 1.75em;

			table {
				margin: 1em 0;
			}

			img {
				aspect-ratio: 16 / 9;
				object-fit: cover;
				object-position: center;
			}

			p:has(em) {
				margin-top: 1em;
			}

			p:has(em)+.note {
				margin-top: 0;
			}
		}

		section:nth-of-type(2) {
			.two_column {
				th {
					width: 90%;
				}
			}

			.two_column+h3 {
				margin-bottom: 0;
				display: inline-block;

			}

			.two_column+h3+p {
				margin: 0 0.5em 1em 0.5em;
				display: inline-block;
				font-weight: 500;
			}
		}

		h2+p {
			margin-bottom: 1em;
		}

		section:last-of-type {
			thead th:first-child {
				width: 20%;
			}

			@media screen and (min-width: 768px) {
				div:first-child th {
					width: 31%;
				}

				thead th:first-child {
					width: 25%;
				}
			}
		}
	}
}

/* ===============================
初めての方へ
=============================== */
#golfcourse-visitors {
	.two_column {
		>div {
			margin-bottom: 3.5em;
		}

		@media screen and (min-width: 768px) {
			gap: 5em;

			>div {
				margin-bottom: 0;
			}
		}
	}
}

/* ===============================
施設紹介
=============================== */
.courseguide {
	display: flex;
	flex-wrap: wrap;
	gap: .5em;
	margin: 1em 0;

	>li {
		width: calc(100% / 3 - 0.35em);
	}

	@media screen and (min-width: 768px) {
		>li {
			width: calc(100% / 9 - 0.45em);
		}
	}
}

@media screen and (min-width: 768px) {
	.modaal-container:has(.hole) {
		width: 50rem;
	}
}

/* モーダル全体 */
.modaal-container:has(.hole) {
	width: 85vw;
}

/* モーダルの内容 */
.modaal-inner-wrapper:has(.hole) {
	padding: 5em 1.25rem;

	@media screen and (min-width: 768px) {
		padding: 0;
	}
}

/* コンテンツエリア */
.modaal-content-container:has(.hole) {
	max-height: 80dvh;

	>div {
		display: block;
		max-height: 70dvh;
		overflow-y: auto;
		scrollbar-color: var(--golf) #fff;
		margin-bottom: 0;

		@media screen and (min-width: 768px) {
			padding: 0;
			max-height: 60dvh;
		}
	}

	h3 {
		margin-top: 0;

		span {
			font-size: 1rem;
			font-weight: 500;
			display: inline-block;
			margin-left: .5em;
		}
	}

	.hole {
		display: grid;
		grid-template-columns: 20% 80%;
		gap: .5em;

		img {
			width: 100%;
			height: auto;
		}

		p:nth-child(2) {
			text-align: left;
			font-size: 1rem;
		}

		>div {
			grid-column: span 2 / span 2;
			grid-row-start: 2;
			margin-top: 1em;

			figure {
				margin-bottom: 1em;

				&:last-child {
					margin-bottom: 0;
				}

				figcaption {
					margin-top: .5em;
					font-family: var(--en);
					text-align: center;
				}
			}
		}

		@media screen and (min-width: 768px) {
			grid-template-columns: 15% 85%;
			gap: 1em;
			padding-right: 1em;

			>p:first-child {
				grid-row: span 2 / span 2;
			}

			>div {
				grid-column: auto;
				grid-column-start: 2;
				display: flex;
				gap: .5em;

				>div {
					margin-bottom: 0;
				}
			}
		}
	}
}

/* モーダル外枠の調整 */
.modaal-outer-wrapper:has(.hole) ul li {
	border-bottom: none;
}

/* モーダルの最大高さ */
#holeModal {
	max-height: 70vh;
	overflow-y: auto;
}

/* スライドの基本設定 */
.holeSlide {
	width: 100%;
	max-height: 100%;
	overflow: hidden;

	img {
		aspect-ratio: auto;
		max-width: 100%;
		height: auto;
		display: block;
	}

	.splide__list {
		overflow-x: hidden;
	}

	.splide__track {
		height: auto;
		max-height: fit-content;
		overflow-y: auto;
		padding: 0;
		margin: 0;
		position: relative;
	}

	.splide__slide {
		height: 0;
		overflow: hidden;
		display: flex;
		justify-content: center;
		align-items: center;
		padding-right: 1em;

		img {
			width: 100%;
			height: 100%;
			object-fit: cover;
			display: block;
		}
	}

	.splide__track--fade>.splide__list>.splide__slide {
		height: 0 !important;
	}

	.splide__track--fade>.splide__list>.splide__slide.is-active {
		height: auto !important;
	}

	.splide__arrows {
		display: flex;
		justify-content: flex-end;
		gap: 0.5em;
		padding-right: 1em;
		margin: 0;
		transform: none;
		width: auto;

		button {
			border: 1px solid var(--line);
			border-radius: 50%;
			width: 2rem;
			height: 2rem;
			display: flex;
			align-items: center;
			justify-content: center;

			>span {
				display: inline-block;
				width: 0;
				height: 0;
				border-style: solid;
			}
		}

		.splide__arrow--next>span {
			border-width: 0.3rem 0 0.3rem 0.5rem;
		}

		.splide__arrow--prev>span {
			border-width: 0.3rem 0.5rem 0.3rem 0;
		}
	}
}

/* コースガイド */
.inner:has(.courseguide) {
	.courseguide+p {
		max-width: 850px;
		margin: 0 auto;
	}

	>.three_column {
		margin-top: 1.5em;

		th {
			width: auto;

			&:first-child {
				width: 30%;
			}

			&:nth-child(2) {
				border-right: 1px solid var(--line);
			}
		}
	}
}