@charset "utf-8";

/* modal */
/* .ws-modal-open,
.ws-modal-open body { overflow: hidden; } */

.ws-modal-wrap { display: flex; flex-direction: column; align-items: center; justify-content: center; position: fixed; top: 0; left: 0; z-index: 1000; width: 100%; height: 100%; overflow: hidden; background: rgba(0,0,0,.7); opacity: 0; transition: opacity 0.25s ease;}
.ws-modal-wrap.ws-modal-visible { opacity: 1; }
.ws-modal-wrap.ws-modal-leave { opacity: 0; }

.ws-modal-outer {position:relative; flex:0 0 auto; width:100%; max-height:100%; padding:56px; overflow:auto; -ms-overflow-style:none;/* IE and Edge */ scrollbar-width:none;/* Firefox */}
.ws-modal-outer::webkit-scrollbar {display:none;}

.ws-modal-inner { position: relative; width: 100%; max-width:640px; margin: 0 auto; opacity: 0; transform: scale(0.85); transition: opacity 0.25s ease 0.05s, transform 0.25s ease 0.05s; background: #fff; padding: 48px; }
.ws-modal-inner.fc { max-width: 960px; }
.ws-modal-wrap.ws-modal-visible .ws-modal-inner { opacity: 1; transform: scale(1); }
.ws-modal-wrap.ws-modal-leave .ws-modal-inner { opacity: 0; transform: scale(0.85); transition-delay: 0s; }

/* 공통 */
.ws-modal-close { display: inline-block; width: 36px; height: 36px; background: url(../images/sub/modal-close.jpg) center no-repeat; background-size: contain; border: none; position: absolute; right: 0; top: -46px; z-index: 9; }
.ws-modal-inner .title { font-size: 36px; font-weight: 600; line-height: 1.38em; color: #2c2c2c; margin-bottom: 24px; position: relative; }

/* Facility */
.ws-modal-inner .group { margin-top: 48px; }
.ws-modal-inner .group h3 { font-size: var(--font-size20); font-weight: 600; line-height: 1.7em; color: #2c2c2c; margin-bottom: 16px; padding-left: 10px; position: relative; }
.ws-modal-inner .group h3::before { content:""; position: absolute; left: 0; width: 2px; height: 20px; background: #8c9bb2; top: 7px; }
.ws-modal-inner .group ul { border-top: 2px solid #2c2c2c;}
.ws-modal-inner .group ul li { display: flex; border-bottom: 1px solid #eee; padding: 12px 0; line-height: 1.5em; }
.ws-modal-inner .group ul li .tt { width: 158px; font-weight: 600; color: #2c2c2c; padding-left: 18px; }
.ws-modal-inner .group ul li .txt { flex: 1 1 auto; min-width: 0; width: 1%; }
.ws-modal-inner .group ul li .txt p { margin-bottom: 8px; }
.ws-modal-inner .group ul li .txt p:last-child { margin-bottom: 0; }
.ws-modal-inner .group ul.wt li .tt { width: 196px; }

/* Business */
.ws-modal-inner .title.fx { margin: 20px 0 48px; display: flex; align-items: center; gap: 16px; }
.ws-modal-inner .title.fx .ico { display: inline-flex; align-items: center;}
.ws-modal-inner .title.fx strong { font-weight: 600; flex: 1 1 auto; min-width: 0; width: 1%; display: inline-block; }
.bs-pop .num { font-size: var(--font-size18); line-height: 1.77em; font-weight: 500; color: #878787; }
.bs-pop .gray { padding: 24px; background: #fafafa; }
.bs-pop .gray p { margin-bottom: 16px; font-size: var(--font-size20); line-height: 1.7em; position: relative; padding-left: 12px; }
.bs-pop .gray p::before { content: ""; position: absolute; left: 0; width: 4px; height: 4px; background: var(--color-primary); border-radius: 50%; top: 14px; }
.bs-pop .gray p:last-child { margin-bottom: 0; }

/* Product Detail */
.ws-modal-inner .thumb { position: relative; padding-bottom: 66%; display: block; overflow: hidden;}
.ws-modal-inner .thumb img { position: absolute; left: 0; top: 0; width: 100%; height: 100%; object-fit: cover;}

/* 반응형 */
@media (max-width: 960px) {
    .ws-modal-outer { padding: 15px; }
    .ws-modal-inner { border-radius: 5px; padding: 25px 15px; padding-top: 60px; }
    .ws-modal-close { width: 30px; height: 30px; right: 15px; top: 15px; }
    .ws-modal-inner .title { font-size: 26px; margin-bottom: 15px; }
    .ws-modal-inner .group h3 { margin-bottom: 10px; }
    .ws-modal-inner .group h3::before { height: 14px; top: 6px; }
    .ws-modal-inner .group ul li .tt { padding-left: 0; width: 100px; }
    .ws-modal-inner .group ul.wt li .tt { padding-left: 0; width: 120px; }
}
@media (max-width: 640px) {
    .ws-modal-inner .title { font-size: 20px; }

    /* Business */
    .ws-modal-inner .title.fx { margin: 10px 0 20px; gap: 7px; }
    .ws-modal-inner .title.fx .ico img { height: 24px; }
    .bs-pop .gray { padding: 12px; }
    .bs-pop .gray p { margin-bottom: 8px; padding-left: 10px; }
    .bs-pop .gray p::before { width: 3px; height: 3px; top: 10px; }
}