/*     3616685 : BLANK 컨텐츠      */
.verti_line {
  margin: 30px auto;
  width: 1px;
  height: 50px;
  background: #333;
}
.verti_line.show {
  opacity: 1;
}

@media (max-width: 767px) {
  .verti_line {
    margin: 15px auto;
    height: 35px;
  }
}

/*     3616695 : BLANK 컨텐츠      */
<style>
.aniTxt {display:flex; flex-wrap:wrap; position:relative; flex-direction:row; text-align:center;justify-content:center;}
.aniTxt>span {overflow:hidden; display:inline-block;;line-height: 1em;}
.aniTxt>span>span {display:block; transform:translateY(100%);line-height: 1em;}
.aniTxt>span.on>span {transform:translateY(0); transition:all .5s ease !important; line-height:1.2em}
.text_407011_ [class^="txtAni"] .empty {width:.8vw;}
.text_407011_ [class^="txtAni"]>span {font-size:40px; letter-spacing:-1px; font-weight:normal; color:#333;font-family: NX1 !important;}
.text_407011_ [class^="txtAni"]>span>span {font-size:40px; letter-spacing:-1px; font-weight:normal; color:#333;  font-family: NX1 !important;}  
.text_407011_ p { margin:0; padding:0;
	font-size:40px; letter-spacing:-1px; font-weight:normal; color:#333; line-height:1.3em;font-family: NX1 !important;}
.text_407011_ p a {color:#333; text-decoration:none;}
  
@media screen and (max-width: 1800px){
  .text_407011_ p {font-size:40px;}
}  
  
  @media screen and (max-width: 750px){
  .text_407011_ p {font-size:20px;}
}  
  
</style>

/*     3616705 : BLANK 컨텐츠      */
{@
$barTop = ceil($farm_set[font_size] * 0.2);
$circleTop = ceil($farm_set[font_size] * 1.4 / 2 -6);
@}
<style>
.title_3611685_ {font-size:0; padding:40px 0 !important;}
.title_3611685_ p {
	display:block; position:relative; margin:0; padding: 0 0 40px ;
	font-size:36px; letter-spacing:-2px; font-weight:500; color:#41b470; line-height:1.4;
}
.title_3611685_ p b{font-size:18px; font-weight:500; color:#a0a0a0;}
.title_3611685_ p span{
	display:flex; align-items:center; justify-content:center; gap:10px;
	height:30px; color:#0047AB; line-height:30px; margin-top:8px;
	font-size:15px; letter-spacing:7px; font-weight:400;
	padding:0 80px;
	white-space:nowrap;
}
.title_3611685_ p span:before,
.title_3611685_ p span:after{
	content:''; width:60px; height:1px; background:#d8d8d8; flex-shrink:0;
}
.title_3611685_ p:before {content:''; position:absolute; background:#d00000; font-size:0;}
.title_3611685_.style_top p {padding-top:10px;}
.title_3611685_.style_top p:before {left:0; top:0; width:36px; height:4px;}
.title_3611685_.style_right p {padding-right:14px;}
.title_3611685_.style_right p:before {right:0; top:{$barTop}px; width:4px; height:36px;}
.title_3611685_.style_bottom p {padding-bottom:12px;}
.title_3611685_.style_bottom p:before {left:0; bottom:0; width:36px; height:4px;}
.title_3611685_.style_left p {padding-left:14px;}
.title_3611685_.style_left p:before {left:0; top:{$barTop}px; width:4px; height:36px;}
.title_3611685_.style_circle1 p {padding-left:20px;}
.title_3611685_.style_circle1 p:before {
	left:0; top:{$circleTop}px; width:12px; height:12px;
	border-radius:12px;
}
.title_3611685_.style_circle2 p {padding-left:20px;}
.title_3611685_.style_circle2 p:before {
	left:0; top:{$circleTop}px; width:12px; height:12px;
	border:2px solid #d00000; border-radius:12px; background:none; box-sizing:border-box;
}
@media (max-width:1023px){
  .title_3611685_ p span{font-size:15px; padding:0 40px;}
}
@media (max-width:767px){
  .title_3611685_ p span{font-size:13px; letter-spacing:3px; padding:0 20px;}
}
</style>

/*     3616715 : BLANK 컨텐츠      */
.blank__3616715__ {box-sizing:border-box;display:block;position:relative;width:100%;height:65px}
.blank__3616715__.build_edit_mode {min-height:10px;border:1px dashed red;background:rgba(255,255,255,.1);}
.blank__3616715__.build_edit_mode:before {content:'Blank';display:block;position:absolute;top:50%;left:0;right:0;margin-top:-10px;padding:5px 0;font-size:13px;color:red;text-align:center;line-height:1}

@media all and (max-width:1023px){
	.blank__3616715__ {height:30px}
}

/*     3629125 : BLANK 컨텐츠      */
.blank__3629125__ {box-sizing:border-box;display:block;position:relative;width:100%;height:25px}
.blank__3629125__.build_edit_mode {min-height:10px;border:1px dashed red;background:rgba(255,255,255,.1);}
.blank__3629125__.build_edit_mode:before {content:'Blank';display:block;position:absolute;top:50%;left:0;right:0;margin-top:-10px;padding:5px 0;font-size:13px;color:red;text-align:center;line-height:1}

@media all and (max-width:1023px){
	.blank__3629125__ {height:0px}
}

/*     3616735 : 타이틀 텍스트      */
<style>
.title_407241_ {font-size:0;}
.title_407241_ p {
	display:inline-block; position:relative; margin:0; padding:0;
	font-size:30px; letter-spacing:-1px; font-weight:500; color:#333333; line-height:1.4em; transition:all 0.25s;
}
.title_407241_ p:before {content:''; position:absolute; background:{$farm_set[style_color]}; font-size:0;}
.title_407241_ p:after{content:''; display:block; width:0; height:3px; background:none; position:absolute; bottom:-7px; left:0; transition:all 0.25s;}


@media (max-width:1023px){
  .title_407241_ p{font-size:20px;}
}
@media (max-width:767px){
  .title_407241_ p{font-size:18px; margin-left:10px;}
} 
</style>

/*     3621635 : BLANK 컨텐츠      */
.blank__3621635__ {box-sizing:border-box;display:block;position:relative;width:100%;height:30px}
.blank__3621635__.build_edit_mode {min-height:10px;border:1px dashed red;background:rgba(255,255,255,.1);}
.blank__3621635__.build_edit_mode:before {content:'Blank';display:block;position:absolute;top:50%;left:0;right:0;margin-top:-10px;padding:5px 0;font-size:13px;color:red;text-align:center;line-height:1}

@media all and (max-width:1023px){
	.blank__3621635__ {height:15px}
}

/*     3617065 : BLANK 컨텐츠      */
/* ============================================
   외래접수 및 진료시간 - outpatient-hours.css
   포인트 컬러: #0047AB
   PC: 20px / Tablet(~1023px): 18px / Mobile(~767px): 15px
   ============================================ */

:root {
  --color-primary: #0047AB;
  --color-primary-light: rgba(0, 71, 171, 0.08);
  --color-primary-border: rgba(0, 71, 171, 0.2);
  --color-text: #222222;
  --color-text-sub: #555555;
  --color-notice: #666666;
  --color-bg: #ffffff;
  --color-divider: #e0e6f0;
  --color-bullet: #FFD700;
  --font-size-pc: 20px;
  --font-size-tablet: 18px;
  --font-size-mobile: 15px;
  --shadow: 0 4px 24px rgba(0, 71, 171, 0.07);
}

.outpatient-section *,
.outpatient-section *::before,
.outpatient-section *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

.outpatient-section {
  width: 100%;
  padding: 40px 0;
  font-size: var(--font-size-pc);
  font-family: 'Noto Sans KR', 'Apple SD Gothic Neo', 'Malgun Gothic', sans-serif;
  color: var(--color-text);
  line-height: 1.4;
}

.outpatient-inner {
  display: flex;
  align-items: center;
  background: var(--color-bg);
  border: 1px solid #cccccc;
  border-radius: 0;
  padding: 45px 40px;
  box-shadow: var(--shadow);
  position: relative;
  overflow: hidden;
}

.outpatient-section .outpatient-content {
  flex: 1 1 0;
  min-width: 0;
  padding: 0 35% 0 50px;
}

/* 타이틀 */
.section-title {
  font-size: 28px;
  font-weight: 700;
  color: var(--color-text);
  margin-bottom: 15px;
  letter-spacing: -0.02em;
  line-height: 1.3;
}

/* 스케줄 블록: 요일 + 시간 한 줄 */
.schedule-block {
  margin-bottom: 6px;
  display: flex;
  align-items: baseline;
  gap: 10px;
}

.schedule-block:last-of-type {
  margin-bottom: 20px;
}

/* 요일명 - 노란 불릿 포함 */
.schedule-day {
  font-size: 18px;
  font-weight: 700;
  color: var(--color-text);
  white-space: nowrap;
  display: flex;
  align-items: baseline;
  gap: 8px;
  flex-shrink: 0;
}

.schedule-day::before {
  content: '';
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--color-bullet);
  flex-shrink: 0;
  position: relative;  /* ← 추가 */
  top: -1px;           /* ← 추가 */
}

/* 리스트 */
.schedule-list {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 0 6px;
  padding: 0;
}

.schedule-list li {
  font-size: 18px;
  color: var(--color-text-sub);
  display: flex;
  align-items: baseline;
  gap: 4px;
}

.schedule-list li + li::before {
  content: '/';
  color: #ccc;
  margin-right: 4px;
}

.schedule-list .label {
  font-weight: 500;
  color: #555;
  white-space: nowrap;
}

.schedule-list .time {
  color: var(--color-text-sub);
  white-space: nowrap;
}

.schedule-list .time em {
  font-style: normal;
  color: #888;
  font-size: 18px;
}

/* 안내 문구 */
.notice {
  font-size: 18px;
  color: var(--color-notice);
  margin-top: 18px;
  line-height: 1.7;
  padding-left: 4px;
  border-top: 1px solid var(--color-divider);
  padding-top: 16px;
}

/* 이미지 영역 */
.outpatient-image {
  position: absolute;
  right: 70px;
  bottom: 0;
  width: 45%;
  height: 100%;
  pointer-events: none;
}

.doctor-image {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: bottom right;
}

/* ─── 태블릿 (max-width: 1023px) ─── */
@media (max-width: 1023px) {
  .outpatient-section {
    font-size: var(--font-size-tablet);
    padding: 36px 0;
  }
  .outpatient-inner {
    padding: 0 0 0 32px;
  }
  .outpatient-section .outpatient-content {
    padding: 36px 28px 36px 0;
  }
  .outpatient-image {
    flex: 0 0 38%;
    width: 38%;
  }
  .section-title {
    font-size: 1.38em;
    margin-bottom: 15px;
  }
}

/* ─── 모바일 (max-width: 767px) ─── */
@media (max-width: 767px) {
  .outpatient-section {
    font-size: var(--font-size-mobile);
    padding: 24px 0;
  }
  .outpatient-inner {
    flex-direction: column;
    padding: 0;
    border-radius: 10px;
  }
  .outpatient-section .outpatient-content {
    padding: 28px 22px 24px;
    width: 100%;
  }
  .section-title { font-size: 15px; margin-bottom: 18px; }
  .outpatient-image { display: none; }
  .schedule-block { flex-wrap: wrap; gap: 6px; margin-bottom: 14px; }
  .schedule-day { font-size: 15px; }
  .schedule-list li { font-size: 15px; }
  .schedule-list .label { font-size: 15px; }
  .schedule-list .time { font-size: 15px; }
  .schedule-list .time em { font-size: 15px; }
  .notice { font-size: 15px; }
}

/*     3621695 : BLANK 컨텐츠      */
.blank__3621695__ {box-sizing:border-box;display:block;position:relative;width:100%;height:25px}
.blank__3621695__.build_edit_mode {min-height:10px;border:1px dashed red;background:rgba(255,255,255,.1);}
.blank__3621695__.build_edit_mode:before {content:'Blank';display:block;position:absolute;top:50%;left:0;right:0;margin-top:-10px;padding:5px 0;font-size:13px;color:red;text-align:center;line-height:1}

@media all and (max-width:1023px){
	.blank__3621695__ {height:10px}
}

/*     3621705 : 타이틀 텍스트      */
<style>
.title_407241_ {font-size:0;}
.title_407241_ p {
	display:inline-block; position:relative; margin:0; padding:0;
	font-size:30px; letter-spacing:-1px; font-weight:500; color:#333333; line-height:1.4em; transition:all 0.25s;
}
.title_407241_ p:before {content:''; position:absolute; background:{$farm_set[style_color]}; font-size:0;}
.title_407241_ p:after{content:''; display:block; width:0; height:3px; background:none; position:absolute; bottom:-7px; left:0; transition:all 0.25s;}


@media (max-width:1023px){
  .title_407241_ p{font-size:20px;}
}
@media (max-width:767px){
  .title_407241_ p{font-size:18px; margin-left:10px;}
} 
</style>

/*     3621715 : BLANK 컨텐츠      */
.blank__3621715__ {box-sizing:border-box;display:block;position:relative;width:100%;height:30px}
.blank__3621715__.build_edit_mode {min-height:10px;border:1px dashed red;background:rgba(255,255,255,.1);}
.blank__3621715__.build_edit_mode:before {content:'Blank';display:block;position:absolute;top:50%;left:0;right:0;margin-top:-10px;padding:5px 0;font-size:13px;color:red;text-align:center;line-height:1}

@media all and (max-width:1023px){
	.blank__3621715__ {height:15px}
}

/*     3621725 : BLANK 컨텐츠      */
.blank__3621725__ {box-sizing:border-box;display:block;position:relative;width:100%;height:30px}
.blank__3621725__.build_edit_mode {min-height:10px;border:1px dashed red;background:rgba(255,255,255,.1);}
.blank__3621725__.build_edit_mode:before {content:'Blank';display:block;position:absolute;top:50%;left:0;right:0;margin-top:-10px;padding:5px 0;font-size:13px;color:red;text-align:center;line-height:1}

@media all and (max-width:1023px){
	.blank__3621725__ {height:15px}
}

/*     3621735 : BLANK 컨텐츠      */
/* ================================
   STEP PROCESS - CMS 충돌 방지용
   (클래스명 smc_ 접두사 + !important)
================================ */
.smc_step_process {
  width: 100% !important;
  padding: 10px 0 !important;
}
.smc_step_list {
  display: grid !important;
  grid-template-columns: 1fr 40px 1fr 40px 1fr 40px 1fr !important;
  align-items: stretch !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.smc_step_item {
  min-width: 0 !important;
  float: none !important;
  width: auto !important;
}
.smc_step_box {
  position: relative !important;        /* ← 추가 */
  height: 100% !important;
  background: #fff !important;
  border-radius: 10px !important;
  border: 1px solid #dde3ec !important;  /* ← 상단 포함 전체 회색 */
  border-top: 1px solid #dde3ec !important; /* ← 기존 파란 상단선 제거 */
  padding: 40px 20px 28px !important;    /* ← 상단 여백 살짝 증가 */
  text-align: center !important;
  box-shadow: 0 2px 10px rgba(0,0,0,0.07) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 16px !important;
  box-sizing: border-box !important;
}
/* 상단 짧은 파란 선 (가상요소) */
.smc_step_box::before {
  content: '' !important;
  position: absolute !important;
  top: -1px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 40px !important;               /* ← 선 길이 조절 */
  height: 3px !important;
  background: #3a9bd5 !important;       /* ← 파란 선 색상 */
  border-radius: 2px !important;
}
.smc_step_label {
  display: block !important;
  font-size: 20px !important;
  font-weight: 500 !important;
  color: #3a9bd5 !important;            /* ← 이미지2 밝은 파란색 */
  letter-spacing: 0.1em !important;
  margin: 0 !important;
  padding: 0 !important;
}
.smc_step_text {
  font-size: 18px !important;
  color: #333 !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.3 !important;
  word-break: keep-all !important;
}
/* STEP 4 강조 (주황색) */
.smc_step_last .smc_step_text        { color: #e87722 !important; }

/* 화살표 */
.smc_step_arrow {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  list-style: none !important;
}
.smc_step_arrow::before {
  content: '' !important;
  display: block !important;
  width: 9px !important;
  height: 9px !important;
  border-top: 2px solid #c0c8d4 !important;
  border-right: 2px solid #c0c8d4 !important;
  transform: rotate(45deg) !important;
  border-bottom: none !important;
  border-left: none !important;
  background: none !important;
}
.smc_step_box {
  transition: transform 0.25s ease, box-shadow 0.25s ease !important;
  cursor: default !important;
}
.smc_step_box:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.13) !important;
}
.smc_step_box::before {
  transition: width 0.3s ease !important;
}
.smc_step_box:hover::before {
  width: 80px !important;
}
/* ================================
   태블릿 (max-width: 1023px)
================================ */
@media (max-width: 1023px) {
  .smc_step_list {
    grid-template-columns: 1fr 30px 1fr 30px 1fr 30px 1fr !important;
  }
  .smc_step_box {
    padding: 32px 12px 20px !important;
    gap: 12px !important;
  }
  .smc_step_text { font-size: 18px !important; }
}
/* ================================
   모바일 (max-width: 767px)
================================ */
@media (max-width: 767px) {
  .smc_step_list {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto 32px auto 32px auto 32px auto !important;
  }
  .smc_step_item {
    width: 100% !important;
  }
  .smc_step_box {
    min-height: 88px !important;
    padding: 24px 20px 18px !important;
    gap: 10px !important;
  }
  .smc_step_text  { font-size: 15px !important; }
  .smc_step_label { font-size: 15px !important; }
  .smc_step_arrow::before { transform: rotate(135deg) !important; }
}

/*     3621745 : BLANK 컨텐츠      */
/* =============================================
   내원 안내 섹션 스타일
   PC: 18px / 태블릿(max-width:1023px) / 모바일(max-width:767px)
   ============================================= */

.visit-info-section {
  width: 100%;
  padding: 40px 0px 0;
  font-size: 18px;
  font-family: 'Malgun Gothic', '맑은 고딕', sans-serif;
  color: #333;
}

.visit-info-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

/* ── 좌측 텍스트 ── */
.visit-info-text {
  flex: 1;
}

.visit-info-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.visit-info-list li {
  position: relative;
  padding-left: 16px;
  line-height: 1.7;
  font-size: 18px;
  color: #333;
}

.visit-info-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 5px;
  height: 5px;
  background-color: #0047AB;
  border-radius: 0;
}
.visit-info-list li.no-bullet::before {
  display: none;
}
.visit-info-list li.no-bullet {
  padding-left: 0;
}
/* ── 우측 버튼 영역 ── */
.visit-info-btns {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}

/* 공통 버튼 스타일 */
.visit-info-btns a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 12px 22px;
  border-radius: 50px;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
  transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
  font-family: 'Malgun Gothic', '맑은 고딕', sans-serif;
  cursor: pointer;
}

/* 위치 버튼 → 기본: 아웃라인 / 호버: 채워진 버튼 */
.btn-location {
  background-color: #fff;
  color: #0047AB !important;
  border: 2px solid #0047AB;
}

.btn-location:hover {
  background-color: #0047AB;
  color: #fff !important;
  border-color: #0047AB;
}

.btn-location:hover .btn-icon-svg {
  fill: #fff;
}

/* 아이콘 공통 */
.btn-icon {
  width: 18px;
  height: 18px;
  object-fit: contain;
  vertical-align: middle;
}

.btn-icon-svg {
  width: 18px;
  height: 18px;
  fill: #0047AB;
  flex-shrink: 0;
  transition: fill 0.25s ease;
}

/* 이미지가 있으면 svg 숨김 (JS에서 처리) */
.btn-location.has-icon .btn-icon-svg {
  display: none;
}

/* 주차 안내 버튼 → 기본: 채워진 버튼 / 호버: 아웃라인 */
.btn-parking {
  background-color: #0047AB;
  color: #fff !important;
  border: 2px solid #0047AB;
}

.btn-parking:hover {
  background-color: #fff;
  color: #0047AB !important;
  border-color: #0047AB;
}

/* ── 태블릿 (max-width: 1023px) ── */
@media (max-width: 1023px) {
  .visit-info-section {
    font-size: 16px;
    padding: 24px 0;
  }

  .visit-info-list li {
    font-size: 16px;
  }

  .visit-info-btns a {
    padding: 10px 18px;
    font-size: 15px;
  }

  .visit-info-inner {
    flex-direction: column;
    align-items: flex-start;
  }

  .visit-info-btns {
    width: 100%;
    margin-top: 16px;
  }
}

/* ── 모바일 (max-width: 767px) ── */
@media (max-width: 767px) {
  .visit-info-section {
    font-size: 15px;
    padding: 20px 0;
  }

  .visit-info-list li {
    font-size: 15px;
    line-height: 1.6;
  }

  .visit-info-btns {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }

  .visit-info-btns a {
    width: 100%;
    justify-content: center;
    font-size: 14px;
    padding: 10px 16px;
  }

  .btn-icon-svg {
    width: 16px;
    height: 16px;
  }
}

/*     3621755 : BLANK 컨텐츠      */
.blank__3621755__ {box-sizing:border-box;display:block;position:relative;width:100%;height:95px}
.blank__3621755__.build_edit_mode {min-height:10px;border:1px dashed red;background:rgba(255,255,255,.1);}
.blank__3621755__.build_edit_mode:before {content:'Blank';display:block;position:absolute;top:50%;left:0;right:0;margin-top:-10px;padding:5px 0;font-size:13px;color:red;text-align:center;line-height:1}

@media all and (max-width:1023px){
	.blank__3621755__ {height:30px}
}

/*     3620305 : BLANK 컨텐츠      */
.blank__3620305__ {box-sizing:border-box;display:block;position:relative;width:100%;height:55px}
.blank__3620305__.build_edit_mode {min-height:10px;border:1px dashed red;background:rgba(255,255,255,.1);}
.blank__3620305__.build_edit_mode:before {content:'Blank';display:block;position:absolute;top:50%;left:0;right:0;margin-top:-10px;padding:5px 0;font-size:13px;color:red;text-align:center;line-height:1}

@media all and (max-width:1023px){
	.blank__3620305__ {height:10px}
}

/*     3620315 : 타이틀 텍스트      */
<style>
.title_407241_ {font-size:0;}
.title_407241_ p {
	display:inline-block; position:relative; margin:0; padding:0;
	font-size:30px; letter-spacing:-1px; font-weight:500; color:#333333; line-height:1.4em; transition:all 0.25s;
}
.title_407241_ p:before {content:''; position:absolute; background:{$farm_set[style_color]}; font-size:0;}
.title_407241_ p:after{content:''; display:block; width:0; height:3px; background:none; position:absolute; bottom:-7px; left:0; transition:all 0.25s;}


@media (max-width:1023px){
  .title_407241_ p{font-size:20px;}
}
@media (max-width:767px){
  .title_407241_ p{font-size:18px; margin-left:10px;}
} 
</style>

/*     3620325 : BLANK 컨텐츠      */
.blank__3620325__ {box-sizing:border-box;display:block;position:relative;width:100%;height:30px}
.blank__3620325__.build_edit_mode {min-height:10px;border:1px dashed red;background:rgba(255,255,255,.1);}
.blank__3620325__.build_edit_mode:before {content:'Blank';display:block;position:absolute;top:50%;left:0;right:0;margin-top:-10px;padding:5px 0;font-size:13px;color:red;text-align:center;line-height:1}

@media all and (max-width:1023px){
	.blank__3620325__ {height:15px}
}

/*     3620335 : BLANK 컨텐츠      */
.blank__3620335__ {box-sizing:border-box;display:block;position:relative;width:100%;height:30px}
.blank__3620335__.build_edit_mode {min-height:10px;border:1px dashed red;background:rgba(255,255,255,.1);}
.blank__3620335__.build_edit_mode:before {content:'Blank';display:block;position:absolute;top:50%;left:0;right:0;margin-top:-10px;padding:5px 0;font-size:13px;color:red;text-align:center;line-height:1}

@media all and (max-width:1023px){
	.blank__3620335__ {height:15px}
}

/*     3620345 : BLANK 컨텐츠      */
/* ================================
   STEP PROCESS - CMS 충돌 방지용
   (클래스명 smc_ 접두사 + !important)
================================ */
.smc_step_process {
  width: 100% !important;
  padding: 10px 0 !important;
}
.smc_step_list {
  display: grid !important;
  grid-template-columns: 1fr 40px 1fr 40px 1fr 40px 1fr !important;
  align-items: stretch !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.smc_step_item {
  min-width: 0 !important;
  float: none !important;
  width: auto !important;
}
.smc_step_box {
  position: relative !important;        /* ← 추가 */
  height: 100% !important;
  background: #fff !important;
  border-radius: 10px !important;
  border: 1px solid #dde3ec !important;  /* ← 상단 포함 전체 회색 */
  border-top: 1px solid #dde3ec !important; /* ← 기존 파란 상단선 제거 */
  padding: 40px 20px 28px !important;    /* ← 상단 여백 살짝 증가 */
  text-align: center !important;
  box-shadow: 0 2px 10px rgba(0,0,0,0.07) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 16px !important;
  box-sizing: border-box !important;
}
/* 상단 짧은 파란 선 (가상요소) */
.smc_step_box::before {
  content: '' !important;
  position: absolute !important;
  top: -1px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 40px !important;               /* ← 선 길이 조절 */
  height: 3px !important;
  background: #3a9bd5 !important;       /* ← 파란 선 색상 */
  border-radius: 2px !important;
}
.smc_step_label {
  display: block !important;
  font-size: 20px !important;
  font-weight: 500 !important;
  color: #3a9bd5 !important;            /* ← 이미지2 밝은 파란색 */
  letter-spacing: 0.1em !important;
  margin: 0 !important;
  padding: 0 !important;
}
.smc_step_text {
  font-size: 18px !important;
  color: #333 !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.3 !important;
  word-break: keep-all !important;
}
/* STEP 4 강조 (주황색) */
.smc_step_last .smc_step_text        { color: #e87722 !important; }

/* 화살표 */
.smc_step_arrow {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  list-style: none !important;
}
.smc_step_arrow::before {
  content: '' !important;
  display: block !important;
  width: 9px !important;
  height: 9px !important;
  border-top: 2px solid #c0c8d4 !important;
  border-right: 2px solid #c0c8d4 !important;
  transform: rotate(45deg) !important;
  border-bottom: none !important;
  border-left: none !important;
  background: none !important;
}
.smc_step_box {
  transition: transform 0.25s ease, box-shadow 0.25s ease !important;
  cursor: default !important;
}
.smc_step_box:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.13) !important;
}
.smc_step_box::before {
  transition: width 0.3s ease !important;
}
.smc_step_box:hover::before {
  width: 80px !important;
}
/* ================================
   태블릿 (max-width: 1023px)
================================ */
@media (max-width: 1023px) {
  .smc_step_list {
    grid-template-columns: 1fr 30px 1fr 30px 1fr 30px 1fr !important;
  }
  .smc_step_box {
    padding: 32px 12px 20px !important;
    gap: 12px !important;
  }
  .smc_step_text { font-size: 18px !important; }
}
/* ================================
   모바일 (max-width: 767px)
================================ */
@media (max-width: 767px) {
  .smc_step_list {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto 32px auto 32px auto 32px auto !important;
  }
  .smc_step_item {
    width: 100% !important;
  }
  .smc_step_box {
    min-height: 88px !important;
    padding: 24px 20px 18px !important;
    gap: 10px !important;
  }
  .smc_step_text  { font-size: 15px !important; }
  .smc_step_label { font-size: 15px !important; }
  .smc_step_arrow::before { transform: rotate(135deg) !important; }
}

/*     3617685 : BLANK 컨텐츠      */
/* =============================================
   내원 안내 섹션 스타일
   PC: 18px / 태블릿(max-width:1023px) / 모바일(max-width:767px)
   ============================================= */

.visit-info-section {
  width: 100%;
  padding: 40px 0px 0;
  font-size: 18px;
  font-family: 'Malgun Gothic', '맑은 고딕', sans-serif;
  color: #333;
}

.visit-info-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

/* ── 좌측 텍스트 ── */
.visit-info-text {
  flex: 1;
}

.visit-info-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.visit-info-list li {
  position: relative;
  padding-left: 16px;
  line-height: 1.7;
  font-size: 18px;
  color: #333;
}

.visit-info-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 5px;
  height: 5px;
  background-color: #0047AB;
  border-radius: 0;
}

/* ── 우측 버튼 영역 ── */
.visit-info-btns {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}

/* 공통 버튼 스타일 */
.visit-info-btns a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 12px 22px;
  border-radius: 50px;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
  transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
  font-family: 'Malgun Gothic', '맑은 고딕', sans-serif;
  cursor: pointer;
}
.visit-info-list li.no-bullet::before {
  display: none;
}
.visit-info-list li.no-bullet {
  padding-left: 0;
}
/* 위치 버튼 → 기본: 아웃라인 / 호버: 채워진 버튼 */
.btn-location {
  background-color: #fff;
  color: #0047AB !important;
  border: 2px solid #0047AB;
}

.btn-location:hover {
  background-color: #0047AB;
  color: #fff !important;
  border-color: #0047AB;
}

.btn-location:hover .btn-icon-svg {
  fill: #fff;
}

/* 아이콘 공통 */
.btn-icon {
  width: 18px;
  height: 18px;
  object-fit: contain;
  vertical-align: middle;
}

.btn-icon-svg {
  width: 18px;
  height: 18px;
  fill: #0047AB;
  flex-shrink: 0;
  transition: fill 0.25s ease;
}

/* 이미지가 있으면 svg 숨김 (JS에서 처리) */
.btn-location.has-icon .btn-icon-svg {
  display: none;
}

/* 주차 안내 버튼 → 기본: 채워진 버튼 / 호버: 아웃라인 */
.btn-parking {
  background-color: #0047AB;
  color: #fff !important;
  border: 2px solid #0047AB;
}

.btn-parking:hover {
  background-color: #fff;
  color: #0047AB !important;
  border-color: #0047AB;
}

/* ── 태블릿 (max-width: 1023px) ── */
@media (max-width: 1023px) {
  .visit-info-section {
    font-size: 16px;
    padding: 24px 0;
  }

  .visit-info-list li {
    font-size: 16px;
  }

  .visit-info-btns a {
    padding: 10px 18px;
    font-size: 15px;
  }

  .visit-info-inner {
    flex-direction: column;
    align-items: flex-start;
  }

  .visit-info-btns {
    width: 100%;
    margin-top: 16px;
  }
}

/* ── 모바일 (max-width: 767px) ── */
@media (max-width: 767px) {
  .visit-info-section {
    font-size: 15px;
    padding: 20px 0;
  }

  .visit-info-list li {
    font-size: 15px;
    line-height: 1.6;
  }

  .visit-info-btns {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }

  .visit-info-btns a {
    width: 100%;
    justify-content: center;
    font-size: 14px;
    padding: 10px 16px;
  }

  .btn-icon-svg {
    width: 16px;
    height: 16px;
  }
}

/*     3617015 : BLANK 컨텐츠      */
.blank__3617015__ {box-sizing:border-box;display:block;position:relative;width:100%;height:65px}
.blank__3617015__.build_edit_mode {min-height:10px;border:1px dashed red;background:rgba(255,255,255,.1);}
.blank__3617015__.build_edit_mode:before {content:'Blank';display:block;position:absolute;top:50%;left:0;right:0;margin-top:-10px;padding:5px 0;font-size:13px;color:red;text-align:center;line-height:1}

@media all and (max-width:1023px){
	.blank__3617015__ {height:10px}
}

/*     3621675 : BLANK 컨텐츠      */
.blank__3621675__ {box-sizing:border-box;display:block;position:relative;width:100%;height:65px}
.blank__3621675__.build_edit_mode {min-height:10px;border:1px dashed red;background:rgba(255,255,255,.1);}
.blank__3621675__.build_edit_mode:before {content:'Blank';display:block;position:absolute;top:50%;left:0;right:0;margin-top:-10px;padding:5px 0;font-size:13px;color:red;text-align:center;line-height:1}

@media all and (max-width:1023px){
	.blank__3621675__ {height:30px}
}

/*     3617025 : 타이틀 텍스트      */
<style>
.title_407241_ {font-size:0;}
.title_407241_ p {
	display:inline-block; position:relative; margin:0; padding:0;
	font-size:30px; letter-spacing:-1px; font-weight:500; color:#333333; line-height:1.4em; transition:all 0.25s;
}
.title_407241_ p:before {content:''; position:absolute; background:{$farm_set[style_color]}; font-size:0;}
.title_407241_ p:after{content:''; display:block; width:0; height:3px; background:none; position:absolute; bottom:-7px; left:0; transition:all 0.25s;}


@media (max-width:1023px){
  .title_407241_ p{font-size:20px;}
}
@media (max-width:767px){
  .title_407241_ p{font-size:18px; margin-left:10px;}
} 
</style>

/*     3617035 : BLANK 컨텐츠      */
.blank__3617035__ {box-sizing:border-box;display:block;position:relative;width:100%;height:30px}
.blank__3617035__.build_edit_mode {min-height:10px;border:1px dashed red;background:rgba(255,255,255,.1);}
.blank__3617035__.build_edit_mode:before {content:'Blank';display:block;position:absolute;top:50%;left:0;right:0;margin-top:-10px;padding:5px 0;font-size:13px;color:red;text-align:center;line-height:1}

@media all and (max-width:1023px){
	.blank__3617035__ {height:15px}
}

/*     3617045 : BLANK 컨텐츠      */
/* =============================================
   내원 안내 섹션 스타일
   PC: 18px / 태블릿(max-width:1023px) / 모바일(max-width:767px)
   ============================================= */

.visit-info-section {
  width: 100%;
  padding: 40px 0px 0;
  font-size: 18px;
  font-family: 'Malgun Gothic', '맑은 고딕', sans-serif;
  color: #333;
}

.visit-info-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  max-width: 1200px;
  margin: 0;
padding: 0;
}

/* ── 좌측 텍스트 ── */
.visit-info-text {
  flex: 1;
}

.visit-info-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.visit-info-list li {
  position: relative;
  padding-left: 16px;
  line-height: 1.7;
  font-size: 18px;
  color: #333;
}

.visit-info-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 5px;
  height: 5px;
  background-color: #0047AB;
  border-radius: 0;
}

/* ── 우측 버튼 영역 ── */
.visit-info-btns {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}

/* 공통 버튼 스타일 */
.visit-info-btns a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 12px 22px;
  border-radius: 50px;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
  transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
  font-family: 'Malgun Gothic', '맑은 고딕', sans-serif;
  cursor: pointer;
}

/* 위치 버튼 → 기본: 아웃라인 / 호버: 채워진 버튼 */
.btn-location {
  background-color: #fff;
  color: #0047AB !important;
  border: 2px solid #0047AB;
}

.btn-location:hover {
  background-color: #0047AB;
  color: #fff !important;
  border-color: #0047AB;
}

.btn-location:hover .btn-icon-svg {
  fill: #fff;
}

/* 아이콘 공통 */
.btn-icon {
  width: 18px;
  height: 18px;
  object-fit: contain;
  vertical-align: middle;
}

.btn-icon-svg {
  width: 18px;
  height: 18px;
  fill: #0047AB;
  flex-shrink: 0;
  transition: fill 0.25s ease;
}

/* 이미지가 있으면 svg 숨김 (JS에서 처리) */
.btn-location.has-icon .btn-icon-svg {
  display: none;
}

/* 주차 안내 버튼 → 기본: 채워진 버튼 / 호버: 아웃라인 */
.btn-parking {
  background-color: #0047AB;
  color: #fff !important;
  border: 2px solid #0047AB;
}

.btn-parking:hover {
  background-color: #fff;
  color: #0047AB !important;
  border-color: #0047AB;
}

/* ── 태블릿 (max-width: 1023px) ── */
@media (max-width: 1023px) {
  .visit-info-section {
    font-size: 16px;
    padding: 24px 0;
  }

  .visit-info-list li {
    font-size: 16px;
  }

  .visit-info-btns a {
    padding: 10px 18px;
    font-size: 15px;
  }

  .visit-info-inner {
    flex-direction: column;
    align-items: flex-start;
  }

  .visit-info-btns {
    width: 100%;
    margin-top: 16px;
  }
}

/* ── 모바일 (max-width: 767px) ── */
@media (max-width: 767px) {
  .visit-info-section {
    font-size: 15px;
    padding: 20px 20px;
    box-sizing: border-box;
  }
  .visit-info-inner {
    width: 100%;
    box-sizing: border-box; /* ✅ 추가 */
  }
  .visit-info-list li {
    font-size: 15px;
    line-height: 1.6;
  }

  .visit-info-btns {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
width: 100%;
    box-sizing: border-box;
  }

  .visit-info-btns a {
    width: 100%;
    justify-content: center;
    font-size: 14px;
    padding: 10px 16px;
box-sizing: border-box;
  }

  .btn-icon-svg {
    width: 16px;
    height: 16px;
  }
}

/*     3621655 : BLANK 컨텐츠      */
.blank__3621655__ {box-sizing:border-box;display:block;position:relative;width:100%;height:30px}
.blank__3621655__.build_edit_mode {min-height:10px;border:1px dashed red;background:rgba(255,255,255,.1);}
.blank__3621655__.build_edit_mode:before {content:'Blank';display:block;position:absolute;top:50%;left:0;right:0;margin-top:-10px;padding:5px 0;font-size:13px;color:red;text-align:center;line-height:1}

@media all and (max-width:1023px){
	.blank__3621655__ {height:0px}
}

