@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;600;700&display=swap');

/* MATERIALS */

a:link{
	color:#003bb2;
	text-decoration:none;
}

a:visited{
	color:#003bb2;
	text-decoration:none;
}

a:hover{
	color:#0047d8;
	text-decoration:underline;
}

a:active{
	color:#0047d8;
	text-decoration:underline;
}

a.btn_a,
span.btn_a{
	display:table;
	padding:24px 80px 28px 40px;
	font-size:22px;
	font-weight:600;
	line-height:1;
	color:#fed400;
	background-color:#000;
	border-radius:50px;
	background-image:url("../img/interface/ico_arrow_right.png");
	background-repeat:no-repeat;
	background-size:16px;
	background-position:right 30px center;
}

@media only screen and (max-width:767px){
	a.btn_a,
	span.btn_a{
		padding:22px 70px 24px 30px;
		font-size:18px;
		background-size:12px;
		background-position:right 25px center;
	}
}


/* INTERFACE */


body{
	-webkit-text-size-adjust:100%;
	margin:0;
	padding:0;
	background-color:#fff;
	color:#000;
	font-family:"Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
}

#home_key_area img{
	width:100%;
}

#home_flow_area{
	padding:100px 40px 120px;
	background-image:url("../img/interface/bg_shape01.png");
	background-repeat:no-repeat;
	background-size:cover;
	background-position:top center;
}

#home_flow_area a.btn_a,
#home_flow_area span.btn_a{
	margin:0 auto;
}

#home_flow_area h2{
	margin:0 0 60px;
	padding:0 0 70px;
	text-align:center;
	font-size:35px;
	font-weight:700;
	line-height:1.2;
	background-image:url("../img/interface/ico_circle.png");
	background-repeat:no-repeat;
	background-size:35px;
	background-position:bottom center;
}

#home_flow_area .flex{
	max-width:1050px;
	margin:0 auto 60px;
	display:flex;
	flex-wrap:wrap;
	align-items:flex-start;
}

#home_flow_area .flex img{
	width:34%;
}

#home_flow_area .flex p{
	width:66%;
	box-sizing:border-box;
	margin:0;
	padding:0 50px 0 0;
	text-align:justify;
	font-size:18px;
	line-height:1.9;
}

#home_flow_area .flex p em{
	display:block;
	margin:0 0 40px;
	font-style:normal;
	font-size:40px;
	font-weight:600;
	line-height:1.3;
}

#home_flow_area .video{
	max-width:680px;
	margin:0 auto 40px;
}

#home_flow_area .video div{
	width:100%;
	height:0;
	padding:56% 0 0;
	position:relative;
}

#home_flow_area .video div iframe{
	width:100%;
	height:100%;
	position:absolute;
	top:0;
	left:0;
}

#home_flow_area .box{
	max-width:600px;
	margin:0 auto 50px;
	padding:40px 30px;
	background-color:#fff;
	border:6px solid #fed400;
	border-radius:20px;
}

#home_flow_area .box p{
	margin:0;
	text-align:center;
	font-size:30px;
	font-weight:600;
	line-height:1.3;
}

@media only screen and (max-width:1000px){
	#home_flow_area .flex p{
		padding:0 30px 0 0;
	}
	
	#home_flow_area .flex p em{
		font-size:33px;
	}
}

@media only screen and (max-width:767px){
	#home_flow_area{
		padding:60px 20px;
	}
	
	#home_flow_area h2{
		margin:0 0 40px;
		padding:0 0 50px;
		font-size:28px;
		background-size:25px;
	}
	
	#home_flow_area .flex{
		margin:0 0 30px;
		justify-content:center;
	}
	
	#home_flow_area .flex img{
		width:80%;
	}
	
	#home_flow_area .flex p{
		width:100%;
		padding:0 0 40px;
		font-size:15px;
		line-height:1.7;
	}
	
	#home_flow_area .flex p em{
		margin:0 0 20px;
		font-size:25px;
		line-height:1.4;
	}
	
	#home_flow_area .box{
		padding:30px 25px;
		border:5px solid #fed400;
	}
	
	#home_flow_area .box p{
		text-align:justify;
		font-size:25px;
	}

}

#home_support_area{
	padding:100px 20px 120px;
	background-color:#f5f5f5;
}

#home_support_area h2{
	margin:0 0 70px;
	padding:0 0 70px;
	text-align:center;
	font-size:35px;
	font-weight:700;
	line-height:1.2;
	background-image:url("../img/interface/ico_circle.png");
	background-repeat:no-repeat;
	background-size:35px;
	background-position:bottom center;
}

#home_support_area .flex{
	max-width:1250px;
	margin:0 auto;
	display:flex;
	flex-wrap:wrap;
}

#home_support_area .flex>div{
	display:flex;
	width:33.333333333%;
	box-sizing:border-box;
	padding:0 20px;
}

#home_support_area .flex>div>div{
	padding:0 25px 35px;
	text-align:center;
	background-color:#fff;
	border:6px solid #fed400;
}

#home_support_area .flex>div>div img{
	width:90px;
	position:relative;
	top:-20px;
}

#home_support_area .flex>div>div h3{
	margin:0 0 20px;
	font-size:24px;
	font-weight:700;
	line-height:1.3;
}

#home_support_area .flex>div>div h3 span{
	background:linear-gradient(transparent 65%, #fed400 65%);
}

#home_support_area .flex>div>div p{
	margin:0;
	text-align:justify;
	font-size:18px;
	font-weight:300;
	line-height:1.4;
}

@media only screen and (max-width:767px){
	#home_support_area{
		padding:60px 20px;
	}
	
	#home_support_area h2{
		margin:0 0 60px;
		padding:0 0 50px;
		font-size:28px;
		background-size:25px;
	}
	
	#home_support_area .flex>div{
		width:100%;
		padding:0 0 40px;
	}
	
	#home_support_area .flex>div>div{
		padding:0 20px 30px;
		border:5px solid #fed400;
	}
	
	#home_support_area .flex>div>div img{
		width:70px;
	}
	
	#home_support_area .flex>div>div h3{
		font-size:22px;
	}
	
	#home_support_area .flex>div>div p{
		font-size:16px;
	}
}

#home_entry_area{
	max-width:1050px;
	margin:0 auto;
	padding:100px 40px 120px;
}

#home_entry_area a.btn_a,
#home_entry_area span.btn_a{
	margin:0 auto;
}

#home_entry_area h2{
	margin:0 0 70px;
	padding:0 0 70px;
	text-align:center;
	font-size:35px;
	font-weight:700;
	line-height:1.2;
	background-image:url("../img/interface/ico_circle.png");
	background-repeat:no-repeat;
	background-size:35px;
	background-position:bottom center;
}

#home_entry_area .flex{
	max-width:1050px;
	margin:0 auto 60px;
	display:flex;
	flex-wrap:wrap;
	align-items:flex-start;
}

#home_entry_area .flex .video{
	width:55%;
}

#home_entry_area .video div{
	width:100%;
	height:0;
	padding:56% 0 0;
	position:relative;
}

#home_entry_area .video div iframe{
	width:100%;
	height:100%;
	position:absolute;
	top:0;
	left:0;
}

#home_entry_area .flex p{
	width:45%;
	box-sizing:border-box;
	margin:0;
	padding:0 50px 0 0;
	text-align:justify;
	font-size:18px;
	line-height:1.9;
}

#home_entry_area .flex p em{
	display:block;
	margin:0 0 30px;
	font-style:normal;
	font-size:40px;
	font-weight:600;
	line-height:1.3;
}

#home_entry_area .download h3{
	margin:0 0 30px;
	padding:0 0 0 60px;
	font-size:25px;
	background-image:url("../img/interface/ico_download.png");
	background-repeat:no-repeat;
	background-size:50px;
	background-position:left center;
}

#home_entry_area .download ul{
	margin:0 0 100px;
	padding:0 60px;
	list-style-type:none;
	font-size:18px;
}

#home_entry_area .download ul li{
	padding:15px 0 15px 40px;
	background-image:url("../img/interface/ico_pdf.png");
	background-repeat:no-repeat;
	background-size:30px;
	background-position:left center;
}

#home_entry_area .download ul li a{
	text-decoration:underline;
}

#home_entry_area .schedule{
	margin:0 0 80px;
}

#home_entry_area .schedule h3{
	margin:0 0 60px;
	text-align:center;
	font-size:24px;
	font-weight:700;
	line-height:1.3;
}

#home_entry_area .schedule h3 span{
	background:linear-gradient(transparent 65%, #fed400 65%);
}

#home_entry_area .schedule p{
	margin:0;
	text-align:center;
	font-size:16px;
	line-height:1.6;
}

@media only screen and (max-width:767px){
	#home_entry_area{
		padding:60px 20px;
	}
	
	#home_entry_area h2{
		margin:0 0 40px;
		padding:0 0 50px;
		font-size:28px;
		background-size:25px;
	}
	
	#home_entry_area .flex .video{
		width:100%;
	}
	
	#home_entry_area .flex p{
		width:100%;
		padding:0 0 30px;
		font-size:15px;
		line-height:1.7;
	}
	
	#home_entry_area .flex p em{
		margin:0 0 20px;
		font-size:25px;
		line-height:1.4;
	}
	
	#home_entry_area .download h3{
		padding:0 0 0 50px;
		font-size:22px;
		background-size:40px;
	}
	
	#home_entry_area .download ul{
		margin:0 0 60px;
		padding:0 0 0 20px;
		list-style-type:none;
		font-size:15px;
	}
	
	#home_entry_area .download ul li{
		padding:10px 0 10px 35px;
		background-size:25px;
	}
	
	#home_entry_area .schedule{
		margin:0 0 60px;
	}
	
	#home_entry_area .schedule h3{
		margin:0 0 30px;
	}
	#home_entry_area .schedule p{
		text-align:justify;
		font-size:15px;
	}

}

#home_news_area{
	padding:100px 20px 150px;
	background-color:#f5f5f5;
}

#home_news_area h2{
	margin:0 0 70px;
	padding:0 0 70px;
	text-align:center;
	font-size:35px;
	font-weight:700;
	line-height:1.2;
	background-image:url("../img/interface/ico_circle.png");
	background-repeat:no-repeat;
	background-size:35px;
	background-position:bottom center;
}

#home_news_area table.news{
	max-width:800px;
	width:100%;
	margin:0 auto;
	border-bottom:1px solid #8cdadd;
	border-collapse:collapse;
}

#home_news_area table.news th{
	padding:15px;
	border-top:1px solid #8cdadd;
	text-align:left;
	vertical-align:top;
	font-size:14px;
}

#home_news_area table.news td{
	padding:15px;
	border-top:1px solid #8cdadd;
	font-size:15px;
}

@media only screen and (max-width:767px){
	#home_news_area{
		padding:60px 20px 100px;
	}
	
	#home_news_area h2{
		margin:0 0 60px;
		padding:0 0 50px;
		font-size:28px;
		background-size:25px;
	}
	#home_news_area table.news th{
		display:block;
		padding:15px 0 5px;
		font-size:13px;
	}
	
	#home_news_area table.news td{
		display:block;
		padding:0 0 20px;
		border-top:none;
		font-size:14px;
	}
}

/* SUB */

#sub_key_area{
	padding:70px 40px 90px;
	background-color:#fed400;
	background-image:url("../img/interface/bg_shape02.png");
	background-repeat:no-repeat;
	background-size:cover;
	background-position:top left;
}

#sub_key_area h1{
	max-width:1050px;
	margin:0 auto;
	font-size:36px;
	font-weight:700;
	line-height:1.2;
}

#project_world_area{
	max-width:1050px;
	margin:0 auto;
	padding:100px 40px 120px;
}

#project_world_area h2{
	margin:0 0 70px;
	padding:0 0 70px;
	text-align:center;
	font-size:35px;
	font-weight:700;
	line-height:1.2;
	background-image:url("../img/interface/ico_circle.png");
	background-repeat:no-repeat;
	background-size:35px;
	background-position:bottom center;
}

#project_world_area img{
	width:100%;
	margin:0 0 70px;
}

#project_world_area p{
	max-width:750px;
	margin:0 auto;
	text-align:justify;
	font-size:18px;
	line-height:1.9;
}

#project_chance_area{
	padding:100px 40px 120px;
	background-color:#f5f5f5;
	text-align:center;
}

#project_chance_area a.btn_a{
	margin:0 auto;
}

#project_chance_area h2{
	margin:0 0 70px;
	padding:0 0 70px;
	font-size:35px;
	font-weight:700;
	line-height:1.2;
	background-image:url("../img/interface/ico_circle.png");
	background-repeat:no-repeat;
	background-size:35px;
	background-position:bottom center;
}

#project_chance_area img{
	max-width:750px;
	width:100%;
	margin:0 0 70px;
}

#project_chance_area p{
	max-width:700px;
	margin:0 auto 70px;
	text-align:justify;
	font-size:18px;
	line-height:1.9;
}

@media only screen and (max-width:767px){
	#sub_key_area{
		padding:50px 20px 80px;
	}
	
	#sub_key_area h1{
		font-size:32px;
	}
	
	#project_world_area{
		padding:60px 20px 80px;
	}
	
	#project_world_area h2{
		margin:0 0 40px;
		padding:0 0 40px;
		font-size:28px;
		background-size:25px;
	}
	
	#project_world_area img{
		margin:0 0 30px;
	}
	
	#project_world_area p{
		font-size:15px;
		line-height:1.7;
	}
	
	#project_chance_area{
		padding:60px 20px 80px;
	}
	
	#project_chance_area h2{
		margin:0 0 40px;
		padding:0 0 40px;
		font-size:28px;
		background-size:25px;
	}
	
	#project_chance_area img{
		margin:0 0 30px;
	}
	
	#project_chance_area p{
		margin:0 auto 40px;
		font-size:15px;
		line-height:1.7;
	}

}

#sub_title_area{
	padding:30px 40px;
	background-color:#fed400;
}

#sub_title_area p{
	max-width:1050px;
	margin:0 auto;
	font-size:24px;
	font-weight:700;
	line-height:1.2;
}

#project_flow_area{
	max-width:1050px;
	margin:0 auto;
	padding:100px 40px 120px;
}

#project_flow_area a.btn_a{
	margin:0 auto;
}

#project_flow_area h1{
	margin:0 0 70px;
	padding:0 0 70px;
	text-align:center;
	font-size:35px;
	font-weight:700;
	line-height:1.2;
	background-image:url("../img/interface/ico_circle.png");
	background-repeat:no-repeat;
	background-size:35px;
	background-position:bottom center;
}

#project_flow_area>p{
	max-width:700px;
	margin:0 auto 70px;
	text-align:justify;
	font-size:18px;
	line-height:1.9;
}

#flow_table{
	width:100%;
	margin:0 0 60px;
	border-collapse:collapse;
}

#flow_table th{
	width:70px;
	padding:25px;
	box-sizing:border-box;
	border-top:1px solid #e9e9e9;
}

#flow_table tr:first-of-type th{
	background-color:#e4e4e4;
}

#flow_table tr:nth-of-type(2) th{
	background-color:#8cdadd;
	vertical-align:top;
}

#flow_table tr:nth-of-type(3) th{
	background-color:#fff339;
	vertical-align:bottom;
}

#flow_table tr:nth-of-type(4) th{
	background-color:#ffe139;
	vertical-align:bottom;
}

#flow_table tr:nth-of-type(5) th{
	background-color:#ffb739;
}


#flow_table th img{
	width:22px;
}

#flow_table td{
	box-sizing:border-box;
	padding:25px 50px;
	border-top:1px solid #e9e9e9;
}

#flow_table td h2{
	margin:0 0 30px;
	font-size:40px;
	line-height:1.2;
	font-weight:600;
}

#flow_table td h3{
	margin:0 0 15px;
	font-size:28px;
	line-height:1.2;
	font-weight:600;
}

#flow_table td h3.small{
	font-size:18px;
}

#flow_table td p{
	margin:0 0 30px;
	text-align:justify;
	font-size:18px;
	line-height:1.5;
}

#flow_table td p.small{
	font-size:15px;
	font-weight:300;
	line-height:1.3;
}

#flow_table td .bg{
	padding:80px 0 0;
	background-image:url("../img/interface/ico_arrow_down.png");
	background-repeat:no-repeat;
	background-size:50px;
	background-position:top left 80px;
}

#flow_table td ul.icon{
	margin:0 0 40px;
	padding:0;
	list-style-type:none;
	font-size:16px;
	font-weight:500;
	color:#2a374a;
	overflow:hidden;
}

#flow_table td ul.icon li{
	float:left;
	margin:0 30px 0 0;
}

#flow_table td ul.icon li img{
	width:100px;
	margin:0 0 10px;
}

#flow_table td .point{
	display:flex;
}

#flow_table td .point p{
	width:160px;
	height:160px;
	box-sizing:border-box;
	margin:0 20px 20px 0;
	padding:40px 20px;
	text-align:center;
	font-size:16px;
	font-weight:500;
	border:4px solid #ffe139;
	border-radius:50%;
}


@media only screen and (max-width:767px){
	#sub_title_area{
		padding:25px 20px;
	}
	
	#sub_title_area p{
		font-size:20px;
	}
	
	#project_flow_area{
		padding:60px 20px 70px;
	}
	
	#project_flow_area h1{
		margin:0 0 40px;
		padding:0 0 40px;
		font-size:28px;
		background-size:25px;
	}
	
	#project_flow_area>p{
		margin:0 auto 40px;
		font-size:15px;
		line-height:1.7;
	}
	
	#flow_table{
		margin:0 0 40px;
	}
	
	#flow_table th{
		width:40px;
		padding:20px 10px;
	}
	
	#flow_table th img{
		width:15px;
	}
	
	#flow_table td{
		padding:20px 0 20px 20px;
	}
	
	#flow_table td h2{
		font-size:30px;
	}
	
	#flow_table td h3{
		font-size:22px;
	}
	
	#flow_table td h3.small{
		font-size:18px;
	}
	
	#flow_table td p{
		font-size:15px;
		line-height:1.5;
	}
	
	#flow_table td p.small{
		font-size:14px;
	}
	
	#flow_table td .bg{
		padding:60px 0 0;
		background-size:40px;
		background-position:top left 60px;
	}
	
	#flow_table td ul.icon{
		margin:0 0 30px;
		font-size:14px;
	}
	
	#flow_table td ul.icon li{
		width:49%;
		margin:0 1% 0 0;
		text-align:left;
	}
	
	#flow_table td ul.icon li img{
		width:90px;
	}
	
	#flow_table td .point{
		flex-wrap:wrap;
		justify-content:center;
	}
	
	#flow_table td .point p{
		width:140px;
		height:140px;
		margin:0 10px 10px 0;
		padding:35px 10px;
		font-size:14px;
	}
}

#competitions_contents_area{
	max-width:1050px;
	margin:0 auto;
	padding:100px 40px 20px;
}

#competitions_contents_area a.btn_a{
	margin:0 auto;
}

#competitions_contents_area h2{
	margin:0 0 70px;
	padding:0 0 70px;
	text-align:center;
	font-size:35px;
	font-weight:700;
	line-height:1.2;
	background-image:url("../img/interface/ico_circle.png");
	background-repeat:no-repeat;
	background-size:35px;
	background-position:bottom center;
}

#competitions_contents_area img{
	width:100%;
	margin:0 0 70px;
}

#competitions_contents_area p{
	max-width:750px;
	margin:0 auto 50px;
	text-align:justify;
	font-size:18px;
	line-height:1.9;
}

#competitions_class_area{
	max-width:1050px;
	margin:0 auto;
	padding:100px 40px 120px;
}

#competitions_class_area a.btn_a{
	margin:0 auto 30px;
}

#competitions_class_area h2{
	margin:0 0 70px;
	padding:0 0 70px;
	text-align:center;
	font-size:35px;
	font-weight:700;
	line-height:1.2;
	background-image:url("../img/interface/ico_circle.png");
	background-repeat:no-repeat;
	background-size:35px;
	background-position:bottom center;
}

#competitions_class_area p{
	max-width:750px;
	margin:0 auto 50px;
	text-align:justify;
	font-size:18px;
	line-height:1.9;
}


@media only screen and (max-width:767px){
	#competitions_contents_area{
		padding:60px 20px 20px;
	}
	
	#competitions_contents_area h2{
		margin:0 0 40px;
		padding:0 0 40px;
		font-size:27px;
		background-size:25px;
	}
	
	#competitions_contents_area img{
		margin:0 0 30px;
	}
	
	#competitions_contents_area p{
		margin:0 auto 40px;
		font-size:15px;
		line-height:1.7;
	}
	
	#competitions_class_area{
		padding:60px 20px 120px;
	}
	
	#competitions_class_area a.btn_a{
		margin:0 auto 20px;
	}
	
	#competitions_class_area h2{
		margin:0 0 40px;
		padding:0 0 40px;
		font-size:28px;
		background-size:25px;
	}
	
	#competitions_class_area p{
		margin:0 auto 40px;
		font-size:15px;
		line-height:1.7;
	}
}

#movies_contents_area{
	display:flex;
	flex-wrap:wrap;
	max-width:1200px;
	margin:0 auto;
	padding:100px 20px 150px;
}

#movies_contents_area div{
	width:33.33333333%;
	box-sizing:border-box;
	padding:0 20px 60px;
}

#movies_contents_area div img{
	width:100%;
	border-top:10px solid #000;
	border-bottom:10px solid #000;
}

#movies_contents_area div h2{
	margin:5px 0 0;
	padding:0 20px 0 0;
	font-size:18px;
	font-weight:600;
	line-height:1.2;
	color:#000;
	background-image:url("../img/interface/ico_arrow_right.png");
	background-repeat:no-repeat;
	background-size:15px;
	background-position:right center;
}

#movies_contents_area div a:hover{
	text-decoration:none;
}

@media only screen and (max-width:767px){
	#movies_contents_area{
		padding:60px 20px 120px;
	}
	
	#movies_contents_area div{
		width:100%;
		padding:0 0 30px;
	}

}


#entry_contents_area{
	padding:100px 40px 150px;
}

@media only screen and (max-width:767px){
	#entry_contents_area{
		padding:60px 20px 120px;
	}

}

