@charset "UTF-8";

.button,
.page__content .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 16rem;
	padding: 1.2rem 3.2rem;
	border: 1px solid var(--theme-color);
	border-radius: 999px;
	background: none;
	color: var(--theme-color);
	font: inherit;
	font-size: 1.4rem;
	font-weight: bold;
	line-height: 1.4;
	text-decoration: none;
	cursor: pointer;
	transition: background 0.2s, color 0.2s, border-color 0.2s;
}

.button:hover,
.page__content .wp-block-button__link:hover {
	background: var(--theme-color);
	color: #fff;
}

.button--solid {
	background: var(--theme-color);
	color: #fff;
}

.button--solid:hover {
	border-color: var(--theme-color-dark);
	background: var(--theme-color-dark);
}

.page__content {
	line-height: 2;
	overflow-wrap: anywhere;
}

.page__content > * + * {
	margin-top: 1em;
}

.page__content > :first-child {
	margin-top: 0;
}

.page__content a {
	color: var(--theme-color);
	text-decoration-color: oklch(from var(--theme-color) 80% 0.06 h);
	text-underline-offset: 0.2em;
	transition: text-decoration-color 0.2s;
}

.page__content a:hover {
	text-decoration-color: currentColor;
}

.page__content h2 {
	margin-top: 6.4rem;
	padding-bottom: 1.2rem;
	border-bottom: 1px solid var(--color-border);
	font-size: 2.4rem;
	letter-spacing: 0.02em;
	line-height: 1.4;
}

.page__content h3 {
	margin-top: 4.8rem;
	font-size: 2rem;
	line-height: 1.5;
}

.page__content h4 {
	margin-top: 3.2rem;
	font-size: 1.7rem;
	line-height: 1.6;
}

.page__content h2 + * {
	margin-top: 2rem;
}

.page__content h3 + *,
.page__content h4 + * {
	margin-top: 1.2rem;
}

.page__content ul,
.page__content ol {
	padding-left: 2.4rem;
}

.page__content ol {
	counter-reset: item;
}

.page__content li {
	position: relative;
}

.page__content li + li,
.page__content li > ul,
.page__content li > ol {
	margin-top: 0.6rem;
}

.page__content ul > li::before {
	content: "";
	position: absolute;
	top: 1em;
	left: -1.8rem;
	width: 0.6rem;
	height: 0.6rem;
	border-radius: 50%;
	background: var(--theme-color);
	transform: translateY(-50%);
}

.page__content ul ul > li::before {
	border: 1px solid var(--theme-color);
	background: none;
}

.page__content ol > li {
	counter-increment: item;
}

.page__content ol > li::before {
	content: counter(item) ".";
	position: absolute;
	top: 0;
	left: -2.4rem;
	color: var(--theme-color);
	font-family: var(--font-display);
	font-weight: 500;
	letter-spacing: 0.02em;
}

.page__content .wp-block-quote {
	padding: 3.2rem 4rem;
	border: 0;
	border-radius: 1.2rem;
	background: var(--theme-color-pale);
}

.page__content .wp-block-quote p + p {
	margin-top: 1em;
}

.page__content .wp-block-quote cite {
	display: block;
	margin-top: 1.6rem;
	color: var(--color-text-muted);
	font-size: 1.3rem;
	font-style: normal;
	line-height: 1.6;
}

.page__content > .wp-block-image,
.page__content > .wp-block-table,
.page__content > .wp-block-quote,
.page__content > .wp-block-buttons {
	margin-block: 3.2rem;
}

.page__content .wp-block-image img {
	border-radius: 1.2rem;
}

.page__content figcaption {
	margin: 1.2rem 0 0;
	color: var(--color-text-muted);
	font-size: 1.3rem;
	line-height: 1.6;
	text-align: left;
}

.page__content .wp-block-table {
	overflow-x: auto;
}

.page__content .wp-block-table table {
	width: 100%;
	border-collapse: collapse;
}

.page__content .wp-block-table thead {
	border-bottom: 0;
}

.page__content .wp-block-table th,
.page__content .wp-block-table td {
	padding: 1.4rem 1.6rem;
	border: 0;
	border-bottom: 1px solid var(--color-border);
	text-align: left;
	vertical-align: top;
}

.page__content .wp-block-table th {
	background: var(--theme-color-pale);
	font-weight: bold;
}

.page__content .wp-block-separator:not(.is-style-dots) {
	width: 4.8rem;
	height: 1px;
	margin: 5.6rem auto;
	border: 0;
	background: var(--theme-color);
}

.page__content .wp-block-buttons {
	gap: 1.2rem;
}

@media screen and (max-width: 767px) {
	.page__content h2 {
		margin-top: 4.8rem;
		font-size: 2rem;
	}

	.page__content h3 {
		margin-top: 4rem;
		font-size: 1.8rem;
	}

	.page__content h4 {
		font-size: 1.6rem;
	}

	.page__content .wp-block-quote {
		padding: 2.4rem;
	}

	.page__content .wp-block-table th,
	.page__content .wp-block-table td {
		padding: 1.2rem;
		font-size: 1.4rem;
	}
}
