#top {
	position: relative;
}
#top .top_catch {
	padding: 0 8px;
	color: #fff;
	font-size: 26px;
	font-weight: bold;
	text-shadow: 2px 2px 5px #000;
	line-height: 1.2;
	font-style: italic;
}
#top .top_text {
	padding: 0 8px 180px 8px;
	color: #fff;
	font-size: 42px;
	font-weight: bold;
	text-shadow: 2px 2px 5px #000;
	letter-spacing: 2px;
	line-height: 1.2;
}
#top_img {
	position: relative;
	height: calc(100vh - 87px);
	min-height: 520px;
}
#top_img > img:nth-child(2) {
	animation-duration: 30s;
	animation-name: fade_middle;
	animation-iteration-count: infinite;
	animation-timing-function: ease-in;
}
#top_img > img:nth-child(3) {
	animation-duration: 30s;
	animation-name: fade_top;
	animation-iteration-count: infinite;
	animation-timing-function: ease-in;
}
@keyframes fade_top {
	0% { opacity: 1; }
	22% { opacity: 1; }
	33% { opacity: 0; }
	88% { opacity: 0; }
	100% { opacity: 1; }
}
@keyframes fade_middle {
	0% { opacity: 1; }
	55% { opacity: 1; }
	66% { opacity: 0; }
	88% { opacity: 0; }
	100% { opacity: 1; }
}
#top_nav {
	position: absolute;
	left: 50%;
	bottom: 0;
	margin: 0;
	transform: translateX(-50%);
	background-color: transparent;
}
#top_nav .inner {
	flex-wrap: wrap;
	padding: 8px 16px;
}
#nav_play {
	width: 49.5%;
}
#nav_item,
#nav_menu {
	width: 24.5%;
}
#top_nav .nav_main .in_nav {
	background-color: rgba(255, 255, 255, 0.8);
}
#main .main_title {
	position: relative;
	font-size: 24px;
	font-weight: bold;
	background: var(--sub-color);
	border-left: 8px solid var(--main-color);
	margin-bottom: 8px;
	padding: 10px 0 8px;
	line-height: 1.3;
}
#main .main_title strong {
	display: block;
	padding-left: 8px;
}
#main .main_catch {
	font-size: 16px;
	text-align: left;
	font-weight: bold;
	padding: 10px 0 8px 28px;
	margin-bottom: 8px;
	background: url(../img/mark_ok.png) no-repeat left 0 top 8px;
	background-size: 24px;
}
#main .main_text {
	font-size: 14px;
}
@media screen and (max-width: 768px) {
	#top_img .inner {
		align-items: unset;
	}
	#nav_play,
	#nav_item,
	#nav_menu {
		width: 100%;
	}
	#nav_play .form .set,
	#nav_item .form .set,
	#nav_menu .form .set {
		max-width: none;
	}
	#top_nav .inner .nav_main {
		flex-direction: column;
	}
	#top_nav .nav_main .in_nav {
		background-color: rgba(255, 255, 255, 1);
	}
}
@media screen and (max-width: 520px) {
	#top .top_catch {
		font-size: 6vw;
	}
	#top .top_text {
		font-size: 8vw;
	}
	#main .event_list > li {
		width: 100%;
	}
}