/*!*****************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!./src/app.css ***!
  \*****************************************************************************************************************************************************************/
/* ＝＝＝＝＝ ベース ＝＝＝＝＝ */
@font-face {
	font-family: "Caveat";
	src: url(fonts/caveat-v23-latin-regular.5e8eac5a.woff2) format("woff2");
	font-weight: normal;
	font-style: normal;
	font-display: swap; /* 読み込み中のガタつき防止 */
}
:root {
	/* 1remを10pxとする */
	--px: 0.0625rem; /* 1 / 16 = 0.0625 */
	/* メディアクエリ */

	/* --mq-sp: 400px;
	--mq-tab: 768px;
	--mq-pc: 1024px;
	--mq-xl: 1201px;
	--mq-xxl: 1440px; */

	/* フォントの大きさの定義 */
	--fs-small: calc(12 / 16 * 1rem);
	--fs-small-pc: calc(14 / 16 * 1rem);
	--fs-large: calc(18 / 16 * 1rem);
	--fs-h4: calc(20 / 16 * 1rem);
	--fs-h4-pc: calc(24 / 16 * 1rem);
	--fs-h3: calc(22 / 16 * 1rem);
	--fs-h3-pc: calc(28 / 16 * 1rem);
	--fs-h2: calc(28 / 16 * 1rem);
	--fs-h2-pc: calc(36 / 16 * 1rem);
	--fs-h1: clamp(2.25rem, 1.9859rem + 1.1268vw, 3rem);

	/* 色の定義 */
	--c-white: #fff;
	--c-white-rgb: 255, 255, 255;
	--c-black: #000;
	--c-black-rgb: 0, 0, 0;
	--c-navy: #002d56;
	--c-navy-rgb: 0, 45, 86;
	--c-l-blue: #eef5ff;
	--c-skyblue: #00a1e9;
}
body {
	font-weight: 500;
}
#main_content .c-secTitle.-widget,
.post_content .c-secTitle.-widget,
#before_footer_widget .c-secTitle.-widget {
	display: none;
}
.l-container {
	margin: auto;
	/* width: min(100%, 1296px); */
}
.top {
	#content {
		width: 100%;
		margin-bottom: 0;
		padding-top: 0;
	}
}
#content {
	width: min(100%, 1296px);
}
.w-frontTop {
	margin-bottom: 0;
}
.alignfull > .wp-block-cover__inner-container > *,
.alignfull > .wp-block-group__inner-container > *,
.swell-block-fullWide__inner > * {
	margin-bottom: 0;
}
.c-widget + .c-widget {
	margin-top: 0;
}
.l-mainContent__inner > .post_content {
	margin-block: 0;
}
.post_content {
	& h2,
	& h3,
	& h4 {
		margin-top: 0;
	}
	& h2 {
		position: relative;
		margin-bottom: calc(40 * var(--px));
		font-size: var(--fs-h2);
		line-height: 160%;
		letter-spacing: 0.05em;
		padding-bottom: calc(8 * var(--px));
		padding-right: calc(12 * var(--px));
		border-bottom: 1px solid var(--c-skyblue);
		width: calc(100% - 32px);
		max-width: fit-content;
		word-break: auto-phrase;
		&::before {
			content: "";
			position: absolute;
			background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDEiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCA0MSAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTAuMzY0OTg5IDE0LjgwN0w5LjEwMzY3IDUuNDczNzZMMTguMjM5NiAxNC44MDdMMzAuMTU2IDAuODA3MDM3TDQwLjM2NSAxNC44MDciIHN0cm9rZT0iIzAwQTFFOSIvPgo8L3N2Zz4K);
			background-repeat: no-repeat;
			background-size: contain;
			aspect-ratio: 40 / 14;
			width: 32px;
			bottom: -2px;
			right: -32px;
		}
		@media (min-width: 960px) {
			font-size: var(--fs-h2-pc);
		}
		&.has-text-align-center {
			margin-inline: auto;
		}
		&.has-text-align-right {
			margin-left: auto;
		}
	}
	& h3 {
		width: fit-content;
		padding-block: calc(4 * var(--px));
		padding-inline: calc(16 * var(--px));
		border: 1px solid var(--c-navy);
		background-color: var(--c-white);
		color: var(--c-navy);
		font-size: var(--fs-h3);
		line-height: 160%;
		letter-spacing: 0.05em;
		@media (min-width: 960px) {
			font-size: var(--fs-h3-pc);
		}
	}
	& h4 {
		font-size: var(--fs-h4);
		line-height: 160%;
		letter-spacing: 0.05em;
		@media (min-width: 960px) {
			font-size: var(--fs-h4-pc);
		}
	}
	& h5 {
		font-size: var(--fs-large);
		line-height: 160%;
		letter-spacing: 0.05em;
	}
	& a {
		text-decoration: underline;
		color: var(--c-navy);
		& img {
			vertical-align: bottom;
		}
	}
	.wp-block-list {
		display: flex;
		flex-direction: column;
		row-gap: calc(16 * var(--px));
		& li {
			margin: 0;
		}
	}
	.swell-block-accordion__item {
		.swell-block-accordion__title {
			background-color: var(--c-skyblue);
			color: var(--c-white);
		}
		.swell-block-accordion__body {
			background-color: var(--c-white);
			border: 1px solid var(--c-skyblue);
		}
		.icon-caret-down,
		.icon-caret-up {
			&::before {
				font-size: 24px;
			}
		}
		.icon-caret-down {
			&::before {
				content: "＋";
			}
		}
		.icon-caret-up {
			&::before {
				content: "－";
			}
		}
	}
}
/* ＝＝＝＝＝ ユーティリティ ＝＝＝＝＝ */
/* ＝＝＝＝＝＝＝＝＝ 文字のスタイル ＝＝＝＝＝＝＝＝＝ */
/* ＝＝＝＝＝＝＝＝＝ 文字色ユーティリティ ＝＝＝＝＝＝＝＝＝ */
/* ＝＝＝＝＝＝＝＝＝ 背景色ユーティリティ ＝＝＝＝＝＝＝＝＝ */
.u-button-bg-white {
	.swell-block-button__link {
		background-color: var(--c-white);
	}
}
/* ＝＝＝＝＝＝＝＝＝ 文字のレイアウト ＝＝＝＝＝＝＝＝＝ */
.w-fit {
	width: fit-content;
}
.u-d-inline-block {
	display: inline-block;
}
.u-d-block {
	display: block;
}
.text-center {
	text-align: center;
}
.text-tab-center {
	@media (min-width: 600px) {
		text-align: center;
	}
}
.text-pc-center {
	@media (min-width: 960px) {
		text-align: center;
	}
}
.text-tab-left {
	@media (min-width: 600px) {
		text-align: left;
	}
}
.text-pc-left {
	@media (min-width: 960px) {
		text-align: left;
	}
}
.letter-tight {
	letter-spacing: 0em;
}
.indent-common {
	padding-left: calc(15 * var(--px));
	text-indent: calc(-15 * var(--px));
	@media (min-width: 960px) {
		padding-left: calc(16 * var(--px));
		text-indent: calc(-16 * var(--px));
	}
}
/* ＝＝＝＝＝ コンポーネント ＝＝＝＝＝ */
/* ============================================
   Loading Animation
   ============================================ */
/* ローディング画面全体 */
.loader {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background-color: #fff; /* 背景色 */
	z-index: 99999;
	display: flex;
	justify-content: center;
	align-items: center;
	& img {
		width: clamp(20.625rem, 16.3636rem + 18.1818vw, 30rem);
		animation: openingAnime 1s ease-out forwards;
		/* 名前、秒数、加速の仕方、終了時の状態維持 */
	}
}
@keyframes openingAnime {
	0% {
		opacity: 0;
		filter: blur(8px);
	}
	100% {
		opacity: 1;
		filter: blur(0px);
	}
}
/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
/* 下層ページの共通設定 */
/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
#top_title_area {
	height: 240px;
	h1.c-pageTitle {
		display: flex;
		align-items: center;
		justify-content: center;
		font-size: var(--fs-h1);
		line-height: 160%;
		letter-spacing: 0.05em;
		font-weight: 700;
	}
}
.l-topTitleArea.c-filterLayer {
	&::before {
		filter: blur(4px);
	}
}
.l-mainContent__inner > .post_content {
	@media (min-width: 960px) {
		padding: 0;
	}
}
.post_content > .wp-block-group {
	position: relative;
	margin-bottom: 0;
	padding-block: clamp(4rem, 3.6479rem + 1.5023vw, 5rem) clamp(5rem, 4.1197rem + 3.7559vw, 7.5rem);
	&:nth-child(1 of &) {
		padding-top: 0;
		&::before {
			content: none;
		}
	}
	&:nth-child(even of &) {
		padding-block: clamp(5rem, 4.1197rem + 3.7559vw, 7.5rem) clamp(7.5rem, 6.1796rem + 5.6338vw, 11.25rem);
		&::before {
			content: "";
			position: absolute;
			z-index: -1;
			background-color: var(--c-l-blue);
			width: 100dvw;
			height: 100%;
			top: 0;
			left: 50%;
			transform: translateX(-50%);
			clip-path: polygon(0 clamp(2.5rem, 1.6197rem + 3.7559vw, 5rem), 50% 0, 100% clamp(2.5rem, 1.6197rem + 3.7559vw, 5rem), 100% 100%, 50% calc(100% - clamp(2.5rem, 1.6197rem + 3.7559vw, 5rem)), 0 100%);
			@media (min-width: 960px) {
				left: calc(50% - 152px);
			}
			@media (min-width: 1200px) {
				left: calc(50% - 178px);
			}
		}
		&:last-of-type {
			&::before {
				clip-path: polygon(0 clamp(2.5rem, 1.6197rem + 3.7559vw, 5rem), 50% 0, 100% clamp(2.5rem, 1.6197rem + 3.7559vw, 5rem), 100% 100%, 0 100%);
			}
		}
	}
}
/* wp-block-group */
#breadcrumb {
	width: min(100%, 1296px);
	.p-breadcrumb__list {
		.p-breadcrumb__item {
			font-size: calc(16 * var(--px));
		}
	}
}
/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
/* PCサイドバー */
/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
.-sidebar-on #sidebar {
	width: 240px;
	display: none;
	@media (min-width: 960px) {
		display: block;
	}
	.c-secTitle {
		margin-bottom: 0;
		font-size: calc(18 * var(--px));
		background-color: var(--c-navy);
		color: #fff;
		text-align: center;
		padding-block: calc(10 * var(--px));
	}
	.p-toc.post_content {
		padding: calc(16 * var(--px));
		background-color: var(--c-white);
		.p-toc__list {
			display: flex;
			flex-direction: column;
			row-gap: calc(12 * var(--px));
			& li {
				margin: 0;
				&::before {
					content: none;
				}
			}
		}
	}
}
#fix_sidebar {
	margin-top: 0;
	border: 1px solid var(--c-navy);
}
/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
/* SPヘッダーバー */
/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
.post_content {
	.p-toc {
		position: sticky;
		z-index: 1000;
		padding: 0;
		border: 1px solid var(--c-navy);
		top: 56px;
		left: 0;
		@media (min-width: 960px) {
			display: none;
		}
	}
}
.p-toc.-simple {
	/* タイトルにアイコンを付与 */
	.p-toc__ttl {
		position: relative;
		/* display: block; */
		background-color: var(--c-navy);
		color: var(--c-white);
		padding: calc(20 * var(--px)) !important;
		padding-right: 30px;
		border-bottom: none;
		padding: 0;
		margin: 0;
	}

	.p-toc__ttl::after {
		content: "＋"; /* または矢印アイコンなど */
		position: absolute;
		right: 10px;
		top: 50%;
		transform: translateY(-50%) rotate(0deg);
		transition: transform 0.3s ease;
	}
	.p-toc__list {
		overflow: hidden;
		background-color: var(--c-white);
		max-height: 0;
		opacity: 0;
		padding-inline: calc(16 * var(--px));
		transition:
			max-height 0.4s ease,
			opacity 0.3s ease,
			padding 0.4s ease;
		&.is-opened {
			padding: calc(16 * var(--px));
			max-height: 1000px;
			opacity: 1;
			padding-block: calc(16 * var(--px));
		}
	}

	/* 開いている時のアイコン変化（JSで付与するクラスに連動） */
	.p-toc__ttl.is-opened::after {
		content: "－";
		top: 50%;
		transform: translateY(-50%) rotate(180deg);
	}
}
.swell-block-button {
	margin-top: 32px;
	margin-bottom: 0;
	font-size: var(--fs-large);
	letter-spacing: 0.05em;
	line-height: 160%;
	@media (min-width: 960px) {
		font-size: var(--fs-large-pc);
	}
	.swell-block-button__link {
		text-decoration: none;
		color: var(--c-white);
		min-width: fit-content;
		width: min(100%, 420px);
		&:not([data-has-icon]) {
			position: relative;
			padding-inline: calc(24 * var(--px)) calc(56 * var(--px));
			&::before,
			&::after {
				content: "";
				position: absolute;
				aspect-ratio: 9 / 14;
				width: 9px;
				top: 50%;
				clip-path: polygon(0 0, 100% 50%, 0 100%);
				transform: translateY(-50%);
			}
			&::before {
				background-color: var(--c-white);
				right: 24px;
			}
			&::after {
				background-color: var(--c-navy);
				right: 27px;
			}
		}
	}
	&.red_ {
		.swell-block-button__link {
			&:not([data-has-icon]) {
				&::before {
					background-color: var(--c-navy);
				}
				&::after {
					background-color: var(--c-white);
				}
			}
		}
	}
}
/* swell-block-button */
.top {
	.swell-block-button {
		.swell-block-button__link {
			width: fit-content;
		}
	}
}
.c-decoration-text {
	font-family: "Caveat", cursive;
	font-size: calc(64 * var(--px));
	text-align: center;
	@media (min-width: 960px) {
		font-size: calc(104 * var(--px));
	}
}
#header,
#fix_header {
	.c-gnav {
		align-items: center;
		.menu-item {
			display: flex;
			align-items: center;
			height: auto;
			a {
				padding-block: calc(16 * var(--px));
			}
		}
	}
}
.-img .c-headLogo__link {
	padding-block: 8px;
}
.c-widget__title.-spmenu {
	display: none;
}
.menu-item {
	& a {
		padding-block: 1.5em;
	}
}
#footer {
	position: relative;
	&::before {
		content: "";
		position: absolute;
		background-color: rgba(var(--c-navy-rgb), 0.7);
		width: 100%;
		height: 100%;
	}
	.footer-container {
		margin-inline: auto;
		position: relative;
		padding-top: clamp(3rem, 0.6888rem + 9.8613vw, 7rem);
		padding-bottom: clamp(1.5rem, 0.9222rem + 2.4653vw, 2.5rem);
		width: min(100%, 1200px);
	}
	#before_footer_widget,
	.l-footer__inner {
		position: relative;
		z-index: 1;
	}
	#before_footer_widget {
		margin-top: 0;
		@media (min-width: 960px) {
			position: absolute;
			z-index: 1;
			padding-top: 0;
			width: 400px;
			height: auto;
			left: 0;
			top: 75px;
		}
		@media (min-width: 1200px) {
			width: 440px;
		}
		.p-blogParts {
			display: flex;
			flex-direction: column;
			align-items: center;
			.wp-block-image {
				& figure {
					& img {
						max-height: 56px;
						object-fit: contain !important;
					}
				}
			}
			& a {
				color: var(--c-white);
			}
		}
	}
	.l-footer__nav {
		margin-bottom: calc(40 * var(--px));
		column-gap: 3.8%;
		row-gap: calc(16 * var(--px));
		@media (min-width: 960px) {
			row-gap: calc(64 * var(--px));
		}
		.menu-item {
			& a {
				padding: 0;
				border: none;
			}
			&:has(.sub-menu) {
				> a {
					font-size: var(--fs-large);
					@media (min-width: 960px) {
						font-size: var(--fs-large-pc);
					}
				}
				&:nth-of-type(1) {
					@media (min-width: 960px) {
						display: flex;
						flex-direction: column;
						align-items: flex-end;
						width: 60%;
					}
					> a {
						@media (min-width: 960px) {
							width: 176px;
						}
					}
				}
				&:nth-of-type(2),
				&:nth-of-type(3) {
					@media (min-width: 960px) {
						width: 15%;
					}
				}
			} /* &:has(.sub-menu) */
			&:nth-of-type(-n + 3) {
				width: 30%;
			}
			&:nth-of-type(n + 4) {
				& a {
					text-decoration: underline;
					font-size: var(--fs-common);
					@media (min-width: 960px) {
						font-size: var(--fs-common-pc);
					}
				}
			}

			.sub-menu {
				margin-top: calc(8 * var(--px));
				margin-bottom: calc(8 * var(--px));
				display: flex;
				flex-direction: column;
				row-gap: calc(4 * var(--px));
				@media (min-width: 960px) {
					width: 176px;
				}
				& a {
					text-decoration: none;
					font-size: var(--fs-common);
					@media (min-width: 960px) {
						font-size: var(--fs-common-pc);
					}
				}

				.menu-item {
					width: 100%;
				}
			}
		} /* menu-item */
	} /* l-footer__nav */
}
/* #footer */
/* @import "./components/archive.css"; */
/* ＝＝＝＝＝ ページ ＝＝＝＝＝ */
/* front-page */
.top {
	#content {
		padding-inline: 0;
		margin-top: calc(-64 * var(--px));
		background-color: var(--c-white);
		clip-path: polygon(0 54px, 20% 54px, 25% 0, 100% 0, 100% 100%, 0 100%);
		@media (min-width: 960px) {
			margin-top: calc(-96 * var(--px));
			clip-path: polygon(0 96px, 33% 96px, 35% 0, 100% 0, 100% 100%, 0 100%);
		}
	}
	.l-mainContent {
		.p-blogParts {
			margin-inline: auto;
			padding-left: var(--swl-pad_container, 0);
			padding-right: var(--swl-pad_container, 0);
			width: min(100%, 1296px);
		}
		& h2.wp-block-heading {
			padding-left: calc(12 * var(--px));
			&::after {
				content: "";
				position: absolute;
				background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDEiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCA0MSAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTAuMzY0OTg5IDE0LjgwN0w5LjEwMzY3IDUuNDczNzZMMTguMjM5NiAxNC44MDdMMzAuMTU2IDAuODA3MDM3TDQwLjM2NSAxNC44MDciIHN0cm9rZT0iIzAwQTFFOSIvPgo8L3N2Zz4K);
				background-repeat: no-repeat;
				background-size: contain;
				aspect-ratio: 40 / 14;
				width: 32px;
				bottom: -2px;
				left: -32px;
				scale: -1 1;
			}
		}
	}
	.w-frontTop {
		.c-widget {
			& section {
				padding-block: clamp(3rem, 2.0909rem + 3.8788vw, 5rem);
			}
			&:first-of-type {
				& section {
					padding-top: calc(24 * var(--px));
					@media (min-width: 960px) {
						padding-top: calc(40 * var(--px));
					}
				}
			}

			&:last-of-type {
				& section {
					padding-bottom: clamp(4rem, 2.4091rem + 6.7879vw, 7.5rem);
				}
			}
		}
	}
}
.top {
	.p-mainVisual {
		.p-mainVisual__slide {
			&::before {
				clip-path: polygon(0 0, 55% 0, 25% 100%, 0 100%);
				@media (min-width: 960px) {
					clip-path: polygon(0 0, 50% 0, 35% 100%, 0 100%);
				}
			}
		}
		.p-mainVisual__slideTitle {
			font-size: var(--fs-h1);
			line-height: 180%;
			letter-spacing: 0.05em;
			font-weight: 700;
		}
		.p-mainVisual__textLayer {
			width: min(100%, 1296px);
		}
	}
}
.l-mainContent {
	.t-news {
		position: relative;
		&::before {
			content: "";
			position: absolute;
			background-color: var(--c-l-blue);
			width: 100%;
			height: calc(100% - 54px);
			clip-path: polygon(0 0, 20% 0, 100% 100%, 80% 100%);
			top: 54px;
			left: 0;
			@media (min-width: 960px) {
				height: calc(100% - 96px);
				top: 96px;
				clip-path: polygon(0 0, 33% 0, 100% 100%, 67% 100%);
			}
		}
		h2.wp-block-heading {
			margin-left: auto;
			&::before {
				right: auto;
				left: -32px;
				scale: -1 1;
			}
		}
		.-type-card .p-postList__item {
			@media (min-width: 960px) {
				padding-inline: 2em;
			}
			& a {
				text-decoration: none;
			}
			.p-postList__title {
				margin-bottom: calc(8 * var(--px));
			}
		}
	}
}
.l-mainContent {
	.t-welcome {
		position: relative;
		&::before {
			content: "";
			position: absolute;
			background-color: var(--c-l-blue);
			width: 100%;
			height: 100%;
			top: 0;
			left: 0;
			clip-path: polygon(80% 0, 100% 0, 60% 100%, 40% 100%);
			@media (min-width: 960px) {
				clip-path: polygon(67% 0, 100% 0, 67% 100%, 35% 100%);
			}
		}
		.swell-block-columns__inner {
			row-gap: calc(48 * var(--px));
			@media (min-width: 600px) {
				column-gap: clamp(1.5rem, -1rem + 6.6667vw, 5rem);
			}
		}
		.welcome-content-header {
			position: relative;
			& h3.wp-block-heading {
				position: absolute;
				background-color: var(--c-skyblue);
				padding-block: calc(24 * var(--px)) calc(16 * var(--px));
				width: 100%;
				border: none;
				color: var(--c-white);
				text-align: right;
				bottom: 0;
				clip-path: polygon(0 100%, 100% 0, 100% 100%);
				@media (min-width: 960px) {
					padding-top: calc(32 * var(--px));
				}
			}
			&.is-right {
				& h3.wp-block-heading {
					text-align: left;
					clip-path: polygon(0 0, 100% 100%, 0 100%);
				}
			}
		}
		.swell-block-column {
			background-color: var(--c-white);
			padding-bottom: calc(24 * var(--px));
			filter: drop-shadow(1px 1px 4px rgba(var(--c-black-rgb), 0.25));
			@media (min-width: 600px) {
				width: calc(50% - clamp(0.75rem, -0.5rem + 3.3333vw, 2.5rem));
			}
			& p {
				padding-inline: calc(16 * var(--px));
			}
		}
	}
}
.l-mainContent {
	.t-course {
		position: relative;
		&::before {
			content: "";
			position: absolute;
			background-color: var(--c-l-blue);
			width: 100%;
			height: 100%;
			top: 0;
			left: 0;
			clip-path: polygon(40% 0, 60% 0, 60% 100%, 40% 100%);
			@media (min-width: 960px) {
				clip-path: polygon(35% 0, 67% 0, 67% 100%, 35% 100%);
			}
		}
		.swell-block-columns__inner {
			row-gap: 0;
			@media (min-width: 600px) {
				align-items: center;
			}
			.swell-block-column {
				& figure {
					aspect-ratio: 4 / 3;
					width: 100%;
					overflow: hidden;
					@media (min-width: 600px) {
						aspect-ratio: 16 / 9;
					}
					& img {
						width: 100%;
						height: 100%;
						object-fit: cover;
					}
				}
				&:nth-of-type(1) {
					@media (min-width: 600px) {
						width: calc(50% + clamp(2.5rem, -6.4286rem + 23.8095vw, 15rem));
					}
				}
				&:nth-of-type(2) {
					margin-top: calc(-24 * var(--px));
					padding: calc(16 * var(--px));
					padding-bottom: calc(24 * var(--px));
					width: calc(100% - 16px);
					backdrop-filter: blur(4px);
					@media (min-width: 600px) {
						width: calc(50% + calc(40 * var(--px)));
						margin-top: 0;
					}
					@media (min-width: 960px) {
						padding: calc(24 * var(--px)) calc(40 * var(--px));
					}
					& h3.wp-block-heading {
						border: none;
						padding: 0;
						background-color: transparent;
					}
				}
			}
		}
		.swell-block-columns {
			&:nth-of-type(odd) {
				.swell-block-column {
					&:nth-of-type(1) {
						@media (min-width: 600px) {
							margin-left: clamp(-15rem, 6.4286rem + -23.8095vw, -2.5rem);
						}
					}
					&:nth-of-type(2) {
						background-color: rgba(var(--c-navy-rgb), 0.9);
						color: var(--c-white);
						@media (min-width: 600px) {
							margin-left: calc(-40 * var(--px));
						}
						& h3.wp-block-heading {
							color: var(--c-white);
						}
					}
				}
			}
			&:nth-of-type(even) {
				.swell-block-columns__inner {
					@media (min-width: 600px) {
						flex-direction: row-reverse;
					}
				}
				.swell-block-column {
					&:nth-of-type(1) {
						@media (min-width: 600px) {
							margin-right: clamp(-15rem, 6.4286rem + -23.8095vw, -2.5rem);
						}
					}
					&:nth-of-type(2) {
						margin-left: auto;
						background-color: rgba(var(--c-white-rgb), 0.6);
						border: 1px solid var(--c-navy);
						@media (min-width: 600px) {
							margin-right: calc(-40 * var(--px));
						}
					}
				}
			}
		}
	} /* t-course */
}
.l-mainContent {
	.t-infomation {
		.swell-block-columns__inner {
			row-gap: calc(56 * var(--px));
			@media (min-width: 600px) {
				column-gap: 5%;
			}
		}
		.swell-block-column {
			position: relative;
			&::before {
				content: "";
				position: absolute;
				background-color: var(--c-skyblue);
				aspect-ratio: 99 / 57;
				width: 99px;
				top: -12px;
				right: -12px;
			}
			@media (min-width: 600px) {
				width: 47.5%;
			}
			@media (min-width: 960px) {
				width: 30%;
			}
		}
		.wp-block-cover {
			padding-inline: 0;
			min-height: 200px;

			& a {
				text-decoration: underline;
				text-decoration-color: var(--c-white);
			}
			& p {
				& img {
					vertical-align: text-bottom;
				}
			}
		}
	}
}
.l-mainContent {
	.t-feature {
		position: relative;
		&::before {
			content: "";
			position: absolute;
			z-index: -1;
			background-color: var(--c-l-blue);
			width: 100%;
			height: 100%;
			top: 0;
			left: 0;
			clip-path: polygon(0 240px, 50% 0, 100% 240px, 100% 100%, 0 100%);
			@media (min-width: 600px) {
				clip-path: polygon(0 360px, 50% 0, 100% 360px, 100% 100%, 0 100%);
			}
			@media (min-width: 960px) {
				clip-path: polygon(50% 0, 100% 100%, 0 100%);
			}
		}
		.swell-block-columns__inner {
			row-gap: calc(64 * var(--px));
			@media (min-width: 600px) {
				column-gap: 5%;
			}
		}
		.swell-block-column {
			@media (min-width: 600px) {
				width: 47.5%;
			}
			@media (min-width: 960px) {
				width: 30%;
			}
			.wp-block-image {
				position: relative;
				&::before {
					content: "";
					position: absolute;
					z-index: -1;
					background-color: var(--c-navy);
					aspect-ratio: 198 / 142;
					width: 198px;
					bottom: -16px;
					right: -16px;
				}
			}
		}
	}
}
.l-mainContent {
	.t-access {
		.swell-block-columns__inner {
			row-gap: calc(24 * var(--px));
			@media (min-width: 600px) {
				column-gap: clamp(1.5rem, -2rem + 9.3333vw, 5rem);
			}
		}
		.swell-block-column {
			aspect-ratio: 4 / 3;
			& iframe {
				width: 100%;
				height: 100%;
				overflow: hidden;
			}
			.swell-block-dl {
				.swell-block-dl__dt {
					margin-bottom: calc(8 * var(--px));
					font-size: var(--fs-large);
					line-height: 160%;
					letter-spacing: 0.05em;
					padding-bottom: calc(4 * var(--px));
					border-bottom: 1px solid var(--c-skyblue);
				}
				.swell-block-dl__dd {
					margin: 0;
					padding: 0;
				}
			}
			&:nth-of-type(2) {
				@media (min-width: 600px) {
					width: min(calc(50% - clamp(1.5rem, -2rem + 9.3333vw, 5rem)), 400px);
				}
			}
		}
	}
}
/* 学校紹介ページ /about */
.page-school-introduction {
	/* ページ内で設置されてるボタンは全てfit-content */
	.swell-block-columns__inner {
		&:has(> .swell-block-column > .swell-block-button:first-child) {
			gap: calc(24 * var(--px));
			align-items: center;
			.swell-block-column {
				width: fit-content;
			}
		}
	}
	.about-overview {
		.overview-image-wrap {
			margin-left: calc(var(--swl-pad_container, 0) * -1);
			@media (min-width: 600px) {
				margin-left: 0;
			}
			& figure {
				aspect-ratio: 4 / 3;
				overflow: hidden;
				@media (min-width: 600px) {
					aspect-ratio: 16 / 9;
					width: calc(100% - var(--swl-pad_container, 0));
				}
				& img {
					width: 100%;
					height: 100%;
					object-fit: cover;
				}
			}
		}
		.overview-text-wrap {
			margin-top: calc(-24 * var(--px));
			background-color: rgba(var(--c-navy-rgb), 0.8);
			padding: calc(16 * var(--px));
			@media (min-width: 600px) {
				margin-top: calc(-80 * var(--px)) !important;
				margin-left: auto;
				width: calc(100% - var(--swl-pad_container, 0)) !important;
			}
			@media (min-width: 960px) {
				padding: calc(40 * var(--px));
			}
			& p {
				color: var(--c-white);
			}
		}
	} /* about-overview */
	.post_content div > :last-child {
		&.overview-text-wrap {
			margin-bottom: calc(40 * var(--px)) !important;
		}
	}

	.overview-granddesign-wrap {
		.swell-block-columns {
			position: relative;
			&::after {
				content: "";
				position: absolute;
				z-index: 1;
				background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzMiIGhlaWdodD0iMzAiIHZpZXdCb3g9IjAgMCAzMyAzMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTMyLjM1MTEgMC4zNTU5NTdMMTYuMzUxMSAxNi4xMzc4TDAuMzUxMDc0IDAuMzU1OTU3IiBzdHJva2U9IndoaXRlIi8+CjxwYXRoIGQ9Ik0zMi4zNTExIDEyLjU3NDFMMTYuMzUxMSAyOC4zNTU5TDAuMzUxMDc0IDEyLjU3NDEiIHN0cm9rZT0id2hpdGUiLz4KPC9zdmc+Cg==);
				background-repeat: no-repeat;
				background-size: contain;
				aspect-ratio: 32 / 28;
				width: 32px;
				bottom: -24px;
				left: 50%;
				transform: translateX(-50%);
			}
		}
		.swell-block-column {
			&:has(.wp-block-cover) {
				min-height: 240px;
				overflow: hidden;
			}
		}
		.wp-block-cover {
			width: 100%;
			height: 100%;
			min-height: auto;
		}
		.swell-block-columns__inner {
			.swell-block-column {
				&:has(.wp-block-list) {
					flex: 1;
					position: relative;
					background-image: url(images/bg_overview-grand.20588d68.png);
					background-repeat: no-repeat;
					background-size: cover;
					padding-inline: calc(16 * var(--px));
					padding-block: calc(64 * var(--px));
					@media (min-width: 600px) {
						padding-block: calc(24 * var(--px));
						padding-inline: calc(64 * var(--px));
					}
					&::before {
						content: "";
						position: absolute;
						width: 1px;
						height: 64px;
						top: calc(-32 * var(--px));
						left: 50%;
						transform: translateX(-50%);
						@media (min-width: 600px) {
							width: 64px;
							height: 1px;
							top: 50%;
							left: calc(-32 * var(--px));
							transform: translate(0, -50%);
						}
					}
					.wp-block-list {
						list-style: none;
						padding: 0;
						& li {
							position: relative;
							padding-left: calc(20 * var(--px));
							&::before {
								content: "";
								position: absolute;
								aspect-ratio: 1 / 1;
								width: 10px;
								border-radius: 9999px;
								top: 11px;
								left: 0;
							}
						}
					}
				}
			}
		}
		.swell-block-columns {
			&:nth-of-type(odd) {
				.swell-block-columns__inner {
					.swell-block-column {
						&:has(.wp-block-cover) {
						}
						&:has(.wp-block-list) {
							background-color: var(--c-l-blue);
							&::before {
								background-color: var(--c-skyblue);
							}
							.wp-block-list {
								& li {
									&::before {
										background-color: var(--c-skyblue);
									}
								}
							}
						}
					}
				}
			}
			&:nth-of-type(even) {
				.swell-block-columns__inner {
					.swell-block-column {
						&:has(.wp-block-list) {
							&::before {
								background-color: var(--c-navy);
							}
							.wp-block-list {
								& li {
									&::before {
										background-color: var(--c-navy);
									}
								}
							}
						}
					}
				}
			}
		}
	} /* overview-granddesign-wrap */

	.overview-emblem-wrap {
		.swell-block-columns__inner {
			align-items: center;
		}
		.swell-block-column {
			@media (min-width: 600px) {
				width: fit-content;
			}
		}
		.overview-emblem-text {
			flex: 1;
			position: relative;
			z-index: -1;
			margin-top: calc(-24 * var(--px));
			background-color: var(--c-l-blue);
			padding-block: calc(40 * var(--px)) calc(16 * var(--px));
			padding-inline: calc(16 * var(--px));
			@media (min-width: 600px) {
				margin-top: 0;
				margin-left: calc(-200 * var(--px));
				padding: calc(24 * var(--px));
				padding-left: calc(240 * var(--px));
			}
		}
	}
}
/* page-school-introduction */
/* 学科紹介ページ /departments */
.page-departments {
	.l-mainContent {
		.departments-course-point-wrap {
			position: relative;
			.point-number {
				position: relative;
				font-size: calc(32 * var(--px));
				letter-spacing: 0.05em;
				font-weight: 800;
				opacity: 0.3;
				top: calc(16 * var(--px));
			}
		}
		.wp-block-cover {
			min-height: auto;
			height: 240px;
			.wp-block-heading {
				font-size: var(--fs-h2) !important;
				border-bottom: 0;
				@media (min-width: 960px) {
					font-size: var(--fs-h2-pc) !important;
				}
				&::before {
					content: none;
				}
			}
		}
		.course-academic,
		.course-general {
			.swell-block-column {
				background-color: var(--c-white);
				padding-bottom: calc(24 * var(--px));
				filter: drop-shadow(1px 1px 1px rgba(var(--c-navy-rgb), 0.25));
				& h4,
				& p {
					padding-inline: calc(16 * var(--px));
				}
			}
		}
		.course-general {
			.swell-block-column {
				background-color: var(--c-l-blue);
			}
		}
		.course-style-wrap {
			.swell-block-columns {
				&:nth-of-type(even) {
					.swell-block-columns__inner {
						@media (min-width: 600px) {
							flex-direction: row-reverse;
						}
					}
				}
			}
			.swell-block-column {
				.wp-block-image {
					aspect-ratio: 4 / 3;
					width: 100%;
					overflow: hidden;
					@media (min-width: 600px) {
						height: 100%;
					}
					& img {
						width: 100%;
						height: 100%;
						object-fit: cover;
					}
				}
			}
		}
	} /* l-mainContent */
}
/* page-departments */
/* 学校生活ページ /schoolLIfe */
.page-school-life {
	.l-mainContent {
		.c-tabList {
			margin-bottom: calc(40 * var(--px)) !important;
		}
		.c-tabList__button {
			font-size: var(--fs-h4);
			letter-spacing: 0.05em;
			@media (min-width: 960px) {
				font-size: var(--fs-h4-pc);
			}
		}
		.c-tabList__button[aria-selected="true"] {
			background-color: var(--c-navy);
		}
		.c-tabBody {
			padding: 0;
			border: none;
			.c-tabBody__item {
				.swell-block-column {
					background-color: var(--c-white);
					padding-bottom: calc(24 * var(--px));
				}
				.wp-block-image {
					.wp-element-caption {
						margin-top: calc(16 * var(--px));
						padding-inline: calc(16 * var(--px));
					}
				}
			}
		}
		.schoollife-festival-wrap {
			.swell-block-column {
				background-color: var(--c-l-blue);
				padding: calc(24 * var(--px));
				max-height: 560px;
				overflow-y: scroll;
				.swell-block-dl__dt {
					font-size: var(--fs-h4);
					@media (min-width: 960px) {
						font-size: var(--fs-h4-pc);
					}
				}
				.swell-block-dl__dd {
					margin-left: 0;
					padding-left: 0;
				}
			}
		}
	} /* l-mainContent */
}
/* page-departments */
/* 全校登山ページ /zenkoutozan */
.page-zenkoutozan {
	.l-mainContent {
		.zenkoutozan-intro-wrap {
			.swell-block-column {
				.wp-block-image {
					width: 100%;
					height: 100%;
					overflow: hidden;
					& img {
						width: 100%;
						height: 100%;
						object-fit: cover;
					}
				}
			}
		}
		.swell-block-column {
			.wp-block-image {
				margin-bottom: 0;
				position: relative;
				.wp-element-caption {
					position: absolute;
					background-color: rgba(var(--c-white-rgb, 0.8));
					width: 100%;
					padding-block: calc(8 * var(--px));
					color: var(--c-navy);
					left: 0;
					bottom: 0;
				}
			}
			.swell-block-button {
				margin-top: 0;
			}
		}
	}
}
/* アジアフページ /ajiafu */
.page-ajiafu {
	.l-mainContent {
		.ajiafu-intro-wrap {
			.swell-block-columns {
				&:nth-of-type(even) {
					.swell-block-columns__inner {
						@media (min-width: 600px) {
							flex-direction: row-reverse;
						}
					}
				}
			}
			.swell-block-column {
				.wp-block-image {
					width: 100%;
					height: 100%;
					overflow: hidden;
					& img {
						width: 100%;
						height: 100%;
						object-fit: cover;
					}
				}
			}
		}
		.c-tabList {
			margin-bottom: calc(40 * var(--px)) !important;
		}
		.c-tabList__button[aria-selected="true"] {
			background-color: var(--c-navy);
		}
		.c-tabBody {
			padding: 0;
			border: none;
		}
	} /* l-mainContent */
}
/* page-ajiafu */


/*# sourceMappingURL=index.css.map*/