/* PRJ */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@100..900&display=swap');
:root{
  --point1: #00114D;
  --white1: #ffffff;
  --white2: #f5f5f5;
  --gray1: #A5A5A5;
  --gray2: #808080;
  --gray3: #B6B6B6;
  --gray4: #EBEBEB;

  --trans1: .1s ease-in-out;
  --trans2: .2s ease-in-out;
  --trans3: .3s ease-in-out;
  --trans4: .4s ease-in-out;

  --hdHeight: 124px;
}
*{
  font-family: 'Noto Sans KR', sans-serif;
}
.bd_t_point1{border-top: 1px solid var(--point1);}
.bd_b_point1{border-bottom: 1px solid var(--point1);}
.bd_t_gray1{border-top: 1px solid var(--gray1);}



img{
  width : 100%;
  max-width: 100%;
  height: auto;
  object-fit: cover;
}
/* PRJ END */

/* Header */
header{
  position: fixed;
  top: 0; left: 0;
  z-index: 100;
  width: 100%;
  height: var(--hdHeight);
  background-color: var(--white1);
  box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0);
  transition: background var(--trans2), top var(--trans2), box-shadow var(--trans2);
}
.scr_down header{
  top: -124px;
}
header > .inner_base{
  display: flex;
  justify-content: space-between;
  align-items: center;
  height:100%;
}
header .logo a{display : block;}
header .logo svg{
  width : 250px;
  height: 35px;
}
header .logo svg path{
  transition: fill var(--trans2);
}
header .gnb{
  height:100%;
}
header .gnb ul{
  display: flex;
  height:100%;
}
header .gnb ul li{
  height: 100%;
}
header .gnb button,
header .gnb a{
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  height: 100%;
  padding: 0 50px;
  color: var(--point1);
}
header .gnb button span{
  font-size: 19px;
  font-weight: 400;
  line-height: 100%;
  text-shadow: 0 0 0 rgba(0,17,77, 0), 0 0 0 rgba(0,17,77, 0);
  transition: color var(--trans2), font-weight var(--trans2), text-shadow var(--trans2);
}
header .gnb button:hover span,
header .gnb a:hover span{
  text-shadow: 0 0 1px rgba(0,17,77, 1), 0 0 1px rgba(0,17,77, 1);
}
header .gnb button::after,
header .gnb a::after{
  display:block;
  position:absolute;
  bottom: 0; left: 0;
  width: 100%;
  height: 7px;
  background-color: var(--point1);
  content: "";
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--trans2);
}
header .gnb button:hover::after,
header .gnb a:hover::after{
  transform: scaleX(1);
}
header .gnb button.on::after{
  transform: scaleX(1);
}
header .gnb button.on span{
  text-shadow: 0 0 1px rgba(0,17,77, 1), 0 0 1px rgba(0,17,77, 1);
}

header .sub_gnb{
  display: flex;
  align-items: center;
  gap: 20px;
}
header .search_btn{
  display:block;
  width: 19px;
  height: 19px;
}
header .search_btn svg{
  width: 100%;
  height: 100%;
}
header .search_btn svg path{
  transition: stroke var(--trans2);
}
header .lang{
  font-size: 19px;
  font-weight: 400;
  line-height: 100%;
  color: var(--point1);
  transition: color var(--trans2), font-weight var(--trans2);
}

header.scr_hd{
  background-color: transparent;
}
header.scr_hd .logo svg path{
  fill: var(--white1);
}
header.scr_hd .gnb button{
  color: var(--white1);
}
header.scr_hd .search_btn svg path{
  stroke: var(--white1);
}
header.scr_hd .lang{
  color: var(--white1);
}

header.menuOpen,
header.clr{
  background-color: var(--white1);
}
header.clr{
  box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.15);
}
header.menuOpen .logo svg path,
header.clr .logo svg path{
  fill: var(--point1);
}
header.menuOpen .gnb button,
header.clr .gnb button{
  color: var(--point1);
}
header.menuOpen .gnb button:hover,
header.clr .gnb button:hover{
  font-weight: 700;
}
header.menuOpen .search_btn svg path,
header.clr .search_btn svg path{
  stroke: var(--point1);
}
header.menuOpen .lang,
header.clr .lang{
  color: var(--point1);
}
header.menuOpen .lang:hover,
header.scr_hd .lang:hover,
header.clr .lang:hover{
  font-weight: 700;
}
/* Header END */

/* Menu */
.menu_wrap{
  position: fixed;
  top: var(--hdHeight); left: 0;
  z-index: 200;
  width: 100%;
  height: calc(100% - var(--hdHeight));
  background-color: #fff;
  border-top: 1px solid var(--point1);
  opacity: 0;
  visibility: hidden;
  transition:  opacity var(--trans2), visibility var(--trans2);
}
.menu_wrap.on{
  opacity: 1;
  visibility: visible;
}
.menu_wrap h2{
  padding-top: 126px;
  font-size: 34px;
  font-weight: 700;
  color: var(--point1);
  line-height: 100%;
}
.menu_wrap ul{
  display: flex;
  flex-direction: column;
  margin-top: 77px;
}
.menu_wrap ul a{
  padding: 15px 0;
  font-size: 25px;
  font-weight: 400;
  line-height: 100%;
  color: var(--point1);
  transition: padding-left var(--trans2), font-weight var(--trans2);
}
.menu_wrap ul a:hover{
  padding-left: 10px;
  font-weight: 700;
}
.menu_wrap p{
  display:flex;
  align-items: center;
  gap: 12px;
  position: absolute;
  bottom: 122px; left: 0;
  width: max-content;
  font-size: 17px;
  font-weight:400;
  line-height: 170%;
  color: var(--pointr1);
}
.menu_wrap p i{
  display: inline-block;
  width : 15px;
  height: 15px;
  margin-top: 2px;
  background: url("../images/icons/ico_link_p.svg") no-repeat center / cover;
}
.menu_wrap .close_btn{
  position: absolute;
  top: 40px; right: 40px;
  z-index : 10;
}
.menu_wrap .close_btn svg{
  width: 27px;
  height: 27px;
}
.menu_wrap .close_btn svg path{
  transition: stroke var(--trans2);
}
.menu_wrap .close_btn.on svg path{
  stroke: var(--white1);
}
.menu_wrap .img_box{
  position: absolute;
  top: 0; right: 0;
  height: 100%;
}
.menu_wrap .img_box img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity var(--trans2);
}
.menu_wrap .img_box img.on{
  opacity: 1;
}
/* Menu END */


/* Footer  */
footer{
  position:relative;
  background-color: var(--point1);
  color: var(--white1);
}
footer .scr_up_btn{
  position: absolute;
  top: -135px; right: 82px;
  width: 75px;
  height: 75px;
  background-color: #EBEBEB;
  border-radius:50%;
}
footer .scr_up_btn::before{
  display : block;
  content: "";
  position:absolute;
  top: 50%; left: 50%;
  transform: translate(-50%,-50%) rotate(-90deg);
  width : 13px;
  height: 24px;
  background: url("../images/icons/ico_sm_arrow_point1.svg") no-repeat center / cover;
}
footer .ft_cont{
  display: flex;
  gap: 170px;
  padding-top: 130px;
  padding-bottom: 50px;
}
footer .ft_cont h1{
  display : block;
  width : 262px;
}
footer .ft_cont h1 img{
  height: auto;
  width : 100%;
}
footer .ft_cont .link_wrap{
  gap:7px;
}
footer .ft_cont .link_wrap a{
  display: flex;
  justify-content: center;
  align-items: center;
  width : 75px;
  height: 75px;
  border-radius:50%;
  background-color: rgba(255,255,255,0.1);
  transition:  background var(--trans2);
}
footer .ft_cont .link_wrap a:hover{
  background-color: rgba(255,255,255,0.3);
}
footer .ft_cont .link_wrap a.mail img{
  width : 22px;
  height: 17px;
}
footer .ft_cont .link_wrap a.faq img{
  width : 29px;
  height: 15px;
}
footer .ft_cont .link_wrap a.linkdin img{
  width : 18px;
  height: 18px;
}
footer .ft_cont > div{
  min-width : 364px;
}
footer .ft_cont ul{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-row-gap: 66px;
  width : 100%;
}
footer .ft_cont ul li{
  display: flex;
  flex-direction: column;
}
footer .ft_cont ul li strong{
  margin-bottom: 16px;
  font-size: 17px;
  font-weight: 700;
  line-height: 170%;
}
footer .ft_cont ul li a{
  font-size: 17px;
  font-weight:300;
  line-height: 170%;
  transition: opacity var(--trans2);
}
footer .ft_cont ul li a:hover{
  opacity: .5;
}
footer .ft_cont2{
  padding: 15px 0;
  border-top: 1px solid var(--white1);
}
footer .ft_cont2 > div{
  gap: 170px;
}
footer .ft_cont2 .etc_link{
  min-width:364px;
}
footer .ft_cont2 .etc_link a{
  transition: opacity var(--trans2);
}
footer .ft_cont2 .etc_link a:hover{
  opacity: .5;
}
footer .ft_cont2 p{
  display: block;
  width : 100%;
  font-size: 16px;
  font-weight: 300;
  line-height: 100%;
}
/* Footer  END */