@charset "UTF-8";

/* Base
----------------------------------------------- */
:root {
	--main-color: #FFED12;
	--sub-color: #E9546B;
	--font-color: #000000;
	--white: #ffffff;
	--black: #000000;
	--bg-primary-color: #eeeeee;
	--bg-secondary-color: #F8F8F8;
	--bg-tertiary-color: #F8F8F8;
	--bg-header-color: #F4FAFC;
	--primary-font-set: 'Noto Sans JP', sans-serif;
	--serif-font-set: 'Noto Serif JP', serif;
	--en-font-set: "urw-din", sans-serif;
	--font-weight-Regular: 400;
	--font-weight-Medium: 500;
	--font-weight-SemiBold: 600;
	--font-weight-Bold: 700;
	--font-weight-Black: 900;
}

html {
	min-width: 320px;
	font-size: 62.5%;
}

html,
body {
	overflow-x: hidden;
}

body {
	margin: 0;
	line-height: 1.6;
	letter-spacing: 0.07em;
	color: var(--font-color);
	font-size: 3.733vw;
	font-family: var(--primary-font-set);
	font-weight: var(--font-weight-Medium);
	width: 100%;
	font-feature-settings: "palt";
}

img,
video {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}

a:link,
a:visited {
	color: var(--font-color);
}

a:hover,
a:focus,
a:active {
	text-decoration: none;
}

p {
	text-align: justify;
}

strong {
	font-weight: var(--font-weight-Bold);
}

.youtube {
	width: 100%;
	aspect-ratio: 16 / 9;
}

.youtube iframe {
	width: 100%;
	height: 100%;
}

/*clearfix*/

.clearfix:after {
	content: "";
	display: block;
	clear: both;
}

.clearfix {
	zoom: 1;
}



/* header
----------------------------------------------- */


.l-header {
	z-index: 8000;
}

.l-header__inner {
	width: 100%;
	padding: 0;
	height: 100svh;
	position: relative;
	/* padding-top: 5.33vw; */
	padding-top: 5.33vw;
}

.l-header a {
	text-decoration: none;
}

.l-header_sns {
	margin-right: 5.33vw;
	margin-bottom: 2vh;
	display: flex;
	gap: 1.5em;
	justify-content: flex-end;

	img {
		width: 5.33vw;
	}
}

.l-header__logo {
	text-align: center;

	p {
		font-size: 3.2vw;
		text-align: center;
		margin-bottom: 4vh;
	}

	h1 {
		font-weight: var(--font-weight-Bold);
		font-size: 4.8vw;
		margin-bottom: 4vh;
	}

	img {
		margin-bottom: 4vh;
	}
}

.l-header__logo img {
	width: 74.66vw;
}

.l-header_date {
	width: 100%;
	text-align: center;
	position: absolute;
	bottom: 2vw;

	img {
		width: 74.66vw;
	}
}

/* navigation
----------------------------------------------- */

.l-header_nav_sp.fixed {
	position: fixed !important;
	top: 0;
	width: 31.46vw;
	height: 16.533vw;
}


.l-header_nav_pc {
	display: none;
}

.l-header_nav_sp {
	position: fixed;
	bottom: 0;
	right: 0;
	width: 31.46vw;
	height: 16.533vw;
	background: var(--black);
	z-index: 9000;

	p {
		color: var(--white);
	}
}

.l-header_nav_sp li {
	list-style: none;
}


.c-menu_wrap {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-family: var(--en-font-set);
	font-weight: var(--font-weight-SemiBold);
	font-size: 3.733vw;


	p {
		margin-right: 1em;
	}
}

.openbtn {
	width: 16vw;
	height: 16vw;
	cursor: pointer;
	z-index: 9999;
}

.openbtn span {
	display: inline-block;
	transition: all .4s;
	position: absolute;
	left: 6vw;
	height: 0.533vw;
	background-color: var(--white);
}

.openbtn span:nth-of-type(1) {
	top: 6.95vw;
	width: 22%;
}

.openbtn span:nth-of-type(2) {
	top: 8.8vw;
	width: 22%;
}

.openbtn.active {}

.openbtn.active span:nth-of-type(1) {
	top: 6.4vw;
	left: 5.333vw;
	transform: translateY(1.6vw) rotate(-45deg);
	width: 25%;
	background-color: var(--white);
}

.openbtn.active span:nth-of-type(2) {
	top: 9.6vw;
	left: 5.333vw;
	transform: translateY(-1.6vw) rotate(45deg);
	width: 25%;
	background-color: var(--white);

}



.l-header_nav_wrap_sp {
	visibility: hidden;
	opacity: 0;
	position: fixed;
	background: var(--white);
	width: 100%;
	height: 100vh;
	padding: 0 20px 40px;
	top: 0;
	left: 0;
	transition: all 0.3s;
	overflow-y: auto;
	z-index: 8000;

	ul {
		margin: 0;

		li {
			list-style: none;
			margin-bottom: 1.5em;
		}

		a {
			font-size: 6.933vw;
			font-family: var(--en-font-set);
			font-weight: var(--font-weight-SemiBold);
		}
	}

}

.l-header_nav_wrap_sp.panelactive {
	visibility: visible;
	opacity: 1;
	z-index: 8000;

}

.l-header__logo_nav {
	width: 24vw;
	margin-top: 8vw;
}

.l-header_nav_sp_list {
	padding: 0;

	li {
		text-align: center;
		border-bottom: 1px solid var(--white);
	}

	li:last-child {
		border-bottom: none;
	}

	a {

		display: block;
		line-height: 18.66vw;
	}
}

/* pamphlet
----------------------------------------------- */
.c-pamph {
	padding-top: 8vw;
}

.c-pamph_img {
	width: 48vw;
	margin: 0 auto 6.66vw;
}

.c-pamph_txt {
	border-top: 2px solid #000;
	padding-top: 6.66vw;

	h2 {
		font-size: 5.866vw;
		font-weight: bold;
		margin-bottom: 5.33vw;
		text-align: center;

		span {
			font-size: 3.733vw;
			display: block;
			margin-bottom: 5.33vw;
		}

	}

	a {
		display: block;
		width: 64vw;
		margin: 0 auto;
	}
}

/* youtube
----------------------------------------------- */

.c-youtube {
	max-width: 84vw;
	margin: 0 auto;
	padding: 16vw 0 0;


	.c-youtube_box {
		position: relative;

		&:after {
			content: "";
			display: block;
			position: absolute;
			top: 2.66vw;
			left: 2.66vw;
			width: 100%;
			height: 100%;
			background: linear-gradient(to right, #fefe19 0%, #027fff 100%);
			z-index: -1;
		}
	}

}


/* note
----------------------------------------------- */

.swiper-contents {
	position: relative;
}

.swiper-container {
	width: 100%;
	max-width: 1440px;
	margin: 0 auto 10px;
}

@media only screen and (max-width: 520px) {
	.swiper-container {
		width: 90%;
	}
}


.swiper-slide {
	text-align: center;
	font-size: 16px;
	background: #fff;
	border-radius: 10px;
	padding: 10px;

	a {
		text-decoration: none;
	}

	a:hover {
		opacity: 0.7;
	}
}

.swiper-slide img {
	width: 100%;
	height: auto;
	max-height: 200px;
	object-fit: cover;
}

.swiper-slide p {
	margin-top: 10px;
	font-weight: bold;
}

.swiper-button-prev {
	left: -3% !important;
}

.swiper-button-next {
	right: -3% !important;
}

.swiper-pagination {
	position: static !important;
}

/* program
----------------------------------------------- */

.c-program_date {
	font-family: var(--en-font-set);
	font-weight: var(--font-weight-SemiBold);
	font-size: 5.866vw;
	letter-spacing: -0.01em;
	line-height: 1.4;
	border-image: linear-gradient(to right, #fefe19 0%, #027fff 100%) 1;
	border-top: 4px solid;
	padding-top: 2.66vw;
	width: 31vw;

	p {
		font-size: 10.133vw;
		font-weight: var(--font-weight-Bold);

		span {
			font-size: 5.33vw;
		}
	}
}

.c-program_text {
	h2 {
		font-size: 5.866vw;
	}

	h3 {
		font-size: 4.8vw;

		span {
			font-size: 3.733vw;
			font-weight: var(--font-weight-Medium);
		}
	}
}

.c-program_category {
	list-style: none;
	padding: 5px 0 0 0;
}

.c-program_category li {
	color: var(white);
	background: var(--main-color);
	display: inline-block;
	border-radius: 20px;
	padding: 0 1.3em;
	font-size: 3.2vw;
	margin-right: 0.2em;
	line-height: 1.6;

}

.c-program_photo {
	width: 48vw;
	padding-top: 1.33vw;
}

.c-program_add {
	background: var(--bg-secondary-color);
	padding: 8vw 5.33vw;
	border-radius: 10px;
	font-size: 3.733vw;
}

/* teachers
----------------------------------------------- */
.c-teachers_wrap {}

.c-teachers_box {
	img {
		display: block;
		margin-bottom: 5.33vw;
		width: 48vw;
	}

	h2 {
		font-size: 4.8vw;
		margin-bottom: 3.2vw;

		span {
			font-size: 3.733vw;
			font-weight: var(--font-weight-Medium);
			display: block;
			padding-top: 1em;
		}
	}
}

/* summary
----------------------------------------------- */

.c-summary_wrap {
	background: var(--white);
	padding: 2.66vw 5.33vw;
}

/* entry
----------------------------------------------- */



.c-button_line a {
	padding: 30px;
	text-align: center;
	overflow: hidden;
	display: block;
	position: relative;
	z-index: 1;
	text-decoration: none;
	width: 100%;
	height: 24vw;
	margin-inline: auto;
	display: flex;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;

	span {
		font-family: var(--en-font-set);
		font-weight: var(--font-weight-SemiBold);
		font-size: 6.4vw;
		line-height: 1.4;

		span {
			display: block;
			font-family: var(--primary-font-set);
			font-size: 2.66vw;
		}
	}
}

.c-button_line a::after {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: -2;
	content: "";
	background: #eeeeee;
}

.c-entry_btn a {
	color: var(--white);
	border: none;
}


.c-entry_btn a::after {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: -2;
	content: "";
	background: linear-gradient(to right, #fefe19 0%, #027fff 100%);
}

.c-caution {
	font-size: 3.733vw;
	color: #c00;
	font-weight: var(--font-weight-SemiBold);

	span {
		font-size: 2.66vw;
		line-height: 1.4;
		margin-top: 0.5em;
		display: block;
	}
}


/* layout
----------------------------------------------- */

.pc_display {
	display: none;
}

.pc_display02 {
	display: none;
}

.c-block {
	display: block !important;
	margin: 0 !important;
}

.c-center {
	text-align: center !important;
}

.c-left {
	text-align: left !important;
}

.c-right {
	text-align: right !important;
}

.sp_mb00 {
	margin-bottom: 0 !important;
}

.sp_mb10 {
	margin-bottom: 2.66vw !important
}

.sp_mb20 {
	margin-bottom: 5.33vw !important;
}

.sp_mb30 {
	margin-bottom: 8vw !important;
}

.sp_mb40 {
	margin-bottom: 10.66vw !important;
}

.sp_mb50 {
	margin-bottom: 13.33vw !important;
}

.sp_mb60 {
	margin-bottom: 16vw !important;
}

.sp_mb70 {
	margin-bottom: 18.66vw !important;
}

.sp_mb80 {
	margin-bottom: 21.33vw !important;
}

.sp_mb90 {
	margin-bottom: 24vw !important;
}

.sp_mb100 {
	margin-bottom: 26.66vw !important;
}

.sp_mb110 {
	margin-bottom: 29.33vw !important;
}

.sp_mb120 {
	margin-bottom: 32vw !important;
}



/* コンテナ */
.l-lower {
	padding-top: 10.66vw;
}

.l-container {
	padding: 4vw 20px 0;
	margin-bottom: 20vw;
}

.l-inner {
	width: 100%;
}

.l-container_gray {
	background: var(--bg-primary-color);
	padding: 21.33vw 20px;
}



/* 見出し */
.c-title--head {
	font-size: 9.6vw;
	font-family: var(--en-font-set);
	font-weight: var(--font-weight-SemiBold);
	line-height: 1.2;
}

.c-title--head__sub {
	font-size: 8vw;
	font-family: var(--en-font-set);
	line-height: 1.2;
}


.c-caption {
	font-size: 2.66vw !important;
}

.c-tiny_text {
	font-size: 3.2vw;
}

.c-text {
	line-height: 1.8;
	margin-bottom: 1em;
}









/* footer
----------------------------------------------- */
footer {
	background-color: var(--white);
}

.l-footer_inner {
	padding: 12vw 20px 24vw;
}

.c-footer_logo {
	text-align: center;

	img {
		width: 42.66vw;
	}
}


.c-footer_sns {
	display: flex;
	gap: 2em;
	justify-content: center;

	img {
		width: 8vw;
	}
}

.c-copyright {
	text-decoration: none;
	display: block;
	text-align: center;
	font-size: 2.66vw;
}



/* table
----------------------------------------------- */


.l-table {
	width: 100%;
	border-collapse: collapse;
}

.l-table th,
.l-table td {
	border-bottom: 3px solid #E3E3E3;
	padding: 1em 0;
	box-sizing: border-box;
	text-align: left;
	vertical-align: middle;
}

.l-table th {
	width: 7em;
}


.l-table tr:last-child td {
	border-bottom: none;
}

.l-schedule {
	border-collapse: separate;
	border-spacing: 0 6px;
}

.l-schedule th,
.l-schedule td {
	border: 6px solid #eeeeee;
	padding: 0.5em 1em;
	vertical-align: middle;
}


.l-schedule th {
	text-align: center;
	line-height: 1.2;
}

.l-schedule td {
	background: var(--bg-primary-color);
}





.l-schedule th {
	width: 8em;
	padding: 0.2em 1em 0.8em 1em;

	span {
		font-family: var(--en-font-set);
		font-size: 10.66vw;
		display: block;
	}
}

.l-schedule td {
	font-family: var(--en-font-set);
	font-weight: var(--font-weight-Bold);
	font-size: 5.33vw;
	padding: 0.5em 1em;
	line-height: 1.4;

	span {
		font-size: 3.733vw;
	}

	p {
		font-size: 3.733vw;
		font-weight: var(--font-weight-Medium);
		font-family: var(--primary-font-set);
		display: inline-block;
	}



}



/*プライバシーポリシー*/
.c-ol {
	padding-left: 1em;
}

.c-ol li {
	padding-left: 1em;
	margin-bottom: 1em;
}

.c-ol li strong {
	display: block;
	color: #1C1C1C;
}

.c-ul {
	padding-left: 1em;
	padding-top: 1em;
}

.c-ul li {
	padding-left: 1em;
	margin-bottom: 1em;
}

.c-ul li strong {
	display: block;
	color: #1C1C1C;
}

.c-privacy_box {
	background: #F4FAFC;
	padding: 1em 2em;
	line-height: 2;
	margin-bottom: 1em;
}

.c-privacy_box+p {
	margin-bottom: 4em;
}

.c-privacy_end {
	text-align: right;
	margin-top: 4em;
}


@media only screen and (min-width: 520px) {



	/* header
	----------------------------------------------- */




	/* navigation
	----------------------------------------------- */


	/* mv
	----------------------------------------------- */
	.swiper_mv {
		position: relative;
		margin-bottom: 60px;
	}

	.swiper-pagination-bullet {
		width: 10px;
		height: 10px;
	}

	.swiper-pagination-bullet {
		margin: 0 5px !important;
	}





}

@media only screen and (min-width: 950px) {
	/* base
	----------------------------------------------- */

	body {
		font-size: 1.6rem;
	}


	.col1 {
		width: 5.9829%;
	}

	.col2 {
		width: 14.5299%;
	}

	.col3 {
		width: 23.0769%;
	}

	.col4 {
		width: 31.6239%;
	}

	.col5 {
		width: 40.1709%;
	}

	.col6 {
		width: 48.7179%;
	}

	.col7 {
		width: 57.2649%;
	}

	.col8 {
		width: 65.8119%;
	}

	.col9 {
		width: 74.3589%;
	}

	.col10 {
		width: 82.9059%;
	}

	.col11 {
		width: 91.4529%;
	}

	.col12 {
		width: 100%;
	}

	.row {
		display: flex;
		justify-content: space-between;
		gap: 2.5641%;
	}

	.c-layout_cg {
		flex-direction: row-reverse;
	}

	.c-txt {
		display: inline-block;
	}

	.c-marker {
		position: relative;
		z-index: 1;

	}

	.c-marker::before {
		background: #fefe19;
		content: "";
		display: block;
		width: 100%;
		height: 100%;
		position: absolute;
		left: 0;
		bottom: 0;
		margin: auto;
		transform: scale(0, 1);
		transform-origin: right top;
		transition: transform .3s;
		z-index: -1;
	}

	.c-marker:hover {
		text-decoration: underline;
	}

	.c-marker:hover::before {
		transform-origin: left top;
		transform: scale(1, 1);
	}


	/* header
----------------------------------------------- */
	.l-header {}

	.l-header__logo img {
		width: 100%;
	}

	.l-header__inner {
		max-width: 1760px;
		margin: 0 auto;
		padding: 0 80px;
		padding-top: 40px;
		box-sizing: border-box;
	}

	.l-header a {
		text-decoration: none;
	}

	.l-header_sns {
		margin-top: 0;
		margin-right: 0;
		margin-bottom: 2vh;
		padding-right: 20px;
		/* padding-top: 40px; */


		img {
			width: 30px;
		}
	}

	.l-header__logo {
		max-width: 1480px;
		margin: 0 auto;

		p {
			font-size: 1.455vw;
			margin-bottom: 7vh;
			text-align: left;
		}

		video {
			/* margin-bottom: 7vh; */
			/* padding-right: 16vw; */
			object-fit: cover;
			height: 20vw;
			margin-left: -9vw;
		}

		h1 {
			font-size: 2.11vw;
			text-align: left;
		}
	}

	.l-header_date {
		width: calc(28vw - 80px);
		position: absolute;
		bottom: -60px;
		right: 80px;
	}

	.l-header_date a:hover,
	.l-header_date a:active {
		opacity: 0.7;
	}

	/* navigation
----------------------------------------------- */


	.l-header_nav_pc.fixed {
		position: fixed !important;
		top: 0;
		left: auto;
		padding-left: 0;
		width: calc(70vw - 160px);
	}

	.l-header_nav_sp {
		display: none;
	}

	.l-header_nav_pc {
		height: 88px;
		border-top: 5px solid var(--black);
		background: rgba(255, 255, 255, 0.8);
		position: absolute;
		bottom: 0;
		left: 0;
		width: calc(70vw - 80px);
		max-width: 1120px;
		display: flex;
		align-items: center;
		z-index: 8000;
		padding-left: 80px;
	}

	.l-header_nav_pc::before {
		content: "";
		display: block;
		height: 88px;
		border-top: 5px solid var(--black);
		background: rgba(255, 255, 255, 0.8);
		margin-top: -5px;
		margin-left: -5000%;
		width: 5000%;
	}

	.l-header_nav_pc ul {
		display: flex;
		justify-content: space-between;
		width: 100%;
		padding: 0 2em 0 0;
	}

	.l-header_nav_pc ul li {
		list-style: none;
	}

	.l-header_nav_pc ul li a {
		font-weight: var(--font-weight-SemiBold);
		font-family: var(--en-font-set);
		font-size: 1.719vw;
	}

	@media only screen and (max-width: 1400px) {
		.l-header_nav_pc ul li a {
			/* font-size: 2rem; */
		}
	}






	/* layout
----------------------------------------------- */
	.c-blue_back {
		padding-bottom: 60px;
	}


	.sp_mb10 {
		margin-bottom: 0 !important;
	}

	.sp_mb20 {
		margin-bottom: 0 !important;
	}

	.sp_mb30 {
		margin-bottom: 0 !important;
	}

	.sp_mb40 {
		margin-bottom: 0 !important;
	}

	.sp_mb50 {
		margin-bottom: 0 !important;
	}

	.sp_mb60 {
		margin-bottom: 0 !important;
	}

	.sp_mb70 {
		margin-bottom: 0 !important;
	}

	.sp_mb80 {
		margin-bottom: 0 !important;
	}

	.sp_mb90 {
		margin-bottom: 0 !important;
	}

	.sp_mb100 {
		margin-bottom: 0 !important;
	}

	.sp_mb110 {
		margin-bottom: 0 !important;
	}

	.sp_mb120 {
		margin-bottom: 0 !important;
	}

	.mb00 {
		margin-bottom: 0 !important;
	}

	.mb10 {
		margin-bottom: 10px !important;
	}

	.mb20 {
		margin-bottom: 20px !important;
	}

	.mb30 {
		margin-bottom: 30px !important;
	}

	.mb40 {
		margin-bottom: 40px !important;
	}

	.mb50 {
		margin-bottom: 50px !important;
	}

	.mb60 {
		margin-bottom: 60px !important;
	}

	.mb70 {
		margin-bottom: 70px !important;
	}

	.mb80 {
		margin-bottom: 80px !important;
	}

	.mb90 {
		margin-bottom: 90px !important;
	}

	.mb100 {
		margin-bottom: 100px !important;
	}

	.mb110 {
		margin-bottom: 110px !important;
	}

	.mb120 {
		margin-bottom: 120px !important;
	}

	.ml01 {
		margin-left: 60px !important;
	}

	.mr00 {
		margin-right: 0 !important;
	}

	.mr10 {
		margin-right: 10px !important;
	}

	.mr20 {
		margin-right: 20px !important;
	}

	.mr30 {
		margin-right: 30px !important;
	}

	.mr40 {
		margin-right: 40px !important;
	}

	.mr50 {
		margin-right: 50px !important;
	}

	.mr60 {
		margin-right: 60px !important;
	}



	.mpr01 {
		margin-right: 30px !important;
		padding-right: 30px !important;
	}



	.c-pc_break {
		display: inline;
	}

	.c-sp_break {
		display: none !important;
	}

	.sp_display {
		display: none;
	}

	.pc_display {
		display: block;
	}

	.sp_display02 {
		display: none;
	}

	.pc_display02 {
		display: block;
	}

	.pc_float_right {
		float: right;
	}

	.movie_title_btn {
		margin-bottom: -3em;
	}

	.c-clear {
		clear: both;
	}

	.c-center_pc {
		text-align: center;
	}

	.c-btn_left {
		margin-left: 0 !important;
	}

	.c-vertical-center {
		display: flex;
		align-items: center;
	}

	.c-tiny_text {
		font-size: 16px;
	}

	/* コンテナ */
	.l-lower {
		padding-top: 40px;

		.l-inner {
			max-width: 1220px;
		}
	}

	.l-container {
		padding: 0 80px;
		margin-bottom: 200px;
	}

	.l-container_gray {
		padding: 110px 30px;
	}


	.l-inner {
		max-width: 1440px;
		margin: 0 auto;
	}

	/* 見出し */
	.c-title--head {
		font-size: 72px;
	}

	.c-title--head__sub {
		font-size: 40px;
		text-align: left;

	}



	/* pamphlet
----------------------------------------------- */
	.c-pamph {
		padding-top: 120px;
		max-width: 1069px;
		margin: 0 auto;
	}

	.c-pamph_box {
		display: flex;
		align-items: center;
		gap: 73px;
	}

	.c-pamph_img {
		width: 380px;
		margin: 0;
	}

	.c-pamph_txt {
		padding-top: 40px;
		border-top: 4px solid #000;

		h2 {
			font-size: 32px;
			margin-bottom: 25px;
			text-align: left;

			span {
				margin-bottom: 25px;
				font-size: 19px;
			}

		}

		a {
			display: block;
			width: 317px;
			margin: 0;
		}

		a:hover {
			opacity: 0.7;
		}
	}



	/* youtube
----------------------------------------------- */

	.c-youtube {
		max-width: 1069px;
		margin: 0 auto;
		padding: 180px 0 0;

		.c-youtube_box {


			&:after {
				top: 20px;
				left: 20px;
			}
		}
	}

	/* program
----------------------------------------------- */

	.c-program_date {
		font-size: 30px;
		padding-top: 10px;
		width: 100%;

		p {
			font-size: 40px;

			span {
				font-size: 20px;
			}
		}
	}

	.c-program_text {
		h2 {
			font-size: 28px;
		}

		h3 {
			font-size: 20px;

			span {
				font-size: 16px;
			}
		}

		p {
			font-size: 1.6rem;
		}
	}


	.c-program_category li {
		font-size: 14px;

	}

	.c-program_photo {
		padding-left: 40px;
		width: 100%;
		padding-top: 0;
	}

	.c-program_add {
		background: var(--bg-secondary-color);
		padding: 60px;
		border-radius: 10px;
		font-size: 18px;
	}

	/* teachers
----------------------------------------------- */
	.c-teachers_wrap {
		display: grid;
		grid-template-columns: 1fr 1fr 1fr;
		gap: 80px 154px;
	}

	.c-teachers_box {
		img {
			display: block;
			margin-bottom: 35px;
			width: 100%;
		}

		h2 {
			font-size: 30px;
			margin-bottom: 15px;

			span {
				font-size: 16px;
				font-weight: var(--font-weight-Medium);
			}
		}
	}

	/* summary
----------------------------------------------- */

	.c-summary_wrap {
		padding: 60px;
	}


	/* entry
----------------------------------------------- */
	.c-entry {
		width: 900px;
		height: 180px;
		margin-inline: auto;
		display: block;
	}


	.c-button_line a {
		padding: 30px;
		text-align: center;
		overflow: hidden;
		display: block;
		position: relative;
		z-index: 1;
		text-decoration: none;
		width: 900px;
		height: 180px;
		margin-inline: auto;
		display: flex;
		justify-content: center;
		align-items: center;
		box-sizing: border-box;

		span {
			font-family: var(--en-font-set);
			font-weight: var(--font-weight-SemiBold);
			font-size: 64px;
			line-height: 1.4;

			span {
				display: block;
				font-family: var(--primary-font-set);
				font-size: 22px;
			}
		}
	}

	.c-button_line a:hover {
		border: none;
	}

	.c-button_line a .top {
		position: absolute;
		top: 0;
		left: 0;
		z-index: -1;
		transition: transform 300ms;
		width: 100%;
		background: #000;
		transform: scale(0, 0);
		height: 6px;
		transform-origin: left top;
		transition-delay: 0ms;
	}

	.c-button_line a .right {
		position: absolute;
		top: 0;
		right: 0;
		z-index: -1;
		transition: transform 300ms;
		content: "";
		width: 6px;
		background: #000;
		transform: scale(0, 0);
		height: 100%;
		transform-origin: right top;
		transition-delay: 0ms;
		display: block;
	}

	.c-button_line a .bottom {
		position: absolute;
		bottom: 0;
		right: 0;
		z-index: -1;
		transition: transform 300ms;
		content: "";
		width: 100%;
		background: #000;
		transform: scale(0, 0);
		height: 6px;
		transform-origin: right bottom;
		transition-delay: 0ms;
		display: block;
	}

	.c-button_line a .left {
		position: absolute;
		top: 0;
		left: 0;
		z-index: -1;
		transition: transform 300ms;
		content: "";
		width: 6px;
		background: #000;
		transform: scale(0, 0);
		height: 100%;
		transform-origin: left bottom;
		transition-delay: 0ms;
		display: block;
	}

	.c-button_line a::after {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: -2;
		content: "";
	}

	/* hover */
	.c-button_line a:hover .top {
		transform-origin: left top;
		transform: scale(1, 1);
		content: "";
	}

	.c-button_line a:hover .right {
		transform-origin: left top;
		transform: scale(1, 1);
	}

	.c-button_line a:hover .bottom {
		transform-origin: right bottom;
		transform: scale(1, 1);
	}

	.c-button_line a:hover .left {
		transform-origin: left bottom;
		transform: scale(1, 1);
	}

	.c-button_line a::after {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: -2;
		content: "";
		background: #eeeeee;
	}

	.c-entry_btn a {
		color: var(--white);
		border: none;
	}

	.c-entry_btn a:hover {
		color: var(--black);
		transition: all .4s;
	}

	.c-entry_btn a::after {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: -2;
		content: "";
		background: linear-gradient(to right, #fefe19 0%, #027fff 100%);
	}

	.c-entry_btn a:hover::after {
		background: var(--white);
		transition: all .4s;
	}


	.c-caution {
		font-size: 18px;
		text-align: center;

		span {
			font-size: 12px;
			line-height: 1.4;
		}
	}



	/* footer
----------------------------------------------- */
	.l-footer_inner {
		max-width: 1600px;
		margin: 0 auto;
		padding: 45px 30px;

	}

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

	.c-footer_logo {
		text-align: left;

		img {
			width: 192px;
		}
	}

	.c-footer_copy {
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		/* justify-content: flex-end; */
	}

	.c-footer_sns {
		display: flex;
		gap: 2em;
		justify-content: flex-end;

		img {
			width: 40px;
		}
	}


	.c-copyright {
		text-decoration: none;
		font-size: 14px;
		display: block;
		text-align: right;
		margin-top: 1em;
	}

	/* lower
	----------------------------------------------- */



	/* table
    --------------------------------------------------------- */
	.l-table th,
	.l-table td {
		display: table-cell;
		font-size: 16px;
		padding: 1.5em 1em;
		font-size: 20px;
	}

	.l-table th {

		background: transparent;
		width: 8em;

	}

	.l-table .c-table_one_th {
		vertical-align: middle;
	}


	.l-schedule th {
		width: 10em;
		padding: 0.2em 1em 0.8em 1em;

		span {
			font-size: 50px;
		}
	}

	.l-schedule td {
		font-size: 34px;
		padding: 0.5em 1em;

		span {
			font-size: 22px;
		}

		p {
			font-size: 22px;

			display: inline-block;
		}

		line-height: 1.6;

	}

	.c-schedule_video {
		display: flex;
	}

	.c-schedule_video div:first-child {
		flex: 1;
	}

	.c-schedule_video div:last-child {
		width: 436px;
	}

}