@charset "utf-8";
/*------------------------------------------------------------
	faculty
------------------------------------------------------------*/
body {
	position: relative;
}
body::after {
	width: 654px;
	height: 557px;
	position: fixed;
	bottom: -210px;
	left: -90px;
	background: url(../img/faculty/bg02.png) no-repeat left bottom;
	background-size: 100% 100%;
	content: "";
	z-index: -1;
}
#main .content {
	padding: 131px 0;
	min-height: 100vh;
	background: url(../img/faculty/bg01.png) repeat center top 11px;
	background-size: 1038px auto;
	box-sizing: border-box;
	position: relative;
	display: flex;
	align-items: stretch;
	justify-content: center;
	flex-direction: column;
}
#main .imgBox {
	width: 100%;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
#main .imgBox .photo {
	width: calc(50% + 397px);
	order: 3;
}
#main .imgBox .photo a {
	display: block;
	position: relative;
	overflow: hidden;
}
#main .imgBox .photo a::after {
	width: 71px;
	height: 71px;
	position: absolute;
	top: 50%;
	left: 50%;
	background: url(../img/common/play_icon.png) no-repeat left top;
	background-size: 100% 100%;
	content: "";
	-webkit-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
}
#main .imgBox .photo .nameTxt {
	color: #0000e3;
	font-size: 1.83rem;
	position: absolute;
	bottom: 78px;
	left: 151px;
	z-index: 10;
}
#main .imgBox .photo .nameTxt .jp {
	padding: 0 30px 5px 0;
	display: inline-block;
	vertical-align: top;
	border-bottom: 1px solid #0000e3;
	position: relative;
	letter-spacing: 0.25em;
}
#main .imgBox .photo .nameTxt .jp::after {
	width: 4px;
	height: 4px;
	position: absolute;
	bottom: -2px;
	left: 0;
	background-color: #0000e3;
	border-radius: 50%;
	content: "";
	overflow: hidden;
}
#main .imgBox .photo .nameTxt .en {
	margin: 4px 0 0 3px;
	font-size: 1.2rem;
	display: block;
	letter-spacing: 0.05em;
	font-weight: 500;
}
#main .imgBox .photo .image {
	padding-bottom: 55.5%;
	background: url(../img/faculty/photo.jpg) no-repeat center center;
	background-size: cover;
	-webkit-transition: .3s;
	transition: .3s;
}
#main .imgBox .textBox {
	margin-right: -292px;
	padding-bottom: 16px;
	color: #0100E4;
	flex: 1;
	display: flex;
	justify-content: flex-end;
	position: relative;
	z-index: 10;
}
#main .imgBox .textBox .innerBox {
	width: 420px;
	opacity: 0;
}
#main .imgBox .textBox .innerBox.on {
	animation: zoomin .6s cubic-bezier(.5,0,.75,0) .1s forwards;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	transform: translateZ(0);
}
#main .imgBox .title {
	margin-bottom: 20px;
	line-height: 1;
}
#main .imgBox .wTxt {
	margin-left: 20px;
}
@media all and (min-width: 897px) {
	#main .imgBox a:hover .image {
		transform: scale(1.1);
		-webkit-transform: scale(1.1);
	}
}
@media all and (max-width: 896px) {
	#main .imgBox {
		display: block;
	}
	#main .imgBox .photo {
		width: auto;
	}
	#main .imgBox .textBox {
		margin: -42px 10px 0;
		display: block;
	}
	#main .content {
		padding: 90px 0 0;
		min-height: calc(100vh - 90px);
		background-size: 600px auto;
	}
	#main .imgBox .photo .image {
		height: auto;
		padding-bottom: 79%;
	}
	#main .imgBox .photo .nameTxt {
		padding: 0 30px;
		width: 100%;
		font-size: 1.26rem;
		bottom: 74px;
		left: 0;
		box-sizing: border-box;
	}
	#main .imgBox .photo .nameTxt .en {
		margin: 3px 0 0 3px;
		font-size: 0.8rem;
	}
	#main .imgBox .photo .nameTxt .jp {
		padding: 0 20px 2px 0;
	}
	#main .imgBox .photo .nameTxt .jp::after {
		width: 3px;
		height: 3px;
		bottom: -2px;
	}
	#main .imgBox .title {
		margin-bottom: 20px;
	}
	#main .imgBox .title img {
		width: 100%;
		max-width: 281px;
	}
	body::after {
		width: 362px;
		height: 300px;
		bottom: -17px;
		right: -56px;
		left: auto;
	}
	#main .imgBox .photo a::after {
		width: 58px;
		height: 58px;
	}
	#main .imgBox .textBox .innerBox {
		width: auto;
	}
	#main .imgBox .wTxt {
		margin-left: 2px;
	}
}