@charset "utf-8";

.pt0 {padding-top:0 !important;}

.dot-tit {display:inline-block; position:relative;}
.dot-tit:after {content:''; position:absolute; right:-10px; top:-3px; width:6px; height:6px; border-radius:100%; background:var(--color-secondary);}

.ico-tit {margin-bottom:33px; position:relative; padding-left:30px; font-size:var(--fz30); font-weight:700; letter-spacing:-.03em; line-height:1.4em; color:#242424;}
.ico-tit:before {content:''; position:absolute; left:0; top:.35em; width:20px; height:20px; background:url('/images/sub/tit-ico.png') no-repeat 50% 50% / contain;}
.ico-tit.ty2:before {background-image:url('/images/sub/tit-ico2.png');}

.doc-tit {margin-bottom:35px; font-size:var(--fz26); font-weight:700; line-height:1.4em; letter-spacing:-.03em; color:#454545;}

.doc-txt {font-size:var(--fz18); font-weight:400; letter-spacing:-.03em; line-height:1.67em;}

.greeting-bnr {margin-bottom:56px; padding:0 70px; display:flex; align-items:center; height:380px; border-radius:30px; background:url('/images/sub/greeting.jpg') no-repeat 50% 50% / cover;}
.greeting-bnr p {text-shadow:1px 1px 1px rgba(0,0,0,.2); font-size:var(--fz50); font-weight:700; letter-spacing:-.03em; line-height:1.28em;}

.greeting {margin-bottom:80px;}
.greeting h2 {margin-bottom:28px; font-size:var(--fz22); font-weight:600; line-height:1.45em; color:#242424;}
.greeting p {margin-bottom:25px;}
.greeting p:last-child {margin-bottom:0;}
.greeting .highlight {font-weight:500;}

.principle {padding:74px 0; position:relative;}
.principle:before {z-index:-1; content:''; position:absolute; left:50%; top:0; transform:translateX(-50%); height:100%; width:100vw; background:#faf3fe;}
.principle .flex {margin-bottom:25px; display:flex;}
.principle .flex .head {width:240px;}
.principle .flex .cnt {flex:1 1 auto; min-width:0; width:1%;}
.principle .flex .cnt .doc-txt {margin-bottom:37px;}
.principle .ceo {text-align:right;}
.principle .ceo strong {font-weight:600;}

picture {display:block; text-align:center;}

.history-bnr {margin-bottom:90px; padding:30px; display:flex; align-items:flex-end; height:260px; border-radius:40px 0 40px 0; background:url('/images/sub/history.jpg') no-repeat 50% 50% / cover;}
.history-bnr .box {border-radius:40px 0 40px 0; width:240px; padding:15px 50px; background:rgba(91,91,211,.8); color:#fff;}
.history-bnr .box .t1 {margin-bottom:11px; font-size:var(--fz30); font-weight:700; letter-spacing:-.01em; line-height:1.4em;}
.history-bnr .box .t2 {text-align:right; font-size:var(--fz20); font-weight:700; letter-spacing:-.01em; line-height:1.4em;}

.history .group {position:relative; padding-bottom:95px;}
.history .group:before {content:''; position:absolute; left:50%; top:6px; margin-left:-.5px; height:100%; width:1px; border:1px dashed #ddd;}
.history .group:last-child:before {display:none;}
.history .group:after {content:''; position:absolute; left:50%; top:0; margin-left:-13px; width:26px; height:26px; background:url('/images/sub/bullet.png') no-repeat 50% 50% /contain;}
.history .inner h3 {margin-bottom:33px; font-size:var(--fz40); font-weight:700; letter-spacing:-.02em; line-height:.6em; color:var(--color-secondary);}
.history .inner ul li {margin-bottom:7px; line-height:1.4em; font-size:var(--fz18); font-weight:400; letter-spacing:-.02em; color:#454545;}
.history .inner ul li:last-child {margin-bottom:0;}
.history .group:nth-child(odd) {padding-left:50%;}
.history .group:nth-child(odd) .inner {padding-left:65px;}
.history .group:nth-child(even) {text-align:right; padding-right:50%;}
.history .group:nth-child(even) .inner {padding-right:65px;}

.story ul {display:flex; margin:-10px;}
.story ul li {padding:10px;}

.program .row {background-repeat:no-repeat; background-position:right 0 bottom 0; margin-bottom:50px; overflow:hidden; border-radius:30px; display:flex; border:1px solid #8bc842;}
.program .row:last-child {margin-bottom:0;}
.program .head {padding:44px 15px; background:linear-gradient(24deg,#7eb73a, #96d749); display:flex; align-items:center; justify-content:center; width:313px;}
.program .head .inner {display:flex;}
.program .head .inner .num {width:100px; font-size:var(--fz60); font-weight:800; letter-spacing:-.03em; line-height:.9em; color:#fff; opacity:.4;}
.program .head .inner .txt {color:#fff; font-size:var(--fz24); font-weight:600; letter-spacing:-.03em; line-height:1.5em;}
.program .cnt {padding:0 50px; display:flex; align-items:center; flex:1 1 auto; min-width:0; width:1%;}
.program .cnt p {font-size:var(--fz17); font-weight:400; letter-spacing:-.03em; line-height:1.59em; color:#454545;}
.program .cnt p strong {font-weight:600;}
.program .row.row1 {background-position:right 20px bottom 0; background-image:url('/images/sub/program-bg1.jpg');}
.program .row.row2 {background-image:url('/images/sub/program-bg2.jpg'); border-color:#e4c30e;}
.program .row.row2 .head {background:linear-gradient(24deg,#f6bd43, #e1c10f);}
.program .row.row3 .head {background:linear-gradient(24deg,#f29510, #ffa21e);}
.program .row.row3 {background-position:right -27px bottom -1px; background-image:url('/images/sub/program-bg3.jpg'); border-color:#e4c30e;}

.curriculum-top {margin-bottom:30px; text-align:center;}

.curriculum ul {display:flex; margin:-10px;}
.curriculum ul li {width:25%; padding:10px; text-align:center;}
.curriculum .box {display:flex; flex-direction:column; align-items:center; justify-content:center; border-radius:16px; height:250px; color:#fff;}
.curriculum .box.st1 {background:#7eb73a;}
.curriculum .box.st2 {background:#59b6e1;}
.curriculum .box.st3 {background:#ff9a28;}
.curriculum .box.st4 {background:#e779b7;}
.curriculum .box .num {margin:28px 0 18px; font-size:var(--fz18); font-weight:900; letter-spacing:-.03em; line-height:1.4em;}
.curriculum .box .txt {font-size:var(--fz24); font-weight:700; letter-spacing:-.03em; line-height:1.4em;}

.senior-group {margin-bottom:100px; display:flex; align-items:center;}
.senior-group:last-child {margin-bottom:0;}
.senior-group .num {margin-bottom:14px; font-size:var(--fz60); font-weight:800; line-height:1.3em;}
.senior-group .num.st1 {color:#bdeff8;}
.senior-group .num.st2 {color:#ffe6b9;}
.senior-group .num.st3 {color:#ffdde5;}
.senior-group .num.st4 {color:#d2f1ad;}
.senior-group .txt {font-size:var(--fz24); font-weight:600; line-height:1.4em; color:#242424;}
.senior-group:nth-child(odd) .img {margin-right:80px;}
.senior-group:nth-child(even) {flex-direction:row-reverse;}
.senior-group:nth-child(even) .img {margin-left:80px;}

.process-head {margin-bottom:30px;}
.process-head ul {display:flex; gap:20px;}
.process-head ul li {text-align:center; font-size:var(--fz18); font-weight:500; letter-spacing:-.02em; line-height:1.4em; border-radius:12px; min-width:220px; padding:0 13px; height:60px; color:#fff; display:flex; align-items:center; justify-content:center;}
.process-head ul li:nth-child(odd) {background:#8e8ee3;}
.process-head ul li:nth-child(even) {background:var(--color-secondary);}

.process {border-bottom:1px solid #a8a8a8; border-top:1px solid #a8a8a8;}
.process dl {padding:38px 60px; position:relative;  display:flex; align-items:center;}
.process dl:not(:last-child):after {content:''; position:absolute; left:0; bottom:0; width:100%; height:1px; background:url('/images/sub/dashed.png');}
.process dl dt {font-size:var(--fz19); font-weight:600; letter-spacing:-.04em; line-height:1.4em; min-width:185px;}
.process dl dd {font-size:var(--fz18); font-weight:500; letter-spacing:-.04em; line-height:1.4em; color:#454545;}
.process.ty2 dl dt {min-width:220px;}
.process.border0 {border-bottom:0;}

.dot-list>li {font-size:var(--fz18); font-weight:500; letter-spacing:-.04em; line-height:1.4em; color:#454545; position:relative; padding-left:17px;}
.dot-list>li:before {content:''; position:absolute; left:0; top:.55em; width:4px; height:4px; border-radius:100%; background:var(--color-secondary);}

.biz-wrap {position:relative;}
.biz-wrap .center {position:absolute; width:34.83%; left:50%; top:50%; transform:translate(-50%,-50%);}
.biz-wrap .flex .row {margin:-80px -247px; display:flex; flex-wrap:wrap;}
.biz-wrap .flex .row .col {padding:80px 247px; width:50%;}
.biz-wrap .flex .box {padding:46px 40px; height:270px; display:block; color:#fff; border-radius:16px;}
.biz-wrap .flex .box1 {background:#7eb73a;}
.biz-wrap .flex .box2 {background:#59b6e1;}
.biz-wrap .flex .box2:after {color:#59b6e1;}
.biz-wrap .flex .box3 {background:#e98181;}
.biz-wrap .flex .box4 {background:#ff9a28;}
.biz-wrap .flex .box .num {font-size:var(--fz18); font-weight:900; line-height:1.4em;}
.biz-wrap .flex .box .tit {margin:17px 0 15px; font-size:var(--fz24); font-weight:700; line-height:1.4em;}
.biz-wrap .flex .box .txt {font-size:var(--fz18); font-weight:500; line-height:1.44em;}
.biz-wrap a {position:relative;}
.biz-wrap a:after {display:flex; align-items:center; justify-content:center; text-align:center; color:#7eb73a; content:'→'; width:30px; height:30px; border-radius:100%; background:#fff; position:absolute; right:40px; bottom:50px;}

.hypen-list>li {padding-left:.6em; text-indent:-.6em; font-size:var(--fz18); font-weight:500; line-height:1.44em;}

.step ul {display:flex; margin:-10px;}
.step ul li {padding:10px; width:25%; text-align:center; color:#fff;}
.step .box {padding:50px 0 0; height:280px; border-radius:16px;}
.step .box .num {margin:24px 0 16px; font-size:var(--fz18); font-weight:700; letter-spacing:-.03em; line-height:1.4em;}
.step .box .txt {font-size:var(--fz20); font-weight:600; letter-spacing:-.03em; line-height:1.4em;}
.step ul li:nth-child(odd) .box {background:#8e8ee3;}
.step ul li:nth-child(even) .box {background:var(--color-secondary);}

.root_daum_roughmap {width:100% !important;}
.directions {margin-top:40px;}
.directions .address-info {margin-bottom:30px;}
.directions .address-info .comp {color:var(--color-secondary); font-weight:600; margin-bottom:2px;}
.directions .address-info .addr {color:#242424; font-size:23px; font-weight:600; line-height:1.33em; letter-spacing:-.03em; margin-bottom:5px;}
.directions .address-info .etc {color:#454545;}
.directions .address-info .etc span {display:inline-block; margin-right:16px;}
.directions .address-info .etc span:last-child {margin-right:0;}
.directions .contact-info {border-top:1px solid #ddd; line-height:1.5em;}
.directions .contact-info dl {display:flex; padding:28px 0; border-bottom:1px solid #ddd;}
.directions .contact-info dt {width:180px; padding-left:30px; color:#242424; font-size:1.125em; font-weight:500;}
.directions .contact-info dt svg {vertical-align:middle; margin:-.2em 15px 0 0;}
.directions .contact-info dt path {fill:#adade9;}
.directions .contact-info dd {flex:1 1 auto; min-width:0; width:1%; color:#454545;}
