@charset "utf-8";

/* #content */
article#content { margin-top: 70px; }
@media screen and (max-width: 768px) {
    article#content { margin-top: 50px; }
}
.img_box img {width: 100%;}
.block {display: block;}
.m_color {color: #0C82FE !important;}

section .inner .title_text {font-weight: 700; font-size: 70px; letter-spacing: -0.02em; text-align: center; color: #000;}
section .inner .sub_text {font-weight: 700; font-size: 50px; line-height: 1.5em; padding: 50px 0 50px; text-align: center; margin-top: 50px; position: relative;}
section .inner .sub_text::before {content: ''; display: block; width: 85px; height: 4px; background: #161718; 
    position: absolute; top: 0; left: 50%; margin-left: -42.5px;}
section .inner .sub_explain p {font-weight: 300; font-size: 36px; line-height: 50px; letter-spacing: -1px; text-align: center; color: #505050; margin-bottom: 1em;}
section .inner .sub_explain p:last-of-type {margin-bottom: 0;}
section .inner .sub_explain p strong {font-weight: 500;}


/* doctor-quote */
.doctor-quote {width: 100%; background: linear-gradient(118deg, #000135 0%, #295197 100%); padding: 90px 10px; display: flex; justify-content: center; align-items: center; box-sizing: border-box; position: relative;}
.doctor-quote::after {content: ''; position: absolute; bottom: -36px; left: 50%; transform: translateX(-50%); width: 0; height: 0; border-left: 50px solid transparent; border-right: 50px solid transparent; border-top: 37px solid #162c6a; z-index: 10;}
.doctor-quote__text {color: #fff; font-size: clamp(1.375rem, calc(4.17vw - 0.63rem), 3.125rem); font-family: 'Noto Sans KR', sans-serif; font-weight: 500; line-height: 1.6; text-align: center; word-wrap: break-word; margin: 0;}
.doctor-quote__text strong {font-weight: 700;}
.doctor-quote__text .mo-br {display: none;}
.doctor-quote__text .pc-br {display: inline;}

/* doctor-profile */
.doctor-profile {width: 100%; background: #fff; display: flex; justify-content: space-between; align-items: stretch;}
.doctor-profile__img {width: 30.83vw; height: 42.6vw; background: center / cover no-repeat; flex-shrink: 0;}
.doctor-profile__img--1 {background-image: url(../images/img_doctor_1.png); background-size: contain; width: 70%;}
.doctor-profile__img-wrap {width: 50%; display: flex; justify-content: center; align-items: flex-end;}
.doctor-profile__info {width: 50%; background: #F4F6FB; padding: 5.56vw 5% 5.56vw 4.69vw; box-sizing: border-box; display: flex; flex-direction: column; align-items: flex-start; gap: 25px; flex-shrink: 0;}
.doctor-profile__name {font-size: 40px; font-family: 'Noto Sans KR', sans-serif; font-weight: 500; color: #1C1C1C; word-break: keep-all !important; margin: 0;}
.doctor-profile__name strong {color: #243359; font-weight: 700;}
.doctor-profile__divider {width: 29.79vw; height: 1px; background: #A1ACC8;}
.doctor-profile__career {color: #1C1C1C; font-size: 25px; font-family: 'Noto Sans KR', sans-serif; font-weight: 400; line-height: 50px; word-break: keep-all !important; margin: 0;}

/* doctor-banner */
.doctor-banner {width: 100%; background: #EBF0F9 url(../images/img_doctor_banner.jpg) center / cover no-repeat; padding: 120px 0; display: flex; justify-content: center; align-items: center; box-sizing: border-box;}
.doctor-banner__title {width: 100%; color: #1C1C1C; font-size: clamp(2.125rem, calc(6.85vw - 1.16rem), 5rem); font-family: 'Noto Sans KR', sans-serif; font-weight: 700; line-height: 1; text-align: center; word-wrap: break-word; margin: 0;}
.doctor-banner__title span {color: #243359;}


.list_box .inner {padding: 70px 16.66% 80px;}
.list_box .inner form {text-align: right; margin-bottom: 80px;}
.list_box .inner form input {border-radius: 15px; border: 3px solid #DFE0E2; padding: 16px 28px; margin-right: 10px; outline: none;
    font-family: 'Noto Sans CJK KR'; font-size: 28px; line-height: 46px; letter-spacing: -2px; vertical-align: middle;}
.list_box .inner form input::placeholder {color: #AAADB0;}
.list_box .inner form input:focus {border-color: #0C82FE;}
.list_box .inner form button {background: #0C82FE; border-radius: 15px; border: none; padding: 22px; vertical-align: middle; cursor: pointer;}
.list_box .inner form button span {display: block; position: relative;}
.list_box .inner form button span::before {content: ''; display: block; width: 36px; height: 36px; 
    background-image: url(../images/icon_search.png); background-size: contain; background-position: center; background-repeat: no-repeat;}
.list_box .inner form .btn_write {font-size: 24px; font-weight: 500; letter-spacing: -1px; color: #161718; margin-left: 2em;
    line-height: 44px; padding: 7px 36px; white-space: nowrap; border-radius: 75px; border: 1px solid #777C81; background: #FFF;}
.list_box .inner form .btn_write::after {display: none !important;}
.list_box .inner form .btn_write:hover {border: 1px solid #0C82FE; background: #0C82FE; color: #fff;}


.list_box .inner ul {display: grid; grid-template-columns: repeat(3,1fr); flex-wrap: wrap; gap: 40px;}
.list_box .inner ul li {border-radius: 20px; background: #F5F5F5; overflow: hidden;}
.list_box .inner ul li a {display: block; padding-bottom: calc(460/400 * 100%); position: relative;}
.list_box .inner ul li .img_box {width: 100%; height: 100%; background-repeat: no-repeat; background-size: auto 100%; background-position: right center; position: absolute; top: 0; right: 0;}
.list_box .inner ul li .text_box {width: 100%; height: 100%; padding: 60px 7%; box-sizing: border-box; position: absolute; top: 0; left: 0; 
    display: flex; flex-direction: column; justify-content: space-between;}
.list_box .inner ul li .text_box .director {font-size: 26px; line-height: 1em; letter-spacing: -1px; color: #474A4D;}
.list_box .inner ul li .text_box .doc_name {font-weight: 700; font-size: 45px; line-height: 50px; letter-spacing: -1px; color: #161718; margin: 10px 0 20px;}
.list_box .inner ul li .text_box .branch {font-weight: 700; font-size: 26px; line-height: 1em; letter-spacing: -1px; color: #AAADB0;}
.list_box .inner ul li .text_box .introduce {font-size: 28px; line-height: 38px; letter-spacing: -1px; color: #777C81;}


.banner_box {margin-bottom: 256px; position: relative;}
.banner_box .inner {padding: 0 16.66%;}
.banner_box .inner .mySwiper {position: relative; overflow: hidden;}
.banner_box .inner ul li {border-radius: 20px; background: #F0F7FF; padding: 40px 5%; box-sizing: border-box; text-align: center;}
.banner_box .inner ul li .reviewer {display: block; font-size: 28px; line-height: 52px; letter-spacing: -1px; margin-bottom: 30px;}
.banner_box .inner ul li .ment {font-weight: 700; font-size: 30px; line-height: 52px; letter-spacing: -1px; margin-bottom: 30px;}
.banner_box .inner ul li .btn {display: inline-block; font-weight: 500; font-size: 28px; line-height: 52px; letter-spacing: -1px; 
    color: #fff; background: #0C82FE; border-radius: 100px; padding: 15px 60px;}
.banner_box .swiper-button-next, .banner_box .swiper-button-prev {color: #474A4D;}
.banner_box .swiper-button-prev {left: 20px;}
.banner_box .swiper-button-next {right: 20px;}


/* PC (해상도 1440px ~ 1540px) */
@media screen and (max-width:1540px) {
    section .inner .title_text {font-size: 44px;}
    section .inner .sub_text {font-size: 22px; padding: 30px 0; margin-top: 30px;}
    section .inner .sub_text::before {width: 60px; margin-left: -30px;}
    section .inner .sub_explain p {font-size: 22px; line-height: 1.5em;}

    .doctor_banner .inner h3 {font-size: 60px;}
    .doctor_banner .inner p {font-size: 22px;}

    .list_box .inner {padding: 70px 12% 80px;}
    .list_box .inner ul li .text_box .director {font-size: 22px; line-height: 1em;}
    .list_box .inner ul li .text_box .doc_name {font-size: 36px; line-height: 1em; margin: 8px 0 12px;}
    .list_box .inner ul li .text_box .branch {font-size: 24px; line-height: 1em;}
    .list_box .inner ul li .text_box .introduce {font-size: 24px; line-height: 1.3em;}

    .banner_box .inner {padding: 0 12%;}
}
/* PC (해상도 1058px ~ 1440px) */
@media screen and (max-width:1440px) {
    .list_box .inner {padding: 70px 8% 80px;}
    .banner_box .inner {padding: 0 8%;}
    .doctor-profile__img--1 { height: 100%; transform: translateY(10%); }
    .doctor-profile__career { font-size: 1.3rem; }
}
@media screen and (max-width: 1095px) {
    .doctor-profile__career { font-size: 1.1rem; line-height: 2.4em; }
}
/* PC (해상도 1024px ~ 1058px) */
@media screen and (max-width:1058px) {
    .list_box .inner {padding: 70px 6% 80px;}
    .banner_box .inner {padding: 0 6%;}
}


/* 태블릿 (해상도 769px ~ 1024px) */
@media screen and (max-width:1024px) {
    /* content */
    section .inner .title_text {font-size: 34px; letter-spacing: -1px;}
    section .inner .sub_text {font-size: 26px; padding: 20px 0; margin-top: 20px;}
    section .inner .sub_text::before {width: 32px; height: 2px; margin-left: -16px;}
    section .inner .sub_explain p {font-size: 16px; line-height: 22px;}

    .doctor-banner { padding: 100px 10px 80px; }
    .doctor-banner__title { font-size: 3.25rem; line-height: 1; }
    .doctor-quote { padding: 60px 0; }
    .doctor-profile__name { font-size: 2rem; }
    .doctor-profile__career { font-size: 1.15rem; line-height: 1.8em; }
    

    .list_box .inner {padding: 40px 5%;}
    .list_box .inner form {margin-bottom: 40px;}
    .list_box .inner form input {border-radius: 10px; border: 2px solid #DFE0E2; padding: 3px 20px; font-size: 24px;}
    .list_box .inner form button {border-radius: 10px; padding: 13px;}
    .list_box .inner form button span::before {width: 28px; height: 28px;}
    .list_box .inner ul {grid-template-columns: repeat(2, 1fr); gap: 20px;}
    .list_box .inner ul li .text_box {padding: 50px 7%;}
    .list_box .inner ul li .text_box .director {font-size: 20px;}
    .list_box .inner ul li .text_box .doc_name {font-size: 45px; line-height: 40px;}
    .list_box .inner ul li .text_box .branch {font-size: 20px;}
    .list_box .inner ul li .text_box .introduce {width: 76%; font-size: 22px; line-height: 30px;}
    

    .banner_box {margin-bottom: 120px;}
    .banner_box .inner {padding: 0 5%;}
    .banner_box .inner ul li {border-radius: 10px; padding: 44px 5%;}
    .banner_box .inner ul li .reviewer {font-size: 20px; line-height: 1em; margin-bottom: 16px;}
    .banner_box .inner ul li .ment {font-size: 26px; line-height: 36px; width: 90%; margin: 0 auto 30px;}
    .banner_box .inner ul li .btn {font-size: 24px; padding: 15px 60px;}
    .banner_box .swiper-button-next, .banner_box .swiper-button-prev {font-weight: 900;}
    .banner_box .swiper-button-next:after, .banner_box .swiper-button-prev:after {font-size: 30px;}
    .banner_box .swiper-button-prev {left: 10px;}
    .banner_box .swiper-button-next {right: 10px;}

    .btn_write {display: none;}
}

/* 모바일 가로, 모바일 세로 (해상도 375px ~ 768px)*/
@media screen and (max-width:768px) {
    .wrap { min-width: 375px; }
    /* content */
    section .inner .title_text {font-size: 30px;}
    section .inner .sub_text {font-size: 17px; padding: 20px 0 30px; margin-top: 20px;}
    section .inner .sub_text::before {width: 40px; height: 2px; margin-left: -20px;}
    section .inner .sub_explain p {font-size: 14px; line-height: 23px;}

    .doctor-banner { padding: 4.375rem 0 3.75rem; }
    #content { margin-top: 50px; }
    .doctor-banner__title { width: 90%; margin: auto; font-size: 2.425rem; line-height: 1.3em; }
    .doctor-quote { padding: 3.125rem 0; }
    .doctor-quote__text { width: 90%; margin: auto; }
    .doctor-quote__text .mo-br { display: inline; }
    .doctor-quote__text .pc-br { display: none; }
    .doctor-profile { flex-direction: column; gap: 0; }
    .doctor-profile__img-wrap { width: 100%; }
    .doctor-profile__img { width: 100%; height: 70vw; transform: translateY(0); }
    .doctor-profile__info { width: 100%; padding: 2.5rem 5%; gap: 1rem; }
    .doctor-profile__name { font-size: 1.75rem; text-align: center; width: 100%; }
    .doctor-profile__divider { width: 100%; }
    .doctor-profile__career { font-size: 1.2rem; line-height: 2.1em; }


    .list_box .inner form {text-align: center;}
    .list_box .inner form input {width: 75%; border: 1px solid #DFE0E2; padding: 0 16px; font-size: 20px; line-height: 40px; margin-right: 6px;}
    .list_box .inner form button {padding: 10px;}
    .list_box .inner form button span::before {width: 20px; height: 20px;}
    .list_box .inner ul {grid-template-columns: 1fr;}
    .list_box .inner ul li a {padding-bottom: calc(210/335 * 100%);}
    .list_box .inner ul li .img_box {height: 130%;}
    .list_box .inner ul li.li_pjh .img_box {height: 120%;}
    .list_box .inner ul li .text_box {padding: 30px 7%;}
    .list_box .inner ul li .text_box .director {font-size: 16px;}
    .list_box .inner ul li .text_box .doc_name {font-size: 28px; line-height: 1em; margin: 4px 0 8px;}
    .list_box .inner ul li .text_box .branch {font-size: 16px;}
    .list_box .inner ul li .text_box .introduce {width: 76%; font-size: 18px; line-height: 26px;}
    

    .banner_box {margin-bottom: 60px;}
    .banner_box .inner ul li {border-radius: 10px; padding: 30px 5% 24px;}
    .banner_box .inner ul li .reviewer {font-size: 16px; margin-bottom: 14px;}
    .banner_box .inner ul li .ment {font-size: 20px; line-height: 28px; width: 80%; margin: 0 auto 20px;}
    .banner_box .inner ul li .btn {font-size: 18px; line-height: 52px; padding: 0 30px;}
    .banner_box .swiper-button-next:after, .banner_box .swiper-button-prev:after {font-size: 22px;}
}

@media screen and (max-width: 505px) {
    .doctor-profile__img { width: 100%; height: 100vw; transform: translateY(0); }
}

@media screen and (max-width: 430px) {
    .doctor-profile__name { font-size: 1.55rem; }
    .doctor-profile__career { font-size: 1rem; }
}
