@charset "utf-8";

/*========================================================================================================================================= */
/*================================================================ common ================================================================= */
/*========================================================================================================================================= */
section:last-of-type {padding-bottom: 120px;}
main {overflow: hidden;}

.link {position: absolute; top: -120px; left: 0;}
.res-bg{padding: 120px 0 !important;}
.title-num{display: flex;  padding-top: 5px; margin: 0 auto 10px; background: #595248; color: #fff; font-size: 30px; width: 60px; height: 60px; align-items: center; justify-content: center; font-family: 'NanumSquare',san-serif; font-weight: 700; border-radius: 50%;}

.stick ul.flex li h6{background: #595248; color: #fff; padding: 10px; font-family: 'NanumSquare',san-serif; font-weight: 700;}
.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: #42b1a6; color: #fff; font-size: 24px; font-weight: 500; text-align: center;}
.num.num-posa::before {position: absolute; margin: 0;}


/* 미들 타이틀 (작은 타이틀) */
.middle-title {font-family: 'NanumSquare',san-serif; text-align: center; margin-bottom: 40px;} 
.middle-title p {font-weight: 400; white-space: pre-line; margin-top: 20px;}
.middle-title h3,
.middle-title h4 {line-height: 1.4; font-weight: 900; white-space: pre-line;}
.middle-title h5,
.middle-title h6 {font-weight: 700; white-space: pre-line;}
.middle-title > span.num::before {font-family: 'NanumSquare',san-serif; font-weight: 400; margin: 0 auto 20px;} 


/* 테이블 스타일 */
.table-wrap {text-align: center;}
.table-wrap .middle-title h4 {display: inline-block; padding: 12px 20px 8px; background-color: #595248; 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;}
.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: #595248; 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;}


/* 숫자 리스트 */
.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: -4px; 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: #595248;}
.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 h4,
.basic-box li h5 {margin: 0 0 15px; font-weight: 800; white-space: pre-line; font-family: 'NanumSquare',san-serif; line-height: 1.4;}
.basic-box li.num h4,
.basic-box li.num h5 {margin: 20px 0 15px;}
.basic-box li p {white-space: pre-line;}
.basic-box.line li h4,
.basic-box.line li h5 {position: relative; padding-bottom: 10px;}
.basic-box.line li h4::before,
.basic-box.line li h5::before {position: absolute; content: ''; left: 0; bottom: 0; width: 50px; height: 2px; background: linear-gradient(to right, #1f9e9c, #8ab142);}


/* 원 안에 아이콘 없는 박스 */
.circle-box > div > div {border-radius: 50%; background-color: #f5f5f5;}
.circle-box:nth-child(2n-1) > div > div {background-color: #e7ddd0;}
.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: 4px 28px; margin: 0 auto; background: linear-gradient(to right, #1f9e9c, #8ab142); color: #fff;}


/* 둥근 모서리를 가진 배경색 타이틀 */
.radius-tit {display: inline-block; padding: 8px 42px; margin: 0 auto; border-radius: 40px; background: linear-gradient(to right, #1f9e9c, #8ab142); 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: 75px;}

}

/*================================================================ 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) {
section:last-of-type {padding-bottom: 80px;}

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

/* 숫자 스타일 */
.num::before {margin: 10px auto 0; width: 40px; height: 40px;}
.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 h4,
.basic-box li h5 {margin: 20px 0 10px;}
.basic-box li.num h4,
.basic-box li.num h5 {margin: 10px 0 15px;}
.basic-box li img {max-width: 500px; width: 100%;}
.basic-box.line li h4::before,
.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:480px) {
section:last-of-type {padding-bottom: 60px;}

.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: 35px; height: 35px; 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{margin-top: 10px;}
.middle-title > span.num::before {margin: 0 auto 10px;}


/* 사진+텍스트 들어간 기본 스타일 */
.basic-box li:last-child {margin-top: 15px;}
.basic-box li img {max-width: 70%;}
.basic-box li h4,
.basic-box li h5 {margin: 15px 0 10px; line-height: 1.4;}
.basic-box li.num h4,
.basic-box li.num h5 {margin: 10px 0;}


/* 원 안에 아이콘 없는 박스 */
.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;}


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


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



/*========================================================================================================================================= */
/*================================================================ banner ================================================================= */
/*========================================================================================================================================= */
	

/* common */
.banner-bg {padding: 200px 0;}
.banner-bg h2 {color: #fff; text-align: center;}
.banner-bg p {color: #fff; text-align: center; font-size: 13px; letter-spacing: 2px;}


/* about */
.about-bg.banner-bg {background: url(../img/sub/about_bg.jpg) center/cover no-repeat;}
.sub2-bg.banner-bg {background: url(../img/custom/sub_2_bg.jpg) center/cover no-repeat;}
.sub3-bg.banner-bg {background: url(../img/custom/sub_3_bg.jpg) center/cover no-repeat;}
.sub4-bg.banner-bg {background: url(../img/custom/sub_4_bg.jpg) center/cover no-repeat;}
.sub5-bg.banner-bg {background: url(../img/custom/sub_5_bg.jpg) center/cover no-repeat;}
.sub6-bg.banner-bg {background: url(../img/custom/sub_6_bg.jpg) center/cover no-repeat;}
.sub7-bg.banner-bg {background: url(../img/sub/about_bg.jpg) center/cover no-repeat;}


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

}

/*================================================================ 1200px 이하 ================================================================= */
@media screen and (max-width:1200px) {
.banner-bg{padding: 150px 0;}
}

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

}

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

}

/*================================================================ 769px 이하 ================================================================= */
@media screen and (max-width:769px) {
.banner-bg{padding: 100px 0;}
}

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

}

/*================================================================ 425px 이하 ================================================================= */
@media screen and (max-width:480px) {
.banner-bg{padding: 60px 0;}
}


/*========================================================================================================================================= */
/*================================================================ banner ================================================================= */
/*========================================================================================================================================= */



/*============================================================================================================================================= */
/*================================================================ sub1 style ================================================================= */
/*============================================================================================================================================= */


.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: #42b1a6; cursor: pointer; transition: all ease 0.3s;}
.dentist .tab-btn input:checked + label {color: #fff; background-color: #111; transition: all ease 0.3s;}
.dentist .tab-content {position: relative; margin-top: 80px;}
.dentist .tab-content::before {position: absolute; content: ''; right: -50px; bottom: 100px; aspect-ratio: 581/146; width: 400px; background: url(../img/custom/sub33_05.png) center/cover no-repeat;}
.dentist .tab-content:nth-child(2n) > ul {flex-direction: row-reverse;}
.dentist .tab-content:nth-child(2n) > ul > li:last-child > div {margin: 0 50px 0 0;}
.dentist .tab-content > ul > li:last-child > div {margin-left: 50px;}
.dentist .tab-content .img {position: relative;}
.dentist .tab-content .img::before {position: absolute; content: ''; left: -400px; bottom: 0; width: 700px; height: 900px; z-index: -1; background: #42b1a6; }
.dentist .tab-content .tab-name {border-bottom: 2px dotted #ddd; margin-bottom: 20px; /* padding-bottom: 20px; */}
.dentist .tab-content .tab-name > div {display:flex; align-items:center; margin-bottom: 10px;}
.dentist .tab-content .tab-name > div h3 {font-weight: 900;}
.dentist .tab-content .tab-name > div span {padding: 0 5px; font-size: 0.5em; font-weight: 500; background: #42b1a6; 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 .disc-list li {position: relative; padding-left: 15px;}
.dentist .tab-content .disc-list li::before {position: absolute; content: ''; left: 0; top: 50%; transform: translateY(-50%); width: 4px; height: 4px; border-radius: 50%; background: #595248;}
.dentist .tab-content .disc-list li p {font-size: 16px; line-height: 1.8;}
.dentist .tab-content .disc-list li.tit {padding-left: 0; margin-bottom: 5px;}
.dentist .tab-content .disc-list li.tit::before {display: none;}
.dentist .tab-content .disc-list li.tit p {font-weight: 900; color: #42b1a6; font-size: 24px;}



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

}

/*================================================================ 1200px 이하 ================================================================= */
@media screen and (max-width:1200px) {
.dentist .tab-content {margin-top: 60px;}
}

/*================================================================ 1025px 이하 ================================================================= */
@media screen and (max-width:1025px) {
.dentist .tab-content .img::before {display: none;}
.dentist .tab-btn {margin: 20px auto 40px; flex-direction: column; max-width: 350px;}
.dentist .tab-btn label {padding: 8px 15px;}
.dentist .tab-content::before {width: 300px; right: 0; bottom: 0;}
.dentist .tab-content > ul {display: block; background: none; max-width: 500px; margin: 0 auto;}
.dentist .tab-content > ul > li {width: 100%; text-align: center;}
.dentist .tab-content > ul > li:last-child > div {margin: 15px 0 0 0 !important;}
.dentist .tab-content .img {max-width: 500px; margin: 0 auto; padding: 40px 20px 0; background: #c2ccd0; text-align: center;}
.dentist .tab-content .img img {max-width: 300px;}
.dentist .tab-content .tab-name > div{display: block;}
.dentist .tab-content .disc-list {display: flex; flex-direction: column; align-items: flex-start; text-align: left;}
}

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


section.thesis-area1 {margin-top: 80px !important;}
}

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

}

/*================================================================ 600px 이하 ================================================================= */
@media screen and (max-width:600px) {
.dentist .tab-content .disc-list {padding-left: 20px;}
.dentist .tab-content .disc-list .disc-btn {width: calc(100% - 20px);}
}

/*================================================================ 425px 이하 ================================================================= */
@media screen and (max-width:480px) {
.dentist .tab-btn {margin: 10px auto 30px;}
.dentist .tab-content {margin-top: 40px;}
.dentist .tab-content::before {width: 250px; bottom: -65px;}
.dentist .tab-content .img img {max-width: 200px;}
.dentist .tab-content .tab-name > div h3 {font-size: 32px;}
.dentist .tab-content .tab-name p {font-size: 14px;}
.dentist .tab-content .disc-list {padding-left: 10px;}
.dentist .tab-content .disc-list li p {font-size: 14px;}
}

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

}


/*============================================================================================================================================= */
/*================================================================ sub1 style ================================================================= */
/*============================================================================================================================================= */


/*========================================================================================================================================= */
/*======================================================== sub etc style ================================================================== */
/*========================================================================================================================================= */


/*========================================================================================================================================= */
/*======================================================== sub etc style ================================================================== */
/*========================================================================================================================================= */
