@font-face {
    font-family: 'Aggravo';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2108@1.1/SBAggroB.woff') format('woff');
    font-weight: 700;
    font-display: swap;
}
[data-aos] {
  backface-visibility: hidden;
  transform: translate3d(0, 0, 0);
}
[data-aos]:not(.aos-animate) {
  transition-duration: 0s !important;
  transition-delay: 0s !important;
}
.italic {font-style: italic;}
button {cursor:pointer;border:0;background-color: transparent;}
.bg {background-color: #f8f8f8;}
.main_tit {font-weight: 700;}
.ssaem {font-family: 'Aggravo';font-size: 200px;color:#efefef;margin-top: 50px;}
body {font-size: 20px;overflow-x: hidden;max-width:1920px;margin:0 auto;}
#hd_wrapper {max-width: 1920px;margin:0 auto;}
p > span {display: block;font-weight: 700;}
#sub_menu_container a {font-size: 18px;;}
* {position: relative;line-height: 1.4;word-break: keep-all !important;font-weight: 400;}
.color {color:#3b94d0;}
.color_dark {color:#00235f}
.noto {font-family: "Noto Serif KR", serif;}
.mg {height: 120px;width: 100%;}
.ft14 {font-size:14px}
.official-doc-layout, .terms-doc-layout, .privacy-doc-layout, .price-container {font-size: 15px;}
#q_menu li * {font-size: 13px;}
.ft15, .bus span {font-size:15px}
.ft16 {font-size:16px;}
.ft18 {font-size:18px;}
.ft20 {font-size:20px;}
.ft25 {font-size:25px;}
#q_menu li i, #top_btn i {font-size:30px;margin-bottom: 5px;}
.ft30 {font-size: 30px;}
.ft44 {font-size: 44px;font-weight: 600;}
.ft48 {font-size: 48px;}
.ft35 {font-size: 35px;}
.ft90 {font-size: 90px;}
a {display: block;}

strong {font-weight:600;}
#hd {position: fixed;left:0;top:0;background-color: transparent;transition: all 0.25s ease;width: 100%;z-index: 2;}
#hd.scroll {background-color: #fff;filter: drop-shadow(0px 0px 16px rgba(0, 0, 0, 0.1));}
#hd.scroll .gnb_wrap .has_sub > a {color:#222;height:100px;line-height: 100px;}
#hd.scroll img {filter: none;}
#hd img {height:55px;filter: brightness(0) invert(1);width: auto;}
.m_menu {display: none !important;}
#hd .gnb_wrap .has_sub a {color:#fff;}
#hd #hd_wrapper {border-bottom: 1px solid transparent;transition:all 0.25s ease;}
#hd.act #hd_wrapper {border-bottom: 1px solid #e9e9e9;}
#hd_wrapper {display: flex;flex-direction: row;justify-content: space-between;z-index: 1;}
#hd_wrapper > * {display: flex;align-items: center;}
#hd #menu_container {display: flex;flex-direction: row;height:100px;}
#hd #menu_container li {padding:0 25px;display: flex;align-items: center;;}
#hd .has_sub {border-bottom: 2px solid transparent;transition: all 0.25s ease;}
#hd .has_sub i {display: none;}
#hd .has_sub.act {border-bottom: 2px solid #143161;}
#hd #menu_container .has_sub ul {display: none;position: absolute;left:50%;transform: translateX(-50%);flex-direction: row;}
#hd #menu_container .has_sub.act ul {display: flex;}
#hd.act .gnb_wrap .has_sub a {color:#222;height:100px;line-height: 100px;}
#hd.act img {filter: none;}
.wrap_100 {padding:0 100px;width: 100%;}
#hd:after{content:'';display: block;width:100%;height:0;background-color: #fff;position: absolute;top:0;left:50%;transform: translateX(-50%);transition: all 0.25s ease;}
#hd.act:after{height:100px;}
#hd.act.show:after {height: 165px;}
#sub_menu_container {position: absolute;top:100px;left:50%;transform: translateX(-50%);width: 150%;}
#hd #sub_menu_container .sub_panel {display: none;}
#hd #sub_menu_container .sub_panel ul {display: flex;flex-direction: row;justify-content: center;}
#hd.act.show #sub_menu_container .sub_panel.act {height: 65px;display: block;}
#hd #sub_menu_container .sub_panel li a {color:#666;line-height: 65px;padding:0 20px;}
.sub_tit {font-weight: 700;margin-bottom: 10px;line-height: 1;}
section .comment {color:#333;max-width: 50%;margin-top: 50px;}
section .contents ul {display: flex;;}
main section img {width: 100%;}
main .sec01 .contents {display: flex;justify-content: end;text-align: center;}
main .sec01 .contents:after {content:'';display: block;width:calc(100% + 200px);height:1px;background-color: #e7e7e7;position: absolute;left:50%;top:50.1%;transform: translateX(-50%);z-index: -1;}
main .sec01 ul {width:70%;gap:19px;}
main .sec01 ul li {width:calc(25% - 12px);background-size: cover;background-position: center;background-repeat: no-repeat;aspect-ratio: 3 / 4;border-radius: 500px;transition: all 0.25s ease;}
main .sec01 ul li * {color:#555}
main .sec01 ul li a {padding-top: 40px;height: 100%;}
main .sec01 ul li:hover {transform: translateY(-50px);}
main .sec01 ul li:nth-child(1) {background-image: url('/images/main_sec01_01.jpg');}
main .sec01 ul li:nth-child(2) {background-image: url('/images/main_sec01_02.jpg');}
main .sec01 ul li:nth-child(3) {background-image: url('/images/main_sec01_03.jpg');}
main .sec01 ul li:nth-child(4) {background-image: url('/images/main_sec01_04.jpg');}
main .sec02 > ul {display:flex;flex-direction: row;gap: 50px;}
main .sec02 > ul > li {width: calc(50% - 25px)}
main .sec02 > ul > li.txt {display: flex;flex-direction: column;justify-content: space-between;}

main .sec02 .swiper_btn{border-left:1px solid rgba(0,0,0,.2);left:initial;bottom:initial;top:initial;}
main .sec02 .swiper_btn p{display:flex;position:relative;column-gap:23px;width:max-content;height:auto;margin-left:-1px;padding-left:33px;border-radius:0;font-weight:600;background:none;color:#666;transition:all .2s;;opacity: 1;margin:0 !important;}
main .sec02 .swiper_btn p span {font-weight: 300;line-height:1.7;}
main .sec02 .swiper_btn p.on{padding-left:54px;border-left:3px solid #00235f;color:#00235f;}
main .sec02 .swiper_btn p.on span {font-weight: 700;}
main .sec02 .swiper_btn p.on:before{position:absolute;left:30px;top:50%;transform:translateY(-50%);content:'';width:4px;height:4px;border-radius:100px;background:#00235f}
main .sec02 .swiper_btn p+p{margin-top:35px}
#atc02 .r_inner{position:relative;border-top:1px solid #e1e1e1}
main .sec03 .swiper-slide {width: 70% !important;opacity: 0.5;margin-right: 25px;display: flex;align-items: center;transform: scale(0.7);transform-origin: left center;transition: transform .4s ease, opacity 0.4s ease;
}
main .sec03 .sw_cont {margin-top: 100px;}
main .sec03 .swiper-slide-active {opacity: 1;transform: scale(1);}
main .sec03 .swiper-slide > div.img {width: 50%;border-radius: 25px;overflow: hidden;flex-shrink: 0;}
main .sec03 .swiper-slide-active > div.img {width: 50%;}
main .sec03 .swiper-slide > div.txt {width: 50%;opacity: 0;padding: 0;overflow: hidden;transition: opacity 0.3s ease;}
main .sec03 .swiper-slide-active > div.txt {opacity: 1;padding: 0 35px;}
main .sec03 .swiper-slide h3 {border-bottom: 2px solid #00235f;color: #00235f;font-weight: 600;padding-bottom: 20px;}
main .sec03 .swiper-slide > div.txt p {margin: 20px 0 10px 0;}
main .sec03 p span {display: inline;margin-right: 10px;}
main .sec03 .swiper-slide > div.txt span.dot {display: block;padding-left: 10px;line-height: 1;margin-bottom: 10px;color: #555;position: relative;}
main .sec03 .swiper-slide > div.txt span.dot:before {content: '';display: block;width: 3px;height: 3px;border-radius: 3px;top: 7px;left: 0;position: absolute;background-color: #555;}
main .sec03 .swiper-wrapper {align-items: end;}
main .sec04 {display: flex;flex-direction: row;flex-wrap: wrap;}
main .sec04 h3 {border-bottom: 2px solid #00235f;color: #00235f;font-weight: 700;width: fit-content;letter-spacing: -5px;}
main .sec04 .tit, main .sec04 .img {width: 50%;}
main .sec04 .comment {max-width: 100%;}
main .sec05 .wrap_100 {margin-top: 100px;display: flex;flex-direction: row;align-items: end;}
main .sec05 .wrap_100 > div {width: 50%;}
main .sec05 .tit *  {text-align: center;}
main .sec05 .digital .swiper-slide img {border-radius: 25px;overflow: hidden;}
main .sec05 .digital .swiper-wrapper, main .sec05 .digital {overflow: visible;}
main .sec05_thumb {padding-left: 10px;}
main .sec05_thumb .swiper-slide {border-radius: 25px;overflow: hidden;opacity: 0.5;cursor: pointer;}
main .sec05_thumb .swiper-slide-thumb-active {opacity: 1;}
main .digital .swiper-slide-active .txt {opacity: 1;}
main .sec05 .txt {position: absolute;right:calc(-100% - 50px);top:50px;width:100%;opacity: 0;transition: all 0.25s ease;;}
main .sec05 .txt h3 {font-weight: 700;color:#333;margin-bottom: 10px;}
main .sec05 .txt p {color:#555;}

.nav_page .swiper-btn {display: flex;align-items: center;position: absolute;right:0;bottom: 10px;}
.nav_page .swiper-pagination {position: relative;width: auto;display: inline-flex;align-items: center;font-family: sans-serif;left:initial;bottom: initial;top:initial;margin-right: 10px;z-index: 1;}
.nav_page .swiper-pagination .current {font-weight: 700;color: #222222;font-size: 18px;}
.nav_page .swiper-pagination .dot {margin: 0 8px;color: #222222;font-size: 12px;}
.nav_page .swiper-pagination .total {font-weight: 700;color: #dddddd;font-size: 18px;}
.nav_page .btn-prev, .nav_page .btn-next {position: relative;top: auto;bottom: auto;left: auto;right: auto;margin-top: 0;width: 40px;height: 40px;border: 1px solid #e5e5e5;border-radius: 50%;background: #ffffff;display: inline-flex;align-items: center;justify-content: center;cursor:pointer}
.nav_page .btn-prev:after, .nav_page .btn-next:after {font-size: 14px;color: #222222;font-weight: bold;}
.nav_page .btn-next i, .nav_page .btn-prev i {color:#333;font-size: 20px;}

.tour .facility {width:80%;height: fit-content;height: 780px;padding-right:20px}
.tour .swiper-slide {border-radius: 25px;overflow: hidden;}
.tour .tour_thumb {width: 20%;overflow: hidden;height: 800px;}
.tour .tour_thumb .swiper-slide {height:180px !important;overflow: hidden;width: 100%;margin:10px 0;opacity: 0.5;cursor: pointer;}
.tour .tour_thumb .swiper-slide img {width:140%;position: absolute;left:50%;top:50%;transform: translate(-50%, -50%);}
.tour .tit {width: 100%;margin-bottom: 50px;}
.tour .wrap_100 {display: flex;flex-direction: row;flex-wrap: wrap;align-items: center;}
main .tour_thumb .swiper-slide-thumb-active {opacity: 1 !important;}
/* 하단 커스텀 컨트롤러 컨트롤 박스 */
.custom-controls {  position: absolute;  bottom: 30px;  left: 100px;  display: flex;  align-items: center;  gap: 15px;  z-index: 10;  color: #fff;  font-family: sans-serif;}
/* 1. 프로그레스 바 (섹션 지속시간 로딩) */.progress-bar {  width: 200px;  height: 2px;  background: rgba(255, 255, 255, 0.4);  position: relative;  overflow: hidden;}
.progress-bar .fill {  position: absolute;  top: 0;  left: 0;  height: 100%;  width: 0%;  background: #ffffff;}
.main-slider img {width: 100%;}
  /* 슬라이드가 활성화될 때 애니메이션 작동 */
  .main-slider.autoplay-active .swiper-slide-active ~ .custom-controls .fill,
  .main-slider.autoplay-active .progress-bar .fill {
    animation: progress 4000ms linear forwards; /* delay 시간과 동일하게 설정 */
  }

  /* 일시정지 상태일 때 애니메이션 멈춤 */
  .main-slider.paused .progress-bar .fill {
    animation-play-state: paused !important;
  }

  @keyframes progress {
    0% { width: 0%; }
    100% { width: 100%; }
  }

  /* 2. 네비게이션 & 페이지네이션 영역 */
  .nav-pagination {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 500;
  }

  .btn-nav {
    background: none;
    border: none;
    color: rgba(255, 255, 255, 0.7);
    cursor: pointer;
    font-size: 14px;
    padding: 0 4px;
    transition: color 0.2s;
  }

  .btn-nav:hover {
    color: #fff;
  }

  .pagination-text {
    letter-spacing: 1px;
  }

  .pagination-text .current {
    font-weight: bold;
    color: #fff;
  }

  .pagination-text .total {
    color: rgba(255, 255, 255, 0.7);
  }

  /* 3. 일시정지 / 재생 버튼 */
  .btn-toggle {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
    border: none;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: background 0.2s;
  }

  .btn-toggle:hover {
    background: rgba(255, 255, 255, 0.5);
  }

  /* 아이콘 스타일 (SVG) */
  .btn-toggle svg {
    width: 14px;
    height: 14px;
    fill: #fff;
  }

  .btn-toggle .icon-play {
    display: none; /* 기본은 일시정지 아이콘만 노출 */
  }

  .btn-toggle.paused .icon-pause {
    display: none;
  }

  .btn-toggle.paused .icon-play {
    display: block;
    margin-left: 2px;
  }
#q_menu  {position: fixed;right:20px;top:50%;transform: translateY(-50%);z-index: 999999;}
#q_menu > * {filter:drop-shadow(0 0 5px rgba(0,0,0,0.1))}
#q_menu ul {background-color: rgba(0,35,95,0.8);width:100px;border-radius: 100px;display: flex;flex-direction: column;padding:20px 0;backdrop-filter: blur(250px);}
#q_menu #top_btn {background-color: #fff;}
#q_menu li a {display: flex;justify-content: center;align-items: center;flex-direction: column;height:70px}
#q_menu li img {width:25px;margin-bottom: 5px;}
#q_menu li * {color:#fff;}
#ft  #top_btn i {margin:0}
#ft_copy {background-color: #191919;color:#fff;text-align: center;font-size: 13px;line-height: 40px;font-weight: 700;}
#ft_wr {display: flex;flex-direction: row;align-items: stretch;}
#ft_wr .root_daum_roughmap_landing, #ft_wr .root_daum_roughmap .wrap_map {height: 100%;}
#ft .txt {padding:70px 50px 70px 100px;}
#ft_wr > div {width: 50%;flex: 1;}
.hide, .root_daum_roughmap .cont, .root_daum_roughmap .map_border {display: none;}
#ft a {display: inline-block;}
#ft button {border:0;background-color: transparent;}
#ft_company {display: flex;flex-wrap: wrap;flex-direction: row;padding-bottom: 70px;}
#ft_company:after {content:'';width:100%;height:1px;background-color: #cccccc;position: absolute;bottom:35px;left:50%;transform: translateX(-50%);}
#ft_company h2, sub .intro04 .sec01 h3 {display: flex;align-items: center;width:100%;margin-bottom: 20px;}
#ft_company #add {margin-right: 10px;}
#ft_company .navi {margin-bottom: 15px;}
#ft_company .parking {margin-bottom: 50px;}
#ft_company .navi, #ft_company .parking {padding-left:110px;width: 100%;}
#ft_company .navi:before {content:'오시는길';background-color: #3b94d0;color:#fff;padding:3px 7px;border-radius: 7px;position: absolute;left:0;top:0;width: 100px;text-align: center;}
#ft_company .parking:before {content:'주차안내';background-color: #3b94d0;color:#fff;padding:3px 7px;border-radius: 7px;position: absolute;left:0;top:0;width: 100px;text-align: center}
#ft_company .call:before {content:'대표전화';display: block;}
#ft_company .time:before {content:'진료안내';display: block;}
#ft_company p:before {margin-right: 5px;font-weight: 600;}
.pra {text-align: justify;text-align-last: justify;display: block; /* 또는 inline-block (너비가 지정되어 있어야 함) */
  width: 100%; /* 부모 요소에 맞춰 너비 설정 */text-justify: distribute;}
  #ft_company .time {display: flex;flex-wrap: wrap;margin-left:70px}
  #ft_company .time * {font-weight: 400;}
  #ft_company .time span:first-child {width: 70px;margin-right: 15px;}
  #ft_company .time span:nth-child(2) {width:200px;}
  #ft_company .time span:last-child,   #ft_company .time:before {width: 100%;}
  #ft_company .time span:last-child {margin-top: 10px;;}
  #ft_link header a.logo img {width: 275px;}
  #ft_link header {display: flex;flex-direction: row;justify-content: space-between;}
  #ft_link .sns {display: flex;gap: 15px;}
  #ft_link .a_href {margin: 20px 0;}
  #ft_link .a_href a {font-weight: 500;margin-right:20px;}
  #ft_link .a_href a:first-child, #ft_link .a_href + li {color:#666;}


.modal-overlay {display: none;position: fixed;top: 0;left: 0;width: 100%;height: 100%;background-color: rgba(0, 0, 0, 0.6);z-index: 9998;}
.modal-window {display: none;position: fixed;top: 50%;left: 50%;transform: translate(-50%, -50%);width: 90%;max-width: 900px;max-height: 85vh;background-color: #fff;box-shadow: 0 10px 5px rgba(0, 0, 0, 0.2);z-index: 999999;overflow-y: auto;}
.modal-close-btn {position: sticky;bottom:0;width: 100%;color: #fff;cursor: pointer;border: none;background: #333;padding:5px 0;}
.modal-overlay {touch-action: none;}
.modal-window .price-container {max-width: 900px;  margin: 0 auto;  background-color: #ffffff;  padding: 30px;  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);}
.modal-window .header {text-align: center;  margin-bottom: 5px;}
.modal-window .header .subtitle {color: #8091a1;  letter-spacing:3px;  text-transform: uppercase;  padding-right:150px;  display:inline-block;  font-style:italic;}
.modal-window .header .subtitle:after {content: '';  display: block;  position: absolute;  top:calc(50% - 1px);  right: 0;  width: 140px;  height: 2px;  background: linear-gradient(to right, #3b6690 0%, rgba(59, 102, 144, 0) 100%);}
.modal-window .header h1 {color: #0f3c6e;  font-weight: 800;  margin-top: 2px;  margin-bottom: 15px;}
.modal-window .header .unit-info {text-align: right;  color: #333;}
.modal-window .grid-layout {display: grid;  grid-template-columns: 1fr 1fr;  gap: 20px;  align-items: start;}
.modal-window .column {display: flex;  flex-direction: column;  gap: 20px;}
.modal-window .category-section {background-color: #fff;}
.modal-window .category-title {background-color: #0f3c6e;  color: #ffffff;  text-align: center;  padding: 10px 0;  font-weight: bold;  }
.modal-window .price-table {width: 100%;  border-collapse: collapse;}
.modal-window .price-table tr {border-bottom: 1px solid #e2e8f0;}
.modal-window .price-table .item-name {background-color: #f8fafc;}
.modal-window .price-table td {padding: 10px 15px;  text-align:center;}
.modal-window .price-table td.item-name {font-weight: 700;  color: #1e293b;  width: 60%;}
.modal-window .price-table td.item-price {color: #334155;  width: 40%;  font-weight: 500;}
.modal-window .footer-logo {max-width:300px;  margin:30px auto 0 auto;}
.modal-body strong:before {content:'·';display:block;position:absolute;top: -1px;left: -10px;}

.implant01 .sec01 .recommend-box {margin-top:0;margin-bottom:70px;}
.implant01 .arrow-yellow {color:#fff;}
.implant01 .arrow-yellow span {margin-right:5px;color:#ffb100;font-weight:700}
.implant01 .sec03.wh {background-color:transparent;}
.implant01 .sec03.wh .target-grid {grid-template-columns: repeat(2, 1fr);margin:100px auto 0 auto !important;}
.implant01 .sec03.wh .target-card {min-height: 130px;}
.implant01 .sec03.wh .recommend-box span {font-weight:700}
.implant01 .sec03.wh .img {position:absolute;left:50%;top:50%;transform:translate(-50%, -50%);width:350px;border-radius:350px;aspect-ratio: 1/1;overflow:hidden;border:10px solid #26a9e0;}

@media screen and (max-width:1440px) {
  .wrap_100 {padding:0 50px;}
  .ft48 {font-size:43px;}
  .ssaem {font-size:150px}
  .ft35 {font-size: 30px;}
  .ft25 {font-size: 22px;}
  .ft30 {font-size: 27px;}
  .ft90 {font-size: 70px;}
  main .sec05 .wrap_100 {margin-top: 70px;}
  .tour .facility, .tour .tour_thumb {height:650px}
  .tour .tour_thumb .swiper-slide {height:calc(650px / 4 - 10px) !important;margin:5px 0;}
  #ft .txt {padding: 50px 50px 50px 100px;}
  #ft_company .time {max-width: 50%;margin-left: 30px;}
  #hd img{height:45px;}
}
@media screen and (max-width:1024px) {
  body, .ft20 {font-size:18px;}
  .m_menu {display: flex !important;font-size: 30px;color: #fff;z-index: 9;}
  #gnb {height:100vh;position: fixed;right:-100%;top: 0;transition: all 0.25s ease;background-color: #fff;filter:drop-shadow(0 0 5px rgba(0,0,0,0.5));align-items: start;}
  #gnb.on {right:0;}
  #gnb.on + .seoul {position: fixed;top:10px;right:13vw;display: block !important;}
  #gnb.on + .seoul img {filter:none}
  #gnb .gnb_wrap {width: 30vw;margin-top: 70px;}
  #hd #menu_container {flex-direction: column;height: auto;background-color: #f8f8f8;}
  #hd #menu_container * {color:#111;}
  #q_menu ul {flex-direction: row;width: fit-content;height:50px;background-color: transparent;backdrop-filter:initial;padding:0 0;}
  #q_menu {bottom: 30px;left:50%;transform: translateX(-50%);display: flex;flex-direction: row;top: initial;width:fit-content;background-color: rgba(0, 35, 95, 0.8);
    border-radius: 100px;padding:0 10px;align-items: center;
    backdrop-filter: blur(250px);}
  #top_btn{margin-top: initial;width: 30px;height:30px;margin-left:10px;;}
  #q_menu li i, #top_btn i {margin-bottom: 0;;}
  #q_menu li span {display: none;}
  #q_menu li a {height: 30px;width:50px;}
  .xi-arrow-top {font-size: 20px !important;;}
  #q_menu ul li {display: flex;align-items: center;}
  #q_menu li img {margin-bottom: 0;}
  .seoul {display: none !important;}
  #hd.scroll .m_menu {color:#00235f}
  .xi-close {color:#00235f;position: fixed;right:10px;top:10px;}
  .m_menu.on {position: fixed;right:10px;top:10px;}
  .m_menu.on i {color:#00235f}
    .m_menu.on i:before {
      content: "\e921";
  }
  #hd .gnb_wrap .has_sub > a {pointer-events: none;height:50px !important;line-height: 50px !important;}
  #hd #menu_container > li {justify-content: space-between;flex-wrap:wrap}
  #hd #menu_container li i {font-size: 15px;}
  #hd #sub_menu_container .sub_panel.act {display: block;}
  #hd .has_sub i {display: block;}
  #menu_container .sub_panel {
    display: none; /* jQuery slideToggle로 제어 */
    position: static;
    width: 100%;
    background-color: #fff;
    padding: 10px 0;
  }

  #menu_container .sub_panel ul li a {display: block;color: #666;line-height: 30px;}
  #hd #menu_container .has_sub ul {position: relative;left:initial;transform: initial;}
  #hd #menu_container .has_sub.act ul {flex-wrap: wrap;}
  #hd .has_sub.act {border:none;}
  #menu_container .sub_panel {border-top:2px solid #00235f}
  #hd #menu_container .inner  li {padding:0 10px;width:100%} 
  #hd_wrapper {height: 70px;}
  #hd #logo img {height: 35px;}
  #menu_container li:last-child .sub_panel {margin-bottom: 20px;}
  .ft48 {font-size:35px;}
  .ssaem {font-size:105px}
  .ft35 {font-size: 25px;}
  .ft25 {font-size: 15px;}
  .ft30 {font-size: 20px;}
  .ft90 {font-size: 60px;}
  section .comment {margin-top: 30px;max-width:75%;}
  main .sec01 ul {width: 100%;}
  main .sec03 .swiper-slide {width: 100% !important;}
  .mg {height:100px;}
  main br:not(.main_tit *) {display: none;}
  main .sec05 .txt {right: -100%;width: calc(100% - 30px);}
  main .sec05_thumb .swiper-slide, main .sec05 .digital .swiper-slide img, .tour .swiper-slide, main .sec03 .swiper-slide > div.img {border-radius: 10px;}
  .tour .facility, .tour .tour_thumb {height:450px}
  .tour .tour_thumb .swiper-slide {height:calc(450px / 4 - 10px) !important;margin:5px 0;}
  #ft .txt {padding: 50px 50px 50px 50px;}
  #ft_company .time {margin-left:0;max-width: 100%;margin-top: 30px;}
  #ft_link header a.logo img {width: 240px;}
  #ft_link .sns a img {width: 25px;}
  .implant01 .sec03 .target-grid {gap: 10px 200px;}
}
@media (max-width: 768px) {
    .modal-window .grid-layout {grid-template-columns: 1fr;}
    .ft48 {font-size: 29px;}
    .ft25 {font-size: 18px;}
    .ft30 {font-size: 23px;}
    section .comment {max-width: 100%;}
    .ssaem {font-size: 77px;}
    main .sec02 > ul {flex-direction: column;}
    main .sec02 > ul > li {width: 100%;}
    main .sec02 .tit {margin-bottom: 30px;}
    main .sec03 .swiper-slide > div {width: 100% !important;}
    main .sec03 .sw_cont{overflow:hidden;margin-top: 50px;}
    main .sec03 .swiper-slide {flex-direction: column;transform: scale(1);opacity: 1;margin-right: 0;height:auto;}
    main .sec03 .swiper-slide > div.txt {flex: 1 1 auto;display: flex;flex-direction: column;}
    main .sec03 .swiper-slide > div.img {background-color: #ebeef2;display: flex;justify-content: center;}
    main .sec03 .swiper-slide > div.img img {max-height:50vh;width: auto;}
    main .sec03 .swiper-slide > div.txt {opacity: 1;;}
    main .sec03 .swiper-slide h3 {margin-top: 20px;;}
    main .sec04 .tit, main .sec04 .img, main .sec05 .wrap_100 > div {width: 100%;}
    main .sec05 .wrap_100{flex-direction:column;}
    main .sec05 .txt {position: relative;right:initial;width:100%;top:initial;margin-top: 15px;}
    main .sec05 .wrap_100 {margin-top: 50px;}
    main .sec05_thumb {padding-left: 0px;}    
  .tour .facility, .tour .tour_thumb {height:350px}
  .tour .tour_thumb .swiper-slide {height:calc(350px / 4 - 10px) !important;margin:5px 0;}
  #ft_wr {flex-direction: column;}
  #ft_wr > div {width:100%}
  #ft_wr .root_daum_roughmap_landing, #ft_wr .root_daum_roughmap .wrap_map{height:400px}
  p.ft_info.call {width: 100%;}
  p.ft_info.call .ft30,#ft_company > h2  {font-size: 30px;}
  .wrap_100 {padding: 0 30px;}
  .custom-controls {left:50%;transform: translateX(-50%);}
  main .sec01 ul {gap:10px;}
  main .sec01 ul li {width: calc(25% - 5px);}
  main .sec01 ul li a {padding-top: 30px;}
  .mg {height: 70px;}
  #gnb .gnb_wrap {width: 35vw;;}
  main .sec03 .swiper-slide > div.txt {padding:0 15px;}
  main .sec03 .swiper-wrapper {align-items: start;}
  [data-aos] {
      transition-delay: 0s !important;
      animation-delay: 0s !important;
    }
    .implant01 .sec03.wh .img {width:250px;}
    .implant01 .sec03.wh .target-card {min-height: 100px;}
}
@media screen and (max-width:550px) {
  .ft48, .ft35 {font-size: 20px;}
  .wrap_100 {padding: 0 15px;}
  body, .ft20 {font-size: 15px;}
  .custom-controls {width:calc(100% - 30px);justify-content: space-between;}
  main .sec01 ul {flex-wrap:wrap;}
  main .sec01 ul li {width: calc(50% - 5px);}
  main .sec01 .contents:after {display: none;}
  .mg {height: 50px;}
  .ssaem {font-size: 40px;margin-top: 30px;}
  main .sec02 .swiper_btn p {padding-left:10px;column-gap: 10px;}
  main .sec02 .swiper_btn p.on {padding-left:20px;}
  main .sec02 .swiper_btn p.on:before {left:10px;}
  main .sec03 .swiper-slide > div.img img {max-height:250px;}
  main .sec03 .sw_cont {margin-top: 30px;}
  section .comment {margin-top: 15px;}
  main .sec01 .tit + .mg {height:30px}
  main .sec03 .swiper-slide h3 {padding-bottom: 15px;;}
  main .sec03 .swiper-slide > div.txt p {margin: 15px 0 10px 0;}
  .ft90 {font-size: 45px;}
  main .sec05 .wrap_100 {margin-top: 20px;}
  .tour .wrap_100 {flex-direction: column;}
.tour .tit{margin-bottom: 20px;}
.tour .facility {padding-right:0;height:250px;}
.tour .facility, .tour .tour_thumb {width: 100%;}
.tour .tour_thumb .swiper-slide {height:65px !important;width:calc(25% - 3.5px) !important;margin: 10px 5px 0 0 !important;}
.tour .tour_thumb { height: fit-content !important;}
#ft .txt {padding: 30px 15px 30px 15px;}
#ft_company .navi:before, #ft_company .parking:before{width: 65px;padding:3px}
#ft_company .navi, #ft_company .parking {padding-left:75px}
#ft_company .parking {margin-bottom: 20px;}
#ft_company .time span:nth-child(2){ width: 165px;;}
#ft_wr .root_daum_roughmap_landing, #ft_wr .root_daum_roughmap .wrap_map {height: 200px;}
#ft_copy{font-size:10px;}
#ft_link .a_href a {margin-right: 0;}
#ft_link .a_href {display: flex;justify-content: space-between;}
#ft_company {padding-bottom: 50px;}
#ft_company:after {bottom:25px;}
#ft_company .time {margin-top: 15px;}
#gnb .gnb_wrap {width: 65vw;;}
#gnb.on + .seoul {right: 25vw;}
.m_menu {font-size:25px}
main .sec03 .swiper-slide h3 {font-weight: 700;}
main .sec04 .img  + .mg {display: none;}
.btn-toggle {width:30px;height:30px;;}
#q_menu{bottom:15px;}
p.ft_info.call .ft30, #ft_company > h2 {font-size: 23px;}
#hd #logo img {  height: 30px;}
#hd_wrapper {height: 50px;}
.nav_page .btn-next i, .nav_page .btn-prev i, .nav_page .swiper-pagination .current, .nav_page .swiper-pagination .total {font-size: 15px;}
.nav_page .btn-prev, .nav_page .btn-next {width:30px;height:30px;}
.nav_page .swiper-pagination .dot{margin:0 3px}
.implant01 .sec03.wh .target-grid {
    grid-template-columns: repeat(2, 1fr);
    margin: 30px auto 0 auto !important;
} 
.implant01 .sec03.wh .img {display: none;}
}
@media screen and (max-width:420px) {
  .ft16 {font-size: 14px;}
  .sub_tit {margin-bottom: 5px;}
  #gnb.on + .seoul {right:22vw;}
  main .sec05 .txt h3 {margin-bottom: 5px;}
}
@media screen and (max-width:375px) {
  .mg {height:35px !important;}
}
@media screen and (max-width:320px) {
    #gnb .gnb_wrap {width: 75vw;}
}