@charset "utf-8";


/*==================================================
  Common
==================================================*/




/*==================================================
  Cover
==================================================*/
.cover{
	background: url(../images/bg.png) repeat;
	background-attachment: fixed;
	background-color: #ffffff;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	position: relative;
}


.cover_mask{
	background-color: rgba(255,255,255,0.5);
	width: 100%;
	margin: 0;
	padding: 0;
	border-bottom: solid 80px #fff100;
	box-sizing: border-box;
	position: relative;
}


.main_image{
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	text-align: center;
	position: absolute;
	top: 0;
	left: 0;
}


.main_image .pc_img{
	display: block;
	margin: 0 auto;
	padding: 0;
}
.main_image .sp_img{
	display: none;
	width: 100%;
	margin: 0 auto;
	padding: 0;
}




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

	.cover_mask{
		border-bottom: none;
	}


	.main_image{
		position: relative;
		top: auto;
		left: auto;
	}


	.main_image .pc_img{
		display: none;
	}
	.main_image .sp_img{
		display: block;
	}

}




/*==================================================
  TopInfo
==================================================*/
.top_info{
	font-family: 'M PLUS Rounded 1c';
	background-color: #a8cd26;
	width: 100%;
	margin: 0;
	padding: 0;
	border-bottom: solid 40px #fff100;
	box-sizing: border-box;
	position: relative;
}


.top_info_inner{
	max-width: 1080px;
	margin: 0 auto;
	padding: 0 40px 10px 40px;
	box-sizing: border-box;
	text-align: center;
}


.top_info_inner h3{
	font-weight: 500;
	font-size: 5.0rem;
	line-height: 1.5;
	color: #ffffff;
	margin: 0;
	padding: 0 0 10px 0;
}


.top_info_inner p{
	font-weight: 500;
	font-size: 2.4rem;
	line-height: 1.5;
	color: #ffffff;
	margin: 0;
	padding: 0;
}


.top_info_inner div.true_false{
	background-color: #ff0000;
	font-family: 'Noto Sans JP';
	font-weight: 700;
	font-size: 1.8rem;
	line-height: 1.3;
	color: #ffffff;
	max-width: 500px;
	margin: 17px auto 0 auto;
	padding: 15px;
	box-sizing: border-box;
	text-align: center;
}
.top_info_inner div.true_false span{
	display: block;
	margin: 0;
	padding: 0 0 5px 0;
}


.top_info_inner p.sdgs_logo{
	max-width: 500px;
	margin: 0 auto;
	padding: 17px 0;
}
.top_info_inner p.sdgs_logo span{
	display: block;
	max-width: 500px;
	margin: 0 auto;
	padding: 3px 0;
}
.top_info_inner p.sdgs_logo img{
	width: 100%;
}




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

	.top_info_inner h3{
		font-size: 4.0rem;
	}


	.top_info_inner p{
		font-size: 2.0rem;
	}

}




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

	.top_info{
		border-bottom: solid 20px #fff100;
	}


	.top_info_inner h3{
		font-size: 2.0rem;
		padding: 0 0 5px 0;
	}


	.top_info_inner p{
		font-size: 1.6rem;
	}


	.top_info_inner div.true_false{
		font-size: 1.6rem;
		line-height: 1.2;
		color: #ffffff;
		width: calc(100% - 20px);
		margin: 10px auto 0 auto;
		padding: 10px;
	}


	.top_info_inner p.sdgs_logo{
		max-width: 400px;
		padding: 10px 10px 5px 10px;
	}

}




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

	.top_info_inner h3{
		font-size: 1.6rem;
	}


	.top_info_inner p{
		font-size: 1.4rem;
	}

}




/*==================================================
  Contents
==================================================*/
.contents{
	background: url(../images/bg.png) repeat;
	background-attachment: fixed;
	font-family: 'M PLUS Rounded 1c';
	width: 100%;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}


.contents_mask{
	background-color: rgba(255,255,255,0.7);
	width: 100%;
	min-height: 100vh;
	margin: 0;
	padding: 40px 0;
	position: relative;
}


.contents_inner{
	max-width: 1280px;
	margin: 0 auto;
	padding: 20px 40px;
	box-sizing: border-box;
}


.contents_info1{
	max-width: 1000px;
	margin: 0 auto;
	padding: 0 0 20px 0;
	box-sizing: border-box;
}
.contents_info1 img{
	width: 100%;
}


.contents_info2{
	background-color: #1d8233;
	width: 100%;
	margin: 50px 0 0 0;
	padding: 25px;
	border-radius: 10px;
	box-sizing: border-box;
}
.contents_info2 p{
	font-weight: 700;
	font-size: 2.2rem;
	line-height: 1.5;
	color: #ffffff;
	width: 100%;
	margin: 0;
	padding: 5px;
	box-sizing: border-box;
	text-align: center;
}


.content_board{
	background-color: rgba(255,255,255,0.9);
	width: 100%;
	margin: 0;
	padding: 40px;
	border-radius: 20px;
	box-shadow: 0 0 8px 0 rgba(0,0,0,0.5);
	box-sizing: border-box;
}


.content_board h3{
	background-color: #333333;
	font-weight: 500;
	font-size: 4.0rem;
	line-height: 1.5;
	color: #ffffff;
	margin: 0;
	padding: 5px 0;
	text-align: center;
}


.content_box{
	width: 100%;
	margin: 0;
	padding: 0 0 30px 0;
	box-sizing: border-box;
}


.content_box h4{
	font-weight: 500;
	font-size: 3.6rem;
	line-height: 1.5;
	color: #333333;
	margin: 0;
	padding: 50px 0 10px 0;
}


.poster_wrap{
	width: 100%;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
.poster_wrap a{
	width: 100%;
	padding: 0;
}
.poster_wrap a img{
	width: 100%;
	padding: 0;
}


.content_detail{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	background-color: #ffffff;
	width: calc(100% - 50px);
	margin: 0 0 0 30px;
	padding: 15px 30px;
	border: solid 3px #a8cd26;
	border-radius: 10px;
	box-sizing: border-box;
	position: relative;
}
.content_detail::before {
	content: "";
	margin-top: -12px;
	border: 12px solid transparent;
	border-right: 12px solid #ffffff;
	position: absolute;
	top: 33%;
	left: -24px;
	z-index: 2;
}
.content_detail::after {
	content: "";
	margin-top: -14px;
	border: 14px solid transparent;
	border-right: 14px solid #a8cd26;
	position: absolute;
	top: 33%;
	left: -30px;
	z-index: 1;
}


.content_detail div{
	width: 100%;
	margin: 20px 0 0 0;
	padding: 10px 0 0 0;
	border-top: dotted 2px #dddddd;
}


.content_detail p{
	font-family: 'ROBOTO', 'Noto Sans JP';
	font-weight: 400;
	font-size: 1.8rem;
	line-height: 1.7;
	color: #333333;
	width: 100%;
	margin: 0;
	padding: 10px 0;
}
.content_detail p a{
	color: #1d8233;
	text-decoration: underline;
}
.content_detail p a:hover{
	color: #ff9900;
	text-decoration: underline;
}
.content_detail p.content_detail_txt{
	width: calc(100% - 120px);
}
.content_detail p.qr_code{
	width: 100px;
}
.content_detail p.qr_code img{
	width: 100px;
}


.info_txt{
	font-family: 'ROBOTO', 'Noto Sans JP';
	font-weight: 400;
	font-size: 1.6rem;
	line-height: 1.3;
	color: #333333;
	margin: 0;
	padding: 5px 0;
}


.dl_btn{
	display: block;
	background-color: #333333;
	font-family: 'ROBOTO', 'Noto Sans JP';
	font-weight: 700;
	font-size: 1.6rem;
	line-height: 1.5;
	color: #ffffff;
	width: 100%;
	margin: 15px 0 0 0;
	padding: 10px 0;
	border: solid 2px #333333;
	text-align: center;
}
.dl_btn:hover{
	background-color: #fff100;
	color: #1d8233;
	border: solid 2px #1d8233;
}


.entry_btn{
	display: block;
	background-color: #a8cd26;
	font-family: 'ROBOTO', 'Noto Sans JP';
	font-weight: 700;
	font-size: 1.6rem;
	line-height: 1.5;
	color: #ffffff;
	width: 100%;
	margin: 15px 0 0 0;
	padding: 10px 0;
	border: solid 2px #a8cd26;
	text-align: center;
}
.entry_btn:hover{
	background-color: #fff100;
	color: #1d8233;
	border: solid 2px #1d8233;
}




.artists{
	display: flex;
	flex-wrap: wrap;
	background-color: #a8cd26;
	width: 100%;
	margin: 10px 0;
	padding: 5px;
	box-sizing: border-box;
}


.artists h4{
	font-weight: 500;
	font-size: 3.0rem;
	line-height: 1.5;
	color: #333333;
	width: 100%;
	margin: 0;
	padding: 100px 0;
	text-align: center;
}


.artist{
	width: calc(100% / 3);
	margin: 0;
	padding: 5px;
	box-sizing: border-box;
}
.artist img{
	width: 100%;
}

.artist_name{
	background-color: #ffffff;
	font-family: 'ROBOTO', 'Noto Sans JP';
	font-weight: 700;
	font-size: 1.8rem;
	line-height: 25px;
	color: #000000;
	width: 100%;
	margin: 0;
	padding: 15px 0 0 0;
	text-align: center;
}
.artist_name span{
	font-size: 1.4rem;
	padding: 0 0 0 5px;
	vertical-align: middle;
}

.artist_time{
	background-color: #ffffff;
	font-family: 'ROBOTO', 'Noto Sans JP';
	font-weight: 700;
	font-size: 1.6rem;
	line-height: 25px;
	color: #666666;
	width: 100%;
	margin: 0;
	padding: 0 0 10px 0;
	text-align: center;
}
.artist_time span{
	font-size: 1.4rem;
}




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

	.content_detail p.content_detail_txt{
		width: 100%;
	}
	.content_detail p.qr_code{
		width: 100%;
		text-align: center;
	}


	.artist{
		width: calc(100% / 2);
	}

}




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

	.contents_mask{
		padding: 0 0 20px 0;
	}


	.contents_inner{
		padding: 20px;
	}


	.contents_info1{
		padding: 0;
	}


	.contents_info2{
		margin: 30px 0 0 0;
		padding: 15px;
	}
	.contents_info2 p{
		font-size: 1.8rem;
	}


	.content_board{
		padding: 25px;
	}


	.content_board h3{
		font-size: 2.2rem;
		padding: 10px 0;
	}


	.content_box{
		padding: 0 0 20px 0;
	}


	.content_box h4{
		font-size: 2.2rem;
		padding: 30px 0 5px 0;
	}


	.content_detail{
		width: calc(100% - 30px);
		margin: 0 0 0 15px;
		padding: 5px 15px;
	}


	.content_detail p{
		font-weight: 400;
		font-size: 1.4rem;
	}


	.dl_btn{
		font-size: 1.4rem;
		margin: 10px 0;
	}


	.artist{
		width: 100%;
	}

}




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

	.contents_info2 p{
		font-size: 1.6rem;
	}


	.content_board h3{
		font-size: 1.8rem;
	}


	.content_box h4{
		font-size: 1.8rem;
		padding: 30px 0 5px 0;
	}


	.dl_btn{
		font-size: 1.2rem;
	}


	.artist p{
		font-size: 1.4rem;
	}

}




/*==================================================
  Access
==================================================*/
.access{
	background-color: #ffffff;
	width: 100%;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}


.access h3{
	background-color: #fff100;
	font-family: 'M PLUS Rounded 1c';
	font-weight: 700;
	font-size: 3.0rem;
	line-height: 1.5;
	color: #1d8233;
	width: 100%;
	margin: 0;
	padding: 15px 0;
	text-align: center;
}


.access_inner{
	max-width: 1080px;
	margin: 0 auto;
	padding: 20px 40px 40px 40px;
	box-sizing: border-box;
}


.access_inner dl{
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	margin: 0;
	padding: 30px 0;
	border-bottom: dotted 2px #dddddd;
}


.access_inner dl dt{
	font-weight: 700;
	font-size: 1.6rem;
	line-height: 1.5;
	color: #1d8233;
	width: 200px;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}


.access_inner dl dd{
	font-weight: 400;
	font-size: 1.6rem;
	line-height: 1.5;
	color: #333333;
	width: calc(100% - 200px);
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
.access_inner dl dd a{
	display: inline-block;
	color: #1d8233;
	margin: 0;
	padding: 10px 0 0 0;
}
.access_inner dl dd a i{
	padding: 0 5px 0 0;
	position: relative;
	top: 1px;
}
.access_inner dl dd a:hover{
	color: #ff9900;
	text-decoration: underline;
}


.access_inner h4{
	font-weight: 700;
	font-size: 2.0rem;
	line-height: 1.5;
	color: #1d8233;
	width: 100%;
	margin: 0;
	padding: 60px 0 20px 0;
	border-bottom: dotted 2px #1d8233;
	box-sizing: border-box;
}


.access_inner p{
	font-weight: 400;
	font-size: 1.6rem;
	line-height: 1.7;
	color: #333333;
	margin: 0;
	padding: 15px 0;
	box-sizing: border-box;
}
.access_inner p a{
	color: #1d8233;
	text-decoration: underline;
}
.access_inner p a:hover{
	color: #ff9900;
	text-decoration: underline;
}


/* --- Map --- */
#access_map{
	width: 100%;
	height: 600px;
	margin: 0;
	padding: 0;
	position: relative;
}


#access_map iframe,
#access_map object,
#access_map embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}




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

	.access_inner{
		padding: 15px 30px 30px 30px;
	}


	.access_inner dl dt{
		width: 100px;
	}


	.access_inner dl dd{
		width: calc(100% - 100px);
	}

}




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

	.access h3{
		font-size: 2.2rem;
		padding: 10px 0;
	}


	.access_inner dl dt{
		font-size: 1.4rem;
	}


	.access_inner dl dd{
		font-size: 1.4rem;
	}


	.access_inner h4{
		font-size: 1.6rem;
		padding: 30px 0 15px 0;
	}


	.access_inner p{
		font-size: 1.4rem;
		padding: 10px 0;
	}


	#access_map{
		height: 500px;
	}

}




/*==================================================
  Outline
==================================================*/
.outline{
	background: url(../images/bg.png) repeat;
	background-attachment: fixed;
	width: 100%;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}


.outline_mask1{
	background-color: #ffffff;
	width: 100%;
	margin: 0;
	padding: 0;
	position: relative;
}


.outline_mask h3{
	background-color: #fff100;
	font-family: 'M PLUS Rounded 1c';
	font-weight: 700;
	font-size: 3.0rem;
	line-height: 1.5;
	color: #1d8233;
	width: 100%;
	margin: 0;
	padding: 15px 0;
	text-align: center;
}


.outline_bg_dot{
	background-color: #ffffff;
	background-image:
		radial-gradient(#dddddd 10%, transparent 10%),
		radial-gradient(#dddddd 10%, transparent 10%);
	background-size: 20px 20px;
	background-position: 0 0, 10px 10px;
	width: 100%;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}


.outline_inner{
	max-width: 1080px;
	margin: 0 auto;
	padding: 20px 40px 40px 40px;
	box-sizing: border-box;
}


.outline_inner dl{
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	margin: 0;
	padding: 30px 0;
	border-bottom: dotted 2px #dddddd;
}


.outline_inner dl dt{
	font-weight: 700;
	font-size: 1.6rem;
	line-height: 1.5;
	color: #1d8233;
	width: 200px;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}


.outline_inner dl dd{
	font-weight: 400;
	font-size: 1.6rem;
	line-height: 1.5;
	color: #333333;
	width: calc(100% - 200px);
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}


.sponsor p{
	font-weight: 400;
	font-size: 1.6rem;
	line-height: 1.7;
	color: #333333;
	margin: 0;
	padding: 15px 0;
	box-sizing: border-box;
}




/*==================================================
  Sponsor
==================================================*/
.sponsor{
	background: url(../images/bg.png) repeat;
	background-attachment: fixed;
	width: 100%;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}


.sponsor_mask{
	background-color: rgba(255,255,255,0.7);
	width: 100%;
	margin: 0;
	padding: 0;
	position: relative;
}


.sponsor_mask h3{
	background-color: #fff100;
	font-family: 'M PLUS Rounded 1c';
	font-weight: 700;
	font-size: 3.0rem;
	line-height: 1.5;
	color: #1d8233;
	width: 100%;
	margin: 0;
	padding: 15px 0;
	text-align: center;
}


.sponsor_inner{
	max-width: 1280px;
	margin: 0 auto;
	padding: 40px;
	box-sizing: border-box;
}


.sponsor_inner h4{
	font-family: 'M PLUS Rounded 1c';
	font-weight: 700;
	font-size: 3.0rem;
	line-height: 1.5;
	color: #1d8233;
	width: 100%;
	margin: 0;
	padding: 15px 0;
	text-align: center;
}
.sponsor_inner h4 span{
	font-size: 1.8rem;
	padding: 0 0 0 10px;
}


.sponsor_a_box,
.sponsor_b_box{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	width: 100%;
	margin: 0;
	padding: 0 0 80px 0;
	box-sizing: border-box;
}


.sponsor_a_box p,
.sponsor_b_box p{
	display: inline-block;
	margin: 0;
	padding: 30px;
	box-sizing: border-box;
}
.sponsor_a_box p a,
.sponsor_b_box p a{
	display: block;
	margin: 0;
	padding: 0;
}
.sponsor_a_box p img,
.sponsor_a_box p a img{
	max-width: 280px;
	max-height: 65px;
	object-fit: cover;
}
.sponsor_b_box p img,
.sponsor_b_box p a img{
	max-width: 200px;
	max-height: 46px;
	object-fit: cover;
}




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

	.sponsor_inner{
		padding: 20px;
	}


	.sponsor_a_box p,
	.sponsor_b_box p{
		padding: 15px;
	}


	.sponsor_a_box p img,
	.sponsor_a_box p a img{
		max-width: 200px;
		max-height: 46px;
	}
	.sponsor_b_box p img,
	.sponsor_b_box p a img{
		max-width: 140px;
		max-height: 32px;
	}

}




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

	.sponsor_mask h3{
		font-size: 2.2rem;
		padding: 10px 0;
	}


	.sponsor_inner{
		padding: 15px 10px;
	}


	.sponsor_b_box p img,
	.sponsor_b_box p a img{
		max-width: 120px;
		max-height: 28px;
	}

}




/*==================================================
  Contact
==================================================*/
.contact{
	background-color: #ffffff;
	width: 100%;
	margin: 0;
	padding: 0;
	border-top: dotted 2px #dddddd;
	box-sizing: border-box;
}


.contact_inner{
	max-width: 1080px;
	margin: 0 auto;
	padding: 40px 40px 30px 40px;
	box-sizing: border-box;
	text-align: center;
}


.contact_box{
	display: inline-block;
	margin: 0 auto;
	padding: 30px 80px;
	border: solid 4px #e62e8b;
	box-sizing: border-box;
}


.contact_box h3{
	font-weight: 700;
	font-size: 2.6rem;
	line-height: 1.5;
	color: #e62e8b;
	width: 100%;
	margin: 0;
	padding: 0 0 10px 0;
	text-align: center;
}


.contact_box h4{
	font-weight: 700;
	font-size: 1.6rem;
	line-height: 1.5;
	color: #333333;
	width: 100%;
	margin: 0;
	padding: 10px 0 5px 0;
	text-align: center;
}
.contact_box h4 span{
	padding: 0;
}
.contact_box h4 span.contact_pc{
	padding: 0 10px;
}


.contact_box p{
	font-weight: 400;
	font-size: 1.6rem;
	line-height: 1.5;
	color: #333333;
	width: 100%;
	margin: 0;
	padding: 10px 0;
	text-align: center;
}
.contact_box p a{
	font-weight: 700;
	color: #e62e8b;
	text-decoration: underline;
}
.contact_box p a:hover{
	color: #ff9900;
}




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

	.contact_box h4 span{
		display: block;
		padding: 0 0 5px 0;
	}
	.contact_box h4 span.contact_pc{
		display: none;
	}

}




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

	.contact_inner{
		padding: 20px 20px 10px 20px;
	}


	.contact_box{
		padding: 20px;
		border: solid 3px #e62e8b;
	}


	.contact_box h3{
		font-size: 2.0rem;
	}


	.contact_box h4{
		font-size: 1.4rem;
	}


	.contact_box p{
		font-size: 1.4rem;
	}

}




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

	.contact_inner{
		padding: 10px 10px 5px 10px;
	}


	.contact_box{
		padding: 15px;
	}

}
