@charset "UTF-8";
body, dd, dl, dt, form, h1, h2, h3, h4, h5, li, ol, p, table, td, th, ul {
    margin: 0px;
    padding: 0px;
    font-weight: normal;
    border-top-style: none;
    border-right-style: none;
    border-bottom-style: none;
    border-left-style: none;
    list-style-type: none;
    font-size: 100%
}

body {
    color: #000000;
    background-color: #ffffff;
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
    line-height: 1.3;
    font-size: 14px;
    -webkit-text-size-adjust: none
}

p {
    line-height: 1.5
}

* html body {
    font-size: 100%
}

a {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    -webkit-touch-callout: none
}

a img {
    border-top-style: none;
    border-right-style: none;
    border-bottom-style: none;
    border-left-style: none;
    -webkit-transition: 0.5s;
    -moz-transition: 0.5s;
    -o-transition: 0.5s;
    -ms-transition: 0.5s;
    transition: 0.5s
}

img {
    vertical-align: bottom;
    max-width: 100%;
    height: auto;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

button, input, select, textarea {
    background: none;
    margin: 0px;
    outline: none;
    padding: 0px;
    font-weight: normal;
    border-top-style: none;
    border-right-style: none;
    border-bottom-style: none;
    border-left-style: none;
    list-style-type: none;
    font-size: 14px;
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif
}

button {
    cursor: pointer
}

select {
    -webkit-appearance: button;
    appearance: button
}

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

* {
    box-sizing: border-box
}

@font-face {
    font-family: 'FontAwesome';
    src: url("../fonts/fontawesome-webfont.eot?v=4.6.3");
    src: url("../fonts/fontawesome-webfont.eot?#iefix&v=4.6.3") format("embedded-opentype"), url("../fonts/fontawesome-webfont.woff2?v=4.6.3") format("woff2"), url("../fonts/fontawesome-webfont.woff?v=4.6.3") format("woff"), url("../fonts/fontawesome-webfont.ttf?v=4.6.3") format("truetype"), url("../fonts/fontawesome-webfont.svg?v=4.6.3#fontawesomeregular") format("svg");
    font-weight: normal;
    font-style: normal
}

a:link {
    color: #000000;
    text-decoration: none
}

a:visited {
    color: #000000;
    text-decoration: none
}

a:hover {
    color: #6dc5f1;
    text-decoration: underline;
    -webkit-transition: 0.5s;
    -moz-transition: 0.5s;
    -o-transition: 0.5s;
    -ms-transition: 0.5s;
    transition: 0.5s
}

a:hover img {
    -webkit-transition: 0.5s;
    -moz-transition: 0.5s;
    -o-transition: 0.5s;
    -ms-transition: 0.5s;
    transition: 0.5s;
    opacity: .8
}

a.colored:link {
  color: #6dc5f1;
  text-decoration: underline;
}

a.colored:visited {
  color: #6dc5f1;
  text-decoration: underline;
}

.clear:after {
    content: '';
    display: block;
    clear: both
}

.clear_both {
    clear: both
}

.hidden {
    overflow: hidden
}

#wrapper {
    overflow: hidden
}

.main_width {
    display: block;
    margin-left: auto;
    margin-right: auto;
    max-width: 1000px
}

.main_wide_width {
    display: block;
    margin-left: auto;
    margin-right: auto;
    max-width: 1150px
}

@media only screen and (max-width: 1024px) {
    .main_width {
        padding: 0 40px
    }
}

@media only screen and (max-width: 768px) {
    .main_width {
        padding: 0 20px
    }
}

@media only screen and (max-width: 640px) {
    .main_width {
        padding: 0 15px
    }
}

.exp_width {
    display: block;
    margin-left: auto;
    margin-right: auto;
    max-width: 800px
}

.cont_width {
    display: block;
    margin-left: auto;
    margin-right: auto;
    max-width: 750px
}

.wide_cont_width {
    display: block;
    margin-left: auto;
    margin-right: auto;
    max-width: 800px
}

.min_width {
    display: block;
    margin-left: auto;
    margin-right: auto;
    max-width: 600px
}

#main_area .main_title {
    padding-bottom: 60px
}

#main_area .main_title h1, #main_area .main_title h2 {
    font-size: 228.6%;
    font-weight: 600;
    font-family: "Noto Sans Japanese", serif;
    color: #00a3e5;
    text-align: center
}

#main_area .main_title h1 .num, #main_area .main_title h2 .num {
    font-size: 142.9%;
    margin-left: 0.35em;
    margin-right: 0.15em
}

#main_area .main_title.orange_title h1, #main_area .main_title.orange_title h2 {
    color: #ed8a19
}

@media only screen and (max-width: 1024px) {
    #main_area .main_title {
        padding-bottom: 40px
    }

    #main_area .main_title h1, #main_area .main_title h2 {
        font-size: 200%
    }
}

@media only screen and (max-width: 768px) {
    #main_area .main_title {
        padding-bottom: 30px
    }

    #main_area .main_title h1, #main_area .main_title h2 {
        font-size: 171.4%
    }
}

@media only screen and (max-width: 480px) {
    #main_area .main_title {
        padding-top: 10px;
        padding-bottom: 20px
    }

    #main_area .main_title h1, #main_area .main_title h2 {
        font-size: 142.9%
    }
}

#main_area .main_cont_title {
    padding-bottom: 60px
}

#main_area .main_cont_title h1, #main_area .main_cont_title h2 {
    font-size: 200%;
    font-weight: 600;
    font-family: "Noto Sans Japanese", serif;
    color: #00a3e5;
    text-align: center
}

#main_area .main_cont_title h1 > span, #main_area .main_cont_title h2 > span {
    display: inline-block
}

#main_area .main_cont_title h1 > span.br, #main_area .main_cont_title h2 > span.br {
    display: block
}

#main_area .main_cont_title h1 > span.br + .br, #main_area .main_cont_title h2 > span.br + .br {
    margin-top: 0.25em
}

#main_area .main_cont_title h1 .num, #main_area .main_cont_title h2 .num {
    font-size: 142.9%;
    margin-left: 0.35em;
    margin-right: 0.15em
}

#main_area .main_cont_title.orange_title h1, #main_area .main_cont_title.orange_title h2 {
    color: #ed8a19
}

#main_area .main_cont_title.basecolor_title h1, #main_area .main_cont_title.basecolor_title h2 {
    color: #000000
}

#main_area .main_cont_title .main_title_caution {
    margin: 2.25em auto 0
}

#main_area .main_cont_title .main_title_caution p {
    font-size: 100%;
    text-align: center
}

#main_area .main_cont_title .main_title_caution p .blue {
    color: #00a3e5
}

#main_area .main_cont_title .main_title_caution p a {
    color: #00a3e5;
    text-decoration: underline
}

#main_area .main_cont_title .main_title_caution p a:hover {
    text-decoration: none
}

#main_area .main_cont_title .img_title {
    text-align: center;
    margin-bottom: 1.5em
}

#main_area .main_cont_title .img_title img {
    margin: auto;
    height: 30px;
    width: auto
}

@media only screen and (max-width: 1024px) {
    #main_area .main_cont_title {
        padding-bottom: 40px
    }

    #main_area .main_cont_title h1, #main_area .main_cont_title h2 {
        font-size: 157.1%
    }

    #main_area .main_cont_title .img_title {
        margin-bottom: 1.25em
    }

    #main_area .main_cont_title .img_title img {
        margin: auto;
        height: 26px
    }
}

@media only screen and (max-width: 768px) {
    #main_area .main_cont_title {
        padding-top: 0px;
        padding-bottom: 30px
    }

    #main_area .main_cont_title h1, #main_area .main_cont_title h2 {
        font-size: 142.9%
    }

    #main_area .main_cont_title .img_title {
        margin-bottom: 1.0em
    }

    #main_area .main_cont_title .img_title img {
        margin: auto;
        height: 20px
    }
}

@media only screen and (max-width: 480px) {
    #main_area .main_cont_title {
        padding-top: 10px;
        padding-bottom: 20px
    }

    #main_area .main_cont_title h1, #main_area .main_cont_title h2 {
        font-size: 128.6%
    }

    #main_area .main_cont_title .img_title {
        margin-bottom: 0.5em
    }

    #main_area .main_cont_title .img_title img {
        margin: auto;
        height: 18px
    }
}

#main_area .medium_cont_title {
    padding-top: 50px;
    padding-bottom: 60px
}

#main_area .medium_cont_title h1, #main_area .medium_cont_title h2, #main_area .medium_cont_title h3 {
    font-size: 178.6%;
    font-weight: 600;
    font-family: "Noto Sans Japanese", serif;
    color: #00a3e5;
    text-align: center
}

#main_area .medium_cont_title.left h1, #main_area .medium_cont_title.left h2, #main_area .medium_cont_title.left h3 {
    text-align: left
}

@media only screen and (max-width: 1024px) {
    #main_area .medium_cont_title {
        padding-top: 10px;
        padding-bottom: 40px
    }

    #main_area .medium_cont_title h1, #main_area .medium_cont_title h2, #main_area .medium_cont_title h3 {
        font-size: 164.3%
    }
}

@media only screen and (max-width: 768px) {
    #main_area .medium_cont_title {
        padding-top: 0px;
        padding-bottom: 30px
    }

    #main_area .medium_cont_title h1, #main_area .medium_cont_title h2, #main_area .medium_cont_title h3 {
        font-size: 128.6%
    }
}

@media only screen and (max-width: 480px) {
    #main_area .medium_cont_title {
        padding-top: 10px;
        padding-bottom: 20px
    }

    #main_area .medium_cont_title h1, #main_area .medium_cont_title h2, #main_area .medium_cont_title h3 {
        font-size: 114.3%
    }
}

#main_area .sub_cont_title {
    padding-top: 50px;
    padding-bottom: 60px
}

#main_area .sub_cont_title h1, #main_area .sub_cont_title h2, #main_area .sub_cont_title h3 {
    font-size: 157.1%;
    font-weight: 600;
    font-family: "Noto Sans Japanese", serif;
    color: #00a3e5;
    text-align: center
}

#main_area .sub_cont_title p {
    text-align: center
}

#main_area .sub_cont_title.orange_title h1, #main_area .sub_cont_title.orange_title h2, #main_area .sub_cont_title.orange_title h3 {
    color: #ed8a19
}

@media only screen and (max-width: 1024px) {
    #main_area .sub_cont_title {
        padding-top: 10px;
        padding-bottom: 40px
    }

    #main_area .sub_cont_title h1, #main_area .sub_cont_title h2, #main_area .sub_cont_title h3 {
        font-size: 142.9%
    }
}

@media only screen and (max-width: 768px) {
    #main_area .sub_cont_title {
        padding-top: 0px;
        padding-bottom: 30px
    }

    #main_area .sub_cont_title h1, #main_area .sub_cont_title h2, #main_area .sub_cont_title h3 {
        font-size: 128.6%
    }
}

@media only screen and (max-width: 480px) {
    #main_area .sub_cont_title {
        padding-top: 10px;
        padding-bottom: 20px
    }

    #main_area .sub_cont_title h1, #main_area .sub_cont_title h2, #main_area .sub_cont_title h3 {
        font-size: 114.3%
    }
}

#main_area .min_title {
    padding-bottom: 1.5em
}

#main_area .min_title h1, #main_area .min_title h2, #main_area .min_title h3, #main_area .min_title h4 {
    font-size: 142.9%;
    font-weight: 600;
    font-family: "Noto Sans Japanese", serif;
    color: #00a3e5;
    text-align: left
}

#main_area .min_title.center h1, #main_area .min_title.center h2, #main_area .min_title.center h3, #main_area .min_title.center h4 {
    text-align: center
}

@media only screen and (max-width: 1024px) {
    #main_area .min_title {
        padding-bottom: 1.15em
    }

    #main_area .min_title h1, #main_area .min_title h2, #main_area .min_title h3, #main_area .min_title h4 {
        font-size: 128.6%
    }
}

@media only screen and (max-width: 768px) {
    #main_area .min_title {
        padding-bottom: 1em
    }

    #main_area .min_title h1, #main_area .min_title h2, #main_area .min_title h3, #main_area .min_title h4 {
        font-size: 114.3%
    }
}

@media only screen and (max-width: 480px) {
    #main_area .min_title h1, #main_area .min_title h2, #main_area .min_title h3, #main_area .min_title h4 {
        font-size: 114.3%
    }
}

#main_area .bar_title_area {
    background: #00a3e5;
    background: linear-gradient(-135deg, #0067bc, #00a2e4);
    color: #fff;
    text-align: center;
    padding: 35px 40px;
    position: relative
}

#main_area .bar_title_area .inner {
    max-width: 100%;
    position: relative
}

#main_area .bar_title_area .bar_title > p, #main_area .bar_title_area .bar_title h1 {
    font-size: 200%;
    font-weight: 600;
    font-family: "Noto Sans Japanese", serif;
    color: #fff;
    text-align: center
}

#main_area .bar_title_area .bar_title > p > span, #main_area .bar_title_area .bar_title h1 > span {
    display: inline-block
}

@media only screen and (min-width: 1025px) {
    #main_area .bar_title_area .bar_submenu {
        position: absolute;
        top: 50%;
        right: 0;
        -webkit-transform: translate(0%, -50%);
        -ms-transform: translate(0%, -50%);
        transform: translate(0%, -50%)
    }
}

@media only screen and (max-width: 1024px) {
    #main_area .bar_title_area .bar_submenu {
        display: flex;
        justify-content: center
    }

    #main_area .bar_title_area .bar_submenu ul {
        margin-left: auto;
        margin-right: auto
    }
}

#main_area .bar_title_area .bar_submenu ul {
    display: flex;
    margin-right: -1em
}

#main_area .bar_title_area .bar_submenu ul li {
    padding-left: 1em;
    padding-right: 1em
}

@media only screen and (max-width: 1300px) {
    #main_area .bar_title_area .bar_submenu ul {
        margin-right: -0.5em
    }

    #main_area .bar_title_area .bar_submenu ul li {
        padding-left: 0.5em;
        padding-right: 0.5em
    }
}

@media only screen and (max-width: 1024px) {
    #main_area .bar_title_area .bar_submenu ul {
        margin-left: auto;
        margin-right: auto
    }
}

#main_area .bar_title_area .bar_submenu ul li a {
    font-size: 100%;
    font-weight: 500;
    color: #fff
}

#main_area .bar_title_area .bar_submenu ul li a:hover {
    text-decoration: none
}

@media only screen and (min-width: 769px) {
    #main_area .bar_title_area .bar_submenu ul li a > span {
        position: relative
    }

    #main_area .bar_title_area .bar_submenu ul li a > span:before {
        content: "";
        width: 0%;
        height: 1px;
        display: block;
        position: absolute;
        right: 0;
        bottom: -3px;
        background-color: #fff;
        opacity: 0.7;
        transition: 400ms
    }

    #main_area .bar_title_area .bar_submenu ul li a:hover {
        text-decoration: none
    }

    #main_area .bar_title_area .bar_submenu ul li a:hover > span:before {
        width: 100%;
        transition: 400ms
    }
}

@media only screen and (max-width: 1300px) {
    #main_area .bar_title_area {
        padding: 35px 20px
    }
}

@media only screen and (max-width: 1024px) {
    #main_area .bar_title_area {
        padding: 20px 20px
    }

    #main_area .bar_title_area .bar_title > p, #main_area .bar_title_area .bar_title h1 {
        font-size: 200%
    }
}

@media only screen and (max-width: 768px) {
    #main_area .bar_title_area .bar_title > p, #main_area .bar_title_area .bar_title h1 {
        font-size: 171.4%
    }
}

@media only screen and (max-width: 480px) {
    #main_area .bar_title_area {
        padding: 10px 0 0
    }

    #main_area .bar_title_area .bar_title {
        padding: 0 20px 10px
    }

    #main_area .bar_title_area .bar_title > p, #main_area .bar_title_area .bar_title h1 {
        font-size: 142.9%
    }

    #main_area .bar_title_area .bar_submeny ul {
        width: 100%;
        background: rgba(0, 0, 0, 0.3);
        border-top: solid 1px #00a3e5
    }

    #main_area .bar_title_area .bar_submeny ul li {
        width: 50%
    }

    #main_area .bar_title_area .bar_submeny ul li + li {
        border-left: solid 1px #00a3e5
    }

    #main_area .bar_title_area .bar_submeny ul li a {
        display: block;
        padding: 0.2em
    }
}

#main_area .brackets_title h2, #main_area .brackets_title h3, #main_area .brackets_title h4 {
    text-align: center;
    font-size: 128.6%;
    position: relative;
    font-weight: 600
}

#main_area .brackets_title h2 > span, #main_area .brackets_title h3 > span, #main_area .brackets_title h4 > span {
    position: relative;
    padding: 0 0.75em;
    line-height: 1.1
}

#main_area .brackets_title h2 > span:after, #main_area .brackets_title h2 > span:before, #main_area .brackets_title h3 > span:after, #main_area .brackets_title h3 > span:before, #main_area .brackets_title h4 > span:after, #main_area .brackets_title h4 > span:before {
    position: absolute;
    top: 50%;
    -webkit-transform: translate(0%, -50%);
    -ms-transform: translate(0%, -50%);
    transform: translate(0%, -50%);
    content: "";
    display: block;
    border: solid 1px #000000;
    width: 0.25em;
    height: 0.9em
}

#main_area .brackets_title h2 > span:before, #main_area .brackets_title h3 > span:before, #main_area .brackets_title h4 > span:before {
    left: 0;
    border-right-style: none
}

#main_area .brackets_title h2 > span:after, #main_area .brackets_title h3 > span:after, #main_area .brackets_title h4 > span:after {
    right: 0;
    border-left-style: none
}

.text_right {
    text-align: right
}

.text_left {
    text-align: left
}

.text_center {
    text-align: center
}

.underline {
    text-decoration: underline
}

.lato {
    font-family: "Lato", "arial", sans-serif
}

.mintyo {
    font-family: "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif
}

#main_area .link_btn {
    width: 100%;
    max-width: 16em;
    margin: auto
}

#main_area .link_btn > a, #main_area .link_btn > div {
    display: block;
    width: 100%;
    padding: 0.8em 0.4em 0.7em;
    background-color: #00a3e5;
    text-align: center;
    position: relative;
    text-decoration: none;
    border: solid 2px #00a3e5
}

#main_area .link_btn > a:hover, #main_area .link_btn > div:hover {
    text-decoration: none
}

#main_area .link_btn > a:before, #main_area .link_btn > div:before {
    position: absolute;
    right: 1em;
    top: 50%;
    content: "";
    width: 10px;
    height: 13px;
    margin-top: -6px;
    display: block;
    background-image: url(/room_reserve/media/images/common/link_btn_arr.png);
    background-repeat: no-repeat
}

#main_area .link_btn > a > span, #main_area .link_btn > div > span {
    color: #fff;
    font-size: 128.6%;
    font-weight: 600
}

#main_area .link_btn > a > span.min_font, #main_area .link_btn > div > span.min_font {
    font-size: 114.3%
}

@media only screen and (min-width: 769px) {
    #main_area .link_btn > a:before, #main_area .link_btn > div:before {
        transition: 400ms
    }

    #main_area .link_btn > a:hover:before, #main_area .link_btn > div:hover:before {
        right: 0.7em;
        transition: 400ms
    }
}

#main_area .link_btn.white > a, #main_area .link_btn.white > div {
    background-color: #fff
}

#main_area .link_btn.white > a:before, #main_area .link_btn.white > div:before {
    background-image: url(/room_reserve/media/images/common/link_btn_arr_white.png)
}

#main_area .link_btn.white > a > span, #main_area .link_btn.white > div > span {
    color: #00a3e5
}

#main_area .link_btn.orange > a, #main_area .link_btn.orange > div {
    background-color: #ed8a19;
    border: solid 2px #ed8a19
}

#main_area .link_btn.orange > a > span, #main_area .link_btn.orange > div > span {
    color: #fff
}

#main_area .link_btn.width230px {
    max-width: 230px
}

@media only screen and (min-width: 769px) {
    #main_area .link_btn.width230px > a, #main_area .link_btn.width230px > div {
        padding: 1.2em 0.4em 1.1em
    }
}

#main_area .link_btn.width18em {
    max-width: 18em
}

@media only screen and (max-width: 768px) {
    #main_area .link_btn > a, #main_area .link_btn > div {
        padding: 0.6em 0.4em 0.6em
    }

    #main_area .link_btn > a > span, #main_area .link_btn > div > span {
        font-size: 114.3%
    }
}

@media only screen and (max-width: 480px) {
    #main_area .link_btn > a, #main_area .link_btn > div {
        padding: 0.4em 0.4em 0.4em
    }

    #main_area .link_btn > a:before, #main_area .link_btn > div:before {
        right: 0.5em;
        width: 8px;
        height: 10px;
        margin-top: -5px
    }

    #main_area .link_btn > a > span, #main_area .link_btn > div > span {
        font-size: 100%
    }
}

#main_area .min_link_btn {
    margin: auto;
    text-align: center
}

#main_area .min_link_btn > a, #main_area .min_link_btn > div {
    display: inline-block;
    max-width: 100%;
    padding: 0.4em 0.8em 0.4em;
    background-color: #00a3e5;
    text-align: center;
    position: relative;
    text-decoration: none;
    border: solid 2px #00a3e5
}

#main_area .min_link_btn > a:hover, #main_area .min_link_btn > div:hover {
    text-decoration: none
}

#main_area .min_link_btn > a > span, #main_area .min_link_btn > div > span {
    color: #fff;
    font-size: 100%;
    font-weight: 600
}

@media only screen and (min-width: 769px) {
    #main_area .min_link_btn > a:before, #main_area .min_link_btn > div:before {
        transition: 400ms
    }

    #main_area .min_link_btn > a:hover:before, #main_area .min_link_btn > div:hover:before {
        right: 0.7em;
        transition: 400ms
    }
}

#main_area .min_link_btn.orange > a, #main_area .min_link_btn.orange > div {
    background-color: #ed8a19;
    border: solid 2px #ed8a19
}

#main_area .min_link_btn.orange > a > span, #main_area .min_link_btn.orange > div > span {
    color: #fff
}

#main_area .flex_btns ul {
    display: flex;
    justify-content: center;
    align-content: center
}

#main_area .flex_btns ul > li {
    padding-left: 15px;
    padding-right: 15px;
    max-width: 50%
}

#main_area .flex_btns ul > li .link_btn {
    width: 16em;
    max-width: 100%
}

#main_area .flex_btns ul > li .submit_btn {
    width: 15em;
    max-width: 100%
}

@media only screen and (max-width: 480px) {
    #main_area .flex_btns ul {
        flex-direction: column
    }

    #main_area .flex_btns ul > li {
        width: 100%;
        max-width: 100%
    }

    #main_area .flex_btns ul > li + li {
        margin-top: 10px
    }

    #main_area .flex_btns ul > li .link_btn {
        width: 100%
    }
}

#main_area .tel_contact {
    text-align: center
}

#main_area .tel_contact > p {
    font-size: 100%
}

#main_area .tel_contact .tel_num {
    color: #00a3e5
}

#main_area .tel_contact .tel_num .tel-link {
    font-family: "Noto Sans Japanese", serif;
    font-size: 214.3%;
    font-weight: 600
}

#main_area .error, #main_area .error180 {
    font-size: 14px;
    line-height: 1.3;
    color: #e30000
}

#main_area .error p, #main_area .error180 p {
    font-size: 14px;
    line-height: 1.3;
    color: #e30000
}

#main_area .error p a:link, #main_area .error180 p a:link {
    color: #e30000;
    text-decoration: underline;
}

#main_area .error p a:visited, #main_area .error180 p a:visited {
    color: #e30000;
    text-decoration: underline;
}

#main_area .error p a:hover, #main_area .error180 p a:hover {
    color: #e30000;
    text-decoration: underline;
}

.checkbox_cont input {
    display: none
}

.checkbox_cont .check-parts {
    display: block;
    min-height: 20px;
    padding-top: 6px;
    padding-left: 25px;
    position: relative;
    margin-right: 20px
}

.checkbox_cont .check-parts .min {
    display: inline-block;
    font-size: 11px;
    letter-spacing: 0
}

.checkbox_cont .check-parts:before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    -webkit-transform: translate(0%, -50%);
    -ms-transform: translate(0%, -50%);
    transform: translate(0%, -50%);
    left: 0;
    width: 20px;
    height: 20px;
    border: 1px solid #ccc;
    background-color: #fff;
    border-radius: 3px
}

.checkbox_cont input + .check-parts:after {
    content: "";
    display: block;
    position: absolute;
    top: 4px;
    left: 8px;
    width: 4px;
    height: 8px;
    transform: rotate(40deg);
    border-bottom: 2px solid #ffffff;
    border-right: 2px solid #ffffff
}

.checkbox_cont input:checked + .check-parts:before {
    border: 1px solid #272727;
    background-color: #272727
}

.select_cont label {
    position: relative
}

.select_cont label:before {
    position: absolute;
    right: 0.65em;
    top: 50%;
    display: block;
    width: 10px;
    height: 10px;
    content: "";
    background-image: url(/room_reserve/media/images/common/select_arr.png);
    -webkit-transform: translate(0%, -50%);
    -ms-transform: translate(0%, -50%);
    transform: translate(0%, -50%);
    z-index: 1;
    opacity: 0.5
}

.select_cont label.on:before {
    opacity: 1
}

.radio_cont label {
    display: block;
    cursor: pointer
}

.radio_cont label .radio-parts {
    display: block;
    padding-left: 1.25em;
    position: relative
}

.radio_cont label .radio-parts:before {
    background-color: #fff;
    border: 1px #999 solid;
    border-radius: 50%;
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    height: 14px;
    width: 14px;
    -webkit-transform: translate(0%, -50%);
    -ms-transform: translate(0%, -50%);
    transform: translate(0%, -50%)
}

.radio_cont label input[type=radio] {
    display: none
}

.radio_cont label input[type=radio]:checked + .radio-parts:after {
    background-color: #fff;
    border-radius: 50%;
    content: "";
    position: absolute;
    top: 50%;
    left: 5px;
    width: 6px;
    height: 6px;
    -webkit-transform: translate(0%, -50%);
    -ms-transform: translate(0%, -50%);
    transform: translate(0%, -50%)
}

.radio_cont label input[type=radio]:checked + .radio-parts:before {
    background-color: #00a3e5
}

.radio_cont input {
    display: none
}

.radio_cont .radio_cont + .radio_cont {
    margin-top: 3px
}

.submit_btn {
    width: 100%;
    max-width: 16em;
    margin: auto
}

.submit_btn.w250px {
    max-width: 250px
}

.submit_btn > a, .submit_btn > button, .submit_btn > div {
    display: flex;
    align-content: center;
    align-items: center;
    width: 100%;
    padding: 0.3em 0.4em 0.2em;
    background-color: #00a3e5;
    text-align: center;
    position: relative;
    text-decoration: none;
    border: solid 2px #00a3e5;
    line-height: 1.5;
    height: 3.25em
}

.submit_btn > a > span, .submit_btn > button > span, .submit_btn > div > span {
    width: 100%
}

.submit_btn > a:hover, .submit_btn > button:hover, .submit_btn > div:hover {
    text-decoration: none
}

.submit_btn > a:before, .submit_btn > button:before, .submit_btn > div:before {
    position: absolute;
    right: 1em;
    top: 50%;
    content: "";
    width: 10px;
    height: 13px;
    margin-top: -6px;
    display: block;
    background-image: url(/room_reserve/media/images/common/link_btn_arr.png);
    background-repeat: no-repeat
}

.submit_btn > a > span, .submit_btn > button > span, .submit_btn > div > span {
    color: #fff;
    font-size: 114.3%;
    font-weight: 600
}

@media only screen and (min-width: 769px) {
    .submit_btn > a:before, .submit_btn > button:before, .submit_btn > div:before {
        transition: 400ms
    }

    .submit_btn > a:hover:before, .submit_btn > button:hover:before, .submit_btn > div:hover:before {
        right: 0.7em;
        transition: 400ms
    }
}

.submit_btn.white > a, .submit_btn.white > button, .submit_btn.white > div {
    background-color: #fff
}

.submit_btn.white > a:before, .submit_btn.white > button:before, .submit_btn.white > div:before {
    background-image: url(/room_reserve/media/images/common/link_btn_arr_white.png)
}

.submit_btn.white > a > span, .submit_btn.white > button > span, .submit_btn.white > div > span {
    color: #00a3e5
}

.submit_btn.gray > a, .submit_btn.gray > button, .submit_btn.gray > div {
    background-color: #ccc;
    border: solid 2px #999;
    cursor: default;
}

.submit_btn.gray > a, .submit_btn.gray > button, .submit_btn.gray > div {
    background-color: #ccc
}

.submit_btn.gray > a:before, .submit_btn.gray > button:before, .submit_btn.gray > div:before {
    background-image: url(/room_reserve/media/images/common/link_btn_arr.png)
}

.submit_btn.gray > a > span, .submit_btn.gray > button > span, .submit_btn.gray > div > span {
    color: #999
}

@media only screen and (max-width: 768px) {
    .submit_btn > a, .submit_btn > button, .submit_btn > div {
        padding: 0.6em 0.4em 0.6em
    }

    .submit_btn > a > span, .submit_btn > button > span, .submit_btn > div > span {
        font-size: 114.3%
    }
}

@media only screen and (max-width: 480px) {
    .submit_btn > a, .submit_btn > button, .submit_btn > div {
        padding: 0.4em 0.4em 0.4em
    }

    .submit_btn > a:before, .submit_btn > button:before, .submit_btn > div:before {
        right: 0.5em;
        width: 8px;
        height: 10px;
        margin-top: -5px
    }

    .submit_btn > a > span, .submit_btn > button > span, .submit_btn > div > span {
        font-size: 100%
    }
}

table {
    width: 100%;
    border-collapse: separate;
    border-collapse: collapse;
    border-spacing: 0
}

table tr td, table tr th {
    text-align: left;
    padding: 0px
}

.ie7 table tr td, .ie7 table tr th {
    position: relative
}

@media only screen and (max-width: 768px) {
    .table_scroll {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch
    }

    .table_scroll::-webkit-scrollbar {
        height: 8px;
        background: #f0f0f0
    }

    .table_scroll::-webkit-scrollbar-thumb {
        background: #cccccc;
        border-radius: 4px;
        cursor: pointer
    }

    .table_scroll::-webkit-scrollbar-track-piece:end, .table_scroll::-webkit-scrollbar-track-piece:start {
        background: #f0f0f0
    }

    .table_scroll table {
        min-width: 1100px
    }
}

@media only screen and (max-width: 640px) {
    .table_scroll table {
        min-width: 800px
    }

    .table_scroll.tab_liquid table {
        min-width: 680px
    }
}

.table {
    display: table;
    width: 100%
}

.table .tableCell {
    display: table-cell;
    vertical-align: top
}

@media only screen and (max-width: 640px) {
    .table.sp_brake {
        display: block
    }

    .table.sp_brake .tablecell {
        display: block;
        width: 100%
    }
}

.page_top {
    position: fixed;
    right: 40px;
    bottom: 40px;
    z-index: 1000;
    display: none
}

.page_top a {
    display: block
}

@media only screen and (max-width: 640px) {
    .page_top {
        bottom: 0px;
        right: 0
    }

    .page_top img {
        width: 36px;
        height: 36px
    }
}

.row {
    margin-left: -14px;
    margin-right: -14px;
    overflow: hidden;
    margin-bottom: -14px
}

@media only screen and (max-width: 1024px) {
    .row {
        margin-left: -8px;
        margin-right: -8px
    }
}

@media only screen and (max-width: 768px) {
    .row {
        margin-left: -5px;
        margin-right: -5px
    }
}

.row img {
    width: 100%
}

.row .col1, .row .col2, .row .col3, .row .col4, .row .col5, .row .col6, .row .col7, .row .col8, .row .col9, .row .col10, .row .col11, .row .col12 {
    float: left;
    min-height: 1px;
    padding-left: 14px;
    padding-right: 14px;
    margin-bottom: 14px
}

@media only screen and (max-width: 1024px) {
    .row .col1, .row .col2, .row .col3, .row .col4, .row .col5, .row .col6, .row .col7, .row .col8, .row .col9, .row .col10, .row .col11, .row .col12 {
        padding-left: 8px;
        padding-right: 8px
    }
}

@media only screen and (max-width: 768px) {
    .row .col1, .row .col2, .row .col3, .row .col4, .row .col5, .row .col6, .row .col7, .row .col8, .row .col9, .row .col10, .row .col11, .row .col12 {
        padding-left: 5px;
        padding-right: 5px
    }
}

.row .tab1, .row .tab2, .row .tab6 {
    float: left;
    min-height: 1px;
    padding-left: 14px;
    padding-right: 14px
}

@media only screen and (max-width: 1024px) {
    .row .tab1, .row .tab2, .row .tab6 {
        padding-left: 8px;
        padding-right: 8px
    }
}

@media only screen and (max-width: 768px) {
    .row .tab1, .row .tab2, .row .tab6 {
        padding-left: 5px;
        padding-right: 5px
    }
}

.square {
    overflow: hidden
}

.square .col1, .square .col2, .square .col3, .square .col4, .square .col5, .square .col6, .square .col7, .square .col8, .square .col9, .square .col10, .square .col11, .square .col12 {
    float: left;
    min-height: 1px;
    padding: 0;
    margin-bottom: 0
}

.col12 {
    width: 100%
}

.col11 {
    width: 91.66666667%
}

.col10 {
    width: 83.33333333%
}

.col9 {
    width: 75%
}

.col8 {
    width: 66.66666667%
}

.col7 {
    width: 58.33333333%
}

.col6 {
    width: 50%
}

.col5 {
    width: 41.66666667%
}

.col4 {
    width: 33.33333333%
}

.col3 {
    width: 25%
}

.col2 {
    width: 16.66666667%
}

.col1 {
    width: 8.33333333%
}

@media only screen and (max-width: 1024px) {
    .pc1024Col12 {
        width: 100%
    }

    .pc1024Col6 {
        width: 50%
    }

    .pc1024Col3 {
        width: 25%
    }

    .pc1024Col2 {
        width: 16.66666667%
    }
}

@media only screen and (max-width: 768px) {
    .tab12 {
        width: 100%
    }

    .tab6 {
        width: 50%
    }

    .tab4 {
        width: 33.33333333%
    }
}

@media only screen and (max-width: 767px) {
    .sp12 {
        width: 100%
    }

    .sp6 {
        width: 50%
    }
}

@media only screen and (max-width: 480px) {
    .sps12 {
        width: 100%
    }

    .sps6 {
        width: 50%
    }
}

.frame_respon .fb_iframe_widget, .frame_respon .fb_iframe_widget iframe[style], .frame_respon .fb_iframe_widget span {
    width: 100% important
}

.gmap {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 30px;
    height: 0;
    overflow: hidden
}

.gmap embed, .gmap iframe, .gmap object {
    border: none !important;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

#header {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 80px;
    background-color: #fff;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    z-index: 10;
    transition: 100ms
}

@media only screen and (max-width: 1024px) {
    #header {
        height: 60px
    }

    #header.scroll {
        height: 50px;
        transition: 400ms
    }
}

@media only screen and (max-width: 480px) {
    #header {
        height: 50px;
        transition: 0ms
    }

    #header.scroll {
        height: 50px;
        transition: 0ms
    }
}

#header .hd_logo {
    margin-left: 0;
    padding-left: 24px
}

#header .hd_logo h1, #header .hd_logo p {
    width: 268px
}

#header .hd_logo h1 img, #header .hd_logo p img {
    max-width: 100%
}

@media only screen and (max-width: 1024px) {
    #header .hd_logo {
        padding-left: 20px
    }
}

@media only screen and (max-width: 850px) {
    #header .hd_logo h1, #header .hd_logo p {
        width: 200px
    }
}

@media only screen and (max-width: 480px) {
    #header .hd_logo {
        padding-left: 5px
    }

    #header .hd_logo h1, #header .hd_logo p {
        width: 180px
    }
}

@media only screen and (max-width: 350px) {
    #header .hd_logo {
        padding-left: 3px
    }

    #header .hd_logo h1, #header .hd_logo p {
        width: 160px
    }
}

#header #gnavi {
    position: relative;
    height: 100%;
    margin-right: 0;
    display: flex;
    justify-content: flex-end
}

#header #gnavi > div {
    position: relative;
    height: 100%
}

#header #gnavi > div ul {
    position: relative;
    height: 100%;
    display: flex;
    align-items: center
}

#header #gnavi > div ul li {
    display: flex;
    align-items: center;
    position: relative;
    height: 100%
}

#header #gnavi > div ul li > span, #header #gnavi > div ul li a {
    display: block;
    color: #00a3e5
}

#header #gnavi > div.contents_navi {
    padding-right: 20px
}

@media only screen and (max-width: 768px) {
    #header #gnavi > div.contents_navi {
        display: none
    }
}

#header #gnavi > div.contents_navi ul li {
    padding: 0.5em
}

#header #gnavi > div.contents_navi ul li > span, #header #gnavi > div.contents_navi ul li a {
    font-size: 114.3%;
    font-weight: 500;
    letter-spacing: -0.05em
}

#header #gnavi > div.contents_navi ul li > span > span, #header #gnavi > div.contents_navi ul li a > span {
    position: relative
}

#header #gnavi > div.contents_navi ul li > span > span:before, #header #gnavi > div.contents_navi ul li a > span:before {
    content: "";
    width: 0%;
    height: 1px;
    display: block;
    position: absolute;
    left: 0;
    bottom: -0.2px;
    background-color: #00a3e5;
    transition: 400ms
}

#header #gnavi > div.contents_navi ul li > span:hover, #header #gnavi > div.contents_navi ul li a:hover {
    text-decoration: none
}

#header #gnavi > div.contents_navi ul li > span:hover > span:before, #header #gnavi > div.contents_navi ul li a:hover > span:before {
    width: 100%;
    transition: 400ms
}

@media only screen and (max-width: 1300px) {
    #header #gnavi > div.contents_navi {
        padding-right: 5px
    }

    #header #gnavi > div.contents_navi ul li {
        padding-right: 5px
    }

    #header #gnavi > div.contents_navi ul li > span, #header #gnavi > div.contents_navi ul li a {
        font-size: 100%
    }
}

@media only screen and (max-width: 1200px) {
    #header #gnavi > div.contents_navi {
        padding-right: 5px
    }

    #header #gnavi > div.contents_navi ul li {
        padding-right: 5px;
        height: auto
    }

    #header #gnavi > div.contents_navi ul li > span, #header #gnavi > div.contents_navi ul li a {
        font-size: 92.9%;
        letter-spacing: -0.05em
    }
}

@media only screen and (max-width: 1100px) {
    #header #gnavi > div.contents_navi {
        max-width: 24em;
        padding-right: 0px
    }

    #header #gnavi > div.contents_navi ul {
        display: flex;
        flex-flow: row wrap;
        align-items: center;
        align-content: center
    }

    #header #gnavi > div.contents_navi ul li {
        width: 33.3333%;
        padding-top: 5px;
        padding-bottom: 5px;
        padding-right: 3px
    }

    #header #gnavi > div.contents_navi ul li > span, #header #gnavi > div.contents_navi ul li a {
        font-size: 92.9%;
        line-height: 1.1
    }
}

@media only screen and (max-width: 850px) {
    #header #gnavi > div.contents_navi {
        max-width: 22em;
        padding-right: 0
    }

    #header #gnavi > div.contents_navi ul li {
        padding-right: 3px
    }

    #header #gnavi > div.contents_navi ul li > span, #header #gnavi > div.contents_navi ul li a {
        font-size: 85.7%
    }
}

#header #gnavi > div.side_navi ul li {
    margin-left: 3px
}

#header #gnavi > div.side_navi ul li > span, #header #gnavi > div.side_navi ul li a {
    display: flex;
    align-items: center;
    position: relative;
    height: 100%;
    position: relative;
    background-color: #e9f0f0;
    width: 100px;
    text-align: center;
    transition: 400ms
}

#header #gnavi > div.side_navi ul li > span:hover, #header #gnavi > div.side_navi ul li a:hover {
    text-decoration: none;
    background-color: #defefe;
    transition: 400ms
}

#header #gnavi > div.side_navi ul li > span > span, #header #gnavi > div.side_navi ul li a > span {
    display: block;
    text-align: center;
    font-size: 12px;
    width: 100%;
    padding-top: 30px;
    position: relative
}

#header #gnavi > div.side_navi ul li > span > span:before, #header #gnavi > div.side_navi ul li a > span:before {
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translate(-50%, 0%);
    -ms-transform: translate(-50%, 0%);
    transform: translate(-50%, 0%);
    content: "";
    display: block;
    width: 24px;
    height: 23px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center
}

#header #gnavi > div.side_navi ul li > span > span.login:before, #header #gnavi > div.side_navi ul li a > span.login:before {
    background-image: url(/room_reserve/media/images/common/side_navi_login.png)
}

#header #gnavi > div.side_navi ul li > span > span.logout:before, #header #gnavi > div.side_navi ul li a > span.logout:before {
    background-image: url(/room_reserve/media/images/common/side_navi_logiout.png)
}

#header #gnavi > div.side_navi ul li > span > span.inqform:before, #header #gnavi > div.side_navi ul li a > span.inqform:before {
    background-image: url(/room_reserve/media/images/common/side_navi_inqform.png)
}

@media only screen and (max-width: 1024px) {
    #header #gnavi > div.side_navi ul li > span, #header #gnavi > div.side_navi ul li a {
        width: 80px
    }

    #header #gnavi > div.side_navi ul li > span > span, #header #gnavi > div.side_navi ul li a > span {
        width: 100%;
        padding-top: 30px;
        font-size: 11px
    }

    #header #gnavi > div.side_navi ul li > span > span:before, #header #gnavi > div.side_navi ul li a > span:before {
        width: 24px;
        height: 23px
    }
}

@media only screen and (max-width: 850px) {
    #header #gnavi > div.side_navi ul li > span, #header #gnavi > div.side_navi ul li a {
        width: 70px
    }

    #header #gnavi > div.side_navi ul li > span > span, #header #gnavi > div.side_navi ul li a > span {
        padding-top: 22px;
        letter-spacing: -0.05em;
        font-size: 10px
    }

    #header #gnavi > div.side_navi ul li > span > span:before, #header #gnavi > div.side_navi ul li a > span:before {
        width: 20px;
        height: 20px
    }
}

@media only screen and (max-width: 480px) {
    #header #gnavi > div.side_navi ul li > span, #header #gnavi > div.side_navi ul li a {
        width: 50px
    }

    #header #gnavi > div.side_navi ul li > span > span, #header #gnavi > div.side_navi ul li a > span {
        height: 20px;
        display: block;
        padding-top: 0;
        position: absolute;
        left: 0;
        top: 50%;
        margin-top: -11px
    }

    #header #gnavi > div.side_navi ul li > span > span > span, #header #gnavi > div.side_navi ul li a > span > span {
        display: none
    }

    #header #gnavi > div.side_navi ul li > span > span:before, #header #gnavi > div.side_navi ul li a > span:before {
        width: 20px;
        height: 20px
    }
}

@media only screen and (max-width: 350px) {
    #header #gnavi > div.side_navi ul li > span, #header #gnavi > div.side_navi ul li a {
        width: 48px
    }
}

#adminbar {
    width: 100%;
    height: 80px;
    background-color: #ee8a1a;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    z-index: 10;
    height: 40px;
    display: none;
    padding: 0 25px;
    transition: 100ms
}

@media only screen and (max-width: 1024px) {
    #adminbar {
        height: 30px;
        transition: 0
    }
}

#adminbar .adminbar_inner {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 100%
}

#adminbar .adminbar_inner p, #adminbar .adminbar_inner ul li {
    font-size: 100%;
    font-weight: 500
}

#adminbar .adminbar_inner p a:hover, #adminbar .adminbar_inner ul li a:hover {
    text-decoration: none;
    color: #fff
}

#adminbar .adminbar_inner .username p {
    color: #fff
}

#adminbar .adminbar_inner .admin_menu ul {
    display: flex
}

#adminbar .adminbar_inner .admin_menu ul li {
    margin-left: 1.5em
}

#adminbar .adminbar_inner .admin_menu ul li a {
    position: relative;
    padding-left: 1.75em;
    color: #fff
}

#adminbar .adminbar_inner .admin_menu ul li a:before {
    font-family: FontAwesome, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Arial, sans-serif;
    font-size: inherit;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: "\f073";
    position: absolute;
    left: 0;
    top: 50%;
    line-height: 16px;
    height: 16px;
    width: 16px;
    display: block;
    font-size: 16px;
    margin-top: -8px;
    font-weight: 500
}

#adminbar .adminbar_inner .admin_menu ul li.mypage a {
    color: #fff
}

#adminbar .adminbar_inner .admin_menu ul li.mypage a:before {
    content: "\f015";
    line-height: 20px;
    height: 20px;
    width: 20px;
    display: block;
    font-size: 18px;
    margin-top: -10px;
    font-weight: 500
}

#adminbar .adminbar_inner .admin_menu ul li.reserve_info a:before {
    content: "\f073"
}

#adminbar .adminbar_inner .admin_menu ul li.prof_info a:before {
    content: "\f007"
}

@media only screen and (max-width: 1024px) {
    #adminbar {
        padding: 0 20px
    }
}

@media only screen and (max-width: 640px) {
    #adminbar {
        padding: 0 10px
    }

    #adminbar .adminbar_inner .username p {
        font-size: 85.7%
    }

    #adminbar .adminbar_inner .admin_menu ul {
        display: flex
    }

    #adminbar .adminbar_inner .admin_menu ul li {
        margin-left: 0.5em
    }

    #adminbar .adminbar_inner .admin_menu ul li a {
        padding-left: 0.35em
    }

    #adminbar .adminbar_inner .admin_menu ul li a:before {
        line-height: 18px;
        height: 18px;
        width: 18px;
        display: block;
        font-size: 18px;
        margin-top: -11px
    }

    #adminbar .adminbar_inner .admin_menu ul li a > span {
        display: inline-block;
        width: 1em;
        text-indent: -9999px;
        overflow: hidden
    }
}

body.scroll #header {
    height: 60px;
    transition: 400ms;
    border-bottom: solid 1px #e9f0f0
}

body.scroll #adminbar {
    height: 30px;
    transition: 400ms
}

#main_area {
    margin-top: 80px
}

@media only screen and (max-width: 1024px) {
    #main_area {
        margin-top: 60px
    }
}

@media only screen and (max-width: 480px) {
    #main_area {
        margin-top: 50px
    }
}

body.login #header {
    top: 40px
}

@media only screen and (max-width: 1024px) {
    body.login #header {
        top: 30px
    }
}

body.login.scroll #header {
    top: 30px
}

body.login #adminbar {
    display: block
}

body.login #main_area {
    margin-top: 120px
}

@media only screen and (max-width: 1024px) {
    body.login #main_area {
        margin-top: 80px
    }
}

@media only screen and (max-width: 480px) {
    body.login #main_area {
        margin-top: 70px
    }
}

@media only screen and (min-width: 769px) {
    #sp_menu_btn {
        display: none
    }
}

.sp_menu_btn {
    cursor: pointer;
    width: 70px;
    height: 70px
}

.sp_menu_btn .sp_btn_cont {
    position: absolute;
    display: block;
    height: 40px;
    width: 40px;
    top: 15px;
    left: 15px
}

.sp_menu_btn .sp_btn_cont span {
    position: absolute;
    display: block;
    width: 40px;
    height: 2px;
    right: 0;
    transition: all 0.4s;
    background-color: #00a3e5
}

.sp_menu_btn .sp_btn_cont span.border01 {
    top: 0px
}

.sp_menu_btn .sp_btn_cont span.border02 {
    top: 13px
}

.sp_menu_btn .sp_btn_cont span.border03 {
    top: 26px
}

.sp_menu_btn.active .sp_btn_cont span.border01 {
    top: 6px;
    transform: translateY(7px) rotate(45deg)
}

.sp_menu_btn.active .sp_btn_cont span.border02 {
    opacity: 0
}

.sp_menu_btn.active .sp_btn_cont span.border03 {
    top: 17px;
    transform: translateY(-4px) rotate(-45deg)
}

@media only screen and (max-width: 480px) {
    .sp_menu_btn {
        width: 52px;
        height: 50px
    }

    .sp_menu_btn .sp_btn_cont {
        height: 22px;
        width: 22px;
        top: 17px;
        left: 14px
    }

    .sp_menu_btn .sp_btn_cont span {
        width: 22px;
        height: 1px;
        right: 0
    }

    .sp_menu_btn .sp_btn_cont span.border01 {
        top: 0px
    }

    .sp_menu_btn .sp_btn_cont span.border02 {
        top: 8px
    }

    .sp_menu_btn .sp_btn_cont span.border03 {
        top: 16px
    }

    .sp_menu_btn.active .sp_btn_cont span.border01 {
        top: 0;
        transform: translateY(7px) rotate(45deg)
    }

    .sp_menu_btn.active .sp_btn_cont span.border02 {
        opacity: 0
    }

    .sp_menu_btn.active .sp_btn_cont span.border03 {
        top: 11px;
        transform: translateY(-4px) rotate(-45deg)
    }
}

@media only screen and (max-width: 350px) {
    .sp_menu_btn {
        width: 48px;
        height: 50px
    }
}

#sp_menu {
    position: fixed;
    overflow-y: auto;
    overflow-x: hidden;
    z-index: 99;
    height: 100%;
    right: -100%;
    top: 60px;
    padding-bottom: 87px;
    width: 100%;
    -webkit-overflow-scrolling: touch;
    transition: 800ms;
    background-color: #00a3e5
}

@media only screen and (max-width: 480px) {
    #sp_menu {
        top: 50px;
        padding-bottom: 50px
    }
}

#sp_menu .sp_menu_inner {
    width: 100%;
    position: relative;
    min-height: 100%;
    margin-top: -1px;
    margin-left: auto;
    margin-right: 0;
    color: #fff
}

#sp_menu .sp_menu_inner a {
    color: #fff
}

@media only screen and (min-width: 769px) {
    #sp_menu {
        display: none
    }
}

#sp_menu.sp_menu_open {
    right: 0;
    transition: 800ms
}

#sp_menu ul li {
    font-size: 100%
}

@media only screen and (max-width: 768px) {
    #sp_menu {
        z-index: 1
    }
}

#sp_menu .sp_menu_cont + .sp_menu_cont {
    margin-top: 20px
}

#sp_menu .sp_menu_cont #sp_gnavi ul li {
    border-top: solid 1px #cccccc
}

#sp_menu .sp_menu_cont #sp_gnavi ul li > a, #sp_menu .sp_menu_cont #sp_gnavi ul li > span {
    position: relative;
    display: block
}

#sp_menu .sp_menu_cont #sp_gnavi ul li > a:hover, #sp_menu .sp_menu_cont #sp_gnavi ul li > span:hover {
    text-decoration: none
}

#sp_menu .sp_menu_cont #sp_gnavi ul li > a:before, #sp_menu .sp_menu_cont #sp_gnavi ul li > span:before {
    font-family: FontAwesome, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Arial, sans-serif;
    font-size: inherit;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: "\f054";
    position: absolute;
    left: 15px;
    top: 50%;
    line-height: 12px;
    height: 12px;
    width: 12px;
    display: block;
    font-size: 12px;
    margin-top: -6px
}

#sp_menu .sp_menu_cont #sp_gnavi ul li > a.pull:before, #sp_menu .sp_menu_cont #sp_gnavi ul li > span.pull:before {
    -webkit-transition: 0.5s;
    -moz-transition: 0.5s;
    -o-transition: 0.5s;
    -ms-transition: 0.5s;
    transition: 0.5s;
    content: "\f078"
}

#sp_menu .sp_menu_cont #sp_gnavi ul li > a.pull.active:before, #sp_menu .sp_menu_cont #sp_gnavi ul li > span.pull.active:before {
    -webkit-transition: 0.5s;
    -moz-transition: 0.5s;
    -o-transition: 0.5s;
    -ms-transition: 0.5s;
    transition: 0.5s;
    -webkit-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    transform: rotate(180deg)
}

#sp_menu .sp_menu_cont #sp_gnavi .pull + ul {
    display: none
}

#sp_menu .sp_menu_cont #sp_gnavi .pull + ul li > span, #sp_menu .sp_menu_cont #sp_gnavi .pull + ul li a {
    padding: 13px 10px 11px 50px
}

#sp_menu .sp_menu_cont #sp_gnavi .pull + ul li > span:before, #sp_menu .sp_menu_cont #sp_gnavi .pull + ul li a:before {
    margin-left: 10px
}

#sp_menu .sp_menu_cont #sp_gnavi > ul {
    overflow: hidden;
    border-bottom: solid 1px #cccccc
}

#sp_menu .sp_menu_cont #sp_gnavi > ul > li > a, #sp_menu .sp_menu_cont #sp_gnavi > ul > li > span {
    font-weight: 600;
    font-size: 100%;
    padding: 15px 10px 14px 40px
}

@media only screen and (max-width: 480px) {
    #sp_menu .sp_menu_cont #sp_gnavi > ul > li > a, #sp_menu .sp_menu_cont #sp_gnavi > ul > li > span {
        font-size: 100%;
        padding: 13px 10px 12px 40px
    }
}

#sp_menu .sp_menu_cont #sp_gnavi > ul > li ul {
    overflow: hidden;
    border-right: none;
    border-left: none
}

#sp_menu .sp_menu_cont #sp_gnavi > ul > li ul li > a, #sp_menu .sp_menu_cont #sp_gnavi > ul > li ul li > span {
    font-weight: 500;
    font-size: 100%;
    padding: 13px 10px 11px 40px
}

@media only screen and (max-width: 480px) {
    #sp_menu .sp_menu_cont #sp_gnavi > ul > li ul li > a, #sp_menu .sp_menu_cont #sp_gnavi > ul > li ul li > span {
        font-size: 114.3%;
        padding: 13px 10px 11px 40px
    }
}

#sp_menu .sp_menu_cont #sp_gnavi > ul.sub {
    padding-top: 15px
}

#sp_menu .sp_menu_cont #sp_gnavi > ul.sub > li {
    border-top: none;
    border-right: none;
    border-left: none;
    border-bottom: dotted 1px #cccccc
}

#sp_menu .sp_menu_cont #sp_gnavi > ul.sub > li > a, #sp_menu .sp_menu_cont #sp_gnavi > ul.sub > li > span {
    background-color: #ffffff;
    font-weight: normal;
    font-size: 100%;
    padding: 8px 20px 12px
}

#sp_menu .sp_menu_cont .sp_navi03 {
    overflow: hidden;
    padding: 15px
}

#sp_menu .sp_menu_cont .sp_navi03 > ul {
    display: flex;
    flex-flow: row wrap;
    margin-left: -0.3em;
    margin-right: -0.3em;
    position: relative;
    justify-content: center
}

#sp_menu .sp_menu_cont .sp_navi03 > ul > li {
    padding-left: 0.3em;
    padding-right: 0.3em;
    width: 50%
}

#sp_menu .sp_menu_cont .sp_navi03 > ul > li > a, #sp_menu .sp_menu_cont .sp_navi03 > ul > li > span {
    display: block;
    position: relative;
    font-size: 100%;
    padding: 0.25em 0.5em 0.15em;
    border: solid 1px #fff;
    text-align: center;
    margin-bottom: 0.6em;
    border: solid 1px #fff;
    border: solid 1px #fff
}

#sp_menu .sp_menu_cont .sp_navi03 > ul > li > a:before, #sp_menu .sp_menu_cont .sp_navi03 > ul > li > span:before {
    display: none;
    opacity: 0
}

#sp_menu .sp_menu_cont .sp_navi03 > ul > li > a:hover, #sp_menu .sp_menu_cont .sp_navi03 > ul > li > span:hover {
    text-decoration: none
}

body.login #sp_menu {
    top: 90px
}

@media only screen and (max-width: 480px) {
    body.login #sp_menu {
        top: 80px
    }
}

@media only screen and (max-width: 768px) {
    body.sp_menu_open #wrapper {
        position: fixed;
        width: 100%;
        height: 100%
    }

    body.sp_menu_open #wrapper:before {
        display: block;
        content: "";
        width: 100%;
        height: 150%;
        position: absolute;
        left: 0;
        top: 60px;
        background: rgba(0, 0, 0, 0.5);
        z-index: 100
    }
}

@media only screen and (max-width: 768px) and (max-width: 480px) {
    body.sp_menu_open #wrapper:before {
        top: 50px
    }
}

@media only screen and (max-width: 1024px) {
    body.sp_menu_open.login #wrapper:before {
        top: 90px
    }
}

@media only screen and (max-width: 1024px) and (max-width: 480px) {
    body.sp_menu_open.login #wrapper:before {
        top: 80px
    }
}

#hello_mr_adout .adout_topic {
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 60px;
    width: 100%;
    max-width: 850px;
    background-image: url(/room_reserve/media/images/home/party_bg.png);
    background-repeat: repeat
}

#hello_mr_adout .adout_topic .topic_inner {
    padding: 50px 20px;
    max-width: 640px;
    width: 100%;
    margin: auto
}

#hello_mr_adout .adout_topic .topic_inner + .topic_inner {
    padding-top: 0
}

@media only screen and (max-width: 1024px) {
    #hello_mr_adout .adout_topic .topic_inner {
        padding: 30px 20px
    }
}

@media only screen and (max-width: 768px) {
    #hello_mr_adout .adout_topic .topic_inner {
        padding: 20px
    }
}

@media only screen and (max-width: 480px) {
    #hello_mr_adout .adout_topic .topic_inner {
        padding: 10px
    }
}

@media only screen and (max-width: 400px) {
    #hello_mr_adout .adout_topic .topic_inner {
        padding: 25px 10px 10px
    }

    #hello_mr_adout .adout_topic .topic_inner + .topic_inner {
        padding-top: 25px
    }
}

#hello_mr_adout .adout_topic .topic_title {
    padding: 20px 0
}

#hello_mr_adout .adout_topic .topic_title h3 {
    text-align: center;
    font-size: 142.9%;
    font-weight: 600;
    color: #00a3e5
}

#hello_mr_adout .adout_topic .topic_title h3 > span {
    position: relative;
    padding-left: 60px;
    text-align: left
}

#hello_mr_adout .adout_topic .topic_title h3 > span:before {
    position: absolute;
    left: 0;
    top: 50%;
    width: 50px;
    height: 44px;
    margin-top: -22px;
    content: "";
    display: block;
    background-image: url(/room_reserve/media/images/home/icon_onigiri.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    text-align: left
}

#hello_mr_adout .adout_topic .topic_title h3 > span > span {
    display: inline-block
}

@media only screen and (max-width: 768px) {
    #hello_mr_adout .adout_topic .topic_title h3 {
        font-size: 128.6%
    }

    #hello_mr_adout .adout_topic .topic_title h3 > span {
        padding-left: 50px
    }

    #hello_mr_adout .adout_topic .topic_title h3 > span:before {
        width: 40px;
        height: 36px;
        margin-top: -18px
    }
}

@media only screen and (max-width: 480px) {
    #hello_mr_adout .adout_topic .topic_title {
        padding: 20px 0 0
    }

    #hello_mr_adout .adout_topic .topic_title h3 {
        font-size: 114.3%
    }

    #hello_mr_adout .adout_topic .topic_title h3 > span {
        padding-left: 36px
    }

    #hello_mr_adout .adout_topic .topic_title h3 > span:before {
        width: 29px;
        height: 27px;
        margin-top: -14px
    }
}

@media only screen and (max-width: 400px) {
    #hello_mr_adout .adout_topic .topic_title h3 {
        font-size: 114.3%
    }

    #hello_mr_adout .adout_topic .topic_title h3 > span {
        padding-left: 0
    }

    #hello_mr_adout .adout_topic .topic_title h3 > span:before {
        left: 50%;
        top: -30px;
        width: 28px;
        height: 27px;
        margin-top: 0;
        margin-left: -18px
    }
}

#hello_mr_adout .adout_topic .discount_title h3 > span:before {
    background-image: url(/room_reserve/media/images/common/icon_waribikii.png)
}

#hello_mr_adout .adout_topic .party_title h3 > span:before {
    background-image: url(/room_reserve/media/images/common/icon_onigiri.png)
}

#hello_mr_adout .adout_topic .read {
    margin-top: 1em
}

#hello_mr_adout .adout_topic .topic_bnr_area {
    margin-top: 2em
}

#hello_mr_adout .adout_topic .topic_bnr_area a {
    display: flex;
    flex-flow: row wrap;
    align-content: center;
    width: 100%;
    max-width: 500px;
    height: 130px;
    margin: auto;
    background-image: url(/room_reserve/media/images/home/party_bnr.jpg);
    background-size: cover;
    background-position: center;
    position: relative
}

#hello_mr_adout .adout_topic .topic_bnr_area a:hover {
    text-decoration: none
}

#hello_mr_adout .adout_topic .topic_bnr_area a:before {
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    content: "";
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.4);
    transition: 400ms
}

@media only screen and (min-width: 769px) {
    #hello_mr_adout .adout_topic .topic_bnr_area a:hover:before {
        opacity: 0.8;
        transition: 400ms
    }
}

#hello_mr_adout .adout_topic .topic_bnr_area a > span {
    display: block;
    position: relative;
    z-index: 1;
    color: #fff;
    font-size: 128.6%;
    font-weight: 600;
    margin: 3px auto;
    width: 100%;
    text-align: center
}

@media only screen and (max-width: 1024px) {
    #hello_mr_adout .adout_topic .topic_bnr_area a {
        height: 110px
    }
}

@media only screen and (max-width: 768px) {
    #hello_mr_adout .adout_topic .topic_bnr_area a {
        height: 90px
    }

    #hello_mr_adout .adout_topic .topic_bnr_area a > span {
        font-size: 114.3%
    }
}

@media only screen and (max-width: 480px) {
    #hello_mr_adout .adout_topic .topic_bnr_area a {
        height: 80px
    }

    #hello_mr_adout .adout_topic .topic_bnr_area a > span {
        font-size: 107.1%
    }
}

#hello_mr_adout .adout_topic .campaignlong_bnr a {
    display: flex;
    flex-flow: row wrap;
    align-content: center;
    margin: auto;
    background-image: none;
    background-color: #fff
}

#hello_mr_adout .adout_topic .campaignlong_bnr a:hover {
    text-decoration: none
}

#hello_mr_adout .adout_topic .campaignlong_bnr a:before {
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    content: "";
    width: 100%;
    height: 100%;
    background: #00a3e5;
    opacity: 0.8;
    transition: 400ms
}

@media only screen and (min-width: 769px) {
    #hello_mr_adout .adout_topic .campaignlong_bnr a:hover:before {
        opacity: 1;
        transition: 400ms
    }
}

#hello_mr_adout .adout_topic .campaignlong_bnr a > span {
    display: block;
    position: relative;
    margin: auto;
    padding-right: 10px
}

#hello_mr_adout .adout_topic .campaignlong_bnr a > span img {
    max-width: 100%;
    width: auto;
    height: 86px
}

@media only screen and (max-width: 1024px) {
    #hello_mr_adout .adout_topic .campaignlong_bnr a > span {
        padding-top: 10px;
        padding-bottom: 10px
    }

    #hello_mr_adout .adout_topic .campaignlong_bnr a > span img {
        height: 80px
    }
}

@media only screen and (max-width: 900px) {
    #hello_mr_adout .adout_topic .campaignlong_bnr a > span {
        padding-right: 20px
    }
}

@media only screen and (max-width: 768px) {
    #hello_mr_adout .adout_topic .campaignlong_bnr a > span {
        padding-right: 20px;
        padding-top: 5px;
        padding-bottom: 5px
    }

    #hello_mr_adout .adout_topic .campaignlong_bnr a > span img {
        height: 70px
    }
}

@media only screen and (max-width: 600px) {
    #hello_mr_adout .adout_topic .campaignlong_bnr a > span {
        padding-right: 20px;
        padding-top: 5px;
        padding-bottom: 5px
    }

    #hello_mr_adout .adout_topic .campaignlong_bnr a > span img {
        height: 54px
    }
}

#hello_mr_adout .adout_topic .discount_bnr a {
    background-image: url(/room_reserve/media/images/common/discount_bnr_bg.jpg)
}

#hello_mr_adout .adout_topic .party_bnr a {
    background-image: url(/room_reserve/media/images/common/party_bnr_bg.jpg)
}

#hello_mr_adout .adout_topic .arr_bnr a {
    padding: 0 1.5em
}

#hello_mr_adout .adout_topic .arr_bnr a:after {
    position: absolute;
    right: 1.25em;
    top: 50%;
    content: "";
    width: 12px;
    height: 17px;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    -webkit-transform: translate(0%, -50%);
    -ms-transform: translate(0%, -50%);
    transform: translate(0%, -50%);
    display: block;
    background-image: url(/room_reserve/media/images/common/bnr_arr.png);
    background-repeat: no-repeat
}

@media only screen and (min-width: 769px) {
    #hello_mr_adout .adout_topic .arr_bnr a:after {
        transition: 400ms
    }

    #hello_mr_adout .adout_topic .arr_bnr a:hover:after {
        right: 0.85em;
        transition: 400ms
    }
}

@media only screen and (max-width: 768px) {
    #hello_mr_adout .adout_topic .arr_bnr a {
        padding: 0 1em
    }

    #hello_mr_adout .adout_topic .arr_bnr a:after {
        right: 0.5em;
        width: 10px;
        height: 15px
    }
}

@media only screen and (max-width: 600px) {
    #hello_mr_adout .adout_topic .arr_bnr a {
        padding: 0 1.5em
    }

    #hello_mr_adout .adout_topic .arr_bnr a:after {
        right: 1em;
        width: 10px;
        height: 15px
    }
}

#hello_mr_adout .about_conts {
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    max-width: 850px
}

#hello_mr_adout .about_conts .about_conts_row {
    display: flex;
    margin-left: -22px;
    margin-right: -22px
}

#hello_mr_adout .about_conts .about_conts_row > div {
    padding-left: 22px;
    padding-right: 22px;
    width: 33.333333%
}

@media only screen and (max-width: 1024px) {
    #hello_mr_adout .about_conts .about_conts_row {
        margin-left: -14px;
        margin-right: -14px
    }

    #hello_mr_adout .about_conts .about_conts_row > div {
        padding-left: 14px;
        padding-right: 14px
    }
}

@media only screen and (max-width: 768px) {
    #hello_mr_adout .about_conts .about_conts_row {
        margin-left: -10px;
        margin-right: -10px
    }

    #hello_mr_adout .about_conts .about_conts_row > div {
        padding-left: 10px;
        padding-right: 10px
    }
}

@media only screen and (max-width: 640px) {
    #hello_mr_adout .about_conts .about_conts_row {
        display: block
    }

    #hello_mr_adout .about_conts .about_conts_row > div {
        width: 100%
    }

    #hello_mr_adout .about_conts .about_conts_row > div + div {
        margin-top: 20px
    }
}

#hello_mr_adout .about_conts .about_conts_row .about_cont_item .about_title {
    text-align: center;
    margin-bottom: 1.0em
}

#hello_mr_adout .about_conts .about_conts_row .about_cont_item .about_title .about_icon {
    margin-bottom: 15px
}

#hello_mr_adout .about_conts .about_conts_row .about_cont_item .about_title .about_icon img {
    width: auto;
    height: 56px;
    margin: auto;
    display: block
}

#hello_mr_adout .about_conts .about_conts_row .about_cont_item .about_title h3 {
    font-size: 142.9%;
    font-weight: 600;
    color: #00a3e5
}

@media only screen and (max-width: 1024px) {
    #hello_mr_adout .about_conts .about_conts_row .about_cont_item .about_title .about_icon {
        margin-bottom: 12px
    }

    #hello_mr_adout .about_conts .about_conts_row .about_cont_item .about_title .about_icon img {
        height: 46px
    }

    #hello_mr_adout .about_conts .about_conts_row .about_cont_item .about_title h3 {
        font-size: 128.6%
    }
}

@media only screen and (max-width: 768px) {
    #hello_mr_adout .about_conts .about_conts_row .about_cont_item .about_title .about_icon {
        margin-bottom: 10px
    }

    #hello_mr_adout .about_conts .about_conts_row .about_cont_item .about_title .about_icon img {
        height: 40px
    }

    #hello_mr_adout .about_conts .about_conts_row .about_cont_item .about_title h3 {
        font-size: 114.3%
    }
}

.recommended_cont .recommended_inner {
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    max-width: 1002px
}

.recommended_cont .recommended_inner .recommended_list {
    margin: -18px;
    display: flex;
    flex-flow: row wrap
}

.recommended_cont .recommended_inner .recommended_list.recommended_slide .slick-arrow {
    position: absolute;
    top: 50%;
    width: 23px;
    height: 23px;
    display: block;
    background-size: contain;
    background-repeat: no-repeat;
    text-indent: -9999px
}

.recommended_cont .recommended_inner .recommended_list.recommended_slide .slick-arrow.slick-prev {
    left: -20px;
    transition: 400ms;
    background-image: url(/room_reserve/media/images/common/recommended_arrow_prev.png)
}

.recommended_cont .recommended_inner .recommended_list.recommended_slide .slick-arrow.slick-next {
    right: -20px;
    transition: 400ms;
    background-image: url(/room_reserve/media/images/common/recommended_arrow_next.png)
}

.recommended_cont .recommended_inner .recommended_list.recommended_slide .slick-list {
    width: 100%;
}

@media only screen and (max-width: 768px) {
    .recommended_cont .recommended_inner .recommended_list.recommended_slide .slick-arrow {
        display: none;
        opacity: 0
    }

    .recommended_cont .recommended_inner .recommended_list.recommended_slide .slick-arrow.slick-prev {
        left: -200px
    }

    .recommended_cont .recommended_inner .recommended_list.recommended_slide .slick-arrow.slick-next {
        right: -200px
    }
}

.recommended_cont .recommended_inner .recommended_list.recommended_slide .slick-track {
    display: flex;
    flex-flow: row wrap
}

.recommended_cont .recommended_inner .recommended_list .recommended_cont {
    padding: 18px;
    width: 33.3333%
}

@media only screen and (max-width: 1024px) {
    .recommended_cont .recommended_inner .recommended_list {
        margin: -12px
    }

    .recommended_cont .recommended_inner .recommended_list .recommended_cont {
        padding: 12px
    }
}

@media only screen and (max-width: 768px) {
    .recommended_cont .recommended_inner .recommended_list {
        margin: -8px
    }

    .recommended_cont .recommended_inner .recommended_list .recommended_cont {
        padding: 8px;
        width: 50%
    }
}

@media only screen and (max-width: 480px) {
    .recommended_cont .recommended_inner .recommended_list .recommended_cont {
        width: 100%
    }
}

.recommended_cont .recommended_inner .recommended_list .recommended_cont {
    position: relative
}

.recommended_cont .recommended_inner .recommended_list .recommended_cont > a, .recommended_cont .recommended_inner .recommended_list .recommended_cont > div {
    display: block;
    border: solid 3px #ccc;
    position: relative;
    height: 100%
}

.recommended_cont .recommended_inner .recommended_list .recommended_cont > a .recommended_thumb, .recommended_cont .recommended_inner .recommended_list .recommended_cont > div .recommended_thumb {
    position: relative;
    overflow: hidden;
}

.recommended_cont .recommended_inner .recommended_list .recommended_cont > a .recommended_thumb, .recommended_cont .recommended_inner .recommended_list .recommended_cont > div .recommended_thumb:before {
    content: "";
    display: block;
    padding-top: 58%; /* アスペクト比 SassはFunctionで算出 */
}

.recommended_cont .recommended_inner .recommended_list .recommended_cont > a .recommended_thumb img, .recommended_cont .recommended_inner .recommended_list .recommended_cont > div .recommended_thumb img {
    position: absolute;
    top: 50%;
    left: 50%;
    max-width: none;
    width: 100%;
    object-fit: cover;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.recommended_cont .recommended_inner .recommended_list .recommended_cont > a .recommended_thumb .thumb_title, .recommended_cont .recommended_inner .recommended_list .recommended_cont > div .recommended_thumb .thumb_title {
    position: absolute;
    left: 0;
    bottom: 0;
    background-color: #000;
    padding: 0.3em 0.815em 0.2em
}

.recommended_cont .recommended_inner .recommended_list .recommended_cont > a .recommended_thumb .thumb_title > span, .recommended_cont .recommended_inner .recommended_list .recommended_cont > div .recommended_thumb .thumb_title > span {
    color: #fff;
    font-weight: 800;
    line-height: 1;
    font-size: 114.3%
}

.recommended_cont .recommended_inner .recommended_list .recommended_cont > a .recommended_thumb .icon, .recommended_cont .recommended_inner .recommended_list .recommended_cont > div .recommended_thumb .icon {
    position: absolute;
    right: 0.75em;
    top: 0.75em;
    background-color: #ed8a19;
    padding: 0.3em 0.815em 0.35em
}

.recommended_cont .recommended_inner .recommended_list .recommended_cont > a .recommended_thumb .icon > span, .recommended_cont .recommended_inner .recommended_list .recommended_cont > div .recommended_thumb .icon > span {
    color: #fff;
    font-weight: 500;
    line-height: 1;
    font-size: 100%
}

.recommended_cont .recommended_inner .recommended_list .recommended_cont > a .recommended_text, .recommended_cont .recommended_inner .recommended_list .recommended_cont > div .recommended_text {
    padding: 16px 20px 10px
}

.recommended_cont .recommended_inner .recommended_list .recommended_cont > a .recommended_text .recommended_title, .recommended_cont .recommended_inner .recommended_list .recommended_cont > div .recommended_text .recommended_title {
    margin-bottom: 0.25em;
    min-height: 3.15em;
    display: flex;
    flex-direction: row;
    align-items: center
}

.recommended_cont .recommended_inner .recommended_list .recommended_cont > a .recommended_text .recommended_title h2, .recommended_cont .recommended_inner .recommended_list .recommended_cont > a .recommended_text .recommended_title h3, .recommended_cont .recommended_inner .recommended_list .recommended_cont > a .recommended_text .recommended_title h4, .recommended_cont .recommended_inner .recommended_list .recommended_cont > div .recommended_text .recommended_title h2, .recommended_cont .recommended_inner .recommended_list .recommended_cont > div .recommended_text .recommended_title h3, .recommended_cont .recommended_inner .recommended_list .recommended_cont > div .recommended_text .recommended_title h4 {
    width: 100%;
    font-size: 121.4%;
    color: #00a3e5;
    font-weight: 600;
    letter-spacing: -0.025em;
    vertical-align: top
}

.recommended_cont .recommended_inner .recommended_list .recommended_cont > a .recommended_text .catch, .recommended_cont .recommended_inner .recommended_list .recommended_cont > div .recommended_text .catch {
    margin-bottom: 0.75em
}

.recommended_cont .recommended_inner .recommended_list .recommended_cont > a .recommended_text .catch p, .recommended_cont .recommended_inner .recommended_list .recommended_cont > div .recommended_text .catch p {
    font-weight: 600;
    letter-spacing: -0.025em
}

.recommended_cont .recommended_inner .recommended_list .recommended_cont > a .recommended_text .detail, .recommended_cont .recommended_inner .recommended_list .recommended_cont > div .recommended_text .detail {
    vertical-align: bottom
}

.recommended_cont .recommended_inner .recommended_list .recommended_cont > a .recommended_text .detail dl, .recommended_cont .recommended_inner .recommended_list .recommended_cont > div .recommended_text .detail dl {
    line-height: 1.65;
    display: table
}

.recommended_cont .recommended_inner .recommended_list .recommended_cont > a .recommended_text .detail dl dd, .recommended_cont .recommended_inner .recommended_list .recommended_cont > a .recommended_text .detail dl dt, .recommended_cont .recommended_inner .recommended_list .recommended_cont > div .recommended_text .detail dl dd, .recommended_cont .recommended_inner .recommended_list .recommended_cont > div .recommended_text .detail dl dt {
    display: table-cell;
    vertical-align: baseline
}

.recommended_cont .recommended_inner .recommended_list .recommended_cont > a .recommended_text .detail dl dt, .recommended_cont .recommended_inner .recommended_list .recommended_cont > div .recommended_text .detail dl dt {
    width: 3.25em
}

.recommended_cont .recommended_inner .recommended_list .recommended_cont > a .recommended_text .detail dl dt:after, .recommended_cont .recommended_inner .recommended_list .recommended_cont > div .recommended_text .detail dl dt:after {
    content: "："
}

.recommended_cont .recommended_inner .recommended_list .recommended_cont > a .recommended_text .detail dl dd, .recommended_cont .recommended_inner .recommended_list .recommended_cont > div .recommended_text .detail dl dd {
    position: relative
}

.recommended_cont .recommended_inner .recommended_list .recommended_cont > a .recommended_text .detail dl dd > span.price, .recommended_cont .recommended_inner .recommended_list .recommended_cont > div .recommended_text .detail dl dd > span.price {
    margin-top: -0.2em;
    font-size: 142.9%;
    font-weight: 600;
    color: #00a3e5
}

@media only screen and (max-width: 1024px) {
    .recommended_cont .recommended_inner .recommended_list .recommended_cont > a .recommended_thumb .thumb_title, .recommended_cont .recommended_inner .recommended_list .recommended_cont > div .recommended_thumb .thumb_title {
        padding: 0.2em 0.8em 0.15em
    }

    .recommended_cont .recommended_inner .recommended_list .recommended_cont > a .recommended_thumb .thumb_title > span, .recommended_cont .recommended_inner .recommended_list .recommended_cont > div .recommended_thumb .thumb_title > span {
        font-size: 107.1%
    }

    .recommended_cont .recommended_inner .recommended_list .recommended_cont > a .recommended_thumb .icon, .recommended_cont .recommended_inner .recommended_list .recommended_cont > div .recommended_thumb .icon {
        right: 0.75em;
        top: 0.75em;
        padding: 0.2em 0.8em 0.15em
    }

    .recommended_cont .recommended_inner .recommended_list .recommended_cont > a .recommended_thumb .icon > span, .recommended_cont .recommended_inner .recommended_list .recommended_cont > div .recommended_thumb .icon > span {
        font-size: 107.1%
    }

    .recommended_cont .recommended_inner .recommended_list .recommended_cont > a .recommended_text, .recommended_cont .recommended_inner .recommended_list .recommended_cont > div .recommended_text {
        padding: 15px
    }

    .recommended_cont .recommended_inner .recommended_list .recommended_cont > a .recommended_text .catch, .recommended_cont .recommended_inner .recommended_list .recommended_cont > div .recommended_text .catch {
        margin-bottom: 0.5em
    }

    .recommended_cont .recommended_inner .recommended_list .recommended_cont > a .recommended_text .catch p, .recommended_cont .recommended_inner .recommended_list .recommended_cont > div .recommended_text .catch p {
        font-size: 92.9%
    }

    .recommended_cont .recommended_inner .recommended_list .recommended_cont > a .recommended_text .detail dl, .recommended_cont .recommended_inner .recommended_list .recommended_cont > div .recommended_text .detail dl {
        font-size: 92.9%
    }
}

@media only screen and (max-width: 768px) {
    .recommended_cont .recommended_inner .recommended_list .recommended_cont > a .recommended_thumb .thumb_title, .recommended_cont .recommended_inner .recommended_list .recommended_cont > div .recommended_thumb .thumb_title {
        padding: 0.2em 0.8em 0.15em
    }

    .recommended_cont .recommended_inner .recommended_list .recommended_cont > a .recommended_thumb .thumb_title > span, .recommended_cont .recommended_inner .recommended_list .recommended_cont > div .recommended_thumb .thumb_title > span {
        font-size: 100%
    }

    .recommended_cont .recommended_inner .recommended_list .recommended_cont > a .recommended_thumb .icon, .recommended_cont .recommended_inner .recommended_list .recommended_cont > div .recommended_thumb .icon {
        right: 5px;
        top: 5px;
        padding: 0.2em 0.8em 0.15em
    }

    .recommended_cont .recommended_inner .recommended_list .recommended_cont > a .recommended_thumb .icon > span, .recommended_cont .recommended_inner .recommended_list .recommended_cont > div .recommended_thumb .icon > span {
        font-size: 100%
    }

    .recommended_cont .recommended_inner .recommended_list .recommended_cont > a .recommended_text, .recommended_cont .recommended_inner .recommended_list .recommended_cont > div .recommended_text {
        padding: 15px
    }

    .recommended_cont .recommended_inner .recommended_list .recommended_cont > a .recommended_text .catch, .recommended_cont .recommended_inner .recommended_list .recommended_cont > div .recommended_text .catch {
        margin-bottom: 0.5em
    }

    .recommended_cont .recommended_inner .recommended_list .recommended_cont > a .recommended_text .detail dl dd > span.price, .recommended_cont .recommended_inner .recommended_list .recommended_cont > div .recommended_text .detail dl dd > span.price {
        margin-top: -0.2em;
        font-size: 142.9%
    }
}

.recommended_cont .recommended_inner .recommended_list .recommended_cont > a:hover {
    text-decoration: none
}

.recommended_cont:hover .recommended_inner .recommended_list.recommended_slide .slick-arrow.slick-prev {
    left: -20px;
    opacity: 1;
    transition: 400ms
}

.recommended_cont:hover .recommended_inner .recommended_list.recommended_slide .slick-arrow.slick-next {
    right: -20px;
    opacity: 1;
    transition: 400ms
}

@media only screen and (max-width: 768px) {
    .recommended_cont:hover .recommended_inner .recommended_list.recommended_slide .slick-arrow {
        display: none;
        opacity: 0
    }

    .recommended_cont:hover .recommended_inner .recommended_list.recommended_slide .slick-arrow.slick-prev {
        left: -200px
    }

    .recommended_cont:hover .recommended_inner .recommended_list.recommended_slide .slick-arrow.slick-next {
        right: -200px
    }
}

/* 20190709 Add Start */
.recommended_cont .recommended_inner .recommended_list.recommended_slide .slick-arrow {
    position: absolute;
}

.recommended_cont .recommended_inner .recommended_list.recommended_slide .slick-arrow.slick-prev {
    left: -20px;
    transition: 400ms;
    background-image: url(/room_reserve/media/images/common/recommended_arrow_prev.png);
}

.recommended_cont .recommended_inner .recommended_list.recommended_slide .slick-arrow.slick-next {
    right: -20px;
    transition: 400ms;
    background-image: url(/room_reserve/media/images/common/recommended_arrow_next.png);
}

@media only screen and (max-width: 768px) {
    .recommended_cont .recommended_inner .recommended_list.recommended_slide .slick-arrow {
        display: inline-block;
        opacity: 1;
        z-index: 9;
    }

    .recommended_cont .recommended_inner .recommended_list.recommended_slide .slick-arrow.slick-prev {
        left: 0px;
    }

    .recommended_cont .recommended_inner .recommended_list.recommended_slide .slick-arrow.slick-next {
        right: 0px;
    }
}

@media only screen and (max-width: 768px) {
    .recommended_cont:hover .recommended_inner .recommended_list.recommended_slide .slick-arrow {
        display: inline-block;
        opacity: 1;
    }

    .recommended_cont:hover .recommended_inner .recommended_list.recommended_slide .slick-arrow.slick-prev {
        left: 0px;
    }

    .recommended_cont:hover .recommended_inner .recommended_list.recommended_slide .slick-arrow.slick-next {
        right: 0px;
    }
}

/* 20190709 Add End */

#main_area .bnr_cont {
    width: 100%
}

#main_area .bnr_cont ul {
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    align-content: center;
    margin-left: -10px;
    margin-right: -10px;
    overflow: hidden
}

#main_area .bnr_cont ul li {
    padding-left: 10px;
    padding-right: 10px;
    width: 50%
}

@media only screen and (max-width: 1024px) {
    #main_area .bnr_cont ul {
        margin-left: -10px;
        margin-right: -10px
    }

    #main_area .bnr_cont ul li {
        padding-left: 10px;
        padding-right: 10px
    }
}

@media only screen and (max-width: 768px) {
    #main_area .bnr_cont ul {
        margin-left: -10px;
        margin-right: -10px
    }

    #main_area .bnr_cont ul li {
        padding-left: 10px;
        padding-right: 10px
    }
}

@media only screen and (max-width: 600px) {
    #main_area .bnr_cont ul {
        margin-bottom: -9px
    }

    #main_area .bnr_cont ul li {
        width: 100%;
        padding-bottom: 10px
    }
}

#main_area .bnr_cont ul li > div {
    width: 100%;
    max-width: 100%;
    height: 132px
}

@media only screen and (max-width: 1024px) {
    #main_area .bnr_cont ul li > div {
        height: 100px
    }
}

@media only screen and (max-width: 768px) {
    #main_area .bnr_cont ul li > div {
        height: 80px
    }
}

@media only screen and (max-width: 600px) {
    #main_area .bnr_cont ul li > div {
        height: 64px
    }
}

#main_area .bnr_cont ul li > div > a, #main_area .bnr_cont ul li > div > div {
    position: relative;
    width: 100%;
    height: 100%
}

#main_area .bnr_cont ul li > div.arr_bnr a {
    padding: 0 1.5em
}

#main_area .bnr_cont ul li > div.arr_bnr a:after {
    position: absolute;
    right: 1em;
    top: 50%;
    content: "";
    width: 12px;
    height: 17px;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    -webkit-transform: translate(0%, -50%);
    -ms-transform: translate(0%, -50%);
    transform: translate(0%, -50%);
    display: block;
    background-image: url(/room_reserve/media/images/common/bnr_arr.png);
    background-repeat: no-repeat
}

@media only screen and (max-width: 768px) {
    #main_area .bnr_cont ul li > div.arr_bnr a {
        padding: 0 1em
    }

    #main_area .bnr_cont ul li > div.arr_bnr a:after {
        right: 0.5em;
        width: 10px;
        height: 15px
    }
}

@media only screen and (max-width: 600px) {
    #main_area .bnr_cont ul li > div.arr_bnr a {
        padding: 0 1.5em
    }

    #main_area .bnr_cont ul li > div.arr_bnr a:after {
        right: 1em;
        width: 10px;
        height: 15px
    }
}

#main_area .bnr_cont ul li > div.campaign_bnr a {
    display: flex;
    flex-flow: row wrap;
    align-content: center;
    margin: auto
}

#main_area .bnr_cont ul li > div.campaign_bnr a:hover {
    text-decoration: none
}

#main_area .bnr_cont ul li > div.campaign_bnr a:before {
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    content: "";
    width: 100%;
    height: 100%;
    background: #00a3e5;
    background: linear-gradient(-135deg, #0067b8, #00a2e4);
    opacity: 1;
    transition: 400ms
}

@media only screen and (min-width: 769px) {
    #main_area .bnr_cont ul li > div.campaign_bnr a:hover:before {
        opacity: 0.8;
        transition: 400ms
    }
}

#main_area .bnr_cont ul li > div.campaign_bnr a > span {
    display: block;
    position: relative;
    margin: auto;
    padding-left: 64px
}

#main_area .bnr_cont ul li > div.campaign_bnr a > span:before {
    display: block;
    content: url(/room_reserve/media/images/common/campaign_bnr_icon02.png);
    position: absolute;
    top: 50%;
    width: 54px;
    height: 54px;
    -webkit-transform: translate(0%, -50%);
    -ms-transform: translate(0%, -50%);
    transform: translate(0%, -50%)
}

#main_area .bnr_cont ul li > div.campaign_bnr a > span:before {
    left: 0
}

#main_area .bnr_cont ul li > div.campaign_bnr a > span:after {
    right: 0
}

#main_area .bnr_cont ul li > div.campaign_bnr a > span > span {
    display: block;
    position: relative;
    z-index: 1;
    color: #fff;
    font-size: 157.1%;
    font-weight: 600;
    margin: 3px auto;
    width: 100%;
    text-align: center
}

#main_area .bnr_cont ul li > div.campaign_bnr a > span > span.sub {
    font-size: 128.6%
}

@media only screen and (max-width: 1024px) {
    #main_area .bnr_cont ul li > div.campaign_bnr a > span {
        padding-left: 62px;
        padding-right: 62px
    }

    #main_area .bnr_cont ul li > div.campaign_bnr a > span:after, #main_area .bnr_cont ul li > div.campaign_bnr a > span:before {
        content: "";
        background-image: url(/room_reserve/media/images/common/campaign_bnr_icon02.png);
        background-size: contain;
        background-repeat: no-repeat;
        width: 54px;
        height: 54px
    }

    #main_area .bnr_cont ul li > div.campaign_bnr a > span > span {
        font-size: 142.9%
    }

    #main_area .bnr_cont ul li > div.campaign_bnr a > span > span.sub {
        font-size: 121.4%
    }
}

@media only screen and (max-width: 900px) {
    #main_area .bnr_cont ul li > div.campaign_bnr a > span {
        padding-left: 62px;
        padding-right: 56px
    }

    #main_area .bnr_cont ul li > div.campaign_bnr a > span:after, #main_area .bnr_cont ul li > div.campaign_bnr a > span:before {
        width: 48px;
        height: 48px
    }

    #main_area .bnr_cont ul li > div.campaign_bnr a > span > span {
        font-size: 128.6%
    }

    #main_area .bnr_cont ul li > div.campaign_bnr a > span > span.sub {
        font-size: 107.1%
    }
}

@media only screen and (max-width: 768px) {
    #main_area .bnr_cont ul li > div.campaign_bnr a > span {
        padding-left: 38px;
        padding-right: 38px
    }

    #main_area .bnr_cont ul li > div.campaign_bnr a > span:after, #main_area .bnr_cont ul li > div.campaign_bnr a > span:before {
        width: 36px;
        height: 36px
    }

    #main_area .bnr_cont ul li > div.campaign_bnr a > span > span {
        font-size: 114.3%
    }

    #main_area .bnr_cont ul li > div.campaign_bnr a > span > span.sub {
        font-size: 92.9%
    }
}

#main_area .bnr_cont ul li > div.party_bnr a {
    display: flex;
    flex-flow: row wrap;
    align-content: center;
    margin: auto;
    background-image: url(/room_reserve/media/images/common/party_bnr_bg.jpg);
    background-size: cover;
    background-position: center
}

#main_area .bnr_cont ul li > div.party_bnr a:hover {
    text-decoration: none
}

#main_area .bnr_cont ul li > div.party_bnr a:before {
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    content: "";
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.4);
    transition: 400ms
}

@media only screen and (min-width: 769px) {
    #main_area .bnr_cont ul li > div.party_bnr a:hover:before {
        opacity: 0.8;
        transition: 400ms
    }
}

#main_area .bnr_cont ul li > div.party_bnr a > span {
    display: block;
    position: relative;
    z-index: 1;
    color: #fff;
    font-size: 157.1%;
    font-weight: 600;
    margin: 3px auto;
    width: 100%;
    text-align: center;
    line-height: 1.2
}

@media only screen and (max-width: 1024px) {
    #main_area .bnr_cont ul li > div.party_bnr a > span {
        font-size: 142.9%;
        margin: 3px auto
    }
}

@media only screen and (max-width: 900px) {
    #main_area .bnr_cont ul li > div.party_bnr a > span {
        font-size: 128.6%;
        margin: 2px auto
    }
}

@media only screen and (max-width: 768px) {
    #main_area .bnr_cont ul li > div.party_bnr a > span {
        font-size: 114.3%;
        margin: 2px auto
    }
}

#main_area .bnr_cont ul li > div.owner_bnr a {
    display: flex;
    flex-flow: row wrap;
    align-content: center;
    margin: auto;
    background-image: url(/room_reserve/media/images/common/owner_bnr_bg.jpg);
    background-size: cover;
    background-position: center
}

#main_area .bnr_cont ul li > div.owner_bnr a:hover {
    text-decoration: none
}

#main_area .bnr_cont ul li > div.owner_bnr a:before {
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    content: "";
    width: 100%;
    height: 100%;
    background: #00809e;
    opacity: 0.2;
    transition: 400ms
}

@media only screen and (min-width: 769px) {
    #main_area .bnr_cont ul li > div.owner_bnr a:hover:before {
        opacity: 0.7;
        transition: 400ms
    }
}

#main_area .bnr_cont ul li > div.owner_bnr a > span {
    display: block;
    position: relative;
    margin: auto
}

#main_area .bnr_cont ul li > div.owner_bnr a > span > span {
    display: block;
    position: relative;
    z-index: 1;
    color: #fff;
    font-size: 157.1%;
    font-weight: 600;
    margin: 3px auto;
    width: 100%;
    text-align: center
}

#main_area .bnr_cont ul li > div.owner_bnr a > span > span.sub {
    font-size: 128.6%
}

@media only screen and (max-width: 1024px) {
    #main_area .bnr_cont ul li > div.owner_bnr a > span > span {
        font-size: 142.9%
    }
}

@media only screen and (max-width: 900px) {
    #main_area .bnr_cont ul li > div.owner_bnr a > span > span {
        font-size: 128.6%
    }
}

@media only screen and (max-width: 768px) {
    #main_area .bnr_cont ul li > div.owner_bnr a > span > span {
        font-size: 114.3%
    }
}

#main_area .bnr_cont ul li > div.campaignlong_bnr a {
    display: flex;
    flex-flow: row wrap;
    align-content: center;
    margin: auto
}

#main_area .bnr_cont ul li > div.campaignlong_bnr a:hover {
    text-decoration: none
}

#main_area .bnr_cont ul li > div.campaignlong_bnr a:before {
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    content: "";
    width: 100%;
    height: 100%;
    background: #00a3e5;
    opacity: 0.8;
    transition: 400ms
}

@media only screen and (min-width: 769px) {
    #main_area .bnr_cont ul li > div.campaignlong_bnr a:hover:before {
        opacity: 1;
        transition: 400ms
    }
}

#main_area .bnr_cont ul li > div.campaignlong_bnr a > span {
    display: block;
    position: relative;
    margin: auto;
    padding-right: 10px
}

#main_area .bnr_cont ul li > div.campaignlong_bnr a > span img {
    max-width: 100%;
    width: auto;
    height: 86px
}

@media only screen and (max-width: 1024px) {
    #main_area .bnr_cont ul li > div.campaignlong_bnr a > span {
        padding-top: 10px;
        padding-bottom: 10px
    }

    #main_area .bnr_cont ul li > div.campaignlong_bnr a > span img {
        height: 80px
    }
}

@media only screen and (max-width: 900px) {
    #main_area .bnr_cont ul li > div.campaignlong_bnr a > span {
        padding-right: 20px
    }
}

@media only screen and (max-width: 768px) {
    #main_area .bnr_cont ul li > div.campaignlong_bnr a > span {
        padding-right: 20px;
        padding-top: 5px;
        padding-bottom: 5px
    }

    #main_area .bnr_cont ul li > div.campaignlong_bnr a > span img {
        height: 70px
    }
}

@media only screen and (max-width: 600px) {
    #main_area .bnr_cont ul li > div.campaignlong_bnr a > span {
        padding-right: 20px;
        padding-top: 5px;
        padding-bottom: 5px
    }

    #main_area .bnr_cont ul li > div.campaignlong_bnr a > span img {
        height: 54px
    }
}

#main_area .bnr_cont ul li.large_bnr {
    margin-top: 25px;
    width: 100%
}

@media only screen and (max-width: 1024px) {
    #main_area .bnr_cont ul li.large_bnr {
        margin-top: 20px
    }
}

@media only screen and (max-width: 768px) {
    #main_area .bnr_cont ul li.large_bnr {
        margin-top: 15px
    }
}

@media only screen and (max-width: 600px) {
    #main_area .bnr_cont ul li.large_bnr {
        margin-top: 0
    }
}

#main_area .bnr_cont ul li.large_bnr > div {
    height: 180px
}

#main_area .bnr_cont ul li.large_bnr > div.arr_bnr a:after {
    right: 2em;
    width: 15px;
    height: 20px;
    background-image: url(/room_reserve/media/images/common/bnr_arr_large.png)
}

@media only screen and (max-width: 1024px) {
    #main_area .bnr_cont ul li.large_bnr > div {
        height: 150px
    }
}

@media only screen and (max-width: 768px) {
    #main_area .bnr_cont ul li.large_bnr > div {
        height: 120px
    }
}

@media only screen and (max-width: 600px) {
    #main_area .bnr_cont ul li.large_bnr > div {
        height: 70px
    }
}

#main_area .bnr_cont ul li.single_bnr {
    width: 100%;
    max-width: 510px
}

.kv_searchcont .freeword {
    background-color: #fff;
    max-width: 422px;
    border: solid 2px #e5e5e5;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    margin: auto;
    position: relative;
    padding: 10px 15px
}

@media only screen and (max-width: 640px) {
    .kv_searchcont .freeword {
        max-width: 100%
    }
}

@media only screen and (max-width: 1024px) {
    .kv_searchcont .freeword {
        padding: 8px 12px
    }
}

@media only screen and (max-width: 768px) {
    .kv_searchcont .freeword {
        padding: 5px 10px
    }
}

.kv_searchcont .freeword .freeword_input {
    padding-right: 40px
}

.kv_searchcont .freeword .freeword_input input {
    display: block;
    width: 100%;
    padding: 7px 5px;
    border-style: none
}

.kv_searchcont .freeword .freeword_input input::placeholder {
    color: #999999;
    font-size: 12px;
    letter-spacing: 0.05em;
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
    line-height: 1.3
}

.kv_searchcont .freeword .freeword_btn {
    position: absolute;
    right: 15px;
    top: 0;
    width: 30px;
    height: 100%
}

.kv_searchcont .freeword .freeword_btn a {
    display: block;
    position: relative;
    width: 100%;
    height: 100%
}

.kv_searchcont .freeword .freeword_btn a:before {
    position: absolute;
    left: 0;
    top: 0;
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url(/room_reserve/media/images/home/freeword_input_icon.png)
}

.kv_searchcont .freeword .freeword_btn a > span {
    display: block;
    text-indent: -9999px;
    overflow: hidden
}

@media only screen and (max-width: 1024px) {
    .kv_searchcont .searchbox .main_width {
        padding-left: 20px;
        padding-right: 20px
    }
}

.kv_searchcont .searchbox .searchbox_inner {
    margin-left: -5px;
    margin-right: -5px
}

.kv_searchcont .searchbox .searchbox_inner > div {
    padding-left: 5px;
    padding-right: 5px;
    margin-bottom: 1.5em;
    display: flex;
    flex-flow: row wrap;
    align-items: center
}

.kv_searchcont .searchbox .searchbox_inner > div > dl, .kv_searchcont .searchbox .searchbox_inner > div > ul {
    display: flex;
    flex-flow: row wrap;
    align-items: center
}

@media only screen and (min-width: 769px) {
    .kv_searchcont .searchbox .searchbox_inner {
        display: flex;
        flex-flow: row wrap
    }

    .kv_searchcont .searchbox .searchbox_inner > div {
        width: 50%;
        margin-bottom: 1.25em
    }

    .kv_searchcont .searchbox .searchbox_inner > div.left_cont {
        width: 45%
    }

    .kv_searchcont .searchbox .searchbox_inner > div.right_cont {
        width: 55%
    }
}

@media only screen and (max-width: 768px) {
    .kv_searchcont .searchbox .searchbox_inner > div {
        margin-bottom: 1em
    }
}

@media only screen and (max-width: 480px) {
    .kv_searchcont .searchbox .searchbox_inner > div {
        margin-bottom: 0.5em
    }
}

.kv_searchcont .searchbox .searchbox_inner > div > dl dt {
    font-weight: 600;
    width: 4em;
    text-align: left
}

.kv_searchcont .searchbox .searchbox_inner > div > dl dd label {
    position: relative
}

.kv_searchcont .searchbox .searchbox_inner > div > dl dd label:before {
    position: absolute;
    right: 0.65em;
    top: 50%;
    display: block;
    width: 10px;
    height: 10px;
    content: "";
    background-image: url(/room_reserve/media/images/common/select_arr.png);
    -webkit-transform: translate(0%, -50%);
    -ms-transform: translate(0%, -50%);
    transform: translate(0%, -50%);
    z-index: 1;
    opacity: 0.5
}

.kv_searchcont .searchbox .searchbox_inner > div > dl dd label.on:before {
    opacity: 1
}

.kv_searchcont .searchbox .searchbox_inner > div > dl dd .unit {
    padding-left: 0.25em;
    font-size: 92.9%
}

.kv_searchcont .searchbox .searchbox_inner > div > dl dd input[type=text], .kv_searchcont .searchbox .searchbox_inner > div > dl dd select {
    letter-spacing: 0.05em;
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
    font-size: 92.9%;
    line-height: 1.3;
    border: solid 1px #cccccc;
    border-radius: 7px;
    -webkit-border-radius: 7px;
    -moz-border-radius: 7px;
    background-color: #fff;
    padding: 0.95em;
    width: 8em
}

@media only screen and (max-width: 1024px) {
    .kv_searchcont .searchbox .searchbox_inner > div > dl dd input[type=text], .kv_searchcont .searchbox .searchbox_inner > div > dl dd select {
        padding: 0.75em 0.5em;
        border-radius: 5px;
        -webkit-border-radius: 5px;
        -moz-border-radius: 5px
    }
}

@media only screen and (max-width: 800px) {
    .kv_searchcont .searchbox .searchbox_inner > div > dl dd input[type=text], .kv_searchcont .searchbox .searchbox_inner > div > dl dd select {
        width: 7em
    }
}

@media only screen and (max-width: 480px) {
    .kv_searchcont .searchbox .searchbox_inner > div > dl dd input[type=text], .kv_searchcont .searchbox .searchbox_inner > div > dl dd select {
        padding: 0.5em 0.35em;
        border-radius: 3px;
        -webkit-border-radius: 3px;
        -moz-border-radius: 3px
    }
}

@media only screen and (max-width: 400px) {
    .kv_searchcont .searchbox .searchbox_inner > div > dl dd input[type=text], .kv_searchcont .searchbox .searchbox_inner > div > dl dd select {
        width: 7em
    }
}

.kv_searchcont .searchbox .searchbox_inner > div > dl dd select {
    color: #666666;
    position: relative
}

.kv_searchcont .searchbox .searchbox_inner > div > dl dd + dd {
    padding-left: 2em;
    position: relative
}

.kv_searchcont .searchbox .searchbox_inner > div > dl dd + dd:before {
    content: "～";
    position: absolute;
    color: #666666;
    left: 0;
    top: 50%;
    -webkit-transform: translate(50%, -50%);
    -ms-transform: translate(50%, -50%);
    transform: translate(50%, -50%)
}

.kv_searchcont .searchbox .searchbox_inner > div.select_area > dl dd input[type=text], .kv_searchcont .searchbox .searchbox_inner > div.select_area > dl dd select {
    width: 18.15em;
    max-width: 100%
}

.kv_searchcont .searchbox .searchbox_inner > div.select_time > dl dd input[type=text], .kv_searchcont .searchbox .searchbox_inner > div.select_time > dl dd select {
    width: 9em
}

.kv_searchcont .searchbox .searchbox_inner > div.select_time > dl dd.select_time01 button {
    text-align: center;
    border: solid 1px #00a3e5;
    padding: 0.75em 0.5em 0.65em;
    line-height: 1;
    margin-right: 0;
    background-color: #00a3e5;
    color: #fff;
    line-height: 0.8em
}

@media only screen and (max-width: 1024px) and (min-width: 769px) {
    .kv_searchcont .searchbox .searchbox_inner > div.select_time > dl dd.select_time01 label:before {
        display: none
    }
}

@media only screen and (max-width: 1024px) {
    .kv_searchcont .searchbox .searchbox_inner > div.select_time > dl dd input[type=text], .kv_searchcont .searchbox .searchbox_inner > div.select_time > dl dd select {
        width: 7.5em
    }
}

.kv_searchcont .searchbox .searchbox_inner > div.select_time > dl + dl {
    margin-left: 1.5em
}

@media only screen and (max-width: 1024px) {
    .kv_searchcont .searchbox .searchbox_inner > div.select_time > dl + dl {
        margin-left: 1em
    }
}

.kv_searchcont .searchbox .searchbox_inner > div.select_time > dl + dl dt {
    width: 3em
}

.kv_searchcont .searchbox .searchbox_inner > div > ul {
    margin-left: -1em;
    margin-right: -2em
}

@media only screen and (max-width: 1024px) {
    .kv_searchcont .searchbox .searchbox_inner > div > ul {
        margin-left: -1em;
        margin-right: -1em
    }
}

.kv_searchcont .searchbox .searchbox_inner > div > ul li {
    margin-left: 1em;
    margin-bottom: 1em
}

.kv_searchcont .searchbox .searchbox_inner > div > ul li label {
    padding-left: 0.5em;
    font-size: 85.7%
}

@media only screen and (max-width: 850px) {
    .kv_searchcont .searchbox .searchbox_inner > div > dl dt {
        width: 3.35em
    }
}

@media only screen and (max-width: 768px) {
    .kv_searchcont .searchbox .searchbox_inner > div {
        max-width: 350px;
        margin-left: auto;
        margin-right: auto
    }

    .kv_searchcont .searchbox .searchbox_inner > div > dl {
        width: 100%
    }

    .kv_searchcont .searchbox .searchbox_inner > div.select_area > dl dd input[type=text], .kv_searchcont .searchbox .searchbox_inner > div.select_area > dl dd select {
        width: 20em
    }

    .kv_searchcont .searchbox .searchbox_inner > div.select_time > dl + dl {
        margin-left: auto;
        margin-top: 1.0em
    }

    .kv_searchcont .searchbox .searchbox_inner > div.select_time > dl + dl dt {
        width: 4em;
        margin-left: 0
    }
}

@media only screen and (max-width: 768px) and (max-width: 768px) {
    .kv_searchcont .searchbox .searchbox_inner > div.select_time > dl + dl dt {
        width: 3.35em
    }
}

@media only screen and (max-width: 768px) {
    .kv_searchcont .searchbox .searchbox_inner > div.select_time > dl dd input[type=text], .kv_searchcont .searchbox .searchbox_inner > div.select_time > dl dd select {
        width: 12em
    }

    .kv_searchcont .searchbox .searchbox_inner > div > ul {
        margin-left: -1em;
        margin-right: -2em
    }
}

@media only screen and (max-width: 768px) and (max-width: 1024px) {
    .kv_searchcont .searchbox .searchbox_inner > div > ul {
        margin-left: -1em;
        margin-right: -1em
    }
}

@media only screen and (max-width: 768px) {
    .kv_searchcont .searchbox .searchbox_inner > div > ul li {
        margin-left: 1em
    }

    .kv_searchcont .searchbox .searchbox_inner > div > ul li label {
        padding-left: 0em;
        font-size: 85.7%;
        letter-spacing: -0.05em
    }
}

@media only screen and (max-width: 480px) {
    .kv_searchcont .searchbox .searchbox_inner > div {
        max-width: 290px
    }

    .kv_searchcont .searchbox .searchbox_inner > div > dl {
        width: 100%
    }

    .kv_searchcont .searchbox .searchbox_inner > div > dl dt {
        width: 3.5em;
        font-size: 85.7%
    }

    .kv_searchcont .searchbox .searchbox_inner > div > dl dd input[type=text], .kv_searchcont .searchbox .searchbox_inner > div > dl dd select {
        width: 6.5em
    }

    .kv_searchcont .searchbox .searchbox_inner > div.select_area > dl dd input[type=text], .kv_searchcont .searchbox .searchbox_inner > div.select_area > dl dd select {
        width: 15.5em
    }

    .kv_searchcont .searchbox .searchbox_inner > div.select_time > dl + dl {
        margin-top: 0.5em
    }

    .kv_searchcont .searchbox .searchbox_inner > div.select_time > dl + dl dt {
        width: 3.5em
    }

    .kv_searchcont .searchbox .searchbox_inner > div.select_time > dl dd input[type=text], .kv_searchcont .searchbox .searchbox_inner > div.select_time > dl dd select {
        width: 9em
    }

    .kv_searchcont .searchbox .searchbox_inner > div > ul {
        margin-left: -1em;
        margin-right: -2em
    }
}

@media only screen and (max-width: 480px) and (max-width: 1024px) {
    .kv_searchcont .searchbox .searchbox_inner > div > ul {
        margin-left: -1em;
        margin-right: -1em
    }
}

@media only screen and (max-width: 480px) {
    .kv_searchcont .searchbox .searchbox_inner > div > ul li {
        margin-left: 1em
    }

    .kv_searchcont .searchbox .searchbox_inner > div > ul li label {
        padding-left: 0em;
        font-size: 85.7%;
        letter-spacing: -0.05em
    }
}

@media only screen and (max-width: 350px) {
    .kv_searchcont .searchbox .searchbox_inner > div {
        max-width: 100%
    }

    .kv_searchcont .searchbox .searchbox_inner > div > dl {
        width: 100%
    }

    .kv_searchcont .searchbox .searchbox_inner > div > dl dd input[type=text], .kv_searchcont .searchbox .searchbox_inner > div > dl dd select {
        width: 6.0em
    }
}

.kv_searchcont .searchbox .searchbox_inner .search_btn {
    width: 100%;
    padding-left: 25px;
    padding-right: 25px;
    margin-top: 0.15em;
    margin-bottom: 0.35em
}

.kv_searchcont .searchbox .searchbox_inner .search_btn a {
    display: flex;
    align-items: center;
    text-align: center;
    margin: auto;
    width: 100%;
    height: 40px;
    border-radius: 20px;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    max-width: 300px;
    background-color: #00a3e5;
    color: #fff;
    position: relative
}

.kv_searchcont .searchbox .searchbox_inner .search_btn a:before {
    position: absolute;
    content: "";
    display: block;
    right: 20px;
    top: 0;
    width: 22px;
    height: 100%;
    background-position: center;
    background-repeat: no-repeat;
    background-image: url(/room_reserve/media/images/common/search_btn_icon.png)
}

.kv_searchcont .searchbox .searchbox_inner .search_btn a > span {
    margin: auto;
    font-size: 92.9%;
    letter-spacing: 0.05em
}

.kv_searchcont .searchbox .searchbox_inner .search_btn a:hover {
    text-decoration: none
}

@media only screen and (min-width: 769px) {
    .kv_searchcont .searchbox .searchbox_inner .search_btn a {
        opacity: 1;
        transition: 400ms
    }

    .kv_searchcont .searchbox .searchbox_inner .search_btn a:hover {
        opacity: 0.8;
        transition: 400ms
    }
}

.kv_searchcont .checkbox_cont {
    line-height: 1.2
}

.kv_searchcont .checkbox_cont .check-parts {
    display: block;
    min-height: 16px;
    padding-top: 3px;
    padding-left: 20px;
    position: relative;
    margin-right: 13px
}

.kv_searchcont .checkbox_cont .check-parts:before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    width: 16px;
    height: 16px;
    border: 1px solid #ccc;
    background-color: #fff;
    border-radius: 3px
}

.kv_searchcont .checkbox_cont input + .check-parts:after {
    top: 3px;
    left: 6px
}

#whatsnew {
    background-color: #f1f6f6
}

@media only screen and (max-width: 768px) {
    #home .news_list ul {
        margin-left: -20px;
        margin-right: -20px
    }
}

@media only screen and (max-width: 480px) {
    #home .news_list ul {
        margin-left: -10px;
        margin-right: -10px
    }
}

@media only screen and (max-width: 1024px) {
    #home .news_list {
        padding: 40px 0
    }
}

@media only screen and (max-width: 768px) {
    #home .news_list {
        padding: 30px 20px
    }
}

@media only screen and (max-width: 480px) {
    #home .news_list {
        padding: 20px 10px
    }
}

.news_list {
    background-color: #f1f6f6
}

.news_list .news_list_inner {
    width: 100%;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto
}

.news_list .news_list_list {
    width: 100%;
    margin-bottom: 50px
}

@media only screen and (max-width: 1024px) {
    .news_list .news_list_list {
        margin-bottom: 30px
    }
}

@media only screen and (max-width: 768px) {
    .news_list .news_list_list {
        margin-bottom: 20px
    }
}

.news_list .news_list_list ul {
    position: relative;
    border-top: solid 1px #ddd
}

.news_list .news_list_list ul li {
    border-bottom: solid 1px #ddd;
    line-height: 1.3
}

.news_list .news_list_list ul li > a, .news_list .news_list_list ul li > div.modal_trigger {
    display: block;
    padding: 1.75em 0.75em;
    display: flex;
    align-items: flex-start;
    position: relative;
    cursor: pointer
}

@media only screen and (max-width: 1024px) {
    .news_list .news_list_list ul li > a, .news_list .news_list_list ul li > div.modal_trigger {
        padding: 1.5em 0.5em
    }
}

@media only screen and (min-width: 769px) {
    .news_list .news_list_list ul li > a, .news_list .news_list_list ul li > div.modal_trigger {
        color: #000000;
        transition: 400ms
    }

    .news_list .news_list_list ul li > a:hover, .news_list .news_list_list ul li > div.modal_trigger:hover {
        color: #00a3e5;
        transition: 400ms
    }
}

@media only screen and (max-width: 768px) {
    .news_list .news_list_list ul li > a, .news_list .news_list_list ul li > div.modal_trigger {
        padding: 20px
    }

    .news_list .news_list_list ul li > a:before, .news_list .news_list_list ul li > div.modal_trigger:before {
        content: "";
        display: block;
        position: absolute;
        right: 10px;
        top: 50%;
        margin-top: -3px;
        width: 6px;
        height: 6px;
        border-top: 2px solid #ddd;
        border-right: 2px solid #ddd;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg)
    }
}

@media only screen and (max-width: 480px) {
    .news_list .news_list_list ul li > a, .news_list .news_list_list ul li > div.modal_trigger {
        padding: 20px 10px
    }
}

.news_list .news_list_list ul li > a > span.date, .news_list .news_list_list ul li > div.modal_trigger > span.date {
    width: 5.5em;
    max-width: 5.5em;
    min-width: 5.5em;
    letter-spacing: 0.05em;
    margin-right: 1em
}

.news_list .news_list_list ul li > a > span.cate, .news_list .news_list_list ul li > div.modal_trigger > span.cate {
    position: relative;
    top: -0.025em;
    max-width: 5.0em;
    min-width: 3.0em;
    text-align: center;
    border: solid 1px #00a3e5;
    padding: 0em 0.1em 0.15em;
    line-height: 1;
    margin-right: 1em;
    margin-left: 1em
}

.news_list .news_list_list ul li > a > span.cate > span, .news_list .news_list_list ul li > div.modal_trigger > span.cate > span {
    font-size: 71.4%;
    color: #00a3e5;
    line-height: 0.8em
}

@media only screen and (max-width: 640px) {
    .news_list .news_list_list ul li > a, .news_list .news_list_list ul li > div.modal_trigger {
        flex-flow: row wrap
    }

    .news_list .news_list_list ul li > a > span.title, .news_list .news_list_list ul li > div.modal_trigger > span.title {
        margin-top: 0.25em;
        width: 100%
    }
}

.news_list .news_list_list ul li > a:hover {
    text-decoration: none
}

.news_list .news_list_list ul li .news_modal {
    font-size: 14px
}

.news_list .news_list_list ul li .news_modal .news_title {
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    align-content: center;
    align-items: center;
    border-bottom: solid 1px #00a3e5
}

.news_list .news_list_list ul li .news_modal .news_title .cate {
    display: block;
    max-width: 5.0em;
    min-width: 3.0em;
    text-align: center;
    border: solid 1px #00a3e5;
    padding: 0em 0.1em 0.15em;
    line-height: 1;
    margin-right: 0.5em
}

.news_list .news_list_list ul li .news_modal .news_title .cate > span {
    font-size: 71.4%;
    color: #00a3e5;
    line-height: 0.8em
}

.news_list .news_list_list ul li .news_modal .news_title > p, .news_list .news_list_list ul li .news_modal .news_title h1, .news_list .news_list_list ul li .news_modal .news_title h2, .news_list .news_list_list ul li .news_modal .news_title h3 {
    font-size: 128.6%;
    color: #00a3e5;
    font-weight: 600;
    text-align: center;
    line-height: 1.8
}

@media only screen and (max-width: 640px) {
    .news_list .news_list_list ul li .news_modal .news_title > p, .news_list .news_list_list ul li .news_modal .news_title h1 {
        font-size: 114.3%
    }
}

.news_list .news_list_list ul li .news_modal .head_meta {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-end;
    align-content: center;
    align-items: center
}

.news_list .news_list_list ul li .news_modal .head_meta > span {
    display: block;
    font-size: 100%;
    line-height: 1.8
}

.news_list .news_list_list ul li .news_modal .news_detail {
    margin: 1em auto 0;
    display: flex;
    justify-content: center
}

.news_list .news_list_list ul li .news_modal .news_detail .inner {
    margin: auto;
    max-width: 100%;
    line-height: 1.8
}

.news_list .news_list_list ul li .news_modal .news_detail p {
    font-size: 100%;
    line-height: 1.8
}

.news_list .news_list_list ul li .news_modal .news_detail p strong {
    color: #00a3e5;
    font-weight: normal
}

.news_list .news_list_list ul li.news_detail {
    padding: 1.75em 0.75em;
    display: flex;
    align-items: flex-start;
    position: relative;
    cursor: pointer
}

@media only screen and (max-width: 1024px) {
    .news_list .news_list_list ul li.news_detail {
        padding: 1.5em 0.5em
    }
}

@media only screen and (min-width: 769px) {
    .news_list .news_list_list ul li.news_detail {
        color: #000000;
        transition: 400ms
    }
}

@media only screen and (max-width: 768px) {
    .news_list .news_list_list ul li.news_detail {
        padding: 20px
    }
}

@media only screen and (max-width: 480px) {
    .news_list .news_list_list ul li.news_detail {
        display: block;
        padding: 20px 10px
    }
}

.news_list .news_list_list ul li.news_detail .date {
    width: 6.5em;
    max-width: 6.5em;
    min-width: 6.5em;
    letter-spacing: 0.05em;
    margin-right: 1em
}

@media only screen and (max-width: 480px) {
    .news_list .news_list_list ul li.news_detail .date {
        margin-bottom: 1em
    }
}

.news_list .news_list_list ul li.news_detail .entry_main {
    position: relative;
    font-size: 14px
}

.news_list .news_list_list ul li.news_detail .entry_main .cate {
    position: relative;
    top: -0.2em;
    width: 3.0em;
    max-width: 3.0em;
    min-width: 3.0em;
    text-align: center;
    font-size: 71.4%;
    color: #00a3e5;
    line-height: 0.8em;
    border: solid 1px #00a3e5;
    padding: 0.2em 0.5em 0.15em;
    line-height: 1
}

.news_list .news_list_list ul li.news_detail .entry_main p {
    font-size: 100%;
    line-height: 1.8
}

.news_list .news_list_list ul li.news_detail .entry_main p strong {
    color: #00a3e5;
    font-weight: normal
}

.news_list .news_list_more {
    display: flex;
    justify-content: flex-end
}

.news_list .news_list_more a {
    display: block;
    position: relative;
    width: 10.25em;
    text-align: center;
    border: solid 1px #00a3e5;
    padding: 0.75em 0.5em 0.65em;
    line-height: 1;
    margin-right: 0
}

.news_list .news_list_more a:hover {
    text-decoration: none
}

.news_list .news_list_more a > span {
    font-size: 100%;
    color: #00a3e5;
    line-height: 0.8em
}

@media only screen and (max-width: 1024px) {
    .news_list .news_list_more a {
        width: 9em;
        padding: 0.5em 0.35em 0.525em
    }

    .news_list .news_list_more a > span {
        font-size: 92.9%
    }
}

@media only screen and (max-width: 768px) {
    .news_list .news_list_more a {
        width: 8em;
        padding: 0.5em 0.35em 0.525em
    }

    .news_list .news_list_more a > span {
        font-size: 92.9%
    }
}

.select_cont div.label {
    display: inline
}

.select_cont .label, .select_cont label {
    position: relative
}

.select_cont .label:before, .select_cont label:before {
    position: absolute;
    right: 0.65em;
    top: 50%;
    display: block;
    width: 10px;
    height: 10px;
    content: "";
    background-image: url(/room_reserve/media/images/common/select_arr.png);
    -webkit-transform: translate(0%, -50%);
    -ms-transform: translate(0%, -50%);
    transform: translate(0%, -50%);
    z-index: 1;
    opacity: 0.5
}

.select_cont .label.on:before, .select_cont label.on:before {
    opacity: 1
}

.select_cont .label .disabled_parts, .select_cont .label input[type=text], .select_cont .label select, .select_cont label .disabled_parts, .select_cont label input[type=text], .select_cont label select {
    padding-right: 2em
}

.disabled_parts {
    display: block
}

.label, label, textarea {
    display: inline-block
}

.label.disabled, label.disabled, textarea.disabled {
    cursor: default;
    pointer-events: none
}

.label.disabled .disabled_parts, .label.disabled input[type=login_id], .label.disabled input[type=mail], .label.disabled input[type=password], .label.disabled input[type=text], .label.disabled select, .label.disabled textarea, label.disabled .disabled_parts, label.disabled input[type=login_id], label.disabled input[type=mail], label.disabled input[type=password], label.disabled input[type=text], label.disabled select, label.disabled textarea, textarea.disabled .disabled_parts, textarea.disabled input[type=login_id], textarea.disabled input[type=mail], textarea.disabled input[type=password], textarea.disabled input[type=text], textarea.disabled select, textarea.disabled textarea {
    position: relative;
    background-color: #e2e2e2;
    color: #000000;
    pointer-events: none
}

.label.disabled:before, label.disabled:before, textarea.disabled:before {
    opacity: 0
}

.label.disabled:after, label.disabled:after, textarea.disabled:after {
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    width: 100%;
    height: 100%;
    content: "";
    background: #000;
    opacity: 0;
    z-index: 10
}

.disabled_parts, input[type=login_id], input[type=mail], input[type=password], input[type=text], select, textarea {
    letter-spacing: 0.05em;
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
    font-size: 92.9%;
    line-height: 1.3;
    border: solid 1px #9a9a9a;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    background-color: #fff;
    background: #fff;
    padding: 0.5em 0.95em 0.4em;
    max-width: 100%
}

@media only screen and (max-width: 768px) {
    .disabled_parts, input[type=login_id], input[type=mail], input[type=password], input[type=text], select, textarea {
        padding: 0.5em 0.5em;
        border-radius: 3px;
        -webkit-border-radius: 3px;
        -moz-border-radius: 3px
    }
}

select {
    color: #999999
}

#footer {
    padding-top: 30px;
    background-color: #999999;
    color: #fff
}

@media only screen and (max-width: 768px) {
    #footer {
        padding-top: 20px
    }
}

#footer a {
    color: #fff
}

#footer .footer_width {
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto
}

#footer .footer_cont {
    padding-top: 30px;
    padding-bottom: 30px;
    padding-left: 20px;
    padding-right: 20px
}

@media only screen and (max-width: 768px) {
    #footer .footer_cont {
        padding-top: 20px;
        padding-bottom: 20px
    }
}

@media only screen and (max-width: 480px) {
    #footer .footer_cont {
        padding-left: 15px;
        padding-right: 15px
    }
}

#footer .footer_cont + .footer_cont {
    padding-top: 60px;
    border-top: solid 1px #fff
}

@media only screen and (max-width: 768px) {
    #footer .footer_cont + .footer_cont {
        padding-top: 30px
    }
}

@media only screen and (max-width: 600px) {
    #footer .footer_cont + .footer_cont {
        padding-top: 30px
    }
}

#footer .footer_cont .footer_width {
    padding-left: 185px;
    position: relative
}

@media only screen and (max-width: 1024px) {
    #footer .footer_cont .footer_width {
        padding-left: 140px
    }
}

@media only screen and (max-width: 850px) {
    #footer .footer_cont .footer_width {
        padding-left: 100px
    }
}

@media only screen and (max-width: 768px) {
    #footer .footer_cont .footer_width {
        padding-left: 0
    }
}

#footer .footer_cont .footer_width .ft_logo {
    position: absolute;
    left: 0;
    top: 0;
    width: 93px
}

#footer .footer_cont .footer_width .ft_logo img {
    width: 100%
}

@media only screen and (max-width: 850px) {
    #footer .footer_cont .footer_width .ft_logo {
        width: 76px
    }
}

@media only screen and (max-width: 768px) {
    #footer .footer_cont .footer_width .ft_logo {
        display: none;
        position: relative;
        width: 76px;
        top: 0;
        text-align: center;
        margin: auto;
        padding-bottom: 15px
    }

    #footer .footer_cont .footer_width .ft_logo > a {
        display: block;
        width: 76px
    }
}

#footer .ft_navi01 .sub_navi {
    display: inline-block
}

#footer .ft_navi01 .sub_navi > ul {
    width: auto;
    margin-right: auto;
    margin-top: 1.5em
}

#footer .ft_navi01 .sub_navi > ul + ul {
    margin-top: 0
}

@media only screen and (max-width: 480px) {
    #footer .ft_navi01 .sub_navi > ul {
        display: flex;
        flex-flow: row wrap;
        margin-left: 0
    }

    #footer .ft_navi01 .sub_navi > ul > li {
        width: 50%;
        margin-left: 0;
        padding-left: 0
    }

    #footer .ft_navi01 .sub_navi > ul.center_li > li {
        width: 100%;
        margin-left: 0;
        padding-left: 0
    }
}

#footer .ft_navi01 .sub_navi > ul, #footer .ft_navi01 > ul {
    display: flex;
    flex-flow: row wrap;
    margin-left: -1.5em;
    justify-content: flex-start
}

#footer .ft_navi01 .sub_navi > ul.center_li, #footer .ft_navi01 > ul.center_li {
    justify-content: center
}

#footer .ft_navi01 .sub_navi > ul > li, #footer .ft_navi01 > ul > li {
    margin-left: 1.5em
}

#footer .ft_navi01 .sub_navi > ul > li > a, #footer .ft_navi01 .sub_navi > ul > li > span, #footer .ft_navi01 > ul > li > a, #footer .ft_navi01 > ul > li > span {
    font-size: 107.1%;
    font-weight: 600;
    margin-bottom: 1.25em;
    display: block
}

#footer .ft_navi01 .sub_navi > ul > li > ul, #footer .ft_navi01 > ul > li > ul {
    font-size: 107.1%;
    display: flex;
    flex-flow: row wrap;
    margin-left: -1.5em;
    max-width: 48em
}

#footer .ft_navi01 .sub_navi > ul > li > ul > li, #footer .ft_navi01 > ul > li > ul > li {
    margin-left: 1.5em
}

#footer .ft_navi01 .sub_navi > ul > li > ul > li > a, #footer .ft_navi01 .sub_navi > ul > li > ul > li > span, #footer .ft_navi01 > ul > li > ul > li > a, #footer .ft_navi01 > ul > li > ul > li > span {
    margin-bottom: 0.75em;
    display: block
}

@media only screen and (min-width: 601px) {
    #footer .ft_navi01 .sub_navi > ul > li > ul > li.c1, #footer .ft_navi01 > ul > li > ul > li.c1 {
        width: 8.85em
    }

    #footer .ft_navi01 .sub_navi > ul > li > ul > li.c2, #footer .ft_navi01 > ul > li > ul > li.c2 {
        width: 7.15em
    }

    #footer .ft_navi01 .sub_navi > ul > li > ul > li.c3, #footer .ft_navi01 > ul > li > ul > li.c3 {
        width: 7.15em
    }

    #footer .ft_navi01 .sub_navi > ul > li > ul > li.c4, #footer .ft_navi01 > ul > li > ul > li.c4 {
        min-width: 10.15em
    }

    #footer .ft_navi01 .sub_navi > ul > li > ul > li.w5, #footer .ft_navi01 > ul > li > ul > li.w5 {
        width: 6.15em
    }

    #footer .ft_navi01 .sub_navi > ul > li > ul > li.w6, #footer .ft_navi01 > ul > li > ul > li.w6 {
        width: 7.15em
    }

    #footer .ft_navi01 .sub_navi > ul > li > ul > li.w8, #footer .ft_navi01 > ul > li > ul > li.w8 {
        width: 9.15em
    }

    #footer .ft_navi01 .sub_navi > ul > li > ul > li.w9, #footer .ft_navi01 > ul > li > ul > li.w9 {
        width: 10.15em
    }
}

@media only screen and (max-width: 1024px) {
    #footer .ft_navi01 .sub_navi > ul > li > a, #footer .ft_navi01 .sub_navi > ul > li > span, #footer .ft_navi01 > ul > li > a, #footer .ft_navi01 > ul > li > span {
        font-size: 100%
    }

    #footer .ft_navi01 .sub_navi > ul > li > ul, #footer .ft_navi01 > ul > li > ul {
        font-size: 100%
    }
}

@media only screen and (max-width: 850px) {
    #footer .ft_navi01 .sub_navi > ul > li > a, #footer .ft_navi01 .sub_navi > ul > li > span, #footer .ft_navi01 > ul > li > a, #footer .ft_navi01 > ul > li > span {
        font-size: 92.9%
    }

    #footer .ft_navi01 .sub_navi > ul > li > ul, #footer .ft_navi01 > ul > li > ul {
        font-size: 92.9%
    }
}

@media only screen and (max-width: 768px) {
    #footer .ft_navi01 .sub_navi > ul, #footer .ft_navi01 > ul {
        margin-left: -1em
    }

    #footer .ft_navi01 .sub_navi > ul + ul, #footer .ft_navi01 > ul + ul {
        margin-top: 1em
    }

    #footer .ft_navi01 .sub_navi > ul > li, #footer .ft_navi01 > ul > li {
        margin-left: 1em
    }

    #footer .ft_navi01 .sub_navi > ul > li > ul, #footer .ft_navi01 > ul > li > ul {
        margin-left: -1em
    }

    #footer .ft_navi01 .sub_navi > ul > li > ul > li, #footer .ft_navi01 > ul > li > ul > li {
        margin-left: 1em
    }

    #footer .ft_navi01 .sub_navi > ul > li > ul > li > a, #footer .ft_navi01 .sub_navi > ul > li > ul > li > span, #footer .ft_navi01 > ul > li > ul > li > a, #footer .ft_navi01 > ul > li > ul > li > span {
        margin-bottom: 0.5em
    }
}

@media only screen and (max-width: 600px) {
    #footer .ft_navi01 .sub_navi > ul > li > ul, #footer .ft_navi01 > ul > li > ul {
        margin-left: auto
    }

    #footer .ft_navi01 .sub_navi > ul > li > ul > li, #footer .ft_navi01 > ul > li > ul > li {
        width: 33.3333%;
        margin-left: auto
    }

    #footer .ft_navi01 .sub_navi > ul > li > ul > li > a, #footer .ft_navi01 .sub_navi > ul > li > ul > li > span, #footer .ft_navi01 > ul > li > ul > li > a, #footer .ft_navi01 > ul > li > ul > li > span {
        margin-bottom: 0.5em
    }
}

@media only screen and (max-width: 480px) {
    #footer .ft_navi01 .sub_navi > ul, #footer .ft_navi01 > ul {
        margin-left: auto
    }

    #footer .ft_navi01 .sub_navi > ul > li, #footer .ft_navi01 > ul > li {
        text-align: center;
        margin-left: auto
    }

    #footer .ft_navi01 .sub_navi > ul > li > ul, #footer .ft_navi01 > ul > li > ul {
        margin-left: auto
    }

    #footer .ft_navi01 .sub_navi > ul > li > ul > li, #footer .ft_navi01 > ul > li > ul > li {
        width: 50%;
        margin-left: 0
    }

    #footer .ft_navi01 .sub_navi > ul > li > ul > li > a, #footer .ft_navi01 .sub_navi > ul > li > ul > li > span, #footer .ft_navi01 > ul > li > ul > li > a, #footer .ft_navi01 > ul > li > ul > li > span {
        margin-bottom: 0.5em
    }
}

#footer .ft_navi02 {
    overflow: hidden
}

#footer .ft_navi02 > ul {
    display: flex;
    flex-flow: row wrap;
    margin-left: -3em;
    position: relative
}

@media only screen and (max-width: 600px) {
    #footer .ft_navi02 > ul {
        justify-content: center
    }
}

#footer .ft_navi02 > ul > li {
    margin-left: 3em
}

#footer .ft_navi02 > ul > li > a, #footer .ft_navi02 > ul > li > span {
    font-size: 107.1%;
    margin-bottom: 1.25em;
    display: block;
    position: relative
}

#footer .ft_navi02 > ul > li > a:before, #footer .ft_navi02 > ul > li > span:before {
    content: "";
    width: 1px;
    height: 80%;
    position: absolute;
    left: -1.5em;
    top: 10%;
    line-height: 1em;
    display: block;
    background-color: #fff
}

@media only screen and (max-width: 1024px) {
    #footer .ft_navi02 > ul > li {
        margin-left: 2em
    }

    #footer .ft_navi02 > ul > li > a, #footer .ft_navi02 > ul > li > span {
        font-size: 100%
    }

    #footer .ft_navi02 > ul > li > a:before, #footer .ft_navi02 > ul > li > span:before {
        left: -1.0em
    }
}

@media only screen and (max-width: 850px) {
    #footer .ft_navi02 > ul > li {
        margin-left: 2em
    }

    #footer .ft_navi02 > ul > li > a, #footer .ft_navi02 > ul > li > span {
        font-size: 92.9%
    }

    #footer .ft_navi02 > ul > li > a:before, #footer .ft_navi02 > ul > li > span:before {
        left: -1.0em
    }
}

@media only screen and (max-width: 600px) {
    #footer .ft_navi02 > ul > li {
        margin-left: 2em
    }

    #footer .ft_navi02 > ul > li > a, #footer .ft_navi02 > ul > li > span {
        font-size: 85.7%
    }

    #footer .ft_navi02 > ul > li > a:before, #footer .ft_navi02 > ul > li > span:before {
        left: -1.0em
    }
}

#footer .ft_navi03 {
    overflow: hidden
}

#footer .ft_navi03 > ul {
    display: flex;
    flex-flow: row wrap;
    margin-left: -0.75em;
    position: relative
}

@media only screen and (max-width: 600px) {
    #footer .ft_navi03 > ul {
        margin-left: -0.3em;
        margin-right: -0.3em
    }
}

@media only screen and (max-width: 600px) {
    #footer .ft_navi03 > ul {
        justify-content: center
    }
}

#footer .ft_navi03 > ul > li {
    margin-left: 0.75em
}

#footer .ft_navi03 > ul > li > a, #footer .ft_navi03 > ul > li > span {
    font-size: 107.1%;
    margin-bottom: 1.25em;
    display: block;
    position: relative;
    padding: 0.5em 0.5em 0.2em;
    min-width: 11.35em;
    text-align: center
}

#footer .ft_navi03 > ul > li > a:hover, #footer .ft_navi03 > ul > li > span:hover {
    text-decoration: none
}

#footer .ft_navi03 > ul > li > a:before, #footer .ft_navi03 > ul > li > span:before {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    border: solid 1px #fff;
    opacity: 0.6
}

@media only screen and (max-width: 1024px) {
    #footer .ft_navi03 > ul > li {
        margin-left: 0.5em
    }

    #footer .ft_navi03 > ul > li > a, #footer .ft_navi03 > ul > li > span {
        font-size: 100%;
        padding: 0.4em 1.35em 0.225em
    }
}

@media only screen and (max-width: 850px) {
    #footer .ft_navi03 > ul > li > a, #footer .ft_navi03 > ul > li > span {
        font-size: 92.9%;
        padding: 0.3em 1.35em 0.15em
    }
}

@media only screen and (max-width: 600px) {
    #footer .ft_navi03 > ul > li {
        margin-left: 0;
        padding-left: 0.3em;
        padding-right: 0.3em;
        width: 50%
    }

    #footer .ft_navi03 > ul > li > a, #footer .ft_navi03 > ul > li > span {
        font-size: 85.7%;
        padding: 0.25em 1.0em 0.1em;
        border: solid 1px #fff;
        text-align: center;
        margin-bottom: 0.6em
    }

    #footer .ft_navi03 > ul > li > a:before, #footer .ft_navi03 > ul > li > span:before {
        display: none;
        opacity: 0
    }
}

@media only screen and (max-width: 768px) {
    #footer .copy {
        padding-top: 20px
    }
}

#footer .copy p {
    font-size: 85.7%;
    font-family: "Lato", "arial", sans-serif
}

@media only screen and (max-width: 600px) {
    #footer .copy p {
        text-align: center
    }
}

.ui-datepicker td a, .ui-datepicker td span {
    text-align: center
}

.ui-datepicker-week-end .ui-state-default {
    background-image: none;
    background-color: #b4ebfa
}

.ui-datepicker select.ui-datepicker-year {
    width: auto
}

.ui-datepicker select.ui-datepicker-month {
    width: auto;
    margin-left: 1em
}

.ui-state-disabled .ui-state-default {
    position: relative;
    opacity: 0.5
}

.ui-state-disabled .ui-state-default:before {
    position: absolute;
    left: 0;
    top: 0;
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.1)
}

div#calendar {
    margin-top: 5px
}

div#calendar table {
    width: 100%;
    line-height: 1;
    text-align: center
}

div#calendar td, div#calendar th {
    text-align: center;
    font-size: 100%
}

div#calendar table.cheader {
    border: 1px solid #ccc;
    border-bottom-style: none
}

div#calendar table.cheader td, div#calendar table.cheader th {
    background-color: #fff;
    padding-top: 0.6em;
    padding-bottom: 0.6em;
    font-weight: 600
}

div#calendar table.cbody {
}

div#calendar table.cbody td, div#calendar table.cbody th {
    background-color: #fff;
    padding-top: 0.8em;
    padding-bottom: 0.7em;
    border: 1px solid #ccc;
    text-align: center
}

div#calendar table.cbody th {
    background: #fff
}

div#calendar table.cbody td {
    width: 40px;
    padding: 0;
    position: relative
}

div#calendar table.cbody td a, div#calendar table.cbody td span {
    display: block;
    padding-top: 0.8em;
    padding-bottom: 0.7em;
    text-decoration: underline
}

div#calendar table.cbody td.non a, div#calendar table.cbody td.non span, div#calendar table.cbody td a.non, div#calendar table.cbody td span.non {
    background-color: #f0f0f0;
    color: #000000;
    text-decoration: none;
    border-bottom: 1px solid #ccc
}

div#calendar table.cbody td.non a:before, div#calendar table.cbody td.non span:before, div#calendar table.cbody td a.non:before, div#calendar table.cbody td span.non:before {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    content: "";
    display: block;
    z-index: 1
}

div#calendar td.csun {
}

div#calendar td.csat {
}

div#calendar td.ctodate {
}

div#calendar table.cbody td.invalid {
    background: #f0f0f0;
}

div#calendar a.validate_date {
    text-decoration: underline;
    color: #66c8ef;
}

div#calendar td.invalid a.invalid_date {
    text-decoration: none;
    color: #1B1E24;
}

div#calendar td.selected a.selected_date {
    background: #66c8ef;
    color: #FFFFFF;
}

.ui-datepicker td a, .ui-datepicker td span {
    text-align: center
}

.ui-datepicker-week-end .ui-state-default {
    background-image: none;
    background-color: #b4ebfa
}

.ui-datepicker select.ui-datepicker-year {
    width: auto
}

.ui-datepicker select.ui-datepicker-month {
    width: auto;
    margin-left: 1em
}

.slick-slider {
    position: relative;
    display: block;
    box-sizing: border-box;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -ms-touch-action: pan-y;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent
}

.slick-list {
    position: relative;
    overflow: hidden;
    display: block;
    margin: 0;
    padding: 0
}

.slick-list:focus {
    outline: none
}

.slick-list.dragging {
    cursor: pointer;
    cursor: hand
}

.slick-slider .slick-list, .slick-slider .slick-track {
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0)
}

.slick-track {
    position: relative;
    left: 0;
    top: 0;
    display: block;
    margin-left: auto;
    margin-right: auto
}

.slick-track:after {
    clear: both
}

.slick-loading .slick-track {
    visibility: hidden
}

.slick-slide {
    outline: none;
    float: left;
    height: 100%;
    min-height: 1px;
    display: none
}

[dir=rtl] .slick-slide {
    float: right
}

.slick-slide img {
    display: block
}

.slick-slide.slick-loading img {
    display: none
}

.slick-slide.dragging img {
    pointer-events: none
}

.slick-initialized .slick-slide {
    display: block
}

.slick-loading .slick-slide {
    visibility: hidden
}

.slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent
}

.slick-arrow.slick-hidden {
    display: none
}

/*! fancyBox v2.1.5 fancyapps.com | fancyapps.com/fancybox/#license */
.fancybox-image, .fancybox-inner, .fancybox-outer, .fancybox-skin, .fancybox-wrap {
    padding: 0;
    margin: 0;
    border: 0;
    outline: none;
    vertical-align: top
}

.fancybox-wrap iframe, .fancybox-wrap object {
    padding: 0;
    margin: 0;
    border: 0;
    outline: none;
    vertical-align: top
}

.fancybox-nav {
    padding: 0;
    margin: 0;
    border: 0;
    outline: none;
    vertical-align: top
}

.fancybox-nav span {
    padding: 0;
    margin: 0;
    border: 0;
    outline: none;
    vertical-align: top
}

.fancybox-tmp {
    padding: 0;
    margin: 0;
    border: 0;
    outline: none;
    vertical-align: top
}

.fancybox-wrap {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 8020
}

.fancybox-skin {
    position: relative;
    background: #f9f9f9;
    color: #444;
    text-shadow: none;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px
}

.fancybox-opened {
    z-index: 8030
}

.fancybox-opened .fancybox-skin {
    -webkit-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
    -moz-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5)
}

.fancybox-outer {
    position: relative
}

.fancybox-inner {
    position: relative;
    overflow: hidden
}

.fancybox-type-iframe .fancybox-inner {
    -webkit-overflow-scrolling: touch
}

.fancybox-error {
    color: #444;
    font: 14px/20px "Helvetica Neue", Helvetica, Arial, sans-serif;
    margin: 0;
    padding: 15px;
    white-space: nowrap
}

.fancybox-iframe, .fancybox-image {
    display: block;
    width: 100%;
    height: 100%
}

.fancybox-image {
    max-width: 100%;
    max-height: 100%
}

#fancybox-loading, .fancybox-close, .fancybox-next span, .fancybox-prev span {
    background-image: url("/room_reserve/media/images/common/fancybox_sprite.png")
}

#fancybox-loading {
    position: fixed;
    top: 50%;
    left: 50%;
    margin-top: -22px;
    margin-left: -22px;
    background-position: 0 -108px;
    opacity: 0.8;
    cursor: pointer;
    z-index: 8060
}

#fancybox-loading div {
    width: 44px;
    height: 44px;
    background: url("/room_reserve/media/images/common/fancybox_loading.gif") center center no-repeat
}

.fancybox-close {
    position: absolute;
    top: -18px;
    right: -18px;
    width: 36px;
    height: 36px;
    cursor: pointer;
    z-index: 10001
}

.fancybox-nav {
    position: absolute;
    top: 0;
    width: 40%;
    height: 100%;
    cursor: pointer;
    text-decoration: none;
    background: transparent url("/room_reserve/media/images/common/blank.gif");
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    z-index: 8040
}

.fancybox-prev {
    left: 0
}

.fancybox-next {
    right: 0
}

.fancybox-nav span {
    position: absolute;
    top: 50%;
    width: 36px;
    height: 34px;
    margin-top: -18px;
    cursor: pointer;
    z-index: 8040;
    visibility: hidden
}

.fancybox-prev span {
    left: 10px;
    background-position: 0 -36px
}

.fancybox-next span {
    right: 10px;
    background-position: 0 -72px
}

.fancybox-nav:hover span {
    visibility: visible
}

.fancybox-tmp {
    position: absolute;
    top: -99999px;
    left: -99999px;
    visibility: hidden;
    max-width: 99999px;
    max-height: 99999px;
    overflow: visible !important
}

.fancybox-lock {
    overflow: hidden !important;
    width: auto
}

.fancybox-lock body {
    overflow: hidden !important
}

.fancybox-lock-test {
    overflow-y: hidden !important
}

.fancybox-overlay {
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden;
    display: none;
    z-index: 8010;
    background: url("/room_reserve/media/images/common/fancybox_overlay.png")
}

.fancybox-overlay-fixed {
    position: fixed;
    bottom: 0;
    right: 0
}

.fancybox-lock .fancybox-overlay {
    overflow: auto;
    overflow-y: scroll
}

.fancybox-title {
    visibility: hidden;
    font: normal 13px/20px "Helvetica Neue", Helvetica, Arial, sans-serif;
    position: relative;
    text-shadow: none;
    z-index: 8050
}

.fancybox-opened .fancybox-title {
    visibility: visible
}

.fancybox-title-float-wrap {
    position: absolute;
    bottom: 0;
    right: 50%;
    margin-bottom: -35px;
    z-index: 8050;
    text-align: center
}

.fancybox-title-float-wrap .child {
    display: inline-block;
    margin-right: -100%;
    padding: 2px 20px;
    background: transparent;
    background: rgba(0, 0, 0, 0.8);
    -webkit-border-radius: 15px;
    -moz-border-radius: 15px;
    border-radius: 15px;
    text-shadow: 0 1px 2px #222;
    color: #FFF;
    font-weight: bold;
    line-height: 24px;
    white-space: nowrap
}

.fancybox-title-outside-wrap {
    position: relative;
    margin-top: 10px;
    color: #fff
}

.fancybox-title-inside-wrap {
    padding-top: 10px
}

.fancybox-title-over-wrap {
    position: absolute;
    bottom: 0;
    left: 0;
    color: #fff;
    padding: 10px;
    background: #000;
    background: rgba(0, 0, 0, 0.8)
}

@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min--moz-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5) {
    #fancybox-loading, .fancybox-close, .fancybox-next span, .fancybox-prev span {
        background-image: url("/room_reserve/media/images/common/fancybox_sprite@2x.png");
        background-size: 44px 152px
    }

    #fancybox-loading div {
        background-image: url("/room_reserve/media/images/common/fancybox_loading@2x.gif");
        background-size: 24px 24px
    }
}

@media print {
    .fancybox-wrap {
        position: absolute !important;
        width: 100% !important;
        height: 100% !important;
        top: 0 !important;
        left: 0 !important
    }

    .fancybox-skin {
        position: relative;
        width: 100% !important;
        height: 100% !important;
        top: 0 !important;
        left: 0 !important;
        background: #fff;
        border-radius: 0
    }

    .fancybox-inner {
        position: relative;
        overflow: hidden;
        width: 100% !important;
        height: 100% !important
    }

    .fancybox-iframe, .fancybox-image {
        display: block;
        width: auto;
        height: auto;
        max-width: 100%
    }

    .fancybox-image {
        max-width: 100%;
        max-height: 100%
    }

    #fancybox-loading, .fancybox-close, .fancybox-next span, .fancybox-prev span {
        display: none
    }

    .fancybox-close {
        display: none
    }
}

.modal_trigger {
    cursor: pointer
}

@media only screen and (max-width: 768px) {
    .modal_open {
        overflow: hidden;
        height: 100%
    }
}

.modal {
    background: rgba(0, 0, 0, 0.8);
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10000;
    overflow-y: auto;
    padding: 70px 20px 50px
}

@media only screen and (max-width: 768px) {
    .modal {
        padding: 40px 20px 0px
    }
}

@media only screen and (max-width: 480px) {
    .modal {
        padding: 40px 10px 0px
    }
}

.modal.inline {
    overflow-x: hidden
}

@media only screen and (max-width: 640px) {
    .modal.inline {
        overflow-y: scroll;
        height: 100%;
        -webkit-overflow-scrolling: touch
    }
}

.modal.inline .modal_wrap {
    max-height: 100%
}

.modal.inline .modal_wrap .modal_content {
    overflow-y: auto;
    height: 100%;
    -webkit-overflow-scrolling: touch
}

@media only screen and (max-width: 640px) {
    .modal.inline .modal_wrap .modal_content {
        padding: 0
    }
}

.modal.inline .modal_wrap .modal_content .modal_area {
    height: 100%
}

.modal .modal_body {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    min-height: 100%
}

.modal .modal_wrap {
    margin-left: auto;
    margin-right: auto;
    background-color: #fff;
    width: 100%;
    max-width: 690px;
    max-height: 489px;
    position: relative;
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    padding: 20px 20px 40px;
    margin-top: 50px;
    margin-bottom: 80px
}

.modal .modal_wrap.contact_modal {
    padding: 0
}

@media only screen and (max-width: 768px) {
    .modal .modal_wrap {
        max-width: 100%;
        border-radius: 10px;
        -webkit-border-radius: 10px;
        -moz-border-radius: 10px;
        padding: 15px 15px 40px
    }
}

@media only screen and (max-width: 480px) {
    .modal .modal_wrap {
        max-width: 100%;
        border-radius: 5px;
        -webkit-border-radius: 5px;
        -moz-border-radius: 5px
    }
}

.modal .modal_wrap .modal_content .modal_area .modal_close {
    width: 100%;
    text-align: right;
    position: absolute;
    right: 10px;
    top: -52px
}

.modal .modal_wrap .modal_content .modal_area .modal_close span {
    display: none
}

.modal .modal_wrap .modal_content .modal_area .modal_close img {
    cursor: pointer
}

.news_detail u {
    text-decoration: none;
}

.bread {
    color: #00a3e5;
    font-weight: 600;
    padding-bottom: 20px;
}