@charset "utf-8";
/* =Reset default browser CSS.
Based on work by Eric Meyer:http://meyerweb.com/eric/tools/css/reset/index.html
-------------------------------------------------------------- */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td{border:0;font-family:inherit;font-size:100%;font-style:inherit;font-weight:inherit;margin:0;outline:0;padding:0;vertical-align:baseline;}
:focus{outline:0;}

ol, ul{list-style:none;}
table{border-collapse:separate;border-spacing:0;}
caption, th, td{font-weight:normal;text-align:left;}
blockquote:before, blockquote:after,q:before, q:after{content:"";}
blockquote, q{quotes:"" "";}
a img{border:0;}
figure{margin:0}

/* -------------------------------------------------------------- */
body{
color:#555;
font-size:13px;
font-family:verdana,"ヒラギノ丸ゴ ProN W4","Hiragino Maru Gothic ProN","メイリオ","Meiryo","ＭＳ Ｐゴシック","MS PGothic",Sans-Serif;
line-height:1.5;
-webkit-text-size-adjust:100%;
width: 100%;
	box-sizing: border-box;
	height: auto;
}



/* 全体
------------------------------------------------------------*/
	/* 959px以下に適用されるCSS（タブレット用） */

@media screen and (max-width: 1199px) {

	img {
    max-width: 100%;
    height: auto;
}

.inner_h{
    margin: 0 auto;
	width: 100%;
    box-sizing: border-box;
}	
	
.inner {
    margin: 0 auto;
	width: 100%;
    box-sizing: border-box;
}

#main {
	margin: 0 auto;
	width: 100%;
    overflow: hidden;
    box-sizing: border-box;
	padding: 5px;
}	

#class {
	margin: 0 auto;
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	padding: 5px;
	box-sizing: border-box;
}

#alert {
	margin: 0 auto;
	width: 95%;
}

#news iframe {
	margin: 0 auto;
	width: 100%;
}


	
#contents {
	margin: 10px auto;
	width: 100%;
	box-sizing: border-box;
}
	
#contents ul {
	width: 100%;
    justify-content: space-around;
	box-sizing: border-box;
}
	
#contents ul li{
	width:260px;
}
	
.banner-container3 {
	width: 100%;
	box-sizing: border-box;
}

.item1,
.item1_L0	{
	margin: 5px;
	height:75px;
}
	
.item1_L0	{
	width:auto;
	height:75px;
}	
	

header {
	width: 100%;
	box-sizing: border-box;
	position:fixed;
	z-index:2;
		top:0;
		left:0;
	}

	
	
h1 a {
	position: absolute;
	background: url(../img/logo2.png) 0 0 no-repeat;
	left: 10px;
	width: 260px;
}
	
.troudou img{
	width: 60px;
	position: absolute;
	top:10px;
	left: 260px;
}
	
header li a.bcenter,
header li a.bleft,
header li a.bright {
	height: 30px;
	font-size: 14px;
}
	
/*header ul {
    position: absolute;
	right: 50%;
    top: 20px;
	box-sizing: border-box;	
}*/
footer.top_f {
	display: none; 
	
}

#footer-logo{
	max-width:100%;
	height: auto;
}
	
#footer-logo img{
	max-width:90%;
	height: auto;
}
	
.img-frame {
    margin-top: 70px;
	height: 120px;
}
	
.msg{	
	width: 90%;
	font-size: 20px;
}
nav {
		background:#000071;
}
nav ul {
		margin:0;
		padding:0;
		}

	nav .inner > ul {
		z-index:2;
		overflow:auto;
		position:fixed;
		top:53px;
		right:0;
		width:100%;
		height:88%;
		height:-webkit-calc(100% - 53px);
		height:calc(100% - 53px);
	}
nav li {
		position:relative;
		width:100%;
		float:none;
		margin:0;
		text-align:left;
		list-style:none;
	    border-bottom:1px solid #204B22;
		background:#4CAF50;
}

	nav li:first-child {
		border-top:0;
	}
	nav li:last-child {
		border-bottom:0;
	}
	nav li a {
		display:block;
		padding:10px 30px;
		color:#fff;
		text-decoration:none;
		background:#4CAF50;
	}
	nav li a:hover {
		color:#fff;
		background: #204B22;
	}
	nav ul ul {
		display:none;
		position:relative;
	}
	nav li li a {
		box-sizing:border-box;
		width:100%;
		padding:10px 30px 10px 50px;
		text-align:left;
	}

	nav li li li a {
		padding:10px 30px 10px 70px;
	}

	.subnav > a:before {
		display:block;
		content:"";
		position:absolute;
		-webkit-transform:rotate(45deg);
		transform:rotate(45deg);
		top:20px;
		right:30px;
		width:10px;
		height:10px;
		margin-top:-5px;
		background:#f1f1f1;
	}
	.subnav > a:after {
		display:block;
		content:"";
		position:absolute;
		-webkit-transform:rotate(45deg);
		transform:rotate(45deg);
		top:20px;
		right:30px;
		width:10px;
		height:10px;
		margin-top:-10px;
		background:#4CAF50;
}
.subnav a:hover:after {
	  background:#204B22;
	}
	.active > a:before {
		margin-top:0;
	}
	.active > a:after {
		margin-top:5px;
	}

	.gnav {
		display:none;
	}
	
	.sub_open {
		display:block;
	}
	

	#spMenu {
		display:block;
		z-index:2;
		position:fixed;
		top:10px;
		right:10px;
		overflow: auto;
		height: 100vh;
}
	#spMenu:hover {
		cursor:pointer;
	}

	#navBtn {
		display:inline-block;
		position:relative;
		width:30px;
		height:30px;
		border-radius:5%;
		background:#4CAF50;
	}
	#navBtnIcon {
		display:block;
		position:absolute;
		top:50%;
		left:50%;
		width:14px;
		height:2px;
		margin:-1px 0 0 -7px;
		background:#f1f1f1;
		transition:.2s;
	}
	#navBtnIcon:before,
	#navBtnIcon:after {
		display:block;
		content:'';
		position:absolute;
		top:50%;
		left:0;
		width:14px;
		height:2px;
		background:#f1f1f1;
		transition:0.3s;
	}
	#navBtnIcon:before {
		margin-top:-6px;
	}
	#navBtnIcon:after {
		margin-top:4px;
}

#navBtn .close {
		background:transparent;
	}
	#navBtn .close:before,
	#navBtn .close:after {
		margin-top:0;
	}
	#navBtn .close:before {
		transform:rotate(-45deg);
		-webkit-transform:rotate(-45deg);
	}
	#navBtn .close:after {
		transform:rotate(-135deg);
		-webkit-transform:rotate(-135deg);
	}
	
nav.shibu {
	display: none;
}		
	
footer.top_f {
	display: none; 
	
}

#footer-logo{
	max-width:100%;
	height: auto;
}
	
#footer-logo img{
	max-width:90%;
	height: auto;
}
	
.img-frame {
    margin-top: 70px;
	height: 120px;
}
	
.msg{	
	width: 90%;
	font-size: 20px;
}

.item1,
.item2,
.item1_L0 {
	flex-grow:0;
	margin:5px auto;
}	
	
}	


@media (min-width: 748px) {
.hide-pc {
    display: none;
  }
	


}

@media screen and (max-width: 748px) {
header div.sub_menu ul{
	display: none;	
}

#mysearch {
	width: 100%;
    display: block;
  }	

	
.msg{	
	width: 90%;
	font-size: 18px;
}		

}


@media screen and (max-width: 480px) {
	/* 480px以下に適用されるCSS（スマホ用） */

#mysearch{
		width: 100%;
}
	
.msg{	
	width: 90%;
	font-size: 16px;
}		
	
	
#class {
	display: block;
}

#class div.col {
	margin: 0px;
	margin-bottom: 20px;
	width: 100%;
}
	
h1 a {
	position: absolute;
	background: url(../img/logo2.png) 0 0 no-repeat;
	left: 10px;
	/*width: 260px;*/
	max-width: 250px;
}



#news h3,
#topic h3 {
  font-size: 16px;
	font-weight: bold;
}
	
#topic div{
	width: 100%;
	font-size: 16px;
}
	
#contents a {
  box-sizing: border-box;
  color: #111;
  display: block;
  font-size: 14px;
  font-weight: 700;
  height: 55px;
  line-height: 1.0;
  padding: 10px 0 0 60px;
  text-decoration: none;
}

footer {
	height: auto;
	width: 100%;
	overflow: hidden;
	box-sizing: border-box;
}
	
	
footer ul {
	display: block;
	width: 100%;
	box-sizing: border-box;
	flex-wrap: wrap;
}
	
	
	

}
