:root {
    --color-primary:#2E267B;
    --text-primary:#39374C;
    --color-line:#D6D6DD; 
}


/* ====================================
    공통
==================================== */
body {font-size:16px; color:var(--text-primary); font-family: "Pretendard", sans-serif; text-transform: capitalize;}
body * {font-family: "Pretendard", sans-serif; }
.overflow-hidden {overflow:hidden; }
.inner {width:1340px; max-width:100%; padding:0 12px; margin:0 auto; }
.inner_840 {width:860px; max-width:100%; padding:0 10px; margin:0 auto; }

#wrap {overflow:hidden; }

header {z-index:100; position:sticky; top:0; left:0; width:100%; height:90px; border-bottom:1px solid #efefef; background-color:#fff;  }
header .logo img {display:block; }
header .inner {display:flex; align-items:center; justify-content:space-between; height:100%; }
header .gnb ul {display:flex; align-items:center; gap:40px; }
header .gnb ul li a {display:block; padding:8px 34px; font-size:17px; font-weight:400; border-radius:30px; }
header .gnb ul li.active a {background-color:var(--text-primary); color:#fff; }
header .right_link {display:flex; align-items:center; gap:16px; }
header .brand a {display:flex; align-items:center; gap:4px; padding:8px 23px; font-size:17px; color:#fff; background-color:var(--color-primary); border-radius:20px; }
header .ham_btn {display:none; flex-direction:column; align-items:center; justify-content:center; gap:7px; width:28px; height:28px; }
header .ham_btn i {display:block; width:21px; height:1.5px; background-color:var(--text-primary); transition:all 0.5s; }
header .ham_btn.active i:nth-of-type(1) {width:24px; transform:rotate(45deg) translate(3px,-2px); transform-origin:left top;}
header .ham_btn.active i:nth-of-type(2) {opacity:0; }
header .ham_btn.active i:nth-of-type(3) {width:24px; transform:rotate(-45deg) translate(2px,2px); transform-origin:left bottom;}

@media all and (max-width:1000px){
    header .gnb ul {gap:25px; }
}
@media all and (max-width:767px){
    header {height:72px; }
    header .gnb {position:fixed; left:100%; top:72px; overflow-y:auto; display:block; width:100%; height:calc(100% - 72px); padding:30px 0; background-color:#fff; transition:all 0.5s; }
    header .gnb.active {left:0; }
    header .gnb ul {display:flex; flex-direction:column; gap:10px; }
    header .gnb ul li {width:100%; }
    header .gnb ul li a {position:relative; padding:12px 16px; font-size:24px; font-weight:500; }
    header .gnb ul li a:before {content:''; position:absolute; right:16px; top:calc(50% - 12px); width:24px; height:24px; background:url('../img/icon/header_arrow.svg') no-repeat center center; }

    header .brand a {padding:8px 11px; }
    header .ham_btn {display:flex; }
}

#top_btn {z-index:50; position:fixed; right:50px; bottom:-70px; display:flex; flex-direction:column; align-items:center; justify-content:center; width:58px; height:58px; font-size:12px; line-height:1.5; color:#fff; background-color:var(--color-primary); border-radius:50%; cursor:pointer; transition:all 0.5s; }
#top_btn.on {bottom:50px; }

@media all and (max-width:767px){
    #top_btn {right:10px;}
    #top_btn.on {bottom:10px; }
}

footer {z-index:20; position:relative; border-top:1px solid #f1f1f1; background-color:#fcfcfc; }
footer .info {display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; padding:80px 0 60px; }
footer .info p {font-size:16px; font-weight:300; line-height:1.75; text-align:left; }
footer .info p span {margin-left:10px; }
footer .info .insta {position:relative; padding-left:28px; margin-left:10px; text-transform:uppercase; background: linear-gradient(90deg, rgba(208, 108, 37, 0.80) 0%, rgba(189, 34, 143, 0.80) 41.83%, rgba(137, 71, 218, 0.80) 98.08%); -webkit-background-clip: text; -webkit-text-fill-color: transparent;}
footer .info .insta img {position:absolute; left:0; top:calc(50% - 11px);  display:block; }
footer .info .contact {display:flex; align-items:center; gap:10px; font-size:16px; }
footer .info .contact + .contact {margin-top:10px; }
footer .info .contact b {width:71px; font-size:14px; font-weight:600; color:#fff; text-align:center; background-color:#261f71; }
footer .footer_bottom {border-top:1px solid var(--color-primary); padding:24px 0; text-align:center; }
footer .footer_bottom p {font-size:14px; line-height:1.4; }
footer .footer_bottom p + p {margin-top:10px; }

@media all and (max-width:767px){
    footer .info {flex-direction:column; gap:20px; padding:40px 0; }
    footer .info  .logo {height:35px; }
    footer .info p {font-size:14px; text-align:center; }
    footer .footer_bottom p {font-size:12px; }
}


.modal {z-index:900; position:fixed; left:0; top:0; display:none; width:100%; height:100%; padding:50px; background-color:rgba(0,0,0,0.5); }
.modal.open {display:block; }
.modal .modal_close_btn {position:absolute; right:10px; top:10px; padding:15px; }
.modal .modal_wrap {width:100%; height:100%; text-align:center; }
.modal .modal_slide {display:flex; flex-direction:column; align-items:center; justify-content:center; height:100%; margin:0 auto; }
.modal .modal_slide ul {height:auto; align-items:center; }
.modal .modal_slide ul li {overflow:hidden; position:relative; display:none; width:500px; height:auto; border-radius:30px; }
.modal .modal_slide ul li.open {display:block; }
.modal .modal_slide ul li .img_box {overflow-y:auto; max-height:60dvh; }
.modal .modal_slide ul li .img_box a, 
.modal .modal_slide ul li .img_box img {display:block; }
.modal .modal_slide ul li .close_btn {position:absolute; right:5px; top:5px; padding:15px; }
.modal .modal_slide ul li .noToday_btn {width:100%; height:60px; font-size:17px; color:#fff; font-weight:600; text-align:center; background-color:#a9a9a9; cursor:pointer; }
.modal .modal_slide .pagination {display:flex; align-items:center; justify-content:center; padding:20px 0; }
.modal .modal_slide .pagination span {opacity:1; width:10px; height:10px; background-color:#d9d9d9; border-radius:20px; transition:all 0.5s; }
.modal .modal_slide .pagination span.swiper-pagination-bullet-active {width:40px; background-color:#fff; }


@media all and (max-width:767px){ 
    .modal {padding:50px 25px; }
    .modal .modal_slide ul li {width:100%; }
}

.fixed_modal {z-index:99; position:absolute; right:20px; top:109px; display:none; flex-direction:column; width:500px; max-width:90%; height:600px; max-height:75dvh; padding:20px; background-color:#fff; border-radius:10px; }
.fixed_modal.open {display:flex; }
.fixed_modal .modal_header {padding:20px 0; border-bottom:1px solid #a4a4a4; font-size:32px; font-weight:500; text-align:center; }
.fixed_modal .modal_body {overflow-y:auto; flex-grow:1; padding:30px 0; }
.fixed_modal .modal_body p {font-size:20px; }
.fixed_modal .modal_body p + p {margin-top:20px; }
.fixed_modal .modal_footer {display:flex; align-items:center; justify-content:space-between; padding-top:10px; }
.fixed_modal .modal_footer p input {display:none; }
.fixed_modal .modal_footer p label {display:flex; align-items:center; gap:10px; font-size:14px; }
.fixed_modal .modal_footer p input + label:before {content:''; width:16px; height:16px; background:#d9d9d9 ; border-radius:3px; }
.fixed_modal .modal_footer p input:checked + label:before {background:var(--color-primary) url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2212%22%20height%3D%229%22%20viewBox%3D%220%200%2012%209%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M10.75%200.75L3.875%207.625L0.75%204.5%22%20stroke%3D%22white%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22/%3E%3C/svg%3E') no-repeat center center; }
.fixed_modal .modal_footer button {font-size:14px; }
.fixed_modal .modal_footer button img {width:10px; filter:brightness(0); }

@media all and (max-width:767px){ 
    .fixed_modal {top:auto; bottom:20px; right:0; left:0; height:500px; max-height:65dvh; margin:0 auto; padding:15px; }
    .fixed_modal .modal_header {padding:15px 0; font-size:28px; }
    .fixed_modal .modal_body {padding:20px 0; }
    .fixed_modal .modal_body p {font-size:16px; }
    .fixed_modal .modal_body p + p {margin-top:15px; }
}


/* btn */
.btn {display:inline-flex; align-items:center; justify-content:center; gap:6px; height:46px; padding:14px; font-size:15px; border-radius:54px; }
.btn-input {height:48px; font-size:16px; font-weight:300; border-radius:8px; }
.btn-primary-line {border:1px solid var(--color-primary); color:var(--color-primary); }
.btn-line {border:1px solid var(--color-line); background-color:#fff; }
.btn-secondary {border:1px solid var(--color-line); color:#696682; background-color:#F5F6F9; }

@media all and (max-width:767px){
    .btn {font-size:15px; }
    .btn-input {font-size:14px; }
}
        

/* check_custom */
.check_custom_box {display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.check_custom {display:none; }
.check_custom + label {border:1px solid var(--color-line); padding:16px 22px; font-size:15px; color:var(--color-primary); border-radius:40px; }
.check_custom:checked + label {border-color:var(--color-primary); color:#fff; background-color:var(--color-primary); }

.check_custom_2 {display:none; }
.check_custom_2 + label {display:flex; align-items:center; gap:8px; }
.check_custom_2 + label:before {content:''; flex-shrink:0; width:24px; height:24px; border:1px solid var(--color-line); border-radius:50%; background:#fff url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2212%22%20height%3D%229%22%20viewBox%3D%220%200%2012%209%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M10.75%200.75L3.875%207.625L0.75%204.5%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22/%3E%3C/svg%3E") no-repeat center center; }
.check_custom_2:checked + label:before {color:#fff; border-color:var(--color-primary); background:var(--color-primary) url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2212%22%20height%3D%229%22%20viewBox%3D%220%200%2012%209%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M10.75%200.75L3.875%207.625L0.75%204.5%22%20stroke%3D%22white%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22/%3E%3C/svg%3E") no-repeat center center;}

@media all and (max-width:767px){
    .check_custom_box {gap:6px; }
    .check_custom + label {padding:12px 18px; font-size:13px; }
}

/* form */
textarea {width:100%; height:240px; border:1px solid var(--color-line); padding:24px; resize:none; font-size:16px; font-weight:300; border-radius:8px; }
textarea::placeholder {color:var(--text-primary); }
textarea:focus {outline:0 none; border:1px solid var(--color-primary); }

input:not([type="checkbox"]):not([type="radio"]) {width:100%; height:48px; border:1px solid var(--color-line); padding:10px 14px; font-size:16px; font-weight:300; border-radius:8px; }
input::placeholder {color:#696682; }
input:not([type="checkbox"]):not([type="radio"]):focus {outline:0 none; border:1px solid var(--color-primary); }

select {width:100%; height:48px; border:1px solid var(--color-line); padding:10px 14px; font-size:16px; font-weight:300; border-radius:8px; -webkit-appearance:none; appearance:none; background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M6%209L12%2015L18%209%22%20stroke%3D%22%23696682%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22/%3E%3C/svg%3E") no-repeat 98% center; }

textarea + .file_custom {margin-top:12px; }
.file_custom {display:flex; gap:10px; } 
.file_custom input[type="file"] {display:none; }
.file_custom label {flex-shrink:0; }
.file_custom .btn {flex-shrink:0; }

.nodata {display:block; width:100%; padding:24px; font-size:16px; text-align:center; font-weight:300; background-color:#f9f9f9; }

@media all and (max-width:767px){
    textarea {padding:14px; font-size:14px; }
    input:not([type="checkbox"]):not([type="radio"]) {font-size:14px; }
    
    .file_custom {flex-wrap:wrap;}
}


/* ====================================
    메인
==================================== */
#loading {z-index:1000; position:fixed; left:0; top:0; width:100%; height:100%; background-color:#fff; }

.main_tit img {display:block; margin:0 auto 25px; }
.main_tit h3 {font-size:50px; font-weight:700; text-align:center; }

@media all and (max-width:767px){
    .main_tit img {height:40px; }
    .main_tit h3 {font-size:30px; }
    .main_tit h3 br {display:none; }
}

.main_visual {position:relative; width:100%; height:calc(100dvh - 90px); padding:0; }
.main_visual .visual_box {position:relative; overflow:hidden; height:100%; }
.main_visual .back_video {z-index:1; position:absolute; left:0; top:0; width:100%; height:100%; object-fit:cover; }
.main_visual .txt {z-index:10; position:absolute; left:0; bottom:30px; width:100%; font-size:4.5vw; font-weight:600; text-align:center; color:var(--color-primary); line-height:1.4; }
.main_visual .drop_video {z-index:11; overflow:hidden; opacity:1; position:fixed; left:0; top:60px; right:0; bottom:0; height:50%; margin:auto; border-radius:50% !important; transform:scale(0.9);}
.main_visual .drop_video video {position:absolute; left:0; top:0; width:156%; height:100%; object-fit:cover; transform:scale(1.45);}

@media all and (max-width:767px){
    .main_visual {height:calc(100dvh - 71px); }
    .main_visual .drop_video {position:absolute; top:-50px; }
    .main_visual .txt {font-size:30px; }
}

.main_card {overflow:hidden; position:relative; padding:340px 0 0; }
.main_card .main_tit {position:sticky; margin-bottom:60px; }
.main_card .card_box ul li {overflow:hidden; position:relative; margin-bottom:20dvh; border-radius:30px; }
.main_card .card_box ul li.last {margin-bottom:0; }
.main_card .card_box ul li.bg_dark:before {content:''; position:absolute; left:0; top:0; width:100%; height:100%; background: linear-gradient(270deg, rgba(0, 0, 0, 0.00) 56.97%, rgba(0, 0, 0, 0.35) 100%); }
.main_card .card_box ul li .txt_box {z-index:1; position:absolute; left:60px; top:50%; transform:translateY(-50%); }
.main_card .card_box ul li .txt_box h5 {font-size:50px; font-weight:600; color:#fff; }
.main_card .card_box ul li .txt_box p {margin-top:10px; font-size:36px; font-weight:200; color:#fff; }
.main_card .card_box ul li video {display:block; width:100%; height:700px; object-fit:cover; }

@media all and (max-width:767px){
    .main_card {z-index:20; padding:100px 0 0; }
    .main_card .card_box ul li {margin-bottom:20px; border-radius:10px; }
    .main_card .card_box ul li .txt_box {left:20px; }
    .main_card .card_box ul li .txt_box h5 {font-size:16px; }
    .main_card .card_box ul li .txt_box p {font-size:14px; }
    .main_card .card_box ul li video {height:auto; }
}


.main_medical {z-index:20; position:relative; padding-top:160px; }
.main_medical .medical_box {position:relative; height:764px; }
.main_medical .medical_box .img_box {position:absolute; left:0; top:0; width:100%; height:100%; }
.main_medical .medical_box .img_box img {opacity:0; position:absolute; left:0; top:0; width:100%; height:100%; object-fit:cover; transition:all 0.8s; }
.main_medical .medical_box .img_box img.active {opacity:1; }
.main_medical .medical_box .inner {display:grid; grid-template-columns:repeat(3,1fr); height:100%; }
.main_medical .medical_box .box {z-index:10; position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:20px; transition:all 0.5s; }
.main_medical .medical_box .box:nth-of-type(1).active {background-color:rgba(255,255,255,0.8); }
.main_medical .medical_box .box:nth-of-type(2).active {background-color:rgba(230,22,115,0.8); }
.main_medical .medical_box .box:nth-of-type(3).active {background-color:rgba(201,160,99,0.8); }
.main_medical .medical_box .box .link_box {display:none; }
.main_medical .medical_box .box:nth-of-type(1) h4 img {height:44px; }
.main_medical .medical_box .box:nth-of-type(1) h4 img:nth-of-type(1) {display:none; }
.main_medical .medical_box .box:nth-of-type(1) h4 img:nth-of-type(2) {display:block; }
.main_medical .medical_box .box:nth-of-type(1).active h4 img:nth-of-type(1) {display:block; }
.main_medical .medical_box .box:nth-of-type(1).active h4 img:nth-of-type(2) {display:none; }
.main_medical .medical_box .box:nth-of-type(2) h4 img {height:40px; }
.main_medical .medical_box .box:nth-of-type(3) h4 img {height:45px; }
.main_medical .medical_box .box a {display:block; font-size:28px; font-weight:200; color:#fff; text-align:center; transition:all 0.5s; }
.main_medical .medical_box .box a + a {margin-top:20px; }
.main_medical .medical_box .box:nth-of-type(1) a {color:var(--text-primary); }

@media all and (max-width:767px){
    .main_medical {padding-top:100px; }
    .main_medical .medical_box {height:auto; padding:0; }
    .main_medical .medical_box .img_box {opacity:0; }
    .main_medical .medical_box .inner {grid-template-columns:repeat(1,1fr); padding:0; }
    .main_medical .medical_box .box {position:relative; height:270px; }
    .main_medical .medical_box .box:before {content:''; z-index:1; position:absolute; left:0; top:0; width:100%; height:100%; }
    .main_medical .medical_box .box .link_box {display:block !important; }
    .main_medical .medical_box .box:nth-of-type(1) {background:url('../img/main/medical_img_1.png') no-repeat center center / cover; }
    .main_medical .medical_box .box:nth-of-type(1):before {background-color:rgba(255,255,255,0.8) ; }
    .main_medical .medical_box .box:nth-of-type(2) {background:url('../img/main/medical_img_2.png') no-repeat center center / cover; }
    .main_medical .medical_box .box:nth-of-type(2):before {background-color:rgba(230,22,115,0.8); }
    .main_medical .medical_box .box:nth-of-type(3) {background:url('../img/main/medical_img_3.png') no-repeat center center / cover; }
    .main_medical .medical_box .box:nth-of-type(3):before {background-color:rgba(201,160,99,0.8); }
    .main_medical .medical_box .box h4 {z-index:5; position:relative; }
    .main_medical .medical_box .box h4 img {transform:scale(0.7); }
    .main_medical .medical_box .box a {z-index:5; position:relative; font-size:16px; }
    .main_medical .medical_box .box a + a {margin-top:5px; }
}

.main_global {z-index:20; position:relative; padding:160px 0; background-color:#fff; }
.main_global .main_tit {margin-bottom:120px; }
.main_global .box {display:flex; gap:0; margin-top:100px; }
.main_global .box .txt_box {position:relative; flex-shrink:0; width:48%; padding-right:60px; }
.main_global .box h5 {font-size:46px; font-weight:700; }
.main_global .box p {margin-top:24px; font-size:16px; color:#696682; line-height:1.4; }
.main_global .box .img_box {display:flex; align-items:flex-end; width:52%; background-color:#fff; }

@media all and (max-width:1024px){
    .main_global .box h5 {font-size:36px; }
}
@media all and (max-width:767px){
    .main_global {padding:100px 0; }
    .main_global .main_tit {margin-bottom:80px; }
    .main_global .box {flex-direction:column; margin-top:60px; }
    .main_global .box .txt_box {width:100%; padding-right:0; }
    .main_global .box h5 {font-size:28px; }
    .main_global .box p {margin-top:20px; font-size:14px; }
    .main_global .box .img_box {width:100%; margin-top:30px; }
}

.main_news {z-index:20; position:relative; padding-bottom:160px; }
.main_news .news_list {margin-top:60px; }
.main_news .news_list ul li {border-top:1px solid var(--color-line); }
.main_news .news_list ul li:last-of-type {border-bottom:1px solid var(--color-line); }
.main_news .news_list ul li a {position:relative; display:block; padding:23px 60px 23px 20px; font-size:18px; font-weight:400; line-height:1.4; }
.main_news .news_list ul li a:before {content:''; position:absolute; right:20px; top:calc(50% - 18px); width:36px; height:36px; background:url('../img/main/news_arrow.svg') no-repeat center center; }
.main_news .news_list ul li a span {display:inline-flex; margin-right:16px; padding:9px 15px; font-size:16px; color:#fff; background-color:var(--color-primary); border-radius:40px; }

@media all and (max-width:767px){
    .main_news {padding-bottom:100px; }
    .main_news .news_list {margin-top:30px; }
    .main_news .news_list ul li a {display:flex; flex-direction:column; align-items:flex-start; gap:6px; padding:20px 5px; font-size:16px; }
    .main_news .news_list ul li a:before {right:5px; top:20px; width:30px; height:30px; background-size:100% 100%; }
    .main_news .news_list ul li a span {padding:6px 13px; font-size:14px; }
}

/* ====================================
    서브페이지
==================================== */
/* sub_visual */
.sub_visual {position:relative; width:100%; height:470px; }
.sub_visual .inner {height:100%; }
.sub_visual .visual_img {position:absolute; left:0; top:0; width:100%; height:100%; object-fit:cover; }
.sub_visual .txt_box {z-index:1; position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; height:100%; text-align:center;}
.sub_visual .txt_box h3 {font-size:40px; color:#fff; font-weight:600; }
.sub_visual .txt_box p {font-size:18px; color:#fff; font-weight:400; }

@media all and (max-width:767px){
    .sub_visual {height:250px; }
    .sub_visual .txt_box h3 {font-size:30px; }
    .sub_visual .txt_box p {font-size:15px; }
}

/* sub_link */
.sub_link ul {overflow:hidden; display:flex; border-radius:0 0 10px 10px; }
.sub_link ul li {width:100%; }
.sub_link ul li a {display:flex; align-items:center; justify-content:center; gap:8px; width:100%; height:60px; font-size:20px; color:#696682; background-color:#eaecf5; }
.sub_link ul li.active a {color:#fff; background-color:var(--color-primary);}
.sub_link ul li.active a:before {content:'●'; }

@media all and (max-width:767px){
    /* .sub_link .inner_840 {padding:0; } */
    .sub_link ul li a {gap:5px; height:50px; font-size:14px; }
}


/* contact */
.form_box {padding:60px 0 220px; }
.form_box dl dt {margin-bottom:14px; font-size:18px; }
.form_box dl dd {margin-bottom:40px; }
.form_box .input_box {display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }
.form_box .privacy_box {overflow-y:auto; width:100%; height:200px; padding:24px; border:1px solid var(--color-line); margin-bottom:14px; font-size:14px; color:#696682; font-weight:300; border-radius:8px; background-color:#FCFCFC; }
.form_box .agree_txt {font-size:16px; font-weight:500; letter-spacing:-0.44px; }
.form_box .btn_box {margin-top:60px; text-align:center; }
.form_box .btn_box button {width:204px; }

@media all and (max-width:767px){
    .form_box {padding:40px 0 120px; }
    .form_box dl dt {margin-bottom:10px; font-size:16px; }
    .form_box dl dd {margin-bottom:30px; }
    .form_box .input_box {grid-template-columns:repeat(1,1fr);}
    .form_box .privacy_box {padding:18px; }
}
