body {
	background: #12C0A9;
}
section{
	margin: 0;
	padding: 0;
}

.company-banner{
	position: relative;
}
.pc-banner{
	width: 100%;
	height: 22vw;
	& > img{
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center;
		vertical-align: middle;
	}
}
.sp-banner{
	display: none;
	width: 100%;
	/*height: 116.7vw;*/
	height: 110vw;
	& > img{
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center;
	}
}
.company-head{
	position: absolute;
	z-index: 1;
	width: 38.3vw;
	height: 9.4vw;
	left: -3.1vw;
	bottom: -6vw;
	& > img{
		object-fit: cover;
		object-position: center;
		width: 100%;
		height: 100%;
	}
}

.company-page{
	background-image: url(../images/background/07_bg-pc.png);
	background-size: cover;
	#background-position: center;
	overflow-x: hidden;
}

.company-top{
	position: relative;
	padding: 2.6vw 0 0 5.2vw;
}
.top-content{
	padding-bottom: 2vw;
	background-color: white;
	box-shadow: 0.5vw 0.5vw #fff, 0.7vw 0.7vw black;
	border-radius: 15px;
	border: #000 solid 0.2vw;
	padding-top: 5.3vw;
	padding-left: 5.3vw;
	padding-right: 19.4vw;

	position: relative;
	margin-right: 19.4vw;
	
	& > h2{
		width: 40vw;
		font-size: 1.9vw;
		font-weight: 500;
		margin: 0;
		margin-bottom: 2.1vw;
	}
	& > div{
		width: 36.3vw;
		& p{
			font-size: 1.25vw;
			line-height: 1.5;
			font-weight: 400;
		}
	}
}

.top-image{
	position: absolute;
	right: -1vw;
	top: 7.2vw;
	width: 50.7vw;
	height: 34.4vw;
	
	transform-origin: 0px 100%;
	transform: skewX(-11deg) translateZ(1px);
	box-shadow: rgba(0, 0, 0, 0.17) 0.2vw 0.2vw 0.5vw;
	overflow: hidden;
	border-width: 0.2vw;
	border-style: solid;
	border-color: rgb(0, 0, 0);
	border-image: initial;

	& > img{
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center;
		
		position: absolute;
		left: -3vw;
		bottom: 0;

		transform: skewX(11deg) scale(147%);
		transition: transform 0.4s ease;
	}
}
.top-image:hover{
	& > img{
		transform: scale(1.8) skewX(11deg);
		filter: brightness(0.5) contrast(0.9) blur(0.09px);
	}
}
.company_label{
	display: flex;
	position: relative;
	margin-top: 11vw;
	left: -8vw;
}
.main_label{
	width: 34.1vw;
	text-align: end;
	padding: 1vw 6.5vw 1vw 3.1vw;
	background: #000;
	font-weight: bold;
	min-width: 19.8vw;
	clip-path: polygon(0% 0%, 4% 100%, 96% 100%, 100% 0%);
	color: white;
	font-size: 1.8vw;
}
.label_decoration_one{
	position: relative;
	right: 1;
	border-top: 2.9vw solid black;
	border-left: 0.6vw solid transparent;
	border-right: 0.6vw solid transparent;
	width: 1.8vw;
	top: 0px;
	left: 1.9vw;
}
.label_decoration_two{
	border-bottom: 3.4vw solid black;
	border-left: 1vw solid transparent;
	border-right: 1vw solid transparent;
	width: 2.96875vw;
	bottom: -0.315789vw;
	right: -1.041667vw;
	position: relative;
}
.label_decoration_three{
	position: relative;
	border-bottom: 3.4vw solid black;
	border-left: 1vw solid transparent;
	border-right: 1vw solid transparent;
	width: 2.9vw;
	bottom: -0.3vw;
	right: -1vw;
	transform: scaleX(-1);
	left: -1vw;
}
.label_decoration_four{
	border-top: 2.9vw solid black;
	border-left: 0.6vw solid transparent;
	border-right: 0.6vw solid transparent;
	width: 1.8vw;
	height: 0;
	position: relative;
	right: -1vw;
	top: 0px;
	transform: scaleX(-1);
	left: -1.9vw;
}

.company_boxs{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding: 7vw 5.4vw;
}
.company_box{
	width: 42.7vw;
	position: relative;
	background-color: #e7e2d9;
	margin-bottom: 3vw;
	border: 0.3vw solid;
}
.company_box_title{
	width: 21vw;
	background: black;
	color: white;
	width: 21.3vw;
	padding: 1.9vw 0px 1.8vw;
	letter-spacing: 0.15em;
	font-size: 1.8vw;
	font-weight: 700;
	text-align: center;
	margin: 0 auto;
	margin-bottom: 2.8vw;
}
.company_box_image{
	border-top: 0.3vw solid black;
	border-bottom: 0.3vw solid black;
	padding: 0.7vw 3.6vw;
	& > a{
		width: 100%;
	}
	& img{
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center;
	}
}
.company_box_link{
	height: fit-content;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 2.8vw;
	padding: 2.5vw 0px;
	& a{
		text-decoration: none;
	}
}
.arrow_decorations{
	display: flex;
	position: relative;
	align-items: center;
}
.allow_decoration_back{
	align-self: baseline;
	border-top: 2.7vw solid black;
	border-left: 0.6vw solid transparent;
	border-right: 1.1vw solid transparent;
	height: 0;
	width: 2.9vw;
	position: relative;
	top: 0.5vw;
	right: -1vw;
}
.allow_decoration_main{
	background: #000;
	padding: 0.9vw 1.5vw 0.6vw 3.1vw;
	font-weight: bold;
	min-width: 19.8vw;
	height: fit-content;
	text-align: center;

	clip-path: polygon(1.9vw 0%, 0% 100%, 100% 100%, 100% 0%);

	font-size: 1.8vw;
	color: white;
	font-weight: bold;
	text-align: center;
}
.allow_decoration_front{
	position: relative;
	left: -1px;
	width: 0;
	height: 0;
	border-top: 3.9vw solid transparent;
	border-left: 3.6vw solid #000;
	border-bottom: 3.9vw solid transparent;
}

.action-bottom-widget{
	background-color: #43C0A9;
}

@media (max-width: 760px){
	.pc-banner{
		display: none;
	}
	.sp-banner{
		display: block;
	}
	.company-head{
		margin: 8vw 49.8vw 0 -6.97vw;
		width: unset;
		height: unset;
		left: unset;
		bottom: unset;
	}
	.company-page{
		background-image: url(../images/background/07_bg-sp.png);
		background-color: #11c7b2;
	}
	.company-top{
		padding: 15.1vw 6.4vw 0vw 0px;
	}
	.top-content{
		width: 100%;
		padding-right: 7.3vw;
		padding-bottom: 51vw;
		padding-top: 14vw;
		padding-left: 8.3vw;
		box-shadow: 8px 8px #fff, 8px 9px 0 4px #000;
		border-radius: 10px;
		& > h2{
			width: 100%;
			margin-bottom: 6.5vw;
			font-size: 3.6vw;
			font-weight: 600;
		}
		& > div{
			width: 100%;
			& > p{
				font-size: 3.15vw;
				line-height: 5.2vw;
			}
		}
	}
	.top-image{
		width: 93.4vw;
		height: 63.1vw;
		bottom: -22.7vw;
		top: unset;
		border: 0.6vw solid #000000;
	}
	.company_label{
		margin-top: 45vw;
		width: fit-content;
		margin-left: auto;
		margin-right: auto;
		left: unset;
	}
	.label_decoration_one{
		border-top: 5.7vw solid black;
		border-left: 1.5vw solid transparent;
		border-right: 1.5vw solid transparent;
		width: 3.5vw;
		top: 0px;
		left: 2.9vw;
	}
	.label_decoration_two{
		border-bottom: 6.8vw solid black;
		border-left: 2vw solid transparent;
		border-right: 2vw solid transparent;
		width: 5.6vw;
		bottom: -1.3vw;
		right: -2vw;
		position: relative;
	}
	.main_label{
		width: 73.8vw;
		text-align: center;
		font-size: 3.6vw;
	}
	.label_decoration_three{
		border-bottom: 6.8vw solid black;
		border-left: 2vw solid transparent;
		border-right: 2vw solid transparent;
		width: 5.6vw;
		bottom: -1.3vw;
		right: -2vw;
		position: relative;
		transform: scaleX(-1);
		left: -2vw;
	}
	.label_decoration_four{
		transform: scaleX(-1);
		left: -2.9vw;
		border-top: 5.7vw solid black;
		border-left: 1.5vw solid transparent;
		border-right: 1.5vw solid transparent;
		width: 3.5vw;
		top: 0px;
	}
	.company_boxs{
		margin-bottom: 40vw;
		margin-top: 11vw;
	}
	.company_box{
		width: 100%;
	}
	.company_box_title{
		width: 42.6vw;
		padding: 3.9vw 0px 3.8vw;
		font-size: 3.6vw;
	}
	.allow_decoration_back{
		border-top: 6.8vw solid black;
		border-left: 2vw solid transparent;
		border-right: 2vw solid transparent;
		width: 6.8vw;
		top: 1.5vw;
		right: -2vw;
	}
	.allow_decoration_main{
		padding: 2vw 3.5vw 3vw 6.1vw;
		text-align: center;
		font-weight: bolder;
		min-width: 37.2vw;
		font-size: 3.6vw;
	}
	.allow_decoration_front{
		border-top: 7.7vw solid transparent;
		border-left: 8.6vw solid #000;
		border-bottom: 7.8vw solid transparent;
	}
}

