.c-heading {
	width: 100%;
}

.c-heading__text {
	position: relative;
	margin: 0;
	padding: 0 0 16px;
	font-size: var(--fs-2xl);
	font-weight: var(--font-weight-bold);
	line-height: var(--line-height-heading);
	color: var(--color-primary);
	border-bottom: 2px solid var(--color-border);
}

.c-heading__text::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -2px;
	width: 300px;
	height: 2px;
	background: var(--color-primary);
}

/* オフィスバリアント */
.c-heading--office .c-heading__text {
	color: var(--color-office);
}

.c-heading--office .c-heading__text::after {
	background: var(--color-office);
}

/* 白バリアント */
.c-heading--white .c-heading__text {
	color: #fff;
	border-bottom-color: rgba(255, 255, 255, 0.3);
}

.c-heading--white .c-heading__text::after {
	background: #fff;
}

/* スクロール表示：下線が左から伸びる */
@media (prefers-reduced-motion: no-preference) {
	.js .c-heading__text::after {
		transform: scaleX(0);
		transform-origin: left center;
		transition: transform var(--motion-duration-reveal) var(--motion-ease-out);
	}

	.js .c-heading.is-initial .c-heading__text::after {
		transition-delay: var(--motion-delay-initial);
	}

	.js .c-heading.is-inview .c-heading__text::after {
		transform: scaleX(1);
	}
}
