body
{
	margin: 0 auto;

	background-image: url("material/main_back.png");
	background-attachment: fixed;
	background-size: cover;
	background-position: 50%;

	font-family: heisei-maru-gothic-std, sans-serif;
	font-weight: 400;
	font-size: 14pt;
	color: #fff;
}

br.m {display: none;}






nav
{
	position: sticky;
	position: -webkit-sticky;
	top: 0;
	z-index: 9999;

	border-style: solid;
	border-width: 0 0 1px;
	border-image: linear-gradient(to right, #888 0%, #FFF 50%, #888 100%);
	border-image-slice: 1;

	background: linear-gradient(90deg, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.9) 50%, rgba(0, 0, 0, 0.5) 100%);

	font-size: 1.3rem;
	line-height: 1.3rem;

}

nav ul
{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;

	margin: 0;
}

nav ul li
{
	padding: 24px 32px;

	cursor: pointer;

	font-family: 'vdl-logona';
	font-weight: 400;

	transition: all 0.3s ease 0s;
}

#navTop:hover {text-shadow: 0 0 8px #0AF, 0 0 8px #0AF, 0 0 8px #0AF, 0 0 8px #0AF;}
#navAbout:hover {text-shadow: 0 0 8px #14b66a, 0 0 8px #14b66a, 0 0 8px #14b66a, 0 0 8px #14b66a;}
#navEveRule:hover {text-shadow: 0 0 8px #A40, 0 0 8px #A40, 0 0 8px #A40, 0 0 8px #A40;}
#navSchArc:hover {text-shadow: 0 0 8px rgb(192, 51, 255), 0 0 8px rgb(192, 51, 255), 0 0 8px rgb(192, 51, 255), 0 0 8px rgb(192, 51, 255);}

header
{
	width: 100%;
	text-align: center;
}







header h3
{
	width: 100%;

	padding: 24px;
	border-style: solid;
	border-width: 2px 0;
	border-image: linear-gradient(330deg, #4facfe 0%, #00f2fe 100%);
	border-image-slice: 1;

	background: linear-gradient(330deg, rgba(0,0,96,0.6) 0%, rgba(0,0,160,0.6) 100%);

	font-family: 'vdl-logona';
	font-weight: 400;
	font-size: 1.8rem;
	line-height: 1.8rem;
	letter-spacing: 0.6em;
	color: rgb(255, 238, 0);
	text-shadow:0 0 16px #6FC, 0 0 16px #6FC;
}

header h2
{
	margin: 0;

	font-family: "GSanSerif-B";
	font-size: 2.5rem;
	line-height: 2.5rem;
}

header div
{
	text-shadow:0 0 32px #0AF, 0 0 32px #0AF;
}

header h1
{
	margin: 32px;

	font-family: obvia, sans-serif;
	font-weight: 800;
	font-style: normal;
	font-size: 7rem;
	line-height: 7rem;
}

header h1 span
{
	font-size: 3rem;
	line-height: 3rem;
}

header h3:first-child
{
	margin: 32px 0 64px;
}

header h3:last-child
{
	margin: 64px 0 32px;
}



header, main section 
{
	margin: 0 auto 144px;
}





main
{
	width: 100%;
}

main h2
{
	width: 64%;

	margin: 0 auto 32px;
	padding-bottom: 8px;

	border-width: 0 0 3px;
	border-style: solid;

	font-family: "GSanSerif-B";
	font-size: 4rem;
	line-height: 4.8rem;
	text-align: center;
}





#nowOpen
{
	border-image: linear-gradient(to right, #8aecd9 0%, #0093E9 100%);
	text-shadow: 0 0 16px #32e9d0, 0 0 16px #32e9d0;
	border-image-slice: 1;
}

#nowOpen+section
{
	display: block;
	position: relative;

	max-width: 1280px;

	padding: 64px;
	border: 8px solid;
	border-image: linear-gradient(120deg, #8aecd9 0%, #0093E9 100%);
	border-image-slice: 1;

	background-color: rgba(0, 0, 0, 0.4);
	backdrop-filter: blur(8px);

	text-align: center;
}


#nowOpen+section div
{
	width: 100%;
	aspect-ratio: 16 / 9;
}

#nowOpen+section iframe
{
	width: 100%;
	height: 100%;
}

#nowOpen+section button
{
	display: inline-block;

	width: 80%;

	margin: 32px auto 0;
	padding: 16px;
	border-radius: 64px;
	border: 0;
	border-bottom: solid 6px #bd364f;

	background-image: linear-gradient(to top, #f78ca0 0%, #f9748f 19%, #fd868c 60%, #fe9a8b 100%);

	font-family: "GSanSerif-B";
	font-size: 3rem;
	line-height: 3rem;
	color: #fff;
	text-shadow: 2px 2px 2px rgba(0, 0, 0, 0.5);
	text-decoration:none;

	cursor: pointer;

}

#nowOpen+section button span
{
	font-family: 'vdl-logona';
	font-size: 2rem;
	line-height: 1.5rem;
}

#nowOpen+section button:hover
{
	margin-top: 38px;
	border-bottom: none;

	-webkit-transform: translateY(4px);
	transform: translateY(4px);
}










#about
{
	border-image: linear-gradient(330deg, #16a085 0%, #b9fd3c 100%);
	text-shadow: 0 0 16px #14b66a, 0 0 16px #14b66a;
	border-image-slice: 1;

}

#about+section
{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;

	max-width: 1440px;

	padding: 48px;
	border: 8px solid;
	border-image: linear-gradient(330deg, #16a085 0%, #b9fd3c 100%);
	border-image-slice: 1;

	background-color: rgba(0, 0, 0, 0.4);
	backdrop-filter: blur(8px);
}

#about+section img
{
	display: inline-block;
	align-self: center;

	max-width: 100%;
	margin: 32px 0 0 32px;
}

#about+section article
{
	width: 640px;
}

#about+section p
{
	margin: 0 0 24px;
	line-height: 2rem;
}

#about+section p:last-child
{
	margin: 0;
}







#explanation
{
	border-image: linear-gradient(to right, #f83600 0%, #f9d423 100%);
	text-shadow: 0 0 16px #A40, 0 0 16px #A40;
	border-image-slice: 1;
}

#explanation+section, #schedule_archive+section
{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;

	max-width: 1440px;
}


#explanation+section article
{
	width: 640px;

	margin: 32px;
	padding: 32px;
	border: 8px solid;
	border-image: linear-gradient(330deg, #f83600 0%, #f9d423 100%);
	border-image-slice: 1;

	background-color: rgba(0, 0, 0, 0.4);
	backdrop-filter: blur(8px);
}

#explanation+section article h3
{
	margin: 0 0 32px;
	padding-bottom: 16px;

	border-width: 0 0 1px;
	border-style: solid;
	border-image: linear-gradient(to right, #f83600 0%, #f9d423 100%);
	border-image-slice: 1;

	font-family: "GSanSerif-B";
	font-size: 2.4rem;
	line-height: 2.4rem;
	text-shadow:0 0 16px #A40, 0 0 16px #A40;
	text-align: center;
}

#explanation+section article p
{
	margin: 24px 0;
	line-height: 2rem;
}

#explanation+section article p:last-child
{
	margin: 0;
}




#schedule_archive
{
	border-image: linear-gradient(to right, #ee42b0 0%, #902eff 100%);
	text-shadow: 0 0 16px rgb(192, 51, 255), 0 0 16px rgb(192, 51, 255);
	border-image-slice: 1;
}

#schedule_archive+section article
{
	width: 416px;

	margin: 24px;
	padding: 24px;
	border: 8px solid;
	border-image: linear-gradient(120deg, #ee42b0 0%, #902eff 100%);
	border-image-slice: 1;

	background-color: rgba(0, 0, 0, 0.4);
	backdrop-filter: blur(8px);
}

#schedule_archive+section article h3
{
	margin: 0 0 32px;
	padding-bottom: 12px;

	border-width: 0 0 1px;
	border-style: solid;
	border-image: linear-gradient(to right, #ee42b0 0%, #902eff 100%);
	border-image-slice: 1;

	font-family: "GSanSerif-B";
	font-size: 1.8rem;
	line-height: 1.8rem;
	text-shadow: 0 0 16px rgb(192, 51, 255), 0 0 16px rgb(192, 51, 255);
	text-align: center;
}

#schedule_archive+section article p.cs
{
	margin: 0;
	padding: 0;

	font-size: 2rem;
	line-height: 3rem;
	text-align: center;
}

#schedule_archive+section article.after h3
{
	margin-bottom: 16px;
}

#schedule_archive+section article.after p
{
	margin-bottom: 16px;
	line-height: 2.4rem;
}

#schedule_archive+section article div
{
	width: 100%;
	aspect-ratio: 16 / 9;
}

#schedule_archive+section article iframe
{
	width: 100%;
	height: 100%;
}






/*
section h2
{
	display: flex;
	align-items: center;
	font-size: 4rem;
}
 
section h2:before, section h2:after
{
	content: "";
	height: 2px;
	flex-grow: 1;
	background: #FFFFFF;
}
 
section h2:before {margin-right: 1rem;}
section h2:after {margin-left: 1rem;}
*/




footer
{
	margin-bottom: 32px;
	padding: 32px 0;

	background: linear-gradient(90deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.8) 50%, rgba(0, 0, 0, 0.2) 100%);

	font-size: 1.2rem;
	text-align: center;
}










@media only screen and (max-width: 479px)
{
	br.m {display: block;}

	nav
	{
		display: none;
	}

	header h3
	{
		margin: 16px 0 32px;
		padding: 8px;
		border-width: 1px 0;
	
		font-size: 0.8rem;
		line-height: 1.2rem;
		letter-spacing: 0.3em;
	}

	header h3:first-child
	{
		margin: 16px 0 24px;
	}

	header h3:last-child
	{
		margin: 24px 0 16px;
	}

	header h2
	{
		font-size: 0.9rem;
		line-height: 0.9rem;
	}
	



	header h1
	{
		margin: 12px;
	
		font-size: 3rem;
		line-height: 2.6rem;
		white-space: nowrap;
	}


	header h1 span
	{
		font-size: 1.6rem;
		line-height: 1.6rem;
	}

	header div
	{
		text-shadow: 0 0 12px #0AF, 0 0 12px #0AF, 0 0 12px #0AF;
	}



	header, main section 
	{
		margin: 0 auto 32px;
	}


	main h2
	{
		width: 100%;
	
		margin: 0 auto 16px;
		padding-bottom: 4px;
	
		border-width: 0 0 2px;
		border-style: solid;
	
		font-size: 1.6rem;
		line-height: 2rem;
	}





	#nowOpen+section
	{
		width: 95%;
	
		padding: 12px;
		border: 4px solid;
		border-image:  linear-gradient(120deg, #8aecd9 0%, #0093E9 100%);
		border-image-slice: 1;
	}

	#nowOpen+section button
	{
		display: inline-block;
	
		width: 100%;
	
		margin: 12px auto 0;
		padding: 8px;
		border-radius: 40px;
		border: 0;
		border-bottom: solid 4px #bd364f;
	
	
		font-family: "GSanSerif-B";
		font-size: 1.5rem;
		line-height: 1.5rem;
		color: #fff;
		text-shadow: 2px 2px 2px rgba(0, 0, 0, 0.5);
		text-decoration:none;
	
		cursor: pointer;
	
	}
	
	#nowOpen+section button span
	{
		font-family: 'vdl-logona';
		font-size: 1rem;
		line-height: 1rem;
	}
	
	#nowOpen+section button:hover
	{
		margin-top: 16px;
		border-bottom: none;
	
		-webkit-transform: translateY(4px);
		transform: translateY(4px);
	}





	#about+section
	{
		width: 95%;
	
		padding: 12px;
		border: 4px solid;
		border-image: linear-gradient(330deg, #16a085 0%, #b9fd3c 100%);
		border-image-slice: 1;
	}

	#about+section p
	{
		margin: 0 0 16px;

		font-size: 0.9rem;
		line-height: 1.4rem;
	}

	#about+section img
	{
		display: inline-block;
		align-self: center;
	
		max-width: 100%;
		margin: 16px 0 0 0;
	}






	#explanation+section article
	{
		width: 95%;
	
		margin: 0 0 16px 0;
		padding: 12px;

		border: 4px solid;
		border-image: linear-gradient(330deg, #f83600 0%, #f9d423 100%);
		border-image-slice: 1;
	}





	#explanation+section article p
	{
		margin: 16px 0;

		font-size: 0.9rem;
		line-height: 1.4rem;
	}
	



	#explanation+section article h3
	{
		margin: 0 0 12px;
		padding-bottom: 8px;
	
		font-size: 1.4rem;
		line-height: 1.4rem;
		text-shadow:0 0 16px #A40, 0 0 16px #A40;
	}

	#explanation+section article:last-child
	{
		margin: 0;
	}





	#schedule_archive+section article
	{
		width: 95%;
	
		margin: 0 0 16px 0;
		padding: 12px;
		border: 4px solid;
		border-image: linear-gradient(30deg, #ee42b0 0%, #902eff 100%);
		border-image-slice: 1;
	}
	


	#schedule_archive+section article h3
	{
		margin: 0 0 12px;
		padding-bottom: 8px;
	
		font-size: 1.4rem;
		line-height: 1.4rem;
		text-shadow: 0 0 16px rgb(192, 51, 255), 0 0 16px rgb(192, 51, 255);
		text-align: center;
	}

	#schedule_archive+section article.after h3
	{
		margin-bottom: 8px;
	}

	#schedule_archive+section article p.cs
	{
		margin: 0;
		padding: 0;
	
		font-size: 1.6rem;
		line-height: 2.4rem;
		text-align: center;
	}


	#schedule_archive+section article.after p
	{
		line-height: 1.8rem;
	}



	footer
	{
		margin-bottom: 0;
		padding: 16px 0;
	
		font-size: 0.8rem;
		line-height: 0.8rem;
		text-align: center;
	}
}