/*
	
------------------------------------------------------------ */
/*html.remodal-is-locked,
body.remodal-is-locked {
	position: fixed;
	overflow: hidden;
	width: 100%;
}*/
body.remodal-is-locked {
  position: fixed;
  overflow: hidden;
}

.support_jhs_student_exam {
	color: #202050;
	background-color: #f4c635;	
}

.support_jhs_student_exam .container {
    margin-left: 0!important;
    margin-right: 0!important;
    padding-right: 0!important;
    padding-left: 0!important;
}
.support_jhs_student_exam .container--1000 {
	max-width: initial!important;
}

/* Flexible Content 並び替えハンドルを無効化 */
/*.acf-flexible-content .acf-fc-layout-handle {
	pointer-events: none;
	cursor: default;
}*/
/* 上下移動ボタンも非表示 */
/*.acf-flexible-content .acf-icon.-arrow-up,
.acf-flexible-content .acf-icon.-arrow-down {
	display: none;
}*/

/* header ------------------------------ */
header {
	background-color: #f4c635;
	padding: clamp(12px, 3vw, 20px) clamp(16px, 5vw, 40px);
	display: flex;
	align-items: center;
	justify-content: space-between;
}
header #logo {
	max-width: clamp(250px, 40vw, 380px);
}
header #logo img {
	width: 100%;
	height: auto;
	display: block;
}



/* menu ------------------------------ */
.flame-menu {
	position: fixed;
	right: clamp(16px, 4vw, 40px);
	top: clamp(16px, 2.6vw, 20px);
	flex-shrink: 0;
	z-index: 10;

	width: clamp(56px, 14vw, 87px);
	height: clamp(56px, 14vw, 87px);
}

/* オレンジ円 */
.flame-menu .orange-bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	background: #f15a24;
	z-index: 1;
	transform: translateX(clamp(6px, 2vw, 10px));
	transition: transform 0.4s ease;
}
.flame-menu.is-open .orange-bg {
	transform: translateX(0);
}
.flame-menu .menu-btn {
	position: relative;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	background: #fff;
	border: none;
	cursor: pointer;
	z-index: 2;
	display: block;
}
.header-button-smpmenu-trigger span {
	left: 50% !important;
	top: 50% !important;
	width: clamp(20px, 5vw, 31px) !important;
	height: clamp(3px, 1vw, 5px) !important;
}

	.flame-menu .menu-btn span {
		position: absolute;
		left: 50%;
		top: 50%;
		width: clamp(20px, 5vw, 31px);
		height: clamp(3px, 1vw, 5px);
		background: #202050;
		border-radius: 999px;
		transition: transform 0.4s ease;
	}
	.flame-menu .menu-btn span:nth-child(1) {
	  transform: translate(
		-50%,
		calc(-50% - clamp(6px, 1.5vw, 8px))
	  );
	}
	.flame-menu .menu-btn span:nth-child(2) {
	  transform: translate(
		-50%,
		calc(-50% + clamp(6px, 1.5vw, 8px))
	  );
	}
	.flame-menu:hover .menu-btn span:nth-child(1) {
		transform: translate(
			calc(-50% - clamp(4px, 1vw, 6px)),
			calc(-50% - clamp(6px, 1.5vw, 8px))
		);
	}
	.flame-menu:hover .menu-btn span:nth-child(2) {
		transform: translate(
			calc(-50% + clamp(4px, 1vw, 6px)),
			calc(-50% + clamp(6px, 1.5vw, 8px))
		);
	}

/**/
.smp-menu-head .logo__a {
    font-size: clamp(16px, 2.4vw, 20px);
	font-weight: bold;
}
	.smp-menu-head .logo__a img {
		margin-right: 5px;
	}
.header-menu-smp{
	/*position: fixed;
	top: 50%;
	left: 50%;
	width: 90%;
	max-width: 360px;
	transform: translate(80vw, -50%);
	opacity: 0;
	pointer-events: none;
	transition:
	transform .5s cubic-bezier(.22,.61,.36,1),
	opacity 1s ease;
	background-color: transparent;*/

	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 90%;
	max-width: 360px;

	opacity: 0;
	pointer-events: none;

	transition: opacity .6s ease;
	background-color: transparent;
	transition: opacity .25s ease;
}

	.header-menu-smp .header-menu-smp-close-button {
		display: none;
		/*top: 20px;*/
	}
	.header-menu-smp .header-menu-smp-close-button:before,
	.header-menu-smp .header-menu-smp-close-button:after {
		background-color: #202050;
	}
	.header-menu-smp .header-menu-smp-inner {

	}
		.header-menu-smp .header-menu-smp-inner ul#menu-support-jhs-sp {
			text-align: center;
			display: flex;
			flex-direction: column;
		}
		.header-menu-smp .header-menu-smp-inner > ul#menu-support-jhs-sp > li > a {
			padding: 10px;
			display: block;
			background-color: transparent;
			border-top: none;
			color: #333;
			border-top: 1px solid #202050;
			border-bottom: 1px solid #202050;
			margin-bottom: 20px;
		}
		.header-menu-smp .header-menu-smp-inner > ul > li > .sub-menu {
			padding-left: 0;
			background-color: transparent;
			display: flex;
			flex-direction: column;
			gap: 0 0;
		}
		.header-menu-smp-inner > ul > li > .sub-menu a {
			display: block;
			font-family: 'Montserrat', sans-serif;
			font-size: 14px;
			line-height: 1.3;
			font-weight: bold;
			padding: 10px;
			color: #333333;
			background-color: transparent;
			border-bottom: none;
		}
		.header-menu-smp-inner > ul > li > .sub-menu a > span {
			display: block;
			font-size: clamp(24px, 2vw, 32px);
		}

/* 開いた時 */
html.open .header-menu-smp{
	position: fixed;

	top: 5dvh;
	left: 50%;
	transform: translateX(-50%);
	opacity: 1;

	width: 90%;
	max-width: 360px;

	max-height: 90dvh;

	overflow-y: auto;
	-webkit-overflow-scrolling: touch;

	pointer-events: auto;
}

html.open .filter{
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(244,198,53,.9);
	z-index: 300;
}

html.open .header-button-smpmenu-trigger {
	background-color: #fff;
}
html.open .header-button-smpmenu-trigger span {
	background-color: #202050;
}
.header-button-smpmenu-trigger.active span:nth-of-type(2) {
    opacity: 1;
}.menu-btn span:nth-child(1) {
	transform: translate(-50%, calc(-50% - clamp(6px, 1.5vw, 8px)));
}
.menu-btn span:nth-child(2) {
	transform: translate(-50%, calc(-50% + clamp(6px, 1.5vw, 8px)));
}


/* section ------------------------------ */
.support_jhs_student_exam .contents_body-sb {
	max-width: 1200px;
	padding: clamp(60px, 6vw, 120px) clamp(0px, 4vw, 20px);
}
.support_jhs_student_exam .block-mida {
	
}

.support_jhs_student_exam section:nth-of-type(even) {
    background-color: transparent;
}
.support_jhs_student_exam section:nth-of-type(even)::before {
	content: none;
    background-color: transparent;
}
.support_jhs_student_exam .block-mida h2 {
	font-family: 'Montserrat', sans-serif;
	font-weight: bold;
	font-size: clamp(5rem, 8vw, 10rem);
	line-height: clamp(1.05, 1.1, 1.15);
	display: flex;
	align-items: center;
	margin-bottom: 0px;
}
/* Windowsだけ調整 */
@media all and (-ms-high-contrast: none) {
	.support_jhs_student_exam .block-mida h2 {
		font-weight: bold;
	}
}
.support_jhs_student_exam .block-mida h2::before,
.support_jhs_student_exam .block-mida h2::after {
	content: none;
}

.support_jhs_student_exam .block-mida h2 span + span {
	font-size: clamp(1.4rem, 2.5vw, 1.8rem);
	font-weight: normal;
	padding-left: clamp(12px, 3vw, 25px);
}

.support_jhs_student_exam .block-mida .svg {
    max-width: 497px;
}


/* first view */
.firstview {
	overflow: visible;
}
.firstview-inner {
	position: relative;
}

	.flame-firstview {
		display: flex;
		max-width: 1400px;
		justify-content: center;
		width: 100%;
	}

		.flame-firstview .svg-frame {
			width: 100%;
			max-width: 1350px;
			margin: 0 auto;
		}
			.flame-firstview .svg-frame svg {
			  transition: transform 0.6s ease;
			}
			/*.flame-firstview .svg-frame:hover svg {
			  transform: translateY(-8px);
			}*/

.page-title-catch {
	display: flex;
	flex-wrap: wrap;
	max-width: 800px;
	position: absolute;
	bottom: -80px;
	left: 0;
	z-index: 1;
}
.page-title-catch .pagetitle {
	display: inline-block;
	background-color: #fff;
	border-radius: clamp(16px, 4vw, 30px);
	font-size: clamp(1.6rem, 3.5vw, 2.8rem);
	line-height: 1.4;
	font-weight: bold;
	padding:
		clamp(8px, 2.5vw, 12px)
		clamp(16px, 5vw, 30px);

	margin:
		0 0
		clamp(16px, 4vw, 25px)
		clamp(16px, 4vw, 40px);
}
.page-title-catch .pagecatch {
	display: inline-block;
	background-color: #fff;
	border-radius: 0 83px 83px 0;
	font-size: clamp(2.6rem, 6vw, 7rem);
	line-height: clamp(3.6rem, 7.5vw, 9rem);
	font-weight: bold;
	padding:
		clamp(12px, 3vw, 25px)
		clamp(24px, 8vw, 110px)
		clamp(12px, 3vw, 25px)
		clamp(16px, 5vw, 50px);
	margin-right: auto;
}


/* education */
.education {
	position: relative;
	/*background: linear-gradient(180deg, #f4c635 50%, #f1b533 50%);*/
	padding-bottom: 70px;
}

.education .block-mida h2 {
	font-size: clamp(3.0rem, 6vw, 6rem);
	line-height: clamp(5.0rem, 9vw, 10rem);
}
.education .block-mida aside {
	font-size: clamp(1.4rem, 3.6vw, 1.8rem);
	line-height: clamp(2.4rem, 6vw, 3.6rem);
	padding: 0 10px;
}

.education .bg-edu {
	position: absolute;
	top: 11%;
	right: -550px;
	z-index: -1;
	transform-origin: top right;
	transition: transform 0.25s ease;
}
@media (max-width: 1024px) {
	.education .bg-edu {
		transform: scale(0.8);
	}
}
@media (max-width: 768px) {
	.education {
		padding-bottom: 0px;
	}
	.education .bg-edu {
		transform: scale(0.8);
	}
}
@media (max-width: 376px) {
	.education .bg-edu {
		transform: scale(0.75);
	}
}

.flame-education {
	display: flex;
	padding-top: 40px;
}
	.flame-education .svg-frame {
		width: 100%;
		max-width: 380px;
		margin: 0 auto;
	}
	.flame-education .svg-frame:nth-child(2) {
		margin-top: -56px;
	}
	.flame-education .svg-frame:nth-child(3) {
		margin-top: -18px;
	}
		.flame-education .svg-frame svg {
		  transition: transform 0.6s ease;
		}
		.flame-education .svg-frame:hover svg {
		  transform: translateY(-20px);
		}
	.flame-education .svg-frame > svg {
		display: block;
	}
	.flame-education .svg-frame a {
		width: 100%;
	}

	.flame-education .text-edu {
		color: #202050;
	}
		.flame-education .text-edu .epi > span {
			display: block;
		}
		.flame-education .text-edu .epi {
			font-weight: bold;
			display: flex;
			align-items: flex-start;
			font-size: clamp(1.4rem, 3.5vw, 2rem);
		}
		.flame-education .text-edu .epi .label {
			font-size: clamp(1.4rem, 3.5vw, 2rem);
			padding-top: clamp(2px, 0vw, 5px);
		}
		.flame-education .text-edu .epi .slash {
			font-size: clamp(2.4rem, 6vw, 3.5rem);
			font-weight: normal;
			line-height: 1.3;
			margin: 0 clamp(2px, 1vw, 4px);
		}
		.flame-education .text-edu .epi .num {
			font-size: clamp(1.5rem, 6vw, 3rem);
			padding-top: clamp(6px, 1.6vw, 10px)
		}

	.flame-education .text-edu h3 {
		/*font-size: 2.6rem;*/
		font-size: clamp(1.8rem, 4.5vw, 2.6rem);
		font-weight: bold;
		margin: 0 0 20px;
		padding: 0;
	}
	.flame-education .text-edu .aside {
		font-size: 1.6rem;
		font-weight: normal;
		margin: 25px 0 0;
		/*padding: 0;*/
	}
	.flame-education .text-edu h3::before {
		content: none;
	}

/* remodal */
.remodal-education {}
.remodal-education .remodal-ytbClose:before,
.remodal-education .remodal-ytbClose:after {
	background-color: #202050;
}
.wrapper_education {}
	.wrapper_education .box_com {
		padding: 0 10px 20px 10px;
	}
	.wrapper_education .box_com .text {}
		.wrapper_education .box_com .text h3 {
			font-size: clamp(2rem, 2vw, 2.4rem);
			position: relative;
			padding: 10px 10px 10px 0px;
			margin: 10px 0 30px;
			border-bottom: 1px solid #202050;
		}
		.wrapper_education .box_com .text h3::before {
			content: none;
		}
		.wrapper_education .box_com .text p {
			font-size: clamp(1.4rem, 1.2vw, 1.6rem);
		}
		.wrapper_education .box_com .text .epi {
			display: inline-block;
			background-color: #202050;
			color: #fff;
			padding: 5px 20px;
			border-radius: 20px;
		}
	.wrapper_education .box_com .photo {
		padding-top: 20px;
    	text-align: center;
	}
		.wrapper_education .box_com .photo img {
			border-radius: 20px;
			box-shadow: 10px 10px 10px rgba(51, 51, 51, 0.25);
		}


@media (max-width: 1200px) {
	.flame-education {
		padding: 40px 20px 0 20px;
		gap: 30px;
	}
}
@media (max-width: 768px) {

	.flame-education {
		flex-direction: column;
		gap: 0;
	}

	.flame-education .svg-frame {
		max-width: none;      /* ← これが最重要 */
		width: 100%;
		display: flex;
		flex-direction: row;
		align-items: center;
		gap: 16px;
		margin: 0;
	}
	.flame-education .svg-frame:nth-child(2) {
		margin-top: 40px;
	}
	.flame-education .svg-frame:nth-child(3) {
		margin-top: 40px;
	}
	.flame-education .svg-frame > svg {
		width: 42%;
		height: auto;
		flex-shrink: 0;
	}
	.flame-education .svg-frame > .text-edu {
		flex: 1;
		min-width: 0;
		/*width: 58%;*/
		transform: none; /* ← 削除 */
		font-size: 0.85em; /* ← これで全体縮小 */
	}
	.flame-education .svg-frame {
		display: flex;
		align-items: center;
		gap: 16px;
	}
}
@media (max-width: 480px) {
	.flame-education {
		flex-direction: column;
		gap: 30px;
	}
	.flame-education .svg-frame {
		max-width: none;
		width: 100%;
		margin: 0;
		display: flex;
		flex-direction: column;
		align-items: center;
        gap: 0;
	}
	.flame-education .svg-frame:nth-child(2) {
		margin-top: 0;
	}
	.flame-education .svg-frame:nth-child(3) {
		margin-top: 0;
	}
	.flame-education .svg-frame > svg {
		width: 100%;
		max-width: 320px;
		height: auto;
	}
	.flame-education .svg-frame > .text-edu {
		width: 100%;
		margin-top: 20px;
	}
	.flame-education .text-edu .epi {
		margin-top: 0;
	}
}


/* movie */
.movie {
	position: relative;
	/*background: linear-gradient(180deg, #f4c635 50%, #f1b533 50%);*/
	overflow: hidden;
}
	.movie .block-mida {
		color: #0000ff;
		max-width: 479px;
		width: 100%;
		z-index: 2;
	}
.slider-movie,
.slider-movie .slick-track {
	overflow: visible;
}

.flame-movie {
	position: relative;
	overflow-x: hidden; /* 横スクロールだけ */
	overflow-y: visible; /* PCは上下ズレがあるのでvisible */
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 0 25px 0;
	margin-top: -110px;
}
	/*.flame-movie {
		position: relative;
		overflow-x: hidden;
		overflow-y: visible;
		max-width: 1200px;
		margin-left: auto;
		margin-top: -120px;
		margin-right: -40px;
		padding: 0 0 25px 0;
	}*/
.flame-movie-inner {
	position: relative;
	overflow-y: visible;  /* PCは上下ズレがあるのでvisible */
	padding-top: 160px;   /* PC用 */
	padding-bottom: 20px;
	margin: 0;
	height: auto;
}
	/*.flame-movie-inner {
		position: relative;
		overflow-y: visible;
		padding-top: 160px;
		padding-bottom: 20px;
		margin-top: 0px;
		margin-bottom: -140px;
		height: 100%;
	}*/
	.slider-movie .movie-item .text h3 {
		font-size: clamp(1.8rem, 2.5vw, 2.6rem);
		font-weight: bold;
		color: #1f2a64;
		margin: 0 0 20px;
		padding: 0;
	}
		.slider-movie .movie-item .text h3::before {
			content: none;
		}

/* 表示領域 */
.orange-wrap {
	width: 100%;
	overflow: hidden;
	position: absolute;
	z-index: -1;
}
.orange-track {
	display: flex;
	width: calc((1046px + 150px) * 4);/* 2セット × 2 */
	animation: slide 30s linear infinite;
}
.orange-item {
	width: clamp(600px, 80vw, 1046px);
	margin-right: clamp(80px, 10vw, 150px);
	flex-shrink: 0;
}
.orange-item.down {
	margin-top: clamp(80px, 10vw, 150px);
}
.orange-item svg {
	width: 100%;
	height: auto;
}
@keyframes slide {
	from {
		transform: translateX(0);
	}
	to {
		transform: translateX(calc(-1 * ((1046px + 150px) * 2)));
	}
}
/* wave */
.movie .wave-wrap {
	width: 100%;
	overflow: hidden;
}
.movie .wave-scale {
	transform: scale(1);
	transform-origin: left center;
}
.movie .wave-track {
	display: flex;
	width: max-content;
	animation: waveMove2 12s linear infinite;
}
.movie .wave-svg {
	width: 497px;
	height: auto;
	flex-shrink: 0;
	display: block;
}
@keyframes waveMove2 {
	from { transform: translateX(0); }
	to   { transform: translateX(-497px); }
}
@media (max-width: 1024px) {
  .movie .wave-scale {
    transform: scale(0.85);
  }
}
@media (max-width: 768px) {
  .movie .wave-scale {
    transform: scale(0.7);
  }
}

/* slick ------------------------------ */
.slider-movie.slick-slider {
    overflow: visible;
}
.slider-movie .slick-slide img {
	display: block;
}
.slider-movie .slick-slide .img {
	position: relative;
	width: 100%;
	padding-top: 56.25%; /* 9 ÷ 16 × 100 */
	overflow: hidden;
	box-shadow: 20px 20px 20px rgba(51,51,51,0.25);
	border-radius: 20px;
}
.slider-movie .slick-slide .img img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.slider-movie .slick-slide .text {
	padding-top: 35px;
}
.slider-movie .slick-slide .text p.catch {
	font-size: clamp(1.2rem, 1.8vw, 1.6rem);
	font-weight: bold;
	margin-top: 0;
	padding-top: 0;
}
/* slick矢印を強制表示 */
.slider-movie .slick-prev,
.slider-movie .slick-next {
	position: absolute;
	width: 57px;
	height: 57px;
	background: #fff;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 20;
	cursor: pointer;
	overflow: visible;
	--scale: 1;
	transform: scale(var(--scale));
	transform-origin: center;
	transition: transform 0.25s ease;
	box-shadow: 10px 10px 10px rgba(51,51,51,0.25);
}
.slider-movie .slick-prev {
	top: 75%;
	left: 79%;
}
.slider-movie .slick-next {
	top: 75%;
	left: 85%;
}
.slider-movie .slick-prev::before,
.slider-movie .slick-next::before {
	content: '';
	width: clamp(10px, 2.5vw, 14px);
	height: clamp(10px, 2.5vw, 14px);
	border-top: clamp(3px, 0.8vw, 5px) solid #202050;
	border-right: clamp(3px, 0.8vw, 5px) solid #202050;
	display: block;
	opacity:1;
}
.slider-movie .slick-prev::before {
	transform: translateX(2px) rotate(-135deg);
}
.slider-movie .slick-next::before {
	transform: translateX(-2px) rotate(45deg)
}
.slider-movie .slick-prev:hover,
.slider-movie .slick-next:hover {
	--scale: clamp(1.1, 1.15 + 0.1vw, 1.28);
	box-shadow: 10px 10px 10px rgba(51,51,51,0.25);
}
.slider-movie .slick-slide {
	transform: none !important;
	padding: 0 20px;
}
.slider-movie .article-item {
	transition: transform 0.4s ease;
}
/* 上 */
.slider-movie .slick-slide.is-up .article-item {
	transform: translateY(0);
}
/* 下 */
.slider-movie .slick-slide.is-down .article-item {
	transform: translateY(56px);
}

/*.slider-movie .slick-prev::before,
.slider-movie .slick-next::before {
	content: '';
	width: 14px;
	height: 14px;
	border-top: 5px solid #202050;
	border-right: 5px solid #202050;
	display: block;
	opacity: 1;
}
.slider-movie .slick-prev::before {
	transform: translateX(2px) rotate(-135deg);
}
.slider-movie .slick-next::before {
	transform: translateX(-2px) rotate(45deg);
}
.slider-movie .slick-prev:hover,
.slider-movie .slick-next:hover {
	--scale: 1.28;
	box-shadow: 10px 10px 10px rgba(51,51,51,0.25);
}
.slider-movie .slick-slide {
	padding: 0 20px;
}
.slider-movie .movie-item {
	max-width: 540px;
	transition: transform 0.4s ease;
}
.slider-movie .movie-item {
	max-width: 540px;
	transition: transform 0.4s ease;
}*/
.slider-movie .img {
	position: relative;
}
.slider-movie .img a {
	display: block;
}
.slider-movie .img::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 32px;
	height: 47px;
	background: url("/contents/wp-content/themes/maintheme/images/sp/ico-movie.png") no-repeat center / contain;
	z-index: 2;
	pointer-events: none;
}
.slider-movie .slick-current .movie-item {
	margin-top: 110px;
	transition: margin 0.4s ease;
}
.slider-movie .slick-current + .slick-slide .movie-item {
	margin-top: -110px;
	transition: margin 0.4s ease;
}
.slider-movie .slick-list {
  overflow: visible;
}

@media (max-width: 768px) {
	.flame-movie {
		margin: 0;
		overflow-y: hidden; /* 縦スクロール禁止 */
	}
	.flame-movie-inner {
		padding-top: 40px;
		padding-bottom: 40px;
		margin: 0;
		overflow: visible;
	}
	/* movie-item の上下ズレ無効化 */
	.slider-movie .slick-current .movie-item,
	.slider-movie .slick-current + .slick-slide .movie-item,
	.slider-movie .movie-item {
		margin-top: 0 !important;
		transform: none !important;
	}
	.slider-movie .img {
		width: 100%;
		padding-top: 56.25%; /* 16:9 */
		overflow: hidden;
	}
	.slider-movie .img img {
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	.slider-movie .slick-list {
		overflow: visible !important;
	}
	/* SP用矢印 */
	.slider-movie .slick-prev,
	.slider-movie .slick-next {
		width: 40px;
		height: 40px;
		top: 100%;
	}
	.slider-movie .slick-prev {
		left: 80%;
		transform: translateX(-100%) scale(var(--scale));
	}
	.slider-movie .slick-next {
		left: 80%;
		transform: translateX(40%) scale(var(--scale));
	}
	/* SPではホバー無効 */
	.slider-movie .slick-prev:hover,
	.slider-movie .slick-next:hover {
		--scale: 1;
	}

}

@media (max-width: 480px) {
	.movie .contents_body-sb {
		padding-bottom: 60px;
	}
}


/* club */
.club {
	background: linear-gradient(180deg, #f4c635 50%, #f1b533 50%);
	position: relative;
}
.club::after {
	content: "";
	display: block;
	height: 200px;
}
.bg-club {
	background-color: #fff!important;
	padding-bottom: 100px;
	/*position: relative;
	z-index: 2;*/
}
	.club .contents_body-sb {
		display: grid;
		padding: 0;
	}
	.club .block-mida {
		grid-row: 1;
		grid-column: 1;
		max-width: clamp(280px, 40vw, 479px);
		width: 100%;
		z-index: 2;
	}
		.club .block-mida aside {
			padding-top: clamp(20px, 5vw, 50px);
		}


.svg-club1 {
	display: block;
	line-height: 0;
	/*max-height: 197px;*/
	margin-bottom: -1px;
}
	.svg-club1 svg {
		display: block;
	}
.photo-area {
	position: relative;
	margin: 0 auto;
	overflow: visible;
	grid-row: 1;
    grid-column: 1;
	max-width: 1400px;
	height: 100%;
	width: 100%;
}
.photo-columns {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	height: 100%;
	gap: clamp(20px, 6vw, 75px);
	max-width: clamp(320px, 90vw, 930px);
	width: 100%;
	margin-left: auto;
}
.photo-item {
	width: fit-content;
	--x: 0px;
	--y: 0px;
	--r: 0deg;
	transform: translateX(var(--x)) translateY(var(--y)) rotate(var(--r));
	transition: transform 0.4s ease;
}
.photo-item img {
  width: 100%;
  height: auto;
  display: block;
  box-shadow: 20px 20px 10px rgba(51,51,51,0.25);
}
.photo-item:nth-child(1) {
	width: clamp(70px, 22vw, 158px);
	justify-self: right;
	--x: clamp(80px, 18vw, 250px);
	--y: 0px;
	--r: 0deg;
}

.photo-item:nth-child(2) {
	width: clamp(90px, 26vw, 186px);
	justify-self: right;
	--x: clamp(-30px, -8vw, -60px);
	--y: clamp(-20px, -6vw, -40px);
	--r: 0deg;
}

.photo-item:nth-child(3) {
	width: clamp(130px, 38vw, 259px);
	justify-self: right;
	--x: clamp(20px, 8vw, 55px);
	--y: clamp(-5px, -3vw, -10px);
	--r: -5deg;
}

.photo-item:nth-child(4) {
	width: clamp(100px, 30vw, 202px);
	justify-self: center;
	--x: clamp(-25px, -6vw, -50px);
	--y: clamp(20px, 8vw, 48px);
	--r: 0deg;
}

.photo-item:nth-child(5) {
	width: clamp(150px, 42vw, 288px);
	justify-self: right;
	--x: clamp(-40px, -12vw, -90px);
	--y: clamp(20px, 8vw, 45px);
	--r: 0deg;
}

.photo-item:nth-child(6) {
	width: clamp(110px, 32vw, 221px);
	justify-self: left;
	--x: clamp(-5px, -4vw, -10px);
	--y: clamp(20px, 8vw, 40px);
	--r: 3deg;
}
.photo-item.tilt-left.is-inview {
	animation: tilt-left 0.8s ease-out forwards;
}

.photo-item.tilt-right.is-inview {
	animation: tilt-right 0.8s ease-out forwards;
}
@keyframes tilt-left {
  0%   { transform: translateX(var(--x)) translateY(var(--y)) rotate(calc(var(--r) - 8deg)); }
  60%  { transform: translateX(var(--x)) translateY(var(--y)) rotate(calc(var(--r) + 4deg)); }
  100% { transform: translateX(var(--x)) translateY(var(--y)) rotate(var(--r)); }
}

@keyframes tilt-right {
  0%   { transform: translateX(var(--x)) translateY(var(--y)) rotate(calc(var(--r) + 8deg)); }
  60%  { transform: translateX(var(--x)) translateY(var(--y)) rotate(calc(var(--r) - 4deg)); }
  100% { transform: translateX(var(--x)) translateY(var(--y)) rotate(var(--r)); }
}
@media (max-width: 1024px) {
	/*.club .contents_body-sb {
		padding-inline: clamp(20px, 5vw, 40px);
		box-sizing: border-box;
	}*/
	.club .contents_body-sb {
		padding: 0 20px;
	}
}
@media (max-width: 768px) {
	.contents_body-sb > * {
		min-width: 0;
	}
	.club .contents_body-sb {
		grid-template-columns: 1fr;
		grid-template-rows: auto auto;
	}
	.club .block-mida {
		grid-row: 1;
		grid-column: 1;
		max-width: 497px;
	}
	.photo-area {
		grid-row: 2;
		grid-column: 1;
		overflow-y: clip;
		padding: 40px 0;
	}
	.photo-columns {
		margin-left: auto;
		margin-right: auto;
	}
	.photo-item:nth-child(1) {
		--x: 40px;
	}
	.photo-item:nth-child(3) {
		--x: 0px;
	}
	.photo-item:nth-child(4) {
		--x: 5px;
	}
	.photo-item:nth-child(5) {
		--x: 0px;
	}
	.photo-item:nth-child(6) {
		--x: 0px;
	}
}
@media (max-width: 480px) {
	.photo-area {
		overflow-x: hidden;
	}
	.photo-item {
		--x: 0px;
	}
	.photo-item:nth-child(1) {
		--x: 0px;
	}
}

/* wave */
.club .wave-wrap {
	width: 100%;
	overflow: hidden;
}
.club .wave-scale {
	transform: scale(1);
	transform-origin: left center;
}
.club .wave-track {
	display: flex;
	width: max-content;
	animation: waveMove3 12s linear infinite;
}
.club .wave-svg {
	width: 497px;
	height: auto;
	flex-shrink: 0;
	display: block;
}
@keyframes waveMove3 {
	from { transform: translateX(0); }
	to   { transform: translateX(-497px); }
}
@media (max-width: 1024px) {
  .club .wave-scale {
    transform: scale(0.85);
  }
}
@media (max-width: 768px) {
  .club .wave-scale {
    transform: scale(0.7);
  }
}

/* remodal */
.remodal-club .remodal-ytbClose:before,
.remodal-club .remodal-ytbClose:after {
	background-color: #202050;
}
.wrapper_clublist {}
	.wrapper_clublist .box_clublist {

	}
	.wrapper_clublist .box_clublist .clublist {
		display: flex;
		justify-content: flex-start;
		gap: 20px 10px;
		flex-wrap: wrap;
	}
		.wrapper_clublist .box_clublist h3 {
			font-size: clamp(2rem, 2vw, 2.4rem);
			position: relative;
			padding: 10px 10px 10px 0px;
			margin: 10px 0 30px;
			border-bottom: 1px solid #202050;
		}
		.wrapper_clublist .box_clublist h3::before {
			content: none;
		}
		.wrapper_clublist .box_clublist .clublist li {
			width: calc((100% - 30px) / 4);
		}
			.wrapper_clublist .box_clublist .clublist li a {
				display: block;
				font-size: 1.4rem;
			}
			.wrapper_clublist .box_clublist .clublist li .jhs,
			.wrapper_clublist .box_clublist .clublist li .hs {
				display: inline-block;
				border-radius: 8px;
				color: #fff;
				font-size: 1.2rem;
				margin-right: 5px;
				padding: 4px 10px;
			}
			.wrapper_clublist .box_clublist .clublist li .jhs {
				background-color: #23689a;
			}
			.wrapper_clublist .box_clublist .clublist li .hs {
				background-color: #017a65;
			}
			.wrapper_clublist .box_clublist .clublist li span+span {
				margin-right: 0;
			}
@media (max-width: 768px) {
	.wrapper_clublist .box_clublist .clublist li {
		width: calc((100% - 20px) / 3);
	}
}
@media (max-width: 480px) {
	.wrapper_clublist .box_clublist .clublist li {
		width: calc((100% - 10px) / 2);
	}
}

																																																																																																																																																																																																																																			/* voice */
.voice-wrap {
	background-color: #f1b533;
	padding-bottom: 20px;
	margin-top: -130px;
}
.voice {
  margin-top: 0;
}
.voice .block-mida {
    max-width: 479px;
    width: 100%;
}
.voice .block-mida h2 {
	color: #fff;
}
	.flame-students {
		display: flex;
    	gap: clamp(30px, 5vw, 80px);
		margin-top: clamp(50px, 8vw, 100px);
		justify-content: center;
	}
	.block-card {
		position: relative;
		width: clamp(250px, 30vw, 320px);
		flex-shrink: 1;
	}
	.block-card .card-inner {
		position: relative;
		width: 100%;
		aspect-ratio: 1 / 1;
		border-radius: clamp(20px, 2vw, 40px);
		overflow: hidden;
	}
	.block-card .card-inner img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		display: block;
		border-radius: inherit;
		z-index: 1;
	}
	.block-card .card-inner::before {
		content: "";
		position: absolute;
		inset: 0;
		background: #fff;
		box-shadow: 20px 20px 10px rgba(51,51,51,0.25);
		border-radius: inherit;
		margin-top: clamp(10px, 1vw, 20px);
		z-index: -1;
	}
	.block-card .circle {
		position: absolute;
		bottom: clamp(-60px, -10vw, -60px);
		right: clamp(-30px, -3vw, -15px);
		width: clamp(140px, 12vw, 180px);
		height: clamp(140px, 12vw, 180px);
		padding: clamp(10px, 1.2vw, 20px);
		background: #005bab;
		border-radius: 50%;
		box-shadow: 20px 20px 10px rgba(51,51,51,0.25);
		color: #fff;
		display: flex;
		flex-direction: column;
		justify-content: center;
		z-index: 2;
	}
		.block-card .circle .title {
			font-size: clamp(1.3rem, 1vw, 1.6rem);
			font-weight: bold;
			text-align: center;
		}
			.block-card .circle .title p {
				max-width: 100%;
				margin-inline: auto;
				line-height: 1.45;
				margin: 0;
				font-size: clamp(1.2rem, 1vw, 1.6rem);
				padding-bottom: 10px;
			}
			.block-card .circle .title span {
				display: block;
				font-size: clamp(1.2rem, 1vw, 1.4rem);
			}
		.block-card .circle .name {
			border-top: 1px solid #fff;
			font-size: clamp(1.2rem, 1vw, 1.2rem);
			padding-top: clamp(6px, 0.8vw, 10px);
			text-align: center;
		}
			.block-card .circle .name p {
				margin-top: 0;
				font-size: clamp(10px, 1vw, 12px);
			}
/* カードの重なり */
.flame-students .block-card:nth-child(1) { top: 0; }
.flame-students .block-card:nth-child(2) { top: -70px; }
.flame-students .block-card:nth-child(3) { top: -140px; }

@media (max-width: 1200px) {
	.flame-students {
		padding-inline: clamp(16px, 4vw, 30px);
	}
}
@media (max-width: 768px) {
    .flame-students {
        flex-direction: column;
        align-items: center;
        gap: clamp(50px, 4vw, 50px);
    }
    .flame-students .block-card:nth-child(1),
    .flame-students .block-card:nth-child(2),
    .flame-students .block-card:nth-child(3) {
        top: 0;
    }
    .block-card {
        width: clamp(250px, 90%, 320px);
    }
    .block-card .circle {
        right: clamp(10px, 5vw, 20px);
        bottom: clamp(-60px, -6vw, -40px);
    }
    .block-card .card-inner img {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
}

/* remodal */
.remodal-students {}
.remodal-students .remodal-ytbClose:before,
.remodal-students .remodal-ytbClose:after {
	background-color: #202050;
}
.wrapper_students {
		padding: 0 10px 20px 10px;
}
	.wrapper_students .box_com {
		border-bottom: 1px solid #202050;
		margin-bottom: 30px;
	}
		.wrapper_students .box_com h3 {
			font-size: clamp(2rem, 2vw, 2.4rem);
			position: relative;
			padding: 10px 10px 10px 0px;
			margin: 10px 0 10px;
		}
		.wrapper_students .box_com h3::before {
			content: none;
		}
		.wrapper_students .box_com h3 span {
			display: inline-block;
			background-color: #202050;
			color: #fff;
			font-size: clamp(1.4rem, 1.2vw, 1.6rem);
			margin-right: 10px;
			padding: 5px 20px;
			border-radius: 20px;
		}
		.wrapper_students .box_com p {
			font-size: clamp(1.4rem, 1.2vw, 1.6rem);
		}
	.wrapper_students .box_text .photo {
		float: right;
		padding: 0 0 20px 20px;
	}
		.wrapper_students .box_text .photo img {
			border-top: 1px solid #ddd;
			border-left: 1px solid #ddd;
			border-radius: 20px;
			box-shadow: 10px 10px 10px rgba(51, 51, 51, 0.25);
			max-width: 300px;
		}
		.wrapper_students .box_text .photo p {
			padding: 10px 0 0 20px;
		}
@media (max-width: 768px) {
	.wrapper_students .box_com h3 span {
		display: inline-block;
		margin-right: 100%;
		margin-bottom: 5px;
		white-space: nowrap;
	}
}
@media (max-width: 480px) {
	.wrapper_students .box_text .photo {
		float: none;
		padding: 0 0 20px 0;
		text-align: center;
	}
	.wrapper_students .box_text .photo img {
		max-width: 100%;
	}
}

/* wave */
.voice .wave-wrap {
	width: 100%;
	overflow: hidden;
}
.voice .wave-scale {
	transform: scale(1);
	transform-origin: left center;
}
.voice .wave-track {
	display: flex;
	width: max-content;
	animation: waveMove4 12s linear infinite;
}
.voice .wave-svg {
	width: 497px;
	height: auto;
	flex-shrink: 0;
	display: block;
}
@keyframes waveMove4 {
	from { transform: translateX(0); }
	to   { transform: translateX(-497px); }
}
@media (max-width: 1024px) {
  .voice .wave-scale {
    transform: scale(0.85);
  }
}
@media (max-width: 768px) {
  .voice .wave-scale {
    transform: scale(0.7);
  }
}


/* question */
.question {
	
}
.question .block-mida .svg {
    max-width: 490px;
	margin: 0 auto;
}

.flame-question {
    width: 100%;
    overflow: hidden;
    position: absolute;
    opacity: 0.2;
	z-index: -1;
}
	.flame-question .circle-track {
		display: flex;
		align-items: center;
		gap: 50px;/* ← 正確に50px */
		width: max-content;
		animation: flow 60s linear infinite;
	}
	.flame-question .circle-track .circle {
		width: 708px;
		aspect-ratio: 1 / 1;/* ← 完全な正円 */
		background: url("/contents/wp-content/themes/maintheme/images/sp/img-bg-circle.png")
				  center / contain no-repeat;
		flex-shrink: 0;
	}
@keyframes flow {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

/* wave */
.question .wave-wrap {
	width: 100%;
	overflow: hidden;
}
.question .wave-scale {
	transform: scale(1);
	transform-origin: left center;
}
.question .wave-track {
	display: flex;
	width: max-content;
	animation: waveMove6 12s linear infinite;
}
.question .wave-svg {
	width: 497px;
	height: auto;
	flex-shrink: 0;
	display: block;
}
@keyframes waveMove6 {
	from { transform: translateX(0); }
	to   { transform: translateX(-497px); }
}
@media (max-width: 1024px) {
  .question .wave-scale {
    transform: scale(0.85);
  }
}
@media (max-width: 768px) {
  .question .wave-scale {
    transform: scale(0.7);
  }
}

.flame-qa {
	max-width: 900px;
	margin: 0 auto;
	color: #333;
	position: relative;
	min-height: 1px;
}
.question .block-mida {
    max-width: 479px;
    width: 100%;
	margin: 0 auto;
}
.question .block-mida h2 {
    justify-content: center;
	flex-direction: column;
}
	.question .block-mida h2 span {
		display: block;
	}
	.question .block-mida h2 span + span {
		font-size: 1.8rem;
		font-weight: normal;
		padding-left: 0px;
		display: block;
	}
.question .list-qa {
	width: clamp(320px, 90vw, 550px);
	margin: 0 auto 30px;
}
	.question .list-qa ul {
		display: flex;
	}
		.question .list-qa ul li {
			list-style: none;
			margin-top: 0;
			margin-left: 20px;
		}
@media (max-width: 768px) {
	.question .list-qa ul {
		flex-wrap: wrap;
		justify-content: center;
	}
	.question .list-qa ul li {
		margin-left: 0;     /* ← これが超重要 */
		margin: 6px 8px;    /* 余白は上下左右で管理 */
	}
}

.togglebox {
	margin-top: 0;
}
.togglebox.is-open + .togglebox.is-open {
  margin-top: 10px;
}
.togglebox__h {
	cursor: pointer;
	background-color: #fff;
	border-radius: 35px;
	box-shadow: 7px 7px 7px rgba(51,51,51,0.25);
	padding: 13px 50px 13px 20px;
	position: relative;
	font-size: clamp(1.4rem, 2vw, 1.6rem);
}
	.togglebox__h .q {
		display: flex;
		align-items:flex-start;
		align-items: center;
		position: relative;
		padding: 0;
	}
	.togglebox__h .q::before {
		content: "Q";
		background-color: #005bac;
		border-radius: 22px;
		color: #fff;
		margin-right: 15px;
		font-size: 21px;
		font-weight: bold;
		padding: 6px 14px;
	}
.togglebox__button {
	position: absolute;
	width: 18px;
	height: 18px;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
}
.togglebox__button::before,
.togglebox__button::after {
	content: '';
	position: absolute;
	left: 0;
	width: 100%;
	border: 1px solid #202050;
	top: 50%;
}
.togglebox__button::before {
	transform: translateY(-50%);
}
.togglebox__button::after {
	transform: translateY(-50%) rotate(90deg);
	transition: all .5s;
}
.togglebox.open .togglebox__button::after {
	transform: translateY(-50%) rotate(0deg);
}
.togglebox__body {
	display: none;
	padding: 20px;
}
	.togglebox__body .a {
		display: flex;
		align-items:flex-start;
		position: relative;
		padding: 4px 0;
		font-size: clamp(1.4rem, 2vw, 1.6rem);
	}
	.togglebox__body .a::before {
		content: "A";
		background-color: #ed1c24;
		border-radius: 22px;
		color: #fff;
		margin-right: 15px;
		font-size: 21px;
		font-weight: bold;
		padding: 6px 14px;
	}
.question .list-qa li {
	cursor: pointer;
	color: rgba(22,32,80,0.5);
	font-size: clamp(1.4rem, 2vw, 1.6rem);
}
.question .list-qa li.is-active {
	color: rgba(22,32,80,1);
}
.question .togglebox {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	opacity: 0;
	visibility: hidden;
	transition:
	opacity 0.5s ease,
	visibility 0s linear 0.5s;
}
.question .togglebox.is-open {
	position: relative;
	opacity: 1;
	visibility: visible;
	transition:	opacity 0.5s ease,visibility 0s;
}


																																																																																																																																																																																																																																			
/* pickup */
.pickup {
	background-color: #f1b533;
	/*padding: 70px 0;*/
}
	.pickup .block-mida h2 {
		justify-content: center;
    	flex-direction: column;
		font-size: clamp(3rem, 8vw, 7rem);
		padding-bottom: 40px;
	}
.flame-pickup {
	display: flex;
	gap: 45px;
	padding-bottom: 20px;
	width: 100%;
}
.flame-pickup .event-card {
	display: flex;
	align-items: center;
	gap: 15px;
	padding: 20px 20px;
	background: #fff;
	border-radius: 28px;
	text-decoration: none;
	box-shadow: 10px 10px 10px rgba(51,51,51,0.25);
	transition: transform .3s ease, box-shadow .3s ease;
	transform-origin: center;
	position: relative;
	overflow: hidden;
	width: calc(100% / 3);
}
.flame-pickup .event-card:hover {
	transform: scale(1.05);
	box-shadow: 14px 14px 20px rgba(51,51,51,0.3);
}
.flame-pickup .event-card:nth-child(even) {
  transform: translateY(50px);
}
.flame-pickup .event-card:nth-child(even):hover {
	transform: translateY(50px) scale(1.05);
}
.flame-pickup .event-card__image {
	width: 124px;
	height: 124px;
	flex-shrink: 0;
	border-radius: 20px;
	overflow: hidden;
}
.flame-pickup .event-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.flame-pickup .event-card__text h3 {
	font-size: 2.2rem;
	font-weight: bold;
	color: #1f2a64;
	margin: 0 0 6px;
	padding: 0;
}
.flame-pickup .event-card__text h3::before {
	content: none;
}
.flame-pickup .event-card__text p {
	font-size: 1.6rem;
	color: #202050;
	margin: 0;
}
.flame-pickup .event-card__arrow {
	position: absolute;
	right: -31px;
	top: 50%;
	transform: translateY(-50%);
	width: 62px;
	height: 62px;
	background: #005bac;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	}
.flame-pickup .event-card__arrow span {
	position: absolute;
	left: 10px;
	width: 10px;
	height: 10px;
}
.flame-pickup .event-card__arrow span::before {
	content: "";
	position: absolute;
	inset: 0;
	border-top: 3px solid #fff;
	border-right: 3px solid #fff;
	transform: rotate(45deg);
}
@media (max-width: 1024px) {
	.flame-pickup {
		flex-direction: column;
		gap: 20px;
		padding: 0 20px;
	}
	.flame-pickup .event-card {
		position: relative;  /* ←カードを基準にする */
		width: 100%;         /* カード幅いっぱい */
		display: flex;
		align-items: center;
		gap: 15px;
	}
	.flame-pickup .event-card:nth-child(even) {
		transform: none;
	}
	.flame-pickup .event-card:nth-child(even):hover {
		transform: translateY(0px) scale(1);
	}
	.flame-pickup .event-card__image {
		width: 100px;
		height: 100px;
		flex-shrink: 0;
	}
	.flame-pickup .event-card__text {
		flex: 1;
	}
	.flame-pickup .event-card__arrow {
        position: absolute;
        right: -25px;
        top: 50%;
        transform: translateY(-50%);
        width: 50px;
        height: 50px;
	}
	.flame-pickup .event-card__arrow span::before {
		border-top-width: 2px;
		border-right-width: 2px;
	}
}
@media (max-width: 768px) {
    .flame-pickup {
        gap: 30px;
    }
}



/* article */
.article {
	position: relative;
}
	.article .block-mida {
		max-width: 479px;
		width: 100%;
	}

/* wave */
.article .wave-wrap {
	width: 100%;
	overflow: hidden;
}
.article .wave-scale {
	transform: scale(1);
	transform-origin: left center;
}
.article .wave-track {
	display: flex;
	width: max-content;
	animation: waveMove7 12s linear infinite;
}
.article .wave-svg {
	width: 497px;
	height: auto;
	flex-shrink: 0;
	display: block;
}
@keyframes waveMove7 {
	from { transform: translateX(0); }
	to   { transform: translateX(-497px); }
}
@media (max-width: 1024px) {
  .article .wave-scale {
    transform: scale(0.85);
  }
}
@media (max-width: 768px) {
  .article .wave-scale {
    transform: scale(0.7);
  }
}

/* slick ------------------------------ */
.flame-article {
	max-width: 1360px;
	margin-left: auto;
	padding-bottom: 25px;
	margin-right: -40px;
}
.slider-article .slick-slide {
    padding: 0 20px;
	transform: none !important;
}
.slider-article.slick-slider {
    overflow: visible;
}
.slider-article .slick-slide img {
	display: block;
}
.slider-article .slick-slide .img {
	position: relative;
	width: 100%;
	padding-top: 56.25%; /* 9 ÷ 16 × 100 */
	overflow: hidden;
	box-shadow: 20px 20px 20px rgba(51,51,51,0.25);
	border-radius: 20px;
}

.slider-article .slick-slide .img img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.slider-article .slick-slide .text p.ymg {
	font-size: 1.4rem;
}
.slider-article .slick-slide .text p.catch {
	font-size: 1.6rem;
	font-weight: bold;
}
/* slick矢印を強制表示 */
.slider-article .slick-prev,
.slider-article .slick-next {
	position: absolute;
	width: 57px;
	height: 57px;
	background: #fff;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 20;
	cursor: pointer;
	overflow: visible;
	--scale: 1;
	transform: scale(var(--scale));
	transform-origin: center;
	transition: transform 0.3s ease;
	box-shadow: 10px 10px 10px rgba(51,51,51,0.25);
}
.slider-article .slick-prev {
	top: -135px;
	left: 79%;
}
.slider-article .slick-next {
	top: -135px;
	left: 85%;
}
.slider-article .slick-prev::before,
.slider-article .slick-next::before {
	content: '';
	width: clamp(10px, 2.5vw, 14px);
	height: clamp(10px, 2.5vw, 14px);
	border-top: clamp(3px, 0.8vw, 5px) solid #202050;
	border-right: clamp(3px, 0.8vw, 5px) solid #202050;
	display: block;
	opacity:1;
}
.slider-article .slick-prev::before {
	transform: translateX(2px) rotate(-135deg);
}
.slider-article .slick-next::before {
	transform: translateX(-2px) rotate(45deg)
}
.slider-article .slick-prev:hover,
.slider-article .slick-next:hover {
	--scale: clamp(1.1, 1.15 + 0.1vw, 1.28);
	box-shadow: 10px 10px 10px rgba(51,51,51,0.25);
}
.slider-article .slick-slide {
	transform: none !important;
}
.slider-article .article-item {
	transition: transform 0.4s ease;
}
	.slider-article .article-item a {
		color: #202050;
	}
/* 上 */
.slider-article .slick-slide.is-up .article-item {
	transform: translateY(0);
}
/* 下 */
.slider-article .slick-slide.is-down .article-item {
	transform: translateY(56px);
}
.slider-article .slick-list {
    overflow: hidden;
    padding-bottom: 70px;
}
/*.slider-article.slick-slider,
.slider-article .slick-list,
.slider-article .slick-track {
    overflow-y: visible;
}*/

@media (max-width: 1024px) {
	.slider-article .slick-prev {
		left: 77%;
	}
}
@media (max-width: 768px) {

	.slider-article .slick-prev,
	.slider-article .slick-next {
		width: 40px;
		height: 40px;
		top: -55px;
	}
	.slider-article .slick-prev,
	.slider-article .slick-next {
		left: 80%;
	}
	.slider-article .slick-prev {
		transform: translateX(-100%) scale(var(--scale));
	}
	.slider-article .slick-next {
		transform: translateX(40%) scale(var(--scale));
	}
	/* SPでは hover 無効 */
	.slider-article .slick-prev:hover,
	.slider-article .slick-next:hover {
		--scale: 1;
	}
	.slider-article .slick-list {
		padding-bottom: 0;
	}
}




/* footer ------------------------------ */
.support_jhs_student_exam footer {
	border-radius: 120px 120px 0 0;
	background: #fff;
}
.support_jhs_student_exam .footer-inner {
	display: block;
}

.support_jhs_student_exam .footer-inner #logo {
    max-width: 390px;
	margin: 0 auto 30px auto;
}

footer .page-top {
	position: fixed;
	right: 20px;
	bottom: 20px;

	display: none;

	flex-direction: column;
	align-items: center;
	justify-content: center;

	width: 60px;
	height: 60px;

	background: #202050;
	color: #fff;
	text-decoration: none;
	border-radius: 50%;
	font-size: 1.2rem;
	z-index: 999;
}
@media (max-width: 768px) {
	.support_jhs_student_exam .footer-inner #logo {
		max-width: clamp(220px, 70vw, 320px);
		margin-bottom: 20px;
	}
}


/* buttom ------------------------------ */
.button-page {
    display: flex;
    justify-content: center;
    align-items: center;
    max-width: 300px;
    margin: 0 auto;
    border: 1px solid #202050;
    border-radius: 30px;
    background-color: #fff;
	padding: 0 30px;
}
.button-page a {
	display: flex;
	align-items: center;
	color: #202050;
	padding: 18px 0;
	text-decoration: none;
}
.button-page a::after {
	content: "";
	display: inline-block;
	width: 20px;
	height: 20px;
	margin-left: 10px;
	background-image: url(/contents/wp-content/themes/maintheme/images/sp/ico-pagelink.png);
	background-size: contain;
	background-repeat: no-repeat;
	transition: background-image 0.2s ease;
}
.button-page:hover {
	background-color: #202050;
}
.button-page:hover a {
	color: #fff;
}
.button-page:hover a::after {
	background-image: url(/contents/wp-content/themes/maintheme/images/sp/ico-pagelink-hover.png);
}

.button-common {
	max-width: 1200px;
	margin: 0 auto;
}
.button-common.right {
	text-align: right;
}
.button-common.left {
	text-align: left;
}
.more-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 240px;
	height: 56px;
	padding: 0 24px;
	background-color: #1f2259;
	border-radius: 9999px;
	color: #fff;
	text-decoration: none;
	font-size: 18px;
	letter-spacing: 0.05em;
	transition: background-color 0.3s ease;
	box-shadow: 10px 10px 10px rgba(51, 51, 51, 0.25);
}
.more-button:hover {
	background-color: #2a2f7a;
}
.more-button .label {
	margin-right: 16px;
}

.more-button .slider {
	position: relative;
	width: 80px;
	height: 1px;
	background-color: #fff;
}

.more-button .dot {
	position: absolute;
	top: 50%;
	left: 0;
	width: 12px;
	height: 12px;
	background-color: #fff;
	border-radius: 50%;
	transform: translate(0, -50%);
	transition: transform 0.3s ease;
}
.more-button:hover .dot {
	transform: translate(68px, -50%);
}


/* decoration ------------------------------ */
.deco-fv {
  position: absolute;
  /*bottom: -150px;*/
  bottom: -135px;
  right: 0;
  width: clamp(280px, 40vw, 400px);
  transform-origin: bottom right;
}

/*.deco-fv {
	position: absolute;
	bottom: -150px;
	right: 0;
	transform-origin: bottom right;
}*/

	.deco-fv .fv1 {
		/*padding: 0 100px 0 0;*/
		padding: 0 clamp(24px, 8vw, 100px) 0 0;
		margin-bottom: -15px;
		text-align: end;
	}
		.deco-fv .fv1 .spin {
			width: 50px;
			height: 50px;
			animation: spin 5s cubic-bezier(.6, 0, .4, 1) infinite;
			transform-origin: 50% 50%;
		}
		@keyframes spin {
			from {
				transform: rotate(0deg);
			}
			to {
				/* 1周以上回すと滑らか */
				transform: rotate(720deg);
			}
		}
	.deco-fv .fv2 {
		
	}
	.deco-fv .fv3 {
		/*padding-top: 15px;*/
		margin-top: -15px;
	}
.deco-svg-fv1 {
	fill: none;
	stroke: #fff;
	stroke-width: 6px;
	stroke-miterlimit: 10;
}
.deco-svg-fv2 {
}
.deco-svg-fv3 {
	fill: none;
	stroke: #7638fa;
	stroke-miterlimit: 10;
	stroke-width: 5px;
}
@media (max-width: 1024px) {
	.deco-fv {
		transform: scale(0.85);
	}
}

@media (max-width: 768px) {
	.deco-fv {
		transform: scale(0.7);
	}
}

@media (max-width: 376px) {
	.deco-fv {
		transform: scale(0.6);
	}
}


/* wave */
.wave-wrap {
  width: 100%;
  overflow: hidden;
}
.wave-track {
  display: flex;
  width: 200%;
  animation: waveMove 12s linear infinite;
  /* will-change: transform; */
}
.wave-svg {
  width: 50%;
  display: block;
  /* iOS Safari必須 */
  transform-box: fill-box;
  transform-origin: center;
}
@keyframes waveMove {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}


.deco-movie {
	position: absolute;
	width: 65px;
	height: 65px;
	right: 120px;
	top: 30px;
	transition: transform 0.3s ease;
}
.deco-movie .svg {
  position: absolute;
  inset: 0;
  overflow: visible;
}
.deco-movie .svg2 {
  z-index: 1;
}
.deco-movie .svg1 {
  z-index: 2;
  transform: translate(10px, 20px);
}
.deco-movie .path-main {
  /*fill: none;
  stroke: #7638fa;
  stroke-width: 4;*/
	fill: none;
	stroke: #a459ff;
	stroke-miterlimit: 10;
	stroke-width: 4px;
}
.deco-movie .path-main2 {
	fill: #005bac;
}
.deco-movie .svg2-group {
	transform-box: fill-box;
	transform-origin: center;
	animation: scaleDownA 4s ease-in-out infinite;
}
.deco-movie .svg1-group {
	transform-box: fill-box;
	transform-origin: center;
	animation: scaleDownB 4s ease-in-out infinite;
}
@keyframes scaleDownA {
	0%   { transform: scale(1); }
	25%  { transform: scale(0.9); }
	50%  { transform: scale(1); }
	100% { transform: scale(1); }
}
@keyframes scaleDownB {
	0%   { transform: scale(1); }
	50%  { transform: scale(1); }
	75%  { transform: scale(0.9); }
	100% { transform: scale(1); }
}
@media (max-width: 1024px) {
	.deco-movie {
		transform: scale(0.85);
	}
}
@media (max-width: 768px) {
	.deco-movie {
		right: 30px;
		transform: scale(0.7);
	}
}
@media (max-width: 376px) {
	.deco-movie {
		top: 0;
		right: 30px;
		transform: scale(0.6);
	}
}

.flame-club-wrap {
	position: absolute;
	top: 0;
	left: 50%;
	width: 100vw;
	height: 100%;
	transform: translateX(-50%);
	overflow: hidden;
	pointer-events: none;
	z-index: 0;
}
.flame-club-scale {
	position: absolute;
	inset: 0;
	width: 100vw;
}
.flame-club {
	position: absolute;
	top: 0;
	left: 50%;
	width: 100vw;
	height: 100%;
	transform: translateX(-50%);
}
.flame-club .deco-club1 {
	position: absolute;
	bottom: 450px;
	left: -140px;
}
.flame-club .deco-club1 .bg-shape {
	width: 370px;
	height: auto;
	max-width: 100%;
	/*position: absolute;
	bottom: -170px;*/
}
.flame-club .deco-club1 .st0-club {
  fill: none;
}
.flame-club .deco-club1 .dot-club {
  fill: #ff0069;
}
.flame-club .deco-club1 .shape-bg {
  fill: url(#pattern-club1);
}
.flame-club .deco-club1 .shape-main {
  fill: #ed1e79;
}

.flame-club .deco-club2 {
	position: absolute;
	right: 480px;
	top: 180px;
	z-index: 2;
}
.flame-club .deco-club2 .wave-svg {
	width: 232px;
	height: auto;
	max-width: 100%;
}
.flame-club .deco-club2 .wave-line {
	fill: none;
	stroke: #f797b0;
	stroke-width: 4px;
	stroke-miterlimit: 10;
}

.flame-club .deco-club3 {
	position: absolute;
	bottom: 285px;
	left: -168px;
}
.flame-club .deco-club3 .line-svg {
	width: 337px;
	height: auto;
	max-width: 100%;
}
.flame-club .deco-club3 .diagonal-line {
	fill: none;
	stroke: #d9e021;
	stroke-width: 26px;
	stroke-miterlimit: 10;
}

.flame-club .deco-club4 {
	position: absolute;
	top: 510px;
	right: -345px;
}
.flame-club .deco-club4 .shape-svg {
	width: 456px;
	height: auto;
	max-width: 100%;
}
.flame-club .deco-club4 .shape-fill {
	fill: #6fb92c;
}

.flame-club .deco-club5 {
	position: absolute;
	bottom: 490px;
	right: -190px;
}
.flame-club .deco-club5 .line-svg {
	width: 323px;
	height: auto;
	max-width: 100%;
}
.flame-club .deco-club5 .diagonal-line {
	fill: none;
	stroke: #7638fa;
	stroke-width: 7px;
	stroke-miterlimit: 10;
}

.flame-club .deco-club6 {
	position: absolute;
	bottom: 130px;
	right: -190px;
}
.flame-club .deco-club6 .circle-svg {
	width: 397px;
	height: auto;
	max-width: 100%;
}
.flame-club .deco-club6 .circle-shape {
	fill: #005bac;
}
@media (max-width: 768px) {
	.flame-club-scale {
		transform: none;
	}
}
@media (max-width: 480px) {
	/*.flame-club-scale {
		transform: scale(0.5) translateY(-120px);
	}*/
	.flame-club .deco-club1 {
		bottom: clamp(450px, 35vw, 450px);
		left: clamp(-70px, -12vw, -140px);
	}
		.flame-club .deco-club1 .bg-shape {
			width: clamp(185px, 45vw, 370px);
		}
	.flame-club .deco-club2 {
		top: clamp(410px, 20vw, 180px);
        right: clamp(300px, 25vw, 480px);
	}
		.flame-club .deco-club2 .wave-svg {
			width: clamp(116px, 30vw, 232px);
		}
	.flame-club .deco-club3 {
		bottom: clamp(285px, 35vw, 285px);
		left: clamp(-84px, -20vw, -168px);
	}
		.flame-club .deco-club3 .line-svg {
			width: clamp(169px, 50vw, 337px);
		}
	.flame-club .deco-club4 {
		top: clamp(510px, 45vw, 510px);
		right: clamp(-122px, -25vw, -345px);
	}
		.flame-club .deco-club4 .shape-svg {
			width: clamp(226px, 55vw, 456px);
		}
	.flame-club .deco-club5 {
		bottom: clamp(360px, 40vw, 490px);
		right: clamp(-80px, -18vw, -190px);
	}
		.flame-club .deco-club5 .line-svg {
			width: clamp(160px, 45vw, 323px);
		}
	.flame-club .deco-club6 {
		bottom: clamp(160px, 12vw, 130px);
		right: clamp(-80px, -18vw, -190px);
	}
		.flame-club .deco-club6 .circle-svg {
			width: clamp(180px, 50vw, 397px);
		}
}



.deco-article {
	position: absolute;
	top: 0;
	left: 0;
	overflow-y: visible;
	width: 100%;
	z-index: -5;
}
.deco-article .svg-article1 {
	width: auto;
	margin-left: -70px;
}
.deco-article .svg-article1 svg {
	width: 590px;
	height: 895px;
	display: block;
}
.deco-article .svg-article1 .ac0 { fill: none; }
.deco-article .svg-article1 .ac2 { fill: #c1da80; }
.deco-article .svg-article1 .ac1 { fill: url(#article-pattern1); }

.deco-article .svg-article2 {
	position: absolute;
	bottom: 130px;
	left: 130px;
	width: 112px;
	height: 112px;
	/*z-index: -3;*/
	z-index: 0;
}
.deco-article .svg-article2 svg {
  width: 100%;
  height: 100%;
}
.deco-article .svg-article2 .svg-scale {
  transform-box: fill-box;
  transform-origin: center;
  animation: scaleLoop 4s ease-in-out infinite;
}
@keyframes scaleLoop {
  0%   { transform: scale(1); }
  25%  { transform: scale(0.9); }
  50%  { transform: scale(1); }
  100% { transform: scale(1); }
}
.deco-article .path-ac1 {
  fill: #005bac;
}

.deco-article .svg-article3 {
	position: absolute;
	top: 170px;
	right: -120px;
	width: 244px;
	height: 244px;
	z-index: -2;
}
.deco-article .svg-article3 svg {
  width: 100%;
  height: 100%;
}
.deco-article .svg-article3 .path-ac2 {
  fill: #ff1d25;
}
.deco-article .svg-article3 .svg-scale {
  transform-box: fill-box;
  transform-origin: center;
  animation: scaleLoop2 4s ease-in-out infinite;
}
/*@keyframes scaleLoop2 {
  0%   { transform: scale(1); }
  25%  { transform: scale(0.9); }
  50%  { transform: scale(1); }
  100% { transform: scale(1); }
}*/

.deco-article .svg-article4 {
	position: absolute;
	top: 60px;
	right: 20px;
	width: 345px;
	height: 113px;
	z-index: -1;
}

.deco-article .svg-article4 svg {
	width: 100%;
	height: 100%;
}

/* 線のスタイル */
.deco-article .svg-article4 .path-ac3 {
	fill: none;
	stroke: #d9e021;
	stroke-miterlimit: 10;
	stroke-width: 26px;
}

/* 回転アニメーション */
.deco-article .svg-article4 .svg-rotate {
	transform-box: fill-box;
	transform-origin: center;
	animation: tiltLoop 4s ease-in-out infinite;
}
/* 15度くらい傾ける */
@keyframes tiltLoop {
	0%   { transform: rotate(0deg); }
	25%  { transform: rotate(15deg); }
	50%  { transform: rotate(0deg); }
	100% { transform: rotate(0deg); }
}
@media (max-width: 1024px) {
	.flame-article {
		margin-right: 0px;
	}
}
@media (max-width: 768px) {
	.deco-article .svg-article1 {
		margin-left: -8vw;
	}
	.deco-article .svg-article1 svg {
		width: 70vw;
		height: auto;
	}
	.deco-article .svg-article2 {
		width: 18vw;
		height: 18vw;
		bottom: 0vw;
		left: 10vw;
	}
	.deco-article .svg-article3 {
		width: 30vw;
		height: 30vw;
		top: 30vw;
		right: -12vw;
	}
	.deco-article .svg-article4 {
		width: 40vw;
		height: auto;
		top: 15vw;
		right: 0;
	}
}
@media (max-width: 376px) {
	.deco-article .svg-article2 {
		bottom: -40vw;
	}
}



/* etc ------------------------------ */
.sns {
	padding: 30px 0 35px 0;
}
	.sns ul {
		display: flex;
		justify-content: center;
		align-items: center;
	}
		.sns ul li {
			padding: 0 20px;
		}
		.sns ul li a {
			display: block;
		}

.support_jhs_student_exam .copy {
	color: #202050;
	padding-bottom: 25px;
}

.space-mb50 {
	margin-bottom: 50px!important;
}
.space-pt0 {
	padding-top: 0px!important;
}
.space-pt40 {
	padding-top: 40px!important;
}
.space-pt50 {
	padding-top: 50px!important;
}
.space-pt70 {
	padding-top: 70px!important;
}
.space-pt140 {
	padding-top: 140px!important;
}
.space-pb0 {
	padding-bottom: 0px!important;
}
.space-pb20 {
	padding-bottom: 20px!important;
}
.space-pb50 {
	padding-bottom: 50px!important;
}
.space-pb70 {
	padding-bottom: 70px!important;
}
.space-pb120 {
	padding-bottom: 120px!important;
}
.st0 {
	fill: #ffffff;
}
.st1 {
	fill: #f1b533;
}