@charset "utf-8";

body{
	color:#000;
	font-family: YakuHanJP,"nudista-web", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
	font-size:14px;
	line-height:1.8;
	background-color:#000;
	word-break: break-all;
}

ul{
	letter-spacing: -.40em; /* 文字間を詰めて隙間を削除する */
}

li{
	letter-spacing: normal; /* 文字間を通常に戻す */
}
a {
	-webkit-transition: all 0.4s;
	-moz-transition: all 0.4s;
	-ms-transition: all 0.4s;
	-o-transition: all 0.4s;
	transition: all 0.4s;
	text-decoration:none;
}

header a , nav a{
	text-decoration:none;
}


img{
	max-width:100%;
	height:auto;
}

.clear{
	clear:both;
}

.clearfix_af:after{
	content: "";
	display: block; 
	height: 0; 
	font-size:0;    
	clear: both; 
	visibility:hidden;
}

.clearfix_bf:before{
	content: "";
	display: block; 
	height: 0; 
	font-size:0;    
	clear: both; 
	visibility:hidden;
}
.clearfix_af ,.clearfix_bf{
	display: inline-block;
} 
/* Hides from IE Mac */
* html .clearfix_af{
	height: 1%;
}
.clearfix_af ,.clearfix_bf{
	display:block;
}
/* End Hack */

header{
	position: fixed;
	top:0;
	left:0;
	width: 100%;
	z-index: 9999;
}

header img{
	display:block;
}

header .header_wrap{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-items:center;
	border-radius: 14px;
	background: rgba(0, 0, 0, 0.20);
	margin:10px 30px;
	padding:12px 30px;
}

header ul{
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	align-items:center;
}

header ul a:hover{
	color:#fff;
}

header ul.left li{
	margin-right:27px;
}

header ul.left li:first-child{
	margin-right:40px;
}

header ul.left li:last-child{
	margin-right:0;
}

header ul.right li:nth-child(1){
	margin-right:20px;
}

header .head_btn a{
	display: block;
	border-radius: 100px;
	background:#4C5EFD;
	text-align:center;
	color:#fff;
	padding:8px 22px;
}

header ul.right li:nth-child(2){
	position:relative;
	padding-right:20px;
	margin-right: 20px;
}

header ul.right li:nth-child(2):after{
	content: "";
	display: block;
	width: 1px;
	height:40px;
	position: absolute;
	right: 0;
	top: 5px;
	background:#fff;
}

header ul.right li:nth-child(3){
	padding-right:10px;
}

.container{
	max-width:1440px;
	margin:auto;
	padding:0 120px;
	box-sizing:border-box;
}

.btn a{
	display:block;
	width:350px;
	height:66px;
	line-height:66px;
	text-align:center;
	border-radius: 100px;
	font-size: 16px;
	font-weight: 700;
	border:solid 3px #000;
	background:#fff;
	color:#000;
}

.btn span{
	display: block;
	text-align: center;
	margin-top: 3px;
	font-size: 12px;
	color: #7C7C7C;
}

#bg{
	background:url(../image/bg.jpg)no-repeat top center;
	background-size:cover;
	position: fixed;
	top:0;
	left:0;
	width:100%;
	margin:auto;
	height:100vh;
	z-index:-1;
}

#mv .container{
	padding-bottom:220px;
	color:#fff;
}

#mv h1{
	text-align:center;
	padding-top:210px;
	mix-blend-mode: difference;
}

#mv .catch{
	font-family: toppan-bunkyu-midashi-go-std, sans-serif;
	font-size: 72px;
	font-weight: 700;
	line-height: 130%; /* 93.6px */
	letter-spacing: 7.2px;
	mix-blend-mode: difference;
	padding-top:130px;
}

#mv p{
	mix-blend-mode: difference;
	padding-top:100px;
	font-size: 20px;
	font-weight: 700;
	line-height: 250%; /* 50px */
	letter-spacing: 1.2px;
}

h2.title{
	padding-top:120px;
	font-size: 32px;
	font-weight: 700;
	letter-spacing: 9.6px;
}

h2.title span{
	display:block;
	color: #BCBCBC;
	font-size: 14px;
	font-weight: 700;
}

#outline .container{
	text-align:center;
	margin-top:-110px;
	border-radius: 36px 36px 0px 0px;
	background: rgba(96, 241, 254, 0.90);
	padding-bottom:250px;
}

#outline h3{
	font-family: toppan-bunkyu-midashi-go-std, sans-serif;
	text-align: center;
	font-size: 48px;
	font-weight: 900;
	line-height: 130%; /* 62.4px */
	letter-spacing: 9.6px;
	margin-top:40px;
}

#outline h3 > span{
	background-color:#fff;
}

#outline p{
	text-align: center;
	font-size: 18px;
	line-height: 220%; /* 39.6px */
	letter-spacing: 1.08px;
	margin-top:40px;
	font-weight:700;
}

#outline .btn{
	margin-top:48px;	
}

#outline .btn a{
	margin:auto;
}

#outline .for_regist{
	text-align: center;
	margin-top:20px;
}

#outline .for_regist a{
	color:#000;
	text-decoration: underline;
}

#result .container{
	margin-top:-110px;
	border-radius: 50px 50px 0px 0px;
	background:url(../image/result_bg.jpg)no-repeat center center;
	background-size: cover;
	padding-top:160px;
	padding-bottom:250px;
	color: #fff;
}

#result .result_area{
	max-width: 980px;
	margin: auto;
	border-radius: 20px;
	background: rgba(255, 255, 255, 0.20);
	padding: 50px 75px;
}

#result h2{
	text-align: center;
	font-size: 32px;
	font-weight: 700;
	line-height: 130%; /* 41.6px */
	letter-spacing: 3.2px;
}

#result .result_detail_area{
	border-radius: 20px;
	background: rgba(255, 255, 255, 0.90);
	color: #000;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-items: center;
	padding: 40px 40px 40px 0;
	margin-top: 64px;
}

#result .result_detail_area .left{
	text-align: center;
	flex: 1;
	padding: 0 55px;
}

#result .result_detail_area .left p{
	font-size: 14px;
	font-weight: 500;
	line-height: 180%;
	margin-top: 36px;
}

#result .result_detail_area .right{
	width: 270px;
}

#result .result_detail_area .right dl{
	border-bottom: solid 1px #BCBCBC;
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	padding: 7px 0;
}

#result .result_detail_area .right dl dt{
	width: 50px;
	font-size: 16px;
	font-weight: 700;
	line-height: 180%;
}

#result .result_detail_area .right dl dd{
	flex: 1;
}

#result .result_detail_area .right dl dd h3{
	font-size: 16px;
	font-weight: 700;
	line-height: 180%;
}

#result .result_detail_area .right dl dd ul{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

#result .result_detail_area .right dl dd ul li{
	font-size: 12px;
	font-weight: 700;
	line-height: 180%;
}

#result .result_detail_area .right dl dd ul li:nth-child(odd){
}

#result .result_detail_area .right dl dd ul li:nth-child(even){
	width: 70px;
}

#result .voice_area{
	margin-top: 35px;
	border-radius: 20px;
	border: 1px solid #000;
	background: rgba(0, 0, 0, 0.30);
	padding: 32px 24px;
}

#result .voice_area h3{
	text-align: center;
	font-size: 22px;
	font-weight: 700;
	line-height: 180%;
}

#result .voice_area ul{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-top: 24px;
}

#result .voice_area ul li{
	width: 30.52%;
}

#result .voice_area ul li dl{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-items: center;
}

#result .voice_area ul li dl dt{
	width: 72px;
}

#result .voice_area ul li dl dd{
	flex: 1;
	padding-left: 16px;
}

#result .voice_area ul li dl dd h4{
	font-size: 16px;
	font-weight: 500;
	line-height: 180%;
}

#result .voice_area ul li dl dd h4 span{
	display: block;
	font-size: 14px;
}

#result .voice_area ul li dl dd h4 small{
	font-size: 12px;
}

#result .voice_area ul li p{
	margin-top: 16px;
	font-size: 12px;
	font-weight: 500;
	line-height: 160%; 
}

#schedule .container{
	margin-top:-110px;
	border-radius: 36px 36px 0px 0px;
	background: #FCFFDD;
	padding-bottom:220px;
}

#schedule h2{
	text-align: center;
}

#schedule .flow{
	margin-top:50px;
}

#schedule .attend{
	text-align:right;
	color:#7C7C7C;
	font-size: 10px;
	font-weight: 500;
	line-height: 150%;
}

#schedule h3{
	margin-top: 80px;
	text-align: center;
	font-size: 24px;
	font-weight: 700;
	letter-spacing: 2.4px;
}

#schedule ul.list{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	margin-top: 40px;
}

#schedule ul.list li{
	width:17.9%;
	margin-right:3%;
	text-align: center;
}

#schedule ul.list li:last-child{
	margin-right:0;
}

#schedule ul.list li .image_area{
	height:115px;
}

#schedule ul.list li span{
	background:#000AF4;
	font-size: 10px;
	font-weight: 700;
	line-height: 100%; /* 10px */
	letter-spacing: 0.4px;
	color:#fff;
	padding:4px 8px;
	border-radius: 100px;
}

#schedule ul.list li span.real{
	background: #FC174E;
}

#schedule ul.list li h4{
	margin-top: 18px;
	font-size: 16px;
	font-weight: 700;
	line-height: 180%;
}

#schedule ul.list li p{
	margin-top: 8px;
	font-size: 14px;
	font-style: normal;
	font-weight: 500;
	line-height: 180%;
}

#entry .container{
	margin-top:-110px;
	border-radius: 36px 36px 0px 0px;
	background: #E1FF69;
	padding-bottom:220px;
}

#entry h2{
	text-align: center;
	margin-bottom:50px;
}

#entry .entry_area{
	border-radius: 20px;
	border: 1px solid #C9EB42;
	padding:50px 40px;
}

#entry .entry_frame{
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	align-items: center;
	max-width: 967px;
    margin: auto;
}

#entry .entry_frame .text_area{
	flex:1;
	padding-right:50px;
}

#entry .entry_frame .btn_area{
	width:350px;
}

#entry .entry_frame h3{
	font-size: 22px;
	font-weight: 700;
	line-height: 130%; /* 28.6px */
	letter-spacing: 6.6px;
}

#entry .entry_frame p{
	margin-top:32px;
	font-size: 14px;
	font-weight: 700;
	line-height: 180%;
}

#entry .entry_area h4{
	font-size: 32px;
	font-weight: 700;
	line-height: 130%; /* 41.6px */
	letter-spacing: 3.2px;
	text-align:center;
}

#entry .entry_area ul{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	margin-top: 30px;
	font-size: 16px;
	font-weight: 700;
	line-height: 180%;
}

#entry .entry_area ul li:first-child{
	width:200px;
	font-size: 20px;
	font-weight: 700;
	line-height: 180%;
}

#entry .entry_area ul li dl{
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
}

#entry .entry_area ul li dl dt{
	padding-right:20px;
}

#entry .entry_area .attend{
	margin-top: 32px;
	text-align: center;
	font-size: 16px;
	font-weight: 700;
	line-height: 180%; 
}

#entry .entry_area .attend span{
	color:#7C7C7C;
	font-size: 12px;
	font-weight: 700;
	line-height: 180%;
}

#entry .line{
	text-align:center;
	margin-bottom: -5px;
}

#entry .more{
	margin-top:40px;
}

#entry .more .btn a{
	margin:auto;
	position: relative;
}

#entry .more .btn a:before{
	content:"";
	display: block;
	position: absolute;
	width:16px;
	height: 1px;
	right: 30px;
	top: 0;
	bottom:0;
	margin: auto;
	background-color: #000;
}

#entry .more .btn a::after{
	content:"";
	display: block;
	position: absolute;
	width:16px;
	height: 1px;
	right: 30px;
	top: 0;
	bottom:0;
	margin: auto;
	background-color: #000;
	transform: rotate(90deg);
}

#partner .container{
	margin-top:-110px;
	border-radius: 36px 36px 0px 0px;
	background:url(../image/pa_bg.png) top center;
	background-size: cover;
	padding-bottom:220px;
	color:#fff;
}

#partner h2{
	text-align: center;
}

#partner .partner_logo{
	text-align: center;
	margin-top: 66px;
}

#partner .partner_logo span{
	display: block;
	font-size: 14px;
	font-weight: 700;
	line-height: 100%;
	margin-top: 10px;
}

#prize .container{
	margin-top:-110px;
	border-radius: 36px 36px 0px 0px;
	background:url(../image/prize_bg.jpg) top center;
	background-size: cover;
	padding-bottom:220px;
}

#prize h2{
	text-align: center;
}

#prize h3{
	text-align: center;
	margin-top:42px;
	font-size: 32px;
	font-weight: 700;
	line-height: 180%;
}

#prize h3 span{
	display:block;
	color:#7C7C7C;
	font-size: 14px;
	font-weight: 600;
	line-height: 100%; /* 14px */
	letter-spacing: 1.4px;
}

#prize .prize_area{
	background-color: #fff;
	border-radius: 20px;
	padding:50px 90px;
	margin:50px auto 0 auto;
	display: flex;
	justify-content:flex-start;
	flex-wrap: wrap;
	align-items: center;
	max-width: 960px;
	border: 1px solid #DBDBDB;
}

#prize .prize_area .prize_logo{
	width:170px;
	padding-right:70px;
}

#prize .prize_area .text_area{
	flex:1;
}

#prize .prize_area .text_area h4{
	font-size: 22px;
	font-weight: 700;
	line-height: 180%;
}

#prize .prize_area .text_area p{
	margin-top:16px;
	font-size: 16px;
	font-weight: 700;
	line-height: 180%;
}

#prize .prize_area .text_area .attend{
	margin-top:16px;
	color:#7C7C7C;
	font-size: 10px;
	font-weight: 700;
	line-height: 180%;
}

#faq .container{
	margin-top:-110px;
	border-radius: 36px 36px 0px 0px;
	background: #F4EFFF;
	padding-bottom:220px;
}

#faq h2{
	text-align: center;
	margin-bottom:42px;
}

#faq dl{
	max-width: 980px;
	margin:0 auto 10px auto;
	border-radius: 14px;
	background:#fff;
	padding:24px 36px;
}

#faq dl dt{
	position:relative;
	padding-left:50px;
	font-size: 20px;
	font-weight: 700;
	line-height: 180%;
}

#faq dl dd{
	padding-left:50px;
	font-size: 15px;
	font-weight: 700;
	line-height: 180%;
	margin-top: 10px;
}

#faq dl dt::before{
	content:"";
	display:block;
	width: 24px;
	height: 40px;
	background:url(../image/q.svg) no-repeat center center;
	background-size:cover;
	position:absolute;
	left:0;
}

#bottom_area .container{
	padding:250px 0;
}

#bottom_area h2{
	font-family: toppan-bunkyu-midashi-go-std, sans-serif;
	text-align: center;
	font-size: 56px;
	font-weight: 700;
	line-height: 130%; /* 93.6px */
	letter-spacing: 7.2px;
	mix-blend-mode: difference;
	color:#fff;
}

#bottom_area .bottom_btn_area{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	max-width: 1014px;
	margin:40px auto 0 auto;
}
#bottom_area .bottom_btn_area .register_btn{
	width:44%;
}

#bottom_area .bottom_btn_area .dt_test_btn{
	width:52%;
}

#bottom_area .bottom_btn_area .register_btn a,
#bottom_area .bottom_btn_area .dt_test_btn a{
	display: block;
	font-size: 24px;
	font-weight: 700;
	line-height: 160%;
	text-align:center;
	border-radius: 100px;
	border:solid 3px #000;
	background:#fff;
	color:#000;
	padding:12px;
	transition: all 0.4s;
}

#bottom_area .bottom_btn_area .register_btn a span,
#bottom_area .bottom_btn_area .dt_test_btn a span{
		display:block;
	font-size: 14px;
	font-weight: 700;
	line-height: 160%; /* 22.4px */
	letter-spacing: 1.4px;
}

footer{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	padding:0 60px 36px 60px;
	background: transparent;
}

footer a{
	color: #000;
}

footer ul{
	display: flex;
	justify-content:flex-start;
	flex-wrap: wrap;
}

footer ul li{
	margin-right:28px;
	color:#fff;
}

footer ul li:last-child{
	margin-right:0;
}

footer copyright{
	color:#fff;
}

@media only screen and (min-width: 1000px) {

	.sp_only{
		display:none !important;
	}
	
	.btn a:hover,
	#bottom_area .bottom_btn_area .register_btn  a:hover,
	#bottom_area .bottom_btn_area .dt_test_btn  a:hover{
		box-shadow: 5px 7px 0px -3px #000000;
	}

	#bottom_area .bottom_btn_area .register_btn  a:hover{
		background:#4C5EFD;
		color:#fff;
	}
	
	#bottom_area .bottom_btn_area .dt_test_btn  a:hover{
		background:#13CB73;
		color:#fff;
	}

}

@media only screen and (max-width: 768px) {

	.pc_only{
		display:none !important;
	}
}

@media only screen and (max-width: 999px) {

	header{
		display: none;
	}
	
	.container{
		padding:0 24px;
	}

	h2.title{
		padding-top:80px;
	}

	#mv h1{
		padding-top:100px;
	}

	#mv .catch{
		font-size: 35px;
		letter-spacing: 0;
	}

	#mv p{
		font-size: 17px;
		font-weight: 700;
		line-height: 200%; /* 34px */
		letter-spacing: 1.02px;
	}

	#outline .container,
	#schedule .container,
	#partner .container,
	#faq .container{
		border-radius: 30px 30px 0 0;
	}

	#outline h3{
		font-size:32px;
	}

	#outline h3 span span{
		display:inline-block;
		background:#fff;
		margin-top: 10px;
	}

	#outline p{
		font-size: 15px;
		line-height: 200%; /* 30px */
		letter-spacing: 0.9px;
	}

	#schedule .attend{
		text-align: left;
		margin-top: 10px;
	}

	#schedule h3{
		font-size: 24px;
	}

	#schedule ul.list{
		justify-content: space-between;
	}

	#schedule ul.list li{
		width: 44%;
		margin-right:0;
		margin-top: 20px;
	}

	#schedule ul.list li h4{
		font-size:14px;
	}

	#schedule ul.list li p{
		font-size: 12px;
		font-style: normal;
		font-weight: 500;
		line-height: 180%;
	}

	#entry .entry_area{
		padding:36px 20px;
	}

	#entry .entry_frame .text_area{
		padding-right:0;
	}

	#entry .entry_frame h3{
		text-align: center;
	}

	#entry .entry_frame p{
		margin-top: 20px;
		font-size: 14px;
		font-weight: 700;
		line-height: 180%;
	}

	#entry .entry_frame .btn{
		margin-top: 30px;
	}

	#entry .entry_area h4{
		font-size: 26px;
		font-weight: 700;
		line-height: 130%; /* 33.8px */
		letter-spacing: 2.6px;
	}

	#entry .entry_area ul li:first-child{
		width: 100%;
	}

	#entry .entry_area ul li dl{
		margin-top:20px;
	}

	#entry .entry_area ul li dl dt{
		width:40px;
	}

	#entry .entry_area ul li dl dd{
		flex:1;
	}

	#entry .entry_area .attend{
		text-align: left;
	}

	#prize h3{
		font-size: 23px;
	}

	#prize .prize_area{
		padding:50px 24px;
		display: block;
	}

	#prize .prize_area .prize_logo {
		width: auto;
		padding-right: 0;
		text-align: center;
	}

	#prize .prize_area .text_area{
		margin-top: 20px;
	}

	#prize .prize_area .text_area h4{
		font-size: 20px;
	}


	.btn a{
		width:290px;
	}

	#bottom_area .container{
		padding-left:24px;
		padding-right: 24px;
	}

	#bottom_area h2{
		font-size: 34px;
		letter-spacing: 0;
		text-align: left;
	}

	#bottom_area .bottom_btn_area{
		display: block;
	}
	
	#bottom_area .bottom_btn_area .register_btn,
	#bottom_area .bottom_btn_area .dt_test_btn{
		width: 100%;
	}
	
	#bottom_area .bottom_btn_area .register_btn a,
	#bottom_area .bottom_btn_area .dt_test_btn a{
		font-size: 20px;
	}

	#bottom_area .bottom_btn_area .dt_test_btn{
		margin-top: 20px;
	}

	#bottom_area .bottom_btn_area .dt_test_btn small{
		display: none;
	}

	footer{
		padding-left:24px;
		padding-right: 24px;
	}

	#faq dl dd{
		padding-left:0;
	}

	#result .container{
		padding-top: 50px;
	}

	#result .result_area{
		padding: 0;
		background: unset;
	}

	#result h2{
		font-size: 24px;
	}

	#result .result_detail_area{
		padding-left:20px;
		padding-right:20px;
	}

	#result .result_detail_area .left{
		padding: 0;
	}

	#result .result_detail_area .left p{
		font-size: 12px;
	}

	#result .result_detail_area .right{
		margin-top: 30px;
		width: auto;
	}

	#result .voice_area ul{
		display: block;
	}

	#result .voice_area ul li{
		width: 100%;
	}

	#result .voice_area ul li + li{
		margin-top: 32px;
	}


}
@media only screen and (min-width: 769px) {

}

@media (max-width: 768px) {


}
