@charset "utf-8";

@font-face {
    font-family: 'GmarketSans';
    font-style: normal;
    font-weight: 300;
    src: url(/fonts/GmarketSans/GmarketSansLight.woff2) format('woff2'),
        url(/fonts/GmarketSans/GmarketSansLight.woff) format('woff'),
        url(/fonts/GmarketSans/GmarketSansLight.otf) format('opentype'),
        url(/fonts/GmarketSans/GmarketSansLight.ttf) format('opentype');
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

@font-face {
    font-family: 'GmarketSans';
    font-style: normal;
    font-weight: 500;
    src: url(/fonts/GmarketSans/GmarketSansMedium.woff2) format('woff2'),
        url(/fonts/GmarketSans/GmarketSansMedium.woff) format('woff'),
        url(/fonts/GmarketSans/GmarketSansMedium.otf) format('opentype'),
        url(/fonts/GmarketSans/GmarketSansMedium.ttf) format('opentype');
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

@font-face {
    font-family: 'GmarketSans';
    font-style: normal;
    font-weight: 700;
    src: url(/fonts/GmarketSans/GmarketSansBold.woff2) format('woff2'),
        url(/fonts/GmarketSans/GmarketSansBold.woff) format('woff'),
        url(/fonts/GmarketSans/GmarketSansBold.otf) format('opentype'),
        url(/fonts/GmarketSans/GmarketSansBold.ttf) format('opentype');
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}


* {
    -webkit-text-size-adjust: none;
    -ms-text-size-adjust: none;
    -moz-text-size-adjust: none;
    -o-text-size-adjust: none;
    list-style: none;
    border: 0;
}

html {
    /* 영문이면 roboto가 적용되고, 한글이면 Noto Sans KR가 적용되도록 아래와 같은 순서로 배치 */
    font-family: 'Roboto', 'GmarketSans', '돋움', sans-serif;
    overflow-x: hidden;
}

body {
    overflow-x: hidden;
}

/* 노말라이즈 */
body,
ul,
li,
h1,
h2,
h3,
h4,
h5,
h6,
p {
    margin: 0;
    padding: 0;
    list-style: none;
}

dl {
    margin: 0;
}

a {
    color: inherit;
    text-decoration: none;
}

label[for] {
    cursor: pointer;
    user-select: none;
}

form,
fieldset,
button {
    margin: 0;
    padding: 0;
    border: 0;
}

/* 라이브러리 */
.block {
    display: block;
}

.inline-block {
    display: inline-block;
}

.absolute-left {
    position: absolute;
    left: 0;
}

.absolute-right {
    position: absolute;
    right: 0;
}

.absolute-bottom {
    position: absolute;
    bottom: 0;
}

.absolute-top {
    position: absolute;
    top: 0;
}

.absolute-center {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}

.absolute-middle {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

.absolute-middle.absolute-center {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
}

.relative-center {
    position: relative;
    left: 50%;
    transform: translateX(-50%);
}

.relative {
    position: relative;
}

.img-box>img {
    width: 100%;
    display: block;
}

.margin-0-auto {
    margin-left: auto;
    margin-right: auto;
}

.text-align-center {
    text-align: center;
}

.text-align-right {
    text-align: right;
}

.swiper-button svg {
    display: none;
}

/* 임시 */

/* 라이브러리 - flex */
*>.flex {
    display: flex;
}

*>.flex-di-column {
    flex-direction: column;
}

*>.flex-column-nowrap {
    flex-flow: column nowrap;
}

*>.flex-grow-1 {
    flex-grow: 1;
}

*>.flex-jc-s {
    justify-content: flex-start;
}

*>.flex-jc-c {
    justify-content: center;
}

*>.flex-jc-e {
    justify-content: flex-end;
}

*>.flex-jc-sb {
    justify-content: space-between;
}

*>.flex-ai-c {
    align-items: center;
}

*>.flex-ai-e {
    align-items: flex-end;
}

*>.flex-row-nowrap {
    flex-direction: row;
    flex-wrap: nowrap;
}

*>.flex-ch-basis-0 {
    display: flex;
}

.flex-ch-basis-0>* {
    flex-basis: 0;
}

*>.flex-1-0-0 {
    flex: 1 0 0;
}

.mgt-1 {
    margin-top: 10px !important;
}

.mgt-2 {
    margin-top: 20px !important;
}

.mgt-4 {
    margin-top: 40px !important;
}

.mgt-6 {
    margin-top: 60px !important;
}

.mgt-8 {
    margin-top: 80px !important;
}



/* 커스텀 */
/* .con { width: 1500px; }    
.con-min-width { min-width: 1500px; } */

.title-box {
    text-align: center;
    max-width: 600px;
    margin: 0 auto;
    word-break: keep-all;
    letter-spacing: -1px;
}

.title-box .subtit {
    font-size: 1.2rem;
    font-weight: 600;
    line-height: 1rem;
}

.title-box .title {
    font-size: 2rem;
    line-height: 2rem;
    letter-spacing: -2px;
    font-weight: 800;
    margin-top: .75rem;
}

.title-box .des {
    font-size: .85rem;
    font-weight: 400;
    line-height: 1.25rem;
    margin-top: .5rem;
}

/* 220601 title bg */
.title-box.bg .title {
    background: linear-gradient(to right, #00a2ff, #1b2e9e);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* for MS계열 브라우저 */
/* @keyframes hue { 
    from { -webkit-filter: hue-rotate(0deg); } 
    to { -webkit-filter: hue-rotate(-180deg); } 
    }*/
/* for Chrome, Safari */
/* @-webkit-keyframes hue { 
    from { -webkit-filter: hue-rotate(0deg); } 
    to { -webkit-filter: hue-rotate(-180deg); } 
    }*/

/* .hue { background-image: -webkit-linear-gradient(92deg, #f35626, #feab3a); -webkit-background-clip: text; -webkit-text-fill-color: transparent; -webkit-animation: hue 10s infinite linear; } */


/*애니메이션 시작*/
.fade-up {
    transform: translate3d(0, -100px, 0);
    opacity: 0;
    transition: transform ease-out 1.5s, opacity ease-out 1.5s;
}

.fade-up.active {
    transform: translateZ(0);
    opacity: 1;
    transition: transform ease-out 1.5s, opacity ease-out 1.5s;
}

.fade-down {
    transform: translate3d(0, 100px, 0);
    opacity: 0;
    transition: transform 1.5s, opacity 1.5s;
}

.fade-down.active {
    transform: translateZ(0);
    opacity: 1;
    transition: transform ease-out 1.5s, opacity ease-out 1.5s;
}

.fade-down {
    transform: translate3d(0, 100px, 0);
    opacity: 0;
    transition: transform 1.5s, opacity 1.5s;
}

.fade-down.active {
    transform: translateZ(0);
    opacity: 1;
    transition: transform ease-out 1.5s, opacity ease-out 1.5s;
}

.fade-left {
    transform: translate3d(-100px, 0, 0);
    opacity: 0;
    transition: transform 1.5s, opacity 1.5s;
}

.fade-left.active {
    transform: translateZ(0);
    opacity: 1;
    transition: transform ease-out 1.5s, opacity ease-out 1.5s;
}

.fade-right {
    transform: translate3d(100px, 0, 0);
    opacity: 0;
    transition: transform 1.5s, opacity 1.5s;
}

.fade-right.active {
    transform: translateZ(0);
    opacity: 1;
    transition: transform ease-out 1.5s, opacity ease-out 1.5s;
}





/* 탑메뉴 시작 */
.quick-menu-bar {}

.top-menu-box {
    position: fixed;
    top: -80px;
    width: 100%;
    height: 40px;
    display: flex;
    background-color: #222;
    transition: 300ms ease-out;
    z-index: 999;
    color: #fff;
}

.top-menu-box.active {
    top: 0;
    transition: 500ms ease-out;
}

.top-menu-box ul {
    display: flex;
    width: 100%;
    justify-content: space-between;
}

.top-menu-box ul li {
    display: flex;
    width: 100%;
    justify-content: center;
    align-items: center;
}

.top-menu-box ul li:not(:first-child) {
    border-left: 1px solid #666;
}

.top-menu-box ul li a {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: .95rem;
}

.top-menu-box ul li a.active {
    background-color: #fff;
    font-weight: 600;
    color: #333;
}

.quick-menu-bar .quick-menu {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    width: 60px;
    height: 60px;
    border-radius: 100px;
    box-sizing: border-box;
    background-color: #fff;
    border: 1px solid #ddd;
}

.quick-menu-bar .quick-menu:not(:first-child) {
    margin-left: 7px;
}

.quick-menu-bar .quick-menu h3 {
    font-size: 1.3rem;
}

.quick-menu-bar .quick-menu p {
    font-size: .6rem;
    white-space: nowrap;
    margin-top: 0.25rem;
}

.quick-menu-bar .quick-menu .img-box {
    width: 25px;
}

.quick-menu-bar .quick-menu>* {
    opacity: .3;
}

.quick-menu-bar .quick-menu .top {
    margin-top: .2rem;
}

/* 탑메뉴 끝 */

/* 하단메뉴 시작 */
.btm-menu-box {
    position: fixed;
    bottom: -100px;
    display: flex;
    width: 100%;
    max-width: 600px;
    transition: 1s ease-out;
    z-index: 100;
    padding: 0 3rem;
    box-sizing: border-box;
    left: 50%;
    transform: translateX(-50%);
}

.btm-menu-box.active {
    bottom: 120px;
    transition: 1s ease-out;
}

.btm-menu-box ul {
    display: flex;
    width: 100%;
    justify-content: space-between;
}

.btm-menu-box ul li {
    display: flex;
    width: 100%;
    justify-content: center;
    align-items: center;
}

/* 하단메뉴 끝 */






/* 이벤트팝업 시작 211108 */
.event-popup-bg {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, .6);
    z-index: 999;
    visibility: hidden;
    opacity: 0;
    transition: opacity 0.4s, visibility 0.4s;
}

.ld-popup-actived .event-popup-bg {
    visibility: visible;
    opacity: 1;
}

.ld-popup-actived,
.ld-popup-actived>body {
    overflow: hidden;
}

.event-popup-bg .event {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 80%;
    max-width: 450px;
    height: auto;
    background-color: #fff;
    z-index: 101;
}

.event-popup-bg .event .close-btn {
    width: 100%;
    height: 35px;
    cursor: pointer;
    background-color: #000;
    color: #fff;
}

.event-popup-bg .event .close-btn .close {
    width: 100%;
    font-size: .85rem;
}

.event-popup-bg .event .close-btn:hover .close {
    text-decoration: underline;
}

/* 우측 이벤트아이콘 시작 */
.event-icon-box {
    position: fixed;
    bottom: 13em;
    right: 3%;
    opacity: 0;
    visibility: hidden;
    transition: opacity .5s, visibility .5s;
    z-index: 100;
}

.event-icon-box.active {
    opacity: 1;
    visibility: visible;
    transition: opacity .5s, visibility .5s;
}

.event-icon-box .event-icon {
    background-color: #ff4949;
    border-radius: 10rem;
    padding: .5rem 1rem;
    font-size: .8rem;
    text-align: center;
    color: #fff;
    box-shadow: 0px 15px 35px 0 rgb(0 0 0 / 10%);
}

/* 이벤트팝업 끝 */


.call-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px 15px 8px;
    border-radius: 100px;
    border: 1px solid #000;
    position: absolute;
    left: 50%;
    bottom: 20%;
    transform: translateX(-50%);
}

.call-btn .phone {
    font-size: .9rem;
    margin-top: -2px;
}

.call-btn .txt {
    font-size: .8rem;
    text-align: center;
    font-weight: 400;
    margin-left: 2px;
    white-space: nowrap;
}

/* 탑바 끝 */

/* 211109 탑바수정 */
.header {
    position: fixed;
    top: 0;
    z-index: 10;
    width: 3rem;
    height: 3rem;
    background-color: #fff;
}

.header #sidebarMenu {
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    width: 10rem;
    padding-top: 3rem;
    transform: translateX(-200px);
    transition: transform 250ms ease-in-out;
    background-color: #f6f6f6;
}

.header .sidebarMenuInner {
    margin: 0;
    padding: 0;
}

.header .sidebarMenuInner li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 3rem;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

.header .sidebarMenuInner li a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    cursor: pointer;
}

.header .sidebarMenuInner .logo {
    width: 120px;
    margin: 0 auto;
    position: relative;
}

.header .sidebarMenuInner .menu a {
    margin-left: 1.5rem;
    font-size: .85rem;
}

.header .sidebarMenuInner .menu a i {
    margin-right: 5px;
    margin-top: -5px;
}

.header .sidebarMenuInner .menu .link {
    position: relative;
    height: 100%;
}

.header .sidebarMenuInner .menu .link::after {
    content: "";
    position: absolute;
    bottom: .8rem;
    left: 0;
    width: 0;
    height: 3px;
    background-color: #000;
}

.header .sidebarMenuInner .menu .link:hover::after {
    width: 100%;
    transition: width .3s;
}


.header input[type="checkbox"]:checked~#sidebarMenu {
    transform: translateX(0);
}

.header input[type=checkbox] {
    transition: all 0.3s;
    box-sizing: border-box;
    display: none;
}

.header .sidebarIconToggle {
    transition: all 0.3s;
    box-sizing: border-box;
    cursor: pointer;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 99;
    width: 1.4rem;
}

.header .spinner {
    transition: all 0.3s;
    box-sizing: border-box;
    position: absolute;
    height: 2px;
    width: 100%;
    background-color: #000;
}

.header .horizontal {
    transition: all 0.3s;
    box-sizing: border-box;
    position: relative;
    float: left;
    margin-top: 5px;
}

.header .diagonal.part-1 {
    position: relative;
    transition: all 0.3s;
    box-sizing: border-box;
    float: left;
}

.header .diagonal.part-2 {
    transition: all 0.3s;
    box-sizing: border-box;
    position: relative;
    float: left;
    margin-top: 5px;
}

.header input[type=checkbox]:checked~.sidebarIconToggle>.horizontal {
    transition: all 0.3s;
    box-sizing: border-box;
    opacity: 0;
}

.header input[type=checkbox]:checked~.sidebarIconToggle>.diagonal.part-1 {
    transition: all 0.3s;
    box-sizing: border-box;
    transform: rotate(135deg);
    margin-top: 10px;
}

.header input[type=checkbox]:checked~.sidebarIconToggle>.diagonal.part-2 {
    transition: all 0.3s;
    box-sizing: border-box;
    transform: rotate(-135deg);
    margin-top: -9px;
}

/* 탑바 끝 */



/* 상담신청 박스 시작 260512 */
/* 기존 동그란 상담신청 버튼은 유지 */
.counsel-btn {
    position: fixed;
    z-index: 990;
    width: 80px;
    height: 80px;
    bottom: -150px;
    right: 15px;
    -webkit-animation: bounce 2s infinite;
}

.counsel-btn.on {
    bottom: 90px;
    right: 20px;
    -webkit-animation: bounce 2s infinite;
    transition: 1s;
    z-index: 900;
}

/* 상담신청 패널 */
.counsel-box {
    position: fixed;
    left: 0;
    bottom: 0;
    z-index: 999;

    width: 100%;
    padding: 28px 20px 24px;
    box-sizing: border-box;

    background: #fff;
    color: #111;

    border-radius: 22px 22px 0 0;
    box-shadow: 0 -10px 34px rgba(0, 0, 0, 0.18);

    transform: translateY(115%);
    opacity: 0;
    visibility: hidden;

    transition:
        transform 0.45s cubic-bezier(0.22, 1, 0.36, 1),
        opacity 0.3s ease,
        visibility 0.3s ease;
}

.counsel-box.active {
    transform: translateY(0);
    opacity: 1;
    visibility: visible;
}

/* 폼 */
.event-counsel-form-mo {
    position: relative;

    width: 100%;
    max-width: 460px;
    margin: 0 auto;
}

/* 우측 상단 X */
.event-counsel-close-mo {
    position: absolute;
    right: 0;
    top: -8px;

    width: 34px;
    height: 34px;

    border: 0;
    border-radius: 50%;
    background: #f2f2f2;

    cursor: pointer;
}

.event-counsel-close-mo span {
    position: absolute;
    left: 50%;
    top: 50%;

    width: 15px;
    height: 2px;

    background: #333;
    border-radius: 2px;
}

.event-counsel-close-mo span:first-child {
    transform: translate(-50%, -50%) rotate(45deg);
}

.event-counsel-close-mo span:last-child {
    transform: translate(-50%, -50%) rotate(-45deg);
}

/* 제목 */
.event-counsel-title-mo {
    padding-right: 42px;
    margin-bottom: 18px;
}

.event-counsel-title-mo strong {
    display: block;

    color: #263f83;

    font-size: 1.25rem;
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: -0.06em;
}

.event-counsel-title-mo p {
    margin-top: 5px;

    color: #777;

    font-size: 0.8rem;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: -0.04em;
}

/* 입력 영역 */
.event-counsel-body-mo {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.event-counsel-body-mo .form-field {
    position: relative;

    display: flex;
    align-items: center;

    height: 44px;

    border-bottom: 1px solid #d6d6d6;
}

.event-counsel-body-mo input,
.event-counsel-body-mo select {
    width: 100%;
    height: 100%;

    border: 0;
    outline: 0;
    background: transparent;

    color: #222;

    font-family: inherit;
    font-size: 0.95rem;
    letter-spacing: -0.04em;
}

.event-counsel-body-mo input::placeholder {
    color: #999;
    font-weight: 500;
}

.event-counsel-body-mo select {
    appearance: none;
    -webkit-appearance: none;
    color: #888;
}

.event-counsel-body-mo .select-field::after {
    content: "\f107";
    position: absolute;
    right: 4px;
    top: 50%;

    transform: translateY(-50%);

    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: 0.75rem;
    color: #111;

    pointer-events: none;
}

/* 연락처 */
.event-counsel-body-mo .phone-field {
    gap: 10px;
}

.event-counsel-body-mo .phone-label {
    flex: 0 0 auto;

    color: #999;

    font-size: 0.95rem;
    letter-spacing: -0.04em;
    white-space: nowrap;
}

.event-counsel-body-mo .phone-inputs {
    display: flex;
    align-items: center;
    flex: 1;

    min-width: 0;
}

.event-counsel-body-mo .phone-inputs select {
    flex: 0 0 42px;
    width: 42px;
    color: #222;
}

.event-counsel-body-mo .phone-inputs input {
    width: 44px;
    text-align: center;
}

.event-counsel-body-mo .phone-inputs span {
    margin: 0 4px;
    color: #999;
}

/* 개인정보 */
.event-counsel-body-mo .agree-field {
    display: flex;
    align-items: center;

    margin-top: 2px;

    color: #999;

    font-size: 0.76rem;
    line-height: 1.3;
    letter-spacing: -0.04em;
}

.event-counsel-body-mo .agree-field .checkbox {
    width: 17px;
    height: 17px;
    margin: 0 6px 0 0;

    appearance: auto;
    -webkit-appearance: checkbox;
    accent-color: #33489b;
}

.event-counsel-body-mo .agree-field label {
    color: #888;
}

.event-counsel-body-mo .privacy-open-mo {
    margin-left: 3px;

    border: 0;
    background: none;
    color: #888;

    font-family: inherit;
    font-size: 0.76rem;
    line-height: 1.3;
    letter-spacing: -0.04em;

    cursor: pointer;
}

/* 하단 전화상담 / 상담신청 버튼 */
.event-counsel-btn-box-mo {
    display: flex;
    gap: 8px;

    width: 100%;
    height: 48px;
    margin-top: 18px;
}

.event-counsel-btn-box-mo>a,
.event-counsel-btn-box-mo>button {
    flex: 1;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;

    height: 100%;

    border: 0;
    border-radius: 999px;

    font-family: inherit;
    font-size: 0.95rem;
    font-weight: 800;
    letter-spacing: -0.05em;

    cursor: pointer;
}

.event-call-btn-mo {
    background: #2f2f2f;
    color: #fff;
}

.event-submit-btn-mo {
    background: #33489b;
    color: #fff;
}

/* 개인정보 모달 */
.event-privacy-modal-mo {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 9999;

    width: 100vw;
    height: 100vh;

    background: rgba(0, 0, 0, 0.6);
}

.event-privacy-modal-mo .privacy-modal-content {
    position: fixed;
    left: 50%;
    top: 50%;

    transform: translate(-50%, -50%);

    width: calc(100vw - 44px);
    max-width: 420px;
    max-height: 78vh;
    overflow-y: auto;

    padding: 34px 22px 28px;
    box-sizing: border-box;

    background: #fff;
    color: #333;
}

.event-privacy-modal-mo .privacy-close-mo {
    position: absolute;
    right: 12px;
    top: 10px;

    border: 0;
    background: none;

    color: #aaa;
    font-size: 1.25rem;

    cursor: pointer;
}

.event-privacy-modal-mo h3 {
    padding-bottom: 12px;

    border-bottom: 2px dotted #ccc;

    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: -0.05em;
}

.event-privacy-modal-mo ul {
    margin-top: 16px;
}

.event-privacy-modal-mo li {
    position: relative;

    margin-top: 8px;
    padding-left: 10px;

    font-size: 0.8rem;
    line-height: 1.45;
    letter-spacing: -0.04em;
}

.event-privacy-modal-mo li::before {
    content: "-";
    position: absolute;
    left: 0;
    top: 0;
}

/* 상담신청 박스 끝 260512 */


/* 211011 메인수정 */
.main {
    height: 100vh;
    padding: 0 2rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-orient: vertical;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.main .main-logo {
    width: 70%;
    max-width: 400px;
    height: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-bottom: 1.5rem;
}

.main .box-1 {
    width: 100%;
    max-width: 600px;
    height: 350px;
    margin: 0 auto;
    position: relative;
}

.main .box-1 .box-2 {
    width: 100%;
    height: calc(100% / 2);
}

.main .box-1 .box-2:last-child {
    margin-top: 10px;
}

.main .box-1 .box-2 .menu {
    width: calc(100% / 2);
    background-color: #f6f6f6;
    background-position: center;
    background-size: cover;
    position: relative;
    /* transition: .5s; */
    cursor: pointer;
}

.main .box-1 .box-2 .menu a {
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
}

.main .box-1 .box-2 .menu:not(:first-child) {
    margin-left: 10px;
}

.main .box-1 .box-2 .menu:first-child {
    background-image: url(/img/main-menu-1-1.jpg);
}

.main .box-1 .box-2 .menu:last-child {
    background-image: url(/img/main-menu-2-1.jpg);
}

.main .box-1 .box-2:last-child .menu {
    background-image: url(/img/main-menu-3-1.jpg);
}

.main .box-1 .box-2:last-child .menu:last-child {
    background-image: url(/img/main-menu-4-1.jpg);
}

/* .main .box-1 .box-2 .menu:hover { width: 160%; transition: .5s; } */

.main .box-1 .box-2 .menu p {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #fff;
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1.2;
    text-align: center;
    margin-top: -15px;
}

.main .box-1 .box-2 .menu .link-box {
    position: absolute;
    bottom: 25px;
    left: 50%;
    transform: translateX(-50%);
    padding-top: 8px;
    font-size: .8rem;
    border-top: 1px #fff solid;
    color: #fff;
    line-height: 1.4;
}







/* 인트로 240510 */
.intro {
    width: 100%;
    max-width: 600px;
    height: 100vh;
    overflow: hidden;
    box-sizing: border-box;
    position: relative;
    margin: 0 auto;
    background-image: url(/img/landding/intro-menu1-mo.jpg);
    background-size: cover;
    background-position: center;
}

.intro .logo {
    width: 120px;
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 10;
}

.event-main-h1 {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    border: 0 !important;
}


.intro .mo-con {
    height: 100%;
}

.intro .mo-con>.box {
    height: 100%;
}

.intro .intro-container {
    display: flex;
    justify-content: space-between;
    width: 100%;
    height: calc(100% / 2);
}

.intro .intro-container:last-child {
    border-top: 1px solid rgba(255, 255, 255, .3);
}

.intro .intro-container .menu-hover {
    display: flex;
    width: calc(100% / 2);
    height: 100%;
    border-right: 1px solid rgba(255, 255, 255, .3);
    position: relative;
}

.intro .intro-container .menu-hover .txt-box {
    color: #fff;
    text-align: center;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
}

.intro .intro-container .menu-hover .txt-box .eng {
    font-size: .5em;
    letter-spacing: .2em;
}

.intro .intro-container .menu-hover .txt-box .title {
    font-size: 1.8em;
    font-weight: 600;
    letter-spacing: -.03em;
    padding: 3px 0 0;
}

.intro .intro-container .menu-hover .txt-box .menu-btn {
    font-size: .8em;
    padding: 10px;
    line-height: 1em;
}

.intro .intro-container .menu-hover .txt-box .menu-btn i {
    margin-left: 5px;
    font-size: .7em;
}

/* .intro .ortho.on {
    background-color: rgba(11, 24, 98, .7);
    transition: 200ms;
}
.intro .imp.on {
    background-color: rgba(24, 84, 76, .9);
    transition: 200ms;
}
.intro .white.on {
    background-color: rgba(221, 159, 45, .8);
    transition: 200ms;
}
.intro .joint.on {
    background-color: rgba(141, 40, 40, .8);
    transition: 200ms;
} 


.intro .intro-container .menu-hover a {
    display: block;
    position: relative;
    overflow: hidden;
}*/

.intro .menu {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 116%;
    height: 100vh;
    visibility: hidden;
    opacity: 0;
    transition: 200ms;
}

.intro .bg {
    z-index: -5;
    visibility: visible;
    opacity: 1;
    transition: 200ms;
    background-color: rgba(0, 0, 0, 1);
}

/* .intro .menu1 {z-index: -1;}
.intro .menu1.on {visibility: visible; opacity: 1; transition: 200ms;} */
/* .intro .menu2 {z-index: -2;}
.intro .menu2.on {visibility: visible; opacity: 1; transition: 200ms;}
.intro .menu3 {z-index: -3;}
.intro .menu3.on {visibility: visible; opacity: 1; transition: 200ms;}
.intro .menu4 {z-index: -4;}
.intro .menu4.on {visibility: visible; opacity: 1; transition: 200ms;} */




/* 라이브러리 */
.body-wrap {
    overflow-x: hidden;
}

.mo-con {
    max-width: 600px;
    width: 100%;
    margin: 0 auto;
}

.con {
    margin-left: auto;
    margin-right: auto;
}

.pd {
    padding-left: 25px !important;
    padding-right: 25px !important;
}

@keyframes rotate {
    from {
        -webkit-transform: rotate(0deg);
        -o-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    to {
        -webkit-transform: rotate(360deg);
        -o-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@-webkit-keyframes scroll-left {
    from {
        transform: translate(0%, 0)
    }

    to {
        transform: translate(-33.33%, 0)
    }
}

@-moz-keyframes scroll-left {
    from {
        transform: translate(0%, 0)
    }

    to {
        transform: translate(-33.33%, 0)
    }
}

@-o-keyframes scroll-left {
    from {
        transform: translate(0%, 0)
    }

    to {
        transform: translate(-33.33%, 0)
    }
}

@keyframes scroll-left {
    from {
        transform: translate(0%, 0)
    }

    to {
        transform: translate(-33.33%, 0)
    }
}

@-webkit-keyframes scroll-right {
    from {
        transform: translate(0%, 0)
    }

    to {
        transform: translate(33.33%, 0)
    }
}

@-moz-keyframes scroll-right {
    from {
        transform: translate(0%, 0)
    }

    to {
        transform: translate(33.33%, 0)
    }
}

@-o-keyframes scroll-right {
    from {
        transform: translate(0%, 0)
    }

    to {
        transform: translate(33.33%, 0)
    }
}

@keyframes scroll-right {
    from {
        transform: translate(0%, 0)
    }

    to {
        transform: translate(33.33%, 0)
    }
}

@keyframes blink-effect {
    50% {
        color: #fff;
        background: #d22c2c;
    }
}


/*치아교정 시작 230831*/
#ortho {
    overflow-x: hidden;
    margin: 0 auto;
}

#ortho .title-box {
    text-align: center;
    letter-spacing: -.05em;
}

#ortho .title-box h1 {
    font-size: 1.85em;
    letter-spacing: -.05em;
    line-height: 1.6em;
}

#ortho .title-box h1 span {
    border-bottom: 2px solid #fff;
    padding-bottom: 10px;
}

#ortho .title-box.blue h1 span {
    border-bottom: 2px solid #0042b1;
    padding-bottom: 10px;
}

#ortho .title-box h3 {
    font-size: 1.35em;
}

#ortho .title-box .des {
    font-size: 1em;
    line-height: 1.7em;
    margin-top: 20px;
    word-break: keep-all;
}

/* 다수의 전문의 자격 230820 */
.ortho-certifi {
    background-color: #0b1862;
    position: relative;
    padding: 10% 0;
    color: #fff;
}

.ortho-certifi::after {
    content: "";
    width: 100%;
    height: 350px;
    position: absolute;
    bottom: 0;
    left: 0;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(4, 76, 189, 100) 100%);
    z-index: 0;
}

.ortho-certifi .con {
    width: 70%;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

.ortho-certifi .typo1 {
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
}

.ortho-certifi .img1 {
    display: flex;
    width: 80%;
    margin: -10px auto 0;
}

.ortho-certifi .txt-box {
    text-align: left;
    z-index: 1;
    position: relative;
    margin: -50px auto 0;
    width: 90%;
}

.ortho-certifi .txt-box .title {
    font-size: 1.9em;
    font-weight: 600;
    letter-spacing: -.02em;
    line-height: 1.35em;
}

.ortho-certifi .txt-box .des {
    font-size: .9em;
    line-height: 1.8em;
    margin-top: 10px;
}

.ortho-certifi .btn {
    -webkit-animation: pulse 1s infinite;
    z-index: 1;
    position: relative;
    margin: 15px auto 0;
}

/* 약력 모달 전용 클래스 */
.profile-career-modal-mo {
    display: none !important;
    position: fixed;
    inset: 0;
    z-index: 10050;

    width: 100vw;
    height: 100vh;

    overflow-y: auto;
    background: rgba(0, 0, 0, 0.72);

    box-sizing: border-box;
    padding: 24px 16px;
}

.profile-career-modal-mo.is-open {
    display: flex !important;
    align-items: center;
    justify-content: center;
}

/* 팝업 본체 */
.profile-career-modal-content-mo {
    position: relative;

    width: 100%;
    max-width: 430px;
    max-height: 86vh;

    margin: auto;
    overflow-y: auto;

    background: #fff;
    border-radius: 14px;
    box-sizing: border-box;

    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.35);
}

/* 팝업 이미지 */
.profile-career-modal-content-mo .img-box {
    width: 100%;
}

.profile-career-modal-content-mo .img-box img {
    display: block;
    width: 100%;
    height: auto;
}

/* 닫기 버튼 */
.profile-career-close-mo {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 5;

    width: 34px;
    height: 34px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 0;
    border-radius: 50%;

    background: rgba(255, 255, 255, 0.95);
    color: #111;

    font-size: 18px;
    line-height: 1;

    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18);
    cursor: pointer;
}

.profile-career-close-mo i {
    line-height: 1;
}

/* 모달 열렸을 때 배경 스크롤 방지 */
html.mo-modal-lock,
body.mo-modal-lock {
    overflow: hidden;
}



.ortho-certifi .btn i {
    margin-left: 5px;
}

.ortho-certifi .btn span {
    background-color: #ffd800;
    border-radius: 100px;
    padding: 13px 30px 10px;
    font-size: 1.3em;
    font-weight: 600;
    color: #002b73;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 60%;
    margin: 0 auto;
}

.ortho-certifi .modal {
    display: none;
    /* Hidden by default */
    position: fixed;
    /* Stay in place */
    z-index: 101;
    /* Sit on top */
    left: 0;
    top: 0;
    width: 100%;
    /* Full width */
    height: 100%;
    /* Full height */
    overflow: auto;
    /* Enable scroll if needed */
    background-color: rgb(0, 0, 0);
    /* Fallback color */
    background-color: rgba(0, 0, 0, 0.6);
    /* Black w/ opacity */
}

.ortho-certifi .modal-content {
    background-color: #fefefe;
    padding: 70px 50px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    position: absolute;
    box-sizing: border-box;
}

.ortho-certifi .modal-content {
    width: 70%;
    max-width: 900px;
    padding: 0;
}

.ortho-certifi .modal-content .sb-close {
    color: rgba(255, 255, 255, .8);
    padding: 0 1rem;
    transition: ease 300ms;
    position: absolute;
    top: -0.4rem;
    right: -3.5rem;
    font-size: 2.5rem;
    cursor: pointer;
    z-index: 10;
}

.ortho-certifi .right .img-box {}

.ortho-certifi .right .img-box::before {
    content: "";
    position: absolute;
    width: 829px;
    height: 803px;
    background-image: url(/img/landding/profile-bg-logo.png);
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover;
    animation: rotate 10s infinite linear;
    top: -20%;
    right: -15%;
    z-index: -1;
    filter: grayscale(100%);
}

/* 일반의vs전문의 230820 */
.ortho-vs {
    background-color: #044cbd;
    padding: 10% 0;
    color: #fff;
}

.ortho-vs .wrap {
    display: flex;
    justify-content: space-between;
    margin: 30px auto 0;
}

.ortho-vs .vs i {
    font-size: 2em;
    color: #002b73;
}

.ortho-vs .vs>div {
    width: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.ortho-vs .vs>div .title {
    background-color: #002b73;
    font-size: 1em;
    padding: 10px 20px;
    border-radius: 100px;
    margin-bottom: 10px;
    word-break: keep-all;
}

.ortho-vs .vs>div .des {
    font-size: .85em;
    line-height: 1.5em;
    padding: 4px 0;
    width: 100%;
    word-break: keep-all;
}

.ortho-vs .vs>div .des2 {
    font-size: 1em;
    font-weight: 600;
    line-height: 1.5em;
    letter-spacing: -.03em;
    padding: 10px 0;
    width: 100%;
}

.ortho-vs .vs .border {
    border-bottom: 2px solid #fff;
    position: relative;
}

.ortho-vs .vs .vs2 {
    position: relative;
}

.ortho-vs .vs .vs2 .title.summary {
    position: relative;
}

.ortho-vs .vs .vs2 .title.summary::after {
    background-color: #ffd800;
    content: '총 12년';
    border-radius: 100px;
    font-size: .75em;
    font-weight: 600;
    letter-spacing: -.05em;
    padding: 5px 10px 2px;
    color: #0043b1;
    position: absolute;
    top: -15px;
    right: -20px;
}

.ortho-vs .vs .vs2 .img1 {
    position: absolute;
    bottom: -11px;
}


/* 원장님약력 250203 */
.ortho-profile {
    background-color: #0043b1;
    position: relative;
    padding: 10% 0 0;
    color: #fff;
}

.ortho-profile .profile-slide {
    margin: 30px auto 0;
    position: relative;
}

.ortho-profile .profile-slide .swiper-wrapper {
    padding-bottom: 60px;
}

.ortho-profile .profile-slide .wrap {
    position: relative;
    height: 100%;
}

.ortho-profile .profile-slide .wrap .box {
    margin: 0 auto;
}

.ortho-profile .profile-slide .swiper-slide .txt-box {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    height: 100%;
}

.ortho-profile .profile-slide .swiper-slide .txt-box .txt {
    background-color: #ffd800;
    color: #0043b1;
    box-sizing: border-box;
    border-radius: 100px;
    letter-spacing: -.03em;
    line-height: 1.6em;
    font-weight: 600;
    text-align: center;
    font-size: .9em;
    padding: 0 15px;
}

.ortho-profile .profile-slide .swiper-slide .txt-box .name {
    font-size: 1.5em;
    font-weight: 600;
    margin-top: 15px;
}

.ortho-profile .profile-slide .swiper-slide .txt-box .txt2 {
    margin-top: 10px;
    line-height: 1.8em;
    font-size: .8em;
}

.ortho-profile .profile-slide .swiper-slide .txt-box .txt2 ul li {
    position: relative;
}

.ortho-profile .profile-slide .swiper-slide .txt-box .txt2 ul li::before {
    content: '·';
    padding-right: 5px;
}

.ortho-profile .profile-slide .swiper-slide .page {
    margin: 28px 0 0 2px;
    font-size: 2em;
    font-weight: 600;
    letter-spacing: 3px;
    display: none;
}

.ortho-profile .profile-slide .swiper-slide .page span {
    opacity: 0.3;
}

.ortho-profile .profile-slide .swiper-slide .img-box {
    width: 70%;
    margin: 10px auto 0;
}

.ortho-profile .profile-slide .swiper-slide {
    position: relative;
    visibility: hidden;
    opacity: 0;
}

.ortho-profile .profile-slide .swiper-slide-active {
    visibility: visible;
    opacity: 1;
}

.ortho-profile .profile-slide .swiper-slide:nth-child(n+1):nth-child(-n+10) .wrap::before {
    width: 100%;
    position: absolute;
    bottom: 130px;
    left: 50%;
    transform: translatex(-50%);
    font-size: 7em;
    font-weight: 600;
    letter-spacing: -.07em;
    white-space: pre;
    color: #043293;
    z-index: -1;
    text-align: center;
}

.ortho-profile .profile-slide .div1 .wrap::before {
    content: '10년후를 \A 보는';
}

.ortho-profile .profile-slide .div2 .wrap::before {
    content: '대전치과 \A 1등';
}

.ortho-profile .profile-slide .div3 .wrap::before {
    content: '자연\A치아를';
}

.ortho-profile .profile-slide .div4 .wrap::before {
    content: '최우선\A으로';
}

.ortho-profile .profile-slide .div5 .wrap::before {
    content: '환자\A대하기를';
}

.ortho-profile .profile-slide .div6 .wrap::before {
    content: '내 가족처럼';
}

.ortho-profile .profile-slide .div7 .wrap::before {
    content: '믿음과\A신뢰로';
}

.ortho-profile .profile-slide .div8 .wrap::before {
    content: '다시\A오고싶은';
}

.ortho-profile .profile-slide .div9 .wrap::before {
    content: '편안한\A치과';
}

.ortho-profile .profile-slide .div10 .wrap::before {
    content: '서울\A브라운';
}


.ortho-profile .arrows {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 90%;
    height: 35px;
    margin: -125px auto;
    z-index: 1;
}

.arrows .swiper-button {
    width: 25px;
    height: 25px;
    background-color: #fff;
    border-radius: 100px;
    opacity: 1;
    font-size: .6em;
}

.arrows .swiper-button-prev {
    left: 0;
}

.arrows .swiper-button-next {
    right: 0;
}

.arrows i {
    color: #0043b1;
    font-size: 2em;
}

.arrows .swiper-button::after {
    content: none;
}

.ortho-profile .profile-slide .swiper-pagination {
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    width: 100%;
    height: auto;
    display: flex;
}

.ortho-profile .profile-slide .swiper-pagination-bullet {
    /* width: calc(100% / 4); */
    width: 100%;
    height: 60px;
    border-radius: 0;
    background-color: inherit;
    background-size: contain;
    background-repeat: no-repeat;
    opacity: 1;
    margin: 0;
    box-sizing: border-box;
    background-color: #fff;
    background-position: center;
    color: #fff;
    position: relative;
}

.ortho-profile .swiper-pagination-bullet-active {
    background-color: #ffd800 !important;
    position: relative;
}

.ortho-profile .swiper-pagination-bullet:nth-of-type(1) {
    background-image: url(/img/landding/profile-pg-sch.png);
}

.ortho-profile .swiper-pagination-bullet:nth-of-type(2) {
    background-image: url(/img/landding/profile-pg-lyj.png);
}

.ortho-profile .swiper-pagination-bullet:nth-of-type(3) {
    background-image: url(/img/landding/profile-pg-pse.png);
}

.ortho-profile .swiper-pagination-bullet:nth-of-type(4) {
    background-image: url(/img/landding/profile-pg-khs.png);
}

.ortho-profile .swiper-pagination-bullet:nth-of-type(5) {
    background-image: url(/img/landding/profile-pg-yjy.png);
}

.ortho-profile .swiper-pagination-bullet:nth-of-type(6) {
    background-image: url(/img/landding/profile-pg-jsh.png);
}

.ortho-profile .swiper-pagination-bullet:nth-of-type(7) {
    background-image: url(/img/landding/profile-pg-msr.png);
}

.ortho-profile .swiper-pagination-bullet:nth-of-type(8) {
    background-image: url(/img/landding/profile-pg-jyj.png);
}

.ortho-profile .swiper-pagination-bullet:nth-of-type(9) {
    background-image: url(/img/landding/profile-pg-jsy.png);
}




.ortho-hash {
    background-color: #0043b1;
    padding-bottom: 40px;
}

@keyframes text_loop_right {
    0% {
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0)
    }

    100% {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
}

@keyframes text_loop_right_mo {
    0% {
        -webkit-transform: translate3d(-50%, 0, 0);
        transform: translate3d(-50%, 0, 0)
    }

    100% {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
}

@keyframes text_loop_left {
    0% {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }

    100% {
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0)
    }
}

@keyframes text_loop_left_mo {
    0% {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }

    100% {
        -webkit-transform: translate3d(-50%, 0, 0);
        transform: translate3d(-50%, 0, 0)
    }
}

.sec_line {
    padding: 40px 0;
    background-image: url(/img/landding/back.webp);
    background-color: #fff;
}

.sec_line .line {
    display: flex;
    white-space: nowrap;
    overflow: hidden;
    opacity: 0.3;
    float: none !important;
    color: #0043b1;
    max-width: 600px;
    margin: 0 auto 10px;
}

.sec_line .line:last-of-type {
    margin-bottom: 0;
}

.sec_line .line:nth-child(2n) {
    opacity: 1;
}

.sec_line .line>p {
    font-size: 1.5em;
    font-weight: 300;
    line-height: 1.3em;
    letter-spacing: -0.1em;
}

.sec_line .line>p>span {
    padding: 0 5px;
}

.sec_line .line.right>p {
    animation: text_loop_right 25s infinite linear;
}

.sec_line .line.left>p {
    animation: text_loop_left 25s infinite linear;
}

.sec_line .line.right.line01>p {
    animation: text_loop_right 30s infinite linear;
}



/* 교정비용 */
.ortho-price {
    background-color: #0043b1;
    position: relative;
    padding: 10% 0;
}

.ortho-price .typo1 {}

.ortho-price .box1 {
    display: flex;
    position: relative;
}

.ortho-price .box1 .left {
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-top: 60px;
    width: 60%;
}

.ortho-price .box1 .left .txt1 {
    font-size: .85em;
    text-align: center;
    text-decoration: underline;
    line-height: 1.6em;
    color: #537ecb
}

.ortho-price .box1 .left .price98 {
    margin-top: 15px;
    max-width: 300px;
}

.ortho-price .box1 .img1 {
    width: 55%;
    position: absolute;
    right: -30px;
    top: -15px;
}

.ortho-price .left .btn {
    width: 203px;
    margin-top: 40px;
    cursor: pointer;
    position: relative;
}

.ortho-price .btn img {
    z-index: 2;
    position: relative;
}

.ortho-price .modal-content {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    position: absolute;
    box-sizing: border-box;
    width: 70%;
    max-width: 1260px;
}

.ortho-price .modal-content .sb-close {
    color: rgba(0, 0, 0, .2);
    padding: 0 1rem;
    transition: ease 300ms;
    position: absolute;
    top: 20px;
    right: 20px;
    font-size: 2.5rem;
    cursor: pointer;
    z-index: 10;
}

.ortho-price .box1 .left .price98 {
    position: relative;
    z-index: 1;
}

.ortho-price .box1 .left .price98.active::before {
    width: 100%;
    transition: width 1s;
}

.ortho-price .box1 .left .price98::before {
    content: '';
    width: 0;
    height: 12px;
    background-color: rgba(255, 216, 0, .8);
    position: absolute;
    left: 0;
    bottom: -5px;
    z-index: -1;
    transition: width 1s;
}


.ortho-price .price-box {
    position: relative;
    width: 90%;
    margin: 40px auto 0;
}

/* 교정장치종류 */
.ortho-list {
    margin: 0 auto;
    background-color: #0043b1;
}

.ortho-list .img-box {
    width: calc((100% / 3) - 5px);
    text-align: center;
    display: inline-block;
    padding: 0 5px;
    box-sizing: border-box;
    margin-top: 15px;
}

.ortho-list .img-box p {
    font-size: 1em;
    font-weight: 300;
    margin-top: 8px;
    color: #fff;
}

.ortho-list .img-box span {}


/* 교정전후 */
.ortho-bna {
    background-color: #0043b1;
    padding: 10% 0;
}

.ortho-bna .title-box {
    color: #fff;
}

.ortho-bna .bna-slide {
    margin: 40px auto;
    position: relative;
    padding-bottom: 40px;
}

.ortho-bna .bna-slide .swiper-slide {
    width: 100% !important;
    opacity: 0;
    visibility: hidden;
}

.ortho-bna .bna-slide .swiper-slide .img-box {
    width: 60%;
    margin: 0 auto;
}

.ortho-bna .bna-slide .swiper-slide-active {
    opacity: 1;
    visibility: visible;
}

.ortho-bna .arrows {
    width: 85%;
    margin-top: -10px;
}

.arrows {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 30px;
    margin: 0 auto;
    z-index: 1;
}

.ortho-bna .bna-slide .swiper-pagination {
    position: absolute;
    bottom: 0;
    margin: 0 auto;
}

.ortho-bna .bna-slide .swiper-pagination-bullet {
    background-color: #fff;
    opacity: 1;
    width: 10px;
    height: 10px;
    border-radius: 100px;
}

.ortho-bna .bna-slide .swiper-pagination-bullet-active {
    background-color: #ffd800;
    opacity: 1;
}




/* 인비절라인 추가 241112 */
.ortho-ivs {
    box-sizing: border-box;
}

.ortho-ivs .title-box h1 {
    line-height: 1.25em !important;
}

.ortho-ivs .title-box .des {
    margin-top: 10px !important;
    line-height: 1.5em !important;
}

.ortho-ivs .title-box h1 span {
    border: 0 !important;
}



.ortho-ivs-main {
    background-image: url(/img/landding/ortho-ivs-main-bg.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    padding: 10% 0 0;
    color: #fff;
}

.ortho-ivs-main .title-box {}

.ortho-ivs-main .title-box h1 span {
    color: #fff000;
    position: relative;
    border: 0 !important;
}

.ortho-ivs-main .title-box h1 span::after {
    content: '';
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    background-image: url(/img/landding/ortho-ivs-main-underline.png);
    background-size: contain;
    width: 146px;
    height: 7px;
}

.ortho-ivs-main .title-box .des {
    margin-top: 30px !important;
}

.ortho-ivs-main .img-box {
    margin-top: 40px;
}


/* 인비절라인vs투명교정 비교 */
.ortho-ivs-vs {
    padding: 10% 0;
    box-sizing: border-box;
}

.ortho-ivs-vs .title-box {
    color: #000;
}

.ortho-ivs-vs .title-box h1 span {
    color: #0043b1;
}

.ortho-ivs-vs .img-box {
    margin: 30px auto 0;
}

/* 인비절라인의 장점 */
.ivs-point {
    padding: 10% 0 20%;
    background-color: #0043b1;
    color: #fff;
}

.ivs-point .title-box h1 span {
    color: #fff000;
}


.ivs-point .ivs-point-slider {
    margin-top: 20px;
    position: relative;
    width: calc(100% + 250px);
}

.ivs-point .ivs-point-slider .swiper-container {
    margin-left: auto;
    margin-right: auto;
    position: relative;
    overflow: hidden;
    list-style: none;
    padding: 0;
    z-index: 1;
}

.ivs-point .ivs-point-slider .swiper-pagination {
    bottom: -2.1rem;
    font-size: .85rem;
    letter-spacing: .1rem;
    text-align: left;
}

.ivs-point .ivs-point-slider .swiper-pagination .swiper-pagination-current {
    font-weight: 600;
    font-size: 1.2rem;
}

.ivs-point .ivs-point-slider .txt-box {
    background-color: #fff;
    padding: 20px 30px 30px;
    color: #000;
}

.ivs-point .ivs-point-slider .txt-box h3 {
    font-size: 1.3em;
    font-weight: 600;
}

.ivs-point .ivs-point-slider .txt-box p {
    margin-top: 7px;
    line-height: 1.2em;
    font-size: .85em;
}


/* 인비절라인 교정치료 과정 */
.ortho-ivs-step {
    background-image: url(/img/landding/ortho-ivs-step-bg.jpg);
    padding: 10% 0 20%;
    color: #fff;
}

.ortho-ivs-step .step-box {
    margin: 20px 0 0;
}

.ortho-ivs-step .step-box .img-box {}

.ortho-ivs-step .ivs-step-slider {
    margin-top: 20px;
    position: relative;
    width: calc(100% + 250px);
}

.ortho-ivs-step .ivs-step-slider .swiper-container {
    margin-left: auto;
    margin-right: auto;
    position: relative;
    overflow: hidden;
    list-style: none;
    padding: 0;
    z-index: 1;
}

.ortho-ivs-step .ivs-step-slider .swiper-pagination {
    bottom: -2.1rem;
    font-size: .85rem;
    letter-spacing: .1rem;
    text-align: left;
}

.ortho-ivs-step .ivs-step-slider .swiper-pagination .swiper-pagination-current {
    font-weight: 600;
    font-size: 1.2rem;
}


/* 인비절 케이스 */
.ivs-case {
    padding: 10% 0;
    color: #000;
    box-sizing: border-box;
}

.ivs-case .title-box .title {
    font-size: 3.5em;
    font-weight: 800;
    letter-spacing: -.06em;
    line-height: 1.3em;
}

.ivs-case .title-box span {
    color: #0043b1;
}

.ivs-case .title-box .des {
    font-size: 1.4em;
    color: #000;
    letter-spacing: -.05em;
    line-height: 1.6em;
    margin-top: 20px;
}

/* 인비절케이스 슬라이드 */
.ivs-case .case-slider {
    width: 100%;
}

.ivs-case .case-slider {
    overflow: hidden;
    position: relative;
    margin: 30px auto 0;
}

.ivs-case .case-slider>.swiper-container {
    position: relative;
}

.ivs-case .case-slider .swiper-slide {
    margin-top: 60px;
}

.ivs-case .case-slider .swiper-pagination {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    justify-content: space-between;
    height: 40px;
    width: 100%;
    font-weight: 500;
    font-size: 1.2em;
}

.ivs-case .case-slider .swiper-pagination span {
    display: flex;
    width: 100%;
    height: 100%;
    border-radius: 0;
    padding: 0;
    justify-content: center;
    align-items: center;
    font-size: .6em;
    color: #000;
    background-color: #f0f0f0;
    opacity: 1;
    margin: 0 2px;
    letter-spacing: -.03em;
}

.ivs-case .case-slider .swiper-pagination span::before {
    display: flex;
}

.ivs-case .case-slider .swiper-pagination-bullet-active {
    background-color: #0043b1 !important;
}

.ivs-case .case-slider .swiper-pagination-bullet-active::before {
    font-weight: 600;
    color: #fff;
}

.ivs-case .case-slider .img-box {
    width: 60%;
    margin: 0 auto;
}

.ivs-case .case-slider .txt-box {
    word-break: keep-all;
    text-align: center;
    margin-top: 20px;
}

.ivs-case .case-slider .txt-box h3 {
    font-size: 1.5em;
}

.ivs-case .case-slider .txt-box p {
    margin-top: 5px;
    font-size: .9em;
    line-height: 1.5em;
    letter-spacing: -.05em;
}

.ivs-case .case-slider .swiper-pagination span:nth-of-type(1)::before {
    content: '수직피개';
}

.ivs-case .case-slider .swiper-pagination span:nth-of-type(2)::before {
    content: '반대교합';
}

.ivs-case .case-slider .swiper-pagination span:nth-of-type(3)::before {
    content: '교차교합';
}

.ivs-case .case-slider .swiper-pagination span:nth-of-type(4)::before {
    content: '벌어진 치아';
}

.ivs-case .case-slider .swiper-pagination span:nth-of-type(5)::before {
    content: '개방교합';
}

/* 덴탈시로나 구강스캐너 */
.ortho-ivs-prime {
    padding: 10% 0 0;
    background-image: url(/img/landding/ortho-ivs-prime-bg.jpg);
    background-size: cover;
    background-position: center;
    color: #fff;
}

.ortho-ivs-prime .title-box {
    text-align: left !important;
}

.ortho-ivs-prime .title-box .title {
    font-size: 3.5em;
    font-weight: 800;
    letter-spacing: -.06em;
    line-height: 1.3em;
}

.ortho-ivs-prime .title-box h1 span {
    color: #fff000;
}

.ortho-ivs-prime .title-box .des {
    font-size: 1.4em;
    letter-spacing: -.05em;
    line-height: 1.6em;
    margin-top: 20px;
}

.ortho-ivs-prime .txt-box {
    margin-top: 25px;
    font-size: 1.3em;
    line-height: 1.85em;
    font-weight: 600;
}

.ortho-ivs-prime .txt-box ul {}

.ortho-ivs-prime .txt-box ul li {
    position: relative;
    padding-left: 20px;
}

.ortho-ivs-prime .txt-box ul li::before {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    content: '';
    width: 15px;
    height: 15px;
    background-image: url(/img/landding/ortho-ivs-prime-icon.png);
    background-size: cover;
}

.ortho-ivs-prime .txt-box ul li span {
    border-bottom: 1px solid #fff;
}

.ortho-ivs-prime .img-box {
    width: 80%;
    margin: 40px auto 0;
}





/* ortho-sec05 230820 */
.ortho-equip {
    background-color: #0043b1;
    position: relative;
    padding: 10% 0 0;
    color: #fff;
}

.ortho-equip .equip-slide {
    position: relative;
}

.ortho-equip .equip-slide .swiper-wrapper {
    padding-bottom: 100px;
}

.ortho-equip .equip-slide .wrap {
    position: relative;
    height: 100%;
}

.ortho-equip .swiper-slide {
    opacity: 0;
    visibility: hidden;
    position: relative;
}

.ortho-equip .swiper-slide:nth-child(n+1):nth-child(-n+7)::before {
    width: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 7em;
    font-weight: 600;
    letter-spacing: -.07em;
    white-space: pre;
    color: #043293;
    z-index: -1;
    text-align: center;
}

.ortho-equip .swiper-slide:nth-of-type(1):before {
    content: '뼛 속 \A 깊이';
}

.ortho-equip .swiper-slide:nth-of-type(2)::before {
    content: '미리보고 \A 결정';
}

.ortho-equip .swiper-slide:nth-of-type(3)::before {
    content: '깔끔하게 \A 슥';
}

.ortho-equip .swiper-slide:nth-of-type(4)::before {
    content: '잇몸에 \A 딱맞게';
}

.ortho-equip .swiper-slide:nth-of-type(5)::before {
    content: '교합도 \A 딱딱';
}

.ortho-equip .swiper-slide:nth-of-type(6)::before {
    content: '무통마취 \A 슥';
}

.ortho-equip .swiper-slide:nth-of-type(7)::before {
    content: '신경까지 \A 자극';
}

.ortho-equip .equip-slide .swiper-slide-active {
    opacity: 1;
    visibility: visible;
}

.ortho-equip .equip-slide .swiper-slide .wrap {
    margin: 0 auto;
}

.ortho-equip .equip-slide .wrap .img-box {
    width: 70%;
    margin: 0 auto;
}

.ortho-equip .equip-slide .wrap .txt-box {
    position: relative;
    text-align: center;
}

.ortho-equip .equip-slide .wrap .txt-box .name {
    font-size: 2em;
    font-weight: 600;
}

.ortho-equip .equip-slide .wrap .txt-box .des {
    font-size: 1em;
    line-height: 1.5em;
    margin-top: 10px;
    word-break: keep-all;
    padding: 0 30px;
}

.ortho-equip .swiper-pagination {
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    width: 100%;
    height: auto;
}

.ortho-equip .swiper-pagination-bullet {
    width: calc(100% / 7);
    height: 70px;
    border-radius: 0;
    background-color: inherit;
    background-size: contain;
    background-repeat: no-repeat;
    opacity: 1;
    margin: 0 !important;
    box-sizing: border-box;
    background-color: #fff;
    background-position: center;
    color: #fff;
    position: relative;
}

.ortho-equip .swiper-pagination-bullet-active {
    background-color: #ffd800;
}

.ortho-equip .swiper-pagination-bullet:nth-of-type(1) {
    background-image: url(/img/landding/equip1.png);
}

.ortho-equip .swiper-pagination-bullet:nth-of-type(2) {
    background-image: url(/img/landding/equip2.png);
}

.ortho-equip .swiper-pagination-bullet:nth-of-type(3) {
    background-image: url(/img/landding/equip3.png);
}

.ortho-equip .swiper-pagination-bullet:nth-of-type(4) {
    background-image: url(/img/landding/equip4.png);
}

.ortho-equip .swiper-pagination-bullet:nth-of-type(5) {
    background-image: url(/img/landding/equip5.png);
}

.ortho-equip .swiper-pagination-bullet:nth-of-type(6) {
    background-image: url(/img/landding/equip6.png);
}

.ortho-equip .swiper-pagination-bullet:nth-of-type(7) {
    background-image: url(/img/landding/equip7.png);
}

.ortho-equip .arrows {
    margin-top: -100px;
}



/* 통합진료시스템 230820 */
.ortho-onestop {
    background-image: url(/img/landding/back.webp);
    background-color: #fff;
    background-size: cover;
    color: #0043b1;
    padding: 10% 0;
}

.ortho-onestop .wrap {
    display: flex;
    margin-top: 20px;
}

.ortho-onestop .wrap .box {
    position: relative;
}


/* .ortho-sec06 .wrap .box:nth-of-type(1)::after {
    left: 80%;
} */

/* .ortho-sec06 .wrap .box::after {
    color: #0043b1;
    font-size: 3em;
    font-weight: 600;
    word-break: keep-all;
    opacity: .3;
    letter-spacing: -.05em;
}

.ortho-sec06 .wrap .box:nth-of-type(1):after {
    content: '치아교정';
}

.ortho-sec06 .wrap .box:nth-of-type(2):after {
    content: '임플란트';
}

.ortho-sec06 .wrap .box:nth-of-type(3):after {
    content: '턱관절';
} */

.ortho-onestop .list-box {
    margin: 30px auto 0;
}

.ortho-onestop .list-box .box {
    width: 100%;
    display: flex;
    justify-content: space-between;
}

.ortho-onestop .list-box .box:not(:first-child) {
    margin-top: 10px;
}

.ortho-onestop .list-box .box div {
    border: 1px solid #0043b1;
    width: calc(100% / 2);
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 15px 10px;
    font-size: .85em;
    line-height: 1.4em;
    letter-spacing: -.05em;
}

.ortho-onestop .list-box .box div:not(:first-child) {
    margin-left: 10px;
}



/* 진료건수 230820 */
.ortho-count {
    background-image: url(/img/landding/ortho-sec07-bg.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    padding: 10% 0;
    color: #fff;
}

.ortho-count .title-box {
    text-align: left !important;
    font-size: .85em;
    letter-spacing: -.05em;
}

.ortho-count .txt-box {
    margin-top: 40px;
}

.ortho-count .txt-box .txt1 {
    font-size: 1em;
}

.ortho-count .txt-box .num {
    font-size: 5em;
    font-weight: 600;
    letter-spacing: -.03em;
    line-height: 1em;
    margin-top: 15px;
}

.ortho-count .txt-box .caption {
    font-size: .85em;
    font-weight: 300;
    opacity: .5;
}

/* 오시는길 */
.location {
    color: #0043b1;
    padding: 10% 0 13%;
}

.location .title-box,
.interior .title-box {
    text-align: center;
    letter-spacing: -.05em;
}

.location .title-box h3,
.interior .title-box h3 {
    font-size: 1.35em;
}

.location .title-box h1,
.interior .title-box h1 {
    font-size: 1.85em;
    letter-spacing: -.05em;
    line-height: 1.6em;
}

.location .title-box h1 span,
.interior .title-box h1 span {
    border-bottom: 2px solid #0042b1 !important;
    padding-bottom: 10px;
}


.location .txt-box {
    margin-top: 20px;
}

.location .txt-box .box {
    margin-top: 20px;
}

.location .txt-box .txt1 {
    font-size: 1.5em;
    font-weight: 600;
}

.location .txt-box .txt1 i {
    margin-right: 5px;
}

.location .txt-box .txt1 .call {
    font-size: 1.5em;
    font-weight: 600;
    letter-spacing: -.05em;
}

.location .txt-box .des {
    font-size: .95em;
    line-height: 1.5em;
    letter-spacing: -.06em;
    color: #222;
    margin-top: 5px;
}

.location .txt-box .box .img-box {
    margin-top: 7px;
}

.location #map {
    margin: 30px auto 0;
    width: 100%;
    height: 150px;
    border: 1px solid #ddd;
}

.interior {}

.interior .interior-slider {
    position: relative;
}

.interior .interior-slider img {
    /* width: 75%;
    margin: 0 auto; */
}

.interior .interior-slider .swiper-pagination {
    margin-bottom: 10px;
}

.interior .interior-slider .arrows {}

.interior .interior-slider .arrows .swiper-button {
    background-color: #0043b1;
}

.interior .interior-slider .arrows i {
    color: #fff;
}

.interior .interior-slider .swiper-pagination-bullet {
    background-color: #fff;
    opacity: 1;
}

.interior .interior-slider .swiper-pagination-bullet-active {
    background-color: #0043b1;
}

#imp>* {
    font-family: "noto sans kr", "Gmarket Sans", sans-serif;
}

#imp ul li,
#imp span {
    font-family: 'Noto Sans KR', 'roboto', sans-serif;
}


#imp {
    letter-spacing: -.02em;
}

#imp .con {
    width: 1280px;
}

#imp .con-min-width {
    min-width: 1280px;
}

#imp .title-box {
    text-align: center;
    letter-spacing: -.05em;
}

#imp .title-box .tit {
    font-size: 1.9em;
    font-weight: 800;
    line-height: 1.2em;
    letter-spacing: -.07em;
}

#imp .title-box .tit span {
    color: #004dcf;
}

#imp .title-box .sub {
    font-size: 1em;
    line-height: 1.4em;
    letter-spacing: -.05em;
    margin-top: 10px;
    font-weight: 400;
}

#imp .title-box .sub2 {
    font-size: 1.2em;
    line-height: 1em;
    letter-spacing: -.04em;
    margin-top: 30px;
    font-weight: 400;
}

#imp .title-box .sub .line {
    width: 40px;
    height: 1px;
    float: right;
    background: #000;
    margin: 12px;
}

/* imp-intro 240902 */
.imp-intro {
    padding: 17% 0;
    box-sizing: border-box;
    overflow: hidden;
    position: relative;
}

.imp-intro .img-box {
    margin-top: 20px;
}


/* 임플전후사진 */
.imp-bna {
    padding: 17% 0;
}

.imp-bna .title-box {
    text-align: left !important;
}

.imp-bna .title-box .tit {
    margin-top: 5px;
}

.imp-bna .title-box .sub {
    display: inline-block;
}

.imp-bna .bna-box {
    margin-top: 20px;
}

.imp-bna .bna-box .img-box:not(:first-child) {
    margin-top: 20px;
}


/* 임플비용 */
.imp-price {
    padding: 10% 0;
}

.imp-price .title-box {
    text-align: left !important;
}

.imp-price .title-box .tit {
    margin-top: 5px;
}

.imp-price .title-box .sub {
    display: inline-block;
}

.imp-price>.mo-con .price-box>.box {
    background-color: #dbe5f7;
    padding: 20px 30px;
    border-radius: 20px;
    display: flex;
    justify-content: space-between;
}

.imp-price>.mo-con>.price-box>.box:first-child {
    margin-top: 20px;
}

.imp-price .box:not(:first-child) {
    margin-top: 15px;
}


.imp-price .box div .tit {
    font-size: 1.3em;
    font-weight: 700;
    letter-spacing: -.07em;
}

.imp-price .box div .sub {
    font-size: .85em;
    letter-spacing: -.06em;
}

.imp-price .box div .price {
    position: relative;
    font-size: 1.2em;
    font-weight: 600;
}

.imp-price .box div .price::before {
    font-size: 1.6em;
    font-weight: 800;
    letter-spacing: -.07em;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    color: #004dcf;
}

.imp-price .box-1 div .price::before {
    content: '58';
    right: 37px;
}

.imp-price .box-2 div .price::before {
    content: '588';
    right: 37px;
}

.imp-price .box-2 div .tit {
    position: relative;
}

.imp-price .box-2 div .tit::after {
    content: '*악당 비용';
    position: absolute;
    top: 5px;
    right: 4px;
    font-size: 0.35em;
    font-weight: 400;
    letter-spacing: -.05em;
}

.imp-price .price-box {
    position: relative;
}

.imp-price .price-box form>.box {
    position: relative;
    flex-direction: column !important;
    width: 100%;
}

.imp-price .price-box .form .tit {
    line-height: 1.2em;
}

.imp-price .price-box .form .time {
    color: #cf0000;
    position: relative;
    font-size: .85em;
}

.imp-price .price-box .form .time::after {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    content: '\00a0 9. 30 까지';
}
.mo-imp-privacy-modal {
    display: none;
    position: fixed;
    z-index: 99999;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow-y: auto;
    background: rgba(0, 0, 0, 0.55);
}

.mo-imp-modal-content {
    position: relative;
    width: 90%;
    max-width: 520px;
    max-height: 80vh;
    overflow-y: auto;
    margin: 10vh auto;
    background: #fff;
    padding: 24px 18px;
    box-sizing: border-box;
    border-radius: 10px;
}

.mo-imp-modal-close {
    position: absolute;
    right: 14px;
    top: 12px;
    font-size: 22px;
    cursor: pointer;
    z-index: 2;
}
.imp-price .price-box .form .input-box {}

.imp-price .price-box .form .input-box .box {
    padding: 0;
}

.imp-price .price-box .form .input-box span {
    margin: 0 5px;
}


.imp-price .form .txt1 {
    font-size: 2.4em;
    font-weight: 600;
    letter-spacing: -1.5px;
    text-align: center;
    margin-bottom: 15px;
}

.imp-price .form .box {
    margin-top: 0;
}

.imp-price .form .box .name {
    font-size: 1.4em;
    width: 80px;
    height: 100%;
    display: flex;
    align-items: center;
}


.imp-price .form .agree {
    display: flex;
    justify-content: flex-start !important;
    align-items: center;
    margin-top: 5px;
}


.imp-price .title-box {}

.imp-price .img1 {
    margin: 15px auto;
    position: relative;
    max-width: 400px;
}

.imp-price .form {
    color: #000;
    width: 100%;
    box-sizing: border-box;
}

.imp-price .form .txt1 {
    font-size: 1.1em;
    font-weight: 600;
    letter-spacing: -1px;
    text-align: center;
    margin-bottom: 15px;
}

.imp-price .form>.box>.input-box>.box {
    display: flex;
    margin: 10px auto 0;
    align-items: center;
    height: 35px;
}

.imp-price .form .box .name {
    font-size: 1em;
    width: 20%;
    height: 100%;
    display: flex;
    align-items: center;
}

.imp-price .form .box input {
    width: 80%;
}

.imp-price .form .box input::placeholder {
    font-size: 1em;
}

.imp-price .form .agree {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 15px;
}

.imp-price .form .agree .btn {
    font-size: .7em;
}

.imp-price .form .btn-submit {
    font-size: 1.4em;
    font-weight: 600;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 15px auto 0;
    background: #000;
    color: #fff;
    -webkit-animation: blink-effect 1.3s step-end infinite;
    padding: 7px 30px 12px;
    height: auto;
}

.imp-price .form input,
.imp-price .form select,
.imp-price .form button {
    height: 100%;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-size: .9rem;
    font-family: 'Roboto', 'Noto Sans KR', '돋움', sans-serif;
    background-color: #fff;
    border-radius: 0;
    border: 0;
    margin: 0;
    padding-left: .5rem;
}

.imp-price .form input[type=text],
.imp-price .form input[type=password],
.imp-price .form textarea {
    -webkit-transition: all 0.30s ease-in-out;
    -moz-transition: all 0.30s ease-in-out;
    -ms-transition: all 0.30s ease-in-out;
    -o-transition: all 0.30s ease-in-out;
    outline: none;
}

.imp-price .form select {
    font-family: 'Roboto', 'Noto Sans KR', '돋움', sans-serif;
    -webkit-appearance: none;
    width: 50%;
    height: 100%;
    border: 0;
    margin: 0;
    padding-left: .5rem;
    box-sizing: border-box;
    background-image: url(/img/ico_arrow_down.png);
    background-position: 94% 50%;
    background-size: .5rem;
    background-repeat: no-repeat;
    background-color: #fff;
    border-radius: 0;
    font-size: .9rem;
    font-weight: 500;
    line-height: 2rem;
    color: #000;
}

.imp-price .form .agree-check {
    width: 20px !important;
    height: 20px;
    margin-right: 0.3rem;
}

.imp-price .form .agree .modal {}

.imp-price .form .agree .modal-content {
    width: 80%;
    height: 65%;
    background-color: #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    overflow-y: scroll;
    padding: 30px 20px;
    box-sizing: border-box;
}

.imp-price .form .agree .modal-content
/* input,
select,
button {
    height: 100%;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-size: 1.4em;
    font-family: 'noto sans kr', 'sans-serif';
}

input[type=text],
input[type=password],
textarea {
    -webkit-transition: all 0.30s ease-in-out;
    -moz-transition: all 0.30s ease-in-out;
    -ms-transition: all 0.30s ease-in-out;
    -o-transition: all 0.30s ease-in-out;
    outline: none;
} */


/* 올온엑스란 */
.imp-all-x {
    background-image: url(/img/landding/mo-imp-sec-all-x-bg.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    padding: 17% 0;
    color: #000;
}

.imp-all-x .title-box {
    text-align: left !important;
}

.imp-all-x .title-box span {
    border-bottom: 0 !important;
}

.imp-all-x .title-box b {
    font-size: 1.1em;
    color: #fff;
    position: relative;
    z-index: 1;
    padding: 4px 5px 0 5px;
    margin-right: -3px;
}

.imp-all-x .title-box b.active::before {
    width: 100%;
    transition: width 1s;
}

.imp-all-x .title-box b::before {
    content: '';
    width: 0;
    height: 40px;
    background-color: rgba(46, 139, 134, 1);
    position: absolute;
    left: 0;
    top: 50%;
    z-index: -1;
    transition: width 1s;
    transform: translateY(-50%);
}

.imp-all-x .video-box {
    margin-top: 15px;
    display: flex;
    justify-content: flex-end;
    position: relative;
    width: 100%;
    padding-top: 56%;
    height: 0;
}

.imp-all-x .video-box iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.imp-all-x .box {
    background-image: url(/img/landding/imp-sec-all-x-txt.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 90%;
    height: auto;
    color: #000;
    font-size: .8em;
    line-height: 1.8em;
    letter-spacing: -.04em;
    padding: 20px 20px;
    box-sizing: border-box;
    text-decoration: underline;
    position: relative;
    margin-top: 35px;
    word-break: break-all;
}

.imp-all-x .txt-box span {
    font-size: 1.15em;
    font-weight: 600;
}

.imp-all-x .box .img-box {
    position: absolute;
    top: -35px;
    right: -50px;
    width: 35%;
    z-index: 1;
}


.imp-all-bna {
    background-image: url(/img/landding/imp-sec-all-bna-bg.png);
    background-repeat: no-repeat;
    background-size: cover;
    padding: 17% 0;
}

.imp-all-bna .title-box h3 {
    font-size: 1em !important;
    font-weight: 400;
    margin-bottom: 5px;
}

.imp-all-bna .title-box h1 {
    line-height: 1.3em !important;
}

.imp-all-bna .title-box h1.sub {
    font-size: 1.4em !important;
    font-weight: 400;
}

.imp-all-bna .title-box h1 span {
    border: 0 !important;
    padding: 0 !important;
}


.imp-all-bna .img1 {
    margin: 10px auto 0;
}

.imp-all-bna .img2 {
    width: 80%;
    margin: 20px auto 0;
}




/* 임플선택하는이유 */
.imp-special {
    padding: 17% 0;
}

.imp-special .title-box {
    text-align: left !important;
}

.imp-special .title-box .tit {
    margin-top: 5px;
}

.imp-special .title-box .sub {
    display: inline-block;
}

.imp-special .txt-box {
    color: #666666;
    font-size: 1em;
    margin-top: 20px;
    letter-spacing: -.05em;
    line-height: 1.6em;
}

.imp-special .imp-special-slide {
    margin-top: 40px;
}

.imp-special .imp-special-slide .swiper-wrapper {
    margin-top: 55px;
}

.imp-special .imp-special-slide .swiper-pagination {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    height: 32px;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}

.imp-special .imp-special-slide .swiper-pagination-bullet {
    width: calc(100% / 5);
    height: 30px;
    background-color: inherit;
    background-size: contain;
    background-repeat: no-repeat;
    opacity: 1;
    position: relative;
    border: 1px solid #bcbcbc;
    border-radius: 100px;
    margin: 0 1px;
}

.imp-special .swiper-pagination-bullet::before {
    font-size: .8em;
    font-weight: 400;
    letter-spacing: -.06em;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    white-space: nowrap;
    display: flex;
    align-items: center;
    height: 100%;
    justify-content: center;
}

.imp-special .swiper-pagination-bullet-active::before {
    font-weight: 700;
}

.imp-special .swiper-pagination-bullet-active {
    background-color: #004dcf !important;
    color: #fff;
    border: #004dcf solid 1px !important;
}

.imp-special .swiper-pagination-bullet:nth-of-type(1)::before {
    content: '전문의';
}

.imp-special .swiper-pagination-bullet:nth-of-type(2)::before {
    content: '경험';
}

.imp-special .swiper-pagination-bullet:nth-of-type(3)::before {
    content: '의식하진정';
}

.imp-special .swiper-pagination-bullet:nth-of-type(4)::before {
    content: '3D장비';
}

.imp-special .swiper-pagination-bullet:nth-of-type(5)::before {
    content: '기공실';
}

.imp-special .imp-special-slide .swiper-slide .txt-box {
    visibility: hidden;
}

.imp-special .imp-special-slide .swiper-slide-active .txt-box {
    visibility: visible;
}




/* 올온엑스 */
.imp-allonx {
    background-image: url(/img/landding/imp-allonx-bg.jpg);
    background-repeat: no-repeat;
    background-position: top center;
    background-size: 100%;
    background-color: #1b3158;
    color: #fff;
    padding: 17% 0;
}

.imp-allonx .headline {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.imp-allonx .headline .img1 {
    width: 80%;
    margin-right: 50px;
}

.imp-allonx .headline .img2 {
    width: 80%;
    margin: 15px 0 15px 35px;
}

.imp-allonx .headline .img3 {
    width: 80%;
    margin-right: 20px;
}

.imp-allonx .headline .img4 {
    width: 95%;
    margin: 15px auto;
}

.imp-allonx .title-box {
    position: relative;
    display: flex;
    align-items: center;
    flex-direction: column;
}

.imp-allonx .title-box .img-box {
    width: 9px;
    margin-top: 20px;
}

.imp-allonx .title-box .tit {
    margin-top: 35px;
}

.imp-allonx .title-box .tit-2 {
    margin-top: 10px;
}

.imp-allonx .mo-con>.box {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 100px;
}

.imp-allonx .mo-con>.box .circle {
    width: 100px;
    height: 100px;
    border-radius: 100%;
    border: 4px #4d6b9e solid;
    background-color: #fff;
    color: #1b3158;
    font-size: 1.2em;
    font-weight: 700;
    letter-spacing: -.05em;
    line-height: 1.3em;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    box-shadow: 5px 5px 20px rgba(0, 0, 0, .3);
}

.imp-allonx .mo-con>.box .img1 {
    width: 90%;
}

.imp-allonx .mo-con>.box .txt1 {
    font-size: 1.95em;
    font-weight: 700;
    line-height: 1.2em;
    width: 120px;
    height: 120px;
}

.imp-allonx .mo-con>.box .txt2 {
    margin-top: -100px;
    left: 20px;
    width: 80px;
    height: 80px;
    line-height: 1.2em;
    font-weight: 700;
    font-size: 1.2em;
}

.imp-allonx .mo-con>.box .txt3 {
    margin-top: -120px;
    right: 30px;
}

.imp-allonx .mo-con>.box .txt4 {
    top: 180px;
    left: 0;
    width: 90px;
    height: 90px;
    font-size: 1em;
    line-height: 1.2em;
    font-weight: 700;
}

.imp-allonx .mo-con>.box .txt5 {
    top: 150px;
    right: -10px;
    font-size: .8em;
    line-height: 1.3em;
    font-weight: 700;
    width: 80px;
    height: 80px;
}

.imp-allonx .mo-con>.box .txt6 {
    top: 230px;
    right: 70px;
    font-size: 1em;
    line-height: 1.3em;
    font-weight: 700;
    width: 90px;
    height: 90px;
}

.imp-allonx .mo-con>.sub {
    font-size: 1em;
    font-weight: 300;
    margin-top: 80px;
    text-align: center;
    letter-spacing: -.05em;
}

.imp-allonx .mo-con>.sub span {
    font-weight: 700;
    word-break: keep-all;
}

.imp-allonx .allonx-vs {
    margin: 20px auto -50px;
}






/* 전체임플과정 */
.imp-step {
    padding: 17% 0;
}

.imp-step .title-box .tit {
    margin-top: 5px;
}

.imp-step .title-box .sub {
    display: inline-block;
}

.imp-step .imp-step-slide {
    margin-top: 20px;
}

.imp-step .imp-step-slide .swiper-wrapper {
    margin-top: 75px;
}

.imp-step .imp-step-slide .swiper-pagination {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    height: 50px;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}

.imp-step .imp-step-slide .swiper-pagination-bullet {
    width: calc(100% / 6);
    height: 50px;
    border-radius: 0;
    background-color: inherit;
    background-size: contain;
    background-repeat: no-repeat;
    opacity: 1;
    position: relative;
}

.imp-step .swiper-pagination-bullet::before {
    font-size: .7em;
    font-weight: 400;
    letter-spacing: -.04em;
    position: absolute;
    left: 50%;
    bottom: -13px;
    transform: translateX(-50%);
    white-space: nowrap;
}

.imp-step .swiper-pagination-bullet-active::before {
    font-weight: 700;
    text-decoration: underline;
}

.imp-step .swiper-pagination-bullet:nth-of-type(1) {
    background-image: url(/img/landding/mo-imp-step-icon1.png);
}

.imp-step .swiper-pagination-bullet:nth-of-type(1)::before {
    content: '검사';
}

.imp-step .swiper-pagination-bullet:nth-of-type(2) {
    background-image: url(/img/landding/mo-imp-step-icon2.png);
}

.imp-step .swiper-pagination-bullet:nth-of-type(2)::before {
    content: '하악';
}

.imp-step .swiper-pagination-bullet:nth-of-type(3) {
    background-image: url(/img/landding/mo-imp-step-icon3.png);
}

.imp-step .swiper-pagination-bullet:nth-of-type(3)::before {
    content: '상악';
}

.imp-step .swiper-pagination-bullet:nth-of-type(4) {
    background-image: url(/img/landding/mo-imp-step-icon4.png);
}

.imp-step .swiper-pagination-bullet:nth-of-type(4)::before {
    content: '임시';
}

.imp-step .swiper-pagination-bullet:nth-of-type(5) {
    background-image: url(/img/landding/mo-imp-step-icon5.png);
}

.imp-step .swiper-pagination-bullet:nth-of-type(5)::before {
    content: '3D';
}

.imp-step .swiper-pagination-bullet:nth-of-type(6) {
    background-image: url(/img/landding/mo-imp-step-icon6.png);
}

.imp-step .swiper-pagination-bullet:nth-of-type(6)::before {
    content: '보철';
}


.imp-step .imp-step-slide .wrap {
    display: flex;
    justify-content: center;
    flex-direction: column;
    padding: 30px 40px;
    background-color: #e2e8f4;
    border-radius: 30px;
}


.imp-step .imp-step-slide .wrap .txt-box .txt1 {
    padding: 7px 10px 12px;
    background-color: #1b3158;
    border-radius: 10px;
    color: #fff;
    width: 70px;
    font-size: 1em;
    text-align: center;
    line-height: 1em;
    margin: 15px 0 0 0;
}

.imp-step .imp-step-slide .wrap .txt-box .tit {
    font-size: 1.5em;
    font-weight: 700;
    letter-spacing: -.04em;
    margin-top: 5px;
}

.imp-step .imp-step-slide .wrap .txt-box .sub {
    font-size: 1em;
    letter-spacing: -.05em;
    margin-top: 2px;
}



/* 오스템soi */
.imp-soi-intro {
    position: relative;
    height: 300px;
}

.imp-soi-intro .bg-video {
    position: relative;
    height: 100%;
    z-index: -1;
}

.imp-soi-intro .bg-video video {
    width: 140%;
    margin: 0 auto;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}

.imp-soi-intro .bg-video .bg-video-content {
    height: 100%;
    width: 100%;
    object-fit: cover;
}

video::-webkit-media-controls-fullscreen-button {
    display: none;
}

.imp-soi-intro .tit {
    font-size: 1.5em !important;
}

.imp-soi-intro .mo-con {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.imp-soi-intro .title-box {
    text-align: left !important;
    color: #fff;
}

.imp-soi-intro .title-box .sub {
    line-height: 1.4em !important;
    font-weight: 400 !important;
    font-size: 1em !important;
}

/* soi그래프 */
.imp-soi-graph {
    padding: 17% 0;
}

.imp-soi-graph .img-box {
    position: absolute;
    top: 40px;
    z-index: -1;
}

.imp-soi-graph .graph-box {
    position: relative;
    height: 190px;
    margin-top: 20px;
}

.imp-soi-graph .graph-box .grade-box {
    position: relative;
    display: flex;
    justify-content: space-between;
    width: 100%;
    height: 100%;
}

.imp-soi-graph .graph-box .grade-box .grade {
    width: 40px;
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1em;
    font-weight: 700;
    color: #fff;
    border-radius: 100px;
    padding-bottom: 3px;
    box-sizing: border-box;
    border: 3px solid #fff;
    box-shadow: 0px 0px 15px rgba(0, 0, 0, .3);
    position: absolute;
}

.imp-soi-graph .grade:nth-of-type(1) {
    background-color: #66d6de;
    left: -2%;
    top: 125px;
    transform: translateX(-2%) !important;
}

.imp-soi-graph .grade:nth-of-type(2) {
    background-color: #5fd6df;
    top: 115px;
    left: 23%;
    transform: translateX(-23%) !important;
}

.imp-soi-graph .grade:nth-of-type(3) {
    background-color: #55c9d2;
    left: 50%;
    top: 100px;
    transform: translateX(-50%) !important;
}

.imp-soi-graph .grade:nth-of-type(4) {
    background-color: #22c6d3;
    left: 77%;
    top: 75px;
    transform: translateX(-77%) !important;
}

.imp-soi-graph .grade:nth-of-type(5) {
    background-color: #01a5b2;
    right: -2%;
    top: 35px;
    position: relative;
    transform: translateX(-2%) !important;
}

.imp-soi-graph .grade:nth-of-type(5)::after {
    position: absolute;
    content: '';
    background-image: url(/img/landding/imp-soi-txt1.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 110px;
    height: 49px;
    top: -45px;
    right: 0;
}





/* 오스템soi 포인트*/
.imp-soi-point {
    background-color: #66d6de;
    padding: 17% 0;
}

.imp-soi-point .img-box {
    margin-top: 25px;
}


/* 오스템soi 포인트*/
.imp-soi-point2 {
    padding: 17% 0;
}

.imp-soi-point2 .point-box {
    display: flex;
    flex-direction: column;
    margin-top: 30px;
}

.imp-soi-point2 .point-box .img-box {
    width: 80%;
    margin: 0 auto;
}

.imp-soi-point2 .point-box .img-box:not(:nth-of-type(1)) {
    margin-top: 40px;
}

.imp-soi-point2 .txt1 {
    color: #0046c5;
    padding: 15px;
    margin: 50px auto 0;
    text-align: center;
    font-size: 1.3em;
    font-weight: 600;
    letter-spacing: -.04em;
    padding-bottom: 20px;
    border: 2px solid #0046c5;
    word-break: keep-all;
}



/* 건강보험 */
.imp-nhis {
    padding: 17% 0 0;
    background-image: url(/img/landding/mo-imp-nhis-bg.jpg);
    background-size: cover;
    box-sizing: border-box;
    background-position: top center;
    background-repeat: no-repeat;
    height: 500px;
    overflow: hidden;
}

.imp-nhis .mo-con {
    position: relative;
    height: 100%;
}

.imp-nhis .mo-con .top-box {
    position: relative;
    height: 440px;

}

.imp-nhis .mo-con .top-box .title-box {
    color: #2b5991;
}

.imp-nhis .mo-con .top-box .title-box .tit {
    position: relative;
}

.imp-nhis .mo-con .top-box .title-box .tit::after {
    position: absolute;
    background-image: url(/img/landding/imp-nhis-img3.png);
    width: 203px;
    height: 139px;
    top: -45px;
    left: 370px;
}

.imp-nhis .mo-con .top-box .title-box .sub {
    color: #c54747;
    font-size: 1.2em !important;
    font-weight: 600 !important;
}

.imp-nhis .mo-con .top-box .title-box .txt {
    font-size: 1em;
    margin-top: 10px;
}

.imp-nhis .mo-con .top-box .img1 {
    display: flex;
    width: 85%;
    position: absolute;
    left: 50%;
    transform: translateX(-50%) !important;
    bottom: 0;
}

#imp .btm-box {
    position: relative;
    height: 240px;
    background: linear-gradient(90deg, rgba(59, 117, 187, 1) 0%, rgba(67, 91, 140, 1) 100%);
}

#imp .btm-box .img2 {
    display: flex;
    width: 84%;
    max-width: 400px;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}



/* 컴퓨터분석임플란트 */
.imp-3d {
    padding: 17% 0;
    background-color: #f3f3f3;
}

.imp-3d .flex-box {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 7%;
    margin-top: 30px;
}

.imp-3d .imp-3d-step {
    width: 100%;
    margin: 20px auto 0;
}

.imp-3d .txt {
    text-align: center;
    font-size: 1em;
    letter-spacing: -.05em;
    margin-top: 20px;
}

.imp-3d>.mo-con>.img-box {
    width: 100%;
}

.imp-3d .txt span {
    font-weight: 600;
}



.imp-abut {
    padding: 17% 0;
}

.imp-abut .img-box {
    margin: 40px auto 0;
}

.imp-abut .txt {
    text-align: center;
    margin-top: 30px;
    font-size: 1em;
    letter-spacing: -.05em;
}





/* 수면임플 */
.imp-sleep {
    padding: 17% 0;
}

.imp-sleep .title-box .tit {
    margin-top: 5px;
}

.imp-sleep .title-box .txt1 {
    font-size: 1em;
    margin-top: 15px;
    letter-spacing: -.05em;
    line-height: 1.5em;
}

.imp-sleep .title-box .txt1 span {
    font-weight: 700;
}

.imp-sleep .flex-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 30px;
}

.imp-sleep .flex-box .img-box {}

.imp-sleep .flex-box .txt-box {
    margin-left: 15px;
    letter-spacing: -.05em;
    width: 85%;
}

.imp-sleep .flex-box .txt-box .txt1 {
    font-size: 1.2em;
    font-weight: 700;
    color: #003fa8;
    position: relative;
}

.imp-sleep .flex-box .txt-box .txt1::before {
    position: absolute;
    top: 7px;
    left: -20px;
    background-image: url(/img/check-icon.png);
    background-size: contain;
    content: '';
    width: 15px;
    height: 15px;
}



.imp-sleep .flex-box ul li:not(:first-child) {
    margin-top: 15px;
}



.imp-sleep .txt-box {
    margin-top: 20px;
}

.imp-sleep .flex-box .txt-box .txt2 {
    font-size: 1em;
    word-break: keep-all;
}


/* 수면임플과정 */
.imp-sleep-step {
    padding: 17% 0 8.5%;
}

.imp-sleep-step .img-box {
    margin-top: 20px;
}

/* 수면임플포인트 */
.imp-sleep-point {
    padding: 8.5% 0 17%;
}

.imp-sleep-point .img-box {
    margin-top: 20px;
}




.imp-tech {
    padding: 17% 0;
    background-image: url(/img/landding/imp-tech-bg.jpg);
    color: #fff;
}

.imp-tech .tech-box {
    display: flex;
    flex-direction: column;
    width: 80%;
    margin: 25px auto 0;
}

.imp-tech .tech-box .img-box:not(:first-child) {
    margin-top: 20px;
}

.imp-tech .box-2 {
    margin-top: 80px;
}

.imp-tech .box-2 .txt {
    width: 80%;
    margin: 10px auto 5px;
}

.imp-tech .mo-con>.img-box {
    width: 80%;
    margin: 30px auto 0;
}





.imp-anesthesia {
    padding: 17% 0;
}

.imp-anesthesia .img-box {
    margin: 30px auto 0;
}


.imp-goods {
    padding: 17% 0;
}

.imp-goods .goods-box {
    margin: 20px auto 0;
    position: relative;
}

.imp-goods .goods-box {
    position: relative;
    height: 250px;
}

.imp-goods .goods-box .img-box {
    position: absolute;
}

.imp-goods .goods-box .img1 {
    width: 50%;
    left: 3%;
    top: 20%;
}

.imp-goods .goods-box .img2 {
    width: 30%;
    right: 12%;
    bottom: 20%;
}

.imp-goods .goods-box .img3 {
    width: 30%;
    right: 7%;
    top: 15%;
}

.imp-goods .goods-box .img4 {
    width: 40%;
    left: 50%;
    top: 0;
    transform: translateX(-50%) !important;
}

.imp-goods .goods-box .img5 {
    width: 40%;
    left: 10%;
    bottom: 25%;
}

.imp-goods .goods-box .img6 {
    width: 37%;
    right: 10%;
    bottom: 50%;
}


.imp-product {
    background-color: #0046c5;
    padding: 17% 0;
    color: #fff;
}

.imp-product .title-box .img-box {
    width: 80%;
    margin: 20px auto 0;
}




.imp-clean {
    padding: 17% 0;
    background-image: url(/img/landding/imp-clean-bg.jpg);
    background-position: center center;
}

.imp-clean .flex {
    margin-top: 30px;
}





.pdt-10 {
    padding-top: 10% !important;
}

.pdt-20 {
    padding-top: 20% !important;
}

.mgt-20 {
    margin-top: 20px;
}

.mgt-70 {
    margin-top: 70px;
}


@media(max-width:768px) {
    .sec_line {
        padding: 7vw 0;
    }

    .sec_line .line {
        margin-bottom: 2vw;
    }

    .sec_line .line>p {
        font-size: 4vw;
        line-height: 5vw;
    }

    .sec_line .line>p>span {
        padding: 0 2vw;
    }

    .sec_line .line.right.line01>p {
        animation: text_loop_right_mo 20s linear infinite;
    }

    .sec_line .line.left.line01>p {
        animation: text_loop_left_mo 20s linear infinite;
    }
}



/* 230825치아미백 리디자인 */
#white {
    color: #fff;
    letter-spacing: -.02em;
}

#white .title-box {
    text-align: center;
    letter-spacing: -.05em;
}

#white .title-box h1 {
    font-size: 1.85em;
    letter-spacing: -.05em;
    line-height: 1.6em;
}

#white .title-box h1 span {
    border-bottom: 2px solid #fff;
    padding-bottom: 10px;
}

#white .title-box h3 {
    font-size: 1.35em;
}

#white .title-box .des {
    font-size: 1em;
    line-height: 1.7em;
    margin-top: 20px;
    word-break: keep-all;
}


.white-sec01 {
    background-color: #4b4233;
    padding: 10% 0;
}

.white-sec01 .bna-box {
    margin: 30px auto 0;
    position: relative;
}

.white-sec01 .bna-box .img-box {
    position: relative;
}

.white-sec01 .bna-box .img-box:last-child {
    margin-top: 20px;
}

.white-sec02 {
    background-color: #4b4233;
    padding: 10% 0;
}

.white-sec02 .img1 {
    margin: 20px auto 0;
}

.white-sec03 {
    background-color: #4b4233;
    position: relative;
    padding: 10% 0;
    color: #fff;
}

.white-sec03 .wrap {
    display: flex;
    justify-content: center;
}

.white-sec03 .wrap .img-box:not(:first-child) {
    margin-left: 5px;
}

.white-sec03 .notice {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: .85em;
    color: #fff;
    letter-spacing: -.05em;
    background-color: #222;
    padding: 10px 30px;
    border-radius: 100px;
    margin: 20px auto 0;
    z-index: 1;
    position: relative;
    -webkit-animation: pulse 2s infinite
}

.white-sec03 .notice i {
    margin-right: 5px;
}

.white-sec04 {
    background-color: #4b4233;
    padding: 10% 0;
    position: relative;
    color: #fff;
}

.white-sec04 .img1 {
    margin: 30px auto 0;
}

.white-sec04 .img2 {
    margin: 30px auto 0;
    position: absolute;
}

.white-sec05 {
    background-color: #4b4233;
    padding: 10% 0;
    color: #fff;
}

.white-sec05 .white-step-slide {
    margin: 30px auto 0;
    position: relative;
    overflow: hidden;
    box-sizing: border-box;
}

.white-sec05 .swiper-container {
    overflow: hidden;
}

.white-sec05 .white-step-slide .swiper-slide {
    padding-bottom: 20px;
}

.white-sec05 .white-step-slide .img-box {
    width: 75%;
    margin: 0 auto;
}

.white-sec05 .arrows {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 30px;
    margin: -45px auto;
    z-index: 1;
}

.white-sec05 .arrows .swiper-button i {
    color: #4b4233;
}

.white-sec05 .arrows .swiper-button:hover {
    background-color: #222;
    color: #4b4233;
}

.white-sec05 .swiper-pagination {}

.white-sec05 .swiper-pagination-bullet {
    background-color: #fff;
    opacity: 1;
    width: 50px;
    height: 3px;
    border-radius: 0;
}

.white-sec05 .swiper-pagination-bullet-active {
    background-color: #333;
    opacity: 1;
}


/* 250603 심미치료 시작 */

#est>* {
    font-family: "noto sans kr", "Gmarket Sans", sans-serif;
}

#est {
    letter-spacing: -.02em;
}

#est .con {
    width: 1280px;
}

#est .con-min-width {
    min-width: 1280px;
}

#est .title-box {
    text-align: center;
    letter-spacing: -.1px
}

#est .title-box .tit {
    font-size: 30px;
    font-weight: 700;
    line-height: 35px;
    letter-spacing: -1px;
}

#est .title-box .tit span {
    color: #fff;
    position: relative;
    margin-left: 10px;
}

#est .title-box .tit span::after {
    background-color: #00a8ff;
    position: absolute;
    transform: translate(-50%, -50%);
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    content: '';
    z-index: -1;
    padding: 0 10px 5px 0;
    margin-top: 1px;
    margin-left: 1px;
}

#est .title-box .sub {
    font-size: 15px;
    line-height: 20px;
    letter-spacing: -1px;
    margin-top: 15px;
}

#est .title-box b {
    font-weight: 600;
}

.est-box {
    display: flex;
    justify-content: center;
    margin-top: 30px;
    text-align: center;
}

.est-box .box:not(:first-child) {
    margin-left: 10px;
}

.est-intro {
    padding: 17% 0;
}

.est-intro .est-box .box h3 {
    color: #00a8ff;
    font-size: 20px;
    margin-top: 6px;
    letter-spacing: -1px;
}

.est-intro .est-box .box p {
    font-size: 12px;
    letter-spacing: -1px;
    margin-top: 2px;
}

.est-intro .title-box .tit {
    display: flex;
    justify-content: center;
}

.est-price {
    background-color: #161e42;
    padding: 17% 0;
}

.est-price .img-box {
    margin: 0 auto;
}


.white-bna {
    padding: 17% 0;
}

.white-bna .title-box .tit {
    display: flex;
    justify-content: center;
}

.white-bna .white-box {
    margin-top: 20px;
}

.white-bna .white-box p {
    text-align: center;
    font-size: 15px;
    letter-spacing: -1px;
    font-weight: 500;
    margin-top: 5px;
}

.white-bna .white-box p span {
    font-size: 10px;
    margin-left: 10px;
    margin-right: 5px;
    color: #888;
}

.white-bna .white-box .box.box:nth-of-type(2) {
    margin-top: 20px;
}

.white-step {
    background-image: url(/img/landding/white-step-bg.jpg);
    background-size: cover;
    background-position: top center;
    color: #fff;
    padding: 17% 0;
}

.white-step .white-box {
    margin: 30px auto 0;
}

.white-step .title-box .tit {
    margin-top: 3px;
}

.white-step .title-box .tit span {
    margin-left: 0px !important;
    color: #4edcff !important;
}

.white-step .title-box .tit span::after {
    background: none !important;
}

.white-step .title-box .sub-tit {
    font-size: 15px;
    font-weight: 300;
}


.white-case {
    background-image: url(/img/landding/white-case-bg.jpg);
    background-size: cover;
    background-position: top center;
    padding: 17% 0;
}

.white-case .title-box .tit {
    display: block !important;
    line-height: 30px !important;
}

.white-case .title-box .tit span {
    position: relative;
    margin-left: 1px !important;
    display: inline-block !important;
    margin-top: 10px;
}

.white-case .title-box .tit span::after {
    background-color: #00a8ff !important;
    position: absolute;
    transform: translate(-50%, -50%);
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    content: '';
    z-index: -1;
    padding: 0 7px 7px 0 !important;
    margin-top: 5px;
}

.white-case .list-box {
    font-size: 17px;
    width: 90%;
    margin: 25px auto 0;
    letter-spacing: -1px;
    white-space: nowrap;
}

.white-case .list-box li {
    margin-top: 10px;
}

.white-case .list-box li i {
    color: #00a8ff;
    margin-right: 7px;
}


.lami-main {
    background-color: #aab8c0;
    padding: 17% 0 0;
}

.lami-main .title-box {}

.lami-main .title-box .tit {
    color: #fff;
}

.lami-main .title-box .tit h3 {
    font-size: 20px;
    font-weight: 300;
    line-height: 28px;
}

.lami-main .title-box .tit h3 span {
    font-size: 30px;
    font-weight: 700;
    letter-spacing: -2px;
    background-color: #00a8ff;
    padding: 5px 5px;
    display: inline-block;
    margin: 7px 0 0 0 !important;
}

.lami-main .img1 {
    margin: 40px auto 0;
}

.lami-main .img2 {
    margin: 20px -30px 0 -90px;
}

.lami-con1 {
    background-image: url(/img/landding/lami-con1-bg.jpg);
    background-size: cover;
    background-position: top -80px center;
    color: #fff;
    padding: 17% 0;
    background-color: #101316;
    background-repeat: no-repeat;
}

.lami-con1 .title-box {
    text-align: left !important;
    margin-top: 200px;
}

.lami-con1 .title-box .tit {
    font-weight: 300 !important;
}

.lami-con1 .title-box .tit span {
    font-size: 30px;
    font-weight: 700;
    letter-spacing: -1px;
    background-color: #00a8ff;
    display: inline-block;
    margin: 0 3px 0 0 !important;
}

.lami-con1 .title-box .sub {
    font-weight: 300;
    line-height: 25px !important;
}

.lami-con2 {
    background-image: url(/img/landding/lami-con2-bg.jpg);
    background-size: cover;
    background-position: top center;
    color: #fff;
    padding: 17% 0;
}

.lami-con2 .title-box {
    margin-top: 300px;
}

.lami-con2 .title-box .tit h3 {
    white-space: nowrap;
    font-size: 29px;
    line-height: 30px;
    font-weight: 300;
}

.lami-con2 .title-box .tit span {
    margin: 10px 0 0 5px !important;
    display: inline-block;
    font-weight: 600;
}

.lami-con2 .list-box {
    font-size: 17px;
    width: 90%;
    margin: 30px auto 0;
    letter-spacing: -1px;
    white-space: nowrap;
}

.lami-con2 .list-box li {
    margin-top: 10px;
}

.lami-con2 .list-box li i {
    margin-right: 10px;
}

.lami-bna {
    background-color: #343434;
    color: #fff;
    padding: 17% 0;
}

.lami-bna .title-box .tit h3 {
    font-weight: 300;
    line-height: 40px;
    letter-spacing: -2px;
}

.lami-bna .title-box .tit h3 span {
    font-size: 38px;
    font-weight: 700;
    line-height: 40px;
    background-color: #00a8ff;
    padding: 0px 5px;
    display: inline-block;
    margin: 10px 0 0 0 !important;
}

.lami-bna .img-box {
    margin: 35px auto 0;
}


.lami-model {
    background-image: url(/img/landding/lami-model-bg.jpg);
    background-size: cover;
    background-position: top left 55%;
    height: 40vh;
}


.lami-point {
    background-image: url(/img/landding/lami-point-bg.jpg);
    background-size: cover;
    background-position: top center;
    color: #fff;
    padding: 17% 0;
}

.lami-point .title-box h3 {
    font-weight: 300;
    line-height: 45px;
}

.lami-point .title-box h3 b {
    font-weight: 700;
}

.lami-point .point-box {
    margin: 30px auto 0;
}

.lami-point .point-box .img-box:not(:first-child) {
    margin-top: 10px;
}


/* 230828 턱관절 리디자인 */
#joint {
    background-color: #653d3d;
    color: #fff;
    padding: 10% 0;
}

#joint .title-box {
    text-align: center;
    letter-spacing: -.05em;
}

#joint .title-box h1 {
    font-size: 1.85em;
    letter-spacing: -.05em;
    line-height: 1.6em;
}

#joint .title-box h1 span {
    border-bottom: 2px solid #fff;
    padding-bottom: 10px;
}

#joint .title-box h3 {
    font-size: 1.35em;
}

#joint .title-box .des {
    font-size: 1em;
    line-height: 1.7em;
    margin-top: 20px;
    word-break: keep-all;
}

.joint-sec01 {
    padding: 10% 0;
}

.joint-sec01 .img1 {
    margin: 25px auto 0;
}


.joint-sec01 .notice i {
    margin-right: 10px;
}

.joint-sec01 .notice {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: .85em;
    color: #fff;
    letter-spacing: -.05em;
    line-height: 1.3em;
    background-color: #222;
    padding: 7px 15px;
    border-radius: 100px;
    margin: 20px auto 0;
    width: 80%;
    z-index: 1;
    position: relative;
    -webkit-animation: pulse 2s infinite
}


.joint-sec02 {
    padding: 10% 0;
}

.joint-sec02 .img-box {
    margin: 10px auto 0;
}

.joint-sec03 {
    padding: 10% 0;
}

.joint-sec03 .img1 {
    margin: 30px auto 0;
}

.joint-sec04 {
    padding: 10% 0;
}

.joint-sec04 .img1 {
    margin: 30px auto 0;
}





/* 하단 푸터바 시작 */
.footer-box {
    text-align: left;
    color: #fff;
    padding: 1rem 1rem;
    word-break: break-all;
    background-color: #333;
}

.footer-box div {
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
}

.footer-box>div>.txt-1 {
    font-size: .6rem;
    font-weight: 400;
    letter-spacing: -.5px;
    line-height: 1rem;
}

.footer-box>div>.txt-1 b {
    font-weight: 600;
    margin-right: 0.1rem;
    letter-spacing: 0;
}

.footer-box>div>.txt-1 b:not(:first-child) {
    margin-left: 0.5rem;
    margin-right: 0.2rem;
}

.footer-box>div>.txt-2 {
    font-size: .6rem;
    line-height: .8rem;
    padding-top: .5rem;
    color: #aaa;
}


/* =========================================================
   의료진 소개 모바일 전용 스타일 260605
   - event-doctor-mo.php 전용
   - 모달 높이/스크롤 튐/arrow 위치 보정
   ========================================================= */

html.sb-doctor-modal-open,
body.sb-doctor-modal-open {
    overflow: hidden !important;
}

/* 의료진 섹션 */
.sb-doctor-section,
.sb-doctor-section.con-min-width {
    position: relative;
    min-width: 0 !important;
    width: 100% !important;
    max-width: 600px;
    margin: 0 auto;
    padding: 64px 18px 72px;
    box-sizing: border-box;
    overflow: hidden;
    background: linear-gradient(180deg, #044cbd 0%, #003ea1 58%, #06347f 100%);
    color: #fff;
    letter-spacing: -0.04em;
}

.sb-doctor-section::before {
    content: "MEDICAL STAFF";
    position: absolute;
    top: 8px;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    text-align: center;
    color: rgba(255, 255, 255, 0.07);
    font-size: 18vw;
    font-weight: 800;
    line-height: 1;
    letter-spacing: -0.08rem;
    pointer-events: none;
    white-space: nowrap;
}

.sb-doctor-inner {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
}

.sb-doctor-title {
    text-align: center;
    word-break: keep-all;
    margin-bottom: 32px;
}

.sb-doctor-eyebrow {
    color: #ffe100;
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.18em;
    line-height: 1;
}

.sb-doctor-title h2 {
    margin-top: 12px;
    color: #fff;
    font-size: 1.72rem;
    font-weight: 800;
    line-height: 1.28;
    letter-spacing: -0.075em;
}

.sb-doctor-line {
    display: block;
    width: 44px;
    height: 2px;
    margin: 18px auto 0;
    background: #ffe100;
}

.sb-doctor-desc {
    margin-top: 16px;
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.88rem;
    font-weight: 500;
    line-height: 1.58;
    letter-spacing: -0.05em;
}

/* 의료진 카드 */
.sb-doctor-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    width: 100%;
    margin-top: 0;
}

.sb-doctor-card {
    position: relative;
    display: block;
    overflow: hidden;
    min-width: 0;
    border-radius: 10px;
    background: #fff;
    color: #17213d;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.16);
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    outline: none;
}

.sb-doctor-card:active {
    transform: translateY(1px);
}

.sb-doctor-photo {
    position: relative;
    width: 100%;
    overflow: hidden;
    background: linear-gradient(135deg, #f6f9ff 0%, #e9eef7 100%);
    padding: 10px 40px 0;
    box-sizing: border-box;
}

.sb-doctor-photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
}

.sb-doctor-info {
    padding: 13px 12px 30px;
    box-sizing: border-box;
}

.sb-doctor-position {
    display: inline-flex;
    align-items: center;
    height: 20px;
    padding: 0 10px;
    border-radius: 999px;
    background: #d3e0f9;
    color: #0043b1;
    font-size: 0.58rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    line-height: 1;
}

.sb-doctor-info h3 {
    margin-top: 8px;
    color: #111a33;
    font-size: 1.04rem;
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: -0.06em;
}

.sb-doctor-info ul {
    margin-top: 8px;
}

.sb-doctor-info li {
    position: relative;
    padding-left: 6.5px;
    color: #555f73;
    font-size: 0.68rem;
    font-weight: 500;
    line-height: 1.42;
    letter-spacing: -0.05em;
    word-break: keep-all;
}

.sb-doctor-info li::before {
    content: "";
    position: absolute;
    top: 7px;
    left: 0;
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: #0043b1;
}

.sb-doctor-card::after {
    content: "자세히 보기";
    position: absolute;
    right: 12px;
    bottom: 10px;
    color: rgba(0, 67, 177, 0.62);
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: -0.05em;
}

/* 카드에서는 3줄만 노출, 상세 약력은 모달에서만 사용 */
.sb-doctor-summary li:nth-child(n+4),
.sb-doctor-info > ul:not(.sb-doctor-detail):not(.sb-doctor-summary) li:nth-child(n+4),
.sb-doctor-detail {
    display: none;
}

/* 의료진 상세 모달 */
.sb-doctor-modal {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 10080;
    width: 100vw;
    height: 100vh;
}

.sb-doctor-modal.is-active {
    display: block;
}

.sb-doctor-modal-dim {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.72);
}

.sb-doctor-modal-panel {
    position: fixed;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);

    width: calc(100% - 24px);
    max-width: 560px;
    max-height: 82vh;

    padding: 18px 18px 62px;
    box-sizing: border-box;

    border-radius: 24px;
    background: #fff;
    color: #17213d;

    overflow: hidden;
    box-shadow: 0 -12px 46px rgba(0, 0, 0, 0.34);
}

.sb-doctor-modal-content {
    display: flex;
    flex-direction: column;
    gap: 14px;

    max-height: calc(82vh - 128px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 0 0 12px;
    box-sizing: border-box;
}

.sb-doctor-modal-close {
    position: absolute;
    top: 12px;
    right: 14px;
    z-index: 5;

    width: 38px;
    height: 38px;

    border: 0;
    border-radius: 50%;
    background: #c6d2f5;
    color: #0043b1;

    font-size: 1.55rem;
    font-weight: 800;
    line-height: 38px;
    text-align: center;

    cursor: pointer;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.18);
}

.sb-doctor-modal-photo {
    margin: 0 auto;
    overflow: hidden;
    border-radius: 18px;
        padding: 15px 80px;
    background: linear-gradient(135deg, #f6f9ff 0%, #e9eef7 100%);
}

.sb-doctor-modal-photo img {
    display: block;
    width: 100%;
    height: auto;
}

.sb-doctor-modal-info {
    text-align: left;
}

.sb-doctor-modal-label {
    display: inline-flex;
    align-items: center;
    height: 23px;
    padding: 0 12px;
    border-radius: 999px;
    background: #d3e0f9;
    color: #0043b1;
    font-size: 0.66rem;
    font-weight: 800;
    letter-spacing: 0.12em;
}

.sb-doctor-modal-info h3 {
    margin-top: 10px;
    color: #111a33;
    font-size: 1.42rem;
    font-weight: 800;
    line-height: 1.24;
    letter-spacing: -0.07em;
}

.sb-doctor-modal-role {
    margin-top: 5px;
    color: #0043b1;
    font-size: 0.9rem;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: -0.05em;
}

.sb-doctor-modal-info ul {
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid #e7eaf0;
}

.sb-doctor-modal-info li {
    position: relative;
    margin-top: 5px;
    padding-left: 8px;
    color: #4d576b;
    font-size: 0.81rem;
    font-weight: 500;
    line-height: 1.24;
    letter-spacing: -0.05em;
    word-break: keep-all;
}

.sb-doctor-modal-info li:first-child {
    margin-top: 0;
}

.sb-doctor-modal-info li::before {
    content: "";
    position: absolute;
    top: 6px;
    left: 0;
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: #0043b1;
}

.sb-doctor-modal-count {
    margin-top: 14px;
    color: #9aa3b4;
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-align: center;
}

.sb-doctor-modal-arrow {
    position: absolute;
    bottom: 18px;
    z-index: 5;

    width: 44px;
    height: 44px;

    border: 0;
    border-radius: 50%;
    background: #0043b1;
    color: #fff;

    font-size: 0.92rem;

    display: flex;
    align-items: center;
    justify-content: center;

    cursor: pointer;
    box-shadow: 0 8px 20px rgba(0, 67, 177, 0.28);
}

.sb-doctor-modal-prev {
    left: calc(50% - 58px);
}

.sb-doctor-modal-next {
    right: calc(50% - 58px);
}

.sb-doctor-modal-arrow i {
    line-height: 1;
}

/* 매우 작은 화면 */
@media (max-width: 360px) {
    .sb-doctor-section,
    .sb-doctor-section.con-min-width {
        padding-left: 16px;
        padding-right: 16px;
    }

    .sb-doctor-grid {
        grid-template-columns: 1fr;
    }

    .sb-doctor-photo {
        aspect-ratio: 1 / 0.92;
    }

    .sb-doctor-modal-panel {
        width: calc(100% - 18px);
        bottom: 9px;
        max-height: 84vh;
        padding-left: 16px;
        padding-right: 16px;
    }

    .sb-doctor-modal-content {
        max-height: calc(84vh - 128px);
    }

    .sb-doctor-modal-photo {
        width: 60%;
        max-width: 190px;
    }
}

/* =========================================================
   의료진 모달 긴 약력 대응 보정 260605
   - 얼굴/사진 영역은 고정 노출
   - 약력 리스트만 내부 스크롤
   - 이전/다음 전환 시 상단 이미지 잘림 방지
   ========================================================= */
.sb-doctor-modal-panel {
    display: flex !important;
    flex-direction: column !important;
    width: calc(100% - 24px) !important;
    max-width: 560px !important;
    max-height: 86vh !important;
    max-height: 86dvh !important;
    padding: 16px 18px 76px !important;
    overflow: hidden !important;
}

.sb-doctor-modal-content {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    padding: 0 !important;
}

.sb-doctor-modal-photo {
    flex: 0 0 auto !important;
    width: 58% !important;
    max-width: 210px !important;
    max-height: 190px !important;
    margin: 0 auto 4px !important;
    padding: 8px 36px 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

.sb-doctor-modal-photo img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-height: 182px !important;
    object-fit: contain !important;
    object-position: center top !important;
}

.sb-doctor-modal-info {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
}

.sb-doctor-modal-label {
    flex: 0 0 auto !important;
}

.sb-doctor-modal-info h3 {
    flex: 0 0 auto !important;
    margin-top: 9px !important;
    font-size: 1.34rem !important;
}

.sb-doctor-modal-role {
    flex: 0 0 auto !important;
}

.sb-doctor-modal-info ul {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    max-height: 27vh !important;
    max-height: 27dvh !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    padding-right: 4px !important;
    margin-top: 12px !important;
    padding-top: 12px !important;
}

.sb-doctor-modal-count {
    flex: 0 0 auto !important;
    margin-top: 10px !important;
}

.sb-doctor-modal-arrow {
    bottom: 16px !important;
}

@media (max-height: 720px) {
    .sb-doctor-modal-panel {
        max-height: 88vh !important;
        max-height: 88dvh !important;
        padding-top: 12px !important;
        padding-bottom: 72px !important;
    }

    .sb-doctor-modal-photo {
        width: 50% !important;
        max-width: 170px !important;
        max-height: 136px !important;
        padding: 6px 30px 0 !important;
    }

    .sb-doctor-modal-photo img {
        max-height: 132px !important;
    }

    .sb-doctor-modal-info h3 {
        font-size: 1.25rem !important;
        margin-top: 8px !important;
    }

    .sb-doctor-modal-info ul {
        max-height: 30vh !important;
        max-height: 30dvh !important;
        margin-top: 10px !important;
        padding-top: 10px !important;
    }

    .sb-doctor-modal-info li {
        margin-top: 4px !important;
        line-height: 1.22 !important;
    }
}

@media (max-width: 360px) {
    .sb-doctor-modal-photo {
        width: 48% !important;
        max-width: 160px !important;
        max-height: 128px !important;
    }

    .sb-doctor-modal-photo img {
        max-height: 124px !important;
    }
}

/* =========================================================
   의료진 모달 사진 배경 영역 확장 260605
   - 사진 자체 크기는 유지
   - 연한 배경 박스만 모달 상단 너비까지 확장
   ========================================================= */
.sb-doctor-modal-photo {
    width: 100% !important;
    max-width: none !important;
    height: 154px !important;
    max-height: 154px !important;
    margin: 0 auto 12px !important;
    padding: 0 !important;
    border-radius: 16px !important;
    background: #f4f7fc !important;
    display: flex !important;
    align-items: flex-end !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

.sb-doctor-modal-photo img {
    width: auto !important;
    height: 100% !important;
    max-width: 78% !important;
    max-height: 154px !important;
    object-fit: contain !important;
    object-position: center bottom !important;
}

@media (max-height: 720px) {
    .sb-doctor-modal-photo {
        height: 132px !important;
        max-height: 132px !important;
        margin-bottom: 10px !important;
    }

    .sb-doctor-modal-photo img {
        max-height: 132px !important;
    }
}

@media (max-width: 360px) {
    .sb-doctor-modal-photo {
        height: 122px !important;
        max-height: 122px !important;
    }

    .sb-doctor-modal-photo img {
        max-height: 122px !important;
    }
}

/* =========================================================
   event02 모바일 SMS 인증 상담폼 전용
   - 다른 모바일 랜딩페이지 상담폼에는 영향 없음
   ========================================================= */
.counsel-box.event02-auth-counsel {
    max-height: calc(100dvh - 12px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: calc(24px + env(safe-area-inset-bottom));
}

.counsel-box.event02-auth-counsel .event-counsel-body-mo {
    gap: 10px;
}

.counsel-box.event02-auth-counsel .sms-auth-wrap-mo {
    width: 100%;
}

.counsel-box.event02-auth-counsel .sms-auth-send-btn-mo {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 44px;
    border: 1px solid #33489b;
    border-radius: 8px;
    background: #fff;
    color: #33489b;
    font-family: inherit;
    font-size: 0.92rem;
    font-weight: 700;
    letter-spacing: -0.04em;
    cursor: pointer;
}

.counsel-box.event02-auth-counsel .sms-auth-send-btn-mo:disabled {
    border-color: #c7ccd9;
    background: #f5f6f8;
    color: #8d95a8;
    cursor: default;
}

.counsel-box.event02-auth-counsel .sms-auth-code-row-mo {
    align-items: stretch;
    gap: 8px;
    width: 100%;
    margin-top: 8px;
}

.counsel-box.event02-auth-counsel .sms-auth-code-input-mo {
    position: relative;
    flex: 1;
    min-width: 0;
    height: 44px;
    border: 1px solid #d6d9e0;
    border-radius: 8px;
    background: #fff;
    box-sizing: border-box;
}

.counsel-box.event02-auth-counsel .sms-auth-code-input-mo input {
    width: 100%;
    height: 100%;
    padding: 0 52px 0 12px;
    border: 0;
    outline: 0;
    background: transparent;
    box-sizing: border-box;
    color: #222;
    font-family: inherit;
    font-size: 0.92rem;
    letter-spacing: -0.03em;
}

.counsel-box.event02-auth-counsel .sms-auth-code-input-mo input::placeholder {
    color: #aaa;
}

.counsel-box.event02-auth-counsel .sms-auth-timer-mo {
    position: absolute;
    right: 11px;
    top: 50%;
    transform: translateY(-50%);
    color: #e35151;
    font-size: 0.78rem;
    font-weight: 700;
    white-space: nowrap;
}

.counsel-box.event02-auth-counsel .sms-auth-check-btn-mo {
    flex: 0 0 88px;
    height: 44px;
    border-radius: 8px;
    background: #33489b;
    color: #fff;
    font-family: inherit;
    font-size: 0.88rem;
    font-weight: 700;
    letter-spacing: -0.04em;
    cursor: pointer;
}

.counsel-box.event02-auth-counsel .sms-auth-check-btn-mo:disabled {
    background: #aeb5c7;
    cursor: default;
}

.counsel-box.event02-auth-counsel .sms-auth-status-mo {
    min-height: 18px;
    margin-top: 5px;
    font-size: 0.75rem;
    font-weight: 500;
    line-height: 1.35;
    letter-spacing: -0.03em;
}

.counsel-box.event02-auth-counsel .sms-auth-status-mo:empty {
    min-height: 0;
    margin-top: 0;
}

.counsel-box.event02-auth-counsel .sms-auth-status-mo.is-info {
    color: #59657f;
}

.counsel-box.event02-auth-counsel .sms-auth-status-mo.is-error {
    color: #d84b4b;
}

.counsel-box.event02-auth-counsel .sms-auth-status-mo.is-success {
    color: #27835b;
    font-weight: 700;
}

/* 인증 완료 후 번호는 POST 값이 유지되도록 disabled 대신 조작만 잠금 */
.counsel-box.event02-auth-counsel .phone-field.is-auth-locked {
    background: #f8f9fb;
}

.counsel-box.event02-auth-counsel .phone-field.is-auth-locked .phone-inputs,
.counsel-box.event02-auth-counsel #mobile1.is-auth-locked {
    pointer-events: none;
}

.counsel-box.event02-auth-counsel .phone-field.is-auth-locked input,
.counsel-box.event02-auth-counsel .phone-field.is-auth-locked select {
    color: #777;
}

@media (max-width: 380px) {
    .counsel-box.event02-auth-counsel {
        padding-left: 16px;
        padding-right: 16px;
    }

    .counsel-box.event02-auth-counsel .sms-auth-check-btn-mo {
        flex-basis: 78px;
        font-size: 0.82rem;
    }

    .counsel-box.event02-auth-counsel .event-counsel-title-mo {
        margin-bottom: 14px;
    }
}

