/*메인*/

/*메인 공통*/
.main .top-section { text-align: center; }
.main .top-section .tit { font-size: 40px; font-weight: 700; color: #15357a; }
.main .top-section .txt { margin-top: 20px; font-size: 20px; font-weight: 400; color: #333; line-height: 28px; }


/*메인 배너*/
.main-banner { position: relative; height: 42.708vw; overflow: hidden; }
.main-banner .bg { height: 100%; background: url('../img/img_banner1.png') center center no-repeat; background-size: cover; transform: scale(1.2); animation: bgAni 10s ease-in-out 0s alternate; }
.main-banner .inner { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; position: absolute; top: 0; left: 0; right: 0; max-width: 1400px; height: 100%; margin: 0 auto; }
.main-banner .badge { display: flex; justify-content: center; align-items: center; height: 33px; margin-bottom: 30px; padding: 0 30px; border: 1px solid #fff; border-radius: 17px; box-sizing: border-box; font-size: 18px; font-weight: 700; color: #fff; text-align: center; }
.main-banner .tit { margin-bottom: 30px; font-size: 65px; font-weight: 700; color: #fff; }
.main-banner .txt { font-size: 20px; font-weight: 500; color: #fff; }

@keyframes bgAni {
	0% { transform: scale(1); }
	100% { transform: scale(1.2); }
}


/*메인 메뉴*/
.main-menu { padding: 150px 0; box-sizing: border-box; }
.main-menu .inner { max-width: 1400px; margin: 0 auto; }

.list-menu { display: flex; margin: 0 -20px; }
.list-menu li { width: calc(100% / 6); padding: 0 20px; box-sizing: border-box; }
.list-menu .card { display: flex; flex-direction: column; justify-content: flex-end; align-items: center; position: relative; height: 200px; padding-bottom: 40px; border-radius: 30px; box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.15); box-sizing: border-box; }
.list-menu .ico { position: absolute; top: 40%; left: 50%; transform: translate(-50%, -50%) scale(1); -webkit-transform: translate(-50%, -50%) scale(1); -moz-transform: translate(-50%, -50%) scale(1); -ms-transform: translate(-50%, -50%) scale(1); -o-transform: translate(-50%, -50%) scale(1); }
.list-menu .ico img { zoom: 0.5; }
.list-menu .tit { font-size: 22px; font-weight: 600; color: #333; text-align: center; }


/*AD*/
.ad { margin-bottom: 75px; }
.ad a.ad-mobile { display: none; }
.ad img { display: block; max-width: 100%; margin: 0 auto; }


/*CEO 인사말*/
.greetings-group { margin-bottom: 150px; }
.greetings-group .top-section { margin-bottom: 50px; }
.greetings-group .top-banner { position: relative; margin-bottom: 50px; padding: 125px 0 50px; box-sizing: border-box; background: url('../img/bg_main1.png') center center no-repeat; background-size: cover; }
.greetings-group .top-banner .tit-group .tit { position: relative; font-size: 40px; font-weight: 500; color: #fff; text-align: center; line-height: 60px; }
.greetings-group .top-banner .tit-group .tit:before { content: ''; position: absolute; top: -40px; left: 0; right: 0; width: 29px; height: 23px; margin: 0 auto; background: url('../img/ico_quotes1.svg') center center no-repeat; }
.greetings-group .top-banner .tit-group .tit:after { content: ''; position: absolute; left: 0; right: 0; bottom: -40px; width: 29px; height: 23px; margin: 0 auto; background: url('../img/ico_quotes1.svg') center center no-repeat; transform: rotate(180deg); }
.greetings-group .top-banner .tit-group .txt { max-width: 740px; margin: 54px auto 0; font-size: 16px; font-weight: 400; color: #fff; text-align: right; line-height: 24px; }
.greetings-group .top-banner .tit-group .txt strong { font-size: 20px; }
.greetings-group .greetings { max-width: 1200px; margin: 0 auto; font-size: 20px; font-weight: 400; color: #333; text-align: justify; letter-spacing: -0.6px; line-height: 30px; }
.greetings-group .greetings span:nth-child(1) { display: block; }


/*회사 개요*/
.overview-group { margin-bottom: 150px; }
.overview-group .top-section { margin-bottom: 42px; }
.overview-group .inner { display: flex; max-width: 1400px; margin: 0 auto; }
.overview-group .company-vision { width: 855px; margin-right: 30px; }
.overview-group .chart-info { margin-top: 46px; padding: 20px 30px; border-radius: 20px; box-sizing: border-box; background: #f8f9fb; font-size: 18px; font-weight: 400; color: #333; text-align: center; line-height: 27px; }

.chart-group { display: flex; }
.chart-group .box { position: relative; }
.chart-group .box:first-child { margin-right: 120px; }
.chart-group .box:first-child:after { content: ''; display: block; position: absolute; top: 120px; right: -95px; width: 80px; border-bottom: 2px dashed #15357a; box-sizing: border-box; }
.chart-group .tit { margin-bottom: 25px; font-size: 22px; font-weight: 500; color: #15357a; text-align: center; }
.chart-group .txt { display: flex; justify-content: center; align-items: center; width: 185px; height: 185px; border-radius: 50%; box-sizing: border-box; background: rgba(21, 53, 122, 0.05); font-size: 18px; font-weight: 400; color: #333; text-align: center; }
.chart-group .txt-group { display: flex; justify-content: center; align-items: center; }
.chart-group .txt-group .txt { margin: 0 -10px; border: 1px solid #15357a; box-sizing: border-box; background: none; }

.list-company-info { width: calc(100% - 885px); padding: 20px; border-radius: 20px; box-sizing: border-box; background: #f8f9fb; }
.list-company-info li { padding: 15px 10px; border-bottom: 1px solid #ddd; box-sizing: border-box; }
.list-company-info li:last-child { border-bottom: none; }
.list-company-info .company-data { display: flex; align-items: center; }
.list-company-info .tit { width: 125px; font-size: 18px; font-weight: 700; color: #333; }
.list-company-info .txt { width: calc(100% - 125px); padding-right: 10px; box-sizing: border-box; font-size: 16px; font-weight: 500; color: #707070; }


/*오시는 길*/
.location-group { margin-bottom: 150px; padding: 150px 0; box-sizing: border-box; background: #f5f5f5; }
.location-group .top-section { max-width: 1400px; margin: 0 auto 42px; text-align: left; }
.location-group .inner { display: flex; max-width: 1400px; margin: 0 auto; }

.map-group { position: relative; width: 922px; height: 480px; margin-right: 30px; border: 1px solid #15357a; border-radius: 20px; box-sizing: border-box; overflow: hidden; }
.map-group .root_daum_roughmap { width: 100% !important; height: 100% !important; }
.map-group .root_daum_roughmap .wrap_map { height: 100% !important; }
.map-group .root_daum_roughmap .wrap_controllers { display: none; }
.map-group .root_daum_roughmap_landing .border1,
.map-group .root_daum_roughmap_landing .border2,
.map-group .root_daum_roughmap_landing .border3,
.map-group .root_daum_roughmap_landing .border4 { display: none; }

.location-info { display: flex; flex-direction: column; justify-content: space-between; width: calc(100% - 952px); }
.location-info .location-data { display: flex; flex-direction: column; justify-content: center; align-items: center; height: 100%; margin-bottom: 30px; padding: 20px; border: 1px solid #15357a; border-radius: 20px; box-sizing: border-box; background: #fff; }
.location-info .location-data:last-child { margin-bottom: 0; }
.location-info .location-data .tit { margin-bottom: 20px; font-size: 20px; font-weight: 700; color: #333; text-align: center; }
.location-info .location-data .txt { font-size: 18px; font-weight: 500; color: #707070; text-align: center; line-height: 25px; }


/*상품소개*/
.product-group { margin-bottom: 150px; }
.product-group .top-section { margin-bottom: 90px; }
.product-group .inner { max-width: 1400px; margin: 0 auto; }

.list-product { display: flex; flex-wrap: wrap; margin: -15px -18px; }
.list-product li { width: calc(100% / 2); padding: 15px 18px; box-sizing: border-box; }
.list-product .product-info { position: relative; padding: 30px; border-radius: 20px; box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.15); box-sizing: border-box; }
.list-product .num { margin-bottom: 5px; font-size: 14px; font-weight: 400; color: #15357a; }
.list-product .product-name { margin-bottom: 20px; font-size: 24px; font-weight: 700; color: #333; }
.list-product .product-desc { font-size: 18px; font-weight: 400; color: #333; line-height: 25px; }
.list-product .txt-group { margin-top: 20px; }
.list-product .txt-group p { position: relative; padding-left: 30px; box-sizing: border-box; font-size: 18px; font-weight: 400; color: #333; line-height: 25px; }
.list-product .txt-group p:before { content: ''; position: absolute; top: 12px; left: 12px; width: 3px; height: 3px; border-radius: 50%; box-sizing: content-box; background: #333; }
.list-product img { position: absolute; right: 40px; bottom: 30px; transform: scale(0.5); transform-origin: right bottom; }

.list-product li:nth-child(2) .product-info,
.list-product li:nth-child(3) .product-info { background: rgba(21, 53, 122, 0.05); }

.list-product li:nth-child(4) { margin-top: -120px; }
.list-product li:nth-child(4) .product-info { padding-bottom: 55px; box-sizing: border-box; }

.list-product li:nth-child(5) { width: 100%; }
.list-product li:nth-child(5) .product-info { display: flex; background: rgba(21, 53, 122, 0.05); }
.list-product li:nth-child(5) .product-info .tit-group { width: 546px; }
.list-product li:nth-child(5) .product-info .txt-group { width: calc(100% - 546px); margin-top: 0; padding: 0 18px; box-sizing: border-box; }
.list-product li:nth-child(5) .product-info img { top: calc(50% - 94px); transform-origin: right center; }

.noti-banner { margin-bottom: 85px; padding: 14px 0; box-sizing: border-box; background: #2296ec; }
.noti-banner .inner { display: flex; justify-content: space-between; align-items: center; max-width: 1000px; margin: 0 auto; }
.noti-banner .tit { font-size: 18px; font-weight: 500; color: #fff; }
.noti-banner .tit br { display: none; }
.noti-banner a { display: flex; justify-content: center; align-items: center; width: 235px; height: 37px; border-radius: 19px; box-sizing: border-box; background: #fff; font-size: 18px; font-weight: 400; color: #333; }
.noti-banner a:after { content: ''; display: block; width: 17px; height: 17px; margin-left: 10px; background: url('../img/ico_arrow_right1.svg') center center no-repeat; animation: arrowAni 1s ease-in-out 0s alternate infinite; }

@keyframes arrowAni {
	0% { transform: translateX(0); }
	100% { transform: translateX(10px); }
}


/*상담사 모집*/
.recruit-group .inner { max-width: 1400px; margin: 0 auto; }
.recruit-group .top-section { margin-bottom: 40px; text-align: left; }
.recruit-group .noti { margin-bottom: 40px; font-size: 16px; font-weight: 400; color: #15357a; text-align: right; }

.list-recruit-info { display: flex; flex-wrap: wrap; align-items: center; padding: 20px 30px; box-sizing: border-box; }
.list-recruit-info li { display: flex; align-items: center; width: 50%; margin: 10px 0; }
.list-recruit-info .tit { display: flex; justify-content: center; align-items: center; width: 100px; height: 31px; margin-right: 10px; border-radius: 16px; box-sizing: border-box; background: #15357a; font-size: 16px; font-weight: 500; color: #fff; text-align: center; }
.list-recruit-info .txt { width: calc(100% - 110px); font-size: 18px; font-weight: 400; color: #333; }
.list-recruit-info .txt .contact { display: flex; }
.list-recruit-info .txt .contact p:not(:last-child):after { content: '/'; margin: 0 10px; }
.list-recruit-info .txt strong { color: #15357a; }

.recruit-download { display: flex; justify-content: space-between; align-items: center; height: 230px; margin-bottom: 150px; padding: 0 30px 0 276px; box-sizing: border-box; background: url('../img/bg_main2.png') left bottom no-repeat; background-size: cover; }
.recruit-download .txt { font-size: 20px; font-weight: 400; color: #fff; line-height: 30px; }
.recruit-download .btn-group-download { display: flex; align-items: center; }
.recruit-download .btn-group-download a { display: flex; justify-content: center; align-items: center; width: 230px; height: 44px; margin-right: 26px; background: #fff; font-size: 18px; font-weight: 500; color: #15357a; transition: .5s all ease-out; }
.recruit-download .btn-group-download a:last-child { margin-right: 0; }
.recruit-download .btn-group-download a:hover { transform: translateY(-10px); }
.recruit-download .btn-group-download a:after { content: ''; display: block; width: 24px; height: 24px; margin-left: 10px; background: url('../img/ico_download1.svg') center center no-repeat; }


@media only screen and (max-width: 1440px) {
	/*메인 공통*/
	.main .top-section .tit { font-size: 28px; }
	.main .top-section .txt { margin-top: 15px; font-size: 18px; line-height: 25px; }
	
	/*메인 배너*/
	.main-banner { height: 146.154vw; max-height: 570px; }
	.main-banner .bg { background-image: url('../img/img_banner1_m.png'); }
	.main-banner .inner { align-items: center; text-align: center; }
	.main-banner .badge { width: 150px; height: 30px; margin: 0 auto 20px; font-size: 15px; }
	.main-banner .tit { font-size: 45px; }
	.main-banner .txt { font-size: 18px; }
	
	/*메인 메뉴*/
	.main-menu { padding: 80px 20px; box-sizing: border-box; }
	.list-menu { flex-wrap: wrap; margin: -10px; }
	.list-menu li { padding: 10px; box-sizing: border-box; }
	.list-menu .card { border-radius: 10px; box-sizing: border-box; }
	.list-menu .tit { font-size: 18px; }
	
	/*CEO 인사말*/
	.greetings-group { margin-bottom: 80px; }
	.greetings-group .top-section { margin-bottom: 30px; }
	.greetings-group .top-banner { margin-bottom: 30px; padding: 90px 36px 43px; box-sizing: border-box; background-image: url('../img/bg_main1_m.png'); }
	.greetings-group .top-banner .tit-group .tit { max-width: 310px; margin: 0 auto; font-size: 28px; line-height: 42px; }
	.greetings-group .top-banner .tit-group .txt { text-align: center; }
	
	.greetings-group .greetings { padding: 0 20px; box-sizing: border-box; font-size: 16px; letter-spacing: -0.8px; line-height: 24px; word-break: break-all; }
	.greetings-group .greetings span { display: block; margin-bottom: 25px; }
	.greetings-group .greetings span:last-child { margin-bottom: 0; }
	
	/*회사 개요*/
	.overview-group { margin-bottom: 80px; }
	.overview-group .top-section { margin-bottom: 30px; }
	.overview-group .inner { display: block; }
	.overview-group .company-vision { width: 100%; margin-right: 0; }
	.overview-group .chart-info { max-width: calc(100% - 40px); margin: 20px auto; padding: 20px; border-radius: 10px; box-sizing: border-box; font-size: 16px; text-align: left; line-height: 24px; word-break: break-all; }
	
	.chart-group { display: block; }
	.chart-group .box:first-child { margin-right: 0; margin-bottom: 60px; }
	.chart-group .box:first-child:after { top: 175px; left: 0; right: 0; width: 1px; height: 40px; margin: 0 auto; border-right: 2px dashed #15357a; border-bottom: none; box-sizing: border-box; }
	.chart-group .tit { margin-bottom: 5px; font-size: 18px; }
	.chart-group .txt { width: 140px; height: 140px; margin: 0 auto; font-size: 14px; }
	.chart-group .txt-group .txt { width: 120px; height: 120px; margin: 0 -8px; padding: 0 16px; box-sizing: border-box; letter-spacing: -0.28px; }
	
	.list-company-info { width: calc(100% - 40px); margin: 0 auto; padding: 0; border-radius: 10px; box-sizing: border-box; }
	.list-company-info .tit { width: 105px; font-size: 16px; }
	.list-company-info .txt { width: calc(100% - 105px); font-size: 14px; line-height: 19px; }
	
	/*오시는 길*/
	.location-group { margin-bottom: 80px; padding: 80px 20px; box-sizing: border-box; }
	.location-group .top-section { margin-bottom: 30px; text-align: center; }
	.location-group .inner { display: block; }
	
	.map-group { width: 100%; height: 57.692vw; max-height: 480px;; margin-bottom: 20px; border-radius: 10px; box-sizing: border-box; }
	
	.location-info { width: 100%; }
	.location-info .location-data { margin-bottom: 20px; border-radius: 10px; box-sizing: border-box; }
	.location-info .location-data .tit { margin-bottom: 10px; font-size: 18px; }
	.location-info .location-data .txt { font-size: 16px; line-height: 22px; }
	
	/*상품소개*/
	.product-group { margin-bottom: 80px; }
	.product-group .top-section { margin-bottom: 30px; }
	.product-group .inner { padding: 0 20px; box-sizing: border-box; }
	
	.list-product { margin: 0; }
	.list-product li { width: 100%; margin-bottom: 36px; padding: 0; }
	.list-product li:last-child { margin-bottom: 0; }
	.list-product .product-info { padding: 20px; border-radius: 10px; box-sizing: border-box; }
	.list-product .num { margin-bottom: 5px; font-size: 10px; }
	.list-product .product-name { margin-bottom: 10px; font-size: 20px; }
	.list-product .product-desc { margin-bottom: 20px; font-size: 16px; line-height: 22px; }
	.list-product .txt-group p { padding-left: 22px; box-sizing: border-box; font-size: 16px; line-height: 22px; }
	.list-product .txt-group p:before { top: 10px; left: 8px; }
	.list-product img { right: 20px; bottom: 20px; transform: scale(0.25); }
	
	.list-product li:nth-child(4) { margin-top: 0; }
	.list-product li:nth-child(5) .product-info { display: block; padding-bottom: 90px; box-sizing: border-box; }
	.list-product li:nth-child(5) .product-info .tit-group { width: 100%; }
	.list-product li:nth-child(5) .product-info .txt-group { width: 100%; padding: 0; }
	.list-product li:nth-child(5) .product-info img { top: auto; bottom: 20px; transform-origin: right bottom; }
	
	.noti-banner { margin-bottom: 80px; padding: 20px; box-sizing: border-box; }
	.noti-banner .inner { display: block; }
	.noti-banner .tit { margin-bottom: 20px; font-size: 16px; text-align: center; line-height: 24px; }
	.noti-banner .tit br { display: block; }
	.noti-banner a { height: 35px; margin: 0 auto; font-size: 16px; }
	
	/*상담사 모집*/
	.recruit-group .top-section { text-align: center; }
	.recruit-group .top-section .txt { margin-top: 10px; }
	.recruit-group .box { display: flex; justify-content: center; }
	
	.list-recruit-info { display: flex; flex-direction: column; padding: 20px; box-sizing: border-box; }
	.list-recruit-info li { width: 100%; margin: 7.5px 0; order: 1; }
	.list-recruit-info .tit { width: 75px; height: 29px; font-size: 14px; }
	.list-recruit-info .txt { width: calc(100% - 85px); font-size: 16px; line-height: 20px; }
	.list-recruit-info .txt .contact { display: block; }
	.list-recruit-info .txt .contact p:not(:last-child):after { display: none; }
	
	.list-recruit-info li:nth-child(1) { order: 1; }
	.list-recruit-info li:nth-child(2) { order: 5; }
	.list-recruit-info li:nth-child(3) { order: 2; }
	.list-recruit-info li:nth-child(4) { order: 6; }
	.list-recruit-info li:nth-child(5) { order: 3; }
	.list-recruit-info li:nth-child(6) { order: 7; }
	.list-recruit-info li:nth-child(7) { order: 4; }
	.list-recruit-info li:nth-child(8) { order: 8; }
	
	.recruit-group .noti { margin: 10px auto 30px; text-align: center; font-size: 14px; }
	
	.recruit-download { display: block; height: auto; margin-bottom: 0; padding: 30px 0; box-sizing: border-box; background-image: url('../img/bg_main2_m.png'); background-color: #42569a; background-size: contain; }
	.recruit-download .txt { margin-bottom: 80px; font-size: 16px; text-align: center; line-height: 24px; }
	.recruit-download .btn-group-download { justify-content: center; max-width: calc(100% - 40px); margin: 0 auto; }
	.recruit-download .btn-group-download a { width: calc(100% / 2); height: 40px; margin-right: 10px; font-size: 14px; }
	.recruit-download .btn-group-download a:last-child { margin-right: 0; }
	.recruit-download .btn-group-download a:after { width: 20px; height: 20px; margin-left: 5px; background-size: contain; }
}


@media only screen and (max-width: 1280px) {
	.list-menu li { width: calc(100% / 3); }
}


@media only screen and (max-width: 720px) {
	.list-menu li { width: calc(100% / 2); }
	.list-menu .card { height: 51.282vw; }
}

@media only screen and (max-width: 440px) {
	.ad img { width: 100%; }
	.ad a.ad-mobile { display: block; }
	.ad a.ad-pc { display: none; }
}