/*초기화*/
*{margin: 0; padding: 0; box-sizing: border-box;}
html, body{width: 100%; height: auto; position: relative; font-family: 'Leferi', sans-serif; font-size: 17px; color: #000; scroll-behavior: smooth; }
html.hidden, body.hidden{position: fixed !important; top: 0; height: 100vh !important; min-height: 100vh; overflow: hidden !important; touch-action: none;}
html.hidden, body.hidden .header{opacity: 1;}
ul, li{list-style: none;}
a{text-decoration: none; color: inherit;}

/*공통*/
.pc{display: block;}
.tablet{display: none;}
.mob{display: none;}

.wrap{width: 100%; overflow: hidden;}
.move{opacity: 0;}
.main{width: 100%; position: relative;}
.inner{width: 90%; margin: auto;}
.inner2{width: 80%; max-width: 1400px;}
.inner3{width: 70%; max-width: 1200px; margin: auto;}

.Bk{font-weight: 900;}
.Bd{font-weight: 700;}
.Rr{font-weight: 400;}
.Sl{font-weight: 300;}
.We{font-weight: 100;}

.m_H {display: block;}
.m_H .Bd {font-size : 3.88rem;}

.Btn_Box {transition: all .4s;}
.Btn_Box:hover {background: #fa5a37;}

.black {color:#262626;}
.black2 {color: #231815;}
.white {color: #fff;}

#header { width: 100%; height: 80px; position: absolute; left: 0; z-index: 20; overflow: hidden; transition: all 0.4s;}
#header:hover{height: 260px; box-shadow: 4px 4px 6px rgb(0 0 0 / 10%); background: #fff;}
#header:hover::after{content: ''; width: 100%; height: 1px; background: #ddd; position: absolute; left: 0; top: 79px;}
#header .inner{display: flex; justify-content: space-between;}
#header.black *, #header:hover *, .IconWrap.black .Bd {color: #262626;}
#header.black .hamburger span, #header:hover .hamburger span, .IconWrap.black .Icon {background:#262626;}


.logo {display: flex; align-items: center; height: 80px; font-size: 1.25rem; color: #fff;}
.nav .nav_main {display: flex; gap: 60px; text-align: center;}
.nav .nav_main > li > a {line-height: 80px; font-size : 16px; font-weight : bold; color: #fff;}
.nav_sub{margin-top: 24px; position: relative; width: 100%;}
.nav_sub::before{content: ''; width: 100%; height: 3px; background: #fa5a37; position: absolute; left: 0; top: -26px; z-index: 20; transition: all 0.4s; opacity: 0;}
.nav_sub:hover::before{opacity: 1;}
.nav_sub > li{padding-bottom: 18px; font-size: 1rem; word-break: keep-all; text-transform: uppercase; transition: all 0.4s;}
.nav_sub > li:hover{color: #fa5a37;}
.etc {display: flex; height: 80px; align-items: center; cursor: pointer; font-size: .88rem; font-weight: bold; gap: 10px; color: #fff;}
.hamburger{width: 30px; height: 20px; position: relative; z-index: 99; }
.hamburger span{width: 100%; height: 2px; background: #fff; transition: all 0.4s;}
.hamburger > span:nth-child(1){position: absolute; left: 0; top: 0;}
.hamburger > span:nth-child(2){position: absolute; right: 0; top: 50%; transform: translateY(-50%); width: 100%;}
.hamburger > span:nth-child(3){position: absolute; left: 0; bottom: 0;}

.hamburger.open h4 {color: #262626; position: relative;}
.hamburger.open > span:nth-child(1){top: 10px; transform: rotate(45deg);}
.hamburger.open > span:nth-child(2){opacity: 0;}
.hamburger.open > span:nth-child(3){bottom: 8px;  transform: rotate(-45deg);}

.hamburger.open span{background: #262626;}
.siteMap{width: 100%; height: 100vh; background: #fff; position: fixed; left: 0; top: 0; transform: translateY(-100%); transition: all 0.4s;}
.open{transform: none;}
.HiddenScroll {overflow: hidden;}
.HiddenScroll .etc h4 {color: #262626; margin-top: 7px; z-index: 1;}
.HiddenScroll .IconWrap, .HiddenScroll #menu {display: none;}

/*  */.siteMap {display: flex; justify-content: center; align-items: center; background: #ff9c5c;}

/*  */.siteMap .inner2 {margin: auto;}
.siteMap .inner2 > p { font-size: 70px; padding: 20px 0; font-weight: bold; }

/*  */.mob_nav{position: relative; top: 10%; margin: auto; display: flex; text-align: center;}
.mob_nav .nav_tit{padding: 16px 5%; position: relative; font-size: 1.25rem; color: #333; font-weight: bold;}
/*  */.mob_nav .nav_tit span{ display: none; text-align: end; width: 18px; height: 18px; position: absolute; right: 5%; top: 50%; transform: translate(0, -50%);}
.mob_nav .inner {position: relative; top:100px;}
.mob_nav .nav_tit span::before{content: ''; width: 100%; height: 2px; background: #333; position: absolute; left: 0; top: 50%; transform: translateY(-50%);}
.mob_nav .nav_tit span::after{content: ''; width: 100%; height: 2px; background: #333; position: absolute; left: 0; top: 50%; transform: translateY(-50%) rotate(90deg) !important; transition: all 0.4s;}
.mob_nav > li.open .nav_tit span::after{transform: translateY(-50%) rotate(0deg) !important;}
.mob_nav > li{width: 100%; padding-left: 0; border: 0; font-size: 1.5rem;}
/*  */.mob_sub{margin-top: 0; display: block; /* background: #fa5a37; */ font-size: 1rem;}
/*  */.mob_sub > li {font-size: 1rem; color: #262626;}
.mob_sub > li:hover a {color: #fff !important;}
/*  */.mob_sub > li a {padding: 17px 5%; display: block;}
.mob_sub.open {display: block;}

#section1 { width: 100%; height: 100%; background: url(../img/main/m1_bg.png)no-repeat center/cover;}
.m1 { height: 100%; display: flex; flex-direction: column; justify-content: center; align-items: center; color: #fff;}
.m1 .We {font-size: 1.56rem; letter-spacing : -0.62px;}
.m1 .Bd {font-size: 5rem; letter-spacing : -2px; margin: 38px 0 80px;}
.m1 .Btn_Box {border: 2px solid #fff;}
.m1 .Btn_Box a {display: block; padding: 18px 52px;}
.m1 .Rr {font-size: 1.13rem;}
.IconWrap {position: fixed; bottom: 5%; right: 3%; text-align: center; z-index: 99; transition: all .4s; cursor: pointer;}
.IconWrap .Bd {font-size: .94rem; color: #cecece;}
.IconWrap .Bd:hover {color: #fa5a37;}
.IconWrap .Icon {margin-top: 25px; width: 62px; height: 62px; background: #fff; border-radius: 50%; display: flex; justify-content: center; align-items: center;}
.IconWrap .Icon:hover { background: #fa5a37;}
.Icon img {width: 45px; height: 30px;}

#section2 { width: 100%; height: 100%; background: url(../img/main/m2_bg.png)no-repeat center/100%;}
#section2 .inner2 {margin: auto;}
#section2 .m_H {padding-top: 120px;}
.m2 {text-align: center; display: flex; flex-direction: column; height: 68.2vh; justify-content: flex-end;}
.m2_Box {padding: 5%; width: 56vw; height: 45.5vh; margin: 0 auto; background: rgba(255, 255, 255, .8);}
.m2_Box .Bk {font-size : 2.5rem; line-height : 58.18px; color: #17006d;}
.m2_Box > .Rr {font-size : 1.38rem; line-height : 36px; letter-spacing : -0.55px; color: #262626; margin: 55px 0 40px;}
.m2 .Btn_Box {display: inline-block; border: 2px solid #262626;}
.m2 .Btn_Box a {display: block; padding: 18px 52px; color: #262626;}

#section3 { width: 100%; height: 100%; background: url(../img/main/m3_bg.png)no-repeat center/cover;}
#section3 .inner2 {margin: auto;}
#section3 .m_H {padding-top: 260px;}
.m3 .m3_txt .Rr{font-size : 1.25rem; line-height : 27.18px; letter-spacing : -0.5px; margin: 40px 0 55px;}
.m3 .m3_Icon {display: flex; gap: 48px;}
.m3 .m3_Icon li {width: 11.5vw; height: 23.4vh; display: flex; align-items: center; justify-content: center; border: 1px solid #fff; text-align: center; color: #fff;}
.m3 .m3_Icon li a {width: inherit;}
.m3 .m3_Icon li p {font-size : 1.06rem;position: relative;}
.m3 .m3_Icon li p::after{content: ''; position: absolute; background: url(../img/main/m3_Icon_arrow_img.svg)no-repeat center; width: 8px; height: 18px; right: 5%; transition: all .4s;}
.m3 .m3_Icon li p:hover::after {transform: translateX(-10px);}
.m3 .m3_Icon img {width: 4vw; height: 8.2vh; margin-bottom: 40px;}

#section4 { width: 100%; height: 100%;}
.m4 .sub_tit {margin: 240px 0 0 20%; font-size : 1.94rem;}
.m4 .slick-slider {max-width: 1480px; width: 1480px; left: 20%; top: 15vh;}
.m4 .slick-initialized .slick-slide { margin: 0 30px; display: flex; justify-content: space-between;}
.m4 .main-slick .m_H h4 {margin: 40px 0 25px;}
.m4 .main-slick .Btn_Box {font-size: 11px; line-height: 3.3vh; width: 5.2vw; height: 3.3vh;background: #fa5a37; margin-top: 45px; color: #fff;}
.m4 .main-slick .Btn_Box p {position: relative; padding: 0 25%;}
.m4 .main-slick .Btn_Box p::after {content: ''; position: absolute; background: url(../img/main/m3_Icon_arrow_img.svg)no-repeat center; width: 8px; height: 18px; right: 10px; top: 50%; transform: translateY(-55%);}
.m4 .main-slick .m4_txt {font-size: 25px;}
.m4 .main-slick .m4_txt h4 { padding: 85px 0 15px; border-bottom: 2px solid #262626;}
.m4 .main-slick .m4_txt p {margin-top: 40px; color: #a5a5a5;}

#section5 { width: 100%; height: 100%;  background: url(../img/main/m5_bg.png)no-repeat center/cover;}
#section5 .inner2 {margin: auto;}
.m5 {display: flex; padding-top: 225px; gap: 150px;}
.m5 .L_Box {flex:1}
.m5 .R_Box {flex:2;}
.m5 .m_H .Bd {white-space: nowrap;}
.m5 .m_H .Rr {padding-left: 18px; position: relative;}
.m5 .m_H .Rr::before {content: ''; position: absolute; width: 3px; height: 80%; left: 5px; top: 0; background: #fa5a37;}
.m5 ul {margin: 65px 0 40px;border-top: 2px solid; border-bottom: 2px solid;}
.m5 li {display: flex; align-items: center; padding: 15px 0; border-bottom: 1px solid; font-size: 13px;}
.m5 li:last-child {border-bottom: none;}
.m5 li p:first-child {flex: 1;}
.m5 li p:last-child {flex: 3; white-space: nowrap;}
.m5 .Btn_Box {font-size: 11px; line-height: 3.3vh; width: 5.2vw; height: 3.3vh;background: #fa5a37; margin-top: 45px; color: #fff;}
.m5 .Btn_Box p {position: relative; padding: 0 25px;}
.m5 .Btn_Box p::after {content: ''; position: absolute; background: url(../img/main/m3_Icon_arrow_img.svg)no-repeat center; width: 8px; height: 18px; right: 15%; top: 50%; transform: translateY(-55%);}

#footer{width: 100%; height: 270px !important; background: #000; position: relative; padding-top: 65px;}
.F_inner {width: 90%; margin: auto;}
.F_wrap {display: flex;}
#footer .F_logo {color: #808080; font-size: 1.38rem; flex: .7;}
#footer .F_logo h4 {position: relative;}
#footer .F_logo h4::after {content: ''; position: absolute; width: 1px; height: 120px; background: #fff; top: 50%; right: 12%; transform: translateY(-25%);}
#footer .F_info {white-space: nowrap; flex: 4;}
#footer .F_info li {font-size: 1rem; letter-spacing: -0.6px; line-height: 30px; font-weight: 500;}
#footer .F_info li:last-of-type {margin-top: 20px;}
#footer .SiteWrap {flex:1;}
#footer .SiteWrap > div {display: flex; position: absolute; right: 12%; gap: 30px;}
#footer .SiteWrap > div a:first-child::after {content: ''; position: absolute; width: 1px; height: 80%; background: #fff; left: 60%; top: 0;}
.FamilySite {width: 60%; height: 100%; transition: all 0.4s; padding-bottom: 0px; overflow: hidden; padding-top: 15px;cursor: pointer;}
.FamilySite ul { width: 100%; height: 0px;  opacity: 0;  transition: all 0.4s; border-top: 1px solid transparent;  margin-top: 10px;}
.FamilySite > li {width: 100%; position: relative;}
.FamilySite > li::after {content: ''; position: absolute; width: 100%; height: 2px; background: rgba(255,255,255,0.5); top: 27px;}
.FamilySite ul li{ color: #fff;  line-height: 30px; height: 30px;  box-sizing: border-box; transition: all 0.4s; text-align: center;}
.FamilySite.on {background-color:#fa5a37;color: #fff;}
.FamilySite.on li ul {opacity: 1; height: 60px;}
.FamilySite li span{text-align: end; width: 10px; height: 10px; position: absolute; right: 5%; top: 0;}
.FamilySite li span::before{content: ''; width: 100%; height: 2px; background: #fff; position: absolute; left: 0; top: 50%; transform: translateY(-50%);}
.FamilySite li span::after{content: ''; width: 100%; height: 2px; background: #fff; position: absolute; left: 0; top: 50%; transform: translateY(-50%) rotate(90deg) !important; transition: all 0.4s;}
.FamilySite.on li span::after{transform: translateY(-50%) rotate(0deg) !important;}