@charset "UTF-8";
/*--------------------------------------------------------------
  テーマ用スタイルシート
--------------------------------------------------------------*/
/**
 * サイト全体
 */
/***** CSS変数 *****/
:root
{
	--primary-color: #ec7080;
	--primary-variant-color: #ffd5e1;
	--secondary-color: #0061b0;
	--secondary-variant-color: #ccebfa;
	--secondary-variant-dark-color: #bbdbf3;
	--text-color: #3e3a39;
	--text-light-color: #ffffff;
	--text-accent-color: #cf2e2e;
	--background-color: #ffffff;
	--background-accent-color: var(--secondary-variant-color);
	--background-secondary-color: #f3f3f3;
	--header-background-color: #ffffff;
	--navigation-background-color: #ffffff;
	--footer-background-color: #ffffff;
	--logo-key-color: #ec7080;
	--honbu-key-color: #ec7080;
	--sobun-key-color: #be1500;
	--kagaku-key-color: #00a1df;
	--kaihin-key-color: #45a19f;
	--nasu-key-color: #1a842b;
	--maibun-key-color: #f2ce41;
	--ikusei-key-color: #9bcb26;
	--ikusei-accent-color: var(--primary-color);
	--ikusei-secondary-color: #1e7d00;
	--bunka-key-color: #f18942;
	--learning-key-color: #e390d7;
	--learning-accent-color: #f3e21b;
	--learning-secondary-color: #621bf3;
	--base-font: 'Noto Sans JP', 'Yu Gothic', 'Hiragino Kaku Gothic ProN', sans-serif;
}

/***** タグ *****/
html
{
	width: 100%;
	overflow-x: hidden;
}

body
{
	background-color: var(--background-color);
	color: var(--text-color);
	font-family: var(--base-font);
	line-height: 1.5;
	width: 100%;
	overflow-x: hidden;
}

h1
{
	font-size: 1.375rem;
	font-weight: 600;
	letter-spacing: 0.25em;
	margin: 0.0rem auto;
	padding: 1.0em 0.0em;
}

h2
{
	border-style: none none solid none;
	border-width: 0px 0px 1px 0px;
	border-image-source: linear-gradient(90deg, var(--text-color), var(--text-color) 30rem, transparent 30rem);
	border-image-slice: 1;
	font-size: 1.25rem;
	font-weight: 600;
	letter-spacing: 0.25em;
	margin: 1.0rem auto;
	padding: 1.0em 0.0em;
}

h2.has-text-align-center
{
	border-image-source: linear-gradient(90deg, transparent calc(50% - 15rem), var(--text-color) calc(50% - 15rem), var(--text-color) calc(50% + 15rem), transparent calc(50% + 15rem));
}

h3
{
	font-size: 1.125rem;
	font-weight: 600;
	letter-spacing: 0.25em;
	margin: 1.0rem auto;
	padding: 1.0em 0.0em;
}

h4
{
	font-size: 1.0625rem;
	font-weight: 600;
	margin: 1.0rem auto 0.0rem auto;
	padding: 1.0em 0.0em;
}

h5
{
	font-size: 1.03125rem;
	font-weight: 600;
	margin: 1.0rem auto 0.0rem auto;
	padding: 1.0em 0.0em;
}

h6
{
	font-size: 1.0rem;
	font-weight: 600;
	margin: 1.0rem auto 0.0rem auto;
	padding: 1.0em 0.0em;
}

:is(h1,h2,h3,h4,h5,h6)[data-anothertext]
{
	position: relative;
	z-index: 0;
}

:is(h1,h2,h3,h4,h5,h6)[data-anothertext]::after
{
	content: attr(data-anothertext);
	font-family: 'Readex Pro', 'Noto Sans JP', 'Yu Gothic', 'Hiragino Kaku Gothic ProN', sans-serif;
	color: var(--secondary-variant-dark-color);
	font-size: 1.5em;
	line-height: 1.0;
	width: 100%;
	display: block;
	overflow-wrap: break-word;
	position: absolute;
	left: 0.0rem;
	top: 0.25rem;
	z-index: -1;
}

p
{
	text-indent: 0.0rem;
	margin: 1.0rem auto 0.0rem auto;
	overflow-wrap: anywhere;
}

ul
{
	margin: 1.0rem auto 0.0rem auto;
	padding-left: 2.0rem;
}

ol
{
	margin: 1.0rem auto 0.0rem auto;
	padding-left: 2.0rem;
}

li ul
{
	margin-top: 0.0rem;
}

li ol
{
	margin-top: 0.0rem;
}

dl
{
	margin: 1.0rem auto 0.0rem auto;
}

table
{
	box-sizing: border-box;
	border-collapse: separate !important;
	border-spacing: 0px;
	border-radius: 2.0rem;
	border-left: 1px solid var(--text-color);
	border-top: 1px solid var(--text-color);
	overflow: hidden;
	table-layout: fixed;
}

th,
.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table tr th
{
	background-color: var(--secondary-variant-color);
	border-left: 0px solid var(--text-color);
	border-right: 1px solid var(--text-color);
	border-top: 0px solid var(--text-color);
	border-bottom: 1px solid var(--text-color);
	color: var(--text-color);
	padding: 0.5rem 1.0rem;
}

td,
.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table tr td
{
	border-left: 0px solid var(--text-color);
	border-right: 1px solid var(--text-color);
	border-top: 0px solid var(--text-color);
	border-bottom: 1px solid var(--text-color);
	padding: 0.5rem 1.0rem;
}

table :where(thead,tbody,tfoot):last-child tr:last-of-type :where(th,td):last-child,
.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table :where(thead,tbody,tfoot):last-child tr:last-of-type :where(th,td):last-child
{
	border-radius: 0.0rem 0.0rem 2.0rem 0.0rem;
}

figure
{
	text-align: center;
	margin: 1.0rem auto 0.0rem auto;
}

figcaption
{
	text-align: center;
}

img
{
	vertical-align: top;
}

a
{
	text-decoration: none;
}

a:link,
a:visited
{
	color: var(--secondary-color);
}

a:hover,
a:active,
a:focus
{
	color: var(--primary-color);
}

a:hover > mark,
a:active > mark,
a:focus > mark
{
	filter: hue-rotate(100deg);
}

details > summary
{
	font-size: 1.125rem;
	font-weight: 600;
	text-indent: -1.25em;
	letter-spacing: 0.25em;
	margin-left: 1.25em;
}

details > summary > :where(*)
{
	text-indent: 0.0em;
}

details > summary::marker
{
	content: '';
}

details > summary::-webkit-details-marker /* for Safari */
{
	display: none;
}

details > summary::before
{
	content: '＋';
}

details[open] > summary::before
{
	content: '－';
}

details > *:not(summary)
{
	margin-left: 1.0rem;
}

strong
{
	font-weight: 600;
}

/***** ブロック *****/
.wp-block-cover:not(.has-text-color)
{
	color: var(--text-light-color);
}

.wp-block-cover.is-light:not(.has-text-color)
{
	color: var(--text-color);
}

.wp-block-button__link
{
	background-color: var(--secondary-color);
	border-radius: 0.25rem;
	font-size: 0.9rem;
	transition-duration: 0.5s;
	transition-property: transform;
}

.wp-block-button:not(.is-style-outline) > .wp-block-button__link,
.wp-block-file > .wp-block-file__button
{
	color: var(--text-light-color);
}

.wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover
{
	transform: translate(3px, 3px);
}

.wp-block-button.is-style-outline > .wp-block-button__link:not(.has-text-color)
{
	color: var(--secondary-color);
}

.wp-block-separator
{
	border-top: none;
}

.wp-block-details
{
	margin: 1.0rem 0.0rem;
}

.wp-block-embed.wp-embed-aspect-21-9 > .wp-block-embed__wrapper
{
	padding-top: calc(100% * 9 / 21);
}

.wp-block-embed.wp-embed-aspect-18-9 > .wp-block-embed__wrapper
{
	padding-top: calc(100% * 9 / 18);
}

.wp-block-embed.wp-embed-aspect-16-9 > .wp-block-embed__wrapper
{
	padding-top: calc(100% * 9 / 16);
}

.wp-block-embed.wp-embed-aspect-4-3 > .wp-block-embed__wrapper
{
	padding-top: calc(100% * 3 / 4);
}

.wp-block-embed.wp-embed-aspect-1-1 > .wp-block-embed__wrapper
{
	padding-top: 100%;
}

.wp-block-embed.wp-embed-aspect-9-16 > .wp-block-embed__wrapper
{
	padding-top: calc(100% * 16 / 9);
}

.wp-block-embed.wp-embed-aspect-1-2 > .wp-block-embed__wrapper
{
	padding-top: calc(100% * 2);
}

.wp-block-embed iframe
{
	width: 100%;
	height: 100%;
	display: block;
	position: absolute;
	top: 0.0rem;
}

/***** 汎用クラス等 *****/
/* 高解像度画面における要素の表示 */
.high-res-disp-none { display: none; }
.high-res-disp-inline { display: inline; }
.high-res-disp-inlineblock { display: inline-block; }
.high-res-disp-block { display: block; }
.high-res-disp-flex { display: flex; }

/* 幅 */
.block-w-0pct { width: 0%; }
.block-w-5pct { width: 5%; }
.block-w-10pct { width: 10%; }
.block-w-15pct { width: 15%; }
.block-w-20pct { width: 20%; }
.block-w-25pct { width: 25%; }
.block-w-30pct { width: 30%; }
.block-w-35pct { width: 35%; }
.block-w-40pct { width: 40%; }
.block-w-45pct { width: 45%; }
.block-w-50pct { width: 50%; }
.block-w-55pct { width: 55%; }
.block-w-60pct { width: 60%; }
.block-w-65pct { width: 65%; }
.block-w-70pct { width: 70%; }
.block-w-75pct { width: 75%; }
.block-w-80pct { width: 80%; }
.block-w-85pct { width: 85%; }
.block-w-90pct { width: 90%; }
.block-w-95pct { width: 95%; }
.block-w-100pct { width: 100%; }

/* 最大幅 */
.block-w-max-1rem { max-width: 1rem; }
.block-w-max-2rem { max-width: 2rem; }
.block-w-max-3rem { max-width: 3rem; }
.block-w-max-4rem { max-width: 4rem; }
.block-w-max-5rem { max-width: 5rem; }
.block-w-max-6rem { max-width: 6rem; }
.block-w-max-7rem { max-width: 7rem; }
.block-w-max-8rem { max-width: 8rem; }
.block-w-max-9rem { max-width: 9rem; }
.block-w-max-10rem { max-width: 10rem; }
.block-w-max-15rem { max-width: 15rem; }
.block-w-max-20rem { max-width: 20rem; }
.block-w-max-25rem { max-width: 25rem; }
.block-w-max-30rem { max-width: 30rem; }
.block-w-max-35rem { max-width: 35rem; }
.block-w-max-40rem { max-width: 40rem; }
.block-w-max-45rem { max-width: 45rem; }
.block-w-max-50rem { max-width: 50rem; }
.block-w-max-55rem { max-width: 55rem; }
.block-w-max-60rem { max-width: 60rem; }
.block-w-max-65rem { max-width: 65rem; }
.block-w-max-70rem { max-width: 70rem; }
.block-w-max-75rem { max-width: 75rem; }
.block-w-max-80rem { max-width: 80rem; }
.block-w-max-85rem { max-width: 85rem; }
.block-w-max-90rem { max-width: 90rem; }
.block-w-max-95rem { max-width: 95rem; }
.block-w-max-100rem { max-width: 100rem; }

/* 左マージン */
.block-m-left-0rem { margin-left: 0.0rem; }
.block-m-left-1rem { margin-left: 1.0rem; }
.block-m-left-2rem { margin-left: 2.0rem; }
.block-m-left-3rem { margin-left: 3.0rem; }
.block-m-left-4rem { margin-left: 4.0rem; }
.block-m-left-5rem { margin-left: 5.0rem; }
.block-m-left-6rem { margin-left: 6.0rem; }
.block-m-left-7rem { margin-left: 7.0rem; }
.block-m-left-8rem { margin-left: 8.0rem; }
.block-m-left-9rem { margin-left: 9.0rem; }
.block-m-left-10rem { margin-left: 10rem; }
.block-m-left-negative-1rem { margin-left: -1.0rem; }
.block-m-left-negative-2rem { margin-left: -2.0rem; }
.block-m-left-negative-3rem { margin-left: -3.0rem; }
.block-m-left-negative-4rem { margin-left: -4.0rem; }
.block-m-left-negative-5rem { margin-left: -5.0rem; }
.block-m-left-negative-6rem { margin-left: -6.0rem; }
.block-m-left-negative-7rem { margin-left: -7.0rem; }
.block-m-left-negative-8rem { margin-left: -8.0rem; }
.block-m-left-negative-9rem { margin-left: -9.0rem; }
.block-m-left-negative-10rem { margin-left: -10rem; }

/* 右マージン */
.block-m-right-0rem { margin-right: 0.0rem; }
.block-m-right-1rem { margin-right: 1.0rem; }
.block-m-right-2rem { margin-right: 2.0rem; }
.block-m-right-3rem { margin-right: 3.0rem; }
.block-m-right-4rem { margin-right: 4.0rem; }
.block-m-right-5rem { margin-right: 5.0rem; }
.block-m-right-6rem { margin-right: 6.0rem; }
.block-m-right-7rem { margin-right: 7.0rem; }
.block-m-right-8rem { margin-right: 8.0rem; }
.block-m-right-9rem { margin-right: 9.0rem; }
.block-m-right-10rem { margin-right: 10rem; }
.block-m-right-negative-1rem { margin-right: -1.0rem; }
.block-m-right-negative-2rem { margin-right: -2.0rem; }
.block-m-right-negative-3rem { margin-right: -3.0rem; }
.block-m-right-negative-4rem { margin-right: -4.0rem; }
.block-m-right-negative-5rem { margin-right: -5.0rem; }
.block-m-right-negative-6rem { margin-right: -6.0rem; }
.block-m-right-negative-7rem { margin-right: -7.0rem; }
.block-m-right-negative-8rem { margin-right: -8.0rem; }
.block-m-right-negative-9rem { margin-right: -9.0rem; }
.block-m-right-negative-10rem { margin-right: -10rem; }

/* 上マージン */
.block-m-top-0rem { margin-top: 0.0rem; }
.block-m-top-1rem { margin-top: 1.0rem; }
.block-m-top-2rem { margin-top: 2.0rem; }
.block-m-top-3rem { margin-top: 3.0rem; }
.block-m-top-4rem { margin-top: 4.0rem; }
.block-m-top-5rem { margin-top: 5.0rem; }
.block-m-top-6rem { margin-top: 6.0rem; }
.block-m-top-7rem { margin-top: 7.0rem; }
.block-m-top-8rem { margin-top: 8.0rem; }
.block-m-top-9rem { margin-top: 9.0rem; }
.block-m-top-10rem { margin-top: 10rem; }
.block-m-top-negative-1rem { margin-top: -1.0rem; }
.block-m-top-negative-2rem { margin-top: -2.0rem; }
.block-m-top-negative-3rem { margin-top: -3.0rem; }
.block-m-top-negative-4rem { margin-top: -4.0rem; }
.block-m-top-negative-5rem { margin-top: -5.0rem; }
.block-m-top-negative-6rem { margin-top: -6.0rem; }
.block-m-top-negative-7rem { margin-top: -7.0rem; }
.block-m-top-negative-8rem { margin-top: -8.0rem; }
.block-m-top-negative-9rem { margin-top: -9.0rem; }
.block-m-top-negative-10rem { margin-top: -10rem; }
.block-m-top-negative-11rem { margin-top: -11rem; }
.block-m-top-negative-12rem { margin-top: -12rem; }
.block-m-top-negative-13rem { margin-top: -13rem; }
.block-m-top-negative-14rem { margin-top: -14rem; }
.block-m-top-negative-15rem { margin-top: -15rem; }
.block-m-top-negative-16rem { margin-top: -16rem; }
.block-m-top-negative-17rem { margin-top: -17rem; }
.block-m-top-negative-18rem { margin-top: -18rem; }
.block-m-top-negative-19rem { margin-top: -19rem; }
.block-m-top-negative-20rem { margin-top: -20rem; }

/* 下マージン */
.block-m-bottom-0rem { margin-bottom: 0.0rem; }
.block-m-bottom-1rem { margin-bottom: 1.0rem; }
.block-m-bottom-2rem { margin-bottom: 2.0rem; }
.block-m-bottom-3rem { margin-bottom: 3.0rem; }
.block-m-bottom-4rem { margin-bottom: 4.0rem; }
.block-m-bottom-5rem { margin-bottom: 5.0rem; }
.block-m-bottom-6rem { margin-bottom: 6.0rem; }
.block-m-bottom-7rem { margin-bottom: 7.0rem; }
.block-m-bottom-8rem { margin-bottom: 8.0rem; }
.block-m-bottom-9rem { margin-bottom: 9.0rem; }
.block-m-bottom-10rem { margin-bottom: 10rem; }
.block-m-bottom-negative-1rem { margin-bottom: -1.0rem; }
.block-m-bottom-negative-2rem { margin-bottom: -2.0rem; }
.block-m-bottom-negative-3rem { margin-bottom: -3.0rem; }
.block-m-bottom-negative-4rem { margin-bottom: -4.0rem; }
.block-m-bottom-negative-5rem { margin-bottom: -5.0rem; }
.block-m-bottom-negative-6rem { margin-bottom: -6.0rem; }
.block-m-bottom-negative-7rem { margin-bottom: -7.0rem; }
.block-m-bottom-negative-8rem { margin-bottom: -8.0rem; }
.block-m-bottom-negative-9rem { margin-bottom: -9.0rem; }
.block-m-bottom-negative-10rem { margin-bottom: -10rem; }
.block-m-bottom-negative-11rem { margin-bottom: -11rem; }
.block-m-bottom-negative-12rem { margin-bottom: -12rem; }
.block-m-bottom-negative-13rem { margin-bottom: -13rem; }
.block-m-bottom-negative-14rem { margin-bottom: -14rem; }
.block-m-bottom-negative-15rem { margin-bottom: -15rem; }
.block-m-bottom-negative-16rem { margin-bottom: -16rem; }
.block-m-bottom-negative-17rem { margin-bottom: -17rem; }
.block-m-bottom-negative-18rem { margin-bottom: -18rem; }
.block-m-bottom-negative-19rem { margin-bottom: -19rem; }
.block-m-bottom-negative-20rem { margin-bottom: -20rem; }

/* 上パディング */
.block-p-top-0rem { padding-top: 0.0rem; }
.block-p-top-1rem { padding-top: 1.0rem; }
.block-p-top-2rem { padding-top: 2.0rem; }
.block-p-top-3rem { padding-top: 3.0rem; }
.block-p-top-4rem { padding-top: 4.0rem; }
.block-p-top-5rem { padding-top: 5.0rem; }

/* 下パディング */
.block-p-bottom-0rem { padding-bottom: 0.0rem; }
.block-p-bottom-1rem { padding-bottom: 1.0rem; }
.block-p-bottom-2rem { padding-bottom: 2.0rem; }
.block-p-bottom-3rem { padding-bottom: 3.0rem; }
.block-p-bottom-4rem { padding-bottom: 4.0rem; }
.block-p-bottom-5rem { padding-bottom: 5.0rem; }

/* ボーダー幅 */
.block-border-w-0px { border-width: 0px; }
.block-border-w-1px { border-width: 1px; }
.block-border-w-2px { border-width: 2px; }
.block-border-w-3px { border-width: 3px; }
.block-border-w-4px { border-width: 4px; }
.block-border-w-5px { border-width: 5px; }

/* 左ボーダー幅 */
.block-border-left-w-0px { border-left-width: 0px; }
.block-border-left-w-1px { border-left-width: 1px; }
.block-border-left-w-2px { border-left-width: 2px; }
.block-border-left-w-3px { border-left-width: 3px; }
.block-border-left-w-4px { border-left-width: 4px; }
.block-border-left-w-5px { border-left-width: 5px; }

/* 右ボーダー幅 */
.block-border-right-w-0px { border-right-width: 0px; }
.block-border-right-w-1px { border-right-width: 1px; }
.block-border-right-w-2px { border-right-width: 2px; }
.block-border-right-w-3px { border-right-width: 3px; }
.block-border-right-w-4px { border-right-width: 4px; }
.block-border-right-w-5px { border-right-width: 5px; }

/* 上ボーダー幅 */
.block-border-top-w-0px { border-top-width: 0px; }
.block-border-top-w-1px { border-top-width: 1px; }
.block-border-top-w-2px { border-top-width: 2px; }
.block-border-top-w-3px { border-top-width: 3px; }
.block-border-top-w-4px { border-top-width: 4px; }
.block-border-top-w-5px { border-top-width: 5px; }

/* 下ボーダー幅 */
.block-border-bottom-w-0px { border-bottom-width: 0px; }
.block-border-bottom-w-1px { border-bottom-width: 1px; }
.block-border-bottom-w-2px { border-bottom-width: 2px; }
.block-border-bottom-w-3px { border-bottom-width: 3px; }
.block-border-bottom-w-4px { border-bottom-width: 4px; }
.block-border-bottom-w-5px { border-bottom-width: 5px; }

/* ボーダースタイル */
.block-border-style-none { border-style: none; }
.block-border-style-solid { border-style: solid; }
.block-border-style-dot { border-style: dotted; }
.block-border-style-dash { border-style: dashed; }
.block-border-style-double { border-style: double; }

/* 左ボーダースタイル */
.block-border-left-style-none { border-left-style: none; }
.block-border-left-style-solid { border-left-style: solid; }
.block-border-left-style-dot { border-left-style: dotted; }
.block-border-left-style-dash { border-left-style: dashed; }
.block-border-left-style-double { border-left-style: double; }

/* 右ボーダースタイル */
.block-border-right-style-none { border-right-style: none; }
.block-border-right-style-solid { border-right-style: solid; }
.block-border-right-style-dot { border-right-style: dotted; }
.block-border-right-style-dash { border-right-style: dashed; }
.block-border-right-style-double { border-right-style: double; }

/* 上ボーダースタイル */
.block-border-top-style-none { border-top-style: none; }
.block-border-top-style-solid { border-top-style: solid; }
.block-border-top-style-dot { border-top-style: dotted; }
.block-border-top-style-dash { border-top-style: dashed; }
.block-border-top-style-double { border-top-style: double; }

/* 下ボーダースタイル */
.block-border-bottom-style-none { border-bottom-style: none; }
.block-border-bottom-style-solid { border-bottom-style: solid; }
.block-border-bottom-style-dot { border-bottom-style: dotted; }
.block-border-bottom-style-dash { border-bottom-style: dashed; }
.block-border-bottom-style-double { border-bottom-style: double; }

/* ボーダー角の丸め */
.block-style-rounded
{
	border-radius: 1.0rem;
	overflow: hidden;
}

.block-style-rounded > .wp-block-group__inner-container > figure
{
	margin-top: 0.0rem;
}

.block-style-rounded > .wp-block-group__inner-container > iframe
{
	display: block;
}

/* ブロックの陰影 */
.block-style-shadow
{
	box-shadow: 10px 10px var(--secondary-variant-color);
}

/* フレックスコンテナのアイテム間隔 */
.block-gap-0rem { gap: 0.0rem; }
.block-gap-1rem { gap: 1.0rem; }
.block-gap-2rem { gap: 2.0rem; }
.block-gap-3rem { gap: 3.0rem; }
.block-gap-4rem { gap: 4.0rem; }
.block-gap-5rem { gap: 5.0rem; }
.block-gap-6rem { gap: 6.0rem; }
.block-gap-7rem { gap: 7.0rem; }
.block-gap-8rem { gap: 8.0rem; }
.block-gap-9rem { gap: 9.0rem; }
.block-gap-10rem { gap: 10rem; }

/* フレックスコンテナのアイテム間隔（列） */
.block-colgap-0rem { column-gap: 0.0rem; }
.block-colgap-1rem { column-gap: 1.0rem; }
.block-colgap-2rem { column-gap: 2.0rem; }
.block-colgap-3rem { column-gap: 3.0rem; }
.block-colgap-4rem { column-gap: 4.0rem; }
.block-colgap-5rem { column-gap: 5.0rem; }
.block-colgap-6rem { column-gap: 6.0rem; }
.block-colgap-7rem { column-gap: 7.0rem; }
.block-colgap-8rem { column-gap: 8.0rem; }
.block-colgap-9rem { column-gap: 9.0rem; }
.block-colgap-10rem { column-gap: 10rem; }

/* フレックスコンテナのアイテム間隔（行） */
.block-rowgap-0rem { row-gap: 0.0rem; }
.block-rowgap-1rem { row-gap: 1.0rem; }
.block-rowgap-2rem { row-gap: 2.0rem; }
.block-rowgap-3rem { row-gap: 3.0rem; }
.block-rowgap-4rem { row-gap: 4.0rem; }
.block-rowgap-5rem { row-gap: 5.0rem; }
.block-rowgap-6rem { row-gap: 6.0rem; }
.block-rowgap-7rem { row-gap: 7.0rem; }
.block-rowgap-8rem { row-gap: 8.0rem; }
.block-rowgap-9rem { row-gap: 9.0rem; }
.block-rowgap-10rem { row-gap: 10rem; }

/* 幅が決まったブロックの中央寄せ */
.block-pos-center
{
	margin-left: auto;
	margin-right: auto;
}

/* 配置方式 */
.block-loc-relative { position: relative; }
.block-loc-absolute { position: absolute; }

/* 左位置 */
.block-loc-left-0pct { left: 0%; }
.block-loc-left-5pct { left: 5%; }
.block-loc-left-10pct { left: 10%; }
.block-loc-left-15pct { left: 15%; }
.block-loc-left-20pct { left: 20%; }
.block-loc-left-25pct { left: 25%; }
.block-loc-left-30pct { left: 30%; }
.block-loc-left-35pct { left: 35%; }
.block-loc-left-40pct { left: 40%; }
.block-loc-left-45pct { left: 45%; }
.block-loc-left-50pct { left: 50%; }
.block-loc-left-55pct { left: 55%; }
.block-loc-left-60pct { left: 60%; }
.block-loc-left-65pct { left: 65%; }
.block-loc-left-70pct { left: 70%; }
.block-loc-left-75pct { left: 75%; }
.block-loc-left-80pct { left: 80%; }
.block-loc-left-85pct { left: 85%; }
.block-loc-left-90pct { left: 90%; }
.block-loc-left-95pct { left: 95%; }
.block-loc-left-100pct { left: 100%; }

/* 右位置 */
.block-loc-right-0pct { right: 0%; }
.block-loc-right-5pct { right: 5%; }
.block-loc-right-10pct { right: 10%; }
.block-loc-right-15pct { right: 15%; }
.block-loc-right-20pct { right: 20%; }
.block-loc-right-25pct { right: 25%; }
.block-loc-right-30pct { right: 30%; }
.block-loc-right-35pct { right: 35%; }
.block-loc-right-40pct { right: 40%; }
.block-loc-right-45pct { right: 45%; }
.block-loc-right-50pct { right: 50%; }
.block-loc-right-55pct { right: 55%; }
.block-loc-right-60pct { right: 60%; }
.block-loc-right-65pct { right: 65%; }
.block-loc-right-70pct { right: 70%; }
.block-loc-right-75pct { right: 75%; }
.block-loc-right-80pct { right: 80%; }
.block-loc-right-85pct { right: 85%; }
.block-loc-right-90pct { right: 90%; }
.block-loc-right-95pct { right: 95%; }
.block-loc-right-100pct { right: 100%; }

/* 上位置 */
.block-loc-top-0pct { top: 0%; }
.block-loc-top-5pct { top: 5%; }
.block-loc-top-10pct { top: 10%; }
.block-loc-top-15pct { top: 15%; }
.block-loc-top-20pct { top: 20%; }
.block-loc-top-25pct { top: 25%; }
.block-loc-top-30pct { top: 30%; }
.block-loc-top-35pct { top: 35%; }
.block-loc-top-40pct { top: 40%; }
.block-loc-top-45pct { top: 45%; }
.block-loc-top-50pct { top: 50%; }
.block-loc-top-55pct { top: 55%; }
.block-loc-top-60pct { top: 60%; }
.block-loc-top-65pct { top: 65%; }
.block-loc-top-70pct { top: 70%; }
.block-loc-top-75pct { top: 75%; }
.block-loc-top-80pct { top: 80%; }
.block-loc-top-85pct { top: 85%; }
.block-loc-top-90pct { top: 90%; }
.block-loc-top-95pct { top: 95%; }
.block-loc-top-100pct { top: 100%; }

/* 下位置 */
.block-loc-bottom-0pct { bottom: 0%; }
.block-loc-bottom-5pct { bottom: 5%; }
.block-loc-bottom-10pct { bottom: 10%; }
.block-loc-bottom-15pct { bottom: 15%; }
.block-loc-bottom-20pct { bottom: 20%; }
.block-loc-bottom-25pct { bottom: 25%; }
.block-loc-bottom-30pct { bottom: 30%; }
.block-loc-bottom-35pct { bottom: 35%; }
.block-loc-bottom-40pct { bottom: 40%; }
.block-loc-bottom-45pct { bottom: 45%; }
.block-loc-bottom-50pct { bottom: 50%; }
.block-loc-bottom-55pct { bottom: 55%; }
.block-loc-bottom-60pct { bottom: 60%; }
.block-loc-bottom-65pct { bottom: 65%; }
.block-loc-bottom-70pct { bottom: 70%; }
.block-loc-bottom-75pct { bottom: 75%; }
.block-loc-bottom-80pct { bottom: 80%; }
.block-loc-bottom-85pct { bottom: 85%; }
.block-loc-bottom-90pct { bottom: 90%; }
.block-loc-bottom-95pct { bottom: 95%; }
.block-loc-bottom-100pct { bottom: 100%; }

/* フォント */
.block-font-roboto { font-family: 'Roboto', var(--base-font); }

/* フォントサイズ */
.block-fontsize-5 { font-size: 0.05rem; }
.block-fontsize-10 { font-size: 0.1rem; }
.block-fontsize-15 { font-size: 0.15rem; }
.block-fontsize-20 { font-size: 0.2rem; }
.block-fontsize-25 { font-size: 0.25rem; }
.block-fontsize-30 { font-size: 0.3rem; }
.block-fontsize-35 { font-size: 0.35rem; }
.block-fontsize-40 { font-size: 0.4rem; }
.block-fontsize-45 { font-size: 0.45rem; }
.block-fontsize-50 { font-size: 0.5rem; }
.block-fontsize-55 { font-size: 0.55rem; }
.block-fontsize-60 { font-size: 0.6rem; }
.block-fontsize-65 { font-size: 0.65rem; }
.block-fontsize-70 { font-size: 0.7rem; }
.block-fontsize-75 { font-size: 0.75rem; }
.block-fontsize-80 { font-size: 0.8rem; }
.block-fontsize-85 { font-size: 0.85rem; }
.block-fontsize-90 { font-size: 0.9rem; }
.block-fontsize-95 { font-size: 0.95rem; }
.block-fontsize-100 { font-size: 1.0rem; }
.block-fontsize-105 { font-size: 1.05rem; }
.block-fontsize-110 { font-size: 1.1rem; }
.block-fontsize-115 { font-size: 1.15rem; }
.block-fontsize-120 { font-size: 1.2rem; }
.block-fontsize-125 { font-size: 1.25rem; }
.block-fontsize-130 { font-size: 1.3rem; }
.block-fontsize-135 { font-size: 1.35rem; }
.block-fontsize-140 { font-size: 1.4rem; }
.block-fontsize-145 { font-size: 1.45rem; }
.block-fontsize-150 { font-size: 1.5rem; }
.block-fontsize-155 { font-size: 1.55rem; }
.block-fontsize-160 { font-size: 1.6rem; }
.block-fontsize-165 { font-size: 1.65rem; }
.block-fontsize-170 { font-size: 1.7rem; }
.block-fontsize-175 { font-size: 1.75rem; }
.block-fontsize-180 { font-size: 1.8rem; }
.block-fontsize-185 { font-size: 1.85rem; }
.block-fontsize-190 { font-size: 1.9rem; }
.block-fontsize-195 { font-size: 1.95rem; }
.block-fontsize-200 { font-size: 2.0rem; }

/* フォントの太さ */
.block-fontweight-100 { font-weight: 100; }
.block-fontweight-200 { font-weight: 200; }
.block-fontweight-300 { font-weight: 300; }
.block-fontweight-400 { font-weight: 400; }
.block-fontweight-500 { font-weight: 500; }
.block-fontweight-600 { font-weight: 600; }
.block-fontweight-700 { font-weight: 700; }
.block-fontweight-800 { font-weight: 800; }
.block-fontweight-900 { font-weight: 900; }

/* 文字間隔 */
.block-text-space-1 { letter-spacing: 0.01em; }
.block-text-space-2 { letter-spacing: 0.02em; }
.block-text-space-3 { letter-spacing: 0.03em; }
.block-text-space-4 { letter-spacing: 0.04em; }
.block-text-space-5 { letter-spacing: 0.05em; }
.block-text-space-6 { letter-spacing: 0.06em; }
.block-text-space-7 { letter-spacing: 0.07em; }
.block-text-space-8 { letter-spacing: 0.08em; }
.block-text-space-9 { letter-spacing: 0.09em; }
.block-text-space-10 { letter-spacing: 0.1em; }
.block-text-space-15 { letter-spacing: 0.15em; }
.block-text-space-20 { letter-spacing: 0.2em; }
.block-text-space-25 { letter-spacing: 0.25em; }
.block-text-space-30 { letter-spacing: 0.3em; }
.block-text-space-35 { letter-spacing: 0.35em; }
.block-text-space-40 { letter-spacing: 0.4em; }
.block-text-space-45 { letter-spacing: 0.45em; }
.block-text-space-50 { letter-spacing: 0.5em; }
.block-text-space-55 { letter-spacing: 0.55em; }
.block-text-space-60 { letter-spacing: 0.6em; }
.block-text-space-65 { letter-spacing: 0.65em; }
.block-text-space-70 { letter-spacing: 0.7em; }
.block-text-space-75 { letter-spacing: 0.75em; }
.block-text-space-80 { letter-spacing: 0.8em; }
.block-text-space-85 { letter-spacing: 0.85em; }
.block-text-space-90 { letter-spacing: 0.9em; }
.block-text-space-95 { letter-spacing: 0.95em; }
.block-text-space-100 { letter-spacing: 1.0em; }

/* 文字装飾（陰影） */
.block-text-shadow { text-shadow: 2px 2px 5px var(--text-color); }

/* 1行の高さ */
.block-lineheight-100 { line-height: 1.0; }
.block-lineheight-105 { line-height: 1.05; }
.block-lineheight-110 { line-height: 1.1; }
.block-lineheight-115 { line-height: 1.15; }
.block-lineheight-120 { line-height: 1.2; }
.block-lineheight-125 { line-height: 1.25; }
.block-lineheight-130 { line-height: 1.3; }
.block-lineheight-135 { line-height: 1.35; }
.block-lineheight-140 { line-height: 1.4; }
.block-lineheight-145 { line-height: 1.45; }
.block-lineheight-150 { line-height: 1.5; }
.block-lineheight-155 { line-height: 1.55; }
.block-lineheight-160 { line-height: 1.6; }
.block-lineheight-165 { line-height: 1.65; }
.block-lineheight-170 { line-height: 1.7; }
.block-lineheight-175 { line-height: 1.75; }
.block-lineheight-180 { line-height: 1.8; }
.block-lineheight-185 { line-height: 1.85; }
.block-lineheight-190 { line-height: 1.9; }
.block-lineheight-195 { line-height: 1.95; }
.block-lineheight-200 { line-height: 2.0; }

/* 疑似マーカー（段落の行頭に文字や番号が付く場合の表示） */
.block-text-pseudo-marker
{
	text-indent: -1.0em;
	padding-left: 1.0em;
}

.block-text-pseudo-marker-width-15
{
	text-indent: -1.5em;
	padding-left: 1.5em;
}

.block-text-pseudo-marker-width-20
{
	text-indent: -2.0em;
	padding-left: 2.0em;
}

.block-text-pseudo-marker-width-25
{
	text-indent: -2.5em;
	padding-left: 2.5em;
}

.block-text-pseudo-marker-width-30
{
	text-indent: -3.0em;
	padding-left: 3.0em;
}

:is(.block-text-pseudo-marker,.block-text-pseudo-marker-width-15,.block-text-pseudo-marker-width-20,.block-text-pseudo-marker-width-25,.block-text-pseudo-marker-width-30)::before,
:is(.block-text-pseudo-marker,.block-text-pseudo-marker-width-15,.block-text-pseudo-marker-width-20,.block-text-pseudo-marker-width-25,.block-text-pseudo-marker-width-30)::after,
:is(.block-text-pseudo-marker,.block-text-pseudo-marker-width-15,.block-text-pseudo-marker-width-20,.block-text-pseudo-marker-width-25,.block-text-pseudo-marker-width-30) > :where(*)
{
	text-indent: 0.0em;
}

/* カード型表示 */
.block-style-card
{
	border-radius: 1.0rem;
	overflow: hidden;
	display: inline-block;
}

.block-style-card figure
{
	margin-top: 0.0rem;
}

/* 点線ボーダーボタン */
.wp-block-button.block-border-dot .wp-block-button__link
{
	border-style: dotted;
	border-width: 4px;
}

.wp-block-button.block-border-dot .wp-block-button__link:hover
{
	border-style: solid;
}

/* 円形ボタン */
.wp-block-button.block-style-circle .wp-block-button__link
{
	border-radius: 50%;
	width: 10rem;
	height: 10rem;
	display: flex;
	justify-content: center;
	align-items: center;
}

/* セクション間装飾用スペーサー */
.wp-block-spacer.clipped-section-edge
{
	height: 15vw !important;
}

/* 文章内の連文節範囲を指定するクラス（折り返し位置目安） */
.inline-clauses
{
	display: inline-flex;
	align-items: baseline;
}

/* 区切り線付きカラム */
.wp-block-columns.block-column-separator
{
	gap: 0.0rem;
}

.wp-block-columns.block-column-separator > .wp-block-column
{
	border-right: 1px solid var(--text-color);
	padding: 1.0rem;
}

.wp-block-columns.block-column-separator > .wp-block-column:last-child
{
	border-right: none;
}

/* アニメーション */
.block-anim-waft:hover
{
	animation: waft 3s ease-in-out infinite alternate;
}

/* HTMLアンカー位置調整 */
.fragment-id
{
	pointer-events: none;
}

.fragment-id::before
{
	content: '';
	margin-top: -5.125rem;
	padding-top: 5.125rem;
	display: block;
}

/* 列の並びを反転 */
.wp-block-columns.row-reverse
{
	flex-direction: row-reverse;
}

/* 左右スクロール表示（ScrollHint） */
.wp-block-group.js-scrollable
{
	overflow-x: auto;
}

/* スライドショー表示 */
.wp-block-group.slideshow-crossfade
{
	background-color: var(--background-color);
	position: relative;
}

.wp-block-group.slideshow-crossfade figure
{
	margin-top: 0.0rem;
}

.wp-block-group.slideshow-crossfade .wp-block-image
{
	opacity: 0;
	position: absolute;
	top: 0.0rem;
	z-index: 1;
}

.wp-block-group.slideshow-crossfade .wp-block-image:nth-of-type(1)
{
	opacity: 1;
	position: relative;
	z-index: 2;
}

/* カルーセル表示 */
.wp-block-group.carousel .slick-list
{
	padding: 0.0rem 3.0rem;
}

.wp-block-group.carousel .slick-slide
{
	margin: 0.0rem 0.25rem;
}

/***** ヘッダ部分 *****/
header
{
	background-color: var(--header-background-color);
	width: 100%;
	display: flex;
	position: fixed;
	z-index: 2;
}

header + *
{
	padding-top: 4.5rem;
}

header .title-bar
{
	background-color: inherit;
	display: flex;
	align-items: center;
}

header .title-bar .site-title
{
	margin: 0.0rem 1.0rem 0.0rem 1.5rem;
	display: flex;
	align-items: center;
}

header .title-bar .site-title .site-logo
{
	font-size: 1.0rem;
	max-width: 300px;
	margin: 0.0rem;
	padding: 0.0rem;
	position: static;
}

header .title-bar .site-title .site-logo img
{
	width: 100%;
}

/***** ナビゲーション部分 *****/
/* 表示状態保持 */
#drawer-toggle
{
	display: none;
}

/* 表示用アイコン */
header label[for="drawer-toggle"]
{
	width: 1.5rem;
	display: none;
	justify-content: center;
	align-items: center;
	position: absolute;
	right: 1.0rem;
	top: 1.4rem;
	z-index: 1;
	cursor: pointer;
}

header label[for="drawer-toggle"] > .toggle-icon
{
	margin: 0.0rem auto;
	display: block;
}

header label[for="drawer-toggle"] > .toggle-icon > .toggle-icon-bar
{
	background-color: var(--text-color);
	width: 100%;
	height: 0.1rem;
	display: block;
	transition-duration: 0.5s;
	transition-property: background-color, transform, opacity;
}

header label[for="drawer-toggle"] > .toggle-icon > .toggle-icon-bar:nth-child(1)
{
	margin: 0.0rem auto;
}

header label[for="drawer-toggle"] > .toggle-icon > .toggle-icon-bar:nth-child(2)
{
	margin: 0.45rem auto;
}

header label[for="drawer-toggle"] > .toggle-icon > .toggle-icon-bar:nth-child(3)
{
	margin: 0.0rem auto;
}

/* ナビゲーション表示中 */
#drawer-toggle:checked ~ header label[for="drawer-toggle"] > .toggle-icon > .toggle-icon-bar:nth-child(1)
{
	transform: translateY(0.575rem) rotate(45deg);
}

#drawer-toggle:checked ~ header label[for="drawer-toggle"] > .toggle-icon > .toggle-icon-bar:nth-child(2)
{
	opacity: 0;
}

#drawer-toggle:checked ~ header label[for="drawer-toggle"] > .toggle-icon > .toggle-icon-bar:nth-child(3)
{
	transform: translateY(-0.575rem) rotate(-45deg);
}

/* ナビゲーション本体 */
#navigation
{
	background-color: var(--navigation-background-color);
	width: 100%;
	align-self: flex-end;
}

#navigation > nav ul
{
	list-style-type: none;
	margin: 0.0rem auto;
	padding-left: 0.0rem;
}

#navigation > nav ul > li
{
	font-size: min(calc(100vw / 105), 0.75rem);
	letter-spacing: 0.1em;
	line-height: 1.5;
}

#navigation > nav a
{
	color: var(--text-color);
	font-weight: 600;
}

/* 1階層目 */
#navigation > nav > ul
{
	width: auto;
	margin: 0.0rem 2.5rem 0.0rem 1.0rem;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	column-gap: 1.5rem;
}

/* 下層ナビゲーション表示状態保持 */
#navigation > nav ul > li.menu-item-has-children > input
{
	display: none;
}

/* 下層ナビゲーション表示用のアイコン */
#navigation > nav ul > li.menu-item-has-children > .menu-expander
{
	width: 2.0rem;
	display: none;
	justify-content: center;
	align-items: center;
	cursor: pointer;
}

#navigation > nav ul > li.menu-item-has-children > .menu-expander > .menu-expander-icon
{
	border-right: 3px solid var(--text-color);
	border-bottom: 3px solid var(--text-color);
	width: 5px;
	height: 5px;
	display: block;
	transform: translateY(-25%) rotate(45deg);
}

/* 1階層目項目 */
#navigation > nav > ul > li > a
{
	height: calc(100% - 2.0rem);
	padding: 2.0rem 0.0rem;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}

/* 項目選択時の下線 */
#navigation > nav > ul > li > a:hover::after,
#navigation > nav > ul > li > a:active::after,
#navigation > nav > ul > li > a:focus::after
{
	content: '';
	border-bottom: 4px solid var(--primary-color);
	border-radius: 0.25rem / 50%;
	width: 2.5rem;
	display: block;
	position: absolute;
	left: 50%;
	bottom: 1.25rem;
	transform: translateX(-50%);
}

/* 下層のナビゲーション */
/* 2階層目 */
#navigation > nav > ul > li > .sub-menu-wrapper
{
	background-color: var(--navigation-background-color);
	border-radius: 0.0rem 0.0rem 2.0rem 2.0rem;
	box-shadow: 3px 3px 5px rgba(153, 153, 153, 0.25);
	width: 80%;
	display: flex;
	justify-content: center;
	position: absolute;
	left: 50%;
	transform: translateX(-50%) scaleY(0.000001); /* Chromeでは0にするとiframeが予期しない位置に表示される */
	transform-origin: top;
	transition-duration: 0.5s;
	transition-property: transform;
}

#navigation > nav > ul > li > a:hover ~ .sub-menu-wrapper,
#navigation > nav > ul > li > a:focus ~ .sub-menu-wrapper,
#navigation > nav > ul > li > a ~ .sub-menu-wrapper:hover
{
	transform: translateX(-50%) scaleY(1);
}

#navigation > nav > ul > li > a ~ .sub-menu-wrapper:focus-within
{
	transform: translateX(-50%) scaleY(1);
}

#navigation > nav > ul > li > .sub-menu-wrapper > ul.sub-menu
{
	max-width: 43.5rem;
	width: 100%;
	margin: 0.0rem 10%;
	padding: 1.0rem 0.0rem;
}

#navigation > nav > ul > li > .sub-menu-wrapper > ul.sub-menu > li
{
	font-size: 1.0rem;
	font-weight: 600;
	padding: 1.0rem 0.0rem;
}

#navigation > nav > ul > li > .sub-menu-wrapper > ul.sub-menu > li > a::before
{
	content: '\f35a';
	font-family: 'Font Awesome 6 Free';
	color: var(--primary-color);
	font-weight: 400;
	margin: 0.0rem 0.25rem;
}

/* 3階層目 */
#navigation > nav > ul > li > .sub-menu-wrapper > ul.sub-menu > li > .sub-menu-wrapper
{
	padding-top: 0.5rem;
}

#navigation > nav > ul > li > .sub-menu-wrapper > ul.sub-menu > li > .sub-menu-wrapper /* for embed media */
{
	display: flex;
	gap: 2.0rem;
}

#navigation > nav > ul > li > .sub-menu-wrapper > ul.sub-menu > li > .sub-menu-wrapper ul.sub-menu
{
	width: 100%;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}

#navigation > nav > ul > li > .sub-menu-wrapper > ul.sub-menu > li > .sub-menu-wrapper ul.sub-menu > li
{
	width: 12.5rem;
	margin-left: 2.0rem;
	padding: 1.0rem 0.0rem;
}

#navigation > nav > ul > li > .sub-menu-wrapper > ul.sub-menu > li > .sub-menu-wrapper ul.sub-menu > li a
{
	position: relative;
}

#navigation > nav > ul > li > .sub-menu-wrapper > ul.sub-menu > li > .sub-menu-wrapper ul.sub-menu > li a:hover::before,
#navigation > nav > ul > li > .sub-menu-wrapper > ul.sub-menu > li > .sub-menu-wrapper ul.sub-menu > li a:active::before,
#navigation > nav > ul > li > .sub-menu-wrapper > ul.sub-menu > li > .sub-menu-wrapper ul.sub-menu > li a:focus::before
{
	content: url('../images/arrow.svg');
	width: 1.0rem;
	height: 1.0rem;
	display: inline-block;
	position: absolute;
	left: -1.5rem;
	top: 50%;
	transform: translateY(-50%);
}

/* 通知文等のリンクなし（表示のみ）の項目 */
#navigation > nav > ul > li > .sub-menu-wrapper > ul.sub-menu > li > .sub-menu-wrapper ul.sub-menu > li a:not([href])::before
{
	content: none;
}

/* ナビゲーションへのメディアの埋め込み */
#navigation > nav > ul > li > .sub-menu-wrapper > ul.sub-menu > li > .sub-menu-wrapper .sub-menu-wrapper-after
{
	width: 100%;
}

#navigation > nav > ul > li > .sub-menu-wrapper > ul.sub-menu > li > .sub-menu-wrapper .sub-menu-wrapper-after > figure
{
	text-align: left;
	width: 12.5rem;
}

#navigation > nav > ul > li > .sub-menu-wrapper > ul.sub-menu > li > .sub-menu-wrapper .sub-menu-wrapper-after > figure > .wp-block-embed__wrapper
{
	width: 100%;
	position: relative;
}

#navigation > nav > ul > li > .sub-menu-wrapper > ul.sub-menu > li > .sub-menu-wrapper .sub-menu-wrapper-after > .wp-embed-aspect-21-9 > .wp-block-embed__wrapper
{
	padding-top: calc(100% * 9 / 21);
}

#navigation > nav > ul > li > .sub-menu-wrapper > ul.sub-menu > li > .sub-menu-wrapper .sub-menu-wrapper-after > .wp-embed-aspect-18-9 > .wp-block-embed__wrapper
{
	padding-top: calc(100% * 9 / 18);
}

#navigation > nav > ul > li > .sub-menu-wrapper > ul.sub-menu > li > .sub-menu-wrapper .sub-menu-wrapper-after > .wp-embed-aspect-16-9 > .wp-block-embed__wrapper
{
	padding-top: calc(100% * 9 / 16);
}

#navigation > nav > ul > li > .sub-menu-wrapper > ul.sub-menu > li > .sub-menu-wrapper .sub-menu-wrapper-after > .wp-embed-aspect-4-3 > .wp-block-embed__wrapper
{
	padding-top: calc(100% * 3 / 4);
}

#navigation > nav > ul > li > .sub-menu-wrapper > ul.sub-menu > li > .sub-menu-wrapper .sub-menu-wrapper-after > .wp-embed-aspect-1-1 > .wp-block-embed__wrapper
{
	padding-top: 100%;
}

#navigation > nav > ul > li > .sub-menu-wrapper > ul.sub-menu > li > .sub-menu-wrapper .sub-menu-wrapper-after > .wp-embed-aspect-9-16 > .wp-block-embed__wrapper
{
	padding-top: calc(100% * 16 / 9);
}

#navigation > nav > ul > li > .sub-menu-wrapper > ul.sub-menu > li > .sub-menu-wrapper .sub-menu-wrapper-after > .wp-embed-aspect-1-2 > .wp-block-embed__wrapper
{
	padding-top: calc(100% * 2);
}

#navigation > nav > ul > li > .sub-menu-wrapper > ul.sub-menu > li > .sub-menu-wrapper .sub-menu-wrapper-after > figure > .wp-block-embed__wrapper > iframe
{
	border-radius: 0.5rem;
	width: 100%;
	height: 100%;
	overflow: hidden;
	position: absolute;
	top: 0.0rem;
}

/***** 本文部分 *****/
#main
{
	position: relative;
	z-index: 0;
}

.article-header
{
	height: 55vh;
	min-height: auto !important;
	max-height: 56.25vw;
}

.article-header > img[src$="maru49.png"]
{
	opacity: 0.5;
}

.article-header > .wp-block-cover__inner-container
{
	margin-top: -8.25vh;
}

#main > .wp-block-group:last-child
{
	margin-bottom: -10rem;
	padding-bottom: 10rem;
}

/* トップへ戻る */
#pagetop a
{
	background-color: var(--secondary-variant-color);
	background-image: url('../images/arrow_up.svg');
	background-size: 1.5rem;
	background-repeat: no-repeat;
	background-position: center;
	border-radius: 0.25rem;
	width: 3.5rem;
	height: 3.5rem;
	display: flex;
	position: fixed;
	right: 1.5rem;
	bottom: 1.5rem;
	z-index: 2;
}

/***** フッタ部分 *****/
footer
{
	background-color: rgba(255, 255, 255, 0.5);
	background-image: url('../images/maru49.png');
	background-blend-mode: lighten;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: bottom;
	color: var(--text-color);
	padding: 3.0rem 0.0rem 1.5rem 0.0rem;
	position: relative;
	z-index: 1;
}

footer .footer-content
{
	width: 75%;
	margin: 7.5rem auto 3.0rem auto;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 1.0rem;
}

footer .footer-content .site-owner > p
{
	margin-top: 0.0rem;
}

footer .footer-content .site-owner > .site-logo
{
	font-size: 1.25rem;
	font-weight: 600;
	margin-left: -0.5em;
}

footer .footer-content .site-owner > .postalcode
{
	margin-top: 1.0rem;
}

footer .footer-content .site-owner > .phone-numbers > p
{
	margin: 0.0rem;
}

footer .footer-content .navigation
{
	margin-left: auto;
	align-self: flex-end;
}

footer .footer-content .navigation ul
{
	list-style-type: none;
	margin-top: 0.0rem;
	padding-left: 0.0rem;
	display: flex;
	justify-content: flex-end;
	column-gap: 2.0rem;
}

footer .footer-content .navigation ul > li
{
	font-size: 0.9rem;
	font-weight: 600;
	line-height: 1.75;
}

footer .footer-content .navigation ul > li a
{
	border-bottom: 1px solid transparent;
	color: var(--text-color);
}

footer .footer-content .navigation ul > li a:hover,
footer .footer-content .navigation ul > li a:active,
footer .footer-content .navigation ul > li a:focus
{
	border-bottom: 1px solid var(--text-color);
}

footer .copyright
{
	width: 90%;
	margin: 5.0rem auto 1.0rem auto;
}

footer .copyright p
{
	font-size: 0.8rem;
	font-weight: 600;
	text-align: center;
}

/* パスワード保護ページ */
.post-password-form
{
	width: 85%;
	margin: 10rem auto;
}

.post-password-form > p:nth-of-type(1)
{
	text-align: center;
}

.post-password-form > p:nth-of-type(2)
{
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.post-password-form > p:nth-of-type(2) > label
{
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.post-password-form > p:nth-of-type(2) > label > input[type="password"]
{
	width: calc(100% - 6.5rem);
	max-width: 20rem;
}

.post-password-form > p:nth-of-type(2) > input[type="submit"]
{
	background-color: var(--primary-color);
	border-style: none;
	border-radius: 0.25rem;
	color: var(--text-light-color);
	font-size: 0.9rem;
	padding: calc(.333em + 2px) calc(.667em + 2px);
	cursor: pointer;
}

/* 問い合わせフォーム */
.wpcf7 span.require
{
	color: var(--text-accent-color);
}

.wpcf7 .wpcf7-form-control-wrap input
{
	width: 100%;
	max-width: 25rem;
}

.wpcf7 .wpcf7-form-control-wrap textarea
{
	width: 100%;
	max-width: 25rem;
	resize: vertical;
}

.wpcf7 input[type="submit"]
{
	background-color: var(--primary-color);
	border-style: none;
	border-radius: 0.25rem;
	color: var(--text-light-color);
	font-size: 0.9rem;
	padding: calc(.667em + 2px) calc(1.333em + 2px);
	cursor: pointer;
}

.rechaptcha-disclosure
{
	font-size: 0.8rem;
	opacity: 0.75;
}

.grecaptcha-badge
{
	visibility: hidden;
}

/**
 * トップページ
 */
.home.page #main :is(h1,h2,h3,h4,h5,h6)[data-anothertext]::after
{
	color: var(--secondary-variant-color);
}

#visual p
{
	font-family: 'Noto Serif JP', var(--base-font);
	color: var(--text-light-color);
	font-size: 3.25vw;
	letter-spacing: 0.2em;
	text-shadow: 2px 2px 5px var(--text-color);
	width: 100%;
	margin-top: 0.0rem;
	opacity: 0;
	position: absolute;
	left: 0%;
	top: 40%;
	transform: translateY(-50%);
}

.home.page .wp-block-heading[data-anothertext="ABOUT US"] ~ p
{
	font-size: 0.9125rem;
}

/* 施設・事業のご案内 */
.nav-facility
{
	max-width: 75rem;
	margin: 0.0rem auto;
	row-gap: 3.0rem;
	column-gap: 0.0rem;
}

.nav-facility figure
{
	width: calc(90% - 10px);
	padding-right: 10px;
}

.nav-facility figure.sobun img
{
	box-shadow: 10px 5px var(--sobun-key-color);
}

.nav-facility figure.kagaku img
{
	box-shadow: 10px 5px var(--kagaku-key-color);
}

.nav-facility figure.kaihin img
{
	box-shadow: 10px 5px var(--kaihin-key-color);
}

.nav-facility figure.nasu img
{
	box-shadow: 10px 5px var(--nasu-key-color);
}

.nav-facility figure.maibun img
{
	box-shadow: 10px 5px var(--maibun-key-color);
}

.nav-facility figure.ikusei img
{
	box-shadow: 10px 5px var(--ikusei-key-color);
}

.nav-facility figure.bunka img
{
	box-shadow: 10px 5px var(--bunka-key-color);
}

.nav-facility figure.learning img
{
	box-shadow: 10px 5px var(--learning-key-color);
}

.nav-facility figure a:hover img,
.nav-facility figure a:active img,
.nav-facility figure a:focus img
{
	animation: waft 3s ease-in-out infinite alternate;
}

.nav-facility p
{
	font-size: min(calc(100vw / 100), 0.9rem);
}

/* お知らせ */
#information ul
{
	list-style-type: none;
	padding-left: 0.0rem;
}

#information ul > li
{
	margin-top: 1.5rem;
	display: flex;
	align-items: flex-start;
}

#information ul > li .post-date
{
	min-width: 6.0rem;
	margin: 0.225rem 0.0rem;
}

#information ul > li .post-taxonomy .category > span
{
	background-color: var(--logo-key-color);
	border-radius: 0.75rem / 50%;
	color: var(--text-light-color);
	font-size: 0.9rem;
	width: 8.5rem;
	margin: 0.3rem 0.0rem 0.3rem 1.0rem;
	padding: 0.0rem 1.0rem;
	display: flex;
	justify-content: center;
}

#information ul > li .post-taxonomy .category > span.honbu
{
	background-color: var(--honbu-key-color);
}

#information ul > li .post-taxonomy .category > span.sobun
{
	background-color: var(--sobun-key-color);
}

#information ul > li .post-taxonomy .category > span.kagaku
{
	background-color: var(--kagaku-key-color);
}

#information ul > li .post-taxonomy .category > span.kaihin
{
	background-color: var(--kaihin-key-color);
}

#information ul > li .post-taxonomy .category > span.nasu
{
	background-color: var(--nasu-key-color);
}

#information ul > li .post-taxonomy .category > span.maibun
{
	background-color: var(--maibun-key-color);
}

#information ul > li .post-taxonomy .category > span.ikusei
{
	background-color: var(--ikusei-key-color);
}

#information ul > li .post-taxonomy .category > span.bunka
{
	background-color: var(--bunka-key-color);
}

#information ul > li .post-taxonomy .category > span.learning
{
	background-color: var(--learning-key-color);
}

#information ul > li .post-taxonomy + *
{
	color: var(--text-color);
	margin: 0.225rem 0.0rem 0.225rem 1.0rem;
	flex-grow: 1;
}

/* イベント */
#event ul
{
	list-style-type: none;
	max-width: 66rem;
	padding-left: 0.0rem;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 3.0rem;
}

#event ul > li
{
	background-color: var(--background-color);
	border-radius: 1.0rem;
	box-shadow: -0.25rem -0.25rem 5px #ccccccaa,
				0.5rem 0.5rem var(--logo-key-color);
	line-height: 1.5;
	width: calc(100% / 3 - 2.0rem);
	max-width: 20rem;
	overflow: hidden;
	display: flex;
	flex-direction: column;
}

#event ul > li:nth-child(n+4):last-child
{
	margin-right: auto;
}

#event ul > li.honbu
{
	box-shadow: -0.25rem -0.25rem 5px #ccccccaa,
				0.5rem 0.5rem var(--honbu-key-color);
}

#event ul > li.sobun
{
	box-shadow: -0.25rem -0.25rem 5px #ccccccaa,
				0.5rem 0.5rem var(--sobun-key-color);
}

#event ul > li.kagaku
{
	box-shadow: -0.25rem -0.25rem 5px #ccccccaa,
				0.5rem 0.5rem var(--kagaku-key-color);
}

#event ul > li.kaihin
{
	box-shadow: -0.25rem -0.25rem 5px #ccccccaa,
				0.5rem 0.5rem var(--kaihin-key-color);
}

#event ul > li.nasu
{
	box-shadow: -0.25rem -0.25rem 5px #ccccccaa,
				0.5rem 0.5rem var(--nasu-key-color);
}

#event ul > li.maibun
{
	box-shadow: -0.25rem -0.25rem 5px #ccccccaa,
				0.5rem 0.5rem var(--maibun-key-color);
}

#event ul > li.ikusei
{
	box-shadow: -0.25rem -0.25rem 5px #ccccccaa,
				0.5rem 0.5rem var(--ikusei-key-color);
}

#event ul > li.bunka
{
	box-shadow: -0.25rem -0.25rem 5px #ccccccaa,
				0.5rem 0.5rem var(--bunka-key-color);
}

#event ul > li.learning
{
	box-shadow: -0.25rem -0.25rem 5px #ccccccaa,
				0.5rem 0.5rem var(--learning-key-color);
}

#event ul > li.no-posts
{
	background-color: transparent;
	box-shadow: none;
	width: auto;
	max-width: none;
	justify-content: center;
}

#event ul > li .post-thumbnail
{
	display: block;
	position: relative;
}

#event ul > li .post-thumbnail img
{
	width: 100%;
	height: 15rem;
	object-fit: contain;
}

#event ul > li .post-title
{
	color: var(--text-color);
	font-weight: 600;
	min-height: calc(1.0rem * 2 * 1.5);
	margin: 1.0rem 1.5rem 0.0rem 1.5rem;
	overflow-wrap: anywhere;
	word-break: keep-all;
	display: block;
}

#event ul > li .post-taxonomy
{
	margin-top: 0.5rem;
	display: flex;
}

#event ul > li .post-taxonomy .category
{
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

#event ul > li .post-taxonomy .category > span
{
	background-color: var(--logo-key-color);
	border-radius: 0.75rem / 50%;
	color: var(--text-light-color);
	font-size: 0.8rem;
	padding: 0.25rem 0.75rem;
	display: flex;
	justify-content: center;
}

#event ul > li .post-taxonomy .category > span.honbu
{
	background-color: var(--honbu-key-color);
}

#event ul > li .post-taxonomy .category > span.sobun
{
	background-color: var(--sobun-key-color);
}

#event ul > li .post-taxonomy .category > span.kagaku
{
	background-color: var(--kagaku-key-color);
}

#event ul > li .post-taxonomy .category > span.kaihin
{
	background-color: var(--kaihin-key-color);
}

#event ul > li .post-taxonomy .category > span.nasu
{
	background-color: var(--nasu-key-color);
}

#event ul > li .post-taxonomy .category > span.maibun
{
	background-color: var(--maibun-key-color);
}

#event ul > li .post-taxonomy .category > span.ikusei
{
	background-color: var(--ikusei-key-color);
}

#event ul > li .post-taxonomy .category > span.bunka
{
	background-color: var(--bunka-key-color);
}

#event ul > li .post-taxonomy .category > span.learning
{
	background-color: var(--learning-key-color);
}

#event ul > li .post-detail
{
	min-height: 10rem;
	margin: 0.0rem 1.5rem 1.0rem 1.5rem;
	display: block;
}

#event ul > li .post-detail .post-term
{
	font-size: 0.9rem;
	margin-top: 0.5rem;
	display: block;
}

#event ul > li .post-detail .post-venue
{
	font-size: 0.9rem;
	margin-top: 0.5rem;
	display: flex;
}

#event ul > li .post-detail .post-venue .post-venue-label
{
	width: 3.0rem;
}

#event ul > li .post-detail .post-venue .post-venue-content
{
	width: calc(100% - 3.0rem);
}

#event ul > li .post-detail .wp-block-buttons
{
	margin: 1.5rem 1.0rem 0.0rem 1.0rem;
}

#event ul > li .post-detail .wp-block-buttons > .wp-block-button > .wp-block-button__link
{
	background-color: transparent;
	color: var(--secondary-color);
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	padding: 0.0rem;
}

#event ul > li .post-detail .wp-block-buttons > .wp-block-button > .wp-block-button__link::before
{
	content: '>>';
	margin-right: 0.25rem;
}

#event ul > li .post-detail .wp-block-buttons > .wp-block-button > a:hover,
#event ul > li .post-detail .wp-block-buttons > .wp-block-button > a:active,
#event ul > li .post-detail .wp-block-buttons > .wp-block-button > a:focus
{
	color: var(--primary-color);
	transform: none;
}

/**
 * 施設・事業ページ共通
 */
/* 写真背景の記事ヘッダ */
.photo-viewing-article-header > .wp-block-group__inner-container
{
	min-height: 56.25vw;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}

.photo-viewing-article-header > .wp-block-group__inner-container .slideshow-crossfade
{
	width: 100%;
	height: 100%;
	position: absolute;
}

.photo-viewing-article-header > .wp-block-group__inner-container .slideshow-crossfade *
{
	height: 100%;
}

.photo-viewing-article-header > .wp-block-group__inner-container .slideshow-crossfade img
{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.photo-viewing-article-header.clip-bottom-wave > .wp-block-group__inner-container .wp-block-group.block-loc-relative
{
	margin-top: -15%;
}

.photo-viewing-article-header h1
{
	font-size: min(calc(100vw / 30), 2.45rem) !important;
}

/* カラー背景の中で背景色を指定しているグループ */
:is(.page-slug-sobun,.page-slug-kagaku,.page-slug-kaihin,.page-slug-nasu,.page-slug-maibun,.page-slug-youth,.page-slug-culture,.page-slug-learning) #main > .wp-block-group.has-background .wp-block-group.has-background:not(.block-style-card) > .wp-block-group__inner-container
{
	margin: 1.0rem !important;
}

/* カラー背景の中の標準文字色 */
:is(.page-slug-sobun,.page-slug-kagaku,.page-slug-kaihin,.page-slug-nasu,.page-slug-maibun,.page-slug-youth,.page-slug-culture,.page-slug-learning) #main > .wp-block-group.has-background > .wp-block-group__inner-container :where(p,h1,h2,h3,h4,h5,h6,li):not(.has-text-color)
{
	color: var(--text-light-color);
}

:is(.page-slug-sobun,.page-slug-kagaku,.page-slug-kaihin,.page-slug-nasu,.page-slug-maibun,.page-slug-youth,.page-slug-culture,.page-slug-learning) #main > .wp-block-group.has-background > .wp-block-group__inner-container h2
{
	border-image-source: linear-gradient(90deg, var(--text-light-color), var(--text-light-color) 30rem, transparent 30rem);
}

/* カラー背景の中で背景色を指定しているグループ内の標準文字色 */
:is(.page-slug-sobun,.page-slug-kagaku,.page-slug-kaihin,.page-slug-nasu,.page-slug-maibun,.page-slug-youth,.page-slug-culture,.page-slug-learning) #main > .wp-block-group.has-background > .wp-block-group__inner-container .wp-block-group.has-background :where(p,h1,h2,h3,h4,h5,h6,li):not(.has-text-color)
{
	color: var(--text-color);
}

:is(.page-slug-sobun,.page-slug-kagaku,.page-slug-kaihin,.page-slug-nasu,.page-slug-maibun,.page-slug-youth,.page-slug-culture,.page-slug-learning) #main > .wp-block-group.has-background > .wp-block-group__inner-container .wp-block-group.has-background h2
{
	border-image-source: linear-gradient(90deg, var(--text-color), var(--text-color) 30rem, transparent 30rem);
}

/* カード型ナビゲーション */
:is(.page-slug-youth .nav-ikusei,.page-slug-culture .nav-bunka) .block-style-card > .wp-block-group__inner-container > figure + .wp-block-group
{
	margin: 1.0rem;
}

:is(.page-slug-youth .nav-ikusei,.page-slug-culture .nav-bunka) .block-style-card > .wp-block-group__inner-container > figure + .wp-block-group > .wp-block-group__inner-container h3,
:is(.page-slug-youth .nav-ikusei,.page-slug-culture .nav-bunka) .block-style-card > .wp-block-group__inner-container > figure + .wp-block-group > .wp-block-group__inner-container p
{
	letter-spacing: 0.0em;
	padding: 0.0rem;
}

:is(.page-slug-youth .nav-ikusei,.page-slug-culture .nav-bunka) .block-style-card > .wp-block-group__inner-container > figure + .wp-block-group > .wp-block-group__inner-container .wp-block-buttons
{
	margin-top: 1.5rem;
}

/**
 * 青少年健全育成事業ページ
 */
:is(.page-slug-youth,.parent-pageslug-youth) #main a:not(.wp-block-button__link):link,
:is(.page-slug-youth,.parent-pageslug-youth) #main a:not(.wp-block-button__link):visited
{
	color: var(--ikusei-secondary-color);
}

:is(.page-slug-youth,.parent-pageslug-youth) #main a:not(.wp-block-button__link):hover,
:is(.page-slug-youth,.parent-pageslug-youth) #main a:not(.wp-block-button__link):active,
:is(.page-slug-youth,.parent-pageslug-youth) #main a:not(.wp-block-button__link):focus
{
	color: var(--ikusei-accent-color);
}

.page-slug-youth #main h3 + hr
{
	border-width: 3px;
}

/* 新着情報 */
#ikusei-info ul
{
	list-style-type: none;
	padding-left: 0.0rem;
}

#ikusei-info ul > li
{
	margin-top: 0.5rem;
	display: flex;
	align-items: flex-start;
}

#ikusei-info ul > li .post-date
{
	min-width: 6.0rem;
}

#ikusei-info ul > li .post-taxonomy
{
	display: none;
}

/* カード型ナビゲーション */
.page-slug-youth .nav-ikusei .block-style-card .wp-block-button__link
{
	background-color: var(--ikusei-secondary-color);
}

/* 青少年プランと心のスクラムのボタン */
.page-slug-youth .nav-ikusei-activity > .wp-block-button
{
	display: flex;
	align-items: stretch;
}

.page-slug-youth .nav-ikusei-activity > .wp-block-button > a
{
	display: flex;
	align-items: center;
}

.page-slug-youth .nav-ikusei-activity > .wp-block-button > a.has-text-align-center
{
	justify-content: center;
}

/**
 * 「とちぎネット利用アドバイザー」専用ページ
 */
/* お知らせ */
#advisor-info ul
{
	list-style-type: none;
	padding-left: 0.0rem;
}

#advisor-info ul > li
{
	margin-top: 0.5rem;
	display: flex;
	align-items: flex-start;
}

#advisor-info ul > li .post-date
{
	min-width: 6.0rem;
	margin: 0.225rem 0.0rem;
}

#advisor-info ul > li .post-taxonomy .advisor_category > span
{
	border-radius: 0.75rem / 50%;
	font-size: 0.9rem;
	width: 5.0rem;
	margin: 0.3rem 0.0rem 0.3rem 1.0rem;
	padding: 0.0rem 1.0rem;
	display: flex;
	justify-content: center;
}

#advisor-info ul > li .post-taxonomy + *
{
	margin: 0.225rem 0.0rem 0.225rem 1.0rem;
	flex-grow: 1;
}

/* 研修資料 */
#advisor-doc ul
{
	list-style-type: none;
	padding-left: 0.0rem;
}

#advisor-doc ul > li
{
	margin-top: 0.5rem;
	display: flex;
	align-items: flex-start;
}

#advisor-doc ul > li .post-date
{
	min-width: 6.0rem;
	margin: 0.225rem 0.0rem;
}

#advisor-doc ul > li .post-taxonomy .advisor_category > span
{
	border-radius: 0.75rem / 50%;
	font-size: 0.9rem;
	width: 5.0rem;
	margin: 0.3rem 0.0rem 0.3rem 1.0rem;
	padding: 0.0rem 1.0rem;
	display: flex;
	justify-content: center;
}

#advisor-doc ul > li .post-taxonomy + *
{
	margin: 0.225rem 0.0rem 0.225rem 1.0rem;
	flex-grow: 1;
}

/**
 * 文化振興事業ページ
 */
/* カード型ナビゲーション */
.page-slug-culture .nav-bunka .block-style-card .wp-block-button__link
{
	background-color: var(--bunka-key-color);
}

/* facebook icon */
.page-slug-culture .socialmedia-link-facebook a > img
{
	transition-duration: 0.5s;
	transition-property: transform;
}

.page-slug-culture .socialmedia-link-facebook a:hover > img,
.page-slug-culture .socialmedia-link-facebook a:active > img,
.page-slug-culture .socialmedia-link-facebook a:focus > img
{
	transform: translate(3px, 3px);
}

/**
 * 生涯学習事業ページ
 */
.page-slug-learning #main a:not(.wp-block-button__link):link,
.page-slug-learning #main a:not(.wp-block-button__link):visited
{
	color: var(--learning-secondary-color);
}

.page-slug-learning #main a:not(.wp-block-button__link):hover,
.page-slug-learning #main a:not(.wp-block-button__link):active,
.page-slug-learning #main a:not(.wp-block-button__link):focus
{
	color: var(--learning-accent-color);
}

.page-slug-learning #main .wp-block-button__link
{
	background-color: var(--learning-secondary-color);
}

/**
 * イベント情報ページ
 */
.page-slug-events #event > .wp-block-group__inner-container > .wp-block-buttons > .wp-block-button > .wp-block-button__link[href$="events?term=bunka"]
{
	font-size: 1.125rem;
	padding: 0.5rem 1.25rem;
}

.page-slug-events #event > .wp-block-group__inner-container > .wp-block-buttons > .wp-block-button > .wp-block-button__link[href$="events?term=bunka"]::before
{
	content: '\f35a';
	font-family: 'Font Awesome 6 Free';
	font-weight: 400;
	margin: 0.0rem 0.25rem;
}

/**
 * イベント情報（イベント詳細）ページ
 */
.event-template-default .event-taxonomy
{
	display: flex;
	justify-content: flex-end;
	align-items: center;
}

.event-template-default .event-taxonomy .category > span
{
	background-color: var(--logo-key-color);
	border-radius: 1.25rem / 50%;
	color: var(--text-light-color);
	font-size: 1.125rem;
	margin-top: 0.5rem;
	padding: 0.5rem 1.25rem;
	display: flex;
	justify-content: center;
}

.event-template-default .event-taxonomy .category > span.honbu
{
	background-color: var(--honbu-key-color);
}

.event-template-default .event-taxonomy .category > span.sobun
{
	background-color: var(--sobun-key-color);
}

.event-template-default .event-taxonomy .category > span.kagaku
{
	background-color: var(--kagaku-key-color);
}

.event-template-default .event-taxonomy .category > span.kaihin
{
	background-color: var(--kaihin-key-color);
}

.event-template-default .event-taxonomy .category > span.nasu
{
	background-color: var(--nasu-key-color);
}

.event-template-default .event-taxonomy .category > span.maibun
{
	background-color: var(--maibun-key-color);
}

.event-template-default .event-taxonomy .category > span.ikusei
{
	background-color: var(--ikusei-key-color);
}

.event-template-default .event-taxonomy .category > span.bunka
{
	background-color: var(--bunka-key-color);
}

.event-template-default .event-taxonomy .category > span.learning
{
	background-color: var(--learning-key-color);
}

.event-template-default .event-date .begin-date
{
	display: inline-flex;
}

.event-template-default .event-date .end-date
{
	display: inline-flex;
}

/**
 * 採用情報ページ
 */
.page-slug-general #main h1
{
	font-size: 2.15rem;
}

.page-slug-general #main h2
{
	border: none;
	color: #54595f;
	font-size: 2.0rem;
	letter-spacing: 0.05em;
}

.page-slug-general #main h2 + hr
{
	border-width: 5px;
}

.page-slug-general #main h3
{
	font-size: 1.75rem;
	letter-spacing: 0.05em;
}

.page-slug-general #main h1[data-anothertext]::after
{
	font-family: var(--base-font);
	color: #aee7ff;
	font-size: 0.8em;
	letter-spacing: 0.05em;
}

.page-slug-general #main :is(h2,h3,h4,h5,h6)[data-anothertext]::after
{
	font-family: 'Shalimar', var(--base-font);
	color: #17a7ff8c;
	letter-spacing: 0.05em;
}

.page-slug-general #main .wp-block-button__link
{
	background-color: #17a7ff8c;
	font-size: 1.45rem;
}

.page-slug-general #main .wp-block-button.block-style-shadow
{
	box-shadow: none;
	max-width: 15rem;
}

.page-slug-general #main .wp-block-button.block-style-shadow > .wp-block-button__link
{
	box-shadow: 5px 5px 0px 0px rgba(0, 0, 0, 0.5);
	padding: 0.5rem 1.0rem;
}

.page-slug-general #main .wp-block-details summary
{
	font-size: 0.95rem;
}

.page-slug-general #main .wp-block-details p
{
	font-size: 0.9rem;
}

/* ページ内リンク用のボタン */
.page-slug-general .buttons-anchor-link
{
	gap: 1.0rem;
}

.page-slug-general .buttons-anchor-link > .wp-block-button
{
	width: calc(25% - var(--wp--style--block-gap, 1.0rem)*.75);
}

/* 先輩の声 */
.nav-recruit
{
	max-width: 75rem;
	margin: 0.0rem auto;
	column-gap: 1.5%;
}

.nav-recruit figure
{
	width: calc(90% - 10px);
	padding-right: 10px;
}

.nav-recruit figure img
{
	box-shadow: 10px 5px #17a7ff8c;
}

.nav-recruit p
{
	font-size: min(calc(100vw / 65), 0.9rem);
}

/* Q&A */
.page-slug-general #qanda h2
{
	font-weight: 700;
	letter-spacing: 0.2em;
}

/* 採用試験案内はこちらボタン */
.page-slug-general #main .button-for-exam-guide > .wp-block-button__link
{
	font-size: 2.0rem;
	padding: 0.5em 1.5em;
}

/**
 * アーカイブページ
 */
body.archive #archive-list ul
{
	list-style-type: none;
	padding-left: 0.0rem;
}

body.archive #archive-list ul > li
{
	margin-top: 1.5rem;
	display: flex;
	align-items: flex-start;
}

body.archive #archive-list ul > li .post-date
{
	min-width: 6.0rem;
	margin: 0.225rem 0.0rem;
}

body.archive #archive-list ul > li .post-taxonomy .category > span
{
	background-color: var(--logo-key-color);
	border-radius: 0.75rem / 50%;
	color: var(--text-light-color);
	font-size: 0.9rem;
	width: 8.5rem;
	margin: 0.3rem 0.0rem 0.3rem 1.0rem;
	padding: 0.0rem 1.0rem;
	display: flex;
	justify-content: center;
}

body.archive #archive-list ul > li .post-taxonomy .category > span.honbu
{
	background-color: var(--honbu-key-color);
}

body.archive #archive-list ul > li .post-taxonomy .category > span.sobun
{
	background-color: var(--sobun-key-color);
}

body.archive #archive-list ul > li .post-taxonomy .category > span.kagaku
{
	background-color: var(--kagaku-key-color);
}

body.archive #archive-list ul > li .post-taxonomy .category > span.kaihin
{
	background-color: var(--kaihin-key-color);
}

body.archive #archive-list ul > li .post-taxonomy .category > span.nasu
{
	background-color: var(--nasu-key-color);
}

body.archive #archive-list ul > li .post-taxonomy .category > span.maibun
{
	background-color: var(--maibun-key-color);
}

body.archive #archive-list ul > li .post-taxonomy .category > span.ikusei
{
	background-color: var(--ikusei-key-color);
}

body.archive #archive-list ul > li .post-taxonomy .category > span.bunka
{
	background-color: var(--bunka-key-color);
}

body.archive #archive-list ul > li .post-taxonomy .category > span.learning
{
	background-color: var(--learning-key-color);
}

body.archive #archive-list ul > li .post-taxonomy + *
{
	color: var(--text-color);
	margin: 0.225rem 0.0rem 0.225rem 1.0rem;
	flex-grow: 1;
}

body.archive #archive-list ul > li.no-posts
{
	justify-content: center;
}

/* ページネーション */
nav.pagination
{
	margin-top: 3.0rem;
}

nav.pagination .nav-links
{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}

nav.pagination .page-numbers
{
	border: 1px solid var(--secondary-color);
	border-radius: 50%;
	font-weight: 600;
	width: 3.0rem;
	height: 3.0rem;
	margin: 1.0rem 0.5rem 0.0rem 0.5rem;
	display: flex;
	justify-content: center;
	align-items: center;
}

nav.pagination a.page-numbers:link,
nav.pagination a.page-numbers:visited
{
	color: var(--secondary-color);
}

nav.pagination a.page-numbers:hover
{
	background-color: var(--secondary-color);
	color: var(--text-light-color);
}

nav.pagination .page-numbers.current
{
	background-color: var(--secondary-color);
	color: var(--text-light-color);
}

nav.pagination .page-numbers.dots
{
	color: var(--secondary-color);
}

/********** 幅782pixel以上の場合の表示 **********/
@media (min-width: 782px)
{

	/**
	 * サイト全体
	 */
	/***** 汎用クラス等 *****/
	/* 列反転時のマージンの付け方を反転 */
	.wp-block-columns.row-reverse > .wp-block-column:last-child
	{
		margin-left: 0;
	}

	.wp-block-columns.row-reverse > .wp-block-column:not(:last-child)
	{
		margin-left: 2em;
	}

}

/********** 幅600pxから781pixelの場合の表示 **********/
@media (min-width: 600px) and (max-width: 781px)
{

	/**
	 * サイト全体
	 */
	/***** 汎用クラス等 *****/
	/* 列反転時のマージンの付け方を反転 */
	.wp-block-columns.row-reverse > .wp-block-column:nth-child(2n)
	{
		margin-left: 0;
	}

	.wp-block-columns.row-reverse > .wp-block-column:nth-child(2n+1)
	{
		margin-left: 2em;
	}

}

/********** 幅781pixel以下の場合の表示 **********/
@media (max-width: 781px)
{

	/**
	 * サイト全体
	 */
	/***** タグ *****/
	p.medium-res-nobreak > br
	{
		display: none;
	}

	p.has-text-align-center.medium-res-align-left
	{
		text-align: left;
	}

	/***** 汎用クラス等 *****/
	/* 中・低解像度画面における要素の表示 */
	.medium-res-disp-none { display: none; }
	.medium-res-disp-inline { display: inline; }
	.medium-res-disp-inlineblock { display: inline-block; }
	.medium-res-disp-block { display: block; }
	.medium-res-disp-flex { display: flex; }

	/* 幅 */
	.medium-res-block-w-0pct { width: 0%; }
	.medium-res-block-w-5pct { width: 5%; }
	.medium-res-block-w-10pct { width: 10%; }
	.medium-res-block-w-15pct { width: 15%; }
	.medium-res-block-w-20pct { width: 20%; }
	.medium-res-block-w-25pct { width: 25%; }
	.medium-res-block-w-30pct { width: 30%; }
	.medium-res-block-w-35pct { width: 35%; }
	.medium-res-block-w-40pct { width: 40%; }
	.medium-res-block-w-45pct { width: 45%; }
	.medium-res-block-w-50pct { width: 50%; }
	.medium-res-block-w-55pct { width: 55%; }
	.medium-res-block-w-60pct { width: 60%; }
	.medium-res-block-w-65pct { width: 65%; }
	.medium-res-block-w-70pct { width: 70%; }
	.medium-res-block-w-75pct { width: 75%; }
	.medium-res-block-w-80pct { width: 80%; }
	.medium-res-block-w-85pct { width: 85%; }
	.medium-res-block-w-90pct { width: 90%; }
	.medium-res-block-w-95pct { width: 95%; }
	.medium-res-block-w-100pct { width: 100%; }

	/* フォントサイズ */
	.medium-res-block-fontsize-5 { font-size: 0.05rem; }
	.medium-res-block-fontsize-10 { font-size: 0.1rem; }
	.medium-res-block-fontsize-15 { font-size: 0.15rem; }
	.medium-res-block-fontsize-20 { font-size: 0.2rem; }
	.medium-res-block-fontsize-25 { font-size: 0.25rem; }
	.medium-res-block-fontsize-30 { font-size: 0.3rem; }
	.medium-res-block-fontsize-35 { font-size: 0.35rem; }
	.medium-res-block-fontsize-40 { font-size: 0.4rem; }
	.medium-res-block-fontsize-45 { font-size: 0.45rem; }
	.medium-res-block-fontsize-50 { font-size: 0.5rem; }
	.medium-res-block-fontsize-55 { font-size: 0.55rem; }
	.medium-res-block-fontsize-60 { font-size: 0.6rem; }
	.medium-res-block-fontsize-65 { font-size: 0.65rem; }
	.medium-res-block-fontsize-70 { font-size: 0.7rem; }
	.medium-res-block-fontsize-75 { font-size: 0.75rem; }
	.medium-res-block-fontsize-80 { font-size: 0.8rem; }
	.medium-res-block-fontsize-85 { font-size: 0.85rem; }
	.medium-res-block-fontsize-90 { font-size: 0.9rem; }
	.medium-res-block-fontsize-95 { font-size: 0.95rem; }
	.medium-res-block-fontsize-100 { font-size: 1.0rem; }
	.medium-res-block-fontsize-105 { font-size: 1.05rem; }
	.medium-res-block-fontsize-110 { font-size: 1.1rem; }
	.medium-res-block-fontsize-115 { font-size: 1.15rem; }
	.medium-res-block-fontsize-120 { font-size: 1.2rem; }
	.medium-res-block-fontsize-125 { font-size: 1.25rem; }
	.medium-res-block-fontsize-130 { font-size: 1.3rem; }
	.medium-res-block-fontsize-135 { font-size: 1.35rem; }
	.medium-res-block-fontsize-140 { font-size: 1.4rem; }
	.medium-res-block-fontsize-145 { font-size: 1.45rem; }
	.medium-res-block-fontsize-150 { font-size: 1.5rem; }
	.medium-res-block-fontsize-155 { font-size: 1.55rem; }
	.medium-res-block-fontsize-160 { font-size: 1.6rem; }
	.medium-res-block-fontsize-165 { font-size: 1.65rem; }
	.medium-res-block-fontsize-170 { font-size: 1.7rem; }
	.medium-res-block-fontsize-175 { font-size: 1.75rem; }
	.medium-res-block-fontsize-180 { font-size: 1.8rem; }
	.medium-res-block-fontsize-185 { font-size: 1.85rem; }
	.medium-res-block-fontsize-190 { font-size: 1.9rem; }
	.medium-res-block-fontsize-195 { font-size: 1.95rem; }
	.medium-res-block-fontsize-200 { font-size: 2.0rem; }

	/* 文字間隔 */
	.medium-res-block-text-space-1 { letter-spacing: 0.01em; }
	.medium-res-block-text-space-2 { letter-spacing: 0.02em; }
	.medium-res-block-text-space-3 { letter-spacing: 0.03em; }
	.medium-res-block-text-space-4 { letter-spacing: 0.04em; }
	.medium-res-block-text-space-5 { letter-spacing: 0.05em; }
	.medium-res-block-text-space-6 { letter-spacing: 0.06em; }
	.medium-res-block-text-space-7 { letter-spacing: 0.07em; }
	.medium-res-block-text-space-8 { letter-spacing: 0.08em; }
	.medium-res-block-text-space-9 { letter-spacing: 0.09em; }
	.medium-res-block-text-space-10 { letter-spacing: 0.1em; }
	.medium-res-block-text-space-15 { letter-spacing: 0.15em; }
	.medium-res-block-text-space-20 { letter-spacing: 0.2em; }
	.medium-res-block-text-space-25 { letter-spacing: 0.25em; }
	.medium-res-block-text-space-30 { letter-spacing: 0.3em; }
	.medium-res-block-text-space-35 { letter-spacing: 0.35em; }
	.medium-res-block-text-space-40 { letter-spacing: 0.4em; }
	.medium-res-block-text-space-45 { letter-spacing: 0.45em; }
	.medium-res-block-text-space-50 { letter-spacing: 0.5em; }
	.medium-res-block-text-space-55 { letter-spacing: 0.55em; }
	.medium-res-block-text-space-60 { letter-spacing: 0.6em; }
	.medium-res-block-text-space-65 { letter-spacing: 0.65em; }
	.medium-res-block-text-space-70 { letter-spacing: 0.7em; }
	.medium-res-block-text-space-75 { letter-spacing: 0.75em; }
	.medium-res-block-text-space-80 { letter-spacing: 0.8em; }
	.medium-res-block-text-space-85 { letter-spacing: 0.85em; }
	.medium-res-block-text-space-90 { letter-spacing: 0.9em; }
	.medium-res-block-text-space-95 { letter-spacing: 0.95em; }
	.medium-res-block-text-space-100 { letter-spacing: 1.0em; }

	/* 区切り線付きカラム */
	.wp-block-columns.block-column-separator > .wp-block-column
	{
		border-right: none;
		border-bottom: 1px solid var(--text-color);
		padding: 1.0rem 0.0rem;
	}

	.wp-block-columns.block-column-separator > .wp-block-column:last-child
	{
		border-bottom: none;
	}

	/* HTMLアンカー位置調整 */
	.fragment-id::before
	{
		margin-top: -4.0rem;
		padding-top: 4.0rem;
	}

	/***** ヘッダ部分 *****/
	header + *
	{
		padding-top: 4.0rem;
	}

	header .title-bar
	{
		width: 100%;
		position: relative;
		z-index: 2;
	}

	header .title-bar .site-title
	{
		min-height: 4.0rem;
		margin: 0.0rem 3.5rem 0.0rem 1.0rem;
	}

	header .title-bar .site-title .site-logo
	{
		max-width: 180px;
	}

	/***** ナビゲーション部分 *****/
	/* 表示用アイコン */
	header label[for="drawer-toggle"]
	{
		display: block;
	}

	/* ナビゲーション表示中 */
	#drawer-toggle:checked ~ header #navigation
	{
		top: 100%;
		transform: translateY(0%);
		opacity: 1;
	}

	/* ナビゲーション本体 */
	#navigation
	{
		border-radius: 0.0rem 0.0rem 2.0rem 2.0rem;
		box-shadow:  3px 3px 5px rgba(153, 153, 153, 0.25);
		width: 100%;
		max-height: calc(100vh - 4.5rem);
		overflow-y :auto;
		opacity: 0;
		position: absolute;
		top: 0%;
		z-index: 1;
		transform: translateY(-100%);
		transition-duration: 1.0s;
	}

	#navigation > nav ul
	{
		flex-direction: column;
		align-items: flex-start;
	}

	#navigation > nav ul > li
	{
		font-size: 0.75rem;
		width: 100%;
		display: flex;
		flex-wrap: wrap;
	}

	#navigation > nav a
	{
		padding: 0.75rem 0.0rem;
	}

	/* 1階層目 */
	#navigation > nav > ul
	{
		width: 85%;
		margin: 0.0rem auto;
	}

	/* 下層ナビゲーション表示用のアイコン */
	#navigation > nav > ul > li.menu-item-has-children > .menu-expander
	{
		display: flex;
	}

	#navigation > nav > ul > li.menu-item-has-children > .sub-menu-wrapper > ul > li.menu-item-has-children > .menu-expander
	{
		display: none;
	}

	/* 1階層目項目 */
	#navigation > nav > ul > li > a
	{
		height: auto;
		padding: 0.75rem 0.0rem;
	}

	/* 項目選択時の下線 */
	#navigation > nav > ul > li > a:hover::after,
	#navigation > nav > ul > li > a:active::after,
	#navigation > nav > ul > li > a:focus::after
	{
		width: 100%;
		bottom: 0.25rem;
	}

	/* 下層のナビゲーション */
	/* 2階層目 */
	#navigation > nav > ul > li > .sub-menu-wrapper
	{
		box-shadow: none;
		width: 100%;
		min-height: auto;
		position: static;
		display: none;
		transform: none;
		transition-duration: 0.0s;
	}

	#navigation > nav > ul > li > a:hover ~ .sub-menu-wrapper,
	#navigation > nav > ul > li > a:focus ~ .sub-menu-wrapper,
	#navigation > nav > ul > li > a ~ .sub-menu-wrapper:hover
	{
		transform: none;
	}

	#navigation > nav > ul > li > a ~ .sub-menu-wrapper:focus-within
	{
		transform: none;
	}

	#navigation > nav > ul > li > .sub-menu-wrapper > ul.sub-menu
	{
		max-width: none;
		margin: 0.0rem 0.0rem 0.0rem 1.0rem;
		padding: 0.0rem;
	}

	#navigation > nav > ul > li > .sub-menu-wrapper > ul.sub-menu > li
	{
		font-size: 0.85rem;
		padding: 0.0rem;
	}

	/* 下層のナビゲーション表示中 */
	#navigation > nav > ul > li.menu-item-has-children > input:checked ~ .sub-menu-wrapper
	{
		display: flex;
		flex-wrap: wrap;
	}

	#navigation > nav > ul > li.menu-item-has-children > input:checked ~ .menu-expander > .menu-expander-icon
	{
		transform: translateY(25%) rotate(225deg);
	}

	/* 3階層目 */
	#navigation > nav > ul > li > .sub-menu-wrapper > ul.sub-menu > li > .sub-menu-wrapper
	{
		width: 100%;
		padding-top: 0.0rem;
	}

	#navigation > nav > ul > li > .sub-menu-wrapper > ul.sub-menu > li > .sub-menu-wrapper ul.sub-menu
	{
		align-items: flex-start;
	}

	#navigation > nav > ul > li > .sub-menu-wrapper > ul.sub-menu > li > .sub-menu-wrapper ul.sub-menu > li
	{
		width: auto;
		margin-left: 1.0rem;
		padding: 0.0rem;
	}

	/* ナビゲーションへのメディアの埋め込み */
	#navigation > nav > ul > li > .sub-menu-wrapper > ul.sub-menu > li > .sub-menu-wrapper .sub-menu-wrapper-after
	{
		width: 100%;
	}

	#navigation > nav > ul > li > .sub-menu-wrapper > ul.sub-menu > li > .sub-menu-wrapper .sub-menu-wrapper-after > figure
	{
		width: 100%;
	}

	/***** フッタ部分 *****/
	footer .footer-content
	{
		width: 85%;
		margin: 5.0rem auto 2.0rem auto;
	}

	footer .copyright
	{
		margin: 2.0rem auto 0.0rem auto;
	}

	/**
	 * アーカイブページ
	 */
	/* ページネーション */
	nav.pagination .page-numbers
	{
		font-size: 0.8rem;
		width: 2.5rem;
		height: 2.5rem;
		margin: 0.5rem 0.25rem 0.0rem 0.25rem;
	}

	/**
	 * トップページ
	 */
	#visual p
	{
		font-size: 4.5vw;
	}

	/* 施設・事業のご案内 */
	.nav-facility
	{
		flex-wrap: wrap !important;
		row-gap: 0.5rem;
		column-gap: 0%;
	}

	.nav-facility > .wp-block-group
	{
		flex-basis: 50%;
	}

	.nav-facility p
	{
		font-size: min(calc(100vw / 32.5), 0.9rem);
	}

	/* イベント */
	#event ul
	{
		flex-wrap: wrap;
	}

	#event ul > li
	{
		width: 100%;
		max-width: 30rem;
		flex-direction: row;
		flex-wrap: wrap;
	}

	#event ul > li:nth-child(n+4):last-child
	{
		margin-right: 0.0rem;
	}

	#event ul > li .post-thumbnail
	{
		width: calc(50% - 4.5rem);
		margin: 0.5rem 1.5rem 1.0rem 0.0rem;
		order: 3;
	}

	#event ul > li .post-thumbnail img
	{
		height: auto;
	}

	#event ul > li .post-title
	{
		width: 100%;
		min-height: auto;
		order: 1;
	}

	#event ul > li .post-detail
	{
		width: 50%;
		order: 2;
	}

	#event ul > li .post-detail .post-venue .post-venue-label
	{
		display: none;
	}

	#event ul > li .post-detail .post-venue .post-venue-content
	{
		width: 100%;
	}

	/**
	 * 理念・使命・概要ページ
	 */
	.page-slug-mission #logo > .wp-block-group__inner-container > .wp-block-columns > .wp-block-column .wp-block-image.block-w-max-15rem
	{
		max-width: 7.5rem;
	}

	/**
	 * 青少年健全育成事業ページ
	 */
	.page-slug-youth .nav-ikusei > .wp-block-group__inner-container > .wp-block-group-is-layout-flex
	{
		flex-wrap: wrap;
	}

	.page-slug-youth .nav-ikusei .block-style-card
	{
		flex-basis: calc(50% - 2.0rem);
	}

	/* 賛助会員募集のボタン */
	.page-slug-youth .nav-ikusei-sub > .wp-block-button
	{
		width: 100%;
		display: flex;
		justify-content: center;
	}

	.page-slug-youth .nav-ikusei-sub > .wp-block-button > .wp-block-button__link
	{
		width: 100%;
		max-width: 20rem;
	}

	/* バックナンバーのボタン */
	.page-slug-youth .button-for-past-report
	{
		width: 100%;
		display: flex;
		justify-content: center;
	}

	.page-slug-youth .button-for-past-report > .wp-block-button__link
	{
		width: 100%;
		max-width: 20rem;
	}

	/* 青少年プランと心のスクラムのボタン */
	.page-slug-youth .nav-ikusei-activity
	{
		width: 100%;
		align-items: center !important;
		flex-direction: column;
	}

	.page-slug-youth .nav-ikusei-activity > .wp-block-button
	{
		width: 100%;
		max-width: 20rem;
	}

	/**
	 * 栃木県青少年育成県民会議賛助会員募集ページ
	 */
	.page-slug-support #sanjo > .wp-block-group__inner-container > .wp-block-columns > .wp-block-column > .wp-block-spacer:first-child
	{
		height: 1.0rem !important;
	}

	/**
	 * 文化振興事業ページ
	 */
	.page-slug-culture .nav-bunka > .wp-block-group__inner-container > .wp-block-group-is-layout-flex
	{
		flex-wrap: wrap;
	}

	.page-slug-culture .nav-bunka .block-style-card
	{
		flex-basis: calc(50% - 2.0rem);
	}

	/**
	 * 採用情報ページ
	 */
	/* ページ内リンク用のボタン */
	.page-slug-general .buttons-anchor-link
	{
		justify-content: center !important;
		flex-wrap: wrap;
	}

	.page-slug-general .buttons-anchor-link > .wp-block-button
	{
		width: calc(50% - var(--wp--style--block-gap, 1.0rem)*.75);
	}

	.page-slug-general .wp-block-buttons > .wp-block-button.medium-res-disp-none /* for customer edited block */
	{
		display: none;
	}

	/* 先輩の声 */
	.nav-recruit
	{
		flex-wrap: wrap !important;
		row-gap: 0.5rem;
		column-gap: 0%;
	}

	.nav-recruit > .wp-block-group
	{
		flex-basis: 50%;
	}

	.nav-recruit p
	{
		font-size: min(calc(100vw / 32.5), 0.9rem);
	}

	/* 採用試験案内はこちらボタン */
	.page-slug-general #main .button-for-exam-guide > .wp-block-button__link
	{
		font-size: 1.125rem;
	}

}

/********** 幅768pixel以下の場合の表示 **********/
@media (max-width: 768px)
{

	/**
	 * サイト全体
	 */
	/***** ブロック *****/
	.wp-block-flexible-table-block-table table.is-stacked-on-mobile th[style*="text-align:center"]
	{
		text-align: left !important;
	}

}

/********** 幅599pixel以下の場合の表示 **********/
@media (max-width: 599px)
{

	/**
	 * サイト全体
	 */
	/***** タグ *****/
	body
	{
		font-size: 0.9125rem;
	}

	p.low-res-nobreak > br
	{
		display: none;
	}

	p.has-text-align-center.low-res-align-left
	{
		text-align: left;
	}

	/***** 汎用クラス等 *****/
	/* 低解像度画面における要素の表示 */
	.low-res-disp-none { display: none; }
	.low-res-disp-inline { display: inline; }
	.low-res-disp-inlineblock { display: inline-block; }
	.low-res-disp-block { display: block; }
	.low-res-disp-flex { display: flex; }

	/* 幅 */
	.low-res-block-w-0pct { width: 0%; }
	.low-res-block-w-5pct { width: 5%; }
	.low-res-block-w-10pct { width: 10%; }
	.low-res-block-w-15pct { width: 15%; }
	.low-res-block-w-20pct { width: 20%; }
	.low-res-block-w-25pct { width: 25%; }
	.low-res-block-w-30pct { width: 30%; }
	.low-res-block-w-35pct { width: 35%; }
	.low-res-block-w-40pct { width: 40%; }
	.low-res-block-w-45pct { width: 45%; }
	.low-res-block-w-50pct { width: 50%; }
	.low-res-block-w-55pct { width: 55%; }
	.low-res-block-w-60pct { width: 60%; }
	.low-res-block-w-65pct { width: 65%; }
	.low-res-block-w-70pct { width: 70%; }
	.low-res-block-w-75pct { width: 75%; }
	.low-res-block-w-80pct { width: 80%; }
	.low-res-block-w-85pct { width: 85%; }
	.low-res-block-w-90pct { width: 90%; }
	.low-res-block-w-95pct { width: 95%; }
	.low-res-block-w-100pct { width: 100%; }

	/* フォントサイズ */
	.low-res-block-fontsize-5 { font-size: 0.05rem; }
	.low-res-block-fontsize-10 { font-size: 0.1rem; }
	.low-res-block-fontsize-15 { font-size: 0.15rem; }
	.low-res-block-fontsize-20 { font-size: 0.2rem; }
	.low-res-block-fontsize-25 { font-size: 0.25rem; }
	.low-res-block-fontsize-30 { font-size: 0.3rem; }
	.low-res-block-fontsize-35 { font-size: 0.35rem; }
	.low-res-block-fontsize-40 { font-size: 0.4rem; }
	.low-res-block-fontsize-45 { font-size: 0.45rem; }
	.low-res-block-fontsize-50 { font-size: 0.5rem; }
	.low-res-block-fontsize-55 { font-size: 0.55rem; }
	.low-res-block-fontsize-60 { font-size: 0.6rem; }
	.low-res-block-fontsize-65 { font-size: 0.65rem; }
	.low-res-block-fontsize-70 { font-size: 0.7rem; }
	.low-res-block-fontsize-75 { font-size: 0.75rem; }
	.low-res-block-fontsize-80 { font-size: 0.8rem; }
	.low-res-block-fontsize-85 { font-size: 0.85rem; }
	.low-res-block-fontsize-90 { font-size: 0.9rem; }
	.low-res-block-fontsize-95 { font-size: 0.95rem; }
	.low-res-block-fontsize-100 { font-size: 1.0rem; }
	.low-res-block-fontsize-105 { font-size: 1.05rem; }
	.low-res-block-fontsize-110 { font-size: 1.1rem; }
	.low-res-block-fontsize-115 { font-size: 1.15rem; }
	.low-res-block-fontsize-120 { font-size: 1.2rem; }
	.low-res-block-fontsize-125 { font-size: 1.25rem; }
	.low-res-block-fontsize-130 { font-size: 1.3rem; }
	.low-res-block-fontsize-135 { font-size: 1.35rem; }
	.low-res-block-fontsize-140 { font-size: 1.4rem; }
	.low-res-block-fontsize-145 { font-size: 1.45rem; }
	.low-res-block-fontsize-150 { font-size: 1.5rem; }
	.low-res-block-fontsize-155 { font-size: 1.55rem; }
	.low-res-block-fontsize-160 { font-size: 1.6rem; }
	.low-res-block-fontsize-165 { font-size: 1.65rem; }
	.low-res-block-fontsize-170 { font-size: 1.7rem; }
	.low-res-block-fontsize-175 { font-size: 1.75rem; }
	.low-res-block-fontsize-180 { font-size: 1.8rem; }
	.low-res-block-fontsize-185 { font-size: 1.85rem; }
	.low-res-block-fontsize-190 { font-size: 1.9rem; }
	.low-res-block-fontsize-195 { font-size: 1.95rem; }
	.low-res-block-fontsize-200 { font-size: 2.0rem; }

	/* 文字間隔 */
	.low-res-block-text-space-1 { letter-spacing: 0.01em; }
	.low-res-block-text-space-2 { letter-spacing: 0.02em; }
	.low-res-block-text-space-3 { letter-spacing: 0.03em; }
	.low-res-block-text-space-4 { letter-spacing: 0.04em; }
	.low-res-block-text-space-5 { letter-spacing: 0.05em; }
	.low-res-block-text-space-6 { letter-spacing: 0.06em; }
	.low-res-block-text-space-7 { letter-spacing: 0.07em; }
	.low-res-block-text-space-8 { letter-spacing: 0.08em; }
	.low-res-block-text-space-9 { letter-spacing: 0.09em; }
	.low-res-block-text-space-10 { letter-spacing: 0.1em; }
	.low-res-block-text-space-15 { letter-spacing: 0.15em; }
	.low-res-block-text-space-20 { letter-spacing: 0.2em; }
	.low-res-block-text-space-25 { letter-spacing: 0.25em; }
	.low-res-block-text-space-30 { letter-spacing: 0.3em; }
	.low-res-block-text-space-35 { letter-spacing: 0.35em; }
	.low-res-block-text-space-40 { letter-spacing: 0.4em; }
	.low-res-block-text-space-45 { letter-spacing: 0.45em; }
	.low-res-block-text-space-50 { letter-spacing: 0.5em; }
	.low-res-block-text-space-55 { letter-spacing: 0.55em; }
	.low-res-block-text-space-60 { letter-spacing: 0.6em; }
	.low-res-block-text-space-65 { letter-spacing: 0.65em; }
	.low-res-block-text-space-70 { letter-spacing: 0.7em; }
	.low-res-block-text-space-75 { letter-spacing: 0.75em; }
	.low-res-block-text-space-80 { letter-spacing: 0.8em; }
	.low-res-block-text-space-85 { letter-spacing: 0.85em; }
	.low-res-block-text-space-90 { letter-spacing: 0.9em; }
	.low-res-block-text-space-95 { letter-spacing: 0.95em; }
	.low-res-block-text-space-100 { letter-spacing: 1.0em; }

	/* 低解像度画面における疑似的な改行 */
	.low-res-linebreak::after
	{
		content: '';
		display: block;
	}

	/***** 本文部分 *****/
	#main .wp-block-spacer[style="height:5rem"]
	{
		height: 2.0rem !important;
	}

	#main .wp-block-spacer[style="height:7.5rem"]
	{
		height: 3.0rem !important;
	}

	#main .wp-block-spacer[style="height:10rem"]
	{
		height: 4.0rem !important;
	}

	#main .article-header + .wp-block-group > .wp-block-group__inner-container > .wp-block-spacer[style="height:7.5rem"]
	{
		height: 1.0rem !important;
	}

	#main > .wp-block-group:last-child
	{
		margin-bottom: -13rem;
	}

	/* トップへ戻る */
	#pagetop a
	{
		background-size: 1.0rem;
		width: 3.0rem;
		height: 3.0rem;
	}

	/***** フッタ部分 *****/
	svg #top-concave-partial-height path
	{
		transform: scaleX(2.0);
		transform-origin: top center;
	}

	footer .footer-content
	{
		flex-wrap: wrap;
	}

	footer .footer-content .site-owner
	{
		width: 100%;
	}

	footer .footer-content .site-owner > .site-logo
	{
		font-size: 1.125rem;
	}

	footer .footer-content .site-owner > .phone-numbers
	{
		display: flex;
		flex-wrap: wrap;
		column-gap: 1.0rem;
	}

	footer .footer-content .navigation ul
	{
		flex-wrap: wrap;
		column-gap: 1.0rem;
	}

	/* パスワード保護ページ */
	.post-password-form > p:nth-of-type(1)
	{
		text-align: left;
	}

	/**
	 * トップページ
	 */
	/* お知らせ */
	#information ul > li
	{
		flex-wrap: wrap;
	}

	#information ul > li > span
	{
		width: 100%;
	}

	/**
	 * 事業内容ページ
	 */
	.page-slug-business .block-m-left-2rem
	{
		margin-left: 0.0rem;
	}

	/**
	 * 事業計画・事業報告等ページ
	 */
	.page-slug-plan .article-header h1::after
	{
		letter-spacing: 0.0em;
	}

	/**
	 * 施設・事業ページ共通
	 */
	/* 写真背景の記事ヘッダ */
	.photo-viewing-article-header h1
	{
		font-size: 1.25rem !important;
		letter-spacing: 0.125em;
	}

	/**
	 * 青少年健全育成事業ページ
	 */
	/* 新着情報 */
	#ikusei-info
	{
		margin-left: 1.0rem;
		margin-right: 1.0rem;
	}

	#ikusei-info ul > li
	{
		flex-wrap: wrap;
	}

	#ikusei-info ul > li > span
	{
		width: 100%;
	}

	.page-slug-youth .nav-ikusei .block-style-card
	{
		flex-basis: auto;
	}

	/**
	 * 「とちぎネット利用アドバイザー」専用ページ
	 */
	/* お知らせ */
	#advisor-info ul > li
	{
		flex-wrap: wrap;
	}

	#advisor-info ul > li > span
	{
		width: 100%;
	}

	#advisor-info ul > li .post-taxonomy .advisor_category > span
	{
		padding: 0.0rem;
		justify-content: flex-start;
	}

	/* 研修資料 */
	#advisor-doc ul > li
	{
		flex-wrap: wrap;
	}

	#advisor-doc ul > li > span
	{
		width: 100%;
	}

	#advisor-doc ul > li .post-taxonomy .advisor_category > span
	{
		padding: 0.0rem;
		justify-content: flex-start;
	}

	/**
	 * 文化振興事業ページ
	 */
	.page-slug-culture .nav-bunka .block-style-card
	{
		flex-basis: auto;
	}

	/**
	 * イベント情報ページ
	 */
	/* 施設・事業絞り込み用ボタン */
	.page-slug-events .buttons-event-filter > .wp-block-button > .wp-block-button__link
	{
		font-size: 2.25vw;
	}

	/**
	 * 採用情報ページ
	 */
	.page-slug-general #main h2
	{
		font-size: 1.75rem;
		padding: 0.5em 0.0em;
	}

	.page-slug-general #main h3
	{
		font-size: 1.25rem;
		padding: 1.0em 0.0em 0.5em 0.0em;
	}

	.page-slug-general #main .wp-block-button__link
	{
		font-size: 1.25rem;
	}

	/**
	 * アーカイブページ
	 */
	body.archive #archive-list ul > li
	{
		flex-wrap: wrap;
	}

	body.archive #archive-list ul > li > span
	{
		width: 100%;
	}

}

/********** 幅599pixel以下で画面が縦向きの場合の表示 **********/
@media (max-width: 599px) and (orientation: portrait)
{
}

/********** 印刷の場合の表示 **********/
@media print
{

	/**
	 * サイト全体
	 */
	/***** タグ *****/
	body
	{
		overflow-x: visible;
	}

	tr
	{
		break-inside: avoid;
	}

	/***** 汎用クラス等 *****/
	/* 左右スクロール表示（ScrollHint） */
	.wp-block-group.js-scrollable
	{
		overflow: visible !important;
	}

	.scroll-hint.is-scrollable
	{
		background: none !important;
	}

	/* フェードイン要素 */
	.fadein,
	.fadein-bottom
	{
		opacity: 1 !important;
		transform: none !important;
	}

	/***** ヘッダ部分 *****/
	header
	{
		position: absolute;
	}

	/***** 本文部分 *****/
	/* トップへ戻る */
	#pagetop a
	{
		display: none;
	}

}

/***** アニメーション定義 *****/
@keyframes waft
{
	0%
	{
		transform: translateY(0.0rem);
	}
	50%
	{
		transform: translateY(0.75rem);
	}
	100%
	{
		transform: translateY(0.0rem);
	}
}

@keyframes flash
{
	0%
	{
		opacity: 1;
	}
	25%
	{
		opacity: 0.25;
	}
	50%
	{
		opacity: 1;
	}
	75%
	{
		opacity: 0.25;
	}
	100%
	{
		opacity: 1;
	}
}
