/* ----------------------------------------------------------------
	Custom CSS

	Add all your Custom Styled CSS here for New Styles or
	Overwriting Default Theme Styles for Better Handling Updates
-----------------------------------------------------------------*/
	/* =============================================
					font-style
	============================================= */
	.notosans{ font-family: 'NanumSquare', 'Noto Sans KR', sans-serif; }
	.lato{ font-family:'Lato', sans-serif !important; }



	/* =============================================
					pc-gnb
	============================================= */
	/* 헤더 배경색 - brandcolor1-1에서 brandcolor1로 그라데이션 */
	#header-wrap {
		background: linear-gradient(to right, var(--brand-color-1-1), var(--brand-color-1)) !important;
	}

	#header.sticky-header #header-wrap {
		background: linear-gradient(to right, var(--brand-color-1-1), var(--brand-color-1)) !important;
	}

	/* 헤더 메뉴 텍스트 컬러 - brandcolor3 */
	#primary-menu ul li > a {
		color: var(--brand-color-3) !important;
	}

	#primary-menu ul li:hover > a,
	#primary-menu ul li.current > a,
	#primary-menu ul li.active > a {
		color: var(--brand-color-3) !important;
	}

	#header #primary-menu > ul > li > a.active {
		color: var(--brand-color-3) !important;
	}

	/* 헤더 컨테이너 flexbox 정렬 */
	#header-wrap .container {
		display: flex;
		align-items: center;
		justify-content: space-between;
		position: relative;
	}

	#header-wrap .container::after {
		display: none;
	}

	#header-wrap .container #logo {
		float: none;
		flex-shrink: 0;
	}

	#header-wrap .container #primary-menu {
		float: none;
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		max-width: calc(100% - 300px); /* 로고와 아이콘 공간 확보 */
		overflow: visible !important;
	}

	#header-wrap .container #primary-menu > ul {
		overflow: visible !important;
		white-space: nowrap !important;
		max-width: 100% !important;
	}

	#header-wrap .container #primary-menu ul li {
		white-space: nowrap !important;
	}

	#header-wrap .container .header-extras {
		flex-shrink: 0;
	}

	/* 헤더 우측 상단 아이콘 스타일 */
	.header-extras {
		display: flex;
		align-items: center;
		gap: 15px;
		margin: 0 !important;
		float: none !important;
	}

	.header-extras li {
		margin-left: 0 !important;
		height: auto !important;
	}

	.header-extras li a {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 40px;
		height: 40px;
		color: var(--brand-color-3);
		transition: all 0.3s ease;
		border-radius: 50%;
	}

	.header-extras li a:hover {
		background-color: rgba(255, 255, 255, 0.2);
		color: var(--brand-color-3);
		transform: scale(1.1);
	}

	.header-extras li a svg {
		width: 24px;
		height: 24px;
	}



	/* =============================================
					nav-mobile icon
	============================================= */
	@keyframes rcr {
		50% {
			top: 10px;
		}
		0% {
			-moz-transform: rotate(-45deg);
			-o-transform: rotate(-45deg);
			-ms-transform: rotate(-45deg);
			-webkit-transform: rotate(-45deg);
			transform: rotate(-45deg);
			top: 10px;
		}
	}

	.divide {
		text-align: center;
	}

	.divide span {
		font-size: 12px;
		color:#000;
	}

	.divide .nav {
		position: relative;
		width: 30px;
		cursor: pointer;
		margin: 0 auto;
		color:#1D2086;
	}

	.divide .nav.nav-clear-spin {
		height: 30px;
		transition: all 0.5s;
		margin-top: 30%;
	}

	.divide .nav.nav-clear-spin .nav-bar {
		position: absolute;
		display: block;
		width: 100%;
		height: 3px;
		background: #1D2086 !important;
		transition: all 0.3s;
	}

	.divide .nav.nav-clear-spin .nav-bar.nav-bar-0 {
		right: 0;
		top: 0px;
	}

	.divide .nav.nav-clear-spin .nav-bar.nav-bar-1 {
		right: 0;
		top: 10px;
	}

	.divide .nav.nav-clear-spin .nav-bar.nav-bar-2 {
		right: 0;
		top: 20px;
	}

	.divide .nav.nav-clear-spin.active {
		-moz-transform: rotate(360deg);
		-o-transform: rotate(360deg);
		-ms-transform: rotate(360deg);
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}

	.divide .nav.nav-clear-spin.active .nav-bar-0, .nav.nav-clear-spin.active .nav-bar-1 {
		top: 10px;
		-moz-transform: rotate(45deg);
		-o-transform: rotate(45deg);
		-ms-transform: rotate(45deg);
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}

	.divide .nav.nav-clear-spin.active .nav-bar-2 {
		top: 10px;
		-moz-transform: rotate(-45deg);
		-o-transform: rotate(-45deg);
		-ms-transform: rotate(-45deg);
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}



	/* =============================================
					main-button
	============================================= */
	.main-btn{
		display:block;
		box-sizing: inherit;
		transition-property: all;
		transition-duration: .4s;
		transition-timing-function: ease;
		line-height: 45px;
		position: relative;
		text-decoration: none;
		text-transform: uppercase;
		text-align:center;
		color:#D91237;
		-webkit-box-flex: 1;
			  flex: 1 1 auto;
		text-transform: uppercase;
		position: relative;
		overflow: hidden;
		-webkit-transition: 0.2s;
		transition: 0.2s;
		border:1px solid #D91237;
		width:170px;
		margin:0 auto;
		font-family: 'Noto Sans KR', sans-serif;
		letter-spacing:1px;
		font-size:18px;
	}

	.main-btn:after {
		position: absolute;
		-webkit-transition: 0.2s;
		transition: 0.2s;
		content: "";
		width: 0;
		left: 50%;
		bottom: 0;
		height: 2px;
		background:#D91237;
		right: 0;
		left: auto;
	}

	.main-btn:hover:after {
		top: calc(100% - 2px);
		width: 100%;
		left: 0;
	}

	.main-btn:hover{
		font-weight:700;
	}



	/* =============================================
					  f-contact
	============================================= */
	section.f-contact:not(#footer):not(.footer),
	.f-contact:not(#footer):not(.footer),
	.f-contact[class*="promo"]:not(#footer),
	.f-contact[class*="section"]:not(#footer) {
		background: linear-gradient(to right, var(--brand-color-2-1), var(--brand-color-2)) !important;
		background-color: var(--brand-color-2-1) !important; /* fallback */
		padding:40px 0;
	}

	/* style.css의 다른 배경색 오버라이드 */
	section.f-contact:not(#footer)[style*="background"],
	.f-contact:not(#footer)[style*="background"] {
		background: linear-gradient(to right, var(--brand-color-2-1), var(--brand-color-2)) !important;
		background-color: var(--brand-color-2-1) !important; /* fallback */
	}

	.f-contact h2{
		color:#fff;
	}

	.f-contact .f-contact-btn{
		height:47px;
		width:100%;
		display:flex;
		justify-content:center;
		margin:0 auto;
		gap:10%;
	}

	.f-contact .f-contact-btn li{
		list-style:none;
		float:left;
	}

	.f-contact .f-contact-btn li:not(:last-child){
		
	}

	.f-contact .f-contact-btn li .main-btn{
		border: none !important;
		outline: none !important;
		color:#fff;
	}

	.f-contact .f-contact-btn li .main-btn:hover,
	.f-contact .f-contact-btn li .main-btn:focus,
	.f-contact .f-contact-btn li .main-btn:active{
		border: none !important;
		outline: none !important;
	}

	.f-contact .f-contact-btn li .main-btn:after{
		background:#fff;
	}



	/* =============================================
						footer
	============================================= */
	#footer,
	#footer:not(.f-contact),
	footer#footer {
		border: none;
		background: linear-gradient(to right, var(--brand-color-1-1), var(--brand-color-1)) !important;
		background-color: var(--brand-color-1-1) !important; /* fallback */
	}

	#footer.dark,
	.dark #footer,
	body #footer,
	#footer[style*="background"],
	#footer[style*="background-color"],
	#footer.f-contact {
		background: linear-gradient(to right, var(--brand-color-1-1), var(--brand-color-1)) !important;
		background-color: var(--brand-color-1-1) !important; /* fallback */
	}

	#footer .footer-logo{
		opacity:0.8;
	}

	#footer .footer-info li{
		list-style:none;
		float:left;
	}

	#footer .footer-info li:first-child{
		width: 25%;
	}

	#footer .footer-info li:not(:last-child){
		margin-right:30px;
		padding-right:30px;
		border-right:1px solid rgba(255,255,255,0.1);
	}

	#footer .footer-info li h5{
		margin-top: 3px;
		margin-bottom:12px;
		color: var(--brand-color-3) !important;
	}

	#footer .footer-info li a{
		color: var(--brand-color-3) !important;
	}

	#footer .footer-info li i,
	#footer .footer-info li svg,
	#footer i,
	#footer svg {
		color: var(--brand-color-3) !important;
		fill: var(--brand-color-3) !important;
	}

	#footer #copyrights{
		padding:20px 0;
		color: var(--brand-color-3) !important;
	}

	#footer #copyrights .col_half{
		width:50%;
	}

	#footer #copyrights,
	#footer #copyrights p,
	#footer #copyrights h5 {
		color: var(--brand-color-3) !important;
	}

	#footer #copyrights a{
		color: var(--brand-color-3) !important;
		font-weight:400;
		opacity: 0.8;
	}

	#footer #copyrights a:hover,
	#footer #copyrights a:focus{
		font-weight:600;
		color: var(--brand-color-3) !important;
		opacity: 1;
	}

	#footer #copyrights h5{
		font-size: 14px;
		line-height: 1.8;
	}



	/* =============================================
						  main
	============================================= */
	/* main-visual */
	#slider .notosans{
		font-size:2.2rem !important;
		line-height:1.5 !important;
		font-weight:700;
		letter-spacing:0px !important;
	}

	/* main-contact */
	.promo .container div,
	.promo .container .main-contact-btn a{
		float:left;
	}

	.promo .container .main-contact-info{
		width:58%;
	}

	.promo .container .main-contact-info p{
		width:90%;
	}

	.promo .main-contact-info{
		color:rgba(255,255,255,0.8);
	}

	.promo h3{
		position:relative;
		color:#fff !important;
		font-size:24px !important;
		font-style:italic;
		width:460px;
		max-width:540px;
		/*
		text-align:left;
		background:url("../img/sub/about-h2-deco-w.png")no-repeat 100% 20px/ 300px 2px; */
	}

	.promo h3::after{
		content: '';
		position: absolute;
		width: 85px;
		top: 15px;
		right:0;
		height: 0;
		border-top: 1px solid #eee;
	}

	/* @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none){
		.promo h3::after{ margin-left:315px; }
	}
	 */
	.promo .container .main-contact-btn{
		width:42%;
		height:64px;
		padding-top:10px;
		padding-left:123px;
	}

	.promo .container .main-contact-btn .main-btn{
		color:#fff;
		border-color:#D91237;
		background:#D91237;
	}

	.promo .container .main-contact-btn .main-btn:after{
		background:#fff;
	}

	.promo .container .main-contact-btn a:first-child{
		margin-right:15px;
	}


	/* main */
	.main p{ font-size:18px; }

	.main > div:not(:first-child){
		padding:90px 0;
	}

	.main h5.lato{
		color:#D91237;
		font-size:1em;
		font-weight:700;
		letter-spacing:5px;
	}


	/* main-company */
	.main-company > p{
		width:80%;
		margin:0 auto;
	}

	.main-company .main-company-box{
		padding:0 15px;
	}

	.main-company .col_one_third{
		width:32% !important;
	}

	.main-company .col_one_third:not(:last-child){
		margin-right:1.5%;
	}

	.main-company .feature-box {
		padding:50px 0;
		box-shadow:5px 5px 15px rgba(13,15,40,0.15);
	}

.main-company{background: #222; width: 100%!important; }
.main-company{ background:url("../img/maincompan_back.jpg") center top; }
.main-company *{color:#fff;}
.main-company .feature-box{background: rgba(255,255,255,0.1);border: 1px solid #fff;}
.main-company .feature-box p{color:#fff;}
.main-company .feature-box:hover img{rotate: y 360deg; transition: 1s ease-in-out;}

.portfolio-item:nth-of-type(1)>.portfolio-image{background:url("../img/all.jpg") center top; background-size: cover;}

	/* main-portfolio */
	.main-portfolio-wrap{
		background:rgba(29,32,134,0.05);
	}

	.main-portfolio-wrap h2{
		width:80%;
		margin:0 auto;
		line-height:40px;
	}

	.main-portfolio-wrap #portfolio article{
		width:23%;
		margin-bottom:20px;
	}

	.main-portfolio-wrap #portfolio article:not(:last-child){
		margin-right:2%;
	}

	.main-portfolio-wrap #portfolio a span.tit {
		font-size: 16px;
		font-weight: 700;
	}

	.main-portfolio-wrap #portfolio a span.event_date {
		font-size: 13px;
		font-weight: 300;
	}

	.main-portfolio-wrap #portfolio .portfolio-desc{
		text-align:center !important;
		background: #D91237;
		color:#fff;
		margin-top:4px;
	}

	.main-portfolio-wrap #portfolio .portfolio-desc h3 a{
		font-size:22px;
		display:block;
		white-space: nowrap;
		text-overflow: ellipsis;
		overflow: hidden;
	}

	.main-portfolio-wrap #portfolio .portfolio-desc span{
		color:#fff;
	}

	/* main-portfolio-modal */
	.portfolio-ajax-modal .modal-padding > div{
		width:32%;
	}

	.portfolio-ajax-modal .fslider{
		opacity:1 !important;
	}

	.portfolio-ajax-modal .modal-padding > div:nth-child(2){
		margin:0 2%;
		padding:0 2%;
		border-right:1px solid rgba(13,15,40,0.25);
		border-left:1px solid rgba(13,15,40,0.25);
	}


	/* main-process */
	.main-process h2{
		width:71%;
		margin:0 auto;
		line-height:40px;
	}

	.main-process .col_one_third h3{
		font-weight:600;
	}

	.main-process .col_one_third{
		width:32% !important;
	}

	.main-process .col_one_third:not(:last-child){
		margin-right:1.3%;
	}

	.main-process .process-wrap{
		display:block;
		height:403px;
	}
	.main-process .mobile-process{ display:none; }

	.main-process .process-wrap .process-box{
		float:left;
		width:48%;
		padding:2%;
	}


	.main-process .process-wrap .process-box:nth-child(odd){
		margin-right:2%;
	}

	.main-process .process-wrap .process-box:nth-child(1),
	.main-process .process-wrap .process-box:nth-child(2),
	.main-process .process-wrap .process-box:nth-child(3),
	.main-process .process-wrap .process-box:nth-child(4){
		margin-bottom:2%;
	}

	.main-process .process-wrap .process-box > p{
		font-size:40px;
		float:left;
		margin-right:4.5%;
		color:#1D2086;
	}

	.main-process .process-wrap .process-box dl dt h3{
		font-weight:600;
		margin-bottom:5px;
	}

	.main-process .process-wrap .process-box dl dd{
		font-size:18px;
	}



	/* =============================================
						LNB
	============================================= */
	#page-menu-wrap .one-page-menu ul li div{
		text-shadow:none;
	}

	#page-menu-wrap .one-page-menu ul{
		width:48%;
		margin:0 auto;
	}

	/* #page-menu-wrap .one-page-menu .about-business{
		width:20%;
	} */

	#page-menu nav li a{
/*		background:#F3F3F9;*/
	}

	#page-menu nav li:hover,
	#page-menu nav li:foucs,
	#page-menu nav li:active,
	#page-menu nav li.current,
	#page-menu nav li:hover a,
	#page-menu nav li:foucs a,
	#page-menu nav li:active a,
	#page-menu nav li.current a{
		background:#D91237 !important;
	}




	/* =============================================
						  about
	============================================= */
	/* ===== about-company ===== */
		/* about 공통 */
		.sub h5.lato{
			font-size:0.9em;
			font-weight:700;
			letter-spacing:5px;
		}

		.sub h2{
			color:#D91237;
			font-size: 28px !important;
		}

		.sub h3{
			font-size: 22px !important;
		}

		.center .sub h2:after, .sub h2:after {
			margin: 30px auto 0;
		}
		.sub h2:after {
			content: '';
			display: block;
			margin-top: 30px;
			width: 40px;
			border-top: 2px solid #444;
		}

		.sub p{
			font-size:16px;
		}

		.sub section .heading-block{ padding:90px 0; }

		/*.sub #message h2 {
			position:relative;
			width:480px;
			margin:0 auto;
			text-align:left;
			/*
			background:url("../img/sub/about-h2-deco.png")no-repeat 100% 23px/ 70px 2px; ㄴㄴ
		}

		.sub #message h2:after{
			content: '';
			position: absolute;
			width: 180px;
			top: 20px;
			right:0;
			height: 0;
			border-top: 2px solid #D91237;
			margin:0;
		}

		.sub #message .message-img-box{
			position:relative;
			padding-top:35px;
		}*/

		.sub #message .message-img-box:after{
			position:absolute;
			top:-5px;
			left:50%;
			content: '';
			display: block;
			width: 40px;
			border-top: 2px solid #444;
		}


		.sub #message h3:nth-of-type(1){
			width:77%;
			margin:0 auto;
		}

		.sub #message h3:nth-of-type(2){
			color:#D91237;
		}

		/* Hibis는 행사의 완벽을 추구합니다. 섹션 배경색 */
		.sub #message h3:last-of-type,
		.sub #message h3:last-of-type + p {
			background-color: var(--brand-color-2);
			color: #fff;
			padding: 20px;
			margin: 20px auto;
			text-align: center;
		}

		.sub #message h3:last-of-type {
			margin-bottom: 0;
		}

		.sub #message h3:last-of-type + p {
			margin-top: 0;
			padding-top: 0;
		}

		.sub #message p{
			margin:0 auto;
		}

		/* IE10+ 익스플로러 */
	/* 	@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
			.sub #message p{ width:70%; }
		} */


		/* about overview */
		.sub #overview{
			background:rgba(29,32,134,0.04);
		}

		.sub #overview .row > div{
			padding:0 15px;
			-ms-flex: 0 0 50%;
			flex: 0 0 50%;
			max-width: 50%;
		}
		.sub #overview .row > div:nth-child(1){
			position:relative;
		}
		.sub #overview .row > div:nth-child(1) img{
			position:absolute;
			width:100%;
			padding:0 15px;
			display:block;
			margin:0 auto;
			top:50%;
			left:0;
			transform:translateY(-50%);
		}

		/* .sub #overview .container > div .col_half:nth-of-type(1){
			height:276px;
			line-height:276px;
			border:1px solid rgba(13,15,40,0.05);
			box-sizing:border-box;
			margin-right:2%;
		} */

		.sub #overview .overview-info {
			display: flex;
			flex-direction: column;
		}

		.sub #overview .overview-item {
			display: flex !important;
			flex-direction: row !important;
			margin-bottom: 15px;
			width: 100%;
			align-items: center;
		}

		.sub #overview .overview-label {
			font-weight: 600;
			margin-right: 10px;
			text-align: left;
			flex-shrink: 0;
			white-space: nowrap;
		}

		.sub #overview .overview-value {
			text-align: left;
			flex: 1;
			display: flex;
			align-items: center;
		}

		.sub #overview .overview-value img {
			display: inline-block;
			vertical-align: middle;
		}

		.sub #overview dl dt{
			width:30%;
			border-right: none !important;
			text-align: left !important;
		}

		.sub #overview dl dd{ 
			width:70%;
			text-align: left !important;
		}

		.sub #overview dl dt,
		.sub #overview dl dd{
			float:left;
			padding:10px 0;
			font-size:16px;
		}

		.sub #overview dl dt:not(:last-of-type),
		.sub #overview dl dd:not(:last-of-type){
			border-bottom: none !important;
		}

		.sub #overview dl dt:last-of-type,
		.sub #overview dl dd:last-of-type{ height:48px; }

		/* .sub #overview dl dt:last-of-type{ padding-top:5%; } */

		.sub #overview .company-info{
			width:50%;
			/* height:64px; */
			margin:0 auto;
		}
		.sub #overview .company-info li{ 
			list-style:none;
			display: flex;
			flex-direction: row;
			align-items: center;
		}
		.sub #overview .company-info li p{ 
			float: none !important;
			display: inline-block;
		}

		.sub #overview .company-info li p:nth-child(1){
			width: auto;
			margin-right: 10px;
		}
		.sub #overview .company-info li p:nth-child(2){
			width: auto;
			text-align:left;
		}


		/* about goal */
		.sub #goal h3{
			width:57%;
			margin:0 auto;
		}

		.sub #goal p{ margin:0 auto; }

		.sub #goal p:nth-of-type(1){ width:77%; }


		/* about philosophy */
		.sub #philosophy{
			background:url("../img/sub/about-philosophy-bg.jpg")no-repeat center top /cover fixed;
		}

		.sub #philosophy .heading-block{ 
			min-height:797px;
			padding-bottom: 30px !important;
		}

		.sub #philosophy.page-section {
			padding-bottom: 30px !important;
		}

		.sub #philosophy h5,
		.sub #philosophy h2{ color:#fff; }

		.sub #philosophy h2:after { border-color:#fff; }

		.sub #philosophy .heading-block {
			text-align: center;
		}

		.sub #philosophy .heading-block > h5,
		.sub #philosophy .heading-block > h2 {
			text-align: center;
		}

		.sub #philosophy .container .col_half,
		.sub #philosophy .heading-block .col_half {
			width:40% !important;
			height:500px;
			float: none !important;
			margin: 0;
			display: inline-block;
			vertical-align: top;
			border: 2px solid #666 !important;
			border-radius: 10px !important;
		}

		.sub #philosophy .container .col_half:nth-of-type(1),
		.sub #philosophy .heading-block .col_half:nth-of-type(1) {
			margin-right: 2%;
		}

		.sub #philosophy .container .col_half:nth-of-type(1){
			margin-right: 0;
			background:url("../img/sub/about-philosophy-img1.jpg")no-repeat center top/cover;
		}

		.sub #philosophy .container .col_half:nth-of-type(2){
			margin-right: 0;
			background:url("../img/sub/about-philosophy-img2.jpg")no-repeat center top/cover;
		}

		.sub #philosophy .container .col_half .philosophy-bg{
			height:100%;
			background:rgba(13,15,40,0.75);
		}

		.sub #philosophy .container .col_half .philosophy-bg .philosophy-info{
			position:relative;
			top:24%;
		}

		.sub #philosophy .container .col_half .philosophy-bg .philosophy-info *{ color:#fff; }

		.sub #philosophy .container .col_half p{
			min-height:222px;
			padding:0 20px 30px 20px;
			opacity:0.8;
		}



		/* about organization */
		.sub #organization{ padding-bottom:0; }

		/* .sub #organization .heading-block{ min-height:760px; } */

		.sub #organization .or-box li{
			list-style:none;
			float:left;
			width:32%;
			border:1px solid rgba(13,15,40,0.25);
			padding:2%;
		}

		.sub #organization .or-box li:nth-child(2),
		.sub #organization .or-box li:nth-child(5){
			margin:0 2%;
		}

		.sub #organization .or-box li:nth-child(1),
		.sub #organization .or-box li:nth-child(2),
		.sub #organization .or-box li:nth-child(3){
			margin-bottom:2%;
		}

		.sub #organization .or-box li p{ margin-top:5%; }


	/* ===== about-business ===== */
		/* about_business.php 컨테이너 1200px 제한 */
		body:has(#area) .sub .container,
		body:has(#business-process) .sub .container,
		.sub #area .container,
		.sub #business-process .container {
			max-width: 1200px !important;
		}

		/* about_business.php 텍스트 폰트 크기 축소 */
		.sub #area p,
		.sub #area h3,
		.sub #business-process p,
		.sub #business-process h3,
		.sub #clients p,
		.sub #clients h3,
		.sub #area li,
		.sub #business-process li,
		.sub #clients li {
			font-size: 14px !important;
		}

		.sub #area h4,
		.sub #business-process h4,
		.sub #clients h4 {
			font-size: 16px !important;
		}

		.sub #area h5,
		.sub #business-process h5,
		.sub #clients h5 {
			font-size: 13px !important;
		}

		.sub #area h2,
		.sub #business-process h2 {
			font-size: 28px !important;
		}

		/* area */
		.sub #area .heading-block{
			min-height:1400px;
			text-align: center;
		}

		.sub #area .heading-block > h5,
		.sub #area .heading-block > h2 {
			text-align: center;
		}

		.sub #area .col_one_third{
			width: 32%;
			box-shadow:0 3px 15px rgba(13,15,40,0.25);
			text-align:center;
			display: inline-block;
			vertical-align: top;
			float: none !important;
			margin: 0;
		}

		.sub #area .col_one_third:nth-of-type(1),
		.sub #area .col_one_third:nth-of-type(2),
		.sub #area .col_one_third:nth-of-type(3) { margin-bottom:20px; }

		.sub #area .col_one_third:nth-of-type(2),
		.sub #area .col_one_third:nth-of-type(5){
			margin-left: 2%;
			margin-right: 2%;
		}

		.sub #area .col_one_third:nth-of-type(4),
		.sub #area .col_one_third:nth-of-type(5),
		.sub #area .col_one_third:nth-of-type(6) { margin-bottom:20px; }

		/* 1행에 3열씩 배치 */
		.sub #area .col_one_third:nth-of-type(3n+1) {
			margin-left: 0;
			margin-right: 2%;
		}

		.sub #area .col_one_third:nth-of-type(3n+2) {
			margin-left: 0;
			margin-right: 2%;
		}

		.sub #area .col_one_third:nth-of-type(3n) {
			margin-left: 0;
			margin-right: 0;
		}

		/* 카드 중앙 정렬 - 컨테이너와 heading-block에 중앙 정렬 적용 */
		.sub #area .container.center {
			text-align: center !important;
		}

		.sub #area .heading-block.center {
			text-align: center !important;
		}

		.sub #area .col_one_third h3{
			font-weight:500;
		}

		.sub #area .col_one_third p{
			height:120px;
			opacity:0.7;
		}

		.sub #area .col_one_third .x-pc{ display:none; }

		.sub #area .col_one_third h3,
		.sub #area .col_one_third p,
		.sub #area .col_one_third .area-box{
			padding:0 5%;
		}

		/* about_business.php 이미지 크기 축소 및 카드 폭 맞춤 */
		.sub #area .col_one_third img {
			width: 100%;
			max-width: 100%;
			height: auto;
			max-height: 200px;
			display: block;
		}

		.sub #area .col_one_third {
			width: fit-content;
			max-width: 32%;
		}

		.sub #area .col_one_third .area-box{
			color:#D91237;
			padding-bottom:20px;
			height:auto;
			min-height:auto;
		}

		.sub #area .col_one_third .area-box li{
			display:inline-block;
			/* float:left; */
			list-style:none;
			height:30px;
		}

		.sub #area .col_one_third .area-box li:not(:last-child){
			margin-right:3%;
		}

		.sub #area .col_one_third:nth-of-type(4) p,
		.sub #area .col_one_third:nth-of-type(5) p,
		.sub #area .col_one_third:nth-of-type(6) p{
			height:160px;
		}

		/* .sub #area .col_one_third:nth-of-type(4) .area-box,
		.sub #area .col_one_third:nth-of-type(5) .area-box,
		.sub #area .col_one_third:nth-of-type(6) .area-box{
			min-height:145px;
		} */

		.sub #area .col_one_third h3:after{
			content: '';
			display: block;
			margin: 20px auto;
			width: 30px;
			border-top: 2px solid #000;
			-webkit-transition: width .3s ease;
			-o-transition: width .3s ease;
			transition: width .3s ease;
		}

		.sub #area .col_one_third:hover h3:after{
			width:50px;
		}


		/* process */
		.sub #business-process {
			background:url("../img/sub/about-process-bg.jpg")no-repeat center top /cover fixed;
			margin-top: -100px !important;
			position: relative;
			top: -100px;
		}

		.sub #business-process .col_one_third{
			width:32% !important;
		}

		.sub #business-process .col_one_third:not(:last-child){
			margin-right:1.3%;
		}

		.sub #business-process .process-wrap.pc-process{
			display:block;
			height:403px;
		}

		.sub #business-process .process-wrap.mobile-process{ display:none; }

		.sub #business-process .process-wrap .process-box{
			float:left;
			width:48%;
			padding:2%;
			border:1px solid #ededed;
		}


		.sub #business-process .process-wrap .process-box:nth-child(odd){
			margin-right:2%;
		}

		.sub #business-process .process-wrap .process-box:nth-child(1),
		.sub #business-process .process-wrap .process-box:nth-child(2),
		.sub #business-process .process-wrap .process-box:nth-child(3),
		.sub #business-process .process-wrap .process-box:nth-child(4){
			margin-bottom:2%;
		}

		.sub #business-process .process-wrap .process-box > p{
			font-size:40px;
			float:left;
			margin-right:4.5%;
			color:#1D2086;
		}

		.sub #business-process .process-wrap .process-box dl dt h3{
			font-weight:600;
			margin-bottom:5px;
		}

		.sub #business-process .process-wrap .process-box dl dd{
			font-size:16px;
		}


		/* client */
		.sub #clients .portfolio-filter{
			width:40%;
			margin:0 auto 50px auto;
		}

		.sub #clients .portfolio-filter li:not(:last-child){
			margin-right:5%;
		}

		.sub #clients #portfolio article{
			width:18.5%;
		}

		.sub #clients #portfolio article:not(:nth-child(6n)){
			margin-right:1.5%;
		}

		.sub #clients #portfolio article .portfolio-image{
			padding:8% 22%;
			border:1px solid rgba(13,15,40,0.15);
		}

		.sub #clients #portfolio article .portfolio-image{
			width:100%;
		}

		.sub #clients #portfolio article .portfolio-desc h3{
			font-size:18px;
			font-weight:500;
		}



		/* =============================================
					      portfoilo
		============================================= */
		/* 공통 */
		.portfolio-info{ padding:90px 0; }


		/* tap-btn */
		#portfolio-btn {
			margin-bottom:50px;
		}
		#portfolio-btn ul {
			display: flex;
			gap:2%;
			flex-wrap:wrap;
		}
		#portfolio-btn ul li{
			list-style:none;
			float:left;
		}

		#portfolio-btn ul li a{
			display:block;
			border-bottom:2px solid rgba(13,15,40,0.25);
			padding:8px 20px;
			color:rgba(13,15,40,0.7);
			font-weight:500;
			font-family:'Noto Sans KR', sans-serif;
			font-size:18px;
		}
		@media(max-width:991px){
			#portfolio-btn ul { gap: 10px }
		}
		@media(max-width:576px){
			#portfolio-btn ul li { width: calc((100% - 20px) / 3);}
			#portfolio-btn ul li a{ padding: 8px 0; font-size: 15px; text-align: center;}
		}

		#portfolio-btn ul li a:hover,
		#portfolio-btn ul li a:focus,
		#portfolio-btn ul li a:active,
		#portfolio-btn ul li a.active{
			border-bottom-color:#D91237;
			color:#D91237;
			transition:all 0.4s;
		}

		/* portfolio-content */
		.portfolio-info #portfolio {
			clear:both;
		}

		.portfolio-info #portfolio article{
			width:24%;
		}

		.portfolio-info #portfolio article:not(:nth-child(4n)){
			margin-right:1.0%;
		}

		.portfolio-info #portfolio .portfolio-desc{
			padding:10px 0px 30px 0;
		}

		.portfolio-info #portfolio .portfolio-desc h3{
			margin-bottom:10px;
			overflow: hidden;
			text-overflow: ellipsis;
			white-space: nowrap;
			font-size:18px;
		}

		.portfolio-info #portfolio .portfolio-desc span{
			display: none;
			color:#D91237;
			font-family:'Noto Sans KR', sans-serif;
			font-size:16px;
			font-weight:500;
		}


		/* portfolio-search */
		.portfolio-info .portfolio_search{
			width:40%;
			margin:0 auto 60px auto;
		}

		.portfolio-info .portfolio_search .form-control{
			border-radius:0;
			border-color:rgba(13,15,40,0.15);
			color:rgba(13,15,40,0.7);
			padding:2% 15px;
			font-size:18px;
			height:auto;
		}

		.portfolio-info .portfolio_search .btn-primary{
			padding:8% 20px;
			background:#1D2086;
			color:#fff;
			font-size:18px;
			border:none;
		}

		.portfolio-info .portfolio_search .btn-primary:hover,
		.portfolio-info .portfolio_search .btn-primary:focus{
			background:#D91237;
			transition:all 0.4s;
		}


		/* portfolio-pagenation */
		.portfolio-info .pagination-container .pagination li a{
			border-radius:0;
			font-family:'Noto Sans KR', sans-serif;
			transition:all 0.4s;
			padding:0.5em 0.8em;
		}



		/* =============================================
					      contact us
		============================================= */
		/* 공통 */
		.sub-contact{ padding:90px 0; }

		.sub-contact h5,
		.sub-contact h2,
		.sub-contact h3{
			text-align:center;
		}

		.sub-contact h5{
			font-size:1em;
			font-weight:700;
			letter-spacing:5px;
		}

		.sub-contact h2{
			color:#D91237;
		}

		.sub-contact h2:after, .sub-contact h2:after {
			margin: 30px auto 0;
		}
		.sub-contact h2:after {
			content: '';
			display: block;
			margin-top: 30px;
			width: 40px;
			border-top: 2px solid #444;
		}

		.sub-contact h3{ margin-bottom:30px; }


		/* contact us - 행사신청정보 */
		.sub-contact .contact-info{
			margin-bottom:60px;
			padding-bottom:60px;
			border-bottom:1px solid rgba(13,15,40,0.25);
		}

		.sub-contact .contact-info .keyinfo{
			text-align:right;
			color:rgba(13,15,40,0.6);
		}

		.sub-contact .contact-info .keyinfo span{
			color:#D91237;
			position:relative;
			margin-right:5px;
			top:3px;
		}

		.sub-contact label{
			font-size:18px;
			font-weight:500;
			color:rgba(13,15,40,0.7);
			padding: 0.25em 0.4em;
			line-height: 1;
		}

		.sub-contact .contact-info .badge::after{
			content:"*";
			color:#D91237;
			position:relative;
			top:3px;
			margin-left:5px;
		}

		.sub-contact .contact-info input,
		.sub-contact .phonekind,
		.sub-contact .input-group-text{
			border-radius:0;
			border-color:rgba(13,15,40,0.15);
			height:40px !important;
			padding:8px 15px;
			font-size:18px;
			line-height:18px;
		}

		.sub-contact .contact-info .form-group .form-row{
			margin:0 0 15px 0;
		}

		.sub-contact .input-phone .form-control{ float:left; }

		.sub-contact .input-phone .phonekind{
			width:20% !important;
			margin-right:2%;
		}

		.sub-contact .input-phone input{ width:78%; }

		.sub-contact .phonekind

		.sub-contact .contact-info .input-daterange input{
			background:url("../img/sub/calendar-icon.png")no-repeat 95% 50%/ 20px;
		}

		.sub-contact .contact-info .input-address .form-row input{
			width:85%;
			margin-right:10px;
		}

		.sub-contact .contact-info .input-address .form-row .contact-btn{
			width:14%;
			background:#1D2086;
			color:#fff;
			border:none;
		}

		.sub-contact .contact-info .input-address .form-row .contact-btn:hover,
		.sub-contact .contact-info .input-address .form-row .contact-btn:focus{
			background:#D91237;
			transition:all 0.4s;
		}

		.sub-contact .input-group-text{ background:#fff; }

		.sub-contact .contact-info textarea{
			min-height:300px;
			border-radius:0;
			padding:15px;
			font-size:18px;
		}


		/* contact us - 개인정보처리방침 */
		.sub-contact .contact-privacy{
			font-family:'Noto Sans KR', sans-serif;
		}

		.sub-contact .contact-privacy h4{
			color:rgba(13,15,40,0.7);
			margin-bottom:15px;
		}

		.sub-contact .contact-privacy .privacy-info:not(:last-child){
			margin-bottom:40px;
		}

		.sub-contact .contact-privacy p,
		.sub-contact .contact-privacy ul{
			color:rgba(13,15,40,0.6);
		}

		.sub-contact .contact-privacy ul li{
			list-style:none;
		}

		.sub-contact .contact-privacy ul li:not(:last-child){
			margin-bottom:5px;
		}

		.sub-contact .contact-privacy p.font-weight-bold{
			margin-bottom:15px;
		}

		.sub-contact .contact-privacy .pr_box{
			padding:0 15px;
			margin-bottom:30px;
		}

		.sub-contact .contact-privacy .pr_box > div{
			padding:0;
		}

		.sub-contact .contact-privacy .pr_box .privacy_t,
		.sub-contact .contact-privacy .pr_box .privacy_t_2{
			padding:8px 15px;
		}

		.sub-contact .contact-privacy .pr_box .privacy_t{
			border-top:1px solid rgba(13,15,40,0.3);
			border-bottom:1px dashed rgba(13,15,40,0.2);
		}

		.sub-contact .contact-privacy .pr_box .privacy_t_2{
			border-bottom:1px solid rgba(13,15,40,0.3);
		}

		.sub-contact .contact-privacy .pr_box > div:not(:last-child) p{
			border-right:1px dashed rgba(13,15,40,0.3);
		}

		.sub-contact .contact-privacy .contact_box{
			height:300px;
			overflow-y:scroll;
			border:1px solid rgba(13,15,40,0.25);
			padding:15px;
			margin-bottom:50px;
		}


		/* contact us - 개인정보처리방침동의 버튼 */
		.form-checkbox-label{
			position: relative;
			cursor: pointer;
			padding:0 !important;
			padding-left: 30px !important;
			display: block;
			line-height:30px !important;
			width: 27%;
			margin: 0 auto 50px auto;
		}

		.form-checkbox-label:hover i{
		  color: #D91237;
		}

		.form-checkbox-label span{
		  display: block;
		}

		.form-checkbox-label input{
		  width: auto;
		  opacity: 0.0001;
		  position: absolute;
		  left: 0.25rem;
		  top: 0.25rem;
		  margin: 0;
		  padding: 0;
		}


		.form-checkbox-label .form-checkbox-button {
		  position: absolute;
		  -webkit-user-select: none;
		  -moz-user-select: none;
		  -ms-user-select: none;
		  user-select: none;
		  display: block;
		  color: rgba(13,15,40,0.25);
		  left: 0;
		  top: 0.5rem;
		  width: 1rem;
		  height: 1rem;
		  z-index: 0;
		  border: 0.125rem solid currentColor;
		  border-radius: 0.0625rem;
		  transition: color 0.28s ease;
		  will-change: color;
		}

		.form-checkbox-label .form-checkbox-button::before,
		.form-checkbox-label .form-checkbox-button::after {
		  position: absolute;
		  height: 0;
		  width: 0.2rem;
		  background-color: #D91237;
		  display: block;
		  transform-origin: left top;
		  border-radius: 0.25rem;
		  content: "";
		  transition: opacity 0.28s ease, height 0s linear 0.28s;
		  opacity: 0;
		  will-change: opacity, height;
		}

		.form-checkbox-label .form-checkbox-button::before {
		  top: 11px;
		  left: 0.38rem;
		  transform: rotate(-135deg);
		  box-shadow: 0 0 0 0.0625rem #fff;
		}

		.form-checkbox-label .form-checkbox-button::after {
		  top: 5px;
		  left: 0;
		  transform: rotate(-45deg);
		}

		.form-checkbox-input:checked ~ .form-checkbox-button {
		  color: #D91237;
		}

		.form-checkbox-input:checked ~ .form-checkbox-button::after,
		.form-checkbox-input:checked ~ .form-checkbox-button::before {
		  opacity: 1;
		  transition: height 0.1s ease;
		}

		.form-checkbox-input:checked ~ .form-checkbox-button::after {
		  height: 0.5rem;
		}

		.form-checkbox-input:checked ~ .form-checkbox-button::before {
		  height: 21px;
		  transition-delay: 0.1s;
		}



		/* contact us - 온라인문의 - btn */
		.contactus-btn{
			background:none;
		}



		/* =============================================
					      privacy
		============================================= */
		.sub-privacy{
			padding:90px 0;
			font-family: 'Noto Sans KR', sans-serif;
		}

		.sub-privacy h5,
		.sub-privacy h2,
		.sub-privacy h3{
			text-align:center;
		}

		.sub-privacy h5{
			font-size:1em;
			font-weight:700;
			letter-spacing:5px;
		}

		.sub-privacy h2{
			color:#D91237;
		}

		.sub-privacy h2:after, .sub-privacy h2:after {
			margin: 30px auto 0;
		}

		.sub-privacy h2:after {
			content: '';
			display: block;
			margin-top: 30px;
			width: 40px;
			border-top: 2px solid #444;
		}

		.sub-privacy .privacy-info:not(:last-child){
			margin-bottom:50px;
		}

		.sub-privacy .privacy-info h4{
			color:rgba(13,15,40,0.7);
			margin-bottom:15px;
		}

		.sub-privacy .privacy-info p,
		.sub-privacy .privacy-info ul{
			color:rgba(13,15,40,0.6);
			font-size: 14px;
			line-height: 1.6;
		}

		.sub-privacy .privacy-info ul li{
			font-size: 14px;
			line-height: 1.6;
		}

		.sub-privacy .privacy-info ul li:not(:last-child){
			margin-bottom:8px;
		}

		.sub-privacy p.font-weight-bold{
			margin-bottom:15px;
			font-size: 14px;
		}

		.sub-privacy .pr_box{
			padding:0 15px;
			margin-bottom:30px;
		}

		.sub-privacy .pr_box > div{
			padding:0;
		}

		.sub-privacy .pr_box .privacy_t,
		.sub-privacy .pr_box .privacy_t_2{
			padding:8px 15px;
		}

		.sub-privacy .pr_box .privacy_t{
			border-top:1px solid rgba(13,15,40,0.3);
			border-bottom:1px dashed rgba(13,15,40,0.2);
		}

		.sub-privacy .pr_box .privacy_t_2{
			border-bottom:1px solid rgba(13,15,40,0.3);
		}

		.sub-privacy .pr_box > div:not(:last-child) p{
			border-right:1px dashed rgba(13,15,40,0.3);
		}





	/* =============================================
					  responsive
	============================================= */
	@media all and (min-width: 992px) and (max-width: 1200px) {
		/* =====  main  ===== */
			/* main-visual */
				#slider .notosans{
					font-size:1.8rem !important;
				}

			/* main-contact */
			.promo .container .main-contact-info { width: 64%; }
			.promo .container .main-contact-btn { width: 34%; }
			.promo .container .main-contact-btn a{ width:47.5%; }
			.promo .container .main-contact-btn a:first-child { margin-right: 5%; }
			.promo .container .main-contact-btn{ padding-left:30px; }
			.promo .container .main-contact-info p { width: 100%; }
			.promo h3{ font-size:24px !important; }
			.promo h3::after { margin-left: 29%; }


			/* main-company */
			.main-company > p{ width:85%; }

			.main-company .main-company-box p{
				padding:0 15px;
				width:74%;
				margin:0 auto;
			}

			.main-company .main-company-box p:nth-of-type(1){
				margin-bottom:10px !important;
			}


			/* main-process */
			.main-process h2{ width:86%; }



			/* main-portfolio */
			.portfolio-item .portfolio-image,
			.portfolio-item .portfolio-image a,
			.portfolio-item .portfolio-image img { height: 200px; }


		/* =====  f-contact  ===== */
			.f-contact .f-contact-btn{
				width:40.5%;
			}


		/* =====  footer  ===== */
			#footer .footer-info li:first-child{
				width:30%;
			}



		/* =====  sub  ===== */
			/* ==  about  == */
				/* - lnb - */
				#page-menu-wrap .one-page-menu ul{ width:56%; }


				/* - about company - */
				/* message */
				.sub #message h3:nth-of-type(1) { width:81%; }
				.sub #message .page-br{ display:none; }
				.sub #message p{ width:85%; }
				.sub #message p:nth-of-type(4){ width:75%; }

				/* overview */
				.sub #overview .heading-block { min-height: 567px; }
				/* .sub #overview dd{ margin-left: 30%; } */
				/* .sub #overview dd:nth-of-type(3){
					width: 70%;
					padding: 10px 50px;
				} */

				.sub #overview dd:nth-of-type(5){
					width: 70%;
					padding: 10px 60px;
				}

				/* .sub #overview dt:nth-of-type(3), */
				.sub #overview dt:nth-of-type(5){ height:75px; }

				div #overview .col_half:nth-of-type(1){
					height:240px !important;
					line-height:240px !important;
				}

				.sub #overview .company-info{
					width:100%;
				}


				/* goal */
				.sub #goal h3{ width:65%; }
				/* .sub #goal p { width:68%; } */


				/* philosophy */
				.sub #philosophy .container .col_half p {
					padding: 0px 15px;
					opacity:0.8;
				}

				.sub #philosophy .container .col_half .philosophy-bg .philosophy-info{ top:25%;}


				/* - about business - */
				/* business-lnb */
				/* #page-menu-wrap .one-page-menu .about-business { width: 25%; } */
				#page-menu-wrap .one-page-menu .about-business li {
					text-align:center;
					/* width:50%;  */
					margin-left:0;
					margin-right:0;
				}

				/* area */
				.sub #area .heading-block{
					min-height:1645px;
				}
				.sub #area .col_one_third p{
					height:145px !important;
					font-size:17px;
				}

				.sub #area .col_one_third:nth-of-type(4) p,
				.sub #area .col_one_third:nth-of-type(5) p,
				.sub #area .col_one_third:nth-of-type(6) p{
					height:205px !important;
				}

				.sub #area .col_one_third:nth-of-type(2) .page-br:nth-child(2),
				.sub #area .col_one_third:nth-of-type(5) .page-br{ display:none; }


				.sub #area .col_one_third .pc{ display:none; }
				.sub #area .col_one_third .x-pc{ display:block; }

				.sub #area .col_one_third .area-box { min-height: 145px; }

				/* .sub #area .col_one_third:nth-of-type(4) .area-box,
				.sub #area .col_one_third:nth-of-type(5) .area-box,
				.sub #area .col_one_third:nth-of-type(6) .area-box{ min-height: 175px; } */

				.sub #business-process .mobile-process{ display:none !important; }

				/* clients */
				.sub #clients .portfolio-filter { width: 50%; }
				.sub #clients .portfolio-nomargin .portfolio-desc{ padding:10% 2%; }

				/* - portfolio - */
				.portfolio-info #portfolio .portfolio-desc {
					padding: 7% 10px;
				}


				/* - contact us - */
				.sub-contact .contact-info .input-address .form-row input{
					width:83%;
					margin-right:1.5%;
				}

				.sub-contact .contact-info .input-address .form-row .contact-btn{
					width:15.5%;
				}

				.sub-contact .form-checkbox-label{ width:33%; }


	}


	@media (max-width: 991px){
		/* =====  header  ===== */
			#header{
				position:fixed;
				top:0;
				left:0;
				width:100%;
				z-index:100;
				background: #fff;
				border-bottom: 1px solid #e1e1e1;
			}

			#header #logo img{
				height:80px !important;
			}

			#header #logo{ height:80px; }

		/* =====  main  ===== */
			.body-wrap{ padding-top:80px; }
	}

	@media (max-width: 767px){
		/* 모바일에서 헤더 높이 50% 축소 (80px) */
			#header{
				min-height: 80px !important;
			}

			#header-wrap{
				min-height: 80px !important;
			}

			#header #logo img{
				height:80px !important;
			}

			#header #logo{ 
				height:80px !important; 
			}

			.body-wrap{ 
				padding-top:80px !important; 
			}

			.promo h3 {
				width:500px;
				max-width:80%;
				margin:0 auto;
			}

			.promo h3::after{ width:245px; }


			.promo .container .main-contact-info{
				width:100%;
				text-align:center;
			}

			.promo .container .main-contact-info p{
				margin:0 auto 30px auto;
			}

			.promo .container .main-contact-btn{
				height:auto;
				padding:0;
				margin:0 auto;
				float:none;
			}

			.promo .container .main-btn{
				width:47.5%;
			}

			.promo .container .main-btn:first-child{
				margin-right:5%;
			}


			/* main-company */
			.main-company .col_one_third{ width:100% !important; }

			/* main-portfolio */
			.main-portfolio-wrap #portfolio article { width:100%; }
			.main-portfolio-wrap #portfolio article:not(:last-child) {
				margin-right: 0;
			}


		/* =====  footer  ===== */
			#footer .footer-logo{ margin:0 auto 1.5rem auto; }
			#footer .footer-info li:not(:last-child){ padding:0; margin:0; border:none; }
			#footer .footer-info li:first-child{ margin:0 auto; }


		/* =====  LNB  ===== */
			.body-wrap #page-menu{
				position:fixed;
				left:0;
				top:0;
				padding-top:80px;
				width:100%;
				z-index:99;
			}

			#page-menu-wrap .one-page-menu ul li div{ text-shadow:none; }

			#page-menu-wrap .one-page-menu ul{
				width:95%;
				background:none;
				padding:0;
				/* height:50px; */
			}

			#page-menu-wrap .one-page-menu ul li{
				/* float:left; */
				padding:1% 2%;
				margin:2%;
			}

			.body-wrap #page-menu-wrap{ height:auto !important; }

			#page-title { padding: 90px 0;}


		/* =====  sub  ===== */
			/* about-company 회사개요 */
			.sub #overview{ padding:90px 0; }
			.sub #overview .heading-block{
				padding:0;
				height:auto;
				min-height:auto;
			}
			.sub #overview .row{
				display: -ms-block;
				display: block;
			}
			.sub #overview .row > div{
				padding:0;
				-ms-flex: 0 0 100%;
				flex: 0 0 100%;
				max-width: 100%;
			}
			.sub #overview .row > div:nth-child(1){
				position:relative;
			}
			.sub #overview .row > div:nth-child(1) img{
				position:relative;
				padding:0 15px;
				display:block;
				margin:0 auto ;
				top:0;
				transform:translateY(0);
				width:80%;
			}

			/* about-company 경영이념 */
			.sub #philosophy .container .col_half{
				width:100% !important;
				height:auto;
			}

			.sub #philosophy .container .col_half .philosophy-bg .philosophy-info{
				position:relative;
				top:0;
				padding:100px 0;
			}

			.sub #philosophy .container .col_half p{
				min-height:222px;
				padding:0 20px;
				opacity:0.8;
			}

			/* about-business 사업영역 */
			.sub #area{ padding-bottom:90px; }
			.sub #area .heading-block { min-height: auto; }
			.sub #area .col_one_third p{ height:auto !important; }


		/* =====  privacy  ===== */
			.pr_box > div:nth-child(2) p{ border-right:none !important; }


	}


	@media all and (min-width: 768px) and (max-width: 991px) {
		/* =====  header  ===== */
			#primary-menu ul li > a{ font-size:18px; }
			#primary-menu ul ul li > a{ font-size:16px; opacity:0.7; }


		/* =====  font  ===== */
			p{ font-size:17px !important; }

		/* =====  main  ===== */
			.main > div:not(:first-child){ padding:5.2rem 0; }

			/* main-visual */
				#slider .notosans{
					font-size:1.8rem !important;
				}

			/* main-contact */
			.promo .container .main-contact-btn{ width:50%; }

			/* main-company */
			.main-company > p { width: 100%; }
			.main-company .feature-box{ padding:2rem 0; }

			/* main-portfolio */
			.main-portfolio-wrap h2{ width:90%; }
			.portfolio-nomargin .portfolio-desc{ padding:5%; }

			.portfolio-item .portfolio-image,
			.portfolio-item .portfolio-image a,
			.portfolio-item .portfolio-image img { height: inherit; }

			/* main-process */
			.main-process h2{ width:90%; }
			.main-process .process-wrap{ height:324px; }
			.main-process .process-wrap .process-box{ background-position:420px !important; }
			.main-process .process-wrap .process-box dl dd { margin-left: 6.5%; }

			/* f-contact */
			.f-contact .f-contact-btn{ width:60%; }
			.f-contact .f-contact-btn li{ width:47.5%; }
			.f-contact .f-contact-btn li a{ width:100%; }
			.f-contact .f-contact-btn li:first-child{ margin-right:5%; }


		/* =====  footer  ===== */
			#footer .footer-info li:first-child{ float:none; }
			#footer .footer-info li:nth-child(2),
			#footer .footer-info li:nth-child(3){
				padding-right:1rem;
				margin-right:1rem;
				border-right:1px solid rgba(255,255,255,0.1);
			}

			#footer .footer-info li:nth-child(2){ width:50%; }
			#footer .footer-info li:nth-child(3){ width:27%; }


		/* =====  lnb  ===== */
/* 		#page-menu-wrap .one-page-menu .about-business { width: 50%; } */
		#page-menu-wrap .one-page-menu .about-business li{ text-align:center; }
		/* #page-menu nav li a {
			height: 43px;
			line-height: 43px;
		} */


		/* =====  sub  ===== */
			/* == about == */
				/* 공통 */
			.sub #message h3:nth-of-type(1){ width:98%; }
			.heading-block h3{ font-size:22px; }

				/* company - message */
				.sub #message p{ width:100%; }
				.sub #message p .page-br { display:none; }
				/* .sub #message p:nth-of-type(1){ width:100%; }
				.sub #message p:nth-of-type(2){ width:100%; }
				.sub #message p:nth-of-type(3){ width:94%; }
				.sub #message p:nth-of-type(4),.sub #message p:nth-of-type(5){ width:87%; } */

				/* company - overview */
				.sub #overview .company-info{ width:34%; }
				.sub #overview .container > div .col_half{ width:100%; }

				.sub #overview .container > div .col_half:nth-of-type(1){
					margin-right:0;
					margin-bottom:30px !important;
				}

				/* .sub #overview .heading-block{ min-height:872px; } */

				/* company - goal */
				.sub #goal h3{ width:80%; }
				.sub #goal p{ width:84%; }
				.sub #goal p .page-br { display:none; }
				.sub #goal p:nth-of-type(1) {
					width: 87%;
				}

				/* company - philosophy */
				.sub #philosophy .container .col_half{ width:100% !important; }
				.sub #philosophy .container .col_half:nth-of-type(1){
					margin-right:0;
					margin-bottom:30px !important;
				}

				.sub #philosophy .container .col_half p{
					min-height:auto;
				}

				.sub #philosophy .heading-block { min-height: 1255px; }

				/* business - area */
				.sub #area{ padding-bottom:90px; }
				.sub #area .heading-block { min-height: auto; }
				.sub #area .page-br { display:none; }
				.sub #area .col_one_third {
					width:100%;
					margin:0 !important;
				}

				.sub #area .col_one_third:not(:last-child){
					margin-bottom:5% !important;
				}
				.sub #area .col_one_third p,.sub #area .col_one_third .area-box{ min-height:auto !important;}
				.sub #area .col_one_third p{ height:auto; }
				.sub #area .col_one_third .area-box{ height:auto; }

				.sub #area .col_one_third:nth-of-type(1) .area-box,
				.sub #area .col_one_third:nth-of-type(3) .area-box,
				.sub #area .col_one_third:nth-of-type(4) .area-box,
				.sub #area .col_one_third:nth-of-type(6) .area-box{ height:80px; }

				.sub #area .col_one_third .area-box li:not(:last-child) { margin-right: 3.5%; }


				/* business - process */
				.sub #business-process .process-wrap{ height:325px; }
				.sub #business-process .process-wrap .process-box{ background-position:420px !important; }
				.sub #business-process .process-wrap .process-box dl dd { margin-left: 6.5%; }

				/* business - clients */
				.sub #clients .portfolio-filter{ width:65% }

				.sub #clients #portfolio article{ width:31.8%; }


			/* == portfolio == */
				.portfolio-info #portfolio article{ width:48.5%; }
				.portfolio-info #portfolio article:not(:nth-child(3n)) { margin-right: 1.5%; }
				.portfolio-info .portfolio_search .form-control{ font-size:17px; }
				.portfolio-info .portfolio_search { width: 60%; }


			/* == contact us == */
				.sub-contact label,.sub-contact .contact-info input{ font-size:17px; }
				.sub-contact .contact-info .input-address .form-row input{ width:83%; margin-right:2%; }
				.sub-contact .contact-info .input-address .form-row .contact-btn{ width:15%; }
				.datepicker td, .datepicker th{ width:35px !important; }
				.sub-contact .contact-info textarea{ min-height:200px; }
				.sub-contact .contact-privacy .contact_box{ height:230px; }
				.form-checkbox-label{ width:41%; }

				.sub-contact .input-phone .phonekind{
					width:28% !important;
					margin-right:2%;
				}

				.sub-contact .input-phone input{ width:70%; }

	}

	/* IE10+
	@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
		main-company
		.main-company > p{ width:78%; }

		main-portfolio
		.main-portfolio-wrap h2{ width:92%; }
	} */


	@media (max-width: 767px){
		/* =====  main  ===== */
			/* main-contact */
			.promo h3 {
				width:400px;
				max-width:80%;
				margin:0 auto;
			}

			.promo h3::after{ width:150px; }

			/* 회사개요 텍스트 카드 중앙 정렬 */
			.sub #overview .row {
				display: flex !important;
				flex-direction: column !important;
				align-items: center !important;
				justify-content: center !important;
			}

			.sub #overview .row > div:nth-child(2) {
				display: flex !important;
				justify-content: center !important;
				align-items: center !important;
				width: 100% !important;
				margin: 0 auto !important;
			}

			.sub #overview .overview-info {
				width: 100% !important;
				max-width: 90% !important;
				margin: 0 auto !important;
				display: flex !important;
				flex-direction: column !important;
				align-items: flex-start !important;
			}

			/* main-process */
			.main-process .process-wrap { min-height: 758px; }
			.main-process .process-wrap .process-box{ width:100%; padding:4%; }
			.main-process .process-wrap .process-box:nth-child(odd){ margin-right:0; }
			.main-process .process-wrap .process-box:not(:last-child){ margin-bottom:4%; }
			.main-process .process-wrap .process-box > p{ font-size:32px !important; }
			.main-process .process-wrap .process-box{ background-position:right !important; }

			/* f-contact */
			.f-contact .f-contact-btn li{ width:47.5%; }
			.f-contact .f-contact-btn li a{ width:100%; }
			.f-contact .f-contact-btn li:first-child{ margin-right:5%; }


		/* =====  footer  ===== */
			#footer .footer-info li{
				float:none;
				padding-right:0;
				margin-right:0;
				border-right:none;
				text-align:center;
			}
			#footer .footer-logo{ margin-bottom:0 !important; }

			#footer .footer-info li:nth-child(1),
			#footer .footer-info li:nth-child(2){ margin-bottom:4%; }

			#footer .footer-info li:nth-child(3),
			#footer .footer-info li:nth-child(4){
				float:left;
				width:48.5%;
			}

			#footer .footer-info li:nth-child(3){
				margin-right:1.5%;
				padding-right:1.5%;
				border-right:1px solid rgba(255,255,255,0.1);
			}
			#footer #copyrights .col_half{ float:left; }
			#footer #copyrights .col_half:nth-child(1){ width:70%; }
			#footer #copyrights .col_half:nth-child(2){ width:30%; }


		/* =====  main  ===== */
			/* main-process */
			.pc-process{ display:none !important; }
			.mobile-process{ display:block !important; }


		/* =====  sub  ===== */
			/* == about == */
				/* 공통 */
				.sub #message h3:nth-of-type(1){ width:100%; }
				.sub #message p{ width:100%; }

				/* company - lnb */
				#page-menu-wrap .one-page-menu ul{ width:100% !important; }
				#page-menu-wrap .one-page-menu ul li{
					text-align:center;
					margin:2% 0;
				}


				/* company - message */
/* 				.sub #message h2{ width:460px; } */
				.sub .page-br{ display:none; }
				.sub #message .col_one_third {
					width:33.33%;
					float:left;
				}

				/* comapny - overview */
				.sub #overview dl dt:last-of-type,
				.sub #overview dl dd:last-of-type{ height:45px; }

				/* company - goal */
				.sub #goal h3,
				.sub #goal p{ width:100%; }
				.sub #goal p:nth-of-type(1){ width:100%; }

				/* business-process */
				.sub #business-process .pc-process{ display:none !important; }
				.sub #business-process .mobile-process{ display:block !important; }

	}



	@media all and (min-width: 548px) and (max-width: 767px) {
		/* =====  header  ===== */
			#primary-menu ul li > a{ font-size:18px; }
			#primary-menu ul ul li > a{ font-size:16px; opacity:0.7; }


		/* =====  font  ===== */
			p{ font-size:16px !important; }


		/* =====  main  ===== */
			.main > div:not(:first-child){ padding:5rem 0; }


			/* main-visual */
				#slider .notosans{
					font-size:1.4rem !important;
					line-height:1.5 !important;
				}

			/* main-contact */
			.promo .container .main-contact-info p { width:100%; }
			.promo .container .main-contact-btn{ width:60%; }

			/* main-company */
			.main-company > p { width: 75%; }
			.main-company .feature-box{ padding:2rem 0; }

			/* main - overview */
			.sub #overview dl dt, .sub #overview dl dd { font-size:14px; }

			/* main-portfolio */
			.main-portfolio-wrap h2{ width:86%; }
			.portfolio-nomargin .portfolio-desc{ padding:5%; }

			.portfolio-item .portfolio-image,
			.portfolio-item .portfolio-image a,
			.portfolio-item .portfolio-image img { height: inherit; }

			/* main-process */
			.main-process h2{ width:100%; }
			.main-process .process-wrap .process-box dl{ margin-left:8%; }
			.main-process .process-wrap .process-box dl dd { margin-left: 0; }

			/* f-contact */
			.f-contact .f-contact-btn{ width:75%; }


		/* =====  lnb  ===== */
			/* #page-menu-wrap .one-page-menu .about-business { width: 66% !important; } */
			#page-menu nav li a {
				height: 43px;
				line-height: 43px;
			}


		/* =====  sub  ===== */
			/* == about == */
				/* 공통 */
				.heading-block h3{ font-size:22px; }

				/* company - message */
				.sub #message p:nth-of-type(4),
				.sub #message p:nth-of-type(5){ width:90%; }


				/* company - overview */
				.sub #overview .container > div .col_half{ width:100%; }

				.sub #overview .container > div .col_half:nth-of-type(1){
					margin-right:0;
					margin-bottom:30px !important;
				}

			/* 	.sub #overview .heading-block{ min-height:852px; } */


				/* company - organization */
				/* .sub #organization .heading-block { min-height: 715px; } */
				.sub #organization .or-box li{ padding:5%; }
				.sub #organization .or-box li p{ margin-top:15%; }


				/* company - philosophy */
				.sub #philosophy .container .col_half{ width:100% !important; }
				.sub #philosophy .container .col_half:nth-of-type(1){
					margin-right:0;
					margin-bottom:30px !important;
				}

				.sub #philosophy .container .col_half p{
					min-height:auto;
					padding:0 40px;
				}

				.sub #philosophy .heading-block { min-height: auto; }


				/* business - area */
				.sub #area .col_one_third {
					width:100%;
					margin:0 !important;
				}

				.sub #area .col_one_third:not(:last-child){ margin-bottom:5% !important; }
				.sub #area .col_one_third p,
				.sub #area .col_one_third .area-box{ min-height:auto; }

				.sub #area .col_one_third:nth-of-type(1) .area-box,
				.sub #area .col_one_third:nth-of-type(4) .area-box{ height:auto; }

				.sub #area .col_one_third p{ height:auto; }

				.sub #area .col_one_third .area-box{
					height:auto;
					min-height:auto !important;
					padding-bottom:5%;
				}

				.sub #area .heading-block { min-height: auto; padding-bottom:0 !important; }
				.sub #area .col_one_third .area-box li:not(:last-child) { margin-right: 3.5%; }


				/* business - process */
				.sub #business-process .heading-block{ min-height:1094px; }
				.sub #business-process .process-wrap .process-box{ width:100%; padding:4%; }
				.sub #business-process .process-wrap .process-box:nth-child(odd){ margin-right:0; }
				.sub #business-process .process-wrap .process-box:not(:last-child){ margin-bottom:5%; }
				.sub #business-process .process-wrap .process-box > p{ font-size:32px !important; }
				.sub #business-process .process-wrap .process-box dl{ margin-left:10%; }
				.sub #business-process .process-wrap .process-box dl dd { margin-left: 0; }
				.sub #business-process .process-wrap{ height:325px; }
				.sub #business-process .process-wrap .process-box{ background-position:right !important; }


				/* business - clients */
				.sub #clients .portfolio-filter{ width:100%; margin-bottom:5%; }
				.sub #clients .portfolio-filter li{ width:45%; }
				.sub #clients .portfolio-filter li:nth-child(odd){ margin-right:5% !important; }
				.sub #clients #portfolio article{ width:45%; }
				.sub #clients #portfolio article:not(:nth-child(6n)){ margin-right:0; }
				.sub #clients #portfolio article:nth-child(odd){ margin-right:5%; }
				.sub #clients .portfolio:not(.portfolio-1) .portfolio-desc{ padding:7% 5%; }



			/* == portfolio == */
				.modal-padding { padding: 3%; }
				.portfolio-ajax-modal .modal-padding > div { float: left; }
				.portfolio-info #portfolio article{ width:45%; }
				.portfolio-info #portfolio article:not(:nth-child(3n)) { margin-right: 5%; }
				.portfolio-info .portfolio_search .form-control{ font-size:16px; }
				.portfolio-info .portfolio_search { width: 80%; }
				.portfolio-info .pagination-container{ width:57%; margin:0 auto; }



			/* == contact us == */
				.sub-contact label,.sub-contact .contact-info input{ font-size:17px; }
				.sub-contact .contact-info input{ padding:12px 15px; }
				.sub-contact .contact-info .input-address .form-row input{ width:75%; margin-right:2%; }
				.sub-contact .contact-info .input-address .form-row .contact-btn{ width:23%; }
				.datepicker td, .datepicker th{ width:35px !important; }
				.sub-contact .contact-info textarea{ min-height:200px; }
				.sub-contact .contact-privacy .contact_box{ height:230px; }
				.form-checkbox-label{ width:60%; }
				.sub-contact .contact-info{ height:auto; margin-bottom:3rem; padding-bottom:3rem; }

	}



	@media (max-width: 575px){

		.promo .container .main-contact-btn { width: 75%; }
		.main-company > p{ width:77%; }
		.main-process h2 { width:84%; }
	/* 	.sub #overview .heading-block { min-height: 852px; } */
		.sub #philosophy .heading-block { min-height: auto; }
		/* .sub #organization .heading-block{ min-height:735px; } */

		.portfolio-info #portfolio article{ width:100%; }
		.portfolio-info #portfolio article:not(:nth-child(3n)){ margin-right:0; }
		.portfolio-ajax-modal .modal-padding > div{
			float:none;
			width:100%;
		}

		.portfolio-ajax-modal .modal-padding > div:nth-child(2) {
			margin: 0;
			padding: 0;
			border-right: none;
			border-left: none;
		}

		.portfolio-ajax-modal .modal-padding > div:not(:last-child){
			margin-bottom:3% !important;
			padding-bottom:3%;
			border-bottom:1px solid rgba(13,15,40,0.25);
		}


	}



	@media (max-width: 547px){
		/* main-contact */
			.promo h3 {
				text-align:center;
			}

			.promo h3::after{ border:none; }


		.sub p{
			font-size:16px;
		}
		#header #primary-menu ul ul li > a { font-size:16px !important; }
		.promo .container .main-contact-info p { width:83%; }
		.promo .container .main-contact-btn a:first-child{ margin-right:5%; }

		.promo .container .main-contact-btn,
		.main-company > p,
		.main-portfolio-wrap h2,
		.main-process h2,
		.f-contact .f-contact-btn,
		#footer #copyrights .col_half,
		.sub #philosophy .container .col_half,
		.sub #area .col_one_third,
		.sub #business-process .process-wrap .process-box,
		.sub #clients .portfolio-filter,
		.portfolio-info .portfolio_search{ width:100% !important; }

		/* main-visual */
			#slider .notosans{
				font-size:1.8rem !important;
				line-height:1.5 !important;
			}

		.main-process .process-wrap {
			min-height: 650px;
		}

		.portfolio-item .portfolio-image,
			.portfolio-item .portfolio-image a,
			.portfolio-item .portfolio-image img { height: 100%; }

		#footer #copyrights .col_half:nth-child(1){ margin-bottom:15px !important; }
		#footer #copyrights .col_half:nth-child(2) h5{ float:none !important; text-align:center; }

		#page-menu-wrap .one-page-menu{ overflow-x:scroll; }
		#page-menu-wrap .one-page-menu ul{ width:430px !important; }
/* 		#page-menu-wrap .one-page-menu ul li{ width:50%; } */
		#page-menu-wrap .one-page-menu ul li a{ text-align:center; }

		#page-menu-wrap .one-page-menu ul li { padding: 2%; }

		#page-menu-wrap .one-page-menu ul.about-business { width:100% !important; }

		.sub #overview .container > div .col_half:nth-of-type(1){ margin-bottom:30px !important;  }
		.sub #overview dl dt:not(:last-of-type), .sub #overview dl dd:not(:last-of-type){ border-bottom:none !important; }
		.sub #overview dl dt{
			border-bottom: none !important;
			border-right: none !important;
			margin:0 auto;
		}

		.sub #overview dl dd {
			border-bottom: none !important;
			margin:0 auto 30px;
		}

		.sub #overview dl dt,
		.sub #overview dl dd{
			float:none;
			width:90%;
			text-align: left !important;
		}

		.sub #overview dl dd:last-of-type{ margin-bottom:0; }

		.sub #philosophy .container .col_half p{
			min-height: auto;
			padding:0 2rem;
		}

		.sub #philosophy .container .col_half:nth-of-type(1){ margin-bottom:30px !important; }

		.sub #organization .or-box li{ width:45%; padding: 5%;}

		.sub #organization .or-box li:nth-child(2),
		.sub #organization .or-box li:nth-child(5),
		.sub #area .col_one_third:nth-of-type(2),
		.sub #area .col_one_third:nth-of-type(5){ margin: 0; }

		.sub #organization .or-box li:nth-child(odd){ margin-right:5%; }
		.sub #organization .or-box li:not(:last-child){ margin-bottom:5%; }
		/* .sub #organization .heading-block { min-height: 920px; height:1004px; } */

		.sub #area .heading-block{ padding-bottom:0; }
		.sub #area .col_one_third:not(:last-child){ margin-bottom:30px; }
		.sub #area .col_one_third p{ min-height:auto; height:auto; }
		.sub #area .col_one_third:not(:first-child) .area-box { height:auto; min-height:auto; }
		.sub #area .col_one_third:nth-of-type(1) .area-box,
		.sub #area .col_one_third:nth-of-type(4) .area-box{ height:auto; min-height:auto; }
		.sub #area .col_one_third:last-child{ margin-bottom:0; }

		.sub #business-process .process-wrap .process-box{ padding:5%; }
		.sub #business-process .process-wrap .process-box:not(:last-child){ margin-bottom:30px; }
		.sub #business-process .process-wrap .process-box dl{ float:left; margin-left:10px; }

		.sub #business-process .process-wrap .process-box:last-child{ margin-bottom:90px; }

		.sub #clients #portfolio article { width:45%; }
		.sub #clients #portfolio article:not(:nth-child(6n)) { margin-right: 0; }
		.sub #clients #portfolio article:nth-child(odd) { margin-right: 5%; }
		.sub #clients #portfolio article .portfolio-desc h3{ font-size:16px; }


		.pagination-container .pagination{ width:290px; margin:0 auto !important; float:none;}
		.sub-contact .contact-info .input-address .form-row input{ width:70%; margin-right:2%;}
		.sub-contact .contact-info .input-address .form-row .contact-btn{ width: 28%;}
		.form-checkbox-label{ width:300px; }


		/* .sub #overview .col_half dl{ height:556px; } */

		/* .sub #overview dl *{ clear:both; } */
		/* .sub #overview dl dd{ width:100%; } */
		/* .sub #overview dl dd:not(:last-of-type){ margin-bottom:30px; } */

		.sub #overview dl dt:last-of-type{
			padding-top:10px;
			height:auto;
		}

		.sub #overview .company-info{
			width:195px;
		}

		.sub #overview .company-info li p{ float:left !important; }
		.sub #overview .company-info li p:nth-child(1){
			width:20%;
			margin-right:5%;
		}
		.sub #overview .company-info li p:nth-child(2){
			width:75%;
			text-align:center;
		}

		.sub-contact .input-phone .phonekind{
			width:30% !important;
			margin-right:3%;
		}

		.sub-contact .input-phone input{ width:67%; }


	}

	@media (max-width: 491px){
		.sub-contact .contact-privacy .pr_box > div:nth-child(1) .privacy_t_2{ height:74px; }
	}

	/* @media (max-width: 461px){
		.sub #area .col_one_third:nth-of-type(3) .area-box{ height:110px; min-height:auto; }
	} */

	@media (max-width: 456px){
		.sub-privacy .pr_box > div:nth-child(1) .privacy_t_2{ height:74px; }
	}

	/* @media (max-width: 452px){
		.sub #area .col_one_third:nth-of-type(4) .area-box{ height:140px; min-height:auto; }
	} */

	@media (max-width: 420px){
		.sub-contact .form-row .input-datapicker .input-group{ display:block; }
		.sub-contact .form-row .input-datapicker .input-daterange input:first-of-type{
			width:80%;
			float:left;
		}

		.sub-contact .form-row .input-datapicker .input-daterange input:first-of-type,
		.sub-contact .input-group-prepend{ margin-bottom:8px; }

		.sub-contact .input-group-prepend{
			width:20%;
			text-align:center !important;
		}

		.sub-contact .input-group-text{
			width:100%;
			display: block;
		}

		.main-process .process-wrap {
			min-height:586px;
		}


	}

	@media (max-width: 413px){
		.sub-contact .contact-privacy .pr_box > div:nth-child(3) .privacy_t_2{ height:74px; }
	}

	/* @media (max-width: 412px){
		.sub #area .col_one_third:nth-of-type(6) .area-box{ height:110px; min-height:auto; }
	}

	@media (max-width: 386px){
		.sub #area .col_one_third:nth-of-type(5) .area-box{ height:110px; min-height:auto; }
	} */


	@media (max-width: 377px){
		.sub-privacy .pr_box > div:nth-child(3) .privacy_t_2{ height:74px; }
	}

	/* @media (max-width: 364px){
		.sub #area .col_one_third:nth-of-type(1) .area-box{ height:140px; min-height:auto; }
	} */

	@media (max-width: 360px){
		.sub #clients #portfolio article .portfolio-desc h3{ font-size:0.8rem !important; }
	}

	/* @media (max-width: 338px){
		.sub #area .col_one_third:nth-of-type(4) .area-box{ height:170px; min-height:auto; }
	}

	@media (max-width: 328px){
		.sub #area .col_one_third:nth-of-type(3) .area-box{ height:140px; min-height:auto; }
	}

	@media (max-width: 327px){
		.sub #area .col_one_third:nth-of-type(2) .area-box{ height:110px; min-height:auto; }
	}
	 */






/* about_company.php */



.visual { width: 100%; height: 100vh; background: #fff; }

.visual .swiper-slide {overflow: hidden; position: relative;}
.visual .txt-container { position: absolute; left: 50%; top: calc(50% + 50px); z-index: 2; transform: translate(-50%, -50%); padding: 10px; width: 100%; max-width: 1170px; }

.visual .swiper-slide .bg-box{ position: absolute; left: 0; top: 0; right: 0; bottom: 0; background: #fff no-repeat center / cover;}

.visual .swiper-button-next,
.visual .swiper-button-prev { color: #fff;}

.visual .swiper-slide-active .bg-box { animation:zoomOut 4s ease-in-out both  }

.visual .txt { text-align: center; }
.visual .slide3 .txt { text-align: left;}
.visual .slide3 .img2 { margin: 45px 0 40px; }

.visual .swiper-slide-active.slide1 .img1 {  animation:zoomIn 3s   cubic-bezier(.36,.05,.61,1.5) both  }
.visual .swiper-slide-active.slide2 .img1 {  animation:fadeDown 3s both  }
.visual .swiper-slide-active.slide2 .img2 { animation:fadeUp 3s both   }
.visual .swiper-slide-active.slide3 .img1 { animation:fadeRight 1.5s both  }
.visual .swiper-slide-active.slide3 .img2 {   animation:fadeRight 1.5s 1s both   }
.visual .swiper-slide-active.slide3 .img3 { animation:fadeRight 1.5s 1.5s both   }

@media(max-width:991px){
	.visual { height: 750px;}
	.visual .txt-container { top: 50%;}
}

@media(max-width:768px){
	.visual { height: 700px;}
	.visual .slide3 .img1 img { width: 280px;}

}
@media(max-width:576px){
	.visual { height: 550px;}
	.visual .slide3 .img1 img { max-width: 250px; width: 100%;}
	.visual .slide3 .img2 {  margin: 40px 0 30px;}
}




@keyframes zoomOut {
	from { transform: scale(1.3);}
	to { transform: scale(1);}
}
@keyframes zoomIn {
	from { transform: scale(.4);}
	to { transform: scale(1);}
}
@keyframes fadeDown {
	from { opacity: 0; transform: translateY(-50%);}
	to { opacity: 1; transform: translateY(0);}
}
@keyframes fadeUp {
	from { opacity: 0; transform: translateY(50%);}
	to { opacity: 1; transform: translateY(0);}
}
@keyframes fadeRight {
	from { opacity: 0; transform: translateX(-10%);}
	to { opacity: 1; transform: translateX(0);}
}



#page-menu-wrap .one-page-menu ul{display:block;text-align:center;}
#page-menu nav li.current a{background-color:#D91237;}
#page-menu nav li{display:inline-block;}
.current{background-color:#D91237 !important;}

#page-menu nav li:hover{
	background-color:#D91237;
	transition:0.3s all;
}

.grecaptcha-badge {display: none;}

@media(max-width:768px){
	#page-title {
		padding: 60px 0;
	}
}
@media(max-width:576px){
	#page-title {
		padding: 50px 0;
	}
}

/* contact.php breadcrumb 줄바꿈 방지 */
body:has(#page-title) .breadcrumb,
.contact .breadcrumb,
#page-title .breadcrumb {
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
}

/* contact.php에서 breadcrumb 위치 조정 */
body:has(contact.php) #page-title .breadcrumb,
#page-title.page-title-parallax .breadcrumb {
	right: 15px !important;
	max-width: calc(100% - 30px) !important;
}

/* about_company.php 이미지 사이즈 축소 */
.sub #message .message-img-box img {
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
	display: block;
}

.sub #message .message-img-box {
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	gap: 1%;
	max-width: calc(100% - 100px);
	margin: 0 auto;
}

.sub #message .message-img-box .col_one_third {
	margin-bottom: 10px !important;
	margin-right: 0 !important;
	padding: 10px !important;
	width: 32% !important;
	flex: 0 0 32%;
	float: none !important;
	box-sizing: border-box;
}

.sub #message .message-img-box .col_one_third:last-child {
	margin-right: 0 !important;
}

.sub #overview .overview-img {
	max-width: 70% !important;
	height: auto !important;
}

.sub #overview img[src*="logo2.svg"] {
	max-width: 100px !important;
	height: auto !important;
}

.sub #goal img {
	max-width: 80% !important;
	height: auto !important;
}

.sub #organization img {
	max-width: 50% !important;
	height: auto !important;
}

/* page-title 배경색 그라데이션 */
#page-title {
	background: linear-gradient(to right, var(--brand-color-2-1), var(--brand-color-2)) !important;
	background-color: var(--brand-color-2-1) !important; /* fallback */
}

#page-title[style*="background"] {
	background: linear-gradient(to right, var(--brand-color-2-1), var(--brand-color-2)) !important;
}

/* index.php our portfolio 카테고리 버튼 아웃라인 제거 */
.main-portfolio-wrap .portfolio-category-list .category-btn {
	border: none !important;
	outline: none !important;
}

.main-portfolio-wrap .portfolio-category-list .category-btn:hover {
	border: none !important;
	outline: none !important;
}

/* 테블릿/중간 사이즈에서 헤더 메뉴 레이아웃 수정 */
@media (min-width: 768px) and (max-width: 1200px) {
	/* 메뉴가 잘리지 않도록 */
	#header-wrap .container #primary-menu {
		max-width: calc(100% - 250px) !important;
		overflow: visible !important;
	}

	#header-wrap .container #primary-menu > ul {
		overflow: visible !important;
		white-space: nowrap !important;
		max-width: 100% !important;
	}

	#header-wrap .container #primary-menu ul li {
		white-space: nowrap !important;
		flex-shrink: 0 !important;
	}

	#header-wrap .container #primary-menu ul li > a {
		padding: 39px 12px !important;
		font-size: 15px !important;
	}
}

/* 테블릿에서 헤더 메뉴 레이아웃 수정 */
@media (min-width: 768px) and (max-width: 991px) {
	/* 테블릿에서 헤더 컨테이너 flexbox 유지 */
	#header-wrap .container {
		display: flex !important;
		flex-direction: row !important;
		align-items: center !important;
		justify-content: space-between !important;
		position: relative !important;
	}

	/* 메뉴는 햄버거 메뉴로 전환 (기본 테마 동작 유지) */
	#header-wrap .container #primary-menu {
		position: static !important;
		left: auto !important;
		transform: none !important;
		float: none !important;
		width: auto !important;
		overflow: visible !important;
	}

	/* 메뉴가 잘리지 않도록 */
	#header-wrap .container #primary-menu > ul,
	#header-wrap .container #primary-menu > div > ul {
		overflow: visible !important;
		max-width: none !important;
		white-space: normal !important;
		display: none !important; /* 햄버거 메뉴로 숨김 */
	}

	/* 메뉴가 열릴 때 표시 */
	body.primary-menu-open #header-wrap .container #primary-menu > ul,
	body.primary-menu-open #header-wrap .container #primary-menu > div > ul {
		display: block !important;
		position: absolute !important;
		top: 100% !important;
		left: 0 !important;
		right: 0 !important;
		background-color: #fff !important;
		z-index: 9999 !important;
		box-shadow: 0 4px 10px rgba(0,0,0,0.1) !important;
		padding: 10px 0 !important;
	}

	#header-wrap .container #primary-menu ul li {
		white-space: nowrap !important;
		width: 100% !important;
		display: block !important;
		float: none !important;
	}

	#header-wrap .container #primary-menu ul li a {
		display: block !important;
		padding: 10px 20px !important;
		width: 100% !important;
	}

	/* 로고와 아이콘 정렬 */
	#header-wrap .container #logo {
		float: none !important;
		position: relative !important;
		flex-shrink: 0;
	}

	#header-wrap .container .header-extras {
		float: none !important;
		position: relative !important;
		margin-top: 0 !important;
		flex-shrink: 0;
	}
}

/* 모바일/테블릿에서 헤더 메뉴 레이아웃 수정 */
@media (max-width: 767px) {
	/* 작은 테블릿/모바일에서만 block 레이아웃 적용 */
	#header-wrap .container {
		display: block !important;
		flex-direction: column !important;
		align-items: flex-start !important;
		justify-content: flex-start !important;
	}

	/* 메뉴 중앙 정렬 해제 */
	#header-wrap .container #primary-menu {
		position: static !important;
		left: auto !important;
		transform: none !important;
		float: none !important;
		width: 100% !important;
	}

	/* 로고와 아이콘 정렬 */
	#header-wrap .container #logo {
		float: left !important;
		position: relative !important;
	}

	#header-wrap .container .header-extras {
		float: right !important;
		position: relative !important;
		margin-top: 0 !important;
	}

	/* 헤더 요소들이 한 줄에 배치되도록 */
	#header-wrap .container::before,
	#header-wrap .container::after {
		content: "";
		display: table;
		clear: both;
	}
}

@media (max-width: 767px) {
	/* 모바일에서 헤더 높이 50% 축소 (80px) */
	#header{
		min-height: 80px !important;
	}

	#header-wrap{
		min-height: 80px !important;
	}

	#header #logo img{
		height:80px !important;
	}

	#header #logo{ 
		height:80px !important; 
	}

	.body-wrap{ 
		padding-top:80px !important; 
	}

	/* 모바일에서 더 작은 화면 대응 */
	#header-wrap .container {
		display: flex !important;
		flex-direction: row !important;
		align-items: center !important;
		justify-content: space-between !important;
		position: relative !important;
		min-height: 80px !important;
	}

	/* 햄버거 메뉴 왼쪽 */
	#header-wrap .container #primary-menu-trigger {
		order: 1;
		flex-shrink: 0;
		z-index: 10;
	}

	/* 로고 중앙 정렬 */
	#header-wrap .container #logo {
		order: 2;
		position: absolute !important;
		left: 50% !important;
		transform: translateX(-50%) !important;
		margin: 0 auto !important;
		flex-shrink: 0;
		z-index: 1;
	}

	/* 메뉴 */
	#header-wrap .container #primary-menu {
		order: 3;
		position: static !important;
		left: auto !important;
		transform: none !important;
		width: 100% !important;
	}

	/* 아이콘 오른쪽 */
	#header-wrap .container .header-extras {
		order: 4;
		flex-shrink: 0;
		margin-left: auto;
		z-index: 10;
	}

	/* 모바일 메뉴 모달 스타일 */
	#header-wrap .container #primary-menu {
		position: static !important;
	}

	/* 모바일에서 메뉴가 열릴 때 모달로 표시 */
	body.primary-menu-open #primary-menu > ul,
	body.primary-menu-open #primary-menu > div > ul {
		position: fixed !important;
		top: 80px !important;
		left: 0 !important;
		right: 0 !important;
		bottom: auto !important;
		width: 100% !important;
		height: 50vh !important;
		max-height: 50vh !important;
		background-color: rgba(255, 255, 255, 0.98) !important;
		z-index: 9999 !important;
		overflow-y: auto !important;
		padding: 20px !important;
		box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1) !important;
		margin: 0 !important;
		display: block !important;
	}

	/* 모바일 메뉴 오버레이 배경 */
	body.primary-menu-open::before {
		content: "";
		position: fixed;
		top: 80px;
		left: 0;
		right: 0;
		bottom: 0;
		background-color: rgba(0, 0, 0, 0.3);
		z-index: 9998;
		pointer-events: none;
	}

	/* 헤더는 고정 상태 유지 */
	body.primary-menu-open #header {
		position: fixed !important;
		top: 0 !important;
		z-index: 10000 !important;
	}

	body.primary-menu-open #header-wrap {
		position: relative !important;
		z-index: 10001 !important;
	}

	/* 모바일에서 사업영역 카드 1행에 1개씩 */
	.sub #area .col_one_third {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		display: block !important;
		float: none !important;
	}

	.sub #area .col_one_third:not(:last-child) {
		margin-bottom: 20px !important;
	}

	.sub #area .col_one_third:nth-of-type(2),
	.sub #area .col_one_third:nth-of-type(5) {
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	/* 모바일에서 f-contact 버튼 세로 배치 */
	.f-contact .f-contact-btn {
		flex-direction: column !important;
		align-items: center !important;
		gap: 15px !important;
		height: auto !important;
	}

	.f-contact .f-contact-btn li {
		width: 100% !important;
		max-width: 300px !important;
		float: none !important;
		margin: 0 !important;
	}

	.f-contact .f-contact-btn li:first-child {
		margin-right: 0 !important;
		margin-bottom: 0 !important;
	}

	.f-contact .f-contact-btn li a {
		width: 100% !important;
	}

	/* 모바일에서 포트폴리오 카테고리 버튼 모두 보이게 */
	#portfolio-btn {
		overflow: visible !important;
		width: 100% !important;
		padding: 0 10px !important;
		box-sizing: border-box !important;
	}

	#portfolio-btn ul {
		flex-wrap: wrap !important;
		white-space: normal !important;
		justify-content: center !important;
		gap: 8px !important;
		overflow: visible !important;
		max-width: 100% !important;
		width: 100% !important;
		padding: 0 !important;
		margin: 0 !important;
	}

	#portfolio-btn ul li {
		width: auto !important;
		flex-shrink: 0 !important;
		margin: 0 !important;
		overflow: visible !important;
	}

	#portfolio-btn ul li a {
		padding: 8px 12px !important;
		font-size: 14px !important;
		white-space: nowrap !important;
		display: block !important;
		overflow: visible !important;
		text-overflow: clip !important;
	}

	/* 포트폴리오 이미지 라운딩 10px */
	#portfolio .portfolio-image,
	#portfolio .portfolio-image img {
		border-radius: 10px !important;
	}

	.portfolio-info #portfolio .portfolio-image,
	.portfolio-info #portfolio .portfolio-image img {
		border-radius: 10px !important;
	}
}
