h2 {
	font-family: var(--en);
	font-weight: 700;
	font-size: 3rem;
	margin-bottom: 1em;
	>span {
		display: block;
		font-family: var(--jp);
		font-size: 1.125rem;
		font-weight: 500;
		margin-top: 0.5em;
	}
	@media screen and (min-width: 768px) {
		font-size: 4.375rem;
	}
}
@media screen and (min-width: 768px) {
	.inner.two_column {
		display: flex;
		h2 {
			margin-right: 4rem;
		}
	}
}

/*  流体シェイプ  */
.morph_bg_wrapper {
	position: relative;
	width: 100%;
	height: 0;
	pointer-events: none;
	z-index: 2;
	.morph_bg {
		position: absolute;
		width: 120vw;
		right: -40%;
		max-width: none;
		overflow: hidden;
		z-index: -1;
		@media screen and (min-width: 768px) {
			width: clamp(34.375rem, 12.813rem + 44.92vw, 48.75rem);
			right: -10%;
		}
	}
	img {
		display: block;
		width: 100%;
		height: auto;
		pointer-events: none;
	}
}

/*  キービジュアル */
@keyframes logo_fade {/*ロゴマークのアニメーション*/
	0% { opacity: 0; }
	90.65% { opacity: 0;}
	91.58% { opacity: 1;}
	95.32% { opacity: 1;}
	96.26% { opacity: 0;}
	100% { opacity: 0;}
}
section.visual {
	background-color: #000000;
	position: fixed;
	top: 0;
	left: 0;
	z-index: -1;
	width: 100%;
	height: calc(100dvh - 60px);
	overflow: hidden;
	@media screen and (min-width: 768px) { top: 60px; }
	iframe {
		border-radius: 0;
		position: absolute;
		top: 0;
		left: 50%;
		transform: translate(-50%, 0);
		aspect-ratio: 2.35/1;
		height: 100%;
		width: auto;
		@media (min-aspect-ratio: 2.1/1) {
			height: auto;
			width: 100%;
		}
	}
	&::after {
		content: "";
		background: url(../img/common/logo_WH.svg) no-repeat;
		background-size: contain;
		display: block;
		width: 60%;
		height: 11%;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		animation: logo_fade 107s infinite;
		@media screen and (min-width: 768px) {
			width: 600px;
			height: 175px;
		}
	}
}
.important {
	position: absolute;
	width: 100%;
	height: calc(100dvh - 60px);
	@media screen and (min-width: 768px) {
		top: 60px; 
		height: calc(100dvh - 60px);
	}
	div {
		width: fit-content;
		max-width: 60%;
		position: absolute;
		bottom: 0;
		@media screen and (min-width: 768px) { width: calc(100% / 3); }
		h2 {
			color: #fff;
			padding-left: 1.25rem;
			font-family: var(--jp);
			font-size: 1.125rem;
			font-weight: 600;
			margin-bottom: 0.5em;
			text-shadow: 1px 2px 4px rgba(0, 0, 0, 0.25);
		}
		.triangle::before {
			border-color: transparent transparent #fff transparent;
		}
		ul {
			background-color: #fff;
			padding: 0.5rem;
			border-radius: 0 1.875rem 0 0;
			li {
				font-size: 0.875rem;
				font-weight: 600;
				margin-bottom: 0.5rem;
				position: relative;
				a {
					display: block;
					width: 100%;
					padding-right: 2rem;
					white-space: nowrap;
					overflow: hidden;
					text-overflow: ellipsis;
				}
				time {
					display: block;
					font-size: 0.75rem;
					font-weight: 500;
					color: var(--general);
				}
				&:last-child {
					margin-bottom: 0;
				}
				&::after {
					position: absolute;
					top: 50%;
					right: 1em;
					transform: translateY(-50%);
					content: "";
					display: inline-block;
					width: 0;
					height: 0;
					border-style: solid;
					border-width: 5px 0px 5px 5px;
					border-color: transparent transparent transparent var(--general);
				}
			}
		}
	}
}
/* サービス */
section.service {
	@media screen and (min-width: 768px) {margin-top: 60px; }
	&::before {
		content: "";
		display: block;
		width: 100%;
		height: calc(100dvh - 60px);
	}
	ul {
		@media screen and (min-width: 768px) { 
			display: grid;
			grid-template-columns: repeat(3, 1fr);
		}
		li {
			text-align: center;
			color: #fff;
			padding: 10% 0;
			text-shadow: 1px 2px 4px rgba(0, 0, 0, 0.25);
			background-size: cover;
			background-position-x: center;
			background-image: url(../img/top/service_drivingrange.jpg);
			@media screen and (min-width: 768px) { padding: 100px 0; }
			&:first-child {
				background-image: url(../img/top/service_course.jpg);
			}
			&:last-child {
				background-image: url(../img/top/service_tennis.jpg);
			}
			>h2 {
				font-size: 2rem;
				margin-bottom: 0.5em;
				line-height: 1;
				@media screen and (min-width: 768px) { font-size: 2.8125rem; }
			}
			> p { font-weight: 600; }
			.btn { margin: 0.5em 5% 0 auto; 
				@media screen and (min-width: 768px) { margin: 0.5em auto 0; }
			}
		}
	}
}

/* 注意事項 */
section.notice {
	background-color: var(--bg);
	padding: 2.5rem 1.25rem;
	margin: 0;
	.inner {
		padding: 3.125rem 1.25rem;
		background-color: #fff;
		border-radius: 1.875rem;
		h2 {
			font-size: 2rem;
			font-weight: 700;
			text-align: center;
			color: var(--general);
			margin-bottom: 2.1875rem;
		}
		p+p { margin-top: 1em; }
	}
	@media screen and (min-width: 768px) {
		padding: 3.125rem 0;
		>.inner {
			padding: 3.125rem;
		}
	}
}
section:not(.service) {
	padding: 5rem 1.25rem;
	margin: 0;
    @media screen and (min-width: 768px) {
        padding: 7.5rem 0;
    }
}
/*  キャンペーン情報 */
section.pick_up {
	.news_card {
		img+div .thumbs_text { font-size: clamp(1.125rem, 1.036rem + 0.45vw, 1.25rem); }
	}
	+.morph_bg_wrapper .morph_bg {
		top: -25rem;
		@media screen and (min-width: 768px) { top: -30rem; }
	}
}
section.pick_up, section.news, section.access, section.facility, footer {
	position: relative;
	background-color: #ffffff;
	.inner {
		position: relative;
		z-index: 3;
	}
}

/*  ニュース  */
section.news {
	ul {
		li {
			border-top: 1px solid var(--line);
			a {
				display: block;
				height: 100%;
				padding: 1.875rem 0.625rem;
			}
			time {
				font-size: 0.875rem;
			}
			.category {
				display: inline-block;
				color: #fff;
				font-size: 0.75rem;
				font-weight: 600;
				padding: 0.25em 0;
				border-radius: 2rem;
				width: 6.5rem;
				text-align: center;
				margin: 0 1em;
			}
			.category+p {
				font-weight: 700;
				margin-top: 0.5em;
			}
		}
		&:last-child {
			border-bottom: 1px solid var(--line);
		}
	}
	@media screen and (min-width: 768px) {
		.inner {
			>div {
				margin-top: 4.5em;
				width: 100%;
				ul {
					li {
						position: relative;
						&::after {
							position: absolute;
							top: 50%;
							right: 1em;
							transform: translateY(-50%);
							content: "";
							display: inline-block;
							width: 0;
							height: 0;
							border-style: solid;
							border-width: 5px 0px 5px 5px;
							border-color: transparent transparent transparent var(--text);
						}
						a {
							display: flex;
							align-items: center;
						}
						.category {
							margin: 0 2em;
						}
						.category+p {
							margin-top: 0;
						}
					}
				}
			}
		}
	}
}

/* アクセス  */
section.access {
	.inner {
		>div {
			background-color: var(--bg);
			border-radius: 1.875rem;
			>div {
				padding: 2.5rem 1.25rem;
				font-size: 0.875rem;
				>div {
					padding-bottom: 1.875rem;
					border-bottom: 1px solid var(--line);
					p {
						font-weight: 700;
						font-size: 1.125rem;
						margin-bottom: 1em;
					}
				}
				ul {
					margin-top: 1.875rem;
					li {
						margin-bottom: 1em;
						span {
							display: block;
							color: var(--general);
							font-size: 1rem;
							font-weight: 700;
							&::before {
								margin-right: 0.2em;
								vertical-align: middle;
							}
						}
						&:first-of-type span::before { content: url(../img/top/ico_train.svg); }
						&:nth-child(2) span::before {
							content: url(../img/top/ico_taxi.svg);
							vertical-align: top;
						}
						&:last-child span::before { content: url(../img/top/ico_car.svg); }
					}
				}
			}
		}
		iframe {
			width: 100%;
			height: 25em;
			border-radius: 1.875rem 1.875rem 0 0;
		}
		.btn { margin: 1.25rem 0 auto 0; }
		@media screen and (min-width: 768px) {
			>div {
				display: flex;
				align-items: stretch;
				iframe {
					width: 50%;
					aspect-ratio: auto;
					height: auto;
					object-fit: cover;
					border-radius: 1.875rem 0 0 1.875rem;
					border-radius: 1.875rem 0 0 1.875rem;
				}
				>div {
					width: 50%;
					padding: 5rem;
								display: flex;
			flex-direction: column;
			justify-content: space-between; 
					>div {
						padding-bottom: 2rem;
						p { font-size: 1.375rem; }
						address { font-size: 1rem; }
					}
					ul {
						margin-top: 2rem;
						li {
							span {
								font-size: 1.125rem;
							}
						}
					}
				}
			}
			.btn {
				margin: 1.5rem 0 auto 0;
			}
		}
	}
	+.morph_bg_wrapper .morph_bg {
		top: -80rem;
		right: auto;
		left:-40%;
		@media screen and (min-width: 768px) { left: -10rem; }
	}
}

header > ul {
	opacity: 1;
	@media screen and (min-width: 768px) {
		transition: 1s;
		opacity: 0;
	}
}

/*@media screen and (max-width: 768px) {
	body {
		position: relative;
		min-height: 100dvh;
	}
	section.facility{ padding-bottom: 15rem; }
	main {
		padding-bottom: 15rem;
	}*/
/*	footer {
		position: absolute;
		bottom: calc(-760px - 5rem + 15rem);
		width: 100%;
	}
}*/