@charset 'UTF-8';

@font-face {
  font-family: "consola";
  src: url("../font/consola.eot") format('eot'),
       url("../font/consola.woff") format('woff');
}
@font-face {
  font-family: "NotoSansCJKJP";
  src: url("../font/font/NotoSansCJKJP.otf") format('otf'),
       url("../font/font/NotoSansCJKJP.woff") format('woff');
}
.f_consola {
  font-family: "consola";
}
.f_notosans {
  font-family: "NotoSansCJKJP";
}
body{
	background-color: #f8f8ea;
	font-family: "NotoSansCJKJP", serif;
}
.title .open_form{
	font-size:16px;
	font-weight:500;
	color: #fff;
	background: #3fa27b;
	padding:20px 30px;
}
h2{
	font-size: 44px;
	font-family: "consola", serif;
}
.sub_title{
	color: #686868;
	font-size: 18px;
	margin-left: 15px;
}

/*==================================
l_visual
==================================*/

.l_visual {
	height:730px;
	position: relative;
	top:-50px;
}

.l_visual .title {
    left: 38%;
    margin-left: -280px;
    margin-top: -100px;
    position: absolute;
    /*text-align: center;*/
    top: 70%;
    z-index: 10;
	display: block;
}
.l_visual ul{height: 100%;}
.l_visual ul li {
	text-align: center;
}

.flexslider,.slides,.flexslider li{
	height:730px;
}

.flexslider li{
	-webkit-background-size: cover !important;
	-moz-background-size: cover !important;
	background-size: cover !important;
	background-position: center 50% !important;
}

/*==================================
l_visual_end
==================================*/

.header_wapper{
	width: 100%;
}
#wrapper{
	}
#header{
	width:1000px;
	height:100px;
	margin:auto;
}
.logo{
	position: absolute;
	top:30px;
	left: 30px;
}
.navi ul{ 
  position: fixed;
  right: 1%;
  top:15px;
  font-size: 18px;
	width: 110px;
	height: 255px;
	z-index: 30;
	font-weight: bold;
}
.navi a:link{color:#000;}
.navi a:visited{color:#000;}
.navi li{
	padding:15px 20px;
	text-align: left;
	font-family: "consola";
}
.center{
	width:1000px;
	margin:0px auto;
}

#introduction{
	height:700px;
}

#about{height: 570px;
	margin-top: -150px;
}
.about{
	position:relative;
	margin: 0 auto;
	z-index: 20;
	background-image:url(../img/about.png);
	background-repeat: no-repeat;
	background-position:center;
	height: 500px;
	width: 1030px;
}
.about_text{
	position:absolute;
	top:80px;
	right: 70px;
	width: 590px;
	font-size: 15px;
	line-height:30px;
}
#works{
	background: url(../img/works_bg.jpg);
	background-attachment:fixed;
	background-size: 100%;
	height: 800px;
	padding-top:70px;
	padding-bottom: 70px;
}
.works{
	background-image:url(../img/works.png);
	background-repeat: no-repeat;
	background-position:center;
	width: 1030px;
	height: 800px;
	margin:0 auto;
}
.works_text{
	position:relative;
	top:70px;
	width: 890px;
	font-size: 15px;
	line-height:30px;
	margin: 0 auto;
}
.works_btn{
	width: 275px;
	padding:15px 0;
	border: 1px solid #3fa27b;
	position: relative;
	top:540px;
	display: block;
	font-size: 15px;
	color: #3fa27b;
	font-weight: bold;
	margin: 0 auto;
	text-align: center;
}
#works a:hover{color: #3fa27b;}

#concept{
}
.concept{
	width: 890px;
	margin: 0 auto;
	padding: 70px;
	display: flex;
}
.concept_text{
	font-size: 15px;
	line-height:30px;
	width: 590px;
}
.concept_btn{
	width: 275px;
	display: block;
	text-align: center;
	color: #fff;
	padding:15px 0;
	font-size: 15px;
	font-weight: bold;
	background: #3fa27b;
	margin-top: 40px;
}
#concept a:hover{color: #fff;}

#recruit{
	background: #6ac5a1;
}
#recruit h2{
	color: #fff;
	margin-bottom: 0;
}
#recruit .sub_title{
	color: #fff;
	font-size: 18px;
	margin-bottom: 30px;
}
.recruit{
	width: 1030px;
	margin: 0 auto;
	padding: 70px 0;
	text-align: center;
}
.recruit_table_wrap{
	font-size: 15px;
	width: 1030px;
	text-align: center;
	background: #fff;
	padding-bottom: 70px;
	margin-bottom: 40px; 
}
#recruit h3{
	text-align: center;
	margin: auto;
	font-size: 21px;
	font-weight: bold;
	padding:30px 0;
}
.recruit_table{
	margin:auto;
	width: 890px;
}
.recruit_table tr{
	border: 1px solid #dcdcdc;
}
.recruit_table th{
	background: #f9f9f2;
	vertical-align: middle;
	width: 200px;
}
.recruit_table td{
	text-align: left;
	padding: 30px;
	line-height: 30px;
}
.recruit_table span{
	font-size: 13px;
	color:#7c7c7c;
	line-height: 20px;
}
.recruit_btn{
	width: 500px;
	display: block;
	text-align: center;
	color: #1a9766;
	padding:25px 0;
	font-size: 18px;
	font-weight: bold;
	background: #fff;
	margin: 0 auto;
	border-radius:40px;
	box-shadow: 5px 5px;
}
#recruit a:hover{color: #1a9766;}

#company{
	background: url(../img/company_bg.jpg);
	background-attachment:fixed;
	background-size: 100%;
	height: 780px;
	padding-top:70px;
	padding-bottom: 70px;
}
.company{
	background-image:url(../img/company.png);
	background-repeat: no-repeat;
	background-position:center;
	width: 1030px;
	height: 780px;
	margin:0 auto;
}
.company_text{
	position:relative;
	top:70px;
	width: 890px;
	font-size: 15px;
	line-height:30px;
	margin: 0 auto;
}
#company dl{
   width: 890px;
}
#company dt{
	float: left;
	width: 150px;
	font-size: 15px;
	font-weight: bold;
	margin-right: 40px;
	margin-bottom: 4px;
}
#company dd{
	margin-left: 190px;
	margin-bottom: 4px;
}

#Gmap {
	width: 100%;
	height: 625px;
}

#fb{
	width: 340px;
	margin-top: -470px;
	position: absolute;
	right: 20px;
	border: 3px solid #fff;
	border-radius: 5px;
	box-shadow: 0px 0px 10px rgba(0,0,0,0.7);
}

.img-100per{width: 100%;}
.img-row{
	height: 33.31%;
	width: 33.31%;
}
.footer{
	height:60px;
	padding-top:30px;
	padding-bottom:20px;
	color:#FFFFFF;
	background-color:#333;
}

address a:link, address a:active, address a:hover, address a:visited{color: white;}
small{
	float: right;
	padding-bottom: 10px;
	margin-right: 20px;
	background-color:#333;
}
small a:link, small a:visited{color: #aaaaaa;}

.text_left{ text-align:left;}
.contents_width{	
	width:1000px;
	margin:0px auto;
}
.right{
	float:right;
}
.left{float: left;}

.w100per{width: 100%;}
li a:link{color:#fff;}
li a:visited{color:#fff;}


/*==================================
contact
==================================*/

.contact_wrapper{
	display: none;
	background:rgba(0,0,0,0.6);
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:100%;
	z-index:999;
	display:table;
	display: none;
}

.contact_inner{
	display:table-cell;
	vertical-align:middle;
}

.contact_layout{
	width:980px;
	margin:0 auto;		
	position:relative;
}

.contact_inner .contact_table{
	width:880px;
	height:800px;
	margin:0 auto;
	overflow-y:scroll;
	background:#fff;
	padding:70px;
	box-sizing:border-box;
	border:3px solid #ddd;


}

.contact_inner .contact_caption{
	border-bottom:1px solid #000;
}

.contact_inner .contact_caption h1{
	font-size:1.4em;

}

.contact_inner .contact_caption h1 span{
	font-size:0.7em;
	margin-left:10px;
}

.contact_inner .contact_caption h1 span b{
	color:#d84f35;
}

.contact_inner form {
	margin:40px 0;
}

.contact_inner form table{
	margin:0;
	width:100%;
}


.contact_inner form th{
	width:24%;
	text-align:left;
	vertical-align:top;
	padding:10px 0;
}

.contact_inner form th b{
	color:#d84f35;	
}

.contact_inner form table td{
	border-left:1px solid #000;	
	padding:10px 0 10px 5%;	
	width:70%;
}

.contact_inner form table td  input[type="text"]{
	height:30px;
	line-height:30px;
	border:1px solid #000;
}

.contact_inner form table td  input[type="radio"]{
	margin-right:5px;
}

.contact_inner form table td  input.short{
	width:60%;
}

.contact_inner form table td  input.long{
	width:100%;
}

.contact_inner form table td p{
	margin-bottom:5px;
}

.contact_inner form table td p:last-child{
	margin-bottom:0;
}

.contact_inner form table td textarea{
	border:1px solid #000;
	width:100%;
	resize:none;
}

p.submit{
	width:280px;
	margin:40px auto 0;
}

p.submit input{
	width:100%;
	background:#3fa27b;
	border:none;
	color:#fff;
	padding:10px 0;
}

.privacy{
	width:100%;
	height:300px;
	padding:10px;
	-webkit-box-sizing:border-box;
	box-sizing:border-box;	
}

p.close{
	position: absolute;
	top: -32px;
	right: 14px;
	color: #fff;
	width: 32px;
	height: 32px;
	background: url(../img/close.png);
	cursor: pointer;
	text-indent: 1px;
}


/*==================================
privacy
==================================*/

.privacy_wrapper{
	background:rgba(0,0,0,0.6);
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:100%;
	z-index:999;
	display:table;
	display: none;
}

.privacy_inner{
	display:table-cell;
	vertical-align:middle;
}

.privacy_layout{
	width:980px;
	margin:0 auto;		
	position:relative;
}

.privacy_inner .privacy_table{
	width:880px;
	margin:0 auto;
	overflow-y:scroll;
	background:#fff;
	padding:70px;
	box-sizing:border-box;
	border:3px solid #ddd;
}

.privacy_inner .privacy_caption{
	border-bottom:1px solid #000;
}

.privacy_inner .privacy_caption h1{
	font-size:1.4em;
}

.privacy_inner .privacy_caption h1 span{
	font-size:0.7em;
	margin-left:10px;
}

.privacy_inner .privacy_caption h1 span b{
	color:#d84f35;
}

.privacy_wrapper .privacy {
	width: 100%;
	height: 300px;
	padding: 10px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	margin-top: 10px;
}


.flex{display: flex;}
.mb10{margin-bottom: 10px;}
.mb20{margin-bottom: 20px;}
.mr20{margin-right: 20px;}
.mb30{margin-bottom: 30px;}
.ml50{margin-left: 50px;}
.text_center{text-align: center;}
