@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans:wght@100..900&family=Prompt:wght@400;500;600;700;800;900&display=swap');
@import url(guide.css);
@import url(table.css);
* { box-sizing: border-box; }

body{font-family: Pretendard, sans-serif;font-size: 16px;line-height: 160%;}
.aos{overflow-x: hidden;}
.over-hidden, .scroll-hidden{overflow: hidden;}
.wrap{position: relative;overflow: hidden;}
.pc-hide{display: none;}
.pc-hide::after{content: '';}

/* main */
.main-visual-box{position: relative;}
.main-content-box01{max-width: 1480px;margin: auto;padding: 0 20px;}
.main-content-wrap02{background: url(../img/main/sec02-bg.jpg) no-repeat center / cover;}
.main-content-box02{max-width: 1480px;margin: auto;padding: 0 20px;}
.main-content-wrap03{background: url(../img/main/sec03-bg.png) no-repeat top 188px left;}
.main-content-box03{max-width: 1480px;margin: auto;padding: 0 20px;}
.main-content-box04{max-width: 1480px;margin: auto;padding: 0 20px;}
.footer-wrap{background: #1c1d1f url(../img/common/footer-bg.png) no-repeat bottom right;}
.footer-box{max-width: 1480px;margin: auto;padding: 0 20px;}

/*sub-page*/
.sub-container {}
.sub-visual-wrap {padding: 0 0 70px;position: relative;z-index: 50;}
.sub-visual-box {padding: 0 40px;}
.content-outer-wrap {max-width: 1560px;width: 100%;margin: 0 auto;box-sizing: border-box;padding: 0 20px;}
.content-outer-wrap .content-outer-box {display: flex;flex-wrap: wrap;gap: 60px;padding: 0 0 140px;}
.content-outer-wrap .lnb-wrap {width: 240px;flex-shrink: 0;}
.content-outer-wrap .sub-content-wrap {flex: 1;box-sizing: border-box;min-width: 0;}
.content-outer-wrap .content-outer-box .sub-content-box  .title-box {padding: 0 0 50px;}
.content-outer-wrap .content-outer-box .sub-content-box > .tab-box {padding: 0;}

.sub header {position: relative;}

@media (max-width: 1520px) {
	.sub-visual-box {padding: 0 15px;}
	.content-outer-wrap .content-outer-box {gap:30px;}
}

/* ==========================================================================
   사이트 전체 커스텀 커서 제어 및 심장박동 애니메이션
   ========================================================================== */

/* 1. 분홍 하트 기본 상태: 클릭 방지 처리 */
.heart-cursor {
  pointer-events: none !important;
}

/* 2. 링크 호버 시 분홍 하트 크기 축소 (중앙 정렬 유지) */
.heart-cursor.link-hover {
  transform: translate(-50%, -50%) scale(0.6) !important; 
  transform-origin: center center !important;
}

/* 3. 홈페이지 전체 마우스 기본 화살표(auto) 복구 */
html.heart-cursor-enabled,
html.heart-cursor-enabled body {
  cursor: auto !important; 
}

/* 4. 링크, 버튼 등 클릭 요소 위에서는 손 모양(pointer) 복구 */
html.heart-cursor-enabled a,
html.heart-cursor-enabled button,
html.heart-cursor-enabled input[type="button"],
html.heart-cursor-enabled input[type="submit"],
html.heart-cursor-enabled .cursor-pointer {
  cursor: pointer !important;
}
html.heart-cursor-enabled a *,
html.heart-cursor-enabled button * {
  cursor: inherit !important;
}

/* 5. 하트 커서 정지 시 심장박동 애니메이션 */
.heart-cursor.is-still {
  animation: heartHeartbeat 0.8s infinite alternate ease-in-out !important;
}

@keyframes heartHeartbeat {
  0% { transform: translate(-50%, -50%) scale(1); }
  100% { transform: translate(-50%, -50%) scale(1.08); }
}
@media(max-width:1400px){
	.sub-visual-inner{margin-top: 54px;}
}
@media(max-width:1200px){
	.content-outer-wrap .lnb-wrap { display: none; }
	.content-outer-wrap .content-outer-box .sub-content-box { padding: 43px 15px 0; }
	.content-outer-wrap .content-outer-box { padding: 0 0 100px; }
	.sub-visual-wrap {padding: 0;}
	.content-outer-wrap {padding: 0;}
}
@media(max-width:1024px){
	.pc-hide{display: block;}
	.mobile-hide{display: none;}
	.mobile-hide::after{content: '';}
	
	.main-content-wrap03{background: none;}
	.footer-wrap{background-image: url(../img/common/footer-bg-mo.png);}

	.content-outer-wrap .sub-content-wrap { width: 100%; }
	.sub-visual-inner {margin-top: 15px;}
}
/* 기부소식의 썸네일 첨부영역만 숨김 */
.fund_common_tab_type02 .b-main-box > .b-file-box {
  display: none !important;
}
/* 발전재단 공지사항 - 기부캠페인 글머리 */
.fund_common_tab .division.divi04 {
  color: #fff !important;
  background-color: #005b82 !important;
}
/* 발전재단 공지사항 목록 제목 세로 가운데 정렬 */
@media (min-width: 769px) {
  .fund_common_tab .bn-list-common01 .b-title-box > .b-etc-box {
    display: none !important;
  }
}


/* 하트 커서 */
@media (pointer: fine) {
  html.heart-cursor-enabled,
  html.heart-cursor-enabled * {
    cursor: none !important;
  }

  .heart-cursor {
    position: fixed;
    left: 0;
    top: 0;
    width: 56px;
    height: 56px;
    opacity: 0;
    pointer-events: none;
    z-index: 2147483647;
    transform: translate(-50%, -50%);
    transition:
      opacity 0.15s ease,
      transform 0.2s ease;
  }

  .heart-cursor.is-visible {
    opacity: 0.85;
  }

  .heart-cursor svg {
    display: block;
    width: 100%;
    height: 100%;
    overflow: visible;
  }

  /* 기본 커서: 민트 */
  .heart-cursor svg path {
    fill: #44c1c4;
    transition: fill 0.2s ease;
  }

  /* 링크 및 버튼 위: 핑크 + 확대 */
  .heart-cursor.link-hover {
    transform: translate(-50%, -50%) scale(1.3);
  }

  .heart-cursor.link-hover svg path {
    fill: #ff69b4 !important;
  }

  /* 링크 위가 아닐 때만 심장박동 */
  .heart-cursor.is-idle:not(.link-hover) svg {
    animation: heart-beat 0.8s infinite alternate ease-in-out;
  }

  @keyframes heart-beat {
    from {
      transform: scale(1);
    }

    to {
      transform: scale(1.15);
    }
  }

  .heart-cursor-trail {
    position: fixed;
    border-radius: 50%;
    pointer-events: none;
    z-index: 2147483646;
    transform: translate(-50%, -50%);
  }
}

/* 동작 줄이기 설정에서는 애니메이션만 정지 */
@media (pointer: fine) and (prefers-reduced-motion: reduce) {
  .heart-cursor.is-idle svg {
    animation: none !important;
  }

  /* 동작 줄이기 설정에서는 하트박동만 정지 */
@media (pointer: fine) and (prefers-reduced-motion: reduce) {
  .heart-cursor.is-idle svg {
    animation: none !important;
  }
}
  }
}

/* ==================================================
 * 마우스 클릭 꽃잎 파티클 레이어
 * ================================================== */
#petalCanvas {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    pointer-events: none; /* 클릭 이벤트 통과 (사이트 기존 기능 정상 동작) */
    z-index: 99999; /* 화면 최상단 표시 */
}