/*============================
#top_contents
============================*/
#main #top_contents {
	margin: 0 auto;
	position: relative;
	padding: 0;
}
#main #top_contents::before {
	content: "";
	position: absolute;
	width: 100vw;
	height: 100%;
	display: block;
	top: 0;
	background: rgba(0, 0, 0, 0.7) url("../img/top/camp_bg.png") center / 100% auto no-repeat;
	z-index: 0;
	mix-blend-mode: soft-light;
	opacity: 0.25;
}
#top_contents .top_contents_inside {
	margin: 0;
	width: auto;
	position: relative;
	z-index: 5;
}
#top_contents article {
	position: relative;
	margin: 0;
	padding: 60px 20px;
	box-sizing: border-box;
	text-align: center;
}
#top_contents article .inside {
	width: auto;
	max-width: 980px;
	position: relative;
}
/*============================
#top_campaign
============================*/
.camp_pannel {
	padding: 0px 0px 60px;
	margin: 0px 0 0;
	text-align: center;
}
.camp_pannel header {
	position: relative;
	margin: 0 0 -50px;
}
.camp_pannel header .camp_tit {
	margin: 0;
}
.camp_pannel header .camp_tit img {
	width: 874px;
	margin: 0 auto;
}
.camp_pannel .camp_text {
	margin: 0 0 -120px;
}
.camp_pannel .camp_text img {
	width: 930px;
}
.camp_pannel .camp_deadline {
	margin: 0 0 60px;
}
.camp_pannel .camp_deadline img {
	width: 900px;
}
.camp_pannel .camp_wchance {
	margin: 0 0 60px;
}
.camp_pannel .camp_wchance img {
	width: 844px;
}
.camp_pannel .bt {
	margin: 0;
}
.camp_pannel .bt .long {}
.camp_pannel .bt .long span {}
#top_bottom {
	position: relative;
	z-index: 5;
	padding: 60px 0;
	background: #300000;
	background: linear-gradient(180deg, rgba(48, 0, 0, 0.85) 0%, rgba(255, 153, 153, 0) 100%);
}
#top_bottom .inside {
	width: auto;
	max-width: 1280px;
}
#top_bottom .inside .flex {
	justify-content: center;
	align-items: center;
	margin: 0 -20px;
}
#top_bottom .inside .flex .youtube {
	width: calc(100% - 480px);
	margin: 0 20px;
}
#top_bottom .inside .flex .youtube h3 {
	margin: 0 0 -120px;
}
@media screen and (max-width: 1280px) {
	#top_bottom .inside .flex .youtube h3 {
		margin: 0 0 -9.375vw;
	}
}
#top_bottom .inside .flex .racers {
	width: 440px;
	height: auto;
	background: #fff;
	border: #fff 3px solid;
	border-radius: 5px;
	position: relative;
	margin: 0 20px;
}
@media screen and (max-width: 640px) {
	/*============================
#top_contents
============================*/
	#main #top_contents {}
	#main #top_contents::before {
		background: rgba(0, 0, 0, 0.85) url("../img/top/camp_bg.png") center / cover no-repeat;
	}
	#top_contents .top_contents_inside {}
	#top_contents article {
		padding: 60px 40px;
	}
	#top_contents article .inside {
		max-width: 980px;
		margin: 0;
	}
	/*============================
#top_campaign
============================*/
	.camp_pannel {
		padding: 0px;
		/* background: url("../img/top/camp_bg.png") center / 100px auto; */
		border-radius: 10px;
		margin: 0px 0 0;
	}
	.camp_pannel header {
		display: block;
		margin: 0 0 0px;
		padding: 130px 0 0;
		/* プレ用 */
		padding: 0px 0 0;
	}
	.camp_pannel header .camp_ataru {
		position: absolute;
		right: -60px;
		top: -70px;
		/* プレ用 */
		width: 170px;
		top: -40px;
	}
	.camp_pannel header .camp_badge {
		left: -50px;
		top: 10px;
	}
	.camp_pannel header .camp_badge img {
		width: 371px;
	}
	.camp_pannel header .camp_tit {
		width: auto;
		margin: 0 -40px 0px -60px;
	}
	.camp_pannel header .camp_tit img {
		width: 100%;
		height: auto;
		transform: translate(15px, 0px);
	}
	.camp_pannel header .camp_items {
		width: 100%;
	}
	.camp_pannel header .camp_items img {}
	.camp_pannel .camp_text {
		margin: 0 -20px 0px;
	}
	.camp_pannel .camp_text img {
		width: 100%;
	}
	.camp_pannel .camp_deadline {
		margin: 0 0 30px;
	}
	.camp_pannel .camp_deadline img {
		width: 900px;
	}
	.camp_pannel .camp_wchance {
		margin: 0 0 30px;
	}
	.camp_pannel .camp_wchance img {
		width: auto;
	}
	.camp_pannel .bt {}
	.camp_pannel .bt .big {
		margin: 0;
	}
	.camp_pannel .bt .long span {}
	#top_bottom {
		padding: 60px 0;
	}
	#top_bottom .inside {}
	#top_bottom .inside .flex {
		display: block;
	}
	#top_bottom .inside .flex .youtube {
		width: auto;
		margin: 0 0 60px;
	}
	#top_bottom .inside .flex .youtube h3 {
		margin: 0 -40px -80px;
	}
	#top_bottom .inside .flex .youtube .bt {
		margin: 20px 0 0;
	}
	#top_bottom .inside .flex .racers {
		width: auto;
		border: #fff 3px solid;
		border-radius: 0px;
		margin: 0 -40px;
		padding: 40px 10px;
	}
}