@charset "UTF-8";
/* CSS Document */
html{
	scrollbar-gutter: stable;
}
html.is_open{
	overflow: hidden;
}
body {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-weight: 500;
	font-style: normal;
}
main,header{
	width: 100%;
	max-width: 700px;
	margin: 0 auto;
}
a {text-decoration: none;}
a img{transition: opacity .3s ease;}
a:hover img{opacity: .5;}

ul{list-style: none;}
img{max-width: 100%;}
.mb_2{margin-bottom: 2em;}

:root{
	--main: #008c50;
	--back: #d7e597;
	--light-back: #f7f7cf;
	--accent: #f39800;
	--text: #333333;
}

body.page_serious{
	--main: #96e600;
	--sub: #5ac800;
}
@media screen and (max-width: 710px){
	.sp_none{display: none;}}
@media screen and (min-width: 711px){
	.pc_none{display: none;}}

/*----------------------------------------------
page_index　総合トップページ
----------------------------------------------*/
body.page_index{
	text-align: center;
	main,header{
		color:  var(--text);
		background-color: var(--back);
	}
	img{
		width: 100%;
		height: auto;
	}
	.mv_title img{
		width: 80%;
		height: auto;
		margin-top: -2.3em;
	}
	.mv_catch{
		font-size: 2em;
		font-weight: 600;
		margin-top: 1em;
	}
	.entry_date img,
	.entry_title img{
		width: 60%;
		height: auto;
		margin: 1.8em 0 3em;
	}
	ul.entry_btn{
		width: 85%;
		height: auto;
		margin: 1em auto 0;
		display: flex;
		justify-content: space-between;
		gap: .5em;
		li{
			min-width: 0;
		}
	}
	.entry_caption{
		font-size: .9em;
		margin-bottom: 3em;
	}
	.style{
		.style_list{
			margin: -.8em 0 -.2em;
			padding: 1.5em 0;
			background-color: var(--main);
		}
	}
	.info{
		background-image: url("images/index_light_back.png");
		background-size: cover;
		.info_wrap{
			display: flex;
			justify-content: center;
			align-items: center;
			padding: 0 2em;
			.guest,
			.volunteer{
				flex: 1;
			}
		}
		.guest img,.volunteer img{
			margin-bottom: 1.5em;
		}
		.outline_title2{
			margin-bottom: -.8em;
		}
	}
	.outline{
		padding: 2em 3em;
		.wrap{
			background-color: #fff;
			padding: 2em;
			border-radius: 10px;
			.outline_title img{
				max-height: 45px;
				width: auto;
				max-width: 100%;
				margin-bottom: 1em;
			}
			dl.outline_list{
				text-align: left;
				dt{
					color: var(--main);
					background-color: var(--light-back);
					padding: .5em;
					font-size: 1.1em;
					font-weight: 600;
					letter-spacing: .1em;
				}
				dd{
					padding: .5em .5em 1em;
				}
			}
		}
		.outline_btn img{
			width: 65%;
			height: auto;
			margin: 2em auto 0;
		}
	}
	.sponsor{
		padding: 2em 3em 4em;
		.wrap{
			background-color: #fff;
			padding: 2em;
			border-radius: 10px;
			.sponsor_title img{
				max-height: 45px;
				width: auto;
				max-width: 100%;
				margin-bottom: 1em;
			}
			.sponsor_list{
				margin: 0 auto;
				display: flex;
				flex-wrap: wrap;
				justify-content: space-around;
				a{width: 23%;}
			}
		}
	}
}

@media screen and (max-width: 710px){
body.page_index{
	.mv_title img{
		margin-top: -1em;
	}
	.mv_catch{
		font-size: 1.4em;
		line-height: 1.5em;
		margin-top: .5em;
	}
	.entry_date img,
	.entry_title img{
		width: 80%;
		margin-top: 1.5em;
	}
	ul.entry_btn{
		width: 95%;
		gap: 0;
	}
	.style{
		.style_list{
			padding: .5em 0;
		}
	}
	.info{
		.info_wrap{
			flex-direction: column;
			gap: 0;
			padding: 0;
		}
		.guest img,.volunteer img{
			margin-bottom: .5em;			
			width: 90%;
		}
	}
	.outline{
		padding: 2em 1.5em;
		width: 100%;
		.wrap{
			dl.outline_list{
				dt{
					font-size: 1em;
				}
			}
		}
		.outline_btn img{
			width: 90%;
			height: auto;
		}
	}
	.sponsor{
		width: 100%;
		padding: 2em 1.5em;
		.wrap{
			.sponsor_list{
				a{width: 48%;}
			}
		}
	}
}
}

/*----------------------------------------------
page_family　ファミリー・エンジョイ派
----------------------------------------------*/
body.page_family{
	text-align: center;
	background-color: var(--light-back);
	main,header{
		color: var(--text);
		background-color: var(--light-back);
	}
	header{
		color: #fff;
		background-color: var(--main);
		display: flex;
		align-items: center;
		padding: .8em 2em;
		.header_logo img{
			width: auto;
			height: 60px;
			margin-right: 1.5em;
		}
		.header_title{
			text-align: left;
			font-size: 1em;
			line-height: 1.5em;
			.header_title_sub{
			display: block;
				font-size: 1.4em;
			}
		}
	}
	img{
		width: 100%;
		height: auto;
	}
	.mv{
		margin: 2.5em 0 -12.5em;
	}
	.course{
		.course_title img{
			width: 85%;
		}
		.course_text{
			width: 80%;
			margin: -8em auto 0;
		}
		padding-bottom: .8em;
	}
	.map{
		margin: -.5em 0 0;
		background-color: #fff;
		.map_img{
			position: relative;
		}
		.map_item{
			display: none;
			margin: 0;
			img{
				width: 80%;
				height: auto;
			}
		}
		.map_item.is_active{
			display: block;
		}
		.map_tab{
			display: flex;
			justify-content: center;
			gap: 1em;
			padding: 1em 0 2em;
			li{
				flex: 1;
				max-width: 180px;
			}
		}
		.map_tab_btn{
			display: block;
			position: relative;
			width: 100%;
			padding: 0;
			border: none;
			background-color: transparent;
			cursor: pointer;
			img{
				display: block;
				width: 100%;
				height: auto;
				transition: opacity .3s ease;
			}
			.active{
				position: absolute;
				top: 0;
				left: 0;
				opacity: 0;
			}
		}
		.map_tab_btn.is_active{
			.normal{ opacity: 0; }
			.active{ opacity: 1; }
		}
	}
	.merit{
		background-color: var(--main);
		.merit_list{
			width: 80%;
			height: auto;
			margin: -22em auto 0;
			padding-bottom: 5em;
			img{
				margin-bottom: 2em;
			}
		}
	}
	.voice{
		margin: -8em 0 0;
		.voice_list{
			margin: -.8em 0 0;
			background-image: url("images/enjoy_voice_back.png");
			background-size: contain;
			background-repeat: repeat;
			padding-bottom: 8em;
			img{
				width: 80%;
				height: auto;
				margin-bottom: -8em;
			}
		}
	}
	.point{
		padding: 2em 0 0;
		background-color: var(--light-back);
		.point_title{
			width: 80%;
			height: auto;
			margin: 0 auto;
		}
		.point_list img{
			width: 85%;
			margin-bottom: 2em;
		}
	}
	.gourmet{
		background-color: var(--main);
		.gourmet_title{margin-bottom: -3.5em;}
		.gourmet_lead{
			color: #fff;
			font-weight: 600;
			font-size: 1.5em;
			line-height: 1.8em;
			margin-bottom: 1em;
		}
		.gourmet_list{
			img{
				width: 80%;
				height: auto;
			}
			p{
				color: #fff;
				font-weight: 600;
				font-size: 1.2em;
				margin-top: .5em;
				padding-bottom: 2em;
			}
		}
	}
	.outline{
		margin-top: -.5em;
		background-image: url("images/enjoy_outline_back.png");
		background-size: cover;
		padding: 7em 0 5em;
		.outline_title img{
			width: 40%;
			height: auto;
			margin-bottom: 1em;
		}
		dl.outline_list{
			dt img{
				max-width: 220px;
				height: auto;
			}
			dd{
				font-size: 1.3em;
				font-weight: 600;
				padding: .3em 0 2em;
			}
		}
		.outline_btn{
			img{
			width: 55%;
			height: auto;
			}
		}
	}
	.entry{
		margin-top: -2em;
		.entry_title{
			margin-top: -7em;
			img{
			width: 55%;
			height: auto;
			}
		}
		.entry_btn{
			background-color: var(--back);
			margin-top: 2em;
			li a img{
				width: 85%;
				height: auto;
			}
		}
		.entry_caption{
			background-color: var(--back);
			padding-bottom: 2em;
		}
	}
}

@media screen and (min-width: 1400px){
	body.page_family{
		background-image:
			url("images/side_enjoy_back_left.png"),
			url("images/side_enjoy_back_right.png");
		background-position:
			left bottom,
			right bottom;
		background-repeat: no-repeat;
		background-attachment: fixed;
		background-size: auto;
	}
}

@media screen and (max-width: 710px){
body.page_family{
	header{
		height: 80px;
		padding: .5em 1.5em;
		.header_logo img{
			width: 100px;
			height: auto;
			margin-right: 1em;
		}
		.header_title{
			font-size: .8em;
			line-height: 1.3em;
			.header_title_sub{
			display: block;
				font-size: 1.2em;
			}
		}
	}
	.mv{
		margin: 1.5em 0 -7em;
	}
	.course{
		.course_title img{
			width: 90%;
		}
		.course_text{
			width: 90%;
			margin: -5em auto 0;
		}
	}
	.map{
		.map_tab{
			width: 90%;
			margin: 0 auto;
			gap: 0;
			padding: 1em 0;
		}
	}
	.merit{
		.merit_list{
			width: 90%;
			margin: -11em auto 0;
			padding-bottom: 5em;
		}
	}
	.voice{
		margin: -7em 0 0;
		.voice_list{
			padding-bottom: 5em;
			img{
				width: 90%;
				margin-bottom: -5em;
			}
		}
	}
	.point{
		.point_list img{
			width: 100%;
		}
	}
	.gourmet{
		.gourmet_title{margin-bottom: -1.5em;}
		.gourmet_lead{
			font-size: 1.2em;
			line-height: 1.5em;
		}
		.gourmet_list{
			img{width: 90%;}
			p{font-size: 1em;}
		}
	}
	.outline{
		margin-top: -.5em;
		padding: 5em 0 5em;
		.outline_title img{
			width: 50%;
			margin-bottom: 1em;
		}
		dl.outline_list{
			dt img{max-width: 50%;}
			dd{
				font-size: 1em;
				font-weight: 600;
				padding: .2em 0 1.2em;
			}
		}
		.outline_btn{
			img{width: 75%;}
		}
	}
	.entry{
		margin-top: -2em;
		.entry_title{
			margin-top: -3em;
			img{
				width: 55%;
				height: auto;
			}
		}
		.entry_btn{
			background-color: var(--back);
			margin-top: 1em;
		}
	}
	}
}

@media screen and (max-width: 430px){
body.page_family{
	header{
		padding: .5em 1.5em;
		.header_logo img{
			width: 80px;
			height: auto;
			margin-right: .8em;
		}
		.header_title{
			font-size: .7em;
			line-height: 1.3em;
			.header_title_sub{
			display: block;
				font-size: 1.2em;
			}
		}
	}
	}}
/*----------------------------------------------
page_serious　ガチラン・シリアス派
----------------------------------------------*/
body.page_serious{
	text-align: center;
	background-color: #000;
	main,header{
		background-color: #fff;
	}
	header{
		color: #fff;
		background-color: #000;
		display: flex;
		align-items: center;
		padding: .8em 2em;
		.header_logo img{
			width: auto;
			height: 60px;
			margin-right: 1.5em;
		}
		.header_title{
			color: var(--main);
			text-align: left;
			font-size: 1em;
			line-height: 1.5em;
			span{
				color: #fff;
			}
			.header_title_sub{
			display: block;
				font-size: 1.4em;
			}
		}
		.globalMenuSp{
			a{color: #000;}
		}
	}
	img{
		width: 100%;
		height: auto;
	}
	.hamburger.is_scrolled span{
		background-color: #000;
	}
	.side_left{
		.side_style_list li a img{
			margin-bottom: 1em;
		}
		.side_btn{
			margin-bottom: 2em;
		}
	}
	.mv{
		background-color: var(--main);
	}
	.course{
		margin-top: -.5em;
		padding: 1em 2em 2.5em;
		font-size: 1.34em;
		font-weight: 600;
		line-height: 1.7em;
		text-align: left;
		background-color: var(--main);
	}
	.map{
		background-image: url("images/serious_map_title.png");
		background-size: contain;
		padding: 3em 0 2em;
		.map_img{
			position: relative;
		}
		.map_item{
			display: none;
			margin: 0;
			img{
				width: 100%;
				height: auto;
			}
		}
		.map_item.is_active{
			display: block;
		}
		.map_tab{
			display: flex;
			justify-content: center;
			gap: 1em;
			padding: 1em 0 2em;
			li{
				flex: 1;
				max-width: 120px;
			}
		}
		.map_tab_btn{
			display: block;
			position: relative;
			width: 100%;
			padding: 0;
			border: none;
			background-color: transparent;
			cursor: pointer;
			img{
				display: block;
				width: 100%;
				height: auto;
				transition: opacity .3s ease;
			}
			.active{
				position: absolute;
				top: 0;
				left: 0;
				opacity: 0;
			}
		}
			img.serious_arrow_l{
				width: 80px;
				height: auto;
			}
		.map_tab_btn.is_active{
			.normal{ opacity: 0; }
			.active{ opacity: 1; }
		}
	}
	.spec{
		background-image: url("images/serious_spec_back.png");
		background-size: cover;
		background-color: #000;
		padding: 5em 2em 12em;
		.spec_title{
			width: 90%;
			height: auto;
			margin: 0 auto 3em;
		}
		.spec_list img{
			width: 90%;
			height: auto;
			margin: 0 auto 3em;
		}
	}
	.training{
		position: relative;
		background-color: #000;
		background-image: url("images/serious_training_back.png");
		background-repeat: no-repeat;
		background-size: 100% auto;
		.training_title img{
			margin: -8em 0 0;
			width: 85%;
			height: auto;
		}
		.training_list{
			position: relative;
			z-index: 1;
			margin: -25em 0 0;
			padding: 8em 0 0;
			img{
				width: 80%;
				height: auto;
				margin: 0 auto 2em;
			}
		}
	}
	.voice{
		background-image: url("images/serious_voice_back.png");
		background-size: contain;
		background-repeat: repeat;
		.voice_title{
			padding: 1em;
			img{
				width: 90%;
				height: auto;
			}
		}
		.voice_list img{
			width: 80%;
			height: auto;
			margin: -4em auto 2em;
		}
		.serious_arrow_s{
			width: 60px;
			height: auto;
			margin-bottom: 3em;
		}
	}
	.gourmet{
		padding: 5em 0 3em;
		background-image: url("images/serious_bonus_back.png");
		background-position: left -9em;
		background-repeat: no-repeat;
		background-size: 100% auto;
		.gourmet_title{
			width: 65%;
			height: auto;
			margin: 0 auto 1em;
		}
		.gourmet_lead{
			font-size: 1.8em;
			font-weight: 600;
			margin-bottom: 1.5em;
		}
	}
	.outline{
		background-color: #000;
		margin-top: -.5em;
		padding: 3em 0;
		.outline_title{
			width: 45%;
			height: auto;
			margin: 0 auto 1em;
		}
		dl.outline_list{
			font-size: 1.2em;
			dt{
				color: var(--main);
				letter-spacing: .3em;
				text-indent: .3em;
			}
			dt::after{
				content: "";
				display: block;
				width: 2.5em;
				height: 2px;
				margin: .3em auto .5em;
				background-color: var(--main);
			}
			dd{
				color: #fff;
				padding-bottom: 1.5em;
			}
		}
		.outline_btn img{
			width: 50%;
			height: auto;
			margin: 1.5em auto;
		}
	}
	.entry{
		background-image: url("images/serious_entry_back.png");
		background-size: contain;
		background-repeat: repeat;
		padding: 3em 0;
		.entry_title img{
			width: 80%;
			height: auto;
			margin-bottom: 1em;
		}
		.entry_btn li img{
			width: 80%;
			height: auto;
			margin-bottom: 1em;
		}
		.entry_caption{
			color: #fff;
		}
	}
		footer{
		background-color: #008c50;
	}
}

@media screen and (max-width: 710px){
body.page_serious{
	header{
		padding: .8em 1.5em;
		.header_logo img{
			width: auto;
			height: 35px;
			margin-right: 1em;
			margin-top: .2em;
		}
		.header_title{
			font-size: .8em;
			line-height: 1.2em;
			span{
				color: #fff;
			}
			.header_title_sub{
			display: block;
				font-size: 1em;
			}
		}
	}
	.course{
		margin-top: -.5em;
		padding: 1em 2em 2em;
		font-size: 1.1em;
		line-height: 1.5em;
	}
	.map{
		padding: 2em 0;
		.map_tab{
			li{
				max-width: 100px;
			}
		}
			img.serious_arrow_l{
				width: 50px;
				height: auto;
		}
	}
	.spec{
		padding: 2em 1em 20em;
		background-size: contain;
		.spec_title{
			width: 95%;
			height: auto;
			margin: 0 auto 2em;
		}
		.spec_list img{
			margin: 0 auto 2em;
		}
	}
	.training{
		margin-top: -2.5em;
		.training_title img{
			margin: -23em 0 0;
		}
		.training_list{
			margin: -16em 0 0;
		}
	}
	.voice{
		.voice_title{
			padding: 0;
		}
		.voice_list img{
			width: 80%;
			height: auto;
			margin: -1em auto 1em;
		}
		.serious_arrow_s{
			margin-bottom: 2em;
		}
	}
	.gourmet{
		padding: 3em 0;
		background-position: left -4.5em;
		.gourmet_lead{
			font-size: 1.5em;
		}
	}
	.outline{
		dl.outline_list{
			dd{
				font-size: .9em;
			}
		}
		.outline_btn img{
			width: 70%;
			height: auto;
			margin: 1em auto .5em;
		}
	}
	.entry{
		padding: 2em 0;
		.entry_title img{
			margin-bottom: .5em;
		}
	}
}}

@media screen and (max-width: 710px) and (min-width: 641px){
body.page_serious{
	.training{
		.training_title img{
			margin: -11em 0 0;
		}
		.training_list{
			margin: -23em 0 0;
		}
	}
}
}

@media screen and (max-width: 640px) and (min-width: 561px){
body.page_serious{
	.training{
		.training_title img{
			margin: -12em 0 0;
		}
		.training_list{
			margin: -21.5em 0 0;
		}
	}
}
}

@media screen and (max-width: 560px) and (min-width: 491px){
body.page_serious{
	.training{
		.training_title img{
			margin: -12em 0 0;
		}
		.training_list{
			margin: -20em 0 0;
		}
	}
}
}

@media screen and (max-width: 490px) and (min-width: 381px){
body.page_serious{
	.training{
		.training_title img{
			margin: -13em 0 0;
		}
		.training_list{
			margin: -18em 0 0;
		}
	}
}
}
/*----------------------------------------------
募集要項
----------------------------------------------*/
body.page_guideline{
	text-align: center;
		background-color: var(--light-back);
	main{color: var(--text);}
	header{
		color: #fff;
		background-color: var(--main);
		display: flex;
		align-items: center;
		padding: .8em 2em;
		.header_logo img{
			width: auto;
			height: 60px;
			margin-right: 1.5em;
		}
		.header_title{
			text-align: left;
			font-size: 1em;
			line-height: 1.5em;
			.header_title_sub{
				display: block;
				font-size: 1.4em;
			}
		}
	}
	img{
		width: 100%;
		height: auto;
	}
	.hamburger{
		background-color: var(--main);
	}
	.intro{
		.intro_title img{
			margin: 2em auto 1em;
			width: 80%;
			height: auto;
		}
		.intro_meta img{
			width: 45%;
			height: auto;
			margin-bottom: 2em;
		}
		.intro_catch{
			font-weight: 500;
			font-size: 1.1em;
			margin-bottom: 2em;
		}
		.intro_venue{
			font-weight: 700;
			font-size: 1.2em;
			text-align: left;
			margin-bottom: 2em;
			padding: 1em 1.5em;
			display: flex;
			gap: 3em;
			justify-content: center;
			align-items: center;
			background-color: #fff;
			border-radius: 10px;
			span{
				color: var(--main);
				font-size: 1.3em;
				padding-right: 2em;
				border-right: solid 1px #000;
			}
		}
	}
	.guideline,
	.event,
	.notice,
	.guideline_entry,
	.access,
	.terms,
	.privacy,
	.contact{
			margin: 1em auto;
			padding: 1em 1.8em;
			background-color: #fff;
			border-radius: 10px;
		.guideline_title,
		.event_title,
		.notice_item_title,
		.guideline_entry_title,
		.access_title,
		.terms_title,
		.privacy_title,
		.contact_title{
			color: var(--main);
			margin: 1em auto .5em;
		}
		.guideline_table{
			text-align: left;
			font-weight: 400;
			line-height: 1.5em;
			width: 100%;
			border-collapse: collapse;
			th{
				width: 20%;
				color: var(--main);
				vertical-align: top;
				padding: 1.5em 1em 1.5em .5em;
				border-bottom: solid 1px #bcbcbc;
			}
			td{
				width: 80%;
				font-size: .95em;
				padding: 1.5em 0;
				border-bottom: solid 1px #bcbcbc;
				.guideline_note{
					color: #686868;					
					display: block;
					font-size: .95em;
					margin-top: .8em;
					line-height: 1.8em;
				}
				a{
					color: var(--main);
					border-bottom: solid 1px var(--main);
				}
				ol{
					padding-left: 1.2em;
				}
			}
			tr:last-child{
				th,td{border-bottom: none;}
			}
		}
	}
	.event{
		.event_note{
			text-align: center;
			font-size: .9em;
			font-weight: 500;
			line-height: 1.7em;
			margin: 1em 0 1.5em;
		}
		.event_group{
			.event_cat{
				font-size: 1.4em;
				margin-bottom: .2em;
			}
			.event_info{
				font-size: 1.1em;
				margin-bottom: .5em;
			}
			.event_table{
			width: 100%;
			border-collapse: collapse;
				margin-bottom: 2em;
			caption{
				text-align: center;
				margin-bottom: 2em;
			}
			thead{color: var(--main);}
			th{
				font-size: .9em;
				line-height: 1.1em;
				background-color: var(--light-back);
				}
			td{font-size: .9em;}
			th,td{
				border: solid 1px #bcbcbc;
				padding: .5em .2em;
			}
		}
		}
	}
	.notice p{
		text-align: left;
		line-height: 1.8em;
		margin-bottom: 2em;
	}
	.guideline_entry{
		.guideline_entry_date{
			font-size: 2em;
			font-weight: 600;
			margin-bottom: .5em;
		}
		.entry_caption{
			margin-bottom: 1em;
		}
		.entry_btn{
			margin-bottom: 1.5em;
			li a img{
			width: 60%;
			height: auto;
			}
		}
	}
	.access{
		.access_sub_title{
			margin-bottom: 1.5em;
		}
		.access_list{
			width: 100%;
			margin-bottom: 2em;
			text-align: left;
			.access_item{
				margin-bottom: 2em;
				.access_line{
					color: var(--main);
					font-weight: 600;
					font-size: 1.1em;
					padding-bottom: .5em;
					margin-bottom: .8em;
					border-bottom: solid 1px #bcbcbc;
				}
				.access_route{
					li{
						position: relative;
						padding-left: 1.2em;
						line-height: 1.8em;
						margin-bottom: .8em;
					}
					li::before{
						content: "";
						position: absolute;
						top: .65em;
						left: 0;
						border-style: solid;
						border-width: .35em 0 .35em .55em;
						border-color: transparent transparent transparent var(--main);
					}
					li:last-child{
						margin-bottom: 0;
					}
				}
			}
			.access_item:last-child{
				margin-bottom: 0;
			}
		}
	}
	.terms{
		.terms_lead{
			margin: 1em 0 1.5em;
		}
		.terms_list{
			padding: 0 1em 0 2.2em;
			text-align: left;
			font-size: .85em;
			margin-bottom: 1.5em;
			li{
				margin-bottom: 1em;
			}
		}
	}
	.privacy{
		.privacy_text{
			padding: 0 1em;
			text-align: left;
			font-size: .9em;
			margin: 1.5em auto;
			line-height: 2em;
		}
	}
	.contact{
		padding-bottom: 2.5em;
		margin-bottom: 2em;
		.contact_box{
			.contact_org{
				font-size: 1.5em;
				font-weight: 600;
			}
			.contact_tel{
				font-size: 2em;
				font-weight: 600;
			}
			.contact_time{
				margin-bottom: 1em;
			}
			.contact_address{
				font-style: normal;
				i{margin-left: .5em;}
			}
			.contact_tel a,
			.contact_address a{
				color: var(--main);
			}
			
		}
	}
}

@media screen and (max-width: 710px){
body.page_guideline{

	.intro{
		.intro_title img{
			margin: 1.5em auto .8em;
			width: 90%;
		}
		.intro_meta img{
			width: 50%;
			margin-bottom: 1.5em;
		}
		.intro_catch{
			padding: 0 1.5em;
			font-weight: 500;
			font-size: 1em;
		}
		.intro_venue{
			width: 90%;
			margin: 0 auto;
			text-align: center;
			font-weight: 600;
			font-size: 1em;
			flex-direction: column;
			gap: .5em;
			span{
				padding-right: 0;
				border-right: solid 0px #000;
			}
		}
	}
	.guideline,
	.event,
	.notice,
	.guideline_entry,
	.access,
	.terms,
	.privacy,
	.contact{
			width: 90%;
			margin: 1em auto;
			padding: 1em 1.3em;
		.guideline_title,
		.event_title,
		.notice_item_title,
		.guideline_entry_title,
		.access_title,
		.terms_title,
		.privacy_title,
		.contact_title{
			margin: .5em auto .2em;
		}
		.guideline_table{
			th,td {
				display: block;
				width: 100%;
			}
			th{
				padding: 1em .5em 0;
				border-bottom: solid 0px #bcbcbc;
			}
			td{
				padding: .5em .5em 1em;
				border-bottom: solid 1px #bcbcbc;
				.guideline_note{
					color: #686868;					
					display: block;
					font-size: .95em;
					margin-top: .8em;
					line-height: 1.8em;
				}
			}
		}
	}
	.event{
		.event_note{
			text-align: left;
		}
		.event_table{
			width: 100%;
			border-collapse: collapse;
			caption{
				text-align: center;
				margin-bottom: 2em;
			}
			thead{color: var(--main);}
			th{line-height: 1.3em;}
			td{font-size: .9em;}
			th,td{
				border: solid 1px #bcbcbc;
				padding: 1em .5em;
			}
		}
	}
	.notice p{
		padding: 0 .5em;
		margin: .5em 0 1em;
	}
	.guideline_entry{
		.guideline_entry_date{
			font-size: 1.5em;
			margin: .5em 0;
		}
		.entry_btn{
			margin-bottom: 1em;
			li a img{
			width: 100%;
			}
		}
	}
	.access{
		padding: 1em 1.5em;
		.access_sub_title{
			margin-bottom: 1.5em;
		}
		.access_list{
			margin-bottom: 1em;
			.access_item{
				.access_line{
					text-align: center;
				}
			}
		}
	}
	.privacy{
		.privacy_text{
			line-height: 1.8em;
		}
	}
	.contact{
		.contact_box{
			padding-bottom: 1em;
			.contact_org{
				margin-top: 1em;
				font-size: 1.2em;
			}
			.contact_tel{
				font-size: 1.5em;
				margin: .5em 0 0;
			}
			
		}
	}
}
}
/*----------------------------------------------
side
----------------------------------------------*/
.side_left,
.side_right{
	display: none;
}
@media screen and (min-width: 1400px){
	.side_left,
	.side_right{
		display: block;
		position: fixed;
		top: 50%;
		transform: translateY(-50%);
		z-index: 10;
		width: 240px;
	}
	.side_left{
		width: 300px;
		right: calc(50% + 350px + 3em);
		text-align: right;
	}
	.side_right{
		width: 200px;
		left: calc(50% + 350px + 3em);
		text-align: left;
	}
	.side_left img,
	.side_right img{
		width: auto;
		max-width: 100%;
	}
	.side_style_title{
		margin-bottom: .5em;
	}
	.side_style_list li{
		margin-bottom: 0em;
	}
	.side_btn{
		margin-top: 1em;
		li{
			margin-bottom: .5em;
		}
	}
}

/*----------------------------------------------
drawer
----------------------------------------------*/
.header{
	position: relative;
}
/*　ハンバーガーボタン　*/
.hamburger{
	position: fixed;
	top: 1em;
	right: max(1em, calc(50% - 350px + 1em));
	z-index: 100;
	width: 50px;
	height: 50px;
	padding: 0;
	border: none;
	border-radius: 50%;
	background-color: transparent;
	cursor: pointer;
	transition: background-color .3s ease;
	span{
		display: block;
		position: absolute;
		left: 50%;
		width: 26px;
		height: 3px;
		margin-left: -13px;
		background-color: #fff;
		border-radius: 2px;
		transition: .3s ease;
	}
	span:nth-child(1){ top: 16px; }
	span:nth-child(2){ top: 24px; }
	span:nth-child(3){ top: 32px; }
}
/*　スクロール後に背景色　*/
.hamburger.is_scrolled{
	background-color: var(--main);
}
/*　開いている時は「×」　*/
body.is_open .hamburger{
	span:nth-child(1){
		top: 24px;
		transform: rotate(45deg);
	}
	span:nth-child(2){
		opacity: 0;
	}
	span:nth-child(3){
		top: 24px;
		transform: rotate(-45deg);
	}
}

/*　メニュー本体　*/
.globalMenuSp{
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 99;
	width: auto;
	max-width: 700px;
	height: 100%;
	margin: 0 auto;
	padding: 6em 2em 2em;
	background-color: var(--main);
	transform: translateY(-100%);
	visibility: hidden;
	transition: transform .4s ease, visibility .4s;
	overflow-y: auto;
	ul{
		margin: 0;
		padding: 0;
	}
	li{
		border-bottom: solid 1px rgba(255,255,255,.3);
	}
	a{
		display: block;
		padding: 1.2em .5em;
		color: #fff;
		font-size: 1.1em;
		font-weight: 600;
		transition: .3s ease;
		i{
			margin-left: .5em;
}
	}
	a:hover{
		color: var(--main);
		background-color: #fff;
	}
}
/*　開いている時　*/
body.is_open{
	.globalMenuSp{
		transform: translateY(0);
		visibility: visible;
	}
}
@media screen and (min-width: 1400px){
	.hamburger,
	.globalMenuSp{
		display: none;
	}
	body.page_guideline{
		.hamburger,
		.globalMenuSp{
			display: block;
		}
	}
}

/*----------------------------------------------
footer
----------------------------------------------*/
footer{
	width: 100%;
	padding: 2em;
	background-color: var(--main);
	text-align: center;
	img{
		max-width: 200px;
	}
}
@media screen and (max-width: 710px){
footer{
	padding: 1em;
	img{
		max-width: 40%;
	}
}
}
.copyright {
    display: block;
    text-align: center;
    padding: 1em;
    margin: 0;
}
/*topへ戻る*/
.pagetop {
	position: fixed;
	bottom: 1em;
    right: max(1em, calc(50% - 350px + 1em));
        z-index: 98;
        margin: 0;
        color: #FFF;
        background: var(--main);
        border-radius: 35px;
        a {
                color: #FFFF;
                display: grid;
                place-content: center;
                text-align: center;
                font-size: 1.4rem;
                text-decoration: none;
                width: 50px;
                height: 50px;
                filter: alpha(opacity=100);
                opacity: 1;
                line-height: 2.75;
                transition: 0.3s all ease;
                border-radius: 35px;
                img {
					width: 80%;
					height: auto;
					padding: 0 0 0 .5em;
                }
        }
        a:hover {
                color: #eb6032;
                background: #FFF;
                text-align: center;
                text-decoration: none;
                filter: alpha(opacity=100);
                opacity: 1;
                transition: 0.3s all ease;
                border-radius: 35px;
 }
}

/*----------------------------------------------
固定バナー
----------------------------------------------*/
.fixed_bnr{
	display: none;
}
@media screen and (max-width: 710px){
	.fixed_bnr{
		position: fixed;
		left: 50%;
		bottom: 0;
		z-index: 90;
		width: 100%;
		max-width: 700px;
		padding: 0 0 .2em 0;
		display: flex;
		justify-content: center;
		align-items: flex-end;
		transform: translateX(-50%);
		a{
			display: block;
		}
		.fixed_bnr_entry{
		}
		.fixed_bnr_top{
		}
		img{
			display: block;
			width: 100%;
			height: auto;
		}
	}
	body.page_family,
	body.page_serious{
		padding-bottom: 80px;
	}
}
