﻿/* ------------------------------------------------

General Styles
- font face
- CSS reset
- CSS form reset
- float, clearfix, hidden
- form
- button
- table
- typography
- icon
- color

effects
- swiper
- FadeInUp
- Reveal
- Text down

Layout:common
header
- nav
- menu
side
- search
- scroll
- sns
section
footer

-*-*-*-*-*-*-

media query
pc : 1600, 1440, 1280
tablet : 1024, 834, 768
mobile : 580, 414, 360

color
Background
- F7F7F9, rgb 247,247,249
Khaki light
- B7BAA9
Khaki dull
- 817E6B, rgb 129,126,107
Khaki dark
- 67665E
Black
- 383838
error
- fd6d5e

font
Adobe Caslon Pro, Playfair Display, serif
Avenir Next LT Pro, Noto Sans KR, sans-serif

------------------------------------------------ */

@import url(styles1/bootstrap.min.css);
@import url(styles1/swiper.min.css);
@import url(styles1/vegas.min.css);
@import url(styles1/animate.css);

/* ================================================
General Styles
================================================ */

/* === font face === */

@font-face {
	font-family: "Adobe Caslon Pro";
	font-style: normal;
	font-weight: 400;
	src: url("../font/ACaslonPro-Regular.otf") format('opentype');
}
@font-face {
	font-family: "Adobe Caslon Pro";
	font-style: normal;
	font-weight: 500;
	src: url("../font/ACaslonPro-Semibold.otf") format('opentype');
}
@font-face {
	font-family: "Adobe Caslon Pro";
	font-style: normal;
	font-weight: 700;
	src: url("../font/ACaslonPro-Bold.otf") format('opentype');
}
@font-face {
	font-family: "Avenir Next LT Pro";
	font-weight: 400;
	font-style: normal;
	src: url("../font/AvenirNextLTPro-Regular.otf") format('opentype');
}
@font-face {
	font-family: "Avenir Next LT Pro";
	font-weight: 700;
	font-style: normal;
	src: url("../font/AvenirNextLTPro-Bold.otf") format('opentype');
}

/* === CSS reset === */

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, main, summary,
time, mark, audio, video{
	margin:0; padding:0; border:0; outline:0;
    background: transparent;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
html{
	-webkit-font-smoothing: subpixel-antialiased;
    /* -webkit-text-stroke-width: 0.2px; */
    -webkit-tap-highlight-color: transparent;
	-webkit-overflow-scrolling: touch;
}
body{
    -webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	-ms-overflow-style: scrollbar;
}
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, main{display:block;}
ul,ol,li{list-style:none;}
a{
	margin:0; padding:0; border:0; outline:0;
	text-decoration:none;
	color:inherit;
}
table{
	border-collapse:collapse;
	border-spacing:0;
}
hr{
	display:block;
	height:1px;
	border:0; 
	border-top:1px solid #383838;
	margin:1rem 0;
	padding:0;
}
img{border:0; max-width:100%; vertical-align: top;}
em{font-style:normal;}
address, cite, dfn, em, var{font-style: normal;}
blockquote, q{quotes: none;}
blockquote:before, blockquote:after,
q:before, q:after{content:''; content: none;}
sup{vertical-align: text-top;}
sub{vertical-align: text-bottom;}
embed{ /*for the damn thouder plugin*/
    display:none;
}

/* === CSS form reset === */

/*
input, textarea, button{
	-webkit-appearance:none;
	-moz-appearance:none;
	appearance:none;
}
*/
input, textarea, button, select{
	-webkit-border-radius:0;
	-moz-border-radius:0;
	-o-border-radius:0;
	border-radius:0;
}
button{
	border:none;
	outline:none;
	background:none;
	cursor:pointer;
	color: inherit;
}
input:required, input:invalid,
textarea:required, textarea:invalid{
    outline: 0 none; 
    -webkit-box-shadow:none; 
    -moz-box-shadow:none; 
    -ms-box-shadow:none; 
    -o-box-shadow:none; 
    box-shadow: none;
}
input:-moz-submit-invalid{box-shadow: none;}
input:-moz-ui-invalid{box-shadow:none;}
input::-webkit-search-decoration,
input::-webkit-search-cancel-button,
input::-webkit-search-results-button,
input::-webkit-search-results-decoration{display:none;}
input, select{vertical-align:middle;}
select::-ms-expand {display:none}

/* === float, clearfix, hidden === */

.fl{float:left;}
.fr{float:right;}
.cb{clear:both;}
.cf{*zoom:1;}
.cf:after{content:''; display:block; clear:both;}
.hidden{display:none;}

/* === form === */

.form-input,
.form-textarea {
  background-color: transparent;
  border: 0;
  border-bottom: 1px solid #383838;
  border-radius: 0;
  color: #383838;
  height: 3.5rem;
  margin-bottom: 2.14rem;
  padding-left: 0;
  padding-right: 0;
  position: relative;
  width: 100%;
  z-index: 2;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.form-input:focus,
.form-input:focus {
  background-color: transparent;
  border-color: #383838;
  outline: none;
}
.form-textarea {
  display: block;
  line-height: 1.5;
  max-height: 120px;
  padding-top: 1rem;
  -ms-overflow-y: hidden;
  resize: none;
}
@media only screen and (max-width: 580px) {
  .form-textarea {
    padding-top: 15px;
    padding-bottom: 15px;
  }
}
.label {
  background-color: #ffffff;
  display: block;
  font-size: .86rem;
  letter-spacing: .1rem;
  padding-bottom: .71rem;
  text-transform: uppercase;
  transform: translateY(14px);
  transition: all 0.3s cubic-bezier(0.7, 0, 0.3, 1);
  width: calc(100% - 45px);
  z-index: 3;
  pointer-events: none;
  position: absolute;
}
@media only screen and (max-width: 580px) {
  .label {
	transform: translateY(14px);
  }
}
.is-completed .label {
  color: #67665E;
  font-size: .71rem;
  transform: translateY(-10px);
}
@media only screen and (max-width: 580px) {
  .is-completed .label {
    transform: translateY(-10px);
  }
}
.has-error .form-input,
.has-error .form-textarea,
.has-error .form-input::placeholder,
.has-error .form-textarea::placeholder {
  color: #fd6d5e;
  border-color: #fd6d5e;
}
.form-group {
  margin-bottom: 0;
}
.form-result {
  font-size: .86rem;
  min-height: 2rem;
  margin-top: 1rem;
}
@media only screen and (max-width: 1025px) {
  .form-result {
    text-align: center;
  }
}
::placeholder, .form-input::placeholder {
  color: #383838;
  transition: all 0.3s cubic-bezier(0.7, 0, 0.3, 1);
}
:-ms-input-placeholder, .form-input:-ms-input-placeholder {
  color: #383838;
  opacity: 1;
  transition: all 0.3s cubic-bezier(0.7, 0, 0.3, 1);
}
:focus::placeholder {
  color: transparent;
}
:focus:-ms-input-placeholder {
  color: transparent;
}
input:invalid,
textarea:invalid {
  box-shadow: none;
  outline: none;
}
input::-ms-clear {
  display: none;
}

/* === button === */

.btn {
  background-color: #817E6B;
  border: 0;
  border-radius: 0;
  color: #ffffff;
  cursor: pointer;
  letter-spacing: .1rem;
  overflow: hidden;
  padding: 1rem 3.57rem;
  position: relative;
  text-transform: uppercase;
  z-index: 1;
}
@media only screen and (max-width: 580px) {
  .btn {
    font-size: .86rem;
  }
}
.btn::before {
  content: '';
  background-color: #B7BAA9;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  width: 0;
  z-index: -1;
  color: #ffffff;
}
.btn:hover::before {
  -webkit-animation: btn-hover 0.8s cubic-bezier(0.72, 0.16, 0.345, 0.875) both;
  animation: btn-hover 0.8s cubic-bezier(0.72, 0.16, 0.345, 0.875) both;
  width: 100%;
  color: #ffffff;
}
.btn:focus {
  box-shadow: none;
  color: #ffffff;
}
.btn.disabled {
  opacity: 1;
  color: #ffffff;
}
@-webkit-keyframes btn-hover {
  0% { transform: translateX(-100%); color: #ffffff; }
  50% { transform: translateX(0); color: #ffffff; }
  100% { transform: translateX(100%); color: #ffffff; }
}
@keyframes btn-hover {
  0% { transform: translateX(-100%); color: #ffffff; }
  50% { transform: translateX(0); color: #ffffff; }
  100% { transform: translateX(100%); color: #ffffff; }
}
.btn-link {
  color: #383838;
  display: inline-block;
  font-size: .9rem;
  font-weight: 600;
  letter-spacing: .15rem;
  margin-top: 1.42rem;
  padding-right: 1.42rem;
  position: relative;
  text-decoration: none;
  text-transform: uppercase;
}
@media only screen and (max-width: 580px) {
  .btn-link {
    margin-top: 0;
  }
}
.btn-link__line {
  height: 1px;
  margin-left: 1.4rem;
  position: relative;
  width: 7rem;
}
.btn-link__line::after {
  background-color: #383838;
  content: '';
  height: 1px;
  opacity: .2;
  position: absolute;
  top: -4px;
  left: 0;
  width: 100%;
  transition: all 0.6s cubic-bezier(0.7, 0, 0.3, 1);
}
.btn-link:hover, .btn-link:focus {
  color: inherit;
  text-decoration: none;
}
.btn-link:hover .btn-link__line::after, .btn-link:focus .btn-link__line::after {
  background-color: #383838;
  opacity: 1;
  left: 0;
  width: 50%;
}
button:focus {
  outline: none;
}
.lang {
  color: #67665E;
  display: inline-block;
  font-size: .9rem;
  opacity: .6;
  position: relative;
  top: 1px;
  text-decoration: none;
}
.lang:hover, .lang_active {
  color: #383838;
  opacity: 1;
}
.lang::before{
  content: '';
  background-color: #383838;
  height: 1px;
  margin-top: -1px;
  position: absolute;
  right: 0;
  top: 50%;
  width: 0;
  -webkit-animation: reveal-link 1s cubic-bezier(0.72, 0.16, 0.345, 0.875) both;
  animation: reveal-link 1s cubic-bezier(0.72, 0.16, 0.345, 0.875) both;
  transition: all 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955);
}
.lang:hover::before, .lang_active::before{
  left: 0;
  width: 100%;
}
@-webkit-keyframes btn-line {
  0% {opacity: 0;}
  100% {opacity: 1;}
}
@keyframes btn-line {
  0% {opacity: 0;}
  100% {opacity: 1;}
}

/* === table === */

.table {
  margin-top: 2rem;
}
@media only screen and (max-width: 580px) {
  .table {
    margin-top: .2rem;
  }
}
.table thead th {
  color: #817E6B;
  font-size: .85rem;
  font-weight: 400;
  letter-spacing: .2rem;
  padding: 1.3rem 0.5rem;
  text-transform: uppercase;
  word-break:keep-all;
}
.table td {
  padding: 1.3rem 0.5rem;
  word-break:keep-all;
}
.table span {
  color: #817E6B;
}
.table_v1 thead th,
.table_v1 td {
  border: 0;
}
.table_v2 thead th {
  border: 0;
}
.table_v2 td {
  border-top: 1px solid #383838;
  padding: 1.6rem 0.5rem;
}
@media only screen and (max-width: 768px) {
  .table_v2 td {
    border-top: 0;
  }
}
@media only screen and (max-width: 768px) {
  .table .table, .table thead, .table tbody, .table th, .table td, .table tr {
    display: block;
  }
  .table thead tr {
    display: none;
  }
  .table tr {
    padding-bottom: 1.4rem;
  }
  .table td {
    position: relative;
    padding-left: 50%;
    padding-top: .2rem;
    padding-bottom: .2rem;
  }
  .table td:before {
    content: attr(data-th);
    color: #817E6B;
    font-size: .85rem;
    position: absolute;
    left: 0;
    width: 45%;
    padding-right: 1rem;
    white-space: nowrap;
  }
}
@media only screen and (max-width: 580px) {
  .table tr {
    border-bottom: 1px solid rgba(129,126,107,0.2);
    padding-bottom: .3rem;
    margin-bottom: 1.3rem;
  }
  .table td {
    padding-left: 0;
    padding-bottom: .8rem;
    padding-top: 1.5rem;
  }
  .table td:before {
    top: 0;
    width: 100%;
  }
}

/* === typography === */

body{
	font-family: "Avenir Next LT Pro", "Noto Sans KR", "맑은 고딕", "Malgun Gothic", 돋움, Dotum, sans-serif;
	font-size:16px;
	color:#383838;
	line-height: 1.7;
}
@media only screen and (max-width: 580px){
  body{
	font-size: 14px;
	line-height: 1.5;
  }
}
h1, h2, h3{
  font-family: "Adobe Caslon Pro", "Playfair Display", serif;
  line-height: 1.2;
  margin-bottom: 3rem;
}
h4, h5, h6{
  font-family: "Avenir Next LT Pro", "Noto Sans KR", sans-serif;
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 3rem;
}
@media only screen and (max-width: 1280px) {
  h1, h2, h3, h4, h5, h6 {
    margin-bottom: 3rem;
  }
}
.title {
  transition: all 0.3s cubic-bezier(0.72, 0.16, 0.345, 0.875);
}
.title_h1 {
  font-size: 3.6rem;
  margin-bottom: 2rem;
}
@media only screen and (max-width: 1200px) {
  .title_h1 {
    font-size: 3.15rem;
  }
}
@media only screen and (max-height: 768px) {
  .title_h1 {
    margin-bottom: 1.5rem;
  }
}
.title_h2 {
  font-size: 3.15rem;
  margin-bottom: 3.25rem;
}
@media only screen and (max-width: 580px) {
  .title_h2 {
    font-size: 2rem;
    margin-bottom: 2rem;
  }
}
.title_h3 {
  font-size: 2.425rem;
  margin-bottom: 2.75rem;
}
@media only screen and (max-width: 580px) {
  .title_h3 {
    font-size: 1.6rem;
    margin-bottom: 1.5rem;
  }
}
.title_h4 {
  font-size: 2rem;
  margin-bottom: 2.25rem;
}
@media only screen and (max-width: 580px) {
  .title_h4 {
    font-size: 1.6rem;
  }
}
.title_h5 {
  font-size: 1.715rem;
  line-height: 1.4;
  margin-bottom: 2rem;
}
@media only screen and (max-width: 580px) {
  .title_h5 {
    font-size: 1.4rem;
  }
}
.title_h6 {
  font-size: 1.275rem;
  margin-bottom: 1.6rem;
}
@media only screen and (max-width: 580px) {
  .title_h6 {
    font-size: 1.1rem;
    margin-bottom: 1rem;
  }
}
.title_display {
  font-size: 5.5rem;
  margin-bottom: 4rem;
}
.title_center {
  text-align: center;
}
.title_light {
  font-weight: 300;
}
.title_normal {
  font-weight: 400;
}
.title_overhead {
  color: #817E6B;
  font-family: "Avenir Next LT Pro", "Noto Sans KR", sans-serif;
  font-size: .9rem;
  font-weight: 400;
  letter-spacing: .2rem;
  margin-bottom: 1rem;
  text-transform: uppercase;
}
@media only screen and (max-width: 580px) {
  .title_overhead {
    font-size: .8rem;
  }
}
.title_horizontal-line,
.title_horizontal-line_reverse,
.title_horizontal-line-center {
  position: relative;
  margin-bottom: 3rem;
}
@media only screen and (max-width: 580px) {
  .title_horizontal-line, .title_horizontal-line_reverse, .title_horizontal-line-center {
    margin-bottom: 2.75rem;
  }
}
.title_horizontal-line::before,
.title_horizontal-line_reverse::before,
.title_horizontal-line-center::before {
  background-color: #383838;
  content: '';
  position: absolute;
  left: -16%;
  bottom: -16px;
  height: 1px;
  width: 15rem;
}
@media only screen and (max-width: 580px) {
  .title_horizontal-line::before, .title_horizontal-line_reverse::before, .title_horizontal-line-center::before {
    left: -8%;
    width: 8rem;
  }
}
.title_horizontal-line.title_h1::before,
.title_horizontal-line_reverse.title_h1::before,
.title_horizontal-line-center.title_h1::before {
  bottom: -21px;
}
.title_horizontal-line.title_h2::before,
.title_horizontal-line_reverse.title_h2::before,
.title_horizontal-line-center.title_h2::before {
  bottom: -23px;
}
@media only screen and (max-width: 580px) {
  .title_horizontal-line.title_h2::before, .title_horizontal-line_reverse.title_h2::before, .title_horizontal-line-center.title_h2::before {
    bottom: -16px;
  }
}
.title_horizontal-line_reverse::before {
  left: auto;
  right: -16%;
}
@media only screen and (max-width: 1025px), (min-width: 834px) {
  .title_horizontal-line_reverse::before {
    left: -16%;
    right: auto;
  }
}
@media only screen and (min-width: 834px) {
  .title_horizontal-line_reverse::before {
    left: auto;
    right: -16%;
  }
}
.title_horizontal-line-center::before {
  margin: auto 0;
  left: 16%;
  top: 0;
  bottom: 0;
}
.paragraph {
  font-family: "Avenir Next LT Pro", "Noto Sans KR", sans-serif;
  font-size: 1.28rem;
  font-weight: 500;
  word-break:keep-all;
}
@media only screen and (max-width: 1025px) {
  .paragraph {
    font-size: 1.14rem;
  }
}
.text_uppercase {
  text-transform: uppercase;
}
.text_bold {
  font-weight: 600;
}
.block-quote {
  font-family: "Adobe Caslon Pro", "Adobe Caslon Pro", serif;
  font-size: 1.71rem;
  font-weight: 700;
  margin: 3.42rem 0 2.4rem;
  padding-top: 4.4rem;
  position: relative;
  line-height: 1.6;
}
@media screen and (max-width: 580px) {
  .block-quote {
    font-size: 1.28rem;
    margin: 2rem 0;
    padding-top: 4rem;
  }
}
.block-quote::before {
  background-image: url(../image/icon-quote.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  content: '';
  height: 41px;
  margin: 0 auto;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 48px;
}
@media only screen and (max-width: 580px) {
  .block-quote::before {
    height: 32px;
    width: 38px;
  }
}
.block-quote cite {
  font-family: "Avenir Next LT Pro", "Noto Sans KR", sans-serif;
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
}
a {
  color: #383838;
  -webkit-text-decoration-skip: objects;
  transition: all 0.3s cubic-bezier(0.72, 0.16, 0.345, 0.875);
}
a:hover, a:focus {
  color: inherit;
  outline: none;
  text-decoration: none;
}
.link_decoration, a.link_decoration {
  color: inherit;
  text-decoration:underline;
  display: inline-block;
  position: relative;
  text-decoration: none;
  transition: all 0.3s cubic-bezier(0.72, 0.16, 0.345, 0.875);
}
.link_decoration::after, a.link_decoration::after {
  content: '';
  background-color: #383838;
  pointer-events: none;
  height: 1px;
  position: absolute;
  left: 0;
  bottom: 0;
  opacity: 1;
  width: 100%;
  transform: translateY(-3px);
  transition: all 0.2s 0s cubic-bezier(0.72, 0.16, 0.345, 0.875);
}
.link_decoration:hover, a.link_decoration:hover {
  color: inherit;
  text-decoration: none;
}
.link_decoration:hover::after, a.link_decoration:hover::after {
  opacity: 0;
  transform: translateY(4px);
}
.vertical-text_top-left, .vertical-text_top-right,
.vertical-text_bottom-left, .vertical-text_bottom-right {
  font-size: .85rem;
  letter-spacing: .3rem;
  position: absolute;
  text-transform: uppercase;
  writing-mode: vertical-lr;
  -ms-writing-mode: tb-lr;
}
@media only screen and (max-width: 1025px) {
  .vertical-text_top-left, .vertical-text_top-right, .vertical-text_bottom-left, .vertical-text_bottom-right {
    display: none;
  }
}
.vertical-text_top-left {
  left: -2.85rem;
  right: 0;
  top: 0;
}
.vertical-text_top-right {
  right: -2.85rem;
  top: 0;
}
.vertical-text_bottom-left {
  left: -2.85rem;
  right: 0;
  bottom: 0;
}
.vertical-text_bottom-right {
  right: -2.85rem;
  bottom: 0;
}
img {
  max-width: 100%;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
::-moz-selection {
  background: #383838;
  color: #ffffff;
}
::selection {
  background: #383838;
  color: #ffffff;
}

/* === icon === */

.icon {
  background-repeat: no-repeat;
  display: inline-block;
  margin-bottom: 1px;
  position: relative;
  transition: all 0.3s cubic-bezier(0.7, 0, 0.3, 1);
}
.icon-arrow-right {
  background-image: url(../image/arrow-next.svg);
  margin-left: .85rem;
  height: 7px;
  right: 0;
  width: 22px;
}
.icon-arrow-left {
  background-image: url(../image/arrow-prev.svg);
  margin-right: .85rem;
  height: 7px;
  left: 0;
  width: 22px;
}

/* -----------------------------------------------------------------
effects
----------------------------------------------------------------- */

/* --- Swiper --- */

.swiper-container {
  position: relative;
  width: 100%;
}
.swiper-container .swiper-wrapper {
  transition: all 0.6s cubic-bezier(0.455, 0.03, 0.515, 0.955);
}
.swiper-container .swiper-slide .down-up span {
  opacity: 0;
  transform: translate3d(0, 150%, 0);
  transition: all 0.8s 400ms cubic-bezier(0.7, 0, 0.3, 1);
}
@media only screen and (max-width: 1025px) {
  .swiper-container .swiper-slide .down-up span {
    transform: translate3d(0, 0, 0);
  }
}
@media only screen and (max-width: 1025px) {
  .swiper-container .swiper-slide .reveal-slider::after, .swiper-container .swiper-slide .reveal-slider::before {
    display: none;
  }
}
.swiper-container .swiper-slide-active .reveal-slider::after, .swiper-container .swiper-slide-active .reveal-slider::before, .swiper-container .swiper-slide-duplicate-active .reveal-slider::after, .swiper-container .swiper-slide-duplicate-active .reveal-slider::before {
  content: '';
  position: absolute;
  height: 100%;
  width: 100%;
}
.swiper-container .swiper-slide-active .reveal-slider::before, .swiper-container .swiper-slide-duplicate-active .reveal-slider::before {
  z-index: 4;
}
.swiper-container .swiper-slide-active .down-up span, .swiper-container .swiper-slide-duplicate-active .down-up span {
  opacity: 1;
  transform: translate3d(0, 0%, 0);
}
.swiper-container .swiper-slide__link {
  display: block;
  height: 100%;
  position: absolute;
  width: 100%;
  z-index: 2;
}
.swiper-container .swiper-slide .image-slider {
  background-size: cover;
  background-position: center center;
  height: 100%;
  overflow: hidden;
  width: 100%;
}
.swiper-container .swiper-pagination-progressbar {
  background-color: #ffffff;
  height: 2px;
  width: calc(100% - 0px);
}
.swiper-container .swiper-pagination-progressbar-fill {
  background-color: #383838;
}
.swiper-container .swiper-pagination-progressbar._bottom {
  background-color: #F7F7F9;
  height: 1px;
  top: auto;
  bottom: 3.07rem;
  margin-left: 12rem;
  width: calc(100% - 24rem);
}
.swiper-pagination {
  bottom: 0;
}
.swiper-control,
.control-item {
  letter-spacing: .2rem;
  position: relative;
  text-transform: uppercase;
  width: auto; height:4rem;
}
.swiper-control .swiper-pagination,
.control-item .swiper-pagination {
  position:relative;
  width:5rem; height:auto;
  top:50%; left:50%;
  margin-top:-0.6rem; margin-left:-2.5rem;
}
.swiper-control .swiper-button-prev,
.swiper-control .swiper-button-next,
.swiper-control .control-item-prev,
.swiper-control .control-item-next,
.control-item .swiper-button-prev,
.control-item .swiper-button-next,
.control-item .control-item-prev,
.control-item .control-item-next {
  background-image: none;
  width:22px; height:7px;
  position: absolute;
  top:80%;
}
.swiper-control .swiper-button-prev::before,
.swiper-control .swiper-button-next::before,
.swiper-control .control-item-prev::before,
.swiper-control .control-item-next::before,
.control-item .swiper-button-prev::before,
.control-item .swiper-button-next::before,
.control-item .control-item-prev::before,
.control-item .control-item-next::before {
  content: '';
  position: absolute;
  opacity: 1;
  top:0; bottom:0;
  width: 22px;
  transition: all 0.3s cubic-bezier(0.7, 0, 0.3, 1);
}
.swiper-control .swiper-button-prev,
.swiper-control .control-item-prev,
.control-item .swiper-button-prev,
.control-item .control-item-prev {
  padding-left: 1rem;
  left:15%;
}
.swiper-control .swiper-button-prev::before,
.swiper-control .control-item-prev::before,
.control-item .swiper-button-prev::before,
.control-item .control-item-prev::before {
  background-image: url(../image/arrow-prev.svg);
  background-repeat:no-repeat;
  left: 0;
}
.swiper-control .swiper-button-prev:hover::before,
.swiper-control .control-item-prev:hover::before,
.control-item .swiper-button-prev:hover::before,
.control-item .control-item-prev:hover::before {
  left: -.35rem;
}
.swiper-control .swiper-button-next,
.swiper-control .control-item-next,
.control-item .swiper-button-next,
.control-item .control-item-next {
  padding-right: 1rem;
  right:15%;
}
.swiper-control .swiper-button-next::before,
.swiper-control .control-item-next::before,
.control-item .swiper-button-next::before,
.control-item .control-item-next::before {
  background-image: url(../image/arrow-next.svg);
  background-repeat:no-repeat;
  right: 0;
}
.swiper-control .swiper-button-next:hover::before,
.swiper-control .control-item-next:hover::before,
.control-item .swiper-button-next:hover::before,
.control-item .control-item-next:hover::before {
  right: -.35rem;
}

/* --- FadeInUp --- */

.os {
  opacity: 0;
}
@media only screen and (max-width: 580px) {
  .os {
    opacity: 1;
  }
}
.os.animated {
  opacity: 1;
  animation: up 2s cubic-bezier(0.42, 0, 0, 0.995), fade 1s cubic-bezier(0.42, 0, 0, 0.995);
}
@media only screen and (max-width: 580px) {
  .os.animated {
    animation-delay: 0s;
  }
}
@keyframes up {
  0% {transform: translateY(100px);}
  100% {transform: translateY(0);}
}
@keyframes fade {
  0% {opacity: 0;}
  100% {opacity: 1;}
}

/* Reveal */

.reveal {
  position: relative;
}
.reveal::after, .reveal::before {
  content: '';
  height: 100%;
  position: absolute;
  width: 100%;
}
.reveal::before {
  background: #ffffff;
  z-index: 4;
}
.reveal.animated::before {
  -webkit-animation: reveal 0.6s 50ms cubic-bezier(0.72, 0.16, 0.345, 0.875) both;
  animation: reveal 0.6s 50ms cubic-bezier(0.72, 0.16, 0.345, 0.875) both;
}

.reveal-slider {
  position: relative;
}
.reveal-slider::after, .reveal-slider::before {
  content: '';
  height: 100%;
  position: absolute;
  width: 100%;
}
.reveal-slider::before {
  background: #ffffff;
  z-index: 4;
}
.reveal-slider.animated::before {
  -webkit-animation: reveal-slider 1s 50ms cubic-bezier(0.72, 0.16, 0.345, 0.875) both;
  animation: reveal-slider 1s 50ms cubic-bezier(0.72, 0.16, 0.345, 0.875) both;
}

@-webkit-keyframes reveal-slider {
  0% {transform: translateX(-100%);}
  50% {transform: translateX(0);}
  100% {transform: translateX(100%);}
}
@keyframes reveal-slider {
  0% {transform: translateX(-100%);}
  50% {transform: translateX(0);}
  100% {transform: translateX(100%);}
}
@-webkit-keyframes reveal-slider-2 {
  0% {transform: translateX(-100%);}
  50% {transform: translateX(0);}
  100% {transform: translateX(100%);}
}
@keyframes reveal-slider-2 {
  0% {transform: translateX(-100%);}
  50% {transform: translateX(0);}
  100% {transform: translateX(100%);}
}
@-webkit-keyframes reveal {
  100% {transform: translateX(100%);}
}
@keyframes reveal {
  100% {transform: translateX(100%);}
}
@keyframes fade-slider {
  0% {opacity: 1; transform: translate3d(0%, 0, 0);}
  99% {opacity: 1; transform: translate3d(0%, 0, 0);}
  100% {opacity: 0; transform: translate3d(-100%, 0, 0);}
}
@-webkit-keyframes reveal-v {
  0% {transform: translateY(100%);}
  50% {transform: translateY(0);}
  100% {transform: translateY(-100%);}
}
@keyframes reveal-v {
  0% {transform: translateY(100%);}
  50% {transform: translateY(0);}
  100% {transform: translateY(-100%);}
}

/* --- bounceOutRight --- */

@-webkit-keyframes bounceOutRight {
  20% {opacity: 1; transform: translate3d(-20px, 0, 0);}
  100% {opacity: 0; transform: translate3d(100vw, 0, 0);}
}
@keyframes bounceOutRight {
  20% {opacity: 1; transform: translate3d(-20px, 0, 0);}
  100% {opacity: 0; transform: translate3d(100vw, 0, 0);}
}
@media only screen and (max-width: 580px) {
  .skrollable {
    transform: none !important;
    opacity: 1 !important;
  }
}

/* --- Text down --- */

.down-up,
.down-up-2 {
  display: inline-block;
  margin-top: -5px;
  overflow: hidden;
}
@media only screen and (max-width: 1025px) {
  .down-up,
  .down-up-2 {
    overflow: visible;
  }
}
.down-up span,
.down-up-2 span {
  display: inline-block;
  opacity: 0;
  transform: translate3d(0, 100%, 0);
  transition: opacity, transform 0.8s 400ms cubic-bezier(0.7, 0, 0.3, 1);
}
@media only screen and (max-width: 1025px) {
  .down-up span,
  .down-up-2 span {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.down-up.animated span,
.down-up-2.animated span {
  opacity: 1;
  transform: translate3d(0px, 0%, 0px);
}

/* ================================================
Layout : common
================================================ */

#wrap{
	width: 100%;
	min-height:100vh;
	overflow: hidden;
	position:relative;
}

/* -----------------------------------------------------------------
header
----------------------------------------------------------------- */

#header{
	position:fixed;
	top:100px; left:50px;
	z-index:100;
}
@media only screen and (max-height: 800px) {
  #header{
	top:70px;
  }
}
@media only screen and (max-width: 1280px) {
  #header{
	left:30px;
  }
}
#hLogo{
	width:8.5rem;
	margin-left:0.5rem;
}

/* --- nav --- */

#nav{
	padding:0.5rem 1rem;
	width:9.5rem;
	background-color:rgba(247,247,249,0.75);
	transition: .3s;
}
#nav:hover{
	background-color:#ffffff;
}
#nav button:hover, #nav button:focus {
	border:none; outline: none;
	cursor:default;
}
#login, #menu, #contact{
	padding:0.5rem 0;
}
#login a span{
	font-weight:700;
}
#login a, #contact button{
	display:inline-block;
	font-family: "Avenir Next LT Pro", "Noto Sans KR", sans-serif;
	font-size:0.85rem;
	font-weight:400;
	line-height:1.75rem;
	padding:0;
	color:#000000;
}
#menu button{
	display:inline-block;
	font-family: "Avenir Next LT Pro", "Noto Sans KR", sans-serif;
	font-size:0.95rem;
	font-weight:700;
	line-height:1.75rem;
	padding:0;
}
#login a:hover,
#menu button:hover,
#contact button:hover{
	color:#817E6B;
	text-decoration:none;
}
#menu ul.sub,
#contact ul.sub{
	display:none;
}
#menu ul.sub li a{
	display:inline-block;
	font-family: "Avenir Next LT Pro", "Noto Sans KR", sans-serif;
	font-size:0.9rem;
	font-weight:400;
	line-height:1.5rem;
	color:#000000;
}
#contact ul.sub li{
	display:inline-block;
	font-size:0.75rem;
	font-weight:400;
	line-height:1.5rem;
}
#contact ul.sub li a{
	display:inline-block;
	font-size:0.85rem;
	font-weight:700;
	line-height:1.5rem;
	color:#000000;
}
#menu ul.sub li a:hover,
#contact ul.sub li a:hover{
	color:#817E6B;
	text-decoration:none;
}
#nav ul.sub li:first-child{margin-top:0.15rem;}
#nav ul.sub li:last-child{margin-bottom:0.25rem;}

/* ****** header nav mobile ****** */

@media only screen and (min-width: 1025px) {
  #mo_nav{display:none;}
}
@media only screen and (max-width: 1025px) {
  #header{
	top:0; left:0;
	width:100vw; height:4rem;
	background-color:#817E6B;
  }
  #hLogo{
	display:none;
  }
  #nav{display:none;}
  #mo_nav{
	position:absolute;
	top:0; left:2%;
	width:96%; height:100%;
	display:flex;
	flex-direction: row;
	align-items:center;
	justify-content: space-between;
  }
  #mo_hLogo{
	width:5.25rem;
  }
  #mo_nav_bar, #mo_login, #mo_hLogo{
	margin:0;
  }
  #mo_login{
	cursor: pointer;
	border: 0;
    padding: 0;
  }
  #mo_login .login-inner{
	font-size:2rem;
	height: 24px;
	line-height:24px;
	vertical-align: middle;
	color:#ffffff;
	text-align:center;
  }
}

.hamburger {
  cursor: pointer;
  transform: translate3d(0, 0, 0);
  transition: opacity .3s ease;
  background-color: transparent;
  border: 0;
  padding: 0;
  vertical-align: middle;
}
.hamburger-inner {
  display: block;
  height: 24px;
  width: 25px;
  position: relative;
}
.hamburger-inner:before, .hamburger-inner:after {
  background-color: #ffffff;
  content: '';
  display: block;
  margin-left: -12px;
  height: 3px;
  width: 25px;
  position: absolute;
  top: 6px;
  left: 50%;
  transform-origin: center center;
  transition: top 0.1s cubic-bezier(0.215, 0.61, 0.355, 1) 0.25s, transform 0.25s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
}
.hamburger-inner:after {
  top: 16px;
}
.is-active .hamburger-inner {
  color: #ffffff;
}
.is-active .hamburger-inner:before, .is-active .hamburger-inner:after {
  top: 50%;
  transition: top 0.1s cubic-bezier(0.215, 0.61, 0.355, 1) 0s, transform 0.25s cubic-bezier(0.215, 0.61, 0.355, 1) 0.1s;
}
.is-active .hamburger-inner:before {
  transform: rotate(45deg);
}
.is-active .hamburger-inner:after {
  transform: rotate(-45deg);
}

/* -----------------------------------------------------------------
    - Menu
----------------------------------------------------------------- */

.menu {
  background-color:#ffffff;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: -moz-box;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  justify-content: center;
  height: calc(100vh - 4rem);
  position: fixed;
  top: 4rem;
  left: 0;
  visibility: hidden;
  opacity: 0;
  transition: all 0.6s 200ms cubic-bezier(0.72, 0.16, 0.345, 0.875);
  width: 100%;
  z-index: 1000;
  overflow:hidden;
}
@media only screen and (min-width: 1025px) {
  .menu{display:none;}
}
@media only screen and (max-width: 1025px) {
  .menu{display:block;}
}
.menu-inner {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: -moz-box;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  padding: 5rem 3.57rem 3.57rem;
  width: 100%;
  overflow:hidden;
}
@media only screen and (max-width: 580px) {
  .menu-inner {
    height: 100%;
    padding: 2.142rem 0 2.142rem;
    max-width: 100%;
  }
}
@media only screen and (max-height: 320px) {
  .menu-inner {
    padding: 0;
  }
}
.menu-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: -moz-box;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  justify-content: center;
  flex: 1;
  list-style: none;
  margin-bottom: 0;
  padding: 0;
}
@media only screen and (max-width: 580px) {
  .menu-container {
    overflow: auto;
    text-align: center;
  }
}
@media only screen and (max-height: 320px) {
  .menu-container {
    justify-content: normal;
    padding: 2.14rem 0 0;
  }
}
.menu-container ul.sub{
	position:relative;
	right:0; top:-3.25rem;
}
@media only screen and (max-width: 580px) {
  .menu-container > li{
	position:relative;
	width:96%;
	left:2%;
  }
  .menu-container ul.sub{
    top:-2rem;
  }
}
.menu-container ul.sub li{
	display:inline-block;
	width:auto; height:2rem;
}
.menu-container ul.sub li::after{
	content:'   |  ';
	white-space:pre;
}
.menu-container ul.sub > li > a{
	display:inline-block;
	font-family: "Avenir Next LT Pro", "Noto Sans KR", sans-serif;
	font-size:0.9rem;
	font-weight:400;
	width:auto; height:2rem;
	line-height:2rem;
	color:#383838;
}
.menu-container ul.sub > li > a:hover{
	color:#817E6B;
	text-decoration:none;
}
.menu-container ul.sub li:last-child::after{
	content:'';
}
.menu-container__item {
  font-family: "Adobe Caslon Pro", "Playfair Display", serif;
  font-size: 2.42rem;
  font-weight: 700;
  display: inline-block;
  letter-spacing: .2rem;
  line-height: 1.3;
  margin-bottom: 2.14rem;
  overflow: hidden;
  position: relative;
  text-decoration: none;
  text-transform: uppercase;
}
@media only screen and (max-width: 580px) {
  .menu-container__item {
    font-size: 1.5rem;
    margin-bottom: 1.9rem;
  }
}
@media only screen and (max-height: 360px) {
  .menu-container__item {
    margin-bottom: 1.07rem;
  }
}
.menu-container__item::before, .menu-container__item::after {
  content: '';
  position: absolute;
  right: 0;
  top: 50%;
  transition: all 0.6s cubic-bezier(0.72, 0.16, 0.345, 0.875);
  width: 0;
}
@media only screen and (max-width: 580px) {
  .menu-container__item::before, .menu-container__item::after {
    display: none;
  }
}
.menu-container__item::after {
  background-color: #817E6B;
  height: .14rem;
}
.menu-container__item::before {
  background-color: transparent;
  height: 1.5rem;
}
.menu-container__item:hover::after {
  left: 0;
  width: 100%;
  -webkit-animation: reveal-link 1s cubic-bezier(0.72, 0.16, 0.345, 0.875) both;
  animation: reveal-link 1s cubic-bezier(0.72, 0.16, 0.345, 0.875) both;
}
.menu-container__item:hover::before {
  left: 0;
  width: 100%;
  -webkit-animation: reveal-link 1s cubic-bezier(0.72, 0.16, 0.345, 0.875) both;
  animation: reveal-link 1s cubic-bezier(0.72, 0.16, 0.345, 0.875) both;
}
@media only screen and (max-width: 580px) {
  .menu-container__item:hover {
    opacity: .5;
  }
}
.menu-container__item_animated {
  display: inline-block;
  overflow: hidden;
}
.menu-container__item_animated span {
  display: inline-block;
  opacity: 0;
  transform: translate3d(0, 100%, 0);
  transition: all 0.6s 640ms cubic-bezier(0.72, 0.16, 0.345, 0.875);
}
.menu-footer {
  margin-bottom: 3rem;
  opacity: 0;
  transition: all 0.6s 1000ms cubic-bezier(0.72, 0.16, 0.345, 0.875);
}
@media only screen and (max-width: 580px) {
  .menu-footer {
    display: none;
  }
}
.menu-footer button{
	display:inline-block;
	font-family: "Avenir Next LT Pro", "Noto Sans KR", sans-serif;
	font-size:0.85rem;
	font-weight:400;
	line-height:1.75rem;
	padding:0;
	color:#383838;
}
.menu-footer button:hover{
	color:#817E6B;
	text-decoration:none;
}
.menu-footer > li{
	position:relative;
}
.menu-footer > li > ul.sub{
	position:absolute;
	left:8rem; top:0;
	width:90%;
	display:none;
}
.menu-footer > li:hover > ul.sub{
	display:block;
}
.menu-footer ul.sub li{
	display:inline-block;
	font-size:0.75rem;
	font-weight:400;
	line-height:1.5rem;
	padding:0 0.25rem;
}
.menu-footer ul.sub li a{
	display:inline-block;
	font-size:0.85rem;
	font-weight:700;
	line-height:1.5rem;
	color:#383838;
}
.menu-footer ul.sub li a:hover{
	color:#817E6B;
	text-decoration:none;
}
.menu.menu-show {
  opacity: 1;
  overflow-x: hidden;
  overflow-y: auto;
  visibility: visible;
  transform: translateY(0);
}
.menu.menu-show .menu-inner {
  transform: translateY(0);
}
.menu.menu-show .menu-container__item_animated span {
  opacity: 1;
  transform: translate3d(0, 0%, 0);
}
.menu.menu-show .menu-footer {
  opacity: 1;
}
.menu.menu-show .navbar {
  background-color: transparent;
}
.elastic-border {
  height: 100vh;
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  z-index: 0;
  overflow:hidden;
}
@media only screen and (max-width: 768px) {
  .elastic-border {
    display: none;
  }
}
.ef-background {
  background-color:rgba(103,102,94,0.9);
  display: none;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1100;
}
.ef-background.animated {
  display: block;
  -webkit-animation: reveal-v 1s cubic-bezier(0.72, 0.16, 0.345, 0.875) both;
  animation: reveal-v 1s cubic-bezier(0.72, 0.16, 0.345, 0.875) both;
}

@-webkit-keyframes reveal-link {
  0% { transform: translateX(-100%); }
  10% { transform: translateX(0); }
  100% { transform: translateX(0); }
}
@keyframes reveal-link {
  0% { transform: translateX(-100%); }
  10% { transform: translateX(0); }
  100% { transform: translateX(0); }
}

/* -----------------------------------------------------------------
side
----------------------------------------------------------------- */

#side{
	position:fixed;
	top:100px; right:50px;
	width: 2.5rem;
	z-index:100;
}
@media only screen and (max-height: 800px) {
  #side{
	top:70px;
  }
}
@media only screen and (max-width: 1280px) {
  #side{
	right:30px;
  }
}

/* --- search --- */

.search_box{
	position: absolute;
	top:0; right:0;
	width: 2.5rem;
	height: 2.5rem;
	overflow:hidden;
	transition:width .3s;
}
.search_box .search_txt{
	position: absolute;
	top:0; left:0;
	width: 14.75rem;
	height:2.5rem;
	vertical-align:middle;
	background-color:rgba(247,247,249,0.9);
	text-indent:1rem;
	opacity:0;
}
.search_box button[type="submit"]{
	position: absolute;
	top:0; right:0;
	width: 2.5rem;
	height: 2.5rem;
	line-height: 2.5rem;
	vertical-align:middle;
	border-radius:50%;
	display:block;
	color: #ffffff;
	background-color:#000000;	
	padding-top:1px;
	text-align:center;
	font-size:1.5rem;
	text-decoration: none;
	z-index:100;
	transition: .3s;
}
.search_box:hover{
	width: 16rem;
}
.search_box:hover button[type="submit"]{
	color: #ffffff;
	background-color:#817E6B;
}
.search_box:hover .search_txt{
	opacity:1;
}

/* --- scroll --- */

#scroll{
	position:absolute;
	top:10rem; right:1.35rem;
	z-index:1;
}
@media only screen and (max-height: 800px) {
  #scroll{
	top:7rem;
  }
}
@media only screen and (max-height: 720px) {
  #scroll{
	top:5rem;
  }
}
#scroll li span{
	cursor:pointer;
}
#scroll li #btn01,
#scroll li #btn02,
#scroll li #btn03,
#scroll li #btn04,
#scroll li #btn05{
	display:block;
	width:10px;
	height:10px;
	border-radius:50%;
	background-color:#B7BAA9;
	box-shadow:1px 1px 2px rgba(0,0,0,0.5);
	transition: .3s;
}
#scroll li #btn01{position:absolute; top:0; right:0; margin-right:-5px;}
#scroll li #btn02{position:absolute; top:1.5rem; right:0; margin-right:-5px;}
#scroll li #btn03{position:absolute; top:3rem; right:0; margin-right:-5px;}
#scroll li #btn04{position:absolute; top:4.5rem; right:0; margin-right:-5px;}
#scroll li #btn05{position:absolute; top:6rem; right:0; margin-right:-5px;}

#scroll li:hover #btn01,
#scroll li:hover #btn02,
#scroll li:hover #btn03,
#scroll li:hover #btn04,
#scroll li:hover #btn05{
	background-color:#817E6B;
	width:15px;
	height:15px;
	margin-top:-2.5px;
	margin-right:-7.5px;
}
#scroll li.active #btn01,
#scroll li.active #btn02,
#scroll li.active #btn03,
#scroll li.active #btn04,
#scroll li.active #btn05{
	background-color:#383838;
	width:15px;
	height:15px;
	margin-top:-2.5px;
	margin-right:-7.5px;
}

/* --- sns --- */

#sns{
	width: 2.5rem;
	position:fixed;
	bottom:110px; right:50px;
}
@media only screen and (max-width: 1280px) {
  #sns{
	right:30px;
  }
}
#sns li a{
	display:block;
	width: 2.5rem;
	height: 2.5rem;
	line-height: 2.5rem;
	vertical-align:middle;
	border-radius:50%;
	text-align:center;
	font-size:1.25rem;
	padding-top:1px;
	margin-top:1rem;
	color:#ffffff;
	background-color: #000000;
	transition: .3s;
}
#sns li a:hover{
	background-color: #817E6B;
}

/* ****** top mobile ****** */

@media only screen and (min-width: 1025px) {
  #mo_side{display:none;}
}
@media only screen and (max-width: 1025px) {
  #side{display:none;}
  #mo_side{
	position:fixed;
	bottom:2rem; right:2%;
	width: 2.5rem; height:8.5rem;
	z-index:100;
  }
  #mo_search, #mo_cart, #mo_up{
	width: 2.5rem;
	height: 2.5rem;
  }
  #mo_cart{
	position: absolute;
	top:3rem; right:0;
  }
  #mo_up{
	position: absolute;
	top:6rem; right:0;
  }
  #mo_search button{
	font-size:1.25rem;
	padding-top:2px;
  }
  #mo_cart button, #mo_up button{
	display:block;
	width: 2.5rem;
	height: 2.5rem;
	line-height: 2.5rem;
	vertical-align:middle;
	border-radius:50%;
	text-align:center;
	font-size:1.25rem;
	padding-top:2px;
	color:#ffffff;
	background-color: #000000;
	transition: .3s;
  }
  #mo_cart:hover button, #mo_up:hover button{
	color: #ffffff;
	background-color:#817E6B;
  }
  #mo_search.search_box:hover{
	width: 16rem;
  }
  #mo_search.search_box:hover button[type="submit"]{
	color: #ffffff;
	background-color:#817E6B;
  }
  #mo_search.search_box:hover .search_txt{
	opacity:1;
  }
}

/* -----------------------------------------------------------------
    - Sections
----------------------------------------------------------------- */
.section {
  position: relative;
}
.section_half-bg::before, .section_half-bg::after, .section_half-bg-v2::before, .section_half-bg-v2::after {
  content: '';
  background-color: #F7F7F9;
  position: absolute;
  top: 0;
  right: 0;
  width: 50%;
  height: 100%;
  z-index: -1;
}
@media only screen and (max-width: 580px) {
  .section_half-bg::before, .section_half-bg::after, .section_half-bg-v2::before, .section_half-bg-v2::after {
    display: none;
  }
}
.section_half-bg::after, .section_half-bg-v2::after {
  margin-top: -10rem;
}
@media only screen and (max-width: 1025px) {
  .section_half-bg::after, .section_half-bg-v2::after {
    display: none;
  }
}
.section_half-bg-v2::before {
  height: calc(100vh - 100px);
  margin-top: 100px;
  bottom: 0;
  top: auto;
}
@media only screen and (max-width: 1025px) {
  .section_half-bg-v2::before {
    height: calc(100vh - 80px);
    margin-top: 80px;
  }
}
@media only screen and (max-width: 580px) {
  .section_half-bg-v2::before {
    display: none;
  }
}
.section_half-bg-v2::after {
  display: none;
}
.section_full-bg {
  background-color: #F7F7F9;
}
.section-newsletter {
  padding-top: 8rem;
}
@media only screen and (max-width: 1025px) {
  .section-newsletter {
    padding-top: 6rem;
  }
}
@media only screen and (max-width: 580px) {
  .section-newsletter {
    padding-top: 4rem;
  }
}

.container-flex {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: -moz-box;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}
@media only screen and (min-width: 1025px) {
  .container-fully {
    max-width: 100%;
    padding-left: 0;
    padding-right: 0;
  }
}
.container-fully-v2 {
  padding-left: 3.57rem;
  padding-right: 3.57rem;
}
@media only screen and (max-width: 580px) {
  .container-fully-v2 {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
.container-full-h {
  height: calc(100vh - 200px);
  margin-top: 100px;
}
@media only screen and (max-height: 768px) {
  .container-full-h {
    height: 100%;
    margin-top: 100px;
  }
}
@media only screen and (max-width: 1025px) {
  .container-full-h {
    height: auto;
    margin-top: 80px;
  }
}
@media only screen and (max-width: 580px) {
  .container-full-h {
    margin-top: 50px;
  }
}
.container-first {
  height: 100%;
  margin-top: 100px;
}
@media only screen and (max-height: 800px) {
  .container-first {
    margin-top: 70px;
  }
}
@media only screen and (max-width: 1025px) {
  .container-first {
    margin-top: 4rem;
  }
}
.container .row-flex {
  height: 100%;
}
.container .col__image,
.container .col__image-gutters {
  height: calc(100vh - 100px);
}
@media only screen and (max-height: 768px) {
  .container .col__image,
  .container .col__image-gutters {
    height: calc(100vh - 80px);
  }
}
@media only screen and (max-width: 1025px) {
  .container .col__image,
  .container .col__image-gutters {
    height: 800px;
  }
}
@media only screen and (max-width: 768px) {
  .container .col__image,
  .container .col__image-gutters {
    height: 600px;
  }
}
@media only screen and (max-width: 580px) {
  .container .col__image,
  .container .col__image-gutters {
    height: 300px;
  }
}
.container .col__caption {
  padding-right: 4.28rem;
}
@media only screen and (max-width: 1025px) {
  .container .col__caption {
    padding-top: 5rem;
    padding-right: 0rem;
  }
}
@media only screen and (max-width: 580px) {
  .container .col__caption {
    padding-top: 1.5rem;
  }
}
@media only screen and (min-width: 1280px) {
  .container .col__caption {
    padding-bottom: 2.85rem;
  }
}
.container .col__image,
.container .col__image-gutters {
  background-color: #F7F7F9;
  background-size: cover;
  background-position: center center;
  overflow: hidden;
}
@media only screen and (max-width: 1280px), (min-width: 1280px) {
  .container .col__image,
  .container .col__image-gutters {
    margin-right: 0;
  }
}
.container .col__image {
  margin-right: calc((100vw - 1125px)/-2);
}
@media only screen and (min-width: 1280px) {
  .container .col__image {
    margin-right: calc((100vw - 1125px)/-2);
  }
}
.container .col__image-gutters {
  margin-right: calc((100vw - 1031px)/-2);
}
@media only screen and (max-width: 1025px) {
  .container .col__image-gutters {
    margin-right: 0;
  }
}
@media only screen and (min-width: 1280px) {
  .container .col__image-gutters {
    margin-right: calc((100vw - 1212px)/-2);
  }
}

.container-center {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: -moz-box;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  justify-content: center;
  height: 100vh;
  overflow: hidden;
  text-align: center;
}

.flex-grow-1 {
  flex: 1;
}

.col_gap {
  font-family:'Noto Sans KR', '맑은 고딕', 'Malgun Gothic', 돋움, Dotum, sans-serif;
  color: #67665E;
  column-count: 2;
  column-gap: 3.21rem;
  word-break:keep-all;
}
@media only screen and (max-width: 1280px) {
  .col_gap {
    column-count: 1;
    column-gap: 0;
    text-align: left;
  }
}

.outer_top-bottom_20 {
  margin-top: 10rem;
  margin-bottom: 10rem;
}
/* Hide scrollbar for Chrome, Safari and Opera */
.outer_top-bottom_20::-webkit-scrollbar {
  display: none !important;
}
/* Hide scrollbar for IE and Edge */
.outer_top-bottom_20 {
  -ms-overflow-style: none !important;
}
@media only screen and (max-width: 1025px) {
  .outer_top-bottom_20 {
    margin-top: 5rem;
    margin-bottom: 5rem;
  }
}
@media only screen and (max-width: 580px) {
  .outer_top-bottom_20 {
    margin-top: 2.5rem;
    margin-bottom: 2.5rem;
  }
}

.social {
  line-height: .8;
  opacity: .6;
  position: absolute;
  left: 3.57rem;
  bottom: 3.57rem;
  z-index: 1;
}
.social_right {
  left: auto;
  right: 3.57rem;
}
.social__link {
  color: #67665E;
  display: inline-block;
  margin-right: 2rem;
  position: relative;
  text-decoration: none;
}
@media only screen and (max-width: 580px) {
  .social__link {
    margin-right: 1.07rem;
  }
}
.social__link:hover {
  color: #383838;
  opacity: 1;
}
.social__link:last-child {
  margin-right: 0;
}
@media only screen and (max-width: 1025px), (max-height: 768px) {
  .social {
    display: none;
  }
}

.offset {
  padding-left: 12%;
}

.bg-text {
  color: #F7F7F9;
  font-size: 20rem;
  font-weight: 700;
  line-height: 1;
  overflow: hidden;
  position: absolute;
  bottom: 0;
  left: 10%;
  pointer-events: none;
  z-index: -1;
}

.title-section-wrap {
  margin-top: 3.57rem;
  margin-bottom: 4.28rem;
}
@media only screen and (max-width: 1025px) {
  .title-section-wrap {
    margin-bottom: 2.85rem;
  }
}
@media only screen and (max-width: 580px) {
  .title-section-wrap {
    margin-top: 2.14rem;
    margin-bottom: 1.42rem;
  }
}

.margin_nav {
  margin-top: 100px;
}
@media only screen and (max-width: 1025px) {
  .margin_nav {
    height: auto;
    margin-top: 80px;
  }
}
@media only screen and (max-width: 580px), (max-height: 768px) {
  .margin_nav {
    margin-top: 60px;
  }
}

.floating-box {
  background-color: #817E6B;
  color: #ffffff;
  padding: 2.14rem;
  position: absolute;
  bottom: 0;
  right: -8rem;
  margin-bottom:-8rem;
  width: 16rem;
}
.floating-box a {
  color: #ffffff;
}

/* -----------------------------------------------------------------
- footer
----------------------------------------------------------------- */

#footer{
	width:100%; height:100px;
	position:absolute;
	left:0; bottom:0;
	background-color:#67665E;
}
#fLogo{
	position:absolute;
	top:1.25rem; left:50px;
	width:6.5rem;
	margin-left:1.5rem;
}
#copyright1{
	position:absolute;
	top:1.25rem; left:17%;
	width:30rem;
}
#copyright2{
	position:absolute;
	top:1.25rem; left:70%;
	width:15rem;
}
#footer ul li{
	color:#ffffff;
	font-size:0.8rem;
}
#footer ul li address{
	display:inline;
}
#footer ul li a.lang{
	color:#ffffff;
	opacity:1;
	font-size:0.8rem;
}
#footer ul li a.lang:hover{
	color: #383838;
}
#copyright1 ul li:nth-child(1),
#copyright1 ul li:nth-child(2),
#copyright1 ul li:nth-child(3),
#copyright1 ul li:nth-child(5),
#copyright1 ul li:nth-child(7),
#copyright1 ul li:nth-child(8),
#copyright1 ul li:nth-child(9){
	float:left;
}
#copyright1 ul li:nth-child(1)::after,
#copyright1 ul li:nth-child(2)::after,
#copyright1 ul li:nth-child(3)::after,
#copyright1 ul li:nth-child(5)::after,
#copyright1 ul li:nth-child(7)::after,
#copyright1 ul li:nth-child(8)::after{
	content:'  |  ';
	white-space:pre;	
}
@media only screen and (max-width: 1025px) {
  #footer{
	height:140px;
  }
  #fLogo{
	position:absolute;
	top:1.25rem; left:2%;
	width:5.25rem;
  }
  #copyright1{
	position:absolute;
	top:3.5rem; left:20%;
	width:80%;
  }
  #copyright2{
	position:absolute;
	top:1.25rem; left:20%;
	width:80%;
  }
  #copyright2 ul li{
    float:left;
  }
  #copyright2 ul li:nth-child(1)::after, #copyright2 ul li:nth-child(2)::after{
	content:'  |  ';
	white-space:pre;	
  }
}
@media only screen and (max-width: 768px) {
  #fLogo{
	display:none;
  }
  #copyright1{
	left:5%; width:90%;
  }
  #copyright2{
	left:5%; width:90%;
  }
}
@media only screen and (max-width: 580px) {
  #footer{
	height:13.5rem;
	position:absolute;
	left:0; bottom:0;
  }
  #fLogo{
	display:block;
	left:5%; width:3rem;
	margin-left:0;
  }
  #copyright1{
	top:5rem; left:20%;
	width:75%;
  }
  #copyright2{
	left:21%;
	width:75%;
  }
  #copyright1 ul li:nth-child(4),
  #copyright1 ul li:nth-child(5),
  #copyright1 ul li:nth-child(6),
  #copyright1 ul li:nth-child(7),
  #copyright1 ul li:nth-child(8),
  #copyright2 ul li:nth-child(1),
  #copyright2 ul li:nth-child(2){
	clear:both;
  }
  #copyright1 ul li:nth-child(3)::after,
  #copyright1 ul li:nth-child(4)::after,
  #copyright1 ul li:nth-child(5)::after,
  #copyright1 ul li:nth-child(6)::after,
  #copyright1 ul li:nth-child(7)::after,
  #copyright2 ul li:nth-child(1)::after{
	content:'';
  }
}