@charset "UTF-8";

/*
[Noto Sans JP]
https://fonts.google.com/specimen/Noto+Sans+JP

Thin 100
Light 300
Regular 400
Medium 500
Bold 700
Black 900 --★

<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@900&display=swap" rel="stylesheet">

font-family: 'Noto Sans JP', sans-serif;
*/
@-webkit-keyframes scale-easeOutElastic {
  0% {
    transform: scale(0);
  }

  16% {
    transform: scale(1.3227);
  }

  28% {
    transform: scale(0.8688);
  }

  44% {
    transform: scale(1.0463);
  }

  59% {
    transform: scale(0.9836);
  }

  73% {
    transform: scale(1.0058);
  }

  88% {
    transform: scale(0.998);
  }

  100% {
    transform: scale(1);
  }
}

@keyframes scale-easeOutElastic {
  0% {
    transform: scale(0);
  }

  16% {
    transform: scale(1.3227);
  }

  28% {
    transform: scale(0.8688);
  }

  44% {
    transform: scale(1.0463);
  }

  59% {
    transform: scale(0.9836);
  }

  73% {
    transform: scale(1.0058);
  }

  88% {
    transform: scale(0.998);
  }

  100% {
    transform: scale(1);
  }
}

@-webkit-keyframes positionX-easeOutElastic {
  0% {
    transform: translateX(0%);
  }

  16% {
    transform: translateX(-132.27%);
  }

  28% {
    transform: translateX(-86.88%);
  }

  44% {
    transform: translateX(-104.63%);
  }

  59% {
    transform: translateX(-98.36%);
  }

  73% {
    transform: translateX(-100.58%);
  }

  88% {
    transform: translateX(-99.8%);
  }

  100% {
    transform: translateX(-100%);
  }
}

@keyframes positionX-easeOutElastic {
  0% {
    transform: translateX(0%);
  }

  16% {
    transform: translateX(-132.27%);
  }

  28% {
    transform: translateX(-86.88%);
  }

  44% {
    transform: translateX(-104.63%);
  }

  59% {
    transform: translateX(-98.36%);
  }

  73% {
    transform: translateX(-100.58%);
  }

  88% {
    transform: translateX(-99.8%);
  }

  100% {
    transform: translateX(-100%);
  }
}

@-webkit-keyframes scale-easeOutBounce {
  0% {
    transform: scale(1);
  }

  12% {
    transform: scale(0.89);
  }

  24% {
    transform: scale(0.56);
  }

  36% {
    transform: scale(0.02);
  }

  54% {
    transform: scale(0.25);
  }

  74% {
    transform: scale(0.02);
  }

  82% {
    transform: scale(0.06);
  }

  92% {
    transform: scale(0.01);
  }

  96% {
    transform: scale(0.02);
  }

  100% {
    transform: scale(0);
  }
}

@keyframes scale-easeOutBounce {
  0% {
    transform: scale(1);
  }

  12% {
    transform: scale(0.89);
  }

  24% {
    transform: scale(0.56);
  }

  36% {
    transform: scale(0.02);
  }

  54% {
    transform: scale(0.25);
  }

  74% {
    transform: scale(0.02);
  }

  82% {
    transform: scale(0.06);
  }

  92% {
    transform: scale(0.01);
  }

  96% {
    transform: scale(0.02);
  }

  100% {
    transform: scale(0);
  }
}

@-webkit-keyframes positionX-easeOutBounce {
  0% {
    transform: translateX(0%);
  }

  12% {
    transform: translateX(-10.89%);
  }

  24% {
    transform: translateX(-43.56%);
  }

  36% {
    transform: translateX(-98.01%);
  }

  54% {
    transform: translateX(-75.02%);
  }

  74% {
    transform: translateX(-98.37%);
  }

  82% {
    transform: translateX(-93.75%);
  }

  92% {
    transform: translateX(-99.34%);
  }

  96% {
    transform: translateX(-98.46%);
  }

  100% {
    transform: translateX(-100%);
  }
}

@keyframes positionX-easeOutBounce {
  0% {
    transform: translateX(0%);
  }

  12% {
    transform: translateX(-10.89%);
  }

  24% {
    transform: translateX(-43.56%);
  }

  36% {
    transform: translateX(-98.01%);
  }

  54% {
    transform: translateX(-75.02%);
  }

  74% {
    transform: translateX(-98.37%);
  }

  82% {
    transform: translateX(-93.75%);
  }

  92% {
    transform: translateX(-99.34%);
  }

  96% {
    transform: translateX(-98.46%);
  }

  100% {
    transform: translateX(-100%);
  }
}

@-webkit-keyframes scale-easeInOutBounce {
  0% {
    transform: scale(1);
  }

  2% {
    transform: scale(0.99);
  }

  4% {
    transform: scale(1);
  }

  10% {
    transform: scale(0.97);
  }

  14% {
    transform: scale(0.99);
  }

  22% {
    transform: scale(0.88);
  }

  32% {
    transform: scale(0.99);
  }

  42% {
    transform: scale(0.6);
  }

  50% {
    transform: scale(0.5);
  }

  58% {
    transform: scale(0.4);
  }

  68% {
    transform: scale(0.01);
  }

  78% {
    transform: scale(0.12);
  }

  86% {
    transform: scale(0.01);
  }

  90% {
    transform: scale(0.03);
  }

  96% {
    transform: scale(0);
  }

  98% {
    transform: scale(0.01);
  }

  100% {
    transform: scale(0);
  }
}

@keyframes scale-easeInOutBounce {
  0% {
    transform: scale(1);
  }

  2% {
    transform: scale(0.99);
  }

  4% {
    transform: scale(1);
  }

  10% {
    transform: scale(0.97);
  }

  14% {
    transform: scale(0.99);
  }

  22% {
    transform: scale(0.88);
  }

  32% {
    transform: scale(0.99);
  }

  42% {
    transform: scale(0.6);
  }

  50% {
    transform: scale(0.5);
  }

  58% {
    transform: scale(0.4);
  }

  68% {
    transform: scale(0.01);
  }

  78% {
    transform: scale(0.12);
  }

  86% {
    transform: scale(0.01);
  }

  90% {
    transform: scale(0.03);
  }

  96% {
    transform: scale(0);
  }

  98% {
    transform: scale(0.01);
  }

  100% {
    transform: scale(0);
  }
}

@-webkit-keyframes positionX-easeInOutBounce {
  0% {
    transform: translateX(0%);
  }

  2% {
    transform: translateX(-0.77%);
  }

  4% {
    transform: translateX(-0.33%);
  }

  10% {
    transform: translateX(-3%);
  }

  14% {
    transform: translateX(-0.98%);
  }

  22% {
    transform: translateX(-12.42%);
  }

  32% {
    transform: translateX(-1%);
  }

  42% {
    transform: translateX(-40.32%);
  }

  50% {
    transform: translateX(-50%);
  }

  58% {
    transform: translateX(-59.68%);
  }

  68% {
    transform: translateX(-99.01%);
  }

  78% {
    transform: translateX(-87.58%);
  }

  86% {
    transform: translateX(-99.02%);
  }

  90% {
    transform: translateX(-97%);
  }

  96% {
    transform: translateX(-99.67%);
  }

  98% {
    transform: translateX(-99.23%);
  }

  100% {
    transform: translateX(-100%);
  }
}

@keyframes positionX-easeInOutBounce {
  0% {
    transform: translateX(0%);
  }

  2% {
    transform: translateX(-0.77%);
  }

  4% {
    transform: translateX(-0.33%);
  }

  10% {
    transform: translateX(-3%);
  }

  14% {
    transform: translateX(-0.98%);
  }

  22% {
    transform: translateX(-12.42%);
  }

  32% {
    transform: translateX(-1%);
  }

  42% {
    transform: translateX(-40.32%);
  }

  50% {
    transform: translateX(-50%);
  }

  58% {
    transform: translateX(-59.68%);
  }

  68% {
    transform: translateX(-99.01%);
  }

  78% {
    transform: translateX(-87.58%);
  }

  86% {
    transform: translateX(-99.02%);
  }

  90% {
    transform: translateX(-97%);
  }

  96% {
    transform: translateX(-99.67%);
  }

  98% {
    transform: translateX(-99.23%);
  }

  100% {
    transform: translateX(-100%);
  }
}

/* .pbHeaderArea {
  display: none;
}
.pbAreaWrapper1 {
  top: auto;
  margin-bottom: 0;
}
.b-o-footer .b-a-logo {
  margin-bottom: 0;
} */
.b-scrollAnimation-target {
  transform: none !important;
}

body._open {
  overflow: hidden;
}

.fes_main {
  position: relative;
  font-weight: 400;
  color: #000;
  background: #fff;
  font-feature-settings: 'palt';
}

.fes_main .cf:before,
.fes_main .cf:after {
  content: '';
  display: table;
}

.fes_main .cf:after {
  clear: both;
}

/* .fes_main .cf {
  zoom:1;
} */

.fes_main * {
  box-sizing: border-box;
}

.fes_main img {
  width: 100%;
  max-width: none;
  height: auto;
  vertical-align: bottom;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  image-rendering: -webkit-optimize-contrast;
}

.fes_main ul,
.fes_main ol,
.fes_main li {
  list-style: none;
  padding: 0;
  margin: 0;
}

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

.fes_main h1,
.fes_main h2,
.fes_main h3,
.fes_main h4 {
  padding: 0;
  margin: 0;
}

.fes_main small {
  display: inline-block;
}

.fes_main button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  width: 100%;
  padding: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-family: inherit;
  line-height: 1;
}

.fes_main a {
  text-decoration: none;
}

.fes_videoContainer {
  display: block;
  position: relative;
  width: 100%;
  overflow: hidden;
  padding-top: 56.25%;
}

.fes_videoContainer iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

@media all and (min-width: 768px) {
  body {
    max-width: none !important;
  }

  body.b-body {
    min-width: 1280px;
  }

  .fes_main {
    width: 100%;
    min-width: 1160px;
    padding-top: 50px !important;
    margin: 0 auto;
    font-family: '游ゴシック体', 'YuGothic', '游ゴシック', 'Yu Gothic', 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', 'meiryo', sans-serif;
    overflow: hidden;
  }

  .fes_main ._sp {
    display: none !important;
  }

  .fes_secInner {
    position: relative;
    width: 100%;
    max-width: 1160px;
    margin: 0 auto 0;
  }
}

@media all and (max-width: 767px) {
  /*   .b-o-footer_content {
    padding-bottom: 30px !important;
  }
  .b-m-footerBottom {
    padding-bottom: 122px;
  } */
  html,
  body {
    height: 100vh;
    min-height: 100vh;
  }

  .fes_main {
    padding-top: 0 !important;
    overflow: hidden;
    font-family: 'Helvetica Neue', 'arial', 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', '游ゴシック体', 'YuGothic', '游ゴシック', 'Yu Gothic', 'meiryo', sans-serif;
  }

  .fes_main ._pc {
    display: none !important;
  }

  .fes_secInner {
    position: relative;
    width: 89.33333%;
    margin: 0 auto;
  }
  .fes_secInner_circles {
    width: 93%;
  }
}

/*== swiper =========================================================================*/
/* .swiper-container {
    margin-left: auto;
    margin-right: auto;
    position: relative;
    overflow: hidden;
    z-index: 1;
}

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

.swiper-container-vertical>.swiper-wrapper {
    flex-direction: column;
}

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

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

.swiper-container-multirow>.swiper-wrapper {
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    flex-wrap: wrap;
}

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

.swiper-slide {
    -webkit-flex-shrink: 0;
    -ms-flex: 0 0 auto;
    flex-shrink: 0;
    width: 100%;
    height: 100%;
    position: relative;
}

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

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

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

.swiper-wp8-horizontal {
    touch-action: pan-y;
}

.swiper-wp8-vertical {
    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-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-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-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-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-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-pagination {
    position: absolute;
    text-align: center;
    transition: .3s;
    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-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;
    box-shadow: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
}

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

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

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

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

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

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

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

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

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

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

.swiper-container-rtl .swiper-pagination-progress .swiper-pagination-progressbar {
    transform-origin: right top;
}

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

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

.swiper-pagination-progress.swiper-pagination-white {
    background: rgba(255, 255, 255, 0.5);
}

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

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

.swiper-container-3d {
    -o-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 {
    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: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

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

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

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

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

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

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

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

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

.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,
.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-cube .swiper-slide {
    visibility: hidden;
    transform-origin: 0 0;
    width: 100%;
    height: 100%;
}

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

.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-cube-shadow {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background: #000;
    opacity: .6;
    filter: blur(50px);
    z-index: 0;
}

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

.swiper-container-fade .swiper-slide {
    pointer-events: none;
    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-zoom-container {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: 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-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-lazy-preloader {
    width: 42px;
    height: 42px;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -21px;
    margin-top: -21px;
    z-index: 10;
    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);
    }
}

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

/*== colorbox =========================================================================*/
/*
    Colorbox Core Style:
    The following CSS is consistent between example themes and should not be altered.
*/
#colorbox,
#cboxOverlay,
#cboxWrapper {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 9999;
  /*overflow:hidden;*/
  /* -webkit-transform: translate3d(0, 0, 0); */
}

#cboxWrapper {
  max-width: none;
}

#cboxOverlay {
  position: fixed;
  width: 100%;
  height: 100%;
}

#cboxMiddleLeft,
#cboxBottomLeft {
  clear: left;
}

#cboxContent {
  position: relative;
}

#cboxLoadedContent {
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

#cboxTitle {
  margin: 0;
}

#cboxLoadingOverlay,
#cboxLoadingGraphic {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#cboxPrevious,
#cboxNext,
#cboxClose,
#cboxSlideshow {
  cursor: pointer;
}

.cboxPhoto {
  float: left;
  margin: auto;
  border: 0;
  display: block;
  max-width: none;
  -ms-interpolation-mode: bicubic;
}

.cboxIframe {
  width: 100%;
  height: 100%;
  display: block;
  border: 0;
  padding: 0;
  margin: 0;
}

#colorbox,
#cboxContent,
#cboxLoadedContent {
  box-sizing: content-box;
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
}

/*
    User Style:
    Change the following styles to modify the appearance of Colorbox.  They are
    ordered & tabbed in a way that represents the nesting of the generated HTML.
*/
#cboxOverlay {
  background: #000;
  opacity: 0.7;
  filter: alpha(opacity=70);
}

#colorbox {
  outline: 0;
  overflow: visible !important;
}

#cboxContent {
  /*margin: 60px;*/
  overflow: visible;
  background: #000;
  border: none;
}

.cboxIframe {
  background: #fff;
}

#cboxError {
  padding: 50px;
  border: 1px solid #ccc;
}

#cboxLoadedContent {
  background: #000;
  padding: 0;
}

#cboxLoadingGraphic {
  background: url(/softdrink/boss/lasttrain/assets/img/cbox_loading.gif) no-repeat center center;
}

#cboxLoadingOverlay {
  background: #000;
}

#cboxTitle {
  position: absolute;
  top: -22px;
  left: 0;
  color: #000;
}

#cboxCurrent {
  position: absolute;
  top: -22px;
  right: 205px;
  text-indent: -9999px;
}

/* these elements are buttons, and may need to have additional styles reset to avoid unwanted base styles */
#cboxPrevious,
#cboxNext,
#cboxSlideshow,
#cboxClose {
  border: 0;
  padding: 0;
  margin: 0;
  overflow: visible;
  text-indent: -9999px;
  width: 20px;
  height: 20px;
  position: absolute;
  top: -20px;
  background: none;
}

/* avoid outlines on :active (mouseclick), but preserve outlines on :focus (tabbed navigating) */
#cboxPrevious:active,
#cboxNext:active,
#cboxSlideshow:active,
#cboxClose:active {
  outline: 0;
}

#cboxPrevious {
  background-position: 0px 0px;
  right: 44px;
}

#cboxPrevious:hover {
  background-position: 0px -25px;
}

#cboxNext {
  background-position: -25px 0px;
  right: 22px;
}

#cboxNext:hover {
  background-position: -25px -25px;
}

/*#cboxClose{right:-70px; top:-108px; width:54px; height:76px; background:url(./img/cbox_close-btn.png) no-repeat top center;}*/
#cboxClose {
  right: -34px;
  top: -44px;
  width: 24px;
  height: 24px;
  background: none;
}

#cboxClose:hover {
  opacity: 0.75;
}

#cboxClose:after {
  content: '';
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
  background: url(/softdrink/boss/lasttrain/assets/img/cbox_close-btn.png) no-repeat top center;
  background-size: 100%;
}

.device-sp #cboxClose {
  right: 30px;
  top: -85px;
  width: 24px;
  height: 24px;
  background-size: 100%;
}

/*#cboxClose:hover{opacity: .6}*/
.cboxSlideshow_on #cboxPrevious,
.cboxSlideshow_off #cboxPrevious {
  right: 66px;
}

.cboxSlideshow_on #cboxSlideshow {
  background-position: -75px -25px;
  right: 44px;
}

.cboxSlideshow_on #cboxSlideshow:hover {
  background-position: -100px -25px;
}

.cboxSlideshow_off #cboxSlideshow {
  background-position: -100px 0px;
  right: 44px;
}

.cboxSlideshow_off #cboxSlideshow:hover {
  background-position: -75px -25px;
}

@media all and (min-width: 768px) {
  .fes_loading {
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1000;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0);
  }

  .fes_loading > .inner {
    position: relative;
    left: 50%;
    width: 100%;
    height: calc(100vh - 84px);
    max-width: 1000px;
    transform: translateX(-50%);
  }

  .fes_loading .load_anime {
    display: none;
  }
}

@media all and (max-width: 767px) {
  .fes_loading {
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1000;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0);
  }

  .fes_loading > .inner {
    position: relative;
    width: 100%;
    height: calc(100vh - 56px);
  }

  .fes_loading .load_anime {
    display: none;
  }
}

.arw {
  position: absolute;
  right: 0;
  top: 50%;
  height: 2px;
  margin-top: 0px;
  background: #fff;
  transition: all 0.2s;
}

@media (max-width: 767px) {
  .arw {
    height: 1px;
  }
}

.arw::before,
.arw::after {
  content: '';
  position: absolute;
  right: 0;
  top: 0;
  height: 2px;
  background: #fff;
  transform-origin: 100% 50%;
  transition: all 0.2s;
}

@media (max-width: 767px) {
  .arw::before,
  .arw::after {
    height: 1px;
  }
}

.arw::before {
  transform: rotate(45deg);
}

.arw::after {
  transform: rotate(-45deg);
}

.arw._bk {
  background: #000;
}

.arw._bk::before,
.arw._bk::after {
  background: #000;
}

.fes_cmn_reserveBtn {
  position: relative;
  box-sizing: border-box;
}

.fes_cmn_reserveBtn a {
  display: block;
  position: relative;
  padding: 0 0;
  /* background: #d45252; */
  font-weight: 700;
  /* color: #fff; */
  text-align: center;
  width: 408px;
  line-height: 74px;
  height: 74px;
  box-sizing: border-box;
}

@media (max-width: 767px) {
  .fes_cmn_reserveBtn {
    width: 100%;
  }
  .fes_cmn_reserveBtn a {
    line-height: 55px;
    height: 55px;
  }
}

@media (max-width: 767px) {
  .fes_cmn_reserveBtn a {
    /* width: 40%; */
    margin: 0;
    width: 38.5vw;
  }
}

.fes_cmn_reserveBtn2 a {
  color: #fff;
  background: #d45252;
}

.fes_cmn_tboxBtns a,
.fes_cmn_tboxBtns button,
.fes_cmn_tboxBtn a,
.fes_cmn_tboxBtn button {
  display: block;
  position: relative;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: #fff;
  text-align: center;
}

.fes_cmn_tboxBtns a::before,
.fes_cmn_tboxBtns button::before,
.fes_cmn_tboxBtn a::before,
.fes_cmn_tboxBtn button::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  border: #fff solid 1px;
}

.fes_cmn_tboxBtns._bk a,
.fes_cmn_tboxBtns._bk button,
.fes_cmn_tboxBtn._bk a,
.fes_cmn_tboxBtn._bk button {
  color: #3b3b41;
  background-color: #fff;
}

.fes_cmn_tboxBtns._bk a::before,
.fes_cmn_tboxBtns._bk button::before,
.fes_cmn_tboxBtn._bk a::before,
.fes_cmn_tboxBtn._bk button::before {
  border: #3b3b41 solid 2px;
}

.fes_cmn_tboxBtns._bk .arw,
.fes_cmn_tboxBtn._bk .arw {
  background: #3b3b41;
}

.fes_cmn_tboxBtns._bk .arw::before,
.fes_cmn_tboxBtns._bk .arw::after,
.fes_cmn_tboxBtn._bk .arw::before,
.fes_cmn_tboxBtn._bk .arw::after {
  background: #3b3b41;
}

.fes_cmn_tboxBtns._invert a,
.fes_cmn_tboxBtn._invert a {
  background: #3b3b41;
}

.fes_cmn_tboxBtns._invert a::before,
.fes_cmn_tboxBtn._invert a::before {
  border: #3b3b41 solid 2px;
}

.fes_cmn_txtLink {
  display: inline-block;
  position: relative;
  color: #000;
  text-decoration: underline !important;
}

@media all and (min-width: 768px) {
  .arw {
    width: 13px;
    margin-right: 25px;
  }

  .arw::before,
  .arw::after {
    width: 9px;
  }

  .fes_cmn_reserveBtn a {
    font-size: 24px;
    /* font-size: 1.5rem !important; */
    letter-spacing: 0.05em;
    width: 520px;
  }

  .fes_cmn_reserveBtn a::after {
    box-sizing: border-box;
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.15);
    opacity: 0;
    transition: all 0.2s;
  }

  .fes_cmn_reserveBtn a:hover::after {
    opacity: 1;
  }

  .fes_cmn_reserveBtn a:hover .arw {
    transform: translateX(5px);
  }

  .fes_cmn_tboxBtns a,
  .fes_cmn_tboxBtns button,
  .fes_cmn_tboxBtn a,
  .fes_cmn_tboxBtn button {
    padding: 1.5em 0;
    transition: all 0.2s;
  }

  .fes_cmn_tboxBtns a:hover,
  .fes_cmn_tboxBtns button:hover,
  .fes_cmn_tboxBtn a:hover,
  .fes_cmn_tboxBtn button:hover {
    background: #fff;
    color: #000;
  }

  .fes_cmn_tboxBtns a:hover .arw,
  .fes_cmn_tboxBtns button:hover .arw,
  .fes_cmn_tboxBtn a:hover .arw,
  .fes_cmn_tboxBtn button:hover .arw {
    background: #000;
    transform: translateX(5px);
  }

  .fes_cmn_tboxBtns a:hover .arw::before,
  .fes_cmn_tboxBtns a:hover .arw::after,
  .fes_cmn_tboxBtns button:hover .arw::before,
  .fes_cmn_tboxBtns button:hover .arw::after,
  .fes_cmn_tboxBtn a:hover .arw::before,
  .fes_cmn_tboxBtn a:hover .arw::after,
  .fes_cmn_tboxBtn button:hover .arw::before,
  .fes_cmn_tboxBtn button:hover .arw::after {
    background: #000;
  }

  .fes_cmn_tboxBtns._bk a:hover,
  .fes_cmn_tboxBtns._bk button:hover,
  .fes_cmn_tboxBtn._bk a:hover,
  .fes_cmn_tboxBtn._bk button:hover {
    background: #3b3b41;
    color: #fff;
  }

  .fes_cmn_tboxBtns._bk a:hover .arw,
  .fes_cmn_tboxBtns._bk button:hover .arw,
  .fes_cmn_tboxBtn._bk a:hover .arw,
  .fes_cmn_tboxBtn._bk button:hover .arw {
    background: #fff;
  }

  .fes_cmn_tboxBtns._bk a:hover .arw::before,
  .fes_cmn_tboxBtns._bk a:hover .arw::after,
  .fes_cmn_tboxBtns._bk button:hover .arw::before,
  .fes_cmn_tboxBtns._bk button:hover .arw::after,
  .fes_cmn_tboxBtn._bk a:hover .arw::before,
  .fes_cmn_tboxBtn._bk a:hover .arw::after,
  .fes_cmn_tboxBtn._bk button:hover .arw::before,
  .fes_cmn_tboxBtn._bk button:hover .arw::after {
    background: #fff;
  }

  .fes_cmn_txtLink {
    transition: all 0.15s;
  }

  .fes_cmn_txtLink:hover {
    opacity: 0.5;
  }
}

@media all and (max-width: 767px) {
  .arw {
    width: 7px;
    margin-right: 12px;
  }

  .arw::before,
  .arw::after {
    width: 4px;
  }

  .fes_cmn_reserveBtn a {
    font-size: 14px;
    /* font-size: 4.8vw !important; */
    letter-spacing: 0.05em;
  }

  .fes_cmn_tboxBtns a,
  .fes_cmn_tboxBtns button,
  .fes_cmn_tboxBtn a,
  .fes_cmn_tboxBtn button {
    padding: 1.2em 0;
  }

  .-collapase {
    width: 100%;
    height: 2em;
    overflow: hidden;
  }

  .-collapase p {
    position: relative;
  }

  .-collapase::before {
    content: '';
    display: inline-block;
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 2;
    width: 5em;
    height: 1px;
    margin-bottom: 0.25em;
    box-sizing: border-box;
    background: #242424;
  }

  .-collapase::after {
    content: '… 続きを見る';
    display: inline-block;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 1;
    width: 10.5em;
    background: white;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, white 30%, white 100%);
    white-space: nowrap;
    text-align: right;
  }
}

@media all and (min-width: 768px) {
  .fes_m_cover {
    position: relative;
    /* background-color: #141414;
    padding-bottom: 40px; */
  }

  .fes_covr_mv {
    position: relative;
    width: 1366px;
    height: 482px;
    overflow: hidden;
    padding-top: 0px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .fes_covr_mv_pic {
    position: absolute;
    right: 0%;
    left: 0%;
    top: 0;
    right: 0;
    width: 1366px;
    height: 442px;
    overflow: hidden;

    margin: 0 auto;
    background: url(/library/shm-keiei/festa/img/230710/cover/covr_base_01_pc.jpg) no-repeat;
    background-size: cover;
    background-position: center;
  }
  .fes_covr_mv_pic-2 {
    position: absolute;
    top: 0;
    right: 0px;
    /* left: 45%;
    width: 55%; */
    width: 744px;
    height: 442px;
    overflow: hidden;
    z-index: 1;
    margin: 0;
    background: url(/library/shm-keiei/festa/img/250714/cover/covr_mv_pic_01_20250714_1_pc.jpg) no-repeat;
    background-size: contain;
    background-position: center;
  }
  .fes_covr_mv_body {
    width: 1160px;
    margin: 0 auto;
  }
  .fes_covr_mv_head {
    width: 554px;
  }
  .fes_covr_mv_base {
    width: 554px;
    text-align: center;
    padding-top: 0px;
    margin-left: -68px;
  }
  .fes_covr_mv_lead img {
    display: block;
    height: 50px;
    width: 100%;
    overflow: visible;
  }
  .fes_covr_mv_button {
    display: block;
    position: relative;
    width: 500px !important;
    height: 80px;
    line-height: 70px;
    /* background-color: #fff; */
    font-size: 20px;
    color: #000;
    transition: opacity 0.2s;
    margin: 0 auto;
  }
  .fes_covr_mv_button img {
    width: 100%;
    height: auto;
  }
  .fes_covr_mv_button:hover {
    opacity: 0.6;
  }
  .fes_covr_mv_festaLogo {
    position: relative;
    /* padding-top: 30px !important; */
    width: 231px;
    margin: 0 auto !important;
    text-align: center;
    /* top: 20px;
    right: 20px; */
  }

  .fes_covr_mv_festaLogo img {
    width: 100%;
    height: auto;
  }
}
.fes_covr_mv_lead {
  position: relative;
  width: 554px;
}
.fes_covr_mv_lead img {
  width: 100%;
  height: auto;
}

.fes_covr_mv_blc {
  position: relative;
  /* width: 68.96552%; */
  margin-top: 35px;
  width: 1160px;
  margin-left: auto;
  margin-right: auto;
  left: -45px;
}

.fes_covr_mv_t1 {
  position: relative;
  width: 403px;
  margin: 23px auto 45px;
}

.fes_covr_mv_t2 {
  position: relative;
  margin-top: 3.75%;
  font-weight: 700;
  font-size: 18px;
  font-size: 1.125rem !important;
  letter-spacing: 0.05em;
}

.fes_covr_mv_t2 > span {
  display: inline-block;
  padding: 0.3em;
  background: rgba(255, 255, 255, 0.9);
}

.fes_covr_mv_t2 > span:nth-of-type(n + 2) {
  margin-top: 0.5em;
}
.fes_covr_mv_date {
  position: relative;
  width: 328px;
  margin: 0 auto 45px;
}

.fes_covr_mv_reserveBtn {
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 366px;
  margin: 0 0 -3.10345% -15.77586%;
}

@media all and (max-width: 767px) {
  .fes_m_cover {
    position: relative;
    width: 100%;
    background-color: #141414;
    overflow: hidden;
  }

  .fes_covr_mv_cover {
    /* display: flex; */
    background-color: #141414;
  }

  .fes_m_cover > .fes_secInner {
    width: 100%;
  }

  .fes_covr_mv {
    position: relative;
    /* width: 87%; */
    background-color: #141414;
    /* padding-top: 25px;
    margin-top: 25px; */
  }

  .fes_covr_mv_pic {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 57.6%;
    background: url(/library/shm-keiei/festa/img/250714/cover/covr_mv_pic_01_20250714_1_sp.jpg) 50% 50% no-repeat;
    background-size: cover;
    background-color: #141414;
  background-position-y: 25%;
  }
  .fes_covr_mv_base {
    width: 100%;
    margin: 0 auto;
  }
  .fes_covr_mv_head {
    /* display: flex; */
    padding: 0 6.5%;
    /* justify-content: space-between; */
    padding-bottom: 0px;
    /* border-bottom: 1px solid #fff; */
  }

  .fes_covr_mv_lead {
    position: relative;
    width: 4.2%;
    margin: 4.4%;
  }
  .fes_covr_mv_lead img {
    width: 100%;
    height: auto;
  }
  .fes_covr_mv_body {
    background: url(/library/shm-keiei/festa/img/230710/cover/covr_base_01_sp.jpg) 50% 50% no-repeat;
    background-size: cover;
    padding: 0px 0 20px;
  }

  .fes_covr_mv_festaLogo {
    position: relative;
    /* left: 0; */
    /* top: -2px; */
    width: 43.7%;
    margin: 15px auto 15px !important;
  }

  .fes_covr_mv_festaLogo img {
    width: 100%;
  }

  .fes_covr_mv_t1 {
    position: relative;
    right: 0;
    top: 0;
    width: 72%;
    margin: 0 auto;
    /* transform: translateX(-50%); */
    /* margin-right: 0;*/
  }

  .fes_covr_mv_t1 img {
    image-rendering: auto;
  }

  .fes_covr_mv_t2 {
    position: relative;
    width: 88%;
    margin: 2% auto 0;
    font-weight: 700;
    font-size: 15px;
    font-size: 4vw !important;
    line-height: 2;
    letter-spacing: 0.03em;
    text-align: center;
  }
  .fes_covr_mv_date {
    width: 52.8%;
    margin: 20px auto 20px;
  }

  .fes_covr_mv_button {
    position: relative;

    /* line-height: 55px; */
    /* background-color: #fff; */
    font-size: 14px;
    color: #000;
    margin: 0 auto;
    /* padding-bottom: 20px; */
    text-align: center;
    /* transition: opacity 0.2s; */
    width: 86%;
    display: block;
    margin-left: -0.6%;
  }
  .fes_covr_mv_button img {
    width: 100%;
  }
  .fes_covr_mv_reserveBtn {
    width: 90.33333%;
    margin: 6% auto 0;
  }
}

@media all and (min-width: 768px) {
  .fes_m_points {
    position: relative;
    margin-top: 3.90625%;
  }

  .fes_m_points > .fes_secInner {
    padding-top: 4.6875%;
  }

  .fes_m_points .fes_secContents {
    margin-top: 5.17241%;
  }

  .fes_poin_h_heading {
    width: 56.72414%;
    margin: 0 auto !important;
  }

  .fes_poin_list_items {
    display: flex;
    justify-content: space-between;
  }

  .fes_poin_list_item {
    width: 29.82759%;
  }

  .fes_poin_list_item .desc {
    margin-top: 5.78035%;
  }

  .fes_poin_list_item .desc dt {
    font-weight: 700;
    font-size: 22px;
    font-size: 1.375rem !important;
    letter-spacing: 0.05em;
  }

  .fes_poin_list_item .desc dd {
    margin-top: 3.46821%;
    font-size: 16px;
    font-size: 1rem !important;
    line-height: 2;
    letter-spacing: 0.05em;
    text-align: justify;
  }
}

@media all and (min-width: 1280px) {
  .fes_m_points {
    margin-top: 50px;
  }

  .fes_m_points > .fes_secInner {
    padding-top: 60px;
  }
}

@media all and (max-width: 767px) {
  .fes_m_points {
    position: relative;
    margin-top: 13.33333%;
  }

  .fes_m_points > .fes_secInner {
    padding-top: 13.33333%;
  }

  .fes_m_points .fes_secContents {
    margin-top: 14.92537%;
  }

  .fes_poin_h_heading {
    width: 65.7%;
    margin: 0 auto !important;
  }

  .fes_poin_h_heading img {
    image-rendering: auto;
  }

  .fes_poin_list_items {
    width: 100%;
  }

  .fes_poin_list_item {
    width: 100%;
    height: auto !important;
    background: #f4f4f4;
  }

  .fes_poin_list_item .desc {
    width: 86.56716%;
    padding: 6.71642% 0 4.47761%;
    margin: 0 auto;
  }

  .fes_poin_list_item .desc dt {
    font-weight: 700;
    font-size: 18px;
    font-size: 4.8vw !important;
    letter-spacing: 0.05em;
  }

  .fes_poin_list_item .desc dd {
    margin-top: 4.47761%;
    font-size: 15px;
    font-size: 4vw !important;
    line-height: 2;
    letter-spacing: 0.05em;
    text-align: justify;
  }

  .fes_poin_list_navi {
    position: relative;
    width: 76.1194%;
    margin: 8.95522% auto 0;
  }

  .fes_poin_list_linearNavi {
    display: flex;
    justify-content: space-between;
    position: relative;
    width: 100%;
    height: 19px;
  }

  .fes_poin_list_linearNavi > div {
    display: block;
    position: relative;
    width: 16px;
    height: 16px;
    cursor: pointer;
  }

  .fes_poin_list_linearNavi > div::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    border-left: #021b55 solid 1px;
    border-top: #021b55 solid 1px;
  }

  .fes_poin_list_linearNavi > div:nth-of-type(1) {
    transform: rotate(-45deg);
  }

  .fes_poin_list_linearNavi > div:nth-of-type(2) {
    transform: rotate(135deg);
  }

  .fes_poin_list_dotNavi {
    display: flex;
    justify-content: space-between;
    position: absolute;
    left: 0;
    top: 50%;
    width: 72.15686%;
    height: 1px;
    margin: -1px 0 0 14.21569%;
  }

  .fes_poin_list_dotNavi::before {
    content: '';
    position: absolute;
    left: 0;
    width: calc(100% - 8px);
    height: 100%;
    margin: 0 0 0 4px;
    background: #cbcbce;
    width: 23.46667%;
  }

  .fes_poin_list_dotNavi span {
    display: inline-block;
    position: relative;
    width: 8px;
    height: 8px;
    margin-top: -4px;
    border-radius: 10em;
    background: #3b3b40;
    opacity: 0;
  }

  .fes_poin_list_dotNavi span.swiper-pagination-bullet-active {
    opacity: 1;
  }
}

@media all and (min-width: 768px) {
  .fes_m_navi {
    position: relative;
    margin-top: 0;
    /* background-color: #e5f0e7; */
  }

  .fes_m_navi > .fes_secInner {
    padding-top: 0;
  }

  .fes_navi_contents {
    display: flex;
    justify-content: center;
    align-items: center;
    position: fixed;
    left: 0;
    bottom: 0;
    z-index: 100;
    width: 100%;
    transition: all 0.3s;
    transform: translateY(101%);
  }

  .fes_navi_contents::before {
    content: '';
    position: absolute;
    left: 50%;
    top: 0;
    width: 100vw;
    height: 100%;
    margin-left: -50vw;
    /* background: #3b3b41; */
    background: #cecece;
  }

  .fes_navi_contents.-hide {
    transform: translateY(101%);
  }

  .fes_navi_contents_btns {
    display: flex;
    justify-content: flex-start;
    position: relative;
    width: calc(1160px - 346px);
  }

  .fes_navi_contents_btns > li a {
    position: relative;
    display: block;
    padding: 0 3.5em 0 2em;
    font-weight: 700;
    font-size: 15px;
    font-size: 0.9375rem !important;
    letter-spacing: 0.05em;
    color: #fff;
  }

  .fes_navi_contents_btns > li a .arw {
    margin-right: 2em;
    transform: rotate(90deg);
    transition: all 0.2s;
  }

  .fes_navi_contents_btns > li a:hover .arw {
    top: calc(50% + 5px);
  }

  .fes_navi_contents_reserveBtn {
    position: relative;
    width: 346px;
  }

  .fes_navi_contents_reserveBtn a {
    font-size: 18px;
    font-size: 1.125rem !important;
  }

  .fes_navi_places {
    position: relative;
    /* min-height: 580px; */
    box-sizing: border-box;
    /* padding: 6.46552% 0 0; */
    padding: 76px 0 100px;
    margin-top: 0;
  }

  .fes_navi_places::before {
    content: '';
    position: absolute;
    left: 50%;
    top: 0;
    width: 100vw;
    height: 100%;
    margin-left: -50vw;
    /* background: #e5f0e7 url(/library/shm-keiei/festa/img/230112/navi/navi_places_bg.png) 50% 50px no-repeat; */
    /* background-size: 722px auto; */
  }

  .fes_navi_places > * {
    position: relative;
    letter-spacing: 0.05em;
    text-align: center;
  }

  .fes_navi_places_heading {
    font-weight: 700;
    font-size: 30px !important;
    letter-spacing: 0.08em;
  }

  .fes_navi_places_desc {
    margin-top: 35px;
    font-size: 16px;
    font-size: 1rem !important;
    line-height: 2;
  }

  .fes_navi_places_blockBtns {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 1.62069% auto 0 !important;
  }

  .fes_navi_places_blockBtns > li {
    width: 22.93103%;
  }

  .fes_navi_places_blockBtns > li:nth-of-type(n + 5) {
    margin-top: 2.58621%;
  }

  .fes_navi_places_blockBtns > li button {
    font-size: 16px;
    font-size: 1rem !important;
  }

  .fes_navi_places_blocks {
    position: relative;
    margin-top: 3.62069%;
  }

  .fes_navi_places_block {
    display: flex;
    justify-content: space-between;
  }

  .fes_navi_places_block > dt {
    font-weight: 700;
    font-size: 26px;
    font-size: 1.625rem !important;
    letter-spacing: 0.05em;
  }

  .fes_navi_places_block > dd {
    width: 79.74138%;
  }

  .fes_navi_places_prefBtns {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    position: relative;
  }

  .fes_navi_places_prefBtns > li {
    width: 23.78378%;
  }

  .fes_navi_places_prefBtns > li:nth-of-type(n + 5) {
    margin-top: 3.24324%;
  }

  .fes_navi_places_prefBtns > li a {
    font-size: 16px;
    font-size: 1rem !important;
  }

  .fes_navi_places_prefBtns._pc_blank1::after {
    content: '';
    display: block;
    position: relative;
    width: 23.78378%;
    height: 1em;
  }

  .fes_navi_places_prefBtns._pc_blank2::after {
    content: '';
    display: block;
    position: relative;
    width: 49.08108%;
    height: 1em;
  }

  .fes_navi_places_backBtn {
    position: absolute;
    left: 0;
    top: 0;
    width: 10.34483%;
    margin-top: 5.60345%;
  }

  .fes_navi_places_backBtn button {
    padding: 0.8em 0;
    font-size: 16px;
    font-size: 1rem !important;
    text-indent: 0.3em;
  }

  .fes_navi_places_backBtn button::before {
    opacity: 0.5;
  }

  .fes_navi_places_backBtn button .arw {
    left: 0;
    right: auto;
    margin-right: 0;
    margin-left: 15px;
    transform: rotate(180deg);
  }

  .fes_navi_places_backBtn button:hover .arw {
    transform: rotate(180deg) translateX(5px);
  }

  .fes_navi_places_mmagBtn {
    display: inline-block;
    position: relative;
    left: 50%;
    bottom: 0;
    /* margin-bottom: 4.31034%; */
    margin-top: 85px;
    /* margin-bottom: 60px; */
    margin-bottom: 0px;
    transform: translateX(-50%);
  }

  .fes_navi_places_mmagBtn a {
    font-size: 16px;
    font-size: 1rem !important;
    color: #242424;
    text-decoration: underline;
    padding-right: 10px;
  }

  .fes_navi_places_mmagBtn a .arw {
    margin-right: -15px;
  }

  .fes_navi_places_mmagBtn a:hover .arw {
    transform: translateX(4px);
  }
}

@media all and (min-width: 768px) {
  .fes_m_navi {
    /* margin-top: 70px; */
  }

  .fes_m_navi > .fes_secInner {
    padding-top: 0px;
  }
}

@media all and (max-width: 767px) {
  .fes_m_navi {
    position: relative;
    margin-top: 0;
    /* background-color: #e5f0e7; */
  }

  .fes_navi_contents {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: fixed;
    left: 0;
    bottom: 0;
    z-index: 100;
    width: 100%;
    transition: all 0.3s;
    transform: translateY(101%);
  }

  .fes_navi_contents::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: #3b3b41;
  }

  .fes_navi_contents.-hide {
    transform: translateY(101%);
  }

  .fes_navi_contents_btns {
    display: flex;
    justify-content: flex-start;
    align-items: flex-end;
    position: relative;
    width: 76.53333%;
  }

  .fes_navi_contents_btns > li {
    width: 33%;
  }

  .fes_navi_contents_btns > li a {
    position: relative;
    display: block;
    padding: 1.2em 0 2em;
    font-weight: 700;
    font-size: 12px;
    font-size: 3.2vw !important;
    letter-spacing: 0.05em;
    line-height: 1.58333;
    color: #fff;
    text-align: center;
  }

  .fes_navi_contents_btns > li a .arw {
    left: 50%;
    right: auto;
    top: auto;
    bottom: 0;
    margin: 0 0 1.2em -4px;
    transform: rotate(90deg);
  }

  .fes_navi_contents_btns > li:nth-of-type(1) a {
    padding: 1.1em 0 2em;
    line-height: 1.16667;
  }

  .fes_navi_contents_reserveBtn {
    position: absolute;
    right: 0;
    top: 0;
    /* width: 33.46667%; */
    width: 23.46667%;
    height: 100%;
  }

  .fes_navi_contents_reserveBtn a {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding: 1.1em 0 2em;
    font-size: 12px;
    font-size: 3.2vw !important;
    line-height: 1.16667;
  }

  .fes_navi_contents_reserveBtn a .arw {
    left: 50%;
    right: auto;
    top: auto;
    bottom: 0;
    margin: 0 0 1.25em -4px;
  }

  .fes_navi_places {
    position: relative;
    padding: 40px 0;
    margin-top: 0;
  }

  .fes_navi_places::before {
    content: '';
    position: absolute;
    left: 50%;
    top: 0;
    width: 100vw;
    height: 100%;
    margin-left: -50vw;
    /* background: #e5f0e7 url(/library/shm-keiei/festa/img/230112/navi/navi_places_bg.png) 50% 50px no-repeat; */
    background-size: 100% auto;
  }

  .fes_navi_places > * {
    position: relative;
    letter-spacing: 0.05em;
    text-align: center;
  }

  .fes_navi_places_heading {
    font-weight: 700;
    font-size: 4vw !important;
    line-height: 2;
  }

  .fes_navi_places_desc {
    margin-top: 4%;
    font-size: 15px;
    font-size: 3.2vw !important;
    line-height: 2;
    text-align: left;
    font-weight: normal;
    text-align: center;
  }

  .fes_navi_places_desc.-collapase {
    height: 4em;
  }

  .fes_navi_places_desc.-collapase::before {
    bottom: 0;
    margin-bottom: 0.25em;
  }

  .fes_navi_places_desc.-collapase::after {
    top: auto;
    bottom: 0;
    background: #f4f4f4;
    background: linear-gradient(90deg, rgba(244, 244, 244, 0) 0%, #f4f4f4 30%, #f4f4f4 100%);
  }

  .fes_navi_places_blockBtns {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: 6.71642% !important;
  }

  .fes_navi_places_blockBtns > li {
    width: 47.01493%;
  }

  .fes_navi_places_blockBtns > li:nth-of-type(n + 3) {
    margin-top: 10px;
  }

  .fes_navi_places_blockBtns > li button {
    font-size: 11px;
    font-size: 2.93vw !important;
  }

  .fes_navi_places_blocks {
    position: relative;
    margin-top: 6.71642%;
  }

  .fes_navi_places_block > dt {
    font-weight: 700;
    font-size: 18px;
    font-size: 4.8vw !important;
    letter-spacing: 0.05em;
  }

  .fes_navi_places_block > dd {
    margin-top: 9.70149%;
  }

  .fes_navi_places_prefBtns {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    position: relative;
  }

  .fes_navi_places_prefBtns > li {
    width: 31.34328%;
  }

  .fes_navi_places_prefBtns > li:nth-of-type(n + 4) {
    margin-top: 5.97015%;
  }

  .fes_navi_places_prefBtns > li a {
    font-size: 15px;
    font-size: 2.93vw !important;
  }

  .fes_navi_places_prefBtns > li a .arw {
    margin-right: 8px;
  }

  .fes_navi_places_prefBtns._sp_blank1::after {
    content: '';
    display: block;
    position: relative;
    width: 31.34328%;
    height: 1em;
  }

  .fes_navi_places_backBtn {
    position: absolute;
    right: 0;
    top: 0;
    width: 23.8806%;
    margin-top: -2.98507%;
  }

  .fes_navi_places_backBtn button {
    padding: 0.7em 0;
    font-weight: 400;
    font-size: 15px;
    font-size: 2.93vw !important;
    text-indent: 0.5em;
  }

  .fes_navi_places_backBtn button::before {
    opacity: 0.5;
  }

  .fes_navi_places_backBtn button .arw {
    left: 0;
    right: auto;
    margin-right: 0;
    margin-left: 10px;
    transform: rotate(180deg);
  }

  .fes_navi_places_mmagBtn {
    display: inline-block;
    position: relative;
    left: 50%;
    margin-top: 25px;
    transform: translateX(-50%);
  }

  .fes_navi_places_mmagBtn a {
    font-size: 16px;
    font-size: 2.67vw !important;
    color: #242424;
    text-decoration: underline;
  }

  .fes_navi_places_mmagBtn a .arw {
    margin-right: -1em;
    margin-top: 0.15em;
  }
}

@media all and (min-width: 768px) {
  .fes_m_example {
    position: relative;
    margin-top: 0;
    /* height: 570px; */
    /* background-color: #e5f0e7; */
  }

  .fes_m_example .fes_secInner {
    /* margin-top: 4.39655%; */
    width: 100%;
    max-width: 100%;
  }
  .fes_example_places {
    margin: 40px 0 90px;
    width: 100%;
    overflow: hidden;
    position: relative;
    /* height: 200px; */
  }
  .fes_example_places_body {
    width: 1366px;
    top: 0;
    transform: translate(-50%, 0%);
    position: absolute;
    left: 50%;
  }
  .fes_example_places_heading {
    font-size: 20px;
    letter-spacing: 0.22em;
    line-height: 2;
    text-align: center;
  }
  .fes_example_heading {
    text-align: center;
    margin: 0 auto 40px !important;
    align-items: center;
    display: flex;
    width: 1160px;
    font-size: 30px;
    letter-spacing: 0.06em;
    font-weight: bold;
    color: #3d8abe;
  }

  .fes_example_heading::before,
  .fes_example_heading::after {
    background-color: #3d8abe;
    content: '';
    flex-grow: 1;
    height: 2px;
  }
  .fes_example_heading::before {
    margin-right: 40px;
  }

  .fes_example_heading::after {
    margin-left: 40px;
  }
}
@media (max-width: 767px) {
  .fes_m_example {
    position: relative;
    margin-top: 0;
    /* height: 570px; */
    /* background-color: #e5f0e7; */
  }

  .fes_m_example .fes_secInner {
    /* margin-top: 4.39655%; */
    width: 100%;
  }
  .fes_example_places {
    margin: 0px 0 40px;
  }
  .fes_example_places_heading {
    font-size: 14px;
    letter-spacing: 0.22em;
    line-height: 1.6;
    display: block;
    text-align: center;
    margin: 0 auto !important;
    width: 92%;
  }
  .fes_example_heading {
    text-align: center;
    margin: 0 auto 20px !important;
    align-items: center; /* 横線を上下中央 */
    display: flex; /* 文字と横線を横並び */
    color: #3d8abe;
    font-weight: bold;
    font-size: 15px;
    letter-spacing: 0.08em;
    width: 90%;
    margin: 9px auto;
  }
  .fes_example_heading_image {
    width: 58%;
  }

  .fes_example_heading::before,
  .fes_example_heading::after {
    background-color: #3d8abe; /* 横線の色 */
    content: '';
    flex-grow: 1; /* 横幅いっぱい */
    height: 1px; /* 横線の高さ */
  }
  .fes_example_heading::before {
    margin-right: 10px; /* 文字との余白 */
  }
  .fes_example_heading::after {
    margin-left: 10px; /* 文字との余白 */
  }
}
/* Swiper */
[class*='swiper']:focus {
  outline: none;
}

.swiper {
  position: relative;
}

.main-swiper {
  position: relative;
}

.modal__content .swiper-button-prev {
  left: -20px;
  transform: translateX(-50%);
}

.modal__content .swiper-button-next {
  right: 20px;
  transform: translateX(50%);
}
.swiper-buttons {
  margin: -20px auto 0;
  width: 341px;
  position: relative;
}
.modal .swiper-buttons {
  margin: 0 auto 0;
  width: 900px;
  position: absolute;
  top: 287px;
}
.swiper-button-prev::after,
.swiper-button-next::after {
  width: 14px;
  height: 24px;
  content: '';
  background-repeat: no-repeat;
  background-size: contain;
}
.swiper-button-prev::after {
  margin-left: -60px;
}
.swiper-button-next::after {
  margin-right: -60px;
}
.swiper-button-prev::after {
  background-image: url(/library/shm-keiei/festa/img/230710/slider/back_arrow_01.png);
}
.swiper-button-next::after {
  background-image: url(/library/shm-keiei/festa/img/230710/slider/next_arrow_01.png);
}

.swiper-slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
/* ページネーションの余白 */
.swiper-pagination {
  display: flex;
  justify-content: center;
  margin-top: 0;
  bottom: 15px !important;
}
.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 10px 0px;
}
/* ページネーションのサイズと色 */

.swiper-pagination-bullet {
  /* border: 2px solid #fff; */
  background-color: #cacaca;
  opacity: 1;
  height: 12px;
  width: 12px;
  display: block;
  border-radius: 50%;
}
.swiper-pagination-bullet-active {
  background: #000;
}
/* モーダル */
.modal {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;

  height: 100vh;
  height: 100dvh;

  /* padding: 30px; */
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.3s;
  pointer-events: none;
  opacity: 0;
  z-index: 100;
  background-color: rgba(0, 0, 0, 0.8);
  background-size: cover;
}

/* モーダルがactiveの時 */
.modal.is-active {
  opacity: 1;
  pointer-events: auto;
}

/* モーダル背景のオーバーレイ部分 */
.modal__overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  cursor: pointer;
}

/* モーダルのコンテンツ */
.modal__content {
  position: relative;
  /*       background-color: #fff; */
  width: 100%;
  max-width: 900px;
  padding: 20px;
}

.modal .swiper {
  overflow: hidden;

  width: 800px !important;
  height: 535px;
  position: relative;
  left: 0;
  transform: translate(0, 0%);
}

.modal .swiper-slide {
  flex-shrink: 0;
  position: relative;
  width: 800px !important;
  height: 535px;
}
.modal .swiper-pagination {
  display: none;
}

.modal .swiper-button-prev::after,
.modal .swiper-button-next::after {
  width: 26px;
  height: 45px;
  content: '';
  background-repeat: no-repeat;
  background-size: contain;
}

/* モーダルを閉じるボタン */
.modal__close-btn {
  position: absolute;
  right: 50px;
  top: -30px;
  width: 31px !important;
  height: 31px;
  background-size: contain;
  /*       background: #fff;
      border: 1px solid #ccc; */
  cursor: pointer;
  z-index: 10;
  background-image: url(/library/shm-keiei/festa/img/230710/modal/close_button_01.png);
}

.modal .swiper-button-prev::after {
  background-image: url(/library/shm-keiei/festa/img/230710/modal/back_arrow_02.png);
}
.modal .swiper-button-next::after {
  background-image: url(/library/shm-keiei/festa/img/230710/modal/next_arrow_02.png);
}

@media only screen and (max-width: 767px) {
  .swiper {
    position: relative;
    overflow: visible;
  }
  .swiper-button-prev,
  .swiper-button-next {
    width: 7px;
    height: 12px;
  }

  .swiper-button-prev {
    left: 10px;
  }

  .swiper-button-next {
    right: 10px;
  }
  .modal__content .swiper-button-prev {
    left: 0px;
    transform: translateX(60%);
    bottom: -90%;
  }
  .modal__content .swiper-button-next {
    right: 0;
    transform: translateX(-60%);
    bottom: -90%;
  }

  .swiper-buttons {
    margin: 0 auto 0;
    width: 173px;
    position: relative;
    bottom: -42px;
  }
  .swiper-button-prev::after,
  .swiper-button-next::after {
    width: 7px;
    height: 12px;
    content: '';
    background-repeat: no-repeat;
    background-size: contain;
  }
  /* ページネーションの余白 */
  .swiper-pagination {
    display: flex;
    justify-content: center;
    margin-top: 0;
    bottom: -28px !important;
  }
  .swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
  .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 5px 0px;
  }
  /* ページネーションのサイズと色 */

  .swiper-pagination-bullet {
    /* border: 2px solid #fff; */
    background-color: #cacaca;
    opacity: 1;
    height: 6px;
    width: 6px;
    display: block;
    border-radius: 50%;
  }
  .swiper-pagination-bullet-active {
    background: #000;
  }
  /* モーダル */
  .modal {
    padding: 10px;
  }

  /* モーダルのコンテンツ */
  .modal__content {
    position: relative;
    /*       background-color: #fff; */
    width: 100%;
    /* max-width: 900px; */
    /* padding: 20px; */
    padding: 0;
  }

  .modal .swiper {
    overflow: hidden;
    width: 100% !important;
    height: auto;
  }

  .modal .swiper-slide {
    flex-shrink: 0;
    position: relative;
    width: 100% !important;
    height: auto;
  }
  .modal .swiper-pagination {
    display: flex;
  }

  .modal .swiper-button-prev,
  .modal .swiper-button-next {
    width: 13px;
    height: 22px;
  }

  .modal .swiper-buttons {
    margin: 0 auto 0;
    width: 284px;
    position: relative;
    bottom: 44px;
    top: 44px;
  }

  .modal .swiper-button-prev::after,
  .modal .swiper-button-next::after {
    width: 26px;
    height: 45px;
    content: '';
    background-repeat: no-repeat;
    background-size: contain;
  }

  /* モーダルを閉じるボタン */
  .modal__close-btn {
    position: absolute;
    right: 8px;
    top: -23px;
    width: 15px !important;
    height: 15px;
    background-size: contain;
    cursor: pointer;
    z-index: 10;
    background-image: url(/library/shm-keiei/festa/img/230710/modal/close_button_01.png);
  }

  /* ページネーションのサイズと色 */
  .modal .swiper-pagination {
    bottom: -27px !important;
  }
  .modal .swiper-pagination-bullet {
    /* border: 2px solid #fff; */
    background-color: #666;
    opacity: 1;
    height: 10px;
    width: 10px;
    display: block;
    border-radius: 50%;
  }
  .modal .swiper-pagination-bullet-active {
    background: #fff;
  }
  .modal .swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
  .modal .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 7px 0px;
  }
}

@media all and (min-width: 768px) {
  .fes_m_valueup {
    position: relative;
    padding-bottom: 0;
  }

  .fes_m_valueup > .fes_secInner {
    /* padding-top: 5.85938%; */
    padding-top: 0;
  }

  .fes_m_valueup .fes_secContents {
    /* margin-top: 4.39655%; */
    margin-top: 70px;
  }

  .fes_vlup_h_heading {
    width: 56.2931%;
    margin: 0 auto !important;
  }

  .fes_vlup_h_desc {
    margin-top: 4.39655%;
    font-size: 18px;
    font-size: 1.125rem !important;
    line-height: 2;
    letter-spacing: 0.05em;
    text-align: center;
  }

  .fes_vlup_h_desc p:nth-of-type(n + 2) {
    margin-top: 1.46552%;
  }

  .fes_vlup_topic {
    position: relative;
  }

  .fes_vlup_topic:nth-of-type(n + 2) {
    margin-top: 9.48276%;
  }

  .fes_vlup_topic:nth-of-type(2) .fes_vlup_topic_pic {
    margin-left: -9.05172%;
  }

  .fes_vlup_topic:nth-of-type(2) .fes_vlup_topic_blc {
    position: absolute;
    left: auto;
    right: 0;
  }

  .fes_vlup_topic:nth-of-type(2) .fes_vlup_topic_blc::before {
    left: 0;
    right: auto;
    margin: 0 0 0 -8.92857%;
  }

  .fes_vlup_topic:nth-of-type(3) .fes_vlup_topic_blc {
    padding-bottom: 4.48276%;
  }

  .fes_vlup_topic_main {
    position: relative;
  }

  .fes_vlup_topic_pic {
    position: relative;
    width: 86.63793%;
    margin-left: 22.41379%;
  }

  .fes_vlup_topic_blc {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 28.96552%;
    padding: 4.61207% 0 4.48276%;
  }

  .fes_vlup_topic_blc > * {
    position: relative;
  }

  .fes_vlup_topic_blc::before {
    content: '';
    position: absolute;
    right: 0;
    bottom: 0;
    width: 31.54762%;
    height: 100%;
    margin-right: -8.92857%;
    background: rgba(255, 255, 255, 0.9);
  }

  .fes_vlup_topic_heading {
    font-weight: 700;
    font-size: 26px;
    font-size: 1.625rem !important;
    line-height: 1.5;
    letter-spacing: 0.05em;
  }

  .fes_vlup_topic_subhead {
    margin-top: 6.99405%;
    font-weight: 700;
    font-size: 18px;
    font-size: 1.125rem !important;
    letter-spacing: 0.05em;
  }

  .fes_vlup_topic_desc {
    margin-top: 12.5%;
    font-size: 16px;
    font-size: 1rem !important;
    line-height: 2;
    letter-spacing: 0.05em;
    text-align: justify;
  }

  .fes_vlup_topic_desc p:nth-of-type(n + 2) {
    margin-top: 1.2em;
  }

  .fes_vlup_topic_placeBtn {
    position: relative;
    width: 48.62069%;
    margin: -2.58621% auto 0;
  }

  .fes_vlup_topic_placeBtn a {
    font-size: 16px;
    font-size: 1rem !important;
  }

  .fes_vlup_closing {
    /* margin-top: 6.98276%; */
    margin-top: 0;
  }

  .fes_vlup_closing_desc {
    font-size: 18px;
    font-size: 1.125rem !important;
    line-height: 2;
    letter-spacing: 0.05em;
    text-align: center;
  }

  .fes_vlup_closing_placesBtn {
    width: 31.55172%;
    margin: 2.67241% auto 0;
  }
}

@media all and (min-width: 1280px) {
  .fes_m_valueup > .fes_secInner {
    padding-top: 0px;
  }
}

@media all and (max-width: 767px) {
  .fes_m_valueup {
    position: relative;
    padding-bottom: 0%;
  }

  .fes_m_valueup > .fes_secInner {
    padding-top: 0%;
  }

  .fes_m_valueup .fes_secContents {
    margin-top: 0;
  }

  .fes_vlup_h_heading {
    width: 70.01%;
    margin: 0 auto !important;
  }

  .fes_vlup_h_heading img {
    image-rendering: auto;
  }

  .fes_vlup_h_desc {
    margin-top: 15.67164%;
    font-size: 15px;
    font-size: 4vw !important;
    line-height: 2;
    letter-spacing: 0.05em;
    text-align: center;
  }

  .fes_vlup_topic {
    position: relative;
  }

  .fes_vlup_topic:nth-of-type(n + 2) {
    margin-top: 17.91045%;
  }

  .fes_vlup_topic_pic {
    position: relative;
    width: 111.9403%;
    margin-left: -5.97015%;
  }

  .fes_vlup_topic_pic img {
    position: relative;
  }

  .fes_vlup_topic_blc {
    position: relative;
    margin-top: 7.46269%;
  }

  .fes_vlup_topic_blc > * {
    position: relative;
  }

  .fes_vlup_topic_heading {
    font-weight: 700;
    font-size: 18px;
    font-size: 4.8vw !important;
    letter-spacing: 0.05em;
  }

  .fes_vlup_topic_subhead {
    margin-top: 4.47761%;
    font-weight: 700;
    font-size: 15px;
    font-size: 4vw !important;
    letter-spacing: 0.05em;
  }

  .fes_vlup_topic_desc {
    position: relative;
    margin-top: 6.71642%;
    font-size: 15px;
    font-size: 4vw !important;
    line-height: 2;
    letter-spacing: 0.05em;
    transition: all 0.3s;
  }

  .fes_vlup_topic_desc p {
    transition: all 0.3s;
  }

  .fes_vlup_topic_desc p:nth-of-type(n + 2) {
    margin-top: 1.2em;
  }

  .fes_vlup_topic_placeBtn {
    width: 100%;
    margin-top: 6.71642%;
  }

  .fes_vlup_topic_placeBtn a {
    padding: 1em;
    font-size: 15px;
    font-size: 4vw !important;
    line-height: 1.6;
  }

  .fes_vlup_closing {
    margin-top: 25px;
  }

  .fes_vlup_closing_desc {
    font-size: 15px;
    font-size: 4vw !important;
    line-height: 2;
    letter-spacing: 0.05em;
    text-align: center;
  }

  .fes_vlup_closing_placesBtn {
    margin: 6.71642% auto 0;
  }
}

.fes_vlup_topic_places_block_sites > li {
  transition: all 0.3s;
}

.fes_vlup_topic_places_block_sites > li.-hide {
  display: none;
}

.fes_vlup_topic_places_block_sites > li.-invisible {
  opacity: 0;
  pointer-events: none;
}

.fes_vlup_topic_places_block_site_pic {
  position: relative;
  height: 0;
  overflow: hidden;
}

.fes_vlup_topic_places_block_site_pic img {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 100%;
  transform: translate(-50%, -50%);
}

.fes_vlup_topic_places_block_moreBtn {
  position: relative;
}

.fes_vlup_topic_places_block_moreBtn button {
  display: block;
  position: relative;
  padding: 1.5em 0;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
}

.fes_vlup_topic_places_block_moreBtn button::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  border-top: #ccc solid 1px;
  border-bottom: #ccc solid 1px;
}

.fes_vlup_topic_places_block_moreBtn button i {
  position: relative;
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-left: 0.8em;
  background: #3b3b41;
  vertical-align: -0.1em;
}

.fes_vlup_topic_places_block_moreBtn button i::before,
.fes_vlup_topic_places_block_moreBtn button i::after {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  width: 50%;
  height: 1px;
  margin-left: 25%;
  background: #fff;
}

.fes_vlup_topic_places_block_moreBtn button i::after {
  transform: rotate(90deg);
}

.fes_vlup_topic_places_block_moreBtn.-hide {
  display: none;
}

@media all and (min-width: 768px) {
  .fes_vlup_topic_places {
    width: 79.74138%;
    margin: 3.44828% auto 0;
  }

  .fes_vlup_topic_places_heading {
    font-weight: 700;
    font-size: 18px;
    font-size: 1.125rem !important;
    letter-spacing: 0.05em;
    text-align: center;
  }

  .fes_vlup_topic_places_blockBtns {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 4.32432% auto 0 !important;
  }

  .fes_vlup_topic_places_blockBtns > li {
    width: 23.78378%;
  }

  .fes_vlup_topic_places_blockBtns > li:nth-of-type(n + 5) {
    margin-top: 3.24324%;
  }

  .fes_vlup_topic_places_blockBtns::after {
    content: '';
    display: block;
    position: relative;
    width: 23.78378%;
  }

  .fes_vlup_topic_places_block {
    margin-top: 4.32432%;
  }

  .fes_vlup_topic_places_block_title {
    font-weight: 700;
    font-size: 18px;
    font-size: 1.125rem !important;
    letter-spacing: 0.05em;
    text-align: center;
  }

  .fes_vlup_topic_places_block_sites {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    margin: 3.24324% auto 0 !important;
  }

  .fes_vlup_topic_places_block_sites > li {
    position: relative;
    width: 32.21622%;
    background: #f4f4f4;
  }

  .fes_vlup_topic_places_block_sites > li:nth-of-type(n + 4) {
    margin-top: 3.24324%;
  }

  .fes_vlup_topic_places_block_sites > li:nth-of-type(3n),
  .fes_vlup_topic_places_block_sites > li:nth-of-type(3n + 2) {
    margin-left: 1.62162%;
  }

  .fes_vlup_topic_places_block_site_pic {
    padding-top: 67.11409%;
  }

  .fes_vlup_topic_places_block_site_txts {
    width: 86.57718%;
    padding: 5.36913% 0 29.02685% !important;
    margin: 0 auto !important;
  }

  .fes_vlup_topic_places_block_site_txts > dt {
    height: 3em;
    font-weight: 700;
    font-size: 16px;
    font-size: 1rem !important;
    line-height: 1.5;
    letter-spacing: 0.05em;
  }

  .fes_vlup_topic_places_block_site_txts > dd {
    font-size: 12px;
    font-size: 0.75rem !important;
    line-height: 1.58333;
    letter-spacing: 0.05em;
  }

  .fes_vlup_topic_places_block_site_txts > dd:nth-of-type(1) {
    margin-top: 4.84496%;
  }

  .fes_vlup_topic_places_block_site_reserveBtn {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
  }

  .fes_vlup_topic_places_block_moreBtn {
    margin-top: 3.24324%;
  }

  .fes_vlup_topic_places_block_moreBtn button {
    font-size: 16px;
    font-size: 1rem !important;
  }
}

@media all and (max-width: 767px) {
  .fes_vlup_topic_places {
    margin-top: 8.95522%;
  }

  .fes_vlup_topic_places_heading {
    font-weight: 700;
    font-size: 15px;
    font-size: 4vw !important;
    letter-spacing: 0.05em;
    text-align: center;
  }

  .fes_vlup_topic_places_blockBtns {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: 5.97015% !important;
  }

  .fes_vlup_topic_places_blockBtns > li {
    width: 47.01493%;
  }

  .fes_vlup_topic_places_blockBtns > li:nth-of-type(n + 3) {
    margin-top: 5.97015%;
  }

  .fes_vlup_topic_places_block {
    margin-top: 8.95522%;
  }

  .fes_vlup_topic_places_block_title {
    font-weight: 700;
    font-size: 15px;
    font-size: 4vw !important;
    letter-spacing: 0.05em;
    text-align: center;
  }

  .fes_vlup_topic_places_block_sites {
    margin-top: 5.97015% !important;
  }

  .fes_vlup_topic_places_block_sites > li {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    position: relative;
    background: #f4f4f4;
  }

  .fes_vlup_topic_places_block_sites > li:nth-of-type(n + 2) {
    margin-top: 5.97015%;
  }

  .fes_vlup_topic_places_block_site_pic {
    width: 29.85075%;
    padding-top: 20.89552%;
  }

  .fes_vlup_topic_places_block_site_txts {
    width: 59.70149%;
    padding: 3.43284% 0 3.43284% !important;
    margin-right: 4.47761% !important;
  }

  .fes_vlup_topic_places_block_site_txts > dt {
    font-weight: 700;
    font-size: 15px;
    font-size: 4vw !important;
    line-height: 1.46667;
    letter-spacing: 0.05em;
  }

  .fes_vlup_topic_places_block_site_txts > dd {
    font-size: 12px;
    font-size: 3.2vw !important;
    line-height: 1.58333;
    letter-spacing: 0.05em;
  }

  .fes_vlup_topic_places_block_site_txts > dd:nth-of-type(1) {
    margin-top: 2.75%;
  }

  .fes_vlup_topic_places_block_site_reserveBtn {
    position: relative;
    width: 100%;
  }

  .fes_vlup_topic_places_block_moreBtn {
    margin-top: 5.97015%;
  }

  .fes_vlup_topic_places_block_moreBtn button {
    font-size: 15px;
    font-size: 4vw !important;
  }
}

@media all and (min-width: 768px) {
  .fes_m_premier {
    position: relative;
    margin-top: 7.8125%;
  }

  .fes_m_premier > .fes_secInner {
    padding: 5.85938% 0;
  }

  .fes_m_premier > .fes_secInner::before {
    content: '';
    position: absolute;
    left: 50%;
    top: 0;
    width: 100vw;
    height: 100%;
    margin-left: -50vw;
    background: url(../img/220805/feature/feature_bg_pc.jpg) 50% 50% no-repeat;
    background-size: 100% 100%;
  }

  .fes_m_premier .fes_secContents {
    margin-top: 3.44828%;
  }

  .fes_prem_h_heading {
    position: relative;
    width: 40.08621%;
    margin: 0 auto !important;
  }

  .fes_prem_main {
    position: relative;
    color: #fff;
  }

  .fes_prem_main_desc_t1 {
    font-weight: 700;
    font-size: 18px;
    font-size: 1.125rem !important;
    letter-spacing: 0.05em;
    text-align: center;
  }

  .fes_prem_main_desc_t2 {
    margin-top: 2.75862%;
    font-size: 16px;
    font-size: 1rem !important;
    line-height: 2;
    letter-spacing: 0.05em;
    text-align: center;
  }

  .fes_prem_main_premierBtn {
    width: 31.55172%;
    margin: 2.75862% auto 0;
  }
}

@media all and (min-width: 1280px) {
  .fes_m_premier {
    margin-top: 100px;
  }

  .fes_m_premier > .fes_secInner {
    padding-top: 75px;
  }
}

@media all and (max-width: 767px) {
  .fes_m_premier {
    position: relative;
    margin-top: 20%;
  }

  .fes_m_premier > .fes_secInner {
    padding: 16% 0 20%;
  }

  .fes_m_premier > .fes_secInner::before {
    content: '';
    position: absolute;
    left: 50%;
    top: 0;
    width: 100vw;
    height: 100%;
    margin-left: -50vw;
    background: url(../img/220805/feature/feature_bg.jpg) 50% 50% no-repeat;
    background-size: 100% 100%;
  }

  .fes_m_premier .fes_secContents {
    margin-top: 8.95522%;
  }

  .fes_prem_h_heading {
    position: relative;
    width: 82.08955%;
    margin: 0 auto !important;
  }

  .fes_prem_main {
    position: relative;
    color: #fff;
  }

  .fes_prem_main_desc_t1 {
    font-weight: 700;
    font-size: 15px;
    font-size: 4vw !important;
    letter-spacing: 0.05em;
    text-align: center;
  }

  .fes_prem_main_desc_t2 {
    margin-top: 6.71642%;
    font-size: 15px;
    font-size: 4vw !important;
    line-height: 2;
    letter-spacing: 0.05em;
    text-align: center;
  }

  .fes_prem_main_premierBtn {
    margin: 6.71642% auto 0;
  }
}

@media all and (min-width: 768px) {
  .fes_m_mmag {
    position: relative;
    width: 800px;
    margin: 40px auto 100px;
    border: 1px solid #000;
  }

  .fes_m_mmag > .fes_secInner {
    padding: 30px 0;
  }

  .fes_mmag_summary {
    display: flex;
    justify-content: center;
  }

  .fes_mmag_summary_emailIco {
    width: 120px;
  }

  .fes_mmag_summary_blc {
    margin-left: 1.5em;
  }

  .fes_mmag_summary_heading {
    font-weight: 700;
    font-size: 22px;
    font-size: 1.375rem !important;
    letter-spacing: 0.05em;
  }

  .fes_mmag_summary_points {
    margin-top: 1.2em !important;
  }

  .fes_mmag_summary_points > li {
    margin-left: 1.5em;
    list-style-type: disc;
    font-size: 16px;
    font-size: 1rem !important;
    line-height: 2;
    letter-spacing: 0.05em;
    white-space: nowrap;
  }

  .fes_mmag_registrationBtn {
    width: 365px;
    margin: 1.81034% auto 0;
  }
}

@media all and (min-width: 1280px) {
  .fes_m_mmag > .fes_secInner {
    /* padding: 75px 0; */
  }
}

@media all and (max-width: 767px) {
  .fes_m_mmag {
    position: relative;
  }

  .fes_m_mmag > .fes_secInner {
    margin: 15% auto;
    border: 1px solid #000;
  }
  .fes_m_mmag .fes_secInner .fes_secContents {
    padding: 6.71642% 10px;
  }
  .fes_mmag_summary {
    display: block;
  }

  .fes_mmag_summary_emailIco {
    width: 18.20896%;
    margin: 0 auto;
  }

  .fes_mmag_summary_blc {
    margin-top: 8.20896%;
  }

  .fes_mmag_summary_heading {
    font-weight: 700;
    font-size: 18px;
    font-size: 4.8vw !important;
    letter-spacing: 0.05em;
    text-align: center;
  }

  .fes_mmag_summary_points {
    margin-top: 6.71642% !important;
  }

  .fes_mmag_summary_points > li {
    margin-left: 1.5em;
    list-style-type: disc;
    font-size: 15px;
    font-size: 4vw !important;
    line-height: 2;
    letter-spacing: 0.05em;
  }

  .fes_mmag_registrationBtn {
    margin: 6.71642% auto 0;
    width: 92%;
  }
}

@media all and (min-width: 768px) {
  .fes_m_banner {
    position: relative;
  }

  .fes_m_banner > .fes_secInner {
    padding: 5.85938% 0;
  }

  .fes_m_banner > .fes_secInner::before {
    content: '';
    position: absolute;
    left: 50%;
    top: 0;
    width: 100vw;
    height: 100%;
    margin-left: -50vw;
    background: #f4f4f4;
  }

  .fes_bnnr_casestudyBnr {
    position: relative;
    transition: all 0.2s;
  }

  .fes_bnnr_casestudyBnr:hover {
    opacity: 0.85;
  }
}

@media all and (min-width: 1280px) {
  .fes_m_banner > .fes_secInner {
    padding: 75px 0;
  }
}

@media all and (max-width: 767px) {
  .fes_m_banner {
    position: relative;
    background: #f4f4f4;
  }

  .fes_m_banner > .fes_secInner {
    padding: 20% 0;
  }

  .fes_bnnr_casestudyBnr {
    position: relative;
  }
}

.invisible {
  visibility: hidden;
  opacity: 0;
}

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

@media all and (min-width: 768px) {
  .fes_main._v220218 .fes_navi_contents_btns {
    justify-content: flex-start;
    /* padding-left: 120px; */
  }
}

.fes_main._v220218 .fes_vlup_topic_placeBtn {
  display: none;
}

.fes_main._v220218 .fes_navi_contents_btns > li:nth-of-type(3) {
  /* display: none; */
}

.fes_main._v220218 .fes_m_premier {
  display: none;
}

[class*='_ani_fadeIn'] {
  opacity: 0;
  transition: all 0.6s linear;
}

[class*='_ani_fadeIn'].-show {
  opacity: 1;
}

[class*='_ani_fadeUp'] {
  opacity: 0;
  transform: translateY(60px);
  transition: all 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
}

[class*='_ani_fadeUp']._ani_fadeUp_long {
  transform: translateY(120px);
}

[class*='_ani_fadeUp']._ani_fadeUp_toR {
  transform: translateX(-60px);
}

[class*='_ani_fadeUp']._ani_fadeUp_toL {
  transform: translateX(60px);
}

[class*='_ani_fadeUp'].-show {
  opacity: 1;
  transform: translate(0, 0);
}

[class*='_ani_frameUp'] {
  overflow: hidden;
}

[class*='_ani_frameUp'] > *,
[class*='_ani_frameUp'] > picture img {
  display: block;
  transform: translateY(101%);
  transition: all 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
}

[class*='_ani_frameUp'].-show > *,
[class*='_ani_frameUp'].-show > picture img {
  transform: translateY(0);
}

._ani_serialFadeIn > * {
  opacity: 0;
  transition: all 0.6s;
}

._ani_serialFadeIn > *:nth-child(1) {
  transition-delay: 0.12s;
}

._ani_serialFadeIn > *:nth-child(2) {
  transition-delay: 0.24s;
}

._ani_serialFadeIn > *:nth-child(3) {
  transition-delay: 0.36s;
}

._ani_serialFadeIn > *:nth-child(4) {
  transition-delay: 0.48s;
}

._ani_serialFadeIn > *:nth-child(5) {
  transition-delay: 0.6s;
}

._ani_serialFadeIn > *:nth-child(6) {
  transition-delay: 0.72s;
}

._ani_serialFadeIn > *:nth-child(7) {
  transition-delay: 0.84s;
}

._ani_serialFadeIn > *:nth-child(8) {
  transition-delay: 0.96s;
}

._ani_serialFadeIn > *:nth-child(9) {
  transition-delay: 1.08s;
}

._ani_serialFadeIn > *:nth-child(10) {
  transition-delay: 1.2s;
}

._ani_serialFadeIn > *:nth-child(11) {
  transition-delay: 1.32s;
}

._ani_serialFadeIn > *:nth-child(12) {
  transition-delay: 1.44s;
}

._ani_serialFadeIn > *:nth-child(13) {
  transition-delay: 1.56s;
}

._ani_serialFadeIn > *:nth-child(14) {
  transition-delay: 1.68s;
}

._ani_serialFadeIn > *:nth-child(15) {
  transition-delay: 1.8s;
}

._ani_serialFadeIn > *:nth-child(16) {
  transition-delay: 1.92s;
}

._ani_serialFadeIn > *:nth-child(17) {
  transition-delay: 2.04s;
}

._ani_serialFadeIn > *:nth-child(18) {
  transition-delay: 2.16s;
}

._ani_serialFadeIn > *:nth-child(19) {
  transition-delay: 2.28s;
}

._ani_serialFadeIn > *:nth-child(20) {
  transition-delay: 2.4s;
}

._ani_serialFadeIn.-show > * {
  opacity: 1;
}

[class*='_ani_serialFadeUp'] > * {
  opacity: 0;
  transform: translateY(80px);
  transition: all 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
}

[class*='_ani_serialFadeUp']._ani_serialFadeUp_toR > * {
  transform: translateX(-80px);
}

[class*='_ani_serialFadeUp']._ani_serialFadeUp_toL > * {
  transform: translateX(80px);
}

[class*='_ani_serialFadeUp'].-show > * {
  opacity: 1;
  transform: translate(0, 0);
}

[class*='_ani_serialFadeUp'].-show > *:nth-child(1) {
  transition-delay: 0.12s;
}

[class*='_ani_serialFadeUp'].-show > *:nth-child(2) {
  transition-delay: 0.24s;
}

[class*='_ani_serialFadeUp'].-show > *:nth-child(3) {
  transition-delay: 0.36s;
}

[class*='_ani_serialFadeUp'].-show > *:nth-child(4) {
  transition-delay: 0.48s;
}

[class*='_ani_serialFadeUp'].-show > *:nth-child(5) {
  transition-delay: 0.6s;
}

[class*='_ani_serialFadeUp'].-show > *:nth-child(6) {
  transition-delay: 0.72s;
}

[class*='_ani_serialFadeUp'].-show > *:nth-child(7) {
  transition-delay: 0.84s;
}

[class*='_ani_serialFadeUp'].-show > *:nth-child(8) {
  transition-delay: 0.96s;
}

[class*='_ani_serialFadeUp'].-show > *:nth-child(9) {
  transition-delay: 1.08s;
}

[class*='_ani_serialFadeUp'].-show > *:nth-child(10) {
  transition-delay: 1.2s;
}

[class*='_ani_serialFadeUp'].-show > *:nth-child(11) {
  transition-delay: 1.32s;
}

[class*='_ani_serialFadeUp'].-show > *:nth-child(12) {
  transition-delay: 1.44s;
}

[class*='_ani_serialFadeUp'].-show > *:nth-child(13) {
  transition-delay: 1.56s;
}

[class*='_ani_serialFadeUp'].-show > *:nth-child(14) {
  transition-delay: 1.68s;
}

[class*='_ani_serialFadeUp'].-show > *:nth-child(15) {
  transition-delay: 1.8s;
}

[class*='_ani_serialFadeUp'].-show > *:nth-child(16) {
  transition-delay: 1.92s;
}

[class*='_ani_serialFadeUp'].-show > *:nth-child(17) {
  transition-delay: 2.04s;
}

[class*='_ani_serialFadeUp'].-show > *:nth-child(18) {
  transition-delay: 2.16s;
}

[class*='_ani_serialFadeUp'].-show > *:nth-child(19) {
  transition-delay: 2.28s;
}

[class*='_ani_serialFadeUp'].-show > *:nth-child(20) {
  transition-delay: 2.4s;
}

@-webkit-keyframes rumble {
  0% {
    transform: rotate(0deg) translate(0, 0);
  }

  12.5% {
    transform: rotate(0deg) translate(4px, -4px);
  }

  25% {
    transform: rotate(0deg) translate(0px, 4px);
  }

  37.5% {
    transform: rotate(0deg) translate(-4px, 0);
  }

  50% {
    transform: rotate(0deg) translate(0, 0);
  }

  62.5% {
    transform: rotate(0deg) translate(4px, 0);
  }

  75% {
    transform: rotate(0deg) translate(0, 4px);
  }

  87.5% {
    transform: rotate(0deg) translate(-4px, -4px);
  }

  100% {
    transform: rotate(0deg) translate(0, 0);
  }
}

@keyframes rumble {
  0% {
    transform: rotate(0deg) translate(0, 0);
  }

  12.5% {
    transform: rotate(0deg) translate(4px, -4px);
  }

  25% {
    transform: rotate(0deg) translate(0px, 4px);
  }

  37.5% {
    transform: rotate(0deg) translate(-4px, 0);
  }

  50% {
    transform: rotate(0deg) translate(0, 0);
  }

  62.5% {
    transform: rotate(0deg) translate(4px, 0);
  }

  75% {
    transform: rotate(0deg) translate(0, 4px);
  }

  87.5% {
    transform: rotate(0deg) translate(-4px, -4px);
  }

  100% {
    transform: rotate(0deg) translate(0, 0);
  }
}

@-webkit-keyframes rumble2 {
  0% {
    transform: rotate(0deg) translate(0, 0);
  }

  12.5% {
    transform: rotate(0deg) translate(4px, -4px);
  }

  25% {
    transform: rotate(0deg) translate(0px, 4px);
  }

  37.5% {
    transform: rotate(0deg) translate(-4px, 0);
  }

  50% {
    transform: rotate(0deg) translate(0, 0);
  }

  62.5% {
    transform: rotate(0deg) translate(4px, 0);
  }

  75% {
    transform: rotate(0deg) translate(0, 4px);
  }

  87.5% {
    transform: rotate(0deg) translate(-4px, -4px);
  }

  100% {
    transform: rotate(0deg) translate(0, 0);
  }
}

@keyframes rumble2 {
  0% {
    transform: rotate(0deg) translate(0, 0);
  }

  12.5% {
    transform: rotate(0deg) translate(4px, -4px);
  }

  25% {
    transform: rotate(0deg) translate(0px, 4px);
  }

  37.5% {
    transform: rotate(0deg) translate(-4px, 0);
  }

  50% {
    transform: rotate(0deg) translate(0, 0);
  }

  62.5% {
    transform: rotate(0deg) translate(4px, 0);
  }

  75% {
    transform: rotate(0deg) translate(0, 4px);
  }

  87.5% {
    transform: rotate(0deg) translate(-4px, -4px);
  }

  100% {
    transform: rotate(0deg) translate(0, 0);
  }
}

@-webkit-keyframes upAndBounce_up {
  from {
    transform: translateY(0);
  }

  to {
    transform: translateY(100%);
  }
}

@keyframes upAndBounce_up {
  from {
    transform: translateY(0);
  }

  to {
    transform: translateY(100%);
  }
}

@-webkit-keyframes bounce_s {
  from,
  20%,
  53%,
  80%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transform: translate3d(0, 0, 0);
  }

  40%,
  43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    transform: translate3d(0, -50%, 0);
  }

  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    transform: translate3d(0, -15%, 0);
  }

  90% {
    transform: translate3d(0, -2.5%, 0);
  }
}

@keyframes bounce_s {
  from,
  20%,
  53%,
  80%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transform: translate3d(0, 0, 0);
  }

  40%,
  43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    transform: translate3d(0, -50%, 0);
  }

  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    transform: translate3d(0, -15%, 0);
  }

  90% {
    transform: translate3d(0, -2.5%, 0);
  }
}

@-webkit-keyframes bounce_m {
  from,
  20%,
  53%,
  80%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transform: translate3d(0, 0, 0);
  }

  40%,
  43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    transform: translate3d(0, -10%, 0);
  }

  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    transform: translate3d(0, -3%, 0);
  }

  90% {
    transform: translate3d(0, -0.5%, 0);
  }
}

@keyframes bounce_m {
  from,
  20%,
  53%,
  80%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transform: translate3d(0, 0, 0);
  }

  40%,
  43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    transform: translate3d(0, -10%, 0);
  }

  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    transform: translate3d(0, -3%, 0);
  }

  90% {
    transform: translate3d(0, -0.5%, 0);
  }
}

@-webkit-keyframes bubble {
  from,
  20%,
  53%,
  80%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transform: scale(1);
  }

  40%,
  43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    transform: scale(1.2);
  }

  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    transform: scale(1.06);
  }

  90% {
    transform: scale(1.004);
  }
}

@keyframes bubble {
  from,
  20%,
  53%,
  80%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transform: scale(1);
  }

  40%,
  43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    transform: scale(1.2);
  }

  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    transform: scale(1.06);
  }

  90% {
    transform: scale(1.004);
  }
}

@-webkit-keyframes ticker1 {
  0% {
    transform: translateX(-2px);
  }

  100% {
    transform: translateX(-100%);
  }
}

@keyframes ticker1 {
  0% {
    transform: translateX(-2px);
  }

  100% {
    transform: translateX(-100%);
  }
}

@-webkit-keyframes ticker2 {
  0% {
    transform: translateX(-3px);
  }

  100% {
    transform: translateX(-100%);
  }
}

@keyframes ticker2 {
  0% {
    transform: translateX(-3px);
  }

  100% {
    transform: translateX(-100%);
  }
}

@-webkit-keyframes ticker3 {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(-100%);
  }
}

@keyframes ticker3 {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(-100%);
  }
}

[class*='_ani_ticker'] {
  display: flex;
  flex-wrap: nowrap;
}

[class*='_ani_ticker'] > * {
  display: block;
  padding-right: 1em;
  -webkit-animation: ticker1 16s linear infinite;
  animation: ticker1 16s linear infinite;
}

._ani_ticker2 > * {
  -webkit-animation: ticker2 16s linear infinite;
  animation: ticker2 16s linear infinite;
}

._ani_ticker3 > * {
  -webkit-animation: ticker3 10s linear infinite;
  animation: ticker3 10s linear infinite;
}

.fes_m_feature {
  color: #fff;
}

@media all and (min-width: 768px) {
  .fes_m_feature {
    position: relative;
  }

  .fes_m_feature > .fes_secInner {
    padding-top: 5.85938%;
  }

  .fes_m_feature::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    margin-left: 0;
    background: url(../img/220805/feature/feature_bg_pc.jpg) 50% 50% no-repeat;
    background-size: 100% 100%;
  }

  .fes_m_feature .fes_secContents {
    margin-top: 4.39655%;
  }

  .fes_feature_h_heading {
    width: 54.75%;
    margin: 0 auto !important;
  }

  .fes_feature_h_desc {
    margin-top: 4.39655%;
    font-size: 18px;
    font-size: 1.125rem !important;
    line-height: 2;
    letter-spacing: 0.05em;
    text-align: center;
  }

  .fes_feature_h_desc p:nth-of-type(n + 2) {
    margin-top: 1.46552%;
  }

  .fes_feature_topics {
    width: 1160px;
    /* width: 930px; */
    display: -webkit-box;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0 auto;
  }

  .fes_feature_topic {
    position: relative;
    width: 346px;
    margin-right: 61px;
    margin-bottom: 61px;
  }

  .fes_feature_topic:nth-of-type(3n) {
    margin-right: 0;
  }

  .fes_feature_topic_main {
    position: relative;
  }

  .fes_feature_topic_pic {
    position: relative;
    /* width: 86.63793%;
    margin-left: 22.41379%; */
  }

  .fes_feature_topic_blc {
    position: relative;
    /* left: 0;
    bottom: 0;
    width: 28.96552%;
    padding: 4.61207% 0 4.48276%; */
  }

  .fes_feature_topic_blc > * {
    position: relative;
  }

  .fes_feature_topic_heading {
    font-weight: 700;
    /* font-size: 26px; */
    font-size: 1.375rem !important;
    line-height: 1.5;
    /* letter-spacing: .05em; */
    margin-bottom: 15px !important;
  }

  .fes_feature_topic_subhead {
    /* margin-top: 6.99405%; */
    font-weight: 700;
    font-size: 12px;
    /* font-size: 1.0rem !important; */
    letter-spacing: 0.05em;
    margin-bottom: 5px;
  }

  .fes_feature_topic_area {
    font-size: 12px;
    margin-bottom: 15px;
  }

  .fes_feature_topic_Btn {
    height: 60px;
    line-height: 60px;
    /* background-color: #3b3b41; */
    color: #fff;
    font-size: 16px;
    width: 346px;
    text-align: center;
    display: block;
    position: relative;
    margin-top: 15px;
  }

  .fes_feature_topic_Btn:hover {
    /* border: #3b3b41 solid 1px; */
    transition: all 0.2s;
    background-color: rgba(255, 255, 255, 0.25);
  }

  .fes_feature_topic_Btn:hover .arw,
  .fes_feature_topic_Btn:hover .arw::before,
  .fes_feature_topic_Btn:hover .arw::after {
    background: #fff;
  }

  .fes_feature_topic_Btn:hover .arw {
    transform: translateX(5px);
  }

  .fes_feature_topic_Btn::after {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    border: #fff solid 1px;
  }

  .fes_feature_topic_desc {
    margin-top: 12.5%;
    font-size: 16px;
    font-size: 1rem !important;
    line-height: 2;
    letter-spacing: 0.05em;
    text-align: justify;
  }

  .fes_feature_topic_desc p:nth-of-type(n + 2) {
    margin-top: 1.2em;
  }

  .fes_feature_topic_placeBtn {
    position: relative;
    width: 48.62069%;
    margin: -2.58621% auto 0;
  }

  .fes_feature_topic_placeBtn a {
    font-size: 16px;
    font-size: 1rem !important;
  }

  .fes_feature_closing {
    margin-top: 6.98276%;
  }

  .fes_feature_closing_desc {
    font-size: 18px;
    font-size: 1.125rem !important;
    line-height: 2;
    letter-spacing: 0.05em;
    text-align: center;
  }

  .fes_feature_closing_placesBtn {
    width: 31.55172%;
    margin: 2.67241% auto 0;
  }
}

@media all and (min-width: 1280px) {
  .fes_m_feature > .fes_secInner {
    padding-top: 100px;
    padding-bottom: 25px;
  }
}

@media all and (max-width: 767px) {
  .fes_m_feature {
    position: relative;
  }

  .fes_m_feature::before {
    content: '';
    position: absolute;
    left: 50%;
    top: 0;
    width: 100%;
    height: 100%;
    margin-left: -50vw;
    background: url(../img/220805/feature/feature_bg.jpg) 50% 50% no-repeat;
    background-size: 100% 100%;
  }

  .fes_m_feature > .fes_secInner {
    padding-top: 20%;
    padding-bottom: 20%;
  }

  .fes_m_feature .fes_secContents {
    margin-top: 15.67164%;
  }

  .fes_feature_h_heading {
    margin: 0 auto !important;
    width: 91.94%;
  }

  .fes_feature_h_heading img {
    image-rendering: auto;
  }

  .fes_feature_h_desc {
    margin-top: 15.67164%;
    font-size: 15px;
    font-size: 4vw !important;
    line-height: 2;
    letter-spacing: 0.05em;
    text-align: center;
  }

  .fes_feature_topic {
    position: relative;
  }

  .fes_feature_topic:nth-of-type(n + 2) {
    margin-top: 17.91045%;
  }

  .fes_feature_topic_pic {
    position: relative;
    width: 100%;
    /* margin-left: -5.97015%; */
  }

  .fes_feature_topic_pic img {
    position: relative;
  }

  .fes_feature_topic_blc {
    position: relative;
    margin-top: 7.46269%;
  }

  .fes_feature_topic_blc > * {
    position: relative;
  }

  .fes_feature_topic_heading {
    font-weight: 700;
    font-size: 18px;
    font-size: 4.8vw !important;
    /* letter-spacing: .05em; */
    margin-bottom: 15px !important;
  }

  .fes_feature_topic_subhead {
    /* margin-top: 4.47761%; */
    font-weight: 700;
    font-size: 3.2vw !important;
    letter-spacing: 0.05em;
    margin-bottom: 5px;
  }

  .fes_feature_topic_area {
    /* margin-top: 4.47761%; */
    font-weight: 700;
    font-size: 3.2vw !important;
    letter-spacing: 0.05em;
    margin-bottom: 15px;
  }

  .fes_feature_topic_Btn {
    height: 50px;
    line-height: 50px;
    /* background-color: #3b3b41; */
    color: #fff;
    font-size: 15px;
    /* width: 300px; */
    text-align: center;
    display: block;
    position: relative;
    margin-top: 5px;
  }

  /* .fes_feature_topic_Btn:hover {
    color: #3b3b41;
    background-color: transparent;
    border: #3b3b41 solid 1px;
    transition: all .2s;

  }

  .fes_feature_topic_Btn:hover .arw,
  .fes_feature_topic_Btn:hover .arw::before,
  .fes_feature_topic_Btn:hover .arw::after {
    background: #3b3b41;

  } */
  /*
  .fes_feature_topic_Btn:hover .arw {
    transform: translateX(5px);
  } */

  .fes_feature_topic_Btn::after {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    border: #fff solid 1px;
  }

  .fes_feature_topic_desc {
    position: relative;
    margin-top: 6.71642%;
    font-size: 15px;
    font-size: 4vw !important;
    line-height: 2;
    letter-spacing: 0.05em;
    transition: all 0.3s;
  }

  .fes_feature_topic_desc p {
    transition: all 0.3s;
  }

  .fes_feature_topic_desc p:nth-of-type(n + 2) {
    margin-top: 1.2em;
  }

  .fes_feature_topic_placeBtn {
    width: 100%;
    margin-top: 6.71642%;
  }

  .fes_feature_topic_placeBtn a {
    padding: 1em;
    font-size: 15px;
    font-size: 4vw !important;
    line-height: 1.6;
  }

  .fes_feature_closing {
    margin-top: 12.68657%;
  }

  .fes_feature_closing_desc {
    font-size: 15px;
    font-size: 4vw !important;
    line-height: 2;
    letter-spacing: 0.05em;
    text-align: center;
  }

  .fes_feature_closing_placesBtn {
    margin: 6.71642% auto 0;
  }
}

.fes_feature_topic_places_block_sites > li {
  transition: all 0.3s;
}

.fes_feature_topic_places_block_sites > li.-hide {
  display: none;
}

.fes_feature_topic_places_block_sites > li.-invisible {
  opacity: 0;
  pointer-events: none;
}

.fes_feature_topic_places_block_site_pic {
  position: relative;
  height: 0;
  overflow: hidden;
}

.fes_feature_topic_places_block_site_pic img {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 100%;
  transform: translate(-50%, -50%);
}

.fes_feature_topic_places_block_moreBtn {
  position: relative;
}

.fes_feature_topic_places_block_moreBtn button {
  display: block;
  position: relative;
  padding: 1.5em 0;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
}

.fes_feature_topic_places_block_moreBtn button::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  border-top: #ccc solid 1px;
  border-bottom: #ccc solid 1px;
}

.fes_feature_topic_places_block_moreBtn button i {
  position: relative;
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-left: 0.8em;
  background: #3b3b41;
  vertical-align: -0.1em;
}

.fes_feature_topic_places_block_moreBtn button i::before,
.fes_feature_topic_places_block_moreBtn button i::after {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  width: 50%;
  height: 1px;
  margin-left: 25%;
  background: #fff;
}

.fes_feature_topic_places_block_moreBtn button i::after {
  transform: rotate(90deg);
}

.fes_feature_topic_places_block_moreBtn.-hide {
  display: none;
}

@media all and (min-width: 768px) {
  .fes_feature_topic_places {
    width: 79.74138%;
    margin: 3.44828% auto 0;
  }

  .fes_feature_topic_places_heading {
    font-weight: 700;
    font-size: 18px;
    font-size: 1.125rem !important;
    letter-spacing: 0.05em;
    text-align: center;
  }

  .fes_feature_topic_places_blockBtns {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 4.32432% auto 0 !important;
  }

  .fes_feature_topic_places_blockBtns > li {
    width: 23.78378%;
  }

  .fes_feature_topic_places_blockBtns > li:nth-of-type(n + 5) {
    margin-top: 3.24324%;
  }

  .fes_feature_topic_places_blockBtns::after {
    content: '';
    display: block;
    position: relative;
    width: 23.78378%;
  }

  .fes_feature_topic_places_block {
    margin-top: 4.32432%;
  }

  .fes_feature_topic_places_block_title {
    font-weight: 700;
    font-size: 18px;
    font-size: 1.125rem !important;
    letter-spacing: 0.05em;
    text-align: center;
  }

  .fes_feature_topic_places_block_sites {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    margin: 3.24324% auto 0 !important;
  }

  .fes_feature_topic_places_block_sites > li {
    position: relative;
    width: 32.21622%;
    background: #f4f4f4;
  }

  .fes_feature_topic_places_block_sites > li:nth-of-type(n + 4) {
    margin-top: 3.24324%;
  }

  .fes_feature_topic_places_block_sites > li:nth-of-type(3n),
  .fes_feature_topic_places_block_sites > li:nth-of-type(3n + 2) {
    margin-left: 1.62162%;
  }

  .fes_feature_topic_places_block_site_pic {
    padding-top: 67.11409%;
  }

  .fes_feature_topic_places_block_site_txts {
    width: 86.57718%;
    padding: 5.36913% 0 29.02685% !important;
    margin: 0 auto !important;
  }

  .fes_feature_topic_places_block_site_txts > dt {
    height: 3em;
    font-weight: 700;
    font-size: 16px;
    font-size: 1rem !important;
    line-height: 1.5;
    letter-spacing: 0.05em;
  }

  .fes_feature_topic_places_block_site_txts > dd {
    font-size: 12px;
    font-size: 0.75rem !important;
    line-height: 1.58333;
    letter-spacing: 0.05em;
  }

  .fes_feature_topic_places_block_site_txts > dd:nth-of-type(1) {
    margin-top: 4.84496%;
  }

  .fes_feature_topic_places_block_site_reserveBtn {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
  }

  .fes_feature_topic_places_block_moreBtn {
    margin-top: 3.24324%;
  }

  .fes_feature_topic_places_block_moreBtn button {
    font-size: 16px;
    font-size: 1rem !important;
  }
}

@media all and (max-width: 767px) {
  .fes_feature_topic_places {
    margin-top: 8.95522%;
  }

  .fes_feature_topic_places_heading {
    font-weight: 700;
    font-size: 15px;
    font-size: 4vw !important;
    letter-spacing: 0.05em;
    text-align: center;
  }

  .fes_feature_topic_places_blockBtns {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: 5.97015% !important;
  }

  .fes_feature_topic_places_blockBtns > li {
    width: 47.01493%;
  }

  .fes_feature_topic_places_blockBtns > li:nth-of-type(n + 3) {
    margin-top: 5.97015%;
  }

  .fes_feature_topic_places_block {
    margin-top: 8.95522%;
  }

  .fes_feature_topic_places_block_title {
    font-weight: 700;
    font-size: 15px;
    font-size: 4vw !important;
    letter-spacing: 0.05em;
    text-align: center;
  }

  .fes_feature_topic_places_block_sites {
    margin-top: 5.97015% !important;
  }

  .fes_feature_topic_places_block_sites > li {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    position: relative;
    background: #f4f4f4;
  }

  .fes_feature_topic_places_block_sites > li:nth-of-type(n + 2) {
    margin-top: 5.97015%;
  }

  .fes_feature_topic_places_block_site_pic {
    width: 29.85075%;
    padding-top: 20.89552%;
  }

  .fes_feature_topic_places_block_site_txts {
    width: 59.70149%;
    padding: 3.43284% 0 3.43284% !important;
    margin-right: 4.47761% !important;
  }

  .fes_feature_topic_places_block_site_txts > dt {
    font-weight: 700;
    font-size: 15px;
    font-size: 4vw !important;
    line-height: 1.46667;
    letter-spacing: 0.05em;
  }

  .fes_feature_topic_places_block_site_txts > dd {
    font-size: 12px;
    font-size: 3.2vw !important;
    line-height: 1.58333;
    letter-spacing: 0.05em;
  }

  .fes_feature_topic_places_block_site_txts > dd:nth-of-type(1) {
    margin-top: 2.75%;
  }

  .fes_feature_topic_places_block_site_reserveBtn {
    position: relative;
    width: 100%;
  }

  .fes_feature_topic_places_block_moreBtn {
    margin-top: 5.97015%;
  }

  .fes_feature_topic_places_block_moreBtn button {
    font-size: 15px;
    font-size: 4vw !important;
  }
}

@media all and (min-width: 768px) {
  .fes_m_corporation {
    position: relative;
  }

  .fes_m_corporation > .fes_secInner {
    padding-top: 5.85938%;
  }

  .fes_m_corporation .fes_secContents {
    margin-top: 4.39655%;
  }

  .fes_corporation_h_heading {
    width: 63.74%;
    margin: 0 auto !important;
  }

  .fes_corporation_h_desc {
    margin-top: 4.39655%;
    font-size: 18px;
    font-size: 1.125rem !important;
    line-height: 2;
    letter-spacing: 0.05em;
    text-align: center;
  }

  .fes_corporation_h_desc p:nth-of-type(n + 2) {
    margin-top: 1.46552%;
  }

  .fes_corporation_topics {
    /* width: 1160px; */
    width: 930px;

    margin: 0 auto;
  }

  .fes_corporation_topic {
    position: relative;
    /* width: 300px;
    margin-right: 15px; */
    margin-bottom: 30px;
  }

  .fes_corporation_topic:nth-of-type(3n) {
    margin-right: 0;
  }

  .fes_corporation_topic_main {
    position: relative;
  }

  .fes_corporation_topic_pic {
    position: relative;
    /* width: 86.63793%;
    margin-left: 22.41379%; */
  }

  .fes_corporation_topic_blc {
    position: relative;
    /* left: 0;
    bottom: 0;
    width: 28.96552%; */
    padding: 30px 0 0;
  }

  .fes_corporation_topic_blc > * {
    position: relative;
  }

  .fes_corporation_topic_heading {
    font-weight: 700;
    font-size: 26px;
    font-size: 1.625rem !important;
    line-height: 1.5;
    letter-spacing: 0.05em;
    margin-bottom: 5px !important;
  }

  .fes_corporation_topic_subhead {
    /* margin-top: 6.99405%; */
    font-weight: 700;
    font-size: 12px;
    /* font-size: 1.0rem !important; */
    letter-spacing: 0.05em;
    margin-bottom: 5px;
  }

  .fes_corporation_topic_area {
    font-size: 12px;
    margin-bottom: 15px;
  }

  .fes_corporation_topic_Btn {
    height: 60px;
    line-height: 60px;
    background-color: #3b3b41;
    color: #fff;
    font-size: 16px;
    width: 300px;
    text-align: center;
    display: block;
    position: relative;
    margin-top: 15px;
  }

  .fes_corporation_topic_Btn:hover {
    color: #3b3b41;
    background-color: transparent;
    border: #3b3b41 solid 1px;
    transition: all 0.2s;
  }

  .fes_corporation_topic_Btn:hover .arw,
  .fes_corporation_topic_Btn:hover .arw::before,
  .fes_corporation_topic_Btn:hover .arw::after {
    background: #3b3b41;
  }

  .fes_corporation_topic_Btn:hover .arw {
    transform: translateX(5px);
  }

  .fes_corporation_topic_Btn::after {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    border: #fff solid 2px;
  }

  .fes_corporation_topic_desc {
    /* margin-top: 12.5%; */
    font-size: 16px;
    font-size: 1rem !important;
    line-height: 2;
    letter-spacing: 0.05em;
    text-align: justify;
  }

  .fes_corporation_topic_desc p:nth-of-type(n + 2) {
    margin-top: 1.2em;
  }

  .fes_corporation_topic_placeBtn {
    position: relative;
    width: 48.62069%;
    margin: -2.58621% auto 0;
  }

  .fes_corporation_topic_placeBtn a {
    font-size: 16px;
    font-size: 1rem !important;
  }

  .fes_corporation_closing {
    margin-top: 6.98276%;
  }

  .fes_corporation_closing_desc {
    font-size: 18px;
    font-size: 1.125rem !important;
    line-height: 2;
    letter-spacing: 0.05em;
    text-align: center;
  }

  .fes_corporation_closing_placesBtn {
    width: 31.55172%;
    margin: 2.67241% auto 0;
  }
}

@media all and (min-width: 1280px) {
  .fes_m_corporation > .fes_secInner {
    padding-top: 85px;
  }
}

@media all and (max-width: 767px) {
  .fes_m_corporation {
    position: relative;
  }

  .fes_m_corporation > .fes_secInner {
    padding-top: 20%;
  }

  .fes_m_corporation .fes_secContents {
    margin-top: 15.67164%;
  }

  .fes_corporation_h_heading {
    width: 83.2%;
    margin: 0 auto !important;
  }

  .fes_corporation_h_heading img {
    image-rendering: auto;
  }

  .fes_corporation_h_desc {
    margin-top: 15.67164%;
    font-size: 15px;
    font-size: 4vw !important;
    line-height: 2;
    letter-spacing: 0.05em;
    text-align: center;
  }

  .fes_corporation_topic {
    position: relative;
  }

  .fes_corporation_topic:nth-of-type(n + 2) {
    margin-top: 17.91045%;
  }

  .fes_corporation_topic_pic {
    position: relative;
    width: 100%;
    /* margin-left: -5.97015%; */
  }

  .fes_corporation_topic_pic img {
    position: relative;
  }

  .fes_corporation_topic_blc {
    position: relative;
    margin-top: 7.46269%;
  }

  .fes_corporation_topic_blc > * {
    position: relative;
  }

  .fes_corporation_topic_heading {
    font-weight: 700;
    font-size: 18px;
    font-size: 4.8vw !important;
    letter-spacing: 0.05em;
    margin-bottom: 5px !important;
  }

  .fes_corporation_topic_subhead {
    /* margin-top: 4.47761%; */
    font-weight: 700;
    font-size: 3.2vw !important;
    letter-spacing: 0.05em;
    margin-bottom: 5px;
  }

  .fes_corporation_topic_area {
    /* margin-top: 4.47761%; */
    font-weight: 700;
    font-size: 3.2vw !important;
    letter-spacing: 0.05em;
    margin-bottom: 15px;
  }

  .fes_corporation_topic_Btn {
    height: 50px;
    line-height: 50px;
    background-color: #3b3b41;
    color: #fff;
    font-size: 15px;
    /* width: 300px; */
    text-align: center;
    display: block;
    position: relative;
    margin-top: 5px;
  }

  /* .fes_corporation_topic_Btn:hover {
    color: #3b3b41;
    background-color: transparent;
    border: #3b3b41 solid 1px;
    transition: all .2s;

  }

  .fes_corporation_topic_Btn:hover .arw,
  .fes_corporation_topic_Btn:hover .arw::before,
  .fes_corporation_topic_Btn:hover .arw::after {
    background: #3b3b41;

  } */
  /*
  .fes_corporation_topic_Btn:hover .arw {
    transform: translateX(5px);
  } */

  .fes_corporation_topic_Btn::after {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    border: #fff solid 1px;
  }

  .fes_corporation_topic_desc {
    position: relative;
    margin-top: 6.71642%;
    font-size: 15px;
    font-size: 4vw !important;
    line-height: 2;
    letter-spacing: 0.05em;
    transition: all 0.3s;
  }

  .fes_corporation_topic_desc p {
    transition: all 0.3s;
  }

  .fes_corporation_topic_desc p:nth-of-type(n + 2) {
    margin-top: 1.2em;
  }

  .fes_corporation_topic_placeBtn {
    width: 100%;
    margin-top: 6.71642%;
  }

  .fes_corporation_topic_placeBtn a {
    padding: 1em;
    font-size: 15px;
    font-size: 4vw !important;
    line-height: 1.6;
  }

  .fes_corporation_closing {
    margin-top: 12.68657%;
  }

  .fes_corporation_closing_desc {
    font-size: 15px;
    font-size: 4vw !important;
    line-height: 2;
    letter-spacing: 0.05em;
    text-align: center;
  }

  .fes_corporation_closing_placesBtn {
    margin: 6.71642% auto 0;
  }
}

.fes_corporation_topic_places_block_sites > li {
  transition: all 0.3s;
}

.fes_corporation_topic_places_block_sites > li.-hide {
  display: none;
}

.fes_corporation_topic_places_block_sites > li.-invisible {
  opacity: 0;
  pointer-events: none;
}

.fes_corporation_topic_places_block_site_pic {
  position: relative;
  height: 0;
  overflow: hidden;
}

.fes_corporation_topic_places_block_site_pic img {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 100%;
  transform: translate(-50%, -50%);
}

.fes_corporation_topic_places_block_moreBtn {
  position: relative;
}

.fes_corporation_topic_places_block_moreBtn button {
  display: block;
  position: relative;
  padding: 1.5em 0;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
}

.fes_corporation_topic_places_block_moreBtn button::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  border-top: #ccc solid 1px;
  border-bottom: #ccc solid 1px;
}

.fes_corporation_topic_places_block_moreBtn button i {
  position: relative;
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-left: 0.8em;
  background: #3b3b41;
  vertical-align: -0.1em;
}

.fes_corporation_topic_places_block_moreBtn button i::before,
.fes_corporation_topic_places_block_moreBtn button i::after {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  width: 50%;
  height: 1px;
  margin-left: 25%;
  background: #fff;
}

.fes_corporation_topic_places_block_moreBtn button i::after {
  transform: rotate(90deg);
}

.fes_corporation_topic_places_block_moreBtn.-hide {
  display: none;
}

@media all and (min-width: 768px) {
  .fes_corporation_topic_places {
    width: 79.74138%;
    margin: 3.44828% auto 0;
  }

  .fes_corporation_topic_places_heading {
    font-weight: 700;
    font-size: 18px;
    font-size: 1.125rem !important;
    letter-spacing: 0.05em;
    text-align: center;
  }

  .fes_corporation_topic_places_blockBtns {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 4.32432% auto 0 !important;
  }

  .fes_corporation_topic_places_blockBtns > li {
    width: 23.78378%;
  }

  .fes_corporation_topic_places_blockBtns > li:nth-of-type(n + 5) {
    margin-top: 3.24324%;
  }

  .fes_corporation_topic_places_blockBtns::after {
    content: '';
    display: block;
    position: relative;
    width: 23.78378%;
  }

  .fes_corporation_topic_places_block {
    margin-top: 4.32432%;
  }

  .fes_corporation_topic_places_block_title {
    font-weight: 700;
    font-size: 18px;
    font-size: 1.125rem !important;
    letter-spacing: 0.05em;
    text-align: center;
  }

  .fes_corporation_topic_places_block_sites {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    margin: 3.24324% auto 0 !important;
  }

  .fes_corporation_topic_places_block_sites > li {
    position: relative;
    width: 32.21622%;
    background: #f4f4f4;
  }

  .fes_corporation_topic_places_block_sites > li:nth-of-type(n + 4) {
    margin-top: 3.24324%;
  }

  .fes_corporation_topic_places_block_sites > li:nth-of-type(3n),
  .fes_corporation_topic_places_block_sites > li:nth-of-type(3n + 2) {
    margin-left: 1.62162%;
  }

  .fes_corporation_topic_places_block_site_pic {
    padding-top: 67.11409%;
  }

  .fes_corporation_topic_places_block_site_txts {
    width: 86.57718%;
    padding: 5.36913% 0 29.02685% !important;
    margin: 0 auto !important;
  }

  .fes_corporation_topic_places_block_site_txts > dt {
    height: 3em;
    font-weight: 700;
    font-size: 16px;
    font-size: 1rem !important;
    line-height: 1.5;
    letter-spacing: 0.05em;
  }

  .fes_corporation_topic_places_block_site_txts > dd {
    font-size: 12px;
    font-size: 0.75rem !important;
    line-height: 1.58333;
    letter-spacing: 0.05em;
  }

  .fes_corporation_topic_places_block_site_txts > dd:nth-of-type(1) {
    margin-top: 4.84496%;
  }

  .fes_corporation_topic_places_block_site_reserveBtn {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
  }

  .fes_corporation_topic_places_block_moreBtn {
    margin-top: 3.24324%;
  }

  .fes_corporation_topic_places_block_moreBtn button {
    font-size: 16px;
    font-size: 1rem !important;
  }
}

@media all and (max-width: 767px) {
  .fes_corporation_topic_places {
    margin-top: 8.95522%;
  }

  .fes_corporation_topic_places_heading {
    font-weight: 700;
    font-size: 15px;
    font-size: 4vw !important;
    letter-spacing: 0.05em;
    text-align: center;
  }

  .fes_corporation_topic_places_blockBtns {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: 5.97015% !important;
  }

  .fes_corporation_topic_places_blockBtns > li {
    width: 47.01493%;
  }

  .fes_corporation_topic_places_blockBtns > li:nth-of-type(n + 3) {
    margin-top: 5.97015%;
  }

  .fes_corporation_topic_places_block {
    margin-top: 8.95522%;
  }

  .fes_corporation_topic_places_block_title {
    font-weight: 700;
    font-size: 15px;
    font-size: 4vw !important;
    letter-spacing: 0.05em;
    text-align: center;
  }

  .fes_corporation_topic_places_block_sites {
    margin-top: 5.97015% !important;
  }

  .fes_corporation_topic_places_block_sites > li {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    position: relative;
    background: #f4f4f4;
  }

  .fes_corporation_topic_places_block_sites > li:nth-of-type(n + 2) {
    margin-top: 5.97015%;
  }

  .fes_corporation_topic_places_block_site_pic {
    width: 29.85075%;
    padding-top: 20.89552%;
  }

  .fes_corporation_topic_places_block_site_txts {
    width: 59.70149%;
    padding: 3.43284% 0 3.43284% !important;
    margin-right: 4.47761% !important;
  }

  .fes_corporation_topic_places_block_site_txts > dt {
    font-weight: 700;
    font-size: 15px;
    font-size: 4vw !important;
    line-height: 1.46667;
    letter-spacing: 0.05em;
  }

  .fes_corporation_topic_places_block_site_txts > dd {
    font-size: 12px;
    font-size: 3.2vw !important;
    line-height: 1.58333;
    letter-spacing: 0.05em;
  }

  .fes_corporation_topic_places_block_site_txts > dd:nth-of-type(1) {
    margin-top: 2.75%;
  }

  .fes_corporation_topic_places_block_site_reserveBtn {
    position: relative;
    width: 100%;
  }

  .fes_corporation_topic_places_block_moreBtn {
    margin-top: 5.97015%;
  }

  .fes_corporation_topic_places_block_moreBtn button {
    font-size: 15px;
    font-size: 4vw !important;
  }
}

/* swiper */
@media (min-width: 768px) {
  .swiper {
    width: 1366px;

    z-index: 0;

    /* margin: 0 auto; */
    top: 0;
    height: 470px;
    overflow: hidden;
    background-size: contain;
    transform: translate(-50%, 0%);
    position: absolute;
    left: 50%;
  }
  .main-swiper {
    position: relative;
    width: 100%;
    overflow: hidden;
    height: 470px;
  }

  .swiper-slide {
    text-align: center;
    font-size: 18px;
    /* background: #ccc; */
    background-size: contain !important;

    display: flex;
    width: 480px !important;
    height: 320px;
  }

  .slide__text {
    position: relative;
    padding-top: 15px;
    font-size: 18px;
    line-height: 1.5;
    letter-spacing: 0.06em;
  }
  .slide__textlink {
    /* color: #0079a6; */
    color: #000;
    font-size: 14px;
    display: block;
    /* text-decoration: underline !important; */
    padding-top: 10px;
  }
}

@media (max-width: 767px) {
  .swiper-slide {
    /* width: 64.3% !important; */
  }
  .main-swiper {
    position: relative;
    width: 100%;
    padding-bottom: 75px;
  }
  .slide__text {
    position: relative;
    padding-top: 10px;
    font-size: 13px;
    line-height: 1.5;
    letter-spacing: 0.06em;
    text-align: center;
  }
  .slide__textlink {
    /* color: #0079a6; */

    font-size: 12px;
    display: block;
    /* text-decoration: underline !important; */
    padding-top: 5px;
    text-align: center;
  }
}

.swiper-slide img {
  display: block;
  width: 100%;
  height: 100%;
}

@media (min-width: 768px) {
  .js-open-modal {
    cursor: pointer;
  }
}

/* #intro */
@media (min-width: 768px) {
  .fes_m_intro {
    padding: 30px 0 0px;
  }

  .fes_intro_text {
    font-size: 20px;
    text-align: center;
    line-height: 2;
    letter-spacing: 0.22em;
  }

  .fes_intro_box {
    display: flex;
    justify-content: center;
    width: 840px;
    margin: 0 auto;
  }

  .fes_intro_circles {
    width: 540px;
    display: flex;

    justify-content: space-between;
  }
  .fes_intro_circle {
    color: #9a7700;
    font-size: 16px;
    display: block;
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 1.8;
    width: 160px;
    height: 160px;
    border: 2px solid#9a7700;
    border-radius: 50%;
    text-align: center;
    transition: all 0.7s;
    letter-spacing: 0.1em;
  }
  .fes_intro_circle:hover {
    opacity: 0.6;
  }
  .arw_under {
    position: absolute;
    right: 0;
    top: 50%;
    /* height: 2px; */
    margin-top: -6px;
    background: transparent;
    transition: all 0.2s;
    /* width: 13px; */
    margin-right: 30px;
    /* transform: rotate(90deg); */
    border-top: 12px solid #3d8abe;
    border-right: 9px solid transparent;
    border-left: 9px solid transparent;
    background: transparent !important;
  }

  /* .arw_under::before,
  .arw_under::after {
    width: 9px;
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    height: 2px;
    background: #fff;

    transform-origin: 100% 50%;
    transition: all 0.2s;
  }

  .arw_under::before {
    transform: rotate(45deg);
  }

  .arw_under::after {
    transform: rotate(-45deg);
  } */

  .fes_intro_text {
    margin-bottom: 75px;
  }
}

@media (max-width: 767px) {
  .fes_m_intro {
    padding: 20px 0 30px;
  }

  .fes_intro_text {
    font-size: 3.7333vw;
    text-align: center;
    line-height: 2;
    letter-spacing: 0.22em;
  }

  .fes_intro_box {
    display: flex;
    justify-content: center;
    width: 100%;
    margin: 0 auto;
  }
  .arw_under {
    position: absolute;
    right: 0;
    top: 50%;
    /* height: 2px; */
    margin-top: -3px;
    background: transparent;
    transition: all 0.2s;
    /* width: 13px; */
    margin-right: 30px;
    /* transform: rotate(90deg); */
    border-top: 6px solid #3d8abe;
    border-right: 4.5px solid transparent;
    border-left: 4.5px solid transparent;
    background: transparent !important;
  }
  /* .arw_under {
    position: absolute;
    right: 0;
    top: 50%;
    height: 1px;
    margin-top: -1px;
    background: #fff;
    transition: all 0.2s;
    width: 7px;
    margin-right: 10px;
    transform: rotate(90deg);
  }

  .arw_under::before,
  .arw_under::after {
    width: 4px;
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    height: 1px;
    background: #fff;

    transform-origin: 100% 50%;
    transition: all 0.2s;
  }

  .arw_under::before {
    transform: rotate(45deg);
  }

  .arw_under::after {
    transform: rotate(-45deg);
  } */

  .fes_intro_circles {
    width: 100%;
    display: flex;

    justify-content: space-between;
  }
  .fes_intro_circle {
    color: #9a7700;
    font-size: 12px;

    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 1.8;
    width: 111px;
    height: 111px;
    border: 1px solid#9a7700;
    border-radius: 50%;
    text-align: center;

    letter-spacing: 0.08em;
  }

  .fes_intro_text {
    margin-bottom: 35px;
  }
}

.fes_intro_reserveBtn a {
  background-color: #18490b;
  color: #fff;
}

.fes_intro_overviewBtn a {
  border: 2px solid #3d8abe;
  color: #3d8abe;
  border-radius: 5px;
}

@media (max-width: 767px) {
  .fes_intro_overviewBtn a {
    /* line-height: 1.5; */
    line-height: 55px;
    /* padding-top: 0.4rem; */
    padding-top: 0;
    width: 100%;
  }
}

.arw_under--blue {
  background: #3d8abe;
}

.arw_under--blue::before,
.arw_under--blue::after {
  background: #3d8abe;
}

/* navi */
.fes_navi_reserveBtn {
  padding: 7px 0;
}

@media (max-width: 767px) {
  .fes_navi_reserveBtn {
    padding: 0px 0;
  }
}

@media (min-width: 768px) {
  .fes_navi_reserveBtn a {
    background-color: #18490b;
    color: #fff;
    font-size: 24px;
    letter-spacing: 0.05em;

    padding: 0 0;
    font-weight: 700;
    text-align: center;
    width: 520px;
    line-height: 74px;
    height: 74px;
    box-sizing: border-box;
    margin: 30px auto 0;
  }
}

@media (max-width: 767px) {
  .fes_navi_reserveBtn a {
    background-color: #18490b;
    color: #fff;
    font-size: 14px;
    line-height: 55px;
    height: 55px;
    width: 92%;

    letter-spacing: 0.05em;
    margin: 15px auto 0;
  }
}

/* #overview */
@media (min-width: 768px) {
  /* #overview_link {
    position: absolute;

    top: 500px;
  } */
  .fes_m_overview {
    padding: 80px 0 0;
    /* padding: 40px 0 0; */
    position: relative;
  }

  .fes_overview_box {
    padding-bottom: 30px;
  }

  .fes_overview_heading {
    text-align: center;
    margin: 0 auto 45px !important;
    align-items: center; /* 横線を上下中央 */
    display: flex; /* 文字と横線を横並び */
  }
  .fes_overview_heading_image {
    width: 389px;
  }

  .fes_overview_heading::before,
  .fes_overview_heading::after {
    background-color: #3d8abe; /* 横線の色 */
    content: '';
    flex-grow: 1; /* 横幅いっぱい */
    height: 2px; /* 横線の高さ */
  }
  .fes_overview_heading::before {
    margin-right: 40px; /* 文字との余白 */
  }
  .fes_overview_heading::after {
    margin-left: 40px; /* 文字との余白 */
  }

  .fes_overview_text {
    font-size: 16px;
    text-align: center;
    line-height: 2.2;
    letter-spacing: 0.04em;
    margin-bottom: 110px;
    font-style: normal;
  }

  .c-box_image {
    width: 440px;
    border-right: 2px solid #000;
  }

  .c-box_textarea {
    width: 720px;
    padding: 83px 0 0 120px;
  }

  .c-box_textarea--two-line {
    padding: 60px 0 0 120px !important;
  }

  .fes_overview_box_toggle-btn {
    width: 1160px;
    display: flex;
    justify-content: space-between;
    box-sizing: border-box;
    border: 2px solid #000;
    box-sizing: border-box;
  }

  .c-box_number-1 {
    width: 93px;
  }

  .c-box_number-2 {
    width: 100px;
  }

  .c-box_number-3 {
    width: 100px;
  }

  .c-box_number-4 {
    width: 102px;
  }

  .c-box_heading {
    /* font-family: ten-mincho,
      serif; */
    /* font-family: 'Shippori Mincho B1',
      serif;

    font-weight: 400;
    font-style: normal;
    font-size: 30px;
    line-height: 1; */
    display: block;
    /* line-height: 1.5; */
    padding-top: 25px !important;
  }

  .c-accordion {
    border: 2px solid #000;
    border-top: none;
    padding-top: 80px;
    box-sizing: border-box;
  }

  .c-accordion_box {
    display: flex;
    justify-content: space-between;
    margin-bottom: 80px;
  }

  .c-accordion_image {
    width: 640px;
  }

  .c-accordion_textarea {
    width: 520px;
    padding: 0 45px;
  }

  .c-accordion_heading {
    /* font-family: ten-mincho,
      serif;
    font-weight: 400;
    font-style: normal;
    letter-spacing: 0.04em;

    display: inline-block;
    border-left: 2px solid #3d8abe;
    padding-left: 15px !important; */
    margin-bottom: 45px !important;
  }

  .c-accordion_sub_heading {
    font-size: 20px;
    line-height: 1.3;
    display: block;
    margin-top: -1px;
  }

  .c-accordion_main_heading {
    font-size: 30px;
    line-height: 1;
    display: block;
    margin-top: 5px;
  }

  .c-accordion_main_heading .sup {
    vertical-align: top;
    font-size: smaller;
    font-size: 20px;
  }

  .c-accordion_text {
    font-size: 16px;
    line-height: 2.5;
    letter-spacing: 0.03em;
    font-weight: normal;
  }

  .c-accordion_text .sup {
    vertical-align: top;
    font-size: smaller;
  }

  .c-accordion_caption {
    font-size: 10px;
    line-height: 2;
    letter-spacing: 0.03em;
  }
}

@media (max-width: 767px) {
  .fes_m_overview {
    padding: 40px 0 0;
    /* padding: 10px 0 0; */
  }

  .fes_overview_box {
    padding-bottom: 30px;
  }

  .fes_overview_heading {
    text-align: center;
    margin: 0 auto 20px !important;
    align-items: center; /* 横線を上下中央 */
    display: flex; /* 文字と横線を横並び */
  }
  .fes_overview_heading_image {
    width: 58%;
  }

  .fes_overview_heading::before,
  .fes_overview_heading::after {
    background-color: #3d8abe; /* 横線の色 */
    content: '';
    flex-grow: 1; /* 横幅いっぱい */
    height: 1px; /* 横線の高さ */
  }
  .fes_overview_heading::before {
    margin-right: 10px; /* 文字との余白 */
  }
  .fes_overview_heading::after {
    margin-left: 10px; /* 文字との余白 */
  }

  .fes_overview_text {
    font-size: 3.2vw;
    text-align: center;
    line-height: 2;
    letter-spacing: 0.04em;
    margin-bottom: 40px;
    font-weight: 400;
    font-style: normal;
  }

  .c-box_image {
    /* width: 440px; */
    border-bottom: 1px solid #000;
  }

  .c-box_textarea {
    /* width: 720px; */
    width: 90%;
    padding: 20px 0;
    margin: 0 auto;
    border-bottom: none;
  }

  .on .c-box_textarea {
    border-bottom: 1px solid #000;
  }

  .c-box_textarea--two-line {
    /* padding: 60px 0 0 120px !important; */
  }

  .fes_overview_box_toggle-btn {
    /* width: 1160px; */
    /* display: flex;
        justify-content: space-between; */
    box-sizing: border-box;
    border: 1px solid #000;
    box-sizing: border-box;
    display: block;
  }

  .on.fes_overview_box_toggle-btn {
    border-bottom: none;
  }

  .c-box_number-1 {
    width: 56px;
  }

  .c-box_number-2 {
    width: 63px;
  }

  .c-box_number-3 {
    width: 63px;
  }

  .c-box_number-4 {
    width: 65px;
  }

  .c-box_heading {
    /* font-family: ten-mincho,
      serif;
    font-weight: 400;
    font-style: normal;
    font-size: 4.8vw;
    line-height: 1; */
    display: block;
    /* line-height: 1.5; */
    padding-top: 20px !important;
  }

  .on .c-box_heading {
    /* padding-bottom: 20px; */
    /* border-bottom: 1px solid #000; */
  }

  .c-accordion {
    border: 1px solid #000;
    padding-top: 35px;
    border-top: none;
    box-sizing: border-box;
    /* padding-bottom: 20px; */
  }

  .c-accordion_box {
    display: flex;
    flex-flow: column;
    /* justify-content: space-between; */
    /* margin-bottom: 80px; */
    /* padding-bottom: 20px; */
  }

  .c-accordion_box-1 {
    margin-bottom: 40px;
  }

  .c-accordion_image {
    /* width: 640px; */
    width: 95%;
    margin: 0 auto;
    /* order: 1; */
  }

  .c-accordion_textarea {
    /* width: 520px; */
    /* padding: 0 45px; */
    width: 90%;
    margin: 0 auto;
  }

  .c-accordion_box-1 .c-accordion_image {
    margin-top: 20px;
    margin-left: 5%;
  }

  .c-accordion_box-2 .c-accordion_image {
    margin-top: 20px;
    margin-bottom: 20px;
    margin-right: 5%;
    order: 1;
  }

  .c-accordion_heading {
    /* font-family: ten-mincho,
      serif;
    font-weight: 400;
    font-style: normal;
    letter-spacing: 0.04em; */

    display: inline-block;
    /* border-left: 2px solid #3d8abe;
    padding-left: 15px !important; */
    margin-bottom: 20px !important;
  }

  .c-accordion_sub_heading {
    font-size: 3.2vw;
    line-height: 1.3;
    display: block;
    margin-top: -1px;
  }

  .c-accordion_main_heading {
    font-size: 4.8vw;
    line-height: 1;
    display: block;
    margin-top: 5px;
  }

  .c-accordion_main_heading .sup {
    vertical-align: top;
    font-size: smaller;
    font-size: 2.933vw;
  }

  .c-accordion_text {
    font-size: 3.2vw;
    line-height: 2;
    margin-bottom: 0px;
    letter-spacing: 0.02em;
  }

  .c-accordion_text .sup {
    vertical-align: top;
    font-size: smaller;
  }

  .c-accordion_caption {
    font-size: 2.6666vw;
    line-height: 1.5;
  }
}

.c-toggle-btn {
  position: relative;
  cursor: pointer;
}

@media (min-width: 768px) {
  .icon {
    position: absolute;
    width: 20px;
    height: 20px;
    /* background: #ccc; */
    top: 50%;
    right: 70px;
  }
}

@media (max-width: 767px) {
  .icon {
    position: absolute;
    width: 20px;
    height: 20px;
    /* background: #ccc; */
    top: 84%;
    right: 7.5%;
  }

  .on .icon {
    position: absolute;
    top: 84%;
  }

  .icon--two-line {
    margin-top: -10px;
  }

  .icon--two-line {
    margin-top: -10px;
  }
}

.icon::before,
.icon--plus::after {
  position: absolute;
  top: 14px;
  left: 50%;
  content: '';
  display: inline-block;
  width: 30px;
  height: 30px;
  border-top: 2px solid #000;
  transform: translateX(-50%);
  margin-top: -20px;
}

.icon--plus:after {
  top: 0px;
  left: -19px;
  transform: rotate(90deg);
  opacity: 1;
  transition: all 0.2s;
}

.on .icon--plus:after {
  opacity: 0;
  transition: all 0.2s;
  /* transform: rotate(75deg); */
}

/* @media (max-width: 767px) {

  .icon::before,
  .icon--plus::after {
    margin-top: -20px;
  }
} */

.js-accordion {
  display: none;
}

#places_anchor {
  position: absolute;
}

@media (min-width: 768px) {
  #places_anchor {
    top: -80px;
  }
}

@media (max-width: 767px) {
  #places_anchor {
    top: -40px;
  }
}

.b-m-boxLinkRow {
  margin-right: 0;
  width: auto;
}

@media (max-width: 767px) {
  .b-m-boxLinkRow {
    width: 100%;
  }
}

@media (min-width: 768px) {
  .c-box_heading-1 {
    width: 412px;
  }

  .c-accordion_heading-1-1 {
    width: 348px;
  }

  .c-accordion_heading-1-2 {
    width: 408px;
  }

  .c-box_heading-2 {
    width: 411px;
  }

  .c-accordion_heading-2-1 {
    width: 323px;
  }

  .c-accordion_heading-2-2 {
    width: 346px;
  }

  .c-box_heading-3 {
    width: 292px;
  }

  .c-accordion_heading-3-1 {
    width: 373px;
  }

  .c-accordion_heading-3-2 {
    width: 425px;
  }

  .c-box_heading-4 {
    width: 390px;
  }

  .c-accordion_heading-4-1 {
    width: 386px;
  }

  .c-accordion_heading-4-2 {
    width: 379px;
  }
}

@media (max-width: 767px) {
  .c-box_heading-1 {
    width: 82.6%;
  }

  .c-accordion_heading-1-1 {
    width: 69.2%;
  }

  .c-accordion_heading-1-2 {
    width: 81.5%;
  }

  .c-box_heading-2 {
    width: 82.8%;
  }

  .c-accordion_heading-2-1 {
    width: 64.2%;
  }

  .c-accordion_heading-2-2 {
    width: 69.1%;
  }

  .c-box_heading-3 {
    width: 58.8%;
  }

  .c-accordion_heading-3-1 {
    width: 74.8%;
  }

  .c-accordion_heading-3-2 {
    width: 84.8%;
  }

  .c-box_heading-4 {
    width: 77.5%;
  }

  .c-accordion_heading-4-1 {
    width: 76.9%;
  }
  fes_covr_mv .c-accordion_heading-4-2 {
    width: 75.2%;
  }
}

.fes_m_movie {
  text-align: center;
}
.fes_movie_player {
  position: relative;
}

.fes_movie_player iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.fes_m_movie a {
  color: #000;
}
@media (min-width: 768px) {
  .fes_m_movie {
    margin-top: 100px;
    color: #000;
  }
  .fes_movie_heading {
    font-weight: 700;
    font-size: 30px !important;
    letter-spacing: 0.08em;
  }
  .fes_movie_player {
    margin: 40px auto 100px;
    text-align: center;
    width: 710px;
    height: 399px;
  }

  .fes_movie_banner {
    width: 710px;
    margin: 40px auto 0;
    transition: all 0.5s;
  }
  .fes_movie_player iframe {
    width: 710px;
    height: 399px;
  }
  .fes_movie_banner:hover {
    opacity: 0.7;
  }
}

@media (max-width: 767px) {
  .fes_m_movie {
    margin-top: 50px;
  }
  .fes_movie_player {
    padding-top: 56.25%;
  }
  .fes_movie_heading {
    font-weight: 700;
    font-size: 4vw !important;
    letter-spacing: 0.08em;
    margin-bottom: 20px !important;
  }
  .fes_movie_banner {
    display: block;
  }
  .fes_movie_player {
    margin-bottom: 15%;
  }
}

.fes_m_renovation {
  text-align: center;
}
.fes_renovation_player {
  position: relative;
}

.fes_renovation_player iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.fes_m_renovation a {
  color: #000;
}
@media (min-width: 768px) {
  .fes_m_renovation {
    margin-top: 80px;
    color: #000;
  }
  .fes_renovation_heading {
    font-weight: 700;
    font-size: 30px !important;
    font-feature-settings: normal;
    letter-spacing: 0.06em;
    line-height: 1.6;
  }

  .fes_renovation_banner {
    width: 710px;
    margin: 40px auto 0;
    transition: all 0.5s;
  }

  .fes_renovation_banner:hover {
    opacity: 0.7;
  }
}

@media (max-width: 767px) {
  .fes_m_renovation {
    margin-top: 40px;
  }

  .fes_renovation_heading {
    font-weight: 700;
    font-size: 4vw !important;
    letter-spacing: 0.04em;
    margin-bottom: 20px !important;
    line-height: 1.6;
  }
  .fes_renovation_banner {
    display: block;
  }
}

/* ====================================================
固定メニュー
==================================================== */

.fixmenu {
  background: #fff;
  position: fixed;
  box-sizing: border-box;

  width: 100%;
  border-top: 1px solid #858585;

  transition: all 0.5s;
  z-index: 9999;
}

.fixed.fixmenu {
  bottom: 0px;
}

.fixmenu li:last-of-type {
  border-right: 0;
}
.fixmenu a {
  display: block;
  padding: 0;
  text-decoration: none;
  text-align: center;
  color: #ffffff;

  background-color: #18490b;

  border-radius: 5px;
  position: relative;
  font-weight: bold;
  /* transition: opacity 0.2s; */
}

@media screen and (min-width: 768px) {
  .fixmenu {
    height: 100px;
    bottom: -100px;
  }
  .fixmenu a {
    transition: opacity 0.2s;
    width: 720px;
    height: 80px;
    line-height: 80px;
    margin: 10px auto;
    font-size: 24px;
  }
  .fixmenu a:hover {
    opacity: 0.7;
  }
  .fixmenu a::before {
    content: '';
    width: 6px;
    height: 6px;
    border: 0;
    border-left: 9px solid transparent;
    border-right: 9px solid transparent;
    border-bottom: 12px solid white;
    /* transform: rotate(-45deg); */
    position: absolute;
    top: 0;
    right: 30px;
    bottom: 0;
    margin: auto;
  }
}
@media screen and (max-width: 767px) {
  .fixmenu {
    height: 50px;
    bottom: -50px;
  }
  .fixmenu a {
    width: 90%;
    height: 40px;
    line-height: 40px;
    margin: 5px auto;
    font-size: 14px;
  }
  .fixmenu a::before {
    content: '';
    width: 9px;
    height: 6px;
    border: 0;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-bottom: 6px solid white;
    /* transform: rotate(-45deg); */
    position: absolute;
    top: 0;
    right: 15px;
    bottom: 0;
    margin: auto;
  }
}

@media screen and (min-width: 768px) {
  .slide__link,
  .slide__textlink {
    transition: all 0.5s;
    display: block;
  }
  .slide__link:hover,
  .slide__textlink:hover {
    /* opacity: 0.6; */
    opacity: 1;
  }
}
