.sub-nav {
	position: relative;
	z-index: 80;
	background-color: #fafafa;
	border-top: 0.0625rem solid #e0e0e0;
	border-bottom: 0.0625rem solid #e0e0e0
}

.sub-nav .wrapper {
	display: flex;
	align-items: center
}

.sub-nav__home {
	width: 4.375rem;
	display: block;
	height: 3.5rem;
	height: 3.5rem;
	text-indent: -9999em;
	overflow: hidden;
	background: url("/assets/img/common/icon-home.png") no-repeat center;
	border-left: 0.0625rem solid #e0e0e0;
	border-right: 0.0625rem solid #e0e0e0;
	cursor: pointer
}

.sub-nav__depth1, .sub-nav__depth2 {
	padding: 0 1em;
	min-width: 13.75rem;
	position: relative;
	border-right: 0.0625rem solid #e0e0e0;
	position: relative
}

.sub-nav__depth1:before, .sub-nav__depth2:before {
	content: '';
	display: block;
	width: 1.375rem;
	height: 1.375rem;
	margin-top: -0.6875rem;
	border: 0.0625rem solid #e4e4e4;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	right: 1.25rem
}

.sub-nav__depth1:after, .sub-nav__depth2:after {
	position: absolute;
	top: 50%;
	right: 1.75rem;
	content: '';
	display: block;
	width: 0;
	height: 0;
	border-left: 0.25rem solid transparent;
	border-right: 0.25rem solid transparent;
	border-top: 0.3125rem solid #7e7e7e
}

.sub-nav__depth1 strong, .sub-nav__depth2 strong {
	display: flex;
	align-items: center;
	height: 3.5rem;
	line-height: 1rem;
	color: #7b7b7b;
	font-weight: 400;
	cursor: pointer
}

.sub-nav a {
	display: block
}

.sub-nav__list {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	width: 100%;
	background-color: #fff;
	border: 0.0625rem solid #ddd
}

.sub-nav__list > li a {
	padding: 1em
}


@media screen and (max-width: 48rem) {
	.sub-nav .wrapper {
		width: 100%
	}

	.sub-nav__depth1, .sub-nav__depth2 {
		min-width: auto;
		width: 50%;
		
		padding: 0 1.5em 0 .5em
	}

	.sub-nav__depth1:before, .sub-nav__depth2:before {
		width: 1rem;
		height: 1rem;
		margin-top: -0.5rem;
		top: 50%;
		right: 0.1875rem
	}

	.sub-nav__depth1:after, .sub-nav__depth2:after {
		right: 0.5rem;
		border-left: 0.1875rem solid transparent;
		border-right: 0.1875rem solid transparent;
		border-top: 0.25rem solid #7e7e7e
	}
}


.none-padding-bottom {
	padding-bottom: 0 !important
}

.none-padding-top {
	padding-top: 0 !important
}

.none-margin-bottom {
	margin-bottom: 0 !important
}

.none-margin-top {
	margin-top: 0 !important
}

.etc_area {
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: 43.75rem;
	margin: 6.25rem 0
}

.etc_area textarea {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	padding: 0.625rem;
	border: 0.0625rem solid #d9d9d9;
	color: #333;

	font-size: 1rem;
	font-weight: 300;
	white-space: pre-wrap
}


@media screen and (max-width: 62.5rem) {
	.etc_area {
		padding-bottom: 75%;
		margin: 3.125rem 0
	}
}


.sub-visual {
	position: relative;
	width: 100%;
	overflow: hidden;
	line-height: 0;
}

.sub-visual .sub-visual__bg {
	width: 100%;
	height: auto;
	display: block;
}

.sub-visual__content {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	text-align: center;
	z-index: 1;
	width: 100%;
	line-height: 1.2;
}

.sub-visual__title {
	color: #fff;
	font-size: 3.625rem;
	font-weight: 700;
	text-shadow: 0 0.125rem 0.625rem rgba(0, 0, 0, 0.4);
	margin: 0;
	padding: 0;
	letter-spacing: -0.05em;
}



/* ── 서브 배너 2depth 탭 네비 (데스크탑) ─────────────── */
.sub-visual__nav {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	z-index: 2;
}

.sub-visual__nav-list {
	display: flex;
	justify-content: center;
	list-style: none;
	margin: 0;
	padding: 0;
	border-top: 0.0625rem solid rgba(255, 255, 255, 0.1);
}

.sub-visual__nav-item {
	position: relative;
}

.sub-visual__nav-link {
	display: block;
	padding: 1.125rem 1.875rem;
	color: rgba(255, 255, 255, 0.6);
	font-size: 1.25rem;
	font-weight: 400;
	text-decoration: none;
	white-space: nowrap;
	transition: color 0.2s;
}

.sub-visual__nav-link:hover {
	color: #fff;
}

.sub-visual__nav-text {
	display: inline-block;
	position: relative;
}

.sub-visual__nav-item.active .sub-visual__nav-link {
	color: #fff;
	font-weight: 600;
}

.sub-visual__nav-item.active .sub-visual__nav-text::before {
	content: '';
	position: absolute;
	bottom: calc(100% + 1.125rem);
	left: 0;
	right: 0;
	height: 0.1875rem;
	background: #b78a3f;
}


@media (max-width: 56.25rem) {
	.sub-visual__nav {
		display: none;
	}
}


/* ── LNB 배너 하단 네비게이션 ─────────────────────── */
.lnb-area {
	display: none;
	width: 100%;
	background-color: #fff;
	border-bottom: 0.0625rem solid #e0e0e0;
}

.lnb-area .lnb {
	display: flex;
	flex-wrap: wrap;
	max-width: 87.5rem;
	padding: 0 1.25rem;
	margin: 0 auto;
	box-sizing: border-box;
}

.lnb-area .lnb .lnb-item {
	position: relative;
	min-width: 11.25rem;
}

.lnb-area .lnb .lnb-item::before {
	content: '';
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 0.0625rem;
	height: 1.125rem;
	background-color: #e0e0e0;
}

.lnb-area .lnb .lnb-item:last-child::before {
	display: none;
}

.lnb-area .lnb .lnb-item.home-bt {
	width: 2.75rem;
	min-width: auto;
	display: flex;
	align-items: center;
}

.lnb-area .lnb .lnb-item.home-bt a {
	display: flex;
	align-items: center;
	height: 100%;
	padding-right: 1rem;
	color: #b78a3f;
}

.lnb-area .lnb .lnb-item.home-bt:hover a {
	opacity: 0.7;
}

.lnb-area .lnb .lnb-item .lna {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	width: 100%;
	padding: 0.875rem 1rem;
	background: none;
	border: none;
	font-size: 0.9375rem;
	font-weight: 400;
	color: #333;
	cursor: pointer;
	text-align: left;
}

.lnb-area .lnb .lnb-item .lna .lnb-arrow {
	flex-shrink: 0;
	color: #b78a3f;
	transition: transform 0.2s;
}

.lnb-area .lnb .lnb-item.open .lna .lnb-arrow {
	transform: rotate(180deg);
}

.lnb-area .lnb .lnb-item .slnb {
	display: none;
	position: absolute;
	left: 0;
	top: 100%;
	z-index: 100;
	min-width: 100%;
	background-color: #fff;
	border: 0.0625rem solid #e0e0e0;
	border-top: none;
}

.lnb-area .lnb .lnb-item.open .slnb {
	display: block;
}

.lnb-area .lnb .lnb-item .slnb .dep1_con + .dep1_con {
	border-top: 0.0625rem solid #f0f0f0;
}

.lnb-area .lnb .lnb-item .slnb .dep1_con a {
	display: block;
	padding: 0.625rem 1rem;
	font-size: 0.875rem;
	color: #555;
	white-space: nowrap;
	transition: color 0.15s, background 0.15s;
}

.lnb-area .lnb .lnb-item .slnb .dep1_con a:hover {
	color: #b78a3f;
	background: #fafafa;
}


@media (max-width: 56.25rem) {
	.lnb-area {
		display: block;
	}

	.lnb-area .lnb {
		padding: 0 1.25rem;
	}

	.lnb-area .lnb .lnb-item.home-bt {
		margin-left: 0.625rem;
		width: 1.75rem;
		min-width: auto;
		flex-shrink: 0;
	}

	.lnb-area .lnb .lnb-item.has-sub {
		flex: 1;
		min-width: 0;
	}

	.lnb-area .lnb .lnb-item:last-child::before {
		display: none;
	}

	.lnb-area .lnb .lnb-item .lna {
		padding: 0.6875rem 0.75rem;
	}

	.clinic-tab-wrap {
		display: none;
	}
}


.scroll-down {
	position: absolute;
	left: 3.75rem;
	top: 50%;
	transform: translateY(-50%);
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 0.625rem;
}

.scroll-down__text {
	writing-mode: vertical-rl;
	color: #fff;
	font-size: 0.875rem;
	font-weight: 400;
	letter-spacing: 0.1875rem;
	padding-right: 0.625rem;
}

.scroll-down__line {
	position: relative;
	width: 0.0625rem;
	height: 11.4375rem;
	background: rgba(255, 255, 255, 0.2);
	overflow: hidden;
}

.scroll-down__line::after {
	content: '';
	position: absolute;
	left: 0;
	top: 0%;
	width: 0.0625rem;
	height: 0%;
	background: #b78a3f;
	animation: scrollLineDown 2s ease-in-out infinite;
}

@keyframes scrollLineDown {
	0% {
		top: 0%;
		height: 0%;
	}
	50% {
		top: 0%;
		height: 100%;
	}
	100% {
		top: 100%;
		height: 0%;
	}
}


@media screen and (max-width: 48rem) {
	.scroll-down {
		display: none;
	}

	.scroll-down__text {
		letter-spacing: 0.125rem;
		padding-right: 0.375rem;
	}

	.scroll-down__line {
		height: 3.125rem;
	}
}


.contents__inner {
	padding: 0 0 8.75em 0
}

.contents__inner.none-padding {
	padding-bottom: 0
}

.contents__inner.login {
	padding: 11.25em 0
}

.contents__inner.more-padding-top {
	padding: 6.25em 0 8.75em 0
}

.contents__inner.bg-gray {
	background-color: #f9f9f9
}


@media screen and (max-width: 82.5rem) {
	.contents__inner {
		padding: 3.125em 0 4.6875em 0
	}
}



@media screen and (max-width: 48rem) {
	.contents__inner {
		padding: 0 0 2.5em 0
	}
}


.page__title {
	text-align: center;
	padding: 4.6875em 0
}

.page__title h3 {
	font-size: 3rem;
	font-weight: 500;
	line-height: 1.4rem;
	color: #313131
}

.page__title p {
	padding-top: 1em;
	font-size: .75rem;
	font-weight: 400;
	letter-spacing: 0.3125rem;
	color: #9e9e9e;
	line-height: 1.4rem;
}

.page__title p b {
	font-weight: 600
}


@media screen and (max-width: 82.5rem) {
	.page__title {
		padding: 3.125em 0
	}
}




.section {
	padding: 5rem 0
}

.section.bg-gray {
	background-color: #f5f5f5
}

.section .section-title {
	font-size: 2.5rem;
	font-weight: 300
}

.section .section-title b {
	font-weight: 600
}

.section p {
	font-size: 1.125rem;
	font-weight: 300;
	line-height: 1.6;
	margin-top: 1.667rem
}


@media screen and (max-width: 82.5rem) {
	.section {
		padding: 4.375rem 0
	}
}



@media screen and (max-width: 48rem) {
	.section {
		padding: 2.5rem 0
	}
}


.checkerboard-layout h4 {
	font-size: 2.5rem;
	font-weight: 300
}

.checkerboard-layout h4 .color-main {
	color: #247bc2;
	font-weight: 600
}

.checkerboard-layout .checkerboard-layout__item {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	padding-top: 8.75em
}

.checkerboard-layout .checkerboard-layout__item .checkerboard-layout__figure {
	width: 50%;
	display: flex;
	justify-content: flex-start
}

.checkerboard-layout .checkerboard-layout__item .checkerboard-layout__figure .checkerboard-layout__img {
	display: block;
	width: 93%
}

.checkerboard-layout .checkerboard-layout__item .checkerboard-layout__cont {
	width: 50%
}

.checkerboard-layout .checkerboard-layout__item .checkerboard-layout__cont .wrapper {
	padding-left: 10%;
	box-sizing: border-box
}

.checkerboard-layout .checkerboard-layout__item:nth-child(2n) .checkerboard-layout__figure {
	order: 3;
	justify-content: flex-end
}

.checkerboard-layout .checkerboard-layout__item:nth-child(2n) .checkerboard-layout__cont {
	order: 1
}

.checkerboard-layout .checkerboard-layout__item:nth-child(2n) .checkerboard-layout__cont .wrapper {
	padding-left: 28%
}


@media screen and (max-width: 82.5rem) {
	.checkerboard-layout .checkerboard-layout__item {
		padding-top: 6.25em
	}

	.checkerboard-layout .checkerboard-layout__item .checkerboard-layout__cont .wrapper {
		width: 80%
	}

	.checkerboard-layout .checkerboard-layout__item .checkerboard-layout__cont .wrapper p br {
		display: none
	}

	.checkerboard-layout .checkerboard-layout__item:nth-child(2n) .checkerboard-layout__cont .wrapper {
		padding-left: 0
	}
}



@media screen and (max-width: 48rem) {
	.checkerboard-layout .checkerboard-layout__item {
		display: block;
		padding-top: 4em
	}

	.checkerboard-layout .checkerboard-layout__item .checkerboard-layout__figure {
		width: 100%;
		padding: 1em;
		box-sizing: border-box
	}

	.checkerboard-layout .checkerboard-layout__item .checkerboard-layout__figure .checkerboard-layout__img {
		border-radius: 0.9375rem;
		width: 100%
	}

	.checkerboard-layout .checkerboard-layout__item .checkerboard-layout__cont {
		width: 100%
	}

	.checkerboard-layout .checkerboard-layout__item .checkerboard-layout__cont .wrapper {
		width: 95%;
		margin-top: 1em;
		padding-left: 0 !important
	}
}


.desc-area {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	color: #fff;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center
}

.desc-area:after {
	content: '';
	display: block;
	width: 0.0625rem;
	height: 9.375rem;
	background-color: #5e5e5e;
	position: absolute;
	top: 0;
	left: 50%;
	margin-left: 0.03125rem
}

.desc-area h3 {
	font-size: 2.5rem;
	font-weight: 100;
	line-height: 135%
}

.desc-area h3 b {
	font-weight: 600
}

.desc-area p {
	font-size: 1.125rem;
	font-weight: 300;
	margin-top: 1.875em;
	line-height: 200%
}

.desc-area p b {
	font-weight: 600
}

.desc-area .wrapper {
	position: relative;
	padding-bottom: 4em
}




@media screen and (max-width: 48rem) {
	.desc-area {
		display: block;
		box-sizing: border-box;
		padding-top: 4em
	}

	.desc-area:after {
		height: 3.125rem
	}

	.desc-area p br {
		display: none
	}
}


.role-area {
	position: relative
}

.role__item--top {
	position: absolute;
	top: -14.375rem;
	left: 0;
	width: 100%;
	text-align: center
}

.role__item--top .wrapper {
	background-color: #fff;
	padding: 4.6875em 1.5em;
	box-sizing: border-box
}

.role__item--top strong {
	font-size: 2.5rem;
	font-weight: 300
}

.role__item--top strong b {
	font-weight: 600;
	color: #247bc2
}

.role__item--top p {
	font-size: 1.125rem;
	font-weight: 300;
	line-height: 177.7777777778%;
	margin-top: 1.875em;
	color: #5e5e5e
}


@media screen and (max-width: 82.5rem) {
	.role__item--top {
		top: -7.5rem
	}

	.role__item--top .wrapper {
		padding: 3em 1em
	}
}



@media screen and (max-width: 48rem) {
	.role__item--top {
		position: static
	}

	.role__item--top p br {
		display: none
	}
}


.role__item--bottom {
	padding-top: 14.25rem;
	padding-bottom: 8.75em;
	background-color: #f5f5f5;
	text-align: center
}

.role__item--bottom h3 {
	margin-top: 7.5rem;
	font-size: 2.5rem;
	font-weight: 300
}

.role__item--bottom h3 b {
	font-weight: 600
}

.role__item--bottom .wrapper > p {
	font-size: 1.125rem;
	font-weight: 300;
	margin-top: 2.1875em;
	line-height: 155.5555555556%
}

.role__item--bottom ul {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	margin-top: 3.75rem
}

.role__item--bottom ul li {
	width: 18.75rem
}

.role__item--bottom ul li strong {
	width: 100%;
	height: 9.375rem;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #247bc2;
	border-radius: 4.6875rem;
	color: #fff;
	position: relative;
	margin-bottom: 5rem;
	font-size: 1.125rem;
	font-weight: 600;
	line-height: 1.6
}

.role__item--bottom ul li strong:before {
	position: absolute;
	bottom: -5rem;
	left: 50%;
	content: '';
	margin-left: -3.0 .3125rem;
	width: 0.4375rem;
	height: 0.4375rem;
	background-color: #247bc2;
	border-radius: 50%
}

.role__item--bottom ul li strong:after {
	position: absolute;
	bottom: -5rem;
	left: 50%;
	content: '';
	display: block;
	width: 0.0625rem;
	height: 5rem;
	background-color: #247bc2
}

.role__item--bottom ul li p {
	font-size: 1.125rem;
	font-weight: 300;
	line-height: 177.7777777778%;
	color: #5e5e5e;
	padding: .5em;
	letter-spacing: -0.0625rem
}


@media screen and (max-width: 82.5rem) {
	.role__item--bottom ul li strong {
		width: 95%;
		height: 7.5rem;
		margin: 0 auto 5rem 0
	}
}



@media screen and (max-width: 48rem) {
	.role__item--bottom {
		padding-top: 0;
		padding: 4em 0
	}

	.role__item--bottom h3 {
		margin-top: 0;
	}

	.role__item--bottom ul {
		margin-top: 2.5em;
		flex-wrap: wrap
	}

	.role__item--bottom ul li {
		width: 49%;
		margin-bottom: 1em
	}

	.role__item--bottom ul li strong {
		height: 4.0625rem;
		margin-bottom: 2.5rem;
		padding: 0 1em;
		box-sizing: border-box;
	}

	.role__item--bottom ul li strong:before {
		bottom: -2.5rem
	}

	.role__item--bottom ul li strong:after {
		height: 2.5rem;
		bottom: -2.5rem
	}

	.role__item--bottom ul li p br {
		display: none
	}
}


.desc-area.none-cross-cont {
	height: auto !important;
	padding: 12.5em 0 6.25em 0
}

.desc-area.none-cross-cont .wrapper {
	padding-bottom: 0
}

.role__item--bottom.none-cross-cont {
	padding: 5.9375em 0 8.125em 0
}

.role__item--bottom.none-cross-cont h3 {
	margin-top: 0
}


@media screen and (max-width: 48rem) {
	.desc-area.none-cross-cont {
		padding: 4em 0
	}

	.role__item--bottom.none-cross-cont {
		padding: 4em 0
	}
}


.describe-layout {
	padding: 6.25em 0
}

.describe-layout .wrapper > h3 {
	font-size: 2.5rem;
	text-align: center
}

.describe-layout .wrapper > p {
	font-size: 1.125rem;
	font-weight: 300;
	text-align: center;
	color: #5e5e5e;
	margin-top: 1.875em;
	line-height: 1.6
}

.describe-layout.type--white .describe-cont {
	background-color: #fff
}

.describe-cont {
	margin-top: 3.125em;
	background-color: #f8f8f8;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 7.5em 0
}

.describe-cont .describe-dt {
	width: 25.7575757576%;
	text-align: center
}

.describe-cont .describe-dt .icon-area {
	display: inline-block;
	background-repeat: no-repeat;
	background-position: center;
	margin-bottom: 1em
}

.describe-cont .describe-dt strong {
	display: block;
	text-align: center;
	color: #247bc2;
	font-size: 1.125rem;
	font-weight: 600;

}

.describe-cont .describe-dd {
	width: 74.2424242424%;
	box-sizing: border-box;
	padding-left: 5.9375em;
	padding-right: 10.9375em;
	border-left: 0.0625rem solid #d0d0d0
}

.describe-cont .describe-dd ul li {
	position: relative;
	padding-left: 1em;
	line-height: 1.6;
	font-size: 1.125rem;
	font-weight: 300;
	margin-top: 0.625rem;
	letter-spacing: -0.0625rem;
	color: #292929
}

.describe-cont .describe-dd ul li b {
	font-weight: 500
}

.describe-cont .describe-dd ul li:first-child {
	margin-top: 0
}

.describe-cont .describe-dd ul li:after {
	content: '';
	display: block;
	width: 0.3125rem;
	height: 0.3125rem;
	background-color: #247bc2;
	border-radius: 50%;
	position: absolute;
	top: .7rem;
	left: 0
}


@media screen and (max-width: 82.5rem) {
	.describe-layout {
		padding: 6.25em 0
	}

	.describe-cont {
		padding: 5.625em 0
	}

	.describe-cont .describe-dd {
		padding-left: 3.125em;
		padding-right: 6.25em
	}
}



@media screen and (max-width: 48rem) {
	.describe-layout {
		padding: 3.75em 0
	}

	.describe-cont {
		padding: 1.875em 0;
		display: block
	}

	.describe-cont .describe-dt {
		width: 100%;
		text-align: center
	}

	.describe-cont .describe-dd {
		width: 100%;
		border: 0;
		margin-top: 1.5em;
		padding-left: .9375em;
		padding-right: .9375em
	}
}



@media screen and (max-width: 30rem) {
	.describe-layout .wrapper > p {
		word-break: keep-all
	}

	.describe-layout .wrapper > p br {
		display: none
	}
}


.icon-notice {
	width: 3.1875rem;
	height: 2.875rem;
	background-image: url("/assets/img/sub/icon-notice.png")
}

.deco-check {
	position: relative;
	padding-left: 1.5em;
	line-height: 1.6
}

.deco-check:after {
	content: '';
	position: absolute;
	top: 0.3125rem;
	left: 0;
	display: block;
	width: 1.25rem;
	height: 1.25rem;
	background: url("/assets/img/common/list-deco.png") no-repeat center
}

.etc .etc_area {
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: 43.75rem;
	margin: 3.125rem 0
}

.etc .etc_area textarea {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	padding: 0.625rem;
	border: 0.0625rem solid #d9d9d9;
	color: #333;

	font-size: 1rem;
	font-weight: 300;
	white-space: pre-wrap
}

.etc .btn-back {
	display: block;
	width: 16.25rem;
	height: 3.125rem;
	line-height: 3.125rem;
	font-size: 0.875rem;
	text-align: center;
	margin: 0 auto;
	background-color: #247bc2;
	color: #fff;
	border-radius: 0.1875rem;
	cursor: pointer
}

.etc .btn-back:hover {
	opacity: .8
}


@media screen and (max-width: 48rem) {
	.etc .etc_area {
		padding-bottom: 75%;
		margin: 3.125rem 0
	}
}


.square-layout--color, .square-layout {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center
}

.square-layout--color li, .square-layout li {
	background-color: #f5f5f5;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 6.875rem;
	margin-bottom: 1em;
	border-radius: 0.3125rem
}

.square-layout--color li span, .square-layout li span {
	font-size: 1.125rem;
	font-weight: 300;
	line-height: 1.6;
	padding: 1em;
	box-sizing: border-box
}

.square-layout--color.item--4 li, .square-layout.item--4 li {
	width: 24.1071428571%
}

.square-layout--color.item--3, .square-layout.item--3 {
	max-width: 52.5rem;
	width: 100%;
	margin: 0 auto
}

.square-layout--color.item--3 li, .square-layout.item--3 li {
	width: 32.1428571429%
}


@media screen and (max-width: 48rem) {
	.square-layout--color li, .square-layout li {
		height: 5rem
	}

	.square-layout--color li span br, .square-layout li span br {
		display: none
	}

	.square-layout--color.item--4 li, .square-layout.item--4 li {
		width: 48%
	}

	.square-layout--color.item--3, .square-layout.item--3 {
		max-width: 52.5rem;
		width: 100%;
		margin: 0 auto
	}

	.square-layout--color.item--3 li, .square-layout.item--3 li {
		width: 48%
	}
}



@media screen and (max-width: 30rem) {
	.square-layout.item--3 {
		display: block
	}

	.square-layout.item--3 li {
		width: 100%;
		word-break: keep-all
	}
}


.square-layout--color.item--3 li {
	height: 7.1875rem
}

.square-layout--color li {
	background-color: #247bc2;
	height: 11.25rem
}

.square-layout--color li span {
	color: #fff
}

.main-color-circle-list {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	margin-top: 3.75rem
}

.main-color-circle-list li {
	width: 15rem
}

.main-color-circle-list li strong {
	width: 100%;
	height: 6.25rem;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #247bc2;
	border-radius: 4.6875rem;
	color: #fff;
	position: relative;
	margin-bottom: 5rem;
	font-size: 1.125rem;
	font-weight: 600;
	line-height: 1.6
}

.main-color-circle-list li strong:before {
	position: absolute;
	bottom: -5rem;
	left: 50%;
	content: '';
	margin-left: -3.0 .3125rem;
	width: 0.4375rem;
	height: 0.4375rem;
	background-color: #247bc2;
	border-radius: 50%
}

.main-color-circle-list li strong:after {
	position: absolute;
	bottom: -5rem;
	left: 50%;
	content: '';
	display: block;
	width: 0.0625rem;
	height: 5rem;
	background-color: #247bc2
}

.main-color-circle-list li p {
	font-size: 1.125rem;
	font-weight: 300;
	line-height: 177.7777777778%;
	color: #5e5e5e;
	padding: .5em;
	letter-spacing: -0.0625rem;
	text-align: center
}


@media screen and (max-width: 82.5rem) {
	.main-color-circle-list li strong {
		width: 95%;
		height: 6.25rem;
		margin: 0 auto 5rem 0
	}
}



@media screen and (max-width: 48rem) {
	.main-color-circle-list {
		margin-top: 2.5em;
		flex-wrap: wrap
	}

	.main-color-circle-list li {
		width: 49%;
		margin-bottom: 1em
	}

	.main-color-circle-list li strong {
		height: 4.0625rem;
		margin-bottom: 2.5rem;
		padding: 0 1em;
		box-sizing: border-box;
	}

	.main-color-circle-list li strong:before {
		bottom: -2.5rem
	}

	.main-color-circle-list li strong:after {
		height: 2.5rem;
		bottom: -2.5rem
	}

	.main-color-circle-list li p br {
		display: none
	}
}


/*# sourceMappingURL=sub.css.map */

/* =========================================================
   Disease Sub Pages
   ========================================================= */
.clinic-tab-wrap {
	padding: 4.375rem 0 7.5rem;
	background: #fff
}

.clinic-tab-wrap .inner {
	padding: 0;
	box-sizing: border-box;
	margin: 0 auto
}

.clinic-tab-wrap .inner.w1200 {
	max-width: 75rem
}

.clinic-tab-wrap .clinic-tab-wrap__title {
	font-size: 3rem;
	font-weight: 700;
	color: #222222;
	margin-bottom: 3.125rem;
	text-align: center;
}

.clinic-tab-wrap .clinic-tab-rows {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 0.375rem
}

.clinic-tab-wrap .clinic-tab {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 17.8125rem;
	height: 3.625rem;
	padding: 0;
	font-size: 1.25rem;
	font-weight: 500;
	color: #555;
	border: 0.0625rem solid #ddd;
	margin-right: 0;
	margin-bottom: 0;
	background: #fff;
	text-decoration: none;
	transition: background .2s, color .2s, border-color .2s;
	border-radius: 1.875rem;
	box-sizing: border-box
}

.clinic-tab-wrap .clinic-tab:hover {
	background: linear-gradient(
			125deg,
			#d1ac6d 0%,
			#d1ac6d 20%,
			#d0ab6c 40%,
			#c39958 55%,
			#ad7d35 72%,
			#ad7d35 88%,
			#ad7d35 100%
	);
	background-color: transparent;
	color: #fff;
	border-color: transparent;
	font-weight: 700
}

.clinic-tab-wrap .clinic-tab.active {
	background: linear-gradient(
			125deg,
			#d1ac6d 0%,
			#d1ac6d 20%,
			#d0ab6c 40%,
			#c39958 55%,
			#ad7d35 72%,
			#ad7d35 88%,
			#ad7d35 100%
	);
	background-color: transparent;
	color: #fff;
	border-color: transparent;
	font-weight: 700
}


@media (max-width: 48rem) {
	.clinic-tab-wrap {
		padding-top: 1.875rem;
		padding-bottom: 1rem
	}

	.clinic-tab-wrap .clinic-tab-rows {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 0.25rem
	}

	.clinic-tab-wrap .clinic-tab {
		width: 100%;
		padding: 0.5rem 1rem;
		
		border-radius: 1.25rem
	}
}


.clinic-sec {
	padding: 5rem 0
}

.clinic-sec .inner {
	padding: 2.5rem 0;
	box-sizing: border-box;
	margin: 0 auto
}

.clinic-sec .inner.w1200 {
	max-width: 75rem
}

.clinic-sec .inner.w1400 {
	max-width: 87.5rem
}


@media (max-width: 90.625rem) {
	.clinic-sec {
		padding: 3.125rem 0
	}

	.clinic-sec .inner,
	.clinic-tab-wrap .inner {
		padding-left: 1rem;
		padding-right: 1rem
	}
}



@media (max-width: 48rem) {
	.clinic-sec {
		padding: 3.125rem 0
	}

	.clinic-sec .inner,
	.clinic-tab-wrap .inner {
		padding-left: 1rem;
		padding-right: 1rem
	}
}


.sec-intro {
	background: #fff
}

.sec-intro .sec-intro__label {
	font-size: 1.25rem;
	color: #b78a3f;
	font-weight: 600;
	letter-spacing: .05em;
	margin-bottom: 2.125rem
}

.sec-intro .sec-intro__title {
	font-size: 2.375rem;
	font-weight: 700;
	color: #222222;
	margin-bottom: 1.25rem
}

.sec-intro .sec-intro__desc {
	font-size: 1.25rem;

	color: #555555;
	margin-bottom: 3.125rem
}

.sec-intro .sec-intro__body {
	display: flex;
	gap: 3.125rem;
	align-items: flex-start
}

.sec-intro .sec-intro__img {
	flex: 0 0 47.5rem
}

.sec-intro .sec-intro__img img {
	width: 100%;
	display: block;
	border-radius: 0.5rem
}

.sec-intro .sec-intro__symptoms {
	flex: 1;
	padding-top: 0.625rem
}

.sec-intro .sec-intro__symptoms .sec-intro__symptoms-title {
	font-size: 1.5rem;
	font-weight: 500;
	color: #222222;
	line-height: 1.6;
	margin-bottom: 0.5rem
}

.sec-intro .sec-intro__symptoms .sec-intro__symptoms-title b {
	color: #b78a3f
}

.clinic-check-list {
	list-style: none;
	padding: 0;
	margin: 0
}

.clinic-check-list li {
	position: relative;
	padding: 0.5rem 1rem 0.5rem 3.25rem;
	font-size: 1.25rem;
	color: #222222;
	border-bottom: 0.0625rem solid #ddd;
	line-height: 1.6
}

.clinic-check-list li:first-child {
	border-top: 0.0625rem solid #ddd
}

.clinic-check-list li::before {
	content: '';
	position: absolute;
	left: 0.875rem;
	top: 50%;
	transform: translateY(-50%);
	width: 1.9375rem;
	height: 1.9375rem;
	background-image: url('/assets/img/common/check_icon.png');
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain
}





@media (max-width: 60rem) {
	.sec-intro .sec-intro__body {
		flex-direction: column
	}

	.sec-intro .sec-intro__img {
		flex: 0 0 auto;
		width: 100%
	}
}



@media (max-width: 48rem) {
	.sec-intro .sec-intro__body {
		width: 100%
	}

	.sec-intro .sec-intro__symptoms {
		width: 100%;
		flex: none
	}

	.sec-intro .sec-intro__label {
		margin-bottom: 1.25rem
	}

	.sec-intro .sec-intro__desc {
		margin-bottom: 1.875rem
	}

	.clinic-check-list li {
		padding-left: 2.75rem
	}

	.clinic-check-list li::before {
		width: 1.5rem;
		height: 1.5rem;
		left: 0.625rem
	}
}


.sec-cause {
	background: #f6f6f6
}

.sec-cause .sec-cause__title {
	font-size: 2.375rem;
	font-weight: 700;
	color: #222222;
	margin-bottom: 0.875rem
}

.sec-cause .sec-cause__desc {
	font-size: 1.25rem;
	color: #555555;
	line-height: 1.7;
	margin-bottom: 3.125rem
}

.sec-cause .sec-cause__list {
	display: grid;
	grid-template-columns:repeat(4, 1fr);
	gap: 1.25rem;
	list-style: none;
	padding: 0;
	margin: 0
}

.sec-cause .sec-cause__list li {
	/*background: #fff;*/
	border-radius: 0.5rem;
	overflow: hidden
}

.sec-cause .sec-cause__list li .sec-cause__img img {
	width: 20.5rem;
	height: 25rem;
	object-fit: cover;
	display: block
}

.sec-cause .sec-cause__list li h3 {
	font-size: 1.5rem;
	font-weight: 700;
	color: #222222;
	padding: 1.125rem 1.125rem 0.5rem
}

.sec-cause .sec-cause__list li p {
	font-size: 1.25rem;
	color: #555555;

	padding: 0 1.125rem 1.25rem
}


@media (max-width: 60rem) {
	.sec-cause .sec-cause__list {
		grid-template-columns:repeat(2, 1fr)
	}
}



@media (max-width: 32.5rem) {
	.sec-cause .sec-cause__list {
		grid-template-columns:1fr
	}
}



@media (max-width: 48rem) {
	.sec-cause .sec-cause__list li .sec-cause__img img {
		width: 100%;
		height: auto;
		margin: 0 auto
	}

	.sec-cause .sec-cause__desc {
		margin-bottom: 1.875rem
	}

	.sec-cause .sec-cause__list li h3 {
		padding: 0.9375rem 0.9375rem 0.3125rem
	}

	.sec-cause .sec-cause__list li p {
		padding: 0 0.9375rem 0.9375rem
	}
}


.sec-treat {
	background: #fff
}

.sec-treat .sec-treat__title {
	font-size: 2.375rem;
	font-weight: 400;
	color: #222222;
	margin-bottom: 0.75rem
}

.sec-treat .sec-treat__title b {
	font-weight: 700;
	color: #b8935a
}

.sec-treat .sec-treat__desc {
	font-size: 1.25rem;
	color: #555555;

	margin-bottom: 2.5rem
}

.sec-treat .sec-treat__slider {
	position: relative;
	padding-top: 2.25rem
}

.sec-treat .sec-treat__slide {
	display: flex;
	gap: 3.125rem;
	align-items: center
}

.sec-treat .sec-treat__slide .sec-treat__slide-img {
	flex: 0 0 30rem
}

.sec-treat .sec-treat__slide .sec-treat__slide-img img {
	width: 47.5rem;
	height: 31.25rem;
	object-fit: cover;
	display: block;
	border-radius: 0.5rem
}

.sec-treat .sec-treat__slide .sec-treat__slide-text .treat-num {
	font-size: 1.25rem;
	font-weight: 600;
	color: #b8935a;
	letter-spacing: .1em;
	margin-bottom: 1.25rem
}

.sec-treat .sec-treat__slide .sec-treat__slide-text h3.treat-name {
	font-size: 2.25rem;
	font-weight: 700;
	color: #222222;
	margin-bottom: 1.25rem
}

.sec-treat .sec-treat__slide .sec-treat__slide-text .treat-desc {
	font-size: 1.25rem;
	color: #555;

	margin-bottom: 1.75rem
}

.sec-treat .sec-treat__slide .sec-treat__slide-text .treat-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.625rem
}

.sec-treat .sec-treat__slide .sec-treat__slide-text .treat-tags span {
	display: inline-block;
	padding: 0.375rem 1rem;
	background: #fff;
	color: #555;
	font-size: 1.25rem;
	font-weight: 500;
	border-radius: 1.25rem;
	border: 0.0625rem solid #dddddd
}

.sec-treat .sec-treat__nav {
	position: absolute;
	top: 0;
	right: 0;
	display: flex;
	align-items: center;
	gap: 0.625rem
}

.sec-treat .sec-treat__nav button {
	background: none;
	border: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0.125rem 0.25rem;
	opacity: 0.5;
	transition: opacity .2s
}

.sec-treat .sec-treat__nav button:hover {
	opacity: 1
}

.sec-treat .sec-treat__nav button img {
	width: 2.875rem;
	height: 2.9375rem;
	height: auto;
	display: block
}

.sec-treat .sec-treat__nav .treat-next img {
	transform: rotate(180deg)
}

.sec-treat .sec-treat__nav .treat-paging {
	font-size: 1.25rem;
	color: #aaa;
	letter-spacing: .05em
}

.sec-treat .sec-treat__nav .treat-paging .treat-now {
	font-weight: 600;
	color: #b8935a;
}

.sec-treat .sec-treat__nav .treat-paging .treat-total {
	color: #aaa
}


@media (max-width: 60rem) {
	.sec-treat .sec-treat__slide {
		flex-direction: column
	}

	.sec-treat .sec-treat__slide .sec-treat__slide-img {
		flex: 0 0 auto;
		width: 100%
	}

	.sec-treat .sec-treat__slide .sec-treat__slide-img img {
		height: 15rem
	}
}



@media (max-width: 48rem) {
	.sec-treat .sec-treat__slider {
		padding-top: 0
	}

	.sec-treat .sec-treat__nav {
		position: static;
		justify-content: center;
		margin-top: 1rem
	}

	.sec-treat .sec-treat__desc {
		margin-bottom: 1.5625rem
	}

	.sec-treat .sec-treat__slide .sec-treat__slide-text .treat-tags span {
		padding: 0.25rem 0.75rem
	}
}


.sec-faq {
	background: #fff
}

.sec-faq .sec-faq__title {
	font-size: 2.375rem;
	font-weight: 400;
	/*color: #1d2d44;*/
	margin-bottom: 0.75rem
}

.sec-faq .sec-faq__title b {
	font-weight: 700;
	color: #b8935a;
}

.sec-faq .sec-faq__desc {
	font-size: 1.25rem;
	color: #222222;
	line-height: 1.7;
	margin-bottom: 2.5rem
}

.sec-faq .sec-faq__list {
	list-style: none;
	padding: 0;
	margin: 0
}

.sec-faq .faq-item {
	background: #fff;
	border-top: 0.0625rem solid #e8e8e8
}

.sec-faq .faq-item.active {
	border-top-color: #b8935a
}

.sec-faq .faq-item.active .faq-q {
	color: #b8935a
}

.sec-faq .faq-q {
	width: 100%;
	display: flex;
	align-items: center;
	gap: 0.875rem;
	padding: 1.25rem 1.5rem;
	background: none;
	border: none;
	cursor: pointer;
	font-size: 1.25rem;
	font-weight: 500;
	color: #222222;
	text-align: left;
	transition: color .2s
}

.sec-faq .faq-q .faq-q__icon {
	flex-shrink: 0;
	width: 1.75rem;
	height: 1.75rem;
	color: #b78a3f;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.25rem;
	font-weight: 700
}

.sec-faq .faq-q .faq-q__arrow {
	margin-left: auto;
	flex-shrink: 0;
	width: 2.9375rem;
	height: 2.875rem;
	background: url('/assets/img/common/prev_icon.png') no-repeat center / contain;
	transform: rotate(270deg);
	transition: transform .3s
}

.sec-faq .faq-q .faq-q__arrow i {
	display: none
}

.sec-faq .faq-item.active .faq-q .faq-q__arrow {
	transform: rotate(90deg)
}

.sec-faq .faq-q .faq-q__label {
	flex: 1;
	text-align: left;
}

.sec-faq .faq-a {
	padding: 1.5rem 1.875rem 1.5rem 4.125rem;
	background: #f5f5f5;
	border-radius: 1.25rem;
	margin: 0.625rem 0 1.875rem;
	font-size: 1.25rem;
	color: #222;

	text-align: left;
}

/* FAQ 아코디언 — 게시판 보드용 (.cz-faq-board) */
.cz-faq-board {
	padding: 0;
	background: transparent;
}

.cz-faq-board .faq-a__inner {
	word-break: break-word;
}

.cz-faq-board .faq-a__admin {
	margin-top: 1rem;
	padding-top: 0.75rem;
	border-top: 0.0625rem solid #e0e0e0;
	text-align: right;
}

.cz-faq-board .faq-a__admin-link {
	font-size: 0.875rem;
	color: #888;
	text-decoration: underline;
}


@media (max-width: 48rem) {
	.sec-faq .sec-faq__desc {
		margin-bottom: 1.5625rem
	}

	.sec-faq .faq-q {
		padding: 1rem 1.125rem
	}

	.sec-faq .faq-a {
		padding: 1.125rem 1.25rem 1.125rem 3.125rem;
		
		border-radius: 0.9375rem;
		margin: 0.625rem 0 1.25rem
	}
}


.sec-cta {
	background: #fff;
	padding: 0 0 3.75rem 0;
}

.sec-cta .inner.w1400 {
	display: flex;
	gap: 1.25rem;
	justify-content: center
}

.sec-cta .sec-cta__btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.9375rem;
	width: 42.5rem;
	height: 6.25rem;
	border-radius: 1.25rem;
	text-decoration: none;
	transition: opacity .2s;
	color: #fff;
	font-size: 2.1rem;
	font-weight: 600;
	box-sizing: border-box;
}

.sec-cta .sec-cta__btn:hover {
	opacity: .9
}

.sec-cta .sec-cta__btn--counsel {
	background: linear-gradient(180deg, #d0ab6b 0%, #a47224 100%);
}

.sec-cta .sec-cta__btn--call {
	background: #082e4c;
}

.sec-cta .sec-cta__btn img {
	width: 3.75rem;
	height: 3.125rem;
	display: block;
}


@media (max-width: 87.5rem) {
	.sec-cta .inner.w1400 {
		flex-wrap: wrap;
		padding: 0 1.25rem;
	}
}



@media (max-width: 48rem) {
	.sec-cta .inner.w1400 {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 0.5rem;
		padding: 0 1rem;
	}

	.sec-cta .sec-cta__btn {
		width: 100%;
		
		border-radius: 0.9375rem;
	}

	.sec-cta .sec-cta__btn img {
		width: 2.5rem;
		height: 1.5rem;
	}
}


/* clinic-tab button reset */
button.clinic-tab {
	cursor: pointer;
	font-family: inherit;
	line-height: 1.4
}

/* =====================================================
   Sec Doctor (s1030)
   ===================================================== */
.sec-doctor__head {
	text-align: center;
	margin-bottom: 6.25rem;
}

.sec-doctor__title {
	font-size: 3rem;
	font-weight: 300;
	color: #222;
	line-height: 1.45;
	margin-bottom: 1.5rem;
}

.sec-doctor__title b {
	font-weight: 700;
}

.sec-doctor__desc {
	font-size: 1.25rem;
	font-weight: 300;
	color: #555555;

}

.sec-doctor__list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2rem;
	list-style: none;
	padding: 0;
	margin: 0;
}

.sec-doctor__item {
	cursor: pointer;
}

.sec-doctor__img-wrap {
	position: relative;
	width: 100%;
	aspect-ratio: 445 / 580;
	background: #e4ded8;
	overflow: hidden;
	border-radius: 1.25rem;
}

.sec-doctor__img-wrap img {
	position: absolute;
	bottom: -0.625rem;
	left: 50%;
	transform: translateX(-50%);
	/*width: 18.625rem;*/
	/*height: 32.5rem;*/
	object-fit: cover;
	object-position: top center;
	transition: transform 0.4s;
}

.sec-doctor__item:hover .sec-doctor__img-wrap img {
	transform: translateX(-50%) scale(1.04);
}

.sec-doctor__info {
	padding: 1.25rem 0 0;
	text-align: center;
}

.sec-doctor__name {
	font-size: 2.375rem;
	color: #222;
	margin-bottom: 0.5rem;
}

.sec-doctor__name strong {
	font-weight: 700;
	color: #222;
	margin-right: 0.25rem;
}

/* 의료진소개 탭 — sec-doctor 내부 */
.clinic-tab-wrap--doctor {
	padding: 0;
	background: none;
	margin-bottom: 4.375rem;
}

.clinic-tab-wrap--doctor .clinic-tab {
	width: 13.4375rem;
	padding: 0;
	font-size: 1.125rem;
}

@media (max-width: 48rem) {
	.clinic-tab-wrap--doctor {
		margin-bottom: 2rem;
	}

	.clinic-tab-wrap--doctor .clinic-tab-rows {
		display: grid;
		grid-template-columns: repeat(4, 1fr);
		gap: 0.25rem;
	}

	.clinic-tab-wrap--doctor .clinic-tab {
		width: 100%;
		font-size: 0.875rem;
		height: 2.75rem;
		border-radius: 1.25rem;
	}
}

.sec-doctor__modifier {
	font-size: 1.25rem;
	color: #b78a3f;
	line-height: 1.3;
	margin-bottom: 1rem;
	font-weight: 600;
	word-break: keep-all;
}

.sec-doctor__part {
	font-size: 1.25rem;
	font-weight: normal;
	color: #666;
	display: inline-flex;
	align-items: center;
}
.sec-doctor__part .part-sep {
	font-size: 1rem;
	margin: 0 0.5rem;
	font-weight: normal;
}


@media (max-width: 56.25rem) {
	.sec-doctor__list {
		grid-template-columns: repeat(2, 1fr);
	}

	.sec-doctor__img-wrap img {
		width: 100%;
		max-width: 310px;
		top: 0;
		bottom: auto;
	}
}



@media (max-width: 48rem) {
	.sec-doctor__title br,
	.sec-doctor__desc br {
		display: none;
	}

	.sec-doctor__img-wrap img {
		/*width: 80%;*/
		/*height: auto;*/
	}
}



/* =====================================================
   Sec Hospital Head + Tour Slider (s1040)
   ===================================================== */
.sec-hospital-head__text {
	text-align: center;
	margin-bottom: 2.5rem;
}

.sec-hospital-head__title {
	font-size: 3rem;
	font-weight: 300;
	color: #222;
	line-height: 1.5;
	margin-bottom: 1.25rem;
}

.sec-hospital-head__title b {
	font-weight: 700;
}

.sec-hospital-head__title--gold {
	color: #b78a3f;
}

.sec-hospital-head__desc {
	font-size: 1.25rem;
	font-weight: 300;
	color: #555555;

}

/* clinic-tab-wrap 제목 없이 탭만 있을 때 (s1040 층별 탭) */
.clinic-tab-wrap--floor {
	padding-top: 2.5rem;
	padding-bottom: 2.5rem;
}

.clinic-tab-wrap--floor .clinic-tab {
	width: 17.8125rem;
}

/* ── Slider ── */
.hospital-tour {
	position: relative;
	width: 100%;
	overflow: hidden;
	padding: 3.75rem 0 12.5rem 0;
}

.hospital-tour__track {
	display: flex;
	gap: 2.5rem; /* 40px */
	transition: transform 0.4s cubic-bezier(.4, 0, .2, 1);
	will-change: transform;
}

.hospital-tour__slide {
	flex-shrink: 0;
	width: 73.75rem; /* 1180px */
	height: 41.75rem; /* 668px */
	overflow: hidden;
	border-radius: 1.25rem;
}

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

.hospital-tour__arrow {
	position: absolute;
	top: 42%;
	transform: translateY(-50%);
	width: 2.875rem;
	height: 2.9375rem;
	border-radius: 50%;
	border: 0.0625rem solid #e1e1e1;
	background: rgba(255, 255, 255, 0.9);
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	z-index: 10;
	padding: 0;
	transition: background .2s, box-shadow .2s;
}

.hospital-tour__arrow:hover {
	background: #fff;
	box-shadow: 0 0.125rem 0.5rem rgba(0, 0, 0, .1);
}

.hospital-tour__arrow img {
	width: 1.25rem;
	height: auto;
	display: block;
}

/* centered on left / right edges of the 1180px center slide */
.hospital-tour__arrow--prev {
	left: calc(50% - 36.875rem - 1.4375rem);
}

.hospital-tour__arrow--next {
	left: calc(50% + 36.875rem - 1.4375rem);
}

.hospital-tour__arrow--next img {
	transform: rotate(180deg);
}


@media (max-width: 90rem) {
	.hospital-tour__slide {
		width: calc(100vw - 8.75rem); /* ~70px per side peek */
		height: auto;
		aspect-ratio: 1180 / 668;
	}

	.hospital-tour__arrow--prev {
		left: 0.875rem;
	}

	.hospital-tour__arrow--next {
		left: auto;
		right: 0.875rem;
	}
}



@media (max-width: 48rem) {
	.sec-hospital-head__title br,
	.sec-hospital-head__desc br {
		display: none;
	}

	.hospital-tour {
		padding: 2.5rem 0 3.75rem;
	}

	.hospital-tour__slide {
		width: calc(100vw - 4rem);
	}

	.clinic-tab-wrap--floor .clinic-tab-rows {
		grid-template-columns: repeat(3, 1fr);
	}

	.clinic-tab-wrap--floor .clinic-tab {
		width: 100%;
	}
}


/* =====================================================
   Sec Access (s1050) — 오시는 길
   ===================================================== */
.sec-access__head {
	margin-bottom: 2.5rem;
	text-align: center;
}

.sec-access__title {
	font-size: 3rem;
	font-weight: 300;
	color: #222;

	margin-bottom: 3rem;
}

.sec-access__title b {
	font-weight: 700;
}

.sec-access__desc {
	font-size: 1.25rem;
	font-weight: 300;
	color: #555555;

	margin-bottom: 2.8125rem;
}

.sec-access__desc b {
	font-weight: 700;
}

/* map-btn 재사용: footer 클래스 그대로, 섹션 내 레이아웃만 보정 */
.sec-access__mapbtns .mapbtn-text {
	color: #222222;
	font-weight: 700;
}

.sec-access__mapbtns {
	display: flex;
	gap: 0.75rem;
	flex-wrap: wrap;
	justify-content: center;
}

/* 지도 */
.sec-access__map {
	width: 100%;
	height: 40.625rem; /* 650px */
	border-radius: 0.75rem;
	overflow: hidden;
	margin-bottom: 3.75rem;
}

/* 교통편 */
.sec-access__transport {
	display: grid;
	grid-template-columns: calc(50% - 0.5rem) calc(50% + 0.5rem);
	gap: 0;
}
.sec-access__transport2 {
	display: grid;
}

.transport-item {
	display: flex;
	align-items: flex-start;
	gap: 2rem;
	padding: 3rem 2rem 3rem 0;
}

.transport-item + .transport-item {
	padding-left: 3rem;
}

/* 아이콘 원형 150×150, bg #e4dedd */
.transport-item__icon-wrap {
	flex-shrink: 0;
	width: 9.375rem; /* 150px */
	height: 9.375rem;
	border-radius: 50%;
	background: #e4dedd;
	display: flex;
	align-items: center;
	justify-content: center;
}

.transport-item__icon-wrap img {
	width: 4.75rem; /* 76px */
	height: 4.75rem;
	display: block;
}

.transport-item__body {
	flex: 1;
	padding-top: 0.75rem;
}

.transport-item__title {
	font-size: 2rem;
	font-weight: normal;
	color: #222;
	margin-bottom: 1.25rem;
}

.transport-item__title b {
	font-weight: 700;
}

/* 지하철 노선 뱃지 */
.subway-route {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.line-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 2rem;
	padding: 0 0.875rem;
	border-radius: 1rem;
	font-size: 1rem;
	font-weight: 700;
	color: #fff;
	white-space: nowrap;
}

.line-badge--4 {
	background: #2c9ede;
}

.line-badge--7 {
	background: #697215;
}

.subway-station {
	font-size: 1.25rem;
	color: #222;
}

.subway-station b {
	font-weight: 700;
}

/* 버스 노선 */
.bus-routes {
	display: flex;
	flex-direction: column;
	gap: 0.625rem;
}

.bus-route {
	display: flex;
	align-items: baseline;
	gap: 0.875rem;
	font-size: 1.25rem;
	word-break: keep-all;
}

.car-route {
	display: flex;
	align-items: baseline;
	gap: 0.875rem;
	font-size: 1.25rem;
}

.car-parking {
	margin-top: 2.5rem;
	width: 10.875rem;
	font-weight: 700;
}

.car-parking-list > li {
	position: relative;
	padding-left: 0.875rem;
	line-height: 1.7;
}

.car-parking-list > li + li {
	margin-top: 0.5rem;
}

.car-parking-list > li::before {
	content: '·';
	position: absolute;
	left: 0;
}

.bus-type {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 3rem;
	height: 1.875rem;
	padding: 0 0.75rem;
	background: #f5f5f5;
	border-radius: 0.5rem;
	font-size: 1rem;
	font-weight: 600;
	color: #555;
	white-space: nowrap;
}

.bus-numbers {
	font-size: 1.25rem;
	color: #222;
	line-height: 1.5;
}

/* 반응형 */

@media (max-width: 56.25rem) {
	.sec-access__transport {
		grid-template-columns: 1fr;
	}

	.transport-item + .transport-item {
		padding-left: 0;
		border-left: none;
		border-top: 0.0625rem solid #e0e0e0;
	}

	.transport-item {
		padding: 2.5rem 0;
	}
}



@media (max-width: 48rem) {
	.sec-access__desc br {
		display: none;
	}

	.sec-access__mapbtns {
		display: grid;
		grid-template-columns: 1fr 1fr;
	}

	.sec-access__mapbtns .site-footer__mapbtn {
		width: 100%;
	}

	.sec-access__map {
		height: 20rem;
	}

	.transport-item__icon-wrap {
		width: 6.25rem;
		height: 6.25rem;
	}

	.transport-item__icon-wrap img {
		width: 3.25rem;
		height: 3.25rem;
	}
}


/* =====================================================
   s1010 — 의료진소개 메인 (2 sections)
   ===================================================== */

/* inner.w1400 centering (clinic-sec 없음) */
.s1010-s01 .inner.w1400 {
	max-width: 87.5rem;
	margin: 0 auto;
	width: 100%;
	box-sizing: border-box;
	padding: 5rem 1.25rem;
	min-height: 81.25rem; /* 1300px */
	display: flex;
	flex-direction: column;
	gap: 3rem;
}

/* ── S01 헤드라인 ── */
.s1010-s01 {
	background: #fff;
	overflow: hidden;
}

.s1010-s01__headline {
	text-align: center;
	flex-shrink: 0;
	position: relative;
	padding-top: 6.8125rem;
}

.s1010-s01__sub {
	font-size: 3rem;
	font-weight: 300;
	color: #222;
	line-height: 1.6;
	margin-top: 1.25rem;
	margin-bottom: 0.625rem;
	position: relative;
	z-index: 1;
}

.s1010-s01__sub b {
	font-weight: 700;
	color: #b78a3f;
}

.s1010-s01__title {
	font-size: 4.25rem;
	font-weight: 300;
	color: #222;
	position: relative;
	z-index: 1;
}

.s1010-s01__title b {
	font-weight: 700;
	color: #b78a3f;
}

/* ── S01 본문 3열 ── */
.s1010-s01__body {
	display: flex;
	justify-content: center;
	align-items: stretch;
}

/* 의사 열 — 왼쪽 top, 오른쪽 bottom */
.s1010-s01__doctor {
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
}

.s1010-s01__doctor--left {
	justify-content: flex-start;
	margin-top: -1rem;
}

.s1010-s01__doctor--right {
	justify-content: flex-end;
	margin-bottom: 6rem;
}

.s1010-s01__doctor-bg {
	position: relative;
	width: 21.875rem;
	height: 33.125rem;
	background: linear-gradient(to bottom, #feffff, #f8f8f8);
	border-radius: 1.25rem;
	overflow: hidden;
}

.s1010-s01__doctor-img {
	/*width: 18.5rem;*/
	/*height: 32.375rem;*/
	object-fit: cover;
	object-position: top center;
	display: block;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}

.s1010-s01__doctor-info {
	padding: 1.25rem 0 0;
	text-align: center;
}

.s1010-s01__doctor-name {
	font-size: 1.5rem;
	font-weight: 300;
	color: #222;
	margin-bottom: 0.875rem;
}

.s1010-s01__doctor-name strong {
	font-weight: 700;
}

.s1010-s01__doctor-dept {
	font-size: 1.25rem;
	color: #666;
	margin-top: 0.25rem;
}

/* 가운데 인사말 */
.s1010-s01__greet {
	width: 44.75rem;
	flex: none;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 5.25rem 0;
	/*border-left: 0.0625rem solid #eee;*/
	/*border-right: 0.0625rem solid #eee;*/
	text-align: center;
	font-size: 1.25rem;
}

.s1010-s01__greet-hello {
	color: #222;
	font-weight: 700;
	/*margin-bottom: 0.875rem;*/
	line-height: 1.7;
	font-size: 1.5rem;
}

.s1010-s01__greet-text {
	color: #444;
	line-height: 2.125rem;
	margin-top: 2.5rem;
}

.s1010-s01__greet-text b {
	color: #d1ac6d;
	font-weight: normal;
	text-decoration: underline;
}

.s1010-s01__greet-text:last-child {
	margin-bottom: 0;
}

/* ── S02: 진료 소개 1180px ── */
.s1010-s02 {
	min-height: 73.75rem; /* 1180px */
	background: linear-gradient(to bottom, #1e314d 0%, #0f1d33 100%);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-end;
	padding: 0;
	overflow: visible;
	position: relative;
}

.s1010-s02__head {
	text-align: center;
	width: 100%;
	max-width: 87.5rem;
	padding: 0 1.25rem;
	box-sizing: border-box;
	margin-bottom: 3.75rem;
}

.s1010-s02__title {
	font-size: 3rem;
	font-weight: 300;
	color: #fff;
	line-height: 1.5;
	margin-bottom: 1rem;
}

.s1010-s02__title b {
	font-weight: 700;
	color: #d1ac6d;
}

.s1010-s02__desc {
	font-size: 1.25rem;
	color: #fff;

}

/* 박스 + 의사 래퍼 */
.s1010-s02__box-wrap {
	width: 100%;
	max-width: 87.5rem; /* 1400px */
	padding: 0 1.25rem;
	box-sizing: border-box;
}

/* 1400 × 305 골드 라운드 박스 */
.s1010-s02__box {
	width: 100%;
	min-height: 18.75rem; /* 305px */
	background: transparent;
	border: 0.125rem solid #b78a3f;
	border-radius: 10rem;
	display: flex;
	align-items: center;
	padding: 2rem 3rem;
	box-sizing: border-box;
	position: relative;
	z-index: 0;
}

.s1010-s02__icons {
	display: flex;
	width: 100%;
	/*gap: 0.5rem;*/
}

.s1010-s02__icon-item {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	padding: 1rem;
	width: 19.375rem;
}

.s1010-s02__icon-img-wrap {
	width: 4.375rem; /* 70px */
	height: 4.375rem;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 1rem;
	flex-shrink: 0;
}

.s1010-s02__icon-img-wrap img {
	width: 4.375rem;
	height: 4.375rem;
	filter: brightness(0) saturate(100%) invert(65%) sepia(32%) saturate(460%) hue-rotate(345deg) brightness(95%);
}

.s1010-s02__icon-title {
	font-size: 1.5rem;
	font-weight: 700;
	color: #d1ac6d;

	margin-bottom: 0.5rem;
}

.s1010-s02__icon-desc {
	font-size: 1.25rem;
	color: #fff;

}

/* cartoon 의사 2명 — 박스 하단 걸침 */
.s1010-s02__doctors {
	display: flex;
	justify-content: center;
	align-items: flex-end;
	margin-top: -2.15rem;
	margin-bottom: -0.5rem;
	position: relative;
	z-index: 2;
}

.s1010-s02__doc {
	width: 18.5rem;
	height: 32.375rem;
	display: block;
}

.s1010-s02__doc--left {
	transform: translateX(2rem);
	z-index: 1;
	position: relative;
}

.s1010-s02__doc--right {
	transform: translateX(-2rem);
	z-index: 2;
	position: relative;
}

/* ── Responsive: tablet ── */

@media (max-width: 56.25rem) {
	.s1010-s01 .inner.w1400 {
		padding: 3rem 1.25rem;
		min-height: auto;
	}

	.s1010-s01__body {
		flex-direction: row;
		flex-wrap: wrap;
		gap: 2rem;
	}

	.s1010-s01__greet {
		order: 1;
		width: 100%;
		border: none;
		border-bottom: 0.0625rem solid #eee;
		padding: 0 0 2rem;
	}

	.s1010-s01__doctor {
		order: 2;
		width: calc(50% - 1rem);
		flex-direction: column;
		align-items: center;
		gap: 0.75rem;
		justify-content: flex-start;
	}

	.s1010-s01__doctor--left {
		margin-top: 0;
	}

	.s1010-s01__doctor--right {
		margin-bottom: 0;
	}

	.s1010-s01__doctor-bg {
		width: 100%;
		aspect-ratio: 2 / 3;
		height: auto;
	}

	.s1010-s01__doctor-img {
		/*width: 90%;*/
		/*height: 90%;*/
		object-fit: contain;
		object-position: bottom center;
	}

	.s1010-s01__doctor-info {
		text-align: center;
	}

	.s1010-s02__box {
		border: none;
		border-radius: 0;
		padding: 2rem 1.5rem;
	}

	.s1010-s02__icons {
		flex-direction: column;
		align-items: center;
		gap: 1.5rem;
	}

	.s1010-s02__icon-item {
		width: 100%;
		box-sizing: border-box;
		flex-direction: column;
		align-items: center;
		text-align: center;
		padding: 0.75rem 0;
	}

	.s1010-s02__doctors {
		display: none;
	}

	.s1010-s02 {
		min-height: auto;
		justify-content: flex-start;
		padding: 4rem 0;
	}
}


/* ── Responsive: mobile ── */

@media (max-width: 48rem) {
	/* 레이아웃: 인사말 상단 + 원장 2열 하단 */
	.s1010-s01__body {
		flex-direction: row;
		flex-wrap: wrap;
		gap: 1.5rem;
	}

	.s1010-s01__greet {
		order: 1;
		width: 100%;
		border-top: none;
		border-bottom: 0.0625rem solid #eee;
		padding: 0 0 1.5rem;
	}

	.s1010-s01__doctor {
		order: 2;
		width: calc(50% - 0.75rem);
		flex-direction: column;
		align-items: center;
		justify-content: flex-start;
		gap: 0.75rem;
	}

	.s1010-s01__doctor--left {
		margin-top: 0;
	}

	.s1010-s01__doctor--right {
		margin-bottom: 0;
	}

	.s1010-s01__doctor-bg {
		width: 100%;
		aspect-ratio: 2 / 3;
		height: auto;
	}

	.s1010-s01__doctor-img {
		width: 100%;
		max-width: 310px;
		object-fit: contain;
		object-position: bottom center;
	}

	.s1010-s01__doctor-info {
		text-align: center;
	}

	.s1010-s01__greet-text br,
	.s1010-s02__title br,
	.s1010-s02__icon-desc br {
		display: none;
	}
}


/* =====================================================
   s1020 — 의료진소개 (6 sections)
   ===================================================== */

/* ── S01: 헤드 + 1800×450 크롭 이미지 ── */
.s1020-s01 {
	padding: 5rem 0 0 0;
	background: #fff;
}

.s1020-s01__head {
	text-align: center;
	height: 40rem;
	padding-top: 6.8125rem;
	padding-bottom: 3.75rem;
	position: relative;
	box-sizing: border-box;
}

.s1010-s01__bg-text,
.s1020-s01__bg-text {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	font-size: 11.25rem;
	font-weight: 700;
	color: transparent;
	-webkit-text-stroke: 0.0625rem #c78a35;
	text-stroke: 0.0625rem #c78a35;
	opacity: 0.2;
	white-space: nowrap;

	pointer-events: none;
	user-select: none;
	z-index: 0;
}

.s1020-s01__title {
	font-size: 3rem;
	font-weight: 300;
	color: #222;
	line-height: 1.5;
	margin-top: 1.25rem;
	margin-bottom: 3rem;
	position: relative;
	z-index: 1;
}

.s1020-s01__title b {
	font-weight: 700;
}

.s1020-s01__title-line {
	display: block;
}

.s1020-s01__title-sep {
	display: block;
	width: 0.0625rem;
	height: 5rem;
	background: #000;
	margin: 0.8125rem auto;
}

.s1020-s01__desc {
	font-size: 1.25rem;
	font-weight: 300;
	color: #555555;
	position: relative;
	z-index: 1;
	margin-bottom: 8.75rem;
}

.s1020-s01__crop-wrap {
	max-width: 112.5rem; /* 1800px */
	margin: 0 auto 0 auto;
	padding: 0 2rem;
}

.s1020-s01__crop {
	width: 100%;
	height: 28.125rem; /* 450px */
	object-fit: cover;
	object-position: center;
	border-radius: 1.25rem; /* 20px */
	display: block;
}

/* ── Scroll-jacking overlay ── */
.s1020-jack {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 90;
	background: #fff;
}

.s1020-jack__crop {
	position: absolute;
	overflow: hidden;
	background: #fff;
	will-change: left, top, width, height;
}

.s1020-jack__crop img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
	will-change: border-radius;
}

.s1020-seq__slide {
	position: absolute;
	inset: 0;
	opacity: 0;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
}

.s1020-seq__bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
}

.s1020-seq__overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.52);
}

.s1020-seq__text {
	opacity: 1;
}

.s1020-char {
	color: rgba(255, 255, 255, 0.2);
}

/* ── S02 & S03: 1920×1000 풀 배경 ── */
.s1020-s02,
.s1020-s03 {
	height: 62.5rem; /* 1000px */
	background-size: cover;
	background-position: center;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}

.s1020-s02 {
	background-image: url('/assets/img/sub/r10/s1020_s02.jpg');
}

.s1020-s03 {
	background-image: url('/assets/img/sub/r10/s1020_s03.jpg');
}

.s1020-s02::before,
.s1020-s03::before {
	content: '';
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, .52);
}

.s1020-fullbg__cont {
	position: relative;
	z-index: 1;
	text-align: center;
	max-width: 87.5rem;
	margin: 0 auto;
	padding: 0 2rem;
}

.s1020-fullbg__title {
	font-size: 3rem;
	font-weight: 300;
	color: #fff;
	line-height: 1.5;
	margin-bottom: 1.5rem;
}

.s1020-fullbg__title b {
	font-weight: 700;
}

.s1020-fullbg__desc {
	font-size: 1.25rem;
	font-weight: 300;
	color: #fff;
}

/* ── S01, S04: .inner.w1400 centering (.clinic-sec 없음) ── */
.s1020-s01 .inner.w1400,
.s1020-s04 .inner.w1400 {
	max-width: 87.5rem;
	margin: 0 auto;
	width: 100%;
	box-sizing: border-box;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
}

/* ── S04: 진료 원칙 롤링 ── */
.s1020-s04 {
	padding: 12.635rem 0 6rem 0;
	background: #fff;
}

/* 왼쪽(레이블+이미지) + 오른쪽(아이템) 2열 구조 */
.s1020-s04__layout {
	display: flex;
	gap: 3.75rem;
	align-items: flex-start;
	margin-top: 10.5rem;
	padding-bottom: 10rem;
}

/* 왼쪽 열: 630px 고정, 레이블 + 절대이미지 */
.s1020-s04__left {
	flex-shrink: 0;
	width: 39.375rem; /* 630px */
	position: relative;
}

.s1020-s04__label {
	font-size: 3rem;
	font-weight: 300;
	color: #222;
}

.s1020-s04__label b {
	font-weight: 700;
	color: #b78a3f;
}

/* 이미지 630×400, 왼쪽 열 내 절대 위치 — JS가 top 조정 */
.s1020-s04__img {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 25rem; /* 400px */
	border-radius: 1.25rem;
	object-fit: cover;
	display: block;
	transition: top 0.42s cubic-bezier(0.4, 0, 0.2, 1), opacity .22s ease;
}

/* 오른쪽 열: 아이템 목록 */
.s04-list {
	flex: 1;
	min-width: 0;
	list-style: none;
	padding: 0;
	margin: 0;
}

.s04-item {
	display: flex;
	align-items: flex-start;
	gap: 1.25rem;
	padding: 1.875rem 0;
	/*border-bottom: 0.0625rem solid #e8e8e8;*/
	cursor: pointer;
}

.s04-item:first-child {
	/*border-top: 0.0625rem solid #e8e8e8;*/
}

/* 숫자 원 47×47 */
.s04-num {
	flex-shrink: 0;
	width: 2.9375rem;
	height: 2.9375rem;
	border-radius: 50%;
	background: #f1f1f1;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1rem;
	font-weight: 700;
	color: #666;
	transition: background .25s, color .25s;
}

.s04-text {
	margin-top: 0.95rem;
}

.s04-text h3 {
	font-size: 1.375rem;
	font-weight: 600;
	color: #666;
	margin: 1.5rem 0 0.5rem 0;
	transition: color .25s;
}

.s04-text p {
	font-size: 1.125rem;
	color: #666;
	transition: color .25s;
}

/* 활성 항목 */
.s04-item.active .s04-num {
	background: #b78a3f;
	color: #fff;
}

.s04-item.active .s04-text h3 {
	color: #222;
}

.s04-item.active .s04-text p {
	color: #444;
}

/* ── S05: 세 가지 비전 ── */
.s1020-s05 {
	min-height: 59.375rem; /* 950px */
	background: linear-gradient(to bottom, #1e314d 0%, #0f1d33 100%);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 5rem 2rem;
}

.s1020-s05__title {
	font-size: 3rem;
	font-weight: 300;
	color: #fff;
	text-align: center;
	margin-bottom: 4rem;
}

.s1020-s05__title b {
	font-weight: 700;
	color: #b78a3f;
}

.s05-circles {
	display: flex;
	align-items: center;
	justify-content: center;
}

/* 원 480×480, border만 #b78a3f */
.s05-circle {
	flex-shrink: 0;
	width: 30rem; /* 480px */
	height: 30rem;
	border-radius: 50%;
	border: 0.125rem solid #b78a3f;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 2.5rem;
	box-sizing: border-box;
	margin-left: -3.75rem; /* 겹침 */
	position: relative;
	background: transparent;
}

.s05-circle:first-child {
	margin-left: 0;
}

.s05-vision-num {
	font-size: 1.25rem;
	font-weight: 700;
	color: #b78a3f;
	letter-spacing: .1em;
	margin-bottom: 1rem;
}

.s05-circle h3 {
	font-size: 2rem;
	font-weight: 700;
	color: #fff;

	margin: 2rem 0;
}

.s05-circle p {
	font-size: 1.25rem;
	color: #fff;

}

/* ── S06: 로고 + 클로징 ── */
.s1020-s06 {
	min-height: 50.9375rem; /* 815px */
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 5rem 2rem;
	background: #fff;
}

.s1020-s06__logo {
	width: 12.9375rem; /* 207px */
	height: auto;
	margin-bottom: 2.5rem;
}

.s1020-s06__title {
	font-size: 3rem;
	font-weight: 300;
	color: #222;
	line-height: 1.65;
	margin-bottom: 1.5rem;
}

.s1020-s06__title b {
	font-weight: 700;
}

.s1020-s06__desc {
	font-size: 1.25rem;
	font-weight: 300;
	color: #555;

}

/* ── Responsive ── */

@media (max-width: 90.625rem) {
	.s1020-s01__crop-wrap {
		padding: 0 1rem;
	}
}



@media (max-width: 56.25rem) {
	.s1020-s04 {
		padding-top: 4rem;
		padding-bottom: 3rem;
	}

	.s1020-s04__layout {
		flex-direction: column;
		gap: 2rem;
		margin-top: 4rem;
		padding-bottom: 3rem;
	}

	.s1020-s04__left {
		width: 100%;
	}

	.s1020-s04__img {
		position: static;
		width: 100%;
		height: auto;
		aspect-ratio: 16 / 9;
	}

	/* 비전 원: 세로 배열 */
	.s05-circles {
		flex-direction: column;
		gap: 0;
	}

	.s05-circle {
		margin-left: 0;
		margin-top: -2rem;
		width: 25rem;
		height: 25rem;
	}

	.s05-circle:first-child {
		margin-top: 0;
	}
}



@media (max-width: 48rem) {
	.s1020-s01 {
		padding-top: 3.125rem;
	}

	/* jack 모바일: 애니메이션 활성 — JS가 제어 */

	.s05-circle {
		width: 22rem;
		height: 22rem;
		padding: 1.5rem;
		margin-top: -1.5rem;
	}

	.s05-circle h3 {
		font-size: 1.5rem;
	}

	.s1020-s01__title br,
	.s1020-s01__desc br,
	.s05-circle p br,
	.s1020-s06__title br,
	.s1020-s06__desc br,
	.s1020-fullbg__desc br {
		display: none;
	}

	.s1020-s06__logo {
		width: 9rem;
	}
}


/* sec-fractype : 주요 상지 골절 종류 */
.sec-fractype {
	padding: 5rem 0;
	background: #fff;
}

.sec-fractype__title {
	font-size: 2rem;
	font-weight: 700;
	color: #222222;
	margin-bottom: 2rem;
}

.sec-fractype__title span {
	color: #b78a3f;
}

.fractype-list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.fractype-item {
	display: flex;
	align-items: center;
	gap: 1.25rem;
	background: #f5f5f5;
	border-radius: 0.75rem;
	min-height: 10.625rem;
	padding: 0 2rem;
}

.fractype-item--last {
	grid-column: 1 / -1;
	max-width: calc(50% - 0.5rem);
}

.fractype-num {
	margin-bottom: 2rem;
	flex-shrink: 0;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 50%;
	background: #bc9352;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0.875rem;
	font-weight: 700;
}

.fractype-name {
	font-size: 1.5rem;
	font-weight: 700;
	color: #222222;
	margin: 0 0 0.5rem;
}

.fractype-desc {
	font-size: 1.25rem;
	color: #222222;
	margin: 0;
}


@media (max-width: 48rem) {
	.fractype-list {
		grid-template-columns: 1fr;
	}

	.fractype-item {
		min-height: auto;
		padding: 1.25rem;
	}

	.fractype-item--last {
		grid-column: auto;
		max-width: none;
	}
}


/* =====================================================
   s2010 — 진료안내 (2 sections)
   ===================================================== */

/* inner.w1400 centering (clinic-sec 없음) */
.s2010-s01 .inner.w1400,
.s2010-s02 .inner.w1400 {
	max-width: 87.5rem;
	margin: 0 auto;
	width: 100%;
	box-sizing: border-box;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
}

/* ── S01: 상단 진료 시간 안내 ── */
.s2010-s01 {
	background: #fff;
	min-height: 58.125rem;
	display: flex;
	align-items: center;
}

.s2010-s01 .inner.w1400 {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 3.75rem;
	padding-top: 4.375rem;
	padding-bottom: 4.375rem;
}

.s2010-s01__head {
	text-align: center;
	margin-bottom: 8.4375rem;
}

.s2010-s01__sub {
	font-size: 1.375rem;
	font-weight: 300;
	color: #222;
	margin-bottom: 0.5rem;
}

.s2010-s01__title {
	font-size: 3rem;
	font-weight: 300;
	color: #222;

	margin-bottom: 1.25rem;
}

.s2010-s01__title b {
	font-weight: 700;
}

.s2010-s01__desc {
	font-size: 1.25rem;
	color: #555;

}

/* 4개 박스 행 */
.s2010-s01__boxes {
	display: flex;
	gap: 1.875rem;
	justify-content: center;
}

/* 개별 박스 328 × 328px */
.s2010-s01__box {
	width: 20.5rem;
	height: 20.5rem;
	background: #f5f5f5;
	border-radius: 1.25rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding-top: 4.1875rem; /* 67px */
	padding-left: 1rem;
	padding-right: 1rem;
	padding-bottom: 1.875rem;
	box-sizing: border-box;
	gap: 0.875rem;
}

/* 아이콘 영역 */
.s2010-s01__icon-wrap {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.s2010-s01__icon-wrap img {
	width: 5.625rem;
	height: auto;
	display: block;
}

.s2010-s01__icon-wrap--lunch img {
	width: 5rem;
	height: 4.9375rem;
	object-fit: contain;
}

/* 아이콘 위 week / sat / sun 텍스트 */
.s2010-s01__day-code {
	position: absolute;
	top: 63%;
	left: 50%;
	transform: translate(-50%, -35%);
	font-size: 1rem;
	font-weight: 600;
	color: #1e314e;

	pointer-events: none;
}

/* 라운드 배지 100 × 33px */
.s2010-s01__badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 6.25rem;
	height: 2.0625rem;
	background: #1e314e;
	border-radius: 2rem;
	color: #fff;
	font-size: 1.25rem;
	font-weight: 500;

	flex-shrink: 0;
}

/* 시간 텍스트 */
.s2010-s01__time {
	font-size: 1.75rem;
	color: #222;
	font-weight: 400;

	text-align: center;
	white-space: nowrap;
}

/* ── S02: 하단 진료 시간표 ── */
.s2010-s02 {
	background: #f5f5f5;
	min-height: 50.625rem;
	padding: 4.375rem 0 5rem;
}

.s2010-s02__title {
	font-size: 2rem;
	font-weight: 700;
	color: #111;
	margin-top: 4.75rem;
	margin-bottom: 1.125rem;
}

.s2010-s02__table-wrap {
	width: 100%;
	overflow-x: auto;
}

/* 진료 시간표 테이블 */
.sch-table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	table-layout: fixed;
}

.sch-col-doctor {
	width: 16rem;
}

.sch-col-ampm {
	width: 5rem;
}

/* 헤더 행 80px, #1e314e */
.sch-head th {
	height: 5rem;
	background: #1e314e;
	color: #fff;
	font-size: 1.25rem;
	font-weight: 500;
	text-align: center;
	vertical-align: middle;
	padding: 0 0.5rem;
	border: none;
}

.sch-head th:first-child {
	border-radius: 0.625rem 0 0 0.625rem;
}

.sch-head th:last-child {
	border-radius: 0 0.625rem 0.625rem 0;
}

/* 그룹 사이 spacer 10px */
.sch-spacer td {
	height: 0.625rem;
	padding: 0;
	background: #f5f5f5;
	border: none;
}

/* 오전 행: 카드 상단 테두리 + 셀 구분선 */
.sch-row--am td {
	background: #fff;
	text-align: center;
	padding: 0.875rem 0.5rem;
	border-top: 0.0625rem solid #e0e0e0;
	border-right: 0.0625rem solid #e0e0e0;
	border-bottom: none;
	border-left: none;
	vertical-align: middle;
}

.sch-row--am td:last-child {
	border-top-right-radius: 0.625rem;
}

/* 오후 행: 오전/오후 구분선 + 카드 하단 테두리 */
.sch-row--pm td {
	background: #fff;
	text-align: center;
	padding: 0.875rem 0.5rem;
	border-top: 0.0625rem solid #e0e0e0;
	border-right: 0.0625rem solid #e0e0e0;
	border-bottom: 0.0625rem solid #e0e0e0;
	border-left: none;
	vertical-align: middle;
}

/* rowspan=2 병합 셀: 카드 하단 테두리 추가 */
.sch-cell--merged {
	border-bottom: 0.0625rem solid #e0e0e0 !important;
}

/* pm 행 또는 병합 마지막 열: 우하단 라운드 */
.sch-cell--last {
	border-bottom-right-radius: 0.625rem;
}

/* 의료진 셀 (rowspan=2) — 카드 좌측 전체 + 라운드 */
.sch-doctor {
	border-top: 0.0625rem solid #e0e0e0 !important;
	border-bottom: 0.0625rem solid #e0e0e0 !important;
	border-left: 0.0625rem solid #e0e0e0 !important;
	border-right: 0.0625rem solid #e0e0e0 !important;
	border-top-left-radius: 0.625rem;
	border-bottom-left-radius: 0.625rem;
	text-align: center !important;
	padding: 1rem 1.5rem !important;
	vertical-align: middle !important;
}

.sch-doctor-name {
	display: block;
	font-size: 1.875rem;
	font-weight: 400;
	color: #212121;

}

.sch-doctor-name b {
	font-weight: 700;
}

.sch-doctor-pos {
	font-size: 1.875rem;
	font-weight: 400;
	color: #666;
	margin-left: 0.375rem;
}

.sch-doctor-dept {
	display: block;
	font-size: 1rem;
	color: #666;
	margin-top: 0.25rem;
}

/* 오전/오후 셀 */
.sch-ampm {
	font-size: 1.25rem;
	color: #212121;
	font-weight: 500;
}

/* 진료 텍스트 */
.sch-text {
	font-size: 1.25rem;
	color: #222;
	font-weight: 700;
}

/* 배지 공통 */
.sch-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.3rem 0.875rem;
	border-radius: 2rem;
	font-size: 1.25rem;
	color: #fff;
	font-weight: 700;

	text-align: center;
}

.sch-badge--rest {
	background: #b4b4b4;
}

.sch-badge--surgery {
	background: #be9d7d;
}

.sch-badge--cycle {
	background: #b4b4b4;
}

/* ── Responsive ── */

@media (max-width: 80rem) {
	.s2010-s01__boxes {
		flex-wrap: wrap;
		gap: 1.25rem;
	}
}



@media (max-width: 56.25rem) {
	.s2010-s01 {
		min-height: auto;
	}

	.s2010-s01 .inner.w1400 {
		gap: 2.5rem; padding-top: 3.5rem; padding-bottom: 3.5rem;
	}

	.s2010-s01__head {
		margin-bottom: 2.5rem;
	}

	.s2010-s01__box {
		width: calc(25% - 0.9375rem);
		height: auto;
		padding-top: 2rem;
		padding-bottom: 2rem;
	}

	.s2010-s02 {
		min-height: auto; padding: 3rem 0;
	}

	.s2010-s02__title {
		margin-top: 0; margin-bottom: 1rem;
	}

	.sch-doctor-pos {
		display: block;
		margin-left: 0;
	}
}



@media (max-width: 48rem) {
	.s2010-s01 {
		min-height: auto;
	}

	.s2010-s01 .inner.w1400 {
		padding-top: 2.5rem;
		padding-bottom: 2.5rem;
		gap: 2rem;
	}

	.s2010-s01__head {
		margin-bottom: 1.5rem;
	}

	.s2010-s02 {
		min-height: auto; padding: 2rem 0;
	}

	.s2010-s02__title {
		margin-top: 0; margin-bottom: 0.75rem;
	}

	.s2010-s01__title br,
	.s2010-s01__desc br {
		display: none;
	}

	.s2010-s01__box {
		width: calc(50% - 0.625rem);
		height: auto;
		padding-top: 2rem;
		padding-bottom: 2rem;
	}

	.sch-col-doctor {
		width: 12rem;
	}

	.sch-col-ampm {
		width: 5.25rem;
	}

	.sch-table {
		min-width: 54rem;
	}

	.sch-head th {
		padding: 0 1rem;
	}

	.sch-row--am td,
	.sch-row--pm td {
		padding: 0.875rem 1rem;
	}

	.sch-ampm {
		white-space: nowrap;
	}
}


/* =====================================================
   s2020 — 입·퇴원 안내 (2 sections)
   ===================================================== */

/* inner.w1400 centering (clinic-sec 없음) */
.s2020-s01 .inner.w1400,
.s2020-s02 .inner.w1400 {
	max-width: 87.5rem;
	margin: 0 auto;
	width: 100%;
	box-sizing: border-box;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
}

/* 섹션 공통 */
.s2020-s01 {
	background: #fff;
	padding: 7.1875rem 0 5rem;
}

.s2020-s02 {
	background: #fff;
	padding: 4.375rem 0 10rem;
}

/* 섹션 타이틀 */
.s2020__sec-title {
	font-size: 2rem;
	font-weight: 700;
	color: #111;
	margin-bottom: 2.5rem;
}

/* ── 스텝 박스 행 ── */
.s2020-steps {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 2.5rem;
}

/* 개별 스텝 박스 330 × 330px */
.s2020-step {
	width: 20.625rem;
	height: 20.625rem;
	background: #f5f5f5;
	border-radius: 0.75rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding-top: 4.25rem; /* 68px */
	box-sizing: border-box;
	flex-shrink: 0;
}

/* 아이콘 영역 */
.s2020-step__icon-wrap {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 2.25rem; /* 36px: 아이콘 ↔ 배지 */
}

.s2020-step__icon-wrap img {
	width: 4.625rem;
	height: auto;
	display: block;
}

/* 라운드 배지 100 × 32px */
.s2020-step__badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 6.25rem;
	height: 2rem;
	background: #1e314e;
	border-radius: 2rem;
	color: #fff;
	font-size: 1.25rem;
	font-weight: 600;

	flex-shrink: 0;
	margin-bottom: 1.125rem; /* 18px: 배지 ↔ 레이블 */
}

/* s2020-s02 배지 색상 변경 */
.s2020-s02 .s2020-step__badge {
	background: #c78a35;
}

/* 스텝 레이블 */
.s2020-step__label {
	font-size: 1.75rem;
	color: #1e314e;
	font-weight: 500;

	text-align: center;
}

/* ── 안내 텍스트 영역 ── */
.s2020-info {
}

/* 번호 목록 */
.s2020-info__list {
	list-style: none;
	padding: 1rem 0 0 0;
	margin: 0 0 1.5rem;
	counter-reset: s2020-item;
	border-bottom: 0.0625rem solid #dddddd;
}

.s2020-info__list--no-bottom {
	border-bottom: none;
}

.s2020-info__list li {
	counter-increment: s2020-item;
	font-size: 1.25rem;
	color: #111111;
	line-height: 1.75;
	padding: 0.875rem 0 0.875rem 2rem;
	border-top: 0.0625rem solid #dddddd;
	position: relative;
}

/*.s2020-info__list li:first-child {*/
/*	border-top: 0.0625rem solid #dddddd;*/
/*}*/

.s2020-info__list li::before {
	content: counter(s2020-item) '.';
	position: absolute;
	left: 0;
	top: 0.875rem;
	font-weight: 700;
	color: #1e314e;
	font-size: 1.25rem;
}

/* 박싱 정보 영역 (section 1) */
.s2020-info__box {
	border: 0.0625rem solid #dddddd;
	border-radius: 0.5rem;
	padding: 1.5rem 1.875rem;
	margin-top: 1.5rem;
}

.s2020-info__box p {
	font-size: 1.25rem;
	color: #111111;

	margin: 0;
}

.s2020-info__box p + p {
	margin-top: 0.5rem;
}

.s2020-info__note {
	font-size: 1.125rem !important;
	color: #666 !important;
	padding-left: 1.5rem !important;
}

.s2020-info__box b {
	font-weight: 700;
	color: #1e314e;
	margin-right: 0.5rem;
}

/* ── Responsive ── */

@media (max-width: 80rem) {
	.s2020-steps {
		display: grid;
		grid-template-columns: repeat(4, 1fr);
	}

	.s2020-step {
		width: auto;
		height: auto;
		padding-bottom: 2rem;
	}
}



@media (max-width: 48rem) {
	.s2020-steps {
		grid-template-columns: repeat(2, 1fr);
	}
}


/* =====================================================================
   s2030 — 증명서 발급
   ===================================================================== */

.s2030-s01 {
	padding: 5rem 0 4.375rem;
	background: #fff;
}

.s2030-s01 .inner.w1400,
.s2030-s02 .inner.w1400 {
	max-width: 87.5rem;
	margin: 0 auto;
	padding: 0 1.25rem 2rem 1.25rem;
}

/* Head */
.s2030-s01__head {
	text-align: center;
	margin-bottom: 3.75rem;
}

.s2030-s01__title {
	font-size: 3rem;
	font-weight: 700;
	color: #111;

	margin: 0 0 1rem;
}

.s2030-s01__desc {
	font-size: 1.125rem;
	color: #111;
	line-height: 1.7;
	margin: 0;
}

/* Step Boxes */
.s2030-steps {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 3rem;
}

.s2030-step {
	flex: 0 0 20.625rem;
	width: 20.625rem;
	height: 20.625rem;
	background: #f5f5f5;
	border-radius: 0.75rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding-top: 4.25rem;
}

.s2030-step__icon-wrap {
	width: 6.25rem;
	height: 6.25rem;
	margin-bottom: 2.25rem;
	display: flex;
	align-items: center;
	justify-content: center;
}

.s2030-step__icon-wrap img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.s2030-step__badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 6.25rem;
	height: 2rem;
	background: #1e314e;
	color: #fff;
	font-size: 1.25rem;
	font-weight: 600;
	border-radius: 6.25rem;
	margin-bottom: 1.125rem;
}

.s2030-step__label {
	font-size: 1.75rem;
	font-weight: 700;
	color: #222222;
	margin: 0;
}

/* Download Buttons */
.s2030-btns {
	display: flex;
	justify-content: center;
	gap: 1.25rem;
}

.s2030-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.625rem;
	width: 16.25rem;
	height: 3.75rem;
	border-radius: 2rem;
	font-size: 1.125rem;
	font-weight: 600;
	color: #fff;
	text-decoration: none;
	transition: opacity 0.2s;
}

.s2030-btn:hover {
	opacity: 0.85;
}

.s2030-btn--navy {
	background: #1e314e;
}

.s2030-btn--gold {
	background: #c78a35;
}

.s2030-btn__icon {
	width: 1.375rem;
	height: 1.375rem;
	object-fit: contain;
}

/* Section 2 */
.s2030-s02 {
	padding: 4.375rem 0 5rem;
	background: #f5f5f5;
}

/* Table Group */
.s2030-tbl-group {
	margin-bottom: 6rem;
}

.s2030-tbl-group:last-child {
	margin-bottom: 0;
}

.s2030-tbl-group__header {
	display: flex;
	align-items: baseline;
	gap: 1rem;
	margin: 0 0 1rem;
}

.s2030-tbl-group__title {
	font-size: 1.625rem;
	font-weight: 700;
	color: #111;
	margin: 0;
}

.s2030-tbl-group__desc {
	font-size: 1.125rem;
	color: #666;
	line-height: 1.7;
	margin: 0;
}

/* ── Type A: 가로 헤더 테이블 (환자 본인/가족/대리인/사망) ── */
.s2030-tbl-a {
	width: 100%;
	table-layout: fixed;
	border-collapse: separate;
	border-spacing: 0;
	border-bottom: 0.0625rem solid #e6e6e6;
}

/* 1번: 3등분 */
.s2030-tbl-a--eq thead th { width: 33.333%; }

/* 2~4번: 컬럼 비율 (원 87.5rem 기준 → % 변환) */
.s2030-tbl-a:not(.s2030-tbl-a--eq) thead th:nth-child(1) { width: 25%; }
.s2030-tbl-a:not(.s2030-tbl-a--eq) thead th:nth-child(2) { width: 50%; }
.s2030-tbl-a:not(.s2030-tbl-a--eq) thead th:nth-child(3) { width: 25%; }

.s2030-tbl-a thead th {
	background: #1e314e;
	color: #fff;
	font-size: 1.25rem;
	font-weight: 600;
	text-align: center;
	height: 5rem;
	padding: 0 1.5rem;
	vertical-align: middle;
	border-right: 0.0625rem solid #a7adb5;
}

.s2030-tbl-a thead th:first-child {
	border-radius: 2rem 0 0 2rem;
}

.s2030-tbl-a thead th:last-child {
	border-radius: 0 2rem 2rem 0;
	border-right: none;
}

.s2030-tbl-a tbody td {
	font-size: 1.25rem;
	color: #111;
	padding: 1.5rem;
	border-bottom: 0.0625rem solid #e6e6e6;
	border-right: 0.0625rem solid #e6e6e6;
	vertical-align: middle;
	text-align: center;
	background: transparent;
}

.s2030-tbl-a tbody td:last-child {
	border-right: none;
}

.s2030-tbl-a tbody td:nth-child(2) {
	text-align: left;
	padding-left: 2.5rem;
}

.s2030-td-sub {
	display: block;
	font-size: 1rem;
	color: #666;
	margin-top: 0.25rem;
}

/* ── Type B: 왼쪽 헤더 테이블 (대리처방/MRI/위조) ── */
.s2030-tbl-b {
	width: 100%;
	border-collapse: collapse;
	border-top: 0.1875rem solid #1e314e;
}

.s2030-tbl-b--gold {
	border-top-color: #c78a35;
}

.s2030-tbl-b--gray {
	border-top-color: #666;
}

.s2030-tbl-b--plain {
	border-top: 0.0625rem solid #c6c9cd;
}

.s2030-tbl-b tbody th {
	width: 18.75rem;
	background: #1e314e;
	color: #fff;
	font-size: 1.25rem;
	font-weight: 600;
	padding: 1.5rem;
	vertical-align: middle;
	border-bottom: 0.0625rem solid #c6c9cd;
	line-height: 1.5;
}

.s2030-tbl-b--gold tbody th {
	background: #c78a35;
}

.s2030-tbl-b--gray tbody th {
	background: #666;
}

.s2030-tbl-b tbody td {
	font-size: 1.25rem;
	color: #111;
	padding: 1.5rem;
	border-bottom: 0.0625rem solid #c6c9cd;
	vertical-align: middle;
	line-height: 1.6;
}

.s2030-tbl-b tbody tr:last-child th,
.s2030-tbl-b tbody tr:last-child td {
	border-bottom: 0.0625rem solid #c6c9cd;
}

/* 왼쪽 th 안 서브텍스트 */
.s2030-tbl-b__th-sub {
	display: block;
	font-size: 1.125rem;
	font-weight: 400;
	margin-top: 0.5rem;
	opacity: 0.85;
	line-height: 1.5;
}

/* 비고 note 텍스트 */
.s2030-tbl-note {
	display: block;
	font-size: 1.125rem;
	color: #212121;
	margin-top: 0.375rem;
	line-height: 1.6;
}

.s2030-tbl-note--lg {
	font-size: 1.25rem;
}

.s2030-tbl-em {
	font-size: 1.125rem;
	color: #cb3c3c;
}

.s2030-tbl-note-cols {
	display: flex;
	gap: 1rem;
}

.s2030-tbl-note-cols .s2030-tbl-note {
	flex: 1;
}

/* 번호 리스트 (ol) */
.s2030-tbl-list {
	margin: 0;
	padding-left: 1.25rem;
	list-style: decimal;
}

.s2030-tbl-list > li {
	line-height: 1.7;
}

.s2030-tbl-list > li + li {
	margin-top: 0;
}

.s2030-tbl-list--no-num {
	list-style: none;
	margin-left: -1.25rem;
}

.s2030-tbl-a__common {
	text-align: left !important;
}

.s2030-tbl-dash-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.s2030-tbl-dash-list > li {
	padding: 0.2rem 0;
	line-height: 1.7;
	padding-left: 1.25rem;
	position: relative;
}

.s2030-tbl-dash-list > li::before {
	content: '-';
	position: absolute;
	left: 0;
}

.s2030-tbl-dash-list > li + li {
	margin-top: 0.5rem;
}

.s2030-tbl-no-bullet {
	list-style: none;
	padding-left: 0;
}

.s2030-tbl-newline {
	display: block;
	margin-top: 0;
	line-height: 0.5;
}

.s2030-delegate-item {

}

.s2030-delegate-label {
	font-size: 1.25rem;
}

.s2030-delegate-desc {
	font-size: 1.125rem;
}

.s2030-tbl-footnote-wrap--right {
	text-align: right;
}

.s2030-tbl-footnote-wrap--right .s2030-tbl-footnote > li {
	font-size: 1.125rem;
}

.s2030-tbl-footnote {
	list-style: none;
	padding: 0.5rem 0 0 0;
	margin: 0;
}

.s2030-tbl-footnote > li {
	font-size: 1.25rem;
	line-height: 1.7;
}

/* 불릿 리스트 (구비서류의 조건) */
.s2030-tbl-blist {
	margin: 0;
	padding: 0;
	list-style: none;
}

.s2030-tbl-blist > li {
	position: relative;
	padding-left: 0.875rem;
	line-height: 1.7;
}

.s2030-tbl-blist > li + li {
	margin-top: 0.5rem;
}

.s2030-tbl-blist > li::before {
	content: '-';
	position: absolute;
	left: 0;
}

/* ── Responsive ── */

@media (max-width: 80rem) {
	.s2030-steps {
		display: grid;
		grid-template-columns: repeat(4, 1fr);
	}

	.s2030-step {
		flex: unset;
		width: auto;
		height: auto;
		padding-bottom: 2rem;
	}
}



@media (max-width: 56.25rem) {
	.s2030-tbl-b tbody th {
		width: 12rem;
	}

	.s2030-tbl-scroll {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	.s2030-tbl-a {
		table-layout: auto;
		min-width: 44rem;
	}

	.s2030-tbl-a tbody td {
		word-break: keep-all;
	}

	.s2030-tbl-a--eq thead th {
		width: auto;
	}

	.s2030-tbl-a:not(.s2030-tbl-a--eq) thead th:nth-child(1) {
		width: auto;
	}

	.s2030-tbl-a:not(.s2030-tbl-a--eq) thead th:nth-child(2) {
		width: auto;
	}

	.s2030-tbl-a:not(.s2030-tbl-a--eq) thead th:nth-child(3) {
		width: auto;
	}
}



@media (max-width: 48rem) {
	.s2030-tbl-b__th-sub br,
	.s2030-tbl-note br {
		display: none;
	}

	.s2030-steps {
		grid-template-columns: repeat(2, 1fr);
	}

	.s2030-step {
		flex: unset;
		width: auto;
	}

	.s2030-btns {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
	}

	.s2030-btn {
		width: 100%;
	}

	.s2030-tbl-a thead th {
		height: auto;
		padding: 1rem;
	}

	.s2030-tbl-a tbody td {
		padding: 1rem;
	}

	.s2030-tbl-b tbody th {
		width: 7rem;

		padding: 1rem;
	}

	.s2030-tbl-b tbody td {
		padding: 1rem;
	}
}


/* =====================================================================
   Surgery / Treatment Common Styles
   ===================================================================== */
.sec-surgery {
	padding: 5rem 0;
}

.sec-surgery .inner.w1400 {
	max-width: 87.5rem;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
}

.surgery-item {
	display: flex;
	align-items: center;
	gap: 4.95rem;
}

.surgery-item + .surgery-item {
	margin-top: 7.5rem;
}

.surgery-item--even {
	flex-direction: row-reverse;
}

.surgery-item__img {
	flex: 0 0 37.5rem;
	width: 37.5rem;
	height: 28.125rem;
	overflow: hidden;
	border-radius: 0.75rem;
}

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

.surgery-item__content {
	flex: 1;
	min-width: 0;
}

.surgery-item__title {
	font-size: 2.25rem;
	font-weight: 700;
	color: #222;

	margin: 0 0 1rem;
}

.surgery-item__desc {
	font-size: 1.25rem;
	color: #555;

	margin: 0;
}

.surgery-feat-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 5rem;
	height: 2.5rem;
	border-radius: 1.25rem;
	font-size: 1rem;
	font-weight: 700;
	color: #fff;
	background: linear-gradient(125deg, #d1ac6d 0%, #d1ac6d 20%, #d0ab6c 40%, #c39958 55%, #ad7d35 72%, #ad7d35 88%, #ad7d35 100%);
	border: none;
	margin-top: 1.75rem;
	margin-bottom: 0.875rem;
}

.surgery-feat-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.surgery-feat-list li {
	font-size: 1.25rem;
	color: #555;
	line-height: 1.7;
	padding-left: 1rem;
	position: relative;
}

.surgery-feat-list li + li {
	margin-top: 0.375rem;
}

.surgery-feat-list li::before {
	content: '•';
	position: absolute;
	left: 0;
	color: #555;
}

/* ── Responsive ── */

@media (max-width: 80rem) {
	.surgery-item {
		gap: 3.75rem;
	}

	.surgery-item__img {
		flex: 0 0 32rem;
		width: 32rem;
		height: 24rem;
	}
}



@media (max-width: 56.25rem) {
	.surgery-item,
	.surgery-item--even {
		flex-direction: column;
		gap: 2rem;
	}

	.surgery-item__img {
		flex: 0 0 auto;
		width: 100%;
		height: 22rem;
	}

	.surgery-item__content {
		text-align: left;
	}
}



@media (max-width: 48rem) {
	.sec-surgery {
		padding: 3rem 0;
	}

	.surgery-item + .surgery-item {
		margin-top: 3.75rem;
	}

	.surgery-item__img {
		height: 14rem;
	}
}



/* ===== Board layout wrapper ===== */
.sub-article,
.board-view-article {
	padding: 3rem 0 5rem;
}
.sub-article-inner.w1400,
.board-article-inner.w1400 {
	max-width: 87.5rem;
	margin: 0 auto;
	padding: 0 1.25rem;
	box-sizing: border-box;
}

@media (max-width: 56.25rem) {
	.sub-article,
	.board-view-article {
		padding: 2rem 0 3.5rem;
	}
}


@media (max-width: 48rem) {
	.sub-article,
	.board-view-article {
		padding: 1.5rem 0 2.5rem;
	}
}


/* ===== notice_area (fz_basic / gallery_press 공통) 재정의 ===== */
.notice_area {
	max-width: 87.5rem;
	padding: 3rem 1.25rem 5rem;
	margin: 0 auto;
	background-color: transparent;
	box-sizing: border-box;
}

@media (max-width: 56.25rem) {
	.notice_area {
		padding: 2rem 1.25rem 3.5rem;
	}
}


@media (max-width: 48rem) {
	.notice_area {
		padding: 1.5rem 1rem 2.5rem;
	}
}


/* gallery board: 4열 고정 */
.list_area .gallery_area .wrap .con {
	width: 25%;
	box-sizing: border-box;
}

@media (max-width: 48rem) {
	.list_area .gallery_area .wrap .con {
		width: 50%;
		box-sizing: border-box;
	}
}


/* ===== Board search responsive ===== */

@media (max-width: 56.25rem) {
	.board-search-wrap {
		margin-top: 2rem;
		margin-bottom: 2rem;
		padding: 1.5rem 1rem;
	}

	.board-search-wrap .search-word {
		display: flex;
		flex-wrap: nowrap;
		align-items: stretch;
		gap: 0.5rem;
		width: 100%;
	}

	.board-search-wrap .search-select {
		flex-shrink: 0;
		width: auto;
		min-width: 5.5rem;
		height: 44px;
		line-height: 42px;
	}

	.board-search-wrap .search-input {
		display: flex;
		align-items: stretch;
		flex: 1;
		min-width: 0;
		height: 44px;
	}

	.board-search-wrap .search-input::before,
	.board-search-wrap .search-input::after {
		display: none;
	}

	.board-search-wrap .search-input input {
		flex: 1;
		width: auto;
		min-width: 0;
		height: 44px;
		padding-left: 0.75rem;
	}

	.board-search-wrap .input-submit {
		width: auto;
		height: 44px;
		flex-shrink: 0;
		white-space: nowrap;
		padding: 0 1rem;
		margin-left: 0;
	}
}


@media (max-width: 48rem) {
	.board-search-wrap {
		margin-top: 1.5rem;
		margin-bottom: 1.5rem;
		padding: 1.25rem 1rem;
	}

	.board-search-wrap .search-word {
		display: flex;
		flex-wrap: nowrap;
	}

	.board-search-wrap .search-select {
		height: 40px;
		line-height: 38px;
		min-width: 4.5rem;
	}

	.board-search-wrap .search-input {
		display: flex;
		align-items: stretch;
		flex: 1;
		height: 40px;
	}

	.board-search-wrap .search-input input {
		height: 40px;
	}

	.board-search-wrap .input-submit {
		width: auto !important;
		height: 40px;
		flex-shrink: 0;
		white-space: nowrap;
		padding: 0 0.875rem;
		margin: 0;
	}
}


/* ===== fz_basic board search responsive ===== */

@media (max-width: 56.25rem) {
	.list_area #bo_sch {
		float: none;
		width: 100%;
		box-sizing: border-box;
	}

	.list_area #bo_sch form {
		width: 100%;
	}

	.list_area #bo_sch .top_area {
		position: static;
		padding-right: 0;
		display: flex;
		flex-direction: column-reverse;
		gap: 0.75rem;
		width: 100%;
		box-sizing: border-box;
	}

	.list_area #bo_sch .top_area .search_area {
		position: static;
		float: none;
		width: 100%;
		max-width: none;
		padding-right: 0;
		box-sizing: border-box;
	}

	.list_area #bo_sch .top_area .search_area .wrap {
		display: flex;
		align-items: stretch;
		gap: 0.5rem;
		position: static;
		width: 100%;
	}

	.list_area #bo_sch .top_area .search_area .wrap input {
		flex: 1;
		width: auto;
		min-width: 0;
		height: 44px;
		box-sizing: border-box;
	}

	.list_area #bo_sch .top_area .search_area .wrap .btn_wrap {
		position: static;
		flex-shrink: 0;
	}

	.list_area #bo_sch .top_area .search_area .wrap .btn_wrap .btn {
		position: static;
		width: auto;
		white-space: nowrap;
		padding: 0 1rem;
		height: 44px;
		line-height: 44px;
		display: block;
	}

	.list_area #bo_sch .top_area .total_area {
		float: none;
		width: auto;
	}
}


/* ===== 게시판 버튼 색상 (#b78a3f) ===== */

/* 목록·글쓰기·수정·삭제 등 .btn 계열 */
.board_btn_wrap .btn,
.board-btn-area .btn {
	background-color: #b78a3f;
	color: #fff;
	border-color: #b78a3f;
}
.board_btn_wrap .btn:hover,
.board-btn-area .btn:hover {
	background-color: #9a7232;
	border-color: #9a7232;
}

/* 글쓰기 submit / 취소 */
.btn_wrap .btn-positive {
	background-color: #b78a3f;
	color: #fff;
	border-color: #b78a3f;
}
.btn_wrap .btn-positive:hover {
	background-color: #9a7232;
	border-color: #9a7232;
}
.btn_wrap .btn-negative {
	background-color: #888;
	color: #fff;
	border-color: #888;
}

/* 검색 버튼 — notice.css / board.css 오버라이드 */
.list_area .top_area .search_area .btn_wrap .btn,
.list_area .top_area .search_area .btn_wrap .btn_search_submit,
.board-search-wrap .input-submit,
.input-submit {
	background-color: #b78a3f !important;
	color: #fff !important;
	border-color: #b78a3f !important;
}
.list_area .top_area .search_area .btn_wrap .btn:hover,
.list_area .top_area .search_area .btn_wrap .btn_search_submit:hover,
.board-search-wrap .input-submit:hover,
.input-submit:hover {
	background-color: #9a7232 !important;
	border-color: #9a7232 !important;
}

/* 댓글 submit */
.reply_area .reply_form .wrap .btn_wrap .btn {
	background-color: #b78a3f;
	border-color: #b78a3f;
}
.reply_area .reply_form .wrap .btn_wrap .btn:hover {
	background-color: #9a7232;
}

/* 쓰기 영역 submit */
.write_area .wrap .btn_wrap .btn {
	background-color: #b78a3f;
}
.write_area .wrap .btn_wrap .btn:hover {
	background-color: #9a7232;
}

/* ===== cz_customerQ FAQ 테이블 아코디언 ===== */
.tablequestions thead th,
.tablequestions thead th p {
	text-align: left;
}

.tablequestions .questionsTr {
	cursor: pointer;
	transition: background-color 0.15s;
}

.tablequestions .questionsTr:hover,
.tablequestions .questionsTr.active {
	background-color: #fdf8f1;
}

.tablequestions .questionsTr.active .questions-arrow i {
	transform: rotate(180deg);
}

.tablequestions .questions-subject {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	text-align: left;
}

.tablequestions .questions-subject .txt {
	flex: 1;
	text-align: left;
}

.tablequestions .questions-arrow {
	flex-shrink: 0;
	color: #b78a3f;
	font-size: 0.875rem;

}

.tablequestions .questions-arrow i {
	display: inline-block;
	transition: transform 0.3s;
}

.tablequestions .answerTr td {
	padding: 1.25rem 1.5rem 1.25rem 1.5rem;
}

.tablequestions .answer-content {
	font-size: 1rem;
	color: #444;

	text-align: left;
	word-break: break-word;
}

.tablequestions .answer-admin-link {
	margin-top: 0.75rem;
	padding-top: 0.625rem;
	border-top: 0.0625rem solid #e0d8c8;
	text-align: right;
}

.tablequestions .answer-admin-link a {
	font-size: 0.8125rem;
	color: #999;
	text-decoration: underline;
}
