@charset "UTF-8";  

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

.pc2 {
	display: block !important;
}

.sp ,.sp2 {
	display: none !important;
}

#wrapper {
	width: 100%;
	min-width: 1280px;
	margin: auto;
	padding: 0;
	position: relative;
}


/*====================================
ヘッダー
=====================================*/
header {
	position: fixed;
	width: 100%;
	min-width: 1280px;
	height: 104px;
	margin: 0 auto;
	padding: 60px 60px 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
	top: 0;
	left: 0;
	z-index: 100;
	transition: 0.2s linear;
	&.scroll {
		height: auto;
		padding: 15px 60px;
		background: rgba(255,255,255,0.8);
		h1 a img.pc_top {
			display: none;
		}
		h1 a img.sp_pc_scroll {
			display: inline-block;
		}
	}
	&.sub {
		h1 a img.sp_pc_scroll {
			display: inline-block !important;
		}
	}
}
	header h1 {
		width: 300px;
		margin: 0;
		padding: 0;
		a {
			display: inline-block;
			margin: 0;
			padding: 0;
			&:hover {
				opacity: 0.8;
			}
			img.pc_top {
				display: inline-block;
			}
			img.sp_pc_scroll {
				display: none;
			}
		}
	}
	header nav {
		margin: 0;
		padding: 0;
		display: flex;
		justify-content: flex-end;
		ul {
			margin: 0;
			padding: 0;
			list-style: none;
			display: flex;
			justify-content: flex-end;
			li {
				display: inline-block;
				margin: 0 1px 0;
				padding: 0;
				position: relative;
				a,span {
					display: inline-block;
					margin: 0;
					padding: 3px 40px;
					font-size: 16px;
					font-weight: var(--weight-bold1);
					color: #fff !important;
					text-decoration: none !important;
					background: #281F1D;
					border-radius: 3px;
					display: flex;
					justify-content: center;
					align-items: center;
					transition: 0.2s linear;
					position: relative;
					overflow: hidden;
					strong {
						font-weight: var(--weight-bold1);
						position: relative;
						z-index: 2;
					}
					&:after {
						position: absolute;
						content: '';
						display: block;
						width: 100%;
						height: 100%;
						margin: 0;
						padding: 0;
						background: #2B8335;
						top: 0;
						left: 0;
						transform: scaleX(0);
						transform-origin: right;
						transition: 0.2s linear;
						transition-property: transform;
						z-index: 1;
					}
					&:hover {
						&:after {
							transform: scaleX(1);
							transform-origin: left;
						}
					}
				}
				/* ドロップダウンメニュー */
				ul.dropdwn_menu {
					position: absolute;
					display: none;
					margin: 0;
					padding: 0 !important;
					top: 40px;
					right: 0;
					z-index: 10;
					li {
						margin: 0;
						padding: 0 10px !important;
						display: flex;
						background: #C7AF00 !important;
						/*&:nth-of-type(3n-2) {
							background: #281F1D !important;
						}
						&:nth-of-type(3n-1) {
							background: #2B8335 !important;
						}
						&:nth-of-type(3n) {
							background: #C7AF00 !important;
						}*/
						a {
							display: block;
							width: 100%;
							min-width: 9em;
							margin: 0;
							padding: 7px 5px;
							color: #333 !important;
							background: none !important;
							text-align: left;
							font-weight: var(--weight-bold2);
							white-space: nowrap;
							&:hover {
								opacity: 0.6;
							}
							&:after {
								display: none;
							}
						}
					}
				}
			}
		}
	}

header div.sp_menu,
ul.ul_open_h {
	display: none;
}

/*====================================
共通
=====================================*/
main {
	margin: 0 auto;
	padding: 0;
}

/* CONTACT-CONTENTS */
section.mid_contact {
	margin: 150px auto 0;
	padding: 80px;
	background: url(../images/common/mid_contact_bg.jpg) center / cover no-repeat;
	&.mt0 {
		margin-top: 0 !important;
	}
	h2 {
		margin: 0;
		padding: 0;
		font-size: 20px;
		list-style: 140%;
		font-weight: var(--weight-extrabold2);
		font-family: var(--font-lato);
		color: #fff;
	}
	h3 {
		margin: 25px auto 0;
		padding: 0;
		font-size: 22px;
		line-height: 150%;
		font-weight: var(--weight-nomal);
		color: #fff;
	}
	.tel_mail {
		margin: 15px auto 0;
		padding: 0;
		list-style: none;
		display: flex;
		justify-content: center;
		li {
			display: block;
			width: 410px;
			margin: 0 1px;
			padding: 0;
			a {
				display: block;
				width: 100%;
				height: 100px;
				color: #fff;
				text-decoration: none;
				display: flex;
				flex-direction: column;
				justify-content: center;
				align-items: center;
				position: relative;
				&.tel {
					background: #281F1D;
					border-radius: 4px 0 0 4px;
					pointer-events: none;
					p {
						font-size: 30px;
						line-height: 120%;
						font-weight: var(--weight-bold1);
						font-family: var(--font-lato);
					}
					small {
						margin: 5px 0 0;
						padding: 0;
						font-size: 15px;
						line-height: 120%;
						font-weight: var(--weight-nomal);
					}
				}
				&.mail {
					background: #2B8335;
					border-radius: 0 4px 4px 0;
					p {
						font-size: 24px;
						line-height: 120%;
						font-weight: var(--weight-nomal);
					}
					&:after {
						position: absolute;
						content: '';
						display: block;
						width: 100%;
						height: 100%;
						margin: 0;
						padding: 0;
						background: #281F1D;
						top: 0;
						left: 0;
						transform: scaleX(0);
						transform-origin: right;
						transition: 0.2s linear;
						transition-property: transform;
						z-index: 1;
					}
				}
				&.mail:hover:after {
						transform: scaleX(1);
						transform-origin: left;
				}
				p {
					margin: 0;
					padding: 0;
					display: flex;
					justify-content: center;
					align-items: center;
					position: relative;
					z-index: 2;
					img {
						margin: 0 5px 0 0;
					}
				}
			}
		}
	}
}

/* COMPANY PROFILE */
section.company_profile {
	width: 100%;
	margin: 135px auto 0;
	padding: 0;
	background: url(../images/common/company_prof_bg.jpg) center / cover no-repeat;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	position: relative;
	&:after {
		position: absolute;
		content: '';
		display: block;
		width: 100%;
		height: 100%;
		margin: 0;
		padding: 0;
		background: linear-gradient(to right, rgba(27,18,16,0.6) 0%, rgba(27,18,16,0.6) 50%, rgba(43,131,53,0.6) 50%, 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: 50%;
		margin: 0;
		padding: 90px 10px 90px 100px;
		position: relative;
		z-index: 2;
		.company_ttl {
			margin: 0 auto;
			padding: 0;
			text-align: left;
			display: flex;
			flex-direction: column;
			align-items: flex-start;
			h3 {
				opacity: 0;
				margin: 0;
				padding: 0;
				font-size: 20px;
				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: 20px 0 0;
				padding: 0;
				display: flex;
				align-items: center;
				strong {
					opacity: 0;
					display: inline-block;
					margin: 0;
					padding: 0;
					font-size: 50px;
					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: 40px 0 0 140px;
			color: #fff;
			text-align: left;
			list-style: none;
			li {
				margin: 10px 0 0;
				padding: 0;
				font-size: 27px;
				line-height: 180%;
				font-style: italic;
				position: relative;
				&:before {
					position: absolute;
					content: '';
					display: inline-block;
					width: 20px;
					height: 1px;
					margin: 0;
					background: #fff;
					top: 50%;
					left: -30px;
				}
				&:nth-of-type(2) {
					margin-left: 50px;
				}
				&:nth-of-type(3) {
					margin-left: 100px;
				}
			}
		}
		.access_btn {
			margin: 30px 0 0;
			padding: 0;
			display: flex;
			a {
				display: block;
				width: 100%;
				max-width: 284px;
				min-width: 260px;
				height: 60px;
				margin: 0 1px 0 0;
				padding: 0;
				font-size: 18px;
				line-height: 120%;
				text-decoration: none;
				color: #fff;
				font-weight: var(--weight-bold1);
				white-space: nowrap;
				display: flex;
				justify-content: center;
				align-items: center;
				background: #281F1D;
				border-radius: 3px;
				display: flex;
				justify-content: center;
				align-items: center;
				transition: 0.2s linear;
				position: relative;
				overflow: hidden;
				span {
					position: relative;
					z-index: 2;
				}
				&:nth-of-type(1) {
					border-radius: 4px 0 0 4px;
				}
				&:nth-of-type(2) {
					border-radius: 0 4px 4px 0;
				}
				&:after {
					position: absolute;
					content: '';
					display: block;
					width: 100%;
					height: 100%;
					margin: 0;
					padding: 0;
					background: #C7AF00;
					top: 0;
					left: 0;
					transform: scaleX(0);
					transform-origin: right;
					transition: 0.2s linear;
					transition-property: transform;
					z-index: 1;
				}
				&:hover {
					color: #333;
					/*background-position: left 10% top 0;*/
					&:after {
						transform: scaleX(1);
						transform-origin: left;
					}
				}
			}
		}
		.recruit_box {
			width: 530px;
			margin: 100px 10px 0 140px;
			padding: 0;
			transition: 0.2s linear;
			a {
				display: block;
				width: 100%;
				padding: 28px 40px 30px;
				text-align: left;
				background: #fff;
				text-decoration: none;
				position: relative;
				h5 {
					position: absolute;
					display: block;
					font-size: 20px;
					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: 24px;
					list-style: 120%;
					font-weight: var(--weight-bold1);
					color: #2B8335;
					position: relative;
					z-index: 2;
				}
				p {
					margin: 10px 0 0;
					padding: 0;
					font-size: 16px;
					list-style: 200%;
					position: relative;
					z-index: 2;
				}
				&:before {
					position: absolute;
					content: '';
					width: 100%;
					height: 100%;
					margin: 0;
					padding: 0;
					background: #ccc;
					top: 0;
					left: 0;
					transform: scaleX(0);
					transform-origin: right;
					transition: 0.3s linear;
					transition-property: transform;
					z-index: 1;
				}
				&:hover {
					outline: 1px solid #2B8335;
					&:before {
						transform: scaleX(1);
						transform-origin: left;
					}
				}
			}
		}
		@media screen and (max-width:1570px) {
			.recruit_box {
				margin-left: 4vw;
			}
		}
	}
}


/*====================================
フッター
=====================================*/
footer {
	width: 100%;
	margin: 0 auto;
	padding: 160px 0 120px;
	background: #EFF0F1;
	#footer_in {
		max-width: 1520px;
		min-width: 1280px;
		margin: 0 auto;
		padding: 0 10px;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: flex-start;
		div.footer_info {
			width: 250px;
			margin: 0;
			padding: 0;
			text-align: left;
			h6 {
				width: 250px;
				margin: 0;
				padding: 0;
				a {
					display: inline-block;
					margin: 0;
					padding: 0;
					&:hover {
						opacity: 0.8;
					}
				}
			}
			.foot_address {
				margin: 20px 0 0;
				padding: 0;
				display: flex;
				flex-direction: column;
				align-items: flex-start;
				h5 {
					margin: 0;
					padding: 0;
					font-size: 20px;
					line-height: 170%;
					font-weight: var(--weight-bold1);
					color: #2B8335;
				}
				p {
					margin: 20px 0 0;
					padding: 0;
					font-size: 15px;
					line-height: 160%;
					color: #2B8335;
				}
			}
		}
		div.foot_nav {
			margin: 0;
			padding: 0;
			display: flex;
			justify-content: flex-end;
			align-items: flex-start;
			ul {
				display: inline-block;
				margin: 0 60px 0 0;
				padding: 0 0 0 70px;
				list-style: none;
				display: flex;
				flex-direction: column;
				align-items: flex-start;
				li {
					display: inline-block;
					margin: 0;
					padding: 0;
					&:nth-of-type(n+2) {
						margin-top: 30px;
					}
					a,span {
						display: inline-block;
						margin: 0;
						padding: 0;
						font-size: 17px;
						line-height: 160%;
						font-weight: var(--weight-bold2);
						color: #2B8335 !important;
						text-decoration: none !important;
					}
					a:hover {
						color: #000 !important;
					}
				}
				.sub {
					margin: 30px 0 0 !important;
					padding: 0 0 0 28px;
					border-left: 1px solid #2B8335;
					li {
						display: inline-block;
						margin: 0;
						padding: 0;
						&:nth-of-type(n+2) {
							margin-top: 10px !important;
						}
						a {
							display: inline-block;
							margin: 0;
							padding: 0;
							font-size: 15px !important;
							line-height: 160%;
						}
						a:hover {
							color: #000 !important;
						}
					}
				}
			}
		}
		#footer_copy {
			width: 100%;
			margin: 80px 0 0;
			padding: 0;
			font-size: 13px;
			line-height: 160%;
			font-weight: var(--weight-bold1);
			font-family: var(--font-lato);
			color: #2B8335;
			display: flex;
		}
	}
}

#page_top {
    position: fixed;
	display: none;
    bottom: 0;
    right: 0;
	z-index: 100;
	a {
		display: block;
		margin: 0;
		&:hover {
			opacity: 0.8;
		}
	}
}

#side_btn {
	position: fixed;
	width: 62px;
	height: 350px;
	margin: 0 -75px 0 0;
	padding: 20px 0 0;
	text-decoration: none;
	background: #ed7838;
	border-radius: 10px 0 0 10px;
	display: flex;
	justify-content: center;
	align-items: flex-start;
	top: 30%;
	right: 0;
	z-index: 100;
	transition: 0.2s linear;
	&.scroll {
		margin-right: 0;
	}
	&:hover {
		background: #2B8335;
		span {
			color: #fff !important;
		}
	}
	&:after {
		position: absolute;
		content: '';
		display: block;
		width: 18px;
		height: 9px;
		margin: auto;
		padding: 0;
		background: url(../images/common/side_btn_arrow.png) center / contain no-repeat;
		bottom: 20px;
		left: calc(50% - 9px);
	}
	span {
		display: block;
		margin: 0;
		padding: 0;
		font-size: 18px;
		line-height: 120%;
		font-weight: var(--weight-bold1);
		writing-mode: vertical-rl;
		color: #fff;
		position: relative;
		z-index: 1;
		transition: 0.2s linear;
		small {
			position: absolute;
			display: block;
			margin: 0;
			padding: 0;
			font-size: 20px;
			line-height: 160%;
			font-weight: var(--weight-extrabold2);
			font-family: var(--font-lato);
			color: rgba(255,255,255,0.26);
			transform: rotate(-180deg);
			top: 0;
			right: -1.4em;
			z-index: -1;
		}
	}
}
