@charset "utf-8";
/* 인사말 */
.sub1-img { border-radius: 36px; overflow: hidden;}
.gt { display: flex; margin-top: 50px; padding: 0 150px; padding-right: 0; }
.gt .tit { width: 47%; position: relative; font-size: var(--font-size42); font-weight: 700; color: #242424; line-height: 1.2em; }
.gt .tit span { color: var(--color-primary);}
.gt .info { width: 53%; }
.gt .info p { line-height: 1.5em; margin-bottom: 27px; font-size: var(--font-size18);}
.gt .info p:last-child { margin-bottom: 0; }

/* 비전 및 경영이념 */
.vs .col { display: flex; padding-top: 65px; align-items: center; margin-bottom: 130px; }
.vs .col:last-child { margin-bottom: 0; }
.vs .col .img { position: relative; width: 47%; text-align: right; }
.vs .col .img::before { content: ""; position: absolute; left: 0; top: -65px; width: 73%; height: calc(100% + 65px); background: var(--color-primary); z-index: -1; }
.vs .col .info { width: 53%; padding-left: 90px; }
.vs .col .info h3 { font-size: var(--font-size50); font-weight: 600; line-height: 1.2em; color: #eaeaea; }
.vs .col .info h4 { font-size: var(--font-size24); font-weight: 600; color: #242424; line-height: 1.5em; margin: 5px 0 28px;}
.vs .col:nth-child(even) { flex-direction: row-reverse; }
.vs .col:nth-child(even) .img { text-align: left; }
.vs .col:nth-child(even) .img::before { left: auto; right: 0; }
.vs .col:nth-child(even) .info { padding-left: 0; padding-right: 90px; text-align: right; }

/* 연혁 */
.hst-big { background: url(../images/sub/hst-img.jpg) center no-repeat; background-size: cover; border-radius: 16px; text-align: center; color: #fff; padding: 95px 15px; position: relative; }
.hst-big h4 { font-size: var(--font-size24); line-height: 1em; font-weight: 700; }
.hst-big h2 { font-size: var(--font-size40); font-weight: 700; line-height: 1.2em; margin: 5px 0 16px;}
.hst-big p { font-size: var(--font-size18); font-weight: 700; } 
.hst-big::after { content: ""; position: absolute; left: 0; right: 0; margin: auto; bottom: -15px; width: 30px; height: 30px; background: url(../images/sub/hst-img-dot.png) center no-repeat; background-size: contain; z-index: 1;}
.hst { position: relative; padding-top: 56px; }
.hst::before { content: ""; position: absolute; left: 0; right: 0; margin: auto; top: 0; width: 1px; height: 92%; background: #ddd; }
.hst .group { margin-bottom: 40px; width: 50%; margin-left: 50%; position: relative; padding-left: 85px; }
.hst .group::before { content: ""; position: absolute; left: -10px; top: 6px; width: 20px; height: 20px; background: url(../images/sub/hst-dots.png) center no-repeat; background-size: contain;}
.hst .group::after { content: ""; position: absolute; left: 0; top: 15px; width: 65px; height: 1px; background: #ddd; z-index: -1;}
.hst .group:last-child { margin-bottom: 0; }
.hst .group .year { font-size: var(--font-size32); line-height: 1em; margin-bottom: 15px; color: #242424; font-weight: 700; }
.hst .group ul li {display: flex; }
.hst .group ul li .month { width: 37px; font-weight: 700; color: var(--color-primary); position: relative; }
.hst .group ul li .month.wt { width: 65px; }
.hst .group ul li .month::after { content: ""; position: absolute; right: 8px; width: 3px; height: 3px; border-radius: 4px; background: #242424; top: 11px; }
.hst .group ul li .txt { flex: 1 1 auto; min-width: 0; width: 1%; color: #000; }
.hst .group:nth-child(even) { padding-right: 0; padding-right: 85px; width: 50%; margin-left: 0; text-align: right; }
.hst .group:nth-child(even)::before { left: auto; right: -10px; }
.hst .group:nth-child(even)::after { left: auto; right: 0; }
.hst .group:nth-child(even) ul li { flex-direction: row-reverse;}
.hst .group:nth-child(even) ul li .month::after { right: auto; left: 7px; }

/* 찾아오시는 길 */
.lct { display: flex; align-items: center; position: relative; top: -65px; z-index: 1; padding-left: 30px; }
.lct.mg { margin-bottom: 60px; }
.lct .left { background: var(--color-primary); color: #fff; padding: 40px; width: 340px; }
.lct .left h5 { font-size: 17px; line-height: 1.58em; font-weight: 300; margin-bottom: 15px;}
.lct .left h3 { font-size: var(--font-size24); line-height: 1.333em; font-weight: 600; margin-top: 15px; }
.lct .info { flex: 1 1 auto; min-width: 0; width: 1%; padding-left: 45px; display: flex; flex-wrap: wrap; gap: 10px 35px;}
.lct .info li { display: flex; }
.lct .info li strong { display: inline-block; font-size: var(--font-size18); font-weight: 600; color: var(--color-primary); position: relative; padding-right: 15px; padding-left: 20px; }
.lct .info li strong::before { content: ""; position: absolute; left: 0; top: 8px; width: 6px; height: 6px; background: var(--color-primary);}

/* Business 리스트 */
.bs-tab { gap: 10px 60px; display: flex; flex-wrap: wrap; justify-content: center; margin-bottom: 60px; }
.bs-tab li a { display: inline-block; font-size: var(--font-size18); font-weight: 500; color: #242424; line-height: 1.33em; }
.bs-tab li.active a,
.bs-tab li:hover a { color: var(--color-primary);}
.bs-wrap { display: flex; flex-wrap: wrap; gap: 60px; }
.bs-wrap .col { width: calc(100%/4 - 45px); }
.bs-wrap .col a { display: block; }
.bs-wrap .col .thumb { position: relative; display: block; overflow: hidden; padding-bottom: 140%; }
.bs-wrap .col .thumb img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; }
.bs-wrap .col .thumb .tit { position: absolute; left: 0; bottom: 0; width: 100%; background: rgba(44, 44, 44, 0.5); color: #fff; padding: 10px; font-size: var(--font-size20); font-weight: 500; line-height: 1.2em; height: 100%; display: flex; align-items: center; justify-content: center; text-align: center; opacity: 0; transition: .3s;}
.bs-wrap .col a:hover .thumb .tit { opacity: 1; }

/* Business 상세 */
.bs-summary { margin: 120px 0 100px; display: flex; }
.bs-summary .image { width: 42%; }
.bs-swiper .thumb { position: relative; display: block; overflow: hidden; padding-bottom: 140%; }
.bs-swiper .thumb img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; }
.bs-prev::after, .bs-next::after { display: none; }
.bs-prev, .bs-next { top: 50%; transform: translateY(-50%); width: 60px; height: 60px; background-repeat: no-repeat; background-position: center; background-size: 13px; background-color: #fff; border-radius: 60px; }
.bs-prev { left: 30px; background-image: url(../images/sub/pd-prev.png);}
.bs-next { right: 30px; background-image: url(../images/sub/pd-next.png); left: auto;}
.bs-summary .swiper-pagination { bottom: 25px; }
.bs-summary .swiper-pagination-bullet { background: #fff; width: 9px; height: 9px; opacity: 1; bottom: 40px; }
.bs-summary .swiper-pagination-bullet-active { background: var(--color-primary);}
.bs-summary .info { width: 58%; padding-left: 90px; display: flex; flex-direction: column; justify-content: space-between;}
.bs-summary .info .tit { font-size: var(--font-size40); line-height: 1.2em; font-weight: 700; color: #242424; margin-bottom: 80px; }
.bs-summary .info .group { margin-bottom: 35px; font-size: var(--font-size18); }
.bs-summary .info .group:last-child { margin-bottom: 0; }
.bs-summary .info .group h5 { line-height: 1.2em; font-weight: 600; color: #242424; margin-bottom: 16px; font-size: var(--font-size18);}
.bs-summary .info .group p { line-height: 1.7em; }
.bs-summary .info .download-btn { display: flex; align-items: center; justify-content: center; gap: 10px; background: var(--color-primary); color: #fff; line-height: 1em; width: 156px; height: 52px; font-size: var(--font-size20); font-weight: 600; margin-top: 30px; }
.bs-detail { padding-bottom: 60px; border-bottom: 1px solid #ddd;}

/* 문의하기 */
.ct-img { text-align: center; }
.ct-gray { margin: 100px 0; background: #fafafa; padding: 70px;}
.ct-gray .group { margin-bottom: 40px; }
.ct-gray .group:last-child { margin-bottom: 0; }
.ct-gray h4 { font-size: var(--font-size24); font-weight: 700; line-height: 1.666em; color: #242424; margin-bottom: 15px; }
.ct-gray .span-fx { display: flex; gap: 20px; flex-wrap: wrap;}
.ct-gray .span-fx span { display: inline-block; position: relative; }
.ct-gray .span-fx span::after { content: ""; position: absolute; right: -11px; top: 6px; width: 2px; height: 12px; background: #454545; }
.ct-gray .span-fx span:last-child::after { display: none; }
.ct-gray ul { display: flex; flex-wrap: wrap; gap: 10px 30px; margin-bottom: 30px; }
.ct-gray ul li { display: flex; font-size: 16px; }
.ct-gray ul li strong { display: inline-block; font-weight: 600; color: var(--color-primary); position: relative; padding-right: 20px; line-height: 1.5em; }
.ct-gray ul li .txt { flex: 1 1 auto; min-width: 0; width: 1%; line-height: 1.5em; word-break: break-all;}
.ct-gray ul li .txt a { display: inline-block; text-decoration: underline; text-underline-position: under;}