/*foot.css*/
#ft {
  padding: 40px 0;
  width: 100%;
  min-width: inherit;
  text-align: center;
  background-color: #fafafa;
}

#ft * {
  color: #666;
  font-size: 14px;
  line-height: 28px;
  -webkit-transform: skew(-0.1deg);
  transform: skew(-0.1deg);
  font-weight: 300;
  text-align: left;
}

#ft_logo {
  position: absolute;
  right: 0;
  top: 0;
}

#ft_link {
  text-align: left;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  margin-left: -12px;
  margin-right: -12px;
}

#ft_link a {
  padding: 0 12px;
  text-decoration: none;
  color: #141414;
  font-weight: 500;
  line-height: 24px;
  font-size: 14px;
}

#ft_company {
  padding: 20px 0 8px;
  margin: 0 auto;
}

.ft_company-wrap {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
}

#ft_tel {
  flex: 0 0 auto;
  padding-top: 4px;
  text-align: right;
}

#ft_tel .ft_tel__label {
  display: block;
  margin-bottom: 6px;
  font-size: 14px;
  font-weight: 500;
  color: #666;
  line-height: 1.4;
  letter-spacing: 0;
}

#ft_tel .ft_tel__num {
  display: inline-block;
  font-size: 34px;
  font-weight: 700;
  color: #215d97;
  line-height: 1.2;
  letter-spacing: -0.02em;
  text-decoration: none;
}

#ft_tel .ft_tel__num:hover,
#ft_tel .ft_tel__num:focus {
  color: #174a7a;
}

#ft_company li {
  display: block;
  margin-right:15px;
  text-align: left;
  float: left;
  line-height: 24px;
  color: #010101;
}

.ft_company-info li::after {
  content: '';
  width: 1px;
  height: 12px;
  background: #d3d3d3;
  display: none;
  margin: 0 7px;
}

#ft_company li:nth-child(3) {
  float: none;
}

#ft_company li:nth-child(3)::after {
  display: none;
}

#ft_company li:last-child::after {
  display: none;
}

.ft_company-info::after {
  content: '';
  display: block;
  clear: both;
}

#ft_copy {
  color: #9c9c9c;
  font-size: 13px;
  font-weight: 600;
}

/* 계열사 바로가기 — dghis theme/syou ft_affiliates 동일 UI (밝은 푸터 색상 보정) */
#ft .ft_affiliates {
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid #e0e0e0;
}

#ft .ft_affiliates_inner {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px 24px;
}

#ft .ft_affiliates_label {
  flex-shrink: 0;
  font-size: 15px;
  font-weight: 700;
  color: #141414;
  letter-spacing: 0;
  transform: none;
}

#ft .ft_affiliates_list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

#ft .ft_affiliates_list li {
  margin: 0;
  padding: 0;
}

#ft .ft_affiliates_list a,
#ft .ft_affiliates_list span {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 6px 14px;
  border: 1px solid rgba(0, 0, 0, .18);
  border-radius: 4px;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.3;
  color: #444;
  text-decoration: none;
  transform: none;
  transition: border-color .2s, color .2s, background-color .2s;
}

#ft .ft_affiliates_list a:hover,
#ft .ft_affiliates_list a:focus {
  color: #141414;
  border-color: rgba(0, 0, 0, .35);
  background: rgba(0, 0, 0, .03);
}

#ft .ft_affiliates_list li.is-current span {
  color: #215d97;
  border-color: #215d97;
  background: rgba(33, 93, 151, .06);
  font-weight: 700;
}

@media (max-width: 768px) {
  #ft_link {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  #ft_logo {
    position: relative;
  }
  .ft_company-info {
    display: block;
  }
  .ft_company-wrap {
    flex-direction: column;
    align-items: center;
    gap: 16px;
  }
  #ft_tel {
    padding-top: 0;
    text-align: center;
  }
  #ft_tel .ft_tel__label {
    font-size: 13px;
  }
  #ft_tel .ft_tel__num {
    font-size: 26px;
  }
  #ft .ft_affiliates {
    margin-top: 20px;
    padding-top: 16px;
  }
  #ft .ft_affiliates_inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }
  #ft .ft_affiliates_list {
    gap: 8px;
  }
  #ft_company{
    padding-top:0;
  }
  #ft_company li{
    float:none;
    margin-right:0;
    text-align:center;
    word-break: keep-all;
    font-size:13px;
    line-height:1.4;
  }
  #ft_copy {
    text-align: center;
    line-height:1.4;
  }
  #ft_logo {
    text-align: center;
  }
  #ft_logo a {
    display: inline-block;
  }
}

/*# sourceMappingURL=widget.css.map */



/*상담신청*/
.consult{padding:75px 0 60px 0;background:#2f363c;}
.consult_content{}
.consult_content .title{margin-bottom:10px; font-size:36px; line-height:1.4; color:#fff; font-weight:600;}
.consult_content .consult_ul{display:flex;}
.consult_content .consult_li.n1{width:calc(20% - 15px); margin-right:15px;}
.consult_content .consult_li.n2{width:calc(20% - 15px); margin-right:15px;}
.consult_content .consult_li.n3{width:60%;}
.consult_content .consult_li .input{display:block; width:100%; height:65px; padding:0 10px; font-size:22px;}
.consult_content .consult_li .select{display:block; width:100%; height:65px; padding:0 10px; font-size:22px;}
.consult_content .consult_li .input::placeholder{color:#989898;}
.consult_content .consult_li.n3{}
.consult_content .consult_li.n3 .consult_input{display:flex;}
.consult_content .consult_li.n3 .input#email_1{width:30%; margin-right:5px;}
.consult_content .consult_li.n3 .desc{display:block; width:25px; font-size:20px; color:#fff; line-height:65px;}
.consult_content .consult_li.n3 .input#email_2{width:calc((70% - 35px)/2); margin-right:5px;}
.consult_content .consult_li.n3 .select#email_3{width:calc((70% - 35px)/2);}
.consult_content .consult_submit{display:block; width:330px; height:75px; margin:0 auto; font-size:30px; line-height:75px; color:#fff; font-weight:600; border-radius:30px; background:#215d97;}
.agree_box{margin-top:10px; margin-bottom:60px;}
.agree_box label{display:inline-block; font-size:15px; line-height:1.4; color:#fff;}
.agree_box .anchor{display:inline-block; margin-left:5px; font-size:15px; line-height:1.4; color:#fff;}
@media (max-width: 1200px) {
  .consult{padding:50px 0 40px 0;}
  .consult_content .title{font-size:28px;}
  .consult_content .consult_li .input{height:50px; font-size:18px;}
  .consult_content .consult_li .select{height:50px; font-size:18px;}
  .consult_content .consult_submit{width:250px; height:50px; font-size:20px; line-height:50px;}
  .consult_content .consult_li.n3 .desc{line-height:50px;}
  .agree_box{margin-bottom:30px;}
}
@media (max-width: 1000px) {
  .consult_content .consult_li .input{height:40px; font-size:16px;}
  .consult_content .consult_li .select{height:40px; font-size:16px;}
  .consult_content .consult_li.n3 .desc{line-height:40px;}
}
@media (max-width: 767px) {
  .consult_content .consult_ul{flex-wrap:wrap;}
  .consult_content .consult_li.n1{width:calc((100% - 10px)/2); margin-right:10px;}
  .consult_content .consult_li.n2{width:calc((100% - 10px)/2); margin-right:0px;}
  .consult_content .consult_li.n3{width:100%; margin-top:10px;}
}
@media (max-width: 640px) {
  .consult_content .title{font-size:20px;}
  .consult_content .consult_li .input{height:35px; font-size:14px;}
  .consult_content .consult_li .select{height:35px; font-size:14px;}
  .consult_content .consult_li.n3 .consult_input{flex-wrap:wrap;}
  .consult_content .consult_li.n3 .input#email_1{width:calc((100% - 25px)/2); margin-right:5px;}
  .consult_content .consult_li.n3 .desc{width:20px; font-size:15px; line-height:35px;}
  .consult_content .consult_li.n3 .input#email_2{width:calc((100% - 25px)/2); margin-right:0px;}
  .consult_content .consult_li.n3 .select#email_3{width:100%; margin-top:5px;}
  .agree_box label{font-size:13px;}
  .agree_box .anchor{font-size:13px;}
  .consult_content .consult_submit{width:200px; height:45px; font-size:18px; line-height:45px;}
}



/*quick*/
.quick{position:fixed; right:55px; top:50%; transform:translateY(-50%); width:120px; padding:50px 0; border-radius:100px; background:#215d97; text-align:center; z-index: 999;}
.quick .title{margin-bottom:35px; font-size:18px; line-height:1.4; color:#fff; font-weight:600;}
.quick .ul{}
.quick .li{margin-bottom:23px;}
.quick .li.n3{margin-bottom:0;}
.quick .li .icon{width:70px; height:70px; margin:0 auto; background:url('../../img/common/quick_icon.png') no-repeat; background-size:300% 100%; }
.quick .li.n1 .icon{background-position:center left;}
.quick .li.n2 .icon{background-position:center center;}
.quick .li.n3 .icon{background-position:center right;}
.quick .li .desc{margin-top:3px; font-size:14px; color:#fff; font-weight:600;}
@media (max-width: 1000px) {
  .quick{width:80px; right:30px; padding:35px 0 20px 0;}
  .quick .title{margin-bottom:20px; font-size:13px;}
  .quick .li .icon{width:50px; height:50px;}
}
@media (max-width: 640px) {
  .quick{top:auto; transform: translateY(0); bottom:70px; right:9px; width:60px; padding:20px 0;}
  .quick .title{display:none;}
  .quick .li{margin-bottom:10px;}
  .quick .li.n3{margin-bottom:0;}
  .quick .li .desc{display:none;}
  .quick .li .icon{width:40px; height:40px;}
}

/* 하단 고정 상담 퀵바 (전 페이지) */
:root {
  --dw-fixed-cta-h: 92px;
}

html:has(.dw-fixed-cta) body,
html.has-dw-fixed-cta body {
  padding-bottom: calc(var(--dw-fixed-cta-h) + env(safe-area-inset-bottom, 0px));
}

.dw-fixed-cta {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 999;
  background: linear-gradient(180deg, #ffffff 0%, #f5f8fc 100%);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  color: #1a2b3c;
  border-top: 1px solid rgba(25, 55, 95, 0.12);
  box-shadow: 0 -18px 45px rgba(25, 55, 95, 0.1);
  padding-bottom: env(safe-area-inset-bottom, 0);
}

.dw-fixed-cta::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: rgba(25, 55, 95, 0.08);
}

.dw-fixed-cta__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px 40px;
  width: min(1200px, calc(100% - 48px));
  min-height: var(--dw-fixed-cta-h);
  margin: 0 auto;
  padding: 16px 0;
  box-sizing: border-box;
}

.dw-fixed-cta__text {
  flex: 1 1 auto;
  min-width: 0;
}

.dw-fixed-cta__title {
  margin: 0;
  font-size: clamp(1rem, 1.1vw + 0.6rem, 1.25rem);
  line-height: 1.4;
  letter-spacing: -0.02em;
  font-weight: 700;
  color: #1a2b3c;
  word-break: keep-all;
}

.dw-fixed-cta__desc {
  margin: 6px 0 0;
  font-size: clamp(0.8125rem, 0.4vw + 0.65rem, 0.9375rem);
  line-height: 1.6;
  letter-spacing: -0.01em;
  font-weight: 400;
  color: #5a6b7d;
  word-break: keep-all;
}

.dw-fixed-cta__actions {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 12px;
}

.dw-fixed-cta__btn {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 148px;
  height: 52px;
  padding: 0 22px;
  background: #ffffff;
  color: #1a3d5c;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: -0.01em;
  border-radius: 8px;
  border: 1px solid rgba(25, 55, 95, 0.14);
  text-decoration: none;
  white-space: nowrap;
  box-shadow: 0 8px 24px rgba(25, 55, 95, 0.08);
  transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, border-color 0.2s ease;
}

.dw-fixed-cta__btn--online {
  background: #1a3d5c;
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.12);
  box-shadow: 0 12px 28px rgba(25, 55, 95, 0.2);
}

.dw-fixed-cta__btn::after {
  display: none;
}

.dw-fixed-cta__btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 32px rgba(25, 55, 95, 0.14);
}

.dw-fixed-cta__btn--phone:hover {
  background: #f5f8fc;
  border-color: rgba(25, 55, 95, 0.22);
}

.dw-fixed-cta__btn--online:hover {
  background: #234a6e;
  box-shadow: 0 18px 45px rgba(25, 55, 95, 0.22);
}

.dw-fixed-cta__btn:focus-visible {
  outline: 2px solid #d71920;
  outline-offset: 3px;
}

@media (max-width: 768px) {
  :root {
    --dw-fixed-cta-h: 108px;
  }

  .dw-fixed-cta__inner {
    flex-direction: column;
    align-items: stretch;
    width: calc(100% - 28px);
    gap: 10px;
    padding: 10px 0 12px;
  }

  .dw-fixed-cta__desc {
    display: none;
  }

  .dw-fixed-cta__text {
    flex: 0 0 auto;
    text-align: center;
  }

  .dw-fixed-cta__title {
    white-space: nowrap;
    word-break: normal;
    font-size: clamp(0.8125rem, 3.4vw, 0.9375rem);
    line-height: 1.2;
  }

  .dw-fixed-cta__actions {
    width: 100%;
    gap: 8px;
  }

  .dw-fixed-cta__btn {
    min-width: 0;
    flex: 1 1 0;
    height: 40px;
    padding: 0 10px;
    font-size: 12px;
    border-radius: 6px;
  }
}

@media (max-width: 480px) {
  :root {
    --dw-fixed-cta-h: 104px;
  }

  .dw-fixed-cta__title {
    font-size: clamp(0.75rem, 3.2vw, 0.8125rem);
  }

  .dw-fixed-cta__btn {
    font-size: 12px;
  }
}