@charset "utf-8";

/*------------ interview list ------------*/
.interview_list {
	display: flex;
	flex-wrap: wrap;
	max-width: 1690px;
	padding: 0 20px;
	margin: 0 auto 114px;
}

.interview_list:last-child {
	margin-bottom: 0;
}

.interview_item {
	width: 23.636%;
	margin-right: auto;
	transition: transform .3s ease, width .3s ease;
}

.interview_item:nth-child(4n) {
	margin-right: 0;
}

.interview_link {
	display: block;
	color: #222 !important;
	text-decoration: none;
	width: 100%;
	height: auto;
	position: relative;
	overflow: hidden;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
	z-index: 2;
}

.interview_item_img {
	overflow: hidden;
}

.interview_item_img img {
	display: block;
	width: 100%;
	height: auto;
	transition: all .5s ease;
}

.interview_item_txt {
	display: block;
	width: 335px;
	max-width: calc(100% - 28px);
	margin: -87px -1px 0 auto;
	padding: 13px 0 0 18px;
	background: url(../img/bg_gray.png);
	border-radius: 15px 0 0 0;
	position: relative;
	transition: all .3s ease;
	z-index: 5;
}

.interview_item_txt::before,
.interview_item_txt::after {
	position: absolute;
	content: "";
	width: 19px;
	height: 19px;
	background: url(../img/gray_corner.svg) no-repeat center / 100% auto;
	bottom: calc(100% - 2px);
	right: -1px;
	border-bottom: 1px solid #F2F2F2;
	border-bottom: 2px solid #F2F2F2;
	border-right: 2px solid #F2F2F2;
	box-sizing: content-box;
}

.interview_item_txt::after {
	bottom: auto;
	top: 68px;
	right: calc(100% - 2px);
}

.interview_item_position {
	font-size: 1.3rem;
	letter-spacing: 0.06em;
	margin-bottom: 3px;
}

.interview_item_name {
	font-size: 2.2rem;
	font-weight: 500;
	margin-bottom: 0;
	transition: all .3s ease;
}

.interview_item_data {
	display: flex;
	flex-wrap: wrap;
	font-weight: 500;
}

.interview_item_dep {
	font-size: 1.6rem;
	letter-spacing: 0;
	line-height: 1.5;
	margin-right: 23px;
	transition: all .3s ease;
}

.interview_item_year {
	font-size: 1.6rem;
	letter-spacing: 0;
	line-height: 1.5;
	transition: all .3s ease;
}

.interview_item_school {
	letter-spacing: 0.05em;
	line-height: 1.5;
	width: 100%;
	margin-top: 9px;
	transition: all .3s ease;
}

/* hover */
.interview_link:hover .interview_item_img img {
	transform: scale(1.05);
}

/*------------ interview 個別 ------------*/
/* catch */
.interview_catch_wrap {
	margin-bottom: 84px;
	position: relative;
}

.interview_catch_wrap::after {
	position: absolute;
	content: "";
	width: 100vw;
	min-width: 1240px;
	height: 100%;
	top: 0;
	left: 50%;
	transform: translate(-50%);
	background: rgb(36, 41, 48);
	background: linear-gradient(180deg, rgba(36, 41, 48, 0) 40%, rgba(36, 41, 48, 0.9) 100%);
	z-index: 5;
}

.interview_catch_img {
	width: 100vw;
	min-width: 1240px;
	height: 100%;
	background: #F5F5F5;
	left: 50%;
	transform: translateX(-50%);
	position: relative;
}

.interview_catch_img img {
	width: 100%;
}

.interview_catch_txt {
	position: absolute;
	bottom: 59px;
	color: #FFF;
	width: 100%;
	z-index: 10;
}

.interview_catch_h {
	font-family: 'Noto Serif JP', serif;
	font-size: 3.8rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	line-height: 1.5;
	margin: 0 0 26px;
	max-height: 100%;
}

.interview_catch_name {
	font-family: 'Noto Serif JP', serif;
	font-size: 2.8rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	margin-bottom: 10px;
	max-height: 100%;
}

.interview_catch_data {
	display: flex;
	flex-wrap: wrap;
}

.interview_catch_dep,
.interview_catch_year,
.interview_catch_school {
	font-weight: 500;
	letter-spacing: 0.05em;
	max-height: 100%;
}

.interview_catch_dep {
	margin-right: 15px;
}

.interview_catch_school {
	width: 100%;
}

/* column */
.interview_column {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 57px;
}

.interview_column_txt {
	width: 568px;
	max-width: calc(50% - 2.466%);
	margin: 0 2.466% 0 auto;
}

.interview_column_txt .sec_h3 {
	margin: 50px 0 28px;
}

.interview_column_img {
	width: 49.666%;
}

.interview_column_img img {
	width: 100%;
}

/* message */
.bg_grey {
	margin: 76px 0 40px;
}

.interview_message {
	display: flex;
	flex-wrap: wrap;
	max-width: 1200px;
	margin: auto;
}

.interview_message_img {
	max-width: 470px;
}

.interview_message_txt {
	width: 568px;
	max-width: calc(50% - 2.466%);
	margin: 0 28px 0 auto;
}

.interview_message_txt .sec_h3 {
	margin: 29px 0 25px;
}

.interview_message_txt p:last-child {
	margin-bottom: 0;
}

/* flow */
.interview_flow {
	max-width: 625px;
	margin: 0 auto 95px;
}

.flow_list {
	list-style: none;
	padding: 0;
	margin: 0;
}

/* for Desktop */
.flow_list>.flow_item {
	display: flex;
	flex-wrap: wrap;
	overflow: hidden;
	margin: 0;
	position: relative;
}

.flow_time {
	font-family: 'Notor Serif JP', serif;
	font-size: 2rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	line-height: 1.5;
	width: 76px;
	margin: 0;
	/* 	float: left; */
	/* margin-top: 20px; */
	max-height: 100%;
}

.flow_content {
	width: calc(100% - 76px);
	/* 	float: left; */
	/* border-left: 3px #e5e5d1 solid; */
	padding-left: 37px;
	margin-bottom: 25px;
	position: relative;
}

.flow_content::before {
	content: '';
	width: 12px;
	height: 12px;
	background: #2E538D;
	position: absolute;
	left: 0;
	top: 9px;
	border-radius: 100%;
}

.flow_item:not(:last-child) .flow_content::after {
	content: '';
	width: 2px;
	height: 100%;
	background: #222222;
	position: absolute;
	left: 6px;
	top: 29px;
	border-radius: 100%;
}

.flow_content strong {
	display: block;
	font-family: 'Notor Serif JP', serif;
	font-size: 2rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	margin: 3px 0 8px;
	max-height: 100%;
}

.flow_content strong:last-child {
	margin-bottom: 18px;
}

.flow_content p {
	letter-spacing: 0.1em;
	line-height: 1.875;
	min-height: 54px;
}

.flow_content *:last-child {
	margin-bottom: 0;
}

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

	/*------------ interview list ------------*/
	.interview_list {
		margin: 0 auto 65px;
	}

	.interview_item {
		width: 400px;
		max-width: 100%;
		margin: 0 auto 25px !important;
	}

	.interview_item:last-child {
		margin-bottom: 0 !important;
	}

	.interview_item_txt {
		width: 407px;
		padding: 11px 0 0 17px;
		margin: -40px -1px 0 auto;
	}

	.interview_item_txt::after {
		top: 21px;
		right: calc(100% - 2px);
	}

	.interview_item_position {
		font-size: 1.3rem;
		letter-spacing: 0.06em;
		margin-bottom: 3px;
	}

	.interview_item_name {
		font-size: 1.8rem;
		margin-bottom: 2px;
	}

	.interview_item_dep {
		font-size: 1.3rem;
		margin-right: 15px;
	}

	.interview_item_year {
		font-size: 1.3rem;
	}

	.interview_item_school {
		font-size: 1.3rem;
		margin-top: 4px;
		transition: all .3s ease;
	}

	/* hover */
	.interview_link:hover .interview_item_img img {
		transform: scale(1.05);
	}

	/*------------ interview 個別 ------------*/
	/* catch */
	.interview_catch_wrap {
		margin-bottom: 45px;
	}

	.interview_catch_img {
		min-width: auto;
	}

	.interview_catch_img img {
		min-height: 350px;
		object-fit: cover;
	}

	.interview_catch_txt {
		position: absolute;
		bottom: 15px;
		color: #FFF;
		width: 100%;
		z-index: 10;
	}

	.interview_catch_h {
		font-size: 2.2rem;
		margin: 0 0 2px;
	}

	.interview_catch_name {
		font-size: 1.8rem;
		margin-bottom: 5px;
	}

	.interview_catch_dep {
		margin-right: 10px;
	}

	.interview_catch_school {
		margin-top: 4px;
	}

	/* column */
	.interview_column {
		margin-bottom: 35px;
	}

	.interview_column_txt {
		width: 100%;
		max-width: none;
		margin: 0;
	}

	.interview_column_txt .sec_h3 {
		margin: 0 0 21px;
	}

	.interview_column_img {
		width: 100%;
	}

	/* message */
	.bg_grey {
		margin: 38px 0 40px;
	}

	.interview_message_img {
		max-width: 100%;
	}

	.interview_message_txt {
		width: 100%;
		max-width: 100%;
		margin: 0;
	}

	.interview_message_txt .sec_h3 {
		margin: 25px 0 16px;
	}

	.interview_message_txt p:last-child {
		margin-bottom: 0;
	}

	/* flow */
	.interview_flow {
		max-width: 625px;
		margin: 0 auto 55px;
	}

	.flow_list>.flow_item {
		flex-direction: column;
	}

	.flow_time {
		font-size: 1.5rem;
		padding-left: 23px;
	}

	.flow_content {
		width: 100%;
		padding-left: 23px;
		margin-bottom: 25px;
	}

	.flow_content::before {
		width: 9px;
		height: 9px;
		top: -18px;
	}

	.flow_item:not(:last-child) .flow_content::after {
		content: '';
		width: 1px;
		height: calc(100% + 19px);
		left: 4px;
		top: 0;
	}

	.flow_content strong {
		font-size: 1.5rem;
		letter-spacing: 0.1em;
		margin: 2px 0 7px;
	}

	.flow_content strong:last-child {
		margin-bottom: 5px;
	}

	.flow_content p {
		min-height: none;
	}


}