/* reset, common */
body{overflow-x: hidden;}
body.scroll-hide{overflow: 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; cursor: pointer;}

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: #555;
	--color-1: #ff855a;
	--color-1-dark: #e9480f;
	--color-2: #4b72ff;
	--color-2-light: #97aeff;
}
.txc-basic{color: var(--color-basic) !important;}
.txc-1{color: var(--color-1) !important;}
.txc-2{color: var(--color-2) !important;}
@font-face {
	font-family: 'LABDigital';
	font-weight: normal;
	font-style: normal;
	src: url('https://cdn.jsdelivr.net/npm/dseg@0.46.0/fonts/DSEG7-Classic/DSEG7Classic-Regular.woff2') format('woff2'),
			 url('https://cdn.jsdelivr.net/npm/dseg@0.46.0/fonts/DSEG7-Classic/DSEG7Classic-Regular.woff') format('woff'),
			 url('https://cdn.jsdelivr.net/npm/dseg@0.46.0/fonts/DSEG7-Classic/DSEG7Classic-Regular.ttf') format('truetype');
	font-display: swap;
}
.font-lab{font-family: 'LABDigital' !important; letter-spacing: -0.12em;}


/* 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);}
@property --dx{
	syntax: '<length>';
	inherits: false;
	initial-value: 0px;
}
@property --dy{
	syntax: '<length>';
	inherits: false;
	initial-value: 0px;
}
@keyframes btnBgMove{
	0%    { --dx: 0px;   --dy: 0px; }
	12.5% { --dx: 46px;  --dy: 19px; }
	25%   { --dx: 65px;  --dy: 65px; }
	37.5% { --dx: 46px;  --dy: 111px; }
	50%   { --dx: 0px;   --dy: 130px; }
	62.5% { --dx: -46px; --dy: 111px; }
	75%   { --dx: -65px; --dy: 65px; }
	87.5% { --dx: -46px; --dy: 19px; }
	100%  { --dx: 0px;   --dy: 0px; }
}
.btn-primary{
	display: flex; align-items: center; height: 80px; padding: 0 40px;
	color: #fff; font-size: 28px; font-weight: 600;
	background: radial-gradient(circle at calc(50% + var(--dx)) calc(-110% + var(--dy)), var(--color-2) 50%, #8bdcff 100%); border-radius: 40px; transition: box-shadow 0.4s;
}
.btn-primary .ico-arrow{position: relative; width: 15px; height: 15px; margin-left: 70px; margin-top: 5px; background-color: #333; border-radius: 50%; transition: transform 0.4s;}
.btn-primary .ico-arrow::before{display: block; position: absolute; top: 7px; right: 7px; width: 39px; height: 1px; background-color: #fff; content: '';}
.btn-primary .ico-arrow::after{display: block; position: absolute; top: 7px; right: 7px; width: 19px; height: 1px; background-color: #fff; transform: rotate(45deg); transform-origin: right; content: '';}
.btn-primary:hover{box-shadow: 0 3px 15px var(--color-2); animation: btnBgMove 3s linear infinite;}
.btn-primary:hover .ico-arrow{animation: arrowBounce 0.4s ease forwards;}
@keyframes arrowBounce{
	0%  { transform: translateX(-10px); }
	100% { transform: translateX(5px); }
}
.btn-v{position: absolute; left: 50%; bottom: 120px; transform: translateX(-50%);}


/* bg */
.visual_wrap{background: url('img/bg_visual.jpg') center top no-repeat; overflow: hidden;}
.cont01{background: #0d122f url('img/bg_01.jpg') center top no-repeat; overflow: hidden;}
.cont02{background: url('img/bg_02.jpg') center top no-repeat; overflow: hidden;}
.cont03{background-color: #eef1ff;}
.cont04{background-color: #f7f7f8;}
.cont05{background-color: #ececf4;}
.cont06{background-color: var(--color-1); background: radial-gradient(circle at 50% 0, #ffac8a 5%, var(--color-1) 30%);}
.cont07{background-color: #f7f7fb;}


/* visual */
.visual_wrap .visual-text{position: absolute; top: 160px; left: 0; width: 100%; text-align: center;}
.visual_wrap .txt-1{color: #e4eaff; font-size: 20px; line-height: 1;}
.visual_wrap .txt-1 .logo{margin-top: 1px; margin-left: 4px;}
.visual_wrap .txt-2{color: #bcc6e8; font-size: 26px; line-height: 1.4;}
.visual_wrap .tag-list ul{display: flex; justify-content: center; gap: 10px; margin-top: 12px;}
.visual_wrap .tag-list ul li{padding: 8px 12px; color: var(--color-1); font-size: 20px; font-weight: 700; box-shadow: inset 0 -1px 6px 1px rgba(255,255,255,0.8);}


/* cont */
.cont-tit{text-align: center;}
.cont-tit .ico-lock{display: block; width: 26px; height: 31px; margin: 0 auto 10px; background: url('img/sub/ico_lock.png') no-repeat;}
.cont-tit .ico-lock-1{background-position: 0 0;}
.cont-tit .ico-lock-2{background-position: -26px 0;}
.cont-tit .ico-lock-3{background-position: -52px 0;}
.cont-tit h2{font-size: 62px; font-weight: 700; line-height: 1.2em;}
.cont01 .sub-list li{position: relative;}
.cont01 .sub-list li .txt-box{
	display: flex; align-items: center; width: calc(100% - 180px); height: 100%; position: absolute; top: 0; left: 180px;
	color: #fff; font-size: 20px;
}
.accident-wrap{display: flex; justify-content: space-between; align-items: flex-end; padding-top: 100px;}
.accident-wrap .in-box{position: relative; background: linear-gradient(0deg,rgba(12, 15, 35, 0.6) 0%, transparent 100%);}
.accident-wrap .in-box .txt-area{display: flex; flex-direction: column; align-items: center; position: absolute; left: 0; bottom: 320px; width: 100%;}
.accident-wrap .in-box .num-box{display: flex; align-items: flex-end;}
.accident-wrap .in-box .num-box .sub{color: #fff; font-size: 20px; -webkit-text-stroke: 8px #1c2036; paint-order: stroke fill;}
.practical-wrap{position: relative; margin: 60px 50px 0;}
.practical-wrap ul{display: flex; flex-wrap: wrap; width: 100%;}
.practical-wrap ul li{display: flex; align-items: center; width: 50%; padding: 0 5px; box-sizing: border-box;}
.practical-wrap ul li:nth-child(1),
.practical-wrap ul li:nth-child(2){padding-bottom: 40px;}
.practical-wrap ul li:nth-child(3),
.practical-wrap ul li:nth-child(4){padding-top: 40px;}
.practical-wrap ul li:nth-child(2n){justify-content: flex-end;}
.practical-wrap .lft{flex-shrink: 0; width: 150px;}
.practical-wrap .txt-area h3{color: #555; font-size: 30px; margin-bottom: 12px;}
.practical-wrap .txt-area p{color: #555; font-size: 20px; line-height: 1.4;}
.practical-wrap::before,
.practical-wrap::after{display: block; position: absolute; background-color: #839cf7; transition: width 1s, height 1s; transition-delay: 0.4s; content: '';}
.practical-wrap::before{width: 1px; height: 0; top: 50%; left: 50%; transform: translate(-50%, -50%);}
.practical-wrap::after{width: 0; height: 1px; top: 50%; left: 50%; transform: translate(-50%, -50%);}
.practical-wrap.m-act::before{height: 100%;}
.practical-wrap.m-act::after{width: 100%;}


/* program */
.program-wrap .cont-target{overflow: hidden; border-radius: 0 0 30px 30px; box-shadow: 0 10px 15px -5px rgba(0,0,0,.1);}
.program-wrap .cont-target .top{display: flex; align-items: center; justify-content: center; height: 135px; padding-top: 15px; text-align: center; box-sizing: border-box;}
.program-wrap .cont-target .top h3{color: #fff; font-size: 36px; font-weight: 700;}
.program-wrap .cont-target .top .person{display: flex; align-items: center; justify-content: center; gap: 10px; font-size: 20px; font-weight: 600; margin-top: 5px;}
.program-wrap .cont-target .top .person .tag{color: #555; font-size: 20px; line-height: 1; background-color: var(--color-1); border-radius: 4px; padding: 2px 5px;}
.program-wrap .lecture-box{display: flex; flex-direction: column; flex-grow: 1; flex-basis: 0; text-align: center;}
.program-wrap .lecture-box:not(:first-child){border-left: 1px solid #555;}
.program-wrap .lecture-box .inner{display: flex; flex-direction: column; align-items: center; flex-grow: 1; padding: 40px 0;}
.program-wrap .lecture-box .level{position: relative; padding: 3px 12px; padding-right: calc(12px - 0.3em); margin-bottom: 24px; font-size: 20px; font-weight: 700; line-height: 1; letter-spacing: 0.3em; background-color: var(--color-1);}
.program-wrap .lecture-box .level::before,
.program-wrap .lecture-box .level::after{display: block; position: absolute; top: -2px; width: 4px; height: 30px; background-color: var(--color-1); content: '';}
.program-wrap .lecture-box .level::before{left: -18px;}
.program-wrap .lecture-box .level::after{right: -18px;}
.program-wrap .lecture-box h4{color: #555; font-weight: 700; font-size: 36px;} 
.program-wrap .lecture-box .subtxt{font-size: 22px; font-weight: 600; line-height: 1.4em; margin-top: 5px;}
.program-wrap .lecture-box .tag-list{display: flex; justify-content: center; gap: 6px; margin: 12px 0;}
.program-wrap .lecture-box .tag-list li{color: #fff; font-size: 14px; font-weight: 300; line-height: 1; padding: 7px 16px; background-color: #555; border-radius: 14px;}
.program-wrap .lecture-box .exp-list li{position: relative; padding-left: 12px; color: #555; font-size: 18px; line-height: 1.3em; margin: 5px 0; text-align: left;}
.program-wrap .lecture-box .exp-list li::before{display: block; position: absolute; top: 10px; left: 0; width: 5px; height: 1px; background-color: #555; content: '';}
.program-wrap .lecture-box .btm{display: flex; align-items: center; justify-content: center; gap: 10px; height: 82px; color: #333; background-color: #e7abab;}
/* program - color */
.program-wrap .cont-target-01 .top{background: url('img/sub/program_top_01.png') center top no-repeat;}
.program-wrap .cont-target-01 .top .person .tag{color: #555; background-color: var(--color-1);}
.program-wrap .cont-target-02 .top{background: url('img/sub/program_top_02.png') center top no-repeat;}
.program-wrap .cont-target-02 .top .person .tag{color: #d9e1ff; background-color: var(--color-2);}
.program-wrap .cont-target-02 .top .person p{color: #b7c7ff;}
.program-wrap .cont-target-01 .type-1 .level{color: var(--color-1); background-color: #ffe7de;}
.program-wrap .cont-target-01 .type-1 .level::before,
.program-wrap .cont-target-01 .type-1 .level::after{background-color: var(--color-1);}
.program-wrap .cont-target-01 .type-1 .subtxt{color: var(--color-1);}
.program-wrap .cont-target-01 .type-1 .btm{background-color: #ffc2ac;}
.program-wrap .cont-target-01 .type-2 .level{color: var(--color-1-dark); background-color: #fbdacf;}
.program-wrap .cont-target-01 .type-2 .level::before,
.program-wrap .cont-target-01 .type-2 .level::after{background-color: var(--color-1-dark);}
.program-wrap .cont-target-01 .type-2 .subtxt{color: var(--color-1-dark);}
.program-wrap .cont-target-01 .type-2 .btm{background-color: #f4a387;}
.program-wrap .cont-target-02 .type-1 .level{color: #6f8fff; background-color: #e2e9ff;}
.program-wrap .cont-target-02 .type-1 .level::before,
.program-wrap .cont-target-02 .type-1 .level::after{background-color: #6f8fff;}
.program-wrap .cont-target-02 .type-1 .subtxt{color: #839cf7;}
.program-wrap .cont-target-02 .type-1 .btm{background-color: #cbd6ff;}
.program-wrap .cont-target-02 .type-2 .level{color: var(--color-2); background-color: #dfe6ff;}
.program-wrap .cont-target-02 .type-2 .level::before,
.program-wrap .cont-target-02 .type-2 .level::after{background-color: var(--color-2);}
.program-wrap .cont-target-02 .type-2 .subtxt{color: var(--color-2);}
.program-wrap .cont-target-02 .type-2 .btm{background-color: #a5b8ff;}
.program-notice{margin-top: 90px; padding: 40px 40px 40px 315px; background: url('img/bg_03_sub.png') 0 center no-repeat;}
.program-notice li{position: relative; margin: 10px 0; padding-left: 22px; color: #555; font-size: 18px; line-height: 1.4em;}
.program-notice li::before{display: block; position: absolute; top: 10px; left: 0; width: 6px; height: 6px; background-color: var(--color-1); transform: rotate(45deg); content: '';}


/* curriculum */
.curriculum-wrap{margin-top: 60px;}
.curriculum-wrap .tab{display: flex;}
.curriculum-wrap .tab li{flex-grow: 1; flex-basis: 0; opacity: 0.2;}
.curriculum-wrap .tab li.act{opacity: 1;}
.curriculum-wrap .tab li a{display: flex; align-items: center; position: relative; height: 46px;}
.curriculum-wrap .tab li a::after{display: block; position: absolute; top: 0; right: 0; width: 36px; height: 100%; background-position: right center; background-repeat: no-repeat; content: '';}
.curriculum-wrap .tab li .sub{display: flex; align-items: center; justify-content: center; width: 63px; height: 100%; padding-left: 18px; flex-shrink: 0; color: #fff; font-size: 14px; font-weight: 600; background-position: 0 center; background-repeat: no-repeat; box-sizing: border-box;}
.curriculum-wrap .tab li .tit{display: flex; align-items: center; justify-content: center; flex-grow: 1; position: relative; z-index: 1; height: 100%; color: #fff; font-size: 20px; text-align: center; padding-right: 22px; box-sizing: border-box;}
.curriculum-wrap .tab #target-01-1 .sub,
.curriculum-wrap .tab #target-01-1::after{background-image: url('img/sub/tab_target_01_1.png');}
.curriculum-wrap .tab #target-01-1 .tit{background: linear-gradient(to left, transparent 36px, var(--color-1) 0);}
.curriculum-wrap .tab #target-01-2 .sub,
.curriculum-wrap .tab #target-01-2::after{background-image: url('img/sub/tab_target_01_2.png');}
.curriculum-wrap .tab #target-01-2 .tit{background: linear-gradient(to left, transparent 36px, #e9480f 0);}
.curriculum-wrap .tab #target-02-1 .sub,
.curriculum-wrap .tab #target-02-1::after{background-image: url('img/sub/tab_target_02_1.png');}
.curriculum-wrap .tab #target-02-1 .tit{background: linear-gradient(to left, transparent 36px, #6f8fff 0);}
.curriculum-wrap .tab #target-02-2 .sub,
.curriculum-wrap .tab #target-02-2::after{background-image: url('img/sub/tab_target_02_2.png');}
.curriculum-wrap .tab #target-02-2 .tit{background: linear-gradient(to left, transparent 36px, var(--color-2) 0);}
.curriculum-wrap .tab-content{padding: 40px; background-color: #fff; border-radius: 0 0 30px 30px; box-shadow: 0 10px 25px rgba(0,0,0,.1);}
.curriculum-wrap .tab-content .table-box{display: none;}
.curriculum-wrap .tab-content .table-box.act{display: block;}
.curriculum-wrap .tab-content .info ol{display: flex;}
.curriculum-wrap .tab-content .info ol > li{color: #555; font-size: 20px; padding: 0 15px; line-height: 1; border-left: 1px solid #555;}
.curriculum-wrap .tab-content .info ol > li:first-child{padding-left: 0; border: none;}
.curriculum-wrap .tab-content .table-wrap{margin-top: 12px;}
.curriculum-wrap .tab-content table{width: 100%;}
.curriculum-wrap .tab-content table thead{border-bottom: 1px solid #3757ca;}
.curriculum-wrap .tab-content table thead th{height: 46px; padding: 0 10px; color: #555; font-size: 16px; text-align: left; vertical-align: middle;}
.curriculum-wrap .tab-content table tbody td{height: 46px; padding: 0 10px; color: #555; font-size: 16px; border-bottom: 1px solid #ccc; vertical-align: middle;}
.curriculum-wrap .tab-content table tbody tr:last-child td{border-bottom: none;}


/* faq */
.faq-wrap .faq-box{margin-bottom: 3px;}
.faq-wrap .faq-box .in-box{display: block; padding: 22px; background-color: #fff;}
.faq-wrap .faq-box .in-box .inner{display: flex; align-items: flex-start;}
.faq-wrap .faq-box .in-box .tag{flex-shrink: 0; margin-right: 22px; padding: 4px 8px; font-size: 18px; font-weight: 600; line-height: 1; border-radius: 4px;}
.faq-wrap .faq-box .q-box{position: relative; margin-bottom: 1px; padding-right: 80px !important;}
.faq-wrap .faq-box .q-box::after{display: block; position: absolute; right: 40px; top: 22px; width: 15px; height: 15px; border: solid var(--color-2); border-width: 0 4px 4px 0; transform-origin: 70% 70%; transform: rotate(45deg); transition: border-color 0.4s, transform 0.4s; content: '';}
.faq-wrap .faq-box .q-box.act::after{transform: rotate(225deg); border-color: var(--color-1);}
.faq-wrap .faq-box .a-box{display: none;}
.faq-wrap .faq-box .q-box .tag{color: #fff; background-color: var(--color-2);}
.faq-wrap .faq-box .a-box .tag{color: #333; background-color: var(--color-1);}
.faq-wrap .faq-box .q-box .tit{color: #333; font-size: 20px; font-weight: 400; line-height: 1.3em;}
.faq-wrap .faq-box .a-box .txt-area{color: #333; font-size: 20px; line-height: 1.5em;}
.faq-notice{margin-top: 60px; padding: 45px 130px; background-color: #eef1f7;}
.faq-notice h3{color: #333; font-size: 20px; font-weight: 700; margin-bottom: 10px; margin-left: -18px;}
.faq-notice ol li{color: #666; font-size: 18px; margin: 10px 0; list-style: auto;}


/* 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: 400px; 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("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 4L20 20M20 4L4 20' stroke='%23333' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center no-repeat;}
.modal-pop-wrap .modal-box .tit{color: var(--color-2); 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-1); text-align: center; border-radius: 10px;}
.modal-pop-wrap.modal-scroll{overflow-y: auto; padding: 120px 0;}
.modal-pop-wrap.modal-scroll .modal-container{height: auto;}


/* 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;}
.input-area select{width: 100%; height: 44px; padding: 0 15px; font-size: 14px; color: #333; font-family: inherit; border: 1px solid #e4e4e4; border-radius: 8px; box-sizing: border-box; appearance: none; -webkit-appearance: none; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23999' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 15px center;}
.check-list-wrap{display: flex; flex-wrap:wrap; gap: 10px;}
.check-list-wrap .check-area{padding-right: 15px;}
.check-area{display: flex;}
.check-area input[type="checkbox"]{width: 16px; height: 16px; margin: 0; flex-shrink: 0;}
.check-area > label{font-size: 14px; padding-left: 7px;}
.check-area > label small{color: #c2c2c2; font-size: 12px;}
.radio-area {display: flex; margin: 10px 0;}
.radio-area input[type="radio"]{width: 16px; height: 16px; margin: 0;}
.radio-area > label{font-size: 14px; padding-left: 7px;}