/*---- 서브 공통 ---------*/

.fix_top li.on a {
	color: #ff4747
}

.sub_main {
	width: 100%;
	height: 100%;
	padding: 50px;
	overflow: hidden;
	box-sizing: border-box;
	position: relative;
	background-attachment: fixed;
}

.title_img {
	position: absolute;
	right: -5%;
	top: -15%;
	font-size: 450px;
	font-weight: bolder;
	color: white;
}

.title_img img {
	width: 100%;
}

.con {
	width: 100%;
	overflow: hidden;
	padding: 50px 50px 0px 50px;
	box-sizing: border-box;
	background: #f7f7f7
}

.sub_title {
	position: absolute;
	left: 50px;
	margin-left: 200px;
	bottom: 150px
}

.sub_title h3 {
	font-size: 45px;
	line-height: 75px;
	position: relative;
	color: #333;
}

.sub_title h3::after {
	position: absolute;
	width: 70px;
	height: 3px;
	background: #333;
	content: '';
	bottom: 0;
	left: 0;
}

.sub_title h4 {
	font-size: 25px;
	line-height: 45px;
	margin-top: 20px;
	color: white;
}

.sub_title p {
	line-height: 35px;
	color: white;
	margin-top: 20px;
    font-weight: 600;
}

.con > h3 {
	font-size: 50px;
	padding: 20px 0;
	position: relative;
	color: #ff4747;
	text-align: center;
}

.con > h3::after {
	width: 85px;
	height: 2px;
	background: #ff4747;
	position: absolute;
	left: 50%;
	margin-left: -42px;
	content: '';
	bottom: 0;
}

/*--------------------------- 소개 페이지-------------*/

.sub_main.about {
	background-image: url('../img/sub/about_bg.jpg');
	background-size: 100% 100%;
}

.about01 {
	overflow: hidden;
}

.about01 > div {
	margin: 0 auto;
	width: 600px;
	height: 600px;
	margin-top: 150px;
	border-radius: 100%;
	background: #faf1f1;
	text-align: center;
	padding-top: 167px;
	box-sizing: border-box;
	position: relative;
}

.about01 > div > p {
	font-size: 30px;
	color: #ff4747;
	line-height: 45px;
}

.about01 p strong {
	font-size: 40px;
	line-height: 55px;
	display: block;
}

.about01 > div::before {
	width: 1px;
	height: 100px;
	top: -70px;
	background: #ccc;
	content: '';
	position: absolute;
}

.about01 > div::after {
	width: 1px;
	height: 850px;
	bottom: -780px;
	background: #ccc;
	content: '';
	position: absolute;
}

.about01 ul {
	max-width: 1140px;
	padding: 0 3%;
	margin: 85px auto;
}

.about01 li {
	width: 48%;
}

.about01_title {
	width: 100%;
	overflow: hidden;
}

.about01_title > div {
	float: left;
}

.about01_title h4 {
	font-size: 20px;
	line-height: 40px;
	color: #444;
}

.about01_title h3 {
	font-size: 30px;
	line-height: 50px;
	color: #555;
}

.about01_title img {
	width: 90px;
	margin-left: 10px;
	float: left;
}

.about01 li p {
	color: #777;
	line-height: 30px;
	margin-top: 10px;
}

.about01 li:nth-child(2) {
	margin: 20px 0;
	margin-left: 52%;
}

.about02 {
	width: 100%;
	background: url('../img/sub/about02_bg.jpg');
	background-attachment: fixed;
	padding: 100px 0;
	color: white;
	text-align: center;
}

.about02 p {
	font-size: 60px;
	line-height: 90px;
}

.about02 h3 {
	font-size: 45px;
	line-height: 90px
}

.about02 h4 {
	font-size: 30px;
	line-height: 90px;
}

.about03 {
	max-width: 1140px;
	margin: 0 auto;
	padding: 0 3%;
}

.about03 > p {
	text-align: center;
	font-size: 60px;
	line-height: 145px;
	padding-top: 160px;
	position: relative;
	color: #ff4747
}

.about03 > p::before {
	width: 1px;
	height: 145px;
	background: #ccc;
	content: '';
	position: absolute;
	left: 50%;
	top: 0;
}

.about03 > p::after {
	width: 1px;
	height: 725px;
	background: #ccc;
	content: '';
	position: absolute;
	left: 50%;
	bottom: -725px;
}

.about03 ul {
	width: 100%;
	overflow: hidden;
	position: relative;
	padding: 50px 0;
	padding-bottom: 150px;
}

.about03 li {
	width: 100%;
	display: block;
	overflow: hidden;
}

.about03 li > a {
	display: block;
	position: relative;
	color: #777;
	font-size: 40px;
	line-height: 75px;
	font-weight: 100;
	float: left;
	cursor: pointer;
}

.about03 .about03_con {
	position: absolute;
	left: 54%;
	top: 80px;
	width: 46%;
	display: none;
}

.about03 li.on > a {
	color: #ff4747;
	font-weight: bold;
	padding-right: 10px;
}

.about03 li.on > a::after {
	width: calc(600px - 100%);
	background: #ff4747;
	height: 1px;
	content: '';
	position: absolute;
	left: 100%;
	top: 37px;
}

.about03 li > a:hover {
	color: #ff4747;
	font-weight: bold;
	padding-right: 10px;
}

.about03 li > a:hover::after {
	width: calc(600px - 100%);
	background: #ff4747;
	height: 1px;
	content: '';
	position: absolute;
	left: 100%;
	top: 37px;
}

.about03 li.on .about03_con {
	display: block;
}

.about03_con > div {
	line-height: 70px;
	overflow: hidden
}

.about03_con > div img {
	display: block;
	float: left;
	margin-right: 20px;
}

.about03_con > div h3 {
	float: left;
	font-size: 20px;
	color: #444;
}

.about03_con p {
	color: #777;
	line-height: 35px;
	margin: 25px 0;
}

.about03_con a {
	padding: 10px 30px;
	border: 1px solid #333;
	color: #333
}

.about03_con a:hover {
	background: #ff4747;
	color: white;
	border: none;
}

/*--------------------------- 프로젝트 페이지-------------*/

.sub_main.project {
	background-image: url('../img/sub/project_bg.jpg');
	background-size: 100% 100%;
}
.project .title_img{letter-spacing: -30px;right: -20%;}

.project > ul {
	margin: 50px auto;
	width: 85%;
	overflow: hidden;
	padding: 20px 0;
}

.project > ul > li {
	width: 33.33333%;
	float: left;
	text-align: left;
	margin-bottom: 30px;
}

.project > ul > li a {
	display: block;
	width: 93%;
	margin: 0 auto;
	border-radius: 5px;
	box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.5);
	padding: 30px 0;
	overflow: hidden;
	border: 1px solid #f2f2f2;
	box-sizing: border-box;
}

.project_img {
	overflow: hidden;
}

.project_img img {
	width: 100%;
	transition: 0.2s;
}
.project>ul>li:hover .project_img img{
	transform: scale(1.2)
}

.project > ul > li h3 {
	padding: 0 3.5%;
	box-sizing: border-box;
	margin-top: 20px;
	line-height: 50px;
	font-size: 20px;
	height: 50px;
	position: relative;
	overflow: hidden;
	color: #333;
	text-overflow: ellipsis;
	-o-text-overflow: ellipsis;
	overflow: hidden;
	white-space: nowrap;
	word-wrap: normal !important;
}

.project > ul > li h3::after {
	width: 35px;
	height: 2px;
	position: absolute;
	left: 3.5%;
	bottom: 0;
	content: '';
	background: #333
}

.project > ul > li p {
	line-height: 30px;
	width: 100%;
	padding: 0 3.5%;
	box-sizing: border-box;
	font-size: 16px;
	color: #777;
	font-weight: normal;
	margin-top: 10px;
	height: 30px;
	text-overflow: ellipsis;
	-o-text-overflow: ellipsis;
	overflow: hidden;
	white-space: nowrap;
	word-wrap: normal !important;
}

.tab {
	margin: 50px 0;
	text-align: center;
}

.tab ul {
	display: inline-block;
}

.tab li {
	float: left;
	font-size: 18px;
	color: #444;
	position: relative;
	padding: 0px 10px;
	line-height: 35px;
	cursor: pointer
}
.tab li a{
	color: #444;
}
.tab li::after {
	width: 1px;
	background: #444;
	content: '';
	height: 10px;
	position: absolute;
	right: 0px;
	top: 12px;
}

.tab li:last-child::after {
	display: none;
}

.tab li.on {
	color: #ff4747
}
.tab li.on a {
	color: #ff4747
}
.tab li.on::before {
	width: 20px;
	height: 1px;
	background: #ff4747;
	position: absolute;
	content: '';
	bottom: 0;
	left: 50%;
	margin-left: -10px;
}

.pagination {
	margin-bottom: 50px;
	text-align: center;
}

.pagination ul {
	display: inline-block;
    font-weight: 400;
}

.pagination li {
	float: left;
	margin: 0 10px;
	cursor: pointer;
	color: #777;
	position: relative;
	line-height: 30px;
}
.pagination a{
	color: #777;
    float: left;
	margin: 0 10px;
	cursor: pointer;
	color: #777;
	position: relative;
	line-height: 30px;
    display: block;
}
.pagination .prev,
.pagination .next {
	text-indent: -9999px;
	width: 9px;
	height: 17px;
	background: url('../img/sub/pagination_arrow.png');
	margin-top: 6px;
}

.pagination .next {
	background-position: 0 -27px;
}

.pagination li.on {
	color: #333;
}

.pagination li.on::after {
	width: 16px;
	height: 1px;
	position: absolute;
	bottom: 0;
	left: 50%;
	margin-left: -8px;
	content: '';
	background: #333;
}


/*---------------------------가격 페이지-------------*/

.sub_main.price {
	background-image: url('../img/sub/price_bg.jpg');
	background-size: 100% 100%;
}
.price .title_img{letter-spacing: 20px;}

.price .tab li {
	font-weight: 600;
}

.price_con {
	max-width: 1140px;
	padding: 0 3%;
	overflow: hidden;
	margin: 20px auto;
}

.price_con > div {
	display: none;
}

.price_con > div:first-child {
	display: block;
}

.price_con ul {
	overflow: hidden;
	margin-bottom: 20px;
}

.price_con li {
	float: left;
	width: 25%;
}

.price_con li img {
	width: 100%;
}

.price_con p {
	font-size: 16px;
	line-height: 30px;
	color: #333;
	text-align: center;
}

.price_con p.point {
	color: #ff4747
}

.price_option {
	border-top: 1px solid #ccc;
	margin-top: 50px;
}

.price_option > div {
	position: relative;
	margin: 50px 0;
	overflow: hidden;
}

.option_img {
	width: 60%;
	overflow: hidden;
}

.option_img img {
	width: 100%;
}

.option_graph {
	position: absolute;
	height: 360px;
	right: 0;
	padding: 0 30px;
	background: rgba(0, 0, 0, 0.8);
	top: 50%;
	margin-top: -180px;
}

.price_option > div:nth-child(2) .option_img {
	float: right;
}

.price_option > div:nth-child(2) .option_graph {
	left: 0;
	right: auto;
}

.price_shop li:first-child {
	margin-left: 25%;
}


.price_maintenance li:first-child {
	margin-left: 12.5%;
}

.price_maintenance p:first-child {
	margin-bottom: 30px;
}

.price_maintenance .price_option > div {
	height: 950px;
}

.price_maintenance .price_option .option_graph {
	height: 890px;
	top: 30px;
	margin-top: 0;
}

/*---------------------------문의하기 페이지-------------*/

.sub_main.request {
	background-image: url('../img/sub/request_bg.jpg');
	background-size: 100% 100%;
}
.request .title_img{
	letter-spacing: -25px;
	right: -25%;
}
.con > h3 + p {
	font-size: 16px;
	line-height: 40px;
	color: #777;
	text-align: center;
	margin: 30px 0;
}

.request_form {
	max-width: 1140px;
	margin: 0 auto;
	padding: 0 3%;
}

.request_form form {
	width: 100%;
	overflow: hidden
}

.request_form form > div:nth-child(1) {
	width: 48%;
	float: left;
}

.request_form form > div:nth-child(2) {
	width: 48%;
	float: right;
}


.request_form form h4 {
	font-size: 16px;
	color: #333;
	line-height: 45px;
}

.request_form div input:not([type=checkbox]) {
	width: 100%;
	height: 45px;
	border: 1px solid #ccc;
	display: block;
	box-sizing: border-box;
	padding: 5px 10px;
	line-height: 33px;
	margin-bottom: 10px;
}

.request_form ul {
	width: 100%;
	overflow: hidden;
}

.request_form li {
	width: 23.5%;
	margin-right: 2%;
	height: 100px;
	margin-bottom: 10px;
	float: left;
}

.request_form li:nth-child(4n) {
	margin-right: 0;
}

.request_form li input {
	display: none;
}

.request_form li label {
	display: block;
	width: 100%;
	height: 100%;
	text-align: center;
	border: 1px solid #ccc;
	box-sizing: border-box;
	cursor: pointer
}

.request_form .request_icon {
	width: 45px;
	height: 45px;
	margin: 0 auto;
	margin-top: 15px;
	overflow: hidden
}

.request_icon img {
	height: 100%;
}

.request_form label p {
	font-size: 14px;
	color: #333;
	margin-top: 10px;
}

.request_form li input:checked + label {
	background: #333;
}

.request_form li input:checked + label p {
	color: white;
}

.request_form li input:checked + label .request_icon img {
	margin-left: -55px;
}

.request_form textarea {
	display: block;
	border: 1px solid #ccc;
	box-sizing: border-box;
	padding: 5px 10px;
	height: 310px;
	width: 100%;
	margin-bottom: 10px;
}

.form_agree {
	font-size: 12px;
	color: #555;
	line-height: 30px;
	margin-bottom: 30px;
	width: 100%;
	float: left;
}

.form_agree input {
	vertical-align: middle;
}

.form_agree label {
	padding-left: 5px;
}

.form_agree a {
	color: #ff4747
}

.request_form button {
	width: 310px;
	height: 60px;
	border: 1px solid #555;
	box-sizing: border-box;
	margin: 30px auto;
	text-align: center;
	line-height: 58px;
	display: block;
	color: #555;
	font-size: 20px;
}

.request_form button:hover {
	background: #ff4747;
	color: white;
	border: none;
}

.con.request > h3:nth-child(4) {
	margin-top: 80px;
}

.contact {
	max-width: 1140px;
	margin: 30px auto;
	padding: 0 3%;
	overflow: hidden;
	position: relative;
	margin-bottom: 100px;
}

.contact .map {
	width: 60%;
	height: 480px;
}

.map iframe {
	width: 100%;
	height: 100%;
}

.contact .infor {
	position: absolute;
	right: 0;
	top: 50%;
	width: 50%;
	padding: 50px 30px;
	box-sizing: border-box;
	background: rgba(0, 0, 0, 0.8);
	height: 310px;
	margin-top: -155px;
}

.infor p {
	line-height: 30px;
}

.infor .en {
	color: #ff4747;
	margin-top: 15px;
}

.infor .en:first-child {
	margin-top: 0;
}

.infor p:not(.en) {
	color: white;
}


/*---------------------------뉴스 페이지-------------*/

.sub_main.news {
	background-image: url('../img/sub/news_bg.jpg');
	background-size: 100% 100%;
}
.news .title_img{letter-spacing:30px;}

.news > ul {
	max-width: 1140px;
	margin: 50px auto;
	padding: 0 3%;
	overflow: hidden;
	padding: 20px 0;
}

.news > ul > li {
	float: left;
	width: 33.333333%;
	margin-bottom: 20px;
}

.news > ul > li a {
	display: block;
	width: 90%;
	margin: 0 auto;
	border-radius: 5px;
	box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.5);
	padding: 30px 0;
	overflow: hidden;
	border: 1px solid #f2f2f2;
	box-sizing: border-box;
}
.news>ul>li:hover .news_img img{transform: scale(1.2)}
.news_img {
	width: 100%;
	overflow: hidden;
}

.news_img img {
	width: 100%;
	transition: 0.2s;
}

.news > ul > li h3 {
	font-size: 15px;
	color: #333;
	line-height: 30px;
	margin: 10px 0;
	padding: 0 20px;
	box-sizing: border-box;
	text-overflow: ellipsis;
	-o-text-overflow: ellipsis;
	overflow: hidden;
	white-space: nowrap;
	word-wrap: normal !important;
	width: 100%;
	font-weight: 600;
	text-align: center;
}

.news .news_date {
	text-align: center;
}

.news_date p {
	display: inline-block;
	line-height: 20px;
	color: #777;
	font-size: 13px;
}

.news_date img {
	vertical-align: middle;
	padding-right: 5px;
}
