.wp-block-heading {
	&.is-style-heading-01 {
		position: relative;
		display: block;
		padding-bottom: 0.3rem;
		color: var(--wp--preset--color--dark-01);
		font-size: var(--wp--preset--font-size--3-xl);
		font-family: var(--wp--preset--font-family--sans-serif);

		&::after {
			position: absolute;
			bottom: -3px;
			left: 0;
			width: 100%;
			height: 3px;
			background-color: var(--wp--preset--color--primary);
			background-image: linear-gradient(to right, var(--wp--preset--color--secondary) 20%, transparent 20%);
			content: "";
		}
	}

	&.is-style-heading-02 {
		display: block;
		padding: 0 0 0 1rem;
		font-size: var(--wp--preset--font-size--2-xl);
		font-family: var(--wp--preset--font-family--sans-serif);
		border-left: 3px solid var(--wp--preset--color--primary);
	}

	&.is-style-heading-03 {
		display: inline-flex;
		color: var(--wp--preset--color--dark-01);
		font-size: var(--wp--preset--font-size--lg);
		border-bottom: 1px double var(--wp--preset--color--borderline);
		padding-inline: 0.5rem;
	}

	&.is-style-heading-04 {
		display: block;
		width: fit-content;
		color: var(--wp--preset--color--white);
		font-size: var(--wp--preset--font-size--md);
		background-color: var(--wp--preset--color--primary);
		padding: 0.3rem 1rem;
	}

	&.is-style-heading-05 {
		display: block;
		width: fit-content;
		color: var(--wp--preset--color--white);
		font-size: var(--wp--preset--font-size--md);
		background-color: var(--wp--preset--color--primary);
		padding: 0.3rem 1rem;
	}

	&.is-style-frontpage-heading-01 {
		display: flex;
		flex-flow: column;
		line-height: 1;

		.en {
			order: 2;
			margin-block-start: 0.8rem;
			color: var(--wp--preset--color--dark-01);
			font-weight: 700;
			font-size: var(--wp--preset--font-size--4-xl);
			font-family: var(--wp--preset--font-family--alto-01);
			letter-spacing: 0.2rem;
			text-transform: uppercase;
		}

		.ja {
			display: block;
			order: 1;
			color: var(--wp--preset--color--dark-02);
			font-weight: 400;
			font-size: var(--wp--preset--font-size--lg);
		}

		+ * {
			margin-block-start: 4rem;
		}
	}

	&.is-style-frontpage-heading-02 {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		font-size: var(--wp--preset--font-size--xl);
		line-height: 1.5;
		text-align: center;

		&::after {
			position: absolute;
			top: 100%;
			right: 0;
			left: 0;
			width: 30%;
			height: 4px;
			margin-inline-end: auto;
			margin-inline-start: auto;
			background-color: var(--wp--preset--color--primary);
			content: "";
		}
	}

	&.is-style-strength {
		display: flex;
		flex-flow: column;
		color: var(--wp--preset--color--light-01);
		line-height: 1;

		strong {
			display: block;
			font-size: var(--wp--preset--font-size--4-xl);
			margin-block-start: 1rem;
		}
	}

	&.is-style-flow {
		display: grid;
		grid-template-columns: auto auto;
		gap: 0.5rem;
		align-items: center;
		justify-content: flex-start;
		padding: 0;
		font-size: var(--wp--preset--font-size--2-xl);
		font-family: var(--wp--preset--font-family--sans-serif);
		line-height: 1.4;
		letter-spacing: 0.2rem;

		&::before {
			color: var(--wp--preset--color--primary);
			font-size: var(--wp--preset--font-size--4-xl);
			font-family: var(--wp--preset--font-family--alto-01);
			content: counter(flow-count);
		}
	}
}