@charset "utf-8";

/*------------------------------------------------------------
	Base
------------------------------------------------------------*/

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

body {
	color: #000;
	padding: 0px;
	font-size: 12px;
	font-family: "游ゴシック", "YuGothic", "Hiragino Kaku Gothic Pro", "メイリオ", sans-serif;
    height: 100%;
    margin: 0px auto;
    min-width: 320px;
	-webkit-text-size-adjust: 100%;
	background-color:#fff;
}


.contact-color{
	color:#89c63d;
}

header{
	width: 80%;
	height: 140px;
	background-color: rgba(255, 255, 255, 1);
	margin: 0 auto;
}

	@media screen and (max-width: 1000px) {
		header{
			height: 100px;
		}
	}

header .mail-icon{
	background-color: rgba(140, 198, 63, 1);
	color: #fff;
	float: right;
	width: 140px;
	height: 125px;
	text-align: center;
	padding: 34px 0 0;
	box-sizing: border-box;
	font-size: 1.5em;
}

	@media screen and (max-width: 1000px) {
		header .mail-icon{
			background-color: rgba(140, 198, 63, 1);
			color: #fff;
			float: right;
			width: 100px;
			height: 90px;
			text-align: center;
			padding: 20px 0 0;
			box-sizing: border-box;
			font-size: 1.2em;
		}
	}

.mail-icon i{
	display: block;
	font-size: 2em;
}

header h1{
	margin: 40px auto 0;
	display: inline-block;
	width: 20%;
	float: left;
}
	@media screen and (max-width: 1000px) {
		header h1{
			margin: 20px auto 0;
		}
	}

header nav{
	float: right;
	width: 80%;
}
	
header nav ul{
	display: inline-block;
	margin-top: 60px;
}

	@media screen and (max-width: 1000px) {
		header nav ul{
			display:none;
		}
	}

header nav ul li{
	display: inline-block;
	margin: 0 20px;
	font-size: 18px;
}
	
header nav ul li a{
	font-weight:bold;
	text-decoration: none;
	padding-bottom: 3px;
	color: #000;
	display: block;
	position: relative;
}
	
header nav ul li a:before{
	content: '';
	width: 0;
	left: 50%;
	bottom: 0;
	transition: all 0.3s ease;
	border-bottom: 3px solid #8cc63f;
	position: absolute;
	display: block;
}
	
header nav ul li a:hover:before{
	width: 50%;
	border-bottom: 3px solid #8cc63f;
}
	
header nav ul li a:after{
	content: '';
	width: 0;
	right: 50%;
	bottom: 0;
	transition: all 0.3s ease;
	border-bottom: 3px solid #8cc63f;
	position: absolute;
	display: block;
}
	
header nav ul li a:hover:after{
	width: 50%;
	border-bottom: 3px solid #8cc63f;
}
	
.main-logo{
	display: block;
	float: left;
	width: 132px;
}

	@media screen and (max-width: 1000px) {
		.main-logo{
			display: block;
			float: left;
			width: 115px;
		}
	}

#wrpper {
	width: 100%;
	height: 100vh;
	padding: 0;
	background: url(../images/main_img.jpg) no-repeat center;
	background-position-y: 140px;
}

	@media screen and (max-width: 1000px) {
		#wrpper {
			width: 100%;
			height: 100vh;
			padding: 0;
			background: url(../images/main_img2.jpg) no-repeat center;
			background-position-y: 100px;
			background-size: contain;
				}
	}

main{
	background:#fff;
	overflow:hidden;
	margin: 52% auto 0;
}

.main-cont{
	font-size:14px;
	background: url(../images/concept_bg.png) no-repeat center bottom;
	height: 630px;
	padding: 0 10%;
}

	@media screen and (max-width: 1000px) {
		.main-cont{
			font-size: 14px;
			background: url(../images/concept_bg.png) no-repeat center bottom;
			background-size: auto auto;
			height: 490px;
			padding: 0 4%;
			background-size: 100%;
		}
	}

	@media screen and (max-width: 600px) {
		.main-cont{
			font-size: 14px;
			background: url(../images/concept_bg.png) no-repeat center bottom;
			height: 390px;
			padding: 0 4%;
			background-size: 120%;
		}
	}

h2{
	text-align: center;
	padding: 34px 0;
}

#concept h3{
	max-width: 517px;
	width: 90%;
	}

.main-title{
	text-align: center;
	font-size: 34px;
	font-weight: bold;
}

.sub-title{
	display: block;
	font-size: 24px;
	margin-top: -0.5em;
	color: rgba(140, 198, 63, 1);
	font-family: 'Saira Semi Condensed', sans-serif;
}

#concept{

}

#aboutus{
	text-align: center;
	background-color: rgba(243, 249, 235, 1);
	border-top: solid 6px #dceec5;
	border-bottom: solid 6px #dceec5;
	margin: 40px 0;
	position: relative;
}

#aboutus::after {
	content: "";
	background: url(../images/bg02.jpg) no-repeat center bottom;
	height: 74px;
	position: absolute;
	z-index: 0;
	width: 100px;
	top: -30px;
	left: 0;
	right: 0;
	margin: auto;
}

#aboutus::before {
	content: "";
	background: url(../images/bg03.png) no-repeat center bottom;
	height: 74px;
	position: absolute;
	z-index: 0;
	width: 100px;
	left: 0;
	right: 0;
	bottom: -50px;
	margin: auto;
}

#aboutus .aboutus-cont{
	text-align: left;
	margin: 10px auto 100px;
	display: inline-block;
	font-size: 1.4em;
}

	@media screen and (max-width: 600px) {
		#aboutus .aboutus-cont{
			text-align: left;
			margin: 10px auto 100px;
			display: inline-block;
			font-size: 1em;
		}
	}

#recruit-info{
	width: 100%;
	max-width: 1028px;
	margin: 0 auto;
}

#recruit-info ul{
	overflow:hidden;
	margin:0 10px;
}
#recruit-info ul li{
	width: 48%;
	float:left;
}

#recruit-info ul li+li{
	float:right;
}

	@media screen and (max-width: 1000px) {
		#recruit-info ul li{
			width: 90%;
			float: none;
			margin: 0 auto;
		}
		
		#recruit-info ul li+li{
			float: none;
			margin-top: 50px;
		}
	}
	
.recruit-info-title{
	background-color: rgba(140,198,63,1);
	color: #fff;
	padding: 6px 20px;
	font-size: 1.3em;
}

#recruit-info ul li table{
	width: 100%;
	font-size: 1.2em;
	border-collapse: unset;
}

#recruit-info ul li table th{
	padding: 20px;
	vertical-align: middle;
	font-weight: bold;
	width: 100px;
	border-bottom: dotted 1px;
	}

#recruit-info ul li table td{
	padding: 10px;
	border-bottom: dotted 1px;
}


footer{
	background-color: rgba(140,198,63,1);
	border-top: solid 6px #dceec5;
	margin-top: 30px;
	position:relative;
}

footer::before {
	content: "";
	background: url(../images/bg04.png) no-repeat center bottom;
	height: 50px;
	position: absolute;
	z-index: 0;
	width: 74px;
	top: -6px;
	left: 0;
	right: 0;
	margin: auto;
}

footer nav{
	margin: 0px auto 0;
	max-width: 860px;
	width: 80%;
	height: 140px;
}

footer nav .mail-icon{
	background-color: rgb(255, 255, 255);
	color: rgb(0, 0, 0);
	float: right;
	width: 146px;
	height: 80px;
	vertical-align: middle;
	text-align: center;
	padding: 16px 0;
	box-sizing: border-box;
	font-size: 1.2em;
	font-weight: bold;
	margin-top: 30px;
}

	@media screen and (max-width: 1000px) {
		footer nav .mail-icon {
			background-color: rgb(255, 255, 255);
			color: rgb(0, 0, 0);
			float: right;
			width: 100%;
			height: 80px;
			vertical-align: middle;
			text-align: center;
			padding: 16px 0;
			box-sizing: border-box;
			font-size: 1.2em;
			font-weight: bold;
			margin-top: 50px;
		}
	}

footer nav ul{
	display: inline-block;
	margin: 60px 0 0 100px;
}

	@media screen and (max-width: 1000px) {
	footer nav ul{
		display: none;
	}
	}

footer nav ul li{
	display: inline-block;
	margin: 0 40px;
	font-size: 16px;
}
	
footer nav ul li a{
	font-weight:bold;
	color:#fff;
	text-decoration: none;
	padding-bottom: 3px;
	display: block;
	position: relative;
}

footer nav ul li a:before{
	content: '';
	width: 0;
	left: 50%;
	bottom: 0;
	transition: all 0.3s ease;
	border-bottom: 3px solid #fff;
	position: absolute;
	display: block;
}
	
footer nav ul li a:hover:before{
	width: 50%;
	border-bottom: 3px solid #fff;
}
	
footer nav ul li a:after{
	content: '';
	width: 0;
	right: 50%;
	bottom: 0;
	transition: all 0.3s ease;
	border-bottom: 3px solid #fff;
	position: absolute;
	display: block;
}
	
footer nav ul li a:hover:after{
	width: 50%;
	border-bottom: 3px solid #fff;
}

.contact-btn{
	width: 470px;
	padding: 10px;
}


footer p{
	padding: 40px 0 50px;
	text-align: center;
	background-color: #000;
	color: #fff;
}

.fadein {
    opacity : 0;
    transform : translate(0, 50px);
    transition : all 500ms;
    }
 
/* 画面内に入った状態 */
.fadein.scrollin {
    opacity : 1;
    transform : translate(0, 0);
    }