@charset "utf-8";
@import "https://unpkg.com/aos@next/dist/aos.css";
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Noto+Sans+KR:wght@100..900&display=swap');
html { scroll-behavior: smooth; }
.montserrat-<uniquifier> {
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}

.noto-sans-kr-<uniquifier> {
  font-family: "Noto Sans KR", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}

.list-group {--bs-list-group-active-bg: #333;--bs-list-group-active-border-color:#333;}


	body {font-family: 'Montserrat', 'Noto Sans KR', sans-serif;font-size: 1.0em;color:#2f2f2f;} /* background:#f3f5f6; */

    /* 사이드바 고정 */

	@media (min-width: 992px){
	  .sidebar-sticky{
		position: sticky;
		top: 34px;                        /* 헤더 높이만큼 */
		max-height: calc(100vh - 84px);   /* 화면에 맞추고 */
		overflow-y: auto;                 /* 내부 스크롤 */
	  }
	}

	/*  */
	
	.tedusafe_main {}
	.tedusafe_main a {color:#111;text-decoration:none;}
	.tedusafe_main h2 {font-weight:700;margin-top:125px;margin-bottom:25px;}
	.tedusafe_main {}
	.tedusafe_main {}
	.tedusafe_main {}
	.tedusafe_main {}



    /* 본문 타이포 살짝 개선 */
    main {color:#2f2f2f;}/* line-height: 1.6; */
	
	main .table {} /* border:1px solid var(--bs-border-color); */
	main .table th {background:#222;color:#fff;text-align:center;padding:16px;}
	main .table td {color:#2f2f2f;font-size:;} /* border:1px solid var(--bs-border-color); */

	main .tbl_wrap .table th {background:#222;color:#fff;text-align:center;padding:5px;} /* font-size:15px; */
	main .tbl_wrap .table th a {color:#fff;}
	main .tbl_wrap .table td {color:#2f2f2f;text-align:center;padding:5px;} /* font-size:15px;border:0px solid var(--bs-border-color); */
	main .tbl_wrap .table td.td_subject {text-align:left;font-weight:normal;}

	main h4 {margin:58px 0 24px;}

	main .sub_03 h4 {font-size:1.5em;line-height:1.6;letter-spacing:-0.02em;margin-bottom:0.2em;} /* border-left:3px solid #999;padding-left:12px; */
	main .sub_03 p {color:#999;}
	
	footer {background:#2f2f2f;}
	footer .brand-logo {opacity: 0.5;max-height: 46px;}

	main .main_gal {padding:45px 0 65px !important;margin-top:125px;background:#fbf7f8 url('/img/intro_img_gallery.jpg') 50% 50% no-repeat;background-size:cover;background-attachment: fixed;}

    /* 푸터 작은 회색 글씨 */
    .footer-text {
      font-size: .95rem;
      color: #bbb; /* #6c757d */
    }

    /* 모바일에서 사이드바 토글 버튼 여백 */
    .sidebar-toggle-btn {
      display: none;
    }

    @media (max-width: 991.98px) {
		body {font-size: 1.0em;color:#2f2f2f;}

      .sidebar-toggle-btn {
        display: inline-flex;
      }

		.brand-logo {
		  max-height: 46px;
		  width: auto;
		}

		.sub_title_box img {height:auto;max-width:100%;margin-top:20px;}
		.sub_title_box {margin-bottom:0px;}


    }


	.main_title_box {margin-bottom:0px;}
	.sub_title_box img {width:200px;height:auto;}
	.sub_title_box {} /* background-size:auto 140px;align-items: center;vertical-align: middle */
		
		.sub01_title, .sub02_title, .sub03_title, .sub04_title, .sub05_title {background-position:center;background-repeat: no-repeat ;background-size: 100% auto;height:310px;background-color:#999;
		background-blend-mode: multiply;}

		.sub01_title {background-image:url('/img/sub_intro_01.jpg');} /* 1  */
		.sub02_title {background-image:url('/img/sub_intro_02.jpg');} /* 2  */
		.sub03_title {background-image:url('/img/sub_intro_03.jpg');} /* 3  */
		.sub04_title {background-image:url('/img/sub_intro_04.jpg');} /* 4  */
		.sub05_title {background-image:url('/img/sub_intro_05.jpg');} /* 5  */

	@media (max-width: 767.98px) { 
		 .sub_title_box img {width:160px;height:auto;}
		 
		 .sub01_title, .sub02_title, .sub03_title, .sub04_title, .sub05_title {background-size:100% auto;height:230px;}
		 .sub01_title {background-image:url('/img/sub_intro_01_m.jpg');}
		 .sub02_title {background-image:url('/img/sub_intro_02_m.jpg');}
		 .sub03_title {background-image:url('/img/sub_intro_03_m.jpg');}
		 .sub04_title {background-image:url('/img/sub_intro_04_m.jpg');}
		 .sub05_title {background-image:url('/img/sub_intro_05_m.jpg');}
			
			.tbl_head01 tr {border-bottom:1px solid #ddd;}
		 main .tbl_wrap .table td, .tbl_head01 td {display:block;padding:0.5em !important;border:none !important;text-align:left !important;}


		main .table-bordered td  {display:block;padding:0.5em !important;border:none !important;text-align:left !important;border-style:none !important;}
		
		main .table-bordered td, main .table-bordered tr {border:0 !important;}

		main .table-bordered thead {
		border: none;
		clip: rect(0 0 0 0);
		height: 1px;
		margin: -1px;
		overflow: hidden;
		padding: 0;
		position: absolute;
		width: 1px;}

	}


/* 카드 이미지 호버 줌 */
.card-zoom .ratio > img,
.card-zoom .card-img-top,
.card-zoom .card-thumb {
  transform: scale(1);
  transition: transform .5s ease;
  will-change: transform;
  backface-visibility: hidden;
}

/* hover 시 이미지만 확대 (비율박스가 overflow-hidden 이라 깔끔하게 잘림) */
.card-zoom:hover .ratio > img,
.card-zoom:hover .card-img-top,
.card-zoom:hover .card-thumb {
  transform: scale(1.09); /* 1.04 ~ 1.1 사이로 취향 조절 */
}

/* 접근성: 모션 최소화 설정 사용 시 애니메이션 제거 */
@media (prefers-reduced-motion: reduce) {
  .card-zoom .ratio > img,
  .card-zoom .card-img-top,
  .card-zoom .card-thumb {
    transition: none;
  }
}


/* 카드 이미지 호버 줌 (현재 구조용: .card-zoom 가 카드 div에 있음) */
.card-zoom .ratio > img,
.card-zoom .ratio img {
  transform: scale(1);
  transition: transform .5s ease;
  will-change: transform;
  backface-visibility: hidden;
  transform-origin: center center;
}

.card-zoom:hover .ratio > img,
.card-zoom:hover .ratio img {
  transform: scale(1.09); /* 세기 조절: 1.04~1.1 */
}

/* 모션 최소화 설정 배려 */
@media (prefers-reduced-motion: reduce) {
  .card-zoom .ratio > img,
  .card-zoom .ratio img {
    transition: none;
  }
}








/* 상단 타이틀 섹션 컨테이너에 .hero-soft 배치 */
.hero-soft{
  position: relative;
  isolation: isolate;
}
.hero-soft::before{
  content:"";
  position:absolute; inset:0 0 -40% 0; /* 아래로 부드럽게 사라짐 */
  background: radial-gradient(1200px 400px at 50% -10%, rgba(13,110,253,.08), rgba(13,110,253,0)),
              radial-gradient(800px 300px at 80% -20%, rgba(25,135,84,.06), rgba(25,135,84,0));
  pointer-events:none; z-index:-1;
}


.accordion-button:focus, .form-control:focus {box-shadow:none !important;}