:root {
	/* Colors: */
	/* --link: #0076a0;
	--yellow: #fece00;
	--orange: #ff8b00;
	--black: #000000;
	--dark-gray: #666666;
	--gray: #cccccc;
	--light-gray: #eaeaea;
	--white: #ffffff;

	--transparent: rgba(255, 255, 255, 0); */
}

/* ========== ========== */
/* メインコンテンツ
/* ========== ========== */
.wrapper_article_button {
	padding-bottom: clamp(3.75rem, 2.9927rem + 3.0832vw, 5.625rem);
}
.wrapper_article_button:has(> .link_back),
.wrapper_article_button:has(> .link_goto),
.wrapper_article_button:has(> .link_return) {
	padding-bottom: 0;
}
.wrapper_article_button:not(:has(> .link_back)) > *:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
}
.contents_main {
	padding-top: clamp(2.8125rem, 2.1309rem + 2.7749vw, 4.5rem);
	position: relative;
}
.contents_main_bg {
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: -1;
}
.contents_main_bg > * {
	left: calc(
		clamp(0rem, -12.3155rem + 50.1395vw, 30.4910714285625rem) - (1366px / 2.8)
	);
	min-width: 100%;
	object-fit: contain;
	object-position: top;
	position: absolute;
	top: 0;
	width: max(1366px, 100%);
}

.contents_main {
	background: var(--white);
	position: relative;
}
.contents_main::before {
	background: var(--white);
	content: "";
	height: 100%;
	left: -95px;
	left: 0;
	position: absolute;
	top: 4vw;
	width: 100%;
	z-index: -1;
}
.article_background {
	position: relative;
}
.article_background::before {
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	height: 300px;
	height: clamp(18.75rem, 13.7012rem + 20.555vw, 31.25rem);
	left: -55px;
	left: calc(clamp(3.4375rem, 2.9326rem + 2.0555vw, 4.6875rem) * -1);
	position: absolute;
	top: -38px;
	top: calc(clamp(2.375rem, 1.6934rem + 2.7749vw, 4.0625rem) * -1);
	width: 300px;
	width: clamp(18.75rem, 13.7012rem + 20.555vw, 31.25rem);
	z-index: -1;
}

/* 外側全般 ---------- ---------- ---------- */
.page_contents {
	margin-top: clamp(2.8125rem, 1.6765rem + 4.6249vw, 5.625rem);
	min-height: 273px;
	position: relative;
	z-index: 5;
}
/* ページ配下全般 ---------- ---------- ---------- */
/* .contents_inner_deco *,
.contents_inner_deco *::before,
.contents_inner_deco *::after {
	box-shadow: none;
	box-sizing: border-box;
	outline: none;
	-webkit-tap-highlight-color: rgb(0 0 0 / 0%);
	text-box: trim-both text;
	text-box: trim-both cap alphabetic;
} */
.contents_inner_deco a {
	background: linear-gradient(var(--link), var(--link)) 0 100% / 0 1px no-repeat;
	background-size: 0% 1px;
	/* color: var(--dark_blue); */
	color: var(--link);
	font-weight: 600;
	padding: 2px 0;
	text-decoration: none;
	transition: 0.2s;
}
.contents_inner_deco a:hover {
	background-size: 100% 1px;
	color: var(--link);
	transition: 0.2s;
}
.contents_inner_deco .wp-block-image a,
.contents_inner_deco .wp-block-image a:hover {
	background: none;
}

.contents_inner_deco a:has(.file_icon):not(.wp-block-button__link):hover {
	background-size: calc(100% - 36px - 10px) 1px;
}
.contents_inner_deco a:has(.link_icon):not(.wp-block-button__link):hover {
	background-size: calc(100% - 14px - 10px) 1px;
}
.contents_inner_deco
	a:has(.file_icon):has(.link_icon):not(.wp-block-button__link):hover {
	background-size: calc(100% - 36px - 10px - 14px - 0.3125rem) 1px;
}
.error404 .page_contents::before {
	display: none;
}
.contents_inner_deco .wp-default-text {
	font-size: clamp(0.9375rem, 0.9123rem + 0.1028vw, 1rem);
	line-height: clamp(1.625rem, 1.524rem + 0.4111vw, 1.875rem);
	margin-bottom: 30px;
}
.deco_inner p:not(.wp-default-text) {
	text-box: none;
}

/* ヘッダー ---------- ---------- ---------- */
.header_main {
	position: relative;
	transform: none !important;
}
/* .header_main::before {
	background: var(--orange);
	content: "";
	height: 100%;
	left: 0;
	opacity: 0.1;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: -2;
}
.header_main::after {
	background-image: linear-gradient(
		to bottom right,
		var(--transparent) 49.99%,
		var(--orange) 50.01%
	);
	bottom: 0;
	content: "";
	height: 100%;
	left: 0;
	mix-blend-mode: multiply;
	opacity: 0.1;
	position: absolute;
	right: 0;
	top: 0;
	width: 100%;
	z-index: -1;
} */
.header_main_inner {
	align-items: center;
	display: grid;
	/* min-height: clamp(11.25rem, 10.3412rem + 3.6999vw, 13.5rem); */
	/* min-height: calc(clamp(11.25rem, 10.3412rem + 3.6999vw, 13.5rem) / 2);
	min-height: 315px; */
	min-height: clamp(13.75rem, 11.3518rem + 9.7636vw, 19.6875rem);
	position: relative;
}
.header_main_inner::after {
	background: var(--black);
	bottom: 0;
	content: "";
	height: calc(100% + 120px);
	left: 0;
	mix-blend-mode: initial;
	opacity: 0.35;
	position: absolute;
	width: 100%;
	z-index: -1;
}

/* .main_header_inner {
	background: var(--green-light);
	display: grid;
	height: auto;
	margin-left: -20px;
	position: relative;
	top: 0;
	width: calc(100% + 40px);
} */
/* .main_header_inner::before {
	bottom: -5px;
	content: "";
	height: 100%;
	left: 0;
	mix-blend-mode: initial;
	opacity: 1;
	position: absolute;
	width: 100%;
	z-index: -1;
}
.main_header_inner::after {
	background: var(--green-light);
	content: "";
	height: 100%;
	left: 0;
	mix-blend-mode: initial;
	opacity: 1;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 0;
} */

.main_header .container {
	align-items: center;
	display: grid;
	position: relative;
}
.main_header_subject {
	align-items: center;
	display: grid;
	padding-bottom: clamp(1.875rem, 1.6226rem + 1.0277vw, 2.5rem);
	padding-left: clamp(0.9375rem, 0.8113rem + 0.5139vw, 1.25rem);
	padding-right: clamp(0.9375rem, 0.8113rem + 0.5139vw, 1.25rem);
	padding-top: clamp(1.875rem, 1.6226rem + 1.0277vw, 2.5rem);
	position: relative;
}
.main_header_subject::after {
	background: var(--key_light);
	bottom: 0;
	content: "";
	height: 4px;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 160px;
}
.main_header_bg {
	height: 100%;
	min-height: 100%;
	min-width: 100%;
	position: absolute;
	width: 100%;
	z-index: -1;
}
.main_header_bg::before {
	background: var(--key__drak);
	content: "";
	height: 100%;
	left: 0;
	opacity: 1;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 0;
}
.main_header_bg::after {
	background: transparent
		linear-gradient(to bottom, var(--key__drak) 0%, var(--transparent) 100%);
	content: "";
	height: 100%;
	left: 0;
	mix-blend-mode: color-burn;
	opacity: 1;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 1;
}
.main_header_bg > * {
	background: var(--unnamed-color-28c3d4);
	height: 100%;
	min-height: 100%;
	min-width: 100%;
	object-fit: cover;
	position: absolute;
	width: 100%;
}

/* 記事タイトル ---------- ---------- ---------- */
main h1,
main h2,
main h3,
main h4,
main h5,
main h6,
main strong,
main em {
	font-family: var(--base-font);
	font-style: normal;
	font-weight: 600;
}
.header_main_subject {
	color: var(--dark_blue);
	display: flex;
	flex-direction: column-reverse;
	flex-wrap: wrap;
	padding: clamp(2.5rem, 1.9951rem + 2.0555vw, 3.75rem) 0;
}
.header_main_heading {
	color: var(--white);
	display: grid;
	/* font-size: clamp(2.25rem, 2.0985rem + 0.6166vw, 2.625rem); */
	font-size: calc(clamp(2.25rem, 2.0985rem + 0.6166vw, 2.625rem) / 1.3);
	font-weight: 600;
	line-height: 1.5;
	/* line-height: clamp(3.8125rem, 3.5601rem + 1.0277vw, 4.4375rem); */
	line-height: calc(clamp(3.8125rem, 3.5601rem + 1.0277vw, 4.4375rem) / 1.3);
}
.header_main_heading_small {
	color: var(--white);
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.7;
}
.header_main_heading:has(span) {
	display: block;
}
.header_main_parent {
	color: var(--white);
	font-size: clamp(0.75rem, 0.6995rem + 0.2055vw, 0.875rem);
	grid-area: 1 / 1 / 2 / 2;
	line-height: 1rem;
	text-transform: uppercase;
}

/* 各見出し群 ---------- ---------- ---------- */
.contents_main_heading {
	align-items: center;
	align-items: baseline;
	color: var(--orange);
	display: flex;
	font-size: clamp(1.75rem, 1.548rem + 0.8222vw, 2.25rem);
	line-height: clamp(2.3125rem, 2.0348rem + 1.1305vw, 3rem);
	margin-bottom: clamp(0.625rem, 0.3726rem + 1.0277vw, 1.25rem);
	margin-top: clamp(1.875rem, 1.6226rem + 1.0277vw, 2.5rem);
	position: relative;
	z-index: 1;
}
.contents_main_heading {
	margin-left: calc(-1 * clamp(1.25rem, 1.1238rem + 0.5139vw, 1.5625rem));
	margin-top: 0;
}
.contents_main_heading::before {
	background: var(--orange);
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	display: block;
	height: 1px;
	margin-right: 20px;
	position: relative;
	width: 50px;
	z-index: -1;
}
.contents_main_heading_inner {
	display: block;
}
.contents_main_heading_small {
	color: var(--dark-gray);
	display: block;
	font-family: var(--font-dincon);
	font-size: clamp(0.6875rem, 0.6118rem + 0.3083vw, 0.875rem);
	/* font-size: clamp(2rem, 1.3437rem + 2.6721vw, 3.625rem); */
	font-style: var(--font-sty-dincon);
	font-weight: var(--font-wei-dincon-reg);
	letter-spacing: 0.1rem;
	line-height: clamp(0.8125rem, 0.7115rem + 0.4111vw, 1.0625rem);
}

.h_one_inner {
	display: inline-block;
	padding-left: 10px;
}

.contents_inner_deco {
	& h2 {
		align-items: center;
		display: flex;
		font-size: clamp(1.5rem, 1.399rem + 0.4111vw, 1.75rem);
		line-height: clamp(1.875rem, 1.5468rem + 1.3361vw, 2.6875rem);
		margin-top: clamp(1.875rem, 1.6226rem + 1.0277vw, 2.5rem);
		position: relative;
		z-index: 1;
	}
	& h2::after {
		background: var(--pink);
		background-repeat: no-repeat;
		background-size: contain;
		content: "";
		display: block;
		height: 1px;
		margin-left: 20px;
		position: relative;
		width: 50px;
		z-index: -1;
	}
	& h3 {
		font-size: clamp(1.25rem, 1.149rem + 0.4111vw, 1.5rem);
		line-height: 1.41;
		margin-top: clamp(1.875rem, 1.6226rem + 1.0277vw, 2.5rem);
		padding-bottom: 15px;
		padding-left: 0;
		position: relative;
	}
	& h3::after {
		background: var(--orange);
		background-repeat: no-repeat;
		background-size: contain;
		bottom: 0;
		content: "";
		display: block;
		height: 1px;
		left: 0;
		position: absolute;
		width: 100%;
	}
	& h4 {
		background: none;
		color: var(--text);
		font-size: clamp(1rem, 0.9495rem + 0.2055vw, 1.125rem);
		line-height: 1.88;
		margin-top: clamp(1.875rem, 1.6226rem + 1.0277vw, 2.5rem);
		padding: 0;
		/* padding-bottom: 22px; */
		position: relative;
		text-align: start;
	}
	& h5 {
		color: var(--text);
		font-size: clamp(1rem, 0.9495rem + 0.2055vw, 1.125rem);
		line-height: 1.88;
		margin-top: clamp(1.875rem, 1.6226rem + 1.0277vw, 2.5rem);
		position: relative;
	}
	& h2 {
		margin-bottom: 1.5625rem;
		margin-top: 3.125rem;
	}
	& h3 {
		margin-bottom: 1.25rem;
		margin-top: clamp(1.5625rem, 1.4363rem + 0.5139vw, 1.875rem);
	}
	& h4,
	& h5 {
		margin-bottom: 0.9375rem;
	}
	.wp-block-heading + .wp-block-heading {
		margin-top: clamp(1.5625rem, 1.4363rem + 0.5139vw, 1.875rem);
	}
	& h2 + * {
		margin-top: 1.5625rem;
	}
	& h3 + * {
		margin-top: 1.25rem;
	}
	& h4 + *,
	& h5 + * {
		margin-top: 0.9375rem;
	}

	& .txt_i {
		font-style: italic;
		font-weight: var(--base-weight);
	}
}

.four_circle_svg {
	height: 25px;
	transform: rotate(180deg); /* ← 回転でスタート位置を下に */
	width: 25px;
}
.four_circle {
	/* animation: drawCircle 1s ease-out forwards; */
	fill: none;
	stroke: var(--pink);
	stroke-dasharray: 314; /* 2πr ≒ 2 * 3.14 * 50 */
	stroke-dashoffset: 314;
	/* stroke-dashoffset: 0; */
	stroke-width: 10;
}
.no-js {
	& .four_circle {
		fill: none;
		stroke: var(--pink);
		stroke-dasharray: 314;
		stroke-dashoffset: 0;
		stroke-width: 10;
	}
}
.class_active {
	& .four_circle {
		animation: drawCircle 0.8s ease-out forwards;
	}
}

@keyframes drawCircle {
	0% {
		stroke-dashoffset: 314;
	}
	100% {
		stroke-dashoffset: 0;
	}
}
.h_four_list {
	display: inline-block;
	height: 25px;
	/* margin-top: 10px; */
	position: relative;
	top: 6px;
	width: 25px;
}
.h_four_list::before {
	border-bottom: 2px solid var(--pink);
	border-left: 2px solid var(--pink);
	bottom: 6px;
	content: "";
	display: block;
	height: 8px;
	left: 7px;
	margin: auto;
	position: absolute;
	top: 6px;
	transform: rotate(-140deg);
	width: 8px;
}

/* 色付きブロック ---------- ---------- ---------- */
.contents_inner_deco {
	& .is-style-list_local {
		column-gap: clamp(0.3125rem, -0.0662rem + 1.5416vw, 1.25rem);
		display: grid;
		margin: 0;
		margin-bottom: clamp(1.25rem, 0.9976rem + 1.0277vw, 1.875rem);
		margin-top: clamp(1.25rem, 0.9976rem + 1.0277vw, 1.875rem);
		padding: 0;
		row-gap: clamp(0.3125rem, -0.0662rem + 1.5416vw, 1.25rem);

		& .wp-block-pages-list__item {
			margin: 0;
			position: relative;
		}
		& .wp-block-pages-list__item::before {
			background: var(--pink);
			border-radius: 50%;
			content: "";
			height: 15px;
			left: calc(20px);
			overflow: hidden;
			position: absolute;
			top: 13px;
			translate: none;
			width: 15px;
			z-index: 1;
		}
		& .wp-block-pages-list__item::after {
			border-bottom: 3px solid transparent;
			border-left: 4.5px solid var(--white);
			border-right: 0;
			border-style: solid;
			border-top: 3px solid transparent;
			content: "";
			height: 6px;
			left: calc(20px + 8px);
			position: absolute;
			top: 21px;
			translate: -50% calc(-50% - 0.5px) 0;
			width: 4.5px;
			z-index: 1;
		}
		& .wp-block-pages-list__item__link {
			background: var(--white);
			border: 1px solid var(--pink);
			color: var(--text);
			display: grid;
			font-size: 0.875rem;
			font-weight: var(--base-weight);
			line-height: 1.1875rem;
			padding: 10px calc(20px + 20px);
			transition: 0.3s ease-out;
		}
		& .wp-block-pages-list__item__link:hover,
		& .wp-block-pages-list__item__link:focus,
		& .wp-block-pages-list__item__link:focus-visible {
			background: var(--medium-pink);
			transition: 0.3s ease-out;
		}
	}
	& .is-style-block_custom_box {
		border-radius: 10px;
		padding: clamp(1.25rem, 0.9976rem + 1.0277vw, 1.875rem);
		position: relative;
		z-index: 1;
	}
	& .is-style-block_custom_box::after {
		border: 2px solid var(--gray);
		border-radius: 10px;
		content: "";
		height: 100%;
		left: 0;
		opacity: 0.5;
		position: absolute;
		top: 0;
		width: 100%;
		z-index: -1;
	}
	& .is-style-block_custom_box::before {
		background-image: linear-gradient(
			to bottom right,
			var(--transparent) 49.99%,
			var(--gray) 50.01%
		);
		border-radius: 10px;
		content: "";
		height: 100%;
		left: 0;
		opacity: 0.1;
		position: absolute;
		top: 0;
		width: 100%;
		z-index: -1;
	}
	& .is-style-block_custom_box {
		> * {
			margin-left: 0;
			margin-right: 0;
			max-width: none;
		}
		& > * > *:first-child,
		& > *:first-child {
			margin-top: 0;
		}
		& > * > *:last-child,
		& > *:last-child {
			margin-bottom: 0;
		}
		& h2,
		& h3,
		& h4,
		& h5 {
			border-bottom: 1px solid var(--yellow);
			font-size: clamp(1rem, 0.899rem + 0.4111vw, 1.25rem);
			line-height: clamp(1.6875rem, 1.5108rem + 0.7194vw, 2.125rem);
			margin: 0;
			margin-bottom: 20px;
			max-width: none;
			padding: 0;
			padding-bottom: 15px;
			padding-left: 23px;
		}
		& h2::before,
		& h3::before,
		& h4::before,
		& h5::before {
			background: var(--orange);
			background-repeat: no-repeat;
			background-size: contain;
			border-radius: 50%;
			content: "";
			display: block;
			height: 13px;
			left: 0;
			position: absolute;
			top: 2px;
			width: 13px;
			z-index: -1;
		}
		& h2::after,
		& h3::after,
		& h4::after,
		& h5::after {
			display: none;
		}
		& .h_two_inner {
			max-width: none;
			padding: 0;
		}
	}
}

/* 順不同リスト・数字リスト ---------- ---------- ---------- */
.contents_inner_deco ul {
	font-size: clamp(0.9375rem, 0.9123rem + 0.1028vw, 1rem);
	line-height: clamp(1.625rem, 1.524rem + 0.4111vw, 1.875rem);
	margin-bottom: clamp(20px, 4vw, 30px);
	margin-left: 10px;
	padding-left: calc(14px + 6px);
}
.contents_inner_deco ul li {
	margin-bottom: 10px;
	margin-top: 0px;
	position: relative;
}
.contents_inner_deco ul > li {
	list-style-type: none;
}
.contents_inner_deco ul li::before {
	background: var(--pink);
	border-radius: 50%;
	content: "";
	height: 15px;
	left: -20px;
	overflow: hidden;
	position: absolute;
	top: clamp(0.8125rem, 0.7873rem + 0.1028vw, 0.875rem);
	translate: 0 -50% 0;
	width: 15px;
}
.contents_inner_deco ul li::after {
	border-bottom: 3px solid transparent;
	border-left: 4.5px solid var(--white);
	border-right: 0;
	border-style: solid;
	border-top: 3px solid transparent;
	content: "";
	display: block !important;
	height: 6px;
	left: -12px;
	position: absolute;
	top: clamp(0.8125rem, 0.7873rem + 0.1028vw, 0.875rem);
	translate: -50% calc(-50% - 0.5px) 0;
	width: 4.5px;
}
.contents_inner_deco .list_decoration > li::before {
	background: var(--medium-pink);
}
.contents_inner_deco ul > ul > ul li::before {
	background: var(--green);
}
.contents_inner_deco ol {
	font-size: clamp(0.9375rem, 0.9123rem + 0.1028vw, 1rem);
	line-height: clamp(1.625rem, 1.524rem + 0.4111vw, 1.875rem);
	margin-bottom: 45px;
	margin-left: 6px;
	padding: 0;
}
.contents_inner_deco ol li {
	margin-bottom: 5px;
	margin-left: 25px;
	padding-left: 10px;
}
.contents_inner_deco ol > li {
	/* list-style-type: auto !important; */
	list-style-type: inherit !important;
}
.contents_inner_deco ul > li > ul,
.contents_inner_deco ol > li > ol,
.contents_inner_deco ul > li > ol,
.contents_inner_deco ol > li > ul {
	margin-bottom: 5px;
	margin-top: clamp(0.625rem, 0.524rem + 0.4111vw, 0.875rem);
	margin-top: 5px;
	margin-top: 10px;
}

/* メディア・ギャラリー ---------- ---------- ---------- */
/* .contents_main .wp-block-image {
	display: grid;
} */
.contents_main {
	& .wp-block-file,
	& .wp-block-file:not(.wp-element-button) {
		font-size: clamp(0.9375rem, 0.9123rem + 0.1028vw, 1rem);
		line-height: clamp(1.625rem, 1.524rem + 0.4111vw, 1.875rem);
		margin-bottom: 0em;
	}
}
.contents_inner_deco figcaption {
	color: var(--unnamed-color-999999);
	font-size: clamp(0.8125rem, 0.7873rem + 0.1028vw, 0.875rem);
	line-height: clamp(1.25rem, 1.1995rem + 0.2055vw, 1.375rem);
	margin-bottom: 0;
	margin-top: 0.875rem;
}
.contents_main
	.wp-block-gallery.has-nested-images
	figure.wp-block-image
	figcaption,
.contents_main .wp-block-image figcaption,
.contents_main .wp-block-group .wp-block-column .wp-block-image figcaption,
.contents_main .wp-block-group .wp-block-gallery .wp-block-image figcaption {
	color: var(--data);
	font-size: clamp(0.75rem, 0.7248rem + 0.1028vw, 0.8125rem);
	font-size: 0.875rem;
	line-height: 1.74;
	line-height: clamp(1.0625rem, 1.012rem + 0.2055vw, 1.1875rem);
	line-height: 1.625rem;
	margin: 0;
	padding-top: clamp(1rem, 0.899rem + 0.4111vw, 1.25rem);
	position: relative;
}
.wp-block-columns figure.wp-block-image figcaption {
	font-size: 0.875rem;
	line-height: 1.5rem;
	padding-bottom: 0;
}

/* ========== ========== ========== */
/* 特殊テーブル（表）
/* ========== ========== */
.contents_main {
	& .contents_inner_deco {
		& .scroll-hint-shadow-wrap {
			margin-bottom: clamp(0.9375rem, 0.6851rem + 1.0277vw, 1.5625rem);
			margin-top: clamp(0.9375rem, 0.6851rem + 1.0277vw, 1.5625rem);
		}
		& table,
		& .wp-block-flexible-table-block-table {
			border: none;
			font-size: clamp(0.9375rem, 0.9123rem + 0.1028vw, 1rem);
			line-height: clamp(1.625rem, 1.5998rem + 0.1028vw, 1.6875rem);
		}
		/* ========== ========== */
		/* 通常テーブル
		/* ========== ========== */
		& .block_table_wrapper {
			margin-top: clamp(1.25rem, 0.9976rem + 1.0277vw, 1.875rem);
			overflow-x: auto;
		}
		& .block_table_position {
			display: grid;
			overflow-x: auto;
			overflow-y: hidden;
		}
		& .block_table-wrap {
			max-width: none;
		}
		& .block_table-wrap02 {
			margin: 0 auto;
		}
		& .wp-block-table {
			margin-top: 0px;
			overflow-x: auto;

			& .has-fixed-layout {
				table-layout: unset;
			}

			& .block_table,
			& .block_table th,
			& .block_table td {
				border: none;
				font-size: 0.875rem;
				line-height: 2.14;
			}
			& .block_table {
				background: var(--white);
				border-bottom: none !important;
				border-collapse: collapse;
				border-spacing: 0 0;
				caption-side: bottom;
				font-size: clamp(0.875rem, 0.8245rem + 0.2055vw, 1rem);
				line-height: clamp(1.5em, 1.4243em + 0.3083vw, 1.6875em);
				margin-right: calc(50% - 50vw);
				min-width: 100%;
				position: relative;
				width: max-content;
				z-index: 1;

				& th {
					min-width: max-content;
					text-wrap: nowrap;
					white-space: nowrap;
				}
				& th,
				& td {
					min-width: fit-content;
					padding: 20px;
				}
				& td {
					border-left: none !important;
					border-right: none !important;
					min-width: 200px;
				}

				& thead {
					border: none;

					& th {
						font-weight: 600;
						position: relative;
						z-index: 1;
					}
					& th::before {
						background: var(--light-gray);
						content: "";
						height: 100%;
						left: 0;
						opacity: 0.5;
						position: absolute;
						top: 0;
						width: 100%;
						z-index: -1;
					}
					& th::after {
						border-bottom: 2px solid var(--middle-orange);
						content: "";
						height: 100%;
						left: 0;
						position: absolute;
						top: 0;
						width: 100%;
						z-index: -1;
					}
				}

				& tbody {
					border-bottom: 1px solid var(--border-gray);
					border-top: 1px solid var(--border-gray);

					& th {
						background: var(--middle-orange);
						background: var(--transparent);
						border: none;
						border-left: none !important;
						border-right: none !important;
						font-weight: 600;
						position: relative;
						text-align: start;
						text-wrap: nowrap;
					}
					& th::before {
						background: var(--light-gray);
						content: "";
						height: 100%;
						left: 0;
						opacity: 0.5;
						position: absolute;
						top: 0;
						width: 100%;
						z-index: -1;
					}
					& th::after {
						border-bottom: 2px solid var(--middle-orange);
						content: "";
						height: 100%;
						left: 0;
						position: absolute;
						top: 0;
						width: 100%;
						z-index: -1;
					}

					& td {
						border-bottom: 1px solid var(--border-gray);
					}

					& tr:nth-child(odd),
					& tr:nth-child(odd),
					& td.odd {
						background: var(--table_td-odd);
					}
					& tr:nth-child(even) td,
					& tr:nth-child(even) td,
					& td.even {
						position: relative;
						z-index: 1;
					}
					& tr:nth-child(even) td::before,
					& tr:nth-child(even) td::before,
					& td.even::before {
						background: var(--light-gray);
						content: "";
						height: 100%;
						left: 0;
						opacity: 0.2;
						position: absolute;
						top: 0;
						width: 100%;
						z-index: -1;
					}
				}

				& tfoot {
					border-top: 1px solid var(--border-gray);

					& td {
						font-weight: 600;
						position: relative;
						z-index: 1;
					}
					& td::before {
						background: var(--border-gray);
						content: "";
						height: 100%;
						left: 0;
						opacity: 0.5;
						position: absolute;
						top: 0;
						width: 100%;
						z-index: -1;
					}
				}
			}
		}
		/* ========== ========== */
		/* ストライプ
		/* ========== ========== */
		& .is-style-stripes {
			& .block_table {
				border-left: none;
				border-right: none;

				& thead {
					& th {
						color: var(--white);
					}
					& th:first-child {
						border-left: none;
					}
					& th:last-child {
						border-right: none;
					}
					& th::before {
						background: var(--pink);
						color: var(--white);
						opacity: 1;
					}
					& th::after {
						border-bottom: 2px solid var(--white);
						opacity: 0.8;
					}
				}
				& tbody {
					border-bottom: 1px solid var(--pink);
					border-top: 1px solid var(--pink);

					& th {
						border-left: none;
						color: var(--white);
					}
					& th::before {
						background: var(--pink);
						opacity: 1;
					}
					& th::after {
						border-bottom: 2px solid var(--white);
						opacity: 0.8;
					}
					& tr:nth-child(odd) {
						& th,
						& td {
							background-color: unset;
						}
					}
					& tr:nth-child(even) {
						& th,
						& td {
							background-color: unset;
						}
					}
					& td {
						border-bottom: 1px solid var(--pink);
					}

					& tr:nth-child(even) td::before,
					& tr:nth-child(even) td::before,
					& td.even::before {
						/* background: var(--light-pink); */
						background: var(--white);
						opacity: 1;
					}
				}
				& tfoot {
					border-top: 1px solid var(--dark-pink);

					& td {
						color: var(--white);
					}
					& td::before {
						background: var(--dark-pink);
						opacity: 1;
					}
				}
				& tr td:last-child {
					border-right: none;
				}
			}
		}
		/* ========== ========== */
		/* プラグイン
		/* ========== ========== */
		& .wp-block-flexible-table-block-table {
		}
	}
}

/* ========== ========== */
/* スクロールヒント
/* ========== ========== */
.contents_main {
	& .contents_inner_deco {
		& .scroll-hint-shadow-wrap:has(.wp-block-table)::before,
		& .scroll-hint-shadow-wrap:has(.wp-block-table)::after {
			z-index: 2;
		}
		& .scroll-hint-shadow-wrap:has(.wp-block-table) {
			& .scroll-hint-icon {
				z-index: 10;
			}

			& .scroll-hint-icon-wrap.is-active .scroll-hint-icon {
				opacity: 0.8;
			}
			& .scroll-hint-icon-wrap.is-active .scroll-hint-icon:before {
				animation: scroll-hint-appear 1.2s linear;
				animation-iteration-count: 2;
			}
			& .scroll-hint-icon-wrap.is-active .scroll-hint-icon:after {
				opacity: 1;
			}
			& .scroll-hint-icon {
				/* background: rgba(0, 0, 0, 0.7); */
				background: rgba(125, 60, 70, 0.7);
				border-radius: 5px;
				box-sizing: border-box;
				height: auto;
				left: calc(50% - 60px);
				opacity: 0;
				padding: 20px 10px 10px 10px;
				position: absolute;
				text-align: center;
				top: calc(50% - 25px);
				transition: opacity 0.3s;
				width: 120px;
			}
			& .scroll-hint-icon:before {
				background-image: url(../images/main/icon_scroll_hint_white_hand.svg?date=202508);
				background-position: center center;
				background-repeat: no-repeat;
				background-size: contain;
				color: #fff;
				content: "";
				display: inline-block;
				height: 40px;
				text-align: center;
				vertical-align: middle;
				width: 40px;
			}
			& .scroll-hint-icon:after {
				background-image: url(../images/main/icon_scroll_hint_white_arrow.svg?date=202508);
				background-repeat: no-repeat;
				content: "";
				display: block;
				height: 14px;
				left: 50%;
				margin-left: -20px;
				opacity: 0;
				position: absolute;
				top: 10px;
				transition-delay: 2.4s;
				width: 34px;
			}
		}
	}
}

@media screen and (min-width: 992px) {
	.contents_main {
		& .contents_inner_deco {
			& .items_used_wrap {
				margin: 0;
			}
			& .items_used_wrapper {
				margin: 0;
			}
			& .items_used-wrap {
				padding: 0;
				width: 100%;
			}
		}
	}
}

@media screen and (min-width: 1366px) {
	.contents_main {
		& .contents_inner_deco {
			& .items_used-wrap02,
			& .block_table-wrap02 {
				max-width: 1400px;
			}
		}
	}
}

/* 補足情報 ---------- ---------- ---------- */
.contents_inner_deco blockquote,
.contents_inner_deco .wp-block-quote {
	background: var(--white);
	border-left: 5px solid #ffcdab;
	border-radius: 0;
	padding-bottom: 10px;
	padding-left: 15px;
	padding-top: 10px;
}
.contents_inner_deco blockquote cite,
.contents_inner_deco .wp-block-quote cite {
	font-size: 0.875rem;
	font-style: normal;
	line-height: 1.5rem;
}

.contents_inner_deco blockquote h1,
.contents_inner_deco blockquote h2,
.contents_inner_deco blockquote h3,
.contents_inner_deco blockquote h4,
.contents_inner_deco blockquote h5,
.contents_inner_deco blockquote h6,
.contents_inner_deco .wp-block-quote .wp-block-heading {
	border: none;
	color: var(--green);
	font-size: clamp(1rem, 0.9495rem + 0.2055vw, 1.125rem);
	line-height: clamp(1.6875rem, 1.5865rem + 0.4111vw, 1.9375rem);
	padding: 0;
}
.contents_inner_deco .wp-block-quote .wp-block-heading::before,
.contents_inner_deco .wp-block-quote .wp-block-heading::after {
	display: none;
}

/* 更新日付 ---------- ---------- ---------- */
.post_cat {
	column-gap: 5px;
	display: flex;
	flex-wrap: wrap;
	row-gap: 2px;
}
.post_date {
	align-items: baseline;
	column-gap: 10px;
	display: grid;
	grid-template-columns: auto auto;
	justify-content: end;
	margin-bottom: 30px;
	padding-bottom: 5px;
	padding-top: 17px;
}
.post_date {
	background-image: linear-gradient(
		to right,
		var(--gray),
		var(--gray) 1px,
		transparent 0px,
		transparent 1px
	);
	background-position: left top;
	background-repeat: repeat-x;
	background-size: 2px 1px;
	margin-top: clamp(1.875rem, 1.1177rem + 3.0832vw, 3.75rem);
	width: 100%;
}
.post_date .post_date_text {
	color: var(--dark-gray);
	font-size: 0.875rem;
	line-height: 1.71;
}
.post_date .post_cat p a {
	align-content: center;
	align-items: center;
	border: 1px solid var(--gray);
	color: var(--pink);
	display: inline-block;
	font-size: 0.75rem;
	line-height: 1rem;
	min-width: 64px;
	padding: 4.5px 10px;
	text-align: center;
}
.post_cat_default a {
	background: var(--data);
}
.post_cat_blue a {
	background: var(--dark_blue);
}
.post_cat_yellow a {
	background: var(--ocher);
}
.post_cat_orange a {
	background: var(--orange);
}
/* ボタン ---------- ---------- ---------- */
.contents_main .wp-block-buttons {
	margin-bottom: clamp(2.8125rem, 2.4338rem + 1.5416vw, 3.75rem);
	margin-top: clamp(2.8125rem, 2.4338rem + 1.5416vw, 3.75rem);
}
.wp-block-button a {
	background: none;
	background: var(--orange);
	border: none;
	border: 0;
	border-radius: 999px;
	border-radius: 999px;
	box-shadow: none;
	box-shadow: 0px 0px 5px #00000029;
	color: var(--text);
	color: var(--white);
	font-size: 14px;
	font-weight: 600;
	font-weight: 600;
	grid-template-columns: none;
	line-height: 24px;
	margin: 0;
	padding: 5px;
	padding: clamp(0.9375rem, 0.8618rem + 0.3083vw, 1.125rem);
	padding: 15px 25px;
	position: relative;
	width: auto;
}
.wp-block-button a:hover {
	background: none;
	background: var(--yellow);
	color: var(--black);
}

/* カラムブロック ---------- ---------- ---------- */
.contents_inner_deco {
	& .wp-block-columns {
		margin-bottom: clamp(2.5rem, 1.9951rem + 2.0555vw, 3.75rem);
		margin-top: clamp(2.5rem, 1.9951rem + 2.0555vw, 2.5rem);
	}
	& .wp-block-columns:has(+ iframe) {
		margin-bottom: clamp(0.9375rem, 0.5588rem + 1.5416vw, 1.25rem);
	}
	& iframe + .wp-block-columns {
		margin-top: clamp(0.9375rem, 0.5588rem + 1.5416vw, 1.875rem);
	}
	& h2,
	& h3,
	& h4,
	& h5,
	& h6 {
		& + .wp-block-columns {
			margin-top: 0.9375rem;
		}
	}
}

/* 他ブロック ---------- ---------- ---------- */
.contents_inner {
	/* 線（hr）ブロック ---------- ---------- ---------- */
	& .wp-block-separator {
		background-image: linear-gradient(
			to right,
			var(--border-gray),
			var(--border-gray) 2px,
			transparent 0px,
			transparent 2px
		);
		background-position: left bottom;
		background-repeat: repeat-x;
		background-size: 4px 2px;
		border-bottom: none;
		bottom: 0;
		content: "";
		height: 3px;
	}
	& .wp-block-separator.is-style-dots {
		color: var(--border-gray);
		height: auto;
	}

	/* グループブロック ---------- ---------- ---------- */
	& .wp-block-group {
		margin-bottom: clamp(1.875rem, 1.4963rem + 1.5416vw, 2.8125rem);
		margin-top: clamp(1.875rem, 1.4963rem + 1.5416vw, 2.8125rem);
	}
}

/* ========== ========== */
/* ～へ移動するボタン
/* ========== ========== */
.link_goto {
	display: grid;
	justify-content: center;
}
.link_goto_link {
	color: var(--pink);
	display: grid;
	font-weight: 600;
	justify-items: center;
	margin: 0 auto;
	position: relative;
	text-decoration: none;
	/* transition: 0.3s ease-out; */
	width: 100%;
	z-index: 1;
}
.link_goto_text {
	border: 1px solid var(--pink);
	display: block;
	font-family: var(--font-dincon);
	font-size: clamp(0.6875rem, 0.6118rem + 0.3083vw, 0.875rem);
	font-style: var(--font-sty-dincon);
	font-weight: var(--font-wei-dincon-reg);
	letter-spacing: 0.1rem;
	line-height: clamp(0.8125rem, 0.7115rem + 0.4111vw, 1.0625rem);
	position: relative;
	transition: 0.3s ease-out;
}
.link_goto_text {
	min-width: min(70vw, 203px);
	text-align: center;
}

.link_goto_text::before {
	background: var(--light-pink);
	content: "";
	display: block;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	transform: scaleX(0);
	transform-origin: right;
	transition: all 0.5s ease;
	transition-property: transform;
	width: 100%;
	z-index: -1;
}

.link_goto_text_inner {
	display: block;
	padding: calc(18px - clamp(0rem, -0.1262rem + 0.5139vw, 0.3125rem)) 24px;
	padding: 8px 25px;
	position: relative;
}
.link_goto_text_inner::before {
	border-bottom: 1px solid var(--pink);
	border-radius: 100px;
	border-radius: 999px;
	content: "";
	display: block;
	height: 2px;
	position: absolute;
	right: calc(45px / 2 * -1);
	top: 50%;
	transform: rotate(0deg);
	transition: 0.3s;
	translate: 0 -50% 0;
	width: 45px;
}
.link_goto_text_inner::after {
	border-left: 1.5px solid var(--pink);
	border-radius: 100px;
	content: "";
	display: block;
	height: 8px;
	position: absolute;
	right: calc(45px / 2 * -1);
	rotate: 110deg;
	top: 50%;
	transform-origin: calc(100% - 5px) 50%;
	transition: 0.3s;
	translate: 0 calc(-50% - 5px) 0;
	width: 2px;
}

/* Hover */
.link_goto_link:hover {
	& .link_goto_text {
		letter-spacing: 0.05rem;
	}
	& .link_goto_text::before {
		transform: scaleX(1);
		transform-origin: left;
	}
	& .link_goto_text_inner::before {
		width: 40px;
	}
	& .link_goto_text_inner::before,
	& .link_goto_text_inner::after {
		right: calc(45px / 2 * -1 - 10px);
		transition: 0.3s;
	}
}

/* ========== ========== */
/* ～へ戻るボタン
/* ========== ========== */
.link_back {
	background: var(--white);
	display: grid;
	justify-content: center;
}
.link_back {
	padding-bottom: clamp(3.75rem, 2.9927rem + 3.0832vw, 5.625rem);
}
.link_back_link {
	color: var(--pink);
	display: grid;
	font-weight: 600;
	justify-items: center;
	margin: 0 auto;
	position: relative;
	text-decoration: none;
	width: 100%;
}
.link_back_text {
	border: 1px solid var(--pink);
	display: block;
	font-family: var(--font-dincon);
	font-size: clamp(0.6875rem, 0.6118rem + 0.3083vw, 0.875rem);
	font-style: var(--font-sty-dincon);
	font-weight: var(--font-wei-dincon-reg);
	letter-spacing: 0.1rem;
	line-height: clamp(0.8125rem, 0.7115rem + 0.4111vw, 1.0625rem);
	position: relative;
	transition: 0.3s ease-out;
}
.link_back_text {
	text-align: center;
	width: min(70vw, 203px);
}

.link_back_text::before {
	background: var(--light-pink);
	content: "";
	display: block;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	transform: scaleX(0);
	transform-origin: left;
	transition: all 0.5s ease;
	transition-property: transform;
	width: 100%;
}

.link_back_text_inner {
	display: block;
	padding: calc(18px - clamp(0rem, -0.1262rem + 0.5139vw, 0.3125rem)) 24px;
	padding: 8px 25px;
	position: relative;
}
.link_back_text_inner::before {
	border-bottom: 1px solid var(--pink);
	border-radius: 100px;
	border-radius: 999px;
	content: "";
	display: block;
	height: 2px;
	left: calc(45px / 2 * -1);
	position: absolute;
	top: 50%;
	transform: rotate(0deg);
	transition: 0.3s;
	translate: 0 -50% 0;
	width: 45px;
}
.link_back_text_inner::after {
	border-left: 1.5px solid var(--pink);
	border-radius: 100px;
	content: "";
	display: block;
	height: 8px;
	left: calc(45px / 2 * -1);
	position: absolute;
	rotate: -110deg;
	top: 50%;
	transform-origin: calc(100% + 2.5px) 50%;
	transition: 0.3s;
	translate: 0 calc(-50% - 5px) 0;
	width: 2px;
}

/* Hover */
.link_back_link:hover {
	& .link_back_text {
		letter-spacing: 0.05rem;
	}
	& .link_back_text::before {
		transform: scaleX(1);
		transform-origin: right;
	}
	& .link_back_text_inner::before {
		width: 40px;
	}
	& .link_back_text_inner::before,
	& .link_back_text_inner::after {
		left: calc(45px / 2 * -1 - 10px);
		transition: 0.3s;
	}
}

/* ========== ========== */
/* HOMEへ戻るボタン
/* ========== ========== */
.link_return {
	display: grid;
	justify-content: center;
}
.link_return_link {
	color: var(--pink);
	display: grid;
	font-weight: 600;
	justify-items: center;
	margin: 0 auto;
	position: relative;
	text-decoration: none;
	width: 100%;
}
.link_return_text {
	border: 1px solid var(--pink);
	display: block;
	font-family: var(--font-dincon);
	font-size: clamp(0.6875rem, 0.6118rem + 0.3083vw, 0.875rem);
	font-style: var(--font-sty-dincon);
	font-weight: var(--font-wei-dincon-reg);
	letter-spacing: 0.1rem;
	line-height: clamp(0.8125rem, 0.7115rem + 0.4111vw, 1.0625rem);
	position: relative;
	transition: 0.3s ease-out;
}
.link_return_text {
	text-align: center;
	width: min(70vw, 203px);
}

.link_return_text::before {
	background: var(--light-pink);
	content: "";
	display: block;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	transform: scaleX(0);
	transform-origin: center;
	transition: all 0.5s ease;
	transition-property: transform;
	width: 100%;
}

.link_return_text_inner {
	display: block;
	padding: calc(18px - clamp(0rem, -0.1262rem + 0.5139vw, 0.3125rem)) 24px;
	padding: 8px 25px;
	position: relative;
}
.link_return_text_inner::before {
	border-bottom: 1px solid var(--pink);
	border-radius: 100px;
	border-radius: 999px;
	content: "";
	display: block;
	height: 2px;
	position: absolute;
	right: calc(45px / 2 * -1);
	top: 50%;
	transform: rotate(0deg);
	transition: 0.3s;
	translate: 0 -50% 0;
	width: 45px;
}
.link_return_text_inner::after {
	border-left: 1.5px solid var(--pink);
	border-radius: 100px;
	content: "";
	display: block;
	height: 8px;
	position: absolute;
	right: calc(45px / 2 * -1 + 35px);
	rotate: -110deg;
	top: 50%;
	transform-origin: calc(100% - 5px) 50%;
	transition: 0.3s;
	translate: 0 calc(-50% + 2.5px) 0;
	width: 2px;
}

/* Hover */
.link_return_link:hover {
	& .link_return_text {
		letter-spacing: 0.05rem;
	}
	& .link_return_text::before {
		transform: scaleX(1);
	}
	& .link_return_text_inner::before {
		width: 40px;
	}
	& .link_return_text_inner::before {
		right: calc(45px / 2 * -1 + 10px);
		transition: 0.3s;
	}
	& .link_return_text_inner::after {
		right: calc(45px / 2 * -1 + 35px + 5px);
		transition: 0.3s;
	}
}

/* ========== ========== */
/* ローカルメニュー
/* ========== ========== */
.local_box {
	background: var(--light_orange);
	margin-top: clamp(1.875rem, 1.4963rem + 1.5416vw, 2.8125rem);
	padding-bottom: clamp(3.75rem, 2.9927rem + 3.0832vw, 5.625rem);
	position: relative;
}
.list_local {
	display: grid;
	gap: clamp(0.3125rem, -0.3186rem + 2.5694vw, 1.875rem);
}
.contents_inner_deco .list_local,
.contents_inner_deco .list_local li {
	margin: 0;
	padding: 0;
}
.list_local li {
	display: grid;
	list-style-type: none;
	position: relative;
}
.contents_inner_deco .list_local li::before {
	display: none;
}
.list_local li a {
	background: var(--white);
	border: 1px solid var(--green-dark);
	border-radius: 10px;
	border-radius: 4px;
	color: var(--white);
	color: var(--green-dark);
	display: grid;
	font-size: clamp(0.9375rem, 0.9123rem + 0.1028vw, 1rem);
	font-size: 1rem;
	font-weight: 600;
	line-height: clamp(1.3125rem, 1.2368rem + 0.3083vw, 1.5rem);
	line-height: 1.5rem;
	margin: 0 auto;
	padding: 16.5px;
	padding-right: 32px;
	position: relative;
	text-decoration: none;
	transition: 0.3s ease-out;
	width: 100%;
}
.list_local li a:has(span) {
	display: block;
	font-size: clamp(0.75rem, 0.6995rem + 0.2055vw, 0.875rem);
}
.list_local li a span {
	font-size: 1rem;
}
.list_local li a::before {
	background: url(../images/ul__li__darkgreen.svg?date=20240819);
	background-repeat: no-repeat;
	background-size: contain;
	border-radius: 50%;
	content: "";
	height: 14px;
	position: absolute;
	right: 15px;
	top: 50%;
	transform: translateY(-50%);
	width: 14px;
}
.list_local li a:hover {
	background: var(--white);
	background: var(--green);
	box-shadow: 0px 3px 10px #00000029;
	color: var(--white);
	transition: 0.3s ease-out;
}

/* ========== ========== */
/* 子ページ一覧
/* ========== ========== */
.side_page_child {
	margin-top: clamp(3.75rem, 2.9927rem + 3.0832vw, 5.625rem);
}
.child_group_parent_wrapper {
	display: grid;
	justify-content: center;
}
.child_group_parent {
	background: var(--white);
	display: inline-block;
	margin: 0 auto;
	padding: 0 calc(25px + 20px);
}
.child_group_parent_tit {
	color: var(--pink);
	display: inline-block;
	display: inline-flex;
	font-size: 1.125rem;
	font-size: clamp(1.125rem, 1.0244rem + 0.4107vw, 1.375rem);
	font-weight: 600;
	line-height: 1.875rem;
	margin: 0 auto;
	position: relative;
	text-align: center;
}
.child_group_parent_tit::before {
	background: var(--pink);
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	display: block;
	height: 1px;
	left: calc(-1 * (25px + 20px));
	margin-right: 20px;
	position: relative;
	position: absolute;
	top: 50%;
	transition: -50% 0 0;
	width: 25px;
}
.child_group_parent_tit::after {
	background: var(--pink);
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	display: block;
	height: 1px;
	position: relative;
	position: absolute;
	right: calc(-1 * (25px + 20px));
	top: 50%;
	transition: -50% 0 0;
	width: 25px;
}

.child_group_wrapper {
	& .child_group {
		padding-bottom: clamp(2.5rem, 2.2476rem + 1.0277vw, 3.125rem);
		padding-top: 2.5rem;
		position: relative;
	}
	& .child_group::after {
		background-image: linear-gradient(
			to right,
			var(--border-gray),
			var(--border-gray) 2px,
			transparent 0px,
			transparent 2px
		);
		background-position: left bottom;
		background-repeat: repeat-x;
		background-size: 4px 2px;
		bottom: 0;
		content: "";
		height: 3px;
		left: 0;
		position: absolute;
		position: absolute;
		width: 100%;
	}
	& .child_heading {
		font-size: clamp(1.75rem, 1.548rem + 0.8222vw, 2.25rem);
		line-height: clamp(2.3125rem, 2.0348rem + 1.1305vw, 3rem);
	}
	& .child_heading::after {
		display: none;
	}
	& .child_heading {
		align-items: center;
		align-items: baseline;
		color: var(--orange);
		display: flex;
		margin-bottom: clamp(0.625rem, 0.3726rem + 1.0277vw, 1.25rem);
		margin-top: clamp(1.875rem, 1.6226rem + 1.0277vw, 2.5rem);
		position: relative;
		z-index: 1;
	}
	& .child_heading {
		margin-left: calc(-1 * clamp(1.25rem, 1.1238rem + 0.5139vw, 1.5625rem));
		margin-top: 0;
	}
	& .child_heading::before {
		background: var(--orange);
		background-repeat: no-repeat;
		background-size: contain;
		content: "";
		display: block;
		height: 1px;
		margin-right: 20px;
		position: relative;
		width: 50px;
		z-index: -1;
	}
	& .child_heading_small {
		color: var(--dark-gray);
		display: block;
		font-family: var(--font-dincon);
		font-size: clamp(0.6875rem, 0.6118rem + 0.3083vw, 0.875rem);
		font-style: var(--font-sty-dincon);
		font-weight: var(--font-wei-dincon-reg);
		letter-spacing: 0.1rem;
		line-height: clamp(0.8125rem, 0.7115rem + 0.4111vw, 1.0625rem);
	}
	& .child_heading_link {
		background: linear-gradient(var(--orange), var(--orange)) 0 100% / 0 1px
			no-repeat;
		background: none;
		color: var(--orange);
	}
	& .child_heading:has(.child_heading_link:hover)::before {
		background: var(--main-blue);
	}
	& .child_heading_link:hover {
		/* background-size: 100% 1px; */
		color: var(--main-blue);
	}
	& .grandchild_list {
		margin-bottom: 0;
	}
	& .grandchild_list_block {
	}
	& .grandchild_list_block::before {
		background: var(--orange);
	}
	& .grandchild_list_link {
		background: linear-gradient(var(--orange), var(--orange)) 0 100% / 0 1px
			no-repeat;
		color: var(--text);
	}
	& .grandchild_list_link:hover {
		color: var(--text);
	}
}

/* ========== ========== */
/* 子階層ローカルメニュー
/* ========== ========== */
.side_page_child {
	background: var(--cream);
}
/* 第3階層目の場合、リストを折りたたむ */
.level_second {
	& .child_heading_wrapper {
		align-items: center;
		display: grid;
		grid-template-columns: auto auto;
		justify-content: space-between;
		position: relative;
		transition: all 0.3s ease-out;
	}
	& .child_heading {
		position: relative;
	}
	& .child_heading::before {
		position: relative;
	}
	& .child_group_button {
		background: var(--transparent);
		color: var(--transparent);
		cursor: pointer;
		display: grid;
		height: 60px;
		position: relative;
		width: 60px;
	}
	& .child_group_button_inner {
		display: block;
		height: 60px;
		position: relative;
		width: 60px;
	}
	& .child_group_button_inner::before {
		border-bottom: 1px solid var(--pink);
		content: "";
		height: 3px;
		left: 50%;
		position: absolute;
		top: 50%;
		translate: -50% calc(-50% - (3px / 2)) 0;
		width: 15px;
	}
	& .child_group_button_inner::after {
		border-right: 1px solid var(--pink);
		content: "";
		height: 15px;
		left: 50%;
		position: absolute;
		top: 50%;
		transition: 0.3s ease-out;
		translate: calc(-50% - (3px / 2)) -50% 0;
		width: 3px;
	}
	& .open_L {
		& .child_group_button_inner::after {
			border-right: 1px solid var(--pink);
			content: "";
			height: 15px;
			left: 50%;
			opacity: 0.5;
			position: absolute;
			rotate: 90deg;
			top: 50%;
			transform-origin: center;
			transition: 0.3s ease-out;
			translate: -50% calc(-50% - (3px / 2)) 0;
			width: 3px;
		}
	}
	& .grandchild_list_wrapper {
		height: 0;
		opacity: 0;
		overflow: hidden;
		visibility: hidden;
	}
	/* & .grandchild_list_wrapper * {
		height: 0;
	} */
}

/* リスト開閉 */
/* .chiOpen {
	& .grandchild_list_wrapper {
		height: auto;
		opacity: 1;
		transition: 0.3s ease-out;
		visibility: visible;
	}
	& .grandchild_list_wrapper * {
		height: auto;
	}
} */

/* ========== ========== */
/* ページ内アンカーリンク
/* ========== ========== */
/* .main_page .wp-block-buttons-is-layout-flex:has(> *.wp-block-buttons) {
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	margin-left: calc(50% - 50dvw);
	margin-right: calc(50% - 50dvw);
	overflow: auto hidden;
	white-space: nowrap;
}
.wp-block-buttons-is-layout-flex .wp-block-buttons {
	margin: 0;
}
.wp-block-buttons-is-layout-flex .wp-block-button a {
	background: none;
	background: var(--orange);
	border: none;
	border: 0;
	border-radius: 999px;
	border-radius: 999px;
	box-shadow: none;
	box-shadow: 0px 0px 5px #00000029;
	color: var(--text);
	color: var(--white);
	display: block;
	font-size: 14px;
	font-weight: 600;
	font-weight: 600;
	grid-template-columns: none;
	line-height: 24px;
	margin: 0;
	padding: 5px;
	padding: clamp(0.9375rem, 0.8618rem + 0.3083vw, 1.125rem);
	padding: 15px 25px;
	position: relative;
	width: auto;
}
.wp-block-buttons-is-layout-flex .wp-block-button a::before {
	display: none;
}
.wp-block-buttons-is-layout-flex .wp-block-button a::after {
	background: var(--key__dark);
	bottom: 0;
	bottom: 0;
	content: "";
	height: 5px;
	left: 0;
	position: absolute;
	width: 100%;
}
.wp-block-buttons-is-layout-flex .wp-block-button a:hover {
	background: none;
	background: var(--yellow);
	color: var(--black);
} */

.wp-block-buttons-is-layout-flex
	.wp-block-button
	a[href^="#"]
	.file_icon_wrapper {
	display: none;
}

/* ========== ========== */
/* ファイルアイコン
/* ========== ========== */
.file_icon_wrapper {
	display: inline-block;
	margin-left: 10px;
	vertical-align: middle;
}
.category-journal .file_icon_wrapper {
	display: inline-block;
	margin-left: 0px;
}
.file_icon_wrapper.phone {
	margin-left: 0px;
	margin-right: 10px;
}
span.phone_icon {
	display: inline-block;
	height: 16px;
	vertical-align: sub;
	width: 16px;
}
main a[href^="tel:"] {
	font-weight: 600;
}
main a[href$=".pdf"] span.file_icon,
main a[href$=".xls"] span.file_icon,
main a[href$=".xlsx"] span.file_icon,
main a[href$=".doc"] span.file_icon,
main a[href$=".docx"] span.file_icon {
	align-content: center;
	background: var(--white);
	border: 1px solid var(--border-gray);
	color: var(--text);
	display: inline-block;
	display: inline-grid;
	font-size: 0.625rem;
	font-weight: 600;
	height: 18px;
	justify-content: center;
	line-height: 0.875rem;
	width: 34px;
}
main a[href$=".pdf"] span > *,
main a[href$=".xls"] span > *,
main a[href$=".xlsx"] span > *,
main a[href$=".doc"] span > *,
main a[href$=".doc"] span > *,
main a[target="_blank"] span > *,
span.file_icon > *,
span.link_icon > *,
span.file_icon > * {
	display: inline-block;
	/* font-family: var(--font-point); */
}
span.link_icon,
main a[target="_blank"] span.link_icon {
	display: inline-grid;
	height: 14px;
	margin-left: 0.3125rem;
	vertical-align: baseline;
	width: 14px;
}
main a[href$=".pdf"] span > *,
main a[href$=".xls"] span > *,
main a[href$=".xlsx"] span > *,
main a[href$=".doc"] span > *,
main a[href$=".doc"] span > *,
main a[target="_blank"] span > *,
span.file_icon > *,
span.link_icon > * {
	display: inline-block;
	/* height: 100%;
	width: auto; */
}
.contents_inner_deco {
	& .wp-block-image {
		width: 100%;

		& a {
			position: relative;

			& .file_icon_wrapper {
				position: absolute;
				right: 0;
				top: 0;
			}
		}
	}
	& .wp-block-image img {
		height: auto;
		max-width: max-content;
		width: 100%;
	}
	& .wp-block-image.alignleft,
	& .wp-block-image.aligncenter,
	& .wp-block-image.alignright {
		width: auto;
	}
	& .wp-block-image.alignleft {
		margin-left: 0;
		margin-right: auto;
	}
	& .wp-block-image.aligncenter {
		margin-left: auto;
		margin-right: auto;
	}
	& .wp-block-image.alignright {
		margin-left: auto;
		margin-right: 0;
	}
	& .wp-block-image.alignwide {
		margin-left: calc(clamp(0.625rem, -1.647rem + 9.2497vw, 6.25rem) * -1 / 2);
		margin-right: calc(clamp(0.625rem, -1.647rem + 9.2497vw, 6.25rem) * -1 / 2);
		width: min(100% + clamp(0.625rem, -1.647rem + 9.2497vw, 6.25rem), 1400px);
	}
	& .wp-block-image.alignfull {
		margin-left: calc(50% - 50vw);
		margin-right: calc(50% - 50vw);
		width: 100vw;

		& img {
			max-width: none;
		}
		& figcaption {
			padding-left: 10px;
			padding-right: 10px;
		}
	}
	& .wp-block-columns .wp-block-image img {
		height: auto;
		max-width: 100%;
		width: 100%;
	}
}
.deco_inner {
	& figure:not(.wp-block-image) img {
		height: auto;
		max-width: max-content;
		width: 100%;
	}
}
main a .wp-block-image span {
	display: none;
}

/* ========== ========== */
/* パンくずリスト
/* ========== ========== */
.bread_wrapper {
	/* margin: 0 calc(50% - 50vw); */
}
.bread {
	background: var(--body__background);
	font-size: 0.75rem;
	line-height: 20px;
	position: relative;
}
.bread {
	background: var(--white);
	padding-top: clamp(0.625rem, 0.1201rem + 2.0555vw, 1.875rem);
	top: 0;
	width: 100%;
	z-index: 5;
}
.bread_position {
	display: grid;
	justify-items: center;
	overflow-x: auto;
	overflow-y: hidden;
}
.breadcrumb {
	column-gap: 5px;
	display: inline-flex;
	justify-content: flex-end;
	margin: 0 auto;
	padding-bottom: 9px;
	text-wrap: nowrap;
	width: max(100%, -1.375rem + 95.2vw);
}
.bread nav {
	display: grid;
	justify-content: start;
}
.bread ol {
	display: flex;
	flex-wrap: nowrap;
	overflow: auto hidden;
	white-space: nowrap;
}
.bread ol li {
	font-size: 0.75rem;
	line-height: 1.25rem;
	list-style-type: none;
	position: relative;
}
.bread ol li:not(:last-child)::before,
.bread ol li:not(:last-child)::after {
	background: var(--gray);
	border-radius: 100px;
	content: "";
	display: block;
	height: 1px;
	position: absolute;
	right: -3px;
	top: calc(50%);
	transform: translateY(-50%) rotate(30deg);
	transform-origin: calc(100% - 0.5px) 50%;
	transition: 0.3s;
	width: 7px;
}
.bread ol li:not(:last-child)::before {
	transform: translateY(-50%) rotate(40deg);
}
.bread ol li:not(:last-child)::after {
	transform: translateY(-50%) rotate(-40deg);
}
body .bread ol li a {
	color: var(--text);
	text-decoration: none;
}
.bread ol li .bread_label,
.bread ol li a {
	border-radius: 999px;
	display: block;
	padding: 1px 15px;
}
.bread ol li a .bread_label {
	color: var(--green-dark);
	padding: 0;
}
.bread ol li a:hover .bread_label {
	color: var(--red);
}
.bread ol li .bread_label {
	color: var(--text);
}

/* ========== ========== */
/* ローカルメニュー
/* ========== ========== */
.list_child_wrapper {
	background: var(--cream);
	padding-bottom: clamp(1.25rem, 0.9976rem + 1.0277vw, 1.875rem);
	padding-top: clamp(1.25rem, 0.9976rem + 1.0277vw, 1.875rem);

	& .list_child {
		column-gap: clamp(0.3125rem, -0.0662rem + 1.5416vw, 1.25rem);
		display: grid;
		margin: 0;
		padding: 0;
		row-gap: clamp(0.3125rem, -0.0662rem + 1.5416vw, 1.25rem);
	}
	& .list_child_block {
		position: relative;
	}
	& .list_child_block::before {
		background: var(--pink);
		border-radius: 50%;
		content: "";
		height: 15px;
		left: calc(20px);
		overflow: hidden;
		position: absolute;
		top: 13px;
		width: 15px;
		z-index: 1;
	}
	& .list_child_block::after {
		border-bottom: 3px solid transparent;
		border-left: 4.5px solid var(--white);
		border-right: 0;
		border-style: solid;
		border-top: 3px solid transparent;
		content: "";
		height: 6px;
		left: calc(20px + 8px);
		position: absolute;
		top: 21px;
		translate: -50% calc(-50% - 0.5px) 0;
		width: 4.5px;
		z-index: 1;
	}
	& .list_child_link {
		background: var(--white);
		border: 1px solid var(--pink);
		color: var(--text);
		display: grid;
		font-size: 0.875rem;
		line-height: 1.1875rem;
		padding: 10px calc(20px + 20px);
		transition: 0.3s ease-out;
	}
	& .list_child_link:hover,
	& .list_child_link:focus,
	& .list_child_link:focus-visible {
		background: var(--medium-pink);
		transition: 0.3s ease-out;
	}
	& .current {
		& .list_child_link {
			background: var(--pink);
			color: var(--white);
		}
	}
	& .list_child_block.current::before {
		background: var(--white);
	}
	& .list_child_block.current::after {
		border-left: 4.5px solid var(--pink);
	}
}

/* ========== ========== */
/* ページャー
/* ========== ========== */
.pager {
	margin-top: clamp(1.875rem, 1.1177rem + 3.0832vw, 3.75rem);
}
.page_contents .container > :first-child {
	margin-top: 0;
}
.page_contents .container > :last-child {
	margin-bottom: 0;
}
#over main.page_contents article > *:last-child {
	margin-bottom: clamp(60px, 6vw, 90px);
}
.pager {
	position: relative;
	z-index: 100;
}
.pager a,
.current {
	color: #039;
	display: inline-block;
}
.pager ul {
	align-items: center;
	column-gap: 5px;
	display: grid;
	font-size: 0;
	grid-template-columns: repeat(auto-fit, minmax(28px, max-content));
	justify-content: center;
	margin: 0;
	padding: 0 0.3125rem;
}
.pager ul li {
	display: grid;
	list-style-type: none;
	margin: 0;
}
.contents_inner_deco {
	& .pager ul li::before {
		display: none;
	}
}
#over main .pager span,
#over main .pager a {
	align-items: center;
	border: none;
	border: 1px solid transparent;
	color: #333;
	display: inline-flex;
	font-family: var(--font-point);
	font-size: 0.875rem;
	height: 36px;
	justify-content: center;
	min-width: 30px;
	padding: 0 0.125rem;
	text-decoration: none;
	transition: 0.2s ease-out;
}
#over main .pager a:hover {
	background: var(--unnamed-color-aee7e8);
}
#over main .pager .current {
	background: var(--unnamed-color-28c3d4);
	color: var(--white);
}
.pager_wrapper {
	margin-bottom: clamp(1.875rem, 1.1177rem + 3.0832vw, 3.75rem);
	margin-top: clamp(1.875rem, 1.1177rem + 3.0832vw, 3.75rem);
}
.pager {
	background: var(--body__background);
	font-family: var(--font-normal);
	position: relative;
}
.pager::before {
	background: var(--unnamed-color-11a59f);
	content: "";
	height: 100%;
	left: 0;
	opacity: 0.15;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: -5;
}
.pager a,
.current,
.current_page {
	color: #039;
	display: inline-block;
}
.pager > ul {
	align-items: center;
	column-gap: 5px;
	display: grid;
	font-size: 0;
	grid-template-columns: repeat(auto-fit, minmax(34px, max-content));
	justify-content: center;
	margin: 0;
}
main header + * .pager > ul li {
	margin: 0;
	padding: 0;
}
main header + * .pager > ul li::before {
	display: none;
}
#over main .pager .pager_active,
#over main .pager span,
#over main .pager a {
	align-items: center;
	background: var(--white);
	border: none;
	border: 1px solid var(--pink);
	border-radius: 50%;
	color: var(--pink);
	display: inline-flex;
	font-size: 14px;
	font-size: 0.875rem;
	height: 34px;
	justify-content: center;
	min-width: 34px;
	padding: 0 2px;
	text-decoration: none;
	transition: 0.3s ease-out;
}
#over main .pager a:hover {
	background: var(--light-pink);
	border: 1px solid var(--transparent);
	color: var(--pink);
	font-weight: 600;
	text-decoration: none;
	transition: 0.3s ease-out;
}
#over main .pager .current,
#over main .pager .current_page,
#over main .pager .pager_active,
#over main .pager .fs-current-link {
	background: var(--white);
	border: 1px solid var(--transparent);
	color: var(--pink);
	font-weight: 600;
}
#over main .pager .dots {
	border: 1px solid var(--transparent);
}

/* ========== ========== */
/* 検索結果
/* ========== ========== */
.text_search_result {
	margin-bottom: clamp(0.9375rem, 0.5588rem + 1.5416vw, 1.875rem);
	margin-top: clamp(0.9375rem, 0.8113rem + 0.5139vw, 1.25rem);
}

/* ========== ========== */
/* ～戻るボタン
/* ========== ========== */
.back_link {
	display: grid;
	justify-content: center;
	margin-top: clamp(2.5rem, 2.2476rem + 1.0277vw, 3.125rem);
}

/* ========== ========== */
/* 教員紹介（アーカイブ）
/* ========== ========== */
.list_professor_wrapper {
	/* background: var(--cream);
	margin: 0 calc(50% - 50vw);
	padding-bottom: clamp(1.25rem, 0.9976rem + 1.0277vw, 1.875rem);
	padding-top: clamp(1.25rem, 0.9976rem + 1.0277vw, 1.875rem); */
	& .container {
	}
	& .list_professor {
		column-gap: clamp(0.3125rem, -0.0662rem + 1.5416vw, 1.25rem);
		display: grid;
		margin: 0;
		padding: 0;
		row-gap: clamp(0.3125rem, -0.0662rem + 1.5416vw, 1.25rem);
	}
	& .list_professor_block {
		position: relative;
	}
	& .list_professor_block::before {
		background: var(--pink);
		border-radius: 50%;
		content: "";
		height: 15px;
		left: calc(20px);
		overflow: hidden;
		position: absolute;
		top: 20px;
		width: 15px;
	}
	& .list_professor_block::after {
		border-bottom: 3px solid transparent;
		border-left: 4.5px solid var(--white);
		border-right: 0;
		border-style: solid;
		border-top: 3px solid transparent;
		content: "";
		height: 6px;
		left: calc(20px + 7.5px);
		position: absolute;
		top: 20.5px;
		translate: -50% calc(-50% - 0.5px) 0;
		width: 4.5px;
	}
	& .list_professor_link {
		background: var(--white);
		border: 1px solid var(--pink);
		color: var(--text);
		display: grid;
		font-style: 0.875rem;
		line-height: 1.1875rem;
		padding: 10px calc(20px + 20px);
		transition: 0.3s ease-out;
	}
	& .list_professor_link:hover {
		background: var(--medium-pink);
		color: var(--text);
		transition: 0.3s ease-out;
	}
	/* & .current {
		& .list_professor_link {
			background: var(--pink);
			color: var(--white);
		}
	} */
	& .list_professor_block.current::before {
		background: var(--white);
	}
	& .list_professor_block.current::after {
		border-left: 4.5px solid var(--pink);
	}
}

/* ========== ========== */
/* 特殊レイアウト（教員紹介）
/* ========== ========== */
.professor_profile {
	display: grid;
	margin-bottom: clamp(1.875rem, 1.1177rem + 3.0832vw, 3.75rem);

	/* ---------- ---------- */
	/* 写真（アイキャッチ）
	/* ---------- ---------- */
	& .item_photo_figure {
		border-radius: 10px;
		margin: 0 auto;
		max-width: 250px;
		overflow: hidden;
	}
	/* ---------- ---------- */
	/* 担当
	/* ---------- ---------- */
	& .item_specialty {
		& .item_specialty_contents {
			& > *:first-child {
				margin-top: 0;
				padding-top: 0;
			}
		}
	}
	/* ---------- ---------- */
	/* シーズデータ
	/* ---------- ---------- */
	& .item_sizu {
		& .link_goto_link {
			background: none;
			background-size: auto;
			color: var(--pink);
			padding: 0;
			transition: 0.3s ease-out;
		}
		& .link_goto_link:hover {
			background: none;
			background-size: auto;
			color: var(--pink);
			padding: 0;
			transition: 0.3s ease-out;
		}
		& .link_goto_text {
			min-width: min(75vw, 300px);
		}
	}
}

/* ========== ========== */
/* 特殊レイアウト（説明リスト）
/* ========== ========== */
.professor_profile_detail {
	& .item_profile {
		display: grid;
		padding-bottom: clamp(0.9375rem, 0.5588rem + 1.5416vw, 1.875rem);
		padding-top: clamp(0.9375rem, 0.5588rem + 1.5416vw, 1.875rem);
		position: relative;
		row-gap: 15px;
	}
	& .item_profile:last-child {
		margin-bottom: 30px;
	}
	& .item_profile:first-child:before {
		background-image: linear-gradient(
			to right,
			var(--border-gray),
			var(--border-gray) 2px,
			transparent 0px,
			transparent 2px
		);
		background-position: left top;
		background-repeat: repeat-x;
		background-size: 4px 2px;
		content: "";
		height: 3px;
		left: 0;
		position: absolute;
		position: absolute;
		top: 0;
		width: 100%;
	}
	& .item_profile::after {
		background-image: linear-gradient(
			to right,
			var(--border-gray),
			var(--border-gray) 2px,
			transparent 0px,
			transparent 2px
		);
		background-position: left bottom;
		background-repeat: repeat-x;
		background-size: 4px 2px;
		bottom: 0;
		content: "";
		height: 3px;
		left: 0;
		position: absolute;
		position: absolute;
		width: 100%;
	}
	& .item_profile_head {
	}
	& .item_profile_heading {
		column-gap: 5px;
		display: flex;
	}
	& .h_four_list {
		top: 2px;
	}
	& .item_profile_titles {
		align-items: baseline;
		column-gap: 10px;
		display: flex;
	}
	& .item_profile_title {
		color: var(--pink);
	}
	& .item_profile_title_en {
		color: var(--dark-gray);
		display: block;
		font-family: var(--font-dincon);
		font-size: clamp(0.6875rem, 0.6118rem + 0.3083vw, 0.875rem);
		font-size: 11px;
		font-style: var(--font-sty-dincon);
		font-weight: var(--font-wei-dincon-reg);
		letter-spacing: 0.1rem;
		line-height: clamp(0.8125rem, 0.7115rem + 0.4111vw, 1.0625rem);
		line-height: 0.8rem;
	}
	& .item_profile_contents {
	}
	& .item_profile_detail {
		& h1,
		h2,
		h3,
		h4,
		h5,
		h6 {
			border-bottom: none;
			/* color: var(--dark-gray); */
			display: table;
			font-size: 1rem;
			line-height: 1.875rem;
			margin: 0;
			margin-bottom: 5px;
			margin-top: 10px;
			padding: 0;
			position: relative;
		}
		& h1::before,
		& h2::before,
		& h3::before,
		& h4::before,
		& h5::before,
		h6::before {
			display: none;
		}
		& h1::after,
		& h2::after,
		& h3::after,
		& h4::after,
		& h5::after,
		& h6::after {
			display: none;
		}
		& h3::after {
			background: var(--orange);
			background-repeat: no-repeat;
			background-size: contain;
			content: "";
			display: block;
			height: 1px;
			left: auto;
			margin-left: 20px;
			position: absolute;
			right: calc(-25px - 10px);
			top: 50%;
			translate: 0 -50% 0;
			width: 25px;
			/* z-index: -1; */
		}
		& h4::after {
		}
		& h5::after,
		& h6::after {
			font-weight: 600;
		}

		& ul li::before {
			background: var(--middle-orange);
		}

		& > *:first-child {
			margin-top: 0;
			padding-top: 0;
		}
		& > *:last-child {
			margin-bottom: 0;
			padding-bottom: 0;
		}
	}
}
/* ========== ========== */
/* 特殊レイアウト（アンカーリンク）
/* ========== ========== */
.contents_inner {
	/* ---------- ---------- */
	/* ボタン横並びの場合
	/* ---------- ---------- */
	& .wp-block-buttons.is-layout-flex {
		column-gap: 2px;
		display: flex;
		font-weight: 600;
		margin: 0 auto;
		margin: 0;
		margin-bottom: 15px;
		margin-top: 15px;
		max-width: 1110px;
		padding: 0 var(--tab-news-padding);
		padding: 0;
		padding-bottom: 9px;
		position: relative;
		text-wrap: nowrap;
		width: max(100%, -1.375rem + 95.2vw);
		--tab-news-padding: calc(
			clamp(1.25rem, -1.4764rem + 11.0997vw, 8rem) -
				clamp(0rem, -34.6875rem + 50vw, 8rem) + (5px * 2)
		);

		& .wp-block-button {
			color: var(--white);
			cursor: pointer;
			display: grid;

			list-style-type: none;
			position: relative;
		}

		& .wp-block-button__link {
			align-content: center;
			background: var(--transparent);
			border: 1px solid var(--transparent);
			border-radius: 999px;
			box-shadow: none;
			color: var(--text);
			display: inline-grid;
			display: block;
			font-size: clamp(0.9375rem, 0.8618rem + 0.3083vw, 1.125rem);
			font-size: clamp(0.75rem, 0.6995rem + 0.2055vw, 0.875rem);
			line-height: clamp(1.25rem, 1.149rem + 0.4111vw, 1.5rem);
			padding: 10px clamp(0.625rem, 0.3726rem + 1.0277vw, 1.25rem);
			position: relative;
			position: relative;
			white-space: nowrap;
			width: auto;
			z-index: 1;
		}
		& .wp-block-button__link::before {
			background: var(--cream);
			border-bottom: 1px solid var(--transparent);
			border-radius: 999px;
			border-radius: 4px 4px 0px 0px;
			content: "";
			height: 100%;
			left: 0;
			position: absolute;
			top: 0;
			transition: 0.3s ease-out;
			width: 100%;
			z-index: -2;
		}
		& .wp-block-button__link:hover::before {
			background: var(--light-pink);
			transition: 0.3s ease-out;
		}
	}
	/* ---------- ---------- */
	/* 通常ボタン（Outline）
	/* ---------- ---------- */
	& .wp-block-buttons {
		& .is-style-outline {
			position: relative;

			& .wp-block-button__link {
				background: var(--white);
				border: 1px solid var(--orange);
				border-radius: 0;
				color: var(--text);
				display: grid;
				display: flex;
				flex-wrap: wrap;
				font-size: 0.875rem;
				line-height: 1.1875rem;
				padding: 10px calc(20px + 20px);
				transition: 0.3s ease-out;
			}
			& .wp-block-button__link::before {
				background: var(--white);
			}
			& .wp-block-button__link:hover::before,
			& .wp-block-button__link:focus::before,
			& .wp-block-button__link:focus-visible::before {
				background: var(--middle-orange);
			}
			/* & .file_icon_wrapper {
				display: inline-block;
			} */
		}
		& .is-style-outline::before {
			background: var(--orange);
			border-radius: 50%;
			content: "";
			height: 15px;
			left: calc(20px);
			overflow: hidden;
			position: absolute;
			top: 13px;
			width: 15px;
			z-index: 2;
		}
		& .is-style-outline::after {
			border-bottom: 3px solid transparent;
			border-left: 4.5px solid var(--white);
			border-right: 0;
			border-style: solid;
			border-top: 3px solid transparent;
			content: "";
			height: 6px;
			left: calc(20px + 8px);
			position: absolute;
			top: 21px;
			translate: -50% calc(-50% - 0.5px) 0;
			width: 4.5px;
			z-index: 2;
		}
	}
	/* ---------- ---------- */
	/* リストをチェックに変換した場合
	/* ---------- ---------- */
	& .is-style-checkmark-list {
		column-gap: clamp(0.3125rem, -0.0662rem + 1.5416vw, 1.25rem);
		/* display: grid; */
		display: flex;
		flex-wrap: wrap;
		margin: 0;
		margin-bottom: 15px;
		margin-top: 15px;
		padding: 0;
		row-gap: clamp(0.3125rem, -0.0662rem + 1.5416vw, 1.25rem);

		& li {
			font-size: 0.875rem;
			line-height: 1.1875rem;
			/* display: grid; */
			margin: 0;
			padding: 0;
			position: relative;
		}
		& li::before {
			background: var(--orange);
			border-radius: 50%;
			content: "";
			height: 15px;
			left: calc(20px);
			overflow: hidden;
			position: absolute;
			top: 20px;
			width: 15px;
			z-index: 1;
		}
		& li::after {
			border-bottom: 3px solid transparent;
			border-left: 4.5px solid var(--white);
			border-right: 0;
			border-style: solid;
			border-top: 3px solid transparent;
			content: "";
			height: 6px;
			left: calc(20px + 8px);
			position: absolute;
			top: 21px;
			translate: -50% calc(-50% - 0.5px) 0;
			width: 4.5px;
			z-index: 1;
		}
		& li a {
			background: var(--white);
			border: 1px solid var(--orange);
			color: var(--text);
			display: block;
			padding: 10px calc(20px + 20px);
			transition: 0.3s ease-out;
		}
		& li a:hover,
		& li a:focus,
		& li a:focus-visible {
			background: var(--middle-orange);
			transition: 0.3s ease-out;
		}
		& li:not(:has(a)) {
			padding: 10px calc(20px + 20px);
		}
	}
}

/* ========== ========== */
/* 図書館全般
/* ========== ========== */
/* ========== ========== */
/* 新着図書のお知らせ
/* ========== ========== */
/* .contents_inner_deco { */
& .book_list {
	column-gap: clamp(0.9375rem, 0.5588rem + 1.5416vw, 1.875rem);
	display: grid;
	row-gap: 15px;

	& a {
		background: none;
		column-gap: 15px;
		display: grid;
		grid-row: span 3;
		grid-template-columns: 2fr 8fr;
		grid-template-rows: subgrid;
		padding-bottom: 15px;
		padding-top: 15px;
		position: relative;
		row-gap: 5px;

		& .date {
			color: var(--dark-gray);
			font-size: 0.75rem;
			grid-area: 1 / 1 / 3 / 3;
			line-height: 1rem;
		}
		& figure {
		}
		& div {
			& h3 {
				color: var(--black);
				font-size: 1rem;
				line-height: 1.5625rem;
				margin: 0;
				margin-bottom: 15px;
				padding: 0;
			}
			& h3::after {
				display: none;
			}
			.volume {
				color: var(--black);
				font-size: 0.625rem;
				font-weight: 600;
				line-height: 1.25rem;
			}
			.author {
				color: var(--dark-gray);
				font-size: 0.875rem;
				line-height: 1.25rem;
			}
		}
	}
	& a::before {
		background-image: linear-gradient(
			to right,
			var(--border-gray),
			var(--border-gray) 2px,
			transparent 0px,
			transparent 2px
		);
		background-position: left bottom;
		background-repeat: repeat-x;
		background-size: 4px 2px;
		bottom: 0;
		content: "";
		height: 3px;
		left: 0;
		position: absolute;
		position: absolute;
		width: 100%;
	}
}
/* 蔵書簡易検索 ---------- ---------- */
#library_search {
	background: var(--light-pink);
	border-radius: 10px;
	padding-bottom: clamp(1.875rem, 1.1177rem + 3.0832vw, 3.75rem);
	padding-bottom: 70px;
	padding-left: clamp(1.25rem, 0.9976rem + 1.0277vw, 1.875rem);
	padding-right: clamp(1.25rem, 0.9976rem + 1.0277vw, 1.875rem);
	/* padding: clamp(1.875rem, 1.1177rem + 3.0832vw, 3.75rem); */
	padding-top: clamp(1.25rem, 0.9976rem + 1.0277vw, 1.875rem);

	& .search_form {
		margin: 0;
	}

	& .library_search_inner {
		display: grid;
	}

	& .library_search_heading {
		color: var(--pink);
		font-size: clamp(1.25rem, 1.149rem + 0.4111vw, 1.5rem);
	}

	.search_submit {
		background: var(--pink);

		& path {
			stroke: var(--white);
		}
	}
}

/* ========== ========== */
/* 特殊レイアウト（最新情報・最新の投稿ブロック）
/* ========== ========== */
/* 「最新」見出し付き ---------- ---------- */
.item_pin {
	margin-bottom: clamp(2.8125rem, 2.4338rem + 1.5416vw, 3.75rem);
	margin-top: clamp(1.875rem, 1.4963rem + 1.5416vw, 2.8125rem);

	& .item_pin_heading {
		align-items: center;
		background: var(--pink);
		color: var(--white);
		display: inline-grid;
		height: 40px;
		left: clamp(0.625rem, 0.4988rem + 0.5139vw, 0.9375rem);
		margin: 0 15px;
		padding: 0px 15px;
		position: relative;
	}
	& .item_pin_heading::before {
		border-bottom: 40px solid var(--dark-pink); /* 好みで高さ色を変えてください */
		border-left: 15px solid transparent;
		bottom: 0;
		content: "";
		left: -15px;
		position: absolute;
	}
	& .item_pin_heading::after {
		border-bottom: 40px solid var(--dark-pink); /* 好みで高さ色を変えてください */
		border-right: 15px solid transparent;
		bottom: 0;
		content: "";
		position: absolute;
		right: -15px;
	}
	& .item_pin_inner {
		background: var(--light-cream);
		border: 2px solid var(--pink);
		padding: 20px;
	}
	& ul {
		margin: 0;
		padding: 0;
	}
	& .list_pin_block {
		border-bottom: 1px solid var(--border-gray);
		margin: 0;
	}
	& .list_pin_block:first-child {
		/* border-bottom: none; */
		& a {
			padding-top: 0;
		}
	}
	& .list_pin_block:last-child {
		border-bottom: none;
		& a {
			padding-bottom: 0;
		}
	}
	& .list_pin_block::before,
	& .list_pin_block::after {
		display: none !important;
	}
	& a {
		background: none;
		display: grid;
		padding: 10px 0;
		row-gap: 5px;
	}
	& time {
		color: var(--dark-gray);
		font-size: 0.875rem;
		line-height: 1.1875rem;
	}
	& .list_pin_title {
		color: var(--text);
		display: inline;
		font-size: clamp(0.9375rem, 0.9123rem + 0.1028vw, 1rem);
		line-height: clamp(1.25rem, 1.2248rem + 0.1028vw, 1.3125rem);
		transition: 0.3s ease-out;

		& span {
			display: inline-block;
		}
	}
	& a:hover {
		& .list_pin_title {
			color: var(--pink);
			transition: 0.3s ease-out;

			& span {
				/* display: inline-block; */
			}
		}
	}
}
/* 重要なお知らせ用 ---------- ---------- */
.item_pin_important {
	/* padding: 20px; */
	padding-left: clamp(0rem, -1278.75rem + 2000vw, 1.25rem);
	padding-right: clamp(0rem, -1278.75rem + 2000vw, 1.25rem);

	& .item_pin_heading {
		/* background: var(--pink); */
	}
	& .item_pin_inner {
		background: var(--transparent);
		border: none;
		padding: 0;
	}
	& ul {
	}
	& .list_pin_block {
		border-bottom: none;
	}
	& .list_pin_block::before,
	& .list_pin_block::after {
		display: none !important;
	}
	& a {
		color: var(--white);
		display: block;
		padding: 5px clamp(0rem, -1278.75rem + 2000vw, 1.25rem);
	}
	& .list_attention_date {
		color: var(--white);
	}
	& time {
		color: var(--cream);
	}
	& .list_pin_title {
		color: var(--white);
		display: inline;

		& span {
		}
	}
	& a:hover {
		& .list_pin_title {
			& span {
				/* display: inline-block; */
			}
		}
	}
}

/* ========== ========== */
/* 特殊レイアウト（学生たちの声）
/* ========== ========== */
.item_messages {
	/* STUDENT VOICE ---------- ---------- */
	& .messages_heading {
		display: grid;
		justify-items: center;
		margin-bottom: clamp(1.875rem, 1.1177rem + 3.0832vw, 3.75rem);
		row-gap: clamp(0.3125rem, 0.0601rem + 1.0277vw, 0.9375rem);
	}
	& .messages_heading::after {
		display: none;
	}
	& .messages_heading_color {
		font-family: var(--font-dincon);
		font-size: clamp(2rem, 1.3437rem + 2.6721vw, 3.625rem);
		font-style: var(--font-sty-dincon);
		font-weight: var(--font-wei-dincon-reg);
		position: relative;
		z-index: 1;

		& span:nth-child(odd) {
			color: var(--pink);
		}
		& span:nth-child(even) {
			color: var(--main-blue);
		}
	}
	& .messages_heading_main {
		/* color: #ad3b4d; */
		/* color: var(--text); */
		display: grid;
		font-size: clamp(1.75rem, 1.548rem + 0.8222vw, 2.25rem);
		justify-items: center;
		line-height: clamp(2.3125rem, 2.0348rem + 1.1305vw, 3rem);
		margin: 0;

		& small {
			color: var(--text);
			font-size: clamp(0.875rem, 0.8498rem + 0.1028vw, 0.9375rem);
			line-height: 1rem;
		}
	}
	& .messages_heading_main_inner {
		display: inline-grid;
		justify-items: center;
		position: relative;
	}
	& .messages_heading_main_inner::before {
		background: var(--main-blue);
		background-repeat: no-repeat;
		background-size: contain;
		content: "";
		display: block;
		height: 1px;
		left: calc(-1 * (clamp(1.5625rem, 1.1838rem + 1.5416vw, 2.5rem) + 20px));
		margin-right: 20px;
		position: relative;
		position: absolute;
		top: 50%;
		transition: -50% 0 0;
		width: clamp(1.5625rem, 1.1838rem + 1.5416vw, 2.5rem);
	}
	& .messages_heading_main_inner::after {
		background: var(--main-blue);
		background-repeat: no-repeat;
		background-size: contain;
		content: "";
		display: block;
		height: 1px;
		position: relative;
		position: absolute;
		right: calc(-1 * (clamp(1.5625rem, 1.1838rem + 1.5416vw, 2.5rem) + 20px));
		top: 50%;
		transition: -50% 0 0;
		width: clamp(1.5625rem, 1.1838rem + 1.5416vw, 2.5rem);
	}
	& .messages_heading_main::after {
		display: none;
	}
	/* 本文出力 ---------- ---------- */
	& .messages_contents {
		display: grid;
		grid-auto-columns: 100%;
		grid-template-columns: minmax(0, 1fr);
		row-gap: 30px;

		& > * {
		}

		& .messages_contents_figure {
			margin: 0 auto;
			max-width: calc(350px + 20px * 1);
			/* padding-left: 20px; */
			padding-right: 20px;
			text-align: center;
			width: 100%;

			& .messages_contents_img {
				border-radius: 10px;
				box-shadow:
					0px 0px 5px #7c4f1a85,
					/* -20px -20px 5px var(--light-pink),
					-20px -20px 10px var(--light-pink), */
						20px 20px 5px var(--medium-pink),
					20px 20px 10px var(--medium-pink);
				display: grid;
				overflow: hidden;
				position: relative;

				& img {
					object-fit: cover;
				}
			}
			& .messages_contents_heading {
				font-weight: 600;
				margin-top: 30px;
			}
			& .messages_contents_info {
			}
		}
		& .messages_contents_main {
			& > *:first-child {
				margin-top: 0;
			}
			& > *:last-child {
				margin-bottom: 0;
			}
		}
	}
}
/* 一覧出力 ---------- ---------- */
.list_messages_wrapper {
	margin-top: clamp(2.8125rem, 2.4338rem + 1.5416vw, 3.75rem);

	& .list_messages {
		column-gap: clamp(0.625rem, 0.1201rem + 2.0555vw, 1.875rem);
		display: grid;
		grid-template-columns: repeat(auto-fill, minmax(165px, 1fr));
		/* grid-template-columns: repeat(
			auto-fill,
			[col-start] minmax(160px, 1fr) [col-end]
		); */
		/* grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); */
		margin: 0;
		padding: 0;
		row-gap: clamp(0.625rem, 0.1201rem + 2.0555vw, 1.875rem);
	}
	& .list_messages_block {
	}
	& .list_messages_block::before,
	& .list_messages_block::after {
		display: none;
	}
	& .list_messages_link {
	}
	& .list_messages_img {
		aspect-ratio: 1 / 1;
		border-radius: 10px;
		overflow: hidden;

		& img {
			object-fit: cover;
		}
	}
	& .list_messages_title {
		font-size: clamp(0.75rem, 0.6995rem + 0.2055vw, 0.875rem);
	}
}

/* ========== ========== */
/* スライダープラグイン
/* ========== ========== */
.contents_inner {
	& .metaslider .flexslider .flex-direction-nav li {
		position: static;
	}
	& .metaslider .flexslider .flex-direction-nav li a {
		background-size: auto;
	}
}

/* ========== ========== */
/* 特殊レイアウト
/* ========== ========== */
/* .search_form_wrapper:not(:has(+ .used_background)) {
	margin-bottom: clamp(2.8125rem, 2.3076rem + 2.0555vw, 4.0625rem);
}
.search_form_wrapper {
	position: absolute;
	top: calc(-1 * 51px / 2);
	width: 100%;
}
.used_background {
	padding-bottom: clamp(1.875rem, 1.1177rem + 3.0832vw, 3.75rem);
	padding-top: clamp(4.0625rem, 3.5576rem + 2.0555vw, 5.3125rem);
	position: relative;
}
.used_background:not(:has(.accordion_button_wrapper)) {
	padding-bottom: clamp(1.875rem, 1.1177rem + 3.0832vw, 3.75rem);
	padding-top: clamp(1.875rem, 1.1177rem + 3.0832vw, 3.75rem);
}
.used_background::before {
	background: var(--light-gray);
	bottom: 0;
	content: "";
	height: 100%;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
	width: 100%;
	z-index: -1;
}
.used_background::after {
	background-image: linear-gradient(
		to bottom right,
		var(--transparent) 49.99%,
		var(--light-gray) 50.01%
	);
	bottom: 0;
	content: "";
	height: 100%;
	left: 0;
	mix-blend-mode: multiply;
	opacity: 0.5;
	position: absolute;
	right: 0;
	top: 0;
	width: 100%;
	z-index: -1;
}
.used_top_botton {
	margin-bottom: 60px;
	margin-top: 0;
}
.accordion_used + .container_page {
	margin-top: clamp(2.8125rem, 2.3076rem + 2.0555vw, 4.0625rem);
}
.accordion_used .container_page {
	padding-bottom: calc(52px / 2);
}
.accordion_button_wrapper {
	align-content: center;
	bottom: -28px;
	display: grid;
	justify-content: center;
	left: 0;
	position: absolute;
	width: 100%;
}
.accordion_button {
	background: var(--yellow);
	background: var(--orange);
	background: var(--white);
	border: none;
	border: 1px solid var(--transparent);
	border: 1px solid var(--orange);
	border-radius: 999px;
	box-shadow: 0px 0px 5px #00000029;
	color: var(--white);
	color: var(--black);
	cursor: pointer;
	display: grid;
	font-size: 0.875rem;
	font-size: clamp(0.9375rem, 0.8618rem + 0.3083vw, 1.125rem);
	font-size: clamp(0.9375rem, 0.9123rem + 0.1028vw, 1rem);
	font-weight: 600;
	justify-items: center;
	line-height: clamp(1.625rem, 1.4988rem + 0.5139vw, 1.9375rem);
	line-height: 2.25rem;
	margin: 0 auto;
	padding: calc(18px - clamp(0rem, -0.1262rem + 0.5139vw, 0.3125rem)) 24px;
	padding: 8px 24px;
	padding-right: 54px;
	position: relative;
	text-decoration: none;
	transition: 0.3s ease-out;
	width: 100%;
}
.accordion_used.active .accordion_button {
	background: var(--orange);
	border: 1px solid var(--transparent);
	color: var(--white);
	transition: 0.3s ease-out;
}
.accordion_used.active .accordion_button::after {
	background: url(../images/arrow__next-up.svg?date=202505);
	background-repeat: no-repeat;
	background-size: cover;
	border-radius: 50%;
	content: "";
	height: 8px;
	position: absolute;
	right: 24px;
	top: 50%;
	transform: translateY(-50%);
	transition: 0.3s ease-out;
	width: 16px;
}
.accordion_button::after {
	background: url(../images/arrow__next-down.svg?date=202505);
	background-repeat: no-repeat;
	background-size: cover;
	border-radius: 50%;
	content: "";
	height: 8px;
	position: absolute;
	right: 24px;
	top: 50%;
	transform: translateY(-50%) scale(1, -1);
	transition: 0.3s ease-out;
	width: 16px;
} */

/* ---------- ---------- ---------- ---------- ---------- ---------- */
/* ---------- ---------- レスポンシブ（620px） ---------- ---------- */
@media screen and (min-width: 620px) {
	/* ========== ========== */
	/* 中古商品情報
	/* ========== ========== */
	.contents_main {
		& .list_used {
			grid-template-columns: repeat(3, 1fr);
		}
	}
	/* ========== ========== */
	/* ローカルメニュー
	/* ========== ========== */
	.list_child_wrapper {
		& .list_child {
			grid-template-columns: repeat(2, 1fr);
		}
	}
	/* 色付きブロック ---------- ---------- ---------- */
	.contents_inner_deco {
		& .is-style-list_local {
			grid-template-columns: repeat(2, 1fr);
		}
	}
}

/* ---------- ---------- ---------- ---------- ---------- ---------- */
/* ---------- ---------- レスポンシブ（768px） ---------- ---------- */
@media screen and (min-width: 768px) {
	.contents_main_header_heading,
	.contents_inner_deco h2 {
		margin-right: 0;
	}
	/* ========== ========== */
	/* 中古商品情報
	/* ========== ========== */
	.contents_main {
		& .list_used {
			grid-template-columns: repeat(4, 1fr);
		}
	}
	/* ========== ========== */
	/* ターム記事一覧
	/* ========== ========== */
	.contents_inner_deco {
		& .list_kind {
			grid-template-columns: repeat(3, 1fr);
		}
	}
	/* ========== ========== */
	/* Form
	/* ========== ========== */
	.snow-monkey-form .wp-block-snow-monkey-forms-item {
		display: flex;
		justify-content: flex-start;
	}
	.snow-monkey-form .smf-item__col {
		display: flex;
		flex-direction: column;
		gap: 0;
	}
	/* ========== ========== */
	/* 新着図書のお知らせ
	/* ========== ========== */
	& .book_list {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
	}

	/* 一覧出力 ---------- ---------- */
	/* .list_messages_wrapper {
		& .list_messages {
			display: grid;
			grid-template-columns: repeat(3, 1fr);
			margin: 0;
			padding: 0;
		}
	} */
	/* 色付きブロック ---------- ---------- ---------- */
	.contents_inner_deco {
		& .is-style-list_local {
			grid-template-columns: repeat(3, 1fr);
		}
	}
}

/* ---------- ---------- ---------- ---------- ---------- ---------- */
/* ---------- ---------- レスポンシブ（782px） ---------- ---------- */
@media screen and (min-width: 782px) {
	/* ========== ========== */

	.contents_inner_deco {
		& .wp-block-columns .wp-block-image img {
			height: auto;
			max-width: 100%;
			width: 100%;
		}
	}
}

/* ---------- ---------- ---------- ---------- ---------- ---------- */
/* ---------- ---------- レスポンシブ（992px） ---------- ---------- */
@media screen and (min-width: 992px) {
	/* ========== ========== */
	/* 中古商品情報（詳細）
	/* ========== ========== */
	.use_column {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
	}
	/* ========== ========== */
	/* 商品情報（リンクリスト）
	/* ========== ========== */
	.used_link {
		& .list_other {
			grid-template-columns: none;
		}
	}
	.contents_inner_deco {
		/* テーブル */
		& .items_used_wrapeer {
			margin-right: 0;
			overflow-x: hidden;
		}
		& .items_used {
			width: 100%;
		}
	}
	/* ========== ========== */
	/* ローカルメニュー
	/* ========== ========== */
	.list_child_wrapper {
		& .list_child {
			grid-template-columns: repeat(3, 1fr);
		}
	}
	/* ========== ========== */
	/* 子ページ一覧
	/* ========== ========== */
	.child_group_wrapper {
		display: grid;
		grid-template-columns: repeat(2, 1fr);

		& .child_group {
			border-bottom: none;
		}
		& .child_group::after {
			background-image: linear-gradient(
				to top,
				var(--border-gray),
				var(--border-gray) 2px,
				transparent 0px,
				transparent 2px
			);
			background-position: right top;
			background-repeat: repeat-y;
			background-size: 2px 4px;
			bottom: auto;
			content: "";
			height: calc(100% - 25px * 2);
			left: auto;
			position: absolute;
			right: 0;
			top: 50%;
			translate: 0 -50% 0;
			width: 3px;
		}
		& .child_group:nth-child(even)::after {
			display: none;
		}
		& .child_group:nth-child(even) {
			padding-left: calc(
				(
						clamp(24.5625rem, 0rem + 100vw, 85.375rem) -
							clamp(22.0625rem, 2.9527rem + 77.8006vw, 69.375rem)
					) / 2
			);
		}
		& .child_heading_first {
			& .grandchild_list_active {
				opacity: 0;
				visibility: hidden;
			}
		}
	}
	/* ========== ========== */
	/* 子階層ローカルメニュー
	/* ========== ========== */
	/* 第3階層目の場合、リストを折りたたむ */
	.level_second {
		& .child_group_button {
			display: none;
		}
		& .grandchild_list_wrapper {
			height: auto;
			opacity: 1;
			visibility: visible;
		}
	}

	/* ========== ========== */
	/* 教員紹介（アーカイブ）
	/* ========== ========== */
	.list_professor_wrapper {
		& .list_professor {
			grid-template-columns: repeat(3, 1fr);
		}
	}
	/* ========== ========== */
	/* 特殊レイアウト（教員紹介）
	/* ========== ========== */
	.professor_profile {
		column-gap: 30px;
		display: grid;
		grid-template-columns: 3fr 7fr;
		margin-bottom: clamp(1.875rem, 1.1177rem + 3.0832vw, 3.75rem);
		/* ---------- ---------- */
		/* シーズデータ
		/* ---------- ---------- */
		& .item_sizu {
			& .link_goto {
				justify-content: start;
			}
		}
	}

	/* ========== ========== */
	/* 特殊レイアウト（説明リスト）
	/* ========== ========== */
	.professor_profile_detail {
		& .item_profile {
			column-gap: 20px;
			display: grid;
			grid-template-columns: 1.5fr 8.5fr;
		}
		& .h_four_list {
			top: 6px;
		}
		& .item_profile_titles {
			display: flex;
			flex-direction: column;
		}
	}
	/* ========== ========== */
	/* 特殊レイアウト（アンカーリンク）
	/* ========== ========== */
	.contents_inner {
		/* ---------- ---------- */
		/* ボタン横並びの場合
		/* ---------- ---------- */
		& .wp-block-buttons.is-layout-flex {
			& .wp-block-button {
			}
			& .wp-block-button__link {
			}
		}
		/* ---------- ---------- */
		/* リストをチェックに変換した場合
		/* ---------- ---------- */
		/* & .is-style-checkmark-list {
			grid-template-columns: repeat(3, 1fr);
		} */
	}
	/* ========== ========== */
	/* 特殊レイアウト（最新情報・最新の投稿ブロック）
	/* ========== ========== */
	/* 「最新」見出し付き ---------- ---------- */
	.item_pin {
		& a {
			align-items: baseline;
			column-gap: 20px;
			display: grid;
			grid-template-columns: auto auto;
			justify-content: start;
		}
	}
	/* ========== ========== */
	/* 新着図書のお知らせ
	/* ========== ========== */
	& .book_list {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
	}

	/* 蔵書簡易検索 ---------- ---------- */
	#library_search {
		& .library_search_inner {
			align-items: baseline;
			display: grid;
			grid-template-columns: 3fr 7fr;
		}
	}
	/* ========== ========== */
	/* 特殊レイアウト（学生たちの声）
/* ========== ========== */
	.item_messages {
		/* 本文出力 ---------- ---------- */
		& .messages_contents {
			column-gap: 60px;
			display: grid;
			/* grid-auto-columns: 100%; */
			grid-template-columns: 30% 70%;
		}
	}
}

/* ---------- ---------- ---------- ---------- ---------- ---------- */
/* ---------- ---------- レスポンシブ（1200px） ---------- ---------- */
@media screen and (min-width: 1200px) {
	/* ========== ========== */
	/* 中古商品情報
	/* ========== ========== */
	.contents_main {
		& .list_used {
			grid-template-columns: repeat(6, 1fr);
		}
	}
	/* ========== ========== */
	/* ターム記事一覧
	/* ========== ========== */
	.contents_inner_deco {
		& .list_kind {
			grid-template-columns: repeat(4, 1fr);
		}
	}
	/* ========== ========== */
	/* メーカータグ一覧
	/* ========== ========== */
	.contents_main {
		& .list_usedmaker {
			grid-template-columns: repeat(6, 1fr);
		}
	}
	/* ========== ========== */
	/* ローカルメニュー
	/* ========== ========== */
	.list_child_wrapper {
		& .list_child {
			grid-template-columns: repeat(4, 1fr);
		}
	}
	/* 色付きブロック ---------- ---------- ---------- */
	.contents_inner_deco {
		& .is-style-list_local {
			grid-template-columns: repeat(4, 1fr);
		}
	}
}

/* ---------- ---------- ---------- ---------- ---------- ---------- */
/* ---------- ---------- レスポンシブ（1500px） ---------- ---------- */
@media screen and (min-width: 1500px) {
	/* 一覧出力 ---------- ---------- */
	.list_messages_wrapper {
		& .list_messages {
			grid-template-columns: repeat(6, 1fr);
		}
	}
}

/* ---------- ---------- ---------- ---------- ---------- ---------- */
/* ========== ========== */
/* 他
/* ========== ========== */
.contents_main {
	& .contents_inner > *:first-child {
		margin-top: 0;
	}
}
