@charset "UTF-8";  

body {
	font-size	: 3.8vw;
	line-height	: 180%;
	font-weight	: 400;
	-webkit-text-size-adjust: 100%; /* for iOS */
}  
.pc ,.pc2 {
	display: none !important;
}

.sp {
	display: inline-block !important;
}

.sp2 {
	display: block !important;
}


#wrapper {
	width: 100%;
	margin: auto;
	padding: 0;
	position: relative;
}


/*====================================
ヘッダー
=====================================*/
header {
	position: fixed;
	width: 100%;
	margin: auto;
	padding: 2.5% 3% 2%;
	text-align: left;
	background: #fff;
	border-bottom: 1px solid #2B8335;
	display: flex;
	z-index: 100;
	h1 {
		width: 60%;
		margin: 0;
		padding: 0;
		img {
			width: 100%;
			height: auto;
		}
		img.pc_top {
			display: none;
		}
		img.sp_pc_scroll {
			display: inline-block;
		}
	}
}

div.sp_menu {
	position: fixed;
	width: 12%;
	margin: 0;
	padding: 0;
	top: 0.8em;
	right: 1.5%;
	z-index: 101;
}

header nav {
	display: none;
}


/*====================================
共通
=====================================*/
main {
	margin: 3.2em auto 0;
	padding: 0 0 20%;
}

/* CONTACT-CONTENTS */
section.mid_contact {
	margin: 15% auto 0;
	padding: 10% 3.5%;
	background: url(../images/common/mid_contact_bg_sp.jpg) center / cover no-repeat;
	&.mt0 {
		margin-top: 0 !important;
	}
	h2 {
		margin: 0;
		padding: 0;
		font-size: 4.4vw;
		list-style: 140%;
		font-weight: var(--weight-extrabold2);
		font-family: var(--font-lato);
		color: #fff;
	}
	h3 {
		margin: 1em auto 0;
		padding: 0;
		font-size: 4.0vw;
		line-height: 150%;
		font-weight: var(--weight-nomal);
		color: #fff;
	}
	.tel_mail {
		width: 100%;
		margin: 5% auto 0;
		padding: 0;
		list-style: none;
		li {
			display: block;
			width: 80%;
			margin: 1px auto 0;
			padding: 0;
			a {
				display: block;
				width: 100%;
				height: 5em;
				color: #fff;
				text-decoration: none;
				display: flex;
				flex-direction: column;
				justify-content: center;
				align-items: center;
				&.tel {
					background: #281F1D;
					border-radius: 4px 4px 0 0;
					p {
						font-size: 5.4vw;
						line-height: 120%;
						font-weight: var(--weight-bold1);
						font-family: var(--font-lato);
						white-space: nowrap;
					}
					small {
						margin: 0.2em 0 0;
						padding: 0;
						font-size: 3.4vw;
						line-height: 120%;
						font-weight: var(--weight-nomal);
					}
				}
				&.mail {
					background: #2B8335;
					border-radius: 0 0 4px 4px;
					p {
						font-size: 4.8vw;
						line-height: 120%;
						font-weight: var(--weight-nomal);
						white-space: nowrap;
					}
				}
				p {
					margin: 0;
					padding: 0;
					display: flex;
					justify-content: center;
					align-items: center;
					img {
						width: 15%;
						height: auto;
						margin: 0 0.2em 0 0;
					}
				}
			}
		}
	}
}

/* COMPANY PROFILE */
section.company_profile {
	width: 100%;
	margin: 10% auto 0;
	padding: 0 3.5%;
	background: url(../images/common/company_prof_bg_sp.jpg) center / cover no-repeat;
	align-items: center;
	position: relative;
	&:after {
		position: absolute;
		content: '';
		display: block;
		width: 100%;
		height: 100%;
		margin: 0;
		padding: 0;
		background: linear-gradient(to bottom, rgba(27,18,16,0.6) 0%, rgba(27,18,16,0.6) 9%, rgba(43,131,53,0.6) 9%, rgba(43,131,53,0.6) 70%, rgba(43,131,53,0.6) 96%, rgba(200,176,0,0.6) 96%, rgba(200,176,0,0.6) 10%);
		top: 0;
		left: 0;
		z-index: 1;
	}
	.company_in {
		width: 100%;
		margin: 0;
		padding: 18% 3% 12%;
		position: relative;
		z-index: 2;
		.company_ttl {
			margin: 0;
			padding: 0;
			text-align: left;
			display: flex;
			flex-direction: column;
			align-items: flex-start;
			h3 {
				opacity: 0;
				margin: 0;
				padding: 0;
				font-size: 4.0vw;
				list-style: 140%;
				font-weight: var(--weight-extrabold2);
				font-family: var(--font-lato);
				color: #fff;
				&.scrollin {
					-webkit-animation: bottomIn 0.5s ease-out 0s 1 forwards;
					animation: bottomIn 0.5s ease-out 0s 1 forwards;
				}
			}
			h2 {
				margin: 0.2em 0 0;
				padding: 0;
				display: flex;
				flex-direction: column;
				align-items: flex-start;
				strong {
					opacity: 0;
					display: inline-block;
					margin: 0;
					padding: 0;
					font-size: 7.8vw;
					line-height: 100%;
					font-weight: var(--weight-bold2);
					color: #fff;
					&.scrollin {
						-webkit-animation: slideInRight2 0.5s ease-out 0s 1 forwards;
						animation: slideInRight2 0.5s ease-out 0s 1 forwards;
					}
				}
			}
		}
		.motto {
			margin: 0;
			padding: 2em 0 0 25%;
			color: #fff;
			text-align: left;
			list-style: none;
			li {
				margin: 0.2em 0 0;
				padding: 0;
				font-size: 5.2vw;
				line-height: 180%;
				font-style: italic;
				position: relative;
				&:before {
					position: absolute;
					content: '';
					display: inline-block;
					width: 1.2em;
					height: 1px;
					margin: 0;
					background: #fff;
					top: 50%;
					left: -2em;
				}
				&:nth-of-type(2) {
					margin-left: 1.5em;
				}
				&:nth-of-type(3) {
					margin-left: 3em;
				}
			}
		}
		.access_btn {
			margin: 5% 0 0;
			padding: 0;
			a {
				display: block;
				width: 80%;
				height: 3em;
				margin: 1px auto 0;
				padding: 0;
				font-size: 3.8vw;
				line-height: 120%;
				text-decoration: none;
				color: #fff;
				white-space: nowrap;
				background: #281F1D;
				display: flex;
				justify-content: center;
				align-items: center;
				&:nth-of-type(1) {
					border-radius: 4px 4px 0 0;
				}
				&:nth-of-type(2) {
					border-radius: 0 0 4px 4px;
				}
			}
		}
		.recruit_box {
			width: 95%;
			margin: 8% 0 0 5%;
			padding: 0;
			a {
				display: block;
				width: 100%;
				padding: 5% 3%;
				text-align: left;
				background: #fff;
				text-decoration: none;
				position: relative;
				h5 {
					position: absolute;
					display: block;
					font-size: 4.0vw;
					list-style: 140%;
					font-weight: var(--weight-extrabold2);
					font-family: var(--font-lato);
					color: #fff;
					transform: rotate(-90deg);
					transform-origin: top left;
					top: 4.2em;
					left: -1.5em;
				}
				h4 {
					margin: 0;
					padding: 0;
					font-size: 4.6vw;
					list-style: 120%;
					font-weight: var(--weight-nomal);
					color: #2B8335;
				}
				p {
					margin: 0.5em 0 0;
					padding: 0;
					font-size: 3.8vw;
					list-style: 200%;
				}
			}
		}
	}
}



/*====================================
フッター
=====================================*/
footer {
	width: 100%;
	margin: 0 auto;
	padding: 20% 3.5% 15%;
	background: #EFF0F1;
	#footer_in {
		margin: 0 auto;
		padding: 0;
		div.footer_info {
			margin: 0;
			padding: 0;
			h6 {
				width: 100%;
				margin: 0;
				padding: 0;
				a {
					display: inline-block;
					width: 60%;
					margin: 0 auto;
					padding: 0;
					img {
						width: 100%;
						height: auto;
					}
				}
			}
			.foot_address {
				margin: 1em auto 0;
				padding: 0;
				display: flex;
				flex-direction: column;
				align-items: center;
				h5 {
					margin: 0;
					padding: 0;
					font-size: 5.2vw;
					line-height: 170%;
					font-weight: var(--weight-bold1);
					color: #2B8335;
				}
				p {
					margin: 1em 0 0;
					padding: 0;
					font-size: 3.6vw;
					line-height: 160%;
					color: #2B8335;
				}
			}
		}
		div.foot_nav {
			display: none;
		}
		#footer_copy {
			display: inline-block;
			margin: 2em auto 0;
			padding: 0;
			font-size: 3.4vw;
			line-height: 160%;
			font-weight: var(--weight-bold1);
			font-family: var(--font-lato);
			color: #2B8335;
		}
	}
}

#page_top {
    position: fixed;
	display: none;
	width: 12%;
    bottom: 0;
    right: 0;
	z-index: 90;
	img {
		width: 100%;
		height: auto;
	}
}

#side_btn {
	position: fixed;
	width: 88%;
	height: 3.1em;
	margin: 0 0 -3.1em;
	text-decoration: none;
	text-align: left;
	background: #ed7838;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	overflow: hidden;
	bottom: 0;
	left: 0;
	z-index: 100;
	transition: 0.2s linear;
	&.scroll {
		margin-bottom: 0;
	}
	&:after {
		position: absolute;
		content: '';
		display: block;
		width: 1.2em;
		height: 0.6em;
		margin: auto;
		padding: 0;
		background: url(../images/common/side_btn_arrow.png) center / contain no-repeat;
		transform: rotate(-90deg);
		top: calc(50% - 0.1em);
		left: 3%;
	}
	span {
		display: inline-block;
		margin: 0;
		padding: 0.3em 0 0 2.0em;
		font-size: 4.2vw;
		line-height: 120%;
		font-weight: var(--weight-bold1);
		color: #fff;
		position: relative;
		z-index: 1;
		small {
			position: absolute;
			display: inline-block;
			margin: 0;
			padding: 0;
			font-size: 5.4vw;
			line-height: 160%;
			font-weight: var(--weight-extrabold2);
			font-family: var(--font-lato);
			color: rgba(255,255,255,0.26);
			top: -1.0em;
			left: 2em;
		}
	}
}
