﻿@keyframes move {
  from {
    transform: translateX(100px) scale(1.2);
    animation-timing-function: cubic-bezier(.2,0,.8,1);
  }
  to { transform: translateX(0px) scale(1); }
}
@-webkit-keyframes updown {
    0% {
        bottom: 0;
    }

    100% {
        bottom: 30px;
    }
}
@font-face {
    font-family: 'pretendard-variable';
    src: url('webfont/Pretendard/PretendardVariable.woff2') format('woff2-variations');
    font-weight: 100 900;
    font-display: swap;
}
@font-face {
    font-family: 'pretendard-light';
    src: url('webfont/Pretendard/Pretendard-Light.woff2') format('woff2'),
         url('webfont/Pretendard/Pretendard-Light.woff') format('woff');
    font-display: swap;
}
@font-face {
    font-family: 'pretendard-regular';
    src: url('webfont/Pretendard/Pretendard-Rebular.woff2') format('woff2'),
         url('webfont/Pretendard/Pretendard-Rebular.woff') format('woff');
    font-display: swap;
}
@font-face {
    font-family: 'pretendard-bold';
    src: url('webfont/Pretendard/Pretendard-Bold.woff2') format('woff2'),
         url('webfont/Pretendard/Pretendard-Bold.woff') format('woff');
    font-display: swap;
}
@font-face {
    font-family: 'pretendard-extrabold';
    src: url('webfont/Pretendard/Pretendard-ExtraBold.woff2') format('woff2'),
         url('webfont/Pretendard/Pretendard-ExtraBold.woff') format('woff');
    font-display: swap;
}


@-webkit-keyframes arrayR {0%,100% {-webkit-transform:translate(15px,-50%);}50% {-webkit-transform:translate(15px,-50%);}}
@keyframes arrayR {0%,100% {transform:translate(0,-50%);}50% {transform:translate(15px,-50%);}}


.no-padding {
    padding-right: 0;
    padding-left: 0;
}
.no-margin{margin-right:0; margin-left:0;}

a, a:hover, a.focus{text-decoration:none; outline:0px;}


/* common */





/* =============== 환영합니다 =============== */

  #mainWelcome {position: relative;background: #0d1f3d;}
  .welcome_pin {height: 100vh;min-height: 600px;position: relative;overflow: hidden;}

  .welcome_bg {position: absolute;top: 0;left: 0;width: 100%;height: 100%;background-size: cover;background-position: center center;background-repeat: no-repeat;z-index: 0;}
  .welcome_overlay {position: absolute;top: 0;left: 0;width: 100%;height: 100%;background: linear-gradient(135deg, rgba(13, 31, 61, 0.85) 0%, rgba(21, 41, 77, 0.6) 100%);z-index: 1;}

  .welcome_container {position: absolute;top: 0;left: 0;width: 100%;height: 100%;display: flex;align-items: center;justify-content: center;padding: 0 20px;z-index: 2;}

  .welcome_stage {position: relative;width: 100%;max-width: 1340px;text-align: center;will-change: transform;}

  .welcome_title {position: relative;display: block;width: 100%;height: 18rem;margin: 0;font-weight: 900;color: #fafafa;line-height: 1;letter-spacing: -0.02em;}

  .welcome_text {font-weight:800;position: absolute;top: 50%;font-size: 7rem;color: #fafafa;line-height: 1;white-space: nowrap;will-change: transform, opacity;}
  .welcome_text_left {right: 50%;transform: translateY(-50%);padding-right: 180px;}
  .welcome_text_right {left: 50%;transform: translateY(-50%);padding-left: 180px;}

  .welcome_image_wrap {position: absolute;top: 50%;left: 50%;width: 300px;aspect-ratio: 3 / 4;z-index: 2;transform: translate(-50%, -50%);pointer-events: none;}
  .welcome_image_inner {display: block;width: 100%;height: 100%;overflow: hidden;will-change: transform;}
  .welcome_image_inner img {width: 100%;height: 100%;object-fit: cover;display: block;}

  .welcome_bottom {position: absolute;left: 0;right: 0;bottom: 15vh;width: 100%;padding: 0 20px;text-align: center;will-change: opacity, transform;z-index: 3;opacity: 0;}

  .welcome_slogan {margin: 0 auto 50px;max-width: 480px;color: #fafafa;font-size: 1.125rem;line-height: 1.7;letter-spacing: -0.01em;text-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);}

  .welcome_quick {display: flex;justify-content: center;align-items: flex-start;gap: 5rem;flex-wrap: wrap;max-width: 1340px;margin: 0 auto;}
  .welcome_quick_item {display: flex;flex-direction: column;align-items: center;gap: 12px;text-decoration: none;color: #fafafa;transition: transform 0.3s ease;}
  .welcome_quick_item:hover {transform: translateY(-8px);color: #fafafa;}
  .welcome_quick_item:hover .welcome_quick_icon svg{color: #7dc4e8;}
  .welcome_quick_item:hover .welcome_quick_label, .welcome_quick_item:hover .welcome_quick_desc{color: #7dc4e8;}
	
  .welcome_quick_icon {display: inline-flex;align-items: center;justify-content: center;width: 64px;height: 64px;color: #fafafa;transition: transform 0.3s ease;}
  .welcome_quick_icon svg {width: 100%;height: 100%;display: block;}
  .welcome_quick_item:hover .welcome_quick_icon {transform: scale(1.1);}

  .welcome_quick_label {color: #fafafa;font-size: 0.9375rem;font-weight: 400;letter-spacing: 0.3em;opacity: 0.85;}

  .welcome_quick_desc {font-size: 1.25rem;font-weight: 600;color: #fafafa;letter-spacing: -0.01em;text-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);}

@media (max-width: 1199px) {
  .welcome_quick {gap: 60px;}
  .welcome_quick_icon {width: 56px;height: 56px;}
  .welcome_quick_label {font-size: 0.875rem;}
  .welcome_quick_desc {font-size: 1.375rem;}
  .welcome_image_wrap {width: 260px;}
  .welcome_text{font-size: 4rem;}
  .welcome_text_left {padding-right: 160px;}
  .welcome_text_right {padding-left: 160px;}
  }

@media (max-width: 992px) {
  .welcome_title {height: 14rem;}
  .welcome_text {font-size: 3rem;}
  .welcome_image_wrap {width: 230px;}
  .welcome_text_left {padding-right: 140px;}
  .welcome_text_right {padding-left: 140px;}
  .welcome_quick {gap: 40px;}
  .welcome_quick_icon {width: 52px;height: 52px;}
  .welcome_quick_desc {font-size: 1.25rem;}
  .welcome_bottom {bottom: 6vh;}
  .welcome_slogan {margin-bottom: 36px;}
  }

@media (max-width: 767px) {
	mainWelcome {background: transparent !important;overflow: hidden !important;}
	#mainWelcome .welcome_pin {position: relative !important;background: transparent !important;}
  #mainWelcome,#mainWelcome .welcome_pin {height: auto !important;min-height: 0 !important;max-height: none !important;position: relative !important;padding: 60px 20px 70px !important;}
  #mainWelcome {background-image: url('/UserData/kumho/Layouts/kumho_Layout/Images/main/2_bg.jpg') !important;background-size: cover !important;background-position: center !important;background-repeat: no-repeat !important;background-color: transparent !important;}
  #mainWelcome .welcome_bg {display: none !important;}
  #mainWelcome .welcome_overlay {display: none !important;}
  #mainWelcome .welcome_container,#mainWelcome .welcome_stage {position: relative !important;z-index: 3 !important;transform: none !important;opacity: 1 !important;width: 100% !important;height: auto !important;min-height: 0 !important;top: auto !important;left: auto !important;right: auto !important;bottom: auto !important;display: block !important;margin: 0 !important;padding: 0 !important;visibility: visible !important;}
  #mainWelcome .welcome_title {position: relative !important;z-index: 3 !important;display: flex !important;flex-direction: column !important;align-items: center !important;justify-content: flex-start !important;gap: 16px !important;width: 100% !important;height: auto !important;margin: 0 auto !important;padding: 0 !important;text-align: center !important;opacity: 1 !important;visibility: visible !important;}
  #mainWelcome .welcome_text,#mainWelcome .welcome_text_left,#mainWelcome .welcome_text_right {position: static !important;transform: none !important;opacity: 1 !important;visibility: visible !important;top: auto !important;left: auto !important;right: auto !important;bottom: auto !important;display: block !important;width: 100% !important;margin: 0 auto !important;padding: 0 !important;text-align: center !important;font-size: 34px !important;line-height: 1.2 !important;color: #fff !important;float: none !important;}
  #mainWelcome .welcome_text_left {order: 1 !important;}
  #mainWelcome .welcome_image_wrap {order: 2 !important;position: static !important;transform: none !important;opacity: 1 !important;visibility: visible !important;display: block !important;width: 35% !important;max-width: 130px !important;height: auto !important;margin: 4px auto !important;}
  #mainWelcome .welcome_text_right {order: 3 !important;}
  #mainWelcome .welcome_image_inner {position: static !important;transform: none !important;opacity: 1 !important;visibility: visible !important;display: block !important;width: 100% !important;margin: 0 auto !important;}
  #mainWelcome .welcome_image_inner img {width: 100% !important;height: auto !important;display: block !important;margin: 0 auto !important;}
  #mainWelcome .welcome_bottom {position: relative !important;z-index: 3 !important;transform: none !important;opacity: 1 !important;visibility: visible !important;width: 100% !important;margin-top: 60px !important;padding: 0 !important;}
  #mainWelcome .welcome_slogan {font-size: 15px !important;text-align: center !important;margin: 0 0 24px 0 !important;color: #fff !important;line-height: 1.6 !important;}
  #mainWelcome .welcome_quick {display: grid !important;grid-template-columns: repeat(2, 1fr) !important;gap: 12px !important;margin: 0 !important;padding: 0 !important;}
  #mainWelcome .welcome_quick_item {padding: 16px 8px !important;text-align: center !important;}
}
@media (max-width: 480px) {
  #mainWelcome .welcome_text {font-size: 28px !important;}
  #mainWelcome .welcome_image_wrap {width: 32% !important;max-width: 110px !important;}
}


/* =============== 담임목사 =============== */

  #mainPastor {position: relative;background: #f6f7fb;padding: 6rem 0 0px;overflow: hidden;}

  .pastor_bg_svg {position: absolute;top: 0;left: 0;width: 100%;height: 100%;z-index: 1;pointer-events: none;}
  
  #mainPastor .pastor_bg_svg-pc {display: block;}
	#mainPastor .pastor_bg_svg-mobile {display: none;}
  
  .pastor_bg_path {stroke-dasharray: 4800;stroke-dashoffset: 4800;will-change: stroke-dashoffset;}

  .pastor_bg_path_2 {stroke-dasharray: 5000;stroke-dashoffset: 5000;transition: stroke-dashoffset 3.5s cubic-bezier(0.65, 0, 0.35, 1) 0.3s;}
  #mainPastor.is-active .pastor_bg_path {stroke-dashoffset: 0;}
  #mainPastor.is-active .pastor_bg_path_2 {stroke-dashoffset: 0;}

  .pastor_blob {position: absolute;background: rgba(125, 196, 232, 0.35);border-radius: 50%;filter: blur(20px);z-index: 1;pointer-events: none;animation: pastorBlobFloat 9s ease-in-out infinite;}
  .pastor_blob_1 {width: 340px;height: 340px;top: 15%;right: 28%;}
	

@keyframes pastorBlobFloat {
  0%, 100% {transform: translate(0, 0) rotate(0deg);}
  50% {transform: translate(20px, -15px) rotate(8deg);}
  }

  .pastor_container {position: relative;z-index: 2;max-width: 1340px;margin: 0 auto;padding: 0 20px;}
  .pastor_grid {display: grid;grid-template-columns: 1fr 1fr;gap: 60px;align-items: center;}

  .pastor_text {position: relative;}

  .pastor_title_wrap {margin-bottom: 36px;}
  .pastor_title {font-size: 2.375rem;font-weight: 800;color: #1f2a44;line-height: 1.35;letter-spacing: -0.02em;margin: 0;}
  .pastor_title + .pastor_title {margin-top: 4px;}

  .pastor_desc_wrap {margin-bottom: 30px;}
  .pastor_desc {font-size: 1.15rem;line-height: 1.85;color: #555;letter-spacing: -0.01em;margin: 0;}

  .pastor_sign_wrap {margin-bottom: 40px;}
  .pastor_sign {font-size: 1.15rem;color: #333;letter-spacing: -0.01em;margin: 0;}
  .pastor_sign strong {font-weight: 700;color: #1f2a44;margin-left: 4px;font-size: 1.25rem;}

  /* slide-up text */
  .slideup-line {overflow: hidden;display: block;}
  .slideup-inner {display: inline-block;transform: translateY(110%);opacity: 0;transition: transform 0.9s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.9s ease;will-change: transform, opacity;}
  .slideup-line.is-in .slideup-inner {transform: translateY(0);opacity: 1;}

  .pastor_btn {display: inline-flex;align-items: center;gap: 10px;padding: 14px 30px;background: #1e3a6f;color: #fafafa;font-size: 1.0625rem;font-weight: 600;text-decoration: none;border-radius: 999px;letter-spacing: -0.01em;transition: background 0.3s ease;}
  .pastor_btn span {font-size: 1.25rem;line-height: 1;transition: transform 0.3s ease;}
  .pastor_btn:hover {background: #0a1830;color: #fafafa;transform: translateY(-3px);box-shadow: 0 12px 28px rgba(13, 31, 61, 0.35);}
  .pastor_btn:hover span {transform: translateX(4px);}

  .pastor_image {position: relative;width: 100%;display: flex;justify-content: center;align-items: flex-end;}
  .pastor_image img {max-width: 100%;width: auto;max-height: 620px;display: block;}

@media (max-width: 1199px) {
  #mainPastor {padding: 120px 0 100px;}
  .pastor_grid {gap: 40px;}
  .pastor_title {font-size: 2.125rem;}
  .pastor_image img {max-height: 540px;}
  }

@media (max-width: 992px) {
  #mainPastor {padding: 100px 0 90px;}
  .pastor_grid {grid-template-columns: 1fr;gap: 50px;}
  .pastor_text {text-align: center;}
  .pastor_title {font-size: 2rem;}
  .pastor_blob_1 {right: 5%;top: 5%;width: 240px;height: 240px;}
  .pastor_image img {max-height: 480px;}
  }

@media (max-width: 767px) {
  #mainPastor {padding: 70px 0 60px;}
  .pastor_grid {gap: 40px;}
  .pastor_title {font-size: 1.625rem;}
  .pastor_desc {font-size: 1rem;}
  .pastor_sign {font-size: 1rem;}
  .pastor_sign strong {font-size: 1.125rem;}
  .pastor_btn {padding: 12px 26px;font-size: 1rem;}
  .pastor_blob_1 {width: 180px;height: 180px;}
  .pastor_image img {max-height: 380px;}
   #mainPastor .pastor_bg_svg-pc {display: none !important;}
  #mainPastor .pastor_bg_svg-mobile {display: block !important;position: absolute;top: 0;left: 0;width: 100%;height: 100%;z-index: 1;pointer-events: none;}
  }


@media (max-width: 480px) {
  .pastor_title {font-size: 1.5rem;}
  .pastor_title_wrap {margin-bottom: 28px;}
  }

/* =============== 예배안내 =============== */

  #mainWorshipInfo {position: relative;width: 100%;min-height: 600px;padding: 160px 0;background-size: cover;background-position: center center;background-repeat: no-repeat;background-attachment: fixed;overflow: hidden;}
  .worshipinfo_overlay {position: absolute;inset: 0;background: linear-gradient(rgba(0, 0, 0, 0.6) 100%);z-index: 1;}

  .worshipinfo_container {position: relative;z-index: 2;max-width: 1340px;margin: 0 auto;padding: 0 20px;}
  .worshipinfo_inner {max-width: 520px;margin-left: auto;text-align: right;color: #fafafa;}

  .worshipinfo_line {display: block;width: 60px;height: 2px;background: #7dc4e8;margin: 0 0 0 auto;}

  .worshipinfo_title {font-size: 2.5rem;font-weight: 800;color: #fafafa;margin: 22px 0 26px;letter-spacing: -0.02em;}

  .worshipinfo_quote {font-size: 1.125rem;line-height: 1.8;color: rgba(255, 255, 255, 0.92);margin: 0 0 40px;letter-spacing: -0.01em;}

  .worshipinfo_list {list-style: none;padding: 0;margin: 0 0 36px;}
  .worshipinfo_list li {display: flex;justify-content: flex-end;align-items: center;gap: 16px;padding: 8px 0;font-size: 1.15rem;color: rgba(255, 255, 255, 0.95);letter-spacing: -0.01em;}
  .worshipinfo_cate {color: #7dc4e8;font-weight: 700;}
  .worshipinfo_time {color: rgba(255, 255, 255, 0.9);}
  .worshipinfo_place {color: rgba(255, 255, 255, 0.7);font-size: 1rem;padding-left: 10px;border-left: 1px solid rgba(255, 255, 255, 0.3);}

  .worshipinfo_btn {display: inline-flex;align-items: center;gap: 10px;padding: 14px 30px;background: rgb(107 205 250 / 70%);color: #fff;backdrop-filter: blur(23px);font-size: 1.0625rem;font-weight: 600;text-decoration: none;border-radius: 999px;letter-spacing: -0.01em;transition: background 0.3s ease;}
  .worshipinfo_btn span {font-size: 1.25rem;line-height: 1;transition: transform 0.3s ease;}
  .worshipinfo_btn:hover {background: #fafafa;color: #0d1f3d;transform: translateY(-3px);}
  .worshipinfo_btn:hover span {transform: translateX(4px);}

@media (max-width: 1199px) {
  #mainWorshipInfo {padding: 130px 0;}
  .worshipinfo_title {font-size: 2.25rem;}
  }

@media (max-width: 992px) {
  #mainWorshipInfo {padding: 110px 0;background-attachment: scroll;}
  .worshipinfo_inner {max-width: 480px;}
  .worshipinfo_title {font-size: 2rem;}
  .worshipinfo_quote {font-size: 1.0625rem;}
  }

@media (max-width: 767px) {
  #mainWorshipInfo {padding: 80px 0;background-attachment: scroll;}
  .worshipinfo_inner {max-width: 100%;text-align: center;}
  .worshipinfo_line {margin: 0 auto;}
  .worshipinfo_title {font-size: 1.75rem;margin: 18px 0 20px;}
  .worshipinfo_quote {font-size: 1rem;margin-bottom: 30px;}
  .worshipinfo_list {margin-bottom: 28px;}
  .worshipinfo_list li {flex-direction: column;gap: 4px;padding: 12px 0;border-bottom: 1px solid rgba(255, 255, 255, 0.15);}
  .worshipinfo_list li:last-child {border-bottom: 0;}
  .worshipinfo_place {padding-left: 0;border-left: 0;}
  .worshipinfo_btn {padding: 12px 26px;font-size: 1rem;}
  }

@media (max-width: 480px) {
  .worshipinfo_title {font-size: 1.625rem;}
  .worshipinfo_list li {font-size: 1rem;}
  }


/* =============== 커뮤니티 =============== */

  #mainCommunity {background: #f5f5f5;padding: 110px 0;}
  .community_container {max-width: 1340px;margin: 0 auto;padding: 0 20px;}

  .community_grid {display: grid;grid-template-columns: 1fr 1fr;gap: 60px;}

  .community_col {display: flex;flex-direction: column;}
  .community_head {display: flex;justify-content: space-between;align-items: center;padding-bottom: 18px;border-bottom: 2px solid #121212;margin-bottom: 4px;}
  .community_title {font-size: 1.75rem;font-weight: 800;color: #121212;margin: 0;letter-spacing: -0.02em;}

  .community_more {display: inline-flex;align-items: center;gap: 6px;padding: 9px 20px;font-size: 1rem;color: #121212;border: 1px solid #121212;border-radius: 999px;text-decoration: none;line-height: 1;transition: background 0.3s ease, color 0.3s ease, transform 0.3s ease;}
  .community_more:hover {background: #121212;color: #fafafa;transform: translateX(4px);}

  .community_list {list-style: none;padding: 0;margin: 0;}
  .community_list > li {border-bottom: 1px solid #e2e2e2;}
  .community_list > li:last-child {border-bottom: 0;}

  .community_item {display: flex;align-items: center;justify-content: space-between;gap: 24px;padding: 24px 4px;text-decoration: none;color: inherit;transition: background 0.3s ease, padding 0.3s ease;}
  .community_item:hover {background: rgba(125, 196, 232, 0.08);padding-left: 14px;padding-right: 14px;}

  .community_item_main {flex: 1;min-width: 0;display: flex;flex-direction: column;gap: 8px;}

  .community_item_title {font-size: 1.25rem;font-weight: 700;color: #222;margin: 0;line-height: 1.4;letter-spacing: -0.01em;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;transition: color 0.3s ease;}
  .community_item:hover .community_item_title {color: #121212;}

  .community_item_date {font-size: 0.875rem;color: #999;letter-spacing: 0.02em;white-space: nowrap;}

  .community_item_plus {flex-shrink: 0;display: inline-flex;align-items: center;justify-content: center;width: 32px;height: 32px;font-size: 1.5rem;font-weight: 300;color: #999;line-height: 1;transition: color 0.3s ease, transform 0.3s ease;}
  .community_item:hover .community_item_plus {color: #1e3a6f;transform: rotate(90deg);}

  .community_empty {padding: 60px 0;text-align: center;color: #999;font-size: 1.0625rem;}

@media (max-width: 1199px) {
  #mainCommunity {padding: 100px 0;}
  .community_grid {gap: 50px;}
  }

@media (max-width: 992px) {
  #mainCommunity {padding: 80px 0;}
  .community_grid {grid-template-columns: 1fr;gap: 60px;}
  .community_title {font-size: 1.5rem;}
  }

@media (max-width: 767px) {
  #mainCommunity {padding: 60px 0;}
  .community_grid {gap: 40px;}
  .community_head {padding-bottom: 14px;}
  .community_title {font-size: 1.375rem;}
  .community_more {padding: 8px 16px;font-size: 1rem;}
  .community_item {padding: 20px 4px;gap: 14px;}
  .community_item_title {font-size: 1.0625rem;}
  .community_item_date {font-size: 0.8125rem;}
  .community_item_plus {width: 28px;height: 28px;font-size: 1.375rem;}
  }

@media (max-width: 480px) {
  .community_title {font-size: 1.25rem;}
  .community_item {gap: 10px;}
  .community_item_title {font-size: 1rem;}
  }




/* =============== 예배영상 =============== */

  #mainWorshipVideo {position: relative;padding: 160px 0;overflow: hidden;color: #fafafa;}
  #mainWorshipVideo .worshipVideo_bg {position: absolute;top: 0;left: 0;width: 100%;height: 120%;background-size: cover;background-position: center;background-repeat: no-repeat;background-attachment: fixed;z-index: 1;}
  #mainWorshipVideo .worshipVideo_overlay {position: absolute;top: 0;left: 0;width: 100%;height: 100%;background: linear-gradient(rgba(0, 0, 0, 0.6) 100%);z-index: 2;}
  #mainWorshipVideo .worshipVideo_container {position: relative;z-index: 3;}
  #mainWorshipVideo .worshipVideo_inner {max-width: 900px;}
  #mainWorshipVideo .worshipVideo_head {display: flex;align-items: center;justify-content: space-between;gap: 40px;margin-bottom: 50px;}
  #mainWorshipVideo .worshipVideo_head_text {flex: 1;min-width: 0;}
  #mainWorshipVideo .worshipVideo_line {display: block;width: 60px;height: 2px;background: #fafafa;margin-bottom: 22px;}
  #mainWorshipVideo .worshipVideo_title {font-size: 2.5rem;font-weight: 800;color: #fafafa;letter-spacing: -0.02em;margin-bottom: 22px;}
  #mainWorshipVideo .worshipVideo_subtitle {font-size: 3.5rem;color: #fafafa;line-height: 1.5;margin-bottom: 14px;letter-spacing: -0.01em;}
  #mainWorshipVideo .worshipVideo_meta {font-size: 1.0625rem;color: rgba(255, 255, 255, 0.85);margin: 0;display: flex;align-items: center;gap: 10px;flex-wrap: wrap;}
  #mainWorshipVideo .worshipVideo_meta_divider {opacity: 0.5;}

  #mainWorshipVideo .worshipVideo_play {flex-shrink: 0;display: inline-flex;align-items: center;justify-content: center;width: 5rem;height: 5rem;background: rgb(44 166 255 / 80%);color: #fafafa;border-radius: 50%;text-decoration: none;transition: background 0.3s, transform 0.3s, box-shadow 0.3s;position: relative;}
  
  #mainWorshipVideo .worshipVideo_play svg {width: 40%;height: 40%;margin-left: 6%;transition: transform 0.3s;}
  #mainWorshipVideo .worshipVideo_play:hover {background: #0a1830;color: #fafafa;transform: scale(1.08);box-shadow: 0 16px 40px rgba(13, 31, 61, 0.55);}
  #mainWorshipVideo .worshipVideo_play:hover svg {transform: scale(1.1);}

  #mainWorshipVideo .worshipVideo_quick {display: flex;flex-wrap: wrap;gap: 10px 12px;list-style: none;padding: 0;margin: 0;}
  #mainWorshipVideo .worshipVideo_quick li a {display: inline-block;padding: 10px 22px;background: rgba(255, 255, 255, 0.12);border: 1px solid rgba(255, 255, 255, 0.3);border-radius: 999px;color: #fafafa;font-size: 1rem;font-weight: 500;backdrop-filter: blur(6px);transition: background 0.3s, border-color 0.3s, transform 0.3s;}
  #mainWorshipVideo .worshipVideo_quick li a:hover {background: rgba(255, 255, 255, 0.25);border-color: rgba(255, 255, 255, 0.6);transform: translateY(-2px);}
@media (max-width: 1199px) {
  #mainWorshipVideo {padding: 130px 0;}
  #mainWorshipVideo .worshipVideo_title {font-size: 2.375rem;}
  #mainWorshipVideo .worshipVideo_subtitle {font-size: 1.375rem;}
  #mainWorshipVideo .worshipVideo_play {width: 100px;height: 100px;}
}
@media (max-width: 992px) {
  #mainWorshipVideo {padding: 110px 0;}
  #mainWorshipVideo .worshipVideo_bg {background-attachment: scroll;}
  #mainWorshipVideo .worshipVideo_title {font-size: 2.125rem;}
  #mainWorshipVideo .worshipVideo_subtitle {font-size: 1.25rem;}
  #mainWorshipVideo .worshipVideo_head {margin-bottom: 40px;gap: 30px;}
  #mainWorshipVideo .worshipVideo_play {width: 90px;height: 90px;}
}
@media (max-width: 767px) {
  #mainWorshipVideo {padding: 80px 0;}
  #mainWorshipVideo .worshipVideo_inner {max-width: 100%;}
  #mainWorshipVideo .worshipVideo_line {width: 44px;margin-bottom: 16px;}
  #mainWorshipVideo .worshipVideo_title {font-size: 1.75rem;margin-bottom: 16px;}
  #mainWorshipVideo .worshipVideo_subtitle {font-size: 1.125rem;margin-bottom: 10px;}
  #mainWorshipVideo .worshipVideo_meta {font-size: 1rem;}
  #mainWorshipVideo .worshipVideo_head {gap: 20px;margin-bottom: 32px;}
  #mainWorshipVideo .worshipVideo_play {width: 72px;height: 72px;}
  #mainWorshipVideo .worshipVideo_play::before {inset: -6px;}
  #mainWorshipVideo .worshipVideo_quick {gap: 8px;}
  #mainWorshipVideo .worshipVideo_quick li a {padding: 8px 16px;font-size: 1rem;}
}
@media (max-width: 480px) {
  #mainWorshipVideo {padding: 60px 0;}
  #mainWorshipVideo .worshipVideo_title {font-size: 1.625rem;}
  #mainWorshipVideo .worshipVideo_subtitle {font-size: 2.1rem;}
  #mainWorshipVideo .worshipVideo_play {width: 64px;height: 64px;}
}



/* =============== 다음세대 =============== */
  #mainNextGen {position: relative;padding: 140px 0 160px;background: #fafafa;overflow: hidden;}
  #mainNextGen .nextGen_container {position: relative;z-index: 2;}
  #mainNextGen .nextGen_head {text-align: center;margin-bottom: 80px;}
  #mainNextGen .nextGen_line {display: inline-block;width: 50px;height: 2px;background: #1e3a6f;margin-bottom: 18px;}
  #mainNextGen .nextGen_title {font-size: 2.5rem;font-weight: 800;color: #121212;letter-spacing: -0.02em;margin-bottom: 16px;}
  #mainNextGen .nextGen_desc {font-size: 1.15rem;color: #555;line-height: 1.6;}
  #mainNextGen .nextGen_cards {position: relative;display: flex;justify-content: center;align-items: flex-end;list-style: none;padding: 0;margin: 0;min-height: 380px;}
  #mainNextGen .nextGen_card {position: relative;width: 250px;height: 370px;margin: 0 3px;border-radius: 18px;overflow: hidden;box-shadow: 0 18px 40px rgba(0, 0, 0, 0.18);cursor: pointer;will-change: transform;transition: transform 1.2s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.5s;}
  #mainNextGen .nextGen_card a {display: block;width: 100%;height: 100%;position: relative;}
  #mainNextGen .nextGen_card_thumb {width: 100%;height: 100%;overflow: hidden;}
  #mainNextGen .nextGen_card_thumb img {width: 100%;height: 100%;object-fit: cover;transition: transform 0.6s;}
  #mainNextGen .nextGen_card_label {position: absolute;left: 0;right: 0;bottom: 0;padding: 60px 20px 24px;background: linear-gradient(to top, rgba(0, 0, 0, 0.75) 0%, rgba(0, 0, 0, 0) 100%);text-align: center;}
  #mainNextGen .nextGen_card_label span {color: #fafafa;font-size: 1.25rem;font-weight: 700;letter-spacing: -0.01em;}

  /* 초기 상태: 모든 카드가 가운데(3번 위치)로 모임 */
  #mainNextGen .nextGen_card-1 {transform: translateX(512px) rotate(0deg);z-index: 1;}
  #mainNextGen .nextGen_card-2 {transform: translateX(256px) rotate(0deg);z-index: 2;}
  #mainNextGen .nextGen_card-3 {transform: translateX(0) rotate(0deg);z-index: 3;}
  #mainNextGen .nextGen_card-4 {transform: translateX(-256px) rotate(0deg);z-index: 2;}
  #mainNextGen .nextGen_card-5 {transform: translateX(-512px) rotate(0deg);z-index: 1;}

  /* 펼쳐진 상태: 부채꼴 */
  #mainNextGen.nextGen-spread .nextGen_card-1 {transform: translateY(40px) rotate(-8deg);}
  #mainNextGen.nextGen-spread .nextGen_card-2 {transform: translateY(15px) rotate(-4deg);}
  #mainNextGen.nextGen-spread .nextGen_card-3 {transform: translateY(0) rotate(0deg);}
  #mainNextGen.nextGen-spread .nextGen_card-4 {transform: translateY(15px) rotate(4deg);}
  #mainNextGen.nextGen-spread .nextGen_card-5 {transform: translateY(40px) rotate(8deg);}

  /* hover (펼쳐진 상태에서만) */
  #mainNextGen.nextGen-spread .nextGen_card:hover {z-index: 10;box-shadow: 0 25px 55px rgba(0, 0, 0, 0.28);transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.5s, z-index 0s;}
  #mainNextGen.nextGen-spread .nextGen_card-1:hover {transform: rotate(-10deg) translateY(20px) scale(1.08);}
  #mainNextGen.nextGen-spread .nextGen_card-2:hover {transform: rotate(-5deg) translateY(-5px) scale(1.08);}
  #mainNextGen.nextGen-spread .nextGen_card-3:hover {transform: rotate(0deg) translateY(-20px) scale(1.08);}
  #mainNextGen.nextGen-spread .nextGen_card-4:hover {transform: rotate(5deg) translateY(-5px) scale(1.08);}
  #mainNextGen.nextGen-spread .nextGen_card-5:hover {transform: rotate(10deg) translateY(20px) scale(1.08);}
  #mainNextGen .nextGen_card:hover .nextGen_card_thumb img {transform: scale(1.08);}

@media (max-width: 1199px) {
  #mainNextGen {padding: 120px 0 130px;}
  #mainNextGen .nextGen_cards {min-height: 380px;}
  #mainNextGen .nextGen_card {width: 190px;height: 280px;margin: 0 6px;}
  #mainNextGen .nextGen_card-1 {transform: translateX(404px) rotate(0deg);}
  #mainNextGen .nextGen_card-2 {transform: translateX(202px) rotate(0deg);}
  #mainNextGen .nextGen_card-4 {transform: translateX(-202px) rotate(0deg);}
  #mainNextGen .nextGen_card-5 {transform: translateX(-404px) rotate(0deg);}
}
@media (max-width: 992px) {
  #mainNextGen {padding: 100px 0 110px;}
  #mainNextGen .nextGen_head {margin-bottom: 60px;}
  #mainNextGen .nextGen_title {font-size: 2rem;}
  #mainNextGen .nextGen_cards {min-height: 320px;}
  #mainNextGen .nextGen_card {width: 160px;height: 240px;margin: 0 3px;border-radius: 14px;}
  #mainNextGen .nextGen_card_label {padding: 50px 14px 18px;}
  #mainNextGen .nextGen_card_label span {font-size: 1.125rem;}
  #mainNextGen .nextGen_card-1 {transform: translateX(332px) rotate(0deg);}
  #mainNextGen .nextGen_card-2 {transform: translateX(166px) rotate(0deg);}
  #mainNextGen .nextGen_card-4 {transform: translateX(-166px) rotate(0deg);}
  #mainNextGen .nextGen_card-5 {transform: translateX(-332px) rotate(0deg);}
}
@media (max-width: 767px) {
  #mainNextGen {padding: 70px 0 80px;}
  #mainNextGen .nextGen_head {margin-bottom: 40px;}
  #mainNextGen .nextGen_title {font-size: 1.75rem;margin-bottom: 12px;}
  #mainNextGen .nextGen_desc {font-size: 1rem;}
  #mainNextGen .nextGen_cards {min-height: auto;flex-wrap: wrap;justify-content: center;gap: 16px;}
  #mainNextGen .nextGen_card,
  #mainNextGen .nextGen_card-1,
  #mainNextGen .nextGen_card-2,
  #mainNextGen .nextGen_card-3,
  #mainNextGen .nextGen_card-4,
  #mainNextGen .nextGen_card-5,
  #mainNextGen.nextGen-spread .nextGen_card-1,
  #mainNextGen.nextGen-spread .nextGen_card-2,
  #mainNextGen.nextGen-spread .nextGen_card-3,
  #mainNextGen.nextGen-spread .nextGen_card-4,
  #mainNextGen.nextGen-spread .nextGen_card-5 {transform: none;width: calc(50% - 8px);max-width: 200px;height: 240px;margin: 0;}
  #mainNextGen .nextGen_card:hover,
  #mainNextGen.nextGen-spread .nextGen_card-1:hover,
  #mainNextGen.nextGen-spread .nextGen_card-2:hover,
  #mainNextGen.nextGen-spread .nextGen_card-3:hover,
  #mainNextGen.nextGen-spread .nextGen_card-4:hover,
  #mainNextGen.nextGen-spread .nextGen_card-5:hover {transform: translateY(-6px);}
}
@media (max-width: 480px) {
  #mainNextGen .nextGen_cards {gap: 12px;}
  #mainNextGen .nextGen_card,
  #mainNextGen .nextGen_card-1,
  #mainNextGen .nextGen_card-2,
  #mainNextGen .nextGen_card-3,
  #mainNextGen .nextGen_card-4,
  #mainNextGen .nextGen_card-5 {width: calc(50% - 6px);height: 200px;}
}


/* =============== 선교 =============== */

  #mainMission {position: relative;padding: 160px 0;overflow: hidden;color: #fafafa;}
  #mainMission .mission_bg {position: absolute;top: 0;left: 0;width: 100%;height: 120%;background-size: cover;background-position: center;background-repeat: no-repeat;background-attachment: fixed;z-index: 1;}
  #mainMission .mission_overlay {position: absolute;top: 0;left: 0;width: 100%;height: 100%;background: linear-gradient(rgba(0, 0, 0, 0.6) 100%);z-index: 2;}
  #mainMission .mission_container {position: relative;z-index: 3;}
  #mainMission .mission_inner {max-width: 560px;margin-left: auto;text-align: right;}
  #mainMission .mission_line {display: inline-block;width: 60px;height: 2px;background: #7dc4e8;margin-bottom: 22px;}
  #mainMission .mission_title {font-size: 2.5rem;font-weight: 800;color: #fafafa;letter-spacing: -0.02em;margin-bottom: 24px;}
  #mainMission .mission_quote {font-size: 1.1875rem;font-weight: 400;color: #fafafa;line-height: 1.7;margin-bottom: 30px;opacity: 0.95;}
  #mainMission .mission_slogan {font-size: 1.15rem;font-weight: 500;color: #fafafa;line-height: 1.7;margin-bottom: 34px;letter-spacing: -0.01em;}
  #mainMission .mission_slogan_label {font-weight: 700;color: #7dc4e8;}
  #mainMission .mission_list {list-style: none;padding: 0;margin: 0 0 42px;display: flex;flex-direction: column;gap: 12px;}
  #mainMission .mission_list li {display: flex;align-items: center;justify-content: flex-end;gap: 12px;font-size: 1.0625rem;color: #fafafa;}
  #mainMission .mission_list_label {font-weight: 700;color: #7dc4e8;font-size: 1rem;}
  #mainMission .mission_list_divider {color: rgba(255, 255, 255, 0.4);}
  #mainMission .mission_list_value {color: rgba(255, 255, 255, 0.9);}
  #mainMission .mission_btn {display: inline-flex;align-items: center;gap: 10px;padding: 14px 30px;background: rgb(107 205 250 / 70%);color: #fff;backdrop-filter: blur(23px);border-radius: 999px;font-size: 1.0625rem;font-weight: 600;transition: background 0.3s, transform 0.3s;}
  #mainMission .mission_btn:hover {background: #fafafa;color: #0d1f3d;transform: translateY(-3px);}
  #mainMission .mission_btn span {transition: transform 0.3s;}
  #mainMission .mission_btn:hover span {transform: translateX(4px);}
@media (max-width: 1199px) {
  #mainMission {padding: 130px 0;}
  #mainMission .mission_title {font-size: 2.125rem;}
}
@media (max-width: 992px) {
  #mainMission {padding: 110px 0;}
  #mainMission .mission_bg {background-attachment: scroll;}
  #mainMission .mission_title {font-size: 2rem;}
  #mainMission .mission_quote {font-size: 1.125rem;}
  #mainMission .mission_slogan {font-size: 1.125rem;}
}
@media (max-width: 767px) {
  #mainMission {padding: 80px 0;}
  #mainMission .mission_inner {max-width: 100%;}
  #mainMission .mission_line {width: 44px;margin-bottom: 16px;}
  #mainMission .mission_title {font-size: 1.75rem;margin-bottom: 18px;}
  #mainMission .mission_quote {font-size: 1.0625rem;margin-bottom: 22px;}
  #mainMission .mission_quote br {display: none;}
  #mainMission .mission_slogan {font-size: 1.0625rem;margin-bottom: 26px;}
  #mainMission .mission_list {gap: 10px;margin-bottom: 32px;}
  #mainMission .mission_list li {font-size: 1rem;gap: 8px;}
  #mainMission .mission_list_label {font-size: 1rem;}
  #mainMission .mission_btn {padding: 12px 24px;font-size: 1rem;}
}
@media (max-width: 480px) {
  #mainMission {padding: 60px 0;}
  #mainMission .mission_title {font-size: 1.625rem;}
  #mainMission .mission_quote {font-size: 1rem;}
  #mainMission .mission_slogan {font-size: 1rem;}
}

/* =============== 갤러리 =============== */
  #mainGalleryNew {position: relative;padding: 140px 0 150px;background: #fafafa;overflow: hidden;}
  #mainGalleryNew .galleryNew_head {text-align: center;margin-bottom: 70px;}
  #mainGalleryNew .galleryNew_line {display: inline-block;width: 50px;height: 2px;background: #1e3a6f;margin-bottom: 18px;}
  #mainGalleryNew .galleryNew_title {font-size: 2.5rem;font-weight: 800;color: #121212;letter-spacing: -0.02em;margin-bottom: 14px;}
  #mainGalleryNew .galleryNew_desc {font-size: 1.125rem;color: #555;line-height: 1.6;}
  #mainGalleryNew .galleryNew_track_wrap {position: relative;max-width: 1340px;margin: 0 auto;padding: 0 20px;}
  #mainGalleryNew .galleryNew_track {margin: 0 -14px;}
  #mainGalleryNew .galleryNew_card {padding: 0 14px;box-sizing: border-box;}
  #mainGalleryNew .galleryNew_card a {display: block;text-decoration: none;color: inherit;}
  #mainGalleryNew .galleryNew_card_thumb {position: relative;width: 100%;aspect-ratio: 1/1;border-radius: 6px;overflow: hidden;background: #eee;}
  #mainGalleryNew .galleryNew_card_thumb img {width: 100%;height: 100%;object-fit: cover;transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);}
  #mainGalleryNew .galleryNew_card:hover .galleryNew_card_thumb img {transform: scale(1.08);}
  #mainGalleryNew .galleryNew_card_info {padding: 18px 4px 0;}
  #mainGalleryNew .galleryNew_card_title {font-size: 1.125rem;font-weight: 700;color: #222;letter-spacing: -0.01em;line-height: 1.4;margin-top: 0;margin-bottom: 8px;overflow: hidden;text-overflow: ellipsis;display: -webkit-box;-webkit-line-clamp: 1;-webkit-box-orient: vertical;transition: color 0.3s;}
  #mainGalleryNew .galleryNew_card:hover .galleryNew_card_title {color: #1e3a6f;}
  #mainGalleryNew .galleryNew_card_date {font-size: 1rem;color: #999;font-weight: 500;}
  #mainGalleryNew .galleryNew_track .slick-prev,
  #mainGalleryNew .galleryNew_track .slick-next {position: absolute;top: 42%;width: 50px;height: 50px;background: #1e3a6f;border: none;border-radius: 50%;box-shadow: 0 6px 18px rgba(13, 31, 61, 0.25);cursor: pointer;z-index: 10;transform: translateY(-50%);opacity: 0.8;transition: opacity 0.3s, background 0.3s, box-shadow 0.3s;display: flex !important;align-items: center;justify-content: center;font-size: 0;color: transparent;}
  #mainGalleryNew .galleryNew_track .slick-prev {left: -25px;}
  #mainGalleryNew .galleryNew_track .slick-next {right: -25px;}
  #mainGalleryNew .galleryNew_track .slick-prev:hover,
  #mainGalleryNew .galleryNew_track .slick-next:hover {opacity: 1;background: #0a1830;box-shadow: 0 8px 22px rgba(13, 31, 61, 0.4);}
  #mainGalleryNew .galleryNew_track .slick-prev::before,
  #mainGalleryNew .galleryNew_track .slick-next::before {content: '';display: block;width: 12px;height: 12px;border: none;border-top: 2px solid #fafafa;opacity: 1;font-family: inherit;}
  #mainGalleryNew .galleryNew_track .slick-prev::before {border-left: 2px solid #fafafa;transform: rotate(-45deg);margin-left: 4px;}
  #mainGalleryNew .galleryNew_track .slick-next::before {border-right: 2px solid #fafafa;transform: rotate(45deg);margin-right: 4px;}
@media (max-width: 1199px) {
  #mainGalleryNew {padding: 120px 0 130px;}
  #mainGalleryNew .galleryNew_title {font-size: 2.375rem;}
  #mainGalleryNew .galleryNew_track .slick-prev {left: -10px;}
  #mainGalleryNew .galleryNew_track .slick-next {right: -10px;}
}
@media (max-width: 992px) {
  #mainGalleryNew {padding: 100px 0 110px;}
  #mainGalleryNew .galleryNew_head {margin-bottom: 50px;}
  #mainGalleryNew .galleryNew_title {font-size: 2.125rem;}
  #mainGalleryNew .galleryNew_track {margin: 0 -10px;}
  #mainGalleryNew .galleryNew_card {padding: 0 10px;}
  #mainGalleryNew .galleryNew_track .slick-prev,
  #mainGalleryNew .galleryNew_track .slick-next {width: 42px;height: 42px;}
  #mainGalleryNew .galleryNew_track .slick-prev {left: 0;}
  #mainGalleryNew .galleryNew_track .slick-next {right: 0;}
}
@media (max-width: 767px) {
  #mainGalleryNew {padding: 70px 0 80px;}
  #mainGalleryNew .galleryNew_head {margin-bottom: 36px;}
  #mainGalleryNew .galleryNew_title {font-size: 1.75rem;}
  #mainGalleryNew .galleryNew_desc {font-size: 1rem;}
  #mainGalleryNew .galleryNew_card_info {padding: 14px 2px 0;}
  #mainGalleryNew .galleryNew_card_title {font-size: 1.0625rem;}
  #mainGalleryNew .galleryNew_card_date {font-size: 1rem;}
  #mainGalleryNew .galleryNew_track .slick-prev,
  #mainGalleryNew .galleryNew_track .slick-next {width: 36px;height: 36px;}
}
@media (max-width: 480px) {
  #mainGalleryNew .galleryNew_title {font-size: 1.625rem;}
}



/* =============== 오시는길 =============== */
  #mainLocation {position: relative;padding: 4rem 0 4rem;overflow: hidden;margin-bottom:-7px;}
  #mainLocation .location_bg {position: absolute;top: 0;left: 0;width: 100%;height: 120%;background-size: cover;background-position: center;background-repeat: no-repeat;background-attachment: fixed;z-index: 1;}
  #mainLocation .location_overlay {position: absolute;top: 0;left: 0;width: 100%;height: 100%;background: linear-gradient(180deg, rgba(21, 41, 77, 0.78) 0%, rgba(13, 31, 61, 0.85) 100%);z-index: 2;}
  #mainLocation .location_inner {position: relative;z-index: 3;}
  #mainLocation .location_container {position: relative;text-align: center;color: #fafafa;}
  #mainLocation .location_line {display: inline-block;width: 50px;height: 2px;background: #fafafa;margin-bottom: 22px;opacity: 0.85;}
  #mainLocation .location_title {font-size: 2.5rem;font-weight: 800;color: #fafafa;letter-spacing: -0.02em;margin-bottom: 24px;}
  #mainLocation .location_address {font-size: 1.1875rem;font-weight: 500;color: rgba(255, 255, 255, 0.95);line-height: 1.6;margin-bottom: 32px;}
  #mainLocation .location_btn {display: inline-flex;align-items: center;gap: 10px;padding: 13px 28px;background: rgba(255, 255, 255, 0.15);border: 1px solid rgba(255, 255, 255, 0.5);color: #fafafa;border-radius: 999px;font-size: 1rem;font-weight: 500;backdrop-filter: blur(6px);transition: background 0.3s, border-color 0.3s, transform 0.3s;margin-bottom: 60px;}
  #mainLocation .location_btn:hover {background: rgba(255, 255, 255, 0.28);border-color: rgba(255, 255, 255, 0.85);transform: translateY(-3px);}
  #mainLocation .location_btn span {transition: transform 0.3s;}
  #mainLocation .location_btn:hover span {transform: translateX(4px);}
  #mainLocation .location_contact {display: flex;justify-content: center;gap: 20px;flex-wrap: wrap;max-width: 700px;margin: 0 auto;}
  #mainLocation .location_contact_item {flex: 1;min-width: 240px;display: flex;align-items: center;justify-content: center;gap: 14px;padding: 22px 30px;background: rgba(255, 255, 255, 0.1);border: 1px solid rgba(255, 255, 255, 0.25);border-radius: 12px;font-size: 1.125rem;color: #fafafa;transition: background 0.3s, border-color 0.3s;}
  #mainLocation .location_contact_item:hover {background: rgba(255, 255, 255, 0.18);border-color: rgba(255, 255, 255, 0.5);}
  #mainLocation .location_contact_item a {color: #fafafa;text-decoration: none;}
  #mainLocation .location_contact_label {font-weight: 700;letter-spacing: 0.02em;}
@media (max-width: 1199px) {
  #mainLocation {padding: 110px 0 120px;}
  #mainLocation .location_title {font-size: 2.125rem;}
}
@media (max-width: 992px) {
  #mainLocation {padding: 90px 0 100px;}
  #mainLocation .location_bg {background-attachment: scroll;}
  #mainLocation .location_title {font-size: 2rem;}
  #mainLocation .location_address {font-size: 1.125rem;}
}
@media (max-width: 767px) {
  #mainLocation {padding: 70px 0 80px;}
  #mainLocation .location_line {width: 44px;margin-bottom: 16px;}
  #mainLocation .location_title {font-size: 1.75rem;margin-bottom: 18px;}
  #mainLocation .location_address {font-size: 1.0625rem;margin-bottom: 24px;}
  #mainLocation .location_btn {padding: 11px 22px;font-size: 1rem;margin-bottom: 40px;}
  #mainLocation .location_contact {gap: 14px;}
  #mainLocation .location_contact_item {min-width: 100%;padding: 18px 20px;font-size: 1.0625rem;}
}
@media (max-width: 480px) {
  #mainLocation {padding: 60px 0 70px;}
  #mainLocation .location_title {font-size: 1.625rem;}
}


/* === 메인 슬라이더 최종 === */
/* =========================================================
   MAIN SLIDER FINAL FIX
   - 기존 #mainSlider 관련 CSS는 전부 삭제하고 이것만 사용
   ========================================================= */

#mainSlider {
    position: relative;
    width: 100%;
    height: 750px;
    overflow: hidden;
    background: #000;
}

/* 슬라이더 기본 박스 (바깥 컨테이너만 100% 고정) */
#mainSlider .dimode-slider,
#mainSlider .slider {
    position: relative;
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important;
}

/* move 모드: 트랙 너비(200%)·위치(margin-left)는 위젯이 inline 으로 제어한다.
   여기서 width 를 강제하면 슬라이드가 절반씩 보이거나 검은 화면이 되므로 절대 건드리지 않는다. */
#mainSlider .slider-wrapper {
    position: relative;
    height: 100% !important;
    overflow: hidden !important;
}

/* 혹시 slick 구조일 경우 */
#mainSlider .slick-list,
#mainSlider .slick-track,
#mainSlider .slick-slide,
#mainSlider .slick-slide > div {
    height: 100% !important;
}

/* 버튼/화살표 이미지가 커진 것 리셋 */
#mainSlider img {
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    object-fit: initial !important;
    object-position: initial !important;
}

/* 슬라이드 자체 (width 는 위젯 기본값 사용 → 강제 금지) */
#mainSlider .slider-wrapper .slide {
    height: 100% !important;
    overflow: hidden !important;
    background-image: none !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-size: cover !important;
}

/* active 클래스로 제어되는 위젯이면 비활성 슬라이드 숨김 */
#mainSlider.main-slider-state-mode .slider-wrapper .slide {
    display: none !important;
}

#mainSlider.main-slider-state-mode .slider-wrapper .slide.active,
#mainSlider.main-slider-state-mode .slider-wrapper .slide.slick-active,
#mainSlider.main-slider-state-mode .slider-wrapper .slide.slick-current,
#mainSlider.main-slider-state-mode .slider-wrapper .slide.on,
#mainSlider.main-slider-state-mode .slider-wrapper .slide.current {
    display: block !important;
}

/* 슬라이드 안 p/a만 100% */
#mainSlider .slider-wrapper .slide p,
#mainSlider .slider-wrapper .slide p.each-img,
#mainSlider .slider-wrapper .slide a {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* 실제 슬라이드 이미지: 버튼 이미지 말고 p 안의 이미지에만 적용 */
#mainSlider .slider-wrapper .slide p img,
#mainSlider .slider-wrapper .slide p.each-img img {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover !important;
    object-position: center center !important;
    vertical-align: top !important;
}

/* 영상은 배너처럼 꽉 채움 */
#mainSlider .slider-wrapper .slide video {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    vertical-align: top !important;
}

/* 좌우 이동 버튼: 원본 크기 유지 + 세로 중앙 정렬 */
#mainSlider .prev-btn,
#mainSlider .next-btn,
#mainSlider .move-btn {
    width: auto !important;
    height: auto !important;
    max-width: 48px !important;
    object-fit: initial !important;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 30 !important;
    cursor: pointer;
}
#mainSlider .prev-btn { left: 20px; }
#mainSlider .next-btn { right: 20px; }

/* 화살표/도트는 항상 위로 */
#mainSlider .slick-arrow,
#mainSlider .slick-dots,
#mainSlider .slider-arrow,
#mainSlider .slider-dots,
#mainSlider [class*="arrow"],
#mainSlider [class*="prev"],
#mainSlider [class*="next"] {
    z-index: 30 !important;
}

@media (max-width: 767px) {
    #mainSlider {
        height: 60vh;
    }
}
/* responsive */
@media (max-width: 1199px) {
    
}

@media (max-width: 992px) {
    
}

@media (max-width: 767px) {
    

}

@media (max-width: 480px) {
    

}
