@charset "UTF-8";
/************** Hero Section ****************/

.hero {
	height: 640px;
	width: 100%;
	clear: both;
	background-image: url(../img/top/top_main_01.png);
	background-size: cover;
	background-position: center bottom;
}

.light {
	font-weight: bold;
	color: #717070;
}
.tagline {
	text-align: center;
	color: #FFFFFF;
	margin-top: 4px;
	font-weight: lighter;
	text-transform: uppercase;
	letter-spacing: 1px;
}
/************** service Section ****************/
.service{
	width: 90%;
	padding-top: 85px;
	padding-left: 5%;
	padding-right: 5%;
	font-size: 16px;
	padding-bottom: 90px;
	border: 2px solid #ECECEC;
}
.service_text {
	padding-top: 42px;
	text-align: center;
	line-height: 24px;
}
.service_illust{
	text-align: center;
	padding-bottom: 0px;
	margin-bottom: 90px;
}
.service_illust img {
	width: 100%;
	max-width: 776px;
	height: auto;
}

/************** features Section ****************/
.features{
	height: 728px;
	padding-top: 90px;
	padding-bottom: 90px;
	background-color: #B3B3B3;
	background: url(../img/top/top_feature_bg.png) no-repeat center center;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
	-moz-box-shadow: 0 3px 3px #d3d3d3;  
-webkit-box-shadow: 0 3px 3px #d3d3d3; 
	
}
.features_wrap {
	width: 90%;
	max-width: 1008px;
	height: 287px;
	margin-left: auto;
	margin-right: auto;
	margin-top: 104px;
	margin-bottom: 92px;
	padding-left: 5%;
	padding-right: 5%;
}
.features_column {
	width:28.33%;
	text-align: justify;
	font-weight: lighter;
	line-height: 25px;
	float: left;
	padding-left: 2.5%;
	padding-right: 2.5%;

}
.features_column img{
	width: 100%;
	max-width: 287px;
	height: auto;

}

/************** works Section ****************/
.works{
	padding-top: 85px;
	font-size: 14px;	
}
.works_wrap {
	width: 90%;
	max-width: 986px;
	height: 287px;
	margin-left: auto;
	margin-right: auto;
	margin-top: 80px;
	margin-bottom: 92px;
	padding-left: 5%;
	padding-right: 5%;
}
.works_column {
	width: 26.66%;
	float: left;
	padding-right: 10%;
	text-align: left;	
}
.works_column_last {
	width: 26.66%;
	float: left;
	padding-right: 0x;

}
.works_column img{
	width: 100%;
	height: auto;
}
.works h3{
	font-size: 18px;
	font-weight: bold;
	text-align: center;
	margin-bottom: 10px;
}
.works_wrap img{
	padding-bottom: 10px;	
	width: 100%;
	max-width: 244px;
	height: auto;

}
.works .bg_blk{
	background-color: #000000;
	color: #FEFEFE;
	padding-top: 3px;
	padding-right: 6px;
	padding-bottom: 3px;
	padding-left: 6px;
	margin-right: 15px;
	font-weight: bold;
}
.loca{
	text-align: left!important	;
}

.fb{
	width: 100%;
	max-width: 1008px;
	margin-left: auto;
	margin-right: auto;
	margin-top: 108px;
	margin-bottom: 92px;
}
.balloon{
	margin-left: 5%;
	width: 45%;
	float: left;	
}
.balloon_sp{
	float: left;
	display: none;
}
.fb_plugin{
	float: left;
	width: 45%;
	margin-left: 5%;
}
.balloon img{
	width: 100%;
	max-width: 640px;
	height: auto;
}
	
/************** recruit Section ****************/
.recruit{
	width: 90%;
	padding-left: 5%;
	padding-right: 5%;
	padding-top: 85px;
	font-size: 16px;
	height: 435px;
	background-image: url(../img/top/top_recruit.png);
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
}
.recruit_wrap{
	width: 94%;
	padding-left: 3%;
	padding-right: 3%;
}
.recruit_text {
	padding-top: 42px;
	text-align: center;
	line-height: 24px;
	margin-bottom: 90px;
}


/************** contact Section ****************/
.contact{
	width: 94%;
	padding-top: 42px;
	padding-bottom: 42px;
	font-size: 16px;
	background-color: #f49a00;
	padding-left: 3%;
	padding-right: 3%;
	
}
.contact_text {
	text-align: center;
	line-height: 36px;
	font-size: 28px;
	font-weight: bold;
}
.contact_wrap {
	border-radius: 25px;        /* CSS3草案 */
	-webkit-border-radius: 25px;    /* Safari,Google Chrome用 */
	-moz-border-radius: 25px;   /* Firefox用 */
	background-color: #FFFFFF;
	height: auto;
	margin-left: auto;
	margin-right: auto;
	width: 94%;
	max-width:1200px;
	padding-top: 45px;
	padding-bottom: 45px;
	padding-left: 3%;
	padding-right: 3%;
	
}
.info2{
	text-align: center;
	margin-top: 32px;
}
.contact_btn{
	clear: both;
	width: 100%;
	max-width: 924px;
	margin-left: auto;
	margin-right: auto;
	margin-top: 30px;
}
.contact_btn img{
	width: 100%;
	height: auto;
}
.btn_fax{
	width: 42%;
	float: left;
	padding-bottom: 0px;
	margin-right: 16%;
}
.btn_mail{
	width: 42%;
	float: left;	
}

/************** news Section ****************/
.news{
	width: 94%;
	padding-left: 3%;
	padding-right: 3%;	
	padding-top: 42px;
	padding-bottom: 42px;
	font-size: 16px;
	background-color: #fff;
}
.news table{
	font-size: 16px;
	background-color: #fff;
	width: 100%;
	max-width: 600px;
	margin-top: 50px;
	margin-left: auto;
	margin-right: auto;
}
.news table td,.news table th{
	padding-top: 17px;
	padding-bottom: 17px;
}
.more{
	text-align: center;
	padding-left: 32px;
	padding-right: 32px;
}


/********************************************************  
                           sp 
**********************************************************************/

@media (max-width: 640px) {

/************** sp Hero Section ****************/

.hero {
	width: 100%;
	height: 400px;
	clear: both;
	background-position: -100px 0%;
}
/************** service Section ****************/
.service{
	padding-top: 55px;
	padding-bottom: 50px;
	font-size: 16px;
	border-top: 5px solid #ECECEC;
	border-right-width: 0px;
	border-bottom-width: 0px;
	border-left-width: 0px;
}
.service_illust{
	margin-bottom: 50px;
}
.service_text {
	padding-top: 42px;
	text-align: left;
	line-height: 24px;
}
/************** sp features Section ****************/
.features{
	width: 94%;
	height: auto;
	padding-top: 55px;
	padding-left: 15px;
	padding-right: 15px;
	background-color: #B3B3B3;
	background: url(../img/top/top_feature_bg.png) no-repeat center center;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
	padding-bottom: 50px;
}
.features_wrap {
	width: 100%;
	max-width: 1008px;
	height: auto;
	margin-left: auto;
	margin-right: auto;
	margin-top: 50px;
	margin-bottom: 50px;
	padding-left: 0%;
	padding-right: 0%;
}
/************** sp works Section ****************/
.works{
	padding-top: 55px;
	font-size: 16px;
	width: 100%;
	border-top: 5px solid #ECECEC;
}
.works_wrap {
	width: 100%;
	height: auto;
	margin-top: 50px;
	margin-bottom: 50px;
	padding-left:0px;
}
.works_column {
	width: 70%;
	float: none;
	margin-bottom: 30px;
	padding-right: 0%;
	text-align: center;
	margin-left: 15%;
	margin-right:  15%;
}

.works_column_last {
	width:70%;
	float: none;
	text-align:center;
	padding-right: 0x;
	margin-left: 15%;
	margin-right:  15%;
	margin-bottom: 0px;
}
.works_wrap img{
	width: 100%;
	height: auto;
	max-width: 640px;	
	}
.works h3{
	font-size: 14px;
	text-align: center;

	}
.fb{
	width: 100%;
	max-width: 1008px;
	margin-left: auto;
	margin-right: auto;
	margin-top: 50px;
	margin-bottom: 40px;
}

.balloon{
	display: none;
	margin-bottom: 0px;
	
}
.balloon_sp{
	float: none;
	display: block;
	margin-bottom: 0px;
	}
.fb_plugin{
	margin-right: 10%;
	margin-left: 10%;
	float: none;
	width: 80%;
	text-align: center;
}
/************** sp recruit Section ****************/
	.recruit{
		border-top: 5px solid #ECECEC;
	padding-top: 50px;
	font-size: 16px;
	height: auto;
	padding-bottom: 50px;	
}
	.recruit_text {
	padding-top: 42px;
	text-align: left;
	line-height: 24px;
	margin-bottom: 50px;
}

/************** sp contact Section ****************/	
.contact{
	padding-top: 42px;
	padding-bottom: 42px;
	font-size: 14px;
	background-color: #f49a00;
	padding-left: 3%;
	padding-right: 3%;
	
}
.contact_text {
	text-align: center;
	line-height: 36px;
	font-size: 18px;
	font-weight: bold;
}
.info2{
	text-align: center;
	margin-top: 32px;
	width: 90%;
	margin-left: 5%;
	margin-right: 5%;
}
.btn_fax{
	float: none;
	width: 80%;
	margin-left:10%;
	margin-right:10%;
	padding-top: 0px;
}
.btn_mail{
	float: none;
	width: 80%;
	margin-left: 10%;
	margin-right: 10%;
	padding-top: 30px;
}

.more{
	clear: both;
	
}
.more img{
	width: 200px;
	
}





/************** news recruit Section ****************/
.news{
	width: 90%;
	padding-left: 5%;
	padding-right: 5%;
	
}
.news span{
	display: none;		
		
	}
.news table { 
	font-size: 16px;
	margin: 0 0; }
.news table th{
	padding-top: 20px;
	width: 100%;
	display: block;
	text-align: left;
	padding-bottom: 0px;		
	}
.news table td{
	width: 100%;
	display: block;
	border-bottom: 1px solid #ddd;
	padding-top: 0px;
    }
.news table tr:last-child th   {
	border-bottom: 1px none #ddd;
}

	
}
