@charset "utf-8";

header { z-index: 100; position: fixed; width: 100%; height: 10rem; color:white; transition: height .3s; overflow: hidden; }
header::after { content: ''; position: absolute; left: 0; top: 10rem; width: 100%; height: 1px; background: rgba(255, 255, 255, 0.3); }
header .h-inner { width: 100%; padding: 0 10rem; height: 10rem; display: flex; align-items: center; justify-content: space-between; margin:0 auto; }
header h1 { display: block; width: 24.3rem; aspect-ratio: 243/46; }
header h1 a { display: block; width: 100%; height: 100%; background: url('/resources/img/logo_w.png') no-repeat center/contain; transition: .3s; text-indent: -999px; overflow: hidden; }
header .gnb-wrap { position: absolute; left: 50%; top:0; transform: translateX(-50%); }
header .gnb-wrap nav > ul { display: flex; gap:1rem; }
header .gnb-wrap nav > ul > li { position: relative; height: 10rem; display: flex; align-items: center; justify-content: center; }
header .gnb-wrap nav > ul > li > a { display: block; padding: 3rem; font-size: 2.2rem; font-weight: 800; white-space: nowrap; transition: .3s; }
header .gnb-wrap nav > ul > li > a:hover { color: var(--key-color); }
header .gnb-wrap .two-depth { opacity: 0; position: absolute; left: 0; bottom:0; transform: translateY(100%); padding: 3.2rem 3rem; }
header .gnb-wrap .two-depth a { position: relative; display: inline-block; font-size: 1.7rem; font-weight: 500; line-height: 3.2rem; }
header .gnb-wrap .two-depth a::after { content: ""; display: block; width:100%; height:1px; position: absolute; left:0px; bottom:.3rem; transform: scaleX(0); background-color: var(--key-color); transition: transform 0.6s; transform-origin: right; }
header .gnb-wrap .two-depth a:hover { color: var(--key-color); }
header .gnb-wrap .two-depth a:hover::after { transform: scaleX(1); transform-origin: left; }

header .link-tv { display: flex; align-items: center; justify-content: center; padding: 1.2rem 3.2rem; gap:1rem; background: #c93c35; border-radius: 50px; font-size: 1.4rem; line-height: 1.5rem; font-weight: 900; color:white; text-align: center; transition: .3s; }
header .link-tv img { width: 2.4rem; }
header .link-tv span { display: block; }
/* header .link-tv:hover { background: var(--key-color); }  */
header .h-right { display: flex; align-items: center; gap:2rem; }
header .btn-hamburger { position: relative; display: none; width: 5rem; aspect-ratio: 1/1; }
header .btn-hamburger span { display: block; width: 60%; height: 2px; background: white; }
header .btn-hamburger span:nth-child(1) { position: absolute; top: 28%; left: 20%; }
header .btn-hamburger span:nth-child(2) { position: absolute; top: calc(50% - 1px); left: 20%; }
header .btn-hamburger span:nth-child(3) { position: absolute; bottom: 28%; left: 20%; }

header:hover { height: 37rem; background: white; color:var(--main-black); }
header:hover::after { background: #cccccc; }
header:hover h1 a { background: url('/resources/img/logo.png') no-repeat center/contain; }
header:hover .gnb-wrap .two-depth { opacity: 1; }
header:hover .btn-hamburger span { background: var(--main-black); }
header:has(.gnb-wrap nav > ul > li a:focus) { height: 37rem; background: white; color:var(--main-black); }
header:has(.gnb-wrap nav > ul > li a:focus)::after { background: #cccccc; }
header:has(.gnb-wrap nav > ul > li a:focus) h1 a { background: url('/resources/img/logo.png') no-repeat center/contain; }
header:has(.gnb-wrap nav > ul > li a:focus) .gnb-wrap .two-depth { opacity: 1; }
header:has(.gnb-wrap nav > ul > li a:focus) .btn-hamburger span { background: var(--main-black); }

header.scrolled { background: white; color:var(--main-black); box-shadow: 0 5px 10px rgba(0, 0, 0, 0.05); }
header.scrolled h1 a { background: url('/resources/img/logo.png') no-repeat center/contain; }
header.scrolled .btn-hamburger span { background: var(--main-black); }

header .mob-gnb-wrap { position: fixed; display: none; right: 0; top: 0; width: 100%; height: 100dvh; padding: 4.8rem; background: white; z-index: 150; transform: translateX(100%); transition: .3s; color:var(--main-black); }
header .mob-gnb-wrap .mob-gnb-header { display: flex; justify-content: space-between; align-items: center; padding-bottom: 3rem; margin-bottom: 3rem; border-bottom: 1px solid #eeeeee; }
header .mob-gnb-wrap .mob-gnb-header h2 { width: 20rem; }
header .mob-gnb-wrap .btn-mob-close { position: relative; width: 3.2rem; aspect-ratio: 1/1; position: relative; text-indent: -999px; overflow: hidden; }
header .mob-gnb-wrap .btn-mob-close::before, 
header .mob-gnb-wrap .btn-mob-close::after { content: ''; position: absolute; left: 0; top: 50%; width: 100%; height: 2px; background: var(--main-black); border-radius: 2px; }
header .mob-gnb-wrap .btn-mob-close::before { transform: rotate(45deg); }
header .mob-gnb-wrap .btn-mob-close::after { transform: rotate(-45deg); }
.mob-gnb-wrap nav { height: calc(100dvh - 20rem); overflow-y: auto; }
.mob-gnb-wrap nav > ul { display: flex; flex-direction: column; gap:2rem; }
.mob-gnb-wrap nav > ul > li > a { position: relative; display: block; padding: 2rem 1.6rem; font-size: 2rem; font-weight: 600; }
.mob-gnb-wrap nav > ul > li > a::after { content: ""; position: absolute; left: 0; top:50%; transform: translateY(-70%); width:5px; height:5px; background: var(--key-color); }
.mob-gnb-wrap .two-depth ul { display: flex; flex-direction: column; gap:2rem; padding-left: 4rem; }
.mob-gnb-wrap .two-depth a { font-size: 2rem; font-weight: 600; }

footer { padding: 6rem 0 6.7rem; background: #ebeff7; }
footer .f-inner { display: flex; justify-content: space-between; gap:15rem; width: 100%; padding:0 10rem; margin:0 auto; }
footer .logo { display: block; width: 24.3rem; aspect-ratio: 243/46; }
footer .footer-contents { flex:1; font-size: 1.6rem; line-height: 2.6rem; font-weight: 500; color:#060706; }
footer .footer-link ul { display: flex; gap:3.6rem; }
footer .footer-link li { position: relative; }
footer .footer-link li:not(:last-child)::after { content: ""; position: absolute; right: -1.8rem; top: 50%; transform: translateY(-50%); width:1px; height:1.2rem; background: var(--main-black); }
footer .footer-info ul { display: flex; gap:3.6rem; margin-top: 2.4rem; }
footer .footer-info li { position: relative; }
footer .footer-info li:not(:last-child)::after { content: ""; position: absolute; right: -1.8rem; top: 50%; transform: translateY(-50%); width:1px; height:1.2rem; background: var(--main-black); }
footer .footer-copy { display: flex; gap:3.6rem; margin-top: 1.4rem; font-weight: 300; }
footer .footer-ref-site select { min-width: 20rem; padding: 2rem 1.8rem; border:1px solid var(--main-black); font-size: 1.4rem; font-weight: 600; background: white url('/resources/img/footer_arw.png') no-repeat center right 2rem/.8rem; }


/* 팝업 */
body.noneScroll {overflow: hidden;}

.dim {display: none; position: fixed; width: 100%; height: 100%; top: 0; left: 0; background: rgba(0,0,0,0.5); z-index: 101;}
.dim.active {display: block;}

.popup {display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 102;}
.popup.active {display: block;}
.popup .inner-md { padding: 0; }
.popup .inner-sm { padding: 0; }
.popup .pop-wrap {background: #fff; position: absolute; width: 90%; max-height: 80%; top: 50%; left: 50%; transform: translate(-50%, -50%); border-radius: 1rem; }

.popup .title {position: relative; height: 8rem; padding: 0 3%; }
.popup .title p {line-height: 8rem; font-size: 3rem; font-weight: 600;}
.popup .close {position: absolute; height: 100%; width: 8rem; right: 0; top: 0; cursor: pointer;}
.popup .close span {display: block; background-color: #333; position: absolute; width: 3px; height: 30px; top: 25px; left: 40px; transform: rotate(45deg);}
.popup .close span:last-child {transform: rotate(-45deg);}

.popup .cont {height: calc(100% - 8rem); padding: 30px 3%; overflow-y: auto; font-size: 2rem;}

.popup .cont::-webkit-scrollbar {width: 8px;}
.popup .cont::-webkit-scrollbar-thumb {background-color: #ccc; border-radius: 5px;}
.popup .cont::-webkit-scrollbar-track {background-color: #eee;}

.popup-policy .pop-wrap { height: 80%; }
.cont-policy { line-height: 1.5; }
.cont-policy * { line-height: 1.5; }
.sss_tit {font-size:20px; color:#000; padding:0px 0px 0px 0px; margin:40px 0px 10px 0px; line-height:140%; position:relative;}


@media screen and (max-width:768px){
   .popup .title {height: 60px;}
   .popup .title p {line-height: 60px; font-size: 20px;}
   .popup .close {width: 60px;}
   .popup .close span {height: 20px; top: 21px; left: 29px;}

   .popup .cont {height: calc(100% - 60px);}

}


@media screen and (max-width:1700px){
  header .gnb-wrap { position: relative; left: 0; transform: none; }
  header .gnb-wrap nav > ul > li > a { padding: 2rem; font-size: 2rem; }
  header .gnb-wrap .two-depth { padding: 2.2rem 2rem; }
  header h1 { width: 20rem; }
  header .h-inner { padding: 0 8rem; }

  .inner { padding: 0 8rem; }

  footer .f-inner { gap:7rem; padding: 0 8rem; }
  footer .logo { width: 20rem; }
}

@media screen and (max-width:1300px){
  header .gnb-wrap nav > ul > li > a { padding: 1rem; font-size: 1.8rem; }
  header .gnb-wrap .two-depth { padding: 2rem 1rem; }
  header h1 { width: 18rem; }
  header .link-tv { padding: 1rem 2.4rem; }
  header .h-inner { padding: 0 4rem; }

  .inner { padding: 0 4rem; }

  footer { padding: 5rem 0 5.2rem; }
  footer .f-inner { gap:2rem; padding: 0 4rem; flex-wrap: wrap; }
  footer .footer-contents { flex:auto; width: 100%; margin-top: 1rem; margin-bottom: 2rem; }
  footer .footer-ref-site select { padding: 1.4rem 1.8rem; }
}

@media screen and (max-width:1024px){
  header .h-inner { padding: 0 2.4rem; }

  .inner { padding: 0 2.4rem; }

  footer .f-inner { padding: 0 2.4rem; }
}

@media screen and (max-width:768px){
  header .gnb-wrap { display: none; }
  header .btn-hamburger { display: block; }
  header:hover { height: 10rem; }
  header:hover::after { background: rgba(255, 255, 255, 0.3); }
  header:hover h1 a { background: url('/resources/img/logo.png') no-repeat center/contain; }
  
  header .mob-gnb-wrap { display: block; }
  header .mob-gnb-wrap.active { transform: translateX(0); }
  
  footer .footer-info ul { flex-direction: column; gap:1rem; }
  footer .footer-info li:not(:last-child)::after { display: none; }
}

@media screen and (max-width:500px){
  header .h-right { gap:1.4rem; }
  header .link-tv { padding: 1rem; }

  footer .footer-copy { flex-direction: column; gap:1rem; margin-top: 2rem; }
  footer { padding: 5rem 0 4rem; }
}