@charset "UTF-8";

/* 共通 */
.mt0 {margin:0 auto !important}
.mt10 {margin:10px auto 0 !important}
.mt20 {margin:20px auto 0 !important}
.mt25 {margin:25px auto 0 !important}
.mt30 {margin:30px auto 0 !important}
.mt35 {margin:35px auto 0 !important}
.mt40 {margin:40px auto 0 !important}
.mt45 {margin:45px auto 0 !important}
.mt50 {margin:50px auto 0 !important}
.mt60 {margin:60px auto 0 !important}
.mt70 {margin:70px auto 0 !important}
.mt75 {margin:75px auto 0 !important}
.mt80 {margin:80px auto 0 !important}
.mt90 {margin:90px auto 0 !important}
.mt100 {margin:100px auto 0 !important}
.mt110 {margin:110px auto 0 !important}
.mt120 {margin:120px auto 0 !important}
.mt130 {margin:130px auto 0 !important}
.mt140 {margin:140px auto 0 !important}
.mt150 {margin:150px auto 0 !important}
.mt160 {margin:160px auto 0 !important}
.mt170 {margin:170px auto 0 !important}
.mt180 {margin:180px auto 0 !important}
.mt190 {margin:190px auto 0 !important}
.mt200 {margin:200px auto 0 !important}

/* パンくず */
#breadcrumb {
	width: 100%;
	margin: 150px auto 0;
	padding: 0 65px 20px;
	font-size: 13px;
	line-height: 180%;
	font-weight: var(--weight-nomal);
	text-align: right;
	transition: 0.2s linear;
	a {
		padding-bottom: 0.2em;
		color: #261F1D;
		text-decoration: none;
		position: relative;
		&:after {
			position: absolute;
			content: '';
			display: block;
			width: 100%;
			height: 2px;
			margin: 0;
			padding: 0;
			background: #2B8335;
			bottom: 0;
			left: 0;
			transform: scaleX(0);
			transform-origin: right;
			transition: 0.2s linear;
			transition-property: transform;
			z-index: 1;
		}
	}
	span:first-of-type a {
		color: #2B8334;
	}
	a:hover {
		&:after {
			transform: scaleX(1);
			transform-origin: left;
		}
	}
}

/* メインイメージ */
#sub_kv {
	margin: 0 0 0 60px;
	padding: 0;
	div.kv_in {
		width: 100%;
		height: 480px;
		margin: 0;
		padding: 0;
		border-radius: 4px 0 0 4px;
		display: flex;
		flex-direction: column;
		justify-content: center;
		&.outsourcing {
			background: url(../service/images/ttl_outsourcing.png) center / cover no-repeat;
		}
		&.tempstaffing {
			background: url(../service/images/ttl_tempstaffing.png) center / cover no-repeat;
		}
		&.ecology {
			background: url(../service/images/ttl_ecology.png) center / cover no-repeat;
		}
		&.pcb {
			background: url(../service/images/ttl_pcb.png) center / cover no-repeat;
		}
		&.cleanness {
			background: url(../service/images/ttl_cleanness.png) center / cover no-repeat;
		}
		&.transport {
			background: url(../service/images/ttl_transport.png) center / cover no-repeat;
		}
		&.overview {
			background: url(../company/images/ttl_overview.png) center / cover no-repeat;
		}
		&.access {
			background: url(../company/images/ttl_access.png) center / cover no-repeat;
		}
		&.recruit {
			background: url(../recruit/images/ttl_recruit.png) center / cover no-repeat;
		}
		&.contact {
			background: url(../contact/images/ttl_contact.png) center / cover no-repeat;
		}
		&.frame {
			height: 320px;
		}
		h3 {
			display: inline-block;
			margin: 0 0 0 40px;
			padding: 0;
			font-size: 70px;
			line-height: 120%;
			font-weight: var(--weight-extrabold1);
			font-family: var(--font-lato);
			color: #fff;
			text-align: left;
		}
		h2 {
			margin: 40px 0 0 -20px;
			padding: 0;
			display: flex;
			span {
				display: inline-block;
				padding: 5px 60px;
				font-size: 20px;
				line-height: 160%;
				text-align: left;
				font-weight: var(--weight-bold2);
				color: #fff;
				background: #2B8335;
				small {
					display: block;
					font-size: 16px;
					line-height: 160%;
				}
			}
		}
	}
}

/* コンテンツタイトル */
div.cont_ttl {
	margin: 0 auto;
	padding: 0;
	position: relative;
	z-index: 2;
	&.multi {
		margin-top: 150px;
	}
	h4 {
		margin: 0 0 0 5px;
		padding: 0;
		font-size: 20px;
		list-style: 140%;
		font-weight: var(--weight-extrabold2);
		font-family: var(--font-lato);
		color: #2B8334;
	}
	h3 {
		margin: 15px 0 0;
		padding: 0;
		font-size: 40px;
		line-height: 160%;
		font-weight: var(--weight-bold2);
		color: #2B8334;
	}
}
div.sub_ttl {
	padding: 0;
	text-align: center;
	h4 {
		margin: 0 auto;
		padding: 0;
		font-size: 30px;
		line-height: 160%;
		font-weight: var(--weight-bold2);
		color: #271F1D;
	}
}

/* リード文 */
section.sub_read {
	width: 1280px;
	margin: 90px auto 0;
	padding: 0;
	P {
		margin: 20px auto 0;
		font-size: 16px;
		line-height: 200%;
		&:first-child {
			margin-top: 0;
		}
	}
	.pcb_read {
		width: 1280px;
		margin: 0 auto;
		padding: 0;
		.caution {
			width: 890px;
			height: 165px;
			margin: 15px 0 0 250px;
			padding: 28px;
			font-size: 40px;
			line-height: 130%;
			font-weight: var(--weight-bold2);
			background: #E62536;
			color: #fff;
			position: relative;
			small {
				display: block;
				font-size: 36px;
				line-height: 130%;
			}
			strong {
				font-size: 50px;
				line-height: 130%;
				font-weight: var(--weight-bold2);
			}
			&:before {
				position: absolute;
				content: '';
				display: block;
				width: 216px;
				height: 190px;
				margin: 0;
				padding: 0;
				background: url(../service/images/pcb_caution.png) center / contain no-repeat;
				top: -15px;
				left: -108px;
			}
		}
		.fine {
			margin: 50px auto 70px;
			padding: 0;
			font-size: 30px;	
			line-height: 300%;
			font-weight: var(--weight-bold2);
			color: #C7B000;
			span {
				margin: 0 0.2em;
				padding: 0.1em 0.3em;
				font-size: 40px;
				line-height: 150%;
				color: #261F1D;
				background: #C7B000;
			}
		}
	}
}

/* メインコンテンツ */
section.main_cont {
	padding: 115px 0 140px;
	position: relative;
	overflow: hidden;
	h6.top_ttl {
		position: absolute;
		display: inline-block;
		margin: 0;
		padding: 0;
		font-size: 200px;
		line-height: 100%;
		font-weight: var(--weight-extrabold1);
		font-family: var(--font-lato);
		color: #F7F8F8;
		top: -0.2em;
		z-index: 2;
		&.right {
			right: calc(50% - 800px);
		}
		&.left {
			left: calc(50% - 800px);
		}
	}
	&.bg {
		background: #EFF0F1;
	}
	&.bg2 {
		background: #FBF8EC;
	}
	&.diagonal:after {
		position: absolute;
		content: '';
		display: block;
		width: 1500px;
		height: 4000px;
		margin: 0;
		padding: 0;
		background: url(../service/images/main_cont_diagonal.png) top right / contain no-repeat;
		top: 0;
		left: -780px;
		z-index: 1;
	}
	&.triangle:after {
		position: absolute;
		content: '';
		display: block;
		width: 100px;
		height: 477px;
		margin: 0;
		padding: 0;
		background: url(../images/sub/diagonal_triangle.png) center / contain no-repeat;
		bottom: 0;
		right: 0;
	}
	&.triangle2:after {
		position: absolute;
		content: '';
		display: block;
		width: 100px;
		height: 477px;
		margin: 0;
		padding: 0;
		background: url(../images/sub/diagonal_triangle2.png) center / contain no-repeat;
		bottom: 0;
		right: 0;
	}
	.cont_read {
		margin: 0 auto;
		padding: 60px 0 0;
		font-size: 16px;
		line-height: 200%;
		position: relative;
		z-index: 2;
		h5 {
			display: inline-block;
			margin: 15px auto 35px;
			padding: 5px 25px;
			font-size: 24px;
			line-height: 160%;
			font-weight: var(--weight-bold2);
			color: #fff;
			background: #2B8335;
		}
		p {
			margin: 15px auto 0;
			padding: 0;
			&:first-of-type {
				margin-top: 0;
			}
		}
	}
	.feature_read {
		width: 1000px;
		margin: 0 auto;
		padding: 50px 0 0;
		text-align: left;
		display: flex;
		justify-content: space-between;
		align-items: center;
		position: relative;
		z-index: 2;
		h5 {
			width: 480px;
			display: inline;
			margin: 0;
			padding: 0;
			font-size: 46px;
			line-height: 180%;
			font-weight: var(--weight-nomal);
			text-decoration: underline;
			text-decoration-thickness: 2px;
			text-decoration-color: #261F1D;
			text-underline-offset: 0.3em;
			text-decoration-skip-ink: none;
			span {
				font-weight: var(--weight-bold2);
			}
			strong {
				font-weight: var(--weight-bold2);
				color: #2B8333;
			}
		}
		p {
			width: 440px;
			margin: 0;
			padding: 0;
			font-size: 16px;
			line-height: 200%;
			strong {
				font-weight: var(--weight-bold2);
			}
		}
	}
	.txt_img_box {
		width: 100%;
		max-width: 1500px;
		margin: 0 auto;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		position: relative;
		z-index: 2;
		&.under_ttl {
			padding-top: 30px;
		}
		.box {
			width: 48%;
			margin: 50px 0 0;
			padding: 0;
			background: #fff;
			border-radius: 4px;
			overflow: hidden;
			display: flex;
			.txt {
				width: 60%;
				margin: 0;
				padding: 45px 8% 50px 9%;
				text-align: left;
				border-left:  5px solid #281F1D;
				&.bg {
					background: #E9EDEA;
				}
				h5 {
					margin: 0;
					padding: 0;
					font-size: 24px;
					line-height: 160%;
					font-weight: var(--weight-bold2);
					color: #2B8333;
					small {
						display: block;
						margin: 0;
						padding: 0;
						font-size: 16px;
						line-height: 160%;
					}
				}
				ul {
					margin: 0;
					padding: 5px 0 0;
					font-size: 16px;
					line-height: 160%;
					list-style: none;
					li {
						margin: 5px 0 0;
						padding: 0 0 0 0.8em;
						position: relative;
						&:before {
							position: absolute;
							content: '';
							display: block;
							width: 5px;
							height: 5px;
							margin: 0;
							padding: 0;
							background: #2B8335;
							border-radius: 50%;
							top: 0.7em;
							left: 0;
						}
					}
					p {
						margin: 5px 0 0;
						padding: 0 0 0 0.8em;
					}
				}
				div {
					margin: 20px 0 0;
					padding: 0;
					font-size: 16px;
					line-height: 220%;
				}
			}
			.img {
				width: 40%;
				margin: 0;
				img {
					width: 100%;
					height: 351px;
					object-fit: cover;
				}
				&.transport img {
					width: 100%;
					height: 411px;
					object-fit: cover;
				}
			}
		}
	}
	.flow_cont {
		width: 100%;
		max-width: 1140px;
		margin: 90px auto 0;
		padding: 0;
		list-style: none;
		li {
			width: 100%;
			margin: 0 auto;
			padding: 0;
			display: flex;
			flex-wrap: wrap;
			flex-direction: row-reverse;
			justify-content: space-between;
			align-items: center;
			.txt {
				width: 680px;
				margin: 0;
				padding: 0;
				text-align: left;
				display: flex;
				align-items: flex-start;
				dt {
					width: 60px;
					margin: 0;
					padding: 0.1em 0 0;
					font-size: 24px;
					list-style: 160%;
					font-weight: var(--weight-bold2);
					font-family: var(--font-lato);
				}
				dd {
					width: 620px;
					margin: 0;
					padding: 0;
					h5 {
						margin: 0;
						padding: 0;
						font-size: 24px;
						line-height: 160%;
						font-weight: var(--weight-bold1);
						&.left {
							margin-left: -60px;
						}
					}
					p {
						margin: 20px 0 0;
						padding: 0;
						font-size: 16px;
						line-height: 200%;
					}
					.tel_mail {
						margin: 20px 0 0;
						padding: 0;
						display: flex;
						a {
							display: block;
							width: 260px;
							height: 60px;
							margin: 0 1px 0 0;
							padding: 0;
							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: 24px;
									line-height: 120%;
									font-weight: var(--weight-bold1);
									font-family: var(--font-lato);
								}
							}
							&.mail {
								background: #2B8335;
								border-radius: 0 4px 4px 0;
								p {
									font-size: 20px;
									line-height: 120%;
									font-weight: var(--weight-bold1);
								}
								&: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;
								}
							}
						}
					}
				}
			}
			.img {
				width: 379px;
				margin: 0;
			}
		}
		.arrow {
			margin: 30px auto;
		}
		.flow_btn {
			margin: 120px auto -80px;
			padding: 0;
			.cont_btn {
				width: 300px;
				height: 50px;
				font-size: 16px;
				line-height: 150%;
				font-weight: var(--weight-bold1);
				img {
					display: inline-block;
					margin: 0 15px 0 0;
				}
			}
		}

	}
}

/*-----------------------
　　事業内容
-----------------------*/
/* 斜めコンテンツ */
section.diagonal_cont {
	height: 730px;
	padding: 0;
	background: #EFF0F1;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	position: relative;
	.txt {
		width: 50%;
		margin: 0;
		padding: 0;
		text-align: left;
		position: relative;
		z-index: 2;
		div.cont_ttl {
			h4 {
				width: 640px;
			}
			h3 {
				width: 640px;
			}
		}
		ul {
			width: 610px;
			margin: 0 0 0 50px;
			padding: 50px 0 0;
			list-style: none;
			li {
				margin: 15px 0 0;
				padding: 0 0 0 30px;
				font-size: 16px;
				line-height: 200%;
				p {
					margin: 0;
					padding: 0;
					font-size: 22px;
					line-height: 200%;
					font-weight: var(--weight-bold2);
					position: relative;
					&:before {
						position: absolute;
						content: '';
						display: inline-block;
						width: 20px;
						height: 1px;
						margin: 0;
						background: #261F1D;
						top: 1em;
						left: -30px;
					}
					small {
						font-size: 18px;
						line-height: 200%;
					}
				}
			}
		}
		@media screen and (max-width:1350px) {
			ul {
				width: auto;
			}
		}
	}
	&:after {
		position: absolute;
		content: '';
		display: block;
		width: 100px;
		height: 477px;
		margin: 0;
		padding: 0;
		background: url(../images/sub/diagonal_triangle.png) center / contain no-repeat;
		bottom: 0;
		right: 0;
	}
	.img {
		position: absolute;
		width: 669px;
		margin: 0;
		padding: 0;
		top: -40px;
		left: calc(50% - 780px);
		z-index: 1;
		&:before {
			position: absolute;
			content: '';
			display: block;
			width: 669px;
			height: 746px;
			margin: 0;
			padding: 0;
			background: url(../images/sub/diagonal_bg.png) center / contain no-repeat;
			top: 30px;
			left: 25px;
			z-index: -1;
		}
	}
}

/* メリット */
section.merit_cont {
	margin: 0 auto;
	padding: 115px 0 140px;
	ul {
		width: 100%;
		max-width: 1500px;
		margin: 90px auto 0;
		padding: 0;
		list-style: none;
		display: flex;
		justify-content: center;
		li {
			width: 25%;
			height: 430px;
			margin: 0;
			padding: 35px 10px 0;
			&:first-of-type {
				border-radius: 4px 0 0 4px;
			}
			&:last-of-type {
				border-radius: 0 4px 4px 0;
			}
			&:nth-of-type(odd) {
				background: #C8B000;
			}
			&:nth-of-type(even) {
				background: #BBA400;
			}
			span {
				display: block;
				margin: 0;
				padding: 0;
				font-size: 30px;
				list-style: 140%;
				font-weight: var(--weight-bold2);
				font-family: var(--font-lato);
				font-style: italic;
				color: #fff;
				text-align: left;
			}
			img {
				display: inline-block;
				margin: 45px auto 0;
				padding: 0;
			}
			h5 {
				margin: 25px auto 0;
				padding: 0;
				font-size: 24px;
				line-height: 160%;
				font-weight: var(--weight-bold2);
			}
			h6 {
				margin: 35px auto 0;
				padding: 0;
				font-size: 22px;
				line-height: 200%;
				font-weight: var(--weight-bold2);
			}
			p {
				margin: 15px auto 0;
				padding: 0;
				font-size: 16px;
				line-height: 200%;
				color: #fff;
			}
		}
	}
}

/* 各リスト */
ul.list_cont1 {
	width: 100%;
	max-width: 1500px;
	margin: 0 auto;
	padding: 10px 0 0;
	list-style: none;
	position: relative;
	z-index: 2;
	li {
		width: 100%;
		margin: 80px auto 0;
		padding: 0;
		display: flex;
		justify-content: flex-start;
		.number {
			width: 190px;
			margin: 0;
			padding: 0 0 0 25px;
			font-size: 90px;
			line-height: 90%;
			font-weight: var(--weight-extrabold2);
			font-family: var(--font-lato);
			font-style: italic;
			color: #244A31;
			text-align: left;
			small {
				display: block;
				margin: 0 0 0.2em;
				padding: 0;
				font-size: 20px;
				line-height: 90%;
			}
		}
		.box {
			width: calc(100% - 190px);
			margin: 0;
			padding: 0;
			border-radius: 4px;
			overflow: hidden;
			display: flex;
			flex-direction: column;
			h5 {
				margin: 0;
				padding: 20px 60px;
				font-size: 28px;
				line-height: 180%;
				font-weight: var(--weight-bold2);
				color: #fff;
				text-align: left;
				background: #2B8335;
			}
			.box_in {
				margin: 0;
				padding: 0 0 60px;
				text-align: left;
				background: #fff;
				.txt_img {
					margin: 0;
					padding: 60px 60px 0;
					display: flex;
					flex-wrap: wrap;
					align-items: flex-start;
					.txt {
						width: calc(100% - 360px);
						margin: 0;
						padding: 0 90px 0 0;
						&.long {
							width: 100%;
							padding: 0;
						}
						h6.outsourcing {
							margin: 0;
							padding: 0;
							font-size: 20px;
							line-height: 180%;
							font-weight: var(--weight-bold2);
							color: #2B8333;
						}
						h6.ecology {
							margin: 60px 0 0;
							padding: 0;
							font-size: 30px;
							line-height: 180%;
							font-weight: var(--weight-bold2);
						}
						p + h6 {
							margin-top: 30px;
						}
						p {
							margin: 15px 0 0;
							padding: 0;
							font-size: 16px;
							line-height: 200%;
							&.pad_l60 {
								margin-top: 20px;
								padding-left: 60px;
							}
						}
						p:first-child {
							margin-top: 0;
						}
						ul {
							margin: 20px 0 0;
							padding: 0 0 0 60px;
							font-size: 18px;
							line-height: 160%;
							list-style: none;
							display: flex;
							li {
								width: 28%;
								margin: 0;
								padding: 0 0 0 0.8em;
								position: relative;
								&:before {
									position: absolute;
									content: '';
									display: block;
									width: 5px;
									height: 5px;
									margin: 0;
									padding: 0;
									background: #2B8335;
									border-radius: 50%;
									top: 0.7em;
									left: 0;
								}
								&:nth-of-type(2) {
									width: 40%;
								}
							}
						}
					}
					.img {
						width: 360px;
						margin: 0;
					}
				}
				.img_txt {
					margin: 0;
					padding: 60px 60px 0;
					display: flex;
					align-items: center;
					flex-direction: row-reverse;
					.img {
						width: 440px;
						margin: 0;
					}
					.txt {
						width: calc(100% - 440px);
						margin: 0;
						padding: 0 0 0 60px;
						h6 {
							margin: 0;
							padding: 0;
							font-size: 22px;
							line-height: 220%;
							font-weight: var(--weight-bold2);
						}
						p {
							margin: 35px 0 0;
							padding: 0;
							font-size: 16px;
							line-height: 200%;
							font-weight: var(--weight-bold1);
						}
						ul {
							margin: 0;
							padding: 15px 0 0;
							font-size: 16px;
							line-height: 160%;
							list-style: none;
							display: flex;
							flex-wrap: wrap;
							li {
								margin: 5px 0 0;
								padding: 0 0 0 0.8em;
								position: relative;
								&:before {
									position: absolute;
									content: '';
									display: block;
									width: 5px;
									height: 5px;
									margin: 0;
									padding: 0;
									background: #2B8335;
									border-radius: 50%;
									top: 0.7em;
									left: 0;
								}
							}
						}
					}
				}
				.bef_aft {
					width: 100%;
					margin: 30px 0 0;
					padding: 0 60px;
					position: relative;
					z-index: 2;
					&.bg:after {
						position: absolute;
						content: '';
						display: block;
						width: 100%;
						height: calc(100% + 40px + 60px);
						margin: 0;
						padding: 0;
						background: #FBF8EC;
						top: -40px;
						left: 0;
						z-index: -1;
					}
					.bef_aft_in {
						width: 100%;
						margin: 0;
						padding: 0;
						text-align: left;
						display: flex;
						align-items: top;
						.improvement_ttl {
							width: 100px;
							min-height: 138px;
							margin: 0;
							padding: 0;
							display: flex;
							justify-content: center;
							align-items: center;
							font-size: 24px;
							line-height: 200%;
							font-weight: var(--weight-bold2);
							writing-mode: vertical-rl;
							&.before {
								color: #2B8333;
								background: #CDDED5;
							}
							&.after {
								color: #fff;
								background: #2B8335;
							}
						}
						.img_cut {
							width: calc(100% - 100px);
							margin: 0;
							padding: 0 0 0 30px;
							display: flex;
							align-items: top;
							transition: 0.2s linear;
							.img {
								/*width: calc((100% - 30px - 24px) - 52.4%);*/
								width: 516px;
								margin: 10px 0 0;
								padding: 0;
								position: relative;
								img {
									width: 100%;
									height: auto;
								}
								&.cut:after {
									position: absolute;
									content: '';
									display: block;
									width: 74.8%;
									height: 135px;
									margin: 0;
									padding: 0;
									background: url(../service/images/outsourcing_improvement_cut.png) center / contain no-repeat;
									top: -107px;
									left: 9.8%;
									z-index: 1;
								}
							}
							.cost_box {
								width: calc(100% - 24px - 516px);
								min-width: 450px;
								height: 138px;
								margin: 0 0 0 24px;
								padding: 0 2%;
								background: #C8B000;
								display: flex;
								flex-direction: column;
								justify-content: center;
								transition: 0.2s linear;
								p {
									margin: 0 0 0 8%;
									padding: 0;
									font-size: 20px;
									line-height: 160%;
									font-weight: var(--weight-bold2);
									white-space: nowrap;
									position: relative;
									transition: 0.2s linear;
									&:before {
										position: absolute;
										content: '';
										display: block;
										width: 26px;
										height: 24px;
										margin: 0;
										padding: 0;
										background: url(../images/icon/improvement_ico_cost.png) center / contain no-repeat;
										top: 0.2em;
										left: -1.8em;
										transition: 0.2s linear;
									}
								}
								strong {
									margin: 0;
									padding: 0 0 0 1.2em;
									font-size: 30px;
									line-height: 160%;
									font-weight: var(--weight-bold2);
									color: #fff;
									white-space: nowrap;
									transition: 0.2s linear;
									&.long {
										padding-left: 0.5em;
									}
								}
								@media screen and (max-width:1450px) {
									p {
										font-size: 18px;
										line-height: 160%;
										&:before {
											top: 0.1em;
										}
									}
									strong {
										font-size: 28px;
										line-height: 160%;
									}
								}
							}
							@media screen and (max-width:1410px) {
								.img {
									width: calc(100% - 18px - 455px + 40px);
									margin: 10px 0 0
									position: relative;
								}
								.cost_box {
									width: 455px;
									margin: 0 0 0 18px;
								}
							}
							@media screen and (max-width:1490px) {
								.cost_box {
									width: calc((100% - 24px - 516px) + 40px);
									margin-right: -40px;
								}
							}
						}
						@media screen and (max-width:1410px) {
							.img_cut {
								padding: 0 0 0 20px;
							}
						}
					}
				}
				.box3 {
					width: 100%;
					padding: 0 0 20px 60px;
					display: flex;
					justify-content: space-between;
					align-items: flex-start;
					.img {
						width: 31.93%;
						margin: 0;
						padding: 0;
						img {
							width: 100%;
							height: 240px;
							object-fit: cover;
						}
					}
					&.txt {
						padding: 0 60px !important;
					}
					.txt {
						width: 31.93%;
						height: 170px;
						margin: 60px 0 0;
						padding: 0;
						font-size: 20px;
						line-height: 200%;
						font-weight: var(--weight-bold2);
						text-align: center;
						background: #EFF0F1;
						display: flex;
						justify-content: center;
						align-items: center;
						position: relative;
						.abso_btn {
							position: absolute;
							display: inline-block;
							margin: auto;
							padding: 0;
							bottom: -25px;
							left: 50%;
							transform: translateX(-50%);
							-webkit- transform: translateX(-50%);
							.cont_btn {
								width: 320px;
								height: 50px;
							}
						}
					}
				}
				.improvement {
					margin: 70px 0 0;
					padding: 0 60px;
					display: flex;
					flex-wrap: wrap;
					position: relative;
					z-index: 1;
					&.after {
						margin-top: 0;
					}
					&.after:after {
						position: absolute;
						content: '';
						display: block;
						width: 100%;
						height: calc(100% + 40px + 60px);
						margin: 0;
						padding: 0;
						background: #FBF8EC;
						top: -40px;
						left: 0;
						z-index: -1;
					}
					dt {
						width: 100px;
						margin: 0;
						padding: 50px 0;
						display: flex;
						justify-content: center;
						align-items: center;
						font-size: 24px;
						line-height: 200%;
						font-weight: var(--weight-bold2);
						writing-mode: vertical-rl;
						&.before {
							color: #2B8333;
							background: #CDDED5;
						}
						&.after {
							color: #fff;
							background: #2B8335;
						}
					}
					dd {
						width: calc(100% - 100px);
						margin: 0;
						padding: 0 0 0 30px;
						&.before, &.after {
							display: flex;
							flex-wrap: wrap;
							justify-content: space-between;
						}
						.after_img {
							width: 100%;
							margin: 0 0 45px;
							padding: 0;
							img {
								width: 100%;
								height: auto;
							}
						}
						.improvement_box ,.improvement_box2 {
							width: 49.06%;
							padding: 35px 30px 20px;
							text-align: left;
							background: #EFF0F1;
							strong {
								display: block;
								margin: 0;
								padding: 0 0 0 33px;
								font-size: 20px;
								line-height: 160%;
								font-weight: var(--weight-bold2);
								position: relative;
								img {
									position: absolute;
									display: block;
									width: 26px;
									height: auto;
									margin: 0;
									top: 0.15em;
									left: 0;
								}
							}
							p {
								margin: 10px 0 0;
								padding: 0;
								font-size: 16px;
								line-height: 200%;
							}
							div {
								margin: 10px 0 0;
								padding: 0;
								font-size: 29px;
								line-height: 160%;
								font-weight: var(--weight-bold2);
								color: #fff;
								text-align: center;
							}
						}
						&.before .improvement_box:nth-of-type(n+3) ,&.before .improvement_box2:nth-of-type(n+3) {
							margin-top: 20px;
						}
						&.after .improvement_box:nth-of-type(n+4) ,&.after .improvement_box2:nth-of-type(n+4) {
							margin-top: 20px;
						}
						.improvement_box2 {
							background: #C8B000;
						}
						.improvement_bef_flow {
							width: 100%;
							margin: 40px 0 0;
							padding: 0;
							list-style: none;
							display: flex;
							justify-content: space-between;
							position: relative;
							z-index: 1;
							&:before {
								position: absolute;
								content: '';
								display: block;
								width: 100%;
								height: 2px;
								margin: 0;
								padding: 0;
								background: #281F1D;
								top: calc(50% - 1px);
								left: 0;
								z-index: -1;
							}
							li {
								width: 180px;
								height: 80px;
								margin: 0;
								padding: 15px;
								font-size: 16px;
								line-height: 160%;
								font-weight: var(--weight-bold2);
								color: #fff;
								text-align: center;
								background: #888888;
								border: 2px solid #888888;
								display: flex;
								justify-content: center;
								align-items: center;
								transition: 0.2s linear;
								&.short {
									width: 60px;
									padding: 15px 5px;
									background: #fff;
									color: #271F1D;
								}
							}
							@media screen and (max-width:1450px) {
								li {
									width: 150px;
									padding: 15px 5px;
								}
							}
						}
						h4 {
							margin: 30px auto 0;
							padding: 0;
							font-size: 30px;
							line-height: 160%;
							font-weight: var(--weight-bold2);
							color: #C6B000;
						}
					}
				}
				.arrow {
					width: 100%;
					margin: 30px 0;
					padding: 0 85px;
					text-align: left;
					position: relative;
					z-index: 2;
				}
			}
			.bef_aft_arrow {
				width: 100%;
				margin: 15px 0;
				padding: 0 85px;
				text-align: left;
				position: relative;
				z-index: 3;
			}
		}
	}
}
ul.list_cont2 {
	width: 100%;
	max-width: 1500px;
	margin: 70px auto 0;
	padding: 0;
	list-style: none;
	display: flex;
	justify-content: space-between;
	position: relative;
	z-index: 2;
	li {
		width: 30.67%;
		margin: 0;
		padding: 0;
		background: #fff;
		border-radius: 4px;
		overflow: hidden;
		.img {
			width: 100%;
			height: 260px;
			img {
				width: 100%;
				height: 260px;
				object-fit: cover;
			}
		}
		.txt {
			margin: 0;
			padding: 30px 0;
			h5 {
				margin: 0 auto;
				padding: 0 5%;
				font-size: 24px;
				line-height: 160%;
				font-weight: var(--weight-bold2);
				color: #2B8333;
			}
			p {
				margin: 20px auto 0;
				padding: 0 15%;
				font-size: 16px;
				line-height: 200%;
			}
		}
	}
}
ul.list_cont3 {
	width: 1280px;
	margin: 0 auto;
	padding: 45px 0 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	position: relative;
	z-index: 2;
	li {
		width: 410px;
		margin: 25px 0 0;
		padding: 0;
		border-radius: 4px;
		overflow: hidden;
		display: flex;
		.img {
			width: 150px;
			margin: 0;
			padding: 0;
			img {
				width: 100%;
				height: 100px;
			}
		}
		.txt {
			width: 260px;
			margin: 0;
			padding: 0 5px 0 30px;
			font-size: 20px;
			line-height: 150%;
			font-weight: var(--weight-bold2);
			color: #fff;
			background: #2B8335;
			display: flex;
			align-items: center;

		}
	}
}
ul.list_cont4 {
	width: 1280px;
	margin: 0 auto;
	padding: 20px 0 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	position: relative;
	z-index: 2;
	li {
		width: 305px;
		height: 80px;
		margin: 20px 0 0;
		padding: 0;
		font-size: 18px;
		line-height: 150%;
		font-weight: var(--weight-nomal);
		background: #fff;
		border-radius: 4px;
		white-space: nowrap;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		small {
			display: block;
			font-size: 16px;
			line-height: 150%;
		}
	}
}
ul.list_cont5 {
	width: 1280px;
	padding: 0;
	list-style: none;
	display: flex;
	justify-content: space-between;
	li {
		width: 32%;
		height: 100px;
		margin: 0;
		padding: 0;
		font-size: 20px;
		line-height: 160%;
		color: #fff;
		background: #2B8335;
		border-radius: 4px;
		display: flex;
		justify-content: center;
		align-items: center;
	}
}
ul.list_cont6 {
	width: 1280px;
	margin: 0 auto;
	padding: 40px 0 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	li {
		width: 410px;
		height: 100px;
		margin: 25px 0 0 25px;
		padding: 0;
		background: #E9EDEA;
		border-radius: 4px;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		&:nth-of-type(3n-2) {
			margin-left: 0;
		}
		p {
			margin: 0;
			padding: 0;
			font-size: 20px;
			line-height: 150%;
			font-weight: var(--weight-bold2);
		}
		small {
			margin: 0 auto;
			padding: 0;
			font-size: 16px;
			line-height: 150%;
		}
	}
}
ul.list_cont7 {
	width: 1280px;
	margin: 0 auto;
	padding: 65px 0 0;
	list-style: none;
	display: flex;
	justify-content: center;
	li {
		width: 380px;
		margin: 0 5px;
		padding: 0;
		display: flex;
		flex-direction: column;
		p {
			width: 100%;
			height: 60px;
			margin: 0;
			padding: 0;
			font-size: 18px;
			line-height: 150%;
			font-weight: var(--weight-bold1);
			color: #fff;
			background: #2B8335;
			display: flex;
			justify-content: center;
			align-items: center;
		}
	}
	&.two_img li {
		margin: 0 25px;
	}
}
ul.list_cont8 {
	width: 100%;
	max-width: 1500px;
	margin: 0 auto;
	padding: 15px 0 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	li {
		width: 30.67%;
		margin: 70px 0 0 3.995%;
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		&:nth-of-type(3n-2) {
			margin-left: 0;
		}
		span {
			display: inline-block;
			margin: 0;
			padding: 0;
			font-size: 90px;
			line-height: 90%;
			font-weight: var(--weight-extrabold2);
			font-family: var(--font-lato);
			font-style: italic;
			color: #244A31;
		}
		.list_box {
			width: 100%;
			margin: 40px 0 0;
			padding: 0;
			border-radius: 4px;
			overflow: hidden;
			background: #E9EDEA;
			display: flex;
			flex-direction: column;
			flex-grow: 1;
			.img {
				width: 100%;
				margin: 0;
				img {
					width: 100%;
					height: auto;
				}
			}
			.txt {
				width: 100%;
				margin: 0;
				padding: 30px 13% 35px;
				h5 {
					margin: 0 auto;
					padding: 0;
					font-size: 24px;
					line-height: 160%;
					font-weight: var(--weight-bold2);
					color: #2B8333;
				}
				p {
					margin: 20px auto 0;
					padding: 0;
					font-size: 16px;
					line-height: 200%;
				}
			}
		}
	}
}
ul.ecology_box5 {
	width: calc(100% - 60px);
	margin: 20px 0 0 60px;
	padding: 0;
	list-style: none;
	display: flex;
	justify-content: space-between;
	li {
		width: 18.6%;
		height: 180px;
		margin: 0;
		padding: 5px 5px;
		background: #E9EDEA;
		border-radius: 4px;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		h6 {
			margin: 0.8em 0 0;
			padding: 0;
			font-size: 16px;
			line-height: 160%;
			font-weight: var(--weight-bold2);
			text-align: center;
		}
	}
}

div.other_our_case {
	width: calc(100% - 60px);
	margin: 45px 0 0 60px;
	padding: 0;
	display: flex;
	justify-content: space-between;
	.case_cont {
		width: 47.8%;
		margin: 0;
		padding: 0;
	}
	.case_cont.other {
		h6 {
			height: 38px;
			margin: 0;
			padding: 0;
			font-size: 18px;
			line-height: 200%;
			text-align: left;
			font-weight: var(--weight-bold2);
		}
		.case_box {
			width: 100%;
			margin: 5px 0 0;
			padding: 0;
			background: #EFF0F1;
			.case_ttl {
				height: 60px;
				margin: 0;
				padding: 0;
				font-size: 22px;
				line-height: 200%;
				color: #fff;
				text-align: center;
				background: #281F1D;
				display: flex;
				justify-content: center;
				align-items: center;
			}
			.case_txt {
				height: 164px;
				margin: 0;
				padding: 0;
				text-align: center;
				display: flex;
				flex-direction: column;
				justify-content: center;
				align-items: center;
				p {
					margin: 0;
					padding: 0;
					font-size: 26px;
					line-height: 150%;
					font-weight: var(--weight-bold2);
					small {
						display: inline-block;
						font-size: 18px;
						line-height: 150%;
						font-weight: var(--weight-nomal);
					}
					span {
						font-size: 22px;
						line-height: 150%;
					}
				}
			}
		}
	}
	.case_cont.our {
		h6 {
			height: 38px;
			margin: 0;
			padding: 0;
			font-size: 24px;
			line-height: 200%;
			font-weight: var(--weight-bold2);
			color: #C6B000;
			text-align: center;
		}
		.case_box {
			width: 100%;
			margin: 5px 0 0;
			padding: 0;
			background: #EFF0F1;
			.case_ttl {
				height: 60px;
				margin: 0;
				padding: 0;
				font-size: 22px;
				line-height: 200%;
				color: #fff;
				text-align: center;
				background: #2B8335;
				display: flex;
				justify-content: center;
				align-items: center;
			}
			.case_txt {
				height: 164px;
				margin: 0;
				padding: 0;
				display: flex;
				flex-direction: column;
				justify-content: center;
				align-items: center;
				p {
					margin: 0;
					padding: 0;
					font-size: 26px;
					line-height: 150%;
					font-weight: var(--weight-bold2);
					span {
						margin: 0 0.2em;
						padding: 0.1em 0.3em;
						font-size: 30px;
						line-height: 150%;
						background: #C7B000;
					}
				}
				ul {
					margin: 10px 0 0;
					padding: 0 10px 0 25px;
					font-size: 15px;
					line-height: 160%;
					list-style: none;
					display: flex;
					flex-wrap: wrap;
					li {
						margin: 8px 0 0;
						padding: 0 0 0 0.8em;
						position: relative;
						&:before {
							position: absolute;
							content: '';
							display: block;
							width: 5px;
							height: 5px;
							margin: 0;
							padding: 0;
							background: #2B8335;
							border-radius: 50%;
							top: 0.7em;
							left: 0;
						}
					}
				}
			}
		}
		p.right {
			margin: 5px 0 0;
			font-size: 15px;
			line-height: 150%;
			text-align: right;
		}
	}
	.case_cont_arrow {
		margin: 130px 0 0;
		padding: 0;
		img {
			transform: rotate(-90deg);
		}
	}
}

div.feature_tbl {
	width: 100%;
	max-width: 1500px;
	margin: 85px auto 0;
	padding: 0;
	position: relative;
	z-index: 2;
	table {
		width: 100%;
		th {
			margin: 0;
			padding: 12px;
			font-size: 20px;
			line-height: 200%;
			text-align: center;
			color: #fff;
			&:first-of-type {
				width: 30.6%;
				background: #fff;
				border-bottom: 1px solid #281F1D;
			}
			&:nth-of-type(n+2) {
				width: 34.7%;
			}
			&:nth-of-type(2) {
				background: #2B8335;
			}
			&:nth-of-type(3) {
				background: #281F1D;
			}
		}
		td {
			margin: 0;
			padding: 20px 3em;
			font-size: 16px;
			line-height: 200%;
			text-align: center;
			transition: 0.2s linear;
			&:first-of-type {
				font-weight: var(--weight-bold2);
				color: #2B8335;
				background: #fff;
				border-bottom: 1px solid #281F1D;
			}
			&:nth-of-type(2) {
				font-weight: var(--weight-nomal);
				background: #E9EDEA;
				border-right: 1px solid #281F1D;
				border-bottom: 1px solid #281F1D;
			}
			&:nth-of-type(3) {
				font-weight: var(--weight-nomal);
				background: #fff;
				border-bottom: 1px solid #281F1D;
			}
			span {
				margin: 0 0.2em;
				padding: 0.2em 0.5em;
				font-weight: var(--weight-bold2);
				background: #C7B000;
			}
			strong {
				font-weight: var(--weight-bold2);
			}
		}
		@media screen and (max-width:1450px) {
			td {
				padding: 20px 1em;
			}
		}
	}
}

div.tbl_list1 {
	width: 1280px;
	margin: 0 auto;
	padding: 0;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	.list_box {
		width: 600px;
		margin: 0;
		padding: 0;
		h5 {
			margin: 0 auto;
			padding: 0;
			font-size: 20px;
			line-height: 160%;
			font-weight: var(--weight-bold1);
		}
		.tbl {
			margin: 30px 0 0;
			padding: 0;
			table {
				margin: 0;
				padding: 0;
				border-bottom: 1px solid #281F1D;
				th {
					width: 172px;
					margin: 0;
					padding: 15px 3px;
					font-size: 15px;
					line-height: 160%;
					text-align: center;
					font-weight: var(--weight-bold2);
					border-top: 1px solid #281F1D;
					&:first-of-type {
						width: calc(600 - (172px * 3));
					}
					&:nth-of-type(even) {
						background: #F9F9F9;
					}
				}
				td {
					margin: 0;
					padding: 15px 3px;
					font-size: 15px;
					line-height: 160%;
					text-align: center;
					border-top: 1px solid #281F1D;
					&:nth-of-type(even) {
						background: #F9F9F9;
					}
				}
			}
		}
		ul {
			width: 100%;
			margin: 30px 0 0;
			padding: 0;
			list-style: none;
			font-size: 15px;
			line-height: 160%;
			text-align: left;
			border-top: 1px solid #281F1D;
			display: flex;
			flex-wrap: wrap;
			h6 {
				width: 100%;
				margin: 15px 0 5px;
				padding: 0 0 0 25px;
				font-weight: var(--weight-bold2);
			}
			li {
				width: 50%;
				margin: 5px 0 0;
				padding: 0 0 0 calc(40px + 0.8em);
				position: relative;
				&:before {
					position: absolute;
					content: '';
					display: block;
					width: 5px;
					height: 5px;
					margin: 0;
					padding: 0;
					background: #2B8335;
					border-radius: 50%;
					top: 0.7em;
					left: 40px;
				}
			}
		}
		.tbl_btn {
			width: 270px;
			margin: 20px 0 0;
			padding: 0 0 0 165px;
			a.cont_btn {
				width: 270px;
				height: 50px;
			}
		}
	}
}
div.tbl_list2 {
	width: 1280px;
	margin: 115px auto 0;
	padding: 0;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	.tbl_box {
		width: 910px;
		margin: 0;
		padding: 0;
		h5 {
			margin: 0 auto;
			padding: 0;
			font-size: 20px;
			line-height: 160%;
			font-weight: var(--weight-bold1);
			small {
				display: inline-block;
				margin: 0;
				padding: 0;
				font-size: 18px;
				line-height: 160%;
			}
		}
		.tbl {
			margin: 30px 0 0;
			padding: 0;
			table {
				margin: 0;
				padding: 0;
				border-bottom: 1px solid #281F1D;
				th {
					margin: 0;
					padding: 15px 20px;
					font-size: 15px;
					line-height: 160%;
					font-weight: var(--weight-bold2);
					border-top: 1px solid #281F1D;
					&:first-of-type {
						width: 470px;
					}
					&:nth-of-type(2) ,&:nth-of-type(4) {
						width: 127px;
						text-align: center;
						background: #F9F9F9;
					}
					&:nth-of-type(3) {
						width: 186px;
						text-align: center;
					}
				}
				td {
					margin: 0;
					padding: 15px 20px;
					font-size: 15px;
					line-height: 160%;
					border-top: 1px solid #281F1D;
					&:first-of-type {
						text-align: left;
					}
					&:nth-of-type(even) {
						background: #F9F9F9;
					}
				}
			}
		}
	}
	.img_box {
		width: 310px;
		margin: 0;
		padding: 0;
		img {
			display: block;
			width: 310px;
			height: auto;
			margin: 10px 0 0;
			padding: 0;
		}
	}
}
div.tbl_list3 {
	width: 1280px;
	margin: 115px auto 0;
	padding: 0;
	position: relative;
	z-index: 2;
	h5 {
		margin: 0 auto;
		padding: 0;
		font-size: 20px;
		line-height: 160%;
		font-weight: var(--weight-bold1);
	}
	.tbl_cont {
		margin: 30px auto 0;
		padding: 0;
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		.tbl {
			width: 600px;
			margin: 0;
			padding: 0;
			table {
				margin: 0;
				padding: 0;
				text-align: center;
				border-bottom: 1px solid #281F1D;
				th {
					margin: 0;
					padding: 15px 20px;
					font-size: 15px;
					line-height: 160%;
					text-align: center;
					font-weight: var(--weight-bold2);
					border-top: 1px solid #281F1D;
					&:first-of-type {
						width: 87px;
					}
					&:nth-of-type(2) {
						width: 188px;
						background: #F9F9F9;
					}
					&:nth-of-type(3) {
						width: 183px;
					}
					&:nth-of-type(4) {
						width: 142px;
						background: #F9F9F9;
					}
				}
				td {
					margin: 0;
					padding: 15px 20px;
					font-size: 15px;
					line-height: 160%;
					border-top: 1px solid #281F1D;
					&:nth-of-type(even) {
						background: #F9F9F9;
					}
					&:nth-of-type(4) {
						padding: 5px 20px;
						img {
							width: 80px;
							height: auto;
						}
					}
				}
			}
		}
	}
}
div.tbl_low_level {
	width: 1280px;
	margin: 70px auto 0;
	padding: 0;
	border-bottom: 1px solid #281F1D;
	th {
		margin: 0;
		padding: 12px 20px;
		font-size: 18px;
		line-height: 160%;
		text-align: center;
		font-weight: var(--weight-bold2);
		border-top: 1px solid #281F1D;
		&.bg {
			background: #F9F9F9;
		}
	}
	td {
		margin: 0;
		font-size: 16px;
		line-height: 200%;
		border-top: 1px solid #281F1D;
		&:first-of-type {
			width: 260px;
			padding: 15px 20px;
			font-size: 18px;
			line-height: 200%;
			font-weight: var(--weight-bold2);
		}
		&:nth-of-type(n+2) {
			width: 510px;
			padding: 15px 35px;
			text-align: left;
			vertical-align: top;
		}
		&:nth-of-type(2) {
			background: #F9F9F9;
		}
		p {
			margin: 0 0 5px;
			font-weight: var(--weight-bold2);
		}
		ul {
			margin: 0;
			padding: 0 0 0 0.2em;
			font-size: 16px;
			line-height: 200%;
			list-style: none;
			li {
				margin: 8px 0 0;
				padding: 0 0 0 0.8em;
				position: relative;
				&:before {
					position: absolute;
					content: '';
					display: block;
					width: 5px;
					height: 5px;
					margin: 0;
					padding: 0;
					background: #2B8335;
					border-radius: 50%;
					top: 0.95em;
					left: 0;
				}
			}
		}
	}
}

div.cost_comparison {
	width: 1000px;
	margin: 35px auto 0;
	padding: 0;
	p {
		margin: 0 auto;
		padding: 0;
		font-size: 16px;
		line-height: 160%;
	}
	h5 {
		margin: 10px auto 0;
		padding: 0;
		font-size: 24px;
		line-height: 160%;
		font-weight: var(--weight-bold2);
		color: #C6B000;
	}
	.img {
		margin: 45px auto 0;
		padding: 0;
	}
}

p.serif_txt {
	padding: 0;
	font-size: 22px !important;
	line-height: 180% !important;
	font-weight: var(--weight-bold2);
	strong {
		font-size: 16px !important;
		line-height: 200% !important;
		color: #2B8334;
		font-weight: var(--weight-nomal) !important;
	}
}

div.main_cont_btn {
	padding: 0;
	a.cont_btn {
		width: 350px;
		height: 50px;
	}
}
a.cont_btn {
	display: inline-block;
	margin: auto;
	padding: 5px;
	font-size: 16px;
	line-height: 160%;
	color: #fff;
	text-decoration: none;
	font-weight: var(--weight-bold2);
	background: #2B8335;
	white-space: nowrap;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 4px;
	overflow: hidden;
	position: relative;
	span {
		display: inline-block;
		margin: 0;
		padding: 0;
		color: #fff;
		position: relative;
		z-index: 2;
		small {
			display: block;
			font-size: 14px;
			line-height: 150%;
			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;
	}
	&:hover:after {
		transform: scaleX(1);
		transform-origin: left;
	}
}


/*-----------------------
　　企業情報
-----------------------*/
dl.overview_tbl {
	width: 1000px;
	margin: 0 auto;
	padding: 0;
	border-bottom: 1px solid #281F1D;
	display: flex;
	flex-wrap: wrap;
	dt {
		width: 345px;
		margin: 0;
		padding: 18px 30px;
		font-size: 16px;
		line-height: 220%;
		font-weight: var(--weight-bold2);
		border-top: 1px solid #281F1D;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	dd {
		width: 655px;
		margin: 0;
		padding: 18px;
		font-size: 16px;
		line-height: 220%;
		text-align: left;
		border-top: 1px solid #281F1D;
	}
}

section.overview_philosophy {
	margin: 160px auto 0;
	padding: 115px 0 125px;
	position: relative;
	z-index: 1;
	overflow: hidden;
	&:before {
		position: absolute;
		content: '';
		display: block;
		width: 300%;
		height: 300%;
		margin: 0;
		padding: 0;
		background: linear-gradient(to right, #281F1D 0%, #281F1D 43%, #2B8335 43%, #2B8335 100%);
		transform: rotate(12deg);
		top: -100%;
		left: -90%;
	}
	.philosophy_in {
		width: 1280px;
		margin: 0 auto;
		display: flex;
		.cont_ttl {
			width: 50%;
			text-align: left;
			h4 ,h3 {
				color: #fff;
			}
		}
		.motto {
			width: 50%;
			margin: 0;
			padding: 30px 0 0 70px;
			color: #fff;
			text-align: left;
			list-style: none;
			li {
				margin: 10px 0 0;
				padding: 0;
				font-size: 40px;
				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: 40px;
				}
				&:nth-of-type(3) {
					margin-left: 80px;
				}
			}
		}

	}
}

section.overview_cont {
	margin: 0 auto;
	padding: 135px 0 130px;
	position: relative;
	&.bg {
		background: #EFF0F1;
	}
	&.bg:after {
		position: absolute;
		content: '';
		display: block;
		width: 100px;
		height: 477px;
		margin: 0;
		padding: 0;
		background: url(../images/sub/diagonal_triangle.png) center / contain no-repeat;
		bottom: 0;
		right: 0;
	}
	.overview_in {
		width: 1280px;
		margin: 0 auto;
		display: flex;
		position: relative;
		z-index: 2;
		.cont_ttl {
			width: 340px;
			margin: 0;
			text-align: left;
		}
		dl {
			width: 940px;
			margin: 0;
			padding: 150px 0 0;
			text-align: left;
			display: flex;
			flex-wrap: wrap;
			dt {
				width: 55px;
				margin: 30px 0 0;
				padding: 0.1em 0 0;
				font-size: 24px;
				list-style: 160%;
				font-weight: var(--weight-bold2);
				font-family: var(--font-lato);
			}
			dd {
				width: 885px;
				margin: 30px 0 0;
				padding: 0;
				font-size: 22px;
				line-height: 160%;
				font-weight: var(--weight-bold1);
			}
		}
	}
}

div.privacy {
	width: 1000px;
	margin: 80px auto 0;
	text-align: left;
	.read {
		margin: 0;
		padding: 0;
		font-size: 16px;
		line-height: 200%;
	}
	dl {
		width: 100%;
		margin: 0;
		padding: 20px 0 0;
		display: flex;
		flex-wrap: wrap;
		dt {
			width: 30px;
			margin: 30px 0 0;
			padding: 0.1em 0 0;
			font-size: 19px;
			list-style: 220%;
			font-weight: var(--weight-bold2);
			font-family: var(--font-lato);
		}
		dd {
			width: 970px;
			margin: 30px 0 0;
			padding: 0;
			font-size: 16px;
			line-height: 200%;
			h5 {
				margin: 0;
				padding: 0;
				font-size: 17px;
				line-height: 200%;
				font-weight: var(--weight-bold2);
			}
			p {
				margin: 0;
				padding: 0;
			}
		}
	}
	.sign {
		margin: 45px 0 0;
		padding: 0;
		font-size: 16px;
		line-height: 200%;
		text-align: right;
	}
}

dl.history {
	width: 740px;
	margin: 65px auto 0;
	padding: 0;
	text-align: left;
	display: flex;
	flex-wrap: wrap;
	dt {
		width: 245px;
		margin: 30px 0 0;
		padding: 0.05em 0 0 18px;
		font-size: 20px;
		line-height: 160%;
		font-weight: var(--weight-bold2);
		position: relative;
		&:first-of-type {
			margin-top: 0;
		}
		&:before {
			position: absolute;
			content: '';
			display: block;
			width: 5px;
			height: 5px;
			margin: 0;
			padding: 0;
			background: #281F1D;
			border-radius: 50%;
			top: 0.8em;
			left: 0;
		}
		&:after {
			position: absolute;
			content: '';
			width: 1px;
			height: calc(100% + 30px);
			background: #281F1D;
			top: 0.9em;
			left: 2px;
		}
		&:last-of-type:after {
			display: none;
		}
	}
	dd {
		width: 495px;
		margin: 30px 0 0;
		padding: 0;
		font-size: 16px;
		line-height: 200%;
		&:first-of-type {
			margin-top: 0;
		}
	}
}

section.access_cont {
	width: 1280px;
	margin: 0 auto;
	padding: 0 0 140px;
	.access_box {
		margin: 80px auto 0;
		padding: 0;
		display: flex;
		flex-direction: row-reverse;
		justify-content: space-between;
		align-items: center;
		.txt {
			width: 610px;
			margin: 0;
			padding: 0;
			text-align: left;
			h4 {
				margin: 0;
				padding: 0;
				font-size: 28px;
				line-height: 180%;
				font-weight: var(--weight-bold2);
				color: #2B8334;
			}
			p {
				margin: 35px 0 0;
				padding: 0;
				font-size: 16px;
				line-height: 200%;
				a {
					display: inline-block;
					margin: 0;
					padding: 0;
					color: #261F1D;
					text-decoration: none;
					pointer-events: none;
				}
			}
			ul {
				margin: 35px 0 0;
				padding: 0 0 0 0.2em;
				font-size: 16px;
				line-height: 200%;
				list-style: none;
				li {
					margin: 0;
					padding: 0 0 0 0.8em;
					position: relative;
					&:before {
						position: absolute;
						content: '';
						display: block;
						width: 5px;
						height: 5px;
						margin: 0;
						padding: 0;
						background: #261F1D;
						border-radius: 50%;
						top: 0.95em;
						left: 0;
					}
				}
			}
		}
		.img ,.gmap {
			width: 600px;
			margin: 0;
			padding: 0;
		}
		.gmap {
			height: 400px;
			position: relative;
			iframe {
				position: absolute;
				width: 100%;
				height: 100%;
				margin: 0;
				padding: 0;
				top: 0;
				left: 0;
			}
		}
	}
	.main_gmap {
		width: 100%;
		height: 500px;
		margin: 65px auto 140px;
		padding: 0;
		position: relative;
		iframe {
			position: absolute;
			width: 100%;
			height: 100%;
			margin: 0;
			padding: 0;
			top: 0;
			left: 0;
		}
	}
}


/*-----------------------
　　求人情報
-----------------------*/
/* Airワークボタン */
div.air_work_btn {
	margin: 90px auto 0;
	padding: 0;
	a.air_btn {
		display: inline-block;
		width: 520px;
		height: 110px;
		margin: auto;
		padding: 5px;
		font-size: 20px;
		line-height: 160%;
		color: #fff;
		text-decoration: none;
		font-weight: var(--weight-bold2);
		background: #ed7838;
		white-space: nowrap;
		display: flex;
		justify-content: center;
		align-items: center;
		border-radius: 4px;
		overflow: hidden;
		position: relative;
		&:before {
			position: absolute;
			content: '';
			display: block;
			width: 20px;
			height: 20px;
			background: url(../images/icon/link_ico.png) center / contain no-repeat;
			top: calc(50% - 10px);
			right: 8px;
			z-index: 2;
		}
		span {
			margin: 0;
			padding: 0;
			color: #fff;
			position: relative;
			display: flex;
			flex-direction: column;
			justify-content: center;
			align-items: center;
			z-index: 2;
			strong {
				display: block;
				margin: 0;
				padding: 0;
				font-size: 24px;
				line-height: 160%;
				font-weight: var(--weight-bold2);
			}
			p {
				margin: 0;
				padding: 0;
				display: flex;
				justify-content: center;
				align-items: center;
			}
			small {
				display: block;
				font-size: 18px;
				line-height: 150%;
			}
		}
		&: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;
		}
		&:hover:after {
			transform: scaleX(1);
			transform-origin: left;
		}
	}
}

section.recruit_top {
	margin: 135px auto 0;
	padding: 0 0 190px;
	background: linear-gradient(to top, rgba(255,255,255,0) 0px, rgba(255,255,255,0) 80px, rgba(255,255,255,1) 300px) ,url(../recruit/images/recruit_top.jpg) bottom center / 100% auto no-repeat;
	.recruit_in {
		width: 100%;
		max-width: 1420px;
		margin: 0 auto;
		padding: 0;
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		h3 {
			width: 465px;
			margin: 0;
			font-size: 50px;
			line-height: 160%;
			font-weight: var(--weight-bold2);
			color: #2B8334;
			text-align: left;
		}
		.txt {
			width: 740px;
			margin: 70px 10px 0 0;
			padding: 40px 60px 60px;
			font-size: 16px;
			line-height: 200%;
			text-align: left;
			color: #fff;
			background: #2B8335;
			border-radius: 4px;
			p {
				margin: 20px 0 0;
				padding: 0;
			}
		}
	}
}
ul.walfare_list {
	width: 100%;
	max-width: 1500px;
	margin: 0 auto;
	padding: 40px 0 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	li {
		width: 23.3%;
		margin: 30px 0 0 2.266%;
		padding: 0;
		background: #E9EDEA;
		border-radius: 4px;
		overflow: hidden;
		&:nth-of-type(4n-3) {
			margin-left: 0;
		}
		h5 {
			width: 100%;
			height: 65px;
			font-size: 20px;
			line-height: 160%;
			font-weight: var(--weight-bold2);
			color: #fff;
			background: #2B8335;
			display: flex;
			justify-content: center;
			align-items: center;
		}
		P {
			margin: 0;
			padding: 25px 8.6%;
			font-size: 16px;
			line-height: 200%;
		}
	}
}

div.recruit_box {
	width: 100%;
	max-width: 1500px;
	padding: 0;
	background: #fff;
	border-radius: 4px;
	overflow: hidden;
	position: relative;
	z-index: 2;
	h5 {
		width: 100%;
		height: 95px;
		font-size: 28px;
		line-height: 180%;
		font-weight: var(--weight-bold2);
		color: #fff;
		background: #2B8335;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	.box_in {
		margin: 0;
		padding: 55px 4% 60px;
		display: flex;
		flex-direction: row-reverse;
		justify-content: space-between;
		align-items: flex-start;
		.guideline_tbl {
			width: 53%;
			margin: 0;
			padding: 0;
			dl {
				width: 100%;
				margin: 0;
				padding: 0;
				border-bottom: 1px solid #281F1D;
				display: flex;
				flex-wrap: wrap;
				dt {
					width: 120px;
					margin: 0;
					padding: 18px 20px;
					font-size: 16px;
					line-height: 220%;
					font-weight: var(--weight-bold2);
					border-top: 1px solid #281F1D;
					display: flex;
					justify-content: center;
					align-items: center;
				}
				dd {
					width: calc(100% - 120px);
					margin: 0;
					padding: 18px 20px;
					font-size: 16px;
					line-height: 220%;
					text-align: left;
					border-top: 1px solid #281F1D;
					li {
						margin: 0;
						padding: 0 0 0 0.8em;
						list-style: none;
						position: relative;
						&:before {
							position: absolute;
							content: '';
							display: block;
							width: 5px;
							height: 5px;
							margin: 0;
							padding: 0;
							background: #261F1D;
							border-radius: 50%;
							top: 0.95em;
							left: 0;
						}
					}
					dl {
						width: 100%;
						border-bottom: none !important;
						display: flex;
						flex-wrap: wrap;
						dt {
							width: 7em;
							margin: 0;
							padding: 0 !important;
							border-top: none;
							align-items: flex-start;
						}
						dd {
							width: calc(100% - 7em);
							padding: 0 !important;
							border-top: none;
						}
					}
				}
			}
			div.recruit_btn {
				margin: 30px auto 0;
				padding: 0;
				a.cont_btn {
					width: 320px;
					height: 70px;
					font-size: 18px;
					line-height: 150%;
					font-weight: var(--weight-bold1);
				}
			}
		}
		.access {
			width: 42%;
			margin: 0;
			padding: 0;
			text-align: left;
			.gmap {
				width: 100%;
				height: 400px;
				position: relative;
				iframe {
					position: absolute;
					width: 100%;
					height: 100%;
					margin: 0;
					padding: 0;
					top: 0;
					left: 0;
				}
			}
			p {
				margin: 15px 0 0;
				padding: 0;
				font-size: 16px;
				line-height: 200%;
			}
		}

	}
}

ul.gallery_list {
	width: 100%;
	max-width: 1500px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	li {
		width: 23.3%;
		margin: 60px 0 0 2.266%;
		padding: 0;
		border-radius: 4px;
		overflow: hidden;
		&:nth-of-type(4n-3) {
			margin-left: 0;
		}
		a {
			display: block;
			width: 100%;
			height: 263px;
			margin: 0;
			padding: 0;
			border-radius: 4px;
			overflow: hidden;
			img {
				width: 100%;
				height: 263px;
				object-fit: cover;
				transition: 0.2s linear;
			}
			&:hover img {
				transform: scale(1.07);
			}
		}
		p {
			margin: 15px auto 0;
			padding: 0;
			font-size: 15px;
			line-height: 200%;
		}
	}
}


/*-----------------------
　　お問い合わせ
-----------------------*/
#form_cont {
	width: 1000px;
	margin: 40px auto 0;
	padding: 0 0 140px;
	.form_top {
		margin: 0;
		padding: 50px 65px;
		font-size: 16px;
		line-height: 220%;
		text-align: left;
		border: 1px solid #281F1D;
		strong {
			display: block;
			margin: 25px 0 0;
			padding: 0;
			font-weight: var(--weight-bold2);
			&:first-of-type {
				margin-top: 0;
			}
		}
		p {
			margin: 0;
			padding: 0;
		}
	}
	dl.form_tbl {
		width: 100%;
		margin: 100px auto 0;
		padding: 0;
		font-size: 16px;
		line-height: 180%;
		border-bottom: 1px solid #281F1D;
		display: flex;
		flex-wrap: wrap;
		p.warning {
			width: 100%;
			margin: 0 0 10px;
			padding: 0;
			font-size: 16px;
			line-height: 180%;
			text-align: left;
			&.yellow {
				color: #C6AE00;
				font-weight: var(--weight-bold2);
			}
		}
		dt, dd {
			margin: 0;
		}
		dt {
			width: 275px;
			padding: 5px 5px;
			font-weight: var(--weight-bold2);
			border-top: 1px solid #281F1D;
			display: flex;
			justify-content: center;
			align-items: center;
			span {
				display: inline-block;
				margin: 0 0 0 10px;
				padding: 0.1em 5px;
				font-size: 15px;
				line-height: 160%;
				color: #fff;
				background: #C7AF00;
			}
		}
		dd {
			width: calc(100% - 275px);
			padding: 10px 5px;
			text-align: left;
			border-top: 1px solid #281F1D;
			input[type=text],
			input[type=tel],
			input[type=email],
			select {
				width: 100%;
				padding: 7px 10px;
				font-size: 16px;
				line-height: 170%;
				font-weight: var(--weight-noaml);
				font-family	: inherit;
				border: none;
				background: #F9F9F9;
			}
			textarea {
				width: 100%;
				height: 180px;
				padding: 7px 10px;
				font-size: 16px;
				line-height: 170%;
				font-weight: var(--weight-noaml);
				font-family	: inherit;
				border: none;
				background: #F9F9F9;
			}
			small {
				display: block;
				margin: 0;
				padding: 0;
				font-size: 14px;
				line-height: 160%;
			}
			.privacy_box {
				width: 100%;
				height: 300px;
				margin: 0;
				padding: 25px;
				font-size: 15px;
				line-height: 200%;
				background: #F9F9F9;
				overflow-y: scroll;
				p {
					margin: 0;
					padding: 0;
				}
				dl {
					width: 100%;
					margin: 0;
					padding: 0;
					border-bottom: none;
					display: flex;
					flex-wrap: wrap;
					align-items: flex-start;
					dt {
						width: 35px;
						margin: 40px 0 0;
						padding: 0.1em 0 0;
						font-size: 17px;
						list-style: 220%;
						border-top: none;
						font-weight: var(--weight-bold2);
						font-family: var(--font-lato);
					}
					dd {
						width: calc(100% - 35px);
						margin: 40px 0 0;
						padding: 0;
						border-top: none;
						h5 {
							margin: 0;
							padding: 0;
							font-size: 16px;
							line-height: 200%;
							font-weight: var(--weight-bold2);
						}
						p {
							margin: 0;
							padding: 0;
						}
					}
				}
				.sign {
					margin: 45px 0 0;
					padding: 0;
					text-align: right;
				}
			}
			input[type=checkbox]
			,input[type=radio] {
				margin: 0 5px 0 0;
				width: 20px;
				height: 20px;
				vertical-align: -0.3em;
			}
			.privacy_link {
				margin: 10px 0 0;
				padding: 0;
			}
		}
	}
	#contact_btn {
		margin: 0;
		padding: 60px 0 0;
		text-align: center;
		div.form_btn1 {
			display: inline-block;
			width: 320px;
			margin: 0 5px;
			button {
				display: block;
				width: 320px;
				height: 70px;
				margin: 0 auto;
				padding: 0;
				font-size: 17px;
				line-height: 120%;
				font-family	: inherit;
				color: #fff;
				background: #2B8335;
				cursor: pointer;
				border: none;
				border-radius: 4px;
				transition: 0.2s linear;
				position: relative;
				overflow: hidden;
				span {
					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: #281F1D;
					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;
					}
				}
			}
		}
		div.form_btn2 {
			display: inline-block;
			width: 320px;
			margin: 0 5px;
			button {
				display: block;
				width: 320px;
				height: 70px;
				margin: 0 auto;
				padding: 0;
				font-size: 17px;
				line-height: 120%;
				font-family	: inherit;
				color: #fff;
				background: #281F1D;
				cursor: pointer;
				border: none;
				border-radius: 4px;
				transition: 0.2s linear;
				position: relative;
				overflow: hidden;
				span {
					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: #888;
					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;
					}
				}
			}
		}
	}
}




