/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
a {
	text-decoration: none;
	color: inherit;
}
button {
	background: none;
	border: 0;
	padding: 0;
	color: inherit;
	cursor: pointer;
}

/* 커스텀 */
html {
	font-size: 62.5%;
    overflow-x: hidden;
}
body {
	font-family: "Pretendard Variable", Pretendard, sans-serif; 
	line-height: 1.4; 
	color: #333; 
	word-break: keep-all;
    overflow-x: hidden;
}
:root {
	--maincolor: #006dc1; 
	--subcolor: #0056a3; 
	--pointcolor: #a7d5ff;
	--base: #f2f4f6;
	--gray: #acb4bc;
	--gray-border: rgba(173, 181, 189, 0.3);
	--shadow: rgba(0, 61, 108, 0.08);
}
p {
	font-size: 1.6rem; 
	color: #646470;
}
.d-none {
	display: none;
}
.flex-center {
	display: flex; 
	align-items: center; 
	justify-content: center;
}
.flex-i {
	display: flex;
	align-items: center;
	gap: 1rem;
}
.bold {
	font-weight: bold;
}
.inner {
	width: 1320px; 
	margin: 0 auto; 
	padding: 16rem 20px;
    box-sizing: border-box;
}
i {padding-top: 2px;}
.sec-cate {
	font-size: 2.4rem; font-weight: 700;
	color: var(--maincolor);
	margin-bottom: 2rem;
}
.sec-title {
	font-size: 4.6rem; font-weight: 700;
	margin-bottom: 2rem;
	color: #333;
}
.sec-h-wrap {
	margin-bottom: 4rem;
}
.main-btn {
	background: var(--maincolor);
	font-size: 1.6rem; font-weight: 700;
	padding: 1.4rem 2.6rem;
	border-radius: 100px;
	color: white;
	transition: all .2s ease-in-out;
}
.main-btn:hover {
	background: var(--subcolor);
}

/* 헤더 */
#header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0 4%;
	box-sizing: border-box;
	width: 100%;
    height: 8rem;
	border-bottom: 1px solid #ffffff50;
	color: #fff;
	position: fixed;
	z-index: 100;
	transition: all .3s ease-in-out;

	.logo img {
		filter: brightness(0) invert(1);
        width: 85%;
	}
	.nav-floor {
		background: rgba(242, 244, 246, 0.59);
	}
}
#header.active {
	background: #fff;
	box-shadow: 0 4px 12px var(--shadow);
	color: inherit;

	.logo img {
		filter: none;
	}
	.nav-floor {
		background: var(--base);
	}
}
#header nav {
    padding: 0 2rem;
}
.hd-nav-list {
	display: flex; 
	gap: 2rem; 
	font-size: 15px;
}
.nav-floor {
	font-size: 13px;
	color: var(--subcolor);
	background: var(--base);
	border-radius: 50px;
	margin-left: 4px;
	padding: 4px;
}
.hd-nav-list li {
	position: relative;
	transition: all .2s ease-in-out;
}
.hd-nav-list li:hover {
	color: var(--subcolor);
}
.hd-sub-menu {
	position: fixed;
	top: 60px;
	background: var(--maincolor);
	padding: 0px 30px 20px 30px;
	color: #ffffffcc;
	border-radius: 10px;
	visibility: hidden;
	opacity: 0;
	transition: all .2s ease-in-out;
	transform: translateY(-10px);

	&.open {
		opacity: 1;
		visibility: visible;
		transform: translateY(0px);
	}
}
.hd-sub-menu li {
	padding-top: 20px;
}
.hd-sub-menu li:hover {
	color: #fff;
}

.toggle-menu {
	background: var(--maincolor);
	border: 0;
	cursor: pointer;
	display: inline-block;
	height: 4.8rem;
	width: 4.8rem;
	border-radius: 100px;
	padding: 0;
	pointer-events: initial;
	position: relative;
	vertical-align: middle;
  
	span {
	  background-color: #fff;
	  content: "";
	  display: block;
	  height: 2px;
	  position: absolute;
	  left: calc(50% - 10px);
	  top: calc(50% - 1px);
	  transform-origin: 50% 50%;
	  transition: background-color 0.2s ease-in-out, top 0.2s 0.2s ease-out,  transform 0.2s linear;
	  width: 20px;
  
	  &:before, &:after {
		background-color: #fff;
		content: "";
		display: block;
		height: 2px;
		position: absolute;
		transform-origin: 50% 50%;
		transition: background-color 0.2s ease-in-out, top 0.2s 0.2s ease-out,  transform 0.2s linear;
		width: 20px;
	  }
  
	  &:before {
		top: 7px;
	  }
  
	  &:after {
		top: -7px;
	  }
	}
  
	&.active {
	  span {
		background-color: transparent;
		transition: background 0.2s ease-out;
  
		&:before, &:after {
		  transition: top 0.2s ease-out, transform 0.2s 0.2s ease-out;
		}
  
		&:before {
		  top: 0;
		  transform: rotate3d(0, 0, 1, -45deg);
		}
  
		&:after {
		  top: 0;
		  transform: rotate3d(0, 0, 1, 45deg);
		}
	  }
	}
  }
#menu-all {
	background: #fff;
	box-shadow: -6px 0 12px var(--shadow);
	height: 100vh;
	width: 85%;
	max-width: 480px;
	right: 0;
	opacity: 0;
	overflow: auto;
	position: fixed;
	top: 8rem;
	z-index: 11;
	transition: all 0.3s ease-in-out;
	visibility: hidden;
	padding: 1rem 4rem;
	box-sizing: border-box;
	transform: translateX(40px);
  
	&.open {
	  opacity: 1;
	  visibility: visible;
	  transform: translateX(0px);
  
	  @for $i from 1 through 10 {
		li:nth-child(#{$i}) {
		  animation-delay: $i*0.1s;
		}
	  }
  
	  li {
		animation-duration: 1.0s;
		animation-fill-mode: both;
		animation-name: fadeInUp;
	  }
	}
  
	ul {
	  &:hover {
		a {
		  opacity: .7;
		}
	  }
  
	  a {
		transition: opacity 0.3s ease-in-out;
		&:hover {
		  opacity: 1;
		  color: var(--subcolor);
		}
	  }
	}
  
	#all-nav {
	  position: relative;
	  top: 50%;
	  transform: translateY(-50%);
  
	  ul {
		list-style: none;
		margin: 0;
		padding: 0;
	  }
  
	  a {
		display: block;
		font-size: 2rem;
		font-weight: 600;
		padding: 1rem 1rem;
		text-decoration: none;
		&:first {
		  padding-top: 0;
		}
	  }
	}
  }

.all-nav-list > li {
	font-size: 2rem;
	font-weight: 600;
	padding: 2rem 0;
	border-bottom: 1px solid var(--gray-border);
	position: relative;
	width: 100%;
}
.all-nav-list > li a {
	display: block;
	width: 100%;
}
.all-nav-list > li .nav-floor {
	font-size: 14px;
	font-weight: 400;
	margin-left: 6px;
}
.all-sub-child {
	display: flex;
	cursor: pointer;
}
.all-nav-list .sub-menu {
	font-size: 16px;
	font-weight: 400;
	line-height: 200%;
	margin-top: 1rem;
	opacity: 0;
	visibility: hidden;
	transition: all .2s ease-in-out;
	transform: translateY(-10px);
	position: absolute;

	&.open {
		opacity: 1;
		transform: translateY(0px);
		visibility: visible;
	}
}
.all-sub-menu-wrap {
	transition: all .3s;
}
.all-sub-menu-wrap.active {
	padding-bottom: 218px;
}
.all-sub-menu-btn {
	font-weight: 400;
	color: var(--gray);
	transition: all .3s ease-in-out;
	padding: 2px;
}
.all-sub-menu-btn.active {
	transform: rotate(-180deg);
}
.all-nav-footer {
	display: flex; 
	gap: 3rem;
	font-size: 14px;
	font-weight: 600;
	color: var(--gray);
	padding: 2rem 0;
}
#menu-all > nav {
	display: flex;
	justify-content: space-between;
	flex-direction: column;
	height: calc(100% - 80px);
	overflow-y: auto;
}

/* 메인-비주얼 */
#main-visual {
	width: 100%; 
    height: 100vh; 
    min-height: 88rem;
	position: relative;
	overflow: hidden;
	text-align: center;
}
.bg-video {
	width: 100%; 
    height: 100%;
	position: absolute; 
    z-index: -10;
	top: 0; left: 0;
    
    video {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
}
.bg-video-over {
	width: 100%; height: 100%;
	position: absolute; z-index: -1;
	background: var(--subcolor);
	opacity: .4;
}
.main-v-inner {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -46%);
    width: 100%;
    max-width: 1320px;
    padding: 0 20px;
    box-sizing: border-box;
}
.main-v-logo img {
    max-width: 72rem;
	margin-bottom: 6rem;
	filter: drop-shadow(2px 6px 12px var(--shadow));
}
.main-v-p {
	font-size: 2.4rem; font-weight: 600;
	color: white;
	margin-bottom: 3rem;
	text-shadow: 0 0 4px var(--shadow);
}
.main-v-services {
    overflow: hidden;
    margin: 0 auto;
    gap: 2rem;
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    overflow-x: auto;
    width: fit-content;
}
.main-v-services li {
    max-width: 20rem;
    max-height: 20rem;
    width: calc(100% - 2rem / 6);
    aspect-ratio: 1;
	background: #fff;
	padding: 3rem;
    box-sizing: border-box;
	border-radius: 2rem;
	box-shadow: 2 4px 12px var(--shadow);
	transition: all .2s ease-in-out;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;

    img {
        max-width: 80%;
        height: auto;
        object-fit: contain;
    }

    p {
        font-size: 2rem;
        font-weight: 600;
        color: #333;
    }
}
.main-v-services li:hover {
	transform: translateY(-10px);
}

/* 메인-소개 */
#about .main-btn {
	margin-top: 4rem;
}
#about .inner {
	padding-bottom: 8rem;
}
.about-flex {
	display: flex;
	gap: 4rem;
	align-items: center;
}
.about-flex > * {
	width: 50%;
}
.main-img-wrap1 {
	height: 46rem; 
	width: 50%;
	background: url('../img/main-img1.jpg') no-repeat top / cover;
	border-top-left-radius: 300px;
	border-bottom-left-radius: 300px;
	position: absolute;
	right: 0;
}
.main-img-wrap2 {
	width: calc(100% - 32rem);
	height: 46rem;
	background: url('../img/main-img2.jpg') no-repeat center / cover;
	border-top-right-radius: 300px;
	border-bottom-right-radius: 300px;
	margin-bottom: 16rem;
}
.about-flex p {width: 90%;}
#about {will-change: transform;}

/* 메인-층별 */
#floors {
	background: url('../img/main-bg1.jpg') no-repeat bottom / cover;
}
#floors .sec-h-wrap {
	text-align: center;
}
.floor-list {
	border-top: 3px solid var(--gray);
	border-bottom: 2px solid var(--gray);
}
.floor-list li {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 4rem;
	box-sizing: border-box;
	border-bottom: 1px solid var(--gray-border);
}
.floor-list li > * {
	width: 50%;
}
.floor-list li > h4 {
	font-size: 12rem;
	font-weight: 600;
	color: var(--subcolor);
}
.floor-list li p > span {
	display: block;
	font-size: 2.4rem;
	font-weight: 700;
	color: #333;
	margin-bottom: 6px;
}
.floor-list li p:not(:last-child) {
	margin-bottom: 2rem;
}

/* 메인-정보 */
#clinic-info {
	background: var(--base);
	border-top-left-radius: 30rem;
}
.info-item-wrap {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 4rem;
}
.info-item {
	background: #fff;
	border-radius: 2rem;
	padding: 4rem;
	box-shadow: 2px 4px 14px var(--shadow);
    min-height: 42rem;
    display: flex;
    flex-direction: column;
}
.info-item h4 {
	font-size: 2.4rem; font-weight: 700;
	margin-bottom: 3rem;
	color: var(--subcolor);
}
.info-item p {
	font-size: 3.6rem; 
    font-weight: 700;
	margin: 1rem 0;
	color: #333;
}
.info-item ul {
	font-size: 1.8rem;
	color: #646470;
}
.info-item ul li {
	margin-bottom: 4px;
}
.info-item-img {
	margin-top: auto;
	text-align: right;
}
.info-item-img img {
	border: 4px solid var(--pointcolor);
	border-radius: 100px;
	background: #fff;
}
.info-item:first-child {
	background: var(--maincolor);
	/* box-shadow: none; */
}
.info-item:first-child * {
	color: #fff;
}
.blog-btn i {
	transition: all .2s ease-in-out;
}
.blog-btn:hover i {
	margin-left: 10px;
}

/* 오시는길 */
#directions .flex {
	display: flex;
	justify-content: space-between;
}
.map-btn {
	display: flex;
	gap: 10px;
	max-height: 52px;
}
.directions-wrap {
	display: flex;
	justify-content: space-between;
	gap: 4rem;
}
.direction-info {
	width: 50%;
}
#directions .direction-map {
	width: 50%;
}
.direction-info li {
	width: 86%;
	padding: 3rem;
}
#directions .direction-info li:not(:first-child) {
	border-top: 1px solid var(--gray-border);
}
.direction-info li > h4 {
	font-size: 2.4rem;
	font-weight: 700;
	margin-bottom: 1rem;
}
.direction-info li > h4 i {
	color: var(--subcolor);
	font-size: 2.8rem;
	font-weight: 500;
}
.direction-info li p {
	line-height: 180%;
}
.root_daum_roughmap .wrap_controllers, 
.root_daum_roughmap .cont .section {
	display: none;
}
.root_daum_roughmap {
	width: 100% !important;
	border-radius: 2rem;
}
#directions .root_daum_roughmap .wrap_map {
    width: 100% !important;
	aspect-ratio: 1 !important;
}
.wrap_map  {
    width: 100%; position: relative;
}
.wrap_map iframe {
    position: absolute; 
    top: 0; left: 0; 
    width: 100% !important; 
    height: 100% !important; 
    border: 0;
}

/* 푸터 */
#scrollTopBtn {
    position: fixed;
    bottom: 4%;
    right: 3%;
    width: 6rem;
    height: 6rem;
    background: #333;
    border-radius: 100px;
    border: 2px solid var(--base);
    cursor: pointer;
    z-index: 1000;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;

    svg {
        color: var(--base);
        transform: rotate(90deg);
    }
}
@keyframes bounceUp {
  0% {
    transform: translateY(0);
  }
  30% {
    transform: translateY(-10px);
  }
  60% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(0);
  }
}

#scrollTopBtn:hover {
  animation: bounceUp 0.6s ease-in-out;
}

#scrollTopBtn.show {
    opacity: 1;
    pointer-events: auto;
}

footer {
	background: #333;
	color: #fff;
	font-size: 14px;
}
.ft-wrap {
	max-width: 1320px; 
	margin: 0 auto; 
	padding: 4rem 20px;
    box-sizing: border-box;
	display: flex;
	justify-content: space-between;
}
.ft-info img {
	filter: brightness(0) invert(1);
	height: 40px;
	margin-bottom: 2rem;
}
.ft-info {
	width: 50%;
}
.ft-info-list li {
	display: inline-block;
	opacity: .7;
	margin: .6rem .6rem 0 0;
}
.ft-menu {
	display: flex;
	gap: 2rem;
	font-weight: 700;
}
.ft-copy-wrap {
	border-top: 1px solid var(--gray);
	padding: 20px 0;
}
footer p {
	max-width: 1320px;
    padding: 0 20px;
    box-sizing: border-box;
	margin: 0 auto;
	font-size: 14px;
	font-weight: 400;
	color: #fff;
	opacity: .7;
}

/* 서브 */
.sub-detail-wrap {
	padding-top: 2rem;
}
#sub-visual {
	min-height: 34rem;
	padding-top: 8rem;
	background-attachment: fixed;
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
.sub-visual-over {
	width: 100%;
	height: 100%;
	background: #333;
	opacity: .5;
	position: absolute;
	top: 0;
	left: 0;
}
.page-nav {
	display: flex;
	align-items: center;
	gap: 1rem;
	font-size: 14px;
	margin-bottom: 2rem;
}
.page-nav i {
	font-size: 20px;
	opacity: .6;
}
.page-nav i:first-child {
	opacity: 1;
}
#sub-visual * {
	color: #fff;
	text-shadow: 0px 2px 6px var(--shadow);
}
#sub-visual *:not(:first-child) {
	z-index: 10;
}
#sub-visual h2 {
	font-size: 6rem;
	font-weight: bold;
	margin-bottom: 1rem;
}
#sub-visual p {
	font-size: 1.8rem;
	font-weight: 500;
}

#sub-contact {
	background: url('../img/sub-contact-bg.jpg') no-repeat center / cover;
	text-align: center;
	padding: 10rem 0;
	border-top-left-radius: 20rem;
}
#sub-contact * {
	color: #fff;
}
#sub-contact h3 {
	font-size: 6rem;
	font-weight: bold;
	margin-bottom: 1rem;
}
#sub-contact p {
	font-size: 2rem;
}
.contact-depart {
	background: var(--pointcolor);
	color: var(--subcolor) !important;
	font-weight: bold;
	padding: 4px 10px;
	border-radius: 100px;
}

/* 서브-더365의원 */
.about-visual {
	background: url('../img/main-img2.jpg') no-repeat bottom / cover;
}
#about-detail {
	background: url('../img/main-bg1.jpg') no-repeat top / cover;
	border-bottom-left-radius: 300px;
	border-bottom-right-radius: 300px;
	text-align: center;
}
#about-detail .sub-detail-wrap p {
	max-width: 62rem;
	margin: 0 auto;
}
#facility {
	text-align: center;
}
#about-services {
	background: var(--maincolor);
}
#about-services .sec-h-wrap * {
	color: #fff;
}
.mySwiper2 {
	border-radius: 2rem;
	aspect-ratio: 16 / 9;

	.swiper-slide img {
		display: block;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.swiper-button-next, .swiper-button-prev {
		color: #fff;
		padding: 1rem;
		text-shadow: 0px 2px 6px rgba(0, 0, 0, 0.3);
	}
}
.mySwiper {
	margin-top: 2rem;

	.swiper-slide {
		aspect-ratio: 1;
		border-radius: 1rem;
		overflow: hidden;
		cursor: pointer;

		img {
			display: block;
			width: 100%;
			height: 100%;
			object-fit: cover;
			transform: scale(1.2);
			transition: transform 0.5s ease,opacity 0.5s ease;
		}
	}
}
.mySwiper .swiper-slide:not(.swiper-slide-thumb-active) img{
  transform: scale(1);
  opacity: 0.5
}

/* 서브-일반진료 */
.general-visual {
	background: url('../img/sub2-hero.jpg') no-repeat bottom / cover;
}
.sub-depart-list {
	display: flex;
	gap: 4rem;
}
.sub-depart-list.sdl-re {
	flex-direction: row-reverse;
}
.sub-depart-list:not(:last-child) {
	margin-bottom: 8rem;
}
.sub-depart-list > * {
	width: 50%;
	min-height: 38rem;
	max-height: 42rem;
}
.sub-depart-list-img {
	border-radius: 500px;
	overflow: hidden;
}
.sub-depart-list-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.sub-depart-list-text {
	padding: 0 4rem;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.sub-depart-cate {
	font-size: 1.6rem;
	color: var(--gray);
	margin-bottom: 2rem;
}
.sub-depart-cate span {
	color: var(--subcolor);
}

/* 서브-중점진료 */
.special-visual {
	background: url('../img/sub3-hero.jpg') no-repeat bottom / cover;
}
.sub-depart-list-plus {
	margin-top: 2rem;
	font-size: 1.6rem;

	h4 {
		font-weight: bold;
		margin-bottom: 2px;
		& span {color: var(--subcolor);}
	}
	button {
		font-size: 14px;
		border-bottom: 1px solid;
		padding-bottom: 2px;
		font-weight: 600;
		margin-top: 1rem;
	}
}
.sdlp1 {
	padding: 2rem;
	background: var(--base);
	border-radius: 1rem;
}

.popup {
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -40%);
	z-index: 101;
	width: 85%;
	max-width: 1320px;
	/* max-height: 720px; */
	overflow: hidden;
	border-radius: 3rem;
	box-shadow: 2px 4px 20px var(--shadow);
	background: #fff;
	display: flex;
	flex-direction: column;
	visibility: hidden;
	opacity: 0;
	transition: all .3s ease-in-out;

	.popup-hd {
	display: flex;
	justify-content: space-between;
	align-items: center;
	border-bottom: 1px solid var(--gray-border);
	font-size: 2rem;
	font-weight: bold;
	padding: 1rem 2rem;
	box-sizing: border-box;
	flex-shrink: 0;

		.popup-close {
			font-size: 2.4rem;
			color: var(--gray);
			padding: 1rem;
			box-sizing: border-box;
		}
	}

	.popup-wrap {
		flex: 1;
		overflow: auto;
		padding: 2rem;
		box-sizing: border-box;
		width: 100%;
		aspect-ratio: 16/9;

		img {
			width: 100%;
			height: auto;
		}
        iframe {
            width: 100%;
            height: 99%;
        }
	}
}
.popup.on {
	visibility: visible;
	opacity: 1;
	transform: translate(-50%, -50%);
}
body.no-scroll {
	overflow: hidden;
}

/* 서브-도수클리닉 */
.manual-visual {
	background: url('../img/sub4-hero.jpg') no-repeat bottom / cover;
}
#sub-clinic-info > .inner {
	display: flex;
	gap: 4rem;
	align-items: center;
}
#sub-clinic-info > .inner > * {
	width: 50%;
}
.sub-clinic-info-text {
	padding-right: 4rem;
	box-sizing: border-box;
}
.sub-clinic-info-list {
	margin-top: 3rem;
	border-top: 1px solid var(--gray-border);
	padding: 3rem 2rem;
	color: #333;
}
.sub-clinic-info-list p {
	font-size: 2rem;
	font-weight: bold;
	margin-bottom: 1rem;
}
.sub-clinic-info-list li {
	font-size: 1.6rem;
	line-height: 220%;
	position: relative;
	padding-left: 30px;
}
.sub-clinic-info-list li::before {
	content: '';
	width: 20px;
	height: 20px;
	background: url('../img/list-style.png') no-repeat center / cover;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}
.sub-clinic-info-img {
	aspect-ratio: 1;
	border-radius: 3rem;
	overflow: hidden;

    img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
}

#sub-clinic-pc {
	background: linear-gradient(to bottom, #f2f4f6, #fff);
}
#sub-clinic-pc .sec-h-wrap {
	text-align: center;
}
.sub-clinic-pc-list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 4rem;
}
.sub-clinic-pc-list li {
	background: #fff;
	box-shadow: 2px 4px 10px var(--shadow);
	border-radius: 2rem;
	padding: 4rem;
}
.scp-list-title {
	font-size: 2.4rem;
	font-weight: 700;
	margin-bottom: 1rem;

	& span {
		color: var(--maincolor);
	}
}
.scp-list-core {
	background: var(--subcolor);
	width: fit-content;
	padding: 1rem 2rem;
	font-size: 1.6rem;
	font-weight: 600;
	color: #fff;
	display: flex;
	align-items: center;
	gap: 4px;
	border-radius: 1rem;
	margin-top: 2.4rem;

	& i {
		font-size: 2.4rem;
		font-weight: 300;
	}
}

/* 서브-손발톱클리닉 */
.nail-visual {
	background: url('../img/sub5-hero.jpg') no-repeat bottom / cover;
}

/* 서브-비만클리닉 */
.obesity-visual {
	background: url('../img/sub6-hero.jpg') no-repeat bottom / cover;
}
#ob-hero {
	background: url('../img/sub6-sec-bg.jpg') no-repeat center / cover;

	& .sec-title span {
		color: var(--maincolor);
	}
	.ob-hero-tag {
		color: var(--pointcolor);
		font-size: 1.6rem;
		font-weight: 500;
	}
	& .inner > p {
		width: 45%;
	}
}
.ob-hero-point {
	margin-top: 6rem;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 2rem;

	& li {
		background: #ffffffd8;
		padding: 3rem;
		box-shadow: 2px 4px 10px var(--shadow);
		border-radius: 2rem;

		.ob-hero-p-icon {
			background: var(--pointcolor);
			width: 4.4rem;
			height: 4.4rem;
			border-radius: 100px;
			color: var(--subcolor);
			font-size: 2.6rem;
			margin-bottom: 2rem;
		}
		& p:nth-of-type(1) {
			font-size: 2rem;
			font-weight: bold;
			margin-bottom: 8px;
			color: #333;
		}
	}
}
.ob-pc-ac {
	margin-bottom: 16rem;
	&:last-child {margin-bottom: 0;}

	& .sec-h-wrap {
		text-align: center;
	}
	& .sub-depart-list-text {
		h3 {
			font-size: 2.4rem; 
			font-weight: bold; 
			color: var(--subcolor);
			margin-bottom: 2rem;

			& span {
				font-size: 1.6rem; 
				padding: 4px 10px; 
				background: var(--subcolor);
				color: #fff;
				border-radius: 100px;
				display: inline-block;
				vertical-align: middle;
				margin-right: 1rem;
			}
		}
		& > ul {
			margin-top: 2rem;
			display: flex;
			font-size: 1.6rem;
			font-weight: 700;

			& li {
				border: 2px solid var(--pointcolor);
				border-radius: 100px;
				width: 12rem;
				aspect-ratio: 1;
				display: flex;
				align-items: center;
				text-align: center;
				justify-content: center;
				position: relative;
			}
			& li:not(:last-child)::after {
				content: '⨉';
				position: absolute;
				right: 0;
				z-index: 1;
				transform: translateX(50%) rotate(45deg);
				background: var(--pointcolor);
				width: 26px;
				height: 26px;
				font-size: 18px;
				border-radius: 20px;
				color: #fff;
			}
		}
	}
}
.ob-pc-step3-detail {
	background: var(--base);
	border-radius: 3rem;
	padding: 4rem;
	text-align: center;

	& h4 {
		font-size: 2.4rem;
		font-weight: bold;
	}
	& ul {
		margin-top: 4rem;
		display: flex;
		gap: 4rem;

		& li {
			width: 50%;
			text-align: left;
			& img {
				width: 100%; 
				border-radius: 2rem; 
				margin-bottom: 2rem;
				box-shadow: 2px 4px 10px var(--shadow);
			}
			& p {padding: 0 2rem;}
			& p:nth-of-type(1) {
				font-size: 2.4rem; 
				font-weight: bold;
				color: #333;
				margin-bottom: 1rem;
			}
		}
	}
}
.ob-pc3-list {
	display: flex;
	gap: 4rem;
	justify-content: space-between;

	& li {
		width: 33.333%;
		& > img {
			width: 100%; 
			aspect-ratio: 16/9;
			border-radius: 2rem;
		}
		& > div {
			padding: 2rem;
			& > h4 {
				font-size: 2.4rem; 
				font-weight: bold; 
				color: var(--subcolor);
				margin-bottom: 1rem;
			}
		}
	}
}
.ob-pc3-detail {
	margin-top: 6rem;
	background: var(--base);
	padding: 4rem;
	border-radius: 2rem;
	& p {
		font-size: 2.4rem; font-weight: bold; 
		margin-bottom: 2rem; 
		color: #333;
	}
	& ul li {
		font-size: 1.6rem; line-height: 200%;
	}
}

/* 서브-아동발달센터 */
.child-visual {
	background: url('../img/sub7-hero.jpg') no-repeat bottom / cover;
}
#child-tab {
	position: absolute;
	bottom: 0;
	background: #fff;
	display: flex;
	transform: translateY(50%);
	padding: 1.4rem 2.4rem;
	box-shadow: 2px 4px 10px var(--shadow);
	border-radius: 1rem;
	max-width: 100%;
	overflow-x: auto;

	& li {
		padding: 1rem 0;
	}
	& li a {
		color: #646470;
		font-size: 2rem;
		font-weight: 700;
		padding: 0 3rem;
		transition: all .2s ease-in-out;
	}
	& li:not(:first-child) {
		border-left: 1px solid var(--gray-border);
	}
	& li.active a {
		color: var(--maincolor);
	}
	& li:hover a {
		color: var(--maincolor);
	}
}

/* 서브-두피클리닉 */
.scalp-visual {
	background: url('../img/sub8-hero.jpg') no-repeat bottom / cover;
}

/* 서브-오시는길 */
.direct-visual {
	background: url('../img/sub9-hero.jpg') no-repeat bottom / cover;
}
.sub-dr-title-wrap {
	margin-top: 4rem;
	display: flex;
	justify-content: space-between;

	& .sub-dr-title {
		position: relative;
		padding-left: 5rem;
	}
	& .sub-dr-title::before {
		content: '';
		width: 3.8rem;
		height: 4.6rem;
		background: url(../img/map-pin-line.png) no-repeat center / cover;
		position: absolute;
		left: 0;
		top: 1rem;
		padding: 4px;
		box-sizing: border-box;
	
	}
	& .sub-dr-title > p {
		font-size: 2.4rem;
		color: var(--gray);
		font-weight: 500;
		margin-top: -1.6rem;
	}
}
#sub-direct-detail .direction-info {
	display: flex;
	margin-top: 4rem;
	width: 100%;
	
	& li {
		border-left: 1px solid var(--gray-border);
		width: 33.333%;
	}
}

/* 서브-비급여안내 */
.nci-visual {
	background: url('../img/sub10-hero.jpg') no-repeat bottom / cover;
}
#nci-table {
	text-align: center;

	table {
		width: 100%;
	}
	thead {
		background: var(--subcolor); color: white;
		font-size: 2rem; font-weight: 700;
	}
	thead th {
		padding: 2rem 0;
	}
	tbody .td_title {
		background: var(--base); color: var(--subcolor); 
		font-size: 2rem; font-weight: bold; 
		vertical-align: middle;
	}
	tbody {
		border-bottom: 3px solid var(--gray-border);
	}
	td {
		padding: 1.4rem 0; 
		border-left: 1px solid var(--gray-border);
		border-bottom: 1px solid var(--gray-border);
		vertical-align: middle;
		font-size: 1.6rem;
	}
}
#nci-table td.td_title {border-left: 0;}

/* 개인정보처리방침+이용약관 */
#use {
    padding-top: 8rem;
}
.use-tab {
    display: flex;
    gap: 2rem;
    font-size: 3.6rem;
    font-weight: 700;
    color: var(--gray);
    margin-bottom: 6rem;

    li.active {
        color: var(--maincolor);
    }
}
.use-detail {
    font-size: 1.6rem;

    h2 {
        font-size: 2.4rem;
        font-weight: 600;
        margin-bottom: 2rem;
    }
    h3 {
        font-size: 2rem;
        font-weight: 600;
        margin-bottom: 1rem;
    }
    hr {
        margin: 3rem 0;
        opacity: .3;
    }
    ul {
        list-style: disc inside;
        padding-left: 1rem;
        line-height: 180%;
    }
}

/* 반응형 */
@media (max-width: 1440px) {
    #header nav {
        display: none;
    }
    .inner {
        width: 100%;
        padding: 16rem 4%;
    }
    .main-img-wrap2 {
        width: calc(100% - 12%);
    }
    .ft-wrap {
        width: 100%;
        padding: 4rem 4%;
    }
    footer p {
        padding: 0 4%;
    }
}

@media (max-width: 1280px) {
    .main-v-services li {
        padding: 2rem;
        p {font-size: 16px;}
    }
}

@media (max-width: 1024px) {
    html {
        font-size: 58%;
    }
    .main-v-logo img {
        width: 70%;
    }
    #directions .flex {
        flex-direction: column;
    }
    .directions-wrap {
        flex-direction: column-reverse;

        > * {width: 100% !important;}
        #directions .direction-map {width: 100% !important;}
    }
    #directions .root_daum_roughmap .wrap_map, .wrap_map {height: inherit !important; aspect-ratio: 16 / 9 !important;}

	#sub-contact {
		padding: 8rem 0;
	}
	.sub-dr-title-wrap {
		flex-direction: column;
		gap: 3rem;
	}
}

@media (max-width: 768px) {
    #header {
        .logo img {
            width: 75%;
        }
    }
    .inner {
        padding: 12rem 4%;
    }
    .main-v-p {
        font-size: 2rem;
    }
    .about-flex {
        display: block;
        > * {
            width: 100%;
        }
    }
    .main-img-wrap1 {
        display: none;
    }
    .main-img-wrap2 {
        margin-bottom: 14rem;
        width: 100%;
        border-radius: 0;
        height: inherit;
        aspect-ratio: 16 / 9;
    }
    .sec-cate {font-size: 2.2rem;}
    .sec-title {font-size: 3.8rem;}
    .floor-list li {
        flex-direction: column;
        > * {
            width: 100%;
        }
        h4 {font-size: 10rem;}
    }
    #clinic-info {
        border-radius: 0;
    }
    .info-item-wrap {
        grid-template-columns: 1fr;
    }
    .info-item {
        min-height: auto;
    }
    .info-item-img {
        display: none;
    }
	.info-item-img img {
		width: 100px;
	}
    .ft-wrap {
        flex-direction: column;
        gap: 3rem;
        
        .ft-info {width: 100%;}
    }
	
	#sub-visual {
		min-height: 26rem;
		h2 {font-size: 5rem;}
		p {font-size: 1.6rem;}
		background-attachment: scroll;
		background-position: center;
        .page-nav {margin-bottom: 1rem;}
	}
	.sub-depart-list {
		flex-direction: column-reverse !important;

		> * {
			width: 100%;
			min-height: auto;
		}
		.sub-depart-list-img {
			border-radius: 3rem;
			aspect-ratio: 16/9;
		}
		.sub-depart-list-text {
			padding: 0;
		}
	}
	#sub-contact {
		border-top-left-radius: 0;
		h3 {font-size: 5rem;}
	}
	#sub-clinic-info > .inner {
		flex-direction: column;
		gap: 2rem;

		> * {
			width: 100%;
			padding-right: 0;
		}
		.sub-clinic-info-img {
			aspect-ratio: 16/9;
		}
	}
	.sub-clinic-pc-list {
		grid-template-columns: repeat(1, 1fr);
		gap: 2rem;
        
        li {
            padding: 3rem;
        }
	}
	#ob-hero {
		& .inner > p {
			width: 95%;
		}
		.ob-hero-point {
			grid-template-columns: repeat(2, 1fr);
		}
	}
	.ob-pc-step3-detail {
        padding: 2.8rem;
		ul {
			flex-direction: column;

			li {width: 100%;}
		}
	}
	.ob-pc3-list {
		flex-direction: column;
		li {
			width: 100%;

		}
	}
	#child-tab {
		padding: 1rem 2rem;
	}
	#sub-direct-detail .direction-info {
		flex-direction: column;
		li {width: 95%;}
	}
    #sub-direct-detail .sub-dr-title-wrap {
        .sub-dr-title::before {
            width: 2.8rem;
            height: 3.4rem;
        }
        .sub-dr-title {
            h4 {font-size: 3.2rem;}
            p {font-size: 2rem;}
        }
    }
}

@media (max-width: 480px) {
    html {
        font-size: 55%;
    }
    p {font-size: 15px;}
	.sec-title {font-size: 3.4rem;}
    .main-v-services {
		grid-template-columns: repeat(3, 1fr);
        gap: 1rem;
        li {padding: 1.4rem;}
        li img {max-width: 60%;}
    }
	.main-v-p {
        font-size: 16px;
    }
	.floor-list li {
		h4 {font-size: 7rem;}
	}

	#sub-visual {
		min-height: 24rem;
		h2 {
			font-size: 4rem;
			margin-bottom: .6rem;
		}
	}
	#sub-contact {
		padding: 6.4rem 0;
	}
	#sub-contact h3 {
		font-size: 4rem;
	}
	#child-tab {
		li a {
			font-size: 1.8rem;
		}
	}
    #ob-hero {
        .ob-hero-point {
            grid-template-columns: repeat(1, 1fr);
        }
    }
}
@media (max-width: 425px) {
    .main-v-services {
		grid-template-columns: repeat(2, 1fr);
        width: 90%;
    }
    .main-v-logo img {
        margin-bottom: 4rem;
    }
}