html {font-size: 62.5%;}

/*リセット*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}

body {
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "游ゴシック", YuGothic, Verdana, sans-serif;
	font-size: 10px; font-size: 1.2rem; font-size: 1.4em;
	line-height: 1.5em;
	font-size: 16px;
	color:#4d4d4d;
	background: #fff; /* Old browsers */
	padding: 0;
	margin: 0;
}

ol, ul {
	list-style: none;
}
*{
margin:0;
padding:0;
}


/*共通*/
.big{
	font-size: 100px;
	color: #e2e2e0;
	letter-spacing: 0.13em;
	opacity: 0.25;
}

.m_big
,h1
,h2
,h3
,.small
,.m_middle{
	font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HG明朝E", "MS P明朝", "MS 明朝", "游明朝", YuMincho, serif;
}

.small{
	font-size: 14px;
}

h1{
	font-size: 50px;
}

h2{
	font-size: 26px;
}

h3{
	font-size: 24px;
}

.white{
	color: #fff;
}

.center{
	width: 1050px;
	margin: 0 auto;
}

a{
	color: #fff;
}

#sub_page header{
	margin-bottom: 6em;
}

/*ヘッダー*/
.menu_btn
,.sp_menu
,.sp_logo{
	display: none;
}

.header{
	background-color: #fff;
	width: 100%;
	height: auto;
}

.logo{
	width: 17%;
	display: inline-block;
	padding-top: 1em;
}

.nav{
	width: 82%;
	display: inline-block;
}

.navbar{
	text-align: right;
	min-height: 0;
	margin-bottom: 10px;
}

.navbar li{
	display: inline-block;
	margin-left: 4em;
	padding: 5px;
}

.navbar li a{
	text-decoration: none;
	color: #4d4d4d;
	display: block;
	padding: 0 0 5px;
	text-decoration: none;
}

.navbar li a::after{
	border-bottom: solid 2px #1e90ff;
  bottom: 0;
  content: "";
  display: block;
  transition: all .3s ease;
  -webkit-transition: all .3s ease;
  width: 0;
}

.navbar li a:hover::after{
	width: 100%;
}

.top_main
,.top_concept{
	margin-bottom: 8em;
}


/*ボタン*/
.button {
  position: relative;
  display: inline-block;
  padding: 0.8em 5em;
  border: 1px solid #fff;
  text-align: center;
  text-decoration: none;
  transition: .3s;
}

.btn_area .button::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: '';
  transform-origin: right top;
  transform: scale(0, 1);
  transition: transform .3s;
	color: #fff;
}

.btn_area .button:hover::before {
  transform-origin: left top;
  transform: scale(1, 1);
	color: #fff;
	text-decoration: none
}

.btn_area .button:hover{
	color: #fff;
	text-decoration: none;
	background: #000;
	border: 2px solid #000;
}



/*トップ*/
.top_main{
	background: url("../images/top_main.jpg") no-repeat center center;
	height: 800px;
	position: relative;
}

.top_main_catch{
	position: absolute;
	height: 130px;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	text-align: center;
}

.m_big{
	vertical-align: middle;
}

.top_main_catch .big{
	margin-bottom: 0.7em;
	display: block;
	opacity: 0.6;
}

.top_main_catch h3{
	letter-spacing: 0.5em;
}

.top_title{
	margin-bottom: 3em;
}

.top_title .m_big{
	text-align: left;
}

.top_title h2{
	text-align: center;
	display: inline-block;
	width: 100%;
	letter-spacing: 0.3em;
	z-index: 100;
	position: relative;
}

.concept_left{
	width: 39%;
	display: inline-block;
	vertical-align: middle;
}

.concept_right{
	display: inline-block;
	width: 60%;
	text-align: right;
	vertical-align: middle;
}

.concept_left h2{
	margin-bottom: 1em;
	line-height: 1.5em;
}

.top_about{
	background: url("../images/top_about_bg.jpg") no-repeat center center;
}

.top_about .center
,.common_contact .center{
	padding: 6.3em 0;
}

.top_about p{
	line-height: 2em;
}

.top_about p
,.common_contact p{
	margin-bottom: 3em;
	letter-spacing: 4px;
}

.concept_left p{
	letter-spacing: 4px;
	line-height: 2.2em;
}

.concept_left h2{
	font-size: 25px;
}

.top_about p
,.btn_area
,.common_contact p{
	text-align: center;
}

/*コンタクト*/
.common_contact{
	background-color: #0076e0;
}

.common_contact h2{
	margin-bottom: 1em;
}

.common_contact .button{
	margin: 0 2em;
}

/*フッター*/
.footer_area{
	text-align: center;
}

.small{
	padding: 2em 0;
	display: block;
}

/*会社概要*/
.sub_title{
	text-align: center;
	margin-bottom: 6em;
}

.sub_title h2{
	color: #b3b3b3;
}

table{
	width: 100%;
	margin-bottom: 6em;
}

th
,td{
	padding: 2em 0 2em 2em;
}

tr:nth-child(2n+1){
	background-color: #f3f3f3;
}

.red{
	font-size: 12px;
	color: red;
}

/*事業内容*/
.m_middle{
	margin-bottom: 6em;
	display: block;
	font-size: 18px;
	line-height: 1.3em;
	letter-spacing: 4px;
}

.business_box{
	display: inline-block;
	width: 32%;
	margin-bottom: 3em;
	overflow: hidden;
}

/* .business_box:nth-child(2)
,.business_box:nth-child(5){
	margin: 0 15px;
} */

.business_box img{
	box-shadow: 0.5px 0.2px 6px #b5b5b5;
	display: block;
	transition-duration: 0.5s;
}

.business_box img:hover{
	transform: scale(1.1);
	transition-duration: 0,3s;
}

.business p{
	display: block;
	padding-top: 1em;
}

.business_content{
	margin-bottom: 6em;
}


/*求人情報*/
.requirements{
	background-color: #f3f3f3;
	padding-bottom: 6em;
}
.requirements .m_middle{
	text-align: center;
	margin-bottom: 3em;
	padding-top: 4em;
}

.requirements table{
	width: 960px;
	margin: 0 auto;
	margin-bottom: 4em;
}

.requirements tr{
	border-bottom: 1px solid #999;
}

.requirements th{
	width: 30%;
}

.requirements td{
	width: 70%;
}

.recruit .center{
	margin-bottom: 8em;
}

.requirements .button
,form .button{
	border: 1px solid #666;
	color: #666;
	letter-spacing: 0.3em;
	background-color: #fff;
}

/*お問い合わせ*/
.contact form table tr{
	background-color: #fff;
}

.contact input[type="text"],
.contact input[type="tel"],
.contact input[type="email"]{
	background-color: #f3f3f3;
	width: 100%;
	border: none;
	padding: 1em;
	outline: 0;
	border-radius: 0;
}

td label{
	margin-right: 2em;
}
td label input{
	margin-right: 1em !important;
}

.radio{
	display:inline-block;
}
.contact input[type="radio"]{

}


textarea{
	width: 100%;
	background-color: #f3f3f3;
	border: none;
	outline: 0;
}

form th{
	vertical-align: middle;
}

.hissu
,form p{
	color: red;
	font-size: 14px;
}

.contact .btn_area{
	text-align: center;
}

form{
	margin-bottom: 8em;
}

@media screen and (max-width: 767px) {
	/*共通*/
	.center{
		width: 90%;
		margin: 0 auto;
	}

	h2{
		font-size: 20px;
	}

	p{
		font-size: 14px;
	}

	/*ヘッダー*/
	.nav
	,.pc_logo{
		display: none;
	}

	.sp_logo{
		display: block;
	}

	.head_bar
	,.menu_btn
	,.nav_wrap{
		display: block;
	}

	.logo{
		width: 50%;
		padding: 1em 0;
	}

	/*スマホメニュー*/

	.menu_btn
	,.menu_btn span {
    display: inline-block;
    transition: all .4s;
    box-sizing: border-box;
	}

	.menu_btn {
	  display: block;
	  float: right;
	  margin: 0 auto;
	  position: relative;
	  width: 40px;
	  height: 30px;
		top: 20px;
	}

	.menu_btn span {
	  position: absolute;
	  left: 0;
	  width: 100%;
	  height: 4px;
	  background-color: #fff;
	}

	.menu_btn span:nth-of-type(1) {
	  top: 0;
	}

	.menu_btn span:nth-of-type(2) {
	  top: 13px;
	}

	.menu_btn span:nth-of-type(3) {
	  bottom: 0;
	}


	.sp_menu {
    display: none;
	}

	.sp_menu li {
	  box-sizing: border-box;
	  border-bottom: 1px solid #fff;
	}

	.sp_menu li a {
	  background: #000;
	  box-sizing: border-box;
	  color: #fff;
	  display: block;
	  font-size: 16px;
	  line-height: 26px;
	  padding: 2em 10px;
	  text-decoration: none;
	  width: 100%;
	}

	.menu_btn.active{
		display: block;
		top:80px;
		z-index:100;
		right:20px;
	}
	.menu_btn.active li{
		border-bottom:1px dotted #ccc;
	}
	.menu_btn.active li:first-child{
	border-bottom:1px dotted #ccc;
	}
	.menu_btn.active li:last-child{
	border-bottom:none;
	}

	.nav > li > a{
		padding: 40px 15px;
		color: #fff;
	}

	.menu_btn{
	display: block;
	height: 50px;
	width:50px;
	position: absolute;
	cursor: pointer;
	right:10px;
	top: 10px;
	padding: 10px;
	}

	.menu_btn span {
	border: 3px solid #666;
	border-radius: 3px;
	width:90%;
	right: 5%;
	position: absolute;
	transition: all 0.5s ease-in;
	}

	.menu_btn.active span:first-child {
		border: 3px solid #fff;
	}

	.menu_btn.active span:last-child{
		border: 3px solid #fff;
	}

	.menu_btn span:nth-child(1) {
	top:5px;
	}

	.menu_btn span:nth-child(2) {
	top:22px;
	}

	.menu_btn span:nth-child(3) {
	bottom:5px;
	}

	.menu_btn.active span:nth-of-type(1) {
	-webkit-transform: translateY(17px) rotate(-315deg) scale(.8);
	transform: translateY(17px) rotate(-315deg) scale(.8);
	}
	.menu_btn.active span:nth-of-type(2) {
	display: none;
	}
	.menu_btn.active span:nth-of-type(3) {
	-webkit-transform: translateY(-17px) rotate(315deg) scale(.8);
	transform: translateY(-17px) rotate(315deg) scale(.8);
	}
	/*トップ*/
	.top_main{
		height: 97vh;
	}

	.big{
		font-size: 42px;
		line-height: 1em;
	}

	.top_main_catch h3{
		font-size: 18px;
	}

	.concept_left
	,.concept_right{
		width: 100%;
	}

	.concept_right img{
		width: 100%;
	}

	.top_main_catch{
		height: 200px;
		top: 0;
		bottom: 0;
		margin: auto;
	}

	.top_main
	,.top_concept{
		margin-bottom: 4em;
	}

	.concept_left h2{
		text-align: center;
	}

	.top_about .center
	,.common_contact .center{
		padding: 5em 0;
	}

	.concept_left p{
		margin-bottom: 1em;
	}

	/*common_contact*/
	.common_contact .button{
		padding: 0.8em 2em;
	}

	.common_contact .button:first-child{
		margin-bottom: 3em;
	}

	/*会社概要*/
	#sub_page header
	,.sub_title
	,.business_content{
		margin-bottom: 4em;
	}

	.sub_title h1{
		font-size: 40px;
	}

	th
	,td{
		display: block;
		padding: 1em 0.5em;
	}

	th{
		padding-bottom: 0;
	}

	/*事業内容*/
	.m_middle{
		font-size: 18px;
		margin-bottom: 3em;
	}

	.business_box{
		width: 49%;
	}

	.business_box:nth-child(2)
	,	.business_box:nth-child(5){
		margin-bottom: 3em;
	}

	.business_box img{
		width: 100%;
	}

	/*求人情報*/
	.requirements{
		margin-bottom: 4em;
	}

	.recruit .center{
		margin-bottom: 0;
	}

	.requirements table{
		width: 96%;
	}

	.requirements .m_middle{
		margin-bottom: 2em;
		padding-top: 3em;
	}




}








































}
