@charset "UTF-8";
@keyframes load_logo {
	0% {
		opacity: 0
	}
	to {
		opacity: 1
	}
}
@keyframes load_circle {
	0% {
		transform: rotate(0)
	}
	to {
		transform: rotate(360deg)
	}
}
@keyframes fv_logo {
	0% {
		opacity: 0
	}
	to {
		opacity: 1
	}
}
@keyframes fv_toggle {
	0% {
		opacity: 0;
		transform: translateY(-100%)
	}
	to {
		opacity: 1;
		transform: translate(0)
	}
}
@keyframes fv_slider {
	0% {
		opacity: 0;
		transform: translate(100%)
	}
	to {
		opacity: 1;
		transform: translate(0)
	}
}
@keyframes fv_news {
	0% {
		opacity: 0;
		transform: translate(-100%)
	}
	to {
		opacity: 1;
		transform: translate(0)
	}
}
@keyframes fv_foot {
	0% {
		opacity: 0;
		transform: translateY(100%)
	}
	to {
		opacity: 1;
		transform: translate(0)
	}
}
@keyframes toggle-anime {
	0% {
		border-color: transparent;
		transform: rotate(0)
	}
	25% {
		border-color: transparent #fff transparent transparent
	}
	50% {
		border-color: transparent #fff #fff transparent
	}
	75% {
		border-color: transparent #fff #fff #fff
	}
	to {
		border-color: #fff;
		transform: rotate(-680deg)
	}
}

input, button, select, textarea {
	appearance: none;
	background: transparent;
	border: none;
	border-radius: 0;
	font: inherit;
	outline: none;
	resize: vertical
}
input[type=checkbox], input[type=radio] {
	display: none
}
input[type=submit], input[type=button], label, button, select {
	cursor: pointer
}
select::-ms-expand {
	display: none
}
input, button, select, textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: transparent;
	border: none;
	border-radius: 0;
	font: inherit;
	outline: none
}
textarea {
	resize: vertical
}
input[type=checkbox], input[type=radio] {
	display: none
}
input[type=submit], input[type=button], label, button, select {
	cursor: pointer
}
select::-ms-expand {
	display: none
}
.radio label {
	position: relative;
	padding-left: 14px;
	margin-right: 16px
}
.radio label:before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 15px;
	height: 15px;
	border: 1px solid #666;
	border-radius: 50%;
	background: #eee
}
.radio input:checked+label:after {
	content: "";
	display: block;
	position: absolute;
	top: 3px;
	left: 3px;
	width: 11px;
	height: 11px;
	background: #47C4A6;
	border-radius: 50%
}
select {
	border: 1px solid #666;
	padding: 10px;
	border-radius: 5px;
	background: #eee
}
.table {
	display: table;
	table-layout: fixed;
	border-collapse: separate;
	border-spacing: 4px;
}
.table>dl {
	display: table-row;
}
.table>dl.thead {}
.table>dl>dt {
	display: table-cell;
	vertical-align: middle;
	text-align: center;
	background-color: #47c1a3;
	color: #fff;
	padding: 16px;
}
.table>dl>dd {
	vertical-align: middle;
	display: table-cell;
	background-color: #e9f2f0;
	padding: 16px;
}
@media screen and (max-width: 600px) {
	.table {
		display: block;
		border-collapse: inherit;
		table-layout: inherit
	}
	.table .caption {
		display: block
	}
	.table>dl {
		display: block;
		width: 100%
	}
	.table>dl>dt, .table>dl>dd {
		display: block;
		width: 100%;
	}
	.table>dl>dt {
		padding: 8px;
	}
}

.map {
	height: 0;
	overflow: hidden;
	padding-bottom: 56.25%;
	position: relative
}
.map iframe {
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%
}
.anime {
	opacity: 0;
	transition: all .4s
}
.anime.slow {
	transition: all .8s
}
.anime.motion01 {
	transform: translateY(40px)
}
.anime.motion02 {
	transform: translateY(-40px)
}
.anime.motion03 {
	transform: translate(40px)
}
.anime.motion04 {
	transform: translate(-40px)
}
.anime.motion05 {
	transform: translateZ(40px)
}
.anime.motion06 {
	transform: translateZ(-40px)
}
.anime.delay01 {
	transition-delay: .08s
}
.anime.delay02 {
	transition-delay: .16s
}
.anime.delay03 {
	transition-delay: .24s
}
.anime.delay04 {
	transition-delay: .32s
}
.anime.delay05 {
	transition-delay: .4s
}
.anime.start {
	opacity: 1;
	transform: translateZ(0)
}
@media print {
	.anime {
		opacity: 1;
		transform: translateZ(0)
	}
}

.slick-loading .slick-list {
	background: #fff url(./ajax-loader.gif) center center no-repeat
}
@font-face {
	font-family: slick;
	src: url(./fonts/slick.eot);
	src: url(./fonts/slick.eot?#iefix) format("embedded-opentype"), url(./fonts/slick.woff) format("woff"), url(./fonts/slick.ttf) format("truetype"), url(./fonts/slick.svg#slick) format("svg");
	font-weight: 400;
	font-style: normal
}
.slick-prev, .slick-next {
	position: absolute;
	display: block;
	height: 20px;
	width: 20px;
	line-height: 0px;
	font-size: 0px;
	cursor: pointer;
	background: transparent;
	color: transparent;
	top: 50%;
	-webkit-transform: translate(0, -50%);
	-ms-transform: translate(0, -50%);
	transform: translateY(-50%);
	padding: 0;
	border: none;
	outline: none
}
.slick-prev:hover, .slick-prev:focus, .slick-next:hover, .slick-next:focus {
	outline: none;
	background: transparent;
	color: transparent
}
.slick-prev:hover:before, .slick-prev:focus:before, .slick-next:hover:before, .slick-next:focus:before {
	opacity: 1
}
.slick-prev.slick-disabled:before, .slick-next.slick-disabled:before {
	opacity: .25
}
.slick-prev:before, .slick-next:before {
	font-family: slick;
	font-size: 20px;
	line-height: 1;
	color: #fff;
	opacity: .75;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale
}
.slick-prev {
	left: -25px
}
[dir=rtl] .slick-prev {
	left: auto;
	right: -25px
}
.slick-prev:before {
	content: "\2190"
}
[dir=rtl] .slick-prev:before {
	content: "\2192"
}
.slick-next {
	right: -25px
}
[dir=rtl] .slick-next {
	left: -25px;
	right: auto
}
.slick-next:before {
	content: "\2192"
}
[dir=rtl] .slick-next:before {
	content: "\2190"
}
.slick-dotted.slick-slider {
	margin-bottom: 30px
}
.slick-dots {
	position: absolute;
	bottom: -25px;
	list-style: none;
	display: block;
	text-align: center;
	padding: 0;
	margin: 0;
	width: 100%
}
.slick-dots li {
	position: relative;
	display: inline-block;
	height: 20px;
	width: 20px;
	margin: 0 5px;
	padding: 0;
	cursor: pointer
}
.slick-dots li button {
	border: 0;
	background: transparent;
	display: block;
	height: 20px;
	width: 20px;
	outline: none;
	line-height: 0px;
	font-size: 0px;
	color: transparent;
	padding: 5px;
	cursor: pointer
}
.slick-dots li button:hover, .slick-dots li button:focus {
	outline: none
}
.slick-dots li button:hover:before, .slick-dots li button:focus:before {
	opacity: 1
}
.slick-dots li button:before {
	position: absolute;
	top: 0;
	left: 0;
	content: "\2022";
	width: 20px;
	height: 20px;
	font-family: slick;
	font-size: 6px;
	line-height: 20px;
	text-align: center;
	color: #000;
	opacity: .25;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale
}
.slick-dots li.slick-active button:before {
	color: #000;
	opacity: .75
}
.slick-slider {
	position: relative;
	display: block;
	box-sizing: border-box;
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-ms-touch-action: pan-y;
	touch-action: pan-y;
	-webkit-tap-highlight-color: transparent
}
.slick-list {
	position: relative;
	overflow: hidden;
	display: block;
	margin: 0;
	padding: 0
}
.slick-list:focus {
	outline: none
}
.slick-list.dragging {
	cursor: pointer;
	cursor: hand
}
.slick-slider .slick-track, .slick-slider .slick-list {
	-webkit-transform: translate3d(0, 0, 0);
	-moz-transform: translate3d(0, 0, 0);
	-ms-transform: translate3d(0, 0, 0);
	-o-transform: translate3d(0, 0, 0);
	transform: translateZ(0)
}
.slick-track {
	position: relative;
	left: 0;
	top: 0;
	display: block
}
.slick-track:before, .slick-track:after {
	content: "";
	display: table
}
.slick-track:after {
	clear: both
}
.slick-loading .slick-track {
	visibility: hidden
}
.slick-slide {
	float: left;
	height: 100%;
	min-height: 1px;
	display: none
}
[dir=rtl] .slick-slide {
	float: right
}
.slick-slide img {
	display: block
}
.slick-slide.slick-loading img {
	display: none
}
.slick-slide.dragging img {
	pointer-events: none
}
.slick-initialized .slick-slide {
	display: block
}
.slick-loading .slick-slide {
	visibility: hidden
}
.slick-vertical .slick-slide {
	display: block;
	height: auto;
	border: 1px solid transparent
}
.slick-arrow.slick-hidden {
	display: none
}

*, *:before, *:after {
	box-sizing: border-box
}
* {
	margin: 0
}
body {
	-webkit-font-smoothing: antialiased;
	font: 12pt/1.6 YakuHanJP, Hiragino Sans, Hiragino Kaku Gothic ProN, Noto Sans JP, Meiryo, sans-serif;
	-ms-font-feature-settings: "normal";
	letter-spacing: 0;
	font-feature-settings: "palt";
	font-weight: 400;
	font-style: normal
}
img, picture, video, canvas, svg {
	display: block;
	max-width: 100%
}
p, h1, h2, h3, h4, h5, h6 {
	overflow-wrap: break-word
}
#root, #__next {
	isolation: isolate
}
ol, ul {
	list-style-type: none;
	margin: 0;
	padding: 0
}
img {
	vertical-align: bottom
}
a, a:hover {
	text-decoration: none
}
.anchor {
	display: block;
	padding-top: 84px !important;
	margin-top: -84px !important
}

.btn_wrap .btn_s {
	position: relative;
	display: flex;
	width: 170px;
	height: 50px;
	font-size: 1rem;
	line-height: 50px;
	border-radius: 7px;
	background-color: #fff;
	color: #000;
	padding-left: 30px;
	transition: all .4s
}
.btn_wrap .btn_s:before, .btn_wrap .btn_s:after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto 0
}
.btn_wrap .btn_s:before {
	z-index: 2;
	display: block;
	width: 8px;
	height: 8px;
	border: solid 1.62px #fff;
	border-width: 1.62px 1.62px 0 0;
	transform: rotate(45deg)
}
.btn_wrap .btn_s:after {
	z-index: 1;
	width: 20px;
	height: 20px;
	background-color: #23999f;
	border-radius: 50%
}
.btn_wrap .btn_s:before {
	right: 31px;
	transition: all .4s
}
.btn_wrap .btn_s:after {
	right: 24px;
	transition: all .4s
}
.btn_wrap .btn_l {
	position: relative;
	display: flex;
	justify-content: center;
	width: 100%;
	height: 100px;
	line-height: 100px;
	border-radius: 10px;
	background: linear-gradient(to right, #4780A6 0%, #47C4A6 50%, #99c44c 100%);
	background-position: 1% 50%;
	background-size: 200% auto;
	font-size: 1.375rem;
	color: #fff;
	margin: 0 auto;
	padding-right: 6.5px;
	transition: all .4s
}
.btn_wrap .btn_l:before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	right: 24px;
	bottom: 0;
	z-index: 1;
	margin: auto 0;
	width: 31px;
	height: 31px;
	transform: rotate(45deg);
	border: solid 2px #fff;
	border-width: 2px 2px 0 0
}
.btn_wrap .btn_time {
	position: relative;
	display: flex;
	width: 100%;
	height: 96px;
	line-height: 96px;
	border-radius: 10px;
	color: #333;
	font-size: 1.25rem;
	font-weight: 600;
	padding-left: 78px;
	transition: all .4s
}
.btn_wrap .btn_time:before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 30px;
	margin: auto 0;
	width: 34px;
	height: 34px;
	background-image: url(./images/student/icon_current_menu04.svg);
	filter: brightness(0%);
	transition: all .4s
}
@media screen and (min-width: 769px) {
	.btn_wrap .btn_s:hover {
		background-color: #47c4a6;
		color: #fff
	}
	.btn_wrap .btn_s:hover:before {
		border-color: #47c4a6
	}
	.btn_wrap .btn_s:hover:after {
		background-color: #fff
	}
	.btn_wrap .btn_l:hover {
		background-position: 99% 50%
	}
}
@media screen and (max-width: 600px) {
	.btn_wrap .btn_s {
		font-size: .875rem
	}
	.btn_wrap .btn_l, .btn_wrap .btn_time {
		font-size: 1.125rem
	}
	.btn_wrap .btn_time:before {
		width: 34px;
		height: 34px
	}
}
@media screen and (min-width: 769px) {
	a[href^="tel:"] {
		color: #231815;
		pointer-events: none
	}
	a:hover {
		transition: all .3s;
		text-decoration: none;
		color: #c9c9c9
	}
	.button_wrap .button:hover {
		color: #000;
		text-decoration: none;
		background-color: #fff
	}
	.button_wrap .button:hover:before {
		border-color: #000;
		transition-delay: .2s
	}
	.pc {
		display: block
	}
	.sp {
		display: none
	}
}
@media screen and (max-width: 768px) {
	.pc {
		display: none
	}
	.sp {
		display: block
	}
}

.loading {
	position: fixed;
	width: 100vw;
	height: 100vh;
	transition: all .6s;
	transform: translate(0);
	background-color: #fff;
	opacity: 1;
	top: 0;
	left: 0;
	z-index: 9999;
	align-items: center;
	justify-content: center
}
.loading:before {
	content: "";
	position: absolute;
	display: block;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #b0ae6f;
	transition: all .6s;
	transform: translateY(-100vh);
	display: none
}
.loading .loading_logo {
	margin-bottom: 44px;
	margin-left: 8px;
	opacity: 0;
	transition: all .3s;
	animation: load_logo cubic-bezier(.215, .61, .355, 1) .3s forwards
}
.loading .loader {
	margin: 0;
	font-size: .625rem;
	position: relative;
	text-indent: -9999em;
	border-top: .4em solid rgba(0, 0, 0, .2);
	border-right: .4em solid rgba(0, 0, 0, .2);
	border-bottom: .4em solid rgba(0, 0, 0, .2);
	border-left: .4em solid #333;
	transform: translateZ(0);
	animation: load_circle 1.1s infinite linear;
	border-radius: 50%;
	width: 53px;
	height: 53px
}
.loading .loader:after {
	border-radius: 50%;
	width: 53px;
	height: 53px
}
.loading.loadend {
	opacity: 1;
	transform: translateY(-100vh);
	visibility: hidden;
	transition-delay: .3s
}
.loading.loadend:before {
	opacity: 1;
	transform: translateY(100vh);
	visibility: hidden
}
.loading.loadend .loading_logo, .loading.loadend .loader {
	opacity: 0
}
.head_main {
	position: fixed;
	transform: translate3d(0);
	z-index: 10;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	width: 100%;
	height: 60px
}
.head_main h1 {
	position: relative;
	z-index: 30;
	width: 497px;
	margin-top: 6px;
	margin-left: 3.895%;
	animation: fv_logo cubic-bezier(.215, .61, .355, 1) 1s forwards;
	transition: all .4s;
	transform: scale(1);
	transform-origin: left center
}
.head_main img {
	object-fit: contain
}
.head_main .toggle {
	z-index: 30;
	position: relative;
	width: 60px;
	height: 100%;
	background-color: #083e52;
	animation: fv_toggle cubic-bezier(.215, .61, .355, 1) 1s forwards;
	animation-delay: .2s
}
.head_main .toggle:after {
	position: absolute;
	top: -50%;
	right: -50%;
	bottom: -50%;
	left: -50%;
	display: block;
	content: "";
	width: 60%;
	height: 60%;
	margin: auto;
	border-radius: 50%;
	border: 2px solid transparent;
	transition: all .75s
}
.head_main .toggle span {
	content: "";
	display: block;
	position: absolute;
	z-index: 1;
	width: 55%;
	height: 5%;
	background-color: #fff;
	right: 0;
	left: 0;
	margin: auto;
	transition: all .4s;
	transform: rotate(0) scale(1)
}
.head_main .toggle span:nth-child(1) {
	transform-origin: center;
	top: 35%
}
.head_main .toggle span:nth-child(2) {
	transform-origin: center;
	bottom: 35%
}
.head_main .nav_main {
	position: absolute;
	z-index: -1;
	top: 60px;
	left: 0;
	width: 100vw;
	height: calc(100vh - 60px);
	background-color: #47c4a699;
	margin: auto;
	z-index: 20;
	backdrop-filter: blur(20px);
	transition: all .3s;
	opacity: 0;
	transform: translate(100%)
}
.head_main .nav_main ul {
	position: absolute;
	top: 0;
	right: 0;
	width: 100vw;
	height: 100vh;
	padding: 32px 7.94%;
	background-color: #ffffffe6;
	transition: all .5s;
	opacity: 0;
	transform: translate(50%);
	transition-delay: .3s
}
.head_main .nav_main li {
	border-bottom: solid 1px #333;
	padding-bottom: 10px;
	margin-bottom: 20px;
	transition: all .4s;
	transform: translate(40px);
	opacity: 0
}
.head_main .nav_main li:nth-child(1) {
	transition-delay: .6s
}
.head_main .nav_main li:nth-child(2) {
	transition-delay: .68s
}
.head_main .nav_main li:nth-child(3) {
	transition-delay: .76s
}
.head_main .nav_main li:nth-child(4) {
	transition-delay: .84s
}
.head_main .nav_main li:nth-child(5) {
	transition-delay: .92s
}
.head_main .nav_main li:nth-child(6) {
	transition-delay: 1.04s
}
.head_main .nav_main li:nth-child(7) {
	transition-delay: 1.16s
}
.head_main .nav_main li:nth-child(8) {
	transition-delay: 1.28s
}
.head_main .nav_main li:nth-child(9) {
	transition-delay: 1.3s
}
.head_main .nav_main a {
	line-height: 1;
	display: flex;
	align-items: flex-end;
	gap: 16px
}
.head_main .nav_main span:nth-child(1) {
	font-family: PT Sans Narrow, sans-serif;
	color: #47c4a6;
	font-size: 2rem
}
.head_main .nav_main span:nth-child(2) {
	color: #333;
	font-size: 1rem
}
.head_main.fixed {
	background-color: #fff9;
	backdrop-filter: blur(20px);
}
.head_main.fixed h1 {
	transform: scale(.8)
}
.open .head_main .toggle:after {
	animation: toggle-anime .4s .25s forwards
}
.open .head_main .toggle span:nth-child(1) {
	transform: rotate(-45deg) scale(.5);
	top: 47.5%
}
.open .head_main .toggle span:nth-child(2) {
	transform: rotate(45deg) scale(.5);
	bottom: 47.5%
}
.open .head_main .nav_main, .open .head_main .nav_main ul, .open .head_main .nav_main ul li {
	opacity: 1;
	transform: translate(0)
}
@media screen and (max-width: 600px) {
	.head_main {
		align-items: center;
		height: 58px
	}
	.head_main h1 {
		width: 290px;
		margin-top: 0
	}
	.head_main .toggle {
		width: 48px
	}
	.head_main .nav_main {
		top: 48px;
		height: calc(100vh - 48px)
	}
	.head_main .nav_main span:nth-child(1) {
		font-size: 1.5rem
	}
	.head_main .nav_main span:nth-child(2) {
		font-size: .875rem
	}
}
@media screen and (max-width: 375px) {
	.head_main {
		height: 58px
	}
	.head_main h1 {
		margin-top: 6px
	}
	.head_main .toggle {
		width: 58px
	}
}

.main_body {
	padding-top: 60px;
	overflow: hidden;
}
.main_body .section {
	width: 100%;
	max-width: 1024px;
	margin: 0 auto;
	padding: 0 7.94%
}
.main_body .section h1 {
	color: #47c4a6;
	font-size: 3.125rem;
	line-height: 1;
	font-family: PT Sans Narrow, sans-serif
}
@media screen and (min-width: 1089px) {
	.main_body .section {
		max-width: 1088px;
		margin: 0 auto;
		padding: 0 32px
	}
}
@media screen and (max-width: 600px) {
	.main_body {
		padding-top: 58px
	}
	.main_body .section {
		padding: 0 7.94%
	}
	.main_body .section h1 {
		font-size: 2.25rem
	}
}

.main_body .section.sec_fv {
	position: relative;
	max-height: 555px;
	max-width: 100%;
	padding: 62px 0 103px;
	margin: 0 auto;
	animation: fv_slider cubic-bezier(.215, .61, .355, 1) 1s forwards;
	animation-delay: .4s
}
.main_body .section.sec_fv:before {
	content: "";
	display: block;
	position: absolute;
	right: -50%;
	bottom: 0;
	left: -50%;
	z-index: -1;
	margin: 0 auto;
	width: 100%;
	height: 329px;
	background-image: url(./images/student/bg_slider01.jpg);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	opacity: .7
}
.main_body .section.sec_fv .fv_slider {
	height: 100%
}
.main_body .section.sec_fv .fv_slider>div {
	height: 100%
}
.main_body .section.sec_fv .fv_slider>div>div {
	height: 100%
}
.main_body .section.sec_fv .fv_slider a {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 406.8182px;
	margin: 0
}
.main_body .section.sec_fv .fv_slider a img {
	width: 100%;
	max-width: 645px;
	height: 100%;
	max-height: 295px;
	object-fit: cover;
	transition: all 1.2s
}
.main_body .section.sec_fv .fv_slider .slick-center a img {
	max-width: 895px;
	max-height: 406.8182px;
	object-fit: contain;
	display: block;
}
.main_body .section.sec_fv .slick-dots {
	display: flex;
	justify-content: center;
	gap: 22px;
	bottom: -32.5px
}
.main_body .section.sec_fv .slick-dots li {
	width: 10px;
	height: 10px;
	margin: 0
}
.main_body .section.sec_fv .slick-dots li button {
	width: 10px;
	height: 10px;
	padding: 0
}
.main_body .section.sec_fv .slick-dots li button:before {
	content: "";
	display: block;
	opacity: 1;
	border-radius: 50%;
	background-color: gray;
	width: 10px;
	height: 10px
}
.main_body .section.sec_fv .slick-dots li.slick-active button:before {
	background-color: #d9726d
}
@media screen and (max-width: 1024px) {
	.main_body .section.sec_fv {
		height: 406px;
		margin: 16px 0 64px;
		padding: 0
	}
	.main_body .section.sec_fv:before {
		max-height: 406px;
		bottom: -64px
	}
	.main_body .section.sec_fv .fv_slider a {
		align-items: flex-start
	}
	.main_body .section.sec_fv .fv_slider a img {
		max-height: 406px;
		max-width: 890px;
		transition: all 1.2s;
	}
}
@media screen and (max-width: 890px) {
	.main_body .section.sec_fv {
		height: 45.617977528vw;
	}
	.main_body .section.sec_fv:before {
		max-height: 45.617977528vw;
	}
	.main_body .section.sec_fv .fv_slider a img {
		max-height: 45.617977528vw;
	}
}
@media screen and (max-width: 600px) {
	.main_body .section.sec_fv {
		margin: 0 0 64px
	}
}

.main_body .section.sec_news {
	padding-top: 56px;
	padding-bottom: 26px
}
.main_body .section.sec_news .news_header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 40px
}
.main_body .section.sec_news .navi_link {
	color: #606060;
	position: relative;
	padding-right: 32px
}
.main_body .section.sec_news .navi_link:before, .main_body .section.sec_news .navi_link:after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto 0
}
.main_body .section.sec_news .navi_link:before {
	z-index: 2;
	display: block;
	width: 8px;
	height: 8px;
	border: solid 1.62px #fff;
	border-width: 1.62px 1.62px 0 0;
	transform: rotate(45deg)
}
.main_body .section.sec_news .navi_link:after {
	z-index: 1;
	width: 20px;
	height: 20px;
	background-color: #23999f;
	border-radius: 50%
}
.main_body .section.sec_news .navi_link:before {
	right: 7px
}
.main_body .section.sec_news .navi_link:after {
	right: 0
}
.main_body .section.sec_news ul {
	display: flex;
	flex-direction: column;
	gap: 19px
}
.main_body .section.sec_news li a {
	display: flex;
	flex-direction: column;
	gap: 5px;
	color: #23999f;
	font-size: .875rem;
	line-height: 24.5px;
	border-bottom: dashed 1px #47C4A6;
	padding-bottom: 11px
}
.main_body .section.sec_news li a p {
	text-decoration: underline
}
.main_body .section.sec_news li .news_meta {
	display: flex;
	align-items: center;
	color: #606060;
	gap: 19px;
	text-decoration: none
}
.main_body .section.sec_news li .news_cat {
	text-align: center;
	line-height: 35px;
	width: 90px;
	height: 35px;
	color: #fff;
	border-radius: 17.5px;
	display: inline-block
}
.main_body .section.sec_news li .news_cat.news {
	background-color: #23999f
}
.main_body .section.sec_news li .news_cat.current {
	background-color: #cf1e79
}
@media screen and (max-width: 1024px) {
	.main_body {
		animation: fv_news cubic-bezier(.215, .61, .355, 1) 1s forwards;
		animation-delay: .6s
	}
}
@media screen and (max-width: 600px) {
	.main_body .section.sec_news {
		padding-top: 32px
	}
}

.main_body .section.sec_schedule {
	padding-top: 22px;
	padding-bottom: 40px
}
.main_body .section.sec_schedule h1 {
	margin-bottom: 28px
}
.main_body .section.sec_schedule .calendar_wrap {
	margin-bottom: 18px
}
.main_body .section.sec_schedule p {
	font-size: 1rem;
	line-height: 28px
}
.main_body .section.sec_schedule .table_wrap {
	display: flex;
	justify-content: space-between;
	gap: 16px;
}
.main_body .section.sec_schedule .table_wrap .table {
	width: calc(50% - 8px);
}
.main_body .section.sec_schedule .table_wrap .table>dl>dt {
	width: 100px;
	font-size: .875rem;
}
.main_body .section.sec_schedule .table_wrap .table>dl>dd {
	font-size: .875rem;
}
@media screen and (max-width: 1024px) {
	.main_body .section.sec_schedule .table_wrap {
		flex-direction: column;
		gap: 0;
	}
	.main_body .section.sec_schedule .table_wrap .table {
		width: 100%;
	}
	.main_body .section.sec_schedule .table_wrap .table:nth-child(2) {
		margin-top: -4px;
	}
}
@media screen and (max-width: 600px) {
	.main_body .section.sec_schedule p {
		font-size: .875rem;
		line-height: 24.5px
	}
	.main_body .section.sec_schedule .table_wrap .table>dl>dt {
		width: 100%;
	}
}

.main_body .section.sec_timetable {
	padding-bottom: 66px
}
.main_body .section.sec_timetable .sec_timetable_wrap {
	width: 100%;
	position: relative;
	margin-bottom: 33px;
	padding: 47px 0 74px
}
.main_body .section.sec_timetable .sec_timetable_wrap:before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	right: -50%;
	left: -50%;
	z-index: -1;
	margin: 0 auto;
	width: 100vw;
	height: 100%;
	background-color: #47c4a6;
	opacity: .7
}
.main_body .section.sec_timetable .timetable_header {
	display: flex;
	align-items: flex-end;
	gap: 27px;
	margin-bottom: 30px
}
.main_body .section.sec_timetable .timetable_header h1 {
	color: #333
}
.main_body .section.sec_timetable .timetable_header p {
	font-weight: 600;
	font-size: 1.375rem
}
.main_body .section.sec_timetable h2 {
	font-size: 1.375rem;
	line-height: 1;
	margin-bottom: 14px
}
.main_body .section.sec_timetable .timetable_wrap {
	display: flex;
	flex-direction: column;
	gap: 34.5px
}
.main_body .section.sec_timetable .timetable_wrap .timetable_cell {
	width: 100%
}
.main_body .section.sec_timetable .btn_wrap {
	display: flex;
	justify-content: center;
	gap: 20px
}
.main_body .section.sec_timetable .btn_wrap.time01 .btn_time {
	background-color: #eddd24
}
.main_body .section.sec_timetable .btn_wrap.time02 .btn_time {
	background-color: #ffa98c
}
@media screen and (min-width: 1089px) {
	.main_body .section.sec_timetable .timetable_wrap {
		flex-direction: row;
		gap: 34.5px
	}
}
@media screen and (min-width: 769px) {
	.main_body .section.sec_timetable .btn_wrap.time01 .btn_time:hover {
		background-color: #f0e56c
	}
	.main_body .section.sec_timetable .btn_wrap.time02 .btn_time:hover {
		background-color: #ffbca6
	}
}
@media screen and (max-width: 600px) {
	.main_body .section.sec_timetable .timetable_header p {
		font-size: 1rem
	}
	.main_body .section.sec_timetable h2 {
		font-size: 1.125rem
	}
	.main_body .section.sec_timetable .btn_wrap {
		display: flex;
		flex-direction: column;
		align-items: center
	}
}

.main_body .section.sec_class .sec_class_wrap {
	position: relative;
	width: 100%;
	padding: 49px 0 43px
}
.main_body .section.sec_class .sec_class_wrap:before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	right: -50%;
	bottom: 0;
	left: -50%;
	z-index: -1;
	margin: auto;
	width: 100vw;
	height: 100%;
	background-image: url(./images/student/bg_class01.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	opacity: .7
}
.main_body .section.sec_class h1 {
	margin-bottom: 30px;
	color: #333
}
.main_body .section.sec_class .class_list {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 26px
}
.main_body .section.sec_class .class_cell {
	width: 100%;
	max-width: 600px
}
.main_body .section.sec_class .class_cell a {
	display: flex;
	flex-direction: column;
	background-color: #fff;
	border-radius: 10px;
	overflow: hidden;
	width: 100%
}
.main_body .section.sec_class .class_cell figure {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 216px;
	background-repeat: no-repeat;
	position: relative;
	overflow: hidden
}
.main_body .section.sec_class .class_cell figure:before {
	content: "";
	display: block;
	position: absolute;
	background-repeat: no-repeat;
	background-size: contain;
	z-index: 1;
	transition: all .4s
}
.main_body .section.sec_class .class_cell figure img {
	object-fit: contain;
	position: relative;
	z-index: 2;
	transition: all .4s
}
.main_body .section.sec_class .class_cell.cell01 figure img {
	width: 73.43%;
	height: 81.94%
}
.main_body .section.sec_class .class_cell.cell01 figure:before {
	background-image: url(./images/student/bg_class_img01.svg);
	width: 100%;
	height: 66.2%;
	top: 19.4%;
	left: 46.494%
}
.main_body .section.sec_class .class_cell.cell02 figure img {
	width: 59.4%;
	height: 87.5%
}
.main_body .section.sec_class .class_cell.cell02 figure:before {
	background-image: url(./images/student/bg_class_img01.svg);
	width: 100%;
	height: 65.278%;
	top: 14.8%;
	left: 46.494%
}
.main_body .section.sec_class .class_cell.cell03 figure img {
	width: 60.7%;
	height: 83.796%
}
.main_body .section.sec_class .class_cell.cell03 figure:before {
	background-image: url(./images/student/bg_class_img01.svg);
	width: 100%;
	height: 60.65%;
	top: 14.8%;
	left: 7.1955%
}
.main_body .section.sec_class .class_cell.cell04 figure img {
	width: 54.24%;
	height: 90.278%
}
.main_body .section.sec_class .class_cell .btn_l {
	padding-left: 32px;
	flex-direction: column;
	gap: 13px;
	border-radius: 0
}
.main_body .section.sec_class .class_cell h2 {
	font-size: 1.375rem;
	margin: 0;
	line-height: 1
}
.main_body .section.sec_class .class_cell p {
	font-size: .8125rem;
	line-height: 1;
	padding-right: 44px
}
@media screen and (min-width: 769px) {
	.main_body .section.sec_class .class_cell a:hover figure img {
		transform: scale(1.05)
	}
	.main_body .section.sec_class .class_cell a:hover .btn_l {
		background-position: 99% 50%
	}
}
@media screen and (min-width: 1025px) {
	.main_body .section.sec_class .sec_class_wrap:before {
		background-image: url(./images/student/bg_class01.jpg)
	}
	.main_body .section.sec_class .class_list {
		flex-direction: row;
		flex-wrap: wrap;
		gap: 26px
	}
	.main_body .section.sec_class .class_cell {
		width: calc(50% - 13px)
	}
}
@media screen and (max-width: 600px) {
	.main_body .section.sec_class .class_cell figure {
		height: 39.852398524vw
	}
	.main_body .section.sec_class .class_cell .btn_l {
		gap: 12px
	}
	.main_body .section.sec_class .class_cell h2 {
		font-size: 1.125rem
	}
	.main_body .section.sec_class .class_cell p {
		font-size: .75rem;
		line-height: 1.5
	}
}

.main_body .section.sec_qa {
	padding-top: 40px
}
.main_body .section.sec_qa .qa_header {
	display: flex;
	align-items: flex-end;
	gap: 26px;
	margin-bottom: 8px
}
.main_body .section.sec_qa .qa_header p {
	font-weight: 600;
	font-size: 1.375rem
}
.main_body .section.sec_qa p {
	font-size: 1rem;
	line-height: 28px
}
.main_body .section.sec_qa p.recaptchaPolicy {
	text-align: center;
	font-size: .75rem;
	color: #909090;
}
.main_body .section.sec_qa .form {
	margin-top: 24px;
	display: flex;
	flex-direction: column;
	gap: 23px
}
.main_body .section.sec_qa .form dl {
	display: flex;
	flex-direction: column;
	gap: 15px
}
.main_body .section.sec_qa .form dt {
	font-size: 1.125rem
}
.main_body .section.sec_qa .form dd {
	width: 100%;
	display: flex
}
.main_body .section.sec_qa .form dd br {
	display: none;
}
.main_body .section.sec_qa .form label {
	display: flex;
	width: 100%;
	align-items: flex-start;
	gap: 12px
}
.main_body .section.sec_qa .form .req {
	background-color: #d66929;
	color: #fff;
	line-height: 31px;
	width: 50px;
	height: 31px;
	font-weight: 400;
	text-align: center
}
.main_body .section.sec_qa .form input[type=email],
.main_body .section.sec_qa .form input[type=text] {
	width: 100%;
	height: 66px;
	padding: 8px 12px;
	font-size: 1.125rem;
	border: solid 1px #666;
	border-radius: 5px
}
.main_body .section.sec_qa .form textarea {
	width: 100%;
	height: 147px;
	padding: 8px 12px;
	font-size: 1.125rem;
	border: solid 1px #666;
	border-radius: 5px
}
.main_body .section.sec_qa .btn_wrap {
	position: relative;
	width: 100%;
	margin-top: 36px;
}
.main_body .section.sec_qa .btn_wrap:before {
	content: "";
	display: block;
	position: absolute;
	top: 28.08px;
	right: 9px;
	z-index: 1;
	margin: auto 0;
	width: 31px;
	height: 31px;
	transform-origin: left top;
	transform: rotate(45deg);
	border: solid 2px #fff;
	border-width: 2px 2px 0 0
}
.main_body .section.sec_qa .btn_wrap input {
	position: relative;
	display: flex;
	justify-content: center;
	width: 100%;
	height: 100px;
	line-height: 100px;
	border-radius: 10px;
	background: linear-gradient(to right, #4780A6 0%, #47C4A6 50%, #99c44c 100%);
	background-position: 1% 50%;
	background-size: 200% auto;
	font-size: 1.375rem;
	color: #fff;
	margin: 0 auto;
	padding-right: 6.5px;
	transition: all .4s
}
@media screen and (min-width: 769px) {
	.main_body .section.sec_qa .form dl {
		flex-direction: row;
		gap: 40px
	}
	.main_body .section.sec_qa .form dt {
		width: 200px
	}
	.main_body .section.sec_qa .form dt label {
		justify-content: space-between
	}
	.main_body .section.sec_qa .form dd {
		width: calc(100% - 240px)
	}
	.main_body .section.sec_qa .form dd>span {
		width: 100%
	}
	.main_body .section.sec_qa .btn_wrap input:hover {
		background-position: 99% 50%
	}
}
@media screen and (max-width: 600px) {
	.main_body .section.sec_qa .qa_header p {
		font-size: 1rem
	}
	.main_body .section.sec_qa input[type=text] {
		font-size: .875rem;
		height: 44px
	}
	.main_body .section.sec_qa textarea {
		font-size: .875rem
	}
}

.main_body .section.sec_friend {
	padding-top: 36px
}
.main_body .section.sec_friend .friend_header {
	display: flex;
	align-items: flex-end;
	gap: 27px;
	margin-bottom: 30px
}
.main_body .section.sec_friend .friend_header p {
	font-weight: 600;
	font-size: 1.375rem
}
.main_body .section.sec_friend .friend_img_wrap {
	position: relative;
	padding-top: 261px;
	margin-bottom: 27px
}
.main_body .section.sec_friend .friend_img {
	position: absolute;
	top: 0;
	right: -50%;
	left: -50%;
	margin: 0 auto;
	width: 100vw;
	height: 261px
}
.main_body .section.sec_friend .friend_img img {
	display: block;
	width: 578px;
	height: auto;
	object-fit: contain;
	margin: 0 auto
}
.main_body .section.sec_friend p {
	font-size: 1rem;
	line-height: 28px
}
.main_body .section.sec_friend .friend_wrap {
	display: flex;
	flex-direction: column;
	gap: 19px;
	margin-top: 40px;
	margin-bottom: 17px
}
.main_body .section.sec_friend .friend_wrap dl {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	border-bottom: solid 1px #333
}
.main_body .section.sec_friend .friend_wrap dt {
	font-size: 1.5625rem;
	line-height: 43.75px;
	font-weight: 600;
	width: 245px;
	letter-spacing: .05em
}
.main_body .section.sec_friend .friend_wrap dd {
	display: flex;
	justify-content: flex-end;
	font-size: 4.6534125rem;
	line-height: 1;
	font-family: PT Sans Narrow, sans-serif;
	color: #ffa629;
	padding-bottom: 5px
}
.main_body .section.sec_friend .friend_wrap.type2 dl {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: flex-start;
  align-items: flex-start;
  border-bottom: solid 1px #333
}
.main_body .section.sec_friend .friend_wrap.type2 dt {
  font-size: 1.5625rem;
  line-height: 43.75px;
  font-weight: 600;
  letter-spacing: .05em;
  width: auto;
}
.main_body .section.sec_friend .friend_wrap.type2 dd {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  justify-content: flex-end;
  font-size: 1.55rem;
  line-height: 1;
  font-weight: 700;
  font-family: PT Sans Narrow, sans-serif;
  color: #ffa629;
  padding-bottom: 5px
}
.main_body .section.sec_friend .friend_wrap.type2 dd ul {
  display: flex;
  flex-direction: row;
  gap: 16px;
}
.main_body .section.sec_friend .friend_wrap.type2 dd strong{
  font-size: 3.6534125rem;
}
.main_body .section.sec_friend .btn_wrap {
  margin-bottom: 36px;
}
.main_body .section.sec_friend .friend_step_sh {
  margin-bottom: 24px;
  padding-top: 32px;
  color: #3dbfa0;
}
.main_body .section.sec_friend .friend_step {
  display: flex;
  flex-direction: column;
  gap: 48px;
}
.main_body .section.sec_friend .friend_step li {
  position: relative;
  display: flex;
  gap: 12px;
}
.main_body .section.sec_friend .friend_step li:not(:last-child)::before {
  display: block;
  content: '';
  position: absolute;
  bottom: -32px;
  left: 32px;
  margin: 0 auto;
  width: 32px;
  height: calc(32px / 2);
  background: #ccc;
  clip-path: polygon(0 0,50% 100%,100% 0);
}
.main_body .section.sec_friend .friend_step li span{
  display: flex;
  flex-direction: column;
  justify-content: center;
  line-height: 32px;
  width: 90px;
  padding: 0 16px;
  font-weight: 700;
  background-color: #3dbfa0;
  clip-path: polygon(0 0,10% 50%,0 100%,90% 100%,100% 50%,90% 0);
}
.main_body .section.sec_friend .note {
  font-size: 12px;
}
@media screen and (min-width: 1089px) {
  .main_body .section.sec_friend .friend_wrap.type2 dl {
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-start;
    align-items: flex-start;
  }
  .main_body .section.sec_friend .friend_wrap.type2 dd ul {
    flex-direction: column;
    gap: 16px;
  }
}
@media screen and (min-width: 601px) {
  .main_body .section.sec_friend .friend_wrap.type2 dt {
    font-size: 1.25rem;
  }
  .main_body .section.sec_friend .friend_wrap.type2 dd {
    font-size: 1.25rem;
  }
  .main_body .section.sec_friend .friend_wrap.type2 dd strong{
    font-size: 3rem;
  }
}
@media screen and (min-width: 769px) {
  .main_body .section.sec_friend .friend_wrap.type2 dt {
    font-size: 1.5625rem;
  }
  .main_body .section.sec_friend .friend_wrap.type2 dd {
    font-size: 1.55rem;
  }
  .main_body .section.sec_friend .friend_wrap.type2 dd strong{
    font-size: 3.6534125rem;
  }
}
@media screen and (min-width: 1025px) {
	.main_body .section.sec_friend .friend_img_wrap {
		position: relative;
		padding-top: 261px;
		margin-bottom: 27px
	}
	.main_body .section.sec_friend .friend_img {
		position: absolute;
		top: 0;
		right: -50%;
		left: -50%;
		margin: 0 auto;
		width: 100vw;
		height: 261px
	}
	.main_body .section.sec_friend .friend_img img {
		display: block;
		width: 578px;
		height: auto;
		object-fit: contain;
		margin: 0 auto
	}
	.main_body .section.sec_friend .friend_wrap {
		display: flex;
		gap: 19px
	}
	.main_body .section.sec_friend .friend_wrap dl {
		display: flex;
		align-items: flex-end;
		justify-content: space-between;
		border-bottom: solid 1px #333
	}
	.main_body .section.sec_friend .friend_wrap dt {
		font-size: 1.5625rem;
		line-height: 43.75px;
		font-weight: 600;
		width: 245px;
		letter-spacing: .05em
	}
	.main_body .section.sec_friend .friend_wrap dd {
		display: flex;
		justify-content: flex-end;
		font-size: 4.6534125rem;
		line-height: 1;
		font-family: PT Sans Narrow, sans-serif;
		color: #ffa629;
		padding-bottom: 5px
	}
  .main_body .section.sec_friend .friend_wrap.type2 dl {
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-start;
    align-items: flex-start;
    border-bottom: solid 1px #333
  }
  .main_body .section.sec_friend .friend_wrap.type2 dt {
    font-size: 1.5625rem;
    line-height: 43.75px;
    font-weight: 600;
    letter-spacing: .05em;
    width: auto;
  }
  .main_body .section.sec_friend .friend_wrap.type2 dd {
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    font-size: 1.55rem;
    line-height: 1;
    font-weight: 700;
    font-family: PT Sans Narrow, sans-serif;
    color: #ffa629;
    padding-bottom: 5px
  }
  .main_body .section.sec_friend .friend_wrap.type2 dd strong{
    font-size: 3.6534125rem;
  }
}
@media screen and (max-width: 600px) {
	.main_body .section.sec_friend .friend_header p {
		font-size: 1rem
	}
	.main_body .section.sec_friend .friend_img_wrap {
		padding-top: 0
	}
	.main_body .section.sec_friend .friend_img {
		position: relative;
		right: 0;
		left: 0;
		width: 100%;
		height: auto
	}
	.main_body .section.sec_friend .friend_img img {
		width: 100%;
		height: auto;
		transform: scale(1.066)
	}
	.main_body .section.sec_friend p {
		font-size: .875rem;
		line-height: 24.5px
	}
	.main_body .section.sec_friend .friend_wrap dt {
		font-size: 1.125rem;
		line-height: 31.5px;
		width: 160px;
		letter-spacing: 0
	}
	.main_body .section.sec_friend .friend_wrap dd {
		font-size: 3.5rem
	}
  .main_body .section.sec_friend .friend_wrap.type2 dl {
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-start;
    align-items: flex-start;
    border-bottom: solid 1px #333
  }
  .main_body .section.sec_friend .friend_wrap.type2 dt {
    font-size: 1.25rem;
    line-height: 1.8;
  }
  .main_body .section.sec_friend .friend_wrap.type2 dd {
    font-size: 1.25rem;
  }
  .main_body .section.sec_friend .friend_wrap.type2 dd ul {
    flex-direction: column;
  }
  .main_body .section.sec_friend .friend_wrap.type2 dd strong{
    font-size: 2.5rem;
  }
}

.main_body .section.sec_graduation {
	padding-top: 36px;
	padding-bottom: 46px
}
.main_body .section.sec_graduation .sec_graduation_wrap {
	position: relative;
	padding-bottom: 29px
}
.main_body .section.sec_graduation .sec_graduation_wrap:before {
	content: "";
	display: block;
	position: absolute;
	right: 0;
	bottom: 0;
	width: 96px;
	height: 156px;
	background-image: url(./images/student/img_cube01.png);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	z-index: -1;
	transition: all .4s;
	transform: scale(1);
	transform-origin: bottom right
}
.main_body .section.sec_graduation .sec_graduation_wrap>p {
	padding-right: 100px
}
.main_body .section.sec_graduation .graduation_header {
	display: flex;
	flex-direction: column;
	gap: 9px;
	margin-bottom: 19px
}
.main_body .section.sec_graduation .graduation_header p {
	font-weight: 600;
	font-size: 1.375rem;
	line-height: 1
}
.main_body .section.sec_graduation .btn_wrap {
	display: flex;
	flex-direction: column;
	width: 100%;
	margin-top: 33px;
	gap: 16px
}
.main_body .section.sec_graduation .btn_wrap .btn_l.type2 {
	background: linear-gradient(to right, #00dcff 0%, #9a80cf 50%, #cf1e79 100%);
	background-position: 1% 50%;
	background-size: 200% auto
}
@media screen and (min-width: 769px) {
	.main_body .section.sec_graduation .btn_wrap {
		flex-direction: row;
	}
	.main_body .section.sec_graduation .btn_wrap .btn_l.type2:hover {
		background-position: 99% 50%
	}
}
@media screen and (max-width: 600px) {
	.main_body .section.sec_graduation {
		padding-top: 36px;
		padding-bottom: 46px
	}
	.main_body .section.sec_graduation .sec_graduation_wrap:before {
		transform: scale(.8)
	}
	.main_body .section.sec_graduation .graduation_header p {
		font-size: 1rem
	}
}

.nav_foot {
	position: fixed;
	transform: translate3d(0);
	z-index: 20;
	right: 0;
	bottom: 0;
	left: 0;
	/* margin: 0 auto; */
	display: flex;
	justify-content: center;
	width: 100%;
	gap: 3px;
	font-size: .9375rem;
	background-color: #ffffffe6;
	backdrop-filter: blur(20px);
	animation: fv_foot cubic-bezier(.215, .61, .355, 1) 1s forwards;
	animation-delay: .6s
}
.nav_foot a {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: flex-end;
	flex: 1;
	max-width: 202.4px;
	height: 100px;
	font-weight: 600;
	line-height: 1.334;
	color: #fff;
	text-align: center;
	background-repeat: no-repeat;
	background-size: contain;
	padding: 0 0 17px;
	transition: all .4s
}
.nav_foot a:before {
	content: "";
	display: block;
	position: absolute;
	right: 0;
	left: 0;
	margin: 0 auto;
	background-repeat: no-repeat;
  background-size: contain;
	transition: all .4s
}
.nav_foot a:nth-child(1) {
	background-color: #00719e;
	padding: 0 0 7.5px;
}
.nav_foot a:nth-child(1):before {
	top: 14px;
	width: 38px;
	height: 30px;
	background-image: url(./images/student/icon_current_menu01.svg)
}
.nav_foot a:nth-child(2) {
	background-color: #47c4a6
}
.nav_foot a:nth-child(2):before {
	top: 18px;
	width: 24px;
	height: 31px;
	background-image: url(./images/student/icon_current_menu02.svg)
}
.nav_foot a:nth-child(3) {
	background-color: #479fc1;
	padding: 0 0 7.5px;
}
.nav_foot a:nth-child(3):before {
	top: 20px;
	width: 33px;
	height: 28px;
	background-image: url(./images/student/icon_current_menu03.svg)
}
.nav_foot a:nth-child(4) {
	background-color: #99c44c
}
.nav_foot a:nth-child(4):before {
	top: 17px;
	width: 34px;
	height: 34px;
	background-image: url(./images/student/icon_current_menu04.svg)
}
.nav_foot a:nth-child(5) {
	background-color: #F2441F;
	padding: 0 0 7.5px;
}
.nav_foot a:nth-child(5):before {
	top: 19px;
	width: 40px;
	height: 27px;
	background-image: url(./images/student/icon_current_menu05.svg)
}
.nav_foot a:nth-child(6) {
	background-color: #F2901F;
	padding: 0 0 7.5px;
}
.nav_foot a:nth-child(6):before {
	top: 19px;
	width: 40px;
	height: 26px;
	background-image: url(./images/student/icon_current_menu06.svg)
}
@media screen and (min-width: 1281px) {
	.nav_foot {
		justify-content: flex-end;
		top: 0;
		right: 63px;
		bottom: auto;
		left: auto;
		margin: auto 0;
		font-size: .875rem;
		width: 760px
	}
	.nav_foot a {
		justify-content: flex-start;
		align-items: center;
		text-align: left;
    width: 100%;
    max-width: 120px;
		height: 60px;
		padding: 0
	}
	.nav_foot a:before {
		right: auto;
		bottom: 0;
		left: auto;
		margin: auto 0
	}
	.nav_foot a:nth-child(1) {
		padding: 0 0 0 45px
	}
	.nav_foot a:nth-child(1):before {
		top: 0;
		left: 10px;
		width: 27px;
		height: 21px
	}
	.nav_foot a:nth-child(2) {
		padding: 0 0 0 45px
	}
	.nav_foot a:nth-child(2):before {
		top: 0;
		left: 15px;
		width: 17px;
		height: 22px
	}
	.nav_foot a:nth-child(3) {
		padding: 0 4px 0 41px
	}
	.nav_foot a:nth-child(3):before {
		top: 0;
		left: 8px;
		width: 23.5px;
		height: 20px
	}
	.nav_foot a:nth-child(4) {
		padding: 0 0 0 45px
	}
	.nav_foot a:nth-child(4):before {
		top: 0;
		left: 12px;
		width: 24px;
		height: 24px
	}
	.nav_foot a:nth-child(5) {
		padding: 0 0 0 32px;
    letter-spacing: -.02em;
	}
	.nav_foot a:nth-child(5):before {
		top: 0;
		left: 5px;
		width: 25px;
		height: 19px;
	}
	.nav_foot a:nth-child(6) {
		padding: 0 0 0 45px
	}
	.nav_foot a:nth-child(6):before {
		top: 0;
		left: 10px;
		width: 25px;
		height: 18px
	}
}
@media screen and (min-width: 769px) {
	.nav_foot a:hover:nth-child(1) {
		background-color: #003a52
	}
	.nav_foot a:hover:nth-child(2) {
		background-color: #1f7863
	}
	.nav_foot a:hover:nth-child(3) {
		background-color: #205d75
	}
	.nav_foot a:hover:nth-child(4) {
		background-color: #597823
	}
	.nav_foot a:hover:nth-child(5) {
		background-color: #ad3319
	}
	.nav_foot a:hover:nth-child(6) {
		background-color: #F2901F
	}
}
@media screen and (max-width: 600px) {
	.nav_foot {
    flex-wrap: wrap;
    gap: 2px;
		font-size: .625rem;
		width: 100vw;
    height: 90px;
	}
	.nav_foot a {
    flex-direction: row;
		justify-content: center;
    align-items: center;
    gap: 4px;
		text-align: left;
    flex: auto;
    width: 100%;
    max-width: calc((100% - 4px) / 3);
		height: 44px;
		padding: 0;
	}
	.nav_foot a:before {
    position: relative;
    margin: 0;
	}
	.nav_foot a:nth-child(1) {
		padding: 0 0 2px
	}
	.nav_foot a:nth-child(1):before {
		top: auto;
		width: 25px;
		height: 20px
	}
	.nav_foot a:nth-child(2):before {
		top: auto;
		width: 16px;
		height: 20px
	}
	.nav_foot a:nth-child(3) {
		padding: 0 0 2px
	}
	.nav_foot a:nth-child(3):before {
		top: auto;
		width: 22px;
		height: 18px
	}
	.nav_foot a:nth-child(4):before {
		top: auto;
		width: 23px;
		height: 23px
	}
	.nav_foot a:nth-child(5) {
		padding: 0 0 2px
	}
	.nav_foot a:nth-child(5):before {
		top: auto;
		width: 26px;
		height: 17px;
	}
	.nav_foot a:nth-child(6) {
		padding: 0 0 2px
	}
	.nav_foot a:nth-child(6):before {
		top: auto;
		width: 26px;
		height: 16px;
	}
}

.main_foot {
	background-image: url(./images/bg_foot01.jpg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	color: #fff
}
.main_foot .main_foot_wrap {
	padding: 49px 7.94% 125px;
	width: 100%;
	max-width: 1024px;
	margin: 0 auto
}
.main_foot h1 {
	width: 350px;
	height: 89px;
	margin-bottom: 21.5px;
	line-height: 1;
	filter: drop-shadow(0 0 3.6482px rgba(0, 0, 0, .75))
}
.main_foot h1 img {
	width: 100%;
	height: 100%;
	object-fit: contain
}
.main_foot .foot_name {
	font-size: .875rem;
	line-height: 1;
	margin-bottom: 19px
}
.main_foot h2 {
	display: flex;
	align-items: flex-end;
	gap: 16px;
	line-height: 1;
	margin-bottom: 24px
}
.main_foot h2 img {
	width: 305px;
	height: 33px
}
.main_foot h2 span {
	font-size: 1.66975rem;
	line-height: 1;
	color: #ffc41e
}
.main_foot .btn_wrap {
	margin-bottom: 15px
}
.main_foot .foot_contact {
	margin-bottom: 23px;
	line-height: 1
}
.main_foot .foot_contact li {
	font-size: .875rem
}
.main_foot .foot_contact address {
	margin-bottom: 12px;
	font-style: normal
}
.main_foot .foot_contact a {
	color: #fff
}
.main_foot .access_wrap {
	margin-bottom: 49px
}
.main_foot .access_wrap a {
	line-height: 18px;
	color: #fff;
	display: block;
	position: relative;
	display: flex;
	font-size: .875rem;
	font-weight: 600;
	padding: 0 0 0 16px;
	text-decoration: underline
}
.main_foot .access_wrap a:before {
	content: "";
	display: inline-block;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	background-image: url(./images/icon_map01.svg);
	width: 12px;
	height: 18px
}
.main_foot .foot_wrap {
	display: flex;
	align-items: center;
	gap: 32px
}
.main_foot .sns_list {
	display: flex;
	gap: 32px
}
.main_foot .sns_list .link_youtube img, .main_foot .sns_list .link_facebook img, .main_foot .sns_list .link_instagram img {
	object-fit: contain
}
.main_foot small {
	font-size: .75rem;
	font-weight: 600
}
@media screen and (min-width: 1089px) {
	.main_foot .main_foot_wrap {
		padding: 49px 32px;
		max-width: 1088px
	}
	.main_foot .main_foot_wrap .foot_wrap {
		justify-content: flex-end
	}
}
@media screen and (max-width: 600px) {
	.main_foot .main_foot_wrap {
		padding: 49px 7.94% 83px
	}
	.main_foot h1 {
		width: 220px;
		height: auto;
	}
	.main_foot .foot_name {
		font-size: .75rem;
		line-height: 1;
		margin-bottom: 19px
	}
	.main_foot h2 {
		gap: 10px
	}
	.main_foot h2 img {
		width: 189px;
		height: 21px
	}
	.main_foot h2 span {
		font-size: 1rem
	}
	.main_foot .btn_wrap {
		margin-bottom: 15px
	}
	.main_foot .foot_contact li {
		font-size: .8125rem
	}
	.main_foot .foot_wrap {
		flex-direction: column
	}
}