@charset "UTF-8";
@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable.min.css");

#debug { position: fixed; left: 0; bottom: 10%; background-color: rgba(0,0,0,0.7); z-index: 100000; color: #fff; padding: 0.5em 1em; margin: 1em; }
/* =============================================================
    초기화
============================================================== */
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; font-size: 1em; font-family: inherit; outline: none; }
html { overflow-y: scroll; overflow-x: hidden; }
html.scroll-none { overflow-y: hidden; }
@supports (scrollbar-gutter: stable) {
    html { scrollbar-gutter: stable; }
}
header, footer, section, article, aside, nav, main, hr, figure, figcaption, details, summary { display: block; }
label, input, button, select, img { vertical-align: middle; }
h1, h2, h3, h4, h5, h6, th, dt { font-weight: inherit; }
strong, b { font-weight: 600; }
small { font-size: 0.875em; }
a { text-decoration: none; color: inherit; }
ul, ol { list-style: none; }
a, button { white-space: nowrap; }
table { border-collapse: collapse; width: 100%; }
hr { border: none; }
fieldset { border: none; }
legend { clip-path: inset(50%); white-space: nowrap; border-width: 0; width: 1px; height: 1px; margin: -1px; padding: 0; position: absolute; overflow: hidden; }
label { cursor: pointer; }
input, select, textarea, button { font-family: inherit; font-size: 1em; color: inherit; border: none; background: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; vertical-align: middle; }
input, select, textarea, button, a { transition: 0.25s ease-out; }
textarea { width: 100%; height: auto !important; min-height: 8em; resize: vertical; line-height: 1.6; }
[type=button], [type=submit] { cursor: pointer; }
::-moz-placeholder { opacity: 0.6; }
::placeholder { opacity: 0.6; }

/* ==============================================================
    필수 기본
============================================================== */
/* 접근성/숨김(스크린리더용) */
#hd_login_msg, .sr_only, .sound_only, .msg_sound_only { clip-path: inset(50%); white-space: nowrap; border-width: 0; width: 1px; height: 1px; margin: -1px; padding: 0; position: absolute; overflow: hidden; }

/* ie6 이미지 너비 지정 */
.img_fix { width: 100%; height: auto; }

/* cheditor 이슈 */
.cheditor-popup-window *, .cheditor-popup-window *::before, .cheditor-popup-window *::after { box-sizing: content-box; }

/* 자바스크립트 alert 대안 */
#validation_check { max-width: 480px; width: 100%; margin: 0 auto; height: calc(var(--vh) * 100); display: flex; justify-content: center; align-items: center; flex-direction: column; gap: 1.5em; }
#validation_check h1 { font-size: 1.375em; font-weight: 600; }
#validation_check p { width: 100%; font-size: 1em; padding: 1em 1.25em; border: 1px solid #dee2e6; }

/* 본문 바로가기 */
#skip_to_container a { position: fixed; left: 0; top: 0; z-index: 3000; width: 100%; font-size: 1.25em; padding: 0.75em 0; color: #ffffff; background-color: rgba(0, 0, 0, 0.4); text-align: center; outline: none; -webkit-backdrop-filter: blur(0.1em); backdrop-filter: blur(0.1em); transform: translateY(-100%); transition: 0.45s ease; }
#skip_to_container a:focus { transform: translateY(0); }
#skip_to_container a:hover { background-color: rgba(0, 0, 0, 0.7); }

/* ==============================================================
    필수 스타일
============================================================== */
/* 폼 스타일 */
.frm_style, #captcha_img, #captcha_key, #captcha button, input, select, textarea { width: 100%; border: 1px solid #e9ecef; border-radius: 0.375rem; padding: 0.625em; }
textarea { padding: 0.425em 0.625em; }
.frm_style:focus, #captcha_img:focus, #captcha_key:focus, #captcha button:focus, input:focus, select:focus, textarea:focus { border-color: rgb(13, 110, 253); box-shadow: 0 0 0 0.2em rgba(13, 110, 253, 0.12); }
[type=file] { cursor: pointer; }
[type=checkbox], [type=radio] { width: 1.25em; height: 1.25em; border: 1px solid #dee2e6; background-color: #ffffff; cursor: pointer; vertical-align: middle; transition: 0.25s ease-out; padding: 0; }
[type=checkbox]:hover, [type=radio]:hover { border-color: #0b4aab; }
[type=checkbox]+label, [type=radio]+label { vertical-align: middle; margin-left: 0.25em; }
[type=checkbox] { border-radius: 0.25rem; background: no-repeat center; }
[type=checkbox]:checked { background-color: #0b4aab; background-image: url(../img/chk.png); border-color: #0b4aab; }
[type=radio] { border-radius: 9999px; }
[type=radio]:checked { border: 0.35em solid #0b4aab; }
.frm_info { font-size: 0.8125em; color: #6b7280; display: block; width: 100%; padding: 0.25em 0; }

.frm_select { position: relative; width: 100%;}
.frm_select::before { content: "\EA4E"; position: absolute; font-size: calc(var(--em) * 1.25); font-family: "remixicon"; font-style: normal; transition: color 0.25s; right: 0.625em; top: 50%; transform: translateY(-50%); }

/* 버튼 */
.btn, .pg_current, .pg_page, .btn_b03, .btn_b04, .btn_b02, .btn_b01, .btn_admin, .btn_frmline, .btn_close, .btn_cancel, .btn_submit, .btn02, .btn01 { display: inline-flex; justify-content: center; align-items: center; vertical-align: middle; gap: 0.25em; border-radius: 0.375rem; }
.btn01 { border: 1px solid rgb(181, 184.5, 191.5); background: transparent; color: #6b7280; position: relative; overflow: hidden; }
.btn01:hover { background-color: rgb(173.6, 177.45, 185.15); }
.btn01:hover { color: #ffffff; border-color: rgb(173.6, 177.45, 185.15); }
.btn02 { border: 1px solid transparent; background: #6b7280; color: #ffffff; position: relative; overflow: hidden; }
.btn02:hover { background-color: rgb(79.1344680851, 84.3114893617, 94.6655319149); }
.btn02:hover { color: #ffffff; border-color: rgb(79.1344680851, 84.3114893617, 94.6655319149); }
.btn_submit { border: 1px solid transparent; background: #0b4aab; color: #ffffff; position: relative; overflow: hidden; }
.btn_submit:hover { background-color: rgb(7.3010989011, 49.1164835165, 113.4989010989); }
.btn_submit:hover { color: #ffffff; border-color: rgb(7.3010989011, 49.1164835165, 113.4989010989); }
.btn_cancel { border: 1px solid transparent; background: rgb(138.5472340426, 144.9157446809, 157.6527659574); color: #ffffff; position: relative; overflow: hidden; }
.btn_cancel:hover { background-color: #6b7280; }
.btn_cancel:hover { color: #ffffff; border-color: #6b7280; }
.btn_close { border: 1px solid transparent; background: rgb(240.9307574468, 241.3449191489, 242.1732425532); color: rgb(79.1344680851, 84.3114893617, 94.6655319149); position: relative; overflow: hidden; }
.btn_close:hover { background-color: rgb(230.3788255319, 231.1036085106, 232.5531744681); }
.btn_close:hover { color: rgb(51.2689361702, 54.6229787234, 61.3310638298); border-color: rgb(230.3788255319, 231.1036085106, 232.5531744681); }
.btn_frmline { border: 1px solid transparent; background: rgb(79.1344680851, 84.3114893617, 94.6655319149); color: #ffffff; position: relative; overflow: hidden; padding: 0.425em 1em; }
.btn_frmline:hover { background-color: rgb(51.2689361702, 54.6229787234, 61.3310638298); }
.btn_frmline:hover { color: #ffffff; border-color: rgb(51.2689361702, 54.6229787234, 61.3310638298); }
.btn_admin { gap: 0; aspect-ratio: 1/1; width: 2em; color: rgb(188.842364532, 16.157635468, 16.157635468); }
.btn_admin:hover { color: #ef4444; }
.btn_b01 { gap: 0; aspect-ratio: 1/1; width: 2em; color: #aaa; }
.btn_b01:hover { color: #191919; background-color: #fafafa; }
.btn_b02 { border: 1px solid transparent; background: rgb(7.3010989011, 49.1164835165, 113.4989010989); color: #ffffff; position: relative; overflow: hidden; }
.btn_b02:hover { background-color: rgb(3.6021978022, 24.232967033, 55.9978021978); }
.btn_b02:hover { color: #ffffff; border-color: rgb(3.6021978022, 24.232967033, 55.9978021978); }
.btn_b03, .btn_b04 { border: 1px solid rgb(196.7736170213, 199.9578723404, 206.3263829787); background: transparent; color: rgb(138.5472340426, 144.9157446809, 157.6527659574); position: relative; overflow: hidden; }
.btn_b03:hover, .btn_b04:hover { background-color: rgb(190.9509787234, 194.4536595745, 201.4590212766); }
.btn_b03:hover, .btn_b04:hover { color: #ffffff; border-color: rgb(190.9509787234, 194.4536595745, 201.4590212766); }

/* 버튼 그룹 */
.btn_confirm { display: flex; justify-content: center; align-items: center; gap: 0.5em; width: 30%; margin: 2em auto 0; }
.btn_confirm > * { flex: 1 1 40%; font-size: 1.125em; height: 2.875em; max-width: 220px; }

/* 기본 테이블 */
.tbl_wrap caption { text-align: left; font-weight: 600; }
.tbl_wrap table { border-top: 2px solid #212529; font-size: 0.9375em; }
.tbl_wrap tr { border-bottom: 1px solid #e9ecef; }
.tbl_head01 { text-align: center; }
.tbl_head01 caption { clip-path: inset(50%); white-space: nowrap; border-width: 0; width: 1px; height: 1px; margin: -1px; padding: 0; position: absolute; overflow: hidden; }
.tbl_head01 th { padding: 1em 0; }
.tbl_head01 td { padding: 0.625em 0.25em; }
.tbl_head02 { text-align: center; }
.tbl_head02 caption { clip-path: inset(50%); white-space: nowrap; border-width: 0; width: 1px; height: 1px; margin: -1px; padding: 0; position: absolute; overflow: hidden; }
.tbl_head02 th, .tbl_head02 td { padding: 0.5em 0.25em; }
.tbl_head03 { text-align: center; }
.tbl_head03 caption { clip-path: inset(50%); white-space: nowrap; border-width: 0; width: 1px; height: 1px; margin: -1px; padding: 0; position: absolute; overflow: hidden; }
.tbl_head03 th, .tbl_head03 td { padding: 0.75em 0.25em; }

/* 폼 테이블 */
.tbl_frm01 { text-align: left; }
.tbl_frm01 tr { border: 0; }
.tbl_frm01 th { padding: 0.75em 1em 0.3125em; }
.tbl_frm01 td { padding: 0.3125em 1em 0.75em; }

/* 폼 리스트 */
.form_01 h2 { font-size: 1.125em; }
.form_01 ul { display: flex; justify-content: center; align-items: center; gap: 1em; flex-wrap: wrap; }
.form_01 li { width: 100%; display: flex; justify-content: flex-start; align-items: flex-start; gap: 0.5em; flex-wrap: wrap; }

/* 툴팁 */
:has(> .tooltip) { position: relative; display: flex; justify-content: flex-start; align-items: flex-start; gap: 0.5em; }
.tooltip_icon, .tooltip { vertical-align: top; }
.tooltip_icon { color: #6b7280; position: relative; z-index: 5; }
.tooltip { font-size: 0.8125em; color: #0ea5e9; display: inline-block; transition: 0.45s ease; white-space: nowrap; position: absolute; top: 0; left: 100%; margin-left: -1.5em; padding: 0.325em 0.75em 0.325em 1.75em; background-color: rgba(14, 165, 233, 0.05); -webkit-backdrop-filter: blur(0.1em); backdrop-filter: blur(0.1em); box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.08); border-radius: 0.375rem; }
.tooltip { pointer-events: none; opacity: 0; }
.tooltip_icon:hover { color: #0ea5e9; }
.tooltip_icon:hover+.tooltip { pointer-events: auto; opacity: 1; }

/* 새창 기본스타일 */
.new_win { margin: calc(var(--em) * 3.25) auto 0; padding: 0.75em 1em 1.25em; position: relative; display: flex; flex-direction: column; gap: 1em; max-width: 550px; font-size: 0.8125em; }
.new_win #win_title { display: flex; align-items: center; gap: 0.5em; font-size: 1.125em; line-height: 1; padding: 0 1em; width: 100%; height: 3em; box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.08); position: fixed; left: 0; top: 0; background-color: #fff; z-index: 300; }
.new_win .win_total { font-size: 0.75em; margin-left: auto; background-color: #e6f0ff; color: #0b4aab; -webkit-border-radius: 999px;-moz-border-radius: 999px;border-radius: 999px; padding: 0.5em 0.875em; display: inline-block; }
.new_win .win_ul { display: flex; justify-content: flex-start; align-self: center; gap: 0.5em; margin-bottom: 0.5em; }
.new_win .win_ul li { font-size: 0.875em; }
.new_win .win_ul li a { border: 1px solid #0b4aab; color: #0b4aab; padding: 0.5em 1.125em; -webkit-border-radius: 999px;-moz-border-radius: 999px;border-radius: 999px; display: inline-block; }
.new_win .win_ul li a:hover,
.new_win .win_ul .selected a { background-color: #0b4aab; color: #fff; }
.new_win .form_01 ul { gap: 0.5em; }
.new_win .tbl_head01 td { text-align: left; }
.new_win .tbl_head01 .td_chk { font-size: 0.9375em; text-align: center; }
.new_win .win_btn { display: flex; justify-content: center; align-items: center; gap: 0.5em; width: 60%; margin: 2em auto 0; flex-direction: row-reverse; }
.new_win .win_btn > * { flex: 1 1 40%; font-size: 1em; height: 2.75em; }
.new_win .win_desc { font-size: 0.875em; color: #666; margin-top: 0.5em; }
.new_win .win_desc i { margin-right: 0.3em; }
.new_win .empty_table, .new_win .empty_list, .new_win .empty_li { padding: 6em 0; }

/* ==============================================================
    필수 컴포넌트
============================================================== */
/* 프로필 이미지 */
.profile_img img { border-radius: 9999px; aspect-ratio: 1/1; }

/* 캡차(captcha) */
#captcha { font-size: 0.875em; display: inline-grid; grid-template-columns: repeat(4, max-content); gap: 0.25em 0.25em; }
#captcha_info { font-size: 0.9375em; grid-column: 1/-1; color: #adb5bd; }
#captcha_img, #captcha_key, #captcha button { height: calc(var(--em) * 2.75); }
#captcha_img { padding: 0.25em; }
#captcha_key { aspect-ratio: 2.5/1; width: auto; }
#captcha button { color: rgb(160.770212766, 165.9234042553, 176.229787234); position: relative; overflow: hidden; }
#captcha button:hover { color: rgb(37.3361702128, 39.7787234043, 44.6638297872); }
#captcha button:hover { background-color: rgb(246.075, 246.075, 246.075); }
#captcha_mp3 { gap: 0; aspect-ratio: 1/1; width: auto; font-size: 0; position: relative; }
#captcha_mp3::before { content: "\f2a1"; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); font-size: calc(var(--em) * 1.25); font-family: "remixicon"; font-style: normal; transition: color 0.25s; }
#captcha_reload { gap: 0; aspect-ratio: 1/1; width: auto; font-size: 0; position: relative; }
#captcha_reload::before { content: "\f33e"; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); font-size: calc(var(--em) * 1.25); font-family: "remixicon"; font-style: normal; transition: color 0.25s; }

/* 사이드뷰 */
.sv { position: absolute; top: 100%; text-align: left; transition: 0.45s ease; z-index: 100; overflow: hidden; background-color: rgba(255, 255, 255, 0.8); -webkit-backdrop-filter: blur(0.2em); backdrop-filter: blur(0.2em); opacity: 0; transform: translateY(1em); pointer-events: none; border-radius: 0.375rem; box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.08); left: 0; margin: 0.5em; color: #6c757d; }
.sv_on, .sv.is-open { opacity: 1; transform: translateY(0); pointer-events: auto; }
.sv_wrap { position: relative; }
.sv_member { display: inline-flex; justify-content: flex-start; align-items: center; vertical-align: middle; gap: 0.25em; }
.sv a { display: flex; justify-content: flex-start; align-items: center; gap: 0.5em; color: rgb(160.770212766, 165.9234042553, 176.229787234); position: relative; overflow: hidden; font-size: 0.875em; height: 2.375em; aspect-ratio: 3.625/1; padding: 0 0.75em; }
.sv a:hover { color: rgb(37.3361702128, 39.7787234043, 44.6638297872); }
.sv a:hover { background-color: rgb(246.075, 246.075, 246.075); }

/* 페이징 */
.pg { display: flex; justify-content: center; align-items: center; gap: 0.5em; }
.pg_wrap { margin-top: 4em; }
.pg_current, .pg_page { gap: 0; aspect-ratio: 1/1; width: calc(var(--em) * 2.5); }
.pg_current { border: 1px solid transparent; background: #0b4aab; color: #ffffff; font-weight: 400; }
.pg_page { color: rgb(132.9914893617, 139.6638297872, 153.0085106383); position: relative; overflow: hidden; }
.pg_page:hover { color: #0b4aab; }
.pg_page:hover { background-color: rgb(246.075, 246.075, 246.075); }
.pg_start { gap: 0; aspect-ratio: 1/1; font-size: 0; position: relative; }
.pg_start::before { content: "\f2e3"; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); font-size: calc(var(--em) * 1.25); font-family: "remixicon"; font-style: normal; transition: color 0.25s; }
.pg_prev { gap: 0; aspect-ratio: 1/1; font-size: 0; position: relative; }
.pg_prev::before { content: "\ea64"; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); font-size: calc(var(--em) * 1.25); font-family: "remixicon"; font-style: normal; transition: color 0.25s; }
.pg_next { gap: 0; aspect-ratio: 1/1; font-size: 0; position: relative; }
.pg_next::before { content: "\ea6e"; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); font-size: calc(var(--em) * 1.25); font-family: "remixicon"; font-style: normal; transition: color 0.25s; }
.pg_end { gap: 0; aspect-ratio: 1/1; font-size: 0; position: relative; }
.pg_end::before { content: "\f2e5"; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); font-size: calc(var(--em) * 1.25); font-family: "remixicon"; font-style: normal; transition: color 0.25s; }

/* 팝업레이어 */
#hd_pop { width: 100%; position: relative; z-index: 1000; max-width: 1360px; margin-left: auto; margin-right: auto; }
#hd_pop h2 { clip-path: inset(50%); white-space: nowrap; border-width: 0; width: 1px; height: 1px; margin: -1px; padding: 0; position: absolute; overflow: hidden; }
.hd_pops { width: 100%; max-width: 500px; position: absolute; box-shadow: 0 0.5em 1em rgba(0,0,0,0.2); border-radius: 0.5em; overflow: hidden; left: 0 !important; top: calc(var(--vh) * 12) !important; }
.hd_pops_con { width: 100% !important; height: auto !important; }
.hd_pops_con img { max-width: 100%; }
.hd_pops_footer { display: flex; justify-content: flex-start; pointer-events: auto; }
.hd_pops_footer button { border: 0; color: #fff; padding: 0.625em 1em; cursor: pointer; }
.hd_pops_reject { background-color: #111; flex-grow: 1; text-align: left; }
.hd_pops_close { background-color: #393939; flex-shrink: 0; }

/* 회원가입 */
#register_form h2 { border-bottom: 2px solid #000; padding-bottom: 0.5em; margin-bottom: 0.5em; }
.register_form_inner { margin-bottom: 3em; }


/* ==============================================================
    게시판
============================================================== */
.board .container { max-width: 1280px; }
.board .page-section { margin-bottom: 6em; }
.board .bo_info { font-size: 0.9375em; display: flex; justify-content: flex-start; align-items: center; gap: 0.625em; color: #868686; }
.board .badge { font-size: 0.9375em; border: 1px solid #dedede; vertical-align: top; }
.board a.badge:hover { border-color: #0b4aab; color: #0b4aab; }
.board .frm_style { min-height: 3em; }
.board input,
.board select,
.board textarea { background-color: #fff; }
.board textarea { min-height: 15em; }

/* 링크/파일 */
.attach { position: relative; display: flex; justify-content: flex-start; align-items: center; border: 1px solid #e9ecef; -webkit-border-radius: 0.5em;-moz-border-radius: 0.5em;border-radius: 0.5em; }
.attach_icon { display: inline-flex; justify-content: center; align-items: center; aspect-ratio: 1/1; width: 2.875em; color: #6c757d; -webkit-transition: 0.25s;-moz-transition: 0.25s;-ms-transition: 0.25s;-o-transition: 0.25s; transition: 0.25s; }
.attach_icon i { font-size: 1.125em; }
.attach_con { }
.attach_con span { font-size: 0.9375em; opacity: 0.8; }
.attach:hover { color: rgb(13, 110, 253); }
.attach:hover .attach_icon { color: rgb(13, 110, 253); }
.attach:hover .attach_con { border-color: rgb(13, 110, 253); }
.attach input { border: 0; padding: 0; -webkit-border-radius: 0;-moz-border-radius: 0;border-radius: 0; }
.attach input::file-selector-button { width: 0; padding: 0; border: 0; opacity: 0; overflow: hidden; }

/* 상단 */
.bo_top { display: flex; justify-content: space-between; align-items: center; margin-top: 3em; }

/* 사용자 버튼 */
.bo_user_btn { display: flex; gap: 0.25em; justify-content: flex-start; align-items: center; }
.bo_user_opt { position: relative; }
.bo_user_opt-list { position: absolute; top: 100%; text-align: left; transition: 0.45s ease; z-index: 100; overflow: hidden; background-color: rgba(255, 255, 255, 0.8); -webkit-backdrop-filter: blur(0.2em); backdrop-filter: blur(0.2em); border-radius: 0.5rem; box-shadow: 0 0.375rem 0.75rem rgba(0, 0, 0, 0.1); right: 0; padding: 0.25em 0; opacity: 0; transform: translateY(1em); pointer-events: none; }
.bo_user_opt-list.is-open { opacity: 1; transform: translateY(0); pointer-events: auto; }
.bo_user_opt-list li { color: #888; }
.bo_user_opt-list li:hover { color: #191919; }
.bo_user_opt-list button,
.bo_user_opt-list a { padding: 0.25em 0.5em; font-size: 0.875em; display: flex; justify-content: flex-start; align-items: center; gap: 0.25em; }

/* 작성 ------------------------------------------------------- */
.frm_label { font-weight: 600; width: 100%; position: relative; }
.frm_label small { font-weight: 400; color: #888; }

/* 임시저장 */
#autosave_wrapper { display: flex; gap: 0.5em; position: relative; }
#autosave_count { font-size: 0.8125em; background-color: #ffffff; color: rgb(44, 74, 146); border-radius: 9999px; padding: 0 0.4em; line-height: 1.5; display: inline-block; }
#autosave_pop { max-width: 20em; position: absolute; top: 100%; text-align: left; transition: 0.45s ease; z-index: 100; overflow: hidden; background-color: rgba(255, 255, 255, 0.8); -webkit-backdrop-filter: blur(0.2em); backdrop-filter: blur(0.2em); opacity: 0; transform: translateY(1em); pointer-events: none; border-radius: 0.5rem; box-shadow: 0 0.375rem 0.75rem rgba(0, 0, 0, 0.1); right: 0; margin-top: 0.25em; }
#autosave_pop_on,
#autosave_pop.is-open { opacity: 1; transform: translateY(0); pointer-events: auto; }
#autosave_pop ul { font-size: 0.8125em; padding: 0.5em; }
#autosave_pop li { padding: 0.25em 0.5em; display: flex; justify-content: space-between; align-items: center; gap: 0.5em; }
#autosave_pop a,
#autosave_pop span { display: inline-flex; justify-content: flex-start; align-items: center; gap: 0.25em; }
#autosave_pop a { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1; overflow: hidden; text-overflow: ellipsis; word-break: break-all; color: #495057; }
#autosave_pop a:hover { text-decoration: underline; }
#autosave_pop span { flex-shrink: 0; font-size: 0.9375em; color: #adb5bd; }
#autosave_pop button { height: calc(var(--em) * 0.8125 * 0.9375 * 1.5); aspect-ratio: 1/1; font-size: 0; position: relative; display: inline-block; }
#autosave_pop button::before { content: "\eb99"; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); font-size: calc(var(--em) * 0.8125 * 0.9375 * 1.25); font-family: "remixicon"; font-style: normal; transition: color var(--ts-fast); }
#autosave_pop button:hover { color: rgb(220, 53, 69); }

/* ckeditor 단축키 */
.form_01 li:has(.cke_sc) { position: relative; }
.cke_sc { font-size: 0.75rem; margin-bottom: 0.5rem; text-align: right; position: absolute; right: 0; top: 0; }
.btn_cke_sc_close { display: none; }
.btn_cke_sc { display: inline-flex; justify-content: center; align-items: center; background-color: #f7f7f7; border: 1px solid #dedede; color: #686868; padding: 0 0.5em; height: 1.875em; border-radius: 0.25em; }
.cke_sc_def { position: absolute; top: 100%; right: 0; text-align: left; transition: 0.45s ease; z-index: 100; overflow: hidden; background-color: rgba(255, 255, 255, 0.5); -webkit-backdrop-filter: blur(0.2em); backdrop-filter: blur(0.2em); border-radius: 0.5rem; box-shadow: 0 0.375rem 0.75rem rgba(0, 0, 0, 0.1); margin-top: 0.25em; border: 1px solid #eee; }
.cke_sc_def dl { display: grid; grid-template-columns: repeat(4,1fr); text-align: left; white-space: nowrap; }
.cke_sc_def dt, .cke_sc_def dd { padding: 0.5em 1em; }
.cke_sc_def dt { font-weight: 600; }

/* 링크/파일 */
.bo_w li:has(.file_del) { position: relative; }
.bo_w .file_del { position: absolute; right: 0; top: 0; font-size: 0.875em; color: #6c757d; display: inline-flex; justify-content: flex-start; align-items: center; gap: 0.5em; padding: 1.125em; }
.bo_w .file_del i { font-size: 1.125em; }
.bo_w .file_del:hover i { color: rgb(220, 53, 69); }

.agree_box label { display: inline-flex; justify-content: flex-start; align-items: center; gap: 0.25em; }
.agree_box .btn { font-size: 0.875em; background-color: #555; color: #fff; padding: 0.3em 0.5em; vertical-align: top; }

/* 상세 ------------------------------------------------------- */
.bo_v_title { font-size: 2.5em; font-weight: 700; }
.bo_v_con { min-height: calc(var(--vh) * 40); line-height: 1.6; border-top: 1px solid #dedede; padding-top: 2em; margin-top: 2em; }
.bo_v_con img { max-width: 100%; height: auto; margin-bottom: 1em; }
.bo_v_img a { display: block; }

/* 링크/파일 */
.bo_v .attach { margin-top: 1em; }
.bo_v .attach_con span { font-size: 0.9375em; opacity: 0.8; }

/* 이전글/다음글 */
.bo_v_nav { display: flex; justify-content: center; align-items: center; width: 50%; margin: 3em auto 0; font-weight: 500; gap: 1.5em; }
.bo_v_nav .btn { height: 2.6em; font-size: 1.125em; }
.bo_v_nav .btn_move { color: #999; font-size: 1em; }
.bo_v_nav .btn_move.disabled { pointer-events: none; opacity: 0; }
.bo_v_nav .btn_move i { font-size: 1.25em; }
.bo_v_nav .btn_move:hover { color: #191919; }
.bo_v_nav .btn_submit { width: 60%; max-width: 220px; padding: 0 1.5em; }

/* 답변 ------------------------------------------------------- */
.bo_ans { border-top: 2px solid #000; margin-top: 2em; padding-top: 1em; }
.bo_ans.bo_w .msg { text-align: center; font-size: 1.125em; padding: 6em 0; color: #888; }
.bo_ans.bo_w .attach { margin-top: 0; }
.bo_ans .bo_v_title { font-size: 2em; }
.bo_ans .bo_top { margin-top: 0.5em; }
.bo_ans .bo_v_con { padding-top: 1em; margin-top: 1em; }

/* 목록 ------------------------------------------------------- */
#bo_cate_ul { font-size: 1.125em; display: flex; flex-wrap: wrap; justify-content: center; gap: 0.5em 1em; }
#bo_cate_ul li { font-weight: 500; }
#bo_cate_ul a { background-color: #F7FAFC; color: #838383; padding: 0.625em 1.25em; -webkit-border-radius: 999px;-moz-border-radius: 999px;border-radius: 999px; display: inline-block; }
#bo_cate_ul a:hover { background-color: #e6f0ff; color: #0b4aab; }
#bo_cate_ul #bo_cate_on { background-color: #0b4aab; color: #fff; }

.basic { margin-top: 1em; }
.basic .all_chk { margin-bottom: 1em; }
.basic_list { border-top: 2px solid #111; }
.basic_item { border-bottom: 1px solid #dedede; display: flex; align-items: center; position: relative; }
.basic_item a { max-width: 100%; flex-grow: 1; display: flex; align-items: center; padding: 1.375em 0; }
.basic_num, .basic_status, .basic_date, .basic_name { text-align: center; flex-shrink: 0; }
.basic_subj { font-size: 1.125em; font-weight: 500; padding: 0 0.5em; flex-grow: 1; overflow: hidden; -ms-text-overflow: ellipsis;text-overflow: ellipsis; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1; }
.basic_num { width: 4em; font-weight: 500; color: #555; }
.basic_status { width: 6em; }
.basic_status .badge { font-size: 0.875em; border: 1px solid #0b4aab; }
.basic_status .done { background-color: #0b4aab; color: #fff; }
.basic_status .pending { background-color: #fff; color: #0b4aab; }
.basic_name { width: 5em; }
.basic_date { width: 7em; font-size: 0.9375em; color: #888; }
.basic_item:hover { background-color: #fafafa; }
.basic_item:hover .basic_subj { text-decoration: underline; color: #0b4aab; }
.basic_chk { position: absolute; left: 0; }

.faq { margin-top: 1em; }
.faq .all_chk { margin-bottom: 1em; }
.faq_list { border-top: 2px solid #111; }
.faq_item { border-bottom: 1px solid #dedede; position: relative; }
.faq_box { display: flex; align-items: center; padding: 1.25em 0; }
.faq_icon, .faq_arrow { font-size: 1.25em; flex-shrink: 0; width: 3em; text-align: center; flex-shrink: 0; }
.faq_txt { flex-grow: 1; }
.faq_arrow { -webkit-transition: 0.4s;-moz-transition: 0.4s;-ms-transition: 0.4s;-o-transition: 0.4s;transition: 0.4s; }
.faq-q { cursor: pointer; }
.faq-q .faq_txt { font-size: 1.125em; font-weight: 500; }
.faq-a { background-color: #fafafa; display: none; }
.faq-a .faq_box { align-items: flex-start; }
.faq_chk { position: absolute; left: 0; top: 0; margin: 0.5em; }
.faq_item.is-open .faq-q .faq_txt { color: #0b4aab; }
.faq_item.is-open .faq_arrow { transform: rotate(180deg); }

.gallery { margin-top: 1em; }
.gallery a { display: inline-block; }
.gallery .all_chk { margin-bottom: 1em; }
.gallery_list { display: grid; grid-template-columns: repeat(3 ,minmax(150px,1fr)); gap: 4em 2em; }
.gallery_item { position: relative; }
.gallery_thumb { width: 100%; position: relative; -webkit-border-radius: 0.5em;-moz-border-radius: 0.5em;border-radius: 0.5em; overflow: hidden; }
.gallery_thumb a { width: 100%; aspect-ratio: 1/0.55; display: flex; justify-content: center;position: relative; }
.gallery_thumb img { width: 50%; height: 100%; object-fit: cover;  }
.gallery_thumb .non_member { position: absolute; right: 0; top: 0; width: 50%; height: 100%; background-color: rgba(0,0,0,0.35); backdrop-filter: blur(0.25em); color: #fff; display: flex; justify-content: center; align-items: center; z-index: 3; }
.gallery_thumb .thumb_link::before,
.gallery_thumb .thumb_link::after { display: block; position: absolute; width: 50%; bottom: 0;color: #fff; text-align: center; line-height: 2; z-index: 5; }
.gallery_thumb .thumb_link::before { content:"Before"; background-color: #85A5D5; left: 0; }
.gallery_thumb .thumb_link::after { content:"After"; background-color: #0b4aab; right: 0;  }


.gallery_info { margin-top: 1.5em; }
.gallery_subj { font-size: 1.25em; font-weight: 600; margin-top: 0.75em; padding-top: 0.75em; border-top: 1px solid #dedede; }
.gallery_subj a { display: block; overflow: hidden; -ms-text-overflow: ellipsis; text-overflow: ellipsis; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1; }
.gallery_subj:hover { color: #0b4aab; }
.gallery_chk { position: absolute; top: 0; left: 0; z-index: 5; margin: 0.75em; }

.search_bar { margin-left: auto; }
.search_bar form { display: flex; justify-content: flex-start; gap: 0.25em; }
.search_bar input { width: auto; border-color: #dedede; }
.search_bar button { padding: 0 1.25em; }


/* ==============================================================
    유틸리티
============================================================== */
/* 자료 없는 목록 */
.empty_table, .empty_list, .empty_li { color: #adb5bd; text-align: center; grid-column: 1/-1;  padding: 8em 0; }

/* 필수입력 */
[required]:not([type=checkbox],[type=radio]), .require { background-image: url(../img/require.png); background-repeat: no-repeat; background-position: top right; }
.require { width: 0.875em; aspect-ratio: 0.875/1; display: inline-block; vertical-align: top; }

/* 테이블 항목별 정의 */
.td_board { width: 5em; }
.td_category { width: 5em; }
.td_chk { width: 2.5em; }
.td_date { width: 3.75em; }
.td_datetime { width: 6.875em; }
.td_default { width: 3.75em; }
.td_dvr { width: 6.25em; }
.td_group { width: 5em; }
.td_mb_id { width: 6.25em; }
.td_mng { width: 5em; }
.td_mngsmall { width: 6.25em; }
.td_name { width: 6.25em; }
.td_namesmall { width: 3.125em; }
.td_nick { width: 6.25em; }
.td_num { width: 3.125em; }
.td_numbig, .td_num2 { width: 5em; }
.td_stat { width: 3.75em; }
.td_statsmall { width: 3.125em; }
.td_imgsmall { width: 3.75em; }

/* 가로크기 */
.half { width: calc((100% - 1em) / 2) !important; }
.full { width: 100% !important; }
.auto { width: auto !important; flex-grow: 1; }

/* 뱃지 */
.badge { font-weight: 500; padding: 0.25em 0.6em; -webkit-border-radius: 999px;-moz-border-radius: 999px;border-radius: 999px; vertical-align: middle; display: inline-block; text-align: center; }

/* ==============================================================
    250729
============================================================== */
html, body { scroll-snap-type: none !important; }
body { font-family: "Pretendard Variable", "Pretendard", sans-serif; color: #191919; letter-spacing: -0.02em; }
b, strong { font-weight: 700; }

/* default */
.main:has(.page-default) { display: flex; flex-direction: column; }
.page-default { flex-grow: 1; padding: 4em 0; display: flex; justify-content: center; align-items: center; }
.mbskin { margin: 0 auto !important; }

/* utils */
.ctt_admin { display: none; }
.container { width: 100%; max-width: 1360px; margin-left: auto; margin-right: auto; position: relative; }
.emph { color: #0b4aab; }

/* layout */
.wrapper { height: auto; min-height: calc(var(--vh) * 100); display: flex; flex-direction: column; }
.hd, .ft { flex-shrink: 0; }
.main { flex-grow: 1; overflow-x: hidden; }

/* header */
.hd { width: 100%; background-color: #fff; font-weight: 500; position: sticky; top: 0; z-index: 999; transition: 0.5s; }
.hd_top { height: 5em; border-bottom: 1px solid #ddd; }
.hd_top .container { height: 100%; }
.hd_wrap { display: flex; justify-content: space-between; align-items: center; position: relative; height: 100%; }
.hd_logo { height: 2.5em; position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); }
.hd_logo img { max-height: 100%; vertical-align: top; }
.hd_addr,
.hd_tel { font-size: 1em; display: inline-flex; align-items: center; gap: 0.5em; }
.hd_box { display: flex; justify-content: flex-start; align-items: center; gap: 0.75em; }
.hd_login { font-size: 1.75em; opacity: 0.75; }
.hd_gnb { border-bottom: 1px solid #ddd; }
.hd_gnb .container { width: 100%; }
.hd_gnb_list { justify-content: space-between; }
.hd_gnb_list .swiper-slide { line-height: 3; text-align: center; width: auto; padding: 0 1.5em; }
.hd.fixed { transform: translateY(-5em); }
.hd.idx { position: fixed; }
.hd.white { background-color: transparent; color: #fff; }
.hd.white .hd_logo img { filter: grayscale(1) invert(1); }

/* footer */
.ft { background-color: #191919; color: #fff; padding: 3.75em 0 3em; }
.ft_box { display: flex; justify-content: space-between; align-items: flex-end; }
.ft_logo { height: 3.75em; margin-bottom: 2.5em; }
.ft_logo img { max-height: 100%; vertical-align: top; filter: brightness(0) invert(1); }
.ft_info { display: grid; grid-template-columns: repeat(3, max-content); gap: 0.5em 1em; }
.ft_info li:nth-child(-n+2) { grid-column: 1/-1; }
.ft_info b { font-weight: 500; margin-right: 0.5em; display: inline-block; }
.ft_info span { font-weight: 300; }
.ft_sns { display: flex; justify-content: flex-start; align-items: center; gap: 0.5em; }
.ft_sns a { aspect-ratio: 1/1; width: 2.25em; display: inline-flex; justify-content: center; align-items: center; -webkit-border-radius: 0.5em;-moz-border-radius: 0.5em;border-radius: 0.5em; background-color: #7f7f7f; text-align: center; }
.ft_sns img { width: 67%; filter: brightness(0) invert(1); }
.ft_sns .gray { background: none; }
.ft_sns .gray img { width: 72%; filter: grayscale(1) brightness(2.25); }
.ft_btm { border-top: 1px solid #fff; margin-top: 1.5em; padding-top: 1.5em; display: flex; justify-content: space-between; align-items: center; }
.ft_fnb { font-weight: 500; display: flex; justify-content: flex-start; align-items: center; gap: 1.25em; }
.ft_copy { font-weight: 400; font-size: 0.9375em; }

/* 모달레이어 */
.modal { position: fixed; left: 0; top: 0; bottom: 0; right: 0; background-color: rgba(0,0,0,0.2); z-index: 9999; display: none; }
.modal_box { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); background-color: #fff; border: 1px solid #eee; width: 90%; max-width: 680px; max-height: 80%; -webkit-border-radius: 1em;-moz-border-radius: 1em;border-radius: 1em; overflow: hidden; display: none; }
.modal_tit { padding: 0.75em 1em; font-size: 1.125em; font-weight: 600; }
.modal_con { padding: 1em 1.25em; background-color: #fafafa; border-top: 1px solid #eee; line-height: 1.6; min-height: calc(var(--vh) * 40); word-break: keep-all; }
.modal_close { position: absolute; right: 0; top: 0; font-size: 1.125em; padding: 0.75em; }
.modal_close:hover { color: #0b4aab; }

/* 간편상담신청 */
.quick { background-color: #0b4aab; position: sticky; left: 0; right: 0; bottom: -2px; z-index: 999; padding: 1.25em 0; }
.quick_form { display: grid; grid-template-columns: repeat(3,1fr) 0.7fr 0.5fr;  justify-content: space-between; align-items: center; gap: 1.5em; }
.quick_form .frm_style { background-color: #fff; }
.quick_form .agree_box { color: #fff; display: flex; align-items: center; gap: 0.25em; }
.quick_form .agree_box input { flex-shrink: 0; }
.quick_form .agree_box label { flex-grow: 1; display: block; }
.quick_form .agree_box span { text-decoration: underline; margin-right: 0.25em; }
.quick_form .agree_box input:hover { border-color: #fff; }
.quick_form .agree_box input:checked { border-color: #fff; }
.quick_form .btn_submit { font-size: 1.125em; background-color: #000; padding: 0.625em; }

/* 플로팅배너 */
.floating { position: fixed; right: 2%; bottom: 15%; display: flex; flex-direction: column; gap: 0.5em; z-index: 999; }
.floating a { background-color: #fff; width: 3em; height: 3em; display: flex; justify-content: center; align-items: center; -webkit-border-radius: 999px;-moz-border-radius: 999px;border-radius: 999px; border: 1px solid #EFEFEF; }
.floating img { max-width: 55%; }
.floating .top { color: #fff; background-color: #191919; border-color: #323232; }
.floating .top i { font-size: 1.25em; }

/* page ---------------------------------------------------- */
.page-visual { background: no-repeat center/cover; color: #fff; text-align: center; padding-top: 1.5em; }
.page-visual .container { aspect-ratio: 1/0.215; display: flex; justify-content: center; align-items: center; flex-direction: column; gap: 0.5em; }
.page-visual .line { overflow: hidden; }
.page-visual h2 { font-size: 3.5em; font-weight: 700; }
.page-visual p { font-size: 1em; font-weight: 500; text-transform: uppercase; }
.page-breadcrumb { position: absolute; left: 0; bottom: 1.875em; display: flex; justify-content: flex-start; font-size: 0.9375em; gap: 0.5em; }
.page-lnb { background-color: #001D57; color: #fff; }
.page-lnb ul { height: 4em; display: flex; justify-content: center; gap: 3em; }
.page-lnb li { font-size: 1.25em; display: inline-flex; justify-content: center; align-items: center; border: 2px solid transparent; opacity: 0.5; }
.page-lnb li.active { border-bottom-color: #fff; opacity: 1; }
.page-content { padding-top: 6em; word-break: keep-all; }
.page-section { margin-bottom: 10em; overflow: hidden; }

.page-title { font-weight: 500; text-align: center; margin-bottom: 4em; }
.page-title p { font-size: 1.125em; margin-bottom: 1.375em; color: #666; text-transform: uppercase; }
.page-title h3 { font-size: 3.25em; }
.page-title .line { overflow: hidden; }
.page-title .d-line { width: 6.25em; height: 0.3125em; background-color: #0b4aab; display: block; margin: 0 auto 2.5em; }
.page-desc { font-size: 1.375em; line-height: 1.6; text-align: center; margin-bottom: 4em; }
.page-info { margin-top: 4em; background-color: #F7FAFC; padding: 4em 1em; -webkit-border-radius: 1em;-moz-border-radius: 1em;border-radius: 1em; text-align: center;}
.page-info h5 { font-size: 1.875em; font-weight: 700; margin-bottom: 0.5em; }
.page-info p { font-size: 1.25em; line-height: 1.6; font-weight: 500; }

.ceo { margin-bottom: 8em; display: flex; gap: 2em; align-items: center; justify-content: space-between; }
.ceo2 { flex-direction: row-reverse; }
.ceo3 { margin-bottom: 0; }
.ceo_img { width: 43%; }
.ceo_img img { width: 100%; }
.ceo_txt_heading { margin-bottom: 2.5em; }
.ceo_txt_heading h4 { font-size: 2.75em; font-weight: 700; border-bottom: 2px solid #0b4aab; padding-bottom: 0.25em; margin-bottom: 0.25em; display: inline-block; }
.ceo_txt_heading h4 b { font-size: 0.65em; }
.ceo_txt_heading p { font-size: 1.5em; font-weight: 600; }
.ceo_txt_content { display: flex; justify-content: flex-start; align-items: flex-start; gap: 2em; }
.ceo_txt_content h5 b { font-size: 2.75em; font-weight: 700; display: block; }
.ceo_txt_content h5 small { color: #ABAFBE; font-weight: 500; font-size: 1.375em; }
.ceo_txt_box { position: relative; padding-left: 2em; }
.ceo_txt_box::before { content:""; width: 2px; height: 98%; position: absolute; top: 2%; left: 0; background: linear-gradient(to bottom, #0b4aab 60%, transparent); }
.ceo_txt_box::after { content:"▼"; position: absolute; top: 0; left: 0; color: #0b4aab; transform: translate(-45%,0); }
.ceo_txt_desc { font-size: 1.75em; font-weight: 700; margin-bottom: 0.5em; }
.ceo_txt_desc img { height: 1.25em; margin-top: 0.5em; display: inline-block; }
.ceo_txt_list { font-size: 1.125em; line-height: 1.6; font-weight: 500; }
.ceo_txt_list li.margin { margin-bottom: 1.25em; }
.ceo_txt_list li.gray { color: #616161; }

.clinic_list li { display: flex; justify-content: space-between; align-items: center; gap: 3.5em; }
.clinic_list li:not(:last-child) { border-bottom: 1px solid #c1cee5; padding-bottom: 4em; margin-bottom: 4em; }
.clinic_list li:nth-child(3) { flex-direction: row-reverse; }
.clinic_list .img { width: 47%; }
.clinic_list .img img { width: 100%; border-radius: 1em; }
.clinic_list .txt { width: 50%; }
.clinic_list h5 { font-size: 2.25em; font-weight: 600; }
.clinic_list h5 small { font-size: 0.65em; display: block; margin-bottom: 0.5em; }
.clinic_list p { font-size: 1.25em; line-height: 1.6; margin-top: 1em; }
.clinic_list li.big { flex-direction: column; }
.clinic_list li.big .img { width: 100%; }
.clinic_list li.big .txt { width: 100%; text-align: center; }


.space { margin-bottom: 4em; }
.space_tit { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 1.5em; }
.space h4 { font-size: 2.5em; font-weight: 600; }
.space .guide { font-size: 1.25em; font-weight: 500; }
.space_list { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.5em 1.5em; }
.space_thumb { position: relative; }
.space_thumb { width: 100%; -webkit-border-radius: 1em;-moz-border-radius: 1em;border-radius: 1em; overflow: hidden; margin-bottom: 1em; }
.space_thumb img { width: 100%; }
.space_thumb .hover { position: absolute; left: 0; top: 0; width: 100%; height: 100%; background-color: rgba(11,74,171,0.8); color: #fff; display: flex; justify-content: center; align-items: center; flex-direction: column; gap: 0.5em; font-size: 1.5em; transform: translateY(100%); cursor: pointer; transition: 0.3s; opacity: 0; }
.space_thumb .hover i { font-size: 1.125em; }
.space_thumb:hover .hover { transform: translateY(0); opacity: 1; }
.space_item .badge { font-size: 0.75em; background-color: #e6f0ff; color: #0b4aab; margin-right: 0.3em; }
.space_item p { font-size: 1.25em; font-weight: 600; }

.space_modal { position: fixed; left: 0; top: 0; width: 100%; height: 100%; background-color: rgba(0,0,0,0.6); z-index: 99999; display: none; }
.space_modal_content { width: 90%; max-width: 810px; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); }
.space_modal_content .swiper { background-color: #fff; border-radius: 1.75em; }
.space_modal_content .swiper-button-next { right: auto; left: 100%; margin-left: 2em; color: #fff; }
.space_modal_content .swiper-button-prev { left: auto; right: 100%; margin-right: 2em; color: #fff; }
.space_modal_content .space_item { display: flex; flex-direction: column-reverse; }
.space_modal_content .space_thumb { -webkit-border-radius: 0;-moz-border-radius: 0;border-radius: 0; margin-bottom: 0; }
.space_modal_content .space_thumb .hover { display: none; }
.space_modal_content .space_item p { font-size: 1.25em; padding: 0.75em 1.25em; display: flex; justify-content: flex-start; align-items: center; gap: 0.5em; }
.space_modal_content .modal_close { position: absolute; right: 0.2em; top: 0; z-index: 5; font-size: 1.5em; padding: 0.5em; }

.location_map { width: 100%; aspect-ratio: 1/0.4; border-radius: 1.25em; overflow: hidden; margin-bottom: 4em; }
.location_map iframe { width: 100%; height: 100%; }
.location_con { display: flex; justify-content: space-between; align-items: flex-start; gap: 4em; }
.location_con .badge { background-color: #0b4aab; color: #fff; }

.location_box { flex: 1 1 40%; }
.location_box h4 { font-size: 2.25em; font-weight: 700; margin-bottom: 0.5em; display: flex; justify-content: flex-start; align-items: center; gap: 0.375em; }
.location_box h4 i { font-size: 1.375em; }
.location_time li { display: flex; justify-content: flex-start; border-bottom: 1px solid #c1cee5; padding: 1.875em 0; gap: 1.5em; }
.location_time h5 { font-size: 1.5em; font-weight: 700; width: 6.2em; white-space: nowrap; overflow: hidden; flex-shrink: 0; }
.location_time h5.lts1 { letter-spacing: 1.95em; }
.location_time h5.lts2 { letter-spacing: 0.67em; }
.location_time h5.lts3 { letter-spacing: 1.7em; }
.location_time h5.lts4 { letter-spacing: 0.85em; }
.location_time p { font-size: 1.25em; line-height: 1.4; }
.location_time .badge { font-size: 0.75em; margin-top: -0.2em; margin-left: 0.5em; }
.location_addr { font-size: 2em; font-weight: 500; margin-top: 1.25em; }
.location_traffic .badge,
.location_tel .badge { font-size: 1.375em; }
.location_traffic { margin: 2.8125em 0; }
.location_traffic li { display: flex; justify-content: flex-start; align-items: center; margin-top: 0.875em; gap: 0.5em; }
.location_traffic .badge { width: 4em; text-align: center; }
.location_traffic p { font-size: 1.25em; }
.location_tel p { font-size: 2.25em; font-weight: 700; }
.location_tel { display: flex; justify-content: flex-start; align-items: center; gap: 1em; border-top: 2px dashed #C1CEE5; padding-top: 2.8125em; }
.location_line { display: block; border-left: 2px dashed #C1CEE5; align-self: stretch; }

/* 서브 클리닉 공통 ----------------------------------------------- */
.clinic1_con { display: grid; grid-template-columns: 1fr 1.62fr; gap: 2.5em; align-items: center; }
.clinic1_img { max-width: 500px; aspect-ratio: 1/1; -webkit-border-radius: 999px;-moz-border-radius: 999px;border-radius: 999px; overflow: hidden; flex-shrink: 0; }
.clinic1_img img { width: 100%; height: 100%; object-fit: cover; }
.clinic1_txt { position: relative; padding: 1em 0; }
.clinic1_txt b { font-size: 9.375em; font-weight: 700; color: #f7fafc; position: absolute; right: 0; top: 0; z-index: -1; line-height: 1; }
.clinic1_txt h4 { font-size: 2.25em; font-weight: 700; }
.clinic1_txt img { height: 1.875em; margin: 1em 0; }
.clinic1_txt h5 { font-size: 1.625em; font-weight: 700; }
.clinic1_txt hr { display: block; background-color: #D7E0E9; border: 0; height: 1px; margin: 1.875em 0; }
.clinic1_txt p { font-size: 1.25em; line-height: 1.6; }

.clinic2_con { text-align: center; }
.clinic2_list { display: flex; gap: 1.875em 1em; justify-content: space-around; align-items: center; position: relative; padding: 3em 2em 0; }
.clinic2_list::before { content:""; width: 100%; height: 50%; position: absolute; top: 0; left: 0; border-radius: 999px 999px 0 0; background: linear-gradient(to right, #7EAAEE, #0b4aab); }
.clinic2_list::after { content:""; width: calc(100% - 1.25em); height: 50%; position: absolute; top: 0; left: 0; background-color: #fff; margin: 0.625em; border-radius: 999px 999px 0 0; }
.clinic2_item { flex: 1 1 20%; max-width: 400px; aspect-ratio: 1/1; color: #fff; display: flex; justify-content: center; align-items: center; -webkit-border-radius: 9999px;-moz-border-radius: 9999px;border-radius: 9999px; position: relative; z-index: 5; padding: 1.25em; flex-direction: column; }
.clinic2_item small { font-weight: 600; font-size: 1.5em;border-bottom: 2px solid #fff; padding-bottom: 0.2em; }
.clinic2_item h5 { font-size: 2.25em; font-weight: 500; margin: 0.2em 0; }
.clinic2_item p { font-size: 1.125em; line-height: 1.4; opacity: 0.7; padding-top: 0.3em; }
.clinic2_item1 { background-color: #7EAAEE; }
.clinic2_item2 { background-color: #4278CB; }
.clinic2_item3 { background-color: #0b4aab; }
.clinic2_arrow { background-color: #C9DDFF; font-size: 1.5em; aspect-ratio: 1/1; width: 1.5em; -webkit-border-radius: 5em;-moz-border-radius: 5em;border-radius: 5em; display: inline-flex; justify-content: center; align-items: center; color: #fff; position: relative; z-index: 5; }

.clinic3_list { display: grid; grid-template-columns: repeat(auto-fit, minmax(330px, 1fr)); gap: 1.5em 1.25em; justify-content: center; }
.clinic3_list-2 { grid-template-columns: repeat(auto-fit, minmax(500px, 1fr)); }
/*.clinic3_txt { padding: 3em; }*/
.clinic3_txt { border: 1px solid #c1cee5; padding: 3.625em 2.5em; -webkit-border-radius: 1em;-moz-border-radius: 1em;border-radius: 1em; }
.clinic3_txt h5 { font-size: 1.5em; font-weight: 700; }
.clinic3_txt p { font-size: 1.125em; line-height: 1.6; font-weight: 500; margin-top: 1em; color: #666; }
.clinic3_img { text-align: center; display: flex; justify-content: center; align-items: center; }
.clinic3_img img { max-height: 80% }

.clinic4_con { display: grid; grid-template-columns: 1fr 1.2fr; gap: 3em; align-items: center; }
.clinic4_img { -webkit-border-radius: 1em;-moz-border-radius: 1em;border-radius: 1em; overflow: hidden; }
.clinic4_img img { width: 100%; }
.clinic4_txt { text-align: left; direction: ltr; }
.clinic4_txt h4 { font-size: 1.5em; font-weight: 600; text-transform: uppercase; }
.clinic4_txt h5 { font-size: 2.25em; font-weight: 600; margin: 0.375em 0 0.75em; }
.clinic4_txt p { font-size: 1.25em; line-height: 1.8; }
.clinic4_con_list { display: flex; flex-direction: column; gap: 6em; }
.clinic4_con_list li:nth-child(even) { direction: rtl; }

.clinic5_con { text-align: center; }
/*.clinic5_list { display: grid; grid-template-columns: repeat(auto-fit,minmax(200px, 1fr)); row-gap: 3em; justify-content: space-between; align-items: flex-start; }*/
.clinic5_list { display: flex; row-gap: 2em; justify-content: space-around; align-items: flex-start; }
.clinic5_list li { flex: 1 1 15% ; }
.clinic5_list img { width: 90%; max-width: 230px; margin-bottom: 2em; }
.clinic5_list p { font-weight: 700; font-size: 1.5em; line-height: 1.4; }

.clinic6_list { width: 100%; max-width: 1100px; margin: 0 auto 4em; }
.clinic6_list li { background-color: #ECF3FF; -webkit-border-radius: 999px;-moz-border-radius: 999px;border-radius: 999px; margin-bottom: 1em; display: flex; justify-content: flex-start; align-items: center; gap: 1em; padding: 0.8125em; }
.clinic6_list .icon { font-size: 3em; width: 1.5em; aspect-ratio: 1/1; -webkit-border-radius: 999px;-moz-border-radius: 999px;border-radius: 999px; color: #0b4aab; background-color: #fff; display: inline-flex; justify-content: center; align-items: center; font-weight: 700;  }
.clinic6_list p { font-size: 1.5em; font-weight: 500; }

.clinic7_con { text-align: center; }
.clinic7_list { justify-content: center; align-items: center; padding-left: 1.5em; display: grid; grid-template-columns: repeat(auto-fit, minmax(180px,1fr)); }
.clinic7_item { aspect-ratio: 1/1; border: 1px solid #c1cee5; -webkit-border-radius: 999px;-moz-border-radius: 999px;border-radius: 999px; display: flex; flex-direction: column; align-items: center; justify-content: center; margin-left: -1.5em; padding: 0 2em; }
.clinic7_item small { font-size: 1.125em; background-color: #0b4aab; color: #fff; -webkit-border-radius: 5em;-moz-border-radius: 5em;border-radius: 5em; display: inline-flex; justify-content: center; align-items: center; aspect-ratio: 1/1; height: 2em; }
.clinic7_item h5 { font-size: 1.875em; font-weight: 700; margin: 0.5em 0 0.75em; }
.clinic7_item p { font-size: 1.125em; font-weight: 500; }
.clinic7_list.bg { grid-template-columns: repeat(auto-fit, minmax(400px,1fr)); padding-left: 0; gap: 1.25em 1.25em; }
.clinic7_list.bg .clinic7_item { margin: 0; -webkit-border-radius: 1em;-moz-border-radius: 1em;border-radius: 1em; padding: 3em 0; aspect-ratio: unset; border: 0; background-color: #F7FAFC; }
.clinic7_list.bg .clinic7_item h5 { margin-bottom: 0; font-size: 1.375em; }

.clinic8_con  { text-align: center; }
.clinic8_list { display: grid; grid-template-columns: repeat(auto-fit,minmax(1em,max-content)); justify-content: center; align-items: flex-start; gap: 1.5em; }
.clinic8_list li { position: relative; }
.clinic8_arrow { background-color: #C9DDFF; font-size: 1.5em; aspect-ratio: 1/1; width: 1.5em; -webkit-border-radius: 5em;-moz-border-radius: 5em;border-radius: 5em; display: inline-flex; justify-content: center; align-items: center; color: #fff; position: relative; z-index: 5; align-self: center; margin-top: -3em; }
.clinic8_list span { display: flex; justify-content: center; align-items: center; gap: 0.5em; margin-bottom: 2em; font-weight: 700;  }
.clinic8_list span small { font-size: 1em; background-color: #0b4aab; color: #fff; -webkit-border-radius: 5em;-moz-border-radius: 5em;border-radius: 5em; display: inline-flex; justify-content: center; align-items: center; aspect-ratio: 1/1; height: 2em; }
.clinic8_list span b { font-size: 1.25em; font-weight: 700; }
.clinic8_list img { width: 100%; border-radius: 1em 1em 0 0; }
.clinic8_list h5 { font-size: 1.75em; font-weight: 700; background-color: #0b4aab; color: #fff; padding: 0.25em; border-radius: 0 0 0.5em 0.5em; }
.clinic8_list p { font-size: 1.125em; margin-top: 1em; }

/* implant */
.implant1_con { width: 100%; background: url(../img/implant1_bg.png) no-repeat center/auto 100%; }
.implant1_list { font-weight: 500; position: relative; width: 100%; height: 100%; padding: 3em 0; display: flex; flex-direction: column; }
.implant1_item { display: flex; justify-content: flex-end; align-items: center; column-gap: 2em; }
.implant1_connect { flex-grow: 1; display: flex; align-items: flex-start; }
.implant1_connect .d-line { flex-grow: 1; border-bottom: 1px solid #191919; }
.implant1_connect .icon { font-size: 3em; width: 1.125em; aspect-ratio: 1/1; background-color: #0b4aab; color: #fff; -webkit-border-radius: 999px;-moz-border-radius: 999px;border-radius: 999px; text-align: center; line-height: 1.125; position: relative; z-index: 1; }
.implant1_txt h5 { font-size: 2.25em; }
.implant1_txt span { width: 6.25em; height: 2px; background-color: #0b4aab; display: block; margin: 1em 0; }
.implant1_txt p { font-size: 1.25em; line-height: 1.4; }
.implant1_item1 { width: 47%; align-self: flex-end; }
.implant1_item1 .implant1_connect { margin-top: -16%; }
.implant1_item1 .implant1_connect .d-line { height: 2.5em; border-left: 1px solid #191919; transform: skewX(30deg) translate(-2em,90%); }
.implant1_item2 { width: 48%; flex-direction: row-reverse; }
.implant1_item2 .implant1_connect { flex-direction: row-reverse; margin-top: -16%; }
.implant1_item2 .implant1_connect .d-line { height: 2.5em; border-right: 1px solid #191919; transform: skewX(-30deg) translate(2em,90%); }
.implant1_item3 { width: 49%; align-self: flex-end; transform: translateY(-20%); }
.implant1_item3 .implant1_connect { margin-top: 0; }
.implant1_item3 .implant1_connect .d-line { height: 2.5em; transform: translate(-2em,-27%); }

/* perio */
.perio1_con { text-align: center; padding: 6em 0; }
.perio1_list { width: 100%; max-width: 600px; aspect-ratio: 1/1; margin: auto; position: relative; border: 5px dashed rgba(11,74,171,0.3); -webkit-border-radius: 9999px;-moz-border-radius: 9999px;border-radius: 9999px; }
.perio1_item { width: 30%; position: absolute; aspect-ratio: 1/1; -webkit-border-radius: 999px;-moz-border-radius: 999px;border-radius: 999px; display: flex; justify-content: center; align-items: center; top: 50%; left: 50%; transform: translate(-50%,-50%);  }
.perio1_item p { font-size: 1.75em; font-weight: 700; color: #fff; }
.perio1_txt1, .perio1_txt3 { background-color: #233F80; }
.perio1_txt2 { background-color: #4278CB; }
.perio1_txt5 { background-color: #7EAAEE; }
.perio1_txt4, .perio1_txt6 { background-color: #4399FF; }
.perio1_img { width: 55%; background-color: #0b4aab; box-shadow: 0 0.25em 1.25em 0.75em #B9D5FF; }
.perio1_img img { width: 54%; }
.perio1_txt1 { top: 0; left: 50%; }
.perio1_txt2 { top: 25%; left: 100%; }
.perio1_txt3 { top: 75%; left: 100%; }
.perio1_txt4 { top: 100%; left: 50%; }
.perio1_txt5 { top: 75%; left: 0; }
.perio1_txt6 { top: 25%; left: 0; }

/* prevention */
.prevention1_con { position: relative; text-align: center; padding: 3em 1em; }
.prevention1_con::before,
.prevention1_con::after { content:""; border: 6px solid #c1cee5; width: 3em; height: 100%; position: absolute; top: 0; bottom: 0; }
.prevention1_con::before { left: 0; border-right: 0; }
.prevention1_con::after { right: 0; border-left: 0; }
.prevention1_con h4 { font-size: 2.75em; }
.prevention1_con hr { display: block; width: 2px; height: 4.5em; background-color: #0b4aab; margin: 2em auto; }
.prevention1_con p { font-size: 1.25em; line-height: 1.6; }

.page-prevention .clinic8_list img { -webkit-border-radius: 0;-moz-border-radius: 0;border-radius: 0; }
.page-prevention .clinic8_list h5 { -webkit-border-radius: 0.5em;-moz-border-radius: 0.5em;border-radius: 0.5em; }

/* idx ---------------------------------------------------- */
.idx_visual .swiper-wrapper { min-height: calc(var(--vh) * 100); }
.idx_visual .swiper-slide { display: flex; justify-content: center; align-items: center; height: auto !important; }
.idx_section { padding: 8em 0; }

.idx_title { margin-bottom: 3em; position: relative; }
.idx_title .line { overflow: hidden; }
.idx_title p { font-size: 1.125em; font-weight: 600; margin-bottom: 0.75em; }
.idx_title h2 { font-size: 2.75em; font-weight: 500; }

.idx_more { text-transform: uppercase; position: absolute; right: 0; bottom: 0; font-size: 0.9375em; color: #666; padding-right: 0.2em; margin-bottom: 0.5em; }
.idx_more::before { content:""; width: 1.125em; aspect-ratio: 1/1; background-color: #C7DDFF; -webkit-border-radius: 99px;-moz-border-radius: 99px; border-radius: 99px; position: absolute; right: 0; bottom: 0; transition: 0.25s; }
.idx_more span { position: relative; display: inline-flex; gap: 0.5em; align-items: center; }
.idx_more img { height: 1em; transition: 0.25s; }
.idx_more:hover::before { transform: scale(1.6); }
.idx_more:hover img { margin-left: 0.5em; }

.idx_visual { --swiper-theme-color: #fff; }
.idx_visual .swiper-slide { color: #fff; padding-top: 2.625em; background: no-repeat center/cover; }
.idx_visual .swiper-button-prev { left: 3%; }
.idx_visual .swiper-button-next { right: 3%; }
.idx_visual .swiper-button-prev::after,
.idx_visual .swiper-button-next::after { font-size: 2em; }
.idx_visual .line { overflow: hidden; }
.idx_visual h2 { font-size: 3.75em; font-weight: 600; }
.idx_visual p { font-size: 1.375em; font-weight: 500; margin-top: 2em; line-height: 1.5; }

.idx_about_list { display: flex; gap: 1.5em; }
.idx_about_list li { flex: 1 1 20%; aspect-ratio: 1/1.4; background: no-repeat center bottom/cover; -webkit-border-radius: 1em;-moz-border-radius: 1em;border-radius: 1em; color: #fff; padding: 1.875em; display: flex; flex-direction: column; justify-content: flex-end; }
.idx_about_list h5 { font-size: 1.5em; font-weight: 700; }
.idx_about_list p { font-size: 1.125em; font-weight: 500; margin-top: 0.5em; line-height: 1.5; }

.idx_ceo { background-color: #F7FAFC; }
.idx_ceo .ceo { position: relative; }
.idx_ceo .ceo_img { width: 43%; position: absolute; right: 0; top: 50%; transform: translateY(-50%); }
.idx_ceo .ceo_txt_heading p { font-size: 1.25em; line-height: 1.4; }
.idx_ceo .ceo2 .ceo_img { right: auto; left: 0; }

.idx_medical .swiper-medical-tabs { text-align: center; font-size: 1.125em; line-height: 2.8; border-bottom: 1px solid #dedede; margin-bottom: 3em; }
.idx_medical .swiper-medical-tabs .swiper-slide { color: #a1a1a1; border-bottom: 2px solid transparent; margin-bottom: -1px; cursor: pointer; }
.idx_medical .swiper-medical-tabs .swiper-slide-thumb-active { font-weight: 700; color: #191919; border-bottom-color: #0b4aab; }
.idx_medical .swiper-medical-tabs .swiper-slide-thumb-active { font-weight: 700; color: #191919; border-bottom-color: #0b4aab; }
.idx_medical .swiper-medical-cons .swiper-slide { display: grid; grid-template-columns: 1.25fr 1fr; gap: 2em; height: auto; }
.idx_medical .swiper-medical-cons .txt { padding-top: 1em; padding-bottom: 2em; }
.idx_medical .swiper-medical-cons .txt h4 { font-size: 2em; font-weight: 600; }
.idx_medical .swiper-medical-cons .txt h5 { font-size: 1.125em; font-weight: 700; margin: 1.8em 0 0.875em; }
.idx_medical .swiper-medical-cons .txt p { font-size: 1.125em; font-weight: 500; }
.idx_medical .swiper-medical-cons .txt ul { display: flex; gap: 1em; text-align: center; margin-top: 1.5em; }
.idx_medical .swiper-medical-cons .txt li { flex-grow: 1; -webkit-border-radius: 0.5em;-moz-border-radius: 0.5em;border-radius: 0.5em; border: 1px solid #0b4aab; padding: 1em; }
.idx_medical .swiper-medical-cons .txt li span,
.idx_medical .swiper-medical-cons .txt li b { font-size: 1.125em; }
.idx_medical .swiper-medical-cons .txt li .d-line { display: block; width: 1.25em; height: 1px; margin: 0.75em auto; background-color: #0b4aab; }
.idx_medical .swiper-medical-cons .img { -webkit-border-radius: 1em;-moz-border-radius: 1em;border-radius: 1em; overflow: hidden; }
.idx_medical .swiper-medical-cons .img img { width: 100%; height: 100%; object-fit: cover; }
.idx_medical .swiper-medical-cons .swiper-nav { display: flex; justify-content: center; align-items: center; gap: 0.57em; position: absolute; left: 0; bottom: 0; z-index: 5; }
.idx_medical .swiper-medical-cons .swiper-btn { cursor: pointer; }
.idx_medical .swiper-medical-cons .swiper-pagination { color: #a1a1a1; position: static; width: auto; }
.idx_medical .swiper-medical-cons .swiper-pagination i { font-style: normal; font-weight: 200; margin: 0 0.5em; }
.idx_medical .swiper-medical-cons .swiper-pagination-current { color: #0b4aab; font-weight: 500; }

.idx_treatment { --swiper-theme-color: #0b4aab; padding-top: 0 !important;}
.idx_treatment .swiper-slide .img { width: 100%; aspect-ratio: 1/0.55; position: relative;border-radius: 0.5em; overflow: hidden; display: flex; justify-content: center; }
.idx_treatment .swiper-slide .img img { width: 50%; height: 100%; object-fit: cover; }
/*.idx_treatment .swiper-slide .img::before,*/
/*.idx_treatment .swiper-slide .img::after { display: block; position: absolute; width: 50%; bottom: 0;color: #fff; text-align: center; line-height: 2; z-index: 5; }*/
/*.idx_treatment .swiper-slide .img::before { content:"Before"; background-color: #85A5D5; left: 0; }*/
/*.idx_treatment .swiper-slide .img::after { content:"After"; background-color: #0b4aab; right: 0;  }*/

.idx_treatment .swiper-slide .img .non_member { position: absolute; right: 0; top: 0; width: 50%; height: 100%; background-color: rgba(0,0,0,0.35); backdrop-filter: blur(0.25em); color: #fff; display: flex; justify-content: center; align-items: center; z-index: 5; }
.idx_treatment .swiper-slide p { font-size: 1.125em; font-weight: 600; margin-top: 1em; text-align: center; overflow: hidden; -ms-text-overflow: ellipsis;text-overflow: ellipsis; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1; }
.idx_treatment .idx_treatment_box { position: relative; }
.idx_treatment .swiper-button-prev { left: auto; right: 103%; margin-top: -2.5em; }
.idx_treatment .swiper-button-next { right: auto; left: 103%; margin-top: -2.5em; }
.idx_treatment .swiper-pagination { position: static; margin-top: 2em; }

.idx_digital { background: url('../img/idx_digital_bg.jpg') no-repeat center top/100%; }
.idx_digital .idx_title { color: #fff; }
.idx_digital .idx_more { color: #fff; }
.idx_digital .idx_more img { filter: grayscale(1) brightness(0) invert(1); }
.idx_digital .digital_list { display: flex; justify-content: space-between; align-items: flex-start; gap: 2em; }
.idx_digital .digital_list li { text-align: center; }
.idx_digital .digital_list .img { border: 1px solid #D7E0E9; -webkit-border-radius: 1em;-moz-border-radius: 1em;border-radius: 1em; overflow: hidden; background-color: #fff;}
.idx_digital .digital_list .img img { width: 90%; }
.idx_digital .digital_list h5 { font-size: 1.5em; font-weight: 700; margin: 0.875em 0 0.4em; }
.idx_digital .digital_list p { font-size: 1.125em; color: #666; line-height: 1.5; }

.idx_banner { background: url('../img/idx_banner_bg.jpg') no-repeat center/cover; color: #fff; }
.idx_banner .banner_box { display: flex; justify-content: space-between; align-items: center; }
.idx_banner .idx_title { margin-bottom: 0; }
.idx_banner .banner_txt { max-width: 700px; width: 100%; }
.idx_banner .banner_txt h4 { font-size: 2em; }
.idx_banner .banner_txt p { font-size: 1.125em; line-height: 1.6; margin-top: 1em; }

.idx_space .space_list { display: flex; flex-wrap: wrap; gap: 1.5em 1.5em; }
.idx_space .space_list li { width: calc((((100% - 1.5em)/2) - 1.5em)/2); border-radius: 1em; overflow: hidden; }
.idx_space .space_list img { width: 100%; height: 100%; object-fit: cover; }
.idx_space .space_list .big { width: calc((100% - 1.5em)/2); }

.idx_location { background-color: #f7fafc; position: relative; }
.idx_location .location_map { -webkit-border-radius: 0;-moz-border-radius: 0;border-radius: 0; position: absolute; right: 0; top: 0; width: 60vw; height: 100%; margin-bottom: 0; }
.idx_location .location_con { padding: 2em 0; }
.idx_location .location_item { padding: 1.5em 0; border-bottom: 1px solid #EAEAEA; }
.idx_location .location_item:last-child { border-bottom: 0; }
.idx_location .location_item h4 { font-size: 1.25em; font-weight: 700; margin-bottom: 0.75em; }
.idx_location .location_item p { font-size: 1em; }
.idx_location .location_item p b { font-size: 2.75em; font-weight: 700; }
.idx_location .location_time li { border-bottom: 0; padding: 0 0 0.5em; }
.idx_location .location_time h5 { font-size: 1em; }


/* 반응형 ----------------------------------------------- */
.br-mo, .br-tb, .br-pc { display: none; }
@media screen and (max-width: 1480px){
    .wrapper { font-size: 1.125vw; }
    .container { width: 94%; }
    #hd_pop { width: 90%; }
    .idx_visual .swiper-slide { text-align: center; }
    .idx_treatment .swiper-button-prev,
    .idx_treatment .swiper-button-next { display: none; }
}
@media screen and (max-width: 1360px){
    .br-pc { display: block; }
    .quick { padding: 1em; }
    .quick .container { width: 100%; }
    .quick_form { grid-template-columns: repeat(3,1fr) 0.5fr 0.5fr; gap:1%; }
    .quick_form .agree_box span { margin-right: 0; }
}
@media screen and (max-width: 1280px){
    .wrapper { font-size: 1.25vw; word-break: keep-all; }

    .location_box h4 { font-size: 2em; }
    .location_addr { font-size: 1.75em; }
    .location_traffic .badge { width: 4.25em; }
    .location_traffic .badge, .location_tel .badge { font-size: 1.25em; }
    .clinic1_con { grid-template-columns: 1fr 1.5fr; }

    .idx_about_list li { padding: 1.25em; }
    .idx_ceo .ceo_img { top: auto; transform: translateY(0); bottom: 0; }
    .idx_medical .swiper-medical-cons .txt ul { flex-wrap: wrap; }
    .idx_medical .swiper-medical-cons .txt li { flex: 1 1 40%; }
    .idx_medical .swiper-medical-cons .txt br { display: none; }
    .idx_digital { background-size: auto 50%; }
}
@media screen and (max-width: 1024px){
    .wrapper { font-size: 1.5vw; line-height: 1.4; }
    .container { width: 92%; }
    .hd_gnb { font-size: 1.125em; }
    .ft { margin-bottom: 6em; }
    .ft_logo { height: 3.25em; }

    .gallery_list { grid-template-columns: repeat(2 ,minmax(150px,1fr)); }
    .board #bo_w { font-size: 1.25em; }

    .br-pc { display: none; }

    .floating { bottom: 10%; font-size: 1.125em; }
    .quick { font-size: 1.25em; transform: translateY(100%); bottom: 5em; -webkit-transition: 0.3s;-moz-transition: 0.3s;-ms-transition: 0.3s;-o-transition: 0.3s;transition: 0.3s; position: fixed; }
    .quick_form { display: flex; flex-direction: column; gap: 0.5em; }
    .quick_form .btn_submit { order: -1; width: 100%; margin-bottom: 1em; }
    .quick_form .agree_box span { margin-right: 0.25em; }
    .quick.open { transform: translateY(0); bottom: 0;}
    .quick.open .quick_form .btn_submit { margin-bottom: 0.5em; }

    /* 줄내림 ------------------------------------------*/
    .clinic_list p br,
    .clinic1_txt p br,
    .clinic4_txt p br,
    .clinic2_item p br,
    .clinic7_item p br,
    .clinic8_list p br,
    .clinic3_txt p br,
    .clinic5_list p br { display: none; }

    .br-tb { display: block; }
    .br-tb-none { display: none; }
    /* 줄내림 ------------------------------------------*/

    .page-visual .container { aspect-ratio: 1/0.3; }
    .page-visual h2 { font-size: 2.875em; }
    .page-visual p { font-size: 1.125em; }
    .page-breadcrumb { font-size: 0.875em; }
    .page-lnb ul { height: 3.5em; }
    .page-lnb li { font-size: 1.125em; }
    .page-content { padding-top: 5em; }
    .page-section { margin-bottom: 8em; }
    .page-title p { font-size: 1.125em; }
    .page-title h3 { font-size: 2.875em; }
    .page-title .d-line { width: 4em; }
    .page-desc { font-size: 1.25em; }
    .page-info { padding: 3em 2em; }
    .page-info h5 { font-size: 1.75em; }
    .page-info p { font-size: 1.125em; }

    .ceo { gap: 3em; }
    .ceo_txt { flex-grow: 1; }
    .ceo_txt_content { flex-direction: column; }
    .space h4 { font-size: 2em; }
    .space .guide { font-size: 1.125em; }
    .space_modal_content .swiper-button-next { right: 3%; left: auto; }
    .space_modal_content .swiper-button-prev { left: 3%; right: auto; }
    .location_map { aspect-ratio: 1/0.5; }
    .location_con { flex-direction: column; gap: 2em; }
    .location_line { border-bottom: 2px dashed #C1CEE5; border-left: 0; }
    .location_line, .location_box { width: 100%; }
    .location_box h4 { font-size: 2em; }
    .location_time { display: flex; flex-wrap: wrap; }
    .location_time li { flex: 1 1 40%; }
    .location_time li:nth-child(3) { flex: 1 1 100%; }
    .location_time li:nth-last-child(-n+2) { border-bottom: 0; }
    .location_time h5 {  width: 6.5em; }
    .location_time p { font-size: 1.5em; }
    .location_time .badge { margin: 0; position: absolute; right: 32%; width: 18%; padding: 0.2em 0; }
    .location_traffic { display: flex; margin-top: 1.5em; }
    .location_traffic li { flex: 1 1 40%; }

    .clinic_list li { gap: 2.5em; }
    .clinic_list .img { width: 40%; flex-shrink: 0; }
    .clinic_list .txt { width: 60%; }
    .clinic2_list { padding: 2em; }
    .clinic2_item { padding: 0 1.5em; }
    .clinic2_item h5 { font-size: 1.5em; }
    .clinic2_item p { font-size: 1em; padding: 0.5em; }
    .clinic3_list-2 { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)) }
    .clinic3_txt { padding: 1.5em 2em; }
    .clinic3_img img { height: 65%; }
    .clinic5_list img { width: 70%; }
    .clinic5_list p { font-size: 1.125em; }
    .clinic5_list-2 { flex-wrap: wrap; justify-content: center; }
    .clinic5_list-2 li { flex: 0 1 30%; }
    .clinic7_list { padding-left: 1em; }
    .clinic7_item { padding: 0 1em; margin-left: -1em; }
    .clinic7_item h5 { font-size: 1.5em; }
    .clinic7_item p { font-size: 1em; padding: 0 0.5em 0.5em; }
    .clinic8_list h5 { font-size: 1.25em; padding: 0.25em; }

    .implant1_item { gap: 0.5em; }
    .implant1_connect { position: relative; z-index: 5; }
    .implant1_txt { width: 75%; }
    .implant1_txt br { display: none; }
    .implant1_txt h5 { font-size: 2em; }
    .perio1_img { width: 45%; }
    .prevention1_con hr { height: 3em; }

    .idx_section { padding: 6em 0; }
    .idx_more { font-size: 1.125em; }
    .idx_visual p { font-size: 1.5em; }
    .idx_about_list { flex-wrap: wrap; }
    .idx_about_list li { flex: 1 1 40%; aspect-ratio: 1/0.8; background-position: center top; overflow: hidden; }
    .idx_about_list li > * { position: relative; }
    .idx_about_list li::before { content:""; width: 100%; height: 60%; position: absolute; left: 0; bottom: 0; background: linear-gradient(to bottom, transparent, rgba(0,0,0,0.7)); }
    .idx_ceo .ceo2 .ceo_img { left: auto; right: 0; }
    .idx_digital { background-size: auto 35%; }
    .idx_digital .digital_list { flex-wrap: wrap; }
    .idx_digital .digital_list li { flex: 1 1 40%; }
    .idx_digital .digital_list .img img { width: 70%; }
    .idx_banner .banner_box { flex-direction: column; text-align: center; align-self: center; gap: 2em; }
    .idx_location .location_con { padding: 4em 0; }
    .idx_location .location_list { font-size: 1.125em; display: flex; flex-wrap: wrap; }
    .idx_location .location_item { flex: 1 1 40%; }
    .idx_location .location_item:last-child { flex: 1 1 100%; }
    .idx_location .location_item h4 { font-size: 1.5em; }
    .idx_location .location_time { font-size: 1.375em; }
    .idx_location .location_time .badge { right: 33%; width: 17%; }
    .idx_location .location_map { width: 100%; position: static; height: auto; aspect-ratio: 1/0.5; }
}
@media screen and (max-width: 768px){
    .wrapper { font-size: 2vw; }
    .hd { font-size: 1.125em; }
    .hd_gnb { padding: 0 1em; }
    .hd_gnb_list .swiper-slide { padding: 0 1em; }
    .ft { text-align: center; padding: 2.5em 0; }
    .ft_box { flex-direction: column; justify-content: center; align-items: center; gap: 2em; }
    .ft_btm { flex-direction: column; justify-content: center; align-items: center; gap: 1em; }

    #bo_list form,
    .bo_v_con { font-size: 1.125em; }
    .bo_top { margin-top: 2em; }
    .bo_v_title { font-size: 2em; }
    .bo_v_con { margin-top: 1em; }
    .form_01 li.half { width: 100% !important; }

    .page-visual .container { aspect-ratio: 1/0.4; }
    .page-title h3 { font-size: 2.5em; }
    .page-desc { margin-bottom: 2em; }
    .page-desc br { display: none; }

    .ceo { position: relative; }
    .ceo_img { position: absolute; bottom: 0; right: 0; width: 50%; }
    .ceo_txt_content { font-size: 1.125em; }
    .location_time li { flex: 1 1 80%; }
    .page .location_time li:nth-last-child(2) { border-bottom: 1px solid #c1cee5; }
    .location_time .badge { position: static; width: auto; padding: 0.25em 0.625em; margin-left: 0.5em;  }
    .location_addr { font-size: 1.5em; }

    .clinic_list li { flex-direction: column !important; }
    .clinic_list .img { width: 80%; }
    .clinic_list .txt { width: 90%; text-align: center; }
    .clinic1_con { position: relative; display: block; padding: 1em 2%; }
    .clinic1_img { width: 100%; aspect-ratio: 1/0.6; -webkit-border-radius: 1em;-moz-border-radius: 1em;border-radius: 1em; max-width: none; }
    .clinic1_txt { width: 100%; backdrop-filter: blur(0.2em); }
    .clinic1_txt b { color: rgba(0,0,0,0.03); font-size: 7em; right: 2%; top: 2%; }
    .clinic6_list { max-width: 100%; }
    .clinic2_list { flex-direction: column; }
    .clinic2_list::before,
    .clinic2_list::after { display: none; }
    .clinic2_item { flex: 1 1 100%; max-width: none; width: 100%; aspect-ratio: auto; -webkit-border-radius: 1em;-moz-border-radius: 1em;border-radius: 1em; padding: 1em 0; }
    .clinic2_arrow i { transform: rotate(90deg); }
    .clinic5_list { flex-wrap: wrap; }
    .clinic5_list li { flex: 0 0 46%; }
    .clinic5_list p { font-size: 1.375em; padding: 0 0.5em; }
    .clinic4_con { display: flex; flex-direction: column; }
    .clinic4_txt { text-align: center; direction: ltr; }
    .clinic7_list { display: flex; flex-wrap: wrap; padding:0; gap: 1em 1em; }
    .clinic7_list li { flex: 0 0 47.5%; margin: 0; }
    .clinic7_item h5 { padding: 0 0.5em; font-size: 1.625em; margin: 0.25em 0 0.5em; }
    .clinic7_item p { font-size: 1.25em; }
    .clinic8_list { gap: 2em 5%; display: flex; flex-wrap: wrap; justify-content: center; }
    .clinic8_list li { flex: 0 0 47.5%; width: auto; font-size: 1.125em;}
    .clinic8_arrow { display: none; }

    .perio1_list { width: 70%; }
    .prevention1_con { padding: 3em; }
    .prevention1_con p br { display: none; }
    .page-info p br { display: none; }
    .implant1_txt { font-size: 0.8em; }
    .implant1_connect .icon { font-size: 2em; }
    .implant1_item1 .implant1_connect .d-line { height: 2em; border-left: 1px solid #191919; transform: skewX(30deg) translate(-1em,90%); }
    .implant1_item2 .implant1_connect .d-line { height: 2em; border-right: 1px solid #191919; transform: skewX(-30deg) translate(1em,90%); }
    .implant1_item3 .implant1_connect .d-line { height: 2em; transform: translate(-1em,-27%); }

    .idx_visual h2 { font-size: 3em; }
    .idx_about_list li { aspect-ratio: 1/1.2; }
    .idx_medical .swiper-medical-tabs { margin-bottom: 1.5em; }
    .idx_medical .swiper-medical-cons .swiper-slide { display: flex; flex-direction: column-reverse; height: 100%; justify-content: flex-start; padding: 0 0.2em; }
    .idx_medical .swiper-medical-cons .img { aspect-ratio: 1/0.5; }
    .idx_medical .swiper-medical-cons .txt { padding-top: 0; }
    .idx_medical .swiper-medical-cons .txt ul { flex-wrap: nowrap; }
    .idx_medical .swiper-medical-cons .txt li { flex: 1 1 20%; }
    .idx_medical .swiper-medical-cons .txt h5 { margin: 1em 0 0.5em; }
    .idx_space .idx_more { position: relative; display: inline-block; margin-top: 1em; }
    /*.idx_medical .swiper-medical-cons .swiper-nav { display: none; }*/
    .idx_location .location_item { flex: 1 1 100%; }
    .idx_location .location_time .badge { position: static; width: auto; }
}
@media screen and (max-width: 586px){
    br { display: none; }
    .br-mo-none { display: none; }
    .br-mo { display: block; }
    .wrapper { font-size: 2.75vw; }
    .container { width: 90%; }

    .hd_pops { left: 50% !important; transform: translateX(-50%); }
    .hd_pops_footer { font-size: 0.875em; }
    
    .hd_gnb { padding: 0 0.875em; }
    .hd_gnb_list .swiper-slide { line-height: 3.25; padding: 0 0.875em; }
    .hd_top { height: 4em; }
    .hd_wrap { justify-content: flex-end; }
    .hd_addr, .hd_tel { display: none; }
    .hd.fixed { transform: translateY(-4em); }

    .bo_top { flex-wrap: wrap; }
    .search_bar { width: 100%; margin-top: 1em; }
    .search_bar input { flex-grow: 1; }
    .gallery_list { gap: 2em 1em; }
    .mbskin { font-size: 1.125em; }

    .page-visual .container { aspect-ratio: 1/0.55; padding-top: 0.5em; }
    .page-breadcrumb { font-size: 1em; bottom: 1em; }
    .page-lnb { font-size: 1.125em; }
    .page-lnb ul { gap: 1em; }
    .page-lnb li { flex-grow: 1; }
    .ceo_img { transform: translateY(35%); }
    .ceo_img::after { content:""; width: 100%; height: 100%; background: linear-gradient(135deg, #fff, transparent); position: absolute; left: 0; top: 0; }
    .ceo_txt_box::after { transform: translate(-40%,0); }
    .space_list { grid-template-columns: repeat(2,1fr); }
    .space_thumb .hover { gap: 0.25em; font-size: 1.25em; }
    .clinic_list .img { width: 90%; }
    .clinic1_img { height: 85%; }
    .implant1_con { background-size: auto 84%; }
    .clinic3_img { display: none; }
    .clinic2_item p { font-size: 1.125em; padding: 0 1em; }
    .clinic5_list { gap: 1em 1em; }
    .clinic7_item { padding-bottom: 0.5em; }
    .clinic7_item h5 { padding: 0 0.5em; font-size: 1.5em; margin: 0.375em 0 0.7em; }
    .perio1_item { width: 40%; }
    .perio1_item p { font-size: 1.375em; }
    .prevention1_con h4 { font-size: 2.25em; }
    .location_time li:last-child { padding-bottom: 0; }

    .idx_title h2 { font-size: 2.5em; }
    .idx_about_list li { aspect-ratio: 1/1.4; }
    .idx_ceo .ceo_img::after { background: linear-gradient(135deg, #F7FAFC, transparent); }
    .idx_medical .swiper-medical-cons .txt ul { flex-wrap: wrap; }
    .idx_medical .swiper-medical-cons .txt li { flex: 1 1 40%; }
    .idx_digital { background-size: auto 40%; }
    .idx_space .space_list li { width: calc((100% - 1.5em)/2); }
    .idx_space .space_list .big { width: calc((100% - 1.5em)/2); }

    .location_map,
    .idx_location .location_map { aspect-ratio: 1/0.6; }
    .location_time .badge { margin-left: 0; }
    .location_traffic { display: block; }
}
@media screen and (max-width: 360px){
    body { zoom: 0.9; }
}