@charset "utf-8";
* {
    box-sizing:border-box;
}
html {
	overflow-x: hidden; font-size:62.5%; scroll-behavior: smooth;
}
body {
	font-family: "Pretendard", sans-serif; line-height:1.4; font-weight:500; overflow-x: hidden; min-width:280px; max-width:1920px; margin:0 auto; color:#000; letter-spacing:-0.05em; word-break:keep-all; font-size: 2.2rem;
}
select, input, textarea, button {
	font-family:inherit;
}
img {
	vertical-align: top; image-rendering: -webkit-optimize-contrast;
}
a, a:hover, a:focus {
	text-decoration:none;
}
.mo {
    display: none;
}
.pc {
    display: block;
}


/* reset */
a:active, a:hover, a:focus {text-decoration: none;}

/* 공통영역 */
header, section, footer {width: 100%; position: relative;}
.in_header, .content {width: 1440px; margin: 0 auto; position: relative;}


/* header */
header {
    position: fixed; top: 0; left: 0; border-bottom: 1px solid rgba(255,255,255,0.4); line-height: 1; box-sizing: border-box; z-index: 99; transition: all 0.5s;
}
header.on{
    border-bottom:1px solid #dbdbdb;
}
header .in_header {
    display: flex; justify-content: space-between; align-items: center; position: static;
}
header .in_header a {
    color: #fff;
}
header .in_header .logoWrap {
    display: flex; align-items: center;
}
header .in_header .logoWrap a {
    display: block;
}
header .in_header .logoWrap a.hubCity {
    display: block; width:273px; height:38px; background-image: url(/humanframe/theme/busan815/assets/img/common/logo.png); background-repeat: no-repeat; background-size: auto 100%; background-position: left top; transition: 0.4s;
}
header.sub .in_header .logoWrap a.hubCity,
header.on .in_header .logoWrap a.hubCity {
    background-image: url(/humanframe/theme/busan815/assets/img/common/logoOn.png); transition: 0.4s;
}

header .in_header nav .nav {
    display: flex;
}
header .in_header nav .nav li.depth01{
    position: relative;
}
header .in_header nav .nav li.depth01:not(:last-of-type) {
    margin-right: 70px;
}
header .in_header nav .nav li.depth01 > a {
    font-weight: 600; font-size: 2.4rem; padding:47px 0; display: block;
}
header.sub .in_header nav .nav li.depth01 > a,
header.on .in_header nav .nav li.depth01 > a {color: #222222;}

header .in_header nav .nav .depth02 {display: none;}
header .in_header nav .nav .depth02::after{
    display: block; content:''; width:150vw; height:62px; z-index: -1; background:#1d3068; position: absolute; top:0; left:0; transform: translateX(-50%);
}
header .in_header nav .nav li.depth01.on > a{
    color:#1d3068; font-weight:700;
}
header .in_header nav .nav li.depth01.on .depth02{
    display: flex; position: absolute; top:calc(100% + 1px); left:0; width:auto; flex-direction: row; justify-content: center; background:#1d3068; padding:19px 0 21px; font-weight:600; gap:30px; z-index: 10;  white-space: nowrap;
}
header .in_header nav .nav li.depth01:nth-child(5) .depth02,
header .in_header nav .nav li.depth01:nth-child(4) .depth02{
    right:0; left:inherit;
}
header .in_header nav .nav li.depth01 .depth02 > li > a{
    color:#fff; font-weight: 600; transition: 0.4s;
}
header .in_header nav .nav li.depth01 .depth02 > li > a:hover{
    color:#f1d830; transition: 0.4s;
}

header .in_header .menuBtn {
    display: none; width: 24px; height: 24px; background-image: url(/humanframe/theme/busan815/assets/img/common/menuBtn.png); background-repeat: no-repeat; background-size: 100%; text-indent: -9999px; z-index: 9;
} 

header.sub {position: relative;}

:is(header.on, header.sub) {background-color: #fff;}

:is(header.on, header.sub) .logoWrap a.busan::before {background-color: rgba(219,219,219,0.4);}
:is(header.on, header.sub) .logoWrap a.busan img:first-child {display: none;}
:is(header.on, header.sub) .logoWrap a.busan img:last-child {display: inline-block;}
:is(header.on, header.sub) .menuBtn {background-image: url(/humanframe/theme/busan815/assets/img/common/menuBtnOn.png);}

header .in_header .headerSearch{
    display: block; width:30px; height:30px; background-image: url(/humanframe/theme/busan815/assets/img/common/iconSearch.png); background-size: 100%; background-repeat: no-repeat; background-position: center;
}
header.sub .in_header .headerSearch,
header.on .in_header .headerSearch{
    background-image: url(/humanframe/theme/busan815/assets/img/common/iconSearch_bk.png);
}

/* footer */
footer {
    width: 100%; background-color: #242521; color: #fff; padding: 50px 0; text-align: center;
}
footer .footerInner{
    display: flex; flex-direction: row; justify-content: space-between; align-items: center; max-width:1440px; margin:0 auto;
}
footer .footerInner > .footerInfoBx{
    text-align: left;
}
footer .text {margin-bottom: 18px;}
footer .footerLogo{
    display: block; width:273px; height:38px; background-image: url(/humanframe/theme/busan815/assets/img/common/footerLogo.png); background-repeat: no-repeat; background-size: auto 100%; background-position: center;
}

/* ----------------------서브레이아웃*/
/* location */
#location{
    display: block; width:100%; margin:0 auto; background:#f9f6fa; border-top:1px solid #dbdbdb; border-bottom:1px solid #dbdbdb;
}
.locationInner{
    display: flex; flex-direction: row; justify-content: space-between; align-items: stretch; max-width:1440px; width:100%; margin:0 auto; position: relative;
}
.lineMap{
    display: flex; flex-direction: row; justify-content: flex-start; align-items: stretch;
}
.lineMap > a.home{
    width:46px; height:100%; border-right:1px solid #dbdbdb; border-left:1px solid #dbdbdb; background-image: url(/humanframe/theme/busan815/assets/img/common/iconHome.png); background-repeat: no-repeat; background-position: center; background-size: auto;
}
.lineMap > .depthWrap{
    display: flex; flex-direction: row; justify-content: flex-start; align-items: stretch; position: relative;
}
.lineMap > .depthWrap > button{
    display: block; min-width:270px; padding:19px 100px 19px 24px; line-height:1em; position: relative; border-right:1px solid #dbdbdb; text-align: left; font-size: 2.2rem;
}
.lineMap > .depthWrap > button::after{
    display: block; content:''; width:12px; height:6px; position:absolute; background-image: url(/humanframe/theme/busan815/assets/img/common/iconDepthArrow.png); background-repeat: no-repeat; background-size: auto; background-position: center; top:50%; right:33px; transform: translateY(-50%) rotate(0);transition:0.3s;
}
.lineMap > .depthWrap > button.on::after{
    transform: translateY(-50%) rotate(180deg); transition:0.3s;
}
.lineMap > .depthWrap > .depthList{
    width:100%; position: absolute; top:100%; left:0; background:#fff; z-index: 3; border:1px solid #dbdbdb;
    height:0; opacity:0; overflow:hidden; transition:0.3s;
}
.lineMap > .depthWrap > .depthList.on{
    height:auto; opacity: 1; transition:0.3s;
}
.lineMap > .depthWrap > .depthList > li > a{
    display: block; padding:10px 24px; transition: 0.3s;
}
.lineMap > .depthWrap > .depthList > li > a:hover{
    color:#1d3068; transition: 0.3s;
}
.shareArea{
    display: flex; flex-direction: row; justify-content: flex-end; align-items: stretch; border-right:1px solid #dbdbdb;
}
.shareArea > .print > a{
    width:65px; height:100%; display: block; background-image: url(/humanframe/theme/busan815/assets/img/common/iconPrint.png); background-repeat: no-repeat; background-size: auto; background-position: center; border-left:1px solid #dbdbdb; border-right:1px solid #dbdbdb;
}
.shareArea > .share{
    width:65px; height:100%; display: block;
}
.shareArea > .share > a{
    display:block; text-indent: -9999px;  width:100%; height:100%; background-image: url(/humanframe/theme/busan815/assets/img/common/iconShare.png); background-repeat: no-repeat; background-size: auto; background-position: center;  transition: 0.3s;
}
.shareArea > .share.on > a{
    background-color:#1c1c1c; background-image: url(/humanframe/theme/busan815/assets/img/common/iconClose.png); transition: 0.3s;
}
.share .shareBox{
    position: absolute; top:100%; right:0; z-index: 3; display: none;
}
.share.on .shareBox{
    display: block;
}
.shareList{
    display: flex; flex-direction: row; justify-content: flex-end; align-items: center; background:#fff; border:1px solid #dbdbdb; opacity: 0; transition: 0.3s;
}
.share.on .shareList{
    opacity: 1; transition: 0.3s;
}
.shareList > li{
    display: block; width:60px; height:60px;
}
.shareList > li > a{
    display: block; width:100%; height:100%; text-indent: -9999px; background-position: center; background-size: auto;background-repeat: no-repeat;
}
.shareList > li.facebook > a{
    background-image: url(/humanframe/theme/busan815/assets/img/common/iconShareFb.png);
}
.shareList > li.twitter > a{
    background-image: url(/humanframe/theme/busan815/assets/img/common/iconShareX.png);
}
.shareList > li.kakaostory > a{
    background-image: url(/humanframe/theme/busan815/assets/img/common/iconShareKko.png);
}
.shareList > li.naverband > a{
    background-image: url(/humanframe/theme/busan815/assets/img/common/iconShareBl.png);
}
.shareList > li.bookmark > a{
    background-image: url(/humanframe/theme/busan815/assets/img/common/iconShareBm.png);
}

/* subContentWrap */
.subContentWrap{
    padding-top:70px; min-height:62vh;
}
.titPage{
    font-size: 4.5rem; line-height: 1em; text-align: center; font-weight: 700; margin-bottom:68px;
}
.content.w100vw{
    width:100vw;
}




/* 반응형 */
@media screen and (max-width: 1440px) {
    .in_header{
        width: 100%; padding: 0 20px; box-sizing: border-box;
    }
    header .in_header {
        padding: 0px 20px;
    }
    .sideMenuWrap {
        width: 100%;
    }
    
    /* location */
    .lineMap > a.home{
        border-left:none;
    }
    .shareArea{
        border-right:none;
    }
    
    /* subContentWrap */
    .titPage{
        font-size: 4.5rem; margin-bottom:52px;
    }
        
    footer .footerInner{
        padding:0 20px;
    }
    
}

@media screen and (max-width: 1180px) {
    
    /* header */
    header .in_header {
        padding: 25px 20px;
    }
    footer .footerLogo,
    header .in_header .logoWrap a.hubCity{
        width:171px; height:24px;
    }
    header .in_header nav .nav {
        width:100%; margin:0 auto; height:100%; background:#fff; position: relative; z-index:3; flex-direction: column; padding:80px 26px 0; overflow-y: scroll;
    }
    header .in_header nav .nav li.depth01 {
        width: 100%;
    }
    header .in_header nav .nav li.depth01:not(:last-of-type) {
        margin-right: 0;
    }
    header .in_header nav .nav li.depth01>a {
        position: relative; display: block; padding: 30px 15px; color: #333333; border-bottom: 1px solid #000; box-sizing: border-box;
    }
    header .in_header nav .nav li.depth01>a::before {
        content: ''; position: absolute; top: 35px; right: 15px; background-image: url('/humanframe/theme/busan815/assets/img/common/menuArrow.png'); width: 17px; height: 9px; background-repeat: no-repeat; background-size: 100%; transition: all 0.5s;
    }
    header .in_header nav .nav li.depth01>a:only-child::before{
        display:none;
    }
    header .in_header nav .nav li.depth01>a.on {
        color: #1d3aa5;
    }
    header .in_header nav .nav li.depth01>a.on::before {
        transform: rotate(180deg);
    }
    header .in_header nav .nav .depth02::after{
        display: none;
    }

    header .in_header nav .nav .depth02 {
        padding: 30px 20px; box-sizing: border-box; background-color: #fff; border-bottom:1px solid #000;
    }
    header .in_header nav .nav .depth02 li:not(:last-of-type) {
        margin-bottom: 25px;
    }
    header .in_header nav .nav .depth02 li a {
        font-size: 2rem; color: #333333;
    }
    header .in_header nav .nav li.depth01 .depth02 > li > a{
        color:#000;
    }

    header .in_header nav{
        position: fixed; top: 0px; right:-100%; opacity: 0; transition: 0.2s; height: 100vh; background-color: #fff;  width: calc(100% - 56px); z-index: 2;
    }
    header .in_header nav.on {
        display: block;right: 0;opacity:1; transition: 0.2s;
    }
    header .in_header nav::after{
        display:block; opacity: 0; width:0; height:100vh; background:rgba(0,0,0,0.8); content:''; position: fixed; top:0; left:0; z-index: 1;  transition:0.1s;
    }
    header .in_header nav.on::after{
        opacity: 1; width:100vw;  transition:0.1s;
    }
    header .in_header .menuBtn {
        display: block;
    }
    header .in_header .menuBtn.on {
        width: 22px; height: 22px; background-image: url('/humanframe/theme/busan815/assets/img/common/menuCloseBtn.png'); position: fixed; top:30px; right:20px;
    }
    header .in_header .headerSearch{
        position:absolute; top:50%; right:60px; transform:translateY(-50%);
    }
    .lineMap{
        flex:1 1 0; width:100%;
    }
    /* subContentWrap */
    .titPage{
        font-size: 3.8rem; margin-bottom:46px;
    }

    /* footer */
    footer {
        padding: 35px 0;
    }
	footer .text {
        margin-bottom: 8px;
    }
}
 
@media screen and (max-width: 768px) {
    body{
        font-size: 2rem;
    }
    /* header */
    header .in_header .menuBtn.on {width: 20px; height: 20px;}

    /* footer */
    footer .footerInner{
        flex-direction: column-reverse; gap:16px;
    }
    footer .footerInner > .footerInfoBx{
        text-align: center;
    }

    /* ----------------------서브레이아웃*/
    
    /* location */
    .lineMap > .depthWrap{
        position: static;
    }
    .lineMap > .depthWrap > button{
        padding:16px 34px 16px 24px; font-size: 1.6rem; min-width: inherit; font-size: 2rem;
    }
    .lineMap > .depthWrap:last-child > button{
        width:100%; border-right:0;
    }
    .lineMap > .depthWrap:last-child > button > .depth01{
        width:auto;
    }
    .lineMap > .depthWrap > button::after{
        right:13px;
    }
    .lineMap > .depthWrap:last-child{
        width:100%; flex:1 1 0;
    }
    .depthWrap .depth01{
        width: 25px; display: -webkit-box; overflow: hidden; text-overflow: ellipsis; word-break: break-all; -webkit-line-clamp: 1; -webkit-box-orient: vertical;
    }
    .depthWrap .depth02{
        display: -webkit-box; overflow: hidden; text-overflow: ellipsis; word-break: break-all; -webkit-line-clamp: 1; -webkit-box-orient: vertical;
    }
    .lineMap > .depthWrap > .depthList{
        width:100vw;
    }
    .shareArea > .print > a,
    .shareArea > .share{
        width:35px; background-size: auto 16px;
    }
    .shareArea > .share > a{
        background-size:auto 16px;
    }
    .shareList > li{
        width:45px; hieght:45px;
    }
    
    /* subContentWrap */
    .titPage{
        font-size: 3rem; margin-bottom:38px;
    }
    /* subTitleWrap */
    .subTitleWrap .subTit {padding: 90px 0;}
    .subTitleWrap .subTit h3 {font-size: 34px;}

    /* sideMenuWrap */
    .sideMenuWrap li a {padding: 20px 0; font-size: 16px;} 

    /* subContentWrap */
    .subContentWrap {padding: 40px 0 0; }

}

@media screen and (max-width: 480px) {
    /* ----------------------서브레이아웃*/
    /* subTitleWrap */
    .subTitleWrap .subTit {padding: 60px 0;}
    .subTitleWrap .subTit h3 {font-size: 28px;}


    /* header */
    header .in_header .logoWrap a.busan {width: 110px;}
    header .in_header .logoWrap a.busan::before {top: 7px;}
    header .in_header .logoWrap a.hubCity {font-size: 22px;}
    header .in_header .menuBtn {width: 17px; height: 17px;}
    header .in_header .headerSearch{
        width:26px; height:26px; right:50px;
    }
    header .in_header .menuBtn.on{
        width:17px; height:17px;
    }


    /* footer */
	footer {padding: 25px 10px; box-sizing: border-box; font-size: 14px;}
    footer .logo {margin-bottom: 25px;}
    footer .text {display: none;}
}

@media screen and (max-width: 360px) {
    body{
        font-size: 1.8rem;
    }
    /* header */
    header .in_header {padding: 20px 15px;}
    header .in_header .logoWrap a.busan {width: 88px;}
    header .in_header .logoWrap a.busan::before {top: 5px;}
    header .in_header .logoWrap a.hubCity {font-size: 17px;}
    header .in_header .menuBtn.on {width: 15px; height: 15px;}
    header .in_header nav .nav{
        padding:60px 16px 0;
    }
    header .in_header nav .nav li.depth01>a {padding: 20px 15px; font-size: 17px;}
    header .in_header nav .nav li.depth01>a::before {top: 22px;}
    header .in_header nav .nav .depth02 {padding: 20px;}
    header .in_header nav .nav .depth02 li:not(:last-of-type) {margin-bottom: 20px;}
    
    header .in_header nav .nav li.depth01 .depth02 > li > a{
        font-size: 1.6rem;
    }
    
    /* ----------------------서브레이아웃*/
    
    /* location */
    .lineMap > .depthWrap > button{
        font-size: 1.8rem; padding:12px 40px 12px 12px;
    }
    
    /* subContentWrap */
    .titPage{
        font-size: 2.4rem; margin-bottom:26px;
    }

    /* footer */
    footer .logo {width: 100px; margin-bottom: 15px;}
}


.blindTxt{
	position:absolute; clip:rect(0 0 0 0); width:1px; height:1px; margin:-1px; left:-9999em;
}