.wp-block-heading {
	&:not([class*="is-style-"]),
	&.is-style-default,
	&.is-style-heading-01 {
		position: relative;
		margin-block-start: var(--wp--preset--spacing--80);
		margin-block-end: var(--wp--preset--spacing--70);
		padding-left: var(--wp--preset--spacing--40);
		font-size: var(--wp--preset--font-size--three-xl);

		&::before {
			position: absolute;
			top: 50%;
			left: 0;
			height: 70%;
			border-left: 4px solid var(--wp--preset--color--primary);
			transform: translateY(-50%);
			content: "";
		}
	}

	&.is-style-heading-02 {
		position: relative;
		font-size: var(--wp--preset--font-size--two-xl);
		margin-block-start: var(--wp--preset--spacing--70);
		margin-block-end: var(--wp--preset--spacing--60);

		&::before,
		&::after {
			position: absolute;
			bottom: -5px;
			left: 0;
			height: 2px;
			content: "";
		}

		&::before {
			width: 100%;
			background-color: var(--wp--preset--color--alto-10);
		}

		&::after {
			width: 30%;
			background-color: var(--wp--preset--color--primary);
		}
	}

	&.is-style-heading-03 {
		display: inline-flex;
		padding: var(--wp--preset--spacing--20) 0 var(--wp--preset--spacing--20) var(--wp--preset--spacing--40);
		font-size: var(--wp--preset--font-size--xl);
		line-height: 1;
		border-left: 2px dashed var(--wp--preset--color--primary);
		margin-block-start: var(--wp--preset--spacing--60);
		margin-block-end: var(--wp--preset--spacing--50);
	}

	&.is-style-heading-04 {
		display: inline-block;
		color: var(--wp--preset--color--light-01);
		font-size: var(--wp--preset--font-size--md);
		background-color: var(--wp--preset--color--secondary);
		padding-top: var(--wp--preset--spacing--10);
		padding-right: var(--wp--preset--spacing--40);
		padding-bottom: var(--wp--preset--spacing--10);
		padding-left: var(--wp--preset--spacing--40);
		margin-block-start: var(--wp--preset--spacing--50);
		margin-block-end: var(--wp--preset--spacing--40);
	}

	&.is-style-heading-05 {
		display: flex;
		max-width: fit-content;
		padding: 0 var(--wp--preset--spacing--40);
		color: var(--wp--preset--color--light-01);
		font-size: var(--wp--preset--font-size--md);
		text-align: center;
		background-color: var(--wp--preset--color--primary);
		margin-block-start: var(--wp--preset--spacing--50);
		margin-block-end: var(--wp--preset--spacing--40);
	}

	&.is-style-heading-06 {
		display: inline-flex;
		padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--40);
		font-size: var(--wp--preset--font-size--xl);
		line-height: 1;
		background-color: var(--wp--preset--color--light-01);
		border: 1px solid var(--wp--preset--color--alto-10);
	}

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

		&.has-text-align-center .ja {
			text-indent: var(--wp--preset--spacing--10);
		}

		&:not(.has-text-align-center) .ja {
			margin-inline-start: calc(-1 * var(--wp--preset--spacing--20));
		}

		.ja {
			order: 1;
			color: var(--wp--preset--color--primary);
			font-size: var(--wp--preset--font-size--four-xl);
			font-family: var(--wp--preset--font-family--alto-01);
			line-height: 1;
			letter-spacing: var(--wp--preset--spacing--10);
			text-transform: uppercase;

			@media screen and (0px <= width <= 767px) {
				font-size: var(--wp--preset--font-size--three-xl);
			}
		}

		.en {
			display: block;
			order: 2;
			margin-block-start: var(--wp--preset--spacing--30);
			color: var(--wp--preset--color--dark-02);
			font-size: var(--wp--preset--font-size--lg);
			line-height: 1;

			@media screen and (0px <= width <= 767px) {
				font-size: var(--wp--preset--font-size--md);
			}
		}
	}

	&.is-style-frontpage-heading-02 {
		display: flex;
		flex-flow: column;

		.ja {
			display: block;
			order: 1;
			color: var(--wp--preset--color--dark-01);
			font-size: var(--wp--preset--font-size--two-xl);
			line-height: 1;
		}

		.en {
			order: 2;
			margin-block-start: var(--wp--preset--spacing--40);
			color: var(--wp--preset--color--dark-02);
			font-size: var(--wp--preset--font-size--md);
			font-family: var(--wp--preset--font-family--alto-01);
			line-height: 1;
			text-transform: uppercase;

			@media screen and (0px <= width <= 767px) {
				font-size: var(--wp--preset--font-size--two-xl);
			}
		}
	}

	&.is-style-frontpage-heading-03 {
		font-size: var(--wp--preset--font-size--md);

		.en {
			font-size: var(--wp--preset--font-size--three-xl);
			font-family: var(--wp--preset--font-family--sans-serif);
		}

		.ja {
			display: block;
			color: var(--wp--preset--color--primary);
		}
	}

	&.is-style-flow-item {
		display: flex;
		align-items: baseline;
		font-weight: 700;
		font-size: var(--wp--preset--font-size--xl);
		margin-block-start: 0;
		margin-block-end: 0;

		&::before {
			margin-inline-end: var(--wp--preset--spacing--40);
			color: var(--wp--preset--color--primary);
			font-size: var(--wp--preset--font-size--two-xl);
			font-family: var(--wp--preset--font-family--alto-02);
			content: "Step" counter(flow-count);
		}
	}

	&.is-style-hero-title {
		position: relative;
		display: flex;
		justify-content: center;
		margin: 0;
		padding: var(--wp--preset--spacing--70) 0;
		color: var(--wp--preset--color--primary);
		text-align: center;

		&::after {
			position: absolute;
			bottom: -10px;
			width: 20px;
			height: 20px;
			background-color: var(--wp--preset--color--primary);
			border-radius: 3px;
			transform: rotate(45deg);
			content: "";
		}

		.title {
			width: 100%;
			max-width: var(--wp--style--global--content-size);
			@media screen and (0px <= width <= 767px) {
				max-width: calc(100% - 2rem);
			}
		}

		.ja {
			font-size: var(--wp--preset--font-size--four-xl);
			font-family: var(--wp--preset--font-family--alto-01);
			line-height: 0.54;
			letter-spacing: var(--wp--preset--spacing--10);
			text-indent: var(--wp--preset--spacing--10);
			@media screen and (0px <= width <= 767px) {
				font-size: var(--wp--preset--font-size--three-xl);
			}
		}

		.en {
			display: block;
			font-size: var(--wp--preset--font-size--xl);
			letter-spacing: var(--wp--preset--spacing--10);
			text-transform: uppercase;
			text-indent: var(--wp--preset--spacing--10);
			@media screen and (0px <= width <= 767px) {
				font-size: var(--wp--preset--font-size--lg);
			}
		}
	}
}
