@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;
    }

    .fes_covr_mv_pic {
        position: absolute;
        right: 0%;
        left: 0%;
        top: 0;
        right: 0;
        width: 1366px;
        height: 482px;
        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/260122/cover/covr_mv_pic_01_20260122_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: 35px;
        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: 314px;
    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/260122/cover/covr_mv_pic_01_20260122_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.11%;
        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 60px;
        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 70px;
        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;
    }
}
