@charset "utf-8";

/*

이노플랜 css

* File : common.css
* 
*
* SUMMARY:
* 01) root
* 02) global
* 03) layout


* 주의!
테마 파일로 옮길 때 이미지 경로 바꿔주기
url(/wp-content/uploads/to_top.png) -> url(/wp-content/uploads/to_top.png)

* Breakpoints
- 테블릿 : 1024px
- 모바일 : 767px
- 더 작은 모바일 : 480px


* font style
- 'Poppins', 'Pretendard', sans-serif;


*/




/* **************************************** *
 * root
 * **************************************** */
:root {
    /* color */
    --primary-color: #8C60FF;
	--bg-color: #000;
    --font-color: #fff;
	--font-gray: #7F7F7F;
    

    /* layout */
    --content-width: 1800px;
    --content-padding: 0 16px; /* 컨텐츠 너비 아래로 줄였을때르 위한 padding */
	--content-gap: 0 40px;
	--content-gap-halb: 20px;

	/* font */
	--font-title: 'Pretendard', sans-serif;

	/* font line-height */
	--text-line-height: 1.6em;
	--title-line-height: 1.4em;
}

@media screen and (max-width: 1024px) {
	:root {
		--content-gap: 0 16px;
		--content-gap-halb: 8px;
	}
}



/* **************************************** *
 * GLOBAL
 * **************************************** */
html {
    overflow-x: hidden;
}
body {
	overflow-x: hidden;
	overflow-y: hidden; 
	word-break: keep-all; 
	font-family: 'Pretendard', sans-serif;
	color: var(--font-color);
	background: var(--bg-color);
	font-size: 18px;
	font-weight: 400;
	line-height: var(--text-line-height);}
* {
	box-sizing: border-box;
	font-family: 'Pretendard', sans-serif;
}
a {
	color: var(--font-color);
	text-decoration: none;
}
.sr_only {
    position: fixed;
    top: -9999999999999999999999px;
    opacity: 0;
}
.br_pc {display:block;}
.br_t {display: none;}
.br_m,.image_m {display:none;}


@media screen and (max-width: 767px) {
	body {font-size: 16px;}
    .br_pc, .image_pc {display: none;}
    .br_m {display:block;}
	.image_m {display: inline-block;}
}






/* selection */
::-moz-selection { background: var(--primary-color); color: #fff; }
::selection { background: var(--primary-color); color: #fff; }
img::-moz-selection { background: none; }
img::selection { background: none; }





/* **************************************** *
 * layout
 * **************************************** */
.inno_section {
	width: 100%;
	padding: var(--content-padding);
	z-index: 20;
	position: relative;
	background: var(--bg-color);
}
.header_inner, .section_inner, .footer_inner {
    display: flex;
    flex-wrap: wrap;
    position: relative;
	margin: 0 auto;
}
.section_content_width {
    width: 100%;
    max-width: var(--content-width);
}
.section_full_width {
    width: 100%;
}
.section_inner {
	padding-top: 180px;
	padding-bottom: 200px;
}
.section_padding-top {
	padding-top: 180px;
	padding-bottom: 0;
}
.section_padding-bottom {
	padding-top: 100px;
	padding-bottom: 200px;
}
.section_no_padding {
	padding-top: 0;
	padding-bottom: 0;
}
.inno_column {
    width: 100%;
    position: relative;
}
.inno_column-9 {
	width: calc(100% - 25%);
	/* width: calc((100% - 25%) - var(--content-gap-halb)); */
}
.inno_column-8 {
	width: 66.66%;
	/* width: calc(66.66% - var(--content-gap-halb)); */
}
.inno_column-7 {
	width: calc(8.333% * 7);
	/* width: calc((8.333% * 7) - var(--content-gap-halb)); */
}
.inno_column-6 {
    width: 50%;
	/* width: calc(50% - var(--content-gap-halb)); */
}
.inno_column-5 {
	width: calc(8.333% * 5);
	/* width: calc((8.333% * 5) - var(--content-gap-halb)); */
}
.inno_column-4 {
    width: 33.33%;
	/* width: calc(33.33% - var(--content-gap-halb)); */
}
.inno_column-3 {
    width: 25%;
	/* width: calc(25% - var(--content-gap-halb)); */
}
.title_column {
	padding-bottom: 80px;
}
.col_content {
	border-top: 1px solid rgba(255, 255, 255, 0.50);	
}
.section_w .col_content {
	border-top: 1px solid rgba(0, 0, 0, 0.30);
}


@media screen and (max-width: 1024px) {
	.section_inner {
		padding-top: 100px;
		padding-bottom: 120px;
	}
	.section_padding-top {
		padding-top: 100px;
		padding-bottom: 0;
	}
	.section_padding-bottom {
		padding-bottom: 100px;
		padding-top: 40px;
	}

	.inno_column-3, .inno_column-9 {
		width: 100%;
	}

	.title_column, .title_column_s {
		padding-bottom: 48px;
	}
}

@media screen and (max-width: 767px) {
	.section_inner {
		padding-top: 80px;
		padding-bottom: 80px;
	}
	.section_padding-top {
		padding-top: 80px;
		padding-bottom: 0;
	}
	.section_padding-bottom {
		padding-bottom: 80px;
		padding-top: 24px;
	}
	.inno_column-9, .inno_column-8, .inno_column-7, .inno_column-6, .inno_column-5, .inno_column-4, .inno_column-3, .inno_column-2 {
		width: 100%;
	}

	.title_column {
		padding-bottom: 40px;
	}
	.title_column_s {
		padding-bottom: 24px;
	}
}






/* **************************************** *
 * font default
 * **************************************** */
h1 {
	font-size: 120px;
	font-style: normal;
	font-weight: 500;
	line-height: 1.4em;
}
h2 {
	font-size: 70px;
	font-style: normal;
	line-height: 1.4em;
	font-weight: 500;
}
.section_w h2 {
	font-weight: 600;
}
h3 {
	font-size: 32px;
	line-height: 1.4em;
	font-style: normal;
	font-weight: 600;
}
h4 {
	font-size: 26px;
	font-weight: 600;
	line-height: 1.4em;
}
p {
	line-height: var(--text-line-height);
}
p.txt_lg {
	font-size: 26px;
}
strong {
	font-weight: 600;
}



@media screen and (max-width: 1024px) {
	h1 {
		font-size: 56px;
	}
	h2 {
		font-size: 40px;
	}
	h3 {
		font-size: 28px;
	}
	h4 {
		font-size: 23px;
	}
	p.txt_lg {
		font-size: 20px;
	}
}


@media screen and (max-width: 767px) {
	h1 {
        font-size: 36px;
    }
	h2 {
		font-size: 26px;
	}
	h3 {
		font-size: 21px;
	}
	h4 {
		font-size: 18px;
	}
	p.txt_lg {
		font-size: 16px;
	}
}





/* **************************************** *
 * button default
 * **************************************** */





/* slick nav */
.carousel_nav_wrap {
	display: flex;
	flex-direction: column;
}
.carousel_nav {
    display: flex;
    gap: 16px;
    padding-bottom: 8px;
}
button.slick-arrow {
	appearance: none;
	outline: none;
	display: block;
	width: 80px;
	height: 80px;
	border: 1px solid #000;
	border-radius: 50%;
	transition: .3s ease-in-out;
	color: transparent;
	user-select: none;
	cursor: pointer;
	background-color: transparent;
}
button.slick-next.slick-arrow {
	background: transparent url(/wp-content/uploads/arrow_next.png) no-repeat center;
	background-size: 24px;
}
button.slick-prev.slick-arrow {
	background: transparent url(/wp-content/uploads/arrow_prev.png) no-repeat center;
	background-size: 24px;
}

#main_con3 button.slick-arrow {
    border: 1px solid rgba(255, 255, 255, 0.50);
}
#main_con3 button.slick-prev.slick-arrow {
    background: transparent url(/wp-content/uploads/arrow_prev_h.png) no-repeat center;
    background-size: 24px;
}
#main_con3 button.slick-next.slick-arrow {
    background: transparent url(/wp-content/uploads/arrow_next_h.png) no-repeat center;
    background-size: 24px;
}


button.slick-next.slick-arrow:hover,
#main_con3 button.slick-next.slick-arrow:hover {
    border-color: var(--primary-color);
	background: var(--primary-color) url(/wp-content/uploads/arrow_next_h.png) no-repeat center;
    background-size: 24px;
}
button.slick-prev.slick-arrow:hover,
#main_con3 button.slick-prev.slick-arrow:hover {
    border-color: var(--primary-color);
	background: var(--primary-color) url(/wp-content/uploads/arrow_prev_h.png) no-repeat center;
    background-size: 24px;
}

button.slick-arrow.slick-disabled {
	cursor: default;
}






@media screen and (max-width: 1024px) {
	button.slick-arrow {
		width: 50px;
		height: 50px;
		background-size: 18px !important;
	}
}

@media screen and (max-width: 767px) {
	.btn_s {
		width: 40px;
		height: 40px;
	}
	.btn_s_icon {
		width: 16px;
		height: 16px;
	}

    button.slick-arrow {
        width: 40px;
		height: 40px;
		background-size: 14px !important;
    }
}




/* **************************************** *
 * cursor
 * **************************************** */
/* hover-view 활성화 시에만 기본 커서 숨김 */
body.cursor-hide { cursor: none; }
body.cursor-hide a,
body.cursor-hide button { cursor: none;}



/* 큰 보라색 그라데이션 원 */
.cursor-glow{
	position: fixed;
	left: 0; top: 0;
	width: 872px;
	height: 872px;
	border-radius: 50%;
	pointer-events: none;
	z-index: 50;
	transform: translate(-50%, -50%);
	background: radial-gradient(50% 50% at 50% 50%, rgba(140, 96, 255, 0.50) 0%, rgba(140, 96, 255, 0.00) 100%);
	filter: blur(15px);
	opacity: 0.9;
	/* 배경 위에 은은히 */
	mix-blend-mode: screen;
	will-change: transform;
}

/* hover 시 나타날 “View” 커서 */
.cursor-view{
	position: fixed;
	left: 0; top: 0;
	width: 120px;
	height: 120px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	pointer-events: none;
	z-index: 60;
	transform: translate(-50%, -50%) scale(0);
	background: rgba(255, 255, 255, 0.80);
	color: #000;
	font-weight: 700;
	font-size: 18px;
	letter-spacing: 0.2px;
	box-shadow: 0 12px 30px rgba(0,0,0,0.25);
	opacity: 0;
	scale: 0.9;
	will-change: transform, opacity;
}


@media screen and (max-width: 767px) {
    .cursor-glow, .cursor-view {
        display: none;
    }
}



/* **************************************** *
 * HEADER
 * **************************************** */
#wpadminbar {
	position: fixed;
}
.inno_header {
	width: 100%;
	position: fixed;
	z-index: 99996;
	background: #000;
    transition: .3s ease-in-out;
	padding: var(--content-padding);
}
.header_inner {
	
	justify-content: space-between;
	align-items: center;
	gap: 40px;
    transition: .3s ease-in-out;
}
.header_content_width {
	width: 100%;
	max-width: var(--content-width);
}

.header_standard_logo {
	display: none;
}
.header_sticky_logo {
	display: block;
}
.header_logo_link img {
	width: auto;
	height: 30px;
}


.header_right {
	display: flex;
    gap: 3.8vw;
    align-items: stretch;
	justify-content: flex-end;
	height: 100%;
}


/* menu */
#inno_main_nav {
	height: 100%;
    display: flex;
    align-items: center;
}
#inno_main_nav .main-menu {
    display: flex;
    /* gap: 80px; */
	align-items: center;
	height: 100%;
}
#inno_main_nav .main-menu > .menu-item {
	position: relative;
	height: 100%;
	padding: 24px 0;
	transition: .3s ease-in-out;
}
#inno_main_nav .main-menu > .menu-item > a {
	position: relative;
	transition: .3s ease-in-out;
	font-weight: 700;
	height: 100%;
	display: flex;
	align-items: center;
	color: #fff;
	font-size: 18px;
	padding-right: 60px;
}
#inno_main_nav .main-menu > .menu-item.gnb_last > a {
	padding-right: 0;
}
#inno_main_nav .main-menu > .menu-item > a:hover {
	color: var(--primary-color);
}
#inno_main_nav .main-menu > .menu-item.current-menu-ancestor > a,
#inno_main_nav .main-menu > .menu-item.current-menu-item > a,
#inno_main_nav .main-menu > .menu-item.current-menu-parent > a,
#inno_main_nav .main-menu > .menu-item.current_page_item > a
#inno_main_nav .main-menu .sub-menu .menu-item.current-menu-parent > a {
	color: var(--primary-color);
}
#inno_main_nav .main-menu > .menu-item:last-child > a {
	padding-right: 0;
	width: 87px;
}
/* #inno_main_nav .main-menu > .menu-item:last-child > .sub-menu .menu-item a {
	width: 100px;
} */

/* submenu */
#inno_main_nav .main-menu > .menu-item > .sub-menu {
	display: none;
	position: absolute;
	padding: 0px;
	top: 100%;
	left: 0;
}

#inno_main_nav .main-menu .sub-menu .menu-item a {
    display: block;
    padding: 4px 0;
    color: #A0A0A0;
    font-size: 16px;
	font-weight: 600;
}
#inno_main_nav .main-menu .sub-menu .menu-item a:hover,
#inno_main_nav .main-menu .sub-menu .menu-item.current-menu-item > a {
	color: var(--primary-color);
}
#inno_main_nav .main-menu .sub-menu .menu-item.current-menu-item > a {
	font-weight: 600;
}


#inno_main_nav .main-menu .sub-menu .menu-item .sub-menu {
    display: none;
}


/* portfolio menu */
.single-ir #inno_main_nav .main-menu .menu-item.gnb_projects > a,
.single-ir #inno_main_nav .main-menu .sub-menu .menu-item.gnb_portfolio a,
.single-document #inno_main_nav .main-menu .menu-item.gnb_projects > a,
.single-document #inno_main_nav .main-menu .sub-menu .menu-item.gnb_portfolio a,
.single-branding #inno_main_nav .main-menu .menu-item.gnb_projects > a,
.single-branding #inno_main_nav .main-menu .sub-menu .menu-item.gnb_portfolio a,
.single-web #inno_main_nav .main-menu .menu-item.gnb_projects > a,
.single-web #inno_main_nav .main-menu .sub-menu .menu-item.gnb_portfolio a,
.archive #inno_main_nav .main-menu .sub-menu .menu-item.gnb_portfolio a {
    color: var(--primary-color);
}



/* portfolio mobile menu */
.single-ir #inno_mobile_nav .main-menu .menu-item.gnb_projects > a,
.single-ir #inno_mobile_nav .main-menu .sub-menu .menu-item.gnb_portfolio > a,
.single-ir #inno_mobile_nav .main-menu .sub-menu .menu-item.gnb_portfolio_ir a,
.single-document #inno_mobile_nav .main-menu .menu-item.gnb_projects > a,
.single-document #inno_mobile_nav .main-menu .sub-menu .menu-item.gnb_portfolio > a,
.single-document #inno_mobile_nav .main-menu .sub-menu .menu-item.gnb_portfolio_biz a,
.single-branding #inno_mobile_nav .main-menu .menu-item.gnb_projects > a,
.single-branding #inno_mobile_nav .main-menu .sub-menu .menu-item.gnb_portfolio > a,
.single-branding #inno_mobile_nav .main-menu .sub-menu .menu-item.gnb_portfolio_branding a,
.single-web #inno_mobile_nav .main-menu .menu-item.gnb_projects > a,
.single-web #inno_mobile_nav .main-menu .sub-menu .menu-item.gnb_portfolio > a,
.single-web #inno_mobile_nav .main-menu .sub-menu .menu-item.gnb_portfolio_web a {
    color: var(--primary-color);
}


/* gnb insight */
.single-insight #inno_main_nav .main-menu > .menu-item.gnb_about > a,
.single-insight #inno_main_nav .main-menu .sub-menu .menu-item.gnb_insight a,
.single-insight #inno_mobile_nav .main-menu > .menu-item.gnb_about > a,
.single-insight #inno_mobile_nav .main-menu .sub-menu .menu-item.gnb_insight a {
    color: var(--primary-color) !important;
}



/* 메인 헤더 - white ver */
.home .inno_header {
	background: #fff;
}
.home .header_standard_logo {
	display: block;
}
.home .header_sticky_logo {
	display: none;
}
.home .header-sticky .header_standard_logo {
	display: none;
}
.home .header-sticky .header_sticky_logo {
	display: block;
}
.home #inno_main_nav .main-menu > .menu-item > a {
	color: #000;
}





/* header scroll */
.header-sticky, .home .header-sticky {
    background: #000;
}
.header-sticky .header_inner {
    padding-top: 0px;
    padding-bottom: 0px;
}
.header-sticky .header_sticky_logo {
    display: block;
}
.header-sticky .header_standard_logo {
    display: none;
}
.header-sticky #inno_main_nav .main-menu > .menu-item {
    padding: 24px 0;
}
.header-sticky #inno_main_nav .main-menu > .menu-item > a {
    color: #fff;
}
.header-sticky #inno_main_nav .main-menu > .menu-item.current-menu-ancestor > a,
.header-sticky #inno_main_nav .main-menu > .menu-item.current-menu-item > a,
.header-sticky #inno_main_nav .main-menu > .menu-item.current-menu-parent > a,
.header-sticky #inno_main_nav .main-menu > .menu-item.current_page_item > a,
.header-sticky #inno_main_nav .main-menu > .menu-item > a:hover {
	color: var(--primary-color);
}


/* mega menu */
.megamenu_wrap {
	width: 100%;
	background: #000;
	/* border-bottom: 1px solid #dcdcdc; */
	/* position: absolute;
	top: 100%;
	left: 0; */
	z-index: -1;
	position: relative;
	transition: .3s ease-in-out;
}
.home .megamenu_wrap  {
	background: #fff;
}
.home .header-sticky .megamenu_wrap {
	background: #000;
}

/* mobile header */
.menu_mobile_btn {
	display: none;
	/* display: flex; */
	flex-direction: column;
	justify-content: space-between;
	width: 24px;
    height: 17px;
	/* background : #fff; */
}

.menu_mobile_btn_line {
	display: block;
	width: 100%;
	height: 1px;
	background: #fff;
}
.home .menu_mobile_btn_line {
	background: #000;
}
.home .header-sticky .menu_mobile_btn_line {
	background: #fff;
}
/* .header_mobile_inner, */
#inno_mobile_nav {
    display: none;
}



@media screen and (max-width: 1300px) {
	.header_logo_link img {
		height: 26px;
	}
	.header_right {
		gap: 24px;
	}
	#inno_main_nav .main-menu > .menu-item > a {
		padding-right: 32px;
	}
}



@media screen and (max-width: 1200px) {
	.inno_header {
		padding-left: 0;
		padding-right: 0;
	}
	.header_inner {
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
		padding-top: 16px;
		padding-bottom: 16px;
		padding-left: 16px;
		padding-right: 16px;
	}
	.header-sticky .header_inner {
		padding-top: 16px;
		padding-bottom: 16px;
		padding-left: 16px;
		padding-right: 16px;
	}
	
	#inno_main_nav {
		width: 100%;
		display: none;
	}
	#inno_main_nav.menu_on {
		display: block !important;
	}
	.menu_mobile_btn {
		display: flex;
	}
	#inno_main_nav .main-menu {
		justify-content: flex-end;
		gap: 0;
		flex-direction: column;
		background: #fff;
	}
	#inno_main_nav .main-menu > .menu-item {
		padding: 12px 0;
		border-bottom: 1px solid var(--line-color);
	}
	#inno_main_nav .main-menu > .menu-item > a {
		color: #222;
		padding: 0 16px;
		font-size: 14px;
		font-weight: 500;
	}
	.header_logo {
        position: static;
        transform: unset;
    }
	/* .header_logo_link img {
        height: 18px;
    } */




	/* lang */
	.lang_btn_wrap {
		margin-left: 0;
		margin-right: 24px;
		display: none;
	}
	#inno_main_nav .wpml-ls-item {
		display: block;
	}
	#mobile-menu .wpml-ls-item {
		position: absolute;
		left: 16px;
		border-bottom: 0 !important;
		padding-top: 16px;
	}
	#mobile-menu .wpml-ls-item:last-child {
		left: 66px;
	}
	#inno_mobile_nav .main-menu > .menu-item.wpml-ls-item > a {
        width: 40px;
        height: 40px;
        display: flex;
        padding: 0;
        text-align: center;
        align-items: center;
        justify-content: center;
        color: #a0a0a0;
        border: 1px solid #dcdcdc;
        border-radius: 80px;
        font-size: 14px;
        font-weight: 500;
    }
	#inno_mobile_nav .main-menu > .menu-item.wpml-ls-item.wpml-ls-current-language > a {
		color: #000;
		border-color: #000;
	}



	/* 모바일 버튼 */
	.menu_mobile_btn {
		display: flex;
	}
    /* 모바일 메뉴 */
	#inno_mobile_nav {
		position: relative;
		padding: 0;
	}
	#inno_mobile_nav .main-menu:before {
		content: "";
		position: absolute;
		left: -16px;
		top: 0;
		background: #fff;
		width: calc(100% + 16px + 16px);
		height: 100%;
		z-index: -1;
	}
    #inno_mobile_nav.menu_on {
        display: block;
    }
	#inno_mobile_nav .main-menu {
		justify-content: flex-end;
		gap: 0;
		flex-direction: column;
		background: #000;
        /* padding-bottom: 16px; */
		height: calc(100vh - 50px);
        overflow-y: auto;
		padding-bottom: 60px;
	}

	#inno_mobile_nav .main-menu > .menu-item {
		border-bottom: 1px solid rgba(255, 255, 255, 0.30);
	}
	#inno_mobile_nav .main-menu > .menu-item:last-child {
		border-bottom: 0;
	}
	#inno_mobile_nav .main-menu > .menu-item > a {
        position: relative;
        color: #fff;
        padding: 10px 16px;
        font-size: 16px;
        font-weight: 600;
        display: block;
        /* border-bottom: 1px solid var(--line-color); */
        line-height: 1.6em;
		text-transform: uppercase;
	}
	#inno_mobile_nav .main-menu > .menu-item.menu-item-has-children > a:before {
        content: "";
        position: absolute;
        top: 50%;
        right: 14px;
        transform: translateY(-50%);
		width: 14px;
        height: 14px;
        background: url(/wp-content/uploads/menu_more.png) no-repeat center;
        background-size: cover;
		transition: .3s ease-in-out;
    }
	#inno_mobile_nav .main-menu > .menu-item.menu-item-has-children > a.submenu_on:before {
		transform: translateY(-50%) rotate(180deg);
	}
    #inno_mobile_nav .main-menu > .menu-item ul.sub-menu {
        display: none;
        /* padding: 4px 0; */
    }
	#inno_mobile_nav .main-menu > .menu-item > ul.sub-menu > li {
		margin-bottom: 1px;
        background: rgba(255, 255, 255, 0.2);
	}
	#inno_mobile_nav .main-menu > .menu-item > ul.sub-menu li:last-child {
		margin-bottom: 0;
	}
    #inno_mobile_nav .main-menu > .menu-item ul.sub-menu > li > a {
		padding: 6px 24px;
        display: block;
        font-size: 14px;
        font-weight: 500;
    }
	
	#inno_mobile_nav .main-menu .sub-menu .menu-item-has-children .sub-menu a span {
		display: inline-block;
		position: relative;
	}
	#inno_mobile_nav .main-menu .sub-menu .menu-item-has-children .sub-menu a span:before {
		content: "-";
		display: inline-block;
		padding-right: 4px;
	}
	#inno_mobile_nav .main-menu > .menu-item.current_page_item > a,
	#inno_mobile_nav .main-menu > .menu-item.current-menu-ancestor > a,
	#inno_mobile_nav .main-menu > .menu-item.current-menu-parent > a,
	#inno_mobile_nav .main-menu > .menu-item.current_page_parent > a,
	#inno_mobile_nav .main-menu > .menu-item.current_page_ancestor > a {
		color: var(--primary-color);
	}
	#inno_mobile_nav .main-menu > .menu-item.current-menu-ancestor > ul.sub-menu > li.current-menu-ancestor > a,
	#inno_mobile_nav .main-menu > .menu-item ul.sub-menu > li.current-menu-item > a,
	#inno_mobile_nav .main-menu > .menu-item ul.sub-menu > li.current_page_item > a {
		color: var(--primary-color);
		font-weight: 700;
	}

	#inno_mobile_nav .main-menu .sub-menu .menu-item-has-children > a {
		position: relative;
	}
	#inno_mobile_nav .main-menu .sub-menu .menu-item-has-children > a:before {
		content:"";
		position: absolute;
		right: 16px;
		top: 50%;
        transform: translateY(-50%);
		width: 10px;
		height: 10px;
		background: url(/wp-content/uploads/menu_more.png) no-repeat center;
		background-size: 10px;
		transition: .3s ease-in-out;
	}
	#inno_mobile_nav .main-menu .sub-menu .menu-item-has-children > a.submenu_on:before {
		transform: translateY(-50%) rotate(180deg);
	}
	    #inno_mobile_nav .main-menu .sub-menu .menu-item-has-children .sub-menu {
        background: rgba(255, 255, 255, 0.1);
        border-top: 1px solid #000;
    }
	#inno_mobile_nav .main-menu .sub-menu .menu-item-has-children .sub-menu a {
		color: rgba(255, 255, 255, 0.50);
		padding-left: 24px;
	}

    .single-ir #inno_mobile_nav .main-menu .sub-menu .menu-item.gnb_portfolio_ir a, 
    .single-document #inno_mobile_nav .main-menu .sub-menu .menu-item.gnb_portfolio_biz a, 
    .single-branding #inno_mobile_nav .main-menu .sub-menu .menu-item.gnb_portfolio_branding a, 
    .single-web #inno_mobile_nav .main-menu .sub-menu .menu-item.gnb_portfolio_web a {
        color: #fff;
    }

	
}


@media screen and (max-width: 1024px) {
	.header_logo_link img {
        height: 18px;
    }
}



/* **************************************** *
 * Footer
 * **************************************** */
 .inno_footer {
	background: #000;
	position: relative;
	padding: var(--content-padding);
	/* z-index: 99995; */
}
.footer_inner {
    position: relative;
	padding: 0;
	font-size: 16px;
}
.footer_content {
	width: 100%;
	padding: 80px 0 56px 0;
	border-top: 1px solid rgba(255, 255, 255, 0.50);
}
.footer_upper {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 40px;
	padding-bottom: 120px;
	flex-wrap: wrap;
}
.footer_info {
	display: flex;
	align-items: flex-start;
	gap: 80px;
	font-weight: 500;
}
.footer_info dl {
	display: flex;
	flex-direction: column;
	gap: 8px;
	line-height: 1.6em;
}
.footer_link {
	display: inline-flex;
	align-items: center;
	gap: 16px;
	padding: 8px 16px 8px 26px;
	border-radius: 60px;
	border: 1px solid rgba(255, 255, 255, 0.50);
	transition: .3s ease-in-out;
}
.footer_link .btn_txt {
	display: block;
	font-weight: 600;
	line-height: 1.6em;
	transition: .3s ease-in-out;
	color: #fff;
	position: relative;
	/* top: 2px; */
}
.footer_link .btn_arrow {
	width: 24px;
	height: 24px;
	background: url(/wp-content/uploads/download.png) no-repeat center;
	background-size: cover;
	transition: .3s ease-in-out;
}
.footer_link:hover {
	background: var(--primary-color);
}
.footer_lower {
	display: flex;
	padding-top: 40px;
	justify-content: space-between;
	align-items: center;
	gap: 50px;
	flex-wrap: wrap;
}
.footer_lower p {
	text-transform: uppercase;
	font-weight: 500;
}
p.footer_sm {
    padding-bottom: 24px;
}


/* floating menu */
.floating_menu_wrap {
    position: fixed;
    right: 2.3vw;
    z-index: 49;
    bottom: 45px;
}
.floating_menu_wrap.floating_nofix {
    position: absolute;
    /*right: 4.2vw;*/
    bottom: calc(100% + 45px);
    z-index: 40;
}



/* to top */
.floating_menu_top {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 50px;
	height: 50px;
	background: #000;
	position: relative;
	transition: .3s ease-in-out;
	opacity: 0;
	border-radius: 50%;
	border: 1px solid #fff;
	cursor: default;
}
.floating_menu_top_show {
	opacity: 1;
	cursor: pointer;
}
.floating_menu_top:before {
	content:"";
	width: 100%;
	height: 100%;
	background: url(/wp-content/uploads/totop.png) no-repeat center;
	background-size: 24px 24px;
}
.floating_menu_top:hover {
	background: var(--primary-color);
}




@media screen and (max-width: 1800px) {
	.floating_menu_wrap {
		right: 16px;
	}
}

@media screen and (max-width: 1024px) {
	/* footer */
	.footer_content {
		padding: 56px 0 24px;
	}
	.footer_upper {
		padding-bottom: 80px;
	}




	/* floating menu */

}

@media screen and (max-width: 767px) {

	/* footer */
	.footer_content {
		padding: 40px 0 24px;
		font-size: 14px;
	}
	.footer_upper {
        padding-bottom: 64px;
    }
	.footer_info {
		flex-direction: column;
		width: 100%;
		gap: 16px;
	}
	.footer_info dl {
		width: 100%;
	}
	.footer_link .btn_arrow {
		width: 18px;
		height: 18px;
	}
	.footer_link {
		padding: 8px 16px;
	}


	/* floating menu */
	.floating_menu_wrap.floating_nofix {
		bottom: calc(100% + 24px);
	}
	.floating_menu_top {
		width: 40px;
		height: 40px;
	}
	.floating_menu_top:before {
		background-size: 16px;
	}
}


@media screen and (max-width: 480px) {
	.footer_info dl {
		gap: 4px;
	}
	.footer_info dl dd {
		width: 100%;
	}
	.footer_lower {
		flex-direction: column;
		align-items: flex-start;
		gap: 0;
		padding-top: 24px;
		font-size: 12px;
	}
}






/* **************************************** *
 * main
 * **************************************** */
/* banner */
.background-white {
	background: #fff;
	color: #000;
}
.headline-fixed {
	background: #fff;
	width: 100%;
	height: 100vh;
	position: fixed;
	left: 0;
	top: 0;
	/* transform: translate(-50%, -50%); */
	z-index: 0;                 /* ✅ 맨 하위 */
	pointer-events: none;
	opacity: 0;                 /* gsap로 등장 */
	will-change: opacity, transform;
}
.headline-box {
	width: 100%;
	height: 100%;
	display:flex;
	justify-content:center;
	align-items: center;
}
.headline-box .banner_h1 {
	margin:0;
	opacity: 0;
	transform: translateY(100px);
	will-change: opacity, transform;
	font-weight: 600;
}
/* 첫 화면(텍스트만 보이게 하는 여백) */
.intro-spacer{
	height: 100vh;
	background: transparent;
}

.pin-wrap{
	height: 100vh;
	overflow: hidden;
	position: relative;
}
/* ✅ 비디오를 감싸는 div(초록박스 핵심): width 0 -> 100 */
.video-frame{
	position:absolute;
	inset:0;
	margin:auto;
	width: 0%;                  /* ✅ 0 -> 100% */
	height: 100%;
	overflow:hidden;
	will-change: width;
}
.video-frame video{
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
	transform: scale(1.02);
}
 /* (3) 오버레이 */
.overlay{
	position:absolute;
	inset:0;
	background: rgba(0,0,0,0);
	pointer-events:none;
	will-change: background;
	z-index: 3;
}
.overlay-text {
	position: absolute;
	top: 0;
	transform: translateY(100px);
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 24px;
	color: #fff;
	opacity: 0;
	z-index: 4;
	will-change: opacity, transform;
}
.overlay-text h2.banner_h2 {
	font-size: 100px;
}
.overlay-text p {
	font-size: 36px;
}



/* marquee */
.banner_img_wrap {
    width: 100%;
	height: 100%;
    background-color: #000;
    display: flex;
    flex-direction: column;
	justify-content: center;
    gap: 40px; /* 행 사이의 간격 */
    padding: 50px 0;
}

/* 각 행의 기본 설정 */
.banner_img_row {
    display: flex;
    white-space: nowrap;
    /* width: max-content;  */
}

/* 이미지 박스 설정 */
.banner_imgbox {
    flex-shrink: 0;
    width: 400px; /* 이미지의 가로 크기 (적절히 조절하세요) */
    margin: 0 20px; /* 이미지 사이의 간격 */
}

.banner_imgbox img {
    width: 100%;
    border-radius: 15px; /* 이미지 모서리를 둥글게 */
    display: block;
}

/* --- 애니메이션 정의 --- */

/* 오른쪽으로 이동 (1, 3번째 행) */
@keyframes marquee-right {
    0% { transform: translateX(-50%); }
    100% { transform: translateX(0); }
}

/* 왼쪽으로 이동 (2번째 행) */
@keyframes marquee-left {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

/* --- 각 행에 애니메이션 적용 --- */

/* 1번째, 3번째 행: 오른쪽으로 */
.banner_img_row:nth-child(1),
.banner_img_row:nth-child(3) {
    animation: marquee-right 20s linear infinite;
}

/* 2번째 행: 왼쪽으로 */
.banner_img_row:nth-child(2) {
    animation: marquee-left 20s linear infinite;
}

/* 마우스를 올렸을 때 멈추게 하고 싶다면 추가 */
/* .video-frame:hover .banner_img_row {
    animation-play-state: paused;
} */










.section_w {
	background: #fff;
	color: #000;
}
.section_title {
	font-size: 24px;
	color: var(--primary-color);
	font-weight: 600;
	padding-bottom: 16px;
}
.section_w a {
    color: #000;
}




/* con1 */
#main_con1 {
    padding: 0;
}
#main_con1 .title_column {
    width: calc(var(--content-width) + 32px);
    padding-left: 16px;
    padding-right: 16px;
    margin: 0 auto;
}
.main_con1_content {
    border-top: 1px solid rgba(0, 0, 0, 0.30);
}
.main_logo_box {
    border-bottom: 1px solid rgba(0, 0, 0, 0.30);
}
.main_logo_wrap {
    display: flex;
    animation: marquee 40s linear infinite;
}
.main_logo_wrap2 {
    animation: marquee2 40s linear infinite;
}
ul.main_logo_list {
    display: flex;
}
ul.main_logo_list img {
    max-width: unset;
    height: 120px;
    width: auto;
    display: block;
}
@keyframes marquee {
    0% { transform: translateX(0); }
    100% { transform: translateX(-100%); }
}
@keyframes marquee2 {
    0% { transform: translateX(-100%); }
    100% { transform: translateX(0); }
}



/* con2 */
.main_con2_col_content {
	display: flex;
	align-items: stretch;
}
.main_con2_box {
	flex: 1;
	height: 550px;
	position: relative;
	border-right: 1px solid rgba(255, 255, 255, 0.50);
	border-top: 1px solid rgba(255, 255, 255, 0.50);
	border-bottom: 1px solid rgba(255, 255, 255, 0.50);
	transition: .3s ease-in-out;
	overflow: hidden;
}
.main_con2_box:first-child {
	border-left: 1px solid rgba(255, 255, 255, 0.50);
}
.main_con2_box_open {
	flex: 2;
}
.main_con2_title {
	display: flex;
	width: 100%;
	height: 100%;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 24px;
	transition: .3s ease-in-out;
	z-index: 2;
	position: relative;
}
.main_con2_title p {
    font-size: 36px;
    font-weight: 600;
    line-height: 1.4em;
}
.main_con2_box_open .main_con2_title {
	opacity: 0;
	z-index: 1;
}
.main_con2_inner {
	position: absolute;
	left: -100px;
	top: 0;
	width: var(--open);
	height: 100%;
	opacity: 0;
	z-index: 1;
	transition: .3s ease-in-out;
	padding: 48px 48px 56px 48px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.main_con2_box_open .main_con2_inner {
	opacity: 1;
	left: 0;
}
.main_con2_txtbox h3 {
    font-size: 56px;
    padding-bottom: 24px;
}
.main_con2_txtbox p {
    font-size: 20px;
    font-weight: 500;
}
.main_con2_tag {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}
.inno_tag {
	display: inline-flex;
	padding: 4px 24px;
	text-align: center;
	border-radius: 60px;
	border: 1px solid rgba(255, 255, 255, 0.50);
	font-weight: 500;
	line-height: 1.6em;
}



/* con3 */
.title_col_w-carousel {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 40px;
}




/* con4 */
.main_con4_col_content {
	display: flex;
	justify-content: flex-end;
	
}
.main_con4_list {
	width: 100%;
	max-width: 1227px;
}
.main_con4_list li {
	overflow: hidden;
	border-bottom: 1px solid rgba(255, 255, 255, 0.50);
}
.main_con4_list li .main_con4_item_inner {
	display: flex;
	padding: 40px 0;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
}
.main_con4_list li h3 {
    display: flex;
    align-items: center;
    /* flex-wrap: wrap; */
	gap: 24px;
}
.main_con4_sec_wrap {
	width: 200px;
	display: flex;
}
.main_con4_sec {
	display: flex;
	padding: 4px 24px;
	border-radius: 60px;
	border: 1px solid rgba(255, 255, 255, 0.50);
	font-size: 18px;
	font-weight: 500;
	line-height: 1.6em;
}




/* con5 */
.main_con5_col_content {
	display: flex;
	align-items: stretch;
	padding-top: 40px;
}
.main_con5_box {
	width: 33.33%;
	border-left: 1px solid rgba(255, 255, 255, 0.50);
	overflow: hidden;
}
.main_con5_inner {
	display: flex;
	padding: 24px 40px 24px 40px;
	flex-direction: column;
	gap: 80px;
}
.main_con5_txtbox h4 {
	padding-bottom: 16px;
}


/* con6 */
#main_con6 .title_column {
	display: flex;
	gap: 40px;
	justify-content: space-between;
}
.main_con6_link {
	display: block;
	width: 70px;
	height: 70px;
	background: url(/wp-content/uploads/insight_arrow.png) no-repeat center;
	background-size: cover;
}



/* contact con */
#contact_con .section_inner {
	padding: 140px 0;
	gap: 0;
	align-items: center;
}
.contact_col_txt {
	width: calc(100% - 245px);
	padding-right: 40px;
	overflow: hidden;
}
.contact_col_txt h2 {
	padding-bottom: 40px;
}
.contact_btn {
	display: block;
	width: 245px;
	height: 245px;
	background: #fff;
	border-radius: 50%;
	overflow: hidden;
	position: relative;
}
.contact_btn_txt {
	display: block;
	width: 100%;
	height: 100%;
	background: url(/wp-content/uploads/contact_btn.png) no-repeat center;
	background-size: cover;
	animation: contact_btn 5s linear infinite;
	animation-play-state: paused;
}
@keyframes contact_btn {
	0% { transform: rotate(0);}
	100% { transform: rotate(365deg);}
}
.contact_btn:hover .contact_btn_txt {
	animation-play-state: running;
}
.contact_btn_arrow {
	display: block;
	width: 70px;
	height: 70px;
	background: url(/wp-content/uploads/insight_arrow.png) no-repeat center;
	background-size: cover;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	z-index: 10;
}


.br_t {
	display: none;
}


@media screen and (max-width: 1200px) {
	.main_con2_inner {
		padding: 40px 32px;
	}
	.main_con5_inner {
		padding-left: 24px;
	}
	.contact_col_txt {
		width: calc(100% - 200px);
	}
	.contact_btn {
		width: 200px;
		height: 200px;
	}
}





@media screen and (max-width: 1024px) {
	/* banner */
	.headline-fixed {
		opacity: 1;
		height: auto;
		position: relative;
		padding: 160px 16px;
		z-index: 1;
	}
	.headline-box .banner_h1 {
		opacity: 1;
		transform: translateY(0);
	}
	.intro-spacer {
		display: none;
	}
	.pin-wrap {
		height: 60vh;
	}
	.video-frame {
		width: 100%;
	}
	.overlay {
		background: rgba(0, 0, 0, 0.65);
	}
	.overlay-text {
		transform: translateY(0);
		opacity: 1;
		gap: 16px;
	}
	.overlay-text h2.banner_h2 {
		font-size: 56px;
	}
	.overlay-text p {
		font-size: 24px;
	}




	/* banner marquee */
	.banner_img_wrap {
		gap: 16px;
	}
	.banner_imgbox {
		width: 270px;
		margin: 0 8px;
	}

	/* 1번째, 3번째 행: 오른쪽으로 */
	.banner_img_row:nth-child(1),
	.banner_img_row:nth-child(3) {
		animation: marquee-right 5s linear infinite;
	}

	/* 2번째 행: 왼쪽으로 */
	.banner_img_row:nth-child(2) {
		animation: marquee-left 10s linear infinite;
	}



    /* con1 */
    ul.main_logo_list img {
        height: 80px;
    }
	
	.section_title {
		font-size: 18px;
	}
	.main_con2_box {
		height: 450px;
	}
	.br_t {
		display: block;
	}
	.main_con2_title p {
		font-size: 26px;
	}
	.main_con2_txtbox h3 {
		font-size: 36px;
		padding-bottom: 16px;
	}
	.main_con2_txtbox p {
		font-size: 18px;
	}
	.inno_tag {
		font-size: 16px;
	}

	.main_con4_list li .main_con4_item_inner {
		padding: 24px 0;
	}
	.main_con4_sec {
		font-size: 16px;
	}
	.main_con4_list li h3 {
		width: 66.66%;
		gap: 0;
		padding-right: 24px;
	}
	.main_con4_list li .main_con4_item_inner p {
		width: 33.33%;
	}

	.main_con5_col_content {
		padding-top: 32px;
	}
	.main_con5_inner {
        padding: 16px 24px;
        justify-content: space-between;
        height: 100%;
		gap: 48px;
    }

	.main_con6_link {
		width: 50px;
		height: 50px;
	}

	#contact_con .section_inner {
		padding: 100px 0;
	}
	.contact_col_txt h2 {
		padding-bottom: 24px;
	}


    .title_col_w-carousel {
        gap: 24px;
    }
    .carousel_nav {
        gap: 4px;
        padding-bottom: 0;
    }
}


@media screen and (max-width: 767px) {
	/* banner */
	.headline-fixed {
		padding: 100px 0 64px;
	}
	.pin-wrap {
        height: 45vh;
    }
	.overlay-text h2.banner_h2 {
        font-size: 36px;
    }
	.overlay-text p {
        font-size: 18px;
    }


    /* con1 */
    ul.main_logo_list img {
        height: 60px;
    }
    .main_logo_wrap {
        animation: marquee 20s linear infinite;
    }
    .main_logo_wrap2 {
        animation: marquee2 20s linear infinite;
    }


	.section_title {
		font-size: 16px;
		padding-bottom: 8px;
	}


	.main_con2_col_content {
		flex-wrap: wrap;
	}
	.main_con2_box {
        height: auto;
        width: 100%;
        flex: unset;
        border-top: 0;
        border-left: 0;
		border-right: 0;
    }
	.main_con2_box:first-child {
		border-top: 1px solid rgba(255, 255, 255, 0.50);
		border-left: 0;
	}
	.main_con2_title {
		display: none;
	}
	.main_con2_inner {
		position: relative;
		left: 0;
		height: auto;
		opacity: 1;
		padding: 24px 0 24px;
		gap: 24px;
	}
	.main_con2_txtbox h3 {
        font-size: 23px;
        padding-bottom: 8px;
    }
	.main_con2_txtbox p {
        font-size: 16px;
        font-weight: 400;
    }
	.inno_tag {
        font-size: 13px;
        padding: 2px 12px;
    }

	.main_con4_list li .main_con4_item_inner {
        padding: 24px 0;
    }
	.main_con4_list li h3 {
		width: 100%;
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
		padding-bottom: 8px;
	}
	.main_con4_sec_wrap {
		width: 100%;
	}
	.main_con4_sec {
        font-size: 13px;
        padding: 2px 12px;		
    }
	.main_con4_list li .main_con4_item_inner p {
        width: 100%;
    }

	.main_con5_col_content {
		flex-direction: column;
		padding-top: 0;
	}
	.main_con5_box {
		width: 100%;
		border-left: 0;
		border-bottom: 1px solid rgba(255, 255, 255, 0.50);
	}
	.main_con5_inner {
		padding: 24px 0;
		gap: 16px;
		height: auto;
	}
	.main_con5_txtbox h4 {
		padding-bottom: 8px;
	}

	.main_con6_link {
        width: 32px;
        height: 32px;
    }

	#contact_con .section_inner {
        padding: 64px 0;
    }
	.contact_col_txt {
        width: calc(100% - 120px);
    }
	.contact_col_txt h2 {
        padding-bottom: 16px;
    }
	.contact_btn {
        width: 120px;
        height: 120px;
    }
	.contact_btn_arrow {
		width: 40px;
		height: 40px;
	}

    .portfolio_col {
        padding-top: 16px;
    }
    .title_col_w-carousel {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
    }
}


@media screen and (max-width: 480px) {
	.contact_col_txt {
        width: 100%;
		padding-bottom: 40px;
		padding-right: 0;
    }
}









/* **************************************** *
 * subpage
 * **************************************** */
#subbanner .section_inner {
	padding-top: calc(77px + 120px);
	padding-bottom: 120px;
}
.breadcrumbs_box {
    padding-bottom: 24px;
	font-weight: 500;
	display: flex;
	gap: 4px;
}
.breadcrumbs_page:first-child {
	padding-right: 22px;
	position: relative;
}
.breadcrumbs_page:first-child:before {
	content:"";
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 18px;
	height: 18px;
	background: url(/wp-content/uploads/breadcrumbs_arrow.png) no-repeat center;
	background-size: cover;
}
#sub_con1 .sub_con1_inner {
	height: 800px;
	padding-top: 0;
	padding-bottom: 0;
	background: url(/wp-content/uploads/subbanner_bg_sol1.jpg) no-repeat center;
	background-size: cover;
}
.sub_con1_inner2 {
	padding: 80px 0 120px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.50);
}
.sub_con1_inner2 .inno_column {
	display: flex;
	gap: 80px;
	flex-wrap: wrap;
}
.txt_wrap {
	overflow: hidden;
}
.sub_con1_inner2 .txt_wrap {
	width: calc(50% - 40px);
}
.sub_con1_inner2 .inno_column h2 {
	font-size: 48px;
}


@media screen and (max-width: 1024px) {
	#subbanner .section_inner {
		padding-top: calc(50px + 100px);
		padding-bottom: 64px;
	}
	.breadcrumbs_box {
		padding-bottom: 16px;
	}

	#sub_con1 .sub_con1_inner {
		height: 60vh;
	}
	.sub_con1_inner2 {
		padding: 80px 0;
	}
	.sub_con1_inner2 .txt_wrap {
		width: 100%;
	}
	.sub_con1_inner2 .inno_column {
		gap: 24px;
	}
	.sub_con1_inner2 .inno_column h2 {
		font-size: 40px;
	}
}


@media screen and (max-width: 767px) {
	#subbanner .section_inner {
        padding-top: calc(50px + 56px);
        padding-bottom: 40px;
    }
	.breadcrumbs_box {
		padding-bottom: 8px;
		font-size: 13px;
	}
	#sub_con1 .sub_con1_inner {
		height: 30vh;
		min-height: 250px;
	}
	.sub_con1_inner2 .inno_column h2 {
        font-size: 26px;
    }
	.sub_con1_inner2 {
        padding: 48px 0 56px;
    }
}



/* **************************************** *
 * 101 solution : 스타트업 
 * **************************************** */
/* con2 : pain points */
.section_painpoints .section_inner {
	padding-top: 80px;
	/* padding-bottom: 120px; */
}
.section_painpoints .title_column {
	padding-right: 40px;
}
.h2_sm {
	font-size: 24px;
    color: var(--primary-color);
    font-weight: 600;
}
.inno_tag_sm {
	font-size: 14px;
}
.painpoints_list li {
	display: flex;
	flex-wrap: wrap;
	gap: 40px;
	align-items: flex-end;
	padding: 40px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.50);
}
.painpoints_list li:first-child {
	padding-top: 0;
}
.painpoints_list li .txt_wrap {
	width: calc(50% - 20px);
}
.painpoints_titlebox h4 {
	padding: 14px 0;
}
.painpoints_sol_title {
	font-size: 16px;
	color: var(--primary-color);
	padding-bottom: 8px;
}
.painpoints_sol_a {
	font-size: 22px;
	font-weight: 700;
}
.painpoints_txtbox {
	padding-top: 40px;
}

.inno_list li {
	padding: 40px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.50);
}
.list_txt_wrap {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
}
.sol1_con3_list h3 {
	width: 25%;
	padding-right: 40px;
}
.sol1_con3_txtbox {
	width: 75%;
	display: flex;
	gap: 40px;
	flex-wrap: wrap;
}
.sol1_con3_txtbox > div {
	width: calc(50% - 20px);
}
.sol1_con3_item_title {
	display: block;
	font-size: 16px;
	color: rgba(255, 255, 255, 0.50);
	font-weight: 600;
	line-height: 1.6em;
	padding-bottom: 4px;
}

/* .portfolio_col {
	padding-top: 40px;
} */

.sol1_con5_content_wrap {
	margin-left: auto;
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	max-width: 1350px;
}


@media screen and (max-width: 1024px) {
	.section_painpoints .title_column {
		padding-right: 0;
	}
	.h2_sm {
		font-size: 18px;
	}
	.painpoints_sol_a {
		font-size: 18px;
	}
}

@media screen and (max-width: 767px) {
	.section_painpoints .section_inner {
		padding-top: 48px;
	}
	.h2_sm {
		font-size: 16px;
	}
	.painpoints_list li .txt_wrap {
		width: 100%;
	}
	.painpoints_list li {
		gap: 24px;
		padding: 24px 0;
	}
	.inno_tag_sm {
		font-size: 11px;
	}
	.painpoints_titlebox h4 {
		font-size: 23px;
	}
	.painpoints_sol_title {
		font-size: 13px;
	}
	.painpoints_sol_a {
        font-size: 16px;
    }
	.painpoints_txtbox {
		padding-top: 24px;
	}

	.inno_list li {
		padding: 24px 0;
	}
	.sol1_con3_list h3 {
		width: 100%;
		padding-right: 0;
		padding-bottom: 16px;
	}
	.sol1_con3_txtbox {
		width: 100%;
		gap: 24px;
	}
	.sol1_con3_txtbox > div {
		width: 100%;
	}
	.sol1_con3_item_title {
		font-size: 14px;
	}
}




/* **************************************** *
 * 102 sol2 중소기업
 * **************************************** */
#sub_con1.sub_sol2 .sub_con1_inner {
	background: url(/wp-content/uploads/subbanner_bg_sol2.jpg) no-repeat center;
    background-size: cover;
}



/* **************************************** *
 * 103 sol3 상장사
 * **************************************** */
#sub_con1.sub_sol3 .sub_con1_inner {
	background: url(/wp-content/uploads/subbanner_bg_sol3.jpg) no-repeat center;
    background-size: cover;
}


/* **************************************** *
 * 104 sol4 기관 / 에이전시
 * **************************************** */
#sub_con1.sub_sol4 .sub_con1_inner {
	background: url(/wp-content/uploads/subbanner_bg_sol4.jpg) no-repeat center;
    background-size: cover;
}




/* **************************************** *
 * 201 A to Z 컨설팅
 * **************************************** */
#sub_con1.sub_ser1 .sub_con1_inner {
	background: url(/wp-content/uploads/subbanner_bg_ser1.jpg) no-repeat center;
    background-size: cover;
}
ul.painpoints_list2 {
    display: flex;
    flex-wrap: wrap;
    gap: 64px 40px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.50);
	padding-bottom: 80px;
}
ul.painpoints_list2 li {
    width: calc(50% - 20px);
}
.painpoints2_txtbox {
    display: flex;
    flex-direction: column;
	align-items: flex-start;
    gap: 16px;
}

.ser1_con3_list h3 {
    width: 25%;
    padding-right: 40px;
}
.ser1_con3_txtbox {
	width: 75%;
}
.ser1_con3_txtbox ul li {
	display: flex;
	flex-wrap: wrap;
}
.ser1_con3_txtbox ul li:first-child {
	padding-top: 0;
}
.ser1_con3_txtbox ul li:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}
.ser1_con3_txtbox ul li h4 {
	width: 25%;
	padding-right: 40px;
}
.ser1_con3_txtbox ul li p {
	width: 75%;
}


.ser1_con3_list-v2 .sol1_con3_txtbox > .sol1_con3_txt1 {
    width: calc(60% - 20px);
}
.ser1_con3_list-v2 .sol1_con3_txtbox > .sol1_con3_txt2 {
    width: calc(40% - 20px);
}



.ser_process {
	display: flex;
}
.ser_process li {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: calc(25% + 50px);
	max-width: 400px;
    height: auto;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.50);
    margin-left: -50px;
    transition: all 0.3s ease;
    text-align: center;
    color: #fff;
	opacity: 0;
	left: -50px;
}

/* 첫 번째 원은 왼쪽 마진이 필요 없음 */
.ser_process li:first-child {
    margin-left: 0;
}

/* 텍스트 스타일링 */
.ser_process_num {
    display: block;
    color: #7b61ff; /* 보라색 포인트 */
    margin-bottom: 16px;
    font-weight: 600;
	line-height: 1.4em;
}
.ser_process h3 {
    position: relative;
}
span.ser_process_sm {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    width: 200px;
    display: block;
    font-size: 18px;
    font-weight: 400;
}



.ser_table_wrap {
	margin-left: auto;
    width: 100%;
    max-width: 1350px;
}
.ser_table {
	width: 100%;
}
.ser_table tr {
	border-bottom: 1px solid rgba(255, 255, 255, 0.50);
	overflow: hidden;
}
.ser_table thead tr th {
	width: 20%;
	padding: 16px 0;
	font-size: 24px;
	text-align: left;
}
.ser_table thead tr th:first-child,
.ser_table tbody tr th {
	/* width: 255px; */
	/* max-width: 255px; */
	text-align: left;
}
.ser_table h4 {
    font-size: 22px;
}
.ser_current h4 {
	color: var(--primary-color);
}
.ser_table thead th a {
	display: flex;
	align-items: center;
	gap: 16px;
}
.ser_table_arrow {
	display: block;
	width: 24px;
	height: 24px;
	background: url(/wp-content/uploads/ser_table_arrow.png) no-repeat center;
	background-size: cover;
}
.ser_table tbody tr th {
    width: 20%;
	font-size: 20px;
}
.ser_table tbody tr td {
    width: 20%;
	/* width: calc(33.33% - 85px); */
	padding: 16px 16px 16px 0;
	color: rgba(255, 255, 255, 0.50);
	font-size: 20px;
}
.ser_table tbody tr td.ser_current {
	font-weight: 600;
	color: #fff;
}




@media screen and (max-width: 1024px) {
	.ser_process li {
		width: calc(25% + 8px);
		margin-left: -16px;
		left: 0;
		opacity: 1;
		transform: translate(0) !important;
	}
	.ser_process li:first-child {
		left: 0;
	}
	.ser_process li h3 {
		font-size: 20px;
	}
	.ser_process_num {
		margin-bottom: 8px;
	}
    span.ser_process_sm {
        font-size: 14px;
    }

    .ser_table h4 {
        font-size: 18px;
    }
    .ser_table thead th a {
        gap: 8px;
    }
    .ser_table tbody tr td,
    .ser_table tbody tr th {
        font-size: 18px;
    }
}


@media screen and (max-width: 767px) {
	ul.painpoints_list2 {
		gap: 32px 0;
		padding-bottom: 32px;
	}
	ul.painpoints_list2 li {
		width: 100%;
	}

	.ser1_con3_list h3 {
		width: 100%;
		padding-right: 0;
		padding-bottom: 16px;
	}
	.ser1_con3_txtbox {
		width: 100%;
	}
	.ser1_con3_txtbox ul li h4 {
		width: 100%;
		padding-right: 0;
		padding-bottom: 8px;
	}
	.ser1_con3_txtbox ul li p {
		width: 100%;
	}
	.ser1_con3_list > li {
		padding: 40px 0 24px;
	}

    .ser1_con3_list-v2 .sol1_con3_txtbox > .sol1_con3_txt1,
    .ser1_con3_list-v2 .sol1_con3_txtbox > .sol1_con3_txt2 {
        width: 100%;
    }



	.ser_process {
		flex-wrap: wrap;
		gap: 16px 0;
	}
	.ser_process li {
		width: calc(33.33% + 8px);
	}
	.ser_process li:first-child, .ser_process li:nth-child(3) {
		margin-left: 0;
	}
	.ser_process li h3 {
		font-size: 16px;
	}

	.ser_table_wrap {
		overflow-x: auto;
	}
	.ser_table {
		width: calc(767px - 32px);
	}
	
	.ser_table thead tr th, 
    .ser_table tbody tr td {
		width: 215.66px;
		padding: 12px 0;
	}
	.ser_table thead tr th:first-child, .ser_table tbody tr th {
		width: 120px;
	}
	.ser_table tbody tr td,
	.ser_table tbody tr th {
		font-size: 16px;
	}
    .ser_table h4 {
        font-size: 17px;
    }
    .ser_table_arrow {
        width: 20px;
        height: 20px;
    }

}


@media screen and (max-width: 480px) {
	.ser_process li {
		width: calc(50% + 8px);
	}
	.ser_process li:nth-child(5) {
		margin-left: 0;
	}
	.ser_process_num {
		font-size: 14px;
	}
    span.ser_process_sm {
        font-size: 12px;
    }
}





/* **************************************** *
 * 202 ser2 리밸런싱
 * **************************************** */
#sub_con1.sub_ser2 .sub_con1_inner {
    background: url(/wp-content/uploads/subbanner_bg_ser2.jpg) no-repeat center;
    background-size: cover;
}
.ser2_list_title {
    width: 50%;
    display: flex;
    align-items: center;
    gap: 8px 40px;
    flex-wrap: wrap;
}
span.ser2_list_h3_en {
    color: rgba(255, 255, 255, 0.50);
    font-size: 20px;
    font-weight: 600;
    line-height: 1.4em;
}
.ser2_con3_txtbox {
    width: 50%;
}
.list_bullet li {
	padding: 0;
	border-bottom: 0;
	position: relative;
	padding-left: 16px;
}
.list_bullet li:before {
	content:"";
	position: absolute;
	left: 0;
	top: 11px;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background-color: #fff;
}
.ser2_con4_content_wrap {
    margin-left: auto;
    display: flex;
    /* flex-wrap: wrap; */
	align-items: center;
	gap: 16px;
    width: 100%;
    max-width: 1350px;
}
.ser2_con4_arrow {
	width: 80px;
	height: 80px;
	background: url(/wp-content/uploads/ser2_con4_arrow.png) no-repeat center;
	background-size: cover;
}
.ser2_con4_img {
	position: relative;
}
.ser2_con4_img p {
	position: absolute;
	top: calc(100% + 8px);
	font-weight: 500;
}




@media screen and (max-width: 1024px) {
	.ser2_list_title {
		flex-direction: column;
		align-items: flex-start;
	}
	.ser2_con4_arrow {
		width: 40px;
		height: 40px;
	}
}


@media screen and (max-width: 767px) {
	.painpoints2_txtbox {
		gap: 8px;
	}
	.ser2_list_title {
		width: 100%;
		padding-bottom: 16px;
	}
	.ser2_con3_txtbox {
		width: 100%;
	}
	.ser2_con4_col_content {
		padding-top: 16px;
	}
	.ser2_con4_content_wrap {
		gap: 8px;
	}
	.ser2_con4_img {
		width: calc(50% - 4px - 12px);
	}
	.ser2_con4_arrow {
        width: 24px;
        height: 24px;
    }
	.ser2_con4_img p {
		font-size: 12px;
	}
}


@media screen and (max-width: 480px) {
	.ser2_con4_content_wrap {
		gap: 16px;
		flex-wrap: wrap;
		justify-content: center;
	}
	.ser2_con4_img {
		width: 100%;
	}
	.ser2_con4_arrow {
		width: 40px;
        height: 40px;
		transform: rotate(90deg);
	}
	/* .ser2_con4_img p {
		font-size: 12px;
		position: relative;
		padding-top: 8px;
		top: 0;
	} */
}



/* **************************************** *
 * 203 ser3 디자인-Only ~
 * **************************************** */
#sub_con1.sub_ser3 .sub_con1_inner {
    background: url(/wp-content/uploads/subbanner_bg_ser3.jpg) no-repeat center;
    background-size: cover;
}
.ser3_list_title {
	width: 33.33%;
	padding-right: 40px;
}
.ser3_con3_txtbox {
	width: 66.66%;
}


#sub_con1.sub_ser4 .sub_con1_inner {
    background: url(/wp-content/uploads/subbanner_bg_ser4.jpg) no-repeat center;
    background-size: cover;
}



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

}


@media screen and (max-width: 767px) {
	.ser3_list_title {
		width: 100%;
		padding-right: 0;
		padding-bottom: 16px;
	}
	.ser3_con3_txtbox {
		width: 100%;
	}
	span.ser2_list_h3_en {
		font-size: 14px;
	}
}





/* **************************************** *
 * 301 biz1 비즈니스 문서 ~ 
 * **************************************** */
#sub_con1.sub_biz1 .sub_con1_inner {
    background: url(/wp-content/uploads/subbanner_bg_biz1.jpg) no-repeat center;
    background-size: cover;
}
#sub_con1.sub_biz2 .sub_con1_inner {
    background: url(/wp-content/uploads/subbanner_bg_biz2.jpg) no-repeat center;
    background-size: cover;
}
#sub_con1.sub_biz3 .sub_con1_inner {
    background: url(/wp-content/uploads/subbanner_bg_biz3.jpg) no-repeat center;
    background-size: cover;
}

.biz3_con3_txtbox h4 {
	padding-bottom: 24px;
}
span.biz1_con4_h3_en {
    display: block;
    font-size: 20px;
    color: rgba(255, 255, 255, 0.50);
    font-weight: 600;
    line-height: 1.6em;
    padding-top: 8px;
}


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

}


@media screen and (max-width: 767px) {
	.biz3_con3_txtbox h4 {
		padding-bottom: 8px;
	}
	span.biz1_con4_h3_en {
		font-size: 14px;
		padding-top: 2px;
	}
}







/* **************************************** *
 * 501 about1 우리의 강점
 * **************************************** */
#about_con1 .section_inner {
	padding: 80px 0;
	border-top: 1px solid rgba(255, 255, 255, 0.50);
	border-bottom: 1px solid rgba(255, 255, 255, 0.50);
}
.about_con1_wrap {
	width: 100%;
	display: flex;
	align-items: stretch;
	gap: 80px;
	overflow: hidden;
}
.about_con1_txtbox {
	width: calc(50% - 40px);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
#about_con1 .txt_lg {
	font-size: 24px;
}
.about_con1_imgbox {
	width: calc(50% - 40px);
	background: url(/wp-content/uploads/about1_con1_img.jpg) no-repeat center;
	background-size: cover;
	height: 800px;
}


.core_value_list {
	border-top: 1px solid rgba(255, 255, 255, 0.50);
}
.core_value_num {
	width: 100%;
	padding-bottom: 16px;
}
.core_value_txtbox {
	width: 100%;
	display: flex;
}
.core_value_txtbox h4 {
	width: 33.33%;
	padding-right: 40px;
}
.core_value_txtbox p {
	width: 66.66%;
}


.about_con3_content_wrap .main_con5_box {
	width: 50%;
}
.about_con3_content_wrap span.biz1_con4_h3_en {
	padding-top: 0;
	padding-bottom: 8px;
}

#about_con4 .section_inner {
	align-items: stretch;
	gap: 80px;
}
.about_con4_col_content {
	width: calc(50% - 40px);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.about_con4_col_img {
	width: calc(50% - 40px);
	display: flex;
	align-items: center;
	justify-content: center;
	background: #F5F5F5;
	overflow: hidden;
}

.about1_con5_list {
	display: flex;
	gap: 64px 40px;
	flex-wrap: wrap;
}
.about1_con5_list li {
	width: calc(33.33% - 26.66px);
	overflow: hidden;
	border-top: 1px solid rgba(0, 0, 0, 0.50);
	display: flex;
	padding-top: 32px;
	flex-direction: column;
	gap: 24px;
}
.about1_con5_list li h3 {
	font-size: 26px;
	color: rgba(0, 0, 0, 0.50);
	font-weight: 600;
}
.about1_counter {
	display: flex;
	align-items: flex-end;
}
.about1_counter_num {
	font-size: 70px;
	font-weight: 500;
	line-height: 1em;
}
.about1_counter_unit {
	font-size: 20px;
	font-weight: 500;
}



@media screen and (max-width: 1024px) {
	.about_con1_wrap, #about_con4 .section_inner {
		gap: 40px;
	}
	.about_con1_txtbox, .about_con4_col_content, .about_con4_col_img {
		width: calc(50% - 20px);
	}
	.about_con1_imgbox {
		width: calc(50% - 20px);
		height: auto;
	}
	#about_con1 .txt_lg {
		font-size: 18px;
	}
	.about1_con5_list {
		gap: 40px 24px;
	}
	.about1_con5_list li {
		padding-top: 24px;
		gap: 16px;
		width: calc(33.33% - 16px);
	}
	.about1_con5_list li h3 {
		font-size: 20px;
	}
	.about1_counter_num {
		font-size: 60px;
	}
}

@media screen and (max-width: 767px) {
	#about_con1 .section_inner {
		padding: 0 0 40px;
		border-bottom: 0;
		border-top: 0;
	}
	.about_con1_wrap {
		flex-wrap: wrap;
		flex-direction: column-reverse;
	}
	.about_con1_txtbox {
		width: 100%;
	}
	.about_con1_imgbox {
        width: 100%;
        height: auto;
        aspect-ratio: 1 / 1;
    }
	#about_con1 .txt_lg {
        font-size: 16px;
    }

	.core_value_txtbox {
		flex-wrap: wrap;
	}
	.core_value_num {
		padding-bottom: 8px;
	}
	.core_value_txtbox h4 {
		width: 100%;
		padding-right: 0;
		padding-bottom: 16px;
	}
	.core_value_txtbox p {
		width: 100%;
	}

	.about_con3_content_wrap .main_con5_box {
		width: 100%;
	}

	#about_con4 .section_inner {
		flex-wrap: wrap;
	}
	.about_con1_txtbox, .about_con4_col_content, .about_con4_col_img {
        width: 100%;
    }

	.about1_con5_list {
		gap: 24px 16px;
	}
	.about1_con5_list li {
		padding-top: 16px;
		gap: 8px;
		width: calc(50% - 8px);
	}
	.about1_con5_list li h3 {
		font-size: 16px;
	}
	.about1_counter_num {
		font-size: 40px;
	}
	.about1_counter_unit {
		font-size: 14px;
	}
}













/* **************************************** *
 * 502 about2 서비스 구조
 * **************************************** */
.about2_con1_imgbox {
	background: url(/wp-content/uploads/about2_con1_img.jpg) no-repeat center;
	background-size: cover;
}
.about2_con2_content_wrap {
	display: flex;
	width: 100%;
}
.about2_con2_content_wrap .main_con5_box {
	width: 25%;
}
.about2_con2_titlebox {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
}
.about2_con2_txtbox h4 {
    padding-bottom: 16px;
}


.about2_con3_title {
	width: 25%;
	padding-right: 40px;
}
.about2_con3_title .ser2_list_h3_en {
	display: block;
	padding-top: 8px;
}
.about2_con3_txtbox {
	width: 75%;
	display: flex;
}
.about2_con3_txt {
	width: 50%;
}
.about2_con3_txt:first-child {
	padding-right: 40px;
}
.about2_con3_txt h4 {
	font-size: 20px;
	color: rgba(255, 255, 255, 0.50);
	font-weight: 600;
	line-height: 1.6em;
	padding-bottom: 8px;
}
.about2_con3_txt h4 strong {
	color: var(--primary-color);
}





@media screen and (max-width: 1024px) {
	.about2_con2_content_wrap .main_con5_box {
		width: 50%;
	}
	.about2_con2_content_wrap {
		flex-wrap: wrap;
		gap: 32px 0;
	}
	.about2_con3_txtbox {
		flex-direction: column;
		gap: 32px;
	}
	.about2_con3_txt {
		width: 100%;
	}
	.about2_con3_txt:first-child {
		padding-right: 0;
	}
	.about2_con3_txt_blank {
		display: none;
	}
	
}

@media screen and (max-width: 767px) {
	.about2_con2_content_wrap {
		gap: 0;
	}
	.about2_con2_content_wrap .main_con5_box {
        width: 100%;
    }
	.about2_con2_titlebox {
		gap: 8px;
	}
	.about2_con2_txtbox h4 {
		padding-bottom: 8px;
	}
	.about2_con3_title {
		width: 100%;
		padding-right: 0;
		padding-bottom: 16px;
	}
	.about2_con3_txtbox {
		width: 100%;
		gap: 16px;
	}
	.about2_con3_txt h4 {
		font-size: 14px;
		padding-bottom: 4px;
	}
}






/* **************************************** *
 * 503 about3 파트너
 * **************************************** */
.about3_con1_imgbox {
	background: url(/wp-content/uploads/about3_con1_img.jpg) no-repeat center;
	background-size: cover;
}
.partenr_logo_list {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
}
.partenr_logo_list li {
    width: 16.66%;
}


.partner_con2_col {
    display: flex;
    gap: 48px 40px;
    flex-wrap: wrap;
}
.partner_con2_box {
    width: calc(20% - 32px);
    display: flex;
    padding: 40px 0 0;
    flex-direction: column;
    align-items: center;
    gap: 24px;
    border-top: 1px solid rgba(255, 255, 255, 0.50);
    text-align: center;
}
.partner_con2_logo {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
}
.partner_con2_logo p {
    font-size: 16px;
    color: rgba(255, 255, 255, 0.50);
    font-weight: 500;
}
.partner_con2_box > p {
    font-weight: 700;
}

.partner_con3_list {
    display: flex;
    flex-wrap: wrap;
    gap: 16px 24px;
    color: rgba(255, 255, 255, 0.50);
    align-items: center;
    justify-content: flex-start;
}
.partner_con3_list .inno_tag {
    font-weight: 600;
    color: #000;
    background: #fff;
    border: 0;
}


@media screen and (max-width: 1024px) {
	.partenr_logo_list li {
		width: 25%;
	}

    .partner_con2_col {
        gap: 40px 24px;
    }
    .partner_con2_box {
        width: calc(33.33% - 16px);
    }
}

@media screen and (max-width: 767px) {
    .partenr_logo_list li {
        width: 33.33%;
    }

    .partner_con2_box {
        width: calc(50% - 12px);
        padding: 26px 0 0;
        gap: 16px;
    }
    .partner_con2_logo {
        gap: 8px;
    }
    .partner_con2_logo p {
        font-size: 14px;
    }
    .partner_con3_list {
        padding-top: 16px;
        gap: 8px 12px;
        font-size: 14px;
    }
}





/* **************************************** *
 * 504 인사이트 ~ 
 * **************************************** */
#insights_con1 .section_inner {
	padding-top: 100px;
}



/* 인사이트 */
.insights_filter {
    display: flex;
    gap: 16px;
    padding-bottom: 40px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.50);
}
.insights_filter .filter_btn {
    display: flex;
    padding: 4px 24px;
    justify-content: center;
    align-items: center;
    border-radius: 60px;
    border: 1px solid rgba(0, 0, 0, 0.50);
    font-size: 20px;
    font-weight: 500;
    line-height: 1.6em;
}
.insights_filter .filter_btn.active {
    background: #000;
    color: #fff;
}
.insights_grid {
    display: flex;
    padding-top: 40px;
    gap: 64px 24px;
    flex-wrap: wrap;
}
.insight_card {
    width: calc(25% - 18px);
}
a.insight_card_link {
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.insight_card_thumb {
    width: 100%;
}
h3.insight_card_title {
    font-size: 24px;
    font-weight: 600;
    padding: 4px 0 8px;
}
span.insight_cat {
    display: block;
    font-weight: 600;
    line-height: 1.6em;
    color: var(--primary-color);
}
span.insight_card_date {
    display: block;
    font-size: 16px;
    color: #aaa;
    line-height: 1.6em;
}
.insights_pagination {
    display: flex;
    justify-content: center;
    padding-top: 80px;
    gap: 24px;
}
.insights_pagination .page_btn {
    color: #A0A0A0;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.6em;
    transition: .3s ease-in-out;
}
.insights_pagination .page_btn.active,
.insights_pagination .page_btn:hover {
    color: var(--primary-color);
}

.insights_search {
    padding-top: 80px;
    display: flex;
    justify-content: center;
}
.insights_search form {
    width: 100%;
}
.insights_search_inner {
    width: 100%;
    max-width: 800px;
    display: flex;
    justify-content: center;
    position: relative;
    margin: 0 auto;
}
.insights_search input.insights_search_input {
    border: 1px solid rgba(0, 0, 0, 0.30);
    color: #000;
    padding: 16px 16px;
    height: auto;
    background: #f5f5f5;
    font-size: 16px;
}
button.insights_search_btn {
    outline: 0;
    border: 0;
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    width: 24px;
    height: 24px;
    background: url(/wp-content/uploads/search.png) no-repeat center;
    background-size: cover;
}



/* 인사이트 single */
.insight_title_column {
    padding-bottom: 32px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.50);
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.insight_title_column h2 {
    font-size: 48px;
}
.insight_info {
    display: flex;
    gap: 16px;
    font-size: 16px;
    font-weight: 600;
}
.insight_info span {
    line-height: 1.6em;
}
.insight_single_category {
    color: var(--primary-color);
}
.insight_single_date {
    color: #a4a4a4;
}
.insight_content_col {
    padding-top: 40px;
    padding-bottom: 160px;
}
.insight_nav {
    border-top: 1px solid rgba(0, 0, 0, 0.50);
}
.insight_nav_item {
    border-bottom: 1px solid rgba(0, 0, 0, 0.50);
    display: flex;
    padding: 24px 0;
}
span.insight_nav_label {
    display: block;
    width: 100px;
    font-weight: 600;
}
a.insight_nav_title,
.insight_nav_empty {
    width: calc(100% - 100px);
    display: block;
    transition: .3s ease-in-out;
}
a.insight_nav_title:hover {
    color: var(--primary-color);
}



/* 메인 인사이트 */
.insight_carousel .slick-list {
    margin: 0 -12px;
}
.insight_card_main {
    margin: 0 12px;
}



/* 인사이트 컨텐츠 */
.insight_content_col .wp-block-heading {
    margin-bottom: 16px;
}
.insight_content_col h4.wp-block-heading {
    margin-bottom: 8px;
}
.insight_content_col p + .wp-block-heading,
.insight_content_col ul + .wp-block-heading {
    margin-top: 40px;
}
.insight_content_col p {
    margin-bottom: 16px;
}
.wp-block-list {
    margin: 16px;
}
.wp-block-list li {
    padding: 0;
    border-bottom: 0;
    position: relative;
    padding-left: 16px;
}
ul.wp-block-list li:before {
    content: "";
    position: absolute;
    left: 0;
    top: 11px;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background-color: #000;
}
.wp-block-image {
    margin-bottom: 40px;
}
.insight_content_col p + .wp-block-image {
    margin-top: 40px;
}

.insight_content_col .wp-element-caption {
    font-size: 14px;
    color: #a0a0a0;
}
.insight_content_col .wp-block-quote {
    padding: 24px 32px;
    font-size: 24px;
    font-weight: 500;
    border-left: 2px solid;
    margin: 40px 0;
}
.insight_content_col .wp-block-table {
    margin: 40px 0;
}


@media screen and (max-width: 1024px) {
    
    .insights_filter {
        gap: 8px;
        padding-bottom: 24px;
    }
    .insights_filter .filter_btn {
        font-size: 16px;
        padding: 2px 16px;
    }
    .insights_grid {
        gap: 40px 24px;
    }
    .insight_card {
        width: calc(50% - 12px);
    }
    span.insight_card_date {
        font-size: 14px;
    }


    /* single */
    .insight_title_column h2 {
        font-size: 36px;
    }
    .insight_content_col {
        padding-bottom: 120px;
    }
    .insight_nav_item {
        padding: 16px 0;
    }
}

@media screen and (max-width: 767px) {
    #insights_con1 .section_inner {
        padding-top: 48px;
    }
    .insights_filter {
        flex-wrap: wrap;
    }
    .insights_filter .filter_btn {
        font-size: 14px;
        padding: 2px 12px;
    }
    .insights_grid {
        padding-top: 24px;
    }
    .insight_card {
        width: 100%;
    }
    h3.insight_card_title {
        font-size: 20px;
    }
    a.insight_card_link {
        gap: 16px;
    }
    span.insight_cat {
        font-size: 14px;
    }
    span.insight_card_date {
        font-size: 13px;
    }
    .insights_pagination {
        padding-top: 40px;
    }
    .insights_search {
        padding-top: 40px;
    }
    button.insights_search_btn {
        width: 20px;
        height: 20px;
    }
    .insights_search input.insights_search_input {
        padding: 12px;
    }


    /* 싱글 */
    .insight_title_column {
        padding-bottom: 24px;
        gap: 8px;
    }
    .insight_title_column h2 {
        font-size: 26px;
    }
    .insight_info {
        font-size: 14px;
    }
    .insight_content_col {
        padding-top: 24px;
        padding-bottom: 64px;
    }
    .insight_nav_item {
        padding: 8px 0;
        font-size: 14px;
    }
    span.insight_nav_label {
        width: 60px;
    }
    a.insight_nav_title, .insight_nav_empty {
        width: calc(100% - 60px);
    }



    /* 인사이트 컨텐츠 */
    .insight_content_col p + .wp-block-heading, .insight_content_col ul + .wp-block-heading {
        margin-top: 24px;
    }
    .wp-block-list {
        margin: 16px 0;
    }
    .insight_content_col .wp-block-quote {
        padding: 16px 16px 2px;
        font-size: 16px;
        margin: 24px 0;
    }
    .insight_content_col .wp-block-table {
        margin: 24px 0;
    }

}




/* **************************************** *
 * 601 프로젝트 문의
 * **************************************** */
/* #contact_con1 .section_inner {
	padding-top: 0;
	align-items: stretch;
}
#contact_con1 .inno_column-4 {
	padding-right: 80px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
} */
#contact_con1 .section_inner {
	padding-top: 0;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
	grid-template-rows: repeat(2, 1fr);
    gap: 0;
}
.contact_col_title {
	padding-right: 80px;
}
#contact_con1 .title_column {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
	overflow: hidden;
}
#contact_con1 .txt_lg {
	font-size: 24px;
	font-weight: 500;
}
.contact_col_info {
    display: flex;
    align-items: flex-end;
	padding-right: 80px;
}
.contact_info_wrap {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
	overflow: hidden;
}
.contact_info {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
}
.contact_info dl {
	display: flex;
	font-size: 16px;
	line-height: 1.6em;
}
.contact_info dl dt {
	width: 120px;
	font-weight: 600;
}
.contact_info dl dd {
	width: calc(100% - 120px);
}
.map_btn {
    display: flex;
    width: 146px;
    padding: 6px 10px 6px 16px;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    border-radius: 60px;
    border: 1px solid rgba(255, 255, 255, 0.50);
    line-height: 1.4em;
    font-size: 14px;
    margin-top: 8px;
}
.map_btn .btn_arrow {
	width: 20px;
	height: 20px;
	background: url(/wp-content/uploads/map_arrow.png) no-repeat center;
	background-size: cover;
}
.contact_col_content {
    overflow: hidden;
    grid-column: span 2;
    grid-row: span 2;
}




/* 컨텍폼 */
.contact_item_wrap {
	display: flex;
	flex-wrap: wrap;
	gap: 80px;
	border-top: 1px solid #000;
	border-bottom: 1px solid #000;
	align-items: stretch;
}
.contact_item_box {
    width: calc(50% - 40px);
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.contact_label {
	display: block;
	padding-bottom: 8px;
	font-weight: 700;
	line-height: 1.6em;
	font-size: 20px;
}
.contact_label .contact_req {
	color: var(--primary-color);
}
.contact_input {
	position: relative;
}

/* input */
input[type=text], 
input[type=email],
input[type=password] {
	appearance: none;
	-moz-appearance: none;
	-webkit-appearance: none;
	outline: 0;
    display: block;
    height: 64px;
    width: 100%;
    font-size: 20px;
    padding: 16px 0;
	border: 0;
	border-top: 1px solid rgba(255, 255, 255, 0.50);
	background: transparent;
	font-family: 'Pretendard', sans-serif;
	font-weight: 400;
	color: #fff;
	transition: .3s ease-in-out;
}


textarea {
    display: block;
    height: 448px;
    width: 100%;
    font-size: 20px;
    padding: 16px 0;
	border: 0;
	border-top: 1px solid rgba(255, 255, 255, 0.50);
	background: transparent;
	font-family: 'Pretendard', sans-serif;
	font-weight: 400;
	color: #fff;
	transition: .3s ease-in-out;
}

input[type=text]:focus, 
input[type=email]:focus,
input[type=password]:focus,
textarea:focus {
	border-color: var(--primary-color);
}


/* 개인정보 + 버튼  */
.agree_wrap {
    display: flex;
	justify-content: space-between;
	align-items: center;
    gap: 40px;
    padding-top: 64px;
}

/* checkbox */
.agree_check span.wpcf7-list-item {
    margin: 0;}
.agree_check .wpcf7-form-control-wrap {
    margin-right: 16px;
}
.agree_check .wpcf7-list-item label {
    display: inline-block;
    position: relative;}
.agree_check input[type=checkbox]:checked,
.agree_check input[type="checkbox"]:not(:checked) {
    position: absolute;
    left: -99999999px;}
.agree_check input[type=checkbox] + span.wpcf7-list-item-label {
    display: block;
    line-height: 1.6em;
    font-weight: 500;
    position: relative;
    padding-left: 33px;
    cursor: pointer;}
.agree_check .contact_item.contact_item_check input[type=checkbox] + span.wpcf7-list-item-label {
    color: transparent !important;}
.agree_check input[type=checkbox] + span.wpcf7-list-item-label::before {
	content:"";
    position: absolute;
    left: 0;
    top: 4px;
    width: 20px;
    height: 20px;
    border-radius: 3px;
    background: transparent url(/wp-content/uploads/check.png) no-repeat center;
	background-size: cover;
    border:  0;
	overflow: hidden;
    z-index: 10;}
.agree_check input[type=checkbox] + span.wpcf7-list-item-label::after {
	content:"";
    position: absolute;
	left: 0;
    top: 4px;
    width: 20px;
    height: 20px;
    border-radius: 3px;
	background: transparent url(/wp-content/uploads/check_checked.png) no-repeat center;
	background-size: cover;
	overflow: hidden;
    z-index: 10;
    opacity: 0;}
/* .agree_check input[type="checkbox"]:checked + span.wpcf7-list-item-label::before {
    border-color: var(--primary-color);
	background: var(--primary-color);
} */
.agree_check input[type="radio"]:checked + span.wpcf7-list-item-label:before {
    opacity: 0;
}
.agree_check input[type="checkbox"]:checked + span.wpcf7-list-item-label::after {
    opacity: 1;
}

.agree_check a.prviacy_btn {
    display: inline-block;
    font-weight: 700;
    line-height: 1.6em;
    border-bottom: 1px solid #fff;
	transition: .3s ease-in-out;
}
.agree_check a.prviacy_btn:hover {
	color:var(--primary-color);
	border-color: var(--primary-color);
}


.contact_submit .wpcf7-submit.btn {
	appearance: none;
	outline: 0;
	background: transparent;
	cursor: pointer;
	border: 1px solid rgba(255, 255, 255, 0.50);
	display: flex;
	width: 200px;
	padding: 12px 24px 12px 32px;
	justify-content: space-between;
	align-items: center;
	font-size: 20px;
	font-weight: 600;
	line-height: 1.6em;
	color: #fff;
	transition: .3s ease-in-out;
	border-radius: 80px;
}
.contact_submit .wpcf7-submit.btn:hover {
	background: var(--primary-color);
	border-color: var(--primary-color);
}
.contact_submit .wpcf7-submit.btn:disabled {
	opacity: 0.4;
	cursor: not-allowed;
}
.contact_btn_icon {
	display: block;
	width: 26px;
	height: 26px;
	background: url(/wp-content/uploads/contact_arrow.png) no-repeat center;
	background-size: cover;
	transition: .3s ease-in-out;
}

.wpcf7-not-valid-tip {
    font-size: 14px;
    top: calc(100% - 8px);
    color: var(--primary-color);
	position: absolute;
	width: 300px;
}
.wpcf7 form .wpcf7-response-output {
	text-align: center;
}
.wpcf7 form.sent .wpcf7-response-output {
	border-color: #4ADE80;
}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
    border-color: #FF7171;
}



.agree_privacy {
    padding: 32px;
    color: #000;
}
.agree_privacy br {
    display: none;
}
.agree_privacy strong {
    font-weight: 700;
    padding: 24px 0 8px;
    display: block;
}
.agree_privacy strong:first-child {
    padding-top: 0;
}




@media screen and (max-width: 1024px) {
	#contact_con1 .inno_column-4,
	.contact_col_title,
	.contact_col_info {
		padding-right: 40px;
	}
	.contact_info dl {
		flex-direction: column;
	}
	.contact_info dl dd {
		width: 100%;
		padding-top: 4px;
	}


	/* 컨텍폼 */
	.contact_item_wrap {
		gap: 24px;
	}
	.contact_item_box {
		width: 100%;
	}
	textarea {
		height: 250px;
	}
	.agree_wrap {
		flex-direction: column;
		align-items: flex-start;
		gap: 32px;
		padding-top: 32px;
	}
}

@media screen and (max-width: 767px) {
	#contact_con1 .section_inner {
		grid-template-columns: repeat(1, 1fr);
		grid-template-rows: none;
	}
	.contact_col_title {
		padding-right: 0;
	}
	.contact_label {
		font-size: 16px;
	}
	input[type=text], input[type=email], input[type=password] {
		font-size: 16px;
		padding: 16px 0;
		height: 52px;
	}
	textarea {
        height: 200px;
        font-size: 16px;
        padding: 16px 0;
    }
	.agree_wrap {
		gap: 40px;
		/* padding-bottom: 80px; */
	}
	.agree_check {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
	}
	.contact_submit .wpcf7-submit.btn {
		font-size: 16px;
		padding: 8px 16px 8px 24px;
	}
	.agree_check a.prviacy_btn {
		font-size: 14px;
	}




	.contact_col_info {
		display: none;
		padding-right: 0;
		padding-top: 40px;
		border-top: 1px solid rgba(255, 255, 255, 0.50);
	}

	.contact_info_wrap {
		width: 100%;
	}
	.contact_info {
		gap: 12px;
	}
	.contact_info dl {
		font-size: 14px;
	}
}






/* **************************************** *
 * 포트폴리오
 * **************************************** */
.portfolio_wrap {
	background: #000;
	color: #fff;
	width: 100%;
    /* max-width: var(--content-width); */
    /* max-width: calc( var(--content-width) + 32px);
    padding: 0 16px;
    margin: 0 auto; */
	display: flex;
	height: 100vh;
	overflow: hidden;
	padding-top: 76.8px;
}
.portfolio_side {
	width: 33.33%;
	padding-top: 32px;
    padding-left: 3.1vw;
	display: flex;
    gap: 40px;
}
.portfolio_side a {
	color: #fff;
}
.portfolio_menu_wrap {
	width: calc(50% - 20px);
}
#menu-portfolio > .menu-item {
    padding: 16px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.50);
}
#menu-portfolio > .menu-item:first-child {
    border-top: 1px solid rgba(255, 255, 255, 0.50);
}
#menu-portfolio > .menu-item > a {
    font-size: 20px;
    font-weight: 600;
    line-height: 1.6em;
    display: block;
    position: relative;
}
#menu-portfolio > .menu-item.current-menu-item > a:before {
	content:"";
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 24px;
	height: 24px;
	background: url(/wp-content/uploads/project_nav_current.png) no-repeat center;
    background-size: cover;
}
#menu-portfolio .menu-item .sub-menu {
    padding-top: 16px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
#menu-portfolio .sub-menu .menu-item a {
    display: block;
    color: rgba(255, 255, 255, 0.50);
    font-weight: 500;
    line-height: 1.6em;
}
#menu-portfolio .sub-menu > .menu-item.current-menu-item > a {
	color: #fff;
}

/* portfolio menu current */
.single-ir #menu-portfolio > .menu-item.sub_portfolio_parent > a:before,
.single-document #menu-portfolio > .menu-item.sub_portfolio_parent > a:before,
.single-branding #menu-portfolio > .menu-item.sub_portfolio_parent > a:before,
.single-web #menu-portfolio > .menu-item.sub_portfolio_parent > a:before,
.archive #menu-portfolio > .menu-item.sub_portfolio_parent > a:before {
    content:"";
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 24px;
	height: 24px;
	background: url(/wp-content/uploads/project_nav_current.png) no-repeat center;
    background-size: cover;
}
.single-ir #menu-portfolio .sub-menu .menu-item.sub_portfolio_ir > a,
.tax-ir-tax #menu-portfolio .sub-menu .menu-item.sub_portfolio_ir > a,
.single-document #menu-portfolio .sub-menu .menu-item.sub_portfolio_biz > a,
.single-branding #menu-portfolio .sub-menu .menu-item.sub_portfolio_branding a,
.single-web #menu-portfolio .sub-menu .menu-item.sub_portfolio_web > a {
    color: #fff;
}



#menu-portfolio .sub_portfolio_ir .sub-menu {
    padding-left: 16px;
    padding-bottom: 8px;
}







.portfolio_footer {
    position: fixed;
    bottom: 30px;
    left: 3.1vw;
    font-size: 14px;
    text-transform: uppercase;
    font-weight: 500;
}





.portfolio_list_warp {
	width: calc(50% - 20px);
    overflow-y: auto;
    padding-right: 8px;
    padding-bottom: 32px;
}
.portfolio_list_item {
	padding: 12px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.50);
}
.portfolio_list_item:first-child {
    border-top: 1px solid rgba(255, 255, 255, 0.50);
}
.portfolio_list_item a {
	display: flex;
	align-items: center;
	gap: 12px;
}
.portfolio_list_item a .portfolio_thumb {
	width: 70px;
	overflow: hidden;
}
.portfolio_list_item a h4 {
	width: calc(100% - 70px - 16px);
	opacity: 0.4;
	font-size: 15px;
	font-weight: 600;
}
.portfolio_list_item a.active h4 {
	opacity: 1;
}
#portfolio_content {
	width: 66.66%;
	overflow-y: auto;
	padding: 32px 3.1vw 80px 3.1vw;
    transition: opacity 0.7s;
    opacity: 1;
}
#portfolio_content.loading {
    transition: opacity 0.7s;
    opacity: 0;
}


/* 전체 요소에 적용 */
::-webkit-scrollbar {
  width: 8px;  /* 세로 스크롤바 너비 */
  height: 8px; /* 가로 스크롤바 높이 */
}

/* 스크롤바 트랙 (배경) */
::-webkit-scrollbar-track {
  background: transparent;
}

/* 스크롤바 핸들 (움직이는 부분) */
::-webkit-scrollbar-thumb {
  background-color: rgba(100, 100, 100, 0.3);
  border-radius: 4px;
  transition: background-color 0.3s;
}

/* 스크롤바 핸들 hover 시 색상 변경 */
::-webkit-scrollbar-thumb:hover {
  background-color: rgba(100, 100, 100, 0.5);
}

/* Firefox 전용 (선택적) */
* {
  scrollbar-width: thin;             /* 얇은 스크롤바 */
  scrollbar-color: #999 transparent; /* 핸들 색상 / 트랙 배경 */
}





/* 성공사례 */
.track_record_wrap .portfolio_side {
    width: 17.3%;
}
.track_record_wrap #portfolio_content {
    width: 83.7%;
}
.track_record_wrap .portfolio_menu_wrap {
    width: 100%
}
.track_record_wrap .portfolio_list_warp {
    display: none;
}


.record_titlebox {
    padding-bottom: 80px;
}
.record_titlebox h1 {
    font-size: 70px;
	padding-bottom: 8px;
}

.record_list_titlebox {
    display: flex;
	border-bottom: 1px solid rgba(255, 255, 255, 0.50);
    align-items: flex-end;
}
.record_list_title {
    font-size: 16px;
    color: rgba(255, 255, 255, 0.40);
    font-weight: 600;
	padding-bottom: 16px;
	overflow: hidden;
}
.record_list_col1 {
	width: 25%;
    padding-right: 24px;
}
.record_list_col2 {
	width: 37.5%;
    padding-right: 24px;
}
.record_list_col3 {
	width: 37.5%;
}
.record_list_col4 {
    width: 90px;
    text-align: right;
}
.record_list_itembox {
	padding: 30px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.50);
	overflow: hidden;
    transition: .3s ease-in-out;
}
.record_list_itembox:hover {
    background: rgba(255, 255, 255, 0.1);
}
.record_list_itembox a {
	display: flex;
	/* align-items: center; */
}
.record_list_item_title {
	display: none;
}
.record_list_item h3 {
    font-size: 18px;
    line-height: 1.6em;
}
.record_more_icon {
    display: block;
    width: 30px;
    height: 30px;
    background: url(/wp-content/uploads/ser_table_arrow.png) no-repeat center;
    background-size: cover;
    margin-left: auto;
}
.record_list_itembox li {
    position: relative;
    padding-left: 16px;
}
.record_list_itembox li:before {
    content: "";
    position: absolute;
    left: 0;
    top: 11px;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background-color: #fff;
}


/* portfolio - ir */
.portfolio_titlebox {
    display: flex;
    padding-bottom: 60px;
    align-items: flex-end;
    gap: 4.2vw;
    border-bottom: 1px solid rgba(255, 255, 255, 0.50);
}
.portfolio_title {
    width: calc(33.33% - 2.1vw);
    display: flex;
    flex-direction: column;
    gap: 8px;
    z-index: 2;
    align-items: flex-start;
}
.portfolio_title h1 {
    font-size: 40px;
    line-height: 1.4em;
    font-weight: 600;
}
.portfolio_title .company_name {
    font-size: 20px;
    font-weight: 500;
}
.portfolio_imgbox {
    width: calc(66.66% - 2.1vw);
}

.portfolio_info_wrap {
    display: flex;
    padding: 60px 0 120px 0;
    gap: 4.2vw;
}
.portfolio_info_col_left {
    width: calc(33.33% - 2.1vw);
    position: relative;
}
.portfolio_info_col_right {
    width: calc(66.66% - 2.1vw);
}
.portfolio_info_wrap h2 {
    font-size: 26px;
    font-weight: 500;
    line-height: 1.6em;
}
.portfolio_result_box {
    position: absolute;
    width: 100%;
    bottom: 0;
}
.portfolio_info_wrap .portfolio_result_box h3 {
    color: var(--primary-color);
    padding-bottom: 8px;
}

.portfolio_info_col_right > div {
    padding: 24px 0 32px 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.50);
}
.portfolio_info_col_right > div:first-child {
    padding-top: 0;
}
.portfolio_info_col_right > div:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}
.portfolio_info_wrap h3 {
    font-size: 20px;
    line-height: 1.6em;
    font-weight: 600;
}
.portfolio_company_box ul li,
.portfolio_summary_box ul li,
.portfolio_news_content ul li,
.portfolio_result_box ul li {
	position: relative;
	padding-left: 16px;
}
.portfolio_company_box ul li:before,
.portfolio_summary_box ul li:before,
.portfolio_news_content ul li:before,
.portfolio_result_box ul li:before {
	content:"";
	position: absolute;
	left: 0;
	top: 11px;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background-color: #fff;
}
.portfolio_news_content ul li a {
    transition: .3s ease-in-out;
}
.portfolio_news_content ul li a:hover {
    opacity: 0.4;
}

.ir_img_wrap {
    display: flex;
    gap: 16px;
}
.ir_imgbox {
    width: calc(33.33% - 10.66px);
}



/* 포트폴리오 - 브랜딩 */
.branding_img_wrap {
    display: flex;
    flex-direction: column;
    gap: 24px;
}





/* 메인, 서브페이지에 들어가는 포트폴리오 */
.portfolio_col {
    padding-top: 40px;
}
.hightlight_carousel .slick-list {
    margin: 0 -12px;
}
.highlight_item {
    margin: 0 12px;
}
.highlight_item a {
    color: #000;
}
.highlight_txtbox {
    padding-top: 19px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.highlight_imgbox {
    border: 1px solid #dcdcdc;
}

#main_con3 .portfolio_col {
    padding-top: 0;
}
#main_con3 .highlight_item a {
    color: #fff;
}
#main_con3 .highlight_imgbox {
    border: 0;
}
#main_con3 .highlight_txtbox {
    padding-top: 24px;
    border-top: 1px solid rgba(255, 255, 255, 0.50);
    padding-bottom: 40px;
}
.hightlight_txtbox2 {
    padding-top: 24px;
    font-size: 20px;
    font-weight: 600;
}
.hightlight_txtbox2 p {
    display: none;
}
.hightlight_txtbox2 li {
    position: relative;
    padding-left: 16px;
}
.hightlight_txtbox2 li:before {
    content: "";
    position: absolute;
    left: 0;
    top: 11px;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background-color: #fff;
}


/* 웹 포트폴리오 */
.web_portfolio_imgbox {
    border-radius: 24px;
    border: 1px solid rgba(255, 255, 255, 0.50);
    box-shadow: 4px 4px 30px 0 rgba(0, 0, 0, 0.60);
    overflow: hidden;
}
.web_link {
    position: absolute;
    bottom: 0;
}
.web_portfolio_title h1 {
    font-size: 40px;
    line-height: 1.4em;
    font-weight: 600;
}
.web_portfolio_title .company_name {
    font-size: 20px;
    font-weight: 500;
    padding-top: 8px;
}
.web_link .btn_arrow {
    background: url(/wp-content/uploads/map_arrow.png) no-repeat center;
    background-size: cover;
}
.web_img_wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 60px 24px;
    margin: 0 auto;
    width: 100%;
    max-width: 1080px;
}
.web_imgbox {
    width: calc(50% - 12px);
}
.web_imgbox.web_imgbox_main {
    width: 100%;
}


@media screen and (max-width: 1200px) {
    .portfolio_wrap {
        padding-top: 50px;
    }

    /* side menu */
    .page-template-page-case-studies-php .portfolio_side {
        display: none;
    }
    .portfolio_menu_wrap {
        display: none;
    }
    .portfolio_list_warp {
        width: 100%;
    }
    .portfolio_side {
        width: 25%;
        padding-left: 16px;
    }
    #portfolio_content {
        width: 75%;
        padding: 32px 16px 80px 40px;
    }



    /* 성공사례 */
    .page-template-page-case-studies-php .portfolio_wrap {
        overflow: unset;
        height: auto;
    }
    .page-template-page-case-studies-php #portfolio_content {
        width: 100%;
        overflow-y: unset;
        padding: 32px 16px 80px;
    }

    .page-template-page-case-studies .portfolio_footer {
        position: static;
        width: 100%;
        padding: 0 16px 24px;
    }
}

@media screen and (max-width: 1024px) {
    /* footer */
    .portfolio_footer {
        position: static;
        width: 100%;
        padding: 0 16px 24px;
    }



    /* side menu */
   
    


    /* 성공사례 */
    .record_titlebox h1 {
        font-size: 56px;
    }
    .record_titlebox {
        padding-bottom: 64px;
    }
    .record_list_titlebox .record_list_title {
        display: none;
    }
    .record_list_item_title {
        display: block;
        color: rgba(255, 255, 255, 0.40);
        font-weight: 600;
        font-size: 14px;
        padding-bottom: 4px;
    }
    .record_list_itembox a {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }
    .record_list_col1 {
        width: 100%;
        min-width: unset;
    }
    .record_list_col2 {
        width: 100%;
        padding-right: 0;
    }
    .record_list_col3 {
        width: 100%;
    }
    .record_list_col4 {
        width: 100%;
    }
    .record_more_icon {
        margin-left: unset;
    }


    /* 포폴 */
    .portfolio_titlebox {
        flex-direction: column;
        align-items: flex-start;
        gap: 24px;
        padding-bottom: 40px;
        
    }
    .portfolio_title {
        width: 100%;
    }
    /* .portfolio_title h1, .web_portfolio_title h1 {
        font-size: 32px;
    } */
    .portfolio_imgbox {
        width: 100%;
    }

    .portfolio_info_wrap {
        flex-wrap: wrap;
        gap: 24px;
        padding: 40px 0;
    }
    .portfolio_info_col_left {
        width: 100%;
        padding-bottom: 40px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.50);
    }
    .portfolio_result_box {
        position: static;
        padding-top: 24px;
    }
    .portfolio_info_wrap h2 {
        font-size: 21px;
    }
    .portfolio_info_wrap h3 {
        font-size: 16px;
    }
    .portfolio_info_col_right {
        width: 100%;
    }
    .portfolio_info_col_right > div {
        padding: 24px 0;
        gap: 8px;
    }
    

    /* 포트폴리오 - 브랜딩 */
    .single-branding .portfolio_info_col_left,
    .post-type-archive-branding .portfolio_info_col_left {
        display: none;
    }
    .single-branding .portfolio_info_col_right,
    .post-type-archive-branding .portfolio_info_col_right {
        width: 100%;
    }
    .single-branding .portfolio_info_wrap,
    .post-type-archive-branding .portfolio_info_wrap {
        padding-top: 24px;
    }


    /* 메인 포폴 */
    #main_con3 .highlight_txtbox {
        padding-bottom: 24px;
    }
    .hightlight_txtbox2 {
        font-size: 18px;
    }


     /* 웹 포폴 */
    .web_portfolio_imgbox {
        border-radius: 16px;
    }
    .web_portfolio_info_wrap {
        padding-bottom: 32px;
    }
    .web_link {
        position: relative;
    }
    .web_portfolio_title {
        padding-bottom: 24px;
    }
    .web_img_wrap {
        padding-top: 40px;
        gap: 24px 8px;
    }
    .web_imgbox {
        width: calc(50% - 4px);
    }


}




@media screen and (max-width: 767px) { 
    .portfolio_wrap {
        flex-direction: column;
        height: auto;
        overflow: visible;
    }
    .portfolio_side {
        width: 100%;
        padding-right: 16px;
        /* height: 300px; */
        /* overflow-y: auto; */
    }
    .portfolio_list_warp {
        background: rgba(255, 255, 255, 0.2);
        padding: 24px;
        border-radius: 8px;
        overflow-y: auto;
        height: 200px;
        /* padding-right: 8px;
        padding-bottom: 0; */
    }
    #portfolio_content {
        width: 100%;
        padding: 64px 16px 80px;
    }



    /* 포트폴리오 ir */
    
    .portfolio_title h1, .web_portfolio_title h1 {
        font-size: 32px;
    }
    

    
    .ir_img_wrap {
        gap: 4px;
    }
    .ir_imgbox {
        width: 33.33%;
    }






    /* 성공사례 */
    .record_titlebox h1 {
        font-size: 36px;
    }
    .record_titlebox {
        padding-bottom: 40px;
    }
    .record_list_item_title {
        font-size: 12px;
        padding-bottom: 2px;
    }





    /* 메인, 서브페이지에 들어가는 포트폴리오 */
    .portfolio_col {
        padding-top: 16px;
    }
    .hightlight_carousel .slick-list {
        margin: 0 -4px;
    }
    .highlight_item {
        margin: 0 4px;
    }
    .highlight_txtbox {
        padding-top: 12px;
        gap: 4px;
    }
    .highlight_txtbox p {
        font-size: 14px;
    }

    #main_con3 .highlight_txtbox {
        padding-bottom: 16px;
        padding-top: 16px;
    }
    .hightlight_txtbox2 {
        font-size: 16px;
        padding-top: 16px;
    }


    /* 웹포폴 */
    .web_portfolio_imgbox {
        border-radius: 8px;
    }
    .portfolio_info_col_left {
        padding-bottom: 32px;
    }
    .web_link {
        font-size: 14px;
        gap: 8px;
    }


}


@media screen and (max-width: 480px) {
    .portfolio_list_item {
        padding: 8px 0;
    }
    .portfolio_list_item a {
        gap: 12px;
    }
    .portfolio_list_item a .portfolio_thumb {
        width: 56px;
    }
    .portfolio_list_item a h4 {
        width: calc(100% - 56px - 12px);
        font-size: 14px;
    }
}




/* **************************************** *
 * Search
 * **************************************** */
html:has(body.search) {
    overflow: hidden;
}
span.search_name {
    display: inline-block;
    padding: 8px 24px;
    background: rgba(255, 255, 255, 0.1);
    line-height: 1.4em;
    border: 1px solid rgba(255, 255, 255, 0.1);
}
.search-results-list {
    display: flex;
    flex-direction: column;
    border-top: 1px solid rgba(255, 255, 255, 0.5);
}
.search_item {
    padding: 24px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.5);
}
.search_item a {
    display: flex;
    align-items: center;
    width: 100%;
    gap: 40px;
}
.search_imgbox {
    width: calc(33.33% - 20px);
}
.search_txtbox {
    width: calc(66.66% - 20px);
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.search_txtbox p {
    color: rgba(255, 255, 255, 0.7);
}

.nav-links {
    padding-top: 24px;
    display: flex;
    justify-content: flex-end;
}
.nav-links div a {
    display: block;
    padding: 4px 24px;
    border: 1px solid rgba(255, 255, 255, 0.5);
    border-radius: 60px;
    line-height: 1.6em;
    font-weight: 500;
}
.nav-links div a:hover {
    background: var(--primary-color);
}

.portfolio_search_box {
    padding-top: 40px;
}
.portfolio_search_box div {
    position: relative;
}
.portfolio_search_box input[type=text] {
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    padding: 12px 16px;
    font-size: 18px;
    height: auto;
}
.portfolio_search_box #searchsubmit {
    width: 20px;
    height: 20px;
    background: url(/wp-content/uploads/search_w.png) no-repeat center;
    background-size: cover;
    outline: none;
    border: 0;
    color: transparent;
    user-select: none;
    cursor: pointer;
    position: absolute;
    top: 14px;
    right: 12px;
}


@media screen and (max-width: 1024px) {
    .portfolio_search_box {
        display: none;
    }
}





/* **************************************** *
 * 로그인, 404 
 * **************************************** */
.login_section .inno_column {
    display: flex;
    justify-content: center;
}
.tml {
    max-width: 500px;
    width: 100%;
}
.tml-login .tml-submit-wrap input {
    appearance: none;
    outline: none;
    border: 1px solid rgba(255, 255, 255, 0.5);
    background: transparent;
    color: #fff;
    display: inline-block;
    padding: 12px 40px;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
}
.tml input[type=text], .tml input[type=password] {
    background: rgba(255, 255, 255, 0.1);
}


.banner_404 .section_inner {
    padding-bottom: 0;
}
.banner_404 .subbanner_txtbox {
    display: flex;
    flex-direction: column;
    gap: 40px;
    align-items: flex-start;
}
.banner_404 .subbanner_txtbox a {
    display: inline-flex;
    align-items: center;
    gap: 16px;
    padding: 8px 24px;
    border-radius: 60px;
    border: 1px solid rgba(255, 255, 255, 0.50);
    transition: .3s ease-in-out;
}


/* **************************************** *
 * faq
 * **************************************** */
#faq_con1 .section_inner {
	padding-top: 0;
}

/* ── 탭 필터 ── */
.faq_filter {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    padding-bottom: 40px;
}

.filter_btn {
    appearance: none;
    outline: none;
    display: flex;
    padding: 4px 24px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    border-radius: 60px;
    border: 1px solid rgba(255, 255, 255, 0.50);
    cursor: pointer;
    background: transparent;
    color: #fff;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.6em;
}

.filter_btn.active {
    background: #fff;
    color: #000;
    border-color: #fff;
}

/* ── FAQ 콘텐츠 박스 ── */
.faq_content_box {
    display: none;
}

.faq_content_box.active {
    display: block;
}

/* ── 아코디언 아이템 ── */
.faq_item {
    border-bottom: 1px solid rgba(255, 255, 255, 0.50);
    padding: 40px;
}

.faq_item:first-child {
    border-top: 1px solid rgba(255, 255, 255, 0.50);
}

.faq_question {
    width: 100%;
    display: flex;
    background: none;
    border: none;
    text-align: left;
    cursor: pointer;
    gap: 40px;
    position: relative;
    color: #fff;
    align-items: flex-end;
    font-size: 32px;
    line-height: 1.4em;
    font-weight: 600;
    padding: 0;
}
span.faq_q_label {
    width: 25px;
}
span.faq_q_body {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding-right: 40px;
    width: calc(100% - 25px - 40px);
}
span.faq_q_cat {
    display: block;
    font-size: 18px;
    color: #fff;
    font-weight: 600;
    line-height: 1.4em;
}

/* 아이콘: + / × */
.faq_icon {
    width: 28px;
    height: 28px;
    flex-shrink: 0;
    position: absolute;
    right: 0;
    bottom: 15px;
}

.faq_icon::before,
.faq_icon::after {
    content: '';
    position: absolute;
    background: currentColor;
    border-radius: 2px;
    transition: transform 0.3s, opacity 0.3s;
}

/* 가로선 */
.faq_icon::before {
    width: 100%;
    height: 2px;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}

/* 세로선 */
.faq_icon::after {
    width: 2px;
    height: 100%;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
}


/* 열렸을 때 × 대신 세로선 숨김 */
.faq_question[aria-expanded="true"] .faq_icon::after {
    opacity: 0;
    transform: translateX(-50%) rotate(90deg);
}

/* 답변 영역 */
.faq_answer {
    overflow: hidden;
}

.faq_answer_inner {
    padding: 64px 0 40px;
    display: flex;
    gap: 40px;
}
.faq_a_label {
    width: 25px;
    font-size: 32px;
    font-weight: 600;
    line-height: 1.4em;
}
.faq_a_text {
    width: calc(100% - 25px - 40px);
    padding-top: 10px;
}


.faq_empty {
    padding: 40px 0;
    text-align: center;
    color: #999;
}


.faq_edit_box {
    padding-top: 40px;
}
.faq_edit_box a.faq_edit_btn {
    display: inline-block;
    padding: 4px 16px;
    border-radius: 60px;
    border: 1px solid rgba(255, 255, 255, 0.50);
    font-size: 16px;
    line-height: 1.6em;
    transition: .3s ease-in-out;
}
.faq_edit_box a.faq_edit_btn:hover {
    background: var(--primary-color);
}


@media screen and (max-width: 1024px) {
    .faq_filter {
        gap: 8px;
        padding-bottom: 24px;
    }
    
    .faq_question {
        font-size: 24px;
        gap: 16px;
    }
    .faq_item {
        padding: 24px 16px;
    }
    span.faq_q_cat {
        font-size: 14px;
    }
    span.faq_q_body {
        gap: 4px;
        width: calc(100% - 25px - 16px);
    }
    .faq_icon {
        width: 20px;
        height: 20px;
        bottom: 10px;
    }
    .faq_answer_inner {
        padding: 40px 0 24px;
        gap: 16px;
    }
    .faq_a_label {
        font-size: 24px;
    }
    .faq_a_text {
        width: calc(100% - 25px - 16px);
        padding-top: 4px;
    }
}


@media screen and (max-width: 767px) {
    button.filter_btn {
        font-size: 14px;
        padding: 2px 12px;
    }

    .faq_item {
        padding: 24px 0;
    }
    .faq_question {
        font-size: 20px;
    }
    span.faq_q_body {
        width: 100%;
    }
    span.faq_q_label {
        display: none;
    }
    .faq_icon {
        width: 16px;
        height: 16px;
        bottom: 6px;
    }
    .faq_a_label {
        display: none;
    }
    .faq_answer_inner {
        padding: 32px 0 8px;
    }
    .faq_a_text {
        width: 100%;
        padding-top: 0;
    }
}












/* **************************************** *
 * 공용템플릿
 * **************************************** */
.single-template header,
.page-template-page-checklist header,
.page-template-page-checklist-template header {
    top: -10000px;
}
#template_con {
    background: transparent;
}
#template_con .section_inner {
    padding-top: 0;
}
.temp_title_col_wrap {
    width: 33.33%;
    padding-right: 80px;
}
.template_txt_col {
    padding-top: 80px;
    padding-bottom: 80px;
}
.template_txt_col h2 {
    font-size: 40px;
    padding-bottom: 40px;
}
.template_box {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
p.temp_tax {
    padding-top: 40px;
    color: rgba(255, 255, 255, 0.7);
}
.template_img_col {
    padding-top: 80px;
    width: 66.66%;
}
#template_con h3 {
    font-size: 20px;
}
.temp_imgbox {
    padding-bottom: 48px;
    border-top: 1px solid rgba(255, 255, 255, 0.5);
    padding-top: 24px;
    display: flex;
    flex-direction: column;
    gap: 24px;
}