@charset "utf-8";

.wrap { position: relative; margin: 0 auto; width: 1520px; *zoom: 1; }
.wrap: after { content: ""; display: block; clear: both; }
.wrap2 { position: relative; margin: 0 auto; width: 1320px; *zoom: 1; }
.wrap2: after { content: ""; display: block; clear: both; }

:root {
	--blue: #0a2961 ;
}

/* header */
.header { position: fixed; top: 0; width: 100%; font-size: 19px; background-color: #fff; z-index: 1000; transition: 0.3s ease-in-out }
.header.header_down { box-shadow: 0 0 5px 0 rgba(0,0,0,0.1); }
.header.down { overflow: hidden; transform: translateY(-100%); }
.header .header_in { display: flex; flex-wrap: wrap; justify-content: space-between; width: 100%; max-width: 100%; height: 82px; padding: 0 0 0 80px; align-items: center; }

.header .nav .top_box { display: none; }
.header .nav { grid-column: 2; grid-row: 1; height: 100%; font-size: 19px; position: absolute; left:50%; top: 0;  transform: translateX(-50%); }
.header .nav .depth1 { position: relative; display: flex; height: 100%; align-items: center; justify-content: center; z-index: 10; }
.header .nav .depth1 li { position: relative; height: 100%; transition: color 0.3s ease-in-out; }
.header .nav .depth1 > li:before { content: ""; position: absolute; left: 50%; top: 0px; transform: translate(-50%, 0); width: 100%; height: 0px; opacity: 0; background-color: #0c4da2; z-index: 20; transition: height ease-in-out .3s, opacity ease-in-out .5s; }
.header .nav .depth1 > li > a { position: relative; display: flex; height: 100%; padding: 0 35px; align-items: center; justify-content: center; font-weight: 600; transition: padding 0.5s; z-index: 21; white-space: nowrap;}
.header.on .nav .depth1 > li > a { padding: 0 55px; }
.header .nav .depth1 > li > a span { position: relative; }
.header .nav .depth1 > li > a:before { content: ''; position: absolute; left: 50%; bottom: 0; width: 0; height: 1px; background-color: rgba( 255, 255, 255, 0.4 ); transform: translateX(-50%); transition: width 0.5s; }
.header .nav .depth1 > li.active > a:before { width: 100%; }
.header .nav .depth1 > li.active > a span:before { opacity: 1; transform: translate(-50%, calc(-100% - 3px)); }
.header .nav .depth2 { position: absolute; left: 50%; bottom: 0; width: 100%; padding-top: 20px; transform: translate(-50%, 100%); white-space: nowrap; text-align: center; opacity: 0; pointer-events: none; transition: all 0.3s; transition-delay: -0.1s; z-index: 22; }
.header .nav .depth2 > li > a { display: block; padding: 9px 0; font-size: 17px; font-weight: 400; color: #282828; }
.header .nav .depth2 > li > a:hover { color: rgba(255,255,255,1); }
.header .nav .depth1 li:hover { color: #fff;}
.header .nav .depth1 li:hover a::before { width: 100%; }
.header .nav .depth1 li:hover::before { opacity: 1; height: 481px; transition: height 0.4s ease-in-out;}
.header .nav .depth1 li:hover .depth2 > li > a { color: rgba(255,255,255,0.7); }
.header .nav .depth1 li:hover .depth2 > li > a:hover { color: rgba(255,255,255,1); }
.header.on .nav .depth2 { transition-delay: 0.1s; pointer-events: auto; opacity: 1; }
.header .nav .gnb_bg { position: absolute; left: 50%; bottom: 1px; width: 120vw; height: 0; background-color: #fff; transform: translate(-50%, 100%); transition: all 0.2s; }
.header .nav .gnb_bg:after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 1px; background: #e7e7e7;  }
.header.on .nav .gnb_bg { height: 400px; box-shadow: rgba(149, 157, 165, 0.07) 0px 8px 15px; }

.header .util_wrap { display: flex; flex-wrap: wrap; align-items: center; }
.header .util_wrap .login { font-size: 0; line-height: 0; }
.header .util_wrap .login a { font-size: 16px; font-weight: 400; color: #111; line-height: 17px; }
.header .util_wrap .login a.btn-login, .header .util_wrap .login a.btn-action-logout { margin-right: 10px; }
.header .util_wrap .login a img { margin-left: 7px; }
.header .util_wrap .sitemap { margin-left: 40px; font-size: 0; line-height: 0; }
.header .util_wrap .sitemap a { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 8px; height: 82px; padding: 0 22px; background-color: #f47920; }
.header .util_wrap .sitemap a span { width: 38px; height: 2px; background-color: #fff; transition: all 0.3s; }
.header .util_wrap .sitemap.open > a { padding: 0 18px 0 26px; }
.header .util_wrap .sitemap.open > a span { transform: rotate(45deg) translateY(7px); }
.header .util_wrap .sitemap.open a span:nth-of-type(2n) { display: none; }
.header .util_wrap .sitemap.open a span:nth-of-type(3n) { transform: rotate(-45deg) translateY(-7px); }
.header .util_wrap .side { display: none; margin-left: 40px; font-size: 0; line-height: 0; }
.header .util_wrap .side a { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 8px; height: 82px; padding: 0 22px; background-color: #f47920; }
.header .util_wrap .side a span { width: 38px; height: 2px; background-color: #fff; transition: all 0.3s; }

/* sitemap */
.allmenuBg { position: fixed; left: calc(100% - 80px); top: 0; width: 82px; height: 82px; border-radius: 50%; background: #f47920; z-index: 777; transform: translate(-50%, -50%) scale(0); transition: all 0.8s ease-in-out; }
.allmenuBg.open{ transform: translate(-50%, -50%) scale(100); }
.allmenu{ position: fixed; right: 0; top: 82px; width:100%; height: calc(100% - 82px); z-index: 1000; background:#f47920; transform: scale(0); }
.allmenu.open{ transform: scale(1); transition: all 0s 0.8s; }
.allmenu .allmenuwrap { position: fixed; top: 50%; left: 50%; width: 70%; transform: translate(-50%, -50%); }
.allmenu .allmenuwrap > .depth { position: relative; display: flex; flex-wrap: wrap; justify-content: space-between; }
.allmenu .allmenuwrap > .depth > li { display: inline-block; transform: translateY(40px); opacity: 0; transition: all 1s 0.8s; }
.allmenu.open .allmenuwrap > .depth > li { opacity: 1; transform: translateY(0); }
.allmenu .allmenuwrap > .depth > li .depth1 a { font-size: 30px; font-weight: 600; color: #fff; line-height: 39px; }
.allmenu .allmenuwrap > .depth > li .depth2 { margin-top: 20px; }
.allmenu .allmenuwrap > .depth > li .depth2 > li a { position: relative; display: inline-block; font-size: 20px; font-weight: 300; color: #fff; line-height: 49px; }
.allmenu .allmenuwrap > .depth > li .depth2 > li a::after { content: ''; position: absolute; bottom: 0; left: 0; width: 0; border-bottom: 1px solid #fff; transition: width .4s; }
.allmenu .allmenuwrap > .depth > li .depth2 > li:hover a::after { width: 100%; }
.allmenu .allmenuwrap > .depth > li .depth3 { margin: 10px 0 20px 0; }
.allmenu .allmenuwrap > .depth > li .depth3 > li a { position: relative; padding-left: 13px; font-size: 16px; font-weight: 400; color: rgba(255,255,255,0.7); line-height: 35px; }
.allmenu .allmenuwrap > .depth > li .depth3 > li a::before { content: ''; position: absolute; top: 16px; left: 0; width: 3px; height: 3px; border-radius: 50%; background: rgba(255,255,255,0.7); }
.allmenu .allmenuwrap > .depth > li .depth3 > li a::after { display: none; }
.allmenu .allmenuwrap > .depth > li .depth3 > li a:hover { color: #fff; }

/* mobileMenu */
#mobileMenu { display: none; overflow-y: auto; position: fixed; left: 0; top: 0; width: 100%; height: 100%; background: #0c4da2; z-index: 4000; }
#mobileMenu div.top { display: flex; align-items: center; justify-content: space-between; padding: 27px 40px; font-size: 0; line-height: 0; border-bottom: 1px solid rgba(255,255,255,0.2); }
#mobileMenu div.top div.close { font-size: 0; line-height: 0; transition: all 0.3s; }
#mobileMenu div.top div.close:hover { transform: rotate(180deg); }
#mobileMenu .gnb { }
#mobileMenu .gnb li { font-size: 20px; font-weight: 600; line-height: 79px; border-bottom: 1px solid rgba(255,255,255,0.2); background: url('../images/common/mobile_bullet.png') no-repeat right 46px top 35px; }
#mobileMenu .gnb li > a { display: block; width: 100%; padding: 0 40px; color: #fff; }
#mobileMenu .gnb li .sub_gnb { display: none; }
#mobileMenu .gnb li.on { background: url('../images/common/mobile_bullet2.png') no-repeat right 46px top 35px; }
#mobileMenu .gnb li.on .sub_gnb { display: block; margin-top: -10px; padding: 0 0 20px 0; }
#mobileMenu .gnb li.on .sub_gnb li { font-size: 16px; font-weight: 500; border-bottom: none; background: none; }
#mobileMenu .gnb li.on .sub_gnb li a { color: rgba(255,255,255,0.7); line-height: 35px; }
#mobileMenu .gnb li.on .sub_gnb li a:hover { color: #fbe703; }

/* footer */
.footer { margin-top: 200px; padding: 60px 0 140px 0; border-top: 2px solid #e5e5e5; }
.footer .wrap { display: flex; flex-wrap: wrap; }
.footer .flogo { width: 360px;font-size: 0; line-height: 0; }
.footer .finfor { width: calc(100% - 360px); }
.footer .finfor .fmenu { display: flex; flex-wrap: wrap; }
.footer .finfor .fmenu a { position: relative; display: block; margin-left: 15px; padding-left: 16px; font-size: 16px; font-weight: 600; color: #111; line-height: 25px; }
.footer .finfor .fmenu a:before { content: ''; position: absolute; top: 5px; left: 0; width: 1px; height: 14px; background: #999; }
.footer .finfor .fmenu a:first-child { margin-left: 0; padding-left: 0; }
.footer .finfor .fmenu a:first-child:before { display: none; }
.footer .finfor .fmenu a:hover { text-decoration: underline; }
.footer .finfor .copyright { margin-top: 30px; font-size: 15px; font-weight: 400; color: #707070; line-height: 29px; }
.footer .finfor .copyright em { display: inline-block; margin: 0 10px; font-weight: 200; }
.footer .sns { position: absolute; bottom: 0; right: 0; font-size: 0; line-height: 0; }
.footer .sns a { display: inline-block; margin-left: 12px; border-radius: 50%; }
.footer .sns a:hover { box-shadow: 2px 2px 4px rgba(0,0,0,0.1); }

/* quickmenu */
.drawer { position: fixed; top: 200px; right: 0; display: flex; flex-wrap: wrap; transform: translateX(0); transition: transform .45s cubic-bezier(.4, 0, .2, 1); z-index: 222; }
.drawer.is-closed { transform: translateX(100%); }
.drawer.is-closed .drawer_handle span { transform: rotate(-180deg);}
.drawer .drawer_handle { position: absolute; top: 30px; left: -40px; width: 40px; border-top-left-radius: 20px; border-bottom-left-radius: 20px; background-color: #f47920; cursor: pointer; }
.drawer .drawer_handle span { display: block; width: 40px; font-size: 24px; font-weight: 900; color: #fff; line-height: 80px; text-align: center; }
.drawer .drawer_content { width: 100px; border-top-left-radius: 20px; border-bottom-left-radius: 20px; background-color: #fff; box-shadow: 0 0 10px rgba(0,0,0,0.05); }
.drawer .drawer_content li { position: relative; }
.drawer .drawer_content li:before { content: ''; position: absolute; top: 0; left: 50%; width: 60px; height: 1px; transform: translatex(-50%); background: #e0e0e0; }
.drawer .drawer_content li:first-child:before { display: none; }
.drawer .drawer_content li a { display: block; padding: 17px 0 12px 0; text-align: center; }
.drawer .drawer_content li a .icon { font-size: 0; line-height: 0; }
.drawer .drawer_content li a .tel { font-size: 20px; font-weight: 900; color: #1160a7; line-height: 20px; letter-spacing: -0.3px; }
.drawer .drawer_content li a .txt { margin-top: 5px; font-size: 14px; font-weight: 600; color: #282828; line-height: 23px; letter-spacing: -0.1px; }

/* footer reservation */
.freservation { position: fixed; bottom: 0; left: 50%; width: 1180px; padding: 20px 0; display: flex; justify-content: center; align-items: center; border-top-left-radius: 30px; border-top-right-radius: 30px; background-color: #ced4de; transform: translatex(-50%); z-index: 222; }
.freservation .reser_wrap { display: flex; flex-wrap: wrap; align-items: center; }
.freservation .txt { font-size: 16px; font-weight: 500; color: #474747; line-height: 36px; }
.freservation .txt ~ .txt { margin-left: 50px; }
.freservation .txt span { display: inline-block; margin-left: 30px; color: #8f8f8f; }
.freservation .txt a { display: inline-block; color: #474747; line-height: 36px; }
.freservation .input { width: 120px; margin-left: 30px; }
.freservation .input input { width: 100%; height: 36px; padding-left: 20px; font-size: 16px; color: #474747; border-radius: 5px; border: none; background-color: #fff; }
.freservation .input input[type=checkbox] { display: inline-block; width: 20px; padding-left: 0; align-items: center; }
.freservation .input2 { display: flex; flex-wrap: wrap; gap: 0 10px; width: 170px; margin-left: 30px; }
.freservation .input2 input { width: calc((100% - 10px) / 2); height: 36px; padding-left: 20px; font-size: 16px; color: #474747; border-radius: 5px; border: none; background-color: #fff; }
.freservation .input3 { width: auto; }
.freservation .btn { width: 160px; margin-left: 50px; }
.freservation .btn button { display: block; width: 100%; font-size: 18px; font-weight: 600; color: #fff; line-height: 36px; text-align: center; border-radius: 5px; background-color: #0c4da2; }

/* Location */
.Location { position: relative; width: 100%; margin-top: 55px; z-index: 2; }
.Location > ul { display: flex; flex-wrap: wrap; z-index: 999; }
.Location > ul:after { content: ""; display: block; clear: both; }
.Location > ul > li { position: relative; box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; }
.Location > ul > li a { display: block; font-size: 15px; font-weight: 400; color: #888; line-height: 48px; }
.Location > ul > li.depth-home { font-size: 0; line-height: 0; }
.Location > ul > li.depth-first > a { width: 150px; padding: 0 10px 0 30px; background: url("../images/common/home_arrow1.png") no-repeat right top 22px; }
.Location > ul > li.depth-first.on > a { font-weight: 600; color: #282828; background: url("../images/common/home_arrow2.png") no-repeat right top 22px; }
.Location > ul > li.depth-first.on .depth-in { display: block; }
.Location > ul > li.depth-middle > a { width: 200px; padding: 0 10px 0 30px; background: url("../images/common/home_arrow1.png") no-repeat right top 22px; }
.Location > ul > li.depth-middle.on > a { font-weight: 600; color: #282828; background: url("../images/common/home_arrow2.png") no-repeat right top 22px; }
.Location > ul > li.depth-middle.on .depth-in { display: block; }
.Location > ul > li.depth-last > a { width: 200px; padding: 0 10px 0 30px; background: url("../images/common/home_arrow1.png") no-repeat right top 22px; }
.Location > ul > li.depth-last.on > a { font-weight: 600; color: #282828; background: url("../images/common/home_arrow2.png") no-repeat right top 22px; }
.Location > ul > li.depth-last.on .depth-in { display: block; }
.Location > ul > li .depth-in { position: absolute; top: 48px; display: none; overflow: hidden; width: 100%; margin: 0; border-radius: 10px; border: 1px solid #d5d5d5; background: #fff; z-index: 999; }
.Location > ul > li .depth-in li { padding: 0; } 
.Location > ul > li .depth-in li a { display: block; margin: 0; padding: 0 0 0 29px; font-size: 14px; color: #282828; line-height: 37px; background: none; }
.Location > ul > li .depth-in li a:hover { font-weight: 600; background-color: #f1f1f1; }

/* idxlink */
.idxlink-wrap { position: relative; z-index: 1; }
.idxlink { display: none; overflow: hidden; margin-top: 55px; text-align: center; border-radius: 10px; background: url('../images/common/menu_bg.png') repeat left top; }
.idlk { overflow: hidden; width: 100%; margin: 0 auto; display: none; border-radius: 10px; }
.idlk li { display: block; width: 100%; font-size: 18px; font-weight: 400; color: #282828; background: url('../images/common/menu_bg2.png') repeat left top; border-bottom: 1px solid #ccc; text-align: left; }
.idlk li a { display: block; padding-left: 40px; color: #282828; line-height: 57px; }
.idlk li a:hover { color: #282828; }
.menu { display: none; }
.menu { position: relative; display: block; padding-left: 40px; font-size: 18px; font-weight: 700; color: #fff; line-height: 57px; text-align: left; border-bottom: 1px solid #ccc; }
.menu div.bullet { position: absolute; right: 40px; top: 25px; font-size: 0; line-height: 0; }
.inner { width: 100%; margin: 0 auto; cursor: pointer; }
.idlk.on { display: block; position: absolute; border-top: none; width: 100%; box-sizing: border-box; -moz-box-sizing: border-box; z-index: 999; }

/* modal */
.modal-overlay { position: fixed; top: 0; bottom: 0; left: 0; right: 0; background:rgba(0,0,0,0.6); z-index:999; display: none; }
.modal { position:absolute; top:50%; left:50%; width:980px; padding:50px; border-radius:20px; background-color:#fff; transform:translate(-50%, -50%); box-sizing:border-box; -moz-box-sizing:border-box; -webkit-box-sizing:border-box; }
.modal2 { position:absolute; top:50%; left:50%; width:1260px; padding:50px; border-radius:20px; background-color:#fff; transform:translate(-50%, -50%); box-sizing:border-box; -moz-box-sizing:border-box; -webkit-box-sizing:border-box; }
.modal-pw { width:500px; box-sizing:border-box; -moz-box-sizing:border-box; -webkit-box-sizing:border-box; }
.modal-pw .list-btn { margin-top: 40px; }

.modal-btn-wrap { text-align: center; }
.modal-btn-wrap .btn-agree-confirm { width: 50%; margin-top: 50px; font-size: 18px; font-weight: 700; line-height: 57px; color:#fff; border-radius:10px; background-color: #0c4da2; }

h2.modal-h2 { font-size:24px; font-weight:700; color:#111; line-height:33px; }
h2.modal-h2-finish { position:relative; margin-top:45px; font-size:20px; font-weight:700; color:#111; line-height:29px; }
h2.modal-h2-finish em { display:inline-block; margin-left:20px; font-size:15px; font-weight:300; color:#999; line-height:29px; vertical-align:top; }
h2.modal-h2-finish em img { margin:7px 1px 0 1px; vertical-align:top; }
h2.modal-h2-finish em span { display:inline-block; margin:0 10px; padding-right:11px; font-weight:600; color:#333; vertical-align:top; background:url('../images/common/gnb_line.jpg') no-repeat right center; }
h3.modal-h3 { position:relative; margin-top: 0; font-size:20px; font-weight:700; color:#111; line-height:30px; text-align:left; }
h3.modal-h3 a { position:absolute; top:5px; right:0; font-size:0; line-height:0; }

div.modal-policy { overflow-y:scroll; max-height:500px; margin-top:30px; font-size: 16px; font-weight: 400; color: #777; line-height: 25px; text-align:left; }
div.modal-policy strong { display: block; margin-bottom: 10px; font-weight: 600; color: #282828; }
div.modal-policy strong.inline { display: inline-block; margin-bottom: 0; }
div.modal-policy span { display: inline-block; font-weight: 600; color: #0b5cc2; }
div.modal-policy table { width: calc(100% - 1px); margin: 15px 0; border-top: 1px solid #d5d5d5; border-right: 1px solid #d5d5d5; border-bottom: 1px solid #d5d5d5; }
div.modal-policy table th { padding: 10px; font-weight: 600; color: #282828; text-align: center; border-left: 1px solid #d5d5d5; border-bottom: 1px solid #d5d5d5; background-color: #e5e5e5; }
div.modal-policy table td { padding: 10px; text-align: center; border-left: 1px solid #d5d5d5; border-bottom: 1px solid #d5d5d5; }
div.modal-img { margin-top:30px; font-size: 0; line-height: 0; }
div.modal-img img { width: 100%; }
div.modal-input { margin-top:35px; }
div.modal-input input[type="password"] { width:100%; height:61px; font-size: 20px; font-weight:600; color:#282828; text-align:center; border-radius:10px; border:1px solid #d5d5d5; }
div.modal-input p { margin-top:20px; font-size:16px; color:#505050; line-height:25px; text-align:center; }
div.modal-txt { font-size:18px; font-weight: 600; color:#282828; line-height:29px; text-align:center; }
div.modal-txt span { color:#00aeef; }
div.modal-btn { margin-top:45px; text-align:center }
div.modal-btn a { display:inline-block; width:118px; margin:0 5px; font-size:16px; font-weight:700; color:#00aeef; line-height:45px; border-radius:50px; border:1px solid #00aeef; }
div.modal-btn a.on { color:#fff; background-color:#00aeef; }
div.modal-btn button { display:inline-block; width:118px; margin:0 5px; font-size:16px; font-weight:700; color:#17378a; line-height:45px; border-radius:5px; border:1px solid #17378a; border:none; }
div.modal-btn button.on { color:#fff; background-color:#17378a; }

.video-wrapper { position:relative;width:100%;max-width:960px;margin:0 auto; }
.video-container { position:relative;width:100%;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:10px; }
.video-container iframe { position:absolute;top:0;left:0;width:100%;height:100%;border:0; }

.video-layer { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.8); z-index: 9999; overflow-y: auto; }
.video-layer .layer-wrap { position: absolute; top: 50%; left: 50%; width: 92%; max-width: 1000px; padding: 40px; background-color: #000; transform: translate(-50%, -50%); z-index: 111; border-radius: 10px; box-sizing: border-box; }
.video-layer .video-layer-close { position: absolute; top: 15px; right: 15px; z-index: 10; }
.video-layer .video-layer-close a { display: block; font-size: 0; line-height: 0; }
.video-layer .video-layer-close img { display: block; width: 20px; height: 20px;}
.video-layer .video { position: relative; width: 100%; padding-bottom: 56.25%; height: 0; margin-top: 0; background: #000; }
.video-layer .video iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0; }

@media screen and (max-width: 1680px) {
	.wrap { width: 1520px; margin: 0 auto; }

	.header .header_in { padding: 0 0 0 40px; }
	.header .nav { margin-left: 30px; font-size: 17px; }
	.header .nav .depth1 > li > a { padding: 0 25px; }
	.header.on .nav .depth1 > li > a { padding: 0 35px; }
	.header .nav .depth2 > li > a { padding: 6px 0; font-size: 15px; }
	.header .nav .depth1 li:hover::before { height: 401px; }
	.header.on .nav .gnb_bg { height: 320px; }
}

@media screen and (max-width: 1520px) {
	.wrap { width: 1320px; margin: 0 auto; }

	.footer .flogo { width: 300px; }
	.footer .finfor { width: calc(100% - 300px); }
}

@media screen and (max-width: 1320px) {
	.wrap { width: 980px; margin: 0 auto; }
	.wrap2 { width: 980px; margin: 0 auto; }

	.header .nav { display: none; }
	.header .util_wrap .sitemap { display: none; }
	.header .util_wrap .side { display: block; }

	.footer .flogo { width: 100%; }
	.footer .finfor { width: 100%; margin-top: 40px; }
	.footer .sns { bottom: inherit; top: -6px; }

	.idxlink { display: block; }

	.freservation { left: 0; width: 100%; transform: translatex(0); border-radius: 0; }
}

@media screen and (max-width:980px) {
	.wrap { width: 750px; margin: 0 auto; }
	.wrap2 { width: 750px; margin: 0 auto; }

	.footer .finfor .fmenu { gap: 5px 15px; }
	.footer .finfor .fmenu a { margin-left: 0; padding-left: 0; }
	.footer .finfor .fmenu a:before { display: none; }

	.freservation { bottom: 91px; }
	.freservation .txt ~ .txt { margin-left: 20px; }
	.freservation .txt span { margin-left: 10px; }
	.freservation .input { width: 80px; margin-left: 10px; }
	.freservation .input input { padding-left: 10px; }
	.freservation .input2 { width: 130px; margin-left: 10px; }
	.freservation .input2 input { padding-left: 10px; }
	.freservation .btn { width: 130px; margin-left: 20px; }

	.drawer { position: fixed; top: inherit; bottom: 0; right: 0; width: 100%; }
	.drawer .drawer_handle { display: none; }
	.drawer .drawer_content { display: flex; flex-wrap: wrap; width: 100%; border-top-left-radius: 0; border-bottom-left-radius: 0; background-color: #fff; box-shadow: 0 -10px 10px rgba(0,0,0,0.05); }
	.drawer .drawer_content li { width: 25%; }
	.drawer .drawer_content li:before { top: 20px; left: 0; width: 1px; height: 50px; }
	.drawer .drawer_content li:nth-child(1) { display: none; }
	.drawer .drawer_content li:nth-child(2):before { display: none; }
	.drawer .drawer_content li:nth-child(6) { display: none; }

	.modal { left:20px; right:20px; width:auto; transform:translate(0, -50%); }
}

@media screen and (max-width:768px) {
	.wrap { width: auto; margin: 0 20px; }
	.wrap2 { width: auto; margin: 0 20px; }

	.header .header_in { height: 60px; padding: 0 0 0 20px; }
	.header  h1 img { height: 20px; }

	.header .util_wrap .login a { font-size: 13px; line-height: 14px; }
	.header .util_wrap .login a img { height: 14px; margin-left: 5px; }
	.header .util_wrap .side { margin-left: 20px; }
	.header .util_wrap .side a { gap: 5px; height: 60px; padding: 0 18px; }
	.header .util_wrap .side a span { width: 24px; }

	#mobileMenu div.top { padding: 21px 20px; }
	#mobileMenu div.top img { height: 20px; }
	#mobileMenu div.top div.close img { height: 18px; }
	#mobileMenu .gnb li { font-size: 16px; line-height: 61px; background: url('../images/common/mobile_bullet.png') no-repeat right 23px top 28px; background-size: 12px 6px; }
	#mobileMenu .gnb li > a { padding: 0 20px; }
	#mobileMenu .gnb li.on { background: url('../images/common/mobile_bullet2.png') no-repeat right 23px top 28px; background-size: 12px 6px; }
	#mobileMenu .gnb li.on .sub_gnb { padding: 15px 0; }
	#mobileMenu .gnb li.on .sub_gnb li { font-size: 14px; }
	#mobileMenu .gnb li.on .sub_gnb li a { line-height: 27px; }

	.footer { margin-top: 120px; padding: 40px 0 190px 0; border-top: 1px solid #e5e5e5; }
	.footer .flogo img { height: 20px; }
	.footer .finfor { margin-top: 35px; }
	.footer .finfor .fmenu { gap: 0 10px; }
	.footer .finfor .fmenu a { font-size: 13px; line-height: 23px; }
	.footer .finfor .copyright { margin-top: 25px; font-size: 13px; line-height: 22px; }
	.footer .finfor .copyright em { display: block; margin: 0; width: 0; height: 0; font-size: 0; line-height: 0; }
	.footer .sns { top: -5px; }
	.footer .sns a { margin-left: 10px; }
	.footer .sns a img { height: 30px; }

	.freservation { bottom: 68px; padding: 10px 0; border-bottom: 1px solid #ddd; background-color: #fff; box-shadow: 0 -10px 10px rgba(0,0,0,0.05); }
	.freservation .reser_wrap { justify-content: center; gap: 8px 0; }
	.freservation .txt { font-size: 13px; line-height: 26px; }
	.freservation .txt a { line-height: 26px; }
	.freservation .txt ~ .txt { margin-left: 15px; }
	.freservation .input { width: 66px; }
	.freservation .input input { height: 26px; font-size: 13px; border: 1px solid #ddd; }
	.freservation .input2 { width: 110px; gap: 6px; }
	.freservation .input2 input { width: calc((100% - 6px) / 2); height: 26px; font-size: 13px; border: 1px solid #ddd; }
	.freservation .btn { width: 100px; margin-left: 15px; }
	.freservation .btn button { font-size: 13px; line-height: 26px; }

	.drawer .drawer_content li:before { top: 12px; height: 44px; }
	.drawer .drawer_content li a { padding: 12px 0 8px 0; }
	.drawer .drawer_content li a .icon img { height: 24px; }
	.drawer .drawer_content li a .txt { font-size: 12px; line-height: 19px; }

	.Location { margin-top: 35px; }
	.Location > ul { width: 100%; }
	.Location > ul > li a { font-size: 13px; line-height: 36px; }
	.Location > ul > li.depth-home img { height: 36px; }
	.Location > ul > li.depth-first { width: calc(50% - 36px); }
	.Location > ul > li.depth-first > a { width: 100%; padding: 0 10px 0 20px; background: url("../images/common/home_arrow1.png") no-repeat right top 16px; }
	.Location > ul > li.depth-first.on > a { background: url("../images/common/home_arrow2.png") no-repeat right top 16px; }
	.Location > ul > li.depth-middle { width: 50%; }
	.Location > ul > li.depth-middle > a { width: 100%; padding: 0 10px 0 20px; background: url("../images/common/home_arrow1.png") no-repeat right top 16px; }
	.Location > ul > li.depth-middle.on > a { background: url("../images/common/home_arrow2.png") no-repeat right top 16px; }
	.Location > ul > li .depth-in { top: 36px; border-radius: 5px; }
	.Location > ul > li .depth-in li a { padding: 0 0 0 19px; font-size: 13px; line-height: 32px; }
	.Location > ul > li.depth-last { display: none; }

	.idxlink { margin-top: 35px; }
	.idlk li { font-size: 14px; }
	.idlk li a { padding-left: 20px; line-height: 43px; }
	.menu { padding-left: 20px; font-size:14px; line-height: 43px; }
	.menu div.bullet { right: 20px; top: 20px; }
	.menu div.bullet img { height: 6px; }

	.modal { padding:25px 30px; border-radius:10px; }
	.modal-pw { width: auto; }

	h3.modal-h3 { font-size:16px; line-height:25px; }
	h3.modal-h3 a img { height: 15px; }

	div.modal-policy { max-height:300px; margin-top:15px; font-size: 13px; line-height: 20px; }
	div.modal-policy table { margin: 10px 0; }
	div.modal-policy table th { padding: 8px; }
	div.modal-policy table td { padding: 8px; }
	div.modal-input { margin-top:20px; }
	div.modal-input input[type="password"] { height: 44px; font-size: 15px; border-radius: 5px; }
	div.modal-input p { margin-top:15px; font-size:14px; line-height:23px; }
	div.modal-txt { font-size:14px; line-height:23px; }
	div.modal-btn { margin-top:20px; }
	div.modal-btn a { width:78px; margin:0 5px; font-size:14px; line-height: 33px; }

    .video-layer .layer-wrap { width: 95%; padding: 40px 20px 20px 20px; }
    .video-layer .video-layer-close { top: 10px; right: 10px; }
    .video-layer .video-layer-close img { width: 16px; height: 16px; }
}

@media screen and (max-width:480px) {
	.wrap { width: auto; margin: 0 20px; }
	.wrap2 { width: auto; margin: 0 20px; }
}


/* Original home icon geometry; color-only rollover. */
.Location > ul > li.depth-home { position: relative; border-radius: 50%; }
.Location > ul > li.depth-home::after { content: ""; position: absolute; inset: 0; background: url('../images/common/home_icon_hover.png') no-repeat center / 100% 100%; opacity: 0; transition: opacity .25s; pointer-events: none; }
.Location > ul > li.depth-home img { transition: opacity .25s; }
.Location > ul > li.depth-home:hover::after { opacity: 1; }
.Location > ul > li.depth-home:hover img { opacity: 0; }
@media (prefers-reduced-motion: reduce) {
 .Location > ul > li.depth-home::after, .Location > ul > li.depth-home img { transition: none; }
}


/* Homepage arrival: quick links open from the edge, booking rises from below. */
@keyframes hospitalQuickArrival {
 from { transform: translateX(100%); }
 to { transform: translateX(0); }
}
@keyframes hospitalBookingArrival {
 from { opacity: 0; transform: translate(-50%, 115%); }
 to { opacity: 1; transform: translate(-50%, 0); }
}
.drawer.quick-intro { animation: hospitalQuickArrival .8s .45s both cubic-bezier(.2,.7,.3,1); }
.freservation.reservation-intro { animation: hospitalBookingArrival .8s .75s both cubic-bezier(.2,.7,.3,1); }
/* Navy menu trigger, with no orange opening background. */
.header .util_wrap .sitemap a { transition: background-color .3s; }
.header .util_wrap .sitemap a:hover,
.header .util_wrap .sitemap a:focus-visible,
.header .util_wrap .sitemap.open a { background-color: #003376; }
.allmenuBg { inset: 0; left: 0; top: 0; width: 100%; height: 100%; border-radius: 0; transform: none; background: rgba(0,51,118,.88); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); opacity: 0; visibility: hidden; pointer-events: none; z-index: 1300; transition: opacity .5s ease, visibility .5s; }
.allmenuBg.open { transform: none; opacity: 1; visibility: visible; pointer-events: auto; }
.allmenu { inset: 82px 0 0; top: 82px; width: 100%; height: calc(100% - 82px); background: transparent; transform: none; opacity: 0; visibility: hidden; pointer-events: none; z-index: 1400; overflow-y: auto; transition: opacity .4s ease, visibility .4s; }
.allmenu.open { transform: none; opacity: 1; visibility: visible; pointer-events: auto; transition: opacity .5s ease, visibility .5s; }
.allmenu .allmenuwrap { position: relative; left: auto; top: auto; width: 86%; max-width: 2200px; min-height: 100%; margin: 0 auto; padding: 9vh 0 60px; box-sizing: border-box; transform: none; display: flex; align-items: center; }
.allmenu .allmenuwrap > .depth { display: grid; grid-template-columns: repeat(6, minmax(0,1fr)); width: 100%; gap: 0; align-items: start; }
.allmenu .allmenuwrap > .depth > li { display: block; padding: 0 26px; border-left: 1px solid rgba(255,255,255,.15); transform: translateY(24px); opacity: 0; transition: transform .6s ease, opacity .6s ease; }
.allmenu .allmenuwrap > .depth > li:first-child { border-left: 0; }
.allmenu.open .allmenuwrap > .depth > li { opacity: 1; transform: translateY(0); transition-delay: .12s; }
.allmenu.open .allmenuwrap > .depth > li:nth-child(2) { transition-delay: .17s; }
.allmenu.open .allmenuwrap > .depth > li:nth-child(3) { transition-delay: .22s; }
.allmenu.open .allmenuwrap > .depth > li:nth-child(4) { transition-delay: .27s; }
.allmenu.open .allmenuwrap > .depth > li:nth-child(5) { transition-delay: .32s; }
.allmenu.open .allmenuwrap > .depth > li:nth-child(6) { transition-delay: .37s; }
.allmenu .allmenuwrap > .depth > li .depth1 { padding-bottom: 26px; border-bottom: 1px solid rgba(255,255,255,.35); }
.allmenu .allmenuwrap > .depth > li .depth1 a { font-size: clamp(24px,1.55vw,40px); font-weight: 700; line-height: 1.3; letter-spacing: -.04em; }
.allmenu .allmenuwrap > .depth > li .depth2 { margin-top: 26px; }
.allmenu .allmenuwrap > .depth > li .depth2 > li a { padding: 6px 0; font-size: clamp(16px,.95vw,24px); font-weight: 400; color: rgba(255,255,255,.78); line-height: 1.7; transition: color .25s, translate .25s; }
.allmenu .allmenuwrap > .depth > li .depth2 > li a:hover,
.allmenu .allmenuwrap > .depth > li .depth2 > li a:focus-visible { color: #fff; translate: 5px 0; }
.allmenu-open .header { z-index: 1500; background: transparent; border-color: rgba(255,255,255,.15); }
.allmenu-open .header .nav { visibility: hidden; pointer-events: none; }
.allmenu-open .header h1 img { filter: brightness(0) invert(1); }
.allmenu-open .header .util_wrap > :not(.sitemap) { visibility: hidden; pointer-events: none; }
.allmenu-open .header .util_wrap .sitemap a { background: #003376; }
.allmenu-open .header .gnb_bg { display: none; }
@media (min-width:1241px) and (max-width:1500px) {
 .allmenu .allmenuwrap { width: 94%; }
 .allmenu .allmenuwrap > .depth > li { padding: 0 18px; }
}
@media (prefers-reduced-motion: reduce) {
 .drawer.quick-intro, .freservation.reservation-intro { animation: none; }
 .allmenu, .allmenuBg, .allmenu .allmenuwrap > .depth > li { transition: none; }
 .allmenu.open .allmenuwrap > .depth > li { transition-delay: 0s; }
}


/* Real initial state; JS starts these transitions after the preloader. */
.drawer.quick-arrival-pending { transform: translateX(100%); transition: none; }
.drawer:not(.quick-arrival-pending) { transition: transform .8s cubic-bezier(.2,.7,.3,1); }
.freservation { transition: transform .85s cubic-bezier(.2,.7,.3,1), opacity .85s ease; }
.freservation.reservation-arrival-pending { opacity: 0; transform: translate(-50%, 115%); pointer-events: none; }
@media (prefers-reduced-motion: reduce) {
 .drawer:not(.quick-arrival-pending), .freservation { transition: none; }
}


/* Fill the entire header height, including the former white strip. */
@media (min-width: 1241px) {
 .header .header_in { align-items: stretch; }
 .header .header_in > h1 { display: flex; align-items: center; }
 .header .util_wrap { height: 100%; align-items: stretch; }
 .header .util_wrap .login { display: flex; align-items: center; }
 .header .util_wrap .sitemap { display: flex; height: 100%; padding: 0; line-height: 0; }
 .header .util_wrap .sitemap > a { box-sizing: border-box; height: 100%; min-height: 82px; margin: 0; padding-top: 0; padding-bottom: 0; }
}
/* Scale quick links and booking controls together on wide screens. */
@media (min-width: 1921px) {
 .drawer, .freservation { --quick-unit: clamp(1px, .052083333vw, 1.5px); }
 .drawer { top: clamp(180px, 13.9vh, 240px); }
 .drawer .drawer_content { width: calc(var(--quick-unit) * 100); border-top-left-radius: calc(var(--quick-unit) * 20); border-bottom-left-radius: calc(var(--quick-unit) * 20); }
 .drawer .drawer_handle { top: calc(var(--quick-unit) * 30); left: calc(var(--quick-unit) * -40); width: calc(var(--quick-unit) * 40); border-top-left-radius: calc(var(--quick-unit) * 20); border-bottom-left-radius: calc(var(--quick-unit) * 20); }
 .drawer .drawer_handle span { width: calc(var(--quick-unit) * 40); font-size: calc(var(--quick-unit) * 24); line-height: calc(var(--quick-unit) * 80); }
 .drawer .drawer_content li::before { width: calc(var(--quick-unit) * 60); }
 .drawer .drawer_content li a { padding: calc(var(--quick-unit) * 17) 0 calc(var(--quick-unit) * 12); }
 .drawer .drawer_content li a .icon img { width: calc(var(--quick-unit) * 32); height: calc(var(--quick-unit) * 32); object-fit: contain; }
 .drawer .drawer_content li a .tel { font-size: calc(var(--quick-unit) * 20); line-height: calc(var(--quick-unit) * 20); }
 .drawer .drawer_content li a .txt { margin-top: calc(var(--quick-unit) * 5); font-size: calc(var(--quick-unit) * 14); line-height: calc(var(--quick-unit) * 23); }
 .freservation { box-sizing: border-box; width: calc(var(--quick-unit) * 1180); max-width: calc(100vw - 80px); padding: calc(var(--quick-unit) * 20) 0; border-top-left-radius: calc(var(--quick-unit) * 30); border-top-right-radius: calc(var(--quick-unit) * 30); }
 .freservation .txt { font-size: calc(var(--quick-unit) * 16); line-height: calc(var(--quick-unit) * 36); }
 .freservation .txt ~ .txt { margin-left: calc(var(--quick-unit) * 50); }
 .freservation .txt span { margin-left: calc(var(--quick-unit) * 30); }
 .freservation .txt a { line-height: calc(var(--quick-unit) * 36); }
 .freservation .input { width: calc(var(--quick-unit) * 120); margin-left: calc(var(--quick-unit) * 30); }
 .freservation .input input { height: calc(var(--quick-unit) * 36); padding-left: calc(var(--quick-unit) * 20); font-size: calc(var(--quick-unit) * 16); border-radius: calc(var(--quick-unit) * 5); }
 .freservation .input2 { width: calc(var(--quick-unit) * 170); gap: 0 calc(var(--quick-unit) * 10); }
 .freservation .input2 input { width: calc((100% - var(--quick-unit) * 10) / 2); height: calc(var(--quick-unit) * 36); padding-left: calc(var(--quick-unit) * 20); font-size: calc(var(--quick-unit) * 16); }
 .freservation .input3 { width: auto; }
 .freservation .input input[type=checkbox] { width: calc(var(--quick-unit) * 20); height: calc(var(--quick-unit) * 20); padding-left: 0; }
 .freservation .btn { width: calc(var(--quick-unit) * 160); margin-left: calc(var(--quick-unit) * 50); }
 .freservation .btn button { font-size: calc(var(--quick-unit) * 18); line-height: calc(var(--quick-unit) * 36); border-radius: calc(var(--quick-unit) * 5); }
}


/* Keep quick links distinct on white sections without changing their size. */
.drawer .drawer_content {
 box-sizing: border-box;
 background: #fff;
 border: 1px solid #cbd5e2;
 border-right: 0;
 box-shadow: -7px 5px 24px rgba(0, 34, 78, .16), -1px 0 4px rgba(0, 34, 78, .08);
}
.drawer .drawer_content li::before { background-color: #d4dce7; }


/* Cover the header's full right edge, including its bottom divider/shadow. */
@media (min-width: 1241px) {
 .header .util_wrap { padding-right: 122px; }
 .header .util_wrap .sitemap {
   position: absolute; top: 0; right: 0; bottom: -2px;
   width: 82px; height: auto; margin: 0; padding: 0;
   background: #f47920; z-index: 1100;
 }
 .header .util_wrap .sitemap > a {
   position: absolute; inset: 0; width: 100%; height: 100%;
   min-height: 0; box-sizing: border-box; margin: 0;
   background: #f47920;
 }
 .header .util_wrap .sitemap:hover,
 .header .util_wrap .sitemap.open,
 .header .util_wrap .sitemap:focus-within,
 .header .util_wrap .sitemap > a:hover,
 .header .util_wrap .sitemap > a:focus-visible,
 .header .util_wrap .sitemap.open > a { background: #003376; }
}

/* PPT 01: retain the original hamburger at the existing mobile breakpoint. */
@media (max-width: 1320px) {
 .header .util_wrap .sitemap { display: none; }
 .header .util_wrap .side { display: block; }
 .header .util_wrap .side a { background: #f47920; }
 .header .util_wrap .side a span { display: block; background: #fff; border-radius: 0; }
}
.drawer .drawer_content { border-color: #e7ecf3; box-shadow: -3px 3px 14px rgba(0,34,78,.07); }
.drawer .drawer_content li::before { background: #e5eaf1; }
.freservation { border: 0; box-shadow: none; }
.freservation .input3 .txt { display: flex; align-items: center; gap: 5px; white-space: nowrap; margin: 0; }
.freservation .input3 .txt label { display: inline-flex; align-items: center; gap: 6px; cursor: pointer; }
.freservation .input3 input[type=checkbox] { box-sizing: border-box; flex: 0 0 auto; width: 20px; height: 20px; margin: 0; padding: 0; vertical-align: middle; border: 0; border-radius: 0; accent-color: #0c4da2; }
@media (min-width: 1921px) { .freservation .input3 input[type=checkbox] { width: calc(var(--quick-unit) * 20); height: calc(var(--quick-unit) * 20); } }
.Location > ul > li:last-child > .depth-title { color: #282828; font-weight: 500; width: auto; min-width: 110px; max-width: 230px; padding-right: 28px; }
@media (max-width: 767px) { .Location > ul > li:last-child > .depth-title { width: 100%; min-width: 0; max-width: none; } }

@media (max-width: 767px) {
 .freservation { left: 0; right: 0; width: 100%; transform: none; padding: 10px 12px; box-sizing: border-box; }
 .freservation .reser_wrap { display: grid; width: 100%; grid-template-columns: auto minmax(50px,1fr) auto minmax(100px,1.5fr); gap: 8px 6px; }
 .freservation .txt,.freservation .txt ~ .txt,.freservation .input,.freservation .input2 { margin-left: 0; width: auto; min-width: 0; }
 .freservation .txt span { margin-left: 5px; }
 .freservation .input input,.freservation .input2 input { box-sizing: border-box; padding-left: 6px; }
 .freservation .input3 { grid-column: 1 / 4; width: auto; }
 .freservation .btn { grid-column: 4; width: 100%; margin: 0; }
 .freservation .input3 .txt { font-size: 12px; }
}

.freservation .input3 .txt label { gap: 12px; }
.freservation .input3 input[type=checkbox] { appearance: none; -webkit-appearance: none; display: inline-block; background: #fff; border: 0; box-shadow: none; border-radius: 2px; cursor: pointer; }
.freservation .input3 input[type=checkbox]:checked { background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m4 10 4 4 8-9' fill='none' stroke='%230c4da2' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat; }
.freservation .input3 input[type=checkbox]:focus-visible { outline: 2px solid #0c4da2; outline-offset: 3px; }

/* Transparent outline account icon, without the original JPEG's white rectangle. */
.header .util_wrap .login,.header .util_wrap .login a { background: transparent; }
.header .util_wrap .login a { display: inline-flex; align-items: center; gap: 7px; }
.header .util_wrap .login .login-outline { width: 28px; height: 23px; flex-shrink: 0; background: transparent; vertical-align: middle; }
@media (max-width: 768px) { .header .util_wrap .login .login-outline { width: 22px; height: 18px; } }

/* Keep the transparent login icon beside its label on every header size. */
.header .util_wrap .login { flex: 0 0 auto; }
.header .util_wrap .login a { display: inline-flex; flex-direction: row; flex-wrap: nowrap; align-items: center; justify-content: center; gap: 7px; white-space: nowrap; }
.header .util_wrap .login a svg.login-outline { display: block; width: 28px; height: 23px; flex: 0 0 28px; margin: 0; }
@media (max-width: 768px) { .header .util_wrap .login a svg.login-outline { width: 22px; height: 18px; flex-basis: 22px; } }

.allmenu-recovery-close { display: none; position: fixed; top: 14px; right: 24px; z-index: 10001; width: 54px; height: 54px; padding: 13px; box-sizing: border-box; border: 0; border-radius: 0; color: #fff; background: #003376; cursor: pointer; }
.allmenu-open .allmenu-recovery-close { display: flex; align-items: center; justify-content: center; }
.allmenu-recovery-close svg { display: block; flex-shrink: 0; }
.allmenu-recovery-close:focus-visible { outline: 2px solid #fff; outline-offset: -5px; }
@media(max-width:767px) { .allmenu-recovery-close { top: 5px; right: 10px; width: 48px; height: 48px; padding: 10px; } }
