@charset "UTF-8";
@import '/css/reset.css';
@import '/css/Common.css';

/***************************************/
/* 주요기능 서브 키 피처 섹션 */
.subKeyFeatures {background-color: #f2f8ff; padding: 20px 0 20px; position: relative; margin-top: 35px;}
.subKeyFeatures-container {max-width: 1400px; margin: 0 auto; padding: 0 20px;}
.subKeyFeatures-gnb {
	display: flex; 
	justify-content: center; 
	margin-bottom: 60px; 
	position: absolute; 
	top: -40px; left: 0; 
	right: 0; z-index: 10; 
	padding: 0 20px;
	opacity: 0;
	transform: translateY(-20px);
	animation: fadeInDown 0.8s ease-out 0.1s forwards;
}
.subKeyFeatures-gnbBox {
    display: flex;
    background-color: #4682ee;
    border-radius: 50px;
    padding: 25px 50px;
    box-shadow: 0 4px 16px rgba(90, 125, 232, 0.2);
}
.subKeyFeatures-gnbItem {
    padding: 0 20px;
    color: white;
    font-size: 18px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    white-space: nowrap;
    position: relative;
    line-height: 1.4;
    letter-spacing: -0.5px;
}
.subKeyFeatures-gnbItem:hover {opacity: 0.5;}
.subKeyFeatures-gnbItem.active {font-weight: 600;}
.subKeyFeatures-gnbItem.active::after {
    content: '';
    position: absolute;
    bottom: -8px;
    left: 50%;
    transform: translateX(-50%);
    width: 80%;
    height: 2px;
    background-color: white;
}
.subKeyFeatures-content {display: flex; align-items: center; gap: 60px; position: relative;}
.subKeyFeatures-textArea {flex: 0 0 480px; opacity: 0; transform: translateX(-50px); animation: fadeInLeft 1s ease-out 0.3s forwards;}
.subKeyFeatures-title {font-size: 40px; font-weight: 700; color: #1a1a1a; margin-bottom: 28px; line-height: 1.2;}
.subKeyFeatures-description {font-size: 20px; font-weight: 500; line-height: 1.5; color: #666; margin-bottom: 40px;}
.sub-detileTxt {width: 100%; display: flex; font-size: 18px; font-weight: 500; padding: 40px 20px;}
.subKeyFeatures-buttons {display: flex; gap: 16px;}
.subKeyFeatures-btn {
    padding: 16px 30px;
    font-size: 17px;
    font-weight: 600;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    text-align: center;
    white-space: nowrap;
}
.subKeyFeatures-btnOutline {background-color: white; color: #4a6be8; border: 1px solid #3f80ea;}
.subKeyFeatures-btnOutline:hover {
    background-color: #3f80ea;
    color: white;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(74, 107, 232, 0.3);
}
.subKeyFeatures-btn i {
    font-size: 16px;
    transition: transform 0.3s ease;
}
.subKeyFeatures-btn:hover i {
    transform: translateX(2px);
}
.subKeyFeatures-btnPrimary {background-color: #3f80ea; color: white;}
.subKeyFeatures-btnPrimary:hover {background-color: #3f80ea; transform: translateY(-2px); box-shadow: 0 4px 12px rgba(74, 107, 232, 0.4);}
.subKeyFeatures-imageArea {
	flex: 1;
	display: flex;
	justify-content: flex-end;
	position: relative;
	opacity: 0;
	transform: translateX(50px);
	animation: fadeInRight 1s ease-out 0.5s forwards;
	z-index: 10;
}
.subKeyFeatures-image {object-fit: cover; position: relative; z-index: 5; transform: translateY(80px);}
@keyframes fadeInDown {
	from {opacity: 0; transform: translateY(-10px);}
	to {opacity: 1;	transform: translateY(0);}
}
@keyframes fadeInLeft {
	from {opacity: 0; transform: translateX(-50px);}
	to {opacity: 1;	transform: translateX(0);}
}
@keyframes fadeInRight {
	from {opacity: 0; transform: translateX(50px);}
	to {opacity: 1; transform: translateX(0);}
}

@keyframes fadeInLeft {
	from {opacity: 0; transform: translateY(30px);}
	to {opacity: 1; transform: translateY(0);}
}
@keyframes fadeInRight {
	from {opacity: 0; transform: translateY(30px);}
	to {opacity: 1; transform: translateY(0);}
}

@media (max-width: 1200px) {
	.subKeyFeatures {margin-top: 30px;}
	.subKeyFeatures-gnb {top: -30px;}
    .subKeyFeatures-content {flex-direction: column; gap: 40px; text-align: center;}
	.subKeyFeatures-title {font-size: 30px; margin-top: 30px;}
    .subKeyFeatures-textArea {flex: none; max-width: 100%; margin-top: 60px; transform: translateY(30px);}
    .subKeyFeatures-image {width: 100%; transform: translateY(40px);}
    .subKeyFeatures-gnbBox {padding: 20px 30px;}
	.subKeyFeatures-buttons {flex-direction: column; gap: 12px; align-items: center;}
    .subKeyFeatures-gnbItem {padding: 0 15px; font-size: 16px;}
    .subKeyFeatures-imageArea {transform: translateY(30px);}
}
@media (max-width: 768px) {
    .subKeyFeatures {margin-top: 60px;}
    .subKeyFeatures-gnb {top: -30px; padding: 0 15px;}
    .subKeyFeatures-gnbBox {flex-wrap: wrap; gap: 8px; border-radius: 12px; justify-content: center;}
    .subKeyFeatures-gnbItem {
        padding: 8px 16px;
        font-size: 14px;
        background-color: rgba(255, 255, 255, 0.15);
        border-radius: 6px;
        backdrop-filter: blur(5px);
        margin: 2px;
        border: 1px solid rgba(255, 255, 255, 0.2);
    }
    .subKeyFeatures-gnbItem.active {background-color: rgba(255, 255, 255, 0.25); border: 1px solid rgba(255, 255, 255, 0.4);}
    .subKeyFeatures-gnbItem.active::after {display: none;}
    .subKeyFeatures-title {font-size: 28px; margin-top: 60px;}
    .subKeyFeatures-description {font-size: 16px; font-weight: 500;}
    .subKeyFeatures-buttons {flex-direction: column; gap: 12px; align-items: center;}
    .subKeyFeatures-btn {width: 100%; max-width: 300px; margin: 0 auto; padding: 14px 30px; font-size: 16px;}
    .subKeyFeatures-image {transform: translateY(10px);}
}
@media (max-width: 480px) {
	.sub-detileTxt {font-size: 16px; line-height: 1.5;}
    .subKeyFeatures-gnb {padding: 0 10px;}
    .subKeyFeatures-gnbBox {padding: 15px 20px; border-radius: 10px; gap: 6px;}
    .subKeyFeatures-gnbItem {padding: 6px 12px; font-size: 12px; border-radius: 4px; line-height: 1.3; letter-spacing: -0.3px;}
    .subKeyFeatures-title {font-size: 24px;}
    .subKeyFeatures-description {font-size: 15px;}
    .subKeyFeatures-buttons {align-items: center;}
    .subKeyFeatures-btn {padding: 12px 25px; font-size: 15px; gap: 6px;}
    .subKeyFeatures-btn i {font-size: 14px;}
}
/***************************************/
/* 주요기능 카드스타일 */
.subKeyFeatures-cardSection {padding: 60px 0; position: relative;}
.subKeyFeatures-cardContainer {max-width: 1400px; margin: 0 auto; padding: 0 20px; position: relative; z-index: 2;}
.subKeyFeatures-cardGrid {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 15px;
	padding-top: 30px;
}
.subKeyFeatures-cardItem {
	flex: 0 0 calc(25% - 11.25px);
	max-width: 320px;
	border-radius: 12px;
	padding: 60px 20px;
	text-align: center;
	transition: all 0.3s ease;
}
.subKeyFeatures-cardItem:hover {transform: translateY(-5px); box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);}
.subKeyFeatures-cardItem:nth-child(1) {background-color: #fff9f9; border: 1px solid #f6dbdb;}
.subKeyFeatures-cardItem:nth-child(2) {background-color: #f2f9ff; border: 1px solid #d5e5f3;}
.subKeyFeatures-cardItem:nth-child(3) {background-color: #fefae8; border: 1px solid #f4edcc;}
.subKeyFeatures-cardItem:nth-child(4) {background-color: #f4fee8; border: 1px solid #ecf3cc;}
.subKeyFeatures-cardTitle {
	display: inline-block;
	background-color: #fff;
	border: 1px solid #e0e0e0;
	border-radius: 50px;
	padding: 15px 25px;
	font-size: 17px;
	font-weight: 700;
	color: #333;
	margin-bottom: 20px;
	line-height: 1.3;
}
.subKeyFeatures-cardItem:nth-child(1) .subKeyFeatures-cardTitle {border: 1px solid #f6dbdb;}
.subKeyFeatures-cardItem:nth-child(2) .subKeyFeatures-cardTitle {border: 1px solid #d5e5f3;}
.subKeyFeatures-cardItem:nth-child(3) .subKeyFeatures-cardTitle {border: 1px solid #f4edcc;}
.subKeyFeatures-cardItem:nth-child(4) .subKeyFeatures-cardTitle {border: 1px solid #ecf3cc;}
.subKeyFeatures-cardIcon {margin: 0 auto 25px; display: block;}
.subKeyFeatures-cardDesc {font-size: 14px; font-weight: 600; color: #666; line-height: 1.6; margin-bottom: 0;}
@media (max-width: 1200px) {
	.subKeyFeatures-cardSection {margin-top: -40px;}
	.subKeyFeatures-cardItem {flex: 0 0 calc(50% - 7.5px);}
}
@media (max-width: 768px) {
	.subKeyFeatures-cardSection {margin-top: -100px; padding: 60px 0;}
	.subKeyFeatures-cardGrid {gap: 20px;}
	.subKeyFeatures-cardItem {flex: 0 0 100%; padding: 30px 20px;}
}
@media (max-width: 480px) {
	.subKeyFeatures-cardItem {padding: 25px 15px;}
	.subKeyFeatures-cardTitle {font-size: 14px; padding: 8px 16px;}
	.subKeyFeatures-cardDesc {font-size: 13px;}
	.subKeyFeatures-cardIcon {width: 60px; height: 60px;}
}

/***************************************/
/* 요금정책 섹션 */
.pricingPolicy {background-color: #f2f8ff; padding: 40px 0; position: relative; margin-top: 35px;}
.pricingPolicy:first-of-type {margin-top: 35px;}
.pricingPolicy:not(:first-of-type) {margin-top: 60px;}
.pricingPolicy-container {max-width: 1400px; margin: 0 auto; padding: 0 20px;}
.pricingPolicy-content {display: flex; align-items: center; gap: 60px; position: relative;}
.pricingPolicy-textArea {
	flex: 0 0 480px; 
	opacity: 0; 
	transform: translateX(-50px); 
	animation: fadeInLeft 1s ease-out 0.5s forwards;
	background: linear-gradient(135deg, #1e3c72 0%, #2a5298 100%);
	padding: 40px 30px;
	border-radius: 20px;
	color: white;
	text-align: center;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
}
.pricingPolicy-title {
	font-size: 28px; 
	font-weight: 700; 
	color: white; 
	margin-bottom: 20px; 
	line-height: 1.2;
	text-transform: uppercase;
	letter-spacing: 1px;
}
.pricingPolicy-planInfo {
	margin-bottom: 30px;
}
.pricingPolicy-volume {
	font-size: 24px;
	font-weight: 600;
	color: white;
	margin-bottom: 25px;
}
.pricingPolicy-pricing {
	text-align: center;
	margin-bottom: 30px;
}
.pricingPolicy-originalPrice {
	font-size: 16px;
	color: rgba(255, 255, 255, 0.6);
	text-decoration: line-through;
	margin-bottom: 5px;
}
.pricingPolicy-finalPrice {
	font-size: 36px;
	font-weight: 700;
	color: #ffd700;
}
.pricingPolicy-features {
	margin-bottom: 30px;
}
.pricingPolicy-featureList {
	list-style: none;
	padding: 0;
	margin: 0;
	text-align: left;
}
.pricingPolicy-featureItem {
	font-size: 14px;
	color: white;
	padding: 8px 0;
	position: relative;
	padding-left: 25px;
	margin-bottom: 5px;
}
.pricingPolicy-featureItem::before {
	content: '✓';
	position: absolute;
	left: 0;
	color: #4CAF50;
	font-weight: bold;
	font-size: 16px;
}
.pricingPolicy-buttons {display: flex; gap: 12px; justify-content: center;}
.pricingPolicy-btn {
    padding: 12px 30px;
    font-size: 16px;
    font-weight: 600;
    border: none;
    border-radius: 25px;
    cursor: pointer;
    transition: all 0.3s ease;
    text-decoration: none;
    display: inline-block;
    text-align: center;
}
.pricingPolicy-btnOutline {
	background-color: transparent; 
	color: white; 
	border: 2px solid white;
}
.pricingPolicy-btnOutline:hover {
    background-color: white;
    color: #1e3c72;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(255, 255, 255, 0.3);
}
.pricingPolicy-imageArea {
	flex: 1;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	opacity: 0;
	transform: translateX(50px);
	animation: fadeInRight 1s ease-out 0.8s forwards;
	z-index: 10;
}
.pricingPolicy-image {
	max-width: 200px;
	height: auto;
	filter: drop-shadow(0 10px 20px rgba(0, 0, 0, 0.2));
}

@media (max-width: 1200px) {
	.pricingPolicy:not(:first-of-type) {margin-top: 50px;}
    .pricingPolicy-content {flex-direction: column; gap: 30px; text-align: center;}
    .pricingPolicy-textArea {flex: none; max-width: 100%; margin-top: 30px; transform: translateY(30px);}
    .pricingPolicy-imageArea {transform: translateY(30px); order: -1;}
    .pricingPolicy-image {max-width: 120px;}
}
@media (max-width: 768px) {
    .pricingPolicy {margin-top: 30px; padding: 30px 0;}
    .pricingPolicy:not(:first-of-type) {margin-top: 30px;}
    .pricingPolicy-textArea {padding: 30px 20px; margin-top: 10px;}
    .pricingPolicy-title {font-size: 24px;}
    .pricingPolicy-volume {font-size: 20px; margin-bottom: 20px;}
    .pricingPolicy-finalPrice {font-size: 28px;}
    .pricingPolicy-featureItem {font-size: 13px; padding: 6px 0;}
    .pricingPolicy-buttons {flex-direction: column; gap: 10px;}
    .pricingPolicy-btn {width: 100%; max-width: 200px; margin: 0 auto; padding: 12px 20px; font-size: 14px;}
    .pricingPolicy-image {max-width: 100px;}
}
@media (max-width: 480px) {
    .pricingPolicy-textArea {padding: 25px 15px;}
    .pricingPolicy-title {font-size: 20px;}
    .pricingPolicy-volume {font-size: 18px;}
    .pricingPolicy-finalPrice {font-size: 24px;}
    .pricingPolicy-featureItem {font-size: 12px;}
    .pricingPolicy-image {max-width: 80px;}
}

/***********************************/
/* 로켓그로스 */
.rocket-subKeyFeatures-img {display: flex; justify-content: center; margin-top: -50px;}
.rocket-subKeyFeatures-content {display: flex; align-items: center; justify-content: space-between; padding: 80px 0;}
.rocket-subKeyFeatures-textArea {
   display: flex; 
   align-items: flex-start; 
   gap: 20px;
   opacity: 0;
   transform: translateX(-50px);
   animation: fadeInLeft 1s ease-out 0.5s forwards;
}
.rocket-subKeyFeatures-textContent {flex: 1;}
.rocket-subKeyFeatures-icon {
   display: flex;
   align-items: center;
   justify-content: center;
   position: relative;
   margin: 25px 20px 0 0;
}
.rocket-subKeyFeatures-icon img {width: auto; height: auto;}
.rocket-subKeyFeatures-title {font-size: 40px; font-weight: 700; color: #1a1a1a; margin-bottom: 16px; line-height: 1.2;}
.rocket-subKeyFeatures-description {font-size: 20px; font-weight: 500; line-height: 1.5; color: #666; margin-bottom: 0;}
.rocket-subKeyFeatures-buttonArea {
   display: flex; 
   gap: 16px; 
   align-items: center;
   opacity: 0;
   transform: translateX(50px);
   animation: fadeInRight 1s ease-out 0.7s forwards;
}
.rocket-subKeyFeatures-buttonItem {
   padding: 16px 50px;
   font-size: 20px;
   font-weight: 600;
   border: none;
   border-radius: 8px;
   cursor: pointer;
   transition: all 0.3s ease;
   text-decoration: none;
   display: inline-block;
   text-align: center;
}
.rocket-subKeyFeatures-buttonOutline {background-color: white; color: #4a6be8; border: 1px solid #3f80ea;}
.rocket-subKeyFeatures-buttonOutline:hover {
   background-color: #3f80ea; 
   color: white; 
   transform: translateY(-2px); 
   box-shadow: 0 4px 12px rgba(74, 107, 232, 0.3);
}
.rocket-subKeyFeatures-buttonPrimary {background-color: #3f80ea; color: white;}
.rocket-subKeyFeatures-buttonPrimary:hover {
   background-color: #3668d4; 
   transform: translateY(-2px); 
   box-shadow: 0 4px 12px rgba(74, 107, 232, 0.4);
}
@keyframes fadeInLeft {
   to {opacity: 1; transform: translateX(0);}
}
@keyframes fadeInRight {
   to {opacity: 1; transform: translateX(0);}
}
@media (max-width: 1200px) {
    .rocket-subKeyFeatures-content {flex-direction: column; gap: 40px; text-align: center; padding: 60px 0;}
    .rocket-subKeyFeatures-textArea {justify-content: center;}
    .rocket-subKeyFeatures-buttonArea {justify-content: center;}
}
@media (max-width: 768px) {
    .rocket-subKeyFeatures-content {padding: 40px 0;}
    .rocket-subKeyFeatures-textArea {flex-direction: column; align-items: center; gap: 15px;}
    .rocket-subKeyFeatures-icon {margin: 0 0 10px 0;}
    .rocket-subKeyFeatures-title {font-size: 28px; margin-bottom: 12px;}
	.rocket-subKeyFeatures-img {padding: 0 10px;}
    .rocket-subKeyFeatures-description {font-size: 16px;}
    .rocket-subKeyFeatures-buttonArea {flex-direction: column; gap: 12px; width: 100%;}
    .rocket-subKeyFeatures-buttonItem {width: 100%; max-width: 300px; padding: 14px 30px; font-size: 16px;}
}
@media (max-width: 480px) {
   .rocket-subKeyFeatures-content {padding: 30px 0;}
    .rocket-subKeyFeatures-icon img {margin-top: 80px; padding: 0 10px;}
    .rocket-subKeyFeatures-title {font-size: 24px;}
    .rocket-subKeyFeatures-description {font-size: 15px;}
    .rocket-subKeyFeatures-buttonItem {padding: 12px 25px; font-size: 15px;}
}

/***********************************/
/* 체험·컨설팅 신청 페이지 */
.consultation-section {padding: 80px 0;}
.consultation-container {max-width: 1500px; margin: 0 auto; padding: 0 20px; display: flex; gap: 40px; align-items: flex-start;}
/* 좌측 정보 섹션 */
.consultation-info {flex: 1; background-color: #f2f8ff; border-radius: 50px; border: 1PX solid #ddeaf9; padding: 70px 60px;}
.consultation-info-title {font-size: 40px; letter-spacing: inherit; font-weight: 700; color: #1a1a1a; margin-bottom: 12px; line-height: 1.3;}
.consultation-info-desc {font-size: 17px; font-weight: 600; color: #666; margin-bottom: 40px; line-height: 1.6;}
.consultation-features {margin-bottom: 40px;}
.consultation-feature-item {display: flex; align-items: flex-start; gap: 16px; margin-bottom: 24px;}
.consultation-feature-icon {width: 48px; height: 48px; flex-shrink: 0; margin-top: 4px;}
.consultation-feature-content {flex: 1;}
.consultation-feature-text {font-size: 14px; color: #333; line-height: 1.6; margin: 0;}
.consultation-feature-text .highlight {color: #e74c3c; font-weight: 600;}

.consultation-details {background-color: #f8f9fa; border-radius: 12px; padding: 24px; margin-bottom: 30px;}
.consultation-details-title {font-size: 16px; font-weight: 700; color: #1a1a1a; margin-bottom: 16px;}
.consultation-details-list {list-style: none; padding: 0; margin: 0;}
.consultation-details-list li {font-size: 14px; color: #555; line-height: 1.6; margin-bottom: 8px; position: relative; padding-left: 12px;}
.consultation-details-list li::before {content: "◦"; position: absolute; left: 0; color: #4682ee; font-weight: bold;}
/* 체크박스 동의 섹션 */
.consultation-agreement {background-color: #f8f9fa; border: 1px solid #e9ecef; border-radius: 8px; padding: 16px;}
.consultation-agreement-label {display: flex; align-items: flex-start; gap: 12px; cursor: pointer; font-size: 14px; line-height: 1.5;}
.consultation-agreement-checkbox {position: absolute; opacity: 0; cursor: pointer;}
.consultation-agreement-checkmark {
	width: 20px;
	height: 20px;
	background-color: white;
	border: 2px solid #dc2626;
	border-radius: 4px;
	flex-shrink: 0;
	position: relative;
	transition: all 0.2s ease;
}
.consultation-agreement-checkmark::after {
	content: "";
	position: absolute;
	display: none;
	left: 6px;
	top: 2px;
	width: 5px;
	height: 10px;
	border: solid white;
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}
.consultation-agreement-checkbox:checked + .consultation-agreement-checkmark {background-color: #dc2626; border-color: #dc2626;}
.consultation-agreement-checkbox:checked + .consultation-agreement-checkmark::after {display: block;}
.consultation-agreement-text {color: #333; font-weight: 600; flex: 1;}
.consultation-agreement-text .required {color: #dc2626; font-weight: 700;}
/* 약관 섹션 스타일 */
.consultation-terms {margin-bottom: 40px;}
.consultation-terms-title {font-size: 16px; font-weight: 700; color: #1a1a1a; margin-bottom: 16px;}
.consultation-terms-content {margin-bottom: 20px;}
.consultation-terms-content p {font-size: 14px; color: #555; line-height: 1.6; margin-bottom: 12px;}
.consultation-terms-content ul {list-style: none; padding: 0; margin: 0;}
.consultation-terms-content li {font-size: 14px; color: #555; line-height: 1.6; margin-bottom: 8px; position: relative; padding-left: 12px;}
.consultation-terms-content li::before {content: "◦"; position: absolute; left: 0; color: #4682ee; font-weight: bold;}
/* 스크롤 가능한 약관 상세 내용 */
.consultation-terms-scroll {max-height: 280px; overflow-y: auto; border: 1px solid #e0e0e0; border-radius: 8px; padding: 20px; background-color: #fdfdfd; margin-top: 16px;}
.consultation-terms-scroll::-webkit-scrollbar {width: 6px;}
.consultation-terms-scroll::-webkit-scrollbar-track {background: #f1f1f1; border-radius: 3px;}
.consultation-terms-scroll::-webkit-scrollbar-thumb {background: #c1c1c1; border-radius: 3px;}
.consultation-terms-scroll::-webkit-scrollbar-thumb:hover {background: #a8a8a8;}
.consultation-terms-detail h4 {font-size: 15px; font-weight: 700; color: #333; margin: 20px 0 10px 0; padding-bottom: 5px; border-bottom: 1px solid #e8e8e8;}
.consultation-terms-detail h4:first-child {margin-top: 0;}
.consultation-terms-detail p {font-size: 13px; color: #666; line-height: 1.6; margin-bottom: 12px;}
.consultation-terms-detail ul {list-style: none; padding: 0; margin: 0 0 12px 0;}
.consultation-terms-detail li {font-size: 13px; color: #666; line-height: 1.6; margin-bottom: 6px; position: relative; padding-left: 10px;}
.consultation-terms-detail li::before {content: "·"; position: absolute; left: 0; color: #999;}
/* 우측 폼 스타일 */
.consultation-form {flex: 1; background-color: white; border-radius: 50px; padding: 50px 40px; border: 1px solid #ddeaf9;}
.consultation-form-header {margin-bottom: 30px;}
.consultation-form-tabs {
	display: flex; 
	gap: 40px; 
	margin-bottom: 30px; 
	background: #f6f6f6;
	border-radius: 15px;
	padding: 20px 30px; 
	align-content: center;
	justify-content: center;
	align-items: center;
}
.consultation-form-tab {display: flex; align-items: center; gap: 10px; font-size: 18px; font-weight: 800; color: #666; cursor: pointer;}
.consultation-form-tab input[type="radio"] {width: 20px; height: 20px; margin: 0; cursor: pointer;}
.consultation-form-tab input[type="radio"]:checked + span,
.consultation-form-tab:has(input[type="radio"]:checked) {color: #4682ee; font-weight: 600;}
.consultation-form-group {margin-bottom: 22px;}
.consultation-form-label {display: block; font-size: 16px; font-weight: 600; color: #333; margin-bottom: 8px;}
.consultation-form-input {
	width: 100%;
	padding: 16px;
	border: 1px solid #e0e0e0;
	border-radius: 8px;
	font-size: 16px;
	background-color: #f8f9fa;
	transition: all 0.3s ease;
}
.consultation-form-input::placeholder {color: #999;}
.consultation-form-input:focus {outline: none; border-color: #4682ee; background-color: white; box-shadow: 0 0 0 3px rgba(70, 130, 238, 0.1);}
.consultation-form-textarea {min-height: 120px; resize: vertical;}
.consultation-form-submit {
	width: 100%;
	background-color: #4682ee;
	color: white;
	border: none;
	border-radius: 8px;
	padding: 18px;
	font-size: 18px;
	font-weight: 600;
	cursor: pointer;
	transition: all 0.3s ease;
	margin-top: 20px;
}
.consultation-form-submit:hover {background-color: #3f80ea; transform: translateY(-2px); box-shadow: 0 4px 12px rgba(70, 130, 238, 0.3);}
@media (max-width: 1024px) {
	.consultation-section {margin-top: -100px;}
	.consultation-container {flex-direction: column; gap: 30px;}
	.consultation-info,
	.consultation-form {flex: none; width: 100%;}
}
@media (max-width: 768px) {
    .consultation-section {padding: 50px 0; margin-top: -80px;}
    .consultation-container {flex-direction: column; gap: 25px; padding: 0 20px;}
    .consultation-info {flex: none; width: 100%; padding: 30px 30px; border-radius: 20px; margin-top: 0;}
    .consultation-info-title {font-size: 24px; margin-bottom: 15px; text-align: center;}
    .consultation-info-desc {font-size: 15px; text-align: center; margin-bottom: 30px;}
    .consultation-feature-item {gap: 12px; margin-bottom: 20px; align-items: center;}
    .consultation-feature-icon {width: 40px; height: 40px;}
    .consultation-feature-text {font-size: 13px;}
    .consultation-terms-scroll {max-height: 120px; padding: 15px; font-size: 12px;}
    .consultation-terms-detail h4 {font-size: 14px;}
    .consultation-terms-detail p,
    .consultation-terms-detail li {font-size: 12px;}
    .consultation-agreement {padding: 12px; margin-bottom: 20px;}
    .consultation-agreement-text {font-size: 13px;}
    .consultation-form {flex: none; width: 100%; padding: 30px 20px; border-radius: 20px;}
    .consultation-form-tabs {flex-direction: column; gap: 8px; padding: 15px 20px; border-radius: 12px;}
    .consultation-form-tab {font-size: 15px; justify-content: center; padding: 8px 0;}
    .consultation-form-tab input[type="radio"] {width: 18px; height: 18px;}
    .consultation-form-group {margin-bottom: 18px;}
    .consultation-form-label {font-size: 15px; margin-bottom: 6px;}
    .consultation-form-input {padding: 14px; font-size: 15px; border-radius: 6px;}
    .consultation-form-textarea {min-height: 60px;}
    .consultation-form-submit {padding: 16px; font-size: 16px; border-radius: 6px; margin-top: 15px;}
}

@media (max-width: 480px) {
    .consultation-section {padding: 40px 10px;}
    .consultation-container {padding: 0 10px; gap: 20px;}
    .consultation-info,
    .consultation-form {padding: 25px 15px; border-radius: 15px;}
    .consultation-info-title {font-size: 22px;}
    .consultation-info-desc {font-size: 14px;}
    .consultation-feature-icon {width: 35px; height: 35px;}
    .consultation-feature-text {font-size: 12px;}
    .consultation-terms-scroll {max-height: 150px; padding: 12px;}
    .consultation-form-tab {font-size: 14px; padding: 6px 0;}
    .consultation-form-label {font-size: 14px;}
    .consultation-form-input {padding: 12px; font-size: 14px;}
    .consultation-form-textarea {min-height: 80px;}
    .consultation-form-submit {padding: 14px; font-size: 15px;}
    .consultation-agreement-text {font-size: 12px;}
    .consultation-agreement-checkmark {width: 18px; height: 18px;}
}
@media (max-width: 768px) and (orientation: landscape) {
   
}

/***********************************/
/* 요금정책 인트로 섹션 */
.pricingIntro {background-color: #f2f8ff; padding: 20px 0 20px; position: relative; margin-top: 35px;}
.pricingIntro-container {max-width: 1400px; margin: 0 auto; padding: 0 20px;}
.pricingIntro-content {display: flex; align-items: center; gap: 60px; position: relative;}
.pricingIntro-textArea {flex: 0 0 480px; opacity: 0; transform: translateX(-50px); animation: fadeInLeft 1s ease-out 0.5s forwards;}
.pricingIntro-title {font-size: 40px; font-weight: 700; color: #1a1a1a; margin-bottom: 28px; line-height: 1.2;}
.pricingIntro-description {font-size: 20px; font-weight: 500; line-height: 1.5; color: #666; margin-bottom: 40px;}
.pricingIntro-buttons {display: flex; gap: 16px;}
.pricingIntro-btn {
    padding: 16px 50px;
    font-size: 20px;
    font-weight: 600;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.3s ease;
    text-decoration: none;
    display: inline-block;
    text-align: center;
}
.pricingIntro-btnOutline {background-color: white; color: #4a6be8; border: 1px solid #3f80ea;}
.pricingIntro-btnOutline:hover {background-color: #3f80ea; color: white; transform: translateY(-2px); box-shadow: 0 4px 12px rgba(74, 107, 232, 0.3);}
.pricingIntro-btnPrimary {background-color: #3f80ea; color: white;}
.pricingIntro-btnPrimary:hover {background-color: #3f80ea; transform: translateY(-2px); box-shadow: 0 4px 12px rgba(74, 107, 232, 0.4);}
.pricingIntro-imageArea {
	flex: 1;
	display: flex;
	justify-content: flex-end;
	position: relative;
	opacity: 0;
	transform: translateX(50px);
	animation: fadeInRight 1s ease-out 0.8s forwards;
	z-index: 10;
}
.pricingIntro-image {object-fit: cover; position: relative; z-index: 5; transform: translateY(80px);}
@media (max-width: 1200px) {
	.pricingIntro {margin-top: 30px;}
    .pricingIntro-content {flex-direction: column; gap: 40px; text-align: center;}
	.pricingIntro-title {font-size: 30px; margin-top: 30px;}
    .pricingIntro-textArea {flex: none; max-width: 100%; margin-top: 60px; transform: translateY(30px);}
    .pricingIntro-image {width: 100%; transform: translateY(40px);}
	.pricingIntro-buttons {align-items: center; width: 100%;}
    .pricingIntro-imageArea {transform: translateY(30px);}
}
@media (max-width: 768px) {
    .pricingIntro-title {font-size: 28px; margin-top: 60px;}
    .pricingIntro-textArea {margin-top: 60px;}
    .pricingIntro-description {font-size: 16px; font-weight: 500;}
    .pricingIntro-buttons {flex-direction: column; gap: 12px;}
    .pricingIntro-btn {width: 100%; max-width: 300px; margin: 0 auto; padding: 14px 30px; font-size: 16px;}
    .pricingIntro-image {transform: translateY(10px);}
}
@media (max-width: 480px) {
    .pricingIntro-title {font-size: 24px;}
	.pricingIntro-textArea {margin-top: -20px;}
    .pricingIntro-description {font-size: 15px;}
    .pricingIntro-btn {padding: 12px 25px; font-size: 15px;}
}
/* 요금제 테이블 섹션 */
.pricingTable {background: linear-gradient(135deg, #1e3c72 0%, #2a5298 100%); padding: 80px 0; position: relative;}
.pricingTable-container {max-width: 1500px; margin: 0 auto; padding: 0 20px;}
.pricingTable-wrapper {border-radius: 20px; padding: 40px; backdrop-filter: blur(10px);}
.pricingTable-header {display: flex; background-color: rgba(255, 255, 255, 0.95); border-radius: 50px; margin-bottom: 30px; overflow: hidden;}
.pricingTable-headerItem {flex: 1; text-align: center; padding: 20px; font-size: 18px; font-weight: 700; color: #333; position: relative;}
.pricingTable-headerItem:not(:last-child)::after {
	content: '';
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 1px;
	height: 30px;
	background-color: #e0e0e0;
}
.pricingTable-mobileTitle {
	display: none;
	font-size: 24px;
	font-weight: 700;
	color: #333;
	margin: 0 0 20px 0;
	text-align: center;
	padding: 15px;
	background: linear-gradient(45deg, #ff6b35, #f7931e);
	color: white;
	border-radius: 10px;
	text-transform: uppercase;
	letter-spacing: 1px;
}
.pricingTable-grid {display: flex; gap: 20px;}
.pricingTable-column {
	flex: 1;
	background-color: rgba(255, 255, 255, 0.95);
	border-radius: 15px;
	padding: 30px 20px;
	text-align: center;
	position: relative;
	transition: all 0.3s ease;
}
.pricingTable-column:hover {transform: translateY(-5px); box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);}
.pricingTable-icon {margin: 0 auto 20px; display: flex; align-items: center; justify-content: center;}
.pricingTable-column:nth-child(1) .pricingTable-icon {background: linear-gradient(45deg, #ff9a56, #ffa726);}
.pricingTable-column:nth-child(2) .pricingTable-icon {background: linear-gradient(45deg, #5c6bc0, #7986cb);}
.pricingTable-column:nth-child(3) .pricingTable-icon {background: linear-gradient(45deg, #42a5f5, #64b5f6);}
.pricingTable-column:nth-child(4) .pricingTable-icon {background: linear-gradient(45deg, #66bb6a, #81c784);}
.pricingTable-column:nth-child(1) .pricingTable-mobileTitle {background: linear-gradient(45deg, #ff9a56, #ffa726);}
.pricingTable-column:nth-child(2) .pricingTable-mobileTitle {background: linear-gradient(45deg, #5c6bc0, #7986cb);}
.pricingTable-column:nth-child(3) .pricingTable-mobileTitle {background: linear-gradient(45deg, #42a5f5, #64b5f6);}
.pricingTable-column:nth-child(4) .pricingTable-mobileTitle {background: linear-gradient(45deg, #66bb6a, #81c784);}
.pricingTable-volume {font-size: 22px; font-weight: 700; color: #333; margin-bottom: 25px;}
.pricingTable-featureList {list-style: none; margin-bottom: 30px;}
.pricingTable-featureItem {display: flex; align-items: center; padding: 8px 0; font-size: 14px; color: #666; position: relative;}
.pricingTable-featureItem::before {content: '✓'; color: #4caf50; font-weight: bold; margin-right: 10px; font-size: 14px;}
.pricingTable-pricing {border-top: 1px solid #e0e0e0; padding-top: 20px;}
.pricingTable-originalPrice {font-size: 14px; color: #999; text-decoration: line-through; margin-bottom: 5px;}
.pricingTable-finalPrice {font-size: 28px; font-weight: 700; color: #ff6b35; margin-bottom: 5px;}
.pricingTable-column:nth-child(1) .pricingTable-finalPrice {color: #666;}
.pricingTable-column:nth-child(1) .pricingTable-finalPrice {font-size: 24px; color: #333;}
@media (max-width: 1024px) {
	.pricingTable-grid {flex-wrap: wrap; gap: 15px;}
	.pricingTable-column {flex: 0 0 calc(50% - 7.5px);}
	.pricingTable-wrapper {padding: 30px 20px;}
}
@media (max-width: 768px) {
	.pricingTable {padding: 40px 0; margin-top: -20px;}
	.pricingTable-header {display: none;}
	.pricingTable-mobileTitle {display: block;}
	.pricingTable-column {flex: 0 0 100%; padding: 25px 15px; margin-bottom: 20px;}
	.pricingTable-wrapper {padding: 20px 15px;}
	.pricingTable-icon {width: 60px; height: 60px;}
}
@media (max-width: 480px) {
	.pricingTable {padding: 30px 0;}
	.pricingTable-mobileTitle {font-size: 20px; padding: 12px;}
	.pricingTable-volume {font-size: 18px;}
	.pricingTable-finalPrice {font-size: 24px;}
	.pricingTable-featureItem {font-size: 13px;}
}
/***************************************/
/* 포트폴리오 갤러리 섹션 */
.portfolioGallery {
	background: url("/Image/sub-portfolioBG.png") no-repeat center top, linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);
	background-size: cover, cover;
	min-height: 100vh;
	padding: 80px 0;
	position: relative;
}
.portfolioGallery::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 400px;
	background-image: url("/Image/sub-portfolioBG.png");
	background-size: cover;
	background-position: center top;
	background-repeat: no-repeat;
	opacity: 0.3;
	z-index: 1;
}
.portfolioGallery-container {max-width: 1400px; margin: 0 auto; padding: 0 20px; position: relative; z-index: 2;}
.portfolioGallery-header {text-align: center; margin-bottom: 60px;}
.portfolioGallery-title {font-size: 36px; font-weight: 700; color: white; margin-bottom: 10px; letter-spacing: -1px;}
.portfolioGallery-subtitle {font-size: 18px; color: rgba(255, 255, 255, 0.7); font-weight: 400;}
.portfolioGallery-grid {column-count: 4; column-gap: 20px; max-width: 1500px; margin: 0 auto; justify-content: start;}

/* 포트폴리오 카드 */
.portfolioGallery-card {
	background: #fff;
	border-radius: 12px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
	position: relative;
	cursor: pointer;
	break-inside: avoid;
	margin-bottom: 20px;
	display: inline-block;
	width: 100%;
	padding: 20px;
	transition: all 0.3s ease;
}
.portfolioGallery-card:hover {transform: translateY(-5px); box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15);}

/* 시리얼 넘버 */
.portfolioGallery-serialNumber {
	background: #f5f5f5;
	padding: 8px 15px;
	border-radius: 20px;
	font-size: 14px;
	font-weight: 600;
	color: #666;
	margin-bottom: 15px;
	text-align: center;
	border: 1px solid #e0e0e0;
}
.portfolioGallery-imageWrapper {
	border-radius: 8px;
	overflow: hidden;
	position: relative;
}
.portfolioGallery-cardImage {width: 100%; height: auto; display: block; border-radius: 8px;}
.portfolioGallery-card:not(.sold)::after {
	content: '이미지 크게 보기';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background: rgba(0, 0, 0, 0.8);
	color: white;
	padding: 18px 30px 18px 50px;
	border-radius: 50px;
	font-weight: 600;
	font-size: 18px;
	z-index: 10;
	opacity: 0;
	transition: opacity 0.3s ease;
	pointer-events: none;
	background-image: url("/Image/sub-morePic.png");
	background-position: 15px center;
	background-size: 22px 22px;
	background-repeat: no-repeat;
	white-space: nowrap;
}
.portfolioGallery-card:not(.sold):hover::after {opacity: 1;}

/* 판매된 카드 스타일 */
.portfolioGallery-card.sold {opacity: 0.6; cursor: pointer;}
.portfolioGallery-card.sold .portfolioGallery-serialNumber {border: none;}
.portfolioGallery-card.sold .portfolioGallery-imageWrapper {position: relative;}
.portfolioGallery-card.sold .portfolioGallery-imageWrapper::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0, 0, 0, 0.6);
	z-index: 10;
}
.portfolioGallery-soldGroup {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 11;
	text-align: center;
	display: flex;
	flex-direction: column;
	gap: 15px;
}
.portfolioGallery-soldOut {
	background: #fff;
	color: #333;
	padding: 10px 20px;
	border-radius: 25px;
	font-weight: 700;
	font-size: 16px;
	letter-spacing: 1px;
}
.portfolioGallery-soldLink {
	color: #fff;
	font-size: 16px;
	font-weight: 800;
	text-decoration: underline;
	cursor: pointer;
	transition: color 0.3s ease;
	padding-left: 22px;
	padding-right: 10px;
	white-space: nowrap;
	overflow: hidden;
	position: relative;
}
.portfolioGallery-soldLink::before {
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 18px;
	height: 18px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71'%3E%3C/path%3E%3Cpath d='M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71'%3E%3C/path%3E%3C/svg%3E");
	background-size: contain;
	background-repeat: no-repeat;
}
.portfolioGallery-soldLink:hover {color: #fff;}
@media (max-width: 1200px) {
	.portfolioGallery-soldOut {font-size: 15px; padding: 9px 18px;}
	.portfolioGallery-soldLink {font-size: 15px; padding-left: 20px;}
	.portfolioGallery-soldLink::before {width: 16px;	height: 16px;}
}
@media (max-width: 768px) {
	.portfolioGallery-soldGroup {gap: 12px;}
	.portfolioGallery-soldOut {font-size: 14px; padding: 8px 16px;}
	.portfolioGallery-soldLink {font-size: 14px; padding-left: 18px; padding-right: 8px;}
	.portfolioGallery-soldLink::before {width: 14px;	height: 14px;}
}
@media (max-width: 600px) {
	.portfolioGallery-soldGroup {gap: 10px;}
	.portfolioGallery-soldOut {font-size: 13px; padding: 7px 14px; border-radius: 20px;}
	.portfolioGallery-soldLink {font-size: 13px; padding-left: 16px; padding-right: 6px;}
	.portfolioGallery-soldLink::before {width: 12px; height: 12px;}
}
@media (max-width: 480px) {
	.portfolioGallery-soldGroup {gap: 8px;}
	.portfolioGallery-soldOut {font-size: 12px; padding: 6px 12px; border-radius: 18px;}
	.portfolioGallery-soldLink {font-size: 12px; padding-left: 14px; padding-right: 5px;}
	.portfolioGallery-soldLink::before {width: 10px; height: 10px;}
}

/* 모달 오버레이 */
.portfolioGallery-modal {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.9);
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 1000;
	opacity: 0;
	visibility: hidden;
	transition: all 0.3s ease;
	padding: 20px;
}
.portfolioGallery-modal.active {opacity: 1; visibility: visible;}
.portfolioGallery-modalContent {
	max-width: 90vw;
	max-height: 90vh;
	position: relative;
	overflow-y: auto;
	overflow-x: hidden;
}
.portfolioGallery-modalImage {
	width: 100%;
	height: auto;
	border-radius: 8px;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
	display: block;
}
.portfolioGallery-modalClose {
	position: fixed;
	top: 30px;
	right: 30px;
	background: rgba(0, 0, 0, 0.8);
	border: none;
	color: white;
	font-size: 24px;
	cursor: pointer;
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	transition: all 0.3s ease;
	z-index: 1001;
}
.portfolioGallery-modalClose:hover {background: rgba(0, 0, 0, 1); transform: scale(1.1);}

@media (max-width: 1024px) {
	.portfolioGallery-grid {column-count: 2; column-gap: 15px;}
	.portfolioGallery-title {font-size: 32px;}
	.portfolioGallery-card {padding: 15px;}
	.portfolioGallery-serialNumber {font-size: 13px;}
}
@media (max-width: 768px) {
	.portfolioGallery {padding: 60px 0;}
	.portfolioGallery-grid {column-count: 1; column-gap: 0;}
	.portfolioGallery-title {font-size: 24px;}
	.portfolioGallery-subtitle {font-size: 14px;}
	.portfolioGallery-header {margin-bottom: 40px;}
	.portfolioGallery-card {padding: 12px; margin-bottom: 25px;}
	.portfolioGallery-serialNumber {font-size: 16px; font-weight: 600; padding: 6px 12px; margin-bottom: 10px;}
	.portfolioGallery-modal {padding: 15px;}
	.portfolioGallery-modalClose {top: 20px; right: 20px; width: 35px; height: 35px; font-size: 20px;}
	.portfolioGallery-modalContent {max-width: 95vw; max-height: 85vh;}
}
@media (max-width: 480px) {
	.portfolioGallery-title {font-size: 20px;}
	.portfolioGallery-serialNumber {font-size: 15px; font-weight: 700; padding: 5px 10px;}
	.portfolioGallery-card {padding: 10px;}
	.portfolioGallery-modal {padding: 10px;}
	.portfolioGallery-modalClose {top: 15px; right: 15px; width: 32px; height: 32px; font-size: 18px;}
	.portfolioGallery-modalContent {max-width: 98vw; max-height: 80vh;}
	.portfolioGallery-soldLink {font-size: 14px;}
	.portfolioGallery-card.sold::after {font-size: 14px; padding: 8px 16px;}
}

/***************************************/
/* 오시는 길 섹션 */
.contactSection {background: #f8f9fb; padding: 80px 0; position: relative;}
.contactSection-container {max-width: 1400px; margin: 0 auto; padding: 0 20px;}
.contactSection-content {
	display: flex;
	background: white;
	border-radius: 20px;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
	overflow: hidden;
	min-height: 500px;
}
.contactSection-mapArea {flex: 1; position: relative; border-radius: 20px 0 0 20px; overflow: hidden;}
.contactSection-map {width: 100%; height: 100%; min-height: 500px;}
.contactSection-infoArea {
	flex: 0 0 420px;
	background: white;
	padding: 50px 40px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.contactSection-details {margin-bottom: 40px;}
.contactSection-detailCard {background: #f8f9fb; border-radius: 12px; padding: 30px 25px; border: 1px solid #e9ecef;}
.contactSection-detailItem {display: flex; margin-bottom: 18px; align-items: flex-start;}
.contactSection-detailItem:last-child {margin-bottom: 0;}
.contactSection-label {
	font-weight: 700;
	font-size: 14px;
	min-width: 45px;
	color: #1a1a1a;
	margin-right: 15px;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	gap: 8px;
}
.contactSection-label::before {
	content: '';
	width: 16px;
	height: 16px;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	flex-shrink: 0;
}
.contactSection-label.address::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23495057' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'%3E%3C/path%3E%3Ccircle cx='12' cy='10' r='3'%3E%3C/circle%3E%3C/svg%3E");
}
.contactSection-label.time::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23495057' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cpolyline points='12,6 12,12 16,14'%3E%3C/polyline%3E%3C/svg%3E");
}
.contactSection-label.holiday::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23495057' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E");
}
.contactSection-value {font-size: 14px; line-height: 1.5; color: #1a1a1a; flex: 1;}
.contactSection-phoneList {display: flex; flex-direction: column; gap: 0;}
.contactSection-phoneItem {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 20px 0;
	border-bottom: 1px solid #e9ecef;
	transition: all 0.3s ease;
	font-size: 16px;
	font-weight: 600;
	color: #4285f4;
}
.contactSection-phoneItem:last-child {border-bottom: none;}
.contactSection-phoneItem:hover {
	background: #f8f9fb;
	margin: 0 -20px;
	padding: 20px 20px;
	border-radius: 8px;
	border-bottom: 1px solid transparent;
}
.contactSection-phoneItem:hover:last-child {border-bottom: none;}
.contactSection-phoneLabel {font-size: 15px; font-weight: 700; color: #495057; display: flex; align-items: center; gap: 8px;}
.contactSection-phoneLabel::before {
	content: '';
	width: 16px;
	height: 16px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23495057' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z'%3E%3C/path%3E%3C/svg%3E");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	flex-shrink: 0;
}

@media (max-width: 1024px) {
	.contactSection {margin-top: -30px;}
	.contactSection-content {flex-direction: column; border-radius: 15px;}
	.contactSection-mapArea {order: 1; border-radius: 15px 15px 0 0;}	
	.contactSection-map {min-height: 350px;}
	.contactSection-infoArea {order: 2; flex: none; padding: 40px 30px;}
}
@media (max-width: 768px) {
	.contactSection-content {min-height: auto; margin: 0 10px;}
	.contactSection-map {min-height: 300px;}
	.contactSection-infoArea {padding: 35px 25px;}
	.contactSection-details {margin-bottom: 30px;}
	.contactSection-detailCard {padding: 25px 20px;}
	.contactSection-phoneItem {flex-direction: column; align-items: flex-start; gap: 8px; padding: 20px 0;}
	.contactSection-phoneItem:hover {margin: 0 -15px; padding: 20px 15px;}
}
@media (max-width: 480px) {
	.contactSection-infoArea {padding: 30px 20px;}
	.contactSection-detailCard {padding: 20px 15px;}
	.contactSection-detailItem {margin-bottom: 15px;}
	.contactSection-label {font-size: 13px; min-width: 40px;}
	.contactSection-value {font-size: 13px;}
	.contactSection-phoneLabel {font-size: 14px;}
	.contactSection-phoneItem {font-size: 15px;}
}

/******************* 타이틀 섹션 *******************/
.key-features-title, .key-features-title2 {width: 100%; padding: 50px 0 60px; background-color: #fff;}
.title-container {max-width: 1400px; margin: 0 auto; text-align: center; padding: 0 20px;}
.section-title {position: relative; display: inline-block; margin: 0; font-family: 'SUIT', sans-serif;}
.title-bg {
    position: absolute;
    top: -20px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 80px;
    font-weight: 500;
    color: rgba(74, 144, 226, 0.1);
    letter-spacing: 2px;
    z-index: 1;
    white-space: nowrap;
}
.title-main {position: relative; font-size: 48px; font-weight: 700; color: #333; z-index: 2; top: 30px;}
@media (max-width: 1024px) {
    .key-features-title {padding: 30px 0 50px; margin-top: -40px;}
    .title-bg {font-size: 60px;}
    .title-main {font-size: 42px;}
}
@media (max-width: 900px) {
    .key-features-title {padding: 15px 0 40px; margin-top: -100px;}
    .title-container {padding: 0 15px;}
    .title-bg {font-size: 45px;}
    .title-main {font-size: 32px;}
}
@media (max-width: 700px) {
    .key-features-title {padding: 10px 0 30px; margin-top: -150px;}
    .title-container {padding: 0 10px;}
    .title-bg {font-size: 35px;}
    .title-main {font-size: 30px; top: 20px;}
}

/******************* 주요기능 섹션 *******************/
.subport {
    width: 100%;
    min-width: 1400px;
    margin: 0 auto;
    padding: 80px 25%;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    background-color: #eff9fe;
    gap: 20px;
}
.subport-item {
    background: white;
    border-radius: 30px;
    text-align: center;
    display: flex;
    flex-direction: column;
    background-color: #fff;
    gap: 15px;
    letter-spacing: -1px;
    border: 1px solid #cdcdcd;
    transition: all 0.3s ease;
}
.subport-item:hover {transform: translateY(-10px); border-color: #4A90E2;}
.item-name {font-size: 21px; margin: 60px 0 20px 0; font-weight: 600; position: relative;}
.item-name::after {
    content: '';
    position: absolute;
    bottom: -10px;
    left: 50%;
    transform: translateX(-50%);
    width: 110px;
    height: 1px;
    background: #000;
}
.icon-container {display: flex; justify-content: center; align-items: center; margin: 10px 0;}
.description {font-size: 16px; color: #000; line-height: 1.5; padding: 0 20px; }
.subport-detile {
    background: #1c85ff;
    line-height: 1.5;
    color: white;
    padding: 20px; 
    font-size: 14px;
    font-weight: 400;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
	border-bottom-left-radius: 30px;
	border-bottom-right-radius: 30px;
}
.subport-detile2 {
    border-top: 1px solid #d8d8d8;
    line-height: 1.5;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #000;
    padding: 20px; 
    font-size: 14px;
    font-weight: 400;
}
@media screen and (max-width: 1900px) {
    .subport {min-width: auto; width: 95%; padding: 80px 5%; grid-template-columns: repeat(3, 1fr); gap: 20px;}
}
@media (max-width: 1024px) {
    .key-features-title {padding: 60px 0 50px;}
    .title-bg {font-size: 60px; top: -15px;}
    .title-main {font-size: 36px;}
    .subport {padding: 60px 4%; gap: 15px; grid-template-columns: repeat(2, 1fr);}
    .item-name {font-size: 19px; margin: 40px 0 15px 0;}
    .description {font-size: 16px;}
    .subport-detile,
    .subport-detile2 {font-size: 14px; padding: 15px;}
}
@media (max-width: 768px) {
    .key-features-title {padding: 50px 0 40px;}
    .title-container {padding: 0 15px;}
    .title-bg {font-size: 45px; top: -12px;}
    .title-main {font-size: 28px;}
    .subport {grid-template-columns: repeat(2, 1fr); padding: 40px 8%; gap: 15px;}
    .item-name {font-size: 16px; margin: 25px 0 10px 0;}
    .item-name::after {width: 60px;}
    .description {font-size: 13px;}
    .subport-detile,
    .subport-detile2 {font-size: 12px; padding: 10px;}
    .icon-container {margin: 5px 0;}
}
@media (max-width: 480px) {
    .key-features-title {padding: 40px 0 30px;}
    .title-container {padding: 0 10px;}
    .title-bg {font-size: 35px; top: -10px;}
    .title-main {font-size: 24px;}
    .subport {grid-template-columns: repeat(2, 1fr); padding: 30px 5%; gap: 12px;}
    .item-name {font-size: 15px; margin: 20px 0 8px 0;}
    .item-name::after {width: 50px;}
    .description {font-size: 12px;}
    .subport-detile,
    .subport-detile2 {font-size: 11px; padding: 8px;}
}














