@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);
html {
	scroll-behavior: smooth;
	overflow-x: hidden;
	font-feature-settings: "palt";
}
body {
	display:grid;
	grid-template-columns: 1fr;
	grid-template-rows: 1fr auto;
	min-height: 100vh;
	font-family: 'Noto Sans JP', sans-serif;
	color: #333333;
	line-height: 1.8;
}
img {
	width: 100%;
	height: auto;
}
a {
	transition: 0.4s;
	display: inline-block;
}
a:hover { opacity: 0.7; }
.only-pc { display: none; }
@media screen and (min-width:768px) {
	.only-pc { display: block; }
	.only-sp { display: none; }
}
.link {
	text-align: right;
	margin-top: 10px;
	font-weight: 400;
	font-size: 14px;
	a::after {
		content: url(../img/common/ico-arrow.svg);
		display: inline-block;
		width: 1.5em;
		height: 1.5em;
		vertical-align: middle;
		margin-left: 0.5em;
	}
}
.news dl {
	font-size: 87.5%;
	dt {
		font-weight: 400 !important;
		&::after {
			width: 9em;
			display: inline-block;
			text-align: center;
			font-size: 75%;
			margin-left: 5px;
			border-radius: 10px;
			color: #ffffff;
			background-color: #7bb23b;
			content: "PGSより";
		}
	}
	dd {
		margin-bottom: 10px;
		a {
			text-decoration: underline;
		}
	}
}
.news dl dt.lkg::after {
	content: "ロッテ葛西校";
	background-color: #ea656b;
}
.news dl dt.metro::after {
	content: "メトログリーン校";
	background-color: #39afea;
}
.news dl dt.sunland::after {
	content: "クラブサンランド" ;
	background-color: #6b7bf2;
}
table {
	border-top: 2px solid rgb(0,0,0);
	border-bottom: 2px solid rgb(0,0,0);
	width: 100%;
	tr:not(:last-child) { border-bottom: 1px dotted rgb(0,0,0); }
	th {
		padding: 15px 10px 5px;
		white-space: nowrap;
		color: #7BB23B;
		@media screen and (min-width:768px) {
			padding: 15px 10px;
		}
	}
	td {
		padding: 5px 10px 15px;
		@media screen and (min-width:768px) {
			padding: 15px 10px;
		}
	}
}
.cookie-notice-container {
	text-align: left !important;
}
#cookie-notice  {
	background-color: rgba(0,0,0,0.6) !important;
	min-width: auto !important;
	width: 80% !important;
	@media screen and (min-width:768px) {
		width: 40% !important;
	}
}
.cn-text-container { color: #CCFF33 !important; }
#cookie-notice .cn-button:not(.cn-button-custom) {
	border-radius: 15px !important;
	padding: 8.5px 2em !important;
}
.cn-close-icon {
	top: 10px !important;
	margin-top: 0 !important;
	opacity: 1 !important;
 }
.cn-close-icon::after, .cn-close-icon::before {
	background-color: #ffffff !important;
}
#cn-refuse-cookie {
	background-color: rgba(255,255,255,0.4) !important;
	border: 1px solid #CCFF33 !important;
	color:  #CCFF33 !important;
}
/*header*/
header {
	background-color: rgba(245,180,220,0.8);
	padding: 15px 5%;
	position: fixed;
	width: 100%;
	z-index: 10;
	@media screen and (min-width:768px) {
		display: flex;
		justify-content: space-between;
		align-items: baseline;
		padding: 23px 40px 0;
	}
	.logo {
		width: 92px;
		@media screen and (min-width:768px) { width: 192px; }
		a { width: 92px;
		@media screen and (min-width:768px) { width: 192px; }
		}
	}
	button {
		display: block;
		width: 30px;
		height: 30px;
		position: absolute;
		top:15px;
		right: 5%;
		@media screen and (min-width:768px) { display: none; }
		div {
			background-color: #ffffff;
			height: 1px;
			width: 30px;
			position: absolute;
			transition: 0.4s;
			&::before, &::after {
				content: "";
				position: absolute;
				display: inline-block;
				background-color: #ffffff;
				height: 1px;
				width: 30px;
				transition: 0.4s;
			}
		}
	}
	nav {
		color: #fff;
		overflow-y: auto;
		height: calc(100vh - 65px);
		display: none;
		@media screen and (min-width:768px) {
			display: block;
			height:auto;
			width: fit-content;
		}
		& > ul {
			padding: 60px 0;
			@media screen and (min-width:768px) {
				display: flex;
				padding: 0;
			}
			& > li {
				& > a { 
					font-weight: 600;
					font-size: 6vw;
					padding: 20px 0;
					@media screen and (min-width:768px) {
						font-size: 125%;
						font-weight: 400;
						padding: 20px;
					}
				}
				& > ul {
					padding-bottom: 15px;
					li a {
						font-size: 4vw;
						padding: 10px 1.5em;
						@media screen and (min-width:768px) { font-size: 125%; }
					}
				}
			}
		}
		.policy {
			display: flex;
			padding: 0;
			@media screen and (min-width:768px) { display: none; }
			& > li {
				&::after {
					content: " / ";
					margin: 0 0.5em;
				}
				a {
					font-weight: 100;
					font-size: 75%;
				}
			}
		}
	}
}
header button div::before { top: -10px; }
header button div::after { top: 10px; }
header.active button div {
	transform: rotate(30deg);
}
header.active button div::before, header.active button div::after {
	top: 0;
	transform: rotate(-60deg);
}
header.active nav {
	display: block;
}
@media screen and (min-width:768px) {
	header nav ul li.pc, header nav ul li ul { display: none;}
	header nav ul li:hover > a {
		font-weight: 700;
		color: rgb(123, 178, 59);
	}
	header nav ul li ul li a::after {
		content: url(../img/common/ico-arrow.svg);
		display: inline-block;
		width: 1.5em;
		height: 1.5em;
		margin-left: 10px;
		vertical-align: middle;
	}
	header nav ul li ul li:hover > a::after {
		content: url(../img/common/ico-arrow-g.svg);
	}
	header nav ul li:hover ul {
		display: block;
		background-color: rgba(245,180,220,0.8);
		position: absolute;
	}
	header nav ul li.school:hover ul {
		width: 100%;
		left: 0;
		display: grid;
		gap: 40px;
		grid-template-columns: auto auto auto;
		justify-content: center;
		padding: 60px 0;
	}
	header nav ul li.school ul::before {
		font-size: 312.5%;
		font-weight: 900;
		grid-column: 1 / 4;
		content: "ゴルフスクール";
	}
	header nav ul li.school ul li a {
		padding: 0;
	}
	header nav ul li.school ul li a::before {
		content: url(../img/common/img-metro.png);
		display: block;
		width: 100%;
		height: auto;
	}
	header nav ul li.school ul li:first-child a::before {
		content: url(../img/common/img-lkg.png);
	}
	header nav ul li.school ul li:last-child a::before {
		content: url(../img/common/img-sunland.png);
	}
}
footer section.bnr {
	background-color: #ffffff;
	padding: 10px 5%;
	display: block;
	ul {
		display: grid;
		gap: 10px;
		grid-template-columns: repeat(3, 1fr);
		@media screen and (min-width:768px) { 
			max-width: 950px;
			margin: 0 auto;
		}
		li {
			a {
				border: 1px solid #cccccc;
				display: block;
				text-align: center;
				height: 100%;
				padding: 10px;
				@media screen and (min-width:768px) { max-height: 70px; }
				img {
					@media screen and (min-width:768px) {
						height: 100%;
						width: auto;
					}
				}
			}
		}
	}
}
footer section.bnr ul li:first-child a img {
	margin-bottom: 4%;
	@media screen and (min-width:768px) { max-width: 70%; }
}
footer section {
	background-color: #e7eae4;
	padding: 40px 5% 66px;
	color: #666666;
	display: grid;
	gap: 20px;
	grid-template-columns: 1fr auto;
	grid-template-rows: 1fr auto;
	@media screen and (min-width:768px) {
		padding: 80px 80px 10px;
		gap: 80px;
	}
	article {
		grid-column: 1 / 3;
		@media screen and (min-width:768px) { grid-column: 1 / 2;}
		h2 {
			width: 160px;
		}
		p {
			margin: 10px 0;
			font-size: 75%;
			@media screen and (min-width:768px) { font-size: 100%;}
		}
		p.fb {
			width: 1.5em;
			height: 1.5em;
			a {
				display: block;
				img { border-radius: 5px;}
			}
		}
		p.jlpga a{
			background-color: #ffffff;
			padding: 10px;
			width: 160px;
			border: 1px solid #cccccc;
			display: block;
			margin-top: 30px;
		}
	}
	ul {
		display: none;
		@media screen and (min-width:768px) { display: block; }
		> li {
			font-weight: 900;
			
			> ul {
				padding-left: 1.5em;
				li { font-weight: 500;}
			}
		}
	}
	ul.policy {
		font-size: 75%;
		order: 2;
		display: flex;
		justify-content: end;
		margin-bottom: 5px;
		@media screen and (min-width:768px) { order: 4; }
		li {
			font-weight: 300;
			&::after {
				content: "/";
				margin: 0 0.5em;
			}
		}
	}
	p.copy { font-size: 62.5%; }
}
ul.policy li:last-child::after {
	content: "";
	margin: 0;
}
@media screen and (min-width:768px) {
	footer article + ul {
		display: grid;
		gap: 20px 60px;
		grid-template-columns: 1fr 1fr;
		grid-template-rows: repeat(1fr, 4);
	}
	footer article + ul li:nth-child(2) {
		grid-row: 2 / 5;
	}
	footer article + ul li:nth-child(2) ul {
		display: grid;
		gap: 10px;
		margin-top: 15px;
	}
}
ul.float {
	background-color: rgb(0,0,0);
	padding: 10px 5%;
	position: fixed;
	bottom: 0;
	width: 100%;
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(3, 1fr);
/*	grid-template-columns: 1fr 1fr;*/
	@media screen and (min-width:768px) {
		background-color: transparent;
		padding: 0;
		grid-template-columns: 1fr;
		bottom: 25vh;
		right: 20px;
		width: auto;
	}
	li a {
			color: rgb(255,255,255);
			background-color: #7bb23b;
			font-weight: 900;
			font-size: 3.2vw;
			/*font-size: 4vw;*/
			padding: 5px;
			border-radius: 10px;
			/*border-radius: 23px;*/
			text-align: center;
			display: block;
			line-height: 1.3;
			@media screen and (min-width:768px) {
				background-color: rgba(255,255,255,0.8);
				border: 1px solid rgb(123,178,59);
				font-size: 100%;
				padding: 50px 10px;
				/*background-color: rgba(0,0,0,0.6);
				border: 1px solid #ffffff;
				font-size: 112.5%;
				padding: 28px 10px;*/
				color: #7bb23b;
				border-radius: 50%;
				line-height: 1.2;
			}
	}
}
/*ul.float li a::before {
	content: url(../img/common/ico-try-w.svg);
	width: 0.7em;
	display: inline-block;
	margin-right: 0.5em;
	vertical-align: middle;
}
ul.float li.register a::before {
	content: url(../img/common/ico-register-w.svg);
}
@media screen and (min-width:768px) {
	ul.float li a::before {
		display: block;
		content: url(../img/common/ico-try.svg);
		margin: 0 auto;
	}
	ul.float li.register a::before {
		content: url(../img/common/ico-register.svg);
	}
	ul.float li a::after {
		content: "申し込み";
		display: block;
	}
}*/
.pgtop {
	width: 40px;
	position: fixed;
	right: 20px;
	bottom: 80px;
	a { display: block; }
	@media screen and (min-width:768px) {
		width: 60px;
	}
}

/*main*/
main section { 
	padding: 100px 5%;
	@media screen and (min-width:768px) {
		padding: 150px 40px;
	}
	article {
		@media screen and (min-width:768px) {
			max-width: 1200px;
			margin: 0 auto;
		}
		h2 { 
			font-weight: 900;
			font-size: 7.5vw;
			margin-bottom: 40px;
			line-height: 1.2;
			@media screen and (min-width:768px) {
				font-size: 250%;
				margin-bottom: 60px;
			}
		}
		img { border-radius: 10px;}
	}
}
main section#office {
	background-color: #f7f7e4;
	color: #333333;
	article ul {
		display: grid; 
		gap: 20px;
		@media screen and (min-width:768px) { grid-template-columns: repeat(3, 1fr); }
		li {
			text-align: left;
			line-height: 1.3;
			div {
				height: 160px;
				@media screen and (min-width:768px) { height: 190px; }
				iframe {
					width: 100%;
					height: 100%;
					border-radius: 10px;
				}
			}
			p.address {
				font-size: 87.5%;
				font-weight: 400;
				margin: 10px 0;
				@media screen and (min-width:768px) { font-size: 112.5%; }
			}
			p.office {
				font-size: 112.5%;
				font-weight: 700;
				@media screen and (min-width:768px) { font-size: 125%; }
			}
			p.tel {
				font-weight: 300;
				color: #74b610;
				font-size: 175%;
				@media screen and (min-width:768px) { font-size: 187.5%; }
			}
			p.tel + p.office { margin-top: 10px; }
		}
	}
}
main section.ft-contact {
	background: url(../img/common/bg-contact.png) no-repeat center/cover;
	color: #ffffff;
	article {
		h2 {text-align: center;}
		ul {
			display: grid;
			grid-template-columns: repeat(2, 1fr);
			gap: 10px;
			@media screen and (min-width:768px) {
				gap: 40px;
				max-width: 980px;
				margin: 0 auto;
			}
			li a {
				background-color: #7bb23b;
				font-weight: 700;
				line-height: 1.2;
				padding: 5px;
				border-radius: 25px;
				display: flex ;
				justify-content: center;
				align-items: center;
				@media screen and (min-width:768px) {
					font-size: 225%;
					height: 100px;
					padding: 0;
					border-radius: 50px;
				}
			}
		}
	}
}
main section.ft-contact article ul li a::before {
	content: url(../img/common/ico-tel.svg);
	display: block;
	margin-right: 5px;
	width: 1.2em;
}
main section.ft-contact article ul li:last-child a::before {
	content: url(../img/common/ico-mouse.svg);
	width: 1em;
}
@media screen and (min-width:768px) {
	main section.ft-contact article ul li a::before { width: 0.8em; }
	main section.ft-contact article ul li:last-child a::before { width: 0.6em; }
}
#cboxOverlay {
	background-image: none;
	background-color: rgba(0,0,0,0.8);
}
#cboxTopCenter, #cboxBottomCenter, #cboxMiddleLeft, #cboxMiddleRight, 
#cboxTopLeft, #cboxTopRight, #cboxBottomLeft, #cboxBottomRight  {
	background: none;
	width: 0;
	height: 0;
}
#cboxLoadedContent{
	margin-bottom: 0 !important;
	scrollbar-width: thin;
	background-color: transparent;
}
#cboxClose {
	background: rgba(0,0,0,0.4);
	width: auto;
	text-indent: 0;
	color: transparent;
	top: 5px;
	right: 5px;
	height: fit-content;
	font-size: 0;
	padding: 5px;
	border-radius: 50%;
	&::after {
		content: "×";
		font-size: 40px;
        	line-height: 1;
		color: #ffffff;
	}
}