@charset "utf-8";
/*───────────────────────────────────────────────────────────
	
	header, footer, main 관련 작성 css 파일입니다.

	** 이와 서브페이지 관련 css는 /css/sub.css 에 있습니다.

───────────────────────────────────────────────────────────*/
    
/*───────────────────────────────────────────────────────────
	layout common
───────────────────────────────────────────────────────────*/
	#wrap {position:relative;width:100%; overflow: clip;}
    .w_custom{position: relative;width: calc(100% - 60px);max-width: 1380px;margin-inline: auto;}
    #container{position: relative; padding-block:120px 150px; }

    @media (max-width:1300px){
        br.for_pc{display: none;}
    }
    @media (max-width:1023px){
        #container{padding-block:clamp(80px, 12vw, 120px) clamp(100px, 15vw, 150px);}
    }
    @media (max-width:860px){
        .w_custom{width: calc(100% - 30px);}
    }
    @media (max-width:320px){
        .w_custom{width: calc(100% - 20px);}
    }



/*───────────────────────────────────────────────────────────

    HEADER | outline/header.html, outline/nav.html

───────────────────────────────────────────────────────────*/
    #header{position: sticky; top:0; width: 100%; height: 80px;  z-index: 100; background: var(--point-color01); transition: all 0.4s;}
        #header.on{box-shadow: var(--shadow-01);}
    #header .w_custom{display: flex;align-items: center;max-width: 1800px;height: 100%;justify-content: space-between;gap: 30px;}
    #header .logo{font-size: 0;height: 100%;}
    #header .logo a{display: flex;align-items: center;width: 201px;height: 100%;padding-block: 20px;}
	#header .logo img{width:100%;max-width: none;}
    #header .cont{display: flex;align-items: center;justify-content:flex-end;height: 100%; }
    #header .gnb{display: flex;align-items:center;font-size: var(--title-20);text-align: center;height: 100%;}
    #header .gnb:after{display: inline-flex;content:'';width: 1px;height: 25px;background: var(--point-color02);margin-inline: clamp(25px, 2.2vw, 42px);}
    #header .gnb > li{position: relative;font-size: 90%;font-weight: 700;display: flex;align-items: center;height: 100%;}
		#header .gnb > li:not(:last-child){margin-right: clamp(25px, 2vw, 38px);}
    #header .gnb > li > a{display: flex;flex-direction: column;align-items: center;justify-content: center;overflow: hidden;transition: all 0.4s;}
    #header .gnb > li > a :where(em, span){transition: inherit;}
    #header .gnb > li > a em{font-weight: inherit;position: relative;}
    #header .gnb > li > a span{position: relative;text-decoration: underline;text-decoration-skip-ink: none;text-underline-offset: 2px;text-decoration-thickness: 1px;margin-top: -24px;translate: 0 100%;}
    #header .gnb .dep02{position: absolute;top: 85%;left:50%;translate: -50%;width: 180px;border: 1px solid var(--border-color04);background: var(--point-white);padding-block: 15px;opacity: 0;pointer-events: none;transition: all 0.4s;}
    #header .gnb .dep02 > li{font-size: 90%;font-weight: 400;transition: inherit;}
    #header .gnb .dep02 > li > a{display: block;padding:10px 25px;}
    #header .utility{display: flex;align-items: center;gap: clamp(20px, 1.6vw, 30px);flex-shrink: 0;}
    #header .lang_list > li > a{padding-bottom: 4px;}
    #header .allCate{display: none;flex-direction: column;justify-content: space-between;width: 30px;aspect-ratio: auto 1.5;}
    #header .allCate span{width: 100%;height: 2px;background: var(--point-white);}


    .lang_list{display: flex;align-items: center;font-size: var(--title-20);font-family: var(--font-type03);gap: clamp(20px, 1.6vw, 30px);}
    .lang_list > li{font-size: inherit;font-weight: 500; filter: var(--filter-white);}
    .lang_list > li > a{display: block;}
    .lang_list > li.on > a{text-decoration: underline;text-underline-offset: 1px;text-decoration-thickness: 1px;}

        /* color */
            #header :where(.logo, .gnb > li > a){filter: var(--filter-white);}

        /* hover */
            @media (hover:hover) and (pointer:fine){
                #header .gnb > li:hover > a em{translate: 0 -100%;}
                #header .gnb > li:hover > a span{translate: 0;}
                #header .gnb > li:hover .dep02{opacity: 1; pointer-events: all;}
                #header .gnb .dep02 > li:hover{color: var(--point-color01);}
            }
            

    @media (max-width:1023px){
        #header{height: clamp(60px, 8.5vw, 80px);}
        #header .logo a{width: clamp(130px, 20.6vw, 201px);}
        #header .gnb{display: none;}
        #header .lang_list > li > a{padding-bottom: 0;}
        #header .allCate{display: flex; width: clamp(26px, 3.5vw, 30px);}
    }

/*───────────────────────────────────────────────────────────

	Aside | outline/nav.html

───────────────────────────────────────────────────────────*/
    #aside{position: fixed;top: 0;left:0;width: 100%;height: 100%;z-index: 999;background: rgba(0,0,0,0.8);backdrop-filter:blur(10px);display: flex;flex-direction: column;overflow: hidden;overflow-y: auto;padding-block: 10vh;opacity: 0;transition: all 0.6s;clip-path: inset(0 0 100% 0);}
        #aside.on{opacity: 1;clip-path: inset(0);}
    body:has(#aside.on){overflow: clip; touch-action: none;}
    #aside .w_custom{flex-shrink: 0;max-width: 1720px;min-height: 100%;display: flex;align-items: center;}
    #aside .gnb{width: 100%;font-size: var(--title-20);letter-spacing: 0;display: grid;align-items: start;justify-content: center;grid-template: auto / repeat(4, 1fr);gap: clamp(15px, 2.2vw, 40px);}
    #aside .gnb > li{color: var(--point-white);font-size:var(--title-20);text-align: center;opacity:0;transform:translateY(100px);transition:all 0.8s;}
        #aside.on .gnb > li{opacity:1;transform:translateY(0);}
        #aside.on .gnb > li:nth-child(1){transition-delay:0.3s;}
        #aside.on .gnb > li:nth-child(2){transition-delay:0.4s;}
        #aside.on .gnb > li:nth-child(3){transition-delay:0.5s;}
        #aside.on .gnb > li:nth-child(4){transition-delay:0.6s;}
        #aside.on .gnb > li:nth-child(5){transition-delay:0.7s;}
        #aside.on .gnb > li:nth-child(6){transition-delay:0.8s;}
    #aside .gnb > li > a{display: flex;flex-direction: column;gap: 20px;font-size: 180%;color:inherit;font-weight: 700;line-height: 1.2;padding: 30px 0;transition: all 0.4s;position: relative;}
        #aside .gnb > li > a:before{width:12px;height:0;opacity:0;content:'';border-radius:100%;background: var(--point-white);position: absolute;left:50%;top:0;transform:translate(-50%);transition:all 0.3s;}
    #aside .gnb > li > a em{font-weight: inherit;}
    #aside .gnb > li > a span{font-size: 60%;font-weight: 400;color: rgba(255,255,255,0.6);}
    #aside .gnb .dep02{margin-top:8px;}
    #aside .gnb .dep02 > li{font-size:var(--title-20);}
    #aside .gnb .dep02 > li > a{display: inline-block;font-size:110%;font-weight:400;padding: 15px 0;transition: all 0.4s;color: var(--black-color08);}
    #aside .utility{position: absolute;top: clamp(30px, 2.8vw, 50px);right: clamp(30px, 2.8vw, 50px);display: flex;align-items: center;gap: 30px; z-index:2;}
    #aside .lang_desc dt{filter: var(--filter-white);}
    #aside .close_btn{position: relative;width: 40px;height: 40px;z-index: 9;}
    #aside .close_btn span{position: absolute; top:50%; left:50%; transform: translate(-50%, -50%) rotate(45deg); width: 100%; height: 2px; background: var(--point-white);}
    #aside .close_btn span + span{transform: translate(-50%, -50%) rotate(-45deg);}
    
        /* over */
            @media (hover:hover) and (pointer:fine){
                #aside .gnb > li:hover > a:before{height:12px;opacity:1;}
                #aside .gnb .dep02 > li:hover a{color:var(--point-white);}
            }

    @media (max-width:1600px){
        #aside .gnb{grid-template: auto / repeat(3, 1fr)}
    }
    @media (max-width:1023px){
        #aside{padding-block: clamp(80px, 12vw, 120px);}
        #aside .close_btn{width: clamp(30px, 4vw, 40px);height: clamp(30px, 4vw, 40px);}
		#aside .utility{gap:20px;}
    }
    @media (max-width:860px){
		#aside{display: block;}
		#aside .w_custom{align-items:flex-start;}
		#aside .gnb{grid-template: auto / repeat(1, 1fr);gap:0;}
        #aside .gnb > li{display: block;padding: 25px 0;width:100%;text-align:left;border-bottom:1px solid rgba(255,255,255,0.5);}
        #aside .gnb > li > a{width: 100%;padding:0;flex-direction: row;flex-wrap: wrap;align-items: center;gap: 10px 20px;}
		#aside .gnb > li > a:before{display: none;}
        #aside .gnb .dep02{display: flex;flex-wrap:wrap;margin-top: 15px;justify-content: flex-start;gap:0 12px;}
		#aside .gnb .dep02 li{width:calc(100% / 3 - 8px);}
		#aside .gnb .dep02 > li > a{padding:12px 0;}
		#aside .utility{top:15px; right: 15px; }
    }
    @media (max-width:640px){
        #aside .gnb > li > a{font-size: 200%;}
		#aside .gnb .dep02 li{width:calc(50% - 6px);}
        #aside .gnb .dep02 > li > a{padding:7px 0;font-size:100%;}
        #aside .gnb .dep02 > li:not(:last-child):after{margin:0 15px;}
    }
    @media (max-width:479px){
        #aside .gnb > li > a{font-size: 170%;}
        #aside .gnb > li > a span{width: 100%;}
        #aside .gnb .dep02{margin-top: 10px;}
        #aside .gnb .dep02 li{width: 100%;}
        #aside .gnb .dep02 > li > a{font-size: 95%;}
    }

/*───────────────────────────────────────────────────────────

    MAIN | index.html

───────────────────────────────────────────────────────────*/
    /* visual */
        .main_visual {position:relative;width:100%; background: var(--black-color00); background: url('../images/skin/main_visual03.jpg') no-repeat center / cover;}
        .main_visual .slick-slide{position:relative;height: 940px;overflow:hidden;opacity: 0 !important;transition-property: clip-path !important;}
            .main_visual .slick-slide.active{clip-path: inset(0); opacity: 1 !important;}
            .main_visual .slick-slide.slick-active{clip-path: inset(0 0 0 100%); transition: 0s; opacity: 1 !important;}
            .main_visual .slick-slide.slick-active.active{clip-path: inset(0); transition:1s; }
        .main_visual .thumb{display: block; width: 100%; height: 100%; background: no-repeat center / cover;}
        .main_visual .link{position: absolute; inset: 0; z-index: 3;}

        @media (max-width:1023px){
            .main_visual .slick-slide{height: clamp(500px, 94vw, 940px);}
        }

    /* 공통 */
        .main_title{position: relative;font-size: var(--title-20);display: flex;flex-direction: column;align-items: flex-start;gap: 23px;text-wrap: balance;}
            .main_title.cen{align-items: center; text-align: center;}
        .main_title h2{font-size: 250%;font-weight: 500;line-height: 1.2;}
        .main_title h2 em{font-weight: inherit;font-family: var(--font-type04);color: var(--point-color03);}
        .main_title h4{font-size: 160%;font-weight: 400;line-height: 1.25;letter-spacing: -0.03em;}
            .main_title h4 + h6{margin-top: 7px;}
        .main_title h4 em{font-weight: inherit;font-family: var(--font-type02);color: var(--point-color03);}
        .main_title h6{font-size: inherit;font-weight: 400;line-height: 1.8;text-wrap: pretty;}
        .main_title .more_arw{margin-top: 12px;}

        .more_arw{position: relative;display: flex;align-items: center;width: fit-content;font-size: var(--title-20);font-weight: 700;color: var(--point-color01); transition: all 0.4s;}
        .more_arw span{position: relative;font-size: max(14px, 85%);background: var(--point-white);transition: inherit;padding-inline: 8px;}
        .more_arw:before{display: inline-flex;content:'';width: 40px;height: 2px;background: var(--point-color05);flex-shrink: 0; transition: inherit;}
        .more_arw:after{position: absolute;content:'';width: 41px;aspect-ratio: auto 2.56;background: url('../images/skin/more_arw.svg') no-repeat center / 100% auto;top: 50%;right: 0;translate: 0 -50%;opacity: 0; transition: inherit;}

            /* over */
                @media (hover:hover) and (pointer:fine){
                    .more_arw:hover span{translate: -40px;}
                    .more_arw:hover:after{opacity: 1;}

                    @media (max-width:1023px){
                        .more_arw:hover span{translate: clamp(-40px, -4.5vw, -30px);}
                        .more_arw:after{width: clamp(31px, 4.1vw, 41px)}
                    }
                }

        @media (max-width:1023px){
            .main_title{gap: clamp(10px, 2.3vw, 23px);}
            .main_title h2{font-size: 240%;}
            .main_title h4{font-size: 150%;}
                .main_title h4 + h6{margin-top: clamp(4px, 0.7vw, 7px);}
            .main_title .more_arw{margin-top: clamp(7px, 1.2vw, 12px);}
            
            .more_arw:before{width: clamp(30px, 4.5vw, 40px);}
        }
        @media (max-width:640px){
            .main_title h2{font-size: 230%;}
            .main_title h4{font-size: 140%;}
        }
        @media (max-width:479px){
            .main_title h2{font-size: 220%;}
            .main_title h4{font-size: 130%;}
            .main_title h6{font-size: 90%;}
        }

    /* CBRE Investment Advisors */
        .main_about{padding-block: 140px;}
        .main_about .w_custom{display: flex; align-items: flex-start; gap: clamp(40px, 4.5vw, 80px);}
        .main_about .main_title{width: 38%;max-width: 520px;flex-shrink: 0;border-top: 1px solid var(--border-color04);padding-top: 39px;}
        .main_about .thumb{width: 100%; height: 460px; overflow: hidden;}
        .main_about .thumb img{width: 100%; height: 100%; object-fit: cover;}

        @media (max-width:1023px){
            .main_about{padding-block: clamp(70px, 14vw, 140px);}
            .main_about .w_custom{flex-wrap: wrap;gap: clamp(35px, 4.5vw, 40px);}
            .main_about .main_title{width: 100%;max-width: 100%;padding-top: clamp(25px, 3.9vw, 39px);}
            .main_about .thumb{height: auto;aspect-ratio: auto 1.695;}
        }

    /* 자문 */
        .main_advice{padding-bottom: 140px;}
        .main_advice .info_list{display: grid;grid-template: auto / repeat(2, 1fr);gap: 50px 0;overflow: hidden;}
        .main_advice .info_list > li{position: relative;padding-inline: 30px;display: flex;flex-direction: column;align-items: center;gap: 30px;box-shadow: 1px 1px 0 var(--border-color04);}
        .main_advice .info_list .icon{display: flex;align-items: center;justify-content: center;width: 120px;height: 120px;padding: 20px;background: var(--border-color05);border-radius: 100%;}
        .main_advice .main_title .more_arw{margin-top: 16px;}

        @media (max-width:1023px){
            .main_advice{padding-bottom: clamp(30px, 9vw, 90px);}
            .main_advice .info_list > li{gap: clamp(20px, 3vw, 30px);padding-bottom: 50px;}
            .main_advice .info_list .icon{width: clamp(80px, 12vw, 120px);height: clamp(80px, 12vw, 120px);}
        }
        @media (max-width:640px){
            .main_advice .info_list{grid-template: auto / repeat(1, 1fr);}
        }
        @media (max-width:479px){
            .main_advice .info_list{gap: 40px;}
            .main_advice .info_list > li{padding-bottom: 40px;}
        }

/*───────────────────────────────────────────────────────────

    FOOTER | outline/footer.html

───────────────────────────────────────────────────────────*/
    #footer{position: relative;color: var(--point-color03);line-height: 1.6;}
    #footer .w_custom{border-top: 5px solid var(--point-color03);padding-block: 40px 50px;display: grid;gap: 50px;}
    #footer .cont{display: flex;align-items: flex-start;gap: 30px clamp(40px, 4.3vw, 83px);}
    #footer .logo{font-size: 0;max-width: 160px;flex-shrink: 0;}
    #footer .addr_list{display: flex;flex-direction: column;gap: 3px;font-size: var(--title-20);width: 100%;}
    #footer .addr_list > li{display: flex;flex-wrap: wrap;font-size: max(13px, 70%);gap: 2px 0;}
    #footer .addr_list > li:nth-child(2){font-family: var(--font-type03);letter-spacing: 0.025em;}
    #footer .addr_list .desc{display: flex; align-items: baseline;}
    #footer .addr_list .desc:not(:last-child):after{display: inline-flex; content:''; width: 1px; height: 10px; background: var(--border-color04); margin-inline: 13px;}
    #footer .addr_list .desc dt{flex-shrink: 0; padding-right: 4px;}
    #footer .btm_sec{border-top: 1px solid var(--border-color04);display: flex;align-items: center;justify-content: space-between;flex-wrap: wrap;gap: 15px 30px;padding-top: 27px;}
    #footer .link_list{display: flex;align-items: center;flex-wrap: wrap;gap: 12px 40px;font-size: var(--title-20);}
    #footer .link_list > li{font-size: max(12px, 65%); color: var(--point-color03);}
    #footer .link_list > li strong{font-weight: 700;}
    #footer .copy{display: flex;align-items: center;flex-wrap: wrap;font-size: var(--title-20);gap: 3px 10px;}
    #footer .copy :where(dt, dd){font-size: max(12px, 60%);font-family: var(--font-type03);color: var(--point-color04);opacity: 0.8;}

    @media (max-width:1023px){
        #footer .w_custom{padding-block: clamp(30px, 4vw, 40px) clamp(40px, 5vw, 50px);gap: clamp(35px, 5vw, 50px);}
        #footer .logo{max-width:clamp(130px, 16vw, 160px);}
        #footer .link_list{column-gap: clamp(25px, 4vw, 40px);}
        #footer .btm_sec{padding-top: clamp(22px, 2.7vw, 27px);}
    }
    @media (max-width:640px){
        #footer .w_custom{border-width: 4px;}
        #footer .cont{flex-wrap: wrap;}
    }