html.facility .ui-datepicker:after {
    content: "";
    display: table;
    clear: both
}

html.facility .ui-datepicker:after {
    content: "";
    display: table;
    clear: both
}

@font-face {
    font-family: 'icomoon';
    src: url("../fonts/icomoon.eot?q0ua8f");
    src: url("../fonts/icomoon.eot?q0ua8f#iefix") format("embedded-opentype"), url("../fonts/icomoon.ttf?q0ua8f") format("truetype"), url("../fonts/icomoon.woff?q0ua8f") format("woff"), url("../fonts/icomoon.svg?q0ua8f#icomoon") format("svg");
    font-weight: normal;
    font-style: normal;
    font-display: block
}

[class^="icon-"],
[class*=" icon-"] {
    font-family: 'icomoon' !important;
    speak: never;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.icon-cancel:before {
    content: "\e700"
}

.icon-arrow1:before {
    content: "\e701"
}

.icon-arrow2:before {
    content: "\e702"
}

.icon-arrow3:before {
    content: "\e703"
}

.icon-mail2:before {
    content: "\e704"
}

.icon-ifn0888:before {
    content: "\e706"
}

.icon-location:before {
    content: "\e707"
}

.icon-menu:before {
    content: "\e708"
}

.icon-location-marker:before {
    content: "\e70a"
}

.icon-phone1:before {
    content: "\e70b"
}

.icon-plus:before {
    content: "\e70c"
}

.icon-search1:before {
    content: "\e70d"
}

.icon-arr_hoso:before {
    content: "\e70e"
}

.icon-iconmonstr-calendar:before {
    content: "\e70f"
}

.icon-ifn0130:before {
    content: "\e710"
}

.icon-ic_bus:before {
    content: "\e711"
}

.icon-home:before {
    content: "\e712"
}

.icon-facebook:before {
    content: "\e73a"
}

.icon-mail:before {
    content: "\f703"
}

.icon-phone:before {
    content: "\f795"
}

.icon-twitter:before {
    content: "\f79b"
}

.icon-caret-down:before {
    content: "\f7d7"
}

.icon-caret-up:before {
    content: "\f7d8"
}

.icon-caret-left:before {
    content: "\f7d9"
}

.icon-caret-right:before {
    content: "\f7da"
}

.icon-angle-left:before {
    content: "\f704"
}

.icon-angle-right:before {
    content: "\f705"
}

.icon-angle-up:before {
    content: "\f706"
}

.icon-angle-down:before {
    content: "\f707"
}

.icon-calendar:before {
    content: "\f733"
}

.icon-youtube:before {
    content: "\f76b"
}

.icon-instagram:before {
    content: "\f76d"
}

.icon-pdf:before {
    content: "\f7c1"
}

.icon-outerlink:before {
    content: "\f024d"
}

html {
    font-size: small;
    line-height: 1.5
}

body {
    color: #414141;
    -webkit-text-size-adjust: none;
    font-size: 108%;
    background: #f3f3f3
}

.casual body {
    font-family: 'Noto Sans JP', "游ゴシック Medium", " Yu Gothic Medium", "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    background: #fff
}

.facility body:not(.casual body) {
    font-family: "Shippori Mincho", "游明朝 Demibold", "Yu Mincho Demibold", "游明朝", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Times New Roman", Times, Garamond, Georgia, serif
}

.ie body {
    font-size: 105%
}

body a {
    color: #414141;
    text-decoration: underline
}

body a:hover {
    text-decoration: none
}

body img {
    max-width: 100%;
    -webkit-touch-callout: none;
    line-height: 1;
    height: auto
}

.casual body pre,
.casual body input,
.casual body textarea,
.casual body select {
    font-family: 'Noto Sans JP', "游ゴシック Medium", " Yu Gothic Medium", "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif
}

.facility body pre:not(.casual body pre):not(.casual body input):not(.casual body textarea):not(.casual body select),
.facility body input:not(.casual body pre):not(.casual body input):not(.casual body textarea):not(.casual body select),
.facility body textarea:not(.casual body pre):not(.casual body input):not(.casual body textarea):not(.casual body select),
.facility body select:not(.casual body pre):not(.casual body input):not(.casual body textarea):not(.casual body select) {
    font-family: "Shippori Mincho", "游明朝 Demibold", "Yu Mincho Demibold", "游明朝", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Times New Roman", Times, Garamond, Georgia, serif
}

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

#abi_page * {
    box-sizing: border-box
}

html.ie8 .view_tab,
html.ie8 .view_tab_sp,
html.ie8 .view_sp {
    display: none !important
}

html.ie8 #abi_page {
    min-width: 1200px !important;
    margin: auto;
    font-size: 100% !important
}

@media only screen and (min-width: 1200px) {

    .facility body .view_tab-sp,
    .facility body .view_tab {
        display: none !important
    }
}

@media print {

    .facility body .view_tab-sp,
    .facility body .view_tab {
        display: none !important
    }
}

@media only screen and (min-width: 768px) {
    .facility body .view_sp {
        display: none !important
    }
}

@media only screen and (max-width: 1199px) {
    .facility body .view_pc {
        display: none !important
    }
}

@media only screen and (max-width: 767px) {

    .facility body .view_pc-tab,
    .facility body .view_tab {
        display: none !important
    }
}

.mouse .over {
    -moz-transition: opacity .3s ease-in;
    -o-transition: opacity .3s ease-in;
    -webkit-transition: opacity .3s ease-in;
    transition: opacity .3s ease-in
}

.mouse .over:hover,
.touch .over.touchstart {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
    opacity: .7
}

.touch .over {
    -webkit-tap-highlight-color: transparent
}

.touch .over.touchend {
    -moz-transition-delay: 200ms;
    -o-transition-delay: 200ms;
    -webkit-transition-delay: 200ms;
    transition-delay: 200ms
}

#abi_page {
    overflow: hidden
}

@media only screen and (min-width: 1200px) {
    #abi_page {
        width: 100%;
        margin: auto
    }
}

@media print {
    #abi_page {
        width: 100%;
        margin: auto
    }
}

.l-header {
    width: 100%;
    position: absolute;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    z-index: 2000
}

@media only screen and (min-width: 768px) {
    .l-header {
        padding: 1.5625% 1.5625% 0 2.60417%
    }
}

@media only screen and (max-width: 767px) {
    .l-header {
        padding: 1.2em 1.3em 0
    }
}

@media only screen and (min-width: 768px) {
    .l-header__logo {
        filter: drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.3))
    }
}

@media only screen and (max-width: 767px) {
    .l-header__logo {
        filter: drop-shadow(0px 0px 2em rgba(0, 0, 0, 0.3))
    }
}

.l-header__nav ul,
.l-header__fix ul {
    display: flex;
    flex-direction: row
}

@media only screen and (min-width: 768px) and (max-width: 983px) {

    .l-header__nav ul li:first-child,
    .l-header__fix ul li:first-child {
        display: none
    }
}

.l-header__nav ul li a,
.l-header__fix ul li a {
    display: block;
    text-decoration: none;
    color: #FFF;
    position: relative;
    text-align: center;
    font-size: 115%;
    letter-spacing: .06em;
    font-weight: 500;
    text-shadow: 0 0 1em rgba(0, 0, 0, 0.5)
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {

    .l-header__nav ul li a,
    .l-header__fix ul li a {
        font-size: 108%
    }
}

@media only screen and (max-width: 767px) {

    .l-header__nav ul li a,
    .l-header__fix ul li a {
        font-size: 100%
    }
}

@media only screen and (min-width: 1200px) {

    .l-header__nav ul li a,
    .l-header__fix ul li a {
        padding: 1em .9em 1.1em
    }
}

@media print {

    .l-header__nav ul li a,
    .l-header__fix ul li a {
        padding: 1em .9em 1.1em
    }
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {

    .l-header__nav ul li a,
    .l-header__fix ul li a {
        padding: .8em .5em
    }
}

@media only screen and (min-width: 768px) and (max-width: 983px) {

    .l-header__nav ul li a,
    .l-header__fix ul li a {
        padding: .8em .4em
    }
}

.l-header__nav ul li a:hover:after,
.l-header__nav ul li a.is-active:after,
.l-header__fix ul li a:hover:after,
.l-header__fix ul li a.is-active:after {
    width: 1.5em;
    opacity: 1
}

.l-header__nav ul li a:after,
.l-header__fix ul li a:after {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    content: '';
    background: red;
    width: 0;
    height: 2px;
    display: block;
    margin: 0 auto;
    transition: width 400ms ease, opacity 400ms ease
}

.l-header__nav ul li.rsv,
.l-header__fix ul li.rsv {
    width: 209px;
    margin-left: 1.5em
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {

    .l-header__nav ul li.rsv,
    .l-header__fix ul li.rsv {
        width: 130px
    }
}

@media only screen and (max-width: 767px) {

    .l-header__nav ul li.rsv,
    .l-header__fix ul li.rsv {
        width: auto
    }
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {

    .l-header__nav ul li.rsv,
    .l-header__fix ul li.rsv {
        margin-left: .5em
    }
}

@media only screen and (max-width: 767px) {

    .l-header__nav ul li.rsv,
    .l-header__fix ul li.rsv {
        margin-left: 0
    }
}

@media only screen and (min-width: 768px) and (max-width: 983px) {

    .l-header__nav ul li.rsv,
    .l-header__fix ul li.rsv {
        width: 100px
    }
}

.l-header__nav ul li.rsv a,
.l-header__fix ul li.rsv a {
    text-align: center;
    color: #FFF;
    background: red;
    transition: opacity 400ms ease
}

.l-header__nav ul li.rsv a:after,
.l-header__fix ul li.rsv a:after {
    display: none
}

.l-header__nav ul li.rsv a:hover,
.l-header__fix ul li.rsv a:hover {
    opacity: .8
}

.l-header__fix {
    position: fixed;
    left: 0;
    width: 100%;
    z-index: 3000;
    background: rgba(255, 255, 255, 0.9);
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding-left: 1.5625%;
    opacity: 0;
    top: -70px;
    transition: opacity 600ms ease, top 600ms ease
}

.activeFix .l-header__fix {
    opacity: 1;
    top: 0
}

.l-header__fix ul li a {
    color: #1a1a27;
    text-shadow: none
}

.l-header__fix ul li a:after {
    bottom: -1px
}

.l-title {
    position: relative
}

.l-title__text {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    text-align: left;
    width: 83.33333%;
    left: 0;
    right: 0;
    margin: 0 auto;
    color: #FFF;
    font-size: 258%;
    letter-spacing: .06em;
    z-index: 10;
    padding-left: 3.5625%
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    .l-title__text {
        font-size: 215%
    }
}

@media only screen and (max-width: 767px) {
    .l-title__text {
        font-size: 143%
    }
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    .l-title__text {
        padding-left: 4.75%
    }
}

@media only screen and (max-width: 767px) {
    .l-title__text {
        padding-left: 1.2em
    }
}

@media only screen and (min-width: 1200px) and (max-width: 1560px) {
    .l-title__text {
        font-size: 229%
    }
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    .l-title__text {
        font-size: 200%
    }
}

@media only screen and (max-width: 767px) {
    .l-title__text {
        top: 58%;
        text-shadow: 0 0 1em rgba(0, 0, 0, 0.5), 0 0 1em rgba(0, 0, 0, 0.5), 0 0 1em rgba(0, 0, 0, 0.5), 0 0 1em rgba(0, 0, 0, 0.5)
    }
}

.l-title__text:before {
    content: '';
    position: absolute;
    top: 55%;
    transform: translateY(-50%);
    left: 0;
    height: 1px;
    display: block;
    background: #FFF;
    width: 2.5%
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    .l-title__text:before {
        width: 4%
    }
}

@media only screen and (max-width: 767px) {
    .l-title__text:before {
        width: .8em
    }
}

@media only screen and (min-width: 768px) and (max-width: 983px) {
    .l-title__image {
        overflow: hidden
    }

    .l-title__image img {
        position: relative;
        width: 120%;
        max-width: none;
        margin-left: -10%
    }
}

@media only screen and (max-width: 767px) {
    .l-title__image {
        overflow: hidden
    }

    .l-title__image img {
        position: relative;
        width: 170%;
        max-width: none;
        margin-left: -35%
    }
}

.casual .l-title__image {
    width: 97.91667%;
    border-radius: 10px;
    overflow: hidden;
    margin-inline: auto
}

.l-topicpath {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    max-width: 1600px;
    margin: 0 auto;
    width: 86.9898%;
    padding: .8em 0
}

@media only screen and (max-width: 1199px) {
    .l-topicpath {
        display: none
    }
}

.l-topicpath li {
    font-size: 86%;
    letter-spacing: .03em;
    display: flex;
    flex-direction: row;
    align-items: center
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    .l-topicpath li {
        font-size: 79%
    }
}

@media only screen and (max-width: 767px) {
    .l-topicpath li {
        font-size: 72%
    }
}

.l-topicpath li:not(:last-child):after {
    content: '>';
    margin: 0 15px;
    transform: scaleX(0.6);
    font-size: 84%
}

.l-topicpath li:last-child {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    line-height: 1.6
}

.firefox .l-topicpath li:last-child,
.ie .l-topicpath li:last-child {
    max-height: 1.6em
}

@media only screen and (min-width: 1200px) {
    .l-topicpath li:last-child {
        max-width: 60em
    }
}

@media print {
    .l-topicpath li:last-child {
        max-width: 60em
    }
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    .l-topicpath li:last-child {
        max-width: 40em
    }
}

@media only screen and (max-width: 767px) {
    .l-topicpath li:last-child {
        max-width: 15em
    }
}

.l-topicpath li a {
    display: block;
    text-decoration: none
}

.l-topicpath li a:hover {
    text-decoration: underline
}

body:not([id*="homepage"]) .p-intro {
    text-align: center;
    padding: 7.8125% 0 6.77083%
}

@media only screen and (max-width: 767px) {
    body:not([id*="homepage"]) .p-intro {
        padding: 2.5em 0 1.5em
    }
}

body:not([id*="homepage"]) .p-intro__title {
    font-size: 186%;
    letter-spacing: .06em;
    margin-bottom: .4em
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    body:not([id*="homepage"]) .p-intro__title {
        font-size: 143%
    }
}

@media only screen and (max-width: 767px) {
    body:not([id*="homepage"]) .p-intro__title {
        font-size: 136%
    }
}

@media only screen and (max-width: 767px) {
    body:not([id*="homepage"]) .p-intro__title {
        line-height: 1.66667;
        width: 86.9898%;
        margin-inline: auto
    }
}

body:not([id*="homepage"]) .p-intro__text {
    font-size: 108%;
    letter-spacing: .06em;
    line-height: 1.86667
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    body:not([id*="homepage"]) .p-intro__text {
        font-size: 100%
    }
}

@media only screen and (max-width: 767px) {
    body:not([id*="homepage"]) .p-intro__text {
        font-size: 93%
    }
}

@media only screen and (max-width: 767px) {
    body:not([id*="homepage"]) .p-intro__text {
        width: 86.9898%;
        margin-inline: auto;
        text-align: left
    }
}

.l-footer {
    margin-top: 6.77083%
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    .l-footer {
        margin-top: 10.83333%
    }
}

@media only screen and (max-width: 767px) {
    .l-footer {
        margin-top: 5em
    }
}

.l-footer__image {
    position: relative
}

.casual .l-footer__image {
    width: 97.91667%;
    margin-inline: auto;
    border-radius: 10px;
    overflow: hidden
}

.l-footer__image .logo {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 10;
    transform: translate(-50%, -50%);
    width: 13.02083%;
    filter: drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.7));
    width: 13.02083%
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    .l-footer__image .logo {
        width: 20.83333%
    }
}

@media only screen and (max-width: 767px) {
    .l-footer__image .logo {
        width: 30%
    }
}

@media only screen and (max-width: 767px) {
    .l-footer__image .logo {
        width: 45%
    }
}

@media only screen and (max-width: 767px) {
    .l-footer__image .img {
        overflow: hidden
    }

    .l-footer__image .img img {
        position: relative;
        width: 180%;
        max-width: none;
        margin-left: -40%
    }
}

.l-footer__nav {
    padding: 4.16667% 0
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    .l-footer__nav {
        padding: 6.66667% 0
    }
}

@media only screen and (max-width: 767px) {
    .l-footer__nav {
        padding: 2em 0
    }
}

@media only screen and (min-width: 768px) {
    .l-footer__nav {
        max-width: 1400px;
        margin: 0 auto;
        width: 90%;
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        align-items: center
    }
}

@media only screen and (max-width: 767px) {
    .l-footer__nav {
        width: 86.9898%;
        margin-inline: auto;
        padding-bottom: 5em
    }
}

@media only screen and (min-width: 768px) {
    .l-footer__nav__name {
        width: 50%
    }
}

.l-footer__nav__name .txt_name {
    font-size: 122%;
    letter-spacing: .06em
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    .l-footer__nav__name .txt_name {
        font-size: 115%
    }
}

@media only screen and (max-width: 767px) {
    .l-footer__nav__name .txt_name {
        font-size: 108%
    }
}

.l-footer__nav__name address {
    font-size: 108%;
    letter-spacing: .06em;
    margin-top: .5em
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    .l-footer__nav__name address {
        font-size: 100%
    }
}

@media only screen and (max-width: 767px) {
    .l-footer__nav__name address {
        font-size: 93%
    }
}

.l-footer__nav__name .txt_tel {
    font-size: 108%;
    letter-spacing: .08em;
    margin-top: .5em
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    .l-footer__nav__name .txt_tel {
        font-size: 100%
    }
}

@media only screen and (max-width: 767px) {
    .l-footer__nav__name .txt_tel {
        font-size: 100%
    }
}

.l-footer__nav__name .txt_tel a,
.l-footer__nav__name .txt_tel span {
    font-size: 154%
}

@media only screen and (max-width: 767px) {

    .l-footer__nav__name .txt_tel a,
    .l-footer__nav__name .txt_tel span {
        display: inline-block
    }
}

@media only screen and (max-width: 767px) {
    .l-footer__nav__name .txt_tel i {
        display: inline-block
    }
}

.l-footer__nav__name .txt_tel2 {
    font-size: 108%;
    letter-spacing: .08em
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    .l-footer__nav__name .txt_tel2 {
        font-size: 100%
    }
}

@media only screen and (max-width: 767px) {
    .l-footer__nav__name .txt_tel2 {
        font-size: 108%
    }
}

@media only screen and (min-width: 768px) {
    .l-footer__nav__name .txt_tel2 {
        margin-top: .3em
    }
}

@media only screen and (max-width: 767px) {
    .l-footer__nav__name .txt_tel2 {
        margin-top: .8em
    }
}

@media only screen and (max-width: 767px) {
    .l-footer__nav__name .txt_tel2 i {
        display: inline-block
    }
}

.l-footer__nav__name .txt_fax {
    font-size: 108%;
    letter-spacing: .08em;
    pointer-events: none;
    margin-top: .3em
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    .l-footer__nav__name .txt_fax {
        font-size: 100%
    }
}

@media only screen and (max-width: 767px) {
    .l-footer__nav__name .txt_fax {
        font-size: 108%
    }
}

@media only screen and (max-width: 767px) {
    .l-footer__nav__name .txt_fax {
        margin-top: .8em
    }
}

.l-footer__nav__name .sns {
    display: flex;
    flex-direction: row;
    margin-top: 1em
}

.l-footer__nav__name .sns .sst {
    font-size: 115%;
    letter-spacing: .06em;
    font-family: "EB Garamond", "Times New Roman", Times, Garamond, Georgia, serif;
    margin-right: .8em
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    .l-footer__nav__name .sns .sst {
        font-size: 108%
    }
}

@media only screen and (max-width: 767px) {
    .l-footer__nav__name .sns .sst {
        font-size: 115%
    }
}

.l-footer__nav__name .sns>div {
    display: flex;
    flex-direction: row
}

.l-footer__nav__name .sns>div p {
    margin-left: 1.5em
}

.l-footer__nav__name .sns>div p a {
    display: block;
    text-decoration: none;
    font-size: 143%
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    .l-footer__nav__name .sns>div p a {
        font-size: 129%
    }
}

@media only screen and (max-width: 767px) {
    .l-footer__nav__name .sns>div p a {
        font-size: 122%
    }
}

@media only screen and (min-width: 768px) {
    .l-footer__nav__link {
        width: 50%;
        max-width: 580px
    }
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    .l-footer__nav__link {
        width: 39.28571%
    }
}

.l-footer__nav__link .fnav {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap
}

.l-footer__nav__link .fnav li {
    margin-bottom: 1.2em;
    margin-right: 2em
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    .l-footer__nav__link .fnav li {
        margin-bottom: .8em
    }
}

@media only screen and (max-width: 767px) {
    .l-footer__nav__link .fnav li {
        margin-bottom: .5em
    }
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    .l-footer__nav__link .fnav li {
        margin-right: 1em
    }
}

@media only screen and (max-width: 767px) {
    .l-footer__nav__link .fnav li {
        margin-right: .5em
    }
}

.l-footer__nav__link .fnav li a {
    display: block;
    text-decoration: none;
    font-size: 108%;
    letter-spacing: .06em
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    .l-footer__nav__link .fnav li a {
        font-size: 100%
    }
}

@media only screen and (max-width: 767px) {
    .l-footer__nav__link .fnav li a {
        font-size: 93%
    }
}

.l-footer__nav__link .fnav li a:hover {
    text-decoration: underline
}

.l-footer__nav__link .btn {
    max-width: 376px;
    margin-top: 1.5em
}

@media only screen and (max-width: 767px) {
    .l-footer__nav__link .btn {
        margin-top: 1em
    }
}

@media only screen and (max-width: 767px) {
    .l-nav {
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        z-index: 5010
    }

    .l-nav ul {
        display: flex;
        flex-direction: row;
        border-top: 1px solid
    }

    .l-nav ul li {
        width: 25%;
        display: flex
    }

    .l-nav ul li>a,
    .l-nav ul li>span,
    .l-nav ul li>button {
        cursor: pointer;
        width: 100%;
        height: 100%;
        display: block;
        text-decoration: none;
        text-align: center;
        background: #f1f1ef;
        padding: .7em 0 .6em;
        border-right: 1px solid #d5d5cd
    }

    .casual .l-nav ul li>a,
    .casual .l-nav ul li>span,
    .casual .l-nav ul li>button {
        background: #fff
    }

    .l-nav ul li>a .icon,
    .l-nav ul li>span .icon,
    .l-nav ul li>button .icon {
        display: block;
        font-size: 129%;
        margin-bottom: .2em
    }

    .l-nav ul li>a .txt,
    .l-nav ul li>span .txt,
    .l-nav ul li>button .txt {
        display: block;
        font-size: 86%;
        letter-spacing: .05em
    }

    .casual .l-nav ul li>a .txt,
    .casual .l-nav ul li>span .txt,
    .casual .l-nav ul li>button .txt {
        color: #414141
    }

    .l-nav ul li button {
        line-height: inherit;
        border: none;
        outline: none;
        appearance: none;
        font-size: inherit;
        font-family: inherit
    }

    .l-nav ul li.menu button {
        background: #f1f1ef;
        font-family: "EB Garamond", "Times New Roman", Times, Garamond, Georgia, serif;
        padding: .5em 0 0
    }

    .casual .l-nav ul li.menu button {
        background: #fff;
        font-family: 'Lato', sans-serif
    }

    .l-nav ul li.menu button .icon {
        width: 1.9em;
        height: 1em;
        position: relative;
        display: block;
        margin: 0 auto .4em
    }

    .l-nav ul li.menu button .icon i {
        display: block;
        width: 100%;
        height: 1px;
        margin: 0 auto;
        position: absolute;
        transition: all 300ms ease
    }

    .l-nav ul li.menu button .icon i:first-child {
        top: 0
    }

    .l-nav ul li.menu button .icon i:nth-child(2) {
        top: 50%
    }

    .l-nav ul li.menu button .icon i:last-child {
        top: 100%
    }

    .l-nav ul li.menu button .txt {
        font-size: 108%
    }

    .casual .l-nav ul li.menu button .txt {
        font-size: 90%
    }

    .l-nav ul li.menu button.is-active .icon i:first-child {
        top: 50%;
        transform: rotate(45deg)
    }

    .l-nav ul li.menu button.is-active .icon i:nth-child(2) {
        opacity: 0
    }

    .l-nav ul li.menu button.is-active .icon i:last-child {
        top: 50%;
        transform: rotate(-45deg)
    }

    .l-nav ul li.rsv {
        border: none
    }

    .l-nav ul li.rsv button {
        position: relative
    }

    .l-nav ul li.rsv button .txt {
        color: #FFF !important
    }

    .l-nav ul li.rsv button .icon {
        color: #FFF !important;
        font-size: 136%;
        transition: opacity 400ms ease
    }

    .l-nav ul li.rsv button .icon_close {
        opacity: 0;
        transition: opacity 400ms ease;
        width: 1.9em;
        height: 1em;
        position: absolute;
        left: 0;
        right: 0;
        margin: -1.2em auto 0;
        display: block;
        top: 50%
    }

    .l-nav ul li.rsv button .icon_close i {
        display: block;
        width: 100%;
        height: 1px;
        margin: 0 auto;
        position: absolute;
        background: #FFF
    }

    .l-nav ul li.rsv button .icon_close i:first-child {
        top: 50%;
        transform: rotate(45deg)
    }

    .l-nav ul li.rsv button .icon_close i:last-child {
        top: 50%;
        transform: rotate(-45deg)
    }

    .l-nav ul li.rsv button.is-active .icon {
        opacity: 0
    }

    .l-nav ul li.rsv button.is-active .icon_close {
        opacity: 1
    }
}

@media only screen and (max-width: 767px) {
    .l-reserve {
        position: fixed;
        bottom: -90%;
        left: 0;
        width: 100%;
        z-index: 5001;
        background: rgba(51, 51, 51, 0.8);
        transition: opacity 600ms ease, bottom 800ms ease
    }

    .l-reserve.is-active {
        bottom: 0;
        opacity: 1;
        transition: opacity 600ms ease, bottom 600ms ease
    }

    .l-reserve__inner {
        padding: 1.5em 0em 6em
    }

    .l-reserve__inner p {
        width: 86.9898%;
        margin-inline: auto
    }

    .l-reserve__inner p:not(:last-child) {
        margin-bottom: .7em
    }

    .l-reserve__inner p a,
    .l-reserve__inner p button {
        display: block;
        text-decoration: none
    }

    .l-reserve__inner p.c-btn2 a,
    .l-reserve__inner p.c-btn2 button {
        position: relative;
        padding-left: 3.8em
    }
}

@media only screen and (max-width: 767px) and (min-width: 768px) and (max-width: 1199px) {

    .l-reserve__inner p.c-btn2 a,
    .l-reserve__inner p.c-btn2 button {
        padding-left: 2em
    }
}

@media only screen and (max-width: 767px) and (max-width: 767px) {

    .l-reserve__inner p.c-btn2 a,
    .l-reserve__inner p.c-btn2 button {
        padding-left: 3em
    }
}

@media only screen and (max-width: 767px) {

    .l-reserve__inner p.c-btn2 a:hover i img,
    .l-reserve__inner p.c-btn2 button:hover i img {
        filter: brightness(0%)
    }
}

@media only screen and (max-width: 767px) and (min-width: 768px) and (max-width: 1199px) {

    .l-reserve__inner p.c-btn2 a i,
    .l-reserve__inner p.c-btn2 button i {
        display: none
    }
}

@media only screen and (max-width: 767px) {

    .l-reserve__inner p.c-btn2 a i img,
    .l-reserve__inner p.c-btn2 button i img {
        width: 1em;
        height: auto;
        display: inline-block;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        left: 2em;
        display: inline-block;
        vertical-align: top;
        transition: filter 400ms ease
    }
}

@media only screen and (max-width: 767px) and (max-width: 767px) {

    .l-reserve__inner p.c-btn2 a i img,
    .l-reserve__inner p.c-btn2 button i img {
        left: 1em
    }
}

@media only screen and (max-width: 767px) {
    .l-menulist {
        right: -100%;
        opacity: 0;
        position: fixed;
        top: 0;
        width: 100%;
        height: 100%;
        z-index: 5001;
        overflow-y: scroll;
        -webkit-overflow-scrolling: touch;
        background: #fbfbfa;
        transition: opacity 600ms ease, right 600ms ease
    }

    .l-menulist.is-active {
        opacity: 1;
        right: 0
    }

    .l-menulist__title {
        color: #FFF;
        width: 100%;
        text-align: center;
        height: 2.5em;
        line-height: 2.5em;
        font-size: 143%;
        box-sizing: border-box;
        position: relative
    }

    .l-menulist__title span,
    .l-menulist__title button {
        display: inline-block
    }

    .l-menulist__title span {
        vertical-align: .15em;
        letter-spacing: .1em
    }

    .l-menulist__title button {
        margin: 0;
        padding: 0;
        background: none;
        border: none;
        border-radius: 0;
        outline: none;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        box-sizing: border-box;
        color: #FFF;
        cursor: pointer;
        position: absolute;
        right: .8em;
        font-size: 111%;
        display: inline-block;
        font-family: "Shippori Mincho", "游明朝 Demibold", "Yu Mincho Demibold", "游明朝", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Times New Roman", Times, Garamond, Georgia, serif;
        top: 50%;
        transform: translateY(-50%);
        line-height: 1
    }

    .l-menulist__title button::-ms-expand {
        display: none
    }

    .l-menulist__inner {
        padding: 1.5em 0 5em;
        width: 87.17949%;
        margin: 0 auto
    }

    .l-menulist__inner .link {
        margin: 1.5em auto;
        border-top: 1px solid rgba(65, 65, 65, 0.3);
        display: flex;
        flex-direction: row;
        flex-wrap: wrap
    }

    .l-menulist__inner .link li {
        width: 50%;
        display: flex;
        letter-spacing: normal;
        border-bottom: 1px solid rgba(65, 65, 65, 0.3);
        border-right: 1px solid transparent
    }

    .l-menulist__inner .link li:nth-child(2n+1) {
        border-right: 1px solid rgba(65, 65, 65, 0.3)
    }

    .l-menulist__inner .link li a {
        width: 100%;
        display: block;
        padding: .8em 1.5em .8em .8em;
        font-size: 104%;
        text-decoration: none;
        text-align: left;
        position: relative
    }

    .l-menulist__inner .link li a:after {
        content: "";
        margin-left: .5em;
        font-family: 'icomoon' !important;
        speak: none;
        font-style: normal;
        font-weight: normal;
        font-variant: normal;
        text-transform: none;
        line-height: 1;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        font-size: 108%;
        top: 50%;
        transform: translateY(-50%);
        right: .8em;
        position: absolute
    }

    .l-menulist__inner .sns {
        display: flex;
        justify-content: center;
        flex-direction: row;
        margin-top: 1em
    }

    .l-menulist__inner .sns .sst {
        font-size: 115%;
        letter-spacing: .06em;
        font-family: "EB Garamond", "Times New Roman", Times, Garamond, Georgia, serif;
        margin-right: .8em
    }

    .l-menulist__inner .sns>div {
        display: flex;
        flex-direction: row
    }

    .l-menulist__inner .sns>div p+ {
        margin-left: 1.5em
    }

    .l-menulist__inner .sns>div p a {
        display: block;
        text-decoration: none;
        font-size: 136%
    }
}

.c-btn1 a,
.c-btn1 button {
    margin: 0;
    padding: 0;
    background: none;
    border: none;
    border-radius: 0;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    box-sizing: border-box;
    font-family: "Shippori Mincho", "游明朝 Demibold", "Yu Mincho Demibold", "游明朝", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Times New Roman", Times, Garamond, Georgia, serif;
    cursor: pointer;
    line-height: 1.5;
    width: 100%;
    overflow: hidden;
    position: relative;
    text-align: left;
    display: block;
    text-decoration: none;
    font-size: 108%;
    letter-spacing: .06em;
    color: red;
    border: 1px solid red;
    position: relative;
    transition: background 400ms ease, color 400ms ease;
    padding: 1em 2.5em 1em 2em
}

.c-btn1 a::-ms-expand,
.c-btn1 button::-ms-expand {
    display: none
}

.casual .c-btn1 a,
.casual .c-btn1 button {
    font-family: 'Noto Sans JP', "游ゴシック Medium", " Yu Gothic Medium", "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {

    .c-btn1 a,
    .c-btn1 button {
        font-size: 100%
    }
}

@media only screen and (max-width: 767px) {

    .c-btn1 a,
    .c-btn1 button {
        font-size: 100%
    }
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {

    .c-btn1 a,
    .c-btn1 button {
        padding: 1em 2em 1em 1.8em
    }
}

@media only screen and (max-width: 767px) {

    .c-btn1 a,
    .c-btn1 button {
        padding: 1em
    }
}

.c-btn1 a:after,
.c-btn1 button:after {
    content: "";
    margin-left: .5em;
    font-family: 'icomoon' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 74%;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 1.5em;
    transition: right 400ms ease
}

@media only screen and (max-width: 767px) {

    .c-btn1 a:after,
    .c-btn1 button:after {
        font-size: 65%
    }
}

.c-btn1 a:hover,
.c-btn1 button:hover {
    background: red;
    color: #FFF
}

.c-btn1 a:hover:after,
.c-btn1 button:hover:after {
    right: 1.3em
}

.c-btn2 a,
.c-btn2 button {
    margin: 0;
    padding: 0;
    background: none;
    border: none;
    border-radius: 0;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    box-sizing: border-box;
    font-family: "Shippori Mincho", "游明朝 Demibold", "Yu Mincho Demibold", "游明朝", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Times New Roman", Times, Garamond, Georgia, serif;
    cursor: pointer;
    line-height: 1.5;
    width: 100%;
    overflow: hidden;
    position: relative;
    text-align: left;
    display: block;
    text-decoration: none;
    font-size: 108%;
    letter-spacing: .06em;
    color: #fff;
    border: 1px solid #fff;
    position: relative;
    transition: background 400ms ease, color 400ms ease;
    padding: 1em 2.5em 1em 2em
}

.c-btn2 a::-ms-expand,
.c-btn2 button::-ms-expand {
    display: none
}

.casual .c-btn2 a,
.casual .c-btn2 button {
    font-family: 'Noto Sans JP', "游ゴシック Medium", " Yu Gothic Medium", "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {

    .c-btn2 a,
    .c-btn2 button {
        font-size: 100%
    }
}

@media only screen and (max-width: 767px) {

    .c-btn2 a,
    .c-btn2 button {
        font-size: 100%
    }
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {

    .c-btn2 a,
    .c-btn2 button {
        padding: 1em 2em 1em 1.5em
    }
}

@media only screen and (max-width: 767px) {

    .c-btn2 a,
    .c-btn2 button {
        padding: 1em
    }
}

.c-btn2 a:after,
.c-btn2 button:after {
    content: "";
    margin-left: .5em;
    font-family: 'icomoon' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 74%;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 1.5em;
    transition: right 400ms ease
}

@media only screen and (max-width: 767px) {

    .c-btn2 a:after,
    .c-btn2 button:after {
        font-size: 65%
    }
}

.c-btn2 a:hover,
.c-btn2 button:hover {
    background: #fff;
    color: #414141
}

.c-btn2 a:hover:after,
.c-btn2 button:hover:after {
    right: 1.3em
}

.c-btn2 a:hover:before,
.c-btn2 button:hover:before {
    opacity: 1
}

.c-btn3 {
    transition: background 400ms ease
}

.c-btn3:hover {
    background: #FFF
}

.c-btn3 a,
.c-btn3 button {
    margin: 0;
    padding: 0;
    background: none;
    border: none;
    border-radius: 0;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    box-sizing: border-box;
    font-family: "Shippori Mincho", "游明朝 Demibold", "Yu Mincho Demibold", "游明朝", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Times New Roman", Times, Garamond, Georgia, serif;
    cursor: pointer;
    line-height: 1.5;
    width: 100%;
    overflow: hidden;
    position: relative;
    text-align: left;
    display: block;
    text-decoration: none;
    font-size: 108%;
    letter-spacing: .06em;
    color: #fff;
    border: 1px solid transparent;
    position: relative;
    background: red;
    transition: opacity 400ms ease;
    padding: 1em 2.5em 1em 2em
}

.c-btn3 a::-ms-expand,
.c-btn3 button::-ms-expand {
    display: none
}

.casual .c-btn3 a,
.casual .c-btn3 button {
    font-family: 'Noto Sans JP', "游ゴシック Medium", " Yu Gothic Medium", "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {

    .c-btn3 a,
    .c-btn3 button {
        font-size: 100%
    }
}

@media only screen and (max-width: 767px) {

    .c-btn3 a,
    .c-btn3 button {
        font-size: 100%
    }
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {

    .c-btn3 a,
    .c-btn3 button {
        padding: 1em 2em 1em 1.5em
    }
}

@media only screen and (max-width: 767px) {

    .c-btn3 a,
    .c-btn3 button {
        padding: 1em
    }
}

.c-btn3 a:after,
.c-btn3 button:after {
    content: "";
    margin-left: .5em;
    font-family: 'icomoon' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 74%;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 1.5em;
    transition: right 400ms ease
}

@media only screen and (max-width: 767px) {

    .c-btn3 a:after,
    .c-btn3 button:after {
        font-size: 65%
    }
}

.c-btn3 a:hover,
.c-btn3 button:hover {
    opacity: .85
}

.c-btn3 a:hover:after,
.c-btn3 button:hover:after {
    right: 1.3em
}

.c-btn4 a,
.c-btn4 button {
    margin: 0;
    padding: 0;
    background: none;
    border: none;
    border-radius: 0;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    box-sizing: border-box;
    font-family: "Shippori Mincho", "游明朝 Demibold", "Yu Mincho Demibold", "游明朝", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Times New Roman", Times, Garamond, Georgia, serif;
    cursor: pointer;
    line-height: 1.5;
    width: 100%;
    overflow: hidden;
    position: relative;
    display: block;
    text-decoration: none;
    font-size: 108%;
    letter-spacing: .06em;
    color: red;
    border: 1px solid red;
    position: relative;
    text-align: center;
    transition: background 400ms ease, color 400ms ease;
    padding: 1em 2.5em 1em 2em
}

.c-btn4 a::-ms-expand,
.c-btn4 button::-ms-expand {
    display: none
}

.casual .c-btn4 a,
.casual .c-btn4 button {
    font-family: 'Noto Sans JP', "游ゴシック Medium", " Yu Gothic Medium", "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {

    .c-btn4 a,
    .c-btn4 button {
        font-size: 100%
    }
}

@media only screen and (max-width: 767px) {

    .c-btn4 a,
    .c-btn4 button {
        font-size: 100%
    }
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {

    .c-btn4 a,
    .c-btn4 button {
        padding: 1em 2em 1em 1.8em
    }
}

@media only screen and (max-width: 767px) {

    .c-btn4 a,
    .c-btn4 button {
        padding: 1em
    }
}

.c-btn4 a span,
.c-btn4 button span {
    margin-right: .5em
}

.c-btn4 a:hover,
.c-btn4 button:hover {
    background: red;
    color: #FFF
}

.c-btn4 a:hover:after,
.c-btn4 button:hover:after {
    right: 1.3em
}

.c-btn4 a:hover:before,
.c-btn4 button:hover:before {
    opacity: 1
}

.c-st1,
.c-st1__noshadow,
.c-st1__white {
    text-align: center;
    position: relative;
    padding-bottom: 57px
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {

    .c-st1,
    .c-st1__noshadow,
    .c-st1__white {
        padding-bottom: 30px
    }
}

@media only screen and (max-width: 767px) {

    .c-st1,
    .c-st1__noshadow,
    .c-st1__white {
        padding-bottom: 0
    }
}

.c-st1:before,
.c-st1__noshadow:before,
.c-st1__white:before {
    content: '';
    width: 7px;
    height: 7px;
    background: red;
    border-radius: 999px;
    display: block;
    margin: 0 auto .8em
}

@media only screen and (min-width: 768px) {

    .c-st1:after,
    .c-st1__noshadow:after,
    .c-st1__white:after {
        content: '';
        width: 100%;
        height: 17px;
        background: url(../images/common/bg_shadow.webp) no-repeat top center;
        background-size: 100% auto;
        display: block;
        margin-inline: auto;
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        bottom: 0;
        max-width: 339px;
        width: 100%
    }
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {

    .c-st1:after,
    .c-st1__noshadow:after,
    .c-st1__white:after {
        width: 200px
    }
}

.c-st1>span,
.c-st1__noshadow>span,
.c-st1__white>span {
    font-size: 200%;
    letter-spacing: .06em;
    display: block;
    color: red
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {

    .c-st1>span,
    .c-st1__noshadow>span,
    .c-st1__white>span {
        font-size: 165%
    }
}

@media only screen and (max-width: 767px) {

    .c-st1>span,
    .c-st1__noshadow>span,
    .c-st1__white>span {
        font-size: 150%
    }
}

.c-st1>span>i,
.c-st1__noshadow>span>i,
.c-st1__white>span>i {
    font-size: 79%;
    margin-right: .3em
}

.c-st1>i,
.c-st1__noshadow>i,
.c-st1__white>i {
    font-size: 143%;
    letter-spacing: .06em;
    display: block;
    font-family: "EB Garamond", "Times New Roman", Times, Garamond, Georgia, serif;
    margin-top: .2em;
    color: #989898;
    text-transform: capitalize
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {

    .c-st1>i,
    .c-st1__noshadow>i,
    .c-st1__white>i {
        font-size: 129%
    }
}

@media only screen and (max-width: 767px) {

    .c-st1>i,
    .c-st1__noshadow>i,
    .c-st1__white>i {
        font-size: 100%
    }
}

.c-st1__noshadow {
    padding-bottom: 0
}

.c-st1__noshadow:after {
    display: none
}

.c-st1__white {
    color: #FFF
}

.c-st1__cal {
    text-align: center
}

.c-st1__cal>i {
    display: block;
    font-size: 200%;
    letter-spacing: .06em;
    font-family: 'Lato', sans-serif
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    .c-st1__cal>i {
        font-size: 165%
    }
}

@media only screen and (max-width: 767px) {
    .c-st1__cal>i {
        font-size: 150%
    }
}

.c-st1__cal>span {
    font-size: 100%;
    letter-spacing: .06em;
    display: block
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    .c-st1__cal>span {
        font-size: 93%
    }
}

@media only screen and (max-width: 767px) {
    .c-st1__cal>span {
        font-size: 86%
    }
}

.c-st1__cal>span::before {
    content: '';
    width: 16px;
    height: 2px;
    display: block;
    margin: .8em auto 0
}

.c-lnk1 {
    position: relative
}

.c-lnk1 a,
.c-lnk1 span {
    display: inline-block;
    font-size: 108%;
    letter-spacing: .03em;
    text-decoration: none;
    cursor: pointer;
    position: relative;
    z-index: 10;
    transition: color 400ms ease;
    text-align: left
}

.casual .c-lnk1 a,
.casual .c-lnk1 span {
    font-family: 'Noto Sans JP', "游ゴシック Medium", " Yu Gothic Medium", "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {

    .c-lnk1 a,
    .c-lnk1 span {
        font-size: 100%
    }
}

@media only screen and (max-width: 767px) {

    .c-lnk1 a,
    .c-lnk1 span {
        font-size: 100%
    }
}

.c-lnk1 a:after,
.c-lnk1 span:after {
    content: "";
    margin-left: .5em;
    font-family: 'icomoon' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 67%;
    margin-left: .8em;
    transition: transform 400ms ease;
    display: inline-block;
    color: red
}

.c-lnk1 a:hover,
.c-lnk1 span:hover {
    color: red
}

.c-lnk1 a:hover:after,
.c-lnk1 span:hover:after {
    transform: translateX(0.2em)
}

.c-lnk2 {
    position: relative
}

.c-lnk2 a,
.c-lnk2 span {
    display: inline-block;
    font-size: 108%;
    letter-spacing: .03em;
    text-decoration: none;
    cursor: pointer;
    padding: 1.3em 0 1.3em 0;
    position: relative;
    z-index: 10;
    transition: color 400ms ease
}

.casual .c-lnk2 a,
.casual .c-lnk2 span {
    font-family: 'Noto Sans JP', "游ゴシック Medium", " Yu Gothic Medium", "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {

    .c-lnk2 a,
    .c-lnk2 span {
        font-size: 100%
    }
}

@media only screen and (max-width: 767px) {

    .c-lnk2 a,
    .c-lnk2 span {
        font-size: 100%
    }
}

.c-lnk2 a:after,
.c-lnk2 span:after {
    content: "";
    margin-left: .5em;
    font-family: 'icomoon' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    color: red;
    font-size: 67%;
    margin-left: .8em;
    transition: transform 400ms ease;
    display: inline-block
}

.c-lnk2 a:hover,
.c-lnk2 span:hover {
    color: red
}

.c-lnk2 a:hover:after,
.c-lnk2 span:hover:after {
    transform: translateX(0.2em)
}

.c-lnk3 {
    position: relative
}

.c-lnk3 a,
.c-lnk3 span {
    display: inline-block;
    font-size: 108%;
    letter-spacing: .03em;
    text-decoration: none;
    cursor: pointer;
    padding: .3em 1em .5em;
    position: relative;
    z-index: 10;
    background: red;
    color: #FFF;
    border-radius: 9999px;
    transition: background 400ms ease
}

.casual .c-lnk3 a,
.casual .c-lnk3 span {
    font-family: 'Noto Sans JP', "游ゴシック Medium", " Yu Gothic Medium", "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {

    .c-lnk3 a,
    .c-lnk3 span {
        font-size: 100%
    }
}

@media only screen and (max-width: 767px) {

    .c-lnk3 a,
    .c-lnk3 span {
        font-size: 100%
    }
}

.c-lnk3 a:after,
.c-lnk3 span:after {
    content: "";
    margin-left: .5em;
    font-family: 'icomoon' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    color: #fff;
    font-size: 67%;
    margin-left: .8em;
    transition: transform 400ms ease;
    display: inline-block;
    vertical-align: baseline
}

.c-lnk3 a:hover,
.c-lnk3 span:hover {
    background: #c00
}

.c-lnk3 a:hover:after,
.c-lnk3 span:hover:after {
    transform: translateX(0.2em)
}

.c-slider1 {
    position: relative
}

.c-slider1 .slick-dots {
    position: absolute;
    left: 1.5em;
    bottom: 1.5em;
    z-index: 10
}

.c-slider1 .slick-dots li {
    background: rgba(219, 219, 219, 0.7);
    display: block;
    overflow: hidden;
    width: 6px;
    height: 6px;
    border-radius: 999px;
    overflow: hidden;
    transition: background 400ms ease, transform 400ms ease;
    margin-top: 15px;
    cursor: pointer
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    .c-slider1 .slick-dots li {
        margin-top: 10px
    }
}

@media only screen and (max-width: 767px) {
    .c-slider1 .slick-dots li {
        margin-top: .7em
    }
}

@media only screen and (max-width: 767px) {
    .c-slider1 .slick-dots li {
        width: .5em;
        height: .5em
    }
}

.c-slider1 .slick-dots li.slick-active {
    background: #FFF
}

@media only screen and (min-width: 768px) {
    .c-slider1 .slick-dots li.slick-active {
        transform: scale(1.5)
    }
}

@media only screen and (max-width: 767px) {
    .c-slider1 .slick-dots li.slick-active {
        transform: scale(1.3)
    }
}

.c-slider1 .slick-dots li button {
    margin: 0;
    padding: 0;
    background: none;
    border: none;
    border-radius: 0;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    box-sizing: border-box;
    text-indent: -50px !important
}

.c-slider1 .slick-dots li button::-ms-expand {
    display: none
}

.c-slider2 .slick-dots {
    display: flex;
    flex-direction: row;
    justify-content: center;
    margin-top: 1.66667%
}

@media only screen and (max-width: 767px) {
    .c-slider2 .slick-dots {
        margin-top: 1em
    }
}

.c-slider2 .slick-dots li {
    width: 8.33333%;
    max-width: 100px;
    cursor: pointer;
    transition: opacity 400ms ease;
    overflow: hidden
}

.c-slider2 .slick-dots li img {
    position: relative;
    width: 110%;
    max-width: none;
    margin-left: -5%
}

@media only screen and (max-width: 767px) {
    .c-slider2 .slick-dots li {
        width: 16.66667%
    }
}

.c-slider2 .slick-dots li:not(:last-child) {
    margin-right: 2px
}

.c-slider2 .slick-dots li:hover {
    opacity: .8
}

.c-pnav1__title {
    font-size: 143%;
    letter-spacing: .06em;
    font-family: "EB Garamond", "Times New Roman", Times, Garamond, Georgia, serif;
    text-align: center;
    margin-bottom: 1.5em
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    .c-pnav1__title {
        font-size: 129%
    }
}

@media only screen and (max-width: 767px) {
    .c-pnav1__title {
        font-size: 129%
    }
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    .c-pnav1__title {
        margin-bottom: 1em
    }
}

@media only screen and (max-width: 767px) {
    .c-pnav1__title {
        margin-bottom: .4em
    }
}

.casual .c-pnav1__title {
    font-family: 'Noto Sans JP', "游ゴシック Medium", " Yu Gothic Medium", "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-size: 129%
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    .casual .c-pnav1__title {
        font-size: 115%
    }
}

@media only screen and (max-width: 767px) {
    .casual .c-pnav1__title {
        font-size: 115%
    }
}

.c-pnav1 ul {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center
}

.c-pnav1 ul li {
    border-left: 1px solid #dcdcdc;
    border-top: 1px solid #dcdcdc;
    border-right: 1px solid #dcdcdc;
    border-bottom: 1px solid #dcdcdc;
    display: flex;
    flex-direction: row;
    margin-bottom: -1px;
    margin-left: -1px
}

.c-pnav1 ul li a {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    text-align: center;
    width: 100%;
    padding: 1.2em 1.5em;
    position: relative;
    font-size: 115%;
    letter-spacing: .06em;
    transition: background 400ms ease
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    .c-pnav1 ul li a {
        font-size: 108%
    }
}

@media only screen and (max-width: 767px) {
    .c-pnav1 ul li a {
        font-size: 93%
    }
}

@media only screen and (max-width: 767px) {
    .c-pnav1 ul li a {
        padding: .9em 1.8em .9em 1em
    }
}

.c-pnav1 ul li a:after {
    content: "";
    margin-left: .5em;
    font-family: 'icomoon' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 1em
}

@media only screen and (max-width: 767px) {
    .c-pnav1 ul li a:after {
        right: .7em
    }
}

.c-pnav1 ul li a:hover {
    background: rgba(217, 212, 200, 0.7)
}

@media only screen and (min-width: 768px) {
    .c-pnav1 ul li.column1 {
        width: 100%
    }

    .c-pnav1 ul li.column2 {
        width: 50%
    }

    .c-pnav1 ul li.column3 {
        width: 33.33333%
    }

    .c-pnav1 ul li.column4 {
        width: 25%
    }

    .c-pnav1 ul li.column5 {
        width: 20%
    }

    .c-pnav1 ul li.column6 {
        width: 16.66667%
    }
}

@media only screen and (max-width: 767px) {
    .c-pnav1 ul li {
        width: 50%
    }

    .c-pnav1 ul li:last-child:nth-child(2n+1) {
        width: calc(100% - 1px)
    }
}

.c-tbl1:before {
    content: '';
    width: 20px;
    height: 2px;
    background: red;
    display: block
}

.c-tbl1 tr th,
.c-tbl1 tr td {
    font-size: 108%;
    letter-spacing: .06em;
    padding: .8em 1em;
    vertical-align: top
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {

    .c-tbl1 tr th,
    .c-tbl1 tr td {
        font-size: 100%
    }
}

@media only screen and (max-width: 767px) {

    .c-tbl1 tr th,
    .c-tbl1 tr td {
        font-size: 93%
    }
}

.c-tbl1 tr th {
    font-weight: normal;
    padding-left: 0
}

.c-txt1 {
    font-size: 108%;
    letter-spacing: .08em
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    .c-txt1 {
        font-size: 100%
    }
}

@media only screen and (max-width: 767px) {
    .c-txt1 {
        font-size: 100%
    }
}

.l-search {
    position: fixed;
    left: 0;
    bottom: 20px;
    z-index: 10000
}

.l-search.is-active>.btn span:before {
    content: "";
    margin-right: .5em;
    font-family: 'icomoon' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    margin: 0 auto .3em
}

.l-search.is-active .l-search__inner,
.l-search.is-loaded .l-search__inner {
    transform: translateX(0);
    transition: transform 1000ms ease
}

.l-search>.btn {
    margin: 0;
    padding: 0;
    background: none;
    border: none;
    border-radius: 0;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    box-sizing: border-box;
    position: relative;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 6.563em;
    padding: 4.225em 0;
    color: #FFF;
    background: red;
    box-sizing: border-box;
    font-size: 108%;
    font-family: "Shippori Mincho", "游明朝 Demibold", "Yu Mincho Demibold", "游明朝", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Times New Roman", Times, Garamond, Georgia, serif;
    cursor: pointer
}

.l-search>.btn::-ms-expand {
    display: none
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    .l-search>.btn {
        font-size: 100%
    }
}

@media only screen and (max-width: 767px) {
    .l-search>.btn {
        font-size: 100%
    }
}

.casual .l-search>.btn {
    font-family: 'Noto Sans JP', "游ゴシック Medium", " Yu Gothic Medium", "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif
}

.l-search>.btn span {
    letter-spacing: .05em
}

@media only screen and (max-width: 767px) {
    .l-search>.btn span {
        letter-spacing: .03em
    }
}

.l-search>.btn span:before {
    content: "";
    margin-right: .5em;
    font-family: 'icomoon' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    display: block;
    margin: 0 auto .3em;
    text-align: center;
    font-size: 120%;
    line-height: 1
}

.l-search__inner {
    position: absolute;
    left: 100%;
    top: 0;
    display: flex;
    align-items: center;
    width: 530px;
    height: 100%;
    padding: 0 35px 0 30px;
    background: rgba(255, 0, 0, 0.5);
    box-sizing: border-box;
    transform: translateX(-120%);
    transition: transform 500ms ease
}

.l-search__inner .inner {
    width: 100%
}

.l-search__inner .inner form {
    display: flex;
    align-items: flex-end;
    justify-content: space-between
}

.l-search__inner .inner form [class^="wrp"]:not(:last-child) {
    margin-right: 1.21212%
}

.l-search__inner .inner form [class^="wrp"] em {
    display: block;
    font-size: 93%;
    letter-spacing: .05em
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    .l-search__inner .inner form [class^="wrp"] em {
        font-size: 93%
    }
}

@media only screen and (max-width: 767px) {
    .l-search__inner .inner form [class^="wrp"] em {
        font-size: 86%
    }
}

.l-search__inner .inner form [class^="wrp"] .wrap {
    position: relative;
    border-bottom: 1px solid #b9b9b9;
    height: 40px;
    line-height: 40px
}

.l-search__inner .inner form [class^="wrp"] .wrap input[type="text"],
.l-search__inner .inner form [class^="wrp"] .wrap select {
    -moz-appearance: none;
    -webkit-appearance: none;
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
    border: none;
    padding: .2em .5em;
    background: none;
    box-sizing: border-box;
    color: red;
    letter-spacing: .06em;
    font-size: 115%;
    outline: none;
    font-weight: bold
}

.l-search__inner .inner form [class^="wrp"] .wrap input {
    vertical-align: top
}

.l-search__inner .inner form [class^="wrp"] .wrap select::-ms-expand {
    display: none
}

.l-search__inner .inner form .wrp_day {
    width: 29.29293%
}

.l-search__inner .inner form .wrp_day .wrap:after {
    content: "";
    margin-left: .5em;
    font-family: 'icomoon' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    position: absolute;
    right: .2em;
    top: 50%;
    margin: -.5em 0 0;
    color: #0f1024;
    line-height: 1
}

.l-search__inner .inner form .wrp_sta,
.l-search__inner .inner form .wrp_per,
.l-search__inner .inner form .wrp_roo {
    width: 16.77419%;
    box-sizing: border-box
}

.l-search__inner .inner form .wrp_sta .wrap:after,
.l-search__inner .inner form .wrp_per .wrap:after,
.l-search__inner .inner form .wrp_roo .wrap:after {
    content: "";
    margin-left: .5em;
    font-family: 'icomoon' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    position: absolute;
    right: .65em;
    top: 50%;
    margin: -.5em 0 0;
    color: red;
    line-height: 1
}

.l-search__inner .inner form .btn_submit {
    width: 17.2043%;
    margin-left: 1.29032%
}

.l-search__inner .inner form .btn_submit input {
    -moz-appearance: none;
    -webkit-appearance: none;
    width: 100%;
    height: 46px;
    line-height: 46px;
    border: none;
    background: red;
    font-size: 115%;
    letter-spacing: .05em;
    color: #FFF
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    .l-search__inner .inner form .btn_submit input {
        font-size: 115%
    }
}

@media only screen and (max-width: 767px) {
    .l-search__inner .inner form .btn_submit input {
        font-size: 108%
    }
}

@media only screen and (max-width: 767px) {
    .l-search__inner .inner form .btn_submit input {
        letter-spacing: .03em
    }
}

.l-search__inner .inner form .btn_submit input:hover {
    cursor: pointer
}

.l-search__inner .inner .btns {
    margin-top: .8em;
    letter-spacing: -.5em
}

.l-search__inner .inner .btns .btn {
    display: inline-block;
    letter-spacing: normal;
    width: 49%
}

.l-search__inner .inner .btns .btn button {
    margin: 0;
    padding: 0;
    background: none;
    border: none;
    border-radius: 0;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    box-sizing: border-box;
    font-family: "Shippori Mincho", "游明朝 Demibold", "Yu Mincho Demibold", "游明朝", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Times New Roman", Times, Garamond, Georgia, serif;
    cursor: pointer;
    line-height: 1.5;
    width: 100%;
    position: relative;
    display: block;
    text-decoration: none;
    text-align: center;
    font-size: 108%;
    padding: .5em 1.5em
}

.l-search__inner .inner .btns .btn button::-ms-expand {
    display: none
}

.l-search__inner .inner .btns .btn button i {
    margin: 0 .3em 0 0;
    font-size: 87%
}

.l-search__inner .inner .btns .btn.btn1 button {
    color: #FFF;
    background: red
}

.l-search__inner .inner .btns .btn.btn2 {
    margin-left: 2%
}

.l-search__inner .inner .btns .btn.btn2 button {
    color: #FFF;
    background: red
}

html.facility #ui-datepicker-div {
    z-index: 100000000 !important
}

html.facility .ui-datepicker {
    display: none;
    background: #FFF;
    padding: .5em;
    box-shadow: 0 0 1em rgba(0, 0, 0, 0.1);
    font-family: "EB Garamond", "Times New Roman", Times, Garamond, Georgia, serif
}

@media only screen and (max-width: 767px) {
    html.facility .ui-datepicker {
        width: 85%
    }
}

html.facility .ui-datepicker-title {
    text-align: center;
    font-size: 93%;
    letter-spacing: .1em;
    background: #414141;
    color: #FFF;
    padding: 0.2em 0
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    html.facility .ui-datepicker-title {
        font-size: 93%
    }
}

@media only screen and (max-width: 767px) {
    html.facility .ui-datepicker-title {
        font-size: 108%
    }
}

@media only screen and (max-width: 767px) {
    html.facility .ui-datepicker-title {
        padding: 0.6em 0
    }
}

html.facility .ui-datepicker-title .ui-datepicker-month {
    font-size: 139%
}

html.facility .ui-datepicker-title .ui-datepicker-month:after {
    content: '月';
    font-size: 67%
}

html.facility .ui-datepicker-header {
    position: relative
}

html.facility .ui-datepicker-header .ui-datepicker-prev,
html.facility .ui-datepicker-header .ui-datepicker-next {
    display: block;
    text-decoration: none;
    background: #FFF;
    text-align: center;
    font-size: 108%;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
    transition: background 400ms ease
}

html.facility .ui-datepicker-header .ui-datepicker-prev span,
html.facility .ui-datepicker-header .ui-datepicker-next span {
    padding: 0 .5em
}

html.facility .ui-datepicker-header .ui-datepicker-prev span:before,
html.facility .ui-datepicker-header .ui-datepicker-next span:before {
    content: '';
    width: .3em;
    height: .3em;
    display: inline-block;
    transform: rotate(45deg) translate(-0.05em, 0.05em);
    vertical-align: 0.05em;
    margin-top: -0.25em;
    border-top: 1px solid #414141;
    border-right: 1px solid #414141;
    transition: border 400ms ease
}

html.facility .ui-datepicker-header .ui-datepicker-prev:hover,
html.facility .ui-datepicker-header .ui-datepicker-next:hover {
    background: #8C8C8C
}

html.facility .ui-datepicker-header .ui-datepicker-prev:hover span:before,
html.facility .ui-datepicker-header .ui-datepicker-next:hover span:before {
    border-color: #fff
}

html.facility .ui-datepicker-header .ui-datepicker-prev {
    left: .5em
}

html.facility .ui-datepicker-header .ui-datepicker-prev span:before {
    transform: rotate(-135deg) translate(-0.05em, 0.05em)
}

html.facility .ui-datepicker-header .ui-datepicker-next {
    right: .5em
}

html.facility .ui-datepicker-group {
    width: calc((100% - .5em)*.5);
    float: left
}

html.facility .ui-datepicker-group.ui-datepicker-group-first {
    margin-right: .5em
}

html.facility .ui-datepicker-calendar {
    position: relative;
    width: 100%;
    padding: .5em;
    border-top: 1px dotted rgba(140, 140, 140, 0.3);
    border-left: 1px dotted rgba(140, 140, 140, 0.3)
}

html.facility .ui-datepicker-calendar tr th,
html.facility .ui-datepicker-calendar tr td {
    text-align: center;
    color: #464646;
    font-weight: normal;
    font-size: 100%;
    border-bottom: 1px dotted rgba(140, 140, 140, 0.3);
    border-right: 1px dotted rgba(140, 140, 140, 0.3)
}

html.facility .ui-datepicker-calendar tr th:first-child,
html.facility .ui-datepicker-calendar tr td:first-child {
    background: rgba(205, 43, 43, 0.2)
}

html.facility .ui-datepicker-calendar tr th:nth-child(7),
html.facility .ui-datepicker-calendar tr td:nth-child(7) {
    background: rgba(75, 173, 219, 0.2)
}

@media only screen and (max-width: 767px) {

    html.facility .ui-datepicker-calendar tr th,
    html.facility .ui-datepicker-calendar tr td {
        font-size: 108%
    }
}

html.facility .ui-datepicker-calendar tr th a,
html.facility .ui-datepicker-calendar tr th span,
html.facility .ui-datepicker-calendar tr td a,
html.facility .ui-datepicker-calendar tr td span {
    width: 100%;
    height: 2em;
    margin: 0 auto;
    white-space: nowrap;
    box-sizing: border-box;
    padding: .5em 0;
    color: #464646;
    display: block;
    text-decoration: none;
    line-height: 1
}

@media only screen and (max-width: 767px) {

    html.facility .ui-datepicker-calendar tr th a,
    html.facility .ui-datepicker-calendar tr th span,
    html.facility .ui-datepicker-calendar tr td a,
    html.facility .ui-datepicker-calendar tr td span {
        height: 2.3em;
        line-height: 1.3em
    }
}

html.facility .ui-datepicker-calendar tr th a,
html.facility .ui-datepicker-calendar tr td a {
    transition: background 300ms
}

html.facility .ui-datepicker-calendar tr th a:hover,
html.facility .ui-datepicker-calendar tr td a:hover {
    color: #fff !important
}

html.facility .ui-datepicker-calendar tr th span {
    width: auto
}

html.facility .ui-datepicker-calendar tr td span {
    opacity: .3
}

html.facility .ui-datepicker-calendar tr td a {
    transition: background 400ms ease, color 400ms ease
}

html.facility .ui-datepicker-calendar tr td a:hover {
    background: #8C8C8C
}

html.facility .ui-datepicker-calendar tr td a.ui-state-active {
    background: #000;
    color: #fff
}

html.facility .ui-datepicker-calendar tr td.ui-datepicker-other-month a,
html.facility .ui-datepicker-calendar tr td.ui-datepicker-other-month span {
    color: rgba(65, 65, 65, 0.4)
}

html.facility .ui-datepicker-calendar tr td.ui-datepicker-other-month a.ui-state-active,
html.facility .ui-datepicker-calendar tr td.ui-datepicker-other-month span.ui-state-active {
    background: #000;
    color: #fff
}

.l-dialog {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10001;
    display: none
}

.l-dialog.is-scroll {
    overflow-y: scroll
}

.l-dialog.is-scroll .l-dialog__wrapper {
    top: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    transform: translate(0)
}

.l-dialog.is-active .l-dialog__bg {
    width: 100%;
    opacity: 1
}

.l-dialog.is-active .l-dialog__inner {
    opacity: 1
}

@media only screen and (min-width: 768px) {
    .l-dialog.is-active .l-dialog__inner {
        transition: opacity 500ms ease
    }
}

@media only screen and (max-width: 767px) {
    .l-dialog.is-active .l-dialog__inner {
        transition: opacity 400ms ease
    }
}

.l-dialog__bg {
    background: rgba(0, 0, 0, 0.7);
    position: fixed;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    opacity: 0
}

.l-dialog__wrapper {
    max-width: 900px;
    width: 90%;
    margin: 0 auto;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    left: 50%;
    z-index: 3000
}

.l-dialog__inner {
    position: relative;
    padding: 5%;
    opacity: 0;
    transition: opacity 200ms;
    background: #ffffff
}

@media only screen and (max-width: 767px) {
    .l-dialog__inner {
        padding: 3.5em 1.2em 2.5em
    }
}

.l-dialog__inner .layout_jtb {
    text-align: center
}

.l-dialog__inner .layout_jtb .img {
    margin-inline: auto
}

.l-dialog__inner .layout_jtb .txt {
    font-family: "游ゴシック Medium", " Yu Gothic Medium", "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-size: 108%;
    margin-top: 1.5em
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    .l-dialog__inner .layout_jtb .txt {
        font-size: 100%
    }
}

@media only screen and (max-width: 767px) {
    .l-dialog__inner .layout_jtb .txt {
        font-size: 93%
    }
}

@media only screen and (max-width: 767px) {
    .l-dialog__inner .layout_jtb .txt {
        margin-top: 1em
    }
}

@media only screen and (max-width: 767px) {
    .l-dialog__inner .layout_jtb .txt {
        text-align: left
    }
}

.l-dialog__inner .layout_jtb .btn {
    margin-top: 1.5em
}

@media only screen and (max-width: 767px) {
    .l-dialog__inner .layout_jtb .btn {
        margin-top: 1em
    }
}

@media only screen and (min-width: 768px) {
    .l-dialog__inner .layout_jtb .btn {
        max-width: 300px;
        margin-inline: auto
    }
}

.l-dialog__inner .layout_jtb .btn a,
.l-dialog__inner .layout_jtb .btn button {
    border: 1px solid #942025;
    color: #942025
}

.l-dialog__inner .layout_jtb .btn a:hover,
.l-dialog__inner .layout_jtb .btn button:hover {
    background: #942025;
    color: #fff;
    border: 1px solid #942025
}

.l-dialog__inner .layout_jtb .btn a {
    text-indent: .5em;
    transition: all 400ms ease
}

.l-dialog__inner .layout_jtb .btn a i {
    margin-left: .5em
}

.l-dialog .btn.js-btn {
    position: absolute;
    top: 1.5em;
    right: 1.5em;
    z-index: 3100;
    cursor: pointer;
    transition: all 400ms ease;
    border-radius: 9999px;
    color: #000;
    transition: background 400ms ease, color 400ms ease
}

.l-dialog .btn.js-btn:hover {
    background: #ccc;
    color: #FFF
}

.l-dialog .btn.js-btn i {
    font-size: 129%;
    line-height: 1;
    display: block
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    .l-dialog .btn.js-btn i {
        font-size: 115%
    }
}

@media only screen and (max-width: 767px) {
    .l-dialog .btn.js-btn i {
        font-size: 100%
    }
}

@media only screen and (min-width: 768px) {
    .l-dialog .btn.js-btn.is-active {
        width: 60px;
        height: 25px
    }
}

@media only screen and (max-width: 767px) {
    .l-dialog .btn.js-btn.is-active {
        width: 2.4em;
        height: 1em
    }
}

.l-dialog .btn.js-btn.is-active:before {
    transform: rotate(30deg)
}

.l-dialog .btn.js-btn.is-active:after {
    transform: rotate(-30deg)
}

.p-intro {
    padding-bottom: 0 !important
}

@media only screen and (max-width: 767px) {
    .p-intro {
        padding-inline: 0 !important
    }
}

.p-intro__image {
    position: relative;
    margin-top: 3.64583%;
    padding-bottom: 5.20833%
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    .p-intro__image {
        margin-top: 5.83333%
    }
}

@media only screen and (max-width: 767px) {
    .p-intro__image {
        margin-top: 1.5em
    }
}

@media only screen and (min-width: 768px) {
    .p-intro__image {
        display: flex;
        flex-direction: row-reverse;
        align-items: flex-end;
        justify-content: space-between
    }
}

@media only screen and (max-width: 767px) {
    .p-intro__image {
        padding-inline: 5%
    }
}

.p-intro__image:before {
    content: '';
    display: block;
    width: 100%;
    aspect-ratio: 1920 / 520;
    background-color: red;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: -1
}

@media only screen and (max-width: 767px) {
    .p-intro__image:before {
        aspect-ratio: 1920 / 1500
    }
}

@media only screen and (min-width: 768px) {
    .p-intro__image__large {
        display: flex;
        flex-direction: row;
        width: 67.76042%
    }
}

@media only screen and (max-width: 767px) {
    .p-intro__image__large {
        width: 80%;
        margin-left: 20%
    }
}

@media only screen and (min-width: 768px) {
    .p-intro__image__large p {
        width: 49.96157%
    }
}

@media only screen and (min-width: 768px) {
    .p-intro__image__large p:nth-child(1) {
        margin-right: .07686%
    }
}

@media only screen and (max-width: 767px) {
    .p-intro__image__large p:nth-child(2) {
        display: none
    }
}

.p-intro__image__small {
    position: relative;
    display: flex;
    flex-direction: row
}

@media only screen and (min-width: 768px) {
    .p-intro__image__small {
        width: 23.4375%;
        margin-bottom: -13px
    }
}

@media only screen and (max-width: 767px) {
    .p-intro__image__small {
        width: 50%;
        margin-top: -10%
    }
}

.p-intro__image__small p:nth-child(1) {
    width: 100%
}

.p-intro__image__small p:nth-child(2) {
    position: absolute;
    width: 60%;
    bottom: -50%;
    left: 86.66667%
}

@media only screen and (max-width: 767px) {
    .p-intro+.p-stay {
        margin-top: 6em
    }
}

.p-stay {
    overflow: hidden;
    margin-top: 7.8125%
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    .p-stay {
        margin-top: 9.375%
    }
}

@media only screen and (max-width: 767px) {
    .p-stay {
        margin-top: 3em
    }
}

.p-stay .st {
    position: relative;
    z-index: 10;
    padding-bottom: 1.5em
}

.p-stay .st:after {
    content: '';
    position: absolute;
    top: 100%;
    bottom: auto;
    background: url(../images/common/bg_shadow-l.webp) no-repeat top center;
    background-size: 100% auto;
    width: 59.58333%;
    max-width: 100%;
    height: 35px;
    display: block
}

@media only screen and (max-width: 767px) {
    .p-stay .st:after {
        left: 0;
        right: 0;
        margin: 0 auto
    }
}

.p-stay__inner .sst {
    position: relative
}

@media only screen and (min-width: 1200px) {
    .p-stay__inner .sst {
        padding-bottom: 1.5em;
        margin-bottom: 1.5em
    }
}

@media print {
    .p-stay__inner .sst {
        padding-bottom: 1.5em;
        margin-bottom: 1.5em
    }
}

@media only screen and (max-width: 1199px) {
    .p-stay__inner .sst {
        padding-bottom: 1em;
        margin-bottom: 1em
    }
}

.p-stay__inner .sst:after {
    content: '';
    border-bottom: 1px solid #dedede;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: -1
}

@media only screen and (min-width: 768px) {
    .p-stay__inner .sst:after {
        width: 150%
    }
}

@media only screen and (max-width: 767px) {
    .p-stay__inner .sst:after {
        width: 100%
    }
}

.p-stay__inner .sst i {
    font-size: 258%;
    letter-spacing: .1em;
    font-family: "EB Garamond", "Times New Roman", Times, Garamond, Georgia, serif;
    color: red
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    .p-stay__inner .sst i {
        font-size: 186%
    }
}

@media only screen and (max-width: 767px) {
    .p-stay__inner .sst i {
        font-size: 158%
    }
}

.p-stay__inner .sst span {
    display: block;
    font-size: 143%;
    letter-spacing: .1em;
    color: red
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    .p-stay__inner .sst span {
        font-size: 122%
    }
}

@media only screen and (max-width: 767px) {
    .p-stay__inner .sst span {
        font-size: 115%
    }
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    .p-stay__inner .sst span {
        letter-spacing: .1em
    }
}

@media only screen and (max-width: 767px) {
    .p-stay__inner .sst span {
        letter-spacing: .08em
    }
}

.p-stay__inner .txt {
    font-size: 108%
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    .p-stay__inner .txt {
        font-size: 100%
    }
}

@media only screen and (max-width: 767px) {
    .p-stay__inner .txt {
        font-size: 93%
    }
}

@media only screen and (min-width: 1200px) {
    .p-stay__inner .txt {
        line-height: 1.86667
    }
}

@media print {
    .p-stay__inner .txt {
        line-height: 1.86667
    }
}

@media only screen and (max-width: 1199px) {
    .p-stay__inner .txt {
        line-height: 1.66667
    }
}

.p-stay__inner .btn {
    margin-top: 1em
}

@media only screen and (max-width: 767px) {
    .p-stay__inner .btn {
        margin-top: .5em
    }
}

.p-stay .u-layout1 {
    margin-inline: auto;
    padding: 5.20833% 0
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    .p-stay .u-layout1 {
        padding: 8.33333% 0
    }
}

@media only screen and (max-width: 767px) {
    .p-stay .u-layout1 {
        padding: 2em 6.5051%
    }
}

@media only screen and (min-width: 768px) {
    .p-stay .u-layout1 {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        align-items: flex-start;
        max-width: 1200px;
        width: 90%
    }
}

@media only screen and (max-width: 767px) {
    .p-stay .u-layout1 {
        display: flex;
        flex-direction: column-reverse;
        width: 100%
    }
}

@media only screen and (min-width: 768px) {
    .p-stay .u-layout1 .p-stay__image {
        width: 62.5%
    }
}

@media only screen and (min-width: 768px) and (max-width: 983px) {
    .p-stay .u-layout1 .p-stay__image {
        overflow: hidden
    }

    .p-stay .u-layout1 .p-stay__image img {
        position: relative;
        width: 110%;
        max-width: none;
        margin-left: -5%
    }
}

@media only screen and (min-width: 768px) {
    .p-stay .u-layout1 .p-stay__text {
        width: 31.66667%
    }
}

@media only screen and (min-width: 1200px) {
    .p-stay .u-layout1 .p-stay__text {
        padding-top: 3.125%
    }
}

@media print {
    .p-stay .u-layout1 .p-stay__text {
        padding-top: 3.125%
    }
}

@media only screen and (max-width: 767px) {
    .p-stay .u-layout1 .p-stay__text {
        padding-top: 1.5em;
        position: relative
    }
}

.p-stay .u-layout1 .p-stay__text .btn {
    margin-top: 2.5em
}

@media only screen and (max-width: 767px) {
    .p-stay .u-layout1 .p-stay__text .btn {
        margin-top: 1em
    }
}

.p-stay .u-layout1 .p-stay__text .img {
    margin-top: 3.5em
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    .p-stay .u-layout1 .p-stay__text .img {
        margin-top: 2.5em
    }
}

@media only screen and (max-width: 767px) {
    .p-stay .u-layout1 .p-stay__text .img {
        margin-top: 0
    }
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    .p-stay .u-layout1 .p-stay__text .img {
        width: 80%
    }
}

@media only screen and (max-width: 767px) {
    .p-stay .u-layout1 .p-stay__text .img {
        width: 40%;
        position: absolute;
        bottom: 85%;
        right: -5%
    }
}

.p-stay .u-layout2 {
    margin: 0 auto;
    padding: 6.77083% 0 10.41667%
}

@media only screen and (max-width: 767px) {
    .p-stay .u-layout2 {
        padding: 2em 0 2em
    }
}

@media only screen and (min-width: 768px) {
    .p-stay .u-layout2 {
        display: flex;
        flex-direction: row-reverse;
        justify-content: center;
        align-items: center;
        max-width: 1200px;
        width: 90%
    }
}

@media only screen and (min-width: 768px) and (max-width: 983px) {
    .p-stay .u-layout2 {
        padding-bottom: 6.77083%
    }
}

@media only screen and (max-width: 767px) {
    .p-stay .u-layout2 {
        display: flex;
        flex-direction: column-reverse;
        width: 86.9898%
    }
}

@media only screen and (min-width: 768px) {
    .p-stay .u-layout2 .p-stay__text {
        width: 38.33333%;
        padding-left: 6.25%
    }
}

@media only screen and (min-width: 768px) and (max-width: 983px) {
    .p-stay .u-layout2 .p-stay__text {
        width: 50%
    }
}

@media only screen and (max-width: 767px) {
    .p-stay .u-layout2 .p-stay__text {
        margin-top: 1em
    }
}

.p-stay .u-layout2 .p-stay__text .sst:after {
    right: 0;
    left: auto
}

@media only screen and (min-width: 768px) {
    .p-stay .u-layout2 .p-stay__image {
        width: 38.33333%
    }
}

@media only screen and (min-width: 768px) and (max-width: 983px) {
    .p-stay .u-layout2 .p-stay__image {
        width: 50%
    }
}

.p-stay .u-layout3 {
    margin: 0 auto;
    position: relative;
    z-index: 10;
    padding: 6.77083% 0 4.16667%
}

@media only screen and (max-width: 767px) {
    .p-stay .u-layout3 {
        padding: 2em 0 2em
    }
}

@media only screen and (min-width: 768px) {
    .p-stay .u-layout3 {
        display: flex;
        flex-direction: row-reverse;
        justify-content: center;
        align-items: center;
        max-width: 1400px;
        width: 90%
    }
}

@media only screen and (max-width: 767px) {
    .p-stay .u-layout3 {
        display: flex;
        flex-direction: column-reverse;
        width: 86.9898%
    }
}

@media only screen and (min-width: 768px) {
    .p-stay .u-layout3 .p-stay__image {
        width: 71.42857%;
        position: relative;
        z-index: 15
    }
}

@media only screen and (min-width: 768px) and (max-width: 983px) {
    .p-stay .u-layout3 .p-stay__image {
        margin-top: 0;
        overflow: hidden
    }

    .p-stay .u-layout3 .p-stay__image img {
        position: relative;
        width: 110%;
        max-width: none;
        margin-left: -5%
    }
}

@media only screen and (min-width: 768px) {
    .p-stay .u-layout3 .p-stay__text {
        width: 28.57143%;
        padding-left: 5.71429%
    }
}

@media only screen and (max-width: 767px) {
    .p-stay .u-layout3 .p-stay__text {
        margin-top: 1em
    }
}

.p-stay .u-layout3 .p-stay__text .sst:after {
    right: 0;
    left: auto
}

.p-stay .u-layout4 {
    position: relative;
    margin-inline: auto;
    padding: 6.77083% 0 11.71875%
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    .p-stay .u-layout4 {
        padding: 8.33333% 0 12.5%
    }
}

@media only screen and (max-width: 767px) {
    .p-stay .u-layout4 {
        padding: 2em 6.5051%
    }
}

@media only screen and (min-width: 768px) {
    .p-stay .u-layout4 {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        align-items: flex-end;
        max-width: 1400px;
        width: 90%
    }
}

@media only screen and (max-width: 767px) {
    .p-stay .u-layout4 {
        display: flex;
        flex-direction: column-reverse;
        width: 100%
    }
}

@media only screen and (min-width: 768px) {
    .p-stay .u-layout4 .p-stay__image {
        width: 57.14286%;
        padding-bottom: 6.42857%
    }
}

@media only screen and (min-width: 768px) and (max-width: 983px) {
    .p-stay .u-layout4 .p-stay__image {
        overflow: hidden
    }

    .p-stay .u-layout4 .p-stay__image img {
        position: relative;
        width: 110%;
        max-width: none;
        margin-left: -5%
    }
}

@media only screen and (min-width: 768px) {
    .p-stay .u-layout4 .p-stay__text {
        width: 42.85714%;
        padding-right: 5.5%
    }
}

@media only screen and (max-width: 767px) {
    .p-stay .u-layout4 .p-stay__text {
        padding-top: 1.5em;
        position: relative
    }
}

.p-stay .u-layout4 .p-stay__text .btn {
    margin-top: 2.5em
}

@media only screen and (max-width: 767px) {
    .p-stay .u-layout4 .p-stay__text .btn {
        margin-top: 1em
    }
}

.p-stay .u-layout4 .p-stay__text .img {
    margin-top: 15%;
    display: flex;
    flex-direction: row
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    .p-stay .u-layout4 .p-stay__text .img {
        margin-top: 2.5em
    }
}

@media only screen and (max-width: 767px) {
    .p-stay .u-layout4 .p-stay__text .img {
        margin-top: 0
    }
}

@media only screen and (min-width: 768px) {
    .p-stay .u-layout4 .p-stay__text .img {
        width: 87%
    }
}

@media only screen and (max-width: 767px) {
    .p-stay .u-layout4 .p-stay__text .img {
        width: 60%;
        position: absolute;
        bottom: 85%;
        right: -5%
    }
}

.p-stay .u-layout4 .p-stay__text .img p {
    width: 49.80843%
}

.p-stay .u-layout4 .p-stay__text .img p:first-child {
    margin-right: .38314%
}

.p-stay .u-layout5 {
    position: relative;
    padding-bottom: 4.42708%;
    display: flex
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    .p-stay .u-layout5 {
        padding-bottom: 7.08333%
    }
}

@media only screen and (max-width: 767px) {
    .p-stay .u-layout5 {
        padding-bottom: 0
    }
}

@media only screen and (min-width: 768px) {
    .p-stay .u-layout5 {
        flex-direction: row-reverse;
        align-items: center;
        justify-content: flex-end
    }
}

@media only screen and (max-width: 767px) {
    .p-stay .u-layout5 {
        flex-direction: column-reverse;
        padding: 2em 6.5051%
    }
}

@media only screen and (min-width: 768px) {
    .p-stay .u-layout5 .p-stay__image {
        width: 64.58333%
    }
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    .p-stay .u-layout5 .p-stay__image {
        overflow: hidden
    }

    .p-stay .u-layout5 .p-stay__image img {
        position: relative;
        width: 120%;
        max-width: none;
        margin-left: -10%
    }
}

@media only screen and (min-width: 768px) {
    .p-stay .u-layout5 .p-stay__text {
        width: 22.39583%;
        padding-left: 5.20833%
    }
}

@media only screen and (min-width: 1200px) and (max-width: 1560px) {
    .p-stay .u-layout5 .p-stay__text {
        width: 31.25%
    }
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    .p-stay .u-layout5 .p-stay__text {
        width: 31.25%
    }
}

@media only screen and (max-width: 767px) {
    .p-stay .u-layout5 .p-stay__text {
        margin-top: 1em
    }
}

.p-stay .u-layout5 .p-stay__text .sst:after {
    right: 0;
    left: auto
}

.p-stay .u-layout6 {
    margin: 0 auto;
    padding: 5.46875% 0 0
}

@media only screen and (min-width: 768px) {
    .p-stay .u-layout6 {
        max-width: 1200px;
        width: 90%
    }
}

@media only screen and (max-width: 767px) {
    .p-stay .u-layout6 {
        width: 86.9898%
    }
}

@media only screen and (max-width: 767px) {
    .p-stay .u-layout6 {
        padding: 2em 0
    }
}

.p-stay .u-layout6 .sst {
    text-align: center;
    padding: 0;
    margin: 0
}

.p-stay .u-layout6 .sst span {
    font-size: 172%
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    .p-stay .u-layout6 .sst span {
        font-size: 158%
    }
}

@media only screen and (max-width: 767px) {
    .p-stay .u-layout6 .sst span {
        font-size: 143%
    }
}

.p-stay .u-layout6 .sst:after {
    display: none
}

.p-stay .u-layout6 ul {
    margin-top: 2.08333%
}

@media only screen and (max-width: 767px) {
    .p-stay .u-layout6 ul {
        margin-top: 1.5em
    }
}

@media only screen and (min-width: 768px) {
    .p-stay .u-layout6 ul {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center
    }
}

.p-stay .u-layout6 ul li {
    margin-bottom: 3.33333%
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    .p-stay .u-layout6 ul li {
        margin-bottom: 1.66667%
    }
}

@media only screen and (max-width: 767px) {
    .p-stay .u-layout6 ul li {
        margin-bottom: 1em
    }
}

@media only screen and (min-width: 768px) {
    .p-stay .u-layout6 ul li {
        width: 30%
    }

    .p-stay .u-layout6 ul li:not(:nth-child(3n+1)) {
        margin-left: 5%
    }
}

@media only screen and (max-width: 767px) {
    .p-stay .u-layout6 ul li {
        position: relative;
        padding-left: 50%;
        overflow: hidden
    }

    .p-stay .u-layout6 ul li:not(:first-child) {
        margin-top: 1em;
        border-top: 1px solid #dedede;
        padding-top: 1em
    }
}

@media only screen and (min-width: 768px) {
    .p-stay .u-layout6 ul li .img {
        margin-bottom: 1.2em
    }
}

@media only screen and (max-width: 767px) {
    .p-stay .u-layout6 ul li .img {
        width: 45%;
        position: absolute;
        left: 0;
        aspect-ratio: 360 / 261;
        overflow: hidden
    }

    .p-stay .u-layout6 ul li .img img {
        height: 100%;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: auto;
        max-width: inherit
    }
}

.p-stay .u-layout6 ul li .txt_lead {
    font-size: 143%;
    letter-spacing: .08em;
    margin-bottom: .2em
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    .p-stay .u-layout6 ul li .txt_lead {
        font-size: 129%
    }
}

@media only screen and (max-width: 767px) {
    .p-stay .u-layout6 ul li .txt_lead {
        font-size: 115%
    }
}

.p-stay .u-layout6 ul li .txt_lead i {
    font-size: 80%
}

.p-stay .u-layout6 ul li .txt {
    letter-spacing: .04em
}

.p-stay .u-layout6 ul li .att {
    margin-top: 1em;
    font-size: 100%;
    letter-spacing: .08em
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    .p-stay .u-layout6 ul li .att {
        font-size: 93%
    }
}

@media only screen and (max-width: 767px) {
    .p-stay .u-layout6 ul li .att {
        font-size: 93%
    }
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    .p-stay .u-layout6 ul li .att {
        font-size: 93%
    }
}

.p-stay .u-layout6 .lnk {
    text-align: center
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    .p-stay .u-layout6 .lnk {
        margin-top: -1em
    }
}

.p-stay .u-layout6 .lnk a {
    display: inline-block;
    text-align: left
}

.p-stay .u-bg__white {
    background: #FFF;
    box-shadow: 0 0 0 100vmax #FFF;
    clip-path: inset(0 -100vmax)
}

.p-stay .u-bg_white2 {
    position: relative
}

@media only screen and (min-width: 768px) {
    .p-stay .u-bg_white2 {
        padding-top: 0 !important;
        padding-bottom: 4.16667%
    }
}

@media only screen and (min-width: 768px) and (max-width: 983px) {
    .p-stay .u-bg_white2 {
        padding-top: 6.25% !important;
        padding-bottom: 6.66667%
    }
}

.p-stay .u-bg_white2:after {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: #FFF;
    box-shadow: 0 0 0 100vmax #FFF;
    clip-path: inset(0 -100vmax);
    z-index: -5
}

@media only screen and (min-width: 768px) {
    .p-stay .u-bg_white2 .p-stay__image {
        margin-top: -4.42708%
    }
}

@media only screen and (min-width: 768px) and (max-width: 983px) {
    .p-stay .u-bg_white2 .p-stay__image {
        margin-top: 0
    }
}

@media only screen and (min-width: 768px) {
    .p-stay+.p-stay h3+.u-layout1 {
        align-items: center
    }
}

@media only screen and (min-width: 1200px) {
    .p-stay+.p-stay .u-layout4.u-bg_white2 {
        align-items: center
    }
}

@media print {
    .p-stay+.p-stay .u-layout4.u-bg_white2 {
        align-items: center
    }
}

@media only screen and (min-width: 768px) {
    .p-stay+.p-stay .u-layout4.u-bg_white2 .p-stay__image {
        margin-top: -6.78571%
    }
}

@media only screen and (min-width: 1200px) {
    .p-stay+.p-stay .u-layout4.u-bg_white2 .p-stay__text {
        padding-top: 1.5em
    }
}

@media print {
    .p-stay+.p-stay .u-layout4.u-bg_white2 .p-stay__text {
        padding-top: 1.5em
    }
}


body {
padding: 0;
margin: 0;


    }