@charset "UTF-8";

/* 共通 */
.mt0 {margin:0 auto !important}
.mt10 {margin:3% auto 0 !important}
.mt20 {margin:3% auto 0 !important}
.mt25 {margin:3% auto 0 !important}
.mt30 {margin:5% auto 0 !important}
.mt35 {margin:5% auto 0 !important}
.mt40 {margin:5% auto 0 !important}
.mt45 {margin:5% auto 0 !important}
.mt50 {margin:5% auto 0 !important}
.mt60 {margin:5% auto 0 !important}
.mt70 {margin:10% auto 0 !important}
.mt75 {margin:10% auto 0 !important}
.mt80 {margin:13% auto 0 !important}
.mt90 {margin:15% auto 0 !important}
.mt100 {margin:15% auto 0 !important}
.mt110 {margin:20% auto 0 !important}
.mt120 {margin:20% auto 0 !important}
.mt130 {margin:20% auto 0 !important}
.mt140 {margin:20% auto 0 !important}
.mt150 {margin:20% auto 0 !important}

/* パンくず */
#breadcrumb {
	width: 100%;
	margin: 5.0em auto 0;
	padding: 0 3.5% 1em;
	font-size: 2.8vw;
	line-height: 180%;
	font-weight: var(--weight-nomal);
	text-align: right;
	a {
		padding-bottom: 0.2em;
		color: #261F1D;
		text-decoration: none;
	}
	span:first-of-type a {
		color: #2B8334;
	}
}

/* メインイメージ */
#sub_kv {
	width: 96%;
	margin: 0 0 0 4%;
	padding: 0;
	div.kv_in {
		width: 100%;
		height: 15em;
		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_sp.png) center / cover no-repeat;
		}
		&.tempstaffing {
			background: url(../service/images/ttl_tempstaffing_sp.png) center / cover no-repeat;
		}
		&.ecology {
			background: url(../service/images/ttl_ecology_sp.png) center / cover no-repeat;
		}
		&.pcb {
			background: url(../service/images/ttl_pcb_sp.png) center / cover no-repeat;
		}
		&.cleanness {
			background: url(../service/images/ttl_cleanness_sp.png) center / cover no-repeat;
		}
		&.transport {
			background: url(../service/images/ttl_transport_sp.png) center / cover no-repeat;
		}
		&.overview {
			background: url(../company/images/ttl_overview_sp.png) center / cover no-repeat;
		}
		&.access {
			background: url(../company/images/ttl_access_sp.png) center / cover no-repeat;
		}
		&.recruit {
			background: url(../recruit/images/ttl_recruit_sp.png) center / cover no-repeat;
		}
		&.contact {
			background: url(../contact/images/ttl_contact_sp.png) center / cover no-repeat;
		}
		&.frame {
			height: 10em;
		}
		h3 {
			display: inline-block;
			margin: 0 0 0 0.5em;
			padding: 0;
			font-size: 8vw;
			line-height: 120%;
			font-weight: var(--weight-extrabold1);
			font-family: var(--font-lato);
			color: #fff;
			text-align: left;
			white-space: nowrap;
			text-shadow:0 0 5px rgba(255,255,255,0.5);
		}
		h2 {
			margin: 1em 0 0 -3%;
			padding: 0;
			display: flex;
			span {
				display: inline-block;
				padding: 0.2em 2.5em;
				font-size: 4.0vw;
				line-height: 160%;
				text-align: left;
				font-weight: var(--weight-bold2);
				color: #fff;
				background: #2B8335;
				small {
					display: block;
					font-size: 3.6vw;
					line-height: 160%;
				}
			}
		}
	}
}

/* コンテンツタイトル */
div.cont_ttl {
	margin: 0 auto;
	padding: 0;
	position: relative;
	z-index: 2;
	&.multi {
		margin-top: 15%;
	}
	h4 {
		margin: 0;
		padding: 0;
		font-size: 4.0vw;
		list-style: 140%;
		font-weight: var(--weight-extrabold2);
		font-family: var(--font-lato);
		color: #2B8334;
	}
	h3 {
		margin: 0.2em 0 0;
		padding: 0;
		font-size: 6.8vw;
		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: 6.2vw;
		line-height: 160%;
		font-weight: var(--weight-bold2);
		color: #271F1D;
	}
}

/* リード文 */
section.sub_read {
	margin: 10% auto 0;
	padding: 0 3.5%;
	P {
		margin: 1em auto 0;
		font-size: 3.6vw;
		line-height: 200%;
		text-align: left;
		&:first-child {
			margin-top: 0;
		}
	}
	.pcb_read {
		margin: 0 auto;
		padding: 10% 0 0;
		.caution {
			width: 90%;
			margin: 0 auto;
			padding: 5% 5%;
			font-size: 6.8vw;
			line-height: 130%;
			font-weight: var(--weight-bold2);
			background: #E62536;
			color: #fff;
			position: relative;
			small {
				display: block;
				font-size: 5.6vw;
				line-height: 130%;
			}
			strong {
				font-size: 8.4vw;
				line-height: 130%;
				font-weight: var(--weight-bold2);
			}
			&:before {
				position: absolute;
				content: '';
				display: block;
				width: 3.5em;
				height: 3em;
				margin: 0;
				padding: 0;
				background: url(../service/images/pcb_caution.png) center / contain no-repeat;
				top: -1.5em;
				left: -12%;				
			}
		}
		.fine {
			margin: 8% auto 2em;
			padding: 0;
			font-size: 4.8vw;	
			line-height: 240%;
			font-weight: var(--weight-bold2);
			color: #C7B000;
			span {
				margin: 0 0.2em;
				padding: 0.1em 0.3em;
				font-size: 6.0vw;
				line-height: 150%;
				color: #261F1D;
				background: #C7B000;
			}
		}
	}
}

/* メインコンテンツ */
section.main_cont {
	padding: 20% 3.5% 15%;
	position: relative;
	overflow: hidden;
	h6.top_ttl {
		position: absolute;
		display: inline-block;
		margin: 0;
		padding: 0;
		font-size: 18vw;
		line-height: 100%;
		font-weight: var(--weight-extrabold1);
		font-family: var(--font-lato);
		color: #F7F8F8;
		top: -0.2em;
		z-index: 2;
		&.right {
			right: 0;
		}
		&.left {
			left: 0;
		}
	}
	&.bg {
		background: #EFF0F1;
	}
	&.bg2 {
		background: #FBF8EC;
	}
	&.triangle:after {
		position: absolute;
		content: '';
		display: block;
		width: 15%;
		height: 18em;
		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: 15%;
		height: 18em;
		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: 2.5em 0 0;
		font-size: 3.6vw;
		line-height: 200%;
		h5 {
			margin: 0.5em auto 1.2em;
			padding: 0.2em 1em;
			font-size: 4.4vw;
			line-height: 160%;
			font-weight: var(--weight-bold2);
			color: #fff;
			background: #2B8335;
		}
		p {
			margin: 1em auto 0;
			padding: 0;
			text-align: left;
			&:first-of-type {
				margin-top: 0;
			}
		}
	}
	.feature_read {
		margin: 0 auto;
		padding: 1.5em 0 0;
		text-align: left;
		h5 {
			width: 100%;
			display: inline;
			margin: 0;
			padding: 0;
			font-size: 5.4vw;
			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 {
			margin: 1.5em 0 0;
			padding: 0;
			font-size: 3.6vw;
			line-height: 200%;
			strong {
				font-weight: var(--weight-bold2);
			}
		}
	}
	.txt_img_box {
		width: 100%;
		margin: 0 auto;
		padding: 1% 0 0;
		&.under_ttl {
			padding-top: 3%;
		}
		.box {
			width: 100%;
			margin: 8% 0 0;
			padding: 0;
			background: #fff;
			border-radius: 4px;
			overflow: hidden;
			.txt {
				width: 100%;
				margin: 0;
				padding: 5%;
				text-align: left;
				border-left:  3px solid #281F1D;
				&.bg {
					background: #E9EDEA;
				}
				h5 {
					margin: 0;
					padding: 0;
					font-size: 4.4vw;
					line-height: 160%;
					font-weight: var(--weight-bold2);
					color: #2B8333;
					small {
						display: inline-block;
						margin: 0;
						padding: 0;
						font-size: 3.6vw;
						line-height: 160%;
					}
				}
				ul {
					margin: 0;
					padding: 0.2em 0 0;
					font-size: 3.6vw;
					line-height: 160%;
					list-style: none;
					li {
						margin: 0.2em 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;
						}
						small {
							font-size: 3.4vw;
							line-height: 160%;
						}
					}
					p {
						margin: 0.2em 0 0;
						padding: 0 0 0 0.8em;
					}
				}
				div {
					margin: 1em 0 0;
					padding: 0;
					font-size: 3.6vw;
					line-height: 220%;
				}
			}
			.img {
				width: 100%;
				margin: 0;
				img {
					width: 100%;
					height: auto;
				}
			}
		}
	}
	.flow_cont {
		width: 100%;
		margin: 10% auto 0;
		padding: 0;
		list-style: none;
		li {
			width: 100%;
			margin: 0 auto;
			padding: 0;
			.txt {
				width: 100%;
				margin: 0;
				padding: 0;
				text-align: left;
				display: flex;
				align-items: flex-start;
				dt {
					width: 10%;
					margin: 0;
					padding: 0.1em 0 0;
					font-size: 4.4vw;
					list-style: 160%;
					font-weight: var(--weight-bold2);
					font-family: var(--font-lato);
				}
				dd {
					width: 90%;
					margin: 0;
					padding: 0;
					h5 {
						margin: 0;
						padding: 0;
						font-size: 4.4vw;
						line-height: 160%;
						font-weight: var(--weight-bold1);
						&.left {
							margin-left: -10%;
							font-size: 4.6vw;
						}
					}
					p {
						width: 110%;
						margin: 1em 0 0 -10%;
						padding: 0;
						font-size: 3.6vw;
						line-height: 200%;
					}
					.tel_mail {
						margin: 5% 0 0;
						padding: 0;
						a {
							display: block;
							width: 90%;
							height: 4em;
							margin: 1px 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 4px 0 0;
								p {
									font-size: 5.4vw;
									line-height: 120%;
									font-weight: var(--weight-bold1);
									font-family: var(--font-lato);
									white-space: nowrap;
								}
							}
							&.mail {
								background: #2B8335;
								border-radius: 0 0 4px 4px;
								p {
									font-size: 4.8vw;
									line-height: 120%;
									font-weight: var(--weight-bold1);
									white-space: nowrap;
								}
							}
							p {
								margin: 0;
								padding: 0;
								display: flex;
								justify-content: center;
								align-items: center;
								img {
									width: 8%;
									height: auto;
									margin: 0 0.2em 0 0;
								}
							}
						}
					}
				}
			}
			.img {
				margin: 8% 0 0;
				img {
					width: 100%;
					height: auto;
				}
			}
		}
		.arrow {
			width: 100%;
			margin: 5% auto;
			padding: 0;
			text-align: center;
			img {
				width: 12%;
				height: auto;
			}
		}
		.flow_btn {
			margin: 15% auto -5%;
			padding: 0;
			.cont_btn {
				width: 70% !important;
				img {
					display: inline-block;
					width: 7%;
					height: auto;
					margin: 0 1em 0 0;
					vertical-align: -0.2em;
				}
			}
		}
	}
}

/*-----------------------
　　事業内容
-----------------------*/
/* 斜めコンテンツ */
section.diagonal_cont {
	width: 100%;
	padding: 10% 3.5% 15em;
	background: #EFF0F1;
	position: relative;
	.txt {
		margin: 0;
		padding: 0;
		text-align: left;
		position: relative;
		z-index: 2;
		ul {
			margin: 0 0 0 3%;
			padding: 5% 0 0;
			list-style: none;
			li {
				margin: 1em 0 0;
				padding: 0 0 0 1.5em;
				font-size: 3.6vw;
				line-height: 200%;
				p {
					margin: 0;
					padding: 0;
					font-size: 4.5vw;
					line-height: 200%;
					font-weight: var(--weight-bold2);
					position: relative;
					&:before {
						position: absolute;
						content: '';
						display: inline-block;
						width: 1em;
						height: 1px;
						margin: 0;
						background: #261F1D;
						top: 1em;
						left: -1.5em;
					}
					small {
						display: block;
						font-size: 3.8vw;
						line-height: 200%;
					}
				}
			}
		}
	}
	&:after {
		position: absolute;
		content: '';
		display: block;
		width: 15%;
		height: 18em;
		margin: 0;
		padding: 0;
		background: url(../images/sub/diagonal_triangle.png) center / contain no-repeat;
		transform: rotate(180deg);
		top: 0;
		left: 0;
	}
	.img {
		position: absolute;
		display: block;
		width: 100%;
		height: auto;
		bottom: -1.5em;
		left: 0;
		z-index: 1;
		img {
			width: 100%;
			height: auto;
		}
		&:before {
			position: absolute;
			content: '';
			display: block;
			width: 100%;
			height: 14em;
			margin: 0;
			padding: 0;
			background: url(../images/top/partner_img_bg_sp.png) center / contain no-repeat;
			top: -1.2em;
			left: 0;
			z-index: -1;
		}
	}
}

/* メリット */
section.merit_cont {
	margin: 0 auto;
	padding: 20% 1.5% 20%;
	ul {
		width: 100%;
		margin: 10% auto 0;
		padding: 0;
		list-style: none;
		border-radius: 4px;
		overflow: hidden;
		display: flex;
		flex-wrap: wrap;
		li {
			width: 50%;
			margin: 0;
			padding: 5% 1%;
			&:nth-of-type(1), &:nth-of-type(4) {
				background: #C8B000;
			}
			&:nth-of-type(2), &:nth-of-type(3) {
				background: #BBA400;
			}
			span {
				display: block;
				margin: 0 0 0 1%;
				padding: 0;
				font-size: 6.4vw;
				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;
				width: 60%;
				height: auto;
				margin: 5% auto 0;
				padding: 0;
			}
			h5 {
				margin: 0.5em auto 0;
				padding: 0;
				font-size: 4.4vw;
				line-height: 160%;
				font-weight: var(--weight-bold2);
			}
			h6 {
				margin: 1em auto 0;
				padding: 0;
				font-size: 3.8vw;
				line-height: 200%;
				font-weight: var(--weight-bold2);
			}
			p {
				margin: 1em auto 0;
				padding: 0;
				font-size: 3.6vw;
				line-height: 200%;
				color: #fff;
			}
		}
	}
}

/* 各リスト */
ul.list_cont1 {
	width: 100%;
	margin: 0 auto;
	padding: 3% 0 0;
	list-style: none;
	li {
		width: 100%;
		margin: 10% auto 0;
		padding: 0;
		.number {
			margin: 0;
			padding: 0;
			font-size: 10.4vw;
			line-height: 90%;
			font-weight: var(--weight-extrabold2);
			font-family: var(--font-lato);
			font-style: italic;
			color: #244A31;
			text-align: left;
			position: relative;
			z-index: 1;
			small {
				display: inline-block;
				margin: 0 0.2em 0 0;
				padding: 0;
				font-size: 4.4vw;
				line-height: 90%;
			}
		}
		.box {
			width: 100%;
			margin: -1% 0 0;
			padding: 0;
			border-radius: 4px;
			overflow: hidden;
			display: flex;
			flex-direction: column;
			h5 {
				margin: 0;
				padding: 3% 5%;
				font-size: 4.4vw;
				line-height: 180%;
				font-weight: var(--weight-bold2);
				color: #fff;
				text-align: left;
				background: #2B8335;
			}
			.box_in {
				margin: 0;
				padding: 0 0 5%;
				text-align: left;
				background: #fff;
				.txt_img {
					margin: 0;
					padding: 5% 5% 0;
					.txt {
						margin: 0;
						padding: 0;
						h6.outsourcing {
							margin: 0;
							padding: 0;
							font-size: 4.0vw;
							line-height: 180%;
							font-weight: var(--weight-bold2);
							color: #2B8333;
						}
						h6.ecology {
							margin: 1.5em 0 0;
							padding: 0;
							font-size: 4.6vw;
							line-height: 180%;
							font-weight: var(--weight-bold2);
						}
						p + h6 {
							margin-top: 1.5em;
						}
						p {
							margin: 1em 0 0;
							padding: 0;
							font-size: 3.6vw;
							line-height: 200%;
						}
						p:first-child {
							margin-top: 0;
						}
						ul {
							margin: 0;
							padding: 0.2em 0 0;
							font-size: 3.6vw;
							line-height: 160%;
							list-style: none;
							li {
								margin: 0.2em 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;
								}
							}

						}
					}
					.img {
						margin: 5% 0 0;
						img {
							width: 100%;
							height: auto;
						}
					}
				}
				.img_txt {
					margin: 0;
					padding: 5%;
					.img {
						margin: 5% 0 0;
						img {
							width: 100%;
							height: auto;
						}
					}
					.txt {
						margin: 0;
						padding: 0;
						text-align: left;
						h6 {
							margin: 0;
							padding: 0;
							font-size: 4.4vw;
							line-height: 220%;
							font-weight: var(--weight-bold2);
						}
						p {
							margin: 1.5em 0 0;
							padding: 0;
							font-size: 3.8vw;
							line-height: 200%;
							font-weight: var(--weight-bold1);
						}
						ul {
							margin: 0;
							padding: 0.5em 0 0;
							font-size: 3.6vw;
							line-height: 160%;
							list-style: none;
							display: flex;
							flex-wrap: wrap;
							li {
								margin: 0.8em 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: 10% 0 0;
					padding: 0 5%;
					position: relative;
					z-index: 2;
					&.bg {
						margin-top: 0;
					}
					&.bg:after {
						position: absolute;
						content: '';
						display: block;
						width: 100%;
						height: 130%;
						margin: 0;
						padding: 0;
						background: #FBF8EC;
						top: -1.5em;
						left: 0;
						z-index: -1;
					}
					.bef_aft_in {
						width: 100%;
						margin: 0;
						padding: 0;
						text-align: left;
						display: flex;
						justify-content: space-between;
						align-items: top;
						.improvement_ttl {
							width: 15%;
							margin: 0;
							padding: 1em 0;
							display: flex;
							justify-content: center;
							align-items: center;
							font-size: 4.0vw;
							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: 80%;
							margin: 0;
							padding: 0;
							.img {
								width: 100%;
								margin: 0;
								padding: 0;
								position: relative;
								img {
									width: 100%;
									height: auto;
								}
								&.cut:after {
									position: absolute;
									content: '';
									display: block;
									width: 74.8%;
									height: 8.2em;
									margin: 0;
									padding: 0;
									background: url(../service/images/outsourcing_improvement_cut.png) center / contain no-repeat;
									top: -6.2em;
									left: 9.8%;
									z-index: 1;
								}
							}
							.cost_box {
								width: 100%;
								margin: 5% 0 0;
								padding: 3% 4%;
								background: #C8B000;
								p {
									margin: 0 0 0 8%;
									padding: 0;
									font-size: 3.4vw;
									line-height: 160%;
									font-weight: var(--weight-bold2);
									position: relative;
									transition: 0.2s linear;
									&:before {
										position: absolute;
										content: '';
										display: block;
										width: 1.2em;
										height: 1.3em;
										margin: 0;
										padding: 0;
										background: url(../images/icon/improvement_ico_cost.png) center / contain no-repeat;
										top: 0.15em;
										left: -1.4em;
									}
								}
								strong {
									display: block;
									margin: 0;
									padding: 0;
									font-size: 4.1vw;
									line-height: 160%;
									font-weight: var(--weight-bold2);
									color: #fff;
								}
							}
						}
					}
				}
				.box3 {
					padding: 0 3% 3%;
					.img {
						display: block;
						width: 100%;
						margin: 3% 0 0;
						padding: 0;
						img {
							width: 100%;
							height: 10em;
							object-fit: cover;
							object-position: top;
						}
					}
					&.txt {
						padding-top: 5% !important;
					}
					.txt {
						width: 100%;
						margin: 3% 0 0;
						padding: 1.0em 5%;
						font-size: 4.0vw;
						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: -1.8em;
							left: 50%;
							transform: translateX(-50%);
							-webkit- transform: translateX(-50%);
							.cont_btn {
								width: 100% !important;
							}
						}
						&:nth-of-type(3) {
							margin-top: 2.5em;
						}
					}
				}
				.improvement {
					margin: 10% 0 0;
					padding: 0 5%;
					position: relative;
					&.after {
						margin-top: 0;
					}
					&.after:after {
						position: absolute;
						content: '';
						display: block;
						width: 100%;
						height: 130%;
						margin: 0;
						padding: 0;
						background: #FBF8EC;
						top: -1.5em;
						left: 0;
						z-index: -1;
					}
					dt {
						width: 100%;
						margin: 0;
						padding: 3% 5%;
						font-size: 4.0vw;
						line-height: 200%;
						font-weight: var(--weight-bold2);
						text-align: center;
						&.before {
							color: #2B8333;
							background: #CDDED5;
						}
						&.after {
							color: #fff;
							background: #2B8335;
						}
					}
					dd {
						width: 100%;
						margin: 0;
						padding: 3% 0 0;
						.after_img {
							width: 100%;
							margin: 8% 0 0;
							padding: 0;
							overflow-x: auto;
							overflow-scrolling: touch;
							-webkit-overflow-scrolling: touch;
							img {
								width: 54em;
								height: auto;
							}
						}
						.improvement_box ,.improvement_box2 {
							width: 100%;
							margin: 5% 0 0;
							padding: 5%;
							text-align: left;
							background: #EFF0F1;
							strong {
								display: block;
								margin: 0;
								padding: 0 0 0 1.8em;
								font-size: 4.0vw;
								line-height: 160%;
								font-weight: var(--weight-bold2);
								position: relative;
								img {
									position: absolute;
									display: block;
									width: 1.3em;
									height: auto;
									margin: 0;
									top: 0.15em;
									left: 0;
								}
							}
							p {
								margin: 0.5em 0 0;
								padding: 0;
								font-size: 3.6vw;
								line-height: 200%;
							}
							div {
								margin: 0.2em 0 0;
								padding: 0;
								font-size: 4.8vw;
								line-height: 160%;
								font-weight: var(--weight-bold2);
								color: #fff;
								text-align: center;
							}
						}
						.improvement_box2 {
							background: #C8B000;
						}
						.improvement_bef_flow {
							width: 100%;
							margin: 3% 0 0;
							padding: 0;
							list-style: none;
							display: flex;
							flex-direction: column;
							position: relative;
							z-index: 1;
							&:after {
								position: absolute;
								content: '';
								display: block;
								width: 2px;
								height: 95%;
								margin: 0;
								padding: 0;
								background: #281F1D;
								top: 5%;
								left: calc(50% - 1px);
								z-index: -1;
							}
							li {
								width: 100%;
								height: 3em;
								margin: 3% 0 0;
								padding: 3% 4%;
								font-size: 3.4vw;
								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;
								position: relative;
								z-index: 1;
								&.short {
									background: #fff;
									color: #271F1D;
								}
							}
						}
						h4 {
							margin: 1em auto 0;
							padding: 0;
							font-size: 5.4vw;
							line-height: 160%;
							font-weight: var(--weight-bold2);
							color: #C6B000;
						}
					}
				}
				.arrow {
					width: 100%;
					margin: 5% auto;
					padding: 0;
					text-align: center;
					img {
						width: 12%;
						height: auto;
					}
				}
			}
			.bef_aft_arrow {
				width: 100%;
				margin: 3% 0;
				padding: 0 6.5%;
				text-align: left;
				position: relative;
				z-index: 3;
				img {
					width: 12%;
					height: auto;
				}
			}
		}
	}
}
ul.list_cont2 {
	width: 100%;
	margin: 10% auto 0;
	padding: 0;
	list-style: none;
	li {
		width: 100%;
		margin: 5% 0 0;
		padding: 0;
		background: #fff;
		border-radius: 4px;
		overflow: hidden;
		.img {
			width: 100%;
			img {
				width: 100%;
				height: 10em;
				object-fit: cover;
			}
		}
		.txt {
			margin: 0;
			padding: 5% 5%;
			h5 {
				margin: 0 auto;
				padding: 0;
				font-size: 4.6vw;
				line-height: 160%;
				font-weight: var(--weight-bold2);
				color: #2B8333;
			}
			p {
				margin: 0.8em auto 0;
				padding: 0;
				font-size: 3.6vw;
				line-height: 200%;
				text-align: left;
			}
		}
	}
}
ul.list_cont3 {
	margin: 0 auto;
	padding: 5% 0 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	position: relative;
	z-index: 2;
	li {
		width: 48%;
		margin: 5% 0 0;
		padding: 0;
		border-radius: 4px;
		overflow: hidden;
		display: flex;
		flex-direction: column;
		.img {
			width: 100%;
			margin: 0;
			padding: 0;
			img {
				width: 100%;
				height: 6em;
				object-fit: cover;
			}
		}
		.txt {
			width: 100%;
			margin: 0;
			padding: 5% 3%;
			font-size: 3.8vw;
			line-height: 150%;
			font-weight: var(--weight-bold2);
			color: #fff;
			background: #2B8335;
		}
	}
}
ul.list_cont4 {
	width: 100%;
	margin: 0 auto;
	padding: 5% 0 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	li {
		width: 48%;
		height: 4em;
		margin: 3% 0 0;
		padding: 0;
		font-size: 3.6vw;
		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: 3.4vw;
			line-height: 150%;
		}
	}
}
ul.list_cont5 {
	padding: 0;
	list-style: none;
	li {
		width: 100%;
		height: 4em;
		margin: 3% 0 0;
		padding: 0;
		font-size: 4.0vw;
		line-height: 160%;
		color: #fff;
		background: #2B8335;
		border-radius: 4px;
		display: flex;
		justify-content: center;
		align-items: center;
	}
}
ul.list_cont6 {
	width: 100%;
	margin: 0 auto;
	padding: 5% 0 0;
	list-style: none;
	li {
		width: 100%;
		min-height: 3.5em;
		margin: 3% 0 0;
		padding: 3% 2%;
		background: #E9EDEA;
		border-radius: 4px;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		p {
			margin: 0;
			padding: 0;
			font-size: 4.0vw;
			line-height: 150%;
			font-weight: var(--weight-bold2);
		}
		small {
			margin: 0 auto;
			padding: 0;
			font-size: 3.4vw;
			line-height: 150%;
		}
	}
	&.sp_two {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		li {
			width: 48%;
			min-height: 3.0em;
		}
	}
}
ul.list_cont7 {
	margin: 0 auto;
	padding: 5% 0 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	li {
		width: 48%;
		margin: 3% 1% 0;
		padding: 0;
		display: flex;
		flex-direction: column;
		img {
			width: 100%;
			height: auto;
		}
		p {
			width: 100%;
			height: 2.4em;
			margin: 0;
			padding: 0;
			font-size: 3.6vw;
			line-height: 150%;
			font-weight: var(--weight-bold1);
			color: #fff;
			background: #2B8335;
			display: flex;
			justify-content: center;
			align-items: center;
		}
	}
}
ul.list_cont8 {
	width: 100%;
	margin: 0 auto;
	padding: 3% 0 0;
	list-style: none;
	li {
		width: 100%;
		margin: 10% 0 0;
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		&:nth-of-type(even) {
			margin-left: 2%;
		}
		span {
			display: inline-block;
			margin: 0;
			padding: 0;
			font-size: 10.4vw;
			line-height: 90%;
			font-weight: var(--weight-extrabold2);
			font-family: var(--font-lato);
			font-style: italic;
			color: #244A31;
			position: relative;
			z-index: 1;
		}
		.list_box {
			width: 100%;
			margin: -1% 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: 9em;
					object-fit: cover;
				}
			}
			.txt {
				width: 100%;
				margin: 0;
				padding: 5% 6%;
				h5 {
					margin: 0 auto;
					padding: 0;
					font-size: 4.4vw;
					line-height: 160%;
					font-weight: var(--weight-bold2);
					color: #2B8333;
				}
				p {
					margin: 1em auto 0;
					padding: 0;
					font-size: 3.6vw;
					line-height: 200%;
					text-align: left;
				}
			}
		}
	}
}
ul.ecology_box5 {
	margin: 0;
	padding: 3% 0 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	li {
		width: 48%;
		height: 10em;
		margin: 5% 0 0;
		padding: 3%;
		background: #E9EDEA;
		border-radius: 4px;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		&:nth-of-type(even) {
			margin-left: 4%;
		}
		h6 {
			margin: 0.8em 0 0;
			padding: 0;
			font-size: 3.4vw;
			line-height: 160%;
			font-weight: var(--weight-bold2);
			text-align: center;
		}
	}
}

div.other_our_case {
	width: 100%;
	margin: 15% auto 0;
	padding: 0;
	.case_cont {
		width: 100%;
		margin: 0;
		padding: 0;
	}
	.case_cont.other {
		h6 {
			margin: 0;
			padding: 0;
			font-size: 3.6vw;
			line-height: 200%;
			text-align: left;
			font-weight: var(--weight-bold2);
		}
		.case_box {
			width: 100%;
			margin: 0.2em 0 0;
			padding: 0;
			text-align: center;
			background: #EFF0F1;
			.case_ttl {
				width: 100%;
				margin: 0;
				padding: 3% 5%;
				font-size: 4.0vw;
				line-height: 200%;
				font-weight: var(--weight-bold2);
				text-align: center;
				color: #fff;
				background: #281F1D;
			}
			.case_txt {
				margin: 0;
				padding: 5%;
				text-align: center;
				display: flex;
				flex-direction: column;
				justify-content: center;
				align-items: center;
				p {
					margin: 0;
					padding: 0;
					font-size: 4.4vw;
					line-height: 150%;
					font-weight: var(--weight-bold2);
					small {
						display: block;
						font-size: 3.6vw;
						line-height: 150%;
						font-weight: var(--weight-nomal);
					}
					span {
						font-size: 4.0vw;
						line-height: 150%;
					}
				}
			}
		}
	}
	.case_cont.our {
		h6 {
			margin: 0;
			padding: 0;
			font-size: 4.4vw;
			line-height: 200%;
			font-weight: var(--weight-bold2);
			color: #C6B000;
			text-align: center;
		}
		.case_box {
			width: 100%;
			margin: 0.2em 0 0;
			padding: 0;
			text-align: center;
			background: #EFF0F1;
			.case_ttl {
				width: 100%;
				margin: 0;
				padding: 3% 5%;
				font-size: 4.0vw;
				line-height: 200%;
				font-weight: var(--weight-bold2);
				text-align: center;
				color: #fff;
				background: #2B8335;
			}
			.case_txt {
				margin: 0;
				padding: 5% 2%;
				text-align: center;
				display: flex;
				flex-direction: column;
				justify-content: center;
				align-items: center;
				p {
					margin: 0;
					padding: 0;
					font-size: 4.4vw;
					line-height: 150%;
					font-weight: var(--weight-bold2);
					span {
						margin: 0 0.2em;
						padding: 0.1em 0.3em;
						font-size: 5.4vw;
						line-height: 150%;
						background: #C7B000;
					}
				}
				ul {
					margin: 0.5em 0 0;
					padding: 0 0 0 1em;
					font-size: 3.6vw;
					line-height: 160%;
					list-style: none;
					text-align: left;
					display: flex;
					flex-wrap: wrap;
					li {
						margin: 0.8em 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: 0.5em 0 0;
			font-size: 3.4vw;
			line-height: 150%;
			text-align: right;
		}
	}
	.case_cont_arrow {
		width: 100%;
		margin: 5% auto;
		padding: 0;
		text-align: center;
		img {
			width: 12%;
			height: auto;
		}
	}
}

div.feature_tbl {
	width: 100%;
	margin: 10% auto 0;
	padding: 0;
	overflow-x: auto;
	overflow-scrolling: touch;
	-webkit-overflow-scrolling: touch;
	position: relative;
	z-index: 2;
	table {
		width: 44em;
		th {
			margin: 0;
			padding: 0.3em;
			font-size: 4.0vw;
			line-height: 200%;
			text-align: center;
			color: #fff;
			&:first-of-type {
				width: 25%;
				background: #fff;
				border-bottom: 1px solid #281F1D;
			}
			&:nth-of-type(2) {
				width: 42%;
				background: #2B8335;
			}
			&:nth-of-type(3) {
				width: 33%;
				background: #281F1D;
			}
		}
		td {
			margin: 0;
			padding: 1em 0.8em;
			font-size: 3.6vw;
			line-height: 200%;
			text-align: center;
			&: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 0.2em;
				font-weight: var(--weight-bold2);
				background: #C7B000;
			}
		}
	}
}

div.tbl_list1 {
	margin: 0 auto;
	padding: 0;
	.list_box {
		width: 100%;
		margin: 12% 0 0;
		padding: 0;
		&:first-of-type {
			margin-top: 0;
		}
		h5 {
			margin: 0 auto;
			padding: 0;
			font-size: 4.2vw;
			line-height: 160%;
			font-weight: var(--weight-bold1);
		}
		.tbl {
			margin: 5% 0 0;
			padding: 0;
			table {
				width: 100%;
				margin: 0;
				padding: 0;
				border-bottom: 1px solid #281F1D;
				th {
					width: 30%;
					margin: 0;
					padding: 3% 2%;
					font-size: 3.4vw;
					line-height: 160%;
					text-align: center;
					font-weight: var(--weight-bold2);
					white-space: nowrap;
					border-top: 1px solid #281F1D;
					&:first-of-type {
						width: 10%;
					}
					&:nth-of-type(even) {
						background: #F9F9F9;
					}
				}
				td {
					margin: 0;
					padding: 3% 2%;
					font-size: 3.4vw;
					line-height: 160%;
					text-align: center;
					white-space: nowrap;
					border-top: 1px solid #281F1D;
					&:nth-of-type(even) {
						background: #F9F9F9;
					}
				}
			}
		}
		ul {
			width: 100%;
			margin: 5% 0 0;
			padding: 0;
			list-style: none;
			font-size: 3.4vw;
			line-height: 160%;
			text-align: left;
			border-top: 1px solid #281F1D;
			display: flex;
			flex-wrap: wrap;
			h6 {
				width: 100%;
				margin: 5% 0 5px;
				padding: 0;
				font-weight: var(--weight-bold2);
			}
			li {
				width: 100%;
				margin: 0.8em 0 0;
				padding: 0 0 0 2em;
				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: 1.2em;
				}
			}
		}
		.tbl_btn {
			margin: 3% 0 0;
			padding: 0;
		}
	}
}
div.tbl_list2 {
	margin: 15% auto 0;
	padding: 0;
	.tbl_box {
		width: 100%;
		margin: 0;
		padding: 0;
		h5 {
			margin: 0 auto;
			padding: 0;
			font-size: 4.2vw;
			line-height: 160%;
			font-weight: var(--weight-bold1);
			small {
				display: block;
				margin: 0;
				padding: 0;
				font-size: 3.6vw;
				line-height: 160%;
			}
		}
		.tbl {
			width: 100%;
			margin: 5% 0 0;
			padding: 0;
			overflow-x: auto;
			overflow-scrolling: touch;
			-webkit-overflow-scrolling: touch;
			table {
				width: 45em;
				margin: 0;
				padding: 0;
				border-bottom: 1px solid #281F1D;
				th {
					margin: 0;
					padding: 2% 2%;
					font-size: 3.4vw;
					line-height: 160%;
					font-weight: var(--weight-bold2);
					border-top: 1px solid #281F1D;
					&:first-of-type {
						width: 52%;
					}
					&:nth-of-type(2) ,&:nth-of-type(3) ,&:nth-of-type(4) {
						width: 16%;
						text-align: center;
						background: #F9F9F9;
					}
				}
				td {
					margin: 0;
					padding: 2% 2%;
					font-size: 3.4vw;
					line-height: 160%;
					border-top: 1px solid #281F1D;
					&:first-of-type {
						text-align: left;
					}
					&:nth-of-type(even) {
						background: #F9F9F9;
					}
				}
			}
		}
	}
	.img_box {
		width: 100%;
		margin: 5% 0 0;
		padding: 0;
		display: flex;
		justify-content: space-between;
		img {
			display: block;
			width: auto;
			height: 9em;
			margin: 0;
			padding: 0;
		}
	}
}
div.tbl_list3 {
	margin: 15% auto 0;
	padding: 0;
	h5 {
		margin: 0 auto;
		padding: 0;
		font-size: 4.2vw;
		line-height: 160%;
		font-weight: var(--weight-bold1);
	}
	.tbl_cont {
		margin: 5% auto 0;
		padding: 0;
		.tbl {
			width: 100%;
			margin: 0;
			padding: 0;
			&:nth-of-type(2) thead {
				display: none;
			}
			table {
				width: 100%;
				margin: 0;
				padding: 0;
				text-align: center;
				border-bottom: 1px solid #281F1D;
				th {
					margin: 0;
					padding: 3% 2%;
					font-size: 3.4vw;
					line-height: 160%;
					text-align: center;
					white-space: nowrap;
					font-weight: var(--weight-bold2);
					border-top: 1px solid #281F1D;
					&:nth-of-type(even) {
						background: #F9F9F9;
					}
				}
				td {
					margin: 0;
					padding: 3% 2%;
					font-size: 3.4vw;
					line-height: 160%;
					white-space: nowrap;
					border-top: 1px solid #281F1D;
					&:nth-of-type(even) {
						background: #F9F9F9;
					}
					&:first-of-type {
						width: 10%;
					}
					&:nth-of-type(2) {
						width: 35%;
						background: #F9F9F9;
					}
					&:nth-of-type(3) {
						width: 35%;
					}
					&:nth-of-type(4) {
						width: 20%;
						padding: 3px 2%;
						background: #F9F9F9;
						img {
							width: 100%;
							height: auto;
						}
					}
				}
			}
			&:nth-of-type(1) table {
				border-bottom: none;
			}
		}
	}
}
div.tbl_low_level {
	width: 100%;
	margin: 15% auto 0;
	padding: 0;
	border-bottom: 1px solid #281F1D;
	overflow-x: auto;
	overflow-scrolling: touch;
	-webkit-overflow-scrolling: touch;
	table {
		width: 45em;
		margin: 0;
		padding: 0;
		th {
			margin: 0;
			padding: 1% 0.5em;
			font-size: 3.7vw;
			line-height: 160%;
			text-align: center;
			font-weight: var(--weight-bold2);
			border-top: 1px solid #281F1D;
			&.bg {
				background: #F9F9F9;
			}
		}
		td {
			margin: 0;
			font-size: 3.4vw;
			line-height: 200%;
			border-top: 1px solid #281F1D;
			&:first-of-type {
				width: 24%;
				padding: 1% 0.5em;
				font-size: 3.8vw;
				line-height: 200%;
				font-weight: var(--weight-bold2);
			}
			&:nth-of-type(n+2) {
				width: 38%;
				padding: 1% 0.5em;
				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: 3.4vw;
				line-height: 200%;
				list-style: none;
				li {
					margin: 0.3em 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 {
	margin: 5% auto 0;
	padding: 0;
	p {
		margin: 0 auto;
		padding: 0;
		font-size: 3.6vw;
		line-height: 160%;
		text-align: left;
	}
	h5 {
		margin: 0.5em auto 0;
		padding: 0;
		font-size: 4.6vw;
		line-height: 160%;
		font-weight: var(--weight-bold2);
		color: #C6B000;
		text-align: left;
	}
	.img {
		width: 100%;
		margin: 5% 0 0;
		padding: 0;
		overflow-x: auto;
		overflow-scrolling: touch;
		-webkit-overflow-scrolling: touch;
		img {
			width: 100%;
			height: auto;
		}
	}
}

p.serif_txt {
	padding: 0;
	font-size: 4.0vw !important;
	line-height: 200% !important;
	font-weight: var(--weight-bold1) !important;
	text-align: left;
	strong {
		font-size: 3.6vw !important;
		line-height: 200% !important;
		color: #2B8334;
		font-weight: var(--weight-nomal) !important;
	}
}

div.main_cont_btn {
	padding: 0;
}
a.cont_btn {
	display: inline-block;
	width: 90%;
	height: 3em;
	margin: auto;
	padding: 5px;
	font-size: 3.6vw;
	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;
	span {
		display: inline-block;
		margin: 0;
		padding: 0;
		color: #fff;
		small {
			display: block;
			font-size: 3.2vw;
			line-height: 150%;
			font-weight: var(--weight-nomal);
		}
	}
}


/*-----------------------
　　企業情報
-----------------------*/
dl.overview_tbl {
	margin: 0 auto;
	padding: 0;
	border-bottom: 1px solid #281F1D;
	dt {
		width: 100%;
		margin: 0;
		padding: 3% 3% 0;
		font-size: 3.6vw;
		line-height: 220%;
		font-weight: var(--weight-bold2);
		text-align: left;
		border-top: 1px solid #281F1D;
	}
	dd {
		width: 100%;
		margin: 0;
		padding: 0 3% 3% 1.5em;
		font-size: 3.6vw;
		line-height: 200%;
		text-align: left;
	}
}

section.overview_philosophy {
	margin: 20% auto 0;
	padding: 20% 3.5% 20%;
	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 {
		margin: 0 auto;
		.cont_ttl {
			text-align: left;
			h4 ,h3 {
				color: #fff;
			}
		}
		.motto {
			margin: 0;
			padding: 5% 0 0 43%;
			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.0em;
				}
				&:nth-of-type(3) {
					margin-left: 2.0em;
				}
			}
		}
	}
}

section.overview_cont {
	margin: 0 auto;
	padding: 15% 3.5% 15%;
	position: relative;
	&.bg {
		background: #EFF0F1;
	}
	&.bg:after {
		position: absolute;
		content: '';
		display: block;
		width: 15%;
		height: 18em;
		margin: 0;
		padding: 0;
		background: url(../images/sub/diagonal_triangle.png) center / contain no-repeat;
		bottom: 0;
		right: 0;
	}
	.overview_in {
		margin: 0 auto;
		position: relative;
		z-index: 2;
		.cont_ttl {
			margin: 0;
			text-align: left;
		}
		dl {
			margin: 0;
			padding: 5% 0 0 5%;
			text-align: left;
			display: flex;
			flex-wrap: wrap;
			dt {
				width: 10%;
				margin: 5% 0 0;
				padding: 0.1em 0 0;
				font-size: 4.4vw;
				list-style: 160%;
				font-weight: var(--weight-bold2);
				font-family: var(--font-lato);
			}
			dd {
				width: 90%;
				margin: 5% 0 0;
				padding: 0;
				font-size: 3.8vw;
				line-height: 200%;
				font-weight: var(--weight-bold1);
			}
		}
	}
}

div.privacy {
	margin: 10% auto 0;
	text-align: left;
	.read {
		margin: 0;
		padding: 0;
		font-size: 3.6vw;
		line-height: 200%;
	}
	dl {
		width: 100%;
		margin: 0;
		padding: 5% 0 0;
		display: flex;
		flex-wrap: wrap;
		dt {
			width: 10%;
			margin: 5% 0 0;
			padding: 0.1em 0 0;
			font-size: 4.0vw;
			list-style: 220%;
			font-weight: var(--weight-bold2);
			font-family: var(--font-lato);
		}
		dd {
			width: 90%;
			margin: 5% 0 0;
			padding: 0;
			font-size: 3.6vw;
			line-height: 200%;
			h5 {
				margin: 0;
				padding: 0;
				font-size: 3.8vw;
				line-height: 200%;
				font-weight: var(--weight-bold2);
			}
			p {
				margin: 0;
				padding: 0;
			}
		}
	}
	.sign {
		margin: 1.5em 0 0;
		padding: 0;
		font-size: 3.6vw;
		line-height: 200%;
		text-align: right;
	}
}

dl.history {
	margin: 10% auto 0;
	padding: 0;
	text-align: left;
	display: flex;
	flex-wrap: wrap;
	dt {
		width: 30%;
		margin: 5% 0 0;
		padding: 0.1em 0 0 0.8em;
		font-size: 3.8vw;
		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% + 10% + 0.9em);
			background: #281F1D;
			top: 0.9em;
			left: 2px;
		}
		&:last-of-type:after {
			display: none;
		}
	}
	dd {
		width: 70%;
		margin: 5% 0 0;
		padding: 0;
		font-size: 3.6vw;
		line-height: 200%;
		&:first-of-type {
			margin-top: 0;
		}
	}
}

section.access_cont {
	margin: 0 auto;
	padding: 0 3.5% 15%;
	.access_box {
		margin: 15% auto 0;
		padding: 0;
		&:first-of-type {
			margin-top: 8%;
		}
		.txt {
			margin: 0;
			padding: 0;
			text-align: left;
			h4 {
				margin: 0;
				padding: 0;
				font-size: 5.4vw;
				line-height: 180%;
				font-weight: var(--weight-bold2);
				color: #2B8334;
			}
			p {
				margin: 0.5em 0 0;
				padding: 0;
				font-size: 3.6vw;
				line-height: 200%;
				a {
					display: inline-block;
					margin: 0;
					padding: 0;
					color: #261F1D;
					text-decoration: none;
				}
			}
			ul {
				margin: 1.0em 0 0;
				padding: 0 0 0 0.2em;
				font-size: 3.6vw;
				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 {
			margin: 5% 0 0;
			padding: 0;
			img {
				width: 90%;
				height: auto;
			}
		}
		.gmap {
			width: 100%;
			height: 25em;
			margin: 5% 0 0;
			padding: 0;
			position: relative;
			iframe {
				position: absolute;
				width: 100%;
				height: 100%;
				margin: 0;
				padding: 0;
				top: 0;
				left: 0;
			}
		}
	}
	.main_gmap {
		width: 100%;
		height: 30em;
		margin: 5% auto 10%;
		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: 8% auto 0;
	padding: 0;
	a.air_btn {
		display: inline-block;
		width: 100%;
		height: 5em;
		margin: auto;
		padding: 5px;
		font-size: 3.7vw;
		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: 1em;
			height: 1em;
			background: url(../images/icon/link_ico.png) center / contain no-repeat;
			top: calc(50% - 0.5em);
			right: 3%;
			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: 4.4vw;
				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: 3.2vw;
				line-height: 150%;
			}
		}
	}
}

section.recruit_top {
	margin: 15% auto 0;
	padding: 0 3.5% 20%;
	background: linear-gradient(to top, rgba(255,255,255,0) 0px, rgba(255,255,255,0) 2em, rgba(255,255,255,1) 11em) ,url(../recruit/images/recruit_top.jpg) bottom center / 200% auto no-repeat;
	.recruit_in {
		width: 100%;
		margin: 0 auto;
		padding: 0;
		h3 {
			margin: 0;
			font-size: 6.8vw;
			line-height: 160%;
			font-weight: var(--weight-bold2);
			color: #2B8334;
			text-align: left;
		}
		.txt {
			margin: 5% 0 0 8%;
			padding: 3% 3%;
			font-size: 3.9vw;
			line-height: 200%;
			text-align: left;
			color: #fff;
			background: #2B8335;
			border-radius: 4px;
			p {
				margin: 1em 0 0;
				padding: 0;
			}
		}
	}
}
ul.walfare_list {
	width: 100%;
	margin: 0 auto;
	padding: 3% 0 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	li {
		width: 48%;
		margin: 5% 0 0 4%;
		padding: 0;
		background: #E9EDEA;
		border-radius: 4px;
		overflow: hidden;
		&:nth-of-type(odd) {
			margin-left: 0;
		}

		h5 {
			width: 100%;
			margin: 0;
			padding: 3%;
			font-size: 4.0vw;
			line-height: 160%;
			font-weight: var(--weight-bold2);
			color: #fff;
			background: #2B8335;
			display: flex;
			justify-content: center;
			align-items: center;
		}
		P {
			margin: 0;
			padding: 3% 5%;
			font-size: 3.4vw;
			line-height: 200%;
		}
	}
}

div.recruit_box {
	width: 100%;
	padding: 0;
	background: #fff;
	border-radius: 4px;
	overflow: hidden;
	h5 {
		width: 100%;
		height: 2.5em;
		font-size: 5.2vw;
		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: 5% 3%;
		.guideline_tbl {
			width: 100%;
			margin: 0;
			padding: 0;
			dl {
				width: 100%;
				margin: 0;
				padding: 0;
				border-bottom: 1px solid #281F1D;
				display: flex;
				flex-wrap: wrap;
				dt {
					width: 100%;
					margin: 0;
					padding: 3% 3% 0;
					font-size: 3.6vw;
					line-height: 220%;
					font-weight: var(--weight-bold2);
					text-align: left;
					border-top: 1px solid #281F1D;
				}
				dd {
					width: 100%;
					margin: 0;
					padding: 0 3% 3% 1.5em;
					font-size: 3.6vw;
					line-height: 200%;
					text-align: left;
					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: 5% auto 0;
				padding: 0;
				a.cont_btn {
					width: 90%;
					height: 4.0em;
					font-size: 3.8vw;
					line-height: 150%;
					font-weight: var(--weight-bold1);
				}
			}
		}
		.access {
			width: 100%;
			margin: 5% 0 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%;
	margin: 0 auto;
	padding: 3% 0 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	li {
		width: 48%;
		margin: 5% 0 0 4%;
		padding: 0;
		border-radius: 4px;
		overflow: hidden;
		&:nth-of-type(odd) {
			margin-left: 0;
		}
		a {
			display: block;
			width: 100%;
			height: 8em;
			margin: 0;
			padding: 0;
			border-radius: 4px;
			overflow: hidden;
			img {
				width: 100%;
				height: 8em;
				object-fit: cover;
			}
		}
		p {
			margin: 0.5em auto 0;
			padding: 0;
			font-size: 3.4vw;
			line-height: 200%;
		}
	}
}


/*-----------------------
　　お問い合わせ
-----------------------*/
#form_cont {
	margin: 8% auto 0;
	padding: 0 3.5% 15%;
	.form_top {
		margin: 0;
		padding: 5% 3%;
		font-size: 3.5vw;
		line-height: 220%;
		text-align: left;
		border: 1px solid #281F1D;
		strong {
			display: block;
			margin: 1em 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: 15% auto 0;
		padding: 0;
		font-size: 3.6vw;
		line-height: 180%;
		border-bottom: 1px solid #281F1D;
		p.warning {
			width: 100%;
			margin: 0 0 0.4em;
			padding: 0;
			font-size: 3.6vw;
			line-height: 180%;
			text-align: left;
			&.yellow {
				color: #C6AE00;
				font-weight: var(--weight-bold2);
			}
		}
		dt, dd {
			margin: 0;
		}
		dt {
			width: 100%;
			padding: 3% 3% 0;
			font-weight: var(--weight-bold2);
			border-top: 1px solid #281F1D;
			text-align: left;
			span {
				display: inline-block;
				margin: 0 0 0 0.5em;
				padding: 0.1em 0.2em;
				font-size: 3.2vw;
				line-height: 160%;
				color: #fff;
				background: #C7AF00;
			}
		}
		dd {
			width: 100%;
			padding: 1% 3% 3%;
			text-align: left;
			input[type=text],
			input[type=tel],
			input[type=email],
			select {
				width: 100%;
				padding: 2% 3%;
				font-size: 3.8vw;
				line-height: 170%;
				font-weight: var(--weight-noaml);
				font-family	: inherit;
				border: none;
				background: #F9F9F9;
			}
			textarea {
				width: 100%;
				height: 15em;
				padding: 2% 3%;
				font-size: 3.8vw;
				line-height: 170%;
				font-weight: var(--weight-noaml);
				font-family	: inherit;
				border: none;
				background: #F9F9F9;
			}
			small {
				display: block;
				margin: 0;
				padding: 0;
				font-size: 3.2vw;
				line-height: 160%;
			}
			.privacy_box {
				width: 100%;
				height: 20em;
				margin: 0;
				padding: 2% 2%;
				font-size: 3.5vw;
				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: 2em;
						margin: 1.5em 0 0;
						padding: 0.1em 0 0;
						border-top: none;
						font-weight: var(--weight-bold2);
						font-family: var(--font-lato);
					}
					dd {
						width: calc(100% - 2em);
						margin: 1.5em 0 0;
						padding: 0.1em 0 0;
						border-top: none;
						h5 {
							margin: 0;
							padding: 0;
							font-weight: var(--weight-bold2);
						}
						p {
							margin: 0;
							padding: 0;
						}
					}
				}
				.sign {
					margin: 2em 0 0;
					padding: 0;
					text-align: right;
				}
			}
			input[type=checkbox]
			,input[type=radio] {
				margin: 0 5px 0 0;
				width: 1.2em;
				height: 1.2em;
				vertical-align: -0.2em;
			}
			.privacy_link {
				margin: 0.5em 0 0;
				padding: 0;
			}
		}
	}
	#contact_btn {
		margin: 0;
		padding: 10% 0 0;
		text-align: center;
		div.form_btn1 {
			display: block;
			width: 90%;
			margin: 5px auto;
			button {
				display: block;
				width: 100%;
				height: 3.5em;
				margin: 0 auto;
				padding: 0;
				font-size: 4.0vw;
				line-height: 120%;
				font-family	: inherit;
				color: #fff;
				background: #2B8335;
				cursor: pointer;
				border: none;
				border-radius: 4px;
				span {
					font-weight: var(--weight-bold1);
					position: relative;
					z-index: 2;
				}
			}
		}
		div.form_btn2 {
			display: inline-block;
			width: 90%;
			margin: 5px auto;
			button {
				display: block;
				width: 100%;
				height: 3.5em;
				margin: 0 auto;
				padding: 0;
				font-size: 4.0vw;
				line-height: 120%;
				font-family	: inherit;
				color: #fff;
				background: #281F1D;
				cursor: pointer;
				border: none;
				border-radius: 4px;
				span {
					font-weight: var(--weight-bold1);
					position: relative;
					z-index: 2;
				}
			}
		}
	}
}




