@charset "utf-8";
html{
	background:#fff url('../images/bg.png') repeat-x 0% 0%;
	margin:0;
	padding:0;
	overflow-y:scroll;
}
body{
	font-size:12px;
	font-family:sans-serif;
	margin:2%;
	padding:0;
	position:relative;
	text-align:center;
}
body *{
	padding:0;
	margin:0;
}
a:link{
	color:#01aa64;
	text-decoration:underline;
}
a:active{
	color:#3c9a34;
	text-decoration:none;
}
a:hover{
	color:#3c9a34;
	text-decoration:none;
}
a:visited{
	color:#3c9a34;
	text-decoration:underline;
}
#wrapper{
	border:#ccc solid 1px;
	color:#505050;
	line-height:1.6em;
	margin:0 auto;
	max-width:900px;
	overflow:hidden;
	padding:0;
	position:relative;
	width:100%;
}
#header{
	background:url('../images/title.gif') 50% 50% / cover #01a964 no-repeat;
	display:block;
	height:100%;
	max-height:168px;
	min-height:118px;
	overflow:hidden;
	position:relative;
}
#header #header-inner{
	clear:both;
	overflow:hidden;
	right:0;
	position:absolute;
	top:0;
	z-index:1;
}
#header #title{
	position:relative;
	z-index:0;
}
#header #title img{
	border-style:none;
	display:block;
	height:auto;
	width:100%;
}
#header #title-smart img{
	display:none;
}
#header h1{
	color:#fff;
	font-size:0.8em;
	font-weight:normal;
	line-height:1em;
	padding:0.5em;
	text-align:right;
}
#header h1 a{
	color:#fff;
}
#header h2{
	font-size:0.1em;
	overflow:hidden;
	text-indent:100%;
	white-space:nowrap;
}
#header p{
	color:#fff;
	text-align:right;
	font-size:1em;
	font-weight:bold;
	line-height:1em;
	margin:-20px 5px 0 0;
}
#header button{
	background:#e2e2e2; /* old browsers */
	background:-moz-linear-gradient(top, #e2e2e2 0%, #dbdbdb 50%, #d1d1d1 51%, #fefefe 100%); /* firefox */
	background:-webkit-gradient(linear, left top, left bottom, color-stop(0%,#e2e2e2), color-stop(50%,#dbdbdb), color-stop(51%,#d1d1d1), color-stop(100%,#fefefe)); /* webkit */
	filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#e2e2e2', endColorstr='#fefefe',GradientType=0 ); /* ie */
	border-radius:6px;
	-moz-border-radius:6px;
	-webkit-border-radius:6px;
	border:1px solid #e2e2e2;
	-moz-box-shadow:
		-1px -1px 2px rgba(000,000,000,0.3),
		inset 1px 1px 2px rgba(255,255,255,0.3);
	-webkit-box-shadow:
		-1px -1px 2px rgba(000,000,000,0.3),
		inset -1px -1px -2px rgba(255,255,255,0.3);
	text-shadow:
		1px 1px 1px rgba(000,000,000,0.1),
		1px 1px 1px rgba(255,255,255,0.1);
	color:#3b393b;
	cursor:pointer;
	font-size:1.1em;
	line-height:1em;
	margin:0.2em;
	padding:0.5em;
	position:relative;
}
#header button:hover{
	background:#ccc;
	color:#000;
}
#header button:active{
	background:#ccc;
	color:#000;
}
#nav-input{
	display:none;
}
/*チェックボックス等は非表示に*/
.nav-unshown {
	display:none;
}
#globalnavi{
	background-color:#01aa64;
	background:-moz-linear-gradient(top, #13bc76, #01a964);
	background:-webkit-gradient(linear, left top, left bottom, from(#13bc76), to(#01a964));
	display:flex;
	filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#13bc76', endColorstr='#01a964',GradientType=0 ); /* ie */
	justify-content:space-between;
	line-height:2em;
	list-style-type:none;
	margin:0;
	overflow:hidden;
	padding:0;
	position:relative;
	width:100%;
}
#globalnavi li{
	border-right:1px solid #009356;
	text-align:center;
	width:100%;
}
#globalnavi li a{
	background:#01aa64;
	background:-moz-linear-gradient(top, #13bc76, #01a964);
	background:-webkit-gradient(linear, left top, left bottom, from(#13bc76), to(#01a964));
	color:#fff;
	display:block;
	text-decoration:none;
	line-height:1em;
	padding:1em 0;
	text-align:center;
}
#globalnavi li a:hover{
	background-color:#13bc76;
	background:-moz-linear-gradient(top, #01a964, #13bc76);/* Firefox */
	background:-webkit-gradient(linear, left top, left bottom, from(#01aa64), to(#01a964));/* Safari,Chrome */
	color:#eee;
}
#container{
	margin:0;
	padding:2em 0 0 0;
	position:relative;
}
#contents{
	text-align:left;
	margin:1rem;
	padding:0;
	position:relative;
}
#contents h2{
	border-left:10px solid #01aa64;
	border-bottom:1px solid #01aa64;
	color:#01aa64;
	font-size:1.2em;
	font-weight:bold;
	margin:0 0 1.5em 0;
	padding:5px 0 5px 5px;
	text-align:left;
}
#contents h3,
#contents p{
	font-weight:normal;
	font-size:1em;
	line-height:1.6em;
	margin:0 0 1em 0;
	text-align:left;
}
#contents .topic-path{
	line-height:1.2em;
	margin:0 0 2em 0;
}
#contents #facility{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-around;
	margin:2em;
}
#contents #facility .box{
	margin:0;
	min-width:260px;
	overflow:hidden;
	padding:1em 0;
	width:30%;
}
#contents #facility .box p{
	font-size:0.9em;
	line-height:1.3em;
	margin:10px 0;
}
#contents #facility .box p span{
	display:block;
	font-size:1.2em;
	font-weight:bold;
	line-height:1.3em;
}
#contents #facility .box img{
	border-style:none;
}
#contents dl{
	margin:1em 2em;
}
#contents dt{
	font-weight:bold;
}
#contents dd{
	padding-left:2em;
}
#contents ul{
	margin:2em;
}
#contents li{
	margin:2em;
}
#contents .fadein{
	display:block;
	overflow:hidden;
	margin:40px auto;
	padding:0;
	position:relative;
	width:900px;
	height:350px;
}
#contents .fadein img{
	left:0;
	position:absolute;
	top:0;
}
#contents #access{
	margin:1em 2em;
	padding:0;
}
#contents #access iframe.map,
#contents #access object.map{
	border-width:0;
}
#contents #access img.map{
	height:0;
	visibility:hidden;
}
.map-responsive{
	height:0px;
	margin:1rem auto;
	overflow:hidden;
	padding:56.25% 0 0 0;
	position:relative;
	width:100%;
}
.map-responsive iframe{
	bottom:0;
	left:0;
	margin:auto;
	position:absolute;
	right:0;
	top:0;
	height:100%;
	width:100%;
}
.cal-responsive{
	height:0px;
	margin:1rem auto;
	overflow:hidden;
	padding:56.25% 0 0 0;
	position:relative;
	width:100%;
}
.cal-responsive iframe{
	bottom:0;
	left:0;
	margin:auto;
	position:absolute;
	right:0;
	top:0;
	height:100%;
	width:100%;
}
#contents #schedule{
	margin:1em 2em;
}
#contents #schedule a.cal{
	height:0;
	visibility:hidden;
}
#contents .wrapper{
	display:flex;
	flex-wrap:wrap;
	margin:0 0 2em 0;
	justify-content:space-between;
	position:relative;
}
#contents .wrapper > div{
	width:48%;
}
#contents #staff{
	align-items:center;
	display:flex;
	flex-wrap:wrap;
	margin:0 2em 1em 2em;
	justify-content:space-between;
	position:relative;
}
#contents .wrapper h4{
	font-size:1em;
	line-height:1.2em;
	margin:0;
	padding:2em 2em 0 0;
}
#contents h4.greeting{
	font-size:1em;
	line-height:1.2em;
	margin:1em 0 .5em 0;
	padding:0;
}
#contents .wrapper p{
	line-height:1.6em;
	margin:0;
	padding:1em 2em 0 0;
}
#contents #staff img{
	display:block;
	height:auto;
	margin:0;
	padding:0;
	width:48.5%;
}
#contents #staff .txt{
	padding:2em 0 0 2em;
}
#contents hr{
	border-width:1px 0 0 0;
	border-style:solid;
	border-color:#01aa64;
	display:block;
	height:1px;
	margin:1.5em 0;
	overflow:hidden;
	padding:5px 0 5px 5px;
	text-align:center;
}
#contents #recruit dl{
	clear:both;
	display:block;
	font-size:1em;
	margin:0 0 0 2em;
	padding:1em;
	text-align:left;
}
#contents #recruit dt{
	line-height:1.3em;
	margin:0;
	padding:0;
	text-align:left;
	width:5.2em;
}
#contents #recruit dd{
	height:1.3em;
	left:5.2em;
	line-height:1.3em;
	margin:0;
	position:relative;
	top:-1.3em; 
	padding:0; 
	text-align:left;
	width:99%;
}
#footer {
	background-color:#fff;
	background:-moz-linear-gradient(top, #ffffff, #e0f2f2);
	background:-webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#e0f2f2));
	width:100%;
	clear:both;
	display:block;
	font-size:0.8em;
	line-height:2.5em;
	margin:0;
	padding:4em 0 1em 0;
	text-align:center;
}
.clear{
	clear:both;
}
/* For modern browsers */
.cf:before,
.cf:after {
	content:'';
	display:table;
}
.cf:after {
	clear:both;
}
/*============================================
スマホ用
===========================================*/
@media only screen and (max-width:767px){
	body{
		margin:0;
	}
	#wrapper{
		border:#fff solid 0px;
		margin:0;
		min-width:0%;
		width:100%;
	}
	#header{
		height:auto;
		display:block;
		max-height:100%;
		position:relative;
	}
	#header #header-inner{
		background:#15bd78;
		display:block;
		position:relative;
		width:100%;
	}
	#header #title img{
		display:none;
	}
	#header #title-smart{
		display:block;
		line-height:1;
		margin:0;
		padding:0;
	}
	#header #title-smart img{
		border-style:none;
		display:block;
		margin:0;
		padding:0;
		position:relative;
		width:100%;
	}
	#header h1{
		display:inline-block;
		height:1px;
		line-height:1px;
		margin:0;
		overflow:hidden;
		left:0;
		padding:0;
		position:absolute;
		text-indent:100%;
		top:0;
		white-space:nowrap;
		width:1px;
	}
	#header .header-item{
		align-items:center;
		display:flex;
		justify-content:space-around;
	}
	#header h2{
		color:#fff;
		display:block;
		font-size:1em;
		line-height:1;
		margin:0 auto;
		padding:1.5rem 0;
		position:relative;
		text-align:center;
		text-indent:0;
	}
	#header h1 a,
	#header h2 a{
		color:#fff;
	}
	#header p{
		color:#fff;
		display:block;
		text-align:right;
		font-size:1em;
		font-weight:bold;
		line-height:1em;
		margin:0;
	}
	#header p button{
		background:#e2e2e2; /* old browsers */
		background:-moz-linear-gradient(top, #e2e2e2 0%, #dbdbdb 50%, #d1d1d1 51%, #fefefe 100%); /* firefox */
		background:-webkit-gradient(linear, left top, left bottom, color-stop(0%,#e2e2e2), color-stop(50%,#dbdbdb), color-stop(51%,#d1d1d1), color-stop(100%,#fefefe)); /* webkit */
		filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#e2e2e2', endColorstr='#fefefe',GradientType=0 ); /* ie */
		background:-o-linear-gradient(top, #e2e2e2 0%,#dbdbdb 50%,#d1d1d1 51%,#fefefe 100%); /* opera */
		border-radius:3px;
		border:1px solid #e2e2e2;
		-moz-box-shadow:
			-1px -1px 2px rgba(000,000,000,0.3),
			inset 1px 1px 2px rgba(255,255,255,0.3);
		-webkit-box-shadow:
			-1px -1px 2px rgba(000,000,000,0.3),
			inset -1px -1px -2px rgba(255,255,255,0.3);
		text-shadow:
			1px 1px 1px rgba(000,000,000,0.1),
			1px 1px 1px rgba(255,255,255,0.1);
		color:#3b393b;
		cursor:pointer;
		font-size:1.1em;
		line-height:1em;
		margin:0;
		padding:0.1rem;
		position:relative;
	}
	#header button:hover{
		background:#ccc;
		color:#000;
	}
	#header button:active{
		background:#ccc;
		color:#000;
	}



	#nav-drawer{
		background:rgba(255,255,255,.8);
		border-radius:3px;
		height:auto;
		left:2px;
		position:fixed;
		top:2px;
		z-index:5000;
	}
	/*アイコンのスペース*/
	#nav-open {
		display: inline-block;
		width: 24px;
		height: 20px;
		padding:5px 2px 2px 3px;
		vertical-align: middle;
	}
	/*ハンバーガーアイコンをCSSだけで表現*/
	#nav-open span, #nav-open span:before, #nav-open span:after {
		position: absolute;
		height: 3px;/*線の太さ*/
		width: 22px;/*長さ*/
		border-radius: 3px;
		background: #555;
		display: block;
		content: '';
		cursor: pointer;
	}
	#nav-open span:before {
		bottom: -7px;
	}
	#nav-open span:after {
		bottom: -14px;
	}
	/*閉じる用の薄黒カバー*/
	#nav-close {
		background:rgba(0,0,0,.8);
		color:#fff;
		display: none;/*はじめは隠しておく*/
		font-size:18px;
		position: fixed;
		top: 0;/*全体に広がるように*/
		left: 0;
		margin:0;
		width: 100%;
		height: 100%;
		opacity:0;
		text-align:right;
		transition: .3s ease-in-out;
		-webkit-transform:none;
		transform:none;
		z-index:6000;
	}
	#nav-close span{
		display:inline-block;
		width:6px;
	}
	/*中身*/
	#nav-content {
		background: #15bd78;
		height: 100%;
		max-width: 330px;/*最大幅（調整してください）*/
		overflow: auto;
		position: fixed;
		top: 0;
		left: 0;
		transition: .3s ease-in-out;/*滑らかに表示*/
		-webkit-transform: translate3d(-105%,0px,10px);
		transform: translate3d(-105%,0px,10px);/*左に隠しておく*/
		width: 90%;/*右側に隙間を作る（閉じるカバーを表示）*/
		z-index:7000;
	}
	/*チェックが入ったらもろもろ表示*/
	#nav-input:checked ~ #nav-close {
		display: block;/*カバーを表示*/
		opacity: 1;
	}
	#nav-input:checked ~ #nav-content {
		-webkit-transform:none;
		transform:none;
		box-shadow: 6px 0 25px rgba(0,0,0,.15);
	}



	#globalnavi{
		display:block;
		list-style-type:none;
		margin:0;
		overflow:hidden;
		padding:0;
		width:100%;
	}
	#globalnavi li{
		border-top:1px solid #009356;
		display:inline;
		float:left;
		text-align:center;
		width:100%;
	}
	#globalnavi li a{
		background:-moz-linear-gradient(top, #13bc76, #01a964);
		background:-webkit-gradient(linear, left top, left bottom, from(#13bc76), to(#01a964));
		background:-o-linear-gradient(top, #13bc76 0%,#01a964 100%); /* opera */
		color:#fff;
		display:block;
		text-decoration:underline;
		line-height:3em;
		margin:0;
		padding:0.5em 0;
		background-color:#01aa64;
	}



	#container{
		margin:0;
		padding:1em 0 0 0;
	}
	#contents{
		text-align:left;
		margin:.5rem;
		padding:0;
	}
	#contents h2{
		border-left:10px solid #01aa64;
		border-bottom:1px solid #01aa64;
		color:#01aa64;
		font-size:1.2em;
		font-weight:bold;
		margin:0 1em 1em 0;
		padding:5px 0 5px 5px;
		text-align:left;
	}
	#contents h3,
	#contents p{
		font-weight:normal;
		line-height:1.6em;
		margin:0 1em;
		text-align:left;
	}
	#contents .topic-path{
		line-height:1.2em;
		margin:0 0 2em 0;
	}
	.map-responsive{
		padding:100% 0 0 0;
	}
	#contents #schedule{
		margin:1em 0;
	}
	.cal-responsive{
		overflow:auto;
		padding:140% 0 0 0;
		-webkit-overflow-scrolling:touch;
	}
	.cal-responsive iframe{
		width:95vw;
	}
	#contents #facility{
		margin:1em;
	}
	#contents #facility .box{
		margin:0;
		max-width:200px;
		overflow:hidden;
		padding:1em 0;
		width:30%;
	}
	#contents #facility .lc{
		margin:0;
		padding:1em 0;
	}
	#contents #facility .box p{
		font-size:0.9em;
		line-height:1.3em;
		margin:10px 0;
		overflow:hidden;
		padding:0 10px;
	}
	#contents #facility .box p span{
		display:block;
		font-size:1.2em;
		font-weight:bold;
		line-height:1.3em;
	}
	#contents #facility .box img{
		border-style:none;
		width:100%;
	}
	#contents dl{
		margin:1em;
	}
	#contents dt{
		font-weight:bold;
	}
	#contents dd{
		padding-left:2em;
	}
	#contents ul{
		margin:1em;
	}
	#contents li{
		margin:1em;
	}
	#contents .fadein{
		display:block;
		height:124px;
		overflow:hidden;
		margin:1em auto;
		padding:0;
		position:relative;
		width:320px;
	}
	#contents .fadein img{
		height:124px;
		left:0;
		position:absolute;
		top:0;
		width:320px;
	}
	#contents #access{
		margin:1em 2em;
		padding:0;
	}
	#contents .wrapper{
		margin:0;
		padding:0;
	}
	#contents #staff{
		margin:auto;
		padding:0;
	}
	#contents .wrapper h4,
	#contents .wrapper h5{
		font-size:1em;
		font-weight:bold;
		line-height:1.2em;
		margin:0;
		padding:1em 0 0 0;
	}
	#contents .wrapper p{
		line-height:1.2em;
		margin:0;
		padding:1em 0 0 0;
	}
	#contents .wrapper p{
		font-size:0.8em;
	}
	#contents .wrapper img{
		display:block;
		margin:0;
		max-width:300px;
		padding:0;
		width:100%;
	}
	#contents #staff .pic{
		display:block;
		width:auto;
	}
	#contents #staff img{
		display:block;
		margin:0 auto;
		max-width:460px;
		padding:1em 0;
		width:90%;
	}
	#contents hr{
		border-width:1px 0 0 0;
		border-style:solid;
		border-color:#01aa64;
		clear:both;
		display:block;
		height:1px;
		margin:1em 0;
		width:95%;
	}
	#contents #recruit dl{
		clear:both;
		display:block;
		font-size:1em;
		margin:0 0 0 2em;
		padding:1em;
		text-align:left;
	}
	#contents #recruit dt{
		line-height:1.3em;
		margin:0;
		padding:0;
		text-align:left;
		width:5.2em;
	}
	#contents #recruit dd{
		height:1.3em;
		left:5.2em;
		line-height:1.3em;
		margin:0;
		position:relative;
		top:-1.3em; 
		padding:0; 
		text-align:left;
		width:99%;
	}
	#footer{
		background-color:#fff;
		background:-moz-linear-gradient(top, #ffffff, #e0f2f2);
		background:-webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#e0f2f2));
		width:100%;
		clear:both;
		display:block;
		font-size:0.8em;
		line-height:2.5em;
		margin:0;
		padding:4em 0 1em 0;
		text-align:center;
	}
	.clear{
		clear:both;
	}
	.cf:before,
	.cf:after {
		content:"";
		display:table;
	}
	.cf:after {
		clear:both;
	}
}

@media only screen and (max-width:340px){
	#header p span{
		display:block;
		margin:2px 0;
	}
}
