@charset "UTF-8";
/* reset */
html {
  height: 100%;
  overflow-y: scroll;
  width: 100%; }

body {
  height: 100%;
  margin: 0;
  overflow: visible;
  padding: 0;
  vertical-align: top;
  width: 100%; }

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-size: 100%;
  font-weight: normal;
  margin: 0; }

p {
  margin: 0; }

a img, img {  border: 0;
  vertical-align: middle; }

strong {
  font-style: normal;
  font-weight: bold; }

small {
  font-size: 100%; }

ol, ul {
  list-style-type: none; }

dd, dl, dt, li, ol, ul {
  margin: 0;
  padding: 0; }

hr {
  background-color: #CCCCCC;
  border: 0;
  color: #CCCCCC;
  height: 1px;
  margin: 0;
  padding: 0; }

table {
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 100%; }

th {
  font-style: normal;
  font-weight: normal;
  margin: 0;
  padding: 0;
  text-align: left; }

td {
  margin: 0;
  padding: 0; }

blockquote, div, span {
  margin: 0;
  padding: 0; }

pre {
  font-family: monospace;
  line-height: 1.0;
  margin: 0;
  padding: 0; }

button {
  background: 0;
  border: 0;
  cursor: pointer;
  padding: 0;
  vertical-align: middle; }

button, fieldset, form, input, label, legend, select, textarea {
  font-family: inherit;
  font-size: 100%;
  font-style: inherit;
  font-weight: inherit;
  margin: 0;
  padding: 0;
  vertical-align: middle; }

label {
  cursor: pointer; }

textarea {
  resize: vertical; }

* html textarea {
  margin-top: -2px; }

*:first-child + html textarea {
  margin-top: -2px; }

abbr, acronym {
  border: 0; }

address, caption, cite, code, dfn, em, var {
  font-style: normal;
  font-weight: normal; }

em {
  font-style: italic;
  font-weight: inherit;
}

caption {
  text-align: left; }

code, kbd, pre, samp, tt {
  font-family: monospace;
  line-height: 1.0; }

* + html code, * + html kbd, * + html pre, * + html samp, * + html tt {
  font-size: 108%; }

q:after, q:before {
  content: ''; }

article, aside, audio, canvas, projects, figcaption, figure, footer, header, hgroup, mark, menu, nav, section, summary, time, video {
  background: transparent;
  border: 0;
  font-size: 100%;
  margin: 0;
  outline: 0;
  padding: 0;
  vertical-align: baseline; }

article, aside, projects, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block; }

/* Vars
--------------------- */
/* ソースサイズ */
/* Mixin
--------------------- */
/* Extend
--------------------- */
/* Clearfix */
/* Ellipsis */
/* PseudoTable */
/* Device
--------------------- */
/* .pc-only */
@media screen and (max-width: 768px) {
  .pc-only {
    display: none !important; } }
/* .tb-only */
.tb-only {
  display: none !important; }
  @media screen and (max-width: 1024px) {
    .tb-only {
      display: block !important; } }

@media screen and (max-width: 1024px) {
  br.tb-only {
    display: inline !important; } }
/* .sp-only */
.sp-only {
  display: none !important; }
  @media screen and (max-width: 768px) {
    .sp-only {
      display: block !important; } }

@media screen and (max-width: 768px) {
  br.sp-only {
    display: inline !important; } }
/* Basic
--------------------- */
/* .align-right */
.align-right {
  text-align: right; }

/* .bold */
.bold {
  font-weight: bold; }

/* .mb0 */
.mb0 {
  margin-bottom: 0 !important; }

/* Heading
--------------------- */
.cmn-hd {
  color: #BCBCBC;
  font-family: 'EB Garamond', serif;
  font-size: 4.5rem;
  line-height: 1;
  letter-spacing: 0.2em;
  padding-bottom: 24px;
  position: relative;
  text-align: center;
  text-indent: 0.2em; }
.rp-ko-lang .cmn-hd {}
.rp-en-lang .cmn-hd {}
.rp-vi-lang .cmn-hd {}

  .cmn-hd::after {
    background: #C42D2D;
    bottom: 0;
    content: '';
    height: 3px;
    left: 50%;
    margin-left: -30px;
    position: absolute;
    width: 60px; }
  @media screen and (max-width: 768px) {
    .cmn-hd, .rp-ko-lang .cmn-hd, .rp-en-lang .cmn-hd, .rp-vi-lang .cmn-hd {
      font-size: 2rem;
      padding-bottom: 10px; }
      .cmn-hd::after {
        height: 2px;
        margin-left: -15px;
        width: 30px; } }

/* Section
--------------------- */
/* .cmn-sec */
.cmn-sec {
  margin-left: auto;
  margin-right: auto;
  max-width: 1100px;
  padding-left: 50px;
  padding-right: 50px; }
  @media screen and (max-width: 1024px) {
    .cmn-sec {
      padding-left: 4vw;
      padding-right: 4vw; } }

/* Vars
--------------------- */
/* ソースサイズ */
/* Mixin
--------------------- */
/* Extend
--------------------- */
/* Clearfix */
/* Ellipsis */
/* PseudoTable */
/* General
--------------------- */
html {
  font-size: 62.5%;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%; }

body {
  background-color: #fff;
  color: #383838;
/*  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;*/
  font-family: "Poppins",sans-serif;
  line-height: 1.5; }
  body * {
    box-sizing: border-box; }

/*.rp-vi-lang { font-family: serif; }*/
body #content { color: #000; }

/* a */
a {
  color: #383838;
  text-decoration: underline; }
  a:hover {
    color: #383838;
    text-decoration: none; }

/* #layout
--------------------- */
#layout {
  overflow: hidden;
  position: relative;
  width: 100%; }

/* .header
--------------------- */
.header {
  height: 100px;
  width: 100%; }
  .header > div {
    margin: 0 auto;
    max-width: 1200px;
    position: relative; }
  @media only screen and (max-width: 1240px) {
    .header {
      padding-left: 2.5vw;
      padding-right: 2.5vw; } }
  @media screen and (max-width: 768px) {
    .header {
      height: 11.7333vw;
      left: 0;
      padding-left: 3.75vw;
      padding-right: 3.75vw;
      position: fixed;
      top: 0;
      z-index: 9999; } }

/* .header__logo */
.header__logo {
  left: 55px;
  position: fixed;
  top: 30px;
  z-index: 9; }
  @media screen and (max-width: 768px) {
    .header__logo {
      left: 5.3333333333vw;
      position: absolute;
      top: 3.8666666667vw; }
      .header__logo img {
        width: 52vw; } }

/* .header-menu */
.header-menu {
  display: none; }
  @media screen and (max-width: 768px) {
    .header-menu {
      background: #383838 url("../img/header_btn_menu.svg") 50% 50% no-repeat;
      background-size: 100% 100%;
      cursor: pointer;
      display: block;
      height: 13.3333333333vw;
      position: fixed;
      right: 0;
      top: 0;
      width: 13.3333333333vw;
      z-index: 9; }
      .header-menu.opened {
        background: url("../img/header_btn_close.svg") 50% 50% no-repeat;
        background-size: 100% 100%; } }

/* .gnav
--------------------- */
.gnav {
  left: 0;
  padding: 35px 45px 40px 0;
  position: fixed;
  top: 0;
  transition: 0.3s ease-in-out;
  width: 100%;
  z-index: 8; }
  @media screen and (max-width: 768px) {
    .gnav {
      background: #fff !important;
      display: none;
      height: 100%;
      padding: 0; } }
  .gnav ul {
    display: flex;
    justify-content: flex-end;
    line-height: 1; }
    @media screen and (max-width: 768px) {
      .gnav ul {
        display: block; } }

    .gnav ul a {
      color: #fff;
      font-family: 'EB Garamond', serif;
      font-size: 2rem;
      font-weight: bold;
      letter-spacing: 0em;
      text-decoration: none; }
.rp-ko-lang .gnav ul a {}
.rp-en-lang .gnav ul a {}
.rp-vi-lang .gnav ul a {}

      @media screen and (max-width: 768px) {
        .gnav ul a, .rp-ko-lang .gnav ul a, .rp-en-lang .gnav ul a, .rp-vi-lang .gnav ul a {
          color: #000 !important;
          font-size: 2rem;
          font-weight: normal; } }
      .gnav ul a:hover {
        opacity: 0.5; }
  .gnav li {
    margin-left: 45px; }
    @media screen and (max-width: 768px) {
      .gnav li {
        margin: 6vh 0;
        text-align: center; } }
  .gnav--scroll {
    background: rgba(255, 255, 255, 0.9); }
    .gnav--scroll ul a {
      color: #000; }
      @media screen and (max-width: 768px) {
        .gnav--scroll ul a {
          color: #fff; } }

.gnav__btn-reservation {
  display: none; }
  @media screen and (max-width: 768px) {
    .gnav__btn-reservation {
      display: block;
      margin: 0 auto;
      width: 66.66%; } }

  .gnav__btn-reservation a {
    background: #C4292D;
    color: #fff;
    display: block;
    font-family: 'EB Garamond', serif;
    font-size: 2rem;
    padding: 15px 0;
    text-align: center;
    text-decoration: none; }
.rp-ko-lang .gnav__btn-reservation a {}
.rp-en-lang .gnav__btn-reservation a {}
.rp-vi-lang .gnav__btn-reservation a {}

.gnav__tel {
  display: none; }

@media screen and (max-width: 768px) {
    .gnav__tel {
      display: block;
      font-size: 1.2rem;
/*      font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;*/
  font-family: "Poppins",sans-serif;
      margin: 6vh 0 0;
      text-align: center; }

/*    .rp-vi-lang .gnav__tel { font-family: serif; }*/

      .gnav__tel span {
        background: url("../img/ico_tel.svg") 0% 50% no-repeat;
        background-size: 20px 20px;
        display: inline-block;
        font-size: 2.4rem;
        padding-left: 30px; }
}

/* .contact-fixed
--------------------- */
.contact-fixed {
  background: #C42D2D url("../img/contact_fixed_ico.svg") 50% 50% no-repeat;
  background-size: 40px 40px;
  height: 80px;
  margin-top: -40px;
  position: fixed;
  right: 0;
  top: 50%;
  width: 80px;
  z-index: 7; }
  @media screen and (max-width: 768px) {
    .contact-fixed {
      background: #C42D2D;
      bottom: 0;
      height: 45px;
      text-align: center;
      top: auto;
      width: 100%; } }
  .contact-fixed a {
    display: block;
    height: 100%;
    width: 100%; }
  .contact-fixed span {
    display: none; }
    @media screen and (max-width: 768px) {
      .contact-fixed span {
        background: url("../img/contact_fixed_ico.svg") 0% 50% no-repeat;
        background-size: auto 44%;
        display: inline-block;
        color: #fff;
        font-size: 1.75rem;
        height: 100%;
        line-height: 45px;
        padding-left: 30px; } }

/* .overlay
--------------------- */
.overlay {
  background: rgba(0, 0, 0, 0.6);
  -webkit-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
  display: none;
  font-size: 14px;
  height: 100%;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 9999; }
  @media screen and (max-width: 768px) {
    .overlay {
      padding: 5.33vw; } }
  .overlay > div {
    display: table;
    height: 100%;
    width: 100%; }
  .overlay > div > div {
    display: table-cell;
    height: 100%;
    text-align: center;
    vertical-align: middle;
    width: 100%; }
  .overlay > div > div > div {
    background: #fff;
    display: inline-block;
    max-width: 1200px;
    position: relative;
    text-align: left;
    width: 100%; }
    .overlay > div > div > div dl {
      display: flex;
      font-family: 'EB Garamond', serif;
      justify-content: center;
      padding: 50px 0 0; }
      @media screen and (max-width: 768px) {
        .overlay > div > div > div dl {
          flex-direction: column;
          padding-top: 6.6666666667vw; } }
    .overlay > div > div > div dt {
      background: #C42D2D;
      color: #fff;
      font-size: 3.5rem;
      line-height: 1;
      margin-right: 30px;
      padding: 22px 0;
      text-align: center;
      width: 320px; }
      @media screen and (max-width: 768px) {
        .overlay > div > div > div dt {
          font-size: 4.6666666667vw;
          margin: 0 auto;
          padding-bottom: 2.9333333333vw;
          padding-top: 2.9333333333vw;
          width: 60vw; } }
    .overlay > div > div > div dd {
      font-size: 4rem;
      line-height: 1;
      padding: 20px 0; }
      @media screen and (max-width: 768px) {
        .overlay > div > div > div dd {
          font-size: 5.3333333333vw;
          padding-bottom: 1.3333333333vw;
          padding-top: 1.3333333333vw;
          text-align: center; } }
    .overlay > div > div > div figure img {
      width: 100%; }

.overlay--btn-close {
  background: url("../img/overlay_ico_close.svg") 0% 0% no-repeat;
  background-size: 100% 100%;
  cursor: pointer;
  height: 23px;
  position: absolute;
  right: 34px;
  top: 30px;
  width: 23px; }
  @media screen and (max-width: 768px) {
    .overlay--btn-close {
      height: 3.0666666667vw;
      right: 4.4vw;
      top: 3.7333333333vw;
      width: 3.0666666667vw; } }

.overlay--btn-close:hover {
  opacity: 0.5; }

/* .page-top
--------------------- */
.page-top {
  background: #3e3a39 url("../img/page_top_ico.svg") 50% 50% no-repeat;
  bottom: 20px;
  border-radius: 30px;
  cursor: pointer;
  height: 60px;
  position: absolute;
  right: 20px;
  width: 60px;
  z-index: 99998; }

.page-top__fixed {
  bottom: 20px;
  position: fixed;
  right: 20px; }

.page-top:hover {
  background-color: #000000;
  opacity: 1 !important; }

@media screen and (max-width: 768px) {
  .page-top {
    bottom: 4vw;
    right: 4vw; } }
/* #footer
--------------------- */
#footer {
  width: 100%; }
  #footer dl {
    margin-bottom: 40px; }
    @media screen and (max-width: 768px) {
      #footer dl {
        margin-bottom: 32px;
        padding: 0 5.3333333333vw; } }

  #footer dt {
    color: #BCBCBC;
    font-family: 'EB Garamond', serif;
    font-size: 1.6rem;
    text-align: center; }
.rp-ko-lang #footer dt {}
.rp-en-lang #footer dt {}
.rp-vi-lang #footer dt {}

    @media screen and (max-width: 768px) {
      #footer dt, .rp-ko-lang #footer dt, .rp-en-lang #footer dt, .rp-vi-lang #footer dt {
        font-size: 1.1rem; } }

  #footer dd {
    color: #fff;
/*    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;*/
  font-family: "Poppins",sans-serif;
    font-size: 1.8rem;
    font-weight: 500;
    text-align: center; }
.rp-ko-lang #footer dd {}
.rp-en-lang #footer dd { font-size: 1.6rem; }
.rp-vi-lang #footer dd { font-size: 1.6rem; }
/*  .rp-vi-lang #footer dd { font-family: serif; }*/

    @media screen and (max-width: 768px) {
      #footer dd, .rp-ko-lang #footer dd, .rp-en-lang #footer dd, .rp-vi-lang #footer dd {
        font-size: 1.2rem; } }

.footer__row1 {
  background: #404040;
  padding: 192px 0 48px; }
  @media screen and (max-width: 768px) {
    .footer__row1 {
      padding: 32px 0 1px; } }

.footer__logo {
  padding: 80px 0;
  text-align: center; }
  @media screen and (max-width: 768px) {
    .footer__logo {
      padding: 24px 0; }
      .footer__logo img {
        width: 66.6666666667vw; } }

/* .footer__contact */
.footer__contact {
  background: #EFEFEF;
  padding: 70px 0 80px;
  width: 100%; }
  @media screen and (max-width: 768px) {
    .footer__contact {
      padding: 32px 0; } }

.footer__contact__txt1 {
  font-size: 1.8rem;
  line-height: 2.2222222222;
  margin: 56px 0;
  text-align: center; }
.rp-ko-lang .footer__contact__txt1 {}
.rp-en-lang .footer__contact__txt1 { font-size: 1.6rem; }
.rp-vi-lang .footer__contact__txt1 { font-size: 1.6rem; }

  @media screen and (max-width: 768px) {
    .footer__contact__txt1, .rp-ko-lang .footer__contact__txt1, .rp-en-lang .footer__contact__txt1, .rp-vi-lang .footer__contact__txt1 {
      font-size: 1.3rem;
      margin: 32px 0;
      padding: 0 5.33vw; } }

.footer__contact__tel {
  margin-bottom: 24px;
  text-align: center; }

  .footer__contact__tel > span {
    background: url("../img/ico_tel.svg") 0% 50% no-repeat;
    display: inline-block;
    font-size: 4.8rem;
    padding-left: 60px; }
.rp-ko-lang .footer__contact__tel > span {}
.rp-en-lang .footer__contact__tel > span { font-size: 4.4rem; }
.rp-vi-lang .footer__contact__tel > span { font-size: 4.4rem; }

    @media screen and (max-width: 768px) {
      .footer__contact__tel > span, .rp-ko-lang .footer__contact__tel > span, .rp-en-lang .footer__contact__tel > span, .rp-vi-lang .footer__contact__tel > span {
        background-position: 0% 0.3em;
        background-size: 20px auto;
        font-size: 2.4rem;
        padding-left: 30px; } }

    .footer__contact__tel > span > span {
      font-size: 1.8rem; }
.rp-ko-lang .footer__contact__tel > span > span {}
.rp-en-lang .footer__contact__tel > span > span { font-size: 1.6rem; }
.rp-vi-lang .footer__contact__tel > span > span { font-size: 1.6rem; }

      @media screen and (max-width: 768px) {
        .footer__contact__tel > span > span, .rp-ko-lang .footer__contact__tel > span > span, .rp-en-lang .footer__contact__tel > span > span, .rp-vi-lang .footer__contact__tel > span > span {
          display: block;
          font-size: 1.2rem; } }

.footer__contact__email {
  text-align: center; }
  .footer__contact__email > a {
    background: url("../img/ico_email.svg") 0% 50% no-repeat;
    display: inline-block;
    font-size: 2.5rem;
    padding-left: 60px;
    text-decoration: none; }
.rp-ko-lang .footer__contact__email > a {}
.rp-en-lang .footer__contact__email > a { font-size: 2.3rem; }
.rp-vi-lang .footer__contact__email > a { font-size: 2.3rem; }

    @media screen and (max-width: 768px) {
      .footer__contact__email > a, .rp-ko-lang .footer__contact__email > a, .rp-en-lang .footer__contact__email > a, .rp-vi-lang .footer__contact__email > a {
        background-size: auto 18px;
        font-size: 1.4rem;
        padding-left: 30px; } }

/* .footer__copyright */
.footer__copyright {
  background: url("../img/copyright_bg.png") 0% 0% repeat;
/*  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;*/
  font-family: "Poppins",sans-serif;
  font-size: 1.2rem;
  font-weight: 500;
  padding: 50px 0;
  text-align: center; }
.rp-ko-lang .footer__copyright {}
.rp-en-lang .footer__copyright { font-size: 1.1rem; }
.rp-vi-lang .footer__copyright { font-size: 1.1rem; }
/*.rp-vi-lang .footer__copyright { font-family: serif; }*/

  @media screen and (max-width: 768px) {
    .footer__copyright, .rp-ko-lang .footer__copyright, .rp-en-lang .footer__copyright, .rp-vi-lang .footer__copyright {
      font-size: 1rem;
      padding: 20px 0 65px; } }




























.cmn-contact .btn-default {
    display: block;
    text-align: center;
    margin: auto;
    width: 310px;
    /*text-transform: uppercase;*/
    letter-spacing: 0.13em;
    color: #fff !important;
    font-size: 16px;
    font-size: 1.6rem;
    /*font-family: "Prata",serif;*/
    background: #BF1E2E;
    padding: 18px 0 17px 0;
    -webkit-transition: 0.3s ease all;
    -moz-transition: 0.3s ease all;
    -ms-transition: 0.3s ease all;
    -o-transition: 0.3s ease all;
    transition: 0.3s ease all;
    position: relative
}
.rp-ko-lang .cmn-contact .btn-default {}
.rp-en-lang .cmn-contact .btn-default { font-size: 1.45rem; }
.rp-vi-lang .cmn-contact .btn-default { font-size: 1.45rem; }

.cmn-contact .btn-default span {
    position: relative;
    /*z-index: 9;*/
    color: #fff
}

.cmn-contact .btn-default:before {
    content: "";
    position: absolute;
    /*z-index: 1;*/
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #D64756;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: 0 50%;
    transform-origin: 0 50%;
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-duration: 0.6s;
    transition-duration: 0.6s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}
.cmn-contact .bg-red1 {
    background: #BF1E2E;
    color: #fff;
}
.cmn-contact .bg-red2 {
    background: #840411;
    color: #fff;
}

.cmn-contact {
    /*padding: 100px 0 95px 0;*/
    text-align: center;
    position: relative;
    /*z-index: 88;*/
    max-width: 1104px;
    margin: auto;
}

.cmn-contact .cmn-contact-ttl {
    text-align: center;
    /*font-family: "Prata",serif;*/
    font-weight: 500;
    font-size: 36px;
    font-size: 3.6rem;
    letter-spacing: 0.01em;
    margin-bottom: 15px
}
.rp-ko-lang .cmn-contact .cmn-contact-ttl {}
.rp-en-lang .cmn-contact .cmn-contact-ttl { font-size: 3.3rem; }
.rp-vi-lang .cmn-contact .cmn-contact-ttl { font-size: 3.3rem; }

.cmn-contact .txt1 {
    margin-bottom: 55px;
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.9;
    letter-spacing: 0.1em
}
.rp-ko-lang .cmn-contact .txt1 {}
.rp-en-lang .cmn-contact .txt1 { font-size: 1.6rem; }
.rp-vi-lang .cmn-contact .txt1 { font-size: 1.6rem; }

.cmn-contact .tel-box-txt {
    text-align: center;
    margin-bottom: 10px
}

.cmn-contact .tel-box .tel {
    /*font-family: "Prata",serif;*/
    font-weight: 500;
    color: #000;
    font-size: 42px;
    font-size: 4.2rem;
    line-height: 1.2;
    padding: 0 0 0 46px;
    position: relative;
    letter-spacing: 0.02em
}
.rp-ko-lang .cmn-contact .tel-box .tel {}
.rp-en-lang .cmn-contact .tel-box .tel { font-size: 3.9rem; }
.rp-vi-lang .cmn-contact .tel-box .tel { font-size: 3.9rem; }

.cmn-contact .tel-box .tel:before {
    position: absolute;
    content: "";
    left: 0;
    top: 10px;
    background: url(../img/common/icn-call-red.svg);
    background-size: 33px 33px;
    height: 33px;
    width: 33px
}

.cmn-contact .tel-box .txt {
    margin-left: 6px;
    font-size: 14px;
    font-size: 1.4rem;
    vertical-align: top;
    display: inline-block
}
.rp-ko-lang .cmn-contact .tel-box .txt {}
.rp-en-lang .cmn-contact .tel-box .txt { font-size: 1.25rem; }
.rp-vi-lang .cmn-contact .tel-box .txt { font-size: 1.25rem; }

.cmn-contact .add-mail {
    border-top: 1px solid #1C1A1A;
    max-width: 642px;
    margin: auto;
    padding-top: 15px;
    margin-top: 15px
}

.cmn-contact .add-mail a {
    color: #070001;
}

@media (min-width: 897px) and (orientation: landscape), (min-width: 768px) and (orientation: portrait) {
    .cmn-contact .add-mail a:hover {
        text-decoration:underline
    }
}

.cmn-contact .mail-box {
    font-size: 0;
    margin: 50px 0 0
}

.cmn-contact .mail-box li {
    display: inline-block;
    vertical-align: top;
    width: 50%;
    text-align: center
}

.cmn-contact .mail-box li a {
    padding: 0;
    display: table;
    height: 110px;
    width: 100.2%;
    font-size: 22px;
    font-size: 2.2rem;
    color: #fff
}
.rp-ko-lang .cmn-contact .mail-box li a {}
.rp-en-lang .cmn-contact .mail-box li a { font-size: 2.0rem; }
.rp-vi-lang .cmn-contact .mail-box li a { font-size: 2.0rem; }

.cmn-contact .mail-box li a .inner {
    position: relative;
    display: table-cell;
    vertical-align: middle
}

.cmn-contact .mail-box li a span {
    position: relative;
    text-align: center;
    padding: 0 5px 0 95px;
    letter-spacing: 0.06em;
    display: inline-block
}

.cmn-contact .mail-box li a span:before {
    position: absolute;
    content: "";
    left: 0;
    top: 50%;
    background: url(../img/common/icn-mail1.svg);
    background-size: 48px 45px;
    width: 48px;
    height: 45px;
    margin-top: -23px
}

@media (max-width: 896px) and (orientation: landscape), (max-width: 767px) and (orientation: portrait) {
    .cmn-contact {
        padding:65px 17px 60px 17px
    }

    .cmn-contact .cmn-contact-ttl {
        margin-bottom: 17px
    }

    .cmn-contact .txt1 {
        margin-bottom: 45px;
        line-height: 1.85;
        letter-spacing: 2px
    }

    .cmn-contact .tel-box .tel {
        font-size: 27px;
        font-size: 2.7rem;
        line-height: 1.2;
        padding: 0 0 0 37px;
        position: relative;
        letter-spacing: 0.05em;
        margin-left: 0
    }

    .cmn-contact .tel-box .tel:before {
        top: 5px;
        background-size: 100% 100%;
        width: 28px;
        height: 28px
    }
}

@media only screen and (max-width: 896px) and (orientation: landscape) and (max-width: 360px), only screen and (max-width: 767px) and (orientation: portrait) and (max-width: 360px) {
    .cmn-contact .tel-box .tel {
        font-size:24px;
        font-size: 2.4rem;
        padding: 0 0 0 35px
    }

    .cmn-contact .tel-box .tel:before {
        width: 24px;
        height: 24px
    }
}

@media (max-width: 896px) and (orientation: landscape), (max-width: 767px) and (orientation: portrait) {
    .cmn-contact .tel-box .txt {
        margin:auto;
        display: block;
        max-width: 312px;
        padding: 0 0 0 35px
    }

    .cmn-contact .mail-box {
        margin: 25px 0 0
    }

    .cmn-contact .mail-box li {
        display: block;
        width: 100%;
        margin-bottom: 8px
    }

    .cmn-contact .mail-box li a {
        height: 80px;
        font-size: 17px;
        font-size: 1.7rem;
        padding: 0;
        line-height: 1.5
    }

    .cmn-contact .mail-box li a span {
        padding: 0 10px 0 60px
    }

    .cmn-contact .mail-box li a.bg-red1 span {
        padding: 0 15px 0 70px
    }
}

@media only screen and (max-width: 896px) and (orientation: landscape) and (max-width: 360px), only screen and (max-width: 767px) and (orientation: portrait) and (max-width: 360px) {
    .cmn-contact .mail-box li a {
        font-size:16px;
        font-size: 1.6rem
    }
}

@media only screen and (max-width: 896px) and (orientation: landscape) and (max-width: 320px), only screen and (max-width: 767px) and (orientation: portrait) and (max-width: 320px) {
    .cmn-contact {
        padding:45px 17px 45px 17px
    }

    .cmn-contact .cmn-contact-ttl {
        margin-bottom: 15px
    }

    .cmn-contact .txt1 {
        margin-bottom: 35px;
        line-height: 1.75;
        letter-spacing: 1px
    }

    .cmn-contact .tel-box .tel {
        font-size: 21px;
        font-size: 2.1rem;
        padding: 0 0 0 32px
    }

    .cmn-contact .tel-box .tel:before {
        top: 2px;
        width: 23px;
        height: 23px;
        background-size: 100% 100%
    }

    .cmn-contact .tel-box .txt {
        padding: 0 0 0 32px
    }

    .cmn-contact .mail-box li a {
        font-size: 15px;
        font-size: 1.5rem
    }

    .cmn-contact .mail-box li a span {
        padding: 0 10px 0 48px
    }

    .cmn-contact .mail-box li a span:before {
        background: url(../img/common/icn-mail1.svg);
        background-size: 100% 100%;
        width: 38px;
        height: 36px;
        margin-top: -18px
    }

    .cmn-contact .mail-box li a.bg-red1 span {
        padding: 0 15px 0 50px
    }
}

.visual-animate__btn-prev, .visual-animate__btn-next { top: 32% !important; }
.visual-animate__btn-prev span, .visual-animate__btn-next span {
  background-color: rgba(220, 220, 220, 0.35);
  color: rgba(0, 0, 0, 0.45);
  text-align: center;
  transition: all 100ms ease-out;
  font-size: 500%;
}
.rp-ko-lang .visual-animate__btn-prev span, .rp-ko-lang .visual-animate__btn-next span {}
.rp-en-lang .visual-animate__btn-prev span, .rp-en-lang .visual-animate__btn-next span { font-size: 450%; }
.rp-vi-lang .visual-animate__btn-prev span, .rp-vi-lang .visual-animate__btn-next span { font-size: 450%; }

.forBook #layout > .visual, .forBook #layout > .top-concept,
.forBook #layout > .top-videos, .forBook #layout > .top-room, .forBook #layout > .top-facilities,
.forBook #layout > .top-location, .forBook #layout > .top-access,
.forBook #layout > #footer .footer__row1, .forBook #layout > #footer .footer__contact__tel, .forBook #layout > #footer .footer__contact__email,
.forBook #layout > #footer .cmn-hd, .forBook #layout > #footer .footer__contact__txt1 { display: none !important; }
.forBook #layout > .top-copy { font-size: 1.4rem; padding-bottom: 45px; margin-top: 35px; }
.forBook #layout > #footer .footer__contact { padding-top: 0; }

.forBook .header__logo img { content:url(../img/logo_blk.svg); }
.forBook .gnav { background: rgba(255, 255, 255, 0.9); z-index: 1000; }
.forBook .header__logo { z-index: 1001; }
.forBook .gnav ul a, .forBook .fnav li { font-size: 1.2rem; }
.forBook .gnav ul a, .forBook .gnav li.lang a, .forBook .gnav li.active-lang a { color: #000; }
.forBook .contact-fixed { width: 60px; height: 60px; }
.forBook #div_total_book_temp .bws-row { margin-top: 80px; }
.book-fixed { margin-top: 40px; background: #840411 url(../img/common/icn-calendar-white.svg) 50% 50% no-repeat; }
.forBook .book-fixed { margin-top: 20px; }

.book-top { width: 100%; text-align: center; margin-top: -45px; }
.book-top a { display: block; height: 100%; width: 100%; }
.book-top span {
    background: #840411 url(../img/common/icn-calendar-white.svg) 8% 50% no-repeat;
    background-size: auto 50%;
    display: inline-block;
    color: #fff;
    font-size: 1.75rem;
    height: 100%;
    line-height: 45px;
    padding-left: 30px;
    min-width: 150px;
    border-radius: 2px;
}

 @media screen and (max-width: 768px) {
    .forBook .contact-fixed { width: 100%; height: 45px; }
    .forBook .contact-fixed span { font-size: 1.1rem; }
    .book-fixed {
      background: #840411;
      bottom: 45px;
    }
    .book-fixed span {
        background: url("../img/common/icn-calendar-white.svg") 0% 50% no-repeat;
        background-size: auto 44%;
    }
    .book-top { display: none; }
 }