@import url(https://fonts.googleapis.com/css2?family=Inter:opsz,wght@14..32,100..900&family=Noto+Sans+JP:wght@100..900&display=swap);

/*!
 * A modern CSS reset
 * MIT License
 * https://github.com/andy-piccalilli/modern-css-reset
 */
*,
*::before,
*::after {
	box-sizing: border-box;
}

body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
	margin: 0;
}

ul[role='list'],
ol[role='list'] {
	list-style: none;
}

html:focus-within {
	scroll-behavior: smooth;
}

body {
	min-height: 100vh;
	text-rendering: optimizespeed;
	line-height: 1.5;
}

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

img,
picture {
	max-width: 100%;
	display: block;
}

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

@font-face {
	font-family: 'Local Noto Sans JP';
	src: local('Noto Sans JP');
}

:root {
	--text-color: #000;
	--text-hover-color: #004ea2;
	--background-color: #f8f8f8;
	--button-box-border-color: #4f92d9;
	--button-box-border-hover-color: #9fc9f7;
	--button-box-text-color: #fff;
	--button-box-text-hover-color: #fff;
	--button-box-background-color: #004ea2;
	--button-box-background-hover-color: #2974c4;
	--element-anchor-color: #004ea2;
	--element-icon-link-color: #000;
	--element-icon-link-hover-color: #004ea2;
	--element-button-white-text-color: #004ea2;
	--element-button-white-text-hover-color: #fff;
	--element-button-white-bakcground-color: #fff;
	--element-button-white-bakcground-hover-color: #004ea2;
	--element-button-blue-text-color: #fff;
	--element-button-blue-text-hover-color: #fff;
	--element-button-blue-bakcground-color: #004ea2;
	--element-button-blue-bakcground-hover-color: #003d7f;
	--element-heading-border-color: #004ea2;
	--element-quote-border-color: #004ea2;
	--element-table-border-color: #e4e4e4;
	--element-table-th-color: #fff;
	--element-table-td-color: #000;
	--element-table-th-background-color: #004ea2;
	--element-table-td-background-color: #fff;
	--element-table-stripe-background-color: #f0f0f0;
	--element-ul-marker-color: #004ea2;
	--element-dl-dt-border-color: #e4e4e4;
	--element-dl-dt-color: #fff;
	--element-dl-dt-background-color: #004ea2;
	--element-dl-dd-border-color: #e4e4e4;
	--element-dl-dd-background-color: #fff;
	--element-separator-border-color: #d4d4d4;
	--element-separator-border-blue-color: #004ea2;
	--kochi-faqs-border-color: #d4d4d4;
	--element-youtube-color: #f00;
	--element-youtube-button-color: #f00;
}

[data-theme='blue-theme'] {
	--text-color: #fff;
	--background-color: #004ea2;
	--button-box-text-color: #fff;
	--button-box-text-hover-color: #004ea2;
	--button-box-background-hover-color: #e1efff;
	--element-anchor-color: #fff;
	--element-icon-link-color: #fff;
	--element-icon-link-hover-color: #fff;
	--element-button-white-text-color: #004ea2;
	--element-button-white-text-hover-color: #004ea2;
	--element-button-white-bakcground-color: #e1efff;
	--element-button-white-bakcground-hover-color: #e1efff;
	--element-button-blue-text-color: #004ea2;
	--element-button-blue-text-hover-color: #004ea2;
	--element-button-blue-bakcground-color: #e1efff;
	--element-button-blue-bakcground-hover-color: #e1efff;
	--element-heading-border-color: #00a5e3;
	--element-quote-border-color: #fff;
	--element-table-border-color: #4f92d9;
	--element-table-th-color: #004ea2;
	--element-table-td-color: #fff;
	--element-table-th-background-color: #e1efff;
	--element-table-td-background-color: #004ea2;
	--element-table-stripe-background-color: #2974c4;
	--element-ul-marker-color: #fff;
	--element-dl-dt-border-color: #e4e4e4;
	--element-dl-dt-color: #004ea2;
	--element-dl-dt-background-color: #e1efff;
	--element-dl-dd-border-color: #4f92d9;
	--element-dl-dd-background-color: transparent;
	--element-separator-border-color: #94c7f0;
	--element-separator-border-blue-color: #e1efff;
	--kochi-faqs-border-color: #4f92d9;
	--element-youtube-color: #fff;
	--element-youtube-button-color: #004ea2;
}

[data-theme='black-theme'] {
	--text-color: #fff;
	--background-color: #404040;
	--button-box-border-color: #d4d4d4;
	--button-box-border-hover-color: #d4d4d4;
	--button-box-text-color: #fff;
	--button-box-text-hover-color: #000;
	--button-box-background-color: #404040;
	--button-box-background-hover-color: #f8f8f8;
	--element-anchor-color: #fff;
	--element-icon-link-color: #fff;
	--element-icon-link-hover-color: #fff;
	--element-button-white-text-color: #004ea2;
	--element-button-white-text-hover-color: #004ea2;
	--element-button-white-bakcground-color: #f8f8f8;
	--element-button-white-bakcground-hover-color: #f8f8f8;
	--element-button-blue-text-color: #004ea2;
	--element-button-blue-text-hover-color: #004ea2;
	--element-button-blue-bakcground-color: #f8f8f8;
	--element-button-blue-bakcground-hover-color: #f8f8f8;
	--element-heading-border-color: #00a5e3;
	--element-quote-border-color: #fff;
	--element-table-border-color: #d4d4d4;
	--element-table-th-color: #000;
	--element-table-td-color: #fff;
	--element-table-th-background-color: #f8f8f8;
	--element-table-td-background-color: #404040;
	--element-table-stripe-background-color: #a3a3a3;
	--element-ul-marker-color: #fff;
	--element-dl-dt-border-color: #d4d4d4;
	--element-dl-dt-color: #004ea2;
	--element-dl-dt-background-color: #f8f8f8;
	--element-dl-dd-border-color: #d4d4d4;
	--element-dl-dd-background-color: transparent;
	--element-separator-border-color: #d4d4d4;
	--element-separator-border-blue-color: #f8f8f8;
	--element-youtube-color: #fff;
	--element-youtube-button-color: #004ea2;
}

:root {
	--font-size-title-pc: 3rem;
	--font-size-title-sp: 2.25rem;
	--font-size-h1-pc: 2.5rem;
	--font-size-h1-sp: 2rem;
	--font-size-h2-pc: 2rem;
	--font-size-h2-sp: 1.5rem;
	--font-size-h3-pc: 1.5rem;
	--font-size-h3-sp: 1.25rem;
	--font-size-h4-pc: 1.25rem;
	--font-size-h4-sp: 1rem;
	--font-size-h5-pc: 1rem;
	--font-size-h5-sp: 0.875rem;
	--font-size-h6-pc: 1rem;
	--font-size-h6-sp: 0.875rem;
	--font-size-p-pc: 1rem;
	--font-size-p-sp: 0.875rem;
	--font-size-p-pc-m: 1.5rem;
	--font-size-p-sp-m: 1.25rem;
	--font-size-p-pc-l: 2rem;
	--font-size-p-sp-l: 1.5rem;
	--font-size-small: 0.875rem;
}

[data-font-size='larger-font-size'] {
	--font-size-title-pc: 3.75rem;
	--font-size-title-sp: 2.8125rem;
	--font-size-h1-pc: 3.125rem;
	--font-size-h1-sp: 2.5rem;
	--font-size-h2-pc: 2.5rem;
	--font-size-h2-sp: 1.875rem;
	--font-size-h3-pc: 1.875rem;
	--font-size-h3-sp: 1.5625rem;
	--font-size-h4-pc: 1.5625rem;
	--font-size-h4-sp: 1.25rem;
	--font-size-h5-pc: 1.25rem;
	--font-size-h5-sp: 1.09375rem;
	--font-size-h6-pc: 1.09375rem;
	--font-size-h6-sp: 1.09375rem;
	--font-size-p-pc: 1.25rem;
	--font-size-p-sp: 1.09375rem;
	--font-size-p-pc-m: 1.875rem;
	--font-size-p-sp-m: 1.5625rem;
	--font-size-p-pc-l: 2.5rem;
	--font-size-p-sp-l: 1.875rem;
	--font-size-small: 1.09375rem;
}

html {
	min-height: 100dvh;
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	text-size-adjust: 100%;
	scroll-behavior: smooth;
}

html:focus-within {
	scroll-behavior: auto;
}

html[lang='ja'] body {
	font-family: 'Local Noto Sans JP', 'Noto Sans JP', sans-serif;
}

html[lang='en'] body {
	font-family: Inter, sans-serif;
	font-optical-sizing: auto;
}

html:has(body.is-scroll-lock) {
	overflow: hidden;
	scrollbar-gutter: stable;
}

body {
	display: flex;
	flex-direction: column;
	width: 100%;
	line-height: 1.6;
	color: var(--text-color);
	background-color: var(--background-color);
	font-weight: 400;
	font-size: 16px;
	letter-spacing: 0.01em;
	overflow-x: clip;
	overflow-wrap: anywhere;
	line-break: strict;
	transition:
		color 300ms ease,
		background-color 300ms ease;
	container-type: inline-size;
}

a:link,
a:visited {
	color: #000;
	text-decoration: none;
	transition: all 300ms ease;
}

a:hover,
a:active {
	text-decoration: underline;
}

img {
	height: auto;
}

iframe,
video,
object {
	margin-block: 0;
	margin-inline: auto;
	display: block;
}

.is-font-en {
	font-family: Inter, sans-serif;
	font-optical-sizing: auto;
}

.l-common-header {
	--header-link-color: #000;
	--header-link-hover-color: #004ea2;
	--nav-toggle: #004ea2;
	--nav-toggle-hover: #004691;
	--nav-toggle-background: #004ea2;
	--switcher-border-color: #4f92d9;
	--switcher-text-color: #fff;
	--switcher-text-hover-color: #fff;
	--switcher-background-color: #004ea2;
	--switcher-background-hover-color: #2974c4;
}

[data-theme='blue-theme'] .l-common-header {
	--header-link-color: #fff;
	--header-link-hover-color: rgba(255, 255, 255, 0.8);
	--nav-toggle: #003d7f;
	--nav-toggle-hover: #00346c;
	--nav-toggle-background: #004ea2;
	--switcher-text-hover-color: #004ea2;
	--switcher-background-color: #004ea2;
	--switcher-background-hover-color: #e1efff;
}

[data-theme='black-theme'] .l-common-header {
	--header-link-color: #fff;
	--header-link-hover-color: rgba(255, 255, 255, 0.8);
	--nav-toggle: #1a1a1a;
	--nav-toggle-hover: #0f0f0f;
	--nav-toggle-background: #404040;
	--switcher-border-color: #fff;
	--switcher-text-color: #fff;
	--switcher-text-hover-color: #000;
	--switcher-background-color: #404040;
	--switcher-background-hover-color: #fff;
}

.l-common-header {
	position: sticky;
	top: 0;
	right: 0;
	left: 0;
	z-index: 2;
	overflow: visible;
	opacity: 1;
	container-type: inline-size;
	transition:
		translate 300ms ease,
		opacity 300ms ease;
}

.l-common-header.is-nav-hide {
	translate: 0 -100%;
	opacity: 0;
	pointer-events: none;
}

.l-common-header.is-mono .c-header-logo svg path {
	fill: #fff;
}

.l-common-header.is-mono .c-header-nav::after {
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0) 100%);
}

.l-common-header.is-mono .c-header-nav .c-header-nav-primary > ul > li > a {
	color: #fff;
}

.l-common-header.is-mono .c-header-nav .c-header-nav-primary > ul > li > a:hover,
.l-common-header.is-mono .c-header-nav .c-header-nav-primary > ul > li > a:active,
.l-common-header.is-mono .c-header-nav .c-header-nav-primary > ul > li > a:focus-visible {
	color: #fff;
	opacity: 0.8;
}

.l-common-header.is-mono .c-header-nav .c-header-nav-search > a {
	color: #fff;
}

.l-common-header.is-mono .c-header-nav .c-header-nav-search > a::before {
	background-color: #fff;
}

.l-common-header.is-mono .c-header-nav .c-header-nav-search > a:hover,
.l-common-header.is-mono .c-header-nav .c-header-nav-search > a:active,
.l-common-header.is-mono .c-header-nav .c-header-nav-search > a:focus-visible {
	color: #fff;
	opacity: 0.8;
}

.l-common-header.is-mono .c-header-nav .c-header-nav-search > a:hover::before,
.l-common-header.is-mono .c-header-nav .c-header-nav-search > a:active::before,
.l-common-header.is-mono .c-header-nav .c-header-nav-search > a:focus-visible::before {
	background-color: #fff;
}

.l-common-header.is-mono .c-header-nav .c-header-nav-toggle {
	background-color: transparent;
	transition: opacity 300ms ease;
}

.l-common-header.is-mono .c-header-nav .c-header-nav-toggle:hover,
.l-common-header.is-mono .c-header-nav .c-header-nav-toggle:active,
.l-common-header.is-mono .c-header-nav .c-header-nav-toggle:focus-visible {
	background-color: transparent;
	opacity: 0.8;
}

.l-common-header.is-mono .c-header-nav .c-header-nav-toggle.is-nav-open {
	background-color: var(--nav-toggle);
}

.l-common-header.is-mono .c-header-nav .c-header-nav-toggle.is-nav-open::before {
	-webkit-mask-image: url(../images/icon/hamburger-close.svg);
	mask-image: url(../images/icon/hamburger-close.svg);
}

.l-common-header.is-mono .c-header-nav .c-header-nav-toggle.is-nav-open:hover,
.l-common-header.is-mono .c-header-nav .c-header-nav-toggle.is-nav-open:active,
.l-common-header.is-mono .c-header-nav .c-header-nav-toggle.is-nav-open:focus-visible {
	background-color: var(--nav-toggle-hover);
	opacity: 1;
}

.l-common-header.is-mono .c-header-nav .c-header-nav-toggle.is-nav-open + .c-header-toggle-nav-area {
	z-index: 3;
	opacity: 1;
	scale: 1;
	transition: opacity 300ms ease;
}

.l-common-header.is-mono .c-header-nav-sub > ul > li > a {
	color: #fff;
}

.l-common-header.is-mono .c-header-nav-sub > ul > li > a::before {
	background-color: #fff;
}

.l-common-header.is-mono .c-header-nav-sub > ul > li > a:hover,
.l-common-header.is-mono .c-header-nav-sub > ul > li > a:active,
.l-common-header.is-mono .c-header-nav-sub > ul > li > a:focus-visible {
	color: #fff;
	opacity: 0.8;
}

.l-common-header.is-mono .c-header-nav-sub > ul > li > a:hover::before,
.l-common-header.is-mono .c-header-nav-sub > ul > li > a:active::before,
.l-common-header.is-mono .c-header-nav-sub > ul > li > a:focus-visible::before {
	background-color: #fff;
}

.l-common-header.is-mono .c-header-nav-sub > ul > li.donation a {
	border: 1px solid #fff;
	border-radius: 8px;
}

.l-common-header.is-mono .c-header-nav-sub > ul > li.donation a:hover,
.l-common-header.is-mono .c-header-nav-sub > ul > li.donation a:active,
.l-common-header.is-mono .c-header-nav-sub > ul > li.donation a:focus-visible {
	background-color: rgba(255, 255, 255, 0.2);
	opacity: 1;
}

.l-common-header.is-mono + .l-common-contents .c-scroll-top {
	position: absolute;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}

.l-common-header .l-common-header-inner {
	display: grid;
	position: relative;
	z-index: 2;
}

.l-common-header .c-header-logo {
	align-self: center;
	position: relative;
	z-index: 2;
}

.l-common-header .c-header-logo a,
.l-common-header .c-header-logo svg {
	display: block;
}

.l-common-header .c-header-logo a:hover,
.l-common-header .c-header-logo a:active,
.l-common-header .c-header-logo a:focus-visible {
	opacity: 0.8;
}

[data-theme='blue-theme'] .l-common-header .c-header-logo svg path,
[data-theme='black-theme'] .l-common-header .c-header-logo svg path {
	fill: #fff;
	transition: fill 300ms ease;
}

.l-common-header .c-header-nav {
	grid-column: 2/-1;
	justify-self: end;
	display: grid;
	align-items: center;
}

.l-common-header .c-header-nav > * {
	position: relative;
	z-index: 2;
}

.l-common-header .c-header-nav::before,
.l-common-header .c-header-nav::after {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 1;
	margin-inline: calc(50% - 50cqi);
}

.l-common-header .c-header-nav::before {
	height: 100dvh;
	background-color: #000;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 300ms ease;
}

.l-common-header .c-header-nav::after {
	background-color: var(--background-color);
}

.l-common-header .c-header-nav:has(.is-nav-open)::before {
	opacity: 0.25;
	visibility: visible;
	pointer-events: auto;
}

.l-common-header .c-header-nav .c-header-nav-primary {
	display: none;
}

.l-common-header .c-header-nav .c-header-nav-primary > ul {
	margin-block: 0;
	padding-inline-start: 0;
	display: flex;
	gap: 12px;
	height: 100%;
}

.l-common-header .c-header-nav .c-header-nav-primary > ul > li {
	display: block;
	height: 100%;
	line-height: 1.625;
	font-weight: 700;
	font-size: var(--font-size-p-pc);
}

.l-common-header .c-header-nav .c-header-nav-primary > ul > li > a {
	padding-inline: 16px;
	display: grid;
	place-items: center;
	height: 100%;
	color: var(--header-link-color);
	text-decoration: none;
}

.l-common-header .c-header-nav .c-header-nav-primary > ul > li > a:hover,
.l-common-header .c-header-nav .c-header-nav-primary > ul > li > a:active,
.l-common-header .c-header-nav .c-header-nav-primary > ul > li > a:focus-visible {
	color: var(--header-link-hover-color);
}

.l-common-header .c-header-nav .c-header-nav-search {
	height: 100%;
}

.l-common-header .c-header-nav .c-header-nav-search > a {
	text-decoration: none;
}

.l-common-header .c-header-nav .c-header-nav-search > a::before {
	content: '';
	background-color: var(--header-link-color);
	-webkit-mask-image: url(../images/icon/search.svg);
	mask-image: url(../images/icon/search.svg);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	transition: background-color 300ms ease;
}

.l-common-header .c-header-nav .c-header-nav-search > a:hover,
.l-common-header .c-header-nav .c-header-nav-search > a:active,
.l-common-header .c-header-nav .c-header-nav-search > a:focus-visible {
	color: var(--header-link-hover-color);
}

.l-common-header .c-header-nav .c-header-nav-search > a:hover::before,
.l-common-header .c-header-nav .c-header-nav-search > a:active::before,
.l-common-header .c-header-nav .c-header-nav-search > a:focus-visible::before {
	background-color: currentcolor;
}

.l-common-header .c-header-nav .c-header-nav-toggle {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	padding: 0;
	border: 0;
	border-radius: 0;
	background-color: var(--nav-toggle);
	text-decoration: none;
	transition: background-color 300ms ease;
	cursor: pointer;
}

.l-common-header .c-header-nav .c-header-nav-toggle::before {
	content: '';
	background-color: #fff;
	-webkit-mask-image: url(../images/icon/hamburger.svg);
	mask-image: url(../images/icon/hamburger.svg);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	transition: background-color 300ms ease;
}

.l-common-header .c-header-nav .c-header-nav-toggle:hover,
.l-common-header .c-header-nav .c-header-nav-toggle:active,
.l-common-header .c-header-nav .c-header-nav-toggle:focus-visible {
	background-color: var(--nav-toggle-hover);
}

.l-common-header .c-header-nav .c-header-nav-toggle.is-nav-open {
	background-color: var(--nav-toggle);
}

.l-common-header .c-header-nav .c-header-nav-toggle.is-nav-open::before {
	-webkit-mask-image: url(../images/icon/hamburger-close.svg);
	mask-image: url(../images/icon/hamburger-close.svg);
}

.l-common-header .c-header-nav .c-header-nav-toggle.is-nav-open + .c-header-toggle-nav-area {
	z-index: 3;
	opacity: 1;
	scale: 1;
	transition: opacity 300ms ease;
}

.l-common-header .c-header-nav .c-header-toggle-nav-area {
	grid-column: 1/-1;
	grid-row: 1/2;
	position: absolute;
	top: 100%;
	right: 0;
	left: 0;
	z-index: 1;
	display: grid;
	opacity: 0;
	scale: 0;
	transition:
		opacity 300ms ease,
		scale 300ms 300ms ease;
}

.l-common-header .c-header-nav .c-header-toggle-nav-area ul {
	margin-block: 0;
	padding-inline-start: 0;
}

.l-common-header .c-header-nav .c-header-toggle-nav-area ul > li {
	display: block;
}

.l-common-header .c-header-nav .c-header-toggle-nav-area .c-header-toggle-nav-area-inner {
	margin-inline: auto;
	display: grid;
	align-items: start;
	width: 100%;
	overflow-y: auto;
	position: relative;
	z-index: 2;
}

.l-common-header .c-header-nav .c-header-toggle-nav-area .c-header-toggle-nav-area-inner::before {
	content: '';
	position: fixed;
	inset: 0;
	z-index: 1;
	margin-inline: calc(50% - 50cqi);
	background-color: var(--nav-toggle-background);
}

.l-common-header .c-header-nav .c-header-toggle-nav-area .c-header-toggle-nav-area-inner .c-header-toggle-nav-area-primary {
	display: grid;
	position: relative;
	z-index: 2;
}

.l-common-header .c-header-nav .c-header-toggle-nav-area .c-header-toggle-nav-area-inner .c-header-toggle-nav-area-primary .c-header-toggle-nav-primary > ul {
	display: grid;
}

.l-common-header .c-header-nav .c-header-toggle-nav-area .c-header-toggle-nav-area-inner .c-header-toggle-nav-area-primary .c-header-toggle-nav-secondary > ul {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
}

.l-common-header .c-header-nav .c-header-toggle-nav-area .c-header-toggle-nav-area-inner .c-header-toggle-nav-area-primary .c-header-toggle-nav-tertiary > ul {
	display: grid;
}

.l-common-header .c-header-nav .c-header-toggle-nav-area .c-header-toggle-nav-area-inner .c-header-toggle-nav-area-primary .c-header-toggle-nav-tertiary > ul > li:hover,
.l-common-header .c-header-nav .c-header-toggle-nav-area .c-header-toggle-nav-area-inner .c-header-toggle-nav-area-primary .c-header-toggle-nav-tertiary > ul > li:active,
.l-common-header .c-header-nav .c-header-toggle-nav-area .c-header-toggle-nav-area-inner .c-header-toggle-nav-area-primary .c-header-toggle-nav-tertiary > ul > li:has(:focus-visible) {
	z-index: 2;
}

.l-common-header .c-header-nav .c-header-toggle-nav-area .c-header-toggle-nav-area-inner .c-header-toggle-nav-area-primary .c-header-toggle-nav-misc > ul {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

.l-common-header .c-header-nav .c-header-toggle-nav-area .c-header-toggle-nav-area-inner .c-header-toggle-nav-area-primary .c-header-toggle-nav-misc > ul > li {
	line-height: 1.5714285714;
	font-size: var(--font-size-small);
}

.l-common-header .c-header-nav .c-header-toggle-nav-area .c-header-toggle-nav-area-inner .c-header-toggle-nav-area-primary .c-header-toggle-nav-misc > ul > li > a {
	color: #fff;
	text-decoration: none;
}

.l-common-header .c-header-nav .c-header-toggle-nav-area .c-header-toggle-nav-area-inner .c-header-toggle-nav-area-primary .c-header-toggle-nav-misc > ul > li > a:hover,
.l-common-header .c-header-nav .c-header-toggle-nav-area .c-header-toggle-nav-area-inner .c-header-toggle-nav-area-primary .c-header-toggle-nav-misc > ul > li > a:active,
.l-common-header .c-header-nav .c-header-toggle-nav-area .c-header-toggle-nav-area-inner .c-header-toggle-nav-area-primary .c-header-toggle-nav-misc > ul > li > a:focus-visible {
	opacity: 0.8;
}

.l-common-header .c-header-nav .c-header-toggle-nav-area .c-header-toggle-nav-area-inner .c-header-toggle-nav-area-secondary {
	position: relative;
	z-index: 2;
}

.l-common-header .c-header-nav .c-header-toggle-nav-area .c-header-toggle-nav-area-inner .c-header-toggle-nav-area-secondary .c-header-toggle-nav-post-type-anchor > ul {
	display: grid;
}

.l-common-header .c-header-nav .c-header-toggle-nav-area .c-header-toggle-nav-area-inner .c-header-toggle-nav-area-secondary .c-header-toggle-nav-post-type-anchor > ul > li {
	position: relative;
	z-index: 1;
}

.l-common-header .c-header-nav .c-header-toggle-nav-area .c-header-toggle-nav-area-inner .c-header-toggle-nav-area-secondary .c-header-toggle-nav-post-type-anchor > ul > li:nth-child(even) {
	margin-inline-start: -1px;
}

.l-common-header .c-header-nav .c-header-toggle-nav-area .c-header-toggle-nav-area-inner .c-header-toggle-nav-area-secondary .c-header-toggle-nav-post-type-anchor > ul > li:hover {
	z-index: 2;
}

.l-common-header .c-header-nav .c-header-toggle-nav-area .c-header-toggle-nav-area-inner .c-header-toggle-nav-area-secondary .c-header-toggle-nav-switcher {
	padding-block: 4px;
	display: flex;
	align-items: center;
	gap: 8px;
}

.l-common-header .c-header-nav .c-header-toggle-nav-area .c-header-toggle-nav-area-inner .c-header-toggle-nav-area-secondary .c-header-toggle-nav-switcher dt,
.l-common-header .c-header-nav .c-header-toggle-nav-area .c-header-toggle-nav-area-inner .c-header-toggle-nav-area-secondary .c-header-toggle-nav-switcher dd {
	line-height: 1.5714285714;
	color: #fff;
	font-feature-settings: 'pwid' on;
	font-weight: 700;
	font-size: var(--font-size-small);
}

.l-common-header .c-header-nav .c-header-toggle-nav-area .c-header-toggle-nav-area-inner .c-header-toggle-nav-area-secondary .c-header-toggle-nav-switcher ul {
	display: flex;
	align-items: center;
}

.l-common-header .c-header-nav .c-header-toggle-nav-area .c-header-toggle-nav-area-inner .c-header-toggle-nav-area-secondary .c-header-toggle-nav-switcher ul > li {
	position: relative;
	z-index: 1;
}

.l-common-header .c-header-nav .c-header-toggle-nav-area .c-header-toggle-nav-area-inner .c-header-toggle-nav-area-secondary .c-header-toggle-nav-switcher ul > li > a,
.l-common-header .c-header-nav .c-header-toggle-nav-area .c-header-toggle-nav-area-inner .c-header-toggle-nav-area-secondary .c-header-toggle-nav-switcher ul > li > label {
	padding: 4px 12px;
	border: 1px solid var(--switcher-border-color);
	display: block;
	line-height: 1.5714285714;
	color: var(--switcher-text-color);
	background-color: var(--switcher-background-color);
	font-weight: 700;
	font-size: var(--font-size-small);
	text-decoration: none;
}

.l-common-header .c-header-nav .c-header-toggle-nav-area .c-header-toggle-nav-area-inner .c-header-toggle-nav-area-secondary .c-header-toggle-nav-switcher ul > li > a:hover,
.l-common-header .c-header-nav .c-header-toggle-nav-area .c-header-toggle-nav-area-inner .c-header-toggle-nav-area-secondary .c-header-toggle-nav-switcher ul > li > a:active,
.l-common-header .c-header-nav .c-header-toggle-nav-area .c-header-toggle-nav-area-inner .c-header-toggle-nav-area-secondary .c-header-toggle-nav-switcher ul > li > a:focus-visible,
.l-common-header .c-header-nav .c-header-toggle-nav-area .c-header-toggle-nav-area-inner .c-header-toggle-nav-area-secondary .c-header-toggle-nav-switcher ul > li > label:hover,
.l-common-header .c-header-nav .c-header-toggle-nav-area .c-header-toggle-nav-area-inner .c-header-toggle-nav-area-secondary .c-header-toggle-nav-switcher ul > li > label:active,
.l-common-header .c-header-nav .c-header-toggle-nav-area .c-header-toggle-nav-area-inner .c-header-toggle-nav-area-secondary .c-header-toggle-nav-switcher ul > li > label:focus-visible {
	color: var(--switcher-text-hover-color);
	background-color: var(--switcher-background-hover-color);
}

.l-common-header .c-header-nav .c-header-toggle-nav-area .c-header-toggle-nav-area-inner .c-header-toggle-nav-area-secondary .c-header-toggle-nav-switcher ul > li:has(:focus-visible) {
	z-index: 2;
}

.l-common-header .c-header-nav .c-header-toggle-nav-area .c-header-toggle-nav-area-inner .c-header-toggle-nav-area-secondary .c-header-toggle-nav-switcher ul > li > label {
	position: relative;
	cursor: pointer;
}

.l-common-header .c-header-nav .c-header-toggle-nav-area .c-header-toggle-nav-area-inner .c-header-toggle-nav-area-secondary .c-header-toggle-nav-switcher ul > li > label:has(input:checked) {
	color: var(--switcher-text-hover-color);
	background-color: var(--switcher-background-hover-color);
	cursor: default;
}

.l-common-header .c-header-nav .c-header-toggle-nav-area .c-header-toggle-nav-area-inner .c-header-toggle-nav-area-secondary .c-header-toggle-nav-switcher ul > li > label input {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	margin: 0;
	position: absolute;
	inset: 0;
	z-index: 1;
}

.l-common-header .c-header-nav .c-header-toggle-nav-area .c-header-toggle-nav-area-inner .c-header-toggle-nav-area-secondary .c-header-toggle-nav-switcher ul > li > label span {
	position: relative;
	z-index: 2;
}

.l-common-header .c-header-nav .c-header-toggle-nav-area .c-header-toggle-nav-area-inner .c-header-toggle-nav-area-secondary .c-header-toggle-nav-switcher ul > li + li {
	margin-inline-start: -1px;
}

html[lang='ja'] .l-common-header .c-header-nav .c-header-toggle-nav-area .c-header-toggle-nav-area-inner .c-header-toggle-nav-area-secondary .c-header-toggle-nav-switcher .c-header-language > ul > li.weglot-ja > a {
	color: var(--switcher-text-hover-color);
	background-color: var(--switcher-background-hover-color);
}

html[lang='en'] .l-common-header .c-header-nav .c-header-toggle-nav-area .c-header-toggle-nav-area-inner .c-header-toggle-nav-area-secondary .c-header-toggle-nav-switcher .c-header-language > ul > li.weglot-en > a {
	color: var(--switcher-text-hover-color);
	background-color: var(--switcher-background-hover-color);
}

.l-common-header .c-header-nav-sub > ul {
	margin-block: 0;
	padding-inline-start: 0;
	display: flex;
	align-items: center;
	justify-content: flex-end;
}

.l-common-header .c-header-nav-sub > ul > li {
	display: block;
	line-height: 1.5714285714;
	font-size: var(--font-size-small);
}

.l-common-header .c-header-nav-sub > ul > li > a {
	padding-block: 12px;
	padding-inline: 16px;
	display: grid;
	grid-template-columns: 18px auto;
	gap: 4px;
	align-items: center;
	color: var(--header-link-color);
	font-weight: 700;
	text-decoration: none;
}

.l-common-header .c-header-nav-sub > ul > li > a::before {
	content: '';
	width: 18px;
	height: 18px;
	background-color: currentcolor;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: 100% 100%;
	mask-size: 100% 100%;
	transition: background-color 300ms ease;
}

.l-common-header .c-header-nav-sub > ul > li > a:hover,
.l-common-header .c-header-nav-sub > ul > li > a:active,
.l-common-header .c-header-nav-sub > ul > li > a:focus-visible {
	color: var(--header-link-hover-color);
}

.l-common-header .c-header-nav-sub > ul > li.weglot-language > a::before {
	-webkit-mask-image: url(../images/icon/languages.svg);
	mask-image: url(../images/icon/languages.svg);
}

html[lang='ja'] .l-common-header .c-header-nav-sub > ul > li.weglot-language.weglot-ja {
	display: none;
}

html[lang='en'] .l-common-header .c-header-nav-sub > ul > li.weglot-language.weglot-en {
	display: none;
}

.l-common-header .c-header-nav-sub > ul > li.access > a::before {
	-webkit-mask-image: url(../images/icon/map-pin.svg);
	mask-image: url(../images/icon/map-pin.svg);
}

.l-common-header .c-header-nav-sub > ul > li.contact > a::before {
	-webkit-mask-image: url(../images/icon/mail.svg);
	mask-image: url(../images/icon/mail.svg);
}

.l-common-header .c-header-nav-sub > ul > li.donation > a::before {
	-webkit-mask-image: url(../images/icon/donations.svg);
	mask-image: url(../images/icon/donations.svg);
}

.l-common-contents {
	flex-grow: 1;
	position: relative;
	z-index: 1;
}

.l-common-contents .post-content {
	margin-inline: auto;
	padding-inline: 24px;
	max-width: 1248px;
}

.l-common-contents .post-content > *:first-child {
	padding-block-start: 0;
}

body:not(.home) .l-common-contents .post-content > *:last-child {
	padding-block-end: 0;
}

.l-common-footer {
	--wave-color-1: #004ea2;
	--wave-color-2: #00a5e3;
	--footer-border-color: #4f92d9;
	--footer-border-hover-color: #9fc9f7;
}

[data-theme='blue-theme'] .l-common-footer {
	--wave-color-1: #003d7f;
	--footer-border-hover-color: #4f92d9;
}

[data-theme='black-theme'] .l-common-footer {
	--wave-color-1: #1a1a1a;
	--wave-color-2: #737373;
	--footer-border-color: #d4d4d4;
	--footer-border-hover-color: #d4d4d4;
}

.country-selector {
	display: none;
}

.c-scroll-top {
	position: fixed;
	right: 0;
	bottom: 0;
	z-index: 3;
	transition: opacity 300ms ease;
	box-sizing: content-box;
}

.c-scroll-top.is-hide {
	position: absolute;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}

.c-scroll-top > a {
	border-radius: 100%;
	display: block;
	overflow: hidden;
}

.c-scroll-top > a::before {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	background-image: url(../images/scroll-top.svg);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

.l-common-footer ul {
	margin-block: 0;
	padding-inline-start: 0;
}

.l-common-footer ul li {
	display: block;
}

.l-common-footer .l-common-footer-image {
	width: 100cqi;
}

.l-common-footer .l-common-footer-image img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.l-common-footer .l-common-footer-container {
	color: #fff;
	position: relative;
	z-index: 1;
}

.l-common-footer .l-common-footer-container::before,
.l-common-footer .l-common-footer-container::after {
	content: '';
	position: absolute;
	right: 0;
	top: 0;
	left: 0;
	width: 100%;
}

.l-common-footer .l-common-footer-container::before {
	background-color: var(--wave-color-1);
	-webkit-mask-image: url(../images/wave-1.svg);
	mask-image: url(../images/wave-1.svg);
	z-index: 3;
}

.l-common-footer .l-common-footer-container::after {
	background-color: var(--wave-color-2);
	-webkit-mask-image: url(../images/wave-2.svg);
	mask-image: url(../images/wave-2.svg);
	z-index: 2;
}

.l-common-footer .l-common-footer-inner {
	padding-block: 16px 32px;
	display: flex;
	flex-wrap: wrap;
	position: relative;
	z-index: 1;
}

.l-common-footer .l-common-footer-inner > * {
	position: relative;
	z-index: 1;
}

.l-common-footer .l-common-footer-inner::before {
	content: '';
	position: absolute;
	inset: -1px 0 0;
	z-index: 1;
	margin-inline: calc(50% - 50cqi);
	background-color: var(--wave-color-1);
}

.l-common-footer .c-footer-logos .c-footer-logos-logo a,
.l-common-footer .c-footer-logos .c-footer-logos-logo svg {
	display: block;
}

.l-common-footer .c-footer-logos .c-footer-logos-logo a:hover,
.l-common-footer .c-footer-logos .c-footer-logos-logo a:active,
.l-common-footer .c-footer-logos .c-footer-logos-logo a:focus-visible {
	opacity: 0.8;
}

.l-common-footer .c-footer-logos .c-footer-logos-logo svg {
	width: 100%;
	height: auto;
}

.l-common-footer .c-footer-logos .c-footer-logos-logo svg path {
	fill: #fff;
}

.l-common-footer .c-footer-sns {
	display: flex;
	align-items: center;
}

.l-common-footer .c-footer-secondary > ul {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	-moz-column-gap: 8px;
	column-gap: 8px;
}

.l-common-footer .c-footer-campuses > dl {
	display: grid;
	grid-template-columns: repeat(3, minmax(36px, 282px));
	align-items: start;
	gap: 24px;
}

.l-common-footer .c-footer-campuses > dl > .c-footer-campuses-item {
	display: grid;
	color: #fff;
}

.l-common-footer .c-footer-campuses > dl > .c-footer-campuses-item > dt {
	font-weight: 700;
}

.l-common-footer .c-footer-campuses > dl > .c-footer-campuses-item > dd {
	font-feature-settings: 'pwid' on;
	font-size: var(--font-size-small);
}

.l-common-footer .c-footer-campuses > dl > .c-footer-campuses-item > dd > .c-footer-campuses-tel {
	display: block;
}

.l-common-footer .c-footer-misc {
	width: 100%;
}

.l-common-footer .c-footer-misc > ul {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	row-gap: 4px;
}

.l-common-footer .c-footer-misc > ul > li {
	line-height: 1.5714285714;
	font-feature-settings: 'pwid' on;
	font-size: var(--font-size-small);
}

.l-common-footer .c-footer-misc > ul > li > a {
	display: block;
	color: #fff;
	text-decoration: none;
}

.l-common-footer .c-footer-misc > ul > li > a:hover,
.l-common-footer .c-footer-misc > ul > li > a:active,
.l-common-footer .c-footer-misc > ul > li > a:focus-visible {
	opacity: 0.8;
}

.l-common-footer .c-footer-copyright {
	line-height: 1.5714285714;
	font-feature-settings: 'pwid' on;
	font-size: var(--font-size-small);
}

.l-common-footer .c-footer-copyright small {
	font-size: 100%;
}

@media (prefers-reduced-motion: reduce) {

	html:focus-within {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}

@media screen and (max-width: 1024px) {

	.l-common-header .l-common-header-inner {
		grid-template-columns: 194px auto;
	}

	.l-common-header .c-header-logo {
		padding-block: 12px;
		padding-inline: 24px;
	}

	.l-common-header .c-header-logo a {
		width: 146px;
	}

	.l-common-header .c-header-nav {
		grid-template-columns: auto auto;
	}

	.l-common-header .c-header-nav .c-header-nav-search > a {
		display: block;
		width: 56px;
		height: 56px;
		overflow: hidden;
	}

	.l-common-header .c-header-nav .c-header-nav-search > a::before {
		display: block;
		width: 56px;
		height: 56px;
		-webkit-mask-size: 24px 24px;
		mask-size: 24px 24px;
		-webkit-mask-position: center;
		mask-position: center;
	}

	.l-common-header .c-header-nav .c-header-nav-toggle {
		display: block;
		width: 56px;
		height: 56px;
		overflow: hidden;
	}

	.l-common-header .c-header-nav .c-header-nav-toggle::before {
		display: block;
		width: 56px;
		height: 56px;
		-webkit-mask-size: 24px 24px;
		mask-size: 24px 24px;
		-webkit-mask-position: center;
		mask-position: center;
	}

	.l-common-header .c-header-nav .c-header-toggle-nav-area .c-header-toggle-nav-area-inner {
		padding: 24px;
		row-gap: 16px;
	}

	.l-common-header .c-header-nav .c-header-toggle-nav-area .c-header-toggle-nav-area-inner .c-header-toggle-nav-area-primary .c-header-toggle-nav-secondary > ul > li {
		line-height: 1.5714285714;
		font-size: var(--font-size-p-sp);
	}

	.l-common-header .c-header-nav .c-header-toggle-nav-area .c-header-toggle-nav-area-inner .c-header-toggle-nav-area-primary .c-header-toggle-nav-misc > ul {
		gap: 8px 16px;
	}

	.l-common-header .c-header-nav .c-header-toggle-nav-area .c-header-toggle-nav-area-inner .c-header-toggle-nav-area-secondary .c-header-toggle-nav-switcher + .c-header-toggle-nav-switcher {
		margin-block-start: 4px;
	}

	.l-common-header .c-header-nav-sub {
		display: none;
	}

	.c-scroll-top {
		padding-inline-end: 16px;
		padding-block-end: 24px;
		width: 32px;
		height: 32px;
	}

	.c-scroll-top > a {
		width: 32px;
		height: 32px;
	}

	.l-common-footer .l-common-footer-container {
		padding-block-start: 60px;
		padding-inline: 24px;
	}

	.l-common-footer .l-common-footer-container::before,
	.l-common-footer .l-common-footer-container::after {
		height: 60px;
		-webkit-mask-repeat: no-repeat;
		mask-repeat: no-repeat;
	}

	.l-common-footer .c-footer-logos .c-footer-logos-logo {
		width: 180px;
		height: 40px;
	}

	.l-common-footer .c-footer-logos .c-footer-logos-description {
		display: none;
	}

	.l-common-footer .c-footer-campuses > dl > .c-footer-campuses-item > dt {
		font-size: var(--font-size-small);
	}
}

@media screen and (min-width: 1025px) {

	.l-common-header .l-common-header-inner {
		margin-inline: auto;
		grid-template-columns: 271px auto;
		max-width: 1440px;
	}

	.l-common-header .c-header-logo {
		padding-block: 24px;
		padding-inline: 40px;
	}

	.l-common-header .c-header-logo a {
		width: 191px;
	}

	.l-common-header .c-header-nav {
		grid-template-columns: auto auto auto;
	}

	.l-common-header .c-header-nav .c-header-nav-primary {
		display: block;
		height: 100%;
	}

	.l-common-header .c-header-nav .c-header-nav-search > a {
		padding: 8px;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		min-width: 90px;
		height: 100%;
		line-height: 1.5714285714;
		color: var(--header-link-color);
		font-weight: 700;
		font-size: var(--font-size-small);
	}

	.l-common-header .c-header-nav .c-header-nav-search > a::before {
		width: 20px;
		height: 20px;
		-webkit-mask-size: 100% 100%;
		mask-size: 100% 100%;
	}

	.l-common-header .c-header-nav .c-header-nav-toggle {
		padding: 8px;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		min-width: 90px;
		height: 100%;
		line-height: 1.5714285714;
		color: #fff;
		font-weight: 700;
		font-size: var(--font-size-small);
	}

	.l-common-header .c-header-nav .c-header-nav-toggle::before {
		width: 20px;
		height: 20px;
		-webkit-mask-size: 100% 100%;
		mask-size: 100% 100%;
	}

	.l-common-header .c-header-nav .c-header-toggle-nav-area .c-header-toggle-nav-area-inner {
		padding: 64px 40px;
		grid-template-columns: 240px auto;
		-moz-column-gap: 40px;
		column-gap: 40px;
		max-width: 1440px;
	}

	.l-common-header .c-header-nav .c-header-toggle-nav-area .c-header-toggle-nav-area-inner .c-header-toggle-nav-area-primary {
		gap: 32px;
	}

	.l-common-header .c-header-nav .c-header-toggle-nav-area .c-header-toggle-nav-area-inner .c-header-toggle-nav-area-primary .c-header-toggle-nav-primary {
		display: none;
	}

	.l-common-header .c-header-nav .c-header-toggle-nav-area .c-header-toggle-nav-area-inner .c-header-toggle-nav-area-primary .c-header-toggle-nav-secondary > ul {
		-moz-column-gap: 24px;
		column-gap: 24px;
	}

	.l-common-header .c-header-nav .c-header-toggle-nav-area .c-header-toggle-nav-area-inner .c-header-toggle-nav-area-primary .c-header-toggle-nav-secondary > ul > li {
		line-height: 1.625;
		font-size: var(--font-size-p-pc);
	}

	.l-common-header .c-header-nav .c-header-toggle-nav-area .c-header-toggle-nav-area-inner .c-header-toggle-nav-area-primary .c-header-toggle-nav-tertiary > ul {
		grid-template-columns: repeat(3, 1fr);
		-moz-column-gap: 24px;
		column-gap: 24px;
	}

	.l-common-header .c-header-nav .c-header-toggle-nav-area .c-header-toggle-nav-area-inner .c-header-toggle-nav-area-secondary .c-header-toggle-nav-post-type-anchor > ul {
		row-gap: 34px;
		padding-block: 16px;
	}

	.l-common-header .c-header-nav .c-header-toggle-nav-area .c-header-toggle-nav-area-inner .c-header-toggle-nav-area-secondary .c-header-toggle-nav-switcher + .c-header-toggle-nav-switcher {
		margin-block-start: 12px;
	}

	.l-common-header .c-header-nav-sub {
		padding-inline-end: 90px;
		grid-column: 1/-1;
		position: relative;
		z-index: 2;
	}

	.l-common-contents .post-content {
		padding-block-end: 80px;
	}

	.c-scroll-top {
		padding-inline-end: 40px;
		padding-block-end: 40px;
		width: 44px;
		height: 44px;
	}

	.c-scroll-top > a {
		width: 44px;
		height: 44px;
	}

	.l-common-footer .l-common-footer-image {
		height: 320px;
	}

	.l-common-footer .l-common-footer-image + .l-common-footer-container {
		margin-block-start: -80px;
	}

	.l-common-footer .l-common-footer-container {
		padding-block-start: 120px;
		padding-inline: 120px;
	}

	.l-common-footer .l-common-footer-container::before,
	.l-common-footer .l-common-footer-container::after {
		height: 120px;
		-webkit-mask-repeat: repeat-x;
		mask-repeat: repeat-x;
		-webkit-mask-position: center bottom;
		mask-position: center bottom;
		-webkit-mask-size: 1440px 120px;
		mask-size: 1440px 120px;
	}

	.l-common-footer .l-common-footer-inner {
		margin-inline: auto;
		padding-block: 32px 48px;
		row-gap: 48px;
		justify-content: space-between;
		max-width: 1200px;
	}

	.l-common-footer .c-footer-logos {
		display: flex;
		align-items: center;
		width: 60%;
	}

	.l-common-footer .c-footer-logos .c-footer-logos-logo {
		width: 220px;
		height: 48px;
	}

	.l-common-footer .c-footer-logos .c-footer-logos-description {
		padding-inline-start: 48px;
		line-height: 1.5714285714;
		font-feature-settings: 'pwid' on;
		font-size: var(--font-size-small);
		position: relative;
	}

	.l-common-footer .c-footer-logos .c-footer-logos-description::before {
		content: '';
		position: absolute;
		top: 0;
		bottom: 0;
		left: 23.5px;
		width: 1px;
		background-color: var(--footer-border-color);
	}

	.l-common-footer .c-footer-sns {
		justify-content: flex-end;
		width: 40%;
	}

	.l-common-footer .c-footer-primary > ul {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		-moz-column-gap: 24px;
		column-gap: 24px;
	}

	.l-common-footer .c-footer-secondary {
		width: calc(50% - 12px);
	}

	.l-common-footer .c-footer-campuses > dl > .c-footer-campuses-item > dt {
		font-size: var(--font-size-p-pc);
	}
}

@media screen and (max-width: 1024px) and (min-width: 769px) {

	.l-common-header .c-header-nav .c-header-toggle-nav-area .c-header-toggle-nav-area-inner {
		padding: 24px;
		grid-template-columns: 240px auto;
		-moz-column-gap: 24px;
		column-gap: 24px;
	}

	.l-common-header .c-header-nav .c-header-toggle-nav-area .c-header-toggle-nav-area-inner .c-header-toggle-nav-area-primary {
		gap: 24px;
	}

	.l-common-header .c-header-nav .c-header-toggle-nav-area .c-header-toggle-nav-area-inner .c-header-toggle-nav-area-primary .c-header-toggle-nav-primary > ul {
		grid-template-columns: repeat(3, 1fr);
		-moz-column-gap: 16px;
		column-gap: 16px;
	}

	.l-common-header .c-header-nav .c-header-toggle-nav-area .c-header-toggle-nav-area-inner .c-header-toggle-nav-area-primary .c-header-toggle-nav-secondary > ul {
		-moz-column-gap: 16px;
		column-gap: 16px;
	}

	.l-common-header .c-header-nav .c-header-toggle-nav-area .c-header-toggle-nav-area-inner .c-header-toggle-nav-area-primary .c-header-toggle-nav-tertiary > ul {
		grid-template-columns: repeat(3, 1fr);
		-moz-column-gap: 16px;
		column-gap: 16px;
	}

	.l-common-header .c-header-nav .c-header-toggle-nav-area .c-header-toggle-nav-area-inner .c-header-toggle-nav-area-secondary .c-header-toggle-nav-post-type-anchor > ul {
		padding-block: 2px;
		row-gap: 4px;
	}

	.l-common-contents .post-content {
		padding-block-end: 64px;
	}

	.l-common-footer .l-common-footer-image {
		height: 284px;
	}

	.l-common-footer .l-common-footer-image + .l-common-footer-container {
		margin-block-start: -76px;
	}

	.l-common-footer .l-common-footer-inner {
		row-gap: 24px;
	}

	.l-common-footer .c-footer-sns {
		justify-self: flex-start;
	}

	.l-common-footer .c-footer-secondary {
		margin-inline-start: auto;
		width: calc(50% - 12px);
	}
}

@media screen and (max-width: 768px) {

	.l-common-header .c-header-nav .c-header-toggle-nav-area .c-header-toggle-nav-area-inner .c-header-toggle-nav-area-primary {
		gap: 16px;
	}

	.l-common-header .c-header-nav .c-header-toggle-nav-area .c-header-toggle-nav-area-inner .c-header-toggle-nav-area-primary .c-header-toggle-nav-secondary > ul {
		grid-template-columns: repeat(2, 1fr);
		-moz-column-gap: 8px;
		column-gap: 8px;
	}

	.l-common-header .c-header-nav .c-header-toggle-nav-area .c-header-toggle-nav-area-inner .c-header-toggle-nav-area-primary .c-header-toggle-nav-tertiary > ul {
		grid-template-columns: repeat(2, 1fr);
	}

	.l-common-header .c-header-nav .c-header-toggle-nav-area .c-header-toggle-nav-area-inner .c-header-toggle-nav-area-primary .c-header-toggle-nav-tertiary > ul > li {
		position: relative;
		z-index: 1;
	}

	.l-common-header .c-header-nav .c-header-toggle-nav-area .c-header-toggle-nav-area-inner .c-header-toggle-nav-area-primary .c-header-toggle-nav-tertiary > ul > li:nth-child(even) {
		margin-inline-start: -1px;
	}

	.l-common-header .c-header-nav .c-header-toggle-nav-area .c-header-toggle-nav-area-inner .c-header-toggle-nav-area-primary .c-header-toggle-nav-tertiary > ul > li:nth-child(n + 3) {
		margin-block-start: -1px;
	}

	.l-common-header .c-header-nav .c-header-toggle-nav-area .c-header-toggle-nav-area-inner .c-header-toggle-nav-area-secondary .c-header-toggle-nav-post-type-anchor > ul {
		padding-block: 16px;
		grid-template-columns: repeat(2, 1fr);
	}

	.l-common-contents .post-content {
		padding-block-end: 48px;
	}

	.l-common-footer .l-common-footer-image {
		height: 104px;
	}

	.l-common-footer .l-common-footer-image + .l-common-footer-container {
		margin-block-start: -60px;
	}

	.l-common-footer .l-common-footer-inner {
		display: grid;
		row-gap: 16px;
	}

	.l-common-footer .c-footer-sns > ul {
		padding-inline-start: 0;
	}

	.l-common-footer .c-footer-campuses > dl {
		grid-template-columns: none;
		gap: 16px 0;
	}

	.l-common-footer .c-footer-campuses > dl > .c-footer-campuses-item {
		row-gap: 4px;
	}

	.l-common-footer .c-footer-misc > ul {
		-moz-column-gap: 16px;
		column-gap: 16px;
	}
}

@media screen and (min-width: 769px) {

	.l-common-header .c-header-nav .c-header-toggle-nav-area .c-header-toggle-nav-area-inner .c-header-toggle-nav-area-primary {
		order: 1;
	}

	.l-common-header .c-header-nav .c-header-toggle-nav-area .c-header-toggle-nav-area-inner .c-header-toggle-nav-area-primary .c-header-toggle-nav-misc > ul {
		gap: 12px 24px;
	}

	.l-common-header .c-header-nav .c-header-toggle-nav-area .c-header-toggle-nav-area-inner .c-header-toggle-nav-area-secondary {
		order: 0;
	}

	.l-common-header .c-header-nav .c-header-toggle-nav-area .c-header-toggle-nav-area-inner .c-header-toggle-nav-area-secondary .c-header-toggle-nav-switcher {
		margin-block-start: 32px;
	}

	.l-common-footer .c-footer-sns > ul {
		padding-inline-start: 48px;
	}

	.l-common-footer .c-footer-sns > ul::before {
		content: '';
		position: absolute;
		top: 0;
		bottom: 0;
		left: 23.5px;
		width: 1px;
		background-color: var(--footer-border-color);
	}

	.l-common-footer .c-footer-primary {
		width: calc(50% - 12px);
	}

	.l-common-footer .c-footer-campuses > dl > .c-footer-campuses-item {
		row-gap: 16px;
	}

	.l-common-footer .c-footer-misc > ul {
		-moz-column-gap: 24px;
		column-gap: 24px;
	}
}
