@charset "UTF-8";
* {
	margin-right:auto;
	margin-left:auto;
	margin-top:0;
	margin-bottom:0;
	padding:0;
}

div.contents-ga-overflow-suruyo > * {
-webkit-transform: translateZ(0px);
}

body{
	font-family:Kozuka Gothic Pro Regular, "小塚ゴシック Pro R", HiraginoUDSansFStd W4, "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", Hiragino Kaku Gothic Pro, "ＭＳ Ｐゴシック", sans-serif;
    text-align: center;
}

#wrapper{
	max-width:100%;
	margin:0;
	padding:0;
	overflow:hidden;
}
#wrapper{
	padding-top:5em;
}
#wrapper li a{
	color:#000;
}
#wrapper li a:hover{
	opacity:0.5;
	text-decoration:none;
}
img{
	max-width:100%;
	height:auto;
}
header{
	max-width:900px;
	margin:0 auto;
	padding-bottom:0;
}
header div{
	margin-bottom:0;
	padding-bottom:0;
}
header h1{
	text-align:left;
	margin-top:0;
	padding-top:0;
	margin-bottom:0;
	padding-bottom:0;
	margin-left:20px;
}
header ul{
	display:inline-block;
	float:right
}
header ul li{
	display:inline-block;
	font-size:15px;
	font-weight:500;
	margin:10px 0;
	padding:0 15px;
	border-left:solid 1px #000;
}
header ul li:first-child{
	border-left:none;
	}
article div#topimg{
	width:100%;
	background-image:url("../img/top01.jpg");
	background-size:cover;
	height:30vw;
	float:none;
	margin-top:0;
	padding-top:0;
}
article div#topimg h2{
	display:block;
	padding-top:15vw;
}
article .w100{
	width:100%;
}
article .w950{
	max-width:950px;
	margin:0 auto;
	padding-left:20px !important;
}
footer{
	width:100%;
	background-color:#000;
}
footer p{
	color:#fff;
	margin:0 auto;
	padding:10px 0;
	text-align:center;
}
.intro{
	background-color:#E8E8E8;
	padding-top:5vw;
	padding-bottom:5vw;
}
h3{
	text-align:left;
}
p{
	text-align:left;
}
.menu ul{
	margin-top:4em;
	margin-bottom:5em;
}
.menu ul li{
	list-style:none;
	padding:0 15px;
	font-size:20px;
	margin-top:20px;
}
.menu ul li span small{
	font-size:14px;
}
.menu ul li span{
	border:solid 8px #E8E8E8;
	display:inline-block;
	width:90%;
	padding-top:25px;
	padding-bottom:25px;
}
#menuname{
	background-color:#000;
}

#menuname h2{
	color:#fff;
	font-size:1.2em;
	text-align:left;
	max-width:900px;
	padding:10px 20px;
	display:block;
	margin:0 auto;
	margin-bottom:5vw;
}


/*アクセス*/

#map p{
	font-size:14px;
}
#map h4{
	font-size:14px;
	display:block;
	border-bottom:solid 1px #000;
	padding-bottom:10px;
	margin-bottom:10px;
}
.map {
position: relative;
padding-bottom: 56.25%;
padding-top: 30px;
height: 0;
overflow: hidden;
}
 
.map iframe,
.map object,
.map embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}

/*カンパニー*/
#recruit h3, 
#company h3{
	text-align:center;
	margin-bottom:2em;	
}
#recruit h3 small, 
#company h3 small{
	font-size:16px;
}
#recruit table, 
#company table{
	width:100%;
}

#company table td{
	width:80%;
}
#recruit table td.w20, 
#company table td.w20{
	width:20%;
	letter-spacing:0.8em;
	vertical-align:top;
}

#company .history table td.w20{
	letter-spacing:0;
}
#recruit table td, 
#company table td{
	text-align:left;
	padding-top:10px;
	padding-bottom:10px;
}
#company table td ul li{
	display:inline-block;
	text-decoration:none;
}
#recruit table tr, 
#company table tr{
	border-bottom:solid 1px #999999;
}
#recruit table tr:first-child, 
#company table tr:first-child{
	border-top:solid 1px #999999;
}

#company div.history h3{
	margin-top:3em !important;
}
#company div.history table{
	margin-bottom:5em !important;
}
div.works table{
	border:solid 1px #999999;
	max-width:800px;
}
div.works table td.w30{
	width:30%;
	letter-spacing:0.5em;
	vertical-align:top;
	border-right:solid 1px #999999;
}
div.works table td{
	padding-left:1em !important;
	padding-right:1em !important;
}
div.works h4{
	text-align:center;
	font-size:1.2em;
	margin-bottom:1.2em;
	font-weight:700;
}
div.works{
	margin-bottom:5em;
}
div.works p{
	text-align:center;
	margin-top:0.5em;
}

/*コンタクト*/
#contact{
	margin:0 auto;
	display:block;
}

#contact p{
	text-align:center;
}
#contact table{
	display:block;
	margin:3em 0 !important;
	padding-left:20%;
}
#contact table tr{
	width:100%;
	display:block;
	border-bottom:solid 1px #999;
	padding-top:1em !important;
	padding-bottom:1em !important;
}
#contact table tr:first-child{
	border-top:solid 1px #999;
}
#contact table tr th{
	width:40% !important;
	font-size:1em;
	padding-left:2em !important;
	padding-right:2em !important;
	vertical-align:top;
	text-align:left !important;
}
#contact table tr td{
	width:60% !important;
	padding-left:2em !important;
	padding-right:2em !important;
	text-align:left !important;
}

#contact p.btn{
	margin-bottom:3em;
}

#thanks p{
	margin:20px auto 60px;
	text-align:center;
	line-height:2;
}

/*求人*/
#recruit .margin{
	max-width:800px;
	margin-bottom:80px;
}
#recruit .margin p{
	line-height:1.7;
}
#recruit .margin p strong{
	font-size:16px;
}



@media screen and (min-width:768px){
	.sp{
		display:none;
	}
 }
 @media screen and (max-width:768px){
	 .pc{
		display:none;
	}
	.sp{
		text-align:left;
	}
	
	.intro h3{
		font-size:21px;
		font-weight:500;
		line-height:1.2;
	}
	article .w950{
		margin:0 20px;
		padding-left:0 !important;
	}
	header h1{
		 margin-left:20px;
 	}
	#menuname h2{
		margin-top:1.5em;
	}
	article div#topimg h2{
		padding-top:20vw;
		font-size:20px;
	}
	article div#topimg{
		height:40vw;
	}
	#recruit table td, 
	#company table td{
		display:block;
		width:100%;
	}
	#recruit table td.w20, 
	#company table td.w20{
		width:100%;
		font-weight:600;
		background-color:#E4E4E4;
		letter-spacing:0;
		padding-left:15px;
	}
	#recruit table tr, 
	#company table tr{
		border-bottom:none;
	}
	#recruit table tr:first-child, 
	#company table tr:first-child{
		border-top:none;
	}
	#recruit h3, 
	#company h3{
		margin-bottom:1em;	
	}
	#company div.history table{
		margin-bottom:3em !important;
	}
	div.works table{
		border:none;
	}
	div.works table td.w30{
		display:block;
		border-right:none;
		width:100%;
		text-align:center;
		border:solid 1px #999999 !important;
		background-color:#999999;
		color:#fff;
	}
	div.works table td{
		width:100%;
		padding-left:15px !important;
		border:solid 1px #999999 !important;
	}
	div.works h4{
		font-size:18px;
		margin-top:60px;
		margin-bottom:10px;
	}
	header ul{
		display:inline-block;
		text-align:center;
		background-color:#666;
		width:100%;
		color:#fff;
		margin-top:20px;
	}
	header ul li{
		display:inline-block;
		font-size:12px;
		font-weight:500;
		margin:10px 0 10px !important;
		padding:5px 10px;
		border-left:solid 1px #fff;
	}
	header ul li a{
		color:#fff !important;
	}
	header ul li:first-child{
		border-left:none;
		}
	#contact table tr{
		max-width:350px;
		display:block;
		margin:0 auto!important;
	}
	#contact table tr th{
		width:100% !important;
		display:block;
		padding-left:0 !important;
		padding-right:0 !important;
		padding-bottom:10px;
		margin:0 auto!important;
	}
	#contact table tr td{
		width:100% !important;
		display:block;
		padding-left:0 !important;
		padding-right:0 !important;
		margin:0 auto!important;
	}
	#contact table tr td input.size{
		max-width:320px !important;
	}
	#contact table tr td textarea{
		max-width:320px !important;
	}
	#contact table{
		padding-left:0;
		padding-right:0 !important;
		display:block;
		margin:0 auto!important;
	}
	#contact{
		width:100% !important;
		margin:0 auto !important;
		padding-left:15px !important;
		padding-right:15px !important;
	}
 }