@charset "utf-8";
@import url("./font-awesome/css/font-awesome.min.css");
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@100;300;400;500;700;900&family=Poppins:wght@100;200;300;400;500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@100..900&display=swap');
@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/pretendard-dynamic-subset.css');

/*:root{--mainsize:1400px;--radius:13px;--primary:#7C0019;--k-font:'pretendard';--e-font:'Outfit'} */
:root {
    --mainsize: 1400px;
    --radius: 13px;
    --primary: #14394E;
    --k-font: 'pretendard';
    --e-font: 'Outfit'
}

* {
    -webkit-text-size-adjust: none
}

body {
    background: #fff;
    font-size: 0.81em;
    font-family: var(--k-font)
}

h1,
h2,
h3,
h4,
h5,
h6,
input,
button,
textarea,
select {
    font-family: var(--k-font)
}

#device_change {
    border: 1px solid #666;
    font-size: 3.5em;
    box-shadow: none
}

#sh_wrapper,
#sh_wrapper,
#sh_wrapper :before,
#sh_wrapper *:after {
    box-sizing: border-box
}

#sh_wrapper {
    overflow: hidden
}

#sh_hd {
    position: absolute;
    z-index: 999;
    width: 100%;
    height: 95px
}

/* ========================== HEADER */
#sh_hd_wrapper {
    position: absolute;
    width: 100%;
    padding: 0 65px
}

#sh_hd_wrapper:after {
    display: block;
    visibility: hidden;
    clear: both;
    content: ""
}

/* ========================== INDEX */
#sh_section {
    position: relative;
    margin-top: -5px;
    color: #777;
    font-size: 15px;
    line-height: 1.5;
    font-family: var(--k-font)
}

#sh_section * {
    word-break: keep-all
}

/* 일본어는 공백이 없어 keep-all 이 문장 전체를 한 단어로 묶어 가로 오버플로를 일으킴 → 정상 줄바꿈 사용 */
html[lang="ja"] #sh_section * {
    word-break: normal
}

/* 섹션 간 리듬 통일: 간격은 각 섹션의 상하 padding(80px)으로만 관리 */
#sh_section article {
    margin-top: 0
}

#sh_section article .inner {
    max-width: var(--mainsize);
    margin: 0 auto
}

#sh_section article .pl {
    white-space: pre-line
}

#sh_section article .atc_tit {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 15px;
    font-size: 16px
}

#sh_section article .atc_tit h2 {
    font-size: 40px;
    font-weight: 700;
    color: #111;
    text-transform: uppercase;
    font-family: var(--e-font)
}

#sh_section article .atc_tit h2 b {
    color: var(--primary);
    font-weight: 700
}

#sh_section article .lk_txt {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    font-weight: 700;
    color: #111
}

#sh_section article .lk_txt a {
    display: flex;
    align-items: center;
    gap: 10px
}

#sh_section article .lk_txt a:hover span {
    color: var(--primary);
    background: none
}

#sh_section article .lk_txt a p {
    font-size: 16px;
    color: var(--primary)
}

#sh_section article .lk_txt a span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border: 2px solid var(--primary);
    border-radius: 50px;
    font-size: 20px;
    color: #fff;
    background: var(--primary);
    transition: all .3s
}

/* ========================== CONTAINER */
#sh_container {
    position: relative;
    width: 100%;
    z-index: 0
}

#sh_container_wrapper {
    position: relative;
    width: 100%;
    zoom: 1
}

#sh_container_wrapper:after {
    display: block;
    visibility: hidden;
    clear: both;
    content: ""
}

/* ========================== CONTENT */
#sh_content {
    position: relative;
    z-index: 4;
    max-width: 1070px;
    min-height: 580px;
    padding: 0;
    margin: 70px auto 40px;
    font-size: 14px;
    color: #888;
    zoom: 1
}

#sh_content:after {
    display: block;
    visibility: hidden;
    clear: both;
    content: ""
}

/* ========================== FOOTER */
#sh_ft {
    padding: 80px 0 50px;
    font-size: 14px;
    line-height: 1.5;
    color: rgba(255, 255, 255, .3);
    background: #222
}

#sh_ft .inner {
    max-width: var(--mainsize);
    margin: 0 auto
}

#sh_ft .top_area {
    display: flex;
    justify-content: space-between;
    margin-bottom: 40px;
    padding-bottom: 30px;
    border-bottom: 1px solid rgba(255, 255, 255, .1)
}

#sh_ft .top_area ul {
    display: flex;
    gap: 30px
}

#sh_ft .top_area ul li:first-child a {
    font-weight: 700;
    color: #fff
}

#sh_ft .top_area ul a {
    cursor: pointer;
    color: rgba(255, 255, 255, .5)
}

#sh_ft .btm_area {
    display: flex;
    justify-content: space-between;
    margin-top: 50px
}

#sh_ft .btm_area a {
    margin: 0 5px;
    font-size: 12px;
    color: #fff;
    opacity: .5;
    font-family: var(--e-font);
    transition: all .3s
}

#sh_ft .btm_area a:hover {
    opacity: 1
}

/* 반응형 하단 버튼 공통 */
#fix_tel {
    opacity: 0;
    display: none;
    position: fixed;
    right: 15px;
    bottom: 50px;
    z-index: 101;
    width: 65px;
    height: 65px;
    margin-right: -10px;
    border-radius: 50%;
    font-size: 30px;
    text-align: center;
    line-height: 65px;
    color: #fff;
    background: var(--primary);
    box-shadow: 5px 5px 5px rgba(0, 0, 0, .2);
    -webkit-transition: all .2s;
    transition: all .2s
}

#fix_tel.active {
    opacity: 1;
    margin-right: 0
}

#sh_ft_btns {
    display: none;
    padding: 15px
}

#sh_ft_btns .btns {
    overflow: hidden
}

#sh_ft_btns .row2 a {
    width: 50%
}

#sh_ft_btns a {
    float: left;
    display: block;
    width: 100%;
    height: 55px;
    font-size: 16px;
    line-height: 55px;
    color: #fff;
    text-align: center;
    background: var(--primary);
    font-family: 'Noto Sans KR';
    font-weight: 700
}

#sh_ft_btns a.tel {
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0;
    font-family: 'Poppins'
}

#sh_ft_btns a i {
    padding-right: 5px;
    font-size: 18px
}

#sh_ft_btns a.kakao {
    font-weight: normal;
    color: #402325;
    background-color: #ffe500
}

/* 반응형 [s] */
@media (max-width:1440px) {
    #sh_hd_wrapper {
        padding: 0
    }

    #shGnb {
        padding: 0 30px
    }
}

@media (max-width:1024px) {
    /* 모바일/태블릿: 본문이 화면 끝에 붙지 않도록 좌우 여백 확보 */
    #sh_content {
        padding-left: 15px;
        padding-right: 15px
    }

    #shSnb {
        display: none
    }

    #topmenuM {
        display: block;
        background: var(--primary)
    }

    #navWrap {
        display: none
    }

    #sh_section article {
        margin-top: 0
    }

    #sh_section article .atc_tit {
        font-size: 15px
    }

    #sh_section article .atc_tit h2 {
        font-size: 35px
    }

    #sh_ft {
        padding: 50px 0;
        font-size: 13px
    }

    #sh_ft .inner {
        padding: 0 15px;
        text-align: center
    }

    #sh_ft .top_area {
        flex-direction: column;
        align-items: center;
        gap: 15px;
        margin-bottom: 20px;
        padding-bottom: 20px
    }
}

@media (max-width:768px) {
    #sh_section {
        font-size: 14px
    }

    #sh_section article {
        margin-top: 0
    }

    #sh_section article .atc_tit {
        font-size: 14px
    }

    #sh_section article .atc_tit h2 {
        font-size: 30px
    }
}

@media (max-width:480px) {
    /* 게시판(블로그·커뮤니티)은 이 서브배너가 유일한 상단 제목이므로 숨기지 않고 컴팩트하게 노출 */
    #sh_section article .atc_tit {
        justify-content: center
    }

    #sh_section article .atc_tit h2 {
        font-size: 25px
    }

    #sh_section article .lk_txt a p {
        font-size: 14px
    }

    #fix_tel {
        display: block
    }

    #sh_ft_btns {
        display: block
    }

    #sh_ft .top_area ul {
        gap: 15px
    }
}

@media (max-width:390px) {}

/* 반응형 [e] */
/* ===== BeyondCare 메인 섹션 높이 통일 =====
   상담 프로세스(atc01)가 1080 화면에 꽉 차는 높이를 기준으로, 모든 섹션을 한 화면(100vh) 높이로 통일.
   내용이 더 길면 자연스럽게 늘어나고(min-height), 짧으면 세로 중앙 정렬.
   atc04는 좌우 분할 + 퍼센트 높이 구조라 min-height 대신 확정 높이(height:max())를 사용 */
#sh_section article:not(#atc04){display:flex;flex-direction:column;justify-content:center;min-height:100vh}
/* (atc04의 height 는 include_04/style.css 에서 직접 지정 — 로드 순서상 여기서는 덮어써짐) */

/* ===== BeyondCare 푸터/플로팅 버튼 ===== */
/* 전화 플로팅 버튼을 골드 상담 버튼(#bcFloatCta, bottom:25px) 위로 분리 배치 */
#fix_tel{right:25px;bottom:100px;margin-right:0;width:58px;height:58px;font-size:24px;line-height:58px}
#fix_tel.active{margin-right:0}

/* 푸터 로고 — 2배 해상도 원본을 150px로 표시 */
#sh_ft .ft_logo img{width:150px;height:auto}

/* 푸터 3단 레이아웃: 로고+SNS(좌) / 주소·연락처·카피라이트(중앙) / 링크(우) */
#sh_ft .bc_ft_grid{display:flex;justify-content:space-between;align-items:flex-start;gap:40px}
#sh_ft .bc_ft_left{display:flex;flex-direction:column;align-items:flex-start;gap:18px}
#sh_ft .bc_ft_center{flex:1;text-align:center}
#sh_ft .bc_ft_copy{display:block;margin-top:25px;font-size:12px;color:rgba(255,255,255,.5);font-family:var(--e-font)}
#sh_ft .bc_ft_right ul{display:flex;flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;text-align:right}
#sh_ft .bc_ft_right ul li:first-child a{font-weight:700;color:#fff}
#sh_ft .bc_ft_right a{cursor:pointer;color:rgba(255,255,255,.5);transition:all .3s}
#sh_ft .bc_ft_right a:hover{color:#fff}

/* 푸터 관리자 유틸 링크 — 평소엔 거의 안 보이게, 호버 시에만 드러남 */
#sh_ft .bc_ft_admin{margin-top:16px;text-align:right}
#sh_ft .bc_ft_admin a{margin-left:12px;font-size:11px;color:rgba(255,255,255,.18);transition:color .3s}
#sh_ft .bc_ft_admin a:hover{color:rgba(255,255,255,.75)}

/* 푸터 연락처 */
#sh_ft .bc_ft_contact{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 25px;margin-top:18px;padding:0;list-style:none}
#sh_ft .bc_ft_contact a{display:inline-flex;align-items:center;gap:8px;color:rgba(255,255,255,.65);font-size:14px;transition:all .3s}
#sh_ft .bc_ft_contact a svg{width:16px;height:16px;stroke:#F2B33D}
#sh_ft .bc_ft_contact a:hover{color:#fff}

/* 푸터 SNS 아이콘 */
#sh_ft .bc_ft_sns{display:flex;gap:8px;margin:0;padding:0;list-style:none}
#sh_ft .bc_ft_sns a{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;margin:0;border-radius:50%;border:1px solid rgba(255,255,255,.25);opacity:1;transition:all .3s}
#sh_ft .bc_ft_sns a svg{width:16px;height:16px;stroke:rgba(255,255,255,.65);transition:all .3s}
#sh_ft .bc_ft_sns a:hover{border-color:#F2B33D;background:#F2B33D}
#sh_ft .bc_ft_sns a:hover svg{stroke:#14394E}

@media (max-width:768px){
#fix_tel{right:15px;bottom:85px;width:52px;height:52px;font-size:22px;line-height:52px}
#sh_ft .bc_ft_grid{flex-direction:column;align-items:center;gap:25px}
#sh_ft .bc_ft_left{align-items:center}
#sh_ft .bc_ft_right ul{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:15px;text-align:center}
#sh_ft .bc_ft_admin{text-align:center}
}

/* ── 접근성 공통 ───────────────────────────────────────────────
   파일 맨 끝에 두어 default.css 의 a:focus{text-decoration:none} 류를 덮어쓴다 */

/* 링크·버튼 키보드 포커스 표시.
   :focus-visible 이라 마우스 클릭 때는 안 나오고 Tab 이동 때만 나온다.
   골드 아웃라인이라 흰 배경과 네이비 배경 양쪽에서 보인다 */
a:focus-visible,
button:focus-visible,
[role="button"]:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible{outline:3px solid #F2B33D;outline-offset:2px;border-radius:4px}

/* 모션 최소화를 켠 사용자에게는 AOS 스크롤 등장 효과와 각종 전환을 끈다.
   AOS 는 opacity/transform 으로 요소를 숨겨두므로 반드시 되돌려야 내용이 보인다 */
@media (prefers-reduced-motion:reduce){
[data-aos]{opacity:1 !important;transform:none !important;transition:none !important}
*,*:before,*:after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}
}
