/* Logo */

.c-logo {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	color: var(--c-ink);
	transition: color var(--dur-s) var(--ease-out);
}

.c-logo__icon {
	width: 44px;
	flex-shrink: 0;
}

.c-logo__text {
	display: grid;
	line-height: 1.3;
	white-space: nowrap;
}

.c-logo__name {
	font-size: 1.375rem;
	font-weight: 700;
	letter-spacing: 0.08em;
}

.c-logo__sub {
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.2em;
}

.c-logo--light {
	color: var(--c-white);
}

@media (max-width: 767px) {
	.c-logo__icon {
		width: 36px;
	}

	.c-logo__name {
		font-size: var(--fs-md);
	}

	.c-logo__sub {
		font-size: 0.625rem;
	}
}

/* Button */

.c-button {
	position: relative;
	isolation: isolate;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 60px;
	padding: 0 40px;
	overflow: hidden;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.4;
	color: var(--c-white);
	background: var(--c-shiba-deep);
	transition: color var(--dur-s) var(--ease-out);
}

.c-button::before {
	content: "";
	position: absolute;
	inset: 0 -20%;
	z-index: -1;
	background: var(--c-ink);
	transform: translateX(-101%) skewX(calc(var(--slant) * -1));
	transition: transform var(--dur-s) var(--ease-out);
}

.c-button:hover::before,
.c-button:focus-visible::before {
	transform: translateX(0) skewX(calc(var(--slant) * -1));
}

.c-button--outline {
	color: var(--c-ink);
	background: transparent;
	box-shadow: inset 0 0 0 1px currentColor;
}

.c-button--outline:hover,
.c-button--outline:focus-visible {
	color: var(--c-white);
}

.c-button--small {
	min-height: 48px;
	padding-inline: 28px;
	font-size: var(--fs-sm);
}

.c-button--on-dark::before {
	background: var(--c-white);
}

.c-button--on-dark:hover,
.c-button--on-dark:focus-visible {
	color: var(--c-ink);
}

/* Heading */

.c-heading {
	display: grid;
	gap: 8px;
}

.c-heading__en {
	font-family: var(--f-en);
	font-size: var(--fs-display);
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.06em;
}

.c-heading__ja {
	font-size: var(--fs-base);
	font-weight: 700;
	color: var(--c-shiba-deep);
}

.c-heading--on-dark .c-heading__ja {
	color: var(--c-shiba);
}
