/* reset, common */
body{overflow-x: hidden;}
#container:after{display: none;}
#container{padding: 0; min-width: 1200px; max-width:1920px; margin: 0 auto; text-align: unset;}
#container .innerBox{width: 1200px; margin: 0 auto; position: relative;}
#container *{font-family: 'Pretendard', sans-serif;}
#container img{vertical-align:top;}
button{padding: 0; margin: 0;}

article{color: #222; letter-spacing: -0.05em; line-height: 1.2;}
.txt-hide {overflow: hidden; border: 0; position: absolute; z-index:-1; width:1px; height:1px; clip: rect(1px, 1px, 1px, 1px); clip-path:inset(50%);}

:root {
	--color-basic: #333;
	--color-1: #1ca1f3;
	--color-2: #ff7200;
}
.txc-basic{color: var(--color-basic) !important;}
.txc-1{color: var(--color-1) !important;}
.txc-2{color: var(--color-2) !important;}


/* button */
.a-btn{display: block; position: absolute; overflow: hidden; text-indent: -9999em;}
.a-shadow{transition: box-shadow 0.4s;}
.a-shadow:hover{box-shadow: 0 3px 15px rgba(0,0,0,.6);}
.btn-apply{display: flex; align-items: center; justify-content: center; height: 76px; padding: 0 25px; font-size: 28px; font-weight: 500; line-height: 1; white-space: nowrap; transition: box-shadow 0.4s; z-index: 1;}
.btn-apply .ico-arrow{width: 15px; height: 15px; stroke-width: 1px; stroke: #fff; fill: none; margin-left: 30px; margin-right: -15px;}
.btn-apply.type-01{color: #fff; background-color: var(--color-1);}
.btn-apply.type-01:hover{box-shadow: 0 10px 30px rgba(28,161,243, .5);}
.btn-apply.type-02{color: var(--color-2); background-color: #fff;}
.btn-apply.type-02:hover{box-shadow: 0 10px 30px rgba(255,114,0, .5);}
.btn-apply.type-02 .ico-arrow{stroke: var(--color-2);}
.btn-1{position: absolute; left: 350px; bottom: 100px; width: 500px; height: 80px;}


/* bg */
.visual_wrap{background: url('img/bg_visual.jpg') center top no-repeat; overflow: hidden;}
.cont01{background-color: #c7d7fb;}
.cont02{background: url('img/bg_02.jpg') center top no-repeat; overflow: hidden;}
.cont03{background: url('img/bg_03.jpg') center top no-repeat; overflow: hidden;}
.cont04{background-color: #f1f1f1;}
.cont05{background: url('img/bg_05.jpg') center top no-repeat; overflow: hidden;}
.cont06{background: url('img/bg_06.jpg') center top no-repeat;}


/* visual */
.visual_wrap .title{position: absolute; top: 200px; left: 50%; transform: translateX(-50%);}
@keyframes blink-1 {
	100% {
		opacity: 1;
	}
}
.visual_wrap .ico{position: absolute; bottom: 0; right: 0; will-change: transform;}
.visual_wrap .ico-1{left: 50%; top: -140px; margin-left: -655px;}
.visual_wrap .ico-2{left: 50%; bottom: 108px; margin-left: -850px;}
.visual_wrap .ico-3{right: 50%; top: -50px; margin-right: -705px;}
.visual_wrap .ico-4{right: 50%; bottom: 112px; margin-right: -732px;}
.visual_wrap .sub-txt{position: absolute; left: 0; bottom: 145px; width: 100%; text-align: center;}
.visual_wrap .sub-txt .txt-1{color: var(--color-1); font-size: 34px; font-weight: 700; line-height: 1;}
.visual_wrap .sub-txt .zero::after{display: block; position: absolute; bottom: 8px; right: 46px; width: 39px; height: 4.5px; background-color: var(--color-2); content: ''; clip-path: polygon(7px 0%, 100% 0, 100% 100%, 0% 100%);}
.visual_wrap .sub-txt .txt-2{color: #666; font-size: 28px; line-height: 1; margin-top: 20px;}



/* cont */
.cont-subtit{display: flex; font-size: 34px; font-weight: 700; line-height: 1; letter-spacing: 0.2em;}
.cont-subtit .txt{position: relative; padding-top: 8px;}
.cont-subtit.em-1 .txt::before{display: block; position: absolute; top: 0; left: -3px; width: 100%; height: 4px; background-color: var(--color-1); content: '';}
.cont-subtit.em-2 .txt::before{display: block; position: absolute; top: 0; left: -3px; width: 100%; height: 4px; background-color: var(--color-2); content: '';}
.fee-wrap{display: flex; position: absolute; top: 100px; left: 255px;}
.fee-wrap .f-box{position: relative; width: 400px; padding-top: 10px;}
.fee-wrap .f-box:not(:first-child){margin-left: -120px;}
.fee-wrap .f-box:not(:first-child) img{filter: drop-shadow(-5px -15px 14px rgba(0,0,0,.8));}
.fee-wrap .f-box::before{display: block; position: absolute; top: 0; left: 0; width: 100%; height: 60px; background-color: #111; border-radius: 16px; content: '';}
.fee-wrap .f-box .inner{overflow: hidden; width: calc(100% + 60px); margin-left: -30px;}
.fee-wrap .f-box img{display: block; position: relative; z-index: 1; transform: translateY(-100%); transition: transform 0.4s; margin: 0 auto;}
.fee-wrap.m-act img{transform: translateY(0);}


/* slide */
.lec-wrap .card a{display: block; transition: transform 0.4s;}
.lec-wrap .card:hover a{transform: translateY(-20px);}
.lec-it-slide .swiper{width: 100%; padding-top: 40px; overflow: visible;}
.lec-it-slide .swiper-slide{width: 260px;}


/* modal-pop */
.modal-pop-wrap{display: none; position: fixed; top: 0; left: 0; bottom: 0; right: 0; background-color: rgba(0,0,0,.7); z-index: 999;}
.modal-pop-wrap .modal-container{display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;}
.modal-pop-wrap .modal-box{display: none; position: relative; width: 450px; padding: 40px; color: #000; background-color: #fff; border-radius: 20px; box-sizing: border-box;}
.modal-pop-wrap .modal-box.modal-slide-up{animation: modalSlideUp 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;}
@keyframes modalSlideUp{from{opacity:0; transform:translateY(60px);}to{opacity:1; transform:translateY(0);}}
.modal-pop-wrap .modal-box .btn-x{display: block; position: absolute; top: 20px; right: 20px; width: 25px; height: 25px; background: url('./img/ico_close.png') center no-repeat;}
.modal-pop-wrap .modal-box .tit{color: var(--color-1); font-size: 26px; text-align: center; font-weight: 700; white-space: nowrap;}
.modal-pop-wrap .modal-box p.sub{font-size: 14px; text-align: center; margin-top: 10px;}
.modal-pop-wrap .modal-box .agree-area .mid{padding: 8px 10px; color: #353535; font-size: 12px; margin-bottom: 8px; background-color: #c2c2c2;}
.modal-pop-wrap .modal-box .btn-submit{width: 100%; height: 54px; color: #fff; font-size: 24px; font-weight: 700; background-color: var(--color-2); text-align: center; border-radius: 10px;}


/* input */
.input-area{margin: 20px 0;}
.input-area > label{display: block; font-size: 14px; margin-bottom: 8px;}
.input-area > label .red{color: #ff6a6a;}
.input-area input[type="text"]{width: 100%; height: 44px; padding-left: 15px; font-size: 14px; border: 1px solid #e4e4e4; border-radius: 8px; box-sizing: border-box;}
.check-list-wrap{display: flex; flex-wrap:wrap; gap: 10px;}
.check-list-wrap .check-area{padding-right: 15px;}
.check-area{display: flex; gap: 7px;}
.check-area input[type="checkbox"]{width: 16px; height: 16px; margin: 0; flex-shrink: 0;}
.check-area > label{font-size: 14px;}
.check-area > label small{color: #c2c2c2; font-size: 12px;}
.radio-area {display: flex; gap: 7px; margin: 10px 0;}
.radio-area input[type="radio"]{width: 16px; height: 16px; margin: 0;}
.radio-area > label{font-size: 14px;}