@keyframes fadeup{
	from{
		transform: translateY(10vh);
		opacity: 0;
	}
	to{
		transform: translateY(0%);
		opacity: 1;
	}
}
.fade-up{
	animation: fadeup 0.5s;
}

body{
	background-color: #EDE9E2;
	overflow-x: hidden;
}
section{
	padding: 0;
	margin: 0;
}
.policy-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: 114vw;
	& > img{
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center;
		vertical-align: middle;
	}
}
.policy-head{
	width: 38vw;

	position: absolute;
	bottom: -5.5vw;
	left: -1vw;
	z-index: 1;
	& > img{
		object-fit: cover;
		object-position: center;
		width: 100%;
		height: 100%;
	}
}
.policy-page{
	background-image: url("../images/background/06_bg-pc.png");
	background-repeat: no-repeat;
	background-size: cover;
	overflow-x: hidden;
}
.policy-top{
	position: relative;
	padding-top: 3vw;
}
.top-content{
	width: 75.8%;

	background-color: white;
	border: solid black;
	border-radius: 0.3%;
	box-shadow: 8px 8px #fff, 8px 9px 0 4px #000;

	#padding: 6% 0 2% 5%;
	padding-bottom: 2.3vw;

	font-size: 1.25vw;

	position: relative;
	left: 6%;
}
.top-title{
	font-size: 1.9vw;
	line-height: 1.8vw;
	letter-spacing: 5.4px;
	font-style: normal;
	font-variant: normal;
	font-weight: bold;
	color: black;
	
	letter-spacing: 5.4px;
	margin: 6vw 5vw 2vw;
}
.top-description{
	margin-bottom: 0;
	& > p{
		width: 36.3vw;
		font-size: 1.25vw;
		line-height: 2.4vw;
		font-style: normal;
		font-variant: normal;
		font-weight: 500;
		
		margin: 0;
		margin-left: 5vw;
	}
}
.top-image{
	width: 56.6%;
	height: 87%;

	position: absolute;
	top: 25%;

	margin-left: 49.5%;

	transform-origin: 0 100%;
	transform: skewX(-12deg);
	overflow: hidden;
	border: 5px solid #000000;
	& > img{
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center;
		transform: skewX(12deg);
		transition: transform 0.4s;
		transform-origin: bottom left;
	}
}
.top-image:hover img{
	transform: skewX(12deg) scale(110%);

}
.policy-body{
	position: relative;
	padding-top: 9%;
	padding-bottom: 7%;
}

.photo_pc{
	width: 25%;
	position: absolute;
	left: -5%;
	top: 50%;
	transform: translateY(-50%);
	& > img{
		width: 100%;
		height:100%;
		object-fit: cover;
		object-position: center;
	}
}

.body-content{
	display: flex;
	align-items: center;
	flex-direction: column;

	width: 50%;
	height: auto;
	
	background: white;
	border: 5px solid #000000;
	border-radius: 10px;
	
	position: relative;
	z-index: 1;

	margin: 0 auto;

	font-size: 0.9vw;
}
.body-title{
	width: 41%;
	
	background: #000000 0% 0% no-repeat padding-box;
	border-radius: 0.2vw;
	
	margin-top: -0.1%;
	padding-top: 12px;
	padding-bottom: 8px;
	
	font-size: 1.5vw;
	line-height: 1.8vw;
	letter-spacing: 5.4px;

	text-align: center;
	color: white;
	opacity: 1;
	font-style: normal;
	font-variant: normal;
	font-weight: bold;
}
.management-policy{
	padding: 3vw 0 1vw;
	margin-bottom: 16px;

	letter-spacing: 4.5px;
	color: #FF7600;
	font-size: 1.5vw;
	line-height: 1.8vw;
	font-style: normal;
	font-variant: normal;
	font-weight: 700;
}
.policy-list{
	width: 100%;
	border-top: 5px solid;
}
.policy-lead{
	padding: 1.5vw 0 1.2vw;
	margin-bottom: 12px;

	font-size: 1.3vw;
	line-height: 1.8vw;
	font-style: normal;
	font-variant: normal;
	font-weight: 500;
	text-align: center;
}
.policy-items{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: stretch;
}
.policy-item{
	width: 26%;
	height: auto;
	border: 1px solid #11C7B2;
	background: #11C7B2 0% 0% no-repeat padding-box;
	border-radius: 10px;
	margin: 0.8vw 1.7vw 1.1vw;
	& > h2{
		background: black;
		color: #11C7B2;
		font-size: 1.5vw;
		line-height: 1.4vw;
		margin-top: 10px;
		padding: 8px 0;
		text-align: center;
	}
	& > p{
		text-align: center;
		font-size: 0.9vw;
		line-height: 1.5vw;
		letter-spacing: 0px;
		color: #000000;
		margin: 1.4vw 1.6vw 0.8vw;
		font-style: normal;
		font-variant: normal;
		font-weight: 500;
	}
}
.action-bottom-widget{
	background-color: #EDE9E2;
}

@media (max-width: 760px){
	.pc-banner{
		display: none;
	}
	.sp-banner{
		display: block;
		width: 100%;
		height: 110vw;
	}
	.policy-page{
		background-image: url("../images/background/06_bg-sp.png");
	}
	.policy-head{
		width: 56%;
		bottom: -20%;
		left: -13%;
	}
	.policy-top{
		padding-top: 15%;
	}
	.top-content{
		width: 96%;
		#padding: 17% 5% 23% 5%;
		
		padding-bottom: 23vw;
		padding-left: 12px;

		border: 1vw solid black;
		border-radius: 0.6vw;
		box-shadow: 8px 8px #fff, 8px 9px 0 4px #000;

		left: -4%;
		
		font-size: 3vw;
	}
	.top-title{
		font-size: 4.8vw;
		line-height: 30px;
		margin-top: 17vw;
		margin-bottom: 9vw;
	}
	.top-description{
		& > p{
			width: 77vw;
			font-size: 3.1vw;
			line-height: 4vw;
			font-weight: 700;
			margin-bottom: 32px;
		}
	}
	.top-image{
		height: 63.1vw;
		margin-left: 8vw;
		top: -30vw;
		margin-top: 4vw;
		width: 95%;
		position: relative;
	}
	.policy-body{
		margin-top: -9vw;
		padding-top: 0;
	}
	.photo_pc{
		display: none;
	}
	.body-content{
		width: 86.8%;
		padding-bottom: 7.2vw;
		font-size: max(2vw,6.5px);
	}
	.body-title{
		font-size: 2.5vw;
		line-height: 3.1vw;
		border-radius: 0.6vw;
	}
	.management-policy{
		font-size: 2.6vw;
		line-height: 3vw;
		padding: 0 12px;
		padding-top: 4vw;
		padding-bottom: 1vw;
		margin: 0;
	}
	.policy-list{
		border-width: 5px;
		padding: 0 12px;
	}
	.policy-lead{
		font-size: 2.1vw;
		line-height: 2.9vw;
		margin-top: 4vw;
		margin-bottom: 5.6vw;
	}
	.policy-item{
		margin: 10px 2.8vw;
		& > h2{
			font-size: 2.6vw;
			line-height: 3.6vw;
			margin-bottom: 0;
		}
		& > p{
			font-size: 1.9vw;
			line-height: 3.2vw;
			
			/*
			max-width: 10em;
			margin: 1em auto;
			*/
		}
	}
	.action-bottom-widget{
		padding: 10vw 0 5vw 0;
	}
}
@media (max-width: 500px){
	.top-title{
		letter-spacing: 0;
		margin-bottom: 5vw;
	}
	.top-content{
		left: -6%;
		box-shadow: 3px 3px #fff, 3px 3px 0 3px #000;
		border: 3px solid;
		border-radius: 5px;
	}
	.top-image{
		border-width: 3px;
	}
	.body-title{
		width: 55%;
		border-radius: 5px 5px 10px 10px;
		font-size: 13px;
	}
	.body-content{
		border: 3px solid #000000;
		margin-top: 15vw;
		padding-bottom: 7vw;
		border-radius: 7px;
	}
	.management-policy{
		font-size: 13px;
		letter-spacing: 0px;
		line-height: 1em;
		margin-bottom: 3vw;
		text-align: center;
	}
	.policy-list{
		border-width: 3px;
		padding: 0;
	}
	.policy-lead{
		margin-bottom: 0px;
		margin-top: 2vw;
	}
	.policy-item{
		margin: 10px 2.8vw 8px;
		& > h2{
			padding: 4px;
		}
	}
}
@media (max-width: 450px){
	/*
	.body-title{
		#font-size: 2em;
	}
	.management-policy{
		font-size: 2.5em;
		text-align: center;
		& > span{
			display: block;
		}
	}
	.policy-lead{
		font-size: 1.8em;
		text-align: center;
		& > span{
			display: block;
		}
	}

	.policy-item{
		width: 40%;
		& > h2{
			font-size: 2em;
		}
		& > p{
			font-size: 1.5em;
		}
	}
	*/
}
