/* ===============================
   blog-hero: パンくず + 高さを抑えた料理写真ヒーロー
   =============================== */

.blog-hero {
	--photo-fv-object-position: 58% 53%;

	position: relative;
	background: var(--color-white);
}

.blog-hero__visual {
	position: relative;
	width: calc(100% - 31px);
	height: 112px;
	overflow: hidden;
}

.blog-hero__visual::after {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		90deg,
		rgb(252 250 248 / 58%),
		rgb(252 250 248 / 24%) 38%,
		transparent 62%
	);
	content: "";
	pointer-events: none;
}

.blog-hero__media {
	height: 100%;
}

.blog-hero__image {
	width: 100%;
	max-width: none;
	height: 100%;
	object-fit: cover;
	object-position: 58% 53%;
}

.blog-hero__copy {
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	padding-inline: 16px;
	transform: translateY(-43%);
	z-index: 1;
}

.blog-hero__title {
	color: var(--color-primary);
	font-size: 18px;
	font-weight: var(--fw-medium);
	line-height: 1.35;
	letter-spacing: 0.09em;
	transform: translateY(6px);
}

.blog-hero__lead {
	margin-top: 11px;
	font-size: 8px;
	letter-spacing: 0.08em;
}

@media (max-width: 767px) {
	.blog-hero__visual {
		width: 100%;
	}

}

@media (min-width: 768px) {
	.blog-hero > .page-breadcrumb--hero {
		position: relative;
		top: auto;
		left: auto;
		display: flex;
		align-items: center;
		width: 100%;
		max-width: none;
		min-height: 72px;
		padding-inline: var(--container-gutter);
	}

	.blog-hero > .page-breadcrumb--hero::after {
		display: none;
	}

	.blog-hero > .page-breadcrumb--hero .page-breadcrumb__list {
		gap: var(--space-3);
		font-size: var(--fs-body-pc);
	}

	.blog-hero > .page-breadcrumb--hero .page-breadcrumb__item {
		gap: var(--space-3);
	}

	.blog-hero > .page-breadcrumb--hero .page-breadcrumb__item + .page-breadcrumb__item::before {
		width: var(--space-2);
		height: var(--space-2);
		border-color: var(--color-text-muted);
	}

	.blog-hero > .page-breadcrumb--hero .page-breadcrumb__link {
		color: inherit;
	}

	.blog-hero__visual {
		width: 100%;
		height: 433px;
		background: #cbd3df;
	}

	.blog-hero__visual::after {
		background: linear-gradient(
			90deg,
			#cbd3df 24%,
			rgb(203 211 223 / 82%) 40%,
			transparent 68%
		);
	}

	.blog-hero__image {
		width: 68%;
		margin-left: auto;
		object-position: center 48%;
	}

	.blog-hero__copy {
		padding-inline: var(--container-gutter);
		transform: translateY(-60%);
	}

	.blog-hero__title {
		color: var(--color-text);
		font-size: 56px;
		line-height: var(--lh-tight);
		letter-spacing: 0.08em;
		transform: none;
	}

	.blog-hero__lead {
		margin-top: var(--space-5);
		font-size: 18px;
	}
}
