@charset "utf-8";
/* Generated by scripts/build_sub_modules.py from sub.css. Do not edit. */

/* visual */
#subCont .visual-box { position:relative; width:100%; height:580px; overflow:hidden; }
#subCont .visual-box .mvisualImage { position:absolute; right:190px; bottom:0; }
#subCont .visual-box .visual_txt { position:relative; width:100%; height:100%; }
#subCont .visual-box .visual_txt .inner { position:relative; height:100%; z-index:2; }
/* 서브페이지 배너 영역은 컨텐츠(1350)보다 넓은 1620 inner 유지 */
#subCont .visual-box .visual_txt .inner,
#subCont .common-banner .inner { max-width:1520px; }
#subCont .visual-box .visual_txt .txtbox { position:absolute; left:0; top:50%; transform:translateY(-50%); width:100%; }
#subCont .visual-box .visual_txt .txtbox dt { opacity:0; font-weight:600; font-size:24px; color:var(--mainColor); letter-spacing:-0.02em; line-height:1.3; overflow:hidden; }
#subCont .visual-box .visual_txt .txtbox dd { margin-top:15px; }
#subCont .visual-box .visual_txt .txtbox dd .txt-1 { opacity:0; font-weight:300; font-size:50px; color:#222; line-height:1.3; overflow:hidden; }
#subCont .visual-box .visual_txt .txtbox dd .txt-1 strong { font-weight:600; }
#subCont .visual-box .visual_txt .txtbox dd .txt-1 h1 { margin:0; font:inherit; color:inherit; line-height:inherit; }
#subCont .visual-box .visual_txt .txtbox dd .txt-2 { opacity:0; margin-top:25px; font-weight:400; font-size:21px; color:#222; letter-spacing:-0.02em; line-height:1.5; overflow:hidden; word-break:keep-all; }
#subCont .visual-box .visual_txt .txtbox dd .txt-2 strong { font-weight:600; }
#subCont .visual-box .visual_txt .txtbox dd .txt-3 { font-size:17px; line-height: 27px; margin-top: 30px; }
#subCont .visual-box .visual_txt .txtbox dd .txt-3 strong { font-weight: 600; color: var(--mainColor); }
#subCont .visual-box .visual_txt .txtbox dd .txt-price { opacity:0; margin-top:26px; display:inline-flex; align-items:center; gap:14px; padding:12px 14px; border-radius:12px; border:1px solid #cfcfcfdd; background:white; }
#subCont .visual-box .visual_txt .txtbox dd .txt-price .label { display:inline-flex; align-items:center; justify-content:center; min-width:72px; height:30px; padding:0 10px; border-radius:30px; background:var(--mainColor); color:#fff; font-size:13px; font-weight:600; }
#subCont .visual-box .visual_txt .txtbox dd .txt-price p { display:flex; align-items:baseline; gap:8px; }
#subCont .visual-box .visual_txt .txtbox dd .txt-price strong { font-size:22px; line-height:1; font-weight:700; color:#222; letter-spacing:-0.02em; }
#subCont .visual-box .visual_txt .txtbox dd .txt-price em { font-style:normal; font-size:15px; font-weight:500; color:#666; }
#subCont .visual-box .visual_txt .btn_link { position:relative; margin-top:70px; width:220px; height:60px; overflow:hidden; border:1px solid var(--mainColor); border-radius:50px; }
#subCont .visual-box .visual_txt .btn_link a { transition:all 0.3s; position:relative; z-index:1; font-size:16px; color:#222; font-weight:700; letter-spacing:-0.02em; width:100%; height:100%; display:flex; align-items:center; justify-content:center; }
#subCont .visual-box .visual_txt .btn_link a span { transition:all 0.3s; display:inline-block; padding-right:16px; font-family:var(--subFont1); font-weight:500; font-size:20px; color:var(--mainColor); background:url(../img/main/visual_arr.png) right center no-repeat; }
#subCont .visual-box .visual_txt .btn_link a:hover { background:var(--mainColor); }
#subCont .visual-box .visual_txt .btn_link a:hover span { filter:brightness(0) invert(1); }
#subCont .visual-box .visual_txt .txtbox .cta-group { margin-top:28px; display:flex; align-items:center; gap:12px; }
#subCont .visual-box .visual_txt .txtbox .cta-group .btn_link { margin-top:0; }
#subCont .visual-box .visual_txt .txtbox .cta-group .btn_link.is-primary a { background:var(--mainColor); }
#subCont .visual-box .visual_txt .txtbox .cta-group .btn_link.is-primary a span { filter:brightness(0) invert(1); }
#subCont .visual-box .visual_txt .txtbox .cta-group .btn_link.btn_link-tel a { justify-content:center; padding:0 18px; }
#subCont .visual-box .visual_txt .txtbox .cta-group .btn_link.btn_link-tel a span {
    background:none;
    padding-right:0;
    padding-left:25px;
    position:relative;
}
#subCont .visual-box .visual_txt .txtbox .cta-group .btn_link.btn_link-tel a span:before {
    content:"";
    display:block;
    width:18px;
    height:18px;
    background:var(--mainColor) url(../img/common/tel_icon.png) center no-repeat;
    position:absolute;
    left:0;
    top:50%;
    transform:translateY(-50%);
    border-radius:18px;
}
#subCont .visual-box .visual_txt .txtbox .cta-group .btn_link.btn_link-tel a:hover span { filter:none; color:#fff; }
#subCont .visual-box.subOn .visual_txt .txtbox dt { animation:ani_2 0.8s 0.2s; animation-fill-mode:both; }
#subCont .visual-box.subOn .visual_txt .txtbox dd .txt-1 { animation:ani_2 0.8s 0.6s; animation-fill-mode:both; }
#subCont .visual-box.subOn .visual_txt .txtbox dd .txt-2 { animation:ani_2 0.8s 1.0s; animation-fill-mode:both; }
#subCont .visual-box.subOn .visual_txt .txtbox dd .txt-3 { animation:ani_2 0.8s 1.4s; animation-fill-mode:both; }
#subCont .visual-box.subOn .visual_txt .txtbox dd .txt-price { animation:ani_2 0.8s 1.8s; animation-fill-mode:both; }
@media screen and (max-width:1700px){
    #subCont .visual-box .mvisualImage { right:80px; text-align:right; }
    #subCont .visual-box .mvisualImage img { width:90% }
}
@media screen and (max-width:1540px){
    #subCont .visual-box .mvisualImage { right:60px; }
    /* #subCont .visual-box .visual_txt .txtbox { padding:0 150px; } */
    #subCont .visual-box .visual_txt .txtbox { padding:0 30px; }
}
@media screen and (max-width:1400px){
    #subCont .visual-box .visual_txt .txtbox dt { font-size:22px; }
    #subCont .visual-box .visual_txt .txtbox dd { margin-top:15px; }
    #subCont .visual-box .visual_txt .txtbox dd .txt-1 { font-size:42px; }
    #subCont .visual-box .visual_txt .txtbox dd .txt-2 { margin-top:25px; font-size:20px; }
    #subCont .visual-box .visual_txt .txtbox dd .txt-3 { font-size:18px; }
    #subCont .visual-box .visual_txt .txtbox dd .txt-price strong { font-size:30px; }
}
@media screen and (max-width:1280px){
    #subCont .visual-box .mvisualImage { right:20px; }
    #subCont .visual-box .mvisualImage img { width:80% }
    #subCont .visual-box .visual_txt .txtbox dt { font-size:20px; }
    #subCont .visual-box .visual_txt .txtbox dd { margin-top:15px; }
    #subCont .visual-box .visual_txt .txtbox dd .txt-1 { font-size:36px; }
    #subCont .visual-box .visual_txt .txtbox dd .txt-2 { margin-top:20px; font-size:19px; }
    #subCont .visual-box .visual_txt .txtbox dd .txt-price strong { font-size:28px; }
}
@media screen and (max-width:1024px){
    #subCont .visual-box { height:480px; }
    #subCont .visual-box .mvisualImage img { width:70%; opacity:0.4 }
    #subCont .visual-box .visual_txt .txtbox dt { font-size:18px; }
    #subCont .visual-box .visual_txt .txtbox dd { margin-top:12px; }
    #subCont .visual-box .visual_txt .txtbox dd .txt-1 { font-size:28px; }
    #subCont .visual-box .visual_txt .txtbox dd .txt-2 { margin-top:20px; font-size:18px; }
    #subCont .visual-box .visual_txt .txtbox dd .txt-3 { font-size:16px; }
    #subCont .visual-box .visual_txt .txtbox dd .txt-price { margin-top:20px; padding:10px 14px; gap:10px; }
    #subCont .visual-box .visual_txt .txtbox dd .txt-price .label { min-width:64px; height:26px; font-size:12px; }
    #subCont .visual-box .visual_txt .txtbox dd .txt-price strong { font-size:24px; }
    #subCont .visual-box .visual_txt .txtbox dd .txt-price em { font-size:14px; }
    #subCont .visual-box .visual_txt .txtbox .cta-group .btn_link { width:190px; height:50px; }
    #subCont .visual-box .visual_txt .txtbox .cta-group .btn_link a span { font-size:16px; }
    #subCont .visual-box .visual_txt .txtbox .cta-group .btn_link.btn_link-tel a { justify-content:center; padding:0 14px; }
    #subCont .visual-box .visual_txt .txtbox .cta-group .btn_link.btn_link-tel a span { padding-left:22px; }
    #subCont .visual-box .visual_txt .txtbox .cta-group .btn_link.btn_link-tel a span:before { width:16px; height:16px; }
}
@media screen and (max-width:860px){
    #subCont .visual-box { height:450px; }
    #subCont .visual-box .mvisualImage img { width:50%; }
}
@media screen and (max-width:640px){
    #subCont .visual-box { height:500px; }
    #subCont .visual-box .mvisualImage img { width:60% }
    #subCont .visual-box .visual_txt .txtbox { top:60px; transform:translateY(0); }
    #subCont .visual-box .visual_txt .txtbox dt { font-size:16px; }
    #subCont .visual-box .visual_txt .txtbox dd { margin-top:10px; }
    #subCont .visual-box .visual_txt .txtbox dd .txt-1 { font-size:22px; }
    #subCont .visual-box .visual_txt .txtbox dd .txt-2 { margin-top:20px; font-size:16px; }
    #subCont .visual-box .visual_txt .txtbox dd .txt-3 { font-size:15px; }
    #subCont .visual-box .visual_txt .txtbox dd .txt-price { flex-wrap:wrap; gap:8px; }
    #subCont .visual-box .visual_txt .txtbox dd .txt-price strong { font-size:22px; }
    #subCont .visual-box .visual_txt .txtbox dd .txt-price em { font-size:13px; }
    #subCont .visual-box .visual_txt .txtbox dd br { display:none }
    #subCont .visual-box .visual_txt .txtbox .cta-group { margin-top:20px; gap:10px; flex-wrap:wrap; }
    #subCont .visual-box .visual_txt .txtbox .cta-group .btn_link { width:100%; }
    #subCont .visual-box .visual_txt .txtbox .cta-group .btn_link a { justify-content:center; }
}
@media screen and (max-width:550px){
    #subCont .visual-box { height:460px; }
    #subCont .visual-box .mvisualImage img { width:52% }
    #subCont .visual-box .mvisualImage.sv1 img { width:42% }
}

#subCont #lnb { margin-top:-85px; position:relative; z-index:5; }
#subCont #lnb dl { border:1px solid #e6e6e6; border-width:1px 1px 0 0; background:#fff; display:flex; }
#subCont #lnb dt { width:85px; height:85px; }
#subCont #lnb dt a { width:100%; height:100%; display:flex; align-items:center; justify-content:center; text-indent:-9999em; overflow:hidden; background:var(--mainColor) url(../img/common/icon_home.png) no-repeat center center; }
#subCont #lnb dd { display:flex; }
#subCont #lnb dd .depthMenu { position:relative; width:270px; }
#subCont #lnb dd .depthMenu:after { content:""; display:block; position:absolute; top:50%; right:0; transform:translateY(-50%); width:1px; height:30px; background:#e6e6e6;}
#subCont #lnb dd .depthMenu p.tit span { cursor:pointer; padding:0 20px 0 30px; height:85px; display:flex; align-items:center; color:#222; font-size:16px; font-weight:400; letter-spacing:-0.02em; }
#subCont #lnb dd .depthMenu p.tit { position:relative; }
#subCont #lnb dd .depthMenu p.tit:after { content:""; display:block; position:absolute; top:50%; right:20px; transform:translateY(-50%); width:8px; height:4px; background:url(../img/common/icon_arr.png) no-repeat center center; transition:all 0.4s; }
#subCont #lnb dd .depthMenu p.ov:after { transform:translateY(-50%) rotate(180deg); }
#subCont #lnb dd .depthMenu .sub-box { position:absolute; top:85px; padding:0 30px; z-index:2; display:none; border:1px solid #e6e6e6; width:100%; background:#fff; }
#subCont #lnb dd .depthMenu .sub-box li { padding:10px 0; }
#subCont #lnb dd .depthMenu .sub-box li:first-child { padding-top:30px; }
#subCont #lnb dd .depthMenu .sub-box li:last-child { padding-bottom:30px; }
#subCont #lnb dd .depthMenu .sub-box li a { font-size:16px; font-weight:400; letter-spacing:-0.02em; }
#subCont #lnb dd .depthMenu .sub-box li a:hover { color:var(--mainColor)}
#subCont #lnb dd .depthMenu:last-child p.tit span { font-weight:700; color:var(--mainColor); }
@media screen and (max-width:1400px){
    #subCont #lnb { margin-top:-70px; }
    #subCont #lnb dt { width:70px; height:70px; }
    #subCont #lnb dd .depthMenu p.tit span { padding:0 20px 0 30px; height:70px; }
    #subCont #lnb dd .depthMenu { width:250px; }
    #subCont #lnb dd .depthMenu:after { height:25px; }
    #subCont #lnb dd .depthMenu .sub-box { top:70px; }
}
@media screen and (max-width:1024px){
    #subCont #lnb { margin-top:-50px; }
    #subCont #lnb dt { width:50px; height:50px; }
    #subCont #lnb dd { width:calc(100% - 50px)}
    #subCont #lnb dd .depthMenu p.tit span { padding:0 20px 0 30px; height:50px; font-size:15px; }
    #subCont #lnb dd .depthMenu { width:220px; }
    #subCont #lnb dd .depthMenu:after { height:20px; }
    #subCont #lnb dd .depthMenu .sub-box { top:50px; }
}
@media screen and (max-width:860px){
   #subCont #lnb dl { background:none }
   #subCont #lnb dd { flex-wrap:wrap; background:#fff; }
   #subCont #lnb dd .depthMenu { width:50%; }
   #subCont #lnb dd .depthMenu:nth-child(2):after,
   #subCont #lnb dd .depthMenu:nth-child(3):after { display:none; }
   #subCont #lnb dd .depthMenu:nth-child(3) { width:100%; border:1px solid #e6e6e6; border-width:1px 0 0 1px;  }
   #subCont #lnb dd .depthMenu p.tit span { padding:0 10px 0 15px; }
   #subCont #lnb dd .depthMenu .sub-box { padding:0 15px; }
   #subCont #lnb dd .depthMenu p.tit:after { right:10px; }
}



#contents { padding-top:110px; background:#f5f5f5; }
#contents .subTitle { text-align:center; }
#contents .subTitle * { word-break:keep-all; }
#contents .subTitle.left { text-align:left; }
#contents .subTitle h1,
#contents .subTitle h2,
#contents .subTitle h3 { color:var(--mainColor); font-size:40px; font-weight:600; line-height:130%; }
#contents .subTitle h1 .tit,
#contents .subTitle h2 .tit,
#contents .subTitle h3 .tit { font-family:var(--mainFont); }
#contents .subTitle h1 strong,
#contents .subTitle h2 strong,
#contents .subTitle h3 strong { font-weight:700; }
#contents .subTitle h4 { font-size:25px; font-weight:600; line-height:130%; }
#contents .subTitle p { margin-top:25px; font-size:20px; font-weight:400; line-height:1.8; color:#444; letter-spacing:-0.02em; }
#contents .subTitle span.txt { color:#222; }
#contents .subTitle .txtbox { color:#444; font-size:20px; font-weight:400; line-height:1.5; letter-spacing:-0.02em }
#contents .subTitle .txtbox strong { font-weight:600; }
@media screen and (max-width:1400px){
    #contents .subTitle h1,
    #contents .subTitle h2,
    #contents .subTitle h3 { font-size:34px; }
    #contents .subTitle p { font-size:22px; margin-top:20px; }
}
@media screen and (max-width:1024px){
    #contents { padding-top:80px; }
    #contents .subTitle h1,
    #contents .subTitle h2,
    #contents .subTitle h3 { font-size:30px; }
    #contents .subTitle p { font-size:20px; margin-top:18px; }
    #contents .subTitle .txtbox { font-size:18px; }
}
@media screen and (max-width:640px){
    #contents { padding-top:50px; }
    #contents .subTitle h1,
    #contents .subTitle h2,
    #contents .subTitle h3 { font-size:20px; }
    #contents .subTitle p { font-size:18px; margin-top:15px; }
    #contents .subTitle .txtbox { font-size:16px; }
}

/* animation */
#contents .subTitle { overflow:hidden }
#contents .subTitle h1,
#contents .subTitle h2,
#contents .subTitle h3,
#contents .subTitle p,
#contents .subTitle .txtbox { opacity:0; }
#contents .subOn .subTitle h1,
#contents .subOn .subTitle h2,
#contents .subOn .subTitle h3 { animation:ani_3 0.8s 0.2s; animation-fill-mode:both; }
#contents .subOn .subTitle p { animation:ani_3 0.8s 0.5s; animation-fill-mode:both; }
#contents .subOn .subTitle .txtbox { animation:ani_3 0.8s 0.5s; animation-fill-mode:both; }

.faq-list { padding:140px 0; background-color:#fff; margin-bottom:100px; }
.faq-list.bg { background-color:#f5f5f5; padding:100px 0;}
.faq-list .subTitle { text-align:center; }
.faq-list .subTitle h2,
.faq-list .subTitle h3 { color:var(--mainColor); font-size:40px; font-weight:600; line-height:130%; }
.faq-list .subTitle h2 strong,
.faq-list .subTitle h3 strong { font-weight:700; }
.faq-list .listbox { margin-top:50px; }
.faq-list .listbox > ul { border-top:2px solid var(--mainColor); }
.faq-list .listbox > ul > li { border:1px solid #f5f5f5; border-width:0 1px 1px; }
.faq-list.bg .listbox > ul > li { border:1px solid #ddd; border-width:0 1px 1px; }
.faq-list .listbox > ul > li.on { border-width:0 0 1px; }
.faq-list .listbox > ul > li > p,
.faq-list .listbox > ul > li > h3 { word-break:keep-all; position:relative; cursor:pointer; padding:35px 80px 35px 75px; min-height:100px; font-size:22px; color:#222; font-weight:700; line-height:1.4; display:flex; align-items:center; }
.faq-list .listbox > ul > li > p:before,
.faq-list .listbox > ul > li > h3:before { content:""; display:block; position:absolute; right:40px; top:50%; transform:translateY(-50%); width:14px; height:9px; background:url(../img/common/faq_arr.png) center center no-repeat; }
.faq-list .listbox > ul > li.on > p:before,
.faq-list .listbox > ul > li.on > h3:before { background:url(../img/common/faq_arr_on.png) center center no-repeat; }
.faq-list .listbox > ul > li > p span.q,
.faq-list .listbox > ul > li > h3 span.q { position:absolute; left:40px; top:35px; color:var(--mainColor); font-weight:700; font-size:22px; }
.faq-list .listbox > ul > li .contentBox { background-color:#f5f5f5; padding:40px 75px; color:#000; font-size:17px; line-height:1.5; font-weight:400; }
.faq-list.bg .listbox > ul > li .contentBox { background-color:#fff; border-top:1px solid #ddd; }
@media screen and (max-width:1110px){
    .faq-list.bg { margin:0;}
}
@media screen and (max-width:1024px){
    .faq-list { padding:100px 0 0; }
    .faq-list.bg { padding:100px 0;}
    .faq-list .subTitle h2,
    .faq-list .subTitle h3 { font-size:30px; }
    .faq-list .listbox { margin-top:40px; }
    .faq-list .listbox > ul > li > p,
    .faq-list .listbox > ul > li > h3 {padding:30px 80px 30px 60px; min-height:80px; font-size:20px; }
    .faq-list .listbox > ul > li > p:before,
    .faq-list .listbox > ul > li > h3:before { right:30px; }
    .faq-list .listbox > ul > li > p span.q,
    .faq-list .listbox > ul > li > h3 span.q { left:30px; top:28px; font-size:20px; }
    .faq-list .listbox > ul > li .contentBox {padding:30px 60px; font-size:16px; }
}
@media screen and (max-width:640px){
    .faq-list { padding:80px 0 0; }
    .faq-list.bg { padding:80px 0;}
    .faq-list .subTitle h2,
    .faq-list .subTitle h3 { font-size:20px; }
    .faq-list .listbox { margin-top:30px; }
    .faq-list .listbox > ul > li > p,
    .faq-list .listbox > ul > li > h3 {padding:20px 60px 20px 40px; min-height:60px; font-size:16px; }
    .faq-list .listbox > ul > li > p:before,
    .faq-list .listbox > ul > li > h3:before { right:15px; }
    .faq-list .listbox > ul > li > p span.q,
    .faq-list .listbox > ul > li > h3 span.q { left:15px; top:19px; font-size:17px; }
    .faq-list .listbox > ul > li .contentBox {padding:20px 40px; font-size:15px; }
}

/* animation */
.faq-list .subTitle h2,
.faq-list .subTitle h3 { opacity:0; }
.faq-list.subOn .subTitle h2,
.faq-list.subOn .subTitle h3 { animation:ani_3 0.8s 0.2s; animation-fill-mode:both; }
.faq-list .listbox { opacity:0; }
.faq-list.subOn .listbox{ animation:ani_4 0.8s 0.5s; animation-fill-mode:both; }

/* Footer all-menu UI v2 */
footer .footer_box .all-menu .all-menu-v2 {
    display: flex;
    gap: 40px;
    padding: 0;
    border: none;
    border-radius: 0;
    background: transparent;
}

footer .footer_box .all-menu .all-menu-v2__categories {
    width: 180px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

footer .footer_box .all-menu .all-menu-v2__cat-btn {
    width: 100%;
    min-height: 44px;
    padding: 10px 14px;
    border: none;
    border-radius: 10px;
    background: #fff;
    color: #444;
    font-size: 15px;
    font-weight: 600;
    text-align: left;
    cursor: pointer;
    transition: all 0.2s ease;
}

footer .footer_box .all-menu .all-menu-v2__cat-btn:hover {
    border-color: #b9c3d0;
    background: #f8fafc;
}

footer .footer_box .all-menu .all-menu-v2__cat-btn.is-active {
    border-color: none;
    background: var(--mainColor);
    color: #fff;
}

footer .footer_box .all-menu .all-menu-v2__panel {
    flex: 1 1 auto;
    min-width: 0;
}

footer .footer_box .all-menu .all-menu-v2__content {
    display: none;
}

footer .footer_box .all-menu .all-menu-v2__content.is-active {
    display: block;
}

footer .footer_box .all-menu .all-menu-v2__content--single-column .all-menu-v2__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
}

footer .footer_box .all-menu .all-menu-v2__content--single-column .all-menu-v2__grid .all-menu-v2__card {
    flex: none;
    min-width: 0;
}

footer .footer_box .all-menu .all-menu-v2__content-head {
    display: none;
    margin-bottom: 16px;
}

footer .footer_box .all-menu .all-menu-v2__top-link {
    display: inline-block;
    color: #222;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.3;
}

footer .footer_box .all-menu .all-menu-v2__grid {
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 32px;
    overflow: visible;
    width: 100%;
}

footer .footer_box .all-menu .all-menu-v2__grid .all-menu-v2__card {
    flex: 0 0 220px;
    min-width: 170px;
}

footer .footer_box .all-menu .all-menu-v2__grid .all-menu-v2__card--w-sm {
    flex-basis: 170px;
}

footer .footer_box .all-menu .all-menu-v2__grid .all-menu-v2__card--w-md {
    flex-basis: 220px;
}

footer .footer_box .all-menu .all-menu-v2__grid .all-menu-v2__card--w-lg {
    flex-basis: 260px;
}

footer .footer_box .all-menu .all-menu-v2__grid .all-menu-v2__card--w-xl {
    flex-basis: 300px;
}

footer .footer_box .all-menu .all-menu-v2__card {
    padding: 0;
    border: none;
    border-radius: 0;
    background: transparent;
}

footer .footer_box .all-menu .all-menu-v2__card--promo {
    padding: 0;
    overflow: visible;
}

footer .footer_box .all-menu .all-menu-v2__promo-img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 4px;
}

footer .footer_box .all-menu .all-menu-v2__promo-body {
    padding: 10px 0 0;
}

footer .footer_box .all-menu .all-menu-v2__promo-desc {
    margin-top: 8px;
    color: #666;
    font-size: 13px;
    line-height: 1.5;
}

footer .footer_box .all-menu .all-menu-v2__promo-link {
    display: inline-block;
    margin-top: 10px;
    color: #333;
    font-size: 13px;
    font-weight: 600;
}

footer .footer_box .all-menu .all-menu-v2__content--primary-promo .all-menu-v2__promo-link {
    color: var(--mainColor);
    font-weight: 400;
}

footer .footer_box .all-menu .all-menu-v2__content--primary-promo .all-menu-v2__card--promo .all-menu-v2__d2-title {
    color: #222;
}

footer .footer_box .all-menu .all-menu-v2__content--primary-promo .all-menu-v2__grid {
    gap: 50px;
}

footer .footer_box .all-menu .all-menu-v2__card--icon .all-menu-v2__icon-img {
    display: block;
    width: 38px;
    height: 38px;
    margin-bottom: 10px;
}

footer .footer_box .all-menu .all-menu-v2__d2-title {
    margin: 0;
}

footer .footer_box .all-menu .all-menu-v2__d2-title > a,
footer .footer_box .all-menu .all-menu-v2__d2-title {
    color: var(--mainColor);
    font-size: 16px;
    font-weight: 700;
    line-height: 1.4;
}

footer .footer_box .all-menu .all-menu-v2__d3-list {
    margin-top: 16px;
}

footer .footer_box .all-menu .all-menu-v2__d3-list > li:not(:last-child) {
    margin-bottom: 12px;
}

footer .footer_box .all-menu .all-menu-v2__d3-link {
    color: #555;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.35;
    display: block;
    transition: opacity 0.2s ease;
}

footer .footer_box .all-menu .all-menu-v2__d3-main {
    display: block;
    font-weight: 600;
}

footer .footer_box .all-menu .all-menu-v2__d3-sub {
    margin-top: 6px;
    display: block;
    color: #555;
    font-size: 14px;
    line-height: 1.35;
}

footer .footer_box .all-menu .all-menu-v2__d3-link:hover {
    color: #555;
    opacity: 0.72;
}

footer .footer_box .all-menu .all-menu-v2__d3-link:hover .all-menu-v2__d3-sub {
    color: #555;
}

/* Footer dark theme override */
footer .footer_box {
    background-color: #111;
    overflow-x: clip;
}

footer .footer_box .all-menu {
    background-color: #f3f4f6;
    border-bottom: 1px solid #dfe5ec;
    margin-left: calc(50% - 50dvw);
    margin-right: calc(50% - 50dvw);
    padding-left: calc(50dvw - 50%);
    padding-right: calc(50dvw - 50%);
}

footer .infobox {
    border-top: none;
}

footer .infobox .fmenu ul li a {
    color: #fff;
}

footer .infobox .info ul li {
    color: #aaa;
}

footer .copyright {
    color: #fff;
}

footer .copyright .stxt {
    color: #c0c0c0;
}

footer .infobox .family-site .family-site-toggle {
    background-color: #242424;
    border: 1px solid #2a2a2a;
    box-shadow: none;
    transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

footer .infobox .family-site .family-site-toggle:hover {
    background-color: #222;
    border-color: #2f2f2f;
    box-shadow: none;
}

footer .infobox .family-site .family-site-toggle .family-site-label {
    color: #ccc;
}

footer .infobox .family-site .family-site-toggle .plus-icon {
    filter: none;
    opacity: 0.8;
    transition: filter 0.2s ease, transform 0.2s ease;
}

footer .infobox .family-site .family-site-toggle:hover .plus-icon {
    opacity: 1;
}

footer .infobox .family-site .family-site-list {
    background-color: #1a1a1a;
    border: 1px solid #242424;
}

footer .infobox .family-site .family-site-list li a {
    color: #ccc;
}

footer .infobox .family-site .family-site-list li a:hover {
    color: #fff;
    background-color: #222;
}

footer .infobox .family-site .family-site-list li a .link-icon {
    opacity: 0.7;
    filter: none;
    transition: filter 0.3s;
}

footer .infobox .family-site .family-site-list li a:hover .link-icon {
    opacity: 1;
}

/* Footer all-menu v2 responsive tuning (prevent horizontal overflow) */
@media screen and (max-width: 1600px) {
    footer .footer_box .all-menu .all-menu-v2__grid {
        gap: 24px;
    }

    footer .footer_box .all-menu .all-menu-v2__content--primary-promo .all-menu-v2__grid {
        gap: 32px;
    }

    footer .footer_box .all-menu .all-menu-v2__grid .all-menu-v2__card {
        flex-basis: 200px;
        min-width: 160px;
    }

    footer .footer_box .all-menu .all-menu-v2__grid .all-menu-v2__card--w-sm {
        flex-basis: 180px;
    }

    footer .footer_box .all-menu .all-menu-v2__grid .all-menu-v2__card--w-md {
        flex-basis: 200px;
    }

    footer .footer_box .all-menu .all-menu-v2__grid .all-menu-v2__card--w-lg {
        flex-basis: 230px;
    }

    footer .footer_box .all-menu .all-menu-v2__grid .all-menu-v2__card--w-xl {
        flex-basis: 260px;
    }
}

@media screen and (max-width: 1366px) {
    footer .footer_box .all-menu .all-menu-v2 {
        gap: 40px;
    }

    footer .footer_box .all-menu .all-menu-v2__categories {
        width: 190px;
    }

    footer .footer_box .all-menu .all-menu-v2__grid {
        gap: 16px;
        flex-wrap: wrap;
    }

    footer .footer_box .all-menu .all-menu-v2__content--primary-promo .all-menu-v2__grid {
        gap: 20px;
    }

    footer .footer_box .all-menu .all-menu-v2__grid .all-menu-v2__card {
        flex-basis: calc((100% - 48px) / 4);
        min-width: 0;
    }

    footer .footer_box .all-menu .all-menu-v2__content--single-column .all-menu-v2__grid {
        display: grid;
        grid-template-columns: 1fr;
    }

    footer .footer_box .all-menu .all-menu-v2__content--primary-promo .all-menu-v2__card--promo {
        display: none;
    }
}

@media screen and (max-width: 1180px) {
    footer .footer_box .all-menu .all-menu-v2__categories {
        width: 170px;
    }

    footer .footer_box .all-menu .all-menu-v2__grid {
        gap: 12px;
    }

    footer .footer_box .all-menu .all-menu-v2__content--primary-promo .all-menu-v2__grid {
        gap: 14px;
    }

    footer .footer_box .all-menu .all-menu-v2__grid .all-menu-v2__card {
        flex-basis: calc((100% - 36px) / 4);
        min-width: 0;
    }
}

/* Footer nav grid readability + fixed 6 columns (desktop) */
footer .footer_box .all-menu .footer-nav-grid__cols {
    grid-template-columns:repeat(7, minmax(0, 1fr));
    gap:24px;
}
footer .footer_box .all-menu .footer-nav-grid__group dt a { color:var(--mainColor); }
footer .footer_box .all-menu .footer-nav-grid__group dd ul li a { color:#475569; }
footer .footer_box .all-menu .footer-nav-grid__group dd ul li a:hover { color:var(--mainColor); }

@media screen and (max-width:1280px){
    footer .footer_box .all-menu .footer-nav-grid__cols {
        grid-template-columns:repeat(3, minmax(0, 1fr));
        gap:18px;
    }
}
@media screen and (max-width:760px){
    footer .footer_box .all-menu .footer-nav-grid__cols {
        grid-template-columns:repeat(2, minmax(0, 1fr));
        gap:14px;
    }
}
@media screen and (max-width:640px){
    footer .footer_box .all-menu .footer-nav-grid__cols {
        grid-template-columns:1fr;
        gap:12px;
    }
}

/* 연관 서비스 - 다크 그라데이션 + 그래픽 */
.related-services {
    position:relative;
    padding:70px 0 80px;
    overflow:hidden;
    background:linear-gradient(145deg, #0a1025 0%, #0d1430 30%, #111938 60%, #0c132a 100%);
    background-image:linear-gradient(145deg, #0a1025 0%, #0d1430 30%, #111938 60%, #0c132a 100%),
        linear-gradient(135deg, rgba(0, 81, 237, 0.25) 0%, rgba(0, 81, 237, 0.08) 40%, transparent 70%),
        linear-gradient(315deg, rgba(0, 81, 237, 0.15) 0%, transparent 50%),
        linear-gradient(225deg, rgba(89, 241, 255, 0.12) 0%, transparent 45%);
}
.related-services-bg {
    position:absolute;
    inset:0;
    pointer-events:none;
}
.related-services-orb {
    position:absolute;
    border-radius:50%;
    filter:blur(80px);
}
.related-services-orb-1 {
    width:420px;
    height:420px;
    top:-120px;
    right:-100px;
    background:radial-gradient(circle, var(--mainColor) 0%, rgba(0, 81, 237, 0.4) 40%, transparent 70%);
    opacity:0.7;
}
.related-services-orb-2 {
    width:350px;
    height:350px;
    bottom:-80px;
    left:-80px;
    background:radial-gradient(circle, #59f1ff 0%, rgba(0, 81, 237, 0.3) 50%, transparent 70%);
    opacity:0.5;
}
.related-services-orb-3 {
    width:280px;
    height:280px;
    top:50%;
    left:50%;
    transform:translate(-50%, -50%);
    background:radial-gradient(circle, var(--mainColor) 0%, rgba(0, 81, 237, 0.25) 40%, transparent 70%);
    opacity:0.45;
}
.related-services-grid {
    position:absolute;
    inset:0;
    background-image:
        linear-gradient(rgba(255,255,255,0.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px);
    background-size:48px 48px;
    mask-image:radial-gradient(ellipse 80% 80% at 50% 50%, black 20%, transparent 70%);
}
.related-services .inner {
    max-width:1200px;
    margin:0 auto;
    padding:0 20px;
}
.related-services-inner {
    position:relative;
    z-index:2;
}
.related-services-head {
    text-align:center;
    margin-bottom:40px;
}
.related-services-title {
    font-size:35px;
    font-weight:700;
    color:#fff;
    letter-spacing:-0.02em;
    line-height:1.3;
}
.related-services-subtitle {
    margin-top:14px;
    font-size:17px;
    font-weight:400;
    color:rgba(255, 255, 255, 0.7);
    letter-spacing:-0.02em;
    line-height:1.6;
}
.related-services-list {
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:18px;
    list-style:none;
    margin:0;
    padding:0;
}
.related-services-list li {
    margin:0;
    padding:0;
}
.related-services-link {
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-width:200px;
    padding:20px 24px;
    background:rgba(255, 255, 255, 0.06);
    border:1px solid rgba(255, 255, 255, 0.12);
    border-radius:8px;
    transition:all 0.3s ease;
    text-decoration:none;
    color:#fff;
    backdrop-filter:blur(12px);
}
.related-services-link:hover {
    background:rgba(255, 255, 255, 0.1);
    border-color:rgba(0, 81, 237, 0.6);
    box-shadow:0 8px 24px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(255,255,255,0.05);
}
.related-services-txt {
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:8px;
}
.related-services-name {
    font-size:16px;
    font-weight:600;
    letter-spacing:-0.02em;
    color:#fff;
}
.related-services-item-sub {
    font-size:13px;
    font-weight:400;
    color:rgba(255, 255, 255, 0.65);
    letter-spacing:-0.02em;
    line-height:1.4;
}
.related-services-arrow {
    flex-shrink:0;
    margin-left:12px;
}
.related-services-arrow .link-icon {
    width:18px;
    height:18px;
    filter:brightness(0) invert(1);
    opacity:0.7;
}
.related-services-link:hover .link-icon {
    opacity:1;
}
@media screen and (max-width:768px){
    .related-services { padding:50px 0 60px; }
    .related-services-title { font-size:26px; }
    .related-services-subtitle { font-size:16px; }
    .related-services-list { gap:14px; }
    .related-services-link { min-width:100%; padding:18px 20px; }
}

/* Legacy global selectors retained for identical rendering. */
@media screen and (max-width:640px) {
    .provide-box .data-table tbody th,tr { height:50px; font-size:13px;line-height: 20px;}
}
@media screen and (max-width:640px) {
    .product-table .data-table tbody th,tr { height:40px; font-size:13px;line-height: 20px;}
}
@media screen and (max-width:640px) {
    .managed-box2 .dataTable tbody th,td { font-size: 13px; }
}
.about-box .about-history ul,li { list-style: none; }
