@charset "UTF-8";
/*! sanitize.css v5.0.0 | CC0 License | github.com/jonathantneal/sanitize.css */
/* Document (https://html.spec.whatwg.org/multipage/semantics.html#semantics)
   ========================================================================== */
/**
 * 1. Remove repeating backgrounds in all browsers (opinionated).
 * 2. Add box sizing inheritence in all browsers (opinionated).
 */
*,
::before,
::after {
  background-repeat: no-repeat; /* 1 */
  box-sizing: inherit; /* 2 */
}

/**
 * 1. Add text decoration inheritance in all browsers (opinionated).
 * 2. Add vertical alignment inheritence in all browsers (opinionated).
 */
::before,
::after {
  text-decoration: inherit; /* 1 */
  vertical-align: inherit; /* 2 */
}

/**
 * 1. Add border box sizing in all browsers (opinionated).
 * 2. Add the default cursor in all browsers (opinionated).
 * 3. Prevent font size adjustments after orientation changes in IE and iOS.
 */
html {
  box-sizing: border-box; /* 1 */
  cursor: default; /* 2 */
  -ms-text-size-adjust: 100%; /* 3 */
  -webkit-text-size-adjust: 100%; /* 3 */
}

/* Sections (https://html.spec.whatwg.org/multipage/semantics.html#sections)
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
article,
aside,
footer,
header,
nav,
section {
  display: block;
}

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

h1, h2, h3, h4, h5, h6 {
  margin: 0;
  padding: 0;
}

/* Grouping content (https://html.spec.whatwg.org/multipage/semantics.html#grouping-content)
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in IE.
 */
figcaption,
figure,
main { /* 1 */
  display: block;
}

figure {
  margin: 0;
}

/**
 * 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 */
}

/**
 * Remove the list style on navigation lists in all browsers (opinionated).
 */
ol,
ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

dl, dt, dd {
  margin: 0;
  padding: 0;
}

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

/* Text-level semantics (https://html.spec.whatwg.org/multipage/semantics.html#text-level-semantics)
   ========================================================================== */
/**
 * 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 */
}

/**
 * 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 */
  -webkit-text-decoration: underline dotted;
          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;
}

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

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

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

/**
 * 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;
}

/*
 * Remove the text shadow on text selections (opinionated).
 * 1. Restore the coloring undone by defining the text shadow (opinionated).
 */
::-moz-selection {
  background-color: #b3d4fc; /* 1 */
  color: #000000; /* 1 */
  text-shadow: none;
}

::selection {
  background-color: #b3d4fc; /* 1 */
  color: #000000; /* 1 */
  text-shadow: none;
}

/* Embedded content (https://html.spec.whatwg.org/multipage/embedded-content.html#embedded-content)
   ========================================================================== */
/*
 * Change the alignment on media elements in all browers (opinionated).
 */
audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}

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

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

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

/**
 * Change the fill color to match the text color in all browsers (opinionated).
 */
svg {
  fill: currentColor;
}

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

/* Tabular data (https://html.spec.whatwg.org/multipage/tables.html#tables)
   ========================================================================== */
/**
 * Collapse border spacing
 */
table {
  border-collapse: collapse;
}

/* Forms (https://html.spec.whatwg.org/multipage/forms.html#forms)
   ========================================================================== */
/**
 * Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  margin: 0;
}

/**
 * Inherit styling in all browsers (opinionated).
 */
button,
input,
select,
textarea {
  color: inherit;
  font-size: inherit;
  line-height: inherit;
}

/**
 * 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;
}

/**
 * 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 */
}

/**
 * 1. Add the correct display in IE 9-.
 * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  display: inline-block; /* 1 */
  vertical-align: baseline; /* 2 */
}

/**
 * 1. Remove the default vertical scrollbar in IE.
 * 2. Change the resize direction on textareas in all browsers (opinionated).
 */
textarea {
  overflow: auto; /* 1 */
  resize: vertical; /* 2 */
}

/**
 * 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 macOS.
 */
[type=search]::-webkit-search-cancel-button,
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 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 */
}

/* Interactive elements (https://html.spec.whatwg.org/multipage/forms.html#interactive-elements)
   ========================================================================== */
/*
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 */
details,
menu {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Scripting (https://html.spec.whatwg.org/multipage/scripting.html#scripting-3)
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
canvas {
  display: inline-block;
}

/**
 * Add the correct display in IE.
 */
template {
  display: none;
}

/* User interaction (https://html.spec.whatwg.org/multipage/interaction.html#editing)
   ========================================================================== */
/*
 * Remove the tapping delay on clickable elements (opinionated).
 * 1. Remove the tapping delay in IE 10.
 */
a,
area,
button,
input,
label,
select,
summary,
textarea,
[tabindex] { /* 1 */
  touch-action: manipulation;
}

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

/* ARIA (https://w3c.github.io/html-aria/)
   ========================================================================== */
/**
 * Change the cursor on busy elements (opinionated).
 */
[aria-busy=true] {
  cursor: progress;
}

/*
 * Change the cursor on control elements (opinionated).
 */
[aria-controls] {
  cursor: pointer;
}

/*
 * Change the display on visually hidden accessible elements (opinionated).
 */
[aria-hidden=false][hidden]:not(:focus) {
  clip: rect(0, 0, 0, 0);
  display: inherit;
  position: absolute;
}

/*
 * Change the cursor on disabled, not-editable, or otherwise
 * inoperable elements (opinionated).
 */
[aria-disabled] {
  cursor: default;
}

.max-width-wrapper-900px {
  max-width: 900px;
  margin: 0 auto;
  padding: 0 20px;
}

.max-width-wrapper-1000px {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 20px;
}

.max-width-wrapper-1100px {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 20px;
}

.max-width-wrapper-1200px {
  max-width: 1200px;
  margin: 0 auto;
}

.max-width-wrapper-1300px {
  max-width: 1300px;
  margin: 0 auto;
}

.align-left {
  text-align: left;
}

.align-right {
  text-align: right;
}

.align-center {
  text-align: right;
}

span.phrase {
  display: inline-block;
}

@media only screen and (min-width: 768px) {
  .small-visible {
    display: none !important;
  }
}
@media only screen and (max-width: 767px) {
  .large-visible {
    display: none !important;
  }
}
img.img-responsive {
  width: 100%;
  max-width: 100%;
}

/*!
 * Hamburgers
 * @description Tasty CSS-animated hamburgers
 * @author Jonathan Suh @jonsuh
 * @site https://jonsuh.com/hamburgers
 * @link https://github.com/jonsuh/hamburgers
 */
.hamburger {
  padding: 10px 10px;
  display: inline-block;
  cursor: pointer;
  transition-property: opacity, filter;
  transition-duration: 0.15s;
  transition-timing-function: linear;
  font: inherit;
  color: inherit;
  text-transform: none;
  background-color: transparent;
  border: 0;
  margin: 0;
  overflow: visible;
}
.hamburger:hover {
  opacity: 0.7;
}

.hamburger-box {
  width: 26px;
  height: 19px;
  display: inline-block;
  position: relative;
}

.hamburger-inner {
  display: block;
  top: 50%;
  margin-top: -0.5px;
}
.hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
  width: 26px;
  height: 1px;
  background-color: #000;
  border-radius: 4px;
  position: absolute;
  transition-property: transform;
  transition-duration: 0.15s;
  transition-timing-function: ease;
}
.hamburger-inner::before, .hamburger-inner::after {
  content: "";
  display: block;
}
.hamburger-inner::before {
  top: -9px;
}
.hamburger-inner::after {
  bottom: -9px;
}

/*
 * 3DX
 */
.hamburger--3dx .hamburger-box {
  perspective: 52px;
}
.hamburger--3dx .hamburger-inner {
  transition: transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.hamburger--3dx .hamburger-inner::before, .hamburger--3dx .hamburger-inner::after {
  transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.hamburger--3dx.is-active .hamburger-inner {
  background-color: transparent;
  transform: rotateY(180deg);
}
.hamburger--3dx.is-active .hamburger-inner::before {
  transform: translate3d(0, 9px, 0) rotate(45deg);
}
.hamburger--3dx.is-active .hamburger-inner::after {
  transform: translate3d(0, -9px, 0) rotate(-45deg);
}

/*
 * 3DX Reverse
 */
.hamburger--3dx-r .hamburger-box {
  perspective: 52px;
}
.hamburger--3dx-r .hamburger-inner {
  transition: transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.hamburger--3dx-r .hamburger-inner::before, .hamburger--3dx-r .hamburger-inner::after {
  transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.hamburger--3dx-r.is-active .hamburger-inner {
  background-color: transparent;
  transform: rotateY(-180deg);
}
.hamburger--3dx-r.is-active .hamburger-inner::before {
  transform: translate3d(0, 9px, 0) rotate(45deg);
}
.hamburger--3dx-r.is-active .hamburger-inner::after {
  transform: translate3d(0, -9px, 0) rotate(-45deg);
}

/*
 * 3DY
 */
.hamburger--3dy .hamburger-box {
  perspective: 52px;
}
.hamburger--3dy .hamburger-inner {
  transition: transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.hamburger--3dy .hamburger-inner::before, .hamburger--3dy .hamburger-inner::after {
  transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.hamburger--3dy.is-active .hamburger-inner {
  background-color: transparent;
  transform: rotateX(-180deg);
}
.hamburger--3dy.is-active .hamburger-inner::before {
  transform: translate3d(0, 9px, 0) rotate(45deg);
}
.hamburger--3dy.is-active .hamburger-inner::after {
  transform: translate3d(0, -9px, 0) rotate(-45deg);
}

/*
 * 3DY Reverse
 */
.hamburger--3dy-r .hamburger-box {
  perspective: 52px;
}
.hamburger--3dy-r .hamburger-inner {
  transition: transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.hamburger--3dy-r .hamburger-inner::before, .hamburger--3dy-r .hamburger-inner::after {
  transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.hamburger--3dy-r.is-active .hamburger-inner {
  background-color: transparent;
  transform: rotateX(180deg);
}
.hamburger--3dy-r.is-active .hamburger-inner::before {
  transform: translate3d(0, 9px, 0) rotate(45deg);
}
.hamburger--3dy-r.is-active .hamburger-inner::after {
  transform: translate3d(0, -9px, 0) rotate(-45deg);
}

/*
 * Arrow
 */
.hamburger--arrow.is-active .hamburger-inner::before {
  transform: translate3d(-5.2px, 0, 0) rotate(-45deg) scale(0.7, 1);
}
.hamburger--arrow.is-active .hamburger-inner::after {
  transform: translate3d(-5.2px, 0, 0) rotate(45deg) scale(0.7, 1);
}

/*
 * Arrow Right
 */
.hamburger--arrow-r.is-active .hamburger-inner::before {
  transform: translate3d(5.2px, 0, 0) rotate(45deg) scale(0.7, 1);
}
.hamburger--arrow-r.is-active .hamburger-inner::after {
  transform: translate3d(5.2px, 0, 0) rotate(-45deg) scale(0.7, 1);
}

/*
 * Arrow Alt
 */
.hamburger--arrowalt .hamburger-inner::before {
  transition: top 0.1s 0.15s ease, transform 0.15s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.hamburger--arrowalt .hamburger-inner::after {
  transition: bottom 0.1s 0.15s ease, transform 0.15s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.hamburger--arrowalt.is-active .hamburger-inner::before {
  top: 0;
  transform: translate3d(-5.2px, -6.5px, 0) rotate(-45deg) scale(0.7, 1);
  transition: top 0.1s ease, transform 0.15s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);
}
.hamburger--arrowalt.is-active .hamburger-inner::after {
  bottom: 0;
  transform: translate3d(-5.2px, 6.5px, 0) rotate(45deg) scale(0.7, 1);
  transition: bottom 0.1s ease, transform 0.15s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);
}

/*
 * Arrow Alt Right
 */
.hamburger--arrowalt-r .hamburger-inner::before {
  transition: top 0.1s 0.15s ease, transform 0.15s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.hamburger--arrowalt-r .hamburger-inner::after {
  transition: bottom 0.1s 0.15s ease, transform 0.15s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.hamburger--arrowalt-r.is-active .hamburger-inner::before {
  top: 0;
  transform: translate3d(5.2px, -6.5px, 0) rotate(45deg) scale(0.7, 1);
  transition: top 0.1s ease, transform 0.15s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);
}
.hamburger--arrowalt-r.is-active .hamburger-inner::after {
  bottom: 0;
  transform: translate3d(5.2px, 6.5px, 0) rotate(-45deg) scale(0.7, 1);
  transition: bottom 0.1s ease, transform 0.15s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);
}

/*
 * Boring
 */
.hamburger--boring .hamburger-inner, .hamburger--boring .hamburger-inner::before, .hamburger--boring .hamburger-inner::after {
  transition-property: none;
}
.hamburger--boring.is-active .hamburger-inner {
  transform: rotate(45deg);
}
.hamburger--boring.is-active .hamburger-inner::before {
  top: 0;
  opacity: 0;
}
.hamburger--boring.is-active .hamburger-inner::after {
  bottom: 0;
  transform: rotate(-90deg);
}

/*
 * Collapse
 */
.hamburger--collapse .hamburger-inner {
  top: auto;
  bottom: 0;
  transition-duration: 0.15s;
  transition-delay: 0.15s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--collapse .hamburger-inner::after {
  top: -18px;
  transition: top 0.3s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0.1s linear;
}
.hamburger--collapse .hamburger-inner::before {
  transition: top 0.12s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--collapse.is-active .hamburger-inner {
  transform: translate3d(0, -9px, 0) rotate(-45deg);
  transition-delay: 0.32s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}
.hamburger--collapse.is-active .hamburger-inner::after {
  top: 0;
  opacity: 0;
  transition: top 0.3s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0.1s 0.27s linear;
}
.hamburger--collapse.is-active .hamburger-inner::before {
  top: 0;
  transform: rotate(-90deg);
  transition: top 0.12s 0.18s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.15s 0.42s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/*
 * Collapse Reverse
 */
.hamburger--collapse-r .hamburger-inner {
  top: auto;
  bottom: 0;
  transition-duration: 0.15s;
  transition-delay: 0.15s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--collapse-r .hamburger-inner::after {
  top: -18px;
  transition: top 0.3s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0.1s linear;
}
.hamburger--collapse-r .hamburger-inner::before {
  transition: top 0.12s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--collapse-r.is-active .hamburger-inner {
  transform: translate3d(0, -9px, 0) rotate(45deg);
  transition-delay: 0.32s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}
.hamburger--collapse-r.is-active .hamburger-inner::after {
  top: 0;
  opacity: 0;
  transition: top 0.3s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0.1s 0.27s linear;
}
.hamburger--collapse-r.is-active .hamburger-inner::before {
  top: 0;
  transform: rotate(90deg);
  transition: top 0.12s 0.18s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.15s 0.42s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/*
 * Elastic
 */
.hamburger--elastic .hamburger-inner {
  top: 0.5px;
  transition-duration: 0.4s;
  transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
.hamburger--elastic .hamburger-inner::before {
  top: 9px;
  transition: opacity 0.15s 0.4s ease;
}
.hamburger--elastic .hamburger-inner::after {
  top: 18px;
  transition: transform 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
.hamburger--elastic.is-active .hamburger-inner {
  transform: translate3d(0, 9px, 0) rotate(135deg);
  transition-delay: 0.1s;
}
.hamburger--elastic.is-active .hamburger-inner::before {
  transition-delay: 0s;
  opacity: 0;
}
.hamburger--elastic.is-active .hamburger-inner::after {
  transform: translate3d(0, -18px, 0) rotate(-270deg);
  transition-delay: 0.1s;
}

/*
 * Elastic Reverse
 */
.hamburger--elastic-r .hamburger-inner {
  top: 0.5px;
  transition-duration: 0.4s;
  transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
.hamburger--elastic-r .hamburger-inner::before {
  top: 9px;
  transition: opacity 0.15s 0.4s ease;
}
.hamburger--elastic-r .hamburger-inner::after {
  top: 18px;
  transition: transform 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
.hamburger--elastic-r.is-active .hamburger-inner {
  transform: translate3d(0, 9px, 0) rotate(-135deg);
  transition-delay: 0.1s;
}
.hamburger--elastic-r.is-active .hamburger-inner::before {
  transition-delay: 0s;
  opacity: 0;
}
.hamburger--elastic-r.is-active .hamburger-inner::after {
  transform: translate3d(0, -18px, 0) rotate(270deg);
  transition-delay: 0.1s;
}

/*
 * Emphatic
 */
.hamburger--emphatic {
  overflow: hidden;
}
.hamburger--emphatic .hamburger-inner {
  transition: background-color 0.2s 0.25s ease-in;
}
.hamburger--emphatic .hamburger-inner::before {
  left: 0;
  transition: transform 0.2s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.2s linear, left 0.2s 0.25s ease-in;
}
.hamburger--emphatic .hamburger-inner::after {
  top: 9px;
  right: 0;
  transition: transform 0.2s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.2s linear, right 0.2s 0.25s ease-in;
}
.hamburger--emphatic.is-active .hamburger-inner {
  transition-delay: 0s;
  transition-timing-function: ease-out;
  background-color: transparent;
}
.hamburger--emphatic.is-active .hamburger-inner::before {
  left: -52px;
  top: -52px;
  transform: translate3d(52px, 52px, 0) rotate(45deg);
  transition: left 0.2s ease-out, top 0.05s 0.2s linear, transform 0.2s 0.25s cubic-bezier(0.075, 0.82, 0.165, 1);
}
.hamburger--emphatic.is-active .hamburger-inner::after {
  right: -52px;
  top: -52px;
  transform: translate3d(-52px, 52px, 0) rotate(-45deg);
  transition: right 0.2s ease-out, top 0.05s 0.2s linear, transform 0.2s 0.25s cubic-bezier(0.075, 0.82, 0.165, 1);
}

/*
 * Emphatic Reverse
 */
.hamburger--emphatic-r {
  overflow: hidden;
}
.hamburger--emphatic-r .hamburger-inner {
  transition: background-color 0.2s 0.25s ease-in;
}
.hamburger--emphatic-r .hamburger-inner::before {
  left: 0;
  transition: transform 0.2s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.2s linear, left 0.2s 0.25s ease-in;
}
.hamburger--emphatic-r .hamburger-inner::after {
  top: 9px;
  right: 0;
  transition: transform 0.2s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.2s linear, right 0.2s 0.25s ease-in;
}
.hamburger--emphatic-r.is-active .hamburger-inner {
  transition-delay: 0s;
  transition-timing-function: ease-out;
  background-color: transparent;
}
.hamburger--emphatic-r.is-active .hamburger-inner::before {
  left: -52px;
  top: 52px;
  transform: translate3d(52px, -52px, 0) rotate(-45deg);
  transition: left 0.2s ease-out, top 0.05s 0.2s linear, transform 0.2s 0.25s cubic-bezier(0.075, 0.82, 0.165, 1);
}
.hamburger--emphatic-r.is-active .hamburger-inner::after {
  right: -52px;
  top: 52px;
  transform: translate3d(-52px, -52px, 0) rotate(45deg);
  transition: right 0.2s ease-out, top 0.05s 0.2s linear, transform 0.2s 0.25s cubic-bezier(0.075, 0.82, 0.165, 1);
}

/*
 * Slider
 */
.hamburger--slider .hamburger-inner {
  top: 0.5px;
}
.hamburger--slider .hamburger-inner::before {
  top: 9px;
  transition-property: transform, opacity;
  transition-timing-function: ease;
  transition-duration: 0.2s;
}
.hamburger--slider .hamburger-inner::after {
  top: 18px;
}
.hamburger--slider.is-active .hamburger-inner {
  transform: translate3d(0, 9px, 0) rotate(45deg);
}
.hamburger--slider.is-active .hamburger-inner::before {
  transform: rotate(-45deg) translate3d(-3.7142857143px, -8px, 0);
  opacity: 0;
}
.hamburger--slider.is-active .hamburger-inner::after {
  transform: translate3d(0, -18px, 0) rotate(-90deg);
}

/*
 * Slider Reverse
 */
.hamburger--slider-r .hamburger-inner {
  top: 0.5px;
}
.hamburger--slider-r .hamburger-inner::before {
  top: 9px;
  transition-property: transform, opacity;
  transition-timing-function: ease;
  transition-duration: 0.2s;
}
.hamburger--slider-r .hamburger-inner::after {
  top: 18px;
}
.hamburger--slider-r.is-active .hamburger-inner {
  transform: translate3d(0, 9px, 0) rotate(-45deg);
}
.hamburger--slider-r.is-active .hamburger-inner::before {
  transform: rotate(45deg) translate3d(3.7142857143px, -8px, 0);
  opacity: 0;
}
.hamburger--slider-r.is-active .hamburger-inner::after {
  transform: translate3d(0, -18px, 0) rotate(90deg);
}

/*
 * Spring
 */
.hamburger--spring .hamburger-inner {
  top: 0.5px;
  transition: background-color 0s 0.15s linear;
}
.hamburger--spring .hamburger-inner::before {
  top: 9px;
  transition: top 0.12s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--spring .hamburger-inner::after {
  top: 18px;
  transition: top 0.3s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--spring.is-active .hamburger-inner {
  transition-delay: 0.32s;
  background-color: transparent;
}
.hamburger--spring.is-active .hamburger-inner::before {
  top: 0;
  transition: top 0.12s 0.18s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.15s 0.32s cubic-bezier(0.215, 0.61, 0.355, 1);
  transform: translate3d(0, 9px, 0) rotate(45deg);
}
.hamburger--spring.is-active .hamburger-inner::after {
  top: 0;
  transition: top 0.3s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.15s 0.32s cubic-bezier(0.215, 0.61, 0.355, 1);
  transform: translate3d(0, 9px, 0) rotate(-45deg);
}

/*
 * Spring Reverse
 */
.hamburger--spring-r .hamburger-inner {
  top: auto;
  bottom: 0;
  transition-duration: 0.15s;
  transition-delay: 0s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--spring-r .hamburger-inner::after {
  top: -18px;
  transition: top 0.3s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0s linear;
}
.hamburger--spring-r .hamburger-inner::before {
  transition: top 0.12s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--spring-r.is-active .hamburger-inner {
  transform: translate3d(0, -9px, 0) rotate(-45deg);
  transition-delay: 0.32s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}
.hamburger--spring-r.is-active .hamburger-inner::after {
  top: 0;
  opacity: 0;
  transition: top 0.3s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0s 0.32s linear;
}
.hamburger--spring-r.is-active .hamburger-inner::before {
  top: 0;
  transform: rotate(90deg);
  transition: top 0.12s 0.18s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.15s 0.32s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/*
 * Stand
 */
.hamburger--stand .hamburger-inner {
  transition: transform 0.1s 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0s 0.1s linear;
}
.hamburger--stand .hamburger-inner::before {
  transition: top 0.1s 0.1s ease-in, transform 0.1s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--stand .hamburger-inner::after {
  transition: bottom 0.1s 0.1s ease-in, transform 0.1s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--stand.is-active .hamburger-inner {
  transform: rotate(90deg);
  background-color: transparent;
  transition: transform 0.1s 0s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0s 0.22s linear;
}
.hamburger--stand.is-active .hamburger-inner::before {
  top: 0;
  transform: rotate(-45deg);
  transition: top 0.1s 0.12s ease-out, transform 0.1s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.hamburger--stand.is-active .hamburger-inner::after {
  bottom: 0;
  transform: rotate(45deg);
  transition: bottom 0.1s 0.12s ease-out, transform 0.1s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/*
 * Stand Reverse
 */
.hamburger--stand-r .hamburger-inner {
  transition: transform 0.1s 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0s 0.1s linear;
}
.hamburger--stand-r .hamburger-inner::before {
  transition: top 0.1s 0.1s ease-in, transform 0.1s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--stand-r .hamburger-inner::after {
  transition: bottom 0.1s 0.1s ease-in, transform 0.1s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--stand-r.is-active .hamburger-inner {
  transform: rotate(-90deg);
  background-color: transparent;
  transition: transform 0.1s 0s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0s 0.22s linear;
}
.hamburger--stand-r.is-active .hamburger-inner::before {
  top: 0;
  transform: rotate(-45deg);
  transition: top 0.1s 0.12s ease-out, transform 0.1s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.hamburger--stand-r.is-active .hamburger-inner::after {
  bottom: 0;
  transform: rotate(45deg);
  transition: bottom 0.1s 0.12s ease-out, transform 0.1s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/*
 * Spin
 */
.hamburger--spin .hamburger-inner {
  transition-duration: 0.3s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--spin .hamburger-inner::before {
  transition: top 0.1s 0.34s ease-in, opacity 0.1s ease-in;
}
.hamburger--spin .hamburger-inner::after {
  transition: bottom 0.1s 0.34s ease-in, transform 0.3s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--spin.is-active .hamburger-inner {
  transform: rotate(225deg);
  transition-delay: 0.14s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}
.hamburger--spin.is-active .hamburger-inner::before {
  top: 0;
  opacity: 0;
  transition: top 0.1s ease-out, opacity 0.1s 0.14s ease-out;
}
.hamburger--spin.is-active .hamburger-inner::after {
  bottom: 0;
  transform: rotate(-90deg);
  transition: bottom 0.1s ease-out, transform 0.3s 0.14s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/*
 * Spin Reverse
 */
.hamburger--spin-r .hamburger-inner {
  transition-duration: 0.3s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--spin-r .hamburger-inner::before {
  transition: top 0.1s 0.34s ease-in, opacity 0.1s ease-in;
}
.hamburger--spin-r .hamburger-inner::after {
  transition: bottom 0.1s 0.34s ease-in, transform 0.3s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--spin-r.is-active .hamburger-inner {
  transform: rotate(-225deg);
  transition-delay: 0.14s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}
.hamburger--spin-r.is-active .hamburger-inner::before {
  top: 0;
  opacity: 0;
  transition: top 0.1s ease-out, opacity 0.1s 0.14s ease-out;
}
.hamburger--spin-r.is-active .hamburger-inner::after {
  bottom: 0;
  transform: rotate(-90deg);
  transition: bottom 0.1s ease-out, transform 0.3s 0.14s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/*
 * Squeeze
 */
.hamburger--squeeze .hamburger-inner {
  transition-duration: 0.1s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--squeeze .hamburger-inner::before {
  transition: top 0.1s 0.14s ease, opacity 0.1s ease;
}
.hamburger--squeeze .hamburger-inner::after {
  transition: bottom 0.1s 0.14s ease, transform 0.1s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--squeeze.is-active .hamburger-inner {
  transform: rotate(45deg);
  transition-delay: 0.14s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}
.hamburger--squeeze.is-active .hamburger-inner::before {
  top: 0;
  opacity: 0;
  transition: top 0.1s ease, opacity 0.1s 0.14s ease;
}
.hamburger--squeeze.is-active .hamburger-inner::after {
  bottom: 0;
  transform: rotate(-90deg);
  transition: bottom 0.1s ease, transform 0.1s 0.14s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/*
 * Vortex
 */
.hamburger--vortex .hamburger-inner {
  transition-duration: 0.3s;
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}
.hamburger--vortex .hamburger-inner::before, .hamburger--vortex .hamburger-inner::after {
  transition-duration: 0s;
  transition-delay: 0.1s;
  transition-timing-function: linear;
}
.hamburger--vortex .hamburger-inner::before {
  transition-property: top, opacity;
}
.hamburger--vortex .hamburger-inner::after {
  transition-property: bottom, transform;
}
.hamburger--vortex.is-active .hamburger-inner {
  transform: rotate(765deg);
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}
.hamburger--vortex.is-active .hamburger-inner::before, .hamburger--vortex.is-active .hamburger-inner::after {
  transition-delay: 0s;
}
.hamburger--vortex.is-active .hamburger-inner::before {
  top: 0;
  opacity: 0;
}
.hamburger--vortex.is-active .hamburger-inner::after {
  bottom: 0;
  transform: rotate(90deg);
}

/*
 * Vortex Reverse
 */
.hamburger--vortex-r .hamburger-inner {
  transition-duration: 0.3s;
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}
.hamburger--vortex-r .hamburger-inner::before, .hamburger--vortex-r .hamburger-inner::after {
  transition-duration: 0s;
  transition-delay: 0.1s;
  transition-timing-function: linear;
}
.hamburger--vortex-r .hamburger-inner::before {
  transition-property: top, opacity;
}
.hamburger--vortex-r .hamburger-inner::after {
  transition-property: bottom, transform;
}
.hamburger--vortex-r.is-active .hamburger-inner {
  transform: rotate(-765deg);
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}
.hamburger--vortex-r.is-active .hamburger-inner::before, .hamburger--vortex-r.is-active .hamburger-inner::after {
  transition-delay: 0s;
}
.hamburger--vortex-r.is-active .hamburger-inner::before {
  top: 0;
  opacity: 0;
}
.hamburger--vortex-r.is-active .hamburger-inner::after {
  bottom: 0;
  transform: rotate(-90deg);
}

a {
  color: #000;
  text-decoration: none;
}

.sans-serif, section#kurashiten-onlinetour section#online-tour-lead > p:last-child, div.wysiwyg-block, .form1 textarea, .form1 input[type=text], .form1 input[type=tel], section#contact-tel > div > div a, body.osusumetabi div.day-wrapper > ul > li div.time-table, body.osusumetabi div.day-wrapper > ul > li p, body.osusumetabi div.day-wrapper > ul > li span.osusume, body.osusumetabi section.osusumetabi-content div#content-title > div:first-child ul.tag-list, body.osusumetabi section.osusumetabi-content div#content-title > div:first-child p, body.osusumetabi section.osusumetabi-content div#content-title > div:first-child > div div:last-child span, body.osusumetabi section#osusumetabi-index ul#osusumetabi-index-list li > div:last-child p, body.osusumetabi section.page-title p, section#geodining-report ul li, div#menu-bg-wrapper > p, section#geodining-index section#geodining-report-index > ul li > div:last-child p, section#geodining-index div#geodining-index-description div#geodining-index-about p, section#paper > div#gururin > div:last-child > div p, section#paper > div#gururin > div:last-child dl dd, section#paper > div#gururin > div:last-child dl dt, section.company-data-section dl dd, section#company div#history dl dd, .privacy-content p, section#shimokitabito-index > ul > li > a > p, section#shimokitabito-index > ul > li > a span[class^=area-tag], section#access section#access-in-shimokita section.in-shimokita-section ul.access-spot-list > li > span.area-tag, section#media-index > ul li > a > div > span {
  font-family: "source-han-sans-japanese", "Helvetica Neue", "Helvetica", "Hiragino Kaku Gothic ProN", YuGothic, "Yu Gothic Medium", Meiryo, sans-serif;
}

.mincho, section#kurashiten-onlinetour section#tour-overview table, section#kurashiten-onlinetour section.online-tour-section > div ul.photos li p, section#kurashiten-onlinetour section.online-tour-section > div div.section-main > div p, section.company-data-section dl dt, section#company div#history dl dt {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}

.memo-banner {
  font-family: meno-banner, serif;
  font-weight: 400;
  font-style: normal;
}

img {
  max-width: 100%;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: normal;
}

* {
  line-height: 1em;
  transition: all 0.2s;
}

span.phrase {
  line-height: inherit;
}

div#spot-map * {
  transition: none;
}

p {
  line-height: 2em;
  text-align: justify;
}

hr {
  border: none;
  border-bottom: 1px solid #000;
  width: 100px;
  margin: 20px auto;
}

.textlink1:hover {
  text-decoration: underline;
}

.textlink2 {
  color: #0099db;
}
.textlink2 span.material-icons {
  font-size: 1em;
  position: relative;
  top: 2px;
  margin-left: 4px;
}
.textlink2:hover {
  text-decoration: underline;
}

.button1, .button3, .button2 {
  border: 1px solid #fff;
  display: inline-block;
  padding: 15px 30px;
  color: #fff;
  font-size: 16px;
  transition: all 0.3s;
}
@media only screen and (max-width: 767px) {
  .button1, .button3, .button2 {
    padding: 15px 20px;
  }
}
@media only screen and (max-width: 767px) {
  .button1, .button3, .button2 {
    font-size: 13px;
  }
}
.button1 span.material-icons, .button3 span.material-icons, .button2 span.material-icons {
  margin-left: 15px;
  font-size: 10px;
  transition: all 0.3s;
  position: relative;
  left: 0;
}
.button1:hover, .button3:hover, .button2:hover {
  background-color: #fff;
  color: #000;
  text-decoration: none;
  box-shadow: 0 5px 10px 0 rgb(0, 0, 0);
}
.button1:hover span.material-icons, .button3:hover span.material-icons, .button2:hover span.material-icons {
  left: 5px;
}

.button2 {
  border: 1px solid #000;
  color: #000;
}
.button2:hover {
  background-color: #000;
  color: #fff;
  box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.1);
}

.button3 {
  border: none;
  background-color: #000;
  color: #fff;
}
.button3:hover {
  background-color: #888;
  color: #fff;
  box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.1);
}

.heading1 {
  font-size: 25px;
  position: relative;
  text-align: center;
  margin-bottom: 40px;
}
@media only screen and (max-width: 767px) {
  .heading1 {
    font-size: 20px;
  }
}
.heading1 span {
  display: block;
  font-size: 10px;
  margin-top: 40px;
}
.heading1:after {
  content: "";
  width: 100px;
  border-top: 1px solid #000;
  position: absolute;
  bottom: 30px;
  left: 50%;
  transform: translate(-50%, 0);
}

.heading-no-english {
  padding-bottom: 20px;
}

.heading-no-english:after {
  bottom: 0;
}

.fadein {
  opacity: 0.1;
  transform: translate(0, 5px);
  filter: blur(10px);
  transition: all 0.4s;
}

.fadein.scrollin {
  filter: blur(0);
  opacity: 1;
  transform: translate(0, 0);
}

.border-bottom1 {
  position: relative;
  padding-bottom: 20px;
}
.border-bottom1:after {
  content: "";
  display: block;
  border-bottom: 1px solid #000;
  width: 50px;
  position: absolute;
  bottom: 0;
  left: 0;
}

html {
  text-align: center;
  font-size: 10pt;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: "palt";
}
@media only screen and (max-width: 767px) {
  html {
    width: 100%;
    overflow-x: hidden;
    position: relative;
  }
}

body {
  font-family: kinuta-maruminkatura-stdn, serif;
  font-weight: 400;
  font-style: normal;
  overflow-x: hidden;
  position: relative;
}
@media only screen and (max-width: 767px) {
  body {
    width: 100%;
    overflow-y: hidden;
  }
}

header {
  position: fixed;
  top: 0;
  width: 100%;
  padding: 12px 20px;
  z-index: 1000;
  background-color: rgba(255, 255, 255, 0.7);
}
@media only screen and (max-width: 767px) {
  header {
    padding: 10px 15px;
  }
}
header:hover {
  background-color: rgb(255, 255, 255);
}
header h1 {
  width: 250px;
  font-size: 10px;
  position: relative;
  top: -1px;
}
@media only screen and (max-width: 767px) {
  header h1 {
    width: 180px;
  }
}
header h1 img {
  width: 100%;
}
header h1 img:hover {
  opacity: 0.6;
}
@media only screen and (min-width: 768px) {
  header nav ul#gnavi {
    position: absolute;
    left: 50%;
    top: 8px;
    transform: translate(-50%, 0);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #000;
  }
}
@media only screen and (min-width: 768px) and (min-width: 940px) and (max-width: 1129px) {
  header nav ul#gnavi {
    left: auto;
    right: 200px;
    transform: none;
  }
}
@media only screen and (min-width: 768px) and (min-width: 768px) and (max-width: 939px) {
  header nav ul#gnavi {
    left: auto;
    right: 70px;
    transform: none;
  }
}
@media only screen and (min-width: 768px) {
  header nav ul#gnavi > li {
    font-size: 16px;
    position: relative;
  }
  header nav ul#gnavi > li > div {
    display: block;
    padding: 15px 20px;
    position: relative;
  }
  header nav ul#gnavi > li > div > span.material-icons {
    margin-left: 5px;
    font-size: 14px;
    opacity: 1;
    transition: all 0.2s;
    position: relative;
    top: 0;
  }
  header nav ul#gnavi > li:hover > div > span.material-icons {
    opacity: 0;
    top: 10px;
  }
  header nav ul#gnavi > li:hover ul {
    opacity: 1;
    height: auto;
    padding: 30px;
  }
  header nav ul#gnavi > li ul {
    transition: all 0.2s;
    height: 0;
    opacity: 0;
    position: absolute;
    left: -10px;
    text-align: left;
    background-color: #fff;
    padding: 0 30px;
    overflow: hidden;
    min-width: 220px;
  }
  header nav ul#gnavi > li ul li {
    margin-bottom: 10px;
  }
  header nav ul#gnavi > li ul li:last-child {
    margin-bottom: 0;
  }
  header nav ul#gnavi > li ul li a {
    display: block;
    font-size: 14px;
    padding: 10px;
  }
  header nav ul#gnavi > li > a {
    color: #000;
    display: block;
    padding: 15px 20px;
  }
  header nav ul#gnavi > li a.underline-link {
    position: relative;
  }
  header nav ul#gnavi > li a.underline-link:after {
    display: block;
    width: 0%;
    content: "";
    position: absolute;
    left: 0;
    bottom: 5px;
    border-bottom: 2px solid #000;
    transition: all 0.2s;
  }
  header nav ul#gnavi > li a.underline-link:hover:after {
    width: 100%;
  }
  header nav ul#sns {
    position: absolute;
    right: 180px;
    top: 7px;
    display: flex;
    gap: 10px;
    padding: 15px 0;
  }
}
@media only screen and (min-width: 768px) and (min-width: 940px) and (max-width: 1129px) {
  header nav ul#sns {
    right: 20px;
  }
}
@media only screen and (min-width: 768px) and (min-width: 768px) and (max-width: 939px) {
  header nav ul#sns {
    display: none;
  }
}
@media only screen and (min-width: 768px) {
  header nav ul#sns li a {
    display: block;
    padding: 0;
  }
  header nav ul#sns li a img {
    width: 18px;
    filter: invert(1);
  }
  header nav ul#sns li a:hover {
    opacity: 0.5;
  }
  header nav div#translate {
    position: absolute;
    right: 20px;
    top: 19px;
  }
}
@media only screen and (min-width: 768px) and (min-width: 940px) and (max-width: 1129px) {
  header nav div#translate {
    display: none;
  }
}
@media only screen and (min-width: 768px) and (min-width: 768px) and (max-width: 939px) {
  header nav div#translate {
    display: none;
  }
}
@media only screen and (min-width: 768px) {
  header nav div#translate2 {
    display: flex;
    position: absolute;
    right: 20px;
    top: 22px;
  }
  header nav div#translate2 div {
    display: none;
  }
}
@media only screen and (max-width: 767px) {
  header button#menu-button {
    position: absolute;
    right: 5px;
    top: 6px;
    z-index: 1000;
    outline: none;
  }
  header nav {
    position: fixed;
    width: 90%;
    height: 100%;
    right: -100%;
    top: 0;
    background-color: #fff;
    z-index: 900;
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.2);
    padding: 50px 30px 20px;
    overflow-y: scroll;
  }
  header nav.visible {
    right: 0;
  }
  header nav ul#gnavi,
  header nav ul#sub-navi {
    text-align: left;
  }
  header nav ul#gnavi > li > div,
  header nav ul#sub-navi > li > div {
    font-size: 16px;
    padding: 10px 0;
  }
  header nav ul#gnavi > li > div span,
  header nav ul#sub-navi > li > div span {
    display: none;
  }
  header nav ul#gnavi > li > a,
  header nav ul#sub-navi > li > a {
    font-size: 16px;
    display: block;
    padding: 10px 0;
  }
  header nav ul#gnavi > li > ul,
  header nav ul#sub-navi > li > ul {
    margin-left: 10px;
    margin-top: 5px;
    border-left: 1px solid #000;
    padding-left: 10px;
    margin-bottom: 10px;
  }
  header nav ul#gnavi > li > ul > li a,
  header nav ul#sub-navi > li > ul > li a {
    display: block;
    padding: 8px 0;
  }
  header nav ul#sns {
    margin: 20px 0;
    display: flex;
  }
  header nav ul#sns li a {
    display: block;
    padding: 15px;
  }
  header nav ul#sns li a img {
    width: 18px;
    filter: invert(1);
  }
  header nav ul#sns li a:hover {
    opacity: 0.5;
  }
  header nav div#translate {
    display: none;
  }
  header nav div#translate2 {
    display: flex;
    margin-left: 9px;
    align-items: center;
  }
  header nav div#translate2 div {
    display: block;
  }
}

footer > img {
  width: 100%;
  position: relative;
  top: 20px;
}
footer > div {
  background-color: #1b5026;
}
footer > div > div {
  padding: 50px 30px 30px;
  display: flex;
  justify-content: space-between;
  text-align: left;
}
footer > div > div > div {
  color: #fff;
}
@media only screen and (max-width: 767px) {
  footer > div > div > div {
    display: none;
  }
}
footer > div > div > div h5 {
  font-size: 16px;
  margin-bottom: 20px;
}
footer > div > div > div ul.footer-navi {
  margin-bottom: 30px;
  border-left: 1px solid #fff;
  padding-left: 20px;
}
footer > div > div > div ul.footer-navi li {
  padding: 7px 0;
}
footer > div > div > div ul.footer-navi li a {
  color: #fff;
  font-size: 12px;
}
footer > div > div > div ul.footer-navi li a:hover {
  text-decoration: underline;
}
footer > div > div > div:last-child {
  width: 320px;
}
@media only screen and (max-width: 767px) {
  footer > div > div > div:last-child {
    display: block;
    width: 100%;
    text-align: center;
  }
}
footer > div > div > div:last-child > a img {
  width: 200px;
  margin-bottom: 20px;
}
footer > div > div > div:last-child address {
  display: block;
  font-size: 11px;
  font-style: normal;
  line-height: 2em;
  margin-bottom: 30px;
}
footer > div > div > div:last-child address a {
  display: inline-block;
  margin-right: 10px;
  color: #fff;
}
footer > div > div > div:last-child address a:hover {
  text-decoration: underline;
}
footer > div > div > div:last-child ul {
  margin-bottom: 30px;
}
footer > div > div > div:last-child ul li {
  margin-right: 20px;
  display: inline-block;
}
footer > div > div > div:last-child ul li a:hover {
  opacity: 0.7;
}
footer > div > div > div:last-child ul li img {
  width: 20px;
}

.spot-list {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}
@media only screen and (max-width: 767px) {
  .spot-list {
    padding: 0 10px;
  }
}
.spot-list > li {
  width: calc(25% - 20px);
  margin: 0 10px 40px;
}
@media only screen and (max-width: 767px) {
  .spot-list > li {
    width: calc(50% - 20px);
  }
}
.spot-list > li > a {
  display: block;
  text-align: left;
}
.spot-list > li > a > div {
  margin-bottom: 15px;
  height: 200px;
  overflow: hidden;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .spot-list > li > a > div {
    height: 30vw;
  }
}
.spot-list > li > a > div > span {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 10;
}
.spot-list > li > a > div > span img {
  width: 50px;
}
@media only screen and (max-width: 767px) {
  .spot-list > li > a > div > span img {
    width: 30px;
  }
}
.spot-list > li > a > div > img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 200px;
  transition: all 0.3s;
}
@media only screen and (max-width: 767px) {
  .spot-list > li > a > div > img {
    height: 30vw;
  }
}
.spot-list > li > a > span {
  display: block;
  color: #666;
  margin-bottom: 10px;
  line-height: 1.5em;
}
@media only screen and (max-width: 767px) {
  .spot-list > li > a > span {
    font-size: 11px;
  }
}
.spot-list > li > a > h3 {
  font-size: 16px;
  line-height: 1.5em;
}
@media only screen and (max-width: 767px) {
  .spot-list > li > a > h3 {
    font-size: 14px;
  }
}
.spot-list > li a:hover > div > img {
  filter: brightness(0.7);
  transform: scale(1.1, 1.1);
}
.spot-list > li a:hover > span {
  opacity: 0.5;
}
.spot-list > li a:hover > h3 {
  opacity: 0.5;
}

@media only screen and (min-width: 768px) {
  .event-list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
}
@media only screen and (max-width: 767px) {
  .event-list {
    padding: 0 20px;
  }
}
.event-list > li {
  margin-bottom: 40px;
}
@media only screen and (min-width: 768px) {
  .event-list > li {
    width: calc(50% - 20px);
  }
}
.event-list > li > a {
  text-align: left;
}
@media only screen and (min-width: 768px) {
  .event-list > li > a {
    display: flex;
    justify-content: space-between;
  }
}
.event-list > li > a > div:first-child {
  margin-bottom: 15px;
  height: 300px;
  overflow: hidden;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .event-list > li > a > div:first-child {
    width: 40%;
  }
}
@media only screen and (max-width: 767px) {
  .event-list > li > a > div:first-child {
    height: 50vw;
  }
}
.event-list > li > a > div:first-child > span {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 10;
  background-color: #e65c5c;
  color: #fff;
  padding: 8px;
  font-size: 12px;
  font-weight: bold;
}
.event-list > li > a > div:first-child > span.event-tag-soon {
  background-color: #dd8822;
}
.event-list > li > a > div:first-child > img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 300px;
  transition: all 0.3s;
}
@media only screen and (max-width: 767px) {
  .event-list > li > a > div:first-child > img {
    height: 50vw;
  }
}
@media only screen and (min-width: 768px) {
  .event-list > li > a > div:last-child {
    width: calc(60% - 20px);
  }
}
.event-list > li > a > div:last-child > time {
  margin-bottom: 15px;
  display: block;
  font-weight: bold;
  font-size: 16px;
}
@media only screen and (max-width: 767px) {
  .event-list > li > a > div:last-child > time {
    font-size: 13px;
  }
}
.event-list > li > a > div:last-child > time span {
  font-size: 21px;
}
@media only screen and (max-width: 767px) {
  .event-list > li > a > div:last-child > time span {
    font-size: 18px;
  }
}
.event-list > li > a > div:last-child > h3 {
  font-size: 18px;
  position: relative;
  padding-bottom: 15px;
}
@media only screen and (max-width: 767px) {
  .event-list > li > a > div:last-child > h3 {
    font-size: 16px;
  }
}
.event-list > li > a > div:last-child > h3:after {
  content: "";
  display: block;
  border-bottom: 1px solid #000;
  width: 50px;
  position: absolute;
  bottom: 0;
  left: 0;
}
.event-list > li > a > div:last-child p {
  font-size: 12px;
  line-height: 1.8em;
}
.event-list > li > a > div:last-child dl {
  display: flex;
  font-size: 14px;
}
.event-list > li > a > div:last-child dl dt {
  margin-right: 10px;
  padding-right: 30px;
  position: relative;
  margin-bottom: 15px;
}
.event-list > li > a > div:last-child dl dt:after {
  content: "";
  display: block;
  border-bottom: 1px solid #000;
  width: 15px;
  height: 1px;
  position: absolute;
  top: 35%;
  right: 0;
}
.event-list > li a:hover > div:first-child > img {
  filter: brightness(0.7);
  transform: scale(1.1, 1.1);
}
.event-list > li a:hover > div:last-child {
  opacity: 0.5;
}

ul.tag-list {
  display: flex;
  flex-wrap: wrap;
}
ul.tag-list li {
  padding: 5px 10px 5px 0;
  font-size: 11px;
}
ul.tag-list li.tag-area a {
  color: #dd2230;
}
ul.tag-list li.tag-eat a {
  color: #dd8822;
}
ul.tag-list li.tag-stay a {
  color: #ae53c4;
}
ul.tag-list li.tag-sightseeing a {
  color: #119000;
}
ul.tag-list li.tag-experience a {
  color: #0994b5;
}
ul.tag-list li a:hover {
  text-decoration: underline;
}

.page-title {
  position: relative;
}
.page-title img.title-bg {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 430px;
}
@media only screen and (max-width: 767px) {
  .page-title img.title-bg {
    height: 80vw;
  }
}
.page-title > div {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, calc(-50% + 30px));
  color: #fff;
  width: 100%;
}
@media only screen and (max-width: 767px) {
  .page-title > div {
    padding: 0 20px;
  }
}
.page-title > div h2 {
  font-size: 34px;
  margin-bottom: 20px;
}
@media only screen and (max-width: 767px) {
  .page-title > div h2 {
    font-size: 24px;
  }
}
.page-title > div h2 small {
  display: block;
  font-size: 14px;
  margin-bottom: 10px;
}
.page-title > div h2:after {
  border-top: 1px solid #fff !important;
}
.page-title > div p {
  margin: 0;
  text-align: center;
}

.page-title-tight img.title-bg {
  height: 230px;
}
@media only screen and (max-width: 767px) {
  .page-title-tight img.title-bg {
    height: 40vw;
  }
}
.page-title-tight > div h2 {
  font-size: 30px;
  margin-bottom: 10px;
}
@media only screen and (max-width: 767px) {
  .page-title-tight > div h2 {
    font-size: 20px;
  }
}
.page-title-tight > div h2 span {
  margin-top: 20px;
}
.page-title-tight > div h2:after {
  bottom: 20px;
}

.page-title-simple {
  text-align: center;
  padding-top: 100px;
}
@media only screen and (max-width: 767px) {
  .page-title-simple {
    padding: 80px 20px 0;
  }
}
.page-title-simple p {
  text-align: center;
}

#topic-path {
  padding: 20px 0;
  text-align: left;
}
@media only screen and (max-width: 767px) {
  #topic-path {
    padding: 20px;
  }
}
#topic-path ul {
  display: flex;
  flex-wrap: wrap;
  font-size: 12px;
}
#topic-path ul li {
  position: relative;
  padding-right: 30px;
  margin-bottom: 5px;
}
#topic-path ul li:after {
  content: "";
  border-right: 1px solid #000;
  width: 5px;
  height: 5px;
  border-bottom: 1px solid #000;
  position: absolute;
  right: 12px;
  top: 4px;
  transform: rotate(-45deg);
}
#topic-path ul li:last-child {
  padding-right: 0;
}
#topic-path ul li:last-child:after {
  border: none;
}
#topic-path ul li a:hover {
  opacity: 0.5;
}
#topic-path ul li span.material-icons {
  position: relative;
  top: -2px;
  font-size: 16px;
}

div#page-loading-fade {
  background-color: #fff;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 10000;
}

section.secondary {
  margin-bottom: 60px;
}
@media only screen and (max-width: 767px) {
  section.secondary {
    margin-bottom: 30px;
  }
}

.link-brightness:hover .link-brightness__img {
  filter: brightness(0.7);
  transform: scale(1.05, 1.05);
}
.link-brightness__wrap {
  overflow: hidden;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}

section#index-keyvisual {
  position: relative;
}
section#index-keyvisual::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(45deg, rgba(0, 0, 0, 0.3019607843) 25%, transparent 25%, transparent 75%, rgba(0, 0, 0, 0.3019607843) 75%), linear-gradient(45deg, rgba(0, 0, 0, 0.3019607843) 25%, transparent 25%, transparent 75%, rgba(0, 0, 0, 0.3019607843) 75%);
  background-position: 0.5px 0.5px, 1px 1px;
  background-size: 1px 1px;
  pointer-events: none;
  background-repeat: repeat;
}
section#index-keyvisual > video {
  -o-object-fit: cover;
     object-fit: cover;
  height: 60vw;
  width: 100%;
  max-height: 90vh;
}
@media only screen and (max-width: 767px) {
  section#index-keyvisual > video {
    height: 90vh;
  }
}
section#index-keyvisual .pc-video {
  display: block;
}
@media only screen and (max-width: 767px) {
  section#index-keyvisual .pc-video {
    display: none;
  }
}
section#index-keyvisual .sp-video {
  display: none;
}
@media only screen and (max-width: 767px) {
  section#index-keyvisual .sp-video {
    display: block;
  }
}
section#index-keyvisual > img#keyvisual-wave {
  position: absolute;
  width: 100%;
  bottom: -1px;
  left: 0;
  z-index: 10;
}
section#index-keyvisual > div {
  position: absolute;
  z-index: 10;
  bottom: 10vw;
}
@media only screen and (min-width: 768px) {
  section#index-keyvisual > div {
    left: 40px;
    display: flex;
    width: 750px;
  }
}
@media only screen and (max-width: 767px) {
  section#index-keyvisual > div {
    padding: 20px;
  }
}
@media only screen and (min-width: 768px) {
  section#index-keyvisual > div div:first-child {
    width: 240px;
    padding-right: 20px;
  }
}
@media only screen and (max-width: 767px) {
  section#index-keyvisual > div div:first-child {
    width: 40%;
    margin-bottom: 10px;
  }
}
section#index-keyvisual > div div:first-child img {
  width: 100%;
  opacity: 0.7;
}
@media only screen and (max-width: 767px) {
  section#index-keyvisual > div div:first-child img {
    opacity: 0.5;
    display: none;
  }
}
section#index-keyvisual > div div:last-child {
  color: #fff;
  text-align: left;
}
section#index-keyvisual > div div:last-child h2 {
  font-size: 38px;
  margin-bottom: 20px;
}
@media only screen and (max-width: 767px) {
  section#index-keyvisual > div div:last-child h2 {
    font-size: 24px;
  }
}
section#index-keyvisual > div div:last-child p {
  font-size: 15px;
  margin-bottom: 20px;
}
@media only screen and (max-width: 767px) {
  section#index-keyvisual > div div:last-child p {
    font-size: 12px;
    line-height: 1.7;
    text-align: left;
  }
}

section.search-spot {
  text-align: center;
}
@media only screen and (max-width: 767px) {
  section.search-spot {
    padding: 30px 0 0px;
  }
}
section.search-spot .heading1 {
  margin-bottom: 20px;
}
section.search-spot > ul {
  display: flex;
  justify-content: center;
}
@media only screen and (max-width: 767px) {
  section.search-spot > ul {
    flex-wrap: wrap;
  }
}
section.search-spot > ul li {
  width: 20%;
  border-right: 1px solid #eee;
  transition: all 0.2s;
}
@media only screen and (max-width: 767px) {
  section.search-spot > ul li {
    width: 33.3333333333%;
    border-right: none;
  }
  section.search-spot > ul li:nth-child(1), section.search-spot > ul li:nth-child(2), section.search-spot > ul li:nth-child(4) {
    border-right: 1px solid #eee;
  }
}
@media only screen and (min-width: 768px) {
  section.search-spot > ul li:first-child {
    border-left: 1px solid #eee;
  }
}
section.search-spot > ul li a {
  display: block;
  text-align: center;
  font-size: 19px;
  position: relative;
  padding: 15px 0;
}
@media only screen and (max-width: 767px) {
  section.search-spot > ul li a {
    font-size: 16px;
    padding: 20px 0;
  }
}
@media only screen and (max-width: 500px) {
  section.search-spot > ul li a {
    font-size: 3.2vw;
  }
}
section.search-spot > ul li a > img {
  margin-bottom: 20px;
  width: 60px;
  transition: all 0.3s;
}
@media only screen and (max-width: 767px) {
  section.search-spot > ul li a > img {
    margin-bottom: 10px;
  }
}
@media only screen and (max-width: 767px) {
  section.search-spot > ul li a > img {
    width: 50px;
  }
}
section.search-spot > ul li a span {
  margin-top: 24px;
  display: block;
  font-size: 9px;
}
section.search-spot > ul li a span:after {
  content: "";
  width: 30px;
  border-top: 1px solid #000;
  position: absolute;
  bottom: 35px;
  left: 50%;
  transform: translate(-50%, 0);
}
@media only screen and (max-width: 767px) {
  section.search-spot > ul li a span:after {
    bottom: 40px;
  }
}
section.search-spot > ul li:hover a {
  color: #fff;
  text-decoration: none;
}
section.search-spot > ul li:hover a img {
  filter: grayscale(100%) brightness(1000%);
  transform: scale(1.22, 1.22);
}
section.search-spot > ul li:hover a span:after {
  border-top: 1px solid #fff;
}
section.search-spot > ul li:nth-child(1):hover {
  background-color: #dd8822;
}
section.search-spot > ul li:nth-child(2):hover {
  background-color: #ae53c4;
}
section.search-spot > ul li:nth-child(3):hover {
  background-color: #119000;
}
section.search-spot > ul li:nth-child(4):hover {
  background-color: #0994b5;
}
section.search-spot > ul li:nth-child(5):hover {
  background-color: #e65c5c;
}

section#index-spot {
  margin-bottom: 80px;
  margin-top: 20px;
}
@media only screen and (max-width: 767px) {
  section#index-spot {
    margin-bottom: 20px;
  }
}

section.search-tour {
  text-align: center;
}
@media only screen and (max-width: 767px) {
  section.search-tour {
    padding: 30px 0 0px;
  }
}
section.search-tour .heading1 {
  margin-bottom: 20px;
}
section.search-tour > ul {
  display: flex;
  justify-content: center;
}
@media only screen and (max-width: 767px) {
  section.search-tour > ul {
    flex-wrap: wrap;
  }
}
section.search-tour > ul li {
  width: 27%;
  border-right: 1px solid #eee;
  transition: all 0.2s;
}
@media only screen and (max-width: 767px) {
  section.search-tour > ul li {
    width: 33.3333333333%;
  }
  section.search-tour > ul li:last-child {
    border-right: none;
  }
}
@media only screen and (min-width: 768px) {
  section.search-tour > ul li:first-child {
    border-left: 1px solid #eee;
  }
}
section.search-tour > ul li a {
  display: block;
  text-align: center;
  font-size: 19px;
  position: relative;
  padding: 15px 0;
}
@media only screen and (max-width: 767px) {
  section.search-tour > ul li a {
    font-size: 16px;
    padding: 20px 0;
  }
}
@media only screen and (max-width: 500px) {
  section.search-tour > ul li a {
    font-size: 3.2vw;
  }
}
section.search-tour > ul li a > img {
  margin-bottom: 20px;
  width: 60px;
  transition: all 0.3s;
}
@media only screen and (max-width: 767px) {
  section.search-tour > ul li a > img {
    margin-bottom: 10px;
  }
}
@media only screen and (max-width: 767px) {
  section.search-tour > ul li a > img {
    width: 50px;
  }
}
section.search-tour > ul li a span {
  margin-top: 24px;
  display: block;
  font-size: 9px;
}
section.search-tour > ul li a span:after {
  content: "";
  width: 30px;
  border-top: 1px solid #000;
  position: absolute;
  bottom: 35px;
  left: 50%;
  transform: translate(-50%, 0);
}
@media only screen and (max-width: 767px) {
  section.search-tour > ul li a span:after {
    bottom: 40px;
  }
}
section.search-tour > ul li:hover a {
  color: #fff;
  text-decoration: none;
}
section.search-tour > ul li:hover a img {
  filter: grayscale(100%) brightness(1000%);
  transform: scale(1.22, 1.22);
}
section.search-tour > ul li:hover a span:after {
  border-top: 1px solid #fff;
}
section.search-tour > ul li:nth-child(1):hover {
  background-color: #d354a0;
}
section.search-tour > ul li:nth-child(2):hover {
  background-color: #3361aa;
}
section.search-tour > ul li:nth-child(3):hover {
  background-color: #13a373;
}

section#index-tour {
  margin-bottom: 80px;
  margin-top: 20px;
}
@media only screen and (max-width: 767px) {
  section#index-tour {
    margin-bottom: 40px;
  }
}

section#index-pickup-banner {
  margin-bottom: 60px;
}
@media only screen and (max-width: 767px) {
  section#index-pickup-banner {
    margin-bottom: 10px;
  }
}
section#index-pickup-banner ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media only screen and (max-width: 767px) {
  section#index-pickup-banner ul {
    padding: 0 20px;
  }
}
section#index-pickup-banner ul li.large {
  width: calc(50% - 10px);
  margin-bottom: 20px;
}
@media only screen and (max-width: 767px) {
  section#index-pickup-banner ul li.large {
    width: 100%;
  }
}
section#index-pickup-banner ul li.small {
  width: calc(25% - 15px);
  margin-bottom: 20px;
}
@media only screen and (max-width: 767px) {
  section#index-pickup-banner ul li.small {
    width: calc(50% - 10px);
  }
}
section#index-pickup-banner ul li a img {
  transition: all 0.2s;
}
section#index-pickup-banner ul li a:hover img {
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.3);
  transform: scale(1.02, 1.02);
}

section#index-news {
  background: #dceae6; /* Old browsers */
  background: linear-gradient(135deg, #dceae6 0%, #d2e7ef 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  padding: 70px 0;
}
@media only screen and (max-width: 767px) {
  section#index-news {
    padding: 30px 0 50px;
  }
}
section#index-news > ul {
  display: flex;
  position: relative;
  z-index: 1;
}
@media only screen and (max-width: 767px) {
  section#index-news > ul {
    padding: 0 10px;
  }
}
section#index-news > ul li {
  margin-right: 10px;
  background-color: rgba(255, 255, 255, 0.2);
  padding: 20px 30px;
  font-size: 15px;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
  transition: all 0.2s;
}
@media only screen and (max-width: 767px) {
  section#index-news > ul li {
    padding: 15px;
  }
}
@media only screen and (max-width: 767px) {
  section#index-news > ul li {
    font-size: 12px;
  }
}
section#index-news > ul li.active {
  background-color: #fff;
}
section#index-news > ul li:hover {
  background-color: rgba(255, 255, 255, 0.9);
}
section#index-news > div {
  background-color: #fff;
  padding: 40px 40px 60px;
  position: relative;
  z-index: 2;
}
@media only screen and (max-width: 767px) {
  section#index-news > div {
    margin: 0 10px;
  }
}
@media only screen and (max-width: 767px) {
  section#index-news > div {
    padding: 10px 10px 60px;
  }
}
section#index-news > div ul li {
  border-bottom: 1px solid #eee;
}
section#index-news > div ul li:last-child {
  border: none;
}
section#index-news > div ul li > a strong {
  color: #0099db;
}
section#index-news > div ul li > a:hover {
  box-shadow: 0 8px 20px 0 rgba(0, 0, 0, 0.1);
  text-decoration: none;
}
section#index-news > div ul li > a:hover strong {
  text-decoration: underline;
}
section#index-news > div ul li > a,
section#index-news > div ul li > div {
  padding: 20px 20px;
  transition: all 0.2s;
}
@media only screen and (min-width: 768px) {
  section#index-news > div ul li > a,
  section#index-news > div ul li > div {
    display: flex;
    justify-content: space-between;
  }
}
@media only screen and (max-width: 767px) {
  section#index-news > div ul li > a,
  section#index-news > div ul li > div {
    display: block;
  }
}
@media only screen and (min-width: 768px) {
  section#index-news > div ul li > a > div:first-child,
  section#index-news > div ul li > div > div:first-child {
    width: 150px;
  }
}
@media only screen and (max-width: 767px) {
  section#index-news > div ul li > a > div:first-child,
  section#index-news > div ul li > div > div:first-child {
    margin-bottom: 15px;
  }
}
section#index-news > div ul li > a > div:first-child img,
section#index-news > div ul li > div > div:first-child img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100px;
}
section#index-news > div ul li > a > div:last-child,
section#index-news > div ul li > div > div:last-child {
  text-align: left;
}
@media only screen and (min-width: 768px) {
  section#index-news > div ul li > a > div:last-child,
  section#index-news > div ul li > div > div:last-child {
    width: calc(100% - 170px);
  }
}
section#index-news > div ul li > a > div:last-child span,
section#index-news > div ul li > div > div:last-child span {
  display: block;
  font-size: 12px;
  color: #666;
  margin-bottom: 15px;
  transition: all 0.2s;
}
section#index-news > div ul li > a > div:last-child strong,
section#index-news > div ul li > div > div:last-child strong {
  display: block;
  font-size: 14px;
  margin-bottom: 10px;
  line-height: 1.8em;
}
@media only screen and (max-width: 767px) {
  section#index-news > div ul li > a > div:last-child strong,
  section#index-news > div ul li > div > div:last-child strong {
    font-size: 12px;
  }
}
section#index-news > div ul li > a > div:last-child p,
section#index-news > div ul li > div > div:last-child p {
  margin: 0;
}
@media only screen and (max-width: 767px) {
  section#index-news > div ul li > a > div:last-child p,
  section#index-news > div ul li > div > div:last-child p {
    font-size: 11px;
  }
}
section#index-news > div a#index-news-more-button {
  position: absolute;
  right: 40px;
  bottom: -20px;
  color: #000;
  background-color: #fff;
  border: 1px solid #fff;
}
@media only screen and (max-width: 767px) {
  section#index-news > div a#index-news-more-button {
    right: 20px;
  }
}
section#index-news > div a#index-news-more-button:hover {
  box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.1);
}

section#index-toprated-spot {
  padding: 80px 0;
}
@media only screen and (max-width: 767px) {
  section#index-toprated-spot {
    padding: 80px 0 40px;
  }
}
section#index-toprated-spot > p {
  text-align: center;
  margin-bottom: 40px;
}

section#index-recommend-tour {
  padding: 0 0 80px;
}
@media only screen and (max-width: 767px) {
  section#index-recommend-tour {
    padding: 0 0 40px;
  }
}
section#index-recommend-tour > p {
  text-align: center;
  margin-bottom: 40px;
}
section#index-recommend-tour > a:last-child {
  margin-left: 20px;
}

section#index-recommend-content section {
  text-align: left;
  position: relative;
  margin-bottom: 50px;
}
section#index-recommend-content section > img {
  width: 90%;
}
@media only screen and (max-width: 767px) {
  section#index-recommend-content section > img {
    width: 95%;
    height: 70vw;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: 80% bottom;
       object-position: 80% bottom;
  }
}
section#index-recommend-content section > p {
  margin: 0;
  position: absolute;
  left: 30px;
  top: 30px;
  color: #fff;
  font-size: 18px;
  letter-spacing: 0.5em;
}
@media only screen and (max-width: 767px) {
  section#index-recommend-content section > p {
    left: 20px;
    top: 20px;
    font-size: 13px;
    letter-spacing: 0.2em;
  }
}
section#index-recommend-content section > div {
  background-color: #fff;
  margin-top: -100px;
  position: relative;
  z-index: 10;
  width: 60%;
  padding: 30px;
}
@media only screen and (max-width: 767px) {
  section#index-recommend-content section > div {
    margin-top: -30px;
    width: 90%;
  }
}
section#index-recommend-content section > div > span {
  font-size: 10px;
  display: block;
  margin-bottom: 10px;
}
section#index-recommend-content section > div h2 {
  font-size: 28px;
  margin-bottom: 20px;
  position: relative;
  padding-bottom: 20px;
}
@media only screen and (max-width: 767px) {
  section#index-recommend-content section > div h2 {
    font-size: 20px;
  }
}
section#index-recommend-content section > div h2 span {
  display: inline-block;
  margin-left: 20px;
  font-size: 14px;
  position: relative;
  top: -6px;
}
@media only screen and (max-width: 767px) {
  section#index-recommend-content section > div h2 span {
    margin-left: 10px;
  }
}
@media only screen and (max-width: 767px) {
  section#index-recommend-content section > div h2 span {
    top: -2px;
  }
}
section#index-recommend-content section > div h2:after {
  content: "";
  display: block;
  width: 100px;
  border-bottom: 1px solid #000;
  position: absolute;
  bottom: 0;
  left: 0;
  height: 1px;
}
section#index-recommend-content section > div p {
  font-size: 15px;
}
@media only screen and (max-width: 767px) {
  section#index-recommend-content section > div p {
    font-size: 12px;
  }
}
section#index-recommend-content section:last-child {
  text-align: right;
}
@media only screen and (max-width: 767px) {
  section#index-recommend-content section:last-child > img {
    -o-object-position: 40% bottom;
       object-position: 40% bottom;
  }
}
section#index-recommend-content section:last-child > p {
  left: calc(10% + 30px);
}
@media only screen and (max-width: 767px) {
  section#index-recommend-content section:last-child > p {
    left: calc(10% + 10px);
  }
}
section#index-recommend-content section:last-child > div {
  margin-left: 40%;
  text-align: left;
}
@media only screen and (max-width: 767px) {
  section#index-recommend-content section:last-child > div {
    margin-left: 10%;
  }
}

section#index-media ul {
  margin-bottom: 40px;
  display: flex;
  background-color: #000;
}
@media only screen and (max-width: 767px) {
  section#index-media ul {
    flex-wrap: wrap;
  }
}
section#index-media ul li {
  width: 12.5%;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  section#index-media ul li {
    width: 25%;
  }
}
section#index-media ul li a img {
  width: 100%;
  height: 200px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media only screen and (max-width: 767px) {
  section#index-media ul li a img {
    height: 20vw;
  }
}
section#index-media ul li a:hover img {
  filter: brightness(0.6);
  transform: scale(1.2, 1.2);
}

section#shimokita-lead {
  padding-top: 100px;
  margin-bottom: 100px;
  position: relative;
}
section#shimokita-lead h3 span {
  position: absolute;
  display: block;
  background-color: #FFF;
  writing-mode: vertical-rl;
  left: 0;
  top: 40px;
  padding: 20px;
  text-align: center;
  font-feature-settings: normal;
  letter-spacing: 0.2em;
}
section#shimokita-lead h3 span:first-child {
  font-size: 31px;
  left: 125px;
}
@media only screen and (max-width: 767px) {
  section#shimokita-lead h3 span:first-child {
    font-size: 18px;
  }
}
@media only screen and (max-width: 767px) {
  section#shimokita-lead h3 span:first-child {
    left: 100px;
  }
}
section#shimokita-lead h3 span:last-child {
  font-size: 56px;
  left: 15px;
}
@media only screen and (max-width: 767px) {
  section#shimokita-lead h3 span:last-child {
    font-size: 30px;
  }
}
section#shimokita-lead > img {
  width: 100%;
  position: relative;
  z-index: -1;
}
@media only screen and (max-width: 767px) {
  section#shimokita-lead > img {
    height: 70vw;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
section#shimokita-lead > div {
  margin-top: -100px;
  background-color: #FFF;
  padding: 30px;
  width: 60%;
}
@media only screen and (max-width: 767px) {
  section#shimokita-lead > div {
    margin-top: -40px;
  }
}
@media only screen and (max-width: 767px) {
  section#shimokita-lead > div {
    width: 90%;
  }
}
section#shimokita-lead > div p {
  margin: 0;
  font-size: 15px;
  line-height: 2.5em;
}
@media only screen and (max-width: 767px) {
  section#shimokita-lead > div p {
    font-size: 12px;
  }
}

section.shimokita-section {
  margin-bottom: 150px;
  position: relative;
  text-align: left;
}
section.shimokita-section h3 {
  position: absolute;
  left: calc(80% - 150px);
  top: -50px;
  background-color: #FFF;
  padding: 20px;
}
@media only screen and (max-width: 767px) {
  section.shimokita-section h3 {
    left: calc(90% - 50px);
  }
}
section.shimokita-section h3 img {
  width: 70px;
}
@media only screen and (max-width: 767px) {
  section.shimokita-section h3 img {
    width: 40px;
  }
}
section.shimokita-section > img {
  width: 80%;
  height: 570px;
  -o-object-fit: cover;
     object-fit: cover;
  position: relative;
  z-index: -1;
}
@media only screen and (max-width: 767px) {
  section.shimokita-section > img {
    width: 90%;
    height: 80vw;
  }
}
section.shimokita-section > div {
  margin-top: -100px;
  background-color: #FFF;
  padding: 30px;
  margin-left: 40%;
  width: 60%;
}
@media only screen and (max-width: 767px) {
  section.shimokita-section > div {
    margin-top: -30px;
    margin-left: 10%;
    width: 90%;
  }
}
section.shimokita-section > div > h4 {
  font-size: 18px;
  text-align: left;
  margin-bottom: 10px;
}
section.shimokita-section > div p {
  margin: 0;
  font-size: 15px;
  line-height: 2.5em;
}
@media only screen and (max-width: 767px) {
  section.shimokita-section > div p {
    font-size: 12px;
  }
}
section.shimokita-section > ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  padding: 60px 20px 0;
}
@media only screen and (max-width: 767px) {
  section.shimokita-section > ul {
    padding: 30px 20px 0;
  }
}
section.shimokita-section > ul li {
  width: 22%;
}
@media only screen and (max-width: 767px) {
  section.shimokita-section > ul li {
    width: 46%;
  }
}
section.shimokita-section > ul li img {
  margin-bottom: 20px;
}
section.shimokita-section > ul li h4 {
  font-size: 18px;
  text-align: center;
  position: relative;
  margin-bottom: 40px;
}
@media only screen and (max-width: 767px) {
  section.shimokita-section > ul li h4 {
    font-size: 14px;
  }
}
section.shimokita-section > ul li h4:after {
  display: block;
  content: "";
  position: absolute;
  width: 50px;
  left: 50%;
  transform: translate(-50%, 0);
  bottom: -20px;
  border-bottom: 1px solid #000;
}
section.shimokita-section > ul li p {
  font-size: 12px;
}
section.shimokita-section > ul li:nth-child(2), section.shimokita-section > ul li:nth-child(4) {
  padding-top: 50px;
}

section.shimokita-section-right {
  text-align: right;
}
section.shimokita-section-right h3 {
  left: auto;
  right: calc(80% - 150px);
}
@media only screen and (max-width: 767px) {
  section.shimokita-section-right h3 {
    right: calc(90% - 50px);
  }
}
section.shimokita-section-right > div {
  margin-left: auto;
  margin-right: 40%;
}
@media only screen and (max-width: 767px) {
  section.shimokita-section-right > div {
    margin-right: 10%;
  }
}
section.shimokita-section-right > div p {
  margin: 0;
  font-size: 15px;
  line-height: 2.5em;
}
@media only screen and (max-width: 767px) {
  section.shimokita-section-right > div p {
    font-size: 12px;
  }
}

section#shimokita-foods > div p:nth-child(2) {
  margin-bottom: 30px;
}
section#shimokita-foods a.button2 {
  position: absolute;
  right: 0;
  bottom: 40px;
}
@media only screen and (max-width: 767px) {
  section#shimokita-foods a.button2 {
    right: 50%;
    transform: translate(50%, 0);
    bottom: -40px;
  }
}

section#shimokita-fourseasons h3 img {
  width: 90px;
}
section#shimokita-fourseasons > ul li:nth-child(1) h4 {
  color: #D6608D;
}
section#shimokita-fourseasons > ul li:nth-child(2) h4 {
  color: #3E9319;
}
section#shimokita-fourseasons > ul li:nth-child(3) h4 {
  color: #934624;
}
section#shimokita-fourseasons > ul li:nth-child(4) h4 {
  color: #5B93A8;
}

section#shimokita-geopark h3 {
  right: calc(80% - 110px);
}
@media only screen and (max-width: 767px) {
  section#shimokita-geopark h3 {
    right: calc(85% - 60px);
  }
}
section#shimokita-geopark h3 img {
  width: 130px;
}
@media only screen and (max-width: 767px) {
  section#shimokita-geopark h3 img {
    width: 70px;
  }
}
section#shimokita-geopark a.button2 {
  position: absolute;
  right: 0;
  bottom: 40px;
}
@media only screen and (max-width: 767px) {
  section#shimokita-geopark a.button2 {
    right: 50%;
    transform: translate(50%, 0);
    bottom: -40px;
    width: 20em;
  }
}

.gradation {
  position: absolute;
  z-index: -2;
  width: 100%;
}

.gradation1 {
  transform: translate(0, -600px);
  height: 900px;
  background: #dceae6; /* Old browsers */
  background: linear-gradient(-135deg, #EFDEDE 0%, #E7FAE0 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}
@media only screen and (max-width: 767px) {
  .gradation1 {
    height: 760px;
  }
}

.gradation2 {
  transform: translate(0, -1800px);
  height: 1950px;
  background: #dceae6; /* Old browsers */
  background: linear-gradient(-135deg, #DFDFE2 0%, #FAEAF2 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}
@media only screen and (min-width: 768px) {
  .gradation2 {
    transform: translate(0, -1300px);
    height: 1600px;
  }
}

.gradation3 {
  transform: translate(0, -1400px);
  height: 1550px;
  background: #dceae6; /* Old browsers */
  background: linear-gradient(-135deg, #DFF2EE 0%, #E8E7D6 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}
@media only screen and (min-width: 768px) {
  .gradation3 {
    transform: translate(0, -1100px);
    height: 1400px;
  }
}

div#spot-search {
  margin: 50px auto 50px;
  box-shadow: 0 3px 10px 0 rgba(0, 0, 0, 0.1);
  text-align: left;
  padding: 40px 0;
  position: relative;
}
@media only screen and (max-width: 767px) {
  div#spot-search {
    margin: 10px auto 30px;
  }
}
@media only screen and (max-width: 767px) {
  div#spot-search {
    padding: 20px 0;
  }
}
div#spot-search h3 {
  font-size: 18px;
  margin: 0 40px;
}
@media only screen and (min-width: 768px) {
  div#spot-search h3 {
    margin-bottom: 20px;
  }
}
div#spot-search h3 span#post-search-toggle {
  position: absolute;
  right: -20px;
  top: 50%;
  transform: translate(0, -50%);
}
div#spot-search h3 span#post-search-toggle.open {
  transform: translate(0, -50%) rotate(-180deg);
}
div#spot-search ul {
  margin: 0 40px 0 20px;
}
@media only screen and (min-width: 768px) {
  div#spot-search ul {
    display: flex;
  }
}
@media only screen and (max-width: 767px) {
  div#spot-search ul {
    display: none;
  }
}
div#spot-search ul li {
  padding: 20px;
}
@media only screen and (min-width: 768px) {
  div#spot-search ul li {
    width: 20%;
    border-right: 1px solid #EEE;
  }
}
div#spot-search ul li:last-child {
  border-right: 0;
  text-align: center;
}
div#spot-search ul li dl dt {
  font-size: 16px;
  margin-bottom: 10px;
}
div#spot-search ul li dl dd .select-wrapper {
  position: relative;
}
div#spot-search ul li dl dd .select-wrapper:after {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  position: absolute;
  right: 15px;
  top: 35%;
  border-bottom: #333 2px solid;
  border-right: #333 2px solid;
  transform: rotate(45deg);
}
div#spot-search ul li dl dd .select-wrapper select {
  width: 100%;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  border: 1px solid #CCC;
  padding: 15px 50px 15px 15px;
  font-size: 15px;
  line-height: 1em;
  border-radius: 3px;
}
div#spot-search ul li dl dd input[type=text] {
  width: 100%;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  border: 1px solid #CCC;
  padding: 15px;
  font-size: 15px;
  line-height: 1em;
  border-radius: 3px;
}
div#spot-search ul li button {
  margin-top: 28px;
  display: inline-block;
  background-color: #000;
  color: #FFF;
  padding: 15px 60px 15px 80px;
  border: none;
  font-size: 16px;
  line-height: 1em;
  position: relative;
  transition: all 0.2s;
  cursor: pointer;
}
div#spot-search ul li button span {
  left: 60px;
  top: 14px;
  position: absolute;
  font-size: 20px;
}
div#spot-search ul li button:hover {
  background-color: #E65C5C;
}

div#search-result {
  background-color: #E65C5C;
  color: #FFF;
  padding: 30px 0;
  font-size: 16px;
}
@media only screen and (max-width: 767px) {
  div#search-result {
    padding: 10px;
  }
}
@media only screen and (max-width: 767px) {
  div#search-result {
    font-size: 14px;
  }
}
div#search-result span {
  font-size: 24px;
  position: relative;
  top: 7px;
  margin-right: 5px;
}
div#search-result strong {
  font-weight: normal;
  font-size: 20px;
}

ul#spot-index-list {
  margin-top: 50px;
}

section.spot-title {
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
  position: relative;
}
section.spot-title img.title-bg {
  width: 100%;
  height: 500px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media only screen and (max-width: 767px) {
  section.spot-title img.title-bg {
    height: 50vw;
  }
}
section.spot-title img.spot-title-wave {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 1;
}
@media only screen and (min-width: 768px) {
  section.spot-title > div#topic-path {
    position: relative;
    top: 30px;
    z-index: 3;
  }
}
section.spot-title div.spot-title-content {
  padding: 30px;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  section.spot-title div.spot-title-content {
    position: absolute;
    bottom: 0;
    background-color: #FFF;
    z-index: 2;
    left: 50%;
    transform: translate(-50%, 0);
    min-width: 500px;
  }
}
section.spot-title div.spot-title-content ul.tag-list {
  margin-bottom: 30px;
  justify-content: center;
}
section.spot-title div.spot-title-content h2 {
  padding-top: 10px;
  font-size: 30px;
  line-height: 1.5em;
}
section.spot-title div.spot-title-content p {
  text-align: center;
  font-size: 14px;
}

section.spot-view {
  padding: 50px 0;
}
@media only screen and (max-width: 767px) {
  section.spot-view {
    padding: 20px;
  }
}
section.spot-view h3.spot-lead {
  font-size: 22px;
  margin-bottom: 50px;
  line-height: 1.8em;
}
@media only screen and (max-width: 767px) {
  section.spot-view h3.spot-lead {
    font-size: 16px;
  }
}
@media only screen and (max-width: 767px) {
  section.spot-view h3.spot-lead {
    margin-bottom: 20px;
  }
}
section.spot-view div.wysiwyg-block {
  padding: 20px 0;
}
@media only screen and (max-width: 767px) {
  section.spot-view div.wysiwyg-block {
    padding: 15px 0;
  }
}
section.spot-view div.fullwidth-image img {
  width: 100%;
}
section.spot-view div.col3-image {
  display: flex;
  justify-content: space-between;
}
section.spot-view div.col3-image > div {
  width: 32%;
}
@media only screen and (max-width: 767px) {
  section.spot-view div.col3-image > div {
    font-size: 10px;
  }
}
section.spot-view div.col3-image > div > img {
  margin-bottom: 15px;
  width: 100%;
}
section.spot-view div.col2-image {
  display: flex;
  justify-content: space-between;
}
section.spot-view div.col2-image > div {
  width: 49%;
}
@media only screen and (max-width: 767px) {
  section.spot-view div.col2-image > div {
    font-size: 10px;
  }
}
section.spot-view div.col2-image > div > img {
  margin-bottom: 15px;
  width: 100%;
}
section.spot-view div.multi-image {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
section.spot-view div.multi-image > div {
  width: 49%;
  margin-bottom: 2%;
}
@media only screen and (max-width: 767px) {
  section.spot-view div.multi-image > div {
    font-size: 10px;
  }
}
section.spot-view div.multi-image > div > img {
  margin-bottom: 15px;
  width: 100%;
}
section.spot-view h4 {
  font-size: 24px;
  text-align: left;
}
@media only screen and (max-width: 767px) {
  section.spot-view h4 {
    font-size: 16px;
  }
}

div#spot-access {
  padding-top: 50px;
  padding-bottom: 80px;
  position: relative;
}
@media only screen and (max-width: 767px) {
  div#spot-access {
    padding-top: 10px;
    padding-bottom: 80px;
  }
}
div#spot-access iframe {
  width: 100%;
  height: 500px;
}
div#spot-access div#no-map {
  width: 100%;
  height: 500px;
  background-color: #F6F6F6;
  padding: 30px;
  text-align: left;
  color: #AAA;
}
@media only screen and (max-width: 767px) {
  div#spot-access div#no-map {
    display: none;
  }
}
div#spot-access > div:first-child {
  background-color: #FFF;
  padding: 30px;
  text-align: left;
  box-shadow: 0 0 30px 0 rgba(0, 0, 0, 0.1);
}
@media only screen and (min-width: 768px) {
  div#spot-access > div:first-child {
    position: absolute;
    width: 500px;
    top: 0px;
    right: 100px;
  }
}
div#spot-access > div:first-child h3 {
  font-size: 22px;
  line-height: 1.7em;
}
@media only screen and (max-width: 767px) {
  div#spot-access > div:first-child h3 {
    font-size: 17px;
  }
}
div#spot-access > div:first-child hr {
  margin: 20px auto 20px 0;
}
div#spot-access > div:first-child dl {
  display: flex;
  flex-wrap: wrap;
}
div#spot-access > div:first-child dl dt {
  width: 30%;
  padding: 15px 10px;
  line-height: 1.5em;
  border-bottom: 1px solid #EEE;
}
div#spot-access > div:first-child dl dd {
  width: 70%;
  padding: 15px 10px;
  line-height: 1.5em;
  border-bottom: 1px solid #EEE;
}

a.spot-back-index-button span {
  right: auto;
  left: -10px !important;
}

section#spot-view-other-spot {
  padding-top: 80px;
}

div#spot-map-wrapper {
  position: relative;
}
div#spot-map-wrapper div#spot-map {
  background-color: #CCC;
  width: 100%;
  height: 70vh;
}
@media only screen and (max-width: 767px) {
  div#spot-map-wrapper div#spot-map {
    height: 90vh;
  }
}
div#spot-map-wrapper ul#map-spot-list > li {
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.1);
  position: absolute;
  top: calc(50% - 180px);
  left: calc(50% - 150px);
  z-index: 1000;
  background: #FFF;
  width: 300px;
  display: none;
  transform: scale(0.1, 0.1);
  opacity: 0;
  transition: all 0.3s;
}
@media only screen and (max-width: 767px) {
  div#spot-map-wrapper ul#map-spot-list > li {
    top: calc(50% - 150px);
  }
}
div#spot-map-wrapper ul#map-spot-list > li.active {
  transform: scale(1, 1);
  opacity: 1;
  transition: all 0.3s;
}
div#spot-map-wrapper ul#map-spot-list > li > span.map-spot-close-button {
  position: absolute;
  background-color: #FFF;
  padding: 5px;
  right: -10px;
  top: -10px;
  z-index: 10;
  cursor: pointer;
  transition: all 0.25s;
}
div#spot-map-wrapper ul#map-spot-list > li > span.map-spot-close-button:hover {
  background-color: #000;
  color: #FFF;
}
div#spot-map-wrapper ul#map-spot-list > li > a > span {
  padding: 0 10px;
}
div#spot-map-wrapper ul#map-spot-list > li > a > h3 {
  padding: 0 10px;
  margin-bottom: 10px;
}
div#spot-map-wrapper ul#map-spot-list > li > a > ul {
  padding: 0 10px 10px;
}

ul#tour-index-list {
  margin-top: 50px;
}

footer.tour-view {
  background-color: #FAF5E2;
}

div.post-access-tour {
  padding-bottom: 0 !important;
}

section#tour-view-entry {
  background-color: #FAF5E2;
  padding: 80px 0 20px;
}
section#tour-view-entry > div#tour-entry {
  background-color: #FFF;
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.1);
  padding: 40px;
  margin-bottom: 50px;
}
@media only screen and (max-width: 767px) {
  section#tour-view-entry > div#tour-entry {
    padding: 20px;
  }
}
section#tour-view-entry > div#tour-entry h4 {
  font-size: 27px;
  padding-bottom: 30px;
}
@media only screen and (max-width: 767px) {
  section#tour-view-entry > div#tour-entry h4 {
    font-size: 20px;
  }
}
@media only screen and (min-width: 768px) {
  section#tour-view-entry > div#tour-entry dl {
    display: flex;
    flex-wrap: wrap;
  }
}
section#tour-view-entry > div#tour-entry dl dt {
  border-top: 1px solid #EEE;
  font-size: 20px;
  padding: 25px 0;
  text-align: left;
}
@media only screen and (min-width: 768px) {
  section#tour-view-entry > div#tour-entry dl dt {
    width: 140px;
  }
}
@media only screen and (max-width: 767px) {
  section#tour-view-entry > div#tour-entry dl dt {
    padding-bottom: 0;
    text-align: center;
  }
}
section#tour-view-entry > div#tour-entry dl dt img {
  margin-right: 5px;
  width: 30px;
}
section#tour-view-entry > div#tour-entry dl dd {
  padding: 25px 0 25px 25px;
  text-align: left;
  font-size: 16px;
}
@media only screen and (min-width: 768px) {
  section#tour-view-entry > div#tour-entry dl dd {
    width: calc(100% - 140px);
    border-top: 1px solid #EEE;
  }
}
@media only screen and (max-width: 767px) {
  section#tour-view-entry > div#tour-entry dl dd {
    padding-left: 0;
    text-align: center;
  }
}
section#tour-view-entry > div#tour-entry dl dd span.remark {
  display: inline-block;
  margin-left: 10px;
  font-size: 12px;
  padding: 10px 0;
}
section#tour-view-entry > div#tour-entry dl dd a.phone-number {
  display: inline-block;
  font-size: 26px;
}
section#tour-view-entry > div#tour-entry dl dd a.form-button {
  background-color: #D94A4A;
  color: #FFF;
  display: inline-block;
  padding: 15px 30px;
  position: relative;
}
section#tour-view-entry > div#tour-entry dl dd a.form-button span {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translate(0, -50%);
  font-size: 12px;
}

section#about-site {
  padding: 80px 0;
}
@media only screen and (max-width: 767px) {
  section#about-site {
    padding: 50px 20px;
  }
}
section#about-site > h3 {
  font-size: 23px;
  margin-bottom: 30px;
}
section#about-site > p {
  text-align: center;
  margin-bottom: 40px;
}
section#about-site > dl {
  border-top: 1px solid #EEE;
  padding: 30px 0;
}
@media only screen and (min-width: 768px) {
  section#about-site > dl {
    display: flex;
  }
}
section#about-site > dl dt {
  font-size: 18px;
  text-align: left;
  line-height: 1.5em;
}
@media only screen and (min-width: 768px) {
  section#about-site > dl dt {
    width: 200px;
  }
}
@media only screen and (max-width: 767px) {
  section#about-site > dl dt {
    margin-bottom: 20px;
  }
}
section#about-site > dl dd {
  text-align: left;
  line-height: 2em;
}
@media only screen and (min-width: 768px) {
  section#about-site > dl dd {
    width: calc(100% - 200px);
  }
}
section#about-site ul#about-link-banners {
  margin: 20px 0;
  display: flex;
  flex-wrap: wrap;
}
section#about-site ul#about-link-banners li {
  margin-bottom: 15px;
}
@media only screen and (min-width: 768px) {
  section#about-site ul#about-link-banners li:nth-child(3), section#about-site ul#about-link-banners li:nth-child(4) {
    width: 39%;
    margin-right: 1%;
  }
  section#about-site ul#about-link-banners li:nth-child(3) img, section#about-site ul#about-link-banners li:nth-child(4) img {
    width: 100%;
  }
  section#about-site ul#about-link-banners li:nth-child(5) {
    width: 20%;
  }
}
@media only screen and (max-width: 767px) {
  section#about-site ul#about-link-banners li:nth-child(3), section#about-site ul#about-link-banners li:nth-child(4) {
    width: 49%;
    margin-right: 2%;
  }
  section#about-site ul#about-link-banners li:nth-child(3) img, section#about-site ul#about-link-banners li:nth-child(4) img {
    width: 100%;
  }
  section#about-site ul#about-link-banners li:nth-child(4) {
    margin-right: 0;
  }
  section#about-site ul#about-link-banners li:nth-child(5) {
    width: 30%;
  }
}

section#media-index {
  padding: 80px 0;
}
@media only screen and (max-width: 767px) {
  section#media-index {
    padding: 50px 20px;
  }
}
@media only screen and (min-width: 768px) {
  section#media-index > ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
  }
}
section#media-index > ul li {
  margin-bottom: 50px;
}
@media only screen and (min-width: 768px) {
  section#media-index > ul li {
    width: 23%;
    margin: 0 10px 30px;
  }
}
section#media-index > ul li > a {
  text-align: left;
}
section#media-index > ul li > a > div {
  margin-bottom: 15px;
  height: 170px;
  overflow: hidden;
  position: relative;
}
@media only screen and (max-width: 767px) {
  section#media-index > ul li > a > div {
    height: 40vw;
  }
}
section#media-index > ul li > a > div > span {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 10;
  background-color: #000;
  color: #FFF;
  display: block;
  padding: 7px 8px;
  font-size: 11px;
}
section#media-index > ul li > a > div > span.media-category-youtube {
  background-color: #C00;
}
section#media-index > ul li > a > div > img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 170px;
  transition: all 0.3s;
}
@media only screen and (max-width: 767px) {
  section#media-index > ul li > a > div > img {
    height: 40vw;
  }
}
section#media-index > ul li > a > h3 {
  font-size: 16px;
  line-height: 1.5em;
  margin-bottom: 15px;
}
@media only screen and (max-width: 767px) {
  section#media-index > ul li > a > h3 {
    font-size: 14px;
  }
}
section#media-index > ul li > a dl {
  margin-bottom: 15px;
  display: flex;
  font-size: 12px;
}
section#media-index > ul li > a dl dt {
  padding-right: 20px;
  position: relative;
}
section#media-index > ul li > a dl dt:after {
  content: "";
  display: block;
  width: 1px;
  height: 20px;
  background-color: #000;
  position: absolute;
  right: 10px;
  top: -2px;
}
section#media-index > ul li > a p {
  font-size: 12px;
}
section#media-index > ul li > a:hover > div > img {
  filter: brightness(0.7);
  transform: scale(1.1, 1.1);
}
section#media-index > ul li > a:hover h3, section#media-index > ul li > a:hover dl, section#media-index > ul li > a:hover p {
  opacity: 0.5;
}

section#media-view {
  padding: 60px 0;
}
@media only screen and (max-width: 767px) {
  section#media-view {
    padding: 40px 20px;
  }
}
section#media-view > div iframe {
  width: 100%;
  height: 600px;
  margin-bottom: 60px;
}
@media only screen and (max-width: 767px) {
  section#media-view > div iframe {
    height: 60vw;
    margin-bottom: 30px;
  }
}
section#media-view h3 {
  font-size: 16px;
  line-height: 1.5em;
  margin-bottom: 15px;
  text-align: left;
}
@media only screen and (max-width: 767px) {
  section#media-view h3 {
    font-size: 14px;
  }
}
section#media-view dl {
  margin-bottom: 15px;
  display: flex;
  font-size: 12px;
}
section#media-view dl dt {
  padding-right: 20px;
  position: relative;
}
section#media-view dl dt:after {
  content: "";
  display: block;
  width: 1px;
  height: 20px;
  background-color: #000;
  position: absolute;
  right: 10px;
  top: -2px;
}
section#media-view p {
  font-size: 12px;
}
section#media-view a.media-back-index-button {
  margin-top: 40px;
}
section#media-view a.media-back-index-button span {
  right: auto;
  left: -10px !important;
}

@media only screen and (min-width: 768px) {
  li#event-search-buttons {
    width: 40% !important;
  }
  li#event-search-buttons button {
    margin-right: 10px;
    padding: 15px 50px 15px 70px !important;
  }
  li#event-search-buttons button span {
    left: 45px !important;
  }
}

ul#event-index-list {
  margin-top: 50px;
}

div#event-calendar-back-index-button {
  text-align: right;
  padding: 20px 0;
}
@media only screen and (max-width: 767px) {
  div#event-calendar-back-index-button {
    padding: 20px;
  }
}

section#event-calendar {
  padding: 50px 0;
}
@media only screen and (min-width: 768px) {
  section#event-calendar > ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
section#event-calendar > ul > li {
  padding-left: 100px;
  position: relative;
  margin-bottom: 80px;
}
@media only screen and (min-width: 768px) {
  section#event-calendar > ul > li {
    width: 49%;
  }
}
@media only screen and (max-width: 767px) {
  section#event-calendar > ul > li {
    margin-right: 20px;
    margin-bottom: 50px;
  }
}
section#event-calendar > ul > li > time {
  width: 100px;
  position: absolute;
  left: 0;
  top: 0;
}
section#event-calendar > ul > li > time span {
  display: block;
  font-weight: bold;
  text-align: center;
  font-size: 40px;
  margin-bottom: 5px;
  font-weight: normal;
}
section#event-calendar > ul > li > time span:first-child {
  font-weight: bold;
  font-size: 11px;
}
section#event-calendar > ul > li > time span:last-child {
  font-weight: bold;
  font-size: 13px;
}
section#event-calendar > ul > li > ul {
  border-top: 3px solid #000;
}
section#event-calendar > ul > li > ul > li {
  padding: 15px 0;
  border-bottom: 1px solid #EEE;
  text-align: left;
  position: relative;
  display: flex;
}
section#event-calendar > ul > li > ul > li > time {
  width: 70px;
  font-size: 20px;
}
section#event-calendar > ul > li > ul > li > time span {
  position: relative;
  top: -2px;
  left: 4px;
  font-size: 12px;
}
section#event-calendar > ul > li > ul > li > time.weekday-sun {
  color: #e65c5c;
}
section#event-calendar > ul > li > ul > li > time.weekday-sat {
  color: #0099db;
}
section#event-calendar > ul > li > ul > li ul {
  padding-top: 4px;
  width: calc(100% - 70px);
}
section#event-calendar > ul > li > ul > li ul li {
  margin-bottom: 10px;
  font-size: 14px;
}
section#event-calendar > ul > li > ul > li ul li:last-child {
  margin-bottom: 0;
}

section#information-office {
  padding: 80px 0;
}
@media only screen and (max-width: 767px) {
  section#information-office {
    padding: 40px 0 0;
  }
}
section#information-office > h3 {
  font-size: 22px;
}
@media only screen and (max-width: 767px) {
  section#information-office > h3 {
    font-size: 18px;
    padding: 0 20px;
  }
}
section#information-office > p {
  text-align: center;
  font-size: 16px;
  padding-bottom: 80px;
}
@media only screen and (max-width: 767px) {
  section#information-office > p {
    font-size: 14px;
    padding: 0 20px 40px;
  }
}
section#information-office div.float-img img {
  width: 50%;
  height: 300px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media only screen and (max-width: 767px) {
  section#information-office div.float-img img {
    width: 100%;
    height: 60vw;
  }
}
section#information-office div.float-img-left {
  text-align: left;
}
section#information-office div.float-img-right {
  text-align: right;
}
section#information-office div#float-img-first img {
  width: 70%;
  height: 400px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media only screen and (max-width: 767px) {
  section#information-office div#float-img-first img {
    width: 100%;
    height: 60vw;
  }
}
section#information-office div.float-paragraph {
  padding: 30px;
  text-align: left;
  margin-top: -100px;
  position: relative;
  z-index: 10;
  background-color: #FFF;
  margin-bottom: 30px;
}
@media only screen and (max-width: 767px) {
  section#information-office div.float-paragraph {
    margin-top: -50px;
    margin-bottom: 20px;
  }
}
section#information-office div.float-paragraph h4 {
  font-size: 18px;
  margin-bottom: 20px;
  line-height: 1.5em;
}
@media only screen and (max-width: 767px) {
  section#information-office div.float-paragraph h4 {
    font-size: 16px;
  }
}
@media only screen and (max-width: 767px) {
  section#information-office div.float-paragraph p {
    font-size: 12px;
  }
}
section#information-office div.float-paragraph-right {
  margin-left: 40%;
}
@media only screen and (max-width: 767px) {
  section#information-office div.float-paragraph-right {
    margin-left: 10%;
  }
}
section#information-office div.float-paragraph-left {
  margin-right: 40%;
}
@media only screen and (max-width: 767px) {
  section#information-office div.float-paragraph-left {
    margin-right: 10%;
  }
}

section#access {
  padding: 50px 0;
}
section#access div.lead-paragrah {
  padding-bottom: 50px;
}
@media only screen and (max-width: 767px) {
  section#access div.lead-paragrah {
    padding: 0 20px 50px;
  }
}
section#access div.lead-paragrah > h3 {
  font-size: 22px;
  margin-bottom: 20px;
}
@media only screen and (max-width: 767px) {
  section#access div.lead-paragrah > h3 {
    font-size: 18px;
  }
}
section#access div.lead-paragrah > p {
  text-align: center;
  font-size: 16px;
}
@media only screen and (max-width: 767px) {
  section#access div.lead-paragrah > p {
    font-size: 14px;
  }
}
section#access div.lead-paragrah > p > a {
  margin-top: 20px;
}
section#access div#access-vehicle-link {
  margin-bottom: 80px;
}
section#access div#access-vehicle-link ul {
  display: flex;
  justify-content: space-between;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
}
section#access div#access-vehicle-link ul > li {
  width: 20%;
  border-right: 1px solid #eee;
  text-align: center;
}
section#access div#access-vehicle-link ul > li a {
  background-color: #fff;
  display: block;
  padding: 30px 0;
  font-size: 20px;
}
@media only screen and (max-width: 767px) {
  section#access div#access-vehicle-link ul > li a {
    padding: 20px 0;
    font-size: 13px;
  }
}
section#access div#access-vehicle-link ul > li a > img {
  margin-bottom: 20px;
  height: 40px;
}
@media only screen and (max-width: 767px) {
  section#access div#access-vehicle-link ul > li a > img {
    height: 20px;
  }
}
section#access div#access-vehicle-link ul > li a > span {
  margin-top: 10px;
}
section#access div#access-vehicle-link ul > li a:hover {
  color: #fff;
  background-color: #0099db;
}
section#access div#access-vehicle-link ul > li a:hover img {
  filter: invert(1);
}
section#access section.vehicle-section {
  padding: 80px 50px;
  position: relative;
  z-index: 1;
  background-color: #fff;
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.05);
}
@media only screen and (max-width: 767px) {
  section#access section.vehicle-section {
    padding: 40px 20px;
  }
}
section#access section.vehicle-section > h4 {
  font-size: 22px;
}
section#access section.vehicle-section > h4 img {
  margin-bottom: 25px;
}
section#access section.vehicle-section > h4 hr {
  width: 50px;
  margin: 15px auto 5px;
}
section#access section.vehicle-section > h4 span {
  font-size: 10px;
}
section#access section.vehicle-section > h5 {
  margin-top: 20px;
  text-align: left;
  font-size: 16px;
  margin-bottom: 15px;
}
section#access section.vehicle-section p {
  margin: 30px 0;
}
section#access section.vehicle-section ul.link-list {
  display: flex;
  flex-wrap: wrap;
}
section#access section.vehicle-section ul.link-list li {
  margin-right: 20px;
  font-size: 14px;
  margin-bottom: 10px;
}
section#access div.partition-bg {
  height: 160px;
  width: 100%;
  background-color: #eee;
  margin-top: -30px;
  margin-bottom: -30px;
  position: relative;
  z-index: -1;
}
@media only screen and (max-width: 767px) {
  section#access div.partition-bg {
    height: 100px;
  }
}
section#access section#access-in-shimokita {
  padding-top: 80px;
}
section#access section#access-in-shimokita > div > img {
  width: 100%;
  position: relative;
  z-index: -1;
}
@media only screen and (max-width: 767px) {
  section#access section#access-in-shimokita > div > img {
    height: 70vw;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
section#access section#access-in-shimokita > div > div {
  background-color: #fff;
  width: 700px;
  padding: 60px 30px 20px;
  z-index: 1;
  margin: -80px auto 40px;
}
@media only screen and (max-width: 767px) {
  section#access section#access-in-shimokita > div > div {
    padding: 40px 20px 10px;
    width: 70%;
    margin: -40px auto 40px;
  }
}
section#access section#access-in-shimokita > div > div h3 {
  font-size: 23px;
  margin-bottom: 20px;
}
@media only screen and (max-width: 767px) {
  section#access section#access-in-shimokita > div > div h3 {
    font-size: 18px;
  }
}
section#access section#access-in-shimokita > div > div > p {
  text-align: center;
  font-size: 16px;
}
@media only screen and (max-width: 767px) {
  section#access section#access-in-shimokita > div > div > p {
    font-size: 14px;
  }
}
section#access section#access-in-shimokita section.in-shimokita-section {
  padding: 80px 50px;
  position: relative;
  z-index: 1;
  background-color: #fff;
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.05);
}
@media only screen and (max-width: 767px) {
  section#access section#access-in-shimokita section.in-shimokita-section {
    padding: 40px 20px;
  }
}
section#access section#access-in-shimokita section.in-shimokita-section > h4 {
  font-size: 24px;
  margin-bottom: 30px;
  text-align: left;
}
@media only screen and (min-width: 768px) {
  section#access section#access-in-shimokita section.in-shimokita-section div.rosen-bus {
    display: flex;
    justify-content: space-between;
  }
}
section#access section#access-in-shimokita section.in-shimokita-section div.rosen-bus > div {
  border: 10px solid #f9f9f9;
  padding: 30px;
  text-align: left;
}
@media only screen and (min-width: 768px) {
  section#access section#access-in-shimokita section.in-shimokita-section div.rosen-bus > div {
    width: 49%;
  }
}
section#access section#access-in-shimokita section.in-shimokita-section div.rosen-bus > div > h5 {
  font-size: 20px;
}
section#access section#access-in-shimokita section.in-shimokita-section div.rosen-bus > div > hr {
  margin: 20px auto 20px 0;
}
section#access section#access-in-shimokita section.in-shimokita-section div.rosen-bus > div > h6 {
  font-size: 16px;
  margin-bottom: 20px;
}
section#access section#access-in-shimokita section.in-shimokita-section div.rosen-bus > div > dl {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 30px;
}
@media only screen and (min-width: 768px) {
  section#access section#access-in-shimokita section.in-shimokita-section div.rosen-bus > div > dl {
    height: 150px;
  }
}
section#access section#access-in-shimokita section.in-shimokita-section div.rosen-bus > div > dl dt {
  width: 9em;
  padding: 10px 0;
  border-top: 1px solid #eee;
  line-height: 1.5em;
  font-size: 12px;
}
section#access section#access-in-shimokita section.in-shimokita-section div.rosen-bus > div > dl dd {
  width: calc(100% - 9em);
  padding: 10px 0;
  border-top: 1px solid #eee;
  line-height: 1.5em;
  word-wrap: break-word;
  overflow-wrap: break-word;
  font-size: 12px;
}
section#access section#access-in-shimokita section.in-shimokita-section div.demand-taxi > div > h6 {
  line-height: 1.4;
}
section#access section#access-in-shimokita section.in-shimokita-section div.demand-taxi > div > .access-spot > h6 {
  margin-bottom: 10px;
}
@media only screen and (min-width: 768px) {
  section#access section#access-in-shimokita section.in-shimokita-section ul.access-spot-list {
    display: flex;
    flex-wrap: wrap;
    gap: 15px 2%;
  }
}
section#access section#access-in-shimokita section.in-shimokita-section ul.access-spot-list > li {
  position: relative;
  border: 3px solid #f9f9f9;
  padding: 40px 20px 20px;
  text-align: left;
  font-size: 12px;
}
section#access section#access-in-shimokita section.in-shimokita-section ul.access-spot-list > li > span.area-tag {
  position: absolute;
  left: 0;
  top: 0;
  font-size: 11px;
  display: inline-block;
  padding: 5px 8px;
  color: #fff;
  background-color: #e65c5c;
}
@media only screen and (min-width: 768px) {
  section#access section#access-in-shimokita section.in-shimokita-section ul.access-spot-list > li {
    width: 32%;
  }
}
@media only screen and (max-width: 767px) {
  section#access section#access-in-shimokita section.in-shimokita-section ul.access-spot-list > li {
    margin-bottom: 20px;
  }
}
section#access section#access-in-shimokita section.in-shimokita-section iframe {
  width: 100%;
  height: 500px;
  margin-bottom: 40px;
  border: none;
}
section#access div.access-spot h6 {
  font-size: 19px;
  margin-bottom: 20px;
  line-height: 1.4em;
}
section#access div.access-spot > a {
  display: block;
  margin-bottom: 20px;
  font-size: 20px;
  font-weight: bold;
}
section#access div.access-spot > dl {
  display: flex;
  flex-wrap: wrap;
}
section#access div.access-spot > dl dt {
  width: 7em;
  padding: 10px 0;
  border-top: 1px solid #eee;
  line-height: 1.5em;
  font-size: 12px;
}
section#access div.access-spot > dl dd {
  width: calc(100% - 7em);
  padding: 10px 0;
  border-top: 1px solid #eee;
  line-height: 1.5em;
  word-wrap: break-word;
  overflow-wrap: break-word;
  font-size: 12px;
}

body.body-shimokitabito {
  background-color: #F5F2E9;
}

section.shimokitabito-title {
  position: relative;
}
section.shimokitabito-title h2 {
  width: 100%;
  position: absolute;
  left: 50%;
  top: 70px;
  transform: translate(-50%, 0);
}
@media only screen and (min-width: 768px) {
  section.shimokitabito-title h2 {
    top: 120px;
  }
}
section.shimokitabito-title h2 img {
  width: 550px;
}
@media only screen and (max-width: 767px) {
  section.shimokitabito-title h2 img {
    width: 80vw;
  }
}
section.shimokitabito-title > img {
  width: 100%;
  height: 600px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media only screen and (max-width: 767px) {
  section.shimokitabito-title > img {
    height: 100vw;
  }
}
section.shimokitabito-title > div {
  max-width: 700px;
  text-align: center;
  padding: 80px;
  margin: -100px auto 0;
  background-color: #F5F2E9;
  z-index: 1;
  position: relative;
}
@media only screen and (max-width: 767px) {
  section.shimokitabito-title > div {
    max-width: auto;
    padding: 50px 20px;
  }
}
section.shimokitabito-title > div h3 {
  font-size: 28px;
  margin-bottom: 30px;
}
section.shimokitabito-title > div p {
  text-align: center;
  line-height: 2.2em;
}

@media only screen and (max-width: 767px) {
  section#shimokitabito-index {
    padding: 20px;
  }
}
section#shimokitabito-index > h3 {
  font-size: 24px;
  margin-bottom: 30px;
  line-height: 1.5em;
}
@media only screen and (max-width: 767px) {
  section#shimokitabito-index > h3 {
    font-size: 18px;
  }
}
section#shimokitabito-index > ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
section#shimokitabito-index > ul > li {
  width: 330px;
  margin: 20px;
  position: relative;
  background-color: #FFF;
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.1);
}
@media only screen and (max-width: 767px) {
  section#shimokitabito-index > ul > li {
    width: 100%;
    margin: 0;
    margin-bottom: 30px;
  }
}
section#shimokitabito-index > ul > li > a {
  height: 100%;
  display: block;
  text-align: left;
}
section#shimokitabito-index > ul > li > a:hover {
  background-color: #000;
}
section#shimokitabito-index > ul > li > a:hover * {
  color: #FFF;
}
section#shimokitabito-index > ul > li > a:hover > img {
  filter: brightness(0.5);
}
section#shimokitabito-index > ul > li > a span[class^=area-tag] {
  color: #FFF;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  display: block;
  padding: 5px;
  font-size: 11px;
}
section#shimokitabito-index > ul > li > a span.area-tag-yokohama {
  background-color: #dd8822;
}
section#shimokitabito-index > ul > li > a span.area-tag-mutsu {
  background-color: #714371;
}
section#shimokitabito-index > ul > li > a span.area-tag-higasidori {
  background-color: #1C9E3B;
}
section#shimokitabito-index > ul > li > a span.area-tag-oma {
  background-color: #179CF4;
}
section#shimokitabito-index > ul > li > a span.area-tag-sai {
  background-color: #0F5111;
}
section#shimokitabito-index > ul > li > a span.area-tag-kazamaura {
  background-color: #e65c5c;
}
section#shimokitabito-index > ul > li > a > img {
  height: 190px;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  margin-bottom: 20px;
}
section#shimokitabito-index > ul > li > a > p {
  font-size: 12px;
  margin: 0 20px 10px;
  line-height: 1.4em;
}
section#shimokitabito-index > ul > li > a > h4 {
  font-size: 16px;
  padding: 0 20px 20px;
  line-height: 1.4em;
}

section#shimokitabito-content {
  padding: 80px 0;
}
@media only screen and (max-width: 767px) {
  section#shimokitabito-content {
    padding: 30px 0;
  }
}
section#shimokitabito-content img {
  margin-bottom: 50px;
}
@media only screen and (max-width: 767px) {
  section#shimokitabito-content img {
    margin-bottom: 30px;
  }
}
section#shimokitabito-content h3 {
  text-align: left;
  font-size: 22px;
  margin-bottom: 20px;
  line-height: 1.8em;
}
@media only screen and (max-width: 767px) {
  section#shimokitabito-content h3 {
    font-size: 16px;
    padding: 0 20px;
  }
}
section#shimokitabito-content p {
  margin-top: 0;
  margin-bottom: 50px;
  line-height: 2.4em;
  font-size: 15px;
}
@media only screen and (max-width: 767px) {
  section#shimokitabito-content p {
    margin-bottom: 30px;
    line-height: 2em;
    font-size: 14px;
    padding: 0 20px;
  }
}
section#shimokitabito-content > a {
  margin-bottom: 50px;
}
section#shimokitabito-content p#author {
  text-align: right;
  font-style: italic;
}
@media only screen and (max-width: 767px) {
  section#shimokitabito-content p#author {
    font-size: 12px;
    padding: 0 20px;
  }
}

.privacy-content {
  padding: 80px 0;
  text-align: left;
}
@media only screen and (max-width: 767px) {
  .privacy-content {
    padding: 50px 20px;
  }
}
.privacy-content h3 {
  padding-top: 30px;
}
.privacy-content p.text-align-right {
  text-align: right;
}

section#company {
  padding: 80px 0;
}
@media only screen and (max-width: 767px) {
  section#company {
    padding: 40px 0 0;
  }
}
section#company > h3 {
  font-size: 22px;
}
@media only screen and (max-width: 767px) {
  section#company > h3 {
    font-size: 18px;
    padding: 0 20px;
  }
}
section#company > p {
  text-align: center;
  font-size: 16px;
  padding-bottom: 80px;
}
@media only screen and (max-width: 767px) {
  section#company > p {
    font-size: 14px;
    padding: 0 20px 40px;
  }
}
section#company div.float-img img {
  width: 50%;
  height: 300px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media only screen and (max-width: 767px) {
  section#company div.float-img img {
    width: 100%;
    height: 60vw;
  }
}
section#company div.float-img-left {
  text-align: left;
}
section#company div.float-img-right {
  text-align: right;
}
section#company div#float-img-first img {
  width: 70%;
  height: 400px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media only screen and (max-width: 767px) {
  section#company div#float-img-first img {
    width: 100%;
    height: 60vw;
  }
}
section#company div#float-img-last img {
  width: 70%;
  height: 400px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media only screen and (max-width: 767px) {
  section#company div#float-img-last img {
    width: 100%;
    height: 60vw;
  }
}
section#company div.float-paragraph {
  padding: 30px;
  text-align: left;
  margin-top: -100px;
  position: relative;
  z-index: 10;
  background-color: #fff;
  margin-bottom: 30px;
}
@media only screen and (max-width: 767px) {
  section#company div.float-paragraph {
    margin-top: -50px;
    margin-bottom: 20px;
  }
}
section#company div.float-paragraph h4 {
  font-size: 18px;
  margin-bottom: 20px;
  line-height: 1.5em;
}
@media only screen and (max-width: 767px) {
  section#company div.float-paragraph h4 {
    font-size: 16px;
  }
}
@media only screen and (max-width: 767px) {
  section#company div.float-paragraph p {
    font-size: 12px;
  }
}
section#company div.float-paragraph-right {
  margin-left: 40%;
}
@media only screen and (max-width: 767px) {
  section#company div.float-paragraph-right {
    margin-left: 10%;
  }
}
section#company div.float-paragraph-left {
  margin-right: 40%;
}
@media only screen and (max-width: 767px) {
  section#company div.float-paragraph-left {
    margin-right: 10%;
  }
}
section#company div#history h4 {
  font-size: 25px;
  margin-bottom: 10px;
}
section#company div#history hr {
  margin: 0px auto 30px 0;
  width: 50px;
}
section#company div#history dl {
  display: flex;
  flex-wrap: wrap;
}
section#company div#history dl dt {
  margin-bottom: 20px;
  font-weight: bold;
  width: 10em;
  line-height: 1.5em;
}
section#company div#history dl dd {
  margin-bottom: 20px;
  width: calc(100% - 10em);
  line-height: 1.5em;
}

section.company-data-section {
  border-top: 1px solid #ccc;
  padding: 80px 20px;
  text-align: left;
}
section.company-data-section h3 {
  font-size: 25px;
  margin-bottom: 30px;
}
section.company-data-section dl {
  display: flex;
  flex-wrap: wrap;
}
section.company-data-section dl dt {
  width: 10em;
  padding: 10px 10px 10px 0;
  line-height: 1.8em;
}
section.company-data-section dl dd {
  width: calc(100% - 10em);
  padding: 10px;
  line-height: 1.8em;
}
section.company-data-section dl dd ol {
  list-style: decimal;
  padding-left: 1em;
}
section.company-data-section dl dd ol li {
  line-height: 1.8em;
}
section.company-data-section dl dd table tr th {
  font-weight: normal;
}
section.company-data-section dl dd table tr th,
section.company-data-section dl dd table tr td {
  padding: 0px 10px 10px 0px;
  line-height: 1.8em;
  vertical-align: top;
}
section.company-data-section dl dd.syozaiti {
  display: flex;
}
@media only screen and (max-width: 767px) {
  section.company-data-section dl dd.syozaiti {
    display: block;
  }
}
section.company-data-section dl dd.syozaiti div {
  padding-right: 30px;
  line-height: 1.8em;
}

section#company-member ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
section#company-member ul li {
  margin-bottom: 30px;
  width: 270px;
}
section#company-member ul li a img {
  width: 100%;
}
section#company-member ul li a:hover {
  opacity: 0.5;
}
section#company-member dd > a > img {
  width: 270px;
}

section#paper {
  padding: 80px 0;
}
@media only screen and (max-width: 767px) {
  section#paper {
    padding: 40px 20px;
  }
}
section#paper > div#gururin {
  margin-bottom: 40px;
}
@media only screen and (min-width: 768px) {
  section#paper > div#gururin {
    display: flex;
    justify-content: space-between;
    margin-bottom: 80px;
  }
}
@media only screen and (min-width: 768px) {
  section#paper > div#gururin > div:first-child {
    width: 360px;
  }
}
@media only screen and (max-width: 767px) {
  section#paper > div#gururin > div:first-child {
    margin-bottom: 20px;
  }
}
section#paper > div#gururin > div:first-child > img {
  border: 1px solid #ccc;
}
@media only screen and (min-width: 768px) {
  section#paper > div#gururin > div:last-child {
    width: calc(100% - 400px);
    text-align: left;
  }
}
section#paper > div#gururin > div:last-child > h3 {
  text-align: left;
  font-size: 25px;
  margin-bottom: 30px;
  line-height: 1.5em;
}
section#paper > div#gururin > div:last-child dl {
  text-align: left;
  margin: 30px 0 10px;
  display: flex;
  flex-wrap: wrap;
}
section#paper > div#gururin > div:last-child dl dt {
  width: 8em;
  margin-bottom: 20px;
  line-height: 1.8em;
}
section#paper > div#gururin > div:last-child dl dd {
  width: calc(100% - 8em);
  margin-bottom: 20px;
  line-height: 1.8em;
}
section#paper > div#gururin > div:last-child > div {
  border: 4px solid #eee;
  padding: 30px;
  text-align: left;
}
section#paper > div#gururin > div:last-child > div > h4 {
  font-size: 16px;
}
section#paper > div#gururin > div:last-child > div hr {
  margin: 15px auto 10px 0;
  width: 50px;
}
section#paper > div#gururin > div:last-child > div p {
  margin: 0;
}
section#paper ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
section#paper ul li {
  margin-bottom: 60px;
}
@media only screen and (min-width: 768px) {
  section#paper ul li {
    width: 23%;
    margin: 0 1% 4%;
  }
}
@media only screen and (max-width: 767px) {
  section#paper ul li {
    width: 46%;
    margin: 0 2% 40px;
  }
}
section#paper ul li > img {
  width: 100%;
  height: 390px;
  -o-object-fit: cover;
     object-fit: cover;
  margin-bottom: 20px;
  border: 1px solid #ccc;
}
@media only screen and (max-width: 767px) {
  section#paper ul li > img {
    height: 62vw;
  }
}
section#paper ul li > h3 {
  line-height: 1.8em;
  font-size: 16px;
  margin-bottom: 20px;
}
@media only screen and (max-width: 767px) {
  section#paper ul li > h3 {
    font-size: 13px;
  }
}

section#geodining-index {
  padding: 80px 0;
}
section#geodining-index div#geodining-video {
  margin-bottom: 50px;
}
section#geodining-index div#geodining-video > h3 {
  font-size: 25px;
}
section#geodining-index div#geodining-video > p {
  text-align: center;
  margin-bottom: 30px;
}
@media only screen and (min-width: 768px) {
  section#geodining-index div#geodining-video > ul {
    display: flex;
  }
}
section#geodining-index div#geodining-video > ul li {
  padding: 10px;
}
@media only screen and (min-width: 768px) {
  section#geodining-index div#geodining-video > ul li {
    width: 33%;
  }
}
section#geodining-index div#geodining-video > ul li iframe {
  width: 100%;
  height: 220px;
}
section#geodining-index div#geodining-index-description > img#mainvisual {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media only screen and (min-width: 768px) {
  section#geodining-index div#geodining-index-description > img#mainvisual {
    height: 800px;
  }
}
@media only screen and (max-width: 767px) {
  section#geodining-index div#geodining-index-description > img#mainvisual {
    height: 70vw;
  }
}
section#geodining-index div#geodining-index-description div#geodining-index-about {
  width: 700px;
  margin: -200px auto 0;
  background-color: #FFF;
  padding: 50px 100px;
  position: relative;
  z-index: 1;
}
@media only screen and (max-width: 767px) {
  section#geodining-index div#geodining-index-description div#geodining-index-about {
    width: 80%;
    margin: -20px auto 0;
    padding: 30px 30px;
  }
}
section#geodining-index div#geodining-index-description div#geodining-index-about h3 {
  font-size: 25px;
  margin-bottom: 30px;
}
@media only screen and (max-width: 767px) {
  section#geodining-index div#geodining-index-description div#geodining-index-about h3 {
    font-size: 20px;
    margin-bottom: 20px;
  }
}
section#geodining-index div#geodining-index-description > h4 {
  font-size: 22px;
  margin-bottom: 40px;
  line-height: 1.8em;
}
@media only screen and (max-width: 767px) {
  section#geodining-index div#geodining-index-description > h4 {
    font-size: 20px;
    margin-bottom: 20px;
    padding: 20px;
  }
}
section#geodining-index div#geodining-index-description > ul {
  display: flex;
}
section#geodining-index div#geodining-index-description > ul > li {
  width: 33.3333333333%;
}
section#geodining-index div#geodining-index-description > ul > li img {
  width: 100%;
  height: 18vw;
  -o-object-fit: cover;
     object-fit: cover;
}
@media only screen and (max-width: 767px) {
  section#geodining-index div#geodining-index-description > ul > li img {
    height: 50vw;
  }
}
section#geodining-index div#geodining-index-description div#next-geodining {
  padding: 80px 0;
  text-align: center;
}
section#geodining-index div#geodining-index-description div#next-geodining > h5 {
  font-size: 22px;
  margin-bottom: 30px;
  line-height: 1.8em;
}
section#geodining-index div#geodining-index-description div#next-geodining > img {
  width: 100%;
  margin-bottom: 30px;
}
section#geodining-index section#geodining-report-index {
  padding: 80px 0;
  background: #dceae6; /* Old browsers */
  background: linear-gradient(-135deg, #DFF2EE 0%, #E8E7D6 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}
section#geodining-index section#geodining-report-index > ul {
  padding-top: 60px;
}
section#geodining-index section#geodining-report-index > ul li {
  background-color: #FFF;
  margin-bottom: 30px;
}
@media only screen and (min-width: 768px) {
  section#geodining-index section#geodining-report-index > ul li {
    display: flex;
    margin-bottom: 80px;
  }
}
@media only screen and (min-width: 768px) {
  section#geodining-index section#geodining-report-index > ul li > div:first-child {
    width: 40%;
  }
}
section#geodining-index section#geodining-report-index > ul li > div:first-child img {
  width: 120%;
  max-width: 120%;
  position: relative;
  top: -14%;
  left: -23%;
}
section#geodining-index section#geodining-report-index > ul li > div:last-child {
  text-align: left;
  position: relative;
  padding: 40px 40px 40px 20px;
}
@media only screen and (min-width: 768px) {
  section#geodining-index section#geodining-report-index > ul li > div:last-child {
    width: 60%;
  }
}
@media only screen and (max-width: 767px) {
  section#geodining-index section#geodining-report-index > ul li > div:last-child {
    padding: 30px;
  }
}
section#geodining-index section#geodining-report-index > ul li > div:last-child img {
  position: absolute;
  top: -50px;
  right: -30px;
}
section#geodining-index section#geodining-report-index > ul li > div:last-child time {
  display: block;
  margin-bottom: 20px;
}
section#geodining-index section#geodining-report-index > ul li > div:last-child h5 {
  font-size: 25px;
}
section#geodining-index section#geodining-report-index > ul li > div:last-child h5 span {
  font-size: 10px;
  position: relative;
  left: 10px;
  top: -5px;
}
section#geodining-index section#geodining-report-index > ul li > div:last-child p {
  font-size: 12px;
  margin-bottom: 20px;
}
section#geodining-index section#geodining-report-index > ul li:nth-child(2), section#geodining-index section#geodining-report-index > ul li:nth-child(4) {
  flex-direction: row-reverse;
}
section#geodining-index section#geodining-report-index > ul li:nth-child(2) > div:first-child img, section#geodining-index section#geodining-report-index > ul li:nth-child(4) > div:first-child img {
  left: auto;
  right: 0%;
}
section#geodining-index section#geodining-report-index > ul li:nth-child(2) > div:last-child, section#geodining-index section#geodining-report-index > ul li:nth-child(4) > div:last-child {
  padding: 40px 20px 40px 40px;
}
@media only screen and (max-width: 767px) {
  section#geodining-index section#geodining-report-index > ul li:nth-child(2) > div:last-child, section#geodining-index section#geodining-report-index > ul li:nth-child(4) > div:last-child {
    padding: 30px;
  }
}
section#geodining-index section#geodining-report-index > ul li:nth-child(2) > div:last-child img, section#geodining-index section#geodining-report-index > ul li:nth-child(4) > div:last-child img {
  right: auto;
  left: -30px;
}

section#geodining-report-title > div h2 {
  margin-bottom: 10px;
}
section#geodining-report-title > div h2:after {
  border: none;
}
section#geodining-report-title > div hr {
  margin: 10px auto 20px;
}
section#geodining-report-title > div span:last-child {
  font-size: 10px;
}

section#geodining-page {
  padding: 80px 0;
}
@media only screen and (max-width: 767px) {
  section#geodining-page {
    padding: 0px 0;
  }
}
section#geodining-page h3.lead {
  font-size: 25px;
  margin-bottom: 60px;
  line-height: 1.8em;
}
@media only screen and (max-width: 767px) {
  section#geodining-page h3.lead {
    font-size: 18px;
    padding: 20px;
  }
}
@media only screen and (min-width: 768px) {
  section#geodining-page > iframe {
    width: 1000px;
    height: 600px;
    max-width: 1000px;
    margin-bottom: 100px;
  }
}
@media only screen and (max-width: 767px) {
  section#geodining-page > iframe {
    width: 100%;
    height: 70vw;
    margin-bottom: 60px;
  }
}

div#geodining-chef-gradation {
  transform: translate(0, -550px);
  height: 800px;
}
@media only screen and (max-width: 767px) {
  div#geodining-chef-gradation {
    transform: translate(0, -500px);
    height: 700px;
  }
}

section#geodining-chef > div > h4 {
  line-height: 1.8em;
}
section#geodining-chef > ul {
  justify-content: center;
}
@media only screen and (max-width: 767px) {
  section#geodining-chef > ul {
    justify-content: space-between;
  }
}
section#geodining-chef > ul#geodining-yokohama-chef > li {
  width: 15%;
}
section#geodining-chef > ul > li {
  margin: 0 20px;
  width: 20%;
}
@media only screen and (max-width: 767px) {
  section#geodining-chef > ul > li {
    width: 46%;
    margin: 0;
  }
}
section#geodining-chef > ul > li > img {
  width: 100%;
}
section#geodining-chef > ul > li h4 {
  font-size: 16px;
  line-height: 1.5em;
}
@media only screen and (max-width: 767px) {
  section#geodining-chef > ul > li h4 {
    font-size: 13px;
  }
}
section#geodining-chef > ul > li h4 span {
  display: block;
  line-height: 1.5em;
  margin-bottom: 10px;
  font-size: 12px;
}
@media only screen and (max-width: 767px) {
  section#geodining-chef > ul > li h4 span {
    font-size: 11px;
  }
}
section#geodining-chef > ul > li h4:after {
  border: none;
}

div#menu-bg-wrapper {
  margin-top: 300px;
  padding-bottom: 1px;
  position: relative;
  z-index: -2;
  background: #dceae6; /* Old browsers */
  background: linear-gradient(135deg, #EFDEDE 0%, #E7FAE0 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}
@media only screen and (max-width: 767px) {
  div#menu-bg-wrapper {
    margin-top: 100px;
  }
}
div#menu-bg-wrapper > h4 {
  font-size: 22px;
  line-height: 1.8em;
}
@media only screen and (max-width: 767px) {
  div#menu-bg-wrapper > h4 {
    font-size: 16px;
    padding: 10px 20px;
  }
}
div#menu-bg-wrapper > p {
  text-align: center;
  margin-bottom: 50px;
}
@media only screen and (max-width: 767px) {
  div#menu-bg-wrapper > p {
    font-size: 12px;
    padding: 0 20px;
  }
}

section#geodining-menu {
  position: relative;
  top: -200px;
  margin-bottom: -100px;
}
@media only screen and (max-width: 767px) {
  section#geodining-menu {
    top: -100px;
    margin-bottom: -50px;
  }
}

@media only screen and (max-width: 767px) {
  section.geodining-menu-section {
    margin-bottom: 100px;
  }
}
@media only screen and (max-width: 767px) {
  section.geodining-menu-section > img {
    height: 60vw;
  }
}
section.geodining-menu-section > div {
  position: relative;
  padding: 40px;
}
section.geodining-menu-section > div h3 {
  right: 0;
  left: auto;
  top: -90px;
  padding: 0 !important;
  background-color: transparent !important;
}
@media only screen and (max-width: 767px) {
  section.geodining-menu-section > div h3 {
    top: -70px;
  }
}
section.geodining-menu-section > div h3 img {
  width: 160px !important;
}
@media only screen and (max-width: 767px) {
  section.geodining-menu-section > div h3 img {
    width: 120px !important;
  }
}
section.geodining-menu-section > div hr {
  margin: 25px auto 20px 0;
}
section.geodining-menu-section > div h4 {
  line-height: 1.5em;
}
@media only screen and (max-width: 767px) {
  section.geodining-menu-section > div h4 {
    font-size: 15px;
  }
}
section.geodining-menu-section > div p {
  font-size: 14px;
  line-height: 1.8em;
}
@media only screen and (max-width: 767px) {
  section.geodining-menu-section > div p {
    font-size: 12px;
  }
}

section.shimokita-section-right > div h3 {
  top: -110px;
  left: 0;
  right: auto;
}
@media only screen and (max-width: 767px) {
  section.shimokita-section-right > div h3 {
    top: -90px;
  }
}

section#geodining-report {
  padding: 60px 0px 100px;
}
@media only screen and (max-width: 767px) {
  section#geodining-report {
    padding: 60px 10px 60px;
  }
}
@media only screen and (max-width: 767px) {
  section#geodining-report h3 {
    font-size: 14px;
    line-height: 1.6em;
  }
}
@media only screen and (min-width: 768px) {
  section#geodining-report ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
section#geodining-report ul li {
  text-align: left;
  margin-bottom: 20px;
  position: relative;
}
@media only screen and (min-width: 768px) {
  section#geodining-report ul li {
    width: 49%;
  }
}
section#geodining-report ul li img {
  width: 100%;
}
section#geodining-report ul li span {
  position: absolute;
  width: 100%;
  padding: 20px;
  background-color: rgba(0, 0, 0, 0.8);
  color: #FFF;
  bottom: 0;
  left: 0;
  line-height: 1.5em;
}
@media only screen and (max-width: 767px) {
  section#geodining-report ul li span {
    padding: 15px;
    font-size: 11px;
  }
}

section#geodining-place h3 img {
  width: 100%;
}

section#menu-kazamaura h4 {
  font-size: 15px;
}

body.osusumetabi {
  background: url(../images/osusumetabi/bg@2x.png) left top no-repeat;
  background-size: 100%;
  background-color: #eafbfd;
}
body.osusumetabi div#topic-path {
  padding-top: 100px;
}
body.osusumetabi section.page-title {
  padding-top: 50px;
}
body.osusumetabi section.page-title div {
  position: relative;
}
@media only screen and (max-width: 767px) {
  body.osusumetabi section.page-title div {
    transform: none;
    left: auto;
    top: auto;
  }
}
body.osusumetabi section.page-title h2 {
  color: #000;
}
body.osusumetabi section.page-title h2:after {
  border-top: 1px solid #000 !important;
}
body.osusumetabi section.page-title p {
  color: #000;
  font-size: 14px;
}
body.osusumetabi section#osusumetabi-index ul#osusumetabi-index-list {
  margin-top: 80px;
}
body.osusumetabi section#osusumetabi-index ul#osusumetabi-index-list li {
  background-color: #fff;
  padding: 30px;
  position: relative;
  margin-bottom: 70px;
}
@media only screen and (min-width: 768px) {
  body.osusumetabi section#osusumetabi-index ul#osusumetabi-index-list li {
    display: flex;
  }
}
body.osusumetabi section#osusumetabi-index ul#osusumetabi-index-list li > div:first-child {
  position: absolute;
  right: -50px;
  top: -50px;
}
@media only screen and (min-width: 768px) {
  body.osusumetabi section#osusumetabi-index ul#osusumetabi-index-list li > div:first-child {
    width: 50%;
  }
}
@media only screen and (max-width: 767px) {
  body.osusumetabi section#osusumetabi-index ul#osusumetabi-index-list li > div:first-child {
    width: 180px;
  }
}
body.osusumetabi section#osusumetabi-index ul#osusumetabi-index-list li > div:last-child {
  text-align: left;
}
@media only screen and (min-width: 768px) {
  body.osusumetabi section#osusumetabi-index ul#osusumetabi-index-list li > div:last-child {
    width: 50%;
  }
}
body.osusumetabi section#osusumetabi-index ul#osusumetabi-index-list li > div:last-child span.number {
  font-size: 70px;
  display: block;
  margin-bottom: 10px;
}
body.osusumetabi section#osusumetabi-index ul#osusumetabi-index-list li > div:last-child span.itinerary {
  display: block;
  font-size: 15px;
  margin-bottom: 10px;
}
body.osusumetabi section#osusumetabi-index ul#osusumetabi-index-list li > div:last-child h3 {
  font-size: 25px;
  line-height: 1.4;
}
body.osusumetabi section#osusumetabi-index ul#osusumetabi-index-list li > div:last-child h3 strong {
  display: inline-block;
  font-weight: normal;
  position: relative;
  z-index: 1;
}
body.osusumetabi section#osusumetabi-index ul#osusumetabi-index-list li > div:last-child h3 strong:after {
  content: "";
  border-bottom: 8px solid #fdf539;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: -1;
}
body.osusumetabi section#osusumetabi-index ul#osusumetabi-index-list li > div:last-child p {
  font-size: 15px;
}
body.osusumetabi section#osusumetabi-index ul#osusumetabi-index-list li > div:last-child > a {
  display: inline-block;
  color: #fff;
  padding: 13px 60px;
  border-radius: 5px;
  font-size: 16px;
}
body.osusumetabi section#osusumetabi-index ul#osusumetabi-index-list li > div:last-child > a:hover {
  opacity: 0.7;
}
@media only screen and (max-width: 767px) {
  body.osusumetabi section#osusumetabi-index ul#osusumetabi-index-list li > div:last-child > a {
    width: 100%;
    text-align: center;
  }
}
body.osusumetabi section#osusumetabi-index ul#osusumetabi-index-list li:nth-child(even) {
  flex-direction: row-reverse;
}
body.osusumetabi section#osusumetabi-index ul#osusumetabi-index-list li:nth-child(even) > div:first-child {
  right: auto;
  left: -40px;
}
@media only screen and (max-width: 767px) {
  body.osusumetabi section#osusumetabi-index ul#osusumetabi-index-list li:nth-child(even) > div:first-child {
    left: auto;
    right: -50px;
  }
}
body.osusumetabi section#osusumetabi-index ul#osusumetabi-index-list li:nth-child(1) span.number {
  color: #0994b5;
}
body.osusumetabi section#osusumetabi-index ul#osusumetabi-index-list li:nth-child(1) h3 {
  color: #0994b5;
}
body.osusumetabi section#osusumetabi-index ul#osusumetabi-index-list li:nth-child(1) a {
  background-color: #0994b5;
}
body.osusumetabi section#osusumetabi-index ul#osusumetabi-index-list li:nth-child(1) span.number {
  color: #71b159;
}
body.osusumetabi section#osusumetabi-index ul#osusumetabi-index-list li:nth-child(1) h3 {
  color: #71b159;
}
body.osusumetabi section#osusumetabi-index ul#osusumetabi-index-list li:nth-child(1) a {
  background-color: #71b159;
}
body.osusumetabi section#osusumetabi-index ul#osusumetabi-index-list li:nth-child(2) span.number {
  color: #dd8822;
}
body.osusumetabi section#osusumetabi-index ul#osusumetabi-index-list li:nth-child(2) h3 {
  color: #dd8822;
}
body.osusumetabi section#osusumetabi-index ul#osusumetabi-index-list li:nth-child(2) a {
  background-color: #dd8822;
}
body.osusumetabi section#osusumetabi-index ul#osusumetabi-index-list li:nth-child(3) span.number {
  color: #e65c5c;
}
body.osusumetabi section#osusumetabi-index ul#osusumetabi-index-list li:nth-child(3) h3 {
  color: #e65c5c;
}
body.osusumetabi section#osusumetabi-index ul#osusumetabi-index-list li:nth-child(3) a {
  background-color: #e65c5c;
}
body.osusumetabi section.osusumetabi-content {
  margin-top: 60px;
  background-color: #fff;
  border-top: 14px solid #0994b5;
  padding: 30px;
}
@media only screen and (max-width: 767px) {
  body.osusumetabi section.osusumetabi-content {
    padding: 20px;
    position: relative;
  }
}
@media only screen and (min-width: 768px) {
  body.osusumetabi section.osusumetabi-content div#content-title {
    display: flex;
  }
}
body.osusumetabi section.osusumetabi-content div#content-title > div:first-child {
  text-align: left;
}
@media only screen and (min-width: 768px) {
  body.osusumetabi section.osusumetabi-content div#content-title > div:first-child {
    width: 50%;
  }
}
body.osusumetabi section.osusumetabi-content div#content-title > div:first-child > div {
  display: flex;
}
@media only screen and (max-width: 767px) {
  body.osusumetabi section.osusumetabi-content div#content-title > div:first-child > div {
    flex-wrap: wrap;
    margin-bottom: 20px;
  }
}
body.osusumetabi section.osusumetabi-content div#content-title > div:first-child > div span.number {
  color: #0994b5;
  font-size: 70px;
  display: block;
  margin-bottom: 20px;
  margin-right: 20px;
}
@media only screen and (max-width: 767px) {
  body.osusumetabi section.osusumetabi-content div#content-title > div:first-child > div span.number {
    width: 100%;
  }
}
body.osusumetabi section.osusumetabi-content div#content-title > div:first-child > div div:nth-child(2) {
  margin-right: 20px;
}
body.osusumetabi section.osusumetabi-content div#content-title > div:first-child > div div:nth-child(2) img {
  width: 100px;
  -o-object-fit: cover;
     object-fit: cover;
}
body.osusumetabi section.osusumetabi-content div#content-title > div:first-child > div div:last-child {
  color: #0994b5;
  font-size: 16px;
  padding-top: 10px;
}
body.osusumetabi section.osusumetabi-content div#content-title > div:first-child > div div:last-child span {
  margin-bottom: 10px;
  display: inline-block;
  padding: 0 20px 0 20px;
  color: #000;
  font-size: 14px;
  position: relative;
}
body.osusumetabi section.osusumetabi-content div#content-title > div:first-child > div div:last-child span:before {
  content: "";
  top: -40px;
  border-style: solid;
  border-top: 20px solid #0994b5;
  border-right: 3px solid transparent;
  border-bottom: 20px solid transparent;
  border-left: 3px solid transparent;
  position: absolute;
  left: 10px;
  top: 0;
  transform: rotate(-20deg);
}
body.osusumetabi section.osusumetabi-content div#content-title > div:first-child > div div:last-child span:after {
  content: "";
  top: -40px;
  border-style: solid;
  border-top: 20px solid #0994b5;
  border-right: 3px solid transparent;
  border-bottom: 20px solid transparent;
  border-left: 3px solid transparent;
  position: absolute;
  right: 10px;
  top: 0;
  transform: rotate(20deg);
}
body.osusumetabi section.osusumetabi-content div#content-title > div:first-child span.itinerary {
  display: block;
  font-size: 15px;
  margin-bottom: 10px;
}
body.osusumetabi section.osusumetabi-content div#content-title > div:first-child h3 {
  font-size: 30px;
  line-height: 1.4;
  color: #0994b5;
}
body.osusumetabi section.osusumetabi-content div#content-title > div:first-child h3 strong {
  display: inline-block;
  font-weight: normal;
  position: relative;
  z-index: 1;
}
body.osusumetabi section.osusumetabi-content div#content-title > div:first-child h3 strong:after {
  content: "";
  border-bottom: 8px solid #fdf539;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: -1;
}
body.osusumetabi section.osusumetabi-content div#content-title > div:first-child p {
  font-size: 15px;
}
body.osusumetabi section.osusumetabi-content div#content-title > div:first-child ul.tag-list {
  font-size: 13px;
  color: #444;
}
@media only screen and (min-width: 768px) {
  body.osusumetabi section.osusumetabi-content div#content-title > div:last-child {
    width: 50%;
  }
}
body.osusumetabi section.osusumetabi-content div#content-title > div:last-child img {
  position: relative;
  top: -80px;
  right: -80px;
}
@media only screen and (max-width: 767px) {
  body.osusumetabi section.osusumetabi-content div#content-title > div:last-child img {
    position: absolute;
    top: -50px;
    right: -20px;
    width: 180px;
  }
}
body.osusumetabi div.day-wrapper {
  display: flex;
}
body.osusumetabi div.day-wrapper div.day-count {
  width: 90px;
  position: relative;
}
@media only screen and (max-width: 767px) {
  body.osusumetabi div.day-wrapper div.day-count {
    width: 50px;
  }
}
body.osusumetabi div.day-wrapper div.day-count span {
  display: inline-block;
  background: #333;
  color: #fff;
  border-radius: 90px;
  width: 90px;
  padding-top: 36px;
  height: 90px;
  font-size: 16px;
}
@media only screen and (max-width: 767px) {
  body.osusumetabi div.day-wrapper div.day-count span {
    margin-top: 20px;
    width: 50px;
    height: 50px;
    border-radius: 50px;
    padding-top: 18px;
    font-size: 12px;
    z-index: 10;
    position: relative;
  }
}
body.osusumetabi div.day-wrapper div.day-count:after {
  content: "";
  width: 2px;
  height: calc(100% - 110px);
  border-right: 2px dotted #333;
  position: absolute;
  left: 44px;
  top: 100px;
}
@media only screen and (max-width: 767px) {
  body.osusumetabi div.day-wrapper div.day-count:after {
    height: calc(100% - 67px);
  }
}
@media only screen and (max-width: 767px) {
  body.osusumetabi div.day-wrapper div.day-count:after {
    left: 24px;
    top: 80px;
  }
}
body.osusumetabi div.day-wrapper > ul > li {
  padding-top: 30px;
  padding-left: 100px;
  text-align: left;
  position: relative;
}
@media only screen and (max-width: 767px) {
  body.osusumetabi div.day-wrapper > ul > li {
    padding-left: 25px;
  }
}
body.osusumetabi div.day-wrapper > ul > li:after {
  content: "";
  width: 60px;
  height: 1px;
  border-top: 1px dotted #000;
  position: absolute;
  top: 45px;
  left: 20px;
}
@media only screen and (max-width: 767px) {
  body.osusumetabi div.day-wrapper > ul > li:after {
    left: -25px;
    width: 40px;
    z-index: 1;
  }
}
body.osusumetabi div.day-wrapper > ul > li h4 {
  color: #0994b5;
  font-size: 18px;
  line-height: 1.6;
  margin-bottom: 30px;
}
body.osusumetabi div.day-wrapper > ul > li span.osusume {
  display: inline-block;
  padding: 0 20px 0 20px;
  color: #0994b5;
  font-size: 14px;
  position: relative;
}
body.osusumetabi div.day-wrapper > ul > li span.osusume:before {
  content: "";
  top: -40px;
  border-style: solid;
  border-top: 20px solid #0994b5;
  border-right: 3px solid transparent;
  border-bottom: 20px solid transparent;
  border-left: 3px solid transparent;
  position: absolute;
  left: 10px;
  top: 0;
  transform: rotate(-20deg);
}
body.osusumetabi div.day-wrapper > ul > li span.osusume:after {
  content: "";
  top: -40px;
  border-style: solid;
  border-top: 20px solid #0994b5;
  border-right: 3px solid transparent;
  border-bottom: 20px solid transparent;
  border-left: 3px solid transparent;
  position: absolute;
  right: 10px;
  top: 0;
  transform: rotate(20deg);
}
body.osusumetabi div.day-wrapper > ul > li div.osusumetabi-col2 {
  margin-bottom: 30px;
}
@media only screen and (min-width: 768px) {
  body.osusumetabi div.day-wrapper > ul > li div.osusumetabi-col2 {
    display: flex;
    justify-content: space-between;
  }
  body.osusumetabi div.day-wrapper > ul > li div.osusumetabi-col2 > div {
    width: 48.5%;
  }
}
@media only screen and (max-width: 767px) {
  body.osusumetabi div.day-wrapper > ul > li div.osusumetabi-col2 > div {
    margin-bottom: 20px;
  }
}
body.osusumetabi div.day-wrapper > ul > li div.osusumetabi-col1 {
  margin-bottom: 30px;
}
body.osusumetabi div.day-wrapper > ul > li p {
  font-size: 15px;
  margin-bottom: 30px;
}
body.osusumetabi div.day-wrapper > ul > li p a {
  color: #0099db;
}
body.osusumetabi div.day-wrapper > ul > li .frame-image {
  border: 10px solid #fff;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
}
body.osusumetabi div.day-wrapper > ul > li div.time-table {
  margin-bottom: 30px;
  border: 3px solid #eee;
  border-radius: 10px;
  padding: 30px 15px 15px;
  line-height: 1.8;
  color: #444;
  position: relative;
  font-size: 13px;
}
body.osusumetabi div.day-wrapper > ul > li div.time-table span {
  position: absolute;
  display: inline-block;
  background-color: #aaa;
  color: #fff;
  padding: 10px 20px;
  font-size: 13px;
  border-radius: 10px;
  top: -15px;
  left: 10px;
}
body.osusumetabi div.last-comment {
  margin-top: 60px;
  display: flex;
  justify-content: space-between;
}
body.osusumetabi div.last-comment > div {
  width: 150px;
}
body.osusumetabi div.last-comment > div img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
body.osusumetabi div.last-comment > p {
  width: calc(100% - 180px);
  background-color: #0994b5;
  color: #fff;
  padding: 20px;
  font-size: 16px;
  border-radius: 10px;
  margin: 0;
  position: relative;
}
body.osusumetabi div.last-comment > p:after {
  content: "";
  border-style: solid;
  border-top: 20px solid #0994b5;
  border-right: 10px solid transparent;
  border-bottom: 20px solid transparent;
  border-left: 10px solid transparent;
  position: absolute;
  left: -24px;
  top: calc(50% - 25px);
  transform: rotate(90deg);
}

section#osusumetabi-content2 {
  border-top-color: #71b159;
}
section#osusumetabi-content2 div#content-title > div:first-child span.number {
  color: #71b159 !important;
}
section#osusumetabi-content2 div#content-title > div:first-child div div:nth-child(2) img {
  width: 50px;
}
section#osusumetabi-content2 div#content-title > div:first-child div div:last-child {
  color: #71b159 !important;
}
section#osusumetabi-content2 div#content-title > div:first-child div div:last-child span:before {
  border-top-color: #71b159;
}
section#osusumetabi-content2 div#content-title > div:first-child div div:last-child span:after {
  border-top-color: #71b159;
}
section#osusumetabi-content2 h3 {
  color: #71b159 !important;
}
section#osusumetabi-content2 h4 {
  color: #71b159;
}
section#osusumetabi-content2 span.osusume {
  color: #71b159;
}
section#osusumetabi-content2 span.osusume:before {
  border-top-color: #71b159;
}
section#osusumetabi-content2 span.osusume:after {
  border-top-color: #71b159;
}
section#osusumetabi-content2 div.last-comment > div:first-child {
  width: 100px;
}
section#osusumetabi-content2 div.last-comment > p {
  width: calc(100% - 120px);
  background-color: #71b159;
}
section#osusumetabi-content2 div.last-comment > p:after {
  border-top-color: #71b159;
}

section#osusumetabi-content3 {
  border-top-color: #dd8822;
}
section#osusumetabi-content3 div#content-title > div:first-child span.number {
  color: #dd8822 !important;
}
section#osusumetabi-content3 div#content-title > div:first-child div div:nth-child(2) img {
  width: 50px;
}
section#osusumetabi-content3 div#content-title > div:first-child div div:last-child {
  color: #dd8822 !important;
}
section#osusumetabi-content3 div#content-title > div:first-child div div:last-child span:before {
  border-top-color: #dd8822;
}
section#osusumetabi-content3 div#content-title > div:first-child div div:last-child span:after {
  border-top-color: #dd8822;
}
section#osusumetabi-content3 h3 {
  color: #dd8822 !important;
}
section#osusumetabi-content3 h4 {
  color: #dd8822;
}
section#osusumetabi-content3 span.osusume {
  color: #dd8822;
}
section#osusumetabi-content3 span.osusume:before {
  border-top-color: #dd8822;
}
section#osusumetabi-content3 span.osusume:after {
  border-top-color: #dd8822;
}
section#osusumetabi-content3 div.last-comment > div:first-child {
  width: 100px;
}
section#osusumetabi-content3 div.last-comment > p {
  width: calc(100% - 120px);
  background-color: #dd8822;
}
section#osusumetabi-content3 div.last-comment > p:after {
  border-top-color: #dd8822;
}

section#osusumetabi-content4 {
  border-top-color: #e65c5c;
}
section#osusumetabi-content4 div#content-title > div:first-child span.number {
  color: #e65c5c !important;
}
section#osusumetabi-content4 div#content-title > div:first-child div div:nth-child(2) img {
  width: 50px;
}
section#osusumetabi-content4 div#content-title > div:first-child div div:last-child {
  color: #e65c5c !important;
}
section#osusumetabi-content4 div#content-title > div:first-child div div:last-child span:before {
  border-top-color: #e65c5c;
}
section#osusumetabi-content4 div#content-title > div:first-child div div:last-child span:after {
  border-top-color: #e65c5c;
}
section#osusumetabi-content4 h3 {
  color: #e65c5c !important;
}
section#osusumetabi-content4 h4 {
  color: #e65c5c;
}
section#osusumetabi-content4 span.osusume {
  color: #e65c5c;
}
section#osusumetabi-content4 span.osusume:before {
  border-top-color: #e65c5c;
}
section#osusumetabi-content4 span.osusume:after {
  border-top-color: #e65c5c;
}
section#osusumetabi-content4 div.last-comment > div:first-child {
  width: 100px;
}
section#osusumetabi-content4 div.last-comment > p {
  width: calc(100% - 120px);
  background-color: #e65c5c;
}
section#osusumetabi-content4 div.last-comment > p:after {
  border-top-color: #e65c5c;
}

body.body-contact footer {
  background-color: #FAF5E2;
}

section#contact-list {
  background-color: #FFF;
  padding: 60px 0;
}
section#contact-list h3 {
  font-size: 25px;
  margin-bottom: 40px;
}
section#contact-list p {
  text-align: center;
  margin-bottom: 40px;
}
section#contact-list > hr {
  width: 100%;
  border-color: #eee;
}
section#contact-list > h4 {
  font-size: 18px;
  margin: 30px 0 20px;
  text-align: left;
  padding-left: 20px;
}
section#contact-list ul {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}
section#contact-list ul li {
  margin: 20px;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
  padding: 20px;
  width: 250px;
}
section#contact-list ul li a {
  border-top: 1px solid #EEE;
  margin-top: 10px;
  display: block;
  font-size: 18px;
  padding-top: 10px;
}
section#contact-list ul li a span {
  font-size: 17px;
  position: relative;
  top: 2px;
}

section#contact-form-bg {
  padding: 60px 0;
  background-color: #FAF5E2;
}
section#contact-form-bg > h4 {
  font-size: 25px;
  margin: 30px 0 50px;
}
section#contact-form-bg section.contact-section {
  background-color: #FFF;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
  padding: 40px 60px;
  margin-bottom: 50px;
}
section#contact-form-bg section.contact-section > h5 {
  font-size: 20px;
  margin-right: 4px;
  padding-bottom: 30px;
  border-bottom: 1px solid #eee;
  margin-bottom: 40px;
}
section#contact-form-bg section.contact-section > h5 span {
  font-size: 20px;
  position: relative;
  top: 3px;
}

section#contact-tel > div {
  display: flex;
  justify-content: space-between;
}
section#contact-tel > div > div {
  border: 4px solid #F6F6F6;
  padding: 30px;
  width: 48%;
  text-align: left;
}
section#contact-tel > div > div h6 {
  font-size: 18px;
  margin-bottom: 20px;
}
section#contact-tel > div > div a {
  font-size: 20px;
}
section#contact-tel > div > div hr {
  margin-left: 0;
}
section#contact-tel > div > div p {
  margin: 0;
}

section#contact-form > p {
  margin: 0 0 30px;
}
section#contact-form span.require {
  color: #e65c5c;
}

.form1 .error-heading {
  background-color: #C00;
  color: #FFF;
  padding: 20px;
  font-size: 16px;
  margin-bottom: 15px;
  text-align: left;
}
.form1 .form-error {
  color: #C00;
  text-align: left;
}
.form1 .form-error li {
  margin-bottom: 10px;
}
.form1 dl {
  display: flex;
  flex-wrap: wrap;
}
.form1 dl dt {
  width: 10em;
  text-align: left;
  padding: 35px 0 20px;
  font-size: 16px;
}
.form1 dl dd {
  width: calc(100% - 12em);
  text-align: left;
  padding: 20px 0;
}
.form1 dl dd span {
  display: inline-block;
  margin-left: 10px;
  font-size: 12px;
}
.form1 input[type=text], .form1 input[type=tel] {
  border: 1px solid #DDD;
  padding: 15px;
  font-size: 14px;
  width: 100%;
}
.form1 input[type=text].input-short, .form1 input[type=tel].input-short {
  width: 15em;
}
.form1 textarea {
  border: 1px solid #DDD;
  padding: 15px;
  font-size: 14px;
  line-height: 1.8em;
  height: 100px;
  width: 100%;
}
.form1 button.button-send {
  margin: 40px 0;
  width: 200px;
  background-color: #e65c5c;
}
.form1 button.button-send:hover {
  opacity: 0.7;
}

body.news-view {
  padding-top: 100px;
}
@media only screen and (max-width: 767px) {
  body.news-view {
    padding-top: 80px;
  }
}

section.news-view-content {
  text-align: left;
  padding-top: 30px;
}
section.news-view-content span#news-date-and-category {
  display: block;
  margin-bottom: 20px;
}
section.news-view-content h2#news-title {
  font-size: 24px;
  margin-bottom: 40px;
}

div.wysiwyg-block a {
  color: #0087d5 !important;
  text-decoration: underline !important;
}
div.wysiwyg-block a:hover {
  text-decoration: none !important;
}
div.wysiwyg-block img {
  margin-top: 30px;
  border: 1px solid #ddd;
}
div.wysiwyg-block p {
  margin: 26px 0 -4px;
  font-size: 14px;
  line-height: 1.75;
}
div.wysiwyg-block h2,
div.wysiwyg-block h3,
div.wysiwyg-block h4,
div.wysiwyg-block h5,
div.wysiwyg-block h6 {
  font-weight: bold;
  font-family: serif;
  line-height: 1.5;
  padding: 20px 0 0;
}
div.wysiwyg-block h3 {
  font-size: 24px;
}
div.wysiwyg-block h4 {
  font-size: 22px;
}
div.wysiwyg-block h5 {
  font-size: 20px;
}
div.wysiwyg-block h6 {
  font-size: 18px;
}
div.wysiwyg-block ol,
div.wysiwyg-block ul {
  padding-left: 1.5em;
  margin-top: 20px;
}
div.wysiwyg-block ol li,
div.wysiwyg-block ul li {
  line-height: 1.3em;
  margin-top: 10px;
}
div.wysiwyg-block ol {
  list-style: decimal;
}
div.wysiwyg-block ul {
  list-style: disc;
}
div.wysiwyg-block blockquote {
  border: 1px solid #eee;
  margin: 0;
  padding: 10px;
  line-height: 1.4em;
}
div.wysiwyg-block div.editor-blank {
  height: 1px;
  margin-top: 37px;
}
div.wysiwyg-block a.linktype1 {
  display: inline-block;
  margin: 35px 0 0 !important;
  font-size: 12px;
}
div.wysiwyg-block .btn--heian2 {
  margin-top: 35px;
  background-color: #fff;
  border: 1px solid #000 !important;
  border-radius: 50px !important;
  color: #000;
  position: relative;
  font-size: 14px !important;
  padding: 10px 20px !important;
  display: block !important;
}
@media only screen and (min-width: 768px) {
  div.wysiwyg-block .btn--heian2 {
    margin: 35px 120px 0;
  }
  div.wysiwyg-block .btn--heian2:hover {
    opacity: 0.7;
  }
}
div.wysiwyg-block .btn--heian2:after {
  content: "";
  display: inline-block;
  width: 5px;
  height: 5px;
  border-right: 1.5px solid #000;
  border-top: 1.5px solid #000;
  transform: rotate(45deg);
  position: relative;
  right: -7px;
  top: -2px;
}
div.wysiwyg-block .btn--heian3 {
  margin-top: 35px;
  background-color: #000 !important;
  border: 1px solid #000 !important;
  border-radius: 50px !important;
  color: #fff !important;
  position: relative;
  font-size: 14px !important;
  padding: 10px 20px !important;
  display: block !important;
}
@media only screen and (min-width: 768px) {
  div.wysiwyg-block .btn--heian3 {
    margin: 35px 120px 0;
  }
  div.wysiwyg-block .btn--heian3:hover {
    opacity: 0.7;
  }
}
div.wysiwyg-block .btn--heian3:after {
  content: "";
  display: inline-block;
  width: 5px;
  height: 5px;
  border-right: 1.5px solid #fff;
  border-top: 1.5px solid #fff;
  transform: rotate(45deg);
  position: relative;
  right: -7px;
  top: -2px;
}
div.wysiwyg-block .btn--heian4 {
  margin-top: 35px;
  background-color: #000 !important;
  border: 1px solid #000 !important;
  border-radius: 50px !important;
  color: #fff !important;
  position: relative;
  font-size: 14px !important;
  padding: 10px 20px !important;
  display: block !important;
}
@media only screen and (min-width: 768px) {
  div.wysiwyg-block .btn--heian4 {
    margin: 35px 120px 0;
  }
  div.wysiwyg-block .btn--heian4:hover {
    opacity: 0.7;
  }
}
div.wysiwyg-block .btn--heian4:before {
  content: "";
  background-image: url(/palace/admin_common/i/phone.svg);
  background-size: 20px;
  background-position: left top;
  background-repeat: no-repeat;
  width: 20px;
  height: 20px;
  display: inline-block;
  position: absolute;
  transform: translate(-23px, -3px);
  filter: invert(100);
}
div.wysiwyg-block .btn--heian4:after {
  content: "";
  display: inline-block;
  width: 5px;
  height: 5px;
  border-right: 1.5px solid #fff;
  border-top: 1.5px solid #fff;
  transform: rotate(45deg);
  position: relative;
  right: -7px;
  top: -2px;
}

@media only screen and (max-width: 767px) {
  section#kurashiten-index {
    padding-bottom: 50px;
  }
}
section#kurashiten-index div#kruashiten-index-title {
  position: relative;
}
section#kurashiten-index div#kruashiten-index-title > img {
  width: 100%;
  height: 590px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media only screen and (max-width: 767px) {
  section#kurashiten-index div#kruashiten-index-title > img {
    height: 120vw;
  }
}
section#kurashiten-index div#kruashiten-index-title h2 {
  top: 50%;
  left: 50%;
  position: absolute;
  border: 1px solid #000;
  padding: 20px;
  line-height: 1em;
  font-size: 36px;
  background-color: rgba(255, 255, 255, 0.9);
  writing-mode: vertical-rl;
  font-feature-settings: normal;
  transform: translate(-50%, -50%);
}
@media only screen and (max-width: 767px) {
  section#kurashiten-index div#kruashiten-index-title h2 {
    font-size: 26px;
  }
}
section#kurashiten-index div#index-slide {
  display: flex;
  padding: 50px 0;
}
@media only screen and (max-width: 767px) {
  section#kurashiten-index div#index-slide {
    flex-wrap: wrap;
    flex-direction: column-reverse;
    padding: 40px 0;
  }
}
section#kurashiten-index div#index-slide h3 {
  font-size: 30px;
  writing-mode: vertical-rl;
  font-feature-settings: normal;
  text-align: left;
  line-height: 1.8em;
  letter-spacing: 0.2em;
  margin: 0 auto;
  font-size: 24px;
}
@media only screen and (min-width: 768px) {
  section#kurashiten-index div#index-slide h3 {
    font-size: 30px;
    width: 320px;
    padding-right: 40px;
  }
}
@media only screen and (max-width: 767px) {
  section#kurashiten-index div#index-slide h3 {
    margin-top: 50px;
  }
}
@media only screen and (min-width: 768px) {
  section#kurashiten-index div#index-slide > div {
    width: calc(100% - 200px);
  }
}
@media only screen and (max-width: 767px) {
  section#kurashiten-index div#index-slide > div {
    width: 100%;
  }
}
@media only screen and (min-width: 768px) {
  section#kurashiten-index div#index-slide div.swiper-slide {
    width: 340px;
  }
}
section#kurashiten-index div#index-slide div.swiper-slide img {
  -o-object-fit: cover;
     object-fit: cover;
}
@media only screen and (min-width: 768px) {
  section#kurashiten-index div#index-slide div.swiper-slide img {
    height: 340px;
    width: 100%;
  }
}
section#kurashiten-index div#index-fadecol2 {
  display: flex;
  justify-content: space-between;
  max-width: 1300px;
  margin: 60px auto 0;
}
@media only screen and (max-width: 767px) {
  section#kurashiten-index div#index-fadecol2 {
    margin-top: 0;
  }
}
section#kurashiten-index div#index-fadecol2 > div.fade1 {
  width: 850px;
}
@media only screen and (max-width: 767px) {
  section#kurashiten-index div#index-fadecol2 > div.fade1 {
    width: 100%;
  }
}
section#kurashiten-index div#index-fadecol2 > div.fade1 .swiper-slide {
  width: 850px;
  height: 520px;
}
@media only screen and (max-width: 767px) {
  section#kurashiten-index div#index-fadecol2 > div.fade1 .swiper-slide {
    width: 100%;
    height: 120vw;
  }
}
section#kurashiten-index div#index-fadecol2 > div.fade1 .swiper-slide img {
  width: 100%;
  height: 520px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media only screen and (max-width: 767px) {
  section#kurashiten-index div#index-fadecol2 > div.fade1 .swiper-slide img {
    height: 120vw;
  }
}
section#kurashiten-index div#index-fadecol2 > div.fade2 {
  padding-left: 30px;
  width: 330px;
  position: relative;
  top: 100px;
}
section#kurashiten-index div#index-fadecol2 > div.fade2 .swiper-slide {
  width: 330px;
  height: 520px;
}
section#kurashiten-index div#index-fadecol2 > div.fade2 .swiper-slide img {
  width: 100%;
  height: 520px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media only screen and (max-width: 767px) {
  section#kurashiten-index div#index-fadecol2 > div.fade2 {
    display: none;
  }
}
section#kurashiten-index div#index-maindescription {
  display: inline-block;
  writing-mode: vertical-rl;
  font-feature-settings: normal;
  max-width: 700px;
  text-align: left;
}
@media only screen and (min-width: 768px) {
  section#kurashiten-index div#index-maindescription {
    height: 350px;
    margin: 100px auto 0;
  }
}
@media only screen and (max-width: 767px) {
  section#kurashiten-index div#index-maindescription {
    height: 100vw;
    margin: 60px auto 0;
  }
}
section#kurashiten-index div#index-maindescription h3 {
  font-size: 28px;
  line-height: 2;
  letter-spacing: 0.2em;
}
@media only screen and (max-width: 767px) {
  section#kurashiten-index div#index-maindescription h3 {
    font-size: 23px;
  }
}
section#kurashiten-index div#index-maindescription p {
  font-size: 15px;
  line-height: 2.5;
  letter-spacing: 0.2em;
}
@media only screen and (max-width: 767px) {
  section#kurashiten-index div#index-maindescription p {
    margin-left: 0;
  }
}
section#kurashiten-index div#index-shimokitabito {
  max-width: 1300px;
  margin: 100px auto 0;
}
@media only screen and (min-width: 768px) {
  section#kurashiten-index div#index-shimokitabito {
    display: flex;
  }
}
@media only screen and (max-width: 767px) {
  section#kurashiten-index div#index-shimokitabito {
    padding: 40px;
    margin-top: 20px;
  }
}
section#kurashiten-index div#index-shimokitabito > div.fade3 {
  width: calc(100% - 500px);
  height: 450px;
}
@media only screen and (max-width: 767px) {
  section#kurashiten-index div#index-shimokitabito > div.fade3 {
    width: 100%;
    height: 60vw;
  }
}
section#kurashiten-index div#index-shimokitabito > div.fade3 .swiper-slide {
  width: 100%;
  height: 450px;
}
@media only screen and (max-width: 767px) {
  section#kurashiten-index div#index-shimokitabito > div.fade3 .swiper-slide {
    width: 100%;
    height: 60vw;
  }
}
section#kurashiten-index div#index-shimokitabito > div.fade3 .swiper-slide img {
  width: 100%;
  height: 450px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media only screen and (max-width: 767px) {
  section#kurashiten-index div#index-shimokitabito > div.fade3 .swiper-slide img {
    width: 100%;
    height: 60vw;
  }
}
section#kurashiten-index div#index-shimokitabito > div.shimokitabito-more {
  text-align: left;
}
@media only screen and (min-width: 768px) {
  section#kurashiten-index div#index-shimokitabito > div.shimokitabito-more {
    width: 500px;
    padding: 60px 100px;
  }
}
@media only screen and (max-width: 767px) {
  section#kurashiten-index div#index-shimokitabito > div.shimokitabito-more {
    text-align: center;
  }
}
section#kurashiten-index div#index-shimokitabito > div.shimokitabito-more h3 {
  width: 160px;
  font-size: 40px;
  text-align: center;
  position: relative;
}
@media only screen and (max-width: 767px) {
  section#kurashiten-index div#index-shimokitabito > div.shimokitabito-more h3 {
    width: 120px;
    margin: 40px auto 0;
    font-size: 30px;
  }
}
section#kurashiten-index div#index-shimokitabito > div.shimokitabito-more h3 span {
  margin-top: 10px;
  display: block;
  font-size: 16px;
}
@media only screen and (max-width: 767px) {
  section#kurashiten-index div#index-shimokitabito > div.shimokitabito-more h3 span {
    font-size: 12px;
  }
}
section#kurashiten-index div#index-shimokitabito > div.shimokitabito-more h3:after {
  display: block;
  content: "";
  width: 10px;
  height: 40px;
  border: 1px solid #000;
  border-right: none;
  position: absolute;
  left: 0;
  top: 0;
}
@media only screen and (max-width: 767px) {
  section#kurashiten-index div#index-shimokitabito > div.shimokitabito-more h3:after {
    width: 5px;
    height: 30px;
  }
}
section#kurashiten-index div#index-shimokitabito > div.shimokitabito-more h3:before {
  display: block;
  content: "";
  width: 10px;
  height: 40px;
  border: 1px solid #000;
  border-left: none;
  position: absolute;
  right: 0;
  top: 0;
}
@media only screen and (max-width: 767px) {
  section#kurashiten-index div#index-shimokitabito > div.shimokitabito-more h3:before {
    width: 5px;
    height: 30px;
  }
}
section#kurashiten-index div#index-shimokitabito > div.shimokitabito-more p {
  font-size: 16px;
  margin-top: 30px;
  line-height: 2.5;
}
section#kurashiten-index div#index-shimokitabito > div.shimokitabito-more a {
  margin-top: 30px;
}
section#kurashiten-index section#tabitaiken {
  max-width: 1000px;
  margin: 0 auto;
  padding-top: 140px;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  section#kurashiten-index section#tabitaiken {
    padding: 40px 25px 0;
  }
}
section#kurashiten-index section#tabitaiken > h3 {
  position: relative;
  display: inline-block;
  writing-mode: vertical-rl;
  font-feature-settings: normal;
  font-size: 50px;
  text-align: center;
  margin: 0 auto;
  padding: 0 100px;
}
@media only screen and (max-width: 767px) {
  section#kurashiten-index section#tabitaiken > h3 {
    font-size: 30px;
  }
}
section#kurashiten-index section#tabitaiken > h3 > img {
  position: absolute;
  width: 184px;
  z-index: -1;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media only screen and (max-width: 767px) {
  section#kurashiten-index section#tabitaiken > h3 > img {
    width: 104px;
  }
}
section#kurashiten-index section#tabitaiken > h4 {
  font-size: 40px;
  line-height: 2;
  margin-top: 50px;
}
@media only screen and (max-width: 767px) {
  section#kurashiten-index section#tabitaiken > h4 {
    font-size: 20px;
  }
}
section#kurashiten-index section#tabitaiken > p {
  margin-top: 40px;
  text-align: center;
}
section#kurashiten-index section#tabitaiken ul {
  margin-top: 90px;
}
@media only screen and (max-width: 767px) {
  section#kurashiten-index section#tabitaiken ul {
    margin-top: 40px;
  }
}
section#kurashiten-index section#tabitaiken ul li {
  display: flex;
  margin-bottom: 80px;
}
@media only screen and (max-width: 767px) {
  section#kurashiten-index section#tabitaiken ul li {
    display: flex;
    flex-direction: column-reverse;
    border-top: 1px solid #CCC;
    padding-top: 40px;
    margin-bottom: 40px;
  }
}
@media only screen and (min-width: 768px) {
  section#kurashiten-index section#tabitaiken ul li {
    border-top: 1px solid #CCC;
  }
  section#kurashiten-index section#tabitaiken ul li:nth-child(even) {
    flex-direction: row-reverse;
  }
  section#kurashiten-index section#tabitaiken ul li:nth-child(even) > div:first-child {
    padding-left: 50px;
    padding-right: 0;
  }
  section#kurashiten-index section#tabitaiken ul li:nth-child(even) > div:first-child a {
    left: 50px;
  }
}
section#kurashiten-index section#tabitaiken ul li > div:first-child {
  text-align: left;
  position: relative;
}
@media only screen and (min-width: 768px) {
  section#kurashiten-index section#tabitaiken ul li > div:first-child {
    padding-right: 50px;
    width: 50%;
  }
}
section#kurashiten-index section#tabitaiken ul li > div:first-child span.vol {
  display: inline-block;
  padding: 20px 0;
  position: relative;
  top: -1px;
}
@media only screen and (min-width: 768px) {
  section#kurashiten-index section#tabitaiken ul li > div:first-child span.vol {
    border-top: 1px solid #000;
  }
}
section#kurashiten-index section#tabitaiken ul li > div:first-child span.vol img {
  width: 80px;
}
@media only screen and (max-width: 767px) {
  section#kurashiten-index section#tabitaiken ul li > div:first-child span.vol img {
    width: 60px;
  }
}
section#kurashiten-index section#tabitaiken ul li > div:first-child span.end {
  margin-top: 20px;
  font-size: 24px;
  color: #DD2230;
  display: inline-block;
  line-height: 1em;
}
@media only screen and (max-width: 767px) {
  section#kurashiten-index section#tabitaiken ul li > div:first-child span.end {
    margin: 0 0 10px;
  }
}
section#kurashiten-index section#tabitaiken ul li > div:first-child span.limit {
  margin-top: 20px;
  background-color: #333333;
  padding: 7px 10px;
  font-size: 14px;
  color: #FFF;
  display: inline-block;
  line-height: 1em;
}
@media only screen and (max-width: 767px) {
  section#kurashiten-index section#tabitaiken ul li > div:first-child span.limit {
    margin-top: 5px;
  }
}
section#kurashiten-index section#tabitaiken ul li > div:first-child h5 {
  margin-top: 30px;
  font-size: 20px;
  line-height: 2em;
}
@media only screen and (max-width: 767px) {
  section#kurashiten-index section#tabitaiken ul li > div:first-child h5 {
    font-size: 16px;
    margin-top: 20px;
  }
}
section#kurashiten-index section#tabitaiken ul li > div:first-child span.date {
  margin-top: 30px;
  background-color: #EEE;
  padding: 15px;
  font-size: 16px;
  line-height: 1.7em;
  display: inline-block;
}
@media only screen and (max-width: 767px) {
  section#kurashiten-index section#tabitaiken ul li > div:first-child span.date {
    margin-top: 20px;
    display: block;
  }
}
section#kurashiten-index section#tabitaiken ul li > div:first-child div.price {
  margin: 30px 0;
  font-size: 16px;
  line-height: 2.5em;
}
section#kurashiten-index section#tabitaiken ul li > div:first-child div.price span {
  font-size: 26px;
}
@media only screen and (max-width: 767px) {
  section#kurashiten-index section#tabitaiken ul li > div:first-child div.price {
    margin-top: 20px;
    font-size: 13px;
  }
  section#kurashiten-index section#tabitaiken ul li > div:first-child div.price span {
    font-size: 20px;
  }
}
@media only screen and (max-width: 767px) {
  section#kurashiten-index section#tabitaiken ul li > div:first-child a {
    width: 100%;
    text-align: center;
  }
}
@media only screen and (min-width: 768px) {
  section#kurashiten-index section#tabitaiken ul li > div:last-child {
    width: 50%;
    padding-top: 80px;
  }
}
section#kurashiten-index section#tabitaiken ul li > div:last-child img {
  width: 100%;
}

section#kurashiten-onlinetour section.page-title img {
  height: 280px;
}
@media only screen and (max-width: 767px) {
  section#kurashiten-onlinetour section.page-title img {
    height: 60vw;
  }
}
section#kurashiten-onlinetour section#online-tour-lead {
  text-align: center;
}
section#kurashiten-onlinetour section#online-tour-lead > p:first-child {
  font-size: 20px;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  section#kurashiten-onlinetour section#online-tour-lead > p:first-child {
    font-size: 16px;
  }
}
section#kurashiten-onlinetour section#online-tour-lead > p:first-child:after {
  content: "";
  display: block;
  height: 1px;
  width: 70px;
  background-color: #000;
  margin: 10px auto 0;
}
section#kurashiten-onlinetour section#online-tour-lead .tour-end {
  display: inline-block;
  margin-bottom: 0;
  padding: 5px 25px;
  background: #DD2230;
  color: #fff;
  font-size: 20px;
}
section#kurashiten-onlinetour section#online-tour-lead > h2 {
  font-size: 24px;
  line-height: 2;
  margin-top: 60px;
}
@media only screen and (max-width: 767px) {
  section#kurashiten-onlinetour section#online-tour-lead > h2 {
    font-size: 20px;
  }
}
section#kurashiten-onlinetour section#online-tour-lead > img {
  max-width: 1200px;
  margin-top: 60px;
}
@media only screen and (max-width: 767px) {
  section#kurashiten-onlinetour section#online-tour-lead > img {
    width: 100%;
  }
}
section#kurashiten-onlinetour section#online-tour-lead > h3 {
  margin-top: 60px;
  font-size: 24px;
  line-height: 2;
}
@media only screen and (max-width: 767px) {
  section#kurashiten-onlinetour section#online-tour-lead > h3 {
    font-size: 16px;
    padding: 0 20px;
  }
}
section#kurashiten-onlinetour section#online-tour-lead > p:last-child {
  margin-top: 30px;
  font-size: 14px;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  section#kurashiten-onlinetour section#online-tour-lead > p:last-child {
    font-size: 13px;
    padding: 0 20px;
  }
}
section#kurashiten-onlinetour section.online-tour-section {
  margin-top: 100px;
}
@media only screen and (min-width: 768px) {
  section#kurashiten-onlinetour section.online-tour-section {
    margin-left: calc((100% - 1000px) / 2);
  }
}
section#kurashiten-onlinetour section.online-tour-section > div {
  border-top: 1px solid #EEE;
}
@media only screen and (min-width: 768px) {
  section#kurashiten-onlinetour section.online-tour-section > div {
    padding-right: calc((100% - 1000px) / 2);
  }
}
section#kurashiten-onlinetour section.online-tour-section > div div.section-main {
  display: flex;
  justify-content: space-between;
}
section#kurashiten-onlinetour section.online-tour-section > div div.section-main > h3 {
  writing-mode: vertical-rl;
  font-feature-settings: normal;
  font-size: 50px;
  text-align: left;
  border-top: 1px solid #000;
  position: relative;
  top: -1px;
  padding: 60px 30px 0;
}
@media only screen and (max-width: 767px) {
  section#kurashiten-onlinetour section.online-tour-section > div div.section-main > h3 {
    font-size: 30px;
  }
}
section#kurashiten-onlinetour section.online-tour-section > div div.section-main > div {
  width: 80%;
  padding-top: 60px;
}
@media only screen and (max-width: 767px) {
  section#kurashiten-onlinetour section.online-tour-section > div div.section-main > div {
    padding-right: 30px;
  }
}
section#kurashiten-onlinetour section.online-tour-section > div div.section-main > div > img {
  width: 100%;
  height: 500px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media only screen and (max-width: 767px) {
  section#kurashiten-onlinetour section.online-tour-section > div div.section-main > div > img {
    height: 70vw;
  }
}
section#kurashiten-onlinetour section.online-tour-section > div div.section-main > div h4 {
  font-size: 25px;
  margin-top: 40px;
  line-height: 1.5;
}
@media only screen and (max-width: 767px) {
  section#kurashiten-onlinetour section.online-tour-section > div div.section-main > div h4 {
    margin-top: 20px;
    font-size: 18px;
  }
}
section#kurashiten-onlinetour section.online-tour-section > div div.section-main > div p {
  margin: 40px 0 0;
  font-size: 14px;
}
@media only screen and (max-width: 767px) {
  section#kurashiten-onlinetour section.online-tour-section > div div.section-main > div p {
    margin: 20px 0 0;
  }
}
@media only screen and (max-width: 767px) {
  section#kurashiten-onlinetour section.online-tour-section > div div.section-main-2photo {
    display: block;
  }
}
section#kurashiten-onlinetour section.online-tour-section > div div.section-main-2photo > div {
  width: 37%;
  text-align: left;
}
@media only screen and (max-width: 767px) {
  section#kurashiten-onlinetour section.online-tour-section > div div.section-main-2photo > div {
    width: 100%;
  }
}
section#kurashiten-onlinetour section.online-tour-section > div div.section-main-2photo > div > img {
  height: 350px;
}
section#kurashiten-onlinetour section.online-tour-section > div div.section-main-2photo > div h4 {
  margin-top: 20px;
  font-size: 18px;
}
section#kurashiten-onlinetour section.online-tour-section > div div.section-main-2photo > div h4 small {
  font-size: 12px;
}
section#kurashiten-onlinetour section.online-tour-section > div div.section-main-2photo > div p {
  margin-top: 20px;
}
section#kurashiten-onlinetour section.online-tour-section > div ul.photos {
  margin-top: 50px;
}
@media only screen and (min-width: 768px) {
  section#kurashiten-onlinetour section.online-tour-section > div ul.photos {
    display: flex;
    justify-content: space-between;
  }
}
@media only screen and (max-width: 767px) {
  section#kurashiten-onlinetour section.online-tour-section > div ul.photos {
    padding: 0 30px;
  }
}
@media only screen and (min-width: 768px) {
  section#kurashiten-onlinetour section.online-tour-section > div ul.photos li {
    width: 30%;
  }
}
@media only screen and (max-width: 767px) {
  section#kurashiten-onlinetour section.online-tour-section > div ul.photos li {
    margin-top: 30px;
  }
}
section#kurashiten-onlinetour section.online-tour-section > div ul.photos li img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
section#kurashiten-onlinetour section.online-tour-section > div ul.photos li p {
  margin: 20px 0 0;
  font-size: 13px;
  text-align: justify;
}
section#kurashiten-onlinetour section.online-tour-section > div a {
  margin-top: 40px;
}
section#kurashiten-onlinetour section.online-tour-section-reverse div.section-main {
  flex-direction: row-reverse;
}
@media only screen and (max-width: 767px) {
  section#kurashiten-onlinetour section.online-tour-section-reverse div.section-main > div {
    padding-right: 0;
    padding-left: 30px;
  }
}
section#kurashiten-onlinetour div.plan {
  margin-top: 40px;
  border: 30px solid #eee;
  padding: 30px;
}
@media only screen and (max-width: 767px) {
  section#kurashiten-onlinetour div.plan {
    margin: 30px 30px 0;
    border: 10px solid #eee;
  }
}
@media only screen and (min-width: 768px) {
  section#kurashiten-onlinetour div.plan {
    display: flex;
    justify-content: space-between;
  }
}
section#kurashiten-onlinetour div.plan > img {
  width: 320px;
  height: 320px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media only screen and (max-width: 767px) {
  section#kurashiten-onlinetour div.plan > img {
    width: 100%;
    height: 100%;
  }
}
section#kurashiten-onlinetour div.plan > div {
  width: calc(100% - 320px - 30px);
}
@media only screen and (max-width: 767px) {
  section#kurashiten-onlinetour div.plan > div {
    margin-top: 30px;
    width: 100%;
  }
}
section#kurashiten-onlinetour div.plan > div h4 {
  background-color: #EEE;
  font-size: 24px;
  padding: 20px;
  text-align: left;
}
@media only screen and (max-width: 767px) {
  section#kurashiten-onlinetour div.plan > div h4 {
    font-size: 20px;
  }
}
section#kurashiten-onlinetour div.plan > div h5 {
  margin-top: 20px;
  font-size: 20px;
  text-align: left;
}
@media only screen and (max-width: 767px) {
  section#kurashiten-onlinetour div.plan > div h5 {
    font-size: 17px;
    line-height: 1.7;
  }
}
section#kurashiten-onlinetour div.plan > div ul.prices {
  margin-top: 30px;
}
@media only screen and (min-width: 768px) {
  section#kurashiten-onlinetour div.plan > div ul.prices {
    display: flex;
    justify-content: space-between;
  }
}
section#kurashiten-onlinetour div.plan > div ul.prices li {
  padding: 10px;
  border: 1px solid #CCC;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  section#kurashiten-onlinetour div.plan > div ul.prices li {
    width: 32%;
  }
}
@media only screen and (max-width: 767px) {
  section#kurashiten-onlinetour div.plan > div ul.prices li {
    margin-top: 20px;
  }
}
section#kurashiten-onlinetour div.plan > div ul.prices li dl dt {
  font-size: 15px;
  line-height: 1.7;
}
@media only screen and (min-width: 768px) {
  section#kurashiten-onlinetour div.plan > div ul.prices li dl dt {
    height: 4em;
  }
}
section#kurashiten-onlinetour div.plan > div ul.prices li dl dd strong {
  font-size: 24px;
  color: #e65c5c;
}
section#kurashiten-onlinetour div.plan > div > p {
  font-size: 15px;
}
@media only screen and (max-width: 767px) {
  section#kurashiten-onlinetour div.plan > div > p {
    font-size: 13px;
  }
}
section#kurashiten-onlinetour section#tour-overview {
  margin-top: 100px;
}
@media only screen and (max-width: 767px) {
  section#kurashiten-onlinetour section#tour-overview {
    padding: 0 30px;
  }
}
section#kurashiten-onlinetour section#tour-overview h3 {
  font-size: 24px;
}
@media only screen and (max-width: 767px) {
  section#kurashiten-onlinetour section#tour-overview h3 {
    font-size: 20px;
  }
}
section#kurashiten-onlinetour section#tour-overview h3:after {
  content: "";
  display: block;
  height: 1px;
  width: 70px;
  background-color: #000;
  margin: 10px auto 0;
}
section#kurashiten-onlinetour section#tour-overview h4 {
  margin-top: 40px;
  font-size: 30px;
  line-height: 1.7;
}
@media only screen and (max-width: 767px) {
  section#kurashiten-onlinetour section#tour-overview h4 {
    font-size: 24px;
  }
}
section#kurashiten-onlinetour section#tour-overview h4 small {
  font-size: 18px;
}
section#kurashiten-onlinetour section#tour-overview table {
  max-width: 700px;
  margin: 50px auto 0;
  text-align: left;
  border-bottom: 1px solid #CCC;
}
section#kurashiten-onlinetour section#tour-overview table th, section#kurashiten-onlinetour section#tour-overview table td {
  padding: 20px;
  line-height: 2;
  font-size: 16px;
}
@media only screen and (max-width: 767px) {
  section#kurashiten-onlinetour section#tour-overview table th, section#kurashiten-onlinetour section#tour-overview table td {
    padding: 10px;
    font-size: 14px;
  }
}
section#kurashiten-onlinetour section#tour-overview table tr {
  border-top: 1px solid #CCC;
}
section#kurashiten-onlinetour section#tour-overview table th {
  font-weight: normal;
}
@media only screen and (max-width: 767px) {
  section#kurashiten-onlinetour section#tour-overview table th {
    width: 6em;
  }
}
section#kurashiten-onlinetour section#tour-overview table td ol {
  padding-left: 1.2em;
  list-style: decimal;
}
section#kurashiten-onlinetour section#tour-overview table td ol li {
  line-height: 2;
}
section#kurashiten-onlinetour section#tour-overview a {
  margin-top: 80px;
  background-color: #e65c5c;
  font-size: 24px;
  padding: 20px 50px;
}
section#kurashiten-onlinetour section#tour-overview a span {
  top: -3px;
}
@media only screen and (max-width: 767px) {
  section#kurashiten-onlinetour section#tour-overview a {
    font-size: 20px;
    margin-top: 40px;
  }
}

section#rentacar {
  padding-bottom: 50px;
}
section#rentacar div.lead-paragrah {
  padding: 50px 0 80px;
}
@media only screen and (max-width: 767px) {
  section#rentacar div.lead-paragrah {
    padding: 15px 20px 50px;
  }
}
section#rentacar div.lead-paragrah > h3 {
  font-size: 26px;
  margin: 40px;
}
@media only screen and (max-width: 767px) {
  section#rentacar div.lead-paragrah > h3 {
    font-size: 22px;
    margin: 25px;
  }
}
section#rentacar div.lead-paragrah > ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-column-gap: 30px;
  max-width: 730px;
  margin: 0 auto;
}
@media only screen and (max-width: 767px) {
  section#rentacar div.lead-paragrah > ul {
    grid-template-columns: 1fr;
    grid-row-gap: 20px;
    max-width: 350px;
  }
}
section#rentacar div.lead-paragrah > ul > li a {
  display: block;
  max-width: 350px;
  border-radius: 10px;
  padding: 6px 0;
  position: relative;
}
section#rentacar div.lead-paragrah > ul > li a::after {
  content: "";
  position: absolute;
  bottom: -20px;
  left: 50%;
  border: 5px solid transparent;
  border-top: 6px solid #fff;
}
section#rentacar div.lead-paragrah > ul > li a:hover {
  opacity: 0.7;
}
section#rentacar div.lead-paragrah > ul > li a img {
  max-height: 80px;
}
section#rentacar div.lead-paragrah > ul > li:nth-of-type(1) a {
  background-color: #ed0000;
  border-bottom: 24px solid #ed0000;
}
section#rentacar div.lead-paragrah > ul > li:nth-of-type(2) a {
  border: 2px solid #00a040;
  border-bottom: 24px solid #00a040;
}
section#rentacar div.lead-paragrah > ul > li p {
  text-align: center;
  margin-bottom: 0;
}
section#rentacar .main-section h4 {
  color: #fff;
  padding: 65px 0 130px;
  z-index: -1;
  position: relative;
}
@media only screen and (max-width: 767px) {
  section#rentacar .main-section h4 {
    padding: 20px 0 140px;
  }
}
section#rentacar .main-section h4 div {
  font-size: 32px;
  line-height: 1.2em;
  margin: 30px 20px 60px;
}
@media only screen and (max-width: 767px) {
  section#rentacar .main-section h4 div {
    font-size: 20px;
    margin: 20px;
  }
}
section#rentacar .main-section h4 img {
  max-height: 80px;
}
section#rentacar .main-section .howto-section {
  background-color: #fff;
  box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.1607843137);
  margin-top: -130px;
  padding: 50px;
  counter-reset: item;
  list-style-type: none;
  text-align: justify;
}
@media only screen and (max-width: 767px) {
  section#rentacar .main-section .howto-section {
    padding: 30px 20px;
  }
}
section#rentacar .main-section .howto-section > li {
  position: relative;
  border-bottom: 1px solid #ccc;
  margin-bottom: 50px;
}
@media only screen and (max-width: 767px) {
  section#rentacar .main-section .howto-section > li {
    margin-bottom: 30px;
  }
}
section#rentacar .main-section .howto-section > li:before {
  counter-increment: item;
  content: "0" counter(item);
  color: #ED0000;
  position: absolute;
  font-size: 56px;
  top: 22px;
}
@media only screen and (max-width: 767px) {
  section#rentacar .main-section .howto-section > li:before {
    font-size: 36px;
    top: 20px;
  }
}
section#rentacar .main-section .howto-section > li:last-of-type {
  border-bottom: none;
  margin-bottom: 20px;
}
section#rentacar .main-section .howto-section > li .howto-title {
  margin-left: 80px;
  font-size: 25px;
  padding: 15px 0 15px 30px;
  border-left: 1px solid #000;
  text-align: left;
}
@media only screen and (max-width: 767px) {
  section#rentacar .main-section .howto-section > li .howto-title {
    margin-left: 60px;
    font-size: 20px;
    padding: 10px 0 10px 20px;
    line-height: 1.5;
  }
}
section#rentacar .main-section .howto-section > li .howto-contents {
  display: block;
  margin: 2.5em 0 3.5em;
  text-align: left;
}
@media only screen and (max-width: 767px) {
  section#rentacar .main-section .howto-section > li .howto-contents {
    margin: 1.7em 0;
  }
}
section#rentacar .main-section .howto-section > li .howto-contents .textlink2 {
  overflow-wrap: break-word;
}
section#rentacar .main-section .howto-section > li .howto-contents + .howto-contents {
  margin-top: -1em;
}
@media only screen and (max-width: 767px) {
  section#rentacar .main-section .howto-section > li .howto-contents + .howto-contents {
    margin-top: 1.7em;
  }
}
section#rentacar .main-section .howto-section > li .howto-contents-indent {
  padding-left: 1em;
  text-indent: -1em;
}
section#rentacar .main-section .howto-section > li ul {
  list-style-type: disc;
  padding-left: 20px;
}
section#rentacar .main-section .howto-section > li ul > li {
  line-height: 2em;
}
section#rentacar .main-section .button2 {
  margin: 68px 0 100px;
}
@media only screen and (max-width: 767px) {
  section#rentacar .main-section .button2 {
    margin: 35px 0 60px;
  }
}
section#rentacar #nippon h4 {
  background-color: #ed0000;
}
section#rentacar #toyota h4 {
  background-color: #00a040;
}
section#rentacar #toyota .button2 {
  margin-bottom: 0;
}/*# sourceMappingURL=style.css.map */