@charset "utf-8";

/**
 * This style sheet is used in the WordPress Theme template.
 *
 * @Haoka WordPress Theme
 */

/* @group Web font */

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap');

.noto-sans-jp {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
}

.noto-serif-jp {
	font-family: "Noto Serif JP", serif;
	font-optical-sizing: auto;
	font-style: normal;
}

/* @end */

/* @group Reset */

*,
*::before,
*::after {
	box-sizing: border-box;
}

@supports not (min-height: 100vh) {
	html {
		height: 100%;
	}
}

html {
	font-family: sans-serif;
	line-height: 1.5;
	overflow-wrap: break-word;
	scroll-behavior: smooth;
	-moz-tab-size: 4;
	tab-size: 4;
	-webkit-tap-highlight-color: transparent;
	-moz-text-size-adjust: none;
	-webkit-text-size-adjust: none;
	text-size-adjust: none;
}

body {
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	min-height: 100%;
	min-height: 100vh;
	min-height: 100dvh;
	text-rendering: optimizeSpeed;
}

body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
pre,
blockquote,
ol,
ul,
dl,
figure {
	margin: 0;
}

ol[role="list"],
ul[role="list"] {
	list-style: none;
	padding: 0;
}

a:not([class]) {
	text-decoration-skip-ink: auto;
}

picture,
img,
iframe,
embed,
object,
video,
audio,
svg,
canvas {
	display: block;
}

picture,
img,
video,
svg {
	height: auto;
	max-width: 100%;
}

svg:not([fill]) {
	fill: currentColor;
}

input,
button,
select,
textarea {
	font: inherit;
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-delay: -1ms !important;
		animation-duration: 1ms !important;
		animation-iteration-count: 1 !important;
		background-attachment: initial !important;
		scroll-behavior: auto !important;
		transition-delay: 0s !important;
		transition-duration: 1ms !important;
	}
}

/* @end */

/* @group Elements */

body {
	background-color: #fff;
	color: #222;
	font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;
	font-optical-sizing: auto;
	font-size: 1rem; /* 16px */
	font-style: normal;
}

hr {
	border: 0;
	border-top: 1px solid rgba(0, 0, 0, .2);
	color: inherit;
	height: 0;
	overflow: visible;
}

pre {
	white-space: pre-wrap;
}

pre,
code,
samp,
kbd {
	color: #666;
	font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Roboto Mono", Osaka-mono, monospace;
	font-size: inherit;
}

a {
	color: #06c;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

strong,
b {
	font-weight: bolder;
}

abbr[title] {
	border-bottom: none;
	cursor: help;
	text-decoration: underline;
	-webkit-text-decoration: underline dotted;
	text-decoration: underline dotted;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: 0;
}

sup {
	top: -.25em;
}

u,
ins {
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

del {
	opacity: .5;
}

iframe,
video,
audio {
	width: 100%;
}

table {
	border-collapse: collapse;
	border-color: inherit;
	text-indent: 0;
	width: 100%;
}

caption,
td,
th {
	font-weight: normal;
	text-align: start;
}

td,
th {
	border: 1px solid #999;
	padding: .5em;
}

th {
	background-color: rgba(0, 0, 0, .05);
}

input:not([disabled]),
button:not([disabled]),
select:not([disabled]),
textarea:not([disabled]) {
	color: inherit;
}

input,
button,
select,
textarea,
fieldset {
	line-height: 1.5;
	margin: 0;
}

button,
[type="submit"],
[type="reset"],
[type="button"] {
	-webkit-appearance: button;
	appearance: button;
}

[type="search"] {
	-webkit-appearance: textfield;
	appearance: textfield;
	outline-offset: -2px;
}

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
	height: auto;
}

::-webkit-input-placeholder {
	color: inherit;
	opacity: .5;
}

::-webkit-search-decoration {
	-webkit-appearance: none;
}

::-webkit-file-upload-button {
	-webkit-appearance: button;
	color: inherit;
	font: inherit;
}

textarea {
	resize: vertical;
}

summary {
	cursor: pointer;
	display: list-item;
}

[hidden]:not([hidden="until-found"]) {
	display: none !important;
}

@view-transition {
	navigation: auto;
}

@media (hover: hover) and (pointer: fine) {
	a {
		transition: color .3s ease-out;
	}

	a:hover {
		color: #666;
	}
}

/* @end */

/* @group Site content */

body {
	display: flex;
	flex-direction: column;
	min-width: 320px;
}

.site-header,
.site-main,
.site-aside,
.site-footer {
	min-width: 320px;
	width: 100%;
}

.site-main {
	flex-grow: 1;
	line-break: strict;
}

.header-content,
.home-hero-content,
.page-header-content,
.entry-header-content,
.entry-eyecatch,
.entry-meta,
.pagination .nav-links,
.post-navigation .nav-links,
.comments-content,
.loop-summary,
.aside-content,
.footer-content {
	margin-left: auto;
	margin-right: auto;
	max-width: 1024px;
}

.default-width,
.entry-content > *:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright) {
	margin-left: auto;
	margin-right: auto;
	max-width: 1024px;
}

.wide-width,
.entry-content > .alignwide {
	margin-left: auto;
	margin-right: auto;
	max-width: 1280px;
}

.full-width,
.alignfull {
	margin-left: auto;
	margin-right: auto;
	max-width: 100%;
	width: 100%;
}

@media screen and (max-width: 1407px) {
	.wide-width,
	.entry-content > .alignwide {
		max-width: calc(100% - 128px);
	}
}

@media screen and (max-width: 1151px) {
	.header-content,
	.home-hero-content,
	.page-header-content,
	.entry-header-content,
	.entry-eyecatch,
	.entry-meta,
	.pagination .nav-links,
	.post-navigation .nav-links,
	.comments-content,
	.loop-summary,
	.aside-content,
	.footer-content {
		max-width: calc(100% - 128px);
	}

	.default-width,
	.entry-content > *:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright) {
		max-width: calc(100% - 128px);
	}
}

@media screen and (max-width: 1023px) {
	.header-content,
	.home-hero-content,
	.page-header-content,
	.entry-header-content,
	.entry-eyecatch,
	.entry-meta,
	.pagination .nav-links,
	.post-navigation .nav-links,
	.comments-content,
	.loop-summary,
	.aside-content,
	.footer-content {
		max-width: calc(100% - 64px);
	}

	.default-width,
	.entry-content > *:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright) {
		max-width: calc(100% - 64px);
	}

	.wide-width,
	.entry-content > .alignwide {
		max-width: calc(100% - 64px);
	}
}

@media screen and (max-width: 479px) {
	.header-content,
	.home-hero-content,
	.page-header-content,
	.entry-header-content,
	.entry-eyecatch,
	.entry-meta,
	.pagination .nav-links,
	.post-navigation .nav-links,
	.comments-content,
	.loop-summary,
	.aside-content,
	.footer-content {
		max-width: calc(100% - 40px);
	}

	.default-width,
	.entry-content > *:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright) {
		max-width: calc(100% - 40px);
	}

	.wide-width,
	.entry-content > .alignwide {
		max-width: calc(100% - 40px);
	}
}

/* @end */

/* @group Site header */

.site-header {
	background-color: #fff;
	position: fixed;
	z-index: 9999;
	transition: .3s;
}

.header-content {
	align-items: center;
	display: flex;
	height: 80px;
	justify-content: space-between;
}

.site-title {
	color: #a02850;
	font-size: 1.125rem; /* 18px */
	font-weight: bold;
}

.menu-trigger {
	display: none;
}

@media screen and (max-width: 1023px) {
	.header-content {
		height: 60px;
	}

	.menu-trigger {
		-webkit-appearance: none;
		appearance: none;
		background-color: #0064c8;
		border: none;
		border-radius: 4px;
		cursor: pointer;
		display: block;
		height: 44px;
		padding: 0;
		position: relative;
		width: 44px;
	}

	.menu-trigger span {
		background-color: #fff;
		border-radius: 2px;
		display: block;
		height: 2px;
		left: 50%;
		position: absolute;
		top: 21px;
		transform: translateX(-50%);
		transition: all .3s ease-out;
		width: 20px;
	}

	.menu-trigger span::before,
	.menu-trigger span::after {
		background-color: #fff;
		border-radius: 2px;
		content: "";
		display: block;
		height: 100%;
		position: absolute;
		transition: inherit;
		width: 100%;
	}

	.menu-trigger span::before {
		top: -6px;
	}

	.menu-trigger span::after {
		top: 6px;
	}

	.popup-nav-open .menu-trigger span::before {
		top: 0;
		transform: rotate(-45deg);
	}

	.popup-nav-open .menu-trigger span {
		background-color: transparent;
	}

	.popup-nav-open .menu-trigger span::after {
		top: 0;
		transform: rotate(45deg);
	}
}

/* @end */

/* @group Site navigation */
.site-navigation {
	display: block;
}

.site-navigation .menu-list {
	display: flex;
	font-size: .9375rem; /* 15px */
	font-weight: bold;
	gap: 8px;
	line-height: 1;
}

.site-navigation .menu-item a {
	color: #fff;
	display: block;
	padding: 8px 0 10px;
	text-decoration: none;
	width: 110px;
}

.site-navigation .menu-item a {
	background: linear-gradient(0deg, #a02850, #c82850) #c82850;
	text-align: center;
}

.site-navigation .menu-item:first-child a {
	width: 80px;
}

.site-navigation .menu-item:last-child a {
	background: linear-gradient(0deg, #0046a0, #0064c8) #0064c8;
}

.popup-navigation {
	display: none;
}

@media (hover: hover) and (pointer: fine) {
	.site-navigation .menu-item a {
		transition: opacity .3s ease-out;
	}

	.site-navigation .menu-item a:hover {
		opacity: .7;
	}
}

@media screen and (max-width: 1023px) {
	.site-navigation {
		display: none;
	}

	.popup-navigation {
		backdrop-filter: blur(4px) saturate(160%);
		-webkit-backdrop-filter: blur(4px) saturate(160%);
		background-color: rgba(255, 255, 255, .8);
		border: 1px solid rgba(255, 255, 255, .4);
		border-radius: 8px;
		box-shadow: 0 4px 16px -2px rgba(0, 0, 0, .2);
		display: block;
		right: 20px;
		opacity: 0;
		position: absolute;
		top: 70px;
		transition: opacity .3s ease-out, visibility .3s ease-out;
		visibility: hidden;
		width: 320px;
		z-index: 9999;
	}

	.popup-nav-open .popup-navigation {
		opacity: 1;
		visibility: visible;
	}

	.popup-navigation .menu-list {
		font-size: 1rem; /* 16px */
		font-weight: bold;
		margin: 0 auto;
		max-width: calc(100% - 24px);
	}

	.popup-navigation .menu-list a {
		color: #222;
		display: block;
		padding: 10px 0;
		text-align: center;
		text-decoration: none;
	}

	.popup-navigation .menu-item:not(:first-child) a {
		border-top: 1px solid rgba(255, 255, 255, .75);
	}

	.popup-navigation .menu-item:not(:last-child) a {
		border-bottom: 1px solid rgba(0, 0, 0, .15);
	}
}

@media screen and (max-width: 479px) {
	.popup-navigation {
		right: 10px;
		width: 240px;
	}
}

/* @end */

/* @group Site main */

.main-content {
	padding-top: 80px;
}

@media screen and (max-width: 1023px) {
	.main-content {
		padding-top: 60px;
	}
}

/* @end */

/* @group Site footer */

.site-footer {
	background-color: #0064c8;
	color: #fff;
}

.footer-content {
	align-items: center;
	display: flex;
	justify-content: center;
	height: 80px;
}

.site-copyright small {
	font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	font-size: .9375rem; /* 15px */
}

/* @end */

/* @group Page header */

.page-header {
	align-items: center;
	background-color: #e6f0fa;
	display: flex;
	min-height: 144px;
	padding-bottom: 32px;
	padding-top: 32px;
	width: 100%;
}

.page-header-content {
	flex-grow: 1;
	text-align: center;
}

.page-type {
	color: #4c7dbc;
	font-size: .9375rem; /* 15px */
}

.page-title {
	color: #0046a0;
	font-size: 2.25rem; /* 36px */
	font-weight: bold;
	line-height: 1.25;
}

/* @end */

/* @group Pagination */

.pagination {
	margin-bottom: 3rem;
	margin-top: 3rem;
}

.page-links {
	margin-bottom: 3rem;
	margin-top: 3rem;
}

.post-navigation {
	margin-bottom: 3rem;
	margin-top: 3rem;
}

.post-navigation .nav-previous {
	margin-bottom: 1.5rem;
	margin-top: 1.5rem;
}

.post-navigation .nav-next {
	margin-bottom: 1.5rem;
	margin-top: 1.5rem;
}

.comments-pagination {
	margin-bottom: 1.5rem;
	margin-top: 1.5rem;
}

/* @end */

/* @group Post header */

.entry-header {
	margin-bottom: 3rem;
	margin-top: 3rem;
}

.entry-header-content .posted-on {
	font-size: .9375rem; /* 15px */
	text-align: center;
}

.entry-header-content .entry-title {
	display: table;
	font-feature-settings: "palt";
	font-size: 2.25rem; /* 36px */
	overflow-wrap: anywhere;
	margin: 0 auto;
}

/* @end */

/* @group Post eyecatch */

.entry-eyecatch {
	margin-bottom: 3rem;
	margin-top: 3rem;
}

.entry-eyecatch img {
	margin-left: auto;
	margin-right: auto;
}

/* @end */

/* @group Post content */

.entry-content {
	margin-bottom: 3rem;
	margin-top: 3rem;
}

.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6 {
	line-height: calc(1em + 1rem);
}

.entry-content p,
.entry-content ol,
.entry-content ul,
.entry-content dl,
.entry-content details {
	line-height: 2;
}

.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6,
.entry-content p,
.entry-content ol,
.entry-content ul,
.entry-content dl,
.entry-content .wp-block-quote,
.entry-content details,
.entry-content .wp-block-preformatted,
.entry-content .wp-block-verse,
.entry-content .wp-block-file,
.entry-content .wp-block-columns,
.entry-content .wp-block-group {
	margin-bottom: 1.5rem;
	margin-top: 1.5rem;
}

.entry-content .has-background,
.entry-content .wp-block-code,
.entry-content .wp-block-pullquote,
.entry-content .wp-block-table,
.entry-content .wp-block-image,
.entry-content .wp-block-gallery,
.entry-content .wp-block-audio,
.entry-content .wp-block-cover,
.entry-content .wp-block-video,
.entry-content .wp-block-buttons,
.entry-content .wp-block-separator,
.entry-content .wp-block-embed {
	margin-bottom: 2rem;
	margin-top: 2rem;
}

.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content .has-background,
.entry-content ol,
.entry-content ul,
.entry-content dl,
.entry-content .wp-block-quote,
.entry-content .wp-block-code,
.entry-content .wp-block-preformatted,
.entry-content .wp-block-pullquote,
.entry-content .wp-block-table,
.entry-content .wp-block-verse,
.entry-content .wp-block-gallery,
.entry-content .wp-block-cover,
.entry-content .wp-block-buttons,
.entry-content .wp-block-columns,
.entry-content .wp-block-group,
.entry-content .wp-block-separator,
.entry-content .wp-block-embed {
	clear: both;
}

/* @end */

/* @group Post text block */

.entry-content h1,
.entry-content h2 {
	font-size: 2rem; /* 32px */
	margin-top: 3rem;
}

.entry-content h3 {
	font-size: 1.75rem; /* 28px */
	margin-top: 2.75rem;
}

.entry-content h4 {
	font-size: 1.5rem; /* 24px */
	margin-top: 2.5rem;
}

.entry-content h5 {
	font-size: 1.25rem; /* 20px */
}

.entry-content h6 {
	font-size: 1rem; /* 16px */
}

.entry-content p {
	text-align: justify;
	text-justify: inter-character;
}

.entry-content .has-text-align-left {
	text-align: left;
}

.entry-content .has-text-align-center {
	text-align: center;
}

.entry-content .has-text-align-right {
	text-align: right;
}

.entry-content em {
	color: #c00;
	font-style: normal;
}

.entry-content .has-inline-color {
	background-image: none;
}

.entry-content s {
	opacity: .5;
}

.entry-content .has-background {
	padding: 1.5em 2em;
}

.entry-content [class*="has-"][class*="-font-size"] {
	line-height: calc(1em + 1rem);
}

.entry-content [style*="underline"] {
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.entry-content [style*="line-through"] {
	opacity: .5;
}

.entry-content ol,
.entry-content ul {
	padding-left: 2.5em;
}

.entry-content li {
	text-align: justify;
	text-justify: inter-character;
}

.entry-content li ol,
.entry-content li ul {
	margin-bottom: 0;
	margin-top: 0;
}

.entry-content dd {
	margin-left: 2.5em;
}

.entry-content .wp-block-quote {
	padding-left: 1.5em;
}

.entry-content .wp-block-quote > *:first-child {
	margin-top: 0;
}

.entry-content .wp-block-quote > *:last-child {
	margin-bottom: 0;
}

.entry-content .wp-block-quote p:last-of-type {
	margin-bottom: 0;
}

.entry-content .wp-block-quote:not(.is-style-plain) {
	border-left: 4px solid #ccc;
	padding-bottom: .5em;
	padding-top: .5em;
}

.entry-content .wp-block-quote cite {
	display: block;
	font-size: .9375rem; /* 15px */
	font-style: normal;
	margin-top: .5em;
}

.entry-content .wp-block-code {
	border: 1px solid #ccc;
	padding: .75em 1em
}

.entry-content .wp-block-pullquote {
	border-bottom: 3px double rgba(0, 0, 0, .2);
	border-top: 3px double rgba(0, 0, 0, .2);
	font-size: 1rem; /* 16px */
	line-height: 1.5;
	padding: 1.5em;
}

.entry-content .wp-block-pullquote p {
	display: table;
	font-size: 1.25rem; /* 20px */
	font-weight: bold;
	line-height: calc(1em + 1rem);
	margin: 0 auto;
}

.entry-content .wp-block-pullquote cite {
	display: block;
	font-size: .9375rem; /* 15px */
	font-style: normal;
	margin-top: .5em;
}

.entry-content .wp-block-table thead {
	border-bottom: none;
}

.entry-content .wp-block-table td,
.entry-content .wp-block-table th {
	padding: .5em;
}

.entry-content .wp-block-table:not(.is-style-stripes) td,
.entry-content .wp-block-table:not(.is-style-stripes) th {
	border: 1px solid #999;
}

.entry-content .wp-block-table.is-style-stripes {
	border-bottom: none;
}

.entry-content .wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
	background-color: transparent;
}

.entry-content .wp-block-table.is-style-stripes tbody tr:nth-child(even) {
	background-color: rgba(0, 0, 0, .05);
}

.entry-content .wp-block-table.is-style-stripes tr:last-child td,
.entry-content .wp-block-table.is-style-stripes th {
	border-bottom: 1px solid #999;
	border-top: 1px solid #999;
}

.entry-content .wp-block-verse {
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;
	line-height: 2;
}

@media screen and (max-width: 479px) {
	.entry-content p,
	.entry-content li {
		text-align: start;
		text-justify: auto;
	}
}

/* @end */

/* @group Post media block */

.entry-content .wp-block-image img {
	height: auto;
	max-width: 100%;
}

.entry-content > .wp-block-image:not(.alignwide):not(.alignfull):not(:has(.alignleft)):not(:has(.alignright)):not(.is-resized):not(:has(.is-resized)):not(.sq) img {
	max-height: 1024px;
	width: auto;
}

.entry-content .wp-block-image.alignwide img,
.entry-content .wp-block-image.alignfull img {
	width: 100%;
}

.entry-content .wp-element-caption {
	font-size: .875rem; /* 14px */
	margin-bottom: 0;
	margin-top: .5em;
}

.entry-content .wp-lightbox-container .lightbox-trigger {
	right: 8px !important;
	top: 8px !important;
}

.entry-content .wp-block-gallery {
	gap: .5rem !important;
}

.entry-content .wp-block-gallery.has-nested-images .wp-element-caption {
	padding: .5em;
	margin-top: 0;
}

.entry-content .wp-block-audio audio {
	min-width: 100%;
}

.entry-content .wp-block-file:not(.wp-element-button) {
	font-size: 1rem; /* 16px */
}

.entry-content .wp-block-file .wp-block-file__embed {
	margin-bottom: 1rem;
}

.entry-content .wp-block-file * + .wp-block-file__button {
	margin-left: .75em;
}

.entry-content .wp-block-file .wp-block-file__button {
	background-color: #222;
	border: 1px solid #222;
	border-radius: 999px;
	color: #fff;
	font-size: .875rem; /* 14px */
}

.entry-content .wp-caption {}
.entry-content .wp-caption-text {}
.entry-content .gallery-caption {}

img.wp-smiley,
img.emoji {
	background: none !important;
	border: none !important;
	box-shadow: none !important;
	display: inline !important;
	height: 1em !important;
	margin: 0 0.07em !important;
	padding: 0 !important;
	vertical-align: -0.1em !important;
	width: 1em !important;
}

@media screen and (max-width: 1151px) {
	@supports (width: 100cqw) {
		.entry-content > .wp-block-image:not(.alignwide):not(.alignfull):not(:has(.alignleft)):not(:has(.alignright)):not(.is-resized):not(:has(.is-resized)) {
			container-type: inline-size;
		}
	}

	.entry-content > .wp-block-image:not(.alignwide):not(.alignfull):not(:has(.alignleft)):not(:has(.alignright)):not(.is-resized):not(:has(.is-resized)) img {
		max-height: calc(100vw - 128px);
		max-height: 100cqw;
	}
}

@media screen and (max-width: 1023px) {
	.entry-content > .wp-block-image:not(.alignwide):not(.alignfull):not(:has(.alignleft)):not(:has(.alignright)):not(.is-resized):not(:has(.is-resized)):not(.sq) img {
		max-height: calc(100vw - 64px);
		max-height: 100cqw;
	}
}

@media screen and (max-width: 479px) {
	.entry-content > .wp-block-image:not(.alignwide):not(.alignfull):not(:has(.alignleft)):not(:has(.alignright)):not(.is-resized):not(:has(.is-resized)) img {
		max-height: calc(100vw - 40px);
		max-height: 100cqw;
	}
}

@media (hover: hover) and (pointer: fine) {
	.entry-content .wp-block-file * + .wp-block-file__button {
		transition: background .3s ease-out, color .3s ease-out;
	}

	.entry-content .wp-block-file .wp-block-file__button:hover {
		background-color: transparent;
		color: #222;
	}
}

/* @end */

/* @group Post design block */

.entry-content .wp-block-button__link {
	background-color: #222;
	border: 1px solid #222;
	border-radius: 999px;
	color: #fff;
	font-size: 1rem; /* 16px */
}

.entry-content .is-style-outline .wp-block-button__link {
	background-color: transparent;
	color: #222;
}

.entry-content .wp-block-columns.is-layout-flex {
	column-gap: 2rem;
	row-gap: 1.5rem;
}

.entry-content .wp-block-columns .wp-block-column > *:first-child {
	margin-top: 0;
}

.entry-content .wp-block-columns .wp-block-column > .wp-block-image:first-child {
	margin-top: .5em;
}

.entry-content .wp-block-columns .wp-block-column > *:last-child {
	margin-bottom: 0;
}

.entry-content .wp-block-group.is-layout-flex {
	column-gap: 2rem;
	row-gap: 1.5rem;
}

.entry-content .wp-block-group.is-layout-grid {
	column-gap: 2rem;
	row-gap: 1.5rem;
}

.entry-content .wp-block-group > * {
	margin: 0;
}

.entry-content .wp-block-separator {
	border: 0;
}

.entry-content .wp-block-separator:not(.is-style-wide):not(.is-style-dots) {
	border-top: 1px solid rgba(0, 0, 0, .2);
	margin-left: auto !important;
	margin-right: auto !important;
	width: 200px;
}

.entry-content .wp-block-separator.is-style-wide {
	border-top: 1px solid rgba(0, 0, 0, .2);
}

.entry-content .wp-block-separator.is-style-dots {
	background: none;
	border: none;
	height: auto;
	line-height: 1;
	max-width: none;
	text-align: center;
}

.entry-content .wp-block-separator.is-style-dots::before {
	color: #ccc;
	content: "●●●";
	font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	font-size: 1rem; /* 16px */
	letter-spacing: 1em;
	padding-left: 1em;
}

.entry-content .wp-block-separator.has-background {
	padding: 0;
}

.entry-content .wp-block-separator.has-background:not(.is-style-dots) {
	border-top: none;
	height: 1px;
	padding: 0;
}

@media screen and (min-width: 768px) {
	.entry-content .wp-block-columns {
		flex-wrap: nowrap !important;
	}

	.entry-content .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column {
		flex-basis: 0;
		flex-grow: 1;
	}

	.entry-content .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column[style *=flex-basis] {
		flex-grow: 0;
	}
}

@media screen and (max-width: 767px) {
	.entry-content .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column {
		flex-basis: 100% !important;
	}

	.entry-content .wp-block-separator:not(.is-style-wide):not(.is-style-dots) {
		width: 26%;
	}
}

@media (hover: hover) and (pointer: fine) {
	.entry-content .wp-block-button__link:hover {
		background-color: transparent;
		color: #000;
	}

	.entry-content .is-style-outline .wp-block-button__link:hover {
		background-color: #000;
		color: #fff;
	}
}

/* @end */

/* @group Post embedded block */

.entry-content .wp-block-embed-twitter > div *,
.entry-content .wp-block-embed-youtube > div * {
	margin-left: auto !important;
	margin-right: auto !important;
}

/* @end */

/* @group Post align */

.entry-content .alignleft {
	float: left;
	margin: .5em 1em .5em 0;
	max-width: 50%;
}

.entry-content .aligncenter {
	margin-left: auto;
	margin-right: auto;
}

.entry-content .alignright {
	float: right;
	margin: .5em 0 .5em 1em;
	max-width: 50%;
}

.entry-content .alignwide .wp-element-caption {
	text-align: center;
}

.entry-content .alignfull .wp-element-caption {
	padding: 0 64px;
	text-align: center;
}

@media screen and (max-width: 1408px) {
	.entry-content .alignwide .wp-element-caption,
	.entry-content .alignfull .wp-element-caption {
		text-align: left;
	}
}

@media screen and (max-width: 1023px) {
	.entry-content .alignfull .wp-element-caption {
		padding: 0 32px;
	}
}

@media screen and (max-width: 479px) {
	.entry-content .alignfull .wp-element-caption {
		padding: 0 20px;
	}
}

/* @end */

/* @group Post footer */

.entry-footer {
	clear: both;
	margin-bottom: 3rem;
	margin-top: 3rem;
}

/* @end */

/* @group Post comments */

.comments-content {
	margin-bottom: 3rem;
	margin-top: 3rem;
}

.comment-list {
	margin-bottom: 1.5rem;
	margin-top: 1.5rem;
}

.comment-list:not(.children) {
	padding-left: 0;
}

.comment-list .comment,
.comment-list .trackback,
.comment-list .pingback {
	list-style-type: none;
	margin-bottom: 1.5rem;
	margin-top: 1.5rem;
}

.comment-list .comment.bypostauthor {
	background-color: rgba(0, 0, 0, .05);
}

.comment-respond {
	margin-bottom: 1.5rem;
	margin-top: 1.5rem;
}

.comment-form {
	margin-bottom: 1.5rem;
	margin-top: 1.5rem;
}

.comment-form p {
	margin-bottom: 1.5rem;
	margin-top: 1.5rem;
}

.comment-form-comment textarea,
.comment-form-author input,
.comment-form-email input,
.comment-form-url input {
	width: 100%;
}

/* @end */

/* @group Home hero */

.home-hero {
	background: #0064c8 url(../img/bg-home-hero.jpg) no-repeat center center / cover;
	color: #fff;
}

.home-hero-content {
	align-items: center;
	display: flex;
	height: 720px;
}

@media screen and (max-width: 1023px) {
	.home-hero-content img {
		height: 480px;
		width: auto;
	}
}

@media screen and (max-width: 767px) {
	.home-hero {
		background: #0064c8;
		background-image: none;
	}

	.home-hero-content {
		display: block;
		height: auto;
		max-width: 100%;
	}

	.home-hero-content img {
		height: auto;
		max-width: 100%;
		width: 100%;
	}
}

/* @end */

/* @group Home content */

.home-content p,
.home-content ol,
.home-content ul,
.home-content dl {
	font-size: 1.125rem; /* 18px */
}

.home-content .home-section {
	margin-bottom: 100px;
	margin-top: 100px;
	scroll-margin-top: 100px;
}

.home-section .section-marker {
	background: linear-gradient(0deg, #a02850, #c82850) #c82850;
	color: #fff;
	font-weight: bold;
	line-height: 1;
	padding: 8px 0 10px;
	text-align: center;
	width: 160px;
}

.home-section .section-title {
	color: #0046a0;
	font-family: "Noto Serif JP", serif;
	font-feature-settings: "palt";
	font-optical-sizing: auto;
	font-size: 2.25rem; /* 36px */
	font-style: normal;
	font-weight: 700;
	margin-top: 1.5rem;
	line-height: 1.75;
	text-decoration: underline;
	text-decoration-color: #0064c8;
	text-decoration-thickness: 2px;
	text-underline-offset: 8px;
}

.home-section .section-title .commas {
	display: none;
}

.home-section .section-title .sub {
	font-size: 1.5rem; /* 24px */
}

.home-section .section-min-title {
	color: #0046a0;
	font-size: 1.5rem; /* 24px */
	margin-top: 1.5rem;
}

.home-section .lead-signature {
	line-height: 1.5;
	text-align: right;
}

.home-section .lead-signature strong {
	font-family: "Noto Serif JP", serif;
	font-optical-sizing: auto;
	font-size: 2rem; /* 32px */
	font-style: normal;
}

.home-section ol.katsuyorei-list {
	padding: 0 0 0 1.2em;
}

.home-section .katsuyorei-list > li {
	list-style: none;
	position: relative;
}

.home-section .katsuyorei-list > li::before {
	color: #0046a0;
	display: block;
	left: -1.2em;
	position: absolute;
	top: 0;
	width: 1.2em;
}

.home-section .katsuyorei-list > li:first-child::before {
	content: "❶";

}

.home-section .katsuyorei-list > li:nth-child(2)::before {
	content: "❷";
}

.home-section .katsuyorei-list > li:nth-child(3)::before {
	content: "❸";
}

.home-section .katsuyorei-list > li:nth-child(4)::before {
	content: "❹";
}

.home-section .toilet-link-block .wp-block-group__inner-container {
	align-items: center;
	display: flex;
	gap: 20px;
	justify-content: flex-end;
}

.home-section .toilet-link-block p {
	margin: 0;
}

.home-section .toilet-text {
	line-height: 1;
	padding-right: 14px;
	position: relative;
}

.home-section .toilet-text::after {
	border-right: 2px solid #222;
	border-top: 2px solid #222;
	content: "";
	height: 10px;
	position: absolute;
	right: 0;
	top: calc(50% - 4px);
	transform: rotate(45deg);
	width: 10px;
}

.home-section .toilet-link a {
	background-color: #0064c8;
	border-radius: 12px;
	color: #fff;
	display: block;
	line-height: 1.25;
	padding: 8px 8px 12px;
	text-align: center;
	text-decoration: none;
	width: 400px;
}

.home-section .toilet-link span {
	font-size: .9375rem; /* 15px */
}

.home-section .toilet-link strong {
	display: block;
	font-size: 1.5rem; /* 24px */
}

.home-section .sosei-block p {
	color: #6e6e6e;
	font-size: 1.5rem; /* 24px */
	font-weight: bold;
	line-height: 1.75;
	margin-bottom: 0;
}

.home-section .sosei-block h3 {
	color: #0046a0;
	font-family: "Noto Serif JP", serif;
	font-optical-sizing: auto;
	font-size: 4rem; /* 64px */
	font-style: normal;
	margin-top: .5rem;
}

.home-section .makashitokare-block {
	background-color: #e6f0fa;
	font-family: "Noto Serif JP", serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-weight: bold;
	margin-top: 40px;
	padding: 32px 16px;
}

.home-section .makashitokare-block p {
	background-color: #e6f0fa;
	font-size: 2rem; /* 32px */
	line-height: 1;
	margin-bottom: 1.5rem;
	margin-top: 0;
	text-align: center;
}

.home-section .makashitokare-block p strong {
	color: #a02850;

}

.home-section .makashitokare-block h3 {
	background-color: #e6f0fa;
	display: flex;
	font-size: 3rem; /* 48px */
	justify-content: center;
	line-height: 1;
	margin: 0;
}

.home-section .makashitokare-block h3::before,
.home-section .makashitokare-block h3::after {
	background-color: #222;
	content: "";
	height: 48px;
	width: 1px;
}

.home-section .makashitokare-block h3::before {
  margin-right: .5em;
  transform: translateY(2px) rotate(-30deg);
}

.home-section .makashitokare-block h3::after {
  margin-left: .5em;
  transform: translateY(2px) rotate(30deg);
}

.home-section .profile-list {
	padding-left: 1.75em;
}

.home-section .shikaku-list {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
}

.home-section .shikaku-list dt {
	font-weight: bold;
	width: 5em;
}

.home-section .shikaku-list dd {
	margin: 0;
	width: calc(100% - 5em);
}

.home-section .oen-link-block {
	margin: 0 auto;
	max-width: 100%;
	width: 440px;
}

.home-section .oen-title {
	background: url(../img/txt-oen.png) no-repeat center top / 260px;
	color: #0064c8;
	font-size: 3rem; /* 48px */
	line-height: 1.25;
	padding: 56px 12px 0;
	text-align: center;
	text-align-last: justify;
}

.home-section .oen-link a {
	background-color: #0064c8;
	border-radius: 12px;
	color: #fff;
	display: block;
	font-size: 1.25rem; /* 20px */
	font-weight: bold;
	line-height: 1.25;
	padding: 14px 0 16px;
	text-align: center;
	text-decoration: none;
	width: 100%;
}

.home-section .oen-address {
	font-weight: bold;
	line-height: 1.5;
	text-align: center;
}

@media screen and (max-width: 1023px) {
	.home-content .home-section {
		margin-bottom: 60px;
		margin-top: 60px;
		scroll-margin-top: 80px;
	}
}

@media screen and (max-width: 767px) {
	.home-section .section-title {
		font-size: 2rem; /* 32px */
		margin-top: 1.5rem;
		line-height: 1.5;
		text-underline-offset: 7px;
	}

	.home-section .section-title .commas {
		display: inline;
	}

	.home-section .section-title br {
		display: none;
	}

	.home-section .section-title .sub {
		font-size: 1.375rem; /* 22px */
	}

	.home-section .toilet-link-block .wp-block-group__inner-container {
		align-items: normal;
		flex-flow: column;
		justify-content: normal;
	}

	.home-section .toilet-text {
		padding: 0 0 0 20px;
	}

	.home-section .toilet-text::after {
		display: none;
	}

	.home-section .toilet-text::before {
		border-bottom: 2px solid #222;
		border-right: 2px solid #222;
		content: "";
		height: 10px;
		position: absolute;
		left: 4px;
		top: calc(50% - 6px);
		transform: rotate(45deg);
		width: 10px;
}

	.home-section .toilet-link a {
		width: 100%;
	}

	.home-section .sosei-block p {
		font-size: 1.375rem; /* 22px */
	}

	.home-section .sosei-block h3 {
		font-size: 3.625rem; /* 58px */
	}

	.home-section .makashitokare-block {
		margin-top: 30px;
		padding: 20px 8px;
	}

	.home-section .makashitokare-block p {
		font-size: 1.375rem; /* 22px */
		margin: 0 auto 1.25rem;
	}

	.home-section .makashitokare-block h3 {
		font-size: 2.5rem; /* 40px */
	}

	.home-section .makashitokare-block h3::before,
	.home-section .makashitokare-block h3::after {
		height: 40px;
	}

	.home-section .makashitokare-block h3::before {
		margin-right: .3em;
	}

	.home-section .makashitokare-block h3::after {
		margin-left: .3em;
	}
}

@media screen and (max-width: 479px) {
	.home-section .section-title {
		font-size: 1.75rem; /* 28px */
	}

	.home-section .toilet-link span {
		font-size: .875rem; /* 14px */
	}

	.home-section .toilet-link strong {
		font-size: 1.375rem; /* 22px */
	}

	.home-section .sosei-block p {
		font-size: 1.25rem; /* 20px */
	}

	.home-section .sosei-block h3 {
		font-size: 3.25rem; /* 52px */
	}

	.home-section .makashitokare-block p {
		font-size: 1.125rem; /* 18px */
		line-height: 1.25;
		margin: 0 auto .75rem;
	}

	.home-section .makashitokare-block h3 {
		font-size: 2.125rem; /* 34px */
	}

	.home-section .makashitokare-block h3::before,
	.home-section .makashitokare-block h3::after {
		height: 34px;
	}

	.home-section .oen-title {
		font-size: 2.5rem; /* 40px */
		padding: 56px 0 0;
		text-align-last: auto;
	}
}

@media screen and (max-width: 374px) {
	.home-section .lead-signature {
		font-size: 1rem; /* 16px */
	}

	.home-section .toilet-link span {
		font-size: .8125rem; /* 13px */
	}

	.home-section .toilet-link strong {
		font-size: 1.25rem; /* 20px */
	}

	.home-section .makashitokare-block h3 {
		font-size: 1.875rem; /* 30px */
	}

	.home-section .makashitokare-block h3::before,
	.home-section .makashitokare-block h3::after {
		height: 30px;
	}

	.home-section .shikaku-list {
		flex-flow: column;
	}

	.home-section .shikaku-list dt,
	.home-section .shikaku-list dd {
		width: 100%;
	}

	.home-section .oen-title {
		font-size: 2.125rem; /* 34px */
	}

	.home-section .oen-address {
		font-size: 1rem; /* 16px */
	}
}

@media (hover: hover) and (pointer: fine) {
	.home-section .toilet-link a,
	.home-section .oen-link a {
		transition: opacity .3s ease-out;
	}

	.home-section .toilet-link a:hover,
	.home-section .oen-link a:hover {
		opacity: .7;
	}
}

/* @end */

/* @group Summary list */

.summary-list {
	margin-bottom: 3rem;
	margin-top: 3rem;
}

.loop-summary .summary-header {
	margin-bottom: 3rem;
	margin-top: 3rem;
}

.loop-summary .summary-eyecatch {
	margin-bottom: 3rem;
	margin-top: 3rem;
}

.loop-summary .summary-eyecatch img {
	margin-left: auto;
	margin-right: auto;
}

.loop-summary .summary-content p {
	line-height: 2;
}

.loop-summary .summary-footer {
	margin-bottom: 3rem;
	margin-top: 3rem;
}

.loop-summary.sticky .posted-on {
	display: none;
}

/* @end */

/* @group Accessibility */

.screen-reader-text,
.says {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	-webkit-clip-path: inset(50%);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	overflow-wrap: normal !important;
	padding: 0;
	position: absolute !important;
	width: 1px !important;
	word-break: normal;
}

.skip-link.screen-reader-text:focus {
	background-color: #eee;
	clip: auto !important;
	-webkit-clip-path: none;
	clip-path: none;
	color: #444;
	display: block;
	font-size: 1em;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* @end */
