@charset "UTF-8";
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■common
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@font-face {
  font-family: 'Helvetica';
  src: local("Helvetica Neue");
}

@font-face {
  font-family: 'Helvetica';
  font-weight: bold;
  src: local("Helvetica Neue");
}

@font-face {
  font-family: 'LMRomanDunh10-Regular';
  font-display: swap;
  font-style: normal;
  font-weight: normal;
  src: url("../fonts/lmromandunh10-regular.woff2") format("woff2"), url("../fonts/lmromandunh10-regular.woff") format("woff"), url("../fonts/lmromandunh10-regular.ttf") format("truetype"), url("../fonts/lmromandunh10-regular.otf") format("opentype"), url("../fonts/lmromandunh10-regular.eot") format("embedded-opentype");
}

/*---------------------------------------------------------------------------------*/
/*!
 * Web Fonts from Fontspring.com
 *
 * All OpenType features and all extended glyphs have been removed.
 * Fully installable fonts can be purchased at http://www.fontspring.com
 *
 * The fonts included in this stylesheet are subject to the End User License you purchased
 * from Fontspring. The fonts are protected under domestic and international trademark and 
 * copyright law. You are prohibited from modifying, reverse engineering, duplicating, or
 * distributing this font software.
 *
 * (c) 2010-2018 Fontspring
 *
 *
 *
 *
 * The fonts included are copyrighted by the vendor listed below.
 *
 * Vendor:      Brownfox
 * License URL: https://www.fontspring.com/licenses/brownfox/webfont
 *
 *
 */
@font-face {
  font-family: 'geometria-light';
  src: url("geometria-light-webfont.woff2") format("woff2"), url("geometria-light-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}

/**
 * Swiper 4.4.1
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * http://www.idangero.us/swiper/
 *
 * Copyright 2014-2018 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: September 14, 2018
 */
.swiper-container {
  margin: 0 auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 1;
}

.swiper-container-no-flexbox .swiper-slide {
  float: left;
}

.swiper-container-vertical > .swiper-wrapper {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  -o-transition-property: transform;
  transition-property: transform;
  transition-property: transform,-webkit-transform;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
}

.swiper-container-android .swiper-slide, .swiper-wrapper {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.swiper-container-multirow > .swiper-wrapper {
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.swiper-container-free-mode > .swiper-wrapper {
  -webkit-transition-timing-function: ease-out;
  -o-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
  margin: 0 auto;
}

.swiper-slide {
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  -o-transition-property: transform;
  transition-property: transform;
  transition-property: transform,-webkit-transform;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

.swiper-container-autoheight, .swiper-container-autoheight .swiper-slide {
  height: auto;
}

.swiper-container-autoheight .swiper-wrapper {
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-transition-property: height,-webkit-transform;
  transition-property: height,-webkit-transform;
  -o-transition-property: transform,height;
  transition-property: transform,height;
  transition-property: transform,height,-webkit-transform;
}

.swiper-container-3d {
  -webkit-perspective: 1200px;
  perspective: 1200px;
}

.swiper-container-3d .swiper-cube-shadow, .swiper-container-3d .swiper-slide, .swiper-container-3d .swiper-slide-shadow-bottom, .swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top, .swiper-container-3d .swiper-wrapper {
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
}

.swiper-container-3d .swiper-slide-shadow-bottom, .swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}

.swiper-container-3d .swiper-slide-shadow-left {
  background-image: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.5)), to(transparent));
  background-image: -webkit-linear-gradient(right, rgba(0, 0, 0, 0.5), transparent);
  background-image: -o-linear-gradient(right, rgba(0, 0, 0, 0.5), transparent);
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), transparent);
}

.swiper-container-3d .swiper-slide-shadow-right {
  background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(transparent));
  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5), transparent);
  background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5), transparent);
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), transparent);
}

.swiper-container-3d .swiper-slide-shadow-top {
  background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(transparent));
  background-image: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.5), transparent);
  background-image: -o-linear-gradient(bottom, rgba(0, 0, 0, 0.5), transparent);
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), transparent);
}

.swiper-container-3d .swiper-slide-shadow-bottom {
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(transparent));
  background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.5), transparent);
  background-image: -o-linear-gradient(top, rgba(0, 0, 0, 0.5), transparent);
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), transparent);
}

.swiper-container-wp8-horizontal, .swiper-container-wp8-horizontal > .swiper-wrapper {
  -ms-touch-action: pan-y;
  touch-action: pan-y;
}

.swiper-container-wp8-vertical, .swiper-container-wp8-vertical > .swiper-wrapper {
  -ms-touch-action: pan-x;
  touch-action: pan-x;
}

.swiper-button-next, .swiper-button-prev {
  position: absolute;
  top: 50%;
  width: 27px;
  height: 44px;
  margin-top: -22px;
  z-index: 10;
  cursor: pointer;
  background-size: 27px 44px;
  background-position: center;
  background-repeat: no-repeat;
}

.swiper-button-next.swiper-button-disabled, .swiper-button-prev.swiper-button-disabled {
  opacity: .35;
  cursor: auto;
  pointer-events: none;
}

.swiper-button-prev, .swiper-container-rtl .swiper-button-next {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");
  left: 10px;
  right: auto;
}

.swiper-button-next, .swiper-container-rtl .swiper-button-prev {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");
  right: 10px;
  left: auto;
}

.swiper-button-prev.swiper-button-white, .swiper-container-rtl .swiper-button-next.swiper-button-white {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E");
}

.swiper-button-next.swiper-button-white, .swiper-container-rtl .swiper-button-prev.swiper-button-white {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E");
}

.swiper-button-prev.swiper-button-black, .swiper-container-rtl .swiper-button-next.swiper-button-black {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E");
}

.swiper-button-next.swiper-button-black, .swiper-container-rtl .swiper-button-prev.swiper-button-black {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E");
}

.swiper-button-lock {
  display: none;
}

.swiper-pagination {
  position: absolute;
  text-align: center;
  -webkit-transition: .3s opacity;
  -o-transition: .3s opacity;
  transition: .3s opacity;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  z-index: 10;
}

.swiper-pagination.swiper-pagination-hidden {
  opacity: 0;
}

.swiper-container-horizontal > .swiper-pagination-bullets, .swiper-pagination-custom, .swiper-pagination-fraction {
  bottom: 10px;
  left: 0;
  width: 100%;
}

.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  -webkit-transform: scale(0.33);
  -ms-transform: scale(0.33);
  transform: scale(0.33);
  position: relative;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  -webkit-transform: scale(0.66);
  -ms-transform: scale(0.66);
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  -webkit-transform: scale(0.33);
  -ms-transform: scale(0.33);
  transform: scale(0.33);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  -webkit-transform: scale(0.66);
  -ms-transform: scale(0.66);
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  -webkit-transform: scale(0.33);
  -ms-transform: scale(0.33);
  transform: scale(0.33);
}

.swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  display: inline-block;
  border-radius: 100%;
  background: #000;
  opacity: .2;
}

button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  -webkit-box-shadow: none;
  box-shadow: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer;
}

.swiper-pagination-bullet-active {
  opacity: 1;
  background: #007aff;
}

.swiper-container-vertical > .swiper-pagination-bullets {
  right: 10px;
  top: 50%;
  -webkit-transform: translate3d(0, -50%, 0);
  transform: translate3d(0, -50%, 0);
}

.swiper-container-vertical > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 6px 0;
  display: block;
}

.swiper-container-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 8px;
}

.swiper-container-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  -webkit-transition: .2s top,.2s -webkit-transform;
  transition: .2s top,.2s -webkit-transform;
  -o-transition: .2s transform,.2s top;
  transition: .2s transform,.2s top;
  transition: .2s transform,.2s top,.2s -webkit-transform;
}

.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 4px;
}

.swiper-container-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  white-space: nowrap;
}

.swiper-container-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  -webkit-transition: .2s left,.2s -webkit-transform;
  transition: .2s left,.2s -webkit-transform;
  -o-transition: .2s transform,.2s left;
  transition: .2s transform,.2s left;
  transition: .2s transform,.2s left,.2s -webkit-transform;
}

.swiper-container-horizontal.swiper-container-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  -webkit-transition: .2s right,.2s -webkit-transform;
  transition: .2s right,.2s -webkit-transform;
  -o-transition: .2s transform,.2s right;
  transition: .2s transform,.2s right;
  transition: .2s transform,.2s right,.2s -webkit-transform;
}

.swiper-pagination-progressbar {
  background: rgba(0, 0, 0, 0.25);
  position: absolute;
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: #007aff;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -webkit-transform: scale(0);
  -ms-transform: scale(0);
  transform: scale(0);
  -webkit-transform-origin: left top;
  -ms-transform-origin: left top;
  transform-origin: left top;
}

.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  -webkit-transform-origin: right top;
  -ms-transform-origin: right top;
  transform-origin: right top;
}

.swiper-container-horizontal > .swiper-pagination-progressbar, .swiper-container-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: 4px;
  left: 0;
  top: 0;
}

.swiper-container-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite, .swiper-container-vertical > .swiper-pagination-progressbar {
  width: 4px;
  height: 100%;
  left: 0;
  top: 0;
}

.swiper-pagination-white .swiper-pagination-bullet-active {
  background: #fff;
}

.swiper-pagination-progressbar.swiper-pagination-white {
  background: rgba(255, 255, 255, 0.25);
}

.swiper-pagination-progressbar.swiper-pagination-white .swiper-pagination-progressbar-fill {
  background: #fff;
}

.swiper-pagination-black .swiper-pagination-bullet-active {
  background: #000;
}

.swiper-pagination-progressbar.swiper-pagination-black {
  background: rgba(0, 0, 0, 0.25);
}

.swiper-pagination-progressbar.swiper-pagination-black .swiper-pagination-progressbar-fill {
  background: #000;
}

.swiper-pagination-lock {
  display: none;
}

.swiper-scrollbar {
  border-radius: 10px;
  position: relative;
  -ms-touch-action: none;
  background: rgba(0, 0, 0, 0.1);
}

.swiper-container-horizontal > .swiper-scrollbar {
  position: absolute;
  left: 1%;
  bottom: 3px;
  z-index: 50;
  height: 5px;
  width: 98%;
}

.swiper-container-vertical > .swiper-scrollbar {
  position: absolute;
  right: 3px;
  top: 1%;
  z-index: 50;
  width: 5px;
  height: 98%;
}

.swiper-scrollbar-drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: rgba(0, 0, 0, 0.5);
  border-radius: 10px;
  left: 0;
  top: 0;
}

.swiper-scrollbar-cursor-drag {
  cursor: move;
}

.swiper-scrollbar-lock {
  display: none;
}

.swiper-zoom-container {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  text-align: center;
}

.swiper-zoom-container > canvas, .swiper-zoom-container > img, .swiper-zoom-container > svg {
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}

.swiper-slide-zoomed {
  cursor: move;
}

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  -webkit-transform-origin: 50%;
  -ms-transform-origin: 50%;
  transform-origin: 50%;
  -webkit-animation: swiper-preloader-spin 1s steps(12, end) infinite;
  animation: swiper-preloader-spin 1s steps(12, end) infinite;
}

.swiper-lazy-preloader:after {
  display: block;
  content: '';
  width: 100%;
  height: 100%;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
  background-position: 50%;
  background-size: 100%;
  background-repeat: no-repeat;
}

.swiper-lazy-preloader-white:after {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
}

@-webkit-keyframes swiper-preloader-spin {
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes swiper-preloader-spin {
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

.swiper-container .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000;
}

.swiper-container-fade.swiper-container-free-mode .swiper-slide {
  -webkit-transition-timing-function: ease-out;
  -o-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}

.swiper-container-fade .swiper-slide {
  pointer-events: none;
  -webkit-transition-property: opacity;
  -o-transition-property: opacity;
  transition-property: opacity;
}

.swiper-container-fade .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-container-fade .swiper-slide-active, .swiper-container-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-container-cube {
  overflow: visible;
}

.swiper-container-cube .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
  visibility: hidden;
  -webkit-transform-origin: 0 0;
  -ms-transform-origin: 0 0;
  transform-origin: 0 0;
  width: 100%;
  height: 100%;
}

.swiper-container-cube .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-container-cube.swiper-container-rtl .swiper-slide {
  -webkit-transform-origin: 100% 0;
  -ms-transform-origin: 100% 0;
  transform-origin: 100% 0;
}

.swiper-container-cube .swiper-slide-active, .swiper-container-cube .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-container-cube .swiper-slide-active, .swiper-container-cube .swiper-slide-next, .swiper-container-cube .swiper-slide-next + .swiper-slide, .swiper-container-cube .swiper-slide-prev {
  pointer-events: auto;
  visibility: visible;
}

.swiper-container-cube .swiper-slide-shadow-bottom, .swiper-container-cube .swiper-slide-shadow-left, .swiper-container-cube .swiper-slide-shadow-right, .swiper-container-cube .swiper-slide-shadow-top {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.swiper-container-cube .swiper-cube-shadow {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: .6;
  -webkit-filter: blur(50px);
  filter: blur(50px);
  z-index: 0;
}

.swiper-container-flip {
  overflow: visible;
}

.swiper-container-flip .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
}

.swiper-container-flip .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-container-flip .swiper-slide-active, .swiper-container-flip .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-container-flip .swiper-slide-shadow-bottom, .swiper-container-flip .swiper-slide-shadow-left, .swiper-container-flip .swiper-slide-shadow-right, .swiper-container-flip .swiper-slide-shadow-top {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.swiper-container-coverflow .swiper-wrapper {
  -ms-perspective: 1200px;
}

/*! Lity - v2.3.1 - 2018-04-20
* http://sorgalla.com/lity/
* Copyright (c) 2015-2018 Jan Sorgalla; Licensed MIT */
.lity {
  z-index: 9990;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  white-space: nowrap;
  background: #0b0b0b;
  background: rgba(0, 0, 0, 0.9);
  outline: none !important;
  opacity: 0;
  -webkit-transition: opacity .3s ease;
  -o-transition: opacity .3s ease;
  transition: opacity .3s ease;
}

.lity.lity-opened {
  opacity: 1;
}

.lity.lity-closed {
  opacity: 0;
}

.lity * {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.lity-wrap {
  z-index: 9990;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  text-align: center;
  outline: none !important;
}

.lity-wrap:before {
  content: '';
  display: inline-block;
  height: 100%;
  vertical-align: middle;
  margin-right: -0.25em;
}

.lity-loader {
  z-index: 9991;
  color: #fff;
  position: absolute;
  top: 50%;
  margin-top: -0.8em;
  width: 100%;
  text-align: center;
  font-size: 14px;
  font-family: Arial,Helvetica,sans-serif;
  opacity: 0;
  -webkit-transition: opacity .3s ease;
  -o-transition: opacity .3s ease;
  transition: opacity .3s ease;
}

.lity-loading .lity-loader {
  opacity: 1;
}

.lity-container {
  z-index: 9992;
  position: relative;
  text-align: left;
  vertical-align: middle;
  display: inline-block;
  white-space: normal;
  max-width: 100%;
  max-height: 100%;
  outline: none !important;
}

.lity-content {
  z-index: 9993;
  width: 100%;
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1);
  -webkit-transition: -webkit-transform .3s ease;
  transition: -webkit-transform .3s ease;
  -o-transition: -o-transform .3s ease;
  transition: transform .3s ease;
  transition: transform .3s ease, -webkit-transform .3s ease, -o-transform .3s ease;
}

.lity-loading .lity-content, .lity-closed .lity-content {
  -webkit-transform: scale(0.8);
  -ms-transform: scale(0.8);
  -o-transform: scale(0.8);
  transform: scale(0.8);
}

.lity-content:after {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  display: block;
  right: 0;
  width: auto;
  height: auto;
  z-index: -1;
  -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
}

.lity-close {
  z-index: 9994;
  width: 35px;
  height: 35px;
  position: fixed;
  right: 0;
  top: 0;
  -webkit-appearance: none;
  cursor: pointer;
  text-decoration: none;
  text-align: center;
  padding: 0;
  color: #fff;
  font-style: normal;
  font-size: 35px;
  font-family: Arial,Baskerville,monospace;
  line-height: 35px;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
  border: 0;
  background: none;
  outline: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}

.lity-close::-moz-focus-inner {
  border: 0;
  padding: 0;
}

.lity-close:hover, .lity-close:focus, .lity-close:active, .lity-close:visited {
  text-decoration: none;
  text-align: center;
  padding: 0;
  color: #fff;
  font-style: normal;
  font-size: 35px;
  font-family: Arial,Baskerville,monospace;
  line-height: 35px;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
  border: 0;
  background: none;
  outline: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}

.lity-close:active {
  top: 1px;
}

.lity-image img {
  max-width: 100%;
  display: block;
  line-height: 0;
  border: 0;
}

.lity-iframe .lity-container, .lity-youtube .lity-container, .lity-vimeo .lity-container, .lity-facebookvideo .lity-container, .lity-googlemaps .lity-container {
  width: 100%;
  max-width: 964px;
}

.lity-iframe-container {
  width: 100%;
  height: 0;
  padding-top: 56.25%;
  overflow: auto;
  pointer-events: auto;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-overflow-scrolling: touch;
}

.lity-iframe-container iframe {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: #000;
}

.lity-hide {
  display: none;
}

div#mfp_hidden {
  overflow: hidden;
  width: 1px;
  height: 1px;
  padding: 0px;
  margin: 0px;
}

div#mfp_hidden input {
  margin: 10px;
}

div.mfp_thanks {
  padding: 30px;
}

div.mfp_thanks p {
  line-height: 1.7em;
}

div.mfp_thanks ul.mfp_caution {
  margin: 0px;
  padding: 0px;
}

div.mfp_thanks ul.mfp_caution li {
  display: block;
  color: #C00;
  margin: 0px;
  padding: 5px 0px;
}

div#mfp_thanks {
  text-align: center;
  font-size: 18px;
  padding: 20px 0px;
}

div#mfp_thanks strong {
  color: #C00;
  font-size: 24px;
}

/*
form#mailformpro {
	padding: 10px 0px;
}
form#mailformpro dl dt {
	float: left;
	width: 160px;
	clear: both;
	font-size: 12px;
	padding: 10px 0px;
	text-align: right;
	border-top: solid 1px #CCC;
	margin: 0px;
}
form#mailformpro dl dd {
	border-top: solid 1px #CCC;
	margin: 0px;
	padding: 10px 5px 20px 170px;
	font-size: 12px;
	line-height: 1.5em;
	text-align: left;
}
form#mailformpro dl dd ul,form#mailformpro dl dd ol {
	margin: 0px;
	padding: 0px;
}
form#mailformpro dl dd ul li,form#mailformpro dl dd ol li {
	margin: 0px;
	padding: 0px;
	list-style: none;
}
*/
.must {
  display: block;
  background-color: #C00;
  border: solid 2px #C00;
  text-shadow: 0px 1px 2px #933;
  padding: 2px 5px;
  font-size: 10px;
  color: #FFF;
  float: left;
  margin: 0px 5px;
  border-radius: 4px;
  box-shadow: 0px 0px 5px #CCC;
  background-image: url(_images/mfp_header.png);
  background-size: 100% 100%;
}

.optionally {
  display: block;
  background-color: #06C;
  border: solid 2px #06C;
  text-shadow: 0px 1px 2px #933;
  padding: 2px 5px;
  font-size: 10px;
  color: #FFF;
  float: left;
  margin: 0px 5px;
  border-radius: 4px;
  box-shadow: 0px 0px 5px #CCC;
  background-image: url(_images/mfp_header.png);
  background-size: 100% 100%;
}

/*
form#mailformpro label {
	border-radius: 3px;
	margin: 3px;
	display: inline-block;
	white-space: nowrap;
}
*/
form#mailformpro label.mfp_checked {
  padding: 3px;
  border: solid 1px #CCC;
  background-color: #E8EEF9;
  box-shadow: 0px 1px 3px #CCC inset;
}

form#mailformpro label.mfp_not_checked {
  padding: 3px;
  border: solid 1px #EEE;
}

/*
table#mfp_confirm_table {
	border-spacing: 0px;
	border-collapse: collapse;
	width: 100%;
}
table#mfp_confirm_table tr.mfp_colored {
	background-color: #F6F7F9;
}
table#mfp_confirm_table tr.mfp_achroma {
	background-color: #FFF;
}
table#mfp_confirm_table tr th,table#mfp_confirm_table tr td {
	text-align: left;
	font-size: 12px;
	border-top: solid 1px #CCC;
	padding: 5px 10px;
}
table#mfp_confirm_table tr th {
	white-space: nowrap;
	width: 200px;
}
table#mfp_confirm_table tr td {
	line-height: 1.5em;
	word-break: break-all;
}
*/
div#mfp_phase_confirm {
  clear: both;
}

/*
div#mfp_phase_confirm h4 {
	font-size: 36px;
	padding: 10px 0px 0px 0px;
	text-align: center;
}
*/
div#mfp_overlay {
  position: absolute;
  display: none;
  z-index: 10001;
}

div#mfp_overlay_inner {
  background-color: #FFF;
  padding: 15px;
  margin: 0px auto;
  border-radius: 5px;
  box-shadow: 0px 0px 10px #000;
  width: 640px;
  max-width: 90%;
}

div#mfp_overlay_background {
  background-color: #000;
  position: absolute;
  display: none;
  z-index: 10000;
}

div#mfp_loading_screen {
  z-index: 20000;
  opacity: 0.8;
  display: none;
  background-color: #000;
  position: absolute;
}

/*
div#mfp_loading {
	z-index: 20001;
	position: absolute;
	display: none;
	width: 40px;
	height: 40px;
	background-image: url(_images/mfp_loading.gif);
}
*/
.mfp_colored {
  background-color: #F6F7F9;
}

.mfp_achroma {
  background-color: #FFF;
}

div.mfp_err {
  clear: both;
  display: none;
  text-align: left;
  margin: 5px 0px 0px 0px;
  padding: 3px 0px 5px 17px;
  color: #F00;
  font-size: 12px;
  line-height: normal;
  background-position: 0px 1px;
}

.mfp_parent_error {
  border: solid 2px #F00;
}

.problem {
  background-color: #FCC;
}

div#mfp_error {
  background-color: #FEE;
  border: solid 1px #F00;
  padding: 10px;
  display: none;
}

div#mfp_error p {
  padding: 0px;
  margin: 0px;
  font-size: 14px;
  text-align: center;
}

div#mfp_error p strong {
  font-size: 18px;
  color: #F00;
}

div#mfp_warning {
  background-color: #FEE;
  border: solid 1px #F00;
  padding: 10px;
  display: none;
  border-radius: 5px;
}

div#mfp_warning p {
  padding: 0px;
  margin: 0px;
  font-size: 14px;
  text-align: center;
}

div#mfp_warning p strong {
  font-size: 18px;
  color: #F00;
}

div#mfp_price {
  color: #C00;
  font-size: 36px;
  padding: 10px;
  font-weight: bolder;
}

div#mfp_price span {
  color: #666;
  font-size: 12px;
  font-weight: normal;
}

button.mfp_next, button.mfp_prev {
  font-size: 18px;
  margin: 10px;
  padding: 5px 10px;
}

button.mfp_next {
  float: right;
}

button.mfp_prev {
  float: left;
}

ul#mfp_phase_stat {
  padding: 10px;
  text-align: center;
}

ul#mfp_phase_stat li {
  display: inline-block;
  padding: 8px 15px;
  border-radius: 5px;
  margin: 0px 5px;
  list-style: none;
  font-size: 14px;
}

ul#mfp_phase_stat li.mfp_phase_arrow {
  box-shadow: none;
  color: #999;
  padding: 8px 0px;
}

ul#mfp_phase_stat li.mfp_active_phase {
  box-shadow: 0px 1px 6px #000;
  background-image: url(_images/mfp_header.png);
  background-size: 100% 100%;
  background-color: #0068B7;
  border: solid 2px #0068B7;
  font-weight: bolder;
  color: #FFF;
  text-shadow: 0px 1px 3px #000;
}

ul#mfp_phase_stat li.mfp_inactive_phase {
  background-image: url(_images/mfp_header.png);
  background-size: 100% 100%;
  background-color: #EEE;
  border: solid 2px #EEE;
  color: #999;
  box-shadow: 0px 1px 6px #CCC;
}

div#mfp_shopping_cart {
  border: solid 1px #CCC;
  margin: 0px;
  padding: 0px;
}

div#mfp_shopping_cart p {
  margin: 0px;
  text-align: center;
  padding: 20px 10px;
  font-size: 12px;
  background-color: #FEE;
}

table.mfp_shoppingcart {
  border-spacing: 0px;
  border-collapse: collapse;
  width: 100%;
}

table.mfp_shoppingcart thead tr td {
  background-color: #EEE;
  border-bottom: solid 1px #CCC;
  text-align: center;
  font-size: 12px;
  padding: 5px;
}

table.mfp_shoppingcart tbody tr th, table.mfp_shoppingcart tbody tr td {
  font-size: 12px;
  padding: 5px;
  border-bottom: solid 1px #CCC;
}

table.mfp_shoppingcart tbody tr td select {
  display: block;
  margin: 0px auto;
  text-align: center;
}

table.mfp_shoppingcart tbody tr td select option {
  text-align: center;
}

table.mfp_shoppingcart tbody tr th span {
  display: block;
  font-weight: normal;
  font-size: 10px;
  color: #666;
  padding: 3px 0px;
}

table.mfp_shoppingcart tfoot tr td {
  padding: 5px;
  font-size: 16px;
  font-weight: bolder;
  color: #900;
}

td.msc_price {
  font-size: 12px;
  text-align: right;
}

div.mfp_buttons {
  clear: both;
  padding: 10px 0px;
  text-align: center;
}

.imagebutton {
  margin: 0px;
  padding: 0px;
  border: none;
  outline: none;
  background: none;
}

.mfp_element_all {
  /*
	max-width: 90%;
	*/
}

.mfp_element_text,
.mfp_element_number,
.mfp_element_select-one,
.mfp_element_email,
.mfp_element_tel,
.mfp_element_textarea,
.mfp_element_date,
.mfp_element_password {
  border: solid 1px #CCC;
  border-radius: 3px;
  box-shadow: 0px 0px 5px #CCC inset;
  padding: 3px 8px;
  margin: 2px;
  vertical-align: middle;
}

.mfp_element_checkbox,
.mfp_element_radio {
  vertical-align: middle;
  margin: 0px 2px;
}

.mfp_element_file {
  font-size: 12px;
  display: inline-block;
  padding: 10px 10px;
  vertical-align: middle;
  border: solid 1px #CCC;
  border-radius: 3px;
  box-shadow: 0px 0px 5px #CCC inset;
  background: #EEE;
}

.mfp_element_submit, .mfp_element_reset, .mfp_element_button, button.mfp_next, button.mfp_prev {
  border-radius: 5px;
  padding: 5px 10px;
  border: solid 1px #CCC;
  background: gradient(linear, center top, center bottom, from(#EEE), to(#CCC));
  background: -webkit-gradient(linear, center top, center bottom, from(#EEE), to(#CCC));
  background: -moz-linear-gradient(top, #EEE, #CCC);
  background: -ms-linear-gradient(top, #EEE 0%, #CCC 100%);
  text-shadow: 0px 2px 0px #FFF;
  font-size: 18px;
  cursor: pointer;
  outline: none;
}

.mfp_element_reset {
  color: #333;
}

.mfp_element_submit:hover, .mfp_element_reset:hover, .mfp_element_button:hover, button.mfp_next:hover, button.mfp_prev:hover {
  background: gradient(linear, center top, center bottom, from(#FFF), to(#CCC));
  background: -webkit-gradient(linear, center top, center bottom, from(#FFF), to(#CCC));
  background: -moz-linear-gradient(top, #FFF, #CCC);
  background: -ms-linear-gradient(top, #FFF 0%, #CCC 100%);
  box-shadow: 0px 2px 15px #CCC;
}

button.mfp_next, button.mfp_prev {
  font-size: 14px;
}

input#mfp_reserve_item, input#mfp_reserve_date {
  display: none;
}

div#mfp_reserve_wrapper {
  position: relative;
  overflow: hidden;
  border: solid 1px #CCC;
}

div#mfp_reserve_inner {
  position: relative;
  padding: 0px 0px 0px 100px;
  overflow: auto;
}

div#mfp_reserve_wrapper table {
  border-spacing: 0px;
  border-collapse: collapse;
}

div#mfp_reserve_wrapper table.mfp_reserve_table_label {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100px;
  background-color: #FEE;
  z-index: 100;
}

div#mfp_reserve_wrapper table.mfp_reserve_table_value {
  padding: 0px 0px 0px 0px;
}

div#mfp_reserve_wrapper table.mfp_reserve_table_value tr td.mfp_reserve_active,
div#mfp_reserve_wrapper table.mfp_reserve_table_value tr td.mfp_reserve_warning {
  cursor: pointer;
}

div#mfp_reserve_wrapper table.mfp_reserve_table_value tr td.mfp_reserve_active:hover,
div#mfp_reserve_wrapper table.mfp_reserve_table_value tr td.mfp_reserve_warning:hover {
  background-color: #E8EEF9;
}

div#mfp_reserve_wrapper table.mfp_reserve_table_value tr td.mfp_reserve_current {
  background-color: #0068B7;
  color: #FFF;
}

td.mfp_reserve_disabled {
  background-color: #CCC;
}

td.mfp_reserve_warning {
  background-color: #FFC;
}

div#mfp_reserve_wrapper table tr td, div#mfp_reserve_wrapper table tr th {
  border: solid 1px #CCC;
  padding: 0px 5px;
  font-size: 12px;
  text-align: center;
  font-family: Osaka,"ＭＳ Ｐゴシック","MS PGothic",Sans-Serif;
  font-weight: normal;
  height: 20px;
  text-align: left;
}

td.mfp_reserve_week_0 {
  color: #F00;
  background-color: #FEE;
}

td.mfp_reserve_week_6 {
  color: #00F;
  background-color: #EEF;
}

div.mfp_ok {
  border-radius: 5px;
  background-color: #090;
  border: solid 1px #090;
  display: inline-block;
  line-height: 1.5em;
  padding: 0px 5px;
  margin: 0px 2px;
  color: #FFF;
  font-size: 10px;
  background-image: url(_images/mfp_header.png);
  background-size: 100% 100%;
  display: none;
}

div.prefcodeWrapper {
  position: relative;
}

div.prefcodeResult {
  position: absolute;
  top: 0px;
  left: 0px;
  padding: 5px;
  border: solid 1px #CCC;
  background-color: #FFF;
  box-shadow: 0px 0px 5px #CCC;
  display: none;
}

div.prefcodeResult div {
  cursor: pointer;
}

div.prefcodeResult div:hover {
  background-color: #C9EBFB;
}

div.prefcodeResult div.prefcodeNext {
  background-color: #EEE;
  text-align: center;
}

div.prefLoading {
  padding: 60px 100px;
  background: url(_images/mfp_zip_loading.gif) no-repeat center center;
}

div.mfpSuggestWrapper {
  position: relative;
}

div.mfpSuggestResult {
  position: absolute;
  top: 0px;
  left: 0px;
  padding: 5px;
  border: solid 1px #CCC;
  background-color: #FFF;
  box-shadow: 0px 0px 5px #CCC;
  display: none;
}

div.mfpSuggestResult div {
  cursor: pointer;
}

div.mfpSuggestResult div:hover {
  background-color: #C9EBFB;
}

div.mfpSuggestResult div.mfpSuggestNext {
  background-color: #EEE;
  text-align: center;
}

div.prefLoading {
  padding: 60px 100px;
  background: url(_images/mfp_zip_loading.gif) no-repeat center center;
}

.hidefield {
  height: 0px;
  overflow: hidden;
}

.showfield {
  height: auto;
  overflow: visible;
}

div.mfp_attached_thumbnails {
  display: none;
  padding: 5px;
  margin: 5px auto;
  border: solid 1px #CCC;
  border-radius: 3px;
  box-shadow: 0px 0px 5px #CCC inset;
  background: #EEE;
}

div.mfp_attached_thumbnails ul {
  margin: 0px;
  padding: 0px;
}

form#mailformpro dl dd div.mfp_attached_thumbnails ul li {
  display: inline-block;
  vertical-align: top;
  padding: 0px;
  border: solid 4px #FFF;
  margin: 5px;
  box-shadow: 0px 2px 5px #999;
}

form#mailformpro dl dd div.mfp_attached_thumbnails ul li a {
  display: block;
  max-height: 100px;
  overflow: hidden;
}

div.mfp_attached_thumbnails ul li a img {
  display: block;
  max-width: 80px;
}

button.mfp_attached_reset {
  font-size: 14px;
}

div.mfp_draganddrop {
  margin: 5px auto;
  width: 100%;
  height: 200px;
  border: solid 2px #CCC;
  border-radius: 3px;
  background: url(_images/draganddrop.png) no-repeat center center #EEE;
  background-size: auto 80%;
}

div.mfp_dragover {
  border: solid 2px #0068B7;
  background-color: #FFF;
}

div.mfp_attached_filelist {
  margin: 5px auto;
  padding: 5px;
  width: 100%;
  border: solid 1px #CCC;
  border-radius: 3px;
}

form#mailformpro dl dd div.mfp_attached_filelist ul,
div.mfp_attached_filelist ul {
  padding: 5px;
}

form#mailformpro dl dd div.mfp_attached_filelist ul li,
div.mfp_attached_filelist ul li {
  padding: 5px 5px 5px 2em;
  background: url(_images/file.png) no-repeat 5px center;
  background-size: 1.3em 1.3em;
  display: inline-block;
  margin-right: 1em;
}

form#mailformpro dl dd div.mfp_attached_filelist ul li:last-child,
div.mfp_attached_filelist ul li:last-child {
  border: none;
}

div.mfp_guide {
  position: relative;
  width: 1px;
  height: 1px;
}

div.mfp_guide div {
  position: absolute;
  bottom: 0px;
  left: 0px;
  margin-top: -2em;
  white-space: nowrap;
  border-radius: 5px;
  padding: 5px 10px;
  line-height: 1em;
  font-size: 12px;
  color: #FFF;
  font-weight: bolder;
  background: #F00;
  display: none;
}

div#mfp_numticket_wrapper,
div#mfp_numticket_wrapper * {
  box-sizing: border-box;
  padding: 0;
  margin: 0;
}

div#mfp_numticket_wrapper {
  clear: both;
  padding: 15px;
}

div#mfp_numticket_wrapper section#numticket_message_wrapper {
  border: solid 3px #F00;
  border-radius: 5px;
  background: #FEE;
  padding: 15px;
  font-size: 16px;
  line-height: 1.7em;
  margin: 5px auto;
}

div#mfp_numticket_wrapper section#numticket_waitTime {
  border: solid 3px #CCC;
  border-radius: 5px;
  background: #FFF;
  padding: 15px;
  font-size: 16px;
  margin: 10px auto;
}

div#mfp_numticket_wrapper section#numticket_waitTime strong {
  font-size: 32px;
  display: block;
  text-align: center;
}

div#mfp_numticket_wrapper section#numticket_waitTime p.numticket_center {
  text-align: center;
}

div.mfp_traffic_status {
  max-width: 460px;
  margin: 10px auto;
  border: solid 1px #CCC;
  border-radius: 3px;
  padding: 15px;
}

div.mfp_traffic_status h3 {
  padding: 0;
  margin: 0;
  font-size: 16px;
  font-weight: normal;
  color: #999;
}

div.mfp_traffic_status table {
  text-align: center;
  width: 100%;
}

div#wrapper div.mfp_traffic_status table tr th,
div#wrapper div.mfp_traffic_status table tr td,
div.mfp_traffic_status table td,
div.mfp_traffic_status table th {
  border: none;
  padding: 0;
}

div#wrapper div.mfp_traffic_status table tr td,
div.mfp_traffic_status table td {
  padding: 0 2px;
}

div#wrapper div.mfp_traffic_status table tr th,
div.mfp_traffic_status table th {
  border-top: solid 1px #CCC;
  font-size: 10px;
  font-weight: normal;
  padding-top: 5px;
  color: #999;
}

div.mfp_traffic_status table td {
  height: 100px;
}

div.mfp_traffic_status table td span {
  display: block;
  background: #7BAAF7;
  border-radius: 3px 3px 0 0;
  border-top: solid 1px #66A1F7;
  border-right: solid 1px #66A1F7;
  border-left: solid 1px #66A1F7;
  min-width: 10px;
  max-width: 30px;
  margin: 0 auto;
  padding-bottom: 10px;
}

div.mfp_traffic_status table td span.mfp_traffic_status_current {
  background: #5D7AF2;
  border-top: solid 1px #546CD1;
  border-right: solid 1px #546CD1;
  border-left: solid 1px #546CD1;
}

.mfp_ok {
  background-color: rgba(0, 255, 0, 0.2);
}

.mfp_ng {
  background-color: rgba(255, 0, 0, 0.2);
}

div#mfp_OperationCheck div#mfp_OperationCheck_inner {
  display: none;
}

div#mfp_OperationCheck strong {
  background: #090;
  display: block;
  color: #222;
  text-align: center;
  border-radius: 3px;
}

div#mfp_OperationCheck * {
  padding: 0px;
  margin: 0px;
  font-size: 12px;
}

div#mfp_OperationCheck p {
  padding: 0px 5px;
  margin: 0px;
  font-size: 12px;
}

div#mfp_OperationCheck p a {
  color: #0C0;
  text-decoration: none;
}

div#mfp_OperationCheck p a:hover,
div#mfp_OperationCheck p button:hover {
  text-decoration: underline;
}

div#mfp_OperationCheck p button {
  border: none;
  background: none;
  color: #0C0;
  cursor: pointer;
}

div#mfp_OperationCheck ul li,
div#mfp_OperationCheck ul li label,
div#mfp_OperationCheck ul li label input {
  line-height: 12px;
  font-size: 12px;
  list-style: none;
  vertical-align: middle;
}

div#mfp_OperationCheck ul li {
  padding: 5px 10px;
}

div#mfp_OperationCheck ul li label {
  text-decoration: underline;
}

button#mfp_recorder_record,
button#mfp_recorder_clear,
button#mfp_recorder_restore {
  border-radius: 5px;
  padding: 5px 10px 5px 2em;
  border: solid 1px #CCC;
  background: gradient(linear, center top, center bottom, from(#EEE), to(#CCC));
  background: -webkit-gradient(linear, center top, center bottom, from(#EEE), to(#CCC));
  background: -moz-linear-gradient(top, #EEE, #CCC);
  background: -ms-linear-gradient(top, #EEE 0%, #CCC 100%);
  text-shadow: 0px 2px 0px #FFF;
  font-size: 16px;
  cursor: pointer;
  outline: none;
  display: inline-block;
  margin: 5px auto;
}

button#mfp_recorder_record {
  background: url(_images/mfp_record_disabled.png) no-repeat 5px center #EEE;
  background-size: 24px 24px;
}

button#mfp_recorder_clear {
  background: url(_images/mfp_record_remove.png) no-repeat 5px center #EEE;
  background-size: 24px 24px;
}

button#mfp_recorder_restore {
  background: url(_images/mfp_record_restore.png) no-repeat 5px center #EEE;
  background-size: 24px 24px;
}

button.enabled#mfp_recorder_record,
button.enabled#mfp_recorder_clear,
button.enabled#mfp_recorder_restore {
  background: url(_images/mfp_record_enabled.png) no-repeat 5px center #EEE;
  background-size: 24px 24px;
}

div#mfp_recorder_wrap {
  border: solid 1px #CCC;
  padding: 10px;
  text-align: center;
  margin: 5px auto;
}

td.request_image {
  width: 100px;
}

td.request_image img {
  max-width: 100px;
}

button.mfp_submit_enable {
  background: none;
  background: #000090;
}

button.mfp_submit_disable {
  background: none;
  background: #FD8282;
}

span.mfp_tips {
  background-image: url(_images/mfp_header.png);
  background-size: 100% 100%;
  background-color: #FCC;
  display: block;
  border-radius: 5px;
  padding: 10px;
  margin: 2px;
  box-shadow: 0px 2px 10px #999;
}

span.mfp_tips strong {
  color: #800040;
}

span.mfp_tips span {
  display: block;
  padding: 10px;
  color: #008080;
}

span.mfp_tips em {
  font-style: normal;
  color: #090;
  font-weight: bold;
}

div.mfp_estimate_wrapper {
  border: solid 1px #CCC;
  padding: 10px;
  margin: 5px;
  border-radius: 5px;
}

div.mfp_estimate_wrapper div.mfp_estimate_wrap {
  position: relative;
  padding: 10px;
  border: solid 1px #CCC;
  border-radius: 5px;
  margin: 10px 0;
  transition-property: all;
  transition-duration: 0.5s;
  transition-timing-function: ease-in-out;
}

div.mfp_estimate_wrapper div.mfp_estimate_wrap div.mfp_estimate_label {
  position: absolute;
  top: -0.7em;
  left: 1em;
  display: inline-block;
  background: #FFF;
  font-size: 12px;
  padding: 0 0.5em;
  color: #666;
}

div.mfp_estimate_wrapper div.mfp_estimate_wrap select {
  font-size: 18px;
  margin: 5px 0;
  padding: 5px 10px;
  line-height: 1em;
  min-height: 2.5em;
}

div.mfp_estimate_wrapper div.mfp_estimate_wrap img {
  width: 100%;
  max-width: 240px;
  display: block;
  margin: 0 auto;
}

div.mfp_estimate_wrapper div.mfp_estimate_wrap strong {
  display: block;
  text-align: right;
  color: #900;
  font-size: 24px;
}

div.mfp_estimate_wrapper div.mfp_estimate_wrap strong em {
  display: inline-block;
  font-size: 30px;
}

div.mfp_estimate_wrapper button.mfp_estimate_button {
  margin: 10px 0 0 0;
  padding: 5px 10px;
  border-radius: 5px;
  border: solid 1px #CCC;
  background: gradient(linear, center top, center bottom, from(#EEE), to(#CCC));
  background: gradient(linear, center top, center bottom, from(#EEE), to(#CCC));
  background: -moz-linear-gradient(top, #EEE, #CCC);
  background: -ms-linear-gradient(top, #EEE 0%, #CCC 100%);
  text-shadow: 0px 2px 0px #FFF;
}

div.mfp_estimate_list table.mfp_estimate_list_table {
  width: 100%;
  margin: 10px 0;
}

div.mfp_estimate_list table.mfp_estimate_list_table thead tr th {
  text-align: center;
}

div#wrapper div.mfp_estimate_list table.mfp_estimate_list_table tr th,
div#wrapper div.mfp_estimate_list table.mfp_estimate_list_table tr td,
div.mfp_estimate_list table.mfp_estimate_list_table tr th,
div.mfp_estimate_list table.mfp_estimate_list_table tr td {
  border: none;
  border-bottom: solid 1px #333;
}

div#wrapper div.mfp_estimate_list table.mfp_estimate_list_table tfoot tr th,
div#wrapper div.mfp_estimate_list table.mfp_estimate_list_table tfoot tr td,
div.mfp_estimate_list table.mfp_estimate_list_table tfoot tr th,
div.mfp_estimate_list table.mfp_estimate_list_table tfoot tr td {
  border: none;
  text-align: right;
}

div#wrapper div.mfp_estimate_list table.mfp_estimate_list_table tbody tr th,
div#wrapper div.mfp_estimate_list table.mfp_estimate_list_table tbody tr td,
div.mfp_estimate_list table.mfp_estimate_list_table tbody tr th,
div.mfp_estimate_list table.mfp_estimate_list_table tbody tr td {
  padding: 0;
  margin: 0;
}

div#wrapper div.mfp_estimate_list table.mfp_estimate_list_table tbody tr th,
div.mfp_estimate_list table.mfp_estimate_list_table tbody tr th {
  padding: 0 10px;
}

div#wrapper div.mfp_estimate_list table.mfp_estimate_list_table tbody tr th span,
div.mfp_estimate_list table.mfp_estimate_list_table tbody tr th span {
  font-size: 10px;
  display: block;
  color: #666;
}

div#wrapper div.mfp_estimate_list table.mfp_estimate_list_table tbody tr td:nth-of-type(1),
div.mfp_estimate_list table.mfp_estimate_list_table tbody tr td:nth-of-type(1) {
  width: 80px;
}

div#wrapper div.mfp_estimate_list table.mfp_estimate_list_table tbody tr td:nth-of-type(2),
div.mfp_estimate_list table.mfp_estimate_list_table tbody tr td:nth-of-type(2) {
  text-align: right;
  padding: 0 10px;
  width: 120px;
}

div#wrapper div.mfp_estimate_list table.mfp_estimate_list_table tbody tr td:nth-of-type(3),
div.mfp_estimate_list table.mfp_estimate_list_table tbody tr td:nth-of-type(3) {
  width: 60px;
}

div.mfp_estimate_list table.mfp_estimate_list_table tbody td img {
  max-width: 80px;
}

div.mfp_estimate_list table.mfp_estimate_list_table tbody td button {
  border: none;
  background: none;
  font-size: 24px;
  cursor: pointer;
}

div.mfp_ticket_wrapper {
  border: solid 1px #CCC;
  margin: 5px;
  overflow: auto;
}

div.mfp_ticket_map {
  position: relative;
  background-position: left top;
  background-repeat: no-repeat;
}

div.mfp_ticket_map div {
  position: absolute;
  width: 20px;
  height: 20px;
  padding: 0;
  margin: 0;
}

div.mfp_ticket_map div label {
  position: relative;
}

div.mfp_ticket_map div label span {
  position: absolute;
  top: 0px;
  left: 20px;
  display: inline-block;
  font-size: 10px;
  white-space: nowrap;
  display: none;
  background-color: #FFF;
  border: solid 1px #CCC;
  padding: 3px 3px;
  line-height: 1em;
}

div.mfp_ticket_map div label:hover span {
  display: block;
  z-index: 10;
}

div.mfp_ticket_map div label input {
  margin: 0;
  padding: 0;
  border-radius: 0;
  background-color: #CCC;
}

@media screen and (max-width: 800px) {
  /*
	form#mailformpro dl dt {
		float: none;
		width: auto;
		font-size: 12px;
		padding: 5px;
		text-align: left;
	}
	form#mailformpro dl dd {
		clear: both;
		border-top: none;
		padding: 5px 15px;
		font-size: 12px;
		line-height: 1.5em;
	}
	div.mfp_buttons button {
		font-size: 14px;
	}
	div#mfp_phase_confirm h4 {
		font-size: 18px;
	}
	*/
  ul#mfp_phase_stat {
    padding: 0px;
    text-align: left;
  }
  ul#mfp_phase_stat li {
    text-align: center;
    padding: 5px 0px;
    border-radius: 3px;
    margin: 5px;
    list-style: none;
    font-size: 14px;
    width: 28%;
  }
  ul#mfp_phase_stat li.mfp_phase_arrow {
    bos-shadow: none;
    display: none;
  }
  table#mfp_confirm_table tr th {
    white-space: nowrap;
    width: 100px;
  }
  div#mfp_thanks {
    text-align: center;
    font-size: 18px;
    padding: 20px 0px;
  }
  div#mfp_thanks strong {
    color: #C00;
    font-size: 24px;
    display: block;
  }
}

*,
*::after,
*::before {
  -webkit-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin: 0;
  padding: 0;
}

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

fieldset,
img {
  border: 0;
}

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

li {
  list-style: none;
}

sup {
  vertical-align: text-top;
}

sub {
  vertical-align: text-bottom;
}

input,
textarea,
select {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
}

input,
textarea,
select {
  *font-size: 100%;
}

.clearfix::after {
  content: " ";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

a {
  outline: none;
  text-decoration: none;
  color: inherit;
}

img {
  -webkit-backface-visibility: hidden;
  vertical-align: bottom;
}

a[href],
label[for],
button,
input[type="button"],
input[type="submit"],
input[type="reset"],
input[type="image"],
input[type="radio"],
input[type="checkbox"],
select {
  cursor: pointer;
}

a[href^="tel:"] {
  cursor: default;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■Animation
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translate3d(0, 20px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translate3d(0, -20px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInLeft {
  from {
    opacity: 0;
    transform: translate3d(-20px, 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInRight {
  from {
    opacity: 0;
    transform: translate3d(20px, 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes pulse {
  from {
    transform: scale3d(1, 1, 1);
  }
  50% {
    transform: scale3d(1.05, 1.05, 1.05);
  }
  to {
    transform: scale3d(1, 1, 1);
  }
}

@keyframes zoomIn {
  from {
    opacity: 0;
    transform: scale3d(0.8, 0.8, 0.8);
  }
  to {
    opacity: 1;
  }
}

.animated {
  opacity: 0;
  animation-timing-function: ease-out;
  animation-timing-function: cubic-bezier(0.31, 0, 0.87, 0.67);
  animation-timing-function: linear;
  animation-fill-mode: forwards;
  animation-delay: 0.15s;
  animation-delay: 0.05s;
  animation-delay: 0.4s;
  visibility: hidden;
}

.noanime .animated {
  opacity: 1;
  visibility: visible;
}

.fadeIn {
  animation-name: fadeIn;
  animation-duration: 0.35s;
  animation-iteration-count: 1;
  visibility: visible;
}

.fadeInUp {
  animation-name: fadeInUp;
  animation-duration: 0.35s;
  animation-iteration-count: 1;
  visibility: visible;
}

.fadeInDown {
  animation-name: fadeInDown;
  animation-duration: 0.35s;
  animation-iteration-count: 1;
  visibility: visible;
}

.fadeInLeft {
  animation-name: fadeInLeft;
  animation-duration: 0.35s;
  animation-iteration-count: 1;
  visibility: visible;
}

.fadeInRight {
  animation-name: fadeInRight;
  animation-duration: 0.35s;
  animation-iteration-count: 1;
  visibility: visible;
}

@media print, screen and (max-width: 767px) {
  .pulse {
    animation-name: pulse;
    animation-duration: 0.35s;
    animation-iteration-count: 1;
    visibility: visible;
  }
}

.zoomIn {
  animation-name: zoomIn;
  animation-duration: 0.35s;
  animation-iteration-count: 1;
  visibility: visible;
}

/*-------------------------
  ROLL OVER
-------------------------*/
.ro {
  transition: all 0.25s linear;
}

.ro:hover {
  opacity: .8;
  transition: all 0.25s linear;
}

.ro:hover img {
  opacity: 1;
}

.ro a:hover, .ro a:hover img {
  transition: none;
  opacity: 1;
}

@media print, screen and (max-width: 767px) {
  .ro:hover,
  .ro a:hover,
  .ro a:hover img {
    opacity: 1;
  }
}

/*-------------------------
  pcCont/spCont
-------------------------*/
@media print, screen and (min-width: 768px) {
  .sp, .spCont {
    display: none;
  }
}

@media print, screen and (max-width: 767px) {
  .pc, .pcCont {
    display: none;
  }
}

/*-------------------------
  COMMONS
-------------------------*/
.tac {
  text-align: center;
}

.tal {
  text-align: left;
}

.tar {
  text-align: right;
}

.f_left {
  float: left;
}

.f_right {
  float: right;
}

.clear {
  clear: both;
}

button {
  cursor: pointer;
  outline: none;
}

.fBox {
  display: flex;
}

svg {
  fill: currentColor;
}

.preload * {
  transition: none !important;
}

.ofi {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  font-family: 'object-fit: cover;';
}

.ac_btn {
  cursor: pointer;
}

.ac_box {
  display: none;
}

.slider {
  opacity: 0;
  transition: opacity .3s linear;
}

.slider.slick-initialized {
  opacity: 1;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■setting
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
html {
  font-size: 62.5%;
}

body {
  position: relative;
  background: white;
  color: #000000;
  font-family: "Yu Mincho", "游明朝体", "YuMincho", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic Medium", "游ゴシック Medium", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-weight: 600;
  font-size: 1.3rem;
  line-height: 1;
  margin: 0 auto;
  -webkit-text-size-adjust: 100%;
  -webkit-overflow-scrolling: touch;
  word-break: normal;
  word-wrap: break-word;
  line-break: strict;
  overflow-wrap: break-word;
}

body.spMenu_open {
  position: fixed;
  left: 0;
  right: 0;
}

body a[href=""],
body a.disabled {
  cursor: not-allowed;
  pointer-events: none;
}

body:not(.view_sp) a[href^="tel:"] {
  color: inherit;
  text-decoration: none;
  pointer-events: none;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: inherit;
}

.bold, strong {
  font-weight: inherit;
}

#container {
  position: relative;
  width: 100%;
  padding-top: 48px;
}

@media print, screen and (min-width: 768px) {
  #container {
    padding-top: 100px;
    /*
		padding-left: 40%;
		padding-left: 460px;
		*/
    padding-left: 57.813%;
    max-width: 1280px;
    margin: 0 auto;
    /*@include liner;*/
  }
}

@media print, screen and (min-width: 1281px) {
  #container {
    padding-left: 780px;
  }
}

@media print, screen and (max-width: 1330px) {
  #container {
    padding-right: 20px;
  }
}

@media print, screen and (max-width: 767px) {
  #container {
    padding-right: 0;
  }
}

.contents {
  position: relative;
}

.innerWrap {
  position: relative;
  width: 100%;
  max-width: inherit;
  margin: 0 auto;
  padding: 0;
}

@media print, screen and (max-width: 767px) {
  .innerWrap {
    max-width: 380px;
    padding: 0 40px;
  }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■parts
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*-------------------------
  FONT
-------------------------*/
.lmr {
  font-family: "LMRomanDunh10-Regular", "Times New Roman", "Helvetica Neue", "Arial", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
}

.roman {
  font-family: "Times New Roman", "Helvetica Neue", "Arial", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
}

/*-------------------------
  loader
-------------------------*/
.loader,
.loader:after {
  border-radius: 50%;
  width: 10em;
  height: 10em;
}

.loader {
  font-size: 10px;
  position: relative;
  text-indent: -9999em;
  border-top: 5px solid rgba(80, 80, 80, 0.5);
  border-right: 5px solid rgba(80, 80, 80, 0.5);
  border-bottom: 5px solid rgba(80, 80, 80, 0.5);
  border-left: 5px solid #505050;
  transform: translateZ(0);
  animation: loader 1.1s infinite linear;
}

@keyframes loader {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

/*-------------------------
  swiper
-------------------------*/
.swiper-container {
  position: relative;
  overflow: hidden;
  width: 100%;
}

.swiper__box {
  width: 380px !important;
  max-width: 100%;
  height: 247px !important;
  display: block;
  margin-left: auto;
  margin-right: auto;
  /*以下、見た目の装飾に関わるところなので本件とは無関係*/
  border: 2px solid #707070;
  border-radius: 10px 10px 10px 10px;
  background-color: #FFF;
  display: flex;
  justify-content: center;
  align-items: center;
}

/*-------------------------
  hd
-------------------------*/
.hd01 {
  color: #000;
  font-family: "Times New Roman", "Helvetica Neue", "Arial", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  font-size: 2.0rem;
  line-height: 1.15;
  margin-bottom: 23px;
}

.hd01L {
  color: #000;
  font-family: "Times New Roman", "Helvetica Neue", "Arial", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  font-size: 3.0rem;
  line-height: 1.13333;
  margin-bottom: 15px;
}

.hd02 {
  color: #707070;
  font-family: "Helvetica Neue", "Arial", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  font-size: 1.8rem;
  line-height: 1.16667;
  text-transform: uppercase;
  margin-bottom: 15px;
}

.hd02::after {
  content: '';
  display: block;
  width: 90px;
  height: 2px;
  background: #C91C51;
  transform: translate(-24px, 0);
  margin-top: 14px;
}

.hd02jp {
  position: relative;
  font-size: 1.6rem;
  font-weight: 500;
  padding: 0 0 4px 0;
  margin-bottom: 6px;
}

.hd02jp::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0px;
  display: block;
  width: 90px;
  height: 2px;
  background: #000000;
  transform: translate(-230%, 0vh);
  transition: all 0.6s linear;
}

.hd02jp.fadeInUp::after {
  transform: translate(0, 0) !important;
}

.hd03 {
  background: #000;
  color: #fff;
  font-size: 1.4rem;
  line-height: 1.429;
  padding: 0px 24px;
  margin-bottom: 20px;
}

.hd03 .jp:not(:only-child) {
  margin-right: 1em;
}

/*-------------------------
  btn
-------------------------*/
.link {
  margin-top: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
}

@media print, screen and (max-width: 767px) {
  .link {
    width: 100%;
  }
}

.link > * {
  transition: all 0.25s linear;
  cursor: pointer;
}

.link > *:hover {
  opacity: .8;
  transition: all 0.25s linear;
}

.link a {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  min-width: 132px;
  min-height: 22px;
  background-color: #1A1311;
  border-radius: 50px;
}

.link a span {
  font-family: "Noto Sans", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic Medium", "游ゴシック Medium", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  font-weight: 400;
  font-size: 1.4rem;
  font-weight: 400;
}

.Send {
  margin-top: 48px;
  display: flex;
  justify-content: center;
  align-items: center;
}

@media print, screen and (max-width: 767px) {
  .Send {
    width: 100%;
  }
}

.Send > * {
  transition: all 0.25s linear;
  cursor: pointer;
}

.Send > *:hover {
  opacity: .8;
  transition: all 0.25s linear;
}

.Send a {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  min-width: 132px;
  min-height: 22px;
  background-color: #1A1311;
  border-radius: 50px;
}

.Send a span {
  font-family: "Noto Sans", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic Medium", "游ゴシック Medium", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  font-weight: 400;
  font-size: 1.4rem;
  font-weight: 400;
}

.Send button.btn_inner {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  min-width: 132px;
  min-height: 22px;
  background-color: #1A1311;
  border-radius: 50px;
}

.Send button.btn_inner span {
  font-family: "Noto Sans", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic Medium", "游ゴシック Medium", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  font-weight: 400;
  font-size: 1.3rem;
  font-weight: 400;
}

/* 通常ボタン　白背景黒ボーダー/SPは灰ボーダー */
.btn01 {
  position: relative;
  display: flex;
  margin: 0 auto;
}

.btn01 .btn_inner {
  position: relative;
  z-index: 0;
  overflow: hidden;
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 34px;
  background: #000;
  border-radius: 0;
  color: #fff;
  font-size: 1.4rem;
  line-height: 1.0;
  font-weight: 700;
  padding: 5px 35px 5px 17px;
}

@media print, screen and (max-width: 390px) {
  .btn01 .btn_inner {
    font-size: 3.58974vw;
  }
}

.btn01 .btn_inner:before {
  content: '';
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  background: #444;
  transform: scaleX(0.8) translateZ(0);
  transform-origin: left;
  transition: all 0.25s linear;
}

.btn01 .btn_inner:after {
  content: '';
  position: absolute;
  top: 50%;
  right: 15px;
  width: 16.66667px;
  height: 16.66667px;
  background: url(../img/arrow01.png) no-repeat left top;
  background-size: 100% auto;
  transform: translate(0, -50%);
}

.btn01 span {
  position: relative;
  display: inline-block;
}

.btn01 .btn_inner:hover:before {
  opacity: 1;
  transform: scaleX(1) translateZ(0);
}

.btn01 button {
  color: inherit;
  box-shadow: none;
  font-family: inherit;
  font-size: 100%;
}

.btn01.back .btn_inner:after {
  transform: rotate(135deg);
  left: 18px;
  right: auto;
}

.btn01.btn_more .btn_inner {
  cursor: pointer;
}

.btn01.map {
  text-transform: uppercase;
}

.btn01.map .btn_inner {
  padding-left: 35px;
}

.btn01.map span::before {
  content: '';
  position: absolute;
  top: 50%;
  left: -27px;
  width: 16px;
  height: 22px;
  background: url(../img/icon-pin01.png) no-repeat left top;
  background-size: cover;
  transform: translateY(-50%);
}

.btn01 small {
  font-size: 1.2rem;
  text-transform: uppercase;
  margin-left: -12px;
}

.btn01 small .en {
  font-size: 1.0rem;
}

.btn02 {
  position: relative;
  display: flex;
}

.btn02 .btn_inner {
  position: relative;
  z-index: 0;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 111px;
  height: 111px;
  border-radius: 100%;
  background: #000;
  color: #fff;
  font-family: "Helvetica Neue", "Arial", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  font-size: 1.6rem;
  font-weight: 300;
}

@media print, screen and (max-width: 390px) {
  .btn02 .btn_inner {
    font-size: 4.10256vw;
  }
}

.btn02 .btn_inner:before {
  content: '';
  opacity: 0;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  display: block;
  width: 100%;
  height: 100%;
  background: #444;
  border-radius: 100%;
  margin: auto;
  transform: scale(0.8);
  transition: all 0.25s linear;
}

.btn02 span {
  position: relative;
  display: inline-block;
}

.btn02 span::after {
  content: '>';
  margin-left: .5em;
  line-height: 1.0;
}

.btn02 .btn_inner:hover:before {
  opacity: 1;
  transform: scale(1);
}

.btn02.btn_more .btn_inner {
  cursor: pointer;
}

/*-------------------------
	PhotoSwipe
-------------------------*/
.pswp {
  top: 50%;
  left: 50%;
  max-width: 502px;
  max-height: 502px;
  transform: translate(-50%, -50%);
}

@media print, screen and (min-width: 768px) {
  .pswp {
    max-width: 886px;
    max-height: 886px;
  }
}

.pswp__bg,
.pswp__scroll-wrap {
  /*
	position: relative;
	top: 50%;
	left: 50%;
	max-width: 502px;
	width: 100%;
	max-height: 502px;
	height: 100%;
	transform: translate(-50% , -50%) !important;
	*/
}

.pswp__top-bar {
  background: none !important;
}

.pswp__zoom-wrap .pswp__img {
  transform: scale(0.76);
}

@media print, screen and (min-width: 768px) {
  .pswp__zoom-wrap .pswp__img {
    transform: scale(1);
  }
}

/*-------------------------
	lity
-------------------------*/
.lity {
  background: none;
}

.lity-close {
  cursor: default;
  position: absolute;
  z-index: -1;
  width: 100%;
  height: 100%;
  font-size: 0;
  line-height: 0;
  text-shadow: none;
  background: rgba(0, 0, 0, 0.76);
}

.lity-close:hover {
  background: rgba(0, 0, 0, 0.76);
  font-size: 0;
  line-height: 0;
  text-shadow: none;
}

.lity-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
}

@media print, screen and (max-width: 767px) {
  .lity-wrap {
    /*
		position: relative;
		top: 50%;
		left: 50%;
		right: auto;
		bottom: auto;
		background: rgba(#000 , .76);
		padding: 59px;
		transform: translate(-50% , -50%);
		*/
  }
}

.lity-wrap::before {
  display: none;
}

.lity-container {
  padding: 59px;
}

.lity-content {
  background: #fcf;
}

.lity-content::after {
  display: none;
}

.ps_gallery,
.lt_gallery {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.ps_gallery::before, .ps_gallery::after,
.lt_gallery::before,
.lt_gallery::after {
  content: '';
  order: 1;
  width: calc((100% - 32px) / 3);
}

@media print, screen and (min-width: 768px) {
  .ps_gallery::before, .ps_gallery::after,
  .lt_gallery::before,
  .lt_gallery::after {
    width: calc((100% - 48px) / 4);
  }
}

.ps_gallery > *,
.lt_gallery > * {
  position: relative;
  z-index: 0;
  width: calc((100% - 32px) / 3);
  margin-bottom: 16px;
}

@media print, screen and (min-width: 768px) {
  .ps_gallery > *,
  .lt_gallery > * {
    width: calc((100% - 48px) / 4);
  }
}

.ps_gallery > *::before,
.lt_gallery > *::before {
  content: '';
  position: relative;
  z-index: -1;
  display: block;
  padding-bottom: 100%;
}

.ps_gallery > * img,
.lt_gallery > * img {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: -1;
}

.ps_gallery a,
.lt_gallery a {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  display: block;
  transition: all 0.25s linear;
}

.ps_gallery a:hover,
.lt_gallery a:hover {
  opacity: .8;
  transition: all 0.25s linear;
}

.ps_gallery a::after,
.lt_gallery a::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 0;
  width: 12px;
  height: 12px;
  background: url(../img/arrow02.png) no-repeat left top;
  background-size: cover;
  transform: translate(4px, -50%);
}

@media print, screen and (min-width: 768px) {
  .ps_gallery a::after,
  .lt_gallery a::after {
    width: 24px;
    height: 24px;
    transform: translate(8px, -50%);
  }
}

@media print, screen and (min-width: 768px) {
  .gallery .innerWrap {
    padding: 0 50px;
  }
}

@media print, screen and (max-width: 767px) {
  .gallery .innerWrap {
    max-width: 272px;
    transform: translateX(9.5px);
  }
}

/*-------------------------
  copyright
-------------------------*/
.copyright {
  font-family: "LMRomanDunh10-Regular", "Times New Roman", "Helvetica Neue", "Arial", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  font-size: 1.0rem;
  line-height: 2.0;
  text-align: center;
}

@media print, screen and (max-width: 360px) {
  .copyright {
    font-size: 2.77778vw;
  }
}

.copyright span {
  font-family: 'Jost', sans-serif;
  font-weight: 500;
  font-size: 130%;
  line-height: 1.0;
}

/* ----------------------------------
  推移アニメーション
---------------------------------- */
.role_wp {
  position: relative;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 99;
}

@media print, screen and (min-width: 768px) {
  .role_wp {
    position: fixed;
  }
}

.role_wp .role_fade {
  background: #ffffff;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
}

.role_wp .role_up {
  position: absolute;
  top: 0px;
  left: 0;
  width: 100%;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  /* ▼ アニメーション完了後の .up_bg のスタイルをクラスで定義 */
}

@media print, screen and (min-width: 768px) {
  .role_wp .role_up {
    position: absolute;
    top: 50px;
    left: 0%;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
  }
}

.role_wp .role_up .up_bg {
  position: absolute;
  top: 0px;
  left: 0;
  width: 100%;
  height: 100%;
  background: #ffffff;
  opacity: 1;
}

.role_wp .role_up .up_bg.animation-complete {
  position: absolute;
  /* 完了後は absolute */
  top: 0;
  /* 完了後は 0 */
  height: 44px;
  /* 親要素の高さに合わせるなど、最終的な高さを指定 */
}

.role_wp .role_up .text {
  font-family: "Times New Roman", "Helvetica Neue", "Arial", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  font-size: 2rem;
  line-height: calc(23/20);
  text-align: center;
  color: #000000;
  padding: 10px 0;
  font-weight: 400;
  width: 100%;
  text-align: center;
  color: #000000;
  z-index: 10;
  opacity: 0;
  margin-left: 0;
}

@media print, screen and (min-width: 768px) {
  .role_wp .role_up .text {
    font-size: 3.2rem;
    position: relative;
    z-index: 10;
    background-color: #fff;
  }
}

@media screen and (max-width: 1200px) {
  .role_wp .role_up .text {
    margin-right: 4%;
  }
}

@media screen and (max-width: 980px) {
  .role_wp .role_up .text {
    margin-right: 6%;
  }
}

@media screen and (max-width: 768px) {
  .role_wp .role_up .text {
    margin-right: 0%;
    background-color: transparent;
    position: static;
  }
}

.role_wp .role_img {
  position: absolute;
  width: 224px;
  top: 10%;
  left: 50%;
  transform: translateX(-50%);
  margin-top: 40px;
  opacity: 1;
  /* 初期状態は不透明 */
}

@media print, screen and (min-width: 768px) {
  .role_wp .role_img {
    margin-top: 80px;
  }
}

.role_wp .role_img img {
  width: 100%;
  height: auto;
  display: block;
}

/* ----------------------------------
アニメーションの定義 (@keyframes)
---------------------------------- */
/* 1. フェードアウトして消える動き */
@keyframes fade-out-and-disappear {
  to {
    opacity: 0;
    visibility: hidden;
    /* アニメーション後、完全に非表示にする */
  }
}

/* 2-1. up_bg: 高さの縮小と透明度の変化 */
@keyframes animate-up-bg {
  0% {
    height: 530px;
    opacity: 1;
  }
  20% {
    opacity: 0.4;
    /* 中間地点で最も薄くなる */
  }
  100% {
    height: 44px;
    /* 最終的な高さ (テキストを覆う程度に調整) */
    opacity: 1;
    /* 最終的に不透明に戻る */
  }
}

@media print, screen and (min-width: 768px) {
  @keyframes animate-up-bg {
    0% {
      height: 100vh;
      opacity: 1;
    }
    100% {
      height: 44px;
      /* 最終的な高さ (テキストを覆う程度に調整) */
      opacity: 0;
      /* 最終的に不透明に戻る */
    }
  }
}

/* 2-2. text: 透明から表示される動き */
@keyframes fade-in-text {
  to {
    opacity: 1;
  }
}

/* ----------------------------------
  各要素へのアニメーション適用
---------------------------------- */
/* 1個目：画面全体の背景を消す */
.role_fade {
  animation: fade-out-and-disappear 3s 0.5s forwards;
}

/* 3個目：ロゴを消す */
.role_img {
  animation: fade-out-and-disappear 4.5s 0.5s forwards;
}

/* --- アニメーションして残る要素 --- */
/* 2-1. up_bg のアニメーション */
.role_up .up_bg {
  animation: animate-up-bg 3s 0.5s forwards ease-in;
}

/* 2-2. text のアニメーション */
.role_up .text {
  animation: fade-in-text 2s 2s forwards;
}

/*-------------------------
  cover
-------------------------*/
.cover {
  display: none;
}

@media print, screen and (min-width: 768px) {
  .cover {
    display: block;
    position: absolute;
    top: 0px;
    left: 0;
    right: 0;
    z-index: 9998;
    animation-name: cover;
    animation-fill-mode: forwards;
    animation-delay: .8s;
    animation-duration: 0.2s;
    animation-iteration-count: 1;
    animation-timing-function: ease-in;
    position: fixed;
    top: 78px;
    bottom: 0;
    height: auto;
    max-width: 1280px;
    width: 100%;
    margin: 0 auto;
  }
}

@media print, screen and (min-width: 768px) {
  .cover > * {
    width: 460px;
    width: 57.813%;
  }
}

@keyframes cover {
  0% {
    opacity: 1;
  }
  99% {
    opacity: 0;
  }
  100% {
    opacity: 0;
    visibility: hidden;
  }
}

/*-------------------------
  pagetitle
-------------------------*/
.pagetitle {
  position: relative;
  z-index: -1;
  margin-bottom: 31px;
  height: 530px;
}

@media print, screen and (min-width: 768px) {
  .pagetitle {
    position: fixed;
    top: 100px;
    left: 0;
    right: 0;
    bottom: 0;
    height: auto;
    padding: 0;
    margin: 0 auto;
    max-width: 1280px;
    height: auto;
  }
}

.pagetitle .img {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: -1;
  display: block;
  padding: 0;
}

@media print, screen and (min-width: 768px) {
  .pagetitle .img {
    padding: 0 20px 0 0;
    width: 460px;
    width: 57.813%;
  }
}

@media print, screen and (max-width: 1330px) {
  .pagetitle .img {
    padding: 0 20px;
  }
}

@media print, screen and (max-width: 767px) {
  .pagetitle .img {
    padding: 0;
  }
}

.pagetitle .text {
  font-family: "Times New Roman", "Helvetica Neue", "Arial", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  font-size: 3.2rem;
  line-height: calc(23/20);
  text-align: center;
  padding: 10px 0;
  font-weight: 400;
  text-align: center;
  position: absolute;
  top: 10px;
  right: 50%;
  width: auto;
}

/*-------------------------
  pagetitle(短い)
-------------------------*/
.pagetitle_short {
  position: relative;
  z-index: -1;
  margin-bottom: 50px;
  height: auto;
}

@media print, screen and (min-width: 768px) {
  .pagetitle_short {
    position: fixed;
    top: 100px;
    left: 0;
    right: 0;
    bottom: 0;
    height: auto;
    padding: 0;
    margin: 0 auto;
    max-width: 1280px;
    height: auto;
  }
}

.pagetitle_short .img_lower {
  display: block;
  height: 130px;
}

@media print, screen and (min-width: 768px) {
  .pagetitle_short .img_lower {
    padding: 0 20px 0 0;
    width: 460px;
    width: 57.813%;
    height: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
  }
}

@media print, screen and (max-width: 1330px) {
  .pagetitle_short .img_lower {
    padding: 0 20px;
  }
}

@media print, screen and (max-width: 767px) {
  .pagetitle_short .img_lower {
    padding: 0;
  }
}

.pagetitle_short .text_lower {
  font-family: "Times New Roman", "Helvetica Neue", "Arial", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  font-size: 2rem;
  line-height: calc(23/20);
  text-align: center;
  color: #000000;
  padding: 10px 0 11px;
  font-weight: 400;
  width: 100%;
  text-align: center;
  color: #000000;
  z-index: 10;
  background-color: transparent;
}

@media print, screen and (min-width: 768px) {
  .pagetitle_short .text_lower {
    font-family: "Times New Roman", "Helvetica Neue", "Arial", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
    font-size: 3.2rem;
    line-height: calc(23/20);
    text-align: center;
    padding: 10px 0;
    font-weight: 400;
    text-align: center;
    position: absolute;
    top: -56px;
    left: 50%;
    transform: translateX(-50%);
    width: 57.813%;
    width: 100%;
    background-color: #fff;
  }
}

.pc_title {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 99;
}

.pc_title .text_lower {
  font-family: "Times New Roman", "Helvetica Neue", "Arial", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  font-size: 3.2rem;
  line-height: calc(23/20);
  text-align: center;
  padding: 14px 0 6px;
  font-weight: 400;
  text-align: center;
  position: absolute;
  top: 40px;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  background-color: #fff;
}

/*-------------------------
	スライド
-------------------------*/
.slide_wrap {
  padding: 0 39px;
}

@media print, screen and (min-width: 768px) {
  .slide_wrap {
    padding: 0;
  }
}

.slide {
  width: 100%;
  margin: 0 auto;
}

.slide .swiper-wrapper {
  height: auto;
}

.slide .swiper-slide {
  display: flex;
  justify-content: center;
  align-items: center;
  height: auto;
}

.slide .img {
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 544px;
  max-height: 404px;
  width: 100%;
  height: 100%;
  background: #fff;
  margin: 0;
}

@media print, screen and (max-width: 767px) {
  .slide .img {
    max-height: 202px;
  }
}

.slide .img img {
  max-width: 100%;
  max-height: 100%;
}

.sec_block.bg .slide .img {
  background: #9A9A9A;
}

.slide .swiper-container .swiper-pagination {
  margin-top: 18px;
  bottom: 0;
  position: static;
  display: flex;
  justify-content: center;
  column-gap: 5px;
}

.slide .swiper-container .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background-color: #707070;
  border: none;
}

.slide .swiper-container .swiper-pagination .swiper-pagination-bullet {
  width: 6px;
  height: 6px;
  margin: 0;
  background-color: #fff;
  border: .5px solid #000;
}

.slide .swiper-container .swiper-button-prev, .slide .swiper-container .swiper-button-next {
  position: absolute;
  top: 54%;
  transform: translateY(-50%);
  border-radius: 0;
  z-index: 999;
  background-image: none;
}

.slide .swiper-container .swiper-button-prev {
  left: 0;
}

.slide .swiper-container .swiper-button-next {
  right: 0;
}

.slide .swiper-container .swiper-button-prev, .slide .swiper-container .swiper-button-next {
  width: 32px;
  height: 80px;
}

.slide .swiper-container .swiper-button-prev::before, .slide .swiper-container .swiper-button-next::before {
  content: "";
  display: block;
  width: 10px;
  height: 18px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  position: absolute;
}

.slide .swiper-container .swiper-button-prev::after, .slide .swiper-container .swiper-button-next::after {
  content: none;
}

.slide .swiper-container .swiper-button-prev::before {
  background: url(../img/slide_l_icon.png) no-repeat center;
  background-size: cover;
}

.slide .swiper-container .swiper-button-next::before {
  background: url(../img/slide_r_icon.png) no-repeat center;
  background-size: cover;
}

/*-------------------------
	矢印テキストリンク
-------------------------*/
.link_arrow {
  position: relative;
  z-index: 1;
  color: #000;
  font-family: "Helvetica Neue", "Arial", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  font-size: 1.4rem;
  font-weight: 300;
  text-align: right;
  margin-bottom: 20px;
}

.link_arrow > * {
  display: inline-block;
  transition: all 0.25s linear;
  cursor: pointer;
}

.link_arrow > *:hover {
  opacity: .8;
  transition: all 0.25s linear;
}

.link_arrow > *::after {
  content: '>';
  margin-left: 5px;
}

.radius {
  border-radius: 6px;
}

.uppercase_letter {
  text-transform: uppercase;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■header
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  background-color: #000000;
  z-index: 9996;
}

#header .inner_block {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 17px 0 12px;
  height: 48px;
}

@media print, screen and (min-width: 768px) {
  #header .inner_block {
    max-width: 1280px;
    width: 100%;
    margin: 0 auto;
  }
}

#header .logo a {
  display: inline-block;
}

#header .logo img {
  width: 160px;
  height: auto;
}

body.spMenu_open #header {
  background: none;
  z-index: 9994;
}

body.spMenu_open #header .logo {
  visibility: hidden;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■switching
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.header_block {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 2px;
}

.switching {
  margin-right: 17px;
  margin-top: -1px;
}

.switching span {
  color: #fff;
  font-size: 1.5rem;
  font-weight: 400;
  font-family: "Times New Roman", "Helvetica Neue", "Arial", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  opacity: 0.8;
}

.switching span a {
  color: #fff;
  font-family: "Times New Roman", "Helvetica Neue", "Arial", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
}

.switching span a:hover {
  opacity: 0.6;
  transition: all 0.25s linear;
}

.switching .active_color {
  opacity: 1;
}

body.spMenu_open .switching {
  display: none;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■MENU
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.menuBtn {
  position: relative;
  top: 50%;
  align-self: flex-start;
  display: flex;
}

body.spMenu_open .menuBtn {
  z-index: 99999;
  position: absolute;
  top: 30px;
  right: 48px;
}

/*-------------------------
  spMenuBtn
-------------------------*/
#spMenuBtn {
  z-index: 99999;
  border: none;
  background-color: transparent;
  outline: none;
  /*template*/
  width: 45px;
  height: 11px;
  z-index: 9999;
}

#spMenuBtn .spMenuBtn_bar {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 1px;
}

#spMenuBtn .spMenuBtn_bar span {
  display: block;
  width: 11px;
  height: 11px;
  background-color: #F80000;
  border-radius: 50%;
  position: relative;
  top: auto;
  bottom: 0;
  margin: 0;
}

#spMenuBtn .spMenuBtn_bar span::before, #spMenuBtn .spMenuBtn_bar span::after {
  content: '';
  display: block;
  width: 11px;
  height: 11px;
  background-color: #F80000;
  position: absolute;
  bottom: 0;
  border-radius: 50%;
}

#spMenuBtn .spMenuBtn_bar span::before {
  left: -17px;
}

#spMenuBtn .spMenuBtn_bar span::after {
  right: -17px;
}

body.spMenu_open #spMenuBtn {
  width: 41px;
  height: 22px;
}

body.spMenu_open #spMenuBtn .spMenuBtn_bar {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

body.spMenu_open #spMenuBtn .spMenuBtn_bar span {
  display: block;
  width: 100%;
  height: 100%;
  background-color: transparent;
  border-radius: 50%;
  position: relative;
  top: auto;
  bottom: 0;
  margin: 0;
}

body.spMenu_open #spMenuBtn .spMenuBtn_bar span::after {
  display: none;
  background-color: transparent;
}

body.spMenu_open #spMenuBtn .spMenuBtn_bar span::before {
  content: "close";
  color: #fff;
  font-family: "Times New Roman", "Helvetica Neue", "Arial", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  font-size: 2rem;
  background-color: transparent;
  width: auto;
  height: auto;
  left: 0;
}

/*-------------------------
  spMenu
-------------------------*/
#spMenu {
  opacity: 0;
  position: fixed;
  display: block;
  padding: 0;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 990;
  width: 100%;
  background: #000;
  color: #fff;
  opacity: 0;
  visibility: hidden;
  /* 透明度と表示状態を0.5秒かけて変化させる */
  transition: opacity 0.8s ease, visibility 0.8s ease;
}

body.spMenu_open #spMenu {
  opacity: 1;
}

#spMenu .spMenu_innerWrap {
  overflow-x: hidden;
  overflow-y: auto;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  height: 100%;
  padding: 88px 48px 25px;
}

#spMenu .spMenu_inner {
  max-width: 1280px;
  width: 100%;
  margin: 0 auto;
  transition: all 0.25s linear;
}

#spMenu .list_wrap {
  line-height: 1.6;
  border-top: 1px solid #fff;
}

#spMenu .list_wrap:not(.sub) {
  padding-top: 14px;
}

#spMenu .list_wrap:not(.sub) > *:not(:first-child) {
  margin-top: 8px;
}

#spMenu .list_item a {
  display: inline-block;
  transition: all 0.25s linear;
  font-family: "Noto Sans JP", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-weight: 400;
  font-size: 1.5rem;
}

#spMenu .list_item a:hover {
  opacity: .8;
  transition: all 0.25s linear;
}

#spMenu .list_item a::before {
  content: attr(data-en);
  font-family: "Noto Sans", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic Medium", "游ゴシック Medium", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  font-weight: 400;
  font-size: 1.6rem;
  margin-right: 1em;
}

#spMenu .list_wrap.sub {
  font-size: 1.5rem;
  padding-top: 20px;
  margin-top: 16px;
}

#spMenu .list_wrap.sub > *:not(:first-child) {
  margin-top: 6px;
}

#spMenu .list_wrap.sub .list_item a::before {
  font-size: 1.6rem;
}

#spMenu .utility_wrap {
  border-top: 1px solid #fff;
  font-family: "Helvetica Neue", "Arial", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  text-transform: uppercase;
  padding-top: 20px;
  margin-top: 14px;
}

#spMenu .utility_wrap li:not(:first-child) {
  margin-top: 14px;
}

#spMenu .utility_wrap a {
  display: inline-block;
  transition: all 0.25s linear;
  font-family: "Noto Sans JP", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-weight: 400;
  font-size: 1.1rem;
}

#spMenu .utility_wrap a:hover {
  opacity: .8;
  transition: all 0.25s linear;
}

#spMenu .utility_wrap a::before {
  content: attr(data-en);
  font-family: "Noto Sans", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic Medium", "游ゴシック Medium", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  font-weight: 400;
  font-size: 1.2rem;
  margin-right: 1em;
}

#spMenu .copyright {
  margin: 152px -48px 0;
  font-family: "Times New Roman", "Helvetica Neue", "Arial", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  font-size: 1.4rem;
  font-weight: 400;
}

body.spMenu_open #spMenu {
  opacity: 1;
  /* 不透明にする */
  visibility: visible;
  /* 表示して操作可能にする */
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■footer
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#pagetop {
  cursor: pointer;
  width: 70px;
  background: url(../img/pagetop.png) no-repeat center top;
  background-size: auto 32px;
  text-align: center;
  text-transform: uppercase;
  padding: 36px 0 0;
  margin: 67px auto 0;
}

#footer {
  padding: 32px 48px  18px;
  margin: 60px auto 0;
  background-color: #000000;
  color: #fff;
  width: 100%;
}

@media print, screen and (min-width: 768px) {
  #footer {
    padding: 52px 48px 18px;
  }
}

@media print, screen and (min-width: 768px) {
  #footer .footer_inner {
    max-width: 1184px;
    margin: auto;
  }
}

#footer .address {
  line-height: 1.8;
  text-align: center;
  margin: 16px 0 0;
}

#footer .address p {
  line-height: calc(25/13);
  font-family: "Noto Sans JP", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-weight: 400;
}

#footer .logo {
  text-align: center;
  margin: 80px 0 36px;
}

#footer .logo a {
  display: inline-block;
}

#footer .logo img {
  width: 180px;
  height: auto;
}

#footer .copyright {
  margin: 0 -48px 0;
  font-family: "Times New Roman", "Helvetica Neue", "Arial", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  font-size: 1.2rem;
  font-weight: 400;
}

#footer_nav {
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
  padding: 14px 0 16px;
}

#footer_nav .list_wrap {
  margin-bottom: 30px;
}

#footer_nav .list_wrap a {
  font-size: 1.4rem;
  font-family: "Noto Sans", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic Medium", "游ゴシック Medium", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  font-weight: 400;
  color: #fff;
  line-height: 1;
}

#footer_nav .list_item,
#footer_nav p:not([class]) {
  display: flex;
}

#footer_nav .list_item > *,
#footer_nav p:not([class]) > * {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 28px;
}

#footer_nav .list_item > *::after,
#footer_nav p:not([class]) > *::after {
  content: attr(data-en);
  margin-left: 1em;
  font-size: 1.3rem;
  font-family: "Noto Sans JP", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-weight: 400;
}

#footer_nav .list_item a,
#footer_nav p:not([class]) a {
  background: url(../img/ft-arrow.png) no-repeat right center;
  background-size: auto 10px;
  transition: all 0.25s linear;
}

#footer_nav .list_item a:hover,
#footer_nav p:not([class]) a:hover {
  opacity: .8;
  transition: all 0.25s linear;
}

#footer_nav p:not([class]) a {
  font-family: "Noto Sans", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic Medium", "游ゴシック Medium", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  font-weight: 400;
  font-family: "Noto Sans", "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic Medium", "游ゴシック Medium";
  font-size: 1.4rem;
}

#footer_nav p:not([class]) a::after {
  content: attr(data-en);
  margin-left: 1em;
  font-size: 1.3rem;
  font-family: "Noto Sans JP", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-weight: 400;
}

#footer_nav .utility_wrap {
  margin-top: 32px;
}

#footer_nav .utility_wrap .list_item > * {
  min-height: 26px;
}

#footer_nav .utility_wrap .list_item a {
  font-size: 1.2rem;
  font-family: "Noto Sans JP", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-weight: 400;
  line-height: 1;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■form
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*--------------------------------------------------
  form reset
--------------------------------------------------*/
.form {
  /*
	select {
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
	}
	select::-ms-expand {
		display: none;
	}
	*/
}

.form input,
.form select,
.form textarea,
.form button {
  font-family: "Yu Mincho", "游明朝体", "YuMincho", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic Medium", "游ゴシック Medium", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-weight: 600;
}

.form input[type="text"],
.form input[type="tel"],
.form input[type="email"],
.form input[type="password"],
.form input[type="number"],
.form input[type="url"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline-color: #000;
  width: 100%;
  background: #fff;
  border-top: none;
  border-bottom: 1px solid #707070;
  border-left: none;
  border-right: none;
  border-radius: 0;
  box-shadow: none;
  height: 36px;
  font-size: 1.6rem;
  line-height: 1.875;
  padding: 8px 6px;
  background: #fff;
}

.form input[type="text"].problem,
.form input[type="tel"].problem,
.form input[type="email"].problem,
.form input[type="password"].problem,
.form input[type="number"].problem,
.form input[type="url"].problem {
  background-color: #fff2f2;
  border-color: #DC000C;
  border-width: 2px;
}

.form input[type="text"].problem + .mfp_err,
.form input[type="tel"].problem + .mfp_err,
.form input[type="email"].problem + .mfp_err,
.form input[type="password"].problem + .mfp_err,
.form input[type="number"].problem + .mfp_err,
.form input[type="url"].problem + .mfp_err {
  display: block;
}

.form input[type="text"][disabled],
.form input[type="tel"][disabled],
.form input[type="email"][disabled],
.form input[type="password"][disabled],
.form input[type="number"][disabled],
.form input[type="url"][disabled] {
  color: #505050;
  background-color: #9A9A9A;
  border-color: #505050;
}

.form input[type="text"][readonly],
.form input[type="tel"][readonly],
.form input[type="email"][readonly],
.form input[type="password"][readonly],
.form input[type="number"][readonly],
.form input[type="url"][readonly] {
  background: none;
  border: none;
  outline: none;
}

.form input[type=time],
.form input[type=date],
.form input[type=month] {
  outline-color: #000;
  width: 100%;
  background: #fff;
  border-top: none;
  border-bottom: 1px solid #707070;
  border-left: none;
  border-right: none;
  border-radius: 0;
  box-shadow: none;
  height: 36px;
  font-size: 1.6rem;
  line-height: 1.875;
  padding: 8px 6px;
  background: #fff;
}

.form input[type=time].problem,
.form input[type=date].problem,
.form input[type=month].problem {
  background-color: #fff2f2;
  border-color: #DC000C;
  border-width: 2px;
}

.form input[type=time].problem + .mfp_err,
.form input[type=date].problem + .mfp_err,
.form input[type=month].problem + .mfp_err {
  display: block;
}

.form input[type=time][disabled],
.form input[type=date][disabled],
.form input[type=month][disabled] {
  color: #505050;
  background-color: #9A9A9A;
  border-color: #505050;
}

.form input[type=time][readonly],
.form input[type=date][readonly],
.form input[type=month][readonly] {
  background: none;
  border: none;
  outline: none;
}

.form input[type=time]::-webkit-date-and-time-value,
.form input[type=date]::-webkit-date-and-time-value,
.form input[type=month]::-webkit-date-and-time-value {
  text-align: left;
}

.form input[type="number"] {
  padding-right: 0;
}

.form select {
  outline-color: #000;
  width: 100%;
  background: #fff;
  border-top: none;
  border-bottom: 1px solid #707070;
  border-left: none;
  border-right: none;
  border-radius: 0;
  box-shadow: none;
  height: 36px;
  font-size: 1.6rem;
  line-height: 1.875;
  padding: 8px 6px;
  padding-right: 0;
}

.form select.problem {
  background-color: #fff2f2;
  border-color: #DC000C;
  border-width: 2px;
}

.form select.problem + .mfp_err {
  display: block;
}

.form select[disabled] {
  color: #505050;
  background-color: #9A9A9A;
  border-color: #505050;
}

.form select[readonly] {
  background: none;
  border: none;
  outline: none;
}

.form textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline-color: #000;
  width: 100%;
  background: #fff;
  border-top: none;
  border-bottom: 1px solid #707070;
  border-left: none;
  border-right: none;
  border-radius: 0;
  box-shadow: none;
  height: 36px;
  font-size: 1.6rem;
  line-height: 1.875;
  padding: 8px 6px;
  display: block;
  resize: none;
  resize: both;
  height: 178px;
  background: #fff;
}

.form textarea.problem {
  background-color: #fff2f2;
  border-color: #DC000C;
  border-width: 2px;
}

.form textarea.problem + .mfp_err {
  display: block;
}

.form textarea[disabled] {
  color: #505050;
  background-color: #9A9A9A;
  border-color: #505050;
}

.form textarea[readonly] {
  background: none;
  border: none;
  outline: none;
}

@media print, screen and (max-width: 767px) {
  .form textarea {
    height: 126px;
  }
}

.form button,
.form input[type="submit"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0;
  border: none;
  outline: none;
  background: transparent;
  text-shadow: none;
  box-shadow: none;
}

.form button:not(.btn_inner):hover,
.form input[type="submit"]:hover {
  background: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}

.form label {
  cursor: pointer;
}

.form label span {
  position: relative;
  display: inline-block;
  padding: 0 0 0 22px;
}

.form label span:before, .form label span:after {
  content: '';
  display: block;
  position: absolute;
  top: 0;
}

.form label span:before {
  left: 0;
  width: 16px;
  height: 16px;
  background: transparent;
  border: 1px solid #707070;
  background: #fff;
  transition: all 0.25s linear;
}

.form label span:after {
  opacity: 0;
  top: 0;
  margin: auto;
  transition: all 0.25s linear;
}

.form input[type="radio"],
.form input[type="checkbox"] {
  display: none;
}

.form input[type="radio"]:checked + span:after,
.form input[type="radio"]:checked + input + span:after,
.form input[type="checkbox"]:checked + span:after,
.form input[type="checkbox"]:checked + input + span:after {
  opacity: 1;
  transition: all 0.25s linear;
}

.form label input[type="radio"] + span:before,
.form label input[type="radio"] + input + span:before,
.form label input[type="radio"] + span:after,
.form label input[type="radio"] + input + span:after {
  border-radius: 50%;
}

.form label input[type="radio"] + span:after,
.form label input[type="radio"] + input + span:after {
  top: 7px;
  left: 4px;
  width: 8px;
  height: 8px;
  background: #000;
}

.form label input[type="checkbox"] + span:after,
.form label input[type="checkbox"] + input + span:after {
  top: 5px;
  left: 5px;
  width: 6px;
  height: 10px;
  background: none;
  border-bottom: 2px solid #000;
  border-right: 2px solid #000;
  -webkit-transform: rotate(40deg);
  transform: rotate(40deg);
}

@media print, screen and (max-width: 767px) {
  .custombtn label span {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    height: 40px;
    padding: 0;
  }
  .custombtn label span:before, .custombtn label span:after {
    z-index: -1;
  }
  .custombtn label span:after {
    display: none;
  }
  .custombtn label input[type="radio"] + span:before,
  .custombtn label input[type="radio"] + input + span:before,
  .custombtn label input[type="radio"] + span:after,
  .custombtn label input[type="radio"] + input + span:after,
  .custombtn label input[type="checkbox"] + span:before,
  .custombtn label input[type="checkbox"] + input + span:before,
  .custombtn label input[type="checkbox"] + span:after,
  .custombtn label input[type="checkbox"] + input + span:after {
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: auto;
    height: auto;
    border-radius: 5px;
  }
  .custombtn label input[type="checkbox"] + span:after,
  .custombtn label input[type="checkbox"] + input + span:after {
    border: none;
    background: #ccc;
    -webkit-transform: none;
    transform: none;
  }
  .custombtn label input[type="radio"]:checked + span,
  .custombtn label input[type="radio"]:checked + input + span,
  .custombtn label input[type="checkbox"]:checked + input + span,
  .custombtn label input[type="checkbox"]:checked + span {
    color: #fff;
  }
  .custombtn label input[type="checkbox"]:checked + input + span:before,
  .custombtn label input[type="checkbox"]:checked + span:before {
    background-color: #6e6e6e;
  }
  .custombtn label input[type="radio"]:checked + span:before,
  .custombtn label input[type="radio"]:checked + input + span:before,
  .custombtn label input[type="checkbox"]:checked + span:before,
  .custombtn label input[type="checkbox"]:checked + input + span:before {
    background-color: #f00;
  }
}

.select select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.select select::-ms-expand {
  display: none;
}

/*--------------------------------------------------
  プレースホルダー
--------------------------------------------------*/
:placeholder-shown {
  color: #b9bdba !important;
}

::-webkit-input-placeholder {
  color: #b9bdba !important;
}

:-moz-placeholder {
  opacity: 1;
  color: #b9bdba !important;
}

::-moz-placeholder {
  opacity: 1;
  color: #b9bdba !important;
}

:-ms-input-placeholder {
  color: #b9bdba !important;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■↓↓↓お問合せフォーム　各サイトごとに自由編集↓↓↓
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*--------------------------------------------------
  メールフォームプロ
--------------------------------------------------*/
/* エラー */
div.mfp_err {
  clear: both;
  display: none;
  text-align: left;
  margin: 10px 0px 0px 0px;
  color: #F00;
  font-size: 1.2rem;
  line-height: normal;
  background-position: 0px 1px;
}

div.mfp_err:empty {
  display: none;
}

.mfp_parent_error {
  border: solid 2px #F00;
}

/*
.problem {
	background-color: #FCC;
}
div#mfp_error {
	background-color: #FEE;
	border: solid 1px #F00;
	padding: 10px;
	display: none;
}
*/
/* ボタン */
.mfp_buttons {
  font-size: 0;
  line-height: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* テーブル */
#mfp_confirm_table tr {
  background: none;
}

@media print, screen and (max-width: 767px) {
  #mfp_confirm_table tr:last-child td {
    padding-bottom: 0;
  }
}

#mfp_confirm_table th, #mfp_confirm_table td {
  text-align: left;
  vertical-align: top;
  /*
		line-height: 1.8;
		padding: 20px 0;
		*/
}

@media print, screen and (max-width: 767px) {
  #mfp_confirm_table th, #mfp_confirm_table td {
    display: block;
    width: 100%;
  }
}

#mfp_confirm_table th {
  /*
		width: 230px;
		@include maxW($maxW: $sp) {
			padding: 0 0 5px;
		}
		*/
}

#mfp_confirm_table td {
  /*
		@include maxW($maxW: $sp) {
			padding: 0 0 30px;
		}
		*/
}

/*--------------------------------------------------
	入力画面
--------------------------------------------------*/
#sec_contact_form .list_input ul + ul {
  margin-top: 15px;
}

#sec_contact_form .list_input li {
  margin: 0 20px 10px 0;
}

#sec_contact_form #mfp_phase_confirm h4 {
  font-size: 2.0rem;
  font-weight: 700;
  text-align: center;
  margin: 0 0 30px;
}

@media print, screen and (max-width: 767px) {
  #sec_contact_form #mfp_phase_confirm h4 {
    margin: 0 0 50px;
  }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■INDEX
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.page-toppage.fixed {
  position: fixed;
  left: 0;
  right: 0;
}

@media print, screen and (min-width: 768px) {
  .page-toppage #container {
    padding-left: 0;
  }
}

@media print, screen and (max-width: 767px) {
  .page-toppage #container {
    padding-left: 0;
  }
}

.page-toppage .sec_block:not(.read) {
  margin-top: 0;
}

/*
================================================================
  ★ アニメーションの時間設定 ★
  ここの秒数を変更するだけで、すべてが自動的に調整されます
================================================================
*/
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  mainvisual
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
#page_toppage #top-mainvisual {
  --initial-hold-time: 1.5s;
  --one-cycle-duration: 3.8s;
  --part-a-duration: 2s;
  --booknow-hold-hidden-duration: 1s;
  overflow-x: hidden;
  margin-top: 52px;
  position: relative;
  z-index: 500;
  /*
		================================================================
		  アニメーション本体 (.mv_startが付与された時の挙動)
		================================================================
		*/
}

@media print, screen and (min-width: 768px) {
  #page_toppage #top-mainvisual {
    margin-top: 0;
  }
}

#page_toppage #top-mainvisual .innerWrap {
  overflow: hidden;
  background: #000000;
  max-width: 560px;
  margin: auto;
  max-height: 796px;
  height: calc(100vh - 48px);
}

@media print, screen and (min-width: 768px) {
  #page_toppage #top-mainvisual .innerWrap {
    height: 796px;
    max-width: 640px;
  }
}

@media print, screen and (max-width: 767px) {
  #page_toppage #top-mainvisual .innerWrap {
    margin: auto;
  }
}

#page_toppage #top-mainvisual .logo {
  z-index: 1;
  width: 318px;
  text-align: center;
  position: absolute;
  top: 24%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: none;
}

@media screen and (max-width: 375px) {
  #page_toppage #top-mainvisual .logo {
    width: 298px;
  }
}

#page_toppage #top-mainvisual .logo img {
  width: 100%;
  height: auto;
}

#page_toppage #top-mainvisual .w_bg {
  background: #fff;
  width: 102%;
  height: 102%;
  display: block;
  position: absolute;
  top: 0;
  left: -1%;
  z-index: 8;
  opacity: 1;
  transform-origin: top;
  visibility: visible;
  min-height: 108px;
}

#page_toppage #top-mainvisual .image {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  text-align: center;
  z-index: 5;
  margin: auto;
  overflow-x: hidden;
}

#page_toppage #top-mainvisual .image img {
  position: absolute;
  top: 0;
  left: 0;
  width: auto;
  height: 100%;
  opacity: 0;
}

#page_toppage #top-mainvisual .image img.img01 {
  z-index: 5;
}

#page_toppage #top-mainvisual .image img.img02 {
  z-index: 4;
}

@media print, screen and (min-width: 768px) {
  #page_toppage #top-mainvisual .image img.img02 {
    width: auto;
  }
}

#page_toppage #top-mainvisual .image img.img03 {
  z-index: 3;
}

#page_toppage #top-mainvisual .image img.img04 {
  z-index: 2;
}

#page_toppage #top-mainvisual .image img.img05 {
  z-index: 1;
}

#page_toppage #top-mainvisual .mv_txt p {
  color: #fff;
  font-size: 2.4rem;
  font-weight: 600;
  text-align: center;
  line-height: calc(56 / 24);
  margin-top: 130px;
}

#page_toppage #top-mainvisual .booknow {
  position: fixed;
  z-index: 10;
  bottom: 24px;
  right: 24px;
  display: flex;
  font-family: "Times New Roman", "Helvetica Neue", "Arial", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  font-size: 1.2rem;
  text-align: center;
  line-height: 1.08333;
  z-index: 30;
  opacity: 0;
  visibility: hidden;
  z-index: 999;
  transition: opacity 0.8s ease, visibility 0.8s ease;
}

@media print, screen and (min-width: 769px) {
  #page_toppage #top-mainvisual .booknow {
    right: 5%;
    margin-right: 0px;
  }
}

@media print, screen and (min-width: 1201px) {
  #page_toppage #top-mainvisual .booknow {
    right: 50%;
    margin-right: -600px;
  }
}

#page_toppage #top-mainvisual .booknow a {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  min-width: 127px;
  min-height: 27px;
  background-color: #1A1111;
  border-radius: 50px;
}

#page_toppage #top-mainvisual .booknow a span {
  font-family: "Noto Sans", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic Medium", "游ゴシック Medium", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  font-weight: 400;
  font-size: 1.6rem;
  font-weight: 400;
}

#page_toppage #top-mainvisual .booknow.animation-finished {
  opacity: 1;
  visibility: visible;
}

#page_toppage #top-mainvisual .booknow.is-visibilit {
  opacity: 0 !important;
  visibility: hidden !important;
}

#page_toppage #top-mainvisual .scrolldown {
  font-family: "Times New Roman", "Helvetica Neue", "Arial", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  font-size: 1.2rem;
  font-weight: 400;
  animation-timing-function: linear;
  animation-fill-mode: forwards;
  animation-iteration-count: 1;
  animation-duration: 0.6s;
  animation-delay: 4.3s;
  width: 77px;
  height: 360px;
  margin: 73px auto 0;
}

#page_toppage #top-mainvisual .scrolldown p {
  font-size: 2rem;
  display: block;
  width: 100%;
  height: 100%;
  transition: all 0.25s linear;
  animation-timing-function: linear;
  animation-fill-mode: forwards;
  animation-iteration-count: 1;
  animation-duration: 0.2s;
  animation-delay: 5.1s;
  position: relative;
  color: #fff;
  display: flex;
  justify-content: center;
}

#page_toppage #top-mainvisual .scrolldown p:hover {
  opacity: .8;
  transition: all 0.25s linear;
}

#page_toppage #top-mainvisual .scrolldown p::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: -1;
  animation-timing-function: linear;
  animation-fill-mode: forwards;
  animation-iteration-count: 1;
  height: 330px;
  width: 1px;
  background-color: #D6D5D5;
  top: auto;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
}

#page_toppage #top-mainvisual .scrolldown p span {
  animation-timing-function: linear;
  animation-fill-mode: forwards;
  animation-iteration-count: 1;
}

#page_toppage #top-mainvisual .scrolldown p span:nth-child(1) {
  animation-duration: 0.2s, 0.6s;
  animation-delay: 1.5s, 5.1s;
}

#page_toppage #top-mainvisual.mv_start .w_bg, #page_toppage #top-mainvisual.mv_start .logo, #page_toppage #top-mainvisual.mv_start .image img {
  opacity: 1;
  display: block;
  animation-fill-mode: forwards;
}

#page_toppage #top-mainvisual.mv_start .w_bg {
  animation-name: bg-shrink, bg-hold-small, bg-just-fade-out, bg-fade-in, bg-hold-full, bg-shrink, bg-hold-small, bg-just-fade-out, bg-fade-in, bg-hold-full, bg-shrink, bg-hold-small, bg-just-fade-out, bg-fade-in, bg-hold-full, bg-shrink, bg-hold-small, bg-just-fade-out, bg-fade-in, bg-hold-full, bg-shrink, bg-hold-small, bg-just-fade-out;
  animation-duration: 2s, 1s, 0s, 0.8s, 0s, 2s, 1s, 0s, 0.8s, 0s, 2s, 1s, 0s, 0.8s, 0s, 2s, 1s, 0s, 0.8s, 0s, 2s, 1s, 0.8s;
  animation-timing-function: ease-in-out, linear, linear, linear, linear, ease-in-out, linear, linear, linear, linear, ease-in-out, linear, linear, linear, linear, ease-in-out, linear, linear, linear, linear, ease-in-out, linear, linear;
  animation-delay: 1.5s, 3.5s, 4.5s, 4.5s, 5.3s, 5.3s, 7.3s, 8.3s, 8.3s, 9.1s, 9.1s, 11.1s, 12.1s, 12.1s, 12.9s, 12.9s, 14.9s, 15.9s, 15.9s, 16.7s, 16.7s, 18.7s, 19.7s;
}

#page_toppage #top-mainvisual.mv_start .logo {
  z-index: 10;
  animation-name: logo-up-and-shrink, logo-hold-small, logo-hold-small, logo-down-and-grow, logo-hold-initial, logo-up-and-shrink, logo-hold-small, logo-hold-small, logo-down-and-grow, logo-hold-initial, logo-up-and-shrink, logo-hold-small, logo-hold-small, logo-down-and-grow, logo-hold-initial, logo-up-and-shrink, logo-hold-small, logo-hold-small, logo-down-and-grow, logo-hold-initial, logo-up-and-shrink, logo-hold-small, logo-final-fade-at-top;
  animation-duration: 2s, 1s, 0s, 0.8s, 0s, 2s, 1s, 0s, 0.8s, 0s, 2s, 1s, 0s, 0.8s, 0s, 2s, 1s, 0s, 0.8s, 0s, 2s, 1s, 0.8s;
  animation-timing-function: ease-in-out, linear, linear, ease-in, linear, ease-in-out, linear, linear, ease-in, linear, ease-in-out, linear, linear, ease-in, linear, ease-in-out, linear, linear, ease-in, linear, ease-in-out, linear, linear;
  animation-delay: 1.5s, 3.5s, 4.5s, 4.5s, 5.3s, 5.3s, 7.3s, 8.3s, 8.3s, 9.1s, 9.1s, 11.1s, 12.1s, 12.1s, 12.9s, 12.9s, 14.9s, 15.9s, 15.9s, 16.7s, 16.7s, 18.7s, 19.7s;
}

#page_toppage #top-mainvisual.mv_start .img01 {
  animation-name: img01-slide, img-hold-visible, img-fade-out;
  animation-duration: 2s, 1.8s, 0s;
  animation-delay: 1.5s, 3.5s, 5.3s;
}

#page_toppage #top-mainvisual.mv_start .img02 {
  animation-name: img02-slide, img-hold-visible, img-fade-out;
  animation-duration: 2s, 1.8s, 0s;
  animation-delay: 5.3s, 7.3s, 9.1s;
}

#page_toppage #top-mainvisual.mv_start .img03 {
  animation-name: img03-slide, img-hold-visible, img-fade-out;
  animation-duration: 2s, 1.8s, 0s;
  animation-delay: 9.1s, 11.1s, 12.9s;
}

#page_toppage #top-mainvisual.mv_start .img04 {
  animation-name: img04-slide, img-hold-visible, img-fade-out;
  animation-duration: 2s, 1.8s, 0s;
  animation-delay: 12.9s, 14.9s, 16.7s;
}

#page_toppage #top-mainvisual.mv_start .img05 {
  animation-name: img05-slide, img-hold-visible, img-fade-out;
  animation-duration: 2s, 1s, 1.5s;
  animation-delay: 16.7s, 18.7s, 19.7s;
}

/*
================================================================
   アニメーション部品の定義（キーフレーム）
================================================================
*/
/* ================白い背景用 ================*/
@keyframes bg-shrink {
  from {
    height: 100%;
    opacity: 1;
  }
  60% {
    opacity: 0.4;
  }
  to {
    height: 15%;
    opacity: 1;
  }
}

@keyframes bg-hold-small {
  from {
    height: 15%;
  }
  to {
    height: 15%;
  }
}

@keyframes bg-just-fade-out {
  from {
    opacity: 1;
    height: 15%;
  }
  to {
    opacity: 0;
    height: 15%;
  }
}

@keyframes bg-fade-in {
  from {
    opacity: 0;
    height: 102%;
  }
  to {
    opacity: 1;
    height: 102%;
  }
}

@keyframes bg-hold-full {
  from {
    opacity: 1;
    height: 102%;
  }
  to {
    opacity: 1;
    height: 102%;
  }
}

/* ================ロゴ================*/
@keyframes logo-up-and-shrink {
  from {
    top: 24%;
    transform: translate(-50%, -50%) scale(1);
  }
  to {
    top: 8%;
    transform: translate(-50%, -50%) scale(0.5);
  }
}

@media screen and (max-width: 375px) {
  @keyframes logo-up-and-shrink {
    from {
      top: 24%;
      transform: translate(-50%, -50%) scale(1);
    }
    to {
      top: 10%;
      transform: translate(-50%, -50%) scale(0.5);
    }
  }
}

@keyframes logo-hold-small {
  from {
    top: 8%;
    transform: translate(-50%, -50%) scale(0.5);
    opacity: 1;
  }
  to {
    top: 8%;
    transform: translate(-50%, -50%) scale(0.5);
    opacity: 1;
  }
}

@media screen and (max-width: 375px) {
  @keyframes logo-hold-small {
    from {
      top: 10%;
      transform: translate(-50%, -50%) scale(0.5);
      opacity: 1;
    }
    to {
      top: 10%;
      transform: translate(-50%, -50%) scale(0.5);
      opacity: 1;
    }
  }
}

@keyframes logo-down-and-grow {
  from {
    top: 8%;
    transform: translate(-50%, -50%) scale(0.5);
  }
  to {
    top: 24%;
    transform: translate(-50%, -50%) scale(1);
  }
}

@media screen and (max-width: 375px) {
  @keyframes logo-down-and-grow {
    from {
      top: 10%;
      transform: translate(-50%, -50%) scale(0.5);
    }
    to {
      top: 24%;
      transform: translate(-50%, -50%) scale(1);
    }
  }
}

@keyframes logo-hold-initial {
  from {
    top: 24%;
    transform: translate(-50%, -50%) scale(1);
  }
  to {
    top: 24%;
    transform: translate(-50%, -50%) scale(1);
  }
}

@keyframes logo-final-fade-at-top {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

/* ================画像スライドショー用================*/
@keyframes img01-slide {
  from {
    opacity: 1;
    transform: translateX(0);
  }
  to {
    opacity: 1;
    transform: translateX(-170px);
  }
}

@media (min-width: 420px) {
  @keyframes img01-slide {
    from {
      opacity: 1;
      transform: translateX(0);
    }
    to {
      opacity: 1;
      transform: translateX(-220px);
    }
  }
}

@media (min-width: 460px) {
  @keyframes img01-slide {
    from {
      opacity: 1;
      transform: translateX(0);
    }
    to {
      opacity: 1;
      transform: translateX(-200px);
    }
  }
}

@media (min-width: 540px) {
  @keyframes img01-slide {
    from {
      opacity: 1;
      transform: translateX(0);
    }
    to {
      opacity: 1;
      transform: translateX(-180px);
    }
  }
}

@media (min-width: 550px) {
  @keyframes img01-slide {
    from {
      opacity: 1;
      transform: translateX(0);
    }
    to {
      opacity: 1;
      transform: translateX(-170px);
    }
  }
}

@media (min-width: 768px) {
  @keyframes img01-slide {
    from {
      opacity: 1;
      transform: translateX(0);
    }
    to {
      opacity: 1;
      transform: translateX(-210px);
    }
  }
}

@keyframes img02-slide {
  from {
    opacity: 1;
    transform: translateX(0);
  }
  to {
    opacity: 1;
    transform: translateX(-280px);
  }
}

@media (min-width: 389px) {
  @keyframes img02-slide {
    from {
      opacity: 1;
      transform: translateX(0);
    }
    to {
      opacity: 1;
      transform: translateX(-390px);
    }
  }
}

@media (min-width: 420px) {
  @keyframes img02-slide {
    from {
      opacity: 1;
      transform: translateX(0);
    }
    to {
      opacity: 1;
      transform: translateX(-400px);
    }
  }
}

@media (min-width: 480px) {
  @keyframes img02-slide {
    from {
      opacity: 1;
      transform: translateX(0);
    }
    to {
      opacity: 1;
      transform: translateX(-340px);
    }
  }
}

@media (min-width: 510px) {
  @keyframes img02-slide {
    from {
      opacity: 1;
      transform: translateX(0);
    }
    to {
      opacity: 1;
      transform: translateX(-300px);
    }
  }
}

@media (min-width: 540px) {
  @keyframes img02-slide {
    from {
      opacity: 1;
      transform: translateX(0);
    }
    to {
      opacity: 1;
      transform: translateX(-280px);
    }
  }
}

@media (min-width: 550px) {
  @keyframes img02-slide {
    from {
      opacity: 1;
      transform: translateX(0);
    }
    to {
      opacity: 1;
      transform: translateX(-240px);
    }
  }
}

@media (min-width: 768px) {
  @keyframes img02-slide {
    from {
      opacity: 1;
      transform: translateX(0);
    }
    to {
      opacity: 1;
      transform: translateX(-280px);
    }
  }
}

@keyframes img03-slide {
  from {
    opacity: 1;
    transform: translateX(0);
  }
  to {
    opacity: 1;
    transform: translateX(-250px);
  }
}

@media (min-width: 389px) {
  @keyframes img03-slide {
    from {
      opacity: 1;
      transform: translateX(0);
    }
    to {
      opacity: 1;
      transform: translateX(-280px);
    }
  }
}

@media (min-width: 500px) {
  @keyframes img03-slide {
    from {
      opacity: 1;
      transform: translateX(0);
    }
    to {
      opacity: 1;
      transform: translateX(-290px);
    }
  }
}

@media (min-width: 540px) {
  @keyframes img03-slide {
    from {
      opacity: 1;
      transform: translateX(0);
    }
    to {
      opacity: 1;
      transform: translateX(-280px);
    }
  }
}

@media (min-width: 768px) {
  @keyframes img03-slide {
    from {
      opacity: 1;
      transform: translateX(0);
    }
    to {
      opacity: 1;
      transform: translateX(-200px);
    }
  }
}

@keyframes img04-slide {
  from {
    opacity: 1;
    transform: translateX(0);
  }
  to {
    opacity: 1;
    transform: translateX(-300px);
  }
}

@media (min-width: 389px) {
  @keyframes img04-slide {
    from {
      opacity: 1;
      transform: translateX(0);
    }
    to {
      opacity: 1;
      transform: translateX(-280px);
    }
  }
}

@media (min-width: 400px) {
  @keyframes img04-slide {
    from {
      opacity: 1;
      transform: translateX(0);
    }
    to {
      opacity: 1;
      transform: translateX(-240px);
    }
  }
}

@media (min-width: 768px) {
  @keyframes img04-slide {
    from {
      opacity: 1;
      transform: translateX(0);
    }
    to {
      opacity: 1;
      transform: translateX(-200px);
    }
  }
}

@keyframes img05-slide {
  from {
    opacity: 1;
    transform: translateX(0);
  }
  to {
    opacity: 1;
    transform: translateX(-300px);
  }
}

@media (min-width: 5389px) {
  @keyframes img05-slide {
    from {
      opacity: 1;
      transform: translateX(0);
    }
    to {
      opacity: 1;
      transform: translateX(-350px);
    }
  }
}

@media (min-width: 500px) {
  @keyframes img05-slide {
    from {
      opacity: 1;
      transform: translateX(0);
    }
    to {
      opacity: 1;
      transform: translateX(-310px);
    }
  }
}

@media (min-width: 540px) {
  @keyframes img05-slide {
    from {
      opacity: 1;
      transform: translateX(0);
    }
    to {
      opacity: 1;
      transform: translateX(-290px);
    }
  }
}

@media (min-width: 768px) {
  @keyframes img05-slide {
    from {
      opacity: 1;
      transform: translateX(0);
    }
    to {
      opacity: 1;
      transform: translateX(-220px);
    }
  }
}

@keyframes img-hold-visible {
  from {
    opacity: 1;
  }
  to {
    opacity: 1;
  }
}

@keyframes img-fade-out {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    visibility: hidden;
  }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  TOP専用(主要部分の設定)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#page_toppage {
  margin-bottom: 65px;
  opacity: 0;
  margin: -52px 0 auto;
}

#page_toppage .innerWrap {
  margin: 0;
  max-width: none;
}

@media print, screen and (max-width: 767px) {
  #page_toppage .innerWrap {
    max-width: none;
    padding: 0;
  }
}

.page-toppage #page_toppage {
  opacity: 1;
  transition: opacity 0.5s;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  sec_block(TOPの共通項目)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#page_toppage .sec_block {
  position: relative;
}

@media print, screen and (min-width: 768px) {
  #page_toppage .sec_block {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    padding: 0 48px 0;
  }
}

#page_toppage .sec_block.right {
  flex-direction: row-reverse;
}

#page_toppage .sec_block.first .innerWrap {
  margin-bottom: 38px;
}

@media print, screen and (min-width: 768px) {
  #page_toppage .sec_block.first .innerWrap {
    margin-bottom: 0;
  }
}

@media print, screen and (min-width: 768px) {
  #page_toppage .sec_block .innerWrap {
    max-width: 600px;
    width: 50.676%;
  }
}

@media print, screen and (min-width: 768px) {
  #page_toppage .sec_block .img {
    max-width: 546px;
    width: 46.115%;
  }
  #page_toppage .sec_block .img img {
    width: 100%;
    height: auto;
  }
}

#page_toppage .sec_block .hd_area {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  row-gap: 48px;
}

#page_toppage .sec_block .hd_area .hd {
  position: relative;
  color: #000000;
  font-size: 2.4rem;
  line-height: 1.5;
  text-transform: uppercase;
  text-align: center;
  font-weight: 600;
  font-family: "Yu Mincho", "游明朝体", "YuMincho", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic Medium", "游ゴシック Medium", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-weight: 600;
}

#page_toppage .sec_block .hd_area .hd.fadeInUp::after {
  visibility: visible;
  animation-timing-function: linear;
  animation-fill-mode: forwards;
  animation-iteration-count: 1;
  animation-duration: 0.6s;
  animation-delay: .4s;
}

@media print, screen and (max-width: 767px) {
  #page_toppage .sec_block .hd_area .hd.fadeInUp::after {
    animation-duration: 0.3s;
  }
}

#page_toppage .sec_block .hd_area .circle {
  width: 7px;
  height: 7px;
  background-color: #DC000C;
  display: block;
  position: relative;
  border-radius: 50%;
}

#page_toppage .sec_block .hd_area .circle::before, #page_toppage .sec_block .hd_area .circle::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: #DC000C;
  border-radius: inherit;
  display: inline-block;
  position: absolute;
  top: 0;
}

#page_toppage .sec_block .hd_area .circle::before {
  left: -12px;
}

#page_toppage .sec_block .hd_area .circle::after {
  right: -12px;
}

#page_toppage .sec_block .hd_area.en {
  flex-direction: row-reverse;
  justify-content: flex-end;
  column-gap: 30px;
  margin-bottom: 4px;
  padding: 0 45px;
}

@media print, screen and (min-width: 768px) {
  #page_toppage .sec_block .hd_area.en {
    align-items: center;
    justify-content: center;
  }
}

#page_toppage .sec_block .hd_area.en .hd {
  text-align: left;
  font-family: "Times New Roman", "Helvetica Neue", "Arial", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  font-size: 3.2rem;
  font-weight: 400;
}

@media print, screen and (min-width: 768px) {
  #page_toppage .sec_block .hd_area.en .hd {
    text-align: left;
    width: auto;
  }
}

#page_toppage .sec_block .hd_area.en span {
  margin-top: -2px;
}

#page_toppage .sec_block .copy {
  color: #000;
  font-family: "Yu Gothic UI", "Yu Gothic Medium", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic Medium", "游ゴシック Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "Yu Gothic Medium", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  font-size: 1.4rem;
  line-height: 1.57143;
  font-weight: 700;
}

@media print, screen and (min-width: 768px) {
  #page_toppage .sec_block .copy {
    padding: 0;
  }
}

#page_toppage .sec_block .copy span {
  font-size: 1rem;
}

#page_toppage .sec_block .text {
  line-height: calc(22/13);
  text-align: center;
  font-weight: 600;
  padding: 0 30px;
}

@media print, screen and (min-width: 768px) {
  #page_toppage .sec_block .text {
    padding: 0 10px;
  }
}

#page_toppage .sec_block .text.smal {
  font-size: 1rem;
  line-height: normal;
  font-weight: 400;
  font-family: "Noto Sans JP", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-weight: 400;
  margin-top: 6px;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  #page_toppage .sec_block .text.smal {
    font-size: 1.4rem;
    margin-top: 10px;
  }
}

@media print, screen and (min-width: 768px) {
  #page_toppage .sec_block.right .hd_area {
    row-gap: 8px;
    margin-bottom: 21px;
  }
  #page_toppage .sec_block.right .link {
    width: 100%;
    margin-top: 60px;
  }
}

@media print, screen and (min-width: 768px) {
  #page_toppage .sec_block.left .hd_area {
    row-gap: 8px;
    margin-bottom: 21px;
  }
  #page_toppage .sec_block.left .link {
    width: 100%;
    margin-top: 40px;
  }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■about
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#page_toppage #about {
  margin-top: 17px;
}

@media print, screen and (min-width: 768px) {
  #page_toppage #about {
    margin-top: 85px;
  }
}

#page_toppage #about .copy {
  max-width: 300px;
  margin: 0 auto 19px;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  #page_toppage #about .copy {
    max-width: none;
    margin: 0 0 23px;
    padding: 0;
    padding-left: 90px;
  }
}

@media print, screen and (min-width: 768px) {
  #page_toppage #about .text {
    padding-left: 10px;
  }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■concept
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#page_toppage #concept {
  margin-top: 55px;
}

@media print, screen and (min-width: 768px) {
  #page_toppage #concept {
    margin-top: 100px;
  }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■room
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#page_toppage #room {
  margin-top: 92px;
}

@media print, screen and (min-width: 768px) {
  #page_toppage #room {
    margin-top: 100px;
  }
}

@media print, screen and (min-width: 768px) {
  #page_toppage #room {
    flex-direction: column;
  }
}

@media print, screen and (min-width: 768px) {
  #page_toppage #room .img {
    max-width: 800px;
    width: 67.568%;
    margin: auto;
  }
}

#page_toppage #room .img .hd_area .hd {
  margin-bottom: 0;
}

#page_toppage #room .top-slide01 {
  margin-bottom: 44px;
}

@media print, screen and (min-width: 768px) {
  #page_toppage #room .innerWrap {
    max-width: 100%;
    margin: auto;
    width: 100%;
  }
}

#page_toppage #room .innerWrap .card {
  padding: 0 28px;
  display: flex;
  flex-direction: column;
  row-gap: 30px;
}

@media print, screen and (min-width: 768px) {
  #page_toppage #room .innerWrap .card {
    flex-direction: row;
    justify-content: space-between;
    padding: 0;
    column-gap: 10px;
    text-align: center;
  }
}

#page_toppage #room .innerWrap .card li {
  background-color: #F2F2F2;
  padding: 9px 12px 12px;
}

@media print, screen and (min-width: 768px) {
  #page_toppage #room .innerWrap .card li {
    width: calc(33.333% - 20px);
    min-width: 220px;
  }
}

#page_toppage #room .innerWrap .card li figure {
  margin-bottom: 19px;
}

#page_toppage #room .innerWrap .card li h3 {
  font-size: 2.4rem;
  font-weight: 400;
  line-height: calc(27/24);
  font-family: "Times New Roman", "Helvetica Neue", "Arial", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  margin-bottom: 9px;
}

#page_toppage #room .innerWrap .card li span {
  font-size: 1.3rem;
  font-weight: 400;
  line-height: calc(20/13);
  font-family: "Noto Sans JP", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-weight: 400;
}

#page_toppage #room .innerWrap .card li p {
  margin-top: 8px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: calc(20/12);
}

@media print, screen and (min-width: 768px) {
  #page_toppage #room .innerWrap .card li p {
    min-height: 94px;
    font-size: 1.4rem;
  }
}

#page_toppage #room .innerWrap .card li .card_link {
  margin-top: 11px;
  text-align: right;
  padding-right: 20px;
}

#page_toppage #room .innerWrap .card li .card_link > * {
  transition: all 0.25s linear;
  cursor: pointer;
}

#page_toppage #room .innerWrap .card li .card_link > *:hover {
  opacity: .8;
  transition: all 0.25s linear;
}

#page_toppage #room .innerWrap .card li .card_link a {
  font-family: "Noto Sans", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic Medium", "游ゴシック Medium", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  font-weight: 400;
  font-size: 1.1rem;
  font-weight: 400;
  color: #1A1311;
}

@media print, screen and (min-width: 768px) {
  #page_toppage #room .innerWrap .card li .card_link a {
    font-size: 1.2rem;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}

#page_toppage #room .innerWrap .card li .card_link a span {
  width: 4px;
  height: 4px;
  background-color: #1A1311;
  border-radius: 50%;
  position: relative;
  display: inline-block;
  margin-left: 16px;
}

#page_toppage #room .innerWrap .card li .card_link a span::before, #page_toppage #room .innerWrap .card li .card_link a span::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: #1A1311;
  border-radius: inherit;
  display: inline-block;
  position: absolute;
  top: 0;
}

#page_toppage #room .innerWrap .card li .card_link a span::before {
  left: -7px;
}

#page_toppage #room .innerWrap .card li .card_link a span::after {
  right: -7px;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■experiences
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#page_toppage #experiences {
  margin-top: 100px;
}

@media print, screen and (min-width: 768px) {
  #page_toppage #experiences {
    margin-top: 100px;
  }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■location
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#page_toppage #location {
  margin-top: 56px;
}

@media print, screen and (min-width: 768px) {
  #page_toppage #location {
    margin-top: 100px;
  }
}

@media print, screen and (min-width: 768px) {
  #page_toppage #location {
    flex-direction: column;
  }
}

@media print, screen and (min-width: 768px) {
  #page_toppage #location .top_block {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: row-reverse;
  }
}

#page_toppage #location .bottom_block {
  margin-top: 50px;
  background-color: #F2F2F2;
  padding: 40px 33px 38px;
}

@media print, screen and (min-width: 768px) {
  #page_toppage #location .bottom_block {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    margin-top: 30px;
    padding: 25px 33px 30px;
    width: 100%;
  }
}

@media print, screen and (min-width: 768px) {
  #page_toppage #location .bottom_block .access_area {
    width: 38%;
    order: 1;
  }
}

#page_toppage #location .bottom_block .access_area .access_hd {
  font-family: "Noto Sans", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic Medium", "游ゴシック Medium", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  font-weight: 400;
  margin-bottom: 54px;
}

#page_toppage #location .bottom_block .access_area .access_hd h3 {
  font-size: 2rem;
  font-weight: 700;
  border-bottom: 1px solid #000;
  margin-bottom: 11px;
  padding-bottom: 8px;
}

#page_toppage #location .bottom_block .access_area .access_hd p {
  font-size: 1.2rem;
  font-weight: 400;
}

#page_toppage #location .bottom_block .access_area .accordion_item {
  font-family: "Yu Gothic UI", "Yu Gothic Medium", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic Medium", "游ゴシック Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "Yu Gothic Medium", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  border-bottom: 1px solid #000;
  margin-bottom: 24px;
  padding-bottom: 6px;
}

#page_toppage #location .bottom_block .access_area .accordion_item .accordion_trigger {
  position: relative;
  cursor: pointer;
}

#page_toppage #location .bottom_block .access_area .accordion_item .accordion_trigger:hover {
  opacity: 0.85;
  transition: opacity 0.25s;
}

#page_toppage #location .bottom_block .access_area .accordion_item .accordion_trigger::before, #page_toppage #location .bottom_block .access_area .accordion_item .accordion_trigger::after {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

#page_toppage #location .bottom_block .access_area .accordion_item .accordion_trigger::before {
  left: 0;
}

#page_toppage #location .bottom_block .access_area .accordion_item .accordion_trigger.accordion_trigger01::before {
  background: url(../img/accordion_plane_icon.png) no-repeat center;
  background-size: cover;
  width: 33px;
  height: 18px;
}

#page_toppage #location .bottom_block .access_area .accordion_item .accordion_trigger.accordion_trigger02::before {
  background: url(../img/accordion_train_icon.png) no-repeat center;
  background-size: cover;
  width: 34px;
  height: 16px;
}

#page_toppage #location .bottom_block .access_area .accordion_item .accordion_trigger.accordion_trigger03::before {
  background: url(../img/accordion_car_icon.png) no-repeat center;
  background-size: cover;
  width: 36px;
  height: 12px;
}

#page_toppage #location .bottom_block .access_area .accordion_item .accordion_trigger::after {
  background: url(../img/accordion_arrow_icon.png) no-repeat center;
  background-size: cover;
  width: 13px;
  height: 8px;
  right: 0;
  top: auto;
  bottom: -5px;
}

#page_toppage #location .bottom_block .access_area .accordion_item .accordion_trigger .accordion_title {
  font-size: 1.4rem;
  font-weight: 400;
  display: inline-block;
  padding-left: 45px;
  color: #1A1311;
}

#page_toppage #location .bottom_block .access_area .accordion_item .accordion_content {
  display: none;
  padding-top: 10px;
  padding-bottom: 8px;
}

#page_toppage #location .bottom_block .access_area .accordion_item .accordion_content .accordion_inner p {
  padding-left: 10px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: calc(12/12);
  position: relative;
  color: #1A1311;
}

#page_toppage #location .bottom_block .access_area .accordion_item .accordion_content .accordion_inner p::before {
  content: '';
  display: block;
  width: 5px;
  height: 5px;
  background: #9A9A9A;
  background: #9A9A9A;
  position: absolute;
  border-radius: 50%;
  top: 8px;
  left: 0;
  transform: translateY(-50%);
}

#page_toppage #location .bottom_block .access_area .accordion_item .accordion_content .accordion_inner p + p {
  margin-top: 10px;
}

#page_toppage #location .bottom_block .map_area {
  margin-top: 30px;
  position: relative;
  width: 100%;
  padding-top: 100%;
  border-radius: 6px;
  overflow: hidden;
}

@media print, screen and (min-width: 768px) {
  #page_toppage #location .bottom_block .map_area {
    max-width: 100%;
    width: 665px;
    width: 56.166%;
    height: 310px;
    order: 2;
    padding-top: 0;
  }
}

#page_toppage #location .bottom_block .map_area .map {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

@media print, screen and (min-width: 768px) {
  #page_toppage #location .bottom_block .link {
    order: 3;
  }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■items
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#page_toppage #items {
  margin-top: 55px;
}

@media print, screen and (min-width: 768px) {
  #page_toppage #items {
    margin-top: 100px;
  }
}

#page_toppage #items .innerWrap .copy {
  margin: 0 auto 15px;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  #page_toppage #items .innerWrap .copy {
    padding: 0;
    margin: 0 0 32px;
  }
}

#page_toppage #items .innerWrap .text {
  padding: 0 45px;
}

@media print, screen and (min-width: 768px) {
  #page_toppage #items .innerWrap .text {
    padding: 0;
  }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■bottom_accordion(TOP専用)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#page_toppage #bottom_accordion .accordion_area h2 {
  font-family: "Noto Sans", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic Medium", "游ゴシック Medium", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  font-weight: 400;
  font-size: 2.4rem;
  padding-bottom: 10px;
  font-weight: 700;
}

@media print, screen and (min-width: 768px) {
  #page_toppage #bottom_accordion .accordion_area .accordion_item .accordion_trigger::after {
    bottom: 5px;
    right: 5px;
  }
}

#page_toppage #bottom_accordion .accordion_area .accordion_item:last-child .accordion_content p {
  line-height: calc(16/12);
}

@media print, screen and (min-width: 768px) {
  #page_toppage #bottom_accordion .accordion_area .accordion_item:last-child .accordion_content p {
    line-height: 1.6;
  }
}

@media print, screen and (min-width: 768px) {
  #page_toppage #bottom_accordion .accordion_area .accordion_content .accordion_inner {
    display: flex;
    padding-bottom: 10px;
  }
}

#page_toppage #bottom_accordion .accordion_area .accordion_content .accordion_inner p {
  padding-left: 10px;
  font-size: 1.2rem;
  font-weight: 400;
  position: relative;
  color: #1A1311;
}

@media print, screen and (min-width: 768px) {
  #page_toppage #bottom_accordion .accordion_area .accordion_content .accordion_inner p {
    padding-right: 60px;
    font-size: 1.4rem;
    line-height: 1.6;
  }
}

@media print, screen and (min-width: 768px) {
  #page_toppage #bottom_accordion .accordion_area .accordion_content .accordion_inner p::before {
    top: 10px;
  }
}

#page_toppage #bottom_accordion .accordion_area .accordion_content .accordion_inner p + p {
  margin-top: 12px;
}

@media print, screen and (min-width: 768px) {
  #page_toppage #bottom_accordion .accordion_area .accordion_content .accordion_inner p + p {
    margin-top: 0;
  }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■bottom_accordion(共通)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#bottom_accordion {
  margin-top: 60px;
}

@media print, screen and (min-width: 768px) {
  #bottom_accordion {
    margin-top: 100px;
  }
}

#bottom_accordion .accordion_area {
  padding: 0 32px;
}

@media print, screen and (min-width: 768px) {
  #bottom_accordion .accordion_area {
    width: 100%;
    padding: 0;
  }
}

#bottom_accordion .accordion_area h2 {
  font-family: "Noto Sans", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic Medium", "游ゴシック Medium", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  font-weight: 400;
  font-size: 2rem;
  font-weight: 700;
  border-bottom: 1px solid #000;
  margin-bottom: 24px;
  padding-bottom: 6px;
}

#bottom_accordion .accordion_area .accordion_item {
  font-family: "Yu Gothic UI", "Yu Gothic Medium", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic Medium", "游ゴシック Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "Yu Gothic Medium", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  border-bottom: 1px solid #000;
  margin-bottom: 25px;
  padding-bottom: 8px;
}

#bottom_accordion .accordion_area .accordion_item .accordion_trigger {
  position: relative;
  cursor: pointer;
}

#bottom_accordion .accordion_area .accordion_item .accordion_trigger:hover {
  opacity: 0.85;
  transition: opacity 0.25s;
}

#bottom_accordion .accordion_area .accordion_item .accordion_trigger::after {
  content: '';
  display: block;
  position: absolute;
  bottom: -5px;
  transform: translateY(-50%);
}

#bottom_accordion .accordion_area .accordion_item .accordion_trigger::after {
  background: url(../img/accordion_arrow_icon.png) no-repeat center;
  background-size: cover;
  width: 13px;
  height: 8px;
  right: 0;
}

#bottom_accordion .accordion_area .accordion_item .accordion_trigger .accordion_title {
  font-size: 1.4rem;
  font-weight: 400;
  display: inline-block;
  color: #1A1311;
}

#bottom_accordion .accordion_area .accordion_item .accordion_content {
  display: none;
  padding-top: 12px;
}

#bottom_accordion .accordion_area .accordion_item .accordion_content .accordion_inner {
  padding-bottom: 18px;
}

#bottom_accordion .accordion_area .accordion_item .accordion_content .accordion_inner p {
  padding-left: 10px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: calc(12/12);
  position: relative;
  color: #1A1311;
}

@media print, screen and (min-width: 768px) {
  #bottom_accordion .accordion_area .accordion_item .accordion_content .accordion_inner p {
    padding-right: 60px;
  }
}

#bottom_accordion .accordion_area .accordion_item .accordion_content .accordion_inner p::before {
  content: '';
  display: block;
  width: 5px;
  height: 5px;
  background: #9A9A9A;
  border-radius: 50%;
  position: absolute;
  top: 7px;
  left: 0;
  transform: translateY(-50%);
}

#bottom_accordion .accordion_area .accordion_item .accordion_content .accordion_inner p + p {
  margin-top: 12px;
}

#bottom_accordion .accordion_area .accordion_item:last-child .accordion_content p {
  line-height: calc(16/12);
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ■下層
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
sbody {
  min-width: 390px;
}

/*-------------------------
  下層タイトル
-------------------------*/
.hd_area {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  row-gap: 8px;
}

.hd_area .hd {
  position: relative;
  color: #000000;
  font-size: 2rem;
  line-height: 1.4;
  text-align: center;
  font-weight: 600;
  font-family: "Yu Mincho", "游明朝体", "YuMincho", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic Medium", "游ゴシック Medium", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-weight: 600;
  margin-bottom: 15px;
}

@media print, screen and (min-width: 768px) {
  .hd_area .hd {
    font-size: 2.2rem;
    line-height: calc(30/22);
  }
}

.hd_area .hd.fadeInUp::after {
  visibility: visible;
  animation-timing-function: linear;
  animation-fill-mode: forwards;
  animation-iteration-count: 1;
  animation-duration: 0.6s;
  animation-delay: .4s;
}

@media print, screen and (max-width: 767px) {
  .hd_area .hd.fadeInUp::after {
    animation-duration: 0.3s;
  }
}

.hd_area .circle {
  width: 7px;
  height: 7px;
  background-color: #DC000C;
  display: block;
  position: relative;
  border-radius: 50%;
}

.hd_area .circle::before, .hd_area .circle::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: #DC000C;
  border-radius: inherit;
  display: inline-block;
  position: absolute;
  top: 0;
}

.hd_area .circle::before {
  left: -12px;
}

.hd_area .circle::after {
  right: -12px;
}

.hd_area.en .hd {
  font-family: "Times New Roman", "Helvetica Neue", "Arial", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  font-size: 2rem;
  font-weight: 400;
}

.hd_area.large .hd {
  font-size: 3.2rem;
}

/*-------------------------
  下層テキスト
-------------------------*/
.text {
  line-height: calc(22/13);
  text-align: center;
  font-weight: 600;
}

@media print, screen and (min-width: 768px) {
  .text {
    padding: 0;
    font-size: 1.6rem;
    line-height: 1.6;
    font-weight: 400;
  }
}

.text.smal {
  font-size: 1rem;
  line-height: normal;
  font-weight: 400;
  font-family: "Noto Sans JP", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-weight: 400;
  margin-top: 10px;
  text-align: center;
}

/*-------------------------
  下層リンクエリア
-------------------------*/
.link_block {
  color: #fff;
  font-family: "Noto Sans", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic Medium", "游ゴシック Medium", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  font-weight: 400;
  display: flex;
  flex-direction: column;
  column-gap: 30px;
  row-gap: 30px;
}

.link_block > div {
  background-color: #000000;
  padding: 10px 24px 12px;
}

.link_block > div .top_hd {
  font-size: 1.4rem;
  border-bottom: 1px solid #0FFFFF;
  padding-bottom: 7px;
  margin-bottom: 6px;
  width: 100%;
  display: block;
}

.link_block > div .link_he {
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 6px;
}

.link_block > div .link_text {
  font-size: 1.4rem;
  font-weight: 600;
  line-height: calc(20/14);
  font-family: "Yu Mincho", "游明朝体", "YuMincho", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic Medium", "游ゴシック Medium", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-weight: 600;
}

.link_block > div a {
  width: 88px;
  position: relative;
  font-size: 1.2rem;
  color: #fff;
  margin: -8px 0 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
}

.link_block > div a span {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background-color: #fff;
  position: relative;
  display: inline-block;
  margin-left: 5px;
  margin-bottom: -1px;
}

.link_block > div a span::before, .link_block > div a span::after {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  background-color: #fff;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.link_block > div a span::before {
  right: -7px;
}

.link_block > div a span::after {
  right: -14px;
}

/*-------------------------
  下層 宿泊予約
-------------------------*/
.lower_container .booknow {
  position: fixed;
  z-index: 2;
  bottom: 21px;
  right: 28px;
  display: flex;
  font-family: "Times New Roman", "Helvetica Neue", "Arial", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  font-size: 1.2rem;
  text-align: center;
  line-height: 1.08333;
  animation-timing-function: linear;
  animation-fill-mode: forwards;
  animation-iteration-count: 1;
  animation-duration: 0.6s;
  animation-delay: 4.3s;
  bottom: 20px;
  right: 24px;
  transition: opacity 0.8s ease, visibility 0.8s ease;
}

@media print, screen and (min-width: 768px) {
  .lower_container .booknow {
    right: 50%;
    margin-right: -630px;
  }
}

@media print, screen and (max-width: 1330px) {
  .lower_container .booknow {
    margin-right: 0;
    right: 22px;
  }
}

.lower_container .booknow a {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  min-width: 127px;
  min-height: 27px;
  background-color: #1A1311;
  border-radius: 50px;
}

.lower_container .booknow a span {
  font-family: "Noto Sans", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic Medium", "游ゴシック Medium", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  font-weight: 400;
  font-size: 1.6rem;
  font-weight: 400;
}

.lower_container .booknow.is-visibilit {
  opacity: 0;
  /* 透明にする */
  visibility: hidden;
  /* クリックや選択ができないように非表示 */
}

/*-------------------------
  About
-------------------------*/
@media print, screen and (min-width: 768px) {
  #page_about .pagetitle .text {
    top: 8%;
    left: 10%;
  }
}

#page_about #sec01 {
  margin-bottom: 60px;
}

#page_about #sec01 .img_block {
  margin-top: 35px;
  display: flex;
  flex-direction: column;
  row-gap: 33px;
}

#page_about #bottom_accordion {
  margin-top: 40px;
}

/*-------------------------
 concept
-------------------------*/
#page_concept #sec01 {
  margin-bottom: 60px;
}

#page_concept #sec01 .img_block {
  margin-top: 35px;
  display: flex;
  flex-direction: column;
  row-gap: 33px;
}

#page_concept #bottom_accordion {
  margin-top: 40px;
}

/*-------------------------
  Location&Access
-------------------------*/
#page_location .innerWrap {
  max-width: none;
  padding: 0 28px;
}

@media print, screen and (min-width: 768px) {
  #page_location .innerWrap {
    padding: 0;
  }
}

#page_location .hd_area.large {
  text-transform: uppercase;
}

#page_location #sec01 .img {
  margin-top: 37px;
  padding: 0 17px;
}

#page_location #access {
  margin-top: 76px;
}

#page_location #access .detail {
  display: flex;
  flex-direction: column;
  row-gap: 28px;
}

#page_location #access .detail > div dt {
  margin-bottom: 14px;
  position: relative;
  display: inline-block;
  display: flex;
  align-items: center;
  font-family: "Yu Gothic UI", "Yu Gothic Medium", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic Medium", "游ゴシック Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "Yu Gothic Medium", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  font-weight: 400;
  color: #1A1311;
}

#page_location #access .detail > div dt::before {
  content: "";
  display: inline-block;
}

#page_location #access .detail > div dt span {
  font-size: 1.2rem;
  line-height: 1;
  display: inline-block;
  margin-top: -1px;
  font-family: "Yu Gothic UI", "Yu Gothic Medium", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic Medium", "游ゴシック Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "Yu Gothic Medium", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  font-weight: 400;
  margin-left: 10px;
}

#page_location #access .detail > div.map01 {
  margin-top: 8px;
}

#page_location #access .detail > div.map01 dt::before {
  background: url(../img/location_icon01.png) no-repeat center;
  background-size: cover;
  width: 32px;
  height: 16px;
  margin-right: 8px;
}

#page_location #access .detail > div.map02 dt::before {
  background: url(../img/location_icon02.png) no-repeat center;
  background-size: cover;
  width: 30px;
  height: 14px;
  margin-right: 10px;
}

#page_location #access .detail > div.map03 {
  margin-top: 5px;
}

#page_location #access .detail > div.map03 dt::before {
  background: url(../img/location_icon03.png) no-repeat center;
  background-size: cover;
  width: 32px;
  height: 12px;
  margin-right: 6px;
}

#page_location #access .detail > div.map04 {
  margin-top: 3px;
}

#page_location #access .detail > div.map04 dt::before {
  background: url(../img/location_icon03.png) no-repeat center;
  background-size: cover;
  width: 32px;
  height: 12px;
  margin-right: 6px;
}

#page_location #access .detail > div dd img {
  width: 100%;
  height: auto;
  display: block;
}

#page_location #access .detail > div span {
  font-size: 1rem;
  line-height: calc(12/10);
  display: block;
  margin-top: 4px;
  font-family: "Yu Gothic UI", "Yu Gothic Medium", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic Medium", "游ゴシック Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "Yu Gothic Medium", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  font-weight: 400;
  text-indent: -18px;
  padding-left: 20px;
}

#page_location #access .detail > div span + span {
  margin-top: 10px;
}

#page_location #sec03 {
  margin-top: 42px;
}

#page_location #sec03 .text {
  font-size: 1.2rem;
  font-weight: 400;
  font-family: "Yu Gothic UI", "Yu Gothic Medium", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic Medium", "游ゴシック Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "Yu Gothic Medium", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  margin-top: -12px;
}

#page_location #sec03 .img {
  margin-top: 18px;
  padding: 0 17px;
}

#page_location #sec03 .map_block .map_area {
  margin: 57px auto 0;
  position: relative;
  width: 97.1%;
  padding-top: 97.1%;
  border-radius: 6px;
  overflow: hidden;
}

@media print, screen and (min-width: 768px) {
  #page_location #sec03 .map_block .map_area {
    max-width: 100%;
    height: 310px;
    order: 2;
    padding-top: 0;
  }
}

#page_location #sec03 .map_block .map_area .map {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#page_location #sec03 .map_block span {
  font-size: 1.4rem;
  font-family: "Noto Sans", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic Medium", "游ゴシック Medium", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  font-weight: 400;
  font-weight: 400;
  display: block;
  margin-top: 24px;
  text-align: center;
}

/*-------------------------
  Itmes/equipment
-------------------------*/
#page_equipment .sec_block .img {
  margin-top: 38px;
}

#page_equipment .sec_block {
  margin-top: 40px;
}

#page_equipment .sec_block:last-child {
  margin-top: 0;
}

#page_equipment .sec_block#sec01 {
  margin-top: 0;
}

#page_equipment .hd_area {
  text-transform: uppercase;
}

#page_equipment .inner_img {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;
  margin-top: 20px;
}

#page_equipment .inner_img > figure {
  width: calc(50% - 10px);
}

#page_equipment .inner_img > figure img {
  width: 100%;
  height: auto;
  display: block;
}

#page_equipment #sec03 .img img {
  display: block;
}

#page_equipment #sec03 .img img + img {
  margin-top: 20px;
}

#page_equipment #sec07 {
  margin-top: 100px;
  margin-bottom: 60px;
}

#page_equipment #sec07 .hd_area {
  text-transform: none;
}

#page_equipment #sec07 .list {
  overflow: hidden;
}

#page_equipment #sec07 .list ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0 -14px -0px 0;
  position: relative;
}

@media print, screen and (min-width: 769px) {
  #page_equipment #sec07 .list ul {
    justify-content: space-around;
    margin: 0 -26px 0px 0;
  }
}

@media print, screen and (min-width: 769px) {
  #page_equipment #sec07 .list ul::before, #page_equipment #sec07 .list ul::after {
    content: '';
    order: 1;
    width: 100px;
    margin: -4px 27px -2px 4px;
  }
}

#page_equipment #sec07 .list li {
  width: 100px;
  margin: -4px 27px -2px 4px;
}

#page_equipment #sec07 .list li:nth-child(n + 6):not(:nth-last-child(-n + 2)) {
  margin-bottom: 24px;
}

#page_equipment #sec07 .list img {
  width: 100%;
  height: auto;
}

/*-------------------------
  Rooms
-------------------------*/
#page_room .sec_block {
  margin-top: 39px;
}

#page_room .sec_block#sec01 {
  margin-top: 0;
}

#page_room .sec_block .img {
  margin-top: 12px;
}

#page_room .sec_block .hd_area {
  margin: 0 -20px;
}

@media print, screen and (min-width: 768px) {
  #page_room .sec_block .hd_area {
    margin: 0;
  }
}

#page_room .inner_img {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;
  margin-top: 20px;
}

#page_room .inner_img > figure {
  width: calc(50% - 10px);
}

#page_room .inner_img > figure img {
  width: 100%;
  height: auto;
  display: block;
}

#page_room .slide {
  margin-top: 18px;
  margin-bottom: 33px;
}

#page_room #sec04 {
  margin-top: 32px;
  margin-bottom: 52px;
}

/*-------------------------
  page_experience
-------------------------*/
#page_experience .inner_img {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;
  margin-top: 20px;
}

#page_experience .inner_img > figure {
  width: calc(50% - 10px);
}

#page_experience .inner_img > figure img {
  width: 100%;
  height: auto;
  display: block;
}

#page_experience .sec_block .text {
  margin-bottom: 34px;
}

#page_experience .sec_block:not(:last-child) {
  margin-bottom: 40px;
}

#page_experience #sec01 .slide {
  margin-top: 17px;
}

#page_experience #sec03 .hd_area {
  margin: 0 -8px 15px;
}

@media print, screen and (min-width: 768px) {
  #page_experience #sec03 .hd_area {
    margin: 0 0 15px;
  }
}

#page_experience #sec07 .hd_area {
  margin: 0 -8px 15px;
}

@media print, screen and (min-width: 768px) {
  #page_experience #sec07 .hd_area {
    margin: 0 0 15px;
  }
}

/*-------------------------
  page_gallery
-------------------------*/
#page_gallery #sec01 {
  margin-top: 45px;
  margin-bottom: 92px;
}

@media print, screen and (min-width: 768px) {
  #page_gallery #sec01 {
    margin-top: 0;
  }
}

#page_gallery #sec01 figure a {
  display: block;
  width: 100%;
  height: 100%;
}

#page_gallery #sec01 figure a img {
  width: 100%;
  height: auto;
  display: block;
}

#page_gallery .block {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
  column-gap: 20px;
}

@media print, screen and (min-width: 768px) {
  #page_gallery .block {
    margin-bottom: 30px;
    column-gap: 30px;
    align-items: stretch;
  }
}

#page_gallery .block a {
  display: block;
  width: calc(50% - 10px);
  height: 100%;
}

#page_gallery .block:last-child {
  margin-bottom: 0;
}

#page_gallery .block .inner_block {
  display: flex;
  flex-direction: column;
  align-items: start;
  row-gap: 20px;
  width: calc(50% - 10px);
}

@media print, screen and (min-width: 768px) {
  #page_gallery .block .inner_block {
    row-gap: 30px;
  }
}

#page_gallery .block .inner_block a {
  display: block;
  width: 100%;
  height: 100%;
}

#page_gallery .block .inner_block a img {
  width: 100%;
  height: auto;
  display: block;
}

@media print, screen and (min-width: 768px) {
  #page_gallery .block .inner_block a img {
    height: 100%;
  }
}

#page_gallery figure {
  margin-bottom: 20px;
}

/*-------------------------
  Life Style
-------------------------*/
#page_lifestyle .pagetitle .text {
  transform: translateY(16px);
  text-shadow: 0px 0px 6px rgba(0, 0, 0, 0.6);
}

@media print, screen and (min-width: 768px) {
  #page_lifestyle .pagetitle .text {
    transform: translateY(36px);
  }
}

#page_lifestyle .pagetitle .text .en::after {
  margin-top: -1px;
}

/*-------------------------
  Make your stay safe
-------------------------*/
@media print, screen and (max-width: 500px) {
  #page_infectioncontrol .role {
    font-size: 10.25641vw;
  }
}

#page_infectioncontrol .pagetitle .text {
  color: #4C524C;
  text-shadow: 0 0 6px rgba(255, 255, 255, 0.8);
  bottom: 86px;
}

#page_infectioncontrol .pagetitle .en:first-child {
  margin-bottom: 16px;
}

#page_infectioncontrol .pagetitle .en:first-child::after {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: -1;
  background-color: #4C524C;
  margin: auto;
  transform: translateY(4px);
}

#page_infectioncontrol .sec_block:not(.read) {
  margin-top: 80px;
}

/*-------------------------
  Contactless
-------------------------*/
#page_contactless .pagetitle {
  height: 486px;
  top: 44px;
  margin-bottom: 75px;
}

@media print, screen and (min-width: 768px) {
  #page_contactless .pagetitle {
    height: auto;
    top: 100px;
    margin-bottom: 0;
  }
}

#page_contactless .pagetitle .img img {
  object-position: top;
}

#page_contactless .sec_block:not(.read) {
  margin-top: 90px;
}

@media print, screen and (min-width: 768px) {
  #page_contactless .sec_block:not(.read) {
    margin-top: 80px;
  }
}

#page_contactless .sec_block .hd_area {
  row-gap: 11px;
}

#page_contactless .sec_block .hd_area .hd {
  line-height: calc(23/20);
  margin-bottom: 19px;
}

#page_contactless .sec_block .list > li:not(:first-child) {
  margin-top: 98px;
}

@media print, screen and (min-width: 768px) {
  #page_contactless .sec_block .list > li:not(:first-child) {
    margin-top: 80px;
  }
}

#page_contactless .sec_block .list > li .text {
  margin-top: 14px;
  font-weight: 400;
  line-height: 1.38462;
  color: #1A1311;
}

#page_contactless .sec_block .list .icon {
  width: 100px;
  margin: 0 auto;
}

#page_contactless .sec_block .list .icon img {
  width: 100%;
  height: auto;
}

#page_contactless .sec_block .list .text {
  width: 100%;
  line-height: 1.38462;
  padding-right: 0;
  font-family: "Yu Gothic UI", "Yu Gothic Medium", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic Medium", "游ゴシック Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "Yu Gothic Medium", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
}

@media print, screen and (min-width: 768px) {
  #page_contactless .sec_block .list .text {
    text-align: center;
  }
}

/*-------------------------
  Sitemap
-------------------------*/
#page_sitemap #sec01 .innerWrap {
  max-width: inherit;
  padding: 0 55px;
}

@media print, screen and (min-width: 768px) {
  #page_sitemap #sec01 .innerWrap {
    padding: 0;
  }
}

@media screen and (max-width: 389px) {
  #page_sitemap #sec01 .innerWrap {
    padding: 0 35px 0 55px;
  }
}

@media screen and (max-width: 374px) {
  #page_sitemap #sec01 .innerWrap {
    padding: 0 25px 0 55px;
  }
}

#page_sitemap #sec01 .innerWrap > ul > li:last-child {
  margin-top: 68px;
}

#page_sitemap #sec01 .innerWrap > ul > li:last-child ul {
  margin-left: 0;
}

#page_sitemap #sec01 .innerWrap > ul > li:last-child ul span::after {
  width: auto;
}

#page_sitemap #sec01 ul {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.1875;
}

#page_sitemap #sec01 ul > li:not(:first-child) {
  margin-top: 27px;
}

#page_sitemap #sec01 ul > li > a {
  padding: 0 0 4px 0;
  transition: all 0.25s linear;
}

#page_sitemap #sec01 ul > li > a:hover {
  opacity: .8;
  transition: all 0.25s linear;
}

#page_sitemap #sec01 ul > li > a::after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0px;
  display: block;
  width: 90px;
  height: 2px;
  background: #000000;
  transform: translate(-230%, 0vh);
  transition: all 0.6s linear;
}

#page_sitemap #sec01 ul > li:nth-of-type(5) span::after {
  width: 150px;
}

#page_sitemap #sec01 ul > li:nth-of-type(9) {
  margin-top: 77px;
}

#page_sitemap #sec01 ul a {
  position: relative;
  display: inline-block;
  transition: all 0.25s linear;
}

#page_sitemap #sec01 ul a:hover {
  opacity: .8;
  transition: all 0.25s linear;
}

#page_sitemap #sec01 ul a span {
  transition: all 0.25s linear;
}

#page_sitemap #sec01 ul a:hover span {
  opacity: .8;
}

#page_sitemap #sec01 ul span {
  font-family: "Noto Sans", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic Medium", "游ゴシック Medium", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  font-weight: 400;
}

#page_sitemap #sec01 ul span::after {
  content: attr(data-jp);
  color: #1A1311;
  font-size: 1.3rem;
  font-weight: 400;
  margin-left: 30px;
  font-family: "Yu Gothic UI", "Yu Gothic Medium", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic Medium", "游ゴシック Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "Yu Gothic Medium", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  display: inline-block;
  width: 110px;
}

#page_sitemap #sec01 ul > li:nth-of-type(3) span::after, #page_sitemap #sec01 ul li:nth-of-type(n + 5):nth-of-type(-n + 8) span::after {
  margin-left: 20px;
}

#page_sitemap #sec01 ul > li:nth-of-type(n + 9):nth-of-type(-n + 10) span::after {
  margin-left: 14px;
}

#page_sitemap #sec01 ul ul {
  font-weight: 400;
  margin: 8px 0 44px;
  margin-left: 26px;
}

#page_sitemap #sec01 ul ul > li:not(:first-child) {
  margin-top: 6px;
}

#page_sitemap #sec01 ul ul > li > a {
  padding: 4px 0;
  transition: all 0.25s linear;
}

#page_sitemap #sec01 ul ul > li > a:hover {
  opacity: .8;
  transition: all 0.25s linear;
}

#page_sitemap #sec01 ul ul > li > a::after {
  display: none;
}

#page_sitemap #sec01 ul ul span {
  font-size: 1.4rem;
}

#page_sitemap #sec01 ul ul span::after {
  margin-left: 26px;
  width: 80px;
  font-size: 1.2rem;
}

#page_sitemap #sec01 .fadeInUp::before, #page_sitemap #sec01 .fadeInUp::after,
#page_sitemap #sec01 .fadeInUp a::before, #page_sitemap #sec01 .fadeInUp a::after {
  transform: translate(0, 0) !important;
}

/*-------------------------
  Inscription
-------------------------*/
#page_inscription .sec_block.block01:not(:nth-of-type(1)) {
  margin-top: 50px;
}

#page_inscription .sec_block .innerWrap {
  max-width: inherit;
  padding: 0 45px;
}

@media print, screen and (min-width: 768px) {
  #page_inscription .sec_block .innerWrap {
    padding: 0;
  }
}

#page_inscription .sec_block .innerWrap .hd02jp {
  font-family: "Yu Gothic UI", "Yu Gothic Medium", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic Medium", "游ゴシック Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "Yu Gothic Medium", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  font-weight: 400;
  font-size: 1.4rem;
  margin-bottom: 10px;
}

#page_inscription .sec_block .innerWrap .text {
  text-align: left;
  font-weight: 600;
}

#page_inscription #sec09 .innerWrap {
  padding: 0 54px 0 45px;
}

@media print, screen and (min-width: 768px) {
  #page_inscription #sec09 .innerWrap {
    padding: 0;
  }
}

/*-------------------------
	FAQ
-------------------------*/
#page_faq .innerWrap {
  max-width: inherit;
  padding: 0 45px;
}

@media print, screen and (min-width: 768px) {
  #page_faq .innerWrap {
    padding: 0;
  }
}

.list_faq > div {
  padding: 17px 0 12px;
  border-bottom: 1px solid #000000;
}

.list_faq > div:first-child {
  padding: 0px 0 14px;
}

.list_faq .faq_q {
  cursor: pointer;
  position: relative;
  line-height: calc(18/13);
  color: #1A1311;
}

@media print, screen and (min-width: 768px) {
  .list_faq .faq_q {
    pointer-events: none;
  }
}

.list_faq .faq_q::before, .list_faq .faq_q::after {
  content: '';
  position: absolute;
  top: 40%;
  right: 10px;
  transform: translateY(-50%);
  width: 8px;
  height: 2px;
  background: #000;
  transition: all 0.25s linear;
}

@media print, screen and (min-width: 768px) {
  .list_faq .faq_q::before, .list_faq .faq_q::after {
    display: none;
  }
}

.list_faq .faq_q::before {
  margin-right: -5px;
  transform: rotate(46deg);
}

.list_faq .faq_q::after {
  margin-right: -10px;
  transform: rotate(-46deg);
}

.list_faq .faq_q > div {
  min-height: 20px;
  padding-left: 22px;
  margin-bottom: 0;
  font-family: "Yu Gothic UI", "Yu Gothic Medium", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic Medium", "游ゴシック Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "Yu Gothic Medium", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  font-weight: 700;
  font-size: 1.3rem;
}

.list_faq .faq_q > div::after {
  left: 0;
}

.list_faq .faq_q > div:before {
  content: 'Q';
  position: absolute;
  top: -4px;
  left: 0px;
  font-size: 2.0rem;
  line-height: 1.0;
}

.list_faq .faq_q.fadeInUp > div::after {
  transform: translate(0, 0);
}

.list_faq .faq_q.open::before {
  transform: rotate(-43deg);
}

.list_faq .faq_q.open::after {
  transform: rotate(43deg);
}

.list_faq .faq_a {
  font-size: 1.2rem;
  color: #1A1311;
  line-height: 1.33333;
  padding: 0 60px 0 22px;
}

@media print, screen and (min-width: 768px) {
  .list_faq .faq_a {
    display: block !important;
  }
}

@media print, screen and (max-width: 767px) {
  .list_faq .faq_a {
    display: none;
  }
}

.list_faq .faq_a > div {
  padding: 8px 0;
  font-weight: 400;
  font-family: "Yu Gothic UI", "Yu Gothic Medium", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic Medium", "游ゴシック Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "Yu Gothic Medium", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
}

.list_faq .faq_a div:not([class]) > *:not(:first-child) {
  margin-top: 15px;
}

.list_faq .faq_a .large {
  font-size: 1.2rem;
  line-height: 1.33333;
}

.list_faq .faq_a .btn01 {
  margin-top: 15px !important;
}

.list_faq .faq_a .btn01 .btn_inner {
  width: auto;
  padding: 5px 45px 5px 17px;
}

/*-------------------------
  page_privacy
-------------------------*/
#page_privacy .sec_block.block01 {
  margin-top: 34px;
}

#page_privacy .sec_block.block01:nth-of-type(1) {
  margin-top: 0;
}

#page_privacy .sec_block.block01 .innerWrap .hd02jp {
  font-weight: 600;
  padding-bottom: 12px;
  margin-bottom: 15px;
  line-height: calc(26/16);
}

#page_privacy .sec_block.block01 .innerWrap .text {
  text-align: left;
  line-height: calc(22/13);
}

#page_privacy .sec_block.block01 .innerWrap .text li + li {
  margin-top: 24px;
}

#page_privacy #sec03 .text > p {
  margin-bottom: 20px;
}

/*-------------------------
  Terms & Conditions
-------------------------*/
#page_terms .sec_block:not(:nth-of-type(1)) {
  margin-top: 30px;
}

#page_terms .sec_block .hd02jp {
  font-family: "Yu Gothic UI", "Yu Gothic Medium", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic Medium", "游ゴシック Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "Yu Gothic Medium", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  font-weight: 700;
  color: #1A1311;
  padding: 0 0 10px 0;
  margin-bottom: 10px;
  line-height: 1.875;
}

#page_terms .sec_block .hd02jp + p {
  font-size: 1.6rem;
  margin-top: 0;
}

#page_terms .sec_block .text {
  text-align: left;
  margin-top: 16px;
}

#page_terms .sec_block .text > ol > li:not(:first-child) {
  margin-top: 20px;
}

#page_terms .tbl1 {
  line-height: 1.875;
}

@media print, screen and (max-width: 767px) {
  #page_terms .tbl1 {
    font-size: 1.1rem;
  }
}

#page_terms .tbl1 .notes {
  color: #707070;
  margin-top: 5px;
}

#page_terms .tbl1 table {
  width: 100%;
  background: #fff;
}

#page_terms .tbl1 tr > * {
  text-align: left;
  border: 1px solid #707070;
  padding: 5px 10px;
}

@media print, screen and (min-width: 768px) {
  #page_terms .tbl1 tr > * {
    padding: 10px;
  }
}

#page_terms .tbl1 th {
  background: #F2F2F2;
}

#page_terms .tbl1 tr > *:empty {
  /*
			background-image: linear-gradient(
				to right top,
				transparent calc(50% - 0.5px),
				$gray02 50%,
				$gray02 calc(50% + 0.5px),
				transparent calc(50% + 1px)
			);
			*/
  background-image: linear-gradient(to left bottom, transparent 49%, #707070 50%, transparent 51%);
}

#page_terms .tbl1 th.cell1 {
  text-align: center;
  vertical-align: middle;
}

@media print, screen and (min-width: 768px) {
  #page_terms .tbl1 th.cell1 {
    width: 70px;
    padding-top: 20px;
    padding-bottom: 20px;
  }
}

@media print, screen and (max-width: 767px) {
  #page_terms .tbl1 th.cell1 {
    width: 23px;
    width: 40px;
    padding-top: 10px;
    padding-bottom: 10px;
  }
}

#page_terms .tbl1 th.cell1 > div:not([class]) {
  display: flex;
  justify-content: center;
  align-items: center;
}

#page_terms .tbl1 th.cell1 > div:not([class]) > span {
  width: 1em;
  line-height: 1.0;
  letter-spacing: .08em;
}

#page_terms .tbl1 th.cell2 {
  vertical-align: middle;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  #page_terms .tbl1 th.cell2 {
    width: 100px;
  }
}

@media print, screen and (max-width: 767px) {
  #page_terms .tbl1 th.cell2 {
    width: 53px;
    width: 70px;
  }
}

#page_terms .tbl1 .cell3 {
  white-space: nowrap;
}

#page_terms .tbl1 li {
  text-indent: -1em;
  padding-left: 1em;
}

#page_terms .tbl2 table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  border-spacing: 0;
}

#page_terms .tbl2 tr > * {
  text-align: center;
  vertical-align: middle;
}

@media print, screen and (min-width: 768px) {
  #page_terms .tbl2 tr > * {
    padding: 10px;
  }
}

@media print, screen and (max-width: 767px) {
  #page_terms .tbl2 tr > * {
    padding: 5px 2px;
  }
}

/*-------------------------
  Contact
-------------------------*/
#page_contacts .hd02jp::after {
  display: none;
}

#page_contacts #sec01 .link {
  margin-top: 33px;
}

#page_contacts #sec01 h2 {
  font-size: 1.6rem;
  line-height: calc(26/16);
  margin-bottom: 14px;
  font-weight: 400;
}

#page_contacts #sec01 h2.copy {
  text-align: left;
  font-size: 2.4rem;
  margin-bottom: 25px;
}

#page_contacts #sec01 .en.copy {
  font-size: 2rem;
  margin-bottom: 25px;
}

#page_contacts #sec01 .text {
  text-align: left;
}

#page_contacts #sec01 .text + .en {
  margin-top: 32px;
}

#page_contacts #sec02 {
  margin-top: 50px;
}

#page_contacts #sec02 .text {
  text-align: left;
  font-size: 1.3rem;
}

#page_contacts #sec02 .text span {
  font-size: 1.8rem;
  color: #F40909;
  font-family: "Noto Sans JP", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-weight: 400;
  display: inline-block;
  margin: -10px 2px 5px;
}

.form .mfp_err {
  color: #DC000C;
  line-height: 1.875;
  margin-top: 5px;
}

.form textarea {
  border: 1px solid #000000;
  font-size: 1.6rem;
  height: 129px;
  padding: 5px 8px;
}

#sec_contact_form {
  margin-top: 17px;
}

#sec_contact_form .form_item:not(:first-child) {
  margin-top: 22px;
}

#sec_contact_form .form_item .item_title {
  margin-bottom: 6px;
  padding-bottom: 10px;
  font-family: "Yu Gothic UI", "Yu Gothic Medium", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic Medium", "游ゴシック Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "Yu Gothic Medium", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  font-size: 1.3rem;
  font-weight: 700;
}

#sec_contact_form .form_item .item_title::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0px;
  display: block;
  width: 90px;
  height: 2px;
  background: #000000;
  transform: translate(-230%, 0vh);
  transition: all 0.6s linear;
}

#sec_contact_form .form_item .item_title small {
  font-size: 1.3rem;
  margin-left: 7px;
}

#sec_contact_form .form_item .item_title .required {
  display: inline-block;
  color: #F40909;
  font-size: 1.6rem;
  margin-left: 10px;
  font-family: "Noto Sans JP", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-weight: 400;
  vertical-align: text-bottom;
}

#sec_contact_form .form_item .item_main input {
  font-family: "Yu Gothic UI", "Yu Gothic Medium", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic Medium", "游ゴシック Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "Yu Gothic Medium", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
  font-weight: 500;
}

#sec_contact_form .btn01 {
  margin: 60px 0 0 0;
}

#sec_contact_form #mfp_confirm_table {
  width: 100%;
  font-size: 1.6rem;
  line-height: 1.4625;
}

#sec_contact_form #mfp_confirm_table tr {
  border-bottom: 1px solid #707070;
}

@media print, screen and (min-width: 768px) {
  #sec_contact_form #mfp_confirm_table tr > * {
    display: block;
    width: 100%;
  }
}

#sec_contact_form #mfp_confirm_table th {
  font-weight: 500;
  padding: 40px 0 10px;
}

#sec_contact_form #mfp_confirm_table td {
  font-size: 1.3rem;
  padding: 0 0 15px;
}

#sec_contact_form .mfp_buttons {
  display: flex;
  flex-direction: column-reverse;
  margin-top: 30px;
  margin-right: -20px;
  padding: 0;
}

@media print, screen and (min-width: 768px) {
  #sec_contact_form .mfp_buttons {
    margin-right: 0px;
  }
}

#sec_contact_form .mfp_element_button {
  position: relative;
  z-index: 0;
  overflow: hidden;
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 34px;
  border: none;
  box-shadow: none;
  border-radius: 0;
  font-size: 1.4rem;
  line-height: 1.0;
  font-weight: 700;
  text-shadow: none;
  padding: 5px 35px 5px 17px;
}

@media print, screen and (max-width: 390px) {
  #sec_contact_form .mfp_element_button {
    font-size: 3.58974vw;
  }
}

#sec_contact_form .mfp_element_button:before {
  content: '';
  opacity: 0;
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  background: #444;
  transform: scaleX(0.8) translateZ(0);
  transform-origin: left;
  transition: all 0.25s linear;
}

#sec_contact_form .mfp_element_button:after {
  content: '';
  position: absolute;
  top: 50%;
  right: 15px;
  width: 16.66667px;
  height: 16.66667px;
  background: url(../img/arrow01.png) no-repeat left top;
  background-size: 100% auto;
  transform: translate(0, -50%);
}

#sec_contact_form .mfp_element_button:hover:before {
  opacity: 1;
  transform: scaleX(1) translateZ(0);
}

#sec_contact_form #mfp_button_send {
  background: #000;
  color: #fff;
}

#sec_contact_form #mfp_button_send:before {
  background: #444;
}

#sec_contact_form #mfp_button_cancel {
  width: 120px;
  width: 180px;
  background: #9A9A9A;
  color: #fff;
  padding: 5px 17px 5px 45px;
  margin: 0 auto 60px 0;
  text-align: right;
}

#sec_contact_form #mfp_button_cancel:before {
  background: #444;
}

#sec_contact_form #mfp_button_cancel::after {
  left: 15px;
  right: auto;
  transform: rotate(180deg) translate(0, 50%);
}
