@charset "utf-8";

/* common
----------------------------------------------------------------------------------*/

body {
	margin: 0;
	padding: 0;
	font-size: 87.5%;
	font-family: Verdana,Arial,"メイリオ",Meiryo,"Osaka","ヒラギノ角ゴPro W3","Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック",sans-serif;
	line-height: 1.8;
	color: #646464;
	vertical-align: top;
	background: #ffffff;
	-webkit-text-size-adjust: 100%;
}

a:link   {color: #649600;text-decoration: underline;}
a:visited{color: #649600;text-decoration: underline;}
a:hover  {color: #ff6400;text-decoration: none;}
a:active {color: #649600;text-decoration: underline;}

strong{color: #0078be;font-weight: bold;}

.fa{margin-right: 4px;}

.link{
	position: relative;
	padding-left: 13px;
}
.link:before{
	position: absolute;
	left: 0;
	top: -1px;
	content: "\f0da";
	font-family: "FontAwesome";
	color: #649600;
}
.btn{
	display: inline-block;
	padding: 10px 20px;
	background: #649600;
}
.btn:hover{
	background: #ff6400;
}
.btn span{
	position: relative;
	padding-left: 10px;
	color: #fff;
}
.btn span:before{
	position: absolute;
	left: 0;
	top: -1px;
	content: "\f0da";
	font-family: "FontAwesome";
	color: #fff;
}
.indent li{
	padding-left: 1em;
	text-indent: -1em;
}

/* structure
----------------------------------------------------------------------------------*/
.inner{
	width: 1000px;
	margin: 0 auto;
}
#contents{
	float: left;
	width: 735px;
}
.print #contents{
	float: none;
	width: 100%;	
}
#side{
	float: right;
	width: 200px;
}
@media only screen and (max-width: 640px){
	.inner{
		width: auto;
		padding: 0 10px;
	}
	#contents{
		float: none;
		width: auto;
		margin: 0 0 30px;
	}
	#side{
		float: none;
		width: auto;
	}
}




/* header
----------------------------------------------------------------------------------*/
#header{
	position: relative;
	padding: 30px 0 7px;
}
#header .h-tel{
	position: absolute;
	top: 40px;
	right: 0;
}
#header .h-tel2{
/*	position: absolute;*/
/*	top: 55px;*/
	right: 0;
	float: right;
	margin: -60px 0 0 15px;
}
@media only screen and (max-width: 640px){
	#header{
		padding: 10px;
		text-align: center;
		overflow: hidden;
	}
	#header .h-logo{
		margin: 0 0 10px;
		text-align: center;
	}
	#header .h-tel{
		position: static;
		float: left;
		width: 200px;
	}
		#header .h-tel2{
		position: static;
		float: left;
		width: 130px;
		margin: 5px 15px 0 0px;
	}
	#header .btn-menu{
		float: right;
		margin-left: 10px;
		text-align: right;
		font-size: 40px;
		line-height: 1;
	}
	#header .btn-menu i{
		color: #75a606;
		cursor: pointer;
	}
}

@media only screen and (min-width: 641px){
	#header #gnavi{display: block!important;}
}


/* fontChange
----------------------------------------------------------------------------------*/
#fontChange{
	position: absolute;
	top: 0;
	right: 0;
	padding: 5px 10px;
	border: 1px solid #999;
	border-top: none;
	-webkit-border-radius: 0px 0px 10px 10px;
	-moz-border-radius: 0px 0px 10px 10px;
	border-radius: 0px 0px 10px 10px;
}
#fontChange li{
	display:inline-block;
	*display:inline;
	height:26px;
	margin-left:2px;
	text-indent:-999999px;
	vertical-align:middle;
	line-height:1;
	cursor:pointer;
	zoom:1;
}
#fontChange li.title{
	display:inline-block;
	margin:0;
	text-indent:0;
	font-weight:bold;
	line-height:26px;
	cursor:default;
}
#fontChange li.title img{margin:7px 0 0;}
#fontChange li#fontS{width:18px;background:url(../img/fontsize.png) no-repeat left top;}
#fontChange li#fontM{width:22px;background:url(../img/fontsize.png) no-repeat -18px top;}
#fontChange li#fontL{width:26px;background:url(../img/fontsize.png) no-repeat right top;}

#fontChange li#fontS.change.active{background:url(../img/fontsize.png) no-repeat left bottom;}
#fontChange li#fontM.change.active{background:url(../img/fontsize.png) no-repeat -18px bottom;}
#fontChange li#fontL.change.active{background:url(../img/fontsize.png) no-repeat right bottom;}

#fontChange li#fontS:hover{background:url(../img/fontsize.png) no-repeat left bottom;}
#fontChange li#fontM:hover{background:url(../img/fontsize.png) no-repeat -18px bottom;}
#fontChange li#fontL:hover{background:url(../img/fontsize.png) no-repeat right bottom;}

/* フォントサイズ */
.fontS{font-size: 87.5%;}
.fontM{font-size: 100%;}
.fontL{font-size: 112.5%;}

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

/* globalnavi
----------------------------------------------------------------------------------*/
#gnavi{margin: 0 auto 30px;}
#gnavi li{
	position: relative;
	float: left;
	width: 125px;
}
#gnavi li a{
	display: block;
	width: 125px;
	height: 130px;
	text-indent: 100%;
	white-space: nowrap;
	background: url(../img/gnavi.png) 0 0 no-repeat;
	overflow: hidden;
}
#gnavi li.nav01 a{background-position: 0 0;}
#gnavi li.nav02 a{background-position: -125px 0;}
#gnavi li.nav03 a{background-position: -250px 0;}
#gnavi li.nav04 a{background-position: -375px 0;}
#gnavi li.nav05 a{background-position: -500px 0;}
#gnavi li.nav06 a{background-position: -625px 0;}
#gnavi li.nav07 a{background-position: -750px 0;}
#gnavi li.nav08 a{background-position: right 0;}

#gnavi li.nav01 a:hover{background-position: 0 bottom;}
#gnavi li.nav02 a:hover{background-position: -125px bottom;}
#gnavi li.nav03 a:hover{background-position: -250px bottom;}
#gnavi li.nav04 a:hover{background-position: -375px bottom;}
#gnavi li.nav05 a:hover{background-position: -500px bottom;}
#gnavi li.nav06 a:hover{background-position: -625px bottom;}
#gnavi li.nav07 a:hover{background-position: -750px bottom;}
#gnavi li.nav08 a:hover{background-position: right bottom;}


#gnavi li ul{
	display: none;
	position: absolute;
	top: 130px;
	width: 250px;
	z-index: 10000;
}
#gnavi li ul li{
	float: none;
	width: 250px;
}
#gnavi li ul li a{
	width: 100%;
	height: inherit;
	padding: 5px 10px;
	color: #fff;
	text-indent: 0;
	white-space: normal;
	border-top: 1px dotted #fff;
	background: #75a606;
}
#gnavi li ul li:first-child a{
	border-top: none;
}
#gnavi li ul li a:hover{
	background: #ff6400;
}
@media only screen and (max-width: 640px){
	#gnavi{
		display: none;
		margin: 10px 0 0;
		padding: 0;
		text-align: left;
		border-top: 1px solid #c8c8c8;
	}
	#gnavi li,
	#gnavi li ul li{
		display: block;
		padding: 0;
		width: 100%;
	}
	#gnavi li a,
	#gnavi li ul li a{
		position: relative;
		display: block;
		width: auto;
		height: inherit;
		padding: 15px 30px 15px 10px;
		color: #649600;
		text-indent: 0;
		border-top: none;
		border-bottom: 1px solid #c8c8c8;
		background: none;
	}
	#gnavi li a:hover,
	#gnavi li ul li a:hover{
		text-decoration: none;
	}
	#gnavi li a:before {
		position: absolute;
		right: 10px;
		top: 16px;
		color: #75a606;
		font-family: 'fontAwesome';
		content:"\f054";
	}
	#gnavi li a[href="#"]:before {
		position: absolute;
		right: 10px;
		top: 16px;
		color: #75a606;
		font-family: 'fontAwesome';
		content:"\f078";
	}
	#gnavi li ul li a:before{color: #fff;}
	#gnavi li ul{
		position: static;
		width: 100%;
	}
	#gnavi li ul li a{
		color: #fff;
		border-bottom: 1px solid #fff;
		background: #75a606;
	}
	#gnavi li ul li a:hover{
		text-decoration: none;
		background: #75a606;
	}
}

@media only screen and (min-width: 641px){
	#gnavi{display: block!important;}
}


/* side
----------------------------------------------------------------------------------*/
#side li{
	margin: 0 0 20px;
}
#side li .link:before{
	top: 2px;
}
@media only screen and (max-width: 640px){
	#side{
		margin: 0 -5px;
		letter-spacing: -0.5em;
		overflow: hidden;
	}
	#side li{
		display: inline-block;
		width: 50%;
		padding: 0 5px;
		letter-spacing: normal;
		vertical-align: top;
	}
	#side li p{font-size: 12px;}
	#side li .link{font-size: 14px;}
}


/* topicpath
----------------------------------------------------------------------------------*/
#topicpath{
	margin: 5px auto 40px;
}
#topicpath li{
	margin-right: 10px;
}
@media only screen and (max-width: 640px){
	#topicpath{display: none;}
}


/* title
----------------------------------------------------------------------------------*/
.service #pttl,
.challenge #pttl   {background: url(../img/pttl/bg-service.jpg) center 0 repeat-x;}
.construction #pttl{background: url(../img/pttl/bg_construction.png) center 0 repeat-x;}
.company #pttl     {background: url(../img/pttl/bg-company.jpg) center 0 repeat-x;}
.recruit #pttl     {background: url(../img/pttl/bg-recruit.jpg) center 0 repeat-x;}
.inquiry #pttl,
.policy #pttl      {background: url(../img/pttl/bg-inquiry.jpg) center 0 repeat-x;}
.sitemap #pttl     {background: url(../img/pttl/bg-sitemap.jpg) center 0 repeat-x;}

h1.ttl1{
	margin: 0 0 30px;
	padding: 30px 100px 10px 0;
	color: #0078be;
	font-size: 171.428%;
	font-weight: bold;
	border-bottom: 1px solid #969696;
	background: url(../img/bg-ttl1.png) right bottom no-repeat;
}
h2.ttl2{
	margin: 50px 0 25px;
	padding: 20px 0 20px 35px;
	font-size: 128.571%;
	font-weight: bold;
	line-height: 1.4;
	border-top: 1px solid #75a606;
	border-bottom: 1px solid #75a606;
	background: url(../img/bg-ttl2.png) left center no-repeat;
}
h2.ttl2 span{
	float: right;
	margin: 5px 0 0;
	font-size: 12px;
	font-weight: normal;
}
h2.ttl2 strong{color: #ff3232;font-weight: bold;}
h3.ttl3{
	margin: 0 0 15px;
	font-size: 142.857%;
	font-weight: bold;
}
.company h3.ttl3{color: #75a606;}

@media only screen and (max-width: 640px){
	#pttl{margin: 0 auto 20px;}
	h1.ttl1{padding: 30px 0 10px 0;}
}


/* footer
----------------------------------------------------------------------------------*/
#footer-wrap{
	position: relative;
	margin: 200px 0 0;
	padding: 100px 0 0;
	background: url(../img/bg-footer.png) center top repeat-x;
}
#footer{
	padding: 30px 0;
	color: #fff;
	text-align: center;
	background: #75a606;
}
#footer .f-logo{
	margin: 0 0 15px;
	text-align: center;
}
#footer .f-navi{
	margin: 0 0 15px;
	text-align: center;
}
#footer .f-navi li{
	margin: 0 15px;
}
#footer .f-navi li a{
	color: #fff;
}
#sns-btn{
	margin: 20px 0 15px;
    text-align: center;
}
#sns-btn span {
    display: inline-block;
    *display:inline;
    overflow: hidden;
    line-height: 1;
    vertical-align:top;
    zoom:1;
}
#sns-btn span img{
    max-width:100%;
    height:auto;
    vertical-align: text-top;
}
#sns-btn span#btn_facebook {
    width: 150px;
}
#sns-btn span#btn_google {
    width: 58px;
}
#sns-btn span#btn_twitter {
    width: 68px;
}
#sns-btn span#btn_line {
    width: 82px;
}
#sns-btn span#btn_line a{
    display: block;
    margin: -2px 0 0;
}
#footer .copyright{
	text-align: center;
}
.pagetop{
	position: fixed;
	right: 0;
	bottom: 15px;
	display: block;
}
#footer address{
	margin:10px auto 0;
}
#footer address a{
	display:block;
	color:white;
}
@media only screen and (max-width: 640px){
	#footer{
		padding: 30px 10px;
	}
	#footer .f-navi li{
		display: block;
		margin: 0;
	}
	#footer .f-navi li a{
		display: block;
		padding: 5px 0;
		text-align: center;
	}
	#footer address,
	#footer .copyright{
		font-size: 85.714%;
	}
}
