@import url("../fonts/GenJyuuGothicX-Monospace-Normal/GenJyuuGothicX-Monospace-Normal.css");

@import url("../fonts/GenJyuuGothicX-Monospace-Medium/GenJyuuGothicX-Monospace-Medium.css");

@import url("../fonts/GenJyuuGothicX-Monospace-Bold/GenJyuuGothicX-Monospace-Bold.css");

/*
	HTML5 Reset :: style.css
	----------------------------------------------------------
	We have learned much from/been inspired by/taken code where offered from:

	Eric Meyer					:: http://meyerweb.com
	HTML5 Doctor				:: http://html5doctor.com
	and the HTML5 Boilerplate	:: http://html5boilerplate.com

-------------------------------------------------------------------------------*/

/* Let's default this puppy out
-------------------------------------------------------------------------------*/

html,
body,
body div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
figure,
footer,
header,
menu,
nav,
section,
time,
mark,
audio,
video,
details,
summary {
	background: transparent;
	border: 0;
	font-size: 100%;
	font-weight: normal;
	margin: 0;
	padding: 0;
	vertical-align: baseline;
}

article,
aside,
figure,
footer,
header,
nav,
section,
details,
summary {
	display: block;
}

/* Handle box-sizing while better addressing child elements:
   http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */

html {
	box-sizing: border-box;
}

*,
*:before,
*:after {
	box-sizing: inherit;
}

/* consider resetting the default cursor: https://gist.github.com/murtaugh/5247154 */

/* Responsive images and other embedded objects */

/* if you don't have full control over `img` tags (if you have to overcome attributes), consider adding height: auto */

img,
object,
embed {
	max-width: 100%;
}

/*
   Note: keeping IMG here will cause problems if you're using foreground images as sprites.
	In fact, it *will* cause problems with Google Maps' controls at small size.
	If this is the case for you, try uncommenting the following:

#map img {
		max-width: none;
}
*/

/* force a vertical scrollbar to prevent a jumpy page */

html {
	overflow-y: scroll;
}

/* we use a lot of ULs that aren't bulleted.
	you'll have to restore the bullets within content,
	which is fine because they're probably customized anyway */

ul {
	list-style: none;
}

blockquote,
q {
	quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
	content: '';
	content: none;
}

a {
	background: transparent;
	font-size: 100%;
	margin: 0;
	padding: 0;
	vertical-align: baseline;
}

del {
	text-decoration: line-through;
}

abbr[title],
dfn[title] {
	border-bottom: 1px dotted #000;
	cursor: help;
}

/* tables still need cellspacing="0" in the markup */

table {
	border-collapse: collapse;
	border-spacing: 0;
}

th {
	font-weight: bold;
	vertical-align: bottom;
}

td {
	font-weight: normal;
	vertical-align: top;
}

hr {
	border: 0;
	border-top: 1px solid #ccc;
	display: block;
	height: 1px;
	margin: 1em 0;
	padding: 0;
}

input,
select {
	vertical-align: middle;
}

pre { /* CSS 3 (and 2.1 as well, actually) */
	word-wrap: break-word;
	white-space: pre; /* CSS2 */
	white-space: pre-wrap; /* CSS 2.1 */
	white-space: pre-line; /* IE */
}

input[type="radio"] {
	vertical-align: text-bottom;
}

input[type="checkbox"] {
	vertical-align: bottom;
}

.ie7 input[type="checkbox"] {
	vertical-align: baseline;
}

.ie6 input {
	vertical-align: text-bottom;
}

select,
input,
textarea {
	font: 99% sans-serif;
}

table {
	font: 100%;
	font-size: inherit;
}

small {
	font-size: 85%;
}

strong {
	font-weight: bold;
}

td,
td img {
	vertical-align: top;
}

/* Make sure sup and sub don't mess with your line-heights http://gist.github.com/413930 */

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
}

sup {
	top: -0.5em;
}

sub {
	bottom: -0.25em;
}

/* standardize any monospaced elements */

pre,
code,
kbd,
samp {
	font-family: monospace, sans-serif;
}

/* hand cursor on clickable elements */

.clickable,
label,
input[type=button],
input[type=submit],
input[type=file],
button {
	cursor: pointer;
}

/* Webkit browsers add a 2px margin outside the chrome of form elements */

button,
input,
select,
textarea {
	margin: 0;
}

/* make buttons play nice in IE */

button,
input[type=button] {
	overflow: visible;
	width: auto;
}

/* scale images in IE7 more attractively */

.ie7 img {
	-ms-interpolation-mode: bicubic;
}

/* prevent BG image flicker upon hover
   (commented out as usage is rare, and the filter syntax messes with some pre-processors)
.ie6 html {filter: expression(document.execCommand("BackgroundImageCache", false, true));}
*/

/* let's clear some floats */

.clearfix:before,
.clearfix:after {
	content: "\0020";
	display: block;
	height: 0;
	overflow: hidden;
}

.clearfix:after {
	clear: both;
}

.clearfix {
	zoom: 1;
}

/*!
 * ress.css • v4.0.0
 * MIT License
 * github.com/filipelinhares/ress
 */

/* # =================================================================
   # Global selectors
   # ================================================================= */

html {
	-webkit-text-size-adjust: 100%;
	box-sizing: border-box;
	tab-size: 4; /* Prevent adjustments of font size after orientation changes in iOS */
	word-break: normal;
}

*,
::before,
::after {
	background-repeat: no-repeat; /* Set `background-repeat: no-repeat` to all elements and pseudo elements */
	box-sizing: inherit;
}

::before,
::after {
	text-decoration: inherit; /* Inherit text-decoration and vertical align to ::before and ::after pseudo elements */
	vertical-align: inherit;
}

* { /* Reset `padding` and `margin` of all elements */
	margin: 0;
	padding: 0;
}

/* # =================================================================
   # General elements
   # ================================================================= */

hr { /* Add the correct box sizing in Firefox */
	color: inherit; /* Show the overflow in Edge and IE */
	height: 0;
	overflow: visible; /* Correct border color in Firefox. */
}

details,
main {
	display: block; /* Render the `main` element consistently in IE. */
}

summary {
	display: list-item; /* Add the correct display in all browsers */
}

small {
	font-size: 80%; /* Set font-size to 80% in `small` elements */
}

[hidden] {
	display: none; /* Add the correct display in IE */
}

abbr[title] {
	-webkit-text-decoration: underline dotted;
	border-bottom: none; /* Remove the bottom border in Chrome 57 */ /* Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari */
	text-decoration: underline;
	text-decoration: underline dotted;
}

a {
	background-color: transparent; /* Remove the gray background on active links in IE 10 */
}

a:active,
a:hover {
	outline-width: 0; /* Remove the outline when hovering in all browsers */
}

code,
kbd,
pre,
samp {
	font-family: monospace, monospace; /* Specify the font family of code elements */
}

pre {
	font-size: 1em; /* Correct the odd `em` font sizing in all browsers */
}

b,
strong {
	font-weight: bolder; /* Add the correct font weight in Chrome, Edge, and Safari */
}

/* https://gist.github.com/unruthless/413930 */

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

table {
	border-color: inherit; /* Correct border color in all Chrome, Edge, and Safari. */
	text-indent: 0; /* Remove text indentation in Chrome, Edge, and Safari */
}

/* # =================================================================
   # Forms
   # ================================================================= */

input {
	border-radius: 0;
}

/* Replace pointer cursor in disabled elements */

[disabled] {
	cursor: default;
}

[type='number']::-webkit-inner-spin-button,
[type='number']::-webkit-outer-spin-button {
	height: auto; /* Correct the cursor style of increment and decrement buttons in Chrome */
}

[type='search'] {
	-webkit-appearance: textfield; /* Correct the odd appearance in Chrome and Safari */
	outline-offset: -2px; /* Correct the outline style in Safari */
}

[type='search']::-webkit-search-decoration {
	-webkit-appearance: none; /* Remove the inner padding in Chrome and Safari on macOS */
}

textarea {
	overflow: auto; /* Internet Explorer 11+ */
	resize: vertical; /* Specify textarea resizability */
}

button,
input,
optgroup,
select,
textarea {
	font: inherit; /* Specify font inheritance of form elements */
}

optgroup {
	font-weight: bold; /* Restore the font weight unset by the previous rule */
}

button {
	overflow: visible; /* Address `overflow` set to `hidden` in IE 8/9/10/11 */
}

button,
select {
	text-transform: none; /* Firefox 40+, Internet Explorer 11- */
}

/* Apply cursor pointer to button elements */

button,
[type='button'],
[type='reset'],
[type='submit'],
[role='button'] {
	color: inherit;
	cursor: pointer;
}

/* Remove inner padding and border in Firefox 4+ */

button::-moz-focus-inner,
[type='button']::-moz-focus-inner,
[type='reset']::-moz-focus-inner,
[type='submit']::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/* Replace focus style removed in the border reset above */

button:-moz-focusring,
[type='button']::-moz-focus-inner,
[type='reset']::-moz-focus-inner,
[type='submit']::-moz-focus-inner {
	outline: 1px dotted ButtonText;
}

button,
html [type='button'],
[type='reset'],
[type='submit'] {
	-webkit-appearance: button; /* Correct the inability to style clickable types in iOS */
}

/* Remove the default button styling in all browsers */

button,
input,
select,
textarea {
	background-color: transparent;
	border-style: none;
}

a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus {
	outline-width: 0;
}

/* Style select like a standard input */

select {
	-moz-appearance: none; /* Firefox 36+ */
	-webkit-appearance: none; /* Chrome 41+ */
}

select::-ms-expand {
	display: none; /* Internet Explorer 11+ */
}

select::-ms-value {
	color: currentColor; /* Internet Explorer 11+ */
}

legend {
	border: 0; /* Correct `color` not being inherited in IE 8/9/10/11 */
	color: inherit; /* Correct the color inheritance from `fieldset` elements in IE */
	display: table; /* Correct the text wrapping in Edge and IE */
	max-width: 100%; /* Correct the text wrapping in Edge and IE */
	max-width: 100%; /* Correct the text wrapping in Edge and IE */
	white-space: normal; /* Correct the text wrapping in Edge 18- and IE */
}

::-webkit-file-upload-button { /* Correct the inability to style clickable types in iOS and Safari */
	-webkit-appearance: button;
	color: inherit;
	font: inherit; /* Change font properties to `inherit` in Chrome and Safari */
}

/* # =================================================================
   # Specify media element style
   # ================================================================= */

img {
	border-style: none; /* Remove border when inside `a` element in IE 8/9/10 */
}

/* Add the correct vertical alignment in Chrome, Firefox, and Opera */

progress {
	vertical-align: baseline;
}

/* # =================================================================
   # Accessibility
   # ================================================================= */

/* Specify the progress cursor of updating elements */

[aria-busy='true'] {
	cursor: progress;
}

/* Specify the pointer cursor of trigger elements */

[aria-controls] {
	cursor: pointer;
}

/* Specify the unstyled cursor of disabled, not-editable, or otherwise inoperable elements */

[aria-disabled='true'] {
	cursor: default;
}

/**
 * Swiper 7.4.1
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2021 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: December 24, 2021
 */

@font-face {
	font-family: swiper-icons;
	font-style: normal;
	font-weight: 400;
	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");
}

:root {
	--swiper-theme-color: #007aff;
}

.swiper {
	list-style: none;
	margin-left: auto;
	margin-right: auto;
	overflow: hidden;
	padding: 0;
	position: relative;
	z-index: 1;
}

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

.swiper-wrapper {
	box-sizing: content-box;
	display: flex;
	height: 100%;
	position: relative;
	transition-property: transform;
	width: 100%;
	z-index: 1;
}

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

.swiper-pointer-events {
	touch-action: pan-y;
}

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

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

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

.swiper-autoheight,
.swiper-autoheight .swiper-slide {
	height: auto;
}

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

.swiper-3d,
.swiper-3d.swiper-css-mode .swiper-wrapper {
	perspective: 1200px;
}

.swiper-3d .swiper-cube-shadow,
.swiper-3d .swiper-slide,
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-wrapper {
	transform-style: preserve-3d;
}

.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top {
	height: 100%;
	left: 0;
	pointer-events: none;
	position: absolute;
	top: 0;
	width: 100%;
	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-css-mode > .swiper-wrapper {
	-ms-overflow-style: none;
	overflow: auto;
	scrollbar-width: none;
}

.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
	display: none;
}

.swiper-css-mode > .swiper-wrapper > .swiper-slide {
	scroll-snap-align: start start;
}

.swiper-horizontal.swiper-css-mode > .swiper-wrapper {
	scroll-snap-type: x mandatory;
}

.swiper-vertical.swiper-css-mode > .swiper-wrapper {
	scroll-snap-type: y mandatory;
}

.swiper-centered > .swiper-wrapper::before {
	content: '';
	flex-shrink: 0;
	order: 9999;
}

.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
	margin-inline-start: var(--swiper-centered-offset-before);
}

.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
	height: 100%;
	min-height: 1px;
	width: var(--swiper-centered-offset-after);
}

.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
	margin-block-start: var(--swiper-centered-offset-before);
}

.swiper-centered.swiper-vertical > .swiper-wrapper::before {
	height: var(--swiper-centered-offset-after);
	min-width: 1px;
	width: 100%;
}

.swiper-centered > .swiper-wrapper > .swiper-slide {
	scroll-snap-align: center center;
}

.swiper-pagination {
	position: absolute;
	text-align: center;
	transform: translate3d(0, 0, 0);
	transition: .3s opacity;
	z-index: 10;
}

.swiper-pagination.swiper-pagination-hidden {
	opacity: 0;
}

.swiper-horizontal > .swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal,
.swiper-pagination-custom,
.swiper-pagination-fraction {
	bottom: 10px;
	left: 0;
	width: 100%;
}

.swiper-pagination-bullets-dynamic {
	font-size: 0;
	overflow: hidden;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
	position: relative;
	transform: scale(0.33);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
	transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
	transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
	transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
	transform: scale(0.33);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
	transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
	transform: scale(0.33);
}

.swiper-pagination-bullet {
	background: var(--swiper-pagination-bullet-inactive-color, #000);
	border-radius: 50%;
	display: inline-block;
	height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
	opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2);
	width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
}

button.swiper-pagination-bullet {
	-webkit-appearance: none;
	appearance: none;
	border: none;
	box-shadow: none;
	margin: 0;
	padding: 0;
}

.swiper-pagination-clickable .swiper-pagination-bullet {
	cursor: pointer;
}

.swiper-pagination-bullet:only-child {
	display: none !important;
}

.swiper-pagination-bullet-active {
	background: var(--swiper-pagination-color, var(--swiper-theme-color));
	opacity: var(--swiper-pagination-bullet-opacity, 1);
}

.swiper-pagination-vertical.swiper-pagination-bullets,
.swiper-vertical > .swiper-pagination-bullets {
	right: 10px;
	top: 50%;
	transform: translate3d(0px, -50%, 0);
}

.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-vertical > .swiper-pagination-bullets .swiper-pagination-bullet {
	display: block;
	margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
	top: 50%;
	transform: translateY(-50%);
	width: 8px;
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
	display: inline-block;
	transition: .2s transform,.2s top;
}

.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
	margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px);
}

.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
	left: 50%;
	transform: translateX(-50%);
	white-space: nowrap;
}

.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
	transition: .2s transform,.2s left;
}

.swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
	transition: .2s transform,.2s right;
}

.swiper-pagination-progressbar {
	background: rgba(0, 0, 0, 0.25);
	position: absolute;
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
	background: var(--swiper-pagination-color, var(--swiper-theme-color));
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	transform: scale(0);
	transform-origin: left top;
	width: 100%;
}

.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
	transform-origin: right top;
}

.swiper-horizontal > .swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-horizontal,
.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,
.swiper-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
	height: 4px;
	left: 0;
	top: 0;
	width: 100%;
}

.swiper-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-vertical,
.swiper-vertical > .swiper-pagination-progressbar {
	height: 100%;
	left: 0;
	top: 0;
	width: 4px;
}

.swiper-pagination-lock {
	display: none;
}

.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;
}

:root {
	--swiper-navigation-size: 44px;
}

.swiper-button-next,
.swiper-button-prev {
	align-items: center;
	color: var(--swiper-navigation-color, var(--swiper-theme-color));
	cursor: pointer;
	display: flex;
	height: var(--swiper-navigation-size);
	justify-content: center;
	margin-top: calc(0px - (var(--swiper-navigation-size)/ 2));
	position: absolute;
	top: 50%;
	width: calc(var(--swiper-navigation-size)/ 44 * 27);
	z-index: 10;
}

.swiper-button-next.swiper-button-disabled,
.swiper-button-prev.swiper-button-disabled {
	cursor: auto;
	opacity: .35;
	pointer-events: none;
}

.swiper-button-next:after,
.swiper-button-prev:after {
	font-family: swiper-icons;
	font-size: var(--swiper-navigation-size);
	font-variant: initial;
	letter-spacing: 0;
	line-height: 1;
	text-transform: none !important;
	text-transform: none;
}

.swiper-button-prev,
.swiper-rtl .swiper-button-next {
	left: 10px;
	right: auto;
}

.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after {
	content: 'prev';
}

.swiper-button-next,
.swiper-rtl .swiper-button-prev {
	left: auto;
	right: 10px;
}

.swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after {
	content: 'next';
}

.swiper-button-lock {
	display: none;
}

.inner,
.support-list,
#home #intro .text,
body#school-life .school-life-list {
	padding-left: 40px;
	padding-right: 40px;
}

#footer:before,
.page .hero:after,
#home .hero:after {
	background: url("../images/bg_school01.svg") repeat-x center/calc(1656 / 20 * 1em) calc(150 / 20 * 1em);
	bottom: calc(-12 / 20 * 1em);
	content: "";
	display: block;
	padding-top: calc(150 / 20 * 1em);
	pointer-events: none;
	position: absolute;
	width: 100%;
	z-index: 2;
}

html {
	height: 100%;
}

body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	background-color: #FFF;
	color: #444;
	font-family: "GenJyuuGothicXMonospace", sans-serif;
	font-variant-ligatures: none;
	height: 100%;
	letter-spacing: 0.1em;
	line-height: 2.5;
	min-width: 320px;
}

html,
body,
body div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
figure,
footer,
header,
menu,
nav,
section,
time,
mark,
audio,
video,
details,
summary {
	font-weight: 600;
}

a {
	color: #444;
	outline: none;
	text-decoration: none;
}

img {
	display: inline-block;
	height: auto;
	vertical-align: bottom;
}

img[data-src] {
	opacity: 0;
}

img.lazyloaded {
	opacity: 1;
	transition: opacity 0.5s ease-in;
}

input,
textarea,
button {
	color: #444;
	line-height: 2.5;
	outline: none;
}

hr {
	border-color: #000;
}

.sp {
	display: none;
}

span.br {
	display: inline-block;
	font-weight: inherit;
	text-indent: initial;
}

.inner {
	box-sizing: content-box;
	margin-left: auto;
	margin-right: auto;
	max-width: 75em;
}

.inner * {
	box-sizing: border-box;
}

.img.cover {
	overflow: hidden;
	position: relative;
}

.img.cover:before {
	content: "";
	display: block;
	padding-top: 100%;
}

.img.cover .no-image,
.img.cover img {
	bottom: 0;
	height: 100%;
	left: 0;
	object-fit: cover;
	position: absolute;
	right: 0;
	top: 0;
	width: 100%;
}

.img.cover .no-image {
	background-color: #ECF4D0;
	overflow: hidden;
	text-indent: 200%;
	white-space: nowrap;
}

.img.cover .no-image:before {
	background: url("../images/logo_mark01.png") no-repeat center/cover;
	content: "";
	display: block;
	height: calc(80 / 20 * 1em);
	left: 50%;
	margin-top: calc(-12 / 20 * 1em);
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: calc(80 / 20 * 1em);
}

.img.cover .no-image:after {
	color: #80BA34;
	content: "学校法人大野学園 鈴ヶ森めばえ幼稚園";
	display: block;
	font-size: calc(12 / 20 * 1em);
	left: 50%;
	letter-spacing: 0.1em;
	margin-top: calc(54 / 12 * 1em);
	position: absolute;
	text-indent: 0;
	top: 50%;
	transform: translate(-50%, -50%);
	white-space: nowrap;
}

/* Safari Hack */

_::-webkit-full-page-media,
_:future,
:root #home #intro .catchphrase .hl span,
_::-webkit-full-page-media,
_:future,
:root .information-link a span {
	transform: translateX(-0.5em);
}

input[id^="switch-"] {
	display: none;
}

#switch-global:checked ~ .header.toggle {
	background-color: #F2F7F2;
	border-bottom-left-radius: 0;
	height: 100dvh;
	overflow-y: auto;
	width: 100%;
}

#switch-global:checked ~ .header.toggle .btn-menu:before {
	transform: translateX(-50%) rotate(30deg);
}

#switch-global:checked ~ .header.toggle .btn-menu:after {
	transform: translateX(-50%) rotate(-30deg);
}

#switch-global:checked ~ .header.toggle .btn-menu span {
	color: transparent;
}

#switch-global:checked ~ .header.toggle .btn-menu span:before {
	color: #096AA3;
}

.btn-menu {
	color: #096AA3;
	display: none;
	height: 60px;
	line-height: 1;
	position: fixed;
	right: 0;
	top: 0;
	width: 60px;
}

.btn-menu:before,
.btn-menu:after {
	background-color: currentColor;
	content: "";
	display: block;
	height: 1.5px;
	position: absolute;
	right: 7px;
	top: 20px;
	transition-duration: 0.5s;
	transition-property: transform;
	width: 22px;
}

.btn-menu:before {
	transform: translateX(-50%) translateY(-3.25px);
}

.btn-menu:after {
	transform: translateX(-50%) translateY(3.25px);
}

.btn-menu span,
.btn-menu span:before {
	color: #096AA3;
	display: block;
	font-size: 12px;
	letter-spacing: 0.05em;
	position: absolute;
	right: 1.5px;
	text-indent: 0.05em;
	top: 30px;
	transform: translateX(-50%);
	transition-duration: 0.5s;
	transition-property: color;
}

.btn-menu span:before {
	color: transparent;
	content: "close";
	right: -20px;
	top: 0;
}

.information-link {
	border-bottom-left-radius: calc(20 / 20 * 1em);
	border-top-left-radius: calc(20 / 20 * 1em);
	bottom: calc(8.5% + (120 / 20 * 1em));
	height: calc(240 / 20 * 1em);
	overflow: hidden;
	position: fixed;
	right: 0;
	transition: transform 0.5s;
	width: calc(100 / 20 * 1em);
	z-index: 10;
}

.information-link.is-disable {
	transform: translateX(100%);
}

.information-link a {
	align-items: center;
	background-color: #096AA3;
	color: #FFF;
	display: flex;
	font-size: calc(18 / 20 * 1em);
	height: 100%;
	justify-content: center;
	letter-spacing: 0.2em;
	width: 100%;
	writing-mode: vertical-rl;
}

.information-link a:after {
	background: url("../images/information_icon01.svg") no-repeat center/cover;
	content: "";
	display: block;
	height: calc(20 / 18 * 1em);
	margin-top: calc(7 / 18 * 1em);
	position: relative;
	top: calc(1 / 18 * 1em);
	width: calc(34 / 18 * 1em);
}

.desktop .information-link a {
	transition: background-color 0.3s;
}

.desktop .information-link a:hover {
	background-color: #55A1BF;
}

.header {
	height: calc(440 / 20 * 1em);
	margin-bottom: calc(-90 / 20 * 1em);
	overflow: hidden;
	position: relative;
}

.header:not(.fixed):not(.toggle):before,
.header:not(.fixed):not(.toggle):after {
	aspect-ratio: 1 / 1;
	background: url("../images/deco_dots01.svg") no-repeat center/cover;
	content: "";
	display: block;
	left: calc(-81 / 20 * 1em);
	position: absolute;
	top: calc(-99 / 20 * 1em);
	transform: rotate(45deg);
	width: calc(260 / 20 * 1em);
	z-index: -1;
}

.header:not(.fixed):not(.toggle):after {
	left: auto;
	right: calc(-111 / 20 * 1em);
	top: calc(112 / 20 * 1em);
}

.header:not(.fixed):not(.toggle) h1.logo:before,
.header:not(.fixed):not(.toggle) h1.logo:after {
	aspect-ratio: 1 / 1;
	background: url("../images/deco_stripe01.svg") no-repeat center/cover;
	content: "";
	display: block;
	left: calc(-65 / 20 * 1em);
	position: absolute;
	top: calc(139 / 20 * 1em);
	width: calc(280 / 20 * 1em);
	z-index: -1;
}

.header:not(.fixed):not(.toggle) h1.logo:after {
	left: auto;
	right: calc(-44 / 20 * 1em);
	top: calc(-99 / 20 * 1em);
}

.header .logo {
	margin: calc(35 / 20 * 1em) auto;
	max-width: calc(518 / 20 * 1em);
	text-align: center;
}

.header .logo > *:before {
	background: url("../images/logo_mark01.png") no-repeat center/cover;
	content: "";
	display: inline-block;
	height: calc(100 / 20 * 1em);
	margin-bottom: calc(20 / 20 * 1em);
	vertical-align: top;
	width: calc(100 / 20 * 1em);
}

.header .global {
	display: flex;
	justify-content: space-between;
	left: 50%;
	margin: auto;
	max-width: calc(1390 / 20 * 1em);
	pointer-events: none;
	position: absolute;
	top: calc(26 / 20 * 1em);
	transform: translateX(-50%);
	width: 100%;
}

.header .global .menu {
	display: flex;
	justify-content: space-between;
	max-width: calc(560 / 1390 * 100%);
	width: 50%;
}

.header .global .menu li {
	align-items: center;
	aspect-ratio: 160 / 120;
	display: flex;
	height: 100%;
	justify-content: center;
	max-width: calc(160 / 560 * 100%);
	text-align: center;
	width: 100%;
}

.header .global .menu li a {
	color: #096AA3;
	font-size: calc(18 / 20 * 1em);
	letter-spacing: 0;
	line-height: 1;
	pointer-events: fill;
}

.header .global .menu li a:before,
.header .global .menu li a:after {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	content: "";
	display: block;
	height: calc(26 / 18 * 1em);
	margin: auto;
	width: calc(120 / 18 * 1em);
}

.header .global .menu li a:before {
	height: calc(74 / 18 * 1em);
	margin-top: calc(-2 / 18 * 1em);
	position: relative;
	width: calc(74 / 18 * 1em);
}

.header .global .menu li a:after {
	margin-top: calc(2 / 18 * 1em);
}

.desktop .header .global .menu li a {
	transition: opacity 0.3s;
}

.desktop .header .global .menu li a:hover {
	opacity: 0.7;
}

.header .global .menu.left li:nth-child(1) a:before {
	background-image: url("../images/menu_icon01.svg");
}

.header .global .menu.left li:nth-child(1) a:after {
	background-image: url("../images/menu_line01.svg");
}

.header .global .menu.left li:nth-child(2) a:before {
	background-image: url("../images/menu_icon02.svg");
}

.header .global .menu.left li:nth-child(2) a:after {
	background-image: url("../images/menu_line02.svg");
}

.header .global .menu.left li:nth-child(3) a:before {
	background-image: url("../images/menu_icon03.svg");
}

.header .global .menu.left li:nth-child(3) a:after {
	background-image: url("../images/menu_line03.svg");
}

.header .global .menu.right li:nth-child(1) a:before {
	background-image: url("../images/menu_icon04.svg");
}

.header .global .menu.right li:nth-child(1) a:after {
	background-image: url("../images/menu_line04.svg");
}

.header .global .menu.right li:nth-child(2) a:before {
	background-image: url("../images/menu_icon05.svg");
}

.header .global .menu.right li:nth-child(2) a:after {
	background-image: url("../images/menu_line05.svg");
}

.header .global .menu.right li:nth-child(3) a:before {
	background-image: url("../images/menu_icon06.svg");
}

.header .global .menu.right li:nth-child(3) a:after {
	background-image: url("../images/menu_line06.svg");
}

body.page .header.toggle,
.header.toggle {
	background-color: #FFF;
	border: 2px solid currentColor;
	border-bottom-left-radius: 8px;
	border-right: none;
	border-top: none;
	color: #096AA3;
	display: none;
	height: 60px;
	position: fixed;
	right: 0;
	top: 0;
	transition-duration: 0.5s;
	transition-property: background-color border-radius height overflow-y width;
	width: 60px;
	z-index: 1001;
}

body.page .header.toggle a,
.header.toggle a {
	pointer-events: fill;
}

body.page .header.toggle .global,
.header.toggle .global {
	display: block;
	height: 100%;
	left: 0;
	max-width: none;
	min-width: 100dvw;
	position: absolute;
	top: 0;
	transform: none;
	z-index: 1001;
}

body.page .header.toggle .global .group,
.header.toggle .global .group {
	margin-top: 3.5em;
}

body.page .header.toggle .global .menu,
.header.toggle .global .menu {
	margin: 3em auto;
	max-width: 82%;
	width: 100%;
}

body.page .header.toggle .global .menu li a,
.header.toggle .global .menu li a {
	font-size: 1em;
}

body.page .header.toggle .global .menu li a:before,
.header.toggle .global .menu li a:before {
	height: calc(55 / 12 * 1em);
	margin-bottom: calc(-1 / 12 * 1em);
	width: calc(55 / 12 * 1em);
}

body.page .header.toggle .global .menu li a:after,
.header.toggle .global .menu li a:after {
	height: calc(18.2 / 12 * 1em);
	margin-top: 0;
	width: calc(84 / 12 * 1em);
}

body.page .header.toggle .sub-link,
.header.toggle .sub-link {
	margin-top: 3.75em;
}

body.page .header.toggle .sub-link a,
.header.toggle .sub-link a {
	align-items: center;
	background-color: #99D641;
	border-radius: 20px;
	color: #096AA3;
	display: flex;
	flex-direction: column;
	font-size: 1em;
	height: 60px;
	justify-content: center;
	letter-spacing: 0.2em;
	line-height: 1;
	margin: auto;
	width: 250px;
}

body.page .header.toggle .sub-link a:before,
.header.toggle .sub-link a:before {
	background: url("../images/information_icon01.svg") no-repeat center/cover;
	content: "";
	display: block;
	height: 15.25px;
	margin-bottom: 6px;
	margin-top: -4px;
	width: 25px;
}

body.page .header.toggle .sns,
.header.toggle .sns {
	column-gap: 10px;
	display: flex;
	justify-content: center;
	margin: 3.875em 0;
}

body.page .header.toggle .sns li,
.header.toggle .sns li {
	margin: 0.15em;
}

body.page .header.toggle .sns li a,
.header.toggle .sns li a {
	align-items: center;
	aspect-ratio: 1 / 1;
	background-color: #FFF;
	border-radius: 100%;
	display: flex;
	justify-content: center;
	width: 60px;
}

body.page .header.toggle .sns li a img,
.header.toggle .sns li a img {
	aspect-ratio: 1 / 1;
	width: 35px;
}

body.page .header.fixed,
.header.fixed {
	background-color: #FFF;
	height: calc(100 / 20 * 1em);
	left: 0;
	position: fixed;
	top: 0;
	transform: translateY(-100%);
	transition: transform 0.5s;
	width: 100%;
	z-index: 1000;
}

body.page .header.fixed.is-enable,
.header.fixed.is-enable {
	transform: translateY(0);
}

body.page .header.fixed .logo,
.header.fixed .logo {
	margin: calc(20 / 20 * 1em) auto;
	max-width: calc(240 / 20 * 1em);
}

body.page .header.fixed .logo > *:before,
.header.fixed .logo > *:before {
	display: none;
}

body.page .header.fixed .global,
.header.fixed .global {
	max-width: calc(1020 / 20 * 1em);
	top: calc(10 / 20 * 1em);
}

body.page .header.fixed .global .menu,
.header.fixed .global .menu {
	max-width: calc(420 / 1210 * 100%);
}

body.page .header.fixed .global .menu li a,
.header.fixed .global .menu li a {
	font-size: calc(14 / 20 * 1em);
}

body.page .header.fixed .global .menu li a:before,
.header.fixed .global .menu li a:before {
	height: calc(74 / 22 * 1em);
	margin-top: calc(-2 / 22 * 1em);
	width: calc(74 / 22 * 1em);
}

body.page .header.fixed .global .menu li a:after,
.header.fixed .global .menu li a:after {
	height: calc(26 / 22 * 1em);
	margin-top: calc(2 / 22 * 1em);
	width: calc(120 / 22 * 1em);
}

#footer {
	background-color: #096AA3;
	color: #FFF;
	margin-top: calc(300 / 20 * 1em);
	position: relative;
}

#footer:before {
	bottom: auto;
	transform: translateY(-90%);
}

#footer:after {
	aspect-ratio: 2000 / 400;
	background: url("../images/footer_bg01.svg") no-repeat center/cover;
	content: "";
	display: block;
	position: absolute;
	top: calc(-628 / 20 * 1em);
	width: 100%;
	z-index: -1;
}

#footer a {
	color: #FFF;
}

#footer .pagetop {
	border-bottom-left-radius: calc(20 / 20 * 1em);
	border-top-left-radius: calc(20 / 20 * 1em);
	bottom: 8.5%;
	height: calc(100 / 20 * 1em);
	overflow: hidden;
	position: fixed;
	right: 0;
	transform: translateX(100%);
	transition: transform 0.5s;
	width: calc(100 / 20 * 1em);
	z-index: 10;
}

#footer .pagetop.is-enable {
	transform: translateX(0);
}

#footer .pagetop a {
	align-items: center;
	background-color: #096AA3;
	color: #FFF;
	display: flex;
	flex-direction: column;
	font-size: calc(10 / 20 * 1em);
	height: 100%;
	justify-content: center;
	letter-spacing: 0.125em;
	line-height: 1;
	width: 100%;
}

#footer .pagetop a:before {
	background: url("../images/pagetop01.svg") no-repeat center/contain;
	content: "";
	display: block;
	height: calc(26 / 10 * 1em);
	margin-bottom: calc(10 / 10 * 1em);
	width: calc(28 / 10 * 1em);
}

.desktop #footer .pagetop a {
	transition: background-color 0.3s;
}

.desktop #footer .pagetop a:before {
	transition: opacity 0.3s;
}

.desktop #footer .pagetop a:hover {
	background-color: #55A1BF;
}

.desktop #footer .pagetop a:hover:before {
	opacity: 0.7;
}

#footer > .inner {
	max-width: calc(1600 / 20 * 1em);
	padding-bottom: calc(50 / 20 * 1em);
	padding-top: calc(80 / 20 * 1em);
}

#footer > .inner:before {
	background-color: #99D641;
	content: "";
	display: block;
	height: 100%;
	left: 0;
	position: absolute;
	top: calc((-628 / 20 * 1em) + (400 / (2000 + 100) * 100vw));
	width: 100%;
	z-index: -1;
}

#footer .logo {
	margin-bottom: calc(20 / 20 * 1em);
}

#footer .logo a {
	align-items: center;
	display: flex;
}

#footer .logo img {
	height: calc(60 / 20 * 1em);
	margin: 0 calc(4 / 20 * 1em);
	position: relative;
	top: calc(1 / 20 * 1em);
	width: calc(60 / 20 * 1em);
}

#footer .logo p {
	font-size: calc(16 / 20 * 1em);
	letter-spacing: 0;
	line-height: 1;
	margin-left: calc(15 / 16 * 1em);
}

#footer .logo p span {
	display: block;
	font-size: calc(22 / 16 * 1em);
	letter-spacing: 0.125em;
	margin-top: calc(10 / 16 * 1em);
}

#footer .address,
#footer .map-link {
	font-size: calc(16 / 20 * 1em);
	font-weight: 500;
	letter-spacing: 0.125em;
	line-height: 2;
}

.desktop #footer .address a:hover,
.desktop
    #footer .map-link a:hover {
	text-decoration: underline;
}

#footer .wrap {
	display: flex;
	justify-content: space-between;
}

#footer .wrap:nth-child(1) .block:nth-child(2) {
	padding-top: calc(50 / 20 * 1em);
}

#footer .wrap:nth-child(2) {
	margin-top: calc(30 / 20 * 1em);
}

#footer .menu {
	display: flex;
	flex-wrap: wrap;
}

#footer .menu li > * {
	font-size: calc(16 / 20 * 1em);
	font-weight: 500;
	letter-spacing: 0.125em;
}

.desktop #footer .menu li > a:hover {
	text-decoration: underline;
}

#footer .menu.main li:not(:first-child):before {
	content: "|";
	display: inline-block;
	font-weight: 400;
	margin: 0 0.45em;
	transform: scale(80%);
}

#footer .menu.sub {
	column-gap: calc(20 / 20 * 1em);
}

#footer .menu.sub li > * {
	font-size: calc(14 / 20 * 1em);
}

#footer .sns {
	column-gap: calc(10 / 20 * 1em);
	display: flex;
}

#footer .sns li {
	margin: 0.15em;
}

#footer .sns li a img {
	aspect-ratio: 1 / 1;
	width: calc(30 / 20 * 1em);
}

.desktop #footer .sns li a {
	transition: opacity 0.3s;
}

.desktop #footer .sns li a:hover {
	opacity: 0.7;
}

#footer #copyright small {
	font-size: calc(12 / 20 * 1em);
	font-weight: 500;
	letter-spacing: 0;
}

.breadcrumbs {
	display: flex;
	flex-wrap: wrap;
}

.breadcrumbs li {
	color: #B3C0C4;
	letter-spacing: 0.125em;
	line-height: 1.25;
	margin: 0.235em 0;
}

.breadcrumbs li:not(:last-child):after {
	content: "－";
	display: inline-block;
	margin: 0 0.8em;
	position: relative;
	top: calc(2 / 20 * 1em);
	transform: scale(0.8);
}

.breadcrumbs li > * {
	color: #B3C0C4;
	font-size: calc(16 / 20 * 1em);
	letter-spacing: 0.125em;
	white-space: normal;
}

.breadcrumbs li > span {
	color: #688091;
}

.breadcrumbs li > a {
	text-decoration: underline;
}

.desktop .breadcrumbs li > a {
	transition: color 0.3s;
}

.desktop .breadcrumbs li > a:hover {
	color: #688091;
}

.section-title {
	position: relative;
}

.section-title:before {
	background: url("../images/icon_st01.svg") no-repeat center/cover;
	content: "";
	display: block;
	height: calc(60 / 20 * 1em);
	margin-bottom: calc(-1 / 20 * 1em);
	position: relative;
	top: calc(-12 / 20 * 1em);
	width: calc(60 / 20 * 1em);
	z-index: 1;
}

.section-title:after {
	background-color: #FFF;
	border-radius: 100%;
	content: "";
	display: block;
	height: calc(124 / 20 * 1em);
	left: calc(-50 / 20 * 1em);
	position: absolute;
	top: calc(21.5 / 20 * 1em);
	width: calc(119.7179 / 20 * 1em);
}

.section-title > span {
	display: block;
	letter-spacing: 0.2em;
	line-height: 1;
	position: relative;
	z-index: 1;
}

.section-title > span.jp {
	font-size: calc(46 / 20 * 1em);
	letter-spacing: 0.125em;
}

.section-title > span.jp.kk {
	font-size: calc(50 / 20 * 1em);
	letter-spacing: 0.2em;
}

.section-title > span.en {
	color: #096AA3;
	font-size: calc(30 / 20 * 1em);
	margin-top: 0.85em;
}

.section-title > span.en.tight {
	letter-spacing: 0.125em;
}

.section-title.ir:after {
	height: calc(128 / 20 * 1em);
	left: calc(-60 / 20 * 1em);
	width: calc(121.7179 / 20 * 1em);
}

.section-title.icon01:before {
	left: calc(-6 / 20 * 1em);
}

.section-title.icon02:before {
	background-image: url("../images/icon_st02.svg");
	left: calc(-13 / 20 * 1em);
	top: calc(-23 / 20 * 1em);
}

.section-title.icon03:before {
	background-image: url("../images/icon_st03.svg");
	top: calc(-19 / 20 * 1em);
}

.section-title.icon04:before {
	background-image: url("../images/icon_st04.svg");
	top: calc(-16 / 20 * 1em);
}

.section-title.icon05:before {
	background-image: url("../images/icon_st05.svg");
	top: calc(-14 / 20 * 1em);
}

.support-list {
	box-sizing: content-box;
	column-gap: calc(145 / 1400 * 100%);
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: calc(64 / 20 * 1em) auto;
	max-width: calc(1400 / 20 * 1em);
}

.support-list li {
	margin: calc(59 / 20 * 1em) 0;
	max-width: calc(370 / 1400 * 100%);
	position: relative;
	text-align: center;
}

.support-list li a {
	display: block;
}

.support-list li a:before,
.support-list li a:after {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	content: "";
	display: block;
	position: absolute;
}

.support-list li a:before {
	background-image: url("../images/support-list_bg01.svg");
	height: calc(100 / 20 * 1em);
	left: calc(-20 / 20 * 1em);
	top: calc(-10 / 20 * 1em);
	width: calc(84 / 20 * 1em);
}

.support-list li a:after {
	background-image: url("../images/support-list_line01.svg");
	bottom: calc(-15 / 20 * 1em);
	height: calc(20 / 20 * 1em);
	left: 50%;
	transform: translateX(-50%);
	width: calc(120 / 20 * 1em);
}

.desktop .support-list li a {
	transition: opacity 0.3s;
}

.desktop .support-list li a:hover {
	opacity: 0.7;
}

.support-list li .img .clip {
	clip-path: url(#cpath01);
}

.support-list li .img svg {
	position: absolute;
}

.support-list li .title {
	align-items: center;
	display: flex;
	font-size: calc(24 / 20 * 1em);
	justify-content: center;
	letter-spacing: 0.125em;
	position: relative;
	white-space: nowrap;
}

.support-list li .title:after {
	border: calc(2.5 / 20 * 1em) solid #096AA3;
	border-bottom: none;
	border-left: none;
	content: "";
	display: inline-block;
	flex-shrink: 0;
	height: calc(11 / 24 * 1em);
	margin-left: 0.65em;
	margin-right: -1.25em;
	transform: rotate(45deg);
	width: calc(11 / 24 * 1em);
}

.marquee-swiper .swiper-wrapper {
	transition-timing-function: linear !important;
}

.marquee-swiper .swiper-slide {
	max-width: calc(400 / 20 * 1em);
	position: relative;
}

.marquee-swiper .swiper-slide .caption {
	background-color: rgba(237, 249, 242, 0.8);
	border-top-right-radius: calc(10 / 20 * 1em);
	bottom: 0;
	box-sizing: border-box;
	padding: calc(5.5 / 20 * 1em) calc(10 / 20 * 1em);
	position: absolute;
	width: calc(100% - (40 / 400 * 100%));
	z-index: 1;
}

.marquee-swiper .swiper-slide .caption > * {
	color: #777;
	font-size: calc(14 / 20 * 1em);
	letter-spacing: 0.05em;
	line-height: 1.575;
}

.marquee-swiper .swiper-slide .caption > p {
	font-weight: 500;
}

.marquee-swiper .img.cover:before {
	padding-top: calc(300 / 400 * 100%);
}

.decoration {
	pointer-events: none;
	position: relative;
	z-index: 1;
}

.decoration [class*="shape"] {
	aspect-ratio: 1 / 1;
	color: transparent;
	display: block;
	position: absolute;
	width: calc(100 / 20 * 1em);
}

.decoration [class*="shape"]:before {
	background: url("../images/deco_square_green01.svg") no-repeat center/contain;
	content: "";
	display: block;
	height: 100%;
	position: absolute;
	width: 100%;
}

.decoration [class*="shape"].small {
	width: calc(50 / 20 * 1em);
}

.decoration [class*="shape"].square.green.small:before {
	background-image: url("../images/deco_square_green02.svg");
}

.decoration [class*="shape"].square.pink:before {
	background-image: url("../images/deco_square_pink01.svg");
}

.decoration [class*="shape"].square.pink.small:before {
	background-image: url("../images/deco_square_pink02.svg");
}

.decoration [class*="shape"].triangle.green:before {
	background-image: url("../images/deco_triangle_green01.svg");
}

.decoration [class*="shape"].triangle.green.small:before {
	background-image: url("../images/deco_triangle_green02.svg");
}

.decoration [class*="shape"].triangle.pink:before {
	background-image: url("../images/deco_triangle_pink01.svg");
}

.decoration [class*="shape"].triangle.pink.small:before {
	background-image: url("../images/deco_triangle_pink02.svg");
}

.page .content {
	overflow: hidden;
}

.page .content > section {
	padding-top: calc(80 / 20 * 1em);
	position: relative;
}

.page .inner {
	max-width: calc(1400 / 20 * 1em);
}

.page .mw1000 {
	max-width: calc(1000 / 20 * 1em);
}

.page .mw1200 {
	max-width: calc(1200 / 20 * 1em);
}

.page .flex {
	display: flex;
	justify-content: space-between;
}

.page .flex .mw1000 {
	width: 100%;
}

.page .section-title {
	margin-bottom: calc(88 / 20 * 1em);
	text-align: center;
}

.page .section-title:before {
	display: none;
}

.page .section-title:after {
	background: url("../images/line01.svg") no-repeat center/cover;
	bottom: calc(-14 / 20 * 1em);
	content: "";
	display: block;
	height: calc(20 / 20 * 1em);
	left: 50%;
	position: relative;
	top: auto;
	transform: translateX(-50%);
	width: calc(120 / 20 * 1em);
}

.page .section-title > span {
	line-height: 1.3;
}

.page .section-title > span.jp {
	font-size: calc(40 / 20 * 1em);
	text-indent: 0.125em;
}

.page .section-title > span.en {
	color: #83969E;
	font-size: calc(22 / 20 * 1em);
	line-height: 1;
	margin-bottom: calc(-1 / 20 * 1em);
	margin-top: 0.3em;
	text-indent: 0.125em;
}

.page .img {
	border-radius: calc(20 / 20 * 1em);
	overflow: hidden;
}

.page .editor-area h1:not([class]),
.page .editor-area h2:not([class]),
.page .editor-area h3:not([class]),
.page .text h1:not([class]),
.page .text h2:not([class]),
.page .text h3:not([class]) {
	font-size: calc(30 / 20 * 1em);
	letter-spacing: 0.125em;
	line-height: 1.4;
	margin-top: 2.01em;
	position: relative;
	top: calc(-1 / 20 * 1em);
}

.page .editor-area h1:not([class]):after,
.page .editor-area h2:not([class]):after,
.page .editor-area h3:not([class]):after,
.page .text h1:not([class]):after,
.page .text h2:not([class]):after,
.page .text h3:not([class]):after {
	background: radial-gradient(circle farthest-side, #096AA3, #096AA3 55%, transparent 55%, transparent);
	background-size: calc(6.55 / 20 * 1em) calc(6.55 / 20 * 1em);
	bottom: calc(-14 / 20 * 1em);
	content: "";
	height: calc(6.55 / 20 * 1em);
	left: calc(-1 / 20 * 1em);
	position: absolute;
	width: 3em;
}

.page .editor-area h1:not([class]) + p:not([class]),
.page .editor-area h2:not([class]) + p:not([class]),
.page .editor-area h3:not([class]) + p:not([class]),
.page .text h1:not([class]) + p:not([class]),
.page .text h2:not([class]) + p:not([class]),
.page .text h3:not([class]) + p:not([class]) {
	margin-top: 1.75em;
}

.page .editor-area h4:not([class]),
.page .text h4:not([class]) {
	color: #096AA3;
	font-size: calc(24 / 20 * 1em);
	letter-spacing: 0.105em;
	line-height: 1.4;
	margin-top: 1.875em;
}

.page .editor-area h4:not([class]):after,
.page .text h4:not([class]):after {
	border-bottom: calc(2 / 20 * 1em) solid currentColor;
	content: "";
	display: block;
	position: relative;
	top: calc(4 / 20 * 1em);
	width: 3.25em;
}

.page .editor-area h4:not([class]) + p:not([class]),
.page .text h4:not([class]) + p:not([class]) {
	margin-bottom: 1.5em;
	margin-top: 0.65em;
}

.page .editor-area h5:not([class]),
.page .editor-area h6:not([class]),
.page .text h5:not([class]),
.page .text h6:not([class]) {
	font-size: calc(18 / 20 * 1em);
	letter-spacing: 0.105em;
	line-height: 1.4;
	margin-top: 1.875em;
	padding-left: 0.75em;
	position: relative;
}

.page .editor-area h5:not([class]):before,
.page .editor-area h6:not([class]):before,
.page .text h5:not([class]):before,
.page .text h6:not([class]):before {
	background-color: #096AA3;
	content: "";
	display: block;
	height: calc(14 / 18 * 1em);
	left: 0;
	position: absolute;
	top: 0.25em;
	width: calc(4 / 18 * 1em);
}

.page .editor-area h5:not([class]) + p:not([class]),
.page .editor-area h6:not([class]) + p:not([class]),
.page .text h5:not([class]) + p:not([class]),
.page .text h6:not([class]) + p:not([class]) {
	margin-top: 0.925em;
}

.page .editor-area p:not([class]) a,
.page .editor-area table:not([class]) td a,
.page .text table:not([class]) .editor-area td a,
.page .editor-area ol:not([class]) > li a,
.page .editor-area ul:not([class]) > li a,
.page .editor-area .text ol:not([class]) > li a,
.page .editor-area .text ul:not([class]) > li a,
.page .text p:not([class]) a,
.page .editor-area table:not([class]) .text td a,
.page .text table:not([class]) td a,
.page .text .editor-area ol:not([class]) > li a,
.page .text .editor-area ul:not([class]) > li a,
.page .text ol:not([class]) > li a,
.page .text ul:not([class]) > li a {
	color: #096AA3;
	text-decoration: underline;
	transition: color 0.3s;
}

.page .editor-area p:not([class]) a img,
.page .editor-area table:not([class]) td a img,
.page .text table:not([class]) .editor-area td a img,
.page .editor-area ol:not([class]) > li a img,
.page .editor-area ul:not([class]) > li a img,
.page .editor-area .text ol:not([class]) > li a img,
.page .editor-area .text ul:not([class]) > li a img,
.page .text p:not([class]) a img,
.page .editor-area table:not([class]) .text td a img,
.page .text table:not([class]) td a img,
.page .text .editor-area ol:not([class]) > li a img,
.page .text .editor-area ul:not([class]) > li a img,
.page .text ol:not([class]) > li a img,
.page .text ul:not([class]) > li a img {
	transition: opacity 0.3s;
}

.desktop .page .editor-area p:not([class]) a:hover,
.desktop .page .editor-area table:not([class]) td a:hover,
.desktop .page .text table:not([class]) .editor-area td a:hover,
.desktop .page .editor-area ol:not([class]) > li a:hover,
.desktop .page .editor-area ul:not([class]) > li a:hover,
.desktop .page .editor-area .text ol:not([class]) > li a:hover,
.desktop .page .editor-area .text ul:not([class]) > li a:hover,
.desktop .page .text p:not([class]) a:hover,
.desktop .page .editor-area table:not([class]) .text td a:hover,
.desktop .page .text table:not([class]) td a:hover,
.desktop .page .text .editor-area ol:not([class]) > li a:hover,
.desktop .page .text .editor-area ul:not([class]) > li a:hover,
.desktop .page .text ol:not([class]) > li a:hover,
.desktop .page .text ul:not([class]) > li a:hover {
	color: #7CC3D6;
}

.desktop .page .editor-area p:not([class]) a:hover img,
.desktop .page .editor-area table:not([class]) td a:hover img,
.desktop .page .text table:not([class]) .editor-area td a:hover img,
.desktop .page .editor-area ol:not([class]) > li a:hover img,
.desktop .page .editor-area ul:not([class]) > li a:hover img,
.desktop .page .editor-area .text ol:not([class]) > li a:hover img,
.desktop .page .editor-area .text ul:not([class]) > li a:hover img,
.desktop .page .text p:not([class]) a:hover img,
.desktop .page .editor-area table:not([class]) .text td a:hover img,
.desktop .page .text table:not([class]) td a:hover img,
.desktop .page .text .editor-area ol:not([class]) > li a:hover img,
.desktop .page .text .editor-area ul:not([class]) > li a:hover img,
.desktop .page .text ol:not([class]) > li a:hover img,
.desktop .page .text ul:not([class]) > li a:hover img {
	opacity: 0.7;
}

.page .editor-area p:not([class]),
.page .text p:not([class]) {
	color: #444;
	font-size: calc(18 / 20 * 1em);
	font-weight: 500;
	letter-spacing: 0.105em;
	margin: 2em auto 2.5em;
}

.page .editor-area p:not([class]):first-child,
.page .text p:not([class]):first-child {
	margin-top: calc(-15 / 20 * 1em);
}

.page .editor-area p:not([class]) + .img,
.page .text p:not([class]) + .img {
	margin: calc(48 / 20 * 1em) 0;
}

.page .editor-area table:not([class]),
.page .text table:not([class]) {
	display: block;
	height: auto !important;
	margin: 1.875em 0 2.5em;
	width: 100%;
}

.page .editor-area table:not([class]) colgroup,
.page .text table:not([class]) colgroup {
	display: none;
}

.page .editor-area table:not([class]) tbody,
.page .text table:not([class]) tbody {
	display: inherit;
	width: inherit;
}

.page .editor-area table:not([class]) tr,
.page .editor-area table:not([class]) th,
.page .editor-area table:not([class]) td,
.page .text table:not([class]) tr,
.page .text table:not([class]) th,
.page .text table:not([class]) td {
	height: auto !important;
}

.page .editor-area table:not([class]) tr,
.page .text table:not([class]) tr {
	display: flex;
	justify-content: space-between;
	position: relative;
}

.page .editor-area table:not([class]) tr:after,
.page .text table:not([class]) tr:after {
	background: radial-gradient(circle farthest-side, #A7C7D9, #A7C7D9 25%, transparent 25%, transparent);
	background-size: calc(10 / 20 * 1em) calc(10 / 20 * 1em);
	bottom: calc(-5 / 20 * 1em);
	content: "";
	height: calc(10 / 20 * 1em);
	left: 0;
	position: absolute;
	width: 100%;
}

.page .editor-area table:not([class]) th,
.page .editor-area table:not([class]) td,
.page .text table:not([class]) th,
.page .text table:not([class]) td {
	font-size: calc(18 / 20 * 1em);
	font-weight: 500;
	letter-spacing: 0.105em;
	line-height: 2;
	padding: calc(25 / 20 * 1em) 0 calc(25.5 / 20 * 1em);
}

.page .editor-area table:not([class]) th,
.page .text table:not([class]) th {
	color: #096AA3;
	padding-right: 1em;
	text-align: left;
	width: 20%;
}

.page .editor-area table:not([class]) th span[style*="font-weight"][style*="400"],
.page .text table:not([class]) th span[style*="font-weight"][style*="400"] {
	font-weight: inherit !important;
}

.page .editor-area table:not([class]) td,
.page .text table:not([class]) td {
	align-self: center;
	width: 80%;
}

.page .editor-area ol:not([class]),
.page .editor-area ul:not([class]),
.page .text ol:not([class]),
.page .text ul:not([class]) {
	margin: 1em auto 2.5em;
}

.page .editor-area ol:not([class]) > li,
.page .editor-area ul:not([class]) > li,
.page .text ol:not([class]) > li,
.page .text ul:not([class]) > li {
	font-size: calc(18 / 20 * 1em);
	font-weight: 500;
	line-height: 1.6;
	margin: 0.9em 0;
	padding-left: 1.1em;
	position: relative;
}

.page .editor-area ol:not([class]) > li:before,
.page .editor-area ul:not([class]) > li:before,
.page .text ol:not([class]) > li:before,
.page .text ul:not([class]) > li:before {
	background: url("../images/list_dot01.svg") no-repeat center/cover;
	content: "";
	height: calc(8 / 18 * 1em);
	left: 0;
	position: absolute;
	top: 0.55em;
	width: calc(8 / 18 * 1em);
}

.page .editor-area ol.images,
.page .editor-area ul.images,
.page .text ol.images,
.page .text ul.images {
	column-gap: calc(60 / 20 * 1em);
	display: flex;
	justify-content: space-between;
}

.page .editor-area ol.images li,
.page .editor-area ul.images li,
.page .text ol.images li,
.page .text ul.images li {
	width: 100%;
}

.page .editor-area ol.images img,
.page .editor-area ol.images .img,
.page .editor-area ul.images img,
.page .editor-area ul.images .img,
.page .text ol.images img,
.page .text ol.images .img,
.page .text ul.images img,
.page .text ul.images .img {
	width: 100%;
}

.page .editor-area ol.images img,
.page .editor-area ul.images img,
.page .text ol.images img,
.page .text ul.images img {
	aspect-ratio: 670 / 426;
}

.page .editor-area ol:not([class]),
.page .text ol:not([class]) {
	counter-reset: ol 0;
}

.page .editor-area ol:not([class]) > li,
.page .text ol:not([class]) > li {
	counter-increment: ol;
	list-style: none;
	padding-left: 1.5em;
}

.page .editor-area ol:not([class]) > li:before,
.page .text ol:not([class]) > li:before {
	background: none;
	color: #096AA3;
	content: counter(ol) ".";
	font-weight: bold;
	top: 0;
}

.page .editor-area em,
.page .text em {
	font-style: normal;
}

.page .editor-area strong,
.page .text strong {
	background: linear-gradient(transparent 63%, #F7DADA 30%);
	font-weight: 500;
}

.page .editor-area span[style],
.page .text span[style] {
	font-weight: inherit;
}

.page .header .global {
	max-width: calc(1210 / 20 * 1em);
	top: calc(36 / 20 * 1em);
}

.page .header .global .menu {
	max-width: calc(420 / 1210 * 100%);
}

.page .header .global .menu li a {
	font-size: calc(16 / 20 * 1em);
}

.page #footer {
	margin-top: calc(300 / 20 * 1em);
}

.page #footer:after {
	background-image: url("../images/footer_bg02.svg");
	top: calc(-228 / 20 * 1em);
}

.page #footer > .inner:before {
	height: 15%;
	top: calc((-228 / 20 * 1em) + (400 / (2000 + 100) * 100vw));
}

.page .hero {
	position: relative;
}

.page .hero:after {
	bottom: calc(-10 / 20 * 1em);
}

.page .hero .wrap {
	display: flex;
	justify-content: space-between;
}

.page .hero .wrap .img {
	aspect-ratio: 1090 / 480;
	clip-path: url(#heropath01);
	max-height: calc(480 / 20 * 1em);
}

.page .hero .wrap .img svg {
	position: absolute;
}

.page .hero .wrap .img img {
	width: 100%;
}

.page .hero .wrap .block:nth-child(1) {
	align-items: center;
	display: flex;
	flex-grow: 1;
	justify-content: center;
	padding-left: 40px;
	position: relative;
	z-index: 2;
}

.page .hero .wrap .block .text {
	max-width: calc(450 / 20 * 1em);
	padding-bottom: calc(29 / 20 * 1em);
	white-space: nowrap;
	width: 100%;
}

.page .hero .breadcrumbs {
	margin-top: calc(57 / 20 * 1em);
	min-height: calc(69 / 20 * 1em);
}

.page .hero .decoration {
	aspect-ratio: 2000 / 1000;
	position: absolute;
	width: 100%;
	z-index: 2;
}

.page .hero .decoration .shape01 {
	left: 12%;
	top: calc(19.5 / 20 * 1em);
	transform: rotate(-157.012deg);
	width: calc(27.7 / 20 * 1em);
}

.page .hero .decoration .shape02 {
	left: 5.025%;
	top: calc(288 / 20 * 1em);
	transform: rotate(10deg);
	width: calc(23 / 20 * 1em);
}

.page .hero .decoration .shape03 {
	left: 7.7%;
	top: calc(596 / 20 * 1em);
	transform: rotate(30deg);
	width: calc(21.3 / 20 * 1em);
}

.page .hero .decoration .shape04 {
	left: 20.95%;
	top: calc(525 / 20 * 1em);
	transform: rotate(-40deg);
	width: calc(18.8 / 20 * 1em);
}

.page .hero .decoration .shape05 {
	left: 40.84%;
	top: calc(196.9 / 20 * 1em);
	transform: rotate(45deg);
	width: calc(29 / 20 * 1em);
}

.page .hero .decoration .shape06 {
	left: 47.05%;
	top: calc(530.5 / 20 * 1em);
	transform: rotate(-13deg);
	width: calc(19.85 / 20 * 1em);
}

.page .hero .decoration .shape07 {
	right: 38.25%;
	top: calc(57.5 / 20 * 1em);
	transform: rotate(-13deg);
	width: calc(31 / 20 * 1em);
}

.page .hero .decoration .shape08 {
	right: 7.85%;
	top: calc(238.5 / 20 * 1em);
	transform: rotate(33deg);
	width: calc(32.6 / 20 * 1em);
}

.page .hero .decoration .shape09 {
	right: 32.2%;
	top: calc(340 / 20 * 1em);
	transform: rotate(-30deg);
	width: calc(26 / 20 * 1em);
}

.page .hero .decoration .shape10 {
	right: 10.47%;
	top: calc(531 / 20 * 1em);
	transform: rotate(10deg);
	width: calc(21.1 / 20 * 1em);
}

.page .hero .decoration .shape11 {
	right: 22.3%;
	top: calc(573 / 20 * 1em);
	transform: rotate(-38deg);
	width: calc(22.8 / 20 * 1em);
}

.page-title span {
	display: block;
	letter-spacing: 0.2em;
	line-height: 1;
	position: relative;
	z-index: 1;
}

.page-title span.jp {
	font-size: calc(50 / 20 * 1em);
	letter-spacing: 0.125em;
}

.page-title span.en {
	color: #096AA3;
	font-size: calc(30 / 20 * 1em);
	margin-top: 0.8em;
}

.page .title-deco {
	margin: calc(185 / 20 * 1em) 0 calc(117 / 20 * 1em);
	position: relative;
	text-align: center;
}

.page .title-deco:after {
	background: url("../images/title_bg01.svg") no-repeat center/cover;
	content: "";
	display: block;
	height: calc(144.1235 / 20 * 1em);
	left: 50%;
	position: absolute;
	top: 53.75%;
	transform: translate(-50%, -50%);
	width: calc(351 / 20 * 1em);
}

.page .title-deco span {
	display: block;
	letter-spacing: 0.2em;
	line-height: 1;
	position: relative;
	z-index: 1;
}

.page .title-deco span.jp {
	font-size: calc(44 / 20 * 1em);
	letter-spacing: 0.125em;
}

.page .title-deco span.jp:has(wbr) {
	word-break: keep-all;
}

.page .title-deco span.en {
	color: #83969E;
	font-size: calc(26 / 20 * 1em);
	margin-top: 0.675em;
}

.page .title-ud {
	font-size: calc(30 / 20 * 1em);
	letter-spacing: 0.125em;
	line-height: 1.4;
	position: relative;
	top: calc(-1 / 20 * 1em);
}

.page .title-ud span {
	display: inline-block;
	position: relative;
}

.page .title-ud span:after {
	background: radial-gradient(circle farthest-side, #096AA3, #096AA3 55%, transparent 55%, transparent);
	background-size: calc(6.55 / 20 * 1em) calc(6.55 / 20 * 1em);
	bottom: calc(-13 / 20 * 1em);
	content: "";
	height: calc(6.55 / 20 * 1em);
	left: calc(-1 / 20 * 1em);
	position: absolute;
	width: 100%;
}

.page .title-ud + p:not([class]) {
	margin-top: 0.75em;
}

.page .title-ul {
	color: #096AA3;
	font-size: calc(24 / 20 * 1em);
	letter-spacing: 0.105em;
	line-height: 1.4;
	text-align: center;
}

.page .title-ul span {
	border-bottom: calc(2 / 20 * 1em) solid currentColor;
	padding-bottom: calc(3.5 / 20 * 1em);
}

.page .title-ld {
	font-size: calc(30 / 20 * 1em);
	letter-spacing: 0.125em;
	line-height: 1.4;
	margin: 1.6em 0;
	padding-left: 0.425em;
	position: relative;
}

.page .title-ld:before {
	background: radial-gradient(circle farthest-side, #096AA3, #096AA3 62.5%, transparent 62.5%, transparent);
	background-repeat: repeat-y;
	background-size: calc(5.5 / 20 * 1em) calc(5.5 / 20 * 1em);
	content: "";
	height: calc(23 / 20 * 1em);
	left: calc(-2.75 / 20 * 1em);
	position: absolute;
	top: calc(3.25 / 20 * 1em);
	width: calc(5.5 / 20 * 1em);
}

.page .notice {
	background-color: #F1F3F3;
	border-radius: calc(20 / 20 * 1em);
	margin: calc(137 / 20 * 1em) auto calc(16 / 20 * 1em);
	overflow: hidden;
	padding: calc(55 / 20 * 1em) calc(50 / 20 * 1em) calc(17 / 20 * 1em);
}

.page .notice .title-ul {
	margin-bottom: 2.55em;
}

.page .notice p:not([class]) {
	line-height: 2;
	margin-top: 1.875em;
}

.page .content {
	position: relative;
	z-index: 2;
}

.page-nav {
	display: flex;
	flex-wrap: wrap;
	gap: calc(30 / 20 * 1em) calc(50 / 20 * 1em);
	justify-content: space-between;
	margin: auto;
	max-width: calc(1120 / 20 * 1em);
}

.page-nav .btn {
	max-width: calc(340 / 20 * 1em);
	width: 100%;
}

.page-nav .btn > * {
	border-radius: calc(20 / 18 * 1em);
	font-size: calc(18 / 20 * 1em);
	height: calc(60 / 18 * 1em);
	letter-spacing: 0.125em;
	padding-left: 2.125em;
	width: 100%;
}

.page-nav .btn > *:after {
	border-width: calc(2 / 18 * 1em);
	height: calc(9 / 18 * 1em);
	width: calc(9 / 18 * 1em);
}

.local-nav {
	margin: calc(141 / 20 * 1em) auto;
}

.local-nav.large .inner {
	column-gap: calc(100 / 1100 * 100%);
	max-width: calc(1100 / 20 * 1em);
}

.local-nav.large .btn-local {
	width: calc(300 / 1100 * 100%);
}

.local-nav .inner {
	column-gap: calc(93 / 1400 * 100%);
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.local-nav .btn-local {
	margin-bottom: calc(61 / 20 * 1em);
	min-width: calc(280 / 20 * 1em);
	width: calc(280 / 1400 * 100%);
}

.local-nav .btn-local > a {
	border-bottom: calc(3 / 24 * 1em) solid currentColor;
	color: #096AA3;
	display: block;
	font-size: calc(24 / 20 * 1em);
	letter-spacing: 0.125em;
	line-height: 1;
	padding: calc(19 / 24 * 1em) 0;
	position: relative;
}

.local-nav .btn-local > a:after {
	border: calc(2.5 / 24 * 1em) solid currentColor;
	border-left: none;
	border-top: none;
	content: "";
	display: inline-block;
	height: calc(11 / 24 * 1em);
	position: absolute;
	right: 0.275em;
	top: calc(50% - 0.375em);
	transform: rotate(45deg);
	width: calc(11 / 24 * 1em);
}

.desktop .local-nav .btn-local > a {
	transition: color 0.3s;
}

.desktop .local-nav .btn-local > a:hover {
	color: #55A1BF;
}

.sitemap-nav {
	margin: calc(120 / 20 * 1em) auto calc(136 / 20 * 1em);
	padding-top: calc(50 / 20 * 1em);
}

.sitemap-nav .flex {
	column-gap: 40px;
}

.sitemap-nav .parent {
	max-width: calc(350 / 20 * 1em);
	width: 100%;
}

.sitemap-nav .parent > li {
	margin: 0 0 calc(50 / 20 * 1em);
}

.sitemap-nav .parent > li > a {
	border-bottom: calc(2 / 20 * 1em) solid #096AA3;
	display: block;
	letter-spacing: 0.125em;
	padding: calc(4 / 20 * 1em) 0;
	position: relative;
}

.sitemap-nav .parent > li > a:after {
	border: calc(2.5 / 20 * 1em) solid #096AA3;
	border-bottom: none;
	border-left: none;
	content: "";
	display: inline-block;
	height: calc(9.5 / 20 * 1em);
	position: absolute;
	right: 0.1em;
	top: calc(50% - 0.225em);
	transform: rotate(45deg);
	width: calc(9.5 / 20 * 1em);
}

.desktop .sitemap-nav .parent > li a {
	transition: border-color 0.3s, color 0.3s;
}

.desktop .sitemap-nav .parent > li a:before,
.desktop .sitemap-nav .parent > li a:after {
	transition: border-color 0.3s;
}

.desktop .sitemap-nav .parent > li a:hover {
	border-color: #55A1BF;
	color: #55A1BF;
}

.desktop .sitemap-nav .parent > li a:hover:before,
.desktop .sitemap-nav .parent > li a:hover:after {
	border-color: #55A1BF;
}

.sitemap-nav .child {
	margin: calc(20.5 / 20 * 1em) 0 calc(-15 / 20 * 1em);
}

.sitemap-nav .child > li {
	line-height: 1.5;
	margin: calc(15 / 20 * 1em) 0;
}

.sitemap-nav .child > li > a {
	display: inline-block;
	font-size: calc(16 / 20 * 1em);
	letter-spacing: 0.125em;
	padding-left: 1em;
	position: relative;
}

.sitemap-nav .child > li > a:before {
	border: calc(2 / 16 * 1em) solid #096AA3;
	border-bottom: none;
	border-left: none;
	content: "";
	display: inline-block;
	height: calc(7.6 / 16 * 1em);
	left: -0.2em;
	position: absolute;
	top: calc(50% - 0.225em);
	transform: rotate(45deg);
	width: calc(7.6 / 16 * 1em);
}

.pagination {
	column-gap: calc(20 / 20 * 1em);
	display: flex;
	justify-content: center;
	padding-bottom: calc(108 / 20 * 1em);
}

.pagination li {
	margin: calc(20 / 20 * 1em) 0;
}

.pagination li > * {
	align-items: center;
	background-color: #096AA3;
	border-radius: calc(10 / 18 * 1em);
	color: #FFF;
	display: flex;
	font-size: calc(18 / 20 * 1em);
	height: calc(50 / 18 * 1em);
	justify-content: center;
	letter-spacing: 0.1em;
	text-indent: 0.1em;
	width: calc(50 / 18 * 1em);
}

.pagination li > span {
	background-color: #84A9C1;
}

.pagination li > a {
	transition: background-color 0.3s;
}

.desktop .pagination li > a:hover {
	background-color: #84A9C1;
}

.pagination li.prev > *,
.pagination li.next > * {
	color: transparent;
}

.pagination li.prev > *:before,
.pagination li.next > *:before {
	border: calc(2.25 / 18 * 1em) solid #FFF;
	border-bottom: none;
	border-right: none;
	content: "";
	height: calc(9.5 / 18 * 1em);
	position: absolute;
	transform: rotate(-45deg);
	width: calc(9.5 / 18 * 1em);
}

.pagination li.prev > * {
	padding-left: 0.25em;
}

.pagination li.next > * {
	padding-right: 0.25em;
}

.pagination li.next > *:before {
	transform: rotate(135deg);
}

.download-area {
	background-color: #FFF;
	border-radius: calc(20 / 20 * 1em);
	padding: calc(27 / 20 * 1em) 0 calc(23 / 20 * 1em);
}

.download-area.blue {
	background-color: #F4F6F6;
}

.download-area .inner {
	box-sizing: content-box;
	max-width: calc(800 / 20 * 1em);
}

.download-area h4 {
	color: #096AA3;
	font-size: calc(24 / 20 * 1em);
	letter-spacing: 0.1em;
	line-height: 1.4;
	margin: 1.15em 0 1.75em;
	text-align: center;
}

.download-list li {
	font-size: calc(18 / 20 * 1em);
	font-weight: 500;
	line-height: 1.6;
	margin: 0.9em 0;
	padding-bottom: 0.975em;
	padding-left: 1.1em;
	padding-top: 0.85em;
	position: relative;
}

.download-list li:before {
	background: url("../images/list_dot01.svg") no-repeat center/cover;
	content: "";
	height: calc(8 / 18 * 1em);
	left: 0;
	position: absolute;
	top: 1.45em;
	width: calc(8 / 18 * 1em);
}

.download-list li:not(:last-child):after {
	background: radial-gradient(circle farthest-side, #A7C7D9, #A7C7D9 25%, transparent 25%, transparent);
	background-size: calc(10 / 20 * 1em) calc(10 / 20 * 1em);
	bottom: calc(-12 / 20 * 1em);
	content: "";
	height: calc(10 / 20 * 1em);
	left: 0;
	position: absolute;
	width: 100%;
}

.download-list li a {
	color: #096AA3;
	transition: color 0.3s;
}

.desktop .download-list li a:hover {
	color: #7CC3D6;
}

.desktop .download-list li a:hover span {
	text-decoration: underline;
}

.desktop .download-list li a:hover:after {
	filter: invert(91%) sepia(33%) saturate(2830%) hue-rotate(164deg) brightness(91%) contrast(83%);
}

.download-list li a span {
	font-weight: inherit;
	padding-right: calc(30 / 18 * 1em);
}

.download-list li a:after {
	background: url("../images/icon_pdf01.svg") no-repeat center/cover;
	content: "";
	display: inline-block;
	filter: invert(16%) sepia(99%) saturate(5091%) hue-rotate(192deg) brightness(96%) contrast(93%);
	height: calc(30 / 18 * 1em);
	left: 0.2em;
	margin-left: calc(-30 / 18 * 1em);
	position: relative;
	top: -0.1em;
	transition: filter 0.3s;
	vertical-align: middle;
	width: calc(30 / 18 * 1em);
}

.toggle-label {
	background-color: #096AA3;
	border-radius: calc(25 / 24 * 1em);
	color: #FFF;
	cursor: pointer;
	font-size: calc(24 / 20 * 1em);
	letter-spacing: 0.125em;
	line-height: 1.4;
	padding: calc(23.5 / 24 * 1em) 2em;
	padding-right: 5em;
	position: relative;
}

.toggle-label:before,
.toggle-label:after {
	background-color: #FFF;
	content: "";
	display: block;
	height: calc(3 / 24 * 1em);
	position: absolute;
	right: 2.1em;
	top: calc(50% - ((3 / 24 * 1em) / 2));
	transition: transform 0.5s;
	width: calc(15 / 24 * 1em);
}

.toggle-label:after {
	transform: rotate(-90deg);
}

.toggle-label.open:after {
	transform: rotate(0);
}

.desktop .toggle-label {
	transition: background-color 0.3s;
}

.desktop .toggle-label:hover {
	background-color: #55A1BF;
}

article.information {
	background-color: #FFF;
	border-radius: calc(20 / 20 * 1em);
	margin: calc(101 / 20 * 1em) 0;
	padding: calc(44 / 20 * 1em) 0 calc(53 / 20 * 1em);
}

article.information.blue {
	background-color: #F4F6F6;
}

article.information.toggle {
	border-radius: calc(25 / 20 * 1em);
	margin: calc(20 / 20 * 1em) 0;
	padding-bottom: 0;
	padding-top: 0;
}

article.information.toggle .inner {
	display: none;
	max-width: calc(1300 / 20 * 1em);
	padding-bottom: calc(50 / 20 * 1em);
	padding-top: calc(10 / 20 * 1em);
}

article.information.toggle:first-of-type .inner {
	display: block;
}

article.information .inner {
	box-sizing: content-box;
}

article.information .editor-area p {
	line-height: 2;
	margin-bottom: 2.25em;
}

article.information .editor-area table:last-child {
	margin-bottom: 0.75em;
}

article.information .editor-area table tr:last-child:after {
	display: none;
}

article.information .editor-area table th,
article.information .editor-area table td {
	padding: calc(24.5 / 20 * 1em) 0 calc(24.75 / 20 * 1em);
}

article.information .editor-area table th {
	width: 27.5%;
}

article.information .editor-area table td {
	width: 72.5%;
}

.contact-tel {
	text-align: center;
}

.contact-tel p {
	font-size: calc(18 / 20 * 1em);
	font-weight: 500;
	line-height: 2;
	margin-bottom: calc(28 / 20 * 1em);
	margin-top: calc(51 / 20 * 1em);
}

.contact-tel a {
	background-color: #FFF;
	border: calc(3 / 40 * 1em) solid #DC8181;
	border-radius: calc(61.5 / 40 * 1em);
	color: #DC8181;
	display: inline-block;
	font-size: calc(40 / 20 * 1em);
	height: calc(123 / 40 * 1em);
	letter-spacing: 0.125em;
	line-height: 2.975;
	max-width: calc(553 / 40 * 1em);
	width: 100%;
}

.contact-tel a:before {
	aspect-ratio: 1 / 1;
	background: url("../images/icon_tel01.svg") no-repeat center/cover;
	content: "";
	display: inline-block;
	margin-right: 0.775em;
	position: relative;
	top: 0.125em;
	width: 1em;
}

.tab > svg {
	position: absolute;
}

.tab-list {
	column-gap: calc(39 / 1400 * 100%);
	display: flex;
	justify-content: center;
}

.tab-list-item {
	background: url("../images/tab_bg01.svg") no-repeat center/contain;
	height: calc(95 / 20 * 1em);
	position: relative;
	text-align: center;
	width: calc(216 / 20 * 1em);
}

.tab-list-item:after {
	background-color: #F4EFE6;
	clip-path: url(#clip-stitch);
	content: "";
	display: block;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

.tab-list-item.is-btn-active {
	background-image: url("../images/tab_bg01_active.svg");
}

.tab-list-item.is-btn-active span.en {
	visibility: visible;
}

.tab-list-item.is-btn-active.spring:after {
	background-color: #E27F7F;
}

.tab-list-item.is-btn-active.spring span {
	color: #E27F7F;
}

.tab-list-item.is-btn-active.summer:after {
	background-color: #53B73E;
}

.tab-list-item.is-btn-active.summer span {
	color: #53B73E;
}

.tab-list-item.is-btn-active.autumn:after {
	background-color: #ED753A;
}

.tab-list-item.is-btn-active.autumn span {
	color: #ED753A;
}

.tab-list-item.is-btn-active.winter:after {
	background-color: #00b3c1;
}

.tab-list-item.is-btn-active.winter span {
	color: #00b3c1;
}

.tab-list-item.is-btn-active.other:after {
	background-color: #096AA3;
}

.tab-list-item.is-btn-active.other span {
	color: #096AA3;
}

.tab-list-item.is-btn-active.other span.en {
	bottom: calc(-44 / 26 * 1em);
}

.tab-list-item span {
	color: #A59484;
	display: block;
	letter-spacing: 0.125em;
	line-height: 1;
	position: relative;
	text-indent: 0.125em;
}

.tab-list-item span.season {
	bottom: calc(-24 / 44 * 1em);
	font-size: calc(44 / 20 * 1em);
}

.tab-list-item span.season.long {
	bottom: calc(-24 / 32 * 1em);
	font-size: calc(32 / 20 * 1em);
}

.tab-list-item span.en {
	bottom: calc(-38 / 26 * 1em);
	font-size: calc(26 / 20 * 1em);
	visibility: hidden;
}

.tab-contents {
	background-color: #F4EFE6;
	border-radius: calc(20 / 20 * 1em);
	display: none;
}

.tab-contents.is-contents-active {
	display: block;
}

.tab .tab-contents.spring .month:after {
	color: #E27F7F;
}

.tab-contents.spring .tag:after {
	background-color: #E27F7F;
}

.tab-contents.spring .images > li:before {
	background-color: #E27F7F;
}

.tab .tab-contents.summer .month:after {
	color: #53B73E;
}

.tab-contents.summer .tag:after {
	background-color: #53B73E;
}

.tab-contents.summer .images > li:before {
	background-color: #53B73E;
}

.tab .tab-contents.autumn .month:after {
	color: #ED753A;
}

.tab-contents.autumn .tag:after {
	background-color: #ED753A;
}

.tab-contents.autumn .images > li:before {
	background-color: #ED753A;
}

.tab .tab-contents.winter .month:after {
	color: #00b3c1;
}

.tab-contents.winter .tag:after {
	background-color: #00b3c1;
}

.tab-contents.winter .images > li:before {
	background-color: #00b3c1;
}

.tab-contents.other .month:before {
	background: url("../images/illust_sports01.svg") no-repeat center/cover;
	content: "";
	height: calc(197.745 / 20 * 1em);
	left: calc(-210 / 20 * 1em);
	position: absolute;
	right: auto;
	top: calc(-34 / 20 * 1em);
	width: calc(128 / 20 * 1em);
	z-index: 1;
}

.tab-contents.other .month:after {
	background: url("../images/illust_cleaning01.svg") no-repeat center/cover;
	bottom: calc(-42 / 20 * 1em);
	content: "";
	height: calc(193.5045 / 20 * 1em);
	position: absolute;
	right: calc(-220 / 20 * 1em);
	width: calc(170 / 20 * 1em);
	z-index: 1;
}

.tab-contents .inner {
	box-sizing: content-box;
	max-width: calc(1140 / 20 * 1em);
	padding-bottom: calc(50 / 20 * 1em);
	padding-top: calc(100 / 20 * 1em);
}

.tab-contents .month {
	position: relative;
}

.tab-contents .month:before {
	background: url("../images/icon_apr01.svg") no-repeat top center/contain;
	bottom: calc(6 / 20 * 1em);
	content: "";
	height: calc(140 / 20 * 1em);
	pointer-events: none;
	position: absolute;
	right: calc(-180 / 20 * 1em);
	width: calc(100 / 20 * 1em);
	z-index: 1;
}

.tab-contents .month:last-child:before {
	bottom: calc(-105 / 20 * 1em);
}

.tab-contents .month:not(:last-child) {
	margin-bottom: calc(110 / 20 * 1em);
	padding-bottom: calc(50 / 20 * 1em);
}

.tab-contents .month:not(:last-child):after {
	background-image: linear-gradient(to right, currentColor, currentColor 10px, transparent 10px, transparent 25px);
	background-position: left bottom;
	background-repeat: repeat-x;
	background-size: 25px 2px;
	bottom: 0;
	color: #096AA3;
	content: "";
	height: calc(2 / 20 * 1em);
	position: absolute;
	width: 100%;
}

.tab-contents .month.empty,
.tab-contents .month:not(:has(.events-list)) {
	min-height: calc(180 / 20 * 1em);
}

.tab-contents .month.apr .tag:before {
	right: calc(-39 / 20 * 1em);
	top: calc(61 / 20 * 1em);
	transform: scaleX(-1) rotate(18deg);
}

.tab-contents .month.may:before {
	background-image: url("../images/icon_may01.svg");
	bottom: calc(10 / 20 * 1em);
}

.tab-contents .month.may .tag:before {
	background-image: url("../images/icon_may01.svg");
}

.tab-contents .month.jun:before {
	background-image: url("../images/icon_jun01.svg");
}

.tab-contents .month.jun .tag:before {
	background-image: url("../images/icon_jun01.svg");
	top: calc(76 / 20 * 1em);
}

.tab-contents .month.jul:before {
	background-image: url("../images/icon_jul01.svg");
	bottom: calc(46 / 20 * 1em);
}

.tab-contents .month.jul .tag:before {
	background-image: url("../images/icon_jul01.svg");
	top: calc(35 / 20 * 1em);
	transform: scaleX(1);
}

.tab-contents .month.aug:before {
	background-image: url("../images/icon_aug01.svg");
	bottom: calc(-84 / 20 * 1em);
}

.tab-contents .month.aug .tag:before {
	background-image: url("../images/icon_aug01.svg");
}

.tab-contents .month.sep:before {
	background-image: url("../images/icon_sep01.svg");
}

.tab-contents .month.sep .tag:before {
	background-image: url("../images/icon_sep01.svg");
}

.tab-contents .month.oct:before {
	background-image: url("../images/icon_oct01.svg");
}

.tab-contents .month.oct .tag:before {
	background-image: url("../images/icon_oct01.svg");
}

.tab-contents .month.nov:before {
	background-image: url("../images/icon_nov01.svg");
}

.tab-contents .month.nov .tag:before {
	background-image: url("../images/icon_nov01.svg");
}

.tab-contents .month.dec:before {
	background-image: url("../images/icon_dec01.svg");
}

.tab-contents .month.dec .tag:before {
	background-image: url("../images/icon_dec01.svg");
}

.tab-contents .month.jan:before {
	background-image: url("../images/icon_jan01.svg");
}

.tab-contents .month.jan .tag:before {
	background-image: url("../images/icon_jan01.svg");
}

.tab-contents .month.feb:before {
	background-image: url("../images/icon_feb01.svg");
}

.tab-contents .month.feb .tag:before {
	background-image: url("../images/icon_feb01.svg");
}

.tab-contents .month.mar:before {
	background-image: url("../images/icon_mar01.svg");
}

.tab-contents .month.mar .tag:before {
	background-image: url("../images/icon_mar01.svg");
}

.tab-contents .tag {
	color: #FFF;
	height: calc(100 / 20 * 1em);
	left: -29%;
	line-height: 1;
	position: absolute;
	text-align: center;
	top: calc(-31 / 20 * 1em);
	width: calc(264 / 20 * 1em);
}

.tab-contents .tag:before {
	background: url("../images/icon_apr01.svg") no-repeat top center/contain;
	content: "";
	height: calc(140 / 20 * 1em);
	pointer-events: none;
	position: absolute;
	right: calc(-26 / 20 * 1em);
	top: calc(60 / 20 * 1em);
	transform: scaleX(-1);
	width: calc(70 / 20 * 1em);
	z-index: 1;
}

.tab-contents .tag:after {
	background-color: #096AA3;
	clip-path: url(#clip-tag);
	content: "";
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

.tab-contents .tag span {
	line-height: 1;
	position: relative;
	z-index: 1;
}

.tab-contents .tag .num {
	font-size: calc(80 / 20 * 1em);
	margin-right: 0.165em;
	top: 0.12em;
}

.tab-contents .tag .unit {
	font-size: calc(28 / 20 * 1em);
	margin-right: 0.75em;
	top: 0.1em;
	vertical-align: bottom;
}

.tab-contents .tag-hidden {
	display: none;
}

.tab-contents .events-list > li {
	margin: 1.6em auto 2.125em;
}

.tab-contents .events-list > li .title {
	color: #096AA3;
	font-size: calc(24 / 20 * 1em);
	letter-spacing: 0.1em;
	line-height: 1.6;
	margin: 0.925em 0;
	padding-left: 0.85em;
	position: relative;
}

.tab-contents .events-list > li .title:before {
	background: url("../images/list_dot01.svg") no-repeat center/cover;
	content: "";
	height: calc(8.5 / 24 * 1em);
	left: 0;
	position: absolute;
	top: 0.625em;
	width: calc(8.5 / 24 * 1em);
}

.tab-contents .images {
	column-gap: calc(40 / 1140 * 100%);
	display: flex;
	justify-content: space-between;
	margin-bottom: 2.675em;
}

.tab-contents .images > li {
	background-color: #FFF;
	border-radius: calc(15 / 20 * 1em);
	padding: calc(45 / 20 * 1em) calc(30 / 1140 * 100%) calc(25 / 20 * 1em);
	position: relative;
	width: calc(540 / 1140 * 100%);
}

.tab-contents .images > li:before {
	aspect-ratio: 1 / 1;
	background-color: #eade06;
	border-radius: 100%;
	content: "";
	display: block;
	left: 50%;
	position: absolute;
	top: calc(15 / 20 * 1em);
	transform: translateX(-50%);
	width: calc(15 / 20 * 1em);
}

.tab-contents .images .img.cover {
	border-radius: calc(15 / 20 * 1em);
}

.tab-contents .images .img.cover:before {
	padding-top: calc(300 / 480 * 100%);
}

.btn > span,
.btn > a {
	align-items: center;
	background-color: #096AA3;
	border-radius: calc(20 / 16 * 1em);
	color: #FFF;
	display: flex;
	font-size: calc(16 / 20 * 1em);
	height: calc(60 / 16 * 1em);
	padding-left: 3.25em;
	position: relative;
	width: calc(250 / 16 * 1em);
}

.btn > span:after,
.btn > a:after {
	border: calc(2 / 16 * 1em) solid currentColor;
	border-bottom: none;
	border-left: none;
	content: "";
	display: inline-block;
	height: calc(7.1295 / 16 * 1em);
	position: absolute;
	right: 1.3em;
	transform: rotate(45deg);
	width: calc(7.1295 / 16 * 1em);
}

.btn > span {
	background-color: #55A1BF;
}

.btn > span:after {
	display: none;
}

.desktop .btn > a {
	transition: background-color 0.3s;
}

.desktop .btn > a:hover {
	background-color: #55A1BF;
}

.btn.big > a {
	border-radius: calc(25 / 24 * 1em);
	font-size: calc(24 / 20 * 1em);
	height: calc(100 / 24 * 1em);
	letter-spacing: 0.125em;
	max-width: calc(600 / 24 * 1em);
	padding-left: 2.05em;
	width: 100%;
}

.btn.big > a:after {
	right: 1.7em;
}

.btn.mid > a {
	border-radius: calc(25 / 24 * 1em);
	font-size: calc(24 / 20 * 1em);
	height: calc(80 / 24 * 1em);
	letter-spacing: 0.125em;
	max-width: calc(440 / 24 * 1em);
	padding-left: 2.05em;
	width: 100%;
}

.btn.mid > a:after {
	right: 1.3em;
}

.btn.long > a {
	border-radius: calc(20 / 18 * 1em);
	font-size: calc(18 / 20 * 1em);
	height: calc(60 / 18 * 1em);
	letter-spacing: 0.125em;
	padding-left: 1.65em;
	width: calc(315 / 18 * 1em);
}

.btn.back > a {
	border-radius: calc(20 / 18 * 1em);
	font-size: calc(18 / 20 * 1em);
	height: calc(60 / 18 * 1em);
	letter-spacing: 0.125em;
	max-width: calc(380 / 18 * 1em);
	width: 100%;
}

.btn.back > a:after {
	height: calc(9.5 / 18 * 1em);
	left: 1.75em;
	right: auto;
	transform: rotate(-135deg);
	width: calc(9.5 / 18 * 1em);
}

.btn.center > a {
	margin-left: auto;
	margin-right: auto;
}

.btn.text-center > a {
	justify-content: center;
	padding-left: 0;
}

.btn.pink > a {
	background-color: #E38888;
}

.desktop .btn.pink > a:hover {
	background-color: #F2A0A0;
}

#main .swiper-pagination {
	margin: 1.25em 0 1em;
	position: relative;
	text-align: left;
}

#main .swiper-pagination-bullet {
	background-color: #85AAC2;
	height: calc(26 / 20 * 1em);
	margin: 0 calc(20 / 20 * 1em) 0 0;
	opacity: 1;
	transition: background-color 0.3s;
	width: calc(26 / 20 * 1em);
}

#main .swiper-pagination-bullet-active {
	background-color: #096AA3;
}

.desktop #main .swiper-pagination-bullet:hover {
	background-color: #096AA3;
}

#main .regular-swiper .swiper {
	border-radius: calc(20 / 20 * 1em);
}

#main .regular-swiper .swiper-slide[style*="width"] {
	width: 100% !important;
}

#main .regular-swiper .swiper-pagination {
	margin-bottom: 0;
	margin-top: 0.75em;
	text-align: center;
}

#main .regular-swiper .swiper-pagination-bullet {
	height: calc(18 / 20 * 1em);
	margin: 0 calc(7 / 20 * 1em) 0;
	width: calc(18 / 20 * 1em);
}

#main .regular-swiper .img.cover {
	border-radius: 0;
}

body#about #overview:after,
body#about #history:after,
body#about #access:after,
body#recruit #info:after {
	background: url("../images/bg_tree01.svg") no-repeat center/cover;
	content: "";
	display: block;
	height: calc(215.466 / 20 * 1em);
	position: absolute;
	width: calc(220 / 20 * 1em);
	z-index: -1;
}

body#about .content {
	padding-bottom: calc(70 / 20 * 1em);
}

body#about #overview {
	margin-top: calc(-203 / 20 * 1em);
	padding-top: calc(120 / 20 * 1em);
}

body#about #overview:after {
	bottom: calc(-70 / 20 * 1em);
	left: calc(25 / 20 * 1em);
}

body#about #history {
	margin-top: calc(71 / 20 * 1em);
	padding-top: calc(120 / 20 * 1em);
}

body#about #history:after {
	background-image: url("../images/bg_tree02.svg");
	bottom: calc(-32 / 20 * 1em);
	height: calc(140.0131 / 20 * 1em);
	right: calc(29 / 20 * 1em);
	width: calc(170 / 20 * 1em);
}

body#about #surroundings {
	margin-top: calc(35 / 20 * 1em);
	padding-top: calc(120 / 20 * 1em);
}

body#about #access {
	margin-top: calc(81 / 20 * 1em);
	padding-top: calc(120 / 20 * 1em);
}

body#about #access:after {
	background-image: url("../images/bg_tree03.svg");
	height: calc(211.8429 / 20 * 1em);
	left: calc(50 / 20 * 1em);
	top: calc(502 / 20 * 1em);
	width: calc(190 / 20 * 1em);
}

body#about #access .gmap {
	padding: calc(3 / 20 * 1em) 0 calc(14 / 20 * 1em);
}

body#about #access .gmap iframe {
	height: calc(500 / 20 * 1em);
	vertical-align: top;
	width: 100%;
}

body#about .editor-area h4:not([class]) {
	font-size: calc(22 / 20 * 1em);
}

body#about .editor-area h4:not([class]):after {
	display: none;
}

body#admission .content {
	padding-bottom: calc(70 / 20 * 1em);
}

body#admission .content .information:first-of-type {
	margin-top: 0;
}

body#admission .content .information .editor-area h5:first-child,
body#admission .content .information .editor-area p:not([class]):first-child {
	margin-top: 3.5em;
}

body#admission .content .information .editor-area h4 {
	margin-bottom: 2.5em;
	margin-top: 3em;
}

body#admission .content .information .editor-area h5 {
	margin-bottom: 1.5em;
}

body#admission .content .information .editor-area table:last-child {
	margin-bottom: 0;
}

body#admission .content .information .editor-area table th {
	width: 23%;
}

body#admission .content .information .editor-area table td {
	width: 77%;
}

body#admission #first {
	margin-top: calc(-173 / 20 * 1em);
	padding-bottom: calc(60 / 20 * 1em);
	padding-top: calc(120 / 20 * 1em);
}

body#admission #first .flex {
	justify-content: space-between;
	margin-bottom: calc(74 / 20 * 1em);
	margin-top: calc(-7 / 20 * 1em);
	position: relative;
}

body#admission #first .image {
	padding-top: calc(10 / 20 * 1em);
	width: calc(546 / 1400 * 100%);
}

body#admission #first .text {
	width: calc(798 / 1400 * 100%);
}

body#admission #first .text h3 {
	color: #096AA3;
	line-height: 1.75;
	margin-bottom: 0.725em;
	margin-top: 0;
}

body#admission #first .text h3:after {
	display: none;
}

body#admission #first .text p {
	margin-top: 0.5em;
}

body#admission #first .title-ld {
	margin-bottom: 1.125em;
	margin-left: 0.15em;
	padding-left: 0.5em;
}

body#admission #session {
	background-color: #fbf1f2;
	margin-top: calc(71 / 20 * 1em);
	padding-bottom: calc(20 / 20 * 1em);
	padding-top: calc(150 / 20 * 1em);
}

body#admission #session:before {
	background: url("../images/bg_sakura01.svg") no-repeat center/cover;
	content: "";
	display: block;
	height: calc(183.4466 / 20 * 1em);
	left: calc(40 / 20 * 1em);
	position: absolute;
	top: calc(-92 / 20 * 1em);
	width: calc(174 / 20 * 1em);
}

body#admission #explanation {
	background-color: #fbf1f2;
	margin-top: calc(-40 / 20 * 1em);
	padding-bottom: calc(50 / 20 * 1em);
	padding-top: calc(120 / 20 * 1em);
}

body#admission #explanation:after {
	background: url("../images/bg_sakura02.svg") no-repeat center/cover;
	bottom: calc(-103 / 20 * 1em);
	content: "";
	display: block;
	height: calc(204.0601 / 20 * 1em);
	position: absolute;
	right: calc(70 / 20 * 1em);
	width: calc(158 / 20 * 1em);
}

body#admission #step {
	margin-top: calc(35 / 20 * 1em);
	padding-top: calc(120 / 20 * 1em);
}

body#admission #step .step-list li {
	align-items: center;
	background-color: #fbf1f2;
	border-radius: calc(40 / 20 * 1em);
	counter-increment: num;
	display: flex;
	list-style: none;
	margin-bottom: calc(100 / 20 * 1em);
	min-height: calc(132 / 20 * 1em);
	padding: calc(40 / 20 * 1em);
	position: relative;
}

body#admission #step .step-list li:not(:last-child):after {
	background-color: #E38888;
	bottom: calc(-60 / 20 * 1em);
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	content: "";
	display: block;
	height: calc(20 / 20 * 1em);
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: calc(30 / 20 * 1em);
}

body#admission #step .step-list li .title {
	align-items: center;
	color: #096AA3;
	display: flex;
	flex-shrink: 0;
	font-size: calc(22 / 20 * 1em);
	height: calc(50 / 22 * 1em);
	letter-spacing: 0.1em;
	line-height: 1;
	padding-right: 1em;
	width: calc(328 / 1320 * 100%);
}

body#admission #step .step-list li .title:before {
	color: #E1B6B6;
	content: "0" counter(num);
	display: inline-block;
	font-size: calc(60 / 22 * 1em);
	letter-spacing: 0;
	margin-right: 0.475em;
}

body#admission #step .step-list li .detail {
	padding-left: calc(40 / 20 * 1em);
}

body#admission #step .step-list li .detail p {
	font-size: calc(18 / 20 * 1em);
	font-weight: 500;
	letter-spacing: 0.105em;
	line-height: 2;
	margin-bottom: 0.875em;
}

body#admission #step .step-list li .detail p:first-child {
	margin-top: -0.25em;
}

body#admission #step .step-list li .detail p:last-child {
	margin-bottom: -0.25em;
}

body#admission #step .step-list li .detail > *:last-child {
	margin-bottom: 0;
}

body#admission #step .step-list + .btn {
	margin-top: calc(-18 / 20 * 1em);
}

body#admission #uniform {
	margin-top: calc(80 / 20 * 1em);
	overflow: hidden;
	padding-bottom: calc(60 / 20 * 1em);
	padding-top: calc(120 / 20 * 1em);
}

body#admission #uniform .uniform-list {
	display: flex;
	justify-content: space-between;
	margin: calc(94 / 20 * 1em) 0 calc(50 / 20 * 1em);
}

body#admission #uniform .uniform-list li {
	max-width: calc(430 / 1400 * 100%);
	position: relative;
	text-align: center;
}

body#admission #uniform .uniform-list li .img {
	aspect-ratio: 430 / 550;
	cursor: pointer;
	max-width: calc(430 / 20 * 1em);
}

body#admission #uniform .uniform-list li .img.hover {
	left: 0;
	opacity: 0;
	position: absolute;
	top: 0;
	transition: opacity 0.5s;
}

body#admission #uniform .uniform-list li .img.hover:hover {
	opacity: 1;
}

body#admission #uniform .uniform-list li h4 {
	color: #096AA3;
	font-size: calc(24 / 20 * 1em);
	letter-spacing: 0.1em;
	margin: 0.5em 0;
}

body#admission #uniform .guide {
	background-color: #fbf1f2;
	border-radius: calc(20 / 20 * 1em);
	margin: auto;
	padding: calc(50 / 20 * 1em) calc(50 / 20 * 1em) calc(37 / 20 * 1em);
	position: relative;
}

body#admission #uniform .guide p {
	margin-bottom: 0;
}

body#admission #uniform .guide:before,
body#admission #uniform .guide:after {
	background: url("../images/illust_kids06.svg") no-repeat center/cover;
	bottom: calc(-39 / 20 * 1em);
	content: "";
	display: block;
	height: calc(169.7573 / 20 * 1em);
	left: calc(-64 / 20 * 1em);
	position: absolute;
	width: calc(84 / 20 * 1em);
}

body#admission #uniform .guide:after {
	background-image: url("../images/illust_kids07.svg");
	bottom: calc(-40 / 20 * 1em);
	height: calc(167.5344 / 20 * 1em);
	left: auto;
	right: calc(-90 / 20 * 1em);
	width: calc(110 / 20 * 1em);
}

body#admission #application-form {
	padding-top: 0;
	position: relative;
}

body#admission #application-form:before,
body#admission #application-form:after {
	background: url("../images/bg_sakura02.svg") no-repeat center/cover;
	bottom: calc(-26 / 20 * 1em);
	content: "";
	display: block;
	height: calc(174.3551 / 20 * 1em);
	position: absolute;
	right: 10%;
	width: calc(135 / 20 * 1em);
	z-index: -1;
}

body#admission #application-form:before {
	background-image: url("../images/bg_sakura01.svg");
	background-position: left center;
	bottom: calc(-13 / 20 * 1em);
	clip-path: polygon(0 0, 100% 0, 100% 65%, 65% 100%, 0 100%);
	height: calc(173 / 20 * 1em);
	left: 7.5%;
	right: auto;
	width: calc(162 / 20 * 1em);
}

body#admission #application-form .form .aform-content dl dt {
	flex-basis: calc(300 / 20 * 1em);
}

body#contact .content {
	padding-bottom: calc(112 / 20 * 1em);
}

body#contact .content > .inner {
	padding-top: calc(160 / 20 * 1em);
}

body#contact .content > .inner .text {
	text-align: center;
}

body#contact .content #tel {
	padding-top: calc(54 / 20 * 1em);
}

body#contact .content #tel p {
	margin: 3.25em 0 2.75em;
}

body#contact .content #contact-form {
	margin-top: calc(41 / 20 * 1em);
}

body#contact .content #contact-form .form p {
	text-align: center;
}

body#contact .content #contact-form:not([class]) .form {
	border-top: 1px solid #E2B7B7;
	padding-top: calc(115 / 20 * 1em);
}

.form {
	margin: 0 auto 0.75em;
	max-width: calc(1000 / 20 * 1em);
}

.form .title-ul {
	margin-bottom: 2.2em;
}

.form .title-ud {
	margin-bottom: 2.4em;
	text-align: center;
}

.form .title-ud span {
	text-indent: 0.5em;
}

.form .aform-header,
.form .aform-checking {
	text-align: center;
}

.form .aform-demo,
.form .aform-header {
	display: none;
}

.form .aform-checking {
	border: calc(3 / 20 * 1em) solid #DC8181;
	border-radius: calc(15 / 20 * 1em);
	color: #DC8181;
	margin: 4.25em auto;
	padding: 1em;
}

.form p {
	font-size: calc(18 / 20 * 1em);
	font-weight: 500;
}

.form p:has(script),
.form p:empty {
	display: none;
}

.form .aform-content {
	margin: 4.25em auto 2.575em;
}

.form .aform-content dl {
	display: flex;
	justify-content: space-between;
	margin: calc(30 / 20 * 1em) auto;
	padding-bottom: calc(30 / 20 * 1em);
	position: relative;
}

.form .aform-content dl:after {
	background: radial-gradient(circle farthest-side, #A7C7D9, #A7C7D9 25%, transparent 25%, transparent);
	background-size: calc(10 / 20 * 1em) calc(10 / 20 * 1em);
	bottom: calc(-5 / 20 * 1em);
	content: "";
	height: calc(10 / 20 * 1em);
	left: 0;
	position: absolute;
	width: 100%;
}

.form .aform-content dl dt {
	flex-basis: calc(270 / 20 * 1em);
	padding-top: 0.15em;
}

.form .aform-content dl dd {
	flex-basis: calc(100% - (270 / 20 * 1em));
}

.form .aform-content dl dd .aform-confirm {
	display: block;
}

.form .aform-content dl.dl_form_privacy {
	display: block;
}

.form .aform-content dl.dl_form_privacy .aform-checkbox-ul {
	justify-content: center;
	margin-bottom: 0.5em;
	text-align: center;
	top: 0;
}

.form .aform-content dl.dl_form_privacy .aform-checkbox-ul input {
	margin-left: 1.075em;
}

.form .aform-content dl.dl_form_session:has(li:nth-child(1) input:checked) {
	margin-bottom: 0;
}

.form .aform-content dl.dl_form_session:has(li:nth-child(1) input:checked):after {
	display: none;
}

.form .aform-content dl.dl_form_session:has(li:nth-child(1) input:checked) + .dl_form_dateselect {
	margin-top: 0;
}

.form .aform-content dl.dl_form_session:has(li:nth-child(2) input:checked) + .dl_form_dateselect {
	display: none;
}

.form .aform-error {
	color: #DC8181;
	font-size: 75%;
	line-height: 1.575;
}

.form .aform-error:not(:empty) {
	margin-top: 0.5em;
}

.form .aform-error img {
	display: none;
}

.form .aform-label {
	color: #096AA3;
}

.form .aform-label a {
	color: #096AA3;
}

.desktop .form .aform-label a:hover {
	text-decoration: underline;
}

.form .aform-label a img {
	margin-left: 0.25em;
	margin-top: -0.25em;
	max-width: calc(20 / 20 * 1em);
	vertical-align: middle;
}

.form .aform-label + .aform-validation {
	display: none;
}

.form .aform-required {
	background-color: #DC8181;
	border-radius: calc(11 / 14 * 1em);
	color: #FFF;
	font-size: calc(14 / 20 * 1em);
	font-weight: 900;
	letter-spacing: 0.025em;
	line-height: 1;
	margin-left: 1.25em;
	padding: 0.05em 0.582em 0.093em;
	vertical-align: middle;
}

.form .aform-input-example {
	font-size: calc(18 / 20 * 1em);
	font-weight: 500;
	line-height: 2;
	margin: 1.5em auto;
}

.form .aform-radio-ul,
.form .aform-checkbox-ul {
	align-items: center;
	display: flex;
	position: relative;
	top: 0.15em;
}

.form .aform-radio-ul li:not(:first-child),
.form .aform-checkbox-ul li:not(:first-child) {
	margin-left: 2.875em;
}

.form .aform-radio-ul input,
.form .aform-checkbox-ul input {
	-webkit-appearance: none;
	appearance: none;
	aspect-ratio: 1 / 1;
	background-position: center;
	background-size: 75%;
	border-radius: calc(5 / 18 * 1em);
	margin: -0.1em 1.075em 0 0;
	padding: 0;
	vertical-align: middle;
	width: calc(25 / 18 * 1em);
}

.form .aform-radio-ul input:checked,
.form .aform-checkbox-ul input:checked {
	background-color: #096AA3;
	background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBmaWxsPSIjZmZmIiBkPSJNMjAuMjg1IDJsLTExLjI4NSAxMS41NjctNS4yODYtNS4wMTEtMy43MTQgMy43MTYgOSA4LjcyOCAxNS0xNS4yODV6Ii8+PC9zdmc+");
}

.form .aform-radio-ul label,
.form .aform-checkbox-ul label {
	font-size: calc(18 / 20 * 1em);
	font-weight: 500;
}

.form .aform-radio-ul input {
	border-radius: 50%;
}

.form .aform-radio-ul input:checked {
	background: radial-gradient(circle, #096AA3 35.25%, #E6EAED 35.25%);
}

.form select,
.form input,
.form textarea {
	background-color: #E6EAED;
	border-radius: calc(15 / 18 * 1em);
	font-size: calc(18 / 20 * 1em);
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1.75;
	padding: 0.825em 1.375em;
	vertical-align: top;
	width: 100%;
}

.form select {
	background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDE2IDEwIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxNiAxMDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxwb2x5Z29uIGZpbGw9IiM5Njk2OTYiIHBvaW50cz0iOCwxMCAxNiwwIDAsMCAiLz48L3N2Zz4=");
	background-position: calc(100% - 1em) 50%;
	background-repeat: no-repeat;
	background-size: calc(16 / 18 * 1em) calc(10 / 18 * 1em);
	max-width: calc(340 / 18 * 1em);
}

.form select:invalid {
	color: #ADADAD;
}

.form textarea {
	height: 10.125em;
}

.form .submit,
.form .aform-button-area {
	margin-top: 4em;
	text-align: center;
}

.form .submit input,
.form .aform-button-area input {
	background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDkuMSAxNS40IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA5LjEgMTUuNDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxwb2x5Z29uIGZpbGw9IiNmZmYiIHBvaW50cz0iMS40LDE1LjQgMCwxNCA2LjMsNy43IDAsMS40IDEuNCwwIDkuMSw3LjcgIi8+PC9zdmc+") no-repeat;
	background-color: #DE8383;
	background-position: 90% 50%;
	background-size: calc(9.12 / 24 * 1em) calc(15.41 / 24 * 1em);
	border-radius: calc(25 / 24 * 1em);
	color: #FFF;
	font-size: calc(24 / 20 * 1em);
	font-weight: bold;
	height: calc(80 / 24 * 1em);
	letter-spacing: 0.125em;
	line-height: 1;
	max-width: calc(300 / 24 * 1em);
	position: relative;
	text-indent: 0.125em;
	transition: background-color 0.3s;
	width: 100%;
}

.form .submit input:disabled,
.form .aform-button-area input:disabled {
	background-color: #ccc !important;
	pointer-events: none;
}

.desktop .form .submit > input:hover,
.desktop
    .form .aform-button-area > input:hover {
	background-color: #F2A0A0;
}

.form #aform_btn_back {
	background-color: #096AA3;
	background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDkuMSAxNS40IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA5LjEgMTUuNDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxwb2x5Z29uIGZpbGw9IiNmZmZmZmYiIHBvaW50cz0iNy43LDAgOS4xLDEuNCAyLjgsNy43IDkuMSwxNCA3LjcsMTUuNCAwLDcuNyAiLz48L3N2Zz4NCg==");
	background-position: 10% 50%;
}

.desktop .form #aform_btn_back:hover {
	background-color: #55A1BF;
}

.form #aform_result {
	margin-block: 3em;
	text-align: center;
}

.form #aform_result a {
	color: #096AA3;
	text-decoration: underline;
}

.desktop .form #aform_result a:hover {
	text-decoration: none;
}

.form .btn a {
	margin-inline: auto;
	padding-left: 1em;
}

.form .btn a:after {
	left: 2.15em;
}

::placeholder {
	color: #ADADAD;
	opacity: 1;
}

body#feature #goals {
	padding: calc(160 / 20 * 1em) 0 calc(60 / 20 * 1em);
}

body#feature #goals .goals {
	margin-top: calc(-37 / 20 * 1em);
}

body#feature #goals .goals-list {
	display: flex;
	flex-wrap: wrap;
	position: relative;
}

body#feature #goals .goals-list:before {
	background: url("../images/illust_kids05.svg") no-repeat center/cover;
	content: "";
	display: block;
	height: calc(204.864 / 20 * 1em);
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: calc(284 / 20 * 1em);
}

body#feature #goals .goals-list li {
	align-items: center;
	aspect-ratio: 7 / 5;
	background: url("../images/feature_popup01.svg") no-repeat center/cover;
	color: #FFF;
	display: flex;
	font-size: calc(24 / 20 * 1em);
	justify-content: center;
	letter-spacing: 0.125em;
	line-height: 2;
	width: 50%;
}

body#feature #goals .goals-list li:nth-child(1) {
	padding: 5% 5% 9.75% 8.75%;
}

body#feature #goals .goals-list li:nth-child(2) {
	background-image: url("../images/feature_popup02.svg");
	padding: 5% 8.4% 9.25% 5%;
}

body#feature #goals .goals-list li:nth-child(3) {
	background-image: url("../images/feature_popup03.svg");
	padding: 11.075% 5% 5% 8.825%;
}

body#feature #goals .goals-list li:nth-child(4) {
	background-image: url("../images/feature_popup04.svg");
	padding: 11.075% 8.4% 5% 5%;
}

body#feature #goals .goals-list li h4 {
	max-width: calc(420 / 24 * 1em);
	text-align: center;
}

body#feature #philosophy {
	padding: calc(120 / 20 * 1em) 0 calc(20 / 20 * 1em);
}

body#feature #philosophy .img {
	margin: auto;
	max-width: calc(450 / 20 * 1em);
	position: relative;
	top: calc(3 / 20 * 1em);
}

body#feature #philosophy .text {
	text-align: center;
}

body#feature #philosophy .text .phrase {
	color: #096AA3;
	font-size: calc(28 / 20 * 1em);
	letter-spacing: 0.125em;
	line-height: 2.5;
	margin-bottom: 0.875em;
	margin-top: 1.8em;
}

body#feature #philosophy .text .phrase span {
	background: linear-gradient(transparent 63%, rgba(89, 197, 194, 0.4) 30%);
	padding-bottom: 0.15em;
}

body#feature #philosophy .text .founder {
	color: #096AA3;
	margin: 1.25em 0 2.05em;
	text-align: right;
}

body#feature #policy {
	padding: calc(120 / 20 * 1em) 0 calc(136 / 20 * 1em);
}

body#feature #policy .wrap {
	margin-top: calc(93 / 20 * 1em);
}

body#feature #policy .wrap .img {
	border-radius: calc(20 / 20 * 1em);
	max-width: calc(850 / 20 * 1em);
}

body#feature #policy .wrap .img img {
	width: 100%;
}

body#feature #policy .wrap .box {
	background-color: #FFF;
	border-top-left-radius: calc(20 / 20 * 1em);
	margin-left: auto;
	margin-top: calc(-220 / 20 * 1em);
	max-width: calc(750 / 20 * 1em);
	overflow: hidden;
	padding: calc(35 / 20 * 1em) 0 0 calc(50 / 20 * 1em);
	position: relative;
}

body#feature #policy .wrap .box p {
	font-size: calc(18 / 20 * 1em);
	font-weight: 500;
	letter-spacing: 0.1em;
}

body#feature #education {
	background-color: #F2F7F7;
	padding: calc(150 / 20 * 1em) 0 calc(148 / 20 * 1em);
	position: relative;
}

body#feature #education:before {
	background: url("../images/bg_tool01.svg") no-repeat center/cover;
	content: "";
	display: block;
	height: calc(183.5081 / 20 * 1em);
	left: calc(60 / 20 * 1em);
	position: absolute;
	top: calc(-92 / 20 * 1em);
	width: calc(180 / 20 * 1em);
}

body#feature #education:after {
	background: url("../images/bg_tool02.svg") no-repeat center/cover;
	content: "";
	display: block;
	height: calc(112.9631 / 20 * 1em);
	position: absolute;
	right: calc(100 / 20 * 1em);
	top: calc(-48 / 20 * 1em);
	width: calc(160 / 20 * 1em);
}

body#feature #education .text {
	margin: auto;
	margin-top: calc(91 / 20 * 1em);
}

body#feature #education .education-list {
	column-gap: calc(56 / 1400 * 100%);
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-top: calc(66 / 20 * 1em);
}

body#feature #education .education-list > li {
	background-color: #FFF;
	border-radius: calc(40 / 20 * 1em);
	display: flex;
	flex-direction: column;
	margin-bottom: calc(52 / 20 * 1em);
	padding: calc(42 / 20 * 1em);
	width: calc(672 / 1400 * 100%);
}

body#feature #education .education-list > li.no-stretch {
	align-self: flex-start;
}

body#feature #education .education-list > li .title {
	color: #096AA3;
	display: inline-block;
	font-size: calc(28 / 20 * 1em);
	letter-spacing: 0.125em;
	line-height: 1.5;
	text-align: center;
}

body#feature #education .education-list > li .title span {
	display: inline-block;
	padding-left: calc(43 / 28 * 1em);
	position: relative;
	text-align: left;
}

body#feature #education .education-list > li .title span:before {
	background: url("../images/icon_star01.svg") no-repeat center/cover;
	content: "";
	display: inline-block;
	height: calc(30 / 28 * 1em);
	left: 0;
	position: absolute;
	top: 0.15em;
	width: calc(30 / 28 * 1em);
}

body#feature #education .education-list > li .title.text-left {
	text-align: left;
}

body#feature #education .education-list > li .title + .img.cover {
	margin-top: 1.2em;
}

body#feature #education .education-list > li .purpose {
	font-size: calc(18 / 20 * 1em);
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1.5;
	margin-top: 2.35em;
	text-align: center;
}

body#feature #education .education-list > li .purpose span {
	display: inline-block;
	font-weight: inherit;
	padding-left: calc(64 / 18 * 1em);
	position: relative;
	text-align: left;
}

body#feature #education .education-list > li .purpose span:before {
	align-items: center;
	background-color: #096AA3;
	border-radius: calc(13 / 16 * 1em);
	color: #FFF;
	content: "目的";
	display: flex;
	font-size: calc(16 / 18 * 1em);
	font-weight: bold;
	height: calc(26 / 16 * 1em);
	justify-content: center;
	left: calc(-2 / 20 * 1em);
	letter-spacing: 0.1em;
	position: absolute;
	text-indent: 0.1em;
	top: 0;
	width: calc(55 / 16 * 1em);
}

body#feature #education .education-list > li .purpose:has(+ .img) {
	margin-bottom: 3em;
}

body#feature #education .education-list > li .step {
	display: flex;
	flex-direction: row-reverse;
	justify-content: center;
	margin: 2.15em 0 1.38em;
}

body#feature #education .education-list > li .step > li {
	counter-increment: num;
	font-size: calc(18 / 20 * 1em);
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1.4;
	list-style: none;
	margin: 0 0.69em;
	max-height: 13.6em;
	padding-top: calc(43 / 18 * 1em);
	position: relative;
	writing-mode: vertical-rl;
}

body#feature #education .education-list > li .step > li:before {
	align-items: center;
	background-color: #096AA3;
	border-radius: 100%;
	color: #FFF;
	content: counter(num);
	display: flex;
	height: calc(28 / 18 * 1em);
	justify-content: center;
	padding-right: 0.1em;
	position: absolute;
	right: calc(-1 / 18 * 1em);
	text-align: center;
	text-indent: 0.1em;
	top: 0;
	transform: rotate(-90deg);
	width: calc(28 / 18 * 1em);
}

body#feature #education .education-list > li .img.cover {
	align-self: flex-end;
	margin: auto;
	margin-bottom: calc(7 / 20 * 1em);
	max-width: calc(540 / 20 * 1em);
	width: 100%;
}

body#feature #education .education-list > li .img.cover:before {
	padding-top: calc(360 / 540 * 100%);
}

body#feature #footer {
	margin-top: calc(228 / 20 * 1em);
}

body#feature #footer:after {
	background-color: #F2F7F7;
}

#home .hero {
	position: relative;
}

#home .hero .illust#train-anime {
	display: none;
	overflow: hidden;
	padding-top: calc(10 / 20 * 1em);
	position: absolute;
	top: calc(1 / 20 * 1em);
	transform: translateY(-100%);
	width: 100%;
	z-index: 10;
}

#home .hero .illust#train-anime .trains {
	align-items: flex-end;
	display: flex;
	flex-direction: row-reverse;
	justify-content: flex-end;
	max-width: calc(172 / 20 * 1em);
}

#home .hero .illust#train-anime .trains .train.lead {
	flex-basis: calc(96 / 20 * 1em);
	position: relative;
}

#home .hero .illust#train-anime .trains .train.cargo {
	flex-basis: calc(38 / 20 * 1em);
}

#home .hero .illust#train-anime .trains .smoke {
	position: absolute;
	right: 0;
	top: 0;
}

#home .hero .kv-swiper .swiper-slide {
	margin: 0 calc(10 / 20 * 1em);
	max-width: calc(1450 / 20 * 1em);
}

#home .hero .kv-swiper .img.cover {
	border-radius: calc(30 / 20 * 1em);
}

#home .hero .kv-swiper .img.cover:before {
	padding-top: calc(700 / 1450 * 100%);
}

#home #intro {
	background: url("../images/intro_bg01.svg") no-repeat top center/contain;
	margin-bottom: calc(-30 / 20 * 1em);
	overflow: hidden;
	padding-bottom: calc(268 / 20 * 1em);
	position: relative;
	z-index: 2;
}

#home #intro .decoration {
	aspect-ratio: 2000 / 1000;
	position: absolute;
	width: 100%;
}

#home #intro .decoration .shape01 {
	left: 21.75%;
	top: 18.65%;
	transform: rotate(-157.012deg);
	width: calc(59.5 / 20 * 1em);
}

#home #intro .decoration .shape02 {
	left: -1.65%;
	top: 46.6%;
	transform: rotate(-105.541deg);
	width: calc(145.5 / 20 * 1em);
}

#home #intro .decoration .shape03 {
	left: 15.05%;
	top: 87%;
	transform: rotate(-12.211deg);
	width: calc(84.1126 / 20 * 1em);
}

#home #intro .decoration .shape04 {
	right: 18.8%;
	top: 19.65%;
	transform: rotate(-243.052deg);
	width: calc(66.7 / 20 * 1em);
}

#home #intro .decoration .shape05 {
	right: 0.3%;
	top: 38.3%;
	transform: rotate(-264.585deg);
	width: calc(77 / 20 * 1em);
}

#home #intro .decoration .shape06 {
	right: 36.25%;
	top: 73.8%;
	transform: rotate(-259.326deg);
	width: calc(52.25 / 20 * 1em);
}

#home #intro .catchphrase {
	position: relative;
	z-index: 2;
}

#home #intro .catchphrase #bgclip-sp,
#home #intro .catchphrase #bgclip {
	position: absolute;
}

#home #intro .catchphrase .area {
	align-items: flex-start;
	display: flex;
	justify-content: center;
	padding-top: calc(122 / 20 * 1em);
	width: 100%;
}

#home #intro .catchphrase .area.clip {
	aspect-ratio: 2000 / 890;
	clip-path: url(#bgpath);
	height: auto;
	overflow: hidden;
	position: absolute;
	width: 100%;
}

#home #intro .catchphrase .area.clip .hl {
	height: 50%;
}

#home #intro .catchphrase .area.copy .hl {
	color: #096AA3;
}

#home #intro .catchphrase .hl {
	color: #FFF;
	display: block;
	font-size: calc(42 / 20 * 1em);
	letter-spacing: 0;
	line-height: 4.7;
	writing-mode: vertical-rl;
}

#home #intro .catchphrase .hl span {
	white-space: nowrap;
	writing-mode: vertical-rl;
}

#home #intro .catchphrase .hl span:nth-child(2) {
	padding-top: 3.525em;
}

#home #intro .catchphrase .hl span:nth-child(3) {
	padding-top: 1.625em;
}

#home #intro .catchphrase .hl span:nth-child(4) {
	padding-top: 6.0375em;
}

#home #intro .images {
	pointer-events: none;
	position: relative;
}

#home #intro .images .img {
	clip-path: url(#intropath01);
	max-width: calc(760 / 20 * 1em);
	position: absolute;
	right: calc(-120 / 20 * 1em);
	top: calc(-384 / 20 * 1em);
	z-index: 1;
}

#home #intro .images .img svg {
	position: absolute;
}

#home #intro .images:before,
#home #intro .images:after {
	aspect-ratio: 1 / 1;
	background: url("../images/deco_dots01.svg") no-repeat top center/contain;
	content: "";
	display: block;
	position: absolute;
	transform: rotate(315deg);
	width: calc(260 / 20 * 1em);
}

#home #intro .images:before {
	left: calc(-62 / 20 * 1em);
	top: calc(118 / 20 * 1em);
}

#home #intro .images:after {
	right: calc(-20 / 20 * 1em);
	top: calc(136 / 20 * 1em);
	transform: rotate(-204deg);
}

#home #intro .text {
	box-sizing: content-box;
	margin: 8.5em auto 4.05em;
	max-width: 42em;
	position: relative;
	text-align: center;
	z-index: 2;
}

#home #intro .text p {
	line-height: 3;
	margin: 3em 0;
}

#home #intro .links {
	column-gap: calc(50 / 20 * 1em);
	display: flex;
	justify-content: center;
	position: relative;
	z-index: 2;
}

#home #intro .illust {
	pointer-events: none;
	position: absolute;
	width: 100%;
}

#home #intro .illust .left {
	aspect-ratio: 580 / 400;
	background: url("../images/bg_train01.png") no-repeat center/contain;
	position: absolute;
	top: calc(-147 / 20 * 1em);
	width: calc(580 / 20 * 1em);
}

#home #intro .illust .left .img {
	position: absolute;
	right: calc(72 / 20 * 1em);
	top: calc(125 / 20 * 1em);
	width: calc(90 / 20 * 1em);
}

#home #intro .illust .right {
	aspect-ratio: 420 / 380;
	background: url("../images/bg_train02.png") no-repeat center/contain;
	position: absolute;
	right: 0;
	top: calc(-307 / 20 * 1em);
	width: calc(420 / 20 * 1em);
}

#home #intro .illust .right .img {
	position: absolute;
	right: calc(99 / 20 * 1em);
	top: calc(52 / 20 * 1em);
	width: calc(100 / 20 * 1em);
}

#home #topics,
#home #school-life {
	background-color: #FFE157;
}

#home #topics:before,
#home #school-life:after {
	aspect-ratio: 2000 / 120;
	background: url("../images/bg_topics01.svg") no-repeat top center/contain;
	content: "";
	display: block;
	position: relative;
}

#home #topics:before {
	top: calc(2 / 20 * 1em);
	transform: translateY(-100%);
}

#home #school-life:after {
	background-image: url("../images/bg_school-life01.svg");
	top: calc(-28 / 20 * 1em);
	transform: translateY(100%);
}

#home #topics .wrap {
	display: flex;
	justify-content: space-between;
	padding-top: calc(62 / 20 * 1em);
	width: 100%;
}

#home #topics .wrap .block:nth-child(1) {
	padding-left: 40px;
	position: relative;
	width: calc((2000 - 1345) / 2000 * 100%);
}

#home #topics .wrap .block:nth-child(1):after {
	aspect-ratio: 1 / 1;
	background: url("../images/deco_stripe01.svg") no-repeat center/cover;
	content: "";
	display: block;
	left: calc(29 / 20 * 1em);
	position: absolute;
	top: calc(193 / 20 * 1em);
	width: calc(280 / 20 * 1em);
}

#home #topics .wrap .block:nth-child(2) {
	width: calc(1345 / 2000 * 100%);
}

#home #topics .text {
	margin-left: auto;
	max-width: calc(425 / 20 * 1em);
	position: relative;
	z-index: 1;
}

#home #topics .text .btn {
	margin-top: calc(102 / 20 * 1em);
}

#home #topics .topics-swiper .swiper-slide {
	margin-right: calc(70 / 20 * 1em);
	max-width: calc(420 / 20 * 1em);
}

#home #topics .topics-swiper .swiper-slide .meta {
	align-items: center;
	display: flex;
	justify-content: space-between;
	margin: calc(15 / 20 * 1em) auto calc(9 / 20 * 1em);
}

#home #topics .topics-swiper .swiper-slide .meta .category {
	align-items: center;
	background-color: #096AA3;
	border-radius: calc(17 / 14 * 1em);
	color: #FFF;
	display: flex;
	font-size: calc(14 / 20 * 1em);
	font-weight: 400;
	height: calc(34 / 14 * 1em);
	justify-content: center;
	letter-spacing: 0.1em;
	width: calc(150 / 14 * 1em);
}

#home #topics .topics-swiper .swiper-slide .meta .date {
	color: #777;
	font-size: calc(18 / 20 * 1em);
}

#home #topics .topics-swiper .swiper-slide .title {
	color: #444;
	font-size: calc(18 / 20 * 1em);
	font-weight: 500;
	line-height: 1.6;
}

#home #topics .topics-swiper .swiper-slide .img.cover {
	border-radius: calc(20 / 20 * 1em);
}

#home #topics .topics-swiper .swiper-slide .img.cover:before {
	padding-top: calc(280 / 420 * 100%);
}

#home #topics .topics-swiper .swiper-slide a .title {
	transition: color 0.3s;
}

#home #topics .topics-swiper .swiper-slide a .img.cover > * {
	transition: transform 0.3s;
}

.desktop #home #topics .topics-swiper .swiper-slide a:hover .title {
	color: #7CC3D6;
}

.desktop #home #topics .topics-swiper .swiper-slide a:hover .img.cover > * {
	transform: scale(1.1);
}

#home #topics .topics-swiper .swiper-pagination {
	margin-top: calc(75 / 20 * 1em);
}

#home #school-life {
	position: relative;
	z-index: 2;
}

#home #school-life .wrap {
	display: flex;
	justify-content: space-between;
	margin-bottom: calc(-100 / 20 * 1em);
	overflow: hidden;
	padding-bottom: calc(100 / 20 * 1em);
	padding-top: calc(98 / 20 * 1em);
	width: 100%;
}

#home #school-life .wrap .block {
	flex-basis: 50%;
}

#home #school-life .wrap .block:nth-child(1) {
	order: 2;
}

#home #school-life .wrap .text {
	padding-top: calc(126 / 20 * 1em);
	position: relative;
}

#home #school-life .wrap .text .illust {
	aspect-ratio: 460 / 422;
	background: url("../images/bg_train03.png") no-repeat center/contain;
	position: absolute;
	right: calc(-90 / 20 * 1em);
	top: 0;
	width: calc(460 / 20 * 1em);
}

#home #school-life .wrap .text .illust .clip-box {
	clip-path: url(#circlepath01);
	height: 100%;
	width: 100%;
}

#home #school-life .wrap .text .illust .clip-box + svg {
	position: absolute;
}

#home #school-life .wrap .text .illust .img {
	position: absolute;
	right: calc(189 / 20 * 1em);
	top: calc(211.5 / 20 * 1em);
	width: calc(68 / 20 * 1em);
}

#home #school-life .wrap .text .links {
	margin-top: calc(125 / 20 * 1em);
	max-width: calc(600 / 20 * 1em);
	position: relative;
}

#home #school-life .wrap .text .links:before {
	background: url("../images/school-life_bg01.svg") no-repeat center/contain;
	bottom: calc(-21 / 20 * 1em);
	content: "";
	display: block;
	height: calc(178 / 20 * 1em);
	position: absolute;
	right: calc(-70 / 20 * 1em);
	width: calc(180 / 20 * 1em);
}

#home #school-life .wrap .text .links .btn {
	margin: calc(21 / 20 * 1em) 0;
}

#home #school-life .wrap .image {
	position: relative;
}

#home #school-life .wrap .image .img.main {
	aspect-ratio: 884 / 812;
	clip-path: url(#slpath01);
	margin-bottom: calc(2 / 20 * 1em);
	margin-left: calc(-43 / 20 * 1em);
	margin-top: calc(105 / 20 * 1em);
	width: calc(884 / 20 * 1em);
}

#home #school-life .wrap .image .img.main svg {
	position: absolute;
}

#home #school-life .wrap .image .img.main .swiper-slide {
	aspect-ratio: 884 / 812;
	overflow: hidden;
}

#home #school-life .wrap .image .img.main img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

#home #school-life .wrap .image .img.sub {
	bottom: calc(-85.5 / 20 * 1em);
	max-width: calc(650 / 20 * 1em);
	position: absolute;
	right: calc(3 / 20 * 1em);
}

#home #support {
	overflow: hidden;
	padding-top: calc(25 / 20 * 1em);
}

#home #support .img.main {
	overflow: hidden;
	position: relative;
}

#home #support .img.main img {
	width: 100%;
}

#home #support .img.main:after {
	background: url("../images/support_bg01.svg") no-repeat center/contain;
	bottom: calc(-110 / 20 * 1em);
	content: "";
	display: block;
	height: calc(206 / 20 * 1em);
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: calc(532 / 20 * 1em);
}

#home #support .section-title {
	margin: auto;
	margin-top: calc(-29 / 20 * 1em);
	max-width: calc(300 / 20 * 1em);
	text-align: center;
	text-indent: 0.25em;
}

#home #support .section-title:before {
	margin-left: auto;
	margin-right: auto;
}

#home #support .section-title:after {
	background-color: #CFE2E6;
	left: calc(-23 / 20 * 1em);
	top: calc(23.5 / 20 * 1em);
}

#home #support .section-title span.en {
	margin-top: 1em;
}

#home #support .support-list {
	position: relative;
	z-index: 3;
}

#home #support .illust {
	position: relative;
}

#home #support .illust .right {
	aspect-ratio: 1 / 1;
	background: url("../images/deco_stripe01.svg") no-repeat center/contain;
	position: absolute;
	right: calc(-102 / 20 * 1em);
	top: calc(-269 / 20 * 1em);
	width: calc(422 / 20 * 1em);
}

#home #support .illust .right .img {
	left: calc(60 / 20 * 1em);
	position: absolute;
	top: calc(80 / 20 * 1em);
	width: calc(200 / 20 * 1em);
}

#home #support .illust .left {
	aspect-ratio: 1 / 1;
	background: url("../images/deco_stripe01.svg") no-repeat center/contain;
	left: calc(-170 / 20 * 1em);
	position: absolute;
	top: calc(-290 / 20 * 1em);
	width: calc(422 / 20 * 1em);
	z-index: 2;
}

#home #support .illust .left .img {
	position: absolute;
	right: calc(30 / 20 * 1em);
	top: calc(63 / 20 * 1em);
	width: calc(132 / 20 * 1em);
}

#home #support .marquee-swiper {
	margin-top: calc(150 / 20 * 1em);
}

#home #instagram .banner {
	display: flex;
	justify-content: center;
	margin-block: calc(184 / 20 * 1em) calc(44 / 20 * 1em);
}

#home #instagram .banner a {
	transition: opacity 0.3s;
}

.desktop #home #instagram .banner a:hover {
	opacity: 0.6;
}

#home #admission {
	overflow: hidden;
	padding-bottom: calc(200 / 20 * 1em);
	padding-top: calc(174 / 20 * 1em);
}

#home #admission .inner {
	display: flex;
	justify-content: space-between;
	max-width: calc(1700 / 20 * 1em);
}

#home #admission .inner > .block {
	position: relative;
}

#home #admission .inner > .block:nth-child(1) {
	flex-grow: 1;
}

#home #admission .inner > .block:nth-child(2) {
	flex-basis: calc(900 / 1700 * 100%);
}

#home #admission .section-title:after {
	background-color: #CFE2E6;
	left: calc(-55 / 20 * 1em);
	top: calc(23 / 20 * 1em);
}

#home #admission .section-title span {
	text-indent: 0.075em;
}

#home #admission .section-title span.en {
	margin-top: 1.4em;
	text-indent: 0.3em;
}

#home #admission .text {
	margin-left: auto;
	max-width: calc(700 / 20 * 1em);
	padding-top: calc(25 / 20 * 1em);
	position: relative;
	width: 100%;
	z-index: 1;
}

#home #admission .text p {
	font-size: calc(18 / 20 * 1em);
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 2;
	margin: calc(68 / 18 * 1em) 0 calc(60 / 18 * 1em);
	max-width: calc(600 / 18 * 1em);
}

#home #admission .image {
	position: relative;
}

#home #admission .image:after {
	aspect-ratio: 640 / 423;
	background: url("../images/illust_sakura01.svg") no-repeat center/contain;
	bottom: calc(-176 / 20 * 1em);
	content: "";
	display: block;
	position: absolute;
	right: calc(-257 / 20 * 1em);
	width: calc(640 / 20 * 1em);
	z-index: 2;
}

#home #admission .image .img {
	border-radius: calc(30 / 20 * 1em);
	overflow: hidden;
}

#home #admission .illust {
	aspect-ratio: 420 / 260;
	background: url("../images/bg_equipment01.png") no-repeat center/contain;
	bottom: calc(-157 / 20 * 1em);
	left: calc(-303 / 20 * 1em);
	position: absolute;
	width: calc(420 / 20 * 1em);
}

#home #admission .illust .img {
	left: calc(208 / 20 * 1em);
	position: absolute;
	top: calc(71 / 20 * 1em);
	width: calc(76 / 20 * 1em);
}

#home #qa {
	padding-bottom: calc(62 / 20 * 1em);
	padding-top: calc(131 / 20 * 1em);
}

#home #qa .inner {
	max-width: calc(1400 / 20 * 1em);
}

#home #qa .banner {
	position: relative;
}

.desktop #home #qa .banner a img {
	transition: transform 0.3s;
}

.desktop #home #qa .banner a:hover img {
	transform: scale(1.1);
}

#home #qa .banner .img {
	border-radius: calc(30 / 20 * 1em);
	box-shadow: calc(40 / 20 * 1em) calc(40 / 20 * 1em) 0 0 #096AA3;
	overflow: hidden;
	position: relative;
}

#home #qa .banner .img:after {
	background-color: #FFF;
	content: "";
	display: block;
	height: 100%;
	left: 0;
	opacity: 0.5;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 1;
}

#home #qa .banner .section-title {
	left: 50%;
	padding-bottom: calc(14 / 20 * 1em);
	position: absolute;
	text-align: center;
	top: 50%;
	transform: translate(-50%, -50%);
	z-index: 2;
}

#home #qa .banner .section-title:before {
	margin-left: auto;
	margin-right: auto;
}

#home #qa .banner .section-title:after {
	left: calc(-44 / 20 * 1em);
	top: calc(20.5 / 20 * 1em);
}

#home #qa .banner .section-title span {
	text-indent: 0.1em;
}

#home #qa .banner .section-title span.jp {
	display: inline-block;
	position: relative;
	vertical-align: bottom;
}

#home #qa .banner .section-title span.jp:after {
	text-stroke: calc(5 / 46 * 1em) #FFF;
	-webkit-text-stroke: calc(5 / 46 * 1em) #FFF;
	content: "よくあるご質問";
	left: 0;
	position: absolute;
	z-index: -1;
}

#home #qa .banner .section-title span.en {
	letter-spacing: 0.125em;
	position: relative;
	top: 0.1em;
}

body#information .content .text {
	text-align: center;
}

body#information .content .text > p {
	margin-bottom: 2.15em;
}

body#information #document {
	padding: calc(160 / 20 * 1em) 0 calc(150 / 20 * 1em);
}

body#information #application {
	background-color: #F7F3ED;
	padding: calc(150 / 20 * 1em) 0 calc(200 / 20 * 1em);
	position: relative;
}

body#information #application:before {
	background: url("../images/bg_tree03.svg") no-repeat center/cover;
	content: "";
	display: block;
	height: calc(211.8429 / 20 * 1em);
	left: calc(70 / 20 * 1em);
	position: absolute;
	top: calc(-110 / 20 * 1em);
	width: calc(190 / 20 * 1em);
}

body#information #application .banner {
	background-color: #FFF;
	border: calc(3 / 20 * 1em) solid #E38888;
	border-radius: calc(20 / 20 * 1em);
	margin: auto;
	margin-bottom: calc(48 / 20 * 1em);
	max-width: calc(630 / 20 * 1em);
	padding: calc(24 / 20 * 1em);
}

body#information #application .banner .img {
	border-radius: 0;
	margin: auto;
	max-width: calc(570 / 20 * 1em);
}

body#information #footer {
	margin-top: calc(228 / 20 * 1em);
}

body#information #footer:after {
	background-color: #F7F3ED;
}

body#privacy .content {
	padding-bottom: calc(112 / 20 * 1em);
}

body#privacy #declaration {
	margin-top: calc(79 / 20 * 1em);
}

body#privacy #policy {
	margin-top: calc(60 / 20 * 1em);
}

body#qa .content .inner {
	padding-bottom: calc(76 / 20 * 1em);
	padding-top: calc(130 / 20 * 1em);
}

body#qa .qa-list {
	margin-bottom: calc(50 / 20 * 1em);
	width: 100%;
}

body#qa .qa-list dt,
body#qa .qa-list dd {
	border-radius: calc(40 / 20 * 1em);
	display: flex;
	padding: calc(29 / 20 * 1em) calc(50 / 20 * 1em);
	padding-right: calc(100 / 20 * 1em);
}

body#qa .qa-list dt:before,
body#qa .qa-list dd:before {
	background: url("../images/qa_q01.svg") no-repeat center/44.444%;
	background-color: #096AA3;
	border-radius: 100%;
	content: "";
	display: block;
	flex-shrink: 0;
	height: calc(90 / 20 * 1em);
	left: 0;
	margin-right: 2.8%;
	top: 0;
	width: calc(90 / 20 * 1em);
}

body#qa .qa-list dd {
	background-color: #fbf1f2;
	padding-bottom: calc(40 / 20 * 1em);
	padding-top: calc(40 / 20 * 1em);
}

body#qa .qa-list dd:before {
	background-color: #de8382;
	background-image: url("../images/qa_a01.svg");
}

body#qa .qa-list dd .wrap {
	width: 100%;
}

body#qa .qa-list dd .wrap > .editor-area:first-child {
	padding-top: 1.6em;
}

body#qa .qa-list dd .wrap > .editor-area:first-child > *:first-child {
	margin-top: 0;
}

body#qa .qa-list .title-ud {
	margin-bottom: 0.5em;
	margin-top: calc(17 / 20 * 1em);
}

body#qa .qa-list .title-answer {
	color: #096AA3;
	font-size: calc(22 / 20 * 1em);
	letter-spacing: 0.1em;
	line-height: 1.4;
	margin: 1.25em 0 1.4em;
}

body#qa .qa-list .editor-area > *:last-child {
	margin-bottom: calc(10 / 20 * 1em);
}

body#qa .qa-list .editor-area p {
	line-height: 2;
	margin: 2em 0;
}

body#qa .qa-list .editor-area h5:not([class]) + p {
	margin-top: 0.925em;
}

body#qa .qa-list .editor-area img {
	margin-bottom: 0.725em;
}

body#qa .regular-swiper {
	margin-top: calc(42 / 20 * 1em);
}

body#qa .regular-swiper .swiper-pagination {
	margin-bottom: calc(-6 / 20 * 1em);
	min-height: calc(50 / 20 * 1em);
}

body#qa .regular-swiper .img.cover:before {
	padding-top: calc(620 / 930 * 100%);
}

body#recruit #intro {
	padding: calc(160 / 20 * 1em) 0 calc(150 / 20 * 1em);
}

body#recruit #intro .inner {
	max-width: calc(1800 / 20 * 1em);
}

body#recruit #intro .images {
	width: calc(920 / 1800 * 100%);
}

body#recruit #intro .images .wrap {
	aspect-ratio: 920 / 600;
	column-gap: calc(10 / 920 * 100%);
	display: flex;
	flex-shrink: 0;
	justify-content: space-between;
	position: relative;
}

body#recruit #intro .images .wrap:after {
	aspect-ratio: 1 / 1;
	background: url("../images/deco_stripe01.svg") no-repeat center/cover;
	bottom: -13%;
	content: "";
	display: block;
	left: 10%;
	position: absolute;
	transform: rotate(3deg);
	width: calc(320 / 920 * 100%);
	z-index: -1;
}

body#recruit #intro .images .img {
	border-radius: calc(15 / 20 * 1em);
	width: calc(300 / 920 * 100%);
}

body#recruit #intro .images .img:nth-child(1) {
	align-self: flex-start;
}

body#recruit #intro .images .img:nth-child(2) {
	align-self: flex-end;
}

body#recruit #intro .images .img:nth-child(3) {
	align-self: center;
}

body#recruit #intro .text {
	align-items: center;
	display: flex;
	width: calc((1800 - 920 - 80) / 1800 * 100%);
}

body#recruit #intro .text .wrap {
	margin-right: auto;
	max-width: calc(700 / 20 * 1em);
}

body#recruit #intro .text h3 {
	color: #096AA3;
	line-height: 1.75;
	margin-bottom: 1.7em;
	margin-top: 2.5em;
}

body#recruit #intro .text h3:after {
	display: none;
}

body#recruit body#about #overview,
body#about body#recruit #overview,
body#recruit body#about #history,
body#about body#recruit #history,
body#recruit body#about #access,
body#about body#recruit #access,
body#recruit #info:before,
body#recruit #info:after {
	background: url("../images/bg_tree03.svg") no-repeat center/cover;
	content: "";
	display: block;
	height: calc(211.8429 / 20 * 1em);
	position: absolute;
	width: calc(190 / 20 * 1em);
}

body#recruit #info {
	background-color: #F7F3ED;
	padding: calc(150 / 20 * 1em) 0 calc(98 / 20 * 1em);
	position: relative;
}

body#recruit #info:before {
	right: calc(80 / 20 * 1em);
	top: calc(-109 / 20 * 1em);
}

body#recruit #info:after {
	background-image: url("../images/bg_tree01.svg");
	bottom: calc(39 / 20 * 1em);
	height: calc(195.8782 / 20 * 1em);
	left: calc(40 / 20 * 1em);
	width: calc(200 / 20 * 1em);
	z-index: 0;
}

body#recruit #info .information:first-of-type {
	margin-top: calc(92 / 20 * 1em);
}

body#recruit #footer {
	margin-top: calc(228 / 20 * 1em);
}

body#recruit #footer:after {
	background-color: #F7F3ED;
}

body#school-life .school-life-list {
	box-sizing: content-box;
	column-gap: calc(86 / 1390 * 100%);
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: calc(100 / 20 * 1em) auto 0;
	max-width: calc(1390 / 20 * 1em);
	padding-bottom: calc(20 / 20 * 1em);
}

body#school-life .school-life-list:before,
body#school-life .school-life-list:after {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	content: "";
	display: block;
	position: absolute;
}

body#school-life .school-life-list:before {
	background-image: url("../images/bg_tree04.svg");
	bottom: calc(60 / 20 * 1em);
	height: calc(151.6189 / 20 * 1em);
	left: calc(60 / 20 * 1em);
	width: calc(130 / 20 * 1em);
}

body#school-life .school-life-list:after {
	background-image: url("../images/bg_tree05.svg");
	bottom: calc(60 / 20 * 1em);
	height: calc(158.1926 / 20 * 1em);
	right: calc(60 / 20 * 1em);
	width: calc(160 / 20 * 1em);
}

body#school-life .school-life-list li {
	margin: calc(59 / 20 * 1em) 0;
	max-width: calc(406 / 1390 * 100%);
	position: relative;
	text-align: center;
}

body#school-life .school-life-list li a {
	display: block;
}

.desktop body#school-life .school-life-list li a {
	transition: opacity 0.3s;
}

.desktop body#school-life .school-life-list li a:hover {
	opacity: 0.7;
}

body#school-life .school-life-list li .img .clip {
	clip-path: url(#cpath02);
}

body#school-life .school-life-list li .img svg {
	position: absolute;
}

body#school-life .school-life-list li .title {
	align-items: center;
	display: flex;
	font-size: calc(24 / 20 * 1em);
	justify-content: center;
	letter-spacing: 0.125em;
	margin-top: 0.9em;
	position: relative;
	white-space: nowrap;
}

body#school-life .school-life-list li .title:before {
	background: url("../images/support-list_line01.svg") no-repeat center/cover;
	bottom: calc(-11 / 24 * 1em);
	content: "";
	display: block;
	height: calc(21 / 24 * 1em);
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: calc(104 / 24 * 1em);
}

body#school-life .school-life-list li .title:after {
	border: calc(2.5 / 24 * 1em) solid #096AA3;
	border-bottom: none;
	border-left: none;
	content: "";
	display: inline-block;
	height: calc(7.25 / 24 * 1em);
	margin-left: 0.65em;
	margin-right: -1.25em;
	transform: rotate(45deg);
	width: calc(7.25 / 24 * 1em);
}

body#school-life .school-life-list li .description {
	font-size: calc(16 / 20 * 1em);
	font-weight: normal;
	letter-spacing: 0.1em;
	line-height: 1.935625;
	margin: 2.325em 0;
	padding: 0 0.75em;
}

body#school-life.daily #main {
	position: relative;
}

body#school-life.daily #main:before,
body#school-life.daily #main:after {
	background: url("../images/bg_daily01.svg") repeat-y top/contain;
	bottom: calc(-400 / 20 * 1em);
	content: "";
	display: block;
	position: absolute;
	top: calc(970 / 20 * 1em);
	width: calc(155 / 20 * 1em);
	z-index: -1;
}

body#school-life.daily #main:after {
	background-image: url("../images/bg_daily02.svg");
	right: 0;
	top: calc(1583 / 20 * 1em);
}

body#school-life.daily .content .text {
	position: relative;
	text-align: center;
	top: calc(-18 / 20 * 1em);
}

body#school-life.daily .content .text p {
	letter-spacing: 0.125em;
}

body#school-life.daily .daily-schedule {
	padding-bottom: calc(60 / 20 * 1em);
	padding-left: calc(150 / 20 * 1em);
	position: relative;
}

body#school-life.daily .daily-schedule:before {
	background: url("../images/daily_start01.svg") no-repeat center/cover;
	content: "";
	display: block;
	height: calc(92 / 20 * 1em);
	left: 0;
	position: absolute;
	top: calc(-26 / 20 * 1em);
	width: calc(98 / 20 * 1em);
}

body#school-life.daily .daily-schedule:after {
	background: url("../images/daily_end01.svg") no-repeat center/cover;
	bottom: calc(-11 / 20 * 1em);
	content: "";
	display: block;
	height: calc(72 / 20 * 1em);
	left: calc(12 / 20 * 1em);
	position: absolute;
	width: calc(76 / 20 * 1em);
}

body#school-life.daily .daily-schedule .time {
	color: #7CC3D6;
	font-size: calc(60 / 20 * 1em);
	letter-spacing: 0.125em;
	line-height: 1;
}

body#school-life.daily .daily-schedule .title {
	color: #096AA3;
	font-size: calc(30 / 20 * 1em);
	letter-spacing: 0.125em;
	line-height: 1.4;
	margin: 0.575em 0 0.775em;
}

body#school-life.daily .daily-schedule ul {
	padding: calc(26 / 20 * 1em) 0;
}

body#school-life.daily .daily-schedule ul:before {
	background: radial-gradient(circle farthest-side, #7CC3D6, #7CC3D6 20.2%, transparent 20.2%, transparent);
	background-repeat: repeat-y;
	background-size: calc(39.9 / 20 * 1em) calc(39.9 / 20 * 1em);
	bottom: calc(80 / 20 * 1em);
	content: "";
	left: calc(30 / 20 * 1em);
	position: absolute;
	top: calc(80 / 20 * 1em);
	width: calc(39.9 / 20 * 1em);
}

body#school-life.daily .daily-schedule ul li {
	margin: calc(98.5 / 20 * 1em) 0;
	position: relative;
}

body#school-life.daily .daily-schedule ul li:before {
	background: url("../images/daily_icon01.svg") no-repeat center/cover;
	content: "";
	display: block;
	height: calc(32 / 20 * 1em);
	left: calc(-116 / 20 * 1em);
	position: absolute;
	top: calc(15.5 / 20 * 1em);
	width: calc(32 / 20 * 1em);
}

body#school-life.daily .daily-schedule ul li:nth-child(3n+2):before {
	background-image: url("../images/daily_icon02.svg");
}

body#school-life.daily .daily-schedule ul li:nth-child(3n+3):before {
	background-image: url("../images/daily_icon03.svg");
}

body#school-life.daily .daily-schedule ul li:nth-child(6n+4):before {
	transform: rotate(-26.626deg);
}

body#school-life.daily .daily-schedule ul li:nth-child(6n+5):before {
	transform: rotate(-190.123deg);
}

body#school-life.daily .daily-schedule ul li:nth-child(6n+6):before {
	transform: rotate(155.291deg);
}

body#school-life.daily .daily-swiper {
	margin-left: 0;
	max-width: calc(1200 / 20 * 1em);
}

body#school-life.daily .daily-swiper .swiper-slide {
	margin-right: calc(30 / 1200 * 100%);
	max-width: calc(585 / 1200 * 100%);
}

body#school-life.daily .daily-swiper .img.cover {
	border-radius: calc(30 / 20 * 1em);
}

body#school-life.daily .daily-swiper .img.cover:before {
	padding-top: calc(390 / 585 * 100%);
}

body#school-life.daily .page-nav {
	margin-top: calc(160 / 20 * 1em);
	padding-bottom: calc(130 / 20 * 1em);
}

body#school-life.annual-events .annual-events-tab {
	margin-top: calc(120 / 20 * 1em);
}

body#school-life.annual-events .page-nav {
	margin-top: calc(120 / 20 * 1em);
	padding-bottom: calc(127 / 20 * 1em);
}

body#school-life .activities-section {
	margin: calc(70 / 20 * 1em) auto;
	padding-top: 0;
}

body#school-life .activities-section .inner {
	column-gap: 5%;
}

body#school-life .activities-section:first-of-type {
	margin-top: calc(120 / 20 * 1em);
}

body#school-life .activities-section:first-of-type:before {
	background: url("../images/bg_sports01.svg") no-repeat center/cover;
	content: "";
	display: block;
	height: calc(86.965 / 20 * 1em);
	left: calc(50 / 20 * 1em);
	position: absolute;
	top: calc(-114 / 20 * 1em);
	width: calc(179 / 20 * 1em);
	z-index: -1;
}

body#school-life .activities-section:last-of-type:not(:first-of-type):before {
	background: url("../images/bg_sports02.svg") no-repeat center/cover;
	bottom: calc(-214 / 20 * 1em);
	content: "";
	display: block;
	height: calc(220.6921 / 20 * 1em);
	position: absolute;
	right: calc(145 / 20 * 1em);
	width: calc(185 / 20 * 1em);
	z-index: -1;
}

body#school-life .activities-section .text .title-ud {
	margin-bottom: 2em;
}

body#school-life .activities-section .images {
	flex-basis: calc(660 / 1400 * 100%);
	flex-shrink: 0;
	padding-top: calc(6 / 20 * 1em);
}

body#school-life .activities-section .regular-swiper .img.cover:before {
	padding-top: calc(440 / 660 * 100%);
}

body#school-life .activities-section + .inner .page-nav {
	margin-top: calc(99 / 20 * 1em);
	padding-bottom: calc(130 / 20 * 1em);
}

body#support.archive .content .text h4 {
	font-size: calc(30 / 20 * 1em);
	letter-spacing: 0.125em;
	line-height: 1.4;
	margin-bottom: 1.6em;
	text-align: center;
}

body#support.archive .content .text h4:after {
	display: none;
}

body#support.archive .content .text p {
	margin-bottom: 1.5em;
	margin-top: 0.65em;
}

body#support.archive .content .images {
	column-gap: calc(60 / 20 * 1em);
	display: flex;
	justify-content: space-between;
}

body#support.archive .content .images li {
	width: 100%;
}

body#support.archive .content .images img,
body#support.archive .content .images .img {
	width: 100%;
}

body#support.archive .content .images img {
	aspect-ratio: 570 / 380;
}

body#support.archive .support-list {
	margin: calc(34 / 20 * 1em) auto calc(72 / 20 * 1em);
	padding: 0;
}

body#support.archive .support-list li {
	margin: calc(42 / 20 * 1em) 0;
}

body#support.archive .support-list li:before {
	transform: scale(0.95);
}

body#support.archive .editor-area table th {
	width: 35%;
}

body#support.archive .editor-area table td {
	width: 65%;
}

body#support.archive .application {
	background-color: #F1F6F3;
	border-radius: calc(20 / 20 * 1em);
	margin: calc(50 / 20 * 1em) 0;
	padding: calc(46 / 20 * 1em) calc(50 / 20 * 1em) 0;
}

body#support.archive .application .flex {
	column-gap: calc(40 / 1100 * 100%);
}

body#support.archive .application .flex .img {
	margin-bottom: calc(46 / 20 * 1em);
	max-width: calc(363 / 20 * 1em);
}

body#support.archive .application .flex .img img {
	width: 100%;
}

body#support.archive .application .title-ud {
	margin-bottom: 2.2em;
}

body#support #preschool {
	margin-top: calc(-171 / 20 * 1em);
	overflow: hidden;
	padding-bottom: calc(60 / 20 * 1em);
	padding-top: calc(120 / 20 * 1em);
	position: relative;
}

body#support #preschool:before {
	background: url("../images/illust_family01.svg") no-repeat center/contain;
	content: "";
	display: block;
	height: calc(235.1514 / 20 * 1em);
	left: calc(80 / 20 * 1em);
	position: absolute;
	top: calc(967 / 20 * 1em);
	transform: scaleX(-1);
	width: calc(170 / 20 * 1em);
}

body#support #preschool:after {
	background: url("../images/deco_stripe01.svg") no-repeat center/contain;
	content: "";
	display: block;
	height: calc(370 / 20 * 1em);
	left: calc(-120 / 20 * 1em);
	position: absolute;
	top: calc(820 / 20 * 1em);
	width: calc(370 / 20 * 1em);
	z-index: -1;
}

body#support #kindergartener {
	margin-top: calc(-28 / 20 * 1em);
	overflow: hidden;
	padding-bottom: calc(30 / 20 * 1em);
	padding-top: calc(120 / 20 * 1em);
	position: relative;
}

body#support #kindergartener:before {
	background: url("../images/illust_family02.svg") no-repeat center/contain;
	content: "";
	display: block;
	height: calc(198.4816 / 20 * 1em);
	left: calc(76 / 20 * 1em);
	position: absolute;
	top: calc(684 / 20 * 1em);
	width: calc(181 / 20 * 1em);
}

body#support #kindergartener:after {
	background: url("../images/deco_stripe01.svg") no-repeat center/contain;
	content: "";
	display: block;
	height: calc(383 / 20 * 1em);
	left: calc(-130 / 20 * 1em);
	position: absolute;
	top: calc(552 / 20 * 1em);
	width: calc(383 / 20 * 1em);
	z-index: -1;
}

body#support #kindergartener .text {
	margin-bottom: calc(-18 / 20 * 1em);
	margin-top: calc(-13 / 20 * 1em);
}

body#support.childcare .editor-area p {
	margin-bottom: 1.875em;
}

body#support.childcare .editor-area p:not(:first-child) {
	margin-top: 1.875em;
}

body#support.childcare .content {
	padding-bottom: calc(126 / 20 * 1em);
}

body#support #intro {
	overflow: hidden;
	padding-top: 0;
}

body#support #intro .head + .text {
	margin-top: calc(125 / 20 * 1em);
	text-align: center;
}

body#support #intro .head + .text h4 {
	font-size: calc(30 / 20 * 1em);
	letter-spacing: 0.125em;
	margin-bottom: 1.25em;
}

body#support #intro .head + .text h4:after {
	display: none;
}

body#support #intro .head + .text + .images {
	margin: calc(39 / 20 * 1em) 0 calc(50 / 20 * 1em);
	position: relative;
}

body#support #intro .head + .text + .images:before,
body#support #intro .head + .text + .images:after {
	aspect-ratio: 1 / 1;
	background: url("../images/deco_stripe02.svg") no-repeat center/contain;
	content: "";
	display: block;
	left: -7.1%;
	position: absolute;
	top: -2%;
	width: calc(380 / 1400 * 100%);
	z-index: -1;
}

body#support #intro .head + .text + .images:after {
	left: auto;
	right: -5%;
	top: 46%;
	width: calc(315 / 1400 * 100%);
}

body#support #intro .head + .text + .images .wrap {
	aspect-ratio: 1400 / 550;
	column-gap: calc(30 / 1400 * 100%);
	display: flex;
	justify-content: space-between;
}

body#support #intro .head + .text + .images .img {
	border-radius: 100%;
	position: relative;
}

body#support #intro .head + .text + .images .img:nth-child(1) {
	align-self: center;
	top: -3.7%;
	width: calc(450 / 1400 * 100%);
}

body#support #intro .head + .text + .images .img:nth-child(2) {
	align-self: flex-end;
	width: calc(370 / 1400 * 100%);
}

body#support #intro .head + .text + .images .img:nth-child(3) {
	align-self: flex-start;
	width: calc(520 / 1400 * 100%);
}

body#support #detail {
	padding-bottom: calc(112 / 20 * 1em);
}

body#support #detail .outline {
	background-color: #EFF4F1;
	border-radius: calc(20 / 20 * 1em);
	padding: calc(92 / 20 * 1em) calc(100 / 1400 * 100%) calc(32 / 20 * 1em);
	position: relative;
}

body#support #detail .outline:before,
body#support #detail .outline:after {
	background: url("../images/illust_toy01.svg") no-repeat center/cover;
	content: "";
	display: block;
	height: calc(190 / 20 * 1em);
	left: calc(-50 / 20 * 1em);
	position: absolute;
	top: calc(-90 / 20 * 1em);
	width: calc(195 / 20 * 1em);
}

body#support #detail .outline:after {
	background-image: url("../images/illust_toy02.svg");
	bottom: calc(-29 / 20 * 1em);
	height: calc(104 / 20 * 1em);
	left: auto;
	position: absolute;
	right: calc(-57 / 20 * 1em);
	top: auto;
	width: calc(108 / 20 * 1em);
}

body#support #detail .title-ud {
	text-align: center;
}

body#support #detail .editor-area {
	margin: calc(62 / 20 * 1em) 0;
	margin-bottom: calc(75 / 20 * 1em);
}

body#support #detail .editor-area table th {
	width: 27.5%;
}

body#support #detail .editor-area table td {
	width: 72.5%;
}

body#support #detail .applications {
	text-align: center;
}

body#support #detail .applications p:not([class]) {
	font-size: calc(18 / 20 * 1em);
	font-weight: 500;
	line-height: 2;
	margin-bottom: calc(28 / 20 * 1em);
	margin-top: calc(51 / 20 * 1em);
}

body#support #detail .applications .semester {
	margin: calc(66 / 20 * 1em) 0;
}

body#support #detail .applications .semester h5 {
	color: #096AA3;
	font-size: calc(22 / 20 * 1em);
	letter-spacing: 0.1em;
	line-height: 1.4;
}

body#support #detail .applications .semester .supplement {
	color: #777;
	font-size: calc(16 / 20 * 1em);
	font-weight: bold;
	letter-spacing: 0.1em;
	line-height: 1.75;
	margin: 0.45em;
}

body#support #detail .applications .semester .btns {
	column-gap: calc(17 / 1200 * 100%);
	display: flex;
	flex-wrap: wrap;
	margin: 0.75em 0;
}

body#support #detail .applications .semester .btns li {
	margin: 0.8% 0;
}

body#support #detail .applications .semester .btns li > * {
	align-items: center;
	background-color: #AAA;
	border-radius: calc(20 / 18 * 1em);
	color: #FFF;
	display: flex;
	font-size: calc(18 / 20 * 1em);
	height: calc(60 / 18 * 1em);
	justify-content: center;
	letter-spacing: 0.05em;
	text-indent: 0.7em;
	white-space: nowrap;
	width: calc(135 / 18 * 1em);
}

body#support #detail .applications .semester .btns li > *:not(span) {
	background-color: #E38888;
}

.desktop body#support #detail .applications .semester .btns li > a {
	transition: background-color 0.3s;
}

.desktop body#support #detail .applications .semester .btns li > a:hover {
	background-color: #F2A0A0;
}

body#support #detail + .inner {
	padding-bottom: calc(130 / 20 * 1em);
}

body#support.consultation #intro .column {
	justify-content: space-between;
	margin-top: calc(-20 / 20 * 1em);
}

body#support.consultation #intro .column .images {
	position: relative;
	width: calc(580 / 1400 * 100%);
}

body#support.consultation #intro .column .images .wrap {
	aspect-ratio: 580 / 630;
	position: relative;
	width: 100%;
}

body#support.consultation #intro .column .images .wrap:after {
	aspect-ratio: 1 / 1;
	background: url("../images/deco_stripe02.svg") no-repeat center/cover;
	content: "";
	display: block;
	left: -14.75%;
	position: absolute;
	top: 39.3%;
	width: calc(330 / 580 * 100%);
	z-index: -1;
}

body#support.consultation #intro .column .images .img {
	border-radius: 10%;
}

body#support.consultation #intro .column .images .img:nth-child(1) {
	width: calc(450 / 580 * 100%);
}

body#support.consultation #intro .column .images .img:nth-child(2) {
	bottom: 0;
	position: absolute;
	right: 0;
	width: calc(310 / 580 * 100%);
}

body#support.consultation #intro .column .text {
	width: calc(770 / 1400 * 100%);
}

body#support.consultation #intro .column .text:after {
	aspect-ratio: 1 / 1;
	background: url("../images/deco_stripe02.svg") no-repeat center/cover;
	content: "";
	display: block;
	margin-left: auto;
	margin-top: calc(-213 / 20 * 1em);
	position: relative;
	right: calc(-60 / 20 * 1em);
	width: calc(300 / 20 * 1em);
	z-index: -1;
}

body#support.consultation #intro .column .text .wrap:after {
	background: url("../images/illust_consultation01.svg") no-repeat center/cover;
	content: "";
	display: block;
	height: calc(276.5052 / 20 * 1em);
	margin-left: auto;
	margin-right: 3em;
	margin-top: calc(-9 / 20 * 1em);
	width: calc(210 / 20 * 1em);
}

body#support.consultation #intro .column .text h3 {
	color: #096AA3;
	line-height: 1.75;
	margin-bottom: 1.1em;
	margin-top: 0.65em;
}

body#support.consultation #intro .column .text h3:after {
	display: none;
}

body#support.consultation #detail {
	margin-top: calc(-58 / 20 * 1em);
	padding-bottom: calc(120 / 20 * 1em);
}

body#support.consultation #detail .outline {
	padding: calc(100 / 20 * 1em) calc(100 / 1400 * 100%);
}

body#support.consultation #detail .outline:before {
	display: none;
}

body#support.consultation #detail .outline:after {
	background: url("../images/illust_family02.svg") no-repeat center/cover;
	bottom: calc(-29 / 20 * 1em);
	content: "";
	display: block;
	height: calc(218.6661 / 20 * 1em);
	left: calc(-40 / 20 * 1em);
	position: absolute;
	width: calc(130 / 20 * 1em);
}

body#support #childcare {
	padding-bottom: calc(144 / 20 * 1em);
	padding-top: 0;
}

body#support #childcare .flex {
	column-gap: calc(42 / 1400 * 100%);
	justify-content: space-between;
	margin-top: calc(70 / 20 * 1em);
}

body#support #childcare .flex .block:nth-child(1) {
	width: calc(826 / 1400 * 100%);
}

body#support #childcare .flex .block:nth-child(1) .editor-area {
	background-color: #F1F6F3;
	border-radius: calc(20 / 20 * 1em);
	overflow: hidden;
	padding: calc(19 / 20 * 1em) calc(40 / 20 * 1em);
}

body#support #childcare .flex .block:nth-child(1) .editor-area > *:first-child {
	margin-top: 0;
}

body#support #childcare .flex .block:nth-child(1) .editor-area > *:last-child {
	margin-bottom: 0;
}

body#support #childcare .flex .block:nth-child(1) .editor-area table tr:last-child:after {
	display: none;
}

body#support #childcare .flex .block:nth-child(1) .editor-area table th {
	width: 30%;
}

body#support #childcare .flex .block:nth-child(1) .editor-area table td {
	width: 70%;
}

body#support #childcare .flex .block:nth-child(2) {
	width: calc(532 / 1400 * 100%);
}

body#support #long-term {
	background-color: #F1F6F3;
	margin-bottom: calc(119 / 20 * 1em);
	padding-bottom: calc(80 / 20 * 1em);
	padding-top: calc(152 / 20 * 1em);
}

body#support #long-term .illust {
	justify-content: space-between;
	margin: auto;
	max-width: calc(1080 / 20 * 1em);
}

body#support #long-term .illust .block {
	column-gap: calc(40 / 1080 * 100%);
}

body#support #long-term .illust .block:nth-child(1) {
	width: calc(498.583 / 1080 * 100%);
}

body#support #long-term .illust .block:nth-child(2) {
	width: calc(541.1082 / 1080 * 100%);
}

body#support #long-term .illust .block .img {
	border-radius: 0;
	width: 100%;
}

body#support #long-term .column {
	column-gap: calc(40 / 1400 * 100%);
	justify-content: space-between;
	margin-top: calc(100 / 20 * 1em);
}

body#support #long-term .column .block:nth-child(1) {
	width: calc(300 / 1400 * 100%);
}

body#support #long-term .column .block:nth-child(2) {
	width: calc(1000 / 1400 * 100%);
}

body#support #long-term .information {
	margin: calc(71 / 20 * 1em) auto;
	padding-bottom: calc(6 / 20 * 1em);
	padding-top: calc(42 / 20 * 1em);
}

body#support #long-term .information .editor-area tr {
	display: block;
	margin: 3.1em 0;
	padding: 0 0 1.4em;
}

body#support #long-term .information .editor-area tr:first-child {
	margin-top: 0;
}

body#support #long-term .information .editor-area tr:last-child {
	margin-bottom: 0;
}

body#support #long-term .information .editor-area th {
	background-color: #DDEBF2;
	border-radius: calc(10 / 20 * 1em);
	display: inline-block;
	font-size: calc(20 / 20 * 1em);
	font-weight: bold;
	margin-bottom: 0.85em;
	padding: 0.45em 1.35em 0.55em;
	width: auto !important;
}

body#support #long-term .information .editor-area td {
	width: 100%;
}

body#support .google-schedule + .page-nav {
	margin-bottom: calc(108 / 20 * 1em);
}

body#support #application-form {
	margin-bottom: 6.25em;
	padding-top: 0;
	position: relative;
}

body#support #application-form:before,
body#support #application-form:after {
	background: url("../images/illust_toy02.svg") no-repeat center/cover;
	bottom: calc(60 / 20 * 1em);
	content: "";
	display: block;
	height: calc(104 / 20 * 1em);
	position: absolute;
	right: 11%;
	width: calc(108 / 20 * 1em);
	z-index: -1;
}

body#support #application-form:before {
	background-image: url("../images/illust_toy01.svg");
	bottom: calc(20 / 20 * 1em);
	height: calc(190.5069 / 20 * 1em);
	left: 7.25%;
	right: auto;
	width: calc(195 / 20 * 1em);
}

.google-schedule {
	height: calc(1000 / 20 * 1em);
	margin-bottom: calc(150 / 20 * 1em);
}

.google-schedule > iframe {
	height: 100%;
	width: 100%;
}

body#topics .topics-list {
	column-gap: calc(70 / 1400 * 100%);
	display: flex;
	flex-wrap: wrap;
	margin: calc(160 / 20 * 1em) auto calc(17 / 20 * 1em);
}

body#topics .topics-list li {
	margin-bottom: calc(77 / 20 * 1em);
	max-width: calc(420 / 1400 * 100%);
	width: 100%;
}

body#topics .topics-list li .meta {
	align-items: center;
	display: flex;
	justify-content: space-between;
	margin: calc(15 / 20 * 1em) auto calc(9 / 20 * 1em);
}

body#topics .topics-list li .meta .category {
	align-items: center;
	background-color: #096AA3;
	border-radius: calc(17 / 14 * 1em);
	color: #FFF;
	display: flex;
	font-size: calc(14 / 20 * 1em);
	font-weight: 400;
	height: calc(34 / 14 * 1em);
	justify-content: center;
	letter-spacing: 0.1em;
	width: calc(150 / 14 * 1em);
}

body#topics .topics-list li .meta .date {
	color: #777;
	font-size: calc(18 / 20 * 1em);
}

body#topics .topics-list li .title {
	color: #444;
	font-size: calc(18 / 20 * 1em);
	font-weight: 500;
	line-height: 1.6;
}

body#topics .topics-list li .img.cover {
	border-radius: calc(20 / 20 * 1em);
}

body#topics .topics-list li .img.cover:before {
	padding-top: calc(280 / 420 * 100%);
}

body#topics .topics-list li a .title {
	transition: color 0.3s;
}

body#topics .topics-list li a .img.cover > * {
	transition: transform 0.3s;
}

.desktop body#topics .topics-list li a:hover .title {
	color: #7CC3D6;
}

.desktop body#topics .topics-list li a:hover .img.cover > * {
	transform: scale(1.1);
}

body#topics .post header {
	margin-bottom: calc(97 / 20 * 1em);
	margin-top: calc(150 / 20 * 1em);
}

body#topics .post header .meta {
	align-items: center;
	display: flex;
	justify-content: space-between;
	margin: calc(15 / 20 * 1em) auto calc(9 / 20 * 1em);
}

body#topics .post header .meta .category {
	align-items: center;
	background-color: #096AA3;
	border-radius: calc(17 / 14 * 1em);
	color: #FFF;
	display: flex;
	font-size: calc(14 / 20 * 1em);
	font-weight: 400;
	height: calc(34 / 14 * 1em);
	justify-content: center;
	letter-spacing: 0.1em;
	width: calc(150 / 14 * 1em);
}

body#topics .post header .meta .date {
	color: #777;
	font-size: calc(18 / 20 * 1em);
}

body#topics .post header .meta {
	justify-content: flex-start;
	margin-bottom: calc(14 / 20 * 1em);
}

body#topics .post header .meta .date {
	font-size: calc(22 / 20 * 1em);
	margin-right: 1em;
	min-width: calc(138 / 22 * 1em);
}

body#topics #recent {
	background-color: #F7F3ED;
	margin-top: calc(150 / 20 * 1em);
	padding-bottom: calc(92 / 20 * 1em);
	padding-top: calc(148 / 20 * 1em);
	position: relative;
}

body#topics #recent:before {
	background: url("../images/bg_bird01.svg") no-repeat center/cover;
	content: "";
	display: block;
	height: calc(200 / 20 * 1em);
	left: calc(80 / 20 * 1em);
	position: absolute;
	top: calc(-106 / 20 * 1em);
	width: calc(184 / 20 * 1em);
}

body#topics #recent .topics-list {
	margin-top: calc(93 / 20 * 1em);
}

body#topics #recent .index-link {
	margin: calc(36 / 20 * 1em) 0;
}

body#topics #recent .index-link .btn > a {
	margin: auto;
}

body#topics.single #footer {
	margin-top: calc(228 / 20 * 1em);
}

body#topics.single #footer:after {
	background-color: #F7F3ED;
}

@media (min-width: 481px) {

_::-webkit-full-page-media,
_:future,
:root body#feature #education .education-list > li .step > li {
	transform: translateX(-0.5em);
}

_::-webkit-full-page-media,
_:future,
:root body#feature #education .education-list > li .step > li:before {
	transform: rotate(-90deg) translateY(0.5em);
}

}

@media (min-width: 481px) and (max-width: 1480px) {

.tab-list {
	column-gap: 2.25%;
	margin: auto;
	max-width: calc(980 / 16 * 1em);
}

.tab-list-item {
	aspect-ratio: 216 / 95;
	height: auto;
	width: 17%;
}

}

@media (min-width: 481px) and (max-width: 680px) {

.tab-contents .tag {
	margin-bottom: 3em !important;
	transform: scale(1.2);
}

}

@media (min-width: 681px) and (max-width: 960px) {

#footer > .inner { /****???????*****/
	padding-left: 50px;
	padding-right: 50px;
}

.sitemap-nav .parent:nth-child(2) {
	order: 2;
}

body#feature #education .education-list > li .step > li {
	margin: 0 0.45em;
}

#home #school-life .wrap .text .illust {
	top: calc(-20 / 14 * 1em);
}

#home #admission .inner > .block:nth-child(2) {
	margin-top: 3em;
}

}

@media (min-width: 681px) {

.page .section-title.left {
	text-align: left;
}

.page .section-title.left:after {
	left: calc(-4 / 20 * 1em);
	transform: translateX(0);
}

.page .section-title.left span.jp {
	text-indent: 0;
}

body#admission #step .step-list li .detail:before {
	background-color: #E1B6B6;
	bottom: calc(40 / 20 * 1em);
	content: "";
	display: block;
	margin-left: calc(-40 / 20 * 1em);
	position: absolute;
	top: calc(40 / 20 * 1em);
	width: 1px;
}

.form .aform-content dl dd .aform-confirm {
	margin-top: 0.15em;
}

.form .submit input + input,
.form .aform-button-area input + input {
	margin-left: 1em;
}

.form #aform_btn_submit {
	max-width: calc(380 / 24 * 1em);
}

body#school-life .activities-section:nth-of-type(even) .text {
	order: 2;
	padding-top: calc(2 / 20 * 1em);
}

}

@media (min-width: 681px) and (max-width: 1480px) {

body#about #history .text {
	max-width: 60%;
}

body#about #access .text {
	max-width: 60%;
}

body#school-life .school-life-list {
	padding-bottom: calc(70 / 16 * 1em);
}

}

@media (min-width: 961px) and (max-width: 1480px) {

#footer:before,
.page .hero:after,
#home .hero:after {
	background-size: contain;
	bottom: calc(-6.5 / 14 * 1em);
	padding-top: calc(120 / 1460 * 100%);
}

.header:not(.fixed):not(.toggle) {
	font-size: 87.5%;
}

.header:not(.fixed):not(.toggle):before,
.header:not(.fixed):not(.toggle):after {
	left: calc(-60 / 14 * 1em);
	top: calc(-60 / 14 * 1em);
	width: calc(120 / 14 * 1em);
}

.header:not(.fixed):not(.toggle):after {
	left: auto;
	right: calc(-50 / 14 * 1em);
	top: calc(120 / 14 * 1em);
}

.header:not(.fixed):not(.toggle) h1.logo:before,
.header:not(.fixed):not(.toggle) h1.logo:after {
	left: calc(-50 / 14 * 1em);
	top: calc(110 / 14 * 1em);
	width: calc(160 / 14 * 1em);
}

.header:not(.fixed):not(.toggle) h1.logo:after {
	left: auto;
	right: calc(-40 / 14 * 1em);
	top: calc(-80 / 14 * 1em);
}

.header .global {
	max-width: calc(880 / 14 * 1em);
}

.decoration [class*="shape"]:before {
	transform: scale(0.75);
}

.page .hero .wrap .block {
	min-height: calc(384 / 16 * 1em);
}

.page .hero .wrap .block:nth-child(2) {
	align-items: flex-end;
	display: flex;
}

.page .hero .wrap .block .text {
	font-size: 87.5%;
}

#home .hero .kv-swiper .swiper-slide {
	max-width: calc(1160 / 1460 * 100%);
}

#home #school-life .wrap .text {
	padding-right: 40px;
	padding-top: calc(150 / 16 * 1em);
}

#home #school-life .wrap .text .illust {
	top: calc(-80 / 16 * 1em);
}

#home #school-life .wrap .text .links {
	margin-top: calc(80 / 16 * 1em);
}

#home #school-life .wrap .image .img.sub {
	bottom: calc(-100 / 16 * 1em);
	max-width: calc(480 / 16 * 1em);
}

#home #admission .text {
	padding-right: 40px;
}

}

@media (min-width: 961px) {

#footer .wrap:nth-child(2) .block:nth-child(1) {
	order: 2;
}

.page .header {
	margin-bottom: calc(-280 / 20 * 1em);
}

.page .header .logo {
	margin: calc(20 / 20 * 1em) auto;
	max-width: calc(266 / 20 * 1em);
}

.page .header .logo > *:before {
	height: calc(60 / 20 * 1em);
	margin-bottom: calc(10 / 20 * 1em);
	width: calc(60 / 20 * 1em);
}

.page .hero .breadcrumbs {
	width: 29vw;
}

body#support.archive .support-list {
	column-gap: calc(90 / 1200 * 100%);
}

body#support.archive .support-list li {
	max-width: calc(340 / 1200 * 100%);
}

}

@media (min-width: 1481px) {

.page .hero .breadcrumbs {
	width: 33.333vw;
}

}

@media (min-width: 1801px) {

body {
	font-size: 125%;
}

}

@media (max-width: 1480px) {

#footer:before {
	bottom: auto;
}

.page-nav {
	column-gap: calc((100% - (340 / 1120 * 3) * 100%) / 2);
}

.page-nav .btn {
	max-width: calc(340 / 1120 * 100%);
}

.tab-list-item span.season {
	font-size: 180%;
}

.tab-list-item span.season.long {
	font-size: 140%;
}

.tab-list-item span.en {
	font-size: 120%;
}

.tab-contents .month:before {
	right: calc(-70 / 16 * 1em);
}

.tab-contents .tag {
	left: auto;
	margin: 0 auto 2.125em;
	position: relative;
	top: auto;
}

body#about #overview {
	padding-bottom: calc(100 / 16 * 1em);
}

body#about #history {
	padding-bottom: calc(80 / 16 * 1em);
}

body#admission #uniform {
	padding-bottom: calc(60 / 16 * 1em);
}

body#admission #uniform .guide:before,
body#admission #uniform .guide:after {
	bottom: calc(-60 / 16 * 1em);
	left: calc(-34 / 16 * 1em);
}

body#admission #uniform .guide:after {
	bottom: calc(-60 / 16 * 1em);
	left: auto;
	right: calc(-40 / 16 * 1em);
}

#home #intro {
	padding-bottom: calc(300 / 16 * 1em);
}

#home #intro .illust .left {
	top: calc(-10 / 16 * 1em);
}

#home #school-life .wrap .image .img.main {
	width: calc(500 / 16 * 1em);
}

#home #support {
	padding-top: 0;
}

#home #support .support-list {
	margin-bottom: calc(140 / 16 * 1em);
}

#home #support .illust .right {
	transform: scale(0.9);
	transform-origin: right top;
}

#home #support .illust .left {
	transform: scale(0.9);
	transform-origin: left bottom;
}

#home #support .marquee-swiper {
	margin-top: calc(200 / 16 * 1em);
}

#home #admission .inner > .block:nth-child(1) {
	flex-basis: calc(700 / 1700 * 100%);
}

#home #admission .inner > .block:nth-child(2) {
	flex-basis: calc(1000 / 1700 * 100%);
	max-width: calc(720 / 16 * 1em);
}

#home #admission .image:after {
	bottom: -29.25%;
	right: -28.5%;
	width: calc(640 / 900 * 100%);
}

#home #admission .illust {
	left: calc(-242 / 720 * 100%);
	width: calc(336 / 720 * 100%);
}

#home #admission .illust .img {
	left: calc(166.4 / 336 * 100%);
	top: calc(56.8 / 208 * 100%);
	width: calc(60.8 / 336 * 100%);
}

body#school-life .school-life-list:before {
	bottom: 0;
}

body#school-life .school-life-list:after {
	bottom: 0;
}

body#school-life .activities-section:first-of-type:before {
	top: calc(-114 / 16 * 1em);
}

body#school-life .activities-section:last-of-type:not(:first-of-type):before {
	bottom: calc(-140 / 16 * 1em);
	right: calc(50 / 16 * 1em);
}

body#school-life .activities-section + .inner .page-nav {
	margin-top: calc(170 / 16 * 1em);
}

body#support #preschool:before {
	top: calc(967 / 16 * 1em);
}

body#support #preschool:after {
	top: calc(850 / 16 * 1em);
}

body#support #detail .outline:before,
body#support #detail .outline:after {
	left: calc(-34 / 16 * 1em);
}

body#support #detail .outline:after {
	left: auto;
	right: calc(-30 / 16 * 1em);
}

}

@media (max-width: 1280px) {

.tab-contents.other .month:before {
	height: calc(118.65 / 16 * 1em);
	left: calc(-74 / 16 * 1em);
	top: calc(-56 / 16 * 1em);
	width: calc(76.8 / 16 * 1em);
}

.tab-contents.other .month:after {
	height: calc(116.1 / 16 * 1em);
	right: calc(-77 / 16 * 1em);
	width: calc(102 / 16 * 1em);
}

}

@media (max-width: 1020px) {

#footer .menu.main li:not(:first-child):before {
	margin: 0 0.25em;
}

}

@media (max-width: 960px) {

#footer:before,
.page .hero:after,
#home .hero:after {
	background-size: contain;
	bottom: calc(-5 / 14 * 1em);
	padding-top: calc(67 / 780 * 100%);
}

body {
	font-size: 87.5%;
}

.btn-menu {
	display: block;
}

.information-link {
	bottom: calc(120 / 20 * 1em);
}

.header {
	height: calc(211 / 14 * 1em);
}

.header:not(.fixed):not(.toggle):before,
.header:not(.fixed):not(.toggle):after {
	left: calc(48 / 14 * 1em);
	top: calc(-55 / 14 * 1em);
	width: calc(100 / 14 * 1em);
}

.header:not(.fixed):not(.toggle):after {
	left: auto;
	right: calc(-50 / 14 * 1em);
	top: calc(50 / 14 * 1em);
}

.header:not(.fixed):not(.toggle) h1.logo:before,
.header:not(.fixed):not(.toggle) h1.logo:after {
	background-image: url("../images/deco_stripe01_sp.svg");
	left: calc(-14 / 14 * 1em);
	top: calc(58 / 14 * 1em);
	width: calc(95 / 14 * 1em);
}

.header:not(.fixed):not(.toggle) h1.logo:after {
	left: auto;
	right: calc(60 / 14 * 1em);
	top: calc(-40 / 14 * 1em);
}

.header .logo {
	margin: calc(8 / 14 * 1em) auto;
	max-width: calc(200 / 14 * 1em);
}

.header .logo > *:before {
	height: calc(43 / 14 * 1em);
	margin-bottom: calc(7 / 14 * 1em);
	width: calc(43 / 14 * 1em);
}

.header .global {
	display: none;
}

body.page .header.toggle,
.header.toggle {
	display: block;
}

body.page .header.fixed,
.header.fixed {
	height: calc(60 / 14 * 1em);
}

body.page .header.fixed .logo,
.header.fixed .logo {
	margin: calc(10 / 14 * 1em) auto;
}

#footer:before {
	bottom: auto;
}

#footer:after {
	top: calc(-360 / 14 * 1em);
}

#footer .pagetop {
	bottom: 0;
}

#footer .pagetop a {
	font-size: calc(8 / 14 * 1em);
	letter-spacing: 0;
}

#footer .pagetop a:before {
	height: calc(26 / 14 * 1em);
	margin-bottom: calc(5 / 14 * 1em);
	width: calc(28 / 14 * 1em);
}

#footer .pagetop a span.pc {
	display: none;
}

#footer > .inner { /****???????*****/
	padding-bottom: calc(1 / 14 * 1em);
	padding-top: calc(50 / 14 * 1em);
}

#footer > .inner:before {
	top: calc((-360 / 14 * 1em) + (400 / (2000 + 100) * 100vw));
}

#footer .logo {
	display: inline-block;
}

#footer .logo img {
	height: calc(60 / 14 * 1em);
	margin-left: 0;
	margin-right: calc(2 / 14 * 1em);
	width: calc(60 / 14 * 1em);
}

#footer .logo p {
	font-size: 1em;
}

#footer .logo p span {
	font-size: calc(20 / 14 * 1em);
	margin-top: calc(6 / 14 * 1em);
}

#footer .address,
#footer .map-link {
	font-size: 1em;
}

#footer .wrap {
	flex-direction: column;
}

#footer .wrap:nth-child(1) .block:nth-child(1) {
	order: 2;
}

#footer .wrap:nth-child(1) .block:nth-child(2) {
	margin-bottom: 2.5em;
	padding-bottom: 2.5em;
	padding-top: 0;
	position: relative;
}

#footer .wrap:nth-child(1) .block:nth-child(2):after {
	background: radial-gradient(circle farthest-side, #ADC9D8, #ADC9D8 25%, transparent 25%, transparent);
	background-size: calc(10 / 20 * 1em) calc(10 / 20 * 1em);
	bottom: 0;
	content: "";
	height: calc(10 / 20 * 1em);
	left: 0;
	position: absolute;
	width: 100%;
}

#footer .wrap:nth-child(2) {
	flex-direction: column;
}

#footer .menu li > * {
	font-size: 1em;
}

#footer .menu.main {
	justify-content: center;
}

#footer .menu.main li:not(:first-child):before {
	margin: 0 0.65em;
	transform: scale(100%);
}

#footer .menu.sub {
	justify-content: flex-end;
	margin-bottom: 1.6em;
	margin-top: -2em;
}

#footer .menu.sub li > * {
	font-size: 1em;
}

#footer .sns {
	pointer-events: none;
	position: relative;
	top: 1.15em;
}

#footer .sns li a {
	pointer-events: fill;
}

#footer .sns li a img {
	width: calc(30 / 14 * 1em);
}

#footer #copyright small {
	font-size: calc(12 / 14 * 1em);
}

.breadcrumbs li:not(:last-child):after {
	margin: 0 0.875em;
	top: 0.05em;
}

.breadcrumbs li > * {
	font-size: calc(12 / 14 * 1em);
}

.support-list {
	column-gap: calc(45 / 960 * 100%);
}

.support-list li {
	max-width: calc(290 / 960 * 100%);
}

.page .editor-area table:not([class]) tr,
.page .text table:not([class]) tr {
	flex-direction: column;
}

.page .editor-area table:not([class]) th,
.page .editor-area table:not([class]) td,
.page .text table:not([class]) th,
.page .text table:not([class]) td {
	width: 100% !important;
}

.page .editor-area table:not([class]) th,
.page .text table:not([class]) th {
	padding-bottom: 0;
	padding-right: 0;
}

.page .editor-area table:not([class]) td,
.page .text table:not([class]) td {
	padding-top: 0;
}

.page #footer {
	margin-top: calc(150 / 14 * 1em);
}

.page #footer:after {
	top: calc(-90 / 14 * 1em);
}

.page #footer > .inner:before {
	top: calc((-90 / 14 * 1em) + (400 / (2000 + 100) * 100vw));
}

.page .hero {
	margin-top: calc(22 / 14 * 1em);
}

.page .hero .wrap {
	flex-direction: column;
}

.page .hero .wrap .img {
	margin-left: auto;
	max-height: calc(242 / 14 * 1em);
}

.page .hero .wrap .block:nth-child(1) {
	justify-content: flex-start;
	padding-left: calc(60 / 14 * 1em);
	padding-right: calc(60 / 14 * 1em);
}

.page .hero .wrap .block .text {
	max-width: none;
	padding-bottom: calc(5 / 14 * 1em);
}

.page .hero .breadcrumbs {
	margin-top: calc(45 / 14 * 1em);
	min-height: calc(48.1333 / 14 * 1em);
}

.page .hero .decoration .shape01 {
	left: 17.25%;
	top: calc(-47 / 14 * 1em);
	width: calc(12.75 / 14 * 1em);
}

.page .hero .decoration .shape02 {
	left: 4.8%;
	top: calc(200 / 14 * 1em);
	width: calc(10.5 / 14 * 1em);
}

.page .hero .decoration .shape03 {
	left: 9.3%;
	top: calc(456.5 / 14 * 1em);
	width: calc(11.25 / 14 * 1em);
}

.page .hero .decoration .shape04 {
	left: 28.2%;
	top: calc(417.5 / 14 * 1em);
	width: calc(10.15 / 14 * 1em);
}

.page .hero .decoration .shape05 {
	left: auto;
	right: 5%;
	top: calc(93 / 14 * 1em);
	transform: rotate(35deg);
	width: calc(14.25 / 14 * 1em);
}

.page .hero .decoration .shape06 {
	left: 52.75%;
	top: calc(432 / 14 * 1em);
	width: calc(9.25 / 14 * 1em);
}

.page .hero .decoration .shape07 {
	left: 25%;
	right: auto;
	top: calc(274.25 / 14 * 1em);
	width: calc(11.5 / 14 * 1em);
}

.page .hero .decoration .shape08 {
	right: 41.35%;
	top: calc(66.5 / 14 * 1em);
	transform: rotate(45deg);
	width: calc(12.2 / 14 * 1em);
}

.page .hero .decoration .shape09 {
	right: 22%;
	top: calc(-17.5 / 14 * 1em);
	width: calc(10.5 / 14 * 1em);
}

.page .hero .decoration .shape10 {
	right: 3.75%;
	top: calc(417 / 14 * 1em);
	width: calc(9.75 / 14 * 1em);
}

.page .hero .decoration .shape11 {
	right: 19.35%;
	top: calc(448.25 / 14 * 1em);
	width: calc(11 / 14 * 1em);
}

.page-title span.jp {
	font-size: calc(30 / 14 * 1em);
}

.page-title span.en {
	font-size: calc(20 / 14 * 1em);
}

.page-nav {
	column-gap: calc(40 / 560 * 100%);
	max-width: calc(560 / 15 * 1em);
	row-gap: calc(15 / 12 * 1em);
}

.page-nav .btn {
	max-width: calc(260 / 560 * 100%);
}

.sitemap-nav {
	max-width: calc(720 / 14 * 1em);
}

.sitemap-nav .flex {
	flex-wrap: wrap;
}

.sitemap-nav .parent {
	max-width: calc(280 / 640 * 100%);
}

.sitemap-nav .parent > li {
	margin: 0 0 calc(42.25 / 12 * 1em);
}

.sitemap-nav .parent > li > a {
	font-size: calc(20 / 14 * 1em);
}

.sitemap-nav .child > li {
	margin: calc(21.5 / 14 * 1em) 0;
}

.sitemap-nav .child > li > a {
	font-size: calc(16 / 14 * 1em);
}

body#admission #first .image {
	width: 48%;
}

body#admission #first .text {
	width: 48%;
}

body#admission #step .step-list li .title {
	width: 32.5%;
}

body#admission #application-form {
	padding-bottom: 4em;
}

body#admission #application-form:before,
body#admission #application-form:after {
	bottom: -3em;
}

body#admission #application-form:before {
	bottom: -2.5em;
}

body#feature #policy .wrap .box {
	margin-top: calc(-90 / 14 * 1em);
}

body#feature #footer {
	margin-top: calc(90 / 14 * 1em);
}

#home .hero .kv-swiper .swiper-slide {
	margin: 0 calc(5 / 14 * 1em);
	max-width: calc(670 / 780 * 100%);
}

#home .hero .kv-swiper .img.cover:before {
	padding-top: calc(330 / 670 * 100%);
}

#home #intro .decoration .shape01 {
	left: 20.5%;
	top: calc(41 / 12 * 1em);
	width: calc(19.5 / 8 * 1em);
}

#home #intro .decoration .shape02 {
	left: -2.7%;
	top: calc(167 / 12 * 1em);
	width: calc(31 / 8 * 1em);
}

#home #intro .decoration .shape03 {
	left: 6.9%;
	top: calc(374 / 12 * 1em);
	width: calc(23 / 8 * 1em);
}

#home #intro .decoration .shape04 {
	right: 6.1%;
	top: calc(89 / 12 * 1em);
	width: calc(19.25 / 8 * 1em);
}

#home #intro .decoration .shape05 {
	right: -1.7%;
	top: calc(219 / 12 * 1em);
	width: calc(27.5 / 8 * 1em);
}

#home #intro .decoration .shape06 {
	right: 18.65%;
	top: calc(322.5 / 12 * 1em);
	width: calc(14.75 / 8 * 1em);
}

#home #intro .images .img {
	max-width: calc(500 / 16 * 1em);
}

#home #intro .images:before,
#home #intro .images:after {
	width: calc(140 / 16 * 1em);
}

#home #intro .illust .right {
	top: calc(-100 / 16 * 1em);
}

#home #topics .wrap .block:nth-child(1) {
	width: 40%;
}

#home #topics .wrap .block:nth-child(2) {
	width: 60%;
}

#home #topics .topics-swiper .swiper-slide {
	margin-right: calc(40 / 16 * 1em);
}

#home #school-life .wrap {
	flex-direction: column;
	padding-top: calc(60 / 14 * 1em);
}

#home #school-life .wrap .block:nth-child(1) {
	order: 0;
}

#home #school-life .wrap .text .section-title {
	margin-left: auto;
	margin-right: auto;
	max-width: calc(360 / 12 * 1em);
}

#home #school-life .wrap .text .links {
	margin-left: auto;
	margin-right: auto;
}

#home #school-life .wrap .image {
	margin-left: auto;
	margin-right: auto;
	max-width: calc(680 / 14 * 1em);
}

#home #school-life .wrap .image .img.main {
	margin-bottom: calc(80 / 14 * 1em);
	margin-top: calc(20 / 14 * 1em);
}

#home #admission {
	padding-bottom: 0;
	padding-top: calc(60 / 12 * 1em);
}

#home #admission .inner {
	flex-direction: column;
	max-width: calc(440 / 12 * 1em);
}

#home #admission .text {
	margin-right: auto;
	max-width: calc(480 / 16 * 1em);
}

#home #admission .text p {
	font-size: 1em;
	line-height: 2.5;
	margin: 2.55em 0 2.8em;
}

#home #admission .image {
	margin: 6.75em 0;
}

#home #admission .image:after {
	bottom: calc(-40 / 14 * 1em);
	right: calc(-50 / 14 * 1em);
	transform: scale(1.5);
	width: calc(140 / 14 * 1em);
}

#home #admission .illust {
	bottom: auto;
	left: calc(-53 / 14 * 1em);
	top: calc(27 / 12 * 1em);
	transform: scale(1.5);
	width: calc(160 / 14 * 1em);
}

#home #admission .illust .img {
	left: calc(75 / 14 * 1em);
	top: calc(24 / 14 * 1em);
	width: calc(29 / 14 * 1em);
}

body#information #footer {
	margin-top: calc(90 / 14 * 1em);
}

body#recruit #intro .inner {
	flex-direction: column;
	max-width: calc(490 / 14 * 1em);
}

body#recruit #intro .images {
	width: 100%;
}

body#recruit #intro .text {
	width: 100%;
}

body#recruit #footer {
	margin-top: calc(90 / 14 * 1em);
}

body#school-life .school-life-list {
	column-gap: calc(45 / 960 * 100%);
}

body#school-life .school-life-list li {
	max-width: calc(290 / 960 * 100%);
}

body#support #preschool:before {
	left: 5%;
	top: 35%;
}

body#support #preschool:after {
	left: -12%;
	top: 31%;
}

body#support #long-term .column .block:nth-child(1) {
	max-width: calc(240 / 14 * 1em);
	width: 35%;
}

body#support #long-term .column .block:nth-child(2) {
	width: 65%;
}

body#support #application-form {
	padding-bottom: 2em;
}

body#support #application-form:before,
body#support #application-form:after {
	bottom: -5em;
}

body#support #application-form:before {
	bottom: -5.5em;
}

body#topics .topics-list {
	column-gap: 2%;
}

body#topics .topics-list li {
	max-width: 32%;
}

body#topics.single #footer {
	margin-top: calc(90 / 14 * 1em);
}

}

@media (max-width: 820px) {

#footer .menu.main {
	flex-direction: column;
}

#footer .menu.main li {
	margin: 0.125em 0;
	text-align: center;
}

#footer .menu.main li:not(:first-child):before {
	display: none;
}

}

@media (max-width: 680px) {

.inner,
.support-list,
#home #intro .text,
body#school-life .school-life-list {
	padding-left: 20px;
	padding-right: 20px;
}

#footer:before,
.page .hero:after,
#home .hero:after {
	background-size: cover;
	bottom: calc(-3.5 / 12 * 1em);
	padding-top: calc(38 / 375 * 100%);
}

body {
	font-size: 75%;
}

.sp {
	display: inherit;
}

.pc {
	display: none;
}

.header {
	height: calc(191 / 12 * 1em);
}

.header:not(.fixed):not(.toggle):before,
.header:not(.fixed):not(.toggle):after {
	left: calc(1.5 / 12 * 1em);
	top: calc(-23.5 / 12 * 1em);
	width: calc(68 / 12 * 1em);
}

.header:not(.fixed):not(.toggle):after {
	left: auto;
	right: calc(-36.5 / 12 * 1em);
	top: calc(91.5 / 12 * 1em);
}

.header:not(.fixed):not(.toggle) h1.logo:before,
.header:not(.fixed):not(.toggle) h1.logo:after {
	left: calc(-15 / 12 * 1em);
	top: calc(90 / 12 * 1em);
	width: calc(75 / 12 * 1em);
}

.header:not(.fixed):not(.toggle) h1.logo:after {
	left: auto;
	right: calc(31 / 12 * 1em);
	top: calc(-27 / 12 * 1em);
}

.header .logo {
	margin: calc(8 / 12 * 1em) auto;
	max-width: calc(165 / 12 * 1em);
}

.header .logo > *:before {
	height: calc(36 / 12 * 1em);
	margin-bottom: calc(5 / 12 * 1em);
	width: calc(36 / 12 * 1em);
}

body.page .header.fixed,
.header.fixed {
	height: calc(54 / 12 * 1em);
}

body.page .header.fixed .logo,
.header.fixed .logo {
	margin: calc(10 / 12 * 1em) auto;
	max-width: calc(140 / 12 * 1em);
}

#footer {
	margin-top: calc(102 / 12 * 1em);
}

#footer:before {
	bottom: auto;
}

#footer:after {
	top: calc(-200 / 12 * 1em);
}

#footer .pagetop a {
	font-size: calc(8 / 12 * 1em);
}

#footer > .inner { /****???????*****/
	padding-bottom: calc(1 / 12 * 1em);
	padding-top: calc(28 / 12 * 1em);
}

#footer > .inner:before {
	top: calc((-200 / 12 * 1em) + (400 / (2000 + 100) * 100vw));
}

#footer .logo p {
	font-size: calc(14 / 12 * 1em);
}

#footer .logo p span {
	font-size: calc(18 / 14 * 1em);
	margin-top: calc(8 / 14 * 1em);
}

#footer .address,
#footer .map-link {
	font-size: calc(14 / 12 * 1em);
}

#footer .wrap:nth-child(1) .block:nth-child(2) {
	margin-bottom: 2.15em;
	padding-bottom: 1.8em;
}

#footer .wrap:nth-child(2) {
	margin-top: calc(53 / 12 * 1em);
}

#footer .menu li > * {
	font-size: calc(14 / 12 * 1em);
}

#footer .menu.sub {
	justify-content: flex-start;
	line-height: 1.65;
	margin-bottom: 0;
	margin-top: 0;
}

#footer .sns li a img {
	width: calc(30 / 12 * 1em);
}

#footer #copyright small {
	font-size: calc(10 / 12 * 1em);
}

.breadcrumbs li > * {
	font-size: calc(10 / 12 * 1em);
}

.section-title:before {
	height: calc(43 / 12 * 1em);
	width: calc(43 / 12 * 1em);
}

.section-title:after {
	height: calc(60 / 12 * 1em);
	left: calc(-20 / 12 * 1em);
	top: calc(27.5 / 12 * 1em);
	width: calc(60 / 12 * 1em);
}

.section-title > span.jp {
	font-size: calc(30 / 12 * 1em);
}

.section-title > span.en {
	font-size: calc(20 / 12 * 1em);
	margin-top: 0.715em;
}

.section-title.ir:after {
	height: calc(60 / 12 * 1em);
	left: calc(-20 / 12 * 1em);
	width: calc(60 / 12 * 1em);
}

.section-title.icon02:before {
	left: calc(-9 / 12 * 1em);
	top: calc(-13 / 12 * 1em);
}

.section-title.icon03:before {
	top: calc(-6 / 12 * 1em);
}

.section-title.icon04:before {
	left: calc(-5 / 12 * 1em);
	top: calc(-8 / 12 * 1em);
}

.support-list {
	column-gap: calc(30 / 335 * 100%);
	max-width: calc(520 / 12 * 1em);
}

.support-list li {
	margin: calc(23 / 12 * 1em) 0;
	max-width: calc(147.5 / 335 * 100%);
}

.support-list li a:before {
	height: calc(44 * 1.19047619047619 / 147.5 * 100%);
	width: calc(44 / 147.5 * 100%);
}

.support-list li .title:after {
	margin-left: 0.25em;
	margin-right: -0.75em;
}

.marquee-swiper .swiper-slide .caption > * {
	font-size: calc(10 / 12 * 1em);
}

.page .editor-area h1:not([class]),
.page .editor-area h2:not([class]),
.page .editor-area h3:not([class]),
.page .text h1:not([class]),
.page .text h2:not([class]),
.page .text h3:not([class]) {
	font-size: calc(20 / 12 * 1em);
	letter-spacing: 0.1em;
}

.page .editor-area h1:not([class]):after,
.page .editor-area h2:not([class]):after,
.page .editor-area h3:not([class]):after,
.page .text h1:not([class]):after,
.page .text h2:not([class]):after,
.page .text h3:not([class]):after {
	background-size: calc(10 / 20 * 1em) calc(10 / 20 * 1em);
	bottom: calc(-17 / 20 * 1em);
	height: calc(10 / 20 * 1em);
	left: calc(-1 / 20 * 1em);
}

.page .editor-area h4:not([class]),
.page .text h4:not([class]) {
	font-size: calc(18 / 12 * 1em);
}

.page .editor-area h5:not([class]),
.page .editor-area h6:not([class]),
.page .text h5:not([class]),
.page .text h6:not([class]) {
	font-size: calc(14 / 12 * 1em);
	margin-top: 1.4em;
}

.page .editor-area h5:not([class]):before,
.page .editor-area h6:not([class]):before,
.page .text h5:not([class]):before,
.page .text h6:not([class]):before {
	height: calc(14 / 14 * 1em);
	width: calc(4 / 14 * 1em);
}

.page .editor-area h5:not([class]) + p:not([class]),
.page .editor-area h6:not([class]) + p:not([class]),
.page .text h5:not([class]) + p:not([class]),
.page .text h6:not([class]) + p:not([class]) {
	margin-top: 0.75em;
}

.page .editor-area p:not([class]),
.page .text p:not([class]) {
	font-size: calc(14 / 12 * 1em);
	line-height: 2;
}

.page .editor-area table:not([class]) tr:after,
.page .text table:not([class]) tr:after {
	background-size: calc(10 / 12 * 1em) calc(10 / 12 * 1em);
	bottom: calc(-5 / 12 * 1em);
	height: calc(10 / 12 * 1em);
}

.page .editor-area table:not([class]) th,
.page .editor-area table:not([class]) td,
.page .text table:not([class]) th,
.page .text table:not([class]) td {
	font-size: calc(14 / 12 * 1em);
	padding: calc(13 / 14 * 1em) 0;
}

.page .editor-area table:not([class]) th,
.page .text table:not([class]) th {
	padding-bottom: 0;
}

.page .editor-area table:not([class]) td,
.page .text table:not([class]) td {
	padding-top: 0;
}

.page .editor-area ol:not([class]) > li,
.page .editor-area ul:not([class]) > li,
.page .text ol:not([class]) > li,
.page .text ul:not([class]) > li {
	font-size: calc(14 / 12 * 1em);
}

.page .editor-area ol.images,
.page .editor-area ul.images,
.page .text ol.images,
.page .text ul.images {
	column-gap: calc(20 / 12 * 1em);
}

.page #footer {
	margin-top: calc(120 / 12 * 1em);
}

.page #footer:after {
	top: calc(-90 / 12 * 1em);
}

.page #footer > .inner:before {
	top: calc((-90 / 12 * 1em) + (400 / (2000 + 100) * 100vw));
}

.page .hero {
	margin-top: calc(3 / 12 * 1em);
}

.page .hero .wrap .block:nth-child(1) {
	padding-left: 20px;
	padding-right: 20px;
}

.page .hero .wrap .block .text {
	padding-bottom: calc(25 / 12 * 1em);
}

.page .hero .decoration .shape01 {
	left: 19.5%;
	top: calc(-37.5 / 12 * 1em);
}

.page .hero .decoration .shape02 {
	display: none;
}

.page .hero .decoration .shape03 {
	display: none;
}

.page .hero .decoration .shape04 {
	display: none;
}

.page .hero .decoration .shape05 {
	left: 8%;
	right: auto;
	top: calc(60.5 / 12 * 1em);
	transform: rotate(45deg);
	width: calc(11.25 / 12 * 1em);
}

.page .hero .decoration .shape06 {
	left: auto;
	right: 24.15%;
	top: calc(53.5 / 12 * 1em);
	transform: rotate(30deg);
	width: calc(9.25 / 12 * 1em);
}

.page .hero .decoration .shape07 {
	left: 9.75%;
	right: auto;
	top: calc(197.5 / 12 * 1em);
	width: calc(9.5 / 12 * 1em);
}

.page .hero .decoration .shape08 {
	display: none;
}

.page .hero .decoration .shape09 {
	right: 16.75%;
	top: calc(-30 / 12 * 1em);
	width: calc(8.25 / 12 * 1em);
}

.page .hero .decoration .shape10 {
	right: 47.25%;
	top: calc(150 / 12 * 1em);
	width: calc(8 / 12 * 1em);
}

.page .hero .decoration .shape11 {
	display: none;
}

.page-title span.jp {
	font-size: calc(24 / 12 * 1em);
}

.page-title span.en {
	font-size: calc(16 / 12 * 1em);
	position: relative;
	top: calc(4 / 12 * 1em);
}

.page .title-deco {
	margin-top: calc(90 / 12 * 1em);
}

.page .title-ud {
	font-size: calc(20 / 12 * 1em);
	letter-spacing: 0.1em;
}

.page .title-ud span {
	text-align: left;
}

.page .title-ud span:after {
	background-size: calc(10 / 20 * 1em) calc(10 / 20 * 1em);
	bottom: calc(-17 / 20 * 1em);
	height: calc(10 / 20 * 1em);
	left: calc(-1 / 20 * 1em);
}

.page .title-ul {
	font-size: calc(18 / 12 * 1em);
}

.page .title-ld {
	font-size: calc(20 / 12 * 1em);
}

.page .notice {
	padding-left: 1.5em;
	padding-right: 1.5em;
}

.page-nav {
	max-width: calc(300 / 12 * 1em);
}

.page-nav .btn {
	max-width: none;
}

.page-nav .btn > * {
	font-size: calc(14 / 12 * 1em);
	height: calc(50 / 14 * 1em);
	justify-content: center;
	padding-left: 0;
}

.local-nav {
	margin-top: calc(50 / 12 * 1em);
}

.local-nav.large .inner {
	column-gap: calc(23 / 335 * 100%);
}

.local-nav .inner {
	column-gap: calc(23 / 335 * 100%);
}

.sitemap-nav {
	margin-bottom: calc(48 / 12 * 1em);
	margin-top: calc(14 / 12 * 1em);
	max-width: calc(320 / 12 * 1em);
}

.sitemap-nav .parent {
	max-width: none;
}

.sitemap-nav .parent > li {
	margin: 0 0 calc(40 / 12 * 1em);
}

.sitemap-nav .parent > li > a {
	font-size: calc(20 / 12 * 1em);
}

.sitemap-nav .child {
	margin: calc(26 / 12 * 1em) 0 calc(-4 / 12 * 1em);
}

.sitemap-nav .child > li {
	margin: calc(21.5 / 12 * 1em) 0;
}

.sitemap-nav .child > li > a {
	font-size: calc(16 / 12 * 1em);
}

.pagination li > * {
	font-size: calc(14 / 12 * 1em);
}

.download-area h4 {
	font-size: calc(18 / 12 * 1em);
}

.download-list li {
	font-size: calc(14 / 12 * 1em);
}

.toggle-label {
	font-size: calc(18 / 12 * 1em);
	padding-left: 1.5em;
	padding-right: 4em;
}

.toggle-label:before,
.toggle-label:after {
	right: 1.5em;
}

article.information {
	margin: calc(40 / 12 * 1em) 0;
	padding: calc(14 / 12 * 1em) 0 calc(23 / 12 * 1em);
}

article.information .inner {
	padding-left: 15px;
	padding-right: 15px;
}

.contact-tel p {
	font-size: calc(14 / 12 * 1em);
}

.tab-list-item span.season {
	bottom: calc(-8 / 18 * 1em);
	font-size: calc(18 / 12 * 1em);
	letter-spacing: 0;
	text-indent: 0;
}

.tab-list-item span.season.long {
	bottom: calc(-9 / 16 * 1em);
	font-size: calc(16 / 14 * 1em);
}

.tab-list-item span.en {
	bottom: calc(-15 / 12 * 1em);
	font-size: calc(10 / 12 * 1em);
}

.tab-contents {
	border-radius: calc(15 / 12 * 1em);
}

.tab-contents.other .month:before {
	height: calc(79.098 / 12 * 1em);
	left: calc(-20 / 12 * 1em);
	top: calc(-32 / 12 * 1em);
	width: calc(51.2 / 12 * 1em);
}

.tab-contents.other .month:after {
	bottom: calc(-52 / 12 * 1em);
	height: calc(77.4018 / 12 * 1em);
	right: calc(-22 / 12 * 1em);
	width: calc(68 / 12 * 1em);
}

.tab-contents .inner {
	padding: calc(40 / 12 * 1em) 15px calc(50 / 12 * 1em);
}

.tab-contents .month:before {
	bottom: calc(-10 / 12 * 1em);
	height: calc(63 / 12 * 1em);
	right: calc(-15 / 12 * 1em);
	width: calc(45 / 12 * 1em);
}

.tab-contents .month:not(:last-child) {
	margin-bottom: calc(39 / 12 * 1em);
	padding-bottom: calc(35 / 12 * 1em);
}

.tab-contents .month:not(:last-child):after {
	background-image: linear-gradient(to right, currentColor, currentColor 6px, transparent 6px, transparent 18px);
	background-size: 18px 2px;
}

.tab-contents .month.apr .tag:before {
	right: calc(-27 / 12 * 1em);
	top: calc(15 / 12 * 1em);
}

.tab-contents .month.may:before {
	bottom: calc(-6 / 12 * 1em);
}

.tab-contents .month.jun .tag:before {
	top: calc(20 / 12 * 1em);
}

.tab-contents .month.jul:before {
	bottom: calc(14 / 12 * 1em);
}

.tab-contents .month.jul .tag:before {
	top: calc(9 / 12 * 1em);
}

.tab-contents .tag {
	height: calc(36 / 12 * 1em);
	left: auto;
	margin: 0 auto 2.125em;
	position: relative;
	top: auto;
	width: calc(100 / 12 * 1em);
}

.tab-contents .tag:before {
	height: calc(70 / 12 * 1em);
	right: calc(-17 / 12 * 1em);
	top: calc(16 / 12 * 1em);
	width: calc(35 / 12 * 1em);
}

.tab-contents .tag .num {
	font-size: calc(30 / 12 * 1em);
	margin-right: 0.1em;
	top: 0.1em;
}

.tab-contents .tag .unit {
	font-size: calc(12 / 12 * 1em);
	margin-right: 0.125em;
	top: 0.06em;
}

.tab-contents .tag-hidden {
	display: block;
	margin-bottom: 2.65em;
	visibility: hidden;
}

.tab-contents .events-list > li {
	margin: 1.6em auto 1.7em;
}

.tab-contents .events-list > li .title {
	font-size: calc(16 / 12 * 1em);
	margin: 0.675em 0;
}

.tab-contents .events-list > li .title:before {
	height: calc(8.5 / 16 * 1em);
	top: 0.5em;
	width: calc(8.5 / 16 * 1em);
}

.tab-contents .images {
	column-gap: calc(10 / 325 * 100%);
	margin-bottom: 2.05em;
}

.tab-contents .images > li {
	padding: calc(13.5 / 12 * 1em) calc(7.5 / 325 * 100%) calc(7 / 12 * 1em);
	width: calc(155 / 325 * 100%);
}

.tab-contents .images > li:before {
	top: calc(4 / 12 * 1em);
	width: calc(5 / 12 * 1em);
}

.btn > span,
.btn > a {
	border-radius: calc(20 / 14 * 1em);
	font-size: calc(14 / 12 * 1em);
	height: calc(60 / 14 * 1em);
	letter-spacing: 0.125em;
	max-width: calc(360 / 14 * 1em);
	width: 100%;
}

.btn > span:after,
.btn > a:after {
	border-width: calc(1.5 / 14 * 1em);
	height: calc(7.1295 / 14 * 1em);
	right: 1.525em;
	width: calc(7.1295 / 14 * 1em);
}

.btn.big > a {
	border-radius: calc(20 / 14 * 1em);
	font-size: calc(14 / 12 * 1em);
	height: calc(60 / 14 * 1em);
	letter-spacing: 0.125em;
	max-width: calc(360 / 14 * 1em);
	padding-left: 2.8em;
}

.btn.big > a:after {
	right: 1.5em;
}

.btn.mid > a {
	border-radius: calc(20 / 14 * 1em);
	font-size: calc(14 / 12 * 1em);
	height: calc(60 / 14 * 1em);
	max-width: calc(360 / 14 * 1em);
	padding-left: 2.8em;
}

.btn.mid > a:after {
	right: 1.5em;
}

.btn.long > a {
	font-size: calc(14 / 12 * 1em);
	height: calc(50 / 14 * 1em);
	max-width: calc(280 / 14 * 1em);
	width: 100%;
}

.btn.back > a {
	font-size: calc(14 / 12 * 1em);
	height: calc(50 / 14 * 1em);
	max-width: calc(300 / 14 * 1em);
}

.btn.text-center-sp > a {
	justify-content: center;
	margin-left: auto;
	margin-right: auto;
	padding-left: 0;
}

body#about .content {
	padding-bottom: calc(70 / 12 * 1em);
}

body#about #overview {
	padding-bottom: calc(60 / 12 * 1em);
}

body#about #overview:after {
	transform: scale(0.75);
	transform-origin: left center;
}

body#about #history {
	padding-bottom: calc(50 / 12 * 1em);
}

body#about #history:after {
	transform: scale(0.75);
	transform-origin: right center;
}

body#about #history .flex {
	flex-direction: column;
}

body#about #access:after {
	left: calc(10 / 12 * 1em);
	top: calc(60 / 12 * 1em);
	transform: scale(0.65);
	transform-origin: left center;
}

body#about #access .flex {
	flex-direction: column;
}

body#about .editor-area h4:not([class]) {
	font-size: calc(16 / 12 * 1em);
}

body#admission .content .information .editor-area h5:first-child,
body#admission .content .information .editor-area p:not([class]):first-child {
	margin-top: 2.5em;
}

body#admission .content .information .editor-area h4 {
	margin-bottom: 1.5em;
	margin-top: 2em;
}

body#admission section > .inner {
	padding-left: 10px;
	padding-right: 10px;
}

body#admission #first .flex {
	flex-direction: column;
	padding-left: 10px;
	padding-right: 10px;
}

body#admission #first .image {
	margin-bottom: 3em;
	width: 100%;
}

body#admission #first .image img {
	width: 100%;
}

body#admission #first .text {
	width: 100%;
}

body#admission #session:before {
	left: calc(15 / 12 * 1em);
	transform: scale(0.75);
	transform-origin: left center;
}

body#admission #explanation:after {
	right: calc(10 / 12 * 1em);
	transform: scale(0.75);
	transform-origin: right center;
}

body#admission #step .step-list {
	margin: auto;
	max-width: calc(420 / 12 * 1em);
}

body#admission #step .step-list li {
	flex-direction: column;
	padding: calc(24 / 12 * 1em) calc(22 / 12 * 1em);
}

body#admission #step .step-list li .title {
	font-size: calc(18 / 12 * 1em);
	justify-content: center;
	margin-bottom: 1em;
	padding-bottom: 2em;
	padding-top: 1em;
	position: relative;
	width: 100%;
}

body#admission #step .step-list li .title:before {
	margin-right: 0.25em;
}

body#admission #step .step-list li .title:after {
	background-color: #E1B6B6;
	bottom: 0;
	content: "";
	display: block;
	height: 1px;
	position: absolute;
	width: 3em;
}

body#admission #step .step-list li .detail {
	padding-left: 0;
	width: 100%;
}

body#admission #step .step-list li .detail p {
	font-size: calc(14 / 12 * 1em);
}

body#admission #uniform {
	padding-bottom: calc(74 / 12 * 1em);
}

body#admission #uniform .uniform-list li h4 {
	font-size: calc(18 / 12 * 1em);
}

body#admission #uniform .guide:before,
body#admission #uniform .guide:after {
	bottom: calc(-74 / 12 * 1em);
	left: calc(-8 / 12 * 1em);
}

body#admission #uniform .guide:after {
	bottom: calc(-70 / 12 * 1em);
	left: auto;
	right: calc(-10 / 12 * 1em);
}

body#admission #application-form:before,
body#admission #application-form:after {
	right: 1%;
	transform: scale(0.75);
	transform-origin: right bottom;
}

body#admission #application-form:before {
	left: 1%;
	transform-origin: left bottom;
}

body#admission #application-form > .inner {
	padding-left: 20px;
	padding-right: 20px;
}

body#contact .content {
	padding-bottom: calc(78 / 12 * 1em);
}

.form .aform-checking {
	font-size: calc(14 / 12 * 1em);
	line-height: 2;
}

.form p {
	font-size: calc(14 / 12 * 1em);
	line-height: 2;
}

.form .aform-content dl {
	display: block;
	margin: calc(8 / 12 * 1em) auto;
	padding-bottom: calc(20 / 12 * 1em);
}

.form .aform-content dl:after {
	background-size: calc(10 / 12 * 1em) calc(10 / 12 * 1em);
	bottom: calc(-5 / 12 * 1em);
	height: calc(10 / 12 * 1em);
}

.form .aform-content dl dt {
	padding-bottom: 0.2em;
	padding-top: 0;
}

.form .aform-content dl dd .aform-confirm {
	font-size: calc(14 / 12 * 1em);
	line-height: 2;
}

.form .aform-content dl.dl_form_session:has(li:nth-child(1) input:checked) {
	padding-bottom: 0.75em;
}

.form .aform-error {
	font-size: calc(10 / 12 * 1em);
}

.form .aform-label {
	font-size: calc(14 / 12 * 1em);
}

.form .aform-required {
	font-size: calc(10 / 14 * 1em);
	margin-left: 0.75em;
}

.form .aform-input-example {
	font-size: calc(13 / 12 * 1em);
	margin-top: 0;
}

.form .aform-radio-ul label,
.form .aform-checkbox-ul label {
	font-size: calc(14 / 12 * 1em);
}

.form select,
.form input,
.form textarea {
	font-size: calc(14 / 12 * 1em);
}

.form .submit input,
.form .aform-button-area input {
	background-size: calc(7 / 14 * 1em) calc(10.5 / 14 * 1em);
	font-size: calc(14 / 12 * 1em);
	height: calc(50 / 14 * 1em);
	max-width: calc(300 / 14 * 1em);
}

.form .submit input + input,
.form .aform-button-area input + input {
	margin-top: 2em;
}

body#feature #goals {
	padding-top: calc(70 / 12 * 1em);
}

body#feature #goals .goals {
	margin-top: calc(34 / 12 * 1em);
}

body#feature #goals .goals-list {
	align-content: center;
	aspect-ratio: 355 / 560;
	background: url("../images/feature_popup05.svg") no-repeat center/cover;
	margin: auto;
	margin-bottom: calc(200 / 12 * 1em);
	max-width: calc(355 / 12 * 1em);
	padding-bottom: 1.75em;
}

body#feature #goals .goals-list:before {
	aspect-ratio: 250 / 180.338;
	height: auto;
	top: 119.5%;
	width: calc(250 / 355 * 100%);
}

body#feature #goals .goals-list li {
	aspect-ratio: 0;
	background: none;
	font-size: calc(18 / 12 * 1em);
	letter-spacing: 0.075em;
	line-height: 1.375;
	margin: 1.4em auto;
	max-width: calc(275 / 18 * 1em);
	width: 100%;
}

body#feature #goals .goals-list li:nth-child(1) {
	background: none;
	padding: 0;
}

body#feature #goals .goals-list li:nth-child(2) {
	background: none;
	padding: 0;
}

body#feature #goals .goals-list li:nth-child(3) {
	background: none;
	padding: 0;
}

body#feature #goals .goals-list li:nth-child(4) {
	background: none;
	padding: 0;
}

body#feature #philosophy .text .founder {
	font-size: calc(14 / 12 * 1em);
}

body#feature #policy {
	padding-bottom: calc(100 / 12 * 1em);
}

body#feature #policy .wrap .box {
	margin-top: calc(-60 / 12 * 1em);
	padding: calc(15 / 12 * 1em) 0 0 calc(20 / 12 * 1em);
}

body#feature #policy .wrap .box p {
	font-size: calc(13 / 12 * 1em);
	line-height: 2.25;
	padding-right: 0.5em;
}

body#feature #education {
	padding-bottom: calc(78 / 12 * 1em);
}

body#feature #education:before {
	left: calc(20 / 12 * 1em);
	transform: scale(0.75);
	transform-origin: left center;
}

body#feature #education:after {
	right: calc(20 / 12 * 1em);
	transform: scale(0.75);
	transform-origin: right center;
}

body#feature #education .education-list {
	flex-direction: column;
	margin-left: auto;
	margin-right: auto;
	max-width: calc(380 / 12 * 1em);
}

body#feature #education .education-list > li {
	width: 100%;
}

body#feature #education .education-list > li .title {
	font-size: calc(20 / 12 * 1em);
}

body#feature #education .education-list > li .purpose {
	font-size: calc(14 / 12 * 1em);
	margin-top: 1.35em;
}

body#feature #education .education-list > li .purpose:has(+ .img) {
	margin-top: 2.5em;
}

body#feature #education .education-list > li .step > li {
	font-size: calc(14 / 12 * 1em);
}

body#feature #footer {
	margin-top: calc(90 / 12 * 1em);
}

#home .hero .kv-swiper .swiper-slide {
	margin: 0 calc(5 / 12 * 1em);
	max-width: calc(365 / 375 * 100%);
}

#home .hero .kv-swiper .img.cover:before {
	padding-top: calc(182 / 365 * 100%);
}

#home #intro {
	padding-bottom: calc(348 / 12 * 1em);
}

#home #intro .decoration .shape01 {
	width: calc(19.5 / 12 * 1em);
}

#home #intro .decoration .shape02 {
	width: calc(31 / 12 * 1em);
}

#home #intro .decoration .shape03 {
	width: calc(23 / 12 * 1em);
}

#home #intro .decoration .shape04 {
	width: calc(19.25 / 12 * 1em);
}

#home #intro .decoration .shape05 {
	width: calc(27.5 / 12 * 1em);
}

#home #intro .decoration .shape06 {
	width: calc(14.75 / 12 * 1em);
}

#home #intro .catchphrase .area {
	padding-top: calc(100 / 12 * 1em);
}

#home #intro .catchphrase .hl {
	font-size: calc(20 / 12 * 1em);
	line-height: 3.58;
}

#home #intro .catchphrase .hl span:nth-child(2) {
	padding-top: 3em;
}

#home #intro .catchphrase .hl span:nth-child(3) {
	padding-top: 1.5em;
}

#home #intro .catchphrase .hl span:nth-child(4) {
	padding-top: 4.5em;
}

#home #intro .images .img {
	max-width: calc(280 / 12 * 1em);
	right: calc(-35 / 12 * 1em);
	top: calc(-71 / 12 * 1em);
}

#home #intro .images:before {
	display: none;
}

#home #intro .images:after {
	right: calc(184 / 12 * 1em);
	top: calc(64 / 12 * 1em);
	width: calc(96 / 12 * 1em);
}

#home #intro .text {
	margin-top: 17.675em;
	text-align: left;
}

#home #intro .text p {
	font-size: calc(14 / 12 * 1em);
	letter-spacing: 0.1em;
	line-height: 2.5;
	margin: 2.5em 0;
}

#home #intro .text p br {
	display: none;
}

#home #intro .links {
	flex-direction: column;
	padding-left: 20px;
	padding-right: 20px;
	position: relative;
	row-gap: calc(25 / 12 * 1em);
}

#home #intro .links:after {
	aspect-ratio: 1 / 1;
	background: url("../images/deco_dots01.svg") no-repeat top center/contain;
	content: "";
	display: block;
	left: calc(-13 / 12 * 1em);
	position: absolute;
	top: calc(112.5 / 12 * 1em);
	transform: rotate(315deg);
	width: calc(90 / 12 * 1em);
	z-index: -1;
}

#home #intro .illust .left {
	left: calc(-21 / 12 * 1em);
	top: calc(154 / 12 * 1em);
	width: calc(279 / 12 * 1em);
}

#home #intro .illust .left .img {
	right: calc(36.5 / 12 * 1em);
	top: calc(55 / 12 * 1em);
	width: calc(45 / 12 * 1em);
}

#home #intro .illust .right {
	right: calc(-41 / 12 * 1em);
	top: calc(11.5 / 12 * 1em);
	width: calc(208 / 12 * 1em);
}

#home #intro .illust .right .img {
	right: calc(55 / 12 * 1em);
	top: calc(31 / 12 * 1em);
	width: calc(50 / 12 * 1em);
}

#home #school-life:after {
	top: calc(-2 / 12 * 1em);
}

#home #topics .wrap {
	flex-direction: column;
	padding-bottom: 2em;
}

#home #topics .wrap .block:nth-child(1) {
	padding-left: 20px;
	width: 100%;
}

#home #topics .wrap .block:nth-child(2) {
	overflow: hidden;
	padding-right: 0;
	width: 100%;
}

#home #topics .wrap .block:nth-child(2) .topics-swiper {
	margin: 4em auto 2.25em;
}

#home #topics .wrap .block:nth-child(2) .btn {
	padding-left: 20px;
	padding-right: 20px;
}

#home #topics .wrap .block:nth-child(2) .btn a {
	margin: auto;
}

#home #topics .text {
	margin-left: 0;
	max-width: none;
}

#home #topics .text .section-title {
	margin-left: auto;
	margin-right: auto;
	max-width: calc(360 / 12 * 1em);
}

#home #topics .topics-swiper {
	max-width: calc(460 / 12 * 1em);
	overflow: visible;
}

#home #topics .topics-swiper .swiper-slide .meta .category {
	font-size: calc(12 / 12 * 1em);
}

#home #topics .topics-swiper .swiper-slide .meta .date {
	font-size: calc(14 / 12 * 1em);
}

#home #topics .topics-swiper .swiper-slide .title {
	font-size: calc(14 / 12 * 1em);
}

#home #topics .topics-swiper .swiper-slide {
	margin-left: 20px;
	margin-right: 20px;
	max-width: calc(420 / 460 * 100%);
}

#home #topics .topics-swiper .swiper-pagination {
	text-align: center;
}

#home #school-life .wrap {
	padding-top: calc(60 / 12 * 1em);
}

#home #school-life .wrap .text {
	padding-left: 20px;
	padding-right: 20px;
	padding-top: calc(150 / 12 * 1em);
}

#home #school-life .wrap .text .illust {
	width: calc(280 / 12 * 1em);
}

#home #school-life .wrap .text .illust .clip-box {
	transform: scale(1.05);
}

#home #school-life .wrap .text .illust .img {
	right: calc(115 / 12 * 1em);
	top: calc(130 / 12 * 1em);
	width: calc(40 / 12 * 1em);
}

#home #school-life .wrap .text .links {
	margin-top: calc(49 / 12 * 1em);
	max-width: calc(360 / 12 * 1em);
}

#home #school-life .wrap .text .links:before {
	bottom: calc(16 / 12 * 1em);
	height: calc(99 / 12 * 1em);
	right: calc(-45 / 12 * 1em);
	width: calc(100 / 12 * 1em);
}

#home #school-life .wrap .text .links .btn {
	margin: calc(25 / 12 * 1em) 0;
}

#home #school-life .wrap .image .img.main {
	margin-bottom: calc(100 / 12 * 1em);
	margin-left: auto;
	margin-right: auto;
	margin-top: calc(25 / 12 * 1em);
	max-width: calc(580 / 16 * 1em);
	width: calc(355 / 375 * 100%);
}

#home #school-life .wrap .image .img.sub {
	bottom: calc(-69.25 / 12 * 1em);
	max-width: calc(400 / 12 * 1em);
	right: calc(-74 / 12 * 1em);
	width: calc(272 / 375 * 100%);
}

#home #support .img.main:before {
	aspect-ratio: 2 / 1;
	content: "";
	display: block;
	width: 100%;
}

#home #support .img.main img {
	height: 100%;
	left: 0;
	object-fit: cover;
	position: absolute;
	top: 0;
	width: 100%;
}

#home #support .section-title {
	margin-bottom: 3em;
}

#home #support .section-title:after {
	left: calc(-16 / 12 * 1em);
	top: calc(27.5 / 12 * 1em);
}

#home #support .section-title span.en {
	margin-top: 0.5em;
}

#home #support .support-list {
	margin: calc(40 / 12 * 1em) auto calc(60 / 12 * 1em);
}

#home #support .illust .right {
	transform: scale(0.8);
}

#home #support .illust .left {
	transform: scale(0.8);
}

#home #support .marquee-swiper {
	margin-top: calc(120 / 12 * 1em);
}

#home #admission .section-title:after {
	left: calc(-20 / 12 * 1em);
	top: calc(27.5 / 12 * 1em);
}

#home #admission .section-title span.en {
	margin-top: 0.6em;
}

#home #admission .text p {
	font-size: calc(14 / 12 * 1em);
}

#home #admission .image:after {
	bottom: calc(-40 / 12 * 1em);
	right: calc(-50 / 12 * 1em);
	transform: scale(1);
	width: calc(140 / 12 * 1em);
}

#home #admission .illust {
	left: calc(-53 / 12 * 1em);
	top: calc(27 / 12 * 1em);
	transform: scale(1);
	width: calc(160 / 12 * 1em);
}

#home #admission .illust .img {
	left: calc(75 / 12 * 1em);
	top: calc(24 / 12 * 1em);
	width: calc(29 / 12 * 1em);
}

#home #qa {
	padding-top: calc(20 / 8 * 1em);
}

#home #qa .inner {
	max-width: calc(300 / 8 * 1em);
}

#home #qa .banner .img {
	border-radius: calc(20 / 8 * 1em);
	box-shadow: calc(10 / 8 * 1em) calc(10 / 8 * 1em) 0 0 #096AA3;
}

#home #qa .banner .section-title {
	padding-bottom: calc(14 / 8 * 1em);
}

#home #qa .banner .section-title:before {
	height: calc(20 / 8 * 1em);
	top: calc(0 / 8 * 1em);
	width: calc(20 / 8 * 1em);
}

#home #qa .banner .section-title:after {
	height: calc(33 / 8 * 1em);
	left: calc(-9 / 8 * 1em);
	top: calc(16 / 8 * 1em);
	width: calc(33 / 8 * 1em);
}

#home #qa .banner .section-title span.jp {
	font-size: calc(16 / 8 * 1em);
}

#home #qa .banner .section-title span.en {
	font-size: calc(10 / 8 * 1em);
	top: 0.05em;
}

body#information .content .text > p {
	text-align: left;
}

body#information #document {
	padding-top: calc(70 / 12 * 1em);
}

body#information #application {
	padding-bottom: calc(114 / 12 * 1em);
}

body#information #application:before {
	left: calc(20 / 12 * 1em);
	transform: scale(0.75);
	transform-origin: left center;
}

body#information #footer {
	margin-top: calc(90 / 12 * 1em);
}

body#privacy .content {
	padding-bottom: calc(78 / 12 * 1em);
}

body#privacy #declaration {
	margin-top: calc(38 / 12 * 1em);
}

body#qa .content .inner {
	padding-bottom: calc(57 / 12 * 1em);
	padding-top: calc(50 / 12 * 1em);
}

body#qa .qa-list dt,
body#qa .qa-list dd {
	border-radius: calc(20 / 12 * 1em);
	flex-direction: column;
	padding-left: 10px;
	padding-right: 10px;
}

body#qa .qa-list dt:before,
body#qa .qa-list dd:before {
	height: calc(40 / 12 * 1em);
	margin-left: auto;
	margin-right: auto;
	width: calc(40 / 12 * 1em);
}

body#qa .qa-list dd {
	padding-left: 40px;
	padding-right: 40px;
}

body#qa .qa-list .title-ud {
	margin-bottom: 1.25em;
	text-align: center;
}

body#qa .qa-list .title-ud span {
	text-align: left;
}

body#qa .qa-list .title-ud span:after {
	left: calc(-5 / 20 * 1em);
	width: 102.5%;
}

body#qa .qa-list .title-answer {
	font-size: calc(16 / 12 * 1em);
	margin-bottom: 1em;
}

body#qa .qa-list .editor-area p {
	margin: 1.5em 0 1.25em;
}

body#qa .qa-list .editor-area h5:not([class]) + p {
	margin-top: 0.75em;
}

body#recruit #info {
	padding-bottom: calc(98 / 12 * 1em);
}

body#recruit #info > .inner {
	padding-left: 10px;
	padding-right: 10px;
}

body#recruit #info:before {
	right: calc(10 / 12 * 1em);
	transform: scale(0.75);
	transform-origin: right center;
}

body#recruit #info:after {
	left: calc(10 / 12 * 1em);
	transform: scale(0.75);
	transform-origin: left center;
}

body#recruit #footer {
	margin-top: calc(90 / 12 * 1em);
}

body#school-life .school-life-list {
	column-gap: calc(30 / 335 * 100%);
	margin-bottom: calc(60 / 12 * 1em);
	margin-top: calc(70 / 12 * 1em);
	max-width: calc(520 / 12 * 1em);
}

body#school-life .school-life-list:before {
	bottom: calc(12 / 12 * 1em);
	left: 5%;
	transform: scale(0.75);
	transform-origin: bottom left;
}

body#school-life .school-life-list:after {
	bottom: calc(12 / 12 * 1em);
	right: 2.5%;
	transform: scale(0.75);
	transform-origin: bottom right;
}

body#school-life .school-life-list li {
	margin: 0 0 calc(10 / 12 * 1em);
	max-width: calc(147.5 / 335 * 100%);
}

body#school-life .school-life-list li .title {
	margin-top: 0.5em;
}

body#school-life .school-life-list li .description {
	font-size: 1em;
	line-height: 1.75;
	margin: 1.25em 0 0;
	padding: 0;
}

body#school-life.daily #main:before,
body#school-life.daily #main:after {
	top: calc(610 / 12 * 1em);
	width: calc(50 / 12 * 1em);
}

body#school-life.daily #main:after {
	top: calc(840 / 12 * 1em);
}

body#school-life.daily .daily-swiper {
	max-width: calc(420 / 12 * 1em);
}

body#school-life.daily .daily-swiper .swiper-slide {
	max-width: 100%;
}

body#school-life.annual-events .content > .inner {
	padding-left: 10px;
	padding-right: 10px;
}

body#school-life.annual-events .page-nav {
	padding-bottom: calc(78 / 12 * 1em);
}

body#school-life .activities-section {
	margin: calc(50 / 12 * 1em) auto;
}

body#school-life .activities-section .inner {
	flex-direction: column;
}

body#school-life .activities-section:first-of-type:before {
	left: calc(10 / 12 * 1em);
	transform: scale(0.75);
	transform-origin: left bottom;
}

body#school-life .activities-section:last-of-type:not(:first-of-type):before {
	right: calc(10 / 12 * 1em);
	transform: scale(0.75);
	transform-origin: right top;
}

body#support.archive .content .text h4 {
	font-size: calc(20 / 12 * 1em);
}

body#support.archive .content .images {
	column-gap: calc(20 / 12 * 1em);
}

body#support.archive .application {
	padding-left: 1.5em;
	padding-right: 1.5em;
}

body#support.archive .application .flex {
	flex-direction: column;
}

body#support.archive .application .flex .img {
	margin-bottom: 3em;
	max-width: calc(363 / 12 * 1em);
}

body#support #preschool:after {
	left: calc(-100 / 12 * 1em);
	top: 32.5%;
}

body#support #kindergartener:before {
	bottom: calc(60 / 12 * 1em);
	left: 0;
	top: auto;
}

body#support #kindergartener:after {
	bottom: calc(40 / 12 * 1em);
	left: calc(-120 / 12 * 1em);
	top: auto;
}

body#support.childcare .content {
	padding-bottom: calc(78 / 12 * 1em);
}

body#support #intro > .inner {
	padding-left: 10px;
	padding-right: 10px;
}

body#support #intro .head + .text {
	padding-left: 10px;
	padding-right: 10px;
	text-align: left;
}

body#support #intro .head + .text h4 {
	font-size: calc(20 / 12 * 1em);
	letter-spacing: 0.1em;
}

body#support #intro .head + .text + .images {
	margin: calc(43.5 / 12 * 1em) auto calc(50 / 12 * 1em);
	max-width: calc(440 / 12 * 1em);
}

body#support #intro .head + .text + .images:before,
body#support #intro .head + .text + .images:after {
	background-image: url("../images/deco_stripe02_sp.svg");
	left: -8.6%;
	top: -3.6%;
	width: calc(160 / 355 * 100%);
}

body#support #intro .head + .text + .images:after {
	bottom: -1.75%;
	left: auto;
	right: 12%;
	top: auto;
	width: calc(150 / 355 * 100%);
}

body#support #intro .head + .text + .images .wrap {
	flex-wrap: wrap;
	justify-content: center;
}

body#support #intro .head + .text + .images .img:nth-child(1) {
	left: calc(-1 / 12 * 1em);
	top: calc(-5 / 12 * 1em);
	width: calc(190 / 355 * 100%);
}

body#support #intro .head + .text + .images .img:nth-child(2) {
	right: calc(-1 / 12 * 1em);
	top: calc(25 / 12 * 1em);
	width: calc(155 / 355 * 100%);
}

body#support #intro .head + .text + .images .img:nth-child(3) {
	left: calc(-17.5 / 12 * 1em);
	top: calc(-1.5 / 12 * 1em);
	width: calc(220 / 355 * 100%);
}

body#support #detail {
	overflow: hidden;
	padding-bottom: calc(60 / 12 * 1em);
}

body#support #detail > .inner {
	padding-left: 10px;
	padding-right: 10px;
}

body#support #detail .outline {
	border-radius: calc(20 / 12 * 1em);
	padding-left: 15px;
	padding-right: 15px;
}

body#support #detail .outline:before,
body#support #detail .outline:after {
	height: calc(73.0769 / 12 * 1em);
	left: calc(-2 / 12 * 1em);
	top: calc(-36 / 12 * 1em);
	width: calc(75 / 12 * 1em);
}

body#support #detail .outline:after {
	bottom: calc(-31 / 12 * 1em);
	height: calc(62.5926 / 12 * 1em);
	left: auto;
	right: calc(-2 / 12 * 1em);
	top: auto;
	width: calc(65 / 12 * 1em);
}

body#support #detail .applications p:not([class]) {
	font-size: calc(14 / 12 * 1em);
	text-align: left;
}

body#support #detail .applications .semester h5 {
	font-size: calc(16 / 12 * 1em);
}

body#support #detail .applications .semester .supplement {
	font-size: calc(11 / 12 * 1em);
	margin-top: 0.15em;
}

body#support #detail .applications .semester .btns {
	column-gap: calc(15 / 630 * 100%);
}

body#support #detail .applications .semester .btns li > * {
	font-size: calc(14 / 12 * 1em);
	height: calc(50 / 14 * 1em);
	margin: 5% 0;
	width: calc(100 / 14 * 1em);
}

body#support #detail .applications .semester .btns li > *::last-child {
	margin-right: auto;
}

body#support.consultation #intro .column {
	flex-direction: column;
	padding-left: 10px;
	padding-right: 10px;
}

body#support.consultation #intro .column .images {
	margin: 0 auto 2em;
	max-width: calc(440 / 12 * 1em);
	width: 100%;
}

body#support.consultation #intro .column .text {
	width: 100%;
}

body#support.consultation #detail .outline {
	padding-bottom: calc(120 / 12 * 1em);
	padding-left: 15px;
	padding-right: 15px;
}

body#support.consultation #detail .outline:after {
	left: 0;
}

body#support #childcare .flex {
	flex-direction: column;
}

body#support #childcare .flex .block:nth-child(1) {
	width: 100%;
}

body#support #childcare .flex .block:nth-child(2) {
	margin: 4em auto;
	max-width: calc(440 / 12 * 1em);
	width: 100%;
}

body#support #long-term .illust:before {
	aspect-ratio: 450 / 627.2735;
	background: url("../images/childcare_illust04.svg") no-repeat center/cover;
	content: "";
	display: block;
	margin: auto;
	width: calc(380 / 12 * 1em);
}

body#support #long-term .illust .block {
	display: none;
}

body#support #long-term .column {
	flex-direction: column;
}

body#support #long-term .column .block:nth-child(1) {
	margin: auto;
	max-width: calc(240 / 12 * 1em);
	order: 2;
	width: 100%;
}

body#support #long-term .column .block:nth-child(2) {
	width: 100%;
}

body#support #long-term .information .editor-area th {
	font-size: calc(14 / 12 * 1em);
}

body#support.schedule .content > .inner {
	padding-left: 10px;
	padding-right: 10px;
}

body#support .google-schedule + .page-nav {
	margin-bottom: calc(78 / 12 * 1em);
}

body#support #application-form:before,
body#support #application-form:after {
	right: 1%;
	transform: scale(0.75);
	transform-origin: right bottom;
}

body#support #application-form:before {
	left: 1%;
	transform-origin: left bottom;
}

body#topics .topics-list {
	column-gap: calc(20/ 640 * 100%);
	margin-top: calc(70 / 12 * 1em);
}

body#topics .topics-list li .meta .category {
	font-size: calc(12 / 12 * 1em);
}

body#topics .topics-list li .meta .date {
	font-size: calc(14 / 12 * 1em);
}

body#topics .topics-list li .title {
	font-size: calc(14 / 12 * 1em);
}

body#topics .topics-list li {
	max-width: calc(310 / 640 * 100%);
}

body#topics .post header {
	margin-top: calc(70 / 12 * 1em);
}

body#topics .post header .meta .category {
	font-size: calc(12 / 12 * 1em);
}

body#topics .post header .meta .date {
	font-size: calc(14 / 12 * 1em);
}

body#topics #recent {
	padding-bottom: calc(78 / 12 * 1em);
}

body#topics #recent:before {
	left: calc(20 / 12 * 1em);
	transform: scale(0.75);
	transform-origin: left center;
}

body#topics.single #footer {
	margin-top: calc(90 / 12 * 1em);
}

}

@media (max-width: 480px) {

#footer {
	margin-top: calc(56 / 12 * 1em);
}

#footer:after {
	top: calc(-144 / 12 * 1em);
}

#footer > .inner:before {
	top: calc((-144 / 12 * 1em) + (400 / (2000 + 100) * 100vw));
}

.support-list li .title {
	font-size: calc(13 / 12 * 1em);
	letter-spacing: 0.1em;
}

.page #footer {
	margin-top: calc(70 / 12 * 1em);
}

.page #footer:after {
	top: calc(-44 / 12 * 1em);
}

.page #footer > .inner:before {
	top: calc((-44 / 12 * 1em) + (400 / (2000 + 100) * 100vw));
}

.local-nav {
	max-width: calc(340 / 12 * 1em);
}

.local-nav.large .btn-local {
	width: 100%;
}

.local-nav .btn-local {
	margin-bottom: calc(15 / 12 * 1em);
	width: 100%;
}

.local-nav .btn-local > a {
	font-size: calc(18 / 12 * 1em);
}

.tab-list {
	column-gap: calc(9 / 355 * 100%);
}

.tab-list-item {
	background-image: url("../images/tab_bg02.svg");
	height: calc(38 / 12 * 1em);
	width: calc(58 / 12 * 1em);
}

.tab-list-item:after {
	clip-path: url(#clip-stitch-sp);
}

.tab-list-item.is-btn-active {
	background-image: url("../images/tab_bg02_active.svg");
}

.tab-list-item span.season {
	bottom: calc(-8 / 14 * 1em);
	font-size: calc(14 / 12 * 1em);
}

.tab-list-item span.season.long {
	bottom: calc(-8 / 12 * 1em);
	font-size: calc(12 / 12 * 1em);
}

.tab-list-item span.en {
	bottom: calc(-16 / 10 * 1em);
	font-size: calc(10 / 12 * 1em);
	transform: scale(0.8);
}

body#admission #uniform {
	padding-bottom: calc(60 / 12 * 1em);
}

body#admission #uniform .uniform-list {
	flex-direction: column;
	justify-content: center;
}

body#admission #uniform .uniform-list li {
	margin: 0 auto 2em;
	max-width: calc(320 / 12 * 1em);
}

body#admission #uniform .uniform-list li .img {
	margin: auto;
}

body#admission #uniform .guide:before,
body#admission #uniform .guide:after {
	bottom: auto;
	top: calc(-74 / 12 * 1em);
}

body#admission #uniform .guide:after {
	bottom: calc(-56 / 12 * 1em);
	top: auto;
}

body#feature #policy .wrap .box {
	margin-left: 15%;
}

body#feature #education .education-list > li {
	padding: calc(20 / 12 * 1em) calc(15 / 12 * 1em);
}

body#feature #education .education-list > li .step {
	display: block;
	margin-top: 0.85em;
}

body#feature #education .education-list > li .step > li {
	margin: 0.75em 0;
	padding-top: 0;
	text-align: center;
	writing-mode: inherit;
}

body#feature #education .education-list > li .step > li:before {
	display: none;
}

body#feature #education .education-list > li .step > li:not(:last-child):after {
	background-color: #096AA3;
	content: "";
	display: block;
	height: calc(10 / 14 * 1em);
	margin: auto;
	position: relative;
	top: calc(5 / 14 * 1em);
	width: calc(2 / 14 * 1em);
}

body#feature #education .education-list > li .img.cover {
	margin-bottom: 0;
}

body#feature #footer {
	margin-top: calc(44 / 12 * 1em);
}

#home #intro {
	background-image: url("../images/intro_bg01_sp.svg");
}

#home #intro .catchphrase .area.clip {
	aspect-ratio: 375 / 343.81;
	clip-path: url(#bgpath-sp);
}

#home #topics .text .section-title {
	margin-left: 0.8em;
}

#home #topics .topics-swiper {
	max-width: calc(375 / 12 * 1em);
}

#home #topics .topics-swiper .swiper-slide {
	max-width: calc(335 / 375 * 100%);
}

#home #school-life .wrap .text {
	padding-top: calc(268 / 12 * 1em);
}

#home #school-life .wrap .text .section-title {
	margin-left: 0.8em;
}

#home #support .illust .right {
	top: calc(-134 / 12 * 1em);
	transform: scale(0.7);
}

#home #support .illust .left {
	transform: scale(0.7);
}

#home #admission .section-title {
	margin-left: 0.8em;
}

#home #qa {
	padding-top: calc(20 / 12 * 1em);
}

#home #qa .inner {
	max-width: calc(300 / 12 * 1em);
}

#home #qa .banner .img {
	border-radius: calc(20 / 12 * 1em);
	box-shadow: calc(10 / 12 * 1em) calc(10 / 12 * 1em) 0 0 #096AA3;
}

#home #qa .banner .section-title {
	padding-bottom: calc(14 / 12 * 1em);
}

#home #qa .banner .section-title:before {
	height: calc(20 / 12 * 1em);
	top: calc(8 / 12 * 1em);
	width: calc(20 / 12 * 1em);
}

#home #qa .banner .section-title:after {
	height: calc(33 / 12 * 1em);
	left: calc(-9 / 12 * 1em);
	top: calc(26 / 12 * 1em);
	width: calc(33 / 12 * 1em);
}

#home #qa .banner .section-title span.jp {
	font-size: calc(16 / 12 * 1em);
}

#home #qa .banner .section-title span.en {
	font-size: calc(10 / 12 * 1em);
}

body#information #footer {
	margin-top: calc(44 / 12 * 1em);
}

body#qa .content .inner {
	padding-left: 10px;
	padding-right: 10px;
}

body#qa .qa-list dd {
	padding-left: 15px;
	padding-right: 15px;
}

body#recruit #footer {
	margin-top: calc(44 / 12 * 1em);
}

body#school-life .school-life-list li .title {
	letter-spacing: 0.1em;
}

body#school-life.daily .daily-schedule {
	padding-left: calc(60 / 12 * 1em);
}

body#school-life.daily .daily-schedule .time {
	font-size: calc(34 / 12 * 1em);
}

body#school-life.daily .daily-schedule ul li:before {
	left: calc(-40 / 12 * 1em);
}

body#support.archive .content .text h4 {
	text-align: left;
}

body#support #detail .applications .semester .btns {
	column-gap: calc(12.5 / 325 * 100%);
}

body#support #detail .applications .semester .btns li {
	width: calc(100 / 325 * 100%);
}

body#support #detail .applications .semester .btns li > * {
	width: 100%;
}

body#topics .topics-list {
	max-width: calc(360 / 12 * 1em);
}

body#topics .topics-list li {
	max-width: 100%;
}

body#topics.single #footer {
	margin-top: calc(44 / 12 * 1em);
}

}

@media (max-width: 350px) {

.support-list li .title {
	font-size: calc(11 / 12 * 1em);
}

body#feature #philosophy .text .phrase {
	letter-spacing: 0.1em;
}

#home #topics .topics-swiper {
	max-width: calc(320 / 12 * 1em);
}

#home #topics .topics-swiper .swiper-slide {
	max-width: calc(280 / 320 * 100%);
}

body#school-life .school-life-list li .title {
	font-size: 1em;
}

}

