/*--all class--*/
* {letter-spacing: -0.05em;word-break:keep-all;}
p {word-break:keep-all;}
body {font-family: 'Pretendard', sans-serif;background: #fff; }
.d_eng{font-family: 'Montserrat', sans-serif;}/*영문 폰트 변경*/


/*--루트--*/
:root {
	/*font size*/
	--font-size-13: 0.75rem;
	--font-size-13: 0.813rem;
	--font-size-14: 0.875rem;
	--font-size-15: 0.9375rem; 
	--font-size-16: 1rem; 
	--font-size-17: 1.0625rem; 
	--font-size-18: 1.125rem;
	--font-size-19: 1.188rem;
	--font-size-20: 1.25rem; 
	--font-size-21: 1.313rem;
	--font-size-22: 1.375rem; 
	--font-size-23: 1.438rem; 
	--font-size-24: 1.5rem; 
	--font-size-25: 1.563rem; 
	--font-size-26: 1.625rem;
	--font-size-27: 1.688rem; 
	--font-size-28: 1.75rem; 
	--font-size-30: 1.875rem; 
	--font-size-31: 1.938rem; 
	--font-size-32: 2rem; 
	--font-size-34: 2.125rem; 
	--font-size-35: 2.188rem; 
	--font-size-36: 2.25rem; 
	--font-size-37: 2.313rem; 
	--font-size-38: 2.375rem; 	
	--font-size-40: 2.5rem; 	
	--font-size-42: 2.625rem; 
	--font-size-43: 2.688rem; 
	--font-size-45: 2.813rem; 
	--font-size-46: 2.875rem; 
	--font-size-48: 3rem; 
	--font-size-50: 3.125rem;
	--font-size-52: 3.25rem;
	--font-size-55: 3.438rem;
	--font-size-56: 3.5rem;
	--font-size-58: 3.625rem;
	--font-size-60: 3.75rem;
	--font-size-65: 4.063rem;
	--font-size-70: 4.375rem;
	--font-size-72: 4.5rem;
	--font-size-74: 4.625rem;
	--font-size-75: 4.688rem;
	--font-size-80: 5rem;
	--font-size-85: 5.313rem;
	--font-size-86: 5.375rem;
	--font-size-90: 5.625rem;
	--font-size-100: 6.25rem;
	--font-size-110: 6.875rem;
	--font-size-120: 7.5rem;

	/*font weight*/
	--font-t: 100;
	--font-l: 300;
	--font-r: 400;
	--font-m: 500;
	--font-sb: 600;
	--font-b: 700;
	--font-eb: 800;
	--font-bl: 900;

	/*color*/
	--main-clr: #1a454b;/*진녹색*/
	--point-clr: #295157;/*연두색*/
	--point-clr2: #cef800;/*형광 연두색*/
	--white-clr: #fff;
	--black-clr: #222;
	--kakao-clr: #ffc000;
}

.fs_12{font-size: var(--font-size-12);letter-spacing: -0.03em;}
.fs_14{font-size: var(--font-size-14);letter-spacing: -0.03em;}
.fs_15{font-size: var(--font-size-15);letter-spacing: -0.03em;}
.fs_16{font-size: var(--font-size-16);letter-spacing: -0.03em;} 
.fs_17{font-size: var(--font-size-17);letter-spacing: -0.03em;} 
.fs_18{font-size: var(--font-size-18);letter-spacing: -0.03em;}
.fs_20{font-size: var(--font-size-20);} 
.fs_21{font-size: var(--font-size-21);} 
.fs_22{font-size: var(--font-size-22);} 
.fs_23{font-size: var(--font-size-23);} 
.fs_24{font-size: var(--font-size-24);}
.fs_25{font-size: var(--font-size-25);} 
.fs_26{font-size: var(--font-size-26);} 
.fs_28{font-size: var(--font-size-28);} 
.fs_29{font-size: var(--font-size-29);} 
.fs_30{font-size: var(--font-size-30);} 
.fs_32{font-size: var(--font-size-32);} 
.fs_33{font-size: var(--font-size-33);} 
.fs_34{font-size: var(--font-size-34);} 
.fs_35{font-size: var(--font-size-35);} 
.fs_36{font-size: var(--font-size-36);} 
.fs_38{font-size: var(--font-size-38);} 
.fs_40{font-size: var(--font-size-40);} 
.fs_42{font-size: var(--font-size-42);} 
.fs_45{font-size: var(--font-size-45);}
.fs_46{font-size: var(--font-size-46);}
.fs_48{font-size: var(--font-size-48);}
.fs_50{font-size: var(--font-size-50);}
.fs_52{font-size: var(--font-size-52);}
.fs_54{font-size: var(--font-size-54);}
.fs_55{font-size: var(--font-size-55);}
.fs_56{font-size: var(--font-size-56);}
.fs_60{font-size: var(--font-size-60);}
.fs_65{font-size: var(--font-size-65);} 
.fs_67{font-size: var(--font-size-67);} 
.fs_70{font-size: var(--font-size-70);} 
.fs_72{font-size: var(--font-size-72);} 
.fs_74{font-size: var(--font-size-74);} 
.fs_75{font-size: var(--font-size-75);} 
.fs_80{font-size: var(--font-size-80);} 
.fs_86{font-size: var(--font-size-86);} 
.fs_90{font-size: var(--font-size-90);} 
.fs_94{font-size: var(--font-size-94);} 
.fs_100{font-size: var(--font-size-100);}
.fs_110{font-size: var(--font-size-110);}
.fs_120{font-size: var(--font-size-120);}

.fw_t{font-weight: var(--font-t);}
.fw_l{font-weight: var(--font-l);}
.fw_r{font-weight: var(--font-r);}
.fw_m{font-weight: var(--font-m);}
.fw_sb{font-weight: var(--font-sb);}
.fw_b{font-weight: var(--font-b);}
.fw_eb{font-weight: var(--font-eb);}
.fw_bl{font-weight: var(--font-bl);}

.fc_main {color: var(--main-clr);}
.fc_point {color:var(--point-clr);}
.fc_point2 {color:#fff;}
.fc_white {color: var(--white-clr);}
.fc_black {color: var(--black-clr);}


/*--섹션 공통--*/
.d_section { position: relative;}
.k_w100{display: block;width: 100%;height: 100%;}
.center_pos{position: absolute;top: 50%;left: 50%;transform: translate(-50%,-50%);}/*포지션 객체 중앙정렬*/
.bg{background-repeat: no-repeat;background-size: cover;background-position: center center;}/*background-image - 반응형*/
.br_520_on {display: none;}

/*공통이너*/
.d_inner { max-width: 1480px; width: 92%; margin: 0 auto; position: relative; }
.d_1820_inner {max-width: 1820px;width: 92%;margin: 0 auto;position: relative;}

/*공통패딩*/
.d_padd {padding:150px 0;}
.d_padd.padd2 {padding:150px 0 0 0;}
.d_padd.padd3 {padding: 150px 0 150px 0;}

/*섹션 타이틀*/
.d_tit_area {display:flex;justify-content:space-between;align-items: center;margin-bottom: 90px;}
.d_tit_area2{margin-bottom: 60px;}
.d_tit {display:flex;gap:123px;align-items: center;}
.d_tit h2 {position: relative;font-family: 'Montserrat', sans-serif;font-size: var(--font-size-52);font-weight: var(--font-l);line-height:1.2em;color: #666;}
.d_tit h2::before {content: '';position: absolute;width: 3px;height: 30px;right:-62px;top:50%;transform:translateY(-50%);background-color: #222;}
.d_tit h2 span {font-weight: var(--font-b);color: var(--point-clr);}
.d_art {font-size: var(--font-size-30);font-weight: var(--font-r);line-height:1.5em;}
.d_art b {font-weight: var(--font-b);}

/*섹션 타이틀 밝은 버전*/
.d_tit.bright_ver h2 {color: #fff;}
.d_tit.bright_ver h2::before {background:rgba(255,255,255,.3);}
.d_tit.bright_ver h2 span {color: #fff;}
.d_tit.bright_ver .d_art {color: #fff;}

/*공통버튼*/
.d_btn {display: inline-block;position: relative;font-family: 'Montserrat', sans-serif;font-size: var(--font-size-18);font-weight: var(--font-b);cursor: pointer;transition: .24s;color: #fff;background-color: #1a454b;}
.d_btn:hover {color:#fff;background:#111;}
.d_btn a {display: block;padding: 16px 0;width: 180px;text-align: center;}

/*공통 섹션 내용*/
.info_tit {font-size: var(--font-size-22);font-weight: var(--font-b);}
.info_art {font-size: var(--font-size-26);font-weight: var(--font-r);}

@media screen and (max-width:1480px) { 
	.d_tit {gap:80px}
	.d_tit h2 {font-size: var(--font-size-40);}
	.d_tit h2::before {right:-38px}
	.d_art {font-size: var(--font-size-24);}
}
@media screen and (max-width:1280px) { 
	.d_padd {padding: 150px 0;}
	.d_padd.padd2 {padding:130px 0 0 0;}
}
@media screen and (max-width:1080px) {
	.d_padd {padding: 100px 0;}
	.d_padd.padd2 {padding:110px 0 0 0;}
	
	.d_tit_area {align-items: center;flex-direction: column;}
	.d_tit {flex-direction: column; text-align: center;gap: 20px;}
	.d_tit h2::before {content:none;}
	.d_btn {margin-top:20px;}
	.d_btn a {padding: 16px;}
}
@media screen and (max-width:720px){
	.d_padd {padding: 100px 0;}
	.d_padd.padd2 {padding:90px 0 0 0;}
	.d_padd.padd3  {padding:90px 0 ;}
	.d_tit_area { flex-direction: column; align-items: center; text-align: center;margin-bottom: 50px;}
	.d_tit { gap: 10px; flex-direction: column; }
}
@media screen and (max-width:480px){
	.d_padd {padding: 75px 0;}
	.d_padd.padd2 {padding:60px 0 0 0;}
}



/*--헤더--*/
#d_header { position: fixed; top: 0; left: 0; width: 100%;height: 100px;z-index: 20;}
#d_header .d_hd_inner {width: 92%;height: 100%;margin: 0 auto; position: relative;display:flex;justify-content: space-between;align-items: center;}
#d_header .d_hd_inner > .d_logo .b_b-logo{display:none;}
#d_header .d_hd_inner > .d_logo { position: relative; float: left;height:100%;display: flex;align-items: center;z-index: 9;}
#d_header .d_hd_inner > .d_logo img { display: block;}

#d_header .d_icon_menu {  position: relative; display: flex;z-index: 9;}
#d_header .d_icon_menu > .d_icons {display:flex;gap:8px;}
#d_header .d_icon_menu > .d_icons li {width:40px;height:40px;border-radius:50%;aspect-ratio:1;display: flex;align-items:center;justify-content:center; background:var(--main-clr);}
#d_header .d_icon_menu > .d_icons li img { vertical-align: middle;}
#d_header .d_icon_menu .d_icons li:first-child { margin-left: 0;}

#hbg_btn {display:none;position: relative;width: 28px; height: 28px; cursor: pointer; margin-left: 76px;}
#hbg_btn span { position: absolute; top: 50%; width: 100%; display: block; height: 2px; background-color: #fff; cursor: pointer;  right: 0;}
#hbg_btn span:first-child { width: 28px; transform: translateY(-5px);transition: all .4s;}
#hbg_btn span:last-child { width: 20px; transform: translateY(5px);  transition: all .4s;}
#hbg_btn:hover span:first-child { width: 20px; transform: translateY(-5px);}
#hbg_btn:hover span:last-child { width: 28px; transform: translateY(5px);}

#d_close { display: block; width: 28px; height: 28px; cursor: pointer; position: absolute; top: 38px; right: 9%; transition: .24s;}
#d_close span { position: absolute; top: 50%; left: 50%; width: 100%; height: 2px; transform: translate(-50%, -50%); background: #fff;}
#d_close span:nth-child(1) { transform: translate(-50%, -50%) rotate(45deg); transition: .24s;}
#d_close span:nth-child(2) { transform: translate(-50%, -50%) rotate(-45deg); transition: .24s;}
#d_close:hover span:nth-child(1) { transform: translate(-50%, -50%) rotate(90deg);}
#d_close:hover span:nth-child(2) { transform: translate(-50%, -50%) rotate(0deg);}

#d_header .d_mv_banner {position: fixed;bottom: 70px;right: -70px;width: 220px; height: 80px;background-color:#222; color: #fff;display: flex; justify-content: center; align-items: center; font-size: 1.125rem; -webkit-transform: rotate(90deg); -ms-transform: rotate(90deg);}
#d_header .d_mv_banner a {display: block;font-size: 1.125rem; width: 100%; text-align: center; padding: 27px 0;  color: #fff;   font-weight: 500;}
#d_header .d_mv_banner .xi-plus { transition: .24s; margin-left: 5px; }
#d_header .d_mv_banner:hover .xi-plus { transform: rotate(180deg);}

/*nav*/
#d_gnb {position: absolute; top: 0; left: 50%; transform: translateX(-50%);width: 100%;height: 100%;display: block;}
#d_gnb > ul {height: 100%;display: flex; align-items: center;justify-content: center;}
#d_gnb > ul > li {position: relative;height: 100%; display: flex ; align-items: center; list-style: none; }
#d_gnb > ul > li > a {color: #fff;display: block; padding: 0 30px;font-size:var(--font-size-18);font-weight:var(--font-r);transition: .24s;}
/* 스크롤을 내리거나 .on 클래스가 붙었을 때 (검은색 글씨) */
#d_header.on #d_gnb > ul li a {color: #222;}
#d_gnb > ul > li > a.active {font-weight:var(--font-b);color:var(--main-clr) !important;}
#d_gnb > ul > li > a:hover { color: #1b8ae2;}
#d_gnb > ul > li > ul { display:none;gap:20px;position: absolute; top: 100%;left: 50%;  transform: translate3d(-50%, 8px, 0);visibility: visible;  width: 180%;text-align:center;pointer-events: auto;padding: 10px 30px 30px;flex-direction: column;transition:.24s;  background: #fff;}
#d_gnb > ul > li > ul > li > a:hover {font-size: var(--font-size-16);font-weight: var(--font-r);color:var(--main-clr)}

/*드로어 메뉴*/
#tog_menu {position: fixed;top: 0;right: -200%;z-index: 99;width: 760px;height: 100vh;background:#222;text-align: center;}
#tog_menu_active {position: relative;width:100%;height: 100%;}
#tog_menu_active .d_logo {position: absolute;top: 5%;left: 5%;}
#tog_menu_active .d_logo img {display: block; max-width: 100%;}
#tog_menu_active > ul {position: absolute;top: 45%;left: 50%;transform: translate(-50%, -50%);}
#tog_menu_active > ul > li > a {display: block;width: 100%;height: 100%; font-size: 3rem; font-weight: bold;padding: 25px 0;transition: .24s ease;color: #fff; }
#tog_menu_active > ul > li:hover > a {color: rgba(255,255,255,.3);transform: skew(-15deg);}
#tog_menu_active > ul > li > ul {position:unset;top:unset;left:unset;transform:unset;display: flex;flex-direction:column;gap:10px;}
#tog_menu_active > ul > li > ul > li > a {font-size:var(--font-size-18);font-weight:var(--font-r);color:#fff;}
#tog_menu_active > ul > li > ul > li > a:hover {color:rgba(255,255,255,.7);}
#tog_menu > .d_icons {position: absolute;bottom: 15%;left: 50%;transform: translateX(-50%);display:flex;flex-direction: unset;gap: 8px;}

/*헤더 스크롤시*/
#d_header.on { background: #fff;}
#d_header.on .d_hd_inner > .d_logo .b_w-logo{display:none;}
#d_header.on .d_hd_inner > .d_logo .b_b-logo{display:block;}
#d_header.on #hbg_btn span { background-color: #222;}
#d_header.on #d_gnb > ul li a {color: #222;}
#d_header.on #d_gnb > ul li a:hover {color:#ccc;}

/*오른쪽 하단 퀵버튼*/
.d_right_btns {position: fixed;bottom: 0;right: 0;width: 80px;height: 300px;background-color: var(--point-clr);font-size: 1.125rem;}
.d_right_btns .d_top_btn { width: 80px; height: 80px;display: flex; justify-content: center; align-items: center;}
.d_right_btns .d_top_btn a {display: block; padding: 26px; font-size: 16px;font-weight: bold;color: #fff; }
.d_right_btns.on { bottom: 350px;}
.d_right_btns.on .d_mv_banner { bottom: 420px;}


@media (max-width: 1440px) {
	#d_header{height: 80px;}
	#d_header #d_gnb > ul {display: none; }
	#d_header.on #d_gnb > ul {display: none; }
	#d_header .d_icon_menu {padding-top: 0; height: 80px; align-items: center;}
}
@media (max-width: 1200px) {
	#d_header .d_hd_inner > .d_logo img {width:200px;}
	#d_header .d_icon_menu > .d_icons {display:none;}
	#hbg_btn {display:block;}
	#tog_menu_active > ul {display: flex;flex-direction: column;}
	#tog_menu { width: 500px;}
}
@media (max-width: 760px) {
	#d_header{height: 60px;}
	#d_header .d_right_btns { display: none;}
	#d_header .d_hd_inner > .d_logo img {width:160px;}
	#d_header .d_icon_menu {padding-top: 0; height: 60px; align-items: center;}
	#d_header .d_icon_menu .d_icons li {margin-left: 15px;}
	#d_header .d_icon_menu .d_icons li img {height: 15px;}
	
	#tog_menu {width: 375px;height: 100%;}
	#tog_menu_active > .d_logo img {width: 130px;}
}
@media (max-width: 520px) {
	#hbg_btn {margin-left: 30px;}
}


/*--메인비주얼--*/
.d_mv_sec { padding-top: 0;overflow: hidden;}
.d_mv_sec figure {height: 100%;}
.d_mv_sec figure img {width: 100%;height: 100%;object-fit:cover;	}

.d_slide_mv {position:relative;}
.d_slide_mv::after {content:"";z-index:1;position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.4);}
.d_slide_mv .swiper-slide{height: auto;overflow: hidden;}
.mv_youtube_box{position:relative; width: 100%; height: auto;padding-top: 56.25%;}
.mv_youtube_box iframe { width: 100%;height: 100%;position: absolute; top: 0; left: 0;}

.mv_tit_wrap {z-index:2;position:absolute;width:100%;height:100%;top:0;left:0;display: flex;color:#fff;}
.mv_tit_wrap .d_inner {display:flex;flex-direction:column;justify-content: center;}
.mv_tit {font-family: 'Montserrat', sans-serif;line-height: 1.5em;margin-bottom: 40px;}
.mv_art {line-height:1.5em;}

.d_mv_sec .swiper-pagination {bottom: 50px;}
.d_mv_sec .swiper-pagination-bullet{ width: 10px; height: 10px;border-radius:unset !important;opacity: var(--swiper-pagination-bullet-inactive-opacity, 1);transition:.24s;background:rgba(255,255,255,.4);}
.d_mv_sec .swiper-pagination-bullet.swiper-pagination-bullet-active {width: 60px;background: #295157;}
.d_mv_sec .swiper-pagination span{width: 10px;height: 10px;margin: 0 5px !important;}

.d_mv_sec .mv_swip_navi_box {z-index: 2;position: absolute;top: 50%;left: 50%;transform: translate(-50%);width: 100%;height: 80px;margin: 0 auto;display: flex;justify-content: space-between;}
.d_mv_sec .swiper-button-next.mv_swip_next, .swiper-button-prev.mv_swip_prev {position: unset;width: 80px;height: 80px;transition: all .24s ease;font-size:0;color: unset !important;background: rgba(255,255,255,.2);}
.d_mv_sec .swiper-button-next.mv_swip_next:hover, .swiper-button-prev.mv_swip_prev:hover {background: rgba(255,255,255,.3);}
.d_mv_sec .swiper-button-next.mv_swip_next svg, .swiper-button-prev.mv_swip_prev svg {width:unset !important;height:unset !important;}
.d_mv_sec .swiper-button-next:after, .swiper-button-prev:after {display:none;}

.mv_btn{font-family: 'Montserrat', sans-serif;width: fit-content;color: #295157;margin-top:70px;background:#fff;}
.mv_btn a {display:block;padding:16px 50px;}
.mv_btn:hover{background-color: #295157;color: #fff;}

@media screen and (max-width:1824px){
	.d_slide_mv .swiper-slide { height: 100%;}
	.mv_tit_wrap .d_inner {align-items: center; text-align: center; }
}
@media screen and (max-width:1280px){
	.mv_tit {margin-bottom: 16px;font-size:var(--font-size-50);}
	.mv_art {font-size: var(--font-size-24);}
	.mv_btn {margin-top: 50px;}
	.mv_btn a {font-size: var(--font-size-24);padding: 16px 30px;width: 180px;}
	
	.d_mv_sec .swiper-button-next.mv_swip_next, .swiper-button-prev.mv_swip_prev { width: 60px; height: 60px;}
}
@media screen and (max-width:1020px){
	.mv_tit {font-size:var(--font-size-40);}
	.mv_art {font-size: var(--font-size-20);}
	.mv_btn {margin-top: 40px;}
	.mv_btn a {font-size: var(--font-size-20);}
	.d_mv_sec .swiper-button-next.mv_swip_next, .swiper-button-prev.mv_swip_prev { width: 50px; height: 50px;}
	.d_mv_sec .swiper-pagination { bottom: 30px; }
}
@media screen and (max-width:1020px){
	.mv_tit {font-size:var(--font-size-40);}
	.mv_art {font-size: var(--font-size-20);}

	.mv_btn a {font-size: var(--font-size-20);}
	.d_mv_sec .swiper-button-next.mv_swip_next, .swiper-button-prev.mv_swip_prev { width: 50px; height: 50px;}
	.d_mv_sec .swiper-pagination { bottom: 30px; }
	.d_mv_sec .swiper-pagination-bullet{ width: 5px !important; height: 5px !important;}
	.d_mv_sec .swiper-pagination-bullet.swiper-pagination-bullet-active {width: 30px!important;}
}
@media screen and (max-width:720px){
	.d_slide_mv {height: 85vh;max-height: 720px;}
	.mv_tit {margin-bottom: 0;}
	.mv_art {/* display:none; */line-height: 0.8;margin-top: 10%;}
	.d_mv_sec .mv_swip_navi_box {display:none;}
	.d_mv_sec .swiper-pagination {display:none;}
}
@media screen and (max-width:480px){
	.br_520_on { display: block; }
	.mv_art {font-size: 16px;}
	.mv_btn a {font-size: var(--font-size-24);padding: 16px 22px;}
}


/*--서비스--*/
.d_service .d_cont_area { width: 100%; height: 100%; display: flex ; }
.d_service .d_cont_area > li { display: flex;gap:20px;width: calc((100% - 24px) / 4); margin-right: 8px; position: relative; flex-direction: column;text-align: center; }
.d_service .d_cont_area > li:last-child { margin-right: 0; }
.d_service .d_cont_area .d_img_box { position: relative;display:flex;flex-direction:column;}

.d_service .d_cont_area .d_img_box::after {  content: "";  position: absolute;  width: 100%;  height: 100%;  top: 0;  left: 0;background-color:rgba(0,0,0,0.6);  z-index: 6;  opacity: 0;  transition: .24s; }
.d_service .d_cont_area li:hover .d_img_box::after { opacity: .8;}

.d_service .d_cont_area .d_img_box > ul { position: absolute; left: 50%; top: 50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;gap:8px; transition: .24s; opacity: 0;text-align: center; z-index: 7;}
.d_service .d_cont_area .d_img_box:hover > ul { opacity: 1;}
.d_service .d_cont_area .d_img_box > ul > li { color: #fff; font-size: var(--font-size-22);font-weight:var(--font-r);}
.d_service .d_cont_area .d_img_box img { display: block; width: 100%; transition: all .24s;}
.d_service .d_cont_area .d_img_box:hover img{-webkit-filter: grayscale(0);filter: grayscale(0);}

@media (max-width: 1020px) {
	.d_service .d_cont_area {flex-wrap:wrap;}
	.d_service .d_cont_area > li {  width: calc((100% - 8px) / 2);  margin-bottom: 8px; }
	.d_service .d_cont_area > li:nth-child(2n) {margin-right: 0; }
	.d_service .d_cont_area > li:nth-child(n + 3) {margin-top:20px;}
}


/*--리뷰--*/
.d_section.d_review {background:url('/img/review_bg.jpg')no-repeat 50% 50% /cover;}

.d_review .d_tit_area {justify-content: center;}
.d_review .d_tit { display: flex ; gap: 20px; align-items: center; flex-direction: column;text-align: center;}
.d_review .d_tit h2::before {content: unset;}
.d_tit.bright_ver .review_b {font-weight: 700;}

.d_review .d_cont_area {display: flex;flex-wrap:wrap;gap: 8px;justify-content: center;}
.d_review .d_cont_area > li {display: flex;flex-direction:column;align-items: center;width: calc((100% - 20px) / 2);padding: 40px;text-align: center;background: #fff;/* margin: 0 auto; */}
.d_review .d_cont_area > li:last-child { margin-right: 0;}
.d_review .d_cont_area > li:nth-child(n + 3) {}

.d_review .talk_icon {margin-bottom:16px;}
.d_review .review_tit {font-size: var(--font-size-30);font-weight:var(--font-b);margin-bottom: 24px;line-height: 1.4;}
.d_review .review_name {font-size: var(--font-size-26);font-weight:var(--font-b);margin-bottom: 24px;color:#555;}
.d_review .review_star {margin-bottom: 24px;}
.d_review .review_art {font-size: var(--font-size-22);font-weight:var(--font-r);color:#555;margin-bottom:24px;line-height: 1.4;}
.d_review .review_tag {display: flex;gap: 6px;}
.d_review .review_tag li {font-size: var(--font-size-14);font-weight:var(--font-r);padding: 5.5px 10px;border-radius:30px;color:rgba(26,69,75,.7);background:#edf7f6;}

@media (max-width: 1280px) {
	.d_review .d_cont_area > li {padding:30px;}
	.d_review .review_tit {font-size: var(--font-size-26);}
	.d_review .review_name {font-size: var(--font-size-22);}
	.d_review .review_star {margin-bottom:14px;}
	.d_review .review_art {font-size: var(--font-size-20);margin-bottom: 24px;}
	.d_review .review_tag {flex-wrap:wrap;gap: 4px;}
}	
@media (max-width: 1080px) {
	.d_review .d_cont_area > li {padding:20px;}
}
@media (max-width: 720px) {
	.d_review .d_cont_area > li {width: 100%;margin-right: 0;}
	.d_review .d_cont_area > li:nth-child(n + 2) {margin-top:8px;}
}


/*--포트폴리오--*/
.d_portfolio .d_cont_area {display:flex;flex-wrap: wrap;gap:8px;}
.d_portfolio .d_cont_area li {position: relative;width: calc((100% - 24px) / 4);text-align: center;}
.d_portfolio .d_cont_area li span { display: block;font-family: 'Montserrat', sans-serif;font-size: var(--font-size-26);font-weight:var(--font-b);padding: 20px 0; white-space: nowrap; text-overflow: ellipsis; overflow: hidden;}
.d_portfolio .d_cont_area li a h4 { position: relative;}
.d_portfolio .d_cont_area li a h4 .d_hover_text {z-index: 11;position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); color: #fff; width: 100%; text-align: center; opacity: 0; transition: .24s; word-break: keep-all;}
.d_portfolio .d_cont_area li:hover a h4 .d_hover_text { opacity: 1;}
.d_portfolio .d_cont_area li a h4 .d_hover_text p { font-size: 1.1rem;}
.d_portfolio .d_cont_area li a h4 .d_hover_text b { display: block; }
.d_portfolio .d_cont_area li a img { display: block; width: 100%;}
.d_portfolio .d_cont_area li a h4::before {z-index: 10;content: ""; position: absolute; width: 100%; height: 100%; left: 0; right: 0;  background-color:rgba(0,0,0,0.7); transition: .24s; opacity: 0;}
.d_portfolio .d_cont_area li:hover a h4::before { opacity: .8;}
.d_portfolio .d_cont_area li:nth-child(4n) { margin-right: 0;}
.d_portfolio .d_cont_area li:nth-child(4n+1) {  clear:both;}

.chk{position: absolute;top: 8px;left: 13px;z-index: 12;}

/*
.d_portfolio_swip .swiper-pagination {bottom: 50px;}
.d_portfolio_swip .swiper-pagination-bullet{ width: 10px; height: 10px;border-radius:unset !important;opacity: var(--swiper-pagination-bullet-inactive-opacity, 1);transition:.24s;background:rgba(255,255,255,.4);}
.d_portfolio_swip .swiper-pagination-bullet.swiper-pagination-bullet-active {width: 60px;background: var(--point-clr2);}
.d_portfolio_swip .swiper-pagination span{width: 10px;height: 10px;margin: 0 5px !important;}

.d_portfolio_swip .port_swip_navi_box {z-index: 2;display:flex;gap:6px;height: 80px;margin: 0 auto;display: flex;}
.d_portfolio_swip .swiper-button-next.port_swip_next, .swiper-button-prev.port_swip_prev {position: unset;width: 80px;height: 80px;transition: all .24s ease;font-size:0;color: unset !important;background: rgba(255,255,255,.2);}
.d_portfolio_swip .swiper-button-next.port_swip_next:hover, .swiper-button-prev.port_swip_prev:hover {background: rgba(255,255,255,.3);}
.d_portfolio_swip .swiper-button-next.port_swip_next svg, .swiper-button-prev.port_swip_prev svg {width:unset !important;height:unset !important;}
.d_portfolio_swip .swiper-button-next:after, .swiper-button-prev:after {display:none;}
*/

@media (max-width: 1080px) {
	.d_portfolio .d_cont_area li{width: calc((100% - 8px) / 2);}
	.d_portfolio .d_cont_area li span { font-size: var(--font-size-22);padding: 14px 0;}
}
@media (max-width: 720px) {
	.d_portfolio .d_cont_area li span { font-size: var(--font-size-18);padding: 10px 0;}
}
@media (max-width: 480px) {
}



/*--클라이언트--*/
.d_client { background: var(--main-clr);}
.d_client .d_cont_area {position:relative;overflow:hidden;display:flex;flex-direction:column;gap:50px;padding:70px 0;background:#fff;}
.d_client .d_cont_area::after, .d_client .d_cont_area::before{z-index: 2;content:"";position:absolute;top:0;width:10%;height:100%;}
.d_client .d_cont_area::after {left:0;background:linear-gradient(to right, rgb(26 69 75 / 96%) 5%, transparent)}
.d_client .d_cont_area::before {right:0;background:linear-gradient(to left, rgb(26 69 75 / 96%) 5%, transparent)}

.d_client .d_cont_area .auto_play_box {
	position:relative;display:flex;align-items:center;gap:120px;
	animation-duration:20s; animation-timing-function:linear; animation-iteration-count: infinite;
}
.d_client .d_cont_area .auto_play_box.left {left:0;animation-name:flow_left; }
.d_client .d_cont_area .auto_play_box.right {right:0;animation-name:flow_right;}
.d_client .d_cont_area .auto_play_box img {display:block;max-width:100%;}

@keyframes flow_left{ 
	0%{left:0;}	
	100%{left:-100%;}	
}
@keyframes flow_right{ 
	100%{left:0;}	
	0%{left:-100%;}	
}

@media (max-width: 1280px) {
	.d_client .d_cont_area {gap:30px;padding:50px 0;}
	.d_client .d_cont_area .auto_play_box {gap:80px;}
	.d_client .d_cont_area .auto_play_box img {width: 100%;}
}
@media (max-width: 1080px) {
	.d_client .d_cont_area .auto_play_box {gap:50px;}
	.d_client .d_cont_area .auto_play_box img {width: 100%;height: 30px;}
}
@media (max-width: 720px) {
	.d_client .d_cont_area {gap:20px;padding:40px 0;}
}
@media (max-width: 480px) {
}


/*--푸터--*/
.d_footer {color:#fff;background:#000;}
.d_footer_top {padding:60px 0;border-bottom:1px solid #fff;}
.d_footer_tit {width: fit-content;padding:6px 20px;font-size:var(--font-size-52);font-weight:var(--font-b);font-style:italic;margin-bottom:36px;color:#000;background:#fff;}
.d_footer_info {display:flex;flex-wrap:wrap;gap: 32px;}
.d_footer_info li {display:flex;gap:22px;font-size:var(--font-size-18);font-weight:var(--font-l);}
.d_footer_info li b {position:relative;font-weight:var(--font-b);}
.d_footer_info li b::after {content:"";position:absolute;top:50%;transform:translateY(-50%);right:-12px;width:2px;height:10px;background:#fff;}

.d_footer_btm .d_inner {display:flex;justify-content:space-between;padding:30px 0;font-size:var(--font-size-16);font-weight:var(--font-l);}
.d_footer_btm .d_copy {}
.d_footer_btm ul {display:flex;gap:30px;}
.d_footer_btm ul li:last-child {font-weight:var(--font-b);}
.d_footer_btm ul li a {display:flex;gap:30px;text-decoration:underline;}

@media (max-width: 1080px) {
	.d_footer_tit {padding:4px 16px;font-size: var(--font-size-40);}
	.d_footer_info {gap: 20px;}
}
@media (max-width: 720px) {
	.d_footer_top {padding: 50px 0;}
	.d_footer_tit {margin-bottom: 30px;font-size: var(--font-size-30);}
	.d_footer_info {gap: 14px;}
	.d_footer_info li {gap:16px;}
	.d_footer_info li b::after {right:-8px;}
	
	.d_footer_btm .d_inner { display: flex ; justify-content: space-between;padding: 20px 0;}
}
@media (max-width: 480px) {
    .d_footer_btm .d_inner {flex-direction: column;gap: 10px;}
}

/*--개인정보처리방침--*/
.add_pop_wrap {position: fixed;top: 0;left: 0;width: 100%;height: 100%;background: rgba(0,0,0,.7);z-index:90;display: none;}
.add_pop_wrap *{color: #fff;}
.add_pop_inner{position: absolute;top: 50%;left: 50%;width: 94%;max-width: 800px;height: 600px;border-radius: 15px;overflow: hidden;transform: translate(-50%,-50%) scale(.9);transition: transform .3s ease;}
#add_wrap_02 .add_pop_inner{height: 600px;}
.add_pop_wrap.active .add_pop_inner{transform: translate(-50%,-50%) scale(1);}

.add_pop_tit{background:var(--main-clr);color: #FFF;display: flex;flex-direction: row;align-items: center;justify-content: space-between;padding: 0 25px;}
.add_pop_close{width: 20px;height: 60px;position: relative;}
.add_pop_close span{position: absolute;top: 29px;left: 0;width: 20px;height: 2px;background: #fff;z-index: 1;transition: transform .3s ease; }
.add_pop_close span:nth-child(1){transform: rotate(45deg);}
.add_pop_close span:nth-child(2){transform: rotate(-45deg);}

.add_pop_close:hover span{transform: rotate(0);}

.add_pop_con{background: #FFF;padding: 22px 25px;overflow-y: scroll;height: calc( 100% - 60px );}
.add_pop_con h5{font-size: 1rem;font-weight: bold;margin-bottom: 10px; color:#121212;}
.add_pop_con p{font-size: 14px;line-height: 160%;margin-bottom: 25px; color:#121212;}


@media (max-width: 780px){ 
	.add_pop_con p{font-size: 12px;}
}



/*---new---*/
.k_input{display: block;width: 100%;padding: 0 10px;height: 45px;outline: none;}

.k_label_txt{font-size: 1rem;-webkit-text-stroke: 0.02em;}
.k_port{-webkit-text-stroke: 0.005em;}
.tbl_frm01 th{text-align: center;font-size: 1rem;width: 150px;-webkit-text-stroke: 0.02em;background: #f9f9f9;}

#ca_name{width: 180px;padding: 10px 5px;}
#ca_name.required, textarea.required{background-image: none !important;}
.cke_sc{display: none;}
.k_alert{display: block;font-size: 0.9rem;padding-top: 3px;-webkit-text-stroke: 0.01em;color: #777;}
.k_required{color: #F00;}

#btn_submit, .btn_cancel{margin: 0;width: 120px;line-height: 46px;}



/*pointer*/
#cursor{position: fixed;top: 0;left: 0;z-index: 9999;transform-origin: center;}
#cursor .blob{position: absolute;top: 50%;left: 50%;margin: -7.5px 0 0 -7.5px;width: 15px;height: 15px;border-radius: 100%;background: transparent;pointer-events: none;transition: width 0.3s, height 0.3s, margin 0.3s, background-color 0.3s, color 0.3s;}
#cursor .blob span{position: absolute;top: 50%;left: 50%;transform: translate(-50%,-50%);color: transparent;width: 100%;transition: color 0.3s;text-align: center;font-weight: 500;white-space: nowrap;background-repeat: no-repeat;background-position: center center;}

#cursor.active .blob{width: 164px;height: 164px;margin: -82px 0 0 -82px;background: rgba(206,248,0,.7);color: var(--main-clr);}
#cursor.active .blob span{font-weight:var(--font-b);color: var(--main-clr);}

#cursor.active.on_video span{background-image: url(../img/icon/play_btn.png);color: transparent;}

@media (max-width: 1020px) {
	.k_inner .d_port_sub_sec .d_tit_area h4{font-size: 1.5rem !important;}
	.d_port_sub_sec .d_tit_area p{font-size: 1.1rem !important;}
	.d_port_sub_sec .d_tit_area{margin-bottom: 30px !important;}
	.d_video_box{margin-bottom: 30px !important;}

	#k_new_txt_area .d_explan{}
	#k_new_txt_area .d_info_text h2, #k_new_txt_area .d_info_text h2 span, #k_new_txt_area .d_planing_text h2{display: block;width: 100%;margin-bottom: 20px !important;font-size: 1.5rem;}
	.d_port_sub_sec .d_text_area .d_explan span b{width: 80px !important;}
	.d_port_sub_sec .d_text_area{margin-bottom: 50px !important;}

	.d_project_list_area li a{padding: 15px 0 !important;font-size: 11px !important;}
	.d_port_sub_sec .d_project_list_area li span{display: none;}
	.d_port_sub_sec .d_project_list_area li h3{width: 25% !important;font-size: 12px !important;}
	.d_port_sub_sec .d_project_list_area li p{width: 75% !important;}

	#new_port h4{font-size: 2rem;margin-bottom: 10px;}
	#new_port p{font-size: 1.4rem;line-height: 160% !important;}
	#new_port p br{display: none;}
	#new_port p, #new_port b{display: inline-block;width: 100%;text-align: center;}

	.tit_list li{display: inline-block !important;margin-bottom: 0 !important;}
}


/*--포트폴리오 섹션 공통--*/
.port_cate_sec { margin-bottom: 80px; }
.port_cate_sec:last-child { margin-bottom: 0; }

.port_cate_tit { display: flex; align-items: flex-end; gap: 15px; margin-bottom: 30px; }
.port_cate_tit h3 { font-size: var(--font-size-26); font-weight: var(--font-b); color: var(--black-clr); white-space: nowrap; }
.port_cate_tit p { font-size: var(--font-size-16); color: #666; padding-bottom: 4px; }

/* PC 3단 배열 */
.d_portfolio .d_cont_area {display: flex;flex-wrap: wrap;gap: 36px 10px;} /* 세로간격 20px, 가로간격 10px */
.d_portfolio .d_cont_area li { width: calc((100% - 20px) / 3); position: relative; text-align: center; }
.d_portfolio .d_cont_area li a img {display: block;width: 100%;object-fit: cover;aspect-ratio: 16/9;border: 1px solid #ededed;}
.d_portfolio .d_cont_area li span {display: block;font-family: 'Montserrat', sans-serif;font-size: var(--font-size-18);font-weight: var(--font-b);padding: 30px 0 0;white-space: nowrap;text-overflow: ellipsis;overflow: hidden;}

/* 모바일 화면 대응 */
@media (max-width: 1080px) {
    /* 모바일 2단 배열 */
    .d_portfolio .d_cont_area { gap: 15px 8px; }
    .d_portfolio .d_cont_area li { width: calc((100% - 8px) / 2); }
    .d_portfolio .d_cont_area li span { font-size: var(--font-size-16); padding: 10px 0; }
}

@media (max-width: 720px) {
    /* 모바일 타이틀 세로 정렬 */
    .port_cate_tit { flex-direction: column; align-items: flex-start; gap: 8px; margin-bottom: 20px; }
    .port_cate_sec { margin-bottom: 50px; }
    .d_portfolio .d_cont_area li span {font-size: var(--font-size-16);}
}

/*-- 기록 (d_record) --*/
.d_record .record_tit {text-align: center;margin-bottom: 80px;}
.d_record .record_tit h2 {font-size: var(--font-size-40);font-weight: var(--font-b);line-height: 1.4;color: var(--black-clr);}
.d_record .record_tit h2 b { font-weight: var(--font-b); }
.d_record .record_grid { display: flex; gap: 10px; }
.d_record .record_grid li {width: calc((100% - 30px) / 5);}
.d_record .record_grid li img {display: block;width: 100%;height: 100%;object-fit: cover;aspect-ratio: 3/4;}


/* 첨부된 시안처럼 폰트 컬러 적용을 원하시면 var(--main-clr) 등으로 조정하세요 */
.d_record .record_tit h2 b { font-weight: var(--font-b); color: var(--main-clr); } 

/* 무한 롤링 컨테이너 */
.d_record .record_rolling_wrap { 
    width: 100%; 
    overflow: hidden; /* 박스 밖으로 나가는 이미지 숨김 처리 */
}

/* 롤링 트랙 및 애니메이션 설정 */
.d_record .record_track { 
    display: flex; 
    width: max-content; /* 내부 콘텐츠 길이만큼 유연하게 폭 확장 */
    animation: record_rolling 20s linear infinite; /* 20초 동안 일정한 속도로 무한 반복 */
}

/* 마우스 오버 시 애니메이션 일시정지 (선택 사항) */
.d_record .record_track:hover {
    animation-play-state: paused;
}

.d_record .record_grid {
    display: flex;
    gap: 10px;
    padding-right: 10px; /* 복제된 ul과 이어질 때 gap과 동일한 간격을 맞추기 위해 추가 */
}

/* 무한 스크롤 시 li에 calc(100%...)를 쓰면 부모 width 기준이라 레이아웃이 꼬입니다.
  vw(뷰포트 너비)나 clamp를 사용하여 반응형 고정폭을 주는 것이 가장 안정적입니다.
*/
.d_record .record_grid li { 
    width: clamp(280px, 22vw, 447px); 
    flex-shrink: 0; 
}

.d_record .record_grid li img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    aspect-ratio: 3/4;
}

/* 무한 롤링 키프레임 (딱 절반인 50% 지점까지만 이동하면 루프됨) */
@keyframes record_rolling {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); } 
}

/*-- 모바일 반응형 사이즈 조정 --*/
@media (max-width: 1080px) {
    .d_record .record_tit h2 { font-size: var(--font-size-30); }
    .d_record .record_grid li { width: clamp(200px, 40vw, 300px); } /* 모바일에서는 이미지가 조금 더 크게 보이도록 vw 비율 조정 */
}

@media (max-width: 720px) {
    .d_record .record_tit { margin-bottom: 30px; }
    .d_record .record_tit h2 {font-size: var(--font-size-28);}
    .d_record .record_grid li { width: 60vw; } /* 작은 모바일에서는 화면의 60% 차지 */
}



/*--슬로건 배너 (Section 2)--*/
.d_slogan .slogan_bg { position: relative; padding: 180px 0; }
/* 배경 이미지가 돋보이면서도 텍스트가 잘 보이도록 검은색 오버레이 농도 조절 (0.7) */
.d_slogan .slogan_bg::after { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.7); z-index: 1; }
.d_slogan .slogan_txt {position: relative;z-index: 2;text-align: center;color: #fff;display: flex;flex-direction: column;align-items: center;gap: 24px;}

.d_slogan .slogan_logo { width: 50px; margin-bottom: 10px; } 
.d_slogan .slogan_logo img { display: block; width: 100%; }

/* 타이틀 텍스트 크기 및 굵기 대비 */
.d_slogan .slogan_txt h2 { line-height: 1.4; }
.d_slogan .slogan_txt h2 span {display: block;font-size: 44px;font-weight: var(--font-l);opacity: 1;}
.d_slogan .slogan_txt h2 b {font-size: 48px;font-weight: var(--font-b);color: #fff;}

/* 서브 텍스트 */
.d_slogan .slogan_txt p {font-size: var(--font-size-20);font-weight: var(--font-l);opacity: 1;margin-bottom: 10px;}

/* Read More 버튼 스타일 */
.d_slogan .slogan_btn a { 
    display: inline-block; 
    padding: 14px 50px; 
    border: 1px solid rgba(255, 255, 255, 0.5); 
    color: #fff; 
    font-family: 'Montserrat', sans-serif; 
    font-size: var(--font-size-16); 
    font-weight: var(--font-r);
    transition: all 0.3s ease;
}
.d_slogan .slogan_btn a:hover { 
    background: #fff; 
    color: #000; 
    border-color: #fff; 
}

/* 모바일 화면 대응 (1080px 이하) */
@media (max-width: 1080px) {
    .d_slogan .slogan_bg { padding: 130px 0; }
    .d_slogan .slogan_txt h2 span { font-size: var(--font-size-24); }
    .d_slogan .slogan_txt h2 b { font-size: var(--font-size-36); }
    .d_slogan .slogan_txt p { font-size: var(--font-size-18); }
}

/* 모바일 화면 대응 (720px 이하) */
@media (max-width: 720px) {
    .d_slogan .slogan_bg { padding: 100px 0; }
    .d_slogan .slogan_logo { width: 40px; margin-bottom: 0; }
    .d_slogan .slogan_txt { gap: 16px; }
    .d_slogan .slogan_txt h2 span {font-size: var(--font-size-24);}
    .d_slogan .slogan_txt h2 b { font-size: var(--font-size-26); }
    .d_slogan .slogan_txt p { font-size: var(--font-size-15); word-break: keep-all; }
    .d_slogan .slogan_btn a { padding: 12px 40px; font-size: var(--font-size-14); }
}

#mb_login {
    padding-top: 5%;
    width: 480px;
}