@charset "utf-8";

/* header */
header{z-index: 1999999; height: 80px; border-bottom: 1px solid #ccc; position: fixed; top: 0; left: 50%; transform: translateX(-50%); background: #fff; width: 100%;}
header > .inner{height: 100%;}
.web_header > .inner{display: flex; align-items: center; justify-content: space-between;}


/* nav */
nav{display: flex; align-items: center;}
.web_nav{display: flex; align-items: center;}
.web_menu a{height: 80px; padding: 0 30px; display: flex; align-items: center; justify-content: center;}

.web_nav_con{display: none; position: absolute; top: 80px; left: 0; width: 100vw; height: 250px;}
.web_nav_con .inner{display: flex; align-items: center; justify-content: space-between; height: 100%;}
.web_nav_con .inner .title{width: 35%; height: 150px;}
.web_nav_con .inner .title strong{font-size: 36px; font-weight: 700; display: block; background: url(../../images/title.png) 0 10px no-repeat;}
.web_nav_con .inner .title p{font-size: 20px; font-weight: 500; margin-top: 30px;}

/* .navbar_dropdown{display: flex; flex-wrap: wrap; width: 65%;} */
/* .navbar_dropdown li a{display: flex; justify-content: center; align-items: center; width: 250px; height: 50px; background: #fff; border-radius: 5px;} */
/* .navbar_dropdown li:hover a{color: #fff;  box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.1);} */

.seocho a{display: flex; align-items: center; justify-content: center; height: 50px;}
.seocho img{width: 70%;}

.menu_1 .web_nav_con{ background: #82CDDB;}
.menu_2 .web_nav_con{ background: #7ACCC8;}
.menu_3 .web_nav_con{ background: #AAD59B;}
.menu_4 .web_nav_con{ background: #CEB188;}
.menu_5 .web_nav_con{ background: #F8ABAD;}

.menu_1 .navbar_dropdown li:hover a{background: #00AEC6;}
.menu_2 .navbar_dropdown li:hover a{background: #00B5AC;}
.menu_3 .navbar_dropdown li:hover a{background: #65BD55;}
.menu_4 .navbar_dropdown li:hover a{background: #AE8241;}
.menu_5 .navbar_dropdown li:hover a{background: #F1707F;}

/* 헤더 사이트맵 */
.site{overflow: hidden; width: 50px; height: 50px; display: block; position: relative; cursor: pointer; background: #EFEFEF; border-radius: 10px; transition: 0.3s;}

.site span{position: absolute; left: 50%; top: 50%; width: 25px; height: 2px; font-size: 0; background: #333; transform: translate(-50%, -50%); border-radius: 10px; transition: all .3s ease;}
.site span::before{content: ''; display: block; position: absolute; top: 8px; right: 0; width: 100%; height: 2px; background: #333; transition: all .3s ease; border-radius: 10px;}
header .site span::after{content: ''; display: block; position: absolute; top: -8px; right: 0; width: 100%; height: 2px; background: #333; transition: all .3s ease; border-radius: 10px;}

.site:hover{background: #F1707F;}
.site:hover span{background: #fff;}
.site:hover span::before{background: #fff;}
.site:hover span::after{background: #fff;}

.web_sitemap{display: none; position: fixed; top: 50vh; left: 50%; transform: translate(-50%, -50%); z-index: 1;}

/* x 모양 */
.shape_x{position: absolute; width: 30px; height: 30px; top: 30px; right: 30px; cursor: pointer;}
.shape_x span{position: absolute; top: 50%; width: 100%; height: 3px; background-color: #F1707F; border-radius: 10px;}
.shape_x .line1{transform: rotate(135deg) translateX(0%);}
.shape_x .line2{transform: rotate(45deg) translateX(0%);}

.web_sitemap > ul{width: 1200px; height: 600px; background: #fff; display : flex; padding: 100px 50px 50px; box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.1);}
.web_sitemap > ul > li{margin: 0 auto; }
.web_sitemap ul li p{width: 200px; height: 50px; display: flex; justify-content: center; align-items: center; color: #fff; border-radius: 10px 10px 0 0; box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.1);}
.web_sitemap ul li ul li a{display: block; width: 200px; height: 50px; display: flex; justify-content: center; align-items: center; border: 1px solid #ccc; margin-top: -1px; box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.1); background: #fff;}
.web_sitemap ul li ul li:last-child a{border-radius: 0 0 10px 10px;}

.web_sitemap1 p{background: #00AEC6;}
.web_sitemap2 p{background: #00B5AC;}
.web_sitemap3 p{background: #65BD55;}
.web_sitemap4 p{background: #AE8241;}
.web_sitemap5 p{background: #F1707F;}

.dim{display: none; position: absolute; top: 0; left: 0; background: rgba(0, 0, 0, 0.7); height: 100vh; width: 100%;}

/* menu 버튼 */
header .btnmenu{display: none; overflow: hidden; position: absolute; top: 50%; right: 1vw; z-index: 300; width: 50px; height: 50px; transform: translateY(-50%);}
header .btnmenu span{position: absolute; left: 50%; top: 50%; width: 25px; height: 2px; font-size: 0; background: #333; transform: translate(-50%, -50%);}
header .btnmenu span::before{content: ''; display: block; position: absolute; top: 8px; right: 0; width: 100%; height: 2px; background: #333; transition: all .3s ease;}
header .btnmenu span::after{content: ''; display: block; position: absolute; top: -8px; right: 0; width: 100%; height: 2px; background: #333; transition: all .3s ease;}

header .btnmenu.on span{background: none;}
header .btnmenu.on span:before{top: 50%; width: 100%; left: 0; transform-origin:50% 50%; transform: translateY(-50%) rotate(-45deg);}
header .btnmenu.on span:after{top: 50%; transform-origin:50% 50%; transform:translateY(-50%) rotate(45deg);}

.m_menu{position: fixed; top: 0; right: -100%; width: 300px; height: 100vh; z-index: 201; background: #fff;}

/* .b-close{cursor: pointer;} */
.m_menu::before{display: block; content: ''; width: 100%; height: 1px; position: absolute; top: 60px; right: 0; background: #ccc;}

.m_nav{overflow-y:auto; display: block; /*  height:calc(100vh - 100px);  */ margin-top: 60px;}
.m_nav > li {padding: 15px 20px; border-bottom: 1px solid #eaeaea;}
.m_nav > li > a{display: block; font-size: 18px; font-weight: 700; position: relative;}
.m_nav > li > a::after{content: ''; display: block; position: absolute;  top: 50%; right: 10px; width: 10px; height: 10px; margin-top: -7px; border: 1px solid #333; border-width: 0 1px 1px 0; transform: rotate(45deg); transition: all .3s ease;}
.m_nav > li.on >a:after{transform:rotate(-135deg); margin-top:-3px;}

.menu{
	border-top: 1px solid #ccc;
}
.menu>li {
	border-bottom: 1px solid #ccc;
	padding-top: 10px;
}

.submenu{display: none;}
.submenu li a{
	display: inline-block;
	width: 100%;
	height: 100%;
	padding-left: 20px;
    margin-top: 15px;
}
.menu-b{display: flex; padding: 10px 20px; height: 60px; }
.menu-b ul{background: #fff; display: flex;}
.menu-b ul li a{display: flex;  font-size: 14px;  align-items: center; position: relative; width: 100%; height: 100%; width: 85px; height: 60px; text-align: center;}

.menu-b ul li a figure{display: flex; align-items: center; justify-content: center; height: 40px;}
.menu-b ul li a figure img{display: flex; align-items: center; justify-content: center;}

/* footer */
#main_footer{border-top: 1px solid #ccc;}
.footer_top{background: #eaeaea;}
.footer_top .inner{display: flex; justify-content: space-between; align-items: center;}
.footer_li{display: flex; align-items: center; width: 100%;}
.footer_li li{margin-right: 50px;}
.footer_li li:last-child{margin-right: 0px;}
.footer_li li:hover a{text-decoration: underline; text-underline-position: under;}
.foot_personal a{font-weight: 700; color: #ED145B;}

.footer_tr{display: flex;}
.footer_tr li button{display: flex; justify-content: center; align-items: center; height: 100%; padding: 10px; width: 200px; background: #A8A9AD; }

/* 패밀리사이트 */
.familysite{position: relative; z-index: 1;border-right: 1px solid #ccc; }
.familysite ul{display: none; position: absolute; bottom: 48px; left: 0; background: #fff; border: 1px solid #ccc; width: 100%;}
.familysite ul li a{display: block; font-size: 16px; padding: 10px 10px;}

/* 직원전용사이트 */
.employee{position: relative;z-index: 1;}
.employee ul{display: none; position: absolute; bottom: 48px; left: 0; background: #fff; border: 1px solid #ccc; width: 100%;}
.employee ul li a{display: block; font-size: 16px; padding: 10px 10px;}

.footer_bottom{padding: 30px 0;}
.footer_bottom .inner{text-align: center;}
.footer_b_r{margin-top: 20px;}
.address{color: #666; font-size: 16px; display: flex; justify-content: center; flex-wrap: wrap;}
.address p{padding: 0 10px; border-right: 1px solid #ccc; line-height: 1; vertical-align: middle;}
.address p:last-child{border-right: none;}
.address p span{font-weight: 700; margin-right: 5px; color: #333;}
.copyright{margin-top: 5px;color: #666; display: flex; justify-content: center; font-size: 16px;}
.copyright p{display: flex; margin-right: 5px;}
.copyright a{display: block; margin-left: 5px; font-weight: 500;}

/* 탑버튼 */
.top-button{position: fixed; bottom: 10%; right: 5%; width: 60px; height: 60px; background: url(../../images/top.png) 0 0 no-repeat; z-index: 100; filter: drop-shadow(3px 3px 3px rgba(0,0,0,0.3));}

@media screen and (max-width:1200px) {
	.logo a{background: url(../../images/logo.svg) 50% 50%/100% no-repeat; width: 250px;}
	/* .web_nav > li > a{padding: 35px 20px;} */

	.web_nav_con .inner .title{width: 30%;}
	.web_nav_con .inner .title strong{background: url(../../images/title.png) 0px 15px/90% no-repeat;}
	
	.navbar_dropdown li{width: 30%;}
	.navbar_dropdown li a{width: 100%}

	.web_header > .inner{width: 95vw;}
}






/* header */
header{height: 100px; border-bottom: 1px solid #ccc; z-index: 100; position: fixed; top: 0; left: 50%; transform: translateX(-50%); background: #fff; width: 100%;}

.web_header > .inner{display: flex; justify-content: space-between; align-items: center; height: 100%; width: 90%;}
.logo a{color: transparent; background: url(../../images/logo.svg) 0 0 no-repeat; width: 300px; height: 40px; display: block;}

/* nav */
nav{display: flex; align-items: center;}
.web_nav{
    display: flex;
    align-items: center;
}

/* 밑줄 효과 */
.web_nav > li::after{
    content: '';
    display: block;
    position: absolute;
    bottom: 1px;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 2px;
    background: #ED145B;
    transition: 0.4s;
}
/* .web_nav > li.on::after{width: 100%;} */

/* 내비 밑 내용 */
.nav-bg{
    display: none;
    position: absolute;
    top: 100px;
    left: 0;
    width: 100%;
    height: 415px;
    background: #fff;
	z-index: 200;
	border-bottom: 1px solid #ccc;
}


#header .h_nav .dep1 .dep1_li .dep1_a {position: relative;display: block;color: #fff;font-size: 20px;font-weight: 700;}

.web_nav > li{position: relative; text-align: center; padding: 35px 4em; height: 100px;}

.web_nav > li > a{position: relative;display: block; font-size: 20px; font-weight: 700; color: #333; text-align: center;  }

.web_nav > li > a span {display: inline-block; width: 100%; height: 100%; transform-origin: center top; transition: color .3s, transform .2s cubic-bezier(.76,0,.24,1); }
.web_nav > li > a span.front {position: relative;transform: rotateX(0deg);}
.web_nav > li > a span.back { position: absolute; top: 100%; left: 0; transform: rotateX(-90deg); }

.web_nav > li > a:hover span { color: #ED145B; }
.web_nav > li > a:hover span.front { transform: rotateX(90deg) translateY(-100%); }
.web_nav > li > a:hover span.back { transform: rotateX(0deg) translateY(-100%); }



.navbar_dropdown li a span::after{position: relative;transform: rotateX(0deg);}
  
.navbar_dropdown li a span{display: inline-block; position: relative; padding: 5px 0;}
.navbar_dropdown li a:hover span{
    color: #ED145B;
}
/* .navbar_dropdown li a span:hover::before{
    width:15px;
    height:100%;
} */
.navbar_dropdown li a span::after{
    content:'';
    position:absolute;
    display: inline-block;
    width:0;
    height: 2px;
    background-color:#ED145B;
    opacity: 0;
    bottom:0;
    left:50%;
    transform: translateX(-50%);
    transition: width .3s;
}
.navbar_dropdown li a:hover span::after{
    width: 100%;
    opacity: 1;
    visibility: visible;
}

.navbar_dropdown{display: none; position: absolute; top: 100px; left: 0; width: 100%; height: 415px; z-index: 200; border-right: 1px solid #ccc;}
.web_nav li:first-child .navbar_dropdown{
    border-left: 1px solid #ccc;
}
.web_nav li:hover .navbar_dropdown{background: #f7f7f7; border-bottom: 1px solid #ccc;}

.navbar_dropdown li{
    width: 100%;
    display: block;
}

.navbar_dropdown li a{
    display: block;
    font-size: 16px;
    color: #666;
    font-weight: normal;
    text-align: center;
    padding: 5px 0;
}


/* menu 버튼 */
header .btnmenu{display: none; overflow: hidden; position: absolute; top: 50%; right: 1vw; z-index: 300; width: 50px; height: 50px; transform: translateY(-50%);}
header .btnmenu span{position: absolute; left: 50%; top: 50%; width: 25px; height: 2px; font-size: 0; background: #333; transform: translate(-50%, -50%);}
header .btnmenu span::before{content: ''; display: block; position: absolute; top: 8px; right: 0; width: 100%; height: 2px; background: #333; transition: all .3s ease;}
header .btnmenu span::after{content: ''; display: block; position: absolute; top: -8px; right: 0; width: 100%; height: 2px; background: #333; transition: all .3s ease;}

header .btnmenu.on span{background: none;}
header .btnmenu.on span:before{top: 50%; width: 100%; left: 0; transform-origin:50% 50%; transform: translateY(-50%) rotate(-45deg);}
header .btnmenu.on span:after{top: 50%; transform-origin:50% 50%; transform:translateY(-50%) rotate(45deg);}

.dim{display: none; position: absolute; top: 0; left: 0; background: rgba(0, 0, 0, 0.8); height: 100vh; width: 100%;}

.m_menu{position: fixed; top: 0; right: -100%; width: 300px; height: 100vh; z-index: 201; background: #fff; overflow-y: scroll;}

/* .b-close{cursor: pointer;} */
.m_menu::before{display: block; content: ''; width: 100%; height: 1px; position: absolute; top: 60px; right: 0; background: #ccc;}

.m_nav{overflow-y:auto; display: block; margin-top: 60px; /*  height:calc(100vh - 100px);  */}
.m_nav > li {padding: 20px;}
.m_nav > li > a{display: block; font-size: 18px; font-weight: 700; position: relative;}
.m_nav > li > a::after{content: ''; display: block; position: absolute;  top: 50%; right: 10px; width: 10px; height: 10px; margin-top: -7px; border: 1px solid #333; border-width: 0 1px 1px 0; transform: rotate(45deg); transition: all .3s ease;}
.m_nav > li.on >a:after{transform:rotate(-135deg); margin-top:-3px;}

.menu{
	border-top: 1px solid #ccc;
}
.menu>li {
	border-bottom: 1px solid #ccc;
	padding-top: 10px;
}

.submenu{display: none;}
.submenu li a{
	display: inline-block;
	width: 100%;
	height: 100%;
	padding-left: 20px;
    margin-top: 15px;
}

.menu-b{border-top: 5px solid #f3f3f3; display: flex; padding: 10px 20px 0;}
.menu-b ul{background: #fff; display: flex;}
.menu-b ul li a{display: flex; flex-direction: column; font-size: 14px;  align-items: center; position: relative; width: 100%; height: 100%; width: 85px; height: 60px; display: block; text-align: center;}

.menu-b ul li a figure{display: flex; align-items: center; justify-content: center; height: 40px;}
.menu-b ul li a figure img{display: flex; align-items: center; justify-content: center;}

@media screen and (max-width:1800px) {
	.web_nav > li{
		padding: 35px 2em;
	}
}

@media screen and (max-width:1600px) {
    header > .inner{width: 95%;}
}

@media screen and (max-width:1500px) {
	header{height: 80px;}
    header > .inner{flex-wrap: wrap;}

	.web_header > .inner{width: 98%;}
    /* .logo {margin: 0 auto;} */
    .logo a{width: 250px; height: 80px; background: url(../../images/logo.svg) 0 50%/100% no-repeat;}
    nav{justify-content: center;}
    .web_nav > li{height: auto;}
    .web_nav > li{padding: 25px 30px;}
}

/* @media screen and (max-width:1420px) {
    .web_nav > li > a{padding: 30px 2.5vw;}
} */

@media screen and (max-width:1400px) {
    .sub_nav > .inner > ul{margin-right: 1vw;}
}

@media screen and (max-width:1200px) {
    .web_nav > li{padding: 15px 1.4rem}
    .web_nav > li > a{font-size: 18px; font-weight: 500;}

	.web_header > .inner{width: 95vw;}
}
/* @media screen and (max-width:1200px) {
    .web_nav > li > a{padding: 30px 1.7vw;}
} */

@media screen and (max-width:1024px) {
    .header{height: 60px;}
    .logo a{background: url(../../images/logo.svg) 50% 50%/100% no-repeat; height: 100%;}
    .sub_nav{display: none;}
    nav{display: none;}
    header .btnmenu{display: block;}
    header > .inner{height: 60px;}
}



@media screen and (max-width:1024px) {
    #header{height: 60px;}
	#lnb{display: none;}
    .logo{height: 60px;}
	.seocho{margin-left: 30vw; min-width: 200px;}
    .logo a{background: url(../../images/logo.svg) 50% 50%/100% no-repeat; height: 100%;}
    .sub_nav{display: none;}
    nav{display: none;}
	.site{display: none;}
    header .btnmenu{display: block;}
    header > .inner{height: 60px;}

	header .btnmenu{overflow: hidden; position: absolute; top: 50%; right: 1vw; z-index: 300; width: 50px; height: 50px; transform: translateY(-50%);}
	header .btnmenu span{position: absolute; left: 50%; top: 50%; width: 25px; height: 2px; font-size: 0; background: #333; transform: translate(-50%, -50%);}
	header .btnmenu span::before{content: ''; display: block; position: absolute; top: 8px; right: 0; width: 100%; height: 2px; background: #333; transition: all .3s ease;}
	header .btnmenu span::after{content: ''; display: block; position: absolute; top: -8px; right: 0; width: 100%; height: 2px; background: #333; transition: all .3s ease;}

	header .btnmenu.on span{background: none;}
	header .btnmenu.on span:before{top: 50%; width: 100%; left: 0; transform-origin:50% 50%; transform: translateY(-50%) rotate(-45deg);}
	header .btnmenu.on span:after{top: 50%; transform-origin:50% 50%; transform:translateY(-50%) rotate(45deg);}

	.menu-b ul li{margin-right: 20px;}
	.menu-b ul li a{align-items: center; width: 100%; height: 100%; font-size: 16px;}
	.menu-b ul li a img{margin-right: 5px;}

	.sns{display: flex; padding: 10px 20px;}
	.sns a{font-size: 0; color: transparent; display: block; width: 40px; height: 40px;}
	.sns a:nth-child(1){background: url(../../images/facebook.svg) 100%/100% no-repeat; margin-right: 10px;}
	.sns a:nth-child(2){background: url(../../images/instar.svg) 100%/100% no-repeat;}
}

@media screen and (max-width:800px) {
	/* 풋터 */
	.footer_li li{margin-right: 20px;}
}

@media screen and (max-width:768px) {
	.copyright{font-size: 16px;}

	
	.footer_li li a{font-size: 16px;}

	.footer_tr li button{font-size: 16px;}
	.familysite ul{bottom: 44px;}

	.address p{font-size: 14px;}
	.copyright p{font-size: 14px;}

	/* .seocho{margin-left: 0;} */
}

@media screen and (max-width:700px) {
	/* 풋터 */
	.footer_top .inner{flex-direction: column-reverse;}
	.footer_li{width: 100%; justify-content: space-between; padding: 20px 0;}
	.footer_li li{margin-right: 0px; }
	.footer_li li a{font-size: 16px; display: block;}

	.footer_tr{width: 100vw;}
	.familysite{width: 100%;}
	.footer_tr li button{width: 100%; font-size: 14px;}
	.familysite ul{bottom: 40px;}
	.familysite ul li a{font-size: 14px; text-align: center; padding: 5px 0;}

	#footer_logo{width: 200px; margin: 0 auto;}
	.footer_bottom{padding: 20px 0;}
	.footer_bottom .inner{flex-wrap: wrap;}
	.footer_b_r{margin-left: 0;}
	.address{margin-top: 20px; justify-content: center; margin-top: 10px;}
	.address p{font-size: 14px; margin-top: 5px;}
	.copyright{margin-top: 10px; font-size: 14px; text-align: center; flex-wrap: wrap;}

	.seocho{margin-left: 0;}
}

@media screen and (max-width:480px) {
	.logo a{width: 180px;}
	.seocho{min-width: 150px;}
}

@media screen and (max-width:400px) {
	.logo a{width: 200px;}
	/* 풋터 */
	.footer_li{justify-content: space-between;}
	.footer_li li{margin-right: 0;}
	.footer_li li a{font-size: 14px;}

	.logo a{width: 150px;}
	.seocho{max-width: 150px;}
}

.r_nav{width: 50px; position: fixed; bottom: 85px; right: 30px; text-align: center; z-index: 95;}
.r_nav li{margin-top: 5px;}
.r_nav li a{display: flex; justify-content: center; align-items: center; width: 50px; height: 50px; background: #fff; border-radius: 50%; box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.15);  transition: 0.3s;}
.r_nav li:hover a{box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.35);}
.r_nav li:first-child:hover .r_nav_iw{display: block; margin-top: -30px;}
.r_nav li:first-child:hover .r_nav_i{display: nove;}
.r_nav li:hover p{color: #fff;}


.r_nav figure{width: 50px; height: 50px; margin: 0 auto;}
.r_nav figure img{width: 100%;}
.r_nav p{font-size: 14px; margin-top: 10px; transition: 0.5s;}

.r_nav li.kakao figure{width: 50px; height: 50px;}
.r_nav li.life_on figure{width: 50px; height: 50px;}

.r_nav li.life_on figure img{width: 100%;}


/* 탑 버튼 */
.top_button{position: fixed; right: 30px; bottom: 15px; z-index: 200; opacity:0; transition:all 0.5s ease;}
.top_button button{display: block; width: 50px; height: 50px; border-radius: 50%; text-align: center; color: #fff; background: #EE175E; cursor: pointer; box-shadow: 0 0 0 rgb(88 120 243 / 40%); animation: pulseAnim 2s infinite; border: none; transition: 0.5s;}
.top_button button:hover{background: #bb0048;}
.top_button.fixed { bottom:30px; opacity:1; }
@keyframes pulseAnim {
	0% {
		box-shadow: 0 0 0 0 rgb(255 130 180 / 40%);
	}
	70% {
		box-shadow: 0 0 0 10px rgb(255 130 180 / 0%);
	}
	100% {
		box-shadow: 0 0 0 0 rgb(255 130 180 / 0%);
	}
}
.top_button i{display: block; background: url(../../images/top_button.png) 50%/20% no-repeat; width: 50px; height: 50px;}