/*---------------------
	共有部分
----------------------*/
body,html{
    padding:0;
    margin:0;
}
*{
	box-sizing:border-box;

}
.forpc{
	display:block !important;
}
.forsp{
	display:none !important;
}
a{
	color:rgba(153,213,51,1) !important;
}
a:hover{
	color:rgba(232,235,8,1) !important;
}
a:hover img{
	opacity:0.6;
}
#main{
	width:95%;
	max-width:1500px;
	margin:50px auto;
	font-size:100%;
	border:1px solid #ccc;
	padding:30px 50px 50px;
}
.contents{
	margin:80px 0;
}
/*h2*/
h2{
	font-size:34px;
	margin-bottom:80px;
	padding-bottom:10px;
	position:relative;
	text-align:center;
}
h2::before {
    width: 100%;
    height: 10px;
    background: rgba(153,213,51,1);
    display: block;
    content: "";
    overflow: hidden;
    position: absolute;
    bottom: -5px;
}

h2::after {
    width: 40%;
    height: 10px;
    background: rgba(232,235,8,1);
    display: block;
    content: "";
    overflow: hidden;
    position: absolute;
    bottom: -5px;
}

/*header*/
header{
	display:table;
	width:100%;
	position:relative;
}
header #header_title,
header #gnav{
	display:table-cell;
	vertical-align:middle;
}
header #gnav{
	padding-top:120px;
}
header #header_title h1{
	width:220px;
	font-size:310%;
	font-weight:bold;
	letter-spacing:5px;
	text-align:center;
	margin:0;
	padding:0;
}
header #header_title h1 img{
	width:100%;
	height:auto;
	display:block;
	margin-bottom:10px;
}

/*gnav*/
#gnav{
	text-align:right;
	width:auto;
}
#gnav ul{
	border-bottom:5px solid #99d533;
	padding-bottom:20px;
	margin-bottom:5px;
}
#gnav li{
	display:inline-block;
	width:auto;
	padding:0 0 0 3%;
}
#gnav li a{
	color:#000 !important;
}

/*TELFAX*/
header p{
	position:absolute;
	top:10px;
	right:0;
	line-height:1.4em;
	text-align:right;
}
header p a{
	color:#000 !important;
}
header p span{
	font-size:24px;
	font-weight:bold;
	color:#99d533;
}
header p small{
	font-size:13px;
	display:inline-block;
	margin:0 -7px 0 0;
}

/*index*/
.main_img{
	display:table;
	width:100%;
	margin:30px 0 100px;
}
.main_img .flexslider{
	display:table-cell;
	width:65%;
}
.main_img .concept{
	display:table-cell;
	width:35%;
	background:#99d533;
	vertical-align:middle;
	padding:50px 40px 50px 50px;
	box-sizing:border-box;
}
.flexslider{
	margin:50px 0;
	border:none;
	border-right:5px solid #fff;
}
.concept p{
	line-height:2em;
	font-weight:bold;
	color:#fff;
	margin-bottom:2em;
	letter-spacing:1px;
}
.concept p:last-child{
	margin-bottom:0;
}
.concept img{
	width:100px;
	height:auto;
	text-align:center;
	display:block;
	margin:-30px auto 30px;
}


/*top_contetns*/
.top_contetns ul{
	width:100%;
	margin:0;
	padding:0;
}
.top_contetns li{
	list-style:none;
	float:left;
	width:19%;
	margin-right:1%;
}
.top_contetns li:last-child{
	margin-right:0;
}
.top_contetns li a img{
	width:100%;
	height:auto;
}
.top_contetns li a span{
	display:block;
	margin:10px 0;
}

/*corp*/
.corp{
	float:left;
	width:48%;
}
.message{
	float:right;
	width:45%;
}
.corp table{
	width:100%;
}
.corp th,
.corp td{
	border:1px solid #ccc;
	padding:20px;
	line-height:1.5em;
}
.corp th{
	background:rgba(153,213,51,0.1);
	text-align:center;
}
.corp td ul{
	padding-left:40px;
}
.corp td li{
	list-style:decimal outside;
	padding:10px 0;
}
.corp td i{
	font-size:20px;
	color:rgba(255,0,0,1);
}

/*message*/
.message p{
	line-height:1.7em;
	margin-bottom:2em;
}
.message p.text_center{
	text-align:center;
}
p.text_right{
	text-align:right;
}
.message p.text_right img{
		width:50%;
	height:auto;
}

/*service_box*/
.service_box{
	width:100%;
	margin-bottom:100px;
}
.service_box_text{
	float:left;
	width:45%;
}
.service_box_text h3{
	background:url(../img/header/logo.png) no-repeat rgba(153,213,51,0.2);
	background-size:contain;
	padding:15px 20px;
	font-size:28px;
	margin-bottom:20px;
	text-align:center;
	font-weight:bold;
}
.service_box_text p{
	line-height:1.7em;
	margin-bottom:2em;
}
.service_box_img{
	float:right;
	width:48%;
}
.service_box_img img{
	width:100%;
	height:auto;
}


.flexslider {
    margin: 0 !important;
    border:none;
    position: relative;
		box-shadow:none !important;
}
.flexslider li{
	padding:0 !important;
}
.flexslider li img{
	border:none;
	box-shadow:none;
}
.flex-control-thumbs li {
	width: 12.2% !important;
	float: left;
	margin: 0;
	padding:5px 5px 5px 0 !important;
}
.flex-control-thumbs li img{
	padding:2px;
	border:none;
	box-shadow:none;
}
.flex-control-thumbs {
    margin:10px 0 0 !important;
    position: static;
    overflow: hidden;
}


/*staff*/
.staff_box{
	display:table;
	width:100%;
}
.staff_img{
	display:table-cell;
	width:50%;
	padding-right:5%;
	vertical-align:middle;
}
.staff_img img{
	width:100%;
	height:auto;
}
.staff_text{
	display:table-cell;
	width:50%;
	vertical-align:middle;
}
.staff_text p{
	line-height:1.5em;
}

/*solar*/
.solar_text{
	float:left;
	width:45%;
}
.solar_text p{
	line-height:1.5em;
}
.solar_text ul{
	margin-top:50px;
}
.solar_text li{
	margin-bottom:50px;
	padding:30px;
	background:#f0f0f0;
}
.solar_text h3{
	font-size:21px;
	padding-bottom:10px;
}
.solar_text h3 span{
	font-size:40px;
	padding-right:10px;
	font-weight:bold;
}
.solar_img{
	float:right;
	width:45%;
}
.solar_img img{
	display:block;
	margin-bottom:20px;
	width:100%;
	height:auto;
}



/*recruit_message*/
.recruit_message{
	float:left;
	width:50%;
}
.recruit_message p{
	font-size:18px;
	line-height:1.7em;
	margin-bottom:2em;
}
.recruit_message h3{
	font-size:34px;
	font-weight:bold;
	margin-bottom:1em;
}

address{
	float:right;
	width:45%;
	background:#f0f0f0;
	padding:30px;
	border-radius:20px;
}
address h4{
	font-weight:bold;
	font-size:21px;
	margin:0 0 20px;
	padding:0 0 10px;
	border-bottom:1px solid #ccc;
	text-align:center;
}
address p{
	font-size:16px;
	line-height:1.5em;
	font-weight:normal;
	margin:0;
	padding:0;
}
address a{
	display:inline-block;
	text-align:center;
	background:rgba(153,213,51,1);
	color:#fff !important;
	padding:10px 30px;
	margin:10px 0 0;
}
address a i{
	color:#fff !important;
}
address a:hover{
	background:rgba(232,235,8,1);
	color:#000 !important;
}
address a:hover i{
	color:#000 !important;
}

/*term*/
.term_box{
	width:70%;
	margin:0 auto;
}
.term_box p{
	line-height:1.5em;
	margin-bottom:20px;
}
.term_box h3{
	font-size:18px;
	font-weight:bold;
	margin:50px 0 20px;
}
.term_box ul{
	padding:0 0 0 50px;
}
.term_box li{
	list-style:decimal outside;
	padding-bottom:15px;
	line-height:1.5em;
}
.sitemap_list{
	width:50%;
	margin:0 auto;
}
.sitemap_list ul{
	padding:0 0 0 50px;
	margin:30px 0;
}
.sitemap_list li{
	list-style:disc inside;
	padding:15px;
	line-height:1.5em;
}
.sitemap_list ul.page li,
.sitemap_list ul.sub{
	border-bottom:1px dotted rgba(153,213,51,1);
}
.sitemap_list ul.page li:last-child,
.sitemap_list ul.sub li:last-child{
	border-bottom:none;
}
.sitemap_list li a{
	color:#000 !important;
}
.sitemap_list ul.sub{
	padding-left:30px;
	margin:30px 0;
}
.sitemap_list ul.sub li a{
	font-size:13px;
}
/*footer*/
footer{
	border-top:3px solid rgba(232,235,8,1);
	text-align:center;
	margin-top:100px;
	padding:30px 0;
}
footer li{
	display:inline;
	padding:0 20px;
	border-right:1px solid #ccc;
	margin:0;
	line-height:1em;
	font-size:12px;
	letter-spacing:1px;
}
footer li a{
	font-size:12px;
	color:#000 !important;
}


/*totop*/
#totop{
	position: fixed;
	bottom: 50px;
	right: 20px;
	z-index:999999;
}
#totop{
	display:table;
	text-align:center;
	vertical-align:bottom;
	background:rgba(153,213,51,1) ;
	width:34px;
	height:34px;
	margin:2px auto 0;
	border-radius:17px;
}
#totop a{
	display:table-cell;
	vertical-align:middle;
	font-size:14px !important;
	line-height:0;
	color:#fff !important;
	text-decoration:none;
}