body{position: relative;}
body.fixed {
  position: fixed;
}

.site-wrap {
  /* overflow-x: hidden; */
  width: 100vw;
  min-height: 100vh;
}

.skip-menu a {
  z-index: 9999;
  overflow: hidden;
  position: fixed;
  left: 0;
  top: 0;
  width: 0;
  height: 0;
  font-size: 0;
  background-color: #fff;
}

.skip-menu a:focus {
  padding: 10px 20px;
  width: auto;
  height: 30px;
  list-style: 30px;
  font-size: 17px;

  min-width: 100px;
}

.inner {
  margin: 0 auto;
  width: 100%;
  max-width: 1280px;
}

.inner-w {
  margin: 0 auto;
  width: 100%;
  max-width: 1920px;
}

.header {
  z-index: 9000;
  position:sticky;
  left: 0;
  top: 0;
  width: 100%;
  background: #fff;
}

.header::before {
  z-index: 1;
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  width: 100%;
  height: 10px;
  background-color: #000;
}

.header-inner {
  z-index: 100;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  position: relative;
  padding: 10px 0 0;
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  border-bottom: 1px solid #eaeaea;
}



.header .logo {
  width: 230px;
  height: 150px;
  background: url('../img/logo.png') left center/150px no-repeat;
}

.header .logo_yag {
  width: 230px;
  height: 90px;
  background: url('../img/common/logo_yag.png') left center/100px no-repeat;
}

#main .bg {
  z-index: -1;
  position: absolute;
  right: 0;
  top: 0;
  width: 50vw;
  height: 100%;
  background-color: #ccf0eb;
}

.nav {
  position: relative;
  left: 0;
  top: 0;
  width: 70%;
/*  max-width: 640px;*/
  height: auto;
}

.nav>ul {
  display: flex;
  justify-content: flex-start;
  height: 100%;
  margin-top:20px;
  font-size: 21px;
  font-weight:600;
  color:#3b4a60;
}

.nav>ul>.depth-01 {
  position: relative;
  margin-right: 60px;
}

.nav>ul>.depth-01>a {
  display: inline-block;
  height: 90px;
  line-height: 90px;
}

.depth-02 {
  overflow: hidden;
  opacity: 0;
  height: 0px;
  font-size: 20px;
  color: #fff;
  transition: opacity .3s;
  -webkit-transition: opacity .3s;
  -moz-transition: opacity .3s;
  -ms-transition: opacity .3s;
  -o-transition: opacity .3s;
  position: absolute;
}

.depth-02>li>a {
  display: inline-block;
  padding: 10px 0;
  width: 160px;
}

.nav.hover .depth-02 {
  opacity: 1;
  padding: 40px 0;
  height: 350px;
  transition: opacity .6s;
  -webkit-transition: opacity .6s;
  -moz-transition: opacity .6s;
  -ms-transition: opacity .6s;
  -o-transition: opacity .6s;
}

.depth-03 {
  font-size: 15px;
  font-weight: 300;
}

.mobile-btn {
  display: none;
  margin-left: auto;
  width: 30px;
  height: 30px;
  text-indent: -9999px;
  background: url('../img/icon/menu-btn.png') center no-repeat;
}

.mobile-btn.click {
  display: block;
  background: url('../img/icon/close-btn.png') center no-repeat;
}

.header .nav-bg {
  opacity: 0;
  overflow: hidden;
  position: absolute;
  left: 0;
  top: 121px;
  width: 100%;
  height: 0;
  background-color: rgba(0, 0, 0, .9);
  transition: opacity .4s;
  -webkit-transition: opacity .4s;
  -moz-transition: opacity .4s;
  -ms-transition: opacity .4s;
  -o-transition: opacity .4s;
}

.header .nav-bg.hover {
  opacity: 1;
  height: 350px;
  transition: opacity .3s;
  -webkit-transition: opacity .3s;
  -moz-transition: opacity .3s;
  -ms-transition: opacity .3s;
  -o-transition: opacity .3s;
}

/*모바일 네비*/

.nav.mo {
  opacity: 0;
  position: absolute;
  left: 20px;
  top: 160px;
  width: 100%;
  max-width: auto;
  height: 100%;
  color: #fff;
  transform: scale(0);
  transition: opacity .5s;
  -webkit-transform: scale(0);
  -moz-transform: scale(0);
  -ms-transform: scale(0);
  -o-transform: scale(0);
}

.nav.mo.on {
  z-index: 10;
  opacity: 1;
  position: fixed;
  transform: scale(1);
  transition: opacity .5s .2s;
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
}

.nav.mo>ul {
  display: flex;
  flex-direction: column;
  font-size: 23px;
}

.nav.mo>ul>.depth-01 {
  width: 100%;
}

.nav.mo>ul>.depth-01>a {
  display: inline-block;
  height: 80px;
  line-height: 80px;
  color:#64a2ff;
}

.nav.mo .depth-02 {
  overflow: auto;
  opacity: 1;
  display: none;
  height: auto;
}

.nav.mo .depth-03 {
  display: none;
  font-size: 15px;
  font-weight: 300;
}

.nav.mo .depth-03-btn {
  background: url('../img/icon/depth-btn.png') 90% center no-repeat;
}

.nav.mo .depth-03-btn.click {
  background: url('../img/icon/depth-close.png') 90% center no-repeat;
}




@media all and (max-width:1280px) {
  .inner {
    margin: 0 auto;
    width: 90%;
    max-width: auto;
  }

  .header-inner {
    margin: 0 auto;
    padding: 10px 32px 0;
    width: 100%;
  }

  .header .logo {
    width: 180px;
    height: 80px;
    background: url('../img/logo.png') left center/70% no-repeat;
  }
  
  .header .logo_yag {
    width: 180px;
    height: 80px;
    background: url('../img/common/logo_yag.png') left center/50% no-repeat;
  }

  .nav>ul>.depth-01>a {
    height: 80px;
    line-height: 80px;
  }

  .header .nav-bg {
    top: 110px;
  }

}



@media all and (max-width:1024px) {
  html {
    font-size: 81.25%;
  }

  .header {
    position: sticky;
    left: 0;
    top: 0;
    background-color: #fff;
  }

  .header::before {
    width: 0;
    height: 0;
    background-color: transparent;
  }

  .header-inner {
  	padding: 0 32px 0;
    align-items: center;
  }

  .header .logo {
    width: 100px;
    min-height: 80px;
    height: auto;
    background: url('../img/logo.png') left center/100px no-repeat;
  }
  
   .header .logo_yag {
    width: 100px;
    min-height: 80px;
    height: auto;
    background: url('../img/common/logo_yag.png') left center/90px no-repeat;
  }

  .header .bg {
    display: none;
  }

  .nav>ul {
    font-size: 20px;
  }

  .nav>ul>.depth-01>a {
    display: inline-block;
    height: 120px;
    line-height: 120px;
  }

  .depth-01 {
    margin: 10px 0;
    font-size: 20px;
  }

  .nav.mo>ul>.depth-01>a {
    height: 45px;
    line-height: 45px;
  }

  .nav.mo .depth-02 {
    position: relative;
    padding: 0;
    display: none;
    margin-left: 25px;
    min-height: 0;
    font-size: 17px;
  }

  .nav.mo .depth-03 {
    display: none;
    margin-left: 20px;
    min-height: 0;
    font-size: 13px;
    color: #ddd;
  }

  .header .nav-bg {
    display: none;
    opacity: 0;
    position: absolute;
    top: 80px;
    height: 100vh;
    background-color: rgba(0, 0, 0, .9);
  }

  .header .nav-bg.on {
    opacity: 0;
    display: block;
    position: fixed;
  }

  .mobile-btn {
    z-index: 10;
    display: block;
  }

  .content-wrap {
  }

  .inner {
    width: 95%;
  }

}

@media all and (max-width:768px) {
  .header {
  }

  .header-inner {
    margin: 0 auto;
    padding: 6px 20px;
    width: 100%;
  }

  .inner {
    padding: 0 20px;
    width: 100%;
  }

  .header .logo {
    width: 75px;
    min-height: 52px;
    height: auto;
    background: url('../img/logo.png') left center/75px no-repeat;
  }
  
  .header .logo_yag {
    width: 75px;
    min-height: 52px;
    height: auto;
    background: url('../img/common/logo_yag.png') left center/68px no-repeat;
  }
  

  .mobile-btn {
    display: block;
    width: 24px;
    height: 24px;
    background: url('../img/icon/menu-btn.png') center/20px no-repeat;
  }

  .mobile-btn.click {
    display: block;
    background: url('../img/icon/close-btn.png') center/20px no-repeat;
  }

  .depth-02 {
    font-size: 17px;
  }

  .depth-03 {
    font-size: 13px;
  }

  .header .nav-bg {
    top:65px;
  }

}


@media all and (max-width:540px) {
  .bg {
    position: absolute;
    right: 0;
    top: 0;
    width: 73vw;
    height: 100%;
    background-color: #ccf0eb;
  }
}


/*플래그*/

.flag-name {
  font-size: 15px;
  color: #fff;
}

.flag-name span {
  padding: 10px 20px;
  text-align: center;
  color: #fff;
  white-space: nowrap;
  border-radius: 20px;
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  -ms-border-radius: 20px;
  -o-border-radius: 20px;
  background: linear-gradient(to right, #42d7b3, #2461eb);
}

/*네비에 있는 플래그*/
.nav .flex {
  position: relative;
  left: 0;
  top: 0;
}

.nav .flag-name {
  position: absolute !important;
  left: 0;
  top: -30px;
}

.nav .flag-name span {
  padding: 5px 20px;
}

@media all and (max-width:1024px) {
  .nav .flag-name {
    position: absolute !important;
    left: 140px;
    top: 0px;
  }
}


/*
퀵메뉴
*/


.quick-menu {
  z-index: 1000;
  position: fixed;
  right: 5%;
  bottom: 40vh;
  width: 90px;
  height: 270px;
  font-size: 14px;
  transition: right .6s ease-in-out;
  -webkit-transition: right .6s ease-in-out;
  -moz-transition: right .6s ease-in-out;
  -ms-transition: right .6s ease-in-out;
  -o-transition: right .6s ease-in-out;
}

.quick-menu.hidden {
  right: -200px;
}


.quick-menu li {
  display: block;
  position: relative;
  left: 0;
  top: 0;
  width: 90px;
  height: 90px;
  text-align: center;
  color: #fff;
}

.quick-menu li a {
  display: inline-block;
  padding: 20px;
  font-weight: 600;
  text-align: center;
}

.quick-menu li:nth-of-type(1) {
  background-color: #222;
}

.quick-menu li:nth-of-type(2) {
  background-color: #13b996;
}

.quick-menu li:nth-of-type(3) {
  background-color: #477cec;
}

.quick-menu li:nth-of-type(4) {
  background-color: #fbe201;
}

.quick-menu li:nth-of-type(4) a div{color:#030405}


@media all and (max-width:1280px) {
  .quick-menu {
    width: 60px;
    height: 180px;
    font-size: 13px;
  }

  .quick-menu li {
    width: 60px;
    height: 60px;
  }

  .quick-menu li a {
    padding: 10px 5px;
  }

  .quick-menu li a img {
    width: 50%;
  }

}

@media all and (max-width:768px) {
  .quick-menu {
    bottom: 23vh;
    width: 50px;
    height: 90px;
    font-size: 11px;
  }

  .quick-menu li {
    width: 50px;
    height: 50px;
  }

}

@media all and (max-width:540px) {
  .quick-menu.hidden {
    left: 100%;
    font-size: 11px;
    transition: left .4s;
    -webkit-transition: left .4s;
    -moz-transition: left .4s;
    -ms-transition: left .4s;
    -o-transition: left .4s;
  }

  .quick-menu {
    left: 85%;
    transition: left .6s;
    -webkit-transition: left .6s;
    -moz-transition: left .6s;
    -ms-transition: left .6s;
    -o-transition: left .6s;
  }
}

/*
푸터
*/
.footer {
  background-color: #222;
}

.footer-inner {
  position: relative;
  left: 0;
  top: 0;
  margin: 0 auto;
  padding: 8.34vh 0 9.26vh;
  width: 90.625%;
  max-width: 1740px;
  color: #919191;
}


.foot-logo {
  width: 230px;
  height: 80px;
  background: url('../img/foot-logo.png') left center no-repeat;
}

.foot-wrap {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  line-height: 2;
}


.foot-logo-box {
  margin-bottom: 4.6vh;
  width: 100%;
}

.foot-nav {
  display: flex;
  justify-content: space-between;
  width: 23.96%;
  max-width: 460px;
}

.foot-nav ul {
  width: 50%;
  font-size: 15px;
}


.foot-wrap .address {
  position: relative;
  left: 0;
  top: 0;
  font-size: 14px;
}

.foot-wrap .address::before {
  position: absolute;
  left: -50px;
  top: 50%;
  content: "";
  width: 1px;
  height: 100%;
  background-color: #393939;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
}

.foot-wrap .address p {
  margin-bottom: 20px;
}

.foot-wrap .sns {
  font-size: 0;
}

.foot-wrap .sns a {
  margin: 0 5px;
}


@media all and (max-width:1280px) {

  .footer-inner {
    padding: 8.34vh 0 9.26vh;
    width: 95%;
    max-width: auto;
  }

  .foot-nav {
    width: 30%;
    max-width: auto;
  }

  .foot-wrap .sns {
    padding-top: 20px;
    width: 100%;
  }
}

@media all and (max-width:1024px) {

  .foot-logo {
    background: url('../img/foot-logo.png') left center/120px no-repeat;
  }

  .foot-wrap .address::before {
    left: -25px;
  }

  .foot-nav ul {
    width: 50%;
    font-size: 13px;
  }

}

@media all and (max-width:768px) {
  .footer-inner {
    padding: 4.34vh 20px 5.26vh;
    width: 100%;
  }

  .foot-logo-box {
    margin-bottom: 1.6vh;
    width: 20%;
  }

  .foot-logo {
    width: 100px;
    height: 80px;
    background: url('../img/foot-logo.png') left center/100px no-repeat;
  }

  .foot-nav {
    width: 100%;
  }

  .foot-nav ul {
    width: 100%;
  }

  .foot-wrap .address {
    margin-top: 20px;
  }
}


@media all and (max-width:540px) {
  .footer-inner {
    padding: 3.34vh 20px;
  }

  .foot-logo {
    height: 50px;
    background: url('../img/foot-logo.png') left center/80px no-repeat;
  }

  .foot-wrap .address {
    font-size: 12px;
  }

  .foot-wrap .address p {
    margin-bottom: 10px;
  }

  .foot-wrap .sns {
    padding-top: 10px;
    width: 100%;
  }

  .foot-wrap .sns a img {
    width: 40px;
  }

}


/*
공통
*/

/*테이블*/
.table {
  position: relative;
  left: 0;
  top: 0;
}

.table>small {
  position: absolute;
  right: 0;
  padding-left: 15px;
  font-size: 16px;
  font-weight: 300;
}

.table,
table {
  width: 100%;
}

.t-type-01 table,
.t-type-02 table {
  border-top: 2px solid #000;
}

.t-type-01 thead th {
  padding: 20px 0;
  background-color: #f5f6f7;
}

.t-type-02 tbody th {
  vertical-align: middle;
  border-bottom: 1px solid #e1e3e6;
  background-color: #f5f6f7;
}

.t-type-02 tbody td {
  padding: 15px 20px;
  border-bottom: 1px solid #e1e3e6;
}

.td-center td {
  text-align: center;
}



/*리스트스타일*/
.num-list {
  margin-bottom: 20px;
  counter-reset: num 0;
}

.num-list .num {
  position: relative;
  left: 0;
  top: 0;
  padding: 3px 0 3px 20px;
  line-height: 1.5;
}

.num-list .num::before {
  position: absolute;
  left: 0;
  top: 3px;
  content: counter(num)".";
  counter-increment: num 1;
}

.dot-list li,
.dot-list p {
  position: relative;
  left: 0;
  top: 0;
  padding: 5px 0 5px 15px;
  line-height: 1.5;
}

.dot-list li::before,
.dot-list p::before {
  position: absolute;
  left: 0;
  top: 19px;
  content: "";
  width: 3px;
  height: 3px;
  border-radius: 1.5px;
  background-color: #111;
  -webkit-border-radius: 1.5px;
  -moz-border-radius: 1.5px;
  -ms-border-radius: 1.5px;
  -o-border-radius: 1.5px;
}

.dot {
  position: relative;
  left: 0;
  top: 0;
  padding-left: 10px;
}

.dot::before {
  position: absolute;
  left: 0;
  top: 11px;
  content: "";
  width: 2px;
  height: 2px;
  border-radius: 1px;
  background-color: #111;
  -webkit-border-radius: 1px;
  -moz-border-radius: 1px;
  -ms-border-radius: 1px;
  -o-border-radius: 1px;
}

.bar {
  position: relative;
  left: 0;
  top: 0;
  padding-left: 15px;
}

.bar::before {
  position: absolute;
  left: 0;
  top: 6px;
  content: "-";
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
}


/*폰트 사이즈*/

.fs-14 {
  font-size: 14px !important;
}

.fs-15 {
  font-size: 15px !important;
}

.fs-16 {
  font-size: 16px !important;
}

.fs-18 {
  font-size: 18px !important;
}

.fs-20 {
  font-size: 20px !important;
}

.fs-25 {
  font-size: 25px !important;
}

.fs-30 {
  font-size: 30px !important;
}

.fs-35 {
  font-size: 35px !important;
}

.fs-45 {
  font-size: 45px !important;
}

.fs-53 {
  font-size: 3.3125em !important;
}

.fs-55 {
  font-size: 3.4375em !important;
}


/* 폰트 굵기 */
.fw-200 {
  font-weight: 200 !important;
}

.fw-400 {
  font-weight: 400 !important;
}

.fw-500 {
  font-weight: 500 !important;
}

.fw-600 {
  font-weight: 600 !important;
}

.fw-700 {
  font-weight: 700 !important;
}


/* 여백 */


.ml-10 {
  margin-left: 10px !important;
}


.mt-30 {
  margin-top: 2.7vh !important;
}

.mt-40 {
  margin-top: 4vh !important;
}

.mt-110 {
  margin-top: 10.185vh !important;
}

.mt-120 {
  margin-top: 11.11vh !important;
}

.mb-120 {
  margin-bottom: 11.11vh !important;
}

.mb-0 {
  margin-bottom: 0 !important;
}

.mb-15 {
  margin-bottom: 15px !important;
}

.mb-20 {
  margin-bottom: 20px !important;
}

.mb-40 {
  margin-bottom: 3.703vh !important;
}

.mb-70 {
  margin-bottom: 6.48vh !important;
}

.mb-110 {
  margin-bottom: 10.185vh !important;
}

.pt-60 {
  padding-top: 5.5vh !important;
}

.pb-60 {
  padding-bottom: 5.5vh !important;
}

.pt-90 {
  padding-top: 8vh !important;
}

.pb-70 {
  padding-bottom: 6.5vh !important;
}

.pb-130 {
  padding-bottom: 12.02vh !important;
}

.pb-140 {
  padding-bottom: 12.85vh !important;
}

.pb-150 {
  padding-bottom: 13.88vh !important;
}

.pb-280 {
  padding-bottom: 30vh !important;
}


/* 넓이 */
.w100p {
  width: 100% !important;
}

.w80 {
  width: 80px !important;
}

.w130 {
  width: 130px !important;
}

.w150 {
  width: 150px !important;
}

.w300 {
  width: 300px !important;
}



/* 폰트 색 */

.fc-fff {
  color: #fff !important;
}

.fc-blue {
  color: #2561eb !important;
}

.fc-yellow {
  color: #fff953 !important;
}

.fc-sky {
  color: #abc6ef !important;
}

.fc-blue-02 {
  color: #2460eb !important;
}

.fc-666 {
  color: #666 !important;
}

.fc-111 {
  color: #111 !important;
}

.tel {
  color: #2561eb !important;
  font-weight: 500 !important;
}

.cl_link {
  color: #2460eb !important;
}

/* 배경색 */

.bg-f7f7f7 {
  background-color: #f7f7f7;
}

.bg-fff {
  background-color: #fff;
}

.bg-898989 {
  background-color: #898989 !important;
}

.bg-444 {
  background-color: #444 !important;
}

.bg-2460eb {
  background-color: #2460eb !important;
}

/* 정렬 */
.txt-center {
  text-align: center !important;
}

.flex-start {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}


/* visible */
.txt-none {
  overflow: hidden;
  width: 0;
  height: 0;
}

.none {
  display: none !important;
}

.del {
  display: block;
  font-size: 13px;
}

/*선*/

.bt-1 {
  border-top: 1px solid #000;
}


/* 버튼 */

.btn-box {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 50px;
}

.flex-btn-box {
	flex-wrap:wrap
}


.btn-basic {width:auto; height: 35px; padding:0 20px;}

.btn-01 {
  padding: 20px 55px 20px 35px;
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  border-radius: 30px;
  background: url('../img/icon/plus.png') 80% center no-repeat #111;
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  -ms-border-radius: 30px;
  -o-border-radius: 30px;
}

.btn-02 {
  padding: 20px 55px 20px 35px;
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  background-color:#111;
  border-radius: 30px;
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  -ms-border-radius: 30px;
  -o-border-radius: 30px;
}


/* box */
.line-box {
	padding: 25px 20px;
	border: 1px solid #e8e8e8;
}


@media all and (max-width:768px) {
  .btn-box {
    margin-top: 35px;
  }
  
  .btn-01 {
    padding: 13px 35px 13px 20px;
    font-size: 16px;
    background: url('../img/icon/plus.png') 85% center/10px no-repeat #111;
  }
  
  .btn-02 {
    padding: 13px 35px 13px 20px;
    font-size: 16px;
  }
}

@media all and (max-width:540px) {
  .flex-btn-box {
	flex-wrap:wrap
   }
   
   .flex-btn-box > button {
   	width:100% !important;
   }
   
   .flex-btn-box > button + button {
   	margin:7px 5px 0 !important;
   }
   
  .btn-01 {
    padding: 10px 35px 10px 20px;
    font-size: 13px;
    background: url('../img/icon/plus.png') 85% center/10px no-repeat #111;
  }
  
  .btn-02 {
    padding: 10px 35px 10px 20px;
    font-size: 13px;
  }
}


/*  스크롤 커스텀 */
.over-box::-webkit-scrollbar {
  width: 5px;
  height: 20%;
}

.over-box::-webkit-scrollbar-thumb {
  border-radius: 5px;
  background-color: #919191;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
}

/* 통신사별 커버리지 */
.hyper-list {width:100%;}
.hyper-list li {padding-bottom:16px;}
.hyper-list li div {display:flex; align-items:center; padding:28px 30px; border: 1px solid #e2e2e2;}
.hyper-list li div::after {content:""; clear:both; display:block;}
.hyper-list li div > .title {margin-right:auto; text-align:left; font-weight:600; font-size:20px;}
@media (max-width:600px) {
  .hyper-list li div {padding:20px;}
  .hyper-list li div > .title{font-size: 16px;}
}