@CHARSET "UTF-8";

/*
	자주 사용하는 값은 root 에 등록해서 변수로 사용 
*/

:root {
	--contents-width: 1200px;
	--font: 'Pretendard', sans-serif;
	--font-size: 14px;
	--impact-color: #003669;
	--black: #000000; /* 요청 */
}

* {
	font-family: var(--font);
}

body {
	position: relative;
	width: 100%;
	height: 100vh;
    margin: auto;
	font-size: var(--font-size);
}

a {
	text-decoration: none;
	color: #666666;
}

ul, ol, dl, li {
	list-style: none;
	padding:0;
	margin:0;
}

em {
	font-style: normal;
}

button {
	color: #444444;
	background-color: #ffffff;
}

/* common class */

.pc-only {
	display: inherit !important;
}

.m-only {
	display: none !important;
}

.dpn {
	display: none !important;
}

.cur {
	cursor: pointer;
}


/* header / footer */
.header-wrap {
	width: 100%;
	height: 90px;
	border-bottom: 1px solid #dbdbdb;
	box-sizing: border-box;
}

.header-outer {
	width: var(--contents-width);
	height: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: auto;
}

.header-outer > .logo {
    display: flex;
    align-items: center;
    column-gap: 10px;
}

.header-outer > .logo > img {
	margin-bottom: 10px;
}
    
.header-outer > .logo > span {
	font-size: 27px;
	font-weight: bold;
	color: #333333;
}

.header-outer > .menu-list > ul {
	display: flex;
	align-items: center;
	column-gap: 25px;
}

.header-outer > .menu-list > ul > li.depth1 {
	position: relative;
}

.header-outer > .menu-list > ul > li > ul {
	position: absolute;
    width: calc(100% + 20px);
    height: 80px;
    top: 52px;
    right: -10px;
    background-color: #ffffff;
    display: flex;
    flex-direction: column;
    border-radius: 0 0 5px 5px;
    border-top: 2px solid var(--impact-color);
    z-index: 6000;
}

.header-outer > .menu-list > ul > li > ul > li {
	flex: 1;
	display: flex;
    justify-content: center;
    align-items: center;
}

.header-outer > .menu-list > ul > li > ul > li.depth2:not(:last-child) {
	border-bottom: 1px solid #dddddd;
}

.header-outer > .menu-list > ul a {
	width: 100%;
    text-align: center;
    padding: 10px 0;
	font-size: 15px;
	font-weight: bold;
	color: #333333;
}

.breadcrumb-wrap {
	position: relative;
	width: 100%;
	height: 37px;
	border-bottom: 1px solid #dbdbdb;
	background-color: #f7f7f7;
	z-index: 4000;
	line-height: 1
}

.breadcrumb-wrap>.breadcrumb {
	width: var(--contents-width);
	margin: auto;
	height: 100%;
}

.breadcrumb-wrap>.breadcrumb>.breadcrumb-group {
	position: relative;
	float: left;
	height: 100%;
	min-width: 160px;
	border-right: 1px solid #e8e8e8;
	box-sizing: border-box
}

.breadcrumb-wrap>.breadcrumb>.breadcrumb-group>button {
	width: 100%;
	height: 100%;
	border: 0;
	background-color: #f7f7f7;
	font-size: 95%;
	color: #666666;
	text-align: left;
	padding: 0 10px 0 15px;
	line-height: 1.5;
}


.breadcrumb-wrap>.breadcrumb>.breadcrumb-group>button:HOVER {
	font-weight: bold;
	cursor: pointer;
}

.breadcrumb-wrap>.breadcrumb>.breadcrumb-group>button>span {
	display: inline-block;
	float: right;
	margin: 7px 0 0 7px;
	width: 10px;
	height: 10px;
}

.breadcrumb-wrap>.breadcrumb>.breadcrumb-group>button>span.caret {
	background-image: url(../img/pc/icon-local.png);
	background-position: 0 -25px;
}

.breadcrumb-wrap>.breadcrumb>.breadcrumb-group>button.area-expanded {
	font-weight: bold;
	background-color: #ffffff
}

.breadcrumb-wrap>.breadcrumb>.breadcrumb-group>button.area-expanded>span.caret
	{
	background-image: url(../img/pc/icon-local.png);
	background-position: 0 -50px;
}

.breadcrumb-wrap>.breadcrumb>.breadcrumb-group:FIRST-CHILD {
	min-width: 37px;
	border-left: 1px solid #e8e8e8
}

.breadcrumb-wrap>.breadcrumb>.breadcrumb-group:FIRST-CHILD>button {
	font-size: 0;
	background-image: url(../img/pc/icon-local.png);
	background-position: 10px 12px;
}

.breadcrumb-wrap>.breadcrumb>.breadcrumb-group>ul {
	position: relative;
	width: 100%;
	margin-left: -1px;
	background: #ffffff;
	border: 1px solid #e8e8e8;
}

.breadcrumb-wrap>.breadcrumb>.breadcrumb-group>ul>li {
	display: table;
	width: 100%;
	height: 38px;
}

.breadcrumb-wrap>.breadcrumb>.breadcrumb-group>ul>li:HOVER {
	background-color: #898989
}

.breadcrumb-wrap>.breadcrumb>.breadcrumb-group>ul>li>a {
	display: table-cell;
	padding: 0px 15px;
	font-size: 95%;
	vertical-align: middle;
	color: #666666;
}

.breadcrumb-wrap>.breadcrumb>.breadcrumb-group>ul>li:HOVER>a {
	color: #ffffff
}
















.footer-wrap {
	width: 100%;
	border-top: 1px solid #dddddd;
    box-sizing: border-box;
}

.footer-outer {
	width: var(--contents-width);
	margin: auto;
}

.footer-wrap > .footer-outer > .footer-util {
    display: flex;
    justify-content: space-between;
	width: 100%;
    height: 50px;
}

.footer-wrap > .footer-outer > .footer-util > div:first-child {
	display: flex;
	align-items: center;
	height: 100%;
}

.footer-wrap > .footer-outer > .footer-util > div:first-child > ul {
	display: flex;
    column-gap: 10px;
}

.footer-wrap > .footer-outer > .footer-util > div:first-child > ul > li:not(:last-child) {
	padding-right: 10px;
	border-right: 1px solid #dddddd;
}

.family-site {
    align-items: center;
    justify-content: space-between;
    width: 150px;
    padding: 0 10px;
    background-color: #f7f7f7;
}

.footer-wrap > .footer-address {
	width: var(--contents-width);
	margin: auto;
    font-size: 13px;
    color: #666666;
    line-height: 1.5;
    margin-top: 20px;
}

.related-site {
    font-size: 13px;
    font-weight: 400;
    width: 170px;
    height: 40px;
    border: none;
    display: flex;
    position: relative;
}

.related-site > button {
	position: relative;
	width: 100%;
	text-align: left;
	border: none;
    margin: 0;
    text-decoration: none;
    background: transparent;
    line-height: 1;
    cursor: pointer;
    transition: background .25s ease-in-out,transform .15s ease;
    -webkit-appearance: none;
    -moz-appearance: none;
}

.related-site > button > span {
	background: url(../img/icon/icon-footer.png) no-repeat;
	background-position-y: 1px;
    width: 15px;
    height: 15px;
    position: absolute;
    right: 0px;
}
.related-site > button.on  > span {
	background: url(../img/icon/icon-footer.png) no-repeat;
	background-position-y: -49px;
}

.related-site > ul {
	position: absolute;
    border: 1px solid #e3e3e3;
    bottom: 111%;
    left: -11px;
    background: #fdfdfd;
    border-bottom: 0;
    width: 170px;
    z-index: 9000;
}

.related-site > ul > li {
	height: 30px;
	padding: 0 15px;
	display: flex;
	align-items: center;	
}

.related-site > ul > li > a {
	width: 100%;
}

.related-site > ul > li > a:HOVER {
	font-weight: 500;
}

.m-sitemap{
	display: none;
}

/* 모바일만 */
@media screen and (max-width:767px){
	
	.pc-only {
		display: none !important;
	}
	
	.m-only {
		display: inherit !important;
	}
	
	.header-wrap {
		width: 100%;
		height: 65px;
		padding: 0 20px;
	}
	
	.header-outer {
		width: 100%;
	}
	
	.header-outer > .logo > img {
		width: 58px;
		height: 23px;
	}
	
	.header-outer > .logo > span {
		font-size: 18px
	}
	
	.hamberger-menu {
		width: 65px;
    	height: 65px;
    	align-items: center;
    	justify-content: end;
	}
	
	.hamberger-menu i {
		width: 25px;
    	height: 25px;
		background-image: url(../img/mobile/icon_menu_open.svg);
	}
	
	.hamberger-menu.on i {
    	background-image: url(../img/mobile/icon_menu_close.svg);
	}
	
	
	body.main .submenu-list {
		display: none !important;
	}
	
	body.templet .submenu-list {
		display: flex !important;
	}
	
	.submenu-list {
		width: 100%;
		height: 45px;
/* 		display: flex !important; */
	}
	
	.submenu-list > div:not(.home) {
		flex: 1;
		border-bottom: 1px solid #d0ddec;
		border-top: 1px solid #d0ddec;
		background-color: #e3edf8;
	}
	
	.submenu-list > .home {
		width: 45px;
		height: 100%;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		background-color: var(--impact-color);
	}
	
	.submenu-list > .home > i {
		width: 20px;
		height: 20px;
		background-image: url(../img/mobile/icon_historymenuhome_m.svg);
	}
	
	.submenu-list > div:nth-child(2) {
		border-right: 1px solid #d0ddec;
	}
	
	.submenu-list > div > dl > dt {
		height: 45px;
	    padding: 0 10px;
	    font-size: 14px;
	    font-weight: 400;
	    align-items: center;
	    display: flex;
	    word-break: keep-all;
	    justify-content: space-between;
	}
	
	.submenu-list > div > dl > dt > .m-history-menu {
	    width: 15px;
	    height: 15px;
	    background-image: url(../img/mobile/icon_btn_menulistopen_m.svg);
	    background-repeat: no-repeat;
	}
	.submenu-list > div > dl > dt > .m-history-menu.on {
		background-image: url(../img/mobile/icon_btn_menulistclose_m.svg);
	}
	
	.submenu-list > div > dl > dd {
		display: none;
	    flex-direction: column;
	    flex: 1;
	    position: relative;
	    margin: 0;
	    margin-top: -1px;
	    padding: 0 10px;
	    z-index: 3;
	    background-color: #e3edf8;
    	border: 1px solid #d0ddec;
    	border-top: 0;
	}
	.submenu-list > div > dl > dd.on {
		display: flex;
	}
	
	.submenu-list > div > dl > dd > ul  {
		display: flex;
		flex-direction: column;
	}
	.submenu-list > div > dl > dd > ul > li {
		display: flex;
		border-bottom: 1px solid #d0ddec;
	}
	
	.submenu-list > div > dl > dd > ul > li > a {
		line-height: 43px;
		flex: 1;
	}
	
	
	.footer-outer {
		width: 100%;
	}
	
	.footer-wrap > .footer-address {
		width: 100%;
	}
	
	.footer-wrap > .footer-outer > .footer-util {
		justify-content: center;
	}
	
	.footer-wrap:last-child {
		padding-bottom: 30px;
	}
	
	.family-site{
		margin:auto;
		margin-bottom: 20px;
		border: 1px solid #e3e3e3;
	}
	.related-site {
		width: 100%;
	}
	.related-site > ul{
		bottom: 100%;
	}
	.copyright {
		text-align: center;
	}
	
	.m-sitemap {
	    display: block;
	    width: 100%;
	    height: calc(100% - 65px);
	    background-color: #ffffff;
	    position: absolute;
		top: 65px;
	    z-index: 9999;
	}
	
	.m-sitemap a {
		color: #333333;
		font-weight: 600;
		width: 50%;
    	padding: 10px 0;
	}
	
	.m-sitemap > ul > li.depth1 {
		display: flex;
	    align-items: center;
	    justify-content: space-between;
	    height: 50px;
		font-size: 18px;
		color: #333333;
	    padding: 0 15px;
	    box-sizing: border-box;
	    border-bottom: 1px solid #dbdbdb;
	}
	
	.m-sitemap > ul > li.depth1.open > a {
		color: var(--impact-color);
	}
	
	.m-sitemap > ul > li.depth1 > i {
		display: inline-block;
		width: 20px;
		height: 20px;
		background-image: url(../img/mobile/icon_btn_menulistopen_m.svg);
	}
	
	.m-sitemap > ul > li.depth1.open > i {
		background-image: url(../img/mobile/icon_btn_menulistclose_m.svg);
	}
	
	.m-sitemap > ul > ul {
		border-top: 2px solid #e9e9e9;
		background-color: #f4f4f4;
		width: 100%;
		height: auto;
		padding: 12px 25px 15px;
		box-sizing: border-box;
	}
	
	.m-sitemap > ul > ul > li {
		width: 100%;
		display: flex;
	    align-items: center;
	    justify-content: space-between;
	    height: 30px;
		font-size: 15px;
		color: #333333;
	    box-sizing: border-box;
	    position: relative;
	}
	
	.m-sitemap > ul > ul > li > i {
		position: absolute;
		width: 3px;
		height: 3px;
		background-image: url(../img/mobile/bu_menulistclose_m.svg);
		background-repeat: no-repeat;
		left: -5px;
    	top: 12px;
	}
	
	.m-sitemap > ul > ul > li > a{
		padding-left: 5px;
	}
	
	
}

