@charset "utf-8";
/*------------------------------------------------------------------------------
  reset
------------------------------------------------------------------------------*/
:root {
	--easing: cubic-bezier(0.2, 1, 0.2, 1);
	--transition: 0.8s var(--easing);
	--box-shadow: 0.8rem 0.8rem 1.2rem rgba(0, 0, 0, 0.05),
		-0.8rem -0.8rem 1.2rem #fff;
	--box-shadow-hover: 1rem 1rem 1.5rem rgba(0, 0, 0, 0.08),
		-1rem -1rem 1.5rem #fff;
	--box-shadow-inset: inset 0.8rem 0.8rem 1.2rem rgba(0, 0, 0, 0.05),
		inset -0.8rem -0.8rem 1.2rem #fff;
	--box-shadow-dark: 0.8rem 0.8rem 1.2rem rgba(0, 0, 0, 0.1),
		-0.8rem -0.8rem 1.2rem rgba(#fff, 0.2);
}
:focus:not(:focus-visible) {
	outline: 0;
	/* キーボード操作"以外"でフォーカスされた際はoutlineを消す */
}
/* slider */
.slide-media,
.thumb-media {
	position: relative;
	overflow: hidden;
}
.slide-media img,
.thumb-media img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.splide {
	z-index: 0;
}
/* Pagenation */
.splide__pagination {
	display: flex;
	justify-content: center;
	gap: 20px;
	/* position:absolute;
	right:0;
	bottom:.5em;
	left:0;
	z-index:1; */
	pointer-events:none;
}
.splide__pagination li {
	line-height:1;
	list-style-type:none;
	margin:0;
	pointer-events:auto;
}
.splide:not(.is-overflow) .splide__pagination{display:none}
.splide__pagination__page{
	opacity:.7;
	display:inline-block;
	position:relative;
	width:calc(10px + 5 * ((100vw - 375px) / 1545));
	height:calc(10px + 5 * ((100vw - 375px) / 1545));
	border:0;
	border-radius:50%;
	background:#DDD;
	transition:transform .2s linear;
}
.splide__pagination__page.is-active{
	background:#F66C02;
	/* transform:scale(1.4); */
	z-index:1;
}
.splide__pagination__page:hover{cursor:pointer;opacity:.9}
.splide__pagination__page:focus-visible{outline:3px solid #0bf;outline-offset:3px}
.splide.is-focus-in .splide__pagination__page:focus{
	outline:3px solid #0bf;
	outline-offset:3px
}
.splide__pagination--ttb{
	bottom:0;
	display:-ms-flexbox;
	display:flex;
	-ms-flex-direction:column;
	flex-direction:column;
	left:auto;
	padding:1em 0;
	right:.5em;
	top:0;
}
/* 前へ / 次へボタン */
.splide__arrow {
	position: relative;
	transform: none;
	width: 4vw;
	height: 4vw;
	border: none;
	border-radius: 50%;
	background-color: transparent;
	place-content: center;
	cursor: pointer;
	transition: var(--transition);
}
.splide__arrow--prev,
.splide__arrow--next {
	position: absolute;
	top: 45%;
	transform: translateY(-50%);
	flex-shrink: 0;
	margin: 0;
	background: url(../img/page/school/Icon_arrow.svg) no-repeat center / 100%;
}
.splide__arrow--prev {left: 36.4vw;}
.splide__arrow--next {right: 36.4vw;transform: rotate(-180deg) translateY(50%);}
.splide__arrow:disabled {
	pointer-events: none;
	opacity: 0.5;
}
.splide__arrow:disabled::before {
	box-shadow: var(--box-shadow-inset);
}
.splide__arrow:disabled {
	pointer-events: none;
	opacity: 0;
}
.splide__slide a {display: block;}
.splide-wrapper {
	position: relative;
}
.splide__arrow>svg {
	display: none;
}
.splide__track {
	margin: 0 0 20px;
	overflow: visible;
}
@media only screen and (min-width: 1025px) {
	.splide__arrow--prev::before,
	.splide__arrow--next::before {transition: var(--transition);}
	.splide__arrow--prev:hover::before,
	.splide__arrow--next:hover::before {transform: scale(1.2);}
}
@media only screen and ( max-width : 767px ) {
	.splide__arrow {width: 8vw;height: 8vw;}
	.splide__arrow--prev {left: 15.4vw;}
	.splide__arrow--next {right: 15.4vw;}
}