@charset 'UTF-8';

/* ---------------------------------------------------------

	showebcon.com
	Date: 2026.07.17

	01. settings
	02. layout
	03. header
	04. footer
	05. module
	06. block
	07. home
	08. about
	09. entry
	10. event
	11. results
	12. report
	13. archive
	14. single
	15. 404

--------------------------------------------------------- */

/* ---------------------------------------------------------

	01. settings

--------------------------------------------------------- */
html {
	position: relative;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: 100%;
	font-weight: 400;
	color: var(--color-text-default);
	-webkit-font-smoothing: antialiased;
}

body {
	line-break: strict;
	word-break: normal;
	overflow-wrap: anywhere;
	background-color: var(--color-background-primary);
}

a {
	color: var(--color-text-default);
	text-decoration: none;
}

:root {
	--color-primary-light: oklch(from var(--mytheme-color-primary) calc(l + (l * 0.4058)) calc(c - (c * 0.4084)) calc(h + (h * 0.0184)));
	--color-primary-medium: oklch(from var(--mytheme-color-primary) calc(l + (l * 0.6384)) calc(c - (c * 0.7377)) calc(h + (h * 0.0043)));
	--color-primary-dark: oklch(from var(--mytheme-color-primary) calc(l - (l * 0.2335)) calc(c - (c * 0.2347)) calc(h - (h * 0.0044)));
	--color-text-default: #222;
	--color-text-link: var(--mytheme-color-primary);
	--color-text-hover: var(--mytheme-color-accent);
	--color-background-primary: #fff;
	--color-neutral-50: #f2f2f2;
	--color-neutral-100: #e6e6e6;
	--color-button-primary: linear-gradient(to right, var(--theme-gradient-start), var(--theme-gradient-end));
	--border-dashed-gradient: repeating-linear-gradient(90deg, #4d4d4d, #4d4d4d 3px, transparent 3px, transparent 9px);
}

/* ---------------------------------------------------------

	02. layout

--------------------------------------------------------- */
:root {
	--layout-content-width: var(--wp--style--global--content-size);
	--layout-header-height: 5rem;
	--layout-padding-inline: 1.25rem;
	--z-index-header: 10;

	@media (768px <= width) {
		--layout-padding-inline: 2rem;
	}
}

.layout-body {
	position: relative;
	display: block grid;
	grid-template:
		"header" auto
		"main" 1fr
		"footer" auto / 100%;
	min-block-size: 100dvb;
	overflow-inline: clip;
}

.layout-header {
	position: sticky;
	inset-block-start: 0;
	z-index: var(--z-index-header);
	grid-area: header;
	height: var(--layout-header-height);
}

.layout-main {
	position: relative;
	z-index: 0;
	grid-area: main;
	padding-bottom: 4.5em;

	@media (768px <= width) {
		padding-bottom: 7.5em;
	}
}

.layout-footer {
	position: relative;
	z-index: 0;
	grid-area: footer;
}

.layout-frame {
	position: relative;
	max-width: calc(var(--layout-content-width) + var(--layout-padding-inline) * 2);
	padding-inline: var(--layout-padding-inline);
	margin-inline: auto;
}

.layout-only-sm {
	@media (768px <= width) {
		display: none;
	}
}

.layout-only-lg {
	@media (width < 1024px) {
		display: none;
	}
}

.layout-over-md {
	@media (width < 768px) {
		display: none;
	}
}

/* ---------------------------------------------------------

	03. header

--------------------------------------------------------- */
.header-wrap {
	display: grid;
	align-items: center;
	background-color: var(--mytheme-color-secondary);

	--layout-content-width: 75rem;
}

.header-wrap > .layout-frame {
	display: grid;
	grid-template-columns: repeat(2, auto);
	align-items: center;
	justify-content: space-between;
	width: 100%;
}

.header-logo {
	margin-block: 0;
}

.header-logo a {
	display: block;
	width: 12.5rem;
	height: 3.625rem;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
	background-color: #fff;
	mask: url("../img/common/logo_header.svg") left center/contain no-repeat;
}

.header-menu-title {
	position: relative;
	display: grid;
	font-weight: 700;
	color: #fff;
	text-decoration: none;
}

.header-menu-title-en {
	font-size: 0.625rem;
	font-weight: 700;
	color: var(--mytheme-color-accent);
	text-transform: uppercase;
	text-box: trim-both;
}

/* ===============================================
	header ： less than 1024px
=============================================== */
@media (width < 1024px) {
	.layout-body:has(dialog[open]) {
		overflow: hidden;
	}

	.header-menu-panel {
		--menu-interaction-delay: 0s;

		position: fixed;
		top: var(--layout-header-height);
		left: 0;
		z-index: var(--z-index-header);
		width: 100%;
		height: calc(100dvb - var(--layout-header-height));
		padding: 1.5em var(--layout-padding-inline) 3em;
		overflow-x: clip;
		color: #fff;
		pointer-events: none;
		background: linear-gradient(to bottom, var(--mytheme-gradient-end), var(--mytheme-gradient-start));
		opacity: 0;
		transition:
			opacity 0.3s,
			display 0.3s allow-discrete,
			overlay 0.3s allow-discrete,
			interactivity 0s var(--menu-interaction-delay) allow-discrete,
			pointer-events 0s var(--menu-interaction-delay) allow-discrete;
		interactivity: inert;
		transition-behavior: allow-discrete;

		&::backdrop {
			background-color: transparent;
			opacity: 0;
			transition: opacity 0.3s;
		}

		&[open] {
			--menu-interaction-delay: 0.3s;

			pointer-events: auto;
			interactivity: auto;
			opacity: 1;

			&::backdrop {
				opacity: 1;
			}

			@starting-style {
				pointer-events: none;
				interactivity: inert;
				opacity: 0;

				&::backdrop {
					opacity: 0;
				}
			}
		}
	}

	.header-menu-panel::before {
		position: absolute;
		right: 0;
		bottom: 0;
		width: 22em;
		height: 22em;
		content: "";
		background: url("../img/common/footer_background.svg") center/contain no-repeat;
		rotate: 16deg;
	}

	.header-menu-wrap {
		max-width: 22rem;
		margin-inline: auto;
	}

	.header-menu-item {
		border-block-end: 1px dashed #fff;
	}

	.header-menu-title {
		row-gap: 0.125em;
		padding-block: 1rem;
		font-size: 1.125rem;
	}

	.header-menu-title::before {
		position: absolute;
		top: 50%;
		right: 0;
		width: 1.5rem;
		height: 1.5rem;
		content: "";
		background-color: #fff;
		border-radius: 50%;
		translate: 0 -50%;
	}

	.header-menu-title::after {
		position: absolute;
		top: 50%;
		right: 0;
		display: block;
		width: 1.5rem;
		height: 1.5rem;
		content: "";
		background-color: var(--mytheme-color-primary);
		mask: url("../img/common/icon_arrow.svg") 58% center/auto 12px no-repeat;
		translate: 0 -50%;
	}

	.header-menu-switch,
	.header-menu-close {
		position: relative;
		width: 3.25rem;
		height: 3.25rem;
		padding: 0;
		overflow: hidden;
		color: #fff;
		text-indent: 100%;
		white-space: nowrap;
		appearance: none;
		border: none;
	}

	.header-menu-switch::before {
		position: absolute;
		inset: 0;
		width: 2rem;
		height: 2px;
		margin: auto;
		content: "";
		background-color: #fff;
		box-shadow:
			0 -8px 0 currentcolor,
			0 8px 0 currentcolor;
		transition: opacity 0.3s ease;
	}

	.header-menu-switch.is-open::before {
		opacity: 0;
	}

	.header-menu-switch span {
		opacity: 0;
		transition: opacity 0.3s ease;
	}

	.header-menu-switch.is-open span {
		opacity: 1;
	}

	.header-menu-switch span::before,
	.header-menu-switch span::after {
		position: absolute;
		inset: 0;
		width: 2rem;
		height: 2px;
		margin: auto;
		content: "";
		background-color: #fff;
		transition: rotate 0.3s ease;
	}

	.header-menu-switch:hover span::before {
		rotate: 45deg;
	}

	.header-menu-switch:hover span::after {
		rotate: -45deg;
	}

	.header-menu-close {
		position: fixed;
		top: calc((var(--layout-header-height) / 2) - 1.625rem);
		right: var(--layout-padding-inline);
	}
}

/* ===============================================
	header ： 1024px or more
=============================================== */
@media (1024px <= width) {
	.header-menu-switch,
	.header-menu-close {
		display: none;
	}

	.header-menu-panel {
		position: static;
		inset: auto;
		width: auto;
		max-width: none;
		height: auto;
		max-height: none;
		padding: 0;
		margin: 0;
		color: inherit;
		pointer-events: auto;
		background: transparent;
		border: none;
		opacity: 1;
		transition: none;
		interactivity: auto;

		&::backdrop {
			display: none;
		}
	}

	.header-menu {
		display: flex;
		column-gap: 1em;
		align-items: center;
	}

	.header-menu-title {
		row-gap: 0.25em;
		justify-items: center;
		padding: 0.5em;
		font-size: 0.875rem;
	}
}

/* ===============================================
	header ： mouse hover
=============================================== */
@media (any-hover: hover) {
	.header-logo a {
		transition: background-color 0.3s ease;
	}

	.header-logo a:hover {
		background-color: var(--mytheme-color-accent);
	}

	.header-menu-title {
		transition: color 0.3s ease;
	}

	.header-menu-title:hover {
		color: var(--mytheme-color-accent);
	}
}

/* ---------------------------------------------------------

	04. footer

--------------------------------------------------------- */

/* footer : sponsor-wrapper
--------------------------------------------------------- */
.sponsor-wrapper {
	padding-block: 3.5em;
	background-color: var(--mytheme-color-tertiary);

	@media (768px <= width) {
		padding-block: 7.5em;
	}
}

.sponsor-inner {
	position: relative;
	padding: 3em 1.5em 3.5em;
	background-color: #fff;

	@media (768px <= width) {
		padding: 5em 5em 6em;
	}
}

.sponsor-inner::before,
.sponsor-inner::after,
.sponsor-inner .home-section-title::before,
.sponsor-inner .home-section-title::after {
	position: absolute;
	display: block;
	width: 6px;
	height: 6px;
	content: "";
	background-color: var(--mytheme-color-accent);

	@media (768px <= width) {
		width: 10px;
		height: 10px;
	}
}

.sponsor-inner .home-section-title::before {
	top: 0.5rem;
	left: 0.5rem;

	@media (768px <= width) {
		top: 0.625rem;
		left: 0.625rem;
	}
}

.sponsor-inner .home-section-title::after {
	top: 0.5rem;
	right: 0.5rem;

	@media (768px <= width) {
		top: 0.625rem;
		right: 0.625rem;
	}
}

.sponsor-inner::before {
	bottom: 0.5rem;
	left: 0.5rem;

	@media (768px <= width) {
		bottom: 0.625rem;
		left: 0.625rem;
	}
}

.sponsor-inner::after {
	right: 0.5rem;
	bottom: 0.5rem;

	@media (768px <= width) {
		right: 0.625rem;
		bottom: 0.625rem;
	}
}

.sponsor-title {
	display: grid;
	place-content: center;
	margin-block-end: 0.75em;
	font-size: 1.25rem;

	@media (768px <= width) {
		display: grid;
		grid-template-columns: 1fr auto 1fr;
		column-gap: 1em;
		align-items: center;
		justify-content: center;
		margin-block-end: 1.5em;

		&::before,
		&::after {
			display: block;
			height: 2px;
			content: "";
			background: repeating-linear-gradient(90deg, #ccc, #ccc 3px, transparent 3px, transparent 9px) center top/ auto 2px no-repeat;
		}
	}
}

.sponsor-title span {
	display: grid;
	grid-template-columns: repeat(3, auto);
	column-gap: 0.5em;
	align-items: center;
	justify-content: center;
}

.sponsor-title span::before,
.sponsor-title span::after {
	display: block;
	width: 0.6rem;
	height: 0.6rem;
	margin-block-start: 0.125em;
	content: "";
	background-color: var(--mytheme-color-accent);
	mask: url("../img/common/icon_star.svg") center/contain no-repeat;
}

.sponsor-list {
	display: flex;
	flex-wrap: wrap;
	gap: 1em;
	align-items: center;
	justify-content: center;

	@media (768px <= width) {
		column-gap: 2em;
	}
}

.sponsor-list:not(:last-child) {
	margin-block-end: 2em;

	@media (768px <= width) {
		margin-block-end: 3em;
	}
}

.sponsor-list:not(:last-child)::after {
	display: block;
	width: 100%;
	height: 2px;
	margin-block-start: 1.5em;
	content: "";
	background: repeating-linear-gradient(90deg, #ccc, #ccc 3px, transparent 3px, transparent 9px) center top/ auto 2px no-repeat;

	@media (768px <= width) {
		display: none;
	}
}

.sponsor-list .wp-block-image a {
	max-width: 15rem;

	@media (768px <= width) {
		max-width: 18.75rem;
	}

	@media (any-hover: hover) {
		transition: opacity 0.3s ease;

		&:hover {
			opacity: 0.7;
		}
	}
}

/* footer : footer-wrapper
--------------------------------------------------------- */
.footer-wrapper {
	padding-block: 3.5em;
	color: #fff;
	background: var(--mytheme-color-secondary) url("../img/common/footer_background.svg") right -18px bottom -10px/ 16.4rem auto no-repeat;

	@media (768px <= width) {
		padding-block: 5em;
		background-size: 30rem auto;
	}
}

.footer-title {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	column-gap: 0.5em;
	align-items: center;
	margin-block-end: 1.25em;
	font-size: 1.125rem;
	font-weight: 700;

	@media (768px <= width) {
		column-gap: 0.75em;
		font-size: 1.25rem;
	}
}

.footer-title:not(:first-child) {
	margin-block-start: 2em;

	@media (768px <= width) {
		margin-block-start: 2.5em;
	}
}

.footer-title::before,
.footer-title::after {
	display: block;
	height: 2px;
	content: "";
	background: var(--border-dashed-gradient) center top/ auto 2px no-repeat;
}

.footer-title span {
	display: grid;
	grid-template-columns: repeat(3, auto);
	column-gap: 0.5em;
	align-items: center;
	justify-content: center;

	@media (768px <= width) {
		column-gap: 0.6em;
	}
}

.footer-title span::before,
.footer-title span::after {
	display: block;
	width: 0.825rem;
	height: 0.825rem;
	margin-block-start: 0.125em;
	content: "";
	background-color: var(--mytheme-color-accent);
	mask: url("../img/common/icon_star.svg") center/contain no-repeat;
}

.footer-support .wp-block-paragraph {
	width: fit-content;
	margin-inline: auto;
	font-size: 0.875rem;
	line-height: 1.75;
}

.footer-links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75em;
	justify-content: center;
}

.footer-links .wp-block-image img {
	width: auto;
	max-height: 3em;
}

.footer-contact-wrap {
	display: grid;
	row-gap: 2em;
	padding-block-start: 2em;
	margin-block-start: 3em;
	line-height: 1.75;
	background: var(--border-dashed-gradient) left top/ auto 2px no-repeat;

	@media (768px <= width) {
		grid-template-columns: repeat(2, 1fr);
		column-gap: 3em;
		padding-block-start: 2.5em;
		margin-block-start: 2.5em;
	}
}

.footer-contact-title {
	display: grid;
	grid-template-columns: auto 1fr;
	column-gap: 0.5em;
	align-items: center;
	margin-block-end: 0.75em;
	font-size: 1.125rem;
	font-weight: 700;
	text-transform: uppercase;

	@media (768px <= width) {
		font-size: 1.25rem;
	}
}

.footer-contact-title::before {
	display: block;
	width: 0.825rem;
	height: 0.825rem;
	margin-block-start: 0.125em;
	content: "";
	background-color: var(--mytheme-color-accent);
	mask: url("../img/common/icon_star.svg") center/contain no-repeat;
}

.footer-contact-text a {
	color: var(--mytheme-color-accent);
	text-decoration: underline;
	text-decoration-color: color-mix(in srgb, currentcolor 50%, transparent);
	text-underline-offset: 0.25em;

	@media (any-hover: hover) {
		transition: text-decoration-color 0.3s ease;

		&:hover {
			text-decoration-color: transparent;
		}
	}
}

.footer-contact-tel {
	margin-block-start: 0.5em;
}

.footer-copyright {
	padding-block: 1.25em 1.5em;
	font-size: 0.75rem;
	color: #fff;
	text-align: center;
	background-color: #000;

	@media (768px <= width) {
		padding-block: 1.5em 1.75em;
		font-size: 0.875rem;
	}
}

.footer-links a,
.footer-sns-list a {
	transition: opacity 0.3s ease;

	@media (any-hover: hover) {
		transition: opacity 0.3s ease;

		&:hover {
			opacity: 0.7;
		}
	}
}

/* ---------------------------------------------------------

	05. module

--------------------------------------------------------- */

/*	module : page header
--------------------------------------------------------- */
.module-title-wrap {
	display: grid;
	place-content: center;
	height: 6.25rem;
	color: #fff;
	background: linear-gradient(to right, var(--mytheme-color-primary), var(--color-primary-light));

	@media (768px <= width) {
		height: 12.5rem;
	}
}

.module-page-title {
	font-size: 1.5rem;
	font-weight: 700;

	@media (768px <= width) {
		font-size: 2.5rem;
	}
}

.module-breadcrumbs-wrap {
	padding-inline: 0;

	--layout-content-width: 75rem;

	@media (768px <= width) {
		padding-inline: var(--layout-padding-inline);
	}
}

.module-breadcrumbs {
	position: relative;
	top: -0.0625em;
	display: flex;
	column-gap: 0.5em;
	width: 100%;
	margin-block-start: 0.5em;
	overflow-x: auto;
	font-size: 0.75rem;
	white-space: nowrap;

	@media (768px <= width) {
		column-gap: 0.75em;
		margin-block-start: 0.75em;
		overflow-x: visible;
		font-size: 0.875rem;
	}
}

.module-breadcrumbs span {
	position: relative;
	top: 0.0625em;

	@media (768px <= width) {
		&:last-child {
			overflow: hidden;
			text-overflow: ellipsis;
			white-space: nowrap;
		}
	}
}

.module-breadcrumbs > span:first-child {
	padding-inline-start: var(--layout-padding-inline);

	@media (768px <= width) {
		padding-inline-start: 0;
	}
}

.module-breadcrumbs > span:last-child {
	padding-inline-end: var(--layout-padding-inline);

	@media (768px <= width) {
		padding-inline-end: 0;
	}
}

.module-breadcrumbs a {
	@media (any-hover: hover) {
		transition: color 0.3s ease;

		&:hover {
			color: var(--mytheme-color-accent);
		}
	}
}

/* module : content
--------------------------------------------------------- */
.entry-content {
	margin-block-start: 3em;

	.post-template-default & {
		--layout-content-width: 50rem;
	}

	@media (768px <= width) {
		margin-block-start: 4em;
	}
}

:where(.entry-content) > *:not(.alignwide, .alignfull) {
	max-width: calc(var(--layout-content-width) + var(--layout-padding-inline) * 2);
}

:where(.entry-content) > *.alignwide {
	max-width: calc(var(--wp--style--global--wide-size) + var(--layout-padding-inline) * 2);
}

:where(.entry-content) > *:not(.alignfull) {
	padding-inline: var(--layout-padding-inline);
	margin-inline: auto;
}

/* ---------------------------------------------------------

	06. block

--------------------------------------------------------- */

/* block : paragraph
--------------------------------------------------------- */
:where(.entry-content, .editor-styles-wrapper) .wp-block-paragraph {
	line-height: 1.875;
}

:where(.entry-content, .editor-styles-wrapper) * + .wp-block-paragraph {
	margin-block-start: 1.5em;
}

:where(.entry-content, .editor-styles-wrapper) a {
	color: var(--color-text-link);
	text-decoration: underline;
	text-decoration-color: color-mix(in srgb, currentcolor 50%, transparent);
	text-underline-offset: 0.25em;

	@media (any-hover: hover) {
		transition: color 0.3s ease;

		&:hover {
			color: var(--color-text-hover);
		}
	}
}

:where(.entry-content, .editor-styles-wrapper) a[target="_blank"]:not([href$=".pdf"])::after {
	position: relative;
	top: -0.125em;
	display: inline-block;
	width: 1.0625rem;
	height: 1.0625rem;
	margin-inline-start: 0.25em;
	vertical-align: middle;
	content: "";
	background-color: currentcolor;
	mask: url("../img/common/icon_blank.svg") center/contain no-repeat;

	@media (any-hover: hover) {
		transition: background-color 0.3s ease;
	}
}

/* block : page / results : heading
--------------------------------------------------------- */

/* common */
:where(.entry-content) .wp-block-heading,
:where(.editor-styles-wrapper) .wp-block-heading {
	letter-spacing: 0.06em;
}

/* h2 */
:where(.page-template-default .entry-content) h2,
:where(.results-template-default .entry-content) h2,
:where(.post-type-page.editor-styles-wrapper) h2,
:where(.post-type-results.editor-styles-wrapper) h2 {
	position: relative;
	padding-block-start: 0.5em;
	margin-block-end: 1.75em;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.6;
	text-align: center;

	@media (768px <= width) {
		font-size: 2rem;
	}

	&::before {
		position: absolute;
		top: 0;
		left: 50%;
		width: 2em;
		height: 0.125em;
		content: "";
		background-color: var(--mytheme-color-primary);
		translate: -50% 0;
	}
}

:is(.page-template-default .entry-content) * + h2,
:is(.results-template-default .entry-content) * + h2,
:is(.post-type-page.editor-styles-wrapper) * + h2,
:is(.post-type-results.editor-styles-wrapper) * + h2 {
	margin-block-start: 2.5em;

	@media (768px <= width) {
		margin-block-start: 3em;
	}
}

/* h3 */
:where(.page-template-default .entry-content) h3,
:where(.post-type-page.editor-styles-wrapper) h3 {
	margin-block-end: 1em;
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.75;

	@media (768px <= width) {
		font-size: 1.25rem;
	}

	&::before {
		display: inline-block;
		width: 0.625em;
		height: 0.625em;
		margin-inline-end: 0.5em;
		content: "";
		background-color: var(--mytheme-color-primary);
		mask: url("../img/common/icon_star.svg") center/ contain no-repeat;
	}
}

:is(.page-template-default .entry-content) * + h3,
:is(.post-type-page.editor-styles-wrapper) * + h3 {
	margin-block-start: 2em;

	@media (768px <= width) {
		margin-block-start: 2.5em;
	}
}

/* block : post / report : heading
--------------------------------------------------------- */

/* h2 */
:where(.post-template-default .entry-content) h2,
:where(.report-template-default .entry-content) h2,
:where(.post-type-post.editor-styles-wrapper) h2,
:where(.post-type-report.editor-styles-wrapper) h2 {
	padding: 0.333em 0.75em;
	margin-block-end: 1.5em;
	font-size: 1.25rem;
	font-weight: 700;
	background-color: var(--mytheme-color-tertiary);

	@media (768px <= width) {
		font-size: 1.5rem;
	}
}

:is(.post-template-default .entry-content) * + h2,
:is(.report-template-default .entry-content) * + h2,
:is(.post-type-post.editor-styles-wrapper) * + h2,
:is(.post-type-report.editor-styles-wrapper) * + h2 {
	margin-block-start: 2.5em;
}

/* h3 (post) */
:where(.post-template-default .entry-content) h3,
:where(.post-type-post.editor-styles-wrapper) h3 {
	padding: 0.125em 0 0.125em 0.75em;
	margin-block-end: 1em;
	font-size: 1.125rem;
	font-weight: 700;
	color: var(--mytheme-color-primary);
	border-inline-start: 5px solid var(--mytheme-color-primary);

	@media (768px <= width) {
		font-size: 1.25rem;
	}
}

:is(.post-template-default .entry-content) * + h3,
:is(.post-type-post.editor-styles-wrapper) * + h3 {
	margin-block-start: 2em;
}

/* h3 (report) */
:where(.report-template-default .entry-content) h3,
:where(.post-type-report.editor-styles-wrapper) h3 {
	margin-block-end: 1.5em;
	font-size: 1em;
	font-weight: 400;
	line-height: 1.875;
	color: var(--mytheme-color-primary);

	&::before {
		display: inline-block;
		width: 2rem;
		height: 1px;
		margin-block-end: 0.25em;
		margin-inline-end: 0.25em;
		vertical-align: middle;
		content: "";
		background-color: var(--mytheme-color-primary);
	}
}

:is(.report-template-default .entry-content) * + h3,
:is(.post-type-report.editor-styles-wrapper) * + h3 {
	margin-block-start: 1.5em;
}

/* block : list
--------------------------------------------------------- */
:where(.entry-content, .editor-styles-wrapper) .wp-block-list {
	padding-inline-start: 1.5em;
}

:where(.entry-content, .editor-styles-wrapper) * + .wp-block-list {
	margin-block-start: 1.5em;
}

:where(.entry-content, .editor-styles-wrapper) .wp-block-list li + li {
	margin-block-start: 0.5em;
}

:where(.entry-content, .editor-styles-wrapper) ul.wp-block-list li {
	list-style: disc;
}

:where(.entry-content, .editor-styles-wrapper) ol.wp-block-list li {
	list-style: decimal;
}

:where(.entry-content, .editor-styles-wrapper) .wp-block-list .wp-block-list {
	margin-block: 0.5em 1em;
}

:where(.entry-content, .editor-styles-wrapper) .wp-block-list .wp-block-list li {
	list-style: circle;
}

/* block : table
--------------------------------------------------------- */
:where(.entry-content, .editor-styles-wrapper) .wp-block-table {
	margin-block: 1.5em 0;
}

:where(.entry-content, .editor-styles-wrapper) .wp-block-table.is-style-regular td {
	border-color: #aaa;
}

/* block : buttons
--------------------------------------------------------- */
:where(.entry-content, .editor-styles-wrapper) .wp-block-buttons {
	margin-block-start: 2.5em;

	&:not(:last-child) {
		margin-block-end: 2.5em;
	}
}

/* block : button : fill (default style)
--------------------------------------------------------- */
:where(.entry-content, .editor-styles-wrapper)
	:is(.is-style-fill, .wp-block-button:not(.is-style-outline, .is-style-download))
	.wp-block-button__link {
	position: relative;
	display: block;
	padding-block: 1.5em;
	padding-inline: 1.5em 3.5em;
	font-size: 0.875rem;
	font-weight: 700;
	color: #fff;
	text-align: center;
	text-decoration: none;
	background: linear-gradient(to right, var(--mytheme-gradient-start), var(--mytheme-gradient-end));
	border-radius: 999em;

	@media (768px <= width) {
		padding-block: 1.25em;
		font-size: 1.25rem;
	}

	@media (any-hover: hover) {
		transition: filter 0.3s ease;

		&:hover {
			filter: brightness(1.2);
		}
	}
}

:where(.entry-content, .editor-styles-wrapper)
	:is(.is-style-fill, .wp-block-button:not(.is-style-outline, .is-style-download))
	.wp-block-button__link::before {
	position: absolute;
	top: 50%;
	right: 1em;
	width: 1.5rem;
	height: 1.5rem;
	content: "";
	background-color: #fff;
	border-radius: 50%;
	translate: 0 -50%;
}

:where(.entry-content, .editor-styles-wrapper)
	:is(.is-style-fill, .wp-block-button:not(.is-style-outline, .is-style-download))
	.wp-block-button__link::after {
	position: absolute;
	top: 50%;
	right: 1em;
	display: block;
	width: 1.5rem;
	height: 1.5rem;
	content: "";
	background-color: var(--mytheme-color-primary);
	mask: url("../img/common/icon_arrow.svg") 58% center/auto 12px no-repeat;
	translate: 0 -50%;
}

/* block : button : outline, download
--------------------------------------------------------- */
:where(.entry-content, .editor-styles-wrapper) :is(.is-style-outline, .is-style-download) .wp-block-button__link {
	position: relative;
	display: block;
	padding-block: 1em;
	padding-inline: 1.5em 3em;
	font-size: 1rem;
	font-weight: 700;
	color: var(--text-color-default);
	text-align: center;
	text-decoration: none;
	background-color: #fff;
	border: 1px solid var(--mytheme-color-primary);
	border-radius: 999em;

	@media (768px <= width) {
		padding-block: 1.25em;
		font-size: 1.25rem;
	}

	@media (any-hover: hover) {
		transition:
			border-color 0.3s ease,
			color 0.3s ease;

		&:hover {
			color: var(--mytheme-color-accent);
			border-color: currentcolor;
		}

		:is(.is-style-outline, .is-style-download) &::before {
			transition: background-color 0.3s ease;
		}

		:is(.is-style-outline, .is-style-download) &:hover::before {
			background-color: var(--mytheme-color-accent);
		}
	}
}

/* outline */
:where(.entry-content, .editor-styles-wrapper) .is-style-outline .wp-block-button__link::before {
	position: absolute;
	top: 50%;
	right: 1em;
	width: 1.5rem;
	height: 1.5rem;
	content: "";
	background-color: var(--mytheme-color-primary);
	border-radius: 50%;
	translate: 0 -50%;
}

:where(.entry-content, .editor-styles-wrapper) .is-style-outline .wp-block-button__link::after {
	position: absolute;
	top: 50%;
	right: 1em;
	display: block;
	width: 1.5rem;
	height: 1.5rem;
	content: "";
	background-color: #fff;
	mask: url("../img/common/icon_arrow.svg") 58% center/auto 12px no-repeat;
	translate: 0 -50%;
}

/* download */
:where(.entry-content, .editor-styles-wrapper) .is-style-download .wp-block-button__link::before {
	position: absolute;
	top: 50%;
	right: 1em;
	width: 1.5rem;
	height: 1.5rem;
	content: "";
	background: var(--mytheme-color-primary);
	mask: url("../img/common/icon_download.svg") center/contain no-repeat;
	translate: 0 -50%;
}

/* previous */
:where(.entry-content, .editor-styles-wrapper) .is-style-outline-prev .wp-block-button__link {
	padding-inline: 3em 1.5em;
}

:where(.entry-content, .editor-styles-wrapper) .is-style-outline-prev .wp-block-button__link::before {
	right: auto;
	left: 1em;
}

:where(.entry-content, .editor-styles-wrapper) .is-style-outline-prev .wp-block-button__link::after {
	right: auto;
	left: 1em;
	rotate: 180deg;
}

/* block : image
--------------------------------------------------------- */
:where(.post-template-default, .entry-content) .single-content > .wp-block-image,
:where(.post-type-report.editor-styles-wrapper) .wp-block-post-content .wp-block-image,
:where(.post-type-post.editor-styles-wrapper) .single-content > .wp-block-image {
	margin-block: 2rem 0;
}

:where(.entry-content, .editor-styles-wrapper) .wp-block-image.aligncenter {
	margin-inline: auto;
}

:where(.report-template-default .entry-content) .single-content > .wp-block-image,
:where(.post-type-report.editor-styles-wrapper) .single-content > .wp-block-image {
	margin-block: clamp(2rem, 1.0458rem + 4.0712vw, 3rem);
}

:where(.single .entry-content) .wp-block-image .wp-element-caption,
:where(.post-type-post.editor-styles-wrapper) .wp-block-image .wp-element-caption,
:where(.post-type-report.editor-styles-wrapper) .wp-block-image .wp-element-caption {
	margin-block: 0.75em 0;
	font-size: 0.875rem;
	text-align: left;
}

/* block : embed
--------------------------------------------------------- */
:where(.entry-content, .editor-styles-wrapper) .wp-block-embed {
	margin-block: 2rem 0;
}

:where(.entry-content, .editor-styles-wrapper) :is(.wp-embed-aspect-16-9) .wp-block-embed__wrapper {
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

:where(.entry-content, .editor-styles-wrapper) :is(.wp-embed-aspect-4-3) .wp-block-embed__wrapper {
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

:where(.entry-content, .editor-styles-wrapper) .wp-block-embed iframe {
	width: 100%;
	height: 100%;
}

/* pattern : report : comment
--------------------------------------------------------- */
:where(.entry-content) .report-comment-wrap + .report-comment-wrap {
	margin-block-start: 1.5em;
}

:where(.entry-content) .report-comment-name,
:where(.editor-styles-wrapper) .report-comment-name {
	font-weight: 700;
}

:where(.entry-content) .report-comment-name {
	display: inline-block;
	padding-inline-end: 1em;
	font-weight: 700;
}

:where(.entry-content) .report-comment-text {
	display: inline;
}

:where(.entry-content) .report-comment-text + .report-comment-text,
:where(.editor-styles-wrapper) .report-comment-text + .report-comment-text {
	display: block;
}

:is(.editor-styles-wrapper) .report-comment-name + .report-comment-text {
	margin-block-start: 0;
}

/* block : accordion
--------------------------------------------------------- */
:where(.entry-content, .editor-styles-wrapper) .wp-block-accordion + .wp-block-accordion {
	margin-block-start: 1em;
}

:where(.entry-content, .editor-styles-wrapper) .wp-block-accordion-item > .wp-block-accordion-heading {
	margin-block-end: 0;

	&::before {
		display: none;
	}
}

:where(.entry-content) .wp-block-accordion-heading__toggle {
	.is-open & {
		background-color: var(--mytheme-color-tertiary);
	}

	@media (any-hover: hover) {
		transition: background-color 0.3s ease;

		&:hover {
			background-color: var(--mytheme-color-tertiary);
		}
	}
}

:where(.entry-content, .editor-styles-wrapper) .wp-block-accordion-heading__toggle {
	column-gap: 0.5em;
	padding: 0.5em;
	background-color: var(--color-neutral-50);
	border-radius: 2em;

	@media (768px <= width) {
		padding: 0.875em;
		border-radius: 999em;
	}
}

:where(.entry-content, .editor-styles-wrapper) .wp-block-accordion-heading__toggle-title {
	display: grid;
	grid-template-columns: auto 1fr;
	column-gap: 0.5em;
	align-items: center;
	font-size: 1rem;
	font-weight: 400;

	@media (768px <= width) {
		column-gap: 0.75em;
	}

	&::before {
		display: grid;
		place-items: center;
		width: 2.5rem;
		height: 2.5rem;
		padding-block-end: 0.15em;
		padding-inline-start: 0.2em;
		font-size: 1.5rem;
		font-weight: 700;
		line-height: 1;
		color: var(--mytheme-color-primary);
		content: "Q.";
		background-color: #fff;
		border-radius: 50%;
	}

	.wp-block-accordion-heading__toggle:hover & {
		text-decoration: none;
	}
}

:is(.entry-content) .wp-block-accordion-item > .wp-block-accordion-heading .wp-block-accordion-heading__toggle-icon {
	.wp-block-accordion-item.is-open &::before {
		rotate: 270deg;
	}
}

:is(.entry-content, .editor-styles-wrapper) .wp-block-accordion-item > .wp-block-accordion-heading .wp-block-accordion-heading__toggle-icon {
	position: relative;
	display: block;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
	background-color: #fff;
	border-radius: 50%;
	transform: none;
	transition: none;

	&::before {
		position: absolute;
		inset: 0;
		width: 0.625em;
		height: 0.625em;
		margin: auto;
		content: "";
		background-color: var(--mytheme-color-primary);
		mask: url("../img/common/icon_arrow.svg") center/contain no-repeat;
		rotate: 90deg;
		transition: rotate 0.3s ease;
	}
}

:where(.entry-content, .editor-styles-wrapper) .wp-block-accordion .wp-block-accordion-panel {
	position: relative;
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows 0.3s ease;

	.wp-block-accordion-item.is-open & {
		grid-template-rows: 1fr;
	}
}

:where(.entry-content) .wp-block-accordion-panel > .wp-block-group {
	overflow: hidden;
}

:where(.entry-content, .editor-styles-wrapper) .wp-block-accordion-panel > .wp-block-group > .wp-block-group {
	padding-block: 1em;
	padding-inline: 3.5em 1em;

	@media (768px <= width) {
		padding-inline: 4.25em 1em;
	}

	&::before {
		position: absolute;
		top: 0.5em;
		left: 0.3em;
		display: grid;
		place-items: center;
		width: 2.5rem;
		height: 2.5rem;
		padding-block-end: 0.2em;
		padding-inline-start: 0.25em;
		font-size: 1.5rem;
		font-weight: 700;
		line-height: 1;
		color: #fff;
		content: "A.";
		background-color: var(--mytheme-color-accent);
		border-radius: 50%;

		@media (768px <= width) {
			left: 0.7em;
		}
	}

	.wp-block-image {
		margin-block-start: 1em;
	}

	& * + p {
		margin-block-start: 1em;
	}
}

/* block : separator
--------------------------------------------------------- */
:where(.entry-content, .editor-styles-wrapper) .wp-block-separator {
	margin-block: 2rem 2.5rem;
	border-block-start: 1px dashed #999;

	@media (768px <= width) {
		margin-block: 3rem 3.5rem;
	}
}

/* ---------------------------------------------------------

	07. home

--------------------------------------------------------- */
.page-template-front-page.layout-body {
	background: url("../img/common/bg_fixed.avif") center top/cover fixed no-repeat;
}

.page-template-front-page .entry-content {
	margin-block-start: 0;
}

.page-template-front-page .sponsor-wrapper {
	padding-block-start: 0;
	background-color: transparent;
}

.page-template-front-page .sponsor-inner {
	border: 1px solid var(--color-neutral-100);
}

/* home : mv
--------------------------------------------------------- */
.home-mv {
	background-color: var(--mytheme-color-secondary);
}

.home-mv > figure {
	max-width: 90rem;
	margin-inline: auto;
}

/*	home : section title
--------------------------------------------------------- */
.home-section-title {
	display: grid;
	row-gap: 0.25em;
	justify-items: center;
	margin-block-end: 2em;
	font-size: 0.875rem;
	font-weight: 700;

	@media (768px <= width) {
		row-gap: 0.125em;
		margin-block-end: 2.5em;
	}
}

.home-section-title-en {
	display: grid;
	grid-template-columns: repeat(3, auto);
	column-gap: 0.5em;
	align-items: center;
	font-size: 0.875rem;
	color: var(--mytheme-color-primary);
	text-transform: uppercase;

	@media (768px <= width) {
		column-gap: 0.75em;
	}

	& > * {
		margin-block: 0;
	}

	&::before,
	&::after {
		position: relative;
		top: -0.1em;
	}

	&::before {
		content: "\003C--";
	}

	&::after {
		content: "--\003E";
	}
}

.home-section-title-jp {
	padding-block: 0;
	margin-block: 0 !important;
	font-size: 2rem;
	font-weight: 700;

	@media (768px <= width) {
		font-size: 2.5rem;
	}

	&::before {
		display: none;
	}
}

/* home : archives
--------------------------------------------------------- */
:where(.entry-content, .editor-styles-wrapper) .home-archives-wrap {
	padding-block: 1.5em;
	background-color: var(--color-neutral-50);

	--layout-content-width: 68.75rem;
}

:where(.entry-content, .editor-styles-wrapper) .home-archives-inner {
	display: grid;
	grid-template:
		"title link"
		"item item" / auto auto;
	row-gap: 0.75em;

	@media (768px <= width) {
		grid-template: "title item link" / auto 1fr auto;
		column-gap: 1.5em;
		align-items: center;
		justify-content: space-between;
	}

	@media (1024px <= width) {
		column-gap: 2em;
	}
}

:where(.entry-content, .editor-styles-wrapper) .home-archives-title {
	grid-area: title;
	justify-self: start;
	padding-block: 0;
	margin-block: 0;
	font-size: 1.125rem;
	font-weight: 700;
	color: var(--mytheme-color-primary);

	@media (768px <= width) {
		font-size: 1.25rem;
	}

	&::before {
		display: none;
	}
}

:where(.entry-content, .editor-styles-wrapper) .home-archives-item {
	grid-area: item;
	padding-block-start: 0.75em;

	@media (768px <= width) {
		padding-block: 0.25em;
	}

	li {
		display: flex;
		flex-direction: column-reverse;
		padding-block-start: 1em;
		line-height: 1.75;
		border-block-start: 2px dashed #999;

		@media (768px <= width) {
			display: grid;
			grid-template-columns: auto 1fr;
			column-gap: 1.5em;
			align-items: center;
			justify-content: start;
			padding-block-start: 0;
			padding-inline: 1.5em;
			border-block-start: none;
			border-inline: 2px dashed #999;
		}

		@media (1024px <= width) {
			column-gap: 2em;
			padding-inline: 2em;
		}
	}

	a {
		color: var(--color-text-default);
		text-decoration: none;

		@media (768px <= width) {
			order: 1;
			overflow: hidden;
			text-overflow: ellipsis;
			white-space: nowrap;
		}

		@media (any-hover: hover) {
			transition: color 0.3s ease;

			&:hover {
				color: var(--mytheme-color-accent);
			}
		}
	}

	time {
		font-size: 1rem;

		@media (768px <= width) {
			order: 0;
		}
	}
}

:where(.entry-content, .editor-styles-wrapper) .home-archives-link {
	grid-area: link;
	justify-self: end;
	margin-block-start: 0;

	a {
		font-size: 0.875rem;
		color: var(--mytheme-color-secondary);

		@media (any-hover: hover) {
			transition: color 0.3s ease;

			&:hover {
				color: var(--mytheme-color-accent);
			}
		}
	}
}

/* home : message
--------------------------------------------------------- */
:where(.entry-content, .editor-styles-wrapper) .home-message-wrap {
	padding-block: 1.5em;
	overflow: clip;
	background: linear-gradient(
		to bottom,
		color-mix(in srgb, var(--mytheme-gradient-end) 80%, transparent),
		color-mix(in srgb, var(--mytheme-gradient-start) 80%, transparent) 50%,
		color-mix(in srgb, var(--mytheme-gradient-start) 0%, transparent) 100%
	);
}

:where(.entry-content, .editor-styles-wrapper) .home-message-title {
	position: relative;
	left: 0.4em;
	padding-block: 0;
	margin-block: 0;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.4;
	color: #fff;
	text-align: center;

	&::before {
		position: absolute;
		top: -4em;
		left: 50%;
		display: block;
		width: 16.625rem;
		height: 16.625rem;
		content: "";
		background: url("../img/common/footer_background.svg") center/ contain no-repeat;
		rotate: 20deg;
		translate: -50% 0;

		@media (768px <= width) {
			top: -3em;
			right: 50%;
			left: auto;
			width: 25.6875rem;
			height: 25.6875rem;
			translate: 10em 0;
		}

		@media (1024px <= width) {
			top: -2.5em;
			translate: 8.25em 0;
		}
	}

	@media (768px <= width) {
		font-size: 3.5rem;
	}

	@media (1024px <= width) {
		font-size: 4.5rem;
	}
}

:where(.entry-content, .editor-styles-wrapper) .home-message-subtitle {
	width: fit-content;
	padding-block: 0.5em;
	padding-inline: 0.5em;
	margin-block-start: 1.5em;
	margin-inline: auto;
	font-size: 1.125rem;
	font-weight: 700;
	color: #fff;
	text-align: center;
	border-block: 1px solid #fff;

	&::before {
		display: none;
	}

	@media (768px <= width) {
		padding-inline: 1.5em;
		font-size: 1.5rem;
	}

	@media (1024px <= width) {
		font-size: 1.75rem;
	}
}

:where(.entry-content, .editor-styles-wrapper) .home-message-lead {
	margin-block-start: 2em;
	font-weight: 700;
	color: #fff;
	text-align: center;

	@media (768px <= width) {
		margin-block-start: 2.25em;
		font-size: 1.125rem;
	}

	@media (1024px <= width) {
		font-size: 1.25rem;
	}
}

:where(.entry-content, .editor-styles-wrapper) .home-message-list {
	display: flex;
	flex-direction: column;
	row-gap: 1em;
	margin-block-start: 2.5rem;

	@media (768px <= width) {
		flex-flow: row wrap;
		gap: 1rem;
		justify-content: center;
		margin-block-start: 3em;
	}

	@media (1024px <= width) {
		row-gap: 2rem;
	}
}

:where(.entry-content, .editor-styles-wrapper) .home-message-list-item {
	display: grid;
	grid-template-columns: auto 1fr;
	column-gap: 1em;
	align-items: center;
	justify-content: start;
	padding: 1em 1.5em;
	color: var(--color-text-default);
	text-align: left;
	background-color: #fff;
	border: 1px solid var(--color-neutral-100);

	@media (768px <= width) {
		width: calc((100% - 2rem) / 2);
	}

	@media (1024px <= width) {
		grid-template: repeat(2, auto) / 1fr;
		row-gap: 1em;
		justify-items: center;
		width: calc((100% - 4rem) / 3);
		padding: 1.5em;
		text-align: center;
	}
}

:where(.entry-content) .home-message-list-item {
	position: relative;

	&::before,
	&::after {
		position: absolute;
		top: 0.5rem;
		display: block;
		width: 0.375rem;
		height: 0.375rem;
		content: "";
		background-color: var(--mytheme-color-accent);
	}

	&::before {
		left: 0.5rem;
	}

	&::after {
		right: 0.5rem;
	}

	@media (1024px <= width) {
		&::before,
		&::after {
			top: 0.625rem;
			width: 0.625rem;
			height: 0.625rem;
		}

		&::before {
			left: 0.625rem;
		}

		&::after {
			right: 0.625rem;
		}
	}
}

:where(.entry-content, .editor-styles-wrapper) .home-message-list-icon {
	display: grid;
	place-content: center;
	width: 4rem;
	height: 4rem;
	padding: 0.5rem;
	background-color: var(--color-neutral-50);
	border: 4px solid #f9f9f9;
	border-radius: 50%;

	@media (1024px <= width) {
		width: 9.375rem;
		height: 9.375rem;
		padding: 1.75rem;
		border-width: 5px;
	}
}

:where(.entry-content, .editor-styles-wrapper) .home-message-list-text {
	margin-block-start: 0;
	font-size: 0.935rem;
}

:where(.entry-content) .home-message-list-text {
	&::before,
	&::after {
		position: absolute;
		bottom: 0.5rem;
		display: block;
		width: 0.375rem;
		height: 0.375rem;
		content: "";
		background-color: var(--mytheme-color-accent);
	}

	&::before {
		left: 0.5rem;
	}

	&::after {
		right: 0.5rem;
	}

	@media (1024px <= width) {
		&::before,
		&::after {
			bottom: 0.625rem;
			width: 0.625rem;
			height: 0.625rem;
		}

		&::before {
			left: 0.625rem;
		}

		&::after {
			right: 0.625rem;
		}
	}
}

/* home : about
--------------------------------------------------------- */
:where(.entry-content, .editor-styles-wrapper) .home-about-box {
	position: relative;
	max-width: 56.25rem;
	padding: 3rem 1rem;
	margin-inline: auto;
	background-color: #fff;
	border: 1px solid var(--color-neutral-100);

	@media (768px <= width) {
		padding: 4rem;
	}
}

:where(.entry-content) .home-about-box {
	&::before,
	&::after {
		position: absolute;
		top: 0.375rem;
		display: block;
		width: 0.375rem;
		height: 0.375rem;
		content: "";
		background-color: var(--mytheme-color-accent);

		@media (768px <= width) {
			top: 0.625rem;
			width: 0.625rem;
			height: 0.625rem;
		}
	}

	&::before {
		left: 0.375rem;

		@media (768px <= width) {
			left: 0.625rem;
		}
	}

	&::after {
		right: 0.375rem;

		@media (768px <= width) {
			right: 0.625rem;
		}
	}
}

:where(.entry-content) .home-about-box .home-section-title {
	&::before,
	&::after {
		position: absolute;
		bottom: 0.375rem;
		display: block;
		width: 0.375rem;
		height: 0.375rem;
		content: "";
		background-color: var(--mytheme-color-accent);

		@media (768px <= width) {
			bottom: 0.625rem;
			width: 0.625rem;
			height: 0.625rem;
		}
	}

	&::before {
		left: 0.375rem;

		@media (768px <= width) {
			left: 0.625rem;
		}
	}

	&::after {
		right: 0.375rem;

		@media (768px <= width) {
			right: 0.625rem;
		}
	}
}

:where(.entry-content) .home-about-box .home-section-title-jp {
	position: relative;

	@media (width < 768px) {
		&::before,
		&::after {
			position: absolute;
			bottom: 0;
			display: block;
			width: 2rem;
			height: 6rem;
			content: "";
			background: center/contain no-repeat;
		}

		&::before {
			left: -4rem;
			background-image: url("../img/home/deco_about01.svg");
		}

		&::after {
			right: -4rem;
			background-image: url("../img/home/deco_about02.svg");
		}
	}
}

:where(.entry-content, .editor-styles-wrapper) .home-about-box .about-session-box {
	@media (width < 768px) {
		&::before,
		&::after {
			display: none;
		}
	}
}

/* home : event : heading
--------------------------------------------------------- */
:where(.entry-content, .editor-styles-wrapper) .home-event-wrap {
	position: relative;
	padding-block: 5rem 9rem;
	overflow: clip;

	@media (768px <= width) {
		padding-block: 7rem 9rem;
	}

	@media (1024px <= width) {
		padding-block: 8rem 6rem;
	}

	> .layout-frame {
		--layout-content-width: 68.75rem;
	}
}

:where(.entry-content) .home-event-wrap {
	&::before {
		position: absolute;
		top: 0;
		left: 50%;
		z-index: -3;
		width: 52.5rem;
		height: 200%;
		content: "";
		background: url("../img/home/bg_event.avif") center top/cover no-repeat;
		border-radius: 50% 50% 0 0 / 25rem 25rem 0 0;
		translate: -50% 0;

		@media (768px <= width) {
			width: 97.5rem;
			border-radius: 50% 50% 0 0 / 31rem 31rem 0 0;
		}

		@media (1400px <= width) {
			width: 195rem;
			border-radius: 50% 50% 0 0 / 93.75rem 93.75rem 0 0;
		}
	}

	&::after {
		position: absolute;
		bottom: 0;
		left: 50%;
		z-index: -2;
		display: block;
		width: 100%;
		height: 100%;
		content: "";
		background: url("../img/home/deco_event03_sp.svg") center bottom/48.125rem auto no-repeat;
		translate: -50% 0;

		@media (1024px <= width) {
			background: url("../img/home/deco_event03_pc.svg") center bottom/87.5rem auto no-repeat;
		}
	}
}

:where(.editor-styles-wrapper) .home-event-wrap {
	background-color: #7bc4ed;
}

:where(.entry-content) .home-event-wrap .home-event-buttons {
	&::after {
		position: absolute;
		bottom: -1px;
		left: 50%;
		z-index: -1;
		display: block;
		width: 100%;
		height: 100%;
		content: "";
		background-color: var(--mytheme-color-tertiary);
		mask: url("../img/home/deco_event04_sp.svg") center bottom/48.125rem auto no-repeat;
		translate: -50% 0;

		@media (1024px <= width) {
			mask: url("../img/home/deco_event04_pc.svg") center bottom/87.5rem auto no-repeat;
		}
	}
}

:where(.entry-content) .home-event-heading {
	position: relative;

	&::before {
		position: absolute;
		top: -4rem;
		left: 50%;
		width: 9.8125rem;
		height: 7.5rem;
		content: "";
		background: url("../img/home/deco_event01_sp.svg") center/contain no-repeat;
		translate: calc(-1 * (100% + 5rem)) 0;

		@media (768px <= width) {
			top: -1rem;
			width: 19rem;
			height: 5.8rem;
			background-image: url("../img/event/deco_cloud.svg");
			translate: calc(-1 * (100% + 9rem)) 0;
		}

		@media (1400px <= width) {
			translate: calc(-1 * (100% + 12rem)) 0;
		}
	}

	&::after {
		position: absolute;
		top: -4.5rem;
		right: 50%;
		width: 10rem;
		height: 7.9375rem;
		content: "";
		background-image: url("../img/home/deco_event02_sp.svg");
		translate: calc(100% + 5rem) 0;

		@media (768px <= width) {
			top: -1rem;
			width: 19rem;
			height: 5.8rem;
			background-image: url("../img/event/deco_cloud.svg");
			scale: -1 1;
			translate: calc(100% + 9rem) 0;
		}

		@media (1400px <= width) {
			translate: calc(100% + 12rem) 0;
		}
	}
}

:where(.entry-content, .editor-styles-wrapper) .home-event-title {
	height: 11rem;
	margin-block: 0;
	overflow: hidden;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1;
	text-indent: 100%;
	white-space: nowrap !important;
	background-image: url("../img/event/title_camp_sp.svg"), url("../img/event/icon_camp.svg");
	background-repeat: no-repeat, no-repeat;
	background-position:
		center bottom,
		center top;
	background-size:
		auto 6.5rem,
		7.5rem 3rem;

	@media (768px <= width) {
		height: 12rem;
		background-image: url("../img/event/title_camp_pc.svg"), url("../img/event/icon_camp.svg");
		background-size:
			auto 4.5rem,
			11.25rem 4.5rem;
	}

	@media (1024px <= width) {
		height: 13.5rem;
		background-size:
			auto 6rem,
			11.25rem 4.5rem;
	}

	&::before {
		display: none;
	}
}

:where(.entry-content, .editor-styles-wrapper) .home-event-subtitle {
	margin-block-start: 2em;
	font-size: 1rem;
	font-weight: 700;
	color: #fff;
	text-shadow: 0 0 0.75em rgb(4 0 130 / 10%);

	&::before {
		display: none;
	}

	@media (768px <= width) {
		margin-block-end: 0.125em;
		font-size: 1.5rem;
		text-align: center;
	}

	@media (1024px <= width) {
		margin-block-start: 1.5em;
		font-size: 2rem;
	}
}

:where(.entry-content, .editor-styles-wrapper) .home-event-lead {
	margin-block-start: 1.5em;
	font-size: 0.9375rem;
	font-weight: 700;
	color: #fff;
	text-shadow: 0 0 0.75em rgb(4 0 130 / 10%);

	@media (768px <= width) {
		font-size: 1rem;
		text-align: center;
	}
}

:where(.entry-content) .home-event-lead {
	position: relative;

	@media (768px <= width) {
		&::before,
		&::after {
			position: absolute;
			top: -4.25em;
			width: 5.5em;
			height: 5.5em;
			content: "";
			background: center/contain no-repeat;
		}

		&::before {
			left: 50%;
			background-image: url("../img/event/deco_student_w.svg");
			translate: calc(-1 * (100% + 18em)) 1rem;
		}

		&::after {
			right: 50%;
			background-image: url("../img/event/deco_student_m.svg");
			translate: calc(100% + 18em) 1rem;
		}
	}

	@media (1024px <= width) {
		&::before,
		&::after {
			top: 50%;
			width: 9.5em;
			height: 9.5em;
		}

		&::before {
			translate: -32rem -4.5rem;
		}

		&::after {
			translate: 32rem -4.5rem;
		}
	}
}

/* home : event : point
--------------------------------------------------------- */
:where(.entry-content, .editor-styles-wrapper) .home-event-point-list {
	position: relative;
	display: grid;
	row-gap: 1.25em;
	margin-block-start: 2rem;

	@media (768px <= width) {
		grid-template-columns: repeat(2, 1fr);
		gap: 1.5em;
		margin-block-start: 3rem;
	}

	@media (1024px <= width) {
		margin-block: 5rem 4rem;
	}
}

:where(.entry-content, .editor-styles-wrapper) .home-event-point-list-item {
	position: relative;
	display: grid;
	grid-template-columns: 5rem 1fr;
	gap: 0.75em 1em;
	align-items: center;
	padding: 1em;
	background-color: #fff;
	border: 1px solid var(--color-neutral-100);

	@media (1024px <= width) {
		grid-template-columns: 11.25rem 1fr;
		padding: 1.5em;
	}
}

:where(.entry-content) .home-event-point-list-item {
	&::before,
	&::after {
		position: absolute;
		top: 0.375em;
		display: block;
		width: 0.375em;
		height: 0.375em;
		content: "";
		background-color: var(--mytheme-color-accent);
	}

	&::before {
		left: 0.375em;
	}

	&::after {
		right: 0.375em;
	}

	@media (1024px <= width) {
		&::before,
		&::after {
			top: 0.625em;
		}

		&::before {
			left: 0.625em;
		}

		&::after {
			right: 0.625em;
		}
	}
}

:where(.entry-content, .editor-styles-wrapper) .home-event-point-list-image {
	aspect-ratio: 1 / 1;
	overflow: hidden;

	& img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	@media (1024px <= width) {
		aspect-ratio: auto;
	}
}

:where(.entry-content) .home-event-point-list-image {
	&::before,
	&::after {
		position: absolute;
		bottom: 0.375em;
		display: block;
		width: 0.375em;
		height: 0.375em;
		content: "";
		background-color: var(--mytheme-color-accent);
	}

	&::before {
		left: 0.375em;
	}

	&::after {
		right: 0.375em;
	}

	@media (1024px <= width) {
		&::before,
		&::after {
			bottom: 0.625em;
		}

		&::before {
			left: 0.625em;
		}

		&::after {
			right: 0.625em;
		}
	}
}

:where(.entry-content, .editor-styles-wrapper) .home-event-point-list-title {
	margin-block: 0;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.5;

	&::before {
		display: inline-block;
		width: 0.625em;
		height: 0.65em;
		margin-inline-end: 0.25em;
		content: "";
		background-color: var(--mytheme-color-accent);
		mask: url("../img/common/icon_star.svg") center/contain no-repeat;
	}

	@media (768px <= width) {
		font-size: 1.25rem;
	}
}

:where(.entry-content, .editor-styles-wrapper) .home-event-point-list-text {
	margin-block-start: 0.5em;
	font-size: 0.875rem;
	line-height: 1.75;
}

/* home : schedule
--------------------------------------------------------- */
:where(.entry-content, .editor-styles-wrapper) .home-schedule-wrap {
	background-color: var(--mytheme-color-tertiary);

	& > .layout-frame {
		--layout-content-width: 68.75rem;
	}

	--color-schedule-step2: oklch(from var(--mytheme-color-primary) calc(l + (1 - l) * 0.43) calc(c * 0.52) calc(h - 42));
	--color-schedule-step3: oklch(from var(--mytheme-color-primary) calc(l + (1 - l) * 0.42) calc(c * 0.64) calc(h - 107));
	--color-schedule-step4: oklch(from var(--mytheme-color-primary) calc(l + (1 - l) * 0.46) calc(c * 0.86) calc(h - 130));
}

:where(.entry-content, .editor-styles-wrapper) .home-schedule-list {
	display: grid;
	row-gap: 2.5em;
	max-width: 30rem;
	margin-inline: auto;

	@media (1024px <= width) {
		grid-template-columns: repeat(4, 1fr);
		column-gap: 2em;
		max-width: none;
	}

	@media (1100px <= width) {
		column-gap: 2.5em;
	}
}

:where(.entry-content, .editor-styles-wrapper) .home-schedule-list-item {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: start;
	background-color: #fff;
	box-shadow: 0 0.5em 0.625em color-mix(in srgb, var(--mytheme-color-secondary) 15%, transparent);

	@media (1024px <= width) {
		display: block;
	}

	&:not(:last-child)::after {
		position: absolute;
		top: calc(100% + 0.75em);
		left: 50%;
		display: block;
		width: 2.75em;
		height: 1.0625em;
		content: "";
		background: linear-gradient(to bottom, transparent 0%, var(--mytheme-color-accent) 100%) center/contain no-repeat;
		clip-path: polygon(0 0, 100% 0, 50% 100%);
		translate: -50% 0;

		@media (1024px <= width) {
			top: 50%;
			left: calc(100% - 0.25em);
			rotate: -90deg;
			translate: 0 -50%;
		}

		@media (1100px <= width) {
			left: calc(100% - 0.875em);
			width: 4.375em;
			height: 1.5em;
		}
	}
}

:where(.entry-content, .editor-styles-wrapper) .home-schedule-list-number {
	display: grid;
	place-content: center;
	justify-items: center;
	height: 100%;
	aspect-ratio: 1 / 1;
	font-weight: 700;
	color: #fff;
	text-transform: uppercase;
	letter-spacing: 0.0625em;
	background-color: var(--mytheme-color-primary);

	@media (1024px <= width) {
		grid-template-columns: repeat(2, auto);
		column-gap: 0.5em;
		align-items: center;
		height: auto;
		aspect-ratio: auto;
		padding-block: 0.75em;
		font-size: 1.125rem;
	}

	&::after {
		display: block;
		width: 2.5em;
		height: 2.5em;
		content: "";
		background: center/contain no-repeat;

		@media (1024px <= width) {
			width: 2.25em;
			height: 2.25em;
		}
	}

	.home-schedule-list-item:nth-child(1) &::after {
		background-image: url("../img/home/icon_schedule01.svg");
	}

	.home-schedule-list-item:nth-child(2) & {
		background-color: var(--color-schedule-step2);

		&::after {
			background-image: url("../img/home/icon_schedule02.svg");
		}
	}

	.home-schedule-list-item:nth-child(3) & {
		background-color: var(--color-schedule-step3);

		&::after {
			background-image: url("../img/home/icon_schedule03.svg");
		}
	}

	.home-schedule-list-item:nth-child(4) & {
		background-color: var(--color-schedule-step4);

		&::after {
			background-image: url("../img/home/icon_schedule04.svg");
		}
	}
}

:where(.entry-content, .editor-styles-wrapper) .home-schedule-list-inner {
	flex-basis: 100%;
	padding: 1em;
}

:where(.entry-content, .editor-styles-wrapper) .home-schedule-list-title {
	padding-inline-start: 0;
	margin-block: 0;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;

	@media (1024px <= width) {
		font-size: 1.125rem;
	}

	&::before {
		display: none;
	}
}

:where(.entry-content, .editor-styles-wrapper) .home-schedule-list-text {
	padding-block: 0.125em 0.25em;
	margin-block-start: 0.5em;
	font-size: 1rem;
	font-weight: 700;
	color: #fff;
	text-align: center;
	background-color: var(--mytheme-color-primary);

	.home-schedule-list-item:nth-child(2) & {
		background-color: var(--color-schedule-step2);
	}

	.home-schedule-list-item:nth-child(3) & {
		background-color: var(--color-schedule-step3);
	}

	.home-schedule-list-item:nth-child(4) & {
		background-color: var(--color-schedule-step4);
	}
}

/* home : x
--------------------------------------------------------- */
:where(.entry-content) .home-x-wrap {
	display: none;
	padding-block-start: 8rem;

	&:has(.swiper-initialized) {
		display: block;
	}
}

:where(.entry-content) .home-x-wrap .layout-frame {
	padding-inline: 0;

	@media (768px <= width) {
		padding-inline: calc(var(--layout-padding-inline) + 1rem);
	}

	@media (1100px <= width) {
		padding-inline: var(--layout-padding-inline);
	}
}

:where(.entry-content) .home-x-heading {
	position: relative;

	&::before,
	&::after {
		position: absolute;
		top: -5rem;
		z-index: -1;
		display: block;
		width: 3.6875rem;
		height: 6.375rem;
		content: "";
		background: center/ contain no-repeat;
	}

	&::before {
		right: 50%;
		background-image: url("../img/home/deco_x01.svg");
		translate: -0.75rem 0;
	}

	&::after {
		left: 50%;
		background-image: url("../img/home/deco_x02.svg");
		translate: 0.75rem 0;
	}

	@media (768px <= width) {
		&::before,
		&::after {
			top: -3.5rem;
			width: 4.5rem;
			height: 7.75rem;
		}

		&::before {
			translate: -10rem 0;
		}

		&::after {
			translate: 10rem 0;
		}
	}
}

:where(.entry-content, .editor-styles-wrapper) .home-x-title {
	position: relative;
	width: fit-content;
	padding: 0.5em 1em 0.5em 1.5em;
	margin-block-end: 1em;
	margin-inline: auto;
	font-size: 1.5rem;
	font-weight: 700;
	color: #fff;
	white-space: nowrap;
	background-color: var(--mytheme-color-primary);
	border-radius: 999em;

	&::before {
		position: absolute;
		top: 100%;
		left: 50%;
		display: block;
		width: 1em;
		height: 0.5em;
		content: "";
		background-color: var(--mytheme-color-primary);
		clip-path: polygon(0 0, 100% 0, 50% 100%);
		translate: -50% 0;
	}
}

:where(.entry-content) .home-x-carousel-wrap {
	position: relative;
	overflow: visible;

	@media (width < 768px) {
		--home-x-carousel-peek: 3rem;
		--home-x-carousel-gap: 1rem;
	}
}

:where(.entry-content) .home-x-carousel {
	padding-block: 0.5rem;
	overflow: hidden;
}

:where(.entry-content) .home-x-carousel .wp-block-embed {
	margin-block: 0;
}

:where(.entry-content) .home-x-carousel .swiper-slide {
	box-sizing: border-box;
	height: auto;

	@media (width < 768px) {
		width: calc(100% - var(--home-x-carousel-peek) * 2);
	}
}

:where(.entry-content) .home-x-carousel .wp-block-embed__wrapper {
	display: flex;
	justify-content: center;
}

:where(.entry-content) .home-x-carousel .wp-block-embed iframe {
	width: 100%;
	max-width: 550px;
}

:where(.entry-content) .home-x-carousel-wrap .home-x-carousel-nav {
	top: 15em;
	z-index: 2;
	width: 3rem;
	height: 3rem;
	margin-top: 0;
	color: #fff;
	background: linear-gradient(to right, var(--mytheme-gradient-start) 0%, var(--mytheme-gradient-end) 100%);
	border: 3px solid var(--mytheme-color-tertiary);
	border-radius: 50%;
	transform: none;

	svg {
		position: relative;
		width: 1rem;
		height: 1rem;
	}

	@media (1100px <= width) {
		width: 4.5rem;
		height: 4.5rem;

		svg {
			width: 1.25rem;
			height: 1.25rem;
		}
	}
}

:where(.entry-content) .home-x-carousel-wrap .swiper-button-prev {
	right: auto;
	left: calc(-3rem * 2 / 3);

	svg {
		left: -0.125rem;
	}

	@media (width < 768px) {
		left: calc(var(--home-x-carousel-peek) - 3rem * 2 / 3);
	}

	@media (1100px <= width) {
		left: calc(-5.5rem * 2 / 3);
	}

	@media (1200px <= width) {
		left: calc(-9rem * 2 / 3);
	}

	@media (any-hover: hover) {
		transition: filter 0.3s ease;

		&:hover {
			filter: brightness(1.2);
		}
	}
}

:where(.entry-content) .home-x-carousel-wrap .swiper-button-next {
	right: calc(-3rem * 2 / 3);
	left: auto;

	svg {
		right: -0.125rem;
	}

	@media (width < 768px) {
		right: calc(var(--home-x-carousel-peek) - 3rem * 2 / 3);
	}

	@media (1100px <= width) {
		right: calc(-5.5rem * 2 / 3);
	}

	@media (1200px <= width) {
		right: calc(-9rem * 2 / 3);
	}

	@media (any-hover: hover) {
		transition: filter 0.3s ease;

		&:hover {
			filter: brightness(1.2);
		}
	}
}

:where(.editor-styles-wrapper) .home-x-wrap {
	padding-block: 3rem;
}

:where(.editor-styles-wrapper) .home-x-carousel-wrap:not(:has(.home-x-carousel)) {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
	gap: 1rem;
}

/* home : appeal
--------------------------------------------------------- */
:where(.entry-content) .home-appeal-wrap {
	position: relative;
	aspect-ratio: 375 / 540;
	overflow: hidden;

	@media (768px <= width) {
		max-width: 87.5rem;
		aspect-ratio: 1400 / 725;
		margin-inline: auto;
	}
}

:where(.entry-content) .home-appeal-item {
	position: absolute;
	left: 50%;
	opacity: 0;
	transform: translateY(40px);
	perspective: 8000px;
	transition:
		opacity 0.6s ease,
		transform 0.7s cubic-bezier(0.34, 1.56, 0.64, 1);
	will-change: transform, opacity;
}

:where(.entry-content) .home-appeal-item.is-visible {
	opacity: 1;
	transform: translateY(0);
}

:where(.entry-content) .home-appeal-item.is-floating {
	animation-name: cloud-float;
	animation-duration: 3.2s;
	animation-timing-function: cubic-bezier(0.42, 0, 0.58, 1);
	animation-iteration-count: infinite;
}

@keyframes cloud-float {
	0%,
	100% {
		transform: translateY(0) scale(1);
	}

	50% {
		transform: translateY(-0.75rem) scale(1.02);
	}
}

:where(.entry-content) .home-appeal-item figure {
	position: absolute;
	inset: 0;
	aspect-ratio: 8 / 5;
	margin: 0;
	overflow: hidden;
	object-fit: cover;
	backface-visibility: hidden;
	animation-play-state: paused;
}

:where(.entry-content) .home-appeal-image-front {
	transform: rotateY(0deg);

	.home-appeal-item.is-floating & {
		animation: flip-front-spin 10s ease-in-out infinite;
		animation-play-state: running;
		will-change: transform;
	}
}

:where(.entry-content) .home-appeal-image-back {
	transform: rotateY(180deg);

	.home-appeal-item.is-floating & {
		animation: flip-back-spin 10s ease-in-out infinite;
		animation-play-state: running;
		will-change: transform;
	}
}

@keyframes flip-front-spin {
	0%,
	40% {
		transform: rotateY(0deg);
	}

	50%,
	90% {
		transform: rotateY(180deg);
	}

	100% {
		transform: rotateY(360deg);
	}
}

@keyframes flip-back-spin {
	0%,
	40% {
		transform: rotateY(180deg);
	}

	50%,
	90% {
		transform: rotateY(360deg);
	}

	100% {
		transform: rotateY(540deg);
	}
}

:where(.entry-content) .home-appeal-item img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

:where(.entry-content) .home-appeal-item01 {
	top: 4vw;
	left: 50%;
	width: 80vw;
	translate: -50vw 0;

	&.is-floating .home-appeal-image-front,
	&.is-floating .home-appeal-image-back {
		animation-delay: -0.5s;
	}

	@media (768px <= width) {
		top: 6vw;
		width: 47vw;
		translate: -50vw 0;
	}

	@media (1400px <= width) {
		top: 5.2rem;
		width: 40.875rem;
		translate: -43.8rem 0;
	}
}

:where(.entry-content) .home-appeal-item02 {
	top: 66vw;
	width: 35vw;
	translate: -44vw 0;

	&.is-floating .home-appeal-image-front,
	&.is-floating .home-appeal-image-back {
		animation-delay: -2.3s;
	}

	@media (768px <= width) {
		top: 2vw;
		width: 23vw;
		translate: 4vw 0;
	}

	@media (1400px <= width) {
		top: 1.8rem;
		width: 20.125rem;
		translate: 3.5rem 0;
	}
}

:where(.entry-content) .home-appeal-item03 {
	top: 44vw;
	width: 38vw;
	translate: 7vw 0;

	&.is-floating .home-appeal-image-front,
	&.is-floating .home-appeal-image-back {
		animation-delay: -4.1s;
	}

	@media (768px <= width) {
		top: 8vw;
		width: 19.5vw;
		translate: 32vw 0;
	}

	@media (1400px <= width) {
		top: 7rem;
		width: 17rem;
		translate: 28rem 0;
	}
}

:where(.entry-content) .home-appeal-item04 {
	top: 108vw;
	width: 38vw;
	translate: -34vw 0;

	&.is-floating .home-appeal-image-front,
	&.is-floating .home-appeal-image-back {
		animation-delay: -1.7s;
	}

	@media (768px <= width) {
		top: 39vw;
		width: 18.5vw;
		translate: -37vw 0;
	}

	@media (1400px <= width) {
		top: 34.1rem;
		width: 16.25rem;
		translate: -32.4rem 0;
	}
}

:where(.entry-content) .home-appeal-item05 {
	top: 80vw;
	width: 54vw;
	translate: -3.5vw 0;

	&.is-floating .home-appeal-image-front,
	&.is-floating .home-appeal-image-back {
		animation-delay: -2.6s;
	}

	@media (768px <= width) {
		top: 25vw;
		width: 36.5vw;
		translate: 4vw 0;
	}

	@media (1400px <= width) {
		top: 21.8rem;
		width: 31.875rem;
		translate: 3.5rem 0;
	}
}

:where(.editor-styles-wrapper) .home-appeal-wrap {
	display: grid;
	row-gap: 2rem;
	padding-inline: 3rem;
}

:where(.editor-styles-wrapper) .home-appeal-item {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	column-gap: 2rem;
}

/* ---------------------------------------------------------

	08. about

--------------------------------------------------------- */
.page-slug-about .layout-main {
	padding-block-end: 0;
}

/* about : list
--------------------------------------------------------- */
:where(.entry-content, .editor-styles-wrapper) .about-list-wrap {
	display: grid;
	row-gap: 1em;

	@media (768px <= width) {
		row-gap: 1.75em;
	}
}

:where(.entry-content, .editor-styles-wrapper) .about-list-inner {
	row-gap: 0.5em;
	width: 100%;
	padding-block-end: 1em;
	margin-block-end: 0;
	background: repeating-linear-gradient(90deg, #ccc, #ccc 2px, transparent 2px, transparent 8px) left bottom/ auto 1px no-repeat;

	@media (768px <= width) {
		column-gap: 3em;
		padding-block-end: 2em;
	}
}

:is(.entry-content, .editor-styles-wrapper) .about-list-column {
	> * + * {
		margin-block-start: 1em;
	}

	@media (768px <= width) {
		&:first-child {
			flex-basis: 9em;
		}

		&:last-child {
			flex-basis: calc(100% - 9em);
		}
	}
}

:where(.entry-content, .editor-styles-wrapper) .about-list-title {
	font-weight: 700;

	&::before {
		display: inline-block;
		width: 0.75em;
		height: 0.75em;
		margin-inline-end: 0.25em;
		content: "";
		background-color: var(--mytheme-color-accent);
		mask: url("../img/common/icon_star.svg") center/contain no-repeat;
	}
}

/* about : session
--------------------------------------------------------- */
:where(.entry-content, .editor-styles-wrapper) .about-session-wrap {
	margin-block-start: 0;
}

:where(.entry-content, .editor-styles-wrapper) .about-session-box {
	position: relative;
	display: grid;
	place-content: center;
	max-width: 25rem;
	padding: 2em;
	background: var(--color-neutral-50) url("../img/about/bg_session.svg") center/ 1.5em auto repeat;

	&::before {
		position: absolute;
		bottom: -2em;
		left: -2.5em;
		display: block;
		width: 5.5em;
		height: 5em;
		content: "";
		background: url("../img/about/deco_session01.svg") center/ contain no-repeat;
	}

	&::after {
		position: absolute;
		right: -0.5em;
		bottom: -2em;
		display: block;
		width: 3.5em;
		height: 7em;
		content: "";
		background: url("../img/about/deco_session02.svg") center/ contain no-repeat;
	}

	@media (768px <= width) {
		max-width: 35.625rem;
		padding-block: 2.5em;
		background-size: 1.875em auto;

		&::before {
			bottom: -3.5em;
			left: -4.5em;
			width: 8.125em;
			height: 7.5em;
		}

		&::after {
			right: -2em;
			bottom: -3.5em;
			width: 5em;
			height: 10em;
		}

		.about-session-open & {
			grid-template-columns: repeat(2, auto);
			column-gap: 3em;
			align-items: center;
			justify-content: center;
		}

		.about-session-close & {
			display: block;
			padding-inline: 4.5em;
		}
	}
}

:where(.entry-content, .editor-styles-wrapper) .about-session-title {
	display: block;
	width: fit-content;
	padding-block: 0.25em 0.35em;
	margin-block-end: 0;
	font-size: 1.5rem;
	line-height: 1;

	&::before {
		display: none;
	}

	& strong {
		padding-inline: 0.25em;
		font-weight: 700;
		background-color: #fff;

		&:first-child {
			padding-inline-end: 0;
		}

		&:last-child {
			padding-inline-start: 0;
		}
	}

	@media (768px <= width) {
		font-size: 2rem;

		.about-session-open & {
			display: flex;
			flex-wrap: wrap;
			row-gap: 0.25em;
			justify-content: flex-start;
			height: 5em;
			text-align: left;
			writing-mode: vertical-rl;
		}

		& strong {
			.about-session-open & {
				padding-block: 0.25em;
			}

			.about-session-open &:first-child {
				padding-inline-end: 0.25em;
			}

			.about-session-open &:last-child {
				padding-inline-start: 0.25em;
			}
		}
	}
}

:where(.entry-content, .editor-styles-wrapper) .about-session-info {
	@media (768px <= width) {
		margin-block-start: 0;
	}
}

:where(.entry-content, .editor-styles-wrapper) .about-session-info tbody {
	display: grid;
	row-gap: 0.5em;
}

:where(.entry-content, .editor-styles-wrapper) .about-session-info tr {
	display: grid;
	grid-template-columns: 7em 1fr;
	gap: 0.25em;
	align-items: start;
}

:where(.entry-content, .editor-styles-wrapper) .about-session-info td {
	display: block;
	font-weight: 700;
	border: none;
}

:where(.entry-content, .editor-styles-wrapper) .about-session-info td:first-child {
	padding: 0.25em;
	font-size: 0.875rem;
	color: #fff;
	text-align: center;
	background-color: var(--mytheme-color-primary);
	border-radius: 999em;
}

:where(.entry-content, .editor-styles-wrapper) .about-session-info td:last-child {
	padding-block: 0;
	font-size: 1.125rem;
}

:where(.entry-content, .editor-styles-wrapper) .about-session-buttons {
	margin-block-start: 1.5em;

	@media (768px <= width) {
		margin-block-start: 2.5em;
	}
}

/* about : check
--------------------------------------------------------- */
:where(.entry-content, .editor-styles-wrapper) .about-check-wrap {
	background-color: var(--color-neutral-50);
}

:where(.entry-content, .editor-styles-wrapper) .about-check-title {
	display: grid;
	grid-template-columns: repeat(3, auto);
	column-gap: 0.75em;
	place-content: center;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1;

	&::before,
	&::after {
		display: block;
		width: 3px;
		height: 1.25em;
		content: "";
		background-color: var(--mytheme-color-primary);
	}

	&::before {
		rotate: -30deg;
	}

	&::after {
		rotate: 30deg;
		translate: -0.125em 0;
	}

	@media (768px <= width) {
		font-size: 2rem;
	}
}

:where(.entry-content, .editor-styles-wrapper) .about-check-buttons {
	max-width: 18rem;
	margin-block-end: 0;

	@media (768px <= width) {
		column-gap: 2em;
		align-items: stretch;
		max-width: none;
		margin-block-start: 3em;
	}
}

:where(.entry-content, .editor-styles-wrapper) .about-check-buttons .wp-block-button {
	flex-basis: 100%;

	@media (768px <= width) {
		flex-basis: calc((100% - 4em) / 3);
	}
}

:where(.entry-content, .editor-styles-wrapper) .about-check-buttons .wp-block-button .wp-block-button__link {
	padding-inline-start: 3.75em;
	text-align: left;
	background-repeat: no-repeat;
	background-position: 1em center;
	background-size: 2em auto;
	border-radius: 0.5em;

	@media (768px <= width) {
		padding-inline-start: 4.25em;
		background-size: 2.4em auto;
	}

	@media (any-hover: hover) {
		transition: opacity 0.3s ease;

		&:hover {
			opacity: 0.8;
			filter: none;
		}
	}
}

:where(.entry-content, .editor-styles-wrapper) .about-check-buttons .about-check-entry .wp-block-button__link {
	background-color: var(--mytheme-color-primary);
	background-image: url("../img/about/icon_entry.svg");
}

:where(.entry-content, .editor-styles-wrapper) .about-check-buttons .about-check-event .wp-block-button__link {
	background-color: var(--mytheme-color-accent);
	background-image: url("../img/about/icon_event.svg");

	@media (width < 768px) {
		br {
			display: none;
		}
	}
}

:where(.entry-content, .editor-styles-wrapper) .about-check-buttons .about-check-faq .wp-block-button__link {
	background-color: var(--color-primary-dark);
	background-image: url("../img/about/icon_faq.svg");
}

/* ---------------------------------------------------------

	09. entry

--------------------------------------------------------- */
.page-slug-entry .entry-content {
	margin-block-start: 1em;
}

/* entry : flow
--------------------------------------------------------- */
:where(.entry-content, .editor-styles-wrapper) .entry-flow-wrap {
	background-color: var(--color-neutral-50);
}

:where(.entry-content, .editor-styles-wrapper) .entry-flow-list {
	display: grid;
	row-gap: 2em;
}

:where(.entry-content, .editor-styles-wrapper) .entry-flow-item {
	display: grid;
	grid-template-columns: auto 1fr;
	column-gap: 0.5em;
	align-content: start;

	@media (768px <= width) {
		column-gap: 1.5em;
	}
}

:where(.entry-content, .editor-styles-wrapper) .entry-flow-step {
	position: relative;
}

:where(.entry-content, .editor-styles-wrapper) .entry-flow-number {
	place-content: center;
	width: 4.5em;
	height: 4.5em;
	font-size: 0.75rem;
	font-weight: 700;
	line-height: 1;
	color: #fff;
	text-align: center;
	text-transform: uppercase;
	background-color: var(--mytheme-color-primary);
	border: 4px solid var(--color-primary-dark);
	border-radius: 50%;

	& strong {
		display: block;
		font-size: 2em;
	}

	@media (768px <= width) {
		width: 5em;
		height: 5em;
		font-size: 0.935rem;
	}
}

:where(.entry-content) .entry-flow-number {
	&::before {
		position: absolute;
		top: 4.5em;
		left: 50%;
		width: 6px;
		height: calc(100% - 4.5em);
		content: "";
		background: linear-gradient(to bottom, var(--mytheme-color-primary), transparent);
		translate: -50% 0;
	}

	@media (768px <= width) {
		&::before {
			top: 5em;
			height: calc(100% - 5em);
		}
	}
}

:where(.entry-content, .editor-styles-wrapper) .entry-flow-box {
	width: 100%;
	padding: 1.5em;
	background-color: #fff;

	> * + * {
		margin-block-start: 0.5em;
	}

	@media (768px <= width) {
		padding: 2em;
	}
}

:where(.entry-content) .entry-flow-box {
	&::before,
	&::after {
		position: absolute;
		top: 0.5rem;
		display: block;
		width: 0.5rem;
		height: 0.5rem;
		content: "";
		background-color: var(--mytheme-color-accent);
	}

	&::before {
		left: 0.5rem;
	}

	&::after {
		right: 0.5rem;
	}

	@media (768px <= width) {
		&::before,
		&::after {
			width: 0.625rem;
			height: 0.625rem;
		}

		&::before {
			left: 0.625rem;
		}

		&::after {
			right: 0.625rem;
		}
	}
}

:where(.entry-content, .editor-styles-wrapper) .entry-flow-title {
	margin-block-end: 0.5em;
	font-size: 1.25em;
	font-weight: 700;
	line-height: 1.5;

	&::before {
		display: none;
	}

	@media (768px <= width) {
		font-size: 1.5rem;
	}
}

:where(.entry-content) .entry-flow-title {
	&::before,
	&::after {
		position: absolute;
		bottom: 0.5rem;
		display: block;
		width: 0.5rem;
		height: 0.5rem;
		content: "";
		background-color: var(--mytheme-color-accent);
		mask: none;
	}

	&::before {
		left: 0.5rem;
	}

	&::after {
		right: 0.5rem;
	}

	@media (768px <= width) {
		&::before,
		&::after {
			width: 0.625rem;
			height: 0.625rem;
		}

		&::before {
			left: 0.625rem;
		}

		&::after {
			right: 0.625rem;
		}
	}
}

:where(.entry-content, .editor-styles-wrapper) .entry-flow-table {
	margin-block-start: 1em;

	@media (768px <= width) {
		margin-block-start: 1.5em;
	}
}

:where(.entry-content, .editor-styles-wrapper) .entry-flow-table tbody {
	display: grid;
	row-gap: 1em;
}

:where(.entry-content, .editor-styles-wrapper) .entry-flow-table tr {
	display: grid;
	grid-template-columns: 3em auto auto;
	gap: 0.75em 0.5em;
	align-items: center;
	justify-content: start;
	padding-block-end: 1.5em;
	background: repeating-linear-gradient(90deg, #ccc, #ccc 2px, transparent 2px, transparent 8px) left bottom/ auto 1px no-repeat;

	@media (768px <= width) {
		column-gap: 0.75em;
		padding-block-end: 1.25em;
	}
}

:where(.entry-content, .editor-styles-wrapper) .entry-flow-table td {
	display: block;
	border: none;
}

:where(.entry-content, .editor-styles-wrapper) .entry-flow-table td:first-child {
	padding: 0.25em;
	font-size: 0.75rem;
	font-weight: 700;
	color: #fff;
	text-align: center;
	background-color: #999;
	border-radius: 999em;

	&:has(strong) {
		background-color: var(--mytheme-color-accent);
	}

	@media (768px <= width) {
		font-size: 0.875em;
	}
}

:where(.entry-content, .editor-styles-wrapper) .entry-flow-table td:nth-child(2) {
	padding: 0;
	font-weight: 700;
}

:where(.entry-content, .editor-styles-wrapper) .entry-flow-table td:nth-child(3) {
	grid-column: span 2;
	padding: 0;

	@media (768px <= width) {
		display: grid;
		grid-template-columns: auto 1fr;
		grid-column: initial;
		column-gap: 0.75em;

		&::before {
			content: "…";
		}
	}
}

:where(.entry-content, .editor-styles-wrapper) .entry-flow-box .wp-block-buttons {
	gap: 1em;
	margin-block: 1em 0;

	& .is-style-download .wp-block-button__link {
		padding-block: 0.5em;
		font-size: 0.875rem;
	}

	@media (768px <= width) {
		margin-block-start: 1.5em;

		& .is-style-download .wp-block-button__link {
			padding-block: 1em;
			font-size: 1rem;
		}
	}
}

/* ---------------------------------------------------------

	10. event

--------------------------------------------------------- */
.page-slug-event .layout-main {
	padding-block-end: 0;
}

.page-slug-event .entry-content {
	margin-block-start: 0;

	--event-point-offset: 8rem;

	@media (480px <= width) {
		--event-point-offset: 15rem;
	}

	@media (1024px <= width) {
		--event-point-offset: 23rem;
	}

	@media (1400px <= width) {
		--event-point-offset: 35rem;
	}

	@media (1920px <= width) {
		--event-point-offset: 50rem;
	}
}

/* event : fv
--------------------------------------------------------- */
:where(.entry-content, .editor-styles-wrapper) .event-fv-wrap {
	padding-block: 5rem var(--event-point-offset);
	overflow-x: clip;
	background: url("../img/event/bg_sky_sp.avif") center top/cover no-repeat;

	@media (1024px <= width) {
		background-image: url("../img/event/bg_sky_pc.avif");
	}
}

:where(.editor-styles-wrapper) .event-fv-wrap {
	padding-block: 5rem;
}

:where(.entry-content, .editor-styles-wrapper) .event-fv-title {
	position: relative;
	margin-block-end: 2em;

	&::before,
	&::after {
		position: absolute;
		top: 0;
		z-index: 1;
		width: 9.5em;
		height: 3em;
		content: "";
		background: url("../img/event/deco_cloud.svg") center/contain no-repeat;
		opacity: 0.8;
	}

	&::before {
		left: 50%;
		scale: -1 1;
		translate: calc(-1 * (100% + 4.375em)) 0;
	}

	&::after {
		right: 50%;
		translate: calc(100% + 4.375em) 0;
	}

	@media (768px <= width) {
		margin-block-end: 3em;

		&::before,
		&::after {
			top: -0.5em;
			width: 18.75em;
			height: 5.625em;
		}

		&::before {
			scale: 1;
			translate: calc(-1 * (100% + 11.375em)) 0;
		}

		&::after {
			scale: -1 1;
			translate: calc(100% + 11.375em) 0;
		}
	}
}

:where(.entry-content, .editor-styles-wrapper) .event-fv-title h1 {
	height: 11rem;
	margin-block: 0;
	overflow: hidden;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1;
	text-indent: 100%;
	white-space: nowrap !important;
	background-image: url("../img/event/title_camp_sp.svg"), url("../img/event/icon_camp.svg");
	background-repeat: no-repeat, no-repeat;
	background-position:
		center bottom,
		center top;
	background-size:
		auto 6.5rem,
		7.5rem 3rem;

	@media (768px <= width) {
		height: 12rem;
		background-image: url("../img/event/title_camp_pc.svg"), url("../img/event/icon_camp.svg");
		background-size:
			auto 4.5rem,
			11.25rem 4.5rem;
	}

	@media (1024px <= width) {
		height: 13.5rem;
		background-size:
			auto 6rem,
			11.25rem 4.5rem;
	}
}

:where(.entry-content, .editor-styles-wrapper) .event-fv-heading {
	font-weight: 700;
	color: #fff;
	text-shadow: 0 0 0.75em rgb(4 0 130 / 40%);

	@media (1024px <= width) {
		text-shadow: 0 0 0.75em rgb(4 0 130 / 20%);
	}
}

:where(.entry-content, .editor-styles-wrapper) .event-fv-subtitle {
	padding-inline-start: 0.5em;
	margin-block-end: 0.25em;
	font-size: 1.5rem;

	&::before {
		display: none;
	}

	+ .wp-block-paragraph {
		margin-block-start: 0;
	}

	@media (768px <= width) {
		margin-block-end: 0.125em;
		font-size: 2.75rem;

		+ .wp-block-paragraph {
			font-size: 1.25rem;
		}
	}

	@media (1024px <= width) {
		font-size: 3.5rem;

		+ .wp-block-paragraph {
			font-size: 1.5rem;
		}
	}
}

:where(.entry-content, .editor-styles-wrapper) .event-fv-lead {
	position: static;
	margin-block-start: 2em;
	font-size: 0.875rem;
	font-weight: 700;
	color: #fff;
	text-align: center;
	text-shadow: 0 0 0.75em rgb(4 0 130 / 50%);

	@media (768px <= width) {
		position: relative;
		font-size: 1.125rem;
	}

	@media (1024px <= width) {
		text-shadow: 0 0 0.75em rgb(4 0 130 / 20%);
	}
}

:where(.entry-content) .event-fv-lead {
	&::before,
	&::after {
		position: absolute;
		top: -4.25em;
		width: 5.5em;
		height: 5.5em;
		content: "";
		background: center/contain no-repeat;
	}

	&::before {
		left: 50%;
		background-image: url("../img/event/deco_student_w.svg");
		translate: calc(-1 * (100% + 4.75em)) 0;
	}

	&::after {
		right: 50%;
		background-image: url("../img/event/deco_student_m.svg");
		translate: calc(100% + 4.75em) 0;
	}

	@media (768px <= width) {
		&::before,
		&::after {
			top: 0;
			translate: 0 -50%;
		}

		&::before {
			left: 0;
		}

		&::after {
			right: 0;
		}
	}

	@media (1024px <= width) {
		&::before,
		&::after {
			top: 50%;
			width: 9.5em;
			height: 9.5em;
		}

		&::before {
			translate: -10% -70%;
		}

		&::after {
			translate: 10% -70%;
		}
	}
}

/* event : point
--------------------------------------------------------- */
:where(.entry-content, .editor-styles-wrapper) .event-point-wrap {
	position: relative;
	overflow-x: clip;
}

:where(.entry-content) .event-point-wrap {
	&::before {
		position: absolute;
		top: -6rem;
		left: 50%;
		width: 100%;
		height: 15rem;
		content: "";
		background-color: var(--mytheme-color-tertiary);
		mask: url("../img/event/bg_point02.svg") center top/auto 100% no-repeat;
		translate: -50% 0;

		@media (768px <= width) {
			top: -10rem;
			height: 30rem;
		}

		@media (1024px <= width) {
			top: -12rem;
			height: 42rem;
		}

		@media (1920px <= width) {
			height: 46rem;
		}
	}

	&::after {
		position: absolute;
		top: -6rem;
		left: 50%;
		width: 100%;
		height: 15rem;
		content: "";
		background: url("../img/event/bg_point01.svg") center top/auto 100% no-repeat;
		translate: -50% 0;

		@media (768px <= width) {
			top: -10rem;
			height: 30rem;
		}

		@media (1024px <= width) {
			top: -12.5rem;
			height: 42rem;
		}

		@media (1920px <= width) {
			height: 45.5rem;
		}
	}

	@media (480px <= width) {
		margin-block-start: calc(-1 * (var(--event-point-offset) - 8rem));
	}

	@media (768px <= width) {
		margin-block-start: calc(-1 * (var(--event-point-offset) - 12rem));
	}

	@media (1024px <= width) {
		margin-block-start: calc(-1 * (var(--event-point-offset) - 17rem));
	}
}

:where(.entry-content) .event-point-wrap > .layout-frame:first-child {
	position: static;

	&::after {
		position: absolute;
		bottom: 0;
		left: 0;
		z-index: -1;
		width: 100%;
		height: calc(100% - var(--event-point-offset));
		height: 100%;
		content: "";
		background-color: var(--mytheme-color-tertiary);
	}
}

:where(.editor-styles-wrapper) .event-point-wrap {
	padding-block-start: 4em !important;
	background-color: var(--mytheme-color-tertiary);
}

:where(.entry-content, .editor-styles-wrapper) .event-point-title {
	padding-block-start: 0;
	font-size: 1.375rem;
	font-weight: 700;

	& strong {
		font-size: 1.5rem;
	}

	&::before {
		display: none;
	}

	@media (768px <= width) {
		font-size: 2rem;

		& strong {
			font-size: 2.5rem;
		}
	}
}

:where(.entry-content, .editor-styles-wrapper) .event-point-list {
	position: relative;
	display: grid;
	row-gap: 1.5em;

	@media (768px <= width) {
		grid-template-columns: repeat(2, 1fr);
		gap: 2em;
	}
}

:where(.entry-content) .event-point-list {
	&::before,
	&::after {
		position: absolute;
		bottom: calc(100% + 6em);
		z-index: 1;
		display: block;
		width: 5em;
		height: 4em;
		content: "";
		background: center bottom/contain no-repeat;
	}

	&::before {
		left: 0;
		background-image: url("../img/event/deco_point_student_m.svg");
	}

	&::after {
		right: 0;
		background-image: url("../img/event/deco_point_student_w.svg");
	}

	@media (480px <= width) {
		&::before,
		&::after {
			bottom: 100%;
			width: clamp(4rem, -2.6667rem + 22.2222vw, 8rem);
			height: 10em;
		}
	}

	@media (768px <= width) {
		&::before,
		&::after {
			width: clamp(6rem, -6rem + 25vw, 10rem);
		}
	}

	@media (1024px <= width) {
		&::before,
		&::after {
			width: 10em;
		}

		&::before {
			left: 1.5em;
		}

		&::after {
			right: 1.5em;
		}
	}
}

:where(.entry-content, .editor-styles-wrapper) .event-point-list-item {
	position: relative;
	display: grid;
	grid-template: "image heading" "text text" / 7em 1fr;
	gap: 0.75em 1em;
	align-items: center;
	padding: 1em;
	background-color: #fff;

	@media (1024px <= width) {
		grid-template: "image heading" "image text" / 7.875em 1fr;
		gap: 0.5em 1.5em;
		align-content: start;
		align-items: start;
		padding: 1.5em;
	}
}

:where(.entry-content) .event-point-list-item {
	&::before,
	&::after {
		position: absolute;
		top: 0.375em;
		display: block;
		width: 0.375em;
		height: 0.375em;
		content: "";
		background-color: var(--mytheme-color-accent);
	}

	&::before {
		left: 0.375em;
	}

	&::after {
		right: 0.375em;
	}

	@media (1024px <= width) {
		&::before,
		&::after {
			top: 0.625em;
		}

		&::before {
			left: 0.625em;
		}

		&::after {
			right: 0.625em;
		}
	}
}

:where(.entry-content, .editor-styles-wrapper) .event-point-list-image {
	grid-area: image;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	object-fit: cover;

	@media (1024px <= width) {
		aspect-ratio: auto;
	}
}

:where(.entry-content) .event-point-list-image {
	&::before,
	&::after {
		position: absolute;
		bottom: 0.375em;
		display: block;
		width: 0.375em;
		height: 0.375em;
		content: "";
		background-color: var(--mytheme-color-accent);
	}

	&::before {
		left: 0.375em;
	}

	&::after {
		right: 0.375em;
	}

	@media (1024px <= width) {
		&::before,
		&::after {
			bottom: 0.625em;
		}

		&::before {
			left: 0.625em;
		}

		&::after {
			right: 0.625em;
		}
	}
}

:where(.entry-content, .editor-styles-wrapper) .event-point-list-heading {
	grid-area: heading;
}

:where(.entry-content, .editor-styles-wrapper) .event-point-list-number {
	margin-block-start: 0;
	margin-inline-start: 0;
	font-size: 0.875rem;
	font-weight: 700;
	color: var(--mytheme-color-accent);
	text-align: left;
}

:where(.entry-content, .editor-styles-wrapper) .event-point-list-number {
	margin-block-start: 0;
	margin-inline-start: 0;
	font-size: 0.875rem;
	font-weight: 700;
	color: var(--mytheme-color-accent);
	text-align: left;
}

:where(.entry-content, .editor-styles-wrapper) .event-point-list .event-point-list-item .event-point-list-title {
	margin-block: 0;
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.5;

	&::before {
		display: none;
	}
}

:where(.entry-content, .editor-styles-wrapper) .event-point-list-text {
	grid-area: text;
	margin-block-start: 0;
}

/* event : session
--------------------------------------------------------- */
:where(.entry-content, .editor-styles-wrapper) .event-session-box {
	padding: 1em 1em 1.5em;
	margin-block-start: 2em;
	background-color: var(--color-primary-medium);

	@media (768px <= width) {
		display: grid;
		grid-template-columns: auto 1fr;
		column-gap: 3em;
		align-items: start;
		padding: 2em 2.5em;
		margin-block-start: 3em;
	}

	@media (1024px <= width) {
		padding: 3em;
	}
}

:where(.entry-content, .editor-styles-wrapper) .event-session-heading {
	padding-block-end: 9em;
	background: url("../img/event/deco_session.svg") center bottom/auto 8em no-repeat;
}

:where(.entry-content, .editor-styles-wrapper) .event-session-title {
	display: inline;
	padding: 0.125em 0.25em;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 2;
	color: var(--color-primary-dark);
	background-color: #fff;
	box-decoration-break: clone;

	&::before {
		display: none;
	}

	@media (768px <= width) {
		padding: 0 0.125em 0.125em;
		font-size: 2rem;
		line-height: 1.75;
	}
}

:where(.entry-content, .editor-styles-wrapper) .event-session-text {
	margin-block-start: 1.5em;

	> * + * {
		margin-block-start: 1em;
	}

	.event-session-buttons {
		justify-content: center;
		margin-block-end: 0;
	}

	@media (768px <= width) {
		margin-block-start: 0;

		.event-session-buttons {
			justify-content: flex-start;
			margin-block-start: 2em;
		}
	}
}

/* event : lineup
--------------------------------------------------------- */
:where(.entry-content, .editor-styles-wrapper) .event-lineup-wrap {
	background: url("../img/common/bg_fixed.avif") center top/cover fixed no-repeat;
}

:where(.entry-content, .editor-styles-wrapper) .event-lineup-list {
	display: grid;
	row-gap: 2em;

	@media (768px <= width) {
		gap: 3em;
	}
}

:where(.entry-content, .editor-styles-wrapper) .event-lineup-item {
	display: grid;
	justify-content: center;
	max-width: 50rem;
	padding-block-end: 2em;
	padding-inline: 1.5em;
	margin-inline: auto;
	background-color: #fff;

	@media (768px <= width) {
		padding-block-end: 3em;
		padding-inline: 4em;
	}
}

:where(.entry-content, .editor-styles-wrapper) .event-lineup-label {
	width: fit-content;
	padding: 0.5em 1.5em;
	margin-inline: auto;
	font-size: 0.935rem;
	font-weight: 700;
	color: #fff;
	background-color: var(--mytheme-color-primary);
	border-bottom-right-radius: 0.75em;
	border-bottom-left-radius: 0.75em;

	@media (768px <= width) {
		font-size: 1rem;
	}
}

:where(.entry-content, .editor-styles-wrapper) .event-lineup-list .event-lineup-item .event-lineup-title {
	position: relative;
	padding-block-end: 1em;
	margin-block: 1.25em 0;
	font-size: 1.125em;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;

	&::before {
		position: absolute;
		bottom: 0;
		left: 50%;
		width: 1.75em;
		height: 3px;
		background: var(--mytheme-color-primary);
		mask: none;
		translate: -50% 0;
	}

	@media (768px <= width) {
		margin-block-start: 1.75em;
		font-size: 1.5rem;
	}
}

:where(.entry-content, .editor-styles-wrapper) .event-lineup-box {
	width: fit-content;
	width: 100%;
	max-width: 31.25rem;
	padding: 1em 1em 1.5em;
	margin-block-start: 1.5em;
	margin-inline: auto;
	background-color: var(--mytheme-color-tertiary);

	@media (768px <= width) {
		padding: 1.5em 2em 2em;
	}
}

:where(.entry-content, .editor-styles-wrapper) .event-lineup-box-title {
	position: relative;
	padding-block-end: 1em;
	padding-inline-start: 2em;
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
	text-align: left;
	background: repeating-linear-gradient(90deg, #ccc, #ccc 2px, transparent 2px, transparent 8px) left bottom/ auto 1px no-repeat;

	&::before {
		position: absolute;
		top: 50%;
		left: 0;
		display: block;
		width: 1.5em;
		height: 1.5em;
		content: "";
		background: #fff;
		border-radius: 50%;
		translate: 0 calc(-50% - 0.5em);
	}

	&::after {
		position: absolute;
		top: 50%;
		left: 0;
		display: block;
		width: 1.5em;
		height: 1.5em;
		content: "";
		background: var(--mytheme-color-primary);
		mask: url("../img/event/icon_schedule.svg") center/80% auto no-repeat;
		translate: 0 calc(-50% - 0.5em);
	}
}

:where(.entry-content, .editor-styles-wrapper) .event-lineup-info {
	margin-block-start: 1.25em;
}

:where(.entry-content, .editor-styles-wrapper) .event-lineup-info tbody {
	display: grid;
	row-gap: 0.75em;
}

:where(.entry-content, .editor-styles-wrapper) .event-lineup-info tr {
	display: grid;
	row-gap: 0.5em;
	align-items: start;

	@media (768px <= width) {
		grid-template-columns: 7em 1fr;
	}
}

:where(.entry-content, .editor-styles-wrapper) .event-lineup-info td {
	display: block;
	font-weight: 700;
	border: none;
}

:where(.entry-content, .editor-styles-wrapper) .event-lineup-info td:first-child {
	padding: 0.25em;
	font-size: 0.875rem;
	color: #fff;
	text-align: center;
	background-color: var(--mytheme-color-primary);
	border-radius: 999em;
}

:where(.entry-content, .editor-styles-wrapper) .event-lineup-info td:last-child {
	padding-block: 0;
	font-size: 1.125rem;
}

:where(.entry-content, .editor-styles-wrapper) .event-lineup-buttons {
	margin-block: 1.5em 0;
}

/* ---------------------------------------------------------

	11. results

--------------------------------------------------------- */

/* block : results : heading
--------------------------------------------------------- */
:where(.results-template-default .entry-content) .results-award-title,
:where(.post-type-results.editor-styles-wrapper) .results-award-title {
	display: grid;
	grid-template-columns: repeat(3, auto);
	column-gap: 0.5em;
	align-items: center;
	justify-content: center;
	padding: 0.6em 1em;
	margin-block-end: 1.25em;
	font-size: 1.125rem;
	font-weight: 700;
	color: #fff;
	background-color: var(--color-primary-dark);
	border-radius: 999em;

	@media (768px <= width) {
		margin-block-end: 1.625em;
		font-size: 1.5rem;
	}

	&::before,
	&::after {
		position: relative;
		top: 0.0625em;
		display: block;
		width: 0.6rem;
		height: 0.6rem;
		content: "";
		background-color: #fff;
		mask: url("../img/common/icon_star.svg") center/contain no-repeat;
	}
}

:where(.results-template-default .entry-content) .results-award-name,
:where(.post-type-results.editor-styles-wrapper) .results-award-name {
	display: grid;
	grid-template-columns: repeat(2, auto);
	column-gap: 0.375em;
	justify-content: center;
	margin-block: 1em 0.5em;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.6;
	color: var(--mytheme-color-primary);

	@media (768px <= width) {
		font-size: 2rem;
	}

	&::before {
		position: relative;
		top: 0.125em;
		display: block;
		width: 1em;
		height: 1.375em;
		content: "";
		background: url("../img/common/icon_award.svg") center/contain no-repeat;
	}
}

/* pattern : results : award
--------------------------------------------------------- */
:where(.results-template-default .entry-content) .results-award-wrap + .results-award-wrap,
:where(.post-type-results.editor-styles-wrapper) .results-award-wrap + .results-award-wrap {
	margin-block-start: 3rem;

	@media (768px <= width) {
		margin-block-start: 5rem;
	}
}

/* pattern : results : award info
--------------------------------------------------------- */
:where(.results-template-default .entry-content) .results-award-info,
:where(.post-type-results.editor-styles-wrapper) .results-award-info {
	padding: 1em 1em 1.25em;
	background-color: var(--color-neutral-50);

	@media (768px <= width) {
		padding: 1.5em 1.5em 1.75em;
	}
}

:where(.results-template-default .entry-content) .results-award-info tbody,
:where(.post-type-results.editor-styles-wrapper) .results-award-info tbody {
	display: grid;
	row-gap: 0.5em;
}

:where(.results-template-default .entry-content) .results-award-info tr,
:where(.post-type-results.editor-styles-wrapper) .results-award-info tr {
	display: grid;
	grid-template-columns: 5em 1fr;
	column-gap: 0.5em;
	align-items: start;
}

:where(.results-template-default .entry-content) .results-award-info td,
:where(.post-type-results.editor-styles-wrapper) .results-award-info td {
	display: block;
	border: none;
}

:where(.results-template-default .entry-content) .results-award-info td:first-child,
:where(.post-type-results.editor-styles-wrapper) .results-award-info td:first-child {
	padding: 0.25em;
	font-size: 0.875rem;
	color: #fff;
	text-align: center;
	background-color: var(--mytheme-color-primary);
	border-radius: 999em;
}

:where(.results-template-default .entry-content) .results-award-info td:last-child,
:where(.post-type-results.editor-styles-wrapper) .results-award-info td:last-child {
	padding-block: 0;
}

/* pattern : results : award media
--------------------------------------------------------- */
:where(.results-template-default .entry-content) .results-award-media,
:where(.post-type-results.editor-styles-wrapper) .results-award-media {
	display: flex;
	flex-direction: column;
	row-gap: 1.5em;
	margin-block-start: 2em;

	@media (768px <= width) {
		flex-direction: row;
		column-gap: 3rem;
		justify-content: center;
		margin-block-start: 4rem;

		&:not(:has(.results-award-video)) {
			margin-block-start: 3rem;
		}
	}
}

:where(.results-template-default .entry-content) .results-award-image,
:where(.post-type-results.editor-styles-wrapper) .results-award-image {
	flex: 0 1 50%;
	aspect-ratio: 16 / 9;
	overflow: hidden;
}

:where(.results-template-default .entry-content) .results-award-image img,
:where(.post-type-results.editor-styles-wrapper) .results-award-image img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

:where(.results-template-default .entry-content) .results-award-video,
:where(.post-type-results.editor-styles-wrapper) .results-award-video {
	flex: 0 1 50%;
	margin-block: 0;
}

:where(.results-template-default .entry-content) .results-award-video .wp-block-embed__wrapper,
:where(.post-type-results.editor-styles-wrapper) .results-award-video .wp-block-embed__wrapper {
	width: 100%;
	height: 100%;
	aspect-ratio: 16 / 9;
	overflow: hidden;
}

:where(.results-template-default .entry-content) .results-award-video iframe,
:where(.post-type-results.editor-styles-wrapper) .results-award-video iframe {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* pattern : results : award text
--------------------------------------------------------- */
:where(.results-template-default .entry-content) .results-award-text,
:where(.post-type-results.editor-styles-wrapper) .results-award-text {
	display: flex;
	flex-direction: column;
	row-gap: 1.25em;
	margin-block-start: 1.75em;

	@media (768px <= width) {
		flex-direction: row;
		margin-block-start: 3rem;
	}
}

:where(.results-template-default .entry-content) .results-award-text-item,
:where(.post-type-results.editor-styles-wrapper) .results-award-text-item {
	flex: 1 1 100%;
}

:where(.results-template-default .entry-content) .results-award-text:has(.results-award-text-item:nth-child(2)) .results-award-text-item,
:where(.post-type-results.editor-styles-wrapper) .results-award-text:has(.results-award-text-item:nth-child(2)) .results-award-text-item {
	&:last-child {
		padding-block-start: 1.25em;
		background: repeating-linear-gradient(90deg, #ccc, #ccc 2px, transparent 2px, transparent 8px) left top/ auto 1px no-repeat;
	}

	@media (768px <= width) {
		&:first-child {
			padding-inline-end: 2.5em;
		}

		&:last-child {
			padding-block-start: 0;
			padding-inline-start: 2.5em;
			background: repeating-linear-gradient(180deg, #ccc, #ccc 2px, transparent 2px, transparent 8px) left top/ 1px 100% no-repeat;
		}
	}
}

:where(.results-template-default .entry-content) .results-award-text-title,
:where(.post-type-results.editor-styles-wrapper) .results-award-text-title {
	display: grid;
	grid-template-columns: repeat(2, auto);
	column-gap: 0.5em;
	align-items: center;
	justify-content: start;
	margin-block: 0;
	font-size: 1.125rem;
	font-weight: 700;

	@media (768px <= width) {
		font-size: 1.25rem;
	}

	&::before {
		position: relative;
		top: 0.0625em;
		display: block;
		width: 0.625em;
		height: 0.625em;
		content: "";
		background-color: var(--mytheme-color-primary);
		mask: url("../img/common/icon_star.svg") center/contain no-repeat;
	}

	& + .wp-block-paragraph {
		margin-block-start: 0.5em;

		@media (768px <= width) {
			margin-block-start: 0.75em;
		}
	}
}

/* pattern : results : good
--------------------------------------------------------- */
:where(.results-template-default .entry-content) .results-special-inner,
:where(.post-type-results.editor-styles-wrapper) .results-special-inner,
:where(.results-template-default .entry-content) .results-good-inner,
:where(.post-type-results.editor-styles-wrapper) .results-good-inner {
	display: grid;
	row-gap: 1.5em;

	@media (768px <= width) {
		grid-template-columns: repeat(2, 1fr);
		gap: 2em;
		margin-block-start: 5rem;
	}
}

:where(.results-template-default .entry-content) .results-special-wrap,
:where(.post-type-results.editor-styles-wrapper) .results-special-wrap {
	position: relative;

	&::before {
		position: absolute;
		top: 0;
		left: 50%;
		z-index: -1;
		width: 100vw;
		height: 100%;
		content: "";
		background-color: var(--color-neutral-50);
		translate: -50% 0;
	}
}

/* pattern : results : prize
--------------------------------------------------------- */
:where(.results-template-default .entry-content) .results-prize-item,
:where(.post-type-results.editor-styles-wrapper) .results-prize-item {
	padding: 1em 1em 1.25em;

	:where(.results-special-inner) & {
		background-color: #fff;
		border: 1px solid var(--color-neutral-100);
	}

	:where(.results-good-inner) & {
		background-color: var(--color-neutral-50);
	}

	@media (768px <= width) {
		padding: 1.5em 1.5em 1.75em;
	}
}

:where(.results-template-default .entry-content) .results-prize-name,
:where(.post-type-results.editor-styles-wrapper) .results-prize-name {
	margin-block-end: 0.75em;
	font-size: 1.25em;
	font-weight: 700;
	letter-spacing: 0;

	@media (768px <= width) {
		font-size: 1.5rem;
	}
}

:where(.results-template-default .entry-content) .results-prize-info,
:where(.post-type-results.editor-styles-wrapper) .results-prize-info {
	margin-block-start: 0;
}

:where(.results-template-default .entry-content) .results-prize-info tbody,
:where(.post-type-results.editor-styles-wrapper) .results-prize-info tbody {
	display: grid;
	row-gap: 0.5em;
}

:where(.results-template-default .entry-content) .results-prize-info tr,
:where(.post-type-results.editor-styles-wrapper) .results-prize-info tr {
	display: grid;
	grid-template-columns: 5em 1fr;
	gap: 0.25em;
	align-items: start;
}

:where(.results-template-default .entry-content) .results-prize-info td,
:where(.post-type-results.editor-styles-wrapper) .results-prize-info td {
	display: block;
	border: none;
}

:where(.results-template-default .entry-content) .results-prize-info td:first-child,
:where(.post-type-results.editor-styles-wrapper) .results-prize-info td:first-child {
	padding: 0.25em;
	font-size: 0.875rem;
	color: #fff;
	text-align: center;
	background-color: var(--mytheme-color-primary);
	border-radius: 999em;
}

:where(.results-template-default .entry-content) .results-prize-info td:last-child,
:where(.post-type-results.editor-styles-wrapper) .results-prize-info td:last-child {
	padding-block: 0;
}

:where(.results-template-default .entry-content) .results-prize-item .wp-block-image,
:where(.post-type-results.editor-styles-wrapper) .results-prize-item .wp-block-image {
	margin-block-start: 0.5em;

	@media (768px <= width) {
		margin-block-start: 1em;
	}
}

/* ---------------------------------------------------------

	12. report

--------------------------------------------------------- */

/* pattern : report : card
--------------------------------------------------------- */
:where(.entry-content) .report-card-wrap,
:where(.editor-styles-wrapper) .report-card-wrap.wp-block-group.wp-block {
	max-width: 55rem;
	padding: 1.5em;
	margin: 2em auto;
	background-color: #f2f2f2;

	@media (768px <= width) {
		padding: 2.5em;
		margin-block: 2.5em;
	}
}

:where(.entry-content, .editor-styles-wrapper) .report-card-inner {
	margin-block-start: 1rem;
}

:is(.entry-content) .report-card-inner p + p {
	margin-block-start: 0.75em;
}

/* pattern : report : column
--------------------------------------------------------- */
:where(.entry-content) .report-column-wrap,
:where(.editor-styles-wrapper) .report-column-wrap.wp-block-group.wp-block {
	max-width: 50rem;
	padding: 1.5em 2em;
	margin-block-start: 3em;
	margin-inline: auto;
	border: 1px solid var(--mytheme-color-primary);

	@media (768px <= width) {
		padding-inline: 2.5em;
		margin-block-start: 4em;
	}
}

:is(.entry-content) .report-column-wrap p + p {
	margin-block-start: 1em;
}

/* pattern : report : profile
--------------------------------------------------------- */
:where(.entry-content) .report-profile-wrap,
:where(.editor-styles-wrapper) .report-profile-wrap.wp-block-group.wp-block {
	max-width: 50rem;
	padding: 1.5em 2em;
	margin-block-start: 3em;
	margin-inline: auto;
	background-color: var(--mytheme-color-tertiary);

	@media (768px <= width) {
		padding-inline: 2.5em;
		margin-block-start: 4em;
	}
}

:is(.entry-content) .report-profile-wrap p + p {
	margin-block-start: 1em;
}

/* ---------------------------------------------------------

	13. archive : results, report, archives

--------------------------------------------------------- */

/* archive : categories : report, archives
--------------------------------------------------------- */
.archives-categories {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(9rem, auto));
	gap: 0.5rem;
	place-content: center;
	margin-block-end: 3em;
	margin-inline: auto;

	@media (768px <= width) {
		gap: 1rem;
		margin-block-end: 3.5em;
	}
}

.archives-categories-item a {
	display: block;
	min-width: 9rem;
	padding: 0.375em 0.75em 0.5em;
	font-weight: 700;
	color: var(--mytheme-color-primary);
	text-align: center;
	text-decoration: none;
	border: 1px solid var(--mytheme-color-primary);
	border-radius: 999em;

	@media (any-hover: hover) {
		transition:
			background-color 0.3s ease,
			border-color 0.3s ease,
			color 0.3s ease;

		&:hover {
			color: #fff;
			background-color: var(--mytheme-color-accent);
			border-color: var(--mytheme-color-accent);
		}
	}
}

.archives-categories-item.is-current a {
	position: relative;
	height: 100%;
	color: #fff;
	pointer-events: none;
	background-color: transparent;
	border: none;
}

.archives-categories-item.is-current a::before {
	position: absolute;
	inset: 0;
	z-index: -1;
	width: 100%;
	height: 100%;
	margin: auto;
	content: "";
	background: linear-gradient(to right, var(--mytheme-gradient-start), var(--mytheme-gradient-end)) var(--mytheme-color-primary) border-box border-box;
	border: 2px solid transparent;
	border-radius: 999em;
}

/* archive : list : report, archives
--------------------------------------------------------- */
.archives-list {
	@media (768px <= width) {
		display: grid;
		grid-template-columns: max-content max-content 1fr;
	}
}

.archives-list-item {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 0.5em;
	align-items: center;
	justify-content: start;
	padding-block: 1.75em 1.25em;
	background: repeating-linear-gradient(90deg, #ccc, #ccc 2px, transparent 2px, transparent 8px) left bottom/ auto 1px no-repeat;

	@media (768px <= width) {
		grid-template-columns: subgrid;
		grid-column: span 3;
		column-gap: 1em;
		padding-block: 2em;
	}
}

.archives-list-item:first-child {
	padding-block-start: 0;
}

.archives-list-date {
	font-size: 0.875rem;
}

.archives-list-category a {
	display: inline-block;
	padding: 0.125em 0.75em 0.25em;
	font-size: 0.75rem;
	font-weight: 700;
	color: #fff;
	text-decoration: none;
	background-color: var(--mytheme-color-primary);
	border-radius: 999em;

	@media (768px <= width) {
		width: 100%;
		font-size: 0.875rem;
		text-align: center;
	}

	@media (any-hover: hover) {
		transition: background-color 0.3s ease;

		&:hover {
			background-color: var(--mytheme-color-accent);
		}
	}
}

.archives-list-title {
	grid-column: span 2;
	margin-block: 0;
	font-size: 1rem;
	font-weight: 700;

	@media (768px <= width) {
		grid-column: initial;
	}
}

.archives-list-title a {
	color: var(--color-text-default);
	text-decoration: none;

	@media (any-hover: hover) {
		transition: color 0.3s ease;

		&:hover {
			color: var(--mytheme-color-accent);
		}
	}
}

/* archive : list : report
--------------------------------------------------------- */
.report-archives-list {
	display: grid;
	row-gap: 2em;

	@media (768px <= width) {
		grid-template-columns: repeat(auto-fill, minmax(18.75rem, 1fr));
		gap: 3em;
	}
}

.report-archives-list-item {
	padding-block: 0;
	background: none;

	@media (768px <= width) {
		grid-template-columns: auto 1fr;
		grid-column: span 1;
		gap: 0.5em 0.75em;
		place-content: start start;
		padding-block: 0;
	}
}

.report-archives-thumbnail {
	grid-column: span 2;
	aspect-ratio: 3 / 2;
	margin-block-end: 0.5em;
	overflow: hidden;
}

.report-archives-thumbnail img {
	width: 100%;
	height: 100%;
	object-fit: cover;

	@media (any-hover: hover) {
		.report-archives-thumbnail a & {
			transition:
				opacity 0.3s ease,
				scale 0.3s ease;
		}

		.report-archives-thumbnail a:hover & {
			opacity: 0.8;
			scale: 1.05;
		}
	}
}

.report-archives-list-item .archives-list-category a {
	width: auto;
}

.report-archives-list-item .archives-list-title {
	@media (768px <= width) {
		grid-column: span 2;
		font-size: 1.125rem;
		line-height: 1.75;
	}
}

/* archive : list : results
--------------------------------------------------------- */
.results-archive-list {
	display: grid;
	row-gap: 2rem;

	@media (768px <= width) {
		grid-template-columns: repeat(2, 1fr);
		gap: 2rem 3rem;
	}
}

.results-archive-list-item {
	text-align: center;
}

.results-archive-thumbnail {
	aspect-ratio: 16 / 9;
	overflow: hidden;
}

.results-archive-thumbnail img {
	width: 100%;
	height: 100%;
	object-fit: cover;

	@media (any-hover: hover) {
		.results-archive-thumbnail a & {
			transition:
				opacity 0.3s ease,
				scale 0.3s ease;
		}

		.results-archive-thumbnail a:hover & {
			opacity: 0.8;
			scale: 1.05;
		}
	}
}

.results-archive-title a {
	font-size: 1.125rem;
	font-weight: 700;
	color: var(--color-text-default);
	text-decoration: none;

	@media (any-hover: hover) {
		transition: color 0.3s ease;

		&:hover {
			color: var(--mytheme-color-accent);
		}
	}
}

/* archive : pagination
--------------------------------------------------------- */
.module-pagination-archive {
	margin-block-start: 2.5em;

	@media (768px <= width) {
		margin-block-start: 4em;
	}
}

.module-pagination-archive ul.page-numbers {
	display: flex;
	column-gap: 0.5em;
	align-items: center;
	justify-content: center;

	@media (768px <= width) {
		column-gap: 1em;
	}
}

.module-pagination-archive ul .page-numbers {
	display: grid;
	place-content: center;
	width: 2.5em;
	height: 2.5em;
	font-weight: 700;
	color: var(--mytheme-color-primary);
	text-decoration: none;
	border: 1px solid var(--mytheme-color-primary);
	border-radius: 50%;

	@media (768px <= width) {
		width: 3em;
		height: 3em;
	}

	@media (any-hover: hover) {
		transition:
			background-color 0.3s ease,
			border-color 0.3s ease,
			color 0.3s ease;
	}

	&:hover {
		color: #fff;
		background-color: var(--mytheme-color-accent);
		border-color: var(--mytheme-color-accent);
	}
}

.module-pagination-archive ul .page-numbers.current {
	position: relative;
	color: #fff;
	pointer-events: none;
	background-color: transparent;
	border: none;
}

.module-pagination-archive ul .page-numbers.current::before {
	position: absolute;
	inset: 0;
	z-index: -1;
	width: 100%;
	height: 100%;
	margin: auto;
	content: "";
	background: linear-gradient(to right, var(--mytheme-gradient-start), var(--mytheme-gradient-end)) var(--mytheme-color-primary) border-box border-box;
	border-radius: 999em;
}

.module-pagination-archive ul .page-numbers.next {
	padding-inline-start: 0.125em;
}

/* ---------------------------------------------------------

	14. single

--------------------------------------------------------- */

.single-heading {
	display: grid;
	row-gap: 1em;
	margin-block-end: 2.5em;

	@media (768px <= width) {
		margin-block-end: 3em;
	}
}

.single-heading-title {
	order: 1;
	margin-block: 0;
	font-size: 1.375rem;
	font-weight: 700;

	@media (768px <= width) {
		font-size: 2rem;
	}
}

.single-heading-date {
	display: flex;
	column-gap: 0.5em;
	align-items: center;
	order: 0;
	font-size: 0.875rem;

	@media (768px <= width) {
		column-gap: 0.75em;
	}
}

.single-heading-category a {
	padding: 0.125em 0.75em 0.25em;
	font-size: 0.75rem;
	font-weight: 700;
	color: #fff;
	text-decoration: none;
	background-color: var(--mytheme-color-primary);
	border-radius: 999em;

	@media (768px <= width) {
		font-size: 0.875rem;
	}

	@media (any-hover: hover) {
		transition: background-color 0.3s ease;
	}

	&:hover {
		background-color: var(--mytheme-color-accent);
	}
}

/* single : pagination
--------------------------------------------------------- */
.single-pagination {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1em;
	padding-block-start: 3em;
	margin-block-start: 3em;
	margin-inline: auto;
	background: repeating-linear-gradient(90deg, #ccc, #ccc 2px, transparent 2px, transparent 8px) left top/ auto 1px no-repeat;

	@media (768px <= width) {
		grid-template-columns: repeat(3, auto);
		gap: 3em;
		align-items: center;
		justify-content: center;
		margin-block-start: 5em;
	}
}

.single-pagination-archive {
	grid-column: span 2;
	order: 2;

	@media (768px <= width) {
		grid-column: initial;
		order: initial;
	}
}

.single-pagination-prev,
.single-pagination-next {
	@media (768px <= width) {
		min-width: 12rem;
	}
}

.single-pagination :not(.single-pagination-archive) .wp-block-button__link {
	@media (768px <= width) {
		padding-block: 1em;
		font-size: 1rem;
	}
}

/* ---------------------------------------------------------

	15. 404

--------------------------------------------------------- */
.error-404-title {
	margin-block-end: 2em;
	font-size: 1.5rem;
	font-weight: 700;
	text-align: center;
}

.error-404-text {
	line-height: 1.875;
	text-align: center;
}

.error-404-buttons {
	display: grid;
	justify-content: center;
}
