@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;
}

/* 탑바 끝 */

/* 상담신청 고정바로 수정 211011 */
/* .counsel-toggle-btn { background-color: #333; padding: 2% 4% 0; border-radius: 100px 100px 0 0; position: absolute; bottom: 77px; left: 50%; transform: translateX(-50%); transition: .5s; display: none; } */
/* .counsel-btn-box {
    width: 100%;
    position: fixed;
    bottom: -100px;
    background-color: rgba(0, 0, 0, .7);
    color: #fff;
    padding: .6rem 0.7rem 0.8rem;
    box-sizing: border-box;
    z-index: 99;
    transition: .5s;
}

.counsel-btn-box .title {
    padding-bottom: 0.35rem;
    font-size: 1rem;
}

.counsel-btn-box .title .time {
    color: cyan;
    margin-left: 0.3rem;
}


.counsel-btn-box .flex {
    max-width: 600px;
    margin: 0 auto;
}

.counsel-btn-box.active {
    bottom: 0;
    transition: .5s;
}

.counsel-btn-box .input-box {
    width: 78%;
}

.counsel-btn-box .input-box .box-1 {
    width: 100%;
    height: 1.5rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.counsel-btn-box .input-box .box-1 input {
    width: 50%;
}

.counsel-btn-box .input-box .box-1 #service_type {
    height: 100%;
    margin-left: 0.3rem;
}

.counsel-btn-box .input-box .box-2 {
    margin-top: .4rem;
    width: 100%;
    height: 1.5rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.counsel-btn-box .input-box .box-2 .phone-box {
    width: 50%;
    height: 100%;
}

.counsel-btn-box .input-box .box-2 .agree-box {
    width: 50%;
    height: 100%;
    margin-left: 0.3rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.counsel-btn-box .input-box .box-2 .agree-box .btn {
    font-family: "Roboto", "GmarketSans", sans-serif;
    font-size: .6rem;
    letter-spacing: -.03rem;
    color: #aaa;
}

.counsel-btn-box .input-box .box-2 .agree-box .checkbox {
    margin: 0;
    -webkit-appearance: checkbox;
    width: 13px;
    height: 13px;
} */

.modal {
    display: none;
    /* Hidden by default */
    position: fixed;
    /* Stay in place */
    z-index: 102;
    /* 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 */
}

/* 
.counsel-btn-box .modal-content {
    background-color: #fefefe;
    padding: 2rem 1rem;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    position: absolute;
    width: 80%;
    max-width: 460px;
    color: #333;
    box-sizing: border-box;
}

.counsel-btn-box .sb-close {
    font-size: 1rem;
    text-align: center;
    background-color: #333;
    padding: 0.5rem 0;
    color: #fff;
    margin-top: 1rem;
}

.counsel-btn-box .modal .modal-content h3 {
    font-size: 1rem;
    font-weight: 500;
    border-bottom: #ccc dotted 2px;
    padding-bottom: 0.5rem;
}

.counsel-btn-box .modal .modal-content>.txt-box>ul {
    margin-top: 1rem;
}

.counsel-btn-box .modal .modal-content>.txt-box>ul li {
    font-size: .8rem;
    line-height: 1rem;
    letter-spacing: -.05rem;
    margin-top: 0.4rem;
    padding-left: 0.7rem;
    position: relative;
}

.counsel-btn-box .modal .modal-content>.txt-box>ul>li::before {
    font-family: 'Font Awesome 5 Free';
    content: '\f111';
    font-weight: 900;
    position: absolute;
    font-size: .5rem;
    top: -0.1rem;
    left: 0;
}

.counsel-btn-box .modal .modal-content>.txt-box>ul>li>ul {
    margin: .3rem 0 .5rem;
}

.counsel-btn-box .modal .modal-content>.txt-box>ul>li>ul>li {
    position: relative;
    padding-left: 0.5rem;
    margin-top: 0.1rem;
    line-height: .85rem;
    letter-spacing: -.02rem;
    font-size: .65rem;
}

.counsel-btn-box .modal .modal-content>.txt-box>ul>li>ul>li::before {
    content: '-';
    font-weight: 300;
    position: absolute;
    top: 0;
    left: 0;
}

.counsel-btn-box .submit-box {
    width: 22%;
    margin-left: .5rem;
}

.counsel-btn-box .submit-box .btn-submit {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    background-color: #003cb5;
    color: #fff;
    font-size: .75rem;
    font-weight: 600;
    white-space: nowrap;
    box-sizing: border-box;
}

.counsel-btn-box input {
    -webkit-appearance: none;
    height: 100%;
    border: 0;
    margin: 0;
    padding: 0 0 0 .5rem;
    font-size: .7rem;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    border-radius: 0;
}

.counsel-btn-box select {
    -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;
    font-size: .7rem;
    border-radius: 0;
    color: #000;
}


.counsel-btn-box .inputs {
    margin-left: 3px;
} */

.consult-btn {
    width: 65px;
    bottom: 140px;
    right: 15px;
    position: fixed;
    z-index: 100;
}


section.modalWindow {
    display: none;
    position: fixed;
    top: 55%;
    left: 50%;
    transform: translate(-50%, -55%);
    z-index: 102;
}

section.modal.overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.7);
    z-index: 101;
}

.closeBtn {
    position: absolute;
    right: 18px;
    top: 12px;
    font-size: 2rem;
    color: #ddd;
}


/* 230212 상담신청박스 수정 */
.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.active .btn-close-box {
    top: 0;
}

.counsel-box.active .btn-close-box {
    width: 40px;
    height: 40px;
    position: absolute;
    right: 0;
    top: -40px;
    background: #222;
}

.counsel-box.active .btn-close-box .btn-close {
    background-color: #222;
    width: 100%;
    height: 100%;
    position: relative;
}

.counsel-box.active .btn-close-box .btn-close div:nth-of-type(1) {
    transform: rotate(45deg);
    left: 0;
}

.counsel-box.active .btn-close-box .btn-close div:nth-of-type(2) {
    transform: rotate(-45deg);
    left: 0;
}

.counsel-box.active .btn-close-box .btn-close div {
    width: 100%;
    height: 1px;
    background: #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}


.counsel-box {
    width: 100%;
    position: fixed;
    bottom: -800px;
    background-color: #222;
    color: #fff;
    padding: 1rem 1.5rem 1.5rem;
    box-sizing: border-box;
    z-index: 999;
    transition: .5s;
}

.counsel-box.active {
    bottom: 0;
    transition: .6s;
}


.counsel-toggle-btn {
    padding: 2% 4% 0;
    border-radius: 100px 100px 0 0;
    position: absolute;
    bottom: 77px;
    left: 50%;
    transform: translateX(-50%);
    transition: .5s;
    display: none;
}

.counsel-box form {
    max-width: 600px;
    margin: 0 auto;
}

.counsel-box .title {
    font-weight: 500;
    display: flex;
    justify-content: center;
    align-items: center;
    letter-spacing: -.05rem;
}

.counsel-box .title .time {
    color: #ffd800;
    margin-left: 0.3rem;
    font-size: .9rem;
}

.counsel-box .title .time::after {
    content: '4월 30일 까지';
}

.counsel-box .box {
    width: 100%;
    display: flex;
    flex-direction: column;
    margin-top: 0.85rem;
}

.counsel-box .box>div {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.counsel-box .box>div:not(:first-child) {
    margin-top: .5rem;
}

.counsel-box .box h4 {
    font-size: .85rem;
    font-weight: 300;
    margin-right: .5rem;
    display: flex;
    align-items: center;
    width: 15%;
    height: 30px;
    white-space: nowrap;
}

.counsel-box .box .name {
    flex-grow: 1;
    height: 30px;
}

.counsel-box .box .mobile {
    flex-grow: 1;
    height: 30px;
    display: flex;
    flex: 1 0 0;
}

.counsel-box .box .mobile-box>span {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 30px;
    margin: 0 3px;
}

.counsel-box .box .service {
    flex-grow: 1;
    height: 30px;
    display: flex;
}

.counsel-box .box .agree-box {
    font-size: .7rem;
    font-weight: 300;
    height: 17px;
}

.counsel-box .box .agree-box>div {
    display: flex;
    flex-grow: 1;
    align-items: center;
    display: flex;
    align-items: center;
}

.counsel-box .box .agree-box .checkbox {
    width: 20px;
    height: 20px;
    margin-right: 0.3rem;
}

.counsel-box .btn-box {
    height: 45px;
    display: flex;
    justify-content: space-between;
    margin-top: .8rem;
}

.counsel-box .btn-box>div {
    width: calc(100% / 2);
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 1rem;
}

.counsel-box .btn-box>div>a {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #4e4e4e;
    font-weight: 500;
}

.counsel-box .btn-box>div>button {
    font-family: 'GmarketSans';
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #ffd800;
    font-size: 1em;
    font-weight: 500;
    color: #000;
}

.counsel-box .btn-box div i {
    margin-right: .5rem;
}

.counsel-box .modal {
    display: none;
    /* Hidden by default */
    position: fixed;
    /* Stay in place */
    z-index: 102;
    /* 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 */
}

.counsel-box .modal-content {
    background-color: #fefefe;
    padding: 2rem 1rem;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    position: absolute;
    width: 80%;
    max-width: 460px;
    color: #333;
    box-sizing: border-box;
}

.counsel-box .sb-close {
    font-size: 1rem;
    text-align: center;
    background-color: #333;
    padding: 0.5rem 0;
    color: #fff;
    margin-top: 1rem;
}

.counsel-box .modal .modal-content h3 {
    font-size: 1rem;
    font-weight: 500;
    border-bottom: #ccc dotted 2px;
    padding-bottom: 0.5rem;
}

.counsel-box .modal .modal-content>.txt-box>ul {
    margin-top: 1rem;
}

.counsel-box .modal .modal-content>.txt-box>ul li {
    font-size: .8rem;
    line-height: 1rem;
    letter-spacing: -.05rem;
    margin-top: 0.4rem;
    padding-left: 0.7rem;
    position: relative;
}

.counsel-box .modal .modal-content>.txt-box>ul>li::before {
    font-family: 'Font Awesome 5 Free';
    content: '\f111';
    font-weight: 900;
    position: absolute;
    font-size: .5rem;
    top: -0.1rem;
    left: 0;
}

.counsel-box .modal .modal-content>.txt-box>ul>li>ul {
    margin: .3rem 0 .5rem;
}

.counsel-box .modal .modal-content>.txt-box>ul>li>ul>li {
    position: relative;
    padding-left: 0.5rem;
    margin-top: 0.1rem;
    line-height: .85rem;
    letter-spacing: -.02rem;
    font-size: .65rem;
}

.counsel-box .modal .modal-content>.txt-box>ul>li>ul>li::before {
    content: '-';
    font-weight: 300;
    position: absolute;
    top: 0;
    left: 0;
}

.counsel-box .submit-box {
    width: 22%;
    margin-left: .5rem;
}

.counsel-box .submit-box .btn-submit {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    background-color: #003cb5;
    color: #fff;
    font-size: .75rem;
    font-weight: 600;
    white-space: nowrap;
    box-sizing: border-box;
}

.counsel-box input {
    font-family: "Roboto", "GmarketSans", sans-serif;
    height: 100%;
    border: 0;
    margin: 0;
    padding: 0 0 0 .5rem;
    font-size: .7rem;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    border-radius: 0;
    font-size: .9rem;
    font-weight: 500;
    line-height: 2rem;
    -webkit-border-radius: 0px
}

.counsel-box select,
.imp-sec02 .form select {
    font-family: "Roboto", "GmarketSans", 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;
}


/* 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;
}


.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(0, 67, 177, 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;
}

.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: #0043b1;
    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-1.png);
}

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

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

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

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

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

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

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

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

.ortho-profile .swiper-pagination-bullet:nth-of-type(10) {
    background-image: url(/img/landding/profile-pg-10.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 4. 30 까지';
}

.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;
}