@charset "utf-8";

#people {}

#people .kv .img img {
	width: 100%
}

#people .kv .box h3 {
	background: #223357;
	color: #FFFFFF;
	font-weight: 600;
}

#people .kv .prof {
	background: #223357;
	color: #FFFFFF;
	position: relative;
}

#people .kv .prof .img {
	position: absolute;
}

#people .kv .prof .img img {
	width: 100%;
}

#people .page_sub {
	display: flex;
	justify-content: center;
	align-items: center;
	background: #5283C7;
	color: #FFFFFF;
	font-weight: 600;
	text-align: center;
}

#people #s01 {
	position: relative;
}

#people #s01::before,
#people #s01::after {
	display: block;
	content: "";
	background: #223357;
	position: absolute;
	z-index: 0;
}

#people #s01 .box {
	background: #EFEFEF;
	position: relative;
	z-index: 1;
}

#people #s01 .box .ttl {
	border-bottom: 1px solid #B3B3B3;
}

#people #s02 {
	position: relative;
}

#people #s02::before {
	display: block;
	content: "";
	background: #EFEFEF;
	position: absolute;
	z-index: 0;
}

#people #s02 .box {
	background: #223357;
	color: #FFFFFF;
	position: relative;
	z-index: 1;
}

#people #s02 .box h4 {
	border-bottom: 1px solid #FFFFFF;
}

#people #s02 .box .img {
	position: absolute;
}

#people #s02 .box .img img {
	width: 100%;
}

#people #s03 .box .ttl {
	border-bottom: 1px solid #B3B3B3;
}

#people #s04 {
	position: relative;
}

#people #s04 .box {
	background: #EFEFEF;
	position: relative;
}

#people #s04 .box::after {
	display: block;
	content: "";
	background: #223357;
	position: absolute;
	z-index: 1;
}

#people #s04 .box .txt {
	position: relative;
	z-index: 2;
	background: #EFEFEF;
}

#people #s04 .box .ttl {
	border-bottom: 1px solid #000000;
}

#people #s04 .box .img {
	position: absolute;
	z-index: 2;
}

#people #s04 .box .img img {
	width: 100%;
}

#people #s05 .btn {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}

#people #s05 .btn a {
	display: flex;
	justify-content: center;
	align-items: center;
	background: #223357;
	color: #FFFFFF;
}

#people #s05 .btn a span {
	display: inline-block;
}

#people #s05 .btn a span::after {
	display: block;
	content: "";
	font-size: 0;
	line-height: 0;
	background: #FFFFFF;
	width: 0;
	height: 1px;
}

#people #s05 .btn a:hover span::after {
	width: 100%;
	animation: under 1000ms ease 0s 1 alternate none running;
}

/* PC */
@media screen and (min-width:768px) {
	#people .kv .inner {
		padding-left: 100px;
		position: relative;
	}

	#people .kv .page_ttl {
		position: absolute;
		left: 30px;
		top: 0px;
	}

	#people .kv .box {
		margin-bottom: 210px;
	}

	#people .kv .box h3 {
		font-size: 3.5rem;
		line-height: 1.7;
		padding: 15px 45px;
	}

	#people .kv .prof {
		width: calc(100% * 570 / 1180);
		padding: calc(100% * 35 / 1180);
		margin: 0 0 110px calc(100% * 200 / 1180);
	}

	#people .kv .prof .img {
		width: calc(100% * 290 / 570);
		left: calc(100% * 395 / 570);
		bottom: 55px;
	}

	#people .kv .prof h3 {
		font-size: 2.8rem;
		line-height: 1.0;
		margin-bottom: 10px;
	}

	#people .kv .prof table {
		font-size: 1.6rem;
		line-height: 1.8;
		border-spacing: 0;
	}

	#people .page_sub {
		font-size: 2.8rem;
		line-height: 1.7;
		height: 124px;
		max-width: 1280px;
		margin: 0 auto;
	}


	#people .box .ttl {
		font-size: 2.5rem;
		line-height: 1.7;
		margin-bottom: 35px;
	}

	#people .box .txt {
		font-size: 1.6rem;
		line-height: 1.8;
	}

	#people .box .txt>*:not(:last-child) {
		margin-bottom: 1.8em;
	}

	#people #s01 {
		padding: 130px 0 50px calc(100% * 200 / 1280);
		max-width: 1280px;
		margin: 0 auto 180px;
	}

	#people #s01 .box {
		padding: 45px 50px;
	}

	#people #s01::before {
		top: 215px;
		left: 0;
		bottom: 0;
		width: calc(100% * 320 / 1280);
	}

	#people #s01::after {
		top: 50px;
		left: calc(100% * 940 / 1280);
		right: 0;
		height: 110px;
	}

	#people #s02 {
		padding: 70px 0 70px calc(100% * 315 / 1280);
		max-width: 1280px;
		margin: 0 auto 130px;
	}

	#people #s02 .box {
		padding: 45px calc(100% * 50 / 875) 45px 0;
	}

	#people #s02 .box .img {
		left: calc(-100% * 265 / 875);
		top: -65px;
		width: calc(100% * 305 / 875);
	}

	#people #s02 .box .ttl,
	#people #s02 .box .txt {
		padding-left: calc(100% * 85 / 875);
	}

	#people #s02::before {
		top: 115px;
		left: 0;
		bottom: 0;
		width: calc(100% * 445 / 1280);
	}

	#people #s03 {
		padding: 55px 0 110px;
	}

	#people #s03 .box {
		max-width: 1080px;
		margin: 0 auto;
	}

	#people #s04 {
		padding: 0 calc(100% * 100 / 1280) 100px 0;
		max-width: 1280px;
		margin: 0 auto 150px;
	}

	#people #s04 .box {
		padding: 60px calc(100% * 400 / 1180) 65px calc(100% * 160 / 1180);
	}

	#people #s04 .box::after {
		top: 95px;
		right: calc(-100% * 100 / 1180);
		bottom: -100px;
		width: calc(100% * 400 / 1180);
	}

	#people #s04 .box .img {
		right: calc(100% * 80 / 1180);
		top: -95px;
		width: calc(100% * 266 / 1180);
	}

	#people #s05 {
		padding-bottom: 95px;
	}

	#people #s05 .btn a {
		font-size: 2.0rem;
		line-height: 1.2;
		width: 290px;
		height: 60px;
		margin: 0 25px 50px;
	}
}

/* SP */
@media screen and (max-width:767px) {
	#people .kv .box {
		margin-bottom: calc(100vw * 267 / 640);
	}

	#people .kv .box h3 {
		font-size: 1.5rem;
		line-height: 1.7;
		text-align: center;
		padding: 10px 20px;
	}

	#people .kv .prof {
		width: calc(100vw * 560 / 640);
		padding: calc(100vw * 40 / 640);
		margin-bottom: calc(100vw * 114 / 640);
	}

	#people .kv .prof .img {
		width: calc(100% * 290 / 560);
		right: calc(-100vw * 40 / 560);
		top: calc(-100vw * 208 / 560);
	}

	#people .kv .prof h3 {
		font-size: 1.5rem;
		line-height: 1.0;
		margin-bottom: 10px;
	}

	#people .kv .prof table {
		font-size: 1.4rem;
		line-height: 1.8;
		border-spacing: 0;
	}

	#people .page_sub {
		font-size: 1.5rem;
		line-height: 1.7;
		padding: 15px 20px;
	}

	#people .box h4 {
		font-size: 1.5rem;
		line-height: 1.7;
		margin-bottom: 15px;
	}

	#people .box .txt {
		font-size: 1.4rem;
		line-height: 1.8;
	}

	#people .box .txt>*:not(:last-child) {
		margin-bottom: 1.8em;
	}

	#people #s01 {
		padding: 70px 0 25px 20px;
		margin-bottom: calc(100vw * 218 / 640);
	}

	#people #s01 .box {
		padding: 15px 0 15px 35px;
	}

	#people #s01 h4,
	#people #s01 .txt {
		padding-right: 20px;
	}

	#people #s01::before {
		top: 33px;
		right: 0;
		bottom: 50%;
		width: calc(100vw * 280 / 640);
	}

	#people #s01::after {
		left: 0;
		bottom: 0;
		width: calc(100vw * 330 / 640);
		height: 240px;
	}

	#people #s02 {
		padding: calc(100vw * 162 / 640) 0 60px 40px;
	}

	#people #s02 .box {
		padding: calc(100vw * 187 / 640) 0 20px 30px;
	}

	#people #s02 .box .img {
		left: calc(-100vw * 39 / 640);
		top: calc(-100vw * 279 / 640);
		width: calc(100vw * 385 / 640);
	}

	#people #s02 .box h4,
	#people #s02 .box .txt {
		padding-right: 20px;
	}

	#people #s02::before {
		top: 0;
		left: 0;
		height: calc(100vw * 427 / 640);
		width: calc(100vw * 518 / 640);
	}

	#people #s03 {
		padding: 35px 0 calc(100vw * 260 / 640) 20px;
	}

	#people #s03 h4,
	#people #s03 .txt {
		padding-right: 20px;
	}

	#people #s04 {
		padding: calc(100vw * 66 / 640) 20px 50px 0;
	}

	#people #s04 .box {
		padding: calc(100vw * 171 / 640) calc(100vw * 56 / 640) 30px 20px;
	}

	#people #s04 .box::after {
		top: calc(-100vw * 66 / 640);
		right: -20px;
		width: calc(100vw * 142 / 640);
		bottom: calc(100% - (100vw * 294 / 640));
	}

	#people #s04 .box .img {
		right: 0;
		top: calc(-100vw * 284 / 640);
		width: calc(100vw * 311 / 640);
	}

	#people #s05 {
		padding-bottom: 35px;
	}

	#people #s05 .btn a {
		font-size: 1.4rem;
		line-height: 1.2;
		min-width: 200px;
		height: 40px;
		margin: 0 15px 15px;
	}
}