/*
 * HERO #001
 *
 * 冒頭で使う。文字を主役にして、装飾は背後の記号だけに留める。
 * デザインパーツを売る場所なので、詰め込むより余白で見せる。
 */

.wpp-kokodake-hero-001.wpp-kokodake-hero-001 {
	--wpp-kokodake-hero-001-ink: var(--wpparts-ink);
	--wpp-kokodake-hero-001-muted: var(--wpparts-muted);
	--wpp-kokodake-hero-001-accent: var(--wpparts-c);
	--wpp-kokodake-hero-001-on-accent: var(--wpparts-on-c);
	--wpp-kokodake-hero-001-title: clamp(2.1rem, 7cqi, 4rem);
	--wpp-kokodake-hero-001-pad: clamp(2.5em, 7cqi, 5em);

	position: relative;
	margin-block: 0 3em;
	padding: var(--wpp-kokodake-hero-001-pad);
	overflow: hidden;
	color: var(--wpp-kokodake-hero-001-ink);
	background-color: var(--wpparts-surface);
	background-image: linear-gradient(180deg, var(--wpparts-surface), transparent);
	background-image: linear-gradient(
		160deg,
		color-mix(in srgb, var(--wpparts-c) 5%, #fff),
		var(--wpparts-surface) 60%
	);
}

.wpp-kokodake-hero-001.wpp-kokodake-hero-001 .wpp-kokodake-hero-001__inner {
	position: relative;
	z-index: 1;
	max-width: 34em;
}

/* 上の小さな文字。字間を空けて、見出しの前置きだと分かるようにする */
.wpp-kokodake-hero-001.wpp-kokodake-hero-001 .wpp-kokodake-hero-001__eyebrow {
	margin: 0 0 1.2em;
	padding-left: 2.6em;
	position: relative;
	color: var(--wpp-kokodake-hero-001-accent);
	font-size: 0.78em;
	font-weight: 700;
	letter-spacing: 0.18em;
	line-height: 1;
}

.wpp-kokodake-hero-001.wpp-kokodake-hero-001 .wpp-kokodake-hero-001__eyebrow::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 2em;
	height: 2px;
	background-color: var(--wpp-kokodake-hero-001-accent);
}

.wpp-kokodake-hero-001.wpp-kokodake-hero-001 .wpp-kokodake-hero-001__title {
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	background-color: transparent;
	box-shadow: none;
	color: var(--wpp-kokodake-hero-001-ink);
	font-size: var(--wpp-kokodake-hero-001-title);
	font-weight: 800;
	letter-spacing: 0.01em;
	line-height: 1.25;
}

.wpp-kokodake-hero-001.wpp-kokodake-hero-001 .wpp-kokodake-hero-001__title::before,
.wpp-kokodake-hero-001.wpp-kokodake-hero-001 .wpp-kokodake-hero-001__title::after {
	content: none;
}

.wpp-kokodake-hero-001.wpp-kokodake-hero-001 .wpp-kokodake-hero-001__lead {
	margin: 1.4em 0 0;
	color: var(--wpp-kokodake-hero-001-muted);
	font-size: 1.02em;
	line-height: 2;
}

.wpp-kokodake-hero-001.wpp-kokodake-hero-001 .wpp-kokodake-hero-001__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.9em;
	margin: 2.4em 0 0;
}

.wpp-kokodake-hero-001.wpp-kokodake-hero-001 .wpp-kokodake-hero-001__primary,
.wpp-kokodake-hero-001.wpp-kokodake-hero-001 .wpp-kokodake-hero-001__secondary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 1em 2.2em;
	font-size: 0.95em;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
	transition: transform 200ms ease, box-shadow 200ms ease;
}

.wpp-kokodake-hero-001.wpp-kokodake-hero-001 .wpp-kokodake-hero-001__primary {
	color: var(--wpp-kokodake-hero-001-on-accent);
	background-color: var(--wpp-kokodake-hero-001-accent);
	box-shadow: 0 2px 0 0 var(--wpparts-ink);
	box-shadow: 0 2px 0 0 color-mix(in srgb, var(--wpparts-c) 70%, #000);
}

.wpp-kokodake-hero-001.wpp-kokodake-hero-001 .wpp-kokodake-hero-001__secondary {
	color: var(--wpp-kokodake-hero-001-ink);
	background-color: transparent;
	box-shadow: inset 0 0 0 1px var(--wpparts-line);
}

.wpp-kokodake-hero-001.wpp-kokodake-hero-001 .wpp-kokodake-hero-001__primary:hover,
.wpp-kokodake-hero-001.wpp-kokodake-hero-001 .wpp-kokodake-hero-001__secondary:hover {
	transform: translateY(-2px);
}

/* 背後の記号。ロゴの 4 枚組を薄く敷く */
.wpp-kokodake-hero-001.wpp-kokodake-hero-001 .wpp-kokodake-hero-001__mark {
	position: absolute;
	right: -2%;
	bottom: -12%;
	width: clamp(9em, 26cqi, 17em);
	height: auto;
	color: var(--wpparts-line);
	color: color-mix(in srgb, var(--wpparts-c) 16%, #fff);
	pointer-events: none;
}

@container (max-width: 600px) {
	.wpp-kokodake-hero-001.wpp-kokodake-hero-001 .wpp-kokodake-hero-001__mark {
		right: -8%;
		bottom: -8%;
		opacity: 0.55;
	}

	.wpp-kokodake-hero-001.wpp-kokodake-hero-001 .wpp-kokodake-hero-001__primary,
	.wpp-kokodake-hero-001.wpp-kokodake-hero-001 .wpp-kokodake-hero-001__secondary {
		flex: 1 1 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.wpp-kokodake-hero-001.wpp-kokodake-hero-001 .wpp-kokodake-hero-001__primary,
	.wpp-kokodake-hero-001.wpp-kokodake-hero-001 .wpp-kokodake-hero-001__secondary {
		transition: none;
	}
}
