@charset "UTF-8";
/*! sanitize.css | CC0 Public Domain | github.com/jonathantneal/sanitize.css */
/* These browsers currently include
** Android 4.3-4.4+,
** Chrome 39-40+,
** Firefox 34-35+,
** Internet Explorer 10-11+,
** iOS 7-8+,
** Safari 7-8+,
** Windows Phone 8.1+.
*/
/*
 * Normalization
 */
@import url("https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700");
@import url("https://fonts.googleapis.com/css?family=Sawarabi+Mincho&subset=japanese");
:root {
  -ms-overflow-style: -ms-autohiding-scrollbar;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%; }

audio:not([controls]) {
  display: none; }

details {
  display: block; }

input[type="number"] {
  width: auto; }

input[type="search"] {
  -webkit-appearance: textfield; }
  input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none; }

main {
  display: block; }

summary {
  display: block; }

pre {
  overflow: auto; }

progress {
  display: inline-block; }

small {
  font-size: 75%; }

template {
  display: none; }

textarea {
  overflow: auto; }

[hidden] {
  display: none; }

[unselectable] {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

/*
 * Universal inheritance
 */
*,
::before,
::after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit; }

* {
  font-size: inherit;
  line-height: inherit; }

::before,
::after {
  text-decoration: inherit;
  vertical-align: inherit; }

/*
 * Opinionated defaults
 */
*,
::before,
::after {
  border-style: solid;
  border-width: 0; }

* {
  margin: 0;
  padding: 0; }

:root {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  cursor: default;
  font: 62.5%/1em sans-serif;
  text-rendering: optimizeLegibility; }
  @media screen and (min-width: 769px) {
    :root {
      font: 0.78125vw/1em sans-serif; } }
  @media screen and (min-width: 1600px) {
    :root {
      font: 78.125%/1em sans-serif; } }

html {
  background-color: #FFFFFF; }

a {
  text-decoration: none; }

audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle; }

button,
input,
select,
textarea {
  background-color: transparent; }

button,
input,
select,
textarea {
  color: inherit;
  font-family: inherit;
  font-style: inherit;
  font-weight: inherit; }

button,
[type="button"],
[type="date"],
[type="datetime"],
[type="datetime-local"],
[type="email"],
[type="month"],
[type="number"],
[type="password"],
[type="reset"],
[type="search"],
[type="submit"],
[type="tel"],
[type="text"],
[type="time"],
[type="url"],
[type="week"],
select,
textarea {
  min-height: 1em; }

code,
kbd,
pre,
samp {
  font-family: monospace, monospace; }

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

select {
  -moz-appearance: none;
  -webkit-appearance: none; }
  select::-ms-expand {
    display: none; }
  select::-ms-value {
    color: currentColor; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

textarea {
  resize: vertical; }

::-moz-selection {
  background-color: #B3D4FC;
  text-shadow: none; }

::selection {
  background-color: #B3D4FC;
  text-shadow: none; }

@media screen {
  [hidden~="screen"] {
    display: inherit; }
  [hidden~="screen"]:not(:active):not(:focus):not(:target) {
    clip: rect(0 0 0 0) !important;
    position: absolute !important; } }

* {
  margin: 0;
  padding: 0;
  outline: 0; }

/* general params
--------------------*/
h1, h2, h3, h4, h5, h6,
div, p, pre, ul, ol, dl, dt, dd,
address, form, blockquote {
  margin: 0;
  padding: 0;
  /* margin&padding reset */
  font-style: normal;
  font-weight: normal; }

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

table {
  border-collapse: collapse;
  font-size: small;
  margin: 0;
  empty-cells: show; }

hr, .areaAnchor, .anchor {
  display: none; }

img {
  vertical-align: bottom;
  border: none;
  /* img do not want a border */ }

li {
  list-style: none; }

blockquote, q {
  quotes: none; }

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

ins {
  text-decoration: none;
  color: #000;
  background-color: #ff9; }

mark {
  font-weight: bold;
  font-style: italic;
  color: #000;
  background-color: #ff9; }

del {
  text-decoration: line-through; }

abbr[title], dfn[title] {
  cursor: help;
  border-bottom: 1px dotted; }

table {
  border-spacing: 0;
  border-collapse: collapse; }

/* acronyms and abbreviations styles
-------------------------------------*/
acronym, abbr {
  cursor: help; }

/* word break
-------------------------------------*/
p {
  word-break: normal; }

/* image position
-------------------------------------*/
img {
  vertical-align: bottom; }

/*
===== 2: form setting ===========================
*/
option {
  padding-right: 10px; }

input, select {
  vertical-align: middle; }

/*--------------------------------------------------------------- */
/* 全体で使用する common style を記述
/*--------------------------------------------------------------- */
/**
 * @license
 * MyFonts Webfont Build ID 3045248, 2015-06-19T02:56:28-0400
 *
 * The fonts listed in this notice are subject to the End User License
 * Agreement(s) entered into by the website owner. All other parties are
 * explicitly restricted from using the Licensed Webfonts(s).
 *
 * You may obtain a valid license at the URLs below.
 *
 * Webfont: NeueHaasUnicaPro-Thin by Linotype
 * URL: http://www.myfonts.com/fonts/linotype/neue-haas-unica/thin/
 * Copyright: Copyright &#x00A9; 2015 Monotype Imaging Inc.  All rights reserved.
 * Licensed pageviews: 10,000
 *
 *
 * License: http://www.myfonts.com/viewlicense?type=web&buildid=3045248
 *
 * ﾂｩ 2015 MyFonts Inc
*/
/* @import must be at top of file, otherwise CSS will not work */
/*
@import url("//hello.myfonts.net/count/2e7780");
@font-face {font-family: 'NeueHaasUnicaPro-Thin';src: url('../fonts/2E7780_0_0.eot');src: url('../fonts/2E7780_0_0.eot?#iefix') format('embedded-opentype'),url('../fonts/2E7780_0_0.woff2') format('woff2'),url('../fonts/2E7780_0_0.woff') format('woff'),url('../fonts/2E7780_0_0.ttf') format('truetype');}
.En { font-family: "NeueHaasUnicaPro-Thin", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "メイリオ", sans-serif; }
*/
/* Googlefonts */
/* Roboto thin:100 - light:300 - regular:400 - bold:700 */
/*-------------------------------------------> font */
.En {
  font-family: "Roboto", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "メイリオ", sans-serif;
  font-weight: 300; }

.Ja {
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "メイリオ", sans-serif; }

.Min {
  font-family: "Sawarabi Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; }

/*-------------------------------------------> html / body style */
body {
  width: 100%;
  color: #4c4948;
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "メイリオ", sans-serif;
  overflow-y: auto;
  position: relative;
  padding-top: 170px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }
  @media screen and (min-width: 769px) {
    body {
      font-size: 12px;
      line-height: 2.16667em;
      letter-spacing: 0.1em; }
      body .pc {
        display: block; }
      body .sp {
        display: none; }
      body img.pc, body .svg.pc {
        display: inline; }
      body > * {
        -webkit-font-feature-settings: "palt";
        font-feature-settings: "palt"; } }
  @media screen and (max-width: 768px) {
    body {
      height: 100%;
      padding-top: calc(170/750*100vw);
      font-size: 11px;
      /* legacy */
      font-size: 2.93333vw;
      line-height: 2.18182em;
      letter-spacing: 0.1em; }
      body .pc {
        display: none; }
      body .sp {
        display: block; }
      body img.pc {
        display: none; }
      body img.sp, body .svg.sp {
        display: inline; }
      body img {
        max-width: 100%;
        height: auto; }
      body > * {
        -webkit-font-feature-settings: "palt";
        font-feature-settings: "palt"; } }

.hide {
  display: none; }

/*-------------------------------------------> link style */
a {
  outline: none;
  color: #4c4948;
  cursor: pointer;
  /*
	&.blank:after {
		content: '';
		display: inline-block;
		line-height: 1;
		width: 12px;
		height: 12px;
		background: url(/_assets/images/svg/icon_blank.svg) no-repeat left top;
		background-size: 12px 12px;
		vertical-align: middle;
		margin-left: 5px;
		@media screen and ($less-tab) {
			width: 20px;
			height: 20px;
			background: url(/_assets/images/svg/icon_blank.svg) no-repeat left top;
			background-size: contain;
		}
	}
	*/ }
  a:link {
    text-decoration: none;
    color: #4c4948; }
  a:visited {
    text-decoration: none;
    color: #4c4948; }
  a:hover {
    text-decoration: none;
    color: #4c4948; }
  a:active {
    text-decoration: none;
    color: #4c4948; }

@media screen and (min-width: 769px) {
  .OverOpacity,
  .OverOpacityGroup a {
    opacity: 1;
    -webkit-transition: opacity .15s ease-out;
    -o-transition: opacity .15s ease-out;
    transition: opacity .15s ease-out; }
    .OverOpacity:hover,
    .OverOpacityGroup a:hover {
      opacity: 0.5; } }

/*-------------------------------------------> Common style */
.inner {
  max-width: 960px;
  padding-left: 120px;
  padding-right: 120px;
  padding-left: 10%;
  padding-right: 10%;
  margin-left: auto;
  margin-right: auto;
  -webkit-box-sizing: content-box;
  box-sizing: content-box; }
  @media screen and (min-width: 1200px) {
    .inner {
      max-width: initial;
      width: 960px;
      padding-left: 0;
      padding-right: 0;
      margin-left: auto;
      margin-right: auto; } }
  @media screen and (max-width: 768px) {
    .inner {
      max-width: initial;
      width: 100%;
      padding-left: calc(70/750*100vw);
      padding-right: calc(70/750*100vw);
      -webkit-box-sizing: border-box;
      box-sizing: border-box; } }

.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

/*-------------------------------------------> Header */
#Header {
  width: 100%;
  /* height: 170px; */
  text-align: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 9000;
  background: rgba(255, 255, 255, 0.95); }
  #Header #Navi {
    position: relative;
    margin-left: auto;
    margin-right: auto; }
    #Header #Navi .bigArea {
      display: none; }
  @media screen and (min-width: 769px) {
    #Header #Navi {
      line-height: 1em; }
      #Header #Navi .pcHeader {
        width: 100%;
        padding-left: calc(120/1200*100%);
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        height: 90px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -webkit-box-align: end;
        -ms-flex-align: end;
        align-items: flex-end; } }
    @media screen and (min-width: 769px) and (min-width: 1200px) {
      #Header #Navi .pcHeader {
        padding-left: calc((100% - 960px) / 2); } }
  @media screen and (min-width: 769px) {
        #Header #Navi .pcHeader .logo {
          margin-right: auto; }
          #Header #Navi .pcHeader .logo img {
            width: 130px;
            height: 65px; }
        #Header #Navi .pcHeader .subNavi {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-orient: vertical;
          -webkit-box-direction: normal;
          -ms-flex-direction: column;
          flex-direction: column;
          -webkit-box-pack: end;
          -ms-flex-pack: end;
          justify-content: flex-end;
          margin-right: 20px;
          height: 100%;
          padding: 10px 0 5px; }
          #Header #Navi .pcHeader .subNavi .SelectLanguage {
            position: relative;
            border: solid 1px #cccbcb; }
            #Header #Navi .pcHeader .subNavi .SelectLanguage::after {
              content: '▼';
              position: absolute;
              top: 5px;
              right: 5px;
              pointer-events: none; }
            #Header #Navi .pcHeader .subNavi .SelectLanguage select {
              border-radius: 0;
              padding: 5px;
              width: 100%; }
          #Header #Navi .pcHeader .subNavi .tel {
            font-size: 20px;
            line-height: 1em;
            letter-spacing: 0.1em;
            font-weight: 300; }
            #Header #Navi .pcHeader .subNavi .tel a {
              color: #040000;
              text-decoration: none;
              cursor: default; }
          #Header #Navi .pcHeader .subNavi .link {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            font-size: 12px;
            line-height: 1em;
            letter-spacing: 0.08em;
            margin-top: 13px; }
            #Header #Navi .pcHeader .subNavi .link li {
              margin-right: 30px; }
            #Header #Navi .pcHeader .subNavi .link a {
              color: #040000;
              -webkit-transition: all .15s ease-out;
              -o-transition: all .15s ease-out;
              transition: all .15s ease-out; }
              #Header #Navi .pcHeader .subNavi .link a .svg {
                margin-right: 3px; }
                #Header #Navi .pcHeader .subNavi .link a .svg .svgWhite {
                  fill: #040000; }
              #Header #Navi .pcHeader .subNavi .link a:hover {
                color: #040000; }
        .Reserve {
          position: fixed;
          bottom: 0;
          left: 0;
          -ms-flex-preferred-size: 180px;
          flex-basis: 180px;
          width: 180px;
          height: 90px;
          display: table;
          z-index: 10000;
        }
        .Reserve img{
          /* width: 80% */
        }
          .Reserve a {
            display: table-cell;
            text-align: center;
            vertical-align: middle;
            width: 180px;
            height: 90px;
            /* background-color: #94bae3; */
            color: #FFF;
            -webkit-transition: all .15s ease-out;
            -o-transition: all .15s ease-out;
            transition: all .15s ease-out;
            font-size: 14px;
            line-height: 1.71429em;
            letter-spacing: 0.15em; }
            /* .Reserve a:hover{
              background-color: #34a19e
            } */
            .Reserve a span {
              display: block; }
            .Reserve a .En {
              font-weight: 100; }
            .Reserve a .Ja {
              font-weight: bold; } }
    @media screen and (min-width: 769px) and (min-width: 1200px) {
      #Header #Navi .pcHeader .logo {
        width: 686px;
        text-align: left; }
      #Header #Navi .pcHeader .subNavi {
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1;
        text-align: left;
        margin-right: 0; } }
    @media screen and (min-width: 769px) and (min-width: 1350px) {
      #Header #Navi .pcHeader .logo {
        width: 770px; } }
  @media screen and (min-width: 769px) {
      #Header #Navi ul.mainNavi {
        height: 30px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        margin-left: calc(120/1200*100%);
        margin-right: calc(120/1200*100%);
        margin-top: 20px;
        padding-top: 14px;
        border-top: solid 1px #cccbcb;
        -webkit-box-sizing: content-box;
        box-sizing: content-box; } }
    @media screen and (min-width: 769px) and (min-width: 1200px) {
      #Header #Navi ul.mainNavi {
        width: 960px;
        margin-left: auto;
        margin-right: auto; } }
  @media screen and (min-width: 769px) {
        #Header #Navi ul.mainNavi > li {
          width: calc(100%/7);
          border-right: solid 1px #cccbcb; }
          #Header #Navi ul.mainNavi > li:first-child {
            border-left: solid 1px #cccbcb; }
          #Header #Navi ul.mainNavi > li > .btn, #Header #Navi ul.mainNavi > li > a {
            position: relative;
            display: block;
            color: #040000;
            height: 30px;
            letter-spacing: 0.08em;
            overflow: hidden; }
            #Header #Navi ul.mainNavi > li > .btn span, #Header #Navi ul.mainNavi > li > a span {
              display: block;
              width: 100%;
              height: 30px;
              line-height: 30px;
              -webkit-transition: all .15s ease-out;
              -o-transition: all .15s ease-out;
              transition: all .15s ease-out; }
            #Header #Navi ul.mainNavi > li > .btn .En, #Header #Navi ul.mainNavi > li > a .En {
              font-size: 14px;
              font-weight: 300;
              opacity: 1; }
            /* #Header #Navi ul.mainNavi > li > .btn .Ja, #Header #Navi ul.mainNavi > li > a .Ja {
              font-size: 12px;
              position: absolute;
              top: 0;
              left: 0;
              opacity: 0; } */
            /* #Header #Navi ul.mainNavi > li > .btn:hover .En, #Header #Navi ul.mainNavi > li > a:hover .En {
              opacity: 0; } */
            /* #Header #Navi ul.mainNavi > li > .btn:hover .Ja, #Header #Navi ul.mainNavi > li > a:hover .Ja {
              opacity: 1; } */
          #Header #Navi ul.mainNavi > li > .btn {
            position: relative;
            cursor: pointer;
            overflow: visible; }
            #Header #Navi ul.mainNavi > li > .btn .drawer {
              display: none; }
            #Header #Navi ul.mainNavi > li > .btn::after {
              content: '';
              display: block;
              position: absolute;
              top: 0;
              width: 100%;
              height: 0px; }
          #Header #Navi ul.mainNavi > li:hover > .btn::after {
            height: 50px; } 
            #Header #Navi ul.mainNavi > li:hover .bigArea {
            display: block;
            -webkit-animation: fadeIn .3s ease-out 0s;
            animation: fadeIn .3s ease-out 0s; }
      #Header #Navi .bigArea {
        position: absolute;
        top: 35px;
        left: 50%;
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        transform: translateX(-50%);
        z-index: 20;
        background: #FFF;
        padding: calc(30/1200*100vw) calc(20/1200*100vw); } }
    @media screen and (min-width: 769px) and (min-width: 1200px) {
      #Header #Navi .bigArea {
        padding: 30px 20px; } }
  @media screen and (min-width: 769px) {
        #Header #Navi .bigArea ul li {
          margin: 0 8px; }
          #Header #Navi .bigArea ul li a {
            display: block;
            text-align: left;
            width: calc(200/1200*100vw); } }
        @media screen and (min-width: 769px) and (min-width: 1200px) {
          #Header #Navi .bigArea ul li a {
            width: 200px; } }
  @media screen and (min-width: 769px) {
          #Header #Navi .bigArea ul li .image {
            margin-bottom: 13px; }
            #Header #Navi .bigArea ul li .image img {
              width: 100%;
              height: auto; }
          #Header #Navi .bigArea ul li .Ja {
            display: block;
            color: #040000;
            font-size: 12px;
            line-height: 1em;
            letter-spacing: 0.15em; }
            #Header #Navi .bigArea ul li .Ja::before {
              content: '＞';
              margin-right: 5px; } }
  @media screen and (max-width: 768px) {
    #Header {
      position: fixed;
      width: 100vw;
      height: 100vh;
      pointer-events: none;
      top: 0;
      left: 0;
      height: auto;
      z-index: 9000; }
      #Header::after {
        position: absolute;
        top: 0;
        left: 0;
        background-color: rgba(0, 0, 0, 0.6);
        opacity: 0;
        content: '';
        display: block;
        width: 100vw;
        height: 100vh;
        pointer-events: none;
        -webkit-transition: all .3s ease-out;
        -o-transition: all .3s ease-out;
        transition: all .3s ease-out; }
      #Header #btn-menu {
        pointer-events: auto;
        position: absolute;
        z-index: 10;
        top: calc(22/750*100vw);
        left: 0;
        width: 12vw;
        height: 17.33333vw; }
        #Header #btn-menu span {
          position: absolute;
          top: 50%;
          left: calc(50%);
          display: block;
          width: 4.8vw;
          height: 1px;
          background: #040000;
          -webkit-transition: all .3s ease-out;
          -o-transition: all .3s ease-out;
          transition: all .3s ease-out; }
          #Header #btn-menu span:nth-child(1) {
            -webkit-transform: translateY(4px);
            -ms-transform: translateY(4px);
            transform: translateY(4px); }
          #Header #btn-menu span:nth-child(3) {
            -webkit-transform: translateY(-4px);
            -ms-transform: translateY(-4px);
            transform: translateY(-4px); }
      #Header .logo {
        pointer-events: none;
        position: absolute;
        top: calc(42/750*100vw);
        left: 0;
        width: 100%;
        text-align: center;
        z-index: 5; }
        #Header .logo img {
          width: 24vw;
          height: 12vw; }
      #Header #Navi {
        pointer-events: auto;
        display: none;
        position: fixed;
        z-index: 1;
        top: 0;
        left: 0;
        text-align: left;
        padding-top: calc(170/750*100vw);
        background: #FFF;
        max-height: 100%;
        overflow-x: hidden;
        overflow-y: scroll;
        -webkit-box-sizing: border-box;
        box-sizing: border-box; }
        #Header #Navi ul.mainNavi {
          width: 100%;
          -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
          #Header #Navi ul.mainNavi > li {
            width: 100%;
            border-bottom: solid 1px #cccbcb; }
            #Header #Navi ul.mainNavi > li > .btn, #Header #Navi ul.mainNavi > li > a {
              position: relative;
              display: block;
              padding: calc(22/750*100vw) calc(65/750*100vw); }
              #Header #Navi ul.mainNavi > li > .btn span, #Header #Navi ul.mainNavi > li > a span {
                display: block; }
              #Header #Navi ul.mainNavi > li > .btn .En, #Header #Navi ul.mainNavi > li > a .En {
                font-size: 17px;
                /* legacy */
                font-size: 4.53333vw;
                line-height: 1em;
                letter-spacing: 0.15em;
                color: #040000; }
              #Header #Navi ul.mainNavi > li > .btn .Ja, #Header #Navi ul.mainNavi > li > a .Ja {
                font-size: 10px;
                /* legacy */
                font-size: 2.66667vw;
                line-height: 1em;
                letter-spacing: 0.15em;
                color: #4c4948; }
              #Header #Navi ul.mainNavi > li > .btn .drawer, #Header #Navi ul.mainNavi > li > a .drawer {
                position: absolute;
                top: 0;
                right: 0;
                width: 18.66667vw;
                height: 100%;
                display: -webkit-box;
                display: -ms-flexbox;
                display: flex;
                -webkit-box-pack: center;
                -ms-flex-pack: center;
                justify-content: center;
                -webkit-box-align: center;
                -ms-flex-align: center;
                align-items: center;
                z-index: 1; }
            #Header #Navi ul.mainNavi > li.hm00 {
              border-top: solid 1px #cccbcb; }
        #Header #Navi .bigArea {
          background: #f7f7f7;
          padding: calc(30/750*100vw) 0; }
          #Header #Navi .bigArea ul {
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
            -ms-flex-direction: column;
            flex-direction: column; }
            #Header #Navi .bigArea ul li a {
              display: block;
              padding: calc(20/750*100vw) calc(65/750*100vw);
              font-size: 11px;
              /* legacy */
              font-size: 2.93333vw;
              line-height: 1.5em;
              letter-spacing: 0.1em;
              font-weight: 300; }
            #Header #Navi .bigArea ul li .image,
            #Header #Navi .bigArea ul li .En {
              display: none; }
            #Header #Navi .bigArea ul li .Ja {
              font-size: 11px;
              /* legacy */
              font-size: 2.93333vw;
              line-height: 1em;
              letter-spacing: 0.1em; } }

@media screen and (min-width: 769px) {
  #Header {
    position: fixed;
    top: 0; }
  .Scroll #Header {
    position: fixed;
    -webkit-transition: -webkit-transform .3s ease-out;
    transition: -webkit-transform .3s ease-out;
    -o-transition: transform .3s ease-out;
    transition: transform .3s ease-out;
    transition: transform .3s ease-out, -webkit-transform .3s ease-out; }
  .fixed #Header {
    position: fixed;
    -webkit-transform: translateY(100%);
    -ms-transform: translateY(100%);
    transform: translateY(100%);
    -webkit-transition: -webkit-transform .3s ease-out;
    transition: -webkit-transform .3s ease-out;
    -o-transition: transform .3s ease-out;
    transition: transform .3s ease-out;
    transition: transform .3s ease-out, -webkit-transform .3s ease-out; } }

@media screen and (max-width: 768px) {
  .MOpen #Header {
    height: 100%; }
    .MOpen #Header #btn-menu span {
      background-color: #040000; }
      .MOpen #Header #btn-menu span:nth-child(1) {
        -webkit-transform: translateY(0px) rotate(-45deg);
        -ms-transform: translateY(0px) rotate(-45deg);
        transform: translateY(0px) rotate(-45deg); }
      .MOpen #Header #btn-menu span:nth-child(2) {
        opacity: 0; }
      .MOpen #Header #btn-menu span:nth-child(3) {
        -webkit-transform: translateY(0px) rotate(45deg);
        -ms-transform: translateY(0px) rotate(45deg);
        transform: translateY(0px) rotate(45deg); }
    .MOpen #Header::after {
      opacity: 1;
      pointer-events: auto; }
    .MOpen #Header .logo {
      display: block;
      -webkit-animation: fadeIn .3s ease-out 0s;
      animation: fadeIn .3s ease-out 0s; } }

.sideColor.MOpen #Header #btn-menu span {
  background-color: #040000; }

/*-------------------------------------------> SNS */
@media screen and (min-width: 769px) {
  #SNS {
    position: fixed;
    z-index: 1000;
    top: 306px;
    right: 30px;
    width: 20px;
    color: #4c4948;
    -webkit-transition: all .15s ease-out;
    -o-transition: all .15s ease-out;
    transition: all .15s ease-out; }
    #SNS .iconList {
      line-height: 1; }
      #SNS .iconList li .svg {
        width: 20px;
        height: 20px; }
        #SNS .iconList li .svg .svgWhite {
          fill: #4c4948;
          -webkit-transition: all .15s ease-out;
          -o-transition: all .15s ease-out;
          transition: all .15s ease-out; }
      #SNS .iconList li.sns_is {
        margin: 12px 0; }
    #SNS .line {
      position: relative;
      padding-top: 90px;
      -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
      writing-mode: vertical-rl;
      font-size: 12px;
      line-height: 1em;
      letter-spacing: 0.15em;
      line-height: 20px; }
      #SNS .line:before {
        content: '';
        width: 1px;
        height: 66px;
        position: absolute;
        top: 8px;
        left: 50%;
        background: #4c4948;
        -webkit-transition: all .15s ease-out;
        -o-transition: all .15s ease-out;
        transition: all .15s ease-out; } }

@media screen and (max-width: 768px) {
  #SNS .iconList {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 26.66667vw; }
    #SNS .iconList li {
      width: calc(170/750*100vw);
      text-align: center; }
      #SNS .iconList li .svg {
        width: calc(60/750*100vw); }
        #SNS .iconList li .svg .svgWhite {
          fill: #4c4948; } }

@media screen and (min-width: 769px) {
  .sideColor #SNS {
    color: #FFF; }
    .sideColor #SNS .iconList li .svg .svgWhite {
      fill: #FFF; }
    .sideColor #SNS .line:before {
      background: #FFF; } }

/*-------------------------------------------> Cover */
#Cover {
  position: relative;
  width: 100%;
  overflow: hidden; }
  #Cover img {
    width: 100%;
    height: auto; }
  #Cover .link {
    position: absolute;
    right: 0;
    top: 0;
    z-index: 100; }
    #Cover .link li {
      padding-left: 3px;
      float: left; }
      #Cover .link li img {
        max-width: 100%;
        width: 100%;
        height: auto; }
  @media screen and (max-width: 768px) {
    #Cover {
      margin-bottom: calc(45/750*100vw); }
      #Cover .link li {
        width: 72px;
        height: 15px;
        vertical-align: top; }
        #Cover .link li img {
          vertical-align: top; } }

/*-------------------------------------------> topicPath */
#topicPath {
  height: 60px;
  padding-top: 3px; }
  #topicPath ul li {
    display: inline;
    color: #4c4948;
    font-size: 12px;
    line-height: 1em;
    letter-spacing: 0.1em; }
    #topicPath ul li + li::before {
      content: '\0020\003E\0020'; }
    #topicPath ul li a {
      color: #4c4948; }
  @media screen and (max-width: 768px) {
    #topicPath {
      display: none; } }


  /* #Footer .ftNav {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }
    #Footer .ftNav dl, #Footer .ftNav .hotelInfo {
      margin-left: 18px;
      margin-right: 18px; }
      #Footer .ftNav dl:first-child, #Footer .ftNav .hotelInfo:first-child {
        margin-left: 0; }
      #Footer .ftNav dl:last-child, #Footer .ftNav .hotelInfo:last-child {
        margin-right: 0; }
      #Footer .ftNav dl .hotelName, #Footer .ftNav .hotelInfo .hotelName {
        color: #FFF; }
        #Footer .ftNav dl .hotelName .En, #Footer .ftNav .hotelInfo .hotelName .En {
          font-size: 20px;
          line-height: 1.3em;
          letter-spacing: 0.15em;
          font-weight: 300; }
        #Footer .ftNav dl .hotelName .Ja, #Footer .ftNav .hotelInfo .hotelName .Ja {
          font-size: 12px;
          line-height: 2.5em;
          letter-spacing: 0.1em; }
      #Footer .ftNav dl > .text, #Footer .ftNav .hotelInfo > .text {
        margin-top: 6px;
        font-size: 12px;
        line-height: 2.41667em;
        letter-spacing: 0.1em;
        color: #999797; }
        #Footer .ftNav dl > .text a, #Footer .ftNav .hotelInfo > .text a {
          cursor: default;
          color: #999797; }
      #Footer .ftNav dl dt, #Footer .ftNav dl > ul > li, #Footer .ftNav .hotelInfo dt, #Footer .ftNav .hotelInfo > ul > li {
        color: #FFF;
        border-top: solid 2px #434343;
        padding-top: 20px;
        margin-bottom: 26px; }
        #Footer .ftNav dl dt span, #Footer .ftNav dl > ul > li span, #Footer .ftNav .hotelInfo dt span, #Footer .ftNav .hotelInfo > ul > li span {
          display: block; }
        #Footer .ftNav dl dt .En, #Footer .ftNav dl > ul > li .En, #Footer .ftNav .hotelInfo dt .En, #Footer .ftNav .hotelInfo > ul > li .En {
          font-size: 16px;
          line-height: 1em;
          letter-spacing: 0.15em;
          margin-bottom: 8px; }
      #Footer .ftNav dl > ul > li, #Footer .ftNav .hotelInfo > ul > li {
        border-top: none;
        margin-bottom: 0; }
        #Footer .ftNav dl > ul > li:first-child, #Footer .ftNav .hotelInfo > ul > li:first-child {
          border-top: solid 2px #434343;
          padding-top: 20px; }
        #Footer .ftNav dl > ul > li a, #Footer .ftNav .hotelInfo > ul > li a {
          display: block;
          color: #FFF; }
          @media screen and (min-width: 769px) {
            #Footer .ftNav dl > ul > li a, #Footer .ftNav .hotelInfo > ul > li a {
              opacity: 1;
              -webkit-transition: all .15s ease-out;
              -o-transition: all .15s ease-out;
              transition: all .15s ease-out; }
              #Footer .ftNav dl > ul > li a:hover, #Footer .ftNav .hotelInfo > ul > li a:hover {
                opacity: 0.5; } }
      #Footer .ftNav dl dd ul li + li, #Footer .ftNav .hotelInfo dd ul li + li {
        margin-top: 16px; }
        #Footer .ftNav dl dd ul li + li a .svg, #Footer .ftNav .hotelInfo dd ul li + li a .svg {
          width: 0.8em;
          height: 0.8em;
          margin-left: 0.5em;
          vertical-align: middle; }
          #Footer .ftNav dl dd ul li + li a .svg .svgWhite, #Footer .ftNav .hotelInfo dd ul li + li a .svg .svgWhite {
            fill: #9a9897; }
        @media screen and (min-width: 769px) {
          #Footer .ftNav dl dd ul li + li a .svg .cls-1, #Footer .ftNav .hotelInfo dd ul li + li a .svg .cls-1 {
            -webkit-transition: all .15s ease-out;
            -o-transition: all .15s ease-out;
            transition: all .15s ease-out; }
          #Footer .ftNav dl dd ul li + li a:hover .svg .svgWhite, #Footer .ftNav .hotelInfo dd ul li + li a:hover .svg .svgWhite {
            fill: #FFF; } }
    #Footer .ftNav dl {
      -ms-flex-preferred-size: 200px;
      flex-basis: 200px; }
    #Footer .ftNav .hotelInfo {
      margin-left: 0;
      margin-right: 0;
      width: 270px; } */
  /* #Footer .ftSub {
    margin-top: 75px;
    vertical-align: middle;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; }
    #Footer .ftSub .ftSubNav {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      font-size: 12px;
      line-height: 1em;
      letter-spacing: 0.1em;
      color: #999797; }
      #Footer .ftSub .ftSubNav li {
        border-left: solid 1px #999797; }
        #Footer .ftSub .ftSubNav li a {
          display: inline-block;
          padding-left: 1em;
          padding-right: 1em; }
        #Footer .ftSub .ftSubNav li:first-child {
          border-left: none; }
          #Footer .ftSub .ftSubNav li:first-child a {
            padding-left: 0; }
    #Footer .ftSub .copyright {
      font-size: 12px;
      line-height: 1em;
      letter-spacing: 0.1em;
      margin-top: 1em; }
    #Footer .ftSub .link {
      margin-left: auto; }
      #Footer .ftSub .link a {
        display: block;
        width: 144px;
        height: 40px;
        text-align: center;
        font-size: 12px;
        line-height: 1em;
        letter-spacing: 0.15em;
        line-height: 40px;
        color: #040000;
        background-color: #FFF; }
        #Footer .ftSub .link a .svg {
          width: 12px;
          height: 12px;
          margin-left: 10px; }
          #Footer .ftSub .link a .svg .svg4c4948 {
            fill: #4c4948; }
        @media screen and (min-width: 769px) {
          #Footer .ftSub .link a {
            -webkit-transition: all .15s ease-out;
            -o-transition: all .15s ease-out;
            transition: all .15s ease-out; }
            #Footer .ftSub .link a .svg .svgWhite {
              -webkit-transition: all .15s ease-out;
              -o-transition: all .15s ease-out;
              transition: all .15s ease-out; }
            #Footer .ftSub .link a:hover {
              color: #FFF;
              background-color: #040000; }
              #Footer .ftSub .link a:hover .svg .svg4c4948 {
                fill: #FFF; } } */
  @media screen and (max-width: 768px) {
    #Footer {
      font-size: 11px;
      /* legacy */
      font-size: 2.93333vw;
      line-height: 2.27273em;
      letter-spacing: 0.1em;
      padding: calc(100/750*100vw) 0 calc(150/750*100vw); }
    }
      /* #Footer .ftNav {
        width: 100%;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        margin-left: 0px;
        margin-right: 0px;
        border-bottom: solid 1px #434343; }
        #Footer .ftNav .hotelInfo {
          padding-bottom: calc(70/750*100vw);
          width: auto; }
        #Footer .ftNav dl {
          -ms-flex-preferred-size: auto;
          flex-basis: auto; }
        #Footer .ftNav dl, #Footer .ftNav .hotelInfo {
          width: 100%;
          margin-left: 0px;
          margin-right: 0px; }
          #Footer .ftNav dl .hotelName .En, #Footer .ftNav .hotelInfo .hotelName .En {
            font-size: 20px;
            
            font-size: 5.33333vw;
            line-height: 1.25em;
            letter-spacing: 0.15em; }
          #Footer .ftNav dl .hotelName .Ja, #Footer .ftNav .hotelInfo .hotelName .Ja {
            font-size: 11px;
            
            font-size: 2.93333vw;
            line-height: 2.45455em;
            letter-spacing: 0.1em; }
          #Footer .ftNav dl > .text, #Footer .ftNav .hotelInfo > .text {
            margin-top: calc(20/750*100vw);
            font-size: 11px;
            
            font-size: 2.93333vw;
            line-height: 2.27273em;
            letter-spacing: 0.1em; }
            #Footer .ftNav dl > .text a, #Footer .ftNav .hotelInfo > .text a {
              cursor: pointer; }
          #Footer .ftNav dl dt, #Footer .ftNav .hotelInfo dt {
            color: #FFF;
            border-top: solid 1px #434343;
            padding: calc(31/750*100vw) 0;
            margin-bottom: 0;
            cursor: pointer;
            position: relative; }
            #Footer .ftNav dl dt .En, #Footer .ftNav .hotelInfo dt .En {
              font-size: 14px;
              
              font-size: 3.73333vw;
              line-height: 1em;
              letter-spacing: 0.15em;
              margin-bottom: calc(10/750*100vw); }
            #Footer .ftNav dl dt .Ja, #Footer .ftNav .hotelInfo dt .Ja {
              line-height: 1; }
            #Footer .ftNav dl dt::before, #Footer .ftNav .hotelInfo dt::before {
              content: '\FF0B';
              position: absolute;
              top: calc(50% - 0.5em);
              right: calc(10/750*100vw);
              line-height: 1;
              font-size: calc(25/750*100vw); }
            #Footer .ftNav dl dt.activeSP::before, #Footer .ftNav .hotelInfo dt.activeSP::before {
              content: '\FF0D'; }
          #Footer .ftNav dl > ul > li, #Footer .ftNav .hotelInfo > ul > li {
            border-top: solid 1px #434343;
            padding: calc(30/750*100vw) 0;
            margin-bottom: 0; }
            #Footer .ftNav dl > ul > li:first-child, #Footer .ftNav .hotelInfo > ul > li:first-child {
              border-top: solid 1px #434343;
              padding: calc(30/750*100vw) 0; }
            #Footer .ftNav dl > ul > li .En, #Footer .ftNav .hotelInfo > ul > li .En {
              font-size: 14px;
              
              font-size: 3.73333vw;
              line-height: 1em;
              letter-spacing: 0.15em;
              margin-bottom: calc(10/750*100vw); }
            #Footer .ftNav dl > ul > li .Ja, #Footer .ftNav .hotelInfo > ul > li .Ja {
              line-height: 1; }
          #Footer .ftNav dl dd, #Footer .ftNav .hotelInfo dd {
            display: none;
            padding: calc(0/750*100vw) 0 calc(14/750*100vw); }
            #Footer .ftNav dl dd ul li + li, #Footer .ftNav .hotelInfo dd ul li + li {
              margin-top: 0; }
            #Footer .ftNav dl dd ul li a, #Footer .ftNav .hotelInfo dd ul li a {
              font-size: 11px;
              
              font-size: 2.93333vw;
              line-height: 1em;
              letter-spacing: 0.1em;
              padding: calc(19/750*100vw) 0; }
      #Footer .ftSub {
        margin-top: calc(90/750*100vw);
        margin-left: 0;
        margin-right: 0;
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        text-align: center; }
        #Footer .ftSub .ftSubNav {
          font-size: 10px;
          
          font-size: 2.66667vw;
          line-height: 1em;
          letter-spacing: 0.1em;
          -ms-flex-wrap: wrap;
          flex-wrap: wrap;
          -webkit-box-pack: center;
          -ms-flex-pack: center;
          justify-content: center; }
          #Footer .ftSub .ftSubNav li {
            border-left: none;
            border-right: solid 1px #999797;
            margin: 0.5em 0; }
            #Footer .ftSub .ftSubNav li a {
              padding-left: 0.8em;
              padding-right: 0.8em; }
            #Footer .ftSub .ftSubNav li:first-child a {
              padding-left: 0.8em; }
            #Footer .ftSub .ftSubNav li:last-child {
              border-right: none; }
        #Footer .ftSub .copyright {
          -webkit-box-ordinal-group: 2;
          -ms-flex-order: 1;
          order: 1;
          margin-top: 2em;
          font-size: 10px;
          
          font-size: 2.66667vw;
          line-height: 1.7em;
          letter-spacing: 0.1em; }
        #Footer .ftSub .link {
          margin-left: auto;
          margin-right: auto;
          margin-bottom: calc(75/750*100vw); }
          #Footer .ftSub .link a {
            display: block;
            width: 38.93333vw;
            height: auto;
            text-align: center;
            font-size: 13px;
            
            font-size: 3.46667vw;
            line-height: 1em;
            letter-spacing: 0.15em;
            line-height: 1;
            padding: calc(30/750*100vw); }
            #Footer .ftSub .link a .svg:after {
              display: inline-block;
              width: 3.2vw;
              height: 3.2vw;
              background-size: cover;
              margin-left: 10px; }
            #Footer .ftSub .link a:hover {
              background-color: #4c4948; } */
      /* #Footer #SPfixBtn {
        display: none!important;
          position: fixed;
          z-index: 100;
          left: 0;
          bottom: 0;
          width: 100vw;
          height: 14.66667vw;
          background: #040000;
          font-size: 12.5px;
          
          font-size: 3.33333vw;
          line-height: 1em;
          letter-spacing: 0.08em; }
      }
        #Footer #SPfixBtn ul {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-pack: justify;
          -ms-flex-pack: justify;
          justify-content: space-between;
          -webkit-box-align: center;
          -ms-flex-align: center;
          align-items: center;
          text-align: center;
          width: 100vw;
          height: 100%; }
          #Footer #SPfixBtn ul li {
            width: calc(100vw/2);
            height: 100%;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-pack: center;
            -ms-flex-pack: center;
            justify-content: center;
            -webkit-box-align: center;
            -ms-flex-align: center;
            align-items: center;
            border-left: solid 1px #FFF; }
            #Footer #SPfixBtn ul li:first-child {
              border-left: none; }
            #Footer #SPfixBtn ul li a {
              display: block;
              font-weight: bold;
              color: #FFF; }
              #Footer #SPfixBtn ul li a img{
                width: 80%;
                margin: 0 auto;
              }
              #Footer #SPfixBtn ul li a span {
                display: block; }
            #Footer #SPfixBtn ul li.reserve .En {
              font-weight: 300;
              padding-top: 3px; }
            #Footer #SPfixBtn ul li.reserve .Ja {
              font-weight: bold; }
            #Footer #SPfixBtn ul li.restaurant .Ja {
              font-weight: bold;
              line-height: 1.3; } */

/*------------------------------------------- SideCopy */
#SideCopy {
  position: fixed;
  z-index: 1000;
  top: 0;
  left: 35px;
  width: 1em;
  height: 100vh;
  text-align: center;
}
  #SideCopy p {
    height: 100%;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    -webkit-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    transform: rotate(180deg);
    font-size: 12px;
    line-height: 1em;
    letter-spacing: 0.15em;
    line-height: 20px;
    color: #040000;
    -webkit-transition: all .3s ease-out;
    -o-transition: all .3s ease-out;
    transition: all .3s ease-out;
    padding-bottom: 140px;
  }

  @media screen and (max-width: 768px) {
    #SideCopy {
      position: absolute;
      width: 100vw;
      left: 0;
      pointer-events: none; }
      #SideCopy p {
        position: absolute;
        top: 0;
        left: 0;
        font-size: 9px;
        /* legacy */
        font-size: 2.4vw;
        line-height: 1em;
        letter-spacing: 0.2em;
        line-height: calc(70/750*100vw);
        padding-bottom: calc(210/750*100vw);
        text-align: right; }
      #SideCopy::before {
        content: '';
        display: block;
        position: absolute;
        top: calc(42/750*100vw);
        right: 0;
        width: 100vw;
        height: calc(90/750*100vw); } }

.sideColor #SideCopy p {
  color: #FFF; }

/*-------------------------------------------> PageTop */
#PageTop {
  position: fixed;
  z-index: 100;
  left: 50%;
  bottom: 35px;
  width: 70px;
  height: 70px;
  margin-left: 470px;
  opacity: 0;
  pointer-events: none;
  -webkit-transition: all .15s ease-out;
  -o-transition: all .15s ease-out;
  transition: all .15s ease-out; }
  @media screen and (max-width: 768px) {
    #PageTop {
      width: 100px;
      height: 100px;
      left: auto;
      right: 35px;
      margin-left: 0; } }

.Scroll #PageTop {
  opacity: 0.5;
  pointer-events: auto; }
  @media screen and (min-width: 769px) {
    .Scroll #PageTop:hover {
      opacity: 1; } }

/*-------------------------------------------> PageNavi */
#PageNavi {
  margin-top: 50px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }
  #PageNavi > div {
    margin: 0 3px; }
    #PageNavi > div a, #PageNavi > div span {
      position: relative;
      display: block;
      width: 109px;
      height: 40px;
      font-size: 12px;
      line-height: 1em;
      letter-spacing: 0.3em;
      line-height: 40px;
      text-align: center; }
    #PageNavi > div span {
      background: #f7f7f7;
      color: #FFF; }
    #PageNavi > div a {
      color: #FFF; }
      #PageNavi > div a::after {
        position: absolute;
        top: 50%;
        display: block;
        content: '';
        width: 8px;
        height: 8px;
        border-top: solid 1px #FFF;
        -webkit-transition: all .15s ease-out;
        -o-transition: all .15s ease-out;
        transition: all .15s ease-out; }
    #PageNavi > div.prev a {
      background: #FFFFFF; }
      #PageNavi > div.prev a:after {
        left: 12px;
        border-left: solid 1px #FFF;
        -webkit-transform: translateY(-4px) rotate(-45deg);
        -ms-transform: translateY(-4px) rotate(-45deg);
        transform: translateY(-4px) rotate(-45deg); }
      @media screen and (min-width: 769px) {
        #PageNavi > div.prev a {
          -webkit-transition: all .15s ease-out;
          -o-transition: all .15s ease-out;
          transition: all .15s ease-out; }
          #PageNavi > div.prev a:hover {
            background: #4c4948; }
            #PageNavi > div.prev a:hover::after {
              left: 7px; } }
    #PageNavi > div.next a {
      background: #FFFFFF; }
      #PageNavi > div.next a:after {
        right: 12px;
        border-right: solid 1px #FFF;
        -webkit-transform: translateY(-4px) rotate(45deg);
        -ms-transform: translateY(-4px) rotate(45deg);
        transform: translateY(-4px) rotate(45deg); }
      @media screen and (min-width: 769px) {
        #PageNavi > div.next a {
          -webkit-transition: all .15s ease-out;
          -o-transition: all .15s ease-out;
          transition: all .15s ease-out; }
          #PageNavi > div.next a:hover {
            background: #4c4948; }
            #PageNavi > div.next a:hover::after {
              right: 7px; } }

/*-------------------------------------------> Loading */
#Loading {
  display: none;
  position: fixed;
  z-index: 9999;
  top: 0;
  left: 0;
  background-color: #FFFFFF;
  width: 100%;
  height: 100%; }
  #Loading .Loading-wrap {
    width: 100%;
    height: 100%;
    position: relative; }
    #Loading .Loading-wrap .loader {
      position: absolute;
      top: calc(50% - 35px);
      left: calc(50% - 135px);
      width: 270px;
      height: 70px; }
      #Loading .Loading-wrap .loader .svg .svgWhite {
        fill: #FFF; }
      @media screen and (max-width: 768px) {
        #Loading .Loading-wrap .loader {
          top: calc(50% - 35/750*100vw);
          left: calc(50% - 135/750*100vw);
          width: 36vw;
          height: 9.33333vw; }
          #Loading .Loading-wrap .loader .svg {
            width: 100%;
            height: auto; } }

/*-------------------------------------------> Modal Colose Button */
/*-------------------------------------------> keyframes */
/*-------------------------------------------> plugin style */
/* Slick */
.fadeSlide .slide img {
  width: 100%;
  height: auto; }

.fadeSlide .slick-arrow {
  text-indent: -9999px;
  width: 40px;
  height: 40px;
  background-position: left top;
  background-repeat: no-repeat;
  position: absolute;
  top: calc(50% - 20px);
  z-index: 10;
  cursor: pointer; }
  @media screen and (max-width: 768px) {
    .fadeSlide .slick-arrow {
      width: 8vw;
      height: 8vw;
      top: calc(50% - (30/750*100vw)); } }

.fadeSlide .slick-prev {
  left: 0;
  background-image: url(https://www.hotelsetre.com/_assets/images/svg/slick_prev.svg);
  background-size: 100% 100%; }

.fadeSlide .slick-next {
  right: 0;
  background-image: url(https://www.hotelsetre.com/_assets/images/svg/slick_next.svg);
  background-size: 100% 100%; }

.slick-slider {
  position: relative;
  display: block;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0; }
  .slick-list:focus {
    outline: none; }
  .slick-list.dragging {
    cursor: pointer;
    cursor: hand; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto; }
  .slick-track:before, .slick-track:after {
    content: "";
    display: table; }
  .slick-track:after {
    clear: both; }
  .slick-loading .slick-track {
    visibility: hidden; }

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none; }
  [dir="rtl"] .slick-slide {
    float: right; }
  .slick-slide img {
    display: block; }
  .slick-slide.slick-loading img {
    display: none; }
  .slick-slide.dragging img {
    pointer-events: none; }
  .slick-initialized .slick-slide {
    display: block; }
  .slick-loading .slick-slide {
    visibility: hidden; }
  .slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

/* Dots */
.slick-dots {
  position: absolute;
  bottom: -25px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%; }
  .slick-dots li {
    position: relative;
    display: inline-block;
    height: 8px;
    width: 8px;
    margin: 0 5px;
    padding: 0;
    cursor: pointer; }
    .slick-dots li button {
      border: 0;
      background: transparent;
      display: block;
      height: 8px;
      width: 8px;
      outline: none;
      line-height: 0px;
      font-size: 0px;
      color: transparent;
      padding: 5px;
      cursor: pointer; }
      .slick-dots li button:hover, .slick-dots li button:focus {
        outline: none; }
        .slick-dots li button:hover:before, .slick-dots li button:focus:before {
          opacity: 1; }
      .slick-dots li button:before {
        position: absolute;
        top: 0;
        left: 0;
        content: "•";
        text-indent: -9999px;
        width: 8px;
        height: 8px;
        border-radius: 4px;
        background-color: #4c4948;
        font-family: "slick";
        font-size: 6px;
        line-height: 8px;
        text-align: center;
        color: #4c4948;
        opacity: 0.25;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale; }
    .slick-dots li.slick-active button:before {
      color: #4c4948;
      opacity: 0.75; }

@media screen and (max-width: 768px) {
  .slick-dotted.slick-slider {
    margin-bottom: 20px; }
  .slick-dots {
    bottom: -20px; }
    .slick-dots li {
      height: 6px;
      width: 6px;
      margin: 0 3px; }
      .slick-dots li button {
        height: 6px;
        width: 6px;
        padding: 0px; }
        .slick-dots li button:before {
          width: 6px;
          height: 6px;
          border-radius: 3px;
          line-height: 6px; } }

/*--------------------------------------------------------------- */
/* 全体で使用する module style を記述
/*--------------------------------------------------------------- */
.clearfix:after {
  content: "";
  display: block;
  clear: both; }

/*-------------------------------------------> hotel color */
.t_maiko {
  color: #68b9b7 !important; }

.t_biwako {
  color: #94bae3 !important; }

.t_himeji {
  color: #9ebb00 !important; }

.t_nagasaki {
  color: #ee7b47 !important; }

.t_naramachi {
  color: #b34c59 !important; }

.t_all {
  color: #ac9e89; }

.b_maiko {
  background-color: #68b9b7 !important; }

.b_biwako {
  background-color: #94bae3 !important; }

.b_himeji {
  background-color: #9ebb00 !important; }

.b_nagasaki {
  background-color: #ee7b47 !important; }

.b_naramachi {
  background-color: #b34c59 !important; }

.b_all {
  background-color: #ac9e89 !important; }

/*-------------------------------------------> title module */
.mod_contentsTitle {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  font-size: 20px;
  line-height: 1.75em;
  letter-spacing: 0.15em;
  font-weight: 300;
  color: #040000;
  padding-bottom: 13px;
  padding-bottom: 6px;
  border-bottom: solid 1px #cccbcb; }
  .mod_contentsTitle .En {
    font-size: 24px;
    line-height: 1.75em;
    letter-spacing: 0.1em;
    font-weight: 300; }
  .mod_contentsTitle .subText {
    text-align: right;
    font-size: 14px;
    line-height: 1.85714em;
    letter-spacing: 0.08em; }
  @media screen and (max-width: 768px) {
    .mod_contentsTitle {
      font-size: 18px;
      /* legacy */
      font-size: 4.8vw;
      line-height: 1.75em;
      letter-spacing: 0.1em;
      padding-bottom: 0; }
      .mod_contentsTitle .En {
        font-size: 18px;
        /* legacy */
        font-size: 4.8vw;
        line-height: 1.75em;
        letter-spacing: 0.1em; }
      .mod_contentsTitle .subText {
        font-size: 11px;
        /* legacy */
        font-size: 2.93333vw;
        line-height: 2.09091em;
        letter-spacing: 0.08em; } }

.mod_pageTitle {
  text-align: center; }
  .mod_pageTitle span {
    display: block; }
  .mod_pageTitle .En {
    position: relative;
    font-size: 28px;
    line-height: 1em;
    letter-spacing: 0.1em;
    font-weight: 300;
    margin-bottom: 12px; }
    .mod_pageTitle .En::after {
      content: '';
      display: block;
      position: absolute;
      width: 30px;
      height: 2px;
      background: #040000;
      left: calc(50% - 15px);
      bottom: -7px; }
  .mod_pageTitle .Ja {
    font-size: 12px;
    line-height: 1em;
    letter-spacing: 0.08em;
    font-weight: normal; }
  @media screen and (max-width: 768px) {
    .mod_pageTitle .En {
      font-size: 19px;
      /* legacy */
      font-size: 5.06667vw;
      line-height: 1em;
      letter-spacing: 0.1em;
      margin-bottom: calc(30/750*100vw); }
      .mod_pageTitle .En::after {
        height: 8vw;
        height: 2px;
        left: calc(50% - (30/750*100vw));
        bottom: calc(-20/750*100vw); }
    .mod_pageTitle .Ja {
      font-size: 11px;
      /* legacy */
      font-size: 2.93333vw;
      line-height: 1em;
      letter-spacing: 0.08em; } }

.mod_headCopy {
  text-align: center;
  font-size: 20px;
  line-height: 1.8em;
  letter-spacing: 0.2em;
  font-weight: normal;
  color: #040000;
  margin-top: 30px;
  margin-bottom: 45px; }
  @media screen and (max-width: 768px) {
    .mod_headCopy {
      font-size: 13px;
      /* legacy */
      font-size: 3.46667vw;
      line-height: 1.69231em;
      letter-spacing: 0.2em;
      margin-top: calc(30/750*100vw);
      margin-bottom: calc(30/750*100vw); } }

.mod_sectionTitle {
  font-size: 24px;
  line-height: 1em;
  letter-spacing: 0.1em;
  font-weight: 300;
  color: #040000;
  padding-bottom: 10px;
  border-bottom: solid 1px #040000;
  margin-bottom: 30px; }
  @media screen and (max-width: 768px) {
    .mod_sectionTitle {
      font-size: 17px;
      /* legacy */
      font-size: 4.53333vw;
      line-height: 1.75em;
      letter-spacing: 0.1em;
      padding-bottom: 0;
      margin-bottom: calc(30/750*100vw); } }

.mod_price {
  font-size: 18px;
  line-height: 1.33333em;
  letter-spacing: 0.08em;
  font-weight: bold;
  color: #040000; }
  .mod_price .tax {
    font-size: 55%;
    font-weight: normal; }
  @media screen and (max-width: 768px) {
    .mod_price {
      font-size: 14px;
      /* legacy */
      font-size: 3.73333vw;
      line-height: 1.35714em;
      letter-spacing: 0.08em; }
      .mod_price .tax {
        font-size: 64%; } }

/*-------------------------------------------> button module */
a .btn_more_line {
  display: inline-block;
  position: relative;
  font-size: 12px;
  line-height: 1em;
  letter-spacing: 0.25em;
  font-weight: 400; }
  a .btn_more_line::after {
    content: '';
    width: 40px;
    height: 2px;
    background-color: #4c4948;
    position: absolute;
    left: 0;
    bottom: -10px; }
  @media screen and (max-width: 768px) {
    a .btn_more_line {
      font-size: 11px;
      /* legacy */
      font-size: 2.93333vw;
      line-height: 1em;
      letter-spacing: 0.3em; }
      a .btn_more_line::after {
        width: calc(52/750*100vw);
        height: 2px;
        bottom: calc(-20/750*100vw); } }

a .mod_linkPDF {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  height: 80px;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border: solid 4px #cccbcb;
  position: relative;
  font-size: 20px;
  line-height: 1em;
  letter-spacing: 0.1em;
  color: #040000;
  background: #FFF;
  text-align: center;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }
  a .mod_linkPDF span {
    display: block;
    position: absolute;
    top: 50%;
    right: 20px;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    line-height: 1; }
    a .mod_linkPDF span .svg {
      width: 30px;
      height: 40px; }
      a .mod_linkPDF span .svg .svgWhite {
        fill: #040000; }
  @media screen and (max-width: 768px) {
    a .mod_linkPDF {
      height: 13.33333vw;
      border: solid 2px #cccbcb;
      font-size: 15px;
      /* legacy */
      font-size: 4vw;
      line-height: 1em;
      letter-spacing: 0.1em; }
      a .mod_linkPDF span {
        right: calc(20/750*100vw); }
        a .mod_linkPDF span .svg {
          width: 5.86667vw;
          height: auto; } }

@media screen and (min-width: 769px) {
  a .btn_more_line::after {
    -webkit-transition: all 0.15s cubic-bezier(0.5, 0.3, 0, 1);
    -o-transition: all 0.15s cubic-bezier(0.5, 0.3, 0, 1);
    transition: all 0.15s cubic-bezier(0.5, 0.3, 0, 1); }
  a .mod_linkPDF {
    -webkit-transition: all .15s ease-out;
    -o-transition: all .15s ease-out;
    transition: all .15s ease-out; }
    a .mod_linkPDF .svg .svgWhite {
      -webkit-transition: all .15s ease-out;
      -o-transition: all .15s ease-out;
      transition: all .15s ease-out; }
  a:hover .btn_more_line::after {
    width: 100%; }
  a:hover .mod_linkPDF {
    border: solid 4px #cccbcb;
    background: #cccbcb;
    color: #FFF; }
    a:hover .mod_linkPDF .svg .svgWhite {
      fill: #FFF; } }

.mod_btnBlack {
  text-align: center; }
  .mod_btnBlack a {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background: #040000;
    color: #FFF;
    border: solid 1px #040000; }
    @media screen and (min-width: 769px) {
      .mod_btnBlack a {
        -webkit-transition: all .3s ease-out;
        -o-transition: all .3s ease-out;
        transition: all .3s ease-out; }
        .mod_btnBlack a:hover {
          background: #FFF;
          color: #040000; } }

.mod_btnLinkArrow a {
  position: relative;
  display: block;
  text-align: center;
  background: #FFF;
  color: #4c4948;
  border: solid 1px #4c4948; }
  .mod_btnLinkArrow a::after {
    content: '';
    display: block;
    width: 0.5em;
    height: 0.5em;
    border-top: solid 1px #4c4948;
    border-right: solid 1px #4c4948;
    -webkit-transform: rotate(45deg) translateX(-50%);
    -ms-transform: rotate(45deg) translateX(-50%);
    transform: rotate(45deg) translateX(-50%);
    position: absolute;
    top: 50%;
    right: 10px;
    pointer-events: none; }
  @media screen and (min-width: 769px) {
    .mod_btnLinkArrow a {
      -webkit-transition: all .3s ease-out;
      -o-transition: all .3s ease-out;
      transition: all .3s ease-out; }
      .mod_btnLinkArrow a:hover {
        background: #4c4948;
        color: #FFF; }
        .mod_btnLinkArrow a:hover::after {
          -webkit-transition: all .3s ease-out;
          -o-transition: all .3s ease-out;
          transition: all .3s ease-out;
          border-top: solid 1px #FFF;
          border-right: solid 1px #FFF;
          right: 5px; } }

.mod_linkBlank a {
  position: relative;
  display: block;
  background: #040000;
  color: #FFF;
  text-align: center;
  font-size: 12px;
  line-height: 1.66667em;
  letter-spacing: 0.1em;
  line-height: 30px; }
  .mod_linkBlank a span {
    display: block;
    position: absolute;
    top: calc(50% - 6px);
    right: 10px;
    width: 12px;
    height: 12px;
    line-height: 1;
    pointer-events: none; }
    .mod_linkBlank a span .svg .svg4c4948 {
      fill: #FFF; }
  @media screen and (max-width: 768px) {
    .mod_linkBlank a {
      font-size: 10px;
      /* legacy */
      font-size: 2.66667vw;
      line-height: 1em;
      letter-spacing: 0.1em;
      line-height: calc(50/750*100vw);
      text-align: left;
      padding-left: 7px; }
      .mod_linkBlank a span {
        top: calc(50%);
        right: 7px;
        width: 2.66667vw;
        height: 2.66667vw;
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%); } }
  @media screen and (min-width: 769px) {
    .mod_linkBlank a {
      -webkit-transition: all .3s ease-out;
      -o-transition: all .3s ease-out;
      transition: all .3s ease-out; } }

.mod_anchorLink ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  border: solid 1px #cccbcb; }
  .mod_anchorLink ul li {
    border-left: solid 1px #cccbcb;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1; }
    .mod_anchorLink ul li:first-child {
      border-left: none; }
    .mod_anchorLink ul li a {
      display: block;
      width: 100%;
      font-size: 16px;
      line-height: 1em;
      letter-spacing: 0.1em;
      line-height: 40px;
      text-align: center; }
      @media screen and (min-width: 769px) {
        .mod_anchorLink ul li a {
          -webkit-transition: all .3s ease-out;
          -o-transition: all .3s ease-out;
          transition: all .3s ease-out; }
          .mod_anchorLink ul li a:hover {
            background: #040000;
            color: #FFF; } }

/*-------------------------------------------> flex module */
.flex_alignMiddle {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }

.flex_alignBottom {
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end; }

@media screen and (max-width: 768px) {
  .flex_spColumn {
    display: block !important; } }

@media screen and (max-width: 768px) {
  .flex_spReverse {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: reverse !important;
    -ms-flex-direction: column-reverse !important;
    flex-direction: column-reverse !important; } }

/*-------------------------------------------> block module */
.mod_2column {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 100%; }

.mod_3column {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 100%; }
  .mod_3column .block {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    margin-left: 28px; }
    .mod_3column .block:first-child {
      margin-left: 0; }
    @media screen and (max-width: 768px) {
      .mod_3column .block {
        margin-left: 0;
        margin-top: calc(60/750*100vw); }
        .mod_3column .block:first-child {
          margin-top: 0; } }

/*-------------------------------------------> list module */
.mod_listDot {
  margin-left: 1em; }
  .mod_listDot li {
    text-indent: -1em; }
    .mod_listDot li::before {
      content: '\25CF'; }

/*-------------------------------------------> animation module */
.anim-fadeInUp {
  opacity: 0;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
  -webkit-animation-timing-function: cubic-bezier(0.5, 0.3, 0, 1);
  animation-timing-function: cubic-bezier(0.5, 0.3, 0, 1);
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }
  @media screen and (max-width: 768px) {
    .anim-fadeInUp {
      -webkit-animation-timing-function: ease-out;
      animation-timing-function: ease-out; } }
  .anim-fadeInUp.inView {
    -webkit-animation-name: fadeInUp;
    animation-name: fadeInUp; }

.anim-fadeInUpMask {
  visibility: hidden;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
  -webkit-animation-timing-function: cubic-bezier(0.5, 0.3, 0, 1);
  animation-timing-function: cubic-bezier(0.5, 0.3, 0, 1);
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }
  @media screen and (max-width: 768px) {
    .anim-fadeInUpMask {
      -webkit-animation-timing-function: ease-out;
      animation-timing-function: ease-out; } }
  .anim-fadeInUpMask.inView {
    visibility: visible;
    -webkit-animation-name: fadeInUp;
    animation-name: fadeInUp; }

.anim-InUpMask {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
  -webkit-animation-timing-function: cubic-bezier(0.5, 0.3, 0, 1);
  animation-timing-function: cubic-bezier(0.5, 0.3, 0, 1);
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }
  @media screen and (max-width: 768px) {
    .anim-InUpMask {
      -webkit-animation-timing-function: ease-out;
      animation-timing-function: ease-out; } }
  .anim-InUpMask.inView {
    -webkit-animation-name: InUp;
    animation-name: InUp; }

.anim-fadeInSlide {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
  -webkit-animation-timing-function: cubic-bezier(0.5, 0.3, 0, 1);
  animation-timing-function: cubic-bezier(0.5, 0.3, 0, 1);
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }
  .anim-fadeInSlide.inView {
    -webkit-animation-name: fadeInSlide;
    animation-name: fadeInSlide; }

.anim-fadeIn {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
  -webkit-animation-timing-function: cubic-bezier(0.5, 0.3, 0, 1);
  animation-timing-function: cubic-bezier(0.5, 0.3, 0, 1);
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }
  .anim-fadeIn.inView {
    -webkit-animation-name: fadeIn;
    animation-name: fadeIn; }

.anim-blur {
  opacity: 0;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
  -webkit-animation-timing-function: cubic-bezier(0.5, 0.3, 0, 1);
  animation-timing-function: cubic-bezier(0.5, 0.3, 0, 1);
  -webkit-animation-delay: 0;
  animation-delay: 0;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }
  .anim-blur.inView {
    -webkit-animation-name: blur;
    animation-name: blur; }

/*-------------------------------------------> keyframe */
@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 25%, 0);
    transform: translate3d(0, 25%, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }
@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 25%, 0);
    transform: translate3d(0, 25%, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

@-webkit-keyframes InUp {
  from {
    -webkit-transform: translate3d(0, 25%, 0);
    transform: translate3d(0, 25%, 0); }
  to {
    -webkit-transform: none;
    transform: none; } }

@keyframes InUp {
  from {
    -webkit-transform: translate3d(0, 25%, 0);
    transform: translate3d(0, 25%, 0); }
  to {
    -webkit-transform: none;
    transform: none; } }

@-webkit-keyframes fadeInSlide {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-10%, 0, 0);
    transform: translate3d(-10%, 0, 0); }
  to {
    opacity: 1; } }

@keyframes fadeInSlide {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-10%, 0, 0);
    transform: translate3d(-10%, 0, 0); }
  to {
    opacity: 1; } }

@-webkit-keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@-webkit-keyframes blur {
  from {
    opacity: 0;
    -webkit-filter: blur(20px);
    filter: blur(20px);
    -webkit-transform: scale(0.9);
    transform: scale(0.9); }
  to {
    opacity: 1;
    -webkit-filter: blur(0);
    filter: blur(0);
    -webkit-transform: scale(1);
    transform: scale(1); } }

@keyframes blur {
  from {
    opacity: 0;
    -webkit-filter: blur(20px);
    filter: blur(20px);
    -webkit-transform: scale(0.9);
    transform: scale(0.9); }
  to {
    opacity: 1;
    -webkit-filter: blur(0);
    filter: blur(0);
    -webkit-transform: scale(1);
    transform: scale(1); } }

@-webkit-keyframes header {
  from {
    top: -95px;
    opacity: 0; }
  to {
    top: 0px;
    opacity: 1; } }

@keyframes header {
  from {
    top: -95px;
    opacity: 0; }
  to {
    top: 0px;
    opacity: 1; } }

@-webkit-keyframes increase {
  0% {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1); }
  100% {
    -webkit-transform: scale(1.1, 1.1);
    transform: scale(1.1, 1.1); } }

@keyframes increase {
  0% {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1); }
  100% {
    -webkit-transform: scale(1.1, 1.1);
    transform: scale(1.1, 1.1); } }

@-webkit-keyframes scrollLine_pc {
  from {
    background-position: 0 -50px; }
  to {
    background-position: 0 50px; } }

@keyframes scrollLine_pc {
  from {
    background-position: 0 -50px; }
  to {
    background-position: 0 50px; } }

@-webkit-keyframes scrollLine_sp {
  from {
    background-position: 0 calc(60/750*-100vw); }
  to {
    background-position: 0 calc(60/750*100vw); } }

@keyframes scrollLine_sp {
  from {
    background-position: 0 calc(60/750*-100vw); }
  to {
    background-position: 0 calc(60/750*100vw); } }

/* 2020.09 add */
#image_movie {
  text-align: center;
  margin: 0;
}
#image_movie .mod_headCopy {
  font-size: 18px;
  margin-top: 20px;
  margin-bottom: 0;
}
@media screen and (max-width: 768px) {
  #image_movie .rest_movie {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 56.25%;
    overflow: hidden;
  }
  #image_movie .rest_movie {
    margin-top: 5vw;
  }
  #image_movie .rest_movie iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  #image_movie .mod_headCopy {
    font-size: 2.8vw;
    margin-bottom: 0;
  }
}

/* 2020.12 add */

.meter{
  margin-bottom: 10rem;
  border: solid 3px #fb0f0f;
  padding: 20px;
}

.meter h2{
  font-size: 24px;
  font-weight: bold;
}

.meter p{
  font-size: 1.5rem !important;
  margin-bottom: 0 !important;
  line-height: 9px !important;
  text-align: center;
}

.meter_info{
  text-align: right !important;
}

/* 2022.07 add home,stay*/
#homeBannerWide {
  text-align: center;
  margin-bottom: 45px;
}
#commonBannerWide {
  text-align: center;
  margin-top: 80px;
}
#homeBannerWide a,
#commonBannerWide a {
  display: inline-block;
  margin: 0 auto;
  transition: opacity .15s ease-out;
}
#homeBannerWide a:hover,
#commonBannerWide a:hover {
  opacity: 0.7;
}
#homeBannerWide a img,
#commonBannerWide a img {
  width: 100%;
  max-width: 800px;
}

@media screen and (max-width: 768px) {
  #homeBannerWide {
    margin-bottom: 8vw;
  }
  #homeBannerWide.inner {
    padding-right: calc(40/750*100vw);
    padding-left:  calc(40/750*100vw);
  }
  #commonBannerWide {
    margin-top: 12vw;
  }
  #commonBannerWide + #stayInfo {
    margin-top: 12vw;
  }
}
