@charset 'utf-8';

/* ====================== */
/* UI Reset */
/* ====================== */
@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard-dynamic-subset.min.css");
@import url('https://cdn.jsdelivr.net/gh/leetaewook/gmarket-sans-dynamic-subset/GmarketSans.css');

.gmarket-sans {
    font-family: "Gmarket Sans", serif;
}
@font-face {
    font-family: 'Ridibatang';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_twelve@1.0/RIDIBatang.woff') format('woff');
    font-weight: normal;
    font-display: swap;
}
@font-face {
    font-family: 'KccEunyeong';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_one@1.0/KCC-eunyoung-Regular.woff') format('woff');
    font-weight: normal;
    font-display: swap;
}

* {margin:0;padding:0;font:inherit;font-family: 'Pretendard', Pretendard, sans-serif;letter-spacing:-0.2px;}
*, *::before, *::after {box-sizing:border-box;}
html {font-size: 62.5%;-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none;}
img, video, svg, picture {display:block;height:auto;max-width:100%;}
body {font-size:15px;color:#303030;line-height:1.4;overflow-x:hidden;}
a {text-decoration:none;cursor:pointer;color:#303030;}
button {border:none;cursor:pointer;background-color:transparent;}
sup {line-height:1;vertical-align:0px;}
ul, ol, li {list-style:none;}
input,textarea,button,select,a {-webkit-tap-highlight-color: transparent;}

input {-webkit-appearance: none;-moz-appearance: none;appearance: none;}
input::-ms-clear {display: none;}
input[type='number']::-webkit-inner-spin-button,
input[type='number']::-webkit-outer-spin-button {-webkit-appearance: none;-moz-appearance: none;appearance: none;}
input[type='number'] {-moz-appearance: textfield;}
select {-webkit-appearance: none;-moz-appearance: none;appearance: none;}
select::-ms-expand {display: none;}

:root {
    --primary-color: #303030;

    --font-size-title: 36px;
    --font-size-subtitle: 20px;
    --font-size-text: 15px;
    --font-size-small: 12px;

    --font-size-title-mo: 26px;
    --font-size-subtitle-mo: 16px;
    --font-size-text-mo: 14px;
    --font-size-small-mo: 11px;
}

.ta-center {text-align:center;}
.ta-right {text-align:right;}
.ta-left {text-align:left;}

.blind {position: absolute;width: 1px;height: 1px;clip: rect(0 0 0 0);overflow: hidden;}

.input-box {padding: 0 20px;width:100%;height:50px;border:0;box-shadow:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:5px;outline:0 none;transition:all 0.3s ease;background-color:#fff;border: 1px solid #F4F4F4;font-size:13px;}
.input-box::placeholder {color:#D9D9D9;} 
.input-box:focus {border-color:#3C3C3C;}

.common-wrap {width:100%;max-width: 360px;margin:0 auto;background-color:#fff;position:relative;zoom:1.4;overflow:hidden;}

.modal {position:fixed;display:block;visibility:hidden;left:0;top:0;right:0;bottom:0;width:100%;height:100%;background:transparent;z-index:-1;background:rgba(0, 0, 0, .5);opacity:0;}
.modal.active {visibility:visible;z-index:100;opacity:1;}
.modal .modal-box {width:86%;background-color:#fff;padding:20px;overflow:hidden;position:absolute;left:50%;top:50%;transform:translate(-50%, -50%);border-radius:14px;max-height:90vh;overflow: auto;max-width:362px;}
.modal .btn-modal-close {position:absolute;right:16px;top:18px;width:24px;}
.modal .modal-text {text-align:center;padding:20px 0 0;font-size:20px;font-weight:500;letter-spacing:-1px;}
.modal .modal-btn {margin-top:20px;}
.modal .modal-btn .btn {display:inline-block;width:100%;border-radius:100px;background: #000;height:50px;line-height:50px;color:#fff;font-weight:700;font-size:16px;}
.modal .modal-btn .btn:disabled {background:#CCC;color:#fff;}
.modal1 .modal-box {height:auto;width:87%;padding:28px 20px 20px;display:flex;flex-direction:column;justify-content:center;} /* 260912: 완료·알럿 모달 내용높이로 */
.modal1 .modal-text {font-weight:700;font-size:20px;line-height:1.5;padding:0;}
.modal1 .modal-btn {text-align:center;margin-top:20px;}
.modal1 .modal-btn .btn {width:60%;}
.modal2 .modal-box {height: 550px;width:314px;padding:56px 0 0;display:flex;flex-direction:column;justify-content:center;}
.modal2 .modal-box .title {color: #000;font-size:24px;font-weight: 700;text-align:left;word-break:keep-all;margin-bottom:25px;line-height:1.4;}
.modal2 .modal-box .title strong {color:var(--primary-color);}
.modal2 .modal-box .form .small {text-align: right;color:#ccc;font-size:11px;margin-top:5px;}
.modal2 .modal-box .form dl {display:flex;gap:7px;margin-bottom:20px;flex-direction:column;}
.modal2 .modal-box .form dl dt {font-size:13px;font-weight:600;}
.modal2 .modal-box .form dl dt sup {color:#f34e0a;}
.modal2 .modal-box .form .input-box {height:40px;padding:0 14px;}
.modal2 .modal-body {overflow: auto;padding:0 20px 40px;}
.modal2 .modal-btn {margin-top:0;}
.modal2 .modal-btn .btn {width:100%;border-radius:0;}
.modal2 .agree {display:inline-flex;align-items:center;margin-top: 20px;justify-content:center;width:100%;}
.modal2 .btn-terms-more {opacity: .5;font-size:12px;font-weight:500;margin-left:4px;}
.modal2 .check {position:relative;display:inline-flex;align-items:start;font-size:12px;font-weight:500;user-select:none;}
.modal2 .check input {position:absolute;left:0;top:0;opacity:0;width:0;height:0;cursor: pointer;}
.modal2 .check i {content:'';display:block;width:16px;height:16px;flex:none;border: 2px solid rgba(0, 0, 0, .2);background: #fff;position:relative;border-radius:0;margin-right:6px;}
.modal2 .check input:checked + i {background: #000;}
.modal2 .check input:checked + i:before {content:'';display:block;position: absolute;left:50%;top:50%;transform:translate(-50%, -50%);width:100%;height:100%;background:url(../images/checkbox.svg) no-repeat center;background-size:18px auto; z-index:2;}
.modal2 .check strong {font-weight:700;}
.modal3 .modal-box {height: 550px;width:87%;display:flex;flex-direction:column;justify-content:center;padding:7%;}
.modal3 .modal-box .title {color: #000;font-size: 26px;font-weight:700;text-align:center;word-break:keep-all;margin-bottom:40px;line-height: 1.4;}
/* .modal3 .modal-box .title strong {color:#006AFF;} */
.modal3 .modal-box .form dl {display:flex;gap:15px;align-items:start;margin-bottom:22px;}
.modal3 .modal-box .form dl dt {width:auto;font-size:16px;font-weight:700;flex:none;padding-top:5px;}
.modal3 .modal-box .form dl.full {flex-direction:column;align-items:stretch;gap:10px;}
.modal3 .modal-box .form dl.full dt {width:100%;}
.modal3 .modal-btn {margin-top:60px;}
.modal4 .modal-inner {margin:0 auto;max-width:88%;width:500px;display:flex;flex-direction:column;justify-content:center;height:100%;position:relative;}
.modal4 .modal-title {font-size:20px;font-weight:700;color:#fff;font-weight:700;}
.modal4 .modal-head {display:flex;align-items:center;justify-content:space-between;padding:0 4px;}
.modal4 .btn-modal-close {position:unset;float: right;}
.modal4 .modal-box {padding:0;max-width: unset;max-height:unset;position: unset;transform:none;width:100%;margin-top:20px;}
.modal4 .modal-box .terms {overflow: auto;height: 550px;padding: 30px;color: #303030;line-height:1.5;font-size:13px;}
.modal4 .modal-box .term-section > strong {display: block;font-weight:700;font-size:18px;margin-bottom:8px;}
.modal4 .modal-box .term-section p {color:#333;font-size:13px;}
.modal4 .modal-box .term-section p > strong {font-weight:700;}
.modal4 .modal-box .term-section:last-child {margin-bottom:0;}


/* 메인 */
.main-wrap {}
.main-wrap .header {padding-bottom:62px;background-color:#303030;text-align:center;}
.main-wrap .header-title {border-radius: 0 0 15px 15px;background: #FFF;text-align:center;font-size:16px;font-weight:700;padding:50px 0 14px;width:70%;margin:0 auto;}
.main-wrap .header-subtitle {padding:50px 0 8px;font-size:22px;font-weight:400;letter-spacing: -0.66px;color:#fff;}
.main-wrap .header-copy {text-align:center;text-align:center;font-size:24px;letter-spacing: -0.72px;color:#fff;font-weight:700;}
.main-wrap .contents {padding:40px 28px 48px;}
.main-wrap .contents-title {font-size:22px;font-weight:700;line-height:1.3;letter-spacing: -0.48px;margin-bottom:24px;}
.main-wrap .contents-title span {color:var(--primary-color);}
.main-wrap .contents-small {font-size:12px;line-height:1.3;letter-spacing: -0.3px;margin-bottom:4px;}
.main-wrap .tab-wrap {display: flex;align-items: center;gap:6px;}
.main-wrap .tab-wrap .tab-btn {width:100%;text-align:center;border-radius: 5px;background: #F4F4F4;font-weight:600;font-size:11px;padding:12px 0;}
.main-wrap .tab-wrap .tab-btn.active {background-color:#3C3C3C;color:#fff;}
.main-wrap .tab-box {display:none;}
.main-wrap .tab-box.active {display:block;}
.main-wrap .form-area {display:flex;flex-direction:column;gap:16px;}
.main-wrap .form-area label {font-size:10px;font-weight:700;margin-bottom:5px;display:block;}
.main-wrap .form-area label sup {color:#f34e0a;}
.main-wrap .form-area .btn-submit {border-radius: 5px;background: #3C3C3C;color:#fff;font-size:14px;font-weight:700;padding:14px 0;display:block;text-align:center;}
.main-wrap .hospital {border-radius: 5px;background: #F4F4F4;padding:13px 18px;border: 1px solid #F4F4F4;transition:all .3s ease;cursor: pointer;}
.main-wrap .hospital .hospital-title {display:flex;align-items: center;margin-bottom:8px;}
.main-wrap .hospital .name {font-size:14px;font-weight:700;}
.main-wrap .hospital .category {font-size:12px;}
.main-wrap .hospital .category:before {content:'|';margin:0 10px;font-size: 12px}
.main-wrap .hospital .hospital-address {font-size:12px;margin-bottom:1px;}
.main-wrap .hospital .hospital-website {font-size:12px;font-weight:700;}
.main-wrap .hospital .hospital-website.none {font-weight:400;color:#8E8E8E;}
.main-wrap .hospital.active {border-radius: 5px;border: 1px solid #999;background: #afafaf;}
.main-wrap .hospital.active .name {color:#fff;}
.main-wrap .hospital.active .category {color: #fff;}
.main-wrap .hospital.active .hospital-address {color:#fff;}
.main-wrap .hospital.active .hospital-website {color:#fff;}
.main-wrap .notice {text-align:center;font-size:10px;line-height:1.9;margin-top:30px;}
.main-wrap .notice span {text-decoration:underline;text-underline-position: under;font-weight:700;}

.loading-wrap {background: #eee;}
.loading-wrap .contents {padding: 105px 28px;}
.loading-wrap .contents-title {text-align:center;font-size:26px;font-weight:700;}
.loading-wrap .contents-website {text-align:center;font-size:15px;font-weight:600;margin-top:14px;}
.loading-wrap .top {margin-bottom:40px;}
.loading-wrap .progress {position:relative;width:100%;border-radius: 5px;background: #FFF;overflow:hidden;height:5px;box-shadow:1px 1px 2px rgba(0,0,0,.2);margin-bottom:52px;}
.loading-wrap .progress-bar {position:absolute;left:0;top:0;height:5px;background-color:#FFF600;border-radius: 5px;}
.loading-wrap .checklist {display:flex;flex-direction:column;gap:14px;}
.loading-wrap .checklist .item {border-radius: 5px;background: #575757;box-shadow: 1px 1px 1px 0 rgba(0, 0, 0, 0.25);height:60px;display:flex;align-items:center;gap:14px;padding:0 20px;}
.loading-wrap .checklist .item p {flex:auto;color:#fff;font-size:18px;font-weight:600;}
.loading-wrap .checklist .item span {flex:none;width:22px;height:22px;background-color:#ddd;background:url(../images/loading_icon.svg) no-repeat center/contain;animation: rotate 10s infinite linear;}
.loading-wrap .checklist .item.active,
.loading-wrap .checklist .item.done {background: #fff;}
.loading-wrap .checklist .item.active p,
.loading-wrap .checklist .item.done p {color:#232323;}
.loading-wrap .checklist .item.active span,
.loading-wrap .checklist .item.done span {background-image:url(../images/checklist_icon.svg);animation: none;}
.loading-wrap .form-area {display:flex;flex-direction:column;gap:16px;}
.loading-wrap .btn {height:60px;font-size:18px;font-weight:600;display:flex;align-items:center;padding:0 28px;border-radius: 5px;background: #FFF;box-shadow: 1px 1px 1px 0 rgba(0, 0, 0, 0.25);display:block;width:100%;text-align:left;}
.loading-wrap .area {display:flex;gap:10px;}
.loading-wrap .select-box {border-radius: 5px;background: #FFF;box-shadow: 1px 1px 1px 0 rgba(0, 0, 0, 0.25);display:flex;align-items:center;font-size:18px;font-weight:600;height:60px;gap:10px;}
.loading-wrap .select-box i {display:inline-block;width:15px;height:15px;background:url(../images/select_arrow.svg) no-repeat center/contain;margin-top:2px;}
.loading-wrap .select-box select {width:100%;flex:1;border: 0;outline:none;text-align:center;}
.loading-wrap .submit-btn {border-radius: 5px;background: #FFF;box-shadow: 1px 1px 1px 0 rgba(0, 0, 0, 0.25);display:flex;align-items:center;font-size:18px;font-weight:600;height:60px;justify-content:center;margin-top:14px;}
.loading-wrap .area .select-box {padding:0 18px;width:100%;}
.loading-wrap .category .select-box {padding:0 28px;}
.disclaimer {text-align:center;padding:42px 0;color:#fff;font-size:13px;background-color:#232323;line-height:1.9;}
.disclaimer span {text-decoration:underline;}
.disclaimer strong {font-weight:700;}

.landing-wrap {background: #fff;color:#000;}
.landing-wrap .mo {display:none;}
.landing-wrap .inner {padding:0 18px;}
.landing-wrap .subtitle {font-size:10px;font-weight:500;margin-bottom:4px;}
.landing-wrap .title {font-size:24px;font-weight:500;line-height:1.5;}
.landing-wrap .title span {font-weight:700;}
.landing-wrap .sec1 {background:#222;padding:100px 0;color:#fff;}
.landing-wrap .sec1 .head {margin-bottom:26px;}
.landing-wrap .sec1 .gray-area {margin-bottom:50px;}
.landing-wrap .sec1-text1 {color: #9F9F9F;font-size:17px;font-weight:700;margin-bottom:3px;}
.landing-wrap .sec1-text2 {color: #808080;font-size:12px;font-weight:300;}
.landing-wrap .case-list {display: flex;flex-direction:column;gap:15px;margin-bottom:50px;;}
.landing-wrap .case-item {border-radius: 10px;border: 1px solid #F2F2F2;background: #FFF;color:#636363;font-size:13px;font-weight:500;padding:10px 12px;line-height:1.5;}
.landing-wrap .case-item span {color:#000;font-weight:600;}
.landing-wrap .sec1-text3 {font-size:17px;line-height:1.6;}
.landing-wrap .sec1-text3 strong {font-weight:700;}
.landing-wrap .sec2 {background:#F8F8F8;padding:120px 0 110px;}
.landing-wrap .sec2 .head {margin-bottom:60px;padding:0 14px;}
.landing-wrap .sec2 .box {margin-bottom:60px;}
.landing-wrap .sec2 .box:last-child {margin-bottom:0;}
.landing-wrap .sec2 .gray-txt {color:#9F9F9F;font-size:13px;font-weight:500;padding:0 14px 12px;}
.landing-wrap .sec2 .lv-box {border-radius: 10px;border: 0.5px solid rgba(0, 0, 0, 0.09);background: #FFF;margin-bottom:10px;display:flex;align-items:center;padding:12px 0;}
.landing-wrap .sec2 .lv-label {font-size:14px;font-weight:500;padding:0 25px;border-right:1px solid #C7C7C7;}
.landing-wrap .sec2 .lv-area {display:flex;align-items:center;justify-content:space-evenly;flex:1;}
.landing-wrap .sec2 .lv-item {font-size:14px;font-weight:700;color:#F3F3F3;}
.landing-wrap .sec2 .lv-item.active {color:#ED0000;}
.landing-wrap .sec2 .result-list {border-radius: 10px;border: 0.5px solid rgba(0, 0, 0, 0.09);background: #FFF;padding:18px;font-size:13px;line-height:1.6;color:#000;}
.landing-wrap .sec2 .result-list .dot {display:inline-block;width:6px;height:6px;border-radius:100px;background-color:#696969;display:inline-block;margin:0 5px;vertical-align:1px;}
.landing-wrap .sec2 .result-list li {margin-bottom:2px;}
.landing-wrap .sec2 .result-list li:last-child {margin-bottom:0;}
.landing-wrap .sec2 .box1 .result-list {color:#333;}
.landing-wrap .sec2 .result-list .last {margin-left:16px;color:#000;}
.landing-wrap .sec2 .solution {min-height:160px;border-radius: 10px;border: 0.5px solid rgba(0, 0, 0, 0.09);background: #232323;padding:24px 26px;color:#fff;display:flex;flex-direction:column;gap:14px;margin-bottom:20px;align-items:stretch;justify-content:center;}
.landing-wrap .sec2 .solution:last-child {margin-bottom:0;}
.landing-wrap .sec2 .solution-txt1 {font-size:17px;font-weight:500;line-height: 1.5;}
.landing-wrap .sec2 .solution-txt1 strong {color:#FFF600;}
.landing-wrap .sec2 .solution-txt2 {font-size:13px;font-weight:600;line-height:1.5;}
.landing-wrap .sec2 .solution-txt2 span {text-decoration:underline;text-underline-offset: 3px;}
.landing-wrap .sec3 {background:#fff;padding:80px 0;}
.landing-wrap .sec3 .head {border-radius: 10px;border: 0.5px solid rgba(0, 0, 0, 0.11);background: #FFF;padding:24px 27px;margin-bottom:80px;}
.landing-wrap .sec3 .subtitle {font-size:12px;margin-bottom:12px;}
.landing-wrap .sec3 .sec3-text1 {font-size:13px;margin-bottom:3px;}
.landing-wrap .sec3 .sec3-text2 {font-size:13px;line-height:1.6;}
.landing-wrap .sec3 .form-head {padding:70px 25px 0;}
.landing-wrap .sec3 .form-inner {padding:0 25px;}
.landing-wrap .sec3 .form-box {border-radius: 20px;background: #222;color:#fff;}
.landing-wrap .sec3 .form-title {font-size: 21px;font-weight:500;margin-bottom:20px;}
.landing-wrap .sec3 .form-title span {color:#FFF600;}
.landing-wrap .sec3 .form-noti {color:#808080;font-size:10px;margin-bottom:60px;}
.landing-wrap .sec3 .form .small {text-align: right;color:#ccc;font-size:11px;margin-top:5px;}
.landing-wrap .sec3 .form dl {display:flex;gap:7px;margin-bottom:30px;flex-direction:column;}
.landing-wrap .sec3 .form dl dt {font-size:13px;font-weight:600;}
.landing-wrap .sec3 .form dl dt sup {color:#aaa;}
.landing-wrap .sec3 .form .input-box {height:40px;padding:0 14px;}
.landing-wrap .sec3 .agree {display:inline-flex;align-items:center;justify-content:center;width:100%;}
.landing-wrap .sec3 .btn-terms-more {font-size:12px;font-weight:300;margin-left:5px;color:#fff;text-decoration:underline;text-underline-offset: 3px;}
.landing-wrap .sec3 .check {position:relative;display:inline-flex;align-items:start;font-size:12px;font-weight:500;user-select:none;}
.landing-wrap .sec3 .check input {position:absolute;left:0;top:0;opacity:0;width:0;height:0;cursor: pointer;}
.landing-wrap .sec3 .check i {content:'';display:block;width:16px;height:16px;flex:none;border: 2px solid rgba(0, 0, 0, .2);background: #fff;position:relative;border-radius:0;margin-right:6px;}
.landing-wrap .sec3 .check input:checked + i {background:#7C7C7C;border-color:#7C7C7C;}
.landing-wrap .sec3 .check input:checked + i:before {content:'';display:block;position: absolute;left:50%;top:50%;transform:translate(-50%, -50%);width:100%;height:100%;background:url(../images/checkbox.svg) no-repeat center;background-size:16px auto; z-index:2;}
.landing-wrap .sec3 .check strong {font-weight:700;}
.landing-wrap .sec3 .tab-wrap {display: flex;align-items: center;gap:7px 5px;flex-wrap:wrap;}
.landing-wrap .sec3 .tab-btn {flex: 1 1 40%;}
.landing-wrap .sec3 .tab-wrap.ty2 .tab-btn {flex:1 1 30%;}
.landing-wrap .sec3 .tab-btn input {position: absolute;opacity: 0;}
.landing-wrap .sec3 .tab-btn input:checked+.label-text {border-color:#C9C9C9;color: #fff;background: #C9C9C9;}
.landing-wrap .sec3 .tab-btn .label-text {display: block;border-radius: 5px;text-align: center;border: none;font-size: 13px;cursor: pointer;background-color: #fff;border: 1px solid #ccc;color: #8E8E8E;font-weight:500;transition: all .3s ease;padding:0;height:40px;display:flex;align-items:center;justify-content:center;line-height:1.1;}
.landing-wrap .sec3 .tab-btn .label-text em {font-size:10px;}
.landing-wrap .sec3 .submit-btn {width:100%;margin-top:30px;background-color:#FFF600;color:#000;font-size:16px;font-weight:600;height:52px;line-height:48px;border-radius:0 0 15px 15px;border:1px solid rgb(117, 113, 0, .4);}
.landing-wrap .sec3 .submit-btn:disabled {background-color:#eee;color:#7C7C7C;}

@keyframes rotate {
    0% {
        transform: rotate(0);
    }

    100% {
        transform: rotate(360deg);
    }
}


@media screen and (max-width: 520px) {
    .common-wrap {zoom:1.2;max-width:unset;width:100%;}
    .landing-wrap .btn-area {max-width:unset;}
}

@media screen and (max-width: 480px) {
    .common-wrap {zoom:initial;}
    .landing-wrap .pc {display:none;}
    .landing-wrap .mo {display:block;}
}

@media (hover: hover) {}
/* ==========================================================================
   기존 라이브본에서 이어받은 보정 (2026-09-11 신규 퍼블리싱본에 재적용)
   퍼블리싱 시안에는 없지만 실기기에서 실제로 문제가 났던 항목들이다.
   ========================================================================== */

/* ----- 하단 사업자정보 (landing) ----- */
.landing-wrap .site-footer {background-color:#111;color:#fff;padding:34px 24px;text-align:center;}
.landing-wrap .site-footer .footer-corp {font-size:15px;font-weight:600;opacity:.6;margin-bottom:10px;}
.landing-wrap .site-footer .footer-info {font-size:12.5px;font-weight:300;opacity:.6;line-height:1.9;}
/* 항목 단위 줄바꿈 — 항목 안에서 끊기지 않게 하고, 폭이 되면 한 줄에 여러 항목을 둔다.
   (iOS 자동 링크로 숫자·이메일이 분리 단위가 되면서 라벨과 값이 어긋나 보이던 문제 대응) */
.landing-wrap .site-footer .footer-info .frow {display:flex;flex-wrap:wrap;justify-content:center;align-items:center;}
.landing-wrap .site-footer .footer-info span {display:inline-block;white-space:nowrap;}
.landing-wrap .site-footer .footer-info .frow span:not(:last-child)::after {content:'|';margin:0 8px;opacity:.45;}

/* ----- 모바일 키보드 대응 · 약관 모달 예외 -----
   iOS 에서 입력창 포커스로 키보드가 뜨면 visual viewport 가 줄어드는데,
   modal-box 가 absolute+transform(-50%) 중앙정렬이라 기준이 틀어져 화면이 밀리고 잘렸다.
   → 컨테이너를 flex 중앙정렬로 바꿔 뷰포트 변화에 안전하게 한다.
   약관 모달(modal4)은 자체 레이아웃(전체폭·inner)이라 높이 보정에서 제외한다. */
.modal {display:flex;align-items:center;justify-content:center;padding:16px;}
.modal .modal-box {position:relative;left:auto;top:auto;transform:none;margin:0;}
.modal4 {padding:0;}
.modal4 .modal-head {background:rgba(20,20,20,.88);border-radius:10px 10px 0 0;padding:12px 14px;backdrop-filter:blur(2px);}
.modal4 .modal-box {margin-top:0;max-height:unset !important;}
.modal4 .modal-inner {max-height:100%;}

/* ----- 모달 높이: zoom 배율 보정 -----
   .common-wrap 에 zoom(PC 1.4 / ~520px 1.2 / ~480px 1)이 걸려 있어 vh 값도 그 배율만큼 커진다.
   보정하지 않으면 PC 에서 모달이 화면 밖으로 넘쳐 하단 버튼이 잘린다.
   각 구간에서 실효 높이가 화면의 약 86~90% 가 되도록 맞춘다. */
.modal:not(.modal4) .modal-box {max-height:64vh;}   /* ×1.4 ≈ 90vh */
.modal2 .modal-box {max-height:61vh;}               /* ×1.4 ≈ 86vh */
@media screen and (max-width:520px) {
  .modal:not(.modal4) .modal-box {max-height:75vh;} /* ×1.2 = 90vh */
  .modal2 .modal-box {max-height:71vh;}
}
@media screen and (max-width:480px) {
  .modal:not(.modal4) .modal-box {max-height:90vh;} /* zoom 없음 */
  .modal2 .modal-box {max-height:86vh;}
}

/* ----- iOS 입력창 자동 확대 방지 -----
   iOS Safari 는 글자 크기 16px 미만인 input 에 포커스하면 페이지를 강제로 확대한다.
   확대되면 뷰포트가 좁아져 모달이 좌우로 밀리고 잘려 보인다(실기기 제보).
   → 모바일에서만 입력창 글자를 16px 로 올려 자동 확대를 막는다. PC 표시는 그대로. */
@media screen and (max-width:520px) {
  .input-box,
  .modal .modal-box .form .input-box,
  .modal2 .modal-box .form .input-box,
  input[type="text"], input[type="tel"], select, textarea {
    font-size:16px;
  }
}
html {overflow-x:hidden;}

/* ----- 알림·완료 모달은 항상 최상단 -----
   modalAlert/modal1 이 modal2 보다 DOM 앞에 있어 같은 z-index 로는 상담폼 뒤에 깔린다.
   → 검증 경고가 화면에 안 보이다가, 폼이 닫힐 때 뒤늦게 드러나는 문제가 있었다. */
#modalAlert.active, #modalAlert1.active, #modal1.active {z-index:300;}
#modal4.active {z-index:200;}

/* ----- 검색·선택 단계 오류 문구 ----- */
.err-msg {color:#e5484d;font-size:13px;margin-top:8px;text-align:center;min-height:1em;}
.hospital-website.pend {opacity:.55;}
