/* Figma API source: PC 201:3630 / SP 250:7757. Fresh section-01 only. */
/* Match TOP's canonical 1366px canvas scaling through the tablet/PC transition. */
@media (min-width: 768px) and (max-width: 1365px) {
	html:has(.single-interview-fresh) { font-size: calc(100vw / 136.6) !important; }
}

.single-interview-fresh { margin: 0; }

.interview-detail-fresh {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background: #f3f4f6;
	color: #333;
}

.interview-detail-fresh__background,
.interview-detail-fresh__decoration {
	position: absolute;
	z-index: 0;
	top: -7.5rem;
	left: 0;
	display: block;
	width: 48.55rem;
	height: 58.7rem;
	pointer-events: none;
}

.interview-detail-fresh__background { top: -7.5rem; width: 136.6rem; height: 273.2rem; }
.interview-detail-fresh__background,
.interview-detail-fresh__background img,
.interview-detail-fresh__decoration,
.interview-detail-fresh__decoration img { max-width: none; }
.interview-detail-fresh__background img,
.interview-detail-fresh__decoration img { display: block; width: 100%; height: 100%; }

.interview-detail-fresh__section--breadcrumb {
	position: relative;
	z-index: 1;
	box-sizing: border-box;
	display: flex;
	width: 100%;
	padding: 10rem 10rem 8rem;
}

.interview-detail-fresh__breadcrumb ol {
	display: flex;
	align-items: center;
	gap: 1.2rem;
	margin: 0;
	padding: 0;
	list-style: none;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 2.4rem;
	letter-spacing: 0.08rem;
	white-space: nowrap;
}

.interview-detail-fresh__breadcrumb li { flex: none; margin: 0; padding: 0; }
.interview-detail-fresh__breadcrumb a { color: #333; text-decoration: none; }
.interview-detail-fresh__breadcrumb a:hover { text-decoration: underline; text-underline-offset: .2em; }
.interview-detail-fresh__breadcrumb a:focus-visible { outline: 0.2rem solid currentColor; outline-offset: 0.3rem; }

.interview-detail-fresh__separator {
	width: 0.4rem;
	height: 0.9rem;
	background: #333;
	clip-path: polygon(0 0, 25% 0, 100% 50%, 25% 100%, 0 100%, 75% 50%);
}

.interview-detail-fresh__breadcrumb li:first-child { width: 3.4rem; }
.interview-detail-fresh__breadcrumb li:nth-child(3) { width: 13.4rem; }
.interview-detail-fresh__break { display: none; }
.interview-detail-fresh__current { min-width: 0; max-width: 45.3rem; color: #989898; white-space: normal; overflow-wrap: anywhere; }

@media (max-width: 767px) {
	.interview-detail-fresh__background { top: -5.9rem; width: 37.5rem; height: 444.4rem; }
	.interview-detail-fresh__decoration { top: -5.9rem; width: 37.8rem; height: 34.3rem; }
	.interview-detail-fresh__section--breadcrumb { padding: 2.1rem 1.6rem 6.9rem; }
	.interview-detail-fresh__breadcrumb ol {
		display: grid;
		grid-template-columns: 3.4rem 0.4rem 13.4rem minmax(0, 1fr);
		grid-template-rows: 2.4rem auto;
		column-gap: 1.2rem;
		row-gap: 1.6rem;
		width: min(31.8rem, calc(100vw - 3.2rem));
	}
	.interview-detail-fresh__breadcrumb li:first-child { grid-column: 1; grid-row: 1; }
	.interview-detail-fresh__breadcrumb li:nth-child(2) { grid-column: 2; grid-row: 1; align-self: center; }
	.interview-detail-fresh__breadcrumb li:nth-child(3) { grid-column: 3; grid-row: 1; }
	.interview-detail-fresh__break { display: none; }
	.interview-detail-fresh__breadcrumb li:nth-child(5) { grid-column: 1; grid-row: 2; align-self: start; margin-top: 0.75rem; }
	.interview-detail-fresh__current { grid-column: 2 / -1; grid-row: 2; max-width: none; }

}

/* Article pair: semantic content stays in normal flow and shares one PC/SP DOM. */
.interview-detail-fresh__article {
	position: relative;
	z-index: 1;
	box-sizing: border-box;
	width: calc(100% - 20rem);
	max-width: 116.6rem;
	margin: 0 auto;
	padding: 5rem;
	border: 1px solid #989898;
	background: #fff;
	color: #333;
	font-family: "Noto Sans JP", sans-serif;
}

.interview-detail-fresh__article-main { display: flex; flex-direction: column; gap: 4rem; }
.interview-detail-fresh__hero {
	position: relative;
	display: grid;
	place-items: center;
	width: 100%;
	aspect-ratio: 1064 / 500;
	margin: 0;
	overflow: hidden;
	background: #f7e730;
}
.interview-detail-fresh__hero img { display: block; }
.interview-detail-fresh__hero.is-placeholder img { width: 39.474%; height: auto; }
.interview-detail-fresh__hero.has-cms-image img { width: 100%; height: 100%; object-fit: cover; }

.interview-detail-fresh__content { display: flex; flex-direction: column; }
.interview-detail-fresh__identity { display: flex; flex-direction: column; align-items: flex-start; margin: 0; }
.interview-detail-fresh__employee,
.interview-detail-fresh__department,
.interview-detail-fresh__profile,
.interview-detail-fresh__body p { margin: 0; }
.interview-detail-fresh__employee { font-size: 3.2rem; font-weight: 700; line-height: 5.1rem; letter-spacing: 0.32rem; overflow-wrap: anywhere; }
.interview-detail-fresh__identity-meta { display: flex; align-items: center; gap: 2.4rem; margin-top: 1.6rem; }
.interview-detail-fresh__department { font-size: 2rem; font-weight: 700; line-height: 2.4rem; letter-spacing: 1px; overflow-wrap: anywhere; }
.interview-detail-fresh__chips { display: flex; flex-wrap: wrap; gap: 1rem; margin: 0; padding: 0; list-style: none; }
.interview-detail-fresh__chips li { box-sizing: border-box; min-height: 2.3rem; padding: 0.2rem 1.6rem; border: 1px solid #989898; background: #fff; font-size: 1.4rem; font-weight: 700; line-height: 1.7rem; white-space: nowrap; }
.interview-detail-fresh__profile { margin-top: 1.6rem; font-size: 1.4rem; font-weight: 500; line-height: 1.7rem; letter-spacing: 0.07rem; overflow-wrap: anywhere; }
.interview-detail-fresh__catch { margin: 4rem 0 0; font-size: 3.2rem; font-weight: 700; line-height: 5.1rem; letter-spacing: 0.32rem; overflow-wrap: anywhere; }

.interview-detail-fresh__body { display: flex; flex-direction: column; gap: 2.4rem; margin-top: 4rem; }
.interview-detail-fresh__body-section { display: flex; flex-direction: column; gap: 2.4rem; margin: 0; }
.interview-detail-fresh__body h2,
.interview-detail-fresh__body h3,
.interview-detail-fresh__body h4,
.interview-detail-fresh__body h5,
.interview-detail-fresh__body h6 { position: relative; margin: 0; font-weight: 700; overflow-wrap: anywhere; }
.interview-detail-fresh__body h2 { min-height: 5.1rem; padding-left: 3.2rem; font-size: 2.8rem; line-height: 4.48rem; letter-spacing: 0.28rem; }
.interview-detail-fresh__body h2::before { position: absolute; top: 0; bottom: 1px; left: 0; width: 0.8rem; background: #f7e730; content: ""; }
.interview-detail-fresh__body h3,
.interview-detail-fresh__body h4,
.interview-detail-fresh__body h5,
.interview-detail-fresh__body h6 { font-size: 2.4rem; line-height: 3.8rem; letter-spacing: 0.24rem; }
.interview-detail-fresh__body h3 { padding-left: 3rem; }
.interview-detail-fresh__body h3::before { position: absolute; top: 1.2rem; left: 0; width: 1.4rem; height: 1.4rem; background: #f7e730; content: ""; transform: rotate(45deg); }
.interview-detail-fresh__body p { font-size: 1.6rem; font-weight: 500; line-height: 2.9rem; letter-spacing: 0.16rem; white-space: pre-line; overflow-wrap: anywhere; }

.interview-detail-fresh__back { display: flex; align-items: center; justify-content: center; gap: 1.2rem; box-sizing: border-box; width: 30rem; height: 7.4rem; margin: 8rem auto 0; border: 1px solid #333; background: #fff; box-shadow: 0.6rem 0.6rem 0 #333; color: #333; font-size: 2rem; font-weight: 700; line-height: 2.4rem; letter-spacing: 0.2rem; text-decoration: none; }
.interview-detail-fresh__back > span { position: relative; width: 2.5rem; height: 1.6rem; background: currentColor; transform: rotate(180deg); -webkit-mask:url("../assets/shared/arrow-right-thin.svg") center/contain no-repeat;mask:url("../assets/shared/arrow-right-thin.svg") center/contain no-repeat; }
.interview-detail-fresh__back > span::before { content: none; }
.interview-detail-fresh__back:hover { background: #f7e730; }
.interview-detail-fresh__back:focus-visible { outline: 0.3rem solid #333; outline-offset: 0.3rem; }

@media (max-width: 767px) {
	.interview-detail-fresh__article { width: calc(100% - 3.2rem); margin: 0 1.6rem; padding: 1.6rem 1.6rem 3.2rem; }
	.interview-detail-fresh__article-main { gap: 1.6rem; }
	.interview-detail-fresh__hero { aspect-ratio: 309 / 145.207; }
	.interview-detail-fresh__hero.is-placeholder img { width: 44.013%; }
	.interview-detail-fresh__employee { font-size: 2.4rem; line-height: 3.8rem; letter-spacing: 0.24rem; }
	.interview-detail-fresh__identity-meta { flex-direction: column; align-items: flex-start; gap: 1.6rem; }
	.interview-detail-fresh__department { font-size: 1.6rem; line-height: 1.92rem; letter-spacing: 0.08rem; }
	.interview-detail-fresh__catch { font-size: 2.4rem; line-height: 3.8rem; letter-spacing: 0.24rem; }
	.interview-detail-fresh__body h2 { min-height: 3.9rem; padding-left: 2.1rem; font-size: 2.4rem; line-height: 3.84rem; letter-spacing: 0.24rem; }
	.interview-detail-fresh__body h2::before { bottom: 1px; width: 0.5rem; }
	.interview-detail-fresh__body h3,
	.interview-detail-fresh__body h4,
	.interview-detail-fresh__body h5,
	.interview-detail-fresh__body h6 { font-size: 2rem; line-height: 3.2rem; letter-spacing: 0.2rem; }
	.interview-detail-fresh__body h3 { padding-left: 2.4rem; }
	.interview-detail-fresh__body h3::before { top: 1.2rem; width: 0.8rem; height: 0.8rem; }
	.interview-detail-fresh__body p { font-size: 1.4rem; line-height: 2.5rem; letter-spacing: 0.14rem; }
	.interview-detail-fresh__back { margin-top: 4rem; }
}

@media (prefers-reduced-motion: reduce) {
	.interview-detail-fresh__breadcrumb a { scroll-behavior: auto; }
	.interview-detail-fresh__back { transition: none; }
}
/* Section 03 — related interviews. Figma API source: PC 201:3677 / SP 250:7803. */
.interview-detail-related {
	position: relative;
	z-index: 1;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: 4rem;
	width: calc(100% - 20rem);
	max-width: 116.6rem;
	margin: 8rem auto 10rem;
	color: #333;
	font-family: "Noto Sans JP", sans-serif;
}

.interview-detail-related__heading {
	margin: 0;
	font-size: 4rem;
	font-weight: 700;
	line-height: 6.4rem;
	letter-spacing: 0.4rem;
	text-align: center;
}

.interview-detail-related__cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
}

/* FB-020: SP horizontal-scroll hint, rebuilt to match the client's reference site
   (https://ohri-seitai.jp/guide): a translucent dark rounded panel centred over the
   rail, holding a right arrow, a rocking hand and the caption "スクロールできます".
   It fades out for good once the rail has been scrolled past 10px (see the rail JS).
   `display: contents` keeps the wrapper out of the PC/tablet layout entirely. */
.sect-swipe-wrap { display: contents; }
.sect-swipe-hint { display: none; }
@keyframes sect-swipe-hint-hand {
  0% { transform: translate(0); }
  40% { transform: translate(-1rem); }
  60% { transform: translate(.6rem); }
  80% { transform: translate(-.4rem); }
  to { transform: translate(0); }
}
/* SP swipe rail affordances; hidden on PC so the flex column stays untouched. */
.interview-detail-related__rail-status { display: none; }

/* Locally scoped visually-hidden helper: the theme-wide .screen-reader-text class
   is used in markup but never defined in any stylesheet, so it does not hide anything.
   FB-020: the swipe sentence uses the same helper at every width — sighted users get
   the .sect-swipe-hint panel overlaid on the rail, and PC stays out of flow either way. */
.interview-detail-related__sr,
.interview-detail-related__rail-help {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	border: 0;
	clip-path: inset(50%);
	white-space: nowrap;
}

.interview-detail-related__card {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	min-width: 0;
	min-height: 55.9rem;
	border: 1px solid #989898;
	background: #fff;
}

.interview-detail-related__media {
	display: grid;
	flex: none;
	place-items: center;
	box-sizing: border-box;
	width: 100%;
	height: 28rem;
	margin: 0;
	overflow: hidden;
	background: #f7e730;
}
.interview-detail-related__media img { display: block; }
.interview-detail-related__media.is-placeholder img { width: 75.066%; height: auto; }
.interview-detail-related__media.has-cms-image img { width: 100%; height: 100%; object-fit: cover; }

.interview-detail-related__content {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 2.4rem;
	box-sizing: border-box;
	min-width: 0;
	padding: 1.6rem 1.6rem 2.4rem;
}
.interview-detail-related__identity { display: flex; flex-direction: column; gap: 0.8rem; min-width: 0; }
.interview-detail-related__identity h3,
.interview-detail-related__identity p,
.interview-detail-related__summary p { margin: 0; overflow-wrap: anywhere; }
.interview-detail-related__identity h3 { font-size: 2rem; font-weight: 700; line-height: 3.2rem; letter-spacing: 0.2rem; }
.interview-detail-related__meta { display: flex; align-items: center; gap: 1.6rem; min-width: 0; }
.interview-detail-related__meta > p { flex: none; font-size: 1.6rem; font-weight: 700; line-height: 1.9rem; letter-spacing: 0.08rem; }
.interview-detail-related__meta ul { display: flex; gap: 1rem; margin: 0; padding: 0; list-style: none; }
.interview-detail-related__meta li { box-sizing: border-box; min-height: 2.3rem; padding: 0.2rem 1.6rem; border: 1px solid #989898; font-size: 1.4rem; font-weight: 700; line-height: 1.7rem; white-space: nowrap; }

.interview-detail-related__summary { display: flex; flex-direction: column; gap: 1.6rem; min-width: 0; }
.interview-detail-related__title {
	position: relative;
	display: -webkit-box;
	box-sizing: border-box;
	min-height: 5.2rem;
	padding: 0 3.6rem;
	overflow: hidden;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 2.56rem;
	letter-spacing: 0.16rem;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}
.interview-detail-related__title::before,
.interview-detail-related__title::after { position: absolute; width: 2rem; height: 2rem; color: #f7e730; font-size: 3.5rem; font-weight: 700; line-height: 2rem; content: "“"; }
.interview-detail-related__title::before { top: 0; left: 0; }
.interview-detail-related__title::after { right: 0; bottom: 0; transform: rotate(180deg); }
.interview-detail-related__excerpt { display: none; }

.interview-detail-related__link {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1.2rem;
	box-sizing: border-box;
	width: 100%;
	min-height: 7.4rem;
	margin-top: auto;
	border: 1px solid #333;
	background: #fff;
	box-shadow: 0.6rem 0.6rem 0 #333;
	color: #333;
	font-size: 2rem;
	font-style: normal;
	font-weight: 700;
	line-height: 2.4rem;
	letter-spacing: 0.2rem;
	text-decoration: none;
}
.interview-detail-related__link i { position: relative; width: 2.5rem; height: 1.6rem; background: currentColor; -webkit-mask:url("../assets/shared/arrow-right-thin.svg") center/contain no-repeat;mask:url("../assets/shared/arrow-right-thin.svg") center/contain no-repeat; }
.interview-detail-related__link i::after { content: none; }
.interview-detail-related__link:hover { background: #f7e730; }
.interview-detail-related__link:focus-visible { outline: 0.3rem solid #333; outline-offset: 0.3rem; }

@media (max-width: 767px) {
	.interview-detail-related { gap: 1.6rem; width: calc(100% - 3.2rem); margin: 4rem 1.6rem 8rem; }
	.interview-detail-related__heading { font-size: 2rem; line-height: 3.2rem; letter-spacing: 0.2rem; }

	/* FB-016: one card at a time on a scroll-snap rail, next card peeking. */
	.interview-detail-related__cards {
		display: flex;
		flex-direction: row;
		gap: 1.6rem;
		width: 100%;
		margin: 0;
		padding: 0 calc(100% - 28.4rem) 1.6rem 0;
		overflow-x: auto;
		overflow-y: hidden;
		overscroll-behavior-inline: contain;
		scroll-snap-type: x mandatory;
		scroll-padding-inline: 0 calc(100% - 28.4rem);
		-webkit-overflow-scrolling: touch;
		scrollbar-width: thin;
		scrollbar-color: #333 transparent;
	}
	.interview-detail-related__card {
		flex: 0 0 28.4rem;
		width: 28.4rem;
		min-height: 0;
		scroll-snap-align: start;
		scroll-snap-stop: always;
	}
	/* FB-020: the "1 / 3" counter stays on the right; the swipe hint is overlaid on the rail. */
	.interview-detail-related__rail-status {
		display: flex;
		align-items: center;
		justify-content: flex-end;
		width: calc(100% - 1.6rem);
		margin: 0 1.6rem 0 0;
		color: #333;
		font: 700 1.4rem/2rem Jost, sans-serif;
		letter-spacing: 0.1rem;
	}
	.interview-detail-related__rail-count { display: inline-flex; align-items: center; }
	.sect-swipe-wrap { position: relative; display: block; width: 100%; }
	.sect-swipe-hint { position: absolute; z-index: 20; top: 50%; left: 50%; width: 14.3rem; padding: 2.3rem 1.6rem 2.1rem; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .6rem; border-radius: 1.2rem; background-color: rgba(59, 59, 59, .722); pointer-events: none; transition: opacity .4s; transform: translate(-50%, -50%); }
	.sect-swipe-hint__row { display: flex; align-items: center; justify-content: center; gap: .7rem; }
	.sect-swipe-hint__arrow { display: block; width: 1.4rem; height: .8rem; }
	.sect-swipe-hint__hand { display: block; width: 3.2rem; height: 3.2rem; animation: 1.6s ease-in-out infinite sect-swipe-hint-hand; }
	.sect-swipe-hint__text { color: #fff; font: 500 1.1rem/1.5 "Noto Sans JP", sans-serif; text-align: center; }
	.sect-swipe-wrap.is-scrolled .sect-swipe-hint { opacity: 0; }
	.interview-detail-related__media { height: auto; aspect-ratio: 1; }
	.interview-detail-related__media.is-placeholder img { width: 56.012%; height: auto; }
	.interview-detail-related__content { gap: 1.6rem; padding: 1.6rem; }
	.interview-detail-related__identity { gap: 1.6rem; }
	.interview-detail-related__identity h3 { font-size: 2.4rem; line-height: 3.8rem; letter-spacing: 0.24rem; }
	.interview-detail-related__meta { flex-direction: column; align-items: flex-start; gap: 0.8rem; }
	.interview-detail-related__meta > p { font-size: 2rem; line-height: 2.4rem; letter-spacing: 1px; }
	.interview-detail-related__title { min-height: 6.4rem; font-size: 2rem; line-height: 3.2rem; letter-spacing: 0.2rem; }
	/* FB-019: trim the excerpt to 2 lines so the swipe cards stop running long. */
	.interview-detail-related__excerpt { display: -webkit-box; min-height: 5.8rem; overflow: hidden; font-size: 1.6rem; font-weight: 500; line-height: 2.88rem; letter-spacing: 0.16rem; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
}

@media (prefers-reduced-motion: reduce) {
	.interview-detail-related__link { transition: none; }
	.sect-swipe-hint__hand { animation: none; }
	.sect-swipe-hint { transition: none; }
}
