/* IMPORT RESET */
@import url("reset.css");

/* IMPORT 12 COLUMN RESPONSIVE GS */
@import url("responsive.gs.12col.css");

/* ICOMOON */
@import url("icomoon.css");


/*	EXAMPLE STYLES */
body {
	font-family: Meiryo,"メイリオ","ＭＳ Ｐゴシック",Osaka,sans-serif;
	color: #333;
	font-size: 13px;
	background-color:#ebede6;
}

/* ----------   header  --------------------- */
header {
	padding-bottom:0px;
	background-position: 0 0;
	background-color:#fff;
	background-repeat: repeat-x;
}


/* ----------   article  --------------------- */

article {
	margin:0px 0 10px;
}


main{
padding:0px 0px 30px 0px ;
}

@media only screen and (max-width: 768px) {
main{
padding:30px 8px 30px 8px ;
}
}

/* ----------   section  --------------------- */
section {

}

aside {
	margin:0px 0 10px;
}

#side_bar{
}

/* ----------   footer  --------------------- */
footer {
	padding:0px 0px 0px;
}

#link_area{
text-align:center;
margin:10px 0;
}


#link_area img{
margin:5px 0;
}


/* ----------   メインイメージ系  --------------------- */

#main_img {
	text-align:center;
	margin:20px 0 20px;
}


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

.nak_tt{
background:#2f7658 url(../common_img/border_ptn04.png) repeat center top;
}

.nak_tt h2{
font-weight:bold;
padding:3% 2% 3%;
font-size:160%;
color:#fff;
text-shadow:1px 1px 1px #237c74,-1px -1px 1px #237c74,1px 1px 1px #237c74,-1px -1px 1px #237c74,1px 1px 1px #237c74,-1px -1px 1px #237c74;
}

.nak_tt h2 span{
font-size:80%;
padding:0px 10px 0px 0px ;
color:#fff;
text-shadow:none;
}


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

.nak_tt{
background:#2f7658 url(../common_img/border_ptn04.png) repeat center top;
}

.nak_tt h2{
font-weight:bold;
padding:3% 2% 3%;
font-size:120%;
margin:0px 0px 0px ;
color:#fff;
text-shadow:1px 1px 1px #237c74,-1px -1px 1px #237c74,1px 1px 1px #237c74,-1px -1px 1px #237c74,1px 1px 1px #237c74,-1px -1px 1px #237c74;
}


}


/* ----------   G-MENU  --------------------- */


#menu-box{
  background:#2f7658 url(../common_img/g_nav_bg.png) repeat-x 0 0;
  margin:0px 0px 0px 0px ;
  padding:0px 0px 15px 0px ;
  position: relative;
}

#menu{
  margin: 0px 0 0px;
  padding: 0;
  font-size:110%;
}
#menu li{
  float: left;
  width: 16.66%;
  margin: 0;}

#menu li p{text-align: center;}


#menu li a{
  display: block;
  padding: 0px 0px 5px;
  color: #fff;
  text-align: center;
  font-weight:bold;
  text-decoration: none;
  background:url(../common_img/g_nav_li.png) no-repeat left bottom;
}


#menu li a:hover{
  background:url(../common_img/g_nav_li.png) no-repeat left bottom;
  color: #ff821d;
}


#menu li dd{ display:none; position: absolute; z-index:100; top:105px;padding:0; border:none;}


#menu li ul.sub_nav { padding:0 0 0;display:block; overflow: hidden;margin:0;font-size:80%;} 
#menu li ul.sub_nav li { width:200px;float: none; color:#fff; padding:0 0px; margin-bottom:1px; height:auto; list-style:none; }
#menu li ul.sub_nav li a { background:#2f7658!important;color:#fff; text-align:left; padding:10px 20px 10px 20px; height:auto;text-decoration:none;}
#menu li ul.sub_nav li a:hover { background:#ff821d!important;color:#fff; text-align:left;}
#menu li ul.sub_nav li a:before { content:'>'; float:right;margin-left:15px; }

#menu li ul.sub_nav li a {
	opacity:0.9;
	filter: alpha(opacity=90);
	-ms-filter: "alpha( opacity=90 )";
}

#menu li ul.sub_nav li a:hover {
	opacity:1;
	filter: alpha(opacity=100);
	-ms-filter: "alpha( opacity=100 )";
	-webkit-transition: opacity linear 0.4s; -moz-transition: opacity linear 0.4s; transition: opacity linear 0.4s;
}


#toggle{ 
 display: none;
}


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

#menu-box{
  background:#2f7658;
  margin:0px 0px 0px 0px ;
  padding:0px 0px 0px 0px ;
}

#menu{
  margin: 0px 0 0px;
  padding: 0;
  font-size:80%;
}

#menu li a{
  padding: 10px 0 10px;
}


.menu_ic{
display: none;
}
}

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

#menu{
  margin: 0px auto 0px;
}

#menu li dd{ display:none; position: absolute; z-index:100; top:50px;padding:0; border:none;}
#menu li ul.sub_nav { padding:0 0 0;display:block; overflow: hidden;margin:0;font-size:100%;} 
#menu li ul.sub_nav li { width:100%;float: none; color:#fff; padding:0 0px; margin-bottom:1px; height:auto; list-style:none; }
#menu li ul.sub_nav li a { background:#2f7658!important;color:#fff; text-align:left; padding:10px 20px 10px 20px; height:auto;text-decoration:none;}
#menu li ul.sub_nav li a:hover { background:#0063da!important;color:#fff; text-align:left;}
#menu li ul.sub_nav li a:before { content:'>'; float:right;margin-left:15px; }

}
@media only screen and (max-width: 480px) {
  #menu{
    display: none;
  }

#menu-box{
  background:none;
  margin:0px 0px 0px 0px ;
}

  #menu li{
    width: 100%;
    background:#fff;
    border-bottom:dotted 1px #ccc;
  }

  #menu li a{
    display: block;
    padding: 10px 0 10px;
    background:#228e60;
  }

  #menu li a:hover{
    color:#105638;
  }

  #menu li.nak{
    width: 100%;
    border-bottom:dotted 1px #fff;
    background:none;
  }
  #menu li.hom{
    width: 100%;
    border-bottom:dotted 1px #fff;
  }


  #toggle{
    display: block;
    position: relative;
    width: 100%;
    background:#2f7658;
    border-bottom:solid 1px #fff;
  }

  #toggle a{
    display: block;
    position: relative;
    padding: 10px 0 8px;
    color: #fff;
    text-align: center;
    text-decoration: none;
  }
  #toggle:before{
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    left: 10px;
    width: 20px;
    height: 20px;
    margin-top: -10px;
    background: #fff;
  }
  #toggle a:before, #toggle a:after{
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    left: 10px;
    width: 20px;
    height: 4px;
    background: #2e6006;
  }
  #toggle a:before{
    margin-top: -6px;
  }
  #toggle a:after{
    margin-top: 2px;
  }

#menu li dt{ position: relative;}
#menu li dd.ue{ display:none; position: absolute; z-index:100; top:119px;padding:0; border:none;width:100%;}
#menu li dd.sita{ display:none; position: absolute; z-index:100; top:210px;padding:0; border:none;width:100%;}
#menu li ul.sub_nav { padding:0 0 0;display:block; overflow: hidden;margin:0;font-size:100%;} 
#menu li ul.sub_nav li { float: none; color:#fff; padding:0 0px; margin-bottom:1px; height:auto; list-style:none; }
#menu li ul.sub_nav li a { background:#124b33!important;color:#fff; text-align:left; padding:10px 20px 10px 20px; height:auto;text-decoration:none;}
#menu li ul.sub_nav li a:hover { background:#0063da!important;color:#fff; text-align:left;}
#menu li ul.sub_nav li a:before { content:'>'; float:right;margin-left:15px; }

}





.btn01 {}

.btn01 a:before { content:'\e910'; margin-right:10px;font-family:'icomoon';color:#fff;font-size: 100%; }

.btn01 a{
	color:#fff;
	font-weight:bold;
	text-decoration:none;
	font-size:100%;
	display:block;
	padding:3px 10px;
	background:#ff6000;
	text-align:center;
	-webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px;
}

.btn01 a:hover{
	background:#007c1a;　/* Firefox用 */  
}

.btn02 {}

.btn02 a:before { content:'\e910'; margin-right:10px;font-family:'icomoon';color:#fff;font-size: 100%; }

.btn02 a{
	color:#fff;
	font-weight:bold;
	text-decoration:none;
	font-size:100%;
	display:block;
	padding:3px 10px;
	background:#ef0000;
	text-align:center;
	-webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px;
}

.btn02 a:hover{
	background:#ff7800;　/* Firefox用 */  
}

.link_box{
width:100%;
-webkit-transition: opacity linear 0.4s; -moz-transition: opacity linear 0.4s; transition: opacity linear 0.4s;
}

.bl-hover{
	opacity:0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha( opacity=70 )";
	-webkit-transition: opacity linear 0.4s; -moz-transition: opacity linear 0.4s; transition: opacity linear 0.4s;
}



#side_area{
margin:0px 0 20px;
background:#fff;
padding:2%;
}

#side_area h3{
text-align:center;
}

#side_area ul{
margin:15px 0 5px;
color:#2f7658;
}

#side_area ul li{
margin:0px 0 10px;
}

#side_area ul li a{
color:#2f7658;
text-decoration:none;
}

.side_add{
font-size:100%;
padding:0px 0px 0px 30px ;
background:url(../common_img/side_ic_01.png) no-repeat 0 0;
}

.side_tel{
font-size:140%;
padding:0px 0px 0px 40px ;
background:url(../common_img/side_ic_02.png) no-repeat 0 0;
}

.side_fax{
font-size:140%;
padding:0px 0px 0px 40px ;
background:url(../common_img/side_ic_03.png) no-repeat 0 0;
}

.side_gr a{text-align:center;padding:5px 0;margin:0 5px 10px;background:#2f7658;display:block;}
.side_en a{text-align:center;padding:5px 0;margin:0 5px 10px;background:#76372f;display:block;}

@media only screen and (max-width: 768px) {
#side_area{
margin:0 auto 20px;
width:90%;
}
}

.m_con_ff{
margin:0px 0 20px;
background:#fff;
padding:2%;
}

.m_con_ff .tt_top{
padding:7px 0px 7px 40px ;
margin:0px 0px 10px 0px ;
color:#237c74;
font-size:120%;
font-weight:bold;
background:url(../common_img/top_ic_01.png) no-repeat 0 0 ;
}




/* ----------   フッターナビ  --------------------- */



.fotter_bg{
background:#2f7658 url(../common_img/fotter_bg.png) repeat-x 0 0px;
}

.fnav {
width:100%;
margin:20px 0 0 20px;
}

.f_nav_logo{
width:320px;
margin:0 auto 10px;
}

.fnav li{
float:left;
margin:0 20px 5px 0;
color:#fff;
}

.fnav li a:before  { content:'>'; float:left;margin-right:5px;font-size:80%;padding:0px 3px;}

.fnav li a{
display:block;
color:#fff;
}

.fnav li a:hover{
color:red;
}


#site_copy{
text-align:center;
margin:40px 0 0 0;
padding:10px;
color:#fff;
background:#316a63;
}

/* ----------   デバイス毎の振り分け  --------------------- */


/*PC960px以上 */
@media only screen and (min-width: 960px) {


h1{
font-size:80%;
padding:0px 0 0px;
line-height:40px;
font-weight:normal;
color:#666;
text-align:left;
}

.logo{float:left;width:320px;padding:0px 0px 0px 0px ;}
.h_info{float:right;width:266px;padding:14px 0px 0px 0px ;}

}

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

h1{
font-size:70%;
padding:0px 0 0px;
line-height:1.8;
font-weight:normal;
color:#4e4e4e;
text-align:left;
}


.logo{float:left;width:320px;padding:0px 0px 5px 0px ;}
.h_info{float:right;width:266px;padding:14px 0px 0px 0px ;}

}

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

h1{text-align:center;}

.logo{float:none;width:320px;margin:0 auto;padding:0px 0px 10px 0px ;}
.h_info{float:none;width:266px;margin:0 auto;padding:0px 0px 20px 0px ;}



#side_bar{display:none;}
#pan {display:none;}

#page_up{width:25%;
margin:0px auto 0;
}
#page_up img{width:100%;}

}

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

#page_up{width:35%;
margin:0px auto 0;
}
#page_up img{width:100%;}

}


/* ロールオーバーで不透明度変更
-------------------------------------------------- */
.hover_img a:hover img,
a.hover_img:hover img {
	opacity:0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha( opacity=70 )";
	-webkit-transition: opacity linear 0.4s; -moz-transition: opacity linear 0.4s; transition: opacity linear 0.4s;
}


/* タイトルのスタイル
-------------------------------------------------- */

.tt_style01{
font-size:130%;
color:#fff;
background:#237c74 url(../common_img/border_ptn04.png) repeat 0 0px;
padding:5px 0px 5px 10px ;
font-weight:normal;
margin:30px 0px 25px;
}

.tt_style01:first-child{
margin:0px 0px 25px;
}

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


.tt_style01:first-child{
margin:0px 0px 25px;
}

}


.tt_style02{
font-size: 115%; 
color: #2f7658;
padding:3px 0 3px 10px;
margin:30px 0px 15px;
font-weight:bold;
border-bottom:dotted 1px #237c74;
border-left:solid 5px #237c74;
-webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px;
}

.tt_style02:first-child{
margin:0px 0px 15px;
}


/* ----------   特徴  --------------------- */

#point_box{
background:#438880;
margin:0px 0 20px;
padding:2% 3% 2% 3%;
}

#point_box h3{
font-size:160%;
padding:0px 0px 0px 0px ;
color:#fff;
font-weight:bold;
}

#point_box ul{
display:table;
width:100%;
border-collapse: separate;
border-spacing: 10px 0;
}

.point_li{
display: table-cell;
text-align:center;
}