@charset "UTF-8";

/* +++ .voice +++ */
.main-pic img {
    width: 100%;
    object-fit: cover;
}
.pswp{
	z-index: 99999;
}
.voice-list li{
	width: calc(25% - 2.7rem);
	height: min(calc((95vw / 4) - 2.7rem), 25.8rem);
	overflow: hidden;
	margin-bottom: 3.6rem;
	position: relative;
}
.voice-list li:before{
	background: #f5f8fa;
}
.voice-list li:not(:nth-of-type(4n)){
	margin-right: 3.6rem;
}
.voice-list li *{
	display: block;
	width: 100%;
	height: 100%;
}
.voice-list img{
	display: block;
	transition: .3s all ease;
	object-fit: cover;
	width: 100%;
	height: 100%;
}
.voice-list a:hover img{
	transform: scale(1.05);
}

/* +++school-slide01+++ */
.school-slide01{
	transition: .8s all ease;
}
.portfolio{
	padding-inline: 0;
}




.school-slide01 a{
	display: block;
	position: relative;
}
.school-slide01 a h3{
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	transition: .3s all ease;
	transition-delay: 0;
	visibility: hidden;
	opacity: 0;
	font-size: 1.6rem;
}
.school-slide01 a:hover h3{
	opacity: 1;
	visibility: visible;
	transition-delay: .3s;
}
.school-slide01 li .pic{
	position: relative;
	overflow: hidden;
}
.school-slide01 .pic{
	height: calc(100vw / 3.5 / 3 * 2);
}

.school-slide .pic img{
	height: 100%;
	object-position: center top;
}

.school-slide01 li .pic:before{
	font-family: 'Outfit', 'Zen Kaku Gothic New', YuGothic, 游ゴシック, メイリオ, Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
	--spacing: .1em;
	font-weight: 400;
	color: #fff;
	content: "";
	display: flex;
	justify-content: center;
	align-items: center;
	width: 120%;
	height: 100%;
	position: absolute;
	background: #3dd2b7;
	transform: skew(-15deg, 0) scale(0,1);
	left: -10%;
	top: 0;
	transition: .3s all ease;
	opacity: 0;
}
.school-slide01 li:hover .pic:before{
	transform: skew(-15deg, 0) scale(1,1);
	opacity: .85;
}


@media screen and (max-width: 768px){

/* +++ .voice +++ */
	.voice-list{
		justify-content: space-between;
	}
	.voice-list li{
		width: calc(50% - 1rem);
		height: calc(50vw - 2rem);
		margin: 0 0 2rem !important;
	}


/* +++school-slide01+++ */
	.school-slide01{
		padding-bottom: 0;
	}
	.school-slide01 .pic{
		height: calc(100vw / 1.25 / 3 * 2);
	}
}