:root {
	--calva-shared-blue: #64BCB1;
	--calva-shared-ink: #171A19;
	--calva-shared-muted: #5F6764;
	--calva-shared-line: #D8DDDA;
}

body.calva-ja-shared .calva-header-system-marker {
	display: none;
}

body.calva-ja-shared header .current-menu-item > .wp-block-navigation-item__content {
	position: relative;
}

body.calva-ja-shared header .current-menu-item > .wp-block-navigation-item__content::after {
	position: absolute;
	right: 0;
	bottom: -8px;
	left: 0;
	height: 1px;
	content: "";
	background: var(--calva-shared-blue);
}

body.calva-ja-shared .calva-contact,
body.calva-ja-shared.calva-editorial-company .calva-company,
body.calva-ja-shared.calva-editorial-recruit .calva-recruit,
body.calva-ja-shared.calva-editorial-shops .calva-shops {
	margin-top: 0;
}

body.calva-ja-shared.calva-editorial-company .calva-company,
body.calva-ja-shared.calva-editorial-recruit .calva-recruit,
body.calva-ja-shared.calva-editorial-shops .calva-shops {
	margin-bottom: 0;
}

body.calva-ja-shared .calva-page-intro {
	display: block;
	width: calc(100% - 80px);
	max-width: 1280px;
	margin-inline: auto;
	padding: 76px 0 58px;
	border-bottom: 1px solid var(--calva-shared-line);
	text-align: left;
}

body.calva-ja-shared .calva-page-title,
body.calva-ja-shared .calva-story-intro__copy h1 {
	margin: 0;
	color: var(--calva-shared-ink);
	font-family: "Cormorant Garamond", "Noto Serif JP", serif;
	font-size: clamp(54px, 5.1vw, 72px);
	font-weight: 500;
	line-height: 0.98;
	letter-spacing: 0.045em;
	text-align: left;
}

body.calva-ja-shared:is(
	.calva-editorial-news,
	.calva-editorial-story,
	.calva-editorial-achievements,
	.calva-editorial-shops,
	.calva-editorial-recruit,
	.calva-editorial-company,
	.calva-editorial-contact
) .calva-page-title {
	color: var(--calva-shared-blue);
}

body.calva-ja-shared .calva-page-intro__lead {
	max-width: 720px;
	margin: 24px 0 0;
	color: var(--calva-shared-muted);
	font-family: "Noto Serif JP", serif;
	font-size: 15px;
	font-weight: 400;
	line-height: 2;
	letter-spacing: 0.035em;
	text-wrap: pretty;
}

body.calva-ja-shared .calva-page-intro--with-meta {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: end;
	gap: 48px;
}

body.calva-ja-shared .calva-story-intro {
	border-bottom: 1px solid var(--calva-shared-line);
}

body.calva-ja-shared .calva-story-intro__copy h1 {
	margin-bottom: 0;
}

body.calva-ja-shared .calva-story-intro__copy .calva-page-intro__lead {
	margin-top: 24px;
}

body.calva-ja-shared .calva-story-intro__copy .calva-page-intro__lead + .calva-page-intro__lead {
	margin-top: 8px;
}

body.calva-ja-shared .calva-product-hero__copy h1 {
	font-size: clamp(56px, 5.2vw, 76px);
	letter-spacing: 0.04em;
}

body.calva-ja-shared .calva-product-hero__caption {
	max-width: 620px;
	margin-top: 24px;
	font-family: "Noto Serif JP", serif;
	font-size: 15px;
	line-height: 2;
	letter-spacing: 0.035em;
	text-wrap: pretty;
}

body.calva-ja-shared .calva-product-intro h2 {
	font-family: "Cormorant Garamond", "Noto Serif JP", serif;
}

body.calva-ja-shared .calva-entry-intro {
	box-sizing: border-box;
}

@media (max-width: 1000px) {
	body.calva-ja-shared .calva-page-intro {
		width: calc(100% - 56px);
		padding: 64px 0 46px;
	}

	body.calva-ja-shared .calva-page-intro--with-meta {
		display: block;
	}

	body.calva-ja-shared .calva-page-title,
	body.calva-ja-shared .calva-story-intro__copy h1 {
		font-size: clamp(50px, 7.2vw, 62px);
	}

	body.calva-ja-shared .calva-evidence-counts {
		justify-content: flex-start;
		margin-top: 36px;
	}
}

@media (max-width: 760px) {
	body.calva-ja-shared .calva-page-intro {
		width: calc(100% - 40px);
		padding: 50px 0 36px;
	}

	body.calva-ja-shared .calva-page-title,
	body.calva-ja-shared .calva-story-intro__copy h1 {
		font-size: clamp(40px, 12.2vw, 52px);
		line-height: 1.02;
		letter-spacing: 0.035em;
	}

	body.calva-ja-shared .calva-page-intro__lead,
	body.calva-ja-shared .calva-product-hero__caption {
		font-size: 14px;
		line-height: 1.9;
		letter-spacing: 0.025em;
	}

	body.calva-ja-shared .calva-product-hero__copy h1 {
		font-size: clamp(48px, 15vw, 58px);
		line-height: 0.98;
	}

	body.calva-ja-shared .calva-evidence-counts {
		flex-wrap: wrap;
		gap: 24px;
	}
}
