@charset "utf-8";
:root{
  --color-primary : #F58200;
  --color-primary-dark : #e07000;
  --color-secondary : #FF648C;
  --color-bg-light : #fef3c7 ;
  --color-white : #fcfcfc;
  --color-black : #101010;
  --color-light : #eee;
  --color-dark : #363636;
  --color-gray : #a8a8a8;
  --bg-primary-light : #fffdfa;
  --card-border-radius : 10px;
  --box-shadow : 0 8px 28px rgba(16, 16, 16, 0.04);
}

@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.min.css");

/* 초기화 */
/* html {overflow-y:scroll} */
body {
  margin:0;
  padding:0;
  font-size:1rem;
  font-family: "Pretendard Variable", sans-serif !important;
  background:#fff;
  position: relative;
  overflow-x: hidden;
  box-sizing: border-box;
  color: var(--color-black);
}
html, h1, h2, h3, h4, h5, h6, form, fieldset, img {margin:0;padding:0;border:0}
/* h1,  h3, h4, h5, h6 {font-size:1em;font-family:'Malgun Gothic', dotum, sans-serif} */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display:block}

ul, dl,dt,dd {margin:0;padding:0;list-style:none}
legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden}
label, input, button, select, img {
  vertical-align:middle;
  font-size:1rem;
  font-family: "Pretendard Variable", sans-serif !important;
}
input, button {
  margin:0;
  padding:0;
  font-family: "Pretendard Variable", sans-serif !important;
  font-size:1rem;
}
input[type="submit"] {cursor:pointer}
button {cursor:pointer}

textarea, select {font-family:'Malgun Gothic', dotum, sans-serif;font-size:1em}
select {margin:0}
p {margin:0;padding:0;word-break:keep-all}
hr {display:none}
pre {overflow-x:scroll;font-size:1.1em}
a {color:var(--color-black);text-decoration:none}

*, :after, :before {
  -webkit-box-sizing:border-box;
  -moz-box-sizing:border-box;
  box-sizing:border-box;
}

input[type=text],input[type=password], textarea {
-webkit-transition:all 0.30s ease-in-out;
-moz-transition:all 0.30s ease-in-out;
-ms-transition:all 0.30s ease-in-out;
-o-transition:all 0.30s ease-in-out;
outline:none;
}

input[type=text]:focus,input[type=password]:focus, textarea:focus,select:focus {
-webkit-box-shadow:0 0 5px #9ed4ff;
-moz-box-shadow:0 0 5px #9ed4ff;
box-shadow:0 0 5px #9ed4ff;
border:1px solid #558ab7 !important;
}

.placeholdersjs {color:#aaa !important}


.wrapper{
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
}
#hd {
  width: 100%;
  position: fixed;
  background-color: #fff;
  top: 0;
  left: 0;
  z-index: 1000;
  box-shadow: 0 2px 10px rgba(15, 15, 15, .05);
} 

#hd .header{
  display: flex;
  height: 80px;
  align-items: center;
  justify-content: space-between;
}
#hd #logo{
  flex-shrink: 0;
}
#hd #logo a{
  display: inline-flex;
  align-items: center;
}
#hd .header img.logo{
  display: block;
  width: auto;
  height: 35px;
  max-width: none;
  object-fit: contain;
}
#hd .hd-admin-login{
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-left: 0.75rem;
  padding: 0.45rem 0.85rem;
  border: 1px solid #eee;
  border-radius: 999px;
  background: #fff;
  color: #667085;
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: -0.02em;
  white-space: nowrap;
  text-decoration: none;
  transition: color 160ms ease, border-color 160ms ease, background 160ms ease;
}
@media (hover: hover) and (pointer: fine) {
  #hd .hd-admin-login:hover{
    color: var(--color-primary, #F58200);
    border-color: rgba(245, 130, 0, 0.35);
    background: rgba(245, 130, 0, 0.06);
  }
}
#hd_h1 {position:absolute;font-size:0;line-height:0;overflow:hidden}

/* 팝업레이어 */
#hd_pop {z-index:1000;position:relative;margin:0 auto;height:0}
#hd_pop h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
.hd_pops {position:absolute;border:1px solid #e9e9e9;background:#fff}
.hd_pops img {max-width:100%}
.hd_pops_con {}
.hd_pops_footer {padding:0;background:#000;color:#fff;text-align:left;position:relative;height: 35px;font-family: 'pretendard';}
.hd_pops_footer:after {display:block;visibility:hidden;clear:both;content:""}
.hd_pops_footer button {padding:10px;border:0;color:#fff}
.hd_pops_footer .hd_pops_reject {background:#000;text-align:left;font-size: 12px;height: 100%;}
.hd_pops_footer .hd_pops_close {background:#000;position:absolute;top:0;right:0;font-size: 12px;height: 100%;}

/* 상단 레이아웃 */



#tnb {border-bottom:1px solid #383838;margin:0 auto}
#tnb:after {display:block;visibility:hidden;clear:both;content:""}
#tnb .inner {margin:0 auto}



.hd_sch_wr {float:left;padding:30px 0;width:445px;margin-left:65px}
#hd_sch h3 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#hd_sch {border-radius:30px;overflow:hidden}
#hd_sch #sch_stx {float:left;width:385px;height:45px;padding-left:10px;border-radius:30px 0 0 30px;background:#2c2c2c;border:0;border-right:0;font-size:1.25em;color:#fff}
#hd_sch #sch_submit {float:left;width:60px;height:45px;border:0;background:#2c2c2c;color:#fff;border-radius:0 30px 30px 0;cursor:pointer;font-size:16px}

#hd_define {float:left}
#hd_define:after {display:block;visibility:hidden;clear:both;content:""}
#hd_define li {float:left;font-size:1.083em;line-height:14px;border-right:1px solid #4a4a4a;position:relative;text-align:center;margin:15px 10px 15px 0;padding-right:10px}
#hd_define li:last-child {padding-right:0;margin-right:0;border-right:0}
#hd_define li a {display:inline-block;color:#919191}
#hd_define li.active a {color:#fff}


#hd_qnb {float:right;text-align:right}
#hd_qnb:after {display:block;visibility:hidden;clear:both;content:""}
#hd_qnb li {float:left;font-size:1.083em;line-height:14px;border-right:1px solid #4a4a4a;position:relative;text-align:center;margin:15px 10px 15px 0;padding-right:10px}
#hd_qnb li:last-child {padding-right:0;margin-right:0;border-right:0}
#hd_qnb li span {display:block;margin-top:5px;font-size:0.92em}
#hd_qnb li a {display:inline-block;color:#919191}
#hd_qnb .visit .visit-num {display:inline-block;line-height:16px;padding:0 5px;margin-left:5px;border-radius:10px;background:#da22f5;color:#fff;font-size:10px}
#gnb{
  width: calc(100% - 250px);
  display:flex;
  height: 100%;
}
#gnb > h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#gnb .gnb_wrap{
  flex-grow: 1;
  display: flex;
  justify-content: flex-end;
}
#gnb #gnb_1dul{
  flex-grow: 1;
  display:flex;
  justify-content: flex-end;
}


#gnb #gnb_1dul .gnb_1dli.active > a,
#gnb .gnb_2dli.active a{
  background-color: var(--color-primary);
  color : var(--color-white);
  font-weight: 800;
}



#gnb #gnb_1dul .gnb_1dli > a{
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  font-weight: 500;
  background-color: #fff;
}



/* #gnb_1dul .gnb_1dli > a:hover, #gnb .gnb_wrap .sub-menu ul li:hover{
  color: #fff;
  background-color: #41a748;
  transition: all 0.5s;
} */


#gnb .gnb_wrap .sub-menu ul li:hover{
  color: var(--color-primary);
  transition: all 0.2s;
  font-weight: 700;
}

#gnb .gnb_2dul{
  position: absolute;
  left: 0;
  top: 70px;
  bottom: 100%;
  width: 100%;
  background-color: #ffffff80;
  backdrop-filter: blur(3px);
  transition: height 250ms ease-in-out;
  z-index: -1;
  height: 0px;
  overflow: hidden;
}



#gnb #gnb_1dul .gnb_1dli > a,
.gnb_2dli > a{
  transition: font-weight 100ms ease-in;
  font-size: 1rem;
  font-weight: 500;
  padding: 0 2rem;
  width: 150px;
}
#gnb #gnb_1dul .gnb_1dli:hover > a,
.gnb_2dli:hover > a{
  font-weight: 600;
}
#gnb #gnb_1dul .gnb_1dli:hover >  .gnb_2dul{
  height : 120px;
}
#gnb .gnb_wrap .sub-menu{
  position: absolute;
  left: 0;
  top: 100%;
  width: 100%;
  height: 0;
  overflow: hidden;
  text-align: center;
  background-color: rgb(255, 255, 255, 0.85);
  backdrop-filter: blur(4px);
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.08);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 200ms ease, height 200ms ease;
  z-index: 10;
}
#gnb .gnb_wrap:hover .sub-menu{
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
#gnb .gnb_wrap .sub-menu ul{
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  padding: 1rem 0;
  height: auto;
  min-height: 100%;
  border-right: 1px solid #dfdfdf;
}
#gnb .gnb_wrap .sub-menu ul.active{
  box-shadow: inset 0 3px 0 var(--color-primary);
}


#gnb .gnb_wrap .sub-menu ul li{
  padding: 5px 20px;
}


#gnb .gnb_wrap .sub-menu ul li.hover{
  color: #41a748;
}


/* #gnb .gnb_wrap .sub-menu ul li.active::before{
  content: '►';
  margin-right: 5px;
} */
#gnb .gnb_wrap .sub-menu ul a{
  color: inherit;
  font-size: 0.9rem;
  word-break: keep-all;
}
.gnb_2dul_box{
  justify-content: center;
  align-items: center;
  height: 100%;
  width: 140px;

}
.gnb_2dli{
  font-size: 0.9rem;
}



#ft #ft_wr #ft_company dl dt { padding-right: 5px;}


/* 메인메뉴 */
/* #gnb {position:relative;background:#fff}
#gnb > h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#gnb .gnb_wrap {margin:0 auto;position:relative}
#gnb .gnb_wrap:hover, #gnb .gnb_wrap:focus, #gnb .gnb_wrap:active{z-index:3}
#gnb #gnb_1dul {font-size:1.083em;padding:0;border-bottom:1px solid #e0e2e5;zoom:1; float: right;}
#gnb #gnb_1dul .ky_logo { float: left; padding-right: 700px; }
#gnb #gnb_1dul .ky_logo a { display: block;}
#gnb ul:after {display:block;visibility:hidden;clear:both;content:""}
#gnb .gnb_1dli {float:left;line-height:55px;padding:0px;position:relative}
#gnb .gnb_1dli:hover > a {color:#3a8afd;
-webkit-transition:background-color 2s ease-out;
-moz-transition:background-color 0.3s ease-out;
-o-transition:background-color 0.3s ease-out;
transition:background-color 0.3s ease-out}
.gnb_1dli .bg {position:absolute;top:24px;right:8px;display:inline-block;width:10px;height:10px;overflow:hidden;background:url('./images/gnb_bg2.gif') no-repeat 50% 50%;text-indent:-999px}
.gnb_1da {display:block;font-weight:bold;padding:0 15px;color:#080808;text-decoration:none; font-size: 16px;}
.gnb_1dli.gnb_al_li_plus .gnb_1da{padding-right:25px}
.gnb_2dli:first-child {border:0}
.gnb_2dul {display:none;position:absolute;top:54px;min-width:140px;padding-top:2px}
.gnb_2dul .gnb_2dul_box {border:1px solid #e0e2e5;border-top:0;padding:0;
-webkit-box-shadow:0px 1px 5px rgba(97, 97, 97, 0.2);
-moz-box-shadow:0px 1px 5px rgba(97, 97, 97, 0.2);
box-shadow:0px 1px 5px rgba(97, 97, 97, 0.2)}
.gnb_2da {display:block;padding:0 10px;line-height:40px;background:#fff;color:#080808;text-align:left;text-decoration:none}
a.gnb_2da:hover {color:#3a8afd;background:#f7f7f8;
-moz-transition:all 0.3s ease-out;
-o-transition:all 0.3s ease-out;
transition:all 0.3s ease-out}

.gnb_1dli_air .gnb_2da {}
.gnb_1dli_on .gnb_2da {}
.gnb_2da:focus, .gnb_2da:hover {color:#fff}
.gnb_1dli_over .gnb_2dul {display:block;left:0}
.gnb_1dli_over2 .gnb_2dul {display:block;right:0}
.gnb_wrap .gnb_empty {padding:10px 0;width:100%;text-align:center;line-height:2.7em;color:#080808}
.gnb_wrap .gnb_empty a {color:#3a8afd;text-decoration:underline}
.gnb_wrap .gnb_al_ul .gnb_empty, .gnb_wrap .gnb_al_ul .gnb_empty a {color:#555}

#gnb .gnb_menu_btn {background:#4158d1;color:#fff;width:50px;height:55px;border:0;vertical-align:top;font-size:18px}
#gnb .gnb_close_btn {background:#fff;color:#b6b9bb;width:50px;height:50px;border:0;vertical-align:top;font-size:18px;position:absolute;top:0;right:0}
#gnb .gnb_mnal {float:right;padding:0}

#gnb_all {display:none;position:absolute;border:1px solid #c5d6da;width:100%;background:#fff;z-index:1000;-webkit-box-shadow:0 2px 5px rgba(0,0,0,0.2);
-moz-box-shadow:0 2px 5px rgba(0,0,0,0.2);
box-shadow:0 2px 5px rgba(0,0,0,0.2)}
#gnb_all h2 {font-size:1.3em;padding:15px 20px;border-bottom:1px solid #e7eeef}
#gnb_all .gnb_al_ul:after {display:block;visibility:hidden;clear:both;content:""}
#gnb_all .gnb_al_ul > li:nth-child(5n+1) {border-left:0}
#gnb_all .gnb_al_li {float:left;width:20%;min-height:150px;padding:20px;border-left:1px solid #e7eeef}
#gnb_all .gnb_al_li .gnb_al_a {font-size:1.2em;display:block;position:relative;margin-bottom:10px;font-weight:bold;color:#3a8afd}
#gnb_all .gnb_al_li li {line-height:2em}
#gnb_all .gnb_al_li li a {color:#555}
#gnb_all_bg {display:none;background:rgba(0,0,0,0.1);width:100%;height:100%;position:fixed;left:0;top:0;z-index:999} */

/* ===== 반응형 헤더 / 햄버거 메뉴 ===== */
.hamburger{
  display: none;
  flex-direction: column;
  justify-content: space-between;
  width: 30px;
  height: 30px;
  padding: 4px 0;
  background: transparent;
  border: 0;
  cursor: pointer;
  z-index: 1100;
}
.hamburger span{
  display: block;
  width: 100%;
  height: 2px;
  border-radius: 2px;
  background: #222;
  transition: transform 250ms ease, opacity 200ms ease;
}
#hd.menu-open .hamburger span:nth-child(1){ transform: translateY(10px) rotate(45deg); }
#hd.menu-open .hamburger span:nth-child(2){ opacity: 0; }
#hd.menu-open .hamburger span:nth-child(3){ transform: translateY(-10px) rotate(-45deg); }

#m_gnb{ display: none; }
#m_gnb_dim{ display: none; }

@media (max-width: 1024px){
  #gnb{ display: none; }
  .hamburger{ display: flex; }
  #hd .hd-admin-login{
    margin-left: auto;
    margin-right: 0.5rem;
    padding: 0.4rem 0.7rem;
    font-size: 0.75rem;
  }

  /* 고정폭(wrapper 1300px)이 모바일에서 햄버거를 화면 밖으로 밀지 않도록 유동 폭 강제 */
  #hd .header{
    width: auto;
    max-width: none;
    margin: 0;
    padding: 0 20px;
    gap: 1rem;
  }

  /* 뒷배경 딤 (블러 + 반투명 검정) */
  #m_gnb_dim{
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.4);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
    opacity: 0;
    visibility: hidden;
    transition: opacity 300ms ease, visibility 300ms ease;
    z-index: 1050;
  }
  #hd.menu-open #m_gnb_dim{
    opacity: 1;
    visibility: visible;
  }

  /* 우측 드로어 */
  #m_gnb{
    display: block;
    position: fixed;
    top: 0;
    right: 0;
    width: 78%;
    max-width: 360px;
    height: 100%;
    overflow-y: auto;
    background: var(--color-white);
    box-shadow: -8px 0 20px rgba(0, 0, 0, 0.15);
    transform: translateX(100%);
    transition: transform 300ms ease;
    z-index: 1060;
    padding-top: 80px;
  }
  #hd.menu-open #m_gnb{
    transform: translateX(0);
  }
  #m_gnb ul{ list-style: none; margin: 0; padding: 0; }
  #m_gnb .m_gnb_li{ border-bottom: 1px solid #eee; }
  #m_gnb .m_gnb_a{
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 24px;
    font-size: 16px;
    font-weight: 600;
    color: #222;
  }
  #m_gnb .has-sub > .m_gnb_a::after{
    content: '';
    width: 8px;
    height: 8px;
    margin-left: 10px;
    border-right: 2px solid #999;
    border-bottom: 2px solid #999;
    transform: rotate(45deg);
    transition: transform 250ms ease;
  }
  #m_gnb .has-sub.open > .m_gnb_a::after{ transform: rotate(-135deg); }
  #m_gnb .m_sub{
    max-height: 0;
    overflow: hidden;
    background: #f7f7f8;
    transition: max-height 300ms ease;
  }
  #m_gnb .has-sub.open > .m_sub{ max-height: 600px; }
  #m_gnb .m_sub li a{
    display: block;
    padding: 13px 36px;
    font-size: 15px;
    color: #555;
  }
  #m_gnb .m_sub li a:hover{ color: var(--color-primary); }
}
@media (max-width: 500px) {
  .hamburger{
    width: 24px;
    height: 24px;
  }
  #hd.menu-open .hamburger span:nth-child(1){
    transform: translateY(8px) rotate(45deg);
  }
  #hd.menu-open .hamburger span:nth-child(3){
    transform: translateY(-6px) rotate(-45deg);
  }
}

/* 중간 레이아웃 */

#wrapper{
  box-sizing: border-box;
  padding-top: 80px;
}
@media screen and (max-width: 768px) {
  #wrapper {
    padding-top: 60px;
  }
}
#container_wr {
  min-height: 736px;
}
#aside {float:right;width:235px;padding:0;height:100%;margin:20px 0 20px 20px}

#container {position:relative;float:left;min-height:500px;height:auto !important;margin:20px 0;height:500px;font-size:1em;width:930px;zoom:1}
#container:after {display:block;visibility:hidden;clear:both;content:""}
#container_title span {margin:0 auto 10px;display:block;line-height:30px}

.lt_wr {width:32%}
.lt_wr:nth-child(3n+1) {clear:both}
.latest_wr {margin-bottom:20px}
.latest_wr:after {display:block;visibility:hidden;clear:both;content:""}
.latest_top_wr {margin:0 -10px 20px}
.latest_top_wr:after {display:block;visibility:hidden;clear:both;content:""}

/* 하단 레이아웃 */
.footer-content .content-link{
  display: flex;
  justify-content: center;
  line-height: 20px;
  padding: 1rem 0;
  gap: 1rem;
  font-size: 14px;
}
.footer-content .content-link a{
  color: var(--color-light);
  font-weight: 300;
  transition: font-weight 0.1s ease-in;
}
.footer-content .content-link a:hover{
  font-weight: 600;
}
#ft{
  background-color: var(--color-dark);
  color: var(--color-light);
  padding-bottom: 1rem;
}
#ft #ft_wr{
  padding: 20px 0;
}
#ft #ft_wr a img{
  display: block;
}
#ft #ft_wr a img.logo{
  height: 50px;
  width: auto;
}
#ft #ft_wr #ft_company{
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-top: 1.5rem;
}
#ft #ft_wr #ft_company dl{
  line-height: 1.5rem;
}
#ft #ft_wr #ft_company dl dt{
  font-size: 1.1rem;
  font-weight: 600;
}
#ft #ft_wr #ft_company dl dd{
  font-size: 1rem;
  font-weight: 300;
}
#ft #ft_wr .ft_info{
  display: flex;
  flex-wrap: wrap;
  column-gap: 20px;
  color: var(--color-dark);
}
#ft #ft_copy{
  text-align: left;
  padding: 10px 0;
  line-height: 20px;
  font-size: clamp(12px, 1vw, 14px);
  font-weight: 300;
  opacity: 0.8;
}
.quick-menu{
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  z-index: 999;
}
.quick-menu-list{
  display: flex;
  flex-direction: column;
  gap: 10px;
  background-color: var(--color-primary);
  border-radius: 100px;
}
.quick-menu-list li{
  width: 100px;
  height: 100px;
  border-radius: 50%;
  box-sizing: border-box;
  font-size: 0.9rem;
}
.quick-menu-list li a{
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  color: var(--color-white);
  font-weight: 500;
}
.quick-menu-list li a > span{
  font-size: 1.8rem;
}
.quick-menu-list li a > span.icon-img{
  width: 1.8rem;
  object-fit: contain;
}
.quick-menu-list li.top-btn-wrap{
  padding: 4px;
}
.quick-menu-list li.top-btn-wrap button{
  background-color: var(--color-white);
  color: var(--color-primary);
  border: none;
  border-radius: 50%;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  font-weight: 500;
  font-size: 0.9rem;
}
.quick-menu-list li.top-btn-wrap button > span{
  font-size: 2rem;
}
.quick-menu-list li.top-btn-wrap button > p{
  font-weight: 600;
}
/* 게시물 선택복사 선택이동 */
#copymove {}
#copymove .win_desc {text-align:center;display:block}
#copymove .tbl_wrap {margin:20px}
#copymove .win_btn {padding:0 20px 20px}
.copymove_current {float:right;background:#ff3061;padding:5px;color:#fff;border-radius:3px}
.copymove_currentbg {background:#f4f4f4}

/* 화면낭독기 사용자용 */
#hd_login_msg {position:absolute;top:0;left:0;font-size:0;line-height:0;overflow:hidden}
.msg_sound_only, .sound_only {display:inline-block !important;position:absolute;top:0;left:0;width:0;height:0;margin:0 !important;padding:0 !important;font-size:0;line-height:0;border:0 !important;overflow:hidden !important}

/* 본문 바로가기 */
#skip_to_container a {z-index:100000;position:absolute;top:0;left:0;width:1px;height:1px;font-size:0;line-height:0;overflow:hidden}
#skip_to_container a:focus, #skip_to_container a:active {width:100%;height:75px;background:#21272e;color:#fff;font-size:2em;font-weight:bold;text-align:center;text-decoration:none;line-height:3.3em}

/* ie6 이미지 너비 지정 */
.img_fix {width:100%;height:auto}

/* 캡챠 자동등록(입력)방지 기본 -pc */
#captcha {display:inline-block;position:relative}
#captcha legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden}
#captcha #captcha_img {height:40px;border:1px solid #898989;vertical-align:top;padding:0;margin:0}
#captcha #captcha_mp3 {margin:0;padding:0;width:40px;height:40px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer;background:url('../img/captcha2.png') no-repeat;text-indent:-999px;border-radius:3px}
#captcha #captcha_reload {margin:0;padding:0;width:40px;height:40px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer;background:url('../img/captcha2.png') no-repeat 0 -40px;text-indent:-999px;border-radius:3px}
#captcha #captcha_key {margin:0 0 0 3px;padding:0 5px;width:90px;height:40px;border:1px solid #ccc;background:#fff;font-size:1.333em;font-weight:bold;text-align:center;border-radius:3px;vertical-align:top}
#captcha #captcha_info {display:block;margin:5px 0 0;font-size:0.95em;letter-spacing:-0.1em}

/* 캡챠 자동등록(입력)방지 기본 - mobile */
#captcha.m_captcha audio {display:block;margin:0 0 5px;width:187px}
#captcha.m_captcha #captcha_img {width:160px;height:60px;border:1px solid #e9e9e9;margin-bottom:3px;margin-top:5px;display:block}
#captcha.m_captcha #captcha_reload {position:static;margin:0;padding:0;width:40px;height:40px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer;background:url('../img/captcha2.png') no-repeat 0 -40px;text-indent:-999px}
#captcha.m_captcha #captcha_reload span {display:none}
#captcha.m_captcha #captcha_key {margin:0;padding:0 5px;width:115px;height:29px;border:1px solid #b8c9c2;background:#f7f7f7;font-size:1.333em;font-weight:bold;text-align:center;line-height:29px;margin-left:3px}
#captcha.m_captcha #captcha_info {display:block;margin:5px 0 0;font-size:0.95em;letter-spacing:-0.1em}
#captcha.m_captcha #captcha_mp3 {width:31px;height:31px;background:url('../img/captcha2.png') no-repeat 0 0 ; vertical-align:top;overflow:hidden;cursor:pointer;text-indent:-9999px;border:none}

/* ckeditor 단축키 */
.cke_sc {margin:0 0 5px;text-align:right}
.btn_cke_sc {
  display:none;
  padding:0 10px;height:23px;border:1px solid #ccc;background:#fafafa;color:#000;text-decoration:none;line-height:1.9em;vertical-align:middle;cursor:pointer}
.cke_sc_def {margin:0 0 5px;padding:10px;border:1px solid #ccc;background:#f7f7f7;text-align:center}
.cke_sc_def dl {margin:0 0 5px;text-align:left;zoom:1}
.cke_sc_def dl:after {display:block;visibility:hidden;clear:both;content:""}
.cke_sc_def dt, .cke_sc_def dd {float:left;margin:0;padding:5px 0;border-bottom:1px solid #e9e9e9}
.cke_sc_def dt {width:20%;font-weight:bold}
.cke_sc_def dd {width:30%}

/* ckeditor 태그 기본값 */
#bo_v_con { font-size: 1rem;}
#bo_v_con ul { display:block;list-style-type:disc;margin-top:1em;margin-bottom:1em;margin-left:0;margin-right:0;padding-left:40px}
#bo_v_con ol {display:block;list-style-type:decimal;margin-top:1em;margin-bottom:1em;margin-left:0;margin-right:0;padding-left:40px}
#bo_v_con li {display:list-item}

/* 버튼 */
a.btn,.btn {line-height:35px;height:35px;padding:0 10px;text-align:center;font-weight:bold;border:0;font-size:1rem;
-webkit-transition:background-color 0.3s ease-out;
-moz-transition:background-color 0.3s ease-out;
-o-transition:background-color 0.3s ease-out;
transition:background-color 0.3s ease-out}

a.btn01 {display:inline-block;padding:7px;border:1px solid #ccc;background:#fafafa;color:#000;text-decoration:none;vertical-align:middle}
a.btn01:focus, a.btn01:hover {text-decoration:none}
button.btn01 {display:inline-block;margin:0;padding:7px;border:1px solid #ccc;background:#fafafa;color:#000;text-decoration:none}
a.btn02 {display:inline-block;padding:7px;border:1px solid #3b3c3f;background:#4b545e;color:#fff;text-decoration:none;vertical-align:middle}
a.btn02:focus, .btn02:hover {text-decoration:none}
button.btn02 {display:inline-block;margin:0;padding:7px;border:1px solid #3b3c3f;background:#4b545e;color:#fff;text-decoration:none}

.btn_confirm {text-align:right} /* 서식단계 진행 */

.btn_submit {border:0;background:var(--color-primary);color:#fff;cursor:pointer;border-radius:3px}
.btn_submit:hover {background:var(--color-secondary);}
.btn_close {border:1px solid #dcdcdc;cursor:pointer;border-radius:3px;background:#fff}
a.btn_close {text-align:center;}

a.btn_cancel {display:inline-block;background:#969696;color:#fff;text-decoration:none;vertical-align:middle}
button.btn_cancel {display:inline-block;background:#969696;color:#fff;text-decoration:none;vertical-align:middle}
.btn_cancel:hover {background:#aaa}
a.btn_frmline, button.btn_frmline {display:inline-block;width:128px;padding:0 5px;height:40px;border:0;background:#434a54;border-radius:3px;color:#fff;text-decoration:none;vertical-align:top} /* 우편번호검색버튼 등 */
a.btn_frmline {}
button.btn_frmline {font-size:1em}

/* 게시판용 버튼 */
a.btn_b01,.btn_b01 {display:inline-block;color:#bababa;text-decoration:none;vertical-align:middle;border:0;background:transparent; }
.btn_b01:hover, .btn_b01:hover {color:#000}
a.btn_b02,.btn_b02 {display:inline-block;background:#253dbe;padding:0 10px;color:#fff;text-decoration:none;border:0;vertical-align:middle}
a.btn_b02:hover, .btn_b02:hover {background:#0025eb}
a.btn_b03, .btn_b03 {display:inline-block;background:#fff;border:1px solid #b9bdd3;color:#646982;text-decoration:none;vertical-align:middle}
a.btn_b03:hover, .btn_b03:hover {background:#ebedf6}
a.btn_b04, .btn_b04 {display:inline-block;background:#fff;border:1px solid #ccc;color:#707070;text-decoration:none;vertical-align:middle}
a.btn_b04:hover, .btn_b04:hover {color:#333;background:#f9f9f9}
a.btn_admin,.btn_admin {display:none;color:#d13f4a;text-decoration:none;vertical-align:middle} /* 관리자 전용 버튼 */
.btn_admin:hover, a.btn_admin:hover {color:#ff3746}


/* 기본테이블 */
div.tbl_head01.tbl_wrap thead tr { background: var(--color-primary); font-size: 16px;}

div#bo_list { width: 100%!important; margin: 0 auto;}
div.bo_tit { font-size: 16px!important;} 

td.td_subject { background: #fff!important;}

#bo_list tbody .even td { }
div#bo_list_total { display: none;}

/* 갤러리 */
ul#gall_ul.gall_row { 
  width: 100%;
    /* margin: 10px -10px 0; */
    /* padding: 0; */
    list-style: none;
    /* zoom: 1; */
    margin: 0 auto!important;
    text-align: center;
}

article#bo_v { width: 100%!important; margin: 0 auto; padding-bottom: 40px;}
td.td_num2 { background: #fff;}

span.bo_cnt { display: none;}

button.cmt_btn { display: none;}
section#bo_vc { display: none;}

.bo_vc_w textarea { display: none;}

.chk_box { display: none;}


#bo_v_info .profile_info { display: none!important;}

#bo_v_share { display: none;}

h2#bo_v_title {
  padding-bottom: 20px; 
  border-bottom: #eee 1px solid;
}

a.bo_tit {display: block;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden; }

/* .btn_bo_user { margin: 0!important; float: none!important;}
.btn_bo_user li { width: 100%!important;} */


form#fwrite {
  width: 100% !important;
  margin: 0 auto !important;
}

/* ul.btn_bo_user li:last-child { display: none;}
ul.btn_bo_user li:last-child { display: none;} */
.tbl_wrap table {width:100%;border-collapse:collapse;border-spacing:0 5px;background:#fff;border-top:1px solid #ececec;border-bottom:1px solid #ececec} 
.tbl_wrap caption {padding:10px 0;font-weight:bold;text-align:left}
.tbl_head01 {margin:0 0 10px}
.tbl_head01 caption {padding:0;font-size:0;line-height:0;overflow:hidden}
.tbl_head01 thead th { color: #fff; padding:20px 0;font-weight:normal;text-align:center;border-bottom:1px solid #ececec;height:40px;color: #fff;}
.tbl_head01 thead th input {vertical-align:top} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */
.tbl_head01 tfoot th, .tbl_head01 tfoot td {padding:10px 0;border-top:1px solid #c1d1d5;border-bottom:1px solid #c1d1d5;background:#d7e0e2;text-align:center}
.tbl_head01 tbody th {padding:8px 0;border-bottom:1px solid #e8e8e8}
.tbl_head01 td {color:#666;padding:10px 5px;border-top:1px solid #ecf0f1;border-bottom:1px solid #ecf0f1;line-height:1.4em;height:60px;word-break:break-all}
.tbl_head01 tbody tr:hover td {background:#fff}
.tbl_head01 a:hover {text-decoration:underline}

.tbl_head02 {margin:0 0 10px}
.tbl_head02 caption {padding:0;font-size:0;line-height:0;overflow:hidden}
.tbl_head02 thead th {padding:5px 0;border-top:1px solid #d1dee2;border-bottom:1px solid #d1dee2;background:#e5ecef;color:#383838;font-size:0.95em;text-align:center;letter-spacing:-0.1em}
.tbl_head02 thead a {color:#383838}
.tbl_head02 thead th input {vertical-align:top} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */
.tbl_head02 tfoot th, .tbl_head02 tfoot td {padding:10px 0;border-top:1px solid #c1d1d5;border-bottom:1px solid #c1d1d5;background:#d7e0e2;text-align:center}
.tbl_head02 tbody th {padding:5px 0;border-top:1px solid #e9e9e9;border-bottom:1px solid #e9e9e9;background:#fff}
.tbl_head02 td {padding:5px 3px;border-top:1px solid #e9e9e9;border-bottom:1px solid #e9e9e9;background:#fff;line-height:1.4em;word-break:break-all}
.tbl_head02 a {}

thead th:nth-child(3) { color: #fff;}

table thead th a { color: #fff;}

/* 폼 테이블 */
.tbl_frm01 {margin:0 0 20px}
.tbl_frm01 table {width:100%;border-collapse:collapse;border-spacing:0}
.tbl_frm01 th {width:70px;padding:7px 13px;border:1px solid #e9e9e9;border-left:0;background:#f5f8f9;text-align:left}
.tbl_frm01 td {padding:7px 10px;border-top:1px solid #e9e9e9;border-bottom:1px solid #e9e9e9;background:transparent}
.wr_content textarea,.tbl_frm01 textarea,.form_01 textarea, .frm_input {border:1px solid #d0d3db;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;
-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);
-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);
box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);
}
.tbl_frm01 textarea {padding:2px 2px 3px}
.frm_input {height:40px}

.full_input {width:100%}
.half_input {width:49.5%}
.twopart_input {width:385px;margin-right:10px}
.tbl_frm01 textarea, .write_div textarea {width:100%;height:100px}
.tbl_frm01 a {text-decoration:none}
.tbl_frm01 .frm_file {display:block;margin-bottom:5px}
.tbl_frm01 .frm_info {display:block;padding:0 0 5px;line-height:1.4em}

/*기본 리스트*/
.list_01 ul {border-top:1px solid #ececec}
.list_01 li {border-bottom:1px solid #ececec;background:#fff;padding:10px 15px;list-style:none;position:relative}
.list_01 li:nth-child(odd) {background:#f6f6f6}
.list_01 li:after {display:block;visibility:hidden;clear:both;content:""}
.list_01 li:hover {background:#f9f9f9}
.list_01 li.empty_li {text-align:center;padding:20px 0;color:#666}

/*폼 리스트*/
.form_01 h2 {font-size:1.167em}
.form_01 li {margin-bottom:10px}
.form_01 ul:after,
.form_01 li:after {display:block;visibility:hidden;clear:both;content:""}
.form_01 .left_input {float:left}
.form_01 .margin_input {margin-right:1%}
.form_01 textarea {height:100px;width:100%}
.form_01 .frm_label {display:inline-block;width:130px}

/* 자료 없는 목록 */
.empty_table {padding:50px 0 !important;text-align:center}
.empty_list {padding:20px 0 !important;color:#666;text-align:center}

/* 필수입력 */
.required, textarea.required {background-image:url('../img/require.png') !important;background-repeat:no-repeat !important;background-position:right top !important}

/* 테이블 항목별 정의 */
.td_board {width:80px;text-align:center}
.td_category {width:80px;text-align:center}
.td_chk {width:30px;text-align:center}
.td_date {width:60px;text-align:center}
.td_datetime {width:110px;text-align:center}
.td_group {width:80px;text-align:center}
.td_mb_id {width:100px;text-align:center}
.td_mng {width:80px;text-align:center}
.td_name {width:100px;text-align:left}
.td_nick {width:100px;text-align:center}
.td_num {width:50px;text-align:center}
.td_numbig {width:80px;text-align:center}
.td_stat {width:60px;text-align:center}

.txt_active {color:#5d910b}
.txt_done {color:#e8180c}
.txt_expired {color:#ccc}
.txt_rdy {color:#8abc2a}

/* 새창 기본 스타일 */
.new_win {position:relative;margin:auto;width:360px;}
.new_win .tbl_wrap {margin:0 20px}
.new_win #win_title {font-size:1.3em;height:50px;line-height:30px;padding:10px 20px;background:#fff;color:#000;-webkit-box-shadow:0 1px 10px rgba(0,0,0,.1);
-moz-box-shadow:0 1px 10px rgba(0,0,0,.1);
box-shadow:0 1px 10px rgba(0,0,0,.1)}
.new_win #win_title .sv {font-size:0.75em;line-height:1.2em}
.new_win .win_ul {margin-bottom:15px;padding:0 20px}
.new_win .win_ul:after {display:block;visibility:hidden;clear:both;content:""}
.new_win .win_ul li {float:left;background:#fff;text-align:center;padding:0 10px;border:1px solid #d6e9ff;border-radius:30px;margin-left:5px}
.new_win .win_ul li:first-child {margin-left:0}
.new_win .win_ul li a {display:block;padding:8px 0;color:#6794d3}
.new_win .win_ul .selected {background:#3a8afd;border-color:#3a8afd;position:relative;z-index:5}
.new_win .win_ul .selected a {color:#fff;font-weight:bold}
.new_win .win_desc {position:relative;margin:10px;border-radius:5px;font-size:1em;background:#f2838f;color:#fff;line-height:50px;text-align:left;padding:0 20px}
.new_win .win_desc i {font-size:1.2em;vertical-align:baseline}
.new_win .win_desc:after {content:"";position:absolute;left:0;top:0;width:4px;height:50px;background:#da4453;border-radius:3px 0 0 3px}
.new_win .frm_info {font-size:0.92em;color:#919191}
.new_win .win_total {float:right;display:inline-block;line-height:30px;font-weight:normal;font-size:0.75em;color:#3a8afd;background:#f6f6f6;padding:0 10px;border-radius:5px}
.new_win .new_win_con {margin:20px 0;padding:20px}
.new_win .new_win_con:after {display:block;visibility:hidden;clear:both;content:""}
.new_win .new_win_con2 {margin:20px 0}
.new_win .btn_confirm:after {display:block;visibility:hidden;clear:both;content:""}
.new_win .win_btn {text-align:center}
.new_win .cert_btn {margin-bottom:30px;text-align:center}
.new_win .btn_close {padding:0 20px;height:45px;overflow:hidden;cursor:pointer}
.new_win .btn_submit {padding:0 20px;height:45px;font-weight:bold;font-size:1.083em}

/* 검색결과 색상 */
.sch_word {color:#fff;background:#ff005a;padding:2px 5px 3px;line-height:18px;margin:0 2px}

/* 자바스크립트 alert 대안 */
#validation_check {margin:100px auto;width:500px}
#validation_check h1 {margin-bottom:20px;font-size:1.3em}
#validation_check p {margin-bottom:20px;padding:30px 20px;border:1px solid #e9e9e9;background:#fff}

/* 사이드뷰 */
.sv_wrap {position:relative;font-weight:normal}
.sv_wrap .sv {z-index:1000;display:none;margin:5px 0 0;font-size:0.92em;background:#333;
-webkit-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2);
-moz-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2);
box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2)}
.sv_wrap .sv:before {content:"";position:absolute;top:-6px;left:15px;width:0;height:0;border-style:solid;border-width:0 6px 6px 6px;border-color:transparent transparent #333 transparent}
.sv_wrap .sv a {display:inline-block;margin:0;padding:0 10px;line-height:30px;width:100px;font-weight:normal;color:#bbb}
.sv_wrap .sv a:hover {background:#000;color:#fff}
.sv_member {color:#333}
.sv_on {display:block !important;position:absolute;top:23px;left:0px;width:auto;height:auto}
.sv_nojs .sv {display:block}

/* 페이징 */
.pg_wrap {text-align: center; padding-bottom: 20px;}
.pg_wrap:after {display:block;visibility:hidden;clear:both;content:""} 
.pg {text-align:center}
.pg_page, .pg_current {display:inline-block;vertical-align:middle;background:#eee;border:1px solid #eee}
.pg a:focus, .pg a:hover {text-decoration:none}
.pg_page {color:#959595;font-size:1.083em;height:30px;line-height:28px;padding:0 5px;min-width:30px;text-decoration:none;border-radius:3px}
.pg_page:hover {background-color:#fafafa}
.pg_start {text-indent:-999px;overflow:hidden;background:url('../img/btn_first.gif') no-repeat 50% 50% #eee;padding:0;border:1px solid #eee}
.pg_prev {text-indent:-999px;overflow:hidden;background:url('../img/btn_prev.gif') no-repeat 50% 50% #eee;padding:0;border:1px solid #eee}
.pg_end {text-indent:-999px;overflow:hidden;background:url('../img/btn_end.gif') no-repeat 50% 50% #eee;padding:0;border:1px solid #eee}
.pg_next {text-indent:-999px;overflow:hidden;background:url('../img/btn_next.gif') no-repeat 50% 50% #eee;padding:0;border:1px solid #eee}
.pg_start:hover,.pg_prev:hover,.pg_end:hover,.pg_next:hover {background-color:#fafafa}

.pg_current {display:inline-block;background:#004f36;border:1px solid #3a8afd;color:#fff;font-weight:bold;height:30px;line-height:30px;padding:0 10px;min-width:30px;border-radius:3px}

/* cheditor 이슈 */
.cheditor-popup-window *, .cheditor-popup-window :after, .cheditor-popup-window :before {
-webkit-box-sizing:content-box;
-moz-box-sizing:content-box;
box-sizing:content-box;
}

/* Mobile화면으로 */
#device_change {display:block;margin:0.3em;padding:0.5em 0;border:1px solid #eee;border-radius:2em;background:#fff;color:#000;font-size:2em;text-decoration:none;text-align:center}


/* Content Style Start */
[primary]{
  color: var(--color-primary);
}
[secondary]{
  color: var(--color-secondary);
}
.centerbox{
   width: 90%;
   max-width: 1200px;
   margin: 0 auto;
}
.point-color{
  color: var(--color-primary);
}
img{
  width: 100%;
}
.m-only {
  display: none;
}
h2{
  font-size: clamp(1.5rem, 4vw, 2.8rem);
}
h3{
  font-size: clamp(1.4rem, 3.8vw, 2.6rem);
}
h4{
  font-size: clamp(1.3rem, 3.5vw, 2.5rem);
}
h5{
  font-size: clamp(1.2rem, 3vw, 30px);
}
h6{
  font-size: clamp(1.1rem, 2.5vw, 1.5rem);
}
section {
  padding: 8rem 0;
}
.main-title-wrap{
  margin-bottom: 4rem;
  line-height: 1.5;
  font-weight: 300;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.main-title-wrap .main-subtext{
  font-size: clamp(1rem, 2vw, 1.3rem);
  font-weight: 400;
}
.main-title{
  word-break: keep-all;
}

/* main - banner */
section.main.banner{
  width: 100%;
  height: 100vh;
  overflow: hidden;
  padding: 0;
}
section.main.banner .banner-item{
  position: relative;
  width: 100%;
  height: 100%;
}
section.main.banner .banner-item::before{
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to right, rgba(24, 24, 24, 0.5) 30%, rgba(24, 24, 24, 0));
  z-index: 1;
}
section.main.banner .banner-item > img,
section.main.banner .banner-item > video{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
section.main.banner .banner-item .banner-textbox {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  box-sizing: border-box;
  height: calc(80% - 80px);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  z-index: 5;
}
section.main.banner .banner-item-01 .banner-textbox{
  align-items: flex-start;
  justify-content: center;
}
.banner-textbox .banner-mark {
  width: 20%;
  margin-bottom: 2rem;
}
.banner-textbox .b-logo {
  width: 35%;
}
.banner-textbox h4{
  font-weight: 500;
  margin-bottom: 1rem;
  color: var(--color-white);
}

/* main - sec-01 */
.sec-01 .card-nav{
  display: grid;
  gap: 2rem;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 60px;
}
.sec-01 .card-nav li{
  aspect-ratio: 3 / 4;
  border-radius: var(--card-border-radius);
  background-size: cover;
  position: relative;
  overflow: hidden;
}
.sec-01 .card-nav li .card-nav-img{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 1;
  transition: all 0.5s ease-in-out;
}
.sec-01 .card-nav li::before{
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 60%;
  z-index: 2;
  transition: all 0.5s ease-in-out;
}
.sec-01 .card-nav li:first-child::before{
  background: linear-gradient(to bottom, #A2E2FD, transparent);
}
.sec-01 .card-nav li:nth-child(2)::before{
  background: linear-gradient(to bottom, #D5DAD4, transparent);
}
.sec-01 .card-nav li:nth-child(3)::before{
  background: linear-gradient(to bottom, #E8E4D9, transparent);
}
.sec-01 .card-nav li > a{
  position: relative;
  z-index: 10;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 1.2rem;
  height: 100%;
  padding: 50px;
  box-sizing: border-box;
}
.sec-01 .card-nav li > a .card-list-title{
  width: 100%;
}
.sec-01 .card-nav li > a .card-list-title p{
  font-size: clamp(1rem, 1.6vw, 18px);
}
.sec-01 .card-nav li > a .card-list-title h5{
  color: var(--color-primary);
}
.sec-01 .card-nav li > a .link-btn{
  font-size: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid var(--color-dark);
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}
.sec-01 .company-info-02{
  margin-top: 8rem;
  text-align: center;
  padding: 3rem;
  background: #2b1602 url(../img/images/main_info_2_bg.png) no-repeat center center / cover;
  border-radius: var(--card-border-radius);
  color: var(--color-white);
}
.sec-01 .company-info-02 .main-title-wrap{
  position: relative;
}
.sec-01 .company-info-02 .main-title-wrap::before{
  content: '';
  width: 8%;
  aspect-ratio: 1/1;
  background: url(../img/images/symbol.png) no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
  opacity: 0.2;
}
.sec-01 .company-info-02 .main-title-wrap h2{
  position: relative;
  z-index: 2;
}
.sec-01 .company-info-02 .c-info-02-index{
  margin-top: 2rem;
}
.sec-01 .company-info-02 .c-info-02-index > img{
  width: 30%;
  min-width: 300px;
}
.sec-01 .company-info-02 .c-info-02-text{
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 50px;
  position: relative;
}
.sec-01 .company-info-02 .c-info-02-text::before{
  content: '';
  position: absolute;
  top: 1rem;
  left: 0;
  width: 4%;
  aspect-ratio: 1/1;
  background-image: url(../img/images/talkmark_1.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: left top;
}
.sec-01 .company-info-02 .c-info-02-text::after{
  content: '';
  position: absolute;
  bottom: 1rem;
  right: 0;
  width: 4%;
  aspect-ratio: 1/1;
  background-image: url(../img/images/talkmark_2.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: right top;
}
.sec-01 .company-info-02 .c-info-02-text p{
  font-size: clamp(1.2rem, 2.8vw, 2.6rem);
  font-weight: 500;
  line-height: 1.5;
  word-break: keep-all;
}

/* main - sec-02 */
section.main.sec-02{
  background-color: #FFE7CB;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 80px 0;
}

section.main.sec-02 ul{
  display: flex;
  gap: 20px;
  justify-content: space-between;
}
section.main.sec-02 ul li{
  border-radius: var(--card-border-radius);
  flex: 1;
  background-color: #fff;
  overflow: hidden;
}
section.main.sec-02 ul li a{
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 20px;
  aspect-ratio: 1/1.05;
  font-size: clamp(1.1rem, 2vw, 24px);
  color: var(--color-primary);
  font-weight: 600;
  padding: 20px;
}
section.main.sec-02 ul li img{
  width: 40%;
  aspect-ratio: 1;
  object-fit: contain;
  filter: invert(48%) sepia(65%) saturate(2321%) hue-rotate(10deg) brightness(104%) contrast(106%);
}

/* main - sec-03 */
section.main.sec-03 .card-tab{
  display: grid;
  grid-template-columns: 25% 1fr;
  gap: 80px;
}
section.main.sec-03 .card-tab .card-tab-nav li:not(:last-child){
  margin-bottom: 1.5rem;
}
section.main.sec-03 .card-tab .card-tab-nav li a{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  border: 2px solid var(--color-primary);
  border-radius: var(--card-border-radius);
  padding: 40px;
  gap: 10px;
  font-size: clamp(1rem, 2vw, 20px);
  font-weight: 600;
  color: var(--color-primary);
  cursor: pointer;
  transition: background-color 250ms ease, color 250ms ease;
  position: relative;
}
section.main.sec-03 .card-tab .card-tab-nav li a > span{
  display: block;
  width: 25%;
  filter: invert(46%) sepia(91%) saturate(1588%) hue-rotate(7deg) brightness(102%) contrast(102%);
  transition: filter 250ms ease;
}
section.main.sec-03 .card-tab .card-tab-nav li.active a::before{
  content: '';
  clip-path: polygon(100% 49%, 0 0, 0 100%);
  width: 2rem;
  height: 2rem;
  background-color: var(--color-primary);
  position: absolute;
  top: 50%;
  right: -2rem;
  transform: translateY(-50%);
}
section.main.sec-03 .card-tab .card-tab-nav li.active a{
  background-color: var(--color-primary);
  color: var(--color-white);
}
section.main.sec-03 .card-tab .card-tab-nav li.active a > span{
  filter: brightness(0) invert(1);
}

section.main.sec-03 .card-tab .card-tab-content{
  display: flex;
  align-items: center;
}
section.main.sec-03 .card-tab .card-tab-content-01{
  background: url(../img/images/company-img_03.jpg) no-repeat center center / cover;
}
section.main.sec-03 .card-tab .card-tab-content-02{
  background: url(../img/images/strength_02.jpg) no-repeat center center / cover;
}
section.main.sec-03 .card-tab .card-tab-content-03{
  background: url(../img/images/strength_03.jpg) no-repeat center center / cover;
}
section.main.sec-03 .card-tab .card-tab-content > div{
  display: none;
  width: 100%;
  height: 100%;
  border-radius: var(--card-border-radius);
  overflow: hidden;
}
section.main.sec-03 .card-tab .card-tab-content > div.active{
  display: flex;
  align-items: flex-end;
  animation: cardTabFade 300ms ease;
}
section.main.sec-03 .card-tab .card-tab-content > div .card-tab-content-text{
  padding: 3rem 2.5rem 2.5rem;
  flex: 1;
  background: linear-gradient(to top, rgba(15, 15, 15, 0.65) 40%, transparent);
  color: var(--color-light);
}
section.main.sec-03 .card-tab .card-tab-content > div b{
  display: block;
  font-size: clamp(1.05rem, 2.3vw, 1.5rem);
  margin-bottom: 0.5rem;
}
section.main.sec-03 .card-tab .card-tab-content > div p{
  font-size: clamp(0.9rem, 2vw, 1.1rem);
  line-height: 1.6;
  font-weight: 350;
}
@keyframes cardTabFade{
  from{ opacity: 0; transform: translateY(8px); }
  to{ opacity: 1; transform: translateY(0); }
}

/* main - sec-04 */
section.main.sec-04{
  background-color: #FFF8F0;
}
section.main.sec-04 .main-title-wrap{
  gap: 0;
}
section.main.sec-04 .main-gall-wrap{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
}
section.main.sec-04 .main-gall-wrap > div,
section.main.sec-04 .main-gall-wrap .main-gall-thum-item{
  border-radius: var(--card-border-radius);
  overflow: hidden;
}
section.main.sec-04 .main-gall-wrap .main-gall-thum{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
}
section.main.sec-04 .main-gall-wrap .main-gall-focus{
  height: 100%;
}
section.main.sec-04 .main-gall-wrap .main-gall-focus img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
section.main.sec-04 .main-gall-wrap .main-gall-focus img.is-swap{
  animation: gallFade 350ms ease;
}
section.main.sec-04 .main-gall-wrap .main-gall-thum-item{
  cursor: pointer;
  position: relative;
  opacity: 0.5;
}
section.main.sec-04 .main-gall-wrap .main-gall-thum-item.active{
  opacity: 1;
}
section.main.sec-04 .main-gall-wrap .main-gall-thum-item a{
  display: block;
  height: 100%;
}
section.main.sec-04 .main-gall-wrap .main-gall-thum-item a img{
  width: 100%;
  height: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  object-position: center;
  transition: transform 350ms ease;
}
@keyframes gallFade{
  from{ opacity: 0.3; }
  to{ opacity: 1; }
}
section.main.sec-04 .btn-wrap{
  display: flex;
  justify-content: flex-end;
  margin-top: 2rem;
}
section.main.sec-04 .btn-wrap .more-btn{
  display: flex;
  align-items: center;
  gap: 0.5rem;
  background-color: var(--color-primary);
  color: var(--color-white);
  padding: 0.75rem 2rem;
  border-radius: var(--card-border-radius);
  transition: all 0.3s ease;
}

/* main - sec-05 */
section.main.sec-05{
  display: flex;
  flex-direction: column;
  gap: 8rem;
}
section.main.sec-05 .main-title-wrap{
  display: inline-block;
  padding-bottom: 0.5rem;
  padding-right: 2rem;
  border-bottom: 1px solid var(--color-dark);
}
section.main.sec-05 .main-desk-info{
  display: grid;
  grid-template-columns: 55% 1fr;
  gap: 2rem;
}
section.main.sec-05 .main-desk-info-item-01{
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 2rem;
}
section.main.sec-05 .main-desk-info-item-01 dl{
  display: flex;
  align-items: center;
  gap: 2rem;
  font-size: clamp(1rem, 1.6vw, 1.3rem);
  line-height: 1.5;
}
section.main.sec-05 .main-desk-info-item-01 dl dt{
  padding: 0.8rem 2rem;
  background-color: var(--color-primary);
  color: var(--color-white);
  border-radius: var(--card-border-radius);
  font-weight: 600;
}
section.main.sec-05 .main-desk-info-item-02 ol{
  margin-top: 0;
  list-style: inside;
  padding-left: 0;
  color: #555;
}
section.main.sec-05 .main-desk-info-tell img{
  border: 1px solid #D9D9D9;
  border-radius: var(--card-border-radius);
}
section.main.sec-05 .main-desk-info-tell b{
  color: var(--color-primary);
  font-size: clamp(1.5rem, 2.4vw, 2rem);
  margin-top: 0.5rem;
  display: block;
  text-align: center;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}
section.main.sec-05 .main-desk-info-tell b span{
  font-size: clamp(1.7rem, 2.6vw, 2.2rem);
}
section.main.sec-05 .main-contact-map{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  margin-top: 2rem;
}
section.main.sec-05 .main-contact-map .map-wrap{
  overflow: hidden;
  height: 100%;
}
section.main.sec-05 .main-contact-map .map-wrap > img{
  width: 100%;
  aspect-ratio: 5 / 3;
  object-fit: cover;
  object-position: center;
  border-radius: var(--card-border-radius);
  box-shadow: 0 0 2px rgba(0, 0, 0, 0.15);
}
section.main.sec-05 .main-contact-map .map-link-wrap{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.5rem;
  margin-top: 1rem;
}
section.main.sec-05 .main-contact-map .map-link-wrap .map-link-btn{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 0.5rem;
  border-radius: var(--card-border-radius);
  font-weight: 600;
}
section.main.sec-05 .main-contact-map .map-link-wrap .map-link-btn .map-link-icon{
  display: inline-block;
  width: 1.5rem;
}
section.main.sec-05 .main-contact-map .map-link-wrap .map-link-btn .map-link-icon img{
  display: block;
}
section.main.sec-05 .main-contact-map .map-link-wrap .map-link-btn.kakao-map{
  background-color: #f9e000;
}
section.main.sec-05 .main-contact-map .map-link-wrap .map-link-btn.naver-map{
  background-color: #3fc754;
  color: var(--color-white);
}
section.main.sec-05 .main-contact-map .map-info ul{
  display: flex;
  flex-direction: column;
  gap: 3.5rem;
  justify-content: space-between;
  height: 100%;
  padding: 10px 0;
  position: relative;
}
section.main.sec-05 .main-contact-map .map-info ul::before{
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 1px;
  background-color: #999;
}
section.main.sec-05 .main-contact-map .map-info ul li > b{
  display: block;
  font-size: clamp(1.1rem, 1.5vw, 1.3rem);
  margin-bottom: 1rem;
}
section.main.sec-05 .main-contact-map .map-info .map-info-text .map-info-icon{
  width: 6.25rem;
  height: 6.25rem;
  padding: 1.8rem;
  border-radius: 50%;
  background-color: var(--color-primary);
}
section.main.sec-05 .main-contact-map .map-info .map-info-text{
  display: flex;
  align-items: center;
  gap: 2rem;
  font-size: clamp(1rem, 1.2vw, 1.1rem);
  line-height: 1.7;
}
section.main.sec-05 .main-contact-map .map-info .map-info-text .map-info-icon img{
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: invert(100%) sepia(1%) saturate(403%) hue-rotate(125deg) brightness(117%) contrast(100%);
}
section.main.sec-05 .main-contact-map .map-info .map-info-text p span{
  font-weight: 500;
}

/* hover */
@media (hover: hover) and (pointer: fine){
  .sec-01 .card-nav li:hover .card-nav-img{
    transform: scale(1.1);
  }
  .sec-01 .card-nav li:hover::before{
    height: 100%;
  }
  section.main.sec-02 ul li a:hover{
    color: var(--color-white);
    background-color: var(--color-primary);
  }
  section.main.sec-02 ul li a:hover img{
    filter: brightness(0) invert(1);
  }
  section.main.sec-03 .card-tab .card-tab-nav li a:hover{
    background-color: var(--color-primary);
    color: var(--color-white);
  }
  section.main.sec-03 .card-tab .card-tab-nav li a:hover > span{
    filter: brightness(0) invert(1);
  }
  section.main.sec-04 .main-gall-wrap .main-gall-thum-item:hover a img{
    transform: scale(1.06);
  }
  section.main.sec-04 .btn-wrap .more-btn:hover{
    gap: 1rem;
    padding-right: 1.5rem;
  }
}

/* main - 반응형 */
/* 1024px 이하 */
@media screen and (max-width: 1024px) {
  html{
    font-size: 15px;
  }
  section{
    padding: 6rem 0;
  }
  .main-title-wrap{
    margin-bottom: 3rem;
  }
  .sec-01 .card-nav{
    gap: 1.5rem;
  }
  .sec-01 .card-nav li::before{
    height: 70%;
  }
  .sec-01 .card-nav li > a {
    padding: 2rem;
  }
  .sec-01 .card-nav li > a .card-list-title p {
    word-break: keep-all;
  }
  .sec-01 .company-info-02 {
    margin-top: 6rem;
  }
  section.main.sec-02 ul {
    gap: 1rem;
  }
  section.main.sec-03 .card-tab { 
    gap: 60px;
  }
  section.main.sec-04 .main-gall-wrap,
  section.main.sec-04 .main-gall-wrap .main-gall-thum {
    gap: 1rem;
  }
  section.main.sec-05{
    gap: 6rem;
  }
  section.main.sec-05 .main-desk-info {
    grid-template-columns: 1fr 1fr;
  }
  .quick-menu-list li{
    width: 80px;
    height: 80px;
  }
  .quick-menu-list li a > span,
  .quick-menu-list li.top-btn-wrap button > span{
    font-size: 1.5rem;
  }
  .quick-menu-list li a > span.icon-img{
    width: 1.5rem;
  }
}
/* 768px 이하 */
@media screen and (max-width: 768px) {
  #hd .header {
    height: 60px;
  }
  #hd .header img.logo {
    height: 1.5rem;
    width: auto;
  }
  .m-only {
    display: block;
  }
  section.main.banner {
    height: 60vh;
  }
  section.main.banner .banner-item .banner-textbox {
    height: auto;
  }
  .sec-01 .card-nav{
    gap: 1rem;
  }
  .sec-01 .card-nav li::before{
    height: 100%;
  }
  .sec-01 .company-info-02 .main-title-wrap{
    margin-bottom: 2rem;
  }
  .sec-01 .company-info-02 .c-info-02-text{
    padding: 40px;
  }
  section.main.sec-02 ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
  }
  section.main.sec-02 ul li.btn-wrap a > span{
    font-size: 2.5rem;
  }
  section.main.sec-02 ul li a {
    aspect-ratio: auto;
    height: 100%;
  }
  section.main.sec-02 ul li img {
    width: 30%;
  }
  section.main.sec-03 .card-tab{
    grid-template-columns: 1fr;
    gap: 3rem;
  }
  section.main.sec-03 .card-tab .card-tab-content {
    aspect-ratio: 16 / 9;
  }
  section.main.sec-03 .card-tab .card-tab-nav {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
  }
  section.main.sec-03 .card-tab .card-tab-nav li:not(:last-child) {
    margin-bottom: 0;
  }
  section.main.sec-03 .card-tab .card-tab-nav li.active a::before {
    top: auto;
    bottom: -1.5rem;
    left: 50%;
    right: auto;
    transform: translate(-50%, 0);
    clip-path: polygon(50% 100%, 0 0, 100% 0);
    width: 1.5rem;
    height: 1.5rem;
  }
  section.main.sec-03 .card-tab .card-tab-nav li a {
    padding: 1.5rem;
  }
  section.main.sec-03 .card-tab .card-tab-content > div p > br{
    display: none;
  }
  section.main.sec-04 .main-gall-wrap {
    grid-template-columns: 1fr;
  }
  section.main.sec-04 .main-gall-wrap .main-gall-thum {
    grid-template-columns: repeat(4, 1fr);
    gap: 0.5rem;
  }
  section.main.sec-05 .main-desk-info {
    grid-template-columns: 55% 1fr;
    gap: 1rem;
  }
  section.main.sec-05 .main-desk-info-item-01 {
    gap: 1rem;
  }
  section.main.sec-05 .main-desk-info-item-02 ol {
    font-size: 1rem;
  }
  section.main.sec-05 .main-contact-map {
    grid-template-columns: 1fr;
  }
  section.main.sec-05 .main-contact-map .map-wrap {
    height: auto;
    width: 100%;
  }
  section.main.sec-05 .main-contact-map .map-wrap > img{
    aspect-ratio: 16 / 9;
  }
  section.main.sec-05 .main-contact-map .map-info .map-info-text .map-info-icon {
    width: 6rem;
    height: 6rem;
  }
  section.main.sec-05 .main-contact-map .map-info .map-info-text p {
    font-size: 1rem;
  }
  #ft {
    padding-bottom: 5rem;
  }
  #ft #ft_wr {
  display: flex;
    gap: 1rem;
    justify-content: space-between;
  }
  #ft #ft_wr a img.logo {
    height: 2.5rem;
  }
  #ft #ft_wr #ft_company {
    margin-top: 0;
  }
  #ft #ft_copy {
    text-align: center;
  }
  .quick-menu {
    bottom: 0;
    right: 0;
    width: 100%;
    height: 4rem;
  }
  .quick-menu-list {
    border-radius: 0;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    height: 100%;
    gap: 0;
  }
  .quick-menu-list li {
    width: 100%;
    height: 100%;
  }
  .quick-menu-list li a {
    flex-direction: row;
  }
  .quick-menu-list li:first-child a,
  .quick-menu-list li:nth-child(2) a {
    border-right: 1px solid var(--color-light);
  }
  .quick-menu-list li a > span.icon-img{
    width: 1.5rem;
  }
  .quick-menu-list li.top-btn-wrap {
    padding: 0;
  }
  .quick-menu-list li.top-btn-wrap button {
    border-radius: 0;
    flex-direction: row;
  }
  .quick-menu-list li a > span,
  .quick-menu-list li.top-btn-wrap button > span {
    font-size: 1.5rem;
  }
}
/* 모바일 */
@media screen and (max-width: 500px) {
  html {
    font-size: 14px;
  }
  section {
    padding: 5rem 0;
  }
  .main-title-wrap {
    margin-bottom: 2rem;
  }
  section.main.banner {
    height: 50vh;
  }
  section.main.banner .banner-item::before {
    background: linear-gradient(to top, rgba(24, 24, 24, 0.5) 30%, rgba(24, 24, 24, 0));
  }
  section.main.banner .banner-item .banner-textbox {
    align-items: flex-end;
    top: auto;
    left: auto;
    right: 5%;
    bottom: 2.5rem;
  }
  section.main.banner .banner-item .banner-textbox {
    transform: translate(0);
    justify-content: flex-end;
  }
  .banner-textbox .b-logo {
    width: 50%;
  }
  .banner-textbox h4 {
    margin-bottom: 10px;
  }
  .banner-textbox .banner-mark {
    width: 25%;
    margin-bottom: 1rem;
  }
  .sec-01 .card-nav {
    margin-top: 0;
    grid-template-columns: 1fr;
  }
  .sec-01 .card-nav li {
    aspect-ratio: 16 / 9;
  }
  .sec-01 .card-nav li::before {
    height: 100%;
  }
  .sec-01 .card-nav li > a {
    align-items: flex-start;
  }
  .sec-01 .card-nav li > a .link-btn {
    padding-bottom: 2px;
    font-size: 0.9rem;
  }
  .sec-01 .card-nav li > a .link-btn span {
    font-size: 1.1rem;
  }
  .sec-01 .card-nav li > a .card-list-title h5 {
    font-size: 1.3rem;
  }
  .sec-01 .company-info-02 {
    margin-top: 5rem;
    padding: 2rem;
  }
  .sec-01 .company-info-02 .main-title-wrap{
    margin-bottom: 1rem;
  }
  .sec-01 .company-info-02 .c-info-02-index {
    margin-top: 0;
  }
  .sec-01 .company-info-02 .c-info-02-index > img {
    width: 60%;
  }
  .sec-01 .company-info-02 .c-info-02-text {
    padding: 30px 1.8rem;
  }
  .sec-01 .company-info-02 .c-info-02-text p {
    font-size: 1.3rem;
  }
  section.main.sec-02 ul {
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
  }
  section.main.sec-03 .card-tab {
    gap: 2rem;
  }
  section.main.sec-03 .card-tab .card-tab-nav {
    gap: 0.5rem;
  }
  section.main.sec-03 .card-tab .card-tab-nav li a {
    padding: 1rem 0.25rem;
    font-size: 0.9rem;
  }
  section.main.sec-03 .card-tab .card-tab-nav li.active a > span {
    width: 28%;
  }
  section.main.sec-03 .card-tab .card-tab-nav li.active a::before {
    height: 1rem;
    bottom: -1rem;
  }
  section.main.sec-03 .card-tab .card-tab-content {
    aspect-ratio: 4 / 3;
  }
  section.main.sec-03 .card-tab .card-tab-content > div .card-tab-content-text {
    padding: 3rem 1.5rem 1.5rem;
  }
  section.main.sec-04 .btn-wrap .more-btn {
    font-size: 0.9rem;
    line-height: 1;
  }
  section.main.sec-04 .main-gall-wrap{
    gap: 8px;
  }
  section.main.sec-04 .btn-wrap .more-btn > span {
    font-size: 1.2rem;
  }
  section.main.sec-05 .main-desk-info {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
  section.main.sec-05 .main-desk-info-tell img {
    display: none;
  }
  section.main.sec-05 .main-desk-info-item-01 dl dt {
    width: 140px;
    padding: 0.8rem 1.5rem;
    text-align: center;
  }
  section.main.sec-05 .main-desk-info-tell b {
    padding: 0.8rem;
    background-color: var(--color-primary);
    color: var(--color-white);
    font-weight: 700;
    border-radius: var(--card-border-radius);
  }
  section.main.sec-05 .main-desk-info-item-02 ol li {
    margin-bottom: 5px;
  }
  section.main.sec-05 .main-contact-map .map-link-wrap{
    grid-template-columns: 1fr;
  }
  section.main.sec-05 .main-contact-map .map-info .map-info-text .map-info-icon {
    width: 5rem;
    height: 5rem;
    padding: 1.5rem;
  }
  #ft #ft_wr {
    flex-direction: column;
    align-items: center;
  }
  #ft #ft_wr #ft_company dl {
    text-align: center;
  }
}


/* 공통 서브 배너 */
section#banner {
  height: 300px;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
section#banner::before{
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(36, 23, 4, 0.25);
}
section#banner h2{
  z-index: 1;
  color: var(--color-white); 
}
/* banner_10 */
section#banner.banner_10{
  background-image: url('../img/images/sub01_banner.jpg');
}

/* banner_20 */
section#banner.banner_20{
  background-image: url('../img/images/sub02_banner.jpg');
}

/* banner_30 */
section#banner.banner_30{
  background-image: url('../img/images/sub03_banner.jpg');
}

/* banner_40 */
section#banner.banner_40{
  background-image: url('../img/images/sub04_banner.jpg');
}

/* banner_50 */
section#banner.banner_50{
  background-image: url('../img/images/sub05_banner.jpg');
}

/* 서브바 */
aside.sub{
  position: sticky;
  top:80px;
  width: 100%;
  max-width: 250px;
  height: fit-content;
  border-radius: 0 0 10px 10px;
  overflow: hidden;
  box-shadow: 0 0 8px 0 rgba(36, 23, 4, 0.1);
  z-index: 999;
}
aside.sub ul { 
  display: block;
  font-weight: 400;
}

aside.sub ul li a{
  display: inline-block;
  width: 100%;
  height: 100%;
  padding: 0.5rem 30px;
  color: var(--color-gray);
}
aside.sub ul li:last-child a{
  padding-bottom: 15px;
}

aside.sub ul li.active a{
  background-color: var(--color-primary);
  color: var(--color-white);
  width: 100%;
  height: 100%;
  font-weight: 600;
  padding: 15px 30px;
}

@media (hover: hover) and (pointer: fine) {
  aside.sub ul li a:hover{
    transition: all 0.3s;
    color: var(--color-black);
  width: 100%;
  height: 100%;
    font-weight: 600;
  }
}

/* 서브페이지 공통 */
main{
  display: grid;
  grid-template-columns: 1fr 3fr;
  gap: 4rem;
}
main.no-aside{
  grid-template-columns: inherit;
}
.subpage{
  width: 100%;
  min-width: 0;
}

/* 서브페이지 공통 타이틀 */
.subpage .sub-header{
  text-align: center;
  margin-bottom: 3rem;
}
.subpage .sub-eyebrow{
  display: inline-block;
  margin-bottom: 0.75rem;
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-primary);
}
.subpage .sub-header h3{
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: -0.02em;
  margin-bottom: 0.75rem;
}
.subpage .sub-desc{
  color: #667085;
  font-size: 1rem;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .subpage .sub-header{
    text-align: left;
    margin-bottom: 2rem;
  }
}
.contentbox-index{
  padding: 2.25rem;
  background: #fff;
  border: 1px solid #f0f0f0;
  border-radius: 1rem;
  box-shadow: 0 8px 28px rgba(16, 16, 16, 0.04);
  margin-bottom: 1.5rem;
}
@media screen and (max-width: 500px) {
  .contentbox-index{
    padding: 1.5rem;
  }
}


.sub-content{
  display: grid;
  grid-template-columns: 1fr;
  gap: 3rem;
}
.sub-content_text_title{
  color: var(--color-primary);
  margin-bottom: 1rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding-left: 4.5rem;
  position: relative;
  font-family: "Noto Serif KR", serif;
}
.sub-content_text_title::before{
  content: '';
  position: absolute;
  left: 0;
  top: 1rem;
  width: 4rem;
  height: 4px;
  background-color: var(--color-primary);
}


/* 법인소개 */
/* 법인설립자소개 */
section#sub_01 .sub-content_1 > img{
  margin-bottom: 2rem;
}
section#sub_01 .sub-content_text{
  font-weight: 350;
  line-height: 1.6;
}

@media screen and (max-width: 1024px) {
  main{
    grid-template-columns: 1fr;
    gap: 0;
  }
  aside.sub {
    border-radius: 0;
    max-width: none;
    box-shadow: none;
    background-color: #fff;
  }

  aside.sub ul {
    margin-bottom: 0;
    display: flex;
    overflow-x: scroll;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  aside.sub ul::-webkit-scrollbar {
    display: none;
  }
  aside.sub ul li {
    flex: 1;
  }
  aside.sub ul li a{
    padding: 1rem 1.5rem;
    white-space: nowrap;
    text-align: center;
  }
  aside.sub ul li:last-child a{
    padding-bottom: 1rem;
  }
  aside.sub ul li.active a {
    background-color: transparent;
    color: var(--color-primary);
    border-bottom: 2px solid var(--color-primary);
    box-sizing: border-box;
    padding: 1rem 1.5rem;
  }
  aside.sub img {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  section#banner {
    height: 10rem;
  }
  aside.sub{
    top: 60px;
  }
  .sub-content_text_title{
    font-size: 1.3rem;
    padding-left: 3.5rem;
  }
  .sub-content_text_title::before{
    width: 3rem;
    height: 2px;
  }
}

/* 병원소개 */
/* 대표자인사말 */
section#about_01 .sub-content_1{
  position: relative;
}
section#about_01 .sub-content_1 .ceo-greeting{
  word-break: keep-all;
  margin-bottom: 2.5rem;
}
section#about_01 .sub-content_1 .ceo-greeting-title{
  text-align: center;
  font-weight: 300;
  font-family: "Noto Serif KR", serif;
  font-size: clamp(1.3rem, 3.8vw, 2.4rem);
  line-height: 1.6;
  color: var(--color-dark);
  padding: 0 1.5rem;
}
section#about_01 .sub-content_1 .ceo-greeting-title img{
  width: 75%;
  display: inline-block;
}
section#about_01 .sub-content_1 .sub-content_text{
  padding: 1.5rem;
  font-size: clamp(1rem, 2vw, 1.1rem);
  font-weight: 500;
  line-height: 1.6;
  font-family: "Noto Serif KR", serif;
}
section#about_01 .sub-content_1 .sub-content_text > span{
  display: block;
  width: 100%;
  text-align: right;
  padding-right: 1rem;
}
section#about_01 .sub-content_1 .sub-content_text > span img{
  width: 150px;
  display: inline-block;
}
@media screen and (max-width: 500px) {
  section#about_01 .sub-content_1 .ceo-greeting{
    margin-bottom: 1rem;
  }
  section#about_01 .sub-content_1 .ceo-greeting-title{
    padding: 0;
  }
  section#about_01 .sub-content_1 .sub-content_text{
    padding: 1.5rem 0;
  }
}

/* 의료진 소개 */
section#about_02 .sub_inner{
  width: 100%;
  padding: 0 0 4rem;
}
section#about_02 .staff-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 1.25rem;
}
section#about_02 .staff-card{
  display: block;
  margin: 0;
  padding: 1.35rem 1.5rem;
  border: 1px solid #f0f0f0;
  border-radius: 12px;
  background: #fff;
}
section#about_02 .staff-title{
  margin: 0 0 0.35rem;
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--color-primary);
}
section#about_02 .staff-name{
  margin: 0 0 0.85rem;
  font-size: clamp(1.35rem, 2vw, 1.6rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--color-black, #101010);
}
section#about_02 .staff-field{
  margin: 0 0 1.1rem;
  padding: 0.75rem 0.9rem;
  background: #fffaf4;
  border: 1px solid #f3e7d8;
  border-radius: 10px;
  font-size: 0.92rem;
  line-height: 1.55;
  color: #445;
  word-break: keep-all;
}
section#about_02 .staff-field span{
  display: inline-block;
  margin-right: 0.4rem;
  font-weight: 700;
  color: var(--color-primary);
}
section#about_02 .staff-career strong{
  display: block;
  margin-bottom: 0.55rem;
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--color-black, #101010);
}
section#about_02 .staff-career ul{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.35rem;
}
section#about_02 .staff-career li{
  position: relative;
  padding-left: 0.9rem;
  font-size: 0.9rem;
  line-height: 1.55;
  color: #556;
  word-break: keep-all;
}
section#about_02 .staff-career li::before{
  content: '';
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--color-primary);
}
@media screen and (max-width: 768px){
  section#about_02 .staff-card{
    padding: 1.15rem 1.2rem;
  }
}

/* 병원소개 - 메뉴변경(삭제예정) */
section#about_02_0807 .intro-content {
  display: grid;
  grid-template-columns: 1fr;
  margin-top: 3rem;
}
section#about_02_0807 .intro-content > div{
  display: grid;
  grid-template-columns: 3fr 5fr;
  gap: 3rem;
}
section#about_02_0807 .intro-content > div.grid-reverse{
  grid-template-columns: 5fr 3fr;
}
section#about_02_0807 .intro-content > div > img {
  aspect-ratio: 4 / 3;
  object-fit: cover;
  object-position: center;
  border-radius: var(--card-border-radius);
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
}
section#about_02_0807 .intro-content > div > .intro-content_text{
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  position: relative;
  padding-top: 1.8rem;
}
section#about_02_0807 .intro-content > div.grid-reverse > .intro-content_text{
  align-items: flex-end;
}
section#about_02_0807 .intro-content_text > h4{
  font-size: 2.5rem;
  position: absolute;
  left: 0;
  top: 0;
  text-align: right;
  width: 100%;
  color: var(--color-primary);
  opacity: 0.15;
  line-height: 1;
}
section#about_02_0807 .intro-content > div.grid-reverse .intro-content_text{
  text-align: right;
}
section#about_02_0807 .intro-content > div.grid-reverse .intro-content_text > h4 {
  text-align: left;
}
section#about_02_0807 .intro-content > div > .intro-content_text h6{
  color: var(--color-secondary);
  margin-bottom: 1rem;
}
section#about_02_0807 .intro-content > div > .intro-content_text p{
  width: 100%;
}

@media screen and (max-width: 768px) {
  section#about_02_0807 .intro-content > div.grid-reverse{
    grid-template-columns: 3fr 5fr;
  }
  section#about_02_0807 .intro-content > div.grid-reverse > img{
    order: 1;
  }
  section#about_02_0807 .intro-content > div.grid-reverse .intro-content_text > h4 {
    text-align: right;
  }
  section#about_02_0807 .intro-content > div.grid-reverse > .intro-content_text{
    order: 2;
    align-items: flex-start;
    text-align: left;
  }
  
}
@media screen and (max-width: 500px) {
  section#about_02_0807 .intro-content{
    margin-top: 2rem;
  }
  section#about_02_0807 .intro-content > div,
  section#about_02_0807 .intro-content > div.grid-reverse{
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  section#about_02_0807 .intro-content > div > .intro-content_text{
    padding-top: 1.2rem;
  }
  section#about_02_0807 .intro-content_text > h4{
    font-size: 1.8rem;
  }
  section#about_02_0807 .intro-content > div > .intro-content_text h6{
    margin-bottom: 0.5rem;
  }
}

/* 규림의 비전 - 미션·비전·핵심가치 */
section#about_03 .sub_inner{
  width: 100%;
  max-width: none;
  padding: 0 0 4rem;
}
section#about_03 .mvc-block{
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: 2rem;
  align-items: start;
  margin-bottom: 1.5rem;
  background: #fff;
}
section#about_03 .mvc-label{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.35rem;
  padding: 1rem 1.25rem;
  border-radius: 12px;
  background: linear-gradient(145deg, var(--color-primary) 0%, #ff9a2e 100%);
  color: #fff;
  min-height: 88px;
  justify-content: center;
}
section#about_03 .mvc-label span{
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: -0.02em;
}
section#about_03 .mvc-label em{
  font-style: normal;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  opacity: 0.9;
}
section#about_03 .mvc-body{
  padding-top: 0.25rem;
}
section#about_03 .mvc-lead{
  font-size: clamp(1.125rem, 2vw, 1.375rem);
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: -0.02em;
  color: var(--color-black);
  word-break: keep-all;
}
section#about_03 .mvc-subhead{
  display: inline-flex;
  align-items: center;
  margin: 1.75rem 0 1rem;
  padding: 0.35rem 0.85rem;
  border-radius: 999px;
  background: rgba(245, 130, 0, 0.1);
  color: var(--color-primary);
  font-size: 0.875rem;
  font-weight: 600;
}
section#about_03 .mvc-vision-list{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
section#about_03 .mvc-vision-list li{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 1.25rem;
  border-radius: 14px;
  background: #fafafa;
  border: 1px solid #f2f2f2;
  transition: border-color 200ms ease, box-shadow 200ms ease, transform 200ms ease;
}
section#about_03 .mvc-vision-list .material-symbols-rounded{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background: #fff;
  color: var(--color-primary);
  font-size: 1.4rem;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}
section#about_03 .mvc-vision-list strong{
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.45;
  word-break: keep-all;
}
section#about_03 .mvc-value-grid{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
  list-style: none;
  margin: 1.5rem 0 0;
  padding: 0;
}
section#about_03 .mvc-value-grid li{
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1.35rem 1.25rem;
  border-radius: 14px;
  background: linear-gradient(180deg, #fffaf4 0%, #ffffff 100%);
  border: 1px solid #f3e7d8;
}
section#about_03 .mvc-value-grid .material-symbols-rounded{
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 12px;
  background: var(--color-primary);
  color: #fff;
  font-size: 1.45rem;
}
section#about_03 .mvc-value-grid strong{
  display: block;
  margin-bottom: 0.35rem;
  font-size: 1.0625rem;
 font-weight: 700;
  color: var(--color-primary);
}
section#about_03 .mvc-value-grid p{
  font-size: 0.9375rem;
  line-height: 1.55;
  color: #4b5563;
  word-break: keep-all;
}

@media screen and (max-width: 900px) {
  section#about_03 .mvc-block{
    grid-template-columns: 1fr;
    gap: 1.25rem;
    padding: 1.5rem;
  }
  section#about_03 .mvc-label{
    flex-direction: row;
    align-items: center;
    gap: 0.75rem;
    min-height: auto;
  }
  section#about_03 .mvc-vision-list{
    grid-template-columns: 1fr;
  }
}

@media screen and (max-width: 600px) {
  section#about_03 .mvc-value-grid{
    grid-template-columns: 1fr;
  }
  section#about_03 .mvc-lead br{
    display: none;
  }
}

/* 환자권리장전 */
section#about_04 .sub_inner{
  width: 100%;
  padding: 0 0 4rem;
}
section#about_04 .admit-block{
  margin-bottom: 1.25rem;
}
section#about_04 .admit-label{
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.5rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #f0f0f0;
}
section#about_04 .admit-label > .material-symbols-rounded{
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 12px;
  background: var(--color-primary);
  color: #fff;
  font-size: 1.5rem;
}
section#about_04 .admit-label strong{
  display: block;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--color-black, #101010);
  line-height: 1.35;
}
section#about_04 .admit-label em{
  display: block;
  margin-top: 0.2rem;
  font-style: normal;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  color: #98a2b3;
}
section#about_04 .rights-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
section#about_04 .rights-list li{
  padding: 1.25rem 1.35rem;
  border-radius: 12px;
  background: #fafafa;
  border: 1px solid #f0f0f0;
}
section#about_04 .rights-title{
  display: block;
  margin-bottom: 0.65rem;
  font-size: clamp(1.05rem, 2vw, 1.15rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--color-black, #101010);
  line-height: 1.4;
}
section#about_04 .rights-title span{
  color: var(--color-primary);
  margin-right: 0.25rem;
}
section#about_04 .rights-list p{
  margin: 0;
  font-size: clamp(0.95rem, 1.8vw, 1.05rem);
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: -0.01em;
  color: #4a5568;
  word-break: keep-all;
}
@media screen and (max-width: 768px){
  section#about_04 .admit-label{
    gap: 0.75rem;
  }
  section#about_04 .admit-label > .material-symbols-rounded{
    width: 2.4rem;
    height: 2.4rem;
    font-size: 1.3rem;
  }
  section#about_04 .admit-label strong{
    font-size: 1.1rem;
  }
  section#about_04 .rights-list li{
    padding: 1.1rem 1rem;
  }
}

/* 지원부서안내 - 메뉴변경(삭제예정) */
section#about_04_0807 .sub_inner{
  width: 100%;
  padding: 0 0 4rem;
}
section#about_04_0807 .dept-list{
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
section#about_04_0807 .dept-item{
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: 2rem;
  align-items: stretch;
  background: #fff;
}
section#about_04_0807 .dept-thumb{
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  background: linear-gradient(135deg, rgba(245, 130, 0, 0.06) 0%, rgba(45, 89, 190, 0.05) 100%), #f5f5f5;
  aspect-ratio: 4 / 3;
  width: 100%;
}
section#about_04_0807 .dept-thumb img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  position: absolute;
  inset: 0;
}
section#about_04_0807 .dept-thumb-placeholder{
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #9ca3af;
  font-size: 0.875rem;
  font-weight: 500;
}
section#about_04_0807 .dept-thumb:has(img) .dept-thumb-placeholder{
  display: none;
}
section#about_04_0807 .dept-text{
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.75rem;
}
section#about_04_0807 .dept-text h6{
  font-size: clamp(1.125rem, 2vw, 1.375rem);
  font-weight: 700;
  color: var(--color-secondary);
  letter-spacing: -0.02em;
}
section#about_04_0807 .dept-text p{
  font-size: 1rem;
  line-height: 1.8;
  color: #374151;
  word-break: keep-all;
  font-weight: 350;
}
section#about_04_0807 .dept-text .point-color{
  font-weight: 600;
}

@media screen and (max-width: 768px) {
  section#about_04_0807 .dept-item{
    grid-template-columns: 200px 1fr;
    gap: 1.25rem;
    padding: 1.25rem;
  }
  section#about_04_0807 .dept-thumb{
    min-height: 170px;
  }
}
@media screen and (max-width: 500px) {
  section#about_04_0807 .dept-item{
    grid-template-columns: 1fr;
  }
}

/* 원내배치도 */
section#about_05 .sub_inner{
  width: 100%;
  padding: 0 0 4rem;
}
section#about_05 .contentbox-index{
  box-shadow: none;
}
section#about_05 .admit-label{
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.5rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #f0f0f0;
}
section#about_05 .admit-label > .material-symbols-rounded{
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 12px;
  background: var(--color-primary);
  color: #fff;
  font-size: 1.5rem;
}
section#about_05 .admit-label strong{
  display: block;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--color-black, #101010);
  line-height: 1.35;
}
section#about_05 .admit-label em{
  display: block;
  margin-top: 0.2rem;
  font-size: 0.8125rem;
  font-style: normal;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #98a2b3;
}
section#about_05 .tour-facility{
  margin: 0 0 3rem;
}
section#about_05 .tour-facility-list{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
section#about_05 .tour-facility-item{
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid #f0f0f0;
  border-radius: 16px;
  background: #fff;
}
section#about_05 .tour-facility-visual{
  margin: 0;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #fafafa;
}
section#about_05 .tour-facility-visual img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
section#about_05 .tour-facility-body{
  padding: 1.25rem 1.35rem 1.4rem;
}
section#about_05 .tour-facility-body strong{
  display: block;
  margin: 0 0 0.45rem;
  font-size: 1.15rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--color-black, #101010);
}
section#about_05 .tour-facility-body p{
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.65;
  color: #667085;
  word-break: keep-all;
}
section#about_05 .tour-video{
  margin: 0 0 3rem;
}
section#about_05 .tour-video-card{
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid #f0f0f0;
  border-radius: 16px;
  background: #101010;
}
section#about_05 .tour-video-trigger{
  position: relative;
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  text-align: left;
  overflow: hidden;
}
section#about_05 .tour-video-trigger img{
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  transition: transform 320ms ease;
}
section#about_05 .tour-video-trigger::before{
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(16, 16, 16, 0.38);
  z-index: 1;
  transition: background 220ms ease;
}
section#about_05 .tour-video-play{
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 4.5rem;
  height: 4.5rem;
  border-radius: 50%;
  background: var(--color-primary, #F58200);
  color: #fff;
  transform: translate(-50%, -50%);
  box-shadow: 0 10px 28px rgba(16, 16, 16, 0.28);
  transition: transform 220ms ease, background 220ms ease;
}
section#about_05 .tour-video-play .material-symbols-rounded{
  font-size: 2.25rem;
  margin-left: 0.15rem;
}
section#about_05 .tour-video-cta{
  position: absolute;
  left: 1.25rem;
  bottom: 1.25rem;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  padding: 0.55rem 0.9rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.92);
  color: var(--color-black, #101010);
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: -0.02em;
}
@media (hover: hover) and (pointer: fine) {
  section#about_05 .tour-video-trigger:hover img{
    transform: scale(1.03);
  }
  section#about_05 .tour-video-trigger:hover::before{
    background: rgba(16, 16, 16, 0.28);
  }
  section#about_05 .tour-video-trigger:hover .tour-video-play{
    transform: translate(-50%, -50%) scale(1.06);
    background: var(--color-primary-dark, #e07000);
  }
}
section#about_05 .tour-video-modal{
  position: fixed;
  inset: 0;
  z-index: 10050;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.25rem;
}
section#about_05 .tour-video-modal[hidden]{
  display: none !important;
}
section#about_05 .tour-video-modal-backdrop{
  position: absolute;
  inset: 0;
  background: rgba(16, 16, 16, 0.72);
}
section#about_05 .tour-video-modal-dialog{
  position: relative;
  z-index: 1;
  width: min(960px, 100%);
  overflow: hidden;
  border-radius: 16px;
  background: #101010;
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.35);
}
section#about_05 .tour-video-modal-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.9rem 1rem 0.9rem 1.25rem;
  background: #1a1a1a;
  color: #fff;
}
section#about_05 .tour-video-modal-head strong{
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: -0.02em;
}
section#about_05 .tour-video-modal-close{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
  cursor: pointer;
}
section#about_05 .tour-video-modal-close:hover{
  background: rgba(245, 130, 0, 0.25);
  color: #fff;
}
section#about_05 .tour-video-modal-body{
  background: #000;
}
section#about_05 .tour-video-modal-body video{
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  background: #000;
}
body.tour-video-open{
  overflow: hidden;
}
section#about_05 .tour-guide{
  margin: 0;
}
section#about_05 .floor-gallery{
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
section#about_05 .floor-building-nav{
  display: flex;
  gap: 0.75rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
section#about_05 .floor-building-nav li{
  flex: 1 1 0;
  min-width: 0;
}
section#about_05 .floor-building-nav button{
  width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.95rem 1rem;
  border: 1px solid #eee;
  border-radius: 12px;
  background: #fff;
  color: #667085;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  transition: border-color 200ms ease, color 200ms ease, background 200ms ease, box-shadow 200ms ease;
}
section#about_05 .floor-building-nav button .material-symbols-rounded{
  font-size: 1.35rem;
}
section#about_05 .floor-building-nav li.active button,
section#about_05 .floor-building-nav button[aria-selected="true"]{
  border-color: rgba(245,130,0,0.35);
  background: rgba(245,130,0,0.08);
  color: var(--color-primary);
  box-shadow: 0 6px 18px rgba(245,130,0,0.12);
}
section#about_05 .floor-gallery-body{
  display: flex;
  width: 100%;
}
section#about_05 .floor-viewer{
  margin: 0 0 1.25rem;
  padding: 1.5rem;
  border: 1px solid #f0f0f0;
  border-radius: 0 1rem 1rem 1rem;
  background: #fff;
  flex: 1;
}
section#about_05 .floor-viewer-head{
  display: grid;
  gap: 0.45rem;
  margin-bottom: 1rem;
}
section#about_05 .floor-viewer-floor{
  margin: 0;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--color-primary);
}
section#about_05 .floor-viewer-summary{
  margin: 0;
  font-size: clamp(1.05rem, 2.4vw, 1.3rem);
  line-height: 1.6;
  font-weight: 700;
  word-break: keep-all;
}
section#about_05 .floor-viewer-stage{
  position: relative;
  margin: 0 0 0.85rem;
}
section#about_05 .floor-viewer-figure{
  position: relative;
  margin: 0;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  border-radius: 12px;
  background: #f7f7f7;
}
section#about_05 .floor-viewer-figure img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
section#about_05 .floor-viewer-title{
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  margin: 0;
  padding: 2.5rem 1.25rem 1.1rem;
  font-size: clamp(0.95rem, 2vw, 1rem);
  font-weight: 600;
  text-align: center;
  letter-spacing: -0.02em;
  line-height: 1.35;
  color: #fff;
  word-break: keep-all;
  background: linear-gradient(180deg, rgba(16,16,16,0) 0%, rgba(16,16,16,0.62) 100%);
  pointer-events: none;
}
section#about_05 .floor-viewer-title[hidden]{
  display: none;
}
section#about_05 .floor-viewer-dots{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.45rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
section#about_05 .floor-viewer-dots[hidden]{
  display: none !important;
}
section#about_05 .floor-viewer-dots button{
  display: block;
  width: 0.55rem;
  height: 0.55rem;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: #d0d5dd;
  cursor: pointer;
  transition: width 160ms ease, background 160ms ease;
}
section#about_05 .floor-viewer-dots li.active button{
  width: 1.35rem;
  background: var(--color-primary, #F58200);
}
section#about_05 .floor-nav{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  border: 0;
  border-radius: 999px;
  background: rgba(16, 16, 16, 0.45);
  color: #fff;
  cursor: pointer;
  transition: background 160ms ease, opacity 160ms ease;
}
section#about_05 .floor-nav:hover{
  background: rgba(245, 130, 0, 0.9);
}
section#about_05 .floor-nav[hidden]{
  display: none !important;
}
section#about_05 .floor-nav-prev{ left: 0.85rem; }
section#about_05 .floor-nav-next{ right: 0.85rem; }
section#about_05 .floor-nav .material-symbols-rounded{
  font-size: 1.75rem;
  line-height: 1;
}
section#about_05 .floor-thumbs{
  display: none;
}
section#about_05 .floor-thumbs button{
  display: block;
  width: 100%;
  padding: 0;
  border: 1px solid #eee;
  border-radius: 10px;
  background: #fff;
  overflow: hidden;
  cursor: pointer;
  text-align: left;
  transition: border-color 160ms ease, box-shadow 160ms ease;
}
section#about_05 .floor-thumbs li.active button,
section#about_05 .floor-thumbs button:hover{
  border-color: rgba(245,130,0,0.45);
  box-shadow: 0 0 0 2px rgba(245,130,0,0.12);
}
section#about_05 .floor-thumbs img{
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  background: #fafafa;
}
section#about_05 .floor-thumbs span{
  display: block;
  padding: 0.55rem 0.65rem;
  font-size: 0.82rem;
  font-weight: 600;
  line-height: 1.35;
  color: #445;
  word-break: keep-all;
}
section#about_05 .floor-level-nav{
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  list-style: none;
  margin: 0 0 1.25rem;
  padding: 0;
}
section#about_05 .floor-level-nav button{
  min-width: 5rem;
  padding: 0.7rem 1rem;
  border: 1px solid #eee;
  border-right: 0;
  border-radius: 1rem 0 0 1rem;
  background: #fff;
  color: #667085;
  font-size: 0.95rem;
  font-weight: 700;
  cursor: pointer;
  transition: border-color 160ms ease, color 160ms ease, background 160ms ease;
}
section#about_05 .floor-level-nav li.active button,
section#about_05 .floor-level-nav button[aria-selected="true"]{
  border-color: var(--color-primary);
  background: var(--color-primary);
  color: #fff;
}
@media (hover: none){
  section#about_05 .floor-nav:hover{
    background: rgba(16, 16, 16, 0.45);
  }
  section#about_05 .floor-thumbs button:hover{
    border-color: #eee;
    box-shadow: none;
  }
  section#about_05 .floor-thumbs li.active button{
    border-color: rgba(245,130,0,0.45);
    box-shadow: 0 0 0 2px rgba(245,130,0,0.12);
  }
}
@media screen and (max-width: 1024px){
  section#about_05 .floor-level-nav{
    width: 15%;
    min-width: 5rem;
  }
  section#about_05 .floor-level-nav button{
    min-width: 0;
    width: 100%;
  }
}
@media screen and (max-width: 768px){
  section#about_05 .tour-facility-list{
    grid-template-columns: 1fr;
  }
  section#about_05 .admit-label strong{
    font-size: 1.1rem;
  }
  section#about_05 .tour-video-play{
    width: 3.75rem;
    height: 3.75rem;
  }
  section#about_05 .tour-video-play .material-symbols-rounded{
    font-size: 1.85rem;
  }
  section#about_05 .tour-video-cta{
    left: 0.85rem;
    bottom: 0.85rem;
    font-size: 0.82rem;
  }
  section#about_05 .floor-gallery-body{
    flex-direction: column;
  }
  section#about_05 .floor-level-nav{
    flex-direction: row-reverse;
    width: 100%;
    min-width: 0;
    margin-bottom: 0;
  }
  section#about_05 .floor-level-nav li{
    flex: 1;
  }
  section#about_05 .floor-level-nav button{
    border-radius: 1rem 1rem 0 0;
    border-right: 1px solid #eee;
    border-bottom: 0;
  }
  section#about_05 .floor-viewer{
    padding: 1.15rem;
  }
  section#about_05 .floor-thumbs{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media screen and (max-width: 640px){
  section#about_05 .floor-building-nav{
    flex-direction: column;
  }
  section#about_05 .floor-nav{
    width: 2.35rem;
    height: 2.35rem;
  }
  section#about_05 .floor-level-nav{
    justify-content: flex-start;
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 0.25rem;
  }
  section#about_05 .floor-level-nav button{
    flex: 0 0 auto;
    font-size: 0.9rem;
  }
  section#about_05 .tour-facility-body{
    padding: 1.1rem 1.15rem 1.25rem;
  }
}

/* 부설연구소 및 관련기관 - 메뉴변경(삭제예정) */
section#about_05_0807 .sub_inner{
  width: 100%;
  padding: 0 0 4rem;
}
section#about_05_0807 .institute-block{
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  align-items: start;
  background: #fff;
}
section#about_05_0807 .institute-label{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.35rem;
  padding: 1rem 1.25rem;
  border-radius: 12px;
  background: linear-gradient(145deg, var(--color-primary) 0%, #ff9a2e 100%);
  color: #fff;
  min-height: 88px;
  justify-content: center;
}
section#about_05_0807 .institute-label span{
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: -0.02em;
}
section#about_05_0807 .institute-label em{
  font-style: normal;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  opacity: 0.9;
}
section#about_05_0807 .institute-body{
  padding-top: 0.25rem;
}
section#about_05_0807 .institute-body_content:first-child{
  margin-bottom: 2rem;
}
section#about_05_0807 .institute-body p{
  font-size: 1rem;
  line-height: 1.85;
  color: #374151;
  font-weight: 350;
  word-break: keep-all;
  margin-top: 1.25rem;
}
section#about_05_0807 .institute-body-en p{
  line-height: 1.75;
  letter-spacing: 0.01em;
}
section#about_05_0807 .affiliates-list{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}
section#about_05_0807 .affiliates-list li{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  text-align: center;
}
section#about_05_0807 .affiliates-list li > div{
  width: 100%;
  border: 1px solid #f0f0f0;
}
section#about_05_0807 .affiliates-list li .affiliates-list-tel{
  display: block;
  width: 100%;
  padding: 0.5rem;
  font-weight: 600;
}
section#about_05_0807 .affiliates-list li:nth-child(1) .affiliates-list-tel{
  background-color: #e62d8b;
  color: #fff;
}
section#about_05_0807 .affiliates-list li:nth-child(2) .affiliates-list-tel{
  background-color: #31ae38;
  color: #fff;
}
section#about_05_0807 .affiliates-list li:nth-child(3) .affiliates-list-tel{
  background-color: var(--color-primary);
  color: #fff;
}
section#about_05_0807 .institute-doc{
  position: relative;
  width: 100%;
  padding: 1rem;
  border-radius: 12px;
  overflow: hidden;
  background: transparent;
  border: 1px solid #eee;
}
section#about_05_0807 .institute-doc img{
  width: 100%;
}

@media screen and (max-width: 768px) {
  section#about_05_0807 .affiliates-list{
    gap: 1rem;
  }
}
@media screen and (max-width: 500px) {
  section#about_05_0807 .affiliates-list{
    grid-template-columns: 1fr;
  }
  section#about_05_0807 .affiliates-list li > div > img,
  section#about_05_0807 .affiliates-list li:first-child > div > a > img{
    width: 200px;
  }
  section#about_05_0807 .affiliates-list li .affiliates-list-tel{
    margin-top: 1rem;
  }
  section#about_05_0807 .institute-doc {
    border: 0;
    padding: 0;
  }
}

/* 협력병원 */
section#about_07 .sub_inner{
  width: 100%;
  padding: 0 0 4rem;
}
section#about_07 .contentbox-index{
  box-shadow: none;
  background-color: var(--bg-primary-light);
  box-shadow: var(--box-shadow);
}
section#about_07 .admit-label{
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.5rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #f0f0f0;
}
section#about_07 .admit-label > .material-symbols-rounded{
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 12px;
  background: var(--color-primary);
  color: #fff;
  font-size: 1.5rem;
}
section#about_07 .admit-label strong{
  display: block;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--color-black, #101010);
  line-height: 1.35;
}
section#about_07 .admit-label em{
  display: block;
  margin-top: 0.2rem;
  font-size: 0.8125rem;
  font-style: normal;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #98a2b3;
}
section#about_07 .partner-list{
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
section#about_07 .partner-item{
  display: grid;
  grid-template-columns: minmax(0, 220px) minmax(0, 1fr);
  gap: 1.5rem;
  align-items: center;
  margin: 0;
  padding: 1.25rem;
  border: 1px solid #f0f0f0;
  border-radius: 16px;
  background: #fff;
}
section#about_07 .partner-visual{
  margin: 0;
  overflow: hidden;
  border-radius: 12px;
  background: #fff;
  border: 1px solid #eee;
  aspect-ratio: 4 / 3;
}
section#about_07 .partner-visual a{
  display: block;
  width: 100%;
  height: 100%;
}
section#about_07 .partner-visual img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
section#about_07 .partner-body{
  min-width: 0;
}
section#about_07 .partner-name{
  display: block;
  margin: 0 0 0.85rem;
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--color-black, #101010);
  line-height: 1.35;
}
section#about_07 .partner-name a{
  color: inherit;
  text-decoration: none;
}
section#about_07 .partner-name a:hover{
  color: var(--color-primary);
}
section#about_07 .partner-meta{
  display: grid;
  gap: 0.55rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
section#about_07 .partner-meta li{
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
  font-size: 0.95rem;
  line-height: 1.55;
  color: #667085;
  word-break: keep-all;
}
section#about_07 .partner-meta .material-symbols-rounded{
  flex-shrink: 0;
  margin-top: 0.1rem;
  font-size: 1.2rem;
  color: var(--color-primary);
}
section#about_07 .partner-meta a{
  color: inherit;
  text-decoration: none;
}
section#about_07 .partner-meta a:hover{
  color: var(--color-primary);
}
@media screen and (max-width: 640px){
  section#about_07 .partner-item{
    grid-template-columns: 1fr;
    gap: 1rem;
    padding: 1rem;
  }
  section#about_07 .partner-visual{
    aspect-ratio: 15 / 6;
  }
  section#about_07 .partner-visual a{
    padding: 1rem;
  }
  section#about_07 .partner-name{
    font-size: 1.1rem;
    margin-bottom: 0.7rem;
  }
}

/* 오시는길 */
section#about_06 .sub_inner{
  width: 100%;
  padding: 0 0 4rem;
}
section#about_06 .admit-block{
  margin-bottom: 1.25rem;
}
section#about_06 .admit-label{
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.5rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #f0f0f0;
}
section#about_06 .admit-label > .material-symbols-rounded{
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 12px;
  background: var(--color-primary);
  color: #fff;
  font-size: 1.5rem;
}
section#about_06 .admit-label strong{
  display: block;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--color-black, #101010);
  line-height: 1.35;
}
section#about_06 .admit-label em{
  display: block;
  margin-top: 0.2rem;
  font-style: normal;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  color: #98a2b3;
}
section#about_06 .admit-lead{
  font-size: clamp(1.05rem, 2vw, 1.25rem);
  font-weight: 600;
  line-height: 1.7;
  letter-spacing: -0.02em;
  color: var(--color-black, #101010);
  word-break: keep-all;
  margin: 0;
}
section#about_06 .direction-contact{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.85rem;
  list-style: none;
  margin: 1.25rem 0 0;
  padding: 0;
}
section#about_06 .direction-contact > li{
  display: flex;
  align-items: center;
  gap: 0.85rem;
  padding: 1rem 1.1rem;
  background: #fafafa;
  border: 1px solid #f2f2f2;
  border-radius: 12px;
}
section#about_06 .direction-contact .material-symbols-rounded{
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background: #fff;
  color: var(--color-primary);
  font-size: 1.35rem;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}
section#about_06 .direction-contact em{
  display: block;
  font-style: normal;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  color: #98a2b3;
  margin-bottom: 0.2rem;
}
section#about_06 .direction-contact a,
section#about_06 .direction-contact strong{
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--color-black, #101010);
  letter-spacing: -0.02em;
}
section#about_06 .direction-contact a:hover{
  color: var(--color-primary);
}
section#about_06 .direction-map-block{
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 1.25rem;
  align-items: stretch;
}
section#about_06 .direction-map-col{
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: 1rem;
}
section#about_06 .direction-map{
  margin: 0;
  padding: 0;
  overflow: hidden;
  border-radius: 0;
  width: 100%;
  min-height: 360px;
}
section#about_06 .direction-map-col .map-link-wrap{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.5rem;
}
section#about_06 .direction-map-col .map-link-btn{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 0.5rem;
  border-radius: var(--card-border-radius);
  font-weight: 600;
}
section#about_06 .direction-map-col .map-link-btn .map-link-icon{
  display: inline-block;
  width: 1.5rem;
}
section#about_06 .direction-map-col .map-link-btn .map-link-icon img{
  display: block;
  width: 100%;
  height: auto;
}
section#about_06 .direction-map-col .map-link-btn.kakao-map{
  background-color: #f9e000;
}
section#about_06 .direction-map-col .map-link-btn.naver-map{
  background-color: #3fc754;
  color: var(--color-white);
}
section#about_06 .direction-map .root_daum_roughmap,
section#about_06 .direction-map .root_daum_roughmap_landing{
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
}
section#about_06 .direction-map .wrap_map,
section#about_06 .direction-map .root_daum_roughmap .wrap_map{
  width: 100% !important;
  height: 360px !important;
}
section#about_06 .direction-map .root_daum_roughmap iframe,
section#about_06 .direction-map .root_daum_roughmap img{
  max-width: 100%;
}
section#about_06 .root_daum_roughmap .cont{
  display: none;
}
section#about_06 .direction-transit{
  display: grid;
  gap: 1.25rem;
}
section#about_06 .direction-transit .admit-block{
  margin-bottom: 0;
  height: 100%;
}
section#about_06 .direction-text{
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.75;
  color: #445;
  word-break: keep-all;
}
@media screen and (max-width: 900px){
  section#about_06 .direction-map-block{
    grid-template-columns: 1fr;
  }
  section#about_06 .direction-map{
    min-height: 320px;
  }
  section#about_06 .direction-map .wrap_map,
  section#about_06 .direction-map .root_daum_roughmap .wrap_map{
    height: 320px !important;
  }
}
@media screen and (max-width: 768px){
  section#about_06 .admit-label{
    gap: 0.75rem;
  }
  section#about_06 .admit-label > .material-symbols-rounded{
    width: 2.4rem;
    height: 2.4rem;
    font-size: 1.3rem;
  }
  section#about_06 .admit-label strong{
    font-size: 1.1rem;
  }
}
@media screen and (max-width: 640px){
  section#about_06 .direction-contact{
    grid-template-columns: 1fr;
  }
  section#about_06 .direction-map{
    min-height: 240px;
  }
  section#about_06 .direction-map .wrap_map,
  section#about_06 .direction-map .root_daum_roughmap .wrap_map{
    height: 240px !important;
  }
  section#about_06 .direction-map-col .map-link-wrap{
    grid-template-columns: 1fr;
  }
  section#about_06 .direction-text br{
    display: none;
  }
  section#about_06 .admit-lead br{
    display: none;
  }
}


/* 이용안내 - 공통 */
section#use_01 .sub_inner,
section#use_02 .sub_inner,
section#use_03 .sub_inner,
section#use_04 .sub_inner,
section#use_05 .sub_inner,
section#medical_01 .sub_inner,
section.care-page .sub_inner{
  width: 100%;
  padding: 0 0 4rem;
}
section#use_01 .admit-block,
section#use_02 .admit-block,
section#use_03 .admit-block,
section#use_04 .admit-block,
section#use_05 .admit-block,
section#medical_01 .admit-block,
section.care-page .admit-block{
  margin-bottom: 1.25rem;
}
section#use_01 .admit-label,
section#use_02 .admit-label,
section#use_03 .admit-label,
section#use_04 .admit-label,
section#use_05 .admit-label,
section#medical_01 .admit-label,
section.care-page .admit-label{
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.5rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #f0f0f0;
}
section#use_01 .admit-label > .material-symbols-rounded,
section#use_02 .admit-label > .material-symbols-rounded,
section#use_03 .admit-label > .material-symbols-rounded,
section#use_04 .admit-label > .material-symbols-rounded,
section#use_05 .admit-label > .material-symbols-rounded,
section.care-page .admit-label > .material-symbols-rounded{
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 12px;
  background: var(--color-primary);
  color: #fff;
  font-size: 1.5rem;
}
section#use_01 .admit-label strong,
section#use_02 .admit-label strong,
section#use_03 .admit-label strong,
section#use_04 .admit-label strong,
section#use_05 .admit-label strong,
section#medical_01 .admit-label strong,
section.care-page .admit-label strong{
  display: block;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--color-black, #101010);
  line-height: 1.35;
}
section#use_01 .admit-label em,
section#use_02 .admit-label em,
section#use_03 .admit-label em,
section#use_04 .admit-label em,
section#use_05 .admit-label em,
section#medical_01 .admit-label em,
section.care-page .admit-label em{
  display: block;
  margin-top: 0.2rem;
  font-style: normal;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  color: #98a2b3;
}
section#use_02 .admit-lead,
section#use_03 .admit-lead,
section#use_05 .admit-lead{
  font-size: clamp(1.05rem, 2vw, 1.25rem);
  font-weight: 600;
  line-height: 1.7;
  letter-spacing: -0.02em;
  color: var(--color-black, #101010);
  word-break: keep-all;
  margin: 0;
}

section#use_02 .admit-steps,
section#use_05 .admit-steps{
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 0.75rem;
  list-style: none;
  margin: 0;
  padding: 0;
  counter-reset: none;
}
section#use_02 .admit-steps-out{
  grid-template-columns: repeat(6, 1fr);
}
section#use_02 .admit-steps > li,
section#use_05 .admit-steps > li{
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  padding: 1.1rem 0.85rem 1.15rem;
  background: linear-gradient(180deg, #fffaf4 0%, #ffffff 100%);
  border: 1px solid #f3e7d8;
  border-radius: 12px;
  min-width: 0;
}
section#use_02 .admit-step-num,
section#use_05 .admit-step-num{
  display: block;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: var(--color-primary);
  margin-bottom: 0.15rem;
}
section#use_02 .admit-steps strong,
section#use_05 .admit-steps strong{
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: -0.02em;
  color: var(--color-black, #101010);
  word-break: keep-all;
}
section#use_02 .admit-steps p,
section#use_05 .admit-steps p{
  margin: 0;
  font-size: 0.8125rem;
  line-height: 1.45;
  color: #667085;
  word-break: keep-all;
}

section#use_02 .admit-items{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
section#use_02 .admit-items > li{
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
  padding: 1.15rem 1rem;
  background: #fafafa;
  border: 1px solid #f2f2f2;
  border-radius: 12px;
}
section#use_02 .admit-items .material-symbols-rounded{
  flex-shrink: 0;
  color: var(--color-primary);
  font-size: 1.6rem;
  margin-top: 0.1rem;
}
section#use_02 .admit-items strong{
  display: block;
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: 0.35rem;
  letter-spacing: -0.02em;
}
section#use_02 .admit-items p{
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.55;
  color: #667085;
  word-break: keep-all;
}

section#use_02 .admit-help{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.85rem;
}
section#use_02 .admit-help > li{
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
  padding: 0.9rem 0;
  border-bottom: 1px solid #f2f2f2;
}
section#use_02 .admit-help > li:last-child{
  border-bottom: 0;
  padding-bottom: 0;
}
section#use_02 .admit-help .material-symbols-rounded{
  flex-shrink: 0;
  color: var(--color-primary);
  font-size: 1.4rem;
  margin-top: 0.15rem;
}
section#use_02 .admit-help p{
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.7;
  color: #445;
  word-break: keep-all;
}
section#use_02 .admit-help strong{
  color: var(--color-black, #101010);
}
section#use_02 .admit-help a{
  color: var(--color-primary);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* 면회시간 */
section#use_03 .life-highlight{
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1.25rem;
  padding: 1rem 1.35rem;
  background: linear-gradient(145deg, var(--color-primary) 0%, #ff9a2e 100%);
  color: #fff;
  border-radius: 14px;
}
section#use_03 .life-highlight .material-symbols-rounded{
  font-size: 1.75rem;
}
section#use_03 .life-highlight strong{
  font-size: clamp(1.35rem, 2.5vw, 1.75rem);
  font-weight: 700;
  letter-spacing: -0.02em;
}
section#use_03 .life-note-notice{
  font-size: clamp(1.25rem, 3vw, 1.4rem);
  line-height: 1.5;
  font-weight: 700;
  margin-bottom: 1.5rem;
  color: var(--color-primary);
  display: flex;
  gap: 0.5rem;
}
section#use_03 .life-note-notice > span{

}
section#use_03 .life-notes{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.85rem;
}
section#use_03 .life-notes li{
  margin: 0;
  padding: 0.95rem 1rem;
  background: #fafafa;
  border: 1px solid #f2f2f2;
  border-radius: 12px;
  font-size: 0.95rem;
  line-height: 1.7;
  color: #445;
  word-break: keep-all;
}



/* 입원생활안내 */
section#use_02 .life-time-grid,
section#use_05 .life-time-grid{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.75rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
section#use_02 .life-time-grid-2,
section#use_05 .life-time-grid-2{
  grid-template-columns: repeat(2, 1fr);
}
section#use_02 .life-time-grid > li,
section#use_05 .life-time-grid > li{
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  padding: 1.15rem 1rem;
  text-align: center;
  background: linear-gradient(180deg, #fffaf4 0%, #ffffff 100%);
  border: 1px solid #f3e7d8;
  border-radius: 12px;
}
section#use_02 .life-time-label,
section#use_05 .life-time-label{
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--color-primary);
}
section#use_02 .life-time-grid strong,
section#use_05 .life-time-grid strong{
  font-size: 1.15rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--color-black, #101010);
}
section#use_02 .life-caption,
section#use_05 .life-caption{
  margin: 1rem 0 0;
  font-size: 0.875rem;
  color: #667085;
}
section#use_02 .life-callout{
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1.25rem 1.15rem;
  background: #fafafa;
  border: 1px solid #f2f2f2;
  border-radius: 12px;
}
section#use_02 .life-callout > .material-symbols-rounded{
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 50%;
  background: #fff;
  color: var(--color-primary);
  font-size: 1.5rem;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}
section#use_02 .life-callout strong{
  display: block;
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: 0.35rem;
  letter-spacing: -0.02em;
}
section#use_02 .life-callout p{
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.6;
  color: #667085;
  word-break: keep-all;
}
section#use_02 .life-notice-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.75rem;
}
section#use_02 .life-notice-list > li{
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
  padding: 1rem 0.95rem;
  background: #fafafa;
  border: 1px solid #f2f2f2;
  border-radius: 12px;
}
section#use_02 .life-notice-list .material-symbols-rounded{
  flex-shrink: 0;
  color: var(--color-primary);
  font-size: 1.45rem;
  margin-top: 0.1rem;
}
section#use_02 .life-notice-list p{
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.65;
  color: #445;
  word-break: keep-all;
}

@media screen and (max-width: 1100px){
  section#use_02 .admit-steps,
  section#use_02 .admit-steps-out{
    grid-template-columns: repeat(3, 1fr);
  }
  section#use_02 .life-time-grid,
  section#use_05 .life-time-grid{
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 768px){
  section#use_02 .admit-steps,
  section#use_02 .admit-steps-out,
  section#use_02 .admit-items,
  section#use_02 .life-time-grid,
  section#use_02 .life-time-grid-2,
  section#use_05 .life-time-grid,
  section#use_05 .life-time-grid-2{
    grid-template-columns: 1fr;
  }
  section#use_02 .admit-lead br{
    display: none;
  }
  section#use_01 .admit-label,
  section#use_02 .admit-label,
  section#use_03 .admit-label,
  section#use_04 .admit-label,
  section#use_05 .admit-label,
  section#medical_01 .admit-label,
  section.care-page .admit-label{
    gap: 0.75rem;
  }
  section#use_01 .admit-label > .material-symbols-rounded,
  section#use_02 .admit-label > .material-symbols-rounded,
  section#use_03 .admit-label > .material-symbols-rounded,
  section#use_04 .admit-label > .material-symbols-rounded,
  section#use_05 .admit-label > .material-symbols-rounded,
  section.care-page .admit-label > .material-symbols-rounded{
    width: 2.4rem;
    height: 2.4rem;
    font-size: 1.3rem;
  }
  section#use_01 .admit-label strong,
  section#use_02 .admit-label strong,
  section#use_03 .admit-label strong,
  section#use_04 .admit-label strong,
  section#use_05 .admit-label strong,
  section#medical_01 .admit-label strong,
  section.care-page .admit-label strong{
    font-size: 1.1rem;
  }
  section#use_03 .life-highlight{
    width: 100%;
    justify-content: center;
  }
}






/* 외래 - 진료시간 */
section#use_01 .outpatient-flow{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  width: 100%;
}
section#use_01 .outpatient-flow > li{
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 0.75rem;
  margin: 0;
  padding: 1.15rem 1.25rem;
  background: linear-gradient(180deg, #fffaf4 0%, #ffffff 100%);
  border: 1px solid #f3e7d8;
  border-radius: 12px;
}
section#use_01 .outpatient-flow > li + li{
  margin-top: 2.5rem;
}
section#use_01 .outpatient-flow > li + li::before{
  content: '';
  position: absolute;
  left: 50%;
  top: -2rem;
  width: 2px;
  height: 1rem;
  background: var(--color-primary);
  transform: translateX(-50%);
}
section#use_01 .outpatient-flow > li + li::after{
  content: '';
  position: absolute;
  left: 50%;
  top: -1rem;
  width: 0;
  height: 0;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 8px solid var(--color-primary);
  transform: translateX(-50%);
}
section#use_01 .outpatient-flow-num{
  display: block;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: var(--color-primary);
}
section#use_01 .outpatient-flow strong{
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--color-black, #101010);
  word-break: keep-all;
}
section#use_01 .outpatient-docs{
  list-style: none;
  margin: 1.25rem 0 0;
  padding: 1rem 1.15rem;
  background: #fafafa;
  border: 1px solid #f2f2f2;
  border-radius: 12px;
  display: grid;
  gap: 0.35rem;
  color: #445;
}
section#use_01 .outpatient-docs dt,
section#use_01 .outpatient-docs dd{
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.65;
  word-break: keep-all;
}
section#use_01 .outpatient-docs dt{
  color: var(--color-primary);
  margin-right: 0.35rem;
  font-weight: 700;
}
section#use_01 .outpatient-docs dd span{
  color: #667085;
  font-size: 0.9rem;
}
section#use_01 .medical-hours-table{
  min-width: 0;
}
section#use_01 .medical-hours-table tbody th{
  width: 8rem;
  vertical-align: middle;
}
section#use_01 .medical-hours-table tbody td{
  text-align: center;
  vertical-align: middle;
}
section#use_01 .medical-hours-note ul{
  margin: 0;
  padding: 0;
  list-style: none;
  display: inline-flex;
  flex-direction: column;
  gap: 0.25rem;
  text-align: left;
}
section#use_01 .medical-hours-note li{
  padding-left: 0;
}
section#use_01 .outpatient-schedule-note{
  margin: 0 0 1rem;
  font-size: 0.92rem;
  line-height: 1.6;
  color: #667085;
  word-break: keep-all;
}
section#use_01 .outpatient-schedule-wrap{
  overflow-x: auto;
}
section#use_01 .outpatient-schedule-scroll-hint{
  display: none;
  margin: 0.75rem 0 0;
  font-size: 0.88rem;
  line-height: 1.5;
  color: #667085;
  word-break: keep-all;
}
section#use_01 .outpatient-schedule-scroll-hint:not([hidden]){
  display: flex;
  align-items: center;
  gap: 0.35rem;
}
section#use_01 .outpatient-schedule-scroll-hint:not([hidden])::before{
  content: "swipe";
  font-family: "Material Symbols Rounded";
  font-size: 1.15rem;
  color: var(--color-primary);
  font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;
}
section#use_01 .outpatient-schedule-table{
  min-width: 720px;
}
section#use_01 .outpatient-schedule-table tbody th,
section#use_01 .outpatient-schedule-table .outpatient-doctor,
section#use_01 .outpatient-schedule-table .outpatient-ampm,
section#use_01 .outpatient-schedule-table td{
  text-align: center;
  vertical-align: middle;
  white-space: nowrap;
}
section#use_01 .outpatient-schedule-table tbody th{
  width: 8.5rem;
}
section#use_01 .outpatient-dept-cell{
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  min-width: 5.5rem;
}
section#use_01 .outpatient-dept-icon{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.4rem;
  height: 2.4rem;
  padding: 0.4rem;
  border-radius: 0.5rem;
  background: var(--color-primary);
  box-sizing: border-box;
}
section#use_01 .outpatient-dept-icon img{
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: brightness(0) invert(1);
}
section#use_01 .outpatient-dept-name{
  font-weight: 700;
  color: var(--color-black, #101010);
  word-break: keep-all;
}
section#use_01 .outpatient-schedule-table .outpatient-doctor{
  font-weight: 700;
  color: var(--color-black, #101010);
}
section#use_01 .outpatient-schedule-table .outpatient-ampm{
  width: 3.5rem;
  background: #fffaf4;
  font-weight: 600;
  color: var(--color-primary);
}
section#use_01 .outpatient-schedule-table td.is-off{
  color: #98a2b3;
  background: #fafafa;
}
section#use_01 .outpatient-schedule-saved{
  margin: 0 0 1rem;
  padding: 0.75rem 1rem;
  border-radius: 10px;
  background: rgba(245,130,0,0.1);
  border: 1px solid rgba(245,130,0,0.25);
  color: var(--color-primary);
  font-size: 0.92rem;
  font-weight: 600;
}
section#use_01 .outpatient-schedule-toolbar{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin: 0 0 1rem;
  padding: 0.9rem 1rem;
  background: #fffaf4;
  border: 1px solid #f3e7d8;
  border-radius: 12px;
}
section#use_01 .outpatient-schedule-toolbar p{
  margin: 0;
  font-size: 0.9rem;
  color: #556;
  word-break: keep-all;
}
section#use_01 .outpatient-schedule-actions{
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
section#use_01 .outpatient-btn{
  appearance: none;
  border: 1px solid #eee;
  border-radius: 999px;
  background: #fff;
  color: #445;
  font-size: 0.88rem;
  font-weight: 600;
  padding: 0.55rem 1rem;
  cursor: pointer;
}
section#use_01 .outpatient-btn-save{
  border-color: rgba(245,130,0,0.35);
  background: var(--color-primary);
  color: #fff;
}
section#use_01 .outpatient-btn-add{
  border-color: rgba(245,130,0,0.35);
  color: var(--color-primary);
}
section#use_01 .outpatient-btn-remove{
  border-color: #f0d0d0;
  color: #c45;
  padding: 0.4rem 0.75rem;
  font-size: 0.8rem;
}
section#use_01 .outpatient-schedule-table.is-editable input,
section#use_01 .outpatient-schedule-table.is-editable select{
  width: 100%;
  min-width: 4.5rem;
  box-sizing: border-box;
  border: 1px solid #e8e8e8;
  border-radius: 8px;
  background: #fff;
  padding: 0.45rem 0.5rem;
  font-size: 0.85rem;
  text-align: center;
  color: #334;
}
section#use_01 .outpatient-schedule-table.is-editable input{
  min-width: 5.5rem;
  font-weight: 600;
}
section#use_01 .outpatient-schedule-table.is-editable .outpatient-dept-cell input{
  min-width: 6rem;
}
section#use_01 .outpatient-schedule-table .outpatient-col-action{
  width: 4.5rem;
  white-space: nowrap;
  vertical-align: middle;
}
@media screen and (max-width: 640px){
  section#use_01 .outpatient-flow{
    max-width: none;
  }
  section#use_01 .outpatient-flow strong{
    font-size: 1rem;
  }
  section#use_01 .outpatient-schedule-toolbar{
    flex-direction: column;
    align-items: stretch;
  }
  section#use_01 .outpatient-schedule-actions{
    justify-content: flex-end;
  }
  section#use_01 .outpatient-dept-icon{
    width: 2rem;
    height: 2rem;
  }
}

/* 비급여항목 */
@media screen and (max-width: 640px){
  section#use_04 .medical-fee-placeholder{
    min-height: 220px;
  }
  section#use_04 .medical-fee-map.is-empty img{
    width: min(200px, 70%);
    margin: 2rem auto;
  }
  section#use_04 .medical-fee-admin-head{
    flex-wrap: wrap;
  }
  section#use_04 .medical-fee-admin-body,
  section#use_04 .medical-fee-admin-form{
    flex-direction: column;
    align-items: stretch;
  }
  section#use_04 .medical-fee-btn{
    width: 100%;
  }
}
section#use_04 .medical-fee-map{
  margin: 0;
}
section#use_04 .medical-fee-map img{
  display: block;
  width: 100%;
  height: auto;
  border-radius: 12px;
  border: 1px solid #f0f0f0;
}
section#use_04 .medical-fee-map.is-empty img{
  width: min(280px, 60%);
  margin: 2.5rem auto;
  border: 0;
  border-radius: 0;
  object-fit: contain;
}
section#use_04 .medical-fee-admin{
  margin: 0 0 1.25rem;
  border: 1px solid #f0f0f0;
  border-radius: 12px;
  background: #fff;
  overflow: hidden;
}
section#use_04 .medical-fee-admin-head{
  display: flex;
  align-items: center;
  gap: 0.85rem;
  padding: 1rem 1.15rem;
  border-bottom: 1px solid #f0f0f0;
  background: var(--color-bg-light, #fef3c7);
}
section#use_04 .medical-fee-admin-head > .material-symbols-rounded{
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 10px;
  background: var(--color-primary, #F58200);
  color: #fff;
  font-size: 1.35rem;
}
section#use_04 .medical-fee-admin-head > div{
  flex: 1 1 auto;
  min-width: 0;
}
section#use_04 .medical-fee-admin-head strong{
  display: block;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--color-black, #101010);
  line-height: 1.35;
}
section#use_04 .medical-fee-admin-head p{
  margin: 0.2rem 0 0;
  font-size: 0.8125rem;
  line-height: 1.5;
  color: #667085;
  word-break: keep-all;
}
section#use_04 .medical-fee-admin-badge{
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.6rem;
  border-radius: 6px;
  background: rgba(245, 130, 0, 0.12);
  color: var(--color-primary, #F58200);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: -0.02em;
}
section#use_04 .medical-fee-admin-badge.is-default{
  background: #f0f0f0;
  color: #667085;
}
section#use_04 .medical-fee-admin-body{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
  padding: 1rem 1.15rem 1.15rem;
}
section#use_04 .medical-fee-admin-form{
  display: flex;
  flex: 1 1 auto;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 0.65rem;
  min-width: 0;
}
section#use_04 .medical-fee-file{
  position: relative;
  display: flex;
  flex: 1 1 240px;
  align-items: center;
  gap: 0.75rem;
  min-width: 0;
  min-height: 3rem;
  padding: 0.55rem 0.9rem;
  border: 1px solid #eee;
  border-radius: 10px;
  background: #fff;
  cursor: pointer;
  transition: border-color 160ms ease, background 160ms ease;
}
section#use_04 .medical-fee-file:hover,
section#use_04 .medical-fee-file:focus-within{
  border-color: rgba(245, 130, 0, 0.4);
  background: rgba(245, 130, 0, 0.04);
}
section#use_04 .medical-fee-file > .material-symbols-rounded{
  flex-shrink: 0;
  color: var(--color-primary, #F58200);
  font-size: 1.35rem;
}
section#use_04 .medical-fee-file-text{
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  min-width: 0;
}
section#use_04 .medical-fee-file-text em{
  font-style: normal;
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--color-black, #101010);
}
section#use_04 .medical-fee-file-text small{
  font-size: 0.75rem;
  color: #98a2b3;
}
section#use_04 .medical-fee-file input[type="file"]{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
}
section#use_04 .medical-fee-admin-reset{
  margin: 0;
}
section#use_04 .medical-fee-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.3rem;
  min-height: 3rem;
  padding: 0.55rem 1.1rem;
  border: 0;
  border-radius: 10px;
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  cursor: pointer;
  transition: background 160ms ease, color 160ms ease, border-color 160ms ease;
}
section#use_04 .medical-fee-btn .material-symbols-rounded{
  font-size: 1.2rem;
}
section#use_04 .medical-fee-btn-primary{
  background: var(--color-primary, #F58200);
  color: #fff;
}
section#use_04 .medical-fee-btn-primary:hover{
  background: var(--color-primary-dark, #e07000);
}
section#use_04 .medical-fee-btn-ghost{
  background: #fff;
  color: #667085;
  border: 1px solid #eee;
}
section#use_04 .medical-fee-btn-ghost:hover{
  border-color: rgba(245, 130, 0, 0.35);
  color: var(--color-primary, #F58200);
  background: rgba(245, 130, 0, 0.04);
}

/* 증명서발급안내 */
section#use_05 .admit-steps-3{
  grid-template-columns: repeat(3, 1fr);
}
section#use_05 .cert-notes{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.85rem;
}
section#use_05 .cert-notes li{
  margin: 0;
  padding: 0.95rem 1rem;
  background: #fafafa;
  border: 1px solid #f2f2f2;
  border-radius: 12px;
  font-size: 0.95rem;
  line-height: 1.75;
  color: #445;
  word-break: keep-all;
}
section#use_05 .cert-sublead{
  margin: 0 0 1rem;
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--color-primary);
  word-break: keep-all;
}
section#use_01 .cert-table-wrap,
section#use_05 .cert-table-wrap{
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid #f0f0f0;
  border-radius: 12px;
}
section#use_01 .cert-table,
section#use_05 .cert-table{
  width: 100%;
  min-width: 0;
  border-collapse: collapse;
  background: #fff;
}
section#use_01 .cert-table thead th,
section#use_05 .cert-table thead th{
  background: var(--color-primary);
  color: #fff;
  font-weight: 600;
  font-size: 0.9rem;
  padding: 0.9rem 1rem;
  text-align: center;
  white-space: nowrap;
}
section#use_01 .cert-table tbody th,
section#use_01 .cert-table tbody td,
section#use_05 .cert-table tbody th,
section#use_05 .cert-table tbody td{
  padding: 1rem;
  border-top: 1px solid #f0f0f0;
  vertical-align: top;
  font-size: 0.9rem;
  line-height: 1.65;
  color: #445;
  word-break: keep-all;
}
section#use_01 .cert-table tbody th,
section#use_05 .cert-table tbody th{
  width: 7.5rem;
  background: #fffaf4;
  color: var(--color-black, #101010);
  font-weight: 700;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
}
section#use_05 .cert-table-docs{
  min-width: 760px;
}
section#use_05 .cert-table-docs tbody th{
  width: 6.5rem;
}
section#use_01 .cert-table ol,
section#use_01 .cert-table ul,
section#use_05 .cert-table ol,
section#use_05 .cert-table ul{
  margin: 0;
  padding-left: 1.15rem;
}
section#use_01 .cert-table li,
section#use_05 .cert-table li{
  margin: 0.2rem 0;
}
section#use_01 .medical-hours-note ul{
  padding-left: 0;
  list-style: none;
}
section#use_05 .cert-exception-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.85rem;
}
section#use_05 .cert-exception-list > li{
  padding: 1.15rem 1.1rem;
  background: #fafafa;
  border: 1px solid #f2f2f2;
  border-radius: 12px;
}
section#use_05 .cert-exception-list > li > strong{
  display: block;
  margin-bottom: 0.75rem;
  font-size: 1rem;
  font-weight: 700;
  color: var(--color-black, #101010);
  letter-spacing: -0.02em;
  word-break: keep-all;
}
section#use_05 .cert-exception-list ol{
  margin: 0;
  padding-left: 1.2rem;
}
section#use_05 .cert-exception-list li li,
section#use_05 .cert-exception-list ol > li{
  margin: 0.35rem 0;
  font-size: 0.9rem;
  line-height: 1.65;
  color: #445;
  word-break: keep-all;
}
@media screen and (max-width: 768px){
  section#use_05 .admit-steps-3{
    grid-template-columns: 1fr;
  }
  section#use_05 .admit-steps p br{
    display: none;
  }
  section#use_05 .cert-table-docs{
    min-width: 500px;
  }
}

/* 진료안내 - 진료과목 소개 */
section#medical_01 .medical-intro{
  margin: 0 0 3rem;
  font-size: clamp(1.05rem, 3vw, 1.4rem);
  font-weight: 600;
  line-height: 1.75;
  letter-spacing: -0.02em;
  color: var(--color-black, #101010);
  word-break: keep-all;
  text-align: center;
}
@media screen and (max-width: 768px){
  section#medical_01 .medical-intro{
    margin-bottom: 2rem;
    text-align: left;
  }
}
section#medical_01 .medical-dept{
  padding: 20px;
  background: var(--bg-primary-light);
  border-radius: var(--card-border-radius);
  border: 1px solid #fafafa;
}
section#medical_01 .dept-panel[hidden]{
  display: none !important;
}
section#medical_01 .direction-text{
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.75;
  color: #445;
  word-break: keep-all;
}
section#medical_01 .dept-sub-nav{
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  list-style: none;
  margin: 0 0 1.25rem;
  padding: 0;
}
section#medical_01 .dept-sub-nav button{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.65rem 1rem;
  border: 1px solid #eee;
  border-radius: 999px;
  background: #fff;
  color: #667085;
  font-size: 0.9rem;
  font-weight: 600;
  cursor: pointer;
  transition: border-color 200ms ease, color 200ms ease, background 200ms ease;
}
section#medical_01 .dept-sub-nav li.active button,
section#medical_01 .dept-sub-nav button[aria-selected="true"]{
  border-color: rgba(245,130,0,0.35);
  background: rgba(245,130,0,0.08);
  color: var(--color-primary);
}
section#medical_01 .admit-label .dept-icon{
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  padding: 0.55rem;
  border-radius: 12px;
  background: var(--color-primary);
  box-sizing: border-box;
}
section#medical_01 .admit-label .dept-icon img{
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: brightness(0) invert(1);
}
section#medical_01 .dept-lead{
  margin: 0 0 1rem;
  font-size: clamp(1.05rem, 2vw, 1.2rem);
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: -0.02em;
  color: var(--color-black, #101010);
  word-break: keep-all;
}
section#medical_01 .dept-body{
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 1.5rem;
  align-items: stretch;
}
section#medical_01 .dept-text{
  min-width: 0;
}
section#medical_01 .dept-visual{
  margin: 0;
  border-radius: 12px;
  overflow: hidden;
  background: #f5f5f5;
}
section#medical_01 .dept-visual img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
section#medical_01 .dept-visual-placeholder{
  min-height: 280px;
  height: 100%;
  border-radius: 0;
  border: 0;
}
section#medical_01 .dept-visual-placeholder code{
  font-size: 0.75rem;
}
section#medical_01 .dept-panel .direction-text + .direction-text{
  margin-top: 0.85rem;
}
section#medical_01 .dept-disease-list{
  list-style: none;
  margin: 0 0 1rem;
  padding: 0;
  display: grid;
  gap: 0.65rem;
}
section#medical_01 .dept-disease-list li{
  padding: 0.85rem 1rem;
  background: #fafafa;
  border: 1px solid #f2f2f2;
  border-radius: 10px;
  font-size: 0.92rem;
  line-height: 1.65;
  color: #445;
  word-break: keep-all;
}
section#medical_01 .dept-disease-list strong{
  display: inline-block;
  margin-right: 0.45rem;
  color: var(--color-primary);
}
@media screen and (max-width: 768px){
  section#medical_01 .admit-label .dept-icon{
    width: 2.4rem;
    height: 2.4rem;
    padding: 0.45rem;
  }
  section#medical_01 .dept-body{
    grid-template-columns: 1fr;
  }
  section#medical_01 .dept-visual{
    height: 300px;
  }
  section#medical_01 .dept-sub-nav{
    padding-bottom: 0.25rem;
    justify-content: center;
  }
  section#medical_01 .dept-sub-nav button{
    white-space: nowrap;
  }
}
@media screen and (max-width: 500px){
  section#medical_01 .dept-visual{
    height: auto;
    aspect-ratio: 1 / 1;
  }
}

/* 진료안내 - 환자관리 공통 (감염/만성질환/암/호스피스) */
section.care-page .sub_inner .point-color{
  font-weight: bold;
}
section.care-page .care-hero{
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 2rem;
  align-items: center;
  margin-bottom: 2.5rem;
  overflow: hidden;
}
section.care-page .care-hero-text h4{
  margin: 0 0 1.1rem;
  font-size: clamp(1.2rem, 2.2vw, 1.55rem);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -0.03em;
  color: var(--color-primary);
  word-break: keep-all;
}
section.care-page .care-hero-text p{
  margin: 0 0 0.75rem;
  font-size: 0.98rem;
  line-height: 1.8;
  color: #445;
  word-break: keep-all;
}
section.care-page .care-hero-text p:last-child{
  margin-bottom: 0;
}
section.care-page .care-hero-visual{
  position: relative;
  margin: 0;
  min-height: 240px;
  border-radius: 12px;
  overflow: hidden;
  background: #fff4e8;
}
section.care-page .care-hero-visual img{
  display: block;
  width: 100%;
  height: 100%;
  min-height: 240px;
  object-fit: cover;
}
section.care-page .care-hero-placeholder .material-symbols-rounded{
  font-size: 5rem;
}
section.care-page .care-hero-badge{
  position: absolute;
  left: 50%;
  top: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 6rem;
  height: 6rem;
  border-radius: 50%;
  background: rgba(245,130,0,0.3);
  color: #fff;
  box-shadow: 0 10px 28px rgba(245,130,0,0.28);
  transform: translate(-50%, -50%);
}
section.care-page .care-hero-badge .material-symbols-rounded{
  font-size: 2.6rem;
}
section.care-page .care-section-title{
  margin: 0 0 1.5rem;
  text-align: center;
  font-size: 1.15rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--color-black, #101010);
}
section.care-page .care-section-title::after{
  content: '';
  display: block;
  width: 2.2rem;
  height: 2px;
  margin: 0.65rem auto 0;
  background: var(--color-primary);
}
section.care-page .care-points{
  margin-bottom: 2.5rem;
  padding: 2rem 0;
}
section.care-page .care-points ul{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}
section.care-page .care-points li{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  padding: 1.6rem 1.2rem 1.4rem;
  background: #fff;
  border: 1px solid #f0f0f0;
  border-radius: 16px;
  text-align: center;
}
section.care-page .care-point-icon{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 4.25rem;
  height: 4.25rem;
  border-radius: 50%;
  background: rgba(245,130,0,0.1);
  color: var(--color-primary);
}
section.care-page .care-point-icon .material-symbols-rounded{
  font-size: 2rem;
}
section.care-page .care-points p{
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.7;
  color: #445;
  word-break: keep-all;
}
section.care-page .care-points strong{
  display: block;
  font-size: 1.02rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -0.02em;
  color: var(--color-black, #101010);
  word-break: keep-all;
}
section.care-page .care-split{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  align-items: center;
  margin-bottom: 1.5rem;
  background: #fffaf4;
  border-color: #f3e7d8;
}
section.care-page .care-split-text .admit-label{
  margin-bottom: 1.15rem;
}
section.care-page .care-split-text p{
  margin: 0 0 1rem;
  font-size: 0.98rem;
  line-height: 1.8;
  color: #445;
  word-break: keep-all;
}
section.care-page .care-split-text p + p{
  padding-top: 1rem;
  border-top: 1px dashed rgba(245,130,0,0.35);
}
section.care-page .care-split-visual{
  margin: 0;
  border-radius: 12px;
  overflow: hidden;
  min-height: 240px;
}
section.care-page .care-split-visual img{
  display: block;
  width: 100%;
  height: 100%;
  min-height: 240px;
  object-fit: cover;
}
section.care-page .care-closing{
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.25rem 1.4rem;
  border: 1px solid rgba(245,130,0,0.28);
  border-radius: 14px;
  background: #fffaf4;
}
section.care-page .care-closing .material-symbols-rounded{
  flex-shrink: 0;
  font-size: 2rem;
  color: var(--color-primary);
}
section.care-page .care-closing p{
  margin: 0;
  font-size: 0.98rem;
  line-height: 1.7;
  color: #445;
  word-break: keep-all;
}
section.care-page .care-closing strong{
  color: var(--color-black, #101010);
}
@media screen and (max-width: 768px){
  section.care-page .care-hero,
  section.care-page .care-split{
    grid-template-columns: 1fr;
  }
  section.care-page .care-hero-badge{
    width: 8rem;
    height: 8rem;
  }
  section.care-page .care-hero-badge .material-symbols-rounded{
    font-size: 3.5rem;
  }
  section.care-page .care-hero-visual,
  section.care-page .care-split-visual{
    height: 240px;
  }
  section.care-page .care-hero-visual img,
  section.care-page .care-split-visual img{
    min-height: 0;
  }
  section#medical_02 .care-split-visual img{
    object-position: bottom;
  }
  section.care-page .care-hero-text h4 br{
    display: none;
  }
  section.care-page .care-points ul{
    grid-template-columns: 1fr;
  }
  section.care-page .care-points li{
    flex-direction: row;
  }
}
@media screen and (max-width: 500px){
  section.care-page .care-points li{
    flex-direction: column;
  }
  section.care-page .care-hero-visual,
  section.care-page .care-split-visual{
    height: auto;
    aspect-ratio: 4 / 3;
  }
  section.care-page .care-split-visual img{
    object-position: center;
  }
  section.care-page .care-hero-badge{
    width: 6rem;
    height: 6rem;
  }
  section.care-page .care-hero-badge .material-symbols-rounded{
    font-size: 3rem;
  }
}
