@charset "utf-8";

/* ==================================================
	body 공통 속성
================================================== */
/* 기본 폰트 및 사이즈 설정 */
html {
	font-size: 10px;
}

body {
	font-size: 1.8rem;
	font-family:  'Pretendard','SUIT', '돋움', 'Dotum', '굴림', 'Gulim', 'Lucida Grande', 'Tahoma', 'Verdana', 'AppleGothic', 'UnDotum', 'sans-serif';
	font-weight: 300;
	-webkit-text-size-adjust: none;
	-ms-interpolation-mode: bicubic;
	color: #3e3e3e;
	background: #fff
}

table {
	border-collapse:collapse;
	border-spacing:0;
	}

input,
button {
	font-family: var(--font-Pretendard)
}

.blind {
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
	clip: rect(1px 1px 1px 1px);
	clip: rect(1px, 1px, 1px, 1px);
}

/* 모바일CSS */
@media (max-width:1700px) {
	html {
		font-size: 9px;
	}
}

@media (max-width:1280px) {
	html {
		font-size: 8.5px;
	}
}

@media (max-width:1100px) {
	html {
		font-size: 8px;
	}
}

@media (max-width:600px) {
	html {
		font-size: 7.5px;
	}
}

/* ==================================================
	폰트
================================================== */

/*세방고딕*/
@font-face {
	font-family: 'SEBANG';
	font-weight: 700;
	src: url('font/SEBANG-Gothic-OTF-Bold.woff') format('woff');
}

/*엘리스*/
@import url("https://font.elice.io/css?family=Elice+DX+Neolli");

/*여기어때 잘난체 고딕*/
@font-face {
    font-family: 'JalnanGothic';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_231029@1.1/JalnanGothic.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

/* Pretendard */
@font-face {
	font-family: 'Pretendard';
	font-weight: 800;
	font-display: swap;
	src: local('Pretendard ExtraBold'), url('font/pretendard/woff2/Pretendard-ExtraBold.woff2') format('woff2'), url('font/pretendard/woff/Pretendard-ExtraBold.woff') format('woff');
}

@font-face {
	font-family: 'Pretendard';
	font-weight: 700;
	font-display: swap;
	src: local('Pretendard Bold'), url('font/pretendard/woff2/Pretendard-Bold.woff2') format('woff2'), url('font/pretendard/woff/Pretendard-Bold.woff') format('woff');
}

@font-face {
	font-family: 'Pretendard';
	font-weight: 600;
	font-display: swap;
	src: local('Pretendard SemiBold'), url('font/pretendard/woff2/Pretendard-SemiBold.woff2') format('woff2'), url('font/pretendard/woff/Pretendard-SemiBold.woff') format('woff');
}

@font-face {
	font-family: 'Pretendard';
	font-weight: 500;
	font-display: swap;
	src: local('Pretendard Medium'), url('font/pretendard/woff2/Pretendard-Medium.woff2') format('woff2'), url('font/pretendard/woff/Pretendard-Medium.woff') format('woff');
}

@font-face {
	font-family: 'Pretendard';
	font-weight: 400;
	font-display: swap;
	src: local('Pretendard Regular'), url('font/pretendard/woff2/Pretendard-Regular.woff2') format('woff2'), url('font/pretendard/woff/Pretendard-Regular.woff') format('woff');
}

@font-face {
	font-family: 'Pretendard';
	font-weight: 300;
	font-display: swap;
	src: local('Pretendard Light'), url('font/pretendard/woff2/Pretendard-Light.woff2') format('woff2'), url('font/pretendard/woff/Pretendard-Light.woff') format('woff');
}


/*SUIT*/
@font-face {
	font-family: 'SUIT';
	font-weight: 300;
	src: url('font/suit/SUIT-Light.woff2') format('woff2');
}

@font-face {
	font-family: 'SUIT';
	font-weight: 400;
	src: url('font/suit/SUIT-Regular.woff2') format('woff2');
}

@font-face {
	font-family: 'SUIT';
	font-weight: 500;
	src: url('font/suit/SUIT-Medium.woff2') format('woff2');
}

@font-face {
	font-family: 'SUIT';
	font-weight: 600;
	src: url('font/suit/SUIT-SemiBold.woff2') format('woff2');
}

@font-face {
	font-family: 'SUIT';
	font-weight: 700;
	src: url('font/suit/SUIT-Bold.woff2') format('woff2');
}

@font-face {
	font-family: 'SUIT';
	font-weight: 800;
	src: url('font/suit/SUIT-ExtraBold.woff2') format('woff2');
}

@font-face {
	font-family: 'SUIT';
	font-weight: 900;
	src: url('font/suit/SUIT-Heavy.woff2') format('woff2');
}

/* NanumBarunGothic */
@font-face {
	font-family: 'NanumBarunGothic';
	font-weight: 200;
	font-style: normal;
	src: url('font/NanumBarunGothic/NanumBarunGothic-UltraLight.woff2') format('woff2'),
		url('font/NanumBarunGothic/NanumBarunGothic-UltraLight.woff') format('woff');
	font-display: swap;
}

@font-face {
	font-family: 'NanumBarunGothic';
	font-weight: 300;
	font-style: normal;
	src: url('font/NanumBarunGothic/NanumBarunGothic-Light.woff2') format('woff2'),
		url('font/NanumBarunGothic/NanumBarunGothic-Light.woff') format('woff');
	font-display: swap;
}

@font-face {
	font-family: 'NanumBarunGothic';
	font-weight: 400;
	font-style: normal;
	src: url('font/NanumBarunGothic/NanumBarunGothic-Regular.woff2') format('woff2'),
		url('font/NanumBarunGothic/NanumBarunGothic-Regular.woff') format('woff');
	font-display: swap;
}

@font-face {
	font-family: 'NanumBarunGothic';
	font-weight: 700;
	font-style: normal;
	src: url('font/NanumBarunGothic/NanumBarunGothic-Bold.woff2') format('woff2'),
		url('font/NanumBarunGothic/NanumBarunGothic-Bold.woff') format('woff');
	font-display: swap;
}

/* ==================================================
	스킵네비게이션
================================================== */
#skipnavi a {
	display: block;
	position: absolute;
	top: -1000px;
	left: 0;
	width: 100%;
	height: 1px;
	color: #222;
	overflow: hidden;
	z-index: 99999999;
}

#skipnavi a:focus,
#skipnavi a:hover,
#skipnavi a:active {
	top: 0px;
	left: 0;
	background-color: #e9e9e9;
	padding: 7px 0 5px;
	height: auto;
	color: #000;
	font-size: 1.6rem;
	text-align: center;
	text-decoration: none;
}

.clearfix {
	*zoom: 1
}

.clearfix:after {
	display: block;
	content: '';
	clear: both;
}

/* ==================================================
	반응형
================================================== */
.showPc {
	display: block;
}

.showTa {
	display: block;
}

.showMo {
	display: none;
}

.showTaMo {
	display: none;
}

/* 모바일CSS */
@media screen and (max-width:1024px) {
	.showPc {
		display: none;
	}

	.showTa {
		display: block;
	}

	.showMo {
		display: none;
	}

	.showTaMo {
		display: block;
	}
}

@media screen and (max-width:640px) {
	.pcArea {
		display: none;
	}

	.showPc {
		display: none;
	}

	.showTa {
		display: none;
	}

	.showMo {
		display: block;
	}

	.showTaMo {
		display: block;
	}
}

/* ==================================================
	레이아웃 큰박스
================================================== */
#wrap {
	position: relative;
	width: 100%;
	min-width: 320px;
	margin: 0 auto;
	height: auto !important;
	background-position: center top;
	overflow-x: hidden;
}

/* ==================================================
	컨텐츠
================================================== */
#container {
	clear: both;
	position: relative;
	min-width: 320px;
}

.cont_detail {
	padding-top: 30px;
	padding-bottom: 80px;
}

.inner {
	position: relative;
	width: calc(100% - 50px);
	max-width: 1400px;
	margin: 0 auto;
}

/* 모바일CSS */
@media screen and (max-width:1100px) {
	.inner {
		width: calc(100% - 25px);
	}

	.cont_detail {
		padding-top: 0px;
		padding-bottom: 70px;
		background: none;
	}
}

@media screen and (max-width:640px) {
	.cont_detail {
		padding-top: 0px;
		padding-bottom: 60px;
	}
}

@media screen and (max-width:480px) {
	.cont_detail {
		padding-top: 0px;
		padding-bottom: 50px;
	}
}

/* ==================================================
	비주얼
================================================== */
.sub_visual {
	position: relative;
	height: 350px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.sub_visual.hy {
	height: 145px;
}

.contitle {
	height: 230px;
}

.contitle ::after {
	position: absolute;
    right: -500px;
    top: 0px;
    content: "";
    background: url('../images/gnb/gold_bg.svg') no-repeat;
	background-size: contain;
	max-width: 800px;
	width: 50%;
    height: 123px;
    z-index: -99;
}

.contitle .tt {
	font-weight: 700;
	line-height: 1;
	text-align: left;
	color: #1b1c1d;
	animation: tracking-in-expand 1.2s cubic-bezier(0.215, 0.610, 0.355, 1.000) both;
}


.contitle .tt .mt {
	font-size: var(--rem-55);
	font-weight: normal;
	font-family: 'JalnanGothic';
}

.contitle .tt .st {
	display: block;
	font-size: 2.5rem;
	font-weight: 400;
	line-height: 1;
	color: rgb(59, 59, 59);
	margin-top: 1.5rem;
}

/*글자 애니메이션*/
@-webkit-keyframes tracking-in-expand {
	0% {
		letter-spacing: -0.5em;
		opacity: 0;
	}

	40% {
		opacity: 0.6;
	}

	100% {
		opacity: 1;
	}
}

@keyframes tracking-in-expand {
	0% {
		letter-spacing: -0.5em;
		opacity: 0;
	}

	40% {
		opacity: 0.6;
	}

	100% {
		opacity: 1;
	}
}

/* 애니메이션 */
#subvisual .sv-img {
	animation: img-size 4s forwards;
}

@keyframes img-size {
	0% {
		transform: scale(1.2);
	}

	100% {
		transform: scale(1);
	}
}

.svis_title {
	opacity: 0;
	transform: translateY(30px);
}

.svis_title.active {
	opacity: 1;
	transform: translateX(0px);
	transition: 0.7s 0.3s;
}

.visual_about {
	background: url("../images/about/sub_visual.jpg") no-repeat center center / cover;
	animation: img-size 2s forwards;
}

.visual_ceo {
	background: url("../images/about/sub_visual_ceo.jpg") no-repeat center center / cover;
	animation: img-size 2s forwards;
}

.visual_vision {
	background: url("../images/about/vision.jpg") no-repeat center center / cover;
	animation: img-size 2s forwards;
}

.visual_cer {
	background: url("../images/about/sub_visual03.jpg") no-repeat right  center / cover;
	animation: img-size 2s forwards;
}


.solar {
	background: url("../images/solar/aerospace_visual.jpg") no-repeat center center / cover;
	animation: img-size 2s forwards;
}

.visual_roof {
	background: url("../images/solar/sub_visual_roof.jpg") no-repeat center center / cover;
	animation: img-size 2s forwards;
}

.visual_water {
	background: url("../images/solar/sub_visual_water.jpg") no-repeat center center / cover;
	animation: img-size 2s forwards;
}


.visual_grouting {
	background: url("../images/technical/sub_visual_grouting.jpg") no-repeat center center / cover;
	animation: img-size 2s forwards;
}

.visual_season {
	background: url("../images/technical/sub_visual_season.jpg") no-repeat center center / cover;
	animation: img-size 2s forwards;
}

.visual_floating {
	background: url("../images/technical/sub_visual_floating.jpg") no-repeat center center / cover;
	animation: img-size 2s forwards;
}

.visual_solar_roof {
	background: url("../images/technical/sub_visual_solar_roof.jpg") no-repeat center center / cover;
	animation: img-size 2s forwards;
}


.visual_type {
	background: url("../images/product/sub_visual_type.jpg") no-repeat center center / cover;
	animation: img-size 2s forwards;
}

.visual_posmac {
	background: url("../images/product/sub_visual_posmac.jpg") no-repeat center center / cover;
	animation: img-size 2s forwards;
}


.visual_construction {
	background: url("../images/construction/sub_visual.jpg") no-repeat center center / cover;
	animation: img-size 2s forwards;
}

.visual_community {
	background: url("../images/community/sub_visual.jpg") no-repeat center center / cover;
	animation: img-size 2s forwards;
}

/* 애니메이션 */
@keyframes fadeInUp {
	0% {
		opacity: 0;
		transform: translate3d(0, 150%, 0);
	}

	to {
		opacity: 1;
		transform: translateZ(0);
	}
}

/* 모바일CSS */
@media screen and (max-width:1600px)  {
	.contitle ::after {
		right: -200px;
	}
}

/* 모바일CSS */
@media screen and (max-width:1400px) {
	.sub_visual {
		height: 300px;
	}

	.contitle ::after {
		right: -100px;
	}

	.sub_visual .tt span.txt_center {
		font-size: 4rem;
	}

	.sub_visual .tt span.txt_center img {
		max-width: 25px;
		margin-left: 5px;
	}

	.sub_visual .tt span.txt_center img:first-child {
		margin-right: 5px;
	}

	.sub_visual .tt span.txt_last {
		font-size: 2.5rem;
	}

	.contitle {
		height: 210px;
	}
}

@media screen and (max-width:1100px) {
	.sub_visual {
        height: 260px;
    }

	.contitle {
		height: 180px;
	}
	.contitle ::after {
		right: -100px;
		top: -1.5rem;
		height: 90px;
	}
}

@media screen and (max-width:1030px) {
	.sub_visual {
		height: 210px;
	}

	.contitle {
		height: 180px;
	}

	.sub_visual .tt {
		font-size: 2.8rem;
	}

	.sub_visual .tt span.txt_center {
		font-size: 3rem;
		padding: 4px 0 4px 0;
	}

	.sub_visual .tt span.txt_center img {
		max-width: 18px;
		margin-left: 4px;
	}

	.sub_visual .tt span.txt_center img:first-child {
		margin-right: 4px;
	}

	.sub_visual .tt span.txt_last {
		font-size: 1.8rem;
	}
}

@media screen and (max-width:640px) {
	/* Sub Visual */
	.sub_visual {
		height: 180px;
	}

	.contitle {
		height: 150px;
	}

	.sub_visual .tt {
		font-size: 2.2rem;
	}

	.sub_visual .tt span.txt_center {
		font-size: 2.6rem;
	}

	.sub_visual .tt span.txt_center img {
		max-width: 15px;
	}

	.sub_visual .tt span.txt_last {
		font-size: 1.7rem;
	}
}

@media screen and (max-width:480px) {
	.sub_visual .tt {
		font-size: 1.8rem;
	}

	.sub_visual .tt span.txt_center {
		font-size: 2.3rem;
	}

	.sub_visual .tt span.txt_center img {
		max-width: 12px;
	}

	.sub_visual .tt span.txt_last {
		font-size: 1.6rem;
	}
}

/* ==================================================
	타이틀
================================================== */
.sub_titcon {
	text-align: center;
}

.sub_tit {
	display: inline-block;
	position: relative;
	font-size: 4rem;
	font-weight: 600;
	color: #000;
}

/* 모바일CSS */
@media screen and (max-width:1400px) {
	.sub_tit {
		font-size: 3.5rem;
	}
}

@media screen and (max-width:1030px) {
	.sub_tit {
		font-size: 3rem;
	}
}

@media screen and (max-width:640px) {
	.sub_tit {
		font-size: 2.8rem;
	}
}

/* ==================================================
	카피라이터
================================================== */
#footerW {
	clear: both;
	width: 100%;
	background: #EFF3F7;
}

.ft_inner {
	position: relative;
	width: calc(100% - 25px);
	max-width: 1400px;
	margin: 0 auto;
}

.footer_bot .btn_top {
	position: absolute;
	right: 0;
	top: 0;
	width: 6rem;
	height: 6rem;
	background: #525252;
	display: flex;
	color: #fff;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	font-size: 1.5rem;
	font-weight: 600;
}

.footer_bot {
	position: relative;
	width: 100%;
	padding: 3rem 0;
}

.ft_bot dd {
	font-size: 1.5rem;
	font-weight: 400;
	margin-top: 1.6rem;
}

.ft_bot dd a {
	color: #000000;
}

.ft_bot dd:first-child {
	margin-top: 0;
}

.ft_bot dd:last-child {
	margin-top: 1rem;
}

.ft_bot p {
	position: absolute;
	right: 0;
	bottom: 0;
	font-size: 1.4rem;
	color: #ABB4BD;
}

/* 모바일CSS */
@media screen and (max-width: 900px) {
	.ft_bot {
		display: block;
	}
}

@media screen and (max-width:800px) {
	.footer_top .btn_top {
		width: 50px;
		height: 50px;
		font-size: 14px;
	}

	.ft_bot dl {
		text-align: center;
	}

	.ft_bot dd {
		font-size: 13px;
		margin-top: 0.8rem;
		line-height: 1.3;
	}

	.ft_bot dd:last-child {
		margin-top: 1rem;
	}

	.ft_bot p {
		position: relative;
		font-size: 12px;
		text-align: center;
		margin-top: 1.3rem;
	}
}

@media screen and (max-width:450px) {
	.ft_bot dd {
		margin-top: 0.5rem;
	}

	.ft_bot dd:last-child {
		margin-top: 0;
	}

	.ft_bot p {
		margin-top: 1rem;
	}
}