/* ---------------------------------------------------------------------------------------------------------------------------- */
@import url('../common.css');
@import url('../modules/button.css');
@import url('../modules/contents-card.css');
/* ---------------------------------------------------------------------------------------------------------------------------- */

.special-interview main {
	overflow-x: hidden;
}
.special-interview footer {
	margin-top: 0;
}
.special-interview__mv {
	position: relative;
}
.special-interview__mv h1 {
	z-index: 10;
	display: flex;
	flex-direction: column;
	gap: 0.5em;
	position: absolute;
	left: 0;
	right: auto;
	bottom: 1.5rem;
}
.special-interview__mv h1 span {
	white-space: nowrap;
	width: fit-content;
	height: fit-content;
	line-height: 1.3;
	letter-spacing: 0.3rem;
	font-weight: 500;
	font-size: clamp(2rem, 0.8rem + 4vw, 7rem);
	padding: 0.4rem 1rem;
	background: var(--black);
	color: var(--white);
	font-family: var(--serif);
}
.special-interview__section {
	z-index: 1;
	position: relative;
	width: 90%;
	max-width: 160rem;
	margin: auto;
}
.special-interview__section-vertical {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: auto;
}
.special-interview__section-vertical h2 {
	writing-mode: vertical-rl;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	line-height: 1.8;
	letter-spacing: 0.6rem;
	font-weight: 600;
	font-size: clamp(1rem, 1.1rem + 2vw, 3.5rem);
	font-family: var(--serif);
	margin: auto;
	white-space: nowrap;
}
.special-interview__section-vertical h2 .quote {
	text-combine-upright: all;
	-webkit-text-combine-upright: all;
	-ms-text-combine-horizontal: all;
	display: inline-block;
	height: 0.65em;
}
.special-interview__section-vertical h2 .quote.left {
	vertical-align: bottom;
	line-height: 0.5;
	text-align: left;
}
.special-interview__section-vertical h2 .quote.right {
	vertical-align: top;
	line-height: 1;
	text-align: right;
}
.flex01 {
	display: flex;
	justify-content: space-between;
	gap: 2em;
	flex-direction: column;
}
.flex02 {
	display: flex;
	justify-content: space-between;
	gap: 2em;
	margin: 2em auto;
	flex-direction: column-reverse;
}
.flex02 .image02 {
	position: relative;
	display: flex;
	flex-direction: column;
}
.text03 p,
.image02 p {
	color: var(--chacole);
}
.text03.special-interview__section-text p {
	font-size: clamp(1rem, 0.85rem + 1vw, 1.7rem);
	letter-spacing: 0.1rem;
}
.image02 p {
	text-align: center;
	margin: 3em auto;
	font-size: clamp(1rem, 0.85rem + 1vw, 1.4rem);
	line-height: 1.5;
}
.special-interview__section-text .caption-container--color-chacole {
	font-size: clamp(1rem, 0.8rem + 1vw, 1.2rem);
	margin-top: 2em;
}
.img03 {
	width: 50%;
}
.img04 {
	z-index: 2;
	margin-left: auto;
	margin-top: -15%;
	width: 60%;
}
.img04 img {
	box-shadow: rgba(0 0 0 / 0.4) 3px 3px 5px;
}

.flex03 {
	display: flex;
	justify-content: space-between;
	flex-direction: column;
	align-items: flex-start;
	gap: 2em;
	margin: 6em auto 2em;
	max-width: 140rem;
}

.flex03 .text05 {
	margin: 0 auto;
}
.flex04 {
	display: flex;
	justify-content: space-between;
	gap: 2em;
	width: 100%;
	max-width: 140rem;
	margin: 0 auto 3em;
	flex-direction: column;
}
/*
.last {
	display: flex;
	flex-direction: column-reverse;
}*/

.special-interview__section-text {
	width: 100%;
	max-width: 140rem;
	margin: auto;
	-webkit-font-feature-settings: normal;
	font-feature-settings: normal;
}
.special-interview__section-text p {
	font-size: clamp(1rem, 0.9rem + 1vw, 1.9rem);
	line-height: 2;
	text-align: justify;
}
@-moz-document url-prefix() {
	.special-interview__section-text p {
		font-size: clamp(1rem, 0.9rem + 1vw, 1.85rem);
	}
}
.text01 {
	margin: 3em auto;
}
.text01 h2 {
	line-height: 1.5;
	font-size: clamp(1rem, 1.3rem + 1.3vw, 2.8rem);
	letter-spacing: 0.3rem;
	font-weight: 500;
	margin-bottom: 1em;
}
.text04 {
	margin-bottom: 2em;
}
.text06 {
	margin: 2em auto;
}
.text08 {
	margin-bottom: 3em;
}
.image01 {
	display: flex;
	flex-direction: column;
	gap: 2em;
	margin-bottom: 4em;
}
.image03 {
	width: 100vw;
	margin: 0 calc(50% - 50vw) 2em;
}
.image09 {
	margin: 3em calc(50% - 50vw);
	width: 100vw;
}
.image04 {
	display: flex;
	flex-direction: column;
	gap: 2em;
	margin-bottom: 2em;
}
.image04 > * {
	flex: 1;
}
.image05 {
	width: 100vw;
	margin: 0 calc(50% - 50vw) 2em;
}
.image06 {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: center;
	gap: 2em;
	margin: 0 auto 5em;
}
.image07 {
	width: 100vw;
	margin: 4em calc(50% - 50vw);
}
.image08 {
	display: flex;
	flex-direction: column;
	gap: 2em;
	margin-bottom: 3em;
}
.image01 .img01 {
	width: 70%;
}
.image01 .img02 {
	width: 70%;
	margin-left: auto;
}
.last-contents {
}
/*
.image08 .img11 {
	width: 70%;
}
.image08 .img12 {
	width: 70%;
	margin-left: auto;
}*/
.special-interview__section-banner {
	width: 100%;
	max-width: 36rem;
}
.special-interview__section-banner.sp_only {
	display: flex;
}
.special-interview__section-banner.pc_only {
	display: none;
}
.special-interview__section-banner a {
	overflow: hidden;
	width: 100%;
	max-width: 50rem;
	padding: 1em;
	box-shadow: rgba(0 0 0 / 0.4) 3px 3px 5px;
	transition: box-shadow 0.3s ease;
	-webkit-transition: box-shadow 0.3s ease;
	display: flex;
	align-items: center;
	flex-direction: row;
	position: relative;
}
.special-interview__section-banner a:hover {
	box-shadow: rgba(0 0 0 / 0.5) 3px 3px 5px;
}
.special-interview__section-banner a:hover .item-button {
	color: var(--white);
	background: var(--sciencered);
}
.special-interview__section-banner figure {
	width: 100%;
	padding: 0.5em 1.5em 1em;
	border: 1px solid var(--sciencered);
}
.special-interview__section-banner figure figcaption {
	z-index: 2;
	position: relative;
	flex: 1;
}
.special-interview__section-banner figure figcaption .item-name {
	font-size: clamp(1rem, 0.7rem + 1vw, 1.25rem);
	font-weight: 300;
	line-height: 1.3;
	letter-spacing: 0.2rem;
	margin-bottom: 1.5em;
}
.special-interview__section-banner figure figcaption .item-name::before {
	display: block;
	content: attr(data-text) '';
	font-family: var(--oswald);
	font-size: 1.8em;
	font-weight: 200;
	line-height: 1.5;
	letter-spacing: 0.3rem;
}
.special-interview__section-banner figure figcaption .item-button {
	color: var(--sciencered);
	background: none;
	border: 0.1rem solid var(--sciencered);
	max-width: 10rem;
	margin: 0;
	font-size: clamp(1rem, 0.9rem + 1vw, 1.6rem);
	width: 100%;
	height: auto;
	padding: 0.2em 0.3em 0.3em;
	line-height: 1;
	transition: 0.3s;
	-moz-transition: 0.3s;
	-webkit-transition: 0.3s;
	-o-transition: 0.3s;
	font-weight: 500;
	text-align: center;
}
.special-interview__section-banner figure picture {
	z-index: 1;
	position: absolute;
	height: 100%;
	width: 30%;
}
.special-interview__section-banner figure picture img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}
.banner01 {
	margin: 2em auto 3em;
}
.banner01 figure picture {
	top: 2.2em;
	right: 1em;
}
.banner01 figure picture img {
	width: 82%;
	height: 82%;
}
.banner02 {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 2em;
	margin: auto;
}
.banner02 a:nth-child(1) figure picture {
	top: 0.9em;
	right: 0;
}
.banner02 a:nth-child(2) figure picture {
	top: 0.7em;
	right: 0;
}
.banner02 a:nth-child(3) figure picture {
	top: 0.8em;
	right: 0;
}
.special-interview__section-text.last {
	margin: 0 auto 5em;
}
.last-flex .special-interview__section-vertical h2 {
}
.flex01 .text02 img {
	margin: 0 calc(50% - 50vw) 2em;
	width: 100vw;
}
.flex03_cont {
	width: 100%;
}
.flex03_img img {
	margin: 0 calc(50% - 50vw) 2em;
	width: 100vw;
}
.img09 {
	margin: 0 calc(50% - 50vw);
	width: 100vw;
}
.image01.pc_only {
	display: none;
}
.image01.sp_only {
	display: flex;
}
@media (min-width: 897px) {
	.image01.pc_only {
		display: flex;
	}
	.image01.sp_only {
		display: none;
	}
	.special-interview__section-text.last {
		margin: 0 auto 10em;
	}
	.special-interview__mv h1 {
		gap: 1.5em;
		bottom: -50rem;
		right: 6vw;
		left: auto;
		writing-mode: vertical-rl;
		-webkit-writing-mode: vertical-rl;
		-ms-writing-mode: tb-rl;
	}
	.special-interview__mv h1 span {
		letter-spacing: 0.5rem;
		padding: 1.5rem 0.5rem;
	}
	.flex01 {
		flex-direction: row;
		gap: 5em;
		align-items: flex-start;
	}
	.flex01 .text02 {
		margin: 0 4vw auto 0;
		flex: 0.7;
	}
	.flex01.last-flex {
		align-items: flex-end;
		width: 90%;
		margin: auto;
	}
	.flex01.last-flex .text02 {
		margin: 0;
	}
	.flex01 .text02 img {
		margin: 8em -4vw 8em auto;
		width: 90%;
		display: block;
	}
	.vertical01 {
		flex: 0.5;
		margin: 4em auto;
	}
	.vertical01 h2 {
	}
	.flex02 {
		flex-direction: row;
		align-items: center;
		gap: 5em;
		margin: 10em auto;
	}
	.text03 {
		margin: 0 4vw 0 0;
		flex: 0.7;
	}
	.image02 {
		flex: 0.8;
	}
	.flex03 {
		flex-direction: row;
		margin: 1em auto 8em;
		gap: 5em;
		width: 90%;
	}
	.vertical02 {
		flex: 0.3;
	}
	.text05 {
		flex: 1;
	}
	.text07 {
		flex: 1;
		margin-top: 8em;
	}
	.vertical03 {
		flex: 0.7;
	}
	.vertical03 h2 {
	}
	.flex04 {
		gap: 5em;
		width: 90%;
		flex-direction: row-reverse;
		margin: 0 auto 8em;
	}
	.flex04 .special-interview__section-text {
		flex: 2;
	}
	.flex04 .special-interview__section-text .half {
		width: 40%;
		margin-left: auto;
	}
	/*
	.last {
		flex-direction: column;
	}*/
	.flex03_img img {
		margin: auto;
		width: 100%;
	}
	.special-interview__section-text {
		width: 90%;
	}
	.special-interview__section-text p {
		letter-spacing: 0.2rem;
	}
	.text01 {
		margin: 8em auto;
	}
	.text01 h2 {
		letter-spacing: 0.5rem;
	}
	.text01 h2,
	.text01 p {
		width: 60%;
	}
	.image02 p {
		text-align: left;
		margin: 3em 0 0 6vw;
	}
	.text04 {
		margin-bottom: 10em;
	}
	.text06 {
		margin: 8em auto;
	}
	.text08 {
		margin-bottom: 10em;
	}
	.image01 {
		flex-direction: row;
		gap: 6em;
		margin-bottom: -10%;
	}
	.image01 .img02 {
		margin-top: 20%;
	}
	.image03 {
		margin: 0 auto 6em;
		width: 100%;
	}
	.image09 {
		margin: 10em auto 5em;
		width: 100%;
	}
	.image04 {
		gap: 6em;
		margin-bottom: 12em;
		flex-direction: row;
	}
	.image04 .img06 {
		flex: 1;
	}
	.image04 .img07 {
		margin-top: 30%;
		flex: 0.8;
	}
	.image05 {
		width: 100%;
		margin: auto;
	}
	.image06 {
		flex-direction: row;
		gap: 7em;
		margin: 0 auto 10em;
	}
	.flex03_cont {
		flex: 1;
		width: 100vw;
		margin-right: calc(50% - 50vw);
	}
	.image06 .img09 {
		width: 100vw;
		margin-left: calc(50% - 50vw);
		margin-right: auto;
	}
	.image07 {
		width: 100%;
		margin: 10em auto 8em;
	}
	.image08 {
		flex-direction: row;
		gap: 6em;
		margin-bottom: 0;
	}
	.image08 .img11 {
		flex: 0.8;
		width: 100%;
	}
	.image08 .img12 {
		margin-top: 20%;
		flex: 1;
		width: 100%;
	}
	.special-interview__section-banner {
		max-width: 50rem;
	}
	.special-interview__section-banner.sp_only {
		display: none;
	}
	.special-interview__section-banner.pc_only {
		display: flex;
	}
	.special-interview__section-banner figure {
		padding: 0.5em 2em 1em;
	}
	.special-interview__section-banner figure figcaption .item-name::before {
		font-size: 2.2em;
		letter-spacing: 0.5rem;
	}
	.special-interview__section-banner figure figcaption .item-button {
		max-width: 12rem;
	}
	.special-interview__section-banner figure picture img {
		height: 110%;
	}
	.flex03 .special-interview__section-vertical {
		margin: auto;
		flex: 0.5;
	}
	.banner01 {
		margin: 5em 0 0;
	}
	.banner01 figure picture img {
		width: 90%;
		height: 90%;
	}
	.banner02 {
		gap: 4em;
	}
	.banner02 a:nth-child(1) figure picture {
		top: 0.5em;
	}
	.banner02 a:nth-child(2) figure picture {
		top: 0.4em;
	}
	.banner02 a:nth-child(3) figure picture {
		top: 0.4em;
	}
}
@media (min-width: 1025px) {
	.flex02 {
		gap: 10em;
	}
	.text03 {
		margin: -15% 4vw 0 0;
		flex: 0.45;
	}
}
