/**
 * mixin.scss
 * @date 28 Nov 2016
 */
/* flex */
/*! normalize.css v4.1.1 | MIT License | github.com/necolas/normalize.css */
/**
 * 1. Change the default font family in all browsers (opinionated).
 * 2. Prevent adjustments of font size after orientation changes in IE and iOS.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

/**
 * Remove the margin in all browsers (opinionated).
 */
body {
  margin: 0;
}

/* HTML5 display definitions
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 * 2. Add the correct display in IE.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
  /* 1 */
  display: block;
}

/**
 * Add the correct display in IE 9-.
 */
audio,
canvas,
progress,
video {
  display: inline-block;
}

/**
 * Add the correct display in iOS 4-7.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Add the correct display in IE 10-.
 * 1. Add the correct display in IE.
 */
template,
[hidden] {
  display: none;
}

/* Links
   ========================================================================== */
/**
 * 1. Remove the gray background on active links in IE 10.
 * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
 */
a {
  background-color: transparent;
  /* 1 */
  -webkit-text-decoration-skip: objects;
  /* 2 */
}

/**
 * Remove the outline on focused links when they are also active or hovered
 * in all browsers (opinionated).
 */
a:active,
a:hover {
  outline-width: 0;
}

/* Text-level semantics
   ========================================================================== */
/**
 * 1. Remove the bottom border in Firefox 39-.
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  text-decoration: underline dotted;
  /* 2 */
}

/**
 * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
 */
b,
strong {
  font-weight: inherit;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * Add the correct font style in Android 4.3-.
 */
dfn {
  font-style: italic;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/**
 * Add the correct background and color in IE 9-.
 */
mark {
  background-color: #ff0;
  color: #000;
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10-.
 */
img {
  border-style: none;
}

/**
 * Hide the overflow in IE.
 */
svg:not(:root) {
  overflow: hidden;
}

/* Grouping content
   ========================================================================== */
/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/**
 * Add the correct margin in IE 8.
 */
figure {
  margin: 1em 40px;
}

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
}

/* Forms
   ========================================================================== */
/**
 * 1. Change font properties to `inherit` in all browsers (opinionated).
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
select,
textarea {
  font: inherit;
  /* 1 */
  margin: 0;
  /* 2 */
}

/**
 * Restore the font weight unset by the previous rule.
 */
optgroup {
  font-weight: bold;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none;
}

/**
 * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
 *    controls in Android 4.
 * 2. Correct the inability to style clickable types in iOS and Safari.
 */
button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Change the border, margin, and padding in all browsers (opinionated).
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */
}

/**
 * Remove the default vertical scrollbar in IE.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10-.
 * 2. Remove the padding in IE 10-.
 */
[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}

/**
 * Remove the inner padding and cancel buttons in Chrome and Safari on OS X.
 */
[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * Correct the text style of placeholders in Chrome, Edge, and Safari.
 */
::-webkit-input-placeholder {
  color: inherit;
  opacity: 0.54;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/* Custom Vars */
/**
 * Default styles
 * @date 28 Nov 2016
 */
html {
  font-size: 62.5%;
}

body {
  font-family: 'Lucida Grande', Arial, 'Meiryo', sans-serif;
  -moz-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  color: #333;
}
body:before {
  content: '';
  width: 100%;
  height: 100vh;
  background: url(../images/common/bg.png) no-repeat center top;
  display: block;
  position: fixed;
  left: 0;
  top: 0;
  z-index: -1;
}

a {
  color: #333;
  text-decoration: underline;
}
a:hover {
  text-decoration: none;
}

h1, h2, h3, h4, h5, h6, p, ul, ol, dl, table, figure, figcaption {
  padding: 0;
  margin: 0;
}

h1 {
  font-size: 3.8rem;
  line-height: 1.2;
  margin-bottom: 20px;
}

h2 {
  font-size: 2.4rem;
  line-height: 1.2;
  margin-bottom: 20px;
}

h3 {
  font-size: 2rem;
  line-height: 1.42;
  margin-bottom: 20px;
}

h4 {
  font-size: 1.8rem;
  line-height: 1.42;
  margin-bottom: 20px;
}

h5 {
  font-size: 1.6rem;
  line-height: 1.42;
  margin-bottom: 20px;
}

h6 {
  font-size: 1.4rem;
  line-height: 1.42;
  margin-bottom: 20px;
}

p {
  font-size: 1.4rem;
  line-height: 1.62;
  margin-bottom: 20px;
}

ul, ol {
  font-size: 1.4rem;
  line-height: 1.62;
  padding-left: 2rem;
  margin-bottom: 20px;
}

dl {
  font-size: 1.4rem;
  line-height: 1.572;
  margin-bottom: 20px;
}

dl dt {
  margin-bottom: 10px;
}

table {
  font-size: 1.3rem;
  line-height: 1.42;
  margin-bottom: 20px;
}

figure {
  margin-bottom: 20px;
}

figcaption {
  font-size: 1.4rem;
  line-height: 1.42;
  margin: 5px 0;
}

img {
  max-width: 100%;
  vertical-align: bottom;
}

hr {
  border: none;
  margin: 40px auto;
  clear: both;
}

@media screen and (max-width: 768px) {
  body {
    background: none;
  }
}
/* Font face */
@font-face {
  font-family: 'Trajan R';
  src: url("./fonts/TrajanPro-Regular.woff") format("woff");
}
.serif {
  font-family: 'Trajan R', serif;
  font-weight: normal;
}

/* Display for devices */
.pc {
  display: block;
}
.pc.inline {
  display: inline;
}

.smp {
  display: none;
}
.smp.inline {
  display: none;
}

@media screen and (max-width: 768px) {
  .pc {
    display: none;
  }
  .pc.inline {
    display: none;
  }

  .smp {
    display: block;
  }
  .smp.inline {
    display: inline;
  }
}
/* Container */
.container:before {
  content: '';
  width: 100%;
  height: 12px;
  background: url(../images/common/obi.png) repeat-x 0 0;
  -moz-background-size: 600px auto;
  -webkit-background-size: 600px auto;
  background-size: 600px auto;
  display: block;
}

/* Header */
.header {
  width: 960px;
  margin: 0 auto;
}
.header .message {
  font-size: 1.3rem;
  margin: 5px 0 20px;
}
.header .pc .inner {
  width: 100%;
  height: 70px;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-align-items: center;
  align-items: center;
}
.header .pc .inner a, .header .pc .inner a:hover {
  color: #333;
  text-decoration: none;
}
.header .pc .inner .logo {
  width: 580px;
  font-size: 3.4rem;
  font-family: 'Trajan R', serif;
  white-space: nowrap;
}
.header .pc .inner .language {
  width: 400px;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border: 1px solid #d5d5d5;
  border-radius: 200px;
  background: #ffffff;
  background: -moz-linear-gradient(top, #ffffff 0%, #eeeeee 100%);
  background: -webkit-linear-gradient(top, #ffffff 0%, #eeeeee 100%);
  background: linear-gradient(to bottom, #ffffff 0%, #eeeeee 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#eeeeee',GradientType=0 );
  box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.1);
  -moz-box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.1);
}
.header .pc .inner .language p {
  font-size: 1.2rem;
  line-height: 32px;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  margin: 0;
}
.header .pc .inner .language p a {
  margin: 0 10px;
}
.header .pc .inner .language p a:hover {
  text-decoration: underline;
}

@media screen and (max-width: 768px) {
  .header {
    width: 100%;
    overflow: hidden;
  }
  .header .message {
    display: none;
  }
  .header .smp a, .header .smp a:hover {
    color: #333;
    text-decoration: none;
  }
  .header .smp .inner {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-align-items: center;
    align-items: center;
    padding: 10px 0 5px;
  }
  .header .smp .inner .logo {
    -webkit-flex: 1;
    flex: 1;
  }
  .header .smp .inner .logo a {
    font-size: 2rem;
    font-family: 'Trajan R', serif;
    padding: 0 10px;
    display: block;
  }
  .header .smp .inner .btns a {
    width: 60px;
    height: 60px;
    text-align: left;
    text-indent: -9999px;
    white-space: nowrap;
    overflow: hidden;
    background: url(../images/common/btn-menu.png) no-repeat 0 0;
    -moz-background-size: 60px auto;
    -webkit-background-size: 60px auto;
    background-size: 60px auto;
    display: block;
  }
  .header .smp .inner .btns a.active {
    background-position: 0 -60px;
  }
  .header .smp .menu {
    background-color: #625e37;
  }
  .header .smp .menu ul {
    font-family: 'Trajan R', serif;
    list-style: none;
    padding: 0;
    padding: 20px;
    margin: 0;
  }
  .header .smp .menu ul li {
    border-top: 1px solid #787553;
  }
  .header .smp .menu ul li:first-child {
    border: none;
  }
  .header .smp .menu ul li a {
    color: #fff;
    background: url(../images/common/arrow-white.png) no-repeat right center;
    -moz-background-size: 13px auto;
    -webkit-background-size: 13px auto;
    background-size: 13px auto;
    padding: 6px 0;
    display: block;
  }
}
/* gNav */
.gnav {
  width: 960px;
  margin: 0 auto 40px;
}
.gnav ul {
  font-size: 1.7rem;
  font-family: 'Trajan R', serif;
  list-style: none;
  padding: 0;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  background: #989455;
  background: -moz-linear-gradient(top, #989455 0%, #625e37 100%);
  background: -webkit-linear-gradient(top, #989455 0%, #625e37 100%);
  background: linear-gradient(to bottom, #989455 0%, #625e37 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#989455', endColorstr='#625e37',GradientType=0 );
}
.gnav ul li a {
  color: #fff;
  text-decoration: none;
  padding: 20px 30px;
  position: relative;
  display: block;
}
.gnav ul li a:after {
  content: '';
  width: 100%;
  height: 8px;
  background-color: #b6b381;
  display: none;
  position: absolute;
  left: 0;
  bottom: 0;
}

.page-home .gnav ul li:nth-child(1) a:after,
.page-onsen .gnav ul li:nth-child(2) a:after,
.page-hotels .gnav ul li:nth-child(3) a:after,
.page-access .gnav ul li:nth-child(4) a:after,
.page-faq .gnav ul li:nth-child(5) a:after {
  display: block;
}

/* Page structure */
.contents {
  padding: 0 10px;
  margin: 0 auto;
}
.contents .maincol {
  width: 700px;
}
.contents .subcol {
  width: 220px;
}

.contents-maincol-subcol,
.contents-subcol-maincol {
  width: 960px;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}

.contents-subcol-maincol .maincol {
  -ms-flex-order: 1;
  -webkit-order: 1;
  order: 1;
}
.contents-subcol-maincol .subcol {
  -ms-flex-order: 0;
  -webkit-order: 0;
  order: 0;
}

@media screen and (max-width: 768px) {
  .contents-maincol-subcol,
  .contents-subcol-maincol {
    width: auto;
    display: block;
  }

  .contents-maincol-subcol .maincol,
  .contents-subcol-maincol .maincol {
    width: auto;
  }

  .contents-maincol-subcol .subcol,
  .contents-subcol-maincol .subcol {
    width: auto;
  }
}
/* Footer */
.footer {
  color: #fff;
  background: #362e2b url(../images/common/obi.png) repeat-x 0 0;
  padding: 40px 0;
}
.footer a, .footer a:hover {
  color: #fff;
}
.footer .arrow-contact {
  background-image: url(../images/common/icon-contact-w.png);
}
.footer .inner {
  width: 960px;
  padding: 40px 0;
  margin: 0 auto;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  border-bottom: 1px solid #544d4b;
}
.footer .nav ul {
  font-size: 1.3rem;
  list-style: none;
  padding: 0;
  margin: 0;
}
.footer .sitemap {
  width: 400px;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}
.footer .sitemap ul {
  width: 50%;
}
.footer .sitemap ul li a {
  padding-left: 16px;
  background: url(../images/common/arrow-white.png) no-repeat left center;
  -moz-background-size: 13px auto;
  -webkit-background-size: 13px auto;
  background-size: 13px auto;
}
.footer .sitemap ul.language li:first-child {
  margin-bottom: 5px;
}
.footer .info {
  width: 560px;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding-left: 40px;
  border-left: 1px solid #544d4b;
}
.footer .info .fig {
  width: 80px;
}
.footer .info .summary {
  width: 400px;
}
.footer .info .summary h2 {
  font-size: 1.8rem;
  margin-bottom: 10px;
}
.footer .info .summary p {
  font-size: 1.3rem;
  line-height: 1.42;
  margin: 10px 0 0;
}
.footer .copyright {
  text-align: center;
  margin: 20px 0;
}
.footer .btn-return {
  width: 60px;
  height: 60px;
  text-align: left;
  text-indent: -9999px;
  white-space: nowrap;
  overflow: hidden;
  background: url(../images/common/btn-return.png) no-repeat 0 0;
  -moz-background-size: 60px auto;
  -webkit-background-size: 60px auto;
  background-size: 60px auto;
  display: block;
  position: fixed;
  right: 20px;
  bottom: 20px;
}

@media screen and (max-width: 768px) {
  .footer {
    padding: 40px 10px 80px;
  }
  .footer .inner {
    width: auto;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: 40px 10px;
  }
  .footer .inner .sitemap {
    margin-bottom: 40px;
  }
  .footer .inner .sitemap ul:nth-child(1) {
    width: 60%;
  }
  .footer .inner .sitemap ul:nth-child(2) {
    width: 40%;
  }
  .footer .sitemap {
    width: 100%;
  }
  .footer .sitemap ul {
    width: 60%;
  }
  .footer .sitemap ul.language {
    width: 40%;
  }
  .footer .info {
    width: 100%;
    text-align: center;
    border: 1px solid red;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: 0;
    border: 0;
  }
  .footer .info .fig {
    width: 100%;
  }
  .footer .info .summary {
    width: 100%;
  }
  .footer .btn-return {
    width: 50px;
    height: 50px;
    -moz-background-size: 50px auto;
    -webkit-background-size: 50px auto;
    background-size: 50px auto;
    position: fixed;
    right: auto;
    left: 50%;
    bottom: 10px;
    transform: translateX(-50%);
  }
}
/* Common styles */
.center {
  text-align: center;
}

.clr {
  clear: both;
}

.clearfix {
  zoom: 1;
}
.clearfix:after {
  content: '';
  display: block;
  clear: both;
}

.breadcrumb {
  font-size: 1.4rem;
  line-height: 1.42;
  margin: 0 auto 40px;
}
.breadcrumb a:after {
  content: '>';
  display: inline-block;
  margin: 0 .4rem 0 1rem;
}

.attention {
  text-indent: -.8rem;
  padding-left: .8rem;
}

.attentions {
  list-style: none;
  padding: 0;
}
.attentions li {
  text-indent: -.8rem;
  padding-left: .8rem;
}

.arrow-contact {
  padding-left: 24px;
  background: url(../images/common/icon-contact.png) no-repeat 0 0;
  -moz-background-size: 22px auto;
  -webkit-background-size: 22px auto;
  background-size: 22px auto;
  display: inline-block;
}

@media screen and (max-width: 768px) {
  .breadcrumb {
    margin-top: 10px;
  }
}
/**
 * jquery.slideshow.css
 * @date 26 Aug 2016
 */
.slideshow-wrapper {
  position: relative;
  width: 600px;
}

.slideshow-viewport ul:before {
  content: '';
  padding-top: 62.5%;
  display: block;
}
.slideshow-viewport ul li {
  -moz-background-size: cover;
  -webkit-background-size: cover;
  background-size: cover;
}

.slideshow-controller {
  width: 100%;
  position: absolute;
  left: 0;
  top: 50%;
}
.slideshow-controller a {
  width: 40px;
  height: 40px;
  background-repeat: no-repeat;
  background-position: 0 0;
  -moz-background-size: 40px auto;
  -webkit-background-size: 40px auto;
  background-size: 40px auto;
  display: inline-block;
  position: absolute;
  top: 50%;
  margin-top: -20px;
}
.slideshow-controller a.slideshow-prev {
  background-image: url(../images/btn-prev.png);
  left: 10px;
}
.slideshow-controller a.slideshow-next {
  background-image: url(../images/btn-next.png);
  right: 10px;
}

.slideshow-pager {
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-align-items: center;
  align-items: center;
  padding: 10px 0;
}
.slideshow-pager .slideshow-pager-item {
  width: 14px;
  height: 14px;
  background-color: #ddd;
  -moz-border-radius: 100px;
  -webkit-border-radius: 100px;
  border-radius: 100px;
  margin: 0 3px;
}
.slideshow-pager .slideshow-pager-item.active {
  background-color: #e07d34;
}

.slideshow-thumbnail {
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-align-items: center;
  align-items: center;
}
.slideshow-thumbnail .slideshow-thumbnail-item {
  width: 50px;
  height: 50px;
  background-repeat: no-repeat;
  background-position: center center;
  -moz-background-size: cover;
  -webkit-background-size: cover;
  background-size: cover;
  border: 4px solid #fff;
  margin-left: 5px;
}
.slideshow-thumbnail .slideshow-thumbnail-item.active {
  border-color: #e07d34;
}

/* Main visual */
.main-visual {
  width: 960px;
  position: relative;
  margin: 0 auto;
}
.main-visual.main-visual-home .slideshow-wrapper {
  width: 100%;
}
.main-visual.main-visual-home .slideshow-viewport ul:before {
  padding-top: 46.875%;
}
.main-visual.main-visual-home .slideshow-thumbnail {
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-align-items: center;
  align-items: center;
  position: absolute;
  right: 15px;
  bottom: 15px;
}
.main-visual.main-visual-home .slideshow-pager {
  display: none;
}
.main-visual .fig {
  margin: 0;
}

@media screen and (max-width: 768px) {
  .main-visual {
    width: 100%;
    margin-bottom: 10px;
  }
  .main-visual.main-visual-home {
    margin-bottom: 30px;
  }
  .main-visual.main-visual-home .slideshow-thumbnail {
    display: none;
  }
  .main-visual.main-visual-home .slideshow-pager {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
  }
}
/* Sidebar */
.sidebar .banners {
  list-style: none;
  padding: 0;
  margin-bottom: 40px;
}
.sidebar .banners li {
  text-align: center;
  margin-bottom: 10px;
}
.sidebar .banners li:nth-child(1) {
  margin: 0;
}
.sidebar .info {
  background: #fff url(../images/common/sidebar-info-bg.png) repeat-x 0 0;
  -moz-background-size: 100px auto;
  -webkit-background-size: 100px auto;
  background-size: 100px auto;
  padding-top: 11px;
  margin-bottom: 10px;
}
.sidebar .info .fig {
  margin: 0;
}
.sidebar .info .summary {
  padding: 15px;
  border: 1px solid #e5e5e5;
  border-width: 0 1px 1px;
}
.sidebar .info .summary h2 {
  font-size: 1.8rem;
  line-height: 1.2;
  margin-bottom: 10px;
}
.sidebar .info .summary p {
  font-size: 1.3rem;
  line-height: 1.42;
  margin-bottom: 10px;
}

@media screen and (max-width: 768px) {
  .sidebar .info {
    display: none;
  }
}
/**
 * Local styles
 * @date 31 Jan 2017
 */
/* Heading */
.heading {
  font-size: 3.4rem;
  font-family: 'Trajan R', serif;
  font-weight: normal;
  color: #660;
  line-height: 1.12;
}
.heading.heading-small {
  font-size: 2.6rem;
}

@media screen and (max-width: 768px) {
  .heading {
    font-size: 2.8rem;
    text-align: center;
  }
  .heading.heading-small {
    font-size: 2.6rem;
  }
}
/* Button text */
.btn-text {
  font-size: 1.6rem;
  color: #fff;
  text-decoration: none;
  padding: 10px 40px 10px 30px;
  background-color: #933;
  border-radius: 200px;
  display: inline-block;
  position: relative;
}
.btn-text:after {
  content: '';
  width: 16px;
  height: 16px;
  background: url(../images/common/arrow-white.png) no-repeat center center;
  -moz-background-size: 16px auto;
  -webkit-background-size: 16px auto;
  background-size: 16px auto;
  display: block;
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
}

/* Arrow */
.arrow {
  padding-left: 20px;
  background: url(../images/common/arrow.png) no-repeat 0 0;
  -moz-background-size: 16px auto;
  -webkit-background-size: 16px auto;
  background-size: 16px auto;
}

/* Separator */
.separator {
  border-top: 2px dotted #989455;
  margin: 50px 0;
}

/* Spacer */
.spacer {
  margin: 25px 0;
}

/* Greeting */
#greeting {
  margin-bottom: 40px;
}
#greeting .about {
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: 30px;
}
#greeting .about .summary {
  width: 330px;
}
#greeting .about .summary h2 {
  font-size: 2rem;
  margin-bottom: 10px;
}
#greeting .about .summary .btns {
  margin-top: 35px;
}
#greeting .about .fig {
  width: 330px;
  text-align: center;
}
#greeting .caution {
  padding: 25px 25px 5px;
  background-color: #fff;
  border: 4px dashed #e5e5e5;
}
#greeting .caution ul li ul {
  font-size: 1.3rem;
  margin: 10px 0;
}

@media screen and (max-width: 768px) {
  #greeting .about .summary {
    width: 100%;
  }
  #greeting .about .summary .btns {
    text-align: center;
  }
  #greeting .about .fig {
    width: 100%;
    margin: 30px 0;
  }
  #greeting .caution {
    padding: 10px;
    border-width: 3px;
  }
  #greeting .caution ul li ul {
    font-size: 1.3rem;
    margin: 10px 0;
  }
}
/* Search */
#search {
  margin-bottom: 40px;
}

/* Search box */
.searchbox {
  padding: 30px;
  background: #fff url(../images/home/gradation-bg.png) repeat-x 0 0;
  border: 1px solid #e0ddb9;
}
.searchbox .heading {
  text-align: center;
}
.searchbox .entryform {
  width: 100%;
  border-collapse: collapse;
  margin: 0;
}
.searchbox .entryform th, .searchbox .entryform td {
  text-align: left;
  vertical-align: top;
  padding: 15px;
  border-top: 1px solid #e0ddb9;
}
.searchbox .entryform th {
  padding-left: 0;
}
.searchbox .entryform td {
  padding-right: 0;
}
.searchbox .entryform tr:first-child th, .searchbox .entryform tr:first-child td {
  border: none;
}
.searchbox .entryform .btns {
  text-align: center;
  padding-bottom: 0;
}
.searchbox .entryform .checkboxs {
  line-height: 1.32;
  list-style: none;
  padding: 0;
  /*
  			@include mixin-flex;
  			@include mixin-flex-wrap(wrap);
  */
  overflow: hidden;
  margin: 5px 0 0;
}
.searchbox .entryform .checkboxs li {
  width: 50%;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0 20px;
  margin: 2px 0;
  position: relative;
  float: left;
}
.searchbox .entryform .checkboxs li input[type=checkbox] {
  position: absolute;
  left: 0;
  top: .2rem;
}
.searchbox .entryform .btn-submit {
  font-size: 1.6rem;
  font-weight: normal;
  color: #fff;
  background: #660 url(../images/common/arrow-search.png) no-repeat 10px center;
  -moz-background-size: 20px auto;
  -webkit-background-size: 20px auto;
  background-size: 20px auto;
  padding: 8px 30px 8px 40px;
  border-radius: 200px;
  border: none;
  display: inline-block;
  position: relative;
  cursor: pointer;
}
.searchbox .entryform input[type=text],
.searchbox .entryform textarea {
  width: 100%;
  font-size: 1.8rem;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 4px;
  border: 1px solid #ddd;
}

@media screen and (max-width: 768px) {
  .searchbox {
    padding: 20px;
  }
  .searchbox .entryform th, .searchbox .entryform td {
    padding: 10px 0;
    display: block;
  }
  .searchbox .entryform th {
    padding-bottom: 0;
  }
  .searchbox .entryform td {
    border: none;
  }
  .searchbox .entryform .checkboxs li {
    width: 100%;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: relative;
    float: none;
  }
  .searchbox .entryform .checkboxs li input[type=checkbox] {
    position: absolute;
    left: 0;
    top: .2rem;
  }
}
@media screen and (max-width: 768px) {
  #search {
    padding: 10px;
  }
}
/* Basics */
#basics {
  padding: 30px;
  background: #fff url(../images/home/gradation-bg.png) repeat-x 0 0;
  margin-bottom: 100px;
}
#basics .heading {
  text-align: center;
}
#basics .heading-small {
  text-align: left;
  margin-bottom: 5px;
}
#basics .entry {
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-align-items: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
#basics .entry .fig {
  width: 240px;
  text-align: center;
  margin: 0;
}
#basics .entry .summary {
  width: 380px;
}
#basics .entry .summary p:last-child {
  margin: 0;
}
#basics .entry:nth-child(odd) .fig {
  -ms-flex-order: 2;
  -webkit-order: 2;
  order: 2;
}
#basics .entry:nth-child(odd) .summary {
  -ms-flex-order: 1;
  -webkit-order: 1;
  order: 1;
}

@media screen and (max-width: 768px) {
  #basics {
    padding: 10px;
    margin-bottom: 50px;
  }
  #basics .heading {
    text-align: center;
    margin: 10px 0;
  }
  #basics .heading-small {
    font-size: 2rem;
    margin-bottom: 5px;
  }
  #basics .entry .fig {
    width: 100%;
    -ms-flex-order: 2;
    -webkit-order: 2;
    order: 2;
    margin: 15px 0;
  }
  #basics .entry .summary {
    width: 100%;
    -ms-flex-order: 1;
    -webkit-order: 1;
    order: 1;
    margin: 10px 0;
  }
}
/* Onsen */
#onsen {
  margin-bottom: 100px;
}
#onsen .about {
  margin-bottom: 100px;
}
#onsen .about .flex {
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
#onsen .about .flex .summary {
  width: 360px;
}
#onsen .about .flex .fig {
  width: 300px;
}
#onsen .about .map {
  margin-top: 30px;
}
#onsen .special .entry {
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  padding: 20px 0;
}
#onsen .special .entry h2, #onsen .special .entry h3 {
  width: 100%;
  font-size: 1.8rem;
}
#onsen .special .entry .summary {
  -webkit-flex: 1;
  flex: 1;
}
#onsen .special .entry .summary h4 {
  font-size: 1.6rem;
  margin-bottom: 10px;
}
#onsen .special .entry .fig {
  width: 220px;
  margin: 0 0 0 20px;
}
#onsen .special .btns {
  margin-top: 40px;
}

@media screen and (max-width: 768px) {
  #onsen {
    margin-bottom: 50px;
  }
  #onsen .about .flex .summary {
    width: 100%;
  }
  #onsen .about .flex .fig {
    width: 100%;
    text-align: center;
  }
  #onsen .special .entry {
    padding: 20px 0;
  }
  #onsen .special .entry .summary {
    width: 100%;
    -webkit-flex: none;
    flex: none;
  }
  #onsen .special .entry .fig {
    width: 100%;
    text-align: center;
    margin: 10px 0;
  }
}
/* Hotels */
#hotels {
  margin-bottom: 100px;
}
#hotels .results {
  padding: 20px;
  background-color: #f5f5f5;
  border: 1px solid #ddd;
  margin-bottom: 20px;
}
#hotels .results h2 {
  font-size: 1.6rem;
  margin-bottom: 5px;
}
#hotels .results p:last-child {
  margin: 0;
}
#hotels .pager {
  text-align: center;
  margin: 50px 0;
}
#hotels .pager a, #hotels .pager span {
  text-decoration: none;
  padding: 5px 10px;
  border: 1px solid #989455;
  display: inline-block;
}
#hotels .pager a.here, #hotels .pager span.here {
  color: #fff;
  font-weight: bold;
  background-color: #625e37;
  border-color: #625e37;
}
#hotels .pager a:hover {
  text-decoration: underline;
}
#hotels .pager .prev, #hotels .pager .next {
  color: #fff;
  background-color: #625e37;
  border-color: #625e37;
}
#hotels .hotel {
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  padding: 30px 0;
  border-top: 1px solid #dbd9bb;
}
#hotels .hotel:first-child {
  padding-top: 0;
  border: none;
}
#hotels .hotel:last-child {
  padding-bottom: 0;
}
#hotels .hotel .summary {
  width: 270px;
}
#hotels .hotel .summary h2, #hotels .hotel .summary h3 {
  font-size: 2rem;
  margin-bottom: 15px;
}
#hotels .hotel .summary p {
  line-height: 1.42;
  margin-bottom: 10px;
}
#hotels .hotel .summary p:last-child {
  margin: 0;
}
#hotels .hotel .summary .reservations {
  list-style: none;
  padding: 0;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 15px 0 0;
}
#hotels .hotel .summary .reservations li {
  width: 80px;
}
#hotels .hotel .figs {
  width: 410px;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
#hotels .hotel .figs .fig {
  width: 200px;
  margin: 0;
}

@media screen and (max-width: 768px) {
  #hotels {
    margin-bottom: 50px;
  }
  #hotels .hotel {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    padding: 20px 0;
    border-top: 1px solid #dbd9bb;
  }
  #hotels .hotel .summary {
    width: 100%;
  }
  #hotels .hotel .summary h2, #hotels .hotel .summary h3 {
    margin-bottom: 20px;
  }
  #hotels .hotel .summary .reservations {
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    margin: 25px 0 0;
  }
  #hotels .hotel .figs {
    width: 100%;
  }
  #hotels .hotel .figs .fig {
    width: 50%;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 5px;
    margin: 20px 0 0;
  }
}
/**
 * jquery.tabsOrAccordions.css
 * @date 5 Oct 2016
 */
.tabs-or-accordions .tabs {
  font-size: 0;
  text-align: left;
  list-style: none;
  padding: 0;
  padding: 0;
  margin-bottom: 10px;
}
.tabs-or-accordions .tabs .tab-nav {
  font-size: 1.6rem;
  display: inline-block;
  margin: 0 1px 1px 0;
}
.tabs-or-accordions .tabs .tab-nav a, .tabs-or-accordions .tabs .tab-nav span {
  color: #fff;
  text-decoration: none;
  padding: 10px 20px;
  background-color: #989455;
  display: inline-block;
  position: relative;
}
.tabs-or-accordions .tabs .tab-nav a.tab.active, .tabs-or-accordions .tabs .tab-nav span.tab.active {
  color: #fff;
  text-decoration: none;
  background-color: #625e37;
  cursor: default;
}
.tabs-or-accordions .tabs .tab-nav a.tab.active:after, .tabs-or-accordions .tabs .tab-nav span.tab.active:after {
  content: '';
  width: 0;
  height: 0;
  border: 10px solid transparent;
  border-top: 10px solid #625e37;
  display: block;
  position: absolute;
  left: 50%;
  bottom: -16px;
  z-index: 1;
  margin-left: -10px;
}
.tabs-or-accordions .accordions {
  margin: 1px 0 0;
}
.tabs-or-accordions .accordions .accordion {
  color: #fff;
  text-decoration: none;
  padding: 10px;
  background: #989455 url(../images/common/tabs-or-accordions-open.png) no-repeat right center;
  -moz-background-size: 30px auto;
  -webkit-background-size: 30px auto;
  background-size: 30px auto;
  display: block;
}
.tabs-or-accordions .accordions .accordion.active {
  color: #fff;
  background-color: #625e37;
  background-image: url(../images/common/tabs-or-accordions-close.png);
}
.tabs-or-accordions .tab-panel,
.tabs-or-accordions .accordion-panel {
  padding: 20px 0;
}

/* Access */
#access {
  margin-bottom: 100px;
}
#access .schedule {
  width: 100%;
  text-align: center;
  border-collapse: collapse;
  table-layout: fixed;
}
#access .schedule th, #access .schedule td {
  padding: 10px;
  border: 1px solid #ddd;
}
#access .schedule th {
  background-color: #f5f5f5;
}
#access .map {
  margin: 20px 0;
}
#access .entries .entry {
  padding: 30px 0 20px;
  border-top: 1px solid #dbd9bb;
}
#access .entries .entry:first-child {
  border: none;
}
#access .entries .entry h3 {
  margin-bottom: 10px;
}
#access .entries .entry p {
  margin-bottom: 10px;
}

@media screen and (max-width: 768px) {
  .tbl-wrapper {
    width: 100%;
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
    table-layout: auto;
    margin-bottom: 20px;
  }
  .tbl-wrapper table {
    max-width: 700px !important;
    min-width: 400px !important;
    margin: 0;
  }
  .tbl-wrapper table th {
    word-wrap: break-word;
  }
}
/* FAQ */
#faq {
  margin-bottom: 100px;
}
#faq .faq {
  margin-top: 40px;
}
#faq .faq dt, #faq .faq dd {
  background-repeat: no-repeat;
  background-position: 0 0;
  -moz-background-size: 30px auto;
  -webkit-background-size: 30px auto;
  background-size: 30px auto;
  padding-left: 40px;
  margin: 0;
}
#faq .faq .q {
  font-weight: bold;
  background-image: url(../images/faq/icon-question.png);
  margin-bottom: 15px;
}
#faq .faq .a {
  background-image: url(../images/faq/icon-answer.png);
  margin-bottom: 40px;
}
#faq .faq .a ul {
  line-height: 1.42;
}
#faq .faq .a ul li {
  margin: 0 0 10px 0;
}

@media screen and (max-width: 768px) {
  #faq {
    margin-bottom: 50px;
  }
}
/* How to */
#howto {
  margin-bottom: 100px;
}
#howto .flex {
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  padding: 30px 0 20px;
  border-top: 1px solid #dbd9bb;
}
#howto .flex .summary {
  width: 360px;
}
#howto .flex .summary h2 {
  font-size: 2rem;
  margin-bottom: 10px;
}
#howto .flex .summary p {
  margin-bottom: 10px;
}
#howto .flex .fig {
  width: 300px;
}
#howto #howto-ryokan {
  border: none;
}

@media screen and (max-width: 768px) {
  #howto {
    margin-bottom: 50px;
  }
  #howto .flex .summary {
    width: 100%;
  }
  #howto .flex .fig {
    width: 100%;
    text-align: center;
    margin: 20px 0;
  }
  #howto .flex .fig p {
    margin: 20px 0 0;
  }
  #howto .flex .fig p:first-child {
    margin: 0;
  }
  #howto #howto-ryokan {
    border: none;
  }
}
/* Contact */
#contact {
  margin-bottom: 100px;
}
#contact .required {
  color: #f33;
}
#contact .inquiry {
  border-collapse: collapse;
}
#contact .inquiry th, #contact .inquiry td {
  padding: 15px;
  border: 1px solid #d5d5d5;
}
#contact .inquiry th {
  white-space: nowrap;
  background-color: #f5f5f5;
}
#contact .inquiry input[type=text],
#contact .inquiry textarea {
  width: 100%;
  font-size: 1.6rem;
  padding: 5px;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border: 1px solid #ddd;
}
#contact .inquiry .btns {
  text-align: center;
  background: none;
  border: none;
}
#contact .inquiry .btns input[type=submit] {
  font-size: 1.6rem;
  color: #fff;
  background-color: #555;
  padding: 10px 25px;
  border: none;
  display: inline-block;
  cursor: pointer;
}

@media screen and (max-width: 768px) {
  #contact {
    margin-bottom: 50px;
  }
  #contact .inquiry {
    border-top: 1px solid #d5d5d5;
  }
  #contact .inquiry th, #contact .inquiry td {
    border-width: 0 1px 1px;
    display: block;
  }
  #contact .inquiry th {
    white-space: normal;
  }
}
/* WiFi */
#wifi {
  margin-bottom: 100px;
}
#wifi .about {
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: 50px;
}
#wifi .about .fig {
  width: 220px;
  -ms-flex-order: 2;
  -webkit-order: 2;
  order: 2;
}
#wifi .about .summary {
  width: 440px;
  -ms-flex-order: 1;
  -webkit-order: 1;
  order: 1;
}
#wifi .spot table {
  border-collapse: collapse;
}
#wifi .spot table th, #wifi .spot table td {
  padding: 10px;
}
#wifi .spot table tr:nth-child(odd) th,
#wifi .spot table tr:nth-child(odd) td {
  background-color: #f0efe7;
}
#wifi .spot table th {
  color: #fff;
  background-color: #a19d74 !important;
  border: 1px solid #fff;
}
#wifi .spot table .no {
  text-align: center;
}

@media screen and (max-width: 768px) {
  #wifi {
    margin-bottom: 50px;
  }
  #wifi .about .fig {
    width: 100%;
  }
  #wifi .about .summary {
    width: 100%;
  }
  #wifi .spot table {
    width: 700px;
  }
}
