@charset "utf-8";

/* ------------------------------
 講座紹介 (PC)
------------------------------ */
.headering:not(.noImg) h1::after {
	width: 368px;
    height: 120px;
	background: url(../img/illust_about.png) no-repeat bottom right / cover;
}
/* ------------------------------
 講座紹介 (SP)
------------------------------ */
@media  screen and (max-width: 767px) {
	.headering figure {
		background: url(../img/about_main_sp.jpg) no-repeat top center / cover;
	}
	.headering:not(.noImg) h1::after {
		width: 180px;
		height: 58px;
		bottom: -75px;
	}
}

/* ------------------------------
 スタッフ紹介 (PC)
------------------------------ */
.staff {
	border-top: solid 1px #e6ebeb;
	padding: 50px 0;
}
.staff:not(.mb0) {
	border-bottom: solid 1px #e6ebeb;
}
.staff .cms_image img {
	border-radius: 100%;
}
.staff h2 {
	margin-bottom: 20px;
}
.staff h2 span {
	display: block;
	font-size: 1.6rem;
	font-weight: 500;
}
.staff .lead {
	line-height: 1.75;
	margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
	.staff-lead {
		position: relative;
		height: 305px;
	}
	.staff-lead .cms_image {
		position: absolute;
		top: -120px;
		right: 0;
		z-index: 10;
	}
	.staff .cms_image {
		width: 210px;
		height: 210px;
	}
	.staff .lead {
		font-size: 2.1rem;
	}
	.staff:not(.flexBox) > *:not(.cms_image) {
		float: right;
		width: calc(100% - 255px);
	}

	.staff.flexBox {
		justify-content: space-between;
		gap: 100px 0;
	}
	.staff.flexBox::after {
		content: none;
	}
	.staff.flexBox > .cms_text > *:not(.cms_image) {
		float: right;
		width: calc(100% - 200px);
	}
	.staff.flexBox > .cms_text:nth-child(2n-1):not(:last-child,:nth-last-child(2)) {
		position: relative;
	}
	.staff.flexBox > .cms_text:nth-child(2n-1):not(:last-child,:nth-last-child(2))::after {
		content: "";
		position: absolute;
		width: 1140px;
		height: 0px;
		left: 0;
		right: 0;
		bottom: -50px;
		border-bottom: solid 1px #e6ebeb;
	}
	.staff.flexBox .cms_image {
		width: 170px;
		height: 170px;
	}
}
/* ------------------------------
 スタッフ紹介 (SP)
------------------------------ */
@media  screen and (max-width: 767px) {
	.staff {
		padding: 30px 0 30px;
	}
	.staff .cms_image img {
		max-width: 250px;
	}
	.staff h2 {
		margin-bottom: 15px;
	}
	.staff h2 span {
		font-size: 1.5rem;
	}
	.staff .lead {
		margin-bottom: 15px;
	}
	.staff.flexBox > .cms_text.w1-2 {
		width: 100%;
	}
	.staff.flexBox > .cms_text:not(:last-child) {
		padding-bottom: 30px;
		border-bottom: solid 1px #e6ebeb;
		margin-bottom: 30px;
	}
}