.main_visual{ width:100%; position:relative; margin-top:108px; height:40vw; overflow:hidden;}

.slide-box{margin:0 10px; border-radius:0px; overflow:hidden;}
.slide-box img{width:100%;}
.slide-box em{display:block; width:100%; padding-bottom:42.5%;  background-size:cover !important; background-position:50% !important; background-repeat:no-repeat !important; border-radius:20px;}

.main-visual .container{position: relative;}
.visual-swiper{overflow: visible; height:100%; width:100%;}
.visual-swiper .swiper-button-prev{left:30px}
.visual-swiper .swiper-button-next{right:30px;}
.swiper-slide a {display:block; width:100%; height:100%; position:relative;}
.swiper-slide a > div.pc-banner {display:block; width:100%; height:100%; background-position:50% 50% !important; background-repeat:no-repeat !important; background-size:cover !important;position:absolute; }
.pc-banner-video{display:block; position:relative; width:100%; height:100%;}
.swiper-slide a > div.pc-banner-video .view{position: absolute;top: 50%;left: 50%;width: 100%;height: 100%;background: no-repeat 0 50%;background-size: cover;transform: translate(-50%, -50%);background-position: 50% 50%;}
.swiper-slide a > div.pc-banner-video .view video{width:100%;}

.container { transition: padding-top 0.5s;}
.container-mid{max-width: 100%; margin:0 auto; position:relative; height:100%;}
.container-sm{max-width: 960px}

.quick-menu{padding:3vw 0; display:flex; color:#282828;justify-content: center;align-items: center;}
.quick-menu .quick-menu-item {display:flex;align-items: center;}
.quick-menu .quick-menu-item li {position:relative}
.quick-menu .quick-menu-item li a {display:flex; align-items: center; flex-direction: column; text-align:center; padding:0 2em}
.quick-menu .quick-menu-item li a img {width:52px;display:inline-block; margin-bottom:0.8em; opacity:1;transition: all 0.5s;}
.quick-menu .quick-menu-item li a:hover img{opacity:1}
.quick-menu .quick-menu-item:after{content:""; display:block; margin:0 4em 0 2em; width:40px; height:1px; background:#282828; opacity:0.8}
.quick-menu .quick-menu-call{display:flex; flex-direction: column;}
.quick-menu .quick-menu-call span{font-size:0.85em; opacity:1}
.quick-menu .quick-menu-call b{font-size:2.4em; line-height:1; font-weight:900; display:block; margin-bottom:2px;}
.quick-menu .quick-menu-call p {font-weight:300; opacity:0.8}

.quick-bubble {display:flex; align-items: center; justify-content: center; position:absolute; top: -27px; left: 40%; width: fit-content; height:25px; white-space: nowrap; padding: 0 10px; border-radius: 35px; background: #f7216d; font-weight: 500; font-size: 12px; line-height: 1.3; color: #fff; -webkit-animation: blink 1.0s infinite;font-style: normal; font-weight: 600; }
.quick-bubble:after {content:''; border-right: 8px solid transparent; position: absolute; z-index: 1; bottom: -8px; left: 23px; border-top:solid 8px #f7216d;}
@-webkit-keyframes blink {
	0% {opacity:0; }
	49% {opacity:0;}
	50% {opacity:1;}
	99% {opacity:1;}
	100% {opacity:0; }
}


.main-tit {display:block; width:100%; position:relative; margin-bottom:2vw;}
.main-tit h3{font-size:2vw; font-weight:900;letter-spacing:-0.075em; line-height:1.4}
.main-tit h3 em {display:block; font-weight:200}
.main-tit p {font-size:1vw; text-transform:uppercase;}

.main-sect{width:100%; position:relative; margin-top:80px;}
.main-txt{font-size:17px; width:100%; display:block; letter-spacing:-0.05em;}

.main-tab{display:block; margin-bottom:40px;}
.main-tab .tabMenu{padding:0px 56px 0px 0px;flex-wrap:nowrap;white-space:nowrap;overflow-x:auto;}
.main-tab .tabMenu::-webkit-scrollbar{display:none;}
.main-tab .tabMenu {overflow-x:auto; -ms-overflow-style:none; scrollbar-width:none; white-space:nowrap; -webkit-overflow-scrolling:touch;}
.tabMenu {width:100%;display:flex;flex-wrap:wrap;}
.tabMenu li a{display:flex;margin:0 12px 0px 0;padding:12px 20px;height:auto;background:#fff;color:#282828;border-radius:40px;font-size:1vw;font-weight:700; line-height:1; align-items: center; border:1px solid #282828; cursor:pointer}
.tabMenu li.on a{background:#282828; color:#fff;}

.curri-item > ul{display:flex !important; flex-wrap: wrap;    align-items: flex-start;  justify-content: flex-start; margin-left:-20px}
.curri-item > ul li {width: calc(100% / 5 - 20px);margin-left: 20px; margin-bottom:40px;}
.curri-item > ul li a, .itv-item .swiper-slide a{display:block; }
.curri-item > ul li a h3, .itv-item .swiper-slide a h3 {font-size:17px; font-weight:700; margin-top:12px}

.curri-item > ul li a .cate { margin-left: -4px; margin-top: 5px; font-weight: 300; color: #888; display: -webkit-box; word-wrap: break-word; -webkit-line-clamp: 2; -webkit-box-orient: vertical; text-overflow: ellipsis; overflow: hidden; }
.curri-item > ul li a .cate dd { display: inline-block; height: 2em; padding: 0 1em; margin-top: 6px; margin-left: 4px; line-height: 2em; font-size: 12px; color: #000; background-color: #F2F2F2; border-radius: 2em; font-weight: 400; transition: background-color 0.4s, color 0.4s; }
.curri-item > ul li a .cate dd:hover{background:#282828; color:#fff;}

.main-itv .in .swiper-container{ overflow:visible}
.itv-item .swiper-slide a h3 span{font-weight:300;}
.itv-item .swiper-slide a p {font-size:14px; opacity:0.5; display:block; margin-bottom:12px;}
.itv-item .swiper-slide a .inv-txt {font-size:15px; padding-right:24px;}
.itv-item .swiper-slide a em {display:block; width:100%; padding-bottom:100%; background-position:50% top !important; background-repeat:no-repeat !important; background-size:cover !important; border-radius:12px;}
 
.curri-item ul li .img { position: relative; padding-top: 100%; overflow: hidden; border-radius:12px; overflow:hidden;}
.curri-item ul li .img img { position: absolute; left: 0; top: 50%; width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s; transform: translateY(-50%); }
.curri-item ul li .img:hover img { transform: translateY(-50%) scale(1.05); }



.main-fac .paging{display:none;}
.fac-item{margin-top:4vw;}
.fac-item .mn-facImg {display:block; padding-bottom:42%; transition: opacity 0.7s, transform 0.7s; border-radius:24px; overflow:hidden; background-size:cover !important; background-position: 50% 50% !important;}
.fac-item .swiper-container{overflow:visible}


#footer {overflow: hidden;padding: 0px 25px;display: block;}
#footer_wrap { position: relative;height: auto;border: none;background: #fff;padding: 60px 0 50px;border-top: 2px solid #e5e5e5;	margin-top:60px; background:#fafafa}
#footer a, #footer a:visited {color: #282828}
#footer * {color: #282828;font-size: 11px;line-height: 13px;}
#footer h2 {width: 100%;display: inline-block;margin-bottom: 20px;}
#footer h2 img {width: 156px;}
.footer_location {background: #eee;padding: 20px;display: block;width: 100%;margin-bottom: 30px;border-radius: 6px;}
.footer_location dl dt {display: block;font-weight: bold;padding-bottom: 5px;}
.footer_location dl dd {display: inline-block;padding-right: 5px;margin-right: 4px;position: relative;}
.footer_location dl dd:after {content: "กค";display: block;position: absolute;top: 0px;right: -4px;}
.footer_location dl dd:last-child:after {display: none;}
#footer .cs_area {position: static;top: auto;right: auto;padding-top: 20px}
#footer .cs_area h4 {overflow: hidden; font-size: 13px}
#footer .cs_area>a {overflow: hidden;font-size: 40px;font-weight: 600}
#footer .cs_area ul {overflow: hidden;margin-top: 20px}
#footer .cs_area ul li {overflow: hidden;margin-bottom: 8px;}
#footer .cs_area ul li a {overflow: hidden;font-size: 14px}
#footer .cs_area ul li:last-child a {font-size: 13px}
#footer .cs_area ul li br {display: none}
#footer .cs_area ul li:nth-child(3) {float: left;margin-right: 25px}
#footer .cs_area ul li:last-child {float: left}
#footer .cs_area ul li a.btn_email {display: inline-block;margin-left: 10px;vertical-align: middle}
.underline {text-decoration: underline;}
#footer .info1_area {position: static;bottom: auto;left: auto;width: auto;margin-top: 30px}
#footer .info1_area ul {position: relative;overflow: hidden;}
#footer .info1_area ul li {overflow: hidden;margin-bottom: 8px;display:inline-block;}
#footer .info1_area ul li a {overflow: hidden;text-decoration: underline;}
#footer .info1_area .copyright {clear: both;overflow: hidden;font-size: 12px}
#footer .info2_area {position: static;top: auto;left: auto;margin: 30px 0}
#footer .info2_area ul li {margin: 0 0px 0 20px;float: right}
#footer .annex {border-top : 0px solid #ddd;padding-top: 12px;}
#footer .footer_number-info li a {color: #1792a1;text-decoration: underline;}
.footer_number-info {display: flex;flex-direction: column;}
.footer_number-info li {margin-top: 8px;}
.footer_number-info li:nth-child(1) {margin-top: 0;}


#footer_wrap .in #footer {display:flex;}
#footer_wrap .in #footer:after {display:block; clear:both; content:"";}
#footer_wrap .in #footer .footer-af-info{width:60%;}
#footer_wrap .in #footer .footer-site-info{width:38%; float:right;}
#footer_wrap .in #footer .footer-site-info * {text-align:right;}
.footer-site-navi {display:flex !important;justify-content: flex-end;}
.footer-site-navi li {padding-left:10px; margin-left:10px; position:relative;}
.footer-site-navi li:after {width:1px; height:100%; position:absolute; top:0px; left:0px; background:#ddd; content:"";}
.footer-site-navi li:first-child:after{display:none;}

.ftAddr {width:100%;}
.ftAddr th,
.ftAddr td {font-size:13px; padding:8px 0; text-align:center; color:#fff; font-weight:normal; border-bottom:1px solid rgba(0,0,0,.08)}
.ftAddr th {background:#282828; color:#fff !important;}
.ftAddr tbody tr:first-child td {padding-top:10px;}
.ftAddr tbody td:nth-child(2){text-align:left;}

	.pop-up {
		position:absolute; top:150px; z-index:101; right:2%; width:450px; 
		overflow:hidden;
		border-radius: 5px 5px 5px 5px; -moz-border-radius: 5px 5px 5px 5px; -webkit-border-radius: 5px 5px 5px 5px;
		-webkit-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.3); -moz-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.3); box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.3);
	}
	.pop-up img {display:block; width:100%;}
	.pop-up ul {border-top:solid 1px #dedede;}
	.pop-up ul:after {content:""; display:table; clear:both;}
	.pop-up ul li {float:left; width:50%;}
	.pop-up ul li:first-child {border-right:solid 1px #dedede;}
	.pop-up ul li a {display:block; text-align:center; height:54px; line-height:54px; color:#222; font-size:10pt; font-weight:400; background:#fff;}
	.pop-up.sm{width:350px; top: 50px;}
	#popCsk{right:2%;}
	#popCsk-snd{right:27%;}
	#popCsk-snd.sm{right:22%;}
	#popCsk-third.sm{right:20%; right: 2%; top: 505px;}

	.pop-up.timer { width: 400px; right: 7%; display: none; }

.tabMenu.teacherMenu li:last-child {display:none;}