@charset "UTF-8";

:root {
	--color-body-1: #333333;
	--color-theme-1: #038FA9;
	--color-theme-2: #FAA836;
	--color-theme-3: #23C6A9;
	--color-gray-1: #E2E2E2;
	--color-gray-2: #333333;

	--font-family: YakuHanJP_Narrow, "Noto Sans JP", sans-serif;
	--container: 1070px;
	--padding: 15px;
}

::after,
::before,
* {
	--font-size: calc((var(--fs) / 16) * 1rem);
	font-size: var(--font-size);
}

.mincho {
	font-family: var(--mincho);
}

.en {
	font-family: var(--en);
}

.text-body {
	color: --color-body-1;
}

.text-theme-1 {
	color: var(--color-theme-1) !important;
}

.text-theme-2 {
	color: var(--color-theme-2) !important;
}

.text-theme-3 {
	color: var(--color-theme-3) !important;
}

.bg-theme-1 {
	background-color: var(--color-theme-1) !important;
}

.bg-theme-2 {
	background-color: var(--color-theme-2) !important;
}

.bg-theme-3 {
	background-color: var(--color-theme-3) !important;
}


.is-style-group-1 {
	padding-top: var(--stack);
	padding-bottom: var(--stack);
}

.editor-styles-wrapper {
	--fs: 15;
	font-family: var(--font-family);
	font-optical-sizing: auto;
}

:where(.editor-styles-wrapper .wp-block-group) {
	border: 1px dashed gray;
}

h2:where(.wp-block-heading):where(
		.is-style-default,
		:not([class*="is-style"])
	) {
	--fs: 30;
	font-size: var(--font-size);
	margin-bottom: 50px;
}

h3:where(.wp-block-heading):where(
		.is-style-default,
		:not([class*="is-style"])
	) {
	--fs: 23;
	font-size: var(--font-size);
	line-height: calc(35 / 23);
	margin-bottom: 25px;
}

.is-style-group-1 .wp-block-columns.is-layout-flex {
	column-gap: 80px;
}

@media (max-width: 991px) {
	.is-style-group-1 .wp-block-columns.is-layout-flex {
		display: block;
	}
}

h2:where(.wp-block-heading):where(.is-style-default, :not([class*="is-style"])),
.is-style-h-2 {
	display: flex;
	--fs: 25;
	font-size: var(--font-size);
	line-height: calc(48 / 32);
	font-weight: 500;
	gap: 10px;
	margin-bottom: 30px;
}

h2:where(.wp-block-heading):where(.is-style-default, :not([class*="is-style"]))::before,
.is-style-h-2::before {
	content: "";
	width: 8px;
	height: 35px;
	background: var(--color-theme-2);
}

* + h2:where(.wp-block-heading):where(.is-style-default, :not([class*="is-style"])),
* + .is-style-h-2 {
	margin-top: 80px;
}

.page-title + h2:where(.wp-block-heading):where(.is-style-default, :not([class*="is-style"])),
.page-title + .is-style-h-2 {
	margin-top: 0;
}

@media(max-width: 767px) {
	h2:where(.wp-block-heading):where(.is-style-default, :not([class*="is-style"])),
	.is-style-h-2 {
		--fs: 20;
		margin-bottom: 25px;
	}
	h2:where(.wp-block-heading):where(.is-style-default, :not([class*="is-style"]))::before,
.is-style-h-2::before {
		content: "";
		width: 6px;
		height: 30px;
		background: var(--color-theme-2);
	}
	* + h2:where(.wp-block-heading):where(.is-style-default, :not([class*="is-style"])),
	* + .is-style-h-2 {
		margin-top: 50px;
	}
}

h3:where(.wp-block-heading):where(.is-style-default, :not([class*="is-style"])),
.is-style-h-3 {
	--fs: 20;
	font-size: var(--font-size);
	line-height: calc(48 / 32);
	background: var(--color-gray-1);
	border-radius: 5px;
	padding: 3px 15px;
	margin-bottom: 15px;
}

* + h3:where(.wp-block-heading):where(.is-style-default, :not([class*="is-style"])),
* + .is-style-h-3 {
	margin-top: 25px;
}

@media(max-width: 767px) {
	h3:where(.wp-block-heading):where(.is-style-default, :not([class*="is-style"])),
	.is-style-h-3 {
		--fs: 18;
		padding: 2px 10px;
	}
}

.wp-block-separator:where(.is-style-default, :not([class*="is-style"])) {
	border-top: 1px solid var(--color-body-1);
	opacity: 1;
}

