@charset "UTF-8";
@media screen and (min-width: 769px), print {
  .hide {
    display: none !important;
  }
  .banner {
    padding-top: 230px;
    height: 663px;
    background: url(../images/banner_pc.jpg) center bottom no-repeat;
    -moz-background-size: cover;
         background-size: cover;
    position: relative;
    text-align: center;
    -moz-box-sizing: border-box;
         box-sizing: border-box;
  }
  .banner .logo {
    width: 216px;
    height: 232px;
    margin: 0 auto 20px;
  }
  .banner_ct_inner {
    color: #fff;
    height: 132px;
  }
  .banner_ct h2 {
    font-size: 6.6rem;
    line-height: 1;
    letter-spacing: 0.3em;
    font-family: "Noto Serif", serif;
    margin-bottom: 30px;
    word-break: keep-all;
  }
  .banner_ct_jp {
    font-size: 3rem;
    line-height: 1;
    font-weight: 600;
    letter-spacing: 3.5px;
  }
  .banner_ct_jp--btm {
    margin-top: 50px;
    font-size: 2.8rem;
  }
  .banner .mvbnr_goto {
    width: 308px;
    margin: 20px 18px 0 auto;
  }
  .banner .mvbnr_goto a {
    display: block;
    -webkit-transition: opacity 0.3s ease;
    -moz-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
  }
  .banner .mvbnr_goto a:hover {
    opacity: .7;
  }
  .banner .mvbnr_goto picture img {
    vertical-align: bottom;
  }
  .banner_open {
    width: 100%;
    color: #1d1411;
    background-color: #f8f8f7;
    font-size: 1.6rem;
    padding: 12px 0;
    line-height: 1;
  }
  .banner_open_inner {
    padding: 26px 0;
    border-top: 2px solid #c9c0b3;
    border-bottom: 2px solid #c9c0b3;
    letter-spacing: 0;
  }
  .banner_open_catch {
    font-size: 2.8rem;
    margin-bottom: 25px;
    letter-spacing: 0.16em;
    font-weight: bold;
    margin-right: 8px;
    text-align: center;
    font-family: "Noto Serif", serif;
  }
  .banner_open_txt {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .banner_open small {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-size: 1.6rem;
    letter-spacing: 0.5px;
  }
  .banner_open small:before {
    content: '';
    display: block;
    width: 23px;
    height: 18px;
    background: url(../common/images/tel_black.png) center center no-repeat;
    -moz-background-size: 100%;
         background-size: 100%;
    margin-right: 5px;
  }
  .banner_open_tel {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    letter-spacing: 0.1em;
    position: relative;
    font-size: 1.4rem;
    margin-left: 10px;
    pointer-events: none;
  }
  .banner_open_tel a {
    font-size: 1.8rem;
    letter-spacing: 0.15em;
    font-family: "Noto Serif", serif;
    color: #1d1411;
  }
  .banner_open_tel span {
    display: inline-block;
    margin-right: 10px;
    font-size: 1.6rem;
  }
}

@media screen and (min-width: 769px) and (-ms-high-contrast: none), print {
  .banner_open_tel a {
    margin-bottom: 7px;
  }
  .banner_open_tel::before {
    margin-bottom: 7px;
  }
}

@media screen and (min-width: 769px), print {
  .banner_goto {
    width: 920px;
    margin: 32px auto 0;
  }
  .banner_goto a {
    display: block;
    -webkit-transition: opacity 0.3s ease;
    -moz-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
  }
  .banner_goto a:hover {
    opacity: .7;
  }
  .banner_goto picture img {
    vertical-align: bottom;
  }
  .banner_other {
    width: 1000px;
    margin: 32px auto 0;
  }
  .banner_other a {
    display: block;
    -webkit-transition: opacity 0.3s ease;
    -moz-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
  }
  .banner_other a:hover {
    opacity: .7;
  }
  .banner_other picture img {
    vertical-align: bottom;
  }
  .sdgs_anounce {
    width: 1000px;
    margin: 50px auto 0;
  }
  .sdgs_anounce-title {
    display: block;
    margin-bottom: 30px;
    font-size: 1.6rem;
    font-weight: normal;
    text-align: center;
  }
  .sdgs_anounce dl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
  .sdgs_anounce dl dt > p {
    margin-right: 60px;
    font-size: 1.6rem;
    line-height: 2;
  }
  .sdgs_anounce-list {
    width: 400px;
    margin-top: 15px;
    -webkit-column-count: 2;
       -moz-column-count: 2;
            column-count: 2;
  }
  .sdgs_anounce-list li {
    font-size: 1.6rem;
    padding-left: 1em;
    padding: 5px 0 5px 1em;
    text-indent: -0.5em;
  }
  .sdgs_anounce-list li:before {
    content: "・";
    display: inline-block;
  }
  .restaurant {
    width: 1200px;
    height: 200px;
    margin: 0 auto;
  }
  .restaurant > a {
    background: url(../images/restaurant_pc.jpg) no-repeat;
    -moz-background-size: cover;
         background-size: cover;
    color: white;
    display: block;
    width: 100%;
    height: 100%;
    padding-top: 30px;
    margin: 35px 0;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  .restaurant > a h2 {
    font-family: 'Noto Serif', serif;
    font-size: 2.4rem;
    line-height: 1;
    letter-spacing: 4px;
    text-align: center;
    margin-bottom: 30px;
  }
  .restaurant > a p {
    width: 435px;
    margin: 0 auto;
    padding: 15px 0;
    border-top: 1px solid white;
    border-bottom: 1px solid white;
    font-size: 1.6rem;
    line-height: 2;
    text-align: center;
  }
  .restaurant > a:hover {
    opacity: .7;
  }
  .reservation {
    padding-top: 67px;
  }
  .reservation .row {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: stretch;
       -moz-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    background-color: #96938f;
  }
  .reservation__head {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
       -moz-box-orient: vertical;
       -moz-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 285px;
    height: 100%;
    padding-left: 40px;
    position: relative;
    letter-spacing: 0.3em;
    color: #fff;
    font-size: 2.4rem;
    text-align: center;
    background-color: #5a5753;
    line-height: 1.8;
  }
  .reservation__head:before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    right: 0;
    bottom: 0;
    background-color: #5a5753;
    z-index: 1;
    -webkit-transform: skew(-20deg);
       -moz-transform: skew(-20deg);
        -ms-transform: skew(-20deg);
            transform: skew(-20deg);
    -webkit-transform-origin: bottom;
       -moz-transform-origin: bottom;
        -ms-transform-origin: bottom;
            transform-origin: bottom;
  }
  .reservation__head span {
    position: relative;
    display: block;
    z-index: 2;
  }
  .reservation__head-jp {
    letter-spacing: 0.2em;
    font-size: 1.6rem;
  }
  .reservation__links {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
       -moz-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    padding: 36px 46px;
    text-align: center;
    font-size: 1.4rem;
  }
  .reservation__links-item {
    width: 370px;
    height: 59px;
    border: 2px solid #6c6b6b;
  }
  .reservation__links-item:nth-child(n + 2) {
    margin-left: 40px;
  }
  .reservation__links-item a {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    background-color: white;
    width: 100%;
    height: 100%;
    padding: 0 30px;
    will-change: opacity;
    -webkit-transition: opacity 0.3s ease;
    -moz-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
  }
  .reservation__links-item a:after {
    content: '';
    display: block;
    width: 19px;
    height: 15px;
    background: url("../common/images/icon_blank.png") center center no-repeat;
    -moz-background-size: 100%;
         background-size: 100%;
    position: absolute;
    right: 30px;
    top: 50%;
    -webkit-transform: translateY(-50%);
       -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .reservation__links-item a:hover {
    opacity: 0.7;
  }
  .slider {
    padding: 51px 0 56px;
  }
  .slider_bn {
    padding: 0 40px;
    overflow: hidden;
  }
  .slider_bn .slick-list .slick-slide a {
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  .slider_bn .slick-list .slick-slide a img {
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  .slider_bn .slick-list .slick-slide a:hover {
    opacity: 0.8;
  }
  .slider_bn .slick-list .slick-slide a:hover img {
    opacity: 0.8;
  }
  .slider_bn .slick-prev {
    width: 18px;
    height: 51px;
    left: 0;
  }
  .slider_bn .slick-prev:before {
    content: '';
    width: 18px;
    height: 51px;
    background: url(../images/arrow_l.png) no-repeat;
    -moz-background-size: contain;
         background-size: contain;
    display: block;
    opacity: 1;
  }
  .slider_bn .slick-prev:hover:before {
    opacity: 0.8;
  }
  .slider_bn .slick-next {
    width: 18px;
    height: 51px;
    right: 0;
  }
  .slider_bn .slick-next:before {
    content: '';
    opacity: 1;
    width: 18px;
    height: 51px;
    background: url(../images/arrow_r.png) no-repeat;
    -moz-background-size: contain;
         background-size: contain;
    display: block;
  }
  .slider_bn .slick-next:hover:before {
    opacity: 0.8;
  }
  .slider_bn li {
    margin: 0 10px;
  }
  .slider_bn li img {
    width: 100%;
  }
  .search {
    width: 1000px;
    margin: 50px auto 0;
  }
  .search .row {
    background: #96938f;
  }
  .search .reservation__head {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
       -moz-box-orient: horizontal;
       -moz-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: baseline;
       -moz-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    width: 315px;
    height: 100%;
    padding: 10px 0 10px 40px;
    position: relative;
    letter-spacing: 0.3em;
    color: #fff;
    font-size: 2.4rem;
    text-align: center;
    background-color: #5a5753;
    line-height: 1.8;
  }
  .search .reservation__head:before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    right: 0;
    bottom: 0;
    background-color: #5a5753;
    z-index: 1;
    -webkit-transform: skew(-25deg);
       -moz-transform: skew(-25deg);
        -ms-transform: skew(-25deg);
            transform: skew(-25deg);
    -webkit-transform-origin: bottom;
       -moz-transform-origin: bottom;
        -ms-transform-origin: bottom;
            transform-origin: bottom;
  }
  .search .reservation__head span {
    position: relative;
    letter-spacing: 8px;
    z-index: 2;
  }
  .search .reservation__head-jp {
    letter-spacing: 0.2em;
    font-size: 1.6rem;
    padding-left: 12px;
    border-left: solid 2px #817d78;
    margin-left: 4px;
    line-height: 18px;
    letter-spacing: 4px !important;
  }
  .search .form {
    background: #f1f1f1;
    padding-left: 120px;
    padding-right: 120px;
    padding-top: 27px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .search .form__wrap {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
  }
  .search .form__wrap dl dt {
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    font-size: 1.4rem;
    font-weight: bolder;
  }
  .search .form__wrap dl dd {
    margin-top: 5px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .search .form__wrap dl dd .form__item {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-right: 16px;
  }
  .search .form__wrap dl dd .form__item .sl_mask {
    background: #fff;
    width: 100px;
    margin-right: 9px;
    position: relative;
    z-index: 0;
    overflow: hidden;
  }
  .search .form__wrap dl dd .form__item .sl_mask::before {
    position: absolute;
    top: 1px;
    right: 0;
    z-index: -1;
    content: '';
    width: 25px;
    height: -webkit-calc(100% - 2px);
    height: -moz-calc(100% - 2px);
    height: calc(100% - 2px);
    background-color: #878787;
  }
  .search .form__wrap dl dd .form__item .sl_mask::after {
    content: '';
    position: absolute;
    top: 47%;
    right: 4px;
    width: 6px;
    height: 6px;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    -webkit-transform: translate(-50%, -50%) rotateZ(135deg);
       -moz-transform: translate(-50%, -50%) rotateZ(135deg);
        -ms-transform: translate(-50%, -50%) rotate(135deg);
            transform: translate(-50%, -50%) rotateZ(135deg);
  }
  .search .form__wrap dl dd .form__item .sl_mask select {
    font-family: 'Hiragino Maru Gothic Pro','ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', Osaka, Tahoma, Verdana, Arial, Verdana, sans-serif;
    font-size: 1.3rem;
    color: #878787;
    width: 100%;
    height: 26px;
    padding: 0 32px 0 10px;
    border: solid 1px #878787;
    -moz-border-radius: 0;
         border-radius: 0;
    outline: none;
    background: none;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
  }
  .search .form__wrap dl dd .form__item span {
    font-size: 1.4rem;
    white-space: nowrap;
    margin-right: 10px;
  }
  .search .form__wrap dl dd .form__item span .gray {
    color: #878787;
    margin: 0;
  }
  .search .form__wrap dl dd .form__item label {
    font-size: 1.4rem;
    color: #878787;
    white-space: nowrap;
  }
  .search .form__wrap dl dd .bgw {
    background: #fff;
    padding: 8px 20px;
  }
  .search .form__wrap dl dd .bgw .sl_mask {
    width: 69px;
  }
  .search .form__wrap:nth-of-type(2) {
    margin-left: 30px;
  }
  .search .form__wrap:nth-of-type(2) dl:nth-of-type(1) {
    margin-right: 28px;
  }
  .search .form__wrap:nth-of-type(2) dl:nth-of-type(2) .form__item {
    margin-right: 0;
  }
  .search .form__wrap:nth-of-type(3) {
    margin-top: 14px;
  }
  .search .form .btn_wrap {
    width: 100%;
    padding: 32px 0;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: distribute;
        justify-content: space-around;
  }
  .search .form .btn_wrap button, .search .form .btn_wrap .link_cancel {
    width: 247px;
    height: 50px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background-color: #fff;
    border: 2px solid #878787;
    cursor: pointer;
    outline: none;
    position: relative;
  }
  .search .form .btn_wrap button span, .search .form .btn_wrap .link_cancel span {
    font-size: 1.6rem;
    line-height: 1;
    font-weight: 600;
  }
  .search .form .btn_wrap button:after, .search .form .btn_wrap .link_cancel:after {
    content: '';
    background: url(../contact/images/arr_r.png) no-repeat;
    -moz-background-size: contain;
         background-size: contain;
    width: 8px;
    height: 13px;
    position: absolute;
    -webkit-transition: all 0.5s ease-out;
    -moz-transition: all 0.5s ease-out;
    transition: all 0.5s ease-out;
    top: 50%;
    right: 12px;
    -webkit-transform: translateY(-50%);
       -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .search .form .btn_wrap button:hover:after, .search .form .btn_wrap .link_cancel:hover:after {
    background: url(../contact/images/arr_r_hv.png) no-repeat;
    -moz-background-size: contain;
         background-size: contain;
  }
  .reser {
    background: #f1f1f1;
    padding: 42px 0 58px;
  }
  .reser .tt_sec {
    margin-bottom: 45px;
    letter-spacing: 5.5px;
  }
  .reser .tt_sec span {
    margin-left: 18px;
    letter-spacing: 2.5px;
  }
  .reser table {
    border-collapse: collapse;
    position: relative;
  }
  .reser table caption {
    font-size: 3rem;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    right: 0;
    -webkit-transform: translate(-50%, -50%);
       -moz-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    color: #fff;
  }
  .reser table tr:not(:last-child) {
    border-bottom: 1px solid #b0afaf;
  }
  .reser table tr td {
    border-collapse: collapse;
    width: 216px;
    color: #d3d2d2;
    background: #9a9898;
    padding: 10px;
    height: 100px;
    vertical-align: middle;
    text-align: center;
    font-size: 1.6rem;
    word-break: break-word;
  }
  .reser table tr td:last-of-type {
    width: 723px;
    background: #cecdcd;
    color: #fff;
  }
  .reser table tr:last-of-type td {
    height: 173px;
  }
  .reser table .head td:not(:first-child) {
    display: none;
  }
  .reser table .head td:first-child {
    border-collapse: collapse;
    color: #d3d2d2;
    width: 262px;
    background: #1d1411;
    font-size: 2rem;
    font-family: "Noto Serif", serif;
    position: relative;
    vertical-align: middle;
  }
  .reser table .head td:first-child em {
    font-style: normal;
    width: 100%;
    letter-spacing: 3.5px;
  }
  .reser table .head td:first-child em span {
    display: block;
    font-size: 1.6rem;
    letter-spacing: 1px;
    margin-top: 10px;
    font-family: '游明朝体', 'Yu Mincho', YuMincho, 'ヒラギノ明朝 Pro', 'Hiragino Mincho Pro', 'MS P明朝', 'MS PMincho', serif;
  }
  .txt {
    margin: 51px 0 81px;
  }
  .txt .txt_ct {
    padding: 47px 0 46px;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .txt .txt_ct p {
    font-size: 1.6rem;
    line-height: 4.8rem;
    text-align: center;
    width: 50%;
    font-weight: 500;
    padding-left: 20px;
    letter-spacing: 1px;
  }
  .txt .txt_ct_list {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 50%;
    padding: 0 30px;
  }
  .txt .txt_ct_list li {
    text-align: center;
  }
  .txt .txt_ct_list li picture {
    height: 95px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .txt .txt_ct_list li picture img {
    margin: 0 auto;
  }
  .txt .txt_ct_list li span {
    margin-top: 22px;
    margin-bottom: -4px;
    display: block;
    font-size: 1.6rem;
    display: block;
    font-weight: 500;
    letter-spacing: 3px;
  }
  .txt .txt_ct_list li:nth-of-type(2) {
    margin-left: 47px;
  }
  .txt .txt_ct_list li:nth-of-type(3) {
    margin-left: 37px;
    margin-right: 34px;
  }
  .rooms {
    background: #f1f1f1;
    padding-bottom: 6px;
    position: relative;
    margin-top: 138px;
  }
  .rooms_tt {
    background: #fff;
    padding: 80px 30px 56px;
    position: absolute;
    top: -136px;
    width: 1200px;
  }
  .rooms_tt h3 {
    font-size: 60px;
    letter-spacing: 4px;
  }
  .rooms_tt h3 span {
    font-size: 24px;
    padding-left: 16px;
    border-left: solid 3px #d9d9d9;
    margin-left: 16px;
  }
  .rooms_tt p {
    font-size: 14px;
    margin-top: 12px;
  }
  .rooms_ct {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding-top: 175px;
    margin-left: -26px;
    margin-right: -26px;
  }
  .rooms_ct article {
    width: 45.84%;
    position: relative;
    margin: 0 26px 114px;
  }
  .rooms_ct article .rooms_tt_inner {
    text-align: center;
    position: absolute;
    width: 100%;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
       -moz-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
  .rooms_ct article .rooms_tt_inner h3 {
    font-size: 6rem;
    line-height: 1;
    font-family: "Noto Serif", serif;
    letter-spacing: 11px;
    margin: 35px 0 53px;
  }
  .rooms_ct article .rooms_tt_inner span {
    margin-bottom: 67px;
    line-height: 1;
    font-size: 1.8rem;
    font-weight: 500;
    display: block;
    letter-spacing: 3px;
    margin-right: 12px;
  }
  .rooms_ct article .rooms_tt_inner p {
    font-size: 1.4rem;
    line-height: 4.8rem;
    font-weight: 500;
    padding: 6px 24px 13px 8px;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    display: inline-block;
    letter-spacing: 2px;
  }
  .rooms_ct article figure img {
    width: 100%;
  }
  .rooms_ct article .rooms_des {
    position: absolute;
    width: 489px;
    text-align: center;
    bottom: -49px;
    left: 0;
    right: 0;
    margin: 0 auto;
    background: #fff;
    z-index: 1;
    padding-bottom: 25px;
  }
  .rooms_ct article .rooms_des h4 {
    font-size: 1.4rem;
    line-height: 1;
    font-family: "Noto Serif", serif;
    letter-spacing: 2.8px;
    padding: 18px 0 16px;
    border-bottom: 1px solid #000;
  }
  .rooms_ct article .rooms_des p {
    font-size: 2rem;
    line-height: 1.5;
    font-weight: 500;
    margin-top: 15px;
    margin-bottom: 24px;
    padding-left: 12px;
  }
  .rooms_ct article .rooms_des p span {
    font-size: 1.6rem;
    letter-spacing: 3px;
  }
  .service {
    background: #f1f1f1;
    padding: 188px 0 58px;
    margin-top: -200px;
  }
  .service_i {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-left: -26px;
    margin-right: -26px;
    margin-bottom: -300px;
  }
  .service_i_sv {
    width: 45.84%;
    margin: 0 26px;
    margin-bottom: 56px;
  }
  .service_i_sv_ct {
    background: #fff;
    padding: 47px 21px 41px 26px;
    overflow: hidden;
  }
  .service_i_sv_ct .tt_sec {
    font-size: 4rem;
    line-height: 1;
    letter-spacing: 0.1em;
    margin-bottom: 35px;
  }
  .service_i_sv_ct .tt_sec span {
    padding-left: 15px;
    font-size: 2rem;
    line-height: 1;
    font-weight: 500;
    position: relative;
    top: 5px;
    display: inline-block;
    margin-left: -7px;
    letter-spacing: 0.05em;
  }
  .service_i_sv_ct p {
    font-size: 1.4rem;
    line-height: 2;
    margin-bottom: 10px;
    font-weight: 500;
    letter-spacing: 2px;
    min-height: 110px;
  }
  .service_i_sv_ct .btn {
    float: right;
    margin-right: 8px;
  }
  .service_i_sv figure img {
    width: 100%;
  }
  .service_i_sv:not(:first-child) figure img {
    width: 100%;
    height: 424px;
    object-fit: cover;
  }
  .service_i .rtr {
    width: 100%;
    position: relative;
  }
  .service_i .rtr .service_i_sv_ct {
    width: 100%;
    padding: 47px 32px 41px 41px;
  }
  .restaurant_box p {
    min-height: auto;
  }
  .restaurant_list {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin: 25px auto 0;
  }
  .restaurant_list li {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: 380px;
    background-color: #fff;
  }
  .restaurant_list li.shadow {
    position: relative;
  }
  .restaurant_list li.shadow:before {
    content: "現在営業を行っておりません。";
    font-size: 2rem;
    position: absolute;
    z-index: 10;
    top: 0;
    left: 0;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%;
    height: 100%;
    color: #fff;
    background-color: rgba(0, 0, 0, 0.4);
  }
  .restaurant_list .text_box {
    position: relative;
    padding: 25px 25px 0;
    height: 240px;
  }
  .restaurant_list h4 {
    font-size: 2rem;
    margin-bottom: 15px;
  }
  .restaurant_list span {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    position: relative;
    font-family: 'Noto Serif', serif;
    font-size: 1.4rem;
    margin-bottom: 25px;
  }
  .restaurant_list span:before {
    content: '';
    display: block;
    background-color: black;
    width: 45px;
    height: 4px;
    margin-right: 12px;
  }
  .restaurant_list a {
    position: absolute;
    right: 25px;
    bottom: 30px;
  }
  .news {
    padding: 280px 0 25px;
  }
  .news_tt {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-bottom: 22px;
    padding: 0 29px;
  }
  .news_tt .tt_sec {
    font-size: 3.6rem;
    letter-spacing: 5px;
  }
  .news_tt .tt_sec span {
    font-size: 2rem;
    padding-left: 24px;
    margin-left: 14px;
    display: inline-block;
    letter-spacing: 3px;
  }
  .news_tt .btn {
    font-size: 1.8rem;
    position: relative;
    top: 4px;
    display: inline-block;
  }
  .news_tt .btn:after {
    margin-left: 23px;
  }
  .news ul {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    margin-left: -15px;
    margin-right: -15px;
    padding: 40px 0 24px;
  }
  .news ul li {
    width: 25%;
    padding: 0 15px;
  }
  .news ul li a {
    color: #000;
    display: inline-block;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  .news ul li a figure {
    overflow: hidden;
    line-height: 0;
  }
  .news ul li a figure img {
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    transition: all 0.3s ease;
    width: 100%;
    height: 186px;
    object-fit: cover;
  }
  .news ul li a time {
    font-size: 1.4rem;
    line-height: 1;
    padding: 28px 0 11px;
    border-bottom: 1px solid #000;
    display: block;
    font-weight: bold;
    letter-spacing: 3px;
  }
  .news ul li a p {
    padding: 13px 0;
    font-weight: 500;
    letter-spacing: 2px;
  }
  .news ul li a:hover {
    opacity: 0.7;
  }
  .news ul li a:hover figure img {
    width: 100%;
  }
  .cld {
    margin-bottom: 69px;
  }
  .cld .row {
    padding: 5px;
    position: relative;
    overflow: hidden;
  }
  .cld .row:before {
    content: '';
    position: absolute;
    top: 0;
    -moz-box-sizing: border-box;
         box-sizing: border-box;
    left: 0;
    border-top: 2px solid #525252;
    border-right: 2px solid #525252;
  }
  .cld .row .cld_inner {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    position: relative;
    padding: 22px 30px 25px;
    width: 100%;
    overflow: hidden;
  }
  .cld .row .cld_inner:before {
    content: '';
    position: absolute;
    top: 0;
    -moz-box-sizing: border-box;
         box-sizing: border-box;
    left: 0;
    border-top: 2px solid #525252;
    border-right: 2px solid #525252;
    z-index: -1;
  }
  .cld .row .cld_inner .cld_inner_tt {
    width: -webkit-calc(100% - 676px);
    width: -moz-calc(100% - 676px);
    width: calc(100% - 676px);
    text-align: center;
    padding: 0 47px;
  }
  .cld .row .cld_inner .cld_inner_tt h3 {
    font-size: 4rem;
    font-family: "Noto Serif", serif;
    line-height: 1;
    letter-spacing: 5px;
  }
  .cld .row .cld_inner .cld_inner_tt span {
    font-size: 2rem;
    font-weight: 500;
    padding: 16px 0 30px;
    display: block;
  }
  .cld .row .cld_inner .cld_inner_tt p {
    font-size: 1.6rem;
    line-height: 2.8rem;
    font-weight: 500;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    padding: 13px 0;
    letter-spacing: 1px;
  }
  .cld .row .cld_inner figure {
    margin-top: -3px;
  }
  .cld .row .cld_inner:after {
    content: '';
    position: absolute;
    bottom: 0;
    -moz-box-sizing: border-box;
         box-sizing: border-box;
    right: 0;
    border-bottom: 2px solid #525252;
    border-left: 2px solid #525252;
    z-index: -1;
  }
  .cld .row:after {
    content: '';
    position: absolute;
    bottom: 0;
    -moz-box-sizing: border-box;
         box-sizing: border-box;
    right: 0;
    border-bottom: 2px solid #525252;
    border-left: 2px solid #525252;
    z-index: -1;
  }
  .map {
    position: relative;
    overflow: hidden;
    height: 512px;
  }
  .map .row .map_inner {
    position: absolute;
    top: 0;
  }
  .map .row .map_inner .map_tt {
    position: absolute;
    left: 0;
    top: 138px;
    width: 424px;
    padding: 39px 26px 14px;
    background: #fff;
  }
  .map .row .map_inner .map_tt .tt_sec {
    font-size: 3.6rem;
    margin-bottom: 25px;
    letter-spacing: 7px;
  }
  .map .row .map_inner .map_tt .tt_sec span {
    font-size: 2rem;
    display: inline-block;
    margin-left: 3px;
    padding-left: 25px;
    letter-spacing: 2px;
  }
  .map .row .map_inner .map_tt p {
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 2.4rem;
    margin-bottom: 25px;
    letter-spacing: 1.5px;
  }
  .map iframe {
    width: 100%;
    height: 512px;
  }
  .ie .tt_sec span:before {
    top: 30%;
  }
  .ie.win7 .tt_sec span:before {
    top: 50%;
  }
  .ie .news ul li a figure {
    -moz-background-size: cover;
         background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
  }
  .ie .news ul li a figure img {
    opacity: 0;
  }
}

@media screen and (max-width: 768px) {
  .hide {
    display: none !important;
  }
  .banner {
    position: relative;
  }
  .banner_ct {
    height: 70.96354vw;
    background: url(../images/banner_sp.jpg) center bottom no-repeat;
    -moz-background-size: cover;
         background-size: cover;
  }
  .banner_ct .logo {
    display: block;
    width: 37.63021vw;
    height: 40.625vw;
    margin: 0 auto;
  }
  .banner_ct_inner {
    padding-top: 25.52083vw;
    color: #fff;
  }
  .banner_ct h2 {
    text-align: center;
    font-size: 4.81771vw;
    line-height: 1.5;
    letter-spacing: 1.30208vw;
    font-family: "Noto Serif", serif;
    margin-bottom: 2.60417vw;
    text-shadow: 0px 1px 5px rgba(0, 0, 0, 0.4);
  }
  .banner_ct_jp {
    font-size: 3.64583vw;
    line-height: 1;
    font-weight: 600;
    letter-spacing: 0.45573vw;
    text-align: center;
    text-shadow: 0px 1px 5px rgba(0, 0, 0, 0.4);
  }
  .banner_ct_jp--btm {
    margin-top: 3.90625vw;
  }
  .banner .mvbnr_goto {
    width: 83.98438vw;
    margin: 4.16667vw auto 0;
  }
  .banner .mvbnr_goto a {
    display: block;
    -webkit-transition: opacity 0.3s ease;
    -moz-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
  }
  .banner .mvbnr_goto a:hover {
    opacity: .7;
  }
  .banner .mvbnr_goto picture img {
    vertical-align: bottom;
  }
  .banner_open {
    color: #1d1411;
    background-color: #f8f8f7;
    font-size: 3.64583vw;
    padding: 2.86458vw 0;
    text-align: center;
  }
  .banner_open_inner {
    padding: 3.64583vw 0 6.11979vw;
    border-top: 1px solid #c9c0b3;
    border-bottom: 1px solid #c9c0b3;
    letter-spacing: 0;
  }
  .banner_open_catch {
    font-size: 3.97vw;
    margin-bottom: 4.2vw;
    letter-spacing: 0.15em;
    line-height: 6.6vw;
    font-weight: bold;
    font-family: "Noto Serif", serif;
  }
  .banner_open small {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    font-size: 3.64583vw;
    -moz-font-feature-settings: 'palt';
         font-feature-settings: 'palt';
    letter-spacing: 1.2px;
  }
  .banner_open small:before {
    content: '';
    display: block;
    width: 5.33854vw;
    height: 3.77604vw;
    background: url(../common/images/tel_black.png) center center no-repeat;
    -moz-background-size: 100%;
         background-size: 100%;
    margin-right: 1.69271vw;
  }
  .banner_open_tel {
    letter-spacing: 0.1em;
    margin-top: 5.20833vw;
    font-size: 3.64583vw;
  }
  .banner_open_tel a {
    color: #1d1411;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    font-size: 5.20833vw;
    position: relative;
    letter-spacing: 0.15em;
    font-family: "Noto Serif", serif;
  }
  .banner_goto {
    width: 83.98438vw;
    margin: 4.16667vw auto 0;
  }
  .banner_goto picture img {
    vertical-align: bottom;
  }
  .banner_other {
    width: 83.98438vw;
    margin: 4.16667vw auto 0;
  }
  .banner_other picture img {
    vertical-align: bottom;
  }
  .sdgs_anounce {
    width: 83.98438vw;
    margin: 9.375vw auto 0;
  }
  .sdgs_anounce-title {
    display: block;
    margin-bottom: 3.90625vw;
    font-size: 3.51562vw;
    font-weight: normal;
    text-align: center;
  }
  .sdgs_anounce dl {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
       -moz-box-orient: vertical;
       -moz-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .sdgs_anounce dl dt > p {
    font-size: 3.51562vw;
    line-height: 7.16146vw;
  }
  .sdgs_anounce-list {
    margin: 3.90625vw 0;
    -webkit-column-count: 2;
       -moz-column-count: 2;
            column-count: 2;
  }
  .sdgs_anounce-list li {
    font-size: 3.51562vw;
    padding-left: 1em;
    padding: 0.65104vw 0 0.65104vw 1em;
    text-indent: -0.5em;
  }
  .sdgs_anounce-list li:before {
    content: "・";
    display: inline-block;
  }
  .search {
    margin: 9.375vw auto 0;
  }
  .search .row {
    background: #96938f;
    padding-left: 0;
  }
  .search .reservation__head {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
       -moz-box-orient: horizontal;
       -moz-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: baseline;
       -moz-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    width: 68.22917vw;
    height: 100%;
    padding: 3.125vw 0 3.125vw 7.8125vw;
    position: relative;
    letter-spacing: 0.3em;
    color: #fff;
    font-size: 3.125vw;
    text-align: center;
    background-color: #5a5753;
    line-height: 1.8;
  }
  .search .reservation__head:before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    right: 0;
    bottom: 0;
    background-color: #5a5753;
    z-index: 1;
    -webkit-transform: skew(-20deg);
       -moz-transform: skew(-20deg);
        -ms-transform: skew(-20deg);
            transform: skew(-20deg);
    -webkit-transform-origin: bottom;
       -moz-transform-origin: bottom;
        -ms-transform-origin: bottom;
            transform-origin: bottom;
  }
  .search .reservation__head span {
    font-size: 6.25vw;
    letter-spacing: 2.08333vw;
    position: relative;
    z-index: 2;
  }
  .search .reservation__head-jp {
    letter-spacing: 0.65104vw !important;
    font-size: 3.64583vw !important;
    padding-left: 3.64583vw;
    border-left: solid 0.26042vw #817d78;
    margin-left: 1.82292vw;
    line-height: 3.125vw;
  }
  .search .form {
    background: #f1f1f1;
    padding: 7.03125vw 7.8125vw 0;
    margin-bottom: 8.33333vw;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .search .form__wrap {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
  }
  .search .form__wrap dl dt {
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    font-size: 3.64583vw;
    font-weight: bolder;
  }
  .search .form__wrap dl dd {
    margin-top: 1.5625vw;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .search .form__wrap dl dd .form__item {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-right: 3.64583vw;
  }
  .search .form__wrap dl dd .form__item .sl_mask {
    background: #fff;
    width: 20.83333vw;
    margin-right: 1.17188vw;
    position: relative;
    z-index: 0;
    overflow: hidden;
  }
  .search .form__wrap dl dd .form__item .sl_mask::before {
    position: absolute;
    top: 1px;
    right: 0;
    z-index: -1;
    content: '';
    width: 5.33854vw;
    height: -webkit-calc(100% - 2px);
    height: -moz-calc(100% - 2px);
    height: calc(100% - 2px);
    background-color: #878787;
  }
  .search .form__wrap dl dd .form__item .sl_mask::after {
    content: '';
    position: absolute;
    top: 47%;
    right: 0.91146vw;
    width: 1.30208vw;
    height: 1.30208vw;
    border-top: solid 0.39062vw #fff;
    border-right: solid 0.39062vw #fff;
    -webkit-transform: translate(-50%, -50%) rotateZ(135deg);
       -moz-transform: translate(-50%, -50%) rotateZ(135deg);
        -ms-transform: translate(-50%, -50%) rotate(135deg);
            transform: translate(-50%, -50%) rotateZ(135deg);
  }
  .search .form__wrap dl dd .form__item .sl_mask select {
    font-family: 'Hiragino Maru Gothic Pro','ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', Osaka, Tahoma, Verdana, Arial, Verdana, sans-serif;
    font-size: 16px;
    color: #878787;
    width: 100%;
    height: 7.03125vw;
    padding: 0 4.16667vw 0 2.08333vw;
    -moz-border-radius: 0;
         border-radius: 0;
    outline: none;
    background: none;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
  }
  .search .form__wrap dl dd .form__item span {
    font-size: 3.64583vw;
    white-space: nowrap;
    margin-right: 2.08333vw;
  }
  .search .form__wrap dl dd .form__item span .gray {
    color: #878787;
    margin: 0;
  }
  .search .form__wrap dl dd .form__item label {
    font-size: 3.64583vw;
    color: #878787;
    white-space: nowrap;
  }
  .search .form__wrap dl dd .bgw {
    background: #fff;
    padding: 2.60417vw 3.125vw;
  }
  .search .form__wrap dl dd .bgw .sl_mask {
    width: 13.02083vw;
  }
  .search .form__wrap:nth-of-type(2) {
    margin-top: 3.125vw;
  }
  .search .form__wrap:nth-of-type(2) dl:nth-of-type(2) .form__item {
    margin-right: 0;
  }
  .search .form__wrap:nth-of-type(3) {
    margin-top: 4.16667vw;
  }
  .search .form__wrap:nth-of-type(3) dl dd {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .search .form__wrap:nth-of-type(3) dl dd .form__item {
    margin-right: 0;
  }
  .search .form__wrap:nth-of-type(3) dl dd .form__item:nth-of-type(3) {
    margin-top: 2.60417vw;
  }
  .search .form .btn_wrap {
    width: 100%;
    padding: 6.25vw 0 7.8125vw;
  }
  .search .form .btn_wrap button, .search .form .btn_wrap .link_cancel {
    display: block;
    width: 58.59375vw;
    height: 11.06771vw;
    text-align: center;
    line-height: 10.41667vw;
    background-color: #fff;
    border: 0.26042vw solid #878787;
    outline: none;
    cursor: pointer;
    margin: 0 auto;
    position: relative;
  }
  .search .form .btn_wrap button:after, .search .form .btn_wrap .link_cancel:after {
    content: "";
    background: url(../contact/images/arr_r.png) no-repeat;
    -moz-background-size: contain;
         background-size: contain;
    width: 2.08333vw;
    height: 3.38542vw;
    position: absolute;
    top: 50%;
    right: 2.60417vw;
    -webkit-transform: translateY(-50%);
       -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .search .form .btn_wrap button span, .search .form .btn_wrap .link_cancel span {
    font-size: 3.90625vw;
    font-weight: 600;
    line-height: 10.41667vw;
  }
  .search .form .btn_wrap .link_cancel {
    margin-top: 3.90625vw;
  }
  .restaurant {
    background-image: url(../images/restaurant_sp.jpg);
    -moz-background-size: cover;
         background-size: cover;
    width: 100%;
    height: 52.08333vw;
  }
  .restaurant a {
    color: white;
    display: block;
    width: 100%;
    height: 100%;
    padding-top: 7.8125vw;
    margin: 9.11458vw auto;
  }
  .restaurant a h2 {
    font-family: 'Noto Serif', serif;
    font-size: 6.25vw;
    line-height: 1;
    letter-spacing: 1.04167vw;
    text-align: center;
    margin-bottom: 3.90625vw;
  }
  .restaurant a p {
    width: 59.89583vw;
    margin: 0 auto;
    padding: 3.90625vw 0;
    border-top: 1px solid white;
    border-bottom: 1px solid white;
    font-size: 3.64583vw;
    text-align: center;
  }
  .reservation .row {
    padding: 3.90625vw 7.8125vw 10.15625vw;
    background-color: #96938f;
    position: relative;
  }
  .reservation .row:before {
    content: '';
    display: block;
    width: 200%;
    height: 100%;
    position: absolute;
    left: -23.4375vw;
    top: 0;
    background-color: #5a5753;
    z-index: 1;
    -webkit-transform: skew(69deg);
       -moz-transform: skew(69deg);
        -ms-transform: skew(69deg);
            transform: skew(69deg);
    -webkit-transform-origin: top;
       -moz-transform-origin: top;
        -ms-transform-origin: top;
            transform-origin: top;
  }
  .reservation__head {
    letter-spacing: 0.3em;
    color: #fff;
    font-size: 6.25vw;
    text-align: center;
  }
  .reservation__head span {
    position: relative;
    display: block;
    z-index: 2;
  }
  .reservation__head-jp {
    letter-spacing: 0.2em;
    font-size: 3.64583vw;
    line-height: 1.8;
  }
  .reservation__links {
    position: relative;
    z-index: 2;
    text-align: center;
    font-size: 3.64583vw;
    margin-top: 4.55729vw;
  }
  .reservation__links-item {
    width: 84.375vw;
    height: 13.02083vw;
    border: 0.26042vw solid #6c6b6b;
  }
  .reservation__links-item:nth-child(n + 2) {
    margin-top: 5.20833vw;
  }
  .reservation__links-item a {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    background-color: white;
    width: 100%;
    height: 100%;
    padding: 0 5.20833vw;
    will-change: opacity;
    -webkit-transition: opacity 0.3s ease;
    -moz-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
  }
  .reservation__links-item a:after {
    content: '';
    display: block;
    width: 4.42708vw;
    height: 3.51562vw;
    background: url("../common/images/icon_blank.png") center center no-repeat;
    -moz-background-size: 100%;
         background-size: 100%;
    position: absolute;
    right: 30px;
    top: 50%;
    -webkit-transform: translateY(-50%);
       -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .slider {
    padding: 6.64062vw 0 6.38021vw;
  }
  .slider_bn {
    padding: 0 10.41667vw;
    overflow: hidden;
  }
  .slider_bn .slick-prev {
    width: 3.64583vw;
    height: 10.41667vw;
    left: 0;
  }
  .slider_bn .slick-prev:before {
    content: '';
    width: 3.64583vw;
    height: 10.41667vw;
    background: url(../images/arrow_l.png) no-repeat;
    -moz-background-size: contain;
         background-size: contain;
    display: block;
    opacity: 1;
  }
  .slider_bn .slick-next {
    width: 3.64583vw;
    height: 10.41667vw;
    right: 0;
  }
  .slider_bn .slick-next:before {
    content: '';
    width: 3.64583vw;
    height: 10.41667vw;
    background: url(../images/arrow_r.png) no-repeat;
    -moz-background-size: contain;
         background-size: contain;
    display: block;
    opacity: 1;
  }
  .slider_bn li img {
    width: 100%;
  }
  .reser {
    background: #f1f1f1;
    padding: 8.72396vw 0;
  }
  .reser .tt_sec {
    margin-bottom: 7.29167vw;
    letter-spacing: 1.17188vw;
    padding: 0 3.77604vw;
  }
  .reser .tt_sec span {
    margin-left: 1.69271vw;
    letter-spacing: 0.52083vw;
    display: block;
    margin-top: 3.125vw;
  }
  .reser table,
  .reser tr,
  .reser td {
    border-collapse: collapse;
  }
  .reser table {
    display: block;
    position: relative;
  }
  .reser table caption {
    font-size: 6.25vw;
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    -webkit-transform: translateY(-50%);
       -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    color: #fff;
  }
  .reser table tbody {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .reser table tbody tr {
    -webkit-box-flex: 0;
       -moz-box-flex: 0;
        -ms-flex: 0 1 50%;
            flex: 0 1 50%;
    width: 50%;
    border: 2px solid #b0afaf;
  }
  .reser table tbody tr td {
    width: 100%;
    color: #d3d2d2;
    background: #9a9898;
    padding: 5.46875vw 0;
    text-align: center;
    font-size: 3.64583vw;
    display: block;
    letter-spacing: 0.39062vw;
  }
  .reser table tbody tr td:last-of-type {
    background: #cecdcd;
    padding: 7.8125vw 0;
    height: 43.88021vw;
  }
  .reser table tbody tr:last-of-type {
    border-left: none;
  }
  .reser table tbody .head {
    -webkit-box-flex: 0;
       -moz-box-flex: 0;
        -ms-flex: 0 1 100%;
            flex: 0 1 100%;
    width: 100%;
    border-bottom: none;
  }
  .reser table tbody .head td {
    display: none;
  }
  .reser table tbody .head td:first-child {
    border-collapse: collapse;
    color: #d3d2d2;
    background: #1d1411;
    font-size: 4.42708vw;
    font-family: "Noto Serif", serif;
    position: relative;
    width: 100%;
    display: block;
    padding: 9.76562vw 0;
  }
  .reser table tbody .head td:first-child em {
    font-style: normal;
    width: 100%;
    letter-spacing: 1.04167vw;
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    -webkit-transform: translateY(-50%);
       -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .reser table tbody .head td:first-child em span {
    display: block;
    font-size: 3.64583vw;
    letter-spacing: 0.39062vw;
    margin-top: 1.30208vw;
    font-family: '游明朝体', 'Yu Mincho', YuMincho, 'ヒラギノ明朝 Pro', 'Hiragino Mincho Pro', 'MS P明朝', 'MS PMincho', serif;
  }
  .txt {
    margin: 9.375vw 0 7.16146vw;
  }
  .txt .txt_ct {
    padding: 7.29167vw 0 8.72396vw;
    border-top: 2px solid #000;
    border-bottom: 2px solid #000;
  }
  .txt .txt_ct p {
    font-size: 3.64583vw;
    line-height: 7.16146vw;
    font-weight: 500;
    margin-bottom: 6.77083vw;
    padding: 0 1.95312vw;
  }
  .txt .txt_ct_list {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .txt .txt_ct_list li {
    text-align: center;
  }
  .txt .txt_ct_list li picture {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 17.31771vw;
  }
  .txt .txt_ct_list li picture img {
    margin: 0 auto;
    width: inherit;
  }
  .txt .txt_ct_list li picture .eat {
    width: 11.06771vw;
  }
  .txt .txt_ct_list li picture .smoke {
    width: 17.44792vw;
  }
  .txt .txt_ct_list li picture .wifi {
    width: 18.09896vw;
  }
  .txt .txt_ct_list li picture .fork {
    width: 10.67708vw;
  }
  .txt .txt_ct_list li span {
    margin-top: 2.47396vw;
    margin-bottom: -0.52083vw;
    display: block;
    font-size: 3.64583vw;
    font-weight: 500;
    letter-spacing: 0.26042vw;
    word-break: keep-all;
  }
  .rooms {
    background: #f1f1f1;
    padding-bottom: 0.78125vw;
    padding-top: 5.20833vw;
  }
  .rooms_tt {
    background: #fff;
    padding: 7.16146vw 3.90625vw;
    margin-bottom: 5.20833vw;
  }
  .rooms_tt h3 {
    font-size: 7.8125vw;
    letter-spacing: 0.52083vw;
  }
  .rooms_tt h3 span {
    font-size: 2.60417vw;
    padding-left: 2.08333vw;
    border-left: solid 0.39062vw #d9d9d9;
    margin-left: 2.08333vw;
  }
  .rooms_tt p {
    font-size: 3.125vw;
    margin-top: 4.16667vw;
  }
  .rooms_ct article {
    position: relative;
    margin: 0 0 17.31771vw;
  }
  .rooms_ct article figure img {
    width: 100%;
  }
  .rooms_ct article .rooms_des {
    position: absolute;
    width: 79.16667vw;
    text-align: center;
    bottom: -10.41667vw;
    left: 0;
    right: 0;
    margin: 0 auto;
    background: #fff;
    z-index: 1;
    padding-bottom: 2.86458vw;
  }
  .rooms_ct article .rooms_des h4 {
    font-size: 3.125vw;
    line-height: 1;
    font-family: "Noto Serif", serif;
    letter-spacing: 0.65104vw;
    padding: 3.125vw 0;
    border-bottom: 1px solid #000;
  }
  .rooms_ct article .rooms_des p {
    font-size: 3.90625vw;
    line-height: 1.5;
    font-weight: 500;
    margin-top: 3.125vw;
    margin-bottom: 4.6875vw;
    padding-left: 1.5625vw;
  }
  .rooms_ct article .rooms_des p span {
    font-size: 3.64583vw;
    letter-spacing: 0.39062vw;
  }
  .rooms_ct article .rooms_des .btn:after {
    margin-left: 3.25521vw;
  }
  .rooms_ct .rooms_tt {
    margin-bottom: 6.77083vw;
  }
  .rooms_ct .rooms_tt .rooms_tt_inner {
    text-align: center;
  }
  .rooms_ct .rooms_tt .rooms_tt_inner h3 {
    font-size: 9.375vw;
    line-height: 1;
    font-family: "Noto Serif", serif;
    letter-spacing: 1.43229vw;
    margin: 4.55729vw 0 5.20833vw;
  }
  .rooms_ct .rooms_tt .rooms_tt_inner span {
    margin-bottom: 8.72396vw;
    line-height: 1;
    font-size: 4.16667vw;
    font-weight: 500;
    display: block;
    letter-spacing: 0.39062vw;
    margin-right: 1.5625vw;
  }
  .rooms_ct .rooms_tt .rooms_tt_inner p {
    font-size: 3.64583vw;
    line-height: 7.8125vw;
    font-weight: 500;
    padding: 2.99479vw 2.60417vw 3.90625vw;
    border-top: 2px solid #000;
    border-bottom: 2px solid #000;
    display: block;
    letter-spacing: 0.52083vw;
  }
  .service {
    background: #f1f1f1;
    padding: 7.16146vw 0 7.55208vw;
  }
  .service_i {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .service_i_sv {
    margin-bottom: 5.72917vw;
  }
  .service_i_sv_ct {
    background: #fff;
    padding: 9.24479vw 6.51042vw 5.72917vw 6.51042vw;
    overflow: hidden;
  }
  .service_i_sv_ct .tt_sec {
    font-size: 6.25vw;
    line-height: 1;
    letter-spacing: 0.15em;
    margin-bottom: 8.07292vw;
  }
  .service_i_sv_ct .tt_sec span {
    font-size: 2.60417vw;
    line-height: 1;
    font-weight: 500;
    letter-spacing: 0.65104vw;
    position: relative;
    top: 0.65104vw;
    display: inline-block;
    margin: 0;
  }
  .service_i_sv_ct p {
    font-size: 3.64583vw;
    line-height: 6.25vw;
    margin-bottom: 1.43229vw;
    font-weight: 500;
    letter-spacing: 0.52083vw;
    text-align: justify;
  }
  .service_i_sv_ct .btn {
    float: right;
    margin-right: 1.30208vw;
  }
  .service_i_sv figure img {
    width: 100%;
  }
  .service_i_sv:last-of-type {
    margin-bottom: 0;
  }
  .service_i .gym .service_i_sv_ct .tt_sec {
    letter-spacing: 0.13021vw;
  }
  .service_i .gym .service_i_sv_ct .tt_sec span {
    padding-left: 1.5625vw;
    margin-left: 0.78125vw;
    letter-spacing: 0.13021vw;
  }
  .restaurant_list li {
    width: 72.91667vw;
    background-color: #fff;
    margin: 7.8125vw auto 0;
  }
  .restaurant_list li.shadow {
    position: relative;
  }
  .restaurant_list li.shadow:before {
    content: "現在営業を行っておりません。";
    font-size: 4.42708vw;
    position: absolute;
    z-index: 10;
    top: 0;
    left: 0;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    /* align-items: center; */
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%;
    height: -webkit-calc(100% - 100px);
    height: -moz-calc(100% - 100px);
    height: calc(100% - 100px);
    padding-top: 26.04167vw;
    color: #fff;
    background-color: rgba(0, 0, 0, 0.4);
  }
  .restaurant_list .text_box {
    position: relative;
    padding: 5.20833vw 5.20833vw 13.02083vw;
  }
  .restaurant_list h4 {
    font-size: 4.16667vw;
    margin-bottom: 1.95312vw;
  }
  .restaurant_list span {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    position: relative;
    font-family: 'Noto Serif', serif;
    font-size: 3.64583vw;
    margin-bottom: 5.20833vw;
  }
  .restaurant_list span:before {
    content: '';
    display: block;
    background-color: black;
    width: 7.8125vw;
    height: 0.52083vw;
    margin-right: 1.82292vw;
  }
  .restaurant_list a {
    position: absolute;
    right: 5.20833vw;
    bottom: 5.20833vw;
  }
  .news {
    padding-top: 6.77083vw;
    padding-bottom: 1.30208vw;
  }
  .news_tt {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-bottom: 1.82292vw;
    padding: 0 3.90625vw;
  }
  .news_tt .tt_sec {
    font-size: 6.25vw;
    letter-spacing: 0.65104vw;
  }
  .news_tt .tt_sec span {
    font-size: 3.64583vw;
    padding-left: 3.125vw;
    margin-left: 1.82292vw;
    display: inline-block;
    letter-spacing: 0.39062vw;
    margin-top: 0;
  }
  .news ul {
    padding: 5.20833vw 3.90625vw 0;
  }
  .news ul li {
    margin-bottom: 4.29688vw;
  }
  .news ul li a {
    color: #000;
  }
  .news ul li a figure img {
    width: 100%;
  }
  .news ul li a time {
    font-size: 3.64583vw;
    line-height: 1;
    padding: 4.03646vw 0 3.38542vw;
    border-bottom: 2px solid #000;
    display: block;
    font-weight: bold;
    letter-spacing: 0.78125vw;
  }
  .news ul li a p {
    padding: 4.42708vw 0;
    font-weight: 500;
    letter-spacing: 0.13021vw;
    font-size: 3.64583vw;
    line-height: 4.03646vw;
  }
  .cld {
    margin-bottom: 8.07292vw;
    padding: 0 3.90625vw;
  }
  .cld .row {
    padding: 5px;
    position: relative;
    overflow: hidden;
  }
  .cld .row:before {
    content: '';
    position: absolute;
    top: 0;
    -moz-box-sizing: border-box;
         box-sizing: border-box;
    left: 0;
    border-top: 2px solid #525252;
    border-right: 2px solid #525252;
  }
  .cld .row .cld_inner {
    position: relative;
    padding: 3.90625vw 3.90625vw 4.6875vw;
    width: 100%;
    overflow: hidden;
  }
  .cld .row .cld_inner:before {
    content: '';
    position: absolute;
    top: 0;
    -moz-box-sizing: border-box;
         box-sizing: border-box;
    left: 0;
    border-top: 2px solid #525252;
    border-right: 2px solid #525252;
  }
  .cld .row .cld_inner .cld_inner_tt {
    text-align: center;
    padding: 0 2.60417vw;
    margin: 4.42708vw 0;
  }
  .cld .row .cld_inner .cld_inner_tt h3 {
    font-size: 7.8125vw;
    font-family: "Noto Serif", serif;
    line-height: 1;
    letter-spacing: 1.04167vw;
    margin-bottom: 3.25521vw;
  }
  .cld .row .cld_inner .cld_inner_tt span {
    font-size: 3.90625vw;
    font-weight: 500;
    margin-bottom: 4.94792vw;
    display: block;
  }
  .cld .row .cld_inner .cld_inner_tt p {
    font-size: 3.64583vw;
    line-height: 6.25vw;
    font-weight: 500;
    border-top: 2px solid #000;
    border-bottom: 2px solid #000;
    padding: 4.16667vw 0 3.64583vw;
    letter-spacing: 0.26042vw;
  }
  .cld .row .cld_inner:after {
    content: '';
    position: absolute;
    bottom: 0;
    -moz-box-sizing: border-box;
         box-sizing: border-box;
    right: 0;
    border-bottom: 2px solid #525252;
    border-left: 2px solid #525252;
  }
  .cld .row:after {
    content: '';
    position: absolute;
    bottom: 0;
    -moz-box-sizing: border-box;
         box-sizing: border-box;
    right: 0;
    border-bottom: 2px solid #525252;
    border-left: 2px solid #525252;
  }
  .map {
    position: relative;
    overflow: hidden;
    font-size: 0;
  }
  .map .row .map_inner {
    margin: 6.51042vw 0;
  }
  .map .row .map_inner .map_tt {
    background: #fff;
  }
  .map .row .map_inner .map_tt .tt_sec {
    font-size: 6.25vw;
    margin-bottom: 6.90104vw;
    letter-spacing: 1.17188vw;
  }
  .map .row .map_inner .map_tt .tt_sec span {
    font-size: 3.64583vw;
    display: inline-block;
    margin-left: -0.78125vw;
    padding-left: 3.25521vw;
    letter-spacing: 0.26042vw;
    margin-top: 0;
  }
  .map .row .map_inner .map_tt p {
    font-size: 3.64583vw;
    font-weight: 500;
    line-height: 6.25vw;
    margin-bottom: 3.25521vw;
    letter-spacing: 0.19531vw;
  }
  .map iframe {
    width: 100%;
    height: 66.66667vw;
  }
}

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