@charset "UTF-8";

/* TOP */
@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);
@import url(https://fonts.googleapis.com/css?family=Pacifico);

/* reset */
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td{margin:0;padding:0;}
address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;}
ul{list-style:none;}
table{border-collapse:collapse;border-spacing:0;}
caption,th{text-align:left;}
q:before,q:after{content:'';}
object,embed{vertical-align:top;}
legend{display:none;}
h1,h2,h3,h4,h5,h6{font-size:100%;}
img,abbr,acronym,fieldset{border:0;}
button{background-color: transparent;border: none;cursor: pointer;outline: none;padding: 0;appearance: none;}

body{
	font-family: 'Noto Serif JP', serif;
	font-weight: 500;
	-webkit-text-size-adjust:100%;
	overflow-x: hidden;
	color: #000;
	background: #fff;
	width: 100%;
}

a{
	color: #000000;
	text-decoration: none;
}

a:hover, .active{
	text-decoration: none;
}

a:active, a:focus,input:active, input:focus{
	outline:0;
}


/*----- TOP -----*/
#top{
	position: relative;
}

#mainvisual{
	text-align: center;
	height: 800px;
	background-image: url("/common/img/main.jpg");
    background-color: #000000;
	background-size: cover;
	filter: grayscale(100%);
}

#catch{
    height: auto;
}

#catch .catch_main{
	font-size: 5em;
	font-weight: 800;
	/*mix-blend-mode: overlay;*/
	color: #333;
	margin-top: 200px;
}

#catch .catch_sub{
	font-size: 2em;
	font-weight: 800;
	color: #ffffff;
	/*mix-blend-mode: overlay;*/
	background-color: #333;
    width: 1000px;
    text-align: center;
    margin: 0 auto;
}

#headerWrap{
	display: flex;
	justify-content: space-between;
	height: 80px;
}

#headerWrap h1{
	padding: 20px;
}

#main_nav li {
    display: inline-block;
    padding: 23px 25px;
    font-size: 15px;
}

#main_nav a{
	color: #000;
}


/* 共通
------------------------------------------------------------*/

img{
	max-width: 100%;
	height: auto;
}

section{
	clear:both;
	padding-top: 70px;
}

section h2{
	width: 60%;
	margin: 0 auto 40px;
	font-size: 22px;
	font-weight:800;
	text-align: center;
	background: url(/common/img/borderBlack.png) repeat-x 0 50%;
	background-size: 1px 1px;
}

section h2 span {
	background: #fff;
	padding: 0 80px;
}

.pc{
	display: block;
}

.sp{
	display: none;
}

/* SEC01 MESSAGE
------------------------------------------------------------*/
.massage_txt{
	width: 60%;
	margin: 0 auto;
	padding-bottom: 50px;
}

.massage_txt p{
	font-size: 16px;
	text-align: center;
	line-height: 1.8em;
}

/* SEC02 SERVICE
------------------------------------------------------------*/
.innerwrap{
	display: flex;
	width: 60%;
	margin: 0 auto;
	padding-bottom: 40px;
	justify-content: space-between;
}

.ser_contents{
	display: block;
	line-height: 1.5;
	width: 30%;
	height: auto;
}

.ser_contents .img{
	padding: 10px;
	margin-bottom: 20px;
	line-height: 0 !important;
	background: #f6f6f6;
	height: auto;
}

.ser_contents h3{
	font-size: 18px;
	margin-bottom: 15px;
}

.ser_contents p{
	font-size: 16px;
	line-height: 1.5;
	background-color: #ececec;
	padding: 15px;
	height: 80px;
}

.inner_btn{
	width: 60%;
	margin: 0 auto;
}

.service_btn{
	width: 250px;
	margin: 0 auto;
}


/* SEC03 Gallery
------------------------------------------------------------*/
.gallery{
	position: absolute;
	z-index: 10 !important;
}

.slider img{
	width: 100%;
	height: auto;
	float: left;
	filter: grayscale(100%);
	z-index: 10 !important;
}

/* SEC04 RECRUIT & CONTACT
------------------------------------------------------------*/
#inquirywrap{
	display: flex;
	height: 400px;
}

#inquirywrap .title{
	font-size: 35px;
	font-weight: 500;
}

#inquirywrap .text{
	margin-top: 10px;
}

#inquirywrap .btn{
	width: 150px;
	margin-top: 20px;
}

#inquirywrap .recruit{
	background-color: #c9c9c9;
	width: 100%;
	padding: 100px 70px;
	background-image: url(/common/img/recruit_back.jpg);
	background-position: center;
}

#inquirywrap .recruit_btn{
	background-color: #464646;
	padding: 10px 0;
	margin-top: 10px;
	text-align: center;
	color: #ffffff;
}

#inquirywrap a:hover .recruit_btn{
	background-color: #ffffff;
	color: #000;
}

#inquirywrap .contact{
	background-color: #aaa;
	width: 100%;
	padding: 100px 70px;
	background-image: url(/common/img/contact_back.jpg);
	background-position: center;
}

#inquirywrap .contact_btn{
	background-color: #464646;
	padding: 10px 0;
	margin-top: 10px;
	text-align: center;
	color: #ffffff;
}

#inquirywrap a:hover .contact_btn{
	background-color: #ffffff;
	color: #000;;
	text-decoration: none;
}

.banner_btn{
	margin-top:30px;
	text-align: center;
}

/* SEC05 COMPANY
------------------------------------------------------------*/
#sec_link05{
	background-image: url(/common/img/footer.jpg);
	display: block;
    background-size: cover;
	height: 450px;
}
.innerS{
	width: 60%;
	margin: 0 auto;
}

h3.catch{
	font-size: 1.8em;
	text-align: center;
	margin-bottom: 30px;
}

.companywrap{
	display: inline-block;
	background-color: #ffffffde;
	width: 35%;
	height: auto;
	padding: 30px 50px;
	margin: 20px 0;
}

.companywrap .company_title{
	font-size: 35px;
	padding-bottom: 10px;
	font-weight: 500;
}

.companywrap .company_text{
	font-size: 14px;
}

.btn{
	width: 150px;
	margin-top: 20px;
}
.map_btn{
	background-color: #464646;
	padding: 10px 0;
	margin-top: 10px;
	text-align: center;
	color: #ffffff;
	text-decoration: none;
}

a:hover .map_btn{
	background-color: #888888;
	color: #ffffff;;
	text-decoration: none;
	text-decoration-line: none;
}

/* Footer
------------------------------------------------------------*/
#footer{
	padding: 15px 0;
	clear: both;
	text-align: center;
	font-size: 12px;
}

/* RESPONSIVE 
------------------------------------------------------------*/
@media only screen and (min-width: 1200px){
	a[href*="tel:"] {
	pointer-events: none;
	cursor: default;
	text-decoration: none;
	}

	.inner{
		width: 60%;
	}

	.panel {
		display: block !important;
	}
}

@media only screen and (max-width: 799px){
	section{
		padding-top: 50px;
	}

	.pc{
		display: none;
	}

	.sp{
		display: block;
	}

	#mainvisual{
		height: 500px;
		background-position-x: -570px;
	}
	
	#catch{
		padding-top: 130px;
	}

	#catch .catch_main{
		font-size: 3em;
		font-weight: 800;
		margin: 0;
		line-height: 50px;
	}
	
	#catch .catch_sub{
		margin-top: 10px;
		font-size: 14px;
		font-weight: 800;
		width: 320px;
	}
	
	#header{
		position: relative;
		width: 100%;
	}

	#headerWrap{
		display: block;
		position: fixed;
		z-index: 100000;
		width: 100%;
		height: 70px;
		background: #fff;
		border-bottom: 1px solid #ccc;
	}
	
	#headerWrap h1{
		padding-top: 10px;
	}
	
	#main_nav li {
		display: block;
		padding: 0;
	}
	
	#main_nav a{
		color: #000;
	}
	
	#header h1 img{
		margin-top: 12px;
		max-height: 45px;
		width: 200px;
	}

	a#menu{
		display: inline-block;
		position: relative;
		width: 40px;
		height: 40px;
		margin: 10px;
	}

	#menu_Btn{
		display: block;
		position: absolute;
		top: 60%;
		left: 50%;
		width: 18px;
		height: 2px;
		margin: -1px 0 0 -7px;
		background: #000;
		transition: .2s;
	}

	#menu_Btn:before, #menu_Btn:after{
		display: block;
		content: "";
		position: absolute;
		top: 50%;
		left: 0;
		width: 18px;
		height: 2px;
		background: #000;
		transition: .3s;
	}

	#menu_Btn:before{
		margin-top: -7px;
	}

	#menu_Btn:after{
		margin-top: 5px;
	}

	a#menu .close{
		background: transparent;
	}

	a#menu .close:before, a#menu .close:after{
		margin-top: 0;
	}

	a#menu .close:before{
		transform: rotate(-45deg);
		-webkit-transform: rotate(-45deg);
	}

	a#menu .close:after{
		transform: rotate(-135deg);
		-webkit-transform: rotate(-135deg);
	}

	.panel{
		width: 100%;
		display: none;
		overflow: hidden;
		position: relative;
		left: 0;
		top: 0;
		z-index: 100;
	}

	#main_nav{
		position: absolute;
		top: 0;
		width: 100%;
		text-align: right;
		z-index:500;
	}

	#main_nav ul{
		border-bottom: 1px solid #ccc;
		background: #fff;
		text-align: left;
	}

	#main_nav li a{
		position: relative;
		display:block;
		padding:15px 25px;
		border-bottom: 1px solid #ccc;
		color: #000;
		font-weight: 400;
	}

	#main_nav li a:before{
		display: block;
		content: "";
		position: absolute;
		top: 50%;
		left: 5px;
		width: 6px;
		height: 6px;
		margin: -4px 0 0 0;
		border-top: solid 2px #000;
		border-right: solid 2px #000;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	
	section h2{
		width: 90%;
		font-size: 1.2em;
	}
	
	section h2 span {
		background: #fff;
		padding: 0 20px;
	}

	.massage_txt{
		width: 90%;
		padding-bottom: 20px;
	}

	.innerwrap{
		display: block;
		width: 90%;
		padding-bottom: 0;
	}

	.ser_contents{
		display: flex;
		line-height: 1.5;
		width: 100%;
		height: auto;
	}

	.ser_contents .img{
		display: none;
	}

	.ser_text{
		width: 100%;
	}
	.ser_contents h3{
		font-size: 1.2em;
		margin-bottom: 10px;
	}

	.ser_contents p{
		font-size: 14px;
		height: auto;
		margin-bottom: 30px;
	}

	#inquirywrap{
		display: block;
		width: 100%;
	}
	
	#inquirywrap .recruit{
		background-color: #c9c9c9;
		width: auto;
		padding: 20px;
		height: 190px;
		background-size: cover;
	}

	#inquirywrap .title{
		font-size: 20px;
	}
	#inquirywrap .text {
		font-size: 13px;
		background-color: #ffffffb0;
    	padding: 10px;
	}

	#inquirywrap .contact{
		background-color: #aaa;
		width: auto;
		padding: 20px;
		height: 190px;
		background-size: cover;
	}

	#sec_link05{
		background-image: url(/common/img/footer.jpg);
		background-size: cover;
		height: 250px;
		padding: 0;
		margin-top: 60px;
	}

	.innerS{
		width: 90%;
    	margin: 0 auto;
		text-align: center;
	}

	.companywrap {
		background-color: #ffffffde;
		width: 80%;
		height: auto;
		padding: 15px 20px;
		margin: 20px 0;
		text-align: left;
	}

	.companywrap .company_title {
		font-size: 20px;
		padding-bottom: 10px;
		font-weight: 500;
	}

	.btn_contents{
		display: flex;
		justify-content: space-between;
	}
	
	.btn{
		width: 120px;
		font-size: 14px;
		margin-top: 8px;
	}


	/* SEC03 PROJECT
	-----------------*/
	.col3{
		text-align: center;
	}

	.col3 li{
		display: inline-block;
		width: 28%;
		padding: 0 2.5% 50px;
		margin-bottom: 0;
		vertical-align: top;
		text-align: left;
	}
	

}

/*----------------------------------------------------*/

/*　SERVICE
-------------------------------------*/
#service_01{
	padding-top: 0;
}
.service_img_01{
	background-color:#ccc;
	width: 100%;
	text-align: center;
	padding: 100px 0;
	font-size: 20px;
	margin-bottom: 50px;
}
.service_txt{
    width: 60%;
    margin: 0 auto;
}

.service_txt p{
	margin-bottom: 60px;
}
.service_content{
	display: flex;
	width: 100%;
	margin-bottom: 20px;
}
.service_content img{
	background-color: #c1c1c1;
	display: inline-block;
    width: 350px;
    height: 250px;
}

.left{
	margin-left: 20px;
}

.right{
	margin-right: 20px;
}

/*　RECRUIT
-------------------------------------*/
.recruit_txt{
    width: 50%;
    margin: 0 auto;
}

.recruit_contents table{
	width: 100%;
}

.recruit_contents{
	width: 50%;
	margin: 0 auto;
}
.recruit_contents tr{
	width: 100%;
	border-bottom: 1px solid #ebebeb;
}
.recruit_contents th{
	background-color: #dddddd;
	padding: 15px;
	width: 30%;
}
.recruit_contents td{
	width: 70%;
	padding: 10px 15px;
}

.recruit_contents .area_title{
	background-color: #efefef;
    padding: 5px 10px;
    margin: 10px auto;
}

.recruit_banner{
	margin: 0 auto 60px;
    width: 50%;
    text-align: center;
}
@media only screen and (max-width: 799px){
	.recruit_txt{
		width: 90%;
		margin: 0 auto;
	}
	.recruit_contents{
		width: 90%;
	}

	.recruit_banner{
		margin: 0 auto;
		width: 90%;
	}

}
/*　CONTACT
-------------------------------------*/
.contact_txt{
    width: 50%;
    margin: 0 auto;
}
.contact_contents{
	width: 50%;
	margin: 0 auto 50px;
}
.contact_contents table{
	width: 100%;
}
.contact_contents tr{
	width: 100%;
	border-bottom: 1px solid #ebebeb;
}
.contact_contents th{
	background-color: #dddddd;
	padding: 15px;
	width: 30%;
}
.contact_contents td{
	width: 70%;
	padding: 10px 15px;
}

.confirm_guide {
	width: 50%;
	margin: 0 auto 50px;
}

.confirm_guide p {
	text-align: center;
	font-size: 14px;
}

.input_contents {
	width: 100%;
}

.input_contents dl {
	width: 100%;
	border-bottom: 1px solid #ebebeb;
	display: flex;
}

.input_contents dt {
	background-color: #dddddd;
	padding: 15px;
	width: 30%;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.input_contents dt label {
	padding-right: 10px;
}

.input_contents dt span {
	background-color: #f65952;
	border-radius: 3px;
	text-align: center;
	color: #ffffff;
	font-size: 10px;
	padding: 2px 8px;
	display: flex;
	align-items: center;
	height: 16px;
	white-space: nowrap;
}

.input_contents dd {
	width: 70%;
	padding: 10px 15px;
	display: flex;
	justify-content: center;
	flex-direction: column;
}

.input_contents dd input, .input_contents dd textarea {
	width: 100%;
	border: 1px solid #cccccc;
	padding: 3px 12px;
	border-radius: 5px;
	font-size: 16px;
	font-family: 'Noto Serif JP', serif;
}

.input_contents dd textarea {
	min-height: 150px;
}

.select_wrap {
	display: inline-flex;
    align-items: center;
    position: relative;
	width: 50%;
}

.select_wrap::after {
    position: absolute;
    right: 15px;
    width: 10px;
    height: 7px;
    background-color: #535353;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    content: '';
    pointer-events: none;
}

.input_contents dd select {
	width: 100%;
	border: 1px solid #cccccc;
	padding: 5px 12px;
	border-radius: 5px;
	font-size: 16px;
	font-family: 'Noto Serif JP', serif;
	appearance: none;
}


.err_txt {
	display: none;
	color: #cc0000;
	vertical-align: middle;
	font-size: 12px;
	margin-top: 2px;
}

.contact_contents .btn_contents {
	display: flex;
	justify-content: center;
}

.contact_contents .map_btn {
	font-family: 'Noto Serif JP', serif;
	font-weight: bold;
	width: 100%;
	font-size: 16px;
	border: 1px solid #464646;
}

.confirm_contents .btn_contents .btn:first-of-type {
	margin-right: 15px;
}

.confirm_contents .btn_contents .btn:first-of-type .map_btn {
	background-color: #ffffff;
	color: #464646;
	border: 1px solid #464646;
}

.thanks_guide p {
	text-align: center;
	margin-bottom: 20px;
	font-size: 14px;
}

.thanks_message{
	font-size: 30px;
}

.thanks_message_sub{
	font-size: 18px;
}

@media screen and (min-width:800px){
	.pc { display: block !important; }
	.sp { display: none !important; }
}

@media only screen and (max-width: 799px){
	.contact_contents{
		width: 90%;
		margin: 0 auto;
	}
	
	.input_contents dl {
		flex-direction: column;
	}
	
	.input_contents dt {
		padding: 15px;
		width: 100%;
		justify-content: left;
		box-sizing: border-box;
	}
	
	.input_contents dd {
		width: 100%;
		padding: 10px 0;
		box-sizing: border-box;
	}

	.confirm_guide {
		width: 90%;
	}

	.confirm_contents .input_contents dd {
		padding: 20px 10px;
	}
	
	.input_contents dd input, .input_contents dd textarea {
		padding: 10px 12px;
		box-sizing: border-box;
	}
	
	.input_contents dd select {
		padding: 10px 12px;
	}
	
	.contact_contents .map_btn {
		padding: 10px 15px;
	}

	.contact_contents .btn {
		width: auto;
		min-width: 120px;
	}

	#confirm_01, #thanks_01 {
		padding-top: 120px;
	}

	.thanks_message{
		font-size: 23px;
	}
	
	.pc { display: none !important; }
	.sp { display: block !important; }
}


/*　COMPANY
-------------------------------------*/
.about_txt{
    width: 50%;
    margin: 0 auto;
}
.about_name{
	text-align: right;
	margin-top: 30px;
}

.about_contents{
	width: 50%;
	margin: 0 auto;
}

.about_contents table{
	width: 100%;
}

.about_contents tr{
	width: 100%;
	border-bottom: 1px solid #ebebeb;
}
.about_contents th{
	background-color: #dddddd;
	padding: 15px;
	width: 30%;
}
.about_contents td{
	width: 70%;
	padding-left: 15px;
}

@media only screen and (max-width: 799px){
	#about_01{
		padding-top: 120px;
	}
	.about_txt{
		width: 90%;
		margin: 0 auto;
	}
	.about_contents{
		width: 90%;
		margin: 0 auto;
	}
	.about_contents th{
		font-size: 14px;
	}
	.about_contents td{
		font-size: 14px;
	}

}