@charset "utf-8";


/* ------------------------------
 インタビュー一覧（PC）
------------------------------ */
.interviewBlock {
	position: relative;
	z-index: 1;
}
/* 左配置 */
.interviewBlock.pos-l {
	margin-left: 0;
}
/* 左配置 */
.interviewBlock.pos-r {
	margin-left: auto;
	margin-right: 0;
}
/* 画像 */
.interviewBlock .imgBox {
	margin-bottom: 0;
	overflow: hidden;
}
.interviewBlock .imgBox img {
	border-radius: 0;
}
.interviewBlock.pos-l .imgBox {
	border-radius: 0 30px 30px 0;
}
.interviewBlock.pos-r .imgBox {
	border-radius: 30px 0 0 30px;
}
/* テキストエリア */
.interviewBlock .textBox,
.cms_block.wide.heading .textBox {
	width: 514px;
	position: absolute;
	bottom: 50px;
	border-radius: 10px;
	background-color: #fff;
}
.interviewBlock.pos-l .textBox {
	right: 50px;
}
.interviewBlock.pos-r .textBox {
	left: 50px;
}
/* リンク */
.interviewBlock .textBox a,
.cms_block.wide.heading .textBox {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 242px;
	padding: 10px 30px 15px;
	font-weight: 400;
	color: var(--main-font-color);
	text-decoration: none;
}
.interviewBlock .textBox a {
	padding: 10px 80px 20px 30px;
}
.interviewBlock .textBox a::after {
	content: "";
	width: 55px;
	height: 55px;
	position: absolute;
	right: 30px;
	bottom: 30px;
	background: url(../img/icon_arrow_c.svg) no-repeat 0 0 / cover;
}
.interviewBlock .textBox .font-en {
	font-size: 1.8rem;
	color: var(--red-color);
	line-height: 1.2;
}
.interviewBlock .textBox .font-en strong {
	font-size: 2.8rem;
	font-weight: 500;
}
.interviewBlock .textBox .lead-sub {
	margin-bottom: 20px;
	font-size: 2.6rem;
}
@media print, screen and (min-width: 768px) {
	.contents .inBlock {
		width: 100%;
	}
	.contents .inBlock .interviewBlock:first-child {
		margin-top: -260px;
	}
	.interviewBlock {
		width: calc(50% + 620px);
		position: relative;
		overflow: hidden;
	}
	.interviewBlock .imgBox img {
		min-width: 1580px;
	}
}
@media screen and (max-width: 767px) {
	.contents .inBlock {
		width: 100%;
		margin-left: 0;
		margin-right: 0;
	}
	.cms_block.interviewBlock {
		width: auto;
	}
	.contents .inBlock .interviewBlock:first-child {
		margin-top: -85px;
	}
	/* 左配置 */
	.interviewBlock.pos-l {
		margin-right: 5%;
	}
	/* 左配置 */
	.interviewBlock.pos-r {
		margin-left: 5%;
	}
	.interviewBlock.pos-l .imgBox {
		border-radius: 0 16px 16px 0;
	}
	.interviewBlock.pos-r .imgBox {
		border-radius: 16px 0 0 16px;
	}
	/* 画像 */
	.interviewBlock .imgBox {
		aspect-ratio: 176 / 227;
	}
	.interviewBlock .imgBox img {
		height: 100%;
		object-fit: cover;
	}
	/* テキストエリア */
	.interviewBlock .textBox,
	.interviewBlock.pos-l .textBox,
	.interviewBlock.pos-r .textBox {
		width: auto;
		bottom: 0;
		font-size: 1.3rem;
	}
	.interviewBlock.pos-l .textBox {
		right: -5.5%;
		left: 5%;
		border-radius: 10px 0 0 0;
	}
	.interviewBlock.pos-r .textBox {
		right: 5%;
		left: -5.5%;
		border-radius: 0 10px 0 0;
	}
	/* リンク */
	.interviewBlock .textBox a {
		min-height: 170px;
		padding: 20px 5.5% 0;
	}
	.interviewBlock .textBox a::after {
		width: 40px;
		height: 40px;
		right: calc(5.5% + 3px);
		bottom: 4px;
	}
	.interviewBlock .textBox .font-en {
		margin-bottom: 3px;
		font-size: 1.3rem;
	}
	.interviewBlock .textBox .font-en strong {
		font-size: 2.2rem;
	}
	.interviewBlock .textBox .lead-sub {
		margin-bottom: 10px;
		font-size: 2.1rem;
	}
	/* ｜区切りの横並び */
	.list-divider ul,
	ul.list-divider {
		margin-right: 60px;
	}
}
/* ------------------------------
 インタビュー下層（PC）
------------------------------ */
.cms_block.wide.heading {
	margin-bottom: 120px;
}
.cms_block.wide.heading .cms_text.page-title {
	width: 100%;
	margin-bottom: 0;
}
.cms_block.wide.heading .page-title h1 {
	font-size: 3.8rem;
}
.cms_block.wide.heading .page-title p {
	font-family: var(--font-en), sans-serif;
	font-size: 1.8rem;
	color: var(--red-color);
}
.cms_block.wide.heading .page-title p strong {
	font-size: 2.8rem;
	font-weight: 500;
}
/* テキストエリア */
.cms_block.wide.heading .textBox {
	width: 330px;
	min-height: 145px;
	left: calc(50% + 197px);
	bottom: 45px;
}
.cms_block.wide.heading .textBox * + ul {
	margin-top: 5px;
}
/* -- はみ出し画像 -- */
.cms_block.over-l::after,
.cms_block.over-r::after {
	content: none;
}
.over-l .imgBox img {
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
}
.over-r .imgBox img {
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
}

/* -- タイムスケジュール -- */
.scheduleBlock {
	position: relative;
	padding: 80px 0 40px;
	background-color: var(--base-color);
}
.scheduleBlock > * {
	position: relative;
	z-index: 1;
}
.scheduleBlock::before {
	content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    right: -115px;
	left: -50vw;
    z-index: 0;
	border-radius: 0 30px 30px 0;
    background-color: var(--base-color);
}
.scheduleBlock h3 {
	margin-bottom: 10px;
	padding-left: 0;
	font-size: 2.7rem;
	text-align: center;
}
.scheduleBlock h3::before {
	content: none;
}
.scheduleBlock h3 span {
	font-family: var(--font-en), sans-serif;
	font-size: 66%;
	font-weight: 600;
	color: var(--red-color);
}
.tsBox {
	font-size: 1.5rem;
}
.tsBox p {
	text-align: center;
	position: relative;
}
/* 時間 */
.tsBox .time {
	padding-bottom: 12px;
	margin-bottom: 25px;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.5;
}
.tsBox .time::before {
	content: "";
	width: 12px;
	height: 12px;
	display: block;
	position: absolute;
	bottom: -6px;
	inset-inline: 0;
	margin-inline: auto;
	border-radius: 100%;
	background-color: var(--red-color);
}
/* 業務内容 */
.tsBox .biz {
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.5;
	min-height: calc(1.5em * 2);
}
@media print, screen and (min-width: 768px) {
	/* -- はみ出し画像 -- */
	.cms_block.over-l,
	.cms_block.over-r {
		width: 100%;
		margin-left: 0;
		margin-right: 0;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		column-gap: 60px;
	}
	.cms_block.over-r {
		justify-content: flex-end;
	}
	.over-l .textBox,
	.over-r .textBox {
		width: 540px;
		position: relative;
		z-index: 1;
	}
	.over-r .textBox {
		order: 1;
	}
	.over-l .imgBox,
	.over-r .imgBox {
		width: calc(50% - 30px);
		height: 550px;
		position: relative;
		overflow: hidden;
		margin-bottom: 0;
	}
	.over-r .imgBox {
		order: 2;
	}
	.over-l .imgBox img,
	.over-r .imgBox img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center top;
	}
	/* -- タイムスケジュール -- */
	.scheduleBlock {
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		column-gap: 60px;
	}
	.scheduleBlock > *:not(.tsBox) {
		width: 100%;
	}
	.tsBox,
	.cms_text.tsBox:last-child {
		width: 180px;
		position: relative;
		margin-bottom: 40px !important;
		padding-bottom: 5px;
	}
	.tsBox:not(:nth-child(5n + 1 of .tsBox))::before {
		content: "";
		width: 1px;
		height: calc(100% - 65px);
		position: absolute;
		top: 65px;
		left: -30px;
		background-color: #d7dce2;
	}
	.tsBox:not(:nth-child(5n + 1 of .tsBox)) .time::after {
		left: -60px;
	}
	.tsBox .time::after {
		content: "";
		height: 2px;
		display: block;
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		background-color: var(--red-color);
	}
	.tsBox:last-child .time:after {
		right: 50%;
	}
}
@media screen and (max-width: 767px) {
	.cms_block.wide.heading {
		margin-bottom: 80px;
	}
	.cms_block.wide.heading::after {
		content: "";
		position: absolute;
		z-index: 0;
		top: calc(100% - 40px);
		right: -36px;
		left: auto;
		bottom: auto;
		width: 160px;
		height: 168px;
		background: url(../img/heading_deco02.png) no-repeat 0 0 / cover;
	}
	.cms_block.wide.heading .page-title h1 {
		font-size: 2.8rem;
	}
	.cms_block.wide > .cms_text.page-title {
		/* height: 235px;
		justify-content: flex-end; */
		margin-inline: 0;
		padding-bottom: 25px;
	}
	.cms_block.wide.heading .cms_text.page-title::after {
		content: none;
	}
	.cms_block.wide.heading .headImg {
		margin-top: 0;
		width: 100%;
		margin-inline: 0;
		border-radius: 0;
		aspect-ratio: 75 / 92;
	}
	.cms_block.wide.heading .headImg img {
		border-radius: 0;
	}
	/* テキストエリア */
	.cms_block.wide.heading .textBox {
		width: 90%;
		left: 5%;
		right: 5%;
		bottom: 28px;
		margin-inline: auto;
	}
	.cms_block.wide.heading .textBox * + ul {
		margin-top: 5px;
	}

	/* -- はみ出し画像 -- */
	.cms_block.over-l,
	.cms_block.over-r {
		position: relative;
	}
	.over-l .imgBox {
		margin-left: -5.5%;
	}
	.over-r .imgBox {
		margin-right: -5.5%;
	}
	/* -- タイムスケジュール -- */
	.scheduleBlock {
		padding: 40px 5% 40px 0;
		border-radius: 0 20px 20px 0;
	}
	.scheduleBlock::before {
		right: 99%;
		left: -5.5%;
		border-radius: 0;
	}
	.scheduleBlock h3 {
		margin-bottom: 15px;
		font-size: 2.2rem;
	}
	.scheduleBlock h3 span {
		font-size: 72.72%;
	}
	.tsBox p {
		text-align: left;
		position: relative;
	}
	/* 時間 */
	.tsBox {
		padding-left: 28px;
		margin-bottom: 25px;
	}
	.tsBox:not(:last-child):before {
		content: "";
		width: 2px;
		display: block;
		position: absolute;
		top: 10px;
		bottom: -35px;
		left: 4px;
		background-color: var(--red-color);
	}
	.tsBox .time {
		padding-bottom: 0;
		margin-bottom: 5px;
		color: var(--red-color);
	}
	.tsBox .time::before {
		width: 10px;
		height: 10px;
		top: 0.5em;
		left: -28px;
		margin-inline: 0;
	}
	
	/* 業務内容 */
	.tsBox .biz {
		font-size: 1.7rem;
		min-height: auto;
	}
}
