style.css

@charset "utf-8";

/* Font */
@import url(font.css);
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700&display=swap');
/* Guide
----------------------------------------------------------------------------------------------------------------------------------------------------------

▶사이즈
pc : 1200px
tablet : 980px ~
mobile : 767px ~ 320px

▶미디어쿼리는 (주석으로 구분 되어있는)파트마다 각각 작성함.

*/


/* Reset
---------------------------------------------------------------------------------------------------------------------------------------------------------- */
	body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,textarea,p,blockquote,th,td,input,select,textarea,button{margin:0;padding:0;font-size:100%;}
	article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section{display:block;}
	html{box-sizing:border-box;}
	*, *:before, *:after{box-sizing:inherit;}
	body,th,td,input,select,textarea,button{font-family:'NotoSansKR', sans-serif;font-size:12pt;letter-spacing:-0.03em;line-height:1.475;font-weight:300;color:#555;}
	dl,ul,ol,menu,li {list-style:none;}
	*, *:before, *:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;}
	:focus{outline:0 !important;}
	iframe{border:none; width:100%;}
	a{color:inherit;text-decoration:none;-webkit-transition:all .2s ease-in-out; -moz-transition:all .2s ease-in-out;transition:all .2s ease-in-out;}
	a:hover, a:focus ,a:active{text-decoration:none;color:#000;}
	img{max-width:100%;}
	textarea{max-width:100%;resize:none;}

	.hidden{font-size:0;line-height:0;text-indent:-9999em;overflow:hidden;}
    ::selection{background:#333;color:#fff;text-shadow:none;}
    ::-moz-selection{background:#333;color:#fff;text-shadow:none;}
    ::-webkit-selection{background:#333;color:#fff;text-shadow:none;}

	.ff_cont{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;}
	.fi_cont{display:-webkit-inline-box;display:-moz-inline-box;display:-ms-inline-flexbox;display:-webkit-inline-flex;display:inline-flex;}
	.ff_object{margin:-15px;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;}
	.ff_object .obj{padding:15px;}
	.ff_object.middle{margin:-10px;}
	.ff_object.middle .obj{padding:10px;}
	.ff_obj{margin-left:-15px;margin-right:-15px;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;}
	.ff_obj .obj{padding-left:15px;padding-right:15px;}
	.f_two .obj{flex:0 0 50%;-ms-flex:0 0 50%;max-width:50%;}
	.f_three .obj{flex:0 0 33.33%;-ms-flex:0 0 33.33%;max-width:33.33%;}
	.f_four .obj{flex:0 0 25%;-ms-flex:0 0 25%;max-width:25%;}
	.f_wrap{flex-wrap:wrap;-webkit-flex-wrap:wrap;-moz-flex-wrap:wrap;}
	.f_center{-webkit-box-pack:center;-moz-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}
	.f_middle{-webkit-box-align:center;-moz-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center;}
	.f_end{-webkit-box-align:end;-moz-box-align:end;-ms-flex-align:end;-webkit-align-items:end;align-items:end;}
	.f_between{-webkit-box-pack:justify;-moz-box-pack:justify;-ms-flex-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;}
	.f_reverse{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;}

	h1{font-size:2.500em;}/* 40px */
	h2{font-size:2.188em;}/* 35px */
	h3{font-size:1.875em;}/* 30px */
	h4{font-size:1.500em;}/* 24px */
	h5{font-size:1.250em;}/* 20px */
	h6{font-size:1.125em;}/* 18px */
	p{font-size:1em;}/* 16px */
	h1,h2,h3,h4,h5,h6,p{font-weight:normal;line-height:1.5;word-break:keep-all;}
	.en{font-family:'Montserrat', sans-serif;}
	.strong{font-weight:600;}

	@media screen and (max-width:980px){
		body, input, select, textarea{font-size:11pt;}
	}

	@media screen and (max-width:767px){
		body, input, select, textarea{font-size:10.5pt;}
	}

   	@media screen and (max-width:480px){
		html, body{min-width:320px;}
		body, input, select, textarea{font-size:10pt;}
	} 

	@media only screen and (min-width:320px){
		body{overflow-x:hidden;}
	}


/* Parallax
---------------------------------------------------------------------------------------------------------------------------------------------------------- */
	.parallax{background-position:0 0; background-repeat:no-repeat; background-size:100% auto; width:100%; background-size:cover; background-attachment:fixed;}


/* Preloader
---------------------------------------------------------------------------------------------------------------------------------------------------------- */
	.animationload{position: fixed; top:0; left:0; right:0; bottom:0; background-color:#fff; z-index:999999;}
	.loader {width:200px; height:200px; font-size: 24px; text-align: center; position:absolute; left:50%; top:50%; background-image:url(/images/basic_resp/img/preloader.gif); background-repeat:no-repeat; background-position:center; margin:-100px 0 0 -100px;}


/* Back to top (탑 버튼)
---------------------------------------------------------------------------------------------------------------------------------------------------------- */
	.back-to-top{width:80px;height:80px;position:fixed;bottom:60px;right:20px;display:none;text-align:center;z-index:10000;-webkit-border-radius:50%;-moz-border-radius:50%; border-radius:50%;background:#161616 url('/images/kor06r-22-0459/common/go_top.png') no-repeat center center;}
    
    @media only screen and (max-width: 980px) {
		.back-to-top {width: 60px; height: 60px;}
        .back-to-top i {line-height: 58px; font-size: 20px;}
	}

    @media only screen and (max-width: 768px) {
		.back-to-top {width: 40px; height: 40px;}
        .back-to-top i {line-height: 40px; font-size: 15px;}
	}

/* Layoyt (레이아웃)
---------------------------------------------------------------------------------------------------------------------------------------------------------- */
	#wrapper{position:relative;width:100%;min-width:320px;height:100%;}
	.cont_inner{width:1280px;margin:0 auto;}
	.inner{width:1280px !important;}
	.cont_inner:after,.inner:after{content:'';display:block;clear:both;}

	@media screen and (max-width:1280px){
	    .cont_inner,.inner{width:100% !important;padding:0 30px !important;}
	}

	@media screen and (max-width:980px){
	    .cont_inner,.inner{padding:0 20px !important;}
	}

	@media screen and (max-width:767px){
	    .cont_inner,.inner{padding:0 15px !important;}
	}


/* Header
---------------------------------------------------------------------------------------------------------------------------------------------------------- */
    #header{width:100%;height:100px;position:fixed;top:0px;left:0px;right:0px;z-index:100;background-color:transparent;border-bottom:1px solid rgba(255,255,255,0.3);}
    #header #header_in{position:relative;height:100px;}
    #header_in .top_logo{z-index:300;}
	#header_in .top_logo .common{display:block;}
	#header_in .top_logo .active{display:none;width:127px;height:57px;background:url('/images/kor06r-22-0459/common/top_logo_on.png') no-repeat top center;}

#L_SITE_LOGO h1 a{height: 57px;
    display: flex;
    align-items: center;}

    .nav-btn{display:none;}
	.nav-bg{z-index:10;display:none;position:absolute;top:100px;left:-500%;width:1000%;height:150px;background:rgba(255,255,255,0.98);}

    .util-menu{z-index:300;}
    .util-menu ul{display:block;}
    .util-menu li{display:table;float:left;height:50px;border:1px solid rgba(255,255,255,0.1);border-radius:5px;text-align:center;margin-left:10px;}
    .util-menu li:first-child{border-color:rgba(255,255,255,0.33);margin-left:0;}
    .util-menu li a{display:table-cell;vertical-align:middle;font-weight:400;color:#fff;padding:0 20px;}

    #header #nav{margin-right:auto;margin-left:auto;}
    .navigation{z-index:200;}
    .navigation:after{content:""; display:block;clear:both;}
    .navigation > li{position:relative;text-align:center;height:100px;display:table;}
    .navigation > li > a.main-menu{display:table-cell;vertical-align:middle;padding:0 30px;width:100%;font-weight:500;font-size:1.250em;color:#fff;}
	.navigation .sub-menu {display: none; z-index: 998; position: absolute; top: 100%; left: 0; width: 100%; height: auto;  padding: 20px 0; transform: none; }
	#header:hover .sub-menu {display: block !important;}
    #header:hover .nav-bg {display: block !important; }
    .navigation .sub-menu a{padding:5px 0;display:block;text-align:center;font-weight:normal;color:#7c7c7c;font-size:1.125em;}
    .navigation .sub-menu .intro-menu{display:none;}
	#header:hover .navigation > li > a.main-menu {color: #333 !important;}
	.navigation > li > a.main-menu:hover {color: #6db9ec !important;}

    #header.on{background:rgba(255,255,255,0.98);border-bottom:1px solid rgba(0,0,0,0.1);z-index:500;}
    #header.on .navigation > li > a.main-menu{color:#333;}
	#header.on .navigation > li > a.main-menu:hover,
	.navigation .sub-menu a:hover{color:#6db9ec;}
    #header.on .top_logo .common{display:none;}
	#header.on .top_logo .active{display:block;}
	#header.on .util-menu li{border:1px solid rgba(0,0,0,0.33);}
	#header.on .util-menu li a{color:#555;}
	#header:hover {background: rgba(255,255,255,0.98) !important; border-bottom: 1px solid rgba(0,0,0,0.1) !important; z-index: 500;}
	#header:hover .navigation > li > a.main-menu { color: #333 !important; }
	#header:hover .top_logo .common { display: none !important; }
	#header:hover .top_logo .active { display: block !important; }
	#header:hover .util-menu li { border: 1px solid rgba(0,0,0,0.33) !important; }
	#header:hover .util-menu li a { color: #555 !important; }
	#header:hover .nav-btn span {background:#000 !important;}
	#header.on .nav-btn span {background:#000 !important;}




	@media only screen and (max-width:1280px) {	}

	@media only screen and (max-width:980px) {

	    #header_in .top_logo{margin-right:auto;}
		.nav-btn{width:40px;height:30px;margin-left:20px;z-index:999;display:block;position:relative;cursor:pointer;}
		.nav-btn span{position:absolute;left:50%;display:block;margin-left:-20px;width:40px;height:3px;background:#fff;transition:.2s all linear;}
		.nav-btn span:nth-child(1){top:0;}
		.nav-btn span:nth-child(2){top:14px;}
		.nav-btn span:nth-child(3){top:27px;}	
		.nav-btn.nav-close{}
		.nav-btn.nav-close span{background:#000;}
		.nav-btn.nav-close span:nth-child(1){top:50%;transform:rotate(45deg);}
		.nav-btn.nav-close span:nth-child(2){margin-left:0;width:0;}
		.nav-btn.nav-close span:nth-child(3){top:50%;transform:rotate(-45deg);}

		.util-menu li{height:40px;}
		.util-menu li a{padding:0 15px;}
		.nav-bg{z-index:777;display:none;position:fixed;top:0;width:100%;height:100%;background:rgba(0,0,0,0.7);}
		#nav{z-index:888;position:fixed;top:100px;right:-100%;display:block;width:100%;height:calc(100vh - 100px);overflow-y:auto;-webkit-overflow-scrolling:touch;background:#fff;transition:right .25s ease;}
		#nav.on{right:0;}
		#nav ul.navigation{margin:0 20px;padding-bottom:140px;}
        .navigation > li{width:100%;text-align:left;border-top:1px solid #e1e1e1;height:auto;display:inline-block;}
		.navigation > li:first-child{border-top:none;}
	    .navigation > li > a.main-menu {padding:20px 30px;}
 		#header.on .navigation > li > a.main-menu {font-size:1.500em; line-height:1.4; color:#333; display:inline-block; width:100%;}
 	    #header.on .navigation > li > a.main-menu:after {content:''; position:absolute; top:50%; right:20px; transform:translateY(-50%) rotate(45deg); border:solid rgba(0,0,0,0.48); border-width:0 2px 2px 0; display:inline-block; padding:7px; }
 	    #header.on .navigation > li.active > a.main-menu:after {transform:translateY(-50%) rotate(-135deg);}
        
        .navigation > li:hover .sub-menu{background:inherit;}
        .navigation .sub-menu{display:none;padding-top:0;position:relative;top:0;height:inherit;background:#f7f7f7 !important;} 
        .navigation .sub-menu li{border-top:1px solid #eee;}
		.navigation .sub-menu a{font-size:1.250em;color:#777;display:block;padding:15px 30px;text-align:left;}
	    #header.on .navigation > li > a.main-menu:hover,
	    .navigation .sub-menu a:hover{color:#6db9ec;}
        #header:hover .sub-menu,
        #header:hover .nav-bg,
        body.sub #header:hover .sub-menu,
        body.sub #header:hover .nav-bg,
        body.sub .navigation > li:hover .sub-menu,
        .navigation > li:hover .sub-menu {
            display: none !important;
        }

        #header:hover .navigation > li > a.main-menu,
        #header.on .navigation > li > a.main-menu:hover,
        body.sub #header.on .navigation > li > a.main-menu:hover,
        body.sub .navigation .sub-menu a:hover,
        .navigation .sub-menu a:hover {
            color: inherit !important;
        }

	}

	@media only screen and (max-width:768px){
	}


/* Button (공통 버튼)
---------------------------------------------------------------------------------------------------------------------------------------------------------- */
	.btn{text-transform:uppercase; border-radius:0; line-height:24px;}
	.btn:focus, .btn:active{outline:none; color:#fff;}

	.btn-custom{border-radius:3px; padding:0.8em 1.8em; -webkit-transition:all .2s ease-out; -moz-transition:all .2s ease-out; transition:all .2s ease-out; text-transform:uppercase; background-color:#509591; border-color: #509591; color:#fff;}
	.btn-custom:hover, .btn-custom:focus{background-color:#447774; border-color:#447774; color:#fff;}

	.btn-custom-outline{border-radius:3px; padding:0.8em 1.8em; color:#fff; -webkit-transition:all .2s ease-out; transition:all .2s ease-out; text-transform:uppercase; background-color:transparent; border-color:#fff;}
	.btn-custom-outline:hover, .btn-custom-outline:focus{color:#fff; background-color:rgba(255,255,255,.5);}
	.btn-bar a{margin-right:10px;}

	.form-control{box-shadow:none; -webkit-box-shadow:none; border-radius:3px; height:38px;}
	.form-control:focus{outline:none; box-shadow:none; -webkit-box-shadow:none; border-color: #509591;}


	@media only screen and (max-width: 980px) {

	}


/* Footer (하단메시지)
---------------------------------------------------------------------------------------------------------------------------------------------------------- */
	#footer{position:relative;padding:50px 0 70px 0;background:#161616;}
	.footer_area{}
	.footer_area .footer_menu{}
	.footer_area .footer_menu li{position:relative;padding:0 15px;}
	.footer_area .footer_menu li:before{content:'';position:absolute;top:7px;left:0px;width:0px;height:10px;background:rgba(255,255,255,0.7);}
	.footer_area .footer_menu li:first-child{padding-left:0px;}
	.footer_area .footer_menu li:first-child:before{content:none;}
	.footer_area .footer_menu li a{color:#fff;font-size:1em;}
	.footer_area .footer_info{margin-top:30px;}
	.footer_area .footer_info p{font-size:0.938em;color:#8b8b8b;}
	.footer_area .footer_info .footer_copy{margin-top:30px;font-size:0.875em;color:#777;}
	.footer_area .family_site{padding-bottom:10px;border-bottom:1px solid #bfbfbf;}
	.footer_area .family_site h6{color:#dadada;}
	.footer_area .family_site span{width:13px;height:8px;display:inline-block;margin-left:100px;background:url('/images/kor06r-22-0459/common/footer_up.png') no-repeat top right;}
	.footer_area .footer_sns{margin-top:30px;-webkit-box-pack:end;-moz-box-pack:end;-ms-flex-pack:end;-webkit-justify-content:end;justify-content:end;}
	.footer_area .footer_sns li{padding-left:20px;}

	@media screen and (max-width:980px){
	    .footer_area .fooer_cont .obj{flex:0 0 100%;-ms-flex:0 0 100%;max-width:100%;}
		.footer_area .footer_info{margin-top:20px;margin-bottom:20px;}
	    .footer_area .family_site{position:relative;width:100%;}
		.footer_area .family_site span{position:absolute;right:5px;}
		.footer_area .footer_sns{margin-top:20px;-webkit-box-pack:center;-moz-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}
	}

	@media (max-width: 767px) {
        .footer_area .footer_menu li:before { display: none; }
        .footer_area .footer_menu li { padding: 0 5px; }
        .footer_area .footer_info p {white-space: normal;word-break: keep-all; text-align: left; line-height: 1.5; }
}


	

/* Main Visual (메인이미지)
---------------------------------------------------------------------------------------------------------------------------------------------------------- */

    .main_visual{position:relative;}
    .main_visual .item.slick-slide:before{position:absolute;
    content:"";
    width:100%;
    height:100%;
    background:#0006;
    left:0;top:0;
    z-index:-1;
    }
	.main_visual .visual_slide{width:100%;height:930px;}
	.main_visual .visual_slide .item{background-repeat:no-repeat;background-position:top center;background-size:cover;}
	.visual_slide .item.main-img01{background-image:url("/images/kor06r-22-0459/main/main_visual_01.jpg");}
	.visual_slide .item.main-img02{background-image:url("/images/kor06r-22-0459/main/main_visual_02.jpg");}
    .visual_slide .item.main-img03{background-image:url("/images/kor06r-22-0459/main/main_visual_03.jpg");}

	.main_visual .vis_cont{height:930px;text-shadow:none;color:#fff;display:table;}
	.main_visual .vis_cont .slogan{text-align:left;display:table-cell;vertical-align:middle;}
	.main_visual .vis_cont .slogan span{font-size: 33px;/*28px;*/ display:block; margin-bottom:12px; /*30px;*/ font-family:'Montserrat', sans-serif; font-weight:300;}

	.main_visual .vis_cont .slogan p.main-copy{
		font-size: 59px;
        line-height: 1.2;
        color: #ebebeb;
        font-weight: 300;
        word-break: keep-all;
        letter-spacing: -3px;
		margin:0 0 22px 0; /*22px 0;*/
        text-shadow: 1px 1px 4px #000;
}

	.main_visual .vis_cont .slogan p.main-copy strong{color: #fff;}

	.visual_slide .slick-dots{position:absolute;bottom:30px;left:50%;margin-left:-640px;display:-webkit-inline-box;display:-moz-inline-box;display:-ms-inline-flexbox;display:-webkit-inline-flex;display:inline-flex;}
	.visual_slide .slick-dots li button{width:50px;height:3px;font-size:13px;font-weight:bold;color:#fff;background:#ddd;outline:none;border:none;}
	.visual_slide .slick-dots li.slick-active button{background:#000;}

	.main_visual .scroll_down{text-align:center;position:absolute;left:50%;bottom:20px;margin-left:-30px;}
	.main_visual .scroll_down img{display:block;margin:0 auto;}
	.main_visual .scroll_down span{font-size:12px;text-align:center;color:rgba(255,255,255,0.7);font-family:'Montserrat', sans-serif;font-weight:300;}
	
	.vis_progress{position:absolute;left:50%;bottom:25%;width:1280px;height:20px;transform:translate(-50%, 0);text-align:left;}
	.vis_progress div{padding:0 5px;display:flex;align-items:center;cursor:pointer;color:#fff;}
	.vis_progress div h6{}
	.vis_progress div span.progressBar{display:block;width:85px;margin-left:5px;height:4px;background-color:rgba(255,255,255,0.33);}
	.vis_progress div span.progressBar .inProgress{display:block;width:0%;height:4px;background-color:rgba(255,255,255,1);}

	@keyframes slickAni{
	  from {transform:scale(1.3) translate(0px);}
	  to {transform:scale(1.0) translate(0px);}
	}
	@-webkit-keyframes slickAni {
	  from {transform:scale(1.3) translate(0px);}
	  to {transform:scale(1.0) translate(0px);}
	}

	@media screen and (max-width:1280px){
		.vis_progress{left:20px;bottom:25%;width:auto;transform:none;}
		.vis_progress div span.progressBar{width:80px;}
	}

	@media screen and (max-width:980px){
		.main_visual .visual_slide,.main_visual .vis_cont{height:800px;}
		.main_visual .vis_cont{top:40%;left:auto;right:auto;bottom:auto;padding:unset;}
		.main_visual .vis_cont .slogan span{font-size:20px;margin-bottom:20px;}
		.main_visual .vis_cont .slogan p.main-copy{font-size:50px;}
	}

	@media screen and (max-width:767px){
		.main_visual .visual_slide,.main_visual .vis_cont{height:600px;}
		.main_visual .visual_slide .item{background-position:55% center;}
		.visual_slide .item.main-img02{background-position:75% center;}
		.main_visual .vis_cont{top:40%;}
		.main_visual .vis_cont .slogan span{font-size:18px;margin-bottom:15px;}
		.main_visual .vis_cont .slogan p.main-copy{line-height: 1.5;    font-size: 33px;}
	}

	@media screen and (max-width:480px){
		.main_visual .vis_cont .slogan span{font-size:16px;margin-bottom:10px;}
		.main_visual .vis_cont .slogan p.main-copy{font-size:30px;}
	}



/* Main Contents (메인 컨텐츠)
---------------------------------------------------------------------------------------------------------------------------------------------------------- */

    .container{width:100%;position:relative;}	
	.container.main{margin:0;padding:0;}
    #mainContainer{z-index:555;}
	.container .section{padding:120px 0;position:relative;}
	.container .section:after{content:'';clear:both;display:block;box-sizing:border-box;}
	.container .section h1{font-weight:700;line-height:1.2;color:#292929;}
	.s_pc{display:block !important;}
	.s_mo{display:none !important;}

	.arrow_button{position:relative;display:-webkit-inline-box;display:-moz-inline-box;display:-ms-inline-flexbox;display:-webkit-inline-flex;display:inline-flex;-webkit-box-align:center;-moz-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center;}
	.arrow_button span{font-size:1.5em;color:#444;font-weight:700;white-space:nowrap;font-family:'Montserrat', sans-serif;}
	.arrow_button em{margin-left:15px;display:inline-block;background-repeat:no-repeat;background-position:center center;background-size:auto;}
	.arrow_button.vertical span{text-transform:uppercase;writing-mode:vertical-rl;-webkit-writing-mode:vertical-rl;-ms-writing-mode:tb-rl;transform:rotate(180deg);-webkit-transform:rotate(180deg);}
	.arrow_button.vertical span:before{content:'';position:absolute;top:-100px;left:50%;margin-left:-20px;width:40px;height:40px;border-radius:50%;background:#bae3ff;}
	.arrow_button.vertical span:after{content:'';position:absolute;top:-80px;left:50%;margin-left:-1px;width:2px;height:60px;background:#333;}
	.arrow_button.single em{width:34px;height:7px;background-image:url('/images/kor06r-22-0459/main/single_arrow.png');}
	.arrow_button.small em{width:17px;height:6px;background-image:url('/images/kor06r-22-0459/common/button_arrow.png');}
	.arrow_button.white em{width:22px;height:8px;background-image:url('/images/kor06r-22-0459/main/list_arrow_more.png');}
	.arrow_button.long em{width:25px;height:12px;background-image:url('/images/kor06r-22-0459/main/arrow_long.png');}
	.arrow_button.small{padding:7px 20px;border:1px solid #d2d2d2;}
	.arrow_button.small span{font-size:1em;font-weight:500;}
	.arrow_button.small:hover{border:1px solid #777;}.arrow_button.small:hover span{color:#000;}

    /* ds main */
    .ds-main-container{
        width:100%;
        font-family:'NanumSquare', 'NotoSansKR', sans-serif;
        color:#333;
    }

    .ds-section{
        padding:80px 0;
    }

    .ds-story-section{
        background:#fff;
    }

    .ds-story-inner{
        max-width:1200px;
        margin:0 auto;
        padding:0 20px;
        display:flex;
        flex-wrap:wrap;
        gap:40px;
        align-items:flex-start;
    }

    .ds-story-copy,
    .ds-story-visual{
        flex:1 1 420px;
        min-width:0;
        position:relative;
    }

    .ds-section-head{
        text-align:center;
        margin-bottom:40px;
        padding:0 20px;
    }

    .ds-section-title{
        font-size:34px;
        font-weight:800;
        line-height:1.25;
        color:#111;
    }

    .ds-section-desc{
        margin-top:15px;
        font-size:17px;
        line-height:1.7;
        color:#444;
        font-weight:700;
        word-break:keep-all;
    }

    .ds-section-kicker{
        margin-top:10px;
        font-size:14px;
        color:#1dc6df;
        font-weight:800;
        text-transform:uppercase;
        letter-spacing:2px;
    }

    .ds-section-divider{
        width:40px;
        height:2px;
        background:#1dc6df;
        margin:20px auto 0;
    }

    .ds-feature-card{
        margin-top:30px;
        text-align:center;
    }

    .ds-feature-card img{
        width:100%;
        display:block;
        border-radius:15px;
        box-shadow:0 10px 30px rgba(0,0,0,0.1);
    }

    .ds-feature-card figcaption{
        margin-top:10px;
        color:#888;
        font-weight:800;
    }

    .ds-story-link-wrap{
        display:flex;
        justify-content:flex-end;
        margin-bottom:20px;
    }

    .ds-outline-btn{
        display:inline-block;
        padding:10px 25px;
        border:2px solid #083452;
        border-radius:30px;
        color:#083452;
        font-weight:800;
        font-size:13px;
    }

    .ds-outline-btn:hover{
        background:#083452;
        color:#fff;
    }

    .safety-box{
        position:absolute;
        right:-10px;
        bottom:30px;
        width:250px;
        background:rgba(255,255,255,0.92);
        backdrop-filter:blur(8px);
        border-radius:15px;
        border:1px solid rgba(255,127,0,0.4);
        box-shadow:0 15px 35px rgba(0,0,0,0.1);
        z-index:20;
        animation:floating 3s infinite ease-in-out;
        overflow:hidden;
    }

    @keyframes floating{
        0%, 100%{transform:translateY(0);}
        50%{transform:translateY(-10px);}
    }

    .safety-bar{
        background:rgba(255,127,0,0.85);
        color:#fff;
        text-align:center;
        padding:8px 0;
        font-weight:900;
        font-size:13px;
    }

    .safety-con{
        padding:20px 15px;
        text-align:center;
    }

    .safety-tit{
        font-size:18px;
        font-weight:800;
        margin-bottom:15px;
    }

    .safety-grid{
        display:flex;
        justify-content:center;
        align-items:baseline;
        gap:8px;
    }

    .s-item{
        display:flex;
        align-items:baseline;
        gap:2px;
    }

    .s-val{
        font-size:30px;
        font-weight:900;
        line-height:1;
    }

    .s-val.blue{color:#083452;}
    .s-val.orange{color:#ff7f00;}

    .s-unit{
        font-size:14px;
        font-weight:700;
        color:#555;
    }

    .s-line{
        width:1px;
        height:30px;
        background:#ddd;
        margin:0 10px;
        align-self:center;
    }

    .safety-date{
        font-size:11px;
        color:#aaa;
        margin-top:15px;
        border-top:1px dashed #eee;
        padding-top:10px;
    }

    .ds-business-section{
        background:#fcfcfc;
        text-align:center;
    }

    .biz-grid{
        display:flex;
        gap:20px;
        max-width:1200px;
        margin:0 auto;
        padding:0 20px;
    }

    .biz-card{
        flex:1 1 0;
        min-height:350px;
        border-radius:15px;
        overflow:hidden;
        position:relative;
        display:block;
    }

    .biz-img{
        width:100%;
        height:100%;
        min-height:350px;
        background-size:cover;
        background-position:center;
        transition:transform 0.6s ease;
    }

    .biz-img-build{
        background-image:url('/images/kor06r-22-0459/main/main_visual_01.jpg');
    }

    .biz-img-civil{
        background-image:url('/images/kor06r-22-0459/main/main_visual_02.jpg');
    }

    .biz-card:hover .biz-img{
        transform:scale(1.08);
    }

    .biz-txt{
        position:absolute;
        inset:0;
        background:rgba(0,0,0,0.35);
        display:flex;
        flex-direction:column;
        align-items:center;
        justify-content:center;
        color:#fff;
        padding:20px;
    }

    .biz-txt h2{
        font-size:32px;
        font-weight:800;
        color:#fff !important;
        margin:0;
    }

    .biz-txt p{
        font-size:15px;
        margin-top:10px;
        font-weight:600;
        opacity:0.9;
    }

    .ds-main-cta{
        padding:0;
    }

    .ds-cta-grid{
        overflow:hidden;
        border-radius:18px;
        box-shadow:0 10px 30px rgba(0,0,0,0.08);
    }

    .ds-cta-block{
        padding:70px 20px;
        text-align:center;
    }

    .ds-cta-block h2{
        font-size:32px;
        font-weight:800;
        margin-bottom:15px;
    }

    .ds-cta-block p{
        font-size:18px;
        margin-bottom:35px;
        word-break:keep-all;
    }

    .ds-cta-estimate{
        background:#083452;
        color:#fff;
    }

    .ds-cta-estimate p{
        color:rgba(255,255,255,0.8);
    }

    .ds-cta-recruit{
        background:#f4f7f9;
        color:#083452;
        border-top:1px solid #e1e8ed;
    }

    .ds-cta-recruit p{
        color:#083452;
    }

    /* 메인 포트폴리오 출력 보정 */
    .section.main_portfolio .slick-dots{
        display:none !important;
    }

    #ds-slider-track ul,
    #ds-slider-track .portfolio_slide{
        display:flex !important;
        flex-wrap:nowrap !important;
        padding:0 !important;
        margin:0 !important;
        list-style:none !important;
        width:max-content !important;
        transition:transform 0.5s ease;
    }

    #ds-slider-track li,
    #ds-slider-track li.cont{
        flex:0 0 280px !important;
        width:280px !important;
        margin-right:20px !important;
        background:#fff !important;
        border-radius:15px !important;
        border:1px solid #eee !important;
        box-shadow:0 5px 15px rgba(0,0,0,0.05);
        display:flex !important;
        flex-direction:column !important;
        min-height:380px !important;
        overflow:hidden !important;
        float:none !important;
    }

    #ds-slider-track img{
        width:100% !important;
        height:190px !important;
        object-fit:cover !important;
    }

    #ds-slider-track h5{
        font-size:16px !important;
        font-weight:800 !important;
        padding:20px 15px !important;
        line-height:1.5 !important;
        color:#333 !important;
        white-space:normal !important;
        flex-grow:1;
    }

    .main-cta-btn{
        display:inline-block;
        padding:16px 55px;
        border-radius:50px;
        text-decoration:none;
        font-weight:700;
        transition:transform 0.3s ease, box-shadow 0.3s ease;
    }

    .main-cta-btn.white{
        background:#fff !important;
        color:#083452 !important;
        box-shadow:0 5px 15px rgba(0,0,0,0.2);
    }

    .main-cta-btn.navy{
        background:#2c3e50 !important;
        color:#fff !important;
    }

    .main-cta-btn:hover{
        transform:translateY(-3px);
    }

    @media screen and (max-width:980px){
        .ds-section{
            padding:70px 0;
        }

        .ds-section-title{
            font-size:30px;
        }

        .ds-cta-block{
            padding:60px 20px;
        }

        .ds-cta-block h2{
            font-size:28px;
        }
    }

    @media screen and (max-width:767px){
        .ds-section{
            padding:55px 0;
        }

        .ds-story-inner{
            gap:30px;
            padding:0 15px;
        }

        .ds-section-head,
        .biz-grid{
            padding-left:15px;
            padding-right:15px;
        }

        .ds-section-title{
            font-size:28px;
        }

        .ds-section-desc{
            font-size:16px;
        }

        .biz-grid{
            flex-direction:column;
        }

        .biz-card,
        .biz-img{
            min-height:260px;
        }

        .biz-txt h2{
            font-size:26px;
        }

        .safety-box{
            position:relative;
            right:auto;
            bottom:auto;
            width:100%;
            margin-top:20px;
            animation:none;
        }

        .ds-cta-block{
            padding:50px 15px;
        }

        .ds-cta-block h2{
            font-size:26px;
        }

        .ds-cta-block p{
            font-size:16px;
            margin-bottom:28px;
        }

        .main-cta-btn{
            width:100%;
            max-width:260px;
            padding:14px 30px;
        }
    }

    /* main_story */
	.section.main_story{width:100%;background-image:url('/images/kor06r-22-0459/main/section01_bg.png');background-repeat:no-repeat;background-position:top right;background-size:auto;}
	.main_story h1{margin-bottom:30px;}
	.main_story .left_cont .image{display:block;margin-top:100px;}
	.main_story .ff_object > .obj:first-child{flex:0 0 40%;-ms-flex:0 0 40%;max-width:40%;}
	.main_story .ff_object > .obj:last-child{flex:0 0 60%;-ms-flex:0 0 60%;max-width:60%;}

	.main_story h6{
	margin-top: 10px;
	color: #333; /*#583b00;*/
    font-size: 1.4em;
	font-weight: 600; /*500;*/
	margin-left:10px
}

	.main_story .right_cont .arrow_button{padding-bottom:130px;}

	/* business areas */
	.section.main_business{padding:0 0 50px 0;}
	.section.main_business h1{white-space:nowrap;padding-right:70px;}
	.main_business .arrow_button{margin-top:30px;}
	.main_business .arrow_button span{font-size:1.5em;}

	/* main banner */
/* 메인 배너 기본 설정 */
.main_banner .ff_cont { display: flex; flex-wrap: wrap; width: 100%; padding: 0; margin: 0; }
.main_banner .obj { flex: 1; min-width: 25%; overflow: hidden; height: 500px; position: relative; } /* PC 높이 500px */

.main_banner .obj a {
    display: flex; align-items: center; justify-content: center;
    width: 100%; height: 100%; 
    background-repeat: no-repeat; background-position: center center; background-size: cover;
    text-decoration: none; transition: transform 0.5s ease;
}

/* 마우스 호버 시 사진 확대 효과 */
.main_banner .obj:hover a { transform: scale(1.1); }

/* 사진 위에 어두운 막을 입혀 글자 가독성 확보 (2025 트렌드) */
.main_banner .obj a::before {
    content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(0, 0, 0, 0.2); transition: background 0.3s; z-index: 1;
}
.main_banner .obj:hover a::before { background: rgba(0, 0, 0, 0.4); }

/* 사진 경로 설정 */
.main_banner .obj:nth-child(1) a { background-image: url('/images/kor06r-22-0459/main/section02_image01.jpg'); }
.main_banner .obj:nth-child(2) a { background-image: url('/images/kor06r-22-0459/main/section02_image02.jpg'); }
.main_banner .obj:nth-child(3) a { background-image: url('/images/kor06r-22-0459/main/section02_image03.jpg'); }
.main_banner .obj:nth-child(4) a { background-image: url('/images/kor06r-22-0459/main/section02_image04.jpg'); }

/* 배너 텍스트 스타일 */
.main_banner .obj span {
    font-size: 1.8em; color: #fff; font-weight: 700; text-align: center;
    z-index: 10; text-shadow: 2px 2px 10px rgba(0, 0, 0, 0.8);
    word-break: keep-all; line-height: 1.3;
}
.main_banner .obj small {
    display: block; font-size: 0.55em; font-weight: 400; color: #f0f0f0;
    margin-top: 10px; letter-spacing: -0.5px;
}

/* 메인 포트폴리오 previous/next 버튼 제거 */
.section.main_portfolio .prev,
.section.main_portfolio .next,
.section.main_portfolio .slick-prev,
.section.main_portfolio .slick-next {
    display: none !important;
}

/* 건축사업+ 게시판 레이아웃 근본 해결 */
.whois-board-list .whois-board-row {
    display: flex !important;
    flex-direction: column !important; /* 이미지 위, 글씨 아래 */
    gap: 20px !important; /* 사진과 글씨 사이 간격 */
    padding: 0 !important;
    margin: 0 !important;
}

/* 이미지 wrapper */
.whois-board-list .whois-board-row .obj {
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    float: none !important; /* float 제거 */
}

/* 이미지 자체 */
.whois-board-list .whois-board-row .obj img {
    width: 100% !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* 모바일 메뉴 하위메뉴 표시 문제 해결 */
@media screen and (max-width:980px){

    /* 기본적으로 숨김 */
    #nav .sub-menu {
        display:none;
    }

    /* JS에서 .active 붙으면 열리도록 허용 */
    #nav li.active > .sub-menu {
        display:block !important;
    }

    /* 모바일에서 메뉴가 세로로 보이도록 */
    #nav .sub-menu li {
        width:100%;
        display:block;
    }
}