/* WEB FONTS
   ========================================================================== */
@import url(https://fonts.googleapis.com/css?family=Lato:100,300,400,700);

/* RESET
   ========================================================================== */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}
ol, ul {
	list-style: none;
}
a img {
	border-style: none;
}

/* BASE
   ========================================================================== */
html {
	height: 100%;
	overflow-y: scroll;
}
body {
	height: 100%;
	/* 원본 일본어 스택을 한국어 대체 스택으로만 치환. 나머지 값은 원본 그대로 */
	font-family: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont,
	             "Apple SD Gothic Neo", "Noto Sans KR", "맑은 고딕", "Malgun Gothic", sans-serif;
	line-height: 1;
	color: #555;
	-webkit-font-smoothing: antialiased;
}

#loader {
	width: 50px;
	height: 50px;
	display: none;
	position: fixed;
	top: 50%;
	left: 50%;
	margin-top: -25px;
	margin-left: 100px;
	z-index: 100;
}
#loader img {
	width: 50px;
	height: 50px;
	display: block;
}
#fade {
	width: 100%;
	height: 100%;
	display: none;
	background-color: #FFFFFF;
	position: absolute;
	top: 0px;
	left: 0px;
	z-index: 50;
}

/* common
   ========================================================================== */
#content {
	margin: 0 auto;
	max-width: 1024px;
	line-height: 1.6em;
	overflow: hidden;
}
#spHead {
	background-color: #fff;
	position: fixed;
	width: 100%;
	z-index: 100;
	height: 50px;
	display: none;
	text-align: right;
}

#layout,
#menu,
.menu-btn,
#spHead {
	-webkit-transition: all 0.2s ease-out;
	-moz-transition: all 0.2s ease-out;
	-ms-transition: all 0.2s ease-out;
	-o-transition: all 0.2s ease-out;
	transition: all 0.2s ease-out;
}
#layout {
	padding-left: 250px;
	left: 0;
}

#curtain {
	position: fixed;
	background: #fff;
	z-index: 50;
	display: none;
}
#main {
	max-width: 1600px;
}

/* menu */
#menu {
	width: 250px;
	position: fixed;
	top: 0;
	left: 0;
	bottom: 0;
	z-index: 200;
	text-align: center;
	background: #fff;
}
#logo {
	margin-top: 50px;
}
#logo img {
	width: 70px;
	height: auto;
	display: inline-block;
}
#btn_reservation {
	font-family: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont,
	             "Apple SD Gothic Neo", "Noto Sans KR", "맑은 고딕", "Malgun Gothic", sans-serif;
	font-size: 13px;
	margin-top: 40px;
	font-weight: bold;
}
#btn_reservation a {
	text-decoration: none;
	color: #fff;
	background: #555;
	display: inline-block;
	padding: 7px 12px 5px 12px;
	border-radius: 15px;
	-webkit-border-radius: 15px;
	-moz-border-radius: 15px;
}
#btn_reservation a:hover {
	text-decoration: none;
	background: #A5A5A5;
}
#gnav {
	margin-top: 30px;
	padding: 0;
	font-family: 'Lato', Arial, serif; font-weight: 300;
	font-size: 18px;
}
#gnav li {
	list-style: none;
	margin-bottom: 12px;
	letter-spacing: 0.1em;
}
#gnav li a {
	text-decoration: none;
	color: #888;
}
#gnav li a:hover {
	text-decoration: none;
	color: #000;
}
#footer {
	font-family: 'Lato', Arial, serif; font-weight: 300;
	font-size: x-small;
	line-height: 1.6;
	width: 100%;
	bottom: 40px;
	position: absolute;
	text-align: center;
}
#footer .insta {
	display: block;
	margin-bottom: 20px;
}
#footer .insta img {
	width: 24px;
	height: 24px;
	display: inline-block;
}

/* MenuBtn
-----------------------------*/
#menuLink {
	z-index: 999;
}
.menu-btn {
	position: fixed;
	display: none;
	top: 0px;
	left: 5px;
	width: 50px;
	height: 50px;
}
.menu-btn span {
	display: block;
	background: #000;
	width: 30px;
	height: 2px;
	position: absolute;
	left: 10px;
	transition: all 0.2s;
	-webkit-transition: all 0.2s;
	-moz-transition: all 0.2s;
}
.menu-btn span.b1 { top: 15px; }
.menu-btn span.b2 { top: 23px; }
.menu-btn span.b3 { bottom: 15px; }
.menu-btn.active span.b1 {
	-webkit-transform: translateY(9px) rotate(45deg);
	-moz-transform: translateY(9px) rotate(45deg);
	-ms-transform: translateY(9px) rotate(45deg);
	transform: translateY(9px) rotate(45deg);
}
.menu-btn.active span.b2 { opacity: 0; }
.menu-btn.active span.b3 {
	-webkit-transform: translateY(-9px) rotate(-45deg);
	-moz-transform: translateY(-9px) rotate(-45deg);
	-ms-transform: translateY(-9px) rotate(-45deg);
	transform: translateY(-9px) rotate(-45deg);
}

/* PARTS
   ========================================================================== */
hr.titLine {
	width: 20px;
	margin: 40px 0 40px 0;
	border-width: 1px 0 0 0;
	border-style: solid;
	border-color: #cacaca;
	height: 1px;
	clear: both;
}

a:link    { color: #716861; text-decoration: none; }
a:visited { color: #716861; text-decoration: none; }
a:hover   { color: #547680; text-decoration: none; }
a:active  { }

/* GRIDS
   ========================================================================== */
.grids {
	letter-spacing: -0.31em;
	*letter-spacing: normal;
	*word-spacing: -0.43em;
	text-rendering: optimizespeed;
	display: -webkit-flex;
	-webkit-flex-flow: row wrap;
	display: -ms-flexbox;
	-ms-flex-flow: row wrap;
	display: flex;
	flex-flow: row wrap;
	-ms-align-content: flex-start;
	-webkit-align-content: flex-start;
	align-content: flex-start;
}
.grids, x:-moz-any-link, x:default { word-spacing: -0.43em; }

.grids img {
	max-width: 100%;
	height: auto;
	display: block;
}

.col1,
.col1-2,
.col1-3,
.col1-4,
.col {
	display: inline-block;
	*display: inline;
	zoom: 1;
	letter-spacing: normal;
	word-spacing: normal;
	vertical-align: top;
	text-rendering: auto;
}
.col1   { width: 100%; }
.col1-2 { width: 50%;      *width: 49.969%; }
.col1-3 { width: 33.3333%; *width: 33.3023%; }
.col1-4 { width: 25%;      *width: 24.9690%; }
.col1-5 { width: 20%;      *width: 19.969%; }

.br-s,
.br-m { display: none; }


/* Responsive Styles
   ========================================================================== */
@media screen and (max-width: 1024px) {
	.br-l { display: none; }
}
@media screen and (max-width: 768px) {
	#loader { margin-left: -25px; }
	#layout { padding-left: 0px; left: 0; }
	#layout.active #menu { left: 250px; }
	#curtain.active { display: block; opacity: 0.5; }
	#logo { display: none; }
	#spHead { display: block; }
	#logoSp { position: absolute; top: 19px; right: 15px; }
	#logoSp img { width: 110px; height: auto; display: block; }
	#menu { margin-left: -250px; }
	.menu-btn { display: block; }
	#gnav { padding-top: 50px; }
	#main { padding: 50px 0 0 0; }
	.br-m { display: block; }
	#btn_reservation { display: none; }
	#btn_reservationSp {
		font-family: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont,
		             "Apple SD Gothic Neo", "Noto Sans KR", "맑은 고딕", "Malgun Gothic", sans-serif;
		font-size: 13px;
		font-weight: bold;
		position: absolute;
		top: 12px;
		left: 60px;
	}
	#btn_reservationSp a {
		text-decoration: none;
		color: #fff;
		background: #555;
		display: inline-block;
		padding: 7px 12px 5px 12px;
		border-radius: 15px;
		-webkit-border-radius: 15px;
		-moz-border-radius: 15px;
	}
	#btn_reservationSp a:hover {
		text-decoration: none;
		background: #A5A5A5;
	}
}
@media screen and (max-width: 480px) {
	.br-s { display: block; }
}


/* MARGIN TOP
----------------------------- */
.mt0  { margin-top: 0    !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; }
.mt60 { margin-top: 60px !important; }
.mt70 { margin-top: 70px !important; }
.mt80 { margin-top: 80px !important; }
