@charset "utf-8";
/* 초기화 */
html {overflow:hidden;overflow-y:scroll;}
body {overflow:hidden;margin:0;padding:0;font-size:0.75em;font-family:var(--ff-sans);background:#fff}
html, h1, h2, h3, h4, h5, h6, form, fieldset, img {margin:0;padding:0;border:0; font-weight: normal;}
/* h1, h2, h3, h4, h5, h6 {font-size:1em;font-family:'Malgun Gothic', dotum, sans-serif} */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display:block}
ul, dl,dt,dd {margin:0;padding:0;list-style:none}
legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden}
label, input, button, select, img {vertical-align:middle;font-size:1em}
input, button {margin:0;padding:0;font-family:var(--ff-sans);font-size:.8em}
input[type="submit"] {cursor:pointer}
button {cursor:pointer}
strong {font-weight:inherit;}
textarea, select {font-family:var(--ff-sans);font-size:1em}
select {margin:0}
p {margin:0;padding:0;word-break:break-all}
hr {display:none}
pre {overflow-x:scroll;font-size:1.1em}
a {color:#000;text-decoration:none}
*, :after, :before {
  -webkit-box-sizing:border-box;
  -moz-box-sizing:border-box;
  box-sizing:border-box;
}
button {margin:0;padding:0;border:0;background:none;font:inherit;color:inherit;line-height:1;text-align:inherit;cursor:pointer;-webkit-appearance:none;appearance:none}
button:disabled {cursor:default}
button::-moz-focus-inner {padding:0;border:0}
#sns_login {border:0;margin-top:15px;border-top:1px solid #edeaea;width: 80%;margin: 0 auto;}
input[type=text],input[type=password], textarea {
-webkit-transition:all 0.30s ease-in-out;
-moz-transition:all 0.30s ease-in-out;
-ms-transition:all 0.30s ease-in-out;
-o-transition:all 0.30s ease-in-out;
outline:none;
}
input[type=text]:focus,input[type=password]:focus, textarea:focus,select:focus {
-webkit-box-shadow:0 0 5px #9ed4ff;
-moz-box-shadow:0 0 5px #9ed4ff;
box-shadow:0 0 5px #9ed4ff;
border:1px solid #558ab7 !important;
}
em {font-style: inherit;}
.placeholdersjs {color:#aaa !important}
html::-webkit-scrollbar {width: 5px;}
html::-webkit-scrollbar-thumb {background-color: #333; border-radius: 10px;}
::selection {background-color: #d6b9a3; color: white; }
/* Common */
.skip,
.skip a {width:0px;height:0px;line-height:0;border:none;position:fixed;top:0px;left:0px;font-size:0;overflow:hidden;z-index:100000;}
.skip a:focus, .skip a:active {width:100%;height:50px;line-height:50px;background:#21272e;color:#fff;font-size:24px;font-weight:bold;text-align:center;text-decoration:none;}
.hidden{width:0px;height:0px;line-height:0;border:none;position:absolute;top:0;left:0;font-size:0;overflow:hidden;}
.cfix:after{display:block;clear:both;content:"";}
.marno{margin:0}
.blind{ position: absolute; left:-9999px;}
.justify{text-align:justify;}
.justify:after {content:""; display:inline-block;width:100%;}
.ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;}
.pt160{padding-top:160px !important}
.pb160{padding-bottom:160px !important}
/* ===== UTILITY: ETC ===== */
.tac { text-align: center; }
.green { color: #035272; }


/* ===== 폰트 클래스 : 전부 2종 시스템으로 통일 (정의는 /assets/css/font.css) ===== */
.ff_nsk     {font-family:var(--ff-sans)}   /* 구 Noto Sans KR   */
.ff_bodoni  {font-family:var(--ff-serif)}  /* 구 Bodoni Moda    */
.ff_lbodoni {font-family:var(--ff-serif)}  /* 구 Libre Bodoni   */
.ff_chosun  {font-family:var(--ff-serif)}  /* 구 ChosunilboNM   */
.ff_jalnan  {font-family:var(--ff-serif)}  /* 구 JalnanGothic   */
/* ===== MAX WIDTH ===== */
.w1200 { max-width: 1200px; }
.w1280 { max-width: 1280px; }
.w1400 { max-width: 1400px; }
.w1480 { max-width: 1480px; }
/* 마진 */
.mb0{margin-bottom:0px !important;}
.mb5{margin-bottom:5px !important;}
.mb10{margin-bottom:10px !important;}
.mb15{margin-bottom:15px !important;}
.mb20{margin-bottom:20px !important;}
.mb25{margin-bottom:25px !important;}
.mb30{margin-bottom:30px !important;}
.mb35{margin-bottom:35px !important;}
.mb40{margin-bottom:40px !important;}
.mb45{margin-bottom:45px !important;}
.mb50{margin-bottom:50px !important;}
.mb55{margin-bottom:55px !important;}
.mb60{margin-bottom:60px !important;}
.mb65{margin-bottom:65px !important;}
.mb70{margin-bottom:70px !important;}
.mb75{margin-bottom:75px !important;}
.mb80{margin-bottom:80px !important;}
.mb85{margin-bottom:85px !important;}
.mb90{margin-bottom:90px !important;}
.mb95{margin-bottom:95px !important;}
.mb100{margin-bottom:100px !important;}
.mb150{margin-bottom:150px !important;}
.mt0{margin-top:0px !important;}
.mt5{margin-top:5px !important;}
.mt10{margin-top:10px !important;}
.mt15{margin-top:15px !important;}
.mt20{margin-top:20px !important;}
.mt25{margin-top:25px !important;}
.mt30{margin-top:30px !important;}
.mt35{margin-top:35px !important;}
.mt40{margin-top:40px !important;}
.mt45{margin-top:45px !important;}
.mt50{margin-top:50px !important;}
.mt55{margin-top:55px !important;}
.mt60{margin-top:60px !important;}
.mt65{margin-top:65px !important;}
.mt70{margin-top:70px !important;}
.mt75{margin-top:75px !important;}
.mt80{margin-top:80px !important;}
.mt85{margin-top:85px !important;}
.mt90{margin-top:90px !important;}
.mt95{margin-top:95px !important;}
.mt100{margin-top:100px !important;}
.mt150{margin-top:150px !important;}
.en{font-family:var(--ff-serif);}

/* font-size */
.txt180{font-size:180px;line-height:1.2; letter-spacing:-10px;}
.txt98{font-size:98px;line-height:1.2;}
.txt88{font-size:88px;line-height:1.2;}
.txt84{font-size:84px;line-height:1.2;}
.txt78{font-size:78px;line-height:1.2;}
.txt74{font-size:74px;line-height:1.2;}
.txt72{font-size:72px;line-height:1.2;}
.txt68{font-size:68px;line-height:1.2;}
.txt66{font-size:66px;line-height:1.2;}
.txt62{font-size:62px;line-height:1.2;}
.txt60{font-size:60px;line-height:1.2;}
.txt58{font-size:58px;line-height:1.2;}
.txt56{font-size:56px;line-height:1.2;}
.txt54{font-size:54px;line-height:1.2;}
.txt53{font-size:53px;line-height:1.2;}
.txt52{font-size:52px;line-height:130%;}
.txt50{font-size:50px;line-height:130%;}
.txt48{font-size:48px;line-height:130%;}
.txt46{font-size:46px;line-height:1.2;}
.txt45{font-size:45px;line-height:1.428;}
.txt44{font-size:44px;line-height:1.428;}
.txt42{font-size:42px;line-height:1.2;}
.txt40{font-size:40px;line-height:1.428;}
.txt38{font-size:38px;line-height:130%;}
.txt36{font-size:36px;line-height:1.428;}
.txt34{font-size:34px;line-height:1.428;}
.txt32{font-size:32px;line-height:1.428;}
.txt30{font-size:30px;line-height:180%;}
.txt28{font-size:28px;line-height:1.33;}
.txt26{font-size:26px;line-height:1.33;}
.txt24{font-size:24px;line-height:1.2;}
.txt22{font-size:22px;line-height:1.33;}
.txt21{font-size:21px;line-height:1.33;}
.txt20{font-size:20px;line-height:1.33;}
.txt19{font-size:19px;line-height:1.33;}
.txt18{font-size:18px;line-height:1.33;}
.txt17{font-size:17px;line-height:1.33;}
.txt16{font-size:16px;line-height:1.33;}
.txt15{font-size:15px;line-height:1.33;}
.txt14{font-size:14px;line-height:1.5;}
.txt13{font-size:13px;line-height:1.5;}
.txt12{font-size:12px;line-height:1.5;}
.txt11{font-size:11px;line-height:1.5;}
.txt10{font-size:10px;line-height:1.5;}
.txt8{font-size:8px;line-height:1.33;}
/* 공통 */
.row {width: 100%; margin:0 auto; position: relative;}
.tly-60{position:absolute;left:0;top:60%;width:100%;transform:translateY(-50%);-moz-transform:translateY(-50%);-webkit-transform:translateY(-50%);-o-transform:translateY(-50%);}
.tly-50{position:absolute;left:0;top:50%;width:100%;transform:translateY(-50%);-moz-transform:translateY(-50%);-webkit-transform:translateY(-50%);-o-transform:translateY(-50%);}
.tly-40{position:absolute;left:0;top:40%;width:100%;transform:translateY(-50%);-moz-transform:translateY(-50%);-webkit-transform:translateY(-50%);-o-transform:translateY(-50%);}
.tly-30{position:absolute;left:0;top:30%;width:100%;transform:translateY(-50%);-moz-transform:translateY(-50%);-webkit-transform:translateY(-50%);-o-transform:translateY(-50%);}
.tly-20{position:absolute;left:0;top:20%;width:100%;transform:translateY(-50%);-moz-transform:translateY(-50%);-webkit-transform:translateY(-50%);-o-transform:translateY(-50%);}
.sd-content p{font-size:18px !important; line-height:25px; word-break:keep-all;}
.sd-title{margin-bottom:20px}
.tlx-50{position:absolute;left:50%;top:0;transform:translateX(-50%);-moz-transform:translateX(-50%);-webkit-transform:translateX(-50%);-o-transform:translateX(-50%);}
.tl-50{position:absolute;left:50%;top:50%;transform:translate(-50%, -50%);-moz-transform:translate(-50%, -50%);-webkit-transform:translate(-50%, -50%);-o-transform:translate(-50%, -50%);}
article {position: relative;}
#wrap{background:#fff}
.white {color: #fff;}
.black {color: #151515;}
.gray {color: #666;}
.gray3 {color: #333;}
.gray8 {color: #888;}
.gray9 {color: #999;}
.beige {color: #c1a28e;}
.blue {color: #5baefe;}
.blue1 {color: #073083;}
.yellow {color:#ffdf5f;}
.orange {color:#ff660a;}
.yellowline {position: relative;display: inline-block;  }
.yellowline::after {content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 18px; background: rgba(250, 244, 148, 0.6); z-index: -1;}
.yellowline2 {position: relative;display: inline-block; }
.yellowline2::after {content: ''; position: absolute; left: 0; right: 0; bottom: 10px; height: 10px; background: rgba(250, 244, 148, 0.4); z-index: -1;}
.blueline {position: relative;display: inline-block; color:#073083 }
.blueline::after {content: ''; position: absolute; left: 0; right: 0; bottom: -3px; height: 5px; background:rgba(7,48,131,1);}
.orangeline {position: relative;display: inline-block; color:#db590a }
.orangeline::after {content: ''; position: absolute; left: 0; right: 0; bottom: -3px; height: 5px; background:rgba(255,102,10,1);}
.all_block {display: block;}
.inline_1280 {display: block;}
.inline_1000 {display: block;}
.inline_980 {display: block;}
.inline_820 {display: block;}
.inline_520 {display: block;}
.in820_b520 {display: block;}
.fwn {font-weight: normal;}
.fwb {font-weight: bold;}
.fw100 {font-weight: 100;}
.fw200 {font-weight: 200;}
.fw300 {font-weight: 300;}
.fw350 {font-weight: 350;}
.fw400 {font-weight: 400;}
.fw500 {font-weight: 500;}
.fw600 {font-weight: 600;}
.fw700 {font-weight: 700;}
.fw800 {font-weight: 800;}
.fw900 {font-weight: 900;}
.wk {-ms-word-break: keep-all;word-break: keep-all;}
.tac {text-align: center;}
.tal {text-align: left;}
.tar {text-align: right;}
.pd30{ padding-left:30px;}
.pd18{ padding-left:18px;}
.pd10{ padding-left:10px;}
.lh1 {line-height: 1;}
.lh12 {line-height: 1.2;}
.lh13 {line-height: 1.33;}
.lh15 {line-height: 1.5;}
.lh17 {line-height: 1.7;}
.lh2 {line-height: 2;}
.lh3 {line-height: 3;}
.lh125 {line-height:1.25}
.lh14 {line-height:1.4}
.lh143 {line-height:1.428}
.lh155 {line-height:1.555}
.lh171 {line-height:1.714}
.ls002 {letter-spacing:.02em}
.ls018 {letter-spacing:.18em}
.ls036 {letter-spacing:.36em}
.ls06 {letter-spacing:.6em}
.lsm045 {letter-spacing:-.045em}
.lsm05 {letter-spacing:-.05em}
.lsm055 {letter-spacing:-.055em}
.lsm065 {letter-spacing:-.065em}
.lsm07 {letter-spacing:-.07em}
.lsm075 {letter-spacing:-.075em}
.w2100 {max-width: 2130px; margin: 0 auto; position: relative; padding: 0 15px;}
.w1800 {max-width: 1830px; margin: 0 auto; position: relative; padding: 0 15px;}
.w1600 {max-width: 1630px; margin: 0 auto; position: relative; padding: 0 15px;}
.w1500 {max-width: 1530px; margin: 0 auto; position: relative; padding: 0 15px;}
.w1400 {max-width: 1430px; margin: 0 auto; position: relative; padding: 0 15px;}
.w1300 {max-width: 1330px; margin: 0 auto; position: relative; padding: 0 15px;}
.w1200 {max-width: 1230px; margin: 0 auto; position: relative; padding: 0 15px;}
.w1100 {max-width: 1130px; margin: 0 auto; position: relative; padding: 0 15px;}
.w1000 {max-width: 1030px; margin: 0 auto; position: relative; padding: 0 15px;}
.w900 {max-width: 930px; margin: 0 auto; position: relative; padding: 0 15px;}
.w800 {max-width: 830px; margin: 0 auto; position: relative; padding: 0 15px;}
.w600 {max-width: 630px; margin: 0 auto; position: relative; padding: 0 15px;}
.ff_eulyoo {font-family: var(--ff-serif); }
.ff_futura {font-family: var(--ff-sans);}
.ff_mont   {font-family: var(--ff-sans);}
.ff_nSerif {font-family: var(--ff-serif);}
.cir_rotate { animation: progress_Rotate 20s linear infinite; }
.full_img {width: 2000px;position: relative; left: 50%; margin-left: -1000px;}
.slick-prev:before,
.slick-next:before {display: none;}
#cursor{
	z-index: 99;
	position: fixed;
	left: 0;
	top: 0;
	pointer-events: none;
	will-change: transform;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: url("/assets/images/common/cursor_view.png")no-repeat center;
	transition: background 0.4s, width 0.6s, height 0.6s, transform .4s;
	transform: translate(-50%,-50%);
	background-size:cover;
	opacity:0;
}
#cursor.on {
	opacity:1;
	width:130px;
	height:130px;
	transition: background 0.4s, width 0.4s, height 0.4s, transform .4s;
	background-size:cover;
}
#cursor .cursor_cir {display: none;}
#cursor.cir {opacity: 1;width: 45px; height: 45px;pointer-events:none;background: none;mix-blend-mode:difference;will-change:transform;}
#cursor.cir:before {opacity: 1;transform:scale(1);}
#cursor:before {content:''; display: block;border: 2px solid #fff; width: 100%; height: 100%; position: absolute; top: -2px; left: -2px; transform:scale(.2); opacity: 0;border-radius:50%;}
#cursor.cir .cursor_cir {display: block;}
#cursor.cir .cursor_cir span {position: absolute; top: 50%; left: 0; display: block; width: 100%; text-align: center; transform:translateY(-50%);}
#cursor.cir .cursor_cir i {position: absolute; color: #fff;}
#cursor.cir .cursor_cir i.fa-angle-left {left: -40px; top: -9px; transform:translateX(17px)}
#cursor.cir .cursor_cir i.fa-angle-right {right: -40px; top: -9px;transform:translateX(-20px)}
/* 팝업로그인 */
#pop_login {position:fixed; top:0; left:0; width:100%; height:100%; z-index:10000; display:none; }
#pop_login .dimmed{position:absolute; top:0; left:0; background:rgba(0,0,0,0.7); width:100%; height:100%;}
#pop_mb_login {width:450px; height:auto; position:absolute; top:50%; left:50%; -ms-transform:translate(-50%,-50%); -webkit-transform:translate(-50%,-50%); transform:translate(-50%,-50%); background:#FFFFFF;  /*overflow: hidden;*/ margin: 0;  border-radius:35px;}
#pop_login .in {padding: 10px 0; min-height:222px; padding:20px 0 0 0;}
#pop_login .in .tit {font-size: 15px; font-weight: 500; margin:0 0 15px; letter-spacing:-1px; line-height:150%;  }
#pop_login .in .tit .mint {color: #1f9f9d;}
.poplogin_btn {cursor: pointer;}
#plogin_fs {vertical-align: middle; width:100%; margin:0 auto; padding:0 45px;}
#login_fs{padding:0 50px}
#pop_mb_login #lpogin_fs .frm_input{margin:0 0 10px;}
#pop_mb_login .frm_input{height: 50px; width: 100%;padding-left: 10px; margin-top:5px; border:1px solid #ddd; }
#pop_mb_login #plogin_fs .btn_submit { height: 50px;  width: 100%; padding: 0; margin: 0;text-align: center; background-color: #333; color:#fff;  border-radius:5px; font-size: 16px; margin-top:20px; border:none; }
#pop_mb_login #plogin_info{background:#f6f6f6;padding:15px 5px;border-top:1px solid #e8e8e8; background-color:#2b3751; margin:10px 45px 20px; }
#pop_mb_login #plogin_info:after {display:block;visibility:hidden;clear:both;content:""}
#pop_mb_login #plogin_info h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#pop_mb_login #plogin_info .btn_wrap a{display:inline-block;width:50%;float:left; text-align:center; padding: 0 25px; color:#fff; font-size:14px; transition:.5s; letter-spacing:-1px;}
#pop_mb_login #plogin_info .btn_wrap a:first-child {text-align: right;}
#pop_mb_login #plogin_info a:hover{color:#ddd;  }
#plogin_password_lost{border-right:1px solid #ddd}
.closeWrap{height:45px; padding:0 10px; color:#949393; background-color:#222; line-height:45px; width:100%; font-size:16px;   border-bottom-right-radius:35px;  border-bottom-left-radius:35px;}
#pop_mb_login_notmb{margin:30px auto;padding:20px 30px }
#pop_mb_login_notmb h2{font-size:1.25em;margin:20px 0 10px}
#guest_privacy{border:1px solid #ccc;text-align:left;line-height:1.6em;color:#666;background:#fafafa;padding:10px;height:150px;margin:10px 0;overflow-y:auto}
#pop_mb_login_notmb .btn_submit{display:block;text-align:center;line-height:45px}
#pop_mb_login_od_wr{margin:30px auto;padding:20px 30px }
#pop_mb_login_od_wr h2{font-size:1.25em;margin:20px 0 10px}
#pop_mb_login_od_wr .frm_input{margin:10px 0 0 }
#pop_mb_login_od_wr p{background:#f3f3f3;margin:20px 0 0 ;padding:15px 20px;line-height:1.5em}
/* -- animation */
@keyframes tt_scrolling_text {
	0% { transform: translateX(0) }
	100% { transform: translateX(-50%) }
}
@keyframes movetxt {
  to { transform: translate(-100%, 0); }
}
@keyframes move_scroll {
    0% { transform:translateY(0); }
   50% { transform:translateY(-10px); }
}
@keyframes rotate_circle{
	100% {transform: rotate(360deg); }
}
@keyframes effect{
	0% { top: 50%; }
	100% { top: 60%; }
}
@keyframes bouncing {
	0% {  transform:translate(0,-5px); }
	100% { transform:translate(0,5px); }
}
@keyframes progress_Rotate {
  to { transform: rotate(360deg); }
}
@keyframes imgAni_rt {
	0%{transform: scale(0, 1);}
	40%{transform: scale(1, 1);}
	50%{transform: scale(1, 1);}
	100%{transform: scale(1, 1) translateX(100%);}
}
@keyframes imgAni {
	0%{opacity:0;}
	50%{opacity:1;}
	100%{opacity:1;}
}
@keyframes progress {
  0% { stroke-dashoffset: 125.664px; }
  90% { stroke-dashoffset: 0; }
  100% { stroke-dashoffset: -125.664px; }
}
/* animation -- */
.tt-scrolling-text {
	display: flex;
	position: relative;
	pointer-events: none;
}
.tt-scrolling-text-inner {
	padding-left: 2vw;
	font-size: calc(16px + 4vw);
	line-height: 1;
	font-family: var(--ff-serif);
	font-weight: 500;
	color: #eceae9; opacity:1;
	white-space: nowrap;
	animation-name: tt_scrolling_text;
	animation-timing-function: linear;
	animation-iteration-count: infinite;
	animation-play-state: running;
	/* animation-duration is handled by js. */
}
.tt-scrolling-text-inner:after {
	content: attr(data-text);
	/* display: block; */
}
.tt-scrolling-text-inner img {border:#eee 1px solid; padding: 5px 10px; border-radius: 20px;}
/* Animation direction reverse. */
.tt-scrolling-text.scr-text-reverse .tt-scrolling-text-inner {
	animation-direction: reverse;
}
.tt-scrolling-text.scr-text-stroke .tt-scrolling-text-inner {
	font-weight: normal;
	color: transparent;
	-webkit-text-stroke-width: 1px;
	-webkit-text-stroke-color: #3b3b3f;
	-webkit-text-fill-color: transparent;
}
.move_txt {position: absolute; bottom: 0; left: 0; width: 200%;}
.move_txt .txt {animation: movetxt 1s linear infinite; animation-play-state: paused; animation-delay: calc(var(--scroll) * -0.4s);animation-iteration-count: 1; animation-fill-mode: both;}
}
@media all and (max-width:1230px){
	.txt98,
	.txt88,
	.txt84,
	.txt78,
	.txt72,
	.txt74{font-size:60px;}
	.txt68,
	.txt66{font-size:54px;}
	.txt62,
	.txt60{font-size:52px;}
	.txt58,
	.txt56,
	.txt54{font-size:48px;}
	.txt53,
	.txt52,
	.txt50{font-size:42px;}
	.txt48{font-size:38px;}
	.txt46{font-size:37px;}
	.txt45,
	.txt44{font-size:36px;}
	.txt42,
	.txt40{font-size:32px;}
	.txt38{font-size: 30px;}
	.txt36,
	.txt34{font-size:28px;}
	.txt32{font-size:26px;}
	.txt30{font-size:24px;}
	.txt28,
	.txt26{font-size:20px;}
	.txt24{font-size: 19px;}
	.txt22,
	.txt21{font-size:18px;}
	.txt20,
	.txt19{font-size:17px;}
	.txt18,
	.txt17{font-size:16px;}
	.txt16{font-size:15px;}
	.txt15{font-size:14px;}
	.txt14{font-size:13px;}
	.txt12{font-size:11px;}
	.txt11{font-size:10px;}
	img {max-width:100%;}
	.inline_1230 {display: inline;}
	.block_1230 {display: block;}
}
@media all and (max-width:820px){
	.txt98,
	.txt88,
	.txt84,
	.txt78,
	.txt72,
	.txt74{font-size:42px;}
    .mt150{margin-top:80px !important;}
	.ani_left{left: auto;top:25px;}
	.ani_left.move{left: auto;top:0;}
	.ani_right{right: auto;top: 25px;}
	.ani_right.move{ right: auto;top:0;}
	.ani_top1.move{opacity:1;top:auto; bottom: 40px;}
	.trans_d1,
	.trans_d2,
	.trans_d3,
	.trans_d4,
	.trans_d5,
	.trans_d6{transition-delay:0.2s;}
	.inline_820 {display: inline;}
	.no_820 {display: none;}
	.block_820 {display: block;}
	.in820_b520 {display: inline;}
#pop_login {position:fixed; top:0; left:0; width:100%; height:100%; z-index:10000; display:none; }
#pop_login .dimmed{position:absolute; top:0; left:0; background:rgba(0,0,0,0.7); width:100%; height:100%;}
#pop_mb_login {width: 90%;height:auto;position:absolute;top: 53%;left:50%;-ms-transform:translate(-50%,-50%);-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);background:#FFFFFF;/*overflow: hidden;*/margin: 0;border-radius:35px;/* scale: .9; */}
#pop_login .in {padding: 10px 0; min-height:222px; padding:20px 0 0 0;}
#pop_login .in .tit {font-size: 15px; font-weight: 500; margin:0 0 15px; letter-spacing:-1px; line-height:150%;  }
#pop_login .in .tit .mint {color: #1f9f9d;}
.poplogin_btn {cursor: pointer;}
#plogin_fs {vertical-align: middle;width:100%;margin:0 auto;padding: 0 25px;}
#login_fs{padding:0 50px}
#pop_mb_login #lpogin_fs .frm_input{margin:0 0 10px;}
#pop_mb_login .frm_input{height: 35px;width: 100%;padding-left: 10px;margin-top:5px;}
#pop_mb_login #plogin_fs .btn_submit {height: 40px;width: 100%;padding: 0;margin: 0;text-align: center;background-color: #333;color:#fff;border-radius:5px;font-size: 13px;margin-top:20px;border:none;}
#pop_mb_login #plogin_info{background:#f6f6f6;padding:15px 5px;border-top:1px solid #e8e8e8;background-color:#2b3751;margin: 10px 25px 20px;}
#pop_mb_login #plogin_info:after {display:block;visibility:hidden;clear:both;content:""}
#pop_mb_login #plogin_info h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#pop_mb_login #plogin_info .btn_wrap a{display:inline-block;width: -webkit-fill-available;float:left;text-align:center;padding: 0 5px;color:#fff;font-size: 12px;transition:.5s;letter-spacing:-1px;}
#pop_mb_login #plogin_info .btn_wrap a:first-child {text-align: right;}
#pop_mb_login #plogin_info a:hover{color:#ddd;  }
#plogin_password_lost{border-right:1px solid #ddd}
.closeWrap{height:45px; padding:0 10px; color:#949393; background-color:#222; line-height:45px; width:100%; font-size:16px;   border-bottom-right-radius:35px;  border-bottom-left-radius:35px;}
.tt-scrolling-text-inner img {width:40%; padding: 5px 10px; border-radius: 10px;}
.blueline::after { bottom: -1px; height: 3px;}
.orangeline::after { bottom: -1px; height: 3px;}
}
@media all and (max-width:520px){
	.txt98,
	.txt88,
	.txt84{font-size:36px;}
	.txt78,
	.txt74,
	.txt72{font-size:35px;}
	.txt68,
	.txt66{font-size:32px;}
	.txt62,
	.txt60{font-size:30px;}
	.txt58,
	.txt56,
	.txt54{font-size:30px;}
	.txt53,
	.txt52,
	.txt50{font-size:28px;}
	.txt48,
	.txt46{font-size:24px;}
	.txt45,
	.txt44{font-size:24px;}
	.txt42,
	.txt40{font-size:24px;}
	.txt38,
	.txt36,
	.txt34{font-size:20px;}
	.txt32{font-size:22px;}
	.txt30,
	.txt28{font-size:18px; line-height: 1.2;}
	.txt26{font-size:17px;}
	.txt24,
	.txt22,
	.txt21{font-size:16px;}
	.txt20,
	.txt19{font-size:15px;}
	.txt18,
	.txt17,
	.txt16{font-size:14px;}
	.txt15{font-size:13px;}
	.txt14{font-size:12px;}
	.txt12{font-size:10px;}
	.inline_520 {display: inline;}
	.no_520 {display: none;}
	.block_520 {display: block;}
	.in820_b520 {display: block;}
    .pt160{padding-top:80px !important}
    .pb160{padding-bottom:80px !important}
}
#wrap {font-size:16px;line-height:1.5;font-family:var(--ff-sans);font-weight:400;letter-spacing:0;color:#111}

#wrap{width: 100%; min-width:320px;}
.tit_ani_wrap { position:relative; margin-bottom:70px;}
.tit_ani_wrap .txt_ani_box { overflow:hidden; display:block; }
.tit_ani_wrap .txt_ani_box:nth-child(2) .txt-ani { transition-delay:.2s; }
.tit_ani_wrap .txt_ani_box:nth-child(3) .txt-ani { transition-delay:.4s; }
.tit_ani_wrap .txt_ani_box:nth-child(4) .txt-ani { transition-delay:.6s; }
.tit_ani_wrap .txt_ani { display:block; transition-duration:.5s; transition-property:transform; transform:translateY(100%); word-break:keep-all; }
.tit_ani_wrap.on .txt_ani { transform:translateY(0); }
.tit_ani_wrap h3 {text-transform:uppercase; word-break:keep-all; }
.tit_ani_wrap .txt  {text-transform:uppercase; letter-spacing:5px; font-weight:700; opacity:.3; word-break:keep-all; }
@keyframes fadeInUp {
    0% {
        transform:translateY(20px);
        opacity:0;
    }
    100% {
        transform:translateY(0);
        opacity:1;
    }
}
@keyframes rotate_circle{
	100% {transform: rotate(360deg); }
}
.slider_nav {display: flex; justify-content:space-between;align-items:center; margin-top: 0; width:85%;}
.slider_nav .slider_progress {position: relative; width: calc(100% - 165px); height: 4px;background-color: #efefef;margin: 0;}
.slider_nav .slider_progress .swiper-pagination-progressbar-fill { background: #222; }
.slider_nav .slider_arrow {width: 165px; text-align: right;}
.slider_nav .slider_arrow button {width: 44px; height: 13px; margin: 0 5px; background-color: transparent; border: none; padding: 0; text-indent: -9999px;}
.slider_nav .slider_arrow .prev_btn {background-image: url('/assets/images/main/slider_prev.png');}
.slider_nav .slider_arrow .next_btn {background-image: url('/assets/images/main/slider_next.png');}
.slick_nav {width: 240px; display: flex; flex-wrap:wrap;justify-content:space-between; position: absolute; bottom: 145px; left: 50%; transform:translate(-690px,0);  }
/* 슬라이드 arrow */
.slick_arrow {position: absolute; top: 3px; left: 0;}
.slick_arrow .prev_btn,
.slick_arrow .next_btn {width: 20px; height: 7px; background-color: transparent; padding: 0; border: none; background-repeat: no-repeat; background-image: url('/assets/images/main/sm_arr_prev.png'); text-indent: -9999px; position: absolute; top: 0; left: 10px; }
.slick_arrow .next_btn {background-image: url('/assets/images/main/sm_arr_next.png'); left: 105px;}
/* 슬라이드 play */
.slider_play_btn { /* position: absolute; bottom: 140px; left: 50%; transform:translateX(-510px); */ padding-right: 5px;	}
.slider_play_btn button {width: 8px; height: 12px; background-color: transparent; background-repeat: no-repeat; background-size:cover; border: none; padding: 0; margin: 0 8px; text-indent: -9999px;}
.slider_play_btn .slider_pause {background-image: url('/assets/images/main/visual_pause_grey.png');}
.slider_play_btn .slider_play {background-image: url('/assets/images/main/visual_play_grey.png');}
/* 슬라이드 counter */
.slick_counter {/* position: absolute; bottom: 135px; left: 50%; transform:translateX(-655px);  */font-family: var(--ff-serif);  font-size: 15px;  color: #cdcdcd; padding: 0 50px;}
.slick_counter span {padding: 0 3px; font-weight: 600;}
.slick_counter .current {color: #000;}
/* 슬라이드 progress */
.slider_progress{ /* position: absolute; left: 50%; bottom: 110px; transform:translateX(-700px); */width: 100%; height: 2px; background-color: #cdcdcd; position: relative; width: 100%; margin-top: 25px;}
.slider_progress span{ position: absolute; left: 0; bottom: 0; display: block; width: 0px; height: 100%; background-color: #000; transition: all 0s linear; }
.slider_progress span.active { width: 100%; }
/* 레이아웃 크기 지정 */
#hd, #wrapper, #ft {min-width:1200px}
#hd_pop,
#hd_wrapper,
#tnb .inner,
#gnb .gnb_wrap,
#container_wr,
#ft_wr {width:1200px}
/* 팝업레이어 */
#hd_pop {z-index:1000;position:relative;margin:0 auto;height:0}
#hd_pop h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
.hd_pops {position:absolute;border:1px solid #e9e9e9;background:#fff}
.hd_pops img {max-width:100%}
.hd_pops_con {}
.hd_pops_footer {padding:0;background:#000;color:#fff;text-align:left;position:relative}
.hd_pops_footer:after {display:block;visibility:hidden;clear:both;content:""}
.hd_pops_footer button {padding:10px;border:0;color:#fff}
.hd_pops_footer .hd_pops_reject {background:#000;text-align:left}
.hd_pops_footer .hd_pops_close {background:#393939;position:absolute;top:0;right:0}
/* 상단 레이아웃 */
#hd {background:#212020}
#hd_h1 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#tnb {border-bottom:1px solid #383838;margin:0 auto}
#tnb:after {display:block;visibility:hidden;clear:both;content:""}
#tnb .inner {margin:0 auto}
#hd_wrapper {position:relative;margin:0 auto;height:140px;zoom:1}
#hd_wrapper:after {display:block;visibility:hidden;clear:both;content:""}
/* #logo {float:left;padding:30px 0 0} */
.hd_sch_wr {float:left;padding:30px 0;width:445px;margin-left:65px}
#hd_sch h3 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#hd_sch {border-radius:30px;overflow:hidden}
#hd_sch #sch_stx {float:left;width:385px;height:45px;padding-left:10px;border-radius:30px 0 0 30px;background:#2c2c2c;border:0;border-right:0;font-size:1.25em;color:#fff}
#hd_sch #sch_submit {float:left;width:60px;height:45px;border:0;background:#2c2c2c;color:#fff;border-radius:0 30px 30px 0;cursor:pointer;font-size:16px}
#hd_define {float:left}
#hd_define:after {display:block;visibility:hidden;clear:both;content:""}
#hd_define li {float:left;font-size:1.083em;line-height:14px;border-right:1px solid #4a4a4a;position:relative;text-align:center;margin:15px 10px 15px 0;padding-right:10px}
#hd_define li:last-child {padding-right:0;margin-right:0;border-right:0}
#hd_define li a {display:inline-block;color:#919191}
#hd_define li.active a {color:#fff}
#hd_qnb {float:right;text-align:right}
#hd_qnb:after {display:block;visibility:hidden;clear:both;content:""}
#hd_qnb li {float:left;font-size:1.083em;line-height:14px;border-right:1px solid #4a4a4a;position:relative;text-align:center;margin:15px 10px 15px 0;padding-right:10px}
#hd_qnb li:last-child {padding-right:0;margin-right:0;border-right:0}
#hd_qnb li span {display:block;margin-top:5px;font-size:0.92em}
#hd_qnb li a {display:inline-block;color:#919191}
#hd_qnb .visit .visit-num {display:inline-block;line-height:16px;padding:0 5px;margin-left:5px;border-radius:10px;background:#da22f5;color:#fff;font-size:10px}
.hd_login {position:absolute;right:0;top:60px}
.hd_login li {float:left;margin:0 5px;border-left:1px solid #616161;padding-left:10px;line-height:13px}
.hd_login li:first-child {border-left:0}
.hd_login a {color:#fff}
.pc { display:block !important;}
.m { display:none !important;}
.mobile { display:none;}
#progresscir.stiky {opacity: 1;}
#progresscir { opacity: 0; transition:.25s; position: fixed; bottom: 15%; left: 3.5%; margin-left: 0;  z-index: 3;}
#progresscir .circle {width: 140px; height: 140px; background: url('/assets/images/common/progress_cir.png') 0 0 no-repeat; animation: progress_Rotate 1s linear infinite; animation-play-state: paused; animation-delay: calc(var(--scroll) * -1s);animation-iteration-count: 1; animation-fill-mode: both;}
#progresscir .percent_txt {position: absolute; top: 0; left: 0; width: 100%; height: 100%;  display: flex; align-items:center; justify-content:center; font-family: var(--ff-serif); font-size: 22px; font-weight: 600; color: #d0d0d0; transform:translateY(-5px);}
#progresscir .percent_txt p {display: flex; align-items:flex-end;}
#progresscir .percent_txt span {font-size: 32px; transform:translateY(5px);     font-variant: lining-nums;}
/* ===== header ===== */
.w2200{width:100%;max-width:2200px;margin:0 auto}
.header{position:fixed;top:16px;left:0;right:0;z-index:50;padding:0 16px}
.header_inner{display:flex;align-items:center;justify-content:space-between;height:78px;padding:0 56px;border-radius:10px;background:#f4f4f4;box-shadow:0 10px 40px rgba(0,0,0,.08)}
.logo{display:flex;align-items:flex-end}
.logo img{height:44px;width:auto;object-fit:contain;object-position:left}
.gnb{display:flex;align-items:center;gap:68px}
.gnb_item{display:flex;flex-direction:column;align-items:center;min-width:max-content;padding:12px 0;transition:color .2s}
.gnb_item:hover{color:#ff6a00}
.gnb_ko{line-height:1.25}
.gnb_en{margin-top:4px;font-family:var(--ff-serif);line-height:1;letter-spacing:.02em}
.lang_btn{display:flex;align-items:center;gap:16px;padding:12px 0;transition:color .2s}
.lang_btn:hover{color:#ff6a00}
.mo_menu{display:none}
.lang {position:relative}
.lang_btn {display:flex;align-items:center;gap:16px;padding:12px 0;font-size:14px;font-weight:700;transition:color .2s}
.lang_btn:hover {color:#ff6a00}
.lang_sub {position:absolute;top:calc(100% - 3px);left:50%;z-index:60;width:128px;padding:8px 0;background:#fff;box-shadow:0 12px 30px rgba(0,0,0,.1);opacity:0;visibility:hidden;transform:translateX(-50%);transition:opacity .2s,visibility .2s}
.lang.on .lang_sub {opacity:1;visibility:visible}
.lang_item {display:block;width:100%;padding:10px 20px;font-size:12px;font-weight:400;line-height:1.5;letter-spacing:-.01em;text-align:left;color:#252525;transition:background .2s,color .2s}
.lang_item:hover {background:#f4f4f4;color:#ff6a00}
.lang_item.on {color:#ff6a00}


@media (max-width:1280px){
.header_inner{padding:0 32px}
.gnb{gap:32px}
}

@media (max-width:1024px){
.header_inner{height:64px;padding:0 20px}
.logo img{height:36px}
.gnb{display:none}
.mo_menu{display:block}
}
/* 중간 레이아웃 */
#wrapper {}
#container_wr:after {display:block;visibility:hidden;clear:both;content:""}
#container_wr {margin:0 auto;zoom:1}
#aside {float:right;width:235px;padding:0;height:100%;margin:20px 0 20px 20px}
#container {position:relative;float:left;min-height:500px;height:auto !important;margin:20px 0;height:500px;font-size:1em;width:930px;zoom:1}
#container:after {display:block;visibility:hidden;clear:both;content:""}
#container_title {font-size:1.333em;margin:0 auto;font-weight:bold}
#container_title span {margin:0 auto 10px;display:block;line-height:30px}
.lt_wr {width:32%}
.lt_wr:nth-child(3n+1) {clear:both}
.latest_wr {margin-bottom:20px}
.latest_wr:after {display:block;visibility:hidden;clear:both;content:""}
.latest_top_wr {margin:0 -10px 20px}
.latest_top_wr:after {display:block;visibility:hidden;clear:both;content:""}
/* 하단 레이아웃 */


/* ==========================================================
   예약 시스템
   하단 고정 예약바 + 레이어팝업 3종
   ========================================================== */

/* ==========================================================
   하단 고정 예약바
   ========================================================== */
.reserve_bar {position:fixed;left:0;right:0;bottom:0;z-index:50;padding:0 16px}
.reserve_inner {position:relative}
.reserve_btn {display:flex;align-items:center;justify-content:center;gap:8px;height:56px;min-width:192px;margin:0 auto;padding:0 32px;border-radius:16px 16px 0 0;background:#ff6a00;font-size:18px;font-weight:800;line-height:1.555;color:#fff;box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}
.reserve_arrow {transition:transform .4s}
.reserve_btn.on .reserve_arrow {transform:rotate(180deg)}
.reserve_panel {overflow:hidden;max-height:0;border-radius:28px 28px 0 0;background:#fff;opacity:0;transition:max-height .5s cubic-bezier(.65,0,.25,1),opacity .35s}
.reserve_panel.on {max-height:420px;border:2px solid #ff6a00;border-bottom:0;opacity:1;box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}
.reserve_grid {display:grid;grid-template-columns:1fr 1fr 1.2fr auto;gap:24px;padding:28px}
.reserve_col {min-width:0}
.reserve_label {display:block;font-size:14px;font-weight:700;line-height:1.428;color:#ff6a00}
.reserve_sel {display:flex;align-items:center;width:100%;margin-top:12px;padding:8px 0;border-bottom:1px solid #e5e5e5;font-size:14px;font-weight:700;line-height:1.428;text-align:left;color:#252525}
.reserve_sel svg {flex-shrink:0;margin-left:auto;color:#ff6a00}
.reserve_ph {overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#717182}
.reserve_time {margin-left:24px;color:#717182}
.reserve_input_box {display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:12px}
.reserve_input {width:100%;padding:8px 0;border:0;border-bottom:1px solid #e5e5e5;background:none;font-size:14px;font-weight:400;line-height:1.428;color:#252525;outline:none}
.reserve_input::placeholder {color:#717182}
.reserve_input:focus {border-color:#ff6a00}
.reserve_result {display:flex;flex-direction:column;align-items:center;justify-content:center}
.reserve_result_tit {font-size:14px;font-weight:700;line-height:1.428;color:#252525}
.reserve_price {font-size:30px;font-weight:800;line-height:1.2;color:#ff6a00}
.reserve_won {font-size:14px}
.reserve_submit {margin-top:12px;padding:12px 28px;border-radius:999px;background:#ff6a00;font-size:16px;font-weight:700;line-height:1.5;color:#fff;transition:background .2s}
.reserve_submit:hover {background:#e85f00}

/* ==========================================================
   레이어팝업 공통
   ========================================================== */
.bk {position:fixed;top:0;left:0;z-index:70;display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:16px;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
.bk.on {opacity:1;visibility:visible}
.bk_dim {position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5)}
.bk_box {position:relative;z-index:1;display:flex;flex-direction:column;overflow:hidden;border-radius:16px;background:#fff;box-shadow:0 25px 50px -12px rgba(0,0,0,.35);transform:translateY(16px);transition:transform .35s cubic-bezier(.25,.6,.3,1)}
.bk.on .bk_box {transform:translateY(0)}
.bk_box_item {width:min(1040px,94vw);height:min(92vh,760px)}
.bk_box_book {width:min(1040px,94vw);height:min(94vh,720px)}
.bk_box_date {width:min(460px,94vw);max-height:92vh}
.bk_submit {flex-shrink:0;padding:20px 0;background:#ff6a00;font-size:18px;font-weight:800;line-height:1.33;text-align:center;color:#fff;transition:background .2s}
.bk_submit:hover {background:#d96416}
.bk_submit:disabled {background:rgba(0,0,0,.25);cursor:not-allowed}
.blind {position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0)}

/* ==========================================================
   ① 시술선택
   ========================================================== */
.item_head {display:grid;grid-template-columns:220px 1fr 60px;align-items:center;flex-shrink:0;border-bottom:1px solid rgba(0,0,0,.1)}
.item_tit {padding:20px 24px;border-right:1px solid rgba(0,0,0,.1);font-size:18px;font-weight:800;line-height:1.33;color:#252525}
.item_search {display:flex;align-items:center;gap:12px;padding:16px 24px;color:rgba(0,0,0,.5)}
.item_search_input {width:100%;border:0;background:none;font-size:16px;color:#252525;outline:none}
.item_search_input::placeholder {color:rgba(0,0,0,.4)}
.item_close {margin:0 auto;color:rgba(0,0,0,.45);transition:color .2s}
.item_close:hover {color:#000}
.item_body {display:grid;grid-template-columns:220px 1fr 240px;flex:1;min-height:0}

/* 좌측 카테고리 */
.item_nav {min-height:0;overflow-y:auto;border-right:1px solid rgba(0,0,0,.1);background:#fbf7f3}
.item_cate {display:block;width:100%;padding:16px 20px;border-bottom:1px solid rgba(0,0,0,.05);text-align:left;transition:background .2s}
.item_cate:hover {background:rgba(0,0,0,.03)}
.item_cate.on {background:#fff2e6;box-shadow:inset 3px 0 0 #ff6a00}
.item_cate_badge {display:inline-block;margin-bottom:4px;padding:2px 8px;border-radius:4px;background:rgba(255,106,0,.1);font-size:11px;font-weight:700;color:#ff6a00}
.item_cate_name {display:block;font-size:14px;font-weight:700;line-height:1.375;color:rgba(0,0,0,.75);word-break:keep-all}
.item_cate.on .item_cate_name {color:#ff6a00}

/* 중앙 시술목록 */
.item_cont {min-height:0;overflow-y:auto;padding:20px 24px}
.item_cont_head {display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}
.item_cont_badge {font-size:12px;font-weight:700;line-height:1.5;color:#ff6a00}
.item_cont_tit {font-size:20px;font-weight:800;line-height:1.33;color:#252525;word-break:keep-all}
.item_cont_date {flex-shrink:0;font-size:14px;color:rgba(0,0,0,.45)}
.item_group {margin-bottom:24px;overflow:hidden;border:1px solid rgba(0,0,0,.1);border-radius:12px}
.item_group_head {padding:12px 20px;background:#fbf7f3;font-size:16px;font-weight:700;color:rgba(0,0,0,.8)}
.item_row {display:flex;align-items:center;gap:16px;width:100%;padding:16px 20px;border-top:1px solid rgba(0,0,0,.05);text-align:left;transition:background .2s}
.item_row:hover {background:#fff8f2}
.item_chk {position:relative;display:grid;flex-shrink:0;place-items:center;width:20px;height:20px;border:2px solid rgba(0,0,0,.25);border-radius:4px;transition:border-color .2s,background .2s}
.item_row.on .item_chk {border-color:#ff6a00;background:#ff6a00}
.item_row.on .item_chk::after {content:'';width:10px;height:5px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:translateY(-1px) rotate(-45deg)}
.item_info {flex:1;min-width:0}
.item_name {display:block;overflow:hidden;font-size:16px;font-weight:700;line-height:1.5;text-overflow:ellipsis;white-space:nowrap;color:rgba(0,0,0,.85)}
.item_desc {display:block;margin-top:4px;overflow:hidden;font-size:14px;line-height:1.428;text-overflow:ellipsis;white-space:nowrap;color:rgba(0,0,0,.45)}
.item_price {flex-shrink:0;text-align:right}
.item_price_old {display:block;font-size:12px;line-height:1.5;text-decoration:line-through;color:rgba(0,0,0,.3)}
.item_price_new {display:block;font-size:16px;font-weight:800;line-height:1.5;color:rgba(0,0,0,.85)}
.item_empty {padding:60px 0;font-size:14px;text-align:center;color:rgba(0,0,0,.4)}

/* 우측 장바구니 */
.item_cart {display:flex;flex-direction:column;min-height:0;border-left:1px solid rgba(0,0,0,.1);background:#fbf7f3}
.item_cart_list {flex:1;min-height:0;overflow-y:auto;padding:20px}
.item_cart_empty {margin-top:40px;font-size:14px;text-align:center;color:rgba(0,0,0,.4)}
.item_cart_row {margin-bottom:12px;padding:12px;border-radius:8px;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.item_cart_name {font-size:14px;font-weight:700;line-height:1.375;color:rgba(0,0,0,.8);word-break:keep-all}
.item_cart_row_bot {display:flex;align-items:center;justify-content:space-between;margin-top:8px}
.item_cart_won {font-size:14px;font-weight:800;color:#ff6a00}
.item_cart_del {display:grid;place-items:center;color:rgba(0,0,0,.35);transition:color .2s}
.item_cart_del:hover {color:#ff6a00}
.item_cart_foot {display:flex;align-items:center;justify-content:space-between;flex-shrink:0;padding:16px 20px;border-top:1px solid rgba(0,0,0,.1)}
.item_cart_label {font-size:14px;color:rgba(0,0,0,.55)}
.item_cart_price {font-size:20px;font-weight:800;color:#ff6a00}

/* ==========================================================
   ② 예약(통합)
   ========================================================== */
.book_head {display:flex;align-items:center;justify-content:space-between;gap:16px;flex-shrink:0;padding:16px 24px;background:#2a1a10}
.book_logo {height:32px;width:auto;object-fit:contain}
.book_tabs {display:flex;align-items:center;gap:8px}
.book_tab {padding:8px 20px;border-radius:999px;font-size:14px;font-weight:700;color:rgba(255,255,255,.55);transition:background .2s,color .2s}
.book_tab:hover {color:#fff}
.book_tab.on {background:#ff6a00;color:#fff}
.book_close {color:rgba(255,255,255,.7);transition:color .2s}
.book_close:hover {color:#fff}
.book_body {display:grid;grid-template-columns:repeat(2,1fr);flex:1;min-height:0}
.book_left {display:flex;flex-direction:column;min-height:0;border-right:1px solid rgba(0,0,0,.1)}
.book_ways {display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:16px}
.book_way {display:flex;align-items:center;justify-content:center;gap:6px;padding:12px 8px;border:1px solid rgba(0,0,0,.15);border-radius:8px;font-size:12px;font-weight:700;color:rgba(0,0,0,.55);transition:border-color .2s,background .2s,color .2s}
.book_way:hover {border-color:rgba(255,106,0,.5)}
.book_way.on {border-color:#ff6a00;background:#fff2e6;color:#ff6a00}
.book_way span {white-space:nowrap}
.book_cont {flex:1;min-height:0;overflow-y:auto;padding:0 16px}
.book_cont_head {display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.book_cont_head[hidden] {display:none}
.book_cont_tit {font-size:16px;font-weight:700;color:#252525}
.book_add {font-size:12px;font-weight:700;color:#ff6a00}
.book_none {padding:24px 0;font-size:14px;text-align:center;color:rgba(0,0,0,.4)}
.book_notice {padding:20px;border:1px dashed rgba(255,106,0,.4);border-radius:12px;background:#fff8f2;font-size:14px;line-height:1.714;color:rgba(0,0,0,.6);word-break:keep-all}
.book_notice[hidden] {display:none}
.book_card {margin-bottom:8px;padding:16px;border-radius:12px;background:#fbf7f3}
.book_card_name {font-size:14px;font-weight:700;line-height:1.5;color:rgba(0,0,0,.85);word-break:keep-all}
.book_card_price {margin-top:4px;font-size:14px}
.book_card_new {font-weight:800;color:#ff6a00}
.book_card_old {margin-left:8px;font-size:12px;text-decoration:line-through;color:rgba(0,0,0,.3)}
.book_check {display:flex;align-items:center;gap:8px;margin-top:16px;font-size:14px;font-weight:700;color:rgba(0,0,0,.7);cursor:pointer}
.book_check_input {width:16px;height:16px;accent-color:#ff6a00}
.book_memo {width:100%;height:96px;margin-top:12px;padding:12px;border:1px solid rgba(0,0,0,.15);border-radius:12px;font-size:14px;line-height:1.5;resize:none;outline:none}
.book_memo:focus {border-color:#ff6a00}
.book_foot {flex-shrink:0;padding:16px;border-top:1px solid rgba(0,0,0,.1)}
.book_foot_row {display:flex;align-items:center;justify-content:space-between}
.book_foot_label {font-size:14px;color:rgba(0,0,0,.55)}
.book_foot_price {text-align:right}
.book_price_old {margin-right:8px;font-size:12px;text-decoration:line-through;color:rgba(0,0,0,.3)}
.book_price_new {font-size:20px;font-weight:800;color:#ff6a00}
.book_foot_txt {margin-top:4px;font-size:12px;color:rgba(0,0,0,.4)}
.book_right {display:flex;flex-direction:column;min-height:0;overflow-y:auto;padding:20px}
.book_right_tit {margin-bottom:16px;font-size:16px;font-weight:800;color:#252525}

/* ==========================================================
   ③ 예약일시
   ========================================================== */
.date_head {display:flex;align-items:center;justify-content:space-between;flex-shrink:0;padding:16px 24px;border-bottom:1px solid rgba(0,0,0,.1)}
.date_tit {font-size:16px;font-weight:800;color:#252525}
.date_close {color:rgba(0,0,0,.45);transition:color .2s}
.date_close:hover {color:#000}
.date_body {flex:1;min-height:0;overflow-y:auto;padding:20px}

/* ==========================================================
   달력 (②③ 공용)
   ========================================================== */
.cal_nav {display:flex;align-items:center;justify-content:center;gap:24px;margin-bottom:12px}
.cal_arrow {color:rgba(0,0,0,.45);transition:color .2s}
.cal_arrow:hover {color:#ff6a00}
.cal_month {font-size:18px;font-weight:800;color:#252525}
.cal_days {display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}
.cal_week {padding:4px 0;font-size:12px;font-weight:700;color:rgba(0,0,0,.45)}
.cal_week_sun {color:#ff6a00}
.cal_day {aspect-ratio:1/1;border-radius:8px;font-size:14px;font-weight:700;color:rgba(0,0,0,.7);transition:background .2s,color .2s}
.cal_day:hover {background:#fff2e6}
.cal_day_sun {color:#ff6a00}
.cal_day.on {background:#ff6a00;color:#fff}
.cal_day.on:hover {background:#ff6a00}
.cal_day:disabled {background:none;cursor:default}
.cal_time {display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:20px}
.cal_time_btn {padding:10px 0;border:1px solid rgba(0,0,0,.12);border-radius:8px;font-size:14px;font-weight:700;text-align:center;color:rgba(0,0,0,.7);transition:border-color .2s,background .2s,color .2s}
.cal_time_btn:hover {border-color:rgba(255,106,0,.6);color:#ff6a00}
.cal_time_btn.on {border-color:#ff6a00;background:#ff6a00;color:#fff}


/* ===== ② 예약내역 (연락처 인증) ===== */
.hist {display:flex;align-items:center;justify-content:center;flex:1;min-height:0;overflow-y:auto;padding:24px;background:#fbf7f3}
.hist[hidden] {display:none}
.hist_box {width:min(460px,92%);padding:32px;border:1px solid rgba(0,0,0,.1);border-radius:16px;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.hist_tit {font-size:20px;font-weight:800;line-height:1.625;text-align:center;color:#252525;word-break:keep-all}
.hist_desc {margin-top:12px;font-size:14px;text-align:center;color:rgba(0,0,0,.45);word-break:keep-all}
.hist_input {width:100%;padding:12px 16px;border:1px solid rgba(0,0,0,.15);border-radius:8px;font-size:16px;color:#252525;outline:none}
.hist_input::placeholder {color:rgba(0,0,0,.4)}
.hist_input:focus {border-color:#ff6a00}
.hist_name {margin-top:32px}
.hist_row {display:flex;gap:8px;margin-top:12px}
.hist_row .hist_input {min-width:0;flex:1}
.hist_req {flex-shrink:0;padding:0 20px;border-radius:8px;background:#ff6a00;font-size:14px;font-weight:700;color:#fff;transition:background .2s}
.hist_req:hover {background:#d96416}
.hist_req:disabled {background:rgba(0,0,0,.06);color:rgba(0,0,0,.35);cursor:not-allowed}
.hist_submit {width:100%;margin-top:24px;padding:16px 0;border-radius:8px;background:#ff6a00;font-size:16px;font-weight:800;color:#fff;transition:background .2s;text-align:center;}
.hist_submit:hover {background:#d96416}
.hist_submit:disabled {background:rgba(0,0,0,.06);color:rgba(0,0,0,.35);cursor:not-allowed}

.book_body[hidden] {display:none}

/* ==========================================================
   1024
   ========================================================== */
@media (max-width:1024px){
.bk_box_item {width:96vw;height:92vh}
.item_head {grid-template-columns:1fr 48px}
.item_tit {grid-column:1;padding:16px 20px;border-right:0}
.item_close {grid-column:2;grid-row:1}
.item_search {grid-column:1 / -1;grid-row:2;padding:12px 20px;border-top:1px solid rgba(0,0,0,.08)}
.item_body {grid-template-columns:180px 1fr}
.item_cart {grid-column:1 / -1;flex-direction:row;align-items:center;border-top:1px solid rgba(0,0,0,.1);border-left:0}
.item_cart_list {display:none}
.item_cart_foot {flex:1;border-top:0}
}

/* ==========================================================
   767
   ========================================================== */
@media (max-width:767px){
.reserve_btn {height:50px;min-width:170px;padding:0 26px;font-size:16px}
.reserve_panel {border-radius:20px 20px 0 0}
.reserve_panel.on {max-height:calc(100vh - 120px);overflow-y:auto}
.reserve_grid {grid-template-columns:1fr;padding:20px}
.bk {padding:0}
.bk_box {border-radius:0}
.bk_box_item {width:100vw;height:100vh}
.bk_box_book {width:100vw;height:100vh}
.bk_box_date {width:100vw;height:100vh;max-height:none}
.bk_submit {padding:16px 0;font-size:16px}
.item_body {grid-template-columns:1fr;grid-template-rows:auto 1fr auto}
.item_nav {display:flex;overflow-x:auto;border-right:0;border-bottom:1px solid rgba(0,0,0,.1)}
.item_cate {flex-shrink:0;width:auto;padding:12px 16px;border-bottom:0}
.item_cate.on {box-shadow:inset 0 -3px 0 #ff6a00}
.item_cate_badge {display:none}
.item_cate_name {white-space:nowrap}
.item_cont {padding:16px}
.item_cont_head {flex-direction:column;align-items:flex-start;gap:4px}
.item_row {gap:12px;padding:14px 16px}
.item_name {font-size:14px;white-space:normal}
.item_desc {font-size:12px;white-space:normal}
.book_body {grid-template-columns:1fr;grid-template-rows:auto auto}
.book_left {border-right:0;border-bottom:1px solid rgba(0,0,0,.1)}
.book_ways {gap:6px;padding:12px}
.book_way {flex-direction:column;gap:4px;padding:10px 4px;font-size:11px}
.book_right {padding:16px}
.date_body {padding:16px}
.cal_time {grid-template-columns:repeat(3,1fr)}
.hist {padding:16px}
.hist_box {width:100%;padding:24px}
}

/* ===== 퀵메뉴 ===== */
.quick {position:fixed;top:50%;right:20px;z-index:40;transform:translateY(-50%)}
/* 버튼이 9개로 늘어 세로로 길어졌다(9x64 + 8x10 = 656px).
   처음에는 overflow-y:auto 로 막으려 했는데, 그러면 버튼의 주황 그림자
   (box-shadow 0 8px 20px)가 목록 좌우에서 잘려 세로로 직선이 그어진다.
   그래서 스크롤 대신 창이 낮아지면 버튼을 줄이는 쪽으로 바꿨다. (261006) */
.quick_list {display:flex;flex-direction:column;align-items:center;gap:10px}
.quick_btn {flex:0 0 auto}
.quick_btn {display:flex;flex-direction:column;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:#ef7d2b;color:#fff;box-shadow:0 8px 20px rgba(190,82,18,.24);transition:background .3s,box-shadow .3s,transform .3s}
.quick_btn:hover {background:#d96416;box-shadow:0 12px 26px rgba(190,82,18,.32);transform:translateY(-2px)}
.quick_ico {display:flex;align-items:center;justify-content:center;height:24px}
.quick_ico_tel {margin-bottom:4px;transition:transform .3s}
.quick_btn:hover .quick_ico_tel {transform:rotate(-12deg)}
.quick_ico_txt {font-size:10px;font-weight:800;letter-spacing:-.07em}
.quick_ico_n {display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:2px solid currentColor;font-size:13px;font-weight:900;line-height:1}
.quick_txt {margin-top:2px;font-size:10px;font-weight:700;line-height:1;letter-spacing:-.05em}
@media (max-height:700px){
.quick_btn {width:56px;height:56px}
.quick_list {gap:8px}
}
@media (max-height:600px){
.quick_btn {width:48px;height:48px}
.quick_list {gap:6px}
.quick_ico {height:20px}
.quick_txt {font-size:9px}
}

/* ===== footer ===== */
.footer {padding:56px 24px;background:#050505;color:#fff}
.footer_inner {display:grid;grid-template-columns:260px 1fr;gap:40px}
.footer_logo {height:96px;width:auto;object-fit:contain;object-position:left}
.footer_info {padding-top:8px}
.footer_tel {font-size:24px;font-weight:800;line-height:1.33;color:#ff6a00}
.footer_time {margin-top:24px;font-size:16px;font-weight:600;line-height:1.5;color:rgba(255,255,255,.9);word-break:keep-all}
.footer_time_sub {color:rgba(255,255,255,.4)}
.footer_biz {display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:28px;font-size:14px;line-height:1.714;color:rgba(255,255,255,.7)}
.footer_policy {display:flex;flex-wrap:wrap;gap:16px;margin-top:32px;font-size:12px;line-height:1.5;color:rgba(255,255,255,.4)}
.footer_policy a {transition:color .2s}
.footer_policy a:hover {color:rgba(255,255,255,.8)}

.footer_policy {display:flex;flex-wrap:wrap;gap:16px;margin-top:32px;font-size:12px;line-height:1.5}
.footer_policy a {color:rgba(255,255,255,.4);transition:color .2s}
.footer_policy a:hover {color:rgba(255,255,255,.8)}

@media (max-width:1024px){
.quick {display:none}
}

@media (max-width:767px){
.footer {padding:40px 20px}
.footer_inner {grid-template-columns:1fr;gap:24px}
.footer_logo {height:64px}
.footer_time {font-size:14px}
.footer_biz {grid-template-columns:1fr;margin-top:20px;font-size:13px}
.footer_policy {gap:12px;margin-top:24px}
}
/* 게시물 선택복사 선택이동 */
#copymove {}
#copymove .win_desc {text-align:center;display:block}
#copymove .tbl_wrap {margin:20px}
#copymove .win_btn {padding:0 20px 20px}
.copymove_current {float:right;background:#ff3061;padding:5px;color:#fff;border-radius:3px}
.copymove_currentbg {background:#f4f4f4}
/* 화면낭독기 사용자용 */
#hd_login_msg {position:absolute;top:0;left:0;font-size:0;line-height:0;overflow:hidden}
.msg_sound_only, .sound_only {display:inline-block !important;position:absolute;top:0;left:0;width:0;height:0;margin:0 !important;padding:0 !important;font-size:0;line-height:0;border:0 !important;overflow:hidden !important}
/* 본문 바로가기 */
#skip_to_container a {z-index:100000;position:absolute;top:0;left:0;width:1px;height:1px;font-size:0;line-height:0;overflow:hidden}
#skip_to_container a:focus, #skip_to_container a:active {width:100%;height:75px;background:#21272e;color:#fff;font-size:2em;font-weight:bold;text-align:center;text-decoration:none;line-height:3.3em}
/* ie6 이미지 너비 지정 */
.img_fix {width:100%;height:auto}
/* 캡챠 자동등록(입력)방지 기본 -pc */
#captcha {display:inline-block;position:relative}
#captcha legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden}
#captcha #captcha_img {height:40px;border:1px solid #898989;vertical-align:top;padding:0;margin:0}
#captcha #captcha_mp3 {margin:0;padding:0;width:40px;height:40px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer;background:url('../img/captcha2.png') no-repeat;text-indent:-999px;border-radius:3px}
#captcha #captcha_reload {margin:0;padding:0;width:40px;height:40px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer;background:url('../img/captcha2.png') no-repeat 0 -40px;text-indent:-999px;border-radius:3px}
#captcha #captcha_key {margin:0 0 0 3px;padding:0 5px;width:90px;height:40px;border:1px solid #ccc;background:#fff;font-size:1.333em;font-weight:bold;text-align:center;border-radius:3px;vertical-align:top}
#captcha #captcha_info {display:block;margin:5px 0 0;font-size:0.95em;letter-spacing:-0.1em}
/* 캡챠 자동등록(입력)방지 기본 - mobile */
#captcha.m_captcha audio {display:block;margin:0 0 5px;width:187px}
#captcha.m_captcha #captcha_img {width:160px;height:60px;border:1px solid #e9e9e9;margin-bottom:3px;margin-top:5px;display:block}
#captcha.m_captcha #captcha_reload {position:static;margin:0;padding:0;width:40px;height:40px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer;background:url('../img/captcha2.png') no-repeat 0 -40px;text-indent:-999px}
#captcha.m_captcha #captcha_reload span {display:none}
#captcha.m_captcha #captcha_key {margin:0;padding:0 5px;width:115px;height:29px;border:1px solid #b8c9c2;background:#f7f7f7;font-size:1.333em;font-weight:bold;text-align:center;line-height:29px;margin-left:3px}
#captcha.m_captcha #captcha_info {display:block;margin:5px 0 0;font-size:0.95em;letter-spacing:-0.1em}
#captcha.m_captcha #captcha_mp3 {width:31px;height:31px;background:url('../img/captcha2.png') no-repeat 0 0 ; vertical-align:top;overflow:hidden;cursor:pointer;text-indent:-9999px;border:none}
/* ckeditor 단축키 */
.cke_sc {margin:0 0 5px;text-align:right}
.btn_cke_sc {display:inline-block;padding:0 10px;height:23px;border:1px solid #ccc;background:#fafafa;color:#000;text-decoration:none;line-height:1.9em;vertical-align:middle;cursor:pointer}
.cke_sc_def {margin:0 0 5px;padding:10px;border:1px solid #ccc;background:#f7f7f7;text-align:center}
.cke_sc_def dl {margin:0 0 5px;text-align:left;zoom:1}
.cke_sc_def dl:after {display:block;visibility:hidden;clear:both;content:""}
.cke_sc_def dt, .cke_sc_def dd {float:left;margin:0;padding:5px 0;border-bottom:1px solid #e9e9e9}
.cke_sc_def dt {width:20%;font-weight:bold}
.cke_sc_def dd {width:30%}
/* 새창 기본 스타일 */
.new_win {position:relative}
.new_win .tbl_wrap {margin:0 20px}
.new_win #win_title {font-size:1.3em;height:50px;line-height:30px;padding:10px 20px;background:#fff;color:#000;-webkit-box-shadow:0 1px 10px rgba(0,0,0,.1);
-moz-box-shadow:0 1px 10px rgba(0,0,0,.1);
box-shadow:0 1px 10px rgba(0,0,0,.1)}
.new_win #win_title .sv {font-size:0.75em;line-height:1.2em}
.new_win .win_ul {margin-bottom:15px;padding:0 20px}
.new_win .win_ul:after {display:block;visibility:hidden;clear:both;content:""}
.new_win .win_ul li {float:left;background:#fff;text-align:center;padding:0 10px;border:1px solid #d6e9ff;border-radius:30px;margin-left:5px}
.new_win .win_ul li:first-child {margin-left:0}
.new_win .win_ul li a {display:block;padding:8px 0;color:#6794d3}
.new_win .win_ul .selected {background:#3a8afd;border-color:#3a8afd;position:relative;z-index:5}
.new_win .win_ul .selected a {color:#fff;font-weight:bold}
.new_win .win_desc {position:relative;margin:10px;border-radius:5px;font-size:1em;background:#f2838f;color:#fff;line-height:50px;text-align:left;padding:0 20px}
.new_win .win_desc i {font-size:1.2em;vertical-align:baseline}
.new_win .win_desc:after {content:"";position:absolute;left:0;top:0;width:4px;height:50px;background:#da4453;border-radius:3px 0 0 3px}
.new_win .frm_info {font-size:0.92em;color:#919191}
.new_win .win_total {float:right;display:inline-block;line-height:30px;font-weight:normal;font-size:0.75em;color:#3a8afd;background:#f6f6f6;padding:0 10px;border-radius:5px}
.new_win .new_win_con {margin:20px 0;padding:20px}
.new_win .new_win_con:after {display:block;visibility:hidden;clear:both;content:""}
.new_win .new_win_con2 {margin:20px 0}
.new_win .btn_confirm:after {display:block;visibility:hidden;clear:both;content:""}
.new_win .win_btn {text-align:center}
.new_win .cert_btn {margin-bottom:30px;text-align:center}
.new_win .btn_close {padding:0 20px;height:45px;overflow:hidden;cursor:pointer}
.new_win .btn_submit {padding:0 20px;height:45px;font-weight:bold;font-size:1.083em}
/* 검색결과 색상 */
.sch_word {color:#fff;background:#ff005a;padding:2px 5px 3px;line-height:18px;margin:0 2px}
/* 자바스크립트 alert 대안 */
#validation_check {margin:100px auto;width:500px}
#validation_check h1 {margin-bottom:20px;font-size:1.3em}
#validation_check p {margin-bottom:20px;padding:30px 20px;border:1px solid #e9e9e9;background:#fff}
/* 사이드뷰 */
.sv_wrap {position:relative;font-weight:normal}
.sv_wrap .sv {z-index:1000;display:none;margin:5px 0 0;font-size:0.92em;background:#333;
-webkit-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2);
-moz-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2);
box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2)}
.sv_wrap .sv:before {content:"";position:absolute;top:-6px;left:15px;width:0;height:0;border-style:solid;border-width:0 6px 6px 6px;border-color:transparent transparent #333 transparent}
.sv_wrap .sv a {display:inline-block;margin:0;padding:0 10px;line-height:30px;width:100px;font-weight:normal;color:#bbb}
.sv_wrap .sv a:hover {background:#000;color:#fff}
.sv_member {color:#333}
.sv_on {display:block !important;position:absolute;top:23px;left:0px;width:auto;height:auto}
.sv_nojs .sv {display:block}
/* 페이징 */
.pg_wrap {clear:both;float:left;display:inline-block;margin: 0 auto;width: -webkit-fill-available;text-align: center;margin-top: 30px;}
.pg_wrap:after {display:block;visibility:hidden;clear:both;content:""}
.pg {text-align:center}
.pg_page, .pg_current {display:inline-block;vertical-align:middle;background:#eee;border:1px solid #eee}
.pg a:focus, .pg a:hover {text-decoration:none}
.pg_page {color:#959595;font-size:1.083em;height:30px;line-height:28px;padding:0 5px;min-width:30px;text-decoration:none;border-radius:3px}
.pg_page:hover {background-color:#fafafa}
.pg_start {text-indent:-999px;overflow:hidden;background:url('../img/btn_first.gif') no-repeat 50% 50% #eee;padding:0;border:1px solid #eee}
.pg_prev {text-indent:-999px;overflow:hidden;background:url('../img/btn_prev.gif') no-repeat 50% 50% #eee;padding:0;border:1px solid #eee}
.pg_end {text-indent:-999px;overflow:hidden;background:url('../img/btn_end.gif') no-repeat 50% 50% #eee;padding:0;border:1px solid #eee}
.pg_next {text-indent:-999px;overflow:hidden;background:url('../img/btn_next.gif') no-repeat 50% 50% #eee;padding:0;border:1px solid #eee}
.pg_start:hover,.pg_prev:hover,.pg_end:hover,.pg_next:hover {background-color:#fafafa}
.pg_current {display:inline-block;background:#5baefe;border:1px solid #5baefe;color:#fff;font-weight:bold;height:30px;line-height:30px;padding:0 10px;min-width:30px;border-radius:3px}
/* cheditor 이슈 */
.cheditor-popup-window *, .cheditor-popup-window :after, .cheditor-popup-window :before {
-webkit-box-sizing:content-box;
-moz-box-sizing:content-box;
box-sizing:content-box;
}
/* Mobile화면으로 */
#device_change {display:block;margin:0.3em;padding:0.5em 0;border:1px solid #eee;border-radius:2em;background:#fff;color:#000;font-size:2em;text-decoration:none;text-align:center}
.ani_top    { opacity: 0; transform: translateY(30px);  transition: opacity 0.6s ease, transform 0.6s ease; }
.ani_bottom { opacity: 0; transform: translateY(-30px); transition: opacity 0.6s ease, transform 0.6s ease; }
.ani_left   { opacity: 0; transform: translateX(-30px); transition: opacity 0.6s ease, transform 0.6s ease; }
.ani_right  { opacity: 0; transform: translateX(30px);  transition: opacity 0.6s ease, transform 0.6s ease; }
.ani_fade   { opacity: 0;                               transition: opacity 0.6s ease; }
.ani_down   { opacity: 0; transform: translateY(-20px); transition: opacity 0.6s ease, transform 0.6s ease; }
.ani_top.on    { opacity: 1; transform: translateY(0); }
.ani_bottom.on { opacity: 1; transform: translateY(0); }
.ani_left.on   { opacity: 1; transform: translateX(0); }
.ani_right.on  { opacity: 1; transform: translateX(0); }
.ani_fade.on   { opacity: 1; }
.ani_down.on   { opacity: 1; transform: translateY(0); }
@media all and (max-width:1430px){
	img,
	.slick-slide img {max-width:100%;}
	.slick_nav {left: 15px; transform:translate(0,0)}
	.company_info_bot .info_txt_box {width: 100%; padding: 0 30px;}
}
 @media all and (min-width:821px){
	.all_menu_wrap .dep2_wrap {display: flex !important; margin: 0!important; padding: 0!important; height: auto !important;}
}
@media all and (max-width:820px){
	.m { display:block !important;}
	.pc { display:none !important;}
}
@media all and (max-width:520px){
    .tit_ani_wrap .txt_ani_box { padding: 0 10px;}
	#progresscir .circle {width: 60px; height: 60px; }
	#progresscir .percent_txt {font-size: 12px;}
	#progresscir .percent_txt span {font-size: 24px;}
	.cir_rotate {width: 120px;}
	#hd_pop { width: -webkit-fill-available !important;  margin: 0 10px;}
	.hd_pops_con {     width: -webkit-fill-available !important;  height:-webkit-fill-available !important;}
	.hd_pops { left:0 !important;}
}

/* ==========================================================================
   모바일 보정 (260826)
   1) 하단 고정 예약바가 푸터 마지막 줄을 가리던 문제
   2) 모바일 전체메뉴 — .mo_menu 버튼에 연결된 동작·패널이 없어
      1024px 이하에서는 .gnb 가 숨겨진 채 이동 수단이 아예 없었다
   3) 손가락으로 누르기 어려운 터치 타깃 보정
   ========================================================================== */

/* 1) 모바일 예약바 높이 50px + 여유 */
@media (max-width:767px){
.footer {padding-bottom:78px}
}

/* 2) 모바일 전체메뉴 -------------------------------------------------- */
.mo_nav {position:fixed;top:0;left:0;right:0;bottom:0;z-index:100;visibility:hidden;pointer-events:none}
.mo_nav.on {visibility:visible;pointer-events:auto}
.mo_nav_dim {position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);opacity:0;transition:opacity .32s ease}
.mo_nav.on .mo_nav_dim {opacity:1}
.mo_nav_panel {position:absolute;top:0;right:0;display:flex;flex-direction:column;width:min(88vw,360px);height:100%;background:#111;color:#fff;transform:translateX(100%);transition:transform .38s cubic-bezier(.25,.6,.3,1);overflow-y:auto;overscroll-behavior:contain}
.mo_nav.on .mo_nav_panel {transform:translateX(0)}
.mo_nav_head {display:flex;align-items:center;justify-content:space-between;flex:0 0 auto;padding:22px 22px 24px;border-bottom:1px solid rgba(255,255,255,.1)}
.mo_nav_logo {display:block;color:#fff}
.mo_nav_logo img {height:48px;width:auto;object-fit:contain}
.mo_nav_close {display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin-right:-10px;color:#fff;transition:color .2s}
.mo_nav_close:hover {color:#ff6a00}
.mo_nav_list {flex:1 1 auto;padding:6px 0}
.mo_nav_item {display:flex;flex-direction:column;gap:3px;padding:15px 22px;border-bottom:1px solid rgba(255,255,255,.06);color:#fff;transition:background .2s,color .2s}   /* a{color:#000} 상속을 끊는다 */
.mo_nav_item:hover, .mo_nav_item:focus {background:rgba(255,106,0,.12);color:#fff}
.mo_nav_ko {font-size:16px;font-weight:700;line-height:1.3;letter-spacing:-.02em}
.mo_nav_en {font-family:var(--ff-serif);font-size:12px;line-height:1;letter-spacing:.06em;color:rgba(255,255,255,.42);transition:color .2s}
.mo_nav_item:hover .mo_nav_en {color:#ff6a00}
.mo_nav_foot {flex:0 0 auto;padding:24px 22px 32px;border-top:1px solid rgba(255,255,255,.1)}
.mo_nav_tel {display:block;font-size:24px;font-weight:800;line-height:1.2;color:#ff6a00}
.mo_nav_time {margin-top:10px;font-size:12px;line-height:1.7;color:rgba(255,255,255,.45);word-break:keep-all}
/* 스크롤은 html 이 담당하므로(3행) 메뉴가 열린 동안은 html 을 잠근다 */
html.mo_nav_open {overflow:hidden}

/* 3) 터치 타깃 ------------------------------------------------------- */
@media (max-width:1024px){
.mo_menu {display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin-right:-10px}
}
@media (max-width:767px){
/* .sub_tab 세로 여백은 sub.css 가 뒤에 로드되므로 그쪽에서 처리한다 */
.footer_policy {gap:4px 18px}
.footer_policy a {display:inline-block;padding:7px 0}
}

/* ═══════════ 연동 텍스트 줄 수 고정 (260918) ═══════════
   관리자·DB 에서 들어오는 문구는 언어마다 길이가 달라진다.
   국문에서 한 줄이던 자리가 영문·중문·일문에서 두 줄이 되면
   카드 높이가 밀려 그리드가 어긋나므로, 국문이 차지하던 줄 수까지만
   보여주고 넘치는 부분은 … 으로 줄인다.
   국문은 이미 그 줄 수 안에 들어가므로 국문 화면은 그대로다.

   대상은 "칸 높이가 정해져 있는 곳"(카드·그리드·목록 행)으로 한정했다.
   의료진 약력(.dr_li)처럼 높이가 자유로운 본문은 줄바꿈을 그대로 둔다.

   ※ 선택자를 두 번 겹쳐 쓴 이유 :
     이 파일(css/default.css)은 main.css·sub.css 보다 먼저 실린다.
     그쪽에 `.tv_txt{display:block}` 같은 규칙이 있어 그냥 쓰면 display 가 도로 덮인다.
     `.tv_txt.tv_txt` 로 명시도를 한 단계 올려 !important 없이 이긴다.
   ── 한 줄짜리 ───────────────────────────────── */
.tv_txt.tv_txt,
.event_label.event_label, .event_tit.event_tit, .event_txt.event_txt,
.rank_name.rank_name, .rank_desc.rank_desc,
.device_name.device_name, .dv_name.dv_name,
.sign_tit.sign_tit, .sign_more.sign_more,
.sg_name.sg_name,
.ev_card_tit.ev_card_tit,
.ba_card_tit.ba_card_tit, .ba_card_desc.ba_card_desc,
.pr_name.pr_name {
	display: block;
	min-width: 0;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}


/* .stem_tit 은 일부러 뺐다 : line-height:1 이라 글자 높이(44px)가 줄상자(38px)보다 커서
   overflow:hidden 을 걸면 쉼표·y 꼬리 같은 아랫부분이 잘린다.
   게다가 컨테이너가 1595px 인데 글자는 307px 뿐이라 넘칠 일도 없다. (260918) */
/* ── 국문이 두 줄을 쓰는 곳 ─────────────────────
   .tv_txt : 3열 그리드가 가장 좁아지는 768~830px 구간에서만 국문도 두 줄이 된다.
             (828px 부터 한 줄 — 실측값) */
@media (min-width: 768px) and (max-width: 830px) {
	.tv_txt.tv_txt {
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
		line-clamp: 2;
		white-space: normal;
		text-overflow: clip;
	}
}

/* .ev_card_copy : PC 에서 국문이 두 줄, 모바일에서는 한 줄 */
.ev_card_copy.ev_card_copy {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	min-width: 0;
	overflow: hidden;
}
@media (max-width: 767px) {
	.ev_card_copy.ev_card_copy {
		display: block;
		white-space: nowrap;
		text-overflow: ellipsis;
	}
}

/* .pr_badge 는 <span> 이고 저자 CSS 가 따로 없어서 원래 display 가 inline 이었다.
   위 한 줄짜리 묶음에 넣었더니 display:block 이 되면서 글자 길이와 상관없이
   줄 전체 너비를 차지했다. inline-block 으로 되돌리되 max-width 를 걸어,
   너무 길어질 때만 … 으로 줄어들게 한다. (260918) */
.pr_badge.pr_badge {
	display: inline-block;
	max-width: 100%;
	min-width: 0;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	vertical-align: middle;
}

/* ═══════════ <p> 줄바꿈 규칙 — 중문 보정 (260921) ═══════════
   이 파일 위쪽에 `p {word-break:break-all}` 이 전역으로 걸려 있다.
   중문은 글자 단위 줄바꿈이 자연스러워 본문은 문제없지만,
   HERNE·MEGA COFFEE·MUSINSA 같은 라틴 낱말이 한가운데서 잘린다.
   word-break 를 기본값으로 돌리고, 한 줄에 못 담는 낱말만 overflow-wrap 으로 쪼갠다.
   line-break:strict 로 줄 첫머리에 、。 가 오지 않게 금칙처리도 켠다. */
p { word-break: normal; overflow-wrap: break-word; line-break: strict; }


/* ===== 헤더 로그인 버튼 · 로그인 레이어 (261001) =====
   클래스 이름을 hd_signin 으로 둔 이유 : .hd_login 은 그누보드 기본 CSS 가
   이미 쓰고 있다(위쪽 650줄, position:absolute). 같은 이름을 쓰면 버튼이
   헤더 밖으로 튀어나간다. */
.hd_util {display:flex;align-items:center;gap:26px}
.hd_signin {display:inline-flex;align-items:center;justify-content:center;min-width:92px;height:40px;padding:0 20px;border:1px solid #252525;border-radius:999px;background:transparent;font-family:inherit;font-size:13px;font-weight:700;letter-spacing:.02em;color:#252525;white-space:nowrap;cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.hd_signin:hover {background:#ff6a00;border-color:#ff6a00;color:#fff}

/* 모바일 전체메뉴 안의 로그인 (헤더 버튼은 1024px 이하에서 숨긴다) */
.mo_nav_login {display:flex;align-items:center;justify-content:center;width:100%;height:48px;margin-bottom:20px;border:1px solid rgba(255,255,255,.4);border-radius:999px;background:transparent;font-family:inherit;font-size:14px;font-weight:600;color:#fff;cursor:pointer;transition:background .2s,border-color .2s}
.mo_nav_login:hover {background:#ff6a00;border-color:#ff6a00}

@media (max-width:1024px){
.hd_signin {display:none}
/* 모바일에서도 언어를 바꿀 수 있어야 한다. 예전에는 .lang_btn 을 숨겨 두어
   휴대폰에서는 외국어 사이트로 갈 길이 아예 없었다. (261006)
   헤더 오른쪽 끝에 붙으므로 목록은 오른쪽 기준으로 펼친다(가운데면 화면을 넘어간다). */
/* .gnb 가 숨으면 space-between 이 남은 셋을 고르게 벌려 언어 버튼이
   헤더 한가운데 뜬다. 햄버거 옆으로 붙인다. */
.hd_util {gap:14px;margin-left:auto}
.lang_btn {gap:8px;padding:8px 0;font-size:13px}
.lang_btn svg {width:15px;height:15px}
.lang_sub {left:auto;right:0;width:124px;transform:none}
}

@media (max-width:767px){
.hd_util {gap:10px}
.lang_btn {gap:6px;font-size:12px}
.lang_sub {width:112px}
.lang_item {padding:9px 16px}
}

/* 로그인 레이어 : 아이디/비밀번호 폼 대신 소셜 로그인만 둔다.
   id 에 클래스를 더해 위쪽 #pop_login{display:none} 규칙을 되받는다. */
#pop_login.hlog {position:fixed;top:0;left:0;right:0;bottom:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:20px}
#pop_login.hlog[hidden] {display:none}
.hlog_dim {position:absolute;top:0;left:0;width:100%;height:100%;margin:0;padding:0;border:0;background:rgba(0,0,0,.5);cursor:pointer}
.hlog_box {position:relative;width:100%;max-width:420px;padding:44px 36px 36px;background:#fff;text-align:center}
.hlog_x {position:absolute;top:12px;right:12px;display:grid;place-items:center;width:40px;height:40px;padding:0;border:0;background:none;color:#a89f93;cursor:pointer;transition:color .2s}
.hlog_x:hover {color:#111}
.hlog_eng {font-size:11px;font-weight:600;letter-spacing:.3em;color:#a89f93}
.hlog_tit {margin-top:12px;font-family:var(--ff-serif);font-size:34px;font-weight:400;line-height:1;letter-spacing:.06em;color:#111}
.hlog_desc {margin-top:14px;font-size:13.5px;line-height:1.7;color:#7a736a;word-break:keep-all}
.hlog_btns {display:flex;flex-direction:column;gap:10px;margin-top:28px}
.hlog_btn {display:flex;align-items:center;justify-content:center;gap:10px;width:100%;height:52px;border:1px solid transparent;border-radius:6px;font-size:14px;font-weight:600;letter-spacing:-.01em;transition:filter .2s,background .2s}
.hlog_btn svg {flex-shrink:0}
.hlog_kakao {background:#FEE500;color:#191919}
.hlog_kakao:hover {filter:brightness(.95)}
.hlog_naver {background:#03C75A;color:#fff}
.hlog_naver:hover {filter:brightness(.94)}
.hlog_google {background:#fff;border-color:#dadce0;color:#3c4043}
.hlog_google:hover {background:#f7f7f7}
.hlog_none {margin-top:24px;font-size:13.5px;color:#7a736a}

@media (max-width:767px){
.hlog_box {padding:38px 22px 28px}
.hlog_tit {font-size:28px}
.hlog_btn {height:50px}
}
