@font-face {
	font-family: "Genjyuu";
	src: url("../fonts/GenJyuuGothic-Bold.eot");
	src: url("../fonts/GenJyuuGothic-Bold.woff") format("woff"), url("../fonts/GenJyuuGothic-Bold.woff2") format("woff2");
}
html {
	font-size: 100%;
}
@media (max-width: 1250px) {
	html {
		font-size: 1.28vw;
	}
}
@media (min-width: 376px) and (max-width: 767px) {
	html {
		font-size: 100%;
	}
}
@media (max-width: 375px) {
	html {
		font-size: 4.2666666667vw;
	}
}

.archive-class__contents {
	padding-bottom: 1.6875rem;
}
@media screen and (max-width: 767px) {
	.archive-class__contents {
		padding-bottom: 3.75rem;
	}
}

.archive-class__lead {
	text-align: center;
}

.archive-class__lead span {
	color: #5d63a3;
	font-size: 1.75rem;
	line-height: 1.5;
	display: inline-block;
	position: relative;
	padding-left: 55px;
	padding-right: 55px;
}
.archive-class__lead span::before, .archive-class__lead span::after {
	position: absolute;
	bottom: 8px;
	width: 25px;
	height: 32px;
	content: "";
}
.archive-class__lead span::before {
	background: url(../img/class-ttl-l.png) no-repeat center center/contain;
	left: 0;
}
.archive-class__lead span::after {
	background: url(../img/class-ttl-r.png) no-repeat center center/contain;
	right: 0;
}
@media screen and (max-width: 767px) {
	.archive-class__lead span {
		font-size: 1.125rem;
		padding-left: 0;
		padding-right: 0;
	}
	.archive-class__lead span::before {
		left: -25px;
	}
	.archive-class__lead span::after {
		right: -25px;
	}
}

.archive-class__box {
	background: #fff;
	border-radius: 20px;
	width: 91.6666%;
	margin-left: auto;
	margin-right: auto;
	padding: 2.625rem 4.25rem 4.1875rem;
	margin-top: 3.5625rem;
}
@media screen and (max-width: 767px) {
	.archive-class__box {
		width: 100%;
		margin-top: 1.625rem;
		padding: 1.5rem 0.9375rem 2.4375rem;
	}
}

.class + .class {
	margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
	.class + .class {
		margin-top: 1.5rem;
	}
}

.class__ttl {
	text-align: center;
	font-weight: 700;
	font-size: 1.5rem;
}
@media screen and (max-width: 767px) {
	.class__ttl {
		font-size: 1.125rem;
	}
}

.class__list {
	margin-top: 1.4375rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: start;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
	.class__list {
		margin-top: 1rem;
	}
}

.class__item {
	width: calc(25% - 0.9375rem);
	text-align: center;
	padding-bottom:2rem;
}
@media screen and (max-width: 767px) {
	.class__item {
		width: calc(50% - 0.46875rem);
	}
}

.class__item + .class__item {
	margin-left: 1.25rem;
}
@media screen and (max-width: 767px) {
	.class__item + .class__item {
		margin-left: 0.9375rem;
	}
}

.class__item:nth-child(4n+1) {
	margin-left: 0;
}

@media screen and (max-width: 767px) {
	.class__item:nth-child(2n+1) {
		margin-left: 0;
	}
}

.class__item:nth-child(n+5) {
	margin-top: 1.875rem;
}
@media screen and (max-width: 767px) {
	.class__item:nth-child(n+5) {
		margin-top: 0;
	}
}

@media screen and (max-width: 767px) {
	.class__item:nth-child(n+3) {
		margin-top: 1.25rem;
	}
}

.class__item .catch {
	border-radius: 10px;
	width: 14.0625rem;
	height: 9.375rem;
	overflow: hidden;
	border-radius: 10px;
	margin-inline: auto;
}
.class__item .catch img {
	-o-object-fit: cover;
	object-fit: cover;
	width: 100%;
}
@media screen and (max-width: 767px) {
	.class__item .catch {
		width: 7.5rem;
		height: 5rem;
	}
}

.class__item .area {
	font-size: 1.125rem;
	line-height: 1.5;
	margin-top: 0.5rem;
}
@media screen and (max-width: 767px) {
	.class__item .area {
		font-size: 1rem;
		line-height: 1.4375;
	}
}

.class__item .class-btn {
	display: inline-block;
	color: #fff;
	margin-top: 10px;
	border-radius: 35px;
	padding-left: 1.875rem;
	padding-right: 2.25rem;
	padding-top: 0.9375rem;
	padding-bottom: 0.9375rem;
	position: relative;
	letter-spacing: 0.05em;
	min-width: 85%;
	text-align: center;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.5;
}
.class__item .class-btn::after {
	position: absolute;
	content: "";
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	right: 1.25rem;
	width: 6px;
	height: 10px;
	background: url(../img/class-arrow.png) no-repeat center center/contain;
}
@media screen and (max-width: 767px) {
	.class__item .class-btn {
		font-size: 0.875rem;
		line-height: 1.428;
		letter-spacing: 0.05em;
		padding-top: 0.625rem;
		padding-bottom: 0.625rem;
		padding-left: 0.9375rem;
		padding-right: 1.625rem;
	}
	.class__item .class-btn::after {
		right: 0.625rem;
	}
}

.tokyo .class__ttl,
.tokyo .class__item .area {
	color: #5d63a3;
}

.tokyo .class__item .class-btn {
	background: #5d63a3;
}

.kanagawa .class__ttl,
.kanagawa .class__item .area {
	color: #a1cde0;
}

.kanagawa .class__item .class-btn {
	background: #a1cde0;
}

.chiba .class__ttl,
.chiba .class__item .area {
	color: #b3d541;
}

.chiba .class__item .class-btn {
	background: #b3d541;
}

.saitama .class__ttl,
.saitama .class__item .area {
	color: #f0b9ce;
}

.saitama .class__item .class-btn {
	background: #f0b9ce;
}

@media screen and (max-width: 767px) {
	.single-class__contents {
		padding-bottom: 3.625rem;
	}
}
@media screen and (max-width: 767px) {
	.u-single-class{
			padding-bottom: 0;
	}
	}
.single-class__ttl {
	font-size: 2.375rem;
	font-weight: 700;
	color: #5d63a3;
	position: relative;
}
.single-class__ttl::before {
	position: absolute;
	content: "";
	top: 0;
	right: 0;
	width: 7.8125rem;
	height: 4.625rem;
	background: url(../img/notepen.png) no-repeat center center/contain;
}
@media screen and (max-width: 767px) {
	.single-class__ttl {
		font-size: 1.75rem;
		text-align: center;
	}
	.single-class__ttl::before {
		content: none;
	}
}

.single-class__items {
	margin-top: 2.4375rem;
}
@media screen and (max-width: 767px) {
	.single-class__items {
		display: grid;
		margin-top: 0.6875rem;
	}
}

.single-class__main {
	display: grid;
	grid-template-columns: 1fr 1fr;
	-webkit-column-gap: 6.25rem;
	-moz-column-gap: 6.25rem;
	column-gap: 6.25rem;
	margin-bottom:3.83125rem;
}
@media screen and (max-width: 767px) {
	.single-class__main {
		display: contents;
	}
}

.single-class__info-01 {
	padding-bottom: 2.5rem;
}
@media screen and (max-width: 767px) {
	.single-class__info-01 {
		padding-bottom: 1.5625rem;
		-webkit-box-ordinal-group: 2;
		-ms-flex-order: 1;
		order: 1;
	}
}

.single-class__address-box {
	border-radius: 20px;
	background: #fff;
	padding: 1.5625rem 1.875rem 1.625rem;
	font-weight: 700;
}
@media screen and (max-width: 767px) {
	.single-class__address-box {
		border-radius: 10px;
		padding: 1.25rem 1.5625rem;
		line-height: 1.625;
	}
}

.single-class__phone {
	border-bottom: 3px dotted #5d63a3;
	padding: 0.1875rem 1.25rem 0.375rem;
}
@media screen and (max-width: 767px) {
	.single-class__phone {
		text-align: center;
		padding-bottom: 0.875rem;
	}
}

.single-class__phone a {
	font-weight: 700;
	font-size: 2.25rem;
	color: #5d63a3;
	padding-left: 5.75rem;
	display: inline-block;
	position: relative;
}
.single-class__phone a::before {
	position: absolute;
	content: "";
	top: 56%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	left: 0;
	width: 4.5rem;
	height: 1.75rem;
	background: url(../img/phone-icon.png) no-repeat center center/contain;
}
@media screen and (max-width: 767px) {
	.single-class__phone a {
		font-size: 1.625rem;
	}
}

.single-class__catch {
	position: relative;
	border-radius: 10px;
	width: 24.078125rem;
	height:16.051875rem;
	margin-top: 3.75rem;
	margin-inline: auto;
}
.single-class__catch img {
	-o-object-fit: cover;
	object-fit: cover;
}
.single-class__catch::before {
	position: absolute;
	content: "";
	top: 61%;
	left: 43%;
	-webkit-transform: rotate(10deg) translate(-50%, -50%);
	transform: rotate(10deg) translate(-50%, -50%);
	width: 100%;
	height: 100%;
	border-radius: 10px;
	background: #5d63a3;
	z-index: -1;
}
@media screen and (max-width: 767px) {
	.single-class__catch {
		width: 17.5rem;
		height: 11.625rem;
		margin-top: 3.125rem;
	}
}

@media screen and (max-width: 767px) {
	.single-class__info-02 {
		-webkit-box-ordinal-group: 4;
		-ms-flex-order: 3;
		order: 3;
		padding-top: 2.6875rem;
	}
}

.single-class__googlemap {
	border: 4px solid #fff;
	background: #fff;
	border-radius: 10px;
	aspect-ratio: 550/275;
}
@media screen and (max-width: 767px) {
	.single-class__googlemap {
		aspect-ratio: 335/167;
	}
}
.single-class__googlemap iframe{
	width: 100%;
}

.single-class__access {
	border-radius: 20px;
	font-size: 1rem;
	background: #fff;
	padding: 1.5625rem 1.875rem 1.625rem;
	font-weight: 700;
	margin-top: 1.3125rem;
}
@media screen and (max-width: 767px) {
	.single-class__access {
		border-radius: 10px;
		font-size: 0.875rem;
		padding: 1.5625rem 1.25rem;
		line-height: 1.5714;
		margin-top: 1.25rem;
		margin-bottom:1.875rem;
	}
}

.single-class__contact {
	text-align: center;
}
@media screen and (max-width: 767px) {
	.single-class__contact {
		-webkit-box-ordinal-group: 5;
		-ms-flex-order: 4;
		order: 4;
	}
}

.single-class__contact a {
	margin-top: 3.125rem;
	padding-top: 0.8125rem;
	padding-bottom: 1.1875rem;
}
@media screen and (max-width: 767px) {
	.single-class__contact a {
		margin-top: 2.125rem;
	}
}

.single-class__gallery {
	margin: 0 calc(50% - 50vw);
	width: 99vw;
	overflow: hidden;
	margin-top: 5rem;
	position: relative;
	background: #FFF7FA;
}
.single-class__gallery::before {
	position: absolute;
	content: "";
	top: 0;
	left: 0;
	width: 100%;
	height: 10.5625rem;
	background: #EDF6FC url(../img/gallery-bgtop.png) no-repeat center top/cover;
}
@media screen and (max-width: 767px) {
	.single-class__gallery {
		-webkit-box-ordinal-group: 3;
		-ms-flex-order: 2;
		order: 2;
		margin-top: 1.3125rem;
		padding-bottom: 3.25rem;
	}
}

.single-class__gallery-ttl {
	font-weight: 700;
	font-size: 2.375rem;
	color: #5d63a3;
	line-height: 1.4736;
	text-align: center;
	padding-top: calc(20px + 7.3125rem);
	position: relative;
}
.single-class__gallery-ttl::before {
	position: absolute;
	content: "";
	top: 0;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	width: 6.8125rem;
	height: 7.3125rem;
	background: url(../img/f-gallery.png) no-repeat center center/contain;
}
@media screen and (max-width: 767px) {
	.single-class__gallery-ttl {
		font-size: 1.75rem;
	}
}

.single-class__gallery-ttlen {
	font-size: 14px;
	font-weight: 700;
	color: #db4c2d;
	margin-top: 10px;
	line-height: 1.14;
	text-align: center;
}
@media screen and (max-width: 767px) {
	.single-class__gallery-ttlen {
		font-size: 12px;
	}
}

.gallery__swiper-wrapper {
	position: relative;
	padding-bottom: 5.5625rem;
	margin-top: 3.125rem;
}
@media screen and (max-width: 767px) {
	.gallery__swiper-wrapper {
		margin-top: 1.875rem;
		width: 85.333%;
		margin-left: auto;
		margin-right: auto;
		padding-bottom: 2.125rem;
	}
}

@media screen and (max-width: 767px) {
	.gallerySwiper {
		overflow: hidden;
	}
}

.gallerySwiper .swiper-slide {
	width: 320px;
}
@media screen and (max-width: 767px) {
	.gallerySwiper .swiper-slide {
		width: 85.333%;
	}
}

.gallerySwiper .img {
	position: relative;
	width: 100%;
	border-radius: 10px;
	overflow: hidden;
	aspect-ratio: 320/195;
}
.gallerySwiper .img img {
	-o-object-fit: cover;
	object-fit: cover;
}
.gallerySwiper .caption {
	position: absolute;
	left: 50%;
	bottom: 20px;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	text-align: center;
	width: 100%;
}

.gallerySwiper .caption span {
	border-radius: 5px;
	background: rgba(255, 255, 255, 0.85);
	padding: 5px 1.875rem;
	display: inline-block;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.5;
}

.single-class__gallery .swiper-button-prev,
.single-class__gallery .swiper-button-next {
	display: none;
	width: 2.5rem;
	height: 2.5rem;
	background: url(../img/arrow.png) no-repeat center center/contain;
}
.single-class__gallery .swiper-button-prev::after,
.single-class__gallery .swiper-button-next::after {
	content: "";
}
@media screen and (max-width: 767px) {
	.single-class__gallery .swiper-button-prev,
	.single-class__gallery .swiper-button-next {
		display: block;
		top: 50%;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
	}
}

@media screen and (max-width: 767px) {
	.single-class__gallery .swiper-button-prev {
		left: -15px;
	}
}

.single-class__gallery .swiper-button-next {
	-webkit-transform: rotate(180deg) translateY(50%);
	transform: rotate(180deg) translateY(50%);
}
@media screen and (max-width: 767px) {
	.single-class__gallery .swiper-button-next {
		right: -15px;
	}
}

.single-class__gallery .swiper-pagination {
	bottom: 0;
}

.single-class__gallery .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
	width: 14px;
	height: 14px;
	border: 1px solid #f0b9ce;
	background: #fff;
	opacity: 1;
	margin: 0 12px;
}

.single-class__gallery .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet.swiper-pagination-bullet-active {
	background: #f0b9ce;
}

/* .single-class + .footer-top1::before {
background: #fff7fa url(../img/footer-top-bg1-class.png) no-repeat center top/cover;
} */
@media screen and (max-width: 767px) {
	.single-class + .footer-top1::before {
		background: url(../img/footer-top-bg1.png) no-repeat center top/cover;
	}
}

/* <!-- 沿線、出口 --> */

.p-class__archive__takes-minutes,
.p-class__archive__station {

	color: #5D63A3;
	margin: 0 auto;
}
@media screen and (min-width: 768px) {
	.p-class__archive__takes-minutes,
	.p-class__archive__station {
		margin-top: 0.6944444444vw;
		white-space: wrap;
	}
}
@media screen and (max-width: 1440px) and (min-width: 768px) {
	.p-class__archive__takes-minutes,
	.p-class__archive__station {
		margin-top: 0.6944444444vw;
	}
}
@media screen and (max-width: 767px) {
	.p-class__archive__takes-minutes,
	.p-class__archive__station {
		margin-top: 2.6666666667vw;
		white-space: wrap;
	}
}
@media screen and (min-width: 768px) {
	.p-class__archive__takes-minutes,
	.p-class__archive__station {
		font-size: 14px;
		line-height: 1.2142857143;
		letter-spacing: 0.02em;
		font-weight: 700;
	}
}
@media screen and (max-width: 1440px) and (min-width: 768px) {
	.p-class__archive__takes-minutes,
	.p-class__archive__station {
		font-size: 0.9722222222vw;
	}
}
@media screen and (max-width: 767px) {
	.p-class__archive__takes-minutes,
	.p-class__archive__station {
		font-size:0.625rem;
		line-height: 1.1666666667;
		letter-spacing: 0.02em;
		font-weight: 700;
	}
}
@media screen and (max-width: 767px) {
	.u-class__sp{
		align-items:start;
	}
}
.u-class__tokyo{
	color: #5D63A3;
}
.u-class__kanagawa{
	color: #A1CDE0;
}

.u-class__saitama{
	color:#F0B9CE;

}
.u-class__chiba{
	color: #B3D541;

}

@media screen and (min-width: 768px) {
	.u-station__small {
		font-size: 12px;
		line-height: 1.4166666667;
		letter-spacing: 0em;
		font-weight: 700;
	}
}
@media screen and (max-width: 1440px) and (min-width: 768px) {
	.u-station__small {
		font-size: 0.8333333333vw;
	}
}
@media screen and (max-width: 767px) {
	.u-station__small {
		font-size:0.75rem;
		line-height: 1.1666666667;
		letter-spacing: 0.02em;
		font-weight: 700;
	}
}

@media screen and (min-width: 768px) {
	.tokyo .class__list:nth-of-type(1)  .class__item:nth-of-type(2) {
		padding: 0;
	}
}