@charset "utf-8";

@font-face {
  font-family: 'BareunBatang';
  font-style: normal;
  font-weight: 500;
  src: url('//cdn.jsdelivr.net/korean-webfonts/1/orgs/othrs/kpa/BareunBatang/BareunBatangOTFM.woff2') format('woff2'), url('//cdn.jsdelivr.net/korean-webfonts/1/orgs/othrs/kpa/BareunBatang/BareunBatangOTFM.woff') format('woff');
}

@font-face {
  font-family: 'BareunBatang';
  font-style: normal;
  font-weight: 700;
  src: url('//cdn.jsdelivr.net/korean-webfonts/1/orgs/othrs/kpa/BareunBatang/BareunBatangOTFB.woff2') format('woff2'), url('//cdn.jsdelivr.net/korean-webfonts/1/orgs/othrs/kpa/BareunBatang/BareunBatangOTFB.woff') format('woff');
}

@font-face {
  font-family: 'BareunBatang';
  font-style: normal;
  font-weight: 300;
  src: url('//cdn.jsdelivr.net/korean-webfonts/1/orgs/othrs/kpa/BareunBatang/BareunBatangOTFL.woff2') format('woff2'), url('//cdn.jsdelivr.net/korean-webfonts/1/orgs/othrs/kpa/BareunBatang/BareunBatangOTFL.woff') format('woff');
}

@font-face {
  font-family: "GmarketSans";
  src: url("https://fastly.jsdelivr.net/gh/projectnoonnu/noonfonts_2001@1.1/GmarketSansLight.woff") format("woff");
  font-weight: 300;
  font-style: normal;
}
@font-face {
  font-family: "GmarketSans";
  src: url("https://fastly.jsdelivr.net/gh/projectnoonnu/noonfonts_2001@1.1/GmarketSansMedium.woff") format("woff");
  font-weight: 500;
  font-style: normal;
}
@font-face {
  font-family: "GmarketSans";
  src: url("https://fastly.jsdelivr.net/gh/projectnoonnu/noonfonts_2001@1.1/GmarketSansBold.woff") format("woff");
  font-weight: 700;
  font-style: normal;
}

html, body {
  font-size: 10px;
}

html.no-scroll, body.no-scroll {
  overflow: hidden !important;
  touch-action: none; /* 모바일 스크롤 방지 보조 */
}

body {
  position: relative;
  font-family: 'Pretendard', sans-serif;
  color:#000;
  -webkit-text-size-adjust: none;
  -webkit-overflow-scrolling:touch;
  background-color: #fff;
}

@media all and (max-width:1280px) {
  html, body {
    overflow-x: hidden;
  }
}

body, h1, h2, h3, h4, h5, h6, ul, p, button, input, td{
  margin:0;
  padding:0
}

h1, h2, h3, h4, h5, h6{
  font-size:inherit;
  font-weight:normal;
  font-family:inherit;
}

ul{
  list-style:none;
}

a{
  text-decoration:none;
}

a:link, a:visited, a:hover, a:active{
  color:inherit;
  text-decoration:none;
}

strong {
    font-weight: normal;
}

button{
  border:0px;
  background:none;
  cursor:pointer;
  font-family:inherit;
  font-size: inherit;
}

img{
  border:0px;
  vertical-align:top;
}

address{
  font-style:normal;
}

header, nav, section, article, footer{
  display:block;
}

legend {
  position:absolute;
  margin:0;
  padding:0;
  font-size:0;
  line-height:0;
  text-indent:-9999em;
  overflow:hidden;
}

label, input, button, select{
  vertical-align:middle;
}

.input_none input, textarea{
  -webkit-appearance: none;
  -webkit-border-radius: 0;
}

hr {
  display:none;
}

pre {
  overflow-x:scroll;
  font-size:1.1em;
}

table{
  border-spacing:0px;
  border-collapse:collapse;
}

em{
  font-style:normal;
}

fieldset{
  border:0;
}

select::-ms-expand {
  display:none;
}

input:focus {
  outline:none;
}

input[type="date"]{
  position:relative;
  padding-right:20px;
  background:url("../images/cal_arrow.png") no-repeat right 10px center;
  padding-left:0;
}

input[type="date"]::-webkit-clear-button,
input[type="date"]::-webkit-inner-spin-button{
  display:none;
}

input[type="date"]::-webkit-calendar-picker-indicator{
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:100%;
  background:transparent;
  color:transparent;
  cursor:pointer;
}

input[type="date"]::before{
  content:attr(data-placeholder);
  width:100%;
}

input[type="date"]:valid::before{
  display:none;
}

input[data-placeholder]::before{
  color:#999;
  font-size:13px;
}

.clear:after{
  display:block;
  content:"";
  clear:both;
}

.area {
  width: 1600px;
  margin: 0 auto;
}

.mo-only {
  display: none;
}

.only-960 {
  display: none;
}

.only-425 {
  display: none;
}

.ls-50 {
  letter-spacing: -0.5rem;
}

.bareunbatang {
  font-family: "BareunBatang", serif;
}

.bellefair {
  font-family: "Bellefair", serif;
}

.inner {
  padding: 0 6rem;
}

:root {
  --vh: 100%;
}

@media all and (max-width:1640px) {
  html, body {
    font-size: 8px;
  }

  .area {
    width: calc(100% - 40px);
  }
}

@media all and (max-width:960px) {
  html, body {
    font-size: 7px;
  }

  .inner {
    padding: 0 4rem;
  }

  .pc-only {
    display: none;
  }

  .mo-only {
    display: block;
  }

  .only-960 {
    display: block;
  }
}

@media all and (max-width:780px) {
  .inner {
    padding: 0 2rem;
  }
}

@media all and (max-width:425px) {
  .only-425 {
    display: block;
  }
}



.cursor {
  position: fixed; /* 반드시 fixed */
  pointer-events: none;
  transition: transform 0.1s ease; /* 부드러운 전환 효과 */
  z-index: 9999;
}

.cursor img {
  width: 42px;
  height: auto;
}

.cursor img.on {
  display: none;
}

.cursor.light-cursor img.off {
  display: none;
}

.cursor.light-cursor img.on {
  display: block;
}

@media all and (max-width:1400px) {
  .cursor {
    display: none;
  }
}


#black {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.7); /* 불투명도 70% */
  z-index: 999;
}

/*  인트로  */
.intro {display: flex; position: fixed; left: 0; top: 0; width: 100%; height: calc(var(--vh) * 100);; background: #000; justify-content: center; align-items: center; flex-wrap: wrap; transition: opacity 1.5s; z-index: 100000000000001;}
.intro-box > div { display: block; color: #FFF; text-decoration: none; letter-spacing: 0rem; color: rgba(255, 255, 255, 0.3);}
.intro-box > div~div {margin-top:1vw;}
.intro-box p { display: flex; overflow: hidden; justify-content: center;}
.intro-sub p { font-size: 7vw; line-height: 7vw; }
.intro-tit p { font-size: 7vw; line-height: 7vw; }
.intro-txt p { font-size: 7vw; line-height: 7vw; }
.intro-box p span {display: block; min-width: 1vw; -webkit-backface-visibility: hidden; backface-visibility: hidden; transform: translateY(0) translateZ(0);opacity: 0;}


.intro.is-loaded .intro-box p span { opacity: 1; }
.intro.is-loaded .intro-sub p span {font-family:'Black Han Sans' !important; text-shadow: 0 9vw 0 #FFF; animation: splash-sub 2s ease both;}
.intro.is-loaded .intro-tit p span {font-family:'Black Han Sans' !important; text-shadow: 0 9vw 0 #FFF; animation: splash-tit 2s ease both;}
.intro.is-loaded .intro-txt p span {font-family:'Black Han Sans' !important; text-shadow: 0 9vw 0 #FFF; animation: splash-tit 2s ease both;}

@keyframes splash-sub {
  0% {transform: translateY(0) translateZ(0);}
  100% {transform: translateY(-9vw) translateZ(0);}
}
@keyframes splash-tit {
    0% {transform: translateY(0) translateZ(0);}
    100% {transform: translateY(-9vw) translateZ(0);}
}
@keyframes splash-txt {
    0% {transform: translateY(0) translateZ(0);}
    100% {transform: translateY(-9vw) translateZ(0);}
}
.intro-logo { position: absolute; bottom:3%; left:50%; width: 30vw;transform:translateX(-50%);max-width: 200px;}
.intro-logo img {width: 100%;height: auto;}

.intro-side-img {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 12vw;
  max-width: 400px;
  min-width: 80px;
  opacity: 0;
  z-index: 1;
}
.intro-side-img.on {z-index: 2;}
.intro-side-img.left { left: 5%; }
.intro-side-img.right { right: 5%; }


.intro.is-loaded .intro-side-img:not(.on) {
  animation: 
    fade-in-side 2.5s ease forwards 0.5s,
    fade-out-side 2s ease forwards 2.5s;
}

.intro.is-loaded .intro-side-img.on {
  animation: fade-in-side 2s ease forwards 2.5s;
}

@keyframes fade-in-side {
  0% { opacity: 0; }
  100% { opacity: 1; }
}

@keyframes fade-out-side {
  0% { opacity: 1; }
  100% { opacity: 0; }
}

.intro.is-loaded .intro-txt p span:nth-child(1) {animation-delay: 0.5s;}
.intro.is-loaded .intro-txt p span:nth-child(2) {animation-delay: 0.55s;}
.intro.is-loaded .intro-txt p span:nth-child(3) {animation-delay: 0.6s;}
.intro.is-loaded .intro-txt p span:nth-child(4) {animation-delay: 0.65s;}
.intro.is-loaded .intro-txt p span:nth-child(5) {animation-delay: 0.7s;}
.intro.is-loaded .intro-txt p span:nth-child(6) {animation-delay: 0.75s;}
.intro.is-loaded .intro-txt p span:nth-child(7) {animation-delay: 0.8s;text-shadow: 0 9vw 0 #ffd505;}
.intro.is-loaded .intro-txt p span:nth-child(8) {animation-delay: 0.85s;text-shadow: 0 9vw 0 #ffd505;}
.intro.is-loaded .intro-txt p span:nth-child(9) {animation-delay: 0.9s;text-shadow: 0 9vw 0 #ffd505;}
.intro.is-loaded .intro-txt p span:nth-child(10) {animation-delay: 0.95s;text-shadow: 0 9vw 0 #ffd505;}
.intro.is-loaded .intro-txt p span:nth-child(11) {animation-delay: 1s;text-shadow: 0 9vw 0 #ffd505;}
.intro.is-loaded .intro-txt p span:nth-child(12) {animation-delay: 1.05s;text-shadow: 0 9vw 0 #ffd505;}

.intro.is-loaded .intro-tit p span:nth-child(1) {animation-delay: 1.1s;text-shadow: 0 9vw 0 #ffd505;}
.intro.is-loaded .intro-tit p span:nth-child(2) {animation-delay: 1.15s;text-shadow: 0 9vw 0 #ffd505;}
.intro.is-loaded .intro-tit p span:nth-child(3) {animation-delay: 1.2s;text-shadow: 0 9vw 0 #ffd505;}
.intro.is-loaded .intro-tit p span:nth-child(4) {animation-delay: 1.25s;}
.intro.is-loaded .intro-tit p span:nth-child(5) {animation-delay: 1.3s;text-shadow: 0 9vw 0 #ffd505;}
.intro.is-loaded .intro-tit p span:nth-child(6) {animation-delay: 1.35s;text-shadow: 0 9vw 0 #ffd505;}
.intro.is-loaded .intro-tit p span:nth-child(7) {animation-delay: 1.4s;text-shadow: 0 9vw 0 #ffd505;}
.intro.is-loaded .intro-tit p span:nth-child(8) {animation-delay: 1.45s;}
.intro.is-loaded .intro-tit p span:nth-child(9) {animation-delay: 1.5s;}
.intro.is-loaded .intro-tit p span:nth-child(10) {animation-delay: 1.55s;}
.intro.is-loaded .intro-tit p span:nth-child(11) {animation-delay: 1.6s;}
.intro.is-loaded .intro-tit p span:nth-child(12) {animation-delay: 1.65s;text-shadow: 0 9vw 0 #ffd505;}
.intro.is-loaded .intro-tit p span:nth-child(13) {animation-delay: 1.7s;text-shadow: 0 9vw 0 #ffd505;}

.intro.is-loaded .intro-sub p span:nth-child(1) {animation-delay: 1.75s;text-shadow: 0 9vw 0 #ffd505;}
.intro.is-loaded .intro-sub p span:nth-child(2) {animation-delay: 1.8s;text-shadow: 0 9vw 0 #ffd505;}
.intro.is-loaded .intro-sub p span:nth-child(3) {animation-delay: 1.85s;text-shadow: 0 9vw 0 #ffd505;}
.intro.is-loaded .intro-sub p span:nth-child(4) {animation-delay: 1.9s;}
.intro.is-loaded .intro-sub p span:nth-child(5) {animation-delay: 1.95s;}
.intro.is-loaded .intro-sub p span:nth-child(6) {animation-delay: 2s;}
.intro.is-loaded .intro-sub p span:nth-child(7) {animation-delay: 2.05s;}
.intro.is-loaded .intro-sub p span:nth-child(8) {animation-delay: 2.1s;}
.intro.is-loaded .intro-sub p span:nth-child(9) {animation-delay: 2.15s;}
.intro.is-loaded .intro-sub p span:nth-child(10) {animation-delay: 2.2s;}
.intro.is-loaded .intro-sub p span:nth-child(11) {animation-delay: 2.25s;text-shadow: 0 9vw 0 #ffd505;}
.intro.is-loaded .intro-sub p span:nth-child(12) {animation-delay: 2.3s;text-shadow: 0 9vw 0 #ffd505;}

@media all and (max-width:425px) {
  .intro-sub p { font-size: 9vw; line-height: 8.8vw; }
  .intro-tit p { font-size: 9vw; line-height: 8.8vw; }
  .intro-txt p { font-size: 9vw; line-height: 8.8vw; }

  .intro-side-img {transform: translateX(-50%);}
  .intro-side-img.left { left: 50%; top: 50%; margin-top: -45%;}
  .intro-side-img.right { right: auto;left:50%; top: 50%; margin-top: 22%;}
}






#quickMenu {
  position: fixed;
  bottom: 3rem;
  right: 3rem;
  z-index: 100;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  animation: upDown 1.5s ease-in-out infinite;
  min-width: 15.5rem;
}

@keyframes upDown {
  0% {
      transform: translateY(0);
  }
  50% {
      transform: translateY(-10px);
  }
  100% {
      transform: translateY(0);
  }
}

#quickMenu .menu-wrap ul {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

#quickMenu .menu-wrap ul li a {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  width: 15.5rem;
  height: 5rem;
  box-sizing: border-box;
  border-radius: 5rem;
  box-shadow: 0 0.2rem 0.4rem rgba(0,0,0,0.1);
  background-color: #fff;
}

#quickMenu .menu-wrap ul li:hover a {
  background-color: #032E86;
}

#quickMenu .menu-wrap ul li a .icon {
  width: 2.2rem;
  height: 2.4rem;
  margin-left: 2.4rem;
}

#quickMenu .menu-wrap ul li a .icon img {
  width: 100%;
  height: auto;
}

#quickMenu .menu-wrap ul li a .icon img.off {
  display: none;
}

#quickMenu .menu-wrap ul li a .icon img.on {
  display: block;
}

#quickMenu .menu-wrap ul li:hover a .icon img.off {
  display: block;
}

#quickMenu .menu-wrap ul li:hover a .icon img.on {
  display: none;
}

#quickMenu .menu-wrap ul li a p {
  font-size: 1.6rem;
  color: #000;
  font-weight: 500;
}

#quickMenu .menu-wrap ul li:hover a p {
  color: #fff;
}

#quickMenu .toggle-btn {
  width: 5rem;
  height: 5rem;
  background-color: #032E86;
  border-radius: 5rem;
  margin: 0 auto;
}

#quickMenu .toggle-btn .icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

#quickMenu .toggle-btn .icon img {
  height: auto;
}

#quickMenu .toggle-btn .icon img.on {
  width: 1.8rem;
}

#quickMenu .toggle-btn .icon img.off {
  display: none;
  width: 1.87rem;
}

#quickMenu .toggle-btn.on .icon img.on {
  display: none;
}

#quickMenu .toggle-btn.on .icon img.off {
  display: block;
}

#quickMenu .top-btn {
  display: none;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

#quickMenu.on .top-btn {
  display: flex;
}

#quickMenu .top-btn .icon img {
  width: 3rem;
  height: auto;
  transition: 0.5s;
}

@media all and (max-width:780px) {
  #quickMenu {
    min-width: auto;
  }

  #quickMenu .menu-wrap ul li a {
    width: 5rem;
    background-color: #fff;
  }

  #quickMenu .menu-wrap ul li a .icon {
    margin-left: 0;
    margin: 0 auto;
  }

  #quickMenu .menu-wrap ul li a .icon img.off {
    display: none;
  }

  #quickMenu .menu-wrap ul li a .icon img.on {
    display: block;
  }

  #quickMenu .menu-wrap ul li a p {
    display: none;
  }
}













#header {
  position: fixed;
  top: 2rem;
  left: 50%;
  transform: translateX(-50%);
  width: calc(100% - 4rem);
  height: 10rem;
  z-index: 101;
  background-color: rgba(0,0,0,0.2);
  border-radius: 1rem;
  transition: 0.5s;
}

#header.active {
  top: 0;
  width: 100%;
  border-radius: 0;
  background-color: rgba(0,0,0,0.5);
  backdrop-filter: blur(5px);
}

#header .inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 100%;
  position: relative;
}

#header .inner .logo a {
  position: relative;
  display: block;
  width: 24.9rem;
  aspect-ratio: 24.9 / 5.6;
}

#header .inner .logo a img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%; 
  height: auto;
  transition: 0.5s;
}

#header .inner .logo a img.off {
  opacity: 0;
}

#header .inner .gnb-wrap {
  height: 100%;
}

#header .inner .gnb-wrap ul {
  display: flex;
  align-items: center;
  gap: 3.2rem;
  height: 100%;
}

#header .inner .gnb-wrap ul li {
  height: 100%;
}

#header .inner .gnb-wrap ul li a {
  position: relative;
  font-size: 1.8rem;
  font-weight: 500;
  color: #fff;
  display: flex;
  align-items: center;
  height: 100%;
}

#header .inner .gnb-wrap ul li:hover > a {
  font-weight: 800;
}

#header .inner .gnb-wrap ul li.on > a {
  font-weight: 800;
}

#header .inner .gnb-wrap ul:hover li:not(:hover) > a {
  opacity: 0.5;
}

#header .inner .gnb-wrap ul:hover li:hover > a {
  opacity: 1;
}

#header .inner .gnb-wrap ul li a > span {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 0;
  height: 3px;
  background-color: #fff;
  transition: 0.5s;
  z-index: 12;
}

#header .inner .gnb-wrap ul li:hover > a span {
  width: 100%;
}

#header .inner .gnb-wrap ul li.on > a span {
  width: 100%;
}

#header .inner .mo-menu-btn {
  display: none;
  position: absolute;
  top: 50%;
  right: 3rem;
  transform: translateY(-50%);
  z-index: 101;
}


.ham {
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: transform 400ms;
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.hamRotate.active {
  transform: rotate(45deg);
}
.hamRotate180.active {
  transform: rotate(180deg);
}
.line {
  fill:none;
  transition: stroke-dasharray 400ms, stroke-dashoffset 400ms;
  stroke:#fff;
  stroke-width:3;
  stroke-linecap:round;
}
.ham4 .top {
  stroke-dasharray: 40 121;
}
.ham4 .bottom {
  stroke-dasharray: 40 121;
}
.ham4.active .top {
  stroke-dashoffset: -68px;
}
.ham4.active .bottom {
  stroke-dashoffset: -68px;
}

@media all and (max-width:780px) {
  .line {
    stroke:#000;
  }
}


/*
#header:hover,
#header.active {
  background-color: rgba(255,255,255,0.8);
  backdrop-filter: blur(10px);
  box-shadow: 0.5rem 0.5rem 0.5rem rgba(0,0,0,0.15);
}

#header:hover .inner .logo a img.on,
#header.active .inner .logo a img.on {
  opacity: 1;
}

#header:hover .inner .gnb-wrap ul li a,
#header.active .inner .gnb-wrap ul li a {
  color: #000;
}
*/

@media all and (max-width:1280px) {
  #header .inner .gnb-wrap {
    display: none;
  }

  #header .inner .mo-menu-btn {
    display: block;
  }
}

@media all and (max-width:960px) {
  #header .inner .mo-menu-btn {
    right: 1rem;
  }
}

@media all and (max-width:780px) {
  #header {
    top: 0;
    width: 100%;
    height: 8rem;
    border-radius: 0;
    background-color: #fff;
  }

  #header.active {
    background-color: rgba(255,255,255,0.5);
  }

  #header .inner .logo a {
    width: 20rem;
  }

  #header .inner .logo a img.off {
    opacity: 1;
  }

  #header .inner .logo a img.on {
    opacity: 0;
  }
}



.full_nav{position:fixed;width:100%;height:100vh;top:0;right:-100%;background:rgba(255,255,255,0.8);min-height:700px;overflow:auto;backdrop-filter: blur(5px);z-index: 100;transition: 0.5s;}
.full_nav.open {right: 0;}
.full_nav ul.nav_list{padding-left:20px;margin-top:18rem}
.full_nav ul.nav_list li{margin-top:4rem}
.full_nav ul.nav_list li:first-child{margin-top:0}
.full_nav ul.nav_list li a{display:inline-block;position:relative;}
.full_nav ul.nav_list li a p{font-size:3rem;position:relative;z-index:1;font-weight:800;}
.full_nav ul.nav_list li.on a span{position:absolute;bottom:2px;left:50%;width:110%;height:10px;background:#a8d8ea;-ms-transform:translate(-50%, 0);-webkit-transform:translate(-50%, 0);-moz-transform:translate(-50%, 0);-o-transform:translate(-50%, 0);transform:translate(-50%, 0);}
.full_nav ul.sns_list{display: flex;align-items: center;padding-left: 20px;margin-top: 10rem;gap: 4rem;}
.full_nav ul.sns_list li a img {width: 3.2rem;height: auto;filter: brightness(0);}
.full_nav ul.sns_list li:last-child a img {width: 2.8rem;}

@media all and (max-width:780px) {
  .full_nav ul.nav_list{margin-top:14rem}
  .full_nav ul.nav_list li{margin-top:3rem}
}





@media all and (max-width:1280px) {
  #main {
    overflow-x: hidden;
  }
}

#main article {
  overflow: hidden;
}

#main .video-con {
  position: relative;
  width: 100%;
}

#main .video-con .video {
  position: relative;
  width: 100%;
  z-index: 84;
}

#main .video-con .video video {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}

@media all and (max-width:780px) {
  #main .video-con {
    margin-top: 8rem;
  }
}






#main .intro-con {
  padding: 10.6rem 0 20rem;
}

#main .intro-con .area > * {
  word-break: keep-all;
}

#main .intro-con .area h2 {
  font-size: 12rem;
  color: #3C3C3C;
  padding-bottom: 3.6rem;
}

#main .intro-con .area h3 {
  font-size: 3rem;
  font-weight: 700;
  color: #3C3C3C;
  padding-bottom: 1.9rem;
}

#main .intro-con .area p {
  font-size: 1.8rem;
  line-height: 3rem;
  color: #666;
  word-break: keep-all;
}

@media all and (max-width:960px) {
  #main .intro-con .area h3 {
    font-size: 3.4rem;
    line-height: 1.5;
  }

  #main .intro-con .area p {
    font-size: 2rem;
    line-height: 1.8;
  }
}

@media all and (max-width:780px) {
  #main .intro-con {
    padding: 10rem 0;
  }

  #main .intro-con .area h2 {
    font-size: 8rem;
  }
}

@media all and (max-width:425px) {
  #main .intro-con .area h2 {
    font-size: 7rem;
  }
}




/* =======================================================
   의료진 소개 영역 (Doctor Section) 통합 CSS 
======================================================= */

#main .doctor-con {
  overflow: visible;
  display: none;
}

/* 기존 flex에서 block으로 변경 (내부 doc-wrap에서 flex 처리) */
#main .doctor-con .doctor-con1 {
  position: relative;
  display: block; 
}

/* --- 새로 추가된 원장님별 패널(doc-wrap) 설정 --- */
#main .doctor-con .doctor-con1 .doc-wrap {
  display: none; /* 기본 숨김 */
  width: 100%;
}
#main .doctor-con .doctor-con1 .doc-wrap.active {
  display: flex; /* 활성화 시 보임 */
  animation: fadeInDoc 0.5s ease-in-out;
}

@keyframes fadeInDoc {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

/* 좌/우 분할 유지 */
#main .doctor-con .doctor-con1 .doc-wrap > div {
  width: 50%;
  box-sizing: content-box;
}

/* 좌측 텍스트 영역 */
#main .doctor-con .doctor-con1 .left {
  display: flex;
  align-items: center;
  background-color: rgba(245,245,245,0.5);
  padding: 15rem 0;
}

#main .doctor-con .doctor-con1 .left .inner {
  padding-left: 16rem;
  width: 74rem;
  box-sizing: content-box;
}

/* --- 탭 버튼 스타일 --- */
#main .doctor-con .doctor-con1 .left .inner .doctor-tabs {
  display: flex;
  gap: 2rem;
  margin-bottom: 4rem;
  border-bottom: 2px solid #eaeaea;
}
#main .doctor-con .doctor-con1 .left .inner .doctor-tabs .tab-btn {
  background: none;
  border: none;
  font-size: 2.2rem;
  color: #999;
  font-weight: 400;
  padding: 0 1rem 1.5rem 1rem;
  cursor: pointer;
  position: relative;
  top: 2px;
  transition: color 0.3s;
  font-family: inherit;
}
#main .doctor-con .doctor-con1 .left .inner .doctor-tabs .tab-btn.active {
  color: #000;
  font-weight: 700;
  border-bottom: 2px solid #000;
}

/* 좌측 텍스트 상세 스타일 (기존 유지) */
#main .doctor-con .doctor-con1 .left .inner h3 {
  font-size: 4.5rem;
  line-height: 6rem;
  font-weight: 700;
  border-bottom: 1px solid #eaeaea;
  padding-bottom: 5.5rem;
  word-break: keep-all;
}

#main .doctor-con .doctor-con1 .left .inner .name-wrap {
  padding: 5.5rem 0;
  border-bottom: 1px solid #eaeaea;
}
#main .doctor-con .doctor-con1 .left .inner .name-wrap h5 {
  font-size: 1.6rem;
  padding-bottom: 1.1rem;
}
#main .doctor-con .doctor-con1 .left .inner .name-wrap h4 {
  font-size: 4rem;
  font-weight: 200;
  padding-bottom: 2.1rem;
}
#main .doctor-con .doctor-con1 .left .inner .name-wrap h4 strong {
  font-weight: 700;
}
#main .doctor-con .doctor-con1 .left .inner .name-wrap .hash {
  display: flex;
  gap: 1.2rem;
  flex-wrap: wrap; /* 모바일 넘침 방지 */
}
#main .doctor-con .doctor-con1 .left .inner .name-wrap .hash p {
  font-size: 1.4rem;
  font-weight: 600;
  color: #999;
}

#main .doctor-con .doctor-con1 .left .inner .spec-wrap {
  padding: 5.5rem 0;
  border-bottom: 1px solid #eaeaea;
}
#main .doctor-con .doctor-con1 .left .inner .spec-wrap h5 {
  font-size: 3rem;
  font-weight: 700;
  padding-bottom: 3.3rem;
}
#main .doctor-con .doctor-con1 .left .inner .spec-wrap .flex-box {
  display: flex;
  gap: 4.5rem;
}
#main .doctor-con .doctor-con1 #doc2 .left .inner .spec-wrap .flex-box {
  flex-direction: column;
}
#main .doctor-con .doctor-con1 .left .inner .spec-wrap .flex-box .p-group {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
#main .doctor-con .doctor-con1 .left .inner .spec-wrap .flex-box .p-group .p-wrap {
  display: flex;
  gap: 0.5rem;
  font-size: 2rem;
  color: #3C3C3C;
  line-height: 1.5;
}
#main .doctor-con .doctor-con1 .left .inner .spec-wrap .flex-box .p-group p {
  word-break: keep-all;
}
#main .doctor-con .doctor-con1 .left .inner .spec-wrap .flex-box .p-group p strong {
  color: #000;
  font-weight: 700;
}

#main .doctor-con .doctor-con1 .left .inner .phil-wrap {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 2.8rem;
  padding: 5.5rem 0;
}
#main .doctor-con .doctor-con1 .left .inner .phil-wrap p {
  font-size: 1.8rem;
  line-height: 3rem;
  color: #333;
  font-weight: 300;
  word-break: keep-all;
}
#main .doctor-con .doctor-con1 .left .inner .phil-wrap p strong {
  font-weight: 700;
}
#main .doctor-con .doctor-con1 .left .inner .phil-wrap .sign {
  position: absolute;
  bottom: -2.1rem;
  right: 0;
  width: 15.7rem;
}
#main .doctor-con .doctor-con1 .left .inner .phil-wrap .sign img {
  width: 100%;
  height: auto;
}

#main .doctor-con .doctor-con1 .left .inner .v-wrap {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: 26rem;
  margin-top: 8rem;
}
#main .doctor-con .doctor-con1 .left .inner .v-wrap ul {
  display: flex;
  gap: 1rem;
  width: 290rem;
  position: absolute;
  top: 0;
  left: 0;
}
#main .doctor-con .doctor-con1 .left .inner .v-wrap ul li {
  width: 40rem;
}
#main .doctor-con .doctor-con1 .left .inner .v-wrap ul li img {
  width: 100%;
  height: auto;
}

/* 우측 이미지 영역 (sticky 고정 유지, 각 원장님별 배경 지정) */
#main .doctor-con .doctor-con1 .right {
  position: sticky;
  align-self: flex-start;
  top: 0;
  right: 0;
  width: 50%;
  height: 100vh;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}

/* ★ 원장님별 PC 배경 이미지 설정 (새 원장님 경로 필히 수정) */
#main .doctor-con .doctor-con1 .right.doc1-bg {
  background-image: url("../img/main/doctor_con_img1.png");
}
#main .doctor-con .doctor-con1 .right.doc2-bg {
  background-image: url("../img/main/doctor_con_img1_2.png"); /* 임의 지정, 경로 수정 필요 */
}

#main .doctor-con .doctor-con1 .right .img img {
  width: 100%;
  height: auto;
}

/* 하단 doctor-con2 영역 */
#main .doctor-con .doctor-con2 .attach-img {
  width: 100%;
  height: 55rem;
  background: url("../img/main/doctor_con_img2.png") no-repeat center;
  background-size: cover;
  background-attachment: fixed;
}
#main .doctor-con .doctor-con2 .spec {
  padding: 9rem 0;
}
#main .doctor-con .doctor-con2 .spec .area {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 9.4rem;
}
#main .doctor-con .doctor-con2 .spec .area ul {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
#main .doctor-con .doctor-con2 .spec .area ul li {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  font-size: 2rem;
  color: #3C3C3C;
}
#main .doctor-con .doctor-con2 .spec .area ul li p strong {
  color: #000;
  font-weight: 600;
}
#main .doctor-con .doctor-con2 .spec .area .deco-logo img {
  width: 32.6rem;
  height: auto;
}

/* ================== 반응형 (Media Queries) ================== */
/* ================== 반응형 (Media Queries) ================== */
@media all and (max-width:1400px) {
  #main .doctor-con .doctor-con1 .left .inner {
    padding-left: 5rem;
    width: calc(100% - 10rem);
  }
}

@media all and (max-width:1280px) {
  #main .doctor-con .doctor-con1 .doc-wrap { flex-direction: column; }
  #main .doctor-con .doctor-con1 .doc-wrap > div { width: 100%; }
  #main .doctor-con .doctor-con1 .left { order: 2; }
  #main .doctor-con .doctor-con1 .left .inner { padding: 0; width: calc(100% - 40px); margin: 0 auto; }
  #main .doctor-con .doctor-con1 .left .inner .phil-wrap .sign { right: auto; left: 40vw; }
  #main .doctor-con .doctor-con1 .right { position: static; width: 100%; height: auto; background-image: none !important; order: 1; }
  #main .doctor-con .doctor-con1 .right .img { display: block; }
  #main .doctor-con .doctor-con2 .spec .area .deco-logo { display: none; }
}

@media all and (max-width:960px) {
  #main .doctor-con .doctor-con2 .attach-img { height: 40rem; }
  #main .doctor-con .doctor-con2 .spec { padding: 10rem 0; }
  #main .doctor-con .doctor-con2 .spec .area { flex-direction: column; align-items: center; gap: 2rem; }
  #main .doctor-con .doctor-con2 .spec .area ul { gap: 2rem; }
  #main .doctor-con .doctor-con2 .spec .area ul li { justify-content: center; }

  /* ★ 960px 이하 탭 타이틀 최상단 이동 로직 ★ */
  #main .doctor-con .doctor-con1 .doc-wrap {
    position: relative; /* absolute의 기준점 */
    padding-top: 12rem; /* 탭 버튼이 들어갈 상단 여백 확보 */
    background-color: rgba(245,245,245,0.5); /* 탭 뒤쪽 배경색 채우기 */
  }
  #main .doctor-con .doctor-con1 .left {
    background-color: transparent; /* doc-wrap에 배경을 주었으므로 투명처리 */
    padding: 10rem 0; /* 상단 여백 축소 */
  }
  #main .doctor-con .doctor-con1 .left .inner .doctor-tabs {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: calc(100% - 40px); /* .inner와 너비 동일하게 설정 */
    padding-top: 5rem; 
    margin-bottom: 0;
    z-index: 10;
  }
  #main .doctor-con .doctor-con1 .left .inner .doctor-tabs .tab-btn { font-size: 2.8rem; padding: 0 0.5rem 1rem 0.5rem; width: 50%;}
}

@media all and (max-width:780px) {
  /* left 패딩은 960px에서 지정한 값이 있으므로 하단만 10rem 유지 */
  #main .doctor-con .doctor-con1 .doc-wrap {padding-top: 9rem;}
  #main .doctor-con .doctor-con1 .left { padding: 6rem 0 10rem; } 
  #main .doctor-con .doctor-con1 .left .inner .doctor-tabs { margin-bottom: 4rem; gap: 1rem; padding-top: 3rem; }
  #main .doctor-con .doctor-con1 .left .inner .doctor-tabs .tab-btn { font-size: 2.4rem;}
  #main .doctor-con .doctor-con1 .left .inner .name-wrap h5 { font-size: 2rem; }
  #main .doctor-con .doctor-con1 .left .inner .name-wrap h4 { font-size: 4.5rem; }
  #main .doctor-con .doctor-con1 .left .inner .name-wrap .hash { flex-wrap: wrap; gap: 0.6rem 1.2rem; }
  #main .doctor-con .doctor-con1 .left .inner .name-wrap .hash p { font-size: 1.8rem; }
  #main .doctor-con .doctor-con1 .left .inner .spec-wrap h5 { font-size: 3.5rem; }
  #main .doctor-con .doctor-con1 .left .inner .spec-wrap .flex-box { flex-direction: column; gap: 1.8rem; }
  #main .doctor-con .doctor-con1 .left .inner .spec-wrap .flex-box .p-group { gap: 1.8rem; }
  #main .doctor-con .doctor-con1 .left .inner .spec-wrap .flex-box .p-group .p-wrap { font-size: 2.1rem; line-height: 1.2;}
  #main .doctor-con .doctor-con1 .left .inner .phil-wrap p { font-size: 2.1rem; line-height: 1.8; }
  #main .doctor-con .doctor-con1 .left .inner .phil-wrap .sign { right: 0; left: auto; width: 11rem; }
  #main .doctor-con .doctor-con2 { display: none; }
}






#main .doctor-con-new {
  padding-bottom: 20rem;
}

#main .doctor-con-new .area {
  display: flex;
  justify-content: space-between;
}

#main .doctor-con-new .area .doctor-card {
  width: 76rem;
}

#main .doctor-con-new .area .doctor-card a {
  display: block;
  width: 100%;
}

#main .doctor-con-new .area .doctor-card a .img {
  position: relative;
}

#main .doctor-con-new .area .doctor-card a .img > img {
  width: 100%;
  height: auto;
}

#main .doctor-con-new .area .doctor-card a .img .sign {
  position: absolute;
  bottom: 2.5rem;
  right: 2.5rem;
  width: 15.6rem;
}

#main .doctor-con-new .area .doctor-card a .img .sign img {
  width: 100%;
  height: auto;
}

#main .doctor-con-new .area .doctor-card a .name-wrap {
  display: flex;
  justify-content: space-between;
  align-items: end;
  margin-top: 4rem;
}

#main .doctor-con-new .area .doctor-card a .name-wrap .name .p1 {
  font-size: 2rem;
}

#main .doctor-con-new .area .doctor-card a .name-wrap .name .p2 {
  font-size: 5rem;
  padding-top: 1.1rem;
}

#main .doctor-con-new .area .doctor-card a .name-wrap .name .p2 strong {
  font-weight: 700;
}

#main .doctor-con-new .area .doctor-card a .name-wrap .arrow {
  width: 3rem;
}

#main .doctor-con-new .area .doctor-card a .name-wrap .arrow img {
  width: 100%;
  height: auto;
}

@media screen and (max-width: 1440px) {
  #main .doctor-con-new .area .doctor-card {
    width: calc(50% - 3rem);
  }
}

@media screen and (max-width: 760px) {
  #main .doctor-con-new {
    padding-bottom: 10rem;
  }

  #main .doctor-con-new .area {
    flex-direction: column;
    gap: 6rem;
  }

  #main .doctor-con-new .area .doctor-card {
    width: 100%;
  }

  #main .doctor-con-new .area .doctor-card a .img .sign {
    bottom: 2rem;
    right: 2rem;
    width: 12rem;
  }

  #main .doctor-con-new .area .doctor-card a .name-wrap {
    margin-top: 3rem;
  }

  #main .doctor-con-new .area .doctor-card a .name-wrap .name .p1 {
    font-size: 1.6rem;
  }

  #main .doctor-con-new .area .doctor-card a .name-wrap .name .p2 {
    font-size: 2.5rem;
  }

  #main .doctor-con-new .area .doctor-card a .name-wrap .name .p2 strong {
    font-size: 3.5rem;
  }

  #main .doctor-con-new .area .doctor-card a .name-wrap .arrow {
    width: 3rem;
  }
}


/* 팝업 배경 및 공통 레이아웃 */
.doctor-pu {
  display: none;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 90%;
  max-width: 1600px; /* 너무 넓어지는 것 방지 */
  height: 90dvh;
  background: linear-gradient(130deg, rgba(74, 111, 164, 1) 0%, rgba(14, 42, 82, 1) 100%);
  z-index: 1000;
  overscroll-behavior: contain;
  touch-action: pan-y;
}

.doctor-pu .pu-box {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: calc(100% - 10rem);
  height: calc(100% - 10rem);
  background-color: #fff;
  border-radius: 3rem;
  display: flex;
  overflow: hidden; /* 이미지가 밖으로 튀어나가지 않게 */
}

.doctor-pu .pu-box .close-btn {
  position: absolute;
  top: 2rem;
  right: 2rem;
  width: 3rem;
}

.doctor-pu .pu-box .close-btn img {
  width: 100%;
  height: auto;
}

/* 좌측 인포 영역 (스크롤 좌측 배치) */
.doctor-pu .pu-box .info {
  flex: 1;
  padding: 5rem 3rem 5rem 5rem;
  overflow-y: auto;
  overflow-x: hidden;
  direction: rtl; /* 1. 스크롤바를 왼쪽으로 이동 */
}

.doctor-pu .pu-box .info > * {
  direction: ltr; /* 2. 내부 콘텐츠 텍스트 방향 원상복구 */
}

/* 스크롤바 디자인 (웹킷 브라우저 전용) */
.doctor-pu .pu-box .info::-webkit-scrollbar {
  width: 6px;
}
.doctor-pu .pu-box .info::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 4px;
}
.doctor-pu .pu-box .info::-webkit-scrollbar-thumb {
  background: #aaa;
  border-radius: 4px;
}
.doctor-pu .pu-box .info::-webkit-scrollbar-thumb:hover {
  background: #0e2a52;
}

/* 이름 및 타이틀 */
.doctor-pu .pu-box .info .name {
  font-size: 4rem;
}
.doctor-pu .pu-box .info .name strong {
  font-size: 7rem;
  font-weight: 700;
}

/* 주요 스펙 (그리드 레이아웃으로 변경하여 반응형 대응) */
.doctor-pu .pu-box .info .point-spec {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 3rem;
}
.doctor-pu .pu-box .info .point-spec li {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  width: calc(50% - 0.5rem); /* 고정 너비 대신 % 사용 */
  height: 5.6rem;
  border-radius: 1rem;
  background: linear-gradient(130deg, rgba(74, 111, 164, 1) 0%, rgba(14, 42, 82, 1) 100%);
}
.doctor-pu .pu-box .info .point-spec li .icon {
  width: 3rem;
  margin-left: 2rem;
  flex-shrink: 0;
}
.doctor-pu .pu-box .info .point-spec li .icon img {
  width: 100%;
  height: auto;
}
.doctor-pu .pu-box .info .point-spec li p {
  font-size: 2.2rem;
  font-weight: 600;
  color: #fff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis; /* 글자가 넘치면 말줄임표 */
}


.doctor-pu1 .pu-box .info .point-spec li {
  width: calc(45% - 0.5rem);
}

.doctor-pu1 .pu-box .info .point-spec li:nth-child(even) {
  width: calc(55% - 0.5rem);
}

.doctor-pu2 .pu-box .info .point-spec li {
  width: calc(40% - 0.5rem);
}

.doctor-pu2 .pu-box .info .point-spec li:nth-child(even) {
  width: calc(60% - 0.5rem);
}

/* 일반 스펙 */
.doctor-pu .pu-box .info .normal-spec {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin: 3.5rem 0;
}
.doctor-pu .pu-box .info .normal-spec li {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  width: calc(50% - 0.5rem); /* 두 줄 배치 */
}
.doctor-pu .pu-box .info .normal-spec li .dot {
  width: 0.4rem;
  height: 0.4rem;
  border-radius: 50%;
  background-color: #000;
  flex-shrink: 0;
}
.doctor-pu .pu-box .info .normal-spec li p {
  font-size: 2.2rem;
  word-break: keep-all;
}

/* 스토리 박스 */
.doctor-pu .pu-box .info .story-box {
  width: 100%; /* 고정 너비 해제 */
  background-color: #F8F8F8;
  border-radius: 1rem;
}
.doctor-pu .pu-box .info .story-box .inner {
  display: flex;
  flex-direction: column;
  gap: 2.8rem;
  padding: 3rem;
}
.doctor-pu .pu-box .info .story-box .inner p {
  font-size: 1.8rem;
  line-height: 1.6;
  color: #333;
  word-break: keep-all;
}
.doctor-pu .pu-box .info .story-box .inner p strong {
  font-weight: 700;
}

/* 슬로건 */
.doctor-pu .pu-box .info .slogun {
  font-size: 4rem;
  font-weight: 700;
  color: #032E86;
  padding-top: 4rem;
  line-height: 1.5;
}

/* 우측 원장님 이미지 영역 */
.doctor-pu .pu-box .pu-img {
  width: 40%; /* 이미지 영역 비율 지정 */
  display: flex;
  justify-content: center;
  align-items: flex-end; /* 이미지를 바닥에 붙임 */
  flex-shrink: 0;
}
.doctor-pu .pu-box .pu-img img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}


/* =========================================
   반응형 미디어 쿼리
========================================= */

@media screen and (max-width: 1440px) {
  .doctor-pu .pu-box .info .point-spec {
    flex-wrap: nowrap;
    flex-direction: column;
  }

  .doctor-pu .pu-box .info .point-spec li {
    width: 42rem !important;
  }

  .doctor-pu2 .pu-box .info .point-spec li {
    width: 47rem !important;
  }

  .doctor-pu .pu-box .info .normal-spec {
    flex-wrap: nowrap;
    flex-direction: column;
  }
  .doctor-pu .pu-box .info .normal-spec li {
    width: 100%;
  }
}

/* 태블릿 (1200px 이하) */
@media screen and (max-width: 1200px) {
  .doctor-pu .pu-box .info .name { font-size: 3rem; }
  .doctor-pu .pu-box .info .name strong { font-size: 5rem; }
  .doctor-pu .pu-box .info .point-spec li p,
  .doctor-pu .pu-box .info .normal-spec li p { font-size: 1.8rem; }
  .doctor-pu .pu-box .info .story-box .inner p { font-size: 1.6rem; }
  .doctor-pu .pu-box .info .slogun { font-size: 3rem; word-break: keep-all;}
}

/* 모바일 (768px 이하) */
@media screen and (max-width: 960px) {
  .doctor-pu .pu-box {
    flex-direction: column;
    overflow: auto;
    width: calc(100% - 3rem);
    height: calc(100% - 3rem);
    border-radius: 1rem;
  }

  .doctor-pu .pu-box .info {
    order: 2;
    overflow: visible;
    padding: 3rem 2rem;
  }

  .doctor-pu .pu-box .info .name {
    padding-top: 2rem;
  }

  .doctor-pu .pu-box .info .point-spec li {
    gap: 0.6rem;
  }

  .doctor-pu .pu-box .info .point-spec li {
    width: 100% !important;
  }

  .doctor-pu2 .pu-box .info .point-spec li {
    width: 100% !important;
  }

  .doctor-pu .pu-box .info .point-spec li .icon {
    margin-left: 1rem;
  }

  .doctor-pu .pu-box .info .point-spec li p {
    font-size: 2rem;
  }

  .doctor-pu .pu-box .info .normal-spec {
    gap: 1.5rem;
  }

  .doctor-pu .pu-box .info .normal-spec li p {
    font-size: 2rem;
  }

  .doctor-pu .pu-box .info .story-box .inner p {
    font-size: 2rem;
  }

  .doctor-pu .pu-box .pu-img {
    order: 1;
    width: 100%;
    max-width: 340px;
    margin: 3rem auto 0;
  }

  .doctor-pu .pu-box .info .slogun {font-size: 2.6rem;line-height: 1.5;text-align: center;padding-top: 3rem;}
}















































/* =======================================================
   Scene 1 & Scene 2 (순수 CSS 애니메이션)
======================================================= */
.scene-con {
  width: 100%;
  height: 100rem;
  background-color: #001541;
  overflow: hidden; /* 영역 밖으로 나가는 글자 숨김 */
}

.scene-con .area {
  position: relative;
  height: 100%;
}

/* ★ 모든 요소의 시작점 (정중앙, 투명도 0) */
.scene-con .area > * {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
  transition: all 1s cubic-bezier(0.25, 1, 0.5, 1); /* 1초 동안 부드럽게 움직임 */
}

.scene-con .area .scene-txt {
  text-align: center;
  white-space: nowrap;
  width: max-content; 
}

.scene-con .area .scene-txt p {
  color: #fff;
}

.scene-con .area .scene-txt .p1 {
  font-size: 3.3rem;
  font-weight: 500;
}

.scene-con .area .scene-txt .p2 {
  font-size: 10.9rem;
  font-weight: 700;
}

.scene-con .area .line {
  width: 0; 
  height: 2px;
  background-color: #d9d9d9;
}


/* =========================================
   PC버전: 화면에 보일 때(is-visible)의 위치
========================================= */
/* 왼쪽 텍스트는 맨 왼쪽으로 */
.scene-con.is-visible .area .scene-txt1 {
  left: 0%;
  transform: translate(0%, -50%);
  opacity: 1;
}

/* 오른쪽 텍스트는 맨 오른쪽으로 */
.scene-con.is-visible .area .scene-txt2 {
  left: 100%;
  transform: translate(-100%, -50%);
  opacity: 1;
}

.scene-con.is-visible .area .line { width: 55rem; opacity: 1; }

/* 중앙 라인 길이는 씬별로 다르게 */
.scene-con1.is-visible .area .line { width: 55rem; opacity: 1; }
.scene-con2.is-visible .area .line { width: 30rem; opacity: 1; }




/* =========================================
   반응형 (Media Queries)
========================================= */
@media all and (max-width:1280px) {
  .scene-con { height: 100vh; }
  .scene-con .area .scene-txt .p1 { font-size: 2rem; }
  .scene-con .area .scene-txt .p2 { font-size: 8rem; }

  .scene-con.is-visible .area .line { width: 50rem; }

  .scene-con1.is-visible .area .line { width: 50rem; }
  .scene-con2.is-visible .area .line { width: 25rem; }

  #esthetic .scene-con.is-visible .area .line { width: 25rem; }
}

@media all and (max-width:780px) {
  /* 모바일은 높이를 줄여서 속도감을 높임 */
  .scene-con { height: 60vh; }
  .scene-con .area .scene-txt .p1 { padding-bottom: 1rem; }
  .scene-con .area .scene-txt .p2 { font-size: 5.5rem; }

  /* ★ 간격 대폭 확보: 텍스트를 위아래로 더 멀리 밀어냅니다 (6.5rem -> 10rem) */
  .scene-con.is-visible .area .scene-txt1 {
    left: 50%;
    transform: translate(-50%, calc(-50% - 12rem)); 
    opacity: 1;
  }
  .scene-con.is-visible .area .scene-txt2 {
    left: 50%;
    transform: translate(-50%, calc(-50% + 12rem)); 
    opacity: 1;
  }

  /* 모바일: 수직 라인 (기본 상태) */
  .scene-con .area .line { 
    width: 2px;  
    height: 0;   
  }

  /* ★ 모바일: 수직 라인 등장 시 (선 길이를 6rem으로 맞춰 텍스트와 겹치지 않게 조절) */
  .scene-con.is-visible .area .line,
  .scene-con1.is-visible .area .line,
  .scene-con2.is-visible .area .line { 
    width: 2px !important; /* PC버전의 가로길이 강제 무효화 */
    height: 6rem; /* 세로로 6rem만큼 늘어남 */
    opacity: 0.6; 
  }
}

@media all and (max-width:425px) {
  .scene-con .area .scene-txt .p2 { font-size: 5rem; }
  #main .scene-con2 .area .scene-txt .p2 { font-size: 4rem; }
  
  /* 425px 이하의 아주 작은 화면에서는 간격을 조금 더 좁혀줍니다 */
  .scene-con.is-visible .area .scene-txt1 { transform: translate(-50%, calc(-50% - 11.5rem)); }
  .scene-con.is-visible .area .scene-txt2 { transform: translate(-50%, calc(-50% + 11.5rem)); }
}















#main .clinic-con ul {
  display: flex;
  border-bottom: 1px solid #ddd;
}


#main .clinic-con ul li {
  position: relative;
  width: 25%;
  border-left: 1px solid #ddd;
  box-sizing: border-box;
}

#main .clinic-con ul li a {
  display: block;
  width: 100%;
  padding: 14.2rem 0 20.7rem;
}

#main .clinic-con ul li:first-child {
  border-left: 0;
}

#main .clinic-con ul li .li-tit {
  height: 27rem;
  padding-left: 5rem;
}

#main .clinic-con ul li .li-tit .icon {
  display: block;
  width: 5rem;
  margin-bottom: 2.5rem;
  filter: saturate(0%);
  opacity: 0.5;
  transition: 0.3s;
}

#main .clinic-con ul li:hover .li-tit .icon {
  filter: saturate(1);
  opacity: 1;
}

#main .clinic-con ul li .li-tit .icon img {
  width: 100%;
  height: auto;
}

#main .clinic-con ul li .li-tit h5 {
  position: relative;
  font-size: 1.4rem;
  font-weight: 600;
  padding-bottom: 2rem;
  overflow: hidden;
}

#main .clinic-con ul li .li-tit h5 .df {
  opacity: 0.5;
}

#main .clinic-con ul li .li-tit h5 .mask {
  position: absolute;
  left: 0;
  top: 0;
  width: 0;
  white-space: nowrap;
  overflow: hidden;
  opacity: 1;
  transition: width 0.6s ease;
  color: #032E86;
}

#main .clinic-con ul li:hover .li-tit h5 .mask {
  width: 100%;
}

#main .clinic-con ul li .li-tit h4 {
  position: relative;
  font-size: 3rem;
  font-weight: 700;
  line-height: 3.6rem;
  overflow: hidden;
}

#main .clinic-con ul li .li-tit h4 .df {
  opacity: 0.5;
}

#main .clinic-con ul li .li-tit h4 .mask {
  position: absolute;
  left: 0;
  top: 0;
  width: 0;
  white-space: nowrap;
  overflow: hidden;
  opacity: 1;
  transition: width 0.8s ease;
  color: #032E86;
}

#main .clinic-con ul li:hover .li-tit h4 .mask {
  width: 100%;
}

#main .clinic-con ul li .img {
  width: 100%;
  height: 30rem;
  margin: 0 auto;
  transition: 0.5s;
  overflow: hidden;
  border-radius: 0;
}

#main .clinic-con ul li .img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#main .clinic-con ul li:hover .img {
  width: 80%;
  border-radius: 3rem;
}

#main .clinic-con ul li .btn {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  left: 50%;
  bottom: 16.7rem;
  transform: translateX(-50%);
  width: 8rem;
  height: 8rem;
  border-radius: 4rem;
  background-color: #111;
}

#main .clinic-con ul li .btn img {
  width: 2.4rem;
  height: auto;
  transition: 0.5s;
}

#main .clinic-con ul li:hover .btn {
  background-color: #032E86;
}

#main .clinic-con ul li:hover .btn img {
  transform: rotate(-45deg);
}


@media all and (max-width:960px) {
  #main .clinic-con ul li .li-tit .icon {
    filter: saturate(1);
    opacity: 1;
  }

  #main .clinic-con ul li .li-tit h5 .df {
    opacity: 1;
  }

  #main .clinic-con ul li .li-tit h5 .mask {
    display: none;
  }

  #main .clinic-con ul li .li-tit h4 .df {
    opacity: 1;
  }

  #main .clinic-con ul li .li-tit h4 .mask {
    display: none;
  }

  

  #main .clinic-con ul li:hover .img {
    width: 100%;
    border-radius: 0;
  }
}


@media all and (max-width:780px) {
  #main .clinic-con ul {
    flex-wrap: wrap;
  }

  #main .clinic-con ul li {
    width: 50%;
  }

  #main .clinic-con ul li:nth-child(3),
  #main .clinic-con ul li:nth-child(4) {
    border-top: 1px solid #ddd;
  }

  #main .clinic-con ul li a {
    padding: 10rem 0;
  }

  #main .clinic-con ul li .li-tit {
    padding-left: 20px;
  }

  #main .clinic-con ul li .btn {
    bottom: 6rem;
  }
}

@media all and (max-width:425px) {
  #main .clinic-con ul li a {
    padding: 6rem 0;
  }

  #main .clinic-con ul li .li-tit {
    height: 25rem;
  }

  #main .clinic-con ul li:nth-child(3) .li-tit,
  #main .clinic-con ul li:nth-child(4) .li-tit {
    height: 18rem;
  }

  #main .clinic-con ul li .li-tit h5 {
    font-size: 1.8rem;
  }

  #main .clinic-con ul li .li-tit h4 {
    font-size: 2.8rem;
    line-height: 1.3;
  }

  #main .clinic-con ul li .img {
    height: 20rem;
  }

  #main .clinic-con ul li .btn {
    bottom: 3.4rem;
    width: 5rem;
    height: 5rem;
  }
}














#main .point-con {
  position: relative;
  height: 100vh;
}

#main .point-con .p-wrap {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  width: 100%;
}

#main .point-con .p-wrap p {
  font-size: 4.7rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.5;
}

@media all and (max-width:425px) {
  #main .point-con .p-wrap p {
    font-size: 3rem;
  }
}









#main .banner-con {
  width: 100%;
  height: 52.7rem;
  background: url("../img/main/banner_con_img.png") no-repeat center;
  background-size: cover;
  background-attachment: fixed;
}

.ios-device #main .banner-con {
  background-attachment: scroll;
}

#main .banner-con .area {
  position: relative;
  height: 100%;
}

#main .banner-con .area .tit-wrap {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  color: #fff;
}

#main .banner-con .area .tit-wrap h4 {
  font-size: 1.6rem;
  font-weight: 700;
  padding-bottom: 1.9rem;
}

#main .banner-con .area .tit-wrap h3 {
  font-size: 6rem;
  font-weight: 800;
  padding-bottom: 3.5rem;
  word-break: keep-all;
}

#main .banner-con .area .tit-wrap p {
  font-size: 1.6rem;
  line-height: 2.2rem;
}

@media all and (max-width:960px) {
  #main .banner-con .area .tit-wrap {
    left: 50%;
    transform: translate(-50%,-50%);
    width: 100%;
    text-align: center;
  }
}

@media all and (max-width:780px) {
  #main .banner-con {
    height: auto;
    padding: 10rem 0;
  }

  #main .banner-con .area .tit-wrap {
    position: static;
    transform: translateY(0);
  }

  #main .banner-con .area .tit-wrap h3 {
    font-size: 4.5rem;
    padding-bottom: 2rem;
  }

  #main .banner-con .area .tit-wrap p {
    font-size: 1.8rem;
    line-height: 1.5;
    word-break: keep-all;
  }

  #main .banner-con .area .tit-wrap p br {
    display: none;
  }
}









#main .implant-con {
  position: relative;
  margin-top: 22.6rem;
}

#main .implant-con > * {
  padding-left: 16rem;
}

#main .implant-con .tit-wrap {
  padding-bottom: 8.5rem;
}

#main .implant-con .tit-wrap h4 {
  font-size: 1.4rem;
  color: #032E86;
  padding-bottom: 2.6rem;
}

#main .implant-con .tit-wrap h3 {
  font-size: 5.4rem;
  line-height: 7.4rem;
  font-weight: 300;
}

#main .implant-con .tit-wrap h3 strong {
  font-weight: 800;
  color: #032E86;
}

#main .implant-con .txt-wrap {
  position: relative;
  padding-bottom: 22.6rem;
}

#main .implant-con .txt-wrap ul {
  display: flex;
  gap: 5rem;
}

#main .implant-con .txt-wrap ul li {
  width: 74rem;
}

#main .implant-con .txt-wrap ul li .img {
  margin-bottom: 5.8rem;
}

#main .implant-con .txt-wrap ul li .img img {
  width: 74rem;
  height: auto;
}

#main .implant-con .txt-wrap ul li .info-group {
  display: flex;
  align-items: start;
}

#main .implant-con .txt-wrap ul li .info-group .num {
  font-size: 6rem;
  padding-right: 3.7rem;
}

#main .implant-con .txt-wrap ul li .info-group .info-txt {
  padding-top: 0.5rem;
}

#main .implant-con .txt-wrap ul li .info-group .info-txt h5 {
  font-size: 2.4rem;
  font-weight: 700;
  padding-bottom: 2.5rem;
}

#main .implant-con .txt-wrap ul li .info-group .info-txt p {
  font-size: 1.8rem;
  line-height: 2.8rem;
  color: #2C2C2C;
}


@media all and (max-width:960px) {
  #main .implant-con > * {
    padding-left: 0;
  }

  #main .implant-con .tit-wrap {
    padding-bottom: 3.6rem;
    text-align: center;
  }

  #main .implant-con .txt-wrap ul {
    gap: 0;
  }

  #main .implant-con .txt-wrap ul li .img img {
    width: 100%;
  }
}

@media all and (max-width:780px) {
  #main .implant-con {
    margin-top: 10rem;
  }
  
  #main .implant-con .tit-wrap h3 {
    font-size: 4.4rem;
    line-height: 1.3;
    padding: 0 20px;
    word-break: keep-all;
  }

  #main .implant-con .txt-wrap {
    padding-bottom: 10rem;
  }
}

@media all and (max-width:425px) {
  #main .implant-con .tit-wrap h3 {
    word-break: keep-all;
  }

  #main .implant-con .tit-wrap h3 br {
    display: none;
  }

  #main .implant-con .txt-wrap ul li .img {
    margin-bottom: 3rem;
  }

  #main .implant-con .txt-wrap ul li .info-group {
    display: block;
    padding: 0 10px;
  }

  #main .implant-con .txt-wrap ul li .info-group .num {
    font-size: 5rem;
    padding-right: 0;
  }

  #main .implant-con .txt-wrap ul li .info-group .info-txt h5 {
    padding-bottom: 2rem;
    word-break: keep-all;
  }

  #main .implant-con .txt-wrap ul li .info-group .info-txt p {
    word-break: keep-all;
  }

  #main .implant-con .txt-wrap ul li .info-group .info-txt p br {
    display: none;
  }
}







.review-con {
  background-color: #001541;
  padding: 22.6rem 0;
}

.review-con .area .tit-wrap {
  color: #fff;
}

.review-con .area .tit-wrap h4 {
  font-size: 1.4rem;
  color: #fff;
  padding-bottom: 2.6rem;
}

.review-con .area .tit-wrap h3 {
  font-size: 5.4rem;
  line-height: 7.4rem;
  font-weight: 300;
}

.review-con .area .tit-wrap h3 strong {
  font-weight: 800;
  color: #fff;
}

.review-con .area .txt-wrap {
  position: relative;
  display: flex;
  justify-content: space-between;
  margin-top: 8rem;
  height: 80rem;
  overflow: hidden;
}

.review-con .area .txt-wrap::before,
.review-con .area .txt-wrap::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 10rem;
  z-index: 1;
  pointer-events: none;
}

.review-con .area .txt-wrap::before {
  top: 0;
  background: linear-gradient(to bottom, rgba(0, 21, 65, 1), transparent);
}

.review-con .area .txt-wrap::after {
  bottom: 0;
  background: linear-gradient(to top, rgba(0, 21, 65, 1), transparent);
}

.review-con .area .txt-wrap .rv {
  width: 32.1%;
  height: 100%;
  overflow: hidden;
}

.review-con .area .txt-wrap .rv ul {
  display: flex;
  flex-direction: column;
  gap: 2.2rem;
}

.review-con .area .txt-wrap .rv ul li {
  background-color: rgba(255,255,255,0.09);
  border: 1px solid rgba(255,255,255,0.1);
  box-sizing: border-box;
  border-radius: 2rem;
}

.review-con .area .txt-wrap .rv ul li .sub-inner {
  padding: 2.5rem;
}

.review-con .area .txt-wrap .rv ul li .sub-inner .pf img {
  width: 4.4rem;
  height: auto;
}

.review-con .area .txt-wrap .rv ul li .sub-inner .p-group {
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
  margin-top: 1.5rem;
}

.review-con .area .txt-wrap .rv ul li .sub-inner .p-group p {
  font-size: 1.5rem;
  line-height: 2.2rem;
  color: #fff;
}

.review-con .area .txt-wrap .rv ul li .sub-inner .bar {
  display: block;
  width: 100%;
  height: 1px;
  background-color: rgba(255,255,255,0.09);
  margin: 1.9rem 0 0.9rem;
}

.review-con .area .txt-wrap .rv ul li .sub-inner .write-info p {
  font-size: 1.2rem;
  color: rgba(255,255,255,0.5);
  text-align: right;
}

@media all and (max-width:960px) {
  .review-con {
    padding: 10rem 0;
  }

  .review-con .area {
    padding: 0;
    width: 100%;
  }

  .review-con .area .tit-wrap {
    text-align: center;
  }

  .review-con .area .tit-wrap h3 {
    font-size: 4.4rem;
    line-height: 1.4;
  }

  .review-con .area .txt-wrap {
    flex-wrap: wrap;
    height: auto;
    gap: 10px;
    margin-top: 3.6rem;
  }

  .review-con .area .txt-wrap::before,
  .review-con .area .txt-wrap::after {
    display: none;
  }

  .review-con .area .txt-wrap .rv {
    width: 100%;
  }

  .review-con .area .txt-wrap .rv ul {
    flex-direction: row;
    width: 3560px;
    gap: 10px;
  }

  .review-con .area .txt-wrap .rv ul li {
    width: 280px;
    height: auto;
  }
  
  .review-con .area .txt-wrap .rv ul li .sub-inner {
    position: relative;
    width: calc(100% - 5rem);
    height: calc(100% - 5rem);
    box-sizing: content-box;
  }

  .review-con .area .txt-wrap .rv ul li .sub-inner .pf img {
    width: 50px;
  }

  .review-con .area .txt-wrap .rv ul li .sub-inner .p-group {
    padding-bottom: 30px;
  }

  .review-con .area .txt-wrap .rv ul li .sub-inner .p-group p {
    font-size: 15px;
    line-height: 1.7;
    word-break: keep-all;
  }

  .review-con .area .txt-wrap .rv ul li .sub-inner .p-group p br {
    display: none;
  }

  .review-con .area .txt-wrap .rv ul li .sub-inner .bar {
    position: absolute;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
    width: calc(100% - 5rem);
  }

  .review-con .area .txt-wrap .rv ul li .sub-inner .write-info p {
    position: absolute;
    bottom: 10px;
    right: 2.5rem;
    font-size: 13px;
  }
}

@media all and (max-width:780px) {
  .review-con .area .txt-wrap .rv ul li .sub-inner .p-group p {
    font-size: 13px;
  }
}





#main .interior-con {
  position: relative;
  margin-top: 22.6rem;
  padding-bottom: 22.6rem;
}

#main .interior-con .tit-wrap {
  padding-bottom: 8.5rem;
  padding-left: 16rem;
}

#main .interior-con .tit-wrap h4 {
  font-size: 1.4rem;
  color: #032E86;
  padding-bottom: 2.6rem;
}

#main .interior-con .tit-wrap h3 {
  font-size: 5.4rem;
  line-height: 7.4rem;
  font-weight: 300;
}

#main .interior-con .tit-wrap h3 strong {
  font-weight: 800;
  color: #032E86;
}

#main .interior-con .txt-wrap {
  position: relative;
  margin-left: 16rem;
}

#main .interior-con .txt-wrap .swiper-slide {
  opacity: 0.2;
  border-radius: 2rem;
  overflow: hidden;
}

#main .interior-con .txt-wrap .swiper-slide.swiper-slide-active {
  opacity: 1;
}

#main .interior-con .txt-wrap ul li img {
  width: 100%;
  height: auto;
}

#main .interior-con .control-group {
  position: relative;
  padding: 3.2rem 0;
}

#main .interior-con .control-group .arrows {
  display: flex;
  justify-content: space-between;
}

#main .interior-con .control-group .arrows .swiper-arrow {
  position: static;
  margin: 0;
  cursor: pointer;
}

#main .interior-con .control-group .arrows .swiper-arrow img {
  width: 8.4rem;
  height: auto;
}

#main .interior-con .control-group .arrows .swiper-button-next3:after,
#main .interior-con .control-group .arrows .swiper-button-prev3:after {
  content: '';
}

#main .interior-con .control-group .paging-bar {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 8px;
  background: #EEF0F3;
  overflow: hidden;
  border-radius: 6px;
}

#main .interior-con .control-group .progress-bar {
  height: 100%;
  background: #15264B;
  width: 20%;
  transition: width 0.3s ease;
  border-radius: 6px;
}

@media all and (max-width:960px) {
  #main .interior-con .tit-wrap {
    padding-left: 0;
    text-align: center;
    padding-bottom: 3.6rem;
  }

  #main .interior-con .tit-wrap h3 {
    font-size: 4.4rem;
    line-height: 1.4;
  }

  #main .interior-con .txt-wrap {
    margin-left: 20px;
  }
}

@media all and (max-width:780px) {
  #main .interior-con {
    margin-top: 10rem;
    padding-bottom: 10rem;
  }
  
  #main .interior-con .control-group {
    padding-top: 1rem;
  }
  
  #main .interior-con .control-group .arrows {
    display: none;
  }
  
  #main .interior-con .control-group .paging-bar {
    height: 6px;
  }  
}














#main .collabo-con {
  width: 100%;
  height: 52.7rem;
  background: url("../img/main/collabo_con_img.png") no-repeat center;
  background-size: cover;
  background-attachment: fixed;
}

.ios-device #main .collabo-con {
  background-attachment: scroll;
}

#main .collabo-con .area {
  position: relative;
  height: 100%;
}

#main .collabo-con .area .tit-wrap {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  color: #fff;
}

#main .collabo-con .area .tit-wrap h4 {
  font-size: 1.6rem;
  font-weight: 700;
  padding-bottom: 1.9rem;
}

#main .collabo-con .area .tit-wrap h3 {
  font-size: 6rem;
  font-weight: 800;
  padding-bottom: 3.5rem;
}

#main .collabo-con .area .tit-wrap p {
  font-size: 1.6rem;
  line-height: 2.2rem;
}

@media all and (max-width:960px) {
  #main .collabo-con .area .tit-wrap {
    left: 50%;
    transform: translate(-50%,-50%);
    width: 100%;
    text-align: center;
  }
}

@media all and (max-width:780px) {
  #main .collabo-con {
    height: auto;
    padding: 10rem 0;
  }

  #main .collabo-con .area .tit-wrap {
    position: static;
    transform: translate(0);
  }

  #main .collabo-con .area .tit-wrap h3 {
    font-size: 4.5rem;
  }

  #main .collabo-con .area .tit-wrap p {
    font-size: 1.8rem;
    line-height: 1.5;
    word-break: keep-all;
  }
}













.contact-con {
  background-color: #15264B;
  padding: 11.5rem 0;
}

.contact-con .area {
  display: flex;
  justify-content: space-between;
}

.contact-con .area .map-group {
  position: relative;
  width: 104.6rem;
  height: 57.5em;
}

.map-group #map {
  position: relative;
  width: 100%;
  height: 100%;
}

.map-group .custom_typecontrol {
  position:absolute;
  top:10px;
  right:10px;
  overflow:hidden;
  width:130px;
  height:30px;
  margin:0;
  padding:0;
  z-index:1;
  font-size:12px;
  font-family:'Malgun Gothic', '맑은 고딕', sans-serif;
}
  
.map-group .custom_typecontrol span {
  display:block;
  width:50%;
  height:30px;
  float:left;
  text-align:center;
  line-height:30px;
  cursor:pointer;
  background-color: #fff;
}
  
.map-group .custom_typecontrol .btn{
  background:#fff;
  background:linear-gradient(#fff,  #e6e6e6);
  font-size:12px;
}
  
.map-group .custom_typecontrol .btn:hover {
  background:#f5f5f5;
  background:linear-gradient(#f5f5f5,#e3e3e3);
}
  
.map-group .custom_typecontrol .btn:active {
  background:#e6e6e6;
  background:linear-gradient(#e6e6e6, #fff);
}
  
.map-group .custom_typecontrol .selected_btn {
  color:#fff;
  background:#425470;
  background:linear-gradient(#425470, #5b6d8a);
}
  
.map-group .custom_typecontrol .selected_btn:hover {
  color:#fff;
}
  
.map-group .custom_zoomcontrol {
  position:absolute;
  top:50px;
  right:10px;
  width:36px;
  height:80px;
  overflow:hidden;
  z-index:1;
  background-color:#f5f5f5;
}
  
.map-group .custom_zoomcontrol span {
  display:block;
  width:36px;
  height:40px;
  text-align:center;
  cursor:pointer;
}
  
.map-group .custom_zoomcontrol span .img{
  width:15px;
  height:15px;
  margin:0 auto;
}
  
.map-group .custom_zoomcontrol span img {
  border:none;
  width:100%;
  height:auto;
  padding:12px 0;
}             
  
.map-group .custom_zoomcontrol span:first-child{
  border-bottom:1px solid #bfbfbf;
} 

.contact-con .area .info-wrap {
  color: #fff;
  width: 50.5rem;
}

.contact-con .area .info-wrap .cont-tit h3 {
  font-size: 3.5rem;
  font-weight: 700;
}

.contact-con .area .info-wrap .cont-tit p {
  font-size: 1.8rem;
  font-weight: 500;
  padding-top: 1.5rem;
}

.contact-con .area .info-wrap .link-group {
  margin-top: 3rem;
}

.contact-con .area .info-wrap .link-group ul {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
}

.contact-con .area .info-wrap .link-group ul li {
  width: 22.9rem;
  height: 4.9rem;
  background-color: rgba(255,255,255,0.1);
  border-radius: 3rem;
}

.contact-con .area .info-wrap .link-group ul li a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 100%;
}

.contact-con .area .info-wrap .link-group ul li a p {
  font-size: 1.6rem;
  padding-left: 3rem;
}

.contact-con .area .info-wrap .link-group ul li a .img  {
  margin-right: 3rem;
}

.contact-con .area .info-wrap .link-group ul li a .img img {
  width: 1.6rem;
  height: auto;
}

.contact-con .area .info-wrap .info-cmn {
  display: flex;
  gap: 2.7rem;
  margin-top: 4.5rem;
}

.contact-con .area .info-wrap .info-cmn h4 {
  font-size: 1.7rem;
  font-weight: 500;
  opacity: 0.6;
  width: 5.9rem;
}

.contact-con .area .info-wrap .info-cmn ul {
  width: calc(100% - 8.7rem);
}

.contact-con .area .info-wrap .parking-group ul {
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
}

.contact-con .area .info-wrap .parking-group ul li p {
  font-size: 1.7rem;
  font-weight: 600;
}

.contact-con .area .info-wrap .parking-group ul li.parking-info {
  display: flex;
  background-color: rgba(255,255,255,0.1);
  border-radius: 0.5rem;
  padding: 0.6rem 0;
}

.contact-con .area .info-wrap .parking-group ul li.parking-info .icon {
  width: 1.6rem;
  height: 1.6rem;
  margin-top: 0.15rem;
  margin-left: 1rem;
  margin-right: 1rem;
}

.contact-con .area .info-wrap .parking-group ul li.parking-info .icon img {
  width: 100%;
  height: auto;
}

.contact-con .area .info-wrap .parking-group ul li.parking-info p {
  font-size: 1.7rem;
  font-weight: 300;
}

.contact-con .area .info-wrap .parking-group ul li.parking-info p strong {
  font-weight: 600;
}

.contact-con .area .info-wrap .call-group ul li strong {
  display: block;
  font-size: 3rem;
  font-weight: 700;
  margin-top: -0.3rem;
}

.contact-con .area .info-wrap .time-group ul {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 5.6rem;
}

.contact-con .area .info-wrap .time-group ul li {
  position: relative;
  display: flex;
  font-size: 1.7rem;
  color: #fff;
  width: 18rem;
}

.contact-con .area .info-wrap .time-group ul li h5 {
  width: 8rem;
  margin-right: 1.6rem;
}

.contact-con .area .info-wrap .time-group ul li p {
  width: calc(100% - 5rem);
}

.contact-con .area .info-wrap .time-group ul li img {
  position: absolute;
  top: 0.15rem;
  right: -1.6rem;
  width: 1.4rem;
  height: auto;
}

.contact-con .area .info-wrap .time-group ul li.caution {
  width: 100%;
  font-size: 1.2rem;
  font-weight: 500;
  color: #999;
  padding-top: 0.5rem;
}

@media all and (max-width:1640px) {
  .contact-con .area {
    gap: 5rem;
  }

  .contact-con .area .map-wrap {
    width: 60%;
    height: auto;
    aspect-ratio: 836 / 517;
  }

  .contact-con .area .info-wrap {
    width: 40%;
  }
}

@media all and (max-width:960px) {
  .contact-con .area {
    flex-wrap: wrap;
  }

  .contact-con .area .map-group,
  .contact-con .area .info-wrap {
    width: 100%;
  }

  .contact-con .area .info-wrap .parking-group ul {
    width: 100%;
  }

  .contact-con .area .info-wrap .parking-group ul li.parking-info {
    width: 41rem;
  }
}

@media all and (max-width:780px) {
  .contact-con .area .info-wrap .cont-tit h3 {
    font-size: 5rem;
  }

  .contact-con .area .info-wrap .cont-tit p {
    font-size: 2.4rem;
    line-height: 1.5;
  }

  .contact-con .area .info-wrap .link-group ul li {
    width: calc(50% - 0.75rem);
    height: 6.5rem;
  }

  .contact-con .area .info-wrap .link-group ul li a p {
    font-size: 2rem;
    font-weight: 500;
  }

  .contact-con .area .info-wrap .link-group ul li a .img img {
    width: 2rem;
  }

  .contact-con .area .info-wrap .info-cmn {
    flex-wrap: wrap;
    gap: 1.6rem;
    padding-top: 4.5rem;
    border-top: 1px solid rgba(255,255,255,0.2);
  }

  .contact-con .area .info-wrap .info-cmn h4 {
    font-size: 2.4rem;
    width: 100%;
  }

  .contact-con .area .info-wrap .parking-group ul li p {
    font-size: 2.2rem;
  }

  .contact-con .area .info-wrap .parking-group ul li.parking-info {
    width: 100%;
  }

  .contact-con .area .info-wrap .parking-group ul li.parking-info .icon {
    width: 2rem;
    height: 2rem;
    margin-top: 0.2rem;
  }

  .contact-con .area .info-wrap .parking-group ul li.parking-info p {
    font-size: 2rem;
  }

  .contact-con .area .info-wrap .call-group ul li strong {
    font-size: 4rem;
  }

  .contact-con .area .info-wrap .time-group ul {
    gap: 1rem 0;
    justify-content: space-between;
    width: 100%;
  }

  .contact-con .area .info-wrap .time-group ul li {
    width: calc(50% - 0.75rem);
    font-size: 2.5rem;
  }

  .contact-con .area .info-wrap .time-group ul li h5 {
    width: 11rem;
  }

  .contact-con .area .info-wrap .time-group ul li img {
    right: auto;
    top: 0.7rem;
    left: 26.5rem;
    width: 1.8rem;
  }
  
  .contact-con .area .info-wrap .time-group ul li.caution {
    font-size: 1.8rem;
  }
}

@media all and (max-width:400px) {
  .contact-con .area .info-wrap .time-group ul li {
    width: 100%;
  }

  .contact-con .area .info-wrap .parking-group ul li.parking-info .icon {
    width: 1.8rem;
    height: 1.8rem;
    margin-top: 0.2rem;
  }

  .contact-con .area .info-wrap .parking-group ul li.parking-info p {
    font-size: 1.8rem;
  }
}




#footer {
  width: 100%;
  background-color: #15264B;
  padding-bottom: 6.6rem;
}

#footer .area {
  border-top: 1px solid rgba(255,255,255,0.1);
  padding-top: 5.6rem;
}

#footer .area .top-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
#footer .area .top-wrap .ft-logo a img {
  width: 22rem;
  height: auto;
  opacity: 0.3;
}

#footer .area .top-wrap .sns-group ul {
  display: flex;
  align-items: center;
  gap: 3.4rem;
}

#footer .area .top-wrap .sns-group ul li a img {
  height: auto;
  opacity: 0.3;
  transition: 0.5s;
}

#footer .area .top-wrap .sns-group ul li:nth-child(1) a img {
  width: 1.4rem;
}

#footer .area .top-wrap .sns-group ul li:nth-child(2) a img {
  width: 1.8rem;
}

#footer .area .top-wrap .sns-group ul li:nth-child(3) a img {
  width: 1.6rem;
}
#footer .area .top-wrap .sns-group ul li:hover a img {
  opacity: 1;
}

#footer .area .btm-wrap {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  margin-top: 3.5rem;
}

#footer .area .btm-wrap ul {
  display: flex;
}

#footer .area .btm-wrap ul.mo-ul {
  display: none;
}

#footer .area .btm-wrap ul li {
  padding-left: 1.3rem;
  margin-left: 1.2rem;
  background: url("../img/main/ft_bar.png") no-repeat left center;
}

#footer .area .btm-wrap ul li p {
  font-size: 1.4rem;
  color: #fff;
  opacity: 0.3;
}

#footer .area .btm-wrap ul li p a {
  text-decoration: underline;
}

#footer .area .btm-wrap address {
  font-size: 1.4rem;
  color: #fff;
  opacity: 0.3;
  padding-top: 0.7rem;
}

#footer .area .btm-wrap ul li:first-child {
  padding-left: 0;
  margin-left: 0;
  background: none;
}

#footer .area .btm-wrap ul li.last:hover p {
  opacity: 1;
}

@media all and (max-width:780px) {
  #footer {
    position: relative;
    padding-bottom: 10rem;
  }

  #footer .area {
    padding-top: 10rem;
  }

  #footer .area .top-wrap {
    flex-wrap: wrap;
  }

  #footer .area .top-wrap .ft-logo {
    width: 100%;
  }

  #footer .area .top-wrap .ft-logo a img {
    width: 25rem;
  }

  #footer .area .top-wrap .sns-group {
    display: flex;
    width: 100%;
    margin-top: 3.5rem;
  }

  #footer .area .top-wrap .sns-group ul li:nth-child(1) a img {
    width: 2rem;
  }
  
  #footer .area .top-wrap .sns-group ul li:nth-child(2) a img {
    width: 2.4rem;
  }
  
  #footer .area .top-wrap .sns-group ul li:nth-child(3) a img {
    width: 2.2rem;
  }

  #footer .area .btm-wrap ul {
    flex-wrap: wrap;
    width: 100%;
  }

  #footer .area .btm-wrap ul.mo-ul {
    display: flex;
    margin-top: 3.5rem;
  }

  #footer .area .btm-wrap ul li.last {
    display: none;
  }

  #footer .area .btm-wrap ul li p {
    font-size: 1.8rem;
  }

  #footer .area .btm-wrap address {
    font-size: 1.8rem;
    padding-top: 3.5rem;
  }
}

@media all and (max-width:400px) {
  #footer .area .btm-wrap {
    gap: 1rem;
  }

  #footer .area .btm-wrap ul li.last {
    padding-left: 0;
    margin-left: 0;
    background: none;
    width: 100%;
  }

  #footer .area .btm-wrap ul li p {
    letter-spacing: -0.18rem;
  }
}






section.sub article {
  overflow: hidden;
}

section.sub .visual-con {
  position: relative;
  width: 100%;
  height: 82rem;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  overflow: visible;
}

section.sub .visual-con .area {
  position: relative;
  height: 100%;
}

section.sub .visual-con .area .tit-wrap {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-60%);
  color: #fff;
}

section.sub .visual-con .area .tit-wrap h3 {
  font-size: 2rem;
  font-weight: 200;
  padding-bottom: 2.7rem;
}

section.sub .visual-con .area .tit-wrap h2 {
  font-size: 8rem;
  font-weight: 700;
  padding-bottom: 3.3rem;
}

section.sub .visual-con .area .tit-wrap p {
  font-size: 1.8rem;
  line-height: 2.8rem;
  word-break: keep-all;
}

section.sub .visual-con .location-wrap {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 8rem;
  background-color: rgba(0,0,0,0.5);
  z-index: 10;
}

section.sub .visual-con .location-wrap ul {
  display: flex;
  align-items: center;
  gap: 2rem;
  height: 100%;
  padding-left: 5rem;
}

section.sub .visual-con .location-wrap ul li {
  position: relative;
}

section.sub .visual-con .location-wrap ul li:last-child {
  cursor: pointer;
}

section.sub .visual-con .location-wrap ul li.home a img {
  width: 1.6rem;
  height: auto;
}

section.sub .visual-con .location-wrap ul li .dot {
  display: block;
  width: 0.3rem;
  height: 0.3rem;
  background-color: #fff;
  opacity: 0.5;
  border-radius: 1rem;
}

section.sub .visual-con .location-wrap ul li p {
  display: flex;
  align-items: center;
  gap: 1rem;
  font-size: 1.6rem;
  color: #fff;
}

section.sub .visual-con .location-wrap ul li p .down {
  display: flex;
  align-items: center;
  width: 0.6rem;
  height: 1rem;
  aspect-ratio: 0.6 / 1;
}

section.sub .visual-con .location-wrap ul li p .down img {
  width: 100%;
  height: auto;
  transition: 0.5s;
}

section.sub .visual-con .location-wrap ul li.on p .down img {
  transform: rotate(180deg);
}

section.sub .visual-con .location-wrap ul li .slt-div {
  display: none;
  position: absolute;
  top: 3rem;
  left: 0;
  background-color: #FFF;
  width: 17rem;
  box-shadow: 0 0 0 1px rgba(68, 68, 68, 0.11);
  z-index: 10;
}

section.sub .visual-con .location-wrap ul li .slt-div a {
  display: block;
  font-size: 1.3rem;
  padding: 1rem 0 1rem 1rem;
}

section.sub .visual-con .location-wrap ul li .slt-div a:hover {
  background-color: #032E86;
  color: #fff;
  font-weight: 700;
}

section.sub .visual-con .location-wrap ul li .slt-div a.active {
  background-color: #f6f6f6;
  font-weight: 700;
  color: #000;
}

@media all and (max-width:960px) {
  section.sub .visual-con {
    height: auto;
    padding: 30rem 0;
  }

  section.sub .visual-con .area .tit-wrap {
    position: static;
    transform: translateY(0);
    text-align: center;
  }

  section.sub .visual-con .location-wrap ul {
    padding-left: 20px;
  }
}

@media all and (max-width:780px) {
  section.sub .visual-con {
    padding: 20rem 0;
  }

  section.sub .visual-con .area .tit-wrap h3 {
    padding-bottom: 1rem;
  }

  section.sub .visual-con .area .tit-wrap h2 {
    font-size: 5.5rem;
    padding-bottom: 1rem;
  }

  section.sub .visual-con .location-wrap ul li.home a img {
    width: 2.2rem;
  }

  section.sub .visual-con .location-wrap ul li .dot {
    width: 0.4rem;
    height: 0.4rem;
  }

  section.sub .visual-con .location-wrap ul li p {
    font-size: 2rem;
  }

  section.sub .visual-con .location-wrap ul li p .down {
    width: 0.8rem;
    height: auto;
    margin-top: 0;
  }

  section.sub .visual-con .location-wrap ul li .slt-div {
    top: 4rem;
    width: 24rem;
  }

  section.sub .visual-con .location-wrap ul li .slt-div a {
    font-size: 2rem;
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
}
















section.sub .intro-con {
  padding-top: 2.2rem;
  padding-bottom: 15.3rem;
}

section.sub .intro-con .deco-txt {
  font-size: 5rem;
  text-align: right;
  padding-right: 5rem;
}

section.sub .intro-con .area .txt-wrap {
  padding-top: 26.9rem;
  padding-bottom: 10.3rem;
}

section.sub .intro-con .area .txt-wrap p {
  font-size: 4.5rem;
  line-height: 7.2rem;
  text-align: center;
  font-weight: 200;
}

section.sub .intro-con .area .txt-wrap p strong {
  font-weight: 700;
}

section.sub .intro-con .area .img {
  width: 100%;
}

section.sub .intro-con .area .img img {
  width: 100%;
  height: auto;
}

@media all and (max-width:960px) {
  section.sub .intro-con .deco-txt {
    font-size: 4rem;
    padding-right: 20px;
  }
}

@media all and (max-width:780px) {
  section.sub .intro-con {
    padding-bottom: 10rem;
  }

  section.sub .intro-con .deco-txt {
    font-size: 2rem;
  }

  section.sub .intro-con .area {
    display: flex;
    flex-direction: column;
  }

  section.sub .intro-con .area .txt-wrap {
    order: 2;
    padding-top: 5rem;
    padding-bottom: 0;
  }

  section.sub .intro-con .area .txt-wrap p {
    font-size: 4rem;
    line-height: 1.5;
    word-break: keep-all;
  }

  section.sub .intro-con .area .img {
    order: 1;
    margin-top: 10rem;
  }
}

@media all and (max-width:425px) {
  section.sub .intro-con .area .txt-wrap p {
    font-size: 2.8rem;
  }
}






section.sub .collabo-con {
  width: 100%;
  height: 52.7rem;
  background: url("../img/main/collabo_con_img.png") no-repeat center;
  background-size: cover;
  background-attachment: fixed;
}

.ios-device section.sub .collabo-con {
  background-attachment: scroll;
}

section.sub .collabo-con .area {
  position: relative;
  height: 100%;
}

section.sub .collabo-con .area .tit-wrap {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  color: #fff;
  text-align: center;
}

section.sub .collabo-con .area .tit-wrap h4 {
  font-size: 1.6rem;
  font-weight: 700;
  padding-bottom: 1.9rem;
}

section.sub .collabo-con .area .tit-wrap h3 {
  font-size: 6rem;
  font-weight: 800;
  padding-bottom: 3.5rem;
}

section.sub .collabo-con .area .tit-wrap p {
  font-size: 1.6rem;
  line-height: 2.2rem;
}

@media all and (max-width:960px) {
  section.sub .collabo-con .area .tit-wrap {
    left: 50%;
    transform: translate(-50%,-50%);
    width: 100%;
    text-align: center;
  }
}

@media all and (max-width:780px) {
  section.sub .collabo-con {
    height: auto;
    padding: 10rem 0;
  }

  section.sub .collabo-con .area .tit-wrap {
    position: static;
    transform: translate(0);
  }

  section.sub .collabo-con .area .tit-wrap h3 {
    font-size: 4.5rem;
  }

  section.sub .collabo-con .area .tit-wrap p {
    font-size: 1.8rem;
    line-height: 1.5;
    word-break: keep-all;
  }
}














section.sub .slg-con {
  position: relative;
  width: 100%;
  height: 90rem;
  background: url("../img/sub/cmn/slg_con_bg.png") no-repeat left center;
  background-size: cover;
}

section.sub .slg-con .tit-wrap {
  position: absolute;
  right: 0;
  bottom: 22.6rem;
}

section.sub .slg-con .tit-wrap strong {
  font-size: 3.6rem;
  color: #fff;
  font-weight: 800;
  line-height: 5.4rem;
}

section.sub .slg-con .tit-wrap .line {
  display: block;
  width: 82.3rem;
  height: 0.4rem;
  background-color: #fff;
  margin: 4.1rem 0 3.5rem;
}

section.sub .slg-con .tit-wrap p {
  font-size: 1.6rem;
  font-weight: 300;
  color: #fff;
  letter-spacing: 0.8rem;
}

@media all and (max-width:780px) {
  section.sub .slg-con {
    height: 70rem;
  }

  section.sub .slg-con .tit-wrap {
    bottom: 12rem;
  }

  section.sub .slg-con .tit-wrap strong {
    font-size: 3.2rem;
    line-height: 1.3;
  }

  section.sub .slg-con .tit-wrap .line {
    width: 100%;
    height: 0.2rem;
    margin: 3.1rem 0 2.5rem;
  }

  section.sub .slg-con .tit-wrap p {
    font-size: 1.4rem;
    letter-spacing: 0.6rem;
  }
}













section.sub .qna-con {
  padding: 16rem 0;
  background-color: #f8f8f8;
}

section.sub .qna-con .area .tit-wrap {
  text-align: center;
  font-weight: 500;
  margin-bottom: 5rem;
}

section.sub .qna-con .area .tit-wrap h4 {
  font-size: 3rem;
  padding-bottom: 1rem;
}

section.sub .qna-con .area .tit-wrap h3 {
  font-size: 4rem;
}

section.sub .qna-con .area .tit-wrap h3 strong {
  font-weight: 800;
  color: #032E86;
}

section.sub .qna-con .area .txt-wrap ul li {
  border-bottom: 1px solid #D9D9D9;
  box-sizing: border-box;
}

section.sub .qna-con .area .txt-wrap ul li .qus {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 9rem;
  cursor: pointer;
}

section.sub .qna-con .area .txt-wrap ul li .qus h5 {
  font-size: 2rem;
  font-weight: 700;
}

section.sub .qna-con .area .txt-wrap ul li .qus .down {
  width: 0.9rem;
  height: 1.4rem;
  aspect-ratio: 0.9 / 1.4;
}

section.sub .qna-con .area .txt-wrap ul li .qus .down img {
  width: 100%;
  height: auto;
  transition: 0.5s;
}

section.sub .qna-con .area .txt-wrap ul li .qus.on .down img {
  transform: rotate(180deg);
}

section.sub .qna-con .area .txt-wrap ul li .answ {
  display: none;
  padding-bottom: 2rem;
}

section.sub .qna-con .area .txt-wrap ul li .answ p {
  font-size: 1.8rem;
  line-height: 1.5;
  color: #333;
  word-break: keep-all;
}

@media all and (max-width:780px) {
  section.sub .qna-con {
    padding: 10rem 0;
  }

  section.sub .qna-con .area .tit-wrap {
    margin-bottom: 3.6rem;
  }

  section.sub .qna-con .area .tit-wrap h4 {
    font-size: 2.4rem;
    padding-bottom: 2rem;
  }

  section.sub .qna-con .area .tit-wrap h3 {
    font-size: 4.4rem;
    line-height: 1.3;
  }

  section.sub .qna-con .area .txt-wrap ul li .qus h5 {
    font-size: 2.2rem;
    padding-right: 3rem;
    word-break: keep-all;
    line-height: 1.3;
  }

  section.sub .qna-con .area .txt-wrap ul li .qus .down {
    width: 1.4rem;
    margin-right: 1rem;
  }

  section.sub .qna-con .area .txt-wrap ul li .answ p {
    font-size: 2rem;
  }
}










section.sub .type-con {
  padding: 16rem 0;
}

section.sub .type-con .area > div {
  display: flex;
  justify-content: space-between;
  padding-top: 16rem;
  margin-top: 16rem;
  border-top: 1px solid #ddd;
}

section.sub .type-con .area .type1 {
  border-top: 0;
  padding-top: 0;
  margin-top: 0;
}

section.sub .type-con .area > div h4 {
  font-size: 5.4rem;
  font-weight: 500;
}

section.sub .type-con .area > div .right {
  width: 70rem;
}

section.sub .type-con .area > div .right > p {
  font-size: 2.8rem;
  line-height: 4.4rem;
}

section.sub .type-con .area > div .right ul {
  display: flex;
  flex-wrap: wrap;
  gap: 1.6rem 0;
  margin-top: 4.7rem;
}

section.sub .type-con .area > div .right ul li {
  display: flex;
  align-items: center;
  gap: 1.1rem;
  width: 50%;
}

section.sub .type-con .area > div .right ul li h6 {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 1.5rem;
  background-color: #032E86;
  font-size: 2rem;
  font-weight: 700;
  color: #fff;
}

section.sub .type-con .area > div .right ul li p {
  font-size: 3rem;
}

section.sub .type-con .area > div .right .img {
  margin-top: 4.7rem;
}

section.sub .type-con .area > div .right .img img {
  width: 100%;
  height: auto;
}

@media all and (max-width:960px) {
  section.sub .type-con .area > div {
    flex-direction: column;
  }

  section.sub .type-con .area > div h4 {
    padding-bottom: 3.6rem;
  }
}


@media all and (max-width:780px) {
  section.sub .type-con {
    padding: 10rem 0;
  }

  section.sub .type-con .area > div {
    padding-top: 10rem;
    margin-top: 10rem;
  }

  section.sub .type-con .area > div h4 {
    font-size: 4.4rem;
    word-break: keep-all;
    font-weight: 700;
  }

  section.sub .type-con .area > div .right {
    width: 100%;
  }

  section.sub .type-con .area > div .right > p {
    font-size: 2.2rem;
    line-height: 1.5;
    word-break: keep-all;
  }

  section.sub .type-con .area > div .right ul {
    max-width: 50rem;
    margin: 4rem auto 0;
  }

  section.sub .type-con .area > div .right ul li {
    width: 100%;
  }

  section.sub .type-con .area > div .right ul li h6 {
    width: 2.8rem;
    height: 2.8rem;
    font-size: 2rem;
  }

  section.sub .type-con .area > div .right ul li p {
    font-size: 2.2rem;
  }
}







section.sub .ba-con {
  padding: 16rem 0;
}

section.sub .ba-con .area {
  overflow: hidden;
}

section.sub .ba-con .area .tit-wrap {
  padding-bottom: 5rem;
  text-align: center;
}

section.sub .ba-con .area .tit-wrap h4 {
  font-size: 1.4rem;
  color: #032E86;
  padding-bottom: 2.6rem;
}

section.sub .ba-con .area .tit-wrap h3 {
  font-size: 5.4rem;
  line-height: 7.4rem;
  font-weight: 300;
}

section.sub .ba-con .area .tit-wrap h3 strong {
  font-weight: 800;
  color: #032E86;
}

section.sub .ba-con .area .txt-wrap {
  position: relative;
}

section.sub .ba-con .area .txt-wrap ul li .flex-box {
  display: flex;
  justify-content: space-between;
}

section.sub .ba-con .area .txt-wrap ul li .flex-box .img {
  position: relative;
  width: calc(50% - 10px);
  border: 1px solid #ccc;
  box-sizing: border-box;
}

section.sub .ba-con .area .txt-wrap ul li .flex-box .img::before {
  display: none;
  content: '';
  position: absolute;
  top: 1rem;
  left: 1rem;
  width: 12rem;
  height: 4rem;
  color: #fff;
  font-size: 2rem;
  justify-content: center;
  align-items: center;
  font-family: "Bellefair", serif;
}

section.sub .ba-con .area .txt-wrap ul li .flex-box .img-b::before {
  content: 'BEFORE';
  background-color: #ccc;
}

section.sub .ba-con .area .txt-wrap ul li .flex-box .img-a::before {
  content: 'AFTER';
  background-color: #032E86;
}

section.sub .ba-con .area .txt-wrap ul li .flex-box .img::after {
  content: '';
  position: absolute;
  bottom: 1rem;
  right: 2rem;
  width: 15rem;
  background: url("../img/main/hd_logo.png") no-repeat center;
  background-size: contain;
  aspect-ratio: 500 / 112;
  opacity: 0.3;
}

section.sub .ba-con .area .txt-wrap ul li .flex-box .img img {
  width: 100%;
  height: auto;
}

section.sub .ba-con .area .txt-wrap ul li .info-box {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 8rem;
  background-color: #F8F8F8;
  margin-top: 20px;
}

section.sub .ba-con .area .txt-wrap ul li .info-box .cmn {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  top: 50%;
  transform: translateY(-50%);
  width: 12rem;
  height: 4rem;
}

section.sub .ba-con .area .txt-wrap ul li .info-box .cmn p {
  font-family: "Bellefair", serif;
  font-size: 2rem;
  color: #fff;
}

section.sub .ba-con .area .txt-wrap ul li .info-box .before-text {
  left: 2rem;
  background-color: #ccc;
}

section.sub .ba-con .area .txt-wrap ul li .info-box .after-text {
  right: 2rem;
  background-color: #032E86;
}

section.sub .ba-con .area .txt-wrap ul li .info-box .type-tit {
  text-align: center;
}

section.sub .ba-con .area .txt-wrap ul li .info-box .type-tit h6 {
  font-family: "Bellefair", serif;
  font-size: 1.4rem;
  color: #999;
}

section.sub .ba-con .area .txt-wrap ul li .info-box .type-tit p {
  font-size: 2.4rem;
  font-weight: 700;
  padding-top: 0.3rem;
}



section.sub .ba-con .arrow {
  position: absolute;
  top: 9.8vw;
  width: 6rem;
  height: 6rem;
  border-radius: 3rem;
  z-index: 10;
  border: 1px solid #fff;
  box-sizing: border-box;
  background-color: rgba(255, 255, 255, 0.3);
  cursor: pointer;
}

section.sub .ba-con .arrow img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  width: 1.2rem;
  height: auto;
}

section.sub .ba-con .swiper-button-prev2 {
  left: 2rem;
}

section.sub .ba-con .swiper-button-next2 {
  right: 2rem;
}

section.sub .ba-con .swiper-pagination2 {
  position: static;
  display: flex;
  justify-content: center;
  margin-top: 2rem;
}

section.sub .ba-con .swiper-pagination2 .swiper-pagination-bullet {
  opacity: 1;
  background-color: #eee;
}

section.sub .ba-con .swiper-pagination2 .swiper-pagination-bullet-active {
  background-color: #032E86;
}

@media all and (max-width:960px) {
  section.sub .ba-con .area .tit-wrap {
    text-align: center;
    padding-bottom: 3.6rem;
  }
}

@media all and (max-width:780px) {
  section.sub .ba-con {
    padding: 10rem 0;
  }

  section.sub .ba-con .area .tit-wrap h3 {
    font-size: 4.4rem;
    line-height: 1.3;
  }

  section.sub .ba-con .area .txt-wrap ul li .flex-box {
    flex-direction: column;
    gap: 10px;
  }

  section.sub .ba-con .area .txt-wrap ul li .flex-box .img {
    width: 100%;
  }

  section.sub .ba-con .area .txt-wrap ul li .flex-box .img::before {
    display: flex;
  }

  section.sub .ba-con .area .txt-wrap ul li .info-box {
    margin-top: 10px;
  }

  section.sub .ba-con .area .txt-wrap ul li .info-box .cmn {
    display: none;
  }

  section.sub .ba-con .arrow {
    display: none;
  }
}









#phil .visual-con {
  background-image: url("../img/sub/phil/visual.png");
}

#phil .intro-con {padding-bottom: 30rem;display: none;}
#phil .intro-con .area .txt-wrap {padding-bottom: 5rem;order: 1;}
#phil .intro-con .name {display: flex;align-items: end;justify-content: center;gap: 1.8rem;order: 2;}
#phil .intro-con .name p {font-size: 2rem;}
#phil .intro-con .name .sign {width: 11.8rem;}
#phil .intro-con .name .sign img {width: 100%;height: auto;}

@media all and (max-width:780px) {
  #phil .intro-con {padding-bottom: 20rem;}
  #phil .intro-con .name .sign {width: 10rem;}
}

#phil .overseas-con {padding: 20rem 0;}
#phil .overseas-con .tit-wrap {margin-bottom: 6.5rem;}
#phil .overseas-con .tit-wrap h4 {font-size: 5rem;font-weight: 700;}
#phil .overseas-con .tit-wrap p {font-size: 2.4rem;line-height: 1.5;color: #666;padding-top: 3rem;word-break: keep-all;}
#phil .overseas-con .txt-wrap .swiper-slide {position: relative;}
#phil .overseas-con .txt-wrap .swiper-slide img {width: 100%;height: auto;}
#phil .overseas-con .txt-wrap .swiper-slide .img-tag {position: absolute;bottom: 0;left: 0;width: 100%;height: 7rem;background-color: rgba(0,0,0,0.8);display: flex;align-items: center;}
#phil .overseas-con .txt-wrap .swiper-slide .img-tag p {font-size: 2rem;color: #fff;font-weight: 500;padding-left: 3rem;}

@media all and (max-width:780px) {
  #phil .overseas-con {padding: 10rem 0;}
  #phil .overseas-con .tit-wrap h4 {font-size: 4.4rem;}
  #phil .overseas-con .tit-wrap p {font-size: 2.2rem;padding-top: 2rem;line-height: 1.6;}
  #phil .overseas-con .tit-wrap p .mo-blank {display: block;height: 1.5rem;}
  #phil .overseas-con .swiper-pagination {font-size: 2rem;}
  #phil .overseas-con .txt-wrap .swiper-slide .img-tag {height: 5rem;}
  #phil .overseas-con .txt-wrap .swiper-slide .img-tag p {font-size: 1.8rem;padding-left: 2rem;}
}


#phil .news-con {padding-bottom: 16rem;}
#phil .news-con .tit-wrap {margin-bottom: 6.5rem;}
#phil .news-con .tit-wrap h4 {font-size: 5rem;font-weight: 700;}
#phil .news-con .tit-wrap p {font-size: 2.4rem;line-height: 1.5;color: #666;padding-top: 3rem;word-break: keep-all;}
#phil .news-con .txt-wrap .swiper-slide a {display: flex;align-items: center;gap: 6.5rem;}
#phil .news-con .txt-wrap .swiper-slide a .img {width: 68rem;}
#phil .news-con .txt-wrap .swiper-slide a .img img {width: 100%;height: auto;}
#phil .news-con .txt-wrap .swiper-slide a .news-info h5 {position: relative;font-size: 3rem;font-weight: 700;display: inline-block;}
#phil .news-con .txt-wrap .swiper-slide a .news-info h5 span {position: absolute;bottom: -2px;left: 0;width: 0;height: 2px;background-color: #000;transition: 0.5s;}
#phil .news-con .txt-wrap .swiper-slide:hover a .news-info h5 span {width: 100%;}
#phil .news-con .txt-wrap .swiper-slide a .news-info p {font-size: 2rem;line-height: 1.5;color: #666;padding-top: 2.3rem;word-break: keep-all;padding-right: 3rem;}
#phil .news-con .txt-wrap .swiper-slide a .news-info .date {display: block;font-size: 1.6rem;color: #666;padding-top: 4.8rem;}
#phil .news-con .swiper-pagination2 {margin-bottom: 1rem;}

@media all and (max-width:780px) { 
  #phil .news-con {padding-bottom: 10rem;}
  #phil .news-con .tit-wrap h4 {font-size: 4.4rem;}
  #phil .news-con .tit-wrap p {font-size: 2.2rem;padding-top: 2rem;line-height: 1.6;}
  #phil .news-con .tit-wrap p .mo-blank {display: block;height: 1rem;}
  #phil .news-con .swiper-pagination2 {font-size: 2rem;}
  #phil .news-con .txt-wrap .swiper-slide a {flex-direction: column;gap: 3rem;}
  #phil .news-con .txt-wrap .swiper-slide a .img {width: 100%;}
  #phil .news-con .txt-wrap .swiper-slide a .news-info h5 {line-height: 1.3;}
  #phil .news-con .txt-wrap .swiper-slide:hover a .news-info h5 span {width: 0;}
}








#sleep .visual-con {
  background-image: url("../img/sub/sleep/visual.png");
}








#sleep .rcmnd-con {
  padding: 16rem 0;
}

#sleep .rcmnd-con .area {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

#sleep .rcmnd-con .area .tit-wrap .img {
  width: 60rem;
  margin: 0 auto;
}

#sleep .rcmnd-con .area .tit-wrap .img img {
  width: 100%;
  height: auto;
}

#sleep .rcmnd-con .area .txt-wrap ul li {
  position: absolute;
  left: 50%;
}

#sleep .rcmnd-con .area .txt-wrap ul li:nth-child(odd) > * {
  text-align: right;
}

#sleep .rcmnd-con .area .txt-wrap ul li:nth-child(1) {
  top: 7rem;
  margin-left: -65rem;
}

#sleep .rcmnd-con .area .txt-wrap ul li:nth-child(2) {
  top: 7rem;
  margin-left: 33rem;
}

#sleep .rcmnd-con .area .txt-wrap ul li:nth-child(3) {
  bottom: 5rem;
  margin-left: -74rem;
}

#sleep .rcmnd-con .area .txt-wrap ul li:nth-child(4) {
  bottom: 5rem;
  margin-left: 33rem;
}

#sleep .rcmnd-con .area .txt-wrap ul li h5 {
  font-size: 2rem;
  line-height: 2.8rem;
  font-weight: 700;
  padding-bottom: 1.6rem;
}

#sleep .rcmnd-con .area .txt-wrap ul li p {
  font-size: 1.6rem;
  line-height: 2.4rem;
  color: #333;
}

@media all and (max-width:1280px) {
  #sleep .rcmnd-con .area .txt-wrap ul li:nth-child(1),
  #sleep .rcmnd-con .area .txt-wrap ul li:nth-child(3) {
    margin-left: 0;
    left: 0;
  }

  #sleep .rcmnd-con .area .txt-wrap ul li:nth-child(2),
  #sleep .rcmnd-con .area .txt-wrap ul li:nth-child(4) {
    margin-left: 0;
    left: auto;
    right: 0;
  }

  #sleep .rcmnd-con .area .txt-wrap ul li:nth-child(odd) > * {
    text-align: left;
  }

  #sleep .rcmnd-con .area .txt-wrap ul li:nth-child(even) > * {
    text-align: right;
  }
}

@media all and (max-width:960px) {
  #sleep .rcmnd-con .area {
    display: block;
  }

  #sleep .rcmnd-con .area .txt-wrap {
    margin-top: 5rem;
  }

  #sleep .rcmnd-con .area .txt-wrap ul {
    display: flex;
    flex-wrap: wrap;
  }

  #sleep .rcmnd-con .area .txt-wrap ul li {
    position: static;
    width: 50%;
    box-sizing: border-box;
  }

  #sleep .rcmnd-con .area .txt-wrap ul li:nth-child(1),
  #sleep .rcmnd-con .area .txt-wrap ul li:nth-child(2) {
    padding-bottom: 5rem;
  }

  #sleep .rcmnd-con .area .txt-wrap ul li:nth-child(3),
  #sleep .rcmnd-con .area .txt-wrap ul li:nth-child(4) {
    border-top: 1px solid #f5f5f5;
    padding-top: 5rem;
  }

  #sleep .rcmnd-con .area .txt-wrap ul li:nth-child(2),
  #sleep .rcmnd-con .area .txt-wrap ul li:nth-child(4) {
    border-left: 1px solid #f5f5f5;
  }
}

@media all and (max-width:780px) {
  #sleep .rcmnd-con {
    padding: 10rem 0;
  }

  #sleep .rcmnd-con .area .tit-wrap .img {
    width: 100%;
    max-width: 400px;
  }

  #sleep .rcmnd-con .area .txt-wrap {
    margin-top: 7rem;
  }

  #sleep .rcmnd-con .area .txt-wrap ul li {
    width: 100%;
    padding-top: 5rem;
    margin-top: 5rem;
  }

  #sleep .rcmnd-con .area .txt-wrap ul li:nth-child(1),
  #sleep .rcmnd-con .area .txt-wrap ul li:nth-child(2) {
    padding-bottom: 0;
  }

  #sleep .rcmnd-con .area .txt-wrap ul li:nth-child(1) {
    padding-top: 0;
    margin-top: 0;
  }

  #sleep .rcmnd-con .area .txt-wrap ul li:nth-child(2) {
    border-top: 1px solid #f5f5f5;
  }

  #sleep .rcmnd-con .area .txt-wrap ul li:nth-child(odd) > *,
  #sleep .rcmnd-con .area .txt-wrap ul li:nth-child(even) > * {
    text-align: center;
  }

  #sleep .rcmnd-con .area .txt-wrap ul li:nth-child(2),
  #sleep .rcmnd-con .area .txt-wrap ul li:nth-child(4) {
    border-left: 0;
  }

  #sleep .rcmnd-con .area .txt-wrap ul li h5 {
    font-size: 2.8rem;
    line-height: 1.3;
    word-break: keep-all;
  }

  #sleep .rcmnd-con .area .txt-wrap ul li p {
    font-size: 2.2rem;
    line-height: 1.5;
  }
}




















#sleep .point-con {
  background-color: #F8F8F8;
}

#sleep .point-con .area {
  padding: 16rem 0;
}

#sleep .point-con .area .tit-wrap {
  padding-bottom: 5rem;
}

#sleep .point-con .area .tit-wrap h3 {
  font-size: 5.4rem;
  line-height: 7.4rem;
  font-weight: 300;
}

#sleep .point-con .area .tit-wrap h3 strong {
  font-weight: 800;
  color: #032E86;
}

#sleep .point-con .area .txt-wrap ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 20px;
}

#sleep .point-con .area .txt-wrap ul li {
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(50% - 10px);
  height: 41.7rem;
  background-color: #fff;
  text-align: center;
  border-radius: 1rem;
}

#sleep .point-con .area .txt-wrap ul li .group .icon {
  display: block;
  width: 10rem;
  margin: 0 auto 3.8rem;
}

#sleep .point-con .area .txt-wrap ul li .group .icon img {
  width: 100%;
  height: auto;
}

#sleep .point-con .area .txt-wrap ul li .group h4 {
  font-size: 2.3rem;
  font-weight: 700;
  color: #032E86;
  padding-bottom: 2.2rem;
}

#sleep .point-con .area .txt-wrap ul li .group p {
  font-size: 1.8rem;
  line-height: 3.2rem;
  color: #1b1b1b;
}

@media all and (max-width:960px) {
  #sleep .point-con .area .tit-wrap {
    text-align: center;
  }

  #sleep .point-con .area .tit-wrap {
    padding-bottom: 3.6rem;
  }

  #sleep .point-con .area .tit-wrap h3 {
    font-size: 4.4rem;
    line-height: 1.4;
  }

  #sleep .point-con .area .txt-wrap ul li .group p {
    padding: 0 10px;
    word-break: keep-all;
  }
}


@media all and (max-width:780px) {
  #sleep .point-con .area {
    padding: 10rem 0;
  }

  #sleep .point-con .area .txt-wrap ul {
    gap: 20px 0;
  }

  #sleep .point-con .area .txt-wrap ul li {
    width: 100%;
    height: auto;
    padding: 5rem 0;
  }

  #sleep .point-con .area .txt-wrap ul li .group .icon {
    width: 6rem;
    margin-bottom: 1.6rem;
  }

  #sleep .point-con .area .txt-wrap ul li .group h4 {
    font-size: 2.8rem;
    line-height: 1.3;
  }

  #sleep .point-con .area .txt-wrap ul li .group p {
    line-height: 1.5;
    font-size: 2.2rem;
  }
}














#sleep .vs-con .area {
  padding: 16rem 0;
}

#sleep .vs-con .area .tit-wrap {
  padding-bottom: 5rem;
}

#sleep .vs-con .area .tit-wrap h3 {
  font-size: 5.4rem;
  line-height: 7.4rem;
  font-weight: 300;
}

#sleep .vs-con .area .tit-wrap h3 strong {
  font-weight: 800;
  color: #032E86;
}

#sleep .vs-con .area .txt-wrap {
  display: flex;
}

#sleep .vs-con .area .txt-wrap > div {
  width: 50%;
}

#sleep .vs-con .area .txt-wrap .vs1 h4 {
  background-color: #032E86;
  height: 11rem;
  line-height: 11rem;
  font-size: 4rem;
  color: #fff;
  text-align: center;
  font-weight: 300;
}

#sleep .vs-con .area .txt-wrap .vs1 h4 strong {
  font-weight: 700;
}

#sleep .vs-con .area .txt-wrap .vs1 ul {
  border: 5px solid #032E86;
  border-top: 0;
  box-sizing: border-box;
}

#sleep .vs-con .area .txt-wrap .vs1 ul li {
  border-top: 1px solid #e8e8e8;
  box-sizing: border-box;
  padding: 4.5rem 0;
}

#sleep .vs-con .area .txt-wrap .vs1 ul li:first-child {
  border-top: 0;
}

#sleep .vs-con .area .txt-wrap .vs1 ul li p {
  font-size: 2.8rem;
  text-align: center;
  font-weight: 700;
  color: #222;
}

#sleep .vs-con .area .txt-wrap .vs2 {
  padding-top: 2rem;
}

#sleep .vs-con .area .txt-wrap .vs2 h4 {
  background-color: #f5f5f5;
  height: 9rem;
  line-height: 9rem;
  font-size: 3rem;
  color: #555555;
  text-align: center;
  font-weight: 500;
}

#sleep .vs-con .area .txt-wrap .vs2 ul li {
  border-bottom: 1px solid #e8e8e8;
  box-sizing: border-box;
  padding: 4.75rem 0;
}

#sleep .vs-con .area .txt-wrap .vs2 ul li:first-child {
  border-top: 0;
}

#sleep .vs-con .area .txt-wrap .vs2 ul li p {
  font-size: 2.4rem;
  text-align: center;
  color: #555;
}

@media all and (max-width:960px) {
  #sleep .vs-con .area .tit-wrap {
    text-align: center;
  }

  #sleep .vs-con .area .tit-wrap {
    padding-bottom: 3.6rem;
  }

  #sleep .vs-con .area .tit-wrap h3 {
    font-size: 4.4rem;
    line-height: 1.4;
  }
}

@media all and (max-width:780px) {
  #sleep .vs-con .area {
    padding: 10rem 0;
  }

  #sleep .vs-con .area .txt-wrap .vs1 h4,
  #sleep .vs-con .area .txt-wrap .vs2 h4 {
    height: auto;
    line-height: 1.3;
    font-size: 2.5rem;
    padding: 1.5rem 0;
  }

  #sleep .vs-con .area .txt-wrap .vs1 ul {
    border: 2px solid #032E86;
  }

  #sleep .vs-con .area .txt-wrap .vs1 ul li,
  #sleep .vs-con .area .txt-wrap .vs2 ul li {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    height: 11rem;
  }

  #sleep .vs-con .area .txt-wrap .vs1 ul li p,
  #sleep .vs-con .area .txt-wrap .vs2 ul li p {
    font-size: 2rem;
    line-height: 1.5;
    word-break: keep-all;
    padding: 0 10px;
  }

  #sleep .vs-con .area .txt-wrap .vs1 h4 span {
    display: none;
  }

  #sleep .vs-con .area .txt-wrap .vs2 {
    padding-top: 0;
  }
  
}


























#implant .visual-con {
  background-image: url("../img/sub/implant/visual.png");
}




#implant .type-con .area .type1 .img img {
  width: 33rem;
}

@media all and (max-width:780px) {
  #implant .type-con .area .type1 .img img {
    width: 28rem;
    margin: 0 auto;
    display: block;
  }
}




#implant .implant-con {
  position: relative;
  padding-top: 16rem;
  background-color: #F8F8F8;
}

#implant .implant-con > * {
  padding-left: 16rem;
}

#implant .implant-con .tit-wrap {
  padding-bottom: 8.5rem;
}

#implant .implant-con .tit-wrap h4 {
  font-size: 1.4rem;
  color: #032E86;
  padding-bottom: 2.6rem;
}

#implant .implant-con .tit-wrap h3 {
  font-size: 5.4rem;
  line-height: 7.4rem;
  font-weight: 300;
}

#implant .implant-con .tit-wrap h3 strong {
  font-weight: 800;
  color: #032E86;
}

#implant .implant-con .txt-wrap {
  position: relative;
  padding-bottom: 22.6rem;
}

#implant .implant-con .txt-wrap ul {
  display: flex;
}

#implant .implant-con .txt-wrap ul li .img {
  margin-bottom: 5.8rem;
}

#implant .implant-con .txt-wrap ul li .img img {
  width: 100%;
  height: auto;
}

#implant .implant-con .txt-wrap ul li .info-group {
  display: flex;
  align-items: start;
}

#implant .implant-con .txt-wrap ul li .info-group .num {
  font-size: 6rem;
  padding-right: 3.7rem;
}

#implant .implant-con .txt-wrap ul li .info-group .info-txt {
  padding-top: 0.5rem;
}

#implant .implant-con .txt-wrap ul li .info-group .info-txt h5 {
  font-size: 2.4rem;
  font-weight: 700;
  padding-bottom: 2.5rem;
}

#implant .implant-con .txt-wrap ul li .info-group .info-txt p {
  font-size: 1.8rem;
  line-height: 2.8rem;
  color: #2C2C2C;
}

@media all and (max-width:960px) {
  #implant .implant-con > * {
    padding-left: 0;
  }

  #implant .implant-con .tit-wrap {
    padding-bottom: 3.6rem;
    text-align: center;
  }

  #implant .implant-con .txt-wrap ul {
    gap: 0;
  }

  #implant .implant-con .txt-wrap ul li .img img {
    width: 100%;
  }

  #implant .implant-con .txt-wrap ul li .info-group .info-txt h5 {
    font-size: 2.8rem;
    line-height: 1.3;
  }

  #implant .implant-con .txt-wrap ul li .info-group .info-txt p {
    font-size: 2.2rem;
    line-height: 1.5;
  }
}

@media all and (max-width:780px) {
  #implant .implant-con {
    padding-top: 10rem;
  }

  #implant .implant-con .tit-wrap h3 {
    font-size: 4.4rem;
    line-height: 1.3;
    padding: 0 20px;
    word-break: keep-all;
  }

  #implant .implant-con .txt-wrap {
    padding-bottom: 10rem;
  }
}

@media all and (max-width:425px) {
  #implant .implant-con .tit-wrap h3 {
    word-break: keep-all;
  }

  #implant .implant-con .tit-wrap h3 br {
    display: none;
  }

  #implant .implant-con .txt-wrap ul li .img {
    margin-bottom: 3rem;
  }

  #implant .implant-con .txt-wrap ul li .info-group {
    display: block;
    padding: 0 10px;
  }

  #implant .implant-con .txt-wrap ul li .info-group .num {
    font-size: 5rem;
    padding-right: 0;
  }

  #implant .implant-con .txt-wrap ul li .info-group .info-txt h5 {
    padding-bottom: 2rem;
    word-break: keep-all;
  }

  #implant .implant-con .txt-wrap ul li .info-group .info-txt p {
    word-break: keep-all;
  }
}

























#esthetic .visual-con {
  background-image: url("../img/sub/esthetic/visual.png");
}







#general .visual-con {
  background-image: url("../img/sub/general/visual.png");
}






#contact .visual-con {
  background-image: url("../img/sub/contact/visual.png");
}




#contact .info-con {
  margin-bottom: 19.8rem;
}

#contact .info-con .area .tit-wrap {
  margin-bottom: 9.2rem;
}

#contact .info-con .area .tit-wrap h4 {
  font-size: 5rem;
  font-weight: 700;
}

#contact .info-con .area .txt-wrap {
  display: flex;
  justify-content: space-between;
}

#contact .info-con .area .txt-wrap > div {
  display: flex;
  width: calc(50% - 3rem);
  border-top: 1px solid #3c3c3c;
  padding-top: 3.8rem;
}

#contact .info-con .area .txt-wrap > div h5 {
  font-size: 2.2rem;
  font-weight: 700;
  margin-right: 10.5rem;
}

#contact .info-con .area .txt-wrap .time .time-table ul {
  margin-bottom: 1.9rem;
}

#contact .info-con .area .txt-wrap .time .time-table ul li {
  display: flex;
  margin-top: 1.9rem;
}

#contact .info-con .area .txt-wrap .time .time-table ul li:first-child {
  margin-top: 0;
}

#contact .info-con .area .txt-wrap .time .time-table ul li h6 {
  font-size: 1.8rem;
  color: #3C3C3C;
  width: 8.4rem;
}

#contact .info-con .area .txt-wrap .time .time-table ul li p {
  position: relative;
  font-size: 1.8rem;
  font-weight: 700;
}

#contact .info-con .area .txt-wrap .time .time-table ul li.night p::after {
  content: '';
  position: absolute;
  top: 50%;
  right: -2rem;
  transform: translateY(-50%);
  background: url("../img/main/contact_con_night.png") no-repeat center;
  background-size: contain;
  width: 1.8rem;
  height: 1.8rem;
}

#contact .info-con .area .txt-wrap .time .time-table > span {
  display: block;
  font-size: 1.2rem;
  font-weight: 500;
  color: #999;
}

#contact .info-con .area .txt-wrap .tel p {
  font-size: 5.4rem;
  font-weight: 700;
  line-height: 1;
  margin-top: -0.6rem;
}

@media all and (max-width:960px) {
  #contact .info-con .area .tit-wrap {
    margin-bottom: 5rem;
  }

  #contact .info-con .area .txt-wrap {
    flex-wrap: wrap;
    gap: 5rem 0;
  }

  #contact .info-con .area .txt-wrap > div {
    width: 100%;
    border-top: 1px solid #ddd;
  }

  #contact .info-con .area .txt-wrap > div h5 {
    width: 15rem;
  }
}

@media all and (max-width:780px) {
  #contact .info-con {
    margin-bottom: 10rem;
  }

  #contact .info-con .area .tit-wrap {
    margin-bottom: 3.6rem;
  }

  #contact .info-con .area .tit-wrap h4 {
    font-size: 4.4rem;
  }

  #contact .info-con .area .txt-wrap > div h5 {
    display: none;
  }

  #contact .info-con .area .txt-wrap .time .time-table ul li h6 {
    font-size: 2.6rem;
    width: 14rem;
  }

  #contact .info-con .area .txt-wrap .time .time-table ul li p {
    font-size: 2.6rem;
  }

  #contact .info-con .area .txt-wrap .time .time-table ul li.night p::after {
    right: -3rem;
    width: 2.2rem;
    height: 2.2rem;
  }

  #contact .info-con .area .txt-wrap .time .time-table > span {
    font-size: 2rem;
  }

  #contact .info-con .area .txt-wrap .tel p {
    font-size: 5rem;
  }
}







#contact .interior-con {
  margin-bottom: 19.8rem;
}

#contact .interior-con .area {
  position: relative;
}

#contact .interior-con .area .tit-wrap {
  margin-bottom: 6.5rem;
}

#contact .interior-con .area .tit-wrap h4 {
  font-size: 5rem;
  font-weight: 700;
}

#contact .interior-con .area .txt-wrap ul {
  display: flex;
}

#contact .interior-con .area .txt-wrap ul li img {
  width: 100%;
  height: auto;
}

.swiper-pagination {
  position: static !important;
  text-align: left !important;
  margin-bottom: 1rem;
}

.swiper-pagination-fraction {
  font-size: 1.5rem;
  color: #B1B1B1;
}

.swiper-pagination-fraction .swiper-pagination-current {
  color: #000;
  font-weight: 600;
}

@media all and (max-width:780px) {
  #contact .interior-con {
    margin-bottom: 10rem;
  }

  #contact .interior-con .area .tit-wrap {
    margin-bottom: 3.6rem;
  }

  #contact .interior-con .area .tit-wrap h4 {
    font-size: 4.4rem;
  }
}






#contact .map-con {
  padding-bottom: 16rem;
}

#contact .map-con .area .tit-wrap {
  margin-bottom: 9.2rem;
}

#contact .map-con .area .tit-wrap h4 {
  font-size: 5rem;
  font-weight: 700;
}

#contact .map-con .area .txt-wrap .address {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

#contact .map-con .area .txt-wrap .address p {
  display: flex;
  align-items: center;
  gap: 1.3rem;
  font-size: 2.7rem;
  font-weight: 700;
  line-height: 1;
}

#contact .map-con .area .txt-wrap .address p .icon {
  width: 2rem;
  height: 2.6rem;
}

#contact .map-con .area .txt-wrap .address p .icon img {
  width: 100%;
  height: auto;
}

#contact .map-con .area .txt-wrap .address .copy-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.6rem;
  width: 10.1rem;
  height: 3rem;
  border-radius: 1.5rem;
  background-color: #032e86;
  font-size: 1.5rem;
  color: #fff;
  font-weight: 600;
}

#contact .map-con .area .txt-wrap .address .copy-btn .icon img {
  width: 1.3rem;
  height: auto;
}

#contact .map-con .area .txt-wrap .map-group {
  position: relative;
  width: 100%;
  height: 50rem;
  background-color: #aaa;
  margin: 5rem 0;
}

#contact .map-con .area .txt-wrap .traffic {
  display: flex;
  align-items: start;
  justify-content: space-between;
}

#contact .map-con .area .txt-wrap .traffic .parking h6 {
  font-size: 2.2rem;
  font-weight: 700;
  padding-bottom: 2.6rem;
}

#contact .map-con .area .txt-wrap .traffic .parking .p-wrap {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

#contact .map-con .area .txt-wrap .traffic .parking .p-wrap p {
  font-size: 1.7rem;
  color: #3c3c3c;
}

#contact .map-con .area .txt-wrap .traffic .navi ul {
  display: flex;
  gap: 1.5rem;
}

#contact .map-con .area .txt-wrap .traffic .navi ul li {
  width: 22.9rem;
}

#contact .map-con .area .txt-wrap .traffic .navi ul li a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2.8rem;
  width: 100%;
  height: 4.9rem;
  border-radius: 5rem;
  border: 1px solid rgba(60,60,60,0.4);
}


#contact .map-con .area .txt-wrap .traffic .navi ul li a p {
  font-size: 1.6rem;
  color: #757575;
}

#contact .map-con .area .txt-wrap .traffic .navi ul li a .icon img {
  width: 1.4rem;
  height: auto;
}

@media all and (max-width:960px) {
  #contact .map-con .area .tit-wrap {
    margin-bottom: 5rem;
  }

  #contact .map-con .area .txt-wrap .address {
    display: block;
  }

  #contact .map-con .area .txt-wrap .address p {
    font-size: 2.4rem;
    align-items: start;
    word-break: keep-all;
    line-height: 1.3;
  }

  #contact .map-con .area .txt-wrap .address p .icon {
    width: 1.6rem;
  }

  #contact .map-con .area .txt-wrap .address p .adrs-txt {
    width: calc(100% - 2.9rem);
  }

  #contact .map-con .area .txt-wrap .address .copy-btn {
    margin-top: 2rem;
    font-size: 2rem;
    width: 100%;
    height: 5rem;
    border-radius: 3rem;
    font-size: 2rem;
    gap: 1rem;
  }

  #contact .map-con .area .txt-wrap .address .copy-btn .icon img {
    width: 1.8rem;
  }


  #contact .map-con .area .txt-wrap .traffic {
    display: block;
  }

  #contact .map-con .area .txt-wrap .traffic .navi {
    margin-top: 2rem;
  }
}

@media all and (max-width:780px) {
  #contact .map-con {
    padding-bottom: 10rem;
  }

  #contact .map-con .area .tit-wrap {
    margin-bottom: 3.6rem;
  }

  #contact .map-con .area .tit-wrap h4 {
    font-size: 4.4rem;
  }

  #contact .map-con .area .txt-wrap .traffic .parking h6 {
    font-size: 3.2rem;
  }

  #contact .map-con .area .txt-wrap .traffic .parking .p-wrap p {
    font-size: 2.4rem;
    color: #222;
    font-weight: 500;
  }

  #contact .map-con .area .txt-wrap .traffic .parking .p-wrap p span {
    font-size: 2rem;
    color: #666;
    padding-left: 2.6rem;
  }

  #contact .map-con .area .txt-wrap .traffic .navi {
    margin-top: 5rem;
  }

  #contact .map-con .area .txt-wrap .traffic .navi ul {
    flex-wrap: wrap;
  }

  #contact .map-con .area .txt-wrap .traffic .navi ul li {
    width: calc(50% - 10px);
  }

  #contact .map-con .area .txt-wrap .traffic .navi ul li a {
    justify-content: space-between;
    gap: 0;
    height: 6.5rem;
  }

  #contact .map-con .area .txt-wrap .traffic .navi ul li a p {
    font-size: 2rem;
    padding-left: 3rem;
  }

  #contact .map-con .area .txt-wrap .traffic .navi ul li a .icon {
    padding-right: 3rem;
  }

  #contact .map-con .area .txt-wrap .traffic .navi ul li a .icon img {
    width: 2rem;
  }

  #contact .map-con .area .txt-wrap .address p {
    gap: 1rem;
  }
}


@media all and (max-width:425px) {
  #contact .map-con .area .txt-wrap .traffic .parking .p-wrap {
    display: block;
  }

  #contact .map-con .area .txt-wrap .traffic .parking .p-wrap p:first-child {
    padding-bottom: 1rem;
  }
}


















