@charset "utf-8";

/* ---------------------------------------- 
 - contents（campus_list）
---------------------------------------- */
#campus_list #campus_list_inner{
	margin:0 auto 100px;
	max-width: 1366px;
}
.campus_box{
	display: -webkit-flex;
	display: flex;
	padding: 80px 0;
}
.campus_box:nth-child(even){
	flex-direction: row-reverse;
}
.campus_box .campus_box_inner{
	width: 90%;
	max-width: 1100px;
}
.campus_box .number{
	font-size: 7.2rem;
    color: #023894;
    line-height: 1.4;
	margin-left: 10%;
	position: relative;
}
.campus_box:nth-child(even) .number{
	margin-left: 60px;
}
.campus_box .number::before {
    background: #023894;
    content: "";
    position: absolute;
    width: 0;
    height: 1px;
	left:1.5em;
	top:0;
	bottom: 0;
	margin: auto;
}
.campus_box.anime .number::before {
    animation: line-horizontal 0.3s ease-in-out 0.4s both;
}
@keyframes line-horizontal {
	0% {
		width: 0;
	}
	100% {
		width: 65px;
	}
}

.campus_box .ttl{
	font-size: 4.8rem;
    color: #023894;
    line-height: 1.4;
	margin-left: 10%;
}
.campus_box:nth-child(even) .ttl{
	margin-left: 60px;
}
.campus_box .text_box{
	position: relative;
	overflow: hidden;
	padding: 50px 60px 50px 10%;
	margin-top: -30px;
}
.campus_box:nth-child(even) .text_box{
	padding-left: 60px;
	padding-right: 10%;
}
.campus_box .text_box::before {
    background: #f3f5f9;
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;    
    left: 0;
    transform: translate3d(-100.1%, 0, 0);
	z-index: -1;
}
.campus_box.anime .text_box::before {
    transition-duration: .5s;
    transition-delay: .3s;
    transform: translate3d(0, 0, 0);
    transition-timing-function: cubic-bezier(0.42, 0, 0.58, 1.0);
}
/* voice */
.campus_box .voice{
	margin-top: 50px;
}
.campus_box .voice .voice_ttl{
	font-size: 3.0rem;
	background: #023894;
	margin-bottom: 30px;
	padding: 0 0.7em;
	color:#fff;
}
.campus_box .voice .voice_box{
	display: flex;
	justify-content: space-between;
	border-bottom: dotted 1px #c7c7c7;
	padding-bottom: 30px;
	margin-bottom: 30px;
}
.campus_box .voice .voice_box:last-child{
	border-bottom: none;
	padding-bottom: 0;
	margin-bottom: 0;
}
.campus_box .voice .voice_box .voice_box_visual{
	width: 40%;
	max-width: 500px;
}
.campus_box .voice .voice_box .voice_box_visual .name{
	font-size: 1.8rem;
	margin-top: 0.5em;
	margin-bottom: 0.2em;
}
.campus_box .voice .voice_box .voice_box_visual .year{
	font-size: 1.4rem;
	line-height: 1.8;
}
.campus_box .voice .voice_box .voice_box_text{
	width: 53%;
	margin-top: 0.5em;
}
.campus_box .voice .voice_box .voice_box_text .catch{
	font-size: 2.0rem;
	margin-bottom: 0.7em;
	color:#023894;
	line-height: 1.8;
}
@media screen and (max-width: 1024px) {
	.campus_box .number {
		font-size: 5.2vw;
	}
	.campus_box .ttl{
		font-size: 3.8vw;
	}
	/* voice */
	.campus_box .voice .voice_box{
		display: block;
	}
	.campus_box .voice .voice_box .voice_box_visual{
		width: 100%;
		max-width: 500px;
		margin: 0 auto;
	}
	.campus_box .voice .voice_box .voice_box_text{
		width: 100%;
		margin-top: 2.0em;
	}
}
@media screen and (max-width: 768px) {
	#campus_list #campus_list_inner{
		margin-bottom: 35px;
	}
	.campus_box{
		display: block;
		padding: 50px 0 0;
	}
	.campus_box .campus_box_inner{
		width: 100%;
		max-width: 100%;
	}
	.campus_box .number,
	.campus_box:nth-child(even) .number{
		font-size: 4.0rem;
		margin-left: 5%;
	}
	@keyframes line-horizontal {
		0% {
			width: 0;
		}
		100% {
			width: 45px;
		}
	}
	
	.campus_box .ttl,
	.campus_box:nth-child(even) .ttl{
		font-size: 2.6rem;
		margin-left: 5%;
		margin-right: 5%;
	}
	.campus_box .text_box,
	.campus_box:nth-child(even) .text_box{
		padding: 35px 5% 35px;
		margin-top: -15px;
		font-size: 1.4rem;
	}
	
	/* voice */
	.campus_box .voice{
		margin-top: 30px;
	}
	.campus_box .voice .voice_ttl{
		font-size: 2.2rem;
	}
	.campus_box .voice .voice_box .voice_box_visual{
		width: 100%;
	}
	.campus_box .voice .voice_box .voice_box_visual .name{
		font-size: 1.6rem;
	}
	.campus_box .voice .voice_box .voice_box_visual .year{
		font-size: 1.3rem;
	}
	.campus_box .voice .voice_box .voice_box_text .catch{
		font-size: 1.8rem;
		margin-bottom: 0.7em;
		color:#023894;
		line-height: 1.8;
	}
}