@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/pretendard-dynamic-subset.css');

/* @import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@100;200;300;400;500;600;700;800;900&display=swap'); */

/* @import url('https://fonts.googleapis.com/css2?family=Cormorant:ital,wght@0,300..700;1,300..700&display=swap'); */

@import url('https://fonts.googleapis.com/css2?family=Belleza&display=swap');



:root {
  --color-point : rgb(42,121,210);
}
body{
  width: 100%;
  height: auto;
  position: relative;
}
body.sub{
  overflow-x: hidden;
  overflow-y: auto;
}
body *{
  line-height: 1.3;
  word-break: keep-all;
  letter-spacing: -0.04em;
}
.sub-wrap *, .main-wrap *, body *{
  font-family: 'Pretendard', 'sans-serif';
  word-break: keep-all;
}
 
.cmt{
  /* font-family: "Cormorant", serif !important; */
}
.mts{
  /* font-family: 'Montserrat', sans-serif !important; */
}
.blza{
  font-family: "Belleza", sans-serif !important;
}

.inner{
  max-width: 1480px;
  width: 100%;
  margin: 0 auto;
  position: relative;
  padding: 0 20px;
}
img{
  max-width: 100%;
}

/* common */
/* 헤더컬러 */
.gnb_nav .gnb .depth1:hover > .depth1_a {
  /* color: #A9806A; */
}
.gnb_nav .ham_open .bar{background-color: var(--color-point);}
/* .gnb_nav .snb{border-top: 4px solid #A9806A;} */
/* 헤더 > 서브메뉴 border-top 필요 시 활성화 */
.gnb_nav .snb .depth2 a:hover {color: var(--color-point);}
.all_gnb_nav p.depth1_a::after{background-color: var(--color-point);}
.all_gnb_nav .depth2 a:hover {color: var(--color-point);}
.gnb_nav .snb .depth2.on a{
  color: var(--color-point);
}
.all_gnb_nav .depth2.on > a
{
  color: var(--color-point);
}

/* 헤더컬러 */

.header{
  background: transparent;
  transition: all 0.3 ease-in-out;
}
.header *{
  font-family: 'Pretendard', 'sans-serif' !important;
  /* background: #fff; */
}
.header {width: 100%; border-bottom: 1px solid  rgba(217, 217, 217,0.2); position: fixed; top: 0; left: 0; z-index: 99999; transition: 0.3s;}
.header.scr, .header.sub {
  border-bottom: 1px solid  rgba(217, 217, 217,0.2);}
.header .inner {height: 100%; display: flex; justify-content: space-between; align-items: center;
position: relative;
z-index: 99;
}
.header .logo img {display: block; max-width: 232px; position: relative;
/* top: 4px; */
/* 가시사이즈가 중앙이 아닐 때 top 조정 */
}
.gnb_nav {display: flex; align-items: center;}
.gnb_nav .gnb {display: flex; gap: 60px; margin-right: 0px;}
.gnb_nav .gnb .depth1 {font-weight: 600;  position: relative; transition: .3s;}
.gnb_nav .gnb .depth1_a {position: relative;display: block;font-size: 18px;line-height: 100px; position: relative; white-space: nowrap; top : 2px;color: #fff;z-index: 10;}
.gnb_nav .gnb .depth1_a::after{content: '회사소개';position: absolute;top: 50%;left: 50%;width: 102%;height: 98%;text-align: center;transform: translate(-50%, -50%);background-color: #fff;opacity: 0;transition: opacity 0.3s;}
.gnb_nav .gnb > li:nth-child(1) .depth1_a::after{content: '회사소개';}
.gnb_nav .gnb > li:nth-child(2) .depth1_a::after{content: '프로젝트';}
.gnb_nav .gnb > li:nth-child(3) .depth1_a::after{content: '설계영상';}
.gnb_nav .gnb > li:nth-child(4) .depth1_a::after{content: '쇼룸';}
.gnb_nav .gnb > li:nth-child(5) .depth1_a::after{content: '진행과정';}
.gnb_nav .gnb > li:nth-child(6) .depth1_a::after{content: '견적문의';}
.gnb_nav .gnb > li:nth-child(7) .depth1_a::after{content: '연락';}

.gnb_nav .gnb .depth1_a:hover::after{opacity: 1;}
.gnb_nav .gnb .depth1:hover > .depth1_a::after,
.gnb_nav .gnb .depth1.on a::after
{opacity: 1;} 

.inq .gnb_nav .gnb .depth1_a::after{background-color: #191919;}


/* 메뉴 호버타입2 */
.ham_open {width: 28px; height: auto; display: none; flex-direction: column; justify-content: space-between; cursor: pointer;}
.gnb_nav .ham_open .bar {display: block; width: 100%; height: 3px;}
.gnb_nav .snb {width: auto;min-width: 250px;font-size: 18px; text-align: center; line-height: 1.3; box-shadow: 0 3px 5px rgba(0, 0, 0, 0.5); transform: translateX(-50%) scaleY(0); transform-origin: top; transition: .5s; opacity: 0; position: absolute; top: 100%; left: 50%; z-index: 11;background: linear-gradient(180deg,rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0.49) 100%);}
.gnb_nav .snb .depth2{
  backdrop-filter: blur(20px);
}
.gnb_nav .snb .depth2 a {
  position: relative;
  display: block;
  padding: 16px;
  word-break: keep-all;

  font-size: 16px;
  font-weight: 500;
  text-align: center;
  color: #fff;
  transition: color 0.3s;
}
.gnb_nav .snb .depth2:nth-child(n + 2) a{
  border-top: rgba(255, 255, 255, 0.3) solid 1px;
}

.gnb_nav .gnb .depth1 .snb .depth2 a::after{content: '';position: absolute;top: 50%;left: 50%;display: flex;justify-content: center;align-items: center;width: 100%;height: 100%;text-align: center;color: #fff;transform: translate(-50%, -50%);opacity: 0;transition: opacity 0.3s;}
.gnb_nav .gnb > li .snb .depth2:hover a{color: transparent;}
.gnb_nav .gnb > li .snb .depth2:hover a::after{opacity: 1;}
.gnb_nav .gnb > li:nth-child(1) .snb .depth2:nth-child(1) a::after{content: '아이피건축디자인그룹';}
.gnb_nav .gnb > li:nth-child(1) .snb .depth2:nth-child(2) a::after{content: '회사소개';}
.gnb_nav .gnb > li:nth-child(1) .snb .depth2:nth-child(3) a::after{content: '팔로우';}

.gnb_nav .gnb > li:nth-child(2) .snb .depth2:nth-child(1) a::after{content: '주택';}
.gnb_nav .gnb > li:nth-child(2) .snb .depth2:nth-child(2) a::after{content: '상가';}
.gnb_nav .gnb > li:nth-child(2) .snb .depth2:nth-child(3) a::after{content: '아파트';}
.gnb_nav .gnb > li:nth-child(2) .snb .depth2:nth-child(4) a::after{content: '풀빌라&펜션';}
.gnb_nav .gnb > li:nth-child(2) .snb .depth2:nth-child(5) a::after{content: '인테리어';}
.gnb_nav .gnb > li:nth-child(2) .snb .depth2:nth-child(6) a::after{content: '리모델링&리노베이션';}

.gnb_nav .gnb > li:nth-child(7) .snb .depth2:nth-child(1) a::after{content: '인스타그램';}
.gnb_nav .gnb > li:nth-child(7) .snb .depth2:nth-child(2) a::after{content: '유튜브';}
.gnb_nav .gnb > li:nth-child(7) .snb .depth2:nth-child(3) a::after{content: '블로그';}


.header .snb > h2{
  font-size: 18px;
  font-weight: bold;
  letter-spacing: -0.41px;
  text-align: center;
  color: rgb(25, 25, 25);
  margin-bottom: 5px;
}

.header.on .snb {
  /* opacity: 1; transform: translateX(-50%); height: auto; */
}
.header:hover,
.header.scr,
.header.sub{
  background: #fff;
}
.header.inq{
  background: #191919;
}
.header:hover .gnb_nav .gnb .depth1_a,
.header.scr .gnb_nav .gnb .depth1_a,
.header.sub .gnb_nav .gnb .depth1_a
{
  color: #2B2B2B;
}
.header.inq .gnb_nav .gnb .depth1_a
{
  color: #fff;
}
/* 기본적으로 white, normal 숨김 처리 동일 */
.header .logo img.white,
.header:hover .logo img.normal,
.header.scr .logo img.normal,
.header.sub .logo img.normal,
.ham_open img.normal,
.header:hover .ham_open img.white,
.header.scr .ham_open img.white,
.header.sub .ham_open img.white {
  display: none;
}
.header.inq .logo img.normal,
.header.inq .ham_open img.white {
  display: block;
}

/* .on, .scr, .sub 상태에서 white, normal 노출 */
.header:hover .logo img.white,
.header.scr .logo img.white,
.header.sub .logo img.white,
.header:hover .ham_open img.normal,
.header.scr .ham_open img.normal,
.header.sub .ham_open img.normal {
  display: block;
}
.header.inq .logo img.white,
.header.inq .ham_open img.normal {
  display: none;
}

.snb.on {opacity: 1; transform: translateX(-50%) scaleY(1);}
.all_menu_bg {width: 100%; height: 100%; background: rgba(0,0,0,0.5); position: fixed; top: 0; left: 0; z-index: 100; display: none;}
.all_menu_wrap {width: 100%; height: 100%; background-color: #fff; position: fixed; top: 0; right: 0; z-index: 99999; transform: translateY(-100%); opacity: 0; transition: 0.5s;}
.all_menu_wrap .all_menu_top {width: 100%; height: 100px; display: flex; align-items: center; justify-content: center; border-bottom: 1px solid #eee; position: relative;}
.all_menu_wrap .ham_close {width: 100px; height: 100px; padding: 33px; border-right: 1px solid #eee; position: absolute; top: 0; right: 0; cursor: pointer;}
.all_menu_wrap .ham_close img {width: 100%; max-width: 32px;}
.all_gnb_nav {height: calc(100% - 100px); font-size: 2rem; text-align: center;}
.all_gnb_nav .gnb {display: flex; height: 100%; font-size: 1.8rem;}
.all_gnb_nav .depth1 {flex: 1; padding: 10px; padding-top: 8%;}
.all_gnb_nav .depth1 + .depth1 {border-left: 1px solid #eee;}
.all_gnb_nav p.depth1_a {padding-bottom: 35px; font-size: 24px; font-weight: 500; line-height: 1; position: relative;}
.all_gnb_nav p.depth1_a .arr {width: 30px; height: 30px; background: url(/html/img/ham_arr.svg) no-repeat center/cover; display: none;}
.all_gnb_nav p.depth1_a::after {content: ''; display: block; width: 50px; height: 4px;  position: absolute; bottom: 0; left: 50%; transform: translateX(-50%);}
.all_gnb_nav .snb {display: block;}
.all_gnb_nav .depth2:first-child{
  margin-top: 35px;
}
.all_gnb_nav .depth2 {}
.all_gnb_nav .depth2 a {font-weight: 500; word-break: keep-all; font-size: 18px;
display: block;
padding: 10px 0;
}
.all_menu_wrap.on {opacity: 1; transform: translateY(0);}

.all-toggle-wrap{
  position: absolute;
  top: calc(100% + 1px);
  left: 0;
  width: 100%;
  background: #fff;
  display: none;
  overflow: hidden;
  padding: 20px 0;
  height: 170px;
}
.header.on .all-toggle-wrap{
  /* opacity: 1;
  height: auto; */
}
.all-toggle-wrap .n-inner{
  display: flex;
  align-items: flex-start;
  gap: 40px;
  max-width: 1520px;
  width: 100%;
  position: relative;
  margin: 0 auto;
}
.all-toggle-wrap .n-inner > .left-img{
  width: 568px;
  position: relative;
}
.all-toggle-wrap .n-inner > .left-img img{
  padding-left: 100px;
  padding-right: 40px;
  width: 100%;
  display: block;
}
.all-toggle-wrap .n-inner > .left-img::before{
  content: "";
  display: block;
  width: 1px;
  height: 100%;
  background: #D1D1D1;
  position: absolute;
  top: 0;
  right: 0;
}
.header-bg{
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  z-index: 99998;
  background: rgb(0,0,0,0.5);
  display: none;
}
.all_gnb_nav .gnb li .snb{
  padding-top: 35px;
}
.all_gnb_nav .gnb li .snb > h2{
  display: none;
}



/* 언어변경 버튼 */
header .language_btn{font-size: 0;position: relative;}
header .language_btn button {outline: none;border: none;display: block;background-color: transparent;}
header .language_btn button img{max-width: 100%;}
header .language_btn .lang_list{display: none;position: absolute;top: 150%;left: 50%;background-color: #fff;border: rgba(0, 0, 0, 0.05) solid 1px;border-radius: 8px;box-shadow: rgba(0, 0, 0, 0.05) 0 0 25px 0;transform: translateX(-50%);padding: 12px 10px; z-index: 9;}
header .language_btn .lang_list > li:nth-child(n + 2){margin-top: 10px;}
header .language_btn .lang_list > li a{display: block;font-size: 12px;font-weight: 400;color: #1D1D1D;line-height: 2;padding: 0 20px;transition: color 0.3s;white-space: nowrap;}
header .language_btn .lang_list > li a:hover{color: #3561FD;}


.right-btn-area{
  display: none;
  align-items: center;
  gap: 14px;
}

@media screen and (max-width: 1600px){
  .header .snb > h2{
  }
  .gnb_nav .snb{
    padding: 20px 0;
  }

  .all-toggle-wrap{
    padding: 20px 0;
  }
  .all-toggle-wrap .n-inner{
    gap: 20px;
  }
  .all-toggle-wrap .n-inner > .left-img{
    width: 500px;
  }
  .all-toggle-wrap .n-inner > .left-img img{
    padding-left: 80px;
    padding-right: 30px;
  }
}

@media(max-width:1300px){
  .gnb_nav .gnb{
    gap: 30px;
  }
  .gnb_nav .gnb .depth1_a{font-size: 16px;}
}

@media(min-width:1025px){
  .all_gnb_nav .snb{
    display: block !important;
    height: auto !important;
  }
}
@media screen and (max-width: 1024px){
  .all_gnb_nav .gnb li .snb{
    padding-top: 0px;
  }
  .right-btn-area{
    display: flex;
  }
  .ham_open{
    display: flex;
  }
	.header {height: 80px;}
	.header .logo img {width: 150px;}
	.gnb_nav .gnb {display: none;}
	.all_menu_wrap {width: 500px; top: 0; right: 0; transform: translate(100%, 0);}
	.all_menu_wrap.on {transform: translate(0, 0); box-shadow: 0 0 10px rgba(0, 0, 0, .16);}
	.all_menu_wrap .all_menu_top {padding: 0 15px; justify-content: left;}
	.all_gnb_nav .gnb {display: block; text-align: left;}
	.all_gnb_nav .depth1 {width: 100%; padding: 0; border-bottom: 1px solid #eee;}
	.all_gnb_nav .depth1 + .depth1 {border-left: none;}
	.all_gnb_nav p.depth1_a {display: flex; justify-content: space-between; align-items: center; padding: 0 15px; font-size: 18px; line-height: 60px; cursor: pointer;}
	.all_gnb_nav p.depth1_a .arr {display: block; transition: 0.3s;
  width: 25px;
  height: 25px;
  }
	.all_gnb_nav p.depth1_a.on .arr {transform: rotate(-180deg);}
	.all_gnb_nav p.depth1_a::after {display: none;}
	.all_gnb_nav .snb {display: none; font-size: 16px; transition: none;}
	.all_gnb_nav .depth2 {margin-top: 0; padding-left: 15px; line-height: 1.3; border-top: 1px solid #eee; transition: none;}
	.all_gnb_nav .depth2 a {display: block;
  padding-left: 5px;
  }
  .all_gnb_nav .depth2:first-child{
    margin-top: 0;
  }

  .right-btn-area{
    gap: 8px;
  }
  .all_gnb_nav .depth1.on > p,
  .all_gnb_nav .depth1.on > a{
    color: rgb(51, 139, 73);
  }
}
@media screen and (max-width: 768px){

	.ham_open {width: 22px;}
	.all_menu_wrap {width: 95%;}
	.all_menu_wrap .all_menu_top {height: 60px;}
	.all_menu_wrap .ham_close {width: 60px; height: 60px; padding: 20px;}
	.all_gnb_nav {height: calc(100% - 60px);}
	.all_gnb_nav p.depth1_a {line-height: initial;
  padding: 20px 15px;
  font-weight: 500;
  font-size: 17px;
  }
  .all_gnb_nav .depth2 a{
    font-size: 16px;
    font-weight: 400;
  }
	.all_gnb_nav .snb {font-size: 16px;}
  header .language_btn{margin-right: 0px;}
  header .language_btn button {width: 22px;}
  header .language_btn .lang_list > li a{padding: 0 10px;}
}

/* header */

.ctt_admin{
  position: fixed;
  top: 100px;
  right: 15px;
}
#sub_container {
  padding-top: 100px;
}
.sub_visual {
  position: relative;
  height: auto;
  background: url(/html/img/sub_visual01.jpg) no-repeat center/cover;
  }
.subtop-con-wrap{
  width: 100%;
  padding: 120px 0 130px;
}
.sub_visual.sv01 {
  height: 750px;
  background-image: url(/html/img/sub_visual01.jpg);
}
.sub_visual.sv02 {
  background-image: url(/html/img/sub_visual02.jpg);
}
.sub_visual.sv03 {
  background-image: url(/html/img/sub_visual03.jpg);
}
.sub_visual.sv04 {
  background-image: url(/html/img/sub_visual04.jpg);
}
.sub_visual.sv05 {
  background-image: url(/html/img/sub_visual05.jpg);
}
.sub_visual.sv06 {
  background-image: url(/html/img/sub_visual06.jpg);
}
.sub_visual.sv01::after{content: '';position: absolute;top: 0;left: 0;width: 100%;height: 100%;background: linear-gradient(0deg,rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0.42) 51%, rgba(255, 255, 255, 0) 70%);}
.sub_visual .sub_tit {
  font-size: 70px;
  font-weight: 600;
  color: #fff;
  text-align: center;
}
.sub_visual .subtop-txtbox p{
  font-size: 22px;
  font-weight: 500;
  color: #fff;
  text-align: center;
  line-height: 1.7;
  margin-top: 24px;
}
.sub_visual .subtop-txtbox p span{
  font-weight: bold;
}
.sub_nav {
  border-bottom: 1px solid #E5E5E5;
  background-color: #fff;
  position: relative;
  z-index: 100;
}
.sub_nav_ul {
  display: flex;
  width: 100%;
  margin: 0 auto;
  border-left: 1px solid #E5E5E5;
  font-size: 17px;
  font-weight: normal;
  letter-spacing: -0.34px;
  color: rgb(54, 54, 54);
}
.sub_nav_ul > li {
  border-right: 1px solid #E5E5E5;
  position: relative;
}
.sub_nav_ul .home {}
.sub_nav_ul .home a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 70px;
  height: 100%;
  background: #C29C89;
}
.sub_nav_ul .home a img{
  max-width: 40px;
}
.sub_nav_ul .depth1_li,
.sub_nav_ul .depth2_li
{
  width: 240px;
}
.sub_nav_ul .depth_p {
  width: 100%;
  padding: 23px 21px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  cursor: pointer;
}
.sub_nav_ul .depth_p::after {
  content: '';
  display: block;
  width: 20px;
  height: 20px;
  background: url(/html/img/icon_drop.png) no-repeat center; position: absolute;
  top: 50%;
  right: 21px;
  transform: translateY(-50%);
  transition: .3s;
}
.sub_nav_ul .depth_p.on::after {
  transform: translateY(-50%) rotate(-180deg);
}
.sub_nav_ul .drop_menu {
  display: none;
  width: calc(100% + 2px);
  background-color: #fff;
  border: 1px solid #ccc;
  position: absolute;
  top: 100%;
  left: -1px;
}
.sub_nav_ul .drop_menu li {
  line-height: 1.3;
}
.sub_nav_ul .drop_menu li + li {
  border-top: 1px solid #ebebeb;
}
.sub_nav_ul .drop_menu li a {
  display: block;
  padding: 10px 15px;
  word-break: keep-all;
  transition: .2s;
}
.sub_nav_ul .drop_menu li:hover a {
  background-color: #f7f7f7;
}


@media(max-width:1024px){
  #sub_container {
    padding-top: 80px;
  }
  .sub_visual.sv01 {
    height: 360px;
    }  
  .subtop-con-wrap{
    padding: 60px 0;
  }
  .sub_visual .sub_tit {
    font-size: 36px;
  }
  .sub_visual .subtop-txtbox p{
    font-size: 16px;
    margin-top: 16px;
  }
  .sub_nav_ul {
    font-size: 16px;
  }
  .sub_nav_ul .home{
    display: none;
  }
  .sub_nav_ul .home.nostr{
    display: flex;
  }
  .sub_nav_ul .home a{
    width: 50px;
  }
  .sub_nav_ul .depth1_li,
  .sub_nav_ul .depth2_li
  {
    width: 50%;
  }
  .sub_nav_ul .depth_p {
    padding: 15px 10px;
  }
  .sub_nav_ul .depth_p::after {
    width: 16px;
    height: 16px;
    right: 10px;
  }
}
@media(max-width:768px){
  .sub_visual.sv01 {
    height: 320px;
    }
  .sub_visual .subtop-txtbox p br{
    display: none;
  }

}

/* subtop */

.search-popup-wrap{
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background: #fff;
  z-index: 99999999999999999999999999999;
  display: none;
}
.header-bg2{
  z-index: 99999999999999999999999999999;
}
.search-popup-wrap .search-pop-box{
  max-width: 800px;
  width: 100%;
  padding: 84px 20px;
  margin: 0 auto;
  position: relative;
  z-index: 99;
}
.search-popup-wrap .search-pop-box .search-frm-box{
  position: relative;
  width: 100%;
  padding: 15px 18px;
  padding-right: 80px;
  padding-left: 52px;
  border-radius: 999px;
  border: solid 3px rgb(119, 177, 70);
  background-color: rgb(255, 255, 255);
}
.search-pop-ipt{
  width: 100%;
  outline: none;
  border: none;
  font-size: 24px;
  font-weight: normal;
  letter-spacing: -0.55px;
  color: rgb(25,25,25);
}
.search-pop-ipt::placeholder{
  color: rgb(126, 126, 126);
}
.search-popup-wrap .search-pop-box .search-frm-box button{
  width: 50px;
  height: 50px;
  cursor: pointer;
  border: none;
  outline: none;
  background: none;
  position: absolute;
  top: 50%;
  right: 18px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
}
.search-popup-closebtn{
  display: block;
  cursor: pointer;
  width: 160px;
  text-align: center;
  margin: 0 auto;
  margin-top: 40px;
  border: 1px solid #ccc;
  border-radius: 8px;
  font-size: 18px;
  font-weight: 500;
  padding: 5px 10px;
  transition: all 0.3s ease-in-out;
}
.search-popup-closebtn:hover{
  background: #000;
  color: #fff;
  border-color: #000;
}
/* .search-popup-wrap .bg{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.5);
  display: none;
} */

@media(max-width:1024px){

  .search-popup-wrap{
    height: 100vh;
    background: transparent;
  }
  .search-popup-wrap .search-pop-box{
    padding: 40px 20px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    -webkit-transform: translate(-50%,-50%);
    background: #fff;
    width: 95%;
  }
  .search-popup-wrap .search-pop-box .search-frm-box{
    padding: 10px 15px;
    padding-right: 55px;
    padding-left: 15px;
    border: solid 2px rgb(119, 177, 70);
  }
  .search-pop-ipt{
    font-size: 16px;
  }
  .search-popup-wrap .search-pop-box .search-frm-box button{
    width: 36px;
    height: 36px;
    right: 15px;
  }
  .search-popup-closebtn{
    margin-top: 30px;
    font-size: 16px;
  }
}

/* search-popup */


.main-banner,
.main-sec,
.sub-wrap,
.sub-sec{
  position: relative;
  width: 100%;
  overflow-x: hidden;
}
.main-wrap{
  width: 100%;
  position: relative;
}



/* 팝업 */

.popup-wrap{
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  z-index: 999999999;
  display: none;
}
.popup-wrap .bg{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0,0.7);
}
.popup-wrap .popup-box{
  max-width: 600px;
  width: 100%;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  -webkit-transform: translate(-50%,-50%);
  border-radius: 20px;
  overflow: hidden;
  background: #fff;
  z-index: 2;
  padding: 24px;
}
.popup-wrap .popup-box .close-x{
  position: absolute;
  top: 24px;
  right: 24px;
  width: 32px;
  height: 32px;
  cursor: pointer;
}
.popup-wrap .popup-box .titbox{
  margin-bottom: 24px;
  padding-right: 32px;
}
.popup-wrap .popup-box .titbox h3{
  font-size: 22px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: -0.44px;
  color: rgb(24, 29, 39);
  margin-bottom: 20px;
}
.popup-wrap .popup-box .titbox p{
  font-size: 16px;
  font-weight: normal;
  color: rgb(83, 88, 98);
}
.popup-wrap .popup-box .titbox .prv-txt-box{
  max-height: 50vh;
  overflow-y: auto;
}
.popup-wrap .popup-box .titbox .prv-txt-box::-webkit-scrollbar {
  width: 4px;
  background-color: rgb(209, 209, 209);
}
.popup-wrap .popup-box .titbox .prv-txt-box::-webkit-scrollbar-thumb {
  background-color: rgb(125, 125, 125);
}


@media(max-width:1024px){
  .popup-wrap .popup-box{
    max-width: 600px;
    width: calc(100% - 30px);
    border-radius: 16px;
    padding: 20px 15px;
  }
  .popup-wrap .popup-box .close-x{
    top: 20px;
    right: 15px;
    width: 28px;
    height: 28px;
  }
  .popup-wrap .popup-box .titbox{
    margin-bottom: 16px;
    padding-right: 28px;
  }
  .popup-wrap .popup-box .titbox h3{
    font-size: 18px;
    margin-bottom: 5px;
  }
  .popup-wrap .popup-box .titbox p{
    font-size: 14px;
  }
}


/* 로딩프레임 */

.loading-wrap{
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: rgba(0, 0, 0, .7);
    z-index: 9999999;
}

@keyframes rotate-loading {
    0%  {transform: rotate(0deg);-ms-transform: rotate(0deg); -webkit-transform: rotate(0deg); -o-transform: rotate(0deg); -moz-transform: rotate(0deg);}
    100% {transform: rotate(360deg);-ms-transform: rotate(360deg); -webkit-transform: rotate(360deg); -o-transform: rotate(360deg); -moz-transform: rotate(360deg);}
}

@-moz-keyframes rotate-loading {
    0%  {transform: rotate(0deg);-ms-transform: rotate(0deg); -webkit-transform: rotate(0deg); -o-transform: rotate(0deg); -moz-transform: rotate(0deg);}
    100% {transform: rotate(360deg);-ms-transform: rotate(360deg); -webkit-transform: rotate(360deg); -o-transform: rotate(360deg); -moz-transform: rotate(360deg);}
}

@-webkit-keyframes rotate-loading {
    0%  {transform: rotate(0deg);-ms-transform: rotate(0deg); -webkit-transform: rotate(0deg); -o-transform: rotate(0deg); -moz-transform: rotate(0deg);}
    100% {transform: rotate(360deg);-ms-transform: rotate(360deg); -webkit-transform: rotate(360deg); -o-transform: rotate(360deg); -moz-transform: rotate(360deg);}
}

@-o-keyframes rotate-loading {
    0%  {transform: rotate(0deg);-ms-transform: rotate(0deg); -webkit-transform: rotate(0deg); -o-transform: rotate(0deg); -moz-transform: rotate(0deg);}
    100% {transform: rotate(360deg);-ms-transform: rotate(360deg); -webkit-transform: rotate(360deg); -o-transform: rotate(360deg); -moz-transform: rotate(360deg);}
}

@keyframes rotate-loading {
    0%  {transform: rotate(0deg);-ms-transform: rotate(0deg); -webkit-transform: rotate(0deg); -o-transform: rotate(0deg); -moz-transform: rotate(0deg);}
    100% {transform: rotate(360deg);-ms-transform: rotate(360deg); -webkit-transform: rotate(360deg); -o-transform: rotate(360deg); -moz-transform: rotate(360deg);}
}

@-moz-keyframes rotate-loading {
    0%  {transform: rotate(0deg);-ms-transform: rotate(0deg); -webkit-transform: rotate(0deg); -o-transform: rotate(0deg); -moz-transform: rotate(0deg);}
    100% {transform: rotate(360deg);-ms-transform: rotate(360deg); -webkit-transform: rotate(360deg); -o-transform: rotate(360deg); -moz-transform: rotate(360deg);}
}

@-webkit-keyframes rotate-loading {
    0%  {transform: rotate(0deg);-ms-transform: rotate(0deg); -webkit-transform: rotate(0deg); -o-transform: rotate(0deg); -moz-transform: rotate(0deg);}
    100% {transform: rotate(360deg);-ms-transform: rotate(360deg); -webkit-transform: rotate(360deg); -o-transform: rotate(360deg); -moz-transform: rotate(360deg);}
}

@-o-keyframes rotate-loading {
    0%  {transform: rotate(0deg);-ms-transform: rotate(0deg); -webkit-transform: rotate(0deg); -o-transform: rotate(0deg); -moz-transform: rotate(0deg);}
    100% {transform: rotate(360deg);-ms-transform: rotate(360deg); -webkit-transform: rotate(360deg); -o-transform: rotate(360deg); -moz-transform: rotate(360deg);}
}

@keyframes loading-text-opacity {
    0%  {opacity: 0}
    20% {opacity: 0}
    50% {opacity: 1}
    100%{opacity: 0}
}

@-moz-keyframes loading-text-opacity {
    0%  {opacity: 0}
    20% {opacity: 0}
    50% {opacity: 1}
    100%{opacity: 0}
}

@-webkit-keyframes loading-text-opacity {
    0%  {opacity: 0}
    20% {opacity: 0}
    50% {opacity: 1}
    100%{opacity: 0}
}

@-o-keyframes loading-text-opacity {
    0%  {opacity: 0}
    20% {opacity: 0}
    50% {opacity: 1}
    100%{opacity: 0}
}
.loading-container,
.loading {
    height: 100px;
    position: relative;
    width: 100px;
    border-radius: 100%;
}


.loading-container {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    -webkit-transform: translate(-50%,-50%);
}

.loading {
    border: 2px solid transparent;
    border-color: transparent #fff transparent #FFF;
    -moz-animation: rotate-loading 1.5s linear 0s infinite normal;
    -moz-transform-origin: 50% 50%;
    -o-animation: rotate-loading 1.5s linear 0s infinite normal;
    -o-transform-origin: 50% 50%;
    -webkit-animation: rotate-loading 1.5s linear 0s infinite normal;
    -webkit-transform-origin: 50% 50%;
    animation: rotate-loading 1.5s linear 0s infinite normal;
    transform-origin: 50% 50%;
}

.loading-container:hover .loading {
    border-color: transparent #E45635 transparent #E45635;
}
.loading-container:hover .loading,
.loading-container .loading {
    -webkit-transition: all 0.5s ease-in-out;
    -moz-transition: all 0.5s ease-in-out;
    -ms-transition: all 0.5s ease-in-out;
    -o-transition: all 0.5s ease-in-out;
    transition: all 0.5s ease-in-out;
}

#loading-text {
    -moz-animation: loading-text-opacity 2s linear 0s infinite normal;
    -o-animation: loading-text-opacity 2s linear 0s infinite normal;
    -webkit-animation: loading-text-opacity 2s linear 0s infinite normal;
    animation: loading-text-opacity 2s linear 0s infinite normal;
    color: #ffffff;
    font-family: "Helvetica Neue, "Helvetica", ""arial";
    font-size: 10px;
    font-weight: bold;
    margin-top: 45px;
    opacity: 0;
    position: absolute;
    text-align: center;
    text-transform: uppercase;
    top: 0;
    width: 100px;
}

/* 퀵버튼 */

/* Fixed button */
.fixed_btns{display: flex;flex-direction: column;gap: 8px;position: fixed;bottom: 5%;right: 30px;z-index: 999;width: 68px;}
.fixed_btns .fixed_button{position: relative;border-radius: 41.1%;box-shadow: 0 0 20px rgb(0, 0, 0, 0.08);}
.fixed_btns .fixed_button > img{width: 68px;}
.fixed_btns .fixed_button .fixed_hover{position: absolute;top: 0;right: 0;width: 0;height: 100%;transition: width 0.3s;overflow: hidden;}
.fixed_btns .fixed_button .fixed_hover img{position: absolute;top: 0;right: 0;height: 100%;}
.fixed_btns .fixed_button .call_hover img{min-width: 205px;}
.fixed_btns .fixed_button:hover .call_hover{width: 205px;}
.fixed_btns .fixed_button .kakao_hover img{min-width: 168px;}
.fixed_btns .fixed_button:hover .kakao_hover{width: 168px;}

.fixed_btns .fixed_button:hover .fixed_hover2{
  width: 205px;
}
.fixed_btns .fixed_button:hover .fixed_hover3{
  width: 205px;
}
.fixed_btns .fixed_button .fixed_hover2 img,
.fixed_btns .fixed_button .fixed_hover3 img
{min-width: 205px;}

@media screen and (max-width: 1024px) {
  .fixed_btns{gap: 8px;bottom: 3%;right: 12px;width: 60px;}
  .fixed_btns .fixed_button .call_hover img,
  .fixed_btns .fixed_button .fixed_hover2 img,
  .fixed_btns .fixed_button .fixed_hover3 img
  {min-width: 182px;}
  .fixed_btns .fixed_button:hover .call_hover{width: 182px;}
  .fixed_btns .fixed_button .kakao_hover img{min-width: 148px;}
  .fixed_btns .fixed_button:hover .kakao_hover{width: 148px;}

}
@media screen and (max-width: 768px) {
  .fixed_btns{gap: 8px;bottom: 3%;right: 8px;width: 45px;}
  .fixed_btns .fixed_button .call_hover img,
  .fixed_btns .fixed_button .fixed_hover2 img,
  .fixed_btns .fixed_button .fixed_hover3 img
  {min-width: 136px;}
  .fixed_btns .fixed_button:hover .call_hover{width: 136px;}
  .fixed_btns .fixed_button .kakao_hover img{min-width: 112px;}
  .fixed_btns .fixed_button:hover .kakao_hover{width: 112px;}

}

/*  */

.main-banner{
  width: 100%;
  position: relative;
  background: url(../img/main-visual01.jpg) no-repeat center / cover;
}
.main-banner-swiper{
  height: 100vh;
  min-height: 600px;
  max-height: 937px;
}
.main-banner-swiper .swiper-slide01 {
  background: url(../img/main-visual01.jpg) no-repeat center / cover;
}
.main-banner-swiper .swiper-slide02 {
  background: url(../img/main-visual02.jpg) no-repeat center / cover;
}
.main-banner-swiper .swiper-slide03 {
  background: url(../img/main-visual03.jpg) no-repeat center / cover;
}
.main-banner-swiper .swiper-slide04 {
  background: url(../img/main-visual04.jpg) no-repeat center / cover;
}
.main-banner-swiper .swiper-slide05 {
  background: url(../img/main-visual05.jpg) no-repeat center / cover;
}
.main-banner-swiper .swiper-slide06 {
  background: url(../img/main-visual06.jpg) no-repeat center / cover;
}
.main-banner-swiper .swiper-slide07 {
  background: url(../img/main-visual07.jpg) no-repeat center / cover;
}
.main-banner-swiper .swiper-slide08 {
  background: url(../img/main-visual08.jpg) no-repeat center / cover;
}
.main-banner-swiper .swiper-slide09 {
  background: url(../img/main-visual09.jpg) no-repeat center / cover;
}
.main-banner-swiper .swiper-slide10 {
  background: url(../img/main-visual10.jpg) no-repeat center / cover;
}
.main-banner .bottom-con-wrap{
  position: absolute;
  bottom: 0px;
  left: 0;
  padding: 100px 0 60px;
  background: url(../img/main-visual-bg.png) no-repeat bottom center / cover;
  width: 100%;
  z-index: 2;
}
.main-banner .bottom-con-wrap .inner{
  max-width: 2560px;
}
.main-banner .bottom-con-wrap .con-line{
  display: flex;
  justify-content: space-between;
  gap: 30px;
  align-items: flex-end;
}
.main-banner .bottom-con-wrap .con-line > .left{
  width: calc(100% - 700px);
}
.main-banner .bottom-con-wrap .con-line > .right{
  width: 670px;
}
.main-banner .bottom-con-wrap .con-line > .left .txt{
  font-size: 14px;
  font-weight: normal;
  letter-spacing: -0.28px;
  color: rgb(255, 255, 255);
  text-align: right;
  padding-bottom: 10px;
}
.main-banner .bottom-con-wrap .con-line > .left .txt p{
  opacity: 0.7;
}
.main-banner .bottom-con-wrap .con-line > .left .mv_ctrl{
  display: flex;
  gap: 10px;
  justify-content: right;
  text-align: right;
  padding-bottom: 20px;
}
.main-banner .bottom-con-wrap .con-line > .left .mv_ctrl button{background-color: transparent;border: unset;transition: filter 0.3s;}
.main-banner .bottom-con-wrap .con-line > .left .mv_ctrl button:hover{filter: brightness(1) invert(1);}
.main-banner .bottom-con-wrap .con-line > .left .bar{
  width: 100%;
  height: 1px;
  background: rgb(217, 217, 217);
}
.main-banner .bottom-con-wrap .con-line > .right h2{
  font-size: 36px;
  font-weight: 300;
  line-height: 1.42;
  color: rgb(255, 255, 255);
}
.main-banner .bottom-con-wrap .con-line > .right h2 b{
  font-weight: bold;
}

/* ===== Animation initial states ===== */
/* 1) bar: width 0 -> 100% (1s) */
.main-wrap .main-banner .bottom-con-wrap .con-line > .left .bar{
  width: 0;
  transition: width 2s ease;
  will-change: width; 
}

/* 2) left .txt: fade-up (0.5s delay, 0.6s duration) */
.main-wrap .main-banner .bottom-con-wrap .con-line > .left .mv_ctrl, 
.main-wrap .main-banner .bottom-con-wrap .con-line > .left .txt{
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 1s ease, transform .6s ease;
  will-change: opacity, transform;
}

/* 3) right h2: fade-up (1s delay, 0.6s duration) */
.main-wrap .main-banner .bottom-con-wrap .con-line > .right h2{
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 1s ease, transform .6s ease;
  will-change: opacity, transform;
}

/* ===== Activated states (.main-wrap.on) ===== */
.main-wrap.on .main-banner .bottom-con-wrap .con-line > .left .bar{
  width: 100%;
}

.main-wrap.on .main-banner .bottom-con-wrap .con-line > .left .mv_ctrl,
.main-wrap.on .main-banner .bottom-con-wrap .con-line > .left .txt{
  opacity: 1;
  transform: translateY(0);
  transition-delay: 1s;            /* 0.5초 후 시작 */
}

.main-wrap.on .main-banner .bottom-con-wrap .con-line > .right h2{
  opacity: 1;
  transform: translateY(0);
  transition-delay: 1.5s;              /* 1초 후 시작 */
}


.main-sec02{
  padding: 200px 0;
}
.main-sec02 .inner{
  max-width: 1580px;
  padding: 0 70px;
}
.main-sec02 .con-line{
  display: flex;
  gap: 20px;
}
.main-sec02 .con-line > .left{
  width: calc(100% - 620px);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 30px;

  position: relative;
  left: -50px;
}
.main-sec02 .con-line > .right{
  position: relative;
  width: 600px;
}
.main-sec02 .con-line > .right .ms1_ctrl button{
  position: absolute;
  top: 35%;
  background-color: transparent;
  border: unset;
  z-index: 11;
}
.main-sec02 .con-line > .right .ms1_ctrl button.ms1_prev{
  left: -60px;
}
.main-sec02 .con-line > .right .ms1_ctrl button.ms1_next{
  right: -60px;
}
.main-sec02 .con-line > .left .titbox h2{
  font-size: 80px;
  font-weight: 600;
  letter-spacing: -1.6px;
  color: rgb(25, 25, 25);
}
.main-sec02 .con-line > .left .titbox p{
  margin-top: 12px;
  font-size: 24px;
  font-weight: normal;
  letter-spacing: -0.48px;
  color: rgb(51, 51, 51);
}
.linka{
  display: flex;
}
.linka a{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px; 
  padding: 16px 18px;
  border-radius: 999px;
  background-color: rgb(25, 25, 25);
  max-width: 180px;
  width: 100%;
}
.linka a .txt{
  font-size: 18px;
  font-weight: normal;
  letter-spacing: -0.36px;
  color: rgb(255, 255, 255);
  max-width: calc(100% - 36px);
}
.linka a .icon{
  width: 24px;
}
.linka a:hover .txt{
  text-decoration: underline;
}
.main-sec02 .con-line > .right .mySwiper2{
  margin-bottom: 12px; 
}
.main-sec02 .con-line > .right .mySwiper2 .swiper-slide .imgbox{
  width: 100%;
  overflow: hidden;
  cursor: pointer;
}
.main-sec02 .con-line > .right .mySwiper2 .swiper-slide .imgbox img{
  transform: scale(1);
  -webkit-transform: scale(1);
  width: 100%;
  transition: all 0.3s ease-in-out;
}
.main-sec02 .con-line > .right .mySwiper2 .swiper-slide .imgbox:hover img{
  transform: scale(1.1);
  -webkit-transform: scale(1.1);
}

.main-sec03{
  padding: 0 !important;
  position: relative;
}
.main-sec03 .inner1{
  max-width: 2560px;
}
.main-sec03 .con-line{
  display: flex;
  gap: 20px;
}
.main-sec03 .con-line > li{
  width: calc(33.33% - (40px / 3));
}
.main-sec03 .con-line > li .imgbox:first-child{
  margin-bottom: 20px;
}
.main-sec03 .con-line > li .imgbox.imgbox1{
  background: url(../img/portfolio-thumn01.jpg) no-repeat center / cover;
}
.main-sec03 .con-line > li .imgbox.imgbox2{
  background: url(../img/portfolio-thumn02.jpg) no-repeat center / cover;
}
.main-sec03 .con-line > li .imgbox.imgbox3{
  background: url(../img/portfolio-thumn03.jpg) no-repeat center / cover;
}
.main-sec03 .con-line > li .imgbox.imgbox4{
  background: url(../img/portfolio-thumn04.jpg) no-repeat center / cover;
}
.main-sec03 .con-line > li .imgbox.imgbox5{
  background: url(../img/portfolio-thumn05.jpg) no-repeat center / cover;
}
.main-sec03 .con-line > li .imgbox.imgbox6{
  background: url(../img/portfolio-thumn06.jpg) no-repeat center / cover;
}
.main-sec03 .con-line > li .imgbox.type1{
  height: calc(43vh - 10px);
  min-height: 300px;
}
.main-sec03 .con-line > li .imgbox.type2{
  height: calc(57vh - 10px);
  min-height: 300px;
}
.main-sec03 .con-line > li .imgbox{
  filter: grayscale(100%);
  transition: all 0.3s ease-in-out;
  width: 100%;
}
.main-sec03 .con-line > li .imgbox:hover{
  filter: grayscale(0%);
}

.main-sec04{
  position: relative;
  padding-top: 200px;
  padding-bottom: 200px;
}
.main-sec04 .inner{
  z-index: 1;
}
.main-sec04-bg1{
  position: relative;
  width: 100%;
  height: 400px;
  background: url(../img/main-sec04-bg_2.jpg) no-repeat center / cover;
  z-index: 1;
  min-width: 800px;
  margin: 0 auto;
  transition: all 0.3s linear;
}
.main-sec04-bg2{
  position: absolute;
  bottom: 0;
  right: 0;
  max-width: 820px;
  width: 100%;
  width: 43%;
  z-index: 0;
}
.main-sec04 .main-sec04-titbox{
  position: relative;
  margin-bottom: 54px;
}
.main-sec04 .main-sec04-titbox h2{
  font-size: 80px;
  font-weight: 600;
  letter-spacing: -1.6px;
  color: rgb(25, 25, 25);
}
.main-sec04 .main-sec04-titbox p{
  margin-top: 12px;
  font-size: 24px;
  font-weight: normal;
  letter-spacing: -0.48px;
  color: rgb(51, 51, 51);
}

.main-sec05{
  padding: 130px 0;
  background: url(../img/main-sec05-bg.jpg) no-repeat center / cover;
}
.main-sec05 .con-line{
  display: flex;
  align-items: flex-start;
  gap: 20px;
}
.main-sec05 .con-line > .left{
  width: calc(100% - 640px);
}
.main-sec05 .con-line > .right{
  width: 620px;
}
.main-sec05 .con-line > .left .titbox .top{
  font-size: 24px;
  font-weight: bold;
  line-height: 1.25;
  letter-spacing: -0.48px;
  color: rgb(164, 178, 189);
  margin-bottom: 8px;
}
.main-sec05 .con-line > .left .titbox h2{
  font-size: 60px;
  font-weight: bold;
  line-height: 1.33;
  letter-spacing: -1.2px;
  color: rgb(255, 255, 255);
  margin-bottom: 36px;
}
.linka2{
  display: flex;
}
.linka2 a{
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 20px;
  font-weight: bold;
  letter-spacing: -0.4px;
  color: rgb(255, 255, 255);
}
.linka2 a .txt{
  max-width: calc(100% - 42px);
}
.linka2 a .icon{
  width: 32px;
}
.linka2 a:hover .txt{
  text-decoration: underline;
}
.main-sec05 .con-line > .right .frm-wrap{
  position: relative;
  border-radius: 40px;
  -webkit-backdrop-filter: blur(30px);
  backdrop-filter: blur(30px);
  border: solid 1px rgba(255, 255, 255, 0.04);
  background-color: rgba(0, 0, 0, 0.14);
  padding: 50px 60px;
  box-shadow: rgba(255, 255, 255, 0.1) -16px -16px 50px 0;
}
.main-sec05 .con-line > .right .frm-wrap form{
  position: relative;
  z-index: 22;
}
.main-sec05 .con-line > .right .frm-wrap .border_img{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 11;
}
.main-sec05 .con-line > .right .frm-wrap .frm-box .con-titbox{
  margin-bottom: 30px;
}
.main-sec05 .con-line > .right .frm-wrap .frm-box .con-titbox h3{
  font-size: 30px;
  font-weight: 600;
  letter-spacing: -0.6px;
  color: rgba(255, 255, 255, 0.9);
}
.main-sec05 .con-line > .right .frm-wrap .frm-box .con-titbox p{
  font-size: 16px;
  font-weight: normal;
  line-height: 1.5;
  letter-spacing: -0.16px;
  color: rgba(255, 255, 255, 0.7);
  margin-top: 8px;
}
.frm-wrap .n-iptbox{
  margin-bottom: 24px;
}
.frm-wrap .n-iptbox .ipt_tit{display: block;font-size: 15px;font-weight: 600;color: #fff;padding-bottom: 12px;}
.frm-wrap .n-iptbox input,
.frm-wrap .n-iptbox textarea
{
  padding: 12px 14px;
  border-radius: 5px;
  border: solid 1px rgba(255, 255, 255, 0.2);
  background-color: rgba(255, 255, 255, 0.05);
  outline: none;
  font-size: 15px;
  font-weight: normal;
  letter-spacing: -0.15px;
  color: rgba(255, 255, 255, 1);
  width: 100%;
}
.frm-wrap .n-iptbox input::placeholder,
.frm-wrap .n-iptbox textarea::placeholder{
  color: rgba(255, 255, 255, 0.6);
}
.frm-wrap .n-iptbox textarea{
  resize: none;
  height: 130px;
}
.main-sec05 .con-line > .right .frm-wrap .frm-box .submitbox button{
  border: none;
  outline: none;
  width: 100%;
  padding: 22px 5px;
  border-radius: 5px;
  background-color: rgb(0, 0, 0);
  font-size: 15px;
  font-weight: 800;
  letter-spacing: -0.15px;
  color: rgb(255, 255, 255);
  text-align: center;
  transition: all 0.3s ease-in-out;
}
.frm-wrap .n-iptbox input:focus,
.frm-wrap .n-iptbox textarea:focus{
  border: solid 1px rgba(255, 255, 255, 1);
}
.main-sec05 .con-line > .right .frm-wrap .frm-box .submitbox button:hover{
  background-color: var(--color-point);
}
.frm-wrap .n-iptbox .chk_list{display: flex;gap: 6px;flex-wrap: wrap;}
.frm-wrap .n-iptbox .chk_list > li{position: relative;}
.frm-wrap .n-iptbox .chk_list > li input{position: absolute;top: 0;left: 0;opacity: 0;font-size: 0;}
.frm-wrap .n-iptbox .chk_list > li label{display: flex;gap: 4px;align-items: center;font-size: 14px;font-weight: 500;color: rgba(255, 255, 255, 0.9);padding: 10px 12px;background-color: rgba(255, 255, 255, 0.05);border: rgba(255, 255, 255, 0.2) solid 1px;border-radius: 8px;cursor: pointer;}
.frm-wrap .n-iptbox .chk_list > li input:checked + label{color: #040F20;background-color: rgba(255, 255, 255, 0.9);}
.frm-wrap .n-iptbox .chk_list > li input:checked + label img{filter: invert(1);}

@media(max-width:1250px){
  .main-sec02 .con-line > .left .titbox h2{
    font-size: 60px;
  }
  .main-sec02 .con-line > .left .titbox p{
    font-size: 20px;
  }
  .main-sec05 .con-line > .left .titbox h2{
    font-size: 50px;
  }
}

@media(max-width:1024px){
  .main-banner-swiper{
    height: 100vh;
    min-height: 500px;
    max-height: 700px;
  }
  .main-banner .bottom-con-wrap{
    padding: 70px 0 30px;
  }
  .main-banner .bottom-con-wrap .con-line{
    flex-wrap: wrap;
    gap: 20px;
  }
  .main-banner .bottom-con-wrap .con-line > .left{
    width: 100%;
    order: 1;
  }
  .main-banner .bottom-con-wrap .con-line > .right{
    width: 100%;
    order: 0;
  }
  .main-banner .bottom-con-wrap .con-line > .left .txt{
    font-size: 13px;
    text-align: left;
    padding-bottom: 8px;
  }
  .main-banner .bottom-con-wrap .con-line > .right h2{
    font-size: 22px;
  }
  .main-banner .bottom-con-wrap .con-line > .right h2 b{
    font-size: 28px;
  }

  .main-sec02{
    padding: 100px 0;
  }
  .main-sec02 .con-line{
    gap: 30px;
    flex-wrap: wrap;
  }
  .main-sec02 .con-line > .left{
    width: calc(100% - 430px);
  }
  .main-sec02 .con-line > .right{
    width: 400px;
  }
  .main-sec02 .con-line > .left .titbox h2{
    font-size: 24px;
    letter-spacing: -0.6px;
  }
  .main-sec02 .con-line > .left .titbox p{
    margin-top: 6px;
    font-size: 16px;
  }
  .linka a{
    gap: 8px; 
    padding: 10px 15px;
  }
  .linka a .txt{
    font-size: 16px;
    max-width: calc(100% - 28px);
  }
  .linka a .icon{
    width: 20px;
  }
  .main-sec02 .con-line > .right .mySwiper2{
    margin-bottom: 6px; 
  }

  .main-sec03 .con-line{
    gap: 6px;
    flex-wrap: wrap;
  }
  .main-sec03 .con-line > li{
    width: calc(50% - 3px);
  }
  .main-sec03 .con-line > li .imgbox:first-child{
    margin-bottom: 6px;
  }
  .main-sec03 .con-line > li .imgbox{
    filter: grayscale(0%);
  }
  .main-sec03 .con-line > li:last-child{
    display: flex;
    gap: 6px;
    width: 100%;
  }
  .main-sec03 .con-line > li:last-child .imgbox{
    width: calc(50% - 3px);
  }
  .main-sec03 .inner1{
    position: relative;
  }
  .main-sec03 .con-line > li .imgbox.type1{
    height: calc(30vh - 10px);
    min-height: 200px;
  }
  .main-sec03 .con-line > li .imgbox.type2{
    height: calc(35vh - 10px);
    min-height: 200px;
  }
  .main-sec03 .con-line > li:last-child .imgbox.type2{
    height: calc(30vh - 10px);
  }


  .main-sec04{
    position: relative;
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .main-sec04-bg1{
    height: 300px;
    min-width: 0px;
    width: 0%;
  }
  .main-sec04-bg2{
    width: 43%;
  }
  .main-sec04 .main-sec04-titbox{
    margin-bottom: 30px;
  }
  .main-sec04 .main-sec04-titbox h2{
    font-size: 24px;
    letter-spacing: -0.6px;
  }
  .main-sec04 .main-sec04-titbox p{
    margin-top: 6px;
    font-size: 16px;
  }

  .main-sec05{
    padding: 60px 0;
  }
  .main-sec05 .con-line{
    gap: 30px;
    flex-wrap: wrap;
  }
  .main-sec05 .con-line > .left{
    width: 100%;
  }
  .main-sec05 .con-line > .right{
    width: 100%;
  }
  .main-sec05 .con-line > .left .titbox .top{
    font-size: 16px;
    margin-bottom: 6px;
  }
  .main-sec05 .con-line > .left .titbox h2{
    font-size: 24px;
    margin-bottom: 16px;
  }
  .linka2 a{
    gap: 6px;
    font-size: 16px;
  }
  .linka2 a .txt{
    max-width: calc(100% - 34px);
  }
  .linka2 a .icon{
    width: 28px;
  }
  .main-sec05 .con-line > .right .frm-wrap{
    border-radius: 40px;
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
    padding: 40px 20px;
  }
  .main-sec05 .con-line > .right .frm-wrap .frm-box .con-titbox{
    margin-bottom: 20px;
  }
  .main-sec05 .con-line > .right .frm-wrap .frm-box .con-titbox h3{
    font-size: 18px;
  }
  .main-sec05 .con-line > .right .frm-wrap .frm-box .con-titbox p{
    font-size: 15px;
    margin-top: 6px;
  }
  .frm-wrap .n-iptbox{
    margin-bottom: 16px;
  }
  .frm-wrap .n-iptbox input,
  .frm-wrap .n-iptbox textarea
  {
    padding: 8px 12px;
  }
  .frm-wrap .n-iptbox textarea{
    height: 160px;
  }
  .main-sec05 .con-line > .right .frm-wrap .frm-box .submitbox button{
    padding: 12px 5px;
  }
  .frm-wrap .n-iptbox .ipt_tit{padding-bottom: 8px;}
  .frm-wrap .n-iptbox .chk_list > li label{padding: 6px 8px;}
}

@media(max-width:767px){
  .main-sec02 .inner{padding: 0 20px;}
  .main-sec02 .con-line > .left{
    width: 100%;
    left: 0;
  }
  .main-sec02 .con-line > .right{
    width: 100%;
  }
  .main-sec02 .con-line > .right .ms1_ctrl{display: none;}
}

@media(max-width:410px){
  .main-sec05 .con-line > .right .frm-wrap .frm-box .con-titbox p br{
    display: none;
  }
}

@media(max-width:350px){
  .main-banner .bottom-con-wrap .con-line > .right h2{
    font-size: 26px;
  }
}


/* main */

.foot-wrap,
.foot-wrap .foot-sec{
  width: 100%;
  position: relative;
  overflow: hidden;
}
.foot-sec01{
  padding: 87px 0 118px;
}
.foot-sec01 .infobox .logobox{
  margin-bottom: 32px;
}
.foot-sec01 .infobox .logobox img{
  display: inline-block;
  width: 232px;
}
.foot-sec01 .infobox .info-p{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 18px;
  margin-bottom: 6px;
}
.foot-sec01 .infobox .info-p span{
  display: block;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: -0.32px;
  color: rgb(102, 102, 102);
  position: relative;
}
.foot-sec01 .infobox .info-p span::after{
  content: "";
  display: block;
  width: 1px;
  height: 60%;
  background: rgb(221, 221, 221);
  position: absolute;
  top: 50%;
  right: -9.5px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
}
.foot-sec01 .infobox .info-p span:last-child::after{
  display: none;
}
.foot-sec01 .infobox .copyright{
  margin-top: 20px;
  font-size: 14px;
  font-weight: normal;
  line-height: 1.43;
  letter-spacing: -0.28px;
  color: rgb(153, 153, 153);
}

@media(max-width:1024px){
  .foot-sec01{
    padding: 50px 0 60px;
  }
  .foot-sec01 .infobox .logobox{
    margin-bottom: 16px;
  }
  .foot-sec01 .infobox .logobox img{
    width: 150px;
  }
}

@media(max-width:767px){
  .foot-sec01 .infobox{
    text-align: center;
  }
  .foot-sec01 .infobox .info-p{
    gap: 5px;
    margin-bottom: 5px;
  }
  .foot-sec01 .infobox .info-p span{
    font-size: 15px;
    width: 100%;
  }
  .foot-sec01 .infobox .info-p span::after{
    display: none;
  }
  .foot-sec01 .infobox .copyright{
    margin-top: 15px;
    font-size: 13px;
  }

}

.top_btn{display: flex;gap: 5px;justify-content: center;align-items: center;margin-top: 100px;cursor: pointer;}
.top_btn span{font-size: 16px;font-weight: 400;color: #191919;text-align: center;line-height: 1.5;}


.foot-wrap .inner{display: flex;gap: 10px;align-items: end;flex-wrap: wrap;}
.foot-wrap .infobox{width: calc(100% - 170px);}
.foot-wrap .sns_link{display: flex;gap: 8px;width: 160px;}
.foot-wrap .sns_link > li{width: calc(33.333% - (16px / 3));max-width: 48px;}

@media(max-width:768px){
  .foot-wrap .inner{gap: 20px;}
  .foot-wrap .infobox{width: 100%;}
  .foot-wrap .sns_link{justify-content: center;width: 100%;}  
  .foot-wrap .sns_link > li{max-width: 42px;}
}

/* footer */


.bo_inner{
  padding: 120px 0;
}

/* board */










/* main sec6 */
.main-sec06{padding: 40px 0;}
.main-sec06 .pj_link{display: flex;}
.main-sec06 .pj_link > li{width: calc(16.666% - 20px);height: 750px;background-repeat: no-repeat;background-position: center;background-size: cover;transition: width 0.8s, background-image 0.5s, margin-left 0.5s;}
.main-sec06 .pj_link > li:nth-child(n + 2){margin-left: 24px;}
.main-sec06 .pj_link > li.con1{background-image: url(/html/img/main_pj01_1.jpg);}
.main-sec06 .pj_link > li.con2{background-image: url(/html/img/main_pj02_2.jpg);}
.main-sec06 .pj_link > li.con3{background-image: url(/html/img/main_pj03_1.jpg);}
.main-sec06 .pj_link > li.con4{background-image: url(/html/img/main_pj04_1.jpg);background-position: center left 36%;}
.main-sec06 .pj_link > li.con5{background-image: url(/html/img/main_pj05_1.jpg);}
.main-sec06 .pj_link > li.con6{background-image: url(/html/img/main_pj06_1.jpg);}
.main-sec06 .pj_link > li a{position: relative;display: block;width: 100%;height: 100%;}
.main-sec06 .pj_link > li a::before{content: '';position: absolute;top: 0;left: 0;width: 100%;height: 100%;backdrop-filter: grayscale(1);transition: opacity 0.3s;z-index: 22;}
.main-sec06 .pj_link > li a:hover::before{opacity: 0;}
.main-sec06 .pj_link > li.con1.on{width: 100%;background-image: url(/html/img/main_pj01_1.jpg);}
.main-sec06 .pj_link > li.con2.on{width: 100%;background-image: url(/html/img/main_pj02_2.jpg);}
.main-sec06 .pj_link > li.con3.on{width: 100%;background-image: url(/html/img/main_pj03_1.jpg);}
.main-sec06 .pj_link > li.con4.on{width: 100%;background-image: url(/html/img/main_pj04_1.jpg);}
.main-sec06 .pj_link > li.con5.on{width: 100%;background-image: url(/html/img/main_pj05_1.jpg);}
.main-sec06 .pj_link > li.con6.on{width: 100%;background-image: url(/html/img/main_pj06_1.jpg);}
.main-sec06 .pj_link > li.none{margin-left: 0;}
.main-sec06 .pj_link > li.con1.none{width: 0%;opacity: 0;}
.main-sec06 .pj_link > li.con2.none{width: 0%;opacity: 0;}
.main-sec06 .pj_link > li.con3.none{width: 0%;opacity: 0;}
.main-sec06 .pj_link > li.con4.none{width: 0%;opacity: 0;}
.main-sec06 .pj_link > li.con5.none{width: 0%;opacity: 0;}
.main-sec06 .pj_link > li.con6.none{width: 0%;opacity: 0;}


.main-sec06 .pj_link > li a .txt_box{position: absolute;top: 50%;left: 50%;width: 100%;transform: translate(-50%, -50%);padding: 10px;z-index: 33;}
.main-sec06 .pj_link > li a .txt_box h3{font-size: 22px;font-weight: 600;color: #fff;line-height: 1.35;text-align: center;}
.main-sec06 .pj_link > li a .txt_box .kor{display: block;font-size: 18px;font-weight: 500;color: #fff;line-height: 1.5;text-align: center;margin-top: 12px;opacity: 0;transition: opacity 0.3s;}
.main-sec06 .pj_link > li a:hover .txt_box .kor{opacity: 1;}

@media screen and (max-width:1200px) {
  .main-sec06 .pj_link > li a .txt_box h3{font-size: 20px;}
}
@media screen and (max-width:1024px) {
  .main-sec06{padding: 40px 0;}
  .main-sec06 .pj_link{gap: 12px;flex-wrap: wrap;}
  .main-sec06 .pj_link > li{width: calc(33.333% - 8px);height: 300px;margin-left: 0 !important;}

  .main-sec06 .pj_link > li a .txt_box h3{font-size: 18px;}
  .main-sec06 .pj_link > li a .txt_box .kor{font-size: 15px;margin-top: 8px;opacity: 1;}
}
@media screen and (max-width:425px) {
  /* .main-sec06 .pj_link > li a .txt_box h3{word-break: break-all;} */
  .main-sec06 .pj_link{gap: 6px;}
  .main-sec06 .pj_link > li{width: calc(33.333% - 4px);}
  .main-sec06 .pj_link > li a .txt_box h3{font-size: 15px;}

}
@media screen and (max-width:365px) {
  .main-sec06 .pj_link > li{width: calc(50% - 6px);height: 240px;}
}








/* 게시판 페이징 */
.pg{margin-top: 0;}
.pg_wrap{float: none;display: block;text-align: center;margin-top: 70px;}
.pg_current{min-width: 40px;height: 40px;background-color: #222;border: unset;font-size: 20px;font-weight: 500;color: #fff;line-height: 40px;border-radius: 50%;}
.pg_page{min-width: 40px;height: 40px;background-color: #fff;border: unset;font-size: 20px;font-weight: 500;line-height: 40px;color: #222;border-radius: 50%;}
.pg_end {background: url(/html/img/pg_end.png) no-repeat 50% 50% #fff;}
.pg_start {background: url(/html/img/pg_start.png) no-repeat 50% 50% #fff;}
.pg_next {background: url(/html/img/pg_next.png) no-repeat 50% 50% #fff;}
.pg_prev {background: url(/html/img/pg_prev.png) no-repeat 50% 50% #fff;}

@media screen and (max-width:1024px) {
  .pg_wrap{margin-top: 40px;}
  .pg_current{min-width: 30px;height: 30px;font-size: 16px;line-height: 30px;}
  .pg_page{min-width: 30px;height: 30px;font-size: 16px;line-height: 30px;}
}