@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.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;}

:focus {outline: 0;}



ol, ul {list-style: none;}

table.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}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display: block;}

/* -------------------------------------------------------------- */



body {

color:#555;

font-size: 14px;

font-family: verdana,"ヒラギノ丸ゴ ProN W4","Hiragino Maru Gothic ProN","メイリオ","Meiryo","ＭＳ Ｐゴシック","MS PGothic",Sans-Serif;

line-height: 1.5;

-webkit-text-size-adjust: none;

}





/* リンク設定

------------------------------------------------------------*/

a{color:#8da650;text-decoration:none;}

a:hover{color:#7d9540;}

a:active, a:focus {outline:0;}





/* 全体

------------------------------------------------------------*/

#wrapper{

margin:0 auto;

padding:0 1%;

width:98%;

position:relative;

background:#fff;

}



.inner{

margin:0 auto;

width:100%;

}



.f-redbold{	

font-size: 18px;

font-weight: bold;

color: #ff3f00;

}



.f-red{

color: red;

font-weight: bold;

}



.ttl {

	text-align:left;

	border-left:solid 4px #cc0000;

	display:block;

	padding:2px 5px;

	margin-top:2em;

}



.msg {

	color:#dd0000;

	margin:2em;

}



.f-tyu{

	font-size: 0.7rem;

}



.bdr-g{

 border: solid 3px #8da650;

 border-radius: 18px;

}



.mgn{ margin: 15px 0 10px 0; }





/*************

/* ヘッダー

*************/

#header{

height:130px;

border-top:4px solid #8da650;

}



#header h1{

padding:2px 0 10px;

font-size:12px;

font-weight:normal;

}



/*************

/* ロゴ

*************/

.logo{

float:left;

}



.logo span{ display:block; }



/*************

/* 電話番号

*************/

.info{

float:right;

text-align:center;

}



.info .open{font-size: 12px;}





/*************

/* ロゴ+電話番号

*************/

.logo,.info .tel{

margin-top: 4px;

font-size: 20px;

font-weight:bold;

}



.logo span,.info span{

font-size:.6em;

font-weight:normal;

}







/**************************

/* メイン画像（トップページ+サブページ）

**************************/

#mainBanner{

margin:15px auto;

padding:0;

}



#mainBanner img{

max-width:100%;

height:auto;

}



.slogan{

position:absolute;

max-width:100%;

height:auto;

bottom:10px;

left:0;

padding:5px 10px;

line-height:1.4;

text-align:left;

}



.slogan h2{

padding-bottom:5px;

font-size:20px;

}



#subpage #mainBanner{margin-top:0;}





/**************************

/* グリッド

**************************/

.gridWrapper{

padding-bottom:10px;

overflow: hidden;

}



* html .gridWrapper{height:1%;}

	

.grid{

float:left;

}



.box{

padding: 8px;

text-align: center;

min-height: 90px;

}



.box img{

max-width:100%;

height:auto;

}



.box h3{

font-size: 16px;

font-weight: bold;

padding:5px;

}



.box h3,

.box p{

text-align: left;

}



.box p.readmore{

padding:10px 5px 5px;

text-align: right;

}



.box p.readmore a{

padding:5px 10px;

border-radius:3px;

color:#fff;

background: #8da650;

}



.box p.readmore a:hover{background:#7d9540;}



/*************

メイン コンテンツ

*************/

section.content article{

padding:20px;

margin-bottom:20px;

border:1px solid #ebebeb;

overflow:hidden;

}



* html section.content article{ height:1%; }



section.content p{ margin-bottom: 5px; }



h2,h3.heading{

font-weight: bold;

padding: 10px 0;

margin: 20px 0 10px 0;

border-top: 3px double #ebebeb;

border-bottom: 3px double #ebebeb;

text-indent: 1em;

}



h3.orange_bg {

  max-width: 100%;

  margin: 20px 0 14px 0;

  padding: 2px 8px 2px 14px;

  line-height: 180%;

  letter-spacing: 1px;

  font-size: 14px;

  font-weight: bold;

  background-color: #ffe599;

}



h3.green_bg {

  max-width: 100%;

  margin: 30px 0 14px 0;

  padding: 10px 14px;

  line-height: 180%;

  letter-spacing: 1px;

  font-size: 16px;

  font-weight: bold;

  background-color: #cfd9b3;

  border: 3px double #8da650;

}



h3.midashi {

  max-width: 100%;

  margin: 20px 0 14px 0;

  padding: 2px 8px 2px 14px;

  line-height: 180%;

  letter-spacing: 1px;

  border:1px solid #ebebeb;

  font-size: 14px;

  font-weight: bold;

}



.accbox label {

display: block;

font-weight: bold;

padding: 10px 0;

margin: 20px 0 10px 0;

border-top: 3px double #ebebeb;

border-bottom: 3px double #ebebeb;

text-indent: 1em;

}



section.content img{

max-width: 90%;

height: auto;

}



.alignleft{

float: left;

clear: left;

margin: 3px 10px 10px 0;

}



.alignright{

float: right;

clear: right;

margin: 3px 0 10px 10px;

}



.right{ text-align: right; }



.aligncenter{text-align: center}



#gallery .grid{background:transparent;}



#gallery .grid img,.border{box-shadow:0 0 3px #ccc;}





li.qes{

  margin: 18px 0 0 10px;

  padding: 0 0 0 24px;

  background: url(images/qes.gif) no-repeat 0 -1px;

  list-style-type: none;

}



li.ans{

  margin: 14px 0 0 10px;

  background: url(images/ans.gif) no-repeat 0 -1px;

  padding: 0 0 18px 24px;

  list-style-type: none;

  border-bottom: 1px solid #cccccc;

}



img.picture{

  margin: 10px;

  float: left;

}



.info_list{ 

  margin: 10px 15px;

}



/*************

テーブル

*************/



table {

width: 100%;

border-collapse: collapse;

margin: 10px auto;

}



th, td  {

padding: 3px 10px;

border: 1px solid #8da650;

}



th  {

font-weight: bold;

background: #cfd9b3;

}



.tableli th, .tableli td  {

width: 14%;

text-align: left;

}



.tablefm1 th {

width: 25%;

text-align: left;

}



.tablefm2 th {

width: 25%;

text-align: left;

}



.tablefm2 td {

margin: 0 0 6px 0;

}



.tex_c { text-align: center; }



.hissu {

  background: url(images/hissu.gif) left no-repeat;

  padding-left: 40px;

}





/*************

フォーム

*************/



input,

textarea {

 background: #eee;

 border: 1px solid #bebebe;

 border-radius: 3px;

 font-size: 1em;

}



input:focus,

textarea:focus {

 background: #efe5db;

 border: 1px solid #ff3f00;

 box-shadow: 0 0 7px #ff3f00;

}



input.fms1{

 width: 300px;

 height: 24px;

 text-indent: 0.5em;

}



input.fms2{

 width: 70px;

 height: 24px;

 text-align: center;

}



textarea{

 width: 450px;

 height: 120px;

}



select{

 background: #eee;

 border: 1px solid #bebebe;

 border-radius: 3px;

 width: 84px;

 height: 26px;

 font-size: 1em;

 margin: 10px 0;

}



/*************

ボタン

*************/



.link_button {

  font-weight: bold;

  font-size: 30px;

  text-decoration: none;

  background: #ff3f00;

  color: #ffffff;

  padding:5px 20px;

  border-radius: 5px;

  box-shadow: 1px 1px 2px #555;

}

.link_button:hover {

  background: silver;

  text-decoration: none;

}



.link_button2 {

  font-weight: bold;

  font-size: 30px;

  text-decoration: none;

  background: #007fff;

  color: #ffffff;

  padding:5px 20px;

  border-radius: 10px;

  box-shadow: 1px 1px 2px #555;

}

.link_button2:hover {

  background: silver;

  text-decoration: none;

}



 .link_button3 {

  font-weight: bold;

  font-size: 24px;

  text-decoration: none;

  background: #ff3f00;

  color: #ffffff;

  padding:5px 10px;

  border-radius: 6px;

  box-shadow: 1px 1px 2px #555;

  margin: 10px 20px;

}

.link_button3:hover {

  background: silver;

  text-decoration: none;

}





input.submit1 {

  height:30px;

  width:110px;

  margin: 0 0 0 200px;

}



input.submit2 {

  height:30px;

  width:110px;

}



input.submit3 {

  height:30px;

  width:110px;

  margin: 0 0 0 250px;

}



input[type="submit"],

input[type="button"] {

-webkit-appearance: none;

}





/*************

/* サイドバー

*************/

#sidebar ul{padding:10px;}



#sidebar li{

margin-bottom:10px;

padding-bottom:10px;

list-style:none;

border-bottom:1px dashed #ebebeb;

}



#sidebar li:last-child{

border:0;

margin-bottom:0px;

}



#sidebar li a{

display:block;

}



#sidebar ul.list li{

clear:both;

margin-bottom:5px;

padding:5px 0;

overflow:hidden;

border:0;

}



ul.list li{height:1%;}



ul.list li img{

float:left;

margin-right:10px;

}



ul.list li{

font-size:12px;

line-height:1.35;

}





/*************

/* フッター

*************/

#footer{

clear:both;

}



#footer .inner{

border-top:2px solid #ebebeb;

border-bottom:2px solid #ebebeb;

overflow:hidden;

}



* html #footer .inner{height:1%;}



#footer .grid{

margin:0;

}



#footer #info .logo, #footer #info .info{float:none;}



#footer #info .info{

clear:both;

text-align:left;

}



#footer .logo{font-size:18px;}



#footer .info .tel,#footer .info .tel span,#footer #info .open{

font-size:12px;

}



ul.footnav{

float:right;

width:630px;

padding:10px 0;

}



ul.footnav li{

float:left;

margin-bottom:10px;

padding:0 7px 0 8px;

border-right:1px solid #ebebeb;

}



address{

clear:both;

padding:20px 0;

text-align:center;

font-style:normal;

font-size:12px;

color:#555;

}





/* PC用

------------------------------------------------------------*/

@media only screen and (min-width: 960px){

	#wrapper,#header,.inner{

	width:960px;

	padding:0;

	margin:0 auto;

	}

	

	#wrapper{padding-bottom:20px;}

	

	nav#mainNav{

	clear:both;

	overflow:hidden;

	position:relative;

	}



	nav#mainNav ul li{

	float: left;

	position: relative;

	}



	nav#mainNav ul li a{

	display: block;

	text-align: center;

	float:left;

	font-size:13px;

	width:160px;

	padding:10px 0;

	border-top:2px solid #ebebeb;

	border-bottom:2px solid #ebebeb;

	}

	

	nav#mainNav ul li.last a{width:159px;}



	nav#mainNav ul li a span,nav#mainNav ul li a strong{

	display:block;

	}



	nav#mainNav ul li a span{

	color:#bababa;

	font-size:10px;

	}



	nav div.panel{

	display:block !important;

	float:left;

	}



	a#menu{display:none;}



	nav#mainNav li.active a,nav#mainNav li a:hover{

	border-color:#8da650;

	}

	

	



	#main{

	float:right;

	width:680px;

	padding:15px 0 0 0;

	}

	

	#sidebar{

	float:left;

	width:250px;

	padding:15px 0 0 0;

	overflow:hidden;

	}

	

	#sidebar article{

	padding:7px;

	margin-bottom:20px;

	border:1px solid #ebebeb;

	overflow:hidden;

	}

	

	/* グリッド全体 */

	.gridWrapper{

	width:990px;

	margin:0 0 0 -15px;

	}

	

	#gallery article{padding:10px 0 10px 10px;}

	

	/* グリッド */

	.grid{

	float:left;

	width:310px;

	margin-left:15px;

	}

	

	#subpage .grid{width:auto;}

	

	#gallery .grid{

	width:auto;

	margin:10px 0 2px 10px;

	}

	

	#footer .inner{

	width:940px;

	padding:10px;

	}



	.mainb-full{ display: block; }

	.mainb-min{ display: none; }



	.accbox input{ display: none; }





}





@media only screen and (max-width:959px){

	*{

    -webkit-box-sizing: border-box;

       -moz-box-sizing: border-box;

         -o-box-sizing: border-box;

        -ms-box-sizing: border-box;

            box-sizing: border-box;

	}

	

	#header{padding:0 10px;}

	

	nav#mainNav{

	clear:both;

	width:100%;

	margin:0 auto;

	padding:0;

	background: -webkit-gradient(linear, left top, left bottom, color-stop(1, #f5f5f5), color-stop(0.5, #f0f0f0), color-stop(0.00, #f7f7f7));

	background: -webkit-linear-gradient(top, #f7f7f7 0%, #f0f0f0 50%, #f5f5f5 100%);

	background: -moz-linear-gradient(top, #f7f7f7 0%, #f0f0f0 50%, #f5f5f5 100%);

	background: -o-linear-gradient(top, #f7f7f7 0%, #f0f0f0 50%, #f5f5f5 100%);

	background: -ms-linear-gradient(top, #f7f7f7 0%, #f0f0f0 50%, #f5f5f5 100%);

	background: linear-gradient(top, #f7f7f7 0%, #f0f0f0 50%, #f5f5f5 100%);

  border:1px solid #e4e4e4;

	}



	nav#mainNav a.menu{

	width:100%;

	display:block;

	height:40px;

	line-height:40px;

	font-weight: bold;

	text-align:left;

	}



	nav#mainNav a#menu span{padding-left:10px;}

	nav#mainNav a.menu span:before{content: "→ ";}

	nav#mainNav a.menuOpen span:before{content: "↓ ";}



	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 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 #ccc;

	}

	

	nav#mainNav ul li a span{padding-left:10px;}

	

	nav#mainNav ul li:first-child a{

	border-top:1px solid #e4e4e4;

	}

	

	nav#mainNav ul li:last-child a{border:0;}

	

	nav#mainNav ul li.active a{color:#7d9540;}



	nav div.panel{float:none;}

	

	#subpage #mainBanner{margin-top:20px;}

	

	#sidebar{padding-bottom:30px;}

	

	#sidebar article{padding:7px 0;}

	

	#footer .grid,#footer ul.footnav{

	float:none;

	width:100%;

	text-align:center;

	}



	ul.footnav li{float:none;display:inline-block;}

	

	.grid{

	width:32%;

	margin:10px 0 0 1%;

	}

	

	#gallery .grid{

	float:left;

	width:31%;

	margin:0 0 0 1%;

	}

	

	#footer .grid img, #footer .info{float:none;}

	#footer .grid p{display:block;}

	#footer #info .info{float:none;text-align:center;}

	

	#footer.logo,#footer .info{

	width:100%;

	float:none;

	}



	.mainb-full{ display: block; }

	.mainb-min{ display: none; }



	.accbox input{ display: none; }





}





/* スマートフォン 横(ランドスケープ) */

@media only screen and (max-width:640px){

	#header{

	height:auto;

	padding-bottom:10px;

	}

	

	#header h1,.logo,.info{text-align:center;}



	.logo,.info{

	clear:both;

	width:100%;

	float:none;

	margin:0;

	}

	

	.box img{

	float:left;

	margin-right:5px;

	}

	

	.box h3{padding-top:0;}



  	.alignleft,.alignright{

	float:none;

	display:block;

	margin:0 auto 10px;

	}

	

	#gallery .grid{float:left;}



	.mainb-full{ display: block; }

	.mainb-min{ display: none; }



	.accbox input {display: none;}





}







/* スマートフォン 縦(ポートレート) */

@media only screen and (max-width:480px){

	.grid{ width:98%; }

	.box img{ max-width:100px; }



	#sidebar p{text-align:center;}

  	.tableli { margin: auto; }

	.tableli tr {

	 display:block;

	 margin-bottom: 10px;

	}



	.tableli th {

	 display:block;

	 width: 100%;

	}



	.tableli td {

	 display: list-item;

	 width: 90%;

	 margin-left: 10%;

	 border:none;

	}



	.tablefm1,

	.tablefm2 {

	 margin: auto;

	}



	.tablefm1 th,

	.tablefm1 td,

	.tablefm2 th,

	.tablefm2 td{

	 width: 100%;

	 display: block;

	}



	.tablefm1 td,

	.tablefm2 td{

	 border-top: none;

	}



	.tablefm2 th{ border-top: 1px solid #8da650; }

	.tablefm2 tr: first-child th { border-top: 1px solid #8da650; }



	input.fms1,

	textarea{

	width: 100%;

	}



	.picture{ width: 40% }



	.mainb-full{

	display: none;

	}

	.mainb-min{

	display: block;

	margin: 5px 0;

	}







/*アコーディオン*/

	.accbox {

    margin: 10px auto 20px auto;

    padding: 0;

    width: 96%;

	}



	.accbox label {

    display: block;

    margin: 0 0 1.5px 0;

    padding : 14px 12px;

    color: #844200;

    font-weight: bold;

    background: #ffc184;

    transition: all 0.5s;

    border-radius: 4px;

    border: none;

	}



	.accbox label:before {

    content: '→';

    padding-right: 8px;

	}

	

	.accbox input { display: none; }



	.accbox .accshow {

    height: 0;

    padding: 0;

    overflow: hidden;

    opacity: 0;

    transition: 0.8s;

	}



	.cssacc:checked + label + .accshow {

    height: auto;

    padding: 5px;

    background: #fff5eb;

    opacity: 1;

    border-radius: 4px;

	}



	.accbox .accshow p {

    margin: 10px 10px

	}



	.cssacc:checked + label:before {

    content: '↓';

	}



}

