@charset "utf-8";
/* CSS Document */
* {
    margin: 0;
    padding: 0;
}
table,img,p{ border: 0;}
html, body{
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	height:100%;
	min-height:100%;
	margin:0 auto;
	padding:0 auto;
	background-color:#ffffff;
	font-size: 16px;
	}
li{ list-style-type: none;}
select{ border: solid 1px #ccc;}
section{color:#0d3b14;font-size: 100%;}
/*テキスト関連
----------------------------------------------- */

@media (min-width: 640px) {
p{line-height: 1.75em;}
}
@media (max-width: 639px) {
p{line-height: 1.5em;}
}

h1{

 }
a{
	color:#0F3CA6;
	text-decoration:none;
	border:none;
}
a:link, a:visited{
	color:#333;
}
a:hover{
	color:#009146;
	text-decoration:none;
}

.f-ss{font-size:73% ;}
.f-s{font-size:86%;}
.f-m{font-size:100%;}
.f-l{font-size:126%;}
.f-ll{font-size:146%;}
.bold{font-weight:bold;}
.red{color:#ef1e1e;}

/* レイアウト
----------------------------------------------- */
.mt-0{margin-top:0 !important;}
.mt-40{margin-top:40px !important;}
.fl{float:left;}
.fr{float:right;}

.tr{text-align:right;}
.tl{text-align:left;}
.tc{text-align:center;}
.vt{vertical-align:top;}
.vm{vertical-align:middle !important;}
.vb{vertical-align:bottom;}

/* 回り込み解除
----------------------------------------------- */
.clearfix:after{
	content: ".";  
	display: block;  
	visibility: hidden;  
	height: 0;  
	font-size: 0;  
	line-height: 0;  
	clear:both;
	}
.clearfix {
	zoom:1;
	min-height:1px;
	}  

section::after {
	clear: both;
	content: "";
	display: block;
	height: 0;
}
/*　ブロック
--------------------------------------------*/
@media (min-width: 640px) {
header .frame {
    margin: 0 auto;
    width: 1000px;
	position:relative;
}

.container{
	width:1000px;
	margin:0 auto;
}

.frame_comment{
	font-size:0.8125rem;
	margin-top: 15px;
	position:absolute;
	display:inline-block;
	}
/*ヘッダー*/
header {
	height: 120px;
	left: 0;
	position:relative;
	top: 0;
	width: 100%;
	z-index: 100;
	background:#fff;
	border-top:5px solid #008646;
	box-shadow:0px 0px 7px 0px #cfcfcf;
	-moz-box-shadow:0px 0px 7px 0px #cfcfcf;
	-webkit-box-shadow:0px 0px 7px 0px #cfcfcf;
}

header::after {
	clear: both;
	content: "";
	display: block;
	height: 0;
}



.contact_btn{
	float:right;
	padding: 10px 20px 5px 20px;
	background-color:#008646;
	border-radius: 5px;
	font-size: 0.95rem;
	color:#fff;
	/* right:0px; */
	/* top: -10px; */
	/* position:absolute; */
	/* display: table-cell; */
	margin-top: -10px;
	}
	
.contact_btn span{
	font-size:1.6875rem;
	color:#fffcda;
	font-weight:bold;
	/* padding-top: 5px; */
	/* padding-top: 10px; */
	display: inline-block;
	}
	
.contact_btn::after {
	clear: both;
	content: "";
	display: block;
	height: 0;
}

header .logo {margin-top: 50px;
background-image: url(/assets/img/common/logo.png);
background-repeat:no-repeat;
background-position:top left;
display:inline-block;
text-indent: 100%;
overflow: hidden;
white-space: nowrap;
float:left;	
height:50px;
width:244px;

}
#sp_menu{
	display:none;
	}
/*ナビ*/

.nav_inner {
    margin-bottom: 0;
    margin-left: auto;
    margin-right: auto;
    margin-top: 0;
    text-align: left;
	position:relative;
    width: 990px;
}
nav {
    position: absolute;
    z-index: 999;
    top: -45px;
    right: -5px;
    display: block;
    overflow: hidden;
}



nav ul{
	list-style: none;
	margin-right: -40px;
}

nav ul::after {
	clear: both;
	content: "";
	display: block;
	height: 0;
}
nav ul li {
    float: left;
    font-size: 1rem;
    font-weight:bold;
    text-align: center;
    margin-right: 20px;
    padding: 0 20px 0 0;
    position:relative;
    border-right:dotted 1px #008646;
}

nav a {
    text-indent: 100%;	
}

nav li a:after{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 2px;
	background: #008646;
	content: '';
	opacity: 0;
	margin-bottom:-5px;
	-webkit-transition: height 0.3s, opacity 0.3s, -webkit-transform 0.3s;
	-moz-transition: height 0.3s, opacity 0.3s, -moz-transform 0.3s;
	transition: height 0.3s, opacity 0.3s, transform 0.3s;
	-webkit-transform: translateY(25px);
	-moz-transform: translateY(25px);
	transform: translateY(25px);
			}
nav ul li a:hover::after,
nav ul li a:focus::after{
	opacity: 1;
	-webkit-transform: translateY(30px);
	-moz-transform: translateY(30px);
	transform: translateY(30px);
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3 ease;
	-o-transition: all 0.3 ease;
}


}

@media (max-width: 639px) {

header .frame {
    margin: 0 auto;
    width: 100%;
	position:relative;
}	
.frame_comment{
	display:none;
	}
.container{
    width: 100%;
	margin:0 auto;
}
/*ヘッダー*/
header {
	height:60px;
	width: 100%;
	z-index: 100;
	background:#fff;
	border-top:5px solid #008646;
	box-shadow:0px 0px 7px 0px #cfcfcf;
-moz-box-shadow:0px 0px 7px 0px #cfcfcf;
-webkit-box-shadow:0px 0px 7px 0px #cfcfcf;
}

header::after {
	clear: both;
	content: "";
	display: block;
	height: 0;
}




.contact_btn{
	display:none;
	}
	
header .logo {
    margin-top: 10px;
    background-image: url(/assets/img/common/logo.png);
    background-repeat: no-repeat;
    background-size: 85%;
	margin-left:10px;
    background-position: top left;
    display: inline-block;
    text-indent: 100%;
    overflow: hidden;
    white-space: nowrap;
    float: left;
    height:50px;
    width: 50%;

}

/*===================================

sphone_menu-button

===================================*/

#sp_menu{ 
display: inline-block;
width:130px;
height:60px;
  background: #00a958;  float:right;
	}


.menu_name{
	color:#fff;
	font-weight:bold;
	margin-top:20px;
	}

#sp_menu div > p{
	float:right;
	color:#fff;
	font-weight:bold;
	padding-top:18px;}

#panel-btn{
  position: relative;
  width: 40px;
  height: 40px;
  float:left;
  margin: 10px 10px;
  background: #00a958;
}
#panel-btn:hover{
  background: #00a958;
}
#panel-btn-icon{
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 14px;
  height: 2px;
  margin: -1px 0 0 -7px;
  background: #fff;
  transition: .2s;
}
#panel-btn-icon:before, #panel-btn-icon:after{
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 14px;
  height: 2px;
  background: #fff;
  transition: .3s;
}
#panel-btn-icon:before{
  margin-top: -6px;
}
#panel-btn-icon:after{
  margin-top: 4px;
}
#panel-btn .close{
  background: transparent;
}
#panel-btn .close:before, #panel-btn .close:after{
  margin-top: 0;
}
#panel-btn .close:before{
  transform: rotate(-45deg);
  -webkit-transform:  rotate(-45deg);
}
#panel-btn .close:after{
  transform: rotate(-135deg);
  -webkit-transform: rotate(-135deg);
}
#panel {display:none;}

/*===================================

navi

===================================*/
nav li {
	float:none;
	width:100%;
	text-align:left;
	text-align:center;
	background-color:#009c51;
	font-weight:bold;
	border-bottom:1px solid #fff;
	border-right:none;
	margin:0;
	padding-left:0px;
	line-height:3em;color:#fff;
}
nav li:first-child {
	border-left:none!important;
}
nav li a {
	width:100%!important;
	color:#fff!important;
}


nav ul {
	width:100%!important;
	}
	
}





#under_menu {
	width:920px; 
	margin:50px auto 25px;
	font-size:0.8125rem;
	}
#under_menu::after {
	clear: both;
	content: "";
	display: block;
	height: 0;
}
#under_menu li a{ clear:#009c51;}
#under_menu li{float:left;
margin-left:10px;
padding-left:10px;
border-left:1px solid #002718;}

#under_menu li:last-child{
	border-right:1px solid #002718;
padding-right:10px;
	}

@media (max-width: 639px) {
	#under_menu {display:none;}
	}




/*フッター*/
footer{
background-repeat: repeat-x;
background-position: center top;
background-color:#45aa76;
display: block;
color:#0D3B14;
}


@media (min-width: 640px) {
#footer_box{
	display:table;
	table-layout:fixed;
	width:100%;
	}

.ad_box{
	width:50%;
	display:table-cell;
	font-size:0.8125rem;
    vertical-align:middle;
	text-align:left;
	padding:10px 0;}
	
footer .contact{
	color:#f4f5d2;
	display:table-cell;
    vertical-align:middle;
	font-size:100%;
	width:50%;
	font-size:0.8125rem;
	text-align:center;
	letter-spacing: -1px;
	background:#22814b;
	}
	}





@media (max-width: 639px) {
footer{
	padding-bottom:50px;
}
#footer_box{
	background:#22814b;
	width:100%;
	text-align:center;
	}

.ad_box{
	font-size:0.8125rem;
	color:#fff;
	padding:10px 0;
	border-bottom:1px solid #fff;}
	
footer .contact{
	color:#f4f5d2;
	padding-top:10px;
	font-size:100%;
	font-size:0.8125rem;

	letter-spacing: -1px;
	
	}
	}

footer p, footer h4,address{
color:#fff;
	line-height:1.5em;
	}


footer .contact > span{
	font-weight:bold;
	}
address{ padding:2px 0 2px;font-style:normal;}
.copyright{
	clear:both;
	color:#fff;
	padding:10px;
	display:block;
	font-size:0.9em;
	background-color:#22814b;
	text-align:center;
	}
#pageTop{
	bottom: 60px;
    opacity: 0;
	height:50px;
	width:50px;
	cursor:pointer;
	border-radius:25px;
	background-color:#22814b;
    position: fixed;
    right: 50px;
    text-align: right;
	background-image: url(/assets/img/common/pagetop.jpg);
    background-repeat: no-repeat;
	background-position:center center;
	z-index:777;}


@media (min-width: 640px) {
	#Sp_Contact{
		display:none;
}
	}
@media (max-width: 639px) {
#pageTop,.TOP_arrow{
	display:none !important;}
#Sp_Contact{
	width:100%;
	background-color:#fff;
	border:2px solid #009c51;
	font-size:1.0525rem;
	position:fixed;
	color:#fff;
	right:0px;
	bottom:0px;
	z-index:9999;
	display:inline-block;
}
#Sp_Contact ul{ 
	color:#009c51;
	overflow:hidden;
	height:50px;
}

#Sp_Contact ul li{float:left;}

#Sp_Contact ul li:first-child{
	width:50%;
	height:100%;
	font-weight:bold;
	font-size:1rem;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center; /* 縦方向中央揃え（Safari用） */
	align-items: center; /* 縦方向中央揃え */
	-webkit-justify-content: center; /* 横方向中央揃え（Safari用） */
	justify-content: center; /* 横方向中央揃え */}

#Sp_Contact ul li:nth-child(2){
	border-left:2px solid #009c51;
	width:30%;
	height:90%;
	margin:3px;
	box-sizing:border-box;
}
#Sp_Contact ul li:nth-child(2) p{
	padding:2px;
	font-size:0.75rem;
	color:#009c51;
	}
#Sp_Contact ul li:last-child{
	height:100%;
	width:15%;
	float:right;
    background-image: url(/assets/img/common/tel_icon.gif);
    background-repeat: no-repeat;
	background-position:center center;
    background-size: 70%;
	background-color:#009c51;
	height:100%;
}
#Sp_Contact ul li:last-child a{
    display: block;
    text-indent: 100%;
    overflow: hidden;
    white-space: nowrap;
}

	}
/*メイン*/
