@charset "UTF-8";
:root {
	--bp-spm: 440px;
}

:root {
	--bp-sp: 767px;
}

:root {
	--bp-portrait: 1024px;
}

:root {
	--bp-pc: 1270px;
}

/******************************************************************
foundation - base
******************************************************************/
:where(html) {
	-webkit-text-size-adjust: 100%;
}

:where(body) {
	margin: 0;
}

:where(button, input, optgroup, select, textarea) {
	font-family: inherit; /* 1 */
	font-size: 100%; /* 1 */
	line-height: 1.4;
}
:where(html) {
	scroll-behavior: smooth;
}

:where(body) {
	min-width: 375px;
	font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	font-weight: 400;
	overflow-wrap: break-word;
	overflow-y: scroll;
	color: #1d2330;
	font-feature-settings: "palt";
	letter-spacing: 0.04em;
	line-height: 1.4;
}
:where(body) {
	font-size: 1rem;
}
@media screen and (max-width: 767px) {
	:where(body) {
		font-size: 14px;
	}
}
@media print {
	:where(body) {
		width: 1200px;
	}
}

:where(h1, h2, h3, h4, h5, h6, p, ul, ol, li, dl, dd, figure) {
	margin: 0;
	padding: 0;
}

:where(li) {
	list-style: none;
}

:where(table) {
	border-collapse: collapse;
	border-spacing: 0;
}

:where(iframe) {
	border: 0;
}

:where(button) {
	background-color: transparent;
	border: none;
	cursor: pointer;
	padding: 0;
	appearance: none;
	color: inherit;
	text-decoration: none;
}
@media (any-hover: hover) {
	:where(button):hover {
		text-decoration: none;
	}
}
:where(button):focus {
	text-decoration: none;
}
:where(button) {
	outline-color: #999999;
}

:where(input, select) {
	outline-color: #999999;
}

:where(em) {
	font-style: normal;
	font-weight: bold;
}

:where(fieldset) {
	border: 0;
	padding: 0;
	margin: 0;
}

:where(address) {
	font-style: normal;
}

:where(a) {
	color: #0055b4;
	text-decoration: none;
	text-decoration-thickness: 1px !important;
	text-underline-offset: 0.1em;
	outline-color: #999999;
}
@media (any-hover: hover) {
	:where(a):hover {
		text-decoration: underline;
	}
}
:where(a):focus {
	text-decoration: underline;
}

:where(img) {
	max-width: 100%;
	height: auto;
	vertical-align: middle;
}

:where(svg) {
	vertical-align: middle;
}

:where(hr) {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #73777d;
}

/******************************************************************
foundation - override
******************************************************************/
/* Common */
.cgm-search-inner {
	max-width: initial;
	padding-inline: 0;
}

@media (max-width: 640px) {
	.cgm-search-inner {
		padding-inline: 0;
	}
}
.cgm-search-input-wrap {
	border: 1px solid #73777d;
	border-radius: 0;
}

.cgm-search-form-area:not(.cgm-form1) {
	padding: 30px 40px;
	background-color: #fff;
	border: 1px solid #c8cfd4;
}
@media screen and (max-width: 767px) {
	.cgm-search-form-area:not(.cgm-form1) {
		padding: 20px;
		margin-inline: -15px;
		border-inline: 0;
	}
}

.cgm-search-input-area::before {
	display: none;
}

.cgm-search-input-area textarea {
	color: #1d2330;
	padding: 15px 25px;
}
@media screen and (max-width: 767px) {
	.cgm-search-input-area textarea {
		padding: 0.75em;
		font-size: 15px;
	}
}

.cgm-search-input-area button {
	display: none;
}

.cgm-search-button {
	width: initial;
	padding: 0.5em 1.5em;
	font-weight: normal;
	cursor: pointer;
	background-color: #212836;
	font-size: 18px;
}
@media screen and (max-width: 767px) {
	.cgm-search-button {
		padding: 0.5em 2.5em;
		font-size: 15px;
		border-radius: 0;
		min-height: initial;
	}
}
@media (any-hover: hover) {
	.cgm-search-button:hover {
		background-color: #0055b4;
		opacity: 1;
	}
	.cgm-search-button:hover::before {
		transform: scale(1.08);
	}
}

.cgm-search-button::before {
	width: 36px;
	height: 36px;
	margin-right: 6px;
	background: url(/assets/img/icn-search.svg) center center/100% auto no-repeat;
	filter: brightness(0) invert(1);
	transition-property: transform;
	transition-duration: 0.1s;
}
@media screen and (max-width: 767px) {
	.cgm-search-button::before {
		width: 27px;
		height: 27px;
	}
}

.cgm-search-result-area:has(.cgm-search-result-item) {
	background-color: #fff;
	padding: 60px;
}
@media screen and (max-width: 767px) {
	.cgm-search-result-area:has(.cgm-search-result-item) {
		padding: 30px 20px;
	}
}

.cgm-search-result-area a:focus {
	outline: auto;
}

.cgm-search-result-item:first-child {
	border-top: 0;
	padding-top: 0;
}

.cgm-search-result-item {
	border-bottom: 1px solid #c8cfd4;
	padding-block: 40px 10px;
}
@media screen and (max-width: 767px) {
	.cgm-search-result-item {
		padding-block: 20px 0;
	}
}

.cgm-search-result-body {
	background-color: #eff2f5;
	line-height: 1.8;
	padding: 20px 25px;
}
@media screen and (max-width: 767px) {
	.cgm-search-result-body {
		padding: 12px;
		font-size: 13px;
		line-height: 1.6;
	}
}

.cgm-search-result-body em {
	color: #0055b4;
	background-color: #fdffbe;
	padding-inline: 0.25em;
	margin-inline: 0.25em;
	font-weight: 500;
}

@media screen and (max-width: 767px) {
	.cgm-search-result-title {
		font-size: 16px;
	}
}
.cgm-search-result-title a {
	color: #0055b4;
}

.cgm-search-result-url {
	color: #0055b4;
}
@media screen and (max-width: 767px) {
	.cgm-search-result-url {
		font-size: 13px;
	}
}
.cgm-search-result-url {
	color: #757575;
}
@media (any-hover: hover) {
	.cgm-search-result-url:hover {
		color: #0055b4;
	}
}
.cgm-search-result-url:focus {
	color: #0055b4;
}

.cgm-result-header-row {
	margin-block: 60px 2rem;
}
@media screen and (max-width: 767px) {
	.cgm-result-header-row {
		margin-block: 30px 1.8rem;
	}
}

.cgm-num-hits {
	display: block;
}
@media screen and (max-width: 767px) {
	.cgm-num-hits {
		text-align: center;
	}
}

.cgm-num-label {
	display: none;
}

.cgm-num-counts {
	display: block;
	font-weight: bold;
	font-size: 18px;
}
@media screen and (max-width: 767px) {
	.cgm-num-counts {
		font-size: 16px;
	}
}

.cgm-num-sum {
	font-weight: bold;
	font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	font-size: 24px;
}
@media screen and (max-width: 767px) {
	.cgm-num-sum {
		font-size: 20px;
	}
}

.cgm-search-loading {
	border-top: 4px #212836 solid;
}

.cgm-fetch-more-button:hover {
	opacity: 1;
}

.cgm-fetch-more-button-area button {
	border-radius: 0;
	letter-spacing: 0;
	color: inherit;
	text-decoration: none;
}
@media (any-hover: hover) {
	.cgm-fetch-more-button-area button:hover {
		text-decoration: none;
	}
}
.cgm-fetch-more-button-area button:focus {
	text-decoration: none;
}
.cgm-fetch-more-button-area button {
	position: relative;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	cursor: pointer;
	min-width: min(18em, 100%);
	padding: 0.5em 2em;
	min-height: 3.5em;
	border: 1px solid #212836;
	background-color: #fff;
	color: #1d2330;
	font-weight: 500;
	font-size: 18px;
}
@media screen and (max-width: 767px) {
	.cgm-fetch-more-button-area button {
		font-size: 14px;
	}
}
.cgm-fetch-more-button-area button {
	transition-property: background, border;
	transition-duration: 0.4s;
}
.cgm-fetch-more-button-area button::after {
	transition-property: right;
	transition-duration: 0.4s;
}
.cgm-fetch-more-button-area button {
	position: relative;
}
.cgm-fetch-more-button-area button::after {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	width: 9px;
	height: 9px;
	transition-property: top, right, bottom, left, opacity;
	transition-duration: 0.2s;
}
.cgm-fetch-more-button-area button::after {
	top: 0;
	bottom: 0;
	right: 1em;
	transform-origin: center center;
	border-top: 1px solid #212836;
	border-right: 1px solid #212836;
	transform: translateX(-1.8639610307px) translateY(-1.8639610307px) rotate(135deg);
}
.cgm-fetch-more-button-area button:hover {
	background-color: #ebf4ff;
	color: #0055b4;
}
.cgm-fetch-more-button-area button:hover::after {
	top: 5px;
}

.cgm-gpt-feedback-option input[type=radio] {
	accent-color: #0055b4;
}

.cgm-item-feedback-button:hover:not(:disabled) {
	border-color: #0055b4;
}

.cgm-item-feedback-button:focus {
	border-color: #0055b4;
}

.cgm-item-feedback-button:focus-visible {
	outline: 2px solid #0055b4;
}

.cgm-item-feedback-button--active {
	border-color: #0055b4;
	color: #0055b4;
}

.cgm-item-feedback-button--active:hover:not(:disabled) {
	border-color: #0055b4;
}

.cgm-item-feedback-button--loading::after {
	border-top-color: #212836;
}

.cgm-sort-menu-wrap {
	top: 100%;
	width: 220px;
}

button.cgm-sort-trigger {
	border-radius: 0;
	border: 1px solid #73777d !important;
	padding: 0.5em 0.75em;
	font-size: inherit;
	line-height: 1.4;
	width: 220px;
}

.cgm-sort-trigger-text {
	width: 100%;
}

.cgm-sort-trigger-icon {
	transition: initial;
	border-right: 2px solid #333333;
	border-bottom: 2px solid #333333;
}

.cgm-sort-menu {
	border: 1px solid #73777d;
	border-top: 0;
	border-radius: 0;
	padding: 0;
	font-size: inherit;
	box-shadow: initial;
}

.cgm-sort-option-check {
	display: none;
}

button.cgm-sort-option {
	color: inherit;
	font-size: inherit;
	border-radius: 0;
}

button.cgm-sort-option.is-selected {
	background-color: #212836;
	color: #fff;
}

button.cgm-sort-option:hover:not([aria-selected=true]) {
	background-color: #ebf4ff;
	color: #0055b4;
}

.cgm-sort-native-select {
	border-radius: 0;
	border: 1px solid #73777d !important;
	background-position: calc(100% - 18px) calc(50% - 0px), calc(100% - 12px) calc(50% - 0px);
}

.cgm-search-inner.cgm-form1 {
	max-width: initial;
	padding-inline: 0;
}

.cgm-search-form-area.cgm-form1 {
	display: block;
	padding: 0;
	background: none;
}

.cgm-search-input-area.cgm-form1 button {
	display: none;
}

.cgm-search-button.cgm-form1 {
	width: initial;
}

/******************************************************************
layout - wrapper
******************************************************************/
.l-wrapper {
	width: 100%;
	overflow: clip;
}
.l-wrapper__inner {
	min-height: 100vh;
	min-height: calc(100dvh - var(--header-height));
	display: flex;
	flex-direction: column;
}
.l-wrapper main {
	flex-grow: 1;
}
.l-wrapper main:not(:has(.p-top-heading)) {
	padding-bottom: 60px;
}
@media screen and (max-width: 767px) {
	.l-wrapper main:not(:has(.p-top-heading)) {
		padding-bottom: 30px;
	}
}

body.slope-bg {
	background-color: #e8ecf0;
}

body.slope-bg .l-wrapper {
	position: relative;
	z-index: 1;
}
body.slope-bg .l-wrapper::after {
	overflow: hidden;
	z-index: -1;
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	top: -0.2em;
	left: 0;
	width: 100vw;
	height: 300px;
	text-indent: -0.08em;
	font-family: "Unna", serif;
	line-height: 1;
	font-weight: 400;
	color: #ffffff;
	content: var(--category-name);
	letter-spacing: -0.02em;
	white-space: nowrap;
	font-size: 220px;
}
@media screen and (max-width: 1270px) {
	body.slope-bg .l-wrapper::after {
		font-size: 17.3228346457vw;
	}
}
@media screen and (max-width: 767px) {
	body.slope-bg .l-wrapper::after {
		font-size: 110px;
	}
}
@media print {
	body.slope-bg .l-wrapper::after {
		display: none;
	}
}
body.slope-bg .l-wrapper__inner {
	overflow: clip;
}
body.slope-bg .l-wrapper__inner::before {
	z-index: -1;
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	top: 130px;
	left: 0;
	width: 100vw;
	height: 100vw;
	background-color: #eff2f5;
	clip-path: polygon(0 0, 100% 40%, 100% 100%, 0% 100%);
}
@media screen and (max-width: 1270px) {
	body.slope-bg .l-wrapper__inner::before {
		top: 10.2362204724vw;
	}
}
@media screen and (max-width: 767px) {
	body.slope-bg .l-wrapper__inner::before {
		top: 70px;
	}
}
@media print {
	body.slope-bg .l-wrapper__inner::before {
		display: none;
	}
}
body.slope-bg .l-wrapper__inner::after {
	z-index: -1;
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	top: 90vw;
	left: 0;
	width: 100vw;
	height: 100%;
	background-color: #eff2f5;
}
@media print {
	body.slope-bg .l-wrapper__inner::after {
		display: none;
	}
}

/******************************************************************
layout - cookie-consent
******************************************************************/
.l-cookie-consent {
	position: fixed;
	z-index: 2147483647; /* 32bit整数の最大値（絶対に上にしたい場合） */
	box-sizing: border-box;
	bottom: 30px;
	width: 80vw;
	max-width: 880px;
}
@media screen and (max-width: 767px) {
	.l-cookie-consent {
		bottom: 10px;
		width: calc(100% - 10px - 10px);
	}
}
.l-cookie-consent {
	border: 0;
	padding: 0;
	border-radius: 2px;
	box-shadow: 0 0 14px 0px rgba(0, 0, 0, 0.2);
	background-color: rgba(33, 40, 54, 0.9);
	border: 1px solid rgba(255, 255, 255, 0.2);
	-webkit-backdrop-filter: blur(3px);
	backdrop-filter: blur(3px);
	transition-property: opacity;
	transition-duration: 300ms;
	opacity: 0;
}
.l-cookie-consent.is-open {
	opacity: 1;
}
.l-cookie-consent__inner {
	outline: 0;
	display: flex;
	align-items: center;
	gap: 20px;
	padding: 20px;
}
@media screen and (max-width: 767px) {
	.l-cookie-consent__inner {
		gap: 16px;
		padding: 14px;
	}
}
.l-cookie-consent__body {
	flex-grow: 1;
	line-height: 1.8;
	color: #fff;
	font-size: 14px;
}
@media screen and (max-width: 767px) {
	.l-cookie-consent__body {
		font-size: 12px;
	}
}
.l-cookie-consent__body a {
	color: #fff;
	text-decoration: underline;
}
@media (any-hover: hover) {
	.l-cookie-consent__body a:hover {
		text-decoration: none;
	}
}
.l-cookie-consent__body a:focus {
	text-decoration: none;
}
.l-cookie-consent__agree {
	flex-shrink: 0;
	background-color: #fff;
	color: #212836;
	border-radius: 4px;
	padding: 0.75em;
	line-height: 1;
	font-weight: 500;
	font-size: 14px;
}
@media screen and (max-width: 767px) {
	.l-cookie-consent__agree {
		font-size: 13px;
	}
}
.l-cookie-consent__agree {
	transition-property: opacity;
	transition-duration: 0.4s;
}
@media (any-hover: hover) {
	.l-cookie-consent__agree:hover {
		opacity: 0.8;
	}
}

/******************************************************************
layout - block-skip
******************************************************************/
.l-block-skip {
	position: absolute;
	z-index: 130;
	top: 0;
	width: 100%;
}
.l-block-skip a,
.l-block-skip button {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	border: 0;
	overflow: hidden;
	padding: 0;
	clip: rect(0, 0, 0, 0);
}
.l-block-skip a:focus,
.l-block-skip button:focus {
	position: static;
	width: auto;
	height: auto;
	margin: 0;
	overflow: visible;
	box-sizing: border-box;
	width: 100%;
	display: block;
	background-color: #212836;
	text-align: center;
	color: #fff;
	text-decoration: none;
}
@media (any-hover: hover) {
	.l-block-skip a:focus:hover,
	.l-block-skip button:focus:hover {
		text-decoration: none;
	}
}
.l-block-skip a:focus:focus,
.l-block-skip button:focus:focus {
	text-decoration: none;
}
.l-block-skip a:focus,
.l-block-skip button:focus {
	font-weight: bold;
	padding: 0.5em;
	text-decoration: underline;
}

/******************************************************************
layout - header-fixed
******************************************************************/
html:has(.l-header-fixed) {
	scroll-padding-top: calc(var(--header-height) + 10px);
}

@media screen and (max-width: 1024px) {
	html:has(.l-header-fixed--portrait-over) {
		scroll-padding-top: initial;
	}
}

@media print, screen and (min-width: 1025px) {
	html:has(.l-header-fixed--portrait) {
		scroll-padding-top: initial;
	}
}
body:has(.l-header-fixed) {
	padding-top: var(--header-height);
}
@media print {
	body:has(.l-header-fixed) {
		padding-top: initial;
	}
}

@media screen and (max-width: 1024px) {
	body:has(.l-header-fixed--portrait-over) {
		padding-top: initial;
	}
}

@media print, screen and (min-width: 1025px) {
	body:has(.l-header-fixed--portrait) {
		padding-top: initial;
	}
}
body:has(.l-header-fixed) .l-wrapper {
	min-height: calc(100dvh - var(--header-height));
}

.l-header-fixed__inner[data-header-fixed=true] {
	position: fixed;
	z-index: 100;
	top: 0;
	width: 100%;
}
@media print {
	.l-header-fixed__inner[data-header-fixed=true] {
		position: relative;
	}
}

/******************************************************************
layout - header
******************************************************************/
:root {
	--header-height: 0;
}

.l-header {
	position: relative;
	background-color: #fff;
	box-shadow: 0 5px 8px 0px rgba(0, 0, 0, 0.15);
}
@media screen and (max-width: 767px) {
	.l-header {
		box-shadow: 0 3px 5px 0px rgba(0, 0, 0, 0.15);
	}
}
.l-header__head {
	background-color: #333;
}
.l-header__head-inner {
	max-width: 1200px;
	margin-inline: auto;
	padding-inline: 35px;
}
@media screen and (max-width: 767px) {
	.l-header__head-inner {
		padding-inline: 15px;
	}
}
@media screen and (max-width: 1024px) {
	.l-header__head-inner {
		padding-inline: 0;
	}
}
.l-header__head-inner {
	padding-block: 10px;
	color: #fff;
}
@media screen and (max-width: 767px) {
	.l-header__head-inner {
		padding: 8px;
		font-size: 10px;
	}
}
/******************************************************************
layout - header-content-type2
******************************************************************/
.l-header-content-type2 {
	display: grid;
	grid-template-columns: fit-content(50%) auto fit-content(50%);
	grid-template-areas: "head body-landscape body-nav";
}
@media screen and (max-width: 1024px) {
	.l-header-content-type2 {
		grid-template-columns: 40vw auto fit-content(50%);
		grid-template-areas: "head body-nav body-portrait";
	}
}
.l-header-content-type2 {
	padding-left: 35px;
}
@media screen and (max-width: 1024px) {
	.l-header-content-type2 {
		padding-left: 0;
	}
}
.l-header-content-type2__head {
	grid-area: head;
	margin-right: auto;
	align-self: center;
	box-sizing: border-box;
	padding-block: 0.5rem;
	min-width: 83px;
}
@media screen and (max-width: 1024px) {
	.l-header-content-type2__head {
		padding: 6px 8px 6px 15px;
	}
}
.l-header-content-type2__body {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	padding-right: 35px;
}
@media screen and (max-width: 767px) {
	.l-header-content-type2__body {
		padding-right: 15px;
	}
}
.l-header-content-type2__body-landscape {
	grid-area: body-landscape;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	justify-content: space-between;
	padding-left: 1rem;
}
@media screen and (max-width: 1024px) {
	.l-header-content-type2__body-landscape {
		display: none;
	}
}
.l-header-content-type2__column {
	display: flex;
	gap: 1.5rem;
	align-items: center;
	justify-content: flex-end;
	font-size: 15px;
	padding-block: 10px;
	padding-right: 22px;
}
.l-header-content-type2__body-portrait {
	grid-area: body-portrait;
	display: none;
}
@media screen and (max-width: 1024px) {
	.l-header-content-type2__body-portrait {
		display: flex;
		flex-direction: row-reverse;
	}
}
.l-header-content-type2__body-nav {
	grid-area: body-nav;
	display: flex;
	justify-content: flex-end;
}
.l-header-content-type2__body-nav > *:not(:last-child) {
	margin-right: 1px;
}
.l-header-content-type2__body-nav a {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 0.5em;
	line-height: 1;
	color: #fff;
	text-decoration: none;
}
@media (any-hover: hover) {
	.l-header-content-type2__body-nav a:hover {
		text-decoration: none;
	}
}
.l-header-content-type2__body-nav a:focus {
	text-decoration: none;
}
.l-header-content-type2__body-nav a {
	gap: 0.75em;
	min-height: 100px;
	width: 115px;
	font-size: 15px;
}
@media screen and (max-width: 1270px) {
	.l-header-content-type2__body-nav a {
		min-height: 7.874015748vw;
		width: 9.0551181102vw;
		font-size: 1.1811023622vw;
	}
}
@media screen and (max-width: 767px) {
	.l-header-content-type2__body-nav a {
		gap: 0.5em;
		min-height: 50px;
		width: 65px;
		font-size: 9px;
	}
}
.l-header-content-type2__body-nav a {
	background-color: #212836;
	transition-property: background-color;
	transition-duration: 0.4s;
}
.l-header-content-type2__body-nav a:hover {
	background-color: #0055b4;
}
.l-header-content-type2__body-nav a:hover img {
	transform: scale(1.08);
}
.l-header-content-type2__body-nav a img {
	transition-property: transform;
	transition-duration: 0.1s;
	will-change: transform;
	filter: brightness(0) invert(1);
	width: 40px;
}
@media screen and (max-width: 1024px) {
	.l-header-content-type2__body-nav a img {
		width: 25px;
	}
}

/******************************************************************
layout - header-logo
******************************************************************/
.l-header-logo {
	font-size: 1rem;
}
.l-header-logo img {
	width: 83px;
}
@media screen and (max-width: 1270px) {
	.l-header-logo img {
		width: 6.5354330709vw;
	}
}
@media screen and (max-width: 767px) {
	.l-header-logo img {
		width: 50px;
	}
}
.l-header-logo a {
	color: inherit;
	text-decoration: none;
}
@media (any-hover: hover) {
	.l-header-logo a:hover {
		text-decoration: none;
	}
}
.l-header-logo a:focus {
	text-decoration: none;
}

/******************************************************************
layout - header-menu
******************************************************************/
@media print, screen and (min-width: 1025px) {
	.l-header-menu + .l-header-menu {
		padding-left: 2em;
		border-left: 1px solid #73777d;
	}
	.l-header-menu {
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-end;
		gap: 0.5em 2em;
		font-size: 16px;
	}
}
@media screen and (min-width: 1025px) and (max-width: 1270px) {
	.l-header-menu {
		gap: 0.5em 2.5196850394vw;
		font-size: 1.2598425197vw;
	}
}
@media print, screen and (min-width: 1025px) {
	.l-header-menu a {
		color: inherit;
		text-decoration: none;
		transition-property: color;
		transition-duration: 0.4s;
	}
}
@media print and (any-hover: hover), screen and (min-width: 1025px) and (any-hover: hover) {
	.l-header-menu a:hover {
		text-decoration: none;
	}
}
@media print, screen and (min-width: 1025px) {
	.l-header-menu a:focus {
		text-decoration: none;
	}
}
@media print and (any-hover: hover), screen and (min-width: 1025px) and (any-hover: hover) {
	.l-header-menu a:hover {
		color: #0055b4;
	}
}
@media print, screen and (min-width: 1025px) {
	.l-header-menu a:focus {
		color: #0055b4;
	}
}
@media screen and (max-width: 1024px) {
	.l-header-menu {
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
	}
	.l-header-menu li {
		position: relative;
	}
	.l-header-menu li:last-child::before {
		position: absolute;
		content: "";
		margin: auto;
		box-sizing: border-box;
		vertical-align: middle;
		top: 0;
		right: 0;
		bottom: 0;
		height: 2em;
		border-right: 1px solid #96999e;
	}
	.l-header-menu li::after {
		position: absolute;
		content: "";
		margin: auto;
		box-sizing: border-box;
		vertical-align: middle;
		top: 0;
		bottom: 0;
		left: 0;
		height: 2em;
		border-left: 1px solid #96999e;
	}
	.l-header-menu li a {
		font-size: 13px;
		display: block;
		padding-block: 0.5em;
		padding-inline: 1.5em;
	}
	.l-header-menu--s li a {
		padding-inline: 1em;
	}
}

/******************************************************************
layout - header-lang
******************************************************************/
.l-header-lang {
	order: 100;
	display: flex;
	justify-content: center;
	width: fit-content;
	margin-inline: auto;
}
.l-header-lang--common {
	margin-right: 0;
}
.l-header-lang {
	border: 1px solid #73777d;
	background-color: #fff;
	border-radius: 100vw;
}
@media screen and (max-width: 1024px) {
	.l-header-dropdown .l-header-lang {
		border: 0;
	}
}
.l-header-lang li {
	line-height: 1;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 16px;
}
@media screen and (max-width: 767px) {
	.l-header-lang li {
		font-size: 14px;
	}
	.l-header-dropdown .l-header-lang li {
		font-size: 16px;
	}
}
.l-header-lang a {
	box-sizing: border-box;
	display: block;
	width: fit-content;
	min-width: 3em;
}
@media screen and (max-width: 1024px) {
	.l-header-dropdown .l-header-lang a {
		min-width: 5em;
	}
}
.l-header-lang a {
	padding: 0.5em 0.35em 0.35em 0.35em;
	text-align: center;
	border-radius: 100vw;
	color: #212836;
	text-decoration: none;
}
@media (any-hover: hover) {
	.l-header-lang a:hover {
		text-decoration: none;
	}
}
.l-header-lang a:focus {
	text-decoration: none;
}
.l-header-lang a[aria-current=true] {
	pointer-events: none;
	padding: 0.5em 0.5em 0.35em 0.5em;
	color: #fff;
	font-weight: 500;
	background-color: #1d2330;
}
.l-header-lang a {
	transition-property: color;
	transition-duration: 0.4s;
}
@media (any-hover: hover) {
	.l-header-lang a:hover:not([aria-current=true]) {
		color: #0055b4;
	}
}
.l-header-lang a:focus:not([aria-current=true]) {
	color: #0055b4;
}

/******************************************************************
layout - header-navbar
******************************************************************/
body:has(.l-header-fixed .l-header-navbar__inner > li > [aria-hidden=false]) {
	overflow: hidden;
}

.l-wrapper:has(.l-header-fixed .l-header-navbar__inner > li > [aria-hidden=false]) {
	overflow-y: auto;
	scrollbar-gutter: stable;
}

.l-header-fixed .l-header-fixed__inner:has(.l-header-navbar__inner > li > [aria-hidden=false]) > * {
	overflow-y: auto;
	scrollbar-gutter: stable;
	background-color: #212836;
}
.l-header-fixed .l-header-fixed__inner:has(.l-header-navbar__inner > li > [aria-hidden=false]) > * > * {
	background-color: #fff;
}

.l-header-fixed .l-header-fixed__inner:has(.l-header-navbar__inner > li > [aria-hidden=false]) .l-header-navbar__content {
	overflow-y: auto;
	scrollbar-gutter: stable;
}

.l-header-navbar {
	--top: var(--header-height);
	--height: var(--header-height);
}
.l-header-navbar__inner {
	display: flex;
	border-top: 1px solid #73777d;
	border-left: 1px solid #73777d;
}
.l-header-navbar__inner > li {
	flex-grow: 1;
}
.l-header-navbar__inner > li:nth-child(1) > button {
	margin-right: -1px;
	min-width: 185px;
}
@media screen and (max-width: 1270px) {
	.l-header-navbar__inner > li:nth-child(1) > button {
		min-width: 14.5669291339vw;
		font-size: 1.4173228346vw;
	}
}
.l-header-navbar__inner > li:nth-child(2) > button {
	margin-right: -1px;
}
.l-header-navbar__inner > li:nth-child(2) > button::before {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	top: 0;
	bottom: 0;
	left: 0;
	height: 30px;
	border-left: 1px solid #73777d;
}
.l-header-navbar__inner > li:nth-child(2) > button {
	min-width: 125px;
	font-size: 16px;
}
@media screen and (max-width: 1270px) {
	.l-header-navbar__inner > li:nth-child(2) > button {
		min-width: 9.842519685vw;
		font-size: 1.2598425197vw;
	}
}
.l-header-navbar__inner > li:nth-child(3) > button::before {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	top: 0;
	bottom: 0;
	left: 0;
	height: 30px;
	border-left: 1px solid #73777d;
}
.l-header-navbar__inner > li:nth-child(3) > button {
	min-width: 125px;
	font-size: 16px;
}
@media screen and (max-width: 1270px) {
	.l-header-navbar__inner > li:nth-child(3) > button {
		min-width: 9.842519685vw;
		font-size: 1.2598425197vw;
	}
}
.l-header-navbar__inner > li:nth-child(4) {
	border-left: 1px solid #73777d;
}
.l-header-navbar__inner > li:nth-child(4) > button {
	min-width: 185px;
}
@media screen and (max-width: 1270px) {
	.l-header-navbar__inner > li:nth-child(4) > button {
		min-width: 14.5669291339vw;
		font-size: 1.4173228346vw;
	}
}
.l-header-navbar__inner > li:nth-child(5) {
	border-left: 1px solid #73777d;
}
.l-header-navbar__inner > li:nth-child(5) > button {
	min-width: 205px;
}
@media screen and (max-width: 1270px) {
	.l-header-navbar__inner > li:nth-child(5) > button {
		min-width: 16.1417322835vw;
		font-size: 1.4173228346vw;
	}
}
.l-header-navbar__inner > li > button {
	position: relative;
	width: 100%;
	display: block;
	padding-inline: 1em;
	text-align: center;
	font-weight: bold;
	font-size: 18px;
	min-height: 50px;
	color: inherit;
	text-decoration: none;
}
@media (any-hover: hover) {
	.l-header-navbar__inner > li > button:hover {
		text-decoration: none;
	}
}
.l-header-navbar__inner > li > button:focus {
	text-decoration: none;
}
.l-header-navbar__inner > li > button {
	transition-property: color, background-color;
	transition-duration: 0.2s;
}
.l-header-navbar__inner > li > button[aria-expanded=true], .l-header-navbar__inner > li > button[aria-expanded=page] {
	background-color: #50555d;
	color: #fff;
	z-index: 1;
}
.l-header-navbar__inner > li:hover .l-header-navbar__content {
	z-index: 111;
}
.l-header-navbar__content {
	display: none;
	position: absolute;
	top: var(--top);
	z-index: 110;
	left: 0;
	inset-inline: 0;
	background-color: #50555d;
	color: #fff;
}
.l-header-navbar__content :where(a) {
	color: #fff;
	text-decoration: none;
}
@media (any-hover: hover) {
	.l-header-navbar__content :where(a):hover {
		text-decoration: none;
	}
}
.l-header-navbar__content :where(a):focus {
	text-decoration: none;
}
.l-header-fixed:not(.l-header-fixed--portrait) .l-header-navbar__content, .l-header-nav-fixed .l-header-navbar__content {
	max-height: calc(100dvh - var(--height));
	overscroll-behavior: contain;
}
.l-header-fixed:not(.l-header-fixed--portrait) .l-header-navbar__content:not(.is-animation), .l-header-nav-fixed .l-header-navbar__content:not(.is-animation) {
	scroll-behavior: smooth;
}

.l-header-navbar__content > * {
	transition-property: opacity, transform;
	transition-duration: 0.6s;
	opacity: 0;
	transform: translateY(-15px);
}
.l-header-navbar__content[aria-hidden=false] > * {
	opacity: 1;
	transform: translateY(0);
}

.l-header-fixed:not(.l-header-fixed--portrait-over):not(.l-header-fixed--portrait) .l-header-navbar::after {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	position: fixed;
	z-index: 109;
	inset-inline: 0;
	background-color: rgba(0, 0, 0, 0.8);
	top: var(--top);
	transition: opacity 0.4s, height 0s 0.4s;
	opacity: 0;
	height: 0;
}
.l-header-fixed:not(.l-header-fixed--portrait-over):not(.l-header-fixed--portrait) .l-header-navbar:has(.l-header-navbar__inner > li > [aria-hidden=false])::after {
	transition: opacity 0.4s, height 0s 0s;
	-webkit-backdrop-filter: blur(3px);
	backdrop-filter: blur(3px);
	opacity: 1;
	height: 100vh;
	height: 100dvh;
}

/******************************************************************
layout - header-navbar-content-type3
******************************************************************/
.l-header-navbar-content-type3 {
	max-width: 1200px;
	margin-inline: auto;
	padding-inline: 35px;
}
@media screen and (max-width: 767px) {
	.l-header-navbar-content-type3 {
		padding-inline: 15px;
	}
}
.l-header-navbar-content-type3 {
	padding-block: 40px;
}
.l-header-navbar-content-type3 > *:not(:last-child) {
	margin-bottom: 40px;
}
.l-header-navbar-content-type3__title {
	border-bottom: 1px solid #85888e;
	padding-bottom: 30px;
	margin-bottom: 30px !important;
	font-size: 20px;
}
.l-header-navbar-content-type3__title a {
	display: inline-block;
	padding-left: 35px;
	background: url(/assets/img/icn-header-arrow.png) left center no-repeat;
	color: inherit;
	text-decoration: none;
}
@media (any-hover: hover) {
	.l-header-navbar-content-type3__title a:hover {
		text-decoration: none;
	}
}
.l-header-navbar-content-type3__title a:focus {
	text-decoration: none;
}
.l-header-navbar-content-type3__title a {
	transition-property: opacity;
	transition-duration: 0.4s;
}
@media (any-hover: hover) {
	.l-header-navbar-content-type3__title a:hover {
		opacity: 0.7;
	}
}
.l-header-navbar-content-type3__title a:focus {
	opacity: 0.7;
}
.l-header-navbar-content-type3__subtitle {
	position: relative;
	padding-left: 20px;
	margin-bottom: 20px !important;
}
.l-header-navbar-content-type3__subtitle::before {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	top: 0.5lh;
	left: 0;
	width: 12px;
	border-top: 3px solid #fff;
}
.l-header-navbar-content-type3__subtitle {
	font-size: 18px;
	font-weight: 500;
}
.l-header-navbar-content-type3__hgroup {
	display: flex;
	justify-content: space-between;
	margin-bottom: 20px !important;
}
.l-header-navbar-content-type3__hgroup > * {
	margin-bottom: 0 !important;
}
.l-header-navbar-content-type3__link {
	display: inline-block;
	position: relative;
}
.l-header-navbar-content-type3__link::after {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	width: 8px;
	height: 8px;
	transition-property: top, right, bottom, left, opacity;
	transition-duration: 0.2s;
}
.l-header-navbar-content-type3__link::after {
	top: 0;
	left: 0;
	transform-origin: top left;
	border-top: 1px solid #fff;
	border-left: 1px solid #fff;
	transform: translateX(6.3639610307px) translateY(0.5lh) rotate(135deg);
}
.l-header-navbar-content-type3__link {
	padding-left: 18px;
	color: inherit;
	text-decoration: none;
}
@media (any-hover: hover) {
	.l-header-navbar-content-type3__link:hover {
		text-decoration: none;
	}
}
.l-header-navbar-content-type3__link:focus {
	text-decoration: none;
}
.l-header-navbar-content-type3__link {
	transition-property: opacity;
	transition-duration: 0.4s;
}
@media (any-hover: hover) {
	.l-header-navbar-content-type3__link:hover {
		opacity: 0.7;
	}
}
.l-header-navbar-content-type3__link:focus {
	opacity: 0.7;
}
.l-header-navbar-content-type3__block {
	display: flex;
	gap: 80px;
}
@media screen and (max-width: 1270px) {
	.l-header-navbar-content-type3__block {
		gap: 6.2992125984vw;
	}
}
.l-header-navbar-content-type3__body {
	flex-grow: 1;
}
.l-header-navbar-content-type3__body > *:not(:last-child) {
	margin-bottom: 30px;
}
.l-header-navbar-content-type3__side {
	flex-shrink: 0;
	width: 220px;
}
@media screen and (max-width: 1270px) {
	.l-header-navbar-content-type3__side {
		width: 17.3228346457vw;
	}
}
.l-header-navbar-content-type3__side--long {
	width: 290px;
}
@media screen and (max-width: 1270px) {
	.l-header-navbar-content-type3__side--long {
		width: 22.8346456693vw;
	}
}
.l-header-navbar-content-type3__side > *:not(:last-child) {
	margin-bottom: 20px;
}
.l-header-navbar-content-type3__gutter > *:not(:last-child) {
	margin-bottom: 20px;
}
.l-header-navbar-content-type3__close {
	display: block;
	width: fit-content;
	margin-left: auto;
	padding-left: 16px;
	position: relative;
}
.l-header-navbar-content-type3__close::before, .l-header-navbar-content-type3__close::after {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	transition-property: all;
	transition-duration: 0.3s;
	transition-timing-function: cubic-bezier(0.3, 2, 0.6, 1);
}
.l-header-navbar-content-type3__close::before {
	background-color: #333333;
	width: 14.9705627485px;
	height: 2px;
	transform: translateX(-1.4852813742px) rotate(45deg);
	top: 0;
	bottom: 0;
	left: 0;
}
.l-header-navbar-content-type3__close::after {
	background-color: #333333;
	width: 14.9705627485px;
	height: 2px;
	transform: translateX(-1.4852813742px) rotate(-45deg);
	top: 0;
	bottom: 0;
	left: 0;
}

/******************************************************************
layout - header-navbar-submenu
******************************************************************/
.l-header-navbar-submenu {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 40px;
}
@media screen and (max-width: 1270px) {
	.l-header-navbar-submenu {
		gap: 0.5rem 3.1496062992vw;
	}
}
.l-header-navbar-submenu li a {
	display: inline-block;
	position: relative;
}
.l-header-navbar-submenu li a::after {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	width: 8px;
	height: 8px;
	transition-property: top, right, bottom, left, opacity;
	transition-duration: 0.2s;
}
.l-header-navbar-submenu li a::after {
	top: 0;
	left: 0;
	transform-origin: top left;
	border-top: 1px solid #fff;
	border-left: 1px solid #fff;
	transform: translateX(6.3639610307px) translateY(0.5lh) rotate(135deg);
}
.l-header-navbar-submenu li a {
	padding-left: 18px;
	color: inherit;
	text-decoration: none;
}
@media (any-hover: hover) {
	.l-header-navbar-submenu li a:hover {
		text-decoration: none;
	}
}
.l-header-navbar-submenu li a:focus {
	text-decoration: none;
}
.l-header-navbar-submenu li a {
	transition-property: opacity;
	transition-duration: 0.4s;
}
@media (any-hover: hover) {
	.l-header-navbar-submenu li a:hover {
		opacity: 0.7;
	}
}
.l-header-navbar-submenu li a:focus {
	opacity: 0.7;
}

/******************************************************************
layout - header-navbar-list
******************************************************************/
.l-header-navbar-list li:not(:last-child) {
	margin-bottom: 0.5em;
}
.l-header-navbar-list li a {
	font-size: 14px;
	display: inline-block;
	position: relative;
}
.l-header-navbar-list li a::after {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	width: 6px;
	height: 6px;
	transition-property: top, right, bottom, left, opacity;
	transition-duration: 0.2s;
}
.l-header-navbar-list li a::after {
	top: 0;
	left: 0;
	transform-origin: top left;
	border-top: 1px solid #888f99;
	border-left: 1px solid #888f99;
	transform: translateX(4.9497474683px) translateY(0.5lh) rotate(135deg);
}
.l-header-navbar-list li a {
	padding-left: 16px;
	color: inherit;
	text-decoration: none;
}
@media (any-hover: hover) {
	.l-header-navbar-list li a:hover {
		text-decoration: none;
	}
}
.l-header-navbar-list li a:focus {
	text-decoration: none;
}
.l-header-navbar-list li a {
	transition-property: opacity;
	transition-duration: 0.4s;
}
@media (any-hover: hover) {
	.l-header-navbar-list li a:hover {
		opacity: 0.7;
	}
}
.l-header-navbar-list li a:focus {
	opacity: 0.7;
}

/******************************************************************
layout - header-navbar-menu-image
******************************************************************/
.l-header-navbar-menu-image {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}
.l-header-navbar-menu-image--1column {
	grid-template-columns: repeat(1, 1fr);
}
.l-header-navbar-menu-image--2column {
	grid-template-columns: repeat(2, 1fr);
}
.l-header-navbar-menu-image--3column {
	grid-template-columns: repeat(3, 1fr);
}
.l-header-navbar-menu-image--4column {
	grid-template-columns: repeat(4, 1fr);
}
.l-header-navbar-menu-image--5column {
	grid-template-columns: repeat(5, 1fr);
}
.l-header-navbar-menu-image li a {
	display: inline-block;
	overflow: hidden;
	color: inherit;
	text-decoration: none;
}
@media (any-hover: hover) {
	.l-header-navbar-menu-image li a:hover {
		text-decoration: none;
	}
}
.l-header-navbar-menu-image li a:focus {
	text-decoration: none;
}
.l-header-navbar-menu-image li a > *:not(:last-child) {
	margin-bottom: 10px;
}
.l-header-navbar-menu-image li a {
	transition-property: border;
	transition-duration: 0.4s;
}
@media (any-hover: hover) {
	.l-header-navbar-menu-image li a:hover img {
		transform: scale(1.02);
	}
}
.l-header-navbar-menu-image li a:focus img {
	transform: scale(1.02);
}
.l-header-navbar-menu-image__img img {
	width: 100%;
	transition-property: transform;
	transition-duration: 0.1s;
	will-change: transform;
}
.l-header-navbar-menu-image__caption {
	position: relative;
}
.l-header-navbar-menu-image__caption::after {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	width: 7px;
	height: 7px;
	transition-property: top, right, bottom, left, opacity;
	transition-duration: 0.2s;
}
.l-header-navbar-menu-image__caption::after {
	top: 0;
	left: 0;
	transform-origin: top left;
	border-top: 1px solid #333333;
	border-left: 1px solid #333333;
	transform: translateX(5.6568542495px) translateY(0.5lh) rotate(135deg);
}
.l-header-navbar-menu-image__caption {
	padding-left: 14px;
}

/******************************************************************
layout - header-navbar-button
******************************************************************/
.l-header-navbar-button {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}
@media screen and (max-width: 1270px) {
	.l-header-navbar-button {
		gap: 1.5748031496vw;
	}
}
.l-header-navbar-button--1column {
	grid-template-columns: repeat(1, 1fr);
}
.l-header-navbar-button--2column {
	grid-template-columns: repeat(2, 1fr);
}
.l-header-navbar-button--3column {
	grid-template-columns: repeat(3, 1fr);
}
.l-header-navbar-button--4column {
	grid-template-columns: repeat(4, 1fr);
}
.l-header-navbar-button--5column {
	grid-template-columns: repeat(5, 1fr);
}
.l-header-navbar-button li {
	display: flex;
}
.l-header-navbar-button li a {
	flex-grow: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	text-align: center;
	min-height: 3.25em;
	background-color: #fff;
	padding: 0.25em 1em 0.25em 1em;
	line-height: 1.2;
}
.l-header-navbar-button li a.l-header-navbar-button__arrow {
	padding: 0.25em 1.8em 0.25em 1.8em;
	position: relative;
}
.l-header-navbar-button li a.l-header-navbar-button__arrow::after {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	width: 9px;
	height: 9px;
	transition-property: top, right, bottom, left, opacity;
	transition-duration: 0.2s;
}
.l-header-navbar-button li a.l-header-navbar-button__arrow::after {
	top: 0;
	bottom: 0;
	right: 0.75em;
	transform-origin: center center;
	border-top: 1px solid #212836;
	border-right: 1px solid #212836;
	transform: translateX(-1.8639610307px) rotate(45deg);
}
.l-header-navbar-button li a {
	color: #1d2330;
	text-decoration: none;
}
@media (any-hover: hover) {
	.l-header-navbar-button li a:hover {
		text-decoration: none;
	}
}
.l-header-navbar-button li a:focus {
	text-decoration: none;
}
.l-header-navbar-button li a {
	transition-property: background, color;
	transition-duration: 0.4s;
}
@media (any-hover: hover) {
	.l-header-navbar-button li a:hover {
		background-color: #ebf4ff;
		color: #0055b4;
	}
}
.l-header-navbar-button li a:focus {
	background-color: #ebf4ff;
	color: #0055b4;
}

/******************************************************************
layout - header-navbar-other-pub
******************************************************************/
.l-header-navbar-other-pub {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 40px;
}
@media screen and (max-width: 1270px) {
	.l-header-navbar-other-pub {
		gap: 0.5rem 3.1496062992vw;
	}
}
.l-header-navbar-other-pub dt {
	width: 100%;
	font-size: 17px;
	font-weight: 500;
}
.l-header-navbar-other-pub dd a {
	display: inline-block;
	position: relative;
}
.l-header-navbar-other-pub dd a::after {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	width: 8px;
	height: 8px;
	transition-property: top, right, bottom, left, opacity;
	transition-duration: 0.2s;
}
.l-header-navbar-other-pub dd a::after {
	top: 0;
	left: 0;
	transform-origin: top left;
	border-top: 1px solid #fff;
	border-left: 1px solid #fff;
	transform: translateX(6.3639610307px) translateY(0.5lh) rotate(135deg);
}
.l-header-navbar-other-pub dd a {
	padding-left: 18px;
	color: inherit;
	text-decoration: none;
}
@media (any-hover: hover) {
	.l-header-navbar-other-pub dd a:hover {
		text-decoration: none;
	}
}
.l-header-navbar-other-pub dd a:focus {
	text-decoration: none;
}
.l-header-navbar-other-pub dd a {
	transition-property: opacity;
	transition-duration: 0.4s;
}
@media (any-hover: hover) {
	.l-header-navbar-other-pub dd a:hover {
		opacity: 0.7;
	}
}
.l-header-navbar-other-pub dd a:focus {
	opacity: 0.7;
}

/******************************************************************
layout - header-navbar-magazine
******************************************************************/
.l-header-navbar-magazine {
	display: flex;
	gap: 20px;
}
.l-header-navbar-magazine__item {
	width: 100%;
	background-color: #fff;
	color: #1d2330;
	padding: 30px 10px;
}
.l-header-navbar-magazine__item ul {
	margin-inline: 20px;
}
.l-header-navbar-magazine__item ul li:not(:last-child) {
	border-bottom: 1px solid #c5c6c7;
}
.l-header-navbar-magazine__item ul li a {
	display: block;
	padding-block: 0.5em;
	text-align: center;
	transition-property: background, color;
	transition-duration: 0.4s;
	color: #1d2330;
}
@media (any-hover: hover) {
	.l-header-navbar-magazine__item ul li a:hover {
		background-color: #ebf4ff;
		color: #0055b4;
	}
}
.l-header-navbar-magazine__item ul li a:focus {
	background-color: #ebf4ff;
	color: #0055b4;
}
/******************************************************************
layout - header-dropdown
******************************************************************/
body:has(.l-header-fixed:not(.l-header-fixed--portrait-over):not(.l-header-fixed--portrait) .l-header-dropdown > [aria-hidden=false]) {
	overflow: hidden;
}

.l-header-dropdown {
	display: flex;
}
.l-header-dropdown__body {
	display: none;
	position: absolute;
	inset-inline: 0;
	top: var(--header-height);
	z-index: 110;
	max-height: calc(100dvh - var(--header-height));
	overflow-y: auto;
	scroll-behavior: smooth;
	overscroll-behavior: contain;
	background-color: #50555d;
	color: #fff;
}
.l-header-dropdown__body :where(a) {
	color: inherit;
	text-decoration: none;
}
@media (any-hover: hover) {
	.l-header-dropdown__body :where(a):hover {
		text-decoration: none;
	}
}
.l-header-dropdown__body :where(a):focus {
	text-decoration: none;
}
.l-header-dropdown__body-inner {
	max-width: 500px;
	margin-inline: auto;
	padding: 35px;
}
@media screen and (max-width: 767px) {
	.l-header-dropdown__body-inner {
		padding: 0 0 50px 0;
	}
}
.l-header-dropdown__body-inner > *:not(:last-child) {
	margin-bottom: 2rem;
}
.l-header-dropdown__body-inner nav > *:not(:last-child) {
	margin-bottom: 2rem;
}
.l-header-dropdown__body > * {
	transition-property: opacity, transform;
	transition-duration: 0.6s;
	opacity: 0;
	transform: translateY(-15px);
}
.l-header-dropdown__body[aria-hidden=false] > * {
	opacity: 1;
	transform: translateY(0);
}

.l-header-fixed:not(.l-header-fixed--portrait-over):not(.l-header-fixed--portrait) .l-header-dropdown::after {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	position: fixed;
	z-index: 109;
	inset-inline: 0;
	background-color: rgba(0, 0, 0, 0.8);
	top: var(--header-height);
	transition: opacity 0.4s, height 0s 0.4s;
	opacity: 0;
	height: 0;
}
.l-header-fixed:not(.l-header-fixed--portrait-over):not(.l-header-fixed--portrait) .l-header-dropdown:has(> [aria-hidden=false])::after {
	transition: opacity 0.4s, height 0s 0s;
	-webkit-backdrop-filter: blur(3px);
	backdrop-filter: blur(3px);
	opacity: 1;
	height: 100vh;
	height: 100dvh;
}

/******************************************************************
layout - header-dropdown-nav
******************************************************************/
.l-header-dropdown-nav {
	border-bottom: 1px solid #b4b7bd;
}
.l-header-dropdown-nav > li:nth-child(2) {
	border-top: 1px solid #b4b7bd;
	margin-left: 18px;
}
.l-header-dropdown-nav > li:nth-child(3) {
	border-top: 1px solid #b4b7bd;
	margin-left: 18px;
}
.l-header-dropdown-nav > li:nth-child(4) {
	border-top: 1px solid #b4b7bd;
}
.l-header-dropdown-nav > li:nth-child(5) {
	border-top: 1px solid #b4b7bd;
}
.l-header-dropdown-nav > li > a:not([role=button]), .l-header-dropdown-nav > li > button,
.l-header-dropdown-nav > li > a[role=button] {
	box-sizing: border-box;
	display: block;
	width: 100%;
	padding: 16px 40px 16px 18px;
	text-align: left;
	font-size: 16px;
}
.l-header-dropdown-nav > li > button,
.l-header-dropdown-nav > li > a[role=button] {
	position: relative;
}
.l-header-dropdown-nav > li > button::before, .l-header-dropdown-nav > li > button::after,
.l-header-dropdown-nav > li > a[role=button]::before,
.l-header-dropdown-nav > li > a[role=button]::after {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	transition-property: all;
	transition-duration: 0.3s;
	transition-timing-function: cubic-bezier(0.3, 2, 0.6, 1);
}
.l-header-dropdown-nav > li > button::before,
.l-header-dropdown-nav > li > a[role=button]::before {
	background-color: #fff;
	width: 18px;
	height: 2px;
	top: 0;
	bottom: 0;
	right: 18px;
}
.l-header-dropdown-nav > li > button::after,
.l-header-dropdown-nav > li > a[role=button]::after {
	background-color: #fff;
	width: 2px;
	height: 18px;
	top: 0;
	bottom: 0;
	right: 26px;
}
.l-header-dropdown-nav > li > button[aria-expanded=true]:after,
.l-header-dropdown-nav > li > a[role=button][aria-expanded=true]:after {
	height: 0;
}
.l-header-dropdown-nav > li > a:not([role=button]) {
	position: relative;
}
.l-header-dropdown-nav > li > a:not([role=button])::after {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	width: 10px;
	height: 10px;
	transition-property: top, right, bottom, left, opacity;
	transition-duration: 0.2s;
}
.l-header-dropdown-nav > li > a:not([role=button])::after {
	top: 0;
	bottom: 0;
	right: 4px;
	transform-origin: center center;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: translateX(-2.0710678119px) rotate(45deg);
}
.l-header-dropdown-nav > li > ul {
	display: none;
	margin-left: 18px;
}
.l-header-dropdown-nav > li > ul li:last-child {
	padding-bottom: 20px;
}
.l-header-dropdown-nav > li > ul li a {
	box-sizing: border-box;
	display: block;
	width: 100%;
	padding: 12px 1em 12px 24px;
	font-size: 15px;
	position: relative;
}
.l-header-dropdown-nav > li > ul li a::after {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	width: 8px;
	height: 8px;
	transition-property: top, right, bottom, left, opacity;
	transition-duration: 0.2s;
}
.l-header-dropdown-nav > li > ul li a::after {
	top: 0;
	bottom: 0;
	left: 6px;
	transform-origin: center center;
	border-top: 1px solid #fff;
	border-left: 1px solid #fff;
	transform: translateX(-3.2928932188px) rotate(135deg);
}

/******************************************************************
layout - header-icon-hamburger
******************************************************************/
.l-header-icon-hamburger {
	min-width: 80px;
}
@media screen and (max-width: 767px) {
	.l-header-icon-hamburger {
		min-width: 50px;
	}
}
.l-header-icon-hamburger > span {
	margin-inline: auto;
	display: block;
	position: relative;
	width: 22px;
	height: 20px;
}
.l-header-icon-hamburger > span span {
	position: absolute;
	display: block;
	margin: auto;
	width: 100%;
	height: 2px;
	background-color: #333333;
}
.l-header-icon-hamburger > span span:first-child {
	top: 0;
}
.l-header-icon-hamburger > span span:nth-child(2) {
	top: 0;
	bottom: 0;
}
.l-header-icon-hamburger > span span:last-child {
	bottom: 0;
}
.l-header-icon-hamburger > span span:first-child {
	transition: top 0.24s 0.16s, transform 0.16s;
}
.l-header-icon-hamburger > span span:nth-child(2) {
	transition: opacity 0.24s 0.16s;
}
.l-header-icon-hamburger > span span:last-child {
	transition: bottom 0.24s 0.16s, transform 0.16s;
}
.l-header-icon-hamburger[aria-expanded=true] > span span:first-child {
	top: 50%;
	transform: translateY(-50%) rotate(-45deg);
	transition: top 0.16s, transform 0.24s 0.16s;
}
.l-header-icon-hamburger[aria-expanded=true] > span span:nth-child(2) {
	opacity: 0;
	transition: opacity 0.16s;
}
.l-header-icon-hamburger[aria-expanded=true] > span span:last-child {
	bottom: 50%;
	transform: translateY(50%) rotate(45deg);
	transition: bottom 0.16s, transform 0.24s 0.16s;
}

/******************************************************************
layout - breadcrumb
******************************************************************/
@media screen and (max-width: 767px) {
	.l-breadcrumb {
		margin-bottom: 10px;
	}
}
.l-breadcrumb ol {
	max-width: 1200px;
	margin-inline: auto;
	padding-inline: 35px;
}
@media screen and (max-width: 767px) {
	.l-breadcrumb ol {
		padding-inline: 15px;
	}
}
.l-breadcrumb ol {
	padding-block: 25px 40px;
}
@media screen and (max-width: 767px) {
	.l-breadcrumb ol {
		padding-block: 1.125rem;
	}
}
.l-breadcrumb ol {
	display: flex;
	gap: 0.25em 0.75em;
	flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
	.l-breadcrumb ol {
		overflow-x: scroll;
		flex-wrap: nowrap;
	}
	.l-breadcrumb ol li {
		white-space: nowrap;
	}
}
.l-breadcrumb ol li {
	position: relative;
}
.l-breadcrumb ol li:not(:last-child) {
	padding-right: calc(0.75em + 6px);
	position: relative;
}
.l-breadcrumb ol li:not(:last-child)::after {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	width: 6px;
	height: 6px;
	transition-property: top, right, bottom, left, opacity;
	transition-duration: 0.2s;
}
.l-breadcrumb ol li:not(:last-child)::after {
	top: 0;
	bottom: 0;
	right: 0;
	transform-origin: center center;
	border-top: 1px solid #1d2330;
	border-right: 1px solid #1d2330;
	transform: translateX(-1.2426406871px) rotate(45deg);
}
.l-breadcrumb ol li {
	font-size: 0.8rem;
}
@media screen and (max-width: 767px) {
	.l-breadcrumb ol li {
		font-size: 0.75rem;
	}
}
.l-breadcrumb ol li a {
	color: inherit;
	text-decoration: none;
}
@media (any-hover: hover) {
	.l-breadcrumb ol li a:hover {
		text-decoration: none;
	}
}
.l-breadcrumb ol li a:focus {
	text-decoration: none;
}
.l-breadcrumb ol li a {
	transition-property: color;
	transition-duration: 0.4s;
}
@media (any-hover: hover) {
	.l-breadcrumb ol li a:hover {
		color: #0055b4;
	}
}
.l-breadcrumb ol li a:focus {
	color: #0055b4;
}

/******************************************************************
layout - pagetop
******************************************************************/
.l-pagetop {
	position: relative;
}
@media print {
	.l-pagetop {
		display: none !important;
	}
}
.l-pagetop:not([data-pagetop]) .l-pagetop__btn {
	transform: translatey(0);
	position: fixed !important;
}
.l-pagetop[data-pagetop=top] .l-pagetop__btn {
	transform: translatey(120px);
	position: fixed;
}
.l-pagetop[data-pagetop=scroll] .l-pagetop__btn, .l-pagetop[data-pagetop=top] .l-pagetop__btn:focus {
	transform: translatey(0);
	position: fixed;
}
.l-pagetop[data-pagetop=bottom] .l-pagetop__btn {
	position: absolute;
}
.l-pagetop__btn {
	z-index: 90;
	transition-property: transform, background;
	transition-duration: 0.4s;
	display: block;
	overflow: hidden;
}
.l-pagetop__btn {
	bottom: 0;
	right: 0;
	position: relative;
}
.l-pagetop__btn::after {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	width: 12px;
	height: 12px;
	transition-property: top, right, bottom, left, opacity;
	transition-duration: 0.2s;
}
.l-pagetop__btn::after {
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	transform-origin: center center;
	border-top: 2px solid #fff;
	border-left: 2px solid #fff;
	transform: translateY(2.4852813742px) rotate(45deg);
}
.l-pagetop__btn {
	width: 60px;
	height: 60px;
	background: #212836;
}
@media screen and (max-width: 767px) {
	.l-pagetop__btn {
		position: relative;
	}
	.l-pagetop__btn::after {
		position: absolute;
		content: "";
		margin: auto;
		box-sizing: border-box;
		vertical-align: middle;
		width: 12px;
		height: 12px;
		transition-property: top, right, bottom, left, opacity;
		transition-duration: 0.2s;
	}
	.l-pagetop__btn::after {
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		transform-origin: center center;
		border-top: 1px solid #fff;
		border-left: 1px solid #fff;
		transform: translateY(2.4852813742px) rotate(45deg);
	}
	.l-pagetop__btn {
		transform: translatey(0) !important;
		position: static !important;
		width: 100%;
		height: 40px;
	}
}
@media (any-hover: hover) {
	.l-pagetop__btn:hover {
		background: #0055b4;
	}
	.l-pagetop__btn:hover::after {
		top: -5px;
	}
}
.l-pagetop__btn:focus {
	background: #0055b4;
}
.l-pagetop__btn:focus::after {
	top: -5px;
}

/******************************************************************
layout - footer
******************************************************************/
.l-footer__navigation {
	overflow: hidden;
	border-top: 1px solid #73777d;
	background-color: #50555d;
	color: #fff;
}
.l-footer__navigation :where(a) {
	color: #fff;
	text-decoration: none;
}
@media (any-hover: hover) {
	.l-footer__navigation :where(a):hover {
		text-decoration: none;
	}
}
.l-footer__navigation :where(a):focus {
	text-decoration: none;
}
.l-footer__navigation-inner {
	max-width: 1200px;
	margin-inline: auto;
	padding-inline: 35px;
}
@media screen and (max-width: 767px) {
	.l-footer__navigation-inner {
		padding-inline: 15px;
	}
}
.l-footer__navigation-inner {
	padding-block: 60px;
}
@media screen and (max-width: 1024px) {
	.l-footer__navigation-inner {
		padding: 0;
	}
}
.l-footer__content {
	background-color: #212836;
	color: #fff;
}
.l-footer__content :where(a) {
	color: #fff;
	text-decoration: none;
}
@media (any-hover: hover) {
	.l-footer__content :where(a):hover {
		text-decoration: none;
	}
}
.l-footer__content :where(a):focus {
	text-decoration: none;
}
.l-footer__content__inner {
	max-width: 1200px;
	margin-inline: auto;
	padding-inline: 35px;
}
@media screen and (max-width: 767px) {
	.l-footer__content__inner {
		padding-inline: 15px;
	}
}
.l-footer__content__inner {
	padding-block: 30px;
}

/******************************************************************
layout - footer-navigation
******************************************************************/
.l-footer-navigation {
	display: flex;
	gap: 40px;
}
@media screen and (max-width: 1024px) {
	.l-footer-navigation {
		display: block;
	}
}
@media screen and (max-width: 1024px) {
	.l-footer-navigation > .l-footer-navigation__body-landscape {
		padding: 35px;
	}
}
.l-footer-navigation__body-landscape {
	--l-footer-navigation-gap-y: 60px;
	--l-footer-navigation-gap-x: 30px;
}
@media screen and (max-width: 1270px) {
	.l-footer-navigation__body-landscape {
		--l-footer-navigation-gap-y: 4.7244094488vw;
		--l-footer-navigation-gap-x: 2.3622047244vw;
	}
}
.l-footer-navigation__body-landscape {
	flex-grow: 1;
	display: flex;
	flex-wrap: wrap;
	gap: var(--l-footer-navigation-gap-y) var(--l-footer-navigation-gap-x);
	margin-right: calc(var(--l-footer-navigation-gap-x) * -1);
}
@media screen and (max-width: 767px) {
	.l-footer-navigation__body-landscape {
		display: none;
	}
}
.l-footer-navigation__1col {
	width: calc(100% - var(--l-footer-navigation-gap-x));
}
.l-footer-navigation__2col {
	width: calc(50% - var(--l-footer-navigation-gap-x));
}
.l-footer-navigation__3col {
	width: calc(33.3333333333% - var(--l-footer-navigation-gap-x));
}
.l-footer-navigation__3col:nth-child(1) {
	width: calc(30% - var(--l-footer-navigation-gap-x));
}
.l-footer-navigation__3col:nth-child(2) {
	width: calc(32% - var(--l-footer-navigation-gap-x));
}
.l-footer-navigation__3col:nth-child(3) {
	width: calc(38% - var(--l-footer-navigation-gap-x));
}
.l-footer-navigation__1col + .l-footer-navigation__3col {
	width: calc(30% - var(--l-footer-navigation-gap-x));
}
.l-footer-navigation__1col + .l-footer-navigation__3col + .l-footer-navigation__3col {
	width: calc(32% - var(--l-footer-navigation-gap-x));
}
.l-footer-navigation__1col + .l-footer-navigation__3col + .l-footer-navigation__3col + .l-footer-navigation__3col {
	width: calc(38% - var(--l-footer-navigation-gap-x));
}
.l-footer-navigation__body-portrait {
	display: none;
}
@media screen and (max-width: 767px) {
	.l-footer-navigation__body-portrait {
		display: block;
		max-width: 500px;
		margin-inline: auto;
		padding-bottom: 30px;
	}
	.l-footer-navigation__body-portrait > *:not(:last-child) {
		margin-bottom: 1.5rem;
	}
}
.l-footer-navigation__side {
	flex-shrink: 0;
	width: 290px;
}
@media screen and (max-width: 1270px) {
	.l-footer-navigation__side {
		width: 22.8346456693vw;
	}
}
@media screen and (max-width: 1024px) {
	.l-footer-navigation__side {
		box-sizing: border-box;
		width: 100%;
		background-color: #61666d;
		padding: 35px;
	}
}
@media screen and (max-width: 767px) {
	.l-footer-navigation__side {
		padding: 30px 15px;
	}
}

/******************************************************************
layout - footer-cattegory-menu
******************************************************************/
.l-footer-cattegory-menu__title {
	margin-bottom: 0.8rem;
	font-weight: bold;
	font-size: 18px;
}
.l-footer-cattegory-menu__title a {
	position: relative;
	display: inline-block;
	padding-left: 20px;
}
.l-footer-cattegory-menu__title a::before {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	top: 0.5lh;
	left: 0;
	width: 12px;
	border-top: 3px solid #fff;
}
.l-footer-cattegory-menu__title a {
	color: inherit;
	text-decoration: none;
}
@media (any-hover: hover) {
	.l-footer-cattegory-menu__title a:hover {
		text-decoration: none;
	}
}
.l-footer-cattegory-menu__title a:focus {
	text-decoration: none;
}
.l-footer-cattegory-menu__title a {
	transition-property: opacity;
	transition-duration: 0.4s;
}
@media (any-hover: hover) {
	.l-footer-cattegory-menu__title a:hover {
		opacity: 0.7;
	}
}
.l-footer-cattegory-menu__title a:focus {
	opacity: 0.7;
}
.l-footer-cattegory-menu__subtitle {
	margin-bottom: 0.8rem;
	font-weight: bold;
	font-size: 15px;
}
.l-footer-cattegory-menu__subtitle a {
	display: inline-block;
	position: relative;
}
.l-footer-cattegory-menu__subtitle a::after {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	width: 6px;
	height: 6px;
	transition-property: top, right, bottom, left, opacity;
	transition-duration: 0.2s;
}
.l-footer-cattegory-menu__subtitle a::after {
	top: 0;
	left: 0;
	transform-origin: top left;
	border-top: 1px solid #888f99;
	border-left: 1px solid #888f99;
	transform: translateX(4.9497474683px) translateY(0.5lh) rotate(135deg);
}
.l-footer-cattegory-menu__subtitle a {
	padding-left: 13px;
	color: inherit;
	text-decoration: none;
}
@media (any-hover: hover) {
	.l-footer-cattegory-menu__subtitle a:hover {
		text-decoration: none;
	}
}
.l-footer-cattegory-menu__subtitle a:focus {
	text-decoration: none;
}
.l-footer-cattegory-menu__subtitle a {
	transition-property: opacity;
	transition-duration: 0.4s;
}
@media (any-hover: hover) {
	.l-footer-cattegory-menu__subtitle a:hover {
		opacity: 0.7;
	}
}
.l-footer-cattegory-menu__subtitle a:focus {
	opacity: 0.7;
}
.l-footer-cattegory-menu__item:not(:last-child) {
	margin-bottom: 0.5rem;
}
.l-footer-cattegory-menu__item {
	font-size: 15px;
}
.l-footer-cattegory-menu__item a {
	position: relative;
	display: inline-block;
	padding-left: 18px;
}
.l-footer-cattegory-menu__item a::before {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	top: 0.5lh;
	left: 0;
	width: 10px;
	border-top: 3px solid #888f99;
}
.l-footer-cattegory-menu__item a {
	color: inherit;
	text-decoration: none;
}
@media (any-hover: hover) {
	.l-footer-cattegory-menu__item a:hover {
		text-decoration: none;
	}
}
.l-footer-cattegory-menu__item a:focus {
	text-decoration: none;
}
.l-footer-cattegory-menu__item a {
	transition-property: opacity;
	transition-duration: 0.4s;
}
@media (any-hover: hover) {
	.l-footer-cattegory-menu__item a:hover {
		opacity: 0.7;
	}
}
.l-footer-cattegory-menu__item a:focus {
	opacity: 0.7;
}
.l-footer-cattegory-menu__list > *:not(:last-child) {
	margin-bottom: 0.8rem;
}
.l-footer-cattegory-menu__list {
	margin-left: 20px;
}
.l-footer-cattegory-menu__list > li {
	font-size: 13px;
}
.l-footer-cattegory-menu__list > li a {
	display: inline-block;
	position: relative;
}
.l-footer-cattegory-menu__list > li a::after {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	width: 6px;
	height: 6px;
	transition-property: top, right, bottom, left, opacity;
	transition-duration: 0.2s;
}
.l-footer-cattegory-menu__list > li a::after {
	top: 0;
	left: 0;
	transform-origin: top left;
	border-top: 1px solid #888f99;
	border-left: 1px solid #888f99;
	transform: translateX(4.9497474683px) translateY(0.5lh) rotate(135deg);
}
.l-footer-cattegory-menu__list > li a {
	padding-left: 13px;
	color: inherit;
	text-decoration: none;
}
@media (any-hover: hover) {
	.l-footer-cattegory-menu__list > li a:hover {
		text-decoration: none;
	}
}
.l-footer-cattegory-menu__list > li a:focus {
	text-decoration: none;
}
.l-footer-cattegory-menu__list > li a {
	transition-property: opacity;
	transition-duration: 0.4s;
}
@media (any-hover: hover) {
	.l-footer-cattegory-menu__list > li a:hover {
		opacity: 0.7;
	}
}
.l-footer-cattegory-menu__list > li a:focus {
	opacity: 0.7;
}

/******************************************************************
layout - footer-side
******************************************************************/
.l-footer-side {
	display: grid;
	grid-template-areas: "webmagazine" "member" "webshop";
	gap: 40px;
}
@media screen and (max-width: 1024px) {
	.l-footer-side {
		max-width: 400px;
		margin-inline: auto;
		grid-template-columns: auto calc(50% - 8px);
		grid-template-areas: "member member" "webmagazine webshop";
		gap: 25px 16px;
	}
}
.l-footer-side__webmagazine {
	grid-area: webmagazine;
}
.l-footer-side__member {
	grid-area: member;
}
.l-footer-side__webshop {
	grid-area: webshop;
}
.l-footer-side > div > dt {
	text-align: center;
	font-size: 15px;
	margin-bottom: 0.8em;
}
.l-footer-side > div > dd + dd {
	margin-top: 10px;
}
@media screen and (max-width: 1024px) {
	.l-footer-side > div > dd + dd {
		margin-top: 20px;
	}
}

/******************************************************************
layout - footer-content-type3
******************************************************************/
.l-footer-content-type3__head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 20px;
}
@media screen and (max-width: 767px) {
	.l-footer-content-type3__head {
		flex-direction: column;
	}
}
.l-footer-content-type3__head {
	padding-bottom: 30px;
	margin-bottom: 30px;
	border-bottom: 1px solid #454c59;
}
.l-footer-content-type3__body {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
}

/******************************************************************
layout - footer-logo
******************************************************************/
.l-footer-logo {
	font-size: 1rem;
}
.l-footer-logo img {
	width: 64px;
	filter: brightness(0) invert(1);
}
@media screen and (max-width: 1024px) {
	.l-footer-logo {
		text-align: center;
	}
}
.l-footer-logo--text > *:not(:has(> a)),
.l-footer-logo--text > *:has(> a) a {
	display: inline-flex;
	align-items: center;
	font-weight: bold;
	gap: 16px;
	font-size: 17px;
}
@media screen and (max-width: 1024px) {
	.l-footer-logo--text > *:not(:has(> a)),
	.l-footer-logo--text > *:has(> a) a {
		flex-direction: column;
		gap: 13px;
		font-size: 13px;
	}
}
.l-footer-logo a {
	color: inherit;
	text-decoration: none;
}
@media (any-hover: hover) {
	.l-footer-logo a:hover {
		text-decoration: none;
	}
}
.l-footer-logo a:focus {
	text-decoration: none;
}

/******************************************************************
layout - footer-menu
******************************************************************/
@media print, screen and (min-width: 1025px) {
	.l-footer-menu {
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-end;
		gap: 2.5em;
		font-size: 16px;
	}
	.l-footer-menu a {
		position: relative;
		display: inline-block;
		padding-left: 17px;
		line-height: 1.8;
	}
	.l-footer-menu a::before {
		position: absolute;
		content: "";
		margin: auto;
		box-sizing: border-box;
		vertical-align: middle;
		top: 0.5lh;
		left: 0;
		width: 10px;
		border-top: 3px solid #979eaa;
	}
	.l-footer-menu a {
		color: inherit;
		text-decoration: none;
		transition-property: opacity;
		transition-duration: 0.4s;
	}
}
@media print and (any-hover: hover), screen and (min-width: 1025px) and (any-hover: hover) {
	.l-footer-menu a:hover {
		text-decoration: none;
	}
}
@media print, screen and (min-width: 1025px) {
	.l-footer-menu a:focus {
		text-decoration: none;
	}
}
@media print and (any-hover: hover), screen and (min-width: 1025px) and (any-hover: hover) {
	.l-footer-menu a:hover {
		opacity: 0.7;
	}
}
@media print, screen and (min-width: 1025px) {
	.l-footer-menu a:focus {
		opacity: 0.7;
	}
}
@media screen and (max-width: 1024px) {
	.l-footer-menu {
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
	}
	.l-footer-menu li {
		position: relative;
	}
	.l-footer-menu li:last-child::before {
		position: absolute;
		content: "";
		margin: auto;
		box-sizing: border-box;
		vertical-align: middle;
		top: 0;
		right: 0;
		bottom: 0;
		height: 2em;
		border-right: 1px solid #454c59;
	}
	.l-footer-menu li::after {
		position: absolute;
		content: "";
		margin: auto;
		box-sizing: border-box;
		vertical-align: middle;
		top: 0;
		bottom: 0;
		left: 0;
		height: 2em;
		border-left: 1px solid #454c59;
	}
	.l-footer-menu li a {
		display: block;
		padding-block: 0.5em;
		padding-inline: 2em;
	}
}

/******************************************************************
layout - footer-submenu
******************************************************************/
.l-footer-submenu {
	display: flex;
	flex-wrap: wrap;
	gap: 2em;
	font-size: 0.8rem;
}
@media screen and (max-width: 767px) {
	.l-footer-submenu {
		justify-content: center;
		flex-direction: column;
		align-items: center;
		gap: 1em;
	}
}
.l-footer-submenu a {
	padding-left: 15px;
	position: relative;
}
.l-footer-submenu a::after {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	width: 6px;
	height: 6px;
	transition-property: top, right, bottom, left, opacity;
	transition-duration: 0.2s;
}
.l-footer-submenu a::after {
	top: 0;
	bottom: 0;
	left: 0;
	transform-origin: center center;
	border-top: 1px solid #979eaa;
	border-left: 1px solid #979eaa;
	transform: translateX(-2.2928932188px) rotate(135deg);
}
.l-footer-submenu a {
	color: inherit;
	text-decoration: none;
}
@media (any-hover: hover) {
	.l-footer-submenu a:hover {
		text-decoration: none;
	}
}
.l-footer-submenu a:focus {
	text-decoration: none;
}
.l-footer-submenu a {
	transition-property: opacity;
	transition-duration: 0.4s;
}
@media (any-hover: hover) {
	.l-footer-submenu a:hover {
		opacity: 0.7;
	}
}
.l-footer-submenu a:focus {
	opacity: 0.7;
}

/******************************************************************
layout - footer-copy
******************************************************************/
.l-footer-copy {
	color: #979eaa;
	font-size: 12px;
}
@media screen and (max-width: 767px) {
	.l-footer-copy {
		font-size: 11px;
	}
}
.l-footer-copy small {
	font-size: inherit;
}
.l-footer-copy span {
	display: inline-block;
}

/******************************************************************
component - section
******************************************************************/
.c-section {
	position: relative;
}
.c-section--offset-cut {
	padding-block: 0.1px;
}
.c-section--offset-cut.u-bg-gray + .c-section--offset-cut.u-bg-gray .c-section__vertical-l {
	margin-top: 0;
}
.c-section__heading {
	max-width: 1200px;
	margin-inline: auto;
	padding-inline: 35px;
}
@media screen and (max-width: 767px) {
	.c-section__heading {
		padding-inline: 15px;
	}
}
.c-section__heading {
	margin-block: 10px 60px;
}
@media screen and (max-width: 767px) {
	.c-section__heading {
		margin-block: 10px 30px;
	}
}
body:not(:has(.l-breadcrumb)) .c-section__heading {
	margin-top: 60px;
}
@media screen and (max-width: 767px) {
	body:not(:has(.l-breadcrumb)) .c-section__heading {
		margin-top: 30px;
	}
}

.c-section__products-head {
	max-width: 1200px;
	margin-inline: auto;
	padding-inline: 35px;
}
@media screen and (max-width: 767px) {
	.c-section__products-head {
		padding-inline: 15px;
	}
}
.c-section__products-head {
	margin-block: 10px 100px;
}
.c-section__products-head > *:not(:last-child) {
	margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
	.c-section__products-head {
		margin-block: 10px 50px;
	}
	.c-section__products-head > *:not(:last-child) {
		margin-bottom: 20px;
	}
}
.c-section__products-inline {
	margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
	.c-section__products-inline {
		margin-bottom: 30px;
	}
}
.c-section__fit {
	max-width: 1200px;
	margin-inline: auto;
	padding-inline: 35px;
}
@media screen and (max-width: 767px) {
	.c-section__fit {
		padding-inline: 15px;
	}
}
.c-section__vertical {
	max-width: 1200px;
	margin-inline: auto;
	padding-inline: 35px;
}
@media screen and (max-width: 767px) {
	.c-section__vertical {
		padding-inline: 15px;
	}
}
.c-section__vertical {
	margin-block: 60px;
}
@media screen and (max-width: 767px) {
	.c-section__vertical {
		margin-block: 30px;
	}
}
.c-section__vertical-m {
	max-width: 1200px;
	margin-inline: auto;
	padding-inline: 35px;
}
@media screen and (max-width: 767px) {
	.c-section__vertical-m {
		padding-inline: 15px;
	}
}
.c-section__vertical-m {
	margin-block: 80px;
}
@media screen and (max-width: 767px) {
	.c-section__vertical-m {
		margin-block: 40px;
	}
}
.c-section__vertical-l {
	max-width: 1200px;
	margin-inline: auto;
	padding-inline: 35px;
}
@media screen and (max-width: 767px) {
	.c-section__vertical-l {
		padding-inline: 15px;
	}
}
.c-section__vertical-l {
	margin-block: 100px;
}
@media screen and (max-width: 767px) {
	.c-section__vertical-l {
		margin-block: 50px;
	}
}
.c-section__top {
	max-width: 1200px;
	margin-inline: auto;
	padding-inline: 35px;
}
@media screen and (max-width: 767px) {
	.c-section__top {
		padding-inline: 15px;
	}
}
.c-section__top {
	margin-top: 60px;
}
@media screen and (max-width: 767px) {
	.c-section__top {
		margin-top: 30px;
	}
}
.c-section__top-m {
	max-width: 1200px;
	margin-inline: auto;
	padding-inline: 35px;
}
@media screen and (max-width: 767px) {
	.c-section__top-m {
		padding-inline: 15px;
	}
}
.c-section__top-m {
	margin-top: 80px;
}
@media screen and (max-width: 767px) {
	.c-section__top-m {
		margin-top: 40px;
	}
}
.c-section__top-l {
	max-width: 1200px;
	margin-inline: auto;
	padding-inline: 35px;
}
@media screen and (max-width: 767px) {
	.c-section__top-l {
		padding-inline: 15px;
	}
}
.c-section__top-l {
	margin-top: 100px;
}
@media screen and (max-width: 767px) {
	.c-section__top-l {
		margin-top: 50px;
	}
}
.c-section__bottom {
	max-width: 1200px;
	margin-inline: auto;
	padding-inline: 35px;
}
@media screen and (max-width: 767px) {
	.c-section__bottom {
		padding-inline: 15px;
	}
}
.c-section__bottom {
	margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
	.c-section__bottom {
		margin-bottom: 30px;
	}
}
.c-section__bottom-m {
	max-width: 1200px;
	margin-inline: auto;
	padding-inline: 35px;
}
@media screen and (max-width: 767px) {
	.c-section__bottom-m {
		padding-inline: 15px;
	}
}
.c-section__bottom-m {
	margin-bottom: 80px;
}
@media screen and (max-width: 767px) {
	.c-section__bottom-m {
		margin-bottom: 40px;
	}
}
.c-section__bottom-l {
	max-width: 1200px;
	margin-inline: auto;
	padding-inline: 35px;
}
@media screen and (max-width: 767px) {
	.c-section__bottom-l {
		padding-inline: 15px;
	}
}
.c-section__bottom-l {
	margin-bottom: 100px;
}
@media screen and (max-width: 767px) {
	.c-section__bottom-l {
		margin-bottom: 50px;
	}
}
.c-section__frame-bg {
	background-color: #fff;
	padding: 40px;
}
@media screen and (max-width: 1270px) {
	.c-section__frame-bg {
		padding: 3.1496062992vw;
	}
}
@media screen and (max-width: 767px) {
	.c-section__frame-bg {
		padding: 30px 20px;
	}
}
.c-section__frame-bg-m {
	background-color: #fff;
	padding: 50px;
}
@media screen and (max-width: 1270px) {
	.c-section__frame-bg-m {
		padding: 3.937007874vw;
	}
}
@media screen and (max-width: 767px) {
	.c-section__frame-bg-m {
		padding: 30px 20px;
	}
}
.c-section__frame-bg-l {
	background-color: #fff;
	padding: 60px;
}
@media screen and (max-width: 1270px) {
	.c-section__frame-bg-l {
		padding: 4.7244094488vw;
	}
}
@media screen and (max-width: 767px) {
	.c-section__frame-bg-l {
		padding: 30px 20px;
	}
}

/******************************************************************
component - section-inline
******************************************************************/
.c-section-inline {
	background-color: #dfe3e8;
}
.c-section-inline__inner {
	max-width: 1200px;
	margin-inline: auto;
	padding-inline: 35px;
}
@media screen and (max-width: 767px) {
	.c-section-inline__inner {
		padding-inline: 15px;
	}
}
.c-section-inline__inner {
	padding-block: 40px;
}
@media screen and (max-width: 767px) {
	.c-section-inline__inner {
		padding-block: 20px;
	}
}

/******************************************************************
component - c-flexbox
******************************************************************/
.c-flexbox {
	display: flex;
	flex-wrap: wrap;
}
.c-flexbox > [class*=c-flexbox__item], .c-flexbox > .c-flexbox__item5col {
	position: relative;
	box-sizing: border-box;
}
.c-flexbox > [class*=c-flexbox__item]:has(> .c-button:first-child):has(> .c-button:last-child), .c-flexbox > .c-flexbox__item5col:has(> .c-button:first-child):has(> .c-button:last-child) {
	display: flex;
}
.c-flexbox > [class*=c-flexbox__item]:has(> .c-button-visual:first-child):has(> .c-button-visual:last-child), .c-flexbox > .c-flexbox__item5col:has(> .c-button-visual:first-child):has(> .c-button-visual:last-child) {
	display: flex;
}
.c-flexbox > [class*=c-flexbox__item]:has(> .c-frame-bg:first-child):has(> .c-frame-bg:last-child), .c-flexbox > [class*=c-flexbox__item]:has(> .c-frame-border:first-child):has(> .c-frame-border:last-child), .c-flexbox > .c-flexbox__item5col:has(> .c-frame-bg:first-child):has(> .c-frame-bg:last-child), .c-flexbox > .c-flexbox__item5col:has(> .c-frame-border:first-child):has(> .c-frame-border:last-child) {
	display: flex;
}
.c-flexbox > [class*=c-flexbox__item]:has(.c-card-grid-ad), .c-flexbox > .c-flexbox__item5col:has(.c-card-grid-ad) {
	display: flex;
}
.c-flexbox > [class*=c-flexbox__item]:has(.p-course-plan), .c-flexbox > .c-flexbox__item5col:has(.p-course-plan) {
	display: flex;
}
.c-flexbox > [class*=c-flexbox__item]:has(.p-contact-list), .c-flexbox > .c-flexbox__item5col:has(.p-contact-list) {
	display: flex;
}
.c-flexbox > [class*=c-flexbox__item]:has(.p-bookstore-list), .c-flexbox > .c-flexbox__item5col:has(.p-bookstore-list) {
	display: flex;
}
.c-flexbox--center {
	justify-content: center;
}
.c-flexbox--right {
	justify-content: flex-end;
}
.c-flexbox--bottom {
	align-items: flex-end;
}
.c-flexbox--vertical > [class*=c-flexbox__item], .c-flexbox--vertical > .c-flexbox__item5col {
	display: flex;
	align-items: center;
}
.c-flexbox {
	--flexbox-gap-y: 1rem;
	--flexbox-gap-x: 1rem;
	margin-right: calc(var(--flexbox-gap-x) * -1);
}
.c-flexbox--center {
	margin-right: calc(var(--flexbox-gap-x) * -0.5);
	margin-left: calc(var(--flexbox-gap-x) * -0.5);
}
.c-flexbox--right {
	margin-right: initial;
	margin-left: calc(var(--flexbox-gap-x) * -1);
}
.c-flexbox {
	gap: var(--flexbox-gap-y) var(--flexbox-gap-x);
}
.c-flexbox > .c-flexbox__item1 {
	width: calc(8.3333333333% - var(--flexbox-gap-x));
}
.c-flexbox > .c-flexbox__item2 {
	width: calc(16.6666666667% - var(--flexbox-gap-x));
}
.c-flexbox > .c-flexbox__item3 {
	width: calc(25% - var(--flexbox-gap-x));
}
.c-flexbox > .c-flexbox__item4 {
	width: calc(33.3333333333% - var(--flexbox-gap-x));
}
.c-flexbox > .c-flexbox__item5 {
	width: calc(41.6666666667% - var(--flexbox-gap-x));
}
.c-flexbox > .c-flexbox__item6 {
	width: calc(50% - var(--flexbox-gap-x));
}
.c-flexbox > .c-flexbox__item7 {
	width: calc(58.3333333333% - var(--flexbox-gap-x));
}
.c-flexbox > .c-flexbox__item8 {
	width: calc(66.6666666667% - var(--flexbox-gap-x));
}
.c-flexbox > .c-flexbox__item9 {
	width: calc(75% - var(--flexbox-gap-x));
}
.c-flexbox > .c-flexbox__item10 {
	width: calc(83.3333333333% - var(--flexbox-gap-x));
}
.c-flexbox > .c-flexbox__item11 {
	width: calc(91.6666666667% - var(--flexbox-gap-x));
}
.c-flexbox > .c-flexbox__item12 {
	width: calc(100% - var(--flexbox-gap-x));
}
.c-flexbox > .c-flexbox__item5col {
	width: calc(20% - var(--flexbox-gap-x));
}
@media screen and (max-width: 1270px) {
	.c-flexbox.pc-vw {
		--flexbox-gap-y: 1.2598425197vw;
		--flexbox-gap-x: 1.2598425197vw;
	}
}
.c-flexbox--m {
	--flexbox-gap-y: 1rem;
	--flexbox-gap-x: 1rem;
}

.c-flexbox--2x {
	--flexbox-gap-y: 2rem;
	--flexbox-gap-x: 2rem;
}

@media screen and (max-width: 1270px) {
	.c-flexbox--2x.pc-vw {
		--flexbox-gap-y: 2.5196850394vw;
		--flexbox-gap-x: 2.5196850394vw;
	}
}
.c-flexbox--20px {
	--flexbox-gap-y: 20px;
	--flexbox-gap-x: 20px;
}

@media screen and (max-width: 1270px) {
	.c-flexbox--20px.pc-vw {
		--flexbox-gap-y: 1.5748031496vw;
		--flexbox-gap-x: 1.5748031496vw;
	}
}
.c-flexbox--15-30px {
	--flexbox-gap-y: 30px;
	--flexbox-gap-x: 15px;
}

@media screen and (max-width: 1270px) {
	.c-flexbox--15-30px.pc-vw {
		--flexbox-gap-y: 2.3622047244vw;
		--flexbox-gap-x: 1.1811023622vw;
	}
}
.c-flexbox--15-20px {
	--flexbox-gap-y: 20px;
	--flexbox-gap-x: 15px;
}

@media screen and (max-width: 1270px) {
	.c-flexbox--15-20px.pc-vw {
		--flexbox-gap-y: 1.5748031496vw;
		--flexbox-gap-x: 1.1811023622vw;
	}
}
.c-flexbox--26-40px {
	--flexbox-gap-y: 40px;
	--flexbox-gap-x: 26px;
}

@media screen and (max-width: 1270px) {
	.c-flexbox--26-40px.pc-vw {
		--flexbox-gap-y: 3.1496062992vw;
		--flexbox-gap-x: 2.0472440945vw;
	}
}
.c-flexbox--30px {
	--flexbox-gap-y: 30px;
	--flexbox-gap-x: 30px;
}

@media screen and (max-width: 1270px) {
	.c-flexbox--30px.pc-vw {
		--flexbox-gap-y: 2.3622047244vw;
		--flexbox-gap-x: 2.3622047244vw;
	}
}
.c-flexbox--40px {
	--flexbox-gap-y: 40px;
	--flexbox-gap-x: 40px;
}

@media screen and (max-width: 1270px) {
	.c-flexbox--40px.pc-vw {
		--flexbox-gap-y: 3.1496062992vw;
		--flexbox-gap-x: 3.1496062992vw;
	}
}
.c-flexbox--15px {
	--flexbox-gap-y: 15px;
	--flexbox-gap-x: 15px;
}

@media screen and (max-width: 1270px) {
	.c-flexbox--15px.pc-vw {
		--flexbox-gap-y: 1.1811023622vw;
		--flexbox-gap-x: 1.1811023622vw;
	}
}
.c-flexbox--26px {
	--flexbox-gap-y: 26px;
	--flexbox-gap-x: 26px;
}

@media screen and (max-width: 1270px) {
	.c-flexbox--26px.pc-vw {
		--flexbox-gap-y: 2.0472440945vw;
		--flexbox-gap-x: 2.0472440945vw;
	}
}
@media screen and (max-width: 1024px) {
	.c-flexbox.portrait-destroy {
		display: initial;
		flex-wrap: initial;
		margin-right: initial;
		margin-left: initial;
		gap: initial;
	}
	.c-flexbox.portrait-destroy > * {
		position: initial;
		box-sizing: initial;
		width: initial;
	}
	.c-flexbox > .portrait-item1 {
		width: calc(8.3333333333% - var(--flexbox-gap-x));
	}
	.c-flexbox > .portrait-item2 {
		width: calc(16.6666666667% - var(--flexbox-gap-x));
	}
	.c-flexbox > .portrait-item3 {
		width: calc(25% - var(--flexbox-gap-x));
	}
	.c-flexbox > .portrait-item4 {
		width: calc(33.3333333333% - var(--flexbox-gap-x));
	}
	.c-flexbox > .portrait-item5 {
		width: calc(41.6666666667% - var(--flexbox-gap-x));
	}
	.c-flexbox > .portrait-item6 {
		width: calc(50% - var(--flexbox-gap-x));
	}
	.c-flexbox > .portrait-item7 {
		width: calc(58.3333333333% - var(--flexbox-gap-x));
	}
	.c-flexbox > .portrait-item8 {
		width: calc(66.6666666667% - var(--flexbox-gap-x));
	}
	.c-flexbox > .portrait-item9 {
		width: calc(75% - var(--flexbox-gap-x));
	}
	.c-flexbox > .portrait-item10 {
		width: calc(83.3333333333% - var(--flexbox-gap-x));
	}
	.c-flexbox > .portrait-item11 {
		width: calc(91.6666666667% - var(--flexbox-gap-x));
	}
	.c-flexbox > .portrait-item12 {
		width: calc(100% - var(--flexbox-gap-x));
	}
	.c-flexbox > .portrait-item5col {
		width: calc(20% - var(--flexbox-gap-x));
	}
	.c-flexbox--m {
		--flexbox-gap-y: 1rem;
		--flexbox-gap-x: 1rem;
	}
	.c-flexbox.portrait-m {
		--flexbox-gap-y: 1rem;
		--flexbox-gap-x: 1rem;
	}
	.c-flexbox--2x {
		--flexbox-gap-y: 2rem;
		--flexbox-gap-x: 2rem;
	}
	.c-flexbox.portrait-2x {
		--flexbox-gap-y: 2rem;
		--flexbox-gap-x: 2rem;
	}
	.c-flexbox--20px {
		--flexbox-gap-y: 20px;
		--flexbox-gap-x: 20px;
	}
	.c-flexbox.portrait-20px {
		--flexbox-gap-y: 20px;
		--flexbox-gap-x: 20px;
	}
	.c-flexbox--15-30px {
		--flexbox-gap-y: 30px;
		--flexbox-gap-x: 15px;
	}
	.c-flexbox.portrait-15-30px {
		--flexbox-gap-y: 30px;
		--flexbox-gap-x: 15px;
	}
	.c-flexbox--15-20px {
		--flexbox-gap-y: 20px;
		--flexbox-gap-x: 15px;
	}
	.c-flexbox.portrait-15-20px {
		--flexbox-gap-y: 20px;
		--flexbox-gap-x: 15px;
	}
	.c-flexbox--26-40px {
		--flexbox-gap-y: 40px;
		--flexbox-gap-x: 26px;
	}
	.c-flexbox.portrait-26-40px {
		--flexbox-gap-y: 40px;
		--flexbox-gap-x: 26px;
	}
	.c-flexbox--30px {
		--flexbox-gap-y: 30px;
		--flexbox-gap-x: 30px;
	}
	.c-flexbox.portrait-30px {
		--flexbox-gap-y: 30px;
		--flexbox-gap-x: 30px;
	}
	.c-flexbox--40px {
		--flexbox-gap-y: 40px;
		--flexbox-gap-x: 40px;
	}
	.c-flexbox.portrait-40px {
		--flexbox-gap-y: 40px;
		--flexbox-gap-x: 40px;
	}
	.c-flexbox--15px {
		--flexbox-gap-y: 15px;
		--flexbox-gap-x: 15px;
	}
	.c-flexbox.portrait-15px {
		--flexbox-gap-y: 15px;
		--flexbox-gap-x: 15px;
	}
	.c-flexbox--26px {
		--flexbox-gap-y: 26px;
		--flexbox-gap-x: 26px;
	}
	.c-flexbox.portrait-26px {
		--flexbox-gap-y: 26px;
		--flexbox-gap-x: 26px;
	}
}
@media screen and (max-width: 767px) {
	.c-flexbox.sp-destroy {
		display: initial;
		flex-wrap: initial;
		margin-right: initial;
		margin-left: initial;
		gap: initial;
	}
	.c-flexbox.sp-destroy > * {
		position: initial;
		box-sizing: initial;
		width: initial;
	}
	.c-flexbox {
		--flexbox-gap-y: 0.9rem;
		--flexbox-gap-x: 0.9rem;
	}
	.c-flexbox > .sp-item1 {
		width: calc(8.3333333333% - var(--flexbox-gap-x));
	}
	.c-flexbox > .sp-item2 {
		width: calc(16.6666666667% - var(--flexbox-gap-x));
	}
	.c-flexbox > .sp-item3 {
		width: calc(25% - var(--flexbox-gap-x));
	}
	.c-flexbox > .sp-item4 {
		width: calc(33.3333333333% - var(--flexbox-gap-x));
	}
	.c-flexbox > .sp-item5 {
		width: calc(41.6666666667% - var(--flexbox-gap-x));
	}
	.c-flexbox > .sp-item6 {
		width: calc(50% - var(--flexbox-gap-x));
	}
	.c-flexbox > .sp-item7 {
		width: calc(58.3333333333% - var(--flexbox-gap-x));
	}
	.c-flexbox > .sp-item8 {
		width: calc(66.6666666667% - var(--flexbox-gap-x));
	}
	.c-flexbox > .sp-item9 {
		width: calc(75% - var(--flexbox-gap-x));
	}
	.c-flexbox > .sp-item10 {
		width: calc(83.3333333333% - var(--flexbox-gap-x));
	}
	.c-flexbox > .sp-item11 {
		width: calc(91.6666666667% - var(--flexbox-gap-x));
	}
	.c-flexbox > .sp-item12 {
		width: calc(100% - var(--flexbox-gap-x));
	}
	.c-flexbox > .sp-item5col {
		width: calc(20% - var(--flexbox-gap-x));
	}
	.c-flexbox--m {
		--flexbox-gap-y: 0.9rem;
		--flexbox-gap-x: 0.9rem;
	}
	.c-flexbox.sp-m {
		--flexbox-gap-y: 0.9rem;
		--flexbox-gap-x: 0.9rem;
	}
	.c-flexbox--2x {
		--flexbox-gap-y: 1.8rem;
		--flexbox-gap-x: 1.8rem;
	}
	.c-flexbox.sp-2x {
		--flexbox-gap-y: 1.8rem;
		--flexbox-gap-x: 1.8rem;
	}
	.c-flexbox--20px {
		--flexbox-gap-y: 20px;
		--flexbox-gap-x: 20px;
	}
	.c-flexbox.sp-20px {
		--flexbox-gap-y: 20px;
		--flexbox-gap-x: 20px;
	}
	.c-flexbox--15-30px {
		--flexbox-gap-y: 30px;
		--flexbox-gap-x: 15px;
	}
	.c-flexbox.sp-15-30px {
		--flexbox-gap-y: 30px;
		--flexbox-gap-x: 15px;
	}
	.c-flexbox--15-20px {
		--flexbox-gap-y: 20px;
		--flexbox-gap-x: 15px;
	}
	.c-flexbox.sp-15-20px {
		--flexbox-gap-y: 20px;
		--flexbox-gap-x: 15px;
	}
	.c-flexbox--26-40px {
		--flexbox-gap-y: 40px;
		--flexbox-gap-x: 26px;
	}
	.c-flexbox.sp-26-40px {
		--flexbox-gap-y: 40px;
		--flexbox-gap-x: 26px;
	}
	.c-flexbox--30px {
		--flexbox-gap-y: 30px;
		--flexbox-gap-x: 30px;
	}
	.c-flexbox.sp-30px {
		--flexbox-gap-y: 30px;
		--flexbox-gap-x: 30px;
	}
	.c-flexbox--40px {
		--flexbox-gap-y: 40px;
		--flexbox-gap-x: 40px;
	}
	.c-flexbox.sp-40px {
		--flexbox-gap-y: 40px;
		--flexbox-gap-x: 40px;
	}
	.c-flexbox--15px {
		--flexbox-gap-y: 15px;
		--flexbox-gap-x: 15px;
	}
	.c-flexbox.sp-15px {
		--flexbox-gap-y: 15px;
		--flexbox-gap-x: 15px;
	}
	.c-flexbox--26px {
		--flexbox-gap-y: 26px;
		--flexbox-gap-x: 26px;
	}
	.c-flexbox.sp-26px {
		--flexbox-gap-y: 26px;
		--flexbox-gap-x: 26px;
	}
}

/******************************************************************
component - accordion
******************************************************************/
.c-section__frame-bg .c-accordion details,
.c-section__frame-bg-m .c-accordion details,
.c-section__frame-bg-l .c-accordion details {
	border: 1px solid #b9bbbe;
}

.c-accordion__button {
	display: block;
	width: fit-content;
	margin-left: auto;
	padding-right: 26px;
	position: relative;
}
.c-accordion__button::before, .c-accordion__button::after {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	transition-property: all;
	transition-duration: 0.3s;
	transition-timing-function: cubic-bezier(0.3, 2, 0.6, 1);
}
.c-accordion__button::before {
	background-color: #333333;
	width: 13px;
	height: 1px;
	top: 0;
	bottom: 0;
	right: 0;
}
.c-accordion__button::after {
	background-color: #333333;
	width: 1px;
	height: 13px;
	top: 0;
	bottom: 0;
	right: 6px;
}
.c-accordion__button[aria-expanded=true]:after {
	height: 0;
}
.c-accordion__button {
	font-weight: 500;
	color: #0055b4;
}
.c-accordion details {
	background-color: #fff;
}
.c-accordion summary {
	cursor: pointer;
	user-select: none;
	font-weight: bold;
}
.c-accordion summary::marker {
	content: none;
}
.c-accordion summary::-webkit-details-marker {
	display: none;
}
.c-accordion summary {
	list-style-type: none;
}
.c-accordion__body {
	line-height: 1.8;
}
.c-accordion:not(.c-accordion--arrow) details[open] summary::after {
	height: 0;
}
.c-accordion:not(.c-accordion--arrow) summary {
	line-height: 1.8;
}
.c-accordion .c-accordion__q {
	position: relative;
	display: block;
	padding-left: 2.5rem;
}
@media screen and (max-width: 767px) {
	.c-accordion .c-accordion__q {
		padding-left: 2rem;
	}
}
.c-accordion .c-accordion__q::before {
	position: absolute;
	left: 0;
	font-weight: bold;
	font-family: Arial, Helvetica, sans-serif;
	color: #7c7e83;
	line-height: 1;
	font-size: 30px;
}
@media screen and (max-width: 767px) {
	.c-accordion .c-accordion__q::before {
		font-size: 25px;
	}
}
.c-accordion .c-accordion__q::before {
	content: "Q";
	transition-property: color;
	transition-duration: 0.4s;
}
.c-accordion--school-detail > *:not(:last-child) {
	margin-bottom: 2rem;
}
@media screen and (max-width: 767px) {
	.c-accordion--school-detail > *:not(:last-child) {
		margin-bottom: 1rem;
	}
}
.c-accordion--school-detail summary {
	padding: 1.75em calc(1em + 40px + 16px) 1.75em 36px;
	position: relative;
}
.c-accordion--school-detail summary::before, .c-accordion--school-detail summary::after {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	transition-property: all;
	transition-duration: 0.3s;
	transition-timing-function: cubic-bezier(0.3, 2, 0.6, 1);
}
.c-accordion--school-detail summary::before {
	background-color: #333333;
	width: 22px;
	height: 2px;
	top: 0;
	bottom: 0;
	right: 40px;
}
.c-accordion--school-detail summary::after {
	background-color: #333333;
	width: 2px;
	height: 22px;
	top: 0;
	bottom: 0;
	right: 50px;
}
@media screen and (max-width: 767px) {
	.c-accordion--school-detail summary {
		padding: 0.75em calc(1em + 20px + 16px) 0.75em 14px;
		position: relative;
	}
	.c-accordion--school-detail summary::before, .c-accordion--school-detail summary::after {
		position: absolute;
		content: "";
		margin: auto;
		box-sizing: border-box;
		vertical-align: middle;
		transition-property: all;
		transition-duration: 0.3s;
		transition-timing-function: cubic-bezier(0.3, 2, 0.6, 1);
	}
	.c-accordion--school-detail summary::before {
		background-color: #333333;
		width: 16px;
		height: 2px;
		top: 0;
		bottom: 0;
		right: 20px;
	}
	.c-accordion--school-detail summary::after {
		background-color: #333333;
		width: 2px;
		height: 16px;
		top: 0;
		bottom: 0;
		right: 27px;
	}
}
.c-accordion--school-detail summary {
	transition-property: color;
	transition-duration: 0.4s;
}
@media (any-hover: hover) {
	.c-accordion--school-detail summary:hover {
		color: #0055b4;
	}
	.c-accordion--school-detail summary:hover .c-accordion__q:before {
		color: #0055b4;
	}
}
.c-accordion--school-detail .c-accordion__body-inner {
	position: relative;
	padding: 40px;
}
@media screen and (max-width: 767px) {
	.c-accordion--school-detail .c-accordion__body-inner {
		padding: 30px 20px;
	}
}
.c-accordion--school-detail .c-accordion__body-inner::before {
	border-top: 1px solid #b9bbbe;
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	top: 0;
	left: 40px;
	width: calc(100% - 80px);
}
@media screen and (max-width: 767px) {
	.c-accordion--school-detail .c-accordion__body-inner::before {
		left: 20px;
		width: calc(100% - 40px);
	}
}
.c-accordion--border > *:not(:last-child) {
	margin-bottom: 1.5rem;
}
@media screen and (max-width: 767px) {
	.c-accordion--border > *:not(:last-child) {
		margin-bottom: 1rem;
	}
}
.c-accordion--border details {
	border: 1px solid #b9bbbe;
}
.c-accordion--border summary {
	padding: 1em calc(2em + 16px) 1em 1em;
	position: relative;
}
.c-accordion--border summary::before, .c-accordion--border summary::after {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	transition-property: all;
	transition-duration: 0.3s;
	transition-timing-function: cubic-bezier(0.3, 2, 0.6, 1);
}
.c-accordion--border summary::before {
	background-color: #333333;
	width: 22px;
	height: 2px;
	top: 0;
	bottom: 0;
	right: 1em;
}
.c-accordion--border summary::after {
	background-color: #333333;
	width: 2px;
	height: 22px;
	top: 0;
	bottom: 0;
	right: calc(10px + 1em);
}
@media screen and (max-width: 767px) {
	.c-accordion--border summary {
		position: relative;
	}
	.c-accordion--border summary::before, .c-accordion--border summary::after {
		position: absolute;
		content: "";
		margin: auto;
		box-sizing: border-box;
		vertical-align: middle;
		transition-property: all;
		transition-duration: 0.3s;
		transition-timing-function: cubic-bezier(0.3, 2, 0.6, 1);
	}
	.c-accordion--border summary::before {
		background-color: #333333;
		width: 16px;
		height: 2px;
		top: 0;
		bottom: 0;
		right: 1em;
	}
	.c-accordion--border summary::after {
		background-color: #333333;
		width: 2px;
		height: 16px;
		top: 0;
		bottom: 0;
		right: calc(7px + 1em);
	}
}
.c-accordion--border summary {
	transition-property: color;
	transition-duration: 0.4s;
}
.c-accordion--border summary:hover {
	color: #0055b4;
}
.c-accordion--border summary:hover .c-accordion__q:before {
	color: #0055b4;
}
.c-accordion--border .c-accordion__body-inner {
	border-top: 1px solid #b9bbbe;
	padding: 2rem;
}
@media screen and (max-width: 767px) {
	.c-accordion--border .c-accordion__body-inner {
		padding: 0.9rem;
	}
}
.c-accordion--school > *:not(:last-child) {
	margin-bottom: 2rem;
}
@media screen and (max-width: 767px) {
	.c-accordion--school > *:not(:last-child) {
		margin-bottom: 1.5rem;
	}
}
.c-accordion--school details {
	background: none;
}
.c-accordion--school summary {
	border: 1px solid #73777d;
	background-color: #fff;
	padding: 0.75em calc(1em + 20px + 16px) 0.75em 14px;
	position: relative;
}
.c-accordion--school summary::before, .c-accordion--school summary::after {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	transition-property: all;
	transition-duration: 0.3s;
	transition-timing-function: cubic-bezier(0.3, 2, 0.6, 1);
}
.c-accordion--school summary::before {
	background-color: #333333;
	width: 16px;
	height: 2px;
	top: 0;
	bottom: 0;
	right: 20px;
}
.c-accordion--school summary::after {
	background-color: #333333;
	width: 2px;
	height: 16px;
	top: 0;
	bottom: 0;
	right: 27px;
}
.c-accordion--school .c-accordion__body-inner {
	position: relative;
	padding: 2rem 0 0 0;
}
@media screen and (max-width: 767px) {
	.c-accordion--school .c-accordion__body-inner {
		padding: 0.9rem 0 0 0;
	}
}

/******************************************************************
component - accordion--sp
******************************************************************/
@media print, screen and (min-width: 768px) {
	.c-accordion--sp {
		visibility: hidden;
	}
	.c-accordion--sp.is-replace {
		visibility: initial;
	}
	.c-accordion--sp > *:not(:last-child) {
		margin-bottom: 2rem;
	}
	.c-accordion--sp .c-accordion__head {
		background-color: #50555d;
		color: #fff;
		padding: 0.6em 0.9em;
		font-weight: bold;
		font-size: 18px;
	}
}
@media screen and (min-width: 768px) and (max-width: 767px) {
	.c-accordion--sp .c-accordion__head {
		font-size: 16px;
	}
}
/******************************************************************
component - tab
******************************************************************/
.c-tab__menu {
	display: flex;
}
.c-tab__list {
	display: flex;
}
.c-tab a.c-tab__item {
	color: inherit;
	text-decoration: none;
}
@media (any-hover: hover) {
	.c-tab a.c-tab__item:hover {
		text-decoration: none;
	}
}
.c-tab a.c-tab__item:focus {
	text-decoration: none;
}
.c-tab__item {
	box-sizing: border-box;
	position: relative;
	display: block;
	cursor: pointer;
	width: 100%;
	text-align: center;
}
/******************************************************************
component - tab--book-top
******************************************************************/
.c-tab--book-top .c-tab__menu {
	justify-content: center;
	align-items: flex-end;
}
.c-tab--book-top .c-tab__menu {
	background-color: #eff2f5;
	border-bottom: 1px solid #212836;
}
@media screen and (max-width: 767px) {
	.c-tab--book-top .c-tab__menu {
		padding-top: 30px;
		overflow: hidden;
		position: relative;
		z-index: 1;
	}
	.c-tab--book-top .c-tab__menu::after {
		overflow: hidden;
		z-index: -1;
		position: absolute;
		content: "";
		margin: auto;
		box-sizing: border-box;
		vertical-align: middle;
		right: 0;
		bottom: 0;
		width: 100%;
		height: 23vw;
		text-indent: -0.08em;
		font-family: "Unna", serif;
		line-height: 1;
		font-weight: 400;
		color: #e2e6ea;
		content: "Book";
		letter-spacing: -0.02em;
		white-space: nowrap;
		font-size: 30vw;
	}
}
.c-tab--book-top .c-tab__item {
	position: relative;
	box-sizing: border-box;
	font-weight: 600;
	border-bottom: 3px solid transparent;
	line-height: 1.2;
	font-size: 18px;
	min-width: 160px;
	padding: 0 0.25em 1.25em 0.25em;
}
@media screen and (max-width: 767px) {
	.c-tab--book-top .c-tab__item {
		min-width: calc((100vw - 15px - 15px) / 3);
		font-size: 15px;
		padding-bottom: 0.75em;
	}
}
.c-tab--book-top .c-tab__item {
	transition-property: border color;
	transition-duration: 0.4s;
}
.c-tab--book-top .c-tab__item[aria-current=page], .c-tab--book-top .c-tab__item[aria-selected=true] {
	border-color: #212836;
}
@media (any-hover: hover) {
	.c-tab--book-top .c-tab__item:not([aria-current=page]):not([aria-selected=true]):hover {
		color: #0055b4;
	}
}
.c-tab--book-top .c-tab__item:not([aria-current=page]):not([aria-selected=true]):focus {
	color: #0055b4;
}
.c-tab--book-top .c-tab__wrapper {
	max-width: 1200px;
	margin-inline: auto;
	padding-inline: 35px;
}
@media screen and (max-width: 767px) {
	.c-tab--book-top .c-tab__wrapper {
		padding-inline: 15px;
	}
}
.c-tab--book-top .c-tab__wrapper {
	padding-top: 50px;
}
@media screen and (max-width: 767px) {
	.c-tab--book-top .c-tab__wrapper {
		padding-top: 20px;
	}
}
.c-tab--book-top .c-tab__panel {
	will-change: opacity;
}

/******************************************************************
component - tab--news-top
******************************************************************/
@media print, screen and (min-width: 1025px) {
	.c-tab--news-top .c-tab__pulldown {
		display: none;
	}
}
@media screen and (max-width: 1024px) {
	.c-tab--news-top .c-tab__menu {
		display: none;
	}
}
.c-tab--news-top .c-tab__menu {
	border-bottom: 1px solid #c8cfd4;
}
.c-tab--news-top .c-tab__item {
	position: relative;
	font-weight: 500;
	border-bottom: 2px solid transparent;
	transition-property: border color;
	transition-duration: 0.4s;
	font-size: 15px;
	padding: 0 28px 1.25em 28px;
}
@media screen and (max-width: 1270px) {
	.c-tab--news-top .c-tab__item {
		padding: 0 2.2047244094vw 1.25em 2.2047244094vw;
	}
}
.c-tab--news-top .c-tab__item[aria-current=page], .c-tab--news-top .c-tab__item[aria-selected=true] {
	border-color: #212836;
}
@media (any-hover: hover) {
	.c-tab--news-top .c-tab__item:not([aria-current=page]):not([aria-selected=true]):hover {
		color: #0055b4;
	}
}
.c-tab--news-top .c-tab__item:not([aria-current=page]):not([aria-selected=true]):focus {
	color: #0055b4;
}
.c-tab--news-top .c-tab__wrapper {
	background-color: #fff;
	padding: 20px 40px 40px 40px;
}
@media screen and (max-width: 1270px) {
	.c-tab--news-top .c-tab__wrapper {
		padding: 3.1496062992vw;
		padding-top: 1.5748031496vw;
	}
}
@media screen and (max-width: 767px) {
	.c-tab--news-top .c-tab__wrapper {
		padding: 10px 20px 30px 20px;
	}
}
.c-tab--news-top .c-tab__none {
	text-align: center;
	margin-block: 40px 20px;
}
@media screen and (max-width: 767px) {
	.c-tab--news-top .c-tab__none {
		margin-block: 20px 10px;
	}
}

/******************************************************************
component - tab--news
******************************************************************/
@media print, screen and (min-width: 1025px) {
	.c-tab--news .c-tab__pulldown {
		display: none;
	}
}
@media screen and (max-width: 1024px) {
	.c-tab--news .c-tab__menu {
		display: none;
	}
}
.c-tab--news .c-tab__menu {
	border-bottom: 1px solid #212836;
}
.c-tab--news .c-tab__item {
	position: relative;
	font-weight: 500;
	border-bottom: 2px solid transparent;
	transition-property: border color;
	transition-duration: 0.4s;
	padding: 1.25em 32px;
}
@media screen and (max-width: 1270px) {
	.c-tab--news .c-tab__item {
		padding: 1.25em 2.5196850394vw;
	}
}
.c-tab--news .c-tab__item[aria-current=page], .c-tab--news .c-tab__item[aria-selected=true] {
	border-color: #212836;
}
@media (any-hover: hover) {
	.c-tab--news .c-tab__item:not([aria-current=page]):not([aria-selected=true]):hover {
		color: #0055b4;
	}
}
.c-tab--news .c-tab__item:not([aria-current=page]):not([aria-selected=true]):focus {
	color: #0055b4;
}
.c-tab--news .c-tab__wrapper {
	background-color: #fff;
	padding: 40px;
}
@media screen and (max-width: 1270px) {
	.c-tab--news .c-tab__wrapper {
		padding: 3.1496062992vw;
	}
}
@media screen and (max-width: 767px) {
	.c-tab--news .c-tab__wrapper {
		padding: 20px 20px 30px 20px;
	}
}
.c-tab--news .c-tab__none {
	text-align: center;
	margin-block: 40px 20px;
}
@media screen and (max-width: 767px) {
	.c-tab--news .c-tab__none {
		margin-block: 20px 10px;
	}
}

/******************************************************************
component - more-read-gradient
******************************************************************/
.c-section__frame-bg .c-more-read-gradient__outer:not(.js-init)::before,
.c-section__frame-bg-m .c-more-read-gradient__outer:not(.js-init)::before,
.c-section__frame-bg-l .c-more-read-gradient__outer:not(.js-init)::before,
.c-section__products-head .c-more-read-gradient__outer:not(.js-init)::before {
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 10%, #fff 100%) !important;
}

.c-more-read-gradient.js-init .c-more-read-gradient__button {
	display: none;
}
.c-more-read-gradient:not(.js-init) .c-more-read-gradient__outer {
	height: 150px;
	--duration: 300ms;
	--height: auto;
	transition-property: height;
	transition-duration: var(--duration);
	position: relative;
	overflow: hidden;
}
.c-more-read-gradient:not(.js-init) .c-more-read-gradient__outer::before {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	transition-property: opacity;
	transition-duration: var(--duration);
	opacity: 0;
	background: linear-gradient(to bottom, rgba(239, 242, 245, 0) 10%, #eff2f5 100%);
}
.c-more-read-gradient:not(.js-init) .c-more-read-gradient__outer[aria-hidden=true] {
	user-select: none;
}
.c-more-read-gradient:not(.js-init) .c-more-read-gradient__outer[aria-hidden=true]::before {
	opacity: 1;
}
.c-more-read-gradient:not(.js-init) .c-more-read-gradient__outer[aria-hidden=false] {
	height: var(--height);
}
.c-more-read-gradient:not(.js-init) .c-more-read-gradient__outer[aria-hidden=false]::before {
	pointer-events: none;
}
.c-more-read-gradient:not(.js-init) .c-more-read-gradient__body-inner {
	padding-bottom: 1em;
}
.c-more-read-gradient:not(.js-init) .c-more-read-gradient__button {
	margin-top: 1em;
	margin-inline: auto;
	color: inherit;
	text-decoration: none;
}
@media (any-hover: hover) {
	.c-more-read-gradient:not(.js-init) .c-more-read-gradient__button:hover {
		text-decoration: none;
	}
}
.c-more-read-gradient:not(.js-init) .c-more-read-gradient__button:focus {
	text-decoration: none;
}
.c-more-read-gradient:not(.js-init) .c-more-read-gradient__button {
	position: relative;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	cursor: pointer;
	min-width: min(18em, 100%);
	padding: 0.5em 2em;
	min-height: 3.5em;
	border: 1px solid #212836;
	background-color: #fff;
	color: #1d2330;
	font-weight: 500;
	font-size: 18px;
}
@media screen and (max-width: 767px) {
	.c-more-read-gradient:not(.js-init) .c-more-read-gradient__button {
		font-size: 14px;
	}
}
.c-more-read-gradient:not(.js-init) .c-more-read-gradient__button {
	transition-property: background, border;
	transition-duration: 0.4s;
}
.c-more-read-gradient:not(.js-init) .c-more-read-gradient__button::after {
	transition-property: right;
	transition-duration: 0.4s;
}
@media print, screen and (min-width: 768px) {
	.c-more-read-gradient:not(.js-init) .c-more-read-gradient__button--s {
		min-width: min(16em, 100%);
		font-size: 15px;
		padding: 0.5em 2em;
		min-height: 2.5em;
	}
}
.c-more-read-gradient:not(.js-init) .c-more-read-gradient__button[aria-expanded=false] {
	position: relative;
}
.c-more-read-gradient:not(.js-init) .c-more-read-gradient__button[aria-expanded=false]::after {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	width: 9px;
	height: 9px;
	transition-property: top, right, bottom, left, opacity;
	transition-duration: 0.2s;
}
.c-more-read-gradient:not(.js-init) .c-more-read-gradient__button[aria-expanded=false]::after {
	top: 0;
	bottom: 0;
	right: 1em;
	transform-origin: center center;
	border-top: 1px solid #212836;
	border-right: 1px solid #212836;
	transform: translateX(-1.8639610307px) translateY(-1.8639610307px) rotate(135deg);
}
.c-more-read-gradient:not(.js-init) .c-more-read-gradient__button[aria-expanded=false]:hover {
	background-color: #ebf4ff;
	color: #0055b4;
}
.c-more-read-gradient:not(.js-init) .c-more-read-gradient__button[aria-expanded=false]:hover::after {
	top: 5px;
}
.c-more-read-gradient:not(.js-init) .c-more-read-gradient__button[aria-expanded=true] {
	position: relative;
}
.c-more-read-gradient:not(.js-init) .c-more-read-gradient__button[aria-expanded=true]::after {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	width: 9px;
	height: 9px;
	transition-property: top, right, bottom, left, opacity;
	transition-duration: 0.2s;
}
.c-more-read-gradient:not(.js-init) .c-more-read-gradient__button[aria-expanded=true]::after {
	top: 0;
	bottom: 0;
	right: 1em;
	transform-origin: center center;
	border-top: 1px solid #212836;
	border-right: 1px solid #212836;
	transform: translateX(-1.8639610307px) translateY(1.8639610307px) rotate(-45deg);
}
.c-more-read-gradient:not(.js-init) .c-more-read-gradient__button[aria-expanded=true]:hover {
	background-color: #ebf4ff;
	color: #0055b4;
}
.c-more-read-gradient:not(.js-init) .c-more-read-gradient__button[aria-expanded=true]:hover::after {
	bottom: 5px;
}

/******************************************************************
component - frame-bg
******************************************************************/
[class*=c-flexbox__item] > .c-frame-bg,
.c-flexbox__item5col > .c-frame-bg {
	flex-grow: 1;
}

.c-frame-bg {
	background-color: #eff2f5;
	padding: 2rem;
}
@media screen and (max-width: 767px) {
	.c-frame-bg {
		padding: 0.9rem;
	}
}
.c-frame-bg--blue {
	background-color: #d5e9ff;
}
.c-frame-bg--yellow {
	background-color: #fffdca;
}
.c-frame-bg--red {
	background-color: #f2dcdc;
}

/******************************************************************
component - frame-border
******************************************************************/
[class*=c-flexbox__item] > .c-frame-border,
.c-flexbox__item5col > .c-frame-border {
	flex-grow: 1;
}

.c-frame-border {
	border: 1px solid #b3bcc3;
	background-color: #fff;
	padding: 2rem;
}
@media screen and (max-width: 767px) {
	.c-frame-border {
		padding: 0.9rem;
	}
}
.c-frame-border--caution {
	border-color: #d70000;
	color: #d70000;
}
.c-frame-border--gray {
	background-color: #eff2f5;
}
.c-frame-border--blue {
	border-color: #0055b4;
}
.c-frame-border--red {
	border-color: #d70000;
}
.c-frame-border--thick {
	border-width: 4px;
	border-color: #d7dbde;
}
.c-frame-border--thick-blue {
	border-width: 4px;
	border-color: #b9d4f3;
}
.c-frame-border--thick-yellow {
	border-width: 4px;
	border-color: #ffeda0;
}

/******************************************************************
component - border-row
******************************************************************/
.c-border-row {
	border-top: 1px solid #c8cfd4;
}
.c-border-row > * {
	border-bottom: 1px solid #c8cfd4;
	padding-block: 2rem;
}
@media screen and (max-width: 767px) {
	.c-border-row > * {
		padding-block: 1.8rem;
	}
}
.c-border-row--inside {
	border: none;
}
.c-border-row--inside > * {
	border-bottom: 1px solid #c8cfd4;
	padding-block: 2rem;
}
@media screen and (max-width: 767px) {
	.c-border-row--inside > * {
		padding-block: 1.8rem;
	}
}
.c-border-row--inside > *:first-child {
	border-top: 0;
	padding-top: 0;
}
.c-border-row--inside > *:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

/******************************************************************
component - card
******************************************************************/
[class*=c-flexbox__item]:has(> .c-card),
.c-flexbox__item5col:has(> .c-card) {
	display: flex;
	flex-direction: column;
}

.c-card {
	flex-grow: 1;
	display: flex;
	flex-direction: column-reverse;
}
.c-card > a {
	flex-grow: 1;
	display: flex;
	flex-direction: column-reverse;
	color: inherit;
	text-decoration: none;
}
@media (any-hover: hover) {
	.c-card > a:hover {
		text-decoration: none;
	}
}
.c-card > a:focus {
	text-decoration: none;
}
.c-card__body {
	order: 2;
	flex-grow: 1;
	display: flex;
	flex-direction: column;
}
.c-card__title {
	margin-top: calc((1em - 1lh) / 2);
}
.c-card__head {
	order: 3;
}
.c-card__head img {
	width: 100%;
}
.c-card__head:has(.c-card__head-badge) {
	position: relative;
}
.c-card__foot {
	order: 1;
}
.c-card--column:not(:has(> a)) {
	flex-direction: row-reverse;
}
.c-card--column > a {
	flex-direction: row-reverse;
}
.c-card--column .c-card__head {
	flex-shrink: 0;
	width: 30%;
}
@media print, screen and (min-width: 768px) {
	.c-card--spover-column:not(:has(> a)) {
		flex-direction: row-reverse;
	}
	.c-card--spover-column > a {
		flex-direction: row-reverse;
	}
	.c-card--spover-column .c-card__head {
		flex-shrink: 0;
		width: 30%;
	}
}
@media screen and (max-width: 767px) {
	.c-card--sp-column:not(:has(> a)) {
		flex-direction: row-reverse;
	}
	.c-card--sp-column > a {
		flex-direction: row-reverse;
	}
	.c-card--sp-column .c-card__head {
		flex-shrink: 0;
		width: 30%;
	}
}

/******************************************************************
component - card--book
******************************************************************/
@media (any-hover: hover) {
	.c-card--book > a:hover .c-card__head img {
		transform: scale(1.02);
	}
	.c-card--book > a:hover .c-card__title {
		color: #0055b4;
	}
}
.c-card--book > a:focus .c-card__head img {
	transform: scale(1.02);
}
.c-card--book > a:focus .c-card__title {
	color: #0055b4;
}
.c-card--book .c-card__body {
	padding: 30px 25px 30px 30px;
}
@media screen and (max-width: 1270px) {
	.c-card--book .c-card__body {
		padding: 2.3622047244vw;
		padding-right: 1.968503937vw;
	}
}
@media screen and (max-width: 1024px) {
	.c-card--book .c-card__body {
		padding: 15px;
	}
}
.c-card--book .c-card__body > *:not(:last-child) {
	margin-bottom: 0.75rem;
}
@media screen and (max-width: 767px) {
	.c-card--book .c-card__body > *:not(:last-child) {
		margin-bottom: 0.5rem;
	}
}
.c-card--book .c-card__title {
	order: 2;
	transition-property: color;
	transition-duration: 0.4s;
	font-size: 18px;
}
@media screen and (max-width: 1270px) {
	.c-card--book .c-card__title {
		font-size: 1.4173228346vw;
	}
}
@media screen and (max-width: 1024px) {
	.c-card--book .c-card__title {
		font-size: 15px;
	}
}
@media screen and (max-width: 767px) {
	.c-card--book .c-card__title {
		font-size: 14px;
	}
}
.c-card--book .c-card__title > *:not(:last-child) {
	margin-bottom: 0.35em;
}
.c-card--book .c-card__title span {
	display: block;
}
.c-card--book .c-card__title small {
	display: block;
	font-weight: 500;
	font-size: 85%;
}
.c-card--book .c-card__title {
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 6;
}
.c-card--book .c-card__badge {
	order: 1;
}
.c-card--book .c-card__copy {
	order: 3;
	font-weight: 500;
	line-height: 1.8;
	font-size: 13.5px;
}
@media screen and (max-width: 1270px) {
	.c-card--book .c-card__copy {
		font-size: 1.0236220472vw;
	}
}
@media screen and (max-width: 1024px) {
	.c-card--book .c-card__copy {
		font-size: 13.5px;
	}
}
@media screen and (max-width: 767px) {
	.c-card--book .c-card__copy {
		font-size: 12px;
	}
}
.c-card--book .c-card__color-icon {
	width: 10px !important;
	vertical-align: -2px;
	margin-right: 4px;
}
.c-card--book .c-card__button {
	order: 4;
}
.c-card--book .c-card__head {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	padding: 30px 30px 0 30px;
}
@media screen and (max-width: 1270px) {
	.c-card--book .c-card__head {
		padding: 2.3622047244vw 2.3622047244vw 0 2.3622047244vw;
	}
}
@media screen and (max-width: 1024px) {
	.c-card--book .c-card__head {
		padding: 15px 15px 0 15px;
	}
}
.c-card--book .c-card__head img {
	width: 100%;
	transition-property: transform;
	transition-duration: 0.3s;
	transition-timing-function: cubic-bezier(0.3, 1.8, 0.6, 1);
	will-change: transform;
}
.c-card--book .c-card__head-badge {
	box-sizing: border-box;
	position: absolute;
	z-index: 1;
}
.c-card--book .c-card__head-badge--ranking {
	top: 0;
	left: 0;
	box-sizing: border-box;
	width: 2.8em;
	aspect-ratio: 1/1;
	clip-path: polygon(0 0, 0% 100%, 100% 0);
	line-height: 1;
	font-weight: 700;
	font-family: Arial, "Helvetica Neue", sans-serif;
	padding: 0.35em 0 0 0.5em;
	font-size: 28px;
}
@media screen and (max-width: 767px) {
	.c-card--book .c-card__head-badge--ranking {
		font-size: 17px;
	}
}
.c-card--book .c-card__head-badge--ranking {
	background-color: #c8ced3;
}
.swiper-slide:nth-child(1) .c-card--book .c-card__head-badge--ranking {
	color: #fff;
	background-color: #8c7e03;
}

.swiper-slide:nth-child(2) .c-card--book .c-card__head-badge--ranking {
	color: #fff;
	background-color: #73777d;
}

.swiper-slide:nth-child(3) .c-card--book .c-card__head-badge--ranking {
	color: #fff;
	background-color: #784936;
}

.swiper-slide:nth-child(10) .c-card--book .c-card__head-badge--ranking {
	padding-left: 0.25em;
}

.c-card--book {
	background-color: #fff;
}

/******************************************************************
component - card--module
******************************************************************/
@media (any-hover: hover) {
	.c-card--module > a:hover .c-card__title {
		color: #0055b4;
	}
}
.c-card--module > a:focus .c-card__title {
	color: #0055b4;
}
.c-card--module .c-card__body {
	padding: 1.5rem;
}
@media screen and (max-width: 767px) {
	.c-card--module .c-card__body {
		padding: 1.125rem;
	}
}
.c-card--module .c-card__body > *:not(:last-child) {
	margin-bottom: 1rem;
}
@media screen and (max-width: 767px) {
	.c-card--module .c-card__body > *:not(:last-child) {
		margin-bottom: 0.9rem;
	}
}
.c-card--module .c-card__title {
	order: 2;
	transition-property: color;
	transition-duration: 0.4s;
	font-size: 1.2rem;
}
@media screen and (max-width: 767px) {
	.c-card--module .c-card__title {
		font-size: 1rem;
	}
}
.c-card--module .c-card__badge {
	order: 1;
}
.c-card--module .c-card__copy {
	order: 3;
	flex-grow: 1;
}
.c-card--module .c-card__button {
	order: 4;
}
.c-card--module {
	background-color: #eff2f5;
}
.c-card--module-arrow > a {
	padding-bottom: calc(7.7781745931px * 2 + 1rem) !important;
	position: relative;
}
.c-card--module-arrow > a::after {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	width: 10px;
	height: 10px;
	transition-property: top, right, bottom, left, opacity;
	transition-duration: 0.2s;
}
.c-card--module-arrow > a::after {
	bottom: 1rem;
	right: 1rem;
	transform-origin: bottom right;
	border-bottom: 1px solid #333333;
	border-right: 1px solid #333333;
	transform: translateY(-7.0710678119px) rotate(-45deg);
}
@media (any-hover: hover) {
	.c-card--module-arrow > a:hover::after {
		right: calc(1rem - 5px);
	}
}
.c-card--module-arrow > a:focus::after {
	right: calc(1rem - 5px);
}
@media screen and (max-width: 767px) {
	.c-card--module-arrow > a {
		padding-bottom: calc(5.6568542495px * 2 + 1rem) !important;
		position: relative;
	}
	.c-card--module-arrow > a::after {
		position: absolute;
		content: "";
		margin: auto;
		box-sizing: border-box;
		vertical-align: middle;
		width: 7px;
		height: 7px;
		transition-property: top, right, bottom, left, opacity;
		transition-duration: 0.2s;
	}
	.c-card--module-arrow > a::after {
		bottom: 0.9rem;
		right: 0.9rem;
		transform-origin: bottom right;
		border-bottom: 1px solid #333333;
		border-right: 1px solid #333333;
		transform: translateY(-4.9497474683px) rotate(-45deg);
	}
}
@media screen and (max-width: 767px) and (any-hover: hover) {
	.c-card--module-arrow > a:hover::after {
		right: calc(0.9rem - 5px);
	}
}
@media screen and (max-width: 767px) {
	.c-card--module-arrow > a:focus::after {
		right: calc(0.9rem - 5px);
	}
}

/******************************************************************
component - card--textbook
******************************************************************/
@media (any-hover: hover) {
	.c-card--textbook > a:hover .c-card__head img {
		transform: scale(1.02);
	}
	.c-card--textbook > a:hover .c-card__title {
		color: #0055b4;
	}
}
.c-card--textbook > a:focus .c-card__head img {
	transform: scale(1.02);
}
.c-card--textbook > a:focus .c-card__title {
	color: #0055b4;
}
@media screen and (max-width: 767px) {
	.c-card--textbook .c-card__body {
		padding: 15px;
	}
}
.c-card--textbook .c-card__body > *:not(:last-child) {
	margin-bottom: 0.75rem;
}
@media screen and (max-width: 767px) {
	.c-card--textbook .c-card__body > *:not(:last-child) {
		margin-bottom: 0.5rem;
	}
}
.c-card--textbook .c-card__title {
	transition-property: color;
	transition-duration: 0.4s;
	font-size: 18px;
}
@media screen and (max-width: 1270px) {
	.c-card--textbook .c-card__title {
		font-size: 1.4173228346vw;
	}
}
@media screen and (max-width: 1024px) {
	.c-card--textbook .c-card__title {
		font-size: 15px;
	}
}
@media screen and (max-width: 767px) {
	.c-card--textbook .c-card__title {
		font-size: 14px;
	}
}
.c-card--textbook .c-card__copy {
	flex-grow: 1;
	font-weight: 500;
	line-height: 1.8;
	font-size: 13.5px;
}
@media screen and (max-width: 1270px) {
	.c-card--textbook .c-card__copy {
		font-size: 1.0236220472vw;
	}
}
@media screen and (max-width: 1024px) {
	.c-card--textbook .c-card__copy {
		font-size: 13.5px;
	}
}
@media screen and (max-width: 767px) {
	.c-card--textbook .c-card__copy {
		font-size: 12px;
	}
}
.c-card--textbook .c-card__head {
	box-sizing: border-box;
	display: flex;
	align-items: center;
}
@media screen and (max-width: 767px) {
	.c-card--textbook .c-card__head {
		padding: 15px 15px 0 15px;
	}
}
.c-card--textbook .c-card__head img {
	width: 100%;
	transition-property: transform;
	transition-duration: 0.3s;
	transition-timing-function: cubic-bezier(0.3, 1.8, 0.6, 1);
	will-change: transform;
}
.c-card--textbook {
	background-color: #fff;
}
@media print, screen and (min-width: 768px) {
	.c-card--textbook > a {
		flex-direction: row-reverse;
	}
	.c-card--textbook .c-card__head {
		flex-shrink: 0;
		width: 50%;
		max-width: 180px;
	}
	.c-card--textbook > a {
		gap: 1rem;
		padding: 30px 25px 30px 30px;
	}
}
@media screen and (min-width: 768px) and (max-width: 1270px) {
	.c-card--textbook > a {
		padding: 2.3622047244vw;
		padding-right: 1.968503937vw;
	}
}
@media print, screen and (min-width: 768px) {
	.c-card--textbook .c-card__head img {
		border-radius: 0;
	}
}

/******************************************************************
component - card--magazines
******************************************************************/
@media (any-hover: hover) {
	.c-card--magazines > a:hover .c-card__head img {
		transform: scale(1.02);
	}
	.c-card--magazines > a:hover .c-card__date {
		color: #0055b4;
	}
}
.c-card--magazines > a:focus .c-card__head img {
	transform: scale(1.02);
}
.c-card--magazines > a:focus .c-card__date {
	color: #0055b4;
}
.c-card--magazines .c-card__body {
	padding: 30px 25px 30px 30px;
}
@media screen and (max-width: 1270px) {
	.c-card--magazines .c-card__body {
		padding: 2.3622047244vw;
		padding-right: 1.968503937vw;
	}
}
@media screen and (max-width: 1024px) {
	.c-card--magazines .c-card__body {
		padding: 15px;
	}
}
.c-card--magazines .c-card__body > *:not(:last-child) {
	margin-bottom: 0.75rem;
}
@media screen and (max-width: 767px) {
	.c-card--magazines .c-card__body > *:not(:last-child) {
		margin-bottom: 0.5rem;
	}
}
.c-card--magazines .c-card__date {
	transition-property: color;
	transition-duration: 0.4s;
	font-weight: 600;
	font-size: 18px;
}
@media screen and (max-width: 767px) {
	.c-card--magazines .c-card__date {
		font-size: 15px;
	}
}
.c-card--magazines .c-card__copy {
	font-weight: 500;
	line-height: 1.8;
	font-size: 14px;
}
@media screen and (max-width: 767px) {
	.c-card--magazines .c-card__copy {
		font-size: 12px;
		margin-bottom: 0 !important;
	}
}
.c-card--magazines .c-card__summary {
	flex-grow: 1;
	font-weight: 500;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	line-height: 1.8;
	font-size: 14px;
}
@media screen and (max-width: 767px) {
	.c-card--magazines .c-card__summary {
		font-size: 12px;
	}
}
.c-card--magazines .c-card__buttons {
	text-align: center;
}
.c-card--magazines .c-card__buttons > *:not(:last-child) {
	margin-bottom: 10px;
}
@media screen and (max-width: 767px) {
	.c-card--magazines .c-card__buttons > *:not(:last-child) {
		margin-bottom: 13px;
	}
}
.c-card--magazines .c-card__arrow {
	display: block;
	width: fit-content;
	margin-left: auto;
	font-weight: 500;
	color: inherit;
	text-decoration: none;
}
@media (any-hover: hover) {
	.c-card--magazines .c-card__arrow:hover {
		text-decoration: none;
	}
}
.c-card--magazines .c-card__arrow:focus {
	text-decoration: none;
}
@media (any-hover: hover) {
	.c-card--magazines .c-card__arrow:hover {
		color: #0055b4;
	}
}
.c-card--magazines .c-card__arrow:focus {
	color: #0055b4;
}
@media screen and (max-width: 767px) {
	.c-card--magazines .c-card__arrow {
		font-size: 13px;
	}
}
.c-card--magazines .c-card__head {
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	padding: 30px 30px 0 30px;
}
@media screen and (max-width: 1270px) {
	.c-card--magazines .c-card__head {
		padding: 2.3622047244vw 2.3622047244vw 0 2.3622047244vw;
	}
}
@media screen and (max-width: 1024px) {
	.c-card--magazines .c-card__head {
		padding: 15px 15px 0 15px;
	}
}
.c-card--magazines .c-card__head img {
	width: 100%;
	max-width: 220px;
	transition-property: transform;
	transition-duration: 0.3s;
	transition-timing-function: cubic-bezier(0.3, 1.8, 0.6, 1);
	will-change: transform;
}
.c-card--magazines .c-card__foot {
	background-color: #fff;
	padding: 0 25px 30px 30px;
}
@media screen and (max-width: 1270px) {
	.c-card--magazines .c-card__foot {
		padding: 2.3622047244vw;
		padding-right: 1.968503937vw;
		padding-top: 0;
	}
}
@media screen and (max-width: 1024px) {
	.c-card--magazines .c-card__foot {
		padding: 0 15px 15px 15px;
	}
}
.c-card--magazines {
	background-color: #fff;
}
@media screen and (max-width: 767px) {
	.c-card--magazines.c-card--sp-column:not(:has(> a)) {
		gap: 15px;
		padding: 15px;
	}
	.c-card--magazines.c-card--sp-column > a {
		gap: 15px;
		padding: 15px;
	}
	.c-card--magazines.c-card--sp-column .c-card__body {
		padding: 0;
	}
	.c-card--magazines.c-card--sp-column .c-card__head {
		padding: 0;
		width: 38%;
	}
	.c-card--magazines.c-card--sp-column .c-card__head img {
		align-self: flex-start;
	}
}

.c-card-foot {
	background-color: #fff;
	padding: 0 25px 30px 30px;
}
@media screen and (max-width: 1270px) {
	.c-card-foot {
		padding: 2.3622047244vw;
		padding-right: 1.968503937vw;
		padding-top: 0;
	}
}
@media screen and (max-width: 1024px) {
	.c-card-foot {
		padding: 0 15px 15px 15px;
	}
}
.c-card-foot > *:not(:last-child) {
	margin-bottom: 0.75rem;
}

/******************************************************************
component - card--magazine
******************************************************************/
@media (any-hover: hover) {
	.c-card--magazine > a:hover .c-card__head img {
		transform: scale(1.02);
	}
	.c-card--magazine > a:hover .c-card__title {
		color: #0055b4;
	}
}
.c-card--magazine > a:focus .c-card__head img {
	transform: scale(1.02);
}
.c-card--magazine > a:focus .c-card__title {
	color: #0055b4;
}
@media print, screen and (min-width: 768px) {
	.c-card--magazine > a {
		flex-direction: row-reverse;
		gap: 1.5rem;
		padding: 30px 25px 30px 30px;
	}
}
@media screen and (min-width: 768px) and (max-width: 1270px) {
	.c-card--magazine > a {
		padding: 2.3622047244vw;
		padding-right: 1.968503937vw;
	}
}
@media screen and (max-width: 767px) {
	.c-card--magazine .c-card__body {
		padding: 15px;
	}
}
.c-card--magazine .c-card__body > *:not(:last-child) {
	margin-bottom: 0.75rem;
}
.c-card--magazine .c-card__title {
	transition-property: color;
	transition-duration: 0.4s;
	font-size: 22px;
}
@media screen and (max-width: 767px) {
	.c-card--magazine .c-card__title {
		font-size: 15px;
	}
}
.c-card--magazine .c-card__title small {
	margin-top: 0.75rem;
	display: block;
	font-size: 16px;
	font-weight: 500;
	color: #1d2330 !important;
}
@media screen and (max-width: 767px) {
	.c-card--magazine .c-card__title small {
		display: none;
	}
}
.c-card--magazine.c-card--l .c-card__title {
	padding-top: 0.25em;
	font-size: 32px;
}
@media screen and (max-width: 767px) {
	.c-card--magazine.c-card--l .c-card__title {
		padding-top: 0;
		font-size: 15px;
	}
}
.c-card--magazine .c-card__summary {
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 6;
	line-height: 1.8;
	font-size: 16px;
}
@media screen and (max-width: 767px) {
	.c-card--magazine .c-card__summary {
		font-size: 12px;
	}
}
.c-card--magazine .c-card__summary--long {
	-webkit-line-clamp: 1000;
}
@media screen and (max-width: 767px) {
	.c-card--magazine .c-card__summary--medium {
		-webkit-line-clamp: 4;
	}
}
@media print, screen and (min-width: 768px) {
	.c-card--magazine .c-card__head {
		flex-shrink: 0;
		width: 32%;
	}
}
@media screen and (max-width: 767px) {
	.c-card--magazine .c-card__head {
		padding: 15px 15px 0 15px;
	}
}
.c-card--magazine .c-card__head {
	text-align: center;
}
.c-card--magazine .c-card__head img {
	width: 100%;
}
@media screen and (max-width: 767px) {
	.c-card--magazine .c-card__head img {
		max-width: 54vw;
	}
}
.c-card--magazine .c-card__head img {
	transition-property: transform;
	transition-duration: 0.3s;
	transition-timing-function: cubic-bezier(0.3, 1.8, 0.6, 1);
	will-change: transform;
}
@media print, screen and (min-width: 768px) {
	.c-card--magazine.c-card--l .c-card__head {
		width: 27%;
		margin-right: 1rem;
	}
}
.c-card--magazine {
	background-color: #fff;
}

/******************************************************************
component - card--satellite
******************************************************************/
@media (any-hover: hover) {
	.c-card--satellite > a:hover .c-card__head img {
		transform: scale(1.02);
	}
	.c-card--satellite > a:hover .c-card__title {
		color: #0055b4;
	}
}
.c-card--satellite > a:focus .c-card__head img {
	transform: scale(1.02);
}
.c-card--satellite > a:focus .c-card__title {
	color: #0055b4;
}
@media screen and (max-width: 767px) {
	.c-card--satellite {
		max-width: 315px;
		margin-inline: auto;
	}
}
.c-card--satellite.c-card--index > a {
	padding: 18px;
}
@media screen and (max-width: 767px) {
	.c-card--satellite.c-card--index > a {
		padding: 12px;
	}
	.c-card--satellite.c-card--index > a .c-card__title {
		font-size: 14px;
	}
}
.c-card--satellite .c-card__body {
	padding-top: 20px;
}
@media screen and (max-width: 767px) {
	.c-card--satellite .c-card__body {
		padding-top: 15px;
	}
}
.c-card--satellite .c-card__title {
	order: 2;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.8;
}
.c-card--satellite .c-card__column {
	order: 1;
	display: flex;
	margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
	.c-card--satellite .c-card__column {
		margin-bottom: 15px;
	}
}
.c-card--satellite .c-card__date {
	flex-grow: 1;
	font-size: 14px;
	text-align: right;
}
.c-card--satellite .c-card__head img {
	width: 100%;
	aspect-ratio: 480/270;
	object-fit: cover;
	transition-property: transform;
	transition-duration: 0.3s;
	transition-timing-function: cubic-bezier(0.3, 1.8, 0.6, 1);
	will-change: transform;
}
.c-card--satellite {
	background-color: #fff;
}

/******************************************************************
component - card--school-top
******************************************************************/
@media print, screen and (min-width: 768px) {
	.c-card--school-top:not(:has(> a)),
	.c-card--school-top > a {
		flex-direction: row-reverse;
		gap: 30px;
		padding: 30px;
	}
}
@media screen and (min-width: 768px) and (max-width: 1270px) {
	.c-card--school-top:not(:has(> a)),
	.c-card--school-top > a {
		gap: 2.3622047244vw;
		padding: 2.3622047244vw;
	}
}
@media screen and (max-width: 767px) {
	.c-card--school-top:not(:has(> a)),
	.c-card--school-top > a {
		padding: 15px;
	}
}
@media (any-hover: hover) {
	.c-card--school-top > a:hover .c-card__head img {
		transform: scale(1.02);
	}
	.c-card--school-top > a:hover .c-card__title {
		color: #0055b4;
	}
}
.c-card--school-top > a:focus .c-card__head img {
	transform: scale(1.02);
}
.c-card--school-top > a:focus .c-card__title {
	color: #0055b4;
}
@media screen and (max-width: 767px) {
	.c-card--school-top .c-card__body {
		margin-top: 18.75px;
	}
}
.c-card--school-top .c-card__body > *:not(:last-child) {
	margin-bottom: 22px;
}
@media screen and (max-width: 767px) {
	.c-card--school-top .c-card__body > *:not(:last-child) {
		margin-bottom: 11.25px;
	}
}
.c-card--school-top .c-card__body > a {
	color: inherit;
	text-decoration: none;
}
@media (any-hover: hover) {
	.c-card--school-top .c-card__body > a:hover {
		text-decoration: none;
	}
}
.c-card--school-top .c-card__body > a:focus {
	text-decoration: none;
}
@media (any-hover: hover) {
	.c-card--school-top .c-card__body > a:hover .c-card__title {
		color: #0055b4;
	}
}
.c-card--school-top .c-card__body > a:focus .c-card__title {
	color: #0055b4;
}
.c-card--school-top .c-card__body > a > *:not(:last-child) {
	margin-bottom: 22px;
}
@media screen and (max-width: 767px) {
	.c-card--school-top .c-card__body > a > *:not(:last-child) {
		margin-bottom: 11.25px;
	}
}
.c-card--school-top .c-card__subtitle {
	font-weight: 500;
	font-size: 20px;
}
@media screen and (max-width: 767px) {
	.c-card--school-top .c-card__subtitle {
		font-size: 14px;
	}
}
.c-card--school-top .c-card__title {
	transition-property: color;
	transition-duration: 0.4s;
	font-weight: 500;
	font-size: 24px;
}
@media screen and (max-width: 767px) {
	.c-card--school-top .c-card__title {
		font-size: 17px;
	}
}
.c-card--school-top .c-card__title small {
	display: block;
	font-weight: 400;
	font-size: 16px;
}
@media screen and (max-width: 767px) {
	.c-card--school-top .c-card__title small {
		font-size: 12px;
	}
}
.c-card--school-top .c-card__copy {
	line-height: 1.8;
}
.c-card--school-top .c-card__button {
	order: 4;
}
@media print, screen and (min-width: 768px) {
	.c-card--school-top .c-card__head {
		flex-shrink: 0;
		width: min(560px, 50%);
	}
}
@media (any-hover: hover) {
	.c-card--school-top .c-card__head a:hover img {
		transform: scale(1.02);
	}
}
.c-card--school-top .c-card__head a:focus img {
	transform: scale(1.02);
}
.c-card--school-top .c-card__head img {
	width: 100%;
	transition-property: transform;
	transition-duration: 0.3s;
	transition-timing-function: cubic-bezier(0.3, 1.8, 0.6, 1);
	will-change: transform;
}
.c-card--school-top {
	background-color: #fff;
}

/******************************************************************
component - card--school
******************************************************************/
@media (any-hover: hover) {
	.c-card--school > a:hover .c-card__head img {
		transform: scale(1.02);
	}
	.c-card--school > a:hover .c-card__title {
		color: #0055b4;
	}
}
.c-card--school > a:focus .c-card__head img {
	transform: scale(1.02);
}
.c-card--school > a:focus .c-card__title {
	color: #0055b4;
}
.c-card--school .c-card__body {
	padding: 20px 15px 30px 20px;
}
@media screen and (max-width: 1270px) {
	.c-card--school .c-card__body {
		padding: 1.5748031496vw;
		padding-right: 1.1811023622vw;
		padding-bottom: 2.3622047244vw;
	}
}
@media screen and (max-width: 1024px) {
	.c-card--school .c-card__body {
		padding: 15px 10px 20px 12px;
	}
}
.c-card--school .c-card__body > *:not(:last-child) {
	margin-bottom: 1rem;
}
@media screen and (max-width: 767px) {
	.c-card--school .c-card__body > *:not(:last-child) {
		margin-bottom: 0.75rem;
	}
}
.c-card--school .c-card__title {
	transition-property: color;
	transition-duration: 0.4s;
	font-weight: 600;
	font-size: 18px;
}
@media screen and (max-width: 1270px) {
	.c-card--school .c-card__title {
		font-size: 1.4173228346vw;
	}
}
@media screen and (max-width: 1024px) {
	.c-card--school .c-card__title {
		font-size: 16px;
	}
}
@media screen and (max-width: 767px) {
	.c-card--school .c-card__title {
		font-size: 15px;
	}
}
.c-card--school .c-card__title small {
	display: block;
	margin-bottom: 0.25em;
	font-weight: 500;
	font-size: 15px;
}
@media screen and (max-width: 1024px) {
	.c-card--school .c-card__title small {
		font-size: 13px;
	}
}
@media screen and (max-width: 767px) {
	.c-card--school .c-card__title small {
		font-size: 11px;
	}
}
.c-card--school .c-card__head {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	padding: 20px 20px 0 20px;
}
@media screen and (max-width: 1270px) {
	.c-card--school .c-card__head {
		padding: 1.5748031496vw 1.5748031496vw 0 1.5748031496vw;
	}
}
@media screen and (max-width: 1024px) {
	.c-card--school .c-card__head {
		padding: 12px 12px 0 12px;
	}
}
.c-card--school .c-card__head img {
	width: 100%;
	transition-property: transform;
	transition-duration: 0.3s;
	transition-timing-function: cubic-bezier(0.3, 1.8, 0.6, 1);
	will-change: transform;
}
.c-card--school .c-card__head-badge {
	box-sizing: border-box;
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;
	line-height: 1;
	color: #fff;
	font-weight: 500;
	padding: 0.5em 1em;
	font-size: 15px;
}
@media screen and (max-width: 767px) {
	.c-card--school .c-card__head-badge {
		font-size: 13px;
		padding: 0.35em 1em;
	}
}
.c-card--school .c-card__head-badge--new {
	background-color: #ce4900;
}
.c-card--school .c-card__head-badge--otoku {
	background-color: #f6d600;
	color: #1d2330;
}
.c-card--school .c-card__head-badge--ended {
	background-color: #212836;
}
.c-card--school .c-card__head-badge--limitedoffer {
	background-color: #d70000;
}
.c-card--school {
	background-color: #fff;
}
.c-card--school:has(.c-card__head-badge--ended) {
	background-color: #d7dbde;
}
.c-card--school:has(.c-card__head-badge--ended) .c-card__head img {
	opacity: 0.2;
}
.c-card--school:has(.c-card__head-badge--ended) .c-badge {
	opacity: 0.7;
	background-color: #e4e6e8;
}

/******************************************************************
component - card-book-series
******************************************************************/
[class*=c-flexbox__item]:has(> .c-card-book-series),
.c-flexbox__item5col:has(> .c-card-book-series) {
	display: flex;
}

.c-card-book-series {
	flex-grow: 1;
	display: flex;
	background-color: #fff;
}
.c-card-book-series > a {
	flex-grow: 1;
	color: inherit;
	text-decoration: none;
}
@media (any-hover: hover) {
	.c-card-book-series > a:hover {
		text-decoration: none;
	}
}
.c-card-book-series > a:focus {
	text-decoration: none;
}
@media (any-hover: hover) {
	.c-card-book-series > a:hover .c-card-book-series__head img {
		transform: scale(1.02);
	}
	.c-card-book-series > a:hover .c-card-book-series__title,
	.c-card-book-series > a:hover .c-card-book-series__subtitle {
		color: #0055b4;
	}
}
.c-card-book-series > a:focus .c-card-book-series__head img {
	transform: scale(1.02);
}
.c-card-book-series > a:focus .c-card-book-series__title,
.c-card-book-series > a:focus .c-card-book-series__subtitle {
	color: #0055b4;
}
.c-card-book-series__heading {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	background-color: #dfe3e8;
	padding: 30px 25px 30px 30px;
}
@media screen and (max-width: 1270px) {
	.c-card-book-series__heading {
		padding: 2.3622047244vw;
		padding-right: 1.968503937vw;
	}
}
@media screen and (max-width: 1024px) {
	.c-card-book-series__heading {
		padding: 15px;
	}
}
.c-card-book-series__title {
	transition-property: color;
	transition-duration: 0.4s;
	font-weight: 700;
	font-size: 22px;
}
@media screen and (max-width: 1270px) {
	.c-card-book-series__title {
		font-size: 1.7322834646vw;
	}
}
@media screen and (max-width: 767px) {
	.c-card-book-series__title {
		font-size: 18px;
	}
}
.c-card-book-series__main {
	display: flex;
	flex-direction: row-reverse;
	gap: 30px;
	padding: 30px 25px 30px 30px;
}
@media screen and (max-width: 1270px) {
	.c-card-book-series__main {
		gap: 2.3622047244vw;
		padding: 2.3622047244vw;
		padding-right: 1.968503937vw;
	}
}
@media screen and (max-width: 1024px) {
	.c-card-book-series__main {
		gap: 15px;
		padding: 15px;
		padding-top: 20px;
	}
}
@media screen and (max-width: 767px) {
	.c-card-book-series__main {
		flex-direction: column-reverse;
	}
}
.c-card-book-series__body {
	flex-grow: 1;
}
.c-card-book-series__body > *:not(:last-child) {
	margin-bottom: 0.5rem;
}
.c-card-book-series__body .c-badge-list {
	margin-bottom: 1em;
}
.c-card-book-series__lead {
	font-weight: 900;
	font-size: 16px;
}
@media screen and (max-width: 1270px) {
	.c-card-book-series__lead {
		font-size: 1.2598425197vw;
	}
}
@media screen and (max-width: 1024px) {
	.c-card-book-series__lead {
		font-size: 15px;
	}
}
.c-card-book-series hr {
	border-color: #c8cfd4;
	margin-block: 1em !important;
}
.c-card-book-series__subtitle {
	transition-property: color;
	transition-duration: 0.4s;
	font-size: 18px;
}
@media screen and (max-width: 1270px) {
	.c-card-book-series__subtitle {
		font-size: 1.4173228346vw;
	}
}
@media screen and (max-width: 1024px) {
	.c-card-book-series__subtitle {
		font-size: 15px;
	}
}
@media screen and (max-width: 767px) {
	.c-card-book-series__subtitle {
		font-size: 14px;
	}
}
.c-card-book-series__subtitle > *:not(:last-child) {
	margin-bottom: 0.35em;
}
.c-card-book-series__subtitle span {
	display: block;
}
.c-card-book-series__subtitle small {
	display: block;
	font-weight: 500;
	font-size: 85%;
}
.c-card-book-series__subtitle {
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 6;
}
.c-card-book-series__copy {
	font-weight: 500;
	line-height: 1.8;
	font-size: 13.5px;
}
@media screen and (max-width: 1270px) {
	.c-card-book-series__copy {
		font-size: 1.0236220472vw;
	}
}
@media screen and (max-width: 1024px) {
	.c-card-book-series__copy {
		font-size: 13.5px;
	}
}
@media screen and (max-width: 767px) {
	.c-card-book-series__copy {
		font-size: 12px;
	}
}
.c-card-book-series__head {
	flex-shrink: 0;
	text-align: center;
	width: 180px;
}
@media screen and (max-width: 1270px) {
	.c-card-book-series__head {
		width: 14.1732283465vw;
	}
}
@media screen and (max-width: 767px) {
	.c-card-book-series__head {
		width: 100%;
	}
}
.c-card-book-series__head img {
	width: 100%;
	max-width: 54vw;
	transition-property: transform;
	transition-duration: 0.3s;
	transition-timing-function: cubic-bezier(0.3, 1.8, 0.6, 1);
	will-change: transform;
}

/******************************************************************
component - card-book-result
******************************************************************/
.c-card-book-result:not(:has(> a)),
.c-card-book-result > a {
	display: grid;
	grid-template-columns: 160px auto;
	grid-template-rows: auto 1fr;
	grid-template-areas: "img head" "img body";
	gap: 20px 30px;
	font-size: 14px;
}
@media screen and (max-width: 767px) {
	.c-card-book-result:not(:has(> a)),
	.c-card-book-result > a {
		grid-template-columns: 110px auto;
		grid-template-areas: "img head" "body body";
		gap: 0.9rem 0.9rem;
		font-size: 12px;
	}
}
.c-card-book-result > a {
	color: inherit;
	text-decoration: none;
}
@media (any-hover: hover) {
	.c-card-book-result > a:hover {
		text-decoration: none;
	}
}
.c-card-book-result > a:focus {
	text-decoration: none;
}
.c-card-book-result__head {
	grid-area: head;
	display: flex;
	flex-direction: column;
}
.c-card-book-result .c-breadcrumb {
	order: 1;
	margin-bottom: 1.25em;
}
@media screen and (max-width: 767px) {
	.c-card-book-result .c-breadcrumb {
		display: none;
	}
}
.c-card-book-result .c-breadcrumb + .c-breadcrumb {
	margin-top: -1em;
}
.c-card-book-result .c-badge-list {
	order: 2;
	margin-bottom: 0.75em;
}
.c-card-book-result__title {
	order: 3;
	margin-top: calc((1em - 1lh) / 2);
	line-height: 1.6;
	font-size: 18px;
}
@media screen and (max-width: 767px) {
	.c-card-book-result__title {
		font-size: 16px;
	}
}
.c-card-book-result__title a {
	display: inline-block;
}
.c-card-book-result__title small {
	display: block;
	width: fit-content;
}
.c-card-book-result__body {
	grid-area: body;
}
.c-card-book-result__body > *:not(:last-child) {
	margin-bottom: 0.5em;
}
.c-card-book-result__point {
	background: url(/assets/img/icn-point.png) left 0.25em/auto 13px no-repeat;
	padding-left: 22px;
}
@media screen and (max-width: 767px) {
	.c-card-book-result__point {
		background-size: auto 12px;
		padding-left: 21px;
	}
}
.c-card-book-result__copy {
	font-weight: 500;
	line-height: 1.8;
}
.c-card-book-result__color-icon {
	width: 10px !important;
	vertical-align: -2px;
	margin-right: 4px;
}
.c-card-book-result__button-list {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 20px;
}
@media screen and (max-width: 767px) {
	.c-card-book-result__button-list {
		margin-top: 0.9rem;
	}
}
.c-card-book-result__button-list a {
	font-size: 12px;
	padding: 0.35em 0.75em;
	border: 1px solid #212836;
	color: inherit;
	text-decoration: none;
}
@media (any-hover: hover) {
	.c-card-book-result__button-list a:hover {
		text-decoration: none;
	}
}
.c-card-book-result__button-list a:focus {
	text-decoration: none;
}
.c-card-book-result__button-list a {
	transition-property: background, color;
	transition-duration: 0.4s;
}
@media (any-hover: hover) {
	.c-card-book-result__button-list a:hover {
		background-color: #ebf4ff;
		color: #0055b4;
	}
}
.c-card-book-result__button-list a:focus {
	background-color: #ebf4ff;
	color: #0055b4;
}
.c-card-book-result__img {
	grid-area: img;
}
@media (any-hover: hover) {
	.c-card-book-result__img a:hover img {
		transform: scale(1.02);
	}
}
.c-card-book-result__img a:focus img {
	transform: scale(1.02);
}
.c-card-book-result__img img {
	width: 100%;
	transition-property: transform;
	transition-duration: 0.3s;
	transition-timing-function: cubic-bezier(0.3, 1.8, 0.6, 1);
	will-change: transform;
}
.c-card-book-result:has(.c-card-book-result__title a:hover) .c-card-book-result__img img {
	transform: scale(1.02);
}

.c-card-book-result-list > *:not(:last-child) {
	border-bottom: 1px solid #c8cfd4;
	padding-bottom: 40px;
	margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
	.c-card-book-result-list > *:not(:last-child) {
		padding-bottom: 20px;
		margin-bottom: 20px;
	}
}

/******************************************************************
component - card--top-satellite
******************************************************************/
@media print, screen and (min-width: 768px) {
	.c-card--top-satellite > a {
		flex-direction: row-reverse;
		gap: 30px;
		padding: 20px;
	}
}
@media screen and (min-width: 768px) and (max-width: 1270px) {
	.c-card--top-satellite > a {
		gap: 2.3622047244vw;
		padding: 1.5748031496vw;
	}
}
@media screen and (max-width: 767px) {
	.c-card--top-satellite .c-card__body {
		padding: 15px;
	}
}
.c-card--top-satellite .c-card__body > *:not(:last-child) {
	margin-bottom: 0.5rem;
}
.c-card--top-satellite .c-card__title {
	order: 2;
}
@media screen and (max-width: 767px) {
	.c-card--top-satellite .c-card__title {
		font-size: 15px;
	}
}
.c-card--top-satellite .c-card__copy {
	order: 3;
	flex-grow: 1;
	line-height: 1.8;
	font-size: 15px;
}
@media screen and (max-width: 767px) {
	.c-card--top-satellite .c-card__copy {
		font-size: 13.5px;
	}
}
@media print, screen and (min-width: 768px) {
	.c-card--top-satellite .c-card__head {
		flex-shrink: 0;
		width: 45%;
	}
}
@media screen and (max-width: 767px) {
	.c-card--top-satellite .c-card__head {
		padding: 15px 15px 0 15px;
	}
}
.c-card--top-satellite {
	background-color: #fff;
}

/******************************************************************
component - card-grid
******************************************************************/
.c-card-grid:not(:has(> a)),
.c-card-grid > a {
	display: grid;
	grid-template-columns: fit-content(30%) 1fr;
	grid-template-rows: auto 1fr;
	grid-template-areas: "img head" "img body";
	gap: 0.75rem 1rem;
}
@media screen and (max-width: 767px) {
	.c-card-grid:not(:has(> a)),
	.c-card-grid > a {
		grid-template-areas: "img head" "body body";
		gap: 0.75rem 0.9rem;
	}
}
.c-card-grid > a {
	color: inherit;
	text-decoration: none;
}
@media (any-hover: hover) {
	.c-card-grid > a:hover {
		text-decoration: none;
	}
}
.c-card-grid > a:focus {
	text-decoration: none;
}
@media (any-hover: hover) {
	.c-card-grid > a:hover {
		color: #1d2330;
	}
	.c-card-grid > a:hover .c-card-grid__title {
		color: #0055b4;
	}
	.c-card-grid > a:hover .c-card-grid__img img {
		transform: scale(1.02);
	}
}
.c-card-grid > a:focus {
	color: #1d2330;
}
.c-card-grid > a:focus .c-card-grid__title {
	color: #0055b4;
}
.c-card-grid > a:focus .c-card-grid__img img {
	transform: scale(1.02);
}
.c-card-grid__head {
	grid-area: head;
	display: flex;
	flex-direction: column;
}
.c-card-grid__head > *:not(:first-child) {
	margin-bottom: 0.75rem;
}
.c-card-grid__title {
	order: 3;
	margin-top: calc((1em - 1lh) / 2);
	font-size: 1rem;
}
@media screen and (max-width: 767px) {
	.c-card-grid__title {
		font-size: 14px;
	}
}
.c-card-grid__date {
	order: 1;
	font-size: 13px;
	color: #606060;
}
.c-card-grid__badge {
	order: 2;
}
.c-card-grid__body {
	grid-area: body;
	color: #1d2330;
}
.c-card-grid__body > *:not(:last-child) {
	margin-bottom: 0.5rem;
}
.c-card-grid__copy {
	color: #1d2330;
}
.c-card-grid__img {
	grid-area: img;
}
.c-card-grid__img img {
	transition-property: transform;
	transition-duration: 0.3s;
	transition-timing-function: cubic-bezier(0.3, 1.8, 0.6, 1);
	will-change: transform;
}

/******************************************************************
component - card-grid-ad
******************************************************************/
.c-card-grid-ad:not(:has(> a)),
.c-card-grid-ad > a {
	display: grid;
	grid-template-columns: min(30%, 220px) 1fr;
	grid-template-rows: auto 1fr;
	grid-template-areas: "img head" "img body";
	gap: 1rem 40px;
}
@media screen and (max-width: 1024px) {
	.c-card-grid-ad:not(:has(> a)),
	.c-card-grid-ad > a {
		grid-template-columns: fit-content(30%) 1fr;
		grid-template-areas: "img head" "body body";
		gap: 0.75rem 0.9rem;
	}
}
.c-card-grid-ad:not(:has(> a)),
.c-card-grid-ad > a {
	box-sizing: border-box;
	width: 100%;
	padding: 40px;
	background-color: #fff;
}
@media screen and (max-width: 767px) {
	.c-card-grid-ad:not(:has(> a)),
	.c-card-grid-ad > a {
		padding: 20px;
	}
}
.c-card-grid-ad--topic:not(:has(> a)), .c-card-grid-ad--topic > a {
	grid-template-columns: min(40%, 180px) 1fr;
	gap: 1rem 20px;
	padding: 30px;
}
@media screen and (max-width: 767px) {
	.c-card-grid-ad--topic:not(:has(> a)), .c-card-grid-ad--topic > a {
		grid-template-columns: fit-content(30%) 1fr;
		gap: 0.75rem 0.9rem;
		padding: 20px;
	}
}
.c-card-grid-ad--ohmshaonline:not(:has(> a)), .c-card-grid-ad--ohmshaonline > a {
	grid-template-columns: min(30%, 320px) 1fr;
}
@media screen and (max-width: 767px) {
	.c-card-grid-ad--ohmshaonline:not(:has(> a)), .c-card-grid-ad--ohmshaonline > a {
		grid-template-columns: fit-content(30%) 1fr;
	}
}
.c-card-grid-ad__head {
	grid-area: head;
	display: flex;
	flex-direction: column;
}
.c-card-grid-ad__head > *:not(:last-child) {
	margin-bottom: 1.5rem;
}
@media screen and (max-width: 767px) {
	.c-card-grid-ad__head > *:not(:last-child) {
		margin-bottom: 0.9rem;
	}
}
.c-card-grid-ad__topic-title {
	font-size: 1rem;
}
@media screen and (max-width: 767px) {
	.c-card-grid-ad__topic-title {
		font-size: 14px;
	}
}
.c-card-grid-ad__topic-text {
	margin-top: calc((1em - 1lh) / 2);
	line-height: 1.8;
	font-weight: bold;
	font-size: 18px;
}
@media screen and (max-width: 767px) {
	.c-card-grid-ad__topic-text {
		font-size: 16px;
	}
}
.c-card-grid-ad__topic-define dt {
	font-size: 14px;
}
.c-card-grid-ad__body {
	grid-area: body;
	color: #1d2330;
}
.c-card-grid-ad__body > *:not(:last-child) {
	margin-bottom: 1.5rem;
}
@media screen and (max-width: 767px) {
	.c-card-grid-ad__body > *:not(:last-child) {
		margin-bottom: 0.9rem;
	}
}
.c-card-grid-ad__img {
	grid-area: img;
}
.c-card-grid-ad__logo-ohmshaonline {
	width: 240px;
}
@media screen and (max-width: 767px) {
	.c-card-grid-ad__logo-ohmshaonline {
		width: 130px;
	}
}

/******************************************************************
component - pulldown
******************************************************************/
.c-pulldown {
	position: relative;
	max-width: 100%;
}
.c-pulldown--full {
	width: 100% !important;
}
.c-pulldown--full .c-pulldown__body {
	width: 100%;
}
.c-pulldown--full .c-pulldown__button {
	width: 100% !important;
}
.c-pulldown--center {
	margin-inline: auto;
}
.c-pulldown--right {
	margin-left: auto;
}
.c-pulldown__body {
	max-width: 100%;
	position: absolute;
}
.c-pulldown__button {
	width: 100%;
	text-align: left;
	max-width: 100%;
	white-space: nowrap;
}
.c-pulldown__menu {
	position: relative;
	z-index: 1;
	transition: opacity 0.4s, max-height 0s 0.4s;
	max-height: 0;
	opacity: 0;
	pointer-events: none;
}
.c-pulldown__menu[aria-hidden=false] {
	transition: opacity 0.4s, max-height 0s 0s;
	max-height: 1000vh;
	max-height: 1000dvh;
	opacity: 1;
	pointer-events: auto;
}
.c-pulldown__menu > * > * {
	display: block;
	box-sizing: border-box;
	width: 100%;
	text-align: left;
	cursor: pointer;
	color: inherit;
	text-decoration: none;
}
@media (any-hover: hover) {
	.c-pulldown__menu > * > *:hover {
		text-decoration: none;
	}
}
.c-pulldown__menu > * > *:focus {
	text-decoration: none;
}
.c-pulldown__menu > * > * {
	white-space: nowrap;
}
.c-pulldown--check .c-pulldown__menu > * > * {
	position: relative;
}
.c-pulldown--check .c-pulldown__menu > * > *[aria-checked=true]::before, .c-pulldown--check .c-pulldown__menu > * > *[aria-current=page]::before {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	top: 0;
	bottom: 3px;
	right: 9px;
	width: 6px;
	height: 9px;
	border-bottom: 2px solid #333333;
	border-right: 2px solid #333333;
	transform: rotate(40deg);
}
.c-pulldown--scroll .c-pulldown__menu {
	overflow-y: scroll;
	max-height: 14.5em;
}
.c-pulldown__adjust {
	box-sizing: border-box;
	position: relative;
	z-index: -1;
	width: 0;
	text-align: left;
	line-height: 1.4;
}
.c-pulldown__adjust::before {
	content: "　";
}

.c-pulldown-label {
	display: flex;
	gap: 0.5em;
	align-items: center;
	width: fit-content;
}
.c-pulldown-label--center {
	margin-inline: auto;
}
.c-pulldown-label--right {
	margin-left: auto;
}

/******************************************************************
component - pulldown--news
******************************************************************/
.c-pulldown--news {
	margin-bottom: 30px;
}
@media screen and (max-width: 1024px) {
	.c-pulldown--news {
		margin-bottom: 20px;
		margin-inline: auto;
	}
}
.c-pulldown--news .c-pulldown__button {
	background-color: #ffffff;
	padding: 0.5em 26px 0.5em 0.75em;
	border: 1px solid #73777d;
	font-weight: 500;
	position: relative;
}
.c-pulldown--news .c-pulldown__button::after {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	width: 7px;
	height: 7px;
	transition-property: top, right, bottom, left, opacity;
	transition-duration: 0.2s;
}
.c-pulldown--news .c-pulldown__button::after {
	top: 0;
	bottom: 0;
	right: 0.5em;
	transform-origin: center center;
	border-top: 2px solid #333333;
	border-right: 2px solid #333333;
	transform: translateX(-1.4497474683px) translateY(-1.4497474683px) rotate(135deg);
}
.c-pulldown--news .c-pulldown__button {
	transition-property: background;
	transition-duration: 0.4s;
}
.c-pulldown--news .c-pulldown__button[aria-expanded=true] {
	position: relative;
}
.c-pulldown--news .c-pulldown__button[aria-expanded=true]::after {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	width: 7px;
	height: 7px;
	transition-property: top, right, bottom, left, opacity;
	transition-duration: 0.2s;
}
.c-pulldown--news .c-pulldown__button[aria-expanded=true]::after {
	top: 0;
	bottom: 0;
	right: 0.5em;
	transform-origin: center center;
	border-top: 2px solid #333333;
	border-right: 2px solid #333333;
	transform: translateX(-1.4497474683px) translateY(1.4497474683px) rotate(-45deg);
}
.c-pulldown--news .c-pulldown__menu {
	background-color: #ffffff;
	border: 1px solid #73777d;
	border-top: 0;
	box-shadow: 0px 0px 10px -6px rgba(0, 0, 0, 0.6);
}
.c-pulldown--news .c-pulldown__menu > * > * {
	padding: 0.75em 26px 0.75em 0.75em;
	transition-property: background, color;
	transition-duration: 0.4s;
}
@media (any-hover: hover) {
	.c-pulldown--news .c-pulldown__menu > * > *:hover {
		background-color: #ebf4ff;
		color: #0055b4;
	}
}
.c-pulldown--news .c-pulldown__menu > * > *[aria-checked=true], .c-pulldown--news .c-pulldown__menu > * > *[aria-current=page] {
	color: #fff;
	background-color: #212836;
	font-weight: 500;
}
.c-pulldown--news .c-pulldown__adjust {
	padding: 0.5em 26px 0.5em 0.75em;
	border: 1px solid transparent;
}

/******************************************************************
component - pulldown--sort
******************************************************************/
.c-pulldown--sort .c-pulldown__button {
	background-color: #ffffff;
	padding: 0.5em 26px 0.5em 0.75em;
	border: 1px solid #73777d;
	font-weight: 500;
	position: relative;
}
.c-pulldown--sort .c-pulldown__button::after {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	width: 7px;
	height: 7px;
	transition-property: top, right, bottom, left, opacity;
	transition-duration: 0.2s;
}
.c-pulldown--sort .c-pulldown__button::after {
	top: 0;
	bottom: 0;
	right: 0.5em;
	transform-origin: center center;
	border-top: 2px solid #333333;
	border-right: 2px solid #333333;
	transform: translateX(-1.4497474683px) translateY(-1.4497474683px) rotate(135deg);
}
.c-pulldown--sort .c-pulldown__button {
	transition-property: background;
	transition-duration: 0.4s;
}
.c-pulldown--sort .c-pulldown__button[aria-expanded=true] {
	position: relative;
}
.c-pulldown--sort .c-pulldown__button[aria-expanded=true]::after {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	width: 7px;
	height: 7px;
	transition-property: top, right, bottom, left, opacity;
	transition-duration: 0.2s;
}
.c-pulldown--sort .c-pulldown__button[aria-expanded=true]::after {
	top: 0;
	bottom: 0;
	right: 0.5em;
	transform-origin: center center;
	border-top: 2px solid #333333;
	border-right: 2px solid #333333;
	transform: translateX(-1.4497474683px) translateY(1.4497474683px) rotate(-45deg);
}
.c-pulldown--sort .c-pulldown__menu {
	background-color: #ffffff;
	border: 1px solid #73777d;
	border-top: 0;
	box-shadow: 0px 0px 10px -6px rgba(0, 0, 0, 0.6);
}
.c-pulldown--sort .c-pulldown__menu > * > * {
	padding: 0.75em 26px 0.75em 0.75em;
	transition-property: background, color;
	transition-duration: 0.4s;
}
@media (any-hover: hover) {
	.c-pulldown--sort .c-pulldown__menu > * > *:hover {
		background-color: #ebf4ff;
		color: #0055b4;
	}
}
.c-pulldown--sort .c-pulldown__menu > * > *[aria-checked=true], .c-pulldown--sort .c-pulldown__menu > * > *[aria-current=page] {
	color: #fff;
	background-color: #212836;
	font-weight: 500;
}
.c-pulldown--sort .c-pulldown__adjust {
	padding: 0.5em 26px 0.5em 0.75em;
	border: 1px solid transparent;
}

/******************************************************************
component - pagination
******************************************************************/
.c-pagination {
	display: flex;
	align-items: center;
	justify-content: center;
}
@media screen and (max-width: 767px) {
	.c-pagination {
		flex-wrap: wrap;
		gap: 1em 0;
	}
	.c-pagination__list {
		order: 1;
		width: 100%;
	}
	.c-pagination__prev {
		order: 2;
	}
	.c-pagination__next {
		order: 3;
	}
}
.c-pagination.js-init {
	display: none;
}
.c-pagination a {
	color: inherit;
	text-decoration: none;
}
@media (any-hover: hover) {
	.c-pagination a:hover {
		text-decoration: none;
	}
}
.c-pagination a:focus {
	text-decoration: none;
}
.c-pagination a {
	font-weight: 500;
}
.c-pagination__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	margin-inline: 0.5em;
	gap: 0.5em;
}
@media screen and (max-width: 767px) {
	.c-pagination__list {
		gap: 0.35em;
	}
}
.c-pagination__list > *:not([aria-hidden=true]) > * {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.25em;
	height: 2.25em;
	font-size: 90%;
}
@media screen and (max-width: 767px) {
	.c-pagination__list > *:not([aria-hidden=true]) > * {
		font-size: 13px;
	}
}
.c-pagination__list > *:not([aria-hidden=true]) > * {
	transition-property: background, color;
	transition-duration: 0.4s;
	border: 1px solid #212836;
	background: #fff;
}
@media (any-hover: hover) {
	.c-pagination__list > *:not([aria-hidden=true]) > *:hover {
		background-color: #ebf4ff;
		color: #0055b4;
	}
}
.c-pagination__list > *:not([aria-hidden=true]) > *:focus {
	background-color: #ebf4ff;
	color: #0055b4;
}
.c-pagination__list > *:not([aria-hidden=true]) > *[aria-current=true], .c-pagination__list > *:not([aria-hidden=true]) > *[aria-current=page] {
	outline-offset: 3px;
	color: #fff;
	background-color: #212836;
}
.c-pagination__next--reverse, .c-pagination__prev:not(.c-pagination__prev--reverse) {
	margin-right: 1em;
	padding-left: 1em;
}
@media screen and (max-width: 767px) {
	.c-pagination__next--reverse, .c-pagination__prev:not(.c-pagination__prev--reverse) {
		margin-right: 0.5em;
	}
}
.c-pagination__next--reverse, .c-pagination__prev:not(.c-pagination__prev--reverse) {
	position: relative;
}
.c-pagination__next--reverse::after, .c-pagination__prev:not(.c-pagination__prev--reverse)::after {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	width: 10px;
	height: 10px;
	transition-property: top, right, bottom, left, opacity;
	transition-duration: 0.2s;
}
.c-pagination__next--reverse::after, .c-pagination__prev:not(.c-pagination__prev--reverse)::after {
	top: 0;
	bottom: 0;
	left: 0;
	transform-origin: center center;
	border-top: 1px solid #333333;
	border-left: 1px solid #333333;
	transform: translateX(2.0710678119px) rotate(-45deg);
}
.c-pagination__prev--reverse, .c-pagination__next:not(.c-pagination__next--reverse) {
	margin-left: 1em;
	padding-right: 1em;
}
@media screen and (max-width: 767px) {
	.c-pagination__prev--reverse, .c-pagination__next:not(.c-pagination__next--reverse) {
		margin-left: 0.5em;
	}
}
.c-pagination__prev--reverse, .c-pagination__next:not(.c-pagination__next--reverse) {
	position: relative;
}
.c-pagination__prev--reverse::after, .c-pagination__next:not(.c-pagination__next--reverse)::after {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	width: 10px;
	height: 10px;
	transition-property: top, right, bottom, left, opacity;
	transition-duration: 0.2s;
}
.c-pagination__prev--reverse::after, .c-pagination__next:not(.c-pagination__next--reverse)::after {
	top: 0;
	bottom: 0;
	right: 0;
	transform-origin: center center;
	border-top: 1px solid #333333;
	border-right: 1px solid #333333;
	transform: translateX(-2.0710678119px) rotate(45deg);
}
.c-pagination__prev, .c-pagination__next {
	transition-property: color;
	transition-duration: 0.4s;
}
@media (any-hover: hover) {
	.c-pagination__prev:hover, .c-pagination__next:hover {
		color: #0055b4;
	}
}
.c-pagination__prev:focus, .c-pagination__next:focus {
	color: #0055b4;
}
.c-pagination__prev, .c-pagination__next {
	white-space: nowrap;
}
@media screen and (max-width: 767px) {
	.c-pagination__prev, .c-pagination__next {
		font-size: 14px;
	}
}
.c-pagination__prev[tabindex="-1"], .c-pagination__prev[disabled], .c-pagination__next[tabindex="-1"], .c-pagination__next[disabled] {
	opacity: 0.2;
	pointer-events: none;
}

/******************************************************************
component - breadcrumb
******************************************************************/
.c-breadcrumb {
	display: flex;
	gap: 0.25em 0.75em;
	flex-wrap: wrap;
}
.c-breadcrumb li {
	position: relative;
}
.c-breadcrumb li:not(:last-child) {
	padding-right: calc(0.75em + 6px);
	position: relative;
}
.c-breadcrumb li:not(:last-child)::after {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	width: 6px;
	height: 6px;
	transition-property: top, right, bottom, left, opacity;
	transition-duration: 0.2s;
}
.c-breadcrumb li:not(:last-child)::after {
	top: 0;
	bottom: 0;
	right: 0;
	transform-origin: center center;
	border-top: 1px solid #1d2330;
	border-right: 1px solid #1d2330;
	transform: translateX(-1.2426406871px) rotate(45deg);
}

/******************************************************************
component - hr
******************************************************************/
.c-hr {
	border-color: #73777d;
	margin-top: 60px;
	margin-bottom: 60px !important;
}
@media screen and (max-width: 767px) {
	.c-hr {
		margin-top: 30px;
		margin-bottom: 30px !important;
	}
}

.c-hr-m {
	border-color: #73777d;
	margin-top: 80px;
	margin-bottom: 80px !important;
}
@media screen and (max-width: 767px) {
	.c-hr-m {
		margin-top: 40px;
		margin-bottom: 40px !important;
	}
}

.c-hr-l {
	border-color: #73777d;
	margin-top: 100px;
	margin-bottom: 100px !important;
}
@media screen and (max-width: 767px) {
	.c-hr-l {
		margin-top: 50px;
		margin-bottom: 50px !important;
	}
}

/******************************************************************
component - news-column
******************************************************************/
.c-news-column {
	line-height: 1.8;
}
@media print, screen and (min-width: 768px) {
	.c-news-column {
		display: table;
		width: 100%;
	}
	.c-news-column > *:not(:has(> a)) {
		display: table-row;
	}
	.c-news-column > *:has(> a) {
		display: table-row-group;
	}
	.c-news-column > *:has(> a) a {
		display: table-row;
	}
	.c-news-column > *:has(> a) a {
		color: inherit;
		text-decoration: none;
		transition-property: background color;
		transition-duration: 0.4s;
	}
}
@media print and (any-hover: hover), screen and (min-width: 768px) and (any-hover: hover) {
	.c-news-column > *:has(> a) a:hover {
		text-decoration: none;
	}
}
@media print, screen and (min-width: 768px) {
	.c-news-column > *:has(> a) a:focus {
		text-decoration: none;
	}
}
@media print and (any-hover: hover), screen and (min-width: 768px) and (any-hover: hover) {
	.c-news-column > *:has(> a) a:hover {
		color: #0055b4;
	}
}
@media print, screen and (min-width: 768px) {
	.c-news-column > *:has(> a) a:focus {
		color: #0055b4;
	}
	.c-news-column .c-news-column__date {
		border-bottom: 1px solid #c8cfd4;
		padding: 0.875em;
	}
	.c-news-column .c-news-column__icon,
	.c-news-column .c-news-column__body {
		border-bottom: 1px solid #c8cfd4;
		padding: 1.75em 0.875em 1.75em 0;
	}
	.c-news-column > *:first-child .c-news-column__date,
	.c-news-column > *:first-child .c-news-column__icon,
	.c-news-column > *:first-child .c-news-column__body {
		padding-top: 0 !important;
	}
	.c-news-column > *:last-child .c-news-column__date,
	.c-news-column > *:last-child .c-news-column__icon,
	.c-news-column > *:last-child .c-news-column__body {
		border-bottom: 0 !important;
		padding-bottom: 0 !important;
	}
	.c-news-column__date {
		display: table-cell;
		white-space: nowrap;
		width: 1%;
		font-size: 15px;
		color: #606060;
	}
	.c-news-column__icon {
		display: table-cell;
		white-space: nowrap;
		width: 1%;
	}
	.c-news-column__icon > *:not(:last-child) {
		margin-right: 0.5em;
	}
	.c-news-column__body {
		display: table-cell;
	}
}
@media screen and (max-width: 767px) {
	.c-news-column > *:not(:has(> a)) {
		display: grid;
		grid-template-columns: max-content 1fr;
		grid-template-areas: "date icon" "body body";
	}
	.c-news-column > *:has(> a) a {
		display: grid;
		grid-template-columns: max-content 1fr;
		grid-template-areas: "date icon" "body body";
	}
	.c-news-column > *:has(> a) {
		border-bottom: 1px solid #c8cfd4;
	}
	.c-news-column > *:has(> a) a {
		color: inherit;
		text-decoration: none;
		padding: 1.75em 0.4375em;
		transition-property: background;
		transition-duration: 0.4s;
	}
}
@media screen and (max-width: 767px) and (any-hover: hover) {
	.c-news-column > *:has(> a) a:hover {
		text-decoration: none;
	}
}
@media screen and (max-width: 767px) {
	.c-news-column > *:has(> a) a:focus {
		text-decoration: none;
	}
}
@media screen and (max-width: 767px) and (any-hover: hover) {
	.c-news-column > *:has(> a) a:hover {
		background-color: #f1f1f1;
	}
}
@media screen and (max-width: 767px) {
	.c-news-column > *:has(> a) a:focus {
		background-color: #f1f1f1;
	}
	.c-news-column > *:not(:has(> a)) {
		border-bottom: 1px solid #c8cfd4;
		padding: 1.75em 0.4375em;
	}
	.c-news-column > *:not(:has(> a)) .c-news-column__body a {
		color: inherit;
		text-decoration: none;
	}
}
@media screen and (max-width: 767px) and (any-hover: hover) {
	.c-news-column > *:not(:has(> a)) .c-news-column__body a:hover {
		text-decoration: none;
	}
}
@media screen and (max-width: 767px) {
	.c-news-column > *:not(:has(> a)) .c-news-column__body a:focus {
		text-decoration: none;
	}
}
@media screen and (max-width: 767px) and (any-hover: hover) {
	.c-news-column > *:not(:has(> a)) .c-news-column__body a:hover {
		text-decoration: underline;
	}
}
@media screen and (max-width: 767px) {
	.c-news-column > *:not(:has(> a)) .c-news-column__body a:focus {
		text-decoration: underline;
	}
	.c-news-column > *:has(> a):first-child a,
	.c-news-column > *:not(:has(> a)):first-child {
		padding-top: 0 !important;
	}
	.c-news-column > *:has(> a):last-child,
	.c-news-column > *:not(:has(> a)):last-child {
		border-bottom: 0 !important;
	}
	.c-news-column > *:has(> a):last-child a,
	.c-news-column > *:not(:has(> a)):last-child {
		padding-bottom: 0 !important;
	}
	.c-news-column__date {
		grid-area: date;
		padding-right: 0.875em;
		font-size: 13px;
		color: #606060;
	}
	.c-news-column__icon {
		grid-area: icon;
	}
	.c-news-column__icon > *:not(:last-child) {
		margin-right: 0.5em;
	}
	.c-news-column__body {
		grid-area: body;
		padding-top: 0.4375em;
	}
}

/******************************************************************
component - news-column-top
******************************************************************/
.c-news-column-top {
	line-height: 1.8;
}
@media print, screen and (min-width: 768px) {
	.c-news-column-top {
		display: table;
		width: 100%;
	}
	.c-news-column-top > *:not(:has(> a)) {
		display: table-row;
	}
	.c-news-column-top > *:has(> a) {
		display: table-row-group;
	}
	.c-news-column-top > *:has(> a) a {
		display: table-row;
	}
	.c-news-column-top > *:has(> a) a {
		color: inherit;
		text-decoration: none;
		transition-property: background color;
		transition-duration: 0.4s;
	}
}
@media print and (any-hover: hover), screen and (min-width: 768px) and (any-hover: hover) {
	.c-news-column-top > *:has(> a) a:hover {
		text-decoration: none;
	}
}
@media print, screen and (min-width: 768px) {
	.c-news-column-top > *:has(> a) a:focus {
		text-decoration: none;
	}
}
@media print and (any-hover: hover), screen and (min-width: 768px) and (any-hover: hover) {
	.c-news-column-top > *:has(> a) a:hover {
		color: #0055b4;
	}
}
@media print, screen and (min-width: 768px) {
	.c-news-column-top > *:has(> a) a:focus {
		color: #0055b4;
	}
	.c-news-column-top .c-news-column-top__date {
		border-bottom: 1px solid #c8cfd4;
		padding: 0.875em;
	}
	.c-news-column-top .c-news-column-top__icon,
	.c-news-column-top .c-news-column-top__body {
		border-bottom: 1px solid #c8cfd4;
		padding: 1.225em 0.875em 1.225em 0;
	}
	.c-news-column-top__date {
		display: table-cell;
		white-space: nowrap;
		width: 1%;
		font-size: 15px;
		color: #606060;
	}
	.c-news-column-top__icon {
		display: table-cell;
		white-space: nowrap;
		width: 1%;
	}
	.c-news-column-top__icon > *:not(:last-child) {
		margin-right: 0.5em;
	}
	.c-news-column-top__body {
		display: table-cell;
	}
}
@media screen and (max-width: 767px) {
	.c-news-column-top > *:not(:has(> a)) {
		display: grid;
		grid-template-columns: max-content 1fr;
		grid-template-areas: "date icon" "body body";
	}
	.c-news-column-top > *:has(> a) a {
		display: grid;
		grid-template-columns: max-content 1fr;
		grid-template-areas: "date icon" "body body";
	}
	.c-news-column-top {
		border-top: 1px solid #c8cfd4;
	}
	.c-news-column-top > *:has(> a) {
		border-bottom: 1px solid #c8cfd4;
	}
	.c-news-column-top > *:has(> a) a {
		color: inherit;
		text-decoration: none;
		padding: 0.875em 0.4375em;
		transition-property: background;
		transition-duration: 0.4s;
	}
}
@media screen and (max-width: 767px) and (any-hover: hover) {
	.c-news-column-top > *:has(> a) a:hover {
		text-decoration: none;
	}
}
@media screen and (max-width: 767px) {
	.c-news-column-top > *:has(> a) a:focus {
		text-decoration: none;
	}
}
@media screen and (max-width: 767px) and (any-hover: hover) {
	.c-news-column-top > *:has(> a) a:hover {
		background-color: #f1f1f1;
	}
}
@media screen and (max-width: 767px) {
	.c-news-column-top > *:has(> a) a:focus {
		background-color: #f1f1f1;
	}
	.c-news-column-top > *:not(:has(> a)) {
		border-bottom: 1px solid #c8cfd4;
		padding: 0.875em 0.4375em;
	}
	.c-news-column-top > *:not(:has(> a)) .c-news-column-top__body a {
		color: inherit;
		text-decoration: none;
	}
}
@media screen and (max-width: 767px) and (any-hover: hover) {
	.c-news-column-top > *:not(:has(> a)) .c-news-column-top__body a:hover {
		text-decoration: none;
	}
}
@media screen and (max-width: 767px) {
	.c-news-column-top > *:not(:has(> a)) .c-news-column-top__body a:focus {
		text-decoration: none;
	}
}
@media screen and (max-width: 767px) and (any-hover: hover) {
	.c-news-column-top > *:not(:has(> a)) .c-news-column-top__body a:hover {
		text-decoration: underline;
	}
}
@media screen and (max-width: 767px) {
	.c-news-column-top > *:not(:has(> a)) .c-news-column-top__body a:focus {
		text-decoration: underline;
	}
	.c-news-column-top__date {
		grid-area: date;
		padding-right: 0.875em;
		font-size: 13px;
		color: #606060;
	}
	.c-news-column-top__icon {
		grid-area: icon;
	}
	.c-news-column-top__icon > *:not(:last-child) {
		margin-right: 0.5em;
	}
	.c-news-column-top__body {
		padding-top: 0.4375em;
		grid-area: body;
	}
}

/******************************************************************
component - news-column-school
******************************************************************/
.c-news-column-school {
	line-height: 1.8;
}
@media print, screen and (min-width: 768px) {
	.c-news-column-school {
		display: table !important;
		width: 100%;
	}
	.c-news-column-school > *:not(:has(> a)) {
		display: table-row !important;
	}
	.c-news-column-school > *:has(> a) {
		display: table-row-group !important;
	}
	.c-news-column-school > *:has(> a) a {
		display: table-row !important;
	}
	.c-news-column-school {
		border-top: 1px solid #b9c0c5;
	}
	.c-news-column-school > *:not(:has(> a)) .c-news-column-school__body a {
		color: inherit;
		text-decoration: none;
	}
}
@media print and (any-hover: hover), screen and (min-width: 768px) and (any-hover: hover) {
	.c-news-column-school > *:not(:has(> a)) .c-news-column-school__body a:hover {
		text-decoration: none;
	}
}
@media print, screen and (min-width: 768px) {
	.c-news-column-school > *:not(:has(> a)) .c-news-column-school__body a:focus {
		text-decoration: none;
	}
}
@media print and (any-hover: hover), screen and (min-width: 768px) and (any-hover: hover) {
	.c-news-column-school > *:not(:has(> a)) .c-news-column-school__body a:hover {
		text-decoration: underline;
	}
}
@media print, screen and (min-width: 768px) {
	.c-news-column-school > *:not(:has(> a)) .c-news-column-school__body a:focus {
		text-decoration: underline;
	}
	.c-news-column-school > *:has(> a) a {
		color: inherit;
		text-decoration: none;
	}
}
@media print and (any-hover: hover), screen and (min-width: 768px) and (any-hover: hover) {
	.c-news-column-school > *:has(> a) a:hover {
		text-decoration: none;
	}
}
@media print, screen and (min-width: 768px) {
	.c-news-column-school > *:has(> a) a:focus {
		text-decoration: none;
	}
}
@media print and (any-hover: hover), screen and (min-width: 768px) and (any-hover: hover) {
	.c-news-column-school > *:has(> a) a:hover .c-news-column-school__body {
		color: #0055b4;
	}
}
@media print, screen and (min-width: 768px) {
	.c-news-column-school > *:has(> a) a:focus .c-news-column-school__body {
		color: #0055b4;
	}
	.c-news-column-school .c-news-column-school__date {
		border-bottom: 1px solid #b9c0c5;
		padding: 25px 18px 25px 30px;
	}
	.c-news-column-school .c-news-column-school__body {
		border-bottom: 1px solid #b9c0c5;
		padding: 25px 30px 25px 0;
		transition-property: color;
		transition-duration: 0.4s;
	}
	.c-news-column-school__date {
		display: table-cell !important;
		white-space: nowrap;
		width: 1%;
		font-size: 15px;
		color: #606060;
	}
	.c-news-column-school__body {
		display: table-cell !important;
	}
}
@media screen and (max-width: 767px) {
	.c-news-column-school > *:not(:has(> a)) {
		display: grid;
		grid-template-columns: max-content 1fr;
		grid-template-areas: "date icon" "body body";
	}
	.c-news-column-school > *:has(> a) a {
		display: grid;
		grid-template-columns: max-content 1fr;
		grid-template-areas: "date icon" "body body";
	}
	.c-news-column-school > *:not(:has(> a)) {
		box-sizing: border-box;
		padding: 12px 15px;
	}
	.c-news-column-school > *:not(:has(> a)) .c-news-column-school__body a {
		color: inherit;
		text-decoration: none;
	}
}
@media screen and (max-width: 767px) and (any-hover: hover) {
	.c-news-column-school > *:not(:has(> a)) .c-news-column-school__body a:hover {
		text-decoration: none;
	}
}
@media screen and (max-width: 767px) {
	.c-news-column-school > *:not(:has(> a)) .c-news-column-school__body a:focus {
		text-decoration: none;
	}
}
@media screen and (max-width: 767px) and (any-hover: hover) {
	.c-news-column-school > *:not(:has(> a)) .c-news-column-school__body a:hover {
		text-decoration: underline;
	}
}
@media screen and (max-width: 767px) {
	.c-news-column-school > *:not(:has(> a)) .c-news-column-school__body a:focus {
		text-decoration: underline;
	}
	.c-news-column-school > *:has(> a) a {
		padding: 12px 15px;
		color: inherit;
		text-decoration: none;
		transition-property: opacity;
		transition-duration: 0.4s;
	}
}
@media screen and (max-width: 767px) and (any-hover: hover) {
	.c-news-column-school > *:has(> a) a:hover {
		text-decoration: none;
	}
}
@media screen and (max-width: 767px) {
	.c-news-column-school > *:has(> a) a:focus {
		text-decoration: none;
	}
}
@media screen and (max-width: 767px) and (any-hover: hover) {
	.c-news-column-school > *:has(> a) a:hover {
		opacity: 0.6;
	}
}
@media screen and (max-width: 767px) {
	.c-news-column-school > *:has(> a) a:focus {
		opacity: 0.6;
	}
	.c-news-column-school__date {
		flex-grow: initial !important;
		grid-area: date;
		font-size: 12px;
		color: #606060;
		display: block !important;
	}
	.c-news-column-school__body {
		grid-area: body;
		display: block !important;
	}
}

/******************************************************************
component - news-column-corp
******************************************************************/
.c-news-column-corp {
	line-height: 1.8;
}
@media print, screen and (min-width: 768px) {
	.c-news-column-corp {
		display: table;
		width: 100%;
	}
	.c-news-column-corp > *:not(:has(> a)) {
		display: table-row;
	}
	.c-news-column-corp > *:has(> a) {
		display: table-row-group;
	}
	.c-news-column-corp > *:has(> a) a {
		display: table-row;
	}
	.c-news-column-corp > *:first-child .c-news-column-corp__date,
	.c-news-column-corp > *:first-child .c-news-column-corp__body {
		padding-top: 0 !important;
	}
	.c-news-column-corp > *:not(:has(> a)) .c-news-column-corp__body a {
		color: inherit;
		text-decoration: none;
		transition-property: color;
		transition-duration: 0.4s;
	}
}
@media print and (any-hover: hover), screen and (min-width: 768px) and (any-hover: hover) {
	.c-news-column-corp > *:not(:has(> a)) .c-news-column-corp__body a:hover {
		text-decoration: none;
	}
}
@media print, screen and (min-width: 768px) {
	.c-news-column-corp > *:not(:has(> a)) .c-news-column-corp__body a:focus {
		text-decoration: none;
	}
}
@media print and (any-hover: hover), screen and (min-width: 768px) and (any-hover: hover) {
	.c-news-column-corp > *:not(:has(> a)) .c-news-column-corp__body a:hover {
		color: #0055b4;
	}
}
@media print, screen and (min-width: 768px) {
	.c-news-column-corp > *:not(:has(> a)) .c-news-column-corp__body a:focus {
		color: #0055b4;
	}
	.c-news-column-corp .c-news-column-corp__date {
		border-bottom: 1px solid #c8cfd4;
		padding: 0.875em 2.625em 0.875em 0.875em;
	}
	.c-news-column-corp .c-news-column-corp__body {
		border-bottom: 1px solid #c8cfd4;
		padding: 1.75em 0.875em 1.75em 0;
		display: flex;
		flex-direction: column;
		gap: 1em;
	}
	.c-news-column-corp__date {
		display: table-cell;
		white-space: nowrap;
		width: 1%;
		font-size: 15px;
		color: #606060;
	}
	.c-news-column-corp__body {
		display: table-cell;
	}
}
@media screen and (max-width: 767px) {
	.c-news-column-corp > *:not(:has(> a)) {
		display: grid;
		grid-template-columns: max-content 1fr;
		grid-template-areas: "date icon" "body body";
	}
	.c-news-column-corp > *:has(> a) a {
		display: grid;
		grid-template-columns: max-content 1fr;
		grid-template-areas: "date icon" "body body";
	}
	.c-news-column-corp > *:not(:has(> a)) {
		border-bottom: 1px solid #c8cfd4;
		padding: 1.75em 0.4375em;
	}
	.c-news-column-corp > *:not(:has(> a)):first-child {
		padding-top: 0 !important;
	}
	.c-news-column-corp > *:not(:has(> a)) .c-news-column-corp__body a {
		color: inherit;
		text-decoration: none;
	}
}
@media screen and (max-width: 767px) and (any-hover: hover) {
	.c-news-column-corp > *:not(:has(> a)) .c-news-column-corp__body a:hover {
		text-decoration: none;
	}
}
@media screen and (max-width: 767px) {
	.c-news-column-corp > *:not(:has(> a)) .c-news-column-corp__body a:focus {
		text-decoration: none;
	}
}
@media screen and (max-width: 767px) {
	.c-news-column-corp__date {
		grid-area: date;
		padding-right: 0.875em;
		font-size: 13px;
		color: #606060;
	}
	.c-news-column-corp__body {
		grid-area: body;
		padding-top: 0.4375em;
		display: flex;
		flex-direction: column;
		gap: 0.5em;
	}
}

/******************************************************************
component - list
******************************************************************/
.c-list > * {
	line-height: 1.8;
}
.c-list--gutter > *:not(:first-child) {
	margin-top: 0.75em;
}

/******************************************************************
component - list-multicolumn
******************************************************************/
.c-list-multicolumn {
	line-height: 1.8;
	column-gap: 1rem;
	column-count: 3;
}
@media screen and (max-width: 767px) {
	.c-list-multicolumn {
		column-count: 1;
	}
}
.c-list-multicolumn--2column {
	column-count: 2;
}
@media screen and (max-width: 767px) {
	.c-list-multicolumn--2column {
		column-count: 1;
	}
}
.c-list-multicolumn--4column {
	column-count: 4;
}
@media screen and (max-width: 767px) {
	.c-list-multicolumn--4column {
		column-count: 2;
	}
}
.c-list-multicolumn--5column {
	column-count: 5;
}
@media screen and (max-width: 767px) {
	.c-list-multicolumn--5column {
		column-count: 2;
	}
}
.c-list-multicolumn > * {
	break-inside: avoid;
	line-height: 1.8;
}
/******************************************************************
component - list-disc
******************************************************************/
.c-list-disc > * {
	margin-left: 1.5em;
	list-style: disc;
	line-height: 1.8;
}
.c-list-disc > *::marker {
	font-weight: bold;
	color: inherit;
}
.c-list-disc--gutter > *:not(:first-child) {
	margin-top: 0.75em;
}

/******************************************************************
component - list-order
******************************************************************/
.c-list-order:has(> :nth-child(10)) {
	margin-left: 0.75em;
}
.c-list-order > * {
	margin-left: 1.5em;
	list-style: decimal;
	line-height: 1.8;
}
.c-list-order--gutter > *:not(:first-child) {
	margin-top: 0.75em;
}

/******************************************************************
component - list-arrow-bottom-inline
******************************************************************/
.c-list-arrow-bottom-inline {
	display: flex;
	flex-wrap: wrap;
	gap: 0.8em 2em;
}
.c-list-arrow-bottom-inline--center {
	justify-content: center;
}
.c-list-arrow-bottom-inline a {
	color: inherit;
	text-decoration: none;
}
@media (any-hover: hover) {
	.c-list-arrow-bottom-inline a:hover {
		text-decoration: none;
	}
}
.c-list-arrow-bottom-inline a:focus {
	text-decoration: none;
}
.c-list-arrow-bottom-inline a {
	font-weight: 500;
	line-height: 1.8;
}
.c-list-arrow-bottom-inline a {
	color: inherit;
	text-decoration: none;
}
@media (any-hover: hover) {
	.c-list-arrow-bottom-inline a:hover {
		text-decoration: none;
	}
}
.c-list-arrow-bottom-inline a:focus {
	text-decoration: none;
}
.c-list-arrow-bottom-inline a {
	transition-property: color;
	transition-duration: 0.4s;
}
@media (any-hover: hover) {
	.c-list-arrow-bottom-inline a:hover {
		color: #0055b4;
	}
}
.c-list-arrow-bottom-inline a:focus {
	color: #0055b4;
}

/******************************************************************
component - list-note
******************************************************************/
.c-list-note {
	display: table;
	line-height: 1.8;
}
.c-list-note__item {
	display: table-row;
}
.c-list-note__head {
	display: table-cell;
	padding-right: 0.75em;
	white-space: nowrap;
	vertical-align: top;
}
.c-list-note__head--wide {
	padding-right: 1.75em;
	font-weight: 400;
}
.c-list-note__head--fit {
	padding-right: 0;
}
.c-list-note__head--asterisk {
	width: 1.5em;
	padding-right: 0;
}
.c-list-note__head--border {
	padding-right: 2em;
	position: relative;
}
.c-list-note__head--border::after {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	top: calc((1em - 1lh) / -2);
	right: 1em;
	height: 1em;
	border-right: 1px solid #212836;
}
.c-list-note__head--colon {
	padding-right: 2em;
	position: relative;
}
.c-list-note__head--colon::after {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	top: 0;
	right: 0.5em;
	height: 1em;
	content: "：";
}
.c-list-note__body {
	display: table-cell;
	vertical-align: top;
}
.c-list-note__body a {
	word-break: break-all;
}
.c-list-note--gutter > .c-list-note__item:not(:first-child) > .c-list-note__head,
.c-list-note--gutter > .c-list-note__item:not(:first-child) > .c-list-note__body {
	padding-top: 0.75em;
}
@media screen and (max-width: 767px) {
	.c-list-note--gutter.sp-row > .c-list-note__item:not(:first-child) > .c-list-note__body {
		padding-top: 0;
	}
}
.c-list-note--gutter-border {
	width: 100%;
}
.c-list-note--gutter-border > .c-list-note__item > .c-list-note__head {
	width: 0.1%;
}
.c-list-note--gutter-border > .c-list-note__item:first-child:not(:last-child) > .c-list-note__head,
.c-list-note--gutter-border > .c-list-note__item:first-child:not(:last-child) > .c-list-note__body {
	padding-bottom: 0.75em;
}
.c-list-note--gutter-border > .c-list-note__item:not(:first-child):not(:last-child) > .c-list-note__head,
.c-list-note--gutter-border > .c-list-note__item:not(:first-child):not(:last-child) > .c-list-note__body {
	border-top: 1px solid #73777d;
	padding-block: 0.75em;
}
.c-list-note--gutter-border > .c-list-note__item:not(:first-child):last-child > .c-list-note__head,
.c-list-note--gutter-border > .c-list-note__item:not(:first-child):last-child > .c-list-note__body {
	border-top: 1px solid #73777d;
	padding-top: 0.75em;
}
@media screen and (max-width: 767px) {
	.c-list-note--gutter-border.sp-row > .c-list-note__item > .c-list-note__head {
		padding-bottom: 0 !important;
	}
	.c-list-note--gutter-border.sp-row > .c-list-note__item > .c-list-note__body {
		border-top: 0 !important;
		padding-block: 0 !important;
	}
}
.c-list-note--border {
	width: 100%;
}
.c-list-note--border > .c-list-note__item > .c-list-note__head {
	width: 0.1%;
}
.c-list-note--border {
	border-bottom: 1px solid #73777d;
}
.c-list-note--border > .c-list-note__item > .c-list-note__head,
.c-list-note--border > .c-list-note__item > .c-list-note__body {
	border-top: 1px solid #73777d;
	padding-block: 0.75em;
}
.c-list-note--border > .c-list-note__item:last-child > .c-list-note__head,
.c-list-note--border > .c-list-note__item:last-child > .c-list-note__body {
	padding-bottom: 0.75em;
}
@media screen and (max-width: 767px) {
	.c-list-note--border.sp-row > .c-list-note__item > .c-list-note__head {
		padding-bottom: 0 !important;
	}
	.c-list-note--border.sp-row > .c-list-note__item > .c-list-note__body {
		border-top: 0 !important;
		padding-block: 0 !important;
	}
	.c-list-note--border.sp-row > .c-list-note__item:last-child > .c-list-note__body {
		padding-bottom: 0.75em !important;
	}
}
@media screen and (max-width: 767px) {
	.c-list-note.sp-row {
		display: block;
	}
	.c-list-note.sp-row > .c-list-note__item {
		display: block;
	}
	.c-list-note.sp-row > .c-list-note__item:not(:first-child) {
		padding-top: 0.75em;
	}
	.c-list-note.sp-row > .c-list-note__item > .c-list-note__head {
		display: block;
		white-space: normal;
		padding-right: 0;
		width: auto;
		font-weight: bold;
	}
	.c-list-note.sp-row > .c-list-note__item > .c-list-note__head::after {
		position: static;
	}
	.c-list-note.sp-row > .c-list-note__item > .c-list-note__body {
		display: block;
	}
}

/******************************************************************
component - define
******************************************************************/
.c-define > div:not(:first-child) {
	margin-top: 1rem;
}
.c-define > div > dt {
	font-weight: bold;
	line-height: 1.8;
}
.c-define > div > dd {
	line-height: 1.8;
}
.c-define--disc > div {
	margin-left: 1.5em;
}
.c-define--disc > div > dt {
	display: list-item;
}
.c-define--disc > div > dt:has(.c-badge-list) {
	margin-bottom: 0.25em;
}
.c-define--disc > div > dt:has(.c-badge-list) a {
	display: flex;
	flex-wrap: wrap;
	gap: 0.25em 1em;
}
@media screen and (max-width: 767px) {
	.c-define--disc > div > dt:has(.c-badge-list) a {
		flex-direction: column;
	}
}

/******************************************************************
component - define-column
******************************************************************/
.c-define-column {
	line-height: 1.8;
}
@media print, screen and (min-width: 768px) {
	.c-define-column {
		display: table;
		margin-top: -2rem;
	}
	.c-define-column__item {
		display: table-row;
	}
	.c-define-column__head {
		padding-top: 2rem;
		display: table-cell;
		padding-right: 2rem;
		white-space: nowrap;
		vertical-align: top;
		font-weight: bold;
		font-size: 18px;
	}
}
@media screen and (min-width: 768px) and (max-width: 767px) {
	.c-define-column__head {
		font-size: 15px;
	}
}
@media print, screen and (min-width: 768px) {
	.c-define-column__body {
		padding-top: 2rem;
		display: table-cell;
		vertical-align: top;
	}
	.c-define-column__body a {
		word-break: break-all;
	}
	.c-define-column__body-inner {
		padding-left: 2rem;
		border-left: 1px solid #73777d;
	}
}
@media screen and (max-width: 767px) {
	.c-define-column__item:not(:last-child) {
		margin-bottom: 0.9rem;
	}
	.c-define-column__item > *:not(:last-child) {
		margin-bottom: 0.5em;
	}
	.c-define-column__head {
		font-weight: bold;
		padding-bottom: 0.25em;
		border-bottom: 1px solid #73777d;
	}
}

/******************************************************************
component - define-table
******************************************************************/
.c-define-table {
	border-top: 1px solid #c8cfd4;
	border-left: 1px solid #c8cfd4;
	background-color: #fff;
	display: flex;
	flex-wrap: wrap;
}
.c-define-table__item {
	box-sizing: border-box;
	border-right: 1px solid #c8cfd4;
	border-bottom: 1px solid #c8cfd4;
	width: 100%;
}
.c-define-table__item--col2 {
	width: 50%;
}
@media screen and (max-width: 767px) {
	.c-define-table__item--col2 {
		width: 100%;
	}
}
.c-define-table__item {
	display: flex;
}
.c-define-table__head {
	font-weight: 500;
	flex-shrink: 0;
	border-right: 1px solid #c8cfd4;
	background-color: #e8ecf0;
	text-align: center;
	width: 8em;
	padding: 0.75rem 1rem;
}
@media screen and (max-width: 1270px) {
	.c-define-table__head {
		width: 6em;
	}
}
@media screen and (max-width: 767px) {
	.c-define-table__head {
		width: 5em;
		padding: 0.9rem;
	}
}
.c-define-table__head--l {
	width: 10em;
}
@media screen and (max-width: 1270px) {
	.c-define-table__head--l {
		width: 10em;
	}
}
@media screen and (max-width: 767px) {
	.c-define-table__head--l {
		width: 9em;
	}
}
.c-define-table__body {
	flex-grow: 1;
	padding: 0.75rem 1rem;
}
@media screen and (max-width: 767px) {
	.c-define-table__body {
		padding: 0.9rem;
	}
}
.c-define-table__color-icon {
	width: 12px !important;
	vertical-align: -2px;
	margin-right: 4px;
}
@media screen and (max-width: 767px) {
	.c-define-table.sp-row .c-define-table__item {
		display: block;
	}
	.c-define-table.sp-row .c-define-table__head {
		width: initial;
		border-right: 0;
		border-bottom: 1px solid #c8cfd4;
	}
}

/******************************************************************
component - image
******************************************************************/
a:has(> .c-image) {
	display: block;
	color: inherit;
	text-decoration: none;
}
@media (any-hover: hover) {
	a:has(> .c-image):hover {
		text-decoration: none;
	}
}
a:has(> .c-image):focus {
	text-decoration: none;
}

a:has(> .c-image:not(.c-image--full):not(.c-image--object-fit)) {
	width: fit-content;
	margin-inline: auto;
}

a:has(> .c-image.c-image--left:not(.c-image--full):not(.c-image--object-fit)) {
	margin-inline: initial;
}

a:has(> .c-image.c-image--right:not(.c-image--full):not(.c-image--object-fit)) {
	margin-inline: auto 0;
}

.c-image {
	display: table;
	width: fit-content;
	margin-inline: auto;
}
.c-image--left {
	margin-inline: initial;
}
.c-image--right {
	margin-inline: auto 0;
}
.c-image__caption {
	display: table-caption;
	caption-side: bottom;
	line-height: 1.8;
}
.c-image__caption {
	font-size: 15px;
}
@media screen and (max-width: 767px) {
	.c-image__caption {
		font-size: 13px;
	}
}
.c-image__caption:first-child {
	margin-bottom: 0.5rem;
}
.c-image__caption:last-child {
	margin-top: 0.5rem;
}
/******************************************************************
component - image-column
******************************************************************/
.c-image-column {
	--max-img-width: fit-content(50%);
	--max-img-width-sp: fit-content(40%);
}
.c-image-column:has(.js-swiper) {
	--max-img-width: 50%;
	--max-img-width-sp: 40%;
}
.c-image-column {
	display: grid;
	grid-template-areas: "img body";
	grid-template-columns: var(--max-img-width) 1fr;
}
@media screen and (max-width: 767px) {
	.c-image-column {
		grid-template-columns: var(--max-img-width-sp) 1fr;
	}
}
.c-image-column--right {
	grid-template-areas: "body img";
	grid-template-columns: 1fr var(--max-img-width);
}
@media screen and (max-width: 767px) {
	.c-image-column--right {
		grid-template-columns: 1fr var(--max-img-width-sp);
	}
}
.c-image-column__body {
	grid-area: body;
}
.c-image-column__img {
	grid-area: img;
}
.c-image-column__img > *:not(:last-child) {
	margin-bottom: 1.5rem;
}
@media screen and (max-width: 767px) {
	.c-image-column__img > *:not(:last-child) {
		margin-bottom: 1.35rem;
	}
}
.c-image-column--ad-detail .c-image-column__img {
	text-align: center;
}
@media (any-hover: hover) {
	.c-image-column--ad-detail .c-image-column__img a:hover img {
		transform: scale(1.02);
	}
}
.c-image-column--ad-detail .c-image-column__img a:focus img {
	transform: scale(1.02);
}
.c-image-column--ad-detail .c-image-column__img img {
	transition-property: transform;
	transition-duration: 0.3s;
	transition-timing-function: cubic-bezier(0.3, 1.8, 0.6, 1);
	will-change: transform;
	max-width: 300px;
}
@media screen and (max-width: 767px) {
	.c-image-column--ad-detail .c-image-column__img img {
		max-width: 54vw;
	}
}
.c-image-column {
	--image-column-gap: 1rem;
	gap: var(--image-column-gap);
}
@media screen and (max-width: 1270px) {
	.c-image-column.pc-vw {
		--image-column-gap: 1.2598425197vw;
	}
}
.c-image-column--m {
	--image-column-gap: 1rem;
}

.c-image-column--2x {
	--image-column-gap: 2rem;
}

@media screen and (max-width: 1270px) {
	.c-image-column--2x.pc-vw {
		--image-column-gap: 2.5196850394vw;
	}
}
.c-image-column--40px {
	--image-column-gap: 40px;
}

@media screen and (max-width: 1270px) {
	.c-image-column--40px.pc-vw {
		--image-column-gap: 3.1496062992vw;
	}
}
@media screen and (max-width: 767px) {
	.c-image-column {
		--image-column-gap: 0.9rem;
	}
	.c-image-column.sp-top {
		align-items: stretch;
	}
	.c-image-column.sp-vertical {
		align-items: center;
	}
	.c-image-column.sp-row {
		grid-template-areas: "img" "body";
		grid-template-columns: 100%;
	}
	.c-image-column.sp-row .c-image-column__img {
		width: fit-content;
		margin-inline: auto;
		max-width: 100% !important;
	}
	.c-image-column.sp-row-reverse {
		grid-template-areas: "body" "img";
	}
	.c-image-column--m {
		--image-column-gap: 0.9rem;
	}
	.c-image-column.sp-m {
		--image-column-gap: 0.9rem;
	}
	.c-image-column--2x {
		--image-column-gap: 1.8rem;
	}
	.c-image-column.sp-2x {
		--image-column-gap: 1.8rem;
	}
	.c-image-column--40px {
		--image-column-gap: 40px;
	}
	.c-image-column.sp-40px {
		--image-column-gap: 40px;
	}
}

/******************************************************************
component - table
******************************************************************/
.c-table-scroll .c-table {
	min-width: 700px;
}

.c-table {
	width: 100%;
}
@media screen and (max-width: 767px) {
	.c-table.sp-row {
		width: 100%;
		border-top: 1px solid #c8cfd4;
	}
	.c-table.sp-row tbody, .c-table.sp-row tr {
		display: block;
		width: 100%;
	}
	.c-table.sp-row th, .c-table.sp-row td {
		display: block;
		width: 100%;
		border-top: 0 !important;
	}
	.c-table.sp-row.c-table--radius tr:first-child > *:first-child {
		border-radius: 10px 10px 0 0;
	}
}
.c-table {
	background-color: #fff;
}
.c-table th, .c-table td {
	box-sizing: border-box;
	border: 1px solid #c8cfd4;
	text-align: left;
	padding: 1rem;
}
@media screen and (max-width: 767px) {
	.c-table th, .c-table td {
		padding: 0.9rem;
	}
}
.c-table th {
	font-weight: 500;
}
.c-table__bg {
	background-color: #e8ecf0;
}

/******************************************************************
component - table-scroll
******************************************************************/
.c-table-scroll {
	overflow-x: auto;
}
.c-table-scroll::-webkit-scrollbar {
	width: 5px;
	background: #F1F1F1;
}
.c-table-scroll::-webkit-scrollbar:horizontal {
	height: 5px;
	background: #F1F1F1;
}
.c-table-scroll::-webkit-scrollbar-thumb {
	background: #BCBCBC;
	border-radius: 2px;
}
.c-table-scroll::-webkit-scrollbar-thumb:horizontal {
	background: #BCBCBC;
	border-radius: 2px;
}
.c-table-scroll {
	scrollbar-width: thin;
	scrollbar-color: #BCBCBC #F1F1F1;
}
.c-table-scroll--100vw {
	box-sizing: border-box;
}
@media screen and (max-width: 1270px) {
	.c-table-scroll--100vw {
		width: calc(100vw - var(--scrollbar));
		margin: 0 calc(50% - 50vw + var(--scrollbar) / 2);
		padding-inline: 35px;
	}
}
@media screen and (max-width: 767px) {
	.c-table-scroll--100vw {
		padding-inline: 15px;
	}
}

.js-table-scroll-attention {
	position: relative;
}
.js-table-scroll-attention__body {
	vertical-align: middle;
	box-sizing: border-box;
	position: absolute;
	inset: 0;
	margin: auto;
	width: fit-content;
	height: fit-content;
	border-radius: 10px;
	color: #fff;
	font-size: 0.8rem;
	line-height: 1.4;
}
@media screen and (max-width: 767px) {
	.js-table-scroll-attention__body {
		font-size: 0.75rem;
	}
}
.js-table-scroll-attention__body {
	padding: 55px 10px 10px 10px;
	background: url("data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBmaWxsPSIjZmZmIiBkPSJtOS4yOTI4OTMyMiA3aC01LjU4NTc4NjQ0bDEuMTQ2NDQ2NjEgMS4xNDY0NDY2MWMuMTk1MjYyMTUuMTk1MjYyMTUuMTk1MjYyMTUuNTExODQ0NjMgMCAuNzA3MTA2NzhzLS41MTE4NDQ2My4xOTUyNjIxNS0uNzA3MTA2NzggMGwtMi0yYy0uMTk1MjYyMTUtLjE5NTI2MjE1LS4xOTUyNjIxNS0uNTExODQ0NjMgMC0uNzA3MTA2NzhsMi0yYy4xOTUyNjIxNS0uMTk1MjYyMTUuNTExODQ0NjMtLjE5NTI2MjE1LjcwNzEwNjc4IDBzLjE5NTI2MjE1LjUxMTg0NDYzIDAgLjcwNzEwNjc4bC0xLjE0NjQ0NjYxIDEuMTQ2NDQ2NjFoNS41ODU3ODY0NGwtMS4xNDY0NDY2MS0xLjE0NjQ0NjYxYy0uMTk1MjYyMTUtLjE5NTI2MjE1LS4xOTUyNjIxNS0uNTExODQ0NjMgMC0uNzA3MTA2NzhzLjUxMTg0NDYzLS4xOTUyNjIxNS43MDcxMDY3OCAwbDIuMDAwMDAwMDEgMmMuMTk1MjYyMS4xOTUyNjIxNS4xOTUyNjIxLjUxMTg0NDYzIDAgLjcwNzEwNjc4bC0yLjAwMDAwMDAxIDJjLS4xOTUyNjIxNS4xOTUyNjIxNS0uNTExODQ0NjMuMTk1MjYyMTUtLjcwNzEwNjc4IDBzLS4xOTUyNjIxNS0uNTExODQ0NjMgMC0uNzA3MTA2Nzh6bTQuNzA3MTA2NzggMi41djIuNTQ3NDM3NmMwIC4zMzA5MTA1LS4xMTYwMTQ1LjY1MTM0ODQtLjMyNzg1ODMuOTA1NTYwOS0uNTAwMTI3NC42MDAxNTI5LTEuMzkyMDgwOS42ODEyMzk2LTEuOTkyMjMzOS4xODExMTIxbC0uOTIzODM0LS43Njk4NjE3Yy0uMjgyNDI4OS0uMjM1MzU3My0uNjM4NDMzOC0uMzY0MjQ4OS0xLjAwNjA3MzgtLjM2NDI0ODktLjI2NjM2NDc0IDAtLjUwOTE3Mzk1LjE1MjYxNDYtLjYyNDY3Nzk1LjM5MjYzMzRsLS4wMzU2OTg1Ny4wNzQxODIxYy0uMTM1MTQ0ODMuMjgwODMyNi0uMDk0MjEzMTkuNjE0NjcxNC4xMDQ3NzM4Ni44NTQ1MzY1bDQuNDEzNDY3NjYgNS4zMjAxMjg0Yy43MTM5MTM4Ljg2MDU3MzYgMS43NzM5ODQ4IDEuMzU4NTE5NiAyLjg5MjEzNSAxLjM1ODUxOTYgMi40ODUyODE0IDAgNC41LTIuMDE0NzE4NiA0LjUtNC41di00YzAtLjI3NjE0MjQtLjIyMzg1NzYtLjUtLjUtLjVzLS41LjIyMzg1NzYtLjUuNXYxYzAgLjI3NjE0MjQtLjIyMzg1NzYuNS0uNS41cy0uNS0uMjIzODU3Ni0uNS0uNXYtMmMwLS4yNzYxNDI0LS4yMjM4NTc2LS41LS41LS41cy0uNS4yMjM4NTc2LS41LjV2MmMwIC4yNzYxNDI0LS4yMjM4NTc2LjUtLjUuNXMtLjUtLjIyMzg1NzYtLjUtLjV2LTNjMC0uMjc2MTQyMzctLjIyMzg1NzYtLjUtLjUtLjVzLS41LjIyMzg1NzYzLS41LjV2M2MwIC4yNzYxNDI0LS4yMjM4NTc2LjUtLjUuNXMtLjUtLjIyMzg1NzYtLjUtLjV2LTdjMC0uMjc2MTQyMzctLjIyMzg1NzYtLjUtLjUtLjVzLS41LjIyMzg1NzYzLS41LjV6bS0xLS4wMDAwMDA1NXYtMy45OTk5OTk0NWMwLS44Mjg0MjcxMi42NzE1NzI5LTEuNSAxLjUtMS41czEuNS42NzE1NzI4OCAxLjUgMS41djIuNTg1MzUyODVjLjE1NjM4OTUtLjA1NTI3NTc0LjMyNDY4MjMtLjA4NTM1Mjg1LjUtLjA4NTM1Mjg1LjY5MTczNCAwIDEuMjc0MTA2Mi40NjgyMzM4NiAxLjQ0NzQ1OTUgMS4xMDUwNDQ2Mi4xNzA5OTQ2LS4wNjc3ODc4NS4zNTc0MTY2LS4xMDUwNDQ2Mi41NTI1NDA1LS4xMDUwNDQ2Mi42OTE3MzQgMCAxLjI3NDEwNjIuNDY4MjMzODYgMS40NDc0NTk1IDEuMTA1MDQ0Ni4xNzA5OTQ2LS4wNjc3ODc4LjM1NzQxNjYtLjEwNTA0NDYuNTUyNTQwNS0uMTA1MDQ0Ni44Mjg0MjcxIDAgMS41LjY3MTU3MjkgMS41IDEuNXY0YzAgMy4wMzc1NjYxLTIuNDYyNDMzOSA1LjUtNS41IDUuNS0xLjQxNTcwNjcgMC0yLjc1Nzg3ODQtLjYzMDQ1NjktMy42NjE3NzU0LTEuNzIwMDQybC00LjQxMzQ2NzY1LTUuMzIwMTI4NGMtLjQ0ODYzNzg3LS41NDA4MDE4LS41NDA5MjI2OC0xLjI5MzQ3NzUtLjIzNjIyNDAzLTEuOTI2NjQ1MWwuMDM1Njk4NTgtLjA3NDE4MjFjLjI4MjExNzE1LS41ODYyNDI5Ljg3NTE3NTc2LS45NTkwMDI0IDEuNTI1NzY4NS0uOTU5MDAyNC42MDE1NzY1IDAgMS4xODQxMTQzLjIxMDkwNzggMS42NDYyNTgyLjU5NjAyNzdsLjkyMzgzNC43Njk4NjE3Yy4xNzU4NzYxLjE0NjU2MzMuNDM3MjY0OS4xMjI4MDA3LjU4MzgyODMtLjA1MzA3NTMuMDYyMDgxMi0uMDc0NDk3NS4wOTYwNzk1LS4xNjg0MDI1LjA5NjA3OTUtLjI2NTM3NjV2LTIuNTQ3NDM3NnoiLz48L3N2Zz4=") center top 8px/45px auto no-repeat;
	background-color: rgba(0, 0, 0, 0.7);
}
.js-table-scroll-attention__body {
	transition-property: opacity;
	transition-duration: 0.4s;
	opacity: 0;
	pointer-events: none;
}
.js-table-scroll-attention.is-scroll .js-table-scroll-attention__body[aria-hidden=false] {
	opacity: 1;
	pointer-events: auto;
}

/******************************************************************
component - heading-column
******************************************************************/
.c-heading-column {
	display: flex;
	gap: 60px;
}
@media screen and (max-width: 1270px) {
	.c-heading-column {
		gap: 3.1496062992vw;
	}
}
@media screen and (max-width: 1024px) {
	.c-heading-column {
		gap: 2rem;
		flex-direction: column;
	}
}
@media screen and (max-width: 767px) {
	.c-heading-column {
		gap: 1.8rem;
	}
}
.c-heading-column__head {
	flex-shrink: 0;
	box-sizing: border-box;
	width: 16%;
}
@media screen and (max-width: 1024px) {
	.c-heading-column__head {
		width: 100%;
	}
}
.c-heading-column__body {
	flex-grow: 1;
}

/******************************************************************
component - heading
******************************************************************/
.c-heading2:not(.c-heading2--center) {
	position: relative;
	padding-bottom: 0.75em;
}
.c-heading2:not(.c-heading2--center)::before {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: #73777d;
}
.c-heading2:not(.c-heading2--center)::after {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	bottom: 0;
	left: 0;
	width: 3.2em;
	height: 3px;
	background-color: #212836;
}

.c-heading2--center {
	position: relative;
	padding-bottom: 0.75em;
}
.c-heading2--center::after {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	right: 0;
	bottom: 0;
	left: 0;
	width: 3.2em;
	height: 3px;
	background-color: #212836;
}

.c-heading1 {
	margin-block: calc((1em - 1lh) / 2);
	font-weight: 700;
	letter-spacing: 0.05em;
	font-size: 50px;
}
@media screen and (max-width: 767px) {
	.c-heading1 {
		font-size: 32px;
		text-align: center;
	}
}
.c-heading1 small {
	display: block;
	font-size: 26px;
}
@media screen and (max-width: 767px) {
	.c-heading1 small {
		font-size: 18px;
	}
}

.c-section__frame-bg > .c-heading2:not(:first-child),
.c-section__frame-bg-m > .c-heading2:not(:first-child),
.c-section__frame-bg-l > .c-heading2:not(:first-child) {
	margin-top: 100px;
}
@media screen and (max-width: 767px) {
	.c-section__frame-bg > .c-heading2:not(:first-child),
	.c-section__frame-bg-m > .c-heading2:not(:first-child),
	.c-section__frame-bg-l > .c-heading2:not(:first-child) {
		margin-top: 50px;
	}
}

.c-section__frame-bg > .c-heading2:not(:first-child), .c-section__frame-bg-m > .c-heading2:not(:first-child), .c-section__frame-bg-l > .c-heading2:not(:first-child), .c-section > * > .c-heading2:not(:first-child) {
	margin-top: 60px !important;
}
@media screen and (max-width: 767px) {
	.c-section__frame-bg > .c-heading2:not(:first-child), .c-section__frame-bg-m > .c-heading2:not(:first-child), .c-section__frame-bg-l > .c-heading2:not(:first-child), .c-section > * > .c-heading2:not(:first-child) {
		margin-top: 40px !important;
	}
}
.c-heading2 {
	font-weight: 700;
	font-size: 26px;
}
@media screen and (max-width: 767px) {
	.c-heading2 {
		font-size: 18px;
	}
}
.c-heading2--center {
	text-align: center;
}
.c-heading2 small {
	display: block;
	margin-bottom: 0.5em;
	font-weight: 400;
	font-size: 1rem;
}
@media screen and (max-width: 767px) {
	.c-heading2 small {
		font-size: 0.8rem;
	}
}
.c-heading2__small {
	font-size: 18px;
}
@media screen and (max-width: 767px) {
	.c-heading2__small {
		font-size: 16px;
	}
}

.u-gutter-2x > .c-heading3:not(:last-child) {
	margin-bottom: 1rem;
}
@media screen and (max-width: 767px) {
	.u-gutter-2x > .c-heading3:not(:last-child) {
		margin-bottom: 0.9rem;
	}
}

.c-heading3 {
	font-weight: 700;
	font-size: 18px;
}
@media screen and (max-width: 767px) {
	.c-heading3 {
		font-size: 16px;
	}
}
.c-heading3 {
	position: relative;
	padding-left: 1.25em;
}
.c-heading3::before {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	top: 0.5lh;
	left: 0;
	width: 0.75em;
	border-top: 3px solid #1d2330;
}

.c-heading3-bg {
	background-color: #50555d;
	color: #fff;
	padding: 0.6em 0.9em;
	font-weight: bold;
	font-size: 18px;
}
@media screen and (max-width: 767px) {
	.c-heading3-bg {
		font-size: 16px;
	}
}

.u-gutter-2x > .c-heading4:not(:last-child) {
	margin-bottom: 1rem;
}
@media screen and (max-width: 767px) {
	.u-gutter-2x > .c-heading4:not(:last-child) {
		margin-bottom: 0.9rem;
	}
}

.c-heading4 {
	font-weight: bold;
	font-size: 17px;
}
@media screen and (max-width: 767px) {
	.c-heading4 {
		font-size: 15px;
	}
}

.u-gutter-2x > .c-heading4-border:not(:last-child) {
	margin-bottom: 1rem;
}
@media screen and (max-width: 767px) {
	.u-gutter-2x > .c-heading4-border:not(:last-child) {
		margin-bottom: 0.9rem;
	}
}

.c-heading4-border {
	padding-bottom: 0.75em;
	border-bottom: 1px solid #73777d;
	font-weight: bold;
	font-size: 17px;
}
@media screen and (max-width: 767px) {
	.c-heading4-border {
		font-size: 15px;
	}
}

.c-heading2-satellite {
	text-align: center;
	display: flex;
	align-items: center;
	flex-direction: column;
	gap: 1em;
	font-weight: bold;
	font-size: 18px;
}
@media screen and (max-width: 767px) {
	.c-heading2-satellite {
		font-size: 14px;
	}
}
.c-heading2-satellite span {
	height: 60px;
	display: flex;
	align-items: center;
	justify-content: center;
}
@media screen and (max-width: 767px) {
	.c-heading2-satellite span {
		height: 55px;
	}
}
.c-heading2-satellite--ohmshaonline img {
	width: auto;
	height: 60px;
}
@media screen and (max-width: 767px) {
	.c-heading2-satellite--ohmshaonline img {
		height: 55px;
	}
}
.c-heading2-satellite--onlineschool img {
	width: auto;
	height: 46px;
}
@media screen and (max-width: 767px) {
	.c-heading2-satellite--onlineschool img {
		height: 42px;
	}
}

.c-heading-top {
	font-size: 32px;
}
@media screen and (max-width: 1270px) {
	.c-heading-top {
		font-size: 2.5196850394vw;
	}
}
@media screen and (max-width: 1024px) {
	.c-heading-top {
		font-size: 32px;
	}
}
@media screen and (max-width: 767px) {
	.c-heading-top {
		font-size: 21px;
		text-align: center;
	}
}

/******************************************************************
component - hgroup-news
******************************************************************/
.c-hgroup-news {
	display: grid;
	grid-template-columns: fit-content(50%) minmax(0, 1fr);
	grid-template-areas: "date badge" "head head";
	gap: 30px 20px;
}
@media screen and (max-width: 767px) {
	.c-hgroup-news {
		padding-top: 10px;
		gap: 15px 20px;
	}
}
.c-hgroup-news__head {
	grid-area: head;
}
.c-hgroup-news__date {
	grid-area: date;
}
.c-hgroup-news__badge {
	grid-area: badge;
}
/******************************************************************
component - heading-news
******************************************************************/
.c-heading-news1 {
	font-weight: bold;
	font-size: 32px;
}
@media screen and (max-width: 767px) {
	.c-heading-news1 {
		font-size: 18px;
	}
}

/******************************************************************
component - lead
******************************************************************/
.c-lead {
	font-weight: 700;
	line-height: 1.8;
	font-size: 20px;
}
@media screen and (max-width: 767px) {
	.c-lead {
		font-size: 16px;
	}
}

/******************************************************************
component - text
******************************************************************/
.c-text {
	line-height: 1.8;
}
.c-text__caution {
	color: #d70000;
}

/******************************************************************
component - button-list
******************************************************************/
.c-button-list {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
}
.c-button-list--center {
	justify-content: center;
}
.c-button-list--right {
	justify-content: flex-end;
}
.c-button-list--row {
	flex-direction: column;
}
@media screen and (max-width: 767px) {
	.c-button-list.sp-center {
		justify-content: center;
	}
	.c-button-list.sp-row {
		flex-direction: column;
	}
	.c-button-list.sp-row-center {
		flex-direction: column;
		align-items: center;
	}
}
.c-button-list > * {
	font-size: 18px;
	min-width: min(14.3em, 100%);
}
@media screen and (max-width: 767px) {
	.c-button-list > * {
		font-size: 14px;
		min-width: min(18em, 100%);
	}
}
.c-button-list--s > * {
	font-size: 15px;
	min-width: min(13.54em, 100%);
}
@media screen and (max-width: 767px) {
	.c-button-list--s > * {
		font-size: 12px;
		min-width: min(16em, 100%);
	}
}
.c-button-list:not(.c-button-list--row) .c-button {
	width: 100% !important;
	min-width: auto !important;
}
.c-button-list--2column > * {
	min-width: min( calc((100%/2) - (1rem*1/2) ), 16em);
}
.c-button-list--2column > * .c-button {
	min-width: 10em !important;
}
.c-button-list--3column > * {
	min-width: min( calc((100%/3) - (1rem*2/3) ), 16em);
}
.c-button-list--3column > * .c-button {
	min-width: 9em !important;
}
.c-button-list--4column > * {
	min-width: min( calc((100%/4) - (1rem*3/4) ), 16em);
}
.c-button-list--4column > * .c-button {
	min-width: 8em !important;
}
.c-button-list--5column > * {
	min-width: min( calc((100%/5) - (1rem*4/5) ), 16em);
}
.c-button-list--5column > * .c-button {
	min-width: 8em !important;
}
.c-button-list--2pagecolumn > * {
	min-width: min( calc((1200px/2) - (1rem*1/2) ), 100%);
}
.c-button-list--3pagecolumn > * {
	min-width: min( calc((1200px/3) - (1rem*2/3) ), 100%);
}
.c-button-list--4pagecolumn > * {
	min-width: min( calc((1200px/4) - (1rem*3/4) ), 100%);
}
.c-button-list--5pagecolumn > * {
	min-width: min( calc((1200px/5) - (1rem*4/5) ), 100%);
}
.c-button-list--2pagecolumn-slim > * {
	min-width: min( calc((1000px/2) - (1rem*1/2) ), 100%);
}
.c-button-list--3pagecolumn-slim > * {
	min-width: min( calc((1000px/3) - (1rem*2/3) ), 100%);
}
.c-button-list--4pagecolumn-slim > * {
	min-width: min( calc((1000px/4) - (1rem*3/4) ), 100%);
}
.c-button-list--5pagecolumn-slim > * {
	min-width: min( calc((1000px/5) - (1rem*4/5) ), 100%);
}
@media screen and (max-width: 767px) {
	.c-button-list.sp-1column > * {
		min-width: initial;
		width: calc(100% - 1rem * 0 / 1);
		display: flex;
	}
	.c-button-list.sp-2column > * {
		min-width: initial;
		width: calc(50% - 1rem * 1 / 2);
		display: flex;
	}
}
.c-button-list__note {
	display: block;
	text-align: center;
	color: #d70000;
	font-size: 15px;
}
.c-button-list__note:first-child {
	margin-bottom: 6px;
}
.c-button-list__note:last-child {
	margin-top: 6px;
}
@media screen and (max-width: 767px) {
	.c-button-list__note {
		font-size: 14px;
	}
}

/******************************************************************
component - button
******************************************************************/
.c-button {
	color: inherit;
	text-decoration: none;
}
@media (any-hover: hover) {
	.c-button:hover {
		text-decoration: none;
	}
}
.c-button:focus {
	text-decoration: none;
}
.c-button {
	position: relative;
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	cursor: pointer;
}
span.c-button {
	pointer-events: none;
}

.c-button--full {
	width: 100% !important;
	min-width: auto !important;
}
.c-button--column-layout {
	width: 100% !important;
	min-width: auto !important;
}
@media screen and (max-width: 767px) {
	.c-button--column-layout {
		max-width: 350px;
		margin-inline: auto;
	}
}
.c-button--label {
	position: relative;
}

/******************************************************************
component - button--buy
******************************************************************/
.c-button--buy {
	min-width: 100%;
	padding: 0.5em 2em;
	min-height: 3em;
	background-color: #0055b4;
	color: #fff;
	border-radius: 6px;
	font-weight: bold;
	font-size: 20px;
}
@media screen and (max-width: 767px) {
	.c-button--buy {
		font-size: 18px;
	}
}
.c-button--buy {
	position: relative;
}
.c-button--buy::after {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	width: 9px;
	height: 9px;
	transition-property: top, right, bottom, left, opacity;
	transition-duration: 0.2s;
}
.c-button--buy::after {
	top: 0;
	bottom: 0;
	right: 1em;
	transform-origin: center center;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	transform: translateX(-1.8639610307px) translateY(-1.8639610307px) rotate(135deg);
}
.c-button--buy[aria-hidden=true] {
	pointer-events: none;
	background-color: #e5e9ec;
	color: #777b84;
}
.c-button--buy[aria-hidden=true]::after {
	border-color: #777b84;
}
.c-button--buy {
	transition-property: background, color;
	transition-duration: 0.4s;
}
.c-button--buy::after {
	transition-property: bottom;
	transition-duration: 0.4s;
}
@media (any-hover: hover) {
	.c-button--buy:hover {
		background-color: #16356d;
	}
	.c-button--buy:hover::after {
		bottom: -5px;
	}
}
.c-button--buy:focus {
	background-color: #16356d;
}
.c-button--buy:focus::after {
	bottom: -5px;
}

/******************************************************************
component - button--sample
******************************************************************/
.c-button--sample {
	width: 100%;
	max-width: 60vw;
	margin-inline: auto;
	padding: 0.5em 2em;
	min-height: 3em;
	background-color: #212836;
	color: #fff;
	transition-property: background, color;
	transition-duration: 0.4s;
}
.c-button--sample span {
	display: inline-block;
	padding-left: 36px;
	background: url(/assets/img/icn-sample.png) left center/23px auto no-repeat;
}
@media (any-hover: hover) {
	.c-button--sample:hover {
		background-color: #0055b4;
	}
}
.c-button--sample:focus {
	background-color: #0055b4;
}

/******************************************************************
component - button--magazine
******************************************************************/
.c-button--magazine {
	width: 100%;
	margin-inline: auto;
	padding: 0.5em;
	min-height: 3em;
	background-color: #212836;
	color: #fff;
	transition-property: background, color;
	transition-duration: 0.4s;
}
@media (any-hover: hover) {
	.c-button--magazine:hover {
		background-color: #0055b4;
	}
}
.c-button--magazine:focus {
	background-color: #0055b4;
}

.c-button--magazine2 {
	width: 100%;
	margin-inline: auto;
	padding: 0.5em;
	min-height: 3em;
	border: 1px solid #212836;
	background-color: #fff;
	color: #1d2330;
	transition-property: background, color;
	transition-duration: 0.4s;
}
@media (any-hover: hover) {
	.c-button--magazine2:hover {
		background-color: #ebf4ff;
		color: #0055b4;
	}
}
.c-button--magazine2:focus {
	background-color: #ebf4ff;
	color: #0055b4;
}

/******************************************************************
component - button--basic
******************************************************************/
.c-button--basic-pdf, .c-button--basic-blank, .c-button--basic {
	min-width: min(18em, 100%);
	padding: 1em 2.4em 1em 1.8em;
	min-height: 3.5em;
	background-color: #212836;
	color: #fff;
	font-size: 18px;
}
@media screen and (max-width: 767px) {
	.c-button--basic-pdf, .c-button--basic-blank, .c-button--basic {
		font-size: 14px;
	}
}
.c-button--s.c-button--basic-pdf, .c-button--s.c-button--basic-blank, .c-button--s.c-button--basic {
	min-width: min(16em, 100%);
	font-size: 15px;
	padding: 0.5em 2.4em 0.5em 1.8em;
	min-height: 2.5em;
}
@media screen and (max-width: 767px) {
	.c-button--s.c-button--basic-pdf, .c-button--s.c-button--basic-blank, .c-button--s.c-button--basic {
		font-size: 12px;
		padding: 0.75em 2.4em 0.75em 1.8em;
	}
}
@media screen and (max-width: 767px) {
	.sp-flat.c-button--basic-pdf, .sp-flat.c-button--basic-blank, .sp-flat.c-button--basic {
		padding: 0.5em 0.75em;
	}
	.sp-flat.c-button--basic-pdf::after, .sp-flat.c-button--basic-blank::after, .sp-flat.c-button--basic::after {
		display: none !important;
	}
}
.c-button--basic-pdf, .c-button--basic-blank, .c-button--basic {
	transition-property: background, color;
	transition-duration: 0.4s;
}
.c-button--basic-pdf::after, .c-button--basic-blank::after, .c-button--basic::after {
	transition-property: right;
	transition-duration: 0.4s;
}
@media (any-hover: hover) {
	.c-button--basic-pdf:hover, .c-button--basic-blank:hover, .c-button--basic:hover {
		background-color: #0055b4;
	}
	.c-button--basic-pdf:hover::after, .c-button--basic-blank:hover::after, .c-button--basic:hover::after {
		right: calc(1em - 5px);
	}
}
.c-button--basic-pdf:focus, .c-button--basic-blank:focus, .c-button--basic:focus {
	background-color: #0055b4;
}
.c-button--basic-pdf:focus::after, .c-button--basic-blank:focus::after, .c-button--basic:focus::after {
	right: calc(1em - 5px);
}
[aria-hidden=true].c-button--basic-pdf, [aria-hidden=true].c-button--basic-blank, [aria-hidden=true].c-button--basic {
	pointer-events: none;
	background-color: #e5e9ec;
	color: #777b84;
}
[aria-hidden=true].c-button--basic-pdf::after, [aria-hidden=true].c-button--basic-blank::after, [aria-hidden=true].c-button--basic::after {
	border-color: #777b84;
}

.c-button--basic {
	position: relative;
}
.c-button--basic::after {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	width: 9px;
	height: 9px;
	transition-property: top, right, bottom, left, opacity;
	transition-duration: 0.2s;
}
.c-button--basic::after {
	top: 0;
	bottom: 0;
	right: 1em;
	transform-origin: center center;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	transform: translateX(-1.8639610307px) rotate(45deg);
}
@media screen and (max-width: 767px) {
	.c-button--basic.c-button--s {
		position: relative;
	}
	.c-button--basic.c-button--s::after {
		position: absolute;
		content: "";
		margin: auto;
		box-sizing: border-box;
		vertical-align: middle;
		width: 7px;
		height: 7px;
		transition-property: top, right, bottom, left, opacity;
		transition-duration: 0.2s;
	}
	.c-button--basic.c-button--s::after {
		top: 0;
		bottom: 0;
		right: 1em;
		transform-origin: center center;
		border-top: 1px solid #fff;
		border-right: 1px solid #fff;
		transform: translateX(-1.4497474683px) rotate(45deg);
	}
}
.c-button--basic-blank--webmagazine {
	background-color: #3273ba;
}
.c-button--basic-blank::after {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	top: 0;
	right: 0.8em;
	bottom: 0;
	width: 13px;
	height: 11px;
	background: url(/assets/img/icn-blank.png) center center/100% auto no-repeat;
	filter: brightness(0) invert(1);
}
@media (any-hover: hover) {
	.c-button--basic-blank:hover::after {
		right: calc(0.8em - 5px);
	}
}
.c-button--basic-blank:focus::after {
	right: calc(0.8em - 5px);
}

.c-button--basic-pdf::after {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	top: 0;
	right: 0.9em;
	bottom: 0;
	width: 11px;
	height: 13px;
	background: url(/assets/img/icn-pdf.png) center center/100% auto no-repeat;
	filter: brightness(0) invert(1);
}
@media (any-hover: hover) {
	.c-button--basic-pdf:hover::after {
		right: calc(0.9em - 5px);
	}
}
.c-button--basic-pdf:focus::after {
	right: calc(0.9em - 5px);
}

.c-button--top-school {
	padding-block: 0.75em;
	min-width: min(20em, 100%);
	min-height: initial;
	background-color: #0074bf;
}
@media screen and (max-width: 767px) {
	.c-button--top-school {
		width: 100%;
		max-width: 350px;
		margin-inline: auto;
	}
}

/******************************************************************
component - button--basic-border
******************************************************************/
.c-button--products, .c-button--basic-border-pdf, .c-button--basic-border-blank, .c-button--basic-border-bottom, .c-button--basic-border {
	min-width: min(18em, 100%);
	padding: 1em 2.4em 1em 1.8em;
	min-height: 3.5em;
	border: 1px solid #212836;
	background-color: #fff;
	color: #1d2330;
	font-weight: 500;
	font-size: 18px;
}
@media screen and (max-width: 767px) {
	.c-button--products, .c-button--basic-border-pdf, .c-button--basic-border-blank, .c-button--basic-border-bottom, .c-button--basic-border {
		font-size: 14px;
	}
}
.c-button--s.c-button--products, .c-button--s.c-button--basic-border-pdf, .c-button--s.c-button--basic-border-blank, .c-button--s.c-button--basic-border-bottom, .c-button--s.c-button--basic-border {
	min-width: min(16em, 100%);
	font-size: 15px;
	padding: 0.5em 2.4em 0.5em 1.8em;
	min-height: 2.5em;
}
@media screen and (max-width: 767px) {
	.c-button--s.c-button--products, .c-button--s.c-button--basic-border-pdf, .c-button--s.c-button--basic-border-blank, .c-button--s.c-button--basic-border-bottom, .c-button--s.c-button--basic-border {
		font-size: 12px;
		padding: 0.75em 2.4em 0.75em 1.8em;
	}
}
.c-button--products, .c-button--basic-border-pdf, .c-button--basic-border-blank, .c-button--basic-border-bottom, .c-button--basic-border {
	transition-property: background, border;
	transition-duration: 0.4s;
}
.c-button--products::after, .c-button--basic-border-pdf::after, .c-button--basic-border-blank::after, .c-button--basic-border-bottom::after, .c-button--basic-border::after {
	transition-property: right;
	transition-duration: 0.4s;
}
@media (any-hover: hover) {
	.c-button--products:hover, .c-button--basic-border-pdf:hover, .c-button--basic-border-blank:hover, .c-button--basic-border-bottom:hover, .c-button--basic-border:hover {
		background-color: #ebf4ff;
		color: #0055b4;
	}
	.c-button--products:hover::after, .c-button--basic-border-pdf:hover::after, .c-button--basic-border-blank:hover::after, .c-button--basic-border-bottom:hover::after, .c-button--basic-border:hover::after {
		right: calc(1em - 5px);
	}
}
.c-button--products:focus, .c-button--basic-border-pdf:focus, .c-button--basic-border-blank:focus, .c-button--basic-border-bottom:focus, .c-button--basic-border:focus {
	background-color: #ebf4ff;
	color: #0055b4;
}
.c-button--products:focus::after, .c-button--basic-border-pdf:focus::after, .c-button--basic-border-blank:focus::after, .c-button--basic-border-bottom:focus::after, .c-button--basic-border:focus::after {
	right: calc(1em - 5px);
}

.c-button--basic-border {
	position: relative;
}
.c-button--basic-border::after {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	width: 9px;
	height: 9px;
	transition-property: top, right, bottom, left, opacity;
	transition-duration: 0.2s;
}
.c-button--basic-border::after {
	top: 0;
	bottom: 0;
	right: 1em;
	transform-origin: center center;
	border-top: 1px solid #212836;
	border-right: 1px solid #212836;
	transform: translateX(-1.8639610307px) rotate(45deg);
}
@media screen and (max-width: 767px) {
	.c-button--basic-border.c-button--s {
		position: relative;
	}
	.c-button--basic-border.c-button--s::after {
		position: absolute;
		content: "";
		margin: auto;
		box-sizing: border-box;
		vertical-align: middle;
		width: 7px;
		height: 7px;
		transition-property: top, right, bottom, left, opacity;
		transition-duration: 0.2s;
	}
	.c-button--basic-border.c-button--s::after {
		top: 0;
		bottom: 0;
		right: 1em;
		transform-origin: center center;
		border-top: 1px solid #212836;
		border-right: 1px solid #212836;
		transform: translateX(-1.4497474683px) rotate(45deg);
	}
}
.c-button--basic-border-bottom {
	position: relative;
}
.c-button--basic-border-bottom::after {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	width: 8px;
	height: 8px;
	transition-property: top, right, bottom, left, opacity;
	transition-duration: 0.2s;
}
.c-button--basic-border-bottom::after {
	top: 0;
	bottom: 0;
	right: 0.8em;
	transform-origin: center center;
	border-top: 1px solid #212836;
	border-right: 1px solid #212836;
	transform: translateX(-1.6568542495px) translateY(-1.6568542495px) rotate(135deg);
}
@media screen and (max-width: 767px) {
	.c-button--basic-border-bottom.c-button--s {
		position: relative;
	}
	.c-button--basic-border-bottom.c-button--s::after {
		position: absolute;
		content: "";
		margin: auto;
		box-sizing: border-box;
		vertical-align: middle;
		width: 6px;
		height: 6px;
		transition-property: top, right, bottom, left, opacity;
		transition-duration: 0.2s;
	}
	.c-button--basic-border-bottom.c-button--s::after {
		top: 0;
		bottom: 0;
		right: 0.8em;
		transform-origin: center center;
		border-top: 1px solid #212836;
		border-right: 1px solid #212836;
		transform: translateX(-1.2426406871px) translateY(-1.2426406871px) rotate(135deg);
	}
}
@media (any-hover: hover) {
	.c-button--basic-border-bottom:hover::after {
		right: 0.8em;
		bottom: -5px;
	}
}
.c-button--basic-border-bottom:focus::after {
	right: 0.8em;
	bottom: -5px;
}

.c-button--basic-border-blank::after {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	top: 0;
	right: 0.8em;
	bottom: 0;
	width: 13px;
	height: 11px;
	background: url(/assets/img/icn-blank.png) center center/100% auto no-repeat;
}
@media (any-hover: hover) {
	.c-button--basic-border-blank:hover::after {
		right: calc(0.8em - 5px);
	}
}
.c-button--basic-border-blank:focus::after {
	right: calc(0.8em - 5px);
}

.c-button--basic-border-pdf::after {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	top: 0;
	right: 0.9em;
	bottom: 0;
	width: 11px;
	height: 13px;
	background: url(/assets/img/icn-pdf.png) center center/100% auto no-repeat;
}
@media (any-hover: hover) {
	.c-button--basic-border-pdf:hover::after {
		right: calc(0.9em - 5px);
	}
}
.c-button--basic-border-pdf:focus::after {
	right: calc(0.9em - 5px);
}

.c-button--products {
	position: relative;
}
.c-button--products::after {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	width: 8px;
	height: 8px;
	transition-property: top, right, bottom, left, opacity;
	transition-duration: 0.2s;
}
.c-button--products::after {
	top: 0;
	bottom: 0;
	right: 0.8em;
	transform-origin: center center;
	border-top: 1px solid #212836;
	border-right: 1px solid #212836;
	transform: translateX(-1.6568542495px) translateY(-1.6568542495px) rotate(135deg);
}
.c-button--products {
	min-width: min(16em, 100%);
	font-size: 15px;
	padding: 0.5em 2em;
	min-height: 2.5em;
}
@media screen and (max-width: 767px) {
	.c-button--products {
		font-size: 12px;
		padding: 1em 2em;
		position: relative;
	}
	.c-button--products::after {
		position: absolute;
		content: "";
		margin: auto;
		box-sizing: border-box;
		vertical-align: middle;
		width: 6px;
		height: 6px;
		transition-property: top, right, bottom, left, opacity;
		transition-duration: 0.2s;
	}
	.c-button--products::after {
		top: 0;
		bottom: 0;
		right: 0.8em;
		transform-origin: center center;
		border-top: 1px solid #212836;
		border-right: 1px solid #212836;
		transform: translateX(-1.2426406871px) translateY(-1.2426406871px) rotate(135deg);
	}
}
@media (any-hover: hover) {
	.c-button--products:hover::after {
		right: 0.8em;
		bottom: -5px;
	}
}
.c-button--products:focus::after {
	right: 0.8em;
	bottom: -5px;
}

.c-button--top-book,
.c-button--top-magazine {
	padding-block: 1em;
	min-width: min(26em, 100%);
	min-height: initial;
}
@media screen and (max-width: 767px) {
	.c-button--top-book,
	.c-button--top-magazine {
		width: 100%;
		max-width: 350px;
		margin-inline: auto;
	}
}

@media print, screen and (min-width: 768px) {
	.c-button--top-magazine {
		margin-top: 10px;
	}
}

.c-button--top-satellite {
	padding-block: 0.5em;
	min-width: min(20em, 100%);
	min-height: initial;
}
@media screen and (max-width: 767px) {
	.c-button--top-satellite {
		width: 100%;
		max-width: 350px;
		margin-inline: auto;
	}
}

.c-button--top-company {
	max-width: 340px;
}
@media screen and (max-width: 767px) {
	.c-button--top-company {
		padding-block: 1em;
		width: 100%;
		max-width: 350px;
		margin-inline: auto;
		min-height: initial;
	}
}

/******************************************************************
component - link-arrow
******************************************************************/
.c-link-arrow {
	display: inline-block;
	padding-right: 26px;
	font-weight: 500;
	color: inherit;
	text-decoration: none;
}
@media (any-hover: hover) {
	.c-link-arrow:hover {
		text-decoration: none;
	}
}
.c-link-arrow:focus {
	text-decoration: none;
}
.c-link-arrow {
	transition-property: color;
	transition-duration: 0.4s;
	position: relative;
}
.c-link-arrow::after {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	width: 5px;
	height: 5px;
	transition-property: top, right, bottom, left, opacity;
	transition-duration: 0.2s;
}
.c-link-arrow::after {
	top: 0;
	bottom: 0;
	right: 5px;
	transform-origin: center center;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	transform: translateX(-1.0355339059px) rotate(45deg);
}
.c-link-arrow::before {
	transition-property: background;
	transition-duration: 0.4s;
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	top: 0;
	right: 0;
	bottom: 0;
	width: 15px;
	height: 15px;
	background-color: #212836;
}
@media (any-hover: hover) {
	.c-link-arrow:hover {
		color: #0055b4;
	}
	.c-link-arrow:hover::before {
		background-color: #0055b4;
	}
}
.c-link-arrow:focus {
	color: #0055b4;
}
.c-link-arrow:focus::before {
	background-color: #0055b4;
}

/******************************************************************
component - badge-list
******************************************************************/
.c-badge-list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5em;
	line-height: 1;
}
.c-badge-list--center {
	justify-content: center;
}
.c-badge-list--right {
	justify-content: flex-end;
}
@media screen and (max-width: 767px) {
	.c-badge-list.sp-center {
		justify-content: center;
	}
	.c-badge-list.sp-row {
		flex-direction: column;
	}
	.c-badge-list.sp-row-center {
		flex-direction: column;
		align-items: center;
	}
}
/******************************************************************
component - badge
******************************************************************/
.c-badge {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1.4;
	vertical-align: 1px;
}
.c-badge--full {
	width: 100% !important;
	min-width: auto !important;
}

.c-badge--news {
	border: 1px solid #606060;
	background-color: #fff;
	min-width: 9.5em;
	padding: 0.25em 0.5em;
	font-size: 0.75em;
	color: #606060;
}

.c-badge--category {
	border: 1px solid #4e5a6f;
	border-radius: 100vw;
	padding: 0.35em 0.75em;
	font-size: 0.75em;
}

.c-badge--products-bestseller, .c-badge--products-upcoming, .c-badge--products-new {
	border-radius: 100vw;
	padding: 0.45em 0.75em;
	font-size: 0.75em;
	color: #fff;
	min-width: 5em;
}

.c-badge--products-new {
	background-color: #ce4900;
}

.c-badge--products-upcoming {
	background-color: #008903;
}

.c-badge--products-bestseller {
	background-color: #8415a9;
}

.c-badge--textbook-high, .c-badge--textbook-voca, .c-badge--textbook-uni {
	border-radius: 100vw;
	padding: 0.45em 0.75em;
	font-size: 0.75em;
	color: #fff;
	min-width: 5em;
	font-weight: 500;
}

.c-badge--textbook-uni {
	background-color: #0059c9;
}

.c-badge--textbook-voca {
	background-color: #ffa509;
	color: #1d2330;
}

.c-badge--textbook-high {
	background-color: #147700;
}

.c-badge--magazine-newseries {
	border-radius: 100vw;
	padding: 0.45em 0.75em;
	font-size: 0.75em;
	color: #fff;
	min-width: 5em;
}
.c-badge--magazine-newseries:last-child {
	margin-left: 0.5em;
}

.c-badge--magazine-newseries {
	background-color: #d70000;
}

.c-badge--magazine-new {
	border-radius: 3px;
	padding: 0.1em 0.25em 0.25em 0.25em;
	font-size: 0.95em;
	color: #fff;
	line-height: 1;
	font-weight: 500;
	vertical-align: baseline;
}
.c-badge--magazine-new:first-child {
	margin-right: 0.5em;
}
@media screen and (max-width: 767px) {
	.c-badge--magazine-new {
		font-size: 10px;
	}
}

.c-badge--magazine-new {
	background-color: #ce4900;
}

.c-badge--ohmshaonline-Special, .c-badge--ohmshaonline-Management, .c-badge--ohmshaonline-QA, .c-badge--ohmshaonline-Interview, .c-badge--ohmshaonline-Topics, .c-badge--ohmshaonline-Column, .c-badge--ohmshaonline-License {
	border-radius: 3px;
	padding: 0.15em 0.5em;
	font-size: 13px;
	color: #fff;
	min-width: 5em;
}
@media screen and (max-width: 767px) {
	.c-badge--ohmshaonline-Special, .c-badge--ohmshaonline-Management, .c-badge--ohmshaonline-QA, .c-badge--ohmshaonline-Interview, .c-badge--ohmshaonline-Topics, .c-badge--ohmshaonline-Column, .c-badge--ohmshaonline-License {
		font-size: 10px;
	}
}

.c-badge--ohmshaonline-License {
	background-color: #7ec467;
}

.c-badge--ohmshaonline-Column {
	background-color: #de5376;
}

.c-badge--ohmshaonline-Topics {
	background-color: #f08d2a;
}

.c-badge--ohmshaonline-Interview {
	background-color: #28d6d6;
}

.c-badge--ohmshaonline-QA {
	background-color: #2f7641;
}

.c-badge--ohmshaonline-Management {
	background-color: #deb129;
}

.c-badge--ohmshaonline-Special {
	background-color: #5f99d2;
}

.c-badge--school-limitedoffer, .c-badge--school-ended, .c-badge--school-otoku, .c-badge--school-new {
	border-radius: 100vw;
	padding: 0.35em 0.75em;
	font-size: 0.75em;
	color: #fff;
	min-width: 5em;
}

.c-badge--school-new {
	background-color: #ce4900;
}

.c-badge--school-otoku {
	background-color: #f6d600;
	color: #1d2330;
}

.c-badge--school-ended {
	background-color: #212836;
}

.c-badge--school-limitedoffer {
	background-color: #d70000;
}

.c-badge--school-overview {
	border-radius: 100vw;
	padding: 0.35em 0.75em;
	font-size: 0.75em;
	color: #fff;
	min-width: 5em;
	background-color: #fff;
	color: #1d2330;
	border: 1px solid #212836;
}

.c-badge--bookstore {
	border-radius: 100vw;
	padding: 0.35em 0.75em;
	font-size: 0.75em;
	color: #fff;
	min-width: 5em;
	background-color: #fff;
	color: #1d2330;
	border: 1px solid #212836;
}

/******************************************************************
component - youtube
******************************************************************/
.c-youtube {
	width: 800px;
	max-width: 100%;
	margin-inline: auto;
}
.c-youtube iframe {
	width: 100%;
	aspect-ratio: 16/9;
	vertical-align: middle;
}
.c-youtube--pointer-events iframe {
	pointer-events: none;
}
.c-youtube--clip {
	position: relative;
	overflow: hidden;
	aspect-ratio: 16/9;
}
.c-youtube--clip iframe {
	position: absolute;
	transform: scale(1.4);
}
.c-youtube--full {
	width: 100%;
}
.c-youtube__title {
	font-weight: bold;
	font-size: 1.2rem;
}
@media screen and (max-width: 767px) {
	.c-youtube__title {
		font-size: 16.8px;
	}
}
.c-youtube__title:first-child {
	margin-bottom: 0.5rem;
}
.c-youtube__title:last-child {
	margin-top: 0.5rem;
}
.c-youtube__caption {
	font-size: 90%;
}
.c-youtube__caption:first-child {
	margin-bottom: 0.5rem;
}
.c-youtube__caption:last-child {
	margin-top: 0.5rem;
}
/******************************************************************
component - googlemap
******************************************************************/
.c-googlemap iframe {
	width: 100%;
	aspect-ratio: 16/6;
}
@media screen and (max-width: 767px) {
	.c-googlemap iframe {
		aspect-ratio: 4/3;
	}
}
.c-googlemap__title {
	width: fit-content;
}
.c-googlemap__title--center {
	margin-inline: auto;
}
.c-googlemap__title {
	font-weight: bold;
	font-size: 1.2rem;
}
@media screen and (max-width: 767px) {
	.c-googlemap__title {
		font-size: 16.8px;
	}
}
.c-googlemap__title:first-child {
	margin-bottom: 0.5rem;
}
.c-googlemap__title:last-child {
	margin-top: 0.5rem;
}
.c-googlemap__caption {
	width: fit-content;
	font-size: 90%;
}
.c-googlemap__caption--center {
	margin-inline: auto;
}
.c-googlemap__caption:first-child {
	margin-bottom: 0.5rem;
}
.c-googlemap__caption:last-child {
	margin-top: 0.5rem;
}
/******************************************************************
component - sns-list
******************************************************************/
.c-sns-list {
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
}
@media screen and (max-width: 1024px) {
	.c-sns-list {
		gap: 10px;
	}
}
.c-sns-list--center {
	justify-content: center;
}
.c-sns-list--right {
	justify-content: flex-end;
}
.c-sns-list--center dt {
	width: 100%;
	text-align: center;
}
.c-sns-list dt {
	align-self: center;
	font-size: 14px;
}
@media screen and (max-width: 767px) {
	.c-sns-list dt {
		font-size: 11px;
	}
}
@media (any-hover: hover) {
	.c-sns-list a:hover img {
		transform: scale(1.1);
	}
}
.c-sns-list a:focus img {
	transform: scale(1.1);
}
.c-sns-list img {
	transition-property: transform;
	transition-duration: 0.2s;
	transform: translate3d(0, 0, 0);
	width: auto;
	height: 35px;
}
@media screen and (max-width: 1024px) {
	.c-sns-list img {
		height: 30px;
	}
}

/******************************************************************
component - sns-list-top
******************************************************************/
.c-sns-list-top {
	display: flex;
	flex-wrap: wrap;
	gap: 20px 40px;
}
@media screen and (max-width: 767px) {
	.c-sns-list-top {
		gap: 10px;
	}
}
.c-sns-list-top--center {
	justify-content: center;
}
.c-sns-list-top a:has(.c-sns-list-top__label-center) {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.75em;
	text-align: center;
	min-width: 11em;
}
@media screen and (max-width: 767px) {
	.c-sns-list-top a:has(.c-sns-list-top__label-center) {
		min-width: 7em;
	}
}
.c-sns-list-top a:has(.c-sns-list-top__label-center) {
	color: inherit;
	text-decoration: none;
}
@media (any-hover: hover) {
	.c-sns-list-top a:has(.c-sns-list-top__label-center):hover {
		text-decoration: none;
	}
}
.c-sns-list-top a:has(.c-sns-list-top__label-center):focus {
	text-decoration: none;
}
@media (any-hover: hover) {
	.c-sns-list-top a:has(.c-sns-list-top__label-center):hover {
		color: #0055b4;
	}
	.c-sns-list-top a:has(.c-sns-list-top__label-center):hover img {
		transform: scale(1.05);
	}
}
.c-sns-list-top a:has(.c-sns-list-top__label-center):focus {
	color: #0055b4;
}
.c-sns-list-top a:has(.c-sns-list-top__label-center):focus img {
	transform: scale(1.05);
}
.c-sns-list-top img {
	width: auto;
	height: 50px;
	transition-property: transform;
	transition-duration: 0.1s;
	will-change: transform;
}

/******************************************************************
component - dialog
******************************************************************/
body:has(.c-dialog[open]) {
	overflow: hidden;
}

.l-wrapper:has(.c-dialog[open]) {
	overflow-y: auto;
	scrollbar-gutter: stable;
}

.l-wrapper:has(.c-dialog[open]) .l-header-fixed .l-header-fixed__inner > * {
	overflow-y: auto;
	scrollbar-gutter: stable;
	background-color: #212836;
}
.l-wrapper:has(.c-dialog[open]) .l-header-fixed .l-header-fixed__inner > * > * {
	background-color: #fff;
}

.c-dialog {
	max-width: 100vw;
	max-height: 100dvh;
	margin: auto !important;
	box-sizing: border-box;
	width: 100vw;
	height: 100dvh;
	border: 0;
	background-color: transparent;
	overflow: hidden;
	padding: 50px;
}
@media screen and (max-width: 767px) {
	.c-dialog {
		padding: 20px;
	}
}
.c-dialog[open] {
	display: flex;
	align-items: center;
	justify-content: center;
}
.c-dialog::backdrop {
	background-color: rgba(0, 0, 0, 0.7);
	-webkit-backdrop-filter: blur(3px);
	backdrop-filter: blur(3px);
}
.c-dialog {
	transition-property: opacity;
	transition-duration: 300ms;
	opacity: 0;
}
.c-dialog::backdrop {
	transition-property: opacity;
	transition-duration: 300ms;
	opacity: 0;
}
.c-dialog__inner {
	transition-property: transform;
	transition-duration: 300ms;
	transform: scale(0.97);
}
.c-dialog.is-open {
	opacity: 1;
}
.c-dialog.is-open::backdrop {
	opacity: 1;
}
.c-dialog.is-open .c-dialog__inner {
	transform: scale(1);
}
.c-dialog__inner {
	box-sizing: border-box;
	position: relative;
	width: fit-content;
	height: fit-content;
	max-height: 100%;
	max-width: 1300px;
}
.c-dialog__inner:has(.c-swiper-dialog-gallery) {
	width: 100%;
}
.c-dialog__inner {
	outline: 0;
}
.c-dialog[data-type=image] .c-dialog__inner img {
	max-height: calc(100dvh - 50px - 50px);
}
@media screen and (max-width: 767px) {
	.c-dialog[data-type=image] .c-dialog__inner img {
		max-height: calc(100dvh - 20px - 20px);
	}
}
.c-dialog[data-type=movie] .c-dialog__inner, .c-dialog[data-type=youtube] .c-dialog__inner {
	width: 100%;
}
.c-dialog[data-type=movie] .c-dialog__inner iframe, .c-dialog[data-type=youtube] .c-dialog__inner iframe {
	width: 100%;
	aspect-ratio: 16/9;
}
.c-dialog__close {
	position: absolute;
	top: 10px;
	right: 10px;
	display: inline-block;
	border-radius: 100vw;
	aspect-ratio: 1/1;
	line-height: 0;
	padding: 16px;
	transition-property: background;
	transition-duration: 0.4s;
}
@media (any-hover: hover) {
	.c-dialog__close:hover {
		background-color: #333;
	}
}
.c-dialog__close:focus {
	background-color: #333;
}
.c-dialog__close > span {
	display: inline-block;
	width: 24px;
	height: 24px;
	position: relative;
}
.c-dialog__close > span::before, .c-dialog__close > span::after {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	transition-property: all;
	transition-duration: 0.3s;
	transition-timing-function: cubic-bezier(0.3, 2, 0.6, 1);
}
.c-dialog__close > span::before {
	background-color: #fff;
	width: 30.941125497px;
	height: 3px;
	transform: translateX(-3.4705627485px) rotate(45deg);
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
}
.c-dialog__close > span::after {
	background-color: #fff;
	width: 30.941125497px;
	height: 3px;
	transform: translateX(-3.4705627485px) rotate(-45deg);
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
}

/******************************************************************
component - dialog-inline
******************************************************************/
.c-dialog[data-type=inline] .c-dialog__inner {
	overflow-y: auto;
	scroll-behavior: smooth;
	overscroll-behavior: contain;
}
.c-dialog[data-type=inline] .c-dialog__inner::-webkit-scrollbar {
	width: 5px;
	background: #F1F1F1;
}
.c-dialog[data-type=inline] .c-dialog__inner::-webkit-scrollbar:horizontal {
	height: 5px;
	background: #F1F1F1;
}
.c-dialog[data-type=inline] .c-dialog__inner::-webkit-scrollbar-thumb {
	background: #BCBCBC;
	border-radius: 2px;
}
.c-dialog[data-type=inline] .c-dialog__inner::-webkit-scrollbar-thumb:horizontal {
	background: #BCBCBC;
	border-radius: 2px;
}
.c-dialog[data-type=inline] .c-dialog__inner {
	scrollbar-width: thin;
	scrollbar-color: #BCBCBC #F1F1F1;
}
.c-dialog[data-type=inline] .c-dialog__inner {
	width: 100%;
	max-width: min(90vw, 1000px);
	max-height: 90%;
	background-color: #fff;
	padding: 60px;
}
@media screen and (max-width: 1270px) {
	.c-dialog[data-type=inline] .c-dialog__inner {
		padding: 4.7244094488vw;
	}
}
@media screen and (max-width: 767px) {
	.c-dialog[data-type=inline] .c-dialog__inner {
		padding: 6vw;
		margin-top: 5%;
	}
}
.c-dialog__title {
	text-align: center;
	font-weight: 700;
	margin-top: calc((1em - 1lh) / 2);
	font-size: 34px;
	margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
	.c-dialog__title {
		font-size: 26px;
		margin-bottom: 6vw;
	}
}
.c-dialog__frame {
	background-color: #e8ecf0;
	border: 1px solid #c8cfd4;
}
.c-dialog__frame > *:not(:last-child) {
	margin-bottom: 18px;
}
.c-dialog__frame {
	padding: 20px;
}
@media screen and (max-width: 767px) {
	.c-dialog__frame > *:not(:last-child) {
		margin-bottom: 12px;
	}
	.c-dialog__frame {
		padding: 10px;
	}
}
.c-dialog__frame > * {
	display: block;
	width: fit-content;
	margin-inline: auto;
	font-size: 15px;
}
@media screen and (max-width: 767px) {
	.c-dialog__frame > * {
		font-size: 12px;
	}
}
.c-dialog__frame a {
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #fff;
	border: 1px solid #212836;
	text-align: center;
	padding: 0.7em;
	min-width: 11em;
}
@media screen and (max-width: 767px) {
	.c-dialog__frame a {
		padding: 0.5em;
		min-width: 10em;
	}
}
.c-dialog__frame a {
	color: inherit;
	text-decoration: none;
}
@media (any-hover: hover) {
	.c-dialog__frame a:hover {
		text-decoration: none;
	}
}
.c-dialog__frame a:focus {
	text-decoration: none;
}
.c-dialog__frame a {
	transition-property: background, color;
	transition-duration: 0.4s;
}
@media (any-hover: hover) {
	.c-dialog__frame a:hover {
		color: #0055b4;
		background-color: #ebf4ff;
	}
	.c-dialog__frame a:hover img {
		transform: scale(1.08);
	}
}
.c-dialog__frame a:focus {
	color: #0055b4;
	background-color: #ebf4ff;
}
.c-dialog__frame a:focus img {
	transform: scale(1.08);
}
.c-dialog__frame a img {
	transition-property: transform;
	transition-duration: 0.1s;
	margin-right: 0.4em;
	width: 22px;
}
@media screen and (max-width: 767px) {
	.c-dialog__frame a img {
		width: 18px;
	}
}

/******************************************************************
component - swiper
******************************************************************/
/**
 * Swiper 11.2.8
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2025 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: May 23, 2025
 */
@font-face {
	font-family: "swiper-icons";
	src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA") format("woff");
	font-weight: 400;
	font-style: normal;
}
:root {
	--swiper-theme-color: #007aff;
	/*
	--swiper-preloader-color: var(--swiper-theme-color);
	--swiper-wrapper-transition-timing-function: initial;
	*/
}

:host {
	position: relative;
	display: block;
	margin-left: auto;
	margin-right: auto;
	z-index: 1;
}

.swiper {
	margin-left: auto;
	margin-right: auto;
	position: relative;
	overflow: hidden;
	list-style: none;
	padding: 0;
	/* Fix of Webkit flickering */
	z-index: 1;
	display: block;
}

.swiper-vertical > .swiper-wrapper {
	flex-direction: column;
}

.swiper-wrapper {
	position: relative;
	width: 100%;
	height: 100%;
	z-index: 1;
	display: flex;
	transition-property: transform;
	transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
	box-sizing: content-box;
}

.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
	transform: translate3d(0px, 0, 0);
}

.swiper-horizontal {
	touch-action: pan-y;
}

.swiper-vertical {
	touch-action: pan-x;
}

.swiper-slide {
	flex-shrink: 0;
	width: 100%;
	height: 100%;
	position: relative;
	transition-property: transform;
	display: block;
}

.swiper-slide-invisible-blank {
	visibility: hidden;
}

/* Auto Height */
.swiper-autoheight,
.swiper-autoheight .swiper-slide {
	height: auto;
}

.swiper-autoheight .swiper-wrapper {
	align-items: flex-start;
	transition-property: transform, height;
}

.swiper-backface-hidden .swiper-slide {
	transform: translateZ(0);
	backface-visibility: hidden;
}

/* 3D Effects */
.swiper-3d.swiper-css-mode .swiper-wrapper {
	perspective: 1200px;
}

.swiper-3d .swiper-wrapper {
	transform-style: preserve-3d;
}

.swiper-3d {
	perspective: 1200px;
}
.swiper-3d .swiper-slide,
.swiper-3d .swiper-cube-shadow {
	transform-style: preserve-3d;
}

/* CSS Mode */
.swiper-css-mode > .swiper-wrapper {
	overflow: auto;
	scrollbar-width: none; /* For Firefox */
	-ms-overflow-style: none; /* For Internet Explorer and Edge */
}
.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
	display: none;
}
.swiper-css-mode > .swiper-wrapper > .swiper-slide {
	scroll-snap-align: start start;
}
.swiper-css-mode.swiper-horizontal > .swiper-wrapper {
	scroll-snap-type: x mandatory;
}
.swiper-css-mode.swiper-vertical > .swiper-wrapper {
	scroll-snap-type: y mandatory;
}
.swiper-css-mode.swiper-free-mode > .swiper-wrapper {
	scroll-snap-type: none;
}
.swiper-css-mode.swiper-free-mode > .swiper-wrapper > .swiper-slide {
	scroll-snap-align: none;
}
.swiper-css-mode.swiper-centered > .swiper-wrapper::before {
	content: "";
	flex-shrink: 0;
	order: 9999;
}
.swiper-css-mode.swiper-centered > .swiper-wrapper > .swiper-slide {
	scroll-snap-align: center center;
	scroll-snap-stop: always;
}
.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
	margin-inline-start: var(--swiper-centered-offset-before);
}
.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
	height: 100%;
	min-height: 1px;
	width: var(--swiper-centered-offset-after);
}
.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
	margin-block-start: var(--swiper-centered-offset-before);
}
.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper::before {
	width: 100%;
	min-width: 1px;
	height: var(--swiper-centered-offset-after);
}

/* Slide styles start */
/* 3D Shadows */
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	z-index: 10;
}
.swiper-3d .swiper-slide-shadow {
	background: rgba(0, 0, 0, 0.15);
}
.swiper-3d .swiper-slide-shadow-left {
	background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-right {
	background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-top {
	background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-bottom {
	background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-lazy-preloader {
	width: 42px;
	height: 42px;
	position: absolute;
	left: 50%;
	top: 50%;
	margin-left: -21px;
	margin-top: -21px;
	z-index: 10;
	transform-origin: 50%;
	box-sizing: border-box;
	border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
	border-radius: 50%;
	border-top-color: transparent;
}

.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,
.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader {
	animation: swiper-preloader-spin 1s infinite linear;
}

.swiper-lazy-preloader-white {
	--swiper-preloader-color: #fff;
}

.swiper-lazy-preloader-black {
	--swiper-preloader-color: #000;
}

@keyframes swiper-preloader-spin {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}
/* Slide styles end */
/* a11y */
.swiper .swiper-notification {
	position: absolute;
	left: 0;
	top: 0;
	pointer-events: none;
	opacity: 0;
	z-index: -1000;
}

.swiper-fade.swiper-free-mode .swiper-slide {
	transition-timing-function: ease-out;
}
.swiper-fade .swiper-slide {
	pointer-events: none;
	transition-property: opacity;
}
.swiper-fade .swiper-slide .swiper-slide {
	pointer-events: none;
}
.swiper-fade .swiper-slide-active, .swiper-fade .swiper-slide-active .swiper-slide-active {
	pointer-events: auto;
}

/******************************************************************
component - swiper-book-list
******************************************************************/
.c-swiper-book-list {
	visibility: hidden; /* 要素を見えなくする（高さは保持） */
}
.c-swiper-book-list:has(.swiper-initialized) {
	visibility: visible; /* Swiperの初期化後に表示 */
}
@media screen and (max-width: 767px) {
	.c-swiper-book-list {
		max-width: 500px;
		margin-inline: auto;
	}
}
.c-swiper-book-list {
	position: relative;
}
.c-swiper-book-list .swiper-outer {
	position: relative;
}
.c-swiper-book-list .swiper-wrapper {
	width: fit-content;
	margin-inline: auto;
}
.c-swiper-book-list .swiper-slide img {
	width: 100%;
}
.c-swiper-book-list .swiper-slide {
	height: auto;
	display: flex;
	flex-direction: column;
}
.c-swiper-book-list .swiper-slide > *:not(img):not(.c-card) {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}
.c-swiper-book-list .swiper-slide > a {
	color: inherit;
	text-decoration: none;
}
@media (any-hover: hover) {
	.c-swiper-book-list .swiper-slide > a:hover {
		text-decoration: none;
	}
}
.c-swiper-book-list .swiper-slide > a:focus {
	text-decoration: none;
}
.c-swiper-book-list .swiper-slide__body {
	flex-grow: 1;
	padding-top: 1em;
}
.c-swiper-book-list > .swiper-button-prev,
.c-swiper-book-list > .swiper-button-next,
.c-swiper-book-list .swiper-outer > .swiper-button-prev,
.c-swiper-book-list .swiper-outer > .swiper-button-next {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 10;
	cursor: pointer;
}
.c-swiper-book-list > .swiper-button-prev,
.c-swiper-book-list .swiper-outer > .swiper-button-prev {
	left: 20px;
}
@media screen and (max-width: 767px) {
	.c-swiper-book-list > .swiper-button-prev,
	.c-swiper-book-list .swiper-outer > .swiper-button-prev {
		left: 10px;
	}
}
.c-swiper-book-list > .swiper-button-next,
.c-swiper-book-list .swiper-outer > .swiper-button-next {
	right: 20px;
}
@media screen and (max-width: 767px) {
	.c-swiper-book-list > .swiper-button-next,
	.c-swiper-book-list .swiper-outer > .swiper-button-next {
		right: 10px;
	}
}
.c-swiper-book-list .swiper-button-prev.swiper-button-disabled,
.c-swiper-book-list .swiper-button-next.swiper-button-disabled {
	opacity: 0.15;
	filter: grayscale(100%);
	cursor: auto;
	pointer-events: none;
}
.c-swiper-book-list .swiper-button-prev.swiper-button-hidden,
.c-swiper-book-list .swiper-button-next.swiper-button-hidden {
	opacity: 0;
	cursor: auto;
	pointer-events: none;
}
.c-swiper-book-list .swiper-navigation-disabled .swiper-button-prev,
.c-swiper-book-list .swiper-navigation-disabled .swiper-button-next {
	display: none !important;
}
.c-swiper-book-list .swiper-button-lock {
	display: none;
}
.c-swiper-book-list .swiper-button-prev span,
.c-swiper-book-list .swiper-button-next span {
	position: relative;
	display: block;
}
@media print, screen and (min-width: 768px) {
	.c-swiper-book-list .swiper-button-prev span,
	.c-swiper-book-list .swiper-button-next span {
		width: 27px;
		height: 27px;
	}
}
@media screen and (max-width: 767px) {
	.c-swiper-book-list .swiper-button-prev span,
	.c-swiper-book-list .swiper-button-next span {
		width: 25px;
		height: 25px;
	}
}
.c-swiper-book-list .swiper-button-prev span::before,
.c-swiper-book-list .swiper-button-next span::before {
	transition-property: background;
	transition-duration: 0.2s;
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #212836;
}
@media (any-hover: hover) {
	.c-swiper-book-list .swiper-button-prev span:hover::before,
	.c-swiper-book-list .swiper-button-next span:hover::before {
		background-color: #0055b4;
	}
}
.c-swiper-book-list .swiper-button-prev span:focus::before,
.c-swiper-book-list .swiper-button-next span:focus::before {
	background-color: #0055b4;
}
@media print, screen and (min-width: 768px) {
	.c-swiper-book-list .swiper-button-prev span {
		position: relative;
	}
	.c-swiper-book-list .swiper-button-prev span::after {
		position: absolute;
		content: "";
		margin: auto;
		box-sizing: border-box;
		vertical-align: middle;
		width: 6.75px;
		height: 6.75px;
		transition-property: top, right, bottom, left, opacity;
		transition-duration: 0.2s;
	}
	.c-swiper-book-list .swiper-button-prev span::after {
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		transform-origin: center center;
		border-top: 1px solid #fff;
		border-left: 1px solid #fff;
		transform: translateX(1.397970773px) rotate(-45deg);
	}
}
@media screen and (max-width: 767px) {
	.c-swiper-book-list .swiper-button-prev span {
		position: relative;
	}
	.c-swiper-book-list .swiper-button-prev span::after {
		position: absolute;
		content: "";
		margin: auto;
		box-sizing: border-box;
		vertical-align: middle;
		width: 6.25px;
		height: 6.25px;
		transition-property: top, right, bottom, left, opacity;
		transition-duration: 0.2s;
	}
	.c-swiper-book-list .swiper-button-prev span::after {
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		transform-origin: center center;
		border-top: 1px solid #fff;
		border-left: 1px solid #fff;
		transform: translateX(1.2944173824px) rotate(-45deg);
	}
}
@media print, screen and (min-width: 768px) {
	.c-swiper-book-list .swiper-button-next span {
		position: relative;
	}
	.c-swiper-book-list .swiper-button-next span::after {
		position: absolute;
		content: "";
		margin: auto;
		box-sizing: border-box;
		vertical-align: middle;
		width: 6.75px;
		height: 6.75px;
		transition-property: top, right, bottom, left, opacity;
		transition-duration: 0.2s;
	}
	.c-swiper-book-list .swiper-button-next span::after {
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		transform-origin: center center;
		border-top: 1px solid #fff;
		border-left: 1px solid #fff;
		transform: translateX(-1.397970773px) rotate(135deg);
	}
}
@media screen and (max-width: 767px) {
	.c-swiper-book-list .swiper-button-next span {
		position: relative;
	}
	.c-swiper-book-list .swiper-button-next span::after {
		position: absolute;
		content: "";
		margin: auto;
		box-sizing: border-box;
		vertical-align: middle;
		width: 6.25px;
		height: 6.25px;
		transition-property: top, right, bottom, left, opacity;
		transition-duration: 0.2s;
	}
	.c-swiper-book-list .swiper-button-next span::after {
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		transform-origin: center center;
		border-top: 1px solid #fff;
		border-left: 1px solid #fff;
		transform: translateX(-1.2944173824px) rotate(135deg);
	}
}
.c-swiper-book-list > .swiper-pagination {
	position: absolute;
	z-index: 10;
	width: 100%;
	bottom: 20px;
}
@media screen and (max-width: 767px) {
	.c-swiper-book-list > .swiper-pagination {
		bottom: 14px;
	}
}
.c-swiper-book-list .swiper-pagination.swiper-pagination-hidden {
	opacity: 0;
}
.c-swiper-book-list .swiper-pagination.swiper-pagination-disabled {
	display: none !important;
}
.c-swiper-book-list .swiper-pagination-disabled > .swiper-pagination {
	display: none !important;
}
.c-swiper-book-list .swiper-pagination-lock {
	display: none;
}
.c-swiper-book-list .swiper-pagination {
	--animation-duration: 0;
	--animation-play-state: running;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 0 14px;
}
@media screen and (max-width: 767px) {
	.c-swiper-book-list .swiper-pagination {
		gap: 0 8px;
	}
}
.c-swiper-book-list .swiper-pagination .swiper-pagination-bullet {
	height: 24px;
	width: 20px;
}
@media screen and (max-width: 767px) {
	.c-swiper-book-list .swiper-pagination .swiper-pagination-bullet {
		width: 14px;
	}
}
.c-swiper-book-list .swiper-pagination .swiper-pagination-bullet {
	position: relative;
}
.c-swiper-book-list .swiper-pagination .swiper-pagination-bullet::before, .c-swiper-book-list .swiper-pagination .swiper-pagination-bullet::after {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	top: 0;
	bottom: 0;
	left: 0;
	border-radius: 100vw;
	overflow: hidden;
	height: 1px;
}
@media screen and (max-width: 767px) {
	.c-swiper-book-list .swiper-pagination .swiper-pagination-bullet::before, .c-swiper-book-list .swiper-pagination .swiper-pagination-bullet::after {
		height: 1px;
	}
}
.c-swiper-book-list .swiper-pagination .swiper-pagination-bullet::before {
	background-color: #7a829b;
	width: 100%;
}
.c-swiper-book-list .swiper-pagination .swiper-pagination-bullet::after {
	background: #212836;
	width: 100%;
	transform: scaleX(0);
	transform-origin: top left;
}
.c-swiper-book-list .swiper-pagination .swiper-pagination-bullet {
	transition-property: background, width;
	transition-duration: 0.2s;
}
.c-swiper-book-list .swiper-pagination .swiper-pagination-bullet:only-child {
	display: none !important;
}
.c-swiper-book-list .swiper-pagination.swiper-pagination-clickable .swiper-pagination-bullet {
	cursor: pointer;
}
.c-swiper-book-list .swiper-pagination svg {
	display: none;
}
.c-swiper-book-list .swiper-pagination .swiper-pagination-bullet-active {
	width: 20px;
}
@media screen and (max-width: 767px) {
	.c-swiper-book-list .swiper-pagination .swiper-pagination-bullet-active {
		width: 14px;
	}
}
.c-swiper-book-list .swiper-pagination .swiper-pagination-bullet-active::before, .c-swiper-book-list .swiper-pagination .swiper-pagination-bullet-active::after {
	height: 3px;
}
@media screen and (max-width: 767px) {
	.c-swiper-book-list .swiper-pagination .swiper-pagination-bullet-active::before, .c-swiper-book-list .swiper-pagination .swiper-pagination-bullet-active::after {
		height: 3px;
	}
}
.c-swiper-book-list .swiper-pagination .swiper-pagination-bullet-active::before {
	opacity: 0.4;
}
.c-swiper-book-list .swiper-pagination.is-stop .swiper-pagination-bullet-active::after, .c-swiper-book-list .swiper-pagination:not(.has-autoplay) .swiper-pagination-bullet-active::after {
	width: 100%;
}
.c-swiper-book-list .swiper-pagination.is-autoplay:not(.is-stop) .swiper-pagination-bullet-active::after {
	animation-name: paginationActive;
	animation-timing-function: linear;
	animation-fill-mode: forwards;
	animation-duration: var(--animation-duration);
	animation-play-state: var(--animation-play-state);
}
.c-swiper-book-list .swiper-pagination.has-autoplay .swiper-pagination-bullet-active {
	width: 32px;
}
@media screen and (max-width: 767px) {
	.c-swiper-book-list .swiper-pagination.has-autoplay .swiper-pagination-bullet-active {
		width: 22.4px;
	}
}
@keyframes paginationActive {
	100% {
		transform: scaleX(1);
	}
}
.c-swiper-book-list .swiper-nav {
	position: relative;
	max-width: 1200px;
	margin-inline: auto;
	padding-inline: 35px;
}
@media screen and (max-width: 767px) {
	.c-swiper-book-list .swiper-nav {
		padding-inline: 15px;
	}
}
.c-swiper-book-list .swiper-nav {
	margin-top: 20px;
	padding-inline: 0;
}
@media screen and (max-width: 767px) {
	.c-swiper-book-list .swiper-nav {
		margin-top: 20px;
		padding-inline: 0;
	}
}
.c-swiper-book-list .swiper-nav {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 40px;
}
@media screen and (max-width: 767px) {
	.c-swiper-book-list .swiper-nav {
		gap: 15px;
	}
}
@media screen and (max-width: 1024px) {
	.c-swiper-book-list .swiper-nav:has(.swiper-nav-inner) {
		flex-wrap: wrap;
	}
}
.c-swiper-book-list .swiper-nav .swiper-nav-inner {
	display: flex;
	align-items: center;
	justify-content: center;
	padding-inline: 200px;
	gap: 40px;
}
@media screen and (max-width: 1024px) {
	.c-swiper-book-list .swiper-nav .swiper-nav-inner {
		padding-inline: 0;
	}
}
@media screen and (max-width: 767px) {
	.c-swiper-book-list .swiper-nav .swiper-nav-inner {
		gap: 15px;
	}
}
.c-swiper-book-list .swiper-nav .swiper-pagination-arrow {
	order: 4;
	text-align: right;
}
@media print, screen and (min-width: 1025px) {
	.c-swiper-book-list .swiper-nav .swiper-pagination-arrow {
		position: absolute;
		right: 0;
	}
}
@media screen and (max-width: 1024px) {
	.c-swiper-book-list .swiper-nav .swiper-pagination-arrow {
		width: 100%;
	}
}
@media screen and (max-width: 1024px) {
	.c-swiper-book-list .swiper-nav:has(.swiper-nav-inner) {
		flex-wrap: wrap;
	}
}
.c-swiper-book-list .swiper-nav .swiper-nav-inner-top {
	display: flex;
	align-items: center;
	justify-content: center;
	padding-inline: 50px;
	gap: 40px;
}
@media screen and (max-width: 767px) {
	.c-swiper-book-list .swiper-nav .swiper-nav-inner-top {
		gap: 15px;
	}
}
.c-swiper-book-list .swiper-nav .swiper-autoplay-control {
	position: absolute;
	right: 35px;
}
@media screen and (max-width: 767px) {
	.c-swiper-book-list .swiper-nav .swiper-autoplay-control {
		right: 15px;
	}
}
.c-swiper-book-list .swiper-nav .swiper-button-prev {
	order: 1;
}
.c-swiper-book-list .swiper-nav .swiper-button-next {
	order: 3;
}
.c-swiper-book-list .swiper-nav .swiper-pagination {
	order: 2;
}
.c-swiper-book-list .swiper-nav .swiper-number {
	order: 2;
}

/******************************************************************
component - swiper-products-preview
******************************************************************/
.c-swiper-products-preview {
	visibility: hidden; /* 要素を見えなくする（高さは保持） */
}
.c-swiper-products-preview:has(.swiper-initialized) {
	visibility: visible; /* Swiperの初期化後に表示 */
}
.c-swiper-products-preview {
	position: relative;
}
.c-swiper-products-preview .swiper-outer {
	position: relative;
}
.c-swiper-products-preview .swiper-slide {
	display: flex;
	height: auto;
}
.c-swiper-products-preview .swiper-slide img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.c-swiper-products-preview > .swiper-thumb {
	margin-top: 20px;
}
@media screen and (max-width: 767px) {
	.c-swiper-products-preview > .swiper-thumb {
		margin-top: 10px;
	}
}
.c-swiper-products-preview .swiper-thumb {
	width: fit-content;
	margin-inline: auto;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	margin-inline: calc(10px / -2);
	gap: 10px;
}
@media screen and (max-width: 767px) {
	.c-swiper-products-preview .swiper-thumb {
		margin-inline: calc(8px / -2);
		gap: 8px;
	}
}
.c-swiper-products-preview .swiper-thumb__item {
	cursor: pointer;
	width: calc(100% / 5 - 10px);
}
@media screen and (max-width: 1024px) {
	.c-swiper-products-preview .swiper-thumb__item {
		width: calc(100% / 4 - 10px);
	}
}
@media screen and (max-width: 767px) {
	.c-swiper-products-preview .swiper-thumb__item {
		width: calc(100% / 4 - 8px);
	}
}
.c-swiper-products-preview .swiper-thumb__item {
	position: relative;
	box-sizing: border-box;
	padding: 1px;
}
.c-swiper-products-preview .swiper-thumb__item::after {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 1px solid #b8bcc0;
}
.c-swiper-products-preview .swiper-thumb__item.swiper-thumb-active::after {
	border: 2px solid #212836;
}
.c-swiper-products-preview .swiper-thumb__item {
	transition-property: opacity;
	transition-duration: 0.4s;
}
@media (any-hover: hover) {
	.c-swiper-products-preview .swiper-thumb__item:hover:not(.swiper-thumb-active) {
		opacity: 0.7;
	}
}
.c-swiper-products-preview .swiper-thumb__item:focus:not(.swiper-thumb-active) {
	opacity: 0.7;
}
.c-swiper-products-preview .swiper-thumb img {
	aspect-ratio: 1/1;
	object-fit: contain;
}

/******************************************************************
component - swiper-top-visual
******************************************************************/
.c-swiper-top-visual {
	visibility: hidden; /* 要素を見えなくする（高さは保持） */
}
.c-swiper-top-visual:has(.swiper-initialized) {
	visibility: visible; /* Swiperの初期化後に表示 */
}
.c-swiper-top-visual {
	position: relative;
}
.c-swiper-top-visual .swiper {
	overflow: initial;
}
@media (any-hover: hover) {
	.c-swiper-top-visual a:hover img {
		transform: scale(1.01);
	}
}
.c-swiper-top-visual a:focus img {
	transform: scale(1.01);
}
.c-swiper-top-visual .swiper-slide img {
	width: 100%;
	transition-property: transform;
	transition-duration: 0.3s;
	transition-timing-function: cubic-bezier(0.3, 1.8, 0.6, 1);
	will-change: transform;
}
.c-swiper-top-visual[data-center=true] .swiper-slide {
	width: min(760px, 80vw);
}
@media screen and (max-width: 767px) {
	.c-swiper-top-visual[data-center=true] .swiper-slide {
		width: 100vw;
	}
}
.c-swiper-top-visual > .swiper-button-prev,
.c-swiper-top-visual > .swiper-button-next,
.c-swiper-top-visual .swiper-outer > .swiper-button-prev,
.c-swiper-top-visual .swiper-outer > .swiper-button-next {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 10;
	cursor: pointer;
}
.c-swiper-top-visual > .swiper-button-prev,
.c-swiper-top-visual .swiper-outer > .swiper-button-prev {
	left: 20px;
}
@media screen and (max-width: 767px) {
	.c-swiper-top-visual > .swiper-button-prev,
	.c-swiper-top-visual .swiper-outer > .swiper-button-prev {
		left: 10px;
	}
}
.c-swiper-top-visual > .swiper-button-next,
.c-swiper-top-visual .swiper-outer > .swiper-button-next {
	right: 20px;
}
@media screen and (max-width: 767px) {
	.c-swiper-top-visual > .swiper-button-next,
	.c-swiper-top-visual .swiper-outer > .swiper-button-next {
		right: 10px;
	}
}
.c-swiper-top-visual .swiper-button-prev.swiper-button-disabled,
.c-swiper-top-visual .swiper-button-next.swiper-button-disabled {
	opacity: 0.15;
	filter: grayscale(100%);
	cursor: auto;
	pointer-events: none;
}
.c-swiper-top-visual .swiper-button-prev.swiper-button-hidden,
.c-swiper-top-visual .swiper-button-next.swiper-button-hidden {
	opacity: 0;
	cursor: auto;
	pointer-events: none;
}
.c-swiper-top-visual .swiper-navigation-disabled .swiper-button-prev,
.c-swiper-top-visual .swiper-navigation-disabled .swiper-button-next {
	display: none !important;
}
.c-swiper-top-visual .swiper-button-lock {
	display: none;
}
.c-swiper-top-visual .swiper-button-prev span,
.c-swiper-top-visual .swiper-button-next span {
	position: relative;
	display: block;
}
@media print, screen and (min-width: 768px) {
	.c-swiper-top-visual .swiper-button-prev span,
	.c-swiper-top-visual .swiper-button-next span {
		width: 27px;
		height: 27px;
	}
}
@media screen and (max-width: 767px) {
	.c-swiper-top-visual .swiper-button-prev span,
	.c-swiper-top-visual .swiper-button-next span {
		width: 25px;
		height: 25px;
	}
}
.c-swiper-top-visual .swiper-button-prev span::before,
.c-swiper-top-visual .swiper-button-next span::before {
	transition-property: background;
	transition-duration: 0.2s;
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #212836;
}
@media (any-hover: hover) {
	.c-swiper-top-visual .swiper-button-prev span:hover::before,
	.c-swiper-top-visual .swiper-button-next span:hover::before {
		background-color: #0055b4;
	}
}
.c-swiper-top-visual .swiper-button-prev span:focus::before,
.c-swiper-top-visual .swiper-button-next span:focus::before {
	background-color: #0055b4;
}
@media print, screen and (min-width: 768px) {
	.c-swiper-top-visual .swiper-button-prev span {
		position: relative;
	}
	.c-swiper-top-visual .swiper-button-prev span::after {
		position: absolute;
		content: "";
		margin: auto;
		box-sizing: border-box;
		vertical-align: middle;
		width: 6.75px;
		height: 6.75px;
		transition-property: top, right, bottom, left, opacity;
		transition-duration: 0.2s;
	}
	.c-swiper-top-visual .swiper-button-prev span::after {
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		transform-origin: center center;
		border-top: 1px solid #fff;
		border-left: 1px solid #fff;
		transform: translateX(1.397970773px) rotate(-45deg);
	}
}
@media screen and (max-width: 767px) {
	.c-swiper-top-visual .swiper-button-prev span {
		position: relative;
	}
	.c-swiper-top-visual .swiper-button-prev span::after {
		position: absolute;
		content: "";
		margin: auto;
		box-sizing: border-box;
		vertical-align: middle;
		width: 6.25px;
		height: 6.25px;
		transition-property: top, right, bottom, left, opacity;
		transition-duration: 0.2s;
	}
	.c-swiper-top-visual .swiper-button-prev span::after {
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		transform-origin: center center;
		border-top: 1px solid #fff;
		border-left: 1px solid #fff;
		transform: translateX(1.2944173824px) rotate(-45deg);
	}
}
@media print, screen and (min-width: 768px) {
	.c-swiper-top-visual .swiper-button-next span {
		position: relative;
	}
	.c-swiper-top-visual .swiper-button-next span::after {
		position: absolute;
		content: "";
		margin: auto;
		box-sizing: border-box;
		vertical-align: middle;
		width: 6.75px;
		height: 6.75px;
		transition-property: top, right, bottom, left, opacity;
		transition-duration: 0.2s;
	}
	.c-swiper-top-visual .swiper-button-next span::after {
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		transform-origin: center center;
		border-top: 1px solid #fff;
		border-left: 1px solid #fff;
		transform: translateX(-1.397970773px) rotate(135deg);
	}
}
@media screen and (max-width: 767px) {
	.c-swiper-top-visual .swiper-button-next span {
		position: relative;
	}
	.c-swiper-top-visual .swiper-button-next span::after {
		position: absolute;
		content: "";
		margin: auto;
		box-sizing: border-box;
		vertical-align: middle;
		width: 6.25px;
		height: 6.25px;
		transition-property: top, right, bottom, left, opacity;
		transition-duration: 0.2s;
	}
	.c-swiper-top-visual .swiper-button-next span::after {
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		transform-origin: center center;
		border-top: 1px solid #fff;
		border-left: 1px solid #fff;
		transform: translateX(-1.2944173824px) rotate(135deg);
	}
}
.c-swiper-top-visual > .swiper-pagination {
	position: absolute;
	z-index: 10;
	width: 100%;
	bottom: 20px;
}
@media screen and (max-width: 767px) {
	.c-swiper-top-visual > .swiper-pagination {
		bottom: 14px;
	}
}
.c-swiper-top-visual .swiper-pagination.swiper-pagination-hidden {
	opacity: 0;
}
.c-swiper-top-visual .swiper-pagination.swiper-pagination-disabled {
	display: none !important;
}
.c-swiper-top-visual .swiper-pagination-disabled > .swiper-pagination {
	display: none !important;
}
.c-swiper-top-visual .swiper-pagination-lock {
	display: none;
}
.c-swiper-top-visual .swiper-pagination {
	--animation-duration: 0;
	--animation-play-state: running;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 0 14px;
}
@media screen and (max-width: 767px) {
	.c-swiper-top-visual .swiper-pagination {
		gap: 0 8px;
	}
}
.c-swiper-top-visual .swiper-pagination .swiper-pagination-bullet {
	height: 24px;
	width: 20px;
}
@media screen and (max-width: 767px) {
	.c-swiper-top-visual .swiper-pagination .swiper-pagination-bullet {
		width: 14px;
	}
}
.c-swiper-top-visual .swiper-pagination .swiper-pagination-bullet {
	position: relative;
}
.c-swiper-top-visual .swiper-pagination .swiper-pagination-bullet::before, .c-swiper-top-visual .swiper-pagination .swiper-pagination-bullet::after {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	top: 0;
	bottom: 0;
	left: 0;
	border-radius: 100vw;
	overflow: hidden;
	height: 1px;
}
@media screen and (max-width: 767px) {
	.c-swiper-top-visual .swiper-pagination .swiper-pagination-bullet::before, .c-swiper-top-visual .swiper-pagination .swiper-pagination-bullet::after {
		height: 1px;
	}
}
.c-swiper-top-visual .swiper-pagination .swiper-pagination-bullet::before {
	background-color: #7a829b;
	width: 100%;
}
.c-swiper-top-visual .swiper-pagination .swiper-pagination-bullet::after {
	background: #212836;
	width: 100%;
	transform: scaleX(0);
	transform-origin: top left;
}
.c-swiper-top-visual .swiper-pagination .swiper-pagination-bullet {
	transition-property: background, width;
	transition-duration: 0.2s;
}
.c-swiper-top-visual .swiper-pagination .swiper-pagination-bullet:only-child {
	display: none !important;
}
.c-swiper-top-visual .swiper-pagination.swiper-pagination-clickable .swiper-pagination-bullet {
	cursor: pointer;
}
.c-swiper-top-visual .swiper-pagination svg {
	display: none;
}
.c-swiper-top-visual .swiper-pagination .swiper-pagination-bullet-active {
	width: 20px;
}
@media screen and (max-width: 767px) {
	.c-swiper-top-visual .swiper-pagination .swiper-pagination-bullet-active {
		width: 14px;
	}
}
.c-swiper-top-visual .swiper-pagination .swiper-pagination-bullet-active::before, .c-swiper-top-visual .swiper-pagination .swiper-pagination-bullet-active::after {
	height: 3px;
}
@media screen and (max-width: 767px) {
	.c-swiper-top-visual .swiper-pagination .swiper-pagination-bullet-active::before, .c-swiper-top-visual .swiper-pagination .swiper-pagination-bullet-active::after {
		height: 3px;
	}
}
.c-swiper-top-visual .swiper-pagination .swiper-pagination-bullet-active::before {
	opacity: 0.4;
}
.c-swiper-top-visual .swiper-pagination.is-stop .swiper-pagination-bullet-active::after, .c-swiper-top-visual .swiper-pagination:not(.has-autoplay) .swiper-pagination-bullet-active::after {
	width: 100%;
}
.c-swiper-top-visual .swiper-pagination.is-autoplay:not(.is-stop) .swiper-pagination-bullet-active::after {
	animation-name: paginationActive;
	animation-timing-function: linear;
	animation-fill-mode: forwards;
	animation-duration: var(--animation-duration);
	animation-play-state: var(--animation-play-state);
}
.c-swiper-top-visual .swiper-pagination.has-autoplay .swiper-pagination-bullet-active {
	width: 32px;
}
@media screen and (max-width: 767px) {
	.c-swiper-top-visual .swiper-pagination.has-autoplay .swiper-pagination-bullet-active {
		width: 22.4px;
	}
}
@keyframes paginationActive {
	100% {
		transform: scaleX(1);
	}
}
.c-swiper-top-visual .swiper-autoplay-control {
	width: fit-content;
	line-height: 1;
}
.c-swiper-top-visual .swiper-autoplay-control__pause, .c-swiper-top-visual .swiper-autoplay-control__play {
	display: inline-block;
	width: 24px;
	height: 24px;
}
.c-swiper-top-visual .swiper-autoplay-control__pause {
	background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0iIzIxMjgzNiIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIj48cGF0aCBkPSJNNiAxOWg0VjVINnYxNHptOC0xNHYxNGg0VjVoLTR6Ii8+PC9zdmc+") center center/100% auto no-repeat;
}
.c-swiper-top-visual .swiper-autoplay-control__play {
	background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0iIzIxMjgzNiIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIj48cGF0aCBkPSJNOCA1djE0bDExLTd6Ii8+PC9zdmc+") center center/100% auto no-repeat;
}
.c-swiper-top-visual .swiper-autoplay-control[aria-pressed=true] .swiper-autoplay-control__pause {
	display: none;
}
.c-swiper-top-visual .swiper-autoplay-control[aria-pressed=false] .swiper-autoplay-control__play {
	display: none;
}
@media (any-hover: hover) {
	.c-swiper-top-visual .swiper-autoplay-control:hover .swiper-autoplay-control__pause {
		background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0iIzAwNTViNCIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIj48cGF0aCBkPSJNNiAxOWg0VjVINnYxNHptOC0xNHYxNGg0VjVoLTR6Ii8+PC9zdmc+") center center/100% auto no-repeat;
	}
	.c-swiper-top-visual .swiper-autoplay-control:hover .swiper-autoplay-control__play {
		background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0iIzAwNTViNCIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIj48cGF0aCBkPSJNOCA1djE0bDExLTd6Ii8+PC9zdmc+") center center/100% auto no-repeat;
	}
}
.c-swiper-top-visual .swiper-nav {
	position: relative;
	max-width: 1200px;
	margin-inline: auto;
	padding-inline: 35px;
}
@media screen and (max-width: 767px) {
	.c-swiper-top-visual .swiper-nav {
		padding-inline: 15px;
	}
}
.c-swiper-top-visual .swiper-nav {
	margin-top: 30px;
	padding-inline: 40px;
}
@media screen and (max-width: 767px) {
	.c-swiper-top-visual .swiper-nav {
		margin-top: 25px;
		padding-inline: 20px;
	}
}
.c-swiper-top-visual .swiper-nav {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 40px;
}
@media screen and (max-width: 767px) {
	.c-swiper-top-visual .swiper-nav {
		gap: 15px;
	}
}
@media screen and (max-width: 1024px) {
	.c-swiper-top-visual .swiper-nav:has(.swiper-nav-inner) {
		flex-wrap: wrap;
	}
}
.c-swiper-top-visual .swiper-nav .swiper-nav-inner {
	display: flex;
	align-items: center;
	justify-content: center;
	padding-inline: 200px;
	gap: 40px;
}
@media screen and (max-width: 1024px) {
	.c-swiper-top-visual .swiper-nav .swiper-nav-inner {
		padding-inline: 0;
	}
}
@media screen and (max-width: 767px) {
	.c-swiper-top-visual .swiper-nav .swiper-nav-inner {
		gap: 15px;
	}
}
.c-swiper-top-visual .swiper-nav .swiper-pagination-arrow {
	order: 4;
	text-align: right;
}
@media print, screen and (min-width: 1025px) {
	.c-swiper-top-visual .swiper-nav .swiper-pagination-arrow {
		position: absolute;
		right: 0;
	}
}
@media screen and (max-width: 1024px) {
	.c-swiper-top-visual .swiper-nav .swiper-pagination-arrow {
		width: 100%;
	}
}
@media screen and (max-width: 1024px) {
	.c-swiper-top-visual .swiper-nav:has(.swiper-nav-inner) {
		flex-wrap: wrap;
	}
}
.c-swiper-top-visual .swiper-nav .swiper-nav-inner-top {
	display: flex;
	align-items: center;
	justify-content: center;
	padding-inline: 50px;
	gap: 40px;
}
@media screen and (max-width: 767px) {
	.c-swiper-top-visual .swiper-nav .swiper-nav-inner-top {
		gap: 15px;
	}
}
.c-swiper-top-visual .swiper-nav .swiper-autoplay-control {
	position: absolute;
	right: 35px;
}
@media screen and (max-width: 767px) {
	.c-swiper-top-visual .swiper-nav .swiper-autoplay-control {
		right: 15px;
	}
}
.c-swiper-top-visual .swiper-nav .swiper-button-prev {
	order: 1;
}
.c-swiper-top-visual .swiper-nav .swiper-button-next {
	order: 3;
}
.c-swiper-top-visual .swiper-nav .swiper-pagination {
	order: 2;
}
.c-swiper-top-visual .swiper-nav .swiper-number {
	order: 2;
}

/******************************************************************
component - swiper-school-visual
******************************************************************/
.c-swiper-school-visual {
	visibility: hidden; /* 要素を見えなくする（高さは保持） */
}
.c-swiper-school-visual:has(.swiper-initialized) {
	visibility: visible; /* Swiperの初期化後に表示 */
}
.c-swiper-school-visual {
	position: relative;
}
.c-swiper-school-visual .swiper-slide img {
	width: 100%;
}
.c-swiper-school-visual .swiper-slide {
	height: auto;
	display: flex;
	flex-direction: column;
}
.c-swiper-school-visual .swiper-slide > *:not(img):not(.c-card) {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}
.c-swiper-school-visual .swiper-slide > a {
	color: inherit;
	text-decoration: none;
}
@media (any-hover: hover) {
	.c-swiper-school-visual .swiper-slide > a:hover {
		text-decoration: none;
	}
}
.c-swiper-school-visual .swiper-slide > a:focus {
	text-decoration: none;
}
.c-swiper-school-visual .swiper-slide__body {
	flex-grow: 1;
	padding-top: 1em;
}
.c-swiper-school-visual[data-center=true] .swiper-slide {
	width: min(1200px, 80vw);
}
@media screen and (max-width: 767px) {
	.c-swiper-school-visual[data-center=true] .swiper-slide {
		width: calc(100vw - 30px);
	}
}
.c-swiper-school-visual > .swiper-button-prev,
.c-swiper-school-visual > .swiper-button-next,
.c-swiper-school-visual .swiper-outer > .swiper-button-prev,
.c-swiper-school-visual .swiper-outer > .swiper-button-next {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 10;
	cursor: pointer;
}
.c-swiper-school-visual > .swiper-button-prev,
.c-swiper-school-visual .swiper-outer > .swiper-button-prev {
	left: 20px;
}
@media screen and (max-width: 767px) {
	.c-swiper-school-visual > .swiper-button-prev,
	.c-swiper-school-visual .swiper-outer > .swiper-button-prev {
		left: 10px;
	}
}
.c-swiper-school-visual > .swiper-button-next,
.c-swiper-school-visual .swiper-outer > .swiper-button-next {
	right: 20px;
}
@media screen and (max-width: 767px) {
	.c-swiper-school-visual > .swiper-button-next,
	.c-swiper-school-visual .swiper-outer > .swiper-button-next {
		right: 10px;
	}
}
.c-swiper-school-visual .swiper-button-prev.swiper-button-disabled,
.c-swiper-school-visual .swiper-button-next.swiper-button-disabled {
	opacity: 0.15;
	filter: grayscale(100%);
	cursor: auto;
	pointer-events: none;
}
.c-swiper-school-visual .swiper-button-prev.swiper-button-hidden,
.c-swiper-school-visual .swiper-button-next.swiper-button-hidden {
	opacity: 0;
	cursor: auto;
	pointer-events: none;
}
.c-swiper-school-visual .swiper-navigation-disabled .swiper-button-prev,
.c-swiper-school-visual .swiper-navigation-disabled .swiper-button-next {
	display: none !important;
}
.c-swiper-school-visual .swiper-button-lock {
	display: none;
}
.c-swiper-school-visual .swiper-button-prev span,
.c-swiper-school-visual .swiper-button-next span {
	position: relative;
	display: block;
}
@media print, screen and (min-width: 768px) {
	.c-swiper-school-visual .swiper-button-prev span,
	.c-swiper-school-visual .swiper-button-next span {
		width: 27px;
		height: 27px;
	}
}
@media screen and (max-width: 767px) {
	.c-swiper-school-visual .swiper-button-prev span,
	.c-swiper-school-visual .swiper-button-next span {
		width: 25px;
		height: 25px;
	}
}
.c-swiper-school-visual .swiper-button-prev span::before,
.c-swiper-school-visual .swiper-button-next span::before {
	transition-property: background;
	transition-duration: 0.2s;
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #fff;
}
@media (any-hover: hover) {
	.c-swiper-school-visual .swiper-button-prev span:hover::before,
	.c-swiper-school-visual .swiper-button-next span:hover::before {
		background-color: #0055b4;
	}
}
.c-swiper-school-visual .swiper-button-prev span:focus::before,
.c-swiper-school-visual .swiper-button-next span:focus::before {
	background-color: #0055b4;
}
@media print, screen and (min-width: 768px) {
	.c-swiper-school-visual .swiper-button-prev span {
		position: relative;
	}
	.c-swiper-school-visual .swiper-button-prev span::after {
		position: absolute;
		content: "";
		margin: auto;
		box-sizing: border-box;
		vertical-align: middle;
		width: 6.75px;
		height: 6.75px;
		transition-property: top, right, bottom, left, opacity;
		transition-duration: 0.2s;
	}
	.c-swiper-school-visual .swiper-button-prev span::after {
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		transform-origin: center center;
		border-top: 1px solid #212836;
		border-left: 1px solid #212836;
		transform: translateX(1.397970773px) rotate(-45deg);
	}
}
@media screen and (max-width: 767px) {
	.c-swiper-school-visual .swiper-button-prev span {
		position: relative;
	}
	.c-swiper-school-visual .swiper-button-prev span::after {
		position: absolute;
		content: "";
		margin: auto;
		box-sizing: border-box;
		vertical-align: middle;
		width: 6.25px;
		height: 6.25px;
		transition-property: top, right, bottom, left, opacity;
		transition-duration: 0.2s;
	}
	.c-swiper-school-visual .swiper-button-prev span::after {
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		transform-origin: center center;
		border-top: 1px solid #212836;
		border-left: 1px solid #212836;
		transform: translateX(1.2944173824px) rotate(-45deg);
	}
}
@media print, screen and (min-width: 768px) {
	.c-swiper-school-visual .swiper-button-next span {
		position: relative;
	}
	.c-swiper-school-visual .swiper-button-next span::after {
		position: absolute;
		content: "";
		margin: auto;
		box-sizing: border-box;
		vertical-align: middle;
		width: 6.75px;
		height: 6.75px;
		transition-property: top, right, bottom, left, opacity;
		transition-duration: 0.2s;
	}
	.c-swiper-school-visual .swiper-button-next span::after {
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		transform-origin: center center;
		border-top: 1px solid #212836;
		border-left: 1px solid #212836;
		transform: translateX(-1.397970773px) rotate(135deg);
	}
}
@media screen and (max-width: 767px) {
	.c-swiper-school-visual .swiper-button-next span {
		position: relative;
	}
	.c-swiper-school-visual .swiper-button-next span::after {
		position: absolute;
		content: "";
		margin: auto;
		box-sizing: border-box;
		vertical-align: middle;
		width: 6.25px;
		height: 6.25px;
		transition-property: top, right, bottom, left, opacity;
		transition-duration: 0.2s;
	}
	.c-swiper-school-visual .swiper-button-next span::after {
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		transform-origin: center center;
		border-top: 1px solid #212836;
		border-left: 1px solid #212836;
		transform: translateX(-1.2944173824px) rotate(135deg);
	}
}
@media (any-hover: hover) {
	.c-swiper-school-visual .swiper-button-prev span:hover::before,
	.c-swiper-school-visual .swiper-button-next span:hover::before {
		background-color: #cfe4fd;
	}
}
.c-swiper-school-visual .swiper-button-prev span:focus::before,
.c-swiper-school-visual .swiper-button-next span:focus::before {
	background-color: #cfe4fd;
}
.c-swiper-school-visual > .swiper-pagination {
	position: absolute;
	z-index: 10;
	width: 100%;
	bottom: 20px;
}
@media screen and (max-width: 767px) {
	.c-swiper-school-visual > .swiper-pagination {
		bottom: 14px;
	}
}
.c-swiper-school-visual .swiper-pagination.swiper-pagination-hidden {
	opacity: 0;
}
.c-swiper-school-visual .swiper-pagination.swiper-pagination-disabled {
	display: none !important;
}
.c-swiper-school-visual .swiper-pagination-disabled > .swiper-pagination {
	display: none !important;
}
.c-swiper-school-visual .swiper-pagination-lock {
	display: none;
}
.c-swiper-school-visual .swiper-pagination {
	--animation-duration: 0;
	--animation-play-state: running;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 0 14px;
}
@media screen and (max-width: 767px) {
	.c-swiper-school-visual .swiper-pagination {
		gap: 0 8px;
	}
}
.c-swiper-school-visual .swiper-pagination .swiper-pagination-bullet {
	height: 24px;
	width: 20px;
}
@media screen and (max-width: 767px) {
	.c-swiper-school-visual .swiper-pagination .swiper-pagination-bullet {
		width: 14px;
	}
}
.c-swiper-school-visual .swiper-pagination .swiper-pagination-bullet {
	position: relative;
}
.c-swiper-school-visual .swiper-pagination .swiper-pagination-bullet::before, .c-swiper-school-visual .swiper-pagination .swiper-pagination-bullet::after {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	top: 0;
	bottom: 0;
	left: 0;
	border-radius: 100vw;
	overflow: hidden;
	height: 1px;
}
@media screen and (max-width: 767px) {
	.c-swiper-school-visual .swiper-pagination .swiper-pagination-bullet::before, .c-swiper-school-visual .swiper-pagination .swiper-pagination-bullet::after {
		height: 1px;
	}
}
.c-swiper-school-visual .swiper-pagination .swiper-pagination-bullet::before {
	background-color: #a1a1a1;
	width: 100%;
}
.c-swiper-school-visual .swiper-pagination .swiper-pagination-bullet::after {
	background: #fff;
	width: 100%;
	transform: scaleX(0);
	transform-origin: top left;
}
.c-swiper-school-visual .swiper-pagination .swiper-pagination-bullet {
	transition-property: background, width;
	transition-duration: 0.2s;
}
.c-swiper-school-visual .swiper-pagination .swiper-pagination-bullet:only-child {
	display: none !important;
}
.c-swiper-school-visual .swiper-pagination.swiper-pagination-clickable .swiper-pagination-bullet {
	cursor: pointer;
}
.c-swiper-school-visual .swiper-pagination svg {
	display: none;
}
.c-swiper-school-visual .swiper-pagination .swiper-pagination-bullet-active {
	width: 20px;
}
@media screen and (max-width: 767px) {
	.c-swiper-school-visual .swiper-pagination .swiper-pagination-bullet-active {
		width: 14px;
	}
}
.c-swiper-school-visual .swiper-pagination .swiper-pagination-bullet-active::before, .c-swiper-school-visual .swiper-pagination .swiper-pagination-bullet-active::after {
	height: 3px;
}
@media screen and (max-width: 767px) {
	.c-swiper-school-visual .swiper-pagination .swiper-pagination-bullet-active::before, .c-swiper-school-visual .swiper-pagination .swiper-pagination-bullet-active::after {
		height: 3px;
	}
}
.c-swiper-school-visual .swiper-pagination .swiper-pagination-bullet-active::before {
	opacity: 0.4;
}
.c-swiper-school-visual .swiper-pagination.is-stop .swiper-pagination-bullet-active::after, .c-swiper-school-visual .swiper-pagination:not(.has-autoplay) .swiper-pagination-bullet-active::after {
	width: 100%;
}
.c-swiper-school-visual .swiper-pagination.is-autoplay:not(.is-stop) .swiper-pagination-bullet-active::after {
	animation-name: paginationActive;
	animation-timing-function: linear;
	animation-fill-mode: forwards;
	animation-duration: var(--animation-duration);
	animation-play-state: var(--animation-play-state);
}
.c-swiper-school-visual .swiper-pagination.has-autoplay .swiper-pagination-bullet-active {
	width: 32px;
}
@media screen and (max-width: 767px) {
	.c-swiper-school-visual .swiper-pagination.has-autoplay .swiper-pagination-bullet-active {
		width: 22.4px;
	}
}
@keyframes paginationActive {
	100% {
		transform: scaleX(1);
	}
}
.c-swiper-school-visual .swiper-autoplay-control {
	width: fit-content;
	line-height: 1;
}
.c-swiper-school-visual .swiper-autoplay-control__pause, .c-swiper-school-visual .swiper-autoplay-control__play {
	display: inline-block;
	width: 24px;
	height: 24px;
}
.c-swiper-school-visual .swiper-autoplay-control__pause {
	background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0iI2ZmZiIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIj48cGF0aCBkPSJNNiAxOWg0VjVINnYxNHptOC0xNHYxNGg0VjVoLTR6Ii8+PC9zdmc+") center center/100% auto no-repeat;
}
.c-swiper-school-visual .swiper-autoplay-control__play {
	background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0iI2ZmZiIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIj48cGF0aCBkPSJNOCA1djE0bDExLTd6Ii8+PC9zdmc+") center center/100% auto no-repeat;
}
.c-swiper-school-visual .swiper-autoplay-control[aria-pressed=true] .swiper-autoplay-control__pause {
	display: none;
}
.c-swiper-school-visual .swiper-autoplay-control[aria-pressed=false] .swiper-autoplay-control__play {
	display: none;
}
@media (any-hover: hover) {
	.c-swiper-school-visual .swiper-autoplay-control:hover .swiper-autoplay-control__pause {
		background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0iI2NmZTRmZCIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIj48cGF0aCBkPSJNNiAxOWg0VjVINnYxNHptOC0xNHYxNGg0VjVoLTR6Ii8+PC9zdmc+") center center/100% auto no-repeat;
	}
	.c-swiper-school-visual .swiper-autoplay-control:hover .swiper-autoplay-control__play {
		background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0iI2NmZTRmZCIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIj48cGF0aCBkPSJNOCA1djE0bDExLTd6Ii8+PC9zdmc+") center center/100% auto no-repeat;
	}
}
.c-swiper-school-visual .swiper-nav {
	position: relative;
	max-width: 1200px;
	margin-inline: auto;
	padding-inline: 35px;
}
@media screen and (max-width: 767px) {
	.c-swiper-school-visual .swiper-nav {
		padding-inline: 15px;
	}
}
.c-swiper-school-visual .swiper-nav {
	margin-top: 30px;
	padding-inline: 40px;
}
@media screen and (max-width: 767px) {
	.c-swiper-school-visual .swiper-nav {
		margin-top: 25px;
		padding-inline: 20px;
	}
}
.c-swiper-school-visual .swiper-nav {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 40px;
}
@media screen and (max-width: 767px) {
	.c-swiper-school-visual .swiper-nav {
		gap: 15px;
	}
}
@media screen and (max-width: 1024px) {
	.c-swiper-school-visual .swiper-nav:has(.swiper-nav-inner) {
		flex-wrap: wrap;
	}
}
.c-swiper-school-visual .swiper-nav .swiper-nav-inner {
	display: flex;
	align-items: center;
	justify-content: center;
	padding-inline: 200px;
	gap: 40px;
}
@media screen and (max-width: 1024px) {
	.c-swiper-school-visual .swiper-nav .swiper-nav-inner {
		padding-inline: 0;
	}
}
@media screen and (max-width: 767px) {
	.c-swiper-school-visual .swiper-nav .swiper-nav-inner {
		gap: 15px;
	}
}
.c-swiper-school-visual .swiper-nav .swiper-pagination-arrow {
	order: 4;
	text-align: right;
}
@media print, screen and (min-width: 1025px) {
	.c-swiper-school-visual .swiper-nav .swiper-pagination-arrow {
		position: absolute;
		right: 0;
	}
}
@media screen and (max-width: 1024px) {
	.c-swiper-school-visual .swiper-nav .swiper-pagination-arrow {
		width: 100%;
	}
}
@media screen and (max-width: 1024px) {
	.c-swiper-school-visual .swiper-nav:has(.swiper-nav-inner) {
		flex-wrap: wrap;
	}
}
.c-swiper-school-visual .swiper-nav .swiper-nav-inner-top {
	display: flex;
	align-items: center;
	justify-content: center;
	padding-inline: 50px;
	gap: 40px;
}
@media screen and (max-width: 767px) {
	.c-swiper-school-visual .swiper-nav .swiper-nav-inner-top {
		gap: 15px;
	}
}
.c-swiper-school-visual .swiper-nav .swiper-autoplay-control {
	position: absolute;
	right: 35px;
}
@media screen and (max-width: 767px) {
	.c-swiper-school-visual .swiper-nav .swiper-autoplay-control {
		right: 15px;
	}
}
.c-swiper-school-visual .swiper-nav .swiper-button-prev {
	order: 1;
}
.c-swiper-school-visual .swiper-nav .swiper-button-next {
	order: 3;
}
.c-swiper-school-visual .swiper-nav .swiper-pagination {
	order: 2;
}
.c-swiper-school-visual .swiper-nav .swiper-number {
	order: 2;
}
.c-swiper-school-visual .swiper-nav {
	max-width: min(1200px, 80vw);
}
@media screen and (max-width: 767px) {
	.c-swiper-school-visual .swiper-nav {
		max-width: calc(100vw - 30px);
	}
}

/******************************************************************
component - swiper-school-news
******************************************************************/
.c-swiper-school-news {
	visibility: hidden; /* 要素を見えなくする（高さは保持） */
}
.c-swiper-school-news:has(.swiper-initialized) {
	visibility: visible; /* Swiperの初期化後に表示 */
}
.c-swiper-school-news {
	position: relative;
}
.c-swiper-school-news .swiper {
	background-color: #fff;
	border-inline: 1px solid #b9c0c5;
}
@media screen and (max-width: 767px) {
	.c-swiper-school-news .swiper {
		border-block: 1px solid #b9c0c5;
	}
}
.c-swiper-school-news .swiper-slide {
	height: auto;
	display: flex;
	flex-direction: column;
}
.c-swiper-school-news .swiper-slide > *:not(img):not(.c-card) {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}
.c-swiper-school-news .swiper-slide > a {
	color: inherit;
	text-decoration: none;
}
@media (any-hover: hover) {
	.c-swiper-school-news .swiper-slide > a:hover {
		text-decoration: none;
	}
}
.c-swiper-school-news .swiper-slide > a:focus {
	text-decoration: none;
}
.c-swiper-school-news .swiper-slide__body {
	flex-grow: 1;
	padding-top: 1em;
}
.c-swiper-school-news > .swiper-button-prev,
.c-swiper-school-news > .swiper-button-next,
.c-swiper-school-news .swiper-outer > .swiper-button-prev,
.c-swiper-school-news .swiper-outer > .swiper-button-next {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 10;
	cursor: pointer;
}
.c-swiper-school-news > .swiper-button-prev,
.c-swiper-school-news .swiper-outer > .swiper-button-prev {
	left: 20px;
}
@media screen and (max-width: 767px) {
	.c-swiper-school-news > .swiper-button-prev,
	.c-swiper-school-news .swiper-outer > .swiper-button-prev {
		left: 10px;
	}
}
.c-swiper-school-news > .swiper-button-next,
.c-swiper-school-news .swiper-outer > .swiper-button-next {
	right: 20px;
}
@media screen and (max-width: 767px) {
	.c-swiper-school-news > .swiper-button-next,
	.c-swiper-school-news .swiper-outer > .swiper-button-next {
		right: 10px;
	}
}
.c-swiper-school-news .swiper-button-prev.swiper-button-disabled,
.c-swiper-school-news .swiper-button-next.swiper-button-disabled {
	opacity: 0.15;
	filter: grayscale(100%);
	cursor: auto;
	pointer-events: none;
}
.c-swiper-school-news .swiper-button-prev.swiper-button-hidden,
.c-swiper-school-news .swiper-button-next.swiper-button-hidden {
	opacity: 0;
	cursor: auto;
	pointer-events: none;
}
.c-swiper-school-news .swiper-navigation-disabled .swiper-button-prev,
.c-swiper-school-news .swiper-navigation-disabled .swiper-button-next {
	display: none !important;
}
.c-swiper-school-news .swiper-button-lock {
	display: none;
}
.c-swiper-school-news .swiper-button-prev span,
.c-swiper-school-news .swiper-button-next span {
	position: relative;
	display: block;
}
@media print, screen and (min-width: 768px) {
	.c-swiper-school-news .swiper-button-prev span,
	.c-swiper-school-news .swiper-button-next span {
		width: 27px;
		height: 27px;
	}
}
@media screen and (max-width: 767px) {
	.c-swiper-school-news .swiper-button-prev span,
	.c-swiper-school-news .swiper-button-next span {
		width: 25px;
		height: 25px;
	}
}
.c-swiper-school-news .swiper-button-prev span::before,
.c-swiper-school-news .swiper-button-next span::before {
	transition-property: background;
	transition-duration: 0.2s;
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #212836;
}
@media (any-hover: hover) {
	.c-swiper-school-news .swiper-button-prev span:hover::before,
	.c-swiper-school-news .swiper-button-next span:hover::before {
		background-color: #0055b4;
	}
}
.c-swiper-school-news .swiper-button-prev span:focus::before,
.c-swiper-school-news .swiper-button-next span:focus::before {
	background-color: #0055b4;
}
@media print, screen and (min-width: 768px) {
	.c-swiper-school-news .swiper-button-prev span {
		position: relative;
	}
	.c-swiper-school-news .swiper-button-prev span::after {
		position: absolute;
		content: "";
		margin: auto;
		box-sizing: border-box;
		vertical-align: middle;
		width: 6.75px;
		height: 6.75px;
		transition-property: top, right, bottom, left, opacity;
		transition-duration: 0.2s;
	}
	.c-swiper-school-news .swiper-button-prev span::after {
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		transform-origin: center center;
		border-top: 1px solid #fff;
		border-left: 1px solid #fff;
		transform: translateX(1.397970773px) rotate(-45deg);
	}
}
@media screen and (max-width: 767px) {
	.c-swiper-school-news .swiper-button-prev span {
		position: relative;
	}
	.c-swiper-school-news .swiper-button-prev span::after {
		position: absolute;
		content: "";
		margin: auto;
		box-sizing: border-box;
		vertical-align: middle;
		width: 6.25px;
		height: 6.25px;
		transition-property: top, right, bottom, left, opacity;
		transition-duration: 0.2s;
	}
	.c-swiper-school-news .swiper-button-prev span::after {
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		transform-origin: center center;
		border-top: 1px solid #fff;
		border-left: 1px solid #fff;
		transform: translateX(1.2944173824px) rotate(-45deg);
	}
}
@media print, screen and (min-width: 768px) {
	.c-swiper-school-news .swiper-button-next span {
		position: relative;
	}
	.c-swiper-school-news .swiper-button-next span::after {
		position: absolute;
		content: "";
		margin: auto;
		box-sizing: border-box;
		vertical-align: middle;
		width: 6.75px;
		height: 6.75px;
		transition-property: top, right, bottom, left, opacity;
		transition-duration: 0.2s;
	}
	.c-swiper-school-news .swiper-button-next span::after {
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		transform-origin: center center;
		border-top: 1px solid #fff;
		border-left: 1px solid #fff;
		transform: translateX(-1.397970773px) rotate(135deg);
	}
}
@media screen and (max-width: 767px) {
	.c-swiper-school-news .swiper-button-next span {
		position: relative;
	}
	.c-swiper-school-news .swiper-button-next span::after {
		position: absolute;
		content: "";
		margin: auto;
		box-sizing: border-box;
		vertical-align: middle;
		width: 6.25px;
		height: 6.25px;
		transition-property: top, right, bottom, left, opacity;
		transition-duration: 0.2s;
	}
	.c-swiper-school-news .swiper-button-next span::after {
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		transform-origin: center center;
		border-top: 1px solid #fff;
		border-left: 1px solid #fff;
		transform: translateX(-1.2944173824px) rotate(135deg);
	}
}
.c-swiper-school-news > .swiper-pagination {
	position: absolute;
	z-index: 10;
	width: 100%;
	bottom: 20px;
}
@media screen and (max-width: 767px) {
	.c-swiper-school-news > .swiper-pagination {
		bottom: 14px;
	}
}
.c-swiper-school-news .swiper-pagination.swiper-pagination-hidden {
	opacity: 0;
}
.c-swiper-school-news .swiper-pagination.swiper-pagination-disabled {
	display: none !important;
}
.c-swiper-school-news .swiper-pagination-disabled > .swiper-pagination {
	display: none !important;
}
.c-swiper-school-news .swiper-pagination-lock {
	display: none;
}
.c-swiper-school-news .swiper-pagination {
	--animation-duration: 0;
	--animation-play-state: running;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 0 14px;
}
@media screen and (max-width: 767px) {
	.c-swiper-school-news .swiper-pagination {
		gap: 0 8px;
	}
}
.c-swiper-school-news .swiper-pagination .swiper-pagination-bullet {
	height: 24px;
	width: 20px;
}
@media screen and (max-width: 767px) {
	.c-swiper-school-news .swiper-pagination .swiper-pagination-bullet {
		width: 14px;
	}
}
.c-swiper-school-news .swiper-pagination .swiper-pagination-bullet {
	position: relative;
}
.c-swiper-school-news .swiper-pagination .swiper-pagination-bullet::before, .c-swiper-school-news .swiper-pagination .swiper-pagination-bullet::after {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	top: 0;
	bottom: 0;
	left: 0;
	border-radius: 100vw;
	overflow: hidden;
	height: 1px;
}
@media screen and (max-width: 767px) {
	.c-swiper-school-news .swiper-pagination .swiper-pagination-bullet::before, .c-swiper-school-news .swiper-pagination .swiper-pagination-bullet::after {
		height: 1px;
	}
}
.c-swiper-school-news .swiper-pagination .swiper-pagination-bullet::before {
	background-color: #7a829b;
	width: 100%;
}
.c-swiper-school-news .swiper-pagination .swiper-pagination-bullet::after {
	background: #212836;
	width: 100%;
	transform: scaleX(0);
	transform-origin: top left;
}
.c-swiper-school-news .swiper-pagination .swiper-pagination-bullet {
	transition-property: background, width;
	transition-duration: 0.2s;
}
.c-swiper-school-news .swiper-pagination .swiper-pagination-bullet:only-child {
	display: none !important;
}
.c-swiper-school-news .swiper-pagination.swiper-pagination-clickable .swiper-pagination-bullet {
	cursor: pointer;
}
.c-swiper-school-news .swiper-pagination svg {
	display: none;
}
.c-swiper-school-news .swiper-pagination .swiper-pagination-bullet-active {
	width: 20px;
}
@media screen and (max-width: 767px) {
	.c-swiper-school-news .swiper-pagination .swiper-pagination-bullet-active {
		width: 14px;
	}
}
.c-swiper-school-news .swiper-pagination .swiper-pagination-bullet-active::before, .c-swiper-school-news .swiper-pagination .swiper-pagination-bullet-active::after {
	height: 3px;
}
@media screen and (max-width: 767px) {
	.c-swiper-school-news .swiper-pagination .swiper-pagination-bullet-active::before, .c-swiper-school-news .swiper-pagination .swiper-pagination-bullet-active::after {
		height: 3px;
	}
}
.c-swiper-school-news .swiper-pagination .swiper-pagination-bullet-active::before {
	opacity: 0.4;
}
.c-swiper-school-news .swiper-pagination.is-stop .swiper-pagination-bullet-active::after, .c-swiper-school-news .swiper-pagination:not(.has-autoplay) .swiper-pagination-bullet-active::after {
	width: 100%;
}
.c-swiper-school-news .swiper-pagination.is-autoplay:not(.is-stop) .swiper-pagination-bullet-active::after {
	animation-name: paginationActive;
	animation-timing-function: linear;
	animation-fill-mode: forwards;
	animation-duration: var(--animation-duration);
	animation-play-state: var(--animation-play-state);
}
.c-swiper-school-news .swiper-pagination.has-autoplay .swiper-pagination-bullet-active {
	width: 32px;
}
@media screen and (max-width: 767px) {
	.c-swiper-school-news .swiper-pagination.has-autoplay .swiper-pagination-bullet-active {
		width: 22.4px;
	}
}
@keyframes paginationActive {
	100% {
		transform: scaleX(1);
	}
}
.c-swiper-school-news .swiper-nav {
	position: relative;
	max-width: 1200px;
	margin-inline: auto;
	padding-inline: 35px;
}
@media screen and (max-width: 767px) {
	.c-swiper-school-news .swiper-nav {
		padding-inline: 15px;
	}
}
.c-swiper-school-news .swiper-nav {
	margin-top: 20px;
	padding-inline: 0;
}
@media screen and (max-width: 767px) {
	.c-swiper-school-news .swiper-nav {
		margin-top: 20px;
		padding-inline: 0;
	}
}
.c-swiper-school-news .swiper-nav {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 40px;
}
@media screen and (max-width: 767px) {
	.c-swiper-school-news .swiper-nav {
		gap: 15px;
	}
}
@media screen and (max-width: 1024px) {
	.c-swiper-school-news .swiper-nav:has(.swiper-nav-inner) {
		flex-wrap: wrap;
	}
}
.c-swiper-school-news .swiper-nav .swiper-nav-inner {
	display: flex;
	align-items: center;
	justify-content: center;
	padding-inline: 200px;
	gap: 40px;
}
@media screen and (max-width: 1024px) {
	.c-swiper-school-news .swiper-nav .swiper-nav-inner {
		padding-inline: 0;
	}
}
@media screen and (max-width: 767px) {
	.c-swiper-school-news .swiper-nav .swiper-nav-inner {
		gap: 15px;
	}
}
.c-swiper-school-news .swiper-nav .swiper-pagination-arrow {
	order: 4;
	text-align: right;
}
@media print, screen and (min-width: 1025px) {
	.c-swiper-school-news .swiper-nav .swiper-pagination-arrow {
		position: absolute;
		right: 0;
	}
}
@media screen and (max-width: 1024px) {
	.c-swiper-school-news .swiper-nav .swiper-pagination-arrow {
		width: 100%;
	}
}
@media screen and (max-width: 1024px) {
	.c-swiper-school-news .swiper-nav:has(.swiper-nav-inner) {
		flex-wrap: wrap;
	}
}
.c-swiper-school-news .swiper-nav .swiper-nav-inner-top {
	display: flex;
	align-items: center;
	justify-content: center;
	padding-inline: 50px;
	gap: 40px;
}
@media screen and (max-width: 767px) {
	.c-swiper-school-news .swiper-nav .swiper-nav-inner-top {
		gap: 15px;
	}
}
.c-swiper-school-news .swiper-nav .swiper-autoplay-control {
	position: absolute;
	right: 35px;
}
@media screen and (max-width: 767px) {
	.c-swiper-school-news .swiper-nav .swiper-autoplay-control {
		right: 15px;
	}
}
.c-swiper-school-news .swiper-nav .swiper-button-prev {
	order: 1;
}
.c-swiper-school-news .swiper-nav .swiper-button-next {
	order: 3;
}
.c-swiper-school-news .swiper-nav .swiper-pagination {
	order: 2;
}
.c-swiper-school-news .swiper-nav .swiper-number {
	order: 2;
}
@media print, screen and (min-width: 768px) {
	.c-swiper-school-news[data-init=sp] {
		visibility: visible;
	}
	.c-swiper-school-news[data-init=sp] .swiper-wrapper {
		display: block;
	}
	.c-swiper-school-news[data-init=sp] .swiper {
		margin-left: initial;
		margin-right: initial;
	}
	.c-swiper-school-news[data-init=sp] .swiper-wrapper {
		position: initial;
		width: initial;
		height: initial;
		z-index: initial;
		transition-property: initial;
		transition-timing-function: initial;
		box-sizing: initial;
		transform: initial;
	}
	.c-swiper-school-news[data-init=sp] .swiper-slide {
		height: initial;
		display: initial;
		flex-direction: initial;
		transform: initial;
		backface-visibility: initial;
	}
	.c-swiper-school-news[data-init=sp] .swiper-slide > a {
		display: initial;
		flex-direction: initial;
		flex-grow: initial;
		text-decoration: initial;
	}
	.c-swiper-school-news[data-init=sp] .swiper-nav,
	.c-swiper-school-news[data-init=sp] .swiper-button-prev,
	.c-swiper-school-news[data-init=sp] .swiper-button-next,
	.c-swiper-school-news[data-init=sp] .swiper-pagination,
	.c-swiper-school-news[data-init=sp] .swiper-number,
	.c-swiper-school-news[data-init=sp] .swiper-autoplay-control {
		display: none;
	}
}

/******************************************************************
component - swiper-school-voice
******************************************************************/
.c-swiper-school-voice {
	visibility: hidden; /* 要素を見えなくする（高さは保持） */
}
.c-swiper-school-voice:has(.swiper-initialized) {
	visibility: visible; /* Swiperの初期化後に表示 */
}
@media screen and (max-width: 767px) {
	.c-swiper-school-voice {
		max-width: 500px;
		margin-inline: auto;
	}
}
.c-swiper-school-voice {
	position: relative;
}
.c-swiper-school-voice .swiper-outer {
	position: relative;
}
.c-swiper-school-voice .swiper-slide {
	height: auto;
	display: flex;
	flex-direction: column;
}
.c-swiper-school-voice .swiper-slide > *:not(img):not(.c-card) {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}
.c-swiper-school-voice .swiper-slide > a {
	color: inherit;
	text-decoration: none;
}
@media (any-hover: hover) {
	.c-swiper-school-voice .swiper-slide > a:hover {
		text-decoration: none;
	}
}
.c-swiper-school-voice .swiper-slide > a:focus {
	text-decoration: none;
}
.c-swiper-school-voice .swiper-slide__body {
	flex-grow: 1;
	padding-top: 1em;
}
.c-swiper-school-voice__item {
	border: 1px solid #b3bcc3;
	padding: 26px;
}
@media screen and (max-width: 767px) {
	.c-swiper-school-voice__item {
		padding: 18px;
	}
}
.c-swiper-school-voice__head {
	padding-left: 60px;
	min-height: 45px;
	background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAADqBJREFUeNrsnXmMVfUVx8+7AwMiOyIIVkBUyqKggxoEK8ogtQVsbAFbLbZpiwYFjY0OhoigVIclsWgpQUzaahcqsQSGlgo4qCxtBARUQLCyiFJQyiqyDMzr7847DHd4233v3fu7v+X7SU7sH2Xe/Z3l3t92zoktWLyCQOh0EtJLSFchVwm5SciVOf6Nj4WsFrJNyBYhG4TsgGrDpR5UEChDhdzL/20Q8N++MktQnRSyQMgfhVTAFAiQqGknZKGQEkWexw3I4SxetnPAboLJcseBCnxzvZDlQuIsnysUHJm4XMiHnueuFNIb5kSABEGZkFPsWO8K6W/AmG4VsobHdEZIOcyMAMmFfkL2sgO5zlPfcPuX8VgPCBkC8yNAUuFOOT5jR3G39dpYqIMWvKaKsy5K4BZ2B8goz7zcnXK0hzvU4upirUc/ZQgQO4hRYgvUNfpsxIFvyllnK1mHCBDDaMrThmohg+HvedOXdbhPSCsEiBnMEHIYU6hAuVjIfhu+wiYHyESeFoyFP4e+jpuBANGHcWy0p+C/0hhr6mLepADpykZ6Dv4a+WK+JwJEHQaxUTbDP5VhA9uklHBZMVK+ENIa/qgsS9lGbfAFiWZxiOAgLXa8tF2fOBo+7wnCIZ+u65MTuvmcblOsM/AzrWnANozhC0KB52LE4V/G4NqyDwIkGJZzLgYwi9W8iEeA5MkcftP0hy8ZSynb+BWsQXJjr6U5GbbyYyF3kIK7kvUUnZ8C+7iIbR/DFCs96+An1vM+viCpOcx5G8BurhZyVEgTBAimVSA1jVWZbjkKpMAiOECmF6dja4AUUyJ9EwDKcnuigW0BsooStWQB8MMJ9hkrAqSYq5sDkAs3RfElcSJYc+DLAQr5kjgmBwjWHECrG90OtnIB6bm7ZVSAHIJNQcAcMSVA1gtpBnuCgHFP2j8gzU/SMa0CYdIj7BN3J+SKIwDIYL9uAfIyoeIIkIdbSPsPOgXIz2AzIJmRugTIctgKRMQy1QOkBDnkIEIGCLlR5QBZCxuBiPm3igHiYEsXkIF5JEEFyDHYBCjG16oEyBghDWEPQOqVOR2tQoC8AFsARZkZdYDsgw2A4nwZVYAM4t4PAJDiBekGRhEg/4TugSYskR0gPaHzgnhNyFDWfyyLFAm5U8g8qI0KLUgnLUA2QN8586TH6UcIqSB/Z0dumvJCIcM9/x4trklOSVMnzz7kwB9vCanPTj05wL/7NP9N92+/DTX75rFc/0FsweIVhCQoCqM4RRHJL2bgQPW+KuuE9gWZAv1m5fsRBAfxbw6D+rPyqzC/IPh6pGeXkI6KPMt/hHSGSQr/iuTyBZkFvablEYWCw+UKIffBLGl5MegAaSnkAeiVUl2tdt9GMxR8tlf42XBelcxDQpoHGSCboNOU6NDK+A6YKX+fdnzO19pCn0k00uhZi2GuJNr5WYv4CZBK6DKJy4Qc1+h5qwhVZiifHHY/AdIfeqzDD4TsJj1rR42A+epwW6EBMhY6pPPLqL5Oet8B2wgz1uHBQs5BcO5RwCksoTq69nbF1QT7gsO0sVBU1d17Qz21TDBwTM/ArLX0ymeK9ZmQ9tCd0W9cTLUS7OadyZy+IAiOBM8bPLbfwLw1fCPXKVYpdFbLowaPbQzMSxmPM9IFyFzoi0LtO6EQB2FmOrsF7jtAWkFfNdxtwRh/BDPX0NpvgEyArmp504Ix4rbvOcYjQABIzyQ/AVIEPQFLKcoWIDdAR+QtvICx2se1mQKkHPqpZZFFY8U6hFIXJjk/QG6Ffmp5x6KxorbWOQbisiKhnRyhdR7lelkRZWIoqXSOLXwMc9ehU6oAWQi9kK29T9DnpS4LUwVIN+jF2lwZTLXr0gOKyU5jjBU4yDBLy+UWjRXrT0qdA3Q2QIZCH0l0x1it5rveALkX+kjiZovG+i2YO4l7vAEyBPpI4k6Lxgr7p7G/42m6DiipO6ottIS5k7gAu1gAEPa/ASgoQDpBDVZPPS6CmdPSwTn//juow6sWjPFPMHNarnMD5JvQQ1q+Y8EYb4eZ09LFDZAu0ENGBuEFYHeA9IUeyNZsu7/DvBnp61h25yhfXieDr3SDtHR2cFHRF3eRWVviRTg994WDcxCyskTn/2BOHBQGTVMhPzFgHD8X0gzmRICEwe+I7+hoSkMhc2BGBEiYfK3xsx+H+RAgJKkzk07nR1egmxQCRDYfEcr6IEAA6b4b9AXMlD/1oAIq9LavW/i5WMhpUu+s4xRegviCkALVL6qEDCa1LiCehn2D+YLEcZoeCBVC9lD03YF3CukAcwRCtfuG+QR6CIx2/MKZGsFvT+ffRnAExydugKyCHgLnMXbWqpBbapfyb7i/9UuoPXBWuQGyFXoIdQq7lB14MwWTWtCPElvMcf7b2GgJj60IEHl0FbKSHdvdXfqLkGFC2mT4N22FDOf/7yn+tysISW7SAsR9+6yHHqRTnxI92O+GKpTmPfcLsgN6ACAlu7BPDgDhoBCAggLkBFQBACWlBjhI4AcgJfO9AYLqegBQcsVJx3OPCABwjn94AwTZZgBgFwuA/ANkE9QBQA3vpwoQdLoF4LxY8AbIdugFgBp2YQ0CAOVetKFSyG1QC8koPreTEhdF3f9+RYnbDMe543ALFrc92tVCLoPKpLEkU4CUCVkDHVFQVxXmc+uECs78C4o23Md7JKG/S9CMowzbvGuhn7w5JuRxIRdSoghGIyH3CPlbwMHhsk/IS5TILoyxuL0m58IMBbM+2znIGejIN78X0oQdtLGQaRHW7t0g5IeegHGnyh/CRDlx2s9B4SToKSOfC7mOnfCnvH5QkeW8fonx1Blk5yk/AfIM9FQHNwC6e97Ml2qYpjzV8/wxngqCZJ71e9VkP3RVq58mXJHEJKZxoHQTchJmprQ1jNMFyAiLFXXGMzUx/RLnFko01XkU8VFTPcZ3gFRaqqSelNj6tm1x+zy/EMZZHCBv53qb91PL3h4x7yU1S5nCenjVsnHvzue6+11kT3X2eZhh1GEk1+46YMl4h+QTIOsMV8pEVLWnbGcCrXidYjobkTB1jl4cGDjv8Uc31td4QkZhEmPJrAO+WKa3BaBsZwRNDRzXg4UEyIuGKGE8H/CBwjjKLxmTpl2/LTQnvdKA7btn4duBT7smGjCON4Mo2lBKel9d7g9/DoVJmrXCTsXAIALEPU3+r4aD70GJfX1AofY8+bPGa9J4UGV/ums2+GaEKi2ycHNefqHpC5SCCpCDQmZpMOgXeBF5BH4rlZdZ77ocLLp+cijownGjNZgTPwxfjZRW3ApbdR4Oq7JiOal9Mg6ix+0Tv1fh55tMIZYefYLUvU8F1OEShZ/tybBr86p2JfoC+KOS3E5q9q+nsANEpa3TjoTuWKqyVMH7W9NlVXe/RoHBfps8JSIBqXp/q0KnbV3KUlnRLx9EPNjGXIcKkBaFoPsIWR3xc2yS3R8kqjlmKYJDO/4lZGaEvz+AImigs5Qr/MnkHfJxwQwoyUMUzZWlvYVcuC00Yaqt5MHeAj/Tmnak2ZazE9CbQQab4V9GIPOl+gAp0KNwpqSt1q7wLSMYJel33IJ4s1Vp4nkhyTktHw3/0hq3uPbTkn6rESnU5bZa0nWPmag+ry2HJOaOxNgnlWsDXUJyCk3E0T5OK45wjo4MblC5T/p7QpaRvBq6uIelPie4ALgM3qCAO6Q5UeT5UrC9/jrAB0nl4nMNSO71I1I9QIjbg8lip5Ax8EXlcKfBRaRI+R7VAuR+StNvgcJLoWwNn1SGHZJ/b1+2AnCqBQhxJ1aS3ADlPvgmRZ24VsVpCGTC4aMjQWHvktymmnHkplNUXX6rC7ghTnluCsWirM0bBDeS/Cojvybkisjien4pNZL8u4dJwrGCI7FOlWwuY8N9Dz4cGuskzxC8GwDNSYHq7iYUVphPiaQdECyruR02KdiVQMsAoQhPvxcIOUXyDqzI8G5Mcc4SjIIikx3WVWxxRIqtz2uht+DjeevPbX+wMMJnaBjUHSuV3+hVEecn38KBOhU+75s1/AVuHOEzrKIIerpHNeXpS3KvIFCaGklx7nCKqRel7AFSxTrqHfGzuLOOfkYvdlJwSpEbuZfy1OskkrJq6MdBsUnymUamNUcVmb4bkGFNokrZ0GJO641bmpg1mce+gtS5yxWTveZQtcttjA9+VGEmG6jMgsAo47GOV6wXohK+qVLSUXMFe7OXs/O41+qHkVlbtSd5bOUK9ixvqksbaNn0VtSh3MSs19ihjml612sUv5njvFVbTOr2sScESObp1pcKO1ojvusV52nhE7w/r+JzThDyFT/r7Ii3acnHlXXl2liomtd9sZA5GryVm3KB5uPshNX8pYniaot752weP8fZL90kSRVnCmVWBEUI/b2tFyxeobrylhVSW1VR3C/kNiFb+X8f5KofZw/CGvCarAUlEsG6CLnKwKSwN8JIkw2SehoosZTXJmsMcozWLH3JXko4n4MQIIWzluencQJkSOahFuhWW6ooivs4gIIsAaSVz+kWINW8Y3Q/fE07HqHEdnkcARI+L/Fneg/8TnnObt/O0PHhHQN6cg+EDyrLAFW3b20JEOJt4Bhu4irFNWyTSt0HYlIB6I/YKI/DPynKHJuYAk1eESAZmMZGGgd/lcYU1vl00wbmWGC0KfBfCnuzxNiXkQ09Nsbxnand8GcKcmeqJVmw3W5LE5qjXEjOfdstgn9TIYUTHN6ZOmjDgB1L6zrFcNiY81c45slXtwYH8+cauRZTsDp8SonEpZjt6zj0+UuwwTMFu1nIXgt1cIASeSwx7tq1EW6BAEnFSiGXeHZnqgwe6xnPbl8rIRUwPwKEctwqLmYHKpHYoDRMllCi6HSM0x1wXoQAoaCatQz0zMvbK1iFJRXbhfTwPPcgIethTgRI2OzhTMeYR9wdsr9SIu+BIsi1mCtk8HnP1JkSVRIBmZtRqAuLKPU5S0dK7Ap15fzyPpxjngvbuOi3+98t/BVAF62Q+b8AAwC9IWaR0rdHHgAAAABJRU5ErkJggg==") left top/45px auto no-repeat;
}
@media screen and (max-width: 767px) {
	.c-swiper-school-voice__head {
		padding-left: 50px;
		min-height: 35px;
		background-size: 35px auto;
	}
}
.c-swiper-school-voice__head {
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.c-swiper-school-voice__5stars {
	display: flex;
	gap: 5px;
}
.c-swiper-school-voice__5stars[data-rating="5"] span:nth-child(1),
.c-swiper-school-voice__5stars[data-rating="5"] span:nth-child(2),
.c-swiper-school-voice__5stars[data-rating="5"] span:nth-child(3),
.c-swiper-school-voice__5stars[data-rating="5"] span:nth-child(4),
.c-swiper-school-voice__5stars[data-rating="5"] span:nth-child(5), .c-swiper-school-voice__5stars[data-rating="4.5"] span:nth-child(1),
.c-swiper-school-voice__5stars[data-rating="4.5"] span:nth-child(2),
.c-swiper-school-voice__5stars[data-rating="4.5"] span:nth-child(3),
.c-swiper-school-voice__5stars[data-rating="4.5"] span:nth-child(4), .c-swiper-school-voice__5stars[data-rating="4"] span:nth-child(1),
.c-swiper-school-voice__5stars[data-rating="4"] span:nth-child(2),
.c-swiper-school-voice__5stars[data-rating="4"] span:nth-child(3),
.c-swiper-school-voice__5stars[data-rating="4"] span:nth-child(4), .c-swiper-school-voice__5stars[data-rating="3.5"] span:nth-child(1),
.c-swiper-school-voice__5stars[data-rating="3.5"] span:nth-child(2),
.c-swiper-school-voice__5stars[data-rating="3.5"] span:nth-child(3), .c-swiper-school-voice__5stars[data-rating="3"] span:nth-child(1),
.c-swiper-school-voice__5stars[data-rating="3"] span:nth-child(2),
.c-swiper-school-voice__5stars[data-rating="3"] span:nth-child(3), .c-swiper-school-voice__5stars[data-rating="2.5"] span:nth-child(1),
.c-swiper-school-voice__5stars[data-rating="2.5"] span:nth-child(2), .c-swiper-school-voice__5stars[data-rating="2"] span:nth-child(1),
.c-swiper-school-voice__5stars[data-rating="2"] span:nth-child(2), .c-swiper-school-voice__5stars[data-rating="1.5"] span:nth-child(1), .c-swiper-school-voice__5stars[data-rating="1"] span:nth-child(1) {
	background-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgNDAwIDM4MyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJtMzk5LjEgMTQ1LjFjLTIuMS02LjYtNy44LTExLjQtMTQuNy0xMi40bC0xMTYuMi0xNi45LTUxLjktMTA1LjNjLTMuMS02LjItOS40LTEwLjEtMTYuMy0xMC4xcy0xMy4yIDMuOS0xNi4zIDEwLjFsLTUxLjkgMTA1LjMtMTE2LjIgMTYuOWMtNi44IDEtMTIuNSA1LjgtMTQuNyAxMi40LTIuMSA2LjYtLjQgMTMuOCA0LjYgMTguNmw4NC4xIDgxLjktMTkuOSAxMTUuN2MtMS4yIDYuOCAxLjYgMTMuNyA3LjIgMTcuOCAzLjIgMi4zIDYuOSAzLjUgMTAuNyAzLjVzNS44LS43IDguNS0yLjFsMTAzLjktNTQuNiAxMDMuOSA1NC42YzIuNyAxLjQgNS42IDIuMSA4LjUgMi4xIDEwIDAgMTguMi04LjIgMTguMi0xOC4ycy0uMi0yLjgtLjUtNC4xbC0xOS43LTExNC43IDg0LjEtODEuOWM1LTQuOCA2LjctMTIuMSA0LjYtMTguNnoiIGZpbGw9IiNmZmMxMDciLz48L3N2Zz4=");
}
.c-swiper-school-voice__5stars[data-rating="4.5"] span:nth-child(5), .c-swiper-school-voice__5stars[data-rating="3.5"] span:nth-child(4), .c-swiper-school-voice__5stars[data-rating="2.5"] span:nth-child(3), .c-swiper-school-voice__5stars[data-rating="1.5"] span:nth-child(2), .c-swiper-school-voice__5stars[data-rating="0.5"] span:nth-child(1) {
	background-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgNDAwIDM4MyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJtMzk5LjEgMTQ1LjFjLTIuMS02LjYtNy44LTExLjQtMTQuNy0xMi40bC0xMTYuMi0xNi45LTUxLjktMTA1LjNjLTMuMS02LjItOS40LTEwLjEtMTYuMy0xMC4xcy0xMy4yIDMuOS0xNi4zIDEwLjFsLTUxLjkgMTA1LjMtMTE2LjIgMTYuOWMtNi44IDEtMTIuNSA1LjgtMTQuNyAxMi40LTIuMSA2LjYtLjQgMTMuOCA0LjYgMTguNmw4NC4xIDgxLjktMTkuOSAxMTUuN2MtMS4yIDYuOCAxLjYgMTMuNyA3LjIgMTcuOCAzLjIgMi4zIDYuOSAzLjUgMTAuNyAzLjVzNS44LS43IDguNS0yLjFsMTAzLjktNTQuNiAxMDMuOSA1NC42YzIuNyAxLjQgNS42IDIuMSA4LjUgMi4xIDEwIDAgMTguMi04LjIgMTguMi0xOC4ycy0uMi0yLjgtLjUtNC4xbC0xOS43LTExNC43IDg0LjEtODEuOWM1LTQuOCA2LjctMTIuMSA0LjYtMTguNnoiIGZpbGw9IiNmZmMxMDciLz48cGF0aCBkPSJtMzk5LjEgMTQ1LjFjLTIuMS02LjYtNy44LTExLjQtMTQuNy0xMi40bC0xMTYuMi0xNi45LTUxLjktMTA1LjNjLTMuMS02LjItOS40LTEwLjEtMTYuMy0xMC4xdjMyNS41bDEwMy45IDU0LjZjMi43IDEuNCA1LjYgMi4xIDguNSAyLjEgMTAgMCAxOC4yLTguMiAxOC4yLTE4LjJzLS4yLTIuOC0uNS00LjFsLTE5LjctMTE0LjcgODQuMS04MS45YzUtNC44IDYuNy0xMi4xIDQuNi0xOC42eiIgZmlsbD0iI2IzYmNjMyIvPjwvc3ZnPg==");
}
.c-swiper-school-voice__5stars[data-rating="4"] span:nth-child(5), .c-swiper-school-voice__5stars[data-rating="3.5"] span:nth-child(5), .c-swiper-school-voice__5stars[data-rating="3"] span:nth-child(4),
.c-swiper-school-voice__5stars[data-rating="3"] span:nth-child(5), .c-swiper-school-voice__5stars[data-rating="2.5"] span:nth-child(4),
.c-swiper-school-voice__5stars[data-rating="2.5"] span:nth-child(5), .c-swiper-school-voice__5stars[data-rating="2"] span:nth-child(3),
.c-swiper-school-voice__5stars[data-rating="2"] span:nth-child(4),
.c-swiper-school-voice__5stars[data-rating="2"] span:nth-child(5), .c-swiper-school-voice__5stars[data-rating="1.5"] span:nth-child(3),
.c-swiper-school-voice__5stars[data-rating="1.5"] span:nth-child(4),
.c-swiper-school-voice__5stars[data-rating="1.5"] span:nth-child(5), .c-swiper-school-voice__5stars[data-rating="1"] span:nth-child(2),
.c-swiper-school-voice__5stars[data-rating="1"] span:nth-child(3),
.c-swiper-school-voice__5stars[data-rating="1"] span:nth-child(4),
.c-swiper-school-voice__5stars[data-rating="1"] span:nth-child(5), .c-swiper-school-voice__5stars[data-rating="0.5"] span:nth-child(2),
.c-swiper-school-voice__5stars[data-rating="0.5"] span:nth-child(3),
.c-swiper-school-voice__5stars[data-rating="0.5"] span:nth-child(4),
.c-swiper-school-voice__5stars[data-rating="0.5"] span:nth-child(5), .c-swiper-school-voice__5stars[data-rating="0"] span:nth-child(1),
.c-swiper-school-voice__5stars[data-rating="0"] span:nth-child(2),
.c-swiper-school-voice__5stars[data-rating="0"] span:nth-child(3),
.c-swiper-school-voice__5stars[data-rating="0"] span:nth-child(4),
.c-swiper-school-voice__5stars[data-rating="0"] span:nth-child(5) {
	background-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgNDAwIDM4MyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJtMzk5LjEgMTQ1LjFjLTIuMS02LjYtNy44LTExLjQtMTQuNy0xMi40bC0xMTYuMi0xNi45LTUxLjktMTA1LjNjLTMuMS02LjItOS40LTEwLjEtMTYuMy0xMC4xcy0xMy4yIDMuOS0xNi4zIDEwLjFsLTUxLjkgMTA1LjMtMTE2LjIgMTYuOWMtNi44IDEtMTIuNSA1LjgtMTQuNyAxMi40LTIuMSA2LjYtLjQgMTMuOCA0LjYgMTguNmw4NC4xIDgxLjktMTkuOSAxMTUuN2MtMS4yIDYuOCAxLjYgMTMuNyA3LjIgMTcuOCAzLjIgMi4zIDYuOSAzLjUgMTAuNyAzLjVzNS44LS43IDguNS0yLjFsMTAzLjktNTQuNiAxMDMuOSA1NC42YzIuNyAxLjQgNS42IDIuMSA4LjUgMi4xIDEwIDAgMTguMi04LjIgMTguMi0xOC4ycy0uMi0yLjgtLjUtNC4xbC0xOS43LTExNC43IDg0LjEtODEuOWM1LTQuOCA2LjctMTIuMSA0LjYtMTguNnoiIGZpbGw9IiNiM2JjYzMiLz48L3N2Zz4=");
}
.c-swiper-school-voice__5stars span {
	display: block;
	width: 15px;
	aspect-ratio: 1/1;
	background: center center/100% auto no-repeat;
}
.c-swiper-school-voice__comment {
	line-height: 1.8;
	font-weight: bold;
	font-size: 16px;
}
@media screen and (max-width: 767px) {
	.c-swiper-school-voice__comment {
		font-size: 14px;
	}
}
.c-swiper-school-voice__body {
	margin-top: 0.75em;
	line-height: 1.8;
	font-size: 15px;
}
@media screen and (max-width: 767px) {
	.c-swiper-school-voice__body {
		font-size: 13px;
	}
}
.c-swiper-school-voice > .swiper-button-prev,
.c-swiper-school-voice > .swiper-button-next,
.c-swiper-school-voice .swiper-outer > .swiper-button-prev,
.c-swiper-school-voice .swiper-outer > .swiper-button-next {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 10;
	cursor: pointer;
}
.c-swiper-school-voice > .swiper-button-prev,
.c-swiper-school-voice .swiper-outer > .swiper-button-prev {
	left: 20px;
}
@media screen and (max-width: 767px) {
	.c-swiper-school-voice > .swiper-button-prev,
	.c-swiper-school-voice .swiper-outer > .swiper-button-prev {
		left: 10px;
	}
}
.c-swiper-school-voice > .swiper-button-next,
.c-swiper-school-voice .swiper-outer > .swiper-button-next {
	right: 20px;
}
@media screen and (max-width: 767px) {
	.c-swiper-school-voice > .swiper-button-next,
	.c-swiper-school-voice .swiper-outer > .swiper-button-next {
		right: 10px;
	}
}
.c-swiper-school-voice .swiper-button-prev.swiper-button-disabled,
.c-swiper-school-voice .swiper-button-next.swiper-button-disabled {
	opacity: 0.15;
	filter: grayscale(100%);
	cursor: auto;
	pointer-events: none;
}
.c-swiper-school-voice .swiper-button-prev.swiper-button-hidden,
.c-swiper-school-voice .swiper-button-next.swiper-button-hidden {
	opacity: 0;
	cursor: auto;
	pointer-events: none;
}
.c-swiper-school-voice .swiper-navigation-disabled .swiper-button-prev,
.c-swiper-school-voice .swiper-navigation-disabled .swiper-button-next {
	display: none !important;
}
.c-swiper-school-voice .swiper-button-lock {
	display: none;
}
.c-swiper-school-voice .swiper-button-prev span,
.c-swiper-school-voice .swiper-button-next span {
	position: relative;
	display: block;
}
@media print, screen and (min-width: 768px) {
	.c-swiper-school-voice .swiper-button-prev span,
	.c-swiper-school-voice .swiper-button-next span {
		width: 27px;
		height: 27px;
	}
}
@media screen and (max-width: 767px) {
	.c-swiper-school-voice .swiper-button-prev span,
	.c-swiper-school-voice .swiper-button-next span {
		width: 25px;
		height: 25px;
	}
}
.c-swiper-school-voice .swiper-button-prev span::before,
.c-swiper-school-voice .swiper-button-next span::before {
	transition-property: background;
	transition-duration: 0.2s;
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #212836;
}
@media (any-hover: hover) {
	.c-swiper-school-voice .swiper-button-prev span:hover::before,
	.c-swiper-school-voice .swiper-button-next span:hover::before {
		background-color: #0055b4;
	}
}
.c-swiper-school-voice .swiper-button-prev span:focus::before,
.c-swiper-school-voice .swiper-button-next span:focus::before {
	background-color: #0055b4;
}
@media print, screen and (min-width: 768px) {
	.c-swiper-school-voice .swiper-button-prev span {
		position: relative;
	}
	.c-swiper-school-voice .swiper-button-prev span::after {
		position: absolute;
		content: "";
		margin: auto;
		box-sizing: border-box;
		vertical-align: middle;
		width: 6.75px;
		height: 6.75px;
		transition-property: top, right, bottom, left, opacity;
		transition-duration: 0.2s;
	}
	.c-swiper-school-voice .swiper-button-prev span::after {
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		transform-origin: center center;
		border-top: 1px solid #fff;
		border-left: 1px solid #fff;
		transform: translateX(1.397970773px) rotate(-45deg);
	}
}
@media screen and (max-width: 767px) {
	.c-swiper-school-voice .swiper-button-prev span {
		position: relative;
	}
	.c-swiper-school-voice .swiper-button-prev span::after {
		position: absolute;
		content: "";
		margin: auto;
		box-sizing: border-box;
		vertical-align: middle;
		width: 6.25px;
		height: 6.25px;
		transition-property: top, right, bottom, left, opacity;
		transition-duration: 0.2s;
	}
	.c-swiper-school-voice .swiper-button-prev span::after {
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		transform-origin: center center;
		border-top: 1px solid #fff;
		border-left: 1px solid #fff;
		transform: translateX(1.2944173824px) rotate(-45deg);
	}
}
@media print, screen and (min-width: 768px) {
	.c-swiper-school-voice .swiper-button-next span {
		position: relative;
	}
	.c-swiper-school-voice .swiper-button-next span::after {
		position: absolute;
		content: "";
		margin: auto;
		box-sizing: border-box;
		vertical-align: middle;
		width: 6.75px;
		height: 6.75px;
		transition-property: top, right, bottom, left, opacity;
		transition-duration: 0.2s;
	}
	.c-swiper-school-voice .swiper-button-next span::after {
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		transform-origin: center center;
		border-top: 1px solid #fff;
		border-left: 1px solid #fff;
		transform: translateX(-1.397970773px) rotate(135deg);
	}
}
@media screen and (max-width: 767px) {
	.c-swiper-school-voice .swiper-button-next span {
		position: relative;
	}
	.c-swiper-school-voice .swiper-button-next span::after {
		position: absolute;
		content: "";
		margin: auto;
		box-sizing: border-box;
		vertical-align: middle;
		width: 6.25px;
		height: 6.25px;
		transition-property: top, right, bottom, left, opacity;
		transition-duration: 0.2s;
	}
	.c-swiper-school-voice .swiper-button-next span::after {
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		transform-origin: center center;
		border-top: 1px solid #fff;
		border-left: 1px solid #fff;
		transform: translateX(-1.2944173824px) rotate(135deg);
	}
}
.c-swiper-school-voice > .swiper-pagination {
	position: absolute;
	z-index: 10;
	width: 100%;
	bottom: 20px;
}
@media screen and (max-width: 767px) {
	.c-swiper-school-voice > .swiper-pagination {
		bottom: 14px;
	}
}
.c-swiper-school-voice .swiper-pagination.swiper-pagination-hidden {
	opacity: 0;
}
.c-swiper-school-voice .swiper-pagination.swiper-pagination-disabled {
	display: none !important;
}
.c-swiper-school-voice .swiper-pagination-disabled > .swiper-pagination {
	display: none !important;
}
.c-swiper-school-voice .swiper-pagination-lock {
	display: none;
}
.c-swiper-school-voice .swiper-pagination {
	--animation-duration: 0;
	--animation-play-state: running;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 0 14px;
}
@media screen and (max-width: 767px) {
	.c-swiper-school-voice .swiper-pagination {
		gap: 0 8px;
	}
}
.c-swiper-school-voice .swiper-pagination .swiper-pagination-bullet {
	height: 24px;
	width: 20px;
}
@media screen and (max-width: 767px) {
	.c-swiper-school-voice .swiper-pagination .swiper-pagination-bullet {
		width: 14px;
	}
}
.c-swiper-school-voice .swiper-pagination .swiper-pagination-bullet {
	position: relative;
}
.c-swiper-school-voice .swiper-pagination .swiper-pagination-bullet::before, .c-swiper-school-voice .swiper-pagination .swiper-pagination-bullet::after {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	top: 0;
	bottom: 0;
	left: 0;
	border-radius: 100vw;
	overflow: hidden;
	height: 1px;
}
@media screen and (max-width: 767px) {
	.c-swiper-school-voice .swiper-pagination .swiper-pagination-bullet::before, .c-swiper-school-voice .swiper-pagination .swiper-pagination-bullet::after {
		height: 1px;
	}
}
.c-swiper-school-voice .swiper-pagination .swiper-pagination-bullet::before {
	background-color: #7a829b;
	width: 100%;
}
.c-swiper-school-voice .swiper-pagination .swiper-pagination-bullet::after {
	background: #212836;
	width: 100%;
	transform: scaleX(0);
	transform-origin: top left;
}
.c-swiper-school-voice .swiper-pagination .swiper-pagination-bullet {
	transition-property: background, width;
	transition-duration: 0.2s;
}
.c-swiper-school-voice .swiper-pagination .swiper-pagination-bullet:only-child {
	display: none !important;
}
.c-swiper-school-voice .swiper-pagination.swiper-pagination-clickable .swiper-pagination-bullet {
	cursor: pointer;
}
.c-swiper-school-voice .swiper-pagination svg {
	display: none;
}
.c-swiper-school-voice .swiper-pagination .swiper-pagination-bullet-active {
	width: 20px;
}
@media screen and (max-width: 767px) {
	.c-swiper-school-voice .swiper-pagination .swiper-pagination-bullet-active {
		width: 14px;
	}
}
.c-swiper-school-voice .swiper-pagination .swiper-pagination-bullet-active::before, .c-swiper-school-voice .swiper-pagination .swiper-pagination-bullet-active::after {
	height: 3px;
}
@media screen and (max-width: 767px) {
	.c-swiper-school-voice .swiper-pagination .swiper-pagination-bullet-active::before, .c-swiper-school-voice .swiper-pagination .swiper-pagination-bullet-active::after {
		height: 3px;
	}
}
.c-swiper-school-voice .swiper-pagination .swiper-pagination-bullet-active::before {
	opacity: 0.4;
}
.c-swiper-school-voice .swiper-pagination.is-stop .swiper-pagination-bullet-active::after, .c-swiper-school-voice .swiper-pagination:not(.has-autoplay) .swiper-pagination-bullet-active::after {
	width: 100%;
}
.c-swiper-school-voice .swiper-pagination.is-autoplay:not(.is-stop) .swiper-pagination-bullet-active::after {
	animation-name: paginationActive;
	animation-timing-function: linear;
	animation-fill-mode: forwards;
	animation-duration: var(--animation-duration);
	animation-play-state: var(--animation-play-state);
}
.c-swiper-school-voice .swiper-pagination.has-autoplay .swiper-pagination-bullet-active {
	width: 32px;
}
@media screen and (max-width: 767px) {
	.c-swiper-school-voice .swiper-pagination.has-autoplay .swiper-pagination-bullet-active {
		width: 22.4px;
	}
}
@keyframes paginationActive {
	100% {
		transform: scaleX(1);
	}
}
.c-swiper-school-voice .swiper-nav {
	position: relative;
	max-width: 1200px;
	margin-inline: auto;
	padding-inline: 35px;
}
@media screen and (max-width: 767px) {
	.c-swiper-school-voice .swiper-nav {
		padding-inline: 15px;
	}
}
.c-swiper-school-voice .swiper-nav {
	margin-top: 20px;
	padding-inline: 0;
}
@media screen and (max-width: 767px) {
	.c-swiper-school-voice .swiper-nav {
		margin-top: 20px;
		padding-inline: 0;
	}
}
.c-swiper-school-voice .swiper-nav {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 40px;
}
@media screen and (max-width: 767px) {
	.c-swiper-school-voice .swiper-nav {
		gap: 15px;
	}
}
@media screen and (max-width: 1024px) {
	.c-swiper-school-voice .swiper-nav:has(.swiper-nav-inner) {
		flex-wrap: wrap;
	}
}
.c-swiper-school-voice .swiper-nav .swiper-nav-inner {
	display: flex;
	align-items: center;
	justify-content: center;
	padding-inline: 200px;
	gap: 40px;
}
@media screen and (max-width: 1024px) {
	.c-swiper-school-voice .swiper-nav .swiper-nav-inner {
		padding-inline: 0;
	}
}
@media screen and (max-width: 767px) {
	.c-swiper-school-voice .swiper-nav .swiper-nav-inner {
		gap: 15px;
	}
}
.c-swiper-school-voice .swiper-nav .swiper-pagination-arrow {
	order: 4;
	text-align: right;
}
@media print, screen and (min-width: 1025px) {
	.c-swiper-school-voice .swiper-nav .swiper-pagination-arrow {
		position: absolute;
		right: 0;
	}
}
@media screen and (max-width: 1024px) {
	.c-swiper-school-voice .swiper-nav .swiper-pagination-arrow {
		width: 100%;
	}
}
@media screen and (max-width: 1024px) {
	.c-swiper-school-voice .swiper-nav:has(.swiper-nav-inner) {
		flex-wrap: wrap;
	}
}
.c-swiper-school-voice .swiper-nav .swiper-nav-inner-top {
	display: flex;
	align-items: center;
	justify-content: center;
	padding-inline: 50px;
	gap: 40px;
}
@media screen and (max-width: 767px) {
	.c-swiper-school-voice .swiper-nav .swiper-nav-inner-top {
		gap: 15px;
	}
}
.c-swiper-school-voice .swiper-nav .swiper-autoplay-control {
	position: absolute;
	right: 35px;
}
@media screen and (max-width: 767px) {
	.c-swiper-school-voice .swiper-nav .swiper-autoplay-control {
		right: 15px;
	}
}
.c-swiper-school-voice .swiper-nav .swiper-button-prev {
	order: 1;
}
.c-swiper-school-voice .swiper-nav .swiper-button-next {
	order: 3;
}
.c-swiper-school-voice .swiper-nav .swiper-pagination {
	order: 2;
}
.c-swiper-school-voice .swiper-nav .swiper-number {
	order: 2;
}

/******************************************************************
component - swiper-dialog-gallery
******************************************************************/
.c-swiper-dialog-gallery {
	transition-property: opacity;
	transition-duration: 300ms;
	opacity: 0;
}
.c-swiper-dialog-gallery:has(.swiper-initialized) {
	opacity: 1;
}
.c-swiper-dialog-gallery {
	position: relative;
}
.c-swiper-dialog-gallery .swiper-outer {
	position: relative;
}
.c-swiper-dialog-gallery .swiper-slide {
	align-items: center;
	justify-content: center;
}
.c-swiper-dialog-gallery .swiper-slide img {
	width: auto;
	max-height: calc(100dvh - 50px - 50px);
}
@media screen and (max-width: 767px) {
	.c-swiper-dialog-gallery .swiper-slide img {
		max-height: calc(100dvh - 20px - 20px);
	}
}
.c-swiper-dialog-gallery .swiper-slide {
	height: auto;
	display: flex;
	flex-direction: column;
}
.c-swiper-dialog-gallery .swiper-slide > *:not(img):not(.c-card) {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}
.c-swiper-dialog-gallery .swiper-slide > a {
	color: inherit;
	text-decoration: none;
}
@media (any-hover: hover) {
	.c-swiper-dialog-gallery .swiper-slide > a:hover {
		text-decoration: none;
	}
}
.c-swiper-dialog-gallery .swiper-slide > a:focus {
	text-decoration: none;
}
.c-swiper-dialog-gallery .swiper-slide__body {
	flex-grow: 1;
	padding-top: 1em;
}
.c-swiper-dialog-gallery > .swiper-button-prev,
.c-swiper-dialog-gallery > .swiper-button-next,
.c-swiper-dialog-gallery .swiper-outer > .swiper-button-prev,
.c-swiper-dialog-gallery .swiper-outer > .swiper-button-next {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 10;
	cursor: pointer;
}
.c-swiper-dialog-gallery > .swiper-button-prev,
.c-swiper-dialog-gallery .swiper-outer > .swiper-button-prev {
	left: 20px;
}
@media screen and (max-width: 767px) {
	.c-swiper-dialog-gallery > .swiper-button-prev,
	.c-swiper-dialog-gallery .swiper-outer > .swiper-button-prev {
		left: 10px;
	}
}
.c-swiper-dialog-gallery > .swiper-button-next,
.c-swiper-dialog-gallery .swiper-outer > .swiper-button-next {
	right: 20px;
}
@media screen and (max-width: 767px) {
	.c-swiper-dialog-gallery > .swiper-button-next,
	.c-swiper-dialog-gallery .swiper-outer > .swiper-button-next {
		right: 10px;
	}
}
.c-swiper-dialog-gallery .swiper-button-prev.swiper-button-disabled,
.c-swiper-dialog-gallery .swiper-button-next.swiper-button-disabled {
	opacity: 0.15;
	filter: grayscale(100%);
	cursor: auto;
	pointer-events: none;
}
.c-swiper-dialog-gallery .swiper-button-prev.swiper-button-hidden,
.c-swiper-dialog-gallery .swiper-button-next.swiper-button-hidden {
	opacity: 0;
	cursor: auto;
	pointer-events: none;
}
.c-swiper-dialog-gallery .swiper-navigation-disabled .swiper-button-prev,
.c-swiper-dialog-gallery .swiper-navigation-disabled .swiper-button-next {
	display: none !important;
}
.c-swiper-dialog-gallery .swiper-button-lock {
	display: none;
}
.c-swiper-dialog-gallery .swiper-outer .swiper {
	margin-inline: 40px;
}
@media screen and (max-width: 767px) {
	.c-swiper-dialog-gallery .swiper-outer .swiper {
		margin-inline: 20px;
	}
}
.c-swiper-dialog-gallery .swiper-outer .swiper-button-prev {
	left: 0;
}
@media screen and (max-width: 767px) {
	.c-swiper-dialog-gallery .swiper-outer .swiper-button-prev {
		left: 0;
	}
}
.c-swiper-dialog-gallery .swiper-outer .swiper-button-next {
	right: 0;
}
@media screen and (max-width: 767px) {
	.c-swiper-dialog-gallery .swiper-outer .swiper-button-next {
		right: 0;
	}
}
.c-swiper-dialog-gallery .swiper-button-prev span,
.c-swiper-dialog-gallery .swiper-button-next span {
	display: block;
}
@media print, screen and (min-width: 768px) {
	.c-swiper-dialog-gallery .swiper-button-prev span,
	.c-swiper-dialog-gallery .swiper-button-next span {
		width: 19.091883092px;
		height: 33.941125497px;
	}
}
@media screen and (max-width: 767px) {
	.c-swiper-dialog-gallery .swiper-button-prev span,
	.c-swiper-dialog-gallery .swiper-button-next span {
		width: 11.313708499px;
		height: 19.7989898732px;
	}
}
.c-swiper-dialog-gallery .swiper-button-prev span,
.c-swiper-dialog-gallery .swiper-button-next span {
	transition-property: all;
	transition-duration: 0.2s;
}
@media print, screen and (min-width: 768px) {
	.c-swiper-dialog-gallery .swiper-button-prev span {
		position: relative;
	}
	.c-swiper-dialog-gallery .swiper-button-prev span::after {
		position: absolute;
		content: "";
		margin: auto;
		box-sizing: border-box;
		vertical-align: middle;
		width: 24px;
		height: 24px;
		transition-property: top, right, bottom, left, opacity;
		transition-duration: 0.2s;
	}
	.c-swiper-dialog-gallery .swiper-button-prev span::after {
		top: 0;
		bottom: 0;
		left: 0;
		transform-origin: center center;
		border-top: 3px solid #fff;
		border-left: 3px solid #fff;
		transform: translateX(4.9705627485px) rotate(-45deg);
	}
}
@media screen and (max-width: 767px) {
	.c-swiper-dialog-gallery .swiper-button-prev span {
		position: relative;
	}
	.c-swiper-dialog-gallery .swiper-button-prev span::after {
		position: absolute;
		content: "";
		margin: auto;
		box-sizing: border-box;
		vertical-align: middle;
		width: 14px;
		height: 14px;
		transition-property: top, right, bottom, left, opacity;
		transition-duration: 0.2s;
	}
	.c-swiper-dialog-gallery .swiper-button-prev span::after {
		top: 0;
		bottom: 0;
		left: 0;
		transform-origin: center center;
		border-top: 2px solid #fff;
		border-left: 2px solid #fff;
		transform: translateX(2.8994949366px) rotate(-45deg);
	}
}
@media (any-hover: hover) {
	.c-swiper-dialog-gallery .swiper-button-prev span:hover {
		transform: translateX(-4px);
	}
}
.c-swiper-dialog-gallery .swiper-button-prev span:focus {
	transform: translateX(-4px);
}
@media print, screen and (min-width: 768px) {
	.c-swiper-dialog-gallery .swiper-button-next span {
		position: relative;
	}
	.c-swiper-dialog-gallery .swiper-button-next span::after {
		position: absolute;
		content: "";
		margin: auto;
		box-sizing: border-box;
		vertical-align: middle;
		width: 24px;
		height: 24px;
		transition-property: top, right, bottom, left, opacity;
		transition-duration: 0.2s;
	}
	.c-swiper-dialog-gallery .swiper-button-next span::after {
		top: 0;
		bottom: 0;
		left: 0;
		transform-origin: center center;
		border-top: 3px solid #fff;
		border-left: 3px solid #fff;
		transform: translateX(-9.8786796564px) rotate(135deg);
	}
}
@media screen and (max-width: 767px) {
	.c-swiper-dialog-gallery .swiper-button-next span {
		position: relative;
	}
	.c-swiper-dialog-gallery .swiper-button-next span::after {
		position: absolute;
		content: "";
		margin: auto;
		box-sizing: border-box;
		vertical-align: middle;
		width: 14px;
		height: 14px;
		transition-property: top, right, bottom, left, opacity;
		transition-duration: 0.2s;
	}
	.c-swiper-dialog-gallery .swiper-button-next span::after {
		top: 0;
		bottom: 0;
		left: 0;
		transform-origin: center center;
		border-top: 2px solid #fff;
		border-left: 2px solid #fff;
		transform: translateX(-5.5857864376px) rotate(135deg);
	}
}
@media (any-hover: hover) {
	.c-swiper-dialog-gallery .swiper-button-next span:hover {
		transform: translateX(4px);
	}
}
.c-swiper-dialog-gallery .swiper-button-next span:focus {
	transform: translateX(4px);
}
.c-swiper-dialog-gallery > .swiper-button-prev,
.c-swiper-dialog-gallery > .swiper-button-next,
.c-swiper-dialog-gallery .swiper-outer > .swiper-button-prev,
.c-swiper-dialog-gallery .swiper-outer > .swiper-button-next {
	top: 50% !important;
}
.c-swiper-dialog-gallery > .swiper-pagination {
	position: absolute;
	z-index: 10;
	width: 100%;
	bottom: 20px;
}
@media screen and (max-width: 767px) {
	.c-swiper-dialog-gallery > .swiper-pagination {
		bottom: 14px;
	}
}
.c-swiper-dialog-gallery .swiper-pagination.swiper-pagination-hidden {
	opacity: 0;
}
.c-swiper-dialog-gallery .swiper-pagination.swiper-pagination-disabled {
	display: none !important;
}
.c-swiper-dialog-gallery .swiper-pagination-disabled > .swiper-pagination {
	display: none !important;
}
.c-swiper-dialog-gallery .swiper-pagination-lock {
	display: none;
}
.c-swiper-dialog-gallery > .swiper-pagination {
	position: relative;
	width: fit-content;
	margin-inline: auto;
	margin-top: 20px;
	bottom: auto;
}
@media screen and (max-width: 767px) {
	.c-swiper-dialog-gallery > .swiper-pagination {
		margin-top: 16px;
		bottom: auto;
	}
}
.c-swiper-dialog-gallery .swiper-pagination {
	--animation-duration: 0;
	--animation-play-state: running;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 0 14px;
}
@media screen and (max-width: 767px) {
	.c-swiper-dialog-gallery .swiper-pagination {
		gap: 0 8px;
	}
}
.c-swiper-dialog-gallery .swiper-pagination .swiper-pagination-bullet {
	height: 24px;
	width: 20px;
}
@media screen and (max-width: 767px) {
	.c-swiper-dialog-gallery .swiper-pagination .swiper-pagination-bullet {
		width: 14px;
	}
}
.c-swiper-dialog-gallery .swiper-pagination .swiper-pagination-bullet {
	position: relative;
}
.c-swiper-dialog-gallery .swiper-pagination .swiper-pagination-bullet::before, .c-swiper-dialog-gallery .swiper-pagination .swiper-pagination-bullet::after {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	top: 0;
	bottom: 0;
	left: 0;
	border-radius: 100vw;
	overflow: hidden;
	height: 1px;
}
@media screen and (max-width: 767px) {
	.c-swiper-dialog-gallery .swiper-pagination .swiper-pagination-bullet::before, .c-swiper-dialog-gallery .swiper-pagination .swiper-pagination-bullet::after {
		height: 1px;
	}
}
.c-swiper-dialog-gallery .swiper-pagination .swiper-pagination-bullet::before {
	background-color: #fff;
	width: 100%;
}
.c-swiper-dialog-gallery .swiper-pagination .swiper-pagination-bullet::after {
	background: #fff;
	width: 100%;
	transform: scaleX(0);
	transform-origin: top left;
}
.c-swiper-dialog-gallery .swiper-pagination .swiper-pagination-bullet {
	transition-property: background, width;
	transition-duration: 0.2s;
}
.c-swiper-dialog-gallery .swiper-pagination .swiper-pagination-bullet:only-child {
	display: none !important;
}
.c-swiper-dialog-gallery .swiper-pagination.swiper-pagination-clickable .swiper-pagination-bullet {
	cursor: pointer;
}
.c-swiper-dialog-gallery .swiper-pagination svg {
	display: none;
}
.c-swiper-dialog-gallery .swiper-pagination .swiper-pagination-bullet-active {
	width: 20px;
}
@media screen and (max-width: 767px) {
	.c-swiper-dialog-gallery .swiper-pagination .swiper-pagination-bullet-active {
		width: 14px;
	}
}
.c-swiper-dialog-gallery .swiper-pagination .swiper-pagination-bullet-active::before, .c-swiper-dialog-gallery .swiper-pagination .swiper-pagination-bullet-active::after {
	height: 3px;
}
@media screen and (max-width: 767px) {
	.c-swiper-dialog-gallery .swiper-pagination .swiper-pagination-bullet-active::before, .c-swiper-dialog-gallery .swiper-pagination .swiper-pagination-bullet-active::after {
		height: 3px;
	}
}
.c-swiper-dialog-gallery .swiper-pagination .swiper-pagination-bullet-active::before {
	opacity: 0.4;
}
.c-swiper-dialog-gallery .swiper-pagination.is-stop .swiper-pagination-bullet-active::after, .c-swiper-dialog-gallery .swiper-pagination:not(.has-autoplay) .swiper-pagination-bullet-active::after {
	width: 100%;
}
.c-swiper-dialog-gallery .swiper-pagination.is-autoplay:not(.is-stop) .swiper-pagination-bullet-active::after {
	animation-name: paginationActive;
	animation-timing-function: linear;
	animation-fill-mode: forwards;
	animation-duration: var(--animation-duration);
	animation-play-state: var(--animation-play-state);
}
.c-swiper-dialog-gallery .swiper-pagination.has-autoplay .swiper-pagination-bullet-active {
	width: 32px;
}
@media screen and (max-width: 767px) {
	.c-swiper-dialog-gallery .swiper-pagination.has-autoplay .swiper-pagination-bullet-active {
		width: 22.4px;
	}
}
@keyframes paginationActive {
	100% {
		transform: scaleX(1);
	}
}

/******************************************************************
component - form-frame-column
******************************************************************/
.c-form-frame-column--border {
	border-bottom: 1px solid #c8cfd4;
}
.c-form-frame-column--border .c-form-frame-column__item {
	border-top: 1px solid #c8cfd4;
	padding: 30px 0 30px 10px;
}
@media screen and (max-width: 767px) {
	.c-form-frame-column--border .c-form-frame-column__item {
		padding: 1rem 0;
	}
}
.c-form-frame-column--border .c-form-frame-column__item:not(:last-child) {
	margin-bottom: 0;
}
.c-form-frame-column--table {
	border: 1px solid #c8cfd4;
	border-top: 0;
}
.c-form-frame-column--table .c-form-frame-column__item {
	grid-template-columns: 20% minmax(0, 1fr);
}
@media screen and (max-width: 767px) {
	.c-form-frame-column--table .c-form-frame-column__item {
		grid-template-columns: minmax(0, 1fr);
	}
}
.c-form-frame-column--table .c-form-frame-column__item {
	background-color: #fff;
	border-top: 1px solid #c8cfd4;
	gap: 0;
}
.c-form-frame-column--table .c-form-frame-column__item:not(:last-child) {
	margin-bottom: 0;
}
.c-form-frame-column--table .c-form-frame-column__head {
	background-color: #e8ecf0;
}
@media print, screen and (min-width: 768px) {
	.c-form-frame-column--table .c-form-frame-column__head {
		padding: 20px;
		border-right: 1px solid #c8cfd4;
	}
}
@media screen and (max-width: 767px) {
	.c-form-frame-column--table .c-form-frame-column__head {
		padding: 0.9rem;
		border-bottom: 1px solid #c8cfd4;
	}
}
.c-form-frame-column--table .c-form-frame-column__body {
	padding: 20px;
}
@media screen and (max-width: 767px) {
	.c-form-frame-column--table .c-form-frame-column__body {
		padding: 1rem 0.9rem;
	}
}
.c-form-frame-column--table .c-form-frame-column__body:has(.c-form-invalid) {
	background: #fff1f1;
}
.c-form-frame-column__item {
	display: grid;
	grid-template-areas: "head body";
	grid-template-columns: 110px minmax(0, 1fr);
	gap: 1rem 2rem;
}
@media screen and (max-width: 767px) {
	.c-form-frame-column__item {
		grid-template-areas: "head" "body";
		grid-template-columns: minmax(0, 1fr);
		gap: 0.5em;
	}
}
.c-form-frame-column__item:not(:last-child) {
	margin-bottom: 1.5rem;
}
.c-form-frame-column__head {
	grid-area: head;
}
.c-form-frame-column__head > *:not(:last-child) {
	margin-bottom: 0.375em;
}
@media print, screen and (min-width: 768px) {
	.c-form-frame-column__head > *:last-child {
		margin-bottom: 0.75em;
	}
}
.c-form-frame-column__title {
	display: flex;
	gap: 0.5em;
	align-items: start;
}
@media print, screen and (min-width: 768px) {
	.c-form-frame-column__title {
		margin-block: 0.75em;
	}
}
.c-form-frame-column__title {
	font-weight: bold;
	font-size: 1rem;
}
.c-form-frame-column__title-inner:first-child {
	margin-right: auto;
}
.c-form-frame-column__body {
	grid-area: body;
	align-self: center;
}

/******************************************************************
component - form-field
******************************************************************/
.c-form-field-wrapper {
	padding: 1rem;
	background-color: #f9f9f9;
	border: 1px solid #c8cfd4;
	border-radius: 6px;
}

.c-form-field-delete,
.c-form-field-add {
	display: block;
	width: fit-content;
	margin-left: auto;
	padding: 0.5em 1em;
}
@media print, screen and (min-width: 1025px) {
	.c-form-field-delete,
	.c-form-field-add {
		padding: 0.5em 2em;
	}
}
.c-form-field-delete,
.c-form-field-add {
	font-size: 90%;
	background-color: #212836;
	color: #fff;
	transition-property: background;
	transition-duration: 0.4s;
}
.c-form-field-delete:hover,
.c-form-field-add:hover {
	background-color: #0055b4;
}
.c-form-field-delete span,
.c-form-field-add span {
	display: inline-block;
}

.c-form-field {
	display: table;
}
.c-form-field__item {
	display: table-row;
}
.c-form-field__head {
	display: table-cell;
	padding-right: 1rem;
	white-space: nowrap;
	vertical-align: top;
}
.c-form-field__head > * {
	display: block;
}
@media print, screen and (min-width: 768px) {
	.c-form-field__head > * {
		margin-block: 0.75em;
	}
}
@media print, screen and (min-width: 768px) {
	.c-form-field--confirm .c-form-field__head > * {
		margin-block: 0;
	}
}
.c-form-field__body {
	width: 99%;
	display: table-cell;
	vertical-align: top;
}
.c-form-field > .c-form-field__item:not(:first-child) > .c-form-field__head,
.c-form-field > .c-form-field__item:not(:first-child) > .c-form-field__body {
	padding-top: 1.5rem;
}
.c-form-field--s > .c-form-field__item:not(:first-child) > .c-form-field__head,
.c-form-field--s > .c-form-field__item:not(:first-child) > .c-form-field__body {
	padding-top: 0.5rem;
}
@media screen and (max-width: 767px) {
	.c-form-field > .c-form-field__item:not(:first-child) > .c-form-field__head,
	.c-form-field > .c-form-field__item:not(:first-child) > .c-form-field__body {
		padding-top: 0;
	}
}
@media screen and (max-width: 767px) {
	.c-form-field {
		display: block;
	}
	.c-form-field > .c-form-field__item {
		display: block;
	}
	.c-form-field > .c-form-field__item:not(:first-child) {
		padding-top: 1rem;
	}
	.c-form-field > .c-form-field__item > .c-form-field__head {
		display: block;
		white-space: normal;
		padding-right: 0;
		width: auto;
		padding-bottom: 0.75rem;
	}
	.c-form-field > .c-form-field__item > .c-form-field__body {
		display: block;
		width: auto;
	}
	.c-form-field--confirm .c-form-field__body {
		padding-left: 1em;
	}
}

/******************************************************************
component - form-button
******************************************************************/
.c-form-button {
	display: flex;
	justify-content: center;
	gap: 2rem;
}
@media screen and (max-width: 767px) {
	.c-form-button {
		flex-direction: column-reverse;
		align-items: center;
	}
}
.c-form-button .c-form-button__complete, .c-form-button .c-form-button__submit, .c-form-button .c-form-button__confirm {
	color: inherit;
	text-decoration: none;
}
@media (any-hover: hover) {
	.c-form-button .c-form-button__complete:hover, .c-form-button .c-form-button__submit:hover, .c-form-button .c-form-button__confirm:hover {
		text-decoration: none;
	}
}
.c-form-button .c-form-button__complete:focus, .c-form-button .c-form-button__submit:focus, .c-form-button .c-form-button__confirm:focus {
	text-decoration: none;
}
.c-form-button .c-form-button__complete, .c-form-button .c-form-button__submit, .c-form-button .c-form-button__confirm {
	position: relative;
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	cursor: pointer;
	min-width: min(18em, 100%);
	padding: 0.5em 2em;
	min-height: 3.5em;
	background-color: #212836;
	color: #fff;
	font-size: 18px;
}
@media screen and (max-width: 767px) {
	.c-form-button .c-form-button__complete, .c-form-button .c-form-button__submit, .c-form-button .c-form-button__confirm {
		font-size: 14px;
	}
}
.c-form-button .c-form-button__complete, .c-form-button .c-form-button__submit, .c-form-button .c-form-button__confirm {
	position: relative;
}
.c-form-button .c-form-button__complete::after, .c-form-button .c-form-button__submit::after, .c-form-button .c-form-button__confirm::after {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	width: 9px;
	height: 9px;
	transition-property: top, right, bottom, left, opacity;
	transition-duration: 0.2s;
}
.c-form-button .c-form-button__complete::after, .c-form-button .c-form-button__submit::after, .c-form-button .c-form-button__confirm::after {
	top: 0;
	bottom: 0;
	right: 1em;
	transform-origin: center center;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	transform: translateX(-1.8639610307px) rotate(45deg);
}
.c-form-button .c-form-button__complete, .c-form-button .c-form-button__submit, .c-form-button .c-form-button__confirm {
	transition-property: background, color;
	transition-duration: 0.4s;
}
.c-form-button .c-form-button__complete::after, .c-form-button .c-form-button__submit::after, .c-form-button .c-form-button__confirm::after {
	transition-property: right;
	transition-duration: 0.4s;
}
@media (any-hover: hover) {
	.c-form-button .c-form-button__complete:hover:not(:disabled), .c-form-button .c-form-button__submit:hover:not(:disabled), .c-form-button .c-form-button__confirm:hover:not(:disabled) {
		background-color: #0055b4;
	}
	.c-form-button .c-form-button__complete:hover:not(:disabled)::after, .c-form-button .c-form-button__submit:hover:not(:disabled)::after, .c-form-button .c-form-button__confirm:hover:not(:disabled)::after {
		right: calc(1em - 5px);
	}
}
.c-form-button .c-form-button__complete:focus:not(:disabled), .c-form-button .c-form-button__submit:focus:not(:disabled), .c-form-button .c-form-button__confirm:focus:not(:disabled) {
	background-color: #0055b4;
}
.c-form-button .c-form-button__complete:focus:not(:disabled)::after, .c-form-button .c-form-button__submit:focus:not(:disabled)::after, .c-form-button .c-form-button__confirm:focus:not(:disabled)::after {
	right: calc(1em - 5px);
}
.c-form-button__confirm:disabled {
	opacity: 0.3;
	cursor: not-allowed;
	filter: grayscale(1);
}
.c-form-button__back {
	display: inline-block;
	padding-left: 18px;
	color: #0055b4;
	position: relative;
}
.c-form-button__back::after {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	width: 9px;
	height: 9px;
	transition-property: top, right, bottom, left, opacity;
	transition-duration: 0.2s;
}
.c-form-button__back::after {
	top: 0;
	bottom: 0;
	left: 0;
	transform-origin: center center;
	border-top: 1px solid #212836;
	border-left: 1px solid #212836;
	transform: translateX(1.8639610307px) rotate(-45deg);
}
@media (any-hover: hover) {
	.c-form-button__back:hover {
		text-decoration: underline;
	}
}
.c-form-button__back:focus {
	text-decoration: underline;
}
/******************************************************************
component - form-book-button
******************************************************************/
.c-form-book-button {
	display: flex;
	justify-content: center;
	gap: 1rem;
	margin-block: 50px;
}
@media screen and (max-width: 767px) {
	.c-form-book-button {
		flex-direction: column-reverse;
		align-items: center;
		gap: 1rem;
		margin-block: 6vw;
	}
}
.c-form-book-button:last-child {
	margin-bottom: 0;
}
.c-form-book-button .c-form-book-button__clear, .c-form-book-button .c-form-book-button__confirm {
	color: inherit;
	text-decoration: none;
}
@media (any-hover: hover) {
	.c-form-book-button .c-form-book-button__clear:hover, .c-form-book-button .c-form-book-button__confirm:hover {
		text-decoration: none;
	}
}
.c-form-book-button .c-form-book-button__clear:focus, .c-form-book-button .c-form-book-button__confirm:focus {
	text-decoration: none;
}
.c-form-book-button .c-form-book-button__clear, .c-form-book-button .c-form-book-button__confirm {
	position: relative;
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	cursor: pointer;
	min-width: min(14em, 100%);
	padding: 0.5em 2em;
	min-height: 3em;
	background-color: #212836;
	color: #fff;
	font-size: 20px;
}
@media screen and (max-width: 767px) {
	.c-form-book-button .c-form-book-button__clear, .c-form-book-button .c-form-book-button__confirm {
		font-size: 15px;
	}
}
.c-form-book-button .c-form-book-button__clear, .c-form-book-button .c-form-book-button__confirm {
	transition-property: background, color;
	transition-duration: 0.4s;
}
@media (any-hover: hover) {
	.c-form-book-button .c-form-book-button__clear:hover:not(:disabled), .c-form-book-button .c-form-book-button__confirm:hover:not(:disabled) {
		background-color: #0055b4;
	}
	.c-form-book-button .c-form-book-button__clear:hover:not(:disabled) img, .c-form-book-button .c-form-book-button__confirm:hover:not(:disabled) img {
		transform: scale(1.08);
	}
}
.c-form-book-button .c-form-book-button__clear:focus:not(:disabled), .c-form-book-button .c-form-book-button__confirm:focus:not(:disabled) {
	background-color: #0055b4;
}
.c-form-book-button .c-form-book-button__clear:focus:not(:disabled) img, .c-form-book-button .c-form-book-button__confirm:focus:not(:disabled) img {
	transform: scale(1.08);
}
.c-form-book-button__confirm img {
	margin-right: 0.4em;
	transition-property: transform;
	transition-duration: 0.1s;
	filter: brightness(0) invert(1);
	width: 32px;
}
@media screen and (max-width: 1024px) {
	.c-form-book-button__confirm img {
		width: 22px;
	}
}
.c-form-book-button__clear {
	min-width: min(5em, 100%) !important;
	background-color: #fff !important;
	color: #1d2330 !important;
	border: 1px solid #212836;
}
@media (any-hover: hover) {
	.c-form-book-button__clear:hover {
		color: #0055b4 !important;
		background-color: #ebf4ff !important;
	}
}
.c-form-book-button__clear:focus {
	color: #0055b4 !important;
	background-color: #ebf4ff !important;
}

/******************************************************************
component - input-unit
******************************************************************/
.c-input-unit {
	display: flex;
	gap: 0.5em;
	align-items: center;
}
@media screen and (max-width: 767px) {
	.c-input-unit {
		max-width: 100%;
	}
}

/******************************************************************
component - input-name
******************************************************************/
.c-input-name {
	display: flex;
	align-items: center;
	gap: 1.5rem;
}
@media screen and (max-width: 767px) {
	.c-input-name {
		align-items: flex-start;
		flex-direction: column;
		gap: 0.9rem;
	}
}
.c-input-name__item {
	display: flex;
	gap: 0.5em;
	align-items: center;
	width: 18em;
	max-width: 50%;
}
@media screen and (max-width: 767px) {
	.c-input-name__item {
		max-width: 100%;
	}
}
.c-input-name--row .c-input-name__item {
	align-items: flex-start;
	flex-direction: column;
}
.c-input-name__label {
	flex-shrink: 0;
	min-width: 2em;
}
.c-input-name input {
	width: 100%;
}

/******************************************************************
component - input-zip
******************************************************************/
.c-input-zip {
	display: flex;
}
.c-input-zip__mark {
	align-self: center;
	margin-right: 0.5em;
}
.c-input-zip__hyphen {
	align-self: center;
	width: 1.5em;
	text-align: center;
}
.c-input-zip input:nth-of-type(1):not(.c-input--zip) {
	width: 5em;
}
.c-input-zip input:nth-of-type(2):not(.c-input--zip) {
	width: 7em;
}
.c-input-zip__autoinput {
	margin-left: 1em;
	padding: 0.5em 1em;
}
@media print, screen and (min-width: 1025px) {
	.c-input-zip__autoinput {
		padding: 0.5em 2em;
	}
}
.c-input-zip__autoinput {
	font-size: 90%;
	background-color: #212836;
	color: #fff;
	transition-property: background;
	transition-duration: 0.4s;
}
@media (any-hover: hover) {
	.c-input-zip__autoinput:hover {
		background-color: #0055b4;
	}
}
.c-input-zip__autoinput:focus {
	background-color: #0055b4;
}
.c-input-zip__autoinput span {
	display: inline-block;
}

/******************************************************************
component - input-date
******************************************************************/
.c-input-date {
	display: flex;
	align-items: center;
	gap: 1rem;
}
.c-input-date__year, .c-input-date__month, .c-input-date__day {
	display: flex;
	align-items: center;
	gap: 0.5em;
}
.c-input-date__label {
	white-space: nowrap;
}
.c-input-date__year {
	width: 10em;
	max-width: 45%;
}
.c-input-date__month {
	width: 10em;
	max-width: 45%;
}
.c-input-date .c-select {
	width: 100%;
}

/******************************************************************
component - input-period
******************************************************************/
.c-input-period {
	display: flex;
	align-items: center;
	gap: 1em;
}
@media screen and (max-width: 767px) {
	.c-input-period {
		width: fit-content;
		flex-direction: column;
		gap: 0.5em;
	}
}

/******************************************************************
component - input
******************************************************************/
.c-input {
	box-sizing: border-box;
	vertical-align: middle;
	display: block;
	width: fit-content;
	padding: 0.75em 0.75em;
	background-color: #ffffff;
	border: 1px solid #73777d;
}
textarea.c-input {
	line-height: 1.8;
}

@media print, screen and (min-width: 1025px) {
	.c-input {
		font-size: 15px;
	}
}
.c-input::placeholder {
	color: #8e8e8e;
}
.c-input:-ms-input-placeholder {
	color: #8e8e8e;
}
.c-input:-moz-placeholder, .c-input::-moz-placeholder {
	color: #8e8e8e;
	opacity: 1;
}
.c-input:disabled {
	background: #f9f9f9;
	border-color: #c3c5c7;
	cursor: default;
}
.c-input--full {
	display: block;
	width: 100%;
}
.c-input--medium {
	min-width: min(30em, 80%);
}
.c-input--small {
	min-width: min(7em, 70%);
}
.c-input--isbn {
	min-width: min(7em, 70%);
}
.c-input--number {
	width: 6em;
}
.c-input--tel {
	width: 18em;
}
.c-input--zip {
	width: 12em;
}
.c-input--mail {
	width: 60%;
}
@media screen and (max-width: 767px) {
	.c-input--mail {
		width: 100%;
	}
}
.c-input--multiple {
	width: 100%;
	height: 10em;
}

/******************************************************************
component - input-file
******************************************************************/
input[type=file].c-input-file::file-selector-button {
	padding: 0.75em 0.75em;
	background-color: #ffffff;
	border: 1px solid #73777d;
}
@media print, screen and (min-width: 1025px) {
	input[type=file].c-input-file::file-selector-button {
		font-size: 15px;
	}
}

div.c-input-file > *:not(:last-child) {
	margin-bottom: 0.5em;
}
div.c-input-file .c-input-file__button {
	display: inline-block;
	padding: 0.75em 0.75em;
	background-color: #ffffff;
	border: 1px solid #73777d;
}
div.c-input-file input[type=file] {
	display: none;
}
@media print, screen and (min-width: 1025px) {
	div.c-input-file {
		font-size: 15px;
	}
}

/******************************************************************
component - check
******************************************************************/
@media print, screen and (min-width: 768px) {
	.js-category-drilldown__wrapper .c-check {
		margin-block: 0;
	}
}

.c-check {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem 1.5rem;
}
@media print, screen and (min-width: 1025px) {
	.c-check {
		font-size: 15px;
	}
}
@media print, screen and (min-width: 768px) {
	.c-check {
		margin-block: 0.75em;
	}
}
.c-check--row {
	flex-direction: column;
}
.c-check--row > * {
	width: fit-content;
}
.c-check--row-s {
	flex-direction: column;
	gap: 6px;
}
.c-check--row-s > * {
	width: fit-content;
}
.c-check > * {
	cursor: pointer;
	display: inline-flex;
}
.c-check > *:has(:disabled) {
	opacity: 0.6;
	cursor: not-allowed;
}
.c-check > * input {
	flex-shrink: 0;
	position: relative;
	box-sizing: border-box;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	margin-top: calc((1lh - 19px) / 2 + 1px);
	margin-right: 0.5em;
	width: 19px;
	height: 19px;
	border: 1px solid #73777d;
	background-color: #fff;
}
.c-check > * input[type=checkbox]::before {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	top: 2.85px;
	left: 1.9px;
	width: 5.7px;
	height: 9.5px;
	border-bottom: 2px solid #333333;
	border-right: 2px solid #333333;
	transition-property: transform;
	transition-duration: 0.2s;
	transition-timing-function: cubic-bezier(0.3, 1.8, 0.8, 1);
	transform-origin: bottom right;
	transform: rotate(-40deg) scale(0);
}
.c-check > * input[type=checkbox]:checked::before {
	transform: rotate(40deg) scale(1);
}
.c-check > * input[type=radio] {
	border-radius: 100vw;
}
.c-check > * input[type=radio]::before {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 8.55px;
	height: 8.55px;
	border-radius: 100vw;
	background-color: #333333;
	transition-property: transform;
	transition-duration: 0.2s;
	transition-timing-function: cubic-bezier(0.3, 2, 0.6, 1);
	transform: scale(0);
}
.c-check > * input[type=radio]:checked::before {
	transform: scale(1);
}

/******************************************************************
component - select
******************************************************************/
.c-select {
	position: relative;
	width: fit-content;
	position: relative;
}
.c-select::after {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	width: 8px;
	height: 8px;
	transition-property: top, right, bottom, left, opacity;
	transition-duration: 0.2s;
}
.c-select::after {
	top: 0;
	bottom: 0;
	right: 0.75em;
	transform-origin: center center;
	border-top: 2px solid #333333;
	border-right: 2px solid #333333;
	transform: translateX(-1.6568542495px) translateY(-1.6568542495px) rotate(135deg);
}
.c-select::after {
	pointer-events: none;
}
.c-select:has(select[disabled])::after {
	border-color: #ccc;
}
.c-select select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	width: 100%;
	cursor: pointer;
	box-sizing: border-box;
	padding: 0.75em 40px 0.75em 0.75em;
	background-color: #ffffff;
	border: 1px solid #73777d;
	color: #1d2330;
}
@media print, screen and (min-width: 1025px) {
	.c-select select {
		font-size: 15px;
	}
}
.c-select--full {
	display: block;
	width: 100%;
}
.c-select--pref {
	width: 10em;
}

/******************************************************************
component - form-required
******************************************************************/
.c-form-required {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1.4;
	vertical-align: 1px;
	white-space: nowrap;
	font-size: 13px;
	font-weight: 400;
	padding: 0.15em 0.5em;
	border-radius: 4px;
	background: #d70000;
	color: #fff;
}

/******************************************************************
component - form-note
******************************************************************/
.c-form-note {
	font-size: 90%;
	color: #5a5a5a;
}
@media print, screen and (min-width: 1025px) {
	.c-form-note {
		font-size: 14px;
	}
}

/******************************************************************
component - form-invalid
******************************************************************/
.c-form-invalid {
	font-weight: bold;
	color: #d70000;
	margin-top: calc((1em - 1lh) / 2);
}

/******************************************************************
component - form-agree
******************************************************************/
.c-form-agree {
	font-weight: 600;
}
.c-form-agree > *:not(:last-child) {
	margin-bottom: 30px;
}

/******************************************************************
component - shop-flex
******************************************************************/
.c-shop-flex {
	--gap: 25px;
}
@media screen and (max-width: 1270px) {
	.c-shop-flex {
		--gap: 1.968503937vw;
	}
}
@media screen and (max-width: 440px) {
	.c-shop-flex {
		--gap: 15px;
	}
}
.c-shop-flex {
	display: flex;
	margin-right: calc(var(--gap) * -1);
	gap: var(--gap);
}
@media screen and (max-width: 1024px) {
	.c-shop-flex {
		flex-direction: column;
	}
}
.c-shop-flex__item:nth-child(1) {
	width: calc(40% - var(--gap));
}
@media screen and (max-width: 1024px) {
	.c-shop-flex__item:nth-child(1) {
		width: calc(50% - var(--gap));
	}
}
@media screen and (max-width: 767px) {
	.c-shop-flex__item:nth-child(1) {
		width: calc(100% - var(--gap));
	}
}
.c-shop-flex__item:nth-child(2) {
	width: calc(60% - var(--gap));
}
@media screen and (max-width: 1024px) {
	.c-shop-flex__item:nth-child(2) {
		width: calc(100% - var(--gap));
	}
}
/******************************************************************
component - shop-list
******************************************************************/
[data-release-date] {
	display: none;
}

.c-shop-title {
	display: flex;
	align-items: center;
	gap: 1.5em;
	margin-bottom: 1rem !important;
}

.c-shop-list {
	--gap: 25px;
	--column: 5;
}
@media screen and (max-width: 1270px) {
	.c-shop-list {
		--gap: 1.968503937vw;
	}
}
@media screen and (max-width: 1024px) {
	.c-shop-list {
		--column: 4;
	}
}
@media screen and (max-width: 767px) {
	.c-shop-list {
		--column: 3;
	}
}
@media screen and (max-width: 440px) {
	.c-shop-list {
		--gap: 15px;
		--column: 2;
	}
}
.c-shop-list {
	display: flex;
	flex-wrap: wrap;
	margin-right: calc(var(--gap) * -1);
	gap: var(--gap);
}
.c-shop-list > * {
	box-sizing: border-box;
	width: calc(100% / var(--column) - var(--gap));
}
.c-shop-list--col2 > * {
	box-sizing: border-box;
	width: calc(50% - var(--gap));
}
@media screen and (max-width: 767px) {
	.c-shop-list--col2 > * {
		width: calc(33.3333333333% - var(--gap));
	}
}
@media screen and (max-width: 440px) {
	.c-shop-list--col2 > * {
		width: calc(50% - var(--gap));
	}
}
.c-shop-list--col3 > * {
	box-sizing: border-box;
	width: calc(33.3333333333% - var(--gap));
}
@media screen and (max-width: 1024px) {
	.c-shop-list--col3 > * {
		width: calc(25% - var(--gap));
	}
}
@media screen and (max-width: 767px) {
	.c-shop-list--col3 > * {
		width: calc(33.3333333333% - var(--gap));
	}
}
@media screen and (max-width: 440px) {
	.c-shop-list--col3 > * {
		width: calc(50% - var(--gap));
	}
}
.c-shop-list__note {
	width: auto;
	align-self: center;
}
.c-shop-list a {
	box-sizing: border-box;
	display: block;
	border: 1px solid #73777d;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 60px;
}
@media screen and (max-width: 440px) {
	.c-shop-list a {
		height: 45px;
	}
}
.c-shop-list a img {
	max-width: 90%;
	transition-property: transform;
	transition-duration: 0.1s;
	transform: translate3d(0, 0, 0);
}
.c-shop-list a {
	transition-property: border;
	transition-duration: 0.4s;
}
@media (any-hover: hover) {
	.c-shop-list a:hover {
		border-color: #0055b4;
	}
	.c-shop-list a:hover img {
		transform: scale(1.04);
	}
}
.c-shop-list a:focus {
	border-color: #0055b4;
}
.c-shop-list a:focus img {
	transform: scale(1.04);
}

/******************************************************************
component - history2
******************************************************************/
.c-history2 {
	--circle-size: 10px;
	--border-borrom-size: 18px;
	--block-gutter: 30px;
	--inline-gutter: 100px;
	--font-size: 80px;
}
@media screen and (max-width: 767px) {
	.c-history2 {
		--circle-size: 6px;
		--border-borrom-size: 12px;
		--block-gutter: 20px;
		--inline-gutter: 30px;
		--font-size: 50px;
	}
}
.c-history2 {
	margin-top: calc(2rem + 15px);
}
@media screen and (max-width: 767px) {
	.c-history2 {
		margin-top: calc(1.8rem + 15px);
	}
}
.c-history2__inner {
	position: relative;
}
.c-history2__inner::before {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	top: -11px;
	left: 0;
	width: var(--border-borrom-size);
	height: 3px;
	background-color: #50555d;
}
.c-history2__inner::after {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	top: -15px;
	left: 0;
	width: var(--border-borrom-size);
	height: 2px;
	background-color: #50555d;
}
.c-history2 {
	position: relative;
}
.c-history2::before {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	top: -6px;
	left: 0;
	width: var(--border-borrom-size);
	height: 4px;
	background-color: #50555d;
}
.c-history2__item {
	position: relative;
	padding: var(--block-gutter) 0 var(--block-gutter) var(--inline-gutter);
}
.c-history2__item::after {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	top: 0;
	left: calc((var(--border-borrom-size) - var(--circle-size)) / 2);
	width: var(--circle-size);
	height: var(--circle-size);
	background-color: #fff;
	border-radius: 100%;
	margin-top: calc(var(--block-gutter) + var(--font-size) / 2 - var(--circle-size) / 2);
}
.c-history2__item::before {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	top: 0;
	bottom: 0;
	left: 0;
	width: var(--border-borrom-size);
	height: 100%;
	background-color: #50555d;
}
.c-history2__item:first-child {
	padding-top: 0;
}
.c-history2__item:first-child::after {
	margin-top: calc(var(--font-size) / 2 - var(--circle-size) / 2);
}
.c-history2__item:last-child::before {
	height: calc(100% - var(--block-gutter));
	bottom: auto;
}
.c-history2__item:has(.c-history2__img) {
	display: flex;
	gap: 40px;
}
@media screen and (max-width: 767px) {
	.c-history2__item:has(.c-history2__img) {
		gap: 10px;
	}
}
.c-history2__item:has(.c-history2__img) .c-history2__main {
	flex-grow: 1;
}
.c-history2__item:has(.c-history2__img) .c-history2__img {
	flex-shrink: 0;
}
@media screen and (max-width: 767px) {
	.c-history2__item:has(.c-history2__img) .c-history2__img {
		max-width: 30%;
	}
}
.c-history2__item .c-history2__main > *:not(:last-child) {
	margin-bottom: 1.5rem;
}
@media screen and (max-width: 767px) {
	.c-history2__item .c-history2__main > *:not(:last-child) {
		margin-bottom: 1.35rem;
	}
}
.c-history2__item:not(:first-child) .c-history2__main::after {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	top: 0;
	right: 0;
	width: calc(100% - var(--inline-gutter));
	border-top: 1px solid #c8cfd4;
}
.c-history2__item .c-history2__main::before {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	top: calc(var(--block-gutter) + var(--font-size) / 2 + var(--circle-size) / 2 - var(--circle-size) / 2);
	left: 0;
	width: calc(var(--inline-gutter) - 20px);
	border-top: 1px solid #50555d;
}
@media screen and (max-width: 767px) {
	.c-history2__item .c-history2__main::before {
		width: 20px;
	}
}
.c-history2__item:first-child .c-history2__main::before {
	top: calc(var(--font-size) / 2 + var(--circle-size) / 2 - var(--circle-size) / 2);
}
.c-history2__title {
	line-height: 1;
	font-size: var(--font-size);
	font-weight: 500;
}
.c-history2__title span {
	display: block;
	font-family: "Unna", serif;
	color: #50555d;
	font-style: italic;
}
.c-history2__title small {
	display: block;
	margin-top: 0.25em;
	font-size: 18px;
}
@media screen and (max-width: 767px) {
	.c-history2__title small {
		font-size: 14px;
	}
}
.c-history2__item:not(:first-child) > .c-history2__title::after {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	top: 0;
	right: 0;
	width: calc(100% - var(--inline-gutter));
	border-top: 1px solid #c8cfd4;
}
.c-history2 .c-history2__body > *:not(:last-child) {
	margin-bottom: 1rem;
}
@media screen and (max-width: 767px) {
	.c-history2 .c-history2__body > *:not(:last-child) {
		margin-bottom: 0.9rem;
	}
}
/******************************************************************
component - important-notice
******************************************************************/
.c-important-notice {
	display: flex;
	border: 1px solid #e91111;
}
@media screen and (max-width: 767px) {
	.c-important-notice {
		flex-direction: column;
	}
}
.c-important-notice__head {
	flex-shrink: 0;
	background-color: #e91111;
	text-align: center;
	color: #fff;
	font-weight: bold;
	font-size: 1rem;
	padding: 1.5rem;
}
@media screen and (max-width: 1270px) {
	.c-important-notice__head {
		padding: calc(0.1181102362rem / 1px)vw;
	}
}
@media screen and (max-width: 767px) {
	.c-important-notice__head {
		padding: 0.45rem;
		flex-grow: 1;
		font-size: 14px;
	}
}
.c-important-notice__body {
	background-color: #fff;
	flex-grow: 1;
	padding: 1.5rem;
}
@media screen and (max-width: 1270px) {
	.c-important-notice__body {
		padding: calc(0.1181102362rem / 1px)vw;
	}
}
@media screen and (max-width: 767px) {
	.c-important-notice__body {
		padding: 0.9rem;
	}
}
.c-important-notice__body > *:not(:last-child) {
	margin-bottom: 0.5em;
}
.c-important-notice__body {
	font-weight: bold;
}
.c-important-notice__body a {
	color: #e91111;
	text-decoration: none;
}
@media (any-hover: hover) {
	.c-important-notice__body a:hover {
		text-decoration: none;
	}
}
.c-important-notice__body a:focus {
	text-decoration: none;
}
.c-important-notice__body a {
	transition-property: opacity;
	transition-duration: 0.4s;
}
@media (any-hover: hover) {
	.c-important-notice__body a:hover {
		opacity: 0.7;
	}
}
.c-important-notice__body a:focus {
	opacity: 0.7;
}

/******************************************************************
component - notice
******************************************************************/
.c-notice {
	display: flex;
	border: 1px solid #73777d;
}
@media screen and (max-width: 767px) {
	.c-notice {
		flex-direction: column;
	}
}
.c-notice__head {
	flex-shrink: 0;
	background-color: #212836;
	text-align: center;
	color: #fff;
	font-weight: bold;
	font-size: 1rem;
	padding: 1.5rem;
}
@media screen and (max-width: 1270px) {
	.c-notice__head {
		padding: calc(0.1181102362rem / 1px)vw;
	}
}
@media screen and (max-width: 767px) {
	.c-notice__head {
		padding: 0.45rem;
		flex-grow: 1;
		font-size: 14px;
	}
}
.c-notice__body {
	background-color: #fff;
	flex-grow: 1;
	padding: 1.5rem;
}
@media screen and (max-width: 1270px) {
	.c-notice__body {
		padding: calc(0.1181102362rem / 1px)vw;
	}
}
@media screen and (max-width: 767px) {
	.c-notice__body {
		padding: 0.9rem;
	}
}
.c-notice__body > *:not(:last-child) {
	margin-bottom: 0.5em;
}
.c-notice__body a {
	color: inherit;
	text-decoration: none;
}
@media (any-hover: hover) {
	.c-notice__body a:hover {
		text-decoration: none;
	}
}
.c-notice__body a:focus {
	text-decoration: none;
}
@media (any-hover: hover) {
	.c-notice__body a:hover {
		color: #0055b4;
	}
}
.c-notice__body a:focus {
	color: #0055b4;
}

/******************************************************************
component - site-banner
******************************************************************/
.c-site-banner-caption {
	display: block;
	margin-top: 0.5em;
	font-size: 15px;
	line-height: 1.8;
}

.c-site-banner {
	width: 100%;
	aspect-ratio: 290/80;
	display: flex;
	align-items: center;
	justify-content: center;
	transition-property: background;
	transition-duration: 0.4s;
}
.c-site-banner--l {
	aspect-ratio: 290/100;
}
.c-site-banner--top {
	aspect-ratio: 290/130;
}
.c-site-banner--top.c-site-banner--ohmshaonline img {
	width: 60% !important;
}
.c-site-banner--top.c-site-banner--shop {
	border: 1px solid #dbdfe0;
}
.c-site-banner--top.c-site-banner--shop img {
	width: 75% !important;
}
.c-site-banner--ohmshaonline {
	background-color: #5f99d2;
}
.c-site-banner--ohmshaonline img {
	width: 50%;
	filter: brightness(0) invert(1);
}
.c-site-banner--schoolnavi {
	background-color: #0074bf;
	max-height: 110px;
}
.c-site-banner--schoolnavi img {
	width: 78%;
	max-width: 300px;
}
.c-site-banner--shop {
	background-color: #fff;
}
.c-site-banner--shop img {
	width: 65%;
}

a:has(.c-site-banner) img,
a.c-site-banner img {
	transition-property: transform;
	transition-duration: 0.1s;
	will-change: transform;
}
@media (any-hover: hover) {
	a:has(.c-site-banner):hover img,
	a.c-site-banner:hover img {
		transform: scale(1.02);
	}
}
a:has(.c-site-banner):focus img,
a.c-site-banner:focus img {
	transform: scale(1.02);
}

/******************************************************************
component - onlineschool-banner
******************************************************************/
.c-onlineschool-banner {
	background-color: #fff;
	padding: 14px;
	padding-top: 20px;
	display: flex;
	flex-wrap: wrap;
	gap: 12px 6px;
}
.c-onlineschool-banner dt {
	width: 100%;
	text-align: center;
}
@media (any-hover: hover) {
	.c-onlineschool-banner dt a:hover img {
		transform: scale(1.02);
	}
}
.c-onlineschool-banner dt a:focus img {
	transform: scale(1.02);
}
.c-onlineschool-banner dt img {
	width: 95%;
	max-width: 300px;
	transition-property: transform;
	transition-duration: 0.3s;
	transition-timing-function: cubic-bezier(0.3, 1.8, 0.6, 1);
	transform: translate3d(0, 0, 0);
}
.c-onlineschool-banner dd {
	width: calc(50% - 3px);
}
.c-onlineschool-banner dd a {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 14px;
	padding: 0.5em;
	transition-property: background, color;
	transition-duration: 0.4s;
}
.c-onlineschool-banner dd:nth-child(2) a {
	color: #fff;
	text-decoration: none;
}
@media (any-hover: hover) {
	.c-onlineschool-banner dd:nth-child(2) a:hover {
		text-decoration: none;
	}
}
.c-onlineschool-banner dd:nth-child(2) a:focus {
	text-decoration: none;
}
.c-onlineschool-banner dd:nth-child(2) a {
	background-color: #1472c0;
	border: 1px solid #1472c0;
}
@media (any-hover: hover) {
	.c-onlineschool-banner dd:nth-child(2) a:hover {
		background-color: #1c3f80;
	}
}
.c-onlineschool-banner dd:nth-child(2) a:focus {
	background-color: #1c3f80;
}
.c-onlineschool-banner dd:nth-child(3) a {
	color: #000;
	text-decoration: none;
}
@media (any-hover: hover) {
	.c-onlineschool-banner dd:nth-child(3) a:hover {
		text-decoration: none;
	}
}
.c-onlineschool-banner dd:nth-child(3) a:focus {
	text-decoration: none;
}
.c-onlineschool-banner dd:nth-child(3) a {
	border: 1px solid #000;
}
@media (any-hover: hover) {
	.c-onlineschool-banner dd:nth-child(3) a:hover {
		background-color: #ebf4ff;
		color: #0055b4;
	}
}
.c-onlineschool-banner dd:nth-child(3) a:focus {
	background-color: #ebf4ff;
	color: #0055b4;
}

/******************************************************************
component - magazine-logo
******************************************************************/
.c-magazine-logo {
	display: flex;
	flex-direction: column;
	align-items: center;
	font-weight: 500;
	font-size: 14px;
	color: #1d2330;
}
.c-magazine-logo--mailmagazine img, .c-magazine-logo--header-navbar img {
	width: auto;
	height: 57px;
}
.c-magazine-logo--index-card {
	align-items: flex-start;
}
@media screen and (max-width: 767px) {
	.c-magazine-logo--index-card {
		align-items: center;
		font-size: 2.5vw;
	}
}
.c-magazine-logo--index-card img {
	width: auto;
	height: 57px;
}
@media screen and (max-width: 767px) {
	.c-magazine-logo--index-card img {
		height: 11vw;
		max-height: 90px;
	}
}
.c-magazine-logo--card {
	align-items: flex-start;
}
@media screen and (max-width: 767px) {
	.c-magazine-logo--card {
		font-size: 3vw;
	}
}
.c-magazine-logo--card img {
	width: auto;
	height: 57px;
}
@media screen and (max-width: 767px) {
	.c-magazine-logo--card img {
		height: 13vw;
		max-height: 90px;
	}
}
.c-magazine-logo--ad {
	align-items: flex-start;
}
@media screen and (max-width: 767px) {
	.c-magazine-logo--ad {
		font-size: 3vw;
	}
}
.c-magazine-logo--ad img {
	width: auto;
	height: 80px;
}
@media screen and (max-width: 767px) {
	.c-magazine-logo--ad img {
		height: 13vw;
		max-height: 90px;
	}
}
.c-magazine-logo--heading {
	color: #fff;
	font-weight: 400;
	letter-spacing: 0.1em;
	font-size: 16px;
}
@media screen and (max-width: 767px) {
	.c-magazine-logo--heading {
		font-size: 3.8vw;
	}
}
.c-magazine-logo--heading img {
	filter: brightness(0) invert(1);
	width: auto;
	height: 100px;
}
@media screen and (max-width: 767px) {
	.c-magazine-logo--heading img {
		height: 18vw;
		max-height: 100px;
	}
}
/******************************************************************
component - search-result-header
******************************************************************/
.c-search-result-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1em;
}
@media screen and (max-width: 767px) {
	.c-search-result-header {
		flex-direction: column;
	}
}
.c-search-result-header__text span {
	font-weight: bold;
	font-size: 18px;
}
.c-search-result-header__text span strong {
	font-size: 24px;
}
@media screen and (max-width: 767px) {
	.c-search-result-header__text span {
		font-size: 16px;
	}
	.c-search-result-header__text span strong {
		font-size: 20px;
	}
}
/******************************************************************
component - book-search-button
******************************************************************/
.c-book-search-button {
	background-color: #212836;
	text-align: center;
	padding: 30px;
}
@media screen and (max-width: 767px) {
	.c-book-search-button {
		padding: 14px;
		margin-inline: -15px;
	}
}
.c-book-search-button > span {
	display: block;
	margin-bottom: 0.75em;
	color: #fff;
}
.c-book-search-button button {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 5px;
	color: inherit;
	text-decoration: none;
}
@media (any-hover: hover) {
	.c-book-search-button button:hover {
		text-decoration: none;
	}
}
.c-book-search-button button:focus {
	text-decoration: none;
}
.c-book-search-button button {
	background-color: #fff;
	padding: 0.5em 2em;
	min-width: 13em;
	font-size: 20px;
}
@media screen and (max-width: 767px) {
	.c-book-search-button button {
		font-size: 15px;
		width: 100%;
		max-width: 350px;
	}
}
.c-book-search-button button {
	transition-property: background, color;
	transition-duration: 0.4s;
}
.c-book-search-button button img {
	width: 1.8em;
	transition-property: transform;
	transition-duration: 0.1s;
}
.c-book-search-button button:hover {
	background-color: #ebf4ff;
	color: #0055b4;
}
.c-book-search-button button:hover img {
	transform: scale(1.08);
}

/******************************************************************
component - book-category-index
******************************************************************/
.c-book-category-index > *:not(:last-child) {
	margin-bottom: 1.5rem;
}
@media screen and (max-width: 767px) {
	.c-book-category-index > *:not(:last-child) {
		margin-bottom: 1.35rem;
	}
}
.c-book-category-index ul {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}
@media screen and (max-width: 1270px) {
	.c-book-category-index ul {
		gap: 1.5748031496vw;
	}
}
@media screen and (max-width: 767px) {
	.c-book-category-index ul {
		grid-template-columns: repeat(2, 1fr);
		gap: 15px;
	}
}
.c-book-category-index ul li {
	display: flex;
}
.c-book-category-index ul li a {
	flex-grow: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	text-align: center;
	min-height: 3.25em;
	background-color: #fff;
	padding: 0.25em 0.75em 0.25em 0.75em;
	line-height: 1.2;
	border: 1px solid #212836;
	font-weight: 500;
}
.c-book-category-index ul li a.c-book-category-index__arrow {
	padding: 0.25em 1.8em 0.25em 1.8em;
	position: relative;
}
.c-book-category-index ul li a.c-book-category-index__arrow::after {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	width: 9px;
	height: 9px;
	transition-property: top, right, bottom, left, opacity;
	transition-duration: 0.2s;
}
.c-book-category-index ul li a.c-book-category-index__arrow::after {
	top: 0;
	bottom: 0;
	right: 0.75em;
	transform-origin: center center;
	border-top: 1px solid #212836;
	border-right: 1px solid #212836;
	transform: translateX(-1.8639610307px) rotate(45deg);
}
.c-book-category-index ul li a {
	color: #1d2330;
	text-decoration: none;
}
@media (any-hover: hover) {
	.c-book-category-index ul li a:hover {
		text-decoration: none;
	}
}
.c-book-category-index ul li a:focus {
	text-decoration: none;
}
.c-book-category-index ul li a {
	transition-property: background, color;
	transition-duration: 0.4s;
}
@media (any-hover: hover) {
	.c-book-category-index ul li a:hover {
		background-color: #ebf4ff;
		color: #0055b4;
	}
}
.c-book-category-index ul li a:focus {
	background-color: #ebf4ff;
	color: #0055b4;
}
.c-book-category-index dl {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem 26px;
}
@media screen and (max-width: 767px) {
	.c-book-category-index dl {
		gap: 0.9rem 22px;
	}
}
.c-book-category-index dl dt {
	width: 100%;
	font-weight: 700;
	font-size: 18px;
}
@media screen and (max-width: 767px) {
	.c-book-category-index dl dt {
		font-size: 16px;
	}
}
.c-book-category-index dl dd a {
	display: inline-block;
	position: relative;
}
.c-book-category-index dl dd a::after {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	width: 8px;
	height: 8px;
	transition-property: top, right, bottom, left, opacity;
	transition-duration: 0.2s;
}
.c-book-category-index dl dd a::after {
	top: 0;
	left: 0;
	transform-origin: top left;
	border-top: 1px solid #333333;
	border-left: 1px solid #333333;
	transform: translateX(6.3639610307px) translateY(0.5lh) rotate(135deg);
}
.c-book-category-index dl dd a {
	font-weight: 500;
	padding-left: 16px;
}
@media screen and (max-width: 767px) {
	.c-book-category-index dl dd a {
		padding-left: 14px;
	}
}
.c-book-category-index dl dd a {
	color: inherit;
	text-decoration: none;
}
@media (any-hover: hover) {
	.c-book-category-index dl dd a:hover {
		text-decoration: none;
	}
}
.c-book-category-index dl dd a:focus {
	text-decoration: none;
}
.c-book-category-index dl dd a {
	transition-property: color;
	transition-duration: 0.4s;
}
@media (any-hover: hover) {
	.c-book-category-index dl dd a:hover {
		color: #0055b4;
	}
}
.c-book-category-index dl dd a:focus {
	color: #0055b4;
}

/******************************************************************
project - top-heading
******************************************************************/
.p-top-heading {
	padding-block: 30px 55px;
}
@media screen and (max-width: 767px) {
	.p-top-heading {
		padding-block: 0;
	}
}
.p-top-heading__body {
	max-width: 1200px;
	margin-inline: auto;
	padding-inline: 35px;
}
@media screen and (max-width: 767px) {
	.p-top-heading__body {
		padding-inline: 15px;
	}
}

/******************************************************************
project - top-books
******************************************************************/
.p-top-books {
	background-color: #e2e6ea;
	padding-bottom: 60px;
}
@media screen and (max-width: 767px) {
	.p-top-books {
		background-color: #eff2f5;
		padding-bottom: 30px;
	}
}
.p-top-books {
	position: relative;
	z-index: 1;
}
.p-top-books::before {
	z-index: -1;
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #eff2f5;
	clip-path: polygon(0 39%, 100% 96%, 100% 100%, 0% 100%);
}
@media screen and (max-width: 767px) {
	.p-top-books::before {
		display: none;
	}
}
@media print {
	.p-top-books::before {
		display: none;
	}
}

/******************************************************************
project - top-section
******************************************************************/
.p-top-section-book {
	overflow: hidden;
	position: relative;
	z-index: 1;
}
.p-top-section-book__inner {
	position: absolute;
	top: -0.04em;
	left: 0;
	width: 0.75em;
	height: 100vw;
	pointer-events: none;
	user-select: none;
	writing-mode: vertical-rl;
	font-family: "Unna", serif;
	line-height: 1;
	font-weight: 400;
	color: #eff2f5;
	content: "Book";
	letter-spacing: -0.02em;
	white-space: nowrap;
	font-size: 210px;
}
@media screen and (max-width: 1270px) {
	.p-top-section-book__inner {
		font-size: 16.5354330709vw;
	}
}
@media screen and (max-width: 767px) {
	.p-top-section-book__inner {
		display: none;
	}
}
@media print {
	.p-top-section-book__inner {
		display: none;
	}
}
.p-top-section-book__inner span {
	color: #e2e6ea;
}
.p-top-section-magazine {
	overflow: hidden;
	background-color: #e2e6ea;
	padding-block: 45px 0.1px;
}
@media screen and (max-width: 767px) {
	.p-top-section-magazine {
		padding-top: 7vw;
	}
}
.p-top-section-magazine {
	position: relative;
	z-index: 1;
}
.p-top-section-magazine::after {
	overflow: hidden;
	z-index: -1;
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	top: -0.34em;
	right: 0;
	width: 100vw;
	height: 300px;
	text-align: right;
	font-family: "Unna", serif;
	line-height: 1;
	font-weight: 400;
	color: #eff2f5;
	content: "Magazine";
	letter-spacing: -0.02em;
	white-space: nowrap;
	font-size: 195px;
}
@media screen and (max-width: 1270px) {
	.p-top-section-magazine::after {
		font-size: 15.3543307087vw;
	}
}
@media screen and (max-width: 767px) {
	.p-top-section-magazine::after {
		top: -0.26em;
		left: 50%;
		transform: translateX(-50%);
		width: 200vw;
		text-align: center;
		font-size: 27vw;
	}
}
@media print {
	.p-top-section-magazine::after {
		display: none;
	}
}
.p-top-section-magazine__inner {
	overflow: clip;
	position: relative;
	z-index: 1;
}
.p-top-section-magazine__inner::before {
	z-index: -1;
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #eff2f5;
	clip-path: polygon(0 89%, 100% 28%, 100% 100%, 0% 100%);
}
@media screen and (max-width: 767px) {
	.p-top-section-magazine__inner::before {
		clip-path: polygon(0 21%, 100% 6%, 100% 100%, 0% 100%);
	}
}
@media print {
	.p-top-section-magazine__inner::before {
		display: none;
	}
}

.p-top-section-satellite {
	overflow: hidden;
	background-color: #e2e6ea;
	padding-block: 0.1px;
}
@media screen and (max-width: 767px) {
	.p-top-section-satellite {
		padding-top: 3vw;
	}
}
.p-top-section-satellite {
	position: relative;
	z-index: 1;
}
.p-top-section-satellite::after {
	overflow: hidden;
	z-index: -1;
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	top: -0.14em;
	right: -0.2em;
	width: 1em;
	height: 100vw;
	writing-mode: vertical-rl;
	font-family: "Unna", serif;
	line-height: 1;
	font-weight: 400;
	color: #eeeff1;
	content: "Service";
	letter-spacing: -0.02em;
	white-space: nowrap;
	font-size: 200px;
}
@media screen and (max-width: 1270px) {
	.p-top-section-satellite::after {
		font-size: 15.7480314961vw;
	}
}
@media screen and (max-width: 767px) {
	.p-top-section-satellite::after {
		writing-mode: initial;
		top: -0.28em;
		left: 50%;
		transform: translateX(-50%);
		width: 200vw;
		text-align: center;
		font-size: 37vw;
	}
}
@media print {
	.p-top-section-satellite::after {
		display: none;
	}
}
.p-top-section-satellite__inner {
	overflow: clip;
	position: relative;
	z-index: 1;
}
.p-top-section-satellite__inner::before {
	z-index: -1;
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	top: 0;
	right: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #eff2f5;
	clip-path: polygon(50% 33%, 100% 80%, 100% 100%, 0 100%, 0 80%);
}
@media screen and (max-width: 1024px) {
	.p-top-section-satellite__inner::before {
		display: none;
	}
}
@media print {
	.p-top-section-satellite__inner::before {
		display: none;
	}
}

.p-top-section-news {
	overflow: hidden;
	padding-block: 0.1px;
}
@media screen and (max-width: 767px) {
	.p-top-section-news {
		padding-top: 3vw;
	}
}
.p-top-section-news {
	position: relative;
	z-index: 1;
}
.p-top-section-news::after {
	overflow: hidden;
	z-index: -1;
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	top: -0.04em;
	left: 0;
	width: 0.75em;
	height: 100vw;
	writing-mode: vertical-rl;
	font-family: "Unna", serif;
	line-height: 1;
	font-weight: 400;
	color: #eeeff1;
	content: "News";
	letter-spacing: -0.02em;
	white-space: nowrap;
	font-size: 210px;
}
@media screen and (max-width: 1270px) {
	.p-top-section-news::after {
		font-size: 16.5354330709vw;
	}
}
@media screen and (max-width: 767px) {
	.p-top-section-news::after {
		writing-mode: initial;
		top: -0.28em;
		width: 100vw;
		font-size: 25vw;
		text-transform: uppercase;
	}
}
@media print {
	.p-top-section-news::after {
		display: none;
	}
}
.p-top-section-book-index {
	overflow: hidden;
	padding-block: 0.1px;
	padding-top: 30px;
}
@media screen and (max-width: 1270px) {
	.p-top-section-book-index {
		padding-top: 2.3622047244vw;
	}
}
@media screen and (max-width: 767px) {
	.p-top-section-book-index {
		padding-top: 3vw;
	}
}
.p-top-section-book-index {
	position: relative;
	z-index: 1;
}
.p-top-section-book-index::after {
	overflow: hidden;
	z-index: -1;
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	top: -0.24em;
	right: 0;
	width: 100vw;
	height: 300px;
	text-align: right;
	font-family: "Unna", serif;
	line-height: 1;
	font-weight: 400;
	color: #ffffff;
	content: "Category";
	letter-spacing: -0.02em;
	white-space: nowrap;
	font-size: 195px;
}
@media screen and (max-width: 1270px) {
	.p-top-section-book-index::after {
		font-size: 15.3543307087vw;
	}
}
@media screen and (max-width: 767px) {
	.p-top-section-book-index::after {
		left: 50%;
		transform: translateX(-50%);
		width: 200vw;
		text-align: center;
		font-size: 29vw;
	}
}
@media print {
	.p-top-section-book-index::after {
		display: none;
	}
}
/******************************************************************
project - top-school
******************************************************************/
.p-top-school {
	display: grid;
	grid-template-columns: 55% auto;
	grid-template-rows: auto 1fr;
	grid-template-areas: "body img" "button img";
	gap: 35px 80px;
}
@media screen and (max-width: 1270px) {
	.p-top-school {
		gap: 35px 6.2992125984vw;
	}
}
@media screen and (max-width: 1024px) {
	.p-top-school {
		position: relative;
		grid-template-columns: 100%;
		grid-template-areas: "body" "img" "button";
		gap: 0;
	}
}
.p-top-school__body {
	grid-area: body;
}
@media screen and (max-width: 1024px) {
	.p-top-school__body {
		margin-bottom: 22.5px;
	}
}
.p-top-school__head {
	display: flex;
	flex-direction: column-reverse;
	text-align: center;
	gap: 1.5rem;
}
@media screen and (max-width: 767px) {
	.p-top-school__head {
		gap: 0.9rem;
	}
}
@media screen and (max-width: 767px) {
	.p-top-school__head h2 {
		padding-inline: 15px;
	}
}
.p-top-school__head h2 img {
	width: 568px;
}
.p-top-school__head p {
	line-height: 1.8;
	font-weight: 500;
	font-size: 17px;
}
@media screen and (max-width: 767px) {
	.p-top-school__head p {
		font-size: 12px;
	}
}
.p-top-school__head p strong {
	display: block;
	color: #0074bf;
	font-weight: bold;
	font-size: 22px;
}
@media screen and (max-width: 767px) {
	.p-top-school__head p strong {
		font-size: 16px;
		margin-bottom: 0.5em;
	}
}
.p-top-school dl {
	margin-top: 1.5rem;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
}
.p-top-school dl > * {
	padding: 5px 16px;
	text-align: center;
	border-right: 1px solid #ccc;
}
.p-top-school dl > *:nth-child(3n+1) {
	border-left: 1px solid #ccc;
}
.p-top-school dl dt {
	line-height: 1.3;
	font-weight: 500;
	font-size: 13px;
}
@media screen and (max-width: 1270px) {
	.p-top-school dl dt {
		font-size: 1.0236220472vw;
	}
}
.p-top-school dl dt span {
	display: block;
	font-size: 20px;
	font-weight: bold;
}
.p-top-school dl dt strong {
	color: #0074bf;
	font-size: 50px;
	font-family: Arial, Helvetica, sans-serif;
}
.p-top-school dl dd {
	font-weight: 500;
	line-height: 1.8;
	font-size: 15px;
}
@media screen and (max-width: 1270px) {
	.p-top-school dl dd {
		font-size: 1.1811023622vw;
	}
}
@media screen and (max-width: 1024px) {
	.p-top-school dl {
		display: none;
	}
}
.p-top-school__img {
	grid-area: img;
	text-align: center;
	align-self: flex-end;
}
@media screen and (max-width: 767px) {
	.p-top-school__img img {
		width: 80%;
	}
}
.p-top-school__button {
	grid-area: button;
	text-align: center;
}
@media screen and (max-width: 1024px) {
	.p-top-school__button {
		position: absolute;
		bottom: 0;
		width: 100%;
	}
}

/******************************************************************
project - top-company
******************************************************************/
.p-top-company {
	background: #6f695f url(/assets/img/top-company-bg1.png) left top/770px auto no-repeat;
	margin-bottom: 120px;
}
@media screen and (max-width: 767px) {
	.p-top-company {
		margin-bottom: 0;
		background-size: 120% auto;
	}
}
.p-top-company__inner {
	display: flex;
	gap: 30px;
}
@media screen and (max-width: 767px) {
	.p-top-company__inner {
		flex-direction: column;
		padding: 30px 15px;
	}
}
@media print, screen and (min-width: 768px) {
	.p-top-company__head {
		box-sizing: border-box;
		flex-shrink: 0;
		width: 35%;
		min-width: calc((100vw - 1200px) / 2 + 380px);
		display: flex;
		flex-direction: column;
		justify-content: center;
	}
}
.p-top-company__head {
	padding-left: calc((100vw - 1200px) / 2);
}
@media screen and (max-width: 1270px) {
	.p-top-company__head {
		padding-left: 35px;
	}
}
@media screen and (max-width: 767px) {
	.p-top-company__head {
		padding: 0;
	}
}
.p-top-company__head .c-button {
	margin-top: 30px;
}
@media screen and (max-width: 767px) {
	.p-top-company__head .c-button {
		display: none;
	}
}
.p-top-company__title {
	color: #fff;
	font-weight: 500;
	line-height: 1.2;
	font-size: 18px;
}
@media screen and (max-width: 767px) {
	.p-top-company__title {
		text-align: center;
		font-size: 15px;
	}
}
.p-top-company__title strong {
	display: block;
	font-weight: bold;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 47px;
}
@media screen and (max-width: 1270px) {
	.p-top-company__title strong {
		font-size: 3.7007874016vw;
	}
}
@media screen and (max-width: 767px) {
	.p-top-company__title strong {
		font-size: 30px;
	}
}
.p-top-company__body {
	background: #d8d6ce url(/assets/img/top-company-bg2.png);
	line-height: 1.8;
	transform: translateY(60px);
	padding: 60px 0 60px 70px;
	padding-right: calc((100vw - 1200px) / 2);
}
@media screen and (max-width: 1270px) {
	.p-top-company__body {
		padding: 4.7244094488vw 0 4.7244094488vw 5.5118110236vw;
		padding-right: 35px;
	}
}
@media screen and (max-width: 767px) {
	.p-top-company__body {
		transform: initial;
		padding: 15px;
	}
}
.p-top-company__body > *:not(:last-child) {
	margin-bottom: 35px;
}
@media screen and (max-width: 767px) {
	.p-top-company__body > *:not(:last-child) {
		margin-bottom: 15px;
	}
}
.p-top-company__lead {
	font-weight: 500;
	letter-spacing: 0.05em;
	font-size: 23px;
}
@media screen and (max-width: 767px) {
	.p-top-company__lead {
		font-size: 16px;
	}
}
.p-top-company__foot {
	text-align: center;
	display: none;
}
@media screen and (max-width: 767px) {
	.p-top-company__foot {
		display: block;
	}
}

/******************************************************************
project - products
******************************************************************/
.p-products {
	display: grid;
	grid-template-columns: 350px auto;
	grid-template-rows: auto 1fr;
	grid-template-areas: "preview head" "preview body";
	gap: 30px 50px;
}
.p-products--textbook {
	grid-template-columns: 306px auto;
}
@media screen and (max-width: 1270px) {
	.p-products {
		grid-template-columns: 27.5590551181vw auto;
	}
	.p-products--textbook {
		grid-template-columns: 24.094488189vw auto;
	}
	.p-products {
		gap: 30px 3.937007874vw;
	}
}
@media screen and (max-width: 767px) {
	.p-products {
		grid-template-columns: 100%;
		grid-template-areas: "head" "preview" "body";
		gap: 30px 20px;
	}
}
.p-products__head {
	grid-area: head;
}
.p-products__body {
	grid-area: body;
}
.p-products__preview {
	grid-area: preview;
}
.p-products__head > *:not(:last-child), .p-products__body > *:not(:last-child) {
	margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
	.p-products__head > *:not(:last-child), .p-products__body > *:not(:last-child) {
		margin-bottom: 20px;
	}
}
.p-products__title {
	font-size: 32px;
}
@media screen and (max-width: 1024px) {
	.p-products__title {
		font-size: 26px;
	}
}
@media screen and (max-width: 767px) {
	.p-products__title {
		font-size: 20px;
	}
}
.p-products__title > *:not(:last-child) {
	margin-bottom: 0.5rem;
}
.p-products__title span {
	display: block;
}
.p-products__title small {
	display: block;
	font-weight: 500;
	font-size: 22px;
}
@media screen and (max-width: 1024px) {
	.p-products__title small {
		font-size: 18px;
	}
}
@media screen and (max-width: 767px) {
	.p-products__title small {
		font-size: 14px;
	}
}
.p-products__title .p-products__magazine-no {
	font-size: 16px;
}
@media screen and (max-width: 767px) {
	.p-products__title .p-products__magazine-no {
		font-size: 14px;
	}
}
.p-products__block {
	display: grid;
	grid-template-columns: auto 330px;
}
@media screen and (max-width: 1270px) {
	.p-products__block {
		grid-template-columns: auto 25.9842519685vw;
	}
}
.p-products__block {
	grid-template-rows: auto 1fr;
	grid-template-areas: "author buy" "button-list buy";
	gap: 30px;
}
@media screen and (max-width: 767px) {
	.p-products__block {
		grid-template-columns: 100%;
		grid-template-areas: "author" "buy" "button-list";
		gap: 20px;
	}
}
.p-products__author {
	grid-area: author;
	margin-block: calc((1em - 1lh) / 2);
	display: flex;
	line-height: 1.8;
}
.p-products__author dt {
	flex-shrink: 0;
}
.p-products__author dt::after {
	content: "：";
}
.p-products__note {
	margin-block: calc((1em - 1lh) / 2);
	line-height: 1.8;
	display: table;
}
.p-products__note > div {
	display: table-row;
}
.p-products__note dt {
	display: table-cell;
	vertical-align: top;
	white-space: nowrap;
	width: 1%;
	padding-right: 1.5em;
	position: relative;
}
.p-products__note dt::after {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	right: 0.5em;
	content: "：";
}
.p-products__note dd {
	display: table-cell;
	vertical-align: top;
}
.p-products__buy {
	grid-area: buy;
	text-align: center;
}
.p-products__buy > *:not(:last-child) {
	margin-bottom: 6px;
}
.p-products__buy-state {
	color: #d70000;
	display: block;
}
.p-products__button-list {
	grid-area: button-list;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
@media screen and (max-width: 767px) {
	.p-products__button-list {
		justify-content: center;
	}
}
.p-products__button-list > * {
	min-width: min(180px, calc(50% - 5px));
}
.p-products__award {
	border: 4px solid #ffeda0;
	padding: 18px 20px;
	display: flex;
	align-items: center;
	gap: 18px;
	font-weight: 500;
	color: #ce4900;
	font-size: 18px;
}
@media screen and (max-width: 767px) {
	.p-products__award {
		font-size: 15px;
	}
}
.p-products__award img {
	flex-shrink: 0;
	width: 46px;
}
.p-products__summary > *:not(:last-child) {
	margin-bottom: 1rem;
}
@media screen and (max-width: 767px) {
	.p-products__summary > *:not(:last-child) {
		margin-bottom: 0.9rem;
	}
}
.p-products__point {
	background: url(/assets/img/icn-point.png) left 0.4em/auto 15px no-repeat;
	padding-left: 28px;
	font-size: 18px;
}
@media screen and (max-width: 767px) {
	.p-products__point {
		background-size: auto 13px;
		padding-left: 22px;
		font-size: 15px;
	}
}
.p-products__preview {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
}
@media print, screen and (min-width: 768px) {
	.p-products__preview .c-sns-list {
		margin-top: 10px;
	}
}
.p-products__img {
	display: block;
	margin-inline: auto;
	width: 100%;
}
@media screen and (max-width: 767px) {
	.p-products__img {
		max-width: 54vw;
	}
}
.p-products__img a {
	display: block;
	width: 100%;
}
.p-products__img img {
	width: 100%;
}
.p-products__links {
	max-width: 60vw;
}
.p-products__links > *:not(:last-child) {
	margin-bottom: 0.5rem;
}
.p-products__links--magazine {
	max-width: min(18em, 100%);
	margin-top: 30px;
	margin-inline: auto;
}

/******************************************************************
project - book-target
******************************************************************/
.p-book-target {
	background-color: #fff;
	border: 1px solid #c8cfd4;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 1.5rem 2rem;
	gap: 1.5rem;
}
@media screen and (max-width: 767px) {
	.p-book-target {
		padding: 0.9rem;
		gap: 0.9rem;
	}
}
.p-book-target__body {
	flex-grow: 1;
}
.p-book-target__body > *:not(:last-child) {
	margin-bottom: 0.5rem;
}
.p-book-target__body h2,
.p-book-target__body h3 {
	padding-left: 32px;
	background: url(/assets/img/icn-target.png) left top/24px no-repeat;
	font-size: 16px;
}
@media screen and (max-width: 767px) {
	.p-book-target__body h2,
	.p-book-target__body h3 {
		padding-left: 25px;
		background-size: 20px auto;
		font-size: 15px;
	}
}
.p-book-target__body h2 img,
.p-book-target__body h3 img {
	width: 28px;
}
.p-book-target__lank {
	flex-shrink: 0;
	display: flex;
	gap: 3px;
}
@media screen and (max-width: 767px) {
	.p-book-target__lank {
		flex-direction: column;
		gap: 1px;
	}
}
.p-book-target__lank > *:not([aria-hidden=true]) {
	background-color: #212836;
	color: #fff;
}
.p-book-target__lank > *[aria-hidden=true] {
	background-color: #d7dbde;
}
.p-book-target__lank > * {
	width: 3em;
	text-align: center;
	padding: 0.25em 0.5em;
}
.p-book-target__lank > *:first-child {
	border-radius: 4px 0 0 4px;
}
.p-book-target__lank > *:last-child {
	border-radius: 0 4px 4px 0;
}
@media screen and (max-width: 767px) {
	.p-book-target__lank > * {
		font-size: 11px;
	}
	.p-book-target__lank > *:first-child {
		border-radius: 4px 4px 0 0;
	}
	.p-book-target__lank > *:last-child {
		border-radius: 0 0 4px 4px;
	}
}

/******************************************************************
project - book-target-mini
******************************************************************/
.p-book-target-mini > *:not(:last-child) {
	margin-bottom: 0.5rem;
}
.p-book-target-mini dt {
	width: fit-content;
	color: #fff;
	padding: 0.15em 0.5em 0.15em 30px;
	background: url(/assets/img/icn-target-w.png) left 0.5em center/18px no-repeat;
	background-color: #212836;
	border-radius: 3px;
	font-weight: 500;
	font-size: 15px;
}
@media screen and (max-width: 767px) {
	.p-book-target-mini dt {
		padding-left: 28px;
		background-size: 16px auto;
		font-size: 14px;
	}
}
.p-book-target-mini dd {
	font-weight: 500;
}

/******************************************************************
project - book-category-list
******************************************************************/
.p-book-category-list h2 {
	margin-top: 60px;
}
@media screen and (max-width: 767px) {
	.p-book-category-list h2 {
		margin-top: 40px;
	}
}
.p-book-category-list h2 + dl {
	margin-top: 30px;
}
@media screen and (max-width: 767px) {
	.p-book-category-list h2 + dl {
		margin-top: 20px;
	}
}
.p-book-category-list dl {
	--column: 2;
	--gap: 40px;
}
@media screen and (max-width: 1270px) {
	.p-book-category-list dl {
		--gap: 3.1496062992vw;
	}
}
@media screen and (max-width: 767px) {
	.p-book-category-list dl {
		--column: 1;
		--gap: 30px;
	}
}
.p-book-category-list dl {
	display: flex;
	flex-wrap: wrap;
	margin-right: calc(var(--gap) * -1);
	gap: var(--gap);
}
.p-book-category-list dl > * {
	box-sizing: border-box;
	width: calc(100% / var(--column) - var(--gap));
}
.p-book-category-list dl dt {
	font-weight: 700;
	font-size: 20px;
	margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
	.p-book-category-list dl dt {
		font-size: 16px;
		margin-bottom: 18px;
	}
}
.p-book-category-list dl dt a {
	display: inline-block;
	color: inherit;
	text-decoration: none;
}
@media (any-hover: hover) {
	.p-book-category-list dl dt a:hover {
		text-decoration: none;
	}
}
.p-book-category-list dl dt a:focus {
	text-decoration: none;
}
.p-book-category-list dl dt a {
	position: relative;
}
.p-book-category-list dl dt a::after {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	width: 9px;
	height: 9px;
	transition-property: top, right, bottom, left, opacity;
	transition-duration: 0.2s;
}
.p-book-category-list dl dt a::after {
	top: 0;
	bottom: 0;
	left: 0;
	transform-origin: center center;
	border-top: 2px solid #333333;
	border-left: 2px solid #333333;
	transform: translateX(-3.0857864376px) rotate(135deg);
}
.p-book-category-list dl dt a {
	padding-left: 1em;
}
@media (any-hover: hover) {
	.p-book-category-list dl dt a:hover {
		color: #0055b4;
	}
}
.p-book-category-list dl dt a:focus {
	color: #0055b4;
}
.p-book-category-list dl ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5em 0.75em;
}
@media screen and (max-width: 767px) {
	.p-book-category-list dl ul {
		font-size: 13px;
		gap: 0.75em 0.75em;
	}
}
.p-book-category-list dl li a {
	display: inline-block;
	background-color: #fff;
	border: 1px solid #73777d;
	padding: 0.4em 0.8em;
	color: inherit;
	text-decoration: none;
}
@media (any-hover: hover) {
	.p-book-category-list dl li a:hover {
		text-decoration: none;
	}
}
.p-book-category-list dl li a:focus {
	text-decoration: none;
}
.p-book-category-list dl li a {
	transition-property: background, color;
	transition-duration: 0.4s;
}
@media (any-hover: hover) {
	.p-book-category-list dl li a:hover {
		background-color: #ebf4ff;
		color: #0055b4;
	}
}
.p-book-category-list dl li a:focus {
	background-color: #ebf4ff;
	color: #0055b4;
}
.p-book-category-list h2 + dl > *:not(:nth-child(1)):not(:nth-child(2)) {
	width: calc(33.3333333333% - var(--gap));
}
@media screen and (max-width: 767px) {
	.p-book-category-list h2 + dl > *:not(:nth-child(1)):not(:nth-child(2)) {
		width: calc(100% - var(--gap));
	}
}

/******************************************************************
project - book-category-head
******************************************************************/
.p-book-category-head {
	background-color: #fff;
	padding: 30px;
}
@media screen and (max-width: 767px) {
	.p-book-category-head {
		padding: 14px;
		margin-inline: -15px;
	}
}
.p-book-category-head {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
}
@media screen and (max-width: 767px) {
	.p-book-category-head {
		flex-direction: column;
		align-items: center;
		gap: 10px;
	}
}
.p-book-category-head__list {
	display: flex;
	align-items: center;
	gap: 1em;
}
.p-book-category-head__list h2 {
	white-space: nowrap;
	font-size: 15px;
}
@media screen and (max-width: 767px) {
	.p-book-category-head__list h2 {
		display: none;
	}
}
@media screen and (max-width: 767px) {
	.p-book-category-head__list .c-breadcrumb {
		justify-content: center;
	}
}
.p-book-category-head__button > button {
	white-space: nowrap;
	display: inline-block;
	padding: 0.7em 2em;
}
@media screen and (max-width: 767px) {
	.p-book-category-head__button > button {
		padding: 0.5em 2em;
	}
}
.p-book-category-head__button > button {
	background-color: #212836;
	color: #fff;
	text-decoration: none;
}
@media (any-hover: hover) {
	.p-book-category-head__button > button:hover {
		text-decoration: none;
	}
}
.p-book-category-head__button > button:focus {
	text-decoration: none;
}
.p-book-category-head__button > button {
	transition-property: background;
	transition-duration: 0.4s;
}
.p-book-category-head__button > button:hover {
	background: #0055b4;
}

/******************************************************************
project - mailmagazine-panel
******************************************************************/
.p-mailmagazine-panel {
	overflow: hidden;
	background-color: #fff;
	padding: 30px;
}
@media screen and (max-width: 1270px) {
	.p-mailmagazine-panel {
		padding: 2.3622047244vw;
	}
}
@media screen and (max-width: 767px) {
	.p-mailmagazine-panel {
		padding: 20px;
	}
}
@media screen and (max-width: 767px) {
	.p-mailmagazine-panel--bg-bottom {
		padding-block: 20px 35px;
	}
}
.p-mailmagazine-panel--bg-bottom {
	position: relative;
	z-index: 1;
}
.p-mailmagazine-panel--bg-bottom::after {
	z-index: -1;
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	right: 0;
	bottom: -0.2em;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: flex-end;
	justify-content: flex-end;
	font-family: "Unna", serif;
	line-height: 1;
	font-weight: 400;
	color: #ffffff;
	content: "Newsletter";
	letter-spacing: -0.02em;
	white-space: nowrap;
	font-size: 106px;
}
@media screen and (max-width: 1270px) {
	.p-mailmagazine-panel--bg-bottom::after {
		font-size: 8.3464566929vw;
	}
}
@media screen and (max-width: 767px) {
	.p-mailmagazine-panel--bg-bottom::after {
		font-size: 68px;
	}
}
.p-mailmagazine-panel--bg-bottom::before {
	z-index: -1;
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	right: 0;
	bottom: 0;
	width: 50%;
	height: 100%;
	background-color: #dfe3e8;
	clip-path: polygon(100% 0, 0% 100%, 100% 100%);
}
@media screen and (max-width: 767px) {
	.p-mailmagazine-panel--bg-bottom::before {
		width: 100%;
		height: 40%;
	}
}
@media screen and (max-width: 767px) {
	.p-mailmagazine-panel--bg-top {
		padding-block: 20px 25px;
	}
}
.p-mailmagazine-panel--bg-top {
	position: relative;
	z-index: 1;
}
.p-mailmagazine-panel--bg-top::after {
	z-index: -1;
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	top: -0.2em;
	right: 0;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: flex-end;
	font-family: "Unna", serif;
	line-height: 1;
	font-weight: 400;
	color: #ffffff;
	content: "Newsletter";
	letter-spacing: -0.02em;
	white-space: nowrap;
	font-size: 106px;
}
@media screen and (max-width: 1270px) {
	.p-mailmagazine-panel--bg-top::after {
		font-size: 8.3464566929vw;
	}
}
@media screen and (max-width: 767px) {
	.p-mailmagazine-panel--bg-top::after {
		font-size: 68px;
	}
}
.p-mailmagazine-panel--bg-top::before {
	z-index: -1;
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	top: 0;
	right: 0;
	width: 50%;
	height: 50%;
	background-color: #dfe3e8;
	clip-path: polygon(100% 0, 0 0, 100% 100%);
}
@media screen and (max-width: 767px) {
	.p-mailmagazine-panel--bg-top::before {
		width: 100%;
		height: 14%;
	}
}
.p-mailmagazine-panel .c-button {
	min-height: 3em;
}
@media screen and (max-width: 1024px) {
	.p-mailmagazine-panel .c-button {
		font-size: 15px;
	}
}
@media screen and (max-width: 767px) {
	.p-mailmagazine-panel .c-button {
		width: 100%;
		max-width: 350px;
		font-size: 14px;
	}
}
.p-mailmagazine-panel__head {
	display: flex;
	align-items: center;
	font-weight: 900;
	font-size: 26px;
}
@media screen and (max-width: 767px) {
	.p-mailmagazine-panel__head {
		flex-direction: column;
		align-items: flex-start;
		font-size: 18px;
	}
}
.p-mailmagazine-panel__head span {
	white-space: nowrap;
	display: inline-block;
	background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAFoCAYAAAAhN0NQAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAIZdJREFUeNrs3QeYZVWZLuDdhYCIAROSQUWR5MyAOjM6YHfTNN1kBQQUJEdBMOe5d8xZJGdJEiVLUEIziIlgJoggCAM0QZIKMgJ91+as8hZtp6o6Yf17v+/z/A/qI92nztrnfN9ee9c5E2bNmlUVZuk0a6RZM/9zhTRLpHlRnhemWbQCgHI8kebRNI/keTjNHWmuT/Or/M+7S3rAEwooAEulmZ5nUpqXOY4AaKAH0sxIc1GemW0sAMum2TnNZmnWqh+H4wKAFqnD9+dpzklzbJq7mlwAhtJMTrN7ms3TLGz9AaB6Os3laY5Mc1aap5pWAPZOc4h1BoC52ivN4f06K++XQ9N82toCwBx9qV/h3+8CUPs/SgAAzDH8P9rPv3BoAD9kXQI+Y60B4Blf7nf4D6oA1P5TCQCAZ8L/I4P4i4cG+EPXJeCz1h6AlvrKoMJ/0AWg9iklAICWhv+HB/kAhgp4EuoS8DnHAgAt8dVBh38pBaD2SSUAgJaE/4dKeCBDBT0pSgAAwr+FBWC4BHzeMQJAw3ytpPAvsQDUPqEEANCw8P9gaQ9qqNAnqy4BX3DMABDc10sM/5ILQO3jSgAAwcP/A6U+uKHCnzwlAICIvlFy+EcoAMMl4IuOJQAChf/7S3+QQ0GezI8pAQAI//YVgOES8CXHFgCFOiBK+EcrAFX+ukQlAIASw/99kR7whFmzZkV7kifkJ/q9jjcAhH87dgBqdWPZP82BjjkABuybVaBt//kVgGlpVlMCAGCejshn/qVvpa+Ws72a3yWAH6d5VZrJaa6vyr8cULevfR2HAPQ5/PcKEP6rpJmR5rY0b5lXAVg7zbX5P9+nBADAPzgyzZ5Bwv/yNMvk//6mNNdUc7kEMPI6xpL5X1y9Kv9ywH5pDnZMAiD85xj+1ewnyiN3AJZOc3uaRWb7Q+7JOwE3BdgJqO8J2MfxCUAPHJVmjwDh/7oc/kvP9r8/kWbFNPfOvgOw1RzCf7gYXFHFuDGw/tXAQxyjALQ0/F+b5rI5hH9t0TRbVnO4BLDZPP7AV+Q2EaEE7KsEANDS8J8x27b/7Dab/RLAElXnpr+F5/OH35svB9xQlX854KA073HcAjAOR+fwf7rwx/maqrNbv8x8/n9/yyf1Dw3vAGy8AOEfcSfgUMcuAC0I/xkLEP5VzvppIy8BbDKKv6guAZfkv7D0ErCPEgBAC878lx3Fv7NpNeISQH2n/1Kj/EvrywGT0txYlX85oP4Vwb0dzwAsgGPS7B7ozH/ZUf57d9f/Tl0AVqo6nxA0FjOrzj0BEUrAIflTmwCgreE/bIX6EsBa43gAS+XLAStX5V8OqG8IPMyxDcBcHBsk/FceZ/jX1qoLwKrjfCDL5geiBAAQOfx3CxD+K+UT72XH+eesOpR/b3C8lssl4NVBSsDhjnUAgoV/nbE/yCVgvFapC8AKXXpgy+U7ESPsBOytBAAQKPzrj/C9NGdtNyw/NIa7/5uyE7B3/jpHANrpW4HC/4ounfkPW6ouAC/t8gNdLn9Y0KsClIC9lACA1ob/rgHCv87SK7sc/rWX1wXgeT14wCvkthJlJ+B4rwWA1jguSPgPb/uv0IM/e7H6cwCeTP9hoR49+DurzocF3Vr4kzyUrwPt4HUB0Pjw3yVA+A+fSL+yR3/+k3UB6PW3G9UlYGKa3ysBAAzQqWm2S/NUy8P/H74OuFeWrzo3BpZ+T0DdBndOc4LXCIDwb3L496sADP9ASgAAgwr/7YX/YApApBLwVC4BJ3rNAIR3Wg7/JwOE/4x+hX+/C8BAfsBxlICdlACA8OG/XaDwf1W/b3xr9BaHEgDQSqcHCf+B3Sc3VLXgOkcXSsBJXksAocL/XcK/zAIQ7XLAjkoAgPDvQfi/epC/+14N+FOOlAAAhH/LCsDIErBSkBLwba8xgOKcIfzjFYBefdNRr0rADkoAQHHh/84A4V/UN+YOVc3+ukMlAKDZviP84xeAaJcD6hJwstcewEDDf9tA4b9yVdgX4JSmDv9L0iwboAS8WwkAEP7zsFSa75cW/qUWgCo/UTMClYBTvBYB+ubMKsa2fx3+l6dZtSr0K3BL9ZpAJWB7JQCgb+Ffn/n/Tfg3twBELAGnem0CtD78X1F6+EcoANFKwHZKAEBPnCX821cARpaAZZQAgFaG/zaBwn+1CE/qUKADIFIJqG8MPNtrFkD4l2rCrCTYwXBzmklp7i78cS5cdT6XenOvX4AxuSDNFmmeEP7t3gEY9togOwF1W31HmnO8hgFG7cJA4X9ZtPCPWgCUAIDmh//bA4T/kjn8V4/4JA8FPkBem7dcIpSArdOc6zUN0Kjwvzxq+EcvALVV8gIsXfjj/N+8E6AEAMzdRcJfARhtCZihBACED/+32fZXAJpeAs7zWgcIG/5rNOFJH2rQARTpcsBWSgDAMy6uYt3wt0ZTnvihhh1Ir1MCAEKFf33m/9fCH+fLmxb+TSwAI0vAUkFKwPneAwDhL/wVgO6VgBlBSsCWSgAg/IsO/zWbuAhDDT7AlACA8nxP+CsALgf8Ywn4rvcGoOHhv7nwVwD6ZdV80L0sQAnYQgkAGur7QcL/xVXn1xLXbPqCDLXkwHt9bnNKAMBgwn+zIOF/SZq127AoQy06ACOVgC3z12ACOPMX/gpAl0rApQFKwBN5J0AJAJoQ/o8LfwWgBP+kBAD03CVBwn+JXFTWbtsCDbX0wBwuAS9VAgB6Ev6bBQn/+rG+oY2LNNTiAzRSCdgqP1YA4S/8FYAu+OcgJaB+IW2qBACFu7LqfMhPlG3/N7R5sYYcr+FKwGWWDCg0/DdM85cg4f/Gti+YAqAEAIzXD9JsJPwVACWgtx5TAoDCwr8+8/+z8FcAopeA+qaQlwQpAZdbMkD4z9eLqs5Hwgt/BWCe/iXvBEQoAZsoAYDwn2/412f+b7JkCoASADA+Vwl/BaDpJeCSQCVghiUD+hT+0wNt+wt/BWBM1gpUAjZWAgDh/6zw/1dLpgAoAQDj88Mq1g1/wl8B6GoJeLESALQ0/Osz/z8JfwVACSi/BFxhyYAWhf8L01ws/BWAXllbCQCEf5HhX5/5/5slUwCUgM5HcioBwFj9SPgrAMy5BFyQD7wIJeC/LRkwyvCfFiD8F09zvvBXAPrt36vO9aYIJWAjJQBoYPhfmGZdS6YAKAFKANCObf/F8y6s8FcABl4CLkrzgiAl4EpLBszBj3P4Pxok/N9qyRSAErw57wREKAEbKgHAHMJ/WpDw/67wVwCUgLGXgPq7A35iyYCA4T/RkikApZaACJcD6hf6BkoAtN51VefSoPBXAOiCtwQqAXXr/6klg9aG//ppHir8cT5P+CsASkD3PZJ3ApQAaJefCX8UACVACQDhX3L4T7JkCkDUElB/UMXzlQCgoPB/UPijAPTef+SdgCgl4GpLBsJ/wOF/vvBXAJSA/peAqUoANM7Pg4X/ZEumACgBSgAw/vCfIvxRAAZfAi50OQAQ/sJfAWifdYKUgIdzCbjGkkFIv6jibPufJ/wVACWgvBIwVQmAkOFfn/n/sfDHuVgO//UsmQLQthJwQf6ISyUAEP4oAC2ybt4JiFICrrVkIPy7GP5TLJkCoATEKAHrKwEg/IW/AkB3S8DZ+YWhBACj9csg4b9omjOEvwLAs9XBeq4SADQ4/M+sOl8/jAJA4BIwNX+dKDD48H9A+KMANKMEnBOgBDyUH6sSAMJ/XhZJ8x3hrwCwYKbmEvBcJQCYg18FCv/6zH9jS6YAMLoScG6QEjA9za8tGfQt/NcT/igASkAJ7s9vSEoA9NaNVecjuoU/CoDLAUoAtMRNVefz8mcGueYv/BUAumADJQBaH/6TAoX/JpZMAaC7JeBsJQCEf8Hhf4bwVwDojWnBSsBvLBm0Ztu/Dv9NLZkCgBKgBEB3wv8e4Y8CwMgScFaAEnCfEgBj8ttA4X+68FcA6K/puQQsqgRA48J/UqDw38ySKQAMpgScHagEXG/JQPijANC+EjBZCYDw2/4LpzlN+CsAuBygBMD43ZxfG3cHCP/6zH9zS6YAUI4Ng90TcIMlg7+H/yThjwLAeEvAmQFKwL35bEcJQPjHCf/ThL8CQNk2UgJA+Pcg/N9myRQAYpSAk/MLVwmA8vwuSPgvlOYE4a8AEMvb05yqBIDwH0f4n5RmG0umAKAE9LoE3GjJaEn43xUg/E8U/goA8UvAKUoACP9Rhv+2lkwBIL4tgpSAmUoAwr+Ia/7CXwGgYSXg5CAlYGqaWywZDXFLsPB/pyVTAGieLXMJeE7hj/N/8humEkB0t6dZX/ijAFBKCThFCYCe+0M+hm8PEP7HC38FACWgxBJwqyUjYPhPDBT+77JkCgAuBygB0J7wP074KwC001ZBSsCdSgC2/XsS/ttZMgWAdpeAbysB0LXwv034owAQxTuUABiXO4Q/CgBKQH9KwO8tGQWF/8Qg4f8t4Y8CgBIA7Qv/7S0ZCgDzKgEnBSgBdygB2PZf4PA/VvijALAgtg5WAm6zZCigc32Pr8P/3ZYMBYDRlIAT89mDLVgQ/igAtMg2eSdACYAq1P0nw+G/gyVDAUAJAOEPCgCjLgFHBzhe3BNA2z+DYkKaQ4U/CgDdtGOaYwIcM1E+ihXh34vwPyzNHpYMBYBelICjg5SAiUoAVXu+jGr4zF/4owDQMzspAQj/IsN/T0uGAkA/SsBRLgfQgvC/JUD4HyL8UQDop52DlIDblQAaHv57WTIUAJSAuZeA9dPcZcmYj5lppgp/FABoTgm4JZ/VKQHMK/wnp7kxQPgfLPxRACilBBwZ4Hj6nRLAXNwbLPz3tmQoAJRiFyUA4S/8UQBobwk4IkgJWC/NPZas9e5Os26aGwKE/0HCHwWAku0apAT8tup8TsDdlqzVZ/71zaE3Bwn/91gyFACUgO64OV8OUALau+1/g/BHAYDul4DD8xuYEoDwH1v4Hyj8UQCIaLe8ExChBExWAlrhvqpz/0eU8N/HkqEAoARUPb8nYLIbAxsf/vUaXx8g/L8p/FEAaEoJODxICZikBAj/AsJ/X0uGAkBT7K4EMOBt/wjhf4DwRwFACVAC6F74/yZI+L/XkqEA0OQScJh7AhD+wh8FgPbZI803ApSAm3IJmGnJwrk/SPjXviD8UQBok+cGeZw35csBSoDw79XZ/2KWDAWAtjgyf5XpLCWAHoX/r4M83vo1sH/V+Z1/UABofPjvGSj8XQ4Q/koACgC0NPyH3agECP8el4CDLCUKAE1zVPDwH1kCNkjzgCUtxkNppgcO/5ElYD8lAAWApoX/Hg0I/2G/ymebSkAZ4V9/pe91Dfl5hkvAwZYWBQDhX24JmKIECP8elYD3KgEoAER2dNWMbf+5+aUSIPx7XAIOsdQoAEQM//rM/+mG/5xKQP89nGZqg8N/ZAnYVwlAAUD4l18C/mjp+xL+9Zn/tS35eZUAFADCOKZl4a8ECP9+lYBDHQIoAJQc/ru3MPyH/UIJ6Pm2/7Ut/fnrErCPEoACQImObXn4KwG9D/9rWv48KAEoABQZ/rsJfyVA+PetBBzmqUABQPiXWwLWVwLGHf4bCP85loD3KAEoAAj/cv08l4AHPRWj9kgO/6s9FUoACgBl+ZbwX+ASMEUJGHX4TxX+C1wCDvdUoADQz/DfVfgrAcK/iBKwtxKAAkA/HCf8XQ6w7V9kCTjCU4ECQC/DfxfhP2Y/UwLmG/4/9VSMuQTspQQwGhNmJZ4GFsCpabZL85SnYtzWSnNJmpd4KoR/D07q6ptzd/BUYAeANoX/K6vOd6lH2Ql4yKFVPZpmWpDw3y8fYyWrd+d2TnO8QwsFgLaE/wppLktzQJr/VALChH995v+TAI/1w/nYuiLNq5QAFACa7rQ02wcJ/ytGnJ39V5AScF2LS0C08P/SiGNtRqAScIK3MRQAxhL+9Zn/kwHCf8YctmbrEvCpICVgoxyIbfGXNJsECf8PjQj/SglAAaDpTg8W/nN7I/50kBLw46pzHfzRloT/hmmuDBL+Xx5l8SzNU7kEnOhtDQWABQn/dwUI/+UX8CysLgGfVAKKCf+NgoT/B+cR/nO79FRyCdhJCUABoE3hP+wzgUrA9IaWgOHw/+8g4f+Vamz3nygBKAAI/x6H/6tH+e/VJeATAdbhR7kE/Klh4b9xkPD/wCjCP+LlgLoEnOTtDgWAYWc0PPyHfTZQCZjWkBIwHP5XBAn/r47x310xUAnYUQlAAWA4/N/ZgvBXAoR/r8J/9hKwkhJA5aOAKdx30mwbIPyXyyHy6i7+mXUJ+HyANXpLmovSvCDYsfVY1bnmHyH835/ma1388/6QZmKa2wv/uReqOh8W9C5vhXYAEP6lhv+MLod/7XNpPh5gnX5Yxbsn4LFAZ/7dDv/hnYArguwE1N8Z8G1vhwoAwr/U8F+5R39+XQI+pgT0JPxnBHis7+tB+Ee8HKAEKAAI/1aF/7DPKwGtDf+v9/jvWCl/6+OyQUrAyd4eFQCa68wqxg1/S6X5fh/Cf2QJ+GiQElB/it6fCw3/TYKE//59CP9hK+fnJEIJeLcSoADQ3PCvz/z/FiD8L0+zap//3i8EKQFX5Z2APxcY/pcHCf9v9PnvfE2wEnCKt0sFgOY4K0j4v2JA4a8ECH8l4P+XgO2VAAWA5oT/NsJ/VCXgI0FKwKAvB9Thv6nwVwJQABD+4w3/1Qp5PF8MUgJ+MMASMBz+lwV4nvar+nfNf0FLwDJBSsCp3kYrHwSE8G9J+A+blc8aDwyw1uukuTDN8/v09z1edbb9I4T/HmkOq9/rCntcN6eZlObuqvwPCzopv5egABDABWm2SPOE8FcCehD+9Zn/pQGek93THF5g+EcrAQunOS3N27y1Vi4BULQLhX/3CnKaA9LsW8W4HLBR/vx94V9++NdeW8W4HFDvIm6d5hxvrwoAZYf/2wOE/5JVZ/t4tQDPaR0g3wxSAq6sOvcEPNSDP/vBqvPlRBHCf7cA4R+xBLxDCVAAKNNFgcK/PvNfPdBzG60EvLHqfGhQ1cXfOHhj/rMjhP8RQcJ/ZAm4XAlAAWCs4f824d+XErBPgMd6a5p1q863vN04jj/nhqrzyZFvTfN74d9Tq+TXxtIuB+AmQJoY/vW2/xrBn+/69fLeNAcHKi71DYIbVJ0bzuoz+efM5f9bf0T01VXnm+wurjr3FUQROfxH+m1ep3sKf5yLpDk9zWbeghUAhH8bwn9kCagvBxwS8LEvnmb5NC/LU3sgz51Vb28i7JVdc/g3ZUdTCUABYJ4uzuH/V+GvBLRY08J/2E1pJgcpAWdUnd8OoXIPAMJ/2MsbGv7DW+sHpdnb4TgwuzQ0/Guvq2LcE/C/abZKc57DUQFA+Lch/EeWgIOVgIGF/5ENfw8bLgFLKQEoAEQL/zVbsCZKgPDvdQmYoQSgALTb94S/EkC1c4vCP2oJON9hqgDQ3fDfXPiHKAF7OVx7Gv5HtfR9K9LlgC2VAAWA7vi+8A9VAg5RAoR/j6warAR812GrADC+8N8sQPi/uOp8JsGaluzvJWBPT0XX7CT8n1UCvjfiMxxKLgFbKAEKAM0+86/D/5I0a1uyZ5WAQ5WAroX/0d6rnuX1VWe3TQlAAWhw+D8u/MOXgD08FWO2o/CfZwm4NEgJcDlAAWABXSL8G1UCDlMCxhz+x3iPmqd/ClICnsgl4AJLpgAw7/DfLED4L1F1dimEvxIg/MsoAS8NUAK2UAJ8FwDxw79+rG+wZKPydNW5k/14T8U8bZPmpDQLeSpG5RdppqT5Y+GPc9E0Z6bZyJIpAHRcmWbDqvxvYhP+SoDwVwLGa7Gq84mBUyxZ5RKA8A8T/t8X/uN+vR2b5t2ein+wdZoThf+4/HMV43LA4/nbAy+1ZApA28N/o0Dh/0ZLpgT0KPzrM//neCqUABSANvhBDv8/V+Xf7X+p8O+qhXIJ2MVT8cxz8G3h3/US8L382o1QAi6zZApA28J/wwDhv0R+I3G3f29KQP077l9s8XPwkarzCX+2/btv7RysL1ECqNwEKPxH6UVVZ9v/TZas547Nvyb4ZIvKz0GV70zoh59XnZvtHiz8cT6v6nyB0GRLpgA01VVppgc583e3f3+dl3///aGG/5z1tenj0mxsyfvmmjRT0zysBKAACH9n/mW6M812Vefm0CZ6a9W52W85S20nQAmo3AMg/IsL/+8J/4FZvup83Wt9X8DCDfq56hv8/m/Vuc4r/AfjX6rOrl7p9wQ8lmaT/DrADoDwd+bfStem2S/Nj4L/HBPTHFB1PrKWwbu66lwOeCTATkD9BUKTLJkdgKh+WMW54c+Zf1nekI+fejt0pYCPvz7TPyGfyQn/crwpr8mLA+wE1PeJzLBkdgCihn995v+nIOH/r5as6DfDA/PcU/hjXTHN/mn2TPNcS1esn6bZwE6AAqAAtDf8X5jD/98sWQj1d6ufm+YrVefO7qqwD595f5ptKx/qE8V1adavyv/Nk+flbxGcaMkUgNLV12ynCX967Io0p6Q5K80DA3oMy1Sd73mvP8r3zZYkpB/n96tHC3+ci+edACVAARD+XQj/i9P8uyUL78l8nfSM/M9bevl+kWb1qrMdW3+3+zqV+4iUACVAAUD4U4SZVecSVD0/S3NrmrvSzBrDp/WtkGblNK9Ps26at1Tlf8kMY3//mq4EKAA0N/xfkMPfdm27/DXNbWl+X3V+I+WR/Bns9f/+VH5TXTzfEPrC/FsHr0yziKfO+1ihJeCC/MFSKACV7TMvGkAJoPI5AMLfiwUYvTfnXcIXFP44/1J1vk79SkumAAj/+V8zE/5A00rAhkqAAiD83TADKAFU7gGofHiG8AcqH2qGHYAWfnKW8AfGq/7Vz4sC7AQ8mj/a+CeWTAHohZ8Jf0AJKLoETMvfc4AC0Nrw98UZQLdLwIUBSsAjeSdACVAAuhr+Dwp/oMX+I5eA5ysBCoDwF/5A+0rARUqAAtB0Pw8U/ucLf0AJmGMJuNqSKQCjDf8pgcJ/siUDXA6YYwmYqgQoAMIfoHvWUQIUgCb5RRVn2/884Q8oAaO6HHCNJVMA5hb+9Zn/H4OE/3qWDCikBFwQoAQ8nHcClAAFIGT4Lyb8gQKtm0vA4kqAAiD8hT/QvhJwoRKgAAj/3oT/FO8xQOEl4Oz8nhWhBFyrALTTL4OE/6JpzhD+QBD1jdTnBikB67e5BAwJ/+LD/8w0G3lPAZQAJUAB6E74PyD8AXpaAs4JdDngOgVA+At/gO6YGqQEPJQLy3UKQDP9Kkj4L5LmO8IfaFgJeK4SoAAMKvzXCxL+9Zn/xt4zgIaVgHOVAAWg326sOh8BKfwB7AQsSAmYnubXCkBsN1Wdz8ufGWTbX/gDTbZBkBJwf9XZNf61AhA3/CcFCv9NvDcALSkBZysBCoDwF/5A+0xTAhSAtof/GcIfUAKUAAWgXdf86/Df1HsAoASEKQG/UQDK9Nsc/vcIf4BQJeCsqvMBaEqAAjCm8J8UJPxPF/4AzzI97wSUXgLua1IJGBL+fQ//zbzWAcKXgOsVANv+wh+geyXgrCAlYHL0EjDUgPC/u/DHuXCa04Q/wALZUAlQAObl5kDhX5/5b+41DaAEKADjD/9Jwh+g8SXgzED3BNygAAj/kdv+wh9g7OqvRT85v6eW7N68E3CDAtAbvwsW/m/z2gUYt7enOVUJaG8BiBL+C6U5QfgDKAEKQPfC/64A4X9Smm28VgGUAAWgPeF/ovAH6HkJOCVQCbhRAWhH+G/rtQnQc1soAc0uALcECv8ThD9A30tA/dsBzyn8cc4suQSUWABuT7N+oPB/p9ciQN9tmXcCIpSAqfnEVgGYT/hPyv8U/gA0oQT8T862WxSAOftDoPA/XvgDKAGRS8BQQeE/MVD4v8trDqCoEnByoBJwqwIQL/yPE/4ARdpKCYhVACJt+9fhv53XGEDRJeDbAUrAnSWUgEEWgDvyE3Cb8AegS96hBJRdAO7I2/7CHwAloCUFIFL4f0v4AygBfSgBv296AYgW/tt7DQGELgEnKQGDLwCRrvkfK/wBGmHrICXgjn6XgKGm/mDjDP93e80ANKoEnJjf4yOUgNuaUgDuDBL+Q8IfoLG2yTsBEUrAxH6UgDr0nhL+wh+gJSXg6IK/CbefJeDJ+kn4a5M/6GAU4b+D1wZA4+2Y5hgloHq8fgIe61H4TwwQ/hPSHCr8AZSAQkvAlJyp3fZY/cPf39Jt/zr8D0uzh9cCQCtLQITLAXWWrlN1/yPz76t/8JlVQ7/paAHO/IU/QHvtFKQE9OJL82YO5dDuVvhPDBT+ezr2AZSANEcFKQFTupjZd9U/8M0tPPMX/gAM2zlICbi1i5cDbqp/2BvH2yJy+N8SIPwPEf4ABC4Bdfivn7N3XAVgwqxZs1YcR5uo7x+Y3IUS0a/w38sxDsA81L8Wvluapwt/nCunuSLNsmP895cbytcV7m54+B8s/AFYwJ2AIwPsBNySd9/vGuNl+7uGf8CrRvkv14Vh3UDhv7djGoAFtEuQEvC7XAJGexJ/1cjvAjhvFP/ivVXn+sPvhD8ADS4BRwQpARNHuRNw7jMhme4BqP/5ojT3pVlkAcK/3va/QfgD0AJH58+MKf2egNekmVHN/56Av6VZMs3Dw83mkTRXNij8DxL+AHTBrmkOb9DlgMvr8K9m+4HObVD4v8cxC0CX7JZLwIQGlIC/Z/3wJYDaUlXnNwJmvwxwTw7/mwKE/4Fp9nGsAtADR+XLAbMKf5yvy2f6S8/2vz+RZoWqc8n/WTsA9a/1nT7b//m+fMOf8AfATkDnxsDSdwJuyjcGzr4TcOpw+M++A1BbK811I8K/PvO/XvgDwN8dmT9VtvSdgFXyTsAy+b+/Kc01cysAtR9WnU8YihL+30yzr+MRACVgriVg+GuFq3kVgGlp7qhi3PAn/AEYlCPyp8yWXgJWqzrX/i+eXwGIoA7/A9K81/EHgBIwekOV8AeAsap/K+AbAW4MDF8AhD8ApdkvzdcVgN76gvAHoED7550ABaAHvpjmI44xAJSA9hSALwh/AIKUgK8rAN0L/486pgAI4n0RSkDpBeDzwh8AJaBdBaAO/485hgAIXAK+pgAIfwDa5/2lloASC8DnhD8ADSsBX1UA5h/+H3esANAwHyitBJRUAD4r/AFoeAn4igLwj+H/CccGAA33wVJKwJDwB4D2lYBBF4DPCH8AWloCvtzWAlCH/ycdAwC01IcGWQIGVQA+LfwB4JkS8KW2FIA6/D9lzQHgGR8eRAnodwH4L+EPAHMsAV/s5184YdasWf36u/ZOc4g1BoC52ivN4U0rAPVuw+Q0u6fZPM3C1hkAqqfTXJ7myDRnpXmqaQVgpGXS7JiLwNoBvpYYALod+telOSfNcWnu7vcDGFQBGGnJNNPTbJhmUpqXOy4AaKD708xIc2Gai9LcN8gHU0IBmN1SadZIs2aa1dOsmGaJNC8aMYs6jgAoyBNpHhkxD6f5Q5rr0/w6zW/SzCzpEf8/AQYA48jNj/qhdGIAAAAASUVORK5CYII=") left 1.2em center/15px auto no-repeat;
	background-color: #212836;
	color: #fff;
	font-weight: 500;
	padding: 0.15em 1.2em 0.15em 2.5em;
	border-radius: 100vw;
	margin-right: 0.5em;
	vertical-align: baseline;
	font-size: 16px;
}
@media screen and (max-width: 767px) {
	.p-mailmagazine-panel__head span {
		font-size: 13px;
		margin-bottom: 0.5em;
	}
}
.p-mailmagazine-panel__body > *:not(:last-child) {
	margin-bottom: 1em;
}
.p-mailmagazine-panel__body {
	margin-top: 1em;
	font-weight: 500;
}
@media screen and (max-width: 767px) {
	.p-mailmagazine-panel__body {
		font-weight: 400;
	}
}
.p-mailmagazine-panel__list {
	margin-top: 30px;
	display: flex;
}
@media screen and (max-width: 767px) {
	.p-mailmagazine-panel__list {
		flex-direction: column;
	}
}
.p-mailmagazine-panel__list li {
	width: 100%;
	display: flex;
	flex-direction: column;
}
@media print, screen and (min-width: 768px) {
	.p-mailmagazine-panel__list li:not(:last-child) {
		border-right: 1px solid #212836;
		padding-right: 30px;
		margin-right: 30px;
	}
}
@media screen and (max-width: 1270px) {
	.p-mailmagazine-panel__list li:not(:last-child) {
		padding-right: 2.3622047244vw;
		margin-right: 2.3622047244vw;
	}
}
@media screen and (max-width: 767px) {
	.p-mailmagazine-panel__list li:not(:last-child) {
		border-bottom: 1px solid #212836;
		padding-bottom: 30px;
		margin-bottom: 30px;
	}
}
.p-mailmagazine-panel__main {
	flex-grow: 1;
	font-weight: 500;
}
.p-mailmagazine-panel__main > *:not(:last-child) {
	margin-bottom: 1em;
}
@media print, screen and (min-width: 768px) {
	.p-mailmagazine-panel__main {
		padding-block: 1.5em;
	}
}
@media screen and (max-width: 767px) {
	.p-mailmagazine-panel__main {
		padding-bottom: 1.5em;
	}
}

/******************************************************************
project - webmagazine-panel
******************************************************************/
.p-webmagazine-panel {
	border: 4px solid #b9d4f3;
	background-color: #fff;
	padding: 30px 40px;
}
@media screen and (max-width: 1270px) {
	.p-webmagazine-panel {
		padding: 2.3622047244vw 3.1496062992vw;
	}
}
@media screen and (max-width: 767px) {
	.p-webmagazine-panel {
		border: 3px solid #b9d4f3;
		padding: 20px 25px;
	}
}
.p-webmagazine-panel {
	display: grid;
	grid-template-columns: 210px auto;
	grid-template-areas: "img body" "button button";
	gap: 20px 40px;
}
@media screen and (max-width: 1270px) {
	.p-webmagazine-panel {
		grid-template-columns: 16.5354330709vw auto;
	}
}
@media screen and (max-width: 767px) {
	.p-webmagazine-panel {
		grid-template-columns: 100%;
		grid-template-areas: "img" "body" "button";
		gap: 20px;
	}
}
.p-webmagazine-panel__body {
	grid-area: body;
	font-weight: 500;
	font-size: 15px;
}
@media screen and (max-width: 767px) {
	.p-webmagazine-panel__body {
		font-size: 14px;
	}
}
.p-webmagazine-panel__head {
	position: relative;
	padding-left: 20px;
	margin-bottom: 0.5em;
}
.p-webmagazine-panel__head::before {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	top: 0.5lh;
	left: 0;
	width: 12px;
	border-top: 3px solid #212836;
}
.p-webmagazine-panel__head {
	font-size: 18px;
}
@media screen and (max-width: 767px) {
	.p-webmagazine-panel__head {
		font-size: 15px;
	}
}
.p-webmagazine-panel__img {
	grid-area: img;
	text-align: center;
}
.p-webmagazine-panel__img img {
	width: 100%;
	max-width: 200px;
}
.p-webmagazine-panel__button {
	grid-area: button;
	text-align: center;
}
.p-webmagazine-panel .c-button {
	min-height: 3em;
}
@media screen and (max-width: 1024px) {
	.p-webmagazine-panel .c-button {
		font-size: 15px;
	}
}
@media screen and (max-width: 767px) {
	.p-webmagazine-panel .c-button {
		width: 100%;
		max-width: 350px;
		font-size: 14px;
	}
}

/******************************************************************
project - license-category-list
******************************************************************/
.p-license-category-list dl > *:not(:last-child) {
	margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
	.p-license-category-list dl > *:not(:last-child) {
		margin-bottom: 30px;
	}
}
.p-license-category-list dl dt {
	font-weight: 700;
	font-size: 20px;
	margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
	.p-license-category-list dl dt {
		font-size: 16px;
		margin-bottom: 18px;
	}
}
.p-license-category-list dl dt a {
	display: inline-block;
	color: inherit;
	text-decoration: none;
}
@media (any-hover: hover) {
	.p-license-category-list dl dt a:hover {
		text-decoration: none;
	}
}
.p-license-category-list dl dt a:focus {
	text-decoration: none;
}
.p-license-category-list dl dt a {
	position: relative;
}
.p-license-category-list dl dt a::after {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	width: 9px;
	height: 9px;
	transition-property: top, right, bottom, left, opacity;
	transition-duration: 0.2s;
}
.p-license-category-list dl dt a::after {
	top: 0;
	bottom: 0;
	left: 0;
	transform-origin: center center;
	border-top: 2px solid #333333;
	border-left: 2px solid #333333;
	transform: translateX(-3.0857864376px) rotate(135deg);
}
.p-license-category-list dl dt a {
	padding-left: 1em;
}
@media (any-hover: hover) {
	.p-license-category-list dl dt a:hover {
		color: #0055b4;
	}
}
.p-license-category-list dl dt a:focus {
	color: #0055b4;
}
.p-license-category-list dl ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5em 0.75em;
}
@media screen and (max-width: 767px) {
	.p-license-category-list dl ul {
		font-size: 13px;
		gap: 0.75em 0.75em;
	}
}
.p-license-category-list dl li a {
	display: inline-block;
	background-color: #fff;
	border: 1px solid #73777d;
	padding: 0.4em 0.8em;
	color: inherit;
	text-decoration: none;
}
@media (any-hover: hover) {
	.p-license-category-list dl li a:hover {
		text-decoration: none;
	}
}
.p-license-category-list dl li a:focus {
	text-decoration: none;
}
.p-license-category-list dl li a {
	transition-property: background, color;
	transition-duration: 0.4s;
}
@media (any-hover: hover) {
	.p-license-category-list dl li a:hover {
		background-color: #ebf4ff;
		color: #0055b4;
	}
}
.p-license-category-list dl li a:focus {
	background-color: #ebf4ff;
	color: #0055b4;
}

/******************************************************************
project - magazine-heading
******************************************************************/
@media screen and (max-width: 767px) {
	.p-magazine-heading {
		margin-top: -12px;
	}
}
.p-magazine-heading__body {
	background: var(--bg) top -3% center/cover no-repeat;
}
@media screen and (max-width: 1024px) {
	.p-magazine-heading__body {
		background-size: auto 134%;
	}
}
.p-magazine-heading__body {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 240px;
}
@media screen and (max-width: 767px) {
	.p-magazine-heading__body {
		height: 35vw;
	}
}
.p-magazine-heading__nav {
	background-color: #50555d;
}
@media print, screen and (min-width: 768px) {
	.p-magazine-heading__nav {
		padding-block: 22px;
	}
}
.p-magazine-heading__nav ul {
	display: flex;
	justify-content: center;
	gap: 2.5em;
}
@media screen and (max-width: 767px) {
	.p-magazine-heading__nav ul {
		flex-wrap: wrap;
		gap: 0;
	}
}
@media screen and (max-width: 767px) {
	.p-magazine-heading__nav ul li {
		border-top: 1px solid #fff;
	}
	.p-magazine-heading__nav ul li:nth-child(2n+1) {
		border-right: 1px solid #fff;
	}
	.p-magazine-heading__nav ul li {
		box-sizing: border-box;
		width: 50%;
	}
}
.p-magazine-heading__nav ul li a {
	font-weight: 500;
	color: #fff;
	text-decoration: none;
}
@media (any-hover: hover) {
	.p-magazine-heading__nav ul li a:hover {
		text-decoration: none;
	}
}
.p-magazine-heading__nav ul li a:focus {
	text-decoration: none;
}
@media print, screen and (min-width: 768px) {
	.p-magazine-heading__nav ul li a {
		display: inline-block;
		position: relative;
	}
	.p-magazine-heading__nav ul li a::after {
		position: absolute;
		content: "";
		margin: auto;
		box-sizing: border-box;
		vertical-align: middle;
		width: 9px;
		height: 9px;
		transition-property: top, right, bottom, left, opacity;
		transition-duration: 0.2s;
	}
	.p-magazine-heading__nav ul li a::after {
		top: 0;
		bottom: 0;
		right: 0;
		transform-origin: center center;
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
		transform: translateX(-1.8639610307px) rotate(45deg);
	}
	.p-magazine-heading__nav ul li a {
		padding-right: 18px;
		transition-property: opacity;
		transition-duration: 0.4s;
	}
	.p-magazine-heading__nav ul li a::after {
		transition-property: right;
		transition-duration: 0.4s;
	}
}
@media print and (any-hover: hover), screen and (min-width: 768px) and (any-hover: hover) {
	.p-magazine-heading__nav ul li a:hover {
		opacity: 0.7;
	}
	.p-magazine-heading__nav ul li a:hover::after {
		right: -3px;
	}
}
@media print, screen and (min-width: 768px) {
	.p-magazine-heading__nav ul li a:focus {
		opacity: 0.7;
	}
	.p-magazine-heading__nav ul li a:focus::after {
		right: -3px;
	}
}
@media screen and (max-width: 767px) {
	.p-magazine-heading__nav ul li a {
		display: block;
		background-color: #50555d;
		text-align: center;
		padding: 0.75em 20px;
		position: relative;
	}
	.p-magazine-heading__nav ul li a::after {
		position: absolute;
		content: "";
		margin: auto;
		box-sizing: border-box;
		vertical-align: middle;
		width: 7px;
		height: 7px;
		transition-property: top, right, bottom, left, opacity;
		transition-duration: 0.2s;
	}
	.p-magazine-heading__nav ul li a::after {
		top: 0;
		bottom: 0;
		right: 10px;
		transform-origin: center center;
		border-top: 1px solid #fff;
		border-right: 1px solid #fff;
		transform: translateX(-1.4497474683px) rotate(45deg);
	}
}
@media screen and (max-width: 767px) {
	.p-magazine-heading__nav--ad ul li:first-child {
		width: 100%;
	}
	.p-magazine-heading__nav--ad ul li:nth-child(2n+1) {
		border-right: 0;
	}
	.p-magazine-heading__nav--ad ul li:nth-child(2n) {
		border-right: 1px solid #fff;
	}
}

/******************************************************************
project - school-heading
******************************************************************/
.p-school-heading {
	background: var(--bg) center center/cover no-repeat;
	padding-block: 55px 30px;
}
@media screen and (max-width: 767px) {
	.p-school-heading {
		padding-block: 40px 25px;
		background-position: left 11% top;
	}
}
.p-school-heading__head {
	color: #fff;
	text-align: center;
}
.p-school-heading__head img {
	width: 480px;
	filter: brightness(0) invert(1);
}
.p-school-heading__head {
	margin-bottom: 55px;
}
@media screen and (max-width: 767px) {
	.p-school-heading__head {
		margin-bottom: 40px;
		padding-inline: 15px;
	}
}
.p-school-heading__title {
	margin-top: 0.75em;
	font-weight: 400;
	letter-spacing: 0.25em;
	font-size: 20px;
}
@media screen and (max-width: 767px) {
	.p-school-heading__title {
		font-size: 16px;
	}
}
/******************************************************************
project - school-detail-heading
******************************************************************/
.p-school-detail-heading {
	color: #fff;
	position: relative;
	background-color: #1e2431;
}
.p-school-detail-heading::before {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: var(--bg) center center/cover no-repeat;
	opacity: 0.9;
}
@media screen and (max-width: 767px) {
	.p-school-detail-heading::before {
		background-position: top center;
		background-size: auto 70%;
	}
}
.p-school-detail-heading::after {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	-webkit-backdrop-filter: blur(15px);
	backdrop-filter: blur(15px);
	background-color: rgba(30, 36, 49, 0.8);
}
.p-school-detail-heading {
	padding-block: 70px;
}
@media screen and (max-width: 1270px) {
	.p-school-detail-heading {
		padding-block: 5.5118110236vw;
	}
}
@media screen and (max-width: 767px) {
	.p-school-detail-heading {
		padding-block: 25px;
	}
}
.p-school-detail-heading__inner {
	position: relative;
	z-index: 1;
	max-width: 1200px;
	margin-inline: auto;
	padding-inline: 35px;
}
@media screen and (max-width: 767px) {
	.p-school-detail-heading__inner {
		padding-inline: 15px;
	}
}
.p-school-detail-heading__inner {
	display: grid;
	grid-template-columns: 480px auto;
	grid-template-rows: auto 1fr;
	grid-template-areas: "preview head" "preview body";
	gap: 30px 40px;
}
@media screen and (max-width: 1270px) {
	.p-school-detail-heading__inner {
		grid-template-columns: 37.7952755906vw auto;
		gap: 30px 3.1496062992vw;
	}
}
@media screen and (max-width: 767px) {
	.p-school-detail-heading__inner {
		grid-template-columns: 100%;
		grid-template-areas: "head" "preview" "body";
		gap: 30px 20px;
	}
}
.p-school-detail-heading__head {
	grid-area: head;
}
.p-school-detail-heading__head > *:not(:last-child) {
	margin-bottom: 15px;
}
@media screen and (max-width: 767px) {
	.p-school-detail-heading__head > *:not(:last-child) {
		margin-bottom: 10px;
	}
}
.p-school-detail-heading__subtitle {
	font-weight: normal;
	font-size: 20px;
}
@media screen and (max-width: 767px) {
	.p-school-detail-heading__subtitle {
		font-size: 18px;
	}
}
.p-school-detail-heading__title {
	font-weight: normal;
}
.p-school-detail-heading__title small {
	display: block;
	font-size: 1rem;
}
@media screen and (max-width: 767px) {
	.p-school-detail-heading__title small {
		font-size: 0.8rem;
	}
}
.p-school-detail-heading__preview {
	grid-area: preview;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
}
.p-school-detail-heading__body {
	grid-area: body;
}
.p-school-detail-heading__body > *:not(:last-child) {
	margin-bottom: 1em;
}
.p-school-detail-heading__note {
	text-align: right;
}
@media screen and (max-width: 767px) {
	.p-school-detail-heading__note {
		font-size: 12px;
	}
}

/******************************************************************
project - school-step
******************************************************************/
.p-school-step {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 28px;
}
@media screen and (max-width: 1024px) {
	.p-school-step {
		grid-template-columns: repeat(1, 1fr);
		gap: 20px;
	}
}
.p-school-step > * {
	background-color: #fff;
	padding: 30px 26px;
}
@media screen and (max-width: 1270px) {
	.p-school-step > * {
		padding-block: 2.3622047244vw;
		padding-inline: 2.0472440945vw;
	}
}
@media screen and (max-width: 1024px) {
	.p-school-step > * {
		padding: 20px 18px;
	}
}
.p-school-step > *:not(:last-child) {
	position: relative;
}
@media print, screen and (min-width: 1025px) {
	.p-school-step > *:not(:last-child) {
		position: relative;
	}
	.p-school-step > *:not(:last-child)::after {
		transition-property: top, right, bottom, left, opacity;
		transition-duration: 0.2s;
		position: absolute;
		content: "";
		margin: auto;
		box-sizing: border-box;
		vertical-align: middle;
		width: 14px;
		height: 14px;
		border-color: #333333;
		border-style: solid;
		border-top: 7px solid transparent !important;
		border-right-width: 0;
		border-bottom: 7px solid transparent !important;
		border-left-width: 14px;
		top: 0;
		bottom: 0;
		right: -23px;
	}
	.p-school-step > *:not(:last-child)::after {
		transform: scaleY(2);
	}
}
@media screen and (max-width: 1024px) {
	.p-school-step > *:not(:last-child) {
		position: relative;
	}
	.p-school-step > *:not(:last-child)::after {
		transition-property: top, right, bottom, left, opacity;
		transition-duration: 0.2s;
		position: absolute;
		content: "";
		margin: auto;
		box-sizing: border-box;
		vertical-align: middle;
		width: 9px;
		height: 9px;
		border-color: #333333;
		border-style: solid;
		border-top-width: 9px;
		border-right: 4.5px solid transparent !important;
		border-bottom-width: 0;
		border-left: 4.5px solid transparent !important;
		bottom: -14px;
		left: 0;
		right: 0;
	}
	.p-school-step > *:not(:last-child)::after {
		transform: scaleX(2);
	}
}
.p-school-step > * > *:not(:last-child) {
	margin-bottom: 1rem;
}
@media screen and (max-width: 767px) {
	.p-school-step > * > *:not(:last-child) {
		margin-bottom: 0.9rem;
	}
}
.p-school-step > * {
	overflow: hidden;
	position: relative;
	z-index: 1;
}
.p-school-step > *::before {
	overflow: hidden;
	z-index: -1;
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	top: -0.18em;
	right: -0.04em;
	width: fit-content;
	height: 100%;
	font-family: "Unna", serif;
	line-height: 1;
	font-weight: 300;
	color: #d7dbde;
	white-space: nowrap;
	font-size: 100px;
}
@media screen and (max-width: 1270px) {
	.p-school-step > *::before {
		font-size: 7.874015748vw;
	}
}
@media screen and (max-width: 767px) {
	.p-school-step > *::before {
		font-size: 90px;
	}
}
.p-school-step > *:nth-child(1)::before {
	content: "01";
}
.p-school-step > *:nth-child(2)::before {
	content: "02";
}
.p-school-step > *:nth-child(3)::before {
	content: "03";
}
.p-school-step > *:nth-child(4)::before {
	content: "04";
}
.p-school-step > *:nth-child(5)::before {
	content: "05";
}
.p-school-step > *:nth-child(6)::before {
	content: "06";
}
.p-school-step > *:nth-child(7)::before {
	content: "07";
}
.p-school-step > *:nth-child(8)::before {
	content: "08";
}
.p-school-step > *:nth-child(9)::before {
	content: "09";
}
.p-school-step > *:nth-child(10)::before {
	content: "10";
}
.p-school-step h3 {
	width: fit-content;
	margin-inline: auto;
	background-color: #000;
	color: #fff;
	font-weight: bold;
	border-radius: 100vw;
	padding: 0.15em 1em;
}
@media screen and (max-width: 767px) {
	.p-school-step h3 {
		font-size: 15px;
	}
}
.p-school-step p {
	line-height: 1.8;
	font-size: 15px;
}
@media screen and (max-width: 767px) {
	.p-school-step p {
		font-size: 13.5px;
	}
}
.p-school-step p strong {
	display: block;
	text-align: center;
	font-weight: 500;
	margin-bottom: 20px;
	font-size: 20px;
}
@media screen and (max-width: 767px) {
	.p-school-step p strong {
		margin-bottom: 14px;
		font-size: 18px;
	}
}

/******************************************************************
project - school-features
******************************************************************/
.p-school-features {
	--column: 3;
	--gap: 38px;
}
@media screen and (max-width: 1024px) {
	.p-school-features {
		--column: 1;
		--gap: 20px;
	}
}
.p-school-features {
	display: flex;
	flex-wrap: wrap;
	gap: 30px var(--gap);
}
@media screen and (max-width: 1024px) {
	.p-school-features {
		gap: var(--gap);
	}
}
.p-school-features {
	justify-content: center;
	margin-inline: calc(var(--gap) / -2);
}
.p-school-features > * {
	box-sizing: border-box;
	width: calc(100% / var(--column) - var(--gap));
	background-color: #fff;
	text-align: center;
	padding: 16px 20px 25px 20px;
}
@media screen and (max-width: 767px) {
	.p-school-features > * {
		padding: 12px 20px 20px 20px;
	}
}
.p-school-features > * > *:not(:last-child) {
	margin-bottom: 15px;
}
.p-school-features p {
	line-height: 1.8;
	font-weight: bold;
}

/******************************************************************
project - course-list
******************************************************************/
@media print, screen and (min-width: 768px) {
	.p-course-list {
		column-gap: 30px;
		column-count: 2;
	}
}
.p-course-list li {
	break-inside: avoid;
}
.p-course-list li:not(:last-child) {
	margin-bottom: 0.75em;
}
@media screen and (max-width: 767px) {
	.p-course-list li:not(:last-child) {
		margin-bottom: 0.5em;
	}
}
.p-course-list li {
	display: flex;
	font-size: 15px;
}
@media screen and (max-width: 767px) {
	.p-course-list li {
		font-size: 14px;
	}
}
.p-course-list li {
	padding-left: 28px;
	background: top calc((1lh - 1em) / 2) left/20px auto no-repeat;
	background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABDCAYAAAALU4KYAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAARtJREFUeNrs3LEJAjEUBuA7dQFH0MrOztrG3kl0FnEbO1dwARcQJ1DiCVaKHjHFJcf3Qxo5iHy8B3mnpJ7MFqGSvzNAABAgQIAfqVtW6vO57rGL3UMFamGAvQQMLSv1+Vz32MbuoQK1MECAAAUgQIAABSBAgAClKMD3N75zgHF47zm9Pj8CTMvyx+8cACOrdAQwLfcX5AZgWvY5tnWJx5g6J8iSz4FPxCnAtJy7rsa+TCI1QKMcwJITABaIV+U+JuUMV3IFXnLBK60Cx8265valRtq134DBMea/rEvA67oCw5cRLDhIxyHemnVo+asuwB8ZNmtllDMLC0CAAAEKQIAAAQpAgC6dcOmEaGGALp1w6YRoYYAAe5uHAAMAWrd3UK01Tg8AAAAASUVORK5CYII=");
}
@media screen and (max-width: 767px) {
	.p-course-list li {
		padding-left: 22px;
		background-size: 16px;
	}
}
.p-course-list li.p-course-list__test {
	background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAYAAACOEfKtAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAo9JREFUeNrs3D1Lw0AYB/C7WhxEEaG0g6i4iYsg6CLt4CZ+AHGSil/AueALdPYLOFQ6ubmIm0vtJDq6qxWHVkUQB8Faj75Aialtkrvknrv/A8+QiiH5NZfcy5Py2bnlBrMzuIydxBgCgAAEIAARAAQgAAGIACAAAQhABAABaAXgNGvNqUWRJ5QBO3CVCI87K2tCNArAikYtaIkaYEGzW9ANNcAsM3Bdw+an8A9FQF1W8Z51OIi4z/+zdSkUHWkAAhCACAACEIAARAAwypGIDnNxCZE1ilcg1+TLfxH5Sg2wrFkLSlAD5AwRCHBFs+N/w3yg/0iKnMB8IPqBAET0jwXZTdiGaPS59dVxBfq/x3+LzAEw2AMyD8C/zwOvvYt6DG9qNmO4c0/zih4DHhsR+YVujD+8cZGfUfQDdxQWT4ZZiPQexVCOh3CVfIgcVYwnYzjKdW3CYwTwjCiw9Iq3KBGPm1Bg6QUvLfJW9r79FpnrMhoYFG9dZEnCcdWc+/YD+NA+wRkFcEUFeJsizyXhJWXOxtwTaLa7Io9U4ZnWkXbiHajGMwmQu2zvM3lrL0YP5Zx4Q0xe9T43fSzsPMEz1prsDO0dlLhBeJciV8N+gSdmCN61JLya17F+3AC8O5HzEvZbFZliIS2s64L3KHIqKjxqTTijaFjpG48a4JWC+clAeJQfIseSEFPMktKOgsuSQikgolW/obrt8lk6ACK3ubjoKQBiVfaaDgXAPcf2pM8rsSrjnufWD6RU97zR4/MOYsaB2FCJR7EJn/7zt15XojI8EysT0i5LAimGCtVm5JiGv+ZBCTA/4BXIwzwvE5rwVlddTRlF5u6x5tg+7EIrMoLviYQdF+3mqdu7euxXgAEAEDhXpppEKacAAAAASUVORK5CYII=");
	background-size: 21px;
}
@media screen and (max-width: 767px) {
	.p-course-list li.p-course-list__test {
		background-size: 17px;
	}
}
.p-course-list li.p-course-list__pdf {
	background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEQAAABQCAYAAACgVNM/AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABMlJREFUeNrsXGtozlEYf8aYyzBDjLFMRA25bZIpuayQ+xIhzQfb3ErmFvKBlaKFxdzNZTIScvvgHh8mjMgiJvdrigkbmd/pPavj6fzfd++23vf1P+fUr2fnOed/Ob/3Oc95zuW/sM7dEyvJRam0pCisNtfXI5ssIZYQP1IY9yG17YOBTvE9kirr0qdYC7GEWEL8SuFubyD3Mb58irUQS4glxPqQ2vgUayG2y1hCQteHoP/OhEgDugFvgHz04S2h5FPCA/TQFhDngYGKOgboh7IUkDLGtC6zm5GhptEgJd0YQtDYOIhJPqpNM8mHcDIeAKuAfUALqesP4iLRdb5RgNdQuQ8JRJdpz/J30IgTkCWKrjHQ1xQfwle0qn7RX0wfYwohr1i+q8Oz65lCyCWWH4B+2wXyNdN/NYIQ+Iv7EC8UVX1gL9CJVX1rUhxyheWTWVzyHXhsEiGFPsqLajLk/reEoLFnIO56qfLQxNlurpeysyYSchTQdYt3sCDzCEGjxbC6WFO0kwxeIDqgiVxvmkxIjBK6V6UMkwlJ1uhGIXLNMJWQ8Q76DSAlwihCxHoHRIpDcRPgpGkWMhhopOQ/AeVKPgWkzTKJkN4svwCYzHR7QUq8KYRMZfn7iE1OC8mHYZDS0NWEoIFDNBbyuWqUoX9Xz1oB19xuIdP5ZA7W8UZGsK80o08SSCwkN666y9EllalzWFh/FvUW4s9NijoVugMom+FwX+Gg20lEKlZXgmt+hPI2xFwgSsn/xgvv0sx1NqORHfDnEtWyoGsOKTayvgATyLOw1E2u0rfWPO8TrrkKeRz3LAjFLsOj0I1eJoBL5ejzW1GPBZ6RZxnyIDAPGOlABkm92As6BGJyQ8pC8EJZEHGKqgKNXqapJ36YeLnOKiZ/f1iVCAm/rRP3voln7g+VLrOa5RcqJIgNrBHy1xZznI41fMZH8qzYN5MWH8XatQIIPiFocLbi7EQqxC+VB714wYlAL6BBHTxKLDrNIc9CdkvpwLcq5ZFB7zJotPiVljN1FPQ3IAf5casncr1EONDuDnU6A0eAYqAp0IaVV4SCDzmo0Y30cc0H8mxq3QGeA49gUfckwcKS1gFZDteKYG64Q9muoBKCl0+AGE3V39UTBFwELoOAcofRR0SyS3DvU3LUqu7xiWJcmx00QvDCIjwvqEY3OA7swMs+Jf/WZa9DXMdz1kLOFxEtEAtEy7b8lNOA95LkjKAMu3jBYXJEGeKl2ktgDRq1h2q/YC2OUmTKZ0dIQkTkWiaWFFBeFvBIVcYO6RI9yfvu/0rgMF60gup+Nb+8LveFw2tIxmxpEZ18VBVmvV36AHLdsUwQ0VGO8dU5NXgLROQSufScKshIhDitGeed0hQilx7cBRl9IIp0M0sZLkcz/QVYRym5+Gj3FY1OzA9mac6KiTSTyKVHu2EdYkreXOMs82S43JaVZcI63rr5rPsUzf7sGRlgxbEyMaJsI3L31xD8MNxQMfxryDgGMtKJ3P95yHqWj9XUOQUyUokM+F4GDT1HnlODTikHdcYRGfQBERqcJkeU23JO8lhO4hJQtojIwA+I0PB8iHwi+4kZ2W/uLCE2WUIsIZYQS4glxBJiCQl+6O7r/4JZC7GEWEJsUtJfAQYAFGdWmG19xt0AAAAASUVORK5CYII=");
	background-size: 18px;
	background-position: top calc((1lh - 1em) / 3) left;
}
@media screen and (max-width: 767px) {
	.p-course-list li.p-course-list__pdf {
		background-size: 15px;
	}
}
.p-course-list__time {
	min-width: 3.2em;
	margin-right: 0.5em;
	text-align: right;
}
.p-course-list__label:first-child {
	margin-left: 0.4em;
}

/******************************************************************
project - course-plan
******************************************************************/
.p-course-plan {
	flex-grow: 1;
	display: flex;
	flex-direction: column;
	border: 1px solid #b3bcc3;
	padding: 38px;
	font-size: 15px;
}
@media screen and (max-width: 1270px) {
	.p-course-plan {
		padding: 2.9921259843vw;
	}
}
@media screen and (max-width: 767px) {
	.p-course-plan {
		padding: 18px;
		font-size: 14px;
	}
}
.p-course-plan > *:not(:last-child) {
	margin-bottom: 36px;
}
@media screen and (max-width: 767px) {
	.p-course-plan > *:not(:last-child) {
		margin-bottom: 24px;
	}
}
.p-course-plan__head {
	background-color: #e8ecf0;
	text-align: center;
	font-weight: bold;
	font-size: 22px;
	margin: -38px -38px 38px -38px;
	padding: 32px;
}
@media screen and (max-width: 1270px) {
	.p-course-plan__head {
		margin: -2.9921259843vw -2.9921259843vw 2.9921259843vw -2.9921259843vw;
		padding: 2.5196850394vw;
	}
}
@media screen and (max-width: 767px) {
	.p-course-plan__head {
		font-size: 18px;
		margin: -18px -18px 18px -18px;
		padding: 16px;
	}
}
.p-course-plan dl > *:not(:last-child) {
	margin-bottom: 36px;
}
@media screen and (max-width: 767px) {
	.p-course-plan dl > *:not(:last-child) {
		margin-bottom: 24px;
	}
}
.p-course-plan dt {
	font-weight: 500;
	border-bottom: 1px solid #73777d;
	padding-bottom: 0.5em;
	font-size: 17px;
}
@media screen and (max-width: 767px) {
	.p-course-plan dt {
		font-size: 13px;
	}
}
.p-course-plan dd {
	line-height: 1.8;
	margin-top: 14px;
}
@media screen and (max-width: 767px) {
	.p-course-plan dd {
		margin-top: 10px;
	}
}
.p-course-plan__price {
	line-height: 1.4 !important;
	font-weight: bold;
	font-size: 20px;
}
.p-course-plan__price strong {
	display: inline-block;
	font-size: 32px;
	margin-block: calc((1em - 1lh) / 2);
}
@media screen and (max-width: 767px) {
	.p-course-plan__price {
		font-size: 14px;
	}
	.p-course-plan__price strong {
		font-size: 26px;
	}
}
.p-course-plan__note {
	display: inline-block;
	font-weight: normal;
	color: #d70000;
	font-size: 15px;
}
@media screen and (max-width: 767px) {
	.p-course-plan__note {
		font-size: 14px;
	}
}
.p-course-plan__strong {
	line-height: 1.4 !important;
	margin-block: calc((1em - 1lh) / 2);
	font-weight: bold;
	font-size: 22px;
}
@media screen and (max-width: 767px) {
	.p-course-plan__strong {
		font-size: 16.5px;
	}
}
.p-course-plan__button {
	flex-grow: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-end;
	text-align: center;
}
.p-course-plan__button > *:not(:last-child) {
	margin-bottom: 6px;
}
.p-course-plan__button-note {
	display: block;
	text-align: center;
	color: #d70000;
}

/******************************************************************
project - contact-list
******************************************************************/
.p-contact-list {
	flex-grow: 1;
	background-color: #fff;
	padding: 30px;
}
@media screen and (max-width: 1270px) {
	.p-contact-list {
		padding: 2.3622047244vw;
	}
}
@media screen and (max-width: 767px) {
	.p-contact-list {
		padding: 20px;
	}
}
.p-contact-list h3 {
	font-weight: bold;
	text-align: center;
	margin-bottom: 1em;
	font-size: 22px;
}
@media screen and (max-width: 767px) {
	.p-contact-list h3 {
		margin-bottom: 0.5em;
		font-size: 18px;
	}
}
.p-contact-list ul > *:not(:last-child) {
	margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
	.p-contact-list ul > *:not(:last-child) {
		margin-bottom: 12px;
	}
}
.p-contact-list ul li {
	text-align: center;
}
.p-contact-list .c-button small {
	display: block;
}
/******************************************************************
project - bookstore-index
******************************************************************/
.p-bookstore-index {
	flex-grow: 1;
	background-color: #fff;
	padding: 30px;
}
@media screen and (max-width: 1270px) {
	.p-bookstore-index {
		padding: 2.3622047244vw;
	}
}
@media screen and (max-width: 767px) {
	.p-bookstore-index {
		padding: 20px;
	}
}
.p-bookstore-index > *:not(:last-child) {
	margin-bottom: 1.5rem;
}
@media screen and (max-width: 767px) {
	.p-bookstore-index > *:not(:last-child) {
		margin-bottom: 0.9rem;
	}
}

/******************************************************************
project - bookstore-list
******************************************************************/
.p-bookstore-list > *:not(:last-child) {
	margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
	.p-bookstore-list > *:not(:last-child) {
		margin-bottom: 20px;
	}
}
.p-bookstore-list > li {
	background-color: #fff;
	padding: 30px;
}
@media screen and (max-width: 1270px) {
	.p-bookstore-list > li {
		padding: 2.3622047244vw;
	}
}
@media screen and (max-width: 767px) {
	.p-bookstore-list > li {
		padding: 20px;
	}
}
.p-bookstore-list > li {
	display: flex;
	align-items: center;
	gap: 30px;
}
@media screen and (max-width: 1270px) {
	.p-bookstore-list > li {
		gap: 2.3622047244vw;
	}
}
@media screen and (max-width: 767px) {
	.p-bookstore-list > li {
		align-items: start;
		flex-direction: column;
		gap: 20px;
	}
}
.p-bookstore-list__title {
	font-size: 17px;
}
@media screen and (max-width: 767px) {
	.p-bookstore-list__title {
		font-size: 16px;
	}
}
.p-bookstore-list__body {
	flex-grow: 1;
}
.p-bookstore-list__body > *:not(:last-child) {
	margin-bottom: 1rem;
}
@media screen and (max-width: 767px) {
	.p-bookstore-list__body > *:not(:last-child) {
		margin-bottom: 0.9rem;
	}
}
.p-bookstore-list__address {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5em 1.25em;
}
.p-bookstore-list__nav {
	font-size: 15px;
	min-width: min(13.54em, 100%);
	display: flex;
	flex-direction: column;
	gap: 1em;
}

/******************************************************************
project - corporate-heading
******************************************************************/
body:has(.p-corporate-heading) {
	background-color: #f4f3f1;
}

.p-corporate-heading__body {
	background: #f4f3f1 url(/assets/img/company-bg1.png) left bottom -1px no-repeat;
}
@media screen and (max-width: 1270px) {
	.p-corporate-heading__body {
		background-size: 70vw;
	}
}
@media screen and (max-width: 1024px) {
	.p-corporate-heading__body {
		background-size: 100%;
		background-position: top center;
		padding-top: 50vw;
	}
}
.p-corporate-heading__body-inner {
	box-sizing: border-box;
	width: 63%;
	margin-left: auto;
	background: #d8d6ce url(/assets/img/top-company-bg2.png);
	padding: 70px 0 80px 70px;
	padding-right: calc((100vw - 1200px) / 2);
}
@media screen and (max-width: 1270px) {
	.p-corporate-heading__body-inner {
		padding: 5.5118110236vw 0 6.2992125984vw 5.5118110236vw;
		padding-right: 35px;
	}
}
@media screen and (max-width: 1024px) {
	.p-corporate-heading__body-inner {
		width: 100%;
		padding: 35px;
	}
}
@media screen and (max-width: 767px) {
	.p-corporate-heading__body-inner {
		padding: 30px 22.5px;
	}
}
.p-corporate-heading__body-inner > *:not(:last-child) {
	margin-bottom: 35px;
}
@media screen and (max-width: 1270px) {
	.p-corporate-heading__body-inner > *:not(:last-child) {
		margin-bottom: 2.7559055118vw;
	}
}
@media screen and (max-width: 1024px) {
	.p-corporate-heading__body-inner > *:not(:last-child) {
		margin-bottom: 15px;
	}
}
.p-corporate-heading__body-inner {
	position: relative;
	z-index: 1;
}
@media print, screen and (min-width: 768px) {
	.p-corporate-heading__body-inner {
		overflow: hidden;
	}
}
.p-corporate-heading__body-inner::after {
	overflow: hidden;
	z-index: -1;
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	top: -0.25em;
	right: -0.05em;
	width: 100vw;
	height: 300px;
	text-align: right;
	font-family: "Unna", serif;
	line-height: 1;
	font-weight: 400;
	color: #f4f3f1;
	content: "About us";
	letter-spacing: -0.02em;
	white-space: nowrap;
	font-size: 195px;
}
@media screen and (max-width: 1270px) {
	.p-corporate-heading__body-inner::after {
		font-size: 15.3543307087vw;
	}
}
@media screen and (max-width: 767px) {
	.p-corporate-heading__body-inner::after {
		top: -0.8em;
		left: 50%;
		transform: translateX(-50%);
		width: 200vw;
		text-align: center;
		font-size: 24vw;
		color: #e8e4de;
	}
}
@media print {
	.p-corporate-heading__body-inner::after {
		display: none;
	}
}
.p-corporate-heading__body-lead {
	line-height: 2;
	letter-spacing: 0.15em;
	font-family: "BIZ UDMincho", serif;
	font-weight: 400;
	font-size: 34px;
}
@media screen and (max-width: 1270px) {
	.p-corporate-heading__body-lead {
		font-size: 2.6771653543vw;
	}
}
@media screen and (max-width: 767px) {
	.p-corporate-heading__body-lead {
		line-height: 1.8;
		letter-spacing: 0.1em;
		font-size: 22px;
	}
}
.p-corporate-heading__body-lead * {
	font-weight: 400;
}
.p-corporate-heading__body-text {
	line-height: 2;
}
@media screen and (max-width: 767px) {
	.p-corporate-heading__body-button {
		text-align: center;
	}
}
.p-corporate-heading__foot {
	background-color: #40392e;
	color: #fff;
}
.p-corporate-heading__foot-inner {
	max-width: 1200px;
	margin-inline: auto;
	display: flex;
	flex-direction: row-reverse;
	align-items: center;
	gap: 45px;
	padding-left: 35px;
}
@media screen and (max-width: 1270px) {
	.p-corporate-heading__foot-inner {
		gap: 3.5433070866vw;
		padding-left: 2.7559055118vw;
	}
}
@media screen and (max-width: 1024px) {
	.p-corporate-heading__foot-inner {
		display: block;
		padding: 30px 22.5px;
	}
}
.p-corporate-heading__foot-body > *:not(:last-child) {
	margin-bottom: 16px;
}
@media screen and (max-width: 767px) {
	.p-corporate-heading__foot-body > *:not(:last-child) {
		margin-bottom: 14px;
	}
}
.p-corporate-heading__foot-title {
	font-weight: 500;
	font-size: 24px;
}
@media screen and (max-width: 767px) {
	.p-corporate-heading__foot-title {
		font-size: 20px;
	}
}
.p-corporate-heading__foot-title small {
	padding-right: 1em;
	font-size: 16px;
}
@media screen and (max-width: 767px) {
	.p-corporate-heading__foot-title small {
		font-size: 14px;
		display: block;
	}
}
.p-corporate-heading__foot-title span {
	display: inline-block;
}
@media screen and (max-width: 767px) {
	.p-corporate-heading__foot-title span {
		font-size: 15px;
	}
}
.p-corporate-heading__foot-text {
	line-height: 1.8;
}
@media screen and (max-width: 1024px) {
	.p-corporate-heading__foot-text {
		font-size: 15px;
	}
}
@media screen and (max-width: 767px) {
	.p-corporate-heading__foot-text {
		font-size: 13px;
	}
}
.p-corporate-heading__foot-img {
	flex-shrink: 0;
}
@media screen and (max-width: 1024px) {
	.p-corporate-heading__foot-img {
		float: right;
		padding-left: 15px;
		padding-bottom: 5px;
	}
	.p-corporate-heading__foot-img img {
		width: 100px;
	}
}

/******************************************************************
project - preview-comment
******************************************************************/
.p-preview-comment {
	background-color: #ffe867;
}
.p-preview-comment > div {
	max-width: 1200px;
	margin-inline: auto;
	padding-inline: 35px;
}
@media screen and (max-width: 767px) {
	.p-preview-comment > div {
		padding-inline: 15px;
	}
}
.p-preview-comment > div {
	padding-block: 2rem;
}

/******************************************************************
project - pagination-list
******************************************************************/
.p-pagination-list__body.js-init {
	display: none;
}
.p-pagination-list__body > * {
	animation: p-pagination-list-ani 0.4s ease-in-out both;
}

@keyframes p-pagination-list-ani {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
/******************************************************************
project - filter-year-tab
******************************************************************/
.p-filter-year-tab .c-tab__panel > * {
	animation: p-filter-year-tab-ani 0.4s ease-in-out both;
}
.p-filter-year-tab__pagination {
	margin-top: 3rem;
}
.p-filter-year-tab__original {
	display: none;
}

@keyframes p-filter-year-tab-ani {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
/******************************************************************
project - filter-multi-json
******************************************************************/
.p-filter-multi-json__body.js-init {
	display: none;
}
.p-filter-multi-json .count {
	color: #999;
	margin-left: 0.25em;
}
.p-filter-multi-json .count:empty {
	display: none;
}
.p-filter-multi-json__count-wrapper:has(.p-filter-multi-json__count:empty) {
	display: none;
}
.p-filter-multi-json__count-wrapper .p-filter-multi-json__count {
	font-size: 30px;
	font-weight: bold;
}
.p-filter-multi-json__search.js-init {
	display: none;
}
.p-filter-multi-json__note {
	outline: 0;
}
.p-filter-multi-json__note:empty {
	display: none;
}
.p-filter-multi-json__result:empty {
	display: none;
}
.p-filter-multi-json__result > * {
	animation: p-filter-multi-json-ani 0.4s ease-in-out both;
}
.p-filter-multi-json__error.js-init {
	display: none;
}

@keyframes p-filter-multi-json-ani {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
/******************************************************************
utility - mediaquery
******************************************************************/
.u-portrait-media {
	display: none;
}

@media screen and (max-width: 1024px) {
	.u-landscape-media {
		display: none;
	}
	.u-portrait-media {
		display: block;
	}
	img.u-portrait-media {
		display: inline-block;
	}
	br.u-portrait-media {
		display: inline-block;
	}
	table.u-portrait-media {
		display: table;
	}
}
.u-sp-media {
	display: none;
}

@media screen and (max-width: 767px) {
	.u-pc-media {
		display: none;
	}
	.u-sp-media {
		display: block;
	}
	img.u-sp-media {
		display: inline-block;
	}
	br.u-sp-media {
		display: inline-block;
	}
	table.u-sp-media {
		display: table;
	}
}
/******************************************************************
utility - u-gutter
******************************************************************/
.u-gutter > *:not(:last-child) {
	margin-bottom: 1rem;
}

.u-gutter-2s > *:not(:last-child) {
	margin-bottom: 0.5rem;
}

.u-gutter-s > *:not(:last-child) {
	margin-bottom: 0.75rem;
}

.u-gutter-l > *:not(:last-child) {
	margin-bottom: 1.25rem;
}

.u-gutter-2l > *:not(:last-child) {
	margin-bottom: 1.5rem;
}

.u-gutter-2x > *:not(:last-child) {
	margin-bottom: 2rem;
}

@media screen and (max-width: 767px) {
	.u-gutter > *:not(:last-child) {
		margin-bottom: 0.9rem;
	}
	.u-gutter-2s > *:not(:last-child) {
		margin-bottom: 0.45rem;
	}
	.u-gutter-s > *:not(:last-child) {
		margin-bottom: 0.675rem;
	}
	.u-gutter-l > *:not(:last-child) {
		margin-bottom: 1.125rem;
	}
	.u-gutter-2l > *:not(:last-child) {
		margin-bottom: 1.35rem;
	}
	.u-gutter-2x > *:not(:last-child) {
		margin-bottom: 1.8rem;
	}
	.u-sp-gutter > *:not(:last-child) {
		margin-bottom: 0.9rem;
	}
	.u-sp-gutter-2s > *:not(:last-child) {
		margin-bottom: 0.45rem;
	}
	.u-sp-gutter-s > *:not(:last-child) {
		margin-bottom: 0.675rem;
	}
	.u-sp-gutter-l > *:not(:last-child) {
		margin-bottom: 1.125rem;
	}
	.u-sp-gutter-2l > *:not(:last-child) {
		margin-bottom: 1.35rem;
	}
	.u-sp-gutter-2x > *:not(:last-child) {
		margin-bottom: 1.8rem;
	}
}
/******************************************************************
utility - component-gutter
******************************************************************/
.c-section__frame-bg > .u-component-gutter:not(:first-child), .c-section__frame-bg-m > .u-component-gutter:not(:first-child), .c-section__frame-bg-l > .u-component-gutter:not(:first-child), .c-section > * > .u-component-gutter:not(:first-child) {
	margin-top: 60px !important;
}
@media screen and (max-width: 767px) {
	.c-section__frame-bg > .u-component-gutter:not(:first-child), .c-section__frame-bg-m > .u-component-gutter:not(:first-child), .c-section__frame-bg-l > .u-component-gutter:not(:first-child), .c-section > * > .u-component-gutter:not(:first-child) {
		margin-top: 40px !important;
	}
}
.c-section__frame-bg > .u-component-gutter:not(:last-child), .c-section__frame-bg-m > .u-component-gutter:not(:last-child), .c-section__frame-bg-l > .u-component-gutter:not(:last-child), .c-section > * > .u-component-gutter:not(:last-child) {
	margin-bottom: 60px !important;
}
@media screen and (max-width: 767px) {
	.c-section__frame-bg > .u-component-gutter:not(:last-child), .c-section__frame-bg-m > .u-component-gutter:not(:last-child), .c-section__frame-bg-l > .u-component-gutter:not(:last-child), .c-section > * > .u-component-gutter:not(:last-child) {
		margin-bottom: 40px !important;
	}
}

.c-section__frame-bg > .u-component-gutter-top:not(:first-child), .c-section__frame-bg-m > .u-component-gutter-top:not(:first-child), .c-section__frame-bg-l > .u-component-gutter-top:not(:first-child), .c-section > * > .u-component-gutter-top:not(:first-child) {
	margin-top: 60px !important;
}
@media screen and (max-width: 767px) {
	.c-section__frame-bg > .u-component-gutter-top:not(:first-child), .c-section__frame-bg-m > .u-component-gutter-top:not(:first-child), .c-section__frame-bg-l > .u-component-gutter-top:not(:first-child), .c-section > * > .u-component-gutter-top:not(:first-child) {
		margin-top: 40px !important;
	}
}

.c-section__frame-bg > .u-component-gutter-bottom:not(:last-child), .c-section__frame-bg-m > .u-component-gutter-bottom:not(:last-child), .c-section__frame-bg-l > .u-component-gutter-bottom:not(:last-child), .c-section > * > .u-component-gutter-bottom:not(:last-child) {
	margin-bottom: 60px !important;
}
@media screen and (max-width: 767px) {
	.c-section__frame-bg > .u-component-gutter-bottom:not(:last-child), .c-section__frame-bg-m > .u-component-gutter-bottom:not(:last-child), .c-section__frame-bg-l > .u-component-gutter-bottom:not(:last-child), .c-section > * > .u-component-gutter-bottom:not(:last-child) {
		margin-bottom: 40px !important;
	}
}

/******************************************************************
utility - margin
******************************************************************/
.u-margin-s {
	margin-block: 0 !important;
	height: 15px;
}
@media screen and (max-width: 767px) {
	.u-margin-s {
		height: 10px;
	}
}
.u-margin-m {
	margin-block: 0 !important;
	height: 30px;
}
@media screen and (max-width: 767px) {
	.u-margin-m {
		height: 20px;
	}
}
.u-margin-l {
	margin-block: 0 !important;
	height: 45px;
}
@media screen and (max-width: 767px) {
	.u-margin-l {
		height: 30px;
	}
}

/******************************************************************
utility - display
******************************************************************/
.u-block {
	display: block;
}

.u-none {
	display: none;
}

.u-inline {
	display: inline;
}

.u-inline-block {
	display: inline-block;
}

@media screen and (max-width: 767px) {
	.u-sp-block {
		display: block;
	}
	.u-sp-none {
		display: none;
	}
	.u-sp-inline {
		display: inline;
	}
	.u-sp-inline-block {
		display: inline-block;
	}
}
/******************************************************************
utility - display-off
******************************************************************/
.u-display-off {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	border: 0;
	overflow: hidden;
	padding: 0;
	clip: rect(0, 0, 0, 0);
}

/******************************************************************
utility - fit-content
******************************************************************/
.u-content-center {
	width: fit-content;
	margin-inline: auto;
}

.u-content-right {
	width: fit-content;
	margin-inline: auto 0;
}

.u-content-left {
	width: fit-content;
	margin-inline: initial;
}

/******************************************************************
utility - text-align
******************************************************************/
.u-center {
	text-align: center !important;
}

.u-right {
	text-align: right !important;
}

.u-left {
	text-align: left !important;
}

@media screen and (max-width: 767px) {
	.u-sp-center {
		text-align: center !important;
	}
	.u-sp-right {
		text-align: right !important;
	}
	.u-sp-left {
		text-align: left !important;
	}
}
/******************************************************************
utility - hover-scale-img
******************************************************************/
.u-hover-scale-img__body {
	display: block;
	overflow: hidden;
}
.u-hover-scale-img__body img {
	width: 100%;
	transform: scale(1);
	will-change: transform;
	transition-property: transform;
	transition-duration: 0.4s;
}
@media (any-hover: hover) {
	.u-hover-scale-img:hover .u-hover-scale-img__body img {
		transform: scale(1.1);
	}
}
.u-hover-scale-img:focus .u-hover-scale-img__body img {
	transform: scale(1.1);
}
.u-hover-scale-img--brightness .u-hover-scale-img__body img {
	transition-property: transform, filter;
}
@media (any-hover: hover) {
	.u-hover-scale-img--brightness:hover .u-hover-scale-img__body img {
		filter: brightness(1.25);
	}
}
.u-hover-scale-img--brightness:focus .u-hover-scale-img__body img {
	filter: brightness(1.25);
}

/******************************************************************
utility - hover-expand-img
******************************************************************/
.u-hover-expand-img-s img, .u-hover-expand-img-2s img {
	display: inline-block;
	transition-property: transform;
	transition-duration: 0.3s;
	transition-timing-function: cubic-bezier(0.3, 1.8, 0.6, 1);
	will-change: transform;
}

@media (any-hover: hover) {
	.u-hover-expand-img-2s:hover img {
		transform: scale(1.01);
	}
}
.u-hover-expand-img-2s:focus img {
	transform: scale(1.01);
}

@media (any-hover: hover) {
	.u-hover-expand-img-s:hover img {
		transform: scale(1.02);
	}
}
.u-hover-expand-img-s:focus img {
	transform: scale(1.02);
}

/******************************************************************
utility - hover-description
******************************************************************/
.u-hover-description {
	position: relative;
	display: inline-block;
	overflow: hidden;
}
.u-hover-description__body {
	position: absolute;
	background-color: rgba(33, 40, 54, 0.7);
	-webkit-backdrop-filter: blur(3px);
	backdrop-filter: blur(3px);
	bottom: 0;
	height: 40px;
	width: 100%;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-weight: 500;
	text-decoration: none;
	transition-property: opacity, transform;
	transition-duration: 0.4s;
	transform: translateY(10px);
	opacity: 0;
}
.u-hover-description:has(.u-img-products) .u-hover-description__body {
	left: 1px;
	bottom: 1px;
	width: calc(100% - 2px);
}
@media (any-hover: hover) {
	.u-hover-description:hover::after {
		opacity: 1;
	}
	.u-hover-description:hover .u-hover-description__body {
		transform: translateY(0);
		opacity: 1;
	}
}

/******************************************************************
utility - img-products
******************************************************************/
.u-img-products {
	box-sizing: border-box;
	border: 1px solid #dfdfdf;
}

/******************************************************************
utility - icon-arrow
******************************************************************/
.u-icon-arrow-invert, .u-icon-arrow {
	margin-left: 0.5em;
	padding-left: 7.0710678119px;
	position: relative;
}
.u-icon-arrow-invert::after, .u-icon-arrow::after {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	width: 9px;
	height: 9px;
	transition-property: top, right, bottom, left, opacity;
	transition-duration: 0.2s;
}
.u-icon-arrow-invert::after, .u-icon-arrow::after {
	top: 0;
	bottom: 0;
	left: 0;
	transform-origin: center center;
	border-top: 1px solid #333333;
	border-left: 1px solid #333333;
	transform: translateX(-3.7928932188px) rotate(135deg);
}
.u-icon-arrow-invert::after, .u-icon-arrow::after {
	transition-property: all;
	transition-duration: 0.4s;
}

.c-text a:has(.u-icon-arrow) {
	margin-right: 0.4em;
}

.u-icon-arrow-invert::after {
	filter: brightness(0) invert(1);
}

/******************************************************************
utility - icon-arrow-bottom
******************************************************************/
.u-icon-arrow-bottom-invert, .u-icon-arrow-bottom {
	margin-left: 0.4em;
	padding-left: calc(7.0710678119px * 2);
	position: relative;
}
.u-icon-arrow-bottom-invert::after, .u-icon-arrow-bottom::after {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	width: 9px;
	height: 9px;
	transition-property: top, right, bottom, left, opacity;
	transition-duration: 0.2s;
}
.u-icon-arrow-bottom-invert::after, .u-icon-arrow-bottom::after {
	top: 0;
	bottom: 0;
	left: 0;
	transform-origin: center center;
	border-top: 1px solid #333333;
	border-left: 1px solid #333333;
	transform: translateX(1.8639610307px) translateY(-1.8639610307px) rotate(-135deg);
}
.u-icon-arrow-bottom-invert::after, .u-icon-arrow-bottom::after {
	transition-property: all;
	transition-duration: 0.4s;
}

.u-icon-arrow-bottom-invert::after {
	filter: brightness(0) invert(1);
}

/******************************************************************
utility - icon-blank
******************************************************************/
.u-icon-blank-invert, .u-icon-blank {
	position: relative;
	margin-left: 0.5em;
	padding-left: 11px;
}
.u-icon-blank-invert::after, .u-icon-blank::after {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	top: 0;
	bottom: 0;
	left: 0;
	width: 13px;
	height: 10px;
	background: url(/assets/img/icn-blank.png) center center/100% auto no-repeat;
}

.c-text a:has(.u-icon-blank) {
	margin-right: 0.4em;
}

.u-icon-blank-invert::after {
	filter: brightness(0) invert(1);
}

/******************************************************************
utility - icon-pdf
******************************************************************/
.u-icon-pdf-invert, .u-icon-pdf {
	position: relative;
	margin-left: 0.5em;
	padding-left: 11px;
}
.u-icon-pdf-invert::after, .u-icon-pdf::after {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	vertical-align: middle;
	top: 0;
	bottom: 0;
	left: 0;
	width: 11px;
	height: 13px;
	background: url(/assets/img/icn-pdf.png) center center/100% auto no-repeat;
}

.c-text a:has(.u-icon-pdf) {
	margin-right: 0.4em;
}

.u-icon-pdf-invert::after {
	filter: brightness(0) invert(1);
}

/******************************************************************
utility - clearfix
******************************************************************/
.u-clearfix::after {
	content: "";
	display: block;
	clear: both;
}

@media screen and (max-width: 767px) {
	.u-sp-clearfix::after {
		content: "";
		display: block;
		clear: both;
	}
}
/******************************************************************
utility - bg
******************************************************************/
.u-bg-gray {
	background-color: #eff2f5;
}

.u-bg-white {
	background-color: #fff;
}