/*------공통//------*/
html, body { height: 100%; margin: 0; padding: 0;}

.section-padding { padding: 100px 0; /*min-height: 100vh;*/}
.bg-gray { background: #f7f7f7;}
.img-part { padding: 0 0 30px 0;}
.mt-7 { margin-top: 5rem !important;}
.text-right { text-align: right;}
.text-center { text-align: center;}

.common h2 { text-transform: uppercase; margin-bottom: 30px;}
.portfolio h2 { text-transform: uppercase; margin-bottom: 30px;}
.common h3 { font-weight: 600; margin-bottom: 30px;}
.common p { margin-top: 30px; font-size: 18px; line-height: 1.4; font-weight: 400; color: #393636;}


.btn-custom { background-color: #393636; color: #fff; padding: 10px 30px; border: 1px solid #393636; margin-top: 20px;}
.btn-custom:hover { background-color: #fff; color: #393636; border: 1px solid #393636;}
.btn-custom:active { background-color: #393636; color: #fff;}

/*------header//------*/
header { position: fixed; width: 100%; left: 0; top: 0; z-index: 999; height: 80px; background-color: #fff; border-bottom: 1px solid #eeeeee66;}
header.scrolled { background: rgba(255, 255, 255, 0.8); box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); /* 선택: 그림자 효과 */}

.main-visual { padding-top: 80px; position: relative;}
.main-header { padding: 20px 0; border-bottom: 1px solid #eee;}
.main-nav ul { list-style: none; display: flex; gap: 30px;}
.main-nav a { text-decoration: none; color: #000; font-size: 16px; font-weight: 600; transition: all 0.2s;}
.main-nav a:hover { text-decoration: underline;}

.menu { display: flex; align-items: center; justify-content: space-between; height: 80px;}
.menu .logo img { vertical-align: middle;}
header .nav-link { color: #111; font-weight: 200; font-size: 16px; transition: all 0.4s; line-height: 1; padding: 0 20px;}
.nav-link:hover { text-decoration: none; font-weight: 200; color: #222; }
header .nav-link.active { color: #222; font-weight: 200; text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 2px;}

.slide-overlay { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); text-align: center; color: #fff; z-index: 2;}
.slide-title { font-size: 64px; /*48*/font-weight: 400; margin-bottom: 20px; width: max-content;}
.slide-desc { font-size: 20px; margin-bottom: 30px;}

.slide-btn { display: inline-block; padding: 12px 30px; background-color: rgba(255, 255, 255, 0.2); color: #fff; border: 1px solid #fff; text-decoration: none; transition: all 0.3s ease; bottom: -40px; position: relative;}
.slide-btn:hover { background-color: #fff; color: #000;}

.desktop-menu { display: flex;}
.hamburger { all: unset; display: none; background: none; font-size: 24px; border: none; cursor: pointer; -webkit-appearance: none; appearance: none; -webkit-tap-highlight-color: transparent;}

/*메뉴 호버 시 한국어 전환*/
.desktop-menu .nav-link { position: relative; display: inline-block; padding: 8px 12px; min-width: 120px; text-align: center; transition: all 0.3s ease; border-bottom: 2px solid transparent;}
.nav-link .ko { display: none;}
.nav-link:hover .en { display: none;}
.nav-link:hover .ko { display: inline;}



/*페이지네이션 커스텀*/
.swiper-pagination { height: 40px;}
.swiper-pagination-bullet-active { background: #fff;}
.swiper-pagination-bullet { width: 14px; height: 14px; border-radius: 50%; border: 2px solid #fff; background: transparent; opacity: 1; transition: background-color 0.3s, transform 0.3s;}

/* 활성화된 동그라미 (선택된 라디오 버튼처럼) */
.swiper-pagination-bullet-active { background: #fff;}

/* 모바일 메뉴 기본 설정 */
.mobile-menu { position: fixed; top: 0; right: -2000px; width: 100%; height: 100%; background-color: #fff; box-shadow: -2px 0 5px rgba(0,0,0,0.3); padding: 1rem; transition: right 0.3s ease-in-out; z-index: 9999;}
.mobile-menu.open { right: 0;}
.mobile-menu .close-btn { font-size: 28px; background: none; border: none; float: right; cursor: pointer; appearance: none; -webkit-appearance: none;}

.mobile-menu ul { list-style: none; padding: 0; margin-top: 70px;}
.mobile-menu li { padding: 15px 0;}
.mobile-menu li a.m-menu { position: relative; display: flex; align-items: center; justify-content: flex-start;}
.mobile-menu li a.m-menu::after { content: ""; position: absolute; top: 50%; left: 95%; transform: translateY(-50%) rotate(45deg); width: 8px; height: 8px; border: 1px solid #000; border-width: 1px 1px 0 0;}
.mobile-menu a { text-decoration: none; color: #000; font-size: 18px; font-weight: 200;}

.mobile-menu .sns-link, .desktop-menu .sns-link a { font-weight: 200; color: #999;}

.nav-item.sns-link:nth-child(1) { padding-left: 15px;}
.nav-item.sns-link a { color: #898989; font-weight: 200;}

header .m-menu.active { color: #222; font-weight: 200; text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 2px;}

/* 모바일 메뉴에서 구분선 */
.mobile-menu .sns-divider hr { border: none; border-top: 1px solid #ccc; margin: 15px 0;}

/* 모바일 SNS 항목 스타일 */
.mobile-menu .sns-link a { color: #898989; font-weight: 200;}

.mobile-menu-header { display: flex; align-items: center; justify-content: space-between; padding-bottom: 20px; border-bottom: 1px solid #eee;}
.mobile-menu-header .mobile-logo img { height: 40px;}
.mobile-menu-header .close-btn { font-size: 28px; background: none; border: none; cursor: pointer; color: #333;}



/*------home//------*/
.swiper-button-next, .swiper-button-prev { color: #e9e9e9;}
.swiper-slide img { width: 100%; height: 100%; object-fit: cover;}
.swiper-slide { position: relative; width: 100%; height: 100vh; /* 화면 꽉 채우기 */ overflow: hidden;}

.swiper-slide picture,
.swiper-slide picture img { width: 100%; height: 100%; object-fit: cover; display: block;}
.slide-overlay { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); text-align: center; color: #fff; z-index: 2;}


/*------about//------*/
.about .image-box { height: auto; display: flex; justify-content: center; align-items: center;}
.about .img-part .background { background: #fff;}

.about .about-logo-img { width: 300px; height: auto;}

.about .intro-section { position: relative; min-height: 500px; }

.about .intro-text h3 { margin-top: 100px;}
.about .intro-text .title-txt { margin-top: 0px;}
.about .row { display: flex; flex-wrap: wrap; align-items: flex-end;}
.about .image-box img.about-img { width: 100%; height: auto; object-fit: cover;}


/*.image-title span { font-size: 0.875rem; color: #888;}
.image-title h5 { font-size: 1rem; font-weight: 600; margin-bottom: 0.25rem;}
.image-title p { margin-top: 0.5rem; font-size: 0.85rem; color: #666;}
.image-box img { width: 100%; border-radius: 0; object-fit: cover;}
.card-title h5 { font-size: 20px; font-weight: 600; margin: 30px 5px 0 0; display: flex; justify-content: space-between;}
.card-title p { margin-top: 10px;}
*/

.about-us .baron-card { padding: 30px; background: #fff; text-align: center; }
.about-us .baron-card img { width: 100%; height: auto; margin-bottom: 15px; aspect-ratio: 1/1; object-fit: cover;}

.about-us .baron-subtitle { font-size: 18px; font-weight: 400; margin-bottom: 10px; display: flex; justify-content: space-between; color: #393636;}
.about-us .baron-subtitle span { font-size: 14px; color: #999;}
.about-us .baron-desc { color: #777;}

.about-us .btn-custom { margin-top: 40px;}
.about-us .baron-title { margin-bottom: 15px; color: #111;}

/*------map//------*/
.about-contact .map-wrap { text-align: center; margin-bottom: 1.5rem;}
.about-contact .map-info { /*float: none; margin: 0 auto;*/ display: flex; flex-direction: column; justify-content: center; padding: 30px;}
.about-contact .map-info h3{ margin-bottom: 20px; letter-spacing: 0px;}
.about-contact .map-info ul.info-list li:not(:last-child) { margin-bottom: 20px;}
.about-contact .map-info ul.info-list li { position: relative; display: flex; flex-wrap: wrap; align-content: center; align-items: center;}
.about-contact .map-info ul.info-list li span { display: block;}
.about-contact .map-info ul.info-list li span.tit { width: 30%; text-transform: uppercase;}
.about-contact .map-info ul.info-list span { font-size: 16px; font-weight: 300;}
.about-contact .map-info ul.info-list li span.con { width: 70%;}
.about-contact .map { display: flex; }
.about-contact .btn-list { display: flex; justify-content: flex-start; gap: 15px; margin-top: 40px;}
.about-contact .btn-list .tel-btn { background-color: #898989; border: 1px solid #898989;}
.about-contact .btn-list .tel-btn:hover { color: #fff; background-color: #393636;}

.root_daum_roughmap { width:50%;}
.root_daum_roughmap .cont .section.lst { display: none;}


#daumRoughmapContainer1752050732211 { display: inline-block;}


/*------portfolio//------*/
.nav-tabs { margin-bottom: 30px; justify-content: center;}
.tab-content .title { font-size: 14px; color: #111; text-align: center; }

.nav-tabs .nav-link { border: none; color: #000; font-size: 18px;}
.nav-tabs .nav-link.active { font-weight: 600; border-bottom: 2px solid #000;}

.image-wrapper { position: relative; overflow: hidden;}
.image-wrapper img { width: 100%; height: auto; display: block; position: relative; background-repeat: no-repeat; background-size: cover; background-position: center center; transition: all 1s; transform: scale(1);}

/*.image-caption { position: absolute; bottom: 10px; right: 15px; color: #fff; font-weight: 600; font-size: 16px; text-shadow: 0 0 5px rgba(0, 0, 0, 0.7); }*/
.image-wrapper:hover img { transform: scale(1.1);}

.image-box { position: relative; overflow: hidden;}

/*.image-caption,
.dark-overlay { position: absolute; opacity: 0; transition: opacity 0.4s ease;}*/

.dark-overlay { top: 0; left: 0; right: 0; bottom: 0; background: rgba(0, 0, 0, 0.4); z-index: 1;}
/*.image-caption { top: 50%; left: 50%; transform: translate(-50%, -50%); color: #fff; text-align: center; z-index: 2; white-space: pre-wrap; display: flex; align-items: center; justify-content: center;}*/

/* hover 시 둘 다 보이게 
.image-box:hover .image-caption, .image-box:hover .dark-overlay { opacity: 1;}*/
.image-caption { transition: all 0.3s ease; text-align: center; padding-top: 8px;}



/*------portfolio-board//------*/
.portfolio h3.item-board { text-align: center;}
.portfolio .post { color: #555; text-align: center;}
.portfolio .post span { margin: 0 5px;}
.portfolio .board .btn-custom { margin-top: 40px;}

/*------process//------*/
.process p { margin-top: 0;}
.process .contact-btn { margin-top: 40px;}

.process .wrap {display: flex; flex-direction: column;}
.process .process-line { position: relative; margin-bottom: 100px;}
.process .process-line .process-step-box { display: flex; justify-content: space-between; align-items: center;}

.process .step-label { text-align: center; color: #898989; text-transform: uppercase;}
.process .process-bx { position: relative; align-items: center; padding: 0 10px; /*width: 24%;*/}
.process .process-bx .step-block img { width: 40px; margin-bottom: 10px;}

.circle { position: relative; width: 12px; height: 12px; background-color: #898989; border-radius: 50%; margin: 0 auto 15px;}
.process-step-box::before { content: ""; position: absolute; top: 24%; left: 0px; width: 100%;  height: 1px; background-color: #898989;}
.process-bx::after { content: ""; position: absolute; top: 24%; left: 100%;  transform: translateY(-50%) rotate(45deg); width: 12px; height: 12px; border: 1px solid #898989; border-width: 1px 1px 0 0;}
.line { position: absolute; top: 47px; left: 0; right: 0; height: 1px; background-color: black; z-index: 0;}
.process-line.second-line .process-bx:last-child::after { display: none;}

.process-wrap { position: relative; display: flex; margin-top: 100px;}
.process-wrap::before { position: absolute; content: ""; top: 15px; left: 40px; width: 1px; height: 93%; background-color: #898989; z-index: 0;}

.process-wrap .process-step { position: relative; padding-bottom: 70px; padding-top: 14px; display: flex; flex-wrap: wrap; justify-content: flex-start; margin-left: -10px; margin-right: -10px;}
.process-wrap .process-step h3 { margin-bottom: 10px;}
.process-wrap .process-step h6 { font-weight: 500; color: #898989;}
.process-wrap .process-step p

.process-wrap .process-step .step-box { position: relative; display: inline-block;}
.process-wrap .process-step .step-icon{ position: relative; background: #fff; z-index: 1; margin-bottom: 10px;}
.process-wrap .process-step .step-icon.border { border: 1px solid #898989 !important;} 
.process-wrap .process-step .step-icon img { width: 40px;}

/*------contact//------*/
.contact .txtbox  h3{ font-weight: 600; margin-bottom: 10px;}

textarea.form-control { min-height: 100px;}
.contact p { margin-top: 0;}
.contact-inquiry .privacy-item h3{ font-size: 20px; margin-bottom: 4px; }
.contact .txtbox { display: flex; justify-content: space-between; align-items: flex-start; margin-top: 20px;}
.asterisk { color: #ff1616;}

.form-check { margin: 15px 0;}
.form-check-input:focus { border-color: none; outline: 0; box-shadow: none;}

.contact-info { margin-bottom: 30px; padding: 20px 30px; background: #f7f7f7; border-radius: 0.375rem;}
.contact-info p { position: relative; padding-left: 14px;}
.contact-info p:before { content: ""; position: absolute; width: 6px; height: 1px; background: #aaa; left: 0; top: 8px;}
.contact .category { margin-bottom: 30px;}
.contact .location { margin-bottom: 30px;}
.contact .contact-btn { background: #898989; color: #fff; transition: all 0.4s; width: 220px; line-height: 43px; border-radius: 5px;}
.contact .buget  { margin-bottom: 30px;}
.contact .buget .col-md-6:nth-of-type(1),
.contact .buget .col-md-6:nth-of-type(2) {margin-bottom: 10px;}

.contact .file-info { margin-bottom: 30px;}

.contact .channel {margin-bottom: 30px;}
.contact .category .form-inflow { padding: 10px 20px; background: #f7f7f7; display: flex; flex-wrap: wrap; gap: 1rem; border-radius: 0.375rem;}

.contact .jeongbo {margin-bottom: 30px;}
.contact .range {margin-bottom: 10px;}

.contact .detail {margin-bottom: 30px;}
.contact .agree {margin-bottom: 30px;}
.contact .agree h6{ font-size: 18px; margin-bottom: 5px; color: #000; font-weight: 300;}

.contact .input-group i { cursor: pointer;}

.contact .btn-custom { margin-top: 0px;}

.privacy-border { border: 1px solid #dee2e6; margin-bottom: .5rem; padding: 1rem; height: 150px; overflow-y: auto; border-radius: 0.375rem;}
.privacy-title { margin-bottom: .25rem; margin-top: 1.5rem;}
/*.privacy-item { color: #898989;}*/

.bundle { margin-top: 1rem;}
.bundle .privacy-item{ background: #f7f7f7; padding: 20px;}
.privacy-item.half:not(:last-child) { margin-bottom: 20px;}

/*기타사유란*/
.etc-form { margin: 3px 0;}

/*첨부파일*/
.filebox { display: flex;}
.filebox input[type="file"] { position: absolute; width: 0; height: 0; padding: 0; overflow: hidden; border: 0;}
.filebox .upload-name { display: inline-block; line-height: 1.5; padding: 0 10px; vertical-align: middle; border: 1px solid #dddddd; width: 92%; color: #898989; padding: .375rem .75rem;}
.filebox label { display: inline-block; padding: 10px 20px; color: #fff; vertical-align: middle; background-color: #898989; cursor: pointer; line-height: 1.5; margin-left: 10px; border-radius: 5px;}

.form-label { font-size: 18px; margin-bottom: 5px; color: #000; font-weight: 300;}

#calendar-icon { cursor: pointer;}

.flatpickr-day.selected, .flatpickr-day.startRange, .flatpickr-day.endRange, .flatpickr-day.selected.inRange, .flatpickr-day.startRange.inRange, .flatpickr-day.endRange.inRange, .flatpickr-day.selected:focus, .flatpickr-day.startRange:focus, .flatpickr-day.endRange:focus, .flatpickr-day.selected:hover, .flatpickr-day.startRange:hover, .flatpickr-day.endRange:hover, .flatpickr-day.selected.prevMonthDay, .flatpickr-day.startRange.prevMonthDay, .flatpickr-day.endRange.prevMonthDay, .flatpickr-day.selected.nextMonthDay, .flatpickr-day.startRange.nextMonthDay, .flatpickr-day.endRange.nextMonthDay { background: #898989; border-color: #898989;}

.form-control:focus { border-color: #111;  box-shadow: none; outline: none; }
.form-select:focus { border-color: #111;  box-shadow: none; outline: none; }






/*------개인정보처리방침//------*/
.privacy h2{ margin-bottom: 30px;}
.privacy p{ font-size: 18px;}
.sub-txt p { margin-bottom: 40px;}

.privacy-item { counter-increment: list-number;}
.privacy-item h3 { font-weight: 500; position: relative; line-height: 1.3; font-size: 23px; margin-bottom: 6px;}
.privacy-item h3:before { content: counter(list-number) '.'; display: inline-block; font-size: inherit; color: inherit; font-family: inherit; line-height: inherit; font-weight: inherit;}
.privacy-item > p { font-size: 17px; color: #505050;}
.privacy-info { margin-top: 10px;}
.privacy-item ul { line-height: 1.1;}
.privacy-item .privacy-list > li { padding-left: 14px;}
.privacy-item .privacy-list > li:not(:last-child) { margin-bottom: 14px;}

.privacy-item .privacy-list > li h4 { position: relative; margin-bottom: 4px;}
.privacy-item .privacy-list > li h4:before { content: ""; position: absolute; width: 4px; height: 4px; background: #705b54; border-radius: 100%; left: -14px; top: 7px;}

.privacy-item .privacy-info h4 { font-size: 17px; color: #505050;}
.privacy-item .privacy-info p, 
.privacy-item .list > li { font-size: 16px; color: #898989; margin-top: 0;}
.privacy-item .list > li:not(:last-child) { margin-bottom: 10px;}

.privacy-item .privacy-info .list li { line-height: 20px;}

.privacy-item .privacy-number { counter-reset: list-number;}
.privacy-item .privacy-number li { color: #505050; font-weight: 500; font-size: 16px; padding-left: 24px; line-height: 20px;}
.privacy-item .privacy-number li span { color: #353535; font-weight: 600;}
.privacy-item .privacy-number li:not(:last-child) { margin-bottom: 10px;}
.privacy-item:not(:last-child) { margin-bottom: 80px;}

.privacy-item .list > li:before { content: ""; position: absolute; width: 6px; height: 1px; background: #aaa; left: 0; top: 8px;}
.privacy-item .privacy-list > li, .privacy-item .list > li { padding-left: 14px;}
.privacy-item ul li, .privacy-item .privacy-list > li h4 { position: relative;}
.privacy-item .privacy-number li:before { content: counter(list-number); position: absolute; left: 0; top: 50%; transform: translateY(-50%); margin-right: 4px; font-size: 12px; width: 16px; height: 16px; border: 1px solid #505050; border-radius: 50%; text-align: center; line-height: 14px;}
.privacy-item .privacy-number li { counter-increment: list-number; color: #505050; font-weight: 500; font-size: 16px; padding-left: 24px; line-height: 20px;}
.privacy-info p { font-size: 17px; color: #505050;}



/*------footer//------*/
footer { padding: 30px 0; background: #fff; font-size: 15px; font-weight: 300; border-top: 1px solid #eeeeee66;}
footer p { color: #111;}
footer p a { color: #111;}
footer span { font-size: 14px;}

.company-inq {display: flex; justify-content: flex-start; gap: 20px;}
.company-inq p { color: #111; font-weight: 400; font-size: 14px;}

.company-inq a { color: #111; text-decoration: underline;  font-size: 14px;}
.company-inq a:hover { text-decoration: underline; color: #999;}

.address { font-size: 14px; color: #333;}
.address span + span::before { content: "|"; margin: 0 8px; color: #333;}


/*------topBtn//------*/
/*#topBtn { z-index: 9999;}
#topBtn { position: fixed; bottom: 40px; right: 30px; z-index: 999; font-size: 14px; padding: 10px 15px; border: none; background-color: #333; color: #fff; border-radius: 50%; cursor: pointer; display: none; box-shadow: 0 2px 5px rgba(0,0,0,0.3); width: 60px; height: 60px;}

#topBtn:hover { background-color: #555;}*/

    
/*------미디어쿼리//------*/
@media all and (min-width:1200px) and (max-width:1439px) {
/*home*/


/*process*/
.step-box .card-body { padding: 40px 24px;}
.process-wrap { margin-top: 80px;}

/*contact*/


.contact .contact-btn { width: 180px;}


}

@media all and (min-width:1200px) {

/*header*/
.header__menu { display: block;}
.navigation__menu ul { gap: 25px;}

}

@media (max-width: 1199px) {
/*header*/
.desktop-menu { display: none; }
.hamburger { display: block; }

/*공통*/
.section-padding { padding: 80px 0;}

/*home*/
.slide-title { font-size: 48px;}


/*about*/
.about br { display: none;}
.about .text-overlay { padding: 15px 15px 0 15px;}
.about .about-txt { margin-top: 50px;}
.about-us .baron-card { padding: 22px;}
.about-contact .map-info { padding: 15px;}
.about-contact .btn-list { margin-top: 30px;}

/*process*/
.step-wrap .col-6.col-md-3 {  flex: 0 0 auto; width: 33.33333333%;}
.step-box .card-body { padding: 40px 40px; }
.process-wrap { margin-top: 60px;}
.process-wrap .process-step { justify-content: space-evenly;}
.process-wrap::before { left: 66px;}

/*footer*/

/*contact*/



}

@media all and (min-width:992px) and (max-width:1199px) {}


@media (max-width: 991px) {


.mobile-menu li a.m-menu::after { left: 96%;}
.mobile-menu ul { margin-top: 30px;}


/*home*/
.slide-title { font-size: 32px;}

/*about*/
 .about .row { flex-direction: column-reverse;}
 .about .image-box { margin-bottom: 20px;}
 .about-us .col-md-4 { flex: 0 0 auto; width: 50%;}
 .about-us .row > .col-md-4:nth-child(3) { margin-top: 20px;}
 .about-contact .map { flex-direction: column;}
 .about-contact .col-md-6 { flex: 0 0 auto; width: 100%;}
 .about .intro-text h3 { margin-top: 30px;}

/*process*/
.step-wrap .col-6.col-md-3 {  flex: 0 0 auto; width: 50%;}
.common p { font-size: 16px;}
.process .process-bx {height: 160px;}
.process-step-box::before { width: 96%; top: 17%;}
.process-bx::after { top: 17%; left: 83%;}
.process .process-line { margin-bottom: 60px;}
.process-wrap { margin-top:0;}
.process-wrap::before { left: 60px;}

/*contact*/
.privacy-item > p br{ display:none; }
.contact .jeongbo .col-md-3 { width: 50%; flex: 0 0 50%; max-width: 50%; }

.contact .jeongbo .col-md-3:nth-of-type(1),
.contact .jeongbo .col-md-3:nth-of-type(2) {margin-bottom: 10px;}

/*privacy*/
.privacy-item:not(:last-child) { margin-bottom: 60px;}

/*footer*/
.address .contact-group { display: flex; flex-wrap: wrap; }

}


@media (max-width: 767px) {
/*공통*/
.section-padding { padding: 60px 0;}



/*contact*/
.privacy-top h4{ font-weight:500; }
.privacy-item:not(:last-child){ margin-bottom:60px; }
.channel .col-md-6:nth-of-type(1) { margin-bottom: 10px;}

/*privacy*/
.privacy-item .privacy-number li span { display: block; font-size: 14px;}
.privacy-item h3 { padding-left: 27px;}
.privacy-item h3:before { position: absolute; left: 0; top: 0; margin-right: 0;}

/*footer*/
.company-inq { flex-direction: column; padding-top: 5px;}


}


@media (min-width: 576px) and (max-width:768px) {
.mobile-menu ul { margin: 16px;}



/*process*/
.process-step .col-md-1 { flex: 0 0 auto; width: 16.66666667%;}
.process-step .col-md-10 { flex: 0 0 auto; width: 72.33333333%;}
.process-wrap::before { left: 63px;}

/*contact*/
.contact .category .col-md-4 { margin-bottom: 15px;}
.contact .buget .col-md-6 { margin-bottom: 15px;}

.contact .jeongbo { margin-bottom: 15px;}
.contact .jeongbo .col-md-4:last-of-type { margin-bottom: 0;}
.contact .jeongbo .col-md-4{ margin-bottom: 15px;}



}

@media (max-width: 640px) {
/*about*/
.about-us .col-md-4 { flex: 0 0 auto; width: 100%;}
.about-us .row > .col-md-4:nth-child(2) .baron-card { margin-top: 20px;}


}

@media (max-width: 575px) {
/*공통*/
h3 { font-size: 22px;}
p { font-size: 15px;}
.mobile-menu li a.m-menu::after { left: 95%;}
.mobile-menu ul { margin: 30px 0 0 0;}

/*home*/

.slide-title { font-size: 28px; width: 100%; margin-bottom: 0;}

.slide-btn { padding: 10px 24px;}

/*about*/




/*process*/
.step-box .card-body { padding: 30px 20px; height: 196px;}
.process-bx::after { left: 94%;}
.process .process-line .process-step-box { flex-direction: row; flex-wrap: wrap;}
.process-step-box .col-12.col-sm-3.col-lg-3.process-bx { flex: 0 0 auto; width: 50%;}
.process-step-box::before { display: none;}
.process-step-box .col-12.col-sm-3.col-lg-3.process-bx::before { content: ""; position: absolute; top: 17%; left: 0px; width: 99%; height: 1px; background-color: #898989;}
.process .process-line { margin-bottom: 0;}
.process-step .col-md-1 { flex: 0 0 auto; width: 16.66666667%;}
.process-step .col-md-10 { flex: 0 0 auto; width: 72.33333333%;}
.process-wrap::before { left: 57px;}




/*contact*/
input[type="checkbox"] + label, input[type="radio"] + label { vertical-align: middle;}

.contact .category .col-md-4 { margin-bottom: 10px;}
.contact .buget .col-md-6 { margin-bottom: 10px;}
.contact .jeongbo .col-md-4 { margin-bottom: 10px;}
.contact-info { padding: 20px 15px;}
.privacy-item .privacy-info p, .privacy-item .list > li { line-height: 1.3;}
.contact .contact-btn { width: 235px;}
.contact .jeongbo .col-md-3 { width: 100%; flex: 0 0 100%; max-width: 100%;}
.contact .jeongbo .col-md-3:nth-of-type(3) { margin-bottom: 10px; }

/*footer*/
.address{ display: flex; flex-direction: column;}

}

@media (max-width: 480px ) {
.process .process-bx { height: 170px;}

/*about*/
.about .btn-custom { margin-top: 0;}
.about .card-title h5 {margin: 20px 5px 0 0;}
.card-title h5 { font-size: 18px;}

/*contact*/
.privacy-item h3 { font-size:20px;}
.privacy-item > p{ line-height:1.3; font-size:14px;}
.privacy-item .privacy-num li{ font-size:14px; }
.contact .txtbox { align-items: baseline;}
.contact .contact-btn { width: 205px;}

/*process*/
.process-wrap::before { left: 55px;}

/*privacy*/
.privacy-item:not(:last-child) { margin-bottom: 40px;}
.sub-txt p { font-size: 16px;}
.privacy-item .privacy-info p, .privacy-item .list > li { font-size: 14px;}
.privacy-item h3 { font-size: 20px; padding-left: 28px;}
.privacy-item > p { font-size: 14px;}
.privacy-item .privacy-number li { font-size: 14px;  padding-left: 20px;}
.privacy-item .privacy-number li span {display: block; font-size: 13px;}
.process-bx::after { left: 92%;}


}
@media (max-width: 430px){
.contact .contact-btn { width: 198px;}


}

@media (max-width: 420px){
.contact .contact-btn { width: 190px;}



}

@media (max-width: 390px){
.contact .contact-btn { width: 185px;}

}

@media (max-width: 380px){
.privacy-item h3 { padding-left: 24px;}

.process-step .col-md-1 { flex: 0 0 auto; width: 21.666667%;}
.process-wrap::before { left: 49px;}
.contact .contact-btn { width: 176px;}

/*about*/
.about-contact .btn-list .btn-custom { padding: 10px 15px; font-size: 15px;}

}

@media (max-width: 360px){
.contact .contact-btn { width: 170px;}


}

@media (max-width: 344px){
.contact .contact-btn { width: 160px;}



}

@media (max-width: 320px){

/*home*/
.slide-title { font-size: 21px; width: 100%;}

.address span:before:nth-child(n+1) { padding-left: 10px;}

/*about*/
.about-contact .btn-list {margin-top: 10px;}
.about-contact .map-info ul.info-list span { font-size: 13px;}



/*process*/
.process-bx::after { left: 91%;}

/*contact*/
.contact .contact-btn { width: 150px;}

}