@charset "utf-8";

.s-head {font-size:var(--font-size-46); font-weight:800; letter-spacing:-.025em; line-height:1.3em;}

.doc-btn {transition:.3s; font-family:var(--font-poppins); display:inline-flex; align-items:center; justify-content:center; border-radius:var(--radius-24); height:clamp(40px, calc(48 / var(--inner) * 100vw), 48px); padding:0 var(--space-30); font-size:var(--font-size-16); font-weight:400; letter-spacing:-.03em; line-height:1.2em; color:var(--color-primary); border:1px solid var(--color-primary); border-radius:var(--radius-30); padding:0 var(--space-30);}
.doc-btn:hover {background:var(--color-primary); color:#fff;}

.company-visual {border-radius:var(--radius-50); margin:0 var(--space-100); aspect-ratio:1720/700; overflow:hidden;}
.company-visual video {width:100%; height:100%; object-fit:cover;}

.along {padding:var(--space-100) 0;}
.along .contain {display:flex; background:url('/images/sub/along.png') no-repeat 30px 100% / clamp(100px, calc(224 / var(--inner) * 100vw), 224px) auto;}
.along .title {width:50%;}
.along .title h2 {font-family:var(--font-aktiv); font-size:var(--font-size-72); font-weight:700; letter-spacing:-.03em; line-height:1em;}
.along .title h2 strong {color:var(--color-primary);}
.along .text {flex:1; padding:var(--space-50) 0 0 var(--space-110);}
.along .text .hi {margin-bottom:var(--space-20);}
.along .text p:not(:last-child) {margin-bottom:var(--space-25);}
.along .text .txt-1 {font-size:var(--font-size-18); font-weight:400; letter-spacing:-.03em; line-height:1.56em; color:#454545;}
.along .text .txt-2 {font-size:var(--font-size-20); font-weight:600; letter-spacing:-.03em; line-height:1.56em; color:var(--color-primary);}

.brio {padding:var(--space-100) 0; background:url('/images/sub/brio-bg.jpg') no-repeat 50% 50% / cover;}
.brio .contain {display:flex; align-items:center; justify-content:space-between;}
.brio .text {width:calc(50% - var(--space-40));}
.brio .text h2 {font-size:var(--font-size-30); font-weight:600; letter-spacing:-.03em; line-height:1.33em;}
.brio .text h2:after {display:block; content:''; width:2px; height:24px; background:var(--color-primary); margin:var(--space-20) var(--space-10);} 
.brio .text p:not(:last-child) {margin-bottom:var(--space-25);}
.brio .text .txt-1 {font-size:var(--font-size-18); font-weight:400; letter-spacing:-.03em; line-height:1.56em; color:#454545;}
.brio .text .txt-2 {font-size:var(--font-size-20); font-weight:600; letter-spacing:-.03em; line-height:1.56em; color:var(--color-primary);}
.brio .image {width:calc(50% - var(--space-40));}

.class-banner {margin-bottom:var(--space-160);}
.class-banner .banner {box-shadow:0 0 40px rgba(0,0,0,.25); height:clamp(200px, calc(400 / var(--inner) * 100vw), 400px); background-repeat:no-repeat; background-position:50% 50%; background-size:cover; border-radius:var(--radius-60); overflow:hidden;}
.class-banner .cnt-1 {display:flex; align-items:center; justify-content:center; height:100%; text-align:center; color:#fff;}
.class-banner .cnt-1 h2 {font-size:var(--font-size-40); font-weight:700; letter-spacing:0; line-height:1.2em;}
.class-banner .cnt-2 {padding:0 var(--space-85); display:flex; flex-direction:column; justify-content:center; height:100%; color:#fff;}
.class-banner .cnt-2 h2 {margin-bottom:var(--space-20); font-size:var(--font-size-30); font-weight:700; letter-spacing:0; line-height:1.4em;}
.class-banner .cnt-2 p {font-size:var(--font-size-18); font-weight:400; letter-spacing:0; line-height:1.44em;}

.utilize {padding:var(--space-100) 0; background:url('/images/sub/utilize-bg.jpg') no-repeat 50% 50% / cover; text-align:center;}
.utilize h2 {margin-bottom:var(--space-80); font-size:var(--font-size-60); font-weight:800; letter-spacing:-.025em; line-height:1.2em; color:var(--color-primary);}
.utilize .hashtags ul {display:grid; gap:0 var(--space-90); grid-template-columns:repeat(4, 1fr);}
.utilize .hashtags ul li {background:#fff; border:1px solid var(--color-primary); border-radius:var(--radius-32); font-size:var(--font-size-20); font-weight:500; letter-spacing:-.025em; line-height:1.3em; color:var(--color-primary); padding:var(--space-20);}

.program {padding:var(--space-140) 0; background:url('/images/sub/program-bg.png') no-repeat 50% 62%;}
.program .s-head {margin-bottom:var(--space-90); text-align: center;}
.program .s-head strong {color:var(--color-primary);}
.program .items {display:flex; justify-content:space-between; flex-wrap:wrap;}
.program .items .item {width:calc(50% - var(--space-100)); text-align:center;}
.program .items .item:nth-child(even) {margin-top:var(--space-100);}
.program .items .img {border-radius:var(--radius-24); overflow:hidden; box-shadow:0 0 40px rgba(0,0,0,.25);}
.program .items p {margin-top:var(--space-40); font-size:var(--font-size-20); font-weight:600; letter-spacing:-.025em; line-height:1.5em;}

.offer {padding:var(--space-90) 0 var(--space-120); background:url('/images/sub/offer-bg.jpg') no-repeat 50% 50% / cover;}
.offer h2 {margin-bottom:var(--space-60); text-align:center; color:#fff; font-size:var(--font-size-30); font-weight:800; letter-spacing:-.025em; line-height:1.4em;}
.offer h2 span {color:#43513d;}
.offer .image {margin-top:var(--space-120);}
.offer .image ul {display:grid; grid-template-columns:repeat(3, 1fr); gap:var(--space-30);}
.offer .image ul li img {border-radius:var(--radius-16); overflow:hidden;}

.partners {overflow:hidden; padding:var(--space-130);}
.partners .s-head {margin-bottom:var(--space-70); text-align:center;}
.partners .s-head strong {color:var(--color-primary);}
.partners .marquee ul {display:flex;}
.partners .marquee ul li {overflow:hidden; margin:0 var(--space-20); width:250px; background:#fff; border-radius:var(--radius-12); border:1px solid #ddd;}
.partners .marquee:after {content:" "; display:block; clear:both;}
.partners .marquee .logo {position:relative; aspect-ratio:250/100; overflow:hidden;}
.partners .marquee .logo img {width:100%; height:100%; object-fit:contain;}

.class-quick {z-index:90; position:fixed; bottom:var(--space-30); right:var(--space-60); display:grid; gap:var(--space-10) 0;}
.class-quick .con {background:#fff; width:clamp(70px, calc(151 / var(--inner) * 100vw), 151px); aspect-ratio:1/1; border:1px solid var(--color-primary); border-radius:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:var(--space-10);}
.class-quick .con i {width:clamp(25px, calc(47 / var(--inner) * 100vw), 47px); height:clamp(23px, calc(45 / var(--inner) * 100vw), 45px); background-repeat:no-repeat; background-position:50% 50%; background-size:contain;}
.class-quick .con i.ico1 {background-image:url('/images/sub/class-quick-ico1.png');}
.class-quick .con i.ico2 {background-image:url('/images/sub/class-quick-ico2.png');}
.class-quick .con i.ico3 {background-image:url('/images/sub/class-quick-ico3.png');}
.class-quick .con i.ico4 {background-image:url('/images/sub/quick-class-ico4.png');}
.class-quick .con p {font-weight:600; letter-spacing:-.03em; line-height:1.38em; color:var(--color-primary); text-align:center;}
.class-quick .con.st2 {background:var(--color-primary);}
.class-quick .con.st2 p {color:#fff;}

.root_daum_roughmap_landing {border-radius:var(--radius-30); overflow:hidden; width:100% !important;}
.root_daum_roughmap .wrap_map {height:clamp(230px, calc(430 / var(--inner) * 100vw), 430px);}
.root_daum_roughmap .cont {display:none;}
.root_daum_roughmap .border1,
.root_daum_roughmap_landing .border3, 
.root_daum_roughmap_landing .border4 {display:none;}
.root_daum_roughmap .wrap_controllers {border:0 !important;}

.directions {margin-top:var(--space-50); display:flex;}
.directions .logo {width:50%; padding:0 var(--space-70);}
.directions .logo img {height:clamp(34px, calc(90 / var(--inner) * 100vw), 90px);}
.directions .address {flex:1;}
.directions .address dl {margin-bottom:var(--space-12); display:flex;}
.directions .address dl:last-child {margin-bottom:0;}
.directions .address dl dt {font-weight:500; min-width:130px;}
.directions .address dl dt img {vertical-align:middle; margin-right:var(--space-10);}
.directions .address dl dd {color:#454545;}

.contact-visual {color:#fff; text-align:center; display:flex; flex-direction:column; align-items:center; justify-content:center; height:clamp(180px, calc(480 / var(--inner) * 100vw), 480px); background:url('/images/sub/contact-visual.jpg') no-repeat 50% 50% / cover;}
.contact-visual h1 {margin-bottom:var(--space-20); font-size:var(--font-size-46); font-weight:800; letter-spacing:0; line-height:1.4em;}
.contact-visual p {font-size:var(--font-size-24); font-weight:400; letter-spacing:0; line-height:1.42em;}

.business {padding:var(--space-100) 0;}
.business .title {margin-bottom:var(--space-100); text-align:center;}
.business .title p {margin-bottom:var(--space-30); font-family:var(--font-poppins); font-size:var(--font-size-20); font-weight:600; letter-spacing:0; line-height:1.4em; color:var(--color-primary);}
.business .title h2 {font-size:var(--font-size-48); font-weight:800; letter-spacing:0; line-height:1.4em;}
.business .title h2 .c1 {color:var(--color-primary);}
.business .title h2 .c2 {color:#1f948d;}
.business .items .item {margin-bottom:var(--space-70); display:flex; align-items:center; justify-content:space-between;}
.business .items .item:last-child {margin-bottom:0;}
.business .items .image {max-width:500px; border-radius:var(--radius-60); overflow:hidden; box-shadow:0 0 40px rgba(0,0,0,.25); width:calc(50% - var(--space-100));}
.business .items .content {width:calc(50% - var(--space-100));}
.business .items .content .cate {font-family:var(--font-poppins); font-weight:600; letter-spacing:0; line-height:1.4em; color:var(--color-primary);}
.business .items .content h3 {margin:var(--space-20) 0 var(--space-25); font-size:var(--font-size-30); font-weight:700; letter-spacing:0; line-height:1.4em;}
.business .items .content .txt {font-size:var(--font-size-18); font-weight:400; letter-spacing:-.025em; line-height:1.5em;}
.business .items .item:nth-child(even) {flex-direction:row-reverse;}

.inquiry-wrap {padding:var(--space-100) 0; background:var(--color-primary);}
.inquiry-wrap .contain {display:flex; justify-content:space-between; gap:0 20px; background: url('/images/sub/inquiry-bg.png') no-repeat left 18% bottom 0 / clamp(200px, calc(680 / var(--inner) * 100vw), 680px) auto;}

.inquiry-head {width:36%;}
.inquiry-head .head {margin-bottom:var(--space-80); color:#fff;}
.inquiry-head .head h3 {margin-bottom:var(--space-20); font-size:var(--font-size-46); font-weight:800; letter-spacing:-.03em; line-height:1.13em;}
.inquiry-head .contact .item {margin-bottom:var(--space-15); gap:0 var(--space-15); display:flex; align-items:center; color:#fff;}
.inquiry-head .contact .item img {height:clamp(36px, calc(50 / var(--inner) * 100vw), 50px);}
.inquiry-head .contact .item dl dt {font-weight:600; letter-spacing:0; line-height:1.4em;}
.inquiry-head .contact .item dl dd {font-size:var(--font-size-20); font-weight:800; letter-spacing:-.025em; line-height:1.4em;}
.inq-form-wrap { flex: 1;}

.inquiry-form {padding:var(--space-40) var(--space-30); background:#fff; border-radius:var(--radius-40);}
.inquiry-form .required {font-style:normal; color:#ff3000;}
.inquiry-form .title {margin-bottom:var(--space-30); display:flex; justify-content:space-between; align-items:flex-end;}
.inquiry-form .title h3 {font-size:var(--font-size-24); font-weight:700; letter-spacing:-.03em; line-height:1.4em; color:#659136;}
.inquiry-form .title p {color:#454545; font-size:var(--font-size-18);}
.inquiry-form .form {display:grid; grid-template-columns:repeat(2, 1fr); gap:var(--space-15) var(--space-20);}
.inquiry-form .form .col.col-x2 {grid-column:span 2;}
.inquiry-form .form .input {height:clamp(40px, calc(50 / var(--inner) * 100vw), 50px); width:100%; border-radius:var(--radius-6);}
.inquiry-form .form dl dt {margin-bottom:var(--space-5); font-size:var(--font-size-18); font-weight:500; letter-spacing:0; line-height:1.4em; color:#454545;}
.inquiry-form .form dl dt .text {display:inline-block; margin-bottom:var(--space-8); color:var(--color-primary); font-size:var(--font-size-16); font-weight:400; letter-spacing:0; color:#898989;}
.inquiry-form .form-agree {margin-bottom:var(--space-20);}
.inquiry-form .form-agree .check {text-align:left;}
.inquiry-form .buttons {margin:0;}

.inquiry-form .file-upload {display:flex; height:clamp(40px, calc(50 / var(--inner) * 100vw), 50px); margin-bottom:10px;}
.inquiry-form .file-button {display:flex; justify-content:center; align-items:center; height:100%; padding:0 20px; border:0; border-radius:6px 0 0 6px; background:var(--color-primary); color:#fff; cursor:pointer; transition: .2s;}
.inquiry-form .file-button:hover {background: #748166;}
.inquiry-form .file-name {flex:1 1 auto; min-width:0; width:1%; display:flex; align-items:center; height:100%; padding:0 14px; border:1px solid var(--color-primary); border-radius:0 6px 6px 0; color:var(--color-primary);}

/* 상품 옵션 테이블 */
.cart-opt .table {margin-bottom:15px;}
.cart-opt .table h4 {margin-bottom:10px;font-size:16px;font-weight:600;color:#454545;}
.cart-opt .table table {width:100%;border-collapse:collapse;}
.cart-opt .table table th {padding:10px 12px;text-align:left;font-size:14px;font-weight:500;color:#454545;background:#f7f7f7;border:1px solid #ddd;}
.cart-opt .table table td {padding:10px 12px;border:1px solid #ddd;}
.cart-opt .table table td select.input {width:100%;height:40px;padding:0 12px;border:1px solid #ccc;border-radius:4px;font-size:14px;color:#454545;}