/* 共通ページヘッダー（下層ページ用バナー）
   ロゴテイストの軽やかさを保ちつつ、ページの起点として上品に */

.p-pageHeader {
	position: relative;
	overflow: hidden;
	padding-block: var(--sp-8) var(--sp-7);
	background: var(--c-bg);
	border-bottom: 1px solid var(--c-border);
}
.p-pageHeader__bg {
	position: absolute;
	inset: 0;
	z-index: 0;
	background:
		radial-gradient(ellipse 50% 60% at 100% 0%, var(--c-primary-soft) 0%, transparent 75%),
		radial-gradient(ellipse 35% 50% at 0% 100%, var(--c-accent-soft) 0%, transparent 75%);
	opacity: .8;
}
.p-pageHeader__bg::after {
	content: "";
	position: absolute;
	inset: 0;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='1200' height='200' viewBox='0 0 1200 200'><g fill='none' stroke='%23527E80' stroke-width='1' opacity='0.15'><path d='M-50 160 Q 150 130 350 160 T 750 160 T 1250 160'/><path d='M-50 180 Q 150 150 350 180 T 750 180 T 1250 180'/></g></svg>");
	background-size: 100% auto;
	background-repeat: no-repeat;
	background-position: bottom;
}
.p-pageHeader__inner {
	position: relative;
	z-index: 1;
}
.p-pageHeader__breadcrumb {
	margin-block-end: var(--sp-3);
}
.p-pageHeader__eyebrow {
	color: var(--c-primary);
	font-weight: var(--fw-medium);
	letter-spacing: .25em;
	font-size: var(--fs-sm);
	margin-block-end: var(--sp-3);
	text-transform: uppercase;
	font-family: var(--font-display);
}
.p-pageHeader__title {
	font-size: clamp(2rem, 5vw, 3.5rem);
	font-weight: var(--fw-bold);
	line-height: 1.2;
	color: var(--c-fg);
	letter-spacing: -.01em;
	margin-block-end: var(--sp-3);
}
.p-pageHeader__lead {
	font-size: var(--fs-md);
	max-width: 640px;
	color: var(--c-fg-muted);
	line-height: 1.85;
}
@media (max-width: 600px) {
	.p-pageHeader { padding-block: var(--sp-6) var(--sp-5); }
	.p-pageHeader__title { font-size: var(--fs-2xl); }
	.p-pageHeader__lead { font-size: var(--fs-base); }
}
