/* =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;}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display: block;}

body{
font: 12px/1.5 "メイリオ","Meiryo",arial,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,"ＭＳ Ｐゴシック","MS PGothic",Sans-Serif;
color:#333;
-webkit-text-size-adjust: none;
background:url(/images/wall.png) repeat-x;
}

html{background:url(/images/bg.png);}


/* リンク設定
------------------------------------------------------------*/
a{
margin:0;
padding:0;
text-decoration:none;
outline:0;
vertical-align:baseline;
background:transparent;
font-size:100%;
color:#313131;
}

a:hover, a:active{
outline: none;
color:#2f78b8;
}


/**** Clearfix ****/
nav .panel:after, nav#mainNav:after, .newsTitle:after, .bg:after,.post:after, ul.post li:after,nav#mainNav .inner:after{content:""; display: table;clear: both;}
nav .panel,nav#mainNav,.newsTitle,.bg, .post, ul.post li,nav#mainNav .inner{zoom: 1;}


/* 寄せ設定
------------------------------------------------------------*/

.migi_yose {
	float: right;
	margin: 0 0 0 10px;
}

.hidari_yose {
	float: left;
	margin: 0 10px 0 0;
}


.date{
	margin: 10px 0;
	background: #f60;
	padding: 2px 10px;
	color: #fff;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
}

/* #pankuzu
----------------------------------------------------------- */

#pankuzu {
	width: 95%;
	min-height: 40px;
	padding: 0 8px;
}


#pankuzu li {
	float: left;
	font-size: 100%;
	list-style-type: none;
	padding: 10px 8px;
	background: url(/images/list-arw.png) no-repeat center left;
}


#pankuzu li a {  
	margin-right: 2px;  
}



.wpcf7-not-valid-tip-no-ajax{
	display: block;
	clear: both;
	margin: 10px 0;
	width: 93%;
    border: solid 5px #ffcc00;
    color: #000000;
    font-weight: bold;
    padding: 8px;
    text-align: left;
	-webkit-border-radius: 7px;
	-moz-border-radius: 7px;
	border-radius: 7px;
}


.wpcf7-validation-errors{
	display: block;
	clear: both;
	margin: 10px 0;
	width: 93%;
    border: solid 5px #ff0000;
    color: #ff0000;
    font-weight: bold;
    padding: 8px;
    text-align: left;
	-webkit-border-radius: 7px;
	-moz-border-radius: 7px;
	border-radius: 7px;
}

.wpcf7-mail-sent-ok{
	display: block;
	clear: both;
	margin: 10px 0;
	width: 93%;
    border: solid 5px #99c700;
    color: #000;
    font-weight: bold;
    padding: 8px;
    text-align: left;
	-webkit-border-radius: 7px;
	-moz-border-radius: 7px;
	border-radius: 7px;
	
	
}

/* #カテゴリ
----------------------------------------------------------- */
.etc_category{
	background: #63F;
	margin: 0 10px;
	padding: 2px 16px;
	color: #fff;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
}
.info_category{
	background: #F90;
	margin: 0 10px;
	padding: 2px 10px;
	color: #fff;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
}

.traning_category{
	background: #093;
	margin: 0 10px;
	padding: 2px 10px;
	color: #fff;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
}

.flow{
	clear: both;
	width: 97%;
	padding: 4px 8px;
	background-color: #f3f3f3;
	border: 1px solid #dcdcdc;
	-webkit-border-radius: 7px;
	-moz-border-radius: 7px;
	border-radius: 7px;
}

.flow span{
	color: #F60;
}


/* フォーム
------------------------------------------------------------*/
input[type="text"],input[type="email"], textarea{
vertical-align:middle;
width:95%;
line-height:30px;
height:30px;
padding:1px 5px;
border:1px solid #d4d4d7;
border-radius:3px;
-webkit-border-radius:3px;
-moz-border-radius:3px;
font-size:100%;
color:#555;
background:#fcfcfc;
}

textarea{
height:auto;
line-height:1.5;
}

input[type="submit"],input[type="reset"],input[type="button"]{
margin: 10px auto;
padding: 5px 15px;
background: #45acd9;
background: -moz-linear-gradient(top, #45acd9 0%, #539ad6 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#45acd9), color-stop(100%,#539ad6));
background: -webkit-linear-gradient(top, #45acd9 0%,#539ad6 100%);
background: -o-linear-gradient(top, #45acd9 0%,#539ad6 100%);
background: linear-gradient(to bottom, #45acd9 0%,#539ad6 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#45acd9', endColorstr='#539ad6',GradientType=0 );
border:0;
border-radius:3px;
-webkit-border-radius:3px;
-moz-border-radius:3px;
line-height:1.5;
font-size:120%;
color:#fff;
}

input[type="submit"]:hover,input[type="reset"]:hover,input[type="button"]:hover{
background: #539ad6;
background: -moz-linear-gradient(top, #539ad6 0%, #45acd9 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#539ad6), color-stop(100%,#45acd9));
background: -webkit-linear-gradient(top, #539ad6 0%,#45acd9 100%);
background: -o-linear-gradient(top, #539ad6 0%,#45acd9 100%);
background: linear-gradient(to bottom, #539ad6 0%,#45acd9 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#539ad6', endColorstr='#45acd9',GradientType=0 );
cursor:pointer;
}
*:first-child+html input[type="submit"]{padding:3px;}


/* レイアウト
------------------------------------------------------------*/
#wrapper, .inner{
margin:0 auto;
width:960px;
}

#header{
overflow:hidden;
}

#content_all{
width: 98%;
margin: 20px 0 0 0;
background: #FFF;
padding: 5px 10px 60px 10px;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;
}

#content{
float:right;
width:697px;
margin: 2px 0 0 0;
background: #FFF;
padding: 5px 10px 60px 10px;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;
}





#sidebar{
float:left;
width:233px;
padding: 2px 0 50px;
}

#footer{
clear:both;
} 


/* ヘッダー
*****************************************************/

/* サイト説明文
----------------------------------*/
.header_p{
padding:5px 0;
font-size:80%;
font-weight:normal;
}


/* ロゴ (サイトタイトル)
----------------------------------*/
#logo {
clear:both;
float:left;
padding:15px 0 10px 5px;
color: #515151;
font-size:160%;
font-weight:bold;
}


/* コンタクト
----------------------------------*/
.contact{
float:right;
font-size: 100%;
padding:10px 0 0;
text-align:right;
}

.contact .tel{
margin-bottom:-5px;
font-size:220%;
font-weight:bold;
font-family:Arial, Helvetica, sans-serif;
color: #036EB8; 
}


/* トップページ　メイン画像
----------------------------------*/
#mainImg{
clear:both;
margin-top:20px;
text-align:center;
z-index:0;
}

#slider{
	margin: 0 auto;
	}
#mainImg a:hover{opacity:.8;}


.post{
margin:1px 0 20px 0;
padding:20px 10px 20px 20px;
background: #fff;
line-height: 26px;
}

h4{
margin:0 0 10px;
font-size:16px;
font-weight:normal;
color:#333;
}



.tel_sp{ display: none;}


/* 記事ループ
*****************************************************/
.list{
padding:10px 0;
border-bottom:1px dashed #dcdcdc;
}

.list:last-child{border:0;}

.post .list p{padding:0;}

.list span{padding-left:10px;}


/* タイポグラフィ
*****************************************************/
#content a{color:#2f78b8;}
#content a:hover{text-decoration:underline;}


#content ul li{
	margin-left: 10px;
	font-size: 13px;
	padding: 5px 0 5px 15px;
	background: url(/images/list-arw.png) no-repeat center left;

}

#content ol li{
	margin-left: 25px;
	list-style: decimal;
	font-size: 13px;
	padding: 5px 0 5px 0;
	}


h1{
clear:both;
margin: 5px 0;
padding:7px 10px 7px 17px;
font-size: 16px;
font-weight: bold;
color:#fff;
border-bottom:1px solid #3f94e4;
background: #036EB8;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;
}


h2{
clear: both;
border-left: #036EB8 10px solid;
background-color: #f3f0f0;
padding: 5px;
margin: 10px 0;
font-size: 14px;
font-weight:bold;
border-bottom: #ccc 1px solid;
}


h3{
color:#036EB8;
margin: 5px 0;
font-size:100%;
font-weight: bold;
border-bottom:1px solid #515151;
}

h3 a{
	color: #FFF;	
}


h3 a:hover{
	color: #F90;	
}

.dateLabel{
text-align:right;
font-weight:bold;
color:#858585;
}




table{
border: 1px #ccc solid;
border-collapse: collapse;
border-spacing: 0;
margin:10px auto 20px;
}

table th{
width: 20%;
padding:10px;
border: #ccc solid;
border-width: 0 0 1px 1px;
background:#efede7;
}

table td{
padding:10px;
border: 1px #ccc solid;
border-width: 0 0 1px 1px;
background:#fff;
}

dt{font-weight:bold;}

dd{padding-bottom:10px;}

#wrapper img{max-width:100%;height:auto;}

img.aligncenter {
display: block;
margin:5px auto;
}

img.alignright, img.alignleft{
margin: 10px 10px 15px 15px;
display:inline;
}

img.alignleft{margin:10px 15px 15px 10px;}

.alignright{float:right;}
.alignleft{float:left;}

#gallery-1 img{
border:1px solid #eaeaea !important;
padding:5px;
background:#fff;
}

#gallery-1 img:hover{background:#fffaef;}



/* サイドバー　ウィジェット
*****************************************************/
section.widget ul, .widget_search, #calendar_wrap, .textwidget{
margin:1px 0 20px 0;
padding:10px 10px 10px 17px;
border:1px solid #dcdcdc;
background: #fff;
}

section.widget ul ul{
border:0;
margin:0;
padding:0 0 0 10px;
}

p.banner{padding-bottom:15px;}

p.banner img{
max-width:233px;
height:auto;
}

p.banner img:hover{
cursor:pointer;
opacity:.8;
}

section.widget h3{
clear:both;
margin:0;
padding:7px 10px 7px 17px;
font-size:110%;
color:#fff;
border-bottom:1px solid #3f94e4;
background:#3078b8 url(/images/headingBg.png) repeat-x;
}

section.widget li a{
display:block;
padding:7px 0 7px 12px;
background:url(/images/arrow.gif) no-repeat 0 12px;
border-bottom:1px dashed #dcdcdc;
}

section.widget li:last-child a{border:0;}

#searchform input[type="text"]{
line-height:1.7;
height:24px;
width:90px;
vertical-align:bottom;
}


/* お知らせ　
-------------*/






/* フッター
*****************************************************/
#footer ul{
padding:15px 0 25px;
text-align:center;
}

#footer li{
display:inline-block;
padding: 5px 16px;
border-left:1px dotted #d5d5d5;
}
*:first-child+html #footer li{display:inline;}

#footer li:first-child{border:0;}

#footer li a{
text-decoration:none;
color:#000;
}

#footer li a:hover{color:#999;}

#footer ul ul{display:none;}

#copyright{
clear:both;
padding:10px 0 37px;
text-align:center;
color:#000;
font-size:14px;
}


/* page navigation
------------------------------------------------------------*/
.pagenav{
clear:both;
width: 100%;
height: 30px;
margin: 5px 0 20px;
}

.prev{float:left}

.next{float:right;}

#pageLinks{
clear:both;
color:#4f4d4d;
text-align:center;
}


/* トップページ 最新記事
------------------------------------------------------------*/
ul.post{
padding:0;
}

ul.post li{
margin:0 10px;
padding:20px 0 15px;
border-bottom:1px dashed #dcdcdc;
}

ul.post li:last-child{border:0;}

ul.post img{
float:left;
margin:0 15px 5px 10px;
}




/* メインメニュー　PC用
------------------------------------------------------------*/
@media only screen and (min-width: 1025px){
nav#mainNav{
	clear:both;
	position:relative;
	z-index:200;
	width: 100%;
	margin:0 auto;
	background: #036EB8;
}

nav#mainNav ul li{
	float: left;
	position: relative;
	border-left: 1px solid #ccc;
	width: 158px;
}



nav#mainNav li:last-child{
	border-right-width: 1px;
	border-right-style: solid;
	border-right-color: #fff;
}


nav#mainNav ul li a{
	display: block;
	text-align: center;
	_float:left;
	color:#fff;
	height:35px;
	line-height:45px;
	font-size:110%;
	font-weight:bold;
	padding:10px 10px 0;
}

nav#mainNav ul li a span,nav#mainNav ul li a{
	display:block;
	font-size:90%;
	line-height:1.4;
}

nav#mainNav ul li a span{
	margin-top: 3px;
	font-size:90%;
	color:#fff;
	font-weight:normal;
}

nav div.panel{
	display:block !important;
	float:left;
}

a#menu{display:none;}

nav#mainNav ul li.current-menu-item a, nav#mainNav ul li a:hover, nav#mainNav ul li.current-menu-parent a{
	background:#999;
}

nav#mainNav ul ul{width:160px;}

nav#mainNav ul li ul{display:none;}

nav#mainNav ul li:hover ul{
	display: block;
	position: absolute;
	top:42px;
	left:0;
	z-index:500;
}

nav#mainNav ul li li{
	margin:0;
	float: none;
	height:35px;
	line-height:35px;
	width:160px;
	background:none;
}

nav#mainNav ul li li a, nav#mainNav ul li.current-menu-parent li a,nav#mainNav ul li.current-menu-item li a{
	width:100%;
	height:35px;
	padding:0 0 0 10px;
	line-height:35px;
	font-size:95%;
	text-align:left;
	background:url(/images/mainnavBg.png) repeat-x 0 -6px;
}

nav#mainNav ul li li.current-menu-item a,nav#mainNav ul li li a:hover{background:#539ad6;}


}


/* メインメニュー iPadサイズ以下から
------------------------------------------------------------*/
@media only screen and (max-width:1024px){
	nav#mainNav{
	clear:both;
	width:960px;
	margin:0 auto 10px;
	background:#fbfaf9 url(/images/mainnavBg.png) repeat-x 0 -5px;
	border:1px solid #e8e5e0;
	}
	

	nav#mainNav a.menu{
	width:100%;
	display:block;
	height:37px;
	line-height:37px;
	font-weight: bold;
	text-align:left;
	color:#fff;
	background: url(/images/menuOpen.png) no-repeat 5px 8px;
	}
	
	nav#mainNav a#menu span{padding-left:35px;}
	
	nav#mainNav a.menuOpen{
	background: url(/images/menuOpen.png) no-repeat 5px -34px;
	}
	
	nav#mainNav a#menu:hover{cursor:pointer;}
	
	nav .panel{
	display: none;
	width:100%;
	position: relative;
	right: 0;
	top:0;
	z-index: 1;
	}

	nav#mainNav ul{margin:0;padding:0;}

	nav#mainNav ul li{
	float: none;
	clear:both;
	width:100%;
	height:auto;
	line-height:1.2;
	}

	nav#mainNav ul li a,nav#mainNav ul li.current-menu-item li a{
	display: block;
	padding:15px 10px;
	text-align:left;
	border-bottom:1px dashed #fff;
	color:#fff;
	background:#327bbc;
	}
	
	nav#mainNav ul li:last-child a{border:0;}
	nav#mainNav ul li li:last-child a{border:0;}
	nav#mainNav ul li li:last-child a{border-bottom:1px dashed #fff;}

 	nav#mainNav ul li a span{display:none;}
 
	nav#mainNav ul li.current-menu-item a,nav#mainNav ul li a:hover,nav#mainNav ul li.current-menu-item a,nav#mainNav ul li a:active, nav#mainNav ul li li.current-menu-item a, nav#mainNav ul li.current-menu-item li a:hover, nav#mainNav ul li.current-menu-item li a:active{
	color:#fff;
	background:#539ad6;
	}

	nav#mainNav ul li li{
	float:left;
	border:0;
	}

	nav#mainNav ul li li a, nav#mainNav ul li.current-menu-item li a, nav#mainNav ul li li.current-menu-item a{
  padding-left:40px;
	background:#327bbc url(/images/sub1.png) no-repeat 20px 18px;}

	nav#mainNav ul li li.current-menu-item a,nav#mainNav ul li li a:hover, nav#mainNav ul li.current-menu-item li a:hover{
		background:#539ad6 url(/images/sub1.png) no-repeat 20px 18px;}
	
	nav#mainNav ul li li:last-child a{background:#327bbc url(/images/subLast.png) no-repeat 20px 20px;}
	nav#mainNav ul li li:last-child.current-menu-item a,nav#mainNav ul li li:last-child a:hover,nav#mainNav ul li.current-menu-item li:last-child a:hover{background:#539ad6 url(/images/subLast.png) no-repeat 20px 20px;}
	
	nav div.panel{float:none;}
	
	#mainImg{margin-bottom:20px;}
	
	.tel_pc{ display: none;}
	
}


/* 959px以下から 1カラム表示
------------------------------------------------------------*/
@media only screen and (max-width: 959px){
	
	#wrapper, .inner{width:100%;}
	
	#header{width:96%;padding:0 2%;}
	
	.contact{padding:10px 0 10px;}
	
	nav#mainNav{width:95%;}
	
	nav#mainNav ul{margin:0 auto;}
	nav#mainNav ul ul{padding:0;}
	
	nav div.panel{float:none;}
	
	#mainImg img{width:95%;height:auto;}
	#content,#content_all img{width:95%;height:auto;}
	
	#content, #sidebar{clear:both;width:95%;float:none;margin:0 auto;padding:10px 5px;	}
	
	.banner{width:100%;margin:0 auto;text-align:center;}
	p.banner img{width:100%;height:auto;}
	section.widget_search{text-align:center;}
	#calendar_wrap table{width:260px;}
	
	#footer li{margin-bottom:10px;}

	.tel_pc{ display: none;}
	.tel_sp{ display: block;}
	
	table{
		width: 100%;
	}
}


/* 幅644px以下から ヘッダー等微調節
------------------------------------------------------------*/
@media only screen and (max-width: 644px){
	nav#mainNav{width:98%;}
	#header{text-align:center;background-image:none;}
	#header h2,.contact{float:none;}
	.contact{padding:0 0 20px;}
	.contact p{text-align:center;}
	#headerInfo{width:250px;margin:0 auto;}
	#content_all{width: 94%;}
	#content,#content_all img{width:96%;height:auto;}
	img.alignright, img.alignleft{display: block;	margin:5px auto;}
	.alignright,.alignleft{float:none;}

}