@charset "utf-8";
/*共通*/
html * {
	margin: 0;
	padding: 0;
}
body {
	font-family: sans-serif;
	font-size: 16px;
	line-height: 1.5;
	background-color: #fff;
}
section, header, article, footer, aside, nav, hgroup, figure, figcaption, main {
	display: block;
	width: 100%;
	height: auto;
	margin-left: auto;
	margin-right: auto;
	overflow: hidden;
}
img {
	max-width: 100%;
	vertical-align:bottom;
}
.none {display: none;}

/* #all_frame */
#all_frame {
	/* max-width: 1900px; */
	margin: 0 auto;
	overflow-x: hidden;
}
/* header */
header {
	width: 100%;
	background-color: #010066;
	padding: 1% 0 0 0;
}
/* main */
#top_bg{position: relative;}
/* 
text-shadow: 2px 2px 0px #fff,
-2px 2px 0px #fff,
2px -2px 0px #fff,
-2px -2px 0px #fff,
2px 0px 0px #fff,
0px 2px 0px #fff,
-2px 0px 0px #fff,
0px -2px 0px #fff;
}
*/

#main, #catch {margin: 0 auto;}

/* pankuzu */
#pankuzu {
	margin: 1% auto;
	font-size: 0.9em;
}

div#catch p {
	max-height:784px;
	text-align: center;
}

#main,main {
	width: 100%;
	height: auto;
}

#catch h2 {
	text-align: center;
	margin: 0 auto;
}

#catch h3 {margin: 15% auto 5% auto;}

nav {
	width: 100%;
	height: 48px;
	margin: 0 auto;
	background-color: #F2F2F2;
}

nav ul {
	margin: 0 auto;
	width: 1020px;
}
nav ul li {
	list-style: none;
	float: left;
}

/******************* footer ***********************/
footer {
	width: 100%;
	padding: 0.5% 0% 0% 0%;
	background-color: #010066;
}
#footer_wrap {
	width: 100%;
	margin: 0 auto;
	background-color: #fff;
	padding-top: 1%;
	padding-bottom: 0;
}

#footer_wrap > div {
	max-width: 1200px;
	margin: 0 auto;
}
#footer_wrap p, #footer_wrap ul {list-style-type: none;}

#ico_fb {text-align: right;}

#management {
	padding: 0 0 2% 0;
	display: flex;

}

#management dl {
	display: flex;

}
.logo {
	text-align:center;
}
#sponsorship_wrap {
	width:60%;
}

.sponsorship,
.sponsorship2 {
	display:flex;
	margin:1% auto 0;
	align-items: center;
	flex-wrap: wrap;
}
.sponsorship p {
	width: 28%;
	margin: 2.5%;
}
.sponsorship2 p {
	width: 16%;
	margin:2.5% 2%;
}

#footer_box {
	width:40%;
	/* padding-top: 15.5%; */
	padding: 13.5% 0 0 5%;
}
#footer_box dt {
	margin: 0;
	white-space: nowrap;
	width: 12%;
	margin-bottom: 0.5em;
	/* text-align: right; */
	letter-spacing: 0.1em;
}
#footer_box dd {
	margin: 0;
	width: 88%;
	margin-bottom: 0.5em;
}
#footer_box dl#special dt {
	width: 20%;
}
#footer_box dl#special dd {
	width: 80%;
}
hr {
	border: #010066 0.5px solid;
	clear: both;
}
hr.white {
	border: #fff 0.5px solid;
	margin: 0 0 3px 0;
}
address {
	padding: 0.5% 0 0.5% 0;
	clear: both;
	font-family: 'メイリオ', sans-serif;
	font-style: normal;
	text-align: center;
	background-color: #F2F2F2;
}

.strong_r {
	color: red;
	font-weight: bold;
}

/* ページ上部へ戻るボタン　*/
#gotoTop {
	width: 60px;
	height: 60px;
	position: fixed;
	left: auto;
	bottom: 20px;
	right: 30px;
/*	margin: 0 0 0 900px;*/
	padding: 0;
	display: none;
	cursor: pointer;
	z-index: 1;
}

.news_box_text {padding-bottom: 1px;}

.no_click {
	position: relative;
	z-index: 1;
}

.no_click::after {
	position: absolute;
	content: "";
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: rgba(0,0,0,0.3);
	z-index: 2;
}

.no_click a {pointer-events: none;}

.logo {
	width: 220px;
	margin: 0 auto;
}

.logo img {
	width: 100%;
}

.sponsorship_big {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.sponsorship_big_item {
	width: 40%;
	margin: 5% 0;
}

.sponsorship_big_item img {
	width: 100%;
	vertical-align: bottom;
}

#meet {
	width: fit-content;
	margin: auto 1em 2em;
}

/* レスポンシブ ============================================================= */
@media screen and (min-width: 641px) {
	/*　ホバー指定　*/
	a:hover img, img#gotoTop {
		opacity: 0.6;
		filter: alpha(opacity=60);
	}
	img#gotoTop:hover {
		opacity: 1;
		filter: alpha(opacity=100);
	}

	#meet {margin: auto auto 2em;}

	.pc_non {display: none;}
}

@media screen and (min-width: 960px) {
	.menu_non {display: none;}
}


@media screen and (max-width: 1100px) {
	#management {
		padding: 0 0 2% 0;
		display: block;
	}

	#sponsorship_wrap {
		width:100%;
		margin:1% auto 0;
	}

	#footer_box {
		width:80%;
		margin:1% auto 0;
		padding: 0;
	}

	#ico_fb {
		padding: 0;
		width: 10%;
		margin:1% auto;
	}
	#management {
		margin: 0 auto;
		width: 90%;
	}
	#management p {text-align: center;}
	#management ul {padding: 0 0 5% 0;}
	#management ul li {margin: 0 auto;}
}

@media screen and (max-width: 959px) {
/*SPメニュー*/
	#Sp_menu {
		width: 100%;
		clear: both;
	}
	#Sp_menu ul {
		width: 100%;
		list-style-type: none;
		margin: 0;
		padding: 0;
	}
	#Sp_menu ul li {
		border: 1px solid #F8F627;
		padding-left: 0.5em;
		height: 2em;
		letter-spacing: 0.5em;
		margin-bottom: 0.2em;
		line-height: 200%;
		color: #fff;
		background-color: rgba(8,95,247,1.00);
	}
	#Sp_menu ul li a:link, #Sp_menu ul li a:visited, #Sp_menu ul li a:hover, #Sp_menu ul li a:active {
		color: #fff;
		display: block;
	}
	#button_2 {
		display: inline-block;
		width: 20%;
		text-align: center;
		text-decoration: none;
		line-height: 200%;
		outline: none;
		float: right;
		background-color: #fff;
		color: #000;
		margin-bottom: 0.2em;
		margin-right: 0.2em;
		border-radius: 6px;
	}
	#button_2:hover {
		background-color: #F8F627;
	}
	#button_2 ::before, #button_2 ::after {
		position: absolute;
		z-index: -1;
		display: block;
		content: '';
	}
	#button_2, #button_2 ::before, #button_2 ::after {
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
		-webkit-transition: all .3s;
		transition: all .3s;
	}

	nav {display: none;}
}
@media screen and (max-width: 640px) {
	#catch p {padding: 0;}

	section#main {
		background-size: 310%;
		background-position: 40% 22%;
	}

	#catch h3 {margin: 0;}
	#catch p img {vertical-align:bottom;}
	.pc_non {display: block;}
	.sp_none {display: none;}

	footer, #footer_wrap {height: auto;}

	#footer_box {width:100%;}
}
