@charset "utf-8";

/* 회원가입 이메일 자동완성 */
.autocomplete-suggestions { 
	border: 1px solid #ccc; 
	max-height: 150px; 
	overflow-y: auto; 
	position: relative; 
/* 	position: absolute;  */
	background-color: white; 
	z-index: 1000; 
	width: calc(100% - 22px); 
} 

/* 메인 비주얼 */

  /* 히어로 섹션 */
  .hero_section {
	width: 100%;
	height: 1080px;
	position: relative;
	overflow: hidden;
	display: flex;
	justify-content: center;
	align-items: center;
  }
  
  /* 배경 영역 */
  .hero_section .hero_background {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
  }
  
  .hero_section .hero_image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
  }
  
  .hero_section .hero_overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(0deg, rgba(0, 0, 0, 0.35) 0%, rgba(0, 0, 0, 0.35) 100%);
  }
  
  /* 컨텐츠 영역 */
  .hero_section .hero_content {
	position: relative;
	z-index: 10;
	width: 484px;
	padding: 0 24px;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: center;
	gap: 56px;
	top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  
  /* 텍스트 그룹 */
  .hero_section .hero_text_group {
	width: 100%;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: center;
	gap: 22px;
  }
  
  /* 영문 서브타이틀 */
  .hero_section .hero_subtitle_en {
	text-align: center;
	color: white;
	font-size: 20px;
	font-family: 'Playfair Display', serif;
	font-style: italic;
	font-weight: 400;
	line-height: 30px;
  }
  
  /* 타이틀 그룹 */
  .hero_section .hero_title_group {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: center;
	gap: 16px;
  }
  
  /* 한글 서브타이틀 */
  .hero_section .hero_subtitle_ko {
	text-align: center;
	color: white;
	font-size: 28px;
	font-family: 'Pretendard', sans-serif;
	font-weight: 400;
	line-height: 28px;
	margin: 0;
  }
  
  /* 메인 타이틀 */
  .hero_section .hero_title {
	text-align: center;
	color: white;
	font-size: 56px;
	font-family: 'Pretendard', sans-serif;
	font-weight: 700;
	line-height: 56px;
	margin: 0;
  }
  
  /* 설명 텍스트 */
  .hero_section .hero_description {
	text-align: center;
	color: white;
	font-size: 18px;
	font-family: 'Pretendard', sans-serif;
	font-weight: 400;
	line-height: 27px;
  }
  
  /* CTA 버튼 */
  .hero_section .hero_cta_button {
	width: 200px;
	height: 48px;
	padding: 0 1px;
	background: rgba(255, 255, 255, 0.1);
	border: 1px solid white;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	color: white;
	font-size: 15px;
	font-family: 'Pretendard', sans-serif;
	font-weight: 400;
	text-transform: uppercase;
	line-height: 45px;
	text-decoration: none;
	cursor: pointer;
	transition: all 0.3s ease;
	backdrop-filter: blur(5px);
  }
  
  .hero_section .hero_cta_button:hover {
	background: rgba(255, 255, 255, 0.2);
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(255, 255, 255, 0.2);
  }
  
  .hero_section .hero_cta_button:active {
	transform: translateY(0);
  }
  
  /* 반응형 - 대형 데스크톱 */
  @media (max-width: 1600px) {
	.hero_section {
	  height: 900px;
	}
	.hero_section .hero_title {
	  font-size: 48px;
	  line-height: 48px;
	}
  
	.hero_section .hero_subtitle_ko {
	  font-size: 24px;
	  line-height: 24px;
	}
  }
  
  /* 반응형 - 태블릿 */
  @media (max-width: 1024px) {
	.hero_section {
	  height: 800px;
	}
	.hero_section .hero_subtitle_en {
	  font-size: 18px;
	  line-height: 27px;
	}
  
	.hero_section .hero_subtitle_ko {
	  font-size: 22px;
	  line-height: 22px;
	}
  
	.hero_section .hero_title {
	  font-size: 42px;
	  line-height: 42px;
	}
  
	.hero_section .hero_description {
	  font-size: 16px;
	  line-height: 24px;
	}
  }
  
  /* 반응형 - 모바일 */
  @media (max-width: 768px) {
	.hero_section {
	  height: 80vh;
	  min-height: 600px;
	}

	.hero_section .hero_text_group {
	  gap: 18px;
	}
  
	.hero_section .hero_subtitle_en {
	  font-size: 16px;
	  line-height: 24px;
	}
  
	.hero_section .hero_title_group {
	  gap: 12px;
	}
  
	.hero_section .hero_subtitle_ko {
	  font-size: 20px;
	  line-height: 20px;
	}
  
	.hero_section .hero_title {
	  font-size: 36px;
	  line-height: 36px;
	}
  
	.hero_section .hero_description {
	  font-size: 15px;
	  line-height: 22px;
	}
  
	.hero_section .hero_cta_button {
	  width: 180px;
	  height: 44px;
	  font-size: 14px;
	}
  }
  
  /* 반응형 - 작은 모바일 */
  @media (max-width: 480px) {
	.hero_section {
	  min-height: 550px;
	}
  
	.hero_section .hero_subtitle_en {
	  font-size: 14px;
	  line-height: 21px;
	}
  
	.hero_section .hero_subtitle_ko {
	  font-size: 18px;
	  line-height: 18px;
	}
  
	.hero_section .hero_title {
	  font-size: 28px;
	  line-height: 28px;
	}
  
	.hero_section .hero_description {
	  font-size: 14px;
	  line-height: 21px;
	}
  
	.hero_section .hero_description br {
	  display: none;
	}
  
	.hero_section .hero_cta_button {
	  width: 160px;
	  height: 40px;
	  font-size: 13px;
	}

	.hero_section .hero_content{width: auto; padding: 0; max-width: 93.75%;}

	.hero_section {
        height: 50vh;
    }
  }

  /* about========================================= */

  
  /* About 섹션 래퍼 */
  .about_section_wrap {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 120px;
	max-width: 1920px;
	margin: 0 auto;
  }
  
  /* 이미지 박스 */
  .about_section_wrap .about_image_box {
	flex: 1 1 calc(50% - 60px);
	aspect-ratio: 860/800;
	position: relative;
	background: #F2F2F2;
	overflow: hidden;
	flex-shrink: 0;
  }
  
  .about_section_wrap .about_image {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.5s ease;
  }
  
  .about_section_wrap .about_image_box:hover .about_image {
	transform: translate(-50%, -50%) scale(1.05);
  }
  
  /* 컨텐츠 영역 */
  .about_section_wrap .about_content {
	flex: 1 1 calc(50% - 60px);
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;
	gap: 24px;
	flex-shrink: 0;
  }
  
  /* 상단 라벨 */
  .about_section_wrap .about_label {
	text-align: center;
	color: #89A700;
	font-size: 18px;
	font-family: 'Playfair Display', serif;
	font-style: italic;
	font-weight: 400;
	line-height: 18px;
  }
  
  /* 텍스트 그룹 */
  .about_section_wrap .about_text_group {
	width: 100%;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: center;
	gap: 24px;
  }
  
  /* 타이틀 */
  .about_section_wrap .about_title {
	width: 100%;
	color: #171717;
	font-size: 32px;
	font-family: 'Pretendard', sans-serif;
	font-weight: 700;
	line-height: 32px;
	margin: 0;
  }
  
  /* 설명 그룹 */
  .about_section_wrap .about_description_group {
	width: 100%;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;
	gap: 12px;
  }
  
  /* 설명 텍스트 */
  .about_section_wrap .about_description {
	width: 100%;
	color: #5B5B5B;
	font-size: 20px;
	font-family: 'Pretendard', sans-serif;
	font-weight: 400;
	line-height: 30px;
	letter-spacing: 0.1px;
	margin: 0;
  }
  
  /* 반응형 - 대형 데스크톱 */
  @media (max-width: 1600px) {
	.about_section_wrap {
	  gap: 80px;
	}
  
	.about_section_wrap .about_image_box {
	  width: 700px;
	  height: 650px;
	}
  
	.about_section_wrap .about_content {
	  width: 550px;
	}
  
	.about_section_wrap .about_title {
	  font-size: 28px;
	  line-height: 28px;
	}
  
	.about_section_wrap .about_description {
	  font-size: 18px;
	  line-height: 27px;
	}
  }
  
  /* 반응형 - 태블릿 */
  @media (max-width: 1200px) {
	.about_section_wrap {
        flex-direction: column;
        gap: 60px;
        align-items: center;
        height: auto;
        padding: 60px 0;
        max-width: 93.75%;
        margin: 0 auto;
	}
  
	.about_section_wrap .about_image_box {
	  width: 100%;
	  height: 500px;
	}
  
	.about_section_wrap .about_content {
	  width: 100%;
	  word-break: keep-all;
	}
  
	.about_section_wrap .about_title {
	  font-size: 26px;
	  line-height: 26px;
	}
  }
  
  /* 반응형 - 모바일 */
  @media (max-width: 768px) {
	.about_section_wrap {
	  gap: 40px;
	}
  
	.about_section_wrap .about_image_box {
	  width: 100%;
	  height: 400px;
	}
  
	.about_section_wrap .about_content {
	  width: 100%;
	  gap: 20px;
	}
  
	.about_section_wrap .about_label {
	  font-size: 16px;
	  line-height: 16px;
	}
  
	.about_section_wrap .about_text_group {
	  gap: 20px;
	}
  
	.about_section_wrap .about_title {
	  font-size: 24px;
	  line-height: 24px;
	}
  
	.about_section_wrap .about_description_group {
	  gap: 16px;
	}
  
	.about_section_wrap .about_description {
	  font-size: 16px;
	  line-height: 24px;
	}
  }
  
  /* 반응형 - 작은 모바일 */
  @media (max-width: 480px) {
	.about_section_wrap {
	  gap: 30px;
	}
  
	.about_section_wrap .about_image_box {
	  height: 300px;
	}
  
	.about_section_wrap .about_content {
	  gap: 16px;
	}
  
	.about_section_wrap .about_label {
	  font-size: 14px;
	}
  
	.about_section_wrap .about_text_group {
	  gap: 16px;
	}
  
	.about_section_wrap .about_title {
	  font-size: 20px;
	  line-height: 20px;
	}
  
	.about_section_wrap .about_description {
	  font-size: 14px;
	  line-height: 21px;
	}
  }
  
  /* 애니메이션 효과 (선택사항) */
  @keyframes fadeInLeft {
	from {
	  opacity: 0;
	  transform: translateX(-30px);
	}
	to {
	  opacity: 1;
	  transform: translateX(0);
	}
  }
  
  @keyframes fadeInRight {
	from {
	  opacity: 0;
	  transform: translateX(30px);
	}
	to {
	  opacity: 1;
	  transform: translateX(0);
	}
  }
  
  /* 스크롤 애니메이션 (선택사항) */
  .about_section_wrap .about_image_box {
	animation: fadeInLeft 1s ease-out;
  }
  
  .about_section_wrap .about_content {
	animation: fadeInRight 1s ease-out;
  }
  
  .about_section_wrap .about_label {
	animation: fadeInRight 1s ease-out 0.2s both;
  }
  
  .about_section_wrap .about_title {
	animation: fadeInRight 1s ease-out 0.4s both;
  }
  
  .about_section_wrap .about_description_group {
	animation: fadeInRight 1s ease-out 0.6s both;
  }

  /* 서비스 프로그램 ================================== */

  /* 서비스 섹션 래퍼 */
  .services_section_wrap {
	width: 100%;
	padding: 120px 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
  }
  
  /* 컨테이너 */
  .services_section_wrap .services_container {
	display: flex;
	flex-direction: column;
	gap: 56px;
  }
  
  /* 헤더 */
  .services_section_wrap .services_header {
	padding: 0 304px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 24px;
	text-align: center;
  }
  
  .services_section_wrap .services_label {
	color: #89A700;
	font-size: 18px;
	font-family: 'Playfair Display', serif;
	font-style: italic;
	font-weight: 400;
	line-height: 18px;
  }
  
  .services_section_wrap .services_title {
	color: #222222;
	font-size: 32px;
	font-family: 'Pretendard', sans-serif;
	font-weight: 700;
	line-height: 32px;
	margin: 0;
  }
  
  .services_section_wrap .services_subtitle {
	color: #7D7D7D;
	font-size: 18px;
	font-family: 'Pretendard', sans-serif;
	font-weight: 400;
	line-height: 27px;
	margin: 0;
  }
  
  .services_section_wrap .services_note {
	color: #999999;
	font-size: 14px;
	font-family: 'Pretendard', sans-serif;
	font-weight: 400;
	line-height: 14px;
	letter-spacing: 0.07px;
	margin: 0;
  }
  
  /* 서비스 그리드 */
  .services_section_wrap .services_grid {
	display: flex;
	flex-wrap: wrap;
	gap: 32px;
	justify-content: flex-start;
  }
  
  /* 서비스 카드 */
  .services_section_wrap .service_card {
	width: calc(50% - 18px);
	min-width: 300px;
	height: 520px;
	background: white;
	box-shadow: 0px 4px 6px -4px rgba(0, 0, 0, 0.10);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
  }
  
  .services_section_wrap .service_card:hover {
	transform: translateY(-8px);
	box-shadow: 0px 12px 24px -8px rgba(0, 0, 0, 0.15);
  }
  
  .services_section_wrap .service_card.signature {
	border: 2px solid #89A700;
  }
  
  /* 카드 이미지 래퍼 */
  .services_section_wrap .card_image_wrapper {
	width: 100%;
	height: 300px;
	position: relative;
	overflow: hidden;
  }
  
  .services_section_wrap .card_image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transition: transform 0.5s ease;
  }
  
  .services_section_wrap .service_card:hover .card_image {
	transform: scale(1.05);
  }
  
  /* 시그니처 배지 */
  .services_section_wrap .signature_badge {
	position: absolute;
	top: 16px;
	right: 16px;
	padding: 8px 16px;
	background: #89A700;
	color: white;
	font-size: 12px;
	font-family: 'Pretendard', sans-serif;
	font-weight: 700;
	line-height: 18px;
	z-index: 2;
  }
  
  /* 이미지 오버레이 */
  .services_section_wrap .card_image_overlay {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 84px;
	padding: 0 24px;
	background: linear-gradient(0deg, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0) 100%);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
  }
  
  .services_section_wrap .card_title {
	color: white;
	font-size: 24px;
	font-family: 'Pretendard', sans-serif;
	font-weight: 700;
	line-height: 24px;
	margin: 0;
  }
  
  /* 카드 컨텐츠 */
  .services_section_wrap .card_content {
	padding: 32px;
	display: flex;
	flex-direction: column;
	gap: 24px;
	flex: 1;
  }
  
  .services_section_wrap .card_description {
	color: #7D7D7D;
	font-size: 16px;
	font-family: 'Pretendard', sans-serif;
	font-weight: 400;
	line-height: 24px;
	letter-spacing: 0.08px;
	margin: 0;
  }
  
  /* 가격 리스트 */
  .services_section_wrap .card_price_list {
	display: flex;
	flex-direction: column;
	gap: 12px;
  }
  
  .services_section_wrap .price_item {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 4px 0;
	border-bottom: 0.67px solid #E5E7EB;
  }
  
  .services_section_wrap .price_label {
	color: #333333;
	font-size: 16px;
	font-family: 'Pretendard', sans-serif;
	font-weight: 400;
	line-height: 16px;
  }
  
  .services_section_wrap .price_value {
	color: #89A700;
	font-size: 18px;
	font-family: 'Pretendard', sans-serif;
	font-weight: 500;
	line-height: 23.4px;
	letter-spacing: 0.09px;
  }
  
  /* 반응형 - 대형 데스크톱 */
  @media (max-width: 1600px) {
	.services_section_wrap .services_header {
	  padding: 0 200px;
	}
  }
  
  /* 반응형 - 태블릿 */
  @media (max-width: 1200px) {
	.services_section_wrap {
	  padding: 80px 0;
	}
  
	.services_section_wrap .services_container {
	  gap: 48px;
	}
  
	.services_section_wrap .services_header {
	  padding: 0 100px;
	}
  
	.services_section_wrap .service_card {
	  width: 100%;
	  height: auto;
	  min-height: 520px;
	}
  }
  
  /* 반응형 - 모바일 */
  @media (max-width: 768px) {
	.services_section_wrap {
	  padding: 60px 0;
	}
  
	.services_section_wrap .services_container {
	  gap: 40px;
	  padding: 0 16px;
	}
  
	.services_section_wrap .services_header {
	  padding: 0 20px;
	  gap: 20px;
	}
  
	.services_section_wrap .services_label {
	  font-size: 16px;
	  line-height: 16px;
	}
  
	.services_section_wrap .services_title {
	  font-size: 26px;
	  line-height: 26px;
	}
  
	.services_section_wrap .services_subtitle {
	  font-size: 16px;
	  line-height: 24px;
	}
  
	.services_section_wrap .services_note {
	  font-size: 12px;
	}
  
	.services_section_wrap .services_grid {
	  gap: 24px;
	}
  
	.services_section_wrap .service_card {
	  min-width: unset;
	}
  
	.services_section_wrap .card_image_wrapper {
	  height: 250px;
	}
  
	.services_section_wrap .card_title {
	  font-size: 20px;
	  line-height: 20px;
	}
  
	.services_section_wrap .card_content {
	  padding: 24px;
	  gap: 20px;
	}
  
	.services_section_wrap .card_description {
	  font-size: 15px;
	  line-height: 22px;
	}
  
	.services_section_wrap .card_description br {
	  display: none;
	}
  
	.services_section_wrap .price_label {
	  font-size: 15px;
	}
  
	.services_section_wrap .price_value {
	  font-size: 16px;
	}
  }
  
  /* 반응형 - 작은 모바일 */
  @media (max-width: 480px) {
	.services_section_wrap {
	  padding: 40px 0;
	}
  
	.services_section_wrap .services_container {
	  gap: 32px;
	}
  
	.services_section_wrap .services_header {
	  padding: 0 10px;
	  gap: 16px;
	}
  
	.services_section_wrap .services_title {
	  font-size: 22px;
	  line-height: 22px;
	}
  
	.services_section_wrap .services_subtitle {
	  font-size: 14px;
	  line-height: 21px;
	}
  
	.services_section_wrap .card_image_wrapper {
	  height: 220px;
	}
  
	.services_section_wrap .card_title {
	  font-size: 18px;
	}
  
	.services_section_wrap .card_content {
	  padding: 20px;
	}
  
	.services_section_wrap .card_description {
	  font-size: 14px;
	  line-height: 21px;
	}
  
	.services_section_wrap .signature_badge {
	  padding: 6px 12px;
	  font-size: 11px;
	}
  }

  .services_section_wrap .signature_badge{display: none;}
  .services_section_wrap .signature .signature_badge{display: block;}

  /* advantages ======================================================*/
  /* Advantages 섹션 래퍼 */
  .advantages_section_wrap {
	width: 100%;
	padding: 120px 0px;
	background: #FAFAFA;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 37px;
  }
  
  /* 컨테이너 */
  .advantages_section_wrap .advantages_container {
	display: flex;
	flex-direction: column;
	gap: 56px;
  }
  
  /* 헤더 */
  .advantages_section_wrap .advantages_header {
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 24px;
	text-align: center;
  }
  
  .advantages_section_wrap .advantages_label {
	color: #89A700;
	font-size: 18px;
	font-family: 'Playfair Display', serif;
	font-style: italic;
	font-weight: 400;
	line-height: 18px;
  }
  
  .advantages_section_wrap .advantages_title {
	color: #222222;
	font-size: 32px;
	font-family: 'Pretendard', sans-serif;
	font-weight: 700;
	line-height: 32px;
	margin: 0;
  }
  
  .advantages_section_wrap .advantages_description {
	color: #7D7D7D;
	font-size: 18px;
	font-family: 'Pretendard', sans-serif;
	font-weight: 400;
	line-height: 27px;
	margin: 0;
  }
  
  /* 장점 그리드 */
  .advantages_section_wrap .advantages_grid {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	gap: 32px;
	justify-content: flex-start;
  }
  
  /* 장점 아이템 */
  .advantages_section_wrap .advantage_item {
	flex: 1 1 0;
	min-width: 250px;
	padding: 2px 16px;
	border-top: 4px solid #89A700;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 26px;
  }
  
  /* 아이콘 */
  .advantages_section_wrap .advantage_icon {
	width: 48px;
	height: 48px;
	background: #89A700;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-shrink: 0;
	margin-top: 25px;
  }
  
  .advantages_section_wrap .icon_check {
	color: white;
	font-size: 24px;
	font-family: Arial;
	font-weight: 400;
	line-height: 36px;
  }
  
  /* 컨텐츠 */
  .advantages_section_wrap .advantage_content {
	width: 100%;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: center;
	gap: 6px;
	text-align: center;
  }
  
  .advantages_section_wrap .advantage_title {
	color: #333333;
	font-size: 18px;
	font-family: 'Pretendard', sans-serif;
	font-weight: 500;
	line-height: 23.4px;
	letter-spacing: 0.09px;
	margin: 0;
  }
  
  .advantages_section_wrap .advantage_description {
	color: #7D7D7D;
	font-size: 16px;
	font-family: 'Pretendard', sans-serif;
	font-weight: 400;
	line-height: 24px;
	letter-spacing: 0.08px;
	margin: 0;
  }
  
  /* 반응형 - 대형 데스크톱 */
  @media (max-width: 1600px) {
	.advantages_section_wrap {
	  padding: 100px  0px;
	}
  }
  
  /* 반응형 - 태블릿 */
  @media (max-width: 1200px) {
	.advantages_section_wrap {
	  padding: 80px 0px;
	}
  
	.advantages_section_wrap .advantages_container {
	  gap: 48px;
	}
  
	.advantages_section_wrap .advantages_grid {
	  gap: 24px;
	}
  
	.advantages_section_wrap .advantage_item {
	  flex: 1 1 calc(50% - 12px);
	  min-width: 200px;
	}
  }
  
  /* 반응형 - 모바일 */
  @media (max-width: 768px) {
	.advantages_section_wrap {
	  padding: 60px 0px;
	}
  
	.advantages_section_wrap .advantages_container {
	  gap: 40px;
	}
  
	.advantages_section_wrap .advantages_header {
	  gap: 20px;
	}
  
	.advantages_section_wrap .advantages_label {
	  font-size: 16px;
	  line-height: 16px;
	}
  
	.advantages_section_wrap .advantages_title {
	  font-size: 26px;
	  line-height: 26px;
	}
  
	.advantages_section_wrap .advantages_description {
	  font-size: 16px;
	  line-height: 24px;
	}
  
	.advantages_section_wrap .advantages_description br {
	  display: none;
	}
  
	.advantages_section_wrap .advantages_grid {
	  gap: 20px;
	}
  
	.advantages_section_wrap .advantage_item {
	  flex: 1 1 100%;
	  min-width: unset;
	  gap: 20px;
	}
  
	.advantages_section_wrap .advantage_icon {
	  width: 44px;
	  height: 44px;
	}
  
	.advantages_section_wrap .icon_check {
	  font-size: 22px;
	}
  
	.advantages_section_wrap .advantage_title {
	  font-size: 17px;
	}
  
	.advantages_section_wrap .advantage_description {
	  font-size: 15px;
	  line-height: 22px;
	}
  }
  
  /* 반응형 - 작은 모바일 */
  @media (max-width: 480px) {
	.advantages_section_wrap {
	  padding: 40px 0px;
	}
  
	.advantages_section_wrap .advantages_container {
	  gap: 32px;
	}
  
	.advantages_section_wrap .advantages_header {
	  gap: 16px;
	}
  
	.advantages_section_wrap .advantages_title {
	  font-size: 22px;
	  line-height: 22px;
	}
  
	.advantages_section_wrap .advantages_description {
	  font-size: 14px;
	  line-height: 21px;
	}
  
	.advantages_section_wrap .advantage_item {
	  gap: 16px;
	}
  
	.advantages_section_wrap .advantage_icon {
	  width: 40px;
	  height: 40px;
	}
  
	.advantages_section_wrap .icon_check {
	  font-size: 20px;
	}
  
	.advantages_section_wrap .advantage_title {
	  font-size: 16px;
	}
  
	.advantages_section_wrap .advantage_description {
	  font-size: 14px;
	  line-height: 21px;
	}
  }
  
  /* 애니메이션 효과 (선택사항) */
  @keyframes fadeInUp {
	from {
	  opacity: 0;
	  transform: translateY(20px);
	}
	to {
	  opacity: 1;
	  transform: translateY(0);
	}
  }
  
  .advantages_section_wrap .advantage_item {
	animation: fadeInUp 0.6s ease-out;
  }
  
  .advantages_section_wrap .advantage_item:nth-child(1) {
	animation-delay: 0.1s;
  }
  
  .advantages_section_wrap .advantage_item:nth-child(2) {
	animation-delay: 0.2s;
  }
  
  .advantages_section_wrap .advantage_item:nth-child(3) {
	animation-delay: 0.3s;
  }
  
  .advantages_section_wrap .advantage_item:nth-child(4) {
	animation-delay: 0.4s;
  }


  /* Stats ======================================*/
  
  /* 통계 섹션 래퍼 */
  .stats_section_wrap {
	height: 280px;
	padding: 96px 0px;
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	overflow: hidden;
  }
  
  /* 배경 이미지 */
  .stats_section_wrap .stats_background {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-image: url('/img/banner_img_01.jpg');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	z-index: 1;
  }
  
  /* 오버레이 */
  .stats_section_wrap .stats_overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(0deg, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.5) 100%);
	z-index: 2;
  }
  
  /* 컨테이너 */
  .stats_section_wrap .stats_container {
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	z-index: 10;
  }
  
  /* 통계 아이템 */
  .stats_section_wrap .stat_item {
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 12px;
	border-right: 0.67px solid rgba(255, 255, 255, 0.3);
	padding: 0 20px;
  }
  
  .stats_section_wrap .stat_item.last {
	border-right: none;
  }
  
  /* 통계 숫자 */
  .stats_section_wrap .stat_number {
	text-align: center;
	color: white;
	font-size: 48px;
	font-family: 'Pretendard', sans-serif;
	font-weight: 700;
	line-height: 48px;
	display: flex;
	gap: 2px;
  }
  
  /* 통계 라벨 */
  .stats_section_wrap .stat_label {
	text-align: center;
	color: white;
	font-size: 18px;
	font-family: 'Pretendard', sans-serif;
	font-weight: 400;
	line-height: 27px;
	letter-spacing: 0.09px;
  }
  
  /* 반응형 - 대형 데스크톱 */
  @media (max-width: 1600px) {
	.stats_section_wrap {
	  padding: 80px 0px;
	}
  
	.stats_section_wrap .stat_number {
	  font-size: 42px;
	  line-height: 42px;
	}
  
	.stats_section_wrap .stat_label {
	  font-size: 16px;
	  line-height: 24px;
	}
  }
  
  /* 반응형 - 태블릿 */
  @media (max-width: 1200px) {
	.stats_section_wrap {
	  height: auto;
	  padding: 60px 0px;
	}
  
	.stats_section_wrap .stats_container {
	  flex-wrap: wrap;
	  gap: 20px;
	}
  
	.stats_section_wrap .stat_item {
	  flex: 1 1 100%;
	  min-width: 200px;
	  border-right: none;
	  border-bottom: 0.67px solid rgba(255, 255, 255, 0.3);
	  padding-top: 20px;
	  padding-bottom: 40px;
	}
  
	.stats_section_wrap .stat_item:nth-child(2n) {
	  border-right: none;
	}
  
	.stats_section_wrap .stat_number {
	  font-size: 36px;
	  line-height: 36px;
	}
  }
  
  /* 반응형 - 모바일 */
  @media (max-width: 768px) {
	.stats_section_wrap {
	  padding: 40px 0px;
	}
  
	.stats_section_wrap .stats_container {
	  flex-direction: column;
	  gap: 30px;
	}
  
	.stats_section_wrap .stat_item {
	  flex: none;
	  width: 100%;
	  min-width: unset;
	  border-right: none;
	  border-bottom: 0.67px solid rgba(255, 255, 255, 0.3);
	  padding: 20px 0;
	  gap: 8px;
	}
  
	.stats_section_wrap .stat_item.last {
	  border-bottom: none;
	}
  
	.stats_section_wrap .stat_number {
	  font-size: 32px;
	  line-height: 32px;
	}
  
	.stats_section_wrap .stat_label {
	  font-size: 15px;
	  line-height: 22px;
	}
  }
  
  /* 반응형 - 작은 모바일 */
  @media (max-width: 480px) {
	.stats_section_wrap {
	  padding: 30px 0px;
	}
  
	.stats_section_wrap .stats_container {
	  gap: 24px;
	}
  
	.stats_section_wrap .stat_item {
	  padding: 16px 0;
	}
  
	.stats_section_wrap .stat_number {
	  font-size: 28px;
	  line-height: 28px;
	}
  
	.stats_section_wrap .stat_label {
	  font-size: 14px;
	  line-height: 21px;
	}
  }


  /* Features========================= */
  
  /* Features 섹션 래퍼 */
  .features_section_wrap {
	width: 100%;
	padding: 80px 0px;
	background: #FAFAFA;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;
  }
  
  /* 컨테이너 */
  .features_section_wrap .features_container {
	display: flex;
	flex-direction: column;
	gap: 56px;
  }
  
  /* 헤더 */
  .features_section_wrap .features_header {
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 24px;
	text-align: center;
	margin: 0 auto;
  }
  
  .features_section_wrap .features_label {
	color: #89A700;
	font-size: 18px;
	font-family: 'Playfair Display', serif;
	font-style: italic;
	font-weight: 400;
	line-height: 18px;
  }
  
  .features_section_wrap .features_title {
	color: black;
	font-size: 32px;
	font-family: 'Pretendard', sans-serif;
	font-weight: 700;
	line-height: 32px;
	margin: 0;
  }
  
  .features_section_wrap .features_description {
	color: #7D7D7D;
	font-size: 16px;
	font-family: 'Pretendard', sans-serif;
	font-weight: 400;
	line-height: 26px;
	margin: 0;
  }
  
  /* 특징 그리드 */
  .features_section_wrap .features_grid {
	width: 100%;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	gap: 48px;
  }
  
  /* 특징 아이템 */
  .features_section_wrap .feature_item {
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: center;
	gap: 24px;
	text-align: center;
  }
  
  /* 아이콘 */
  .features_section_wrap .feature_icon {
	width: 96px;
	height: 96px;
	background: rgba(137, 167, 0, 0.1);
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-shrink: 0;
  }
  
  .features_section_wrap .feature_icon svg {
	width: 48px;
	height: 48px;
  }
  
  /* 타이틀 */
  .features_section_wrap .feature_title {
	color: #333333;
	font-size: 18px;
	font-family: 'Pretendard', sans-serif;
	font-weight: 700;
	line-height: 27px;
	margin: 0;
  }
  
  /* 설명 */
  .features_section_wrap .feature_description {
	color: #7D7D7D;
	font-size: 16px;
	font-family: 'Pretendard', sans-serif;
	font-weight: 400;
	line-height: 24px;
	letter-spacing: 0.08px;
	margin: 0;
  }
  
  /* 반응형 - 대형 데스크톱 */
  @media (max-width: 1600px) {
	.features_section_wrap {
	  padding: 80px 0px;
	}
  
	.features_section_wrap .features_grid {
	  gap: 40px;
	}
  }
  
  /* 반응형 - 태블릿 */
  @media (max-width: 1200px) {
	.features_section_wrap {
	  padding: 60px 0px;
	}
  
	.features_section_wrap .features_container {
	  gap: 48px;
	}
  
	.features_section_wrap .features_grid {
	  flex-direction: column;
	  gap: 40px;
	  align-items: center;
	}
  
	.features_section_wrap .feature_item {
	  max-width: 500px;
	}
  }
  
  /* 반응형 - 모바일 */
  @media (max-width: 768px) {
	.features_section_wrap {
	  padding: 50px 0px;
	}
  
	.features_section_wrap .features_container {
	  gap: 40px;
	}
  
	.features_section_wrap .features_header {
	  gap: 20px;
	}
  
	.features_section_wrap .features_label {
	  font-size: 16px;
	  line-height: 16px;
	}
  
	.features_section_wrap .features_title {
	  font-size: 26px;
	  line-height: 26px;
	}
  
	.features_section_wrap .features_description {
	  font-size: 15px;
	  line-height: 22px;
	}
  
	.features_section_wrap .features_description br {
	  display: none;
	}
  
	.features_section_wrap .features_grid {
	  gap: 36px;
	}
  
	.features_section_wrap .feature_item {
	  gap: 20px;
	}
  
	.features_section_wrap .feature_icon {
	  width: 80px;
	  height: 80px;
	}
  
	.features_section_wrap .feature_icon svg {
	  width: 40px;
	  height: 40px;
	}
  
	.features_section_wrap .feature_title {
	  font-size: 17px;
	}
  
	.features_section_wrap .feature_description {
	  font-size: 15px;
	  line-height: 22px;
	}
  
	.features_section_wrap .feature_description br {
	  display: none;
	}
  }
  
  /* 반응형 - 작은 모바일 */
  @media (max-width: 480px) {
	.features_section_wrap {
	  padding: 40px 0px;
	}
  
	.features_section_wrap .features_container {
	  gap: 32px;
	}
  
	.features_section_wrap .features_header {
	  gap: 16px;
	}
  
	.features_section_wrap .features_title {
	  font-size: 22px;
	  line-height: 22px;
	}
  
	.features_section_wrap .features_description {
	  font-size: 14px;
	  line-height: 21px;
	}
  
	.features_section_wrap .features_grid {
	  gap: 32px;
	}
  
	.features_section_wrap .feature_item {
	  gap: 16px;
	}
  
	.features_section_wrap .feature_icon {
	  width: 72px;
	  height: 72px;
	}
  
	.features_section_wrap .feature_icon svg {
	  width: 36px;
	  height: 36px;
	}
  
	.features_section_wrap .feature_title {
	  font-size: 16px;
	}
  
	.features_section_wrap .feature_description {
	  font-size: 14px;
	  line-height: 21px;
	}

	.reservation_title_wrap {
		width: 40% !important;
		top: -5% !important;
	}

	.reservation_box{width: 300px !important;}

	.reservation_contact_number{font-size: 30px !important;}

	.reservation_footer{
		flex-direction: column;
		align-items: center;
		gap: 10px;
		bottom: 30px !important;
	}

  }

  
  /* 애니메이션 효과 (선택사항) */
  @keyframes fadeInUp {
	from {
	  opacity: 0;
	  transform: translateY(30px);
	}
	to {
	  opacity: 1;
	  transform: translateY(0);
	}
  }
  
  .features_section_wrap .feature_item {
	animation: fadeInUp 0.8s ease-out;
  }
  
  .features_section_wrap .feature_item:nth-child(1) {
	animation-delay: 0.1s;
  }
  
  .features_section_wrap .feature_item:nth-child(2) {
	animation-delay: 0.2s;
  }
  
  .features_section_wrap .feature_item:nth-child(3) {
	animation-delay: 0.3s;
  }

  /* reservation_section========================= */
  .reservation_section {position: relative; height: 880px; background: linear-gradient(0deg, rgba(0,0,0,0.60) 0%, rgba(0,0,0,0.60) 100%); overflow: hidden;}
.reservation_bg_img {width: 100%; height: 100%; position: absolute; object-fit: cover; opacity: 0.9;}

.reservation_inner {width: 896px; height: 652px; position: absolute; left: 50%; top: 114px; transform: translateX(-50%);}

.reservation_title_wrap {width: 100%; position: absolute; top: 0; left: 50%; transform: translateX(-50%); display: flex; flex-direction: column; align-items: center; gap: 12px;}
.reservation_title {color: #fff; font-size: 35px; font-weight: 700; line-height: 52px; text-transform: uppercase; text-align: center;}
.reservation_desc {color: #fff; font-size: 18px; line-height: 27px; text-align: center;}

.reservation_box {width: 460px; position: absolute; left: 50%; top: 153px; transform: translateX(-50%); padding: 56px 48px; background: rgba(255,255,255,0.1); border-radius: 4px; outline: 1px solid rgba(255,255,255,0.2); outline-offset: -1px;}
.reservation_box_inner {display: flex; flex-direction: column; gap: 24px; align-items: center;}

.reservation_contact {display: flex; align-items: center; gap: 40px;}
.reservation_icon {width: 32px; height: 32px; position: relative; overflow: hidden;}
.reservation_icon_shape {position: absolute; left: 2.67px; top: 2.67px; width: 26.67px; height: 26.67px; outline: 2.67px solid #fff; outline-offset: -1.33px;}

.reservation_contact_text {display: flex; flex-direction: column; gap: 4px;}
.reservation_contact_label {color: #fff; font-size: 16px; font-weight: 400;}
.reservation_contact_number {color: #fff; font-size: 32px; font-weight: 700; line-height: 32px;}

.reservation_notice {color: #fff; font-size: 16px; line-height: 24px; text-align: center;}

.reservation_btn {width: 100%; height: 56px; padding: 16px 24px; background: #89A700; border-radius: 4px; color: #fff; font-size: 16px; font-weight: 500; display: flex; align-items: center; justify-content: space-between; cursor: pointer; border: none;}
.reservation_btn_icon {width: 24px; height: 20px; background: #fff;}

.reservation_footer {position: absolute; bottom: 0; left: 0; width: 100%; display: flex; justify-content: space-between; height: 50px;}
.reservation_footer_item {width: 33.333%; display: flex; flex-direction: column; align-items: center; gap: 8px; text-align: center;}
.reservation_section .footer_label {color: #89A700; font-size: 14px; font-weight: 700;}
.reservation_section  .footer_text {color: #fff; font-size: 14px; font-weight: 400;}
.reservation_line{width: 100%; height: 1px; 
	background-color: rgba(255, 255, 255, 0.20);}


	/* sub_visual ===========================*/

	.sub_visual {width: 100%; position: relative; height: 500px; overflow: hidden; display: flex; justify-content: center; align-items: center; background-size: cover;}
.sub_visual_bg {width: 100%; height: 100%; position: absolute;object-fit: cover; opacity: 0.9;}

.sub_nav_wrap {position: absolute; top: 0; left: 0; width: 100%; height: 68px; display: flex; justify-content: center;}
.sub_nav_inner {width: 1320px; height: 68px; padding: 0 24px; display: flex; align-items: center; justify-content: space-between;}
.sub_nav_logo {color: #fff; font-size: 24px; font-weight: 700;}

.sub_nav_menu {display: flex; gap: 32px;}
.sub_nav_menu a {color: #fff; font-size: 16px; text-decoration: none; font-family: Arial; line-height: 24px;}

.sub_visual_title_wrap {position: relative; z-index: 10; display: flex; justify-content: center; width: 100%;}
.sub_visual_title {color: #fff; font-size: 42px; font-weight: 700; font-family: Raleway; text-transform: uppercase; line-height: 46px;}


/* intro ==================*/
.about_intro {padding: 120px 0; display: flex; justify-content: center;}
.about_intro_inner {padding: 1px 15px; display: flex; flex-direction: column; align-items: center; gap: 40px; word-break: keep-all;}

.about_intro_icon {width: 120px; height: 120px; position: relative;}
.about_intro_icon_shape {width: 112px; height: 82px; position: absolute; left: 4px; top: 15px; background: #6D9600;}

.about_intro_title {text-align: center; display: flex; flex-direction: column; justify-content: center;}
.title_green {color: #6D9600; font-size: 40px; font-weight: 700; line-height: 40px;}
.title_black {color: #333; font-size: 40px; font-weight: 700; line-height: 40px;}

.about_intro_subtitle {color: #222; line-height: 130%; font-size: 20px; font-weight: 500; letter-spacing: 0.2px; text-align: center;}
.about_intro_text {color: #666; font-size: 18px; font-weight: 400; line-height: 27px; letter-spacing: 0.09px; text-align: center;}



/* servicse sec */
.about_services {
    width: 100%; 
    padding: 80px 0; 
    background: #F5F5EF; 
    display: flex; 
    justify-content: center;
}

.about_services_inner { 
    display: flex; 
    align-items: center; 
    gap: 80px;
}

.about_services_img {
    width: 480px; 
    height: 360px; 
    overflow: hidden;
    flex-shrink: 0;
}

.about_services_img img {
    width: 100%; 
    height: 100%; 
    object-fit: cover;
}

.about_services_list {
    flex: 1; 
    display: flex; 
    flex-direction: column; 
    gap: 40px;
}

.service_item {
    display: flex; 
    align-items: flex-start; 
    gap: 24px;
}

.service_icon {
    width: 45px; 
    height: 45px; 
    position: relative;
    flex-shrink: 0;
}

.service_icon_outline {
    position: absolute; 
    width: 48px; 
    height: 16px; 
    left: 0; 
    top: 34px; 
    transform: rotate(-45deg); 
    border-radius: 4px; 
    border: 1px solid rgba(150,179,72,0.8);
}

.service_icon_fill {
    position: absolute; 
    width: 24px; 
    height: 8px; 
    left: 11px; 
    top: 28px; 
    transform: rotate(-45deg); 
    border-radius: 4px; 
    background: rgba(109,150,0,0.5);
}

.service_textbox {
    display: flex; 
    flex-direction: column; 
    gap: 6px;
    flex: 1;
}

.service_title {
    color: #89A700; 
    font-size: 14px; 
    font-weight: 400; 
    line-height: 14px; 
    letter-spacing: 0.20px;
}

.service_desc {
    color: #222; 
    font-size: 16px; 
    font-weight: 400; 
    line-height: 24px; 
    letter-spacing: 0.08px;
}

/* 태블릿 */
@media (max-width: 1024px) {
    .about_services {
        padding: 60px 0;
    }
    
    .about_services_inner {
        gap: 60px;
    }
    
    .about_services_img {
        width: 400px;
        height: 300px;
    }
    
    .about_services_list {
        gap: 32px;
    }
}

/* 작은 태블릿 */
@media (max-width: 768px) {
    .about_services {
        padding: 50px 0;
    }
    
    .about_services_inner {
        flex-direction: column;
        gap: 40px;
    }
    
    .about_services_img {
        width: 100%;
        max-width: 480px;
        height: 280px;
    }
    
    .about_services_list {
        width: 100%;
        gap: 28px;
    }
}

/* 모바일 */
@media (max-width: 480px) {
    .about_services {
        padding: 40px 0;
    }
    
    .about_services_inner {
        gap: 32px;
    }
    
    .about_services_img {
        height: 240px;
    }
    
    .about_services_list {
        gap: 24px;
    }
    
    .service_item {
        gap: 16px;
    }
    
    .service_icon {
        width: 40px;
        height: 40px;
    }
    
    .service_icon_outline {
        width: 42px;
        height: 14px;
        top: 30px;
    }
    
    .service_icon_fill {
        width: 21px;
        height: 7px;
        left: 10px;
        top: 25px;
    }
    
    .service_desc {
        font-size: 15px;
        line-height: 22px;
    }
}

/* 작은 모바일 */
@media (max-width: 360px) {
    .about_services {
        padding: 36px 0;
    }
    
    .about_services_img {
        height: 200px;
    }
    
    .service_desc {
        font-size: 14px;
        line-height: 20px;
    }
}

@media (max-width: 344px) {
    .hero_section {
        height: 30vh !important;
    }
}