@charset "UTF-8";

/* Base
----------------------------------------------- */
:root {
	--base-font-color: #000000;
	--white: #ffffff;
	--black: #000000;
	--bg-primary-color: #79ADC2;
	--bg-secondary-color: #F0F9F9;
	--bg-tertiary-color: #F4F4F4;
	--primary-font-set: "Zen Kaku Gothic New", sans-serif;
	--en-font-set: 'DIN Alternate', sans-serif;
	--font-weight-Light: 300;
	--font-weight-Regular: 400;
	--font-weight-Medium: 500;
	--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.8;
	letter-spacing: 0.07em;
	color: var(--base-font-color);
	font-size: 4.266vw;
	font-family: var(--primary-font-set);
	font-weight: var(--font-weight-Medium);
	width: 100%;
	-webkit-font-feature-settings: "palt";
	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 {
	color: var(--bg-primary-color);
}

em {
	font-weight: var(--font-weight-Bold);
	font-style: normal;
}

li::marker {
	font-size: 0.6em;
}

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

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

.strike {
	font-weight: normal;
	text-decoration: line-through;
	text-decoration-thickness: 2px;
	font-weight: bold;
}


/*clearfix*/

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

.clearfix {
	zoom: 1;
}

.c-hover_area {
	text-decoration: none;
}

#pageOverlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background: white;
	/* または任意の背景 */
	z-index: 9999;
	opacity: 1;
	transition: opacity 0.3s ease;
	pointer-events: none;
}

#pageOverlay.hide {
	opacity: 0;
}



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

#header {
	transition: background-color 0.5s ease;
	/* 背景色の変化を0.5秒でアニメーション */
}

/* 初期状態で背景色を透明に設定 */
#header.hidden {
	background-color: transparent;
}

/* スクロール後の状態で背景色を白に設定 */
#header.scrolled {
	background-color: white;
}

.l-header {
	position: relative;
	z-index: 8000;
	height: 17.33vw;
}

.l-header__inner {
	/* max-width: 1280px;
	margin: 0 auto;
	padding: 0; */
	position: relative;

}

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

.l-header__logo {
	width: 16vw;
	padding-left: 20px;
	padding-top: 2.66vw;
	box-sizing: content-box;
}

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


/* navigation
----------------------------------------------- */
.l-header_nav_pc {
	display: none;
}

.l-header_nav_sp {

	margin-left: 48vw;
	width: 52vw;
}

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

.l-header_nav_all {
	padding-left: 8vw;
	height: 16vw;
	background: var(--main-color);
	position: fixed;
	top: 0;
	width: 100%;
	display: flex;
	align-items: center;
	z-index: 8000;
}

.l-header_nav_all a {
	color: var(--white);
	font-size: 3.733vw;
}

.openbtn {
	width: 12.26vw;
	height: 12.26vw;
	cursor: pointer;
	z-index: 8000;
	position: fixed;
	top: 2.66vw;
	right: 2.66vw;
	z-index: 9000;

}

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

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

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


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

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

}

.c-header_insta_sp {
	width: 13.866vw;
	cursor: pointer;
	z-index: 8000;
	position: fixed;
	top: 6vw;
	right: 18vw;
	z-index: 9000;
	display: flex;

	a {
		display: inline-block;
		line-height: 1;
	}
}



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

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

}

.l-header__logo_nav {
	width: 16vw;
	padding-top: 2.66vw;
	box-sizing: content-box;
}

.l-header_nav_sp_list {
	padding: 0;
	margin-top: 25vw;

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

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

	a {
		font-weight: var(--font-weight-Bold);
		display: block;
		line-height: 13.33vw;
		font-size: 4.266vw;
	}
}

.c-header_sub_nav {
	text-align: center;
	padding: 0;
	display: flex;
	justify-content: space-around;

	li {
		list-style: none;
		border: none;
	}

	a {
		text-decoration: none;
		color: var(--white);
		font-weight: var(--font-weight-Bold);
		font-size: 3.733vw;
	}
}

.c-header_sub_nav__sub {
	text-align: center;
	padding: 0;
	display: flex;
	justify-content: center;
	gap: 1em;

	li {
		list-style: none;
		border: none;
	}

	a {
		text-decoration: none;
		color: var(--white);
		font-weight: var(--font-weight-Medium);
		font-size: 3.2vw;
	}
}

.arrow_r {
	position: relative;
	display: inline-block;
	text-indent: -1em;
}

.arrow_r:before {
	content: '';
	width: 2.6vw;
	height: 2.6vw;
	border: 0;
	border-top: solid 0.533vw #333;
	border-right: solid 0.533vw #333;
	transform: rotate(45deg);
	display: inline-block;
	margin-right: 1em;
}

.c-header_insta {
	text-align: center;

	img {}
}

/* mv
----------------------------------------------- */

.c-mv {
	position: relative;
}

.c-cv_btn {
	width: 34.66vw;
	height: 34.66vw;
	position: absolute;
	bottom: -20vw;
	right: 5.33vw;

}


/* layout
----------------------------------------------- */
.c-blue_back {
	background: var(--bg-header-color);
	padding-bottom: 21.33vw;
}

.c-movie_back {
	background: var(--bg-header-color);
}

.c-akinai_back {
	background: url(../images/akinai_bg.png);
	background-size: 35%;
}

.c-about_back {
	height: 200svh;
	position: relative;
}

.c-about_inner {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	clip-path: inset(0 0 0 0);
}

.c-about_bg_image {
	background: url(../images/about_bg.jpg);
	background-size: cover;
	background-position: center;
	position: fixed;
	width: 100%;
	height: 100vh;
	top: 0;
	z-index: -1;
}

.c-main_color {
	color: var(--main-color);
}

.pc_display {
	display: none;
}

.pc_display02 {
	display: none;
}

.c-pc_break {
	display: none;
}

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

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

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

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

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

.l-center {
	display: grid;
	place-content: center;
}

.l-center_sp {
	display: grid;
	place-content: center;
}

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

.sp_mb05 {
	margin-bottom: 1.33vw !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;
}

.pb00 {
	padding-bottom: 0 !important;
}


.no_border {
	text-decoration: none;
}


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

.l-container {
	padding: 0 20px;
}

.l-inner {
	width: 100%;
}



/* 見出し */
.c-title--head {
	font-size: 5.866vw;
	line-height: 1.2;
}

.c-title--head__main {
	font-size: 11.2vw;
	font-weight: var(--font-weight-Bold);
	line-height: 1.6;

	span {
		display: block;
		font-size: 4.266vw;
	}
}


.c-title--head__sub {
	font-size: 5.33vw;
	line-height: 1.4;
	border-left: 1.066vw solid #000;
	padding-left: 1em;
}

.c-title--head__about {
	font-size: 5.866vw;
}

.c-title--head__susami {
	font-size: 5.33vw;
	line-height: 1.8;
}



.c-title--head__susami_sub {
	font-size: 4vw;
	padding-left: 0.8em;
	letter-spacing: normal;
	border-left: 8px solid var(--bg-primary-color);
}

.c-title--head__izu {
	font-size: 8.533vw;
}



/* TOP
----------------------------------------------- */

/* 各ボタン */

.c-btn {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 100px;
	font-weight: var(--font-weight-Bold);
	background: var(--white);
	border: 2px solid #000;
	cursor: pointer;
	text-decoration: none;
	letter-spacing: normal;
}

.c-btn::after {
	content: "";
	position: absolute;
	right: 1rem;
	top: 50%;
	transform: translateY(-50%);
}

.c-btn_sm {
	width: 62.33vw;
	height: 12vw;
	font-size: 3.733vw;
}

.c-btn_sm::after {
	right: 15px;
	width: 5.866vw;
	height: 5.6vw;
	background: url("../images/btn_arrow.png") no-repeat center center;
	background-size: cover;
}

.c-btn_md {
	width: 76.8vw;
	height: 14.933vw;
	font-size: 3.733vw !important;

	span {
		font-size: 3.733vw !important;
	}
}

.c-btn_md::after {
	right: 15px;
	width: 7.2vw;
	height: 6.933vw;
	background: url("../images/btn_arrow.png") no-repeat center center;
	background-size: cover;
}

.c-btn_lg {
	width: 76.8vw;
	height: 14.933vw;
	font-size: 3.733vw;
	border: 2px solid #000;
	;
}

.c-btn_lg::after {
	right: 20px;
	width: 7.2vw;
	height: 6.933vw;
	background: url("../images/btn_arrow.png") no-repeat center center;
	background-size: cover;
}

.c-btn_sk {
	border: 2px solid var(--white);
	color: var(--white) !important;
	background: transparent;
}

.c-btn_sk::after {
	background: url("../images/btn_arrow_wb.png") no-repeat center center;
	background-size: cover;
}

.c-btn_mc {
	border: 2px solid var(--bg-primary-color);
	background: var(--bg-primary-color);
	color: var(--white) !important;
}

.c-btn_mc::after {
	background: url("../images/btn_arrow_w.png") no-repeat center center;
	background-size: cover;
}

.c-btn_mc_md {
	border: 2px solid var(--bg-primary-color) !important;
}

.c-btn_mc_h {
	position: relative;
	border: none;
	background: transparent;
	color: var(--white) !important;
	background: linear-gradient(to right, #fefe19 0%, #027fff 100%);
}

.c-btn_mc_h::before {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: -2;
	content: "";
	transition: all .3s;
	border-radius: 100px;
}

.c-btn_mc_h::after {
	background: url("../images/entry_arrow.png") no-repeat center center;
	background-size: contain;
}

.c-btn_mc_h span {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 3;
	margin: 0 !important;
	padding: 0 !important;
}



.c-btn_susami {
	width: 83.2vw;
	font-size: 3.466vw;
}

.c-aco_btn {
	width: 83.2vw;
	height: 14.933vw;
	font-size: 3.733vw;
	margin-inline: auto;
	margin-bottom: 20px;
}

.c-aco_btn::after {
	right: 15px;
	width: 7.466vw;
	height: 7.466vw;
	background: url("../images/aco_btn.png") no-repeat center center;
	background-size: cover;
	transition: transform 0.3s ease;
	transform: translateY(-50%) rotate(180deg);
}

.c-aco_btn.close::after {
	transform: translateY(-50%) rotate(0deg);
}

.accordion-content {
	margin-top: 5.33vw;
	margin-bottom: 13.33vw;
	margin-inline: -10px;
	background: var(--bg-secondary-color);
	border-radius: 16px;
	padding-block: 10.66vw;
	padding-inline: 20px;

}

.c-vcp_web_btn {
	display: flex;
	justify-content: center;
}

.c-btn_center {
	display: flex;
	justify-content: center;
}

.c-btn_center__sp {
	display: flex;
	justify-content: center;
}

/* VCP for LIFE PROJECT とは？ */

.c-text_bold {
	font-weight: var(--font-weight-Bold);
}

.l-layout_box {
	padding-block: 10.66vw;
	padding-inline: 20px;
	margin-inline: -10px;
	border-radius: 16px;
	background: var(--white);
}


.l-explain_box {
	margin-top: 10.66vw;
	padding-top: 29vw;
	padding-bottom: 13vw;
	padding-inline: 20px;
	background: var(--bg-tertiary-color);
	position: relative;

	h2 {
		position: absolute;
		background: var(--black);
		font-size: 8vw;
		color: var(--white);
		writing-mode: vertical-rl;
		line-height: 1;
		letter-spacing: 0.3em;
		padding: 0.3em 0.3em 0.1em;
		top: -1.5em;
		left: 0.5em;
	}

	p {
		font-size: 4.266vw;

		span {
			font-size: 3.2vw;
			display: block;
			margin-top: 1em;
		}
	}

	dl {
		display: flex;
		align-items: center;
		margin-bottom: 0.5em;
		gap: 1em;
	}

	dt {
		background: var(--black);
		color: var(--white);
		font-weight: var(--font-weight-Bold);
		padding: 0.5em 1em;
		line-height: 1;
	}

	dd {
		flex: 1;
		font-weight: var(--font-weight-Bold);

		a {
			text-decoration: underline;
		}

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


}

.c-recruit_box {
	h3 {
		background: var(--bg-primary-color);
		color: var(--white);
		padding-left: 0.8em;
		padding-block: 0.5em;
		margin-bottom: 1em;
		font-size: 4.8vw;
		text-align: center;
	}

	p {
		margin-bottom: 1em;
		letter-spacing: normal;

		span {
			font-weight: var(--font-weight-Bold);
			display: block;
		}
	}
}

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

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

.c-program_izu {
	border-image: linear-gradient(to right, #fefe19 0%, #027fff 100%) 1;
	border-top: 4px solid;
	padding-top: 5.33vw;

	.c-program_date {
		border-top: none;
	}
}

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

		span {
			font-size: 4.266vw;
		}
	}

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

/* 伊豆大島を知る */

.l-about_izu {
	position: relative;
	background: url(../images/aboutIzuoshima_sp.png) no-repeat;
	background-size: cover;
	height: 122.66vw;


	h2 {
		font-size: 9.066vw;
		color: var(--white);
		position: absolute;
		left: 8vw;
		top: 12vw;
		line-height: 1.4;
	}

	.c-izu_title {
		position: absolute;
		right: 8vw;
		top: 8vw;

		img {
			height: 61.33vw;
		}
	}

	.c-btn_izu {
		position: absolute;
		bottom: 12vw;
		left: 50%;
		transform: translateX(-50%);
	}
}



/* GOALS */

.c-goals_wrap {
	display: grid;
	gap: 4rem 2rem;
}

.c-goals_wrap {
	grid-template-columns: repeat(2, 1fr);
}

.c-goals_box {
	text-align: center;

	h3 {
		font-size: 4.266vw;
	}

	p {
		text-align: center;
		font-size: 3.2vw;
	}
}

.goals_img {
	text-align: center;

	img {
		width: 19.2vw;
	}
}

/* SCHEDULE */

.c-schedule_wrap {
	ul {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		margin: 0;
		padding: 0;
		gap: 8vw 0;

		li {
			list-style: none;
			width: 31%;
		}
	}

	p {
		font-size: 3.2vw;
	}

}

/* .l-schedule {
	padding-top: 16vw;
	padding-bottom: 16vw;
}

.bg-secondary {
	background: var(--bg-secondary-color);
}

.c-schedule_box {
	padding-bottom: 2em;
	border-bottom: 2px solid #000;
}

.c-schedule_date {
	font-size: 7.466vw;
	font-weight: var(--font-weight-Bold);
	margin-bottom: 0.5em;

	span {
		display: block;
		font-size: 6.4vw;
	}
}

.c-schedule_text {
	flex: 1;

	h2 {
		font-size: 4.266vw;
		margin-bottom: 1em;
	}

	span {
		font-size: 3.2vw;
		display: block;
		margin-top: 1em;
	}

	p {
		margin-bottom: 1em;
	}
}

.c-schedule_img {
	width: 42.66vw;
}

.c-title--head__schedule {
	background: var(--bg-primary-color);
	text-align: center;
	color: var(--white);
	font-size: 4.266vw;
	font-weight: var(--font-weight-Bold);
	padding-block: 1em;
	margin-inline: -20px;
}

.c-schedule_susami {
	border-left: 1.6vw solid var(--bg-primary-color);
	margin-left: -20px;
	padding-left: 20px;
} */

/* 募集要項 */
.c-requirements_header {
	margin-inline: -20px;
}

.c-people {
	background: var(--bg-secondary-color);
	border-radius: 16px;
	padding-block: 10.66vw;
	padding-inline: 20px;
	margin-inline: -10px;

	h2 {
		font-size: 5.33vw;
		font-weight: var(--font-weight-Bold);
		margin-bottom: 1em;
		letter-spacing: 0.2em;
		text-align: center;
	}

	ul {
		padding-left: 1em;

		li {
			margin-bottom: 1em;
			font-size: 4.266vw;
		}
	}
}

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

/* teachers */

.c-teachers_wrap {
	display: grid;
	gap: 5.33vw;
	grid-template-columns: repeat(2, 1fr);
}

.c-teachers_box {
	h2 {
		font-size: 5.33vw;
		font-weight: var(--font-weight-Bold);
		margin-bottom: 0.5em;
		line-height: 1.4;

		span {
			font-size: 3.2vw;
		}
	}

	p {
		font-size: 3.2vw;
	}

	.c-teachers_img {
		margin-bottom: 1em;
	}
}

/* faq */

.c-faq_wrap {
	border-top: 2px solid #000;
}

.c-faq_box {
	padding: 1em 0;
	border-bottom: 2px solid #000;
	font-size: 4.266vw;

	.accordion-content {
		background: var(--white);
		padding: 0 0 0 10px;
		margin-top: 1em;
		margin-bottom: 1.5em;
		margin-inline: 0;
		display: none;
	}

	ul {
		padding-left: 1em;
	}
}

.c-aco_title {
	font-weight: var(--font-weight-Bold);
}

.c-aco_title {
	position: relative;
	padding-left: 2em;
	cursor: pointer;
}

.c-aco_title::before {
	content: "";
	position: absolute;
	left: 1rem;
	top: 17px;
	transform: translateY(-50%);
	right: 20px;
	width: 16px;
	height: 11px;
	background: url("../images/faq_arrow.png") no-repeat center center;
	background-size: contain;
	transition: transform 0.3s ease;
}

.c-aco_title.close::before {
	transform: translateY(-50%) rotate(180deg);
}

/* 伊豆ページ */

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

.caption {
	font-size: 3.2vw;
	text-align: right;
	margin-top: 0.5em;
}


.c-susami_reason_box {

	h3,
	h4 {
		font-size: 5.33vw;
		font-weight: var(--font-weight-Bold);
		margin-bottom: 1em;
	}
}

.c-susami_reason_title {
	background: var(--bg-primary-color);
	color: #fff;
	font-size: 3.733vw;
	padding: 0.3em 1em;
	margin-bottom: 1.5em;
	display: inline-block;
}



.c-reason_three {
	border: 2px solid #000;
	border-radius: 16px;
	padding-block: 10.66vw;
	padding-inline: 20px;
	margin-inline: -10px;

	p {
		margin-bottom: 2em;
	}

	h2 {
		font-weight: var(--font-weight-Bold);
		font-size: 3.733vw;
	}

	.c-susami_profile_wrap {
		display: flex;
		justify-content: space-between;
		gap: 20px;
	}

	.c-susami_profile_img {
		width: 22.933vw;
	}

	.c-susami_profile_img+div {
		flex: 1;

		p {
			font-size: 3.466vw;
			margin-bottom: 0;
			letter-spacing: normal;
		}
	}
}

.c-text_renkei {
	font-size: 3.733vw;
}

.c-susami_achievements_wrap {
	position: relative;
	height: 70vw;

	img:nth-child(1) {
		position: absolute;
		left: -20px;
		top: 0;
	}

	img:nth-child(2) {
		position: absolute;
		right: -20px;
		top: 20px;
	}

	img:nth-child(3) {
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		bottom: 0;
	}

	img {
		width: calc(100% / 2 + 10px);
	}

}

.c-susami_img {
	margin-inline: -20px;
}

.c-youtube {
	width: 100%;
	aspect-ratio: 16 / 9;
	padding-inline: 10px;

	& iframe {
		width: 100%;
		height: 100%;
	}
}


/* 講師ページ */

.l-teachers {
	padding-top: 21.33vw;

	.c-teachers_wrap {
		display: block;

		.c-teachers_box {
			padding-top: 8vw;

			h2 {
				font-size: 5.33vw;
				font-weight: var(--font-weight-Bold);
				margin-bottom: 0.5em;
				line-height: 1.4;

				span {
					font-size: 3.2vw;
				}
			}

			p {
				font-size: 3.733vw;
				margin-bottom: 1em;
			}

			P+P {
				font-size: 4.266vw;
			}

			.c-teachers_img {
				width: 53.33vw;
				margin-bottom: 8vw;
			}
		}

	}
}

/* footer
----------------------------------------------- */
footer {
	padding-bottom: 21.33vw;

	h2 {
		font-size: 5.33vw;
		margin-bottom: 1em;
	}

	p {
		font-size: 3.2vw;
		letter-spacing: normal;
	}
}

.l-footer_inner {
	padding: 0 20px;
}

.c-footer_logo {
	text-align: center;

	img {
		width: 33.6vw;
	}
}


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










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


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

.l-table tr {
	border-bottom: 2px solid #000;
}

.l-table th,
.l-table td {
	padding: 1em;
	box-sizing: border-box;
	text-align: left;
	font-size: 4vw;
	display: block;


	span {
		font-size: 3.2vw;
		display: block;
		padding-top: 1em;
	}
}



.l-table td {
	line-height: 1.4;
	padding-top: 0;
	padding-bottom: 1.5em;

	span {}
}



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

	body {
		font-size: 1.6rem;
		padding-top: 175px;
	}


	.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-layout_vertical {
		display: flex;
		align-items: center;
	}



	/* hover */

	.c-hover_img {
		position: relative;
	}

	.c-hover_img img {
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		transition: opacity 0.3s ease;
	}

	.c-hover_img:hover .hover_on {

		opacity: 1;
	}

	.hover_on {
		opacity: 0;
	}

	.hover_off {
		opacity: 1;
	}



	.c-hover_line {
		padding-bottom: 10px;
		position: relative;
	}

	.c-hover_line::before {
		background: var(--font-color);
		content: '';
		width: 100%;
		height: 2px;
		position: absolute;
		left: 0;
		bottom: 0;
		margin: auto;
		transform-origin: right top;
		transform: scale(0, 1);
		transition: transform .3s;
	}

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

	}

	.c-ichiman_hover {
		padding-bottom: 5px;
	}

	.c-ichiman_hover::before {
		background: linear-gradient(to right, #4289c9 0%, #cf78c2 100%);
		height: 3px;
	}

	.c-soon {
		font-size: 24px;
	}


	/* header
----------------------------------------------- */
	.l-header {
		width: 100%;
		height: 175px;
		padding-inline: 20px;
		position: fixed;
		top: 0;
		z-index: 8000;
		background: var(--white);
	}

	.l-header__inner {
		max-width: 1440px;
		height: 175px;

		display: flex;
		align-items: center;
		justify-content: space-between;
		margin-inline: auto;
	}

	.l-header__logo {
		padding-top: 0;

	}

	.l-header__logo img {
		width: auto;
	}



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

	.l-header__logo {
		width: 167px;
		margin-right: 20px;
	}


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



	/* navigation
----------------------------------------------- */
	.l-header_nav_sp {
		display: none;
	}

	.l-header_nav_pc {
		background: transparent;
		display: flex;
		align-items: center;
		/* flex: 1; */

	}

	.l-header_nav_pc ul {
		display: flex;
		gap: 5vw;
		padding: 0 0 0 15px;
	}


	@media only screen and (max-width: 1024px) {
		.l-header_nav_pc ul {
			gap: 2vw;
		}
	}

	@media only screen and (max-width: 980px) {
		.l-header_nav_pc ul {
			gap: 1vw;
		}
	}



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

	.l-header_nav_pc ul li a {
		color: var(--font-color);
		font-weight: var(--font-weight-Bold);
		font-size: 1.6rem;
		position: relative;
		left: 0;
		transition: all 0.3s;
	}

	.l-header_nav_pc ul li a:hover {
		opacity: 0.7;
		left: 0.5em;
	}

	.arrow_r {
		text-indent: 0;
	}

	.arrow_r:before {
		width: 8px;
		height: 8px;
		border-top: solid 2px #333;
		border-right: solid 2px #333;
		top: 0;
		bottom: 0;
		left: -1.2em;
		position: absolute;
		margin: auto;
	}

	.c-note_menu {
		display: flex;
		align-items: center;

		a {
			display: inline-block;
			line-height: 1;
		}

		img {
			width: 83px;
		}

	}


	.c-header_insta {
		margin-bottom: 30px;
		height: 36px;

		img {
			width: 36px;
		}

	}

	.c-header_entry a {
		height: 136px;
		display: flex;
		justify-content: center;
		align-items: center;
		background: var(--bg-primary-color);
		color: var(--white);
		font-size: 18px;
		font-weight: var(--font-weight-Bold);
		margin-inline: -33px;
		transition: all 0.3s;
		box-sizing: border-box;
		text-align: center;
	}

	/* .c-header_entry a:hover {
		opacity: 0.8;
		background: #21b573;
		color: var(--white);
	} */

	/* mv
----------------------------------------------- */

	.c-mv {
		position: relative;
	}

	.c-cv_btn {
		width: 210px;
		height: 210px;
		position: absolute;
		bottom: 40px;
		right: 40px;
		transition: all 0.2s;
	}




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

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

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

	.mb130 {
		margin-bottom: 130px !important;
	}

	.mb140 {
		margin-bottom: 140px !important;
	}

	.mb160 {
		margin-bottom: 160px !important;
	}

	.mb170 {
		margin-bottom: 170px !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;
	}

	.mr120 {
		margin-right: 120px !important;
	}

	.pt80 {
		padding-top: 80px !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;
	}

	.pc_display02 {
		display: inline-block;
	}

	.sp_display02 {
		display: none;
	}


	.pc_float_right {
		float: right;
	}

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

	.c-clear {
		clear: both;
	}

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

	.c-center_sp {
		text-align: left;
	}

	.l-center_sp {
		display: block;
	}

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

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

	.c-tiny_text {
		font-size: 14px !important;

		span {
			font-size: 10px !important;
		}
	}

	main {}

	.mask {

		overflow: hidden;
	}

	.c-hover_area {
		text-decoration: none;
	}

	.c-hover_area .c-hover_img {
		transform: scale(1);
		transition: .5s ease-in-out;
	}

	.c-hover_area:hover .c-hover_img {
		transform: scale(1.1);
	}

	.c-hover_area {

		h2,
		p {
			transition: .5s ease-in-out;
		}
	}

	.c-hover_area:hover {

		h2,
		p {
			opacity: 0.5;
		}
	}


	/* コンテナ */


	.l-container {
		padding: 0 70px;
	}

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





	/* 見出し */
	.c-title--head {
		font-size: 42px;
		text-align: left;
	}

	.c-title--head__main {
		font-size: 72px;
		font-weight: var(--font-weight-Bold);
		line-height: 1.4;

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


	.c-title--head__sub {
		font-size: 28px;
		padding-left: 1.2em;
		border-left: 10px solid #000;

	}

	.c-title--head__about {
		font-size: 24px;
	}

	.c-title--head__susami {
		font-size: 36px;

	}

	.c-title--head__susami_sub {
		font-size: 28px;
		border-left: 10px solid var(--bg-primary-color);
	}


	.c-title--head__izu {
		font-size: 67px;
	}


	/* TOP
----------------------------------------------- */

	/* 各ボタン */

	.c-btn {
		position: relative;
		display: flex;
		justify-content: center;
		align-items: center;
		border-radius: 100px;
		font-weight: var(--font-weight-Bold);
		border: 2px solid #000;
		cursor: pointer;
		text-decoration: none;
		transition: all 0.2s;
	}

	.c-btn::after {
		content: "";
		position: absolute;
		background: url("../images/btn_arrow.png") no-repeat center center;
		background-size: cover;
		top: 50%;
		transform: translateY(-50%);
	}

	.c-btn:hover {
		background: var(--black);
		color: var(--white);
	}


	.c-btn_sm {
		width: 230px;
		height: 45px;
		font-size: 14px;
	}

	.c-btn_sm::after {
		width: 23px;
		height: 22px;
	}

	.c-btn_sm:hover::after {
		width: 23px;
		height: 22px;
		background: url("../images/btn_arrow_on.png") no-repeat center center;
		background-size: cover;
	}

	.c-btn_md {
		width: 360px;
		height: 70px;
		font-size: 18px !important;

		span {
			font-size: 18px !important;
		}
	}

	.c-btn_md::after {
		width: 36px;
		height: 34px;
	}

	.c-btn_md:hover::after {
		background: url("../images/btn_arrow_on.png") no-repeat center center;
		width: 36px;
		height: 34px;
		background-size: cover;
	}

	.c-btn_susami {
		width: 420px;
	}



	.c-btn_lg {
		width: 560px;
		height: 110px;
		font-size: 28px;
		border: 4px solid #000;
	}

	.c-btn_lg::after {
		width: 60px;
		height: 56px;

	}

	.c-btn_lg:hover::after {
		background: url("../images/btn_arrow_on.png") no-repeat center center;
		width: 60px;
		height: 56px;
		background-size: cover;
	}

	.c-btn_sk {
		border: 2px solid var(--white);
		color: var(--white) !important;
		background: transparent;
	}

	.c-btn_sk::after {
		width: 36px;
		height: 36px;
		background: url("../images/btn_arrow_wb.png") no-repeat center center;
		background-size: cover;
	}

	.c-btn_sk:hover {
		background: var(--white);
		color: var(--black) !important;
		opacity: 0.85;
	}

	.c-btn_sk:hover::after {
		background: url("../images/btn_arrow.png") no-repeat center center;
		background-size: cover;

	}



	.c-btn_mc {
		border: 4px solid var(--bg-primary-color);
		background: var(--bg-primary-color);
		color: var(--white) !important;
	}

	.c-btn_mc::after {
		background: url("../images/btn_arrow_w.png") no-repeat center center;
		background-size: cover;
	}

	.c-btn_mc:hover {
		background: var(--white);
		color: var(--bg-primary-color) !important;
	}

	.c-btn_mc:hover::after {
		background: url("../images/btn_arrow.png") no-repeat center center !important;
		background-size: contain;
	}

	.c-btn_mc_h {
		border: none;
		transition: all .3s;
	}

	.c-btn_mc_h:hover {
		background: linear-gradient(to right, #fefe19 0%, #027fff 100%);
		color: var(--black) !important;

	}

	.c-btn_mc_h::after {
		background: url("../images/entry_arrow.png") no-repeat center center;
		background-size: contain;
	}

	.c-btn_mc_h:hover::before {
		content: "";
		position: absolute;
		top: 4px;
		left: 4px;
		right: 0;
		bottom: 0;
		border-radius: 100px;
		background: var(--white);
		box-sizing: border-box;
		z-index: 0;
		color: var(--black);
		width: calc(100% - 8px);
		height: calc(100% - 8px);
		display: inline-block;
		border: none !important;
	}

	.c-btn_mc_h:hover::after {
		background: url("../images/btn_arrow.png") no-repeat center center;
		background-size: cover;
	}


	.c-btn_lg:hover::before {
		border: 4px solid var(--black);
	}

	.c-aco_btn {
		width: 360px;
		height: 70px;
		font-size: 18px;
		margin-inline: 0;
		margin-bottom: 20px;
	}

	.c-aco_btn::after {
		width: 34px;
		height: 34px;
		background: url("../images/aco_btn.png") no-repeat center center;
		transition: transform 0.3s ease;
	}

	.c-aco_btn:hover::after {
		background: url("../images/aco_btn_on.png") no-repeat center center;
		background-size: cover;
	}

	.c-aco_btn.close::after {
		transform: translateY(-50%) rotate(180deg);
	}

	.c-btn_center__sp {
		display: block;
	}

	/* VCP for LIFE PROJECT とは？ */
	.c-project_img {
		margin-right: -70px;
	}



	.c-text_lg {
		font-size: 20px;
	}



	.c-project_aco {}

	.c-aco_btn {
		position: relative;
		width: 360px;
		height: 70px;
		display: flex;
		justify-content: center;
		align-items: center;
		border-radius: 100px;
		font-weight: var(--font-weight-Bold);
		border: 2px solid #000;
		cursor: pointer;
		margin-bottom: 20px;
		letter-spacing: normal;
	}

	.c-aco_btn::after {
		content: "";
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		width: 34px;
		height: 34px;
		background: url("../images/aco_btn.png") no-repeat center center;
		background-size: contain;
		transition: transform 0.3s ease;
	}

	.c-aco_btn.close::after {
		transform: translateY(-50%) rotate(180deg);
	}

	.accordion-content {
		margin-top: 30px;
		margin-inline: 0;
		border-radius: 16px;
		padding: 50px;
		margin-bottom: 60px;
	}

	.c-vcp_web_btn {
		width: 230px;
		display: block;
	}

	.l-layout_box {
		padding: 40px 50px 60px;
		border-radius: 16px;
		background: var(--white);
	}


	.l-explain_box {
		margin-top: 80px;
		margin-inline: 60px;
		padding: 40px 175px 70px;

		h2 {
			font-size: 56px;
			letter-spacing: 0.6em;
			padding: 1.15em 0.6em 0.4em;
			top: -40px;
			left: -60px;
		}

		p {
			font-size: 20px;

			span {
				font-size: 16px;
			}
		}



		dt {
			padding: 0.3em 1em;
			margin-bottom: 0;
			font-size: 20px;
		}

		dd {
			flex: 1;
			font-size: 28px;

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

			a {
				transition: all 0.3s;
			}

			a:hover {
				text-decoration: none;
			}
		}
	}

	.c-recruit_box {
		h3 {
			font-size: 20px;
			text-align: left;
			padding-block: 0;
		}

		p {
			font-size: 16px;

			span {
				display: inline;
				margin-right: 1em;
			}
		}


	}

	.c-ano {
		font-size: 14px !important;
	}


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

	.c-program_izu {
		padding-top: 20px;
	}

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

			span {
				font-size: 1.6rem;
			}
		}

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

	/* 伊豆大島を知る */
	.l-about_izu_wrap {
		padding-inline: 80px;
	}

	.l-about_izu {
		background: url(../images/aboutIzuoshima.png) no-repeat;
		background-size: cover;
		height: 720px;


		h2 {
			font-size: 60px;
			margin-bottom: 0.6em;
			position: static;
		}

		.c-izu_title {
			position: absolute;
			right: 30px;
			top: 50%;
			transform: translateY(-50%);

			img {
				height: 530px;
			}
		}

		.c-btn_izu {
			position: static;
			transform: none;
		}

		.c-about_izu_btn {
			position: absolute;
			left: 60px;
			bottom: 100px;
		}
	}



	/* GOALS */
	.c-goals_wrap {
		display: grid;
		gap: 4rem 10rem;
	}

	.c-goals_wrap {
		grid-template-columns: repeat(3, 1fr);
	}

	.c-goals_box {
		text-align: center;

		h3 {
			font-size: 22px;
		}

		p {
			text-align: center;
			font-size: 18px;
		}
	}

	.goals_img {
		text-align: center;

		img {
			width: 136px;
		}
	}

	/* SCHEDULE */

	.c-schedule_wrap {

		ul {
			flex-wrap: nowrap;
			gap: 30px;

			li {
				width: 100%;
			}
		}

		p {
			font-size: 16px;
			text-align: right;
		}
	}

	/* .l-schedule {
		padding-top: 60px;
		padding-bottom: 60px;
	}



	.c-schedule_box {
		display: flex;
		justify-content: space-between;
		gap: 30px;
		border-bottom: none;
		margin-bottom: 0;
	}

	.c-schedule_date {
		width: 180px;
		padding-left: 20px;
		font-size: 33px;
		border-right: 2px solid #000;
		margin-bottom: 0;

		span {
			font-size: 24px;
		}
	}

	.c-schedule_text {
		flex: 1;

		h2 {
			font-size: 20px;
		}

		span {
			font-size: 16px;
		}

		p {
			margin-bottom: 0;
		}

	}

	.c-schedule_img {
		width: 150px;
	}

	.c-title--head__schedule {
		font-size: 28px;
		padding: 0;
		margin-inline: 0;
	}

	.c-schedule_susami {
		border-left: 10px solid var(--bg-primary-color);
		margin-left: 0;
		padding-left: 20px;

		.c-schedule_date {
			width: 150px;
		}
	} */

	/* 募集要項 */
	.c-requirements_header {
		margin-inline: -70px;
	}

	.c-people {
		padding: 40px;
		margin-inline: 0;

		h2 {
			font-size: 28px;
			text-align: left;
		}

		ul {

			li {
				font-size: 16px;
			}
		}
	}

	.c-requirements_text {
		font-size: 14px;
	}


	/* teachers */

	.c-teachers_wrap {
		display: grid;
		gap: 60px 5%;
		grid-template-columns: repeat(4, 1fr);
	}

	.c-teachers_box {
		h2 {
			font-size: 20px;
			font-weight: var(--font-weight-Bold);
			margin-bottom: 1em;
			line-height: 1.4;

			span {
				font-size: 12px;
			}
		}

		p {
			font-size: 14px;
		}

		.c-teachers_img {
			margin-bottom: 1em;
		}
	}

	/* faq */

	.c-faq_wrap {
		border-top: 2px solid #000;
	}

	.c-faq_box {
		padding: 2em 0;
		border-bottom: 2px solid #000;
		font-size: 16px;

		.accordion-content {
			background: var(--white);
			padding: 0 0 0 3em;
			margin-top: 1.8em;
			margin-bottom: 0;
			display: none;
		}
	}

	.c-aco_title {
		font-weight: var(--font-weight-Bold);
	}

	.c-aco_title {
		position: relative;
		padding-left: 3em;
		cursor: pointer;
	}

	.c-aco_title::before {
		content: "";
		position: absolute;
		left: 1rem;
		top: 17px;
		transform: translateY(-50%);
		right: 20px;
		width: 16px;
		height: 11px;
		background: url("../images/faq_arrow.png") no-repeat center center;
		background-size: contain;
		transition: transform 0.3s ease;
	}

	.c-aco_title.close::before {
		transform: translateY(-50%) rotate(180deg);
	}

	/* cta */

	.l-cta {
		padding-block: 120px;
	}

	/* 伊豆ページ */

	.l-izu_photo {
		margin-inline: 70px;
	}

	.caption {
		font-size: 12px;
	}


	.c-susami_reason_box {

		h3,
		h4 {
			font-size: 28px;
		}
	}

	.c-susami_reason_title {
		font-size: 20px;
	}

	.c-susami_img {
		margin-inline: 0;
	}

	.c-reason_three {
		padding: 30px;
		margin-inline: 0;

		p {
			margin-bottom: 2em;
		}

		h2 {
			font-size: 14px;
		}

		.c-susami_profile_wrap {
			gap: 20px;
		}

		.c-susami_profile_img {
			width: 84px;
		}

		.c-susami_profile_img+div {
			flex: 1;

			p {
				font-size: 14px;
			}
		}
	}

	.c-text_renkei {
		font-size: 20px;
	}

	.c-susami_achievements_wrap {
		display: flex;
		flex-wrap: nowrap;
		height: auto;

		img:nth-child(1) {
			position: static;
			left: -20px;
			top: 0;
		}

		img:nth-child(2) {
			position: static;
			right: -20px;
			top: 20px;
		}

		img:nth-child(3) {
			position: static;
			left: 50%;
			transform: none;
			bottom: 0;
		}

		img {
			width: calc(100% / 3);


		}

	}

	/* 講師ページ */

	.l-teachers {
		padding-top: 100px;

		.c-teachers_wrap {
			display: block;

			.c-teachers_box {
				display: flex;
				flex-direction: row-reverse;
				gap: 40px;

				h2 {
					font-size: 36px;
					font-weight: var(--font-weight-Bold);
					margin-bottom: 0.5em;
					line-height: 1.4;

					span {
						font-size: 16px;
					}
				}

				p {
					font-size: 16px;
					margin-bottom: 2em;
				}

				P+P {
					font-size: 20px;
				}

				.c-teachers_img {
					width: 30%;
					margin-bottom: 0;
				}

				.c-teachers_text {
					flex: 1;
				}
			}

		}
	}

	/* footer
----------------------------------------------- */
	footer {
		padding-bottom: 0;

		h2 {
			font-size: 20px;
			margin-bottom: 1em;
		}

		p {
			font-size: 12px;
			letter-spacing: normal;
		}
	}

	.l-footer_inner {

		padding: 70px;

	}


	.c-footer_logo {
		text-align: center;

		img {
			width: 230px;
		}
	}


	.c-copyright {
		text-decoration: none;
		font-size: 14px;
		display: block;
	}

	.c-youtube {
		max-width: 800px;
		margin-inline: auto;
		padding-inline: 0;
	}




	/* table
    --------------------------------------------------------- */
	.l-table th,
	.l-table td {
		font-size: 16px;
		padding: 1.2em 2em;
		vertical-align: top;
		display: table-cell;

		span {
			display: block;
			margin-top: 1em;
			padding-top: 0;
		}
	}

	.l-table th {
		width: 13em;
		padding-left: 0.5em;
	}

	.l-table td {


		span {
			font-size: 14px;
			display: inline-block;
		}
	}

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



	a[href*="tel:"] {
		pointer-events: none;
		cursor: default;
		text-decoration: none;
	}
}
