@charset "utf-8";
/*========================================================================================================================================= */
/*================================================================ common ================================================================= */
/*========================================================================================================================================= */

.stick ul.flex li h6{background: #2c4a68; color: #fff; padding: 10px; font-weight: 700; transform: skew(-0.1deg);}
.stick ul.flex li:nth-child(2n) h6{background: #006a65;}


/* 숫자 스타일 */
.num::before {content: attr(data-num); display: flex; justify-content: center; align-items: center; width: 50px; height: 50px;  background: linear-gradient(to right, #5b7f9d, #152e4c); color: #fff; font-size: 24px; font-weight: 500; text-align: center;}
.num.num-posa::before {position: absolute; margin: 0;}


/* 미들 타이틀 (작은 타이틀) */
.middle-title {text-align: center; margin-bottom: 40px;} 
.middle-title p {font-family: 'Noto Sans KR'; font-weight: 400; white-space: pre-line; margin-top: 20px;} 
.middle-title h4 {font-family: 'GmarketSans','Noto Sans KR';line-height: 1.4; transform: skew(-0.1deg); white-space: pre-line;font-size: 700;} 
.middle-title h5 {font-family: 'GmarketSans','Noto Sans KR'; white-space: pre-line;font-size: 700;}
.middle-title h6 {font-family: 'GmarketSans','Noto Sans KR'; white-space: pre-line;font-size: 500;}
.middle-title > span.num::before {font-family: 'GmarketSans','Noto Sans KR'; font-weight: 500; transform: skew(-0.1deg); margin: 0 auto 20px; border-radius: 50%; background: #00a99e;} 
.middle-title .en-sub{color: #aaa;letter-spacing: 0.5px;margin-bottom: 10px;font-weight: 500;}

/* 둥그런 타이틀 */
.border-title {text-align: center; margin-bottom: 40px;} 
.border-title h5{display: inline-block;padding: 10px 50px;-webkit-border-radius: 30px;-moz-border-radius: 30px;border-radius:30px ;font-weight: 900;background: #f3f3f3;}


/* 테이블 스타일 */
.table-wrap {text-align: center;}
.table-wrap .middle-title h4 {display: inline-block; padding: 12px 20px 8px; background-color: #2c4a68; color: #fff;}
.table-wrap table {width: 100%; white-space: pre-line;}
.table-wrap table tr, .table-wrap table th, .table-wrap table td {font-size: 18px; padding: 15px 10px; border: 1px solid #eee; vertical-align: middle;}
.table-wrap table thead tr, .table-wrap table tbody tr th {background: #f5f5f5; font-weight: 600;}
.table-wrap .imp-icon img{max-width: 50px; margin-bottom: 10px;}


/* 사진 들어간 테이블 */
.photo-table table {text-align: center; width: 100%;}
.photo-table table tr, .photo-table table tr td {padding: 15px 10px; border: 1px solid #ccc; vertical-align: middle;color: #000;}
.photo-table table td {white-space: pre-line;}
.photo-table table thead tr:first-of-type td, .photo-table table thead tr {border: none;}
.photo-table table thead tr:first-of-type td {padding: 0;}
.photo-table table thead tr:last-of-type td {background: #0cb2fb; color: #fff; font-weight: 600; font-size: 20px;}
.photo-table table thead tr:first-of-type td:not(:first-child) {border: 1px solid #ccc; border-bottom: none;}
.photo-table table tbody{background: #fff;}

/* 숫자 리스트 */
.num-list .num {position: relative; margin-bottom: 30px; padding-left: 50px; text-align: left; /* display: flex; align-items: center; */}
.num-list .num:last-child {margin-bottom: 0;}
.num-list .num::before {position: absolute; display: flex; align-items: center; justify-content: center; left: 0; top: 0px; width: 35px; height: 35px; font-size: 20px;}
.num-list .num:nth-child(2n)::before {background-color: #00635e;}
.num-list.middle .num::before {top: 50%; transform: translateY(-50%);}


/* 이미지 테두리 리스트 */
.line-list img {border: 1px solid #ccc;}


/* 원형 이미지 테두리 리스트 */
.circle-list img {border-radius: 50%; border: 1px solid #ccc;}


/* 파란 선 들어간 네모 박스 */
.line-box li > div {position: relative; padding: 30px 20px 30px 30px; border: 1px solid #eee;}
.line-box li > div::after {content: ''; display: block; width: 10px; height: 100%; position: absolute; left: 0; top: 0; background-color: #2c4a68;}
.line-box h5 {margin-bottom: 15px; padding-bottom: 10px; border-bottom: 1px solid #eee; font-weight: 500;}
.line-box p {white-space: pre-line;}


/* 사진+텍스트 들어간 기본 스타일 */
.basic-box {display: flex; align-items: center; justify-content: flex-start; margin-top: 40px;}
.basic-box:first-of-type {margin-top: 0;}
.basic-box li:first-child {flex: 1;}
.basic-box li:last-child {margin-left: 30px; flex: 1;}
.basic-box li h5 {margin: 0 0 15px; font-weight: 600; white-space: pre-line; font-family: 'GmarketSansMedium'; transform: skew(-0.1deg);}
.basic-box li.num h5 {margin: 20px 0 15px;}
.basic-box li p {white-space: pre-line;}
.basic-box.line li h5 {position: relative; padding-bottom: 10px;}
.basic-box.line li h5::before {position: absolute; content: ''; left: 0; bottom: 0; width: 50px; height: 2px; background: #274c8d;}


/* 원 안에 아이콘 없는 박스 */
.circle-box > div > div {border-radius: 50%; background-color: #f5f5f5;}
.circle-box:nth-child(2n-1) > div > div {background-color: #ebf4f2;}
.circle-box > div > div::after {content: ''; display: block; padding-bottom: 100%;}
.circle-box p {position: absolute; width: 100%; height: auto; bottom: 50%; transform: translate(0, 50%); text-align: center; white-space: pre-line;}
.circle-box h5 {position: absolute; white-space: pre-line; text-align: center; bottom: 50%; transform:translateY(50%); display: inline-block; width: 100%;	}
/* .circle-box span{font-size: 24px; font-weight: bold;} */


/* 원 안에 아이콘 들어간 리스트 */
.circle-icon > li > div > div {border-radius: 50%; border: 2px solid #f5f5f5; width: 100%; height: 100%;}
.circle-icon > li:nth-child(2n-1) > div > div {border: 2px solid #d9dfee;}
.circle-icon > li > div > div::after {content: ''; display: block; padding-bottom: 100%;}
.circle-icon > li > div > div > div {position: absolute; display: flex; flex-direction: column; justify-content: center; align-items: center; top: 50%; transform: translate(-50%, -50%); left: 50%; height: 50%; width: 100%;}
.circle-icon p {margin-top: 15px; line-height: 1.4;}


/* 배경색 타이틀 */
.bg-tit {display: inline-block; padding: 6px 32px; margin: 0 auto 40px; border-radius: 40px; background: #00a99e; color: #fff; font-family: 'Noto Sans KR','Noto Sans KR'; font-weight: 700;}


/* 둥근 모서리를 가진 배경색 타이틀 */
.radius-tit {display: inline-block; padding: 8px 42px; margin: 0 auto; border-radius: 40px; background: linear-gradient(to right, #1f3d74, #4067aa); color: #fff;}


/* 자세히 보기 버튼 */
.detail-btn a {position: relative; display: inline-block; margin-top: 20px; padding: 12px 30px; border: 1px solid #333; font-size: 15px; font-weight: 700; transition: 0.4s ease-in-out;}
.detail-btn a::before {content: ""; position: absolute; top: 0; left: 0; width: 0; height: 100%; background-color: #327cbd; transition: 0.4s ease-in-out; z-index: -1;}
.detail-btn a:hover::before {width: 100%;}
.detail-btn a:hover {color: #fff; border: 1px solid #327cbd;}

/*================================================================ 1500px 이하 ================================================================= */
@media screen and (max-width:1500px) {

}

/*================================================================ 1200px 이하 ================================================================= */
@media screen and (max-width:1200px) {
/* #wrapper {margin-top: 69px;} */

}

/*================================================================ 1025px 이하 ================================================================= */
@media screen and (max-width:1025px) {

}

/*================================================================ 900px 이하 ================================================================= */
@media screen and (max-width:900px) {
/* 테이블 스타일 */
.table-wrap .table-scroll {overflow-x: scroll; overflow-y: hidden; max-width: 100%;}
.table-scroll::-webkit-scrollbar {width: 12px;}
.table-scroll::-webkit-scrollbar-track {-webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.1); box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.1); border-radius: 5px; background-color: rgba(220, 220, 220, 0.3);}
.table-scroll::-webkit-scrollbar-thumb {background-clip: padding-box; border-radius: 5px; background-color: #516371; border: 2px solid transparent;}
.table-wrap table {min-width: 900px;}
.table-wrap table tr, .table-wrap table th, .table-wrap table td {font-size: 15px;}
}

/*================================================================ 769px 이하 ================================================================= */
@media screen and (max-width:769px) {

.res-bg{padding: 80px 0 !important;}

/* 숫자 스타일 */
.num::before {margin: 10px auto 0;}
.num-list .num::before {margin: 0 10px 0 0;}


/* 사진 들어간 테이블 */
.photo-table table td {font-size: 15px;}
.photo-table table thead tr:last-of-type td {font-size: 18px;}


/* 사진+텍스트 들어간 기본 스타일 */
.basic-box {display: block; text-align: center;}
.basic-box:not(:first-of-type) {margin-top: 40px;}
.basic-box li:last-child {margin-left: 0; margin-top: 20px;}
.basic-box li h5 {margin: 20px 0 10px !important;}
.basic-box li img {border-radius: 20px; max-width: 500px; width: 100%;}
.basic-box.line li h5::before {left: 50%; transform: translateX(-50%);}


/* 파란 선 들어간 네모 박스 */
.line-box li::after {width: 8px;}
.line-box li > div {height: auto !important;}
}

/*================================================================ 600px 이하 ================================================================= */
@media screen and (max-width:600px) {

}

/*================================================================ 425px 이하 ================================================================= */
@media screen and (max-width:425px) {

.link {top: -60px;}
.res-bg{padding: 50px 0 !important;}
.stick .flex > li > div.m10{margin: 5px;}
.title-num{font-size: 20px; width: 45px; height: 45px;}


/* 숫자 스타일 */
.num::before {width: 40px; height: 40px; font-size: 17px; margin: 0 auto;}
.num-list .num {display: flex; align-items: center; margin-bottom: 0; padding-left: 40px;}
.num-list .num:not(:first-child) {margin-top: 20px;}
.num-list .num::before {width: 30px; height: 30px; margin: 0 auto; font-size: 16px;}


/* 미들 타이틀 (작은 타이틀) */
.middle-title{margin-bottom: 20px;}
.middle-title p{line-height: 1.7;}
.middle-title > span.num::before {margin: 0 auto 10px;}


/* 사진+텍스트 들어간 기본 스타일 */
.basic-box li img {border-radius: 10px; max-width: 70%;}
.basic-box li h5 {margin: 15px 0 10px !important; line-height: 1.4;}


/* 원 안에 아이콘 없는 박스 */
.circle-box > div {margin: 5px !important;}
.circle-box h5 {font-size: 15px;}


/* 파란 선 들어간 네모 박스 */
.line-box li::after {width: 5px;}
.line-box li > div {padding: 25px 20px 30px 25px;}
.line-box li h5 {padding-bottom: 5px; margin-bottom: 10px;}


/* 테이블 스타일 */
.table-wrap table {min-width: 700px;}
.table-wrap table tr, .table-wrap table th, .table-wrap table td {font-size: 12px;}
.table-wrap .imp-icon img{max-width: 30px; margin-bottom: 5px;}


/* 사진 들어간 테이블 */
.photo-table table td {font-size: 12px;}
.photo-table table tr, .photo-table table tr td {padding: 10px 5px;}
.photo-table table thead tr:last-of-type td {font-size: 15px;}


/* 배경색 타이틀 */
.bg-tit {padding: 3px 24px; margin: 0 auto 20px;}


/* 둥근 모서리를 가진 배경색 타이틀 */
.radius-tit {padding: 6px 32px;}
}


/*========================================================================================================================================= */
/*================================================================ common ================================================================= */
/*========================================================================================================================================= */

/* =================================================================================================================================== */
/* =========================================================== main-common =========================================================== */
/* =================================================================================================================================== */

main {overflow: hidden;}
.swiper-container{position: relative; width: 100%; margin: 0 auto;}
.swiper-button-prev, .swiper-button-next {margin: 0;}

.case-comparison {position: relative;}
.case-comparison .case {position: relative;}
.case-comparison .case-num {position: absolute; display: flex; align-items:center; top: 10px; left: 10px; width: 80px; height: 80px; border: 1px solid #fff; z-index: 1; background: rgba(0,0,0,0.6);}
.case-comparison .case-num p {width: 100%; color: #fff; text-align: center; white-space: pre-line; font-weight: 900;}
.case-comparison .case-img {text-align: center; border: 1px solid #727272;}
.case-comparison .case-img img {width: 100%;}
.case-comparison .case-exp {position: absolute; right: 20px; bottom: 20px;}
.case-comparison .case-exp p {color: #fff; font-weight: 700;}
.case-comparison .case-after {position: absolute; top: 0; left: 0; width: 100%; z-index: 0; opacity: 0;}
.case-comparison .case-after {-webkit-animation: fadeIn50 1s 0.3s forwards; animation: fadeIn50 1s 0.3s forwards;}
.case-comparison .case-after.move {-webkit-animation: none; animation: none;}

@-webkit-keyframes fadeIn50 {
    0% {opacity: 0;}
    to {opacity: 0.5;}
}
@keyframes fadeIn50 {
    0% {opacity: 0;}
    to {opacity: 0.5;}
}

.case-slider {padding: 20px 15px 0; display: flex; align-items: center; justify-content: space-between; width: 100%;}
.case-slider .txt {font-size: 18px; font-family:'Noto Sans KR','Noto Sans KR'; font-weight: 700; transform: skew(-0.1deg);}
.case-slider .prog-bar {width: 75%; display: flex; justify-content: center; position: relative;}
.case-slider .prog-bar:after {position: absolute; content: ""; top: 50%; left: 0; transform: translateY(-50%); width: 100%; height: 2px; background: #ededed; z-index: -1;}

.case-slider input[type=range] {-webkit-appearance: none; width: 100%; background: transparent;}
.case-slider input[type='range' i] {appearance: auto; cursor: default; color: -internal-light-dark(rgb(16, 16, 16), rgb(255, 255, 255)); padding: initial; border: initial; margin: 2px;}
.case-slider input[type='range'] {-webkit-appearance: none; width: 100%; background: transparent;}
.case-slider input[type='range']::-webkit-slider-thumb {-webkit-appearance: none; background: #fff; width: 44px; height: 44px; background: url("../img/main/range_arrow.png") center/cover no-repeat;}
.case-slider input[type='range']::-moz-range-thumb {background: #fff; width: 44px; height: 44px; background: url("../img/main/range_arrow.png") center/cover no-repeat;}
.case-slider input[type='range']:focus {outline: none;}
.case-slider input[type='range']::-ms-track {width: 100%; cursor: pointer; background: transparent; border-color: transparent; color: transparent;}

.case-caution ul {display: flex;}
.case-caution ul > li:first-child {margin-right: 5px;}
.case-caution ul > li:last-child {flex: 1;}

#gallery .swiper-container {width: 100%; margin: 0 auto;}
#gallery .swiper-slide-container {height: 100%; margin: 0 auto; display: flex; justify-content: center; align-items: center;}
#gallery .swiper-button-prev, #gallery .swiper-button-next {color: #fff; top: 50%; transform: translateY(-50%);}
.gallery-top {height: 80%; width: 100%;}
.gallery-thumbs {height: 20%; padding: 10px 0;}
.gallery-thumbs .swiper-slide {width: 20%; height: 100%; opacity: 0.4;}
.gallery-thumbs .swiper-slide-thumb-active {opacity: 1;}

/* 탭 메뉴 스타일 */
.dentist .tab-btn {display: flex; margin: 20px 0 40px;}
.dentist .tab-btn input {display: none;}
.dentist .tab-btn label {display: inline-block; padding: 15px 25px; text-align: center; border: 1px solid #ccc; color: #bbb; background-color: #fff;}
.dentist .tab-btn label:hover {color: #7fcef4; cursor: pointer; transition: all ease 0.3s;}
.dentist .tab-btn input:checked + label {color: #fff; background-color: #111; transition: all ease 0.3s;}

/* 탭 메뉴 내용 스타일 */
.dentist{padding-top: 100px;}
.dentist .tab-content {}
/* #tab-content2, #tab-content3, #tab-content4, #tab-content5 {display: none;} */
.dentist .tab-content > ul {display: flex; width: 100%;gap:50px;align-items: center;}
.dentist .tab-content > ul > li {width: 60%; position: relative;}
.dentist .tab-content > ul > li:first-child{width: 40%;text-align: center;}
.dentist .tab-content .tab-name {border-bottom: 2px dotted #ddd; margin-bottom: 20px; padding-bottom: 20px;}
.dentist .tab-content .tab-name > div {}
.dentist .tab-content .tab-name > div h3 { white-space: pre-line;font-weight: 700;}
.dentist .tab-content .tab-name > div span {padding: 0 5px; font-size: 0.5em; font-weight: 500; background: #0cb2fb; color: #fff;}
.dentist .tab-content .tab-name p {font-weight: 700;}
.dentist .tab-content .tab-name p.txt {margin-top: 20px; padding-top: 20px; font-weight: 400; white-space: pre-line; border-top: 2px dotted #ddd;}
.dentist .tab-content > ul > li:first-child img {max-width:500px; width: 100%;}
.dentist .tab-content .disc-box-wrap{display: flex;}
.dentist .tab-content .disc-list {list-style-type: disc; margin-left: 20px;  }
.dentist .tab-content .disc-list li {line-height: 1.8;  font-family: 'Noto Sans KR','Noto Sans KR'; font-weight: 500;}





.case-slide-wrap {position: relative;}
.case-button-next,
.case-button-prev {top: 50%; transform: translateY(-50%); color: #727272; margin-top: 0;}
.case-button-next {right: -50px;}
.case-button-prev {left: -50px;}
.case-pagination {bottom: -40px !important;}
.case-pagination .swiper-pagination-bullet {width: 10px; height: 10px; background: #fff; opacity: 0.8; transition: all 0.5s ease-in-out; border: 1px solid #eee;}
.case-pagination .swiper-pagination-bullet-active { width: 25px; border-radius: 5px; background: #0cb2fb;}

.main-tit {position: relative; text-align: center; margin-bottom: 40px;}
.main-tit.white {color: #fff;}
.main-tit .sub-tit {margin-bottom: 5px; font-weight: 600;letter-spacing: 1px;}
.main-tit .tit {color: #000; font-family:'Noto Sans KR','Noto Sans KR'; font-weight: 800; transform: skew(-0.1deg);}
.main-tit.white .tit {color: #fff;}



/* ===================== Mobile size : 1700px ======================= */

@media screen and (max-width: 1700px){
	.main_promise_left{padding-left: 20px;padding-top: 100px;	}
}

/* ===================== Mobile size : 1500px ======================= */

@media screen and (max-width: 1500px){

.dentist .tab-content .tab-name p {display: inline-block;}
.dentist .tab-btn {margin: 20px auto 40px; flex-direction: column; max-width: 350px;}
.dentist .tab-btn label {padding: 8px 15px;}
.dentist .tab-content .tab-name > div{display: block;}
.dentist .tab-content > ul > li:first-child img  {max-width:350px; width: 100%;}
.dentist .tab-content > ul {display: block; background: none;}
.dentist .tab-content > ul > li {width: 100%; text-align: center;}
.dentist .tab-content > ul > li:first-child{width: 100%;background: #fff;}
.dentist .tab-content > ul > li:last-child{width: 100% ;margin: 20px 0 0 0;}

.dentist .tab-content .disc-box{display: block;}
.dentist .tab-content .disc-list {display: flex; flex-direction: column; align-items: flex-start; max-width:500px; margin-bottom: 20px; text-align: left;}


}


/* ===================== Mobile size : 1200px ======================= */

@media screen and (max-width: 1200px){

.case-slide-wrap {margin: 120px auto 0; padding-bottom: 50px;}
.case-pagination {bottom: 0 !important;}

.case-button-next,
.case-button-prev {top: -75px; transform: none; transition: all 0.3s ease-in-out;}
.case-button-next {right: 20px;}
.case-button-prev {left: auto;right: 90px;}
.case-button-next::after,
.case-button-prev::after {font-size: 35px;}
.case-button-next::before,
.case-button-prev::before {position: absolute;	content: ""; width: 55px; height: 55px; border: 1px solid; left: 50%; top: 50%; transform: translate(-50%, -50%);}




}


/* ===================== Mobile size : 1024px ======================= */

@media screen and (max-width: 1024px){
.dentist{padding-top: 50px;}



}

/* ===================== Mobile size : 900px ======================= */

@media screen and (max-width: 900px){
.case-comparison .case-num {width: 60px; height: 60px;}
.case-comparison .case-num p {font-size: 14px; line-height: 1.3;}
}

/* ===================== Mobile size : 769px ======================= */

@media screen and (max-width: 769px){
.dentist .tab-content .disc-box-wrap{flex-direction: column;}

.case-comparison > li:last-child {margin-top: 40px;}
.case-button-next {right: 15px;}
.case-button-prev {right: 80px;}
.case-button-next::after,
.case-button-prev::after {font-size: 30px;}
.case-button-next::before,
.case-button-prev::before {width: 50px; height: 50px;}
}

/* ===================== Mobile size : 600px ======================= */

@media screen and (max-width: 600px) {
#gallery .swiper-button-prev:after,
#gallery .swiper-button-next:after {font-size: 30px;}

.dentist .tab-content .disc-list {margin-left: 20px;}

}

/* ===================== Mobile size : 425px ======================= */

@media screen and (max-width: 425px){


.case-slider {padding: 0 10px;}
.case-slider .txt {font-size: 14px;}
.case-slider .prog-bar {width: 70%;}
.case-comparison > li:last-child {margin-top: 20px;}

.dentist .tab-btn {margin: 10px auto 30px;}
.dentist .tab-content .tab-name > div h3 {font-size: 25px;}
.dentist .tab-content .tab-name p {font-size: 14px;}
.dentist .tab-content .disc-list {max-width: 260px;}
.dentist .tab-content .disc-box > p{background: #f3f3f3;padding: 10px;-webkit-border-radius: 13px;-moz-border-radius:13px;border-radius: 13px;}
.dentist .tab-content .disc-list li {font-size: 14px;}
.dentist .tab-content img {max-width: 250px;}


.case-slide-wrap {margin: 80px auto 0;}
.case-button-next,
.case-button-prev {top: -65px;}
.case-button-next {right: 10px;}
.case-button-prev {right: 60px;}
.case-button-next::after,
.case-button-prev::after {font-size: 20px;}
.case-button-next::before,
.case-button-prev::before {width: 40px; height: 40px;}

.main-tit {margin-bottom: 20px;}
}


/* =================================================================================================================================== */
/* =========================================================== main-common =========================================================== */
/* =================================================================================================================================== */


/* ==================================================================================================================================== */
/* =========================================================== 메인 슬라이드 영역 =========================================================== */
/* ==================================================================================================================================== */

.main-slide .swiper-slide {position: relative;}

.main-slide .swiper-pagination {left: 0; bottom: 80px; top: auto !important; width: 100%;}
.main-slide .swiper-pagination-bullet {margin: 0 4px; width: 14px; height: 14px; background: none; border: 1px solid #ccc; opacity: 0.7; transition: all 0.4s ease-in-out;}
.main-slide .swiper-pagination-bullet-active {background: #fff; opacity: 1;}

/* ===================== Mobile size : 1400px ======================= */

@media screen and (max-width: 1400px){
.main-slide .swiper-pagination {bottom: 30px;}
}


/* ===================== Mobile size : 1200px ======================= */

@media screen and (max-width: 1200px){

}


/* ===================== Mobile size : 1024px ======================= */

@media screen and (max-width: 1024px){

}

/* ===================== Mobile size : 900px ======================= */

@media screen and (max-width: 900px){

}

/* ===================== Mobile size : 769px ======================= */

@media screen and (max-width: 769px){

}

/* ===================== Mobile size : 600px ======================= */

@media screen and (max-width: 600px) {

}

/* ===================== Mobile size : 425px ======================= */

@media screen and (max-width: 425px){
.main-slide .swiper-pagination {bottom: 10px;}
.main-slide .swiper-pagination-bullet {width: 8px; height: 8px;}
}


/* ==================================================================================================================================== */
/* =========================================================== 메인 슬라이드 영역 =========================================================== */
/* ==================================================================================================================================== */


/* ======================================================================== */
/* === WHY-WHITE (화이트365치과를 선택해야 하는 이유) ======================= */
/* ======================================================================== */
.why-white .why-head { text-align: center; margin-bottom: 80px; }
.why-white .why-eyebrow { letter-spacing: 0.1em; margin-bottom: 15px; }
.why-white .why-title { line-height: 1.3; color: #111; }

.why-row { display: flex; align-items: stretch; }
.why-row.reverse { flex-direction: row-reverse; }
.why-img { width: 50%; aspect-ratio: 937 / 553; overflow: hidden; }
.why-img img { width: 100%; height: 100%; object-fit: cover; }
.why-txt { position: relative; width: 50%; display: flex; align-items: center; padding: 60px 64px; background-repeat: no-repeat; overflow: hidden; }
.why-row.reverse .why-txt { padding-left: max(20px, calc(50vw - 680px)); padding-right: 40px; }

/* 워터마크 배경 */
.why-row.row01 .why-txt { background-image: url("../img/main/why_bg01.png"); background-position: right center; background-size: auto 100%; }
.why-row.row03 .why-txt { background-image: url("../img/main/why_bg03.png"); background-position: right bottom; background-size: auto 90%; }

.why-copy { position: relative; z-index: 1; }
.why-num { display: inline-block; min-width: 56px; padding: 0 10px; line-height: 50px; background: #21a8a6; color: #fff; border-radius: 4px; text-align: center; }
.why-tit { margin-top: 25px; line-height: 1.3; color: #111; }
.why-tit span { display: block; }
.why-desc { margin-top: 35px; line-height: 1.7; color: #222; }

@media screen and (max-width: 1200px) {
  .why-txt { padding: 40px 30px; }
  .why-row.reverse .why-txt { padding-left: 30px; padding-right: 30px; }
}

@media screen and (max-width: 769px) {
  .why-white .why-head { margin-bottom: 40px; }
  .why-row, .why-row.reverse { flex-direction: column; }
  .why-img, .why-txt { width: 100%; }
  .why-txt { padding: 40px 20px 50px; }
  .why-row.reverse .why-txt { padding-left: 20px; padding-right: 20px; }
  .why-row.row01 .why-txt { background-size: auto 80%; background-position: right -40px center; }
  .why-row.row03 .why-txt { background-size: auto 70%; background-position: right -40px bottom; }
  .why-num { min-width: 46px; line-height: 40px; }
  .why-tit { margin-top: 18px; }
  .why-desc { margin-top: 20px; }
}

@media screen and (max-width: 425px) {
  .why-txt { padding: 30px 15px 40px; }
  .why-row.reverse .why-txt { padding-left: 15px; padding-right: 15px; }
}
/* ======================================================================== */
/* === WHY-WHITE (화이트365치과를 선택해야 하는 이유) ======================= */
/* ======================================================================== */

/* ======================================================================== */
/* === MAIN-VIDEO (영상으로 만나는 화이트365치과) =========================== */
/* ======================================================================== */
.main-video .video-head { text-align: center; margin-bottom: 60px; }
.main-video .video-title { line-height: 1.3; color: #111; }

.main-video .video-wrap { position: relative; width: 100%; overflow: hidden; background: #000; }
.main-video .main-video__player { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }

.main-video--full .main-video__player { aspect-ratio: 1920 / 820; }

@media screen and (max-width: 769px) {
  .main-video .video-head { margin-bottom: 30px; }
  .main-video--full .main-video__player { aspect-ratio: 16 / 9; }
}
/* ======================================================================== */
/* === MAIN-VIDEO (영상으로 만나는 화이트365치과) =========================== */
/* ======================================================================== */
/* ======================================================================== */
/* === DOCTOR (의료진 소개) ================================================= */
/* ======================================================================== */
.doctor .doctor-head { text-align: center; margin-bottom: 80px; }
.doctor .doctor-eyebrow { letter-spacing: 0.1em; margin-bottom: 15px; }
.doctor .doctor-title { line-height: 1.3; color: #111; }

.doctor-item { display: flex; align-items: flex-start; gap: 60px; }
.doctor-item + .doctor-item { margin-top: 40px; }
.doctor-img { flex: 0 0 640px; max-width: 640px; border: 1px solid #ddd; background: #f2f2f2; }
.doctor-img img { display: block; width: 100%; height: auto; }
.doctor-info { flex: 1; min-width: 0; padding-top: 80px; }

.doctor-name { line-height: 1.3; color: #111; padding-bottom: 22px; border-bottom: 2px solid #ddd; }
.doctor-major { display: flex; align-items: center; gap: 10px; margin-top: 35px; line-height: 1.4; color: #222; }
.doctor-major__icon { width: 34px; height: auto; flex-shrink: 0; }
.doctor-career { margin-top: 25px; color: #333; }
.doctor-career li { position: relative; padding-left: 16px; line-height: 1.6; }
.doctor-career li::before { content: "·"; position: absolute; left: 0; top: 0; }

@media screen and (max-width: 1200px) {
  .doctor-item { gap: 40px; }
  .doctor-img { flex-basis: 45%; max-width: 45%; }
  .doctor-info { padding-top: 40px; }
}

@media screen and (max-width: 769px) {
  .doctor .doctor-head { margin-bottom: 40px; }
  .doctor-item { flex-direction: column; gap: 0; }
  .doctor-item + .doctor-item { margin-top: 60px; }
  .doctor-img { flex: none; width: 100%; max-width: 500px; margin: 0 auto; }
  .doctor-info { width: 100%; padding-top: 30px; }
  .doctor-name { padding-bottom: 15px; }
  .doctor-major { margin-top: 20px; }
  .doctor-major__icon { width: 26px; }
  .doctor-career { margin-top: 15px; }
}

@media screen and (max-width: 425px) {
  .doctor-major__icon { width: 22px; }
  .doctor-career li { padding-left: 12px; }
}
/* ======================================================================== */
/* === DOCTOR (의료진 소개) ================================================= */
/* ======================================================================== */

/* ======================================================================== */
/* === SEDATION (의식하진정요법) ============================================ */
/* ======================================================================== */
/* 공통 타이틀 */
.sedation-head { text-align: center; margin-bottom: 70px; }
.sedation-head__title { line-height: 1.3; }



/* 의식하진정요법이란 */
.sedation-intro__row { display: flex; align-items: center; gap: 70px; }
.sedation-intro__img { flex: 0 0 51%; max-width: 51%; }
.sedation-intro__img img { display: block; width: 100%; height: auto; }
.sedation-intro__tit { line-height: 1.3; color: #111; }
.sedation-intro__desc { margin-top: 30px; line-height: 1.8; color: #222; }

/* 함께 받을 수 있는 진료 */
.sedation-treat .sedation-head { margin-bottom: 50px; }
.sedation-treat__list { display: grid; grid-template-columns: repeat(4, 1fr); gap: 58px; }
.sedation-treat__list li { text-align: center; }
.sedation-treat__img { aspect-ratio: 1 / 1; border-radius: 50%; overflow: hidden; border: 1px solid #999; }
.sedation-treat__img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.sedation-treat__cap { margin-top: 30px; line-height: 1.4; color: #111; }

/* 이런 분들께 추천합니다 */
.sedation-recommend { margin-top: 120px; padding: 110px 0 105px; background: url("../img/main/sedation_recommend_bg.png") no-repeat center / cover; }
.sedation-recommend .sedation-head { margin-bottom: 60px; }
.sedation-recommend__list { max-width: 1095px; margin: 0 auto; }
.sedation-recommend__list li { display: flex; align-items: center; justify-content: center; min-height: 115px; padding: 15px 20px; background: #002060; color: #fff; text-align: center; line-height: 1.4; }
.sedation-recommend__list li:nth-child(even) { background: #3a9898; }
.sedation-recommend__list li + li { margin-top: 8px; }

@media screen and (max-width: 1200px) {
  .sedation-intro__row { gap: 40px; }
  .sedation-treat__list { gap: 30px; }
}

@media screen and (max-width: 769px) {
  .sedation-intro__row { flex-direction: column; gap: 30px; }
  .sedation-intro__img { flex: none; width: 100%; max-width: 100%; }
  .sedation-intro__txt { width: 100%; text-align: center; }
  .sedation-intro__desc { margin-top: 15px; }
  .sedation-head { margin-bottom: 30px; }
  .sedation-treat__list { grid-template-columns: repeat(2, 1fr); gap: 40px 20px; }
  .sedation-treat__cap { margin-top: 15px; }
  .sedation-recommend { margin-top: 50px; padding: 60px 0; }
  .sedation-recommend .sedation-head { margin-bottom: 30px; }
  .sedation-recommend__list li { min-height: 80px; }
  .sedation-recommend__list li + li { margin-top: 6px; }
}

@media screen and (max-width: 425px) {
  .sedation-treat__list { gap: 30px 15px; }
  .sedation-recommend__list li { min-height: 64px; padding: 12px 15px; }
}


/* ======================================================================== */
/* === SEDATION (의식하진정요법) ============================================ */
/* ======================================================================== */

/* ======================================================================== */
/* === DARK-HERO (공통 다크 배너 : 의식하진정 / 라미네이트) ================== */
/* ======================================================================== */
.dark-hero { position: relative; display: flex; align-items: center; min-height: 705px; background-repeat: no-repeat; background-position: right center; background-size: cover; }
.dark-hero--sedation { background-color: #18203a; background-image: url("../img/main/sedation_hero_bg.png"); }
.dark-hero--lami { background-color: #29231f; background-image: url("../img/main/lami_hero_bg.png"); }
.dark-hero .inner { position: relative; z-index: 1; }
.dark-hero__eyebrow { letter-spacing: 0.2em; }
.dark-hero__title { margin-top: 45px; line-height: 1.3; }
.dark-hero__desc { margin-top: 50px; line-height: 1.7; }

.dark-hero--ortho { background-color: #ececec; background-image: url("../img/main/ortho_hero_bg.png"); }
.dark-hero--light .dark-hero__title { color: #111; }
.dark-hero--light .dark-hero__desc { color: #333; }
.dark-hero--nature { background-color: #e6f2f2; background-image: url("../img/main/nature_hero_bg.png"); }

@media screen and (max-width: 769px) {
  .dark-hero { min-height: auto; padding: 90px 0; background-position: 75% center; }
  .dark-hero::before { content: ""; position: absolute; inset: 0; background: rgba(0, 0, 0, 0.6); }
  .dark-hero--sedation::before { background: rgba(24, 32, 58, 0.75); }
  .dark-hero__title { margin-top: 25px; }
  .dark-hero__desc { margin-top: 25px; }
  .dark-hero--light::before { background: rgba(236, 236, 236, 0.85); }
  .dark-hero--nature::before { background: rgba(230, 242, 242, 0.85); }
}

@media screen and (max-width: 425px) {
  .dark-hero { padding: 70px 0; }
}
/* ======================================================================== */
/* === DARK-HERO (공통 다크 배너 : 의식하진정 / 라미네이트) ================== */
/* ======================================================================== */

/* ======================================================================== */
/* === SEDATION-SPECIAL (의식하진정요법 임플란트 특별함) ===================== */
/* ======================================================================== */
.sedation-special { padding: 120px 0 110px; background: #141d33 url("../img/main/special_bg.png") no-repeat center / cover; }
.sedation-special .sedation-head { margin-bottom: 60px; }

.special-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 60px 20px; }
.special-card { text-align: center; }
.special-card__img { aspect-ratio: 710 / 334; overflow: hidden; }
.special-card__img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.special-card__tit { display: flex; align-items: center; justify-content: center; min-height: 86px; padding: 10px 15px; background: #13afb0; color: #fff; line-height: 1.3; }
.special-card__desc { margin-top: 40px; color: #fff; line-height: 1.8; }

@media screen and (max-width: 1200px) {
  .special-card__desc { margin-top: 25px; }
}

@media screen and (max-width: 769px) {
  .sedation-special { padding: 60px 0; }
  .sedation-special .sedation-head { margin-bottom: 30px; }
  .special-list { grid-template-columns: 1fr; gap: 45px; }
  .special-card__tit { min-height: 64px; }
  .special-card__desc { margin-top: 18px; }
}

/* ======================================================================== */
/* === SEDATION-SPECIAL (의식하진정요법 임플란트 특별함) ===================== */
/* ======================================================================== */

/* ======================================================================== */
/* === IMMEDIATE (발치즉시 임플란트) ======================================== */
/* ======================================================================== */
.immediate { overflow: hidden; }
.immediate-deco { position: absolute; left: 0; top: 85px; width: 30vw; max-width: 575px; pointer-events: none; }
.immediate-deco img { display: block; width: 100%; height: auto; }

.immediate-head { position: relative; z-index: 1; text-align: center; }
.immediate-head__title { line-height: 1.3; color: #111; }
.immediate-head__desc { margin-top: 40px; line-height: 1.7; color: #222; }
.immediate-pill { display: inline-flex; align-items: center; justify-content: center; min-width: 684px; min-height: 82px; margin-top: 35px; padding: 10px 40px; border-radius: 50px; background: #13afb0; color: #fff; line-height: 1.3; }

.immediate-step { display: flex; justify-content: center; align-items: flex-start; margin-top: 35px; }
.immediate-step__item { width: 296px; text-align: center; }
.immediate-step__img { aspect-ratio: 1 / 1; border-radius: 50%; overflow: hidden; }
.immediate-step__img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.immediate-step__cap { margin-top: 25px; color: #333; line-height: 1.3; }
.immediate-step__arrow { position: relative; width: 126px; aspect-ratio: 126 / 296; }
.immediate-step__arrow::before { content: ""; position: absolute; top: 50%; left: 50%; transform: translate(-40%, -50%); border-style: solid; border-width: 20px 0 20px 34px; border-color: transparent transparent transparent #222; }

.immediate-point { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-top: 60px; }
.immediate-point li { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 204px; padding: 25px 15px; border: 1px solid #bbb; border-radius: 8px; text-align: center; }
.immediate-point__num { color: #a8c6c6; line-height: 1.1; }
.immediate-point__txt { margin-top: 15px; color: #111; line-height: 1.3; }

@media screen and (max-width: 769px) {
  .immediate-head__desc { margin-top: 20px; }
  .immediate-pill { min-width: 0; width: 100%; min-height: 60px; margin-top: 25px; padding: 10px 20px; }
  .immediate-step { margin-top: 30px; }
  .immediate-step__item { width: 28%; }
  .immediate-step__arrow { width: 8%; }
  .immediate-step__arrow::before { border-width: 10px 0 10px 16px; }
  .immediate-step__cap { margin-top: 12px; }
  .immediate-point { grid-template-columns: repeat(2, 1fr); gap: 10px; margin-top: 40px; }
  .immediate-point li { min-height: 140px; padding: 20px 10px; }
  .immediate-point__txt { margin-top: 8px; }
}
/* ======================================================================== */
/* === IMMEDIATE (발치즉시 임플란트) ======================================== */
/* ======================================================================== */

/* ======================================================================== */
/* === INSURANCE (건강보험 임플란트) ======================================== */
/* ======================================================================== */
.insurance { padding-bottom: 120px; background: #f6f6f6; }

.insurance-top { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; }
.insurance-copy { flex: 1; padding-bottom: 80px; }
.insurance-copy__title { line-height: 1.3; color: #111; }
.insurance-copy__desc { margin-top: 45px; line-height: 1.7; color: #222; }
.insurance-photo { flex: 0 0 58%; max-width: 820px; }
.insurance-photo img { display: block; width: 100%; height: auto; }

.insurance-box { padding: 55px 40px 75px; border-radius: 30px; background: #13afb0; }
.insurance-list { display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px; max-width: 1060px; margin: 0 auto; }
.insurance-list li { text-align: center; color: #fff; }
.insurance-list__icon { display: flex; align-items: center; justify-content: center; width: 186px; max-width: 100%; aspect-ratio: 1 / 1; margin: 0 auto; border-radius: 50%; background: #fff; }
.insurance-list__icon img { display: block; width: auto; height: 70px; }
.insurance-list__tit { margin-top: 40px; letter-spacing: 0.05em; line-height: 1.3; }
.insurance-list__desc { margin-top: 20px; color: #fff; line-height: 1.5; }

@media screen and (max-width: 1200px) {
  .insurance-copy { padding-bottom: 50px; }
  .insurance-photo { flex-basis: 52%; }
  .insurance-box { padding: 45px 25px 55px; }
  .insurance-list { gap: 20px; }
  .insurance-list__icon { width: 150px; }
  .insurance-list__tit { margin-top: 25px; }
}

@media screen and (max-width: 769px) {
  .insurance { padding-bottom: 60px; }
  .insurance-top { flex-direction: column; align-items: center; gap: 25px; }
  .insurance-copy { padding-bottom: 0; text-align: center; }
  .insurance-copy__desc { margin-top: 20px; }
  .insurance-photo { flex: none; width: 100%; max-width: 560px; }
  .insurance-box { padding: 35px 15px 40px; border-radius: 20px; }
  .insurance-list { grid-template-columns: repeat(2, 1fr); gap: 35px 10px; }
  .insurance-list__icon { width: 110px; }
  .insurance-list__tit { margin-top: 15px; }
  .insurance-list__desc { margin-top: 8px; }
}

@media screen and (max-width: 425px) {
  .insurance-list__icon { width: 90px; }
}
/* ======================================================================== */
/* === INSURANCE (건강보험 임플란트) ======================================== */
/* ======================================================================== */

/* ======================================================================== */
/* === CASE (고난이도 임플란트 치료사례) ===================================== */
/* ======================================================================== */
.case { padding-bottom: 120px; overflow: hidden; }
.case-deco { position: absolute; pointer-events: none; }
.case-deco img { display: block; width: 100%; height: auto; }
.case-deco--left { left: 0; top: 30px; width: 24vw; max-width: 460px; }
.case-deco--right { right: 0; bottom: 60px; width: 23vw; max-width: 440px; }

.case .inner { z-index: 1; }
.case-head { text-align: center; margin-bottom: 40px; }
.case-head__title { line-height: 1.3; color: #111; }

.case-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; max-width: 1390px; margin: 0 auto; }
.case-card { border-radius: 20px; overflow: hidden; }
.case-card__img { aspect-ratio: 685 / 321; background: #e0e0e0; }
.case-card__img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.case-card__label { display: flex; align-items: center; justify-content: center; min-height: 75px; letter-spacing: 0.1em; color: #111; line-height: 1; }
.case-card--before .case-card__label { background: #9a9a9a; }
.case-card--after .case-card__label { background: #13afb0; }

.case-notice { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; max-width: 1390px; margin: 25px auto 0; }
.case-notice li { padding-left: 8px; color: #333; line-height: 1.9; }

@media screen and (max-width: 769px) {
  .case { padding-bottom: 60px; }
  .case-head { margin-bottom: 25px; }
  .case-list { gap: 10px; }
  .case-card { border-radius: 12px; }
  .case-card__label { min-height: 44px; }
  .case-notice { grid-template-columns: 1fr; gap: 0; margin-top: 15px; }
  .case-notice li { padding-left: 0; line-height: 1.7; }
}

.case + .content { padding-top: 0; }
/* ======================================================================== */
/* === CASE (고난이도 임플란트 치료사례) ===================================== */
/* ======================================================================== */

/* ======================================================================== */
/* === FEATURE3 공통 (3열 카드 : 라미네이트 특징 / 치아교정 POINT) ========== */
/* ======================================================================== */
.feature3 { padding-bottom: 120px; }
.feature3__head { text-align: center; margin-bottom: 60px; }
.feature3__title { line-height: 1.3; color: #111; }

.feature3__list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.feature3__list li { text-align: center; }
.feature3__img { aspect-ratio: 471 / 300; border-radius: 20px; overflow: hidden; }
.feature3__img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.feature3__tit { margin-top: 35px; line-height: 1.3; color: #111; }
.feature3__tit span { display: block; }
.feature3__desc { margin-top: 25px; line-height: 1.6; color: #222; }

@media screen and (max-width: 1200px) {
}

@media screen and (max-width: 769px) {
  .feature3 { padding-bottom: 60px; }
  .feature3__head { margin-bottom: 30px; }
  .feature3__list { grid-template-columns: 1fr; gap: 40px; }
  .feature3__img { border-radius: 14px; }
  .feature3__tit { margin-top: 20px; }
  .feature3__desc { margin-top: 10px; }
}
/* ======================================================================== */
/* === FEATURE3 공통 (3열 카드 : 라미네이트 특징 / 치아교정 POINT) ========== */
/* ======================================================================== */

/* ======================================================================== */
/* === ORTHO-TYPE (치아교정 종류) =========================================== */
/* ======================================================================== */
.ortho-type { padding-bottom: 120px; }
.ortho-type__head { text-align: center; margin-bottom: 60px; }
.ortho-type__title { line-height: 1.3; color: #111; }

.ortho-type__row { display: flex; align-items: center; gap: 40px; }
.ortho-type__row + .ortho-type__row { margin-top: 90px; }
.ortho-type__info { flex: 0 0 34%; }
.ortho-type__num { display: block; line-height: 1.2; }
.ortho-type__name { margin-top: 5px; line-height: 1.3; color: #111; }
.ortho-type__desc { margin-top: 35px; line-height: 1.8; color: #222; }

.ortho-type__items { flex: 1; display: grid; grid-template-columns: repeat(2, 1fr); gap: 36px; }
.ortho-type__items > li { text-align: center; }
.ortho-type__img img { display: block; width: 100%; height: auto; }
.ortho-type__item-tit { margin-top: 40px; line-height: 1.3; color: #111; }
.ortho-type__item-desc { margin-top: 8px; line-height: 1.5; color: #222; }

.ortho-type__check-wrap { display: flex; align-items: center; }
.ortho-type__check { width: 100%; }
.ortho-type__check li { position: relative; display: flex; align-items: center; min-height: 82px; padding: 12px 20px 12px 85px; border-radius: 12px; background: #eee; color: #111; text-align: left; line-height: 1.4; }
.ortho-type__check li + li { margin-top: 13px; }
.ortho-type__check li::before { content: ""; position: absolute; left: 60px; top: 50%; width: 14px; height: 7px; border-left: 2px solid #111; border-bottom: 2px solid #111; transform: translateY(-70%) rotate(-45deg); }

@media screen and (max-width: 1200px) {
  .ortho-type__row { gap: 30px; }
  .ortho-type__info { flex-basis: 32%; }
  .ortho-type__items { gap: 20px; }
  .ortho-type__item-tit { margin-top: 20px; }
  .ortho-type__check li { min-height: 64px; padding-left: 50px; }
  .ortho-type__check li::before { left: 22px; }
}

@media screen and (max-width: 769px) {
  .ortho-type { padding-bottom: 60px; }
  .ortho-type__head { margin-bottom: 30px; }
  .ortho-type__row { flex-direction: column; align-items: stretch; gap: 25px; }
  .ortho-type__row + .ortho-type__row { margin-top: 60px; }
  .ortho-type__info { flex: none; }
  .ortho-type__desc { margin-top: 15px; }
  .ortho-type__items { gap: 25px 12px; }
  .ortho-type__row:last-child .ortho-type__items { grid-template-columns: 1fr; }
  .ortho-type__item-tit { margin-top: 12px; }
  .ortho-type__item-desc { margin-top: 4px; }
  .ortho-type__check li { min-height: 54px; border-radius: 10px; }
  .ortho-type__check li + li { margin-top: 8px; }
}
/* ======================================================================== */
/* === ORTHO-TYPE (치아교정 종류) =========================================== */
/* ======================================================================== */

/* ======================================================================== */
/* === GUM-CARE (자연치아 살리기 01 잇몸치료) ================================ */
/* ======================================================================== */
.gum-care__head { text-align: center; margin-bottom: 50px; }
.gum-care__title { margin-top: 10px; line-height: 1.3; color: #111; }
.gum-care__sub { margin-top: 40px; line-height: 1.4; color: #111; }

.gum-care__list { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; max-width: 1200px; margin: 0 auto; }
.gum-card { text-align: center; }
.gum-card__img { aspect-ratio: 1 / 1; background: #f0f0f0; overflow: hidden; }
.gum-card__img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.gum-card__stage, .gum-card__depth, .gum-card__treat { display: flex; align-items: center; justify-content: center; padding: 6px 10px; line-height: 1.3; }
.gum-card__stage { min-height: 50px; color: #fff; }
.gum-card__depth { min-height: 50px; background: #e3e3e3; color: #777; }
.gum-card__treat { min-height: 74px; background: #222; color: #fff; }
.gum-card--01 .gum-card__stage { background: #13afb0; }
.gum-card--02 .gum-card__stage { background: #1b75bb; }
.gum-card--03 .gum-card__stage { background: #1a46b4; }
.gum-card--04 .gum-card__stage { background: #0a2d6b; }

.gum-care--cavity .gum-card__depth { min-height: 168px; padding: 15px 10px; background: #ececec; color: #333; line-height: 1.5; }


@media screen and (max-width: 769px) {
  .gum-care__head { margin-bottom: 30px; }
  .gum-care__sub { margin-top: 20px; }
  .gum-care__list { grid-template-columns: repeat(2, 1fr); gap: 20px 10px; }
  .gum-card__stage, .gum-card__depth { min-height: 40px; }
  .gum-card__treat { min-height: 52px; }

  .gum-care--cavity .gum-card__depth { min-height: 0; padding: 12px 8px; }
}
/* ======================================================================== */
/* === GUM-CARE (자연치아 살리기 01 잇몸치료) ================================ */
/* ======================================================================== */


/* ======================================================================== */
/* === INTERIOR (구리시 200평형 진료 환경) =================================== */
/* ======================================================================== */
.interior { padding-bottom: 120px; }
.interior__head { text-align: center; margin-bottom: 55px; }
.interior__title { line-height: 1.3; color: #111; }
.interior__desc { margin-top: 45px; line-height: 1.7; color: #222; }

.interior #gallery { max-width: 1440px; margin: 0 auto; }
.interior .gallery-top { position: relative; aspect-ratio: 1440 / 800; }
.interior .gallery-top .swiper-slide img { display: block; width: 100%; height: 100%; object-fit: cover; }
.interior .gallery-top .swiper-button-prev, .interior .gallery-top .swiper-button-next { color: #fff; }
.interior .gallery-thumbs { margin-top: 15px; }
.interior .gallery-thumbs .swiper-slide { aspect-ratio: 276 / 158; background: #9e9e9e; opacity: 0.5; cursor: pointer; transition: opacity 0.3s; }
.interior .gallery-thumbs .swiper-slide-thumb-active { opacity: 1; }
.interior .gallery-thumbs .swiper-slide img { display: block; width: 100%; height: 100%; object-fit: cover; }

@media screen and (max-width: 769px) {
  .interior { padding-bottom: 60px; }
  .interior__head { margin-bottom: 30px; }
  .interior__desc { margin-top: 20px; }
  .interior .gallery-thumbs { margin-top: 8px; }
}
/* ======================================================================== */
/* === INTERIOR (구리시 200평형 진료 환경) =================================== */
/* ======================================================================== */

/* ======================================================================== */
/* === INFO (진료시간 / 오시는길) =========================================== */
/* ======================================================================== */
.info { padding-bottom: 120px; background: #f2f2f2; }
.info-head { text-align: center; margin-bottom: 90px; }
.info-head__eyebrow { color: #111; letter-spacing: 0.05em; }
.info-head__title { margin-top: 10px; line-height: 1.3; color: #111; }

.info-row { display: grid; grid-template-columns: 1fr 683px; gap: 95px; align-items: center; }
.info-row + .info-row { margin-top: 120px; }
.info-box__tit { line-height: 1.3; color: #333; }

/* 공통 라벨 (양쪽 정렬) */
.info-label { flex: 0 0 145px; text-align: justify; text-align-last: justify; }

/* 진료시간 */
.info-time { margin-top: 20px; }
.info-time li { display: flex; align-items: center; gap: 40px; padding: 30px 25px; border-bottom: 1px dashed #aaa; line-height: 1.3; color: #111; }
.info-time li.point-color-teal { color: #13afb0; }
.info-time li:last-child { border-bottom: 0; }
.info-value { letter-spacing: 0.08em; }
.info-time__note { margin-top: 20px; color: #333; }

/* 365일 배너 */
.info-banner { display: flex; flex-direction: column; align-items: center; justify-content: center; aspect-ratio: 683 / 648; padding: 40px; border-radius: 30px; overflow: hidden; background: #0f1d4a url("../img/main/info_banner_bg.png") no-repeat center / cover; text-align: center; }
.info-banner__tit { color: #fff; line-height: 1.2; }
.info-banner__tit span { display: block; }
.info-banner__desc { margin-top: 55px; color: #fff; line-height: 1.6; }

/* 오시는 길 */
.info-way { margin-top: 20px; }
.info-way li { display: flex; align-items: flex-start; gap: 40px; padding: 30px 25px; border-bottom: 1px dashed #aaa; color: #111; }
.info-way li:last-child { border-bottom: 0; }
.info-way .info-label { line-height: 1.4; }
.info-way__main { line-height: 1.4; color: #111; }
.info-way__sub { margin-top: 12px; color: #555; line-height: 1.4; }

/* 버튼 */
.info-btn { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 20px; }
.info-btn__item { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; min-height: 130px; padding: 25px 10px; border-radius: 6px; transition: filter 0.3s, transform 0.3s; }
.info-btn__item img { display: block; width: auto; height: 35px; }
.info-btn__item--tel { background: #13afb0; }
.info-btn__item--naver { background: #03c75a; }
.info-btn__item--kakao { background: #fee500; }
.info-btn__item--tel span, .info-btn__item--naver span { color: #fff; }
.info-btn__item--kakao span { color: #3a1d1d; }
.info-btn__item:hover { filter: brightness(0.92); transform: translateY(-3px); }

/* 지도 (카카오맵 지도퍼가기) */
.info-map { border-radius: 30px; overflow: hidden; background: #fff; }
.info-map .root_daum_roughmap { width: 100% !important; height: auto !important; }
.info-map .root_daum_roughmap .wrap_map { height: 560px !important; }

@media screen and (max-width: 1200px) {
  .info-row { grid-template-columns: 1fr 1fr; gap: 40px; }
  .info-label { flex-basis: 110px; }
  .info-time li, .info-way li { gap: 25px; padding: 22px 10px; }
  .info-value { letter-spacing: 0.02em; }
  .info-banner__desc { margin-top: 30px; }
  .info-map .root_daum_roughmap .wrap_map { height: 460px !important; }
}

@media screen and (max-width: 769px) {
  .info { padding-bottom: 60px; }
  .info-head { margin-bottom: 40px; }
  .info-row { grid-template-columns: 1fr; gap: 30px; }
  .info-row + .info-row { margin-top: 60px; }
  .info-banner, .info-map { border-radius: 20px; }
  .info-btn__item { min-height: 96px; }
  .info-btn__item img { height: 34px; }
  .info-map .root_daum_roughmap .wrap_map { height: 360px !important; }
}

@media screen and (max-width: 425px) {
  .info-label { flex-basis: 80px; letter-spacing: 1px;}
  .info-time li, .info-way li { gap: 15px; padding: 18px 5px; }
  .info-value { letter-spacing: 0; }
  .info-banner { padding: 30px 20px; }
  .info-btn { gap: 8px; }
  .info-btn__item { min-height: 84px; gap: 6px; }
  .info-btn__item img { height: 28px; }
  .info-map .root_daum_roughmap .wrap_map { height: 300px !important; }
}
/* ======================================================================== */
/* === INFO (진료시간 / 오시는길) =========================================== */
/* ======================================================================== */