@charset "utf-8";
html {font-size:18px;/*scroll-behavior: smooth;*/background:#fff;} 
html::-webkit-scrollbar {
	  width: 10px; /* ½ºÅ©·Ñ¹Ù µÎ²² */
	}

html::-webkit-scrollbar-track {
	  background: #eee; /* ½ºÅ©·Ñ¹Ù ¹è°æ Åõ¸íÇÏ°Ô */
	}

html::-webkit-scrollbar-thumb {
	  background: rgba(0, 0, 0, 0.2); /* ½ºÅ©·Ñ¹Ù ¸·´ë »ö»ó */
	  border-radius: 5px; /* ½ºÅ©·Ñ¹Ù ¸·´ëµµ µÕ±Û°Ô */
	}
body {background:#000;}
.fs80 {color: #fff; font-size: 4.4444rem; font-weight: 100; line-height: 125%; letter-spacing: -2.4px;}
.fs70 {color: #fff; font-size: 3.8888rem; font-weight: 200; line-height: 113.333%;}
.fs60 {color: #fff; font-size:3.333rem; font-weight: 700; line-height: 110%; letter-spacing: -2.5px;  text-wrap: balance;}
.fs50 {color: #fff; font-size: 2.777rem; font-weight: 700; line-height: 130%; letter-spacing: -2.5px;}
.fs40 {color: #fff; font-size:2.222rem; font-weight: 700; line-height: 135%; letter-spacing: -2.2px; text-wrap: balance;}
.fs30 {color: #fff; font-size: 1.6666rem; font-weight: 400; line-height: 140%; letter-spacing: -1.2px;}
.fs24 {color: #fff; font-size: 1.333rem; font-weight: 600; line-height: 141.667%; letter-spacing: -0.96px;}
.fs22 {color: #fff; font-size: 1.222rem; font-weight: 700; line-height: 145%; letter-spacing: -0.7px}
.fs20 {color: #fff; font-size: 1.111rem; font-weight: 400; line-height: 170%; letter-spacing: -0.5px}
.fs18 {color: #fff; font-size: 1rem; letter-spacing: -0.2px;}
.fs16 {font-size:0.888rem; line-height:1.625}
.letter-0 {letter-spacing:0;}
.d_width {position:relative;max-width: 1700px; width: 90%; margin: 0 auto;}
.ani-item {opacity: 0; will-change: transform, opacity;}
.material-symbols-outlined {font-variation-settings: 'FILL' 0, 'wght' 500, 'GRAD' 0, 'opsz' 48;}
.web_br {display:block;}
.mob_br {display:none;}

@media all and (max-width:1024px) {
.web_br {display:none;}
.mob_br {display:block;}
}

/* intro */
#intro {
  position: fixed;
  top: 0; left: 0;
  width: 100%; 
  height: 100vh;
  background-color: #000;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  transition: opacity 0.6s ease, visibility 0.6s;
}

#intro.fade-out {
  opacity: 0;
  visibility: hidden;
}

#main-content {}

.intro-text-box {
  position: relative;
  width: 100%;
  height: 60px; 
  display: flex;
  justify-content: center;
  align-items: center;
}

.intro-text {
  position: absolute;
  font-size: 4.6rem;
  /*font-family: 'Poppins';*/
  font-weight:600;
  white-space: nowrap;
  opacity: 0;
  transform: translateY(-40px); 
  color:#E5201C;
}

.intro-text01 {
  animation: slideInOut 1.05s ease-in-out 0.2s both;
}
.intro-text02 {
  animation: slideInOut 1.05s ease-in-out 1.3s both;
}
.intro-text03 {
  animation: slideInOut 1.05s ease-in-out 2.35s both;
}
.intro-text04 {
   animation-fill-mode: both; 
  background: linear-gradient(135deg, #E5201C 0%, #F18422 80%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: slideInKeep 1.05s ease-in-out 3.4s both;
}


@keyframes slideInOut {
      0% {
        opacity: 0;
        transform: translateY(-40px);
      }
      20%, 80% {
        opacity: 1;
        transform: translateY(0);
      }
      100% {
        opacity: 0;
        transform: translateY(40px);
      }
    }

@keyframes slideInKeep {
      0% {
        opacity: 0;
        transform: translateY(-40px);
      }
      20%, 100% {
        opacity: 1;
        transform: translateY(0);
      }
}

@media all and (max-width:1024px){
.intro-text {font-size: 2rem;white-space: normal;word-break: keep-all;text-align: center;line-height: 1.2;}
}

/* ¸ÞÀÎ ºñÁÖ¾ó :: ½ºÅ©·Ñ¾ÆÀÌÄÜ */
.main-scroll-icon-box {position:absolute; left:50%; bottom:55px; transform:translateX(-50%) translateY(30%); opacity: 0; transition:1.2s; z-index: 10; transition-delay:0s;}
.main-scroll-icon{width: 120px; height: 120px;  text-align:center; z-index:9;  margin-left: 0.5rem; animation:scroll_ani 1.2s infinite linear; }
.main-scroll-icon span{height: 100%;
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;}
.main-wrap.main-active #mainVisual.active .main-scroll-icon-box,
.main-scroll-icon-box.scroll-active{opacity: 1; transform:translateX(-50%) translateY(0); transition-delay:0s;}

@keyframes visual_circle_rotate {
	0% {		
		transform: translate(-50%, -50%) rotate(0deg);
	}	
	100% {
		transform: translate(-50%, -50%) rotate(360deg);
	}
}

@keyframes scroll_ani {
	0% {		
		transform: translate(0, 0%);
	}
	50% {
		transform: translate(0, 12%);
	}
	100% {
		transform: translate(0, 0%);
	}
}

.main-scroll-icon svg {fill:#fff; position:absolute; height: auto; width: 100%; top: 50%; left: 50%; transform: translate(-50%, -50%); animation:visual_circle_rotate 12s infinite linear;}
.main-scroll-icon .inner-circle .material-symbols-outlined {font-size:30px; color: #fff;}


@media all and (max-width:1280px) {
.main-scroll-icon-box {display:none;}
}



#main-content { /*opacity: 0;visibility: hidden;*/transition: opacity 0.8s ease, visibility 0.8s;}
#main-content.visible {opacity: 1; visibility: visible;}
/* header */
.header {position:fixed; left:0; top:0; width:100%; min-width:320px; z-index:999999; transition:background-color 0.4s, color 0.4s, top 0.4s; color:#fff; display:flex; align-items:center;background: linear-gradient(to bottom,rgba(0,0,0,.5) 0%,rgba(0,0,0,.1) 55%,rgba(0,0,0,0) 90%);}
.header.fixed {background-color: #c70000;box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);background-image: none;}
.header .header_in {max-width: 1700px; width: 94%; margin: 0 auto;display:flex; align-items:center; justify-content:space-between; padding:20px 0;}
.header_logo {display:flex;}
.header_logo img {width:260px;}
.header_logo .logo_white {   display: none;}

.header.fixed .logo_default {display: none; }
.header.fixed .logo_white {display: inline-block; }

.header_right {display:flex; align-items:center; gap:0;}

.header_btn {display:inline-flex; align-items:center; gap:5px; padding:8px 15px; background:#e5201c; color:#fff !important; font-weight:600; letter-spacing:-0.8px; text-decoration:none; transition:background-color 0.3s, color 0.3s; border:1px solid transparent; flex-shrink: 0;}
.header.fixed .header_btn {background:#fff; color:#e5201c !important;}

.btn_hamburger{display:none;}
.mobile_gnb{display:none;}

.header_gnb > ul {display:flex; align-items:center; gap:65px; margin-right: 65px;}
.header_gnb > ul > li {display:inline-block;position:relative;}
.header_gnb > ul > li > a {display:inline-block; font-weight:600; letter-spacing:0.32px; color:#fff; transition:opacity 0.3s; position: relative;}
.header_gnb > ul > li:not(.has_sub) > a::after {content: ''; position: absolute; left: 0; bottom: -3px; width: 0; height: 1px; background: currentColor; transition: width 0.3s ease;}
.header_gnb > ul > li:not(.has_sub) > a:hover::after {width: 100%;}
.header_gnb > ul > li:first-child > a {padding-left:0;}
.header_gnb .sub_menu {
    display:block;
	visibility: hidden;
	opacity: 0;
	transition: all 0.2s;
	position: absolute;
    top: calc(100% + 15px);
    left: 50%;
    transform: translateX(-50%);
	text-align: center;
    min-width: 160px;
	padding: 12px 0;
    background-color: #000;
    list-style: none;
    margin: 0;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}
.header_gnb .has_sub:hover .sub_menu {
 visibility: visible; opacity: 1;
}
.header_gnb .sub_menu::before {
    content: '';
    position: absolute;
    top: -25px; /* À§ÂÊ ¿©¹é¸¸Å­ ¿µ¿ª È®Àå */
    left: 0;
    width: 100%;
    height: 25px;
}
.header_gnb .sub_menu li {padding: 1px 0;}
.header_gnb .sub_menu li a {font-size:0.8333rem;letter-spacing: 0.2px;color:#fff;}
.header_gnb .sub_menu li a:hover {color:#e5201c;}




/* main visual */
.visual_video {
   position: absolute;
  top: 0;
  left: 0;
  width:100%;
  height: 100vh;
  overflow: hidden;
}
.visual_video::after {
  content:'';
  position: absolute;
  width: 100%;
  height: 100vh;
  background: rgba(0,0,0,0.2);
  top: 0;
  left: 0;
}

.visual_txt {
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  display: flex; 
  flex-direction: column;
  justify-content: center;
}

.visual_txt .visual_tit {position: relative;width: fit-content;color: #fff;margin-bottom: 25px;}
/*
.visual_txt .visual_tit .year_wrap {
 position: absolute;
  right: 0;
  border-radius: 50%;
  background: #E5201C;
  width: 90px;
  height: 90px;
  top: 0;
  transition-delay: 2400ms;
}
.visual_txt .visual_tit .year_wrap div {
  display: flex;
  flex-direction: column;
  justify-content: center;
  font-weight: 600;
  font-size: 1.333rem;
  line-height: 1.1;
  cursor: default;
  width: fit-content;
  height: 100%;
  margin: 0 auto;
}
.visual_txt .visual_tit .year_wrap div span {font-size:0.888rem;font-weight:400;}
*/
.visual_txt .visual_tit .visual_tit_col {
  display: block; 
  /*font-family: 'Poppins';*/
  font-weight:600;
  letter-spacing: 0.3px;
  line-height: 1;
  color: transparent; 
  background-image: linear-gradient(90deg, rgba(255, 25, 25, 1) 0%, rgba(255, 25, 25, 1) 50%, rgba(255, 25, 25, 0.2) 50%, rgba(255, 25, 25, 0.2) 100%); 
  background-size: 200% 100%; 
  background-position: 100% 0; 
  -webkit-background-clip: text; 
  background-clip: text;
  filter: drop-shadow(0px 0px 10px rgba(0, 0, 0, 0.5));
}

.visual_tit {
  color: #fff;
  font-size: 4.4444rem;
  font-weight: 100;
  line-height: 125%;
  letter-spacing: -2.4px;
}
.visual_desc {
  color: #fff;
  font-size: 1.111rem;
  font-weight: 400;
  line-height: 160%;
  letter-spacing: -0.5px;
}


/* main-content */
html, body { overflow: hidden; /* ºê¶ó¿ìÀú ±âº» ½ºÅ©·Ñ¹Ù °¨Ãã */}
#fullpage-container {width: 100%;height: 100%;}
.section {width: 100vw;height: 100vh;}
.section.long-section {
      height: auto;
      min-height: 100vh;
      padding: 100px 0;
      justify-content: flex-start;
    }
#sec01 {}
#sec02 {background:#fff;padding: 165px 0 0px 0;box-sizing:border-box;}
#sec03 {background:#dfdfdf;padding: 165px 0 0px 0;box-sizing:border-box;}
#sec04 {background:#fff;padding: 155px 0 0px 0;box-sizing:border-box;}
#sec05 {background:#111;padding: 0px 0 0px 0;box-sizing:border-box;}

.section-tit {
  /*font-family: 'Poppins';*/
  font-weight:500;
  line-height: 1;
  margin-bottom: 25px;
  color:#000;
  font-size: 4.4rem;
  letter-spacing: -1px;
}
.section-tit2 {
  font-weight:300;
  line-height: 1.1;
  color:#000;
  font-size: 3rem;
  letter-spacing: -1px;
}
.section-tit2 span {font-weight:bold;}
.section-txt {color:#000;line-height: 1.6;font-weight: 500;}


/* sec02 business */
#business {overflow: hidden;}

.horiz-gallery-wrapper {
  display: flex;
  flex-direction: column; 
  gap: 30px; 
  padding: 50px 0 100px 0;
}

.horiz-gallery-strip {
  display: flex;
  gap: 20px;
  width: 125%; 
}
.horiz-gallery-strip > div img {width:100%;}
.horiz-gallery-strip.strip-right > div {display: flex;align-items: end;}
.horiz-gallery-strip.strip-right > div:nth-child(1) {width: 25vw;}
.horiz-gallery-strip.strip-right > div:nth-child(2) {width: 30vw;}
.horiz-gallery-strip.strip-right > div:nth-child(3) {width: 40vw;}
.horiz-gallery-strip.strip-right > div:nth-child(4) {width: 25vw;}
.horiz-gallery-strip.strip-right > div:nth-child(5) {width: 35vw;}
.horiz-gallery-strip.strip-left > div {display: flex; align-items: baseline;}
.horiz-gallery-strip.strip-left > div:nth-child(1) {width: 25vw;}
.horiz-gallery-strip.strip-left > div:nth-child(2) {width: 40vw;}
.horiz-gallery-strip.strip-left > div:nth-child(3) {width: 30vw;}
.horiz-gallery-strip.strip-left > div:nth-child(4) {width: 25vw;}
.horiz-gallery-strip.strip-left > div:nth-child(5) {width: 35vw;}


/* sec03 portfolio */
#portfolio {position: relative; z-index: 50; overflow: visible; display: flex;margin-top:50px;}
#portfolio .json_append_container {width: 100%;/*min-height: 80vh;*/  overflow: visible;}
.portfolio_view__contents img {box-shadow: 0 0 15px rgba(0,0,0,0.05);}
.portfolio_view__banner {border: 1px solid #f1f1f1;}
.card_list {display: flex; justify-content: flex-start; flex-wrap: wrap; min-width: 320px; overflow: visible; width: 100%;}
.card_list > li {position:relative;}
.card_list__item > a {position: relative; animation: 1s cubic-bezier(.85,.14,.29,.99) 0s 1 forwards cardItemInit; display: block; will-change: transform; -webkit-will-change: transform; -moz-will-change: transform;}
.card_list__item.already > a {animation-name: none;}
.card_list__item.current > a {animation-name: cardItemCurrent; animation-duration: 0.5s; animation-delay: 0.5s; z-index: 10; position: relative; transform: scale(1.15);box-shadow: 0 0 20px rgba(0,0,0,0.5);}
.card_list__item.open > a {animation-name: cardItemOpen; animation-duration: 0.3s; transform: scale(1); z-index: 15; position: relative;}
@keyframes cardItemInit {
    0% {transform: scale(0.8); border-radius: 20px; opacity: 0;}
    100% {transform: scale(1); border-radius: 0px; opacity: 1;}
}
@keyframes cardItemCurrent {
    0% {transform: scale(1.15); box-shadow: 0 0 20px rgba(0,0,0,0.5);}
    100% {transform: scale(1.0); box-shadow: 0 0 0 rgba(0,0,0,0.5);}
}
@keyframes cardItemOpen {
    0% {transform: scale(1.0); box-shadow: 0 0 0 rgba(0,0,0,0.5);}
    100% {transform: scale(1.15); box-shadow: 0 0 20px rgba(0,0,0,0.5);}
}
.card_list__item a {display: block;}
.card_list__item a .inner {position: relative; width: 100%; height: 0; padding-bottom: 100%;background-size: cover;}
.card_list__item a .inner::before {content:'';position: absolute;width: 100%; height: 100%; background: rgba(0,0,0,.3);}
.card_list__item a .show {position: absolute; top: 0; left: 0; width: 100%; height: 100%;justify-content: end; padding: 30px 40px;box-sizing:border-box; color: #fff; display: flex; flex-direction: column; transition: opacity 0.3s, transform 0.3s;}
.card_list__item a .show .sbj {display: flex; flex-direction: column; line-height: 1.4;transition: opacity 0.3s, transform 0.3s;}
.card_list__item a .show .sbj span {font-size: 1rem; color: #e9e9e9;text-shadow: 0 0 10px rgba(0,0,0,.3);}
.card_list__item a .show .sbj strong {font-size: 1.4rem;line-height: 1.3;word-break: keep-all;font-weight: 600;text-shadow: 0 0 10px rgba(0,0,0,.3);}
.card_list__item a .show .more {display: flex; align-items: center; margin-top: auto;}
.card_list__item a .show .more .txt {font-size: 18px; font-weight: 400; margin-right: 10px;}
.card_list__item a .show .more .ico {position: relative;top: 2px; display: flex; align-items: center;}
.card_list__item a .cover {position: absolute; top: 0; left: 0; align-items: center; justify-content: center;width: 100%; height: 100%; padding: 30px;box-sizing:border-box; background: rgba(0,0,0,0.7); color: #fff; display: flex; flex-direction: column; opacity: 0; transform: scale(0.9); transition: opacity 0.3s, transform 0.3s;}
.card_list__item a .cover .sbj {max-width: 85%;display: flex; flex-direction: column; text-align:left;line-height: 1.4; opacity: 0; transform: translateX(50px); transition: opacity 0.3s, transform 0.3s;}
.card_list__item a .cover .sbj span {font-size: 1rem;text-shadow: 0 0 10px rgba(0,0,0,.3);}
.card_list__item a .cover .sbj strong {font-size: 1.5rem;word-break: keep-all;font-weight: 600;text-shadow: 0 0 12px rgba(0,0,0,.45);}
.card_list__item a .cover .more {display: flex; align-items: center; margin-top: 30px;}
.card_list__item a .cover .more .txt {font-size: 18px; font-weight: 400; margin-right: 50px;}
.card_list__item a .cover .more .ico {position: relative;top: 2px; display: flex; align-items: center;}
.card_list__item a .cover .more .ico::before {content: '';position: absolute;width: 50px;height:1px;background: #fff;right:10px;top:calc(50% - 2px);}
.card_list__item a:hover .show {opacity:0;}
.card_list__item a:hover .cover {opacity: 1; transform: scale(1); border-radius: 0px;}
.card_list__item a:hover .cover .sbj {opacity: 1; transform: translateX(0);}

.card_list__item .homepage_btn {opacity:0;position: absolute;top:10px;right:10px;z-index: 1;transition: all .3s;}
.card_list__item .homepage_btn a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  position: relative;
  background: #fff;
  color: #000;
}
.card_list__item .homepage_btn a .material-symbols-outlined {font-size: 20px;}
.card_list__item:hover .homepage_btn {opacity: 1;}
.card_list__item .homepage_btn:hover a {background:#d90000;transition: all .2s;}
.card_list__item .homepage_btn:hover a .material-symbols-outlined {color:#fff;transition: all .2s;}
.card_list__item:has(.homepage_btn:hover) a .show {opacity: 0;}
.card_list__item:has(.homepage_btn:hover) a .cover {opacity: 1; transform: scale(1); border-radius: 0px;}
.card_list__item:has(.homepage_btn:hover) a .cover .sbj {opacity: 1; transform: translateX(0);}

.card_list--col3 .card_list__item {width: calc(100% / 3);}
.card_list--col4 .card_list__item {width: calc(100% / 4);}


/* sec04 clients */
.counter-flex {display:flex;justify-content: space-between; margin-bottom: 70px;align-items: center;}
.counter-wrap {width: calc(100% - 700px);min-width: 760px;}
.counter-wrap ul {display:flex;max-width: 1700px;margin: 0 auto;/*width: 90%;*/justify-content: space-between;}
.counter-wrap ul li {text-align: center;width: 180px;height: 180px;background: #f2f2f2;border-radius: 50%;display: flex;align-items: center;justify-content: center;}
.counter-wrap ul li .tt {font-size:1.1rem; line-height:1.4; color:#999; font-weight:700; margin-bottom:10px;}
.counter-wrap ul li .number {font-size:2.6666rem; line-height:0.6; color:#e5201c;font-weight:700;}
.counter-wrap ul li .number span {font-family: 'Pretendard', sans-serif;}
.counter-wrap ul li .plus {font-size:2.2rem; line-height:0; color:#999; font-weight:500;}
.counter-wrap ul li:first-child .tt {margin-top:-7px;}

.clients-wrap { background: #fff; padding: 20px 0; overflow: hidden; }
.clients-wrap .rolling-wrapper + .rolling-wrapper { margin-top: -15px;}
.clients-wrap .list { display: flex; gap: 0px;}
.clients-wrap .list a { display: block;}
.clients-wrap .rolling-wrapper:nth-child(1) .list { animation: rolling 30s linear infinite; }
.clients-wrap .rolling-wrapper:nth-child(2) .list { animation: rolling 30s linear infinite reverse; }
.clients-wrap .rolling-wrapper:nth-child(3) .list { animation: rolling 30s linear infinite; }
.clients-wrap .list li { flex: 0 0 auto; margin: 0 -5px;}
.clients-wrap .list li img { display: block;/*border: 1px solid #ddd;*/}
@keyframes rolling {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}
.counter-border {width: 100%;height: 1px;background: #dcdcdc;margin-bottom: 65px;}


/* sec05 img type menu */
.img-type { height: 100%;overflow:hidden;}
.img-type ul {display:flex; margin-left:-1px;height: 100%;}
.img-type ul > a {flex:1; padding-left:1px;width: 33.33%;overflow:hedden;}
.img-type ul li .photo {position:relative;overflow:hidden; color:#fff;height: 100%;}
.img-type ul li .pic {position:relative;  overflow:hidden;transform: scale(1.0);transition:.3s;}
.img-type ul > a:hover li .pic {transform: scale(1.15);transition:.3s;}
.img-type ul li .pic img {height:100%;}
.img-type ul li .pic::before {content:'';width: 100%;height: 100%;position: absolute;background-image: linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,0.8) 80%);}
.img-type ul li .text-box {position:absolute;bottom: 20%; left:0; width:100%; text-align:center;display: flex;align-items: center;justify-content: end;height: 100%;flex-direction: column;}
.img-type ul li .tt {font-size:1rem; line-height:1.3; font-weight:500; margin-bottom:10px;position: relative;border: 1px solid rgba(255,255,255,.7);border-radius: 30px;padding: 5px 20px;box-sizing: border-box;background: rgba(0,0,0,0.3);}
.img-type ul li .tit {font-size:2.3333rem; line-height:1.4; position: relative;font-weight: 700;}
 
 
/* top-btn */
.to-top-btn{
	position:fixed; 
	bottom:-100px; 
	right:15px; 
	display:block; 
	width:44px; 
	height:44px; 
	background-color:#fff; 
	text-align:center;
	color:#051b2c; 
	z-index:98;
	border:1px solid #ddd;
	opacity:0;filter:Alpha(opacity=0);
	-webkit-transition:all 0.6s;-moz-transition:all 0.6s;-o-transition:all 0.6s;-ms-transition:all 0.6s;transition:all 0.6s
	-webkit-border-radius:50%;-moz-border-radius:50%;-o-border-radius:50%;border-radius:50%;
}
.to-top-btn.fixed{
	bottom:15px; 
	opacity:1.0;
	filter:Alpha(opacity=100);
}
.to-top-btn img {
	display:inline-block;
	position: relative;
	top: 8px;
	width:12px; 
	line-height:46px;
	transition:all 0.3s;
}
.to-top-btn:hover img {transform:translateY(-3px)}



/* footer */
footer {background:#000; color:#fff;padding: 80px 0 100px 0;  height: fit-content !important;}
footer .footer_in {max-width: 1700px; width: 90%; margin: 0 auto;}

.footer_top {display:flex; justify-content:space-between; align-items:flex-start; gap:80px;}
.footer_info_wrap {max-width:1200px; flex:1; display:flex;}
.footer_info_wrap .footer_info {flex:1;}
.footer_info_wrap .footer_info h3 {margin-bottom:10px}
.footer_info_wrap .footer_info:first-child {border-right:1px solid rgba(255,255,255,0.15); padding-right:50px}

.footer_info_dl {display: flex; gap:2px 15px; align-items: center; flex-wrap: wrap;}
.footer_info_dl:has(.icon_dl) {gap:2px 20px;}

.footer_info_dl + .footer_info_dl {margin-top: 5px;}
.footer_info_dl dl:not(.no_flex) {display: flex; align-items:flex-start}
.footer_info_dl dl.no_flex dt,
.footer_info_dl dl.no_flex dd {display: inline-block;}

.footer_info_dl dl.no_flex dt:after {content:' :';}

.footer_info_dl dl.icon_dl {gap: 5px;}
.footer_info_dl dl.icon_dl dt {display: flex;}
.footer_info_dl dl.icon_dl dt .material-symbols-outlined {font-size: 16px; line-height: 1.8; display:flex}
.footer_info_dl .foot_dl_company {font-weight: 600; color: #fff; opacity: 1 !important;}
.footer_info_dl dt,
.footer_info_dl dd {opacity: 0.7;}

.footer_info_dl.addr_info dl {gap:5px;}
.footer_info_dl.addr_info dl + dl {margin-top:3px}
.footer_info_dl.addr_info dt {color:#fff; opacity:1;}

.footer_copyright {margin:12px 0 0; font-size:14px; line-height:1.4; letter-spacing:0.14px; color:#fff; opacity: 0.5;}


.footer_util {display:flex; align-items:center; gap:40px; flex-shrink:0;}
.footer_util_link {display:inline-flex; align-items:center; gap:6px; color:#fff !important; font-weight: 600; text-decoration:none; transition:opacity 0.3s; position: relative;}
.footer_util_link::after {content: ''; position: absolute; left: 0; bottom: 0; width: 0; height: 1px; background: #fff; transition: width 0.3s ease;}
.footer_util_link:hover::after {width: 100%;}


@media screen and (max-width: 1700px) {
.d_width {width:94%;}
}

@media screen and (max-width: 1280px) {
html {font-size: 15px;}
html, body { overflow: inherit;overflow-x: hidden; }
.ani-item {opacity:1;}
.section {height:auto;}
.section.long-section {min-height: inherit;}

.visual_video {height: 80vh;}
.visual_video video {width:100%;height:100%;object-fit: cover;  object-position: center center;}
.visual_txt {height: 80vh;}

.card_list__item a .show { padding: 25px 20px;}

.counter-flex {margin-bottom: 60px;flex-direction: column;justify-content: center;align-items: baseline;gap: 20px;}

.img-type ul li .photo {height: 600px;} 

.to-top-btn img {top: 10px;}
}

@media all and (max-width:1024px){

.header .header_in {width: 94%;}
.header_logo img {width: 200px;}
.header_gnb, .header_btn {display:none;}

/* ¸ð¹ÙÀÏ ÇÜ¹ö°Å & ¸ð¹ÙÀÏ ³×ºñ°ÔÀÌ¼Ç */
.btn_hamburger{display:inline-block; border:0;background:transparent;position:relative;cursor:pointer;margin-left:12px; padding:0;}
.hamburger_line{display:block;width:22px;height:2px;background:#fff;margin:6px 0;transition:transform .25s ease,opacity .25s ease}
.btn_hamburger[aria-expanded="true"] .line1{transform:translateY(8px) rotate(45deg)}
.btn_hamburger[aria-expanded="true"] .line2{opacity:0}
.btn_hamburger[aria-expanded="true"] .line3{transform:translateY(-8px) rotate(-45deg)}

.mobile_gnb{position:fixed;top:0;left:0;right:0;bottom:0;width:100%;height:100%;background:#000;z-index:100000;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 20px;box-sizing:border-box;opacity:0;visibility:hidden;transition:opacity .4s ease,visibility .4s ease}
.mobile_gnb ul{width:100%;max-width:520px;text-align:center}
.mobile_gnb ul li + li{margin:18px 0 0}
.mobile_gnb ul li a{display:block;color:#fff;text-decoration:none;font-size:1.4rem;line-height:140%}
.mobile_gnb .cta{display:block;width:100%;padding:16px 0;background:linear-gradient(90deg,#0b66d6 0%,#0a4fc4 100%);color:#fff;text-align:center;border-radius:4px;margin:28px 0;font-size:1.4rem}
.mobile_gnb .mobile_inquiry a{display:block;width: fit-content;margin: 50px auto 0 auto;padding:12px 30px;color:#000;font-size:1.2rem}

.mobile_gnb ul li.has-sub {position:relative;}
.mobile_gnb ul li.has-sub > a::after{position:absolute;top:3px;right:35px;width:23px;height:23px;content:'';background:url('../images/mgnb_arrow.png') no-repeat 0 0;background-size: 23px;}
.mobile_gnb ul li.has-sub.open > a::after{transform:rotate(180deg)}
.mobile_gnb ul li.open::after{background:url('../images/mgnb_arrow-on.png') no-repeat;background-position:center center;}

.mobile_gnb ul li.has-sub ul {display: none;margin-top: 17px;}
.mobile_gnb ul li.has-sub ul li {}
.mobile_gnb ul li.has-sub ul li a {font-size: 1rem;line-height: 0.8;color: #888;}

/* ¸ð¹ÙÀÏ GNB ³»ÀÇ header_btn ½ºÅ¸ÀÏ (Ç® ³Êºñ ¹öÆ°À¸·Î º¯È¯) */
.mobile_gnb .header_btn{display:flex !important;width:100%; justify-content: center;}

/* ¸ð¹ÙÀÏ ¸Þ´º ¿ÀÇÂ ½Ã body ½ºÅ©·Ñ Àá±Ý */
body.mobile_menu_open{overflow:hidden;touch-action:none;}
body.mobile_menu_open .mobile_gnb{opacity:1;visibility:visible}

/* ¸ð¹ÙÀÏ ¸Þ´º ¿ÀÇÂ ½Ã Çì´õ ¾×Æ¼ºê ½ºÅ¸ÀÏ */
.header.active{background:var(--main);}
.header.active .header_right > .header_btn{display:none !important}
.header.active .logo_default {display: inline-block; }
.header.active .logo_white {display: none; }


.visual_video {height: 45vh;}
.visual_video video {width:100%;height:100%;object-fit: cover;  object-position: center center;}
.visual_txt {height: 45vh;}
.visual_txt .visual_tit {font-size: 1.8rem;color: #fff;margin-bottom: 10px;}
.visual_desc {font-size: 1rem;word-break: keep-all;}

#sec02 {padding: 45px 0;}
.section-tit {font-size: 1.8rem;letter-spacing: 0;margin-bottom: 12px;}
.section-txt {word-break: keep-all;line-height: 1.6;}
.horiz-gallery-wrapper {gap: 15px;padding: 20px 0 0 0;}
.horiz-gallery-strip {gap: 10px;}

#sec03 {padding: 45px 0 0 0;}
#portfolio {margin-top: 20px;}
#portfolio .json_append_container {min-height: inherit;}
.card_list {gap: 1px;}

.card_list--col4 .card_list__item {width: calc(100% / 2 - 0.5px);}
#main-content .card_list--col4 .card_list__item:nth-child(n+5) {display:none;}

.card_list__item a .cover {opacity: 1; transform: scale(1); border-radius: 0px;padding: 15px;}
.card_list__item a .cover .sbj {opacity: 1; transform: translateX(0);font-size: 1.2rem;}
.card_list__item .homepage_btn {opacity: 1;top: 7px; right: 7px;}
.card_list__item .homepage_btn a {width: 27px; height: 27px;}
.card_list__item .homepage_btn a .material-symbols-outlined {font-size: 17px;}
.card_list__item a .inner::before {display:none;}
.card_list__item a .show, .card_list__item a .show .sbj {opacity: 0;}
.card_list__item a .cover .sbj span {font-size: 0.8rem;margin-bottom: 5px;}
.card_list__item a .cover .sbj strong {font-size: 1rem;word-break: keep-all;}
.card_list__item a .cover .more {margin-top: 10px;}
.card_list__item a .cover .more .txt {font-size: 15px;}


#sec04 {padding: 45px 0 30px 0;}
.section-tit2 {font-size: 1.8rem;}
.counter-flex {margin-bottom: 30px;}
.counter-wrap {width:100%;}
.counter-wrap ul {gap: 15px;}
.counter-wrap ul li {width: 25%;height: auto;background: none;align-items: baseline;}
.counter-wrap ul li .tt {font-size: 0.95rem;margin-bottom: 5px;}
.counter-wrap ul li:first-child .tt {margin-top: 0px;}
.counter-wrap ul li .number {font-size: 1.8rem;line-height: 1;}
.counter-wrap ul li .plus {font-size: 1.6rem;}

.clients-wrap {padding: 20px 0 0 0px;}
.clients-wrap .list li img { width: 240px;}

.img-type ul li .photo {height: 420px;} 
.img-type ul li .tit {font-size: 2rem;text-shadow: 0 0 5px rgba(0,0,0,0.5);}
}


@media screen and (max-width: 767px) {
.d_width {width:90%;}

.counter-wrap {min-width: auto;}
.counter-border {margin-bottom: 30px;}
.clients-wrap .list { gap: 10px;}
.clients-wrap .list li img { width: 140px;box-sizing: border-box;}
.clients-wrap .rolling-wrapper + .rolling-wrapper {margin-top: 10px;}


.img-type ul {flex-direction:column;}
.img-type ul > a {width:100%;padding:0;}
.img-type ul li .photo {height: 125px;}
.img-type ul li .pic img {width: 100%;height: 100%;object-fit: cover;object-position: center center;}
.img-type ul li .pic::before {background-image: linear-gradient(180deg,rgba(0,0,0,0.3) 0%,rgba(0,0,0,0.3) 80%);}
.img-type ul li .text-box {bottom: 0;justify-content: center;}
.img-type ul li .tt {font-size: 0.8rem;margin-bottom: 5px;padding: 4px 15px;}
.img-type ul li .tit {font-size: 1.5rem;text-shadow: 0 0 5px rgba(0,0,0,0.5);}

footer {padding: 45px 0 60px 0;}
.footer_top {flex-direction: column;margin-bottom: 0;gap: 20px;}
.footer_info_wrap .footer_info:first-child {border:none;border-bottom:1px solid rgba(255,255,255,0.15);padding:0 0 15px 0;}
.footer_info_dl + .footer_info_dl {margin-top: 0px;}
.footer_info_dl:has(.icon_dl) {gap: 0px 20px;}
.footer_copyright {margin: 10px 0 0;font-size: 13px;line-height: 1.5;}
}






/* --------------------------------------------------------------- sub ---------------------------------------------------------------------- */
.sec-visual-wrap {overflow: inherit;/*margin-bottom: 60px;*/}
.sec-visual { padding-top: 180px; }
.sec-visual .heading{color: #e5201c; font-weight: 500;  /*font-family: 'Poppins';*/ font-size: 1.8rem; line-height: 1;padding-bottom: 0px;}
.sec-visual .title{  font-size: 4.2rem;line-height: 1.3; /*font-family: 'Poppins';*/ font-weight: 600; letter-spacing: 0.3px;}
.sec-visual .sub-top{padding-bottom: 80px; }
.sec-visual.ani .sub-top{position: sticky; top: 220px;  }
.sec-visual.ani .sub-top .title-inner.white{position:absolute; left:0; top:0;color: #fff; z-index:-1;}
.sec-visual.ani .sub-top .title-inner.white .heading{color: #fff; }
.sec-visual.ani .top-sv{margin: 0 auto; position: relative;width: auto; min-width: 1700px;overflow: hidden;opacity: 0;animation: fadeInSv 1.3s .3s forwards;z-index: -1; height:100vh;}
.sec-visual.ani .top-sv .sv-inner{width:100%;      overflow: hidden;}
.sec-visual.ani .top-sv .sv-inner .bg{width:100%; height:100%; object-fit:cover; background-size:cover; background-position:center center; background-repeat:no-repeat;}
.sv0101 .bg{background-image:url('../images/sub-visual0101.jpg');}
.sv0102 .bg{background-image:url('../images/sub-visual0102.jpg');}
.sv0103 .bg{background-image:url('../images/sub-visual0103.jpg');}
.sv0104 .bg{background-image:url('../images/sub-visual0104.jpg');}
.sv0105 .bg{background-image:url('../images/sub-visual0105.jpg');}
.sv02 .bg{background-image:url('../images/sub-visual02.jpg');}
.sv0301 .bg{background-image:url('../images/sub-visual0301.jpg');}
.sv0302 .bg{background-image:url('../images/sub-visual0302.jpg');}
.sv0303 .bg{background-image:url('../images/sub-visual0303.jpg');}
.sv0304 .bg{background-image:url('../images/sub-visual0304.jpg');}
.sv0305 .bg{background-image:url('../images/sub-visual0305.jpg');}
.sv0306 .bg{background-image:url('../images/sub-visual0306.jpg');}
.sv04 .bg{background-image:url('../images/sub-visual04.jpg');}
.sv05 .bg{background-image:url('../images/sub-visual05.jpg');}
@keyframes fadeInSv {
    0% {
        opacity: 0;
        transform: translateY(30%)
    }
    to {
        opacity: 1;
        transform: translateY(0)
    }
}
#sub {min-height: 475px;}
#sub-content {line-height: 0;}
#sub-content > * {
    line-height: 1.6; 
}

@media screen and (max-width: 1700px) {
.sec-visual { padding-top: 150px;}
.sec-visual.ani .sub-top {top: 190px;}
.sec-visual.ani .top-sv {min-width: 100%;height: 70vh;}
}

@media screen and (max-width: 767px) {
#sub {min-height: 400px;}
.sec-visual { padding-top: 60px;}
.sec-visual.ani .sub-top {top: 120px;}
.sec-visual .heading {font-size: 1.2rem;}
.sec-visual .title {font-size: 2.1rem;}
.sec-visual.ani .top-sv {height: 30vh;max-width:100% !important;}
.sec-visual.ani .top-sv .sv-inner {height:100% !important;}
}

