/* fonts */
@font-face {
    font-family: 'pl';
    src: url('/include/font/PretendardVariable.woff2') format('woff2');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'pr';
    src: url('/include/font/PretendardVariable.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'pm';
    src: url('/include/font/PretendardVariable.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'pb';
    src: url('/include/font/PretendardVariable.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'pbk';
    src: url('/include/font/PretendardVariable.woff2') format('woff2');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+KR:wght@200..900&display=swap');

.notoF{
	font-family: "Noto Serif KR", serif;
}

/* body */
body{
	padding: 0;
}

.inner{
	max-width: 1400px;
}

/* headerR */
.headerR {
	background: transparent; 
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 999;
	transition: background 0.3s ease;
}

.headerR.on {
	background: rgba(255, 255, 255, 0.9); /* 60% 불투명한 흰색 배경 유지 */
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05); 
	
	/* [추가] 뒷배경을 블러 처리하는 속성 */
	backdrop-filter: blur(10px); 
	-webkit-backdrop-filter: blur(10px); /* 아이폰 Safari 브라우저 호환성용 */
}

.headerR .inner {
	height: 100px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	max-width: 1600px;
	transition: all 0.3s;
}

.headerR.on .inner{
	height: 70px;
}

.headerR .inner .logo {
	width: 223px;
	transition: all 0.3s;
}

.headerR.on .inner .logo{
	width: 180px;
}

.headerR .inner .logo img {
	max-width: 100%;
}

.headerR .inner .logo img.b {
	display: none; /* 기본 상태에서는 컬러 로고 숨김 */
}

.headerR.on .inner .logo img.w {
	display: none; /* on 상태에서는 흰색 로고 숨김 */
}

.headerR.on .inner .logo img.b {
	display: block; /* on 상태에서는 컬러 로고 노출 */
}

/* 상담신청 버튼 */
.headerR .inner .goBtn {
	width: 130px;
	height: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-size: 18px;
	font-weight: normal;
	font-family: "pb";
	background: linear-gradient(45deg, #2871fa, #6717cd);
	border-radius: 12px;
	transition: all 0.3s;
}

.headerR.on .inner .goBtn{
	width: 120px;
	height: 45px;
}

/* quickR */
.quickR{
	position: fixed;
	right: 50px;
	bottom: 50px;
	width: 100px;
	box-sizing: border-box;
	border-radius: 100px;
	background: rgba(0,0,0,0.7);
	padding: 10px;
	box-shadow: rgba(0,0,0,0.3) 0 0 7px;
	z-index: 98;
	text-align: center;
	transition: all 2s;
	transform: translateX(150px);
	opacity: 0;
}

.quickR.on{
	transform: translateX(0px);
	opacity: 1;
}

.quickR ul{
	padding-top: 10px;
}

.quickR ul li{
	margin-bottom: 6px;
}

.quickR ul li a{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	align-content: center;
	gap: 8px;
	width: 80px;
	height: 80px;
}

.quickR ul li.telLi a img{
	width: 29px;
}

.quickR ul li a img{
	width: 33px;
}

.quickR ul li a span{
	width: 100%;
	text-align: center;
	color: #fff;
	font-size: 13px;
	font-weight: 600;
}

.quickR button{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 80px;
	height: 80px;
	border: 0;
	box-sizing: border-box;
	border-radius: 100px;
	font-family: "pb";
	font-weight: normal;
	font-size: 18px;
	color: #fff;
	background: linear-gradient(45deg, #2871fa, #6717cd);
}

/* section */
.section{
	padding: 130px 0;
}

.tit{
	font-weight: normal;
	font-family: "pb";
	font-size: 35px;
	line-height: 1.4;
	text-align: center;
	color: #fff;
}

.tit .sm{
	font-size: 0.85em;
	font-family: "pm";
	font-weight: normal;
}

.tit strong{
	font-family: "pb";
	font-weight: normal;
	color: #f9dc93;
}

.conTxt{
	font-weight: 400;
	font-size: 18px;
	color: #fff;
	line-height: 1.6;
	text-align: center;
}

.conTxt strong{
	font-weight: 600;
}

/* visual */
.visual{
	background: url(../img/relief/visualBg.jpg) no-repeat center bottom / cover;
	height: 100vh;
	display: flex;
	align-items: center;
	align-content: flex-end;
	flex-wrap: wrap;
}

.visual .txtBox{
	display: none;
}

.visual .imgBox img{
	width: auto;
	max-height: 92vh;
}

/* applyBox */
.applyBox{
	background: url(../img/relief/applyBoxBg.jpg) no-repeat center / cover;
	background-attachment: fixed !important;
}

.applyBox .tit{
	color: #fff;
}

.applyBox .check_icon_wrap {
    width: 100px;
    height: 100px;
    margin: 0 auto 35px;
}

.applyBox .custom_check_svg {
    width: 100%;
    height: 100%;
}

.applyBox .circle_path {
    stroke: #fff;
    stroke-dasharray: 200;
    stroke-dashoffset: 200;
    stroke-linecap: round;
}

.applyBox .check_path {
    stroke: #fff;
    stroke-dasharray: 110;
    stroke-dashoffset: 110;
    stroke-linecap: round;
    stroke-linejoin: round;
    transform-origin: center;
}

.applyBox.on .check_icon_wrap .circle_path {
    animation: drawCircle 1s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.applyBox.on .check_icon_wrap .check_path {
    animation: drawCheck 0.5s cubic-bezier(0.17, 0.67, 0.83, 0.67) 0.8s forwards;
}

@keyframes drawCircle {
    to { stroke-dashoffset: 0; }
}

@keyframes drawCheck {
    to { stroke-dashoffset: 0; }
}

.applyBox ul{
	display: flex;
	justify-content: center;
	gap: 30px;
	margin-top: 50px;
}

.applyBox ul li{
	box-sizing: border-box;
	padding: 35px;
	text-align: center;
	background: rgba(255,255,255,0.1);
	border-radius: 24px;
	width: 27%;
}

.applyBox ul li .imgBox{
	text-align: center;
	width: 140px;
	margin: auto;
}

.applyBox ul li h3{
	font-weight: 400;
	font-family: "pb";
	color: #fff;
	font-size: 22px;
	line-height: 1.3;
	margin: 18px 0;
	text-align: center;
}

.applyBox ul li h3 strong{
	color: #f9dc93;
	font-weight: normal;
	font-family: "pb";
}

.applyBox ul li p{
	color: #fff;
	font-size: 18px;
	line-height: 1.3;
	text-align: center;
	font-family: "pr";
}

/* kindBox */
.kindBox{
	background: #f2f2f2;
}

.kindBox .tit{
	color: #212121;
}

.kindBox ul{
	margin-top: 50px;
	display: flex;
	flex-wrap: wrap;
	gap: 35px 45px;
}

.kindBox ul li{
	width: calc(100%/3 - 90px/3);
	border-radius: 20px;
	overflow: hidden;
	position: relative;
	box-shadow: rgba(0,0,0,0.1) 0 0 15px;
}

.kindBox ul li img{
	max-width: 100%;
	width: 100%;
}

.kindBox ul li .txtBox{
	position: absolute;
	left: 0;
	bottom: 0;
	background: rgba(60,119,149,0.8);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 20px;
}

.kindBox ul li .txtBox h5{
	color: #fff;
	font-weight: 600;
	font-size: 20px;
	line-height: 1;
}

/* noneCountBox */
.noneCountBox{
	background: #1f95ab;
}

.noneCountBox .inner{
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.noneCountBox .leftBox{
	background: url(../img/relief/simbol.png) no-repeat center / contain;
	display: flex;
	flex-wrap: wrap;
	align-content: center;
	align-items: center;
	text-align: left;
	max-width: 464px;
	width: 40%;
	height: 429px;
	box-sizing: border-box;
	padding-left: 15px;
}

.noneCountBox .leftBox .tit{
	width: 100%;
	color: #fff;
	text-align: left;
	margin-bottom: 30px;
}

.noneCountBox .leftBox .tit .line{
	display: inline-block;
	color: #f9dc93;
	position: relative;
}

.noneCountBox .leftBox .tit .line::after{
	content: '';
	display: block;
	width: 100%;
	height: 3px;
	background: #f9dc93;
	position: absolute;
	bottom: 0;
	left: 0;
}

.noneCountBox .leftBox ul li{
	display: flex;
	gap: 10px;
	align-items: flex-start;
	line-height: 1.4;
}

.noneCountBox .leftBox ul li + li{
	margin-top: 10px;
}

.noneCountBox .leftBox ul li .fa{
	font-size: 24px;
	color: #fff;
	margin-top: 5px;
}

.noneCountBox .leftBox ul li span{
	font-size: 24px;
	color: #fff;
	font-weight: 500;
}

.noneCountBox .rightBox{
	text-align: center;
	width: 58%;
}

.noneCountBox .rightBox img{
	max-width: 100%;
}

/* countBox */
.countBox{
	background: #0e2142;
}

.countBox .inner{
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.countBox .leftBox{
	background: url(../img/relief/simbol.png) no-repeat center / contain;
	display: flex;
	flex-wrap: wrap;
	align-content: center;
	align-items: center;
	text-align: left;
	max-width: 464px;
	width: 40%;
	height: 429px;
	box-sizing: border-box;
	padding-left: 5%;
}

.countBox .leftBox .tit{
	width: 100%;
	color: #fff;
	text-align: left;
	margin-bottom: 15px;
}

.countBox .leftBox p{
	font-size: 18px;
	color: #fff;
	line-height: 1.6;
	font-family: "pr";
}

.countBox .rightBox{
	text-align: center;
	width: 55%;
}

.countBox .rightBox h3{
	color: #fff;
	font-weight: 600;
	font-size: 40px;
	line-height: 1;
	margin-bottom: 60px;
}

.countBox .rightBox p{
	font-weight: normal;
	font-family: "pb";
	color: #fff;
	font-size: 120px;
	line-height: 1;
}

.countBox .rightBox p strong{
	font-weight: normal;
	font-family: "pb";
	font-size: 202px;
}

.countBox .rightBox p .plus{
	font-size: 120px;
}

/* sucCase */
.section.sucCase {
  background-color: #f4f5f7; /* 시안의 연한 배경색 */
  overflow: hidden;
}
.section.sucCase .inner {
  max-width: 100%; /* 사이트 기준 보더 폭에 맞추세요 */
  margin: 0 auto;
  padding: 0 20px;
}
.section.sucCase .tit {
  margin-bottom: 40px;
  color: #212121;
}

.sucCase .mySwiper {
  padding-bottom: 50px; /* 하단 스크롤바가 들어갈 공간 확보 */
  position: relative;
}

.sucCase .slideLi a {
  display: block;
  text-decoration: none;
  background: #fff;
  border-radius: 4px; /* 살짝 부드러운 모서리 */
  overflow: hidden;
  box-shadow: 0 4px 15px rgba(0,0,0,0.05);
  transition: transform 0.3s ease;
}
.sucCase .slideLi a:hover {
  transform: translateY(-5px); /* 호버 시 가벼운 업 효과 */
}

.sucCase .slideLi.no-data{
	width: 100% !important;
}

.sucCase .imgBox {
  position: relative;
  width: 100%;
  padding-top: 105%;
  background: #fff;
}
.sucCase .imgBox img {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  object-fit: cover; /* 이미지 깨짐 방지 */
}

.sucCase .txtBox {
  background-color: #0a2046; /* 시안의 딥네이비 컬러 */
  padding: 25px 30px;
  text-align: left;
}
.sucCase .txtBox h5 {
  color: #fff;
  font-size: 16px;
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis; /* 말줄임표 처리 */
  margin: 0;
}

.sucCase .mySwiper .swiper-scrollbar {
  position: absolute;
  bottom: 0;
  left: 10%;
	max-width: 1400px;
  width: 80%; /* 중앙에 적당한 너비로 배치 */
  height: 6px;
  background: #dedede;
}
.sucCase .mySwiper .swiper-scrollbar-drag {
  background: #0a2046; /* 활성화된 드래그 바 색상 */
}



/* cheerBox - 섹션 전체 배경 및 레이아웃 */
.cheerBox {
    /* 배경 이미지가 없을 경우를 대비해 시안의 딥블루 그라데이션을 베이스로 깔아줍니다 */
    background: linear-gradient(135deg, #09132e 0%, #112552 100%);
    background-image: url(../img/relief/cheerBg.jpg);
    background-repeat: no-repeat;
    background-position: center;
	background-attachment: fixed !important;
    background-size: cover;
    padding: 100px 0;
    overflow: hidden;
} 

.cheerBox .inner {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 40px;
}

.cheerBox .leftBox {
    width: 30%;
    position: relative;
    top: 20px; /* 우측 박스들과 시각적 밸런스를 맞추기 위한 상단 여백 */
}

.cheerBox .leftBox .tit {
	text-align: left;
}

.cheerBox .rightBox {
    width: 70%;
}

.cheerBox .rightBox ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* PC 기준 정확히 3열 배치 */
    gap: 20px; /* 카드 사이의 여백 */
    padding: 0;
    margin: 0;
    list-style: none;
}

.cheerBox .rightBox ul li {
    /* 135도 대각선 방향으로 #002243에서 #00284f로 자연스럽게 전환되는 그라데이션 */
    background: linear-gradient(145deg, #002243 0%, #002243 50%, #00284f 50%, #00284f 100%);
    
    /* 만약 경계선이 칼처럼 딱 떨어지는 느낌을 원하시면 위 코드를 쓰고, 
       시안처럼 은은하고 자연스럽게 번지는 대각선이라면 아래 코드를 사용하세요 (추천) */
    /* background: linear-gradient(135deg, #002243 30%, #00284f 70%); */

    border: 1px solid rgba(255, 255, 255, 0.12); /* 시안의 얇은 외곽선 */
    border-radius: 16px; /* 부드러운 라운딩 */
    padding: 35px 25px;
    min-height: 220px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
    backdrop-filter: blur(4px);
    transition: all 0.3s ease;
}

.cheerBox .rightBox ul li:hover {
    background: linear-gradient(135deg, #002b54 0%, #003364 100%);
    border-color: rgba(255, 255, 255, 0.25);
    transform: translateY(-5px);
}

.cheerBox .rightBox ul li h5 {
    font-size: 20px;
    color: #fff;
    font-weight: 600;
    line-height: 1.35;
    margin: 0 0 20px 0;
    padding-bottom: 20px;
    position: relative;
}

.cheerBox .rightBox ul li h5::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: rgba(255, 255, 255, 0.15); /* 본문과 구분되는 얇은 선 */
}

.cheerBox .rightBox ul li p {
    font-size: 14px;
    color: #b0c2de; /* 시안처럼 살짝 투명하거나 밝은 블루그레이 톤으로 본문 가독성 확보 */
    line-height: 1.6;
    margin: 0;
    word-break: keep-all; /* 한글 단어가 어색하게 깨지는 것 방지 */
}

/* qnaBox */
.qnaBox{
	background: url(../img/relief/qnaBoxBg.jpg) no-repeat center / cover;
	overflow-x: hidden;
}

.qnaBox .tit{
	margin-bottom: 15px;
}

.qnaBox .conTxt{
	margin-bottom: 40px;
}

.qnaBox .slick-list{
	overflow: visible;	
}

.qnaBox .slick-track{
	display: flex;
	gap: 30px;
}

.qnaBox .slideLi{
	background: #fff;
	box-sizing: border-box;
	border-radius: 14px;
	overflow: hidden;
	float: inherit;
	height: auto;
}

.qnaBox .slideLi h5{
	color: #333;
	font-size: 20px;
	line-height: 1.3;
	background: #f7f7f7;
	height: 95px;
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 0 25px;
	position: relative;
}

.qnaBox .slideLi h5::before{
	content:'';
	display: block;
	width: 35px;
	height: 100%;
	top: 0;
	left: 25px;
	background: url(../img/relief/icon_qna.png) no-repeat center / contain;
}

.qnaBox .slideLi p{
	font-size: 16px;
	color: #333;
	line-height: 1.6;
	padding: 30px 25px;
	font-weight: 500;
}


/* reviewBox - 섹션 전체 기본 레이아웃 */
.reviewBox {
    background-color: #f4f5f7; /* 시안의 은은한 밝은 그레이 배경 */
    overflow: hidden;
}
.reviewBox .inner {
    max-width: 100%;
	width: 100%;
    margin: 0 auto;
}

.reviewBox .tit {
    color: #333;
    margin-bottom: 12px;
}
.reviewBox .tit strong {
    color: #f20000;
    font-weight: 700;
}
.reviewBox .conTxt {
    color: #333;
    text-align: center;
    margin-bottom: 50px;
}

.reviewBox .mySwiper2 {
    padding-bottom: 60px;
    position: relative;
	width: 100%;
    overflow: visible;
}

.reviewBox .slideLi .cardBox {
    background: #ffffff;
    border-radius: 20px;
    padding: 35px 30px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04);
    box-sizing: border-box;
    min-height: 240px;
    display: flex;
    flex-direction: column;
    gap: 15px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.reviewBox .slideLi a:hover .cardBox {
    transform: translateY(-5px);
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.08);
}

/* 별점 SVG 스타일 */
.reviewBox .starBox {
    display: flex;
    gap: 3px;
}
.reviewBox .iconStar {
    width: 25px;
    height: 25px;
    fill: #ffcc4d;
}

.reviewBox .txtBox h5 {
    font-size: 18px;
    font-weight: 700;
    color: #111;
    line-height: 1.4;
    margin: 0 0 12px 0;
    
    /* 제목 말줄임 (1줄 초과 방지) */
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.reviewBox .txtBox p {
    font-size: 15px;
    color: #666;
    line-height: 1.6;
    margin: 0;
    word-break: break-all;

    /* 본문 말줄임 처리 (시안처럼 3줄까지만 보여주고 말줄임표 처리) */
    display: -webkit-box;
    -webkit-line-clamp: 3; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.reviewBox .mySwiper2 .swiper-scrollbar {
    position: absolute;
    bottom: 0;
    left: 50%;
	transform: translateX(-50%);
    width: 80%;
	max-width: 1400px;
    height: 6px;
    background: #dedede;
    border-radius: 2px;
}
.reviewBox .mySwiper2 .swiper-scrollbar-drag {
    background: #0a2046; 
    border-radius: 2px;
}

/* contactBox - 섹션 전체 레이아웃 */
.contactBox {
    /* 시안의 딥블루/퍼플 톤 배경 그라데이션 베이스 */
    background: linear-gradient(135deg, #0b112c 0%, #131940 100%);
    background-image: url(../img/relief/contactBoxBg.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    text-align: center;
}

.contactBox .inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.contactBox .tit {
    margin-bottom: 20px;
}

.contactBox .conTxt {
    margin-bottom: 55px;
}

.contactBox ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
    padding: 0;
    margin: 0;
    list-style: none;
}

.contactBox ul li a {
    display: flex;
    flex-direction: column;
    justify-content: space-between; /* 상단 텍스트와 하단 버튼을 양끝 분할 */
    background: rgba(0, 0, 0, 0.7); /* 시안 특유의 아주 어두운 반투명 블랙 */
    border-radius: 20px; /* 라운딩 처리 */
    padding: 40px 30px 30px 30px; /* 하단은 버튼 여백 조절을 위해 살짝 줄임 */
    min-height: 250px; /* 카드들의 높이 통일 */
    text-align: left; /* 카드 내부는 좌측 정렬 */
    text-decoration: none;
    box-sizing: border-box;
    transition: transform 0.3s ease, background 0.3s ease, box-shadow 0.3s ease;
}

.contactBox ul li a:hover {
    transform: translateY(-5px);
    background: rgba(0, 0, 0, 0.8);
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.4);
}

.contactBox .txtBox h5 {
    font-size: 20px;
    color: #fff;
    font-weight: 600;
    margin: 0 0 15px 0;
}

.contactBox .txtBox p {
    font-size: 16px;
    color: #ccc;
    line-height: 1.6;
    margin: 0;
    word-break: keep-all;
}

.contactBox .btn {
    align-self: flex-end; /* flex 내에서 혼자 우측 하단 정렬 */
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #ffffff; /* 기본 버튼 흰색 */
    color: #111;
    font-size: 14px;
    font-weight: 600;
    padding: 8px 18px;
    border-radius: 6px; /* 살짝 각진 둥근 모서리 */
    margin-top: 25px;
    transition: background 0.3s ease;
}

.contactBox .btn img {
    height: 12px; /* 화살표 아이콘 크기 최적화 */
    width: auto;
}

.contactBox ul li:last-child .btn {
    background: #fee500; /* 카카오톡 공식 노란색 변형 반영 */
    color: #111;
}

.contactBox ul li a:hover .btn {
    filter: brightness(0.9);
}

/* formCon */
.formCon{
	background: url(../img/relief/formBg.jpg) no-repeat center / cover;
	background-attachment: fixed !important;
}

.formCon .inner{
	background: #fff;
	box-sizing: border-box;
	border-radius: 40px;
	padding: 50px 5%;
	max-width: 1000px;
}

.formCon .inner h3{
	font-size: 24px;
	line-height: 1;
	font-weight: 600;
	padding-bottom: 20px;
	margin-bottom: 20px;
	border-bottom: 2px solid #2d2a3d;
	text-align: left;
}

.formCon .inner .conTxt{
	color: #7e7d7d;
	font-size: 16px;
	font-weight: 500;
	text-align: left;
}

.formCon .inner .conTxt strong{
	font-weight: 500;
	color: #2a2a2a;
}

.formCon ul li{
	margin-top: 25px;
}

.formCon ul li h5{
	color: #4f4f4f;
	font-size: 16px;
	font-weight: 600;
	margin-bottom: 15px;
	line-height: 1;
}

.formCon ul li .inputBox input,
.formCon ul li .inputBox select,
.formCon ul li .inputBox textarea{
	width: 100%;
	height: 45px;
	box-sizing: border-box;
	padding-left: 10px;
	font-size: 15px;
	border: 0;
	background: #f5f5f7;
	border-radius: 14px;
}

.formCon ul li .inputBox textarea{
	height: 80px;
	padding: 10px;
}

.formCon ul li .checkBox{
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.formCon ul li .checkBox input{
	display: none;
}

.formCon ul li .checkBox label{
	width: calc(100%/3 - 24px/3);
	height: 45px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #f5f5f7;
	font-size: 15px;
	color: #3c3c3c;
	line-height: 1;
	border-radius: 14px;
	cursor: pointer;
}

.formCon ul li .checkBox input:checked + label{
	background: var(--mainCol);
	color: #fff;
}

.formCon .agreeBox{
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 20px 0 20px;
}

.formCon .agreeBox label{
	font-size: 15px;
	margin-left: 8px;
}

.formCon .sendBtn{
	background: #182e4e;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 220px;
	height: 50px;
	color: #fff;
	font-size: 20px;
	font-weight: 600;
	margin: auto;
	border-radius: 15px;
}

/* comeBox - 찾아오시는 길 섹션 전체 */
.comeBox {
    background-color: #f4f5f7; /* 후기 섹션과 동일한 은은한 밝은 그레이 배경 */
    padding: 90px 0;
    text-align: center;
}

.comeBox .inner {
    margin: 0 auto;
    padding: 0 20px;
}

/* 상단 타이틀 (아이콘 + 텍스트 정렬) */
.comeBox .tit {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px; /* 아이콘과 글자 사이 여백 */
    color: #111;
    font-weight: 700;
    margin-bottom: 15px;
    letter-spacing: -0.5px;
}

.comeBox .tit img {
    width: 30px; /* 시안 디자인에 맞춘 아이콘 크기 최적화 */
    height: auto;
}

/* 주소 텍스트 */
.comeBox .conTxt {
    margin-bottom: 45px;
    font-weight: 400;
	color: #333;
}

/* 지도 감싸는 박스 */
.comeBox .mapBox {
    width: 100%;
	max-width: 1000px;
	margin: auto;
    background: #ffffff;
    border: 1px solid #e2e8f0; /* 지도를 감싸는 슬림한 테두리 */
    overflow: hidden; /* 지도가 둥근 테두리 밖으로 삐져나가지 않도록 */
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.03); /* 은은한 그림자 효과 */
}

.comeBox .mapBox > div{
	width: 100%;
}

/* footer */
#footer{
	border-radius: 0 !important;
	background: #020f1b;
}


/* -----------------------------------------
   태블릿 작업
----------------------------------------- */
@media screen and (max-width: 1200px) {
    .cheerBox .inner {
        flex-direction: column; /* 좌측 타이틀이 위로, 카드가 아래로 */
        align-items: center;
        gap: 40px;
    }
    .cheerBox .leftBox {
        width: 100%;
        text-align: center;
        top: 0;
    }
    .cheerBox .rightBox {
        width: 100%;
    }
    .cheerBox .rightBox ul {
        grid-template-columns: repeat(2, 1fr); /* 태블릿에서는 2열로 변경 */
    }
}

/* 태블릿 구간 (화면 폭이 좁아질 때) */
@media screen and (max-width: 1024px) {
    .contactBox ul {
        gap: 15px; /* 여백 축소 */
    }
    .contactBox ul li a {
        padding: 30px 20px 25px 20px;
        min-height: 230px;
    }
    .contactBox .txtBox h5 {
        font-size: 18px;
    }
    .contactBox .btn {
        padding: 6px 14px;
        font-size: 13px;
    }
}

/* -----------------------------------------
   반응형 모바일
----------------------------------------- */
@media screen and (max-width: 768px) {

/* headerR */
.headerR .inner {
	height: 70px;
}

.headerR.on .inner{
	height: 60px;
}

.headerR .inner .logo {
	width: 130px;
	transition: all 0.3s;
}

.headerR.on .inner .logo{
	width: 120px;
}

/* 상담신청 버튼 */
.headerR .inner .goBtn {
	width: 100px;
	height: 35px;
	font-size: 13px;
	border-radius: 8px;
}

.headerR.on .inner .goBtn{
	width: 90px;
	height: 35px;
}

/* quickR */
.quickR{
	right: 3vw;
	bottom: 3vw;
	width: 70px;
	padding: 5px;
	transform: translateX(150px);
	opacity: 0;
	width: auto;
	height: 66px;
	display: flex;
	/* background: linear-gradient(45deg, #2871fa, #6717cd); */
}

.quickR.on{
	transform: translateX(0px);
	opacity: 1;
}

.quickR ul{
	padding-top: 0px;
	display: flex;
	
}

.quickR ul li{
	margin-bottom: 0px;
}

.quickR ul li a{
	gap: 5px;
	width: 56px;
	height: 56px;
}

.quickR ul li a img{
	width: 22px;
}

.quickR ul li.telLi a img{
	width: 20px;
}

.quickR ul li a span{
	font-size: 10px;
}

.quickR button{
	width: 56px;
	height: 56px;
	font-size: 14px;
}

/* section */
.section{
	padding: 18vw 0;
}

.tit{
	font-size: 6vw;
}

.tit .sm{
	font-size: 0.85em;
}

.conTxt{
	font-size: 3.5vw;
}

/* visual */
.visual{
	background: url(../img/relief/visualBg_m.jpg) no-repeat center bottom / cover;
	height: auto;
	padding-top: calc(70px + 10vw);
	display: flex;
	align-items: center;
	align-content: flex-end;
	flex-wrap: wrap;
}

.visual .inner{
	width: 100%;
}

.visual .txtBox{
	display: none;
}

.visual .imgBox img{
	width: auto;
	max-height: 92vh;
}

/* applyBox */
.applyBox{
	background: url(../img/relief/applyBoxBg.jpg) no-repeat center right / cover;
}

.applyBox .check_icon_wrap {
    width: 16vw;
    height: 16vw;
    margin: 0 auto 5vw;
}

.applyBox ul{
	flex-wrap: wrap;
	gap: 5vw;
	margin-top: 7vw;
}

.applyBox ul li{
	padding: 5vw;
	border-radius: 4vw;
	width: 100%;
}

.applyBox ul li .imgBox{
	width: 80px;
}

.applyBox ul li h3{
	font-size: 4vw;
	margin: 3vw 0;
}

.applyBox ul li p{
	font-size: 3.5vw;
}

/* kindBox */
.kindBox ul{
	margin-top: 7vw;
	gap: 5vw;
}

.kindBox ul li{
	width: calc(100%/2 - 3vw/2);
	width: 100%;
	border-radius: 3vw;
	box-shadow: rgba(0,0,0,0.1) 0 0 3vw;
}

.kindBox ul li .txtBox{
	padding: 4vw;
}

.kindBox ul li .txtBox h5{
	font-size: 4vw;
}

/* noneCountBox */
.noneCountBox .inner{
	flex-wrap: wrap;
	justify-content: center;
	gap: 7vw;
}

.noneCountBox .leftBox{
	background: url(../img/relief/simbol.png) no-repeat right bottom / auto 60%;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-content: center;
	align-items: center;
	text-align: left;
	max-width: 100%;
	width: 100%;
	height: auto;
	padding-left: 0%;
}

.noneCountBox .leftBox .tit{
	/* text-align: left; */
	margin-bottom: 3vw;
	width: 100%;
}

.noneCountBox .leftBox .tit .line{
	display: inline-block;
	color: #f9dc93;
	position: relative;
}

.noneCountBox .leftBox .tit .line::after{
	content: '';
	display: block;
	width: 100%;
	height: 2px;
	background: #f9dc93;
	position: absolute;
	bottom: 0;
	left: 0;
}

.noneCountBox .leftBox ul li{
	gap: 2vw;
}

.noneCountBox .leftBox ul li + li{
	margin-top: 3vw;
}

.noneCountBox .leftBox ul li .fa{
	font-size: 3.5vw;
	margin-top: 0.5vw;
}

.noneCountBox .leftBox ul li span{
	font-size: 3.5vw;
}

.noneCountBox .rightBox{
	width: 100%;
}


/* countBox */
.countBox .inner{
	flex-wrap: wrap;
	justify-content: center;
	gap: 12vw;
}

.countBox .leftBox{
	background: url(../img/relief/simbol.png) no-repeat right bottom / auto 80%;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-content: center;
	align-items: center;
	text-align: left;
	max-width: 100%;
	width: 100%;
	height: auto;
	padding-left: 0%;
}

.countBox .leftBox .tit{
	text-align: left;
	margin-bottom: 3vw;
	width: 100%;
}

.countBox .leftBox p{
	font-size: 3.5vw;
	text-align: left;
	width: 100%;
}

.countBox .rightBox{
	width: 100%;
}

.countBox .rightBox h3{
	font-size: 6vw;
	margin-bottom: 5vw;
}

.countBox .rightBox p{
	font-size: 15vw;
	line-height: 1;
}

.countBox .rightBox p strong{
	font-size: 20vw;
}

.countBox .rightBox p .plus{
	font-size: 15vw;
}

/* sucCase */
.section.sucCase .inner {
  padding: 0 0;
}
.section.sucCase .tit {
  margin-bottom: 5vw;
}

.sucCase .mySwiper {
  padding-bottom: 7vw; /* 하단 스크롤바가 들어갈 공간 확보 */
}

.sucCase .slideLi{
	height: auto;
}

.sucCase .slideLi a {
  box-shadow: 0 4px 4vw rgba(0,0,0,0.05);
}
.sucCase .slideLi a:hover {
  transform: translateY(0px); /* 호버 시 가벼운 업 효과 */
}

.sucCase .slideLi.no-data p{
	font-size: 3.5vw !important;
}

.sucCase .imgBox {
  width: 100%;
  padding-top: 105%;
}

.sucCase .txtBox {
  padding: 3vw 5vw;
  height: 12vw;
  display: flex;
  align-items: center;
}
.sucCase .txtBox h5 {
  font-size: 3vw;
  line-height: 12vw;
}

.sucCase .mySwiper .swiper-scrollbar {
  height: 6px;
}


/* cheerBox - 섹션 전체 배경 및 레이아웃 */
.cheerBox {
    background-image: url(../img/relief/cheerBg.jpg);
    padding: 15vw 0;
} 

.cheerBox .inner {
    gap: 7vw;
}

.cheerBox .leftBox {
    width: 100%;
    top: 0px; /* 우측 박스들과 시각적 밸런스를 맞추기 위한 상단 여백 */
}

.cheerBox .leftBox .tit {
	text-align: center;
}

.cheerBox .rightBox {
    width: 100%;
}

.cheerBox .rightBox ul {
    grid-template-columns: repeat(2, 1fr); /* 모바일에서는 세로로 1줄씩 배치 */
    gap: 3vw; /* 카드 사이의 여백 */
}

.cheerBox .rightBox ul li {
    background: linear-gradient(135deg, #002243 0%, #002243 50%, #00284f 50%, #00284f 100%);
    border-radius: 3vw; /* 부드러운 라운딩 */
    padding: 5vw 4vw;
    min-height: auto;
    box-shadow: 0 2vw 5vw rgba(0, 0, 0, 0.25);
    backdrop-filter: blur(4px);
}

.cheerBox .rightBox ul li:hover {
    background: linear-gradient(135deg, #002b54 0%, #003364 100%);
    border-color: rgba(255, 255, 255, 0.25);
    transform: translateY(0px);
}

.cheerBox .rightBox ul li h5 {
    font-size: 4vw;
    margin: 0 0 4vw 0;
    padding-bottom: 4vw;
}

.cheerBox .rightBox ul li h5::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: rgba(255, 255, 255, 0.15); /* 본문과 구분되는 얇은 선 */
}

.cheerBox .rightBox ul li p {
    font-size: 3.5vw;
    color: #b0c2de; /* 시안처럼 살짝 투명하거나 밝은 블루그레이 톤으로 본문 가독성 확보 */
    line-height: 1.6;
    margin: 0;
    word-break: keep-all; /* 한글 단어가 어색하게 깨지는 것 방지 */
}

.cheerBox .rightBox p br{
    display: none; /* 모바일 좁은 화면에서 하드코딩된 <br> 태그 무력화 */
}

/* qnaBox */
.qnaBox{
	background: url(../img/relief/qnaBoxBg.jpg) no-repeat center / cover;
}

.qnaBox .tit{
	margin-bottom: 3vw;
}

.qnaBox .conTxt{
	margin-bottom: 6vw;
}

.qnaBox .slick-track{
	gap: 3vw;
}

.qnaBox .slideLi{
	border-radius: 3vw;
}

.qnaBox .slideLi h5{
	font-size: 4vw;
	height: 15vw;
	gap: 2vw;
	padding: 0 4vw;
}

.qnaBox .slideLi h5::before{
	width: 5vw;
	left: 4vw;
	background: url(../img/relief/icon_qna.png) no-repeat center / contain;
}

.qnaBox .slideLi p{
	font-size: 3.5vw;
	padding: 5vw 4vw;
}


/* reviewBox - 섹션 전체 기본 레이아웃 */
.reviewBox .tit {
    margin-bottom: 3vw;
}

.reviewBox .conTxt {
    margin-bottom: 7vw;
}

.reviewBox .mySwiper2 {
    padding-bottom: 0vw;
}

.reviewBox .slideLi .cardBox {
    border-radius: 4vw;
    padding: 5vw;
    box-shadow: 0 2vw 5vw rgba(0, 0, 0, 0.04);
    min-height: 20vw;
    gap: 3vw;
}
.reviewBox .slideLi a:hover .cardBox {
    transform: translateY(0px);
    box-shadow: 0 3vw 5vw rgba(0, 0, 0, 0.08);
}

.reviewBox .slideLi.no-data p{
	font-size: 3.5vw !important;
}

.reviewBox .starBox {
    gap: 2px;
}
.reviewBox .iconStar {
    width: 5vw;
    height: 5vw;
}

.reviewBox .txtBox h5 {
    font-size: 4vw;
    margin: 0 0 2vw 0;
}
.reviewBox .txtBox p {
    font-size: 3vw;
    -webkit-line-clamp: 3; 
}

.reviewBox .mySwiper2 .swiper-scrollbar {
    position: absolute;
    bottom: 0;
    left: 50%;
	transform: translateX(-50%);
    width: 80%;
	max-width: 1400px;
    height: 6px;
    background: #dedede;
    border-radius: 2px;
	display: none !important;
}
.reviewBox .mySwiper2 .swiper-scrollbar-drag {
    background: #0a2046; 
    border-radius: 2px;
}

/* contactBox - 섹션 전체 레이아웃 */
.contactBox{
	padding: 15vw 0;
}

.contactBox .inner {
    padding: 0 4vw;
}

.contactBox .tit {
    margin-bottom: 4vw;
}

.contactBox .conTxt {
    margin-bottom: 7vw;
}

.contactBox ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
	grid-template-columns: 1fr;
    gap: 3vw;
    padding: 0;
    margin: 0;
    list-style: none;
}

.contactBox ul li a {
    display: flex;
    flex-direction: column;
    justify-content: space-between; /* 상단 텍스트와 하단 버튼을 양끝 분할 */
    background: rgba(0, 0, 0, 0.7); /* 시안 특유의 아주 어두운 반투명 블랙 */
    border-radius: 20px; /* 라운딩 처리 */
    padding: 5vw; /* 하단은 버튼 여백 조절을 위해 살짝 줄임 */
    min-height: auto; /* 카드들의 높이 통일 */
    text-align: left; /* 카드 내부는 좌측 정렬 */
    text-decoration: none;
    box-sizing: border-box;
    transition: transform 0.3s ease, background 0.3s ease, box-shadow 0.3s ease;
}

.contactBox ul li a:hover {
    transform: translateY(0px);
    background: rgba(0, 0, 0, 0.8);
    box-shadow: 0 3vw 5vw rgba(0, 0, 0, 0.4);
}

.contactBox .txtBox h5 {
    font-size: 4.5vw;
    margin: 0 0 3vw 0;
}

.contactBox .txtBox p {
    font-size: 3.5vw;
}

.contactBox .btn {
    gap: 1vw;
    font-size: 3.5vw;
    padding: 1vw 3vw;
    border-radius: 1vw; /* 살짝 각진 둥근 모서리 */
    margin-top: 4vw;
}

.contactBox .btn img {
    height: 3vw; /* 화살표 아이콘 크기 최적화 */
    width: auto;
}

.contactBox ul li a:hover .btn {
    filter: brightness(0.9);
}
    

/* formCon */
.formCon{
	background: url(../img/relief/formBg.jpg) no-repeat center / cover;
}

.formCon .inner{
	border-radius: 5vw;
	padding: 8vw 5%;
}

.formCon .inner h3{
	font-size: 5vw;
	padding-bottom: 4vw;
	margin-bottom: 4vw;
	border-bottom: 2px solid #2d2a3d;
}

.formCon .inner .conTxt{
	font-size: 3.5vw;
}

.formCon ul li{
	margin-top: 5vw;
}

.formCon ul li h5{
	font-size: 3.5vw;
	margin-bottom: 3vw;
}

.formCon ul li .inputBox input,
.formCon ul li .inputBox select,
.formCon ul li .inputBox textarea{
	width: 100%;
	height: 10vw;
	padding-left: 10px;
	font-size: 3vw;
	border-radius: 2vw;
}

.formCon ul li .inputBox textarea{
	height: 30vw;
	padding: 2vw;
}

.formCon ul li .checkBox{
	gap: 3vw;
}

.formCon ul li .checkBox label{
	width: calc(100%/2 - 3vw/2);
	height: 10vw;
	font-size: 3vw;
	border-radius: 2vw;
}

.formCon .agreeBox{
	margin: 4vw 0;
}

.formCon .agreeBox input{
	width: 3vw;
}

.formCon .agreeBox label{
	font-size: 3vw;
	margin-left: 8px;
}

.formCon .sendBtn{
	width: 70%;
	height: 12vw;
	font-size: 4vw;
	border-radius: 3vw;
}

/* comeBox - 찾아오시는 길 섹션 전체 */
.comeBox {
    background-color: #f4f5f7; /* 후기 섹션과 동일한 은은한 밝은 그레이 배경 */
    text-align: center;
}

.comeBox .inner {
    margin: 0 auto;
    padding: 0;
}

.comeBox .tit {
    gap: 1vw; /* 아이콘과 글자 사이 여백 */
    margin-bottom: 3vw;
}

.comeBox .tit img {
    width: 5vw; /* 시안 디자인에 맞춘 아이콘 크기 최적화 */
}

.comeBox .mapBox {
    box-shadow: 0 2vw 4vw rgba(0, 0, 0, 0.03); /* 은은한 그림자 효과 */
}

.comeBox .conTxt {
	margin-bottom: 7vw;
	word-break: keep-all; /* 주소가 애매하게 끊겨 줄바꿈되는 것 방지 */
}

.comeBox .mapBox > div{
	width: 100%;
}


/* footer */
#footer{
	border-radius: 0 !important;
	background: #020f1b;
}
	
}
