@charset "UTF-8";
/*大野追加分*/

.instagramLogo {
  text-align: center;
  margin-top: 50px;
}

#img_sns {
  margin-top: 30px;
  margin: 30px 10px 0px;
}
/*ここまで*/

/*home画面 Concept上方の予約ボタン*/

.homelink {
    text-align: center;
    margin-bottom: 50px;
}

.homelink a {
    border: 1px solid #707070;
    line-height: 1;
    display: inline-block;
    text-decoration: none;
    padding: 1.2em 1.8em;
    /*元々は1.2em 3em*/
    text-align: center;
    font-size: 1rem;
    /*元々は1.8rem*/
    box-sizing: border-box;
    min-width: 260px
}


/* モバイルレスポンシブ */

@media screen and (max-width:780px) {
  .booking_button a {
      display: block;
      background-color: #000;
      color: white;
      font-size: 14px;
      text-align: center;
      width: 100%;
      height: 20px;
      position: fixed;
      z-index: 10000;
      padding: 10px 10px 5px 10px;
    }
    #site-footer .cont1 {
        font-size: 11px;
    }
    .rooms {
        margin-bottom: 60px;
    }
    /* 追記2021.11.09 */
    .homelink {
        margin-bottom: 10px;
    }
    .homelink a {
        font-size: 11px;
    }
    .read-1 {
        font-size: 11px;
    }
    #site-wrapper,
    .section-1 {
        padding-top: 30px;
        /*  追記　2021.11.09 */
        font-size: 11px;
    }
    .section-1 .list-2 .link-1 a {
        font-size: 11px;
    }
    .section-1 .box-col1 .pic,
    .header-2 .visual {
        background-repeat: no-repeat;
        background-position: center;
        background-size: cover
    }
    #site-wrapper {
        background-color: #fff;
        position: relative;
        z-index: 1
    }
    .desktop {
        display: none
    }
    .inner-2 {
        margin-bottom: 1.2em
    }
    .inner-m {
        margin-left: 20px;
        margin-right: 20px
    }
    .section-2 {
        padding-top: 40px
    }
    .section-3 {
        padding-top: 30px
    }
    .header-1 .ttl-1 {
        margin: 80px 0
    }
    .header-1 .read {
        margin-top: 40px;
        text-align: center;
        font-size: 1.8rem
    }
    .header-1 .desc {
        margin-top: 37px
    }
    .header-1 .txt p {
        margin-top: 1.2em;
        text-align: center
    }
    .header-2 .visual {
        height: 560px;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-pack: center;
        justify-content: center;
        color: #fff
    }
    .anchor-1 div,
    .list-4,
    ul.link-3 li a {
        display: block
    }
    .header-2 .read {
        margin-top: 50px;
        text-align: center;
        font-size: 1.6rem
    }
    .header-2 .desc {
        margin-top: 40px
    }
    .header-3 {
        padding: 80px 0;
        border-bottom: 1px solid #EAEAEA
    }
    .header-3 .ttl-1 {
        margin-bottom: 0
    }
    .header-3 .anchor-1,
    .header-3 .desc {
        margin-top: 45px
    }
    .anchor-1 div {
        margin: 0
    }
    .anchor-1 div+div {
        margin-top: 1em
    }
    .cookies_policy {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }
    .cookies_policy p {
        width: 100%;
        margin-bottom: 1em
    }
    .accordion-1 dt {
        font-size: 1.7rem;
        padding-top: .8em;
        padding-bottom: .8em;
        padding-left: .5em
    }
    .accordion-1 dd {
        padding-left: .5em;
        padding-right: .5em
    }
    .list-4 li+li {
        margin-left: 0
    }
    .link-3 {
        margin-top: 50px;
        margin-bottom: 50px/*追加*/
    }
    .link-3 a {
        font-size: 11px;
    }
    .link-4 a {
        font-size: 13px;
    }
    ul.link-3 a,
    ul.link-3 input {
        padding: 1em .5em;
        min-width: initial;
    }
    .box-col1 .txt,
    .box-col2 .txt {
        padding: 25px 20px 20px/*25px 25px 0px*/
    }
    /* 追記 2021.11.09 */
    .box-col2 .txt .ttl-2 {
        font-size: 15px;
    }
    ul.link-3 li {
        width: calc(50% - 5px);
        margin: 0 0 0 5px
    }
    ul.link-3 li:first-child {
        margin: 0 5px 0 0
    }
    .ttl-1 {
        margin-bottom: 1em;
        font-size: 17px;
    }
    .ttl-2 {
        margin-bottom: 1em;
        font-size: 13px;
    }
    .ttl-4 {
        font-size: 2rem;
        margin-bottom: 1.3em
    }
    .box-col2 .txt .link-1 {
        margin-top: 1.5em;
        margin-bottom: 1.2em;
        /*追加*/
        text-align: left;
    }
    .box-col2 .txt .link-1 a {
        font-size: 11px;
    }
    .box-col2 .txt h3 {
        font-size: 15px;
    }
    .box-col2 .pic img {
        width: 100%
    }
    .box-col2+.box-col2 {
        margin-top: 50px/*50px*/
    }
    .box-col1 .pic {
        height: 280px
    }
    .box-col1 .slick-arrow {
        height: 280px;
        background-color: #fff
    }
    .box-col1 .slick-prev {
        background-image: url(../img/common/arrow-left.svg)
    }
    .box-col1 .slick-next {
        background-image: url(../img/common/arrow-right.svg)
    }
    .box-only-img .item+.item {
        margin-top: 1.2em
    }
    #site-header {
        height: 50px;
        width: 100%;
        z-index: 9999;
        transition: background-color .2s
    }
    .header-nav,
    .header-nav-lang {
        display: none
    }
    .header-logo {
        width: 50px;
        height: 50px;
        position: absolute;
        top: 0;
        left: 0;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-pack: center;
        justify-content: center;
        z-index: 20
    }
    .header-nav-book,
    .header-navbtn {
        position: absolute;
        height: 50px;
        -ms-flex-align: center;
        top: 0
    }
    .header-logo img {
        width: 34px
    }
    .header-nav-book {
        transition: .2s;
        right: 100px;
        width: 130px;
        background-color: #000;
        color: #fff;
        display: -ms-flexbox;
        display: flex;
        align-items: center;
        -ms-flex-pack: center;
        justify-content: center;
        line-height: 1;
        z-index: 55;
        font-size: 1.8rem
    }
    .book-open .header-nav-book {
        background-color: #EBFF00;
        color: #000
    }
    .header-navbtn {
        right: 0;
        width: 50px;
        display: -ms-flexbox;
        display: flex;
        align-items: center;
        -ms-flex-pack: center;
        justify-content: center;
        background-color: #fff;
        z-index: 50
    }
    .header-navbtn .lines {
        display: block;
        width: 30px;
        height: 12px;
        position: relative
    }
    .header-navbtn .lines::after,
    .header-navbtn .lines::before {
        transition: .2s;
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 1px;
        background-color: #000
    }
    .header-navbtn .lines::before {
        top: auto;
        bottom: 0
    }
    .mobile-nav {
        background-color: #464646;
        box-sizing: border-box;
        position: fixed;
        z-index: 30;
        top: 0;
        left: 0;
        border: 20px solid #EAEAEA;
        width: 100%;
        padding: 40px;
        color: #fff;
        height: 100%;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: center;
        align-items: center;
        opacity: 0;
        visibility: hidden
    }
    .mobile-nav a {
        color: #fff
    }
    .mobile-nav .item+.item {
        margin-top: calc(.5em + 2vh)
    }
    .mobile-nav .icon-window-blank-1:after {
        font-size: 1.2rem;
        vertical-align: 3px
    }
    .mobile-nav-main a,
    .mobile-nav-sub1 a {
        font-size: 1.8rem
    }
    .mobile-nav-in {
        width: 100%;
        margin-bottom: 3em
    }
    .mobile-nav-bottom {
        position: absolute;
        bottom: 50px;
        left: 40px;
        width: calc(100% - 80px)
    }
    .mobile-nav-main {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: justify;
        justify-content: space-between
    }
    .mobile-nav-main .box2 {
        margin-right: 2em
    }
    .mobile-nav-main .box3 {
        display: none
    }
    .mobile-nav-sub1,
    .mobile-nav-sub2,
    .mobile-nav-sub3 {
        margin-top: calc(2em + 3vh)
    }
    .mobile-nav-sub2 {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }
    .mobile-nav-sub2 .box {
        width: 65%
    }
    .mobile-nav-sub2 .box:nth-child(even) {
        width: 35%
    }
    .mobile-nav-sub2 a {
        font-size: 1.6rem;
        opacity: .7
    }
    .mobile-nav-sub3 {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-pack: justify;
        justify-content: space-between
    }
    .mobile-nav-sub3 a {
        font-size: 1.6rem
    }
    .mobile-nav-sub3 .insta a {
        font-size: 1.8rem
    }
    .navclose .mobile-nav {
        animation: fade-out .2s linear 0s forwards
    }
    .navopen .mobile-nav {
        animation: fade-in .2s linear 0s forwards
    }
    .navopen .header-navbtn .lines::after,
    .navopen .header-navbtn .lines::before {
        top: 50%
    }
    .navopen .header-navbtn .lines::before {
        transform: rotate(-30deg)
    }
    .navopen .header-navbtn .lines::after {
        transform: rotate(30deg)
    }
    .navopen .header-nav-book-btn {
        background-color: #EBFF00;
        color: #000
    }
    .navopen .header-logo-wrap {
        animation: fade-out .2s linear 0s forwards
    }
    .header-nav-book-btn {
        z-index: 2;
        background-color: #000;
        width: 100%;
        height: 100%;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: center;
        justify-content: center;
        -ms-flex-align: center;
        align-items: center
    }
    .header-nav-book-btn {
        font-size: 15px;
    }
    .header-nav-book-btn.show {
        background-color: #464646!important;
        color: #fff!important
    }
    .book-search {
        z-index: 1;
        top: 0;
        width: 100%;
        height: 100%;
        padding-top: 100px
    }
    .book-search-date dd::after {
        margin-top: 2px
    }
    .book-search-date input {
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        border-radius: 0;
        height: 40px;
        font-size: 1.6rem
    }
    html:lang(ja) .mobile-nav-main .box2 {
        margin-right: 0
    }
}

@media screen and (max-width:780px) and (min-width:400px) {
    .mobile-nav {
        -ms-flex-pack: center;
        justify-content: center
    }
    .mobile-nav-in {
        max-width: 360px
    }
}

@media screen and (max-width:780px) and (orientation:landscape) {
    .mobile-nav-in {
        max-width: initial
    }
    .mobile-nav-main>div {
        width: calc(100% / 3)
    }
    .mobile-nav-main .box2 {
        margin-right: 0
    }
    .mobile-nav-main .box3 {
        display: block
    }
    .mobile-nav-sub1 {
        display: none
    }
    .mobile-nav-sub2 {
        margin-top: 1em!important
    }
    .mobile-nav-sub2 .box {
        width: auto!important
    }
    .mobile-nav-sub2 .item {
        display: inline-block;
        margin-right: 2em
    }
    .mobile-nav-sub2 .item+.item {
        margin-top: 0
    }
}

@media screen and (max-width:780px) {
    #site-header.transparent .header-logo,
    #site-header.transparent::after,
    .ft-nav {
        display: none
    }
    #site-header.transparent {
        background-color: transparent
    }
    @keyframes fade-in {
        0% {
            visibility: hidden;
            opacity: 0
        }
        1% {
            visibility: visible;
            opacity: 0
        }
        100% {
            visibility: visible;
            opacity: 1
        }
    }
    @keyframes fade-out {
        0% {
            opacity: 1;
            visibility: visible
        }
        99% {
            opacity: 0;
            visibility: visible
        }
        100% {
            visibility: hidden;
            opacity: 0
        }
    }
    #site-footer {
        padding: 20px 20px 60px;
        position: relative
    }
    .ft-logo {
        margin-bottom: 50px
    }
    .ft-logo div:first-child {
        text-align: right;
        margin-bottom: 80px
    }
    .ft-logo .mark {
        width: 86px
    }
    .ft-logo .type-en {
        margin-left: 40px;
        width: 73px
    }
    .ft-logo .type-jp {
        width: 126px
    }
    .ft-subnav {
        margin-top: 1em
    }
    .ft-subnav div {
        display: inline-block
    }
    .ft-subnav div+div {
        margin-left: 1em
    }
    .ft-langcopy {
        margin-top: 50px;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
    .instagram,
    .instagram-none #site-footer {
        margin-top: 60px
    }
    .ft-copyright {
        font-size: 1.2rem
    }
    .ft-pagetop {
        position: absolute;
        top: 20px;
        right: 5px
    }
    .ft-pagetop a {
        display: block;
        padding: 0 10px
    }
    .instagram-wrap .item {
        height: calc(100vw / 2)!important
    }
    .instagram-info {
        background-color: #F4F4F4;
        padding: 25px 20px
    }
    .instagram-info p {
        margin-bottom: 1em
    }
    body.home .js-arrow-point {
        position: absolute;
        top: -49px;
        left: 0;
        width: 100px
    }
    body.home .ttl-1 {
        padding-top: 1em;
        /* border-top: 1px solid #EAEAEA */
    }
    body.home .section-1 {
        padding-top: 0
    }
    body.home #area .txt {
        padding-bottom: 40px
    }
    body.home #concept {
        padding: 20px 0 40px
    }
    body.home #concept .ttl-1 {
        border: none;
        padding-top: 0
    }
    body.home #concept p {
        text-align: center;
        margin-top: 1em
    }
    body.home .rooms_lounge {
        padding-top: 40px;
        display: block
    }
    body.home .rooms_lounge section {
        width: 100%
    }
    body.home .rooms_lounge .txt {
        padding: 20px 20px 40px
    }
    body.home .rooms_lounge .txt .ttl-1 {
        display: none
    }
    body.home .rooms_lounge .lounge .txt {
        background-color: #EEE
    }
    body.home #access .access-list+.link-3 {
        margin-top: 40px
    }
    body.home #access .accordion-1 dt::after {
        content: '';
        width: .8em;
        height: .8em;
        margin-top: -.4em;
        margin-right: 0
    }
    .access-map,
    .contact-btn,
    .contact-wrap {
        margin-top: 40px
    }
    .kv {
        position: relative
    }
    .kv .type-en {
        top: 30px;
        left: 30px
    }
    .kv .type-jp {
        left: 30px;
        width: auto;
        text-align: left
    }
    .kv .arrow {
        bottom: 20px
    }
    body.rooms .header-2 {
        margin-bottom: 50px
    }
    body.rooms .box-col2 .txt {
        padding: 0 0 25px
    }
    body.policy .header-3 {
        padding-bottom: 50px
    }
    body.policy .policy-tbl table {
        border-bottom: 1px solid #EAEAEA
    }
    body.policy .policy-tbl table td,
    body.policy .policy-tbl table th,
    body.policy .policy-tbl table tr {
        display: block;
        border-bottom: 0
    }
    body.faq .header-3 {
        padding-bottom: 30px
    }
    body.faq .accordion-1 dt {
        padding-right: .5em;
        padding-bottom: 4em
    }
    body.faq .accordion-1 dt::after {
        top: auto;
        bottom: 1.5em;
        left: 50%;
        margin-left: -.5em
    }
    body.faq .accordion-1 dt.open::after {
        transform: translateY(0) rotate(45deg)
    }
    body.faq .accordion-1 dd {
        text-align: justify
    }
    .pagination,
    article.post .post-eyechatch {
        text-align: center
    }
    .contact-btn {
        padding-top: 40px
    }
    .access-map {
        padding-top: 100%
    }
    .access-data,
    .access-data dl+dl {
        margin-top: 1em
    }
    .access-list,
    article.post+.post {
        margin-top: 50px
    }
    body.news .header-3 {
        padding-bottom: 50px
    }
    article.post .post-eyechatch img {
        width: 60%
    }
    article.post .post-box {
        margin-top: 2em
    }
    .pagination {
        margin-top: 50px
    }
    .news-toplist .item {
        width: 300px!important;
        margin: 0 6px
    }
    body.teaser {
        padding: 20px
    }
    body.teaser .type-en {
        width: 70px
    }
    body.teaser .yoyaku a+a {
        margin-top: 10px
    }
    body.teaser .box-2 dl dd {
        margin-left: 2em
    }
    body.teaser .box-2 dl+dl {
        margin-top: .5em
    }
    body.teaser .box-2 .tel {
        margin-left: 1em
    }
    body.teaser .box-2.contact p+p {
        margin-top: 1em
    }
}

@media screen and (min-width:781px) {
    #site-footer a,
    .accordion-1 dt,
    .accordion-1 dt::after,
    .anchor-1 a,
    .anchor-1 a::after,
    .cookies_policy button,
    .ft-pagetop,
    .global-nav-item a,
    .header-nav-book-btn,
    .header-nav-lang a,
    .instagram-info a,
    .link-1 a,
    .link-2 a,
    .link-2 input,
    .link-3 a,
    .link-4 a,
    .homelink a,
    .link-3 input,
    .link-4 input,
    .link-txt a,
    .news-header-nav a,
    .slick-arrow {
        transition: .2s
    }
    #site-footer a:hover,
    .global-nav-item a:hover,
    .header-nav-lang a:hover,
    .instagram-info a:hover,
    .link-1 a:hover,
    .link-txt a:hover,
    .news-header-nav a:hover {
        color: #000
    }
    .link-2 a:hover,
    .link-3 a:hover,
    .link-4 a:hover {
        background-color: #707070;
        color: #fff
    }
    .homelink a:hover {
        background-color: #707070;
        color: #fff
    }
    .link-2 input:hover,
    .link-3 input:hover,
    .link-4 input:hover {
        background-color: #000;
        color: #fff
    }
    .cookies_policy button:hover {
        background-color: #707070;
        color: #fff
    }
    .accordion-1 dt:hover,
    .anchor-1 a:hover {
        color: #000
    }
    .header-nav-book-btn:hover {
        background-color: #EBFF00;
        color: #000
    }
    .ft-pagetop:hover,
    .slick-arrow:hover {
        opacity: .5
    }
    .accordion-1 dt:hover::after {
        border-color: #000
    }
    .anchor-1 a:hover::after {
        background-color: #000
    }
    .box-col2 {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row-reverse;
        flex-direction: row-reverse
    }
    .box-col2 .item {
        width: 50%
    }
    .box-col2 .txt {
        padding-right: 40px
    }
    .box-col2 .txt .link-1 {
        margin-top: 1.5em;
        text-align: left
    }
    .box-col2 .pic img {
        width: 100%
    }
    .box-col2+.box-col2 {
        margin-top: 50px
    }
    .box-col1 .txt,
    .box-only-img .item+.item {
        margin-top: 1.2em
    }
    .accordion-1 .box-col2 {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row-reverse;
        flex-direction: row-reverse
    }
    .accordion-1 .box-col2 .txt {
        width: calc(100% - 480px)
    }
    .accordion-1 .box-col2 .pic {
        width: 480px
    }
    .accordion-1 .box-col2 .pic .slide-single-item {
        width: 480px;
        height: 200px
    }
    .box-col1 .pic {
        background-repeat: no-repeat;
        background-position: center;
        background-size: cover;
        height: 480px
    }
    .box-col1 .slick-arrow {
        height: 480px
    }
    body {
        overflow-x: hidden
    }
    a[href^="tel:"] {
        pointer-events: none;
        text-decoration: none
    }
    #site-wrapper {
        padding-top: 80px;
        background-color: #fff;
        position: relative;
        z-index: 1
    }
    .mobile {
        display: none
    }
    .inner-1 {
        max-width: 960px;
        margin-left: auto;
        margin-right: auto
    }
}

@media screen and (min-width:781px) and (max-width:1020px) {
    .inner-1:not(.fit) {
        margin-left: 40px;
        margin-right: 40px
    }
}

@media screen and (min-width:781px) {
    .inner-2,
    .inner-3 {
        margin-left: auto;
        margin-right: auto
    }
    .inner-2 {
        max-width: 600px;
        margin-bottom: 50px
    }
    .inner-3 {
        max-width: 720px
    }
}

@media screen and (min-width:781px) and (max-width:800px) {
    .inner-3 {
        margin-left: 40px;
        margin-right: 40px
    }
}

@media screen and (min-width:781px) and (min-width:960px) {
    body.rooms .accordion-1 .pic {
        min-height: 320px
    }
}

@media screen and (min-width:781px) {
    .header-1 .read,
    .header-2 .read {
        font-size: 1.8rem;
        text-align: center
    }
    .section-1 {
        padding-top: 100px;
    }
    .section-2 {
        padding-top: 80px
    }
    .section-3 {
        padding-top: 50px
    }
    .header-1 {
        margin-top: 80px
    }
    .header-1 .visual img {
        width: 100%
    }
    .header-1 .read {
        margin-top: 50px
    }
    .header-1 .desc {
        margin-top: 45px
    }
    .header-1 .txt p {
        margin-top: 1.2em;
        text-align: center
    }
    .header-2 .visual {
        background-repeat: no-repeat;
        background-position: center;
        background-size: cover;
        height: 640px;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: center;
        align-items: center;
        color: #fff
    }
    .header-2 .read {
        margin-top: 50px
    }
    .ft-adr p,
    .ft-nav {
        line-height: 2;
        font-size: 1.5rem
    }
    .header-2 .desc {
        margin-top: 45px
    }
    .header-3 {
        margin-top: 80px;
        padding-bottom: 50px;
        border-bottom: 1px solid #EAEAEA
    }
    .header-3 .ttl-1 {
        margin-bottom: 0
    }
    .header-3 .anchor-1,
    .header-3 .desc {
        margin-top: 45px
    }
    #site-footer {
        padding: 50px 100px 100px 60px;
        position: relative
    }
    .ft-logo {
        margin-bottom: 3em
    }
    .ft-cont {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: justify;
        justify-content: space-between
    }
    .ft-cont+.ft-cont {
        margin-top: 2em
    }
    .ft-cont .cont1 {
        width: 400px
    }
    .ft-cont .cont2 {
        width: 320px
    }
    .ft-subnav div {
        display: inline-block
    }
    .ft-subnav div+div {
        margin-left: 1em
    }
    .ft-nav {
        display: -ms-flexbox;
        display: flex
    }
    .ft-nav>div+div {
        margin-left: 4em
    }
    html[lang=ja] .ft-cont .cont2 {
        width: 450px
    }
    .ft-copyright {
        font-size: 1.2rem;
        margin-top: 1em
    }
    .instagram,
    .instagram-none #site-footer {
        margin-top: 100px
    }
    .ft-pagetop {
        position: absolute;
        top: 50px;
        right: 20px
    }
    .ft-pagetop a {
        display: block;
        padding: 0 20px
    }
    .instagram {
        height: 320px
    }
    .instagram-wrap .item {
        width: 320px!important;
        height: 320px!important
    }
    .instagram-info {
        position: absolute;
        top: 10px;
        left: 50%;
        width: 300px;
        height: 300px;
        background-color: #fff;
        margin-left: -470px;
        padding: 2em
    }
    .instagram-info a {
        position: absolute;
        bottom: 2em;
        left: 2em
    }
    body.home #site-wrapper {
        top: 100vh
    }
    body.home .js-arrow-point {
        position: absolute;
        top: -79px;
        left: 0;
        width: 100px
    }
    body.home #concept {
        padding-top: 0
    }
    body.home #concept p {
        text-align: center;
        margin-top: 2em
    }
    body.home .rooms_lounge h2.ttl-1 {
        display: none
    }
    body.rooms .header-2 {
        margin-bottom: 50px
    }
    .access-data,
    .access-list,
    .access-map,
    .contact-wrap {
        margin-top: 50px
    }
    .access-data .address,
    .access-data .contact,
    body.teaser .box-2 dl dt {
        white-space: nowrap
    }
    body.faq .header-3 {
        padding-bottom: 0
    }
    body.faq .accordion-1 dt {
        display: -ms-flexbox;
        display: flex
    }
    body.faq .accordion-1 dt span {
        width: 90px
    }
    body.faq .accordion-1 dt p {
        width: calc(100% - 90px)
    }
    body.faq .accordion-1 dd {
        padding-left: 90px;
        padding-right: 6em
    }
    .contact-wrap dl {
        display: table;
        width: 100%
    }
    .contact-wrap dl dd,
    .contact-wrap dl dt {
        display: table-cell
    }
    .contact-wrap dl dt {
        width: 160px;
        padding-top: .5em
    }
    .access-map {
        padding-top: 50%
    }
    .access-data {
        display: -ms-flexbox;
        display: flex;
        margin-right: 40px
    }
    .access-data dl+dl {
        margin-left: 4em
    }
    .access-list .accordion-1 dd {
        padding-right: 6em
    }
    article.post {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: justify;
        justify-content: space-between
    }
    article.post+.post {
        margin-top: 80px
    }
    article.post .post-eyechatch {
        width: 25%;
        margin-top: .5em
    }
    article.post .post-box {
        width: 66.666%
    }
    .pagination {
        margin-top: 80px;
        text-align: right
    }
    .news-toplist .item {
        width: 300px;
        margin: 0 15px
    }
    body.teaser {
        padding: 30px
    }
    body.teaser a[href^="tel:"] {
        pointer-events: none;
        text-decoration: none
    }
    body.teaser .yoyaku nav {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }
    body.teaser .yoyaku .col1 a,
    body.teaser .yoyaku .col1 span {
        width: 100%
    }
    body.teaser .yoyaku a {
        width: 31%;
        transition: .2s
    }
    body.teaser .yoyaku a:hover {
        background-color: #575757
    }
    body.teaser .yoyaku a.bestrate:hover {
        background-color: #ffffa4
    }
    body.teaser .box-2 dl {
        display: table
    }
    body.teaser .box-2 dl dd,
    body.teaser .box-2 dl dt {
        display: table-cell
    }
    body.teaser .box-2 dl+dl {
        margin-top: .2em
    }
    body.teaser .box-2.contact p+p {
        margin-top: 0em
    }
}
/*--------------------------------
202308追加
---------------------------------*/
@media print {.no-print {display:none;}}
.marginauto{margin:0 auto!important;}
.margin0auto{margin:0;}
@media screen and (max-width: 768px) {.margin0auto{margin:0 auto;}}

@media screen and (max-width: 650px) {.br_650 { display:none; }}
@media screen and (max-width: 550px) {.br_550 { display:none; }}
/* 768px以下は改行しない 大きいタブレット縦は改行*/
@media screen and (max-width: 880px) {.br_880 { display:none; }}
@media screen and (max-width: 768px) {.br-768 { display:none!important; }}
@media screen and (max-width: 750px) {.br-750 { display:none; }}
@media screen and (max-width: 700px) {.br-700 { display:none; }}
@media screen and (max-width: 600px) {.br-600 { display:none; }}


@media screen and (min-width: 960px) {.br960 { display: none;}}
@media screen and (min-width: 768px) {.br768 { display: none;}}
@media screen and (min-width: 750px) {.br750 { display: none;}}
@media screen and (min-width: 700px) {.br700 { display: none;}}
@media screen and (min-width: 650px) {.br650 { display: none;}}
@media screen and (min-width: 600px) {.br600 { display: none;}}
@media screen and (min-width: 550px) {.br550 { display: none;}}
@media screen and (min-width: 481px) {.br480 { display: none;}}
@media screen and (min-width: 461px) {.br460 { display: none;}}
@media screen and (min-width: 430px) {.br430 { display: none;}}
@media screen and (min-width: 415px) {.br415 { display: none;}}
@media screen and (min-width: 400px) {.br400 { display: none;}}
@media screen and (min-width: 376px) {.br375 { display: none;}}
@media screen and (min-width: 351px) {.br350 { display: none;}}
@media screen and (min-width: 321px) {.br320 { display: none;}}

/*--------------------------------
画像の切り替え（スマホとPC)
---------------------------------*/

/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc768 { display: block !important; }
.sp768 { display: none !important; }
/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 768px) {
.pc768 { display: none !important; }
.sp768 { display: block !important; }
}

/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc750 { display:block !important; }
.sp750 { display: none !important; }
/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 750px) {
.pc750 { display: none !important; }
.sp750 { display: block !important; }
}
/*--------------------------------
幅
---------------------------------*/
.post90all{width: 90%; margin: 0 auto; padding: 0;}
.post90_900{width:90%; margin:0 auto; max-width:900px;}
.post90_800{width:90%; margin:0 auto; max-width:800px;}
.post90_740{width:90%; margin:0 auto; max-width:740px;}
.post90_700{width:90%; margin:0 auto; max-width:700px;}
.post90_600{width:90%; margin:0 auto; max-width:600px;}
.post90_500{width:90%; margin:0 auto; max-width:500px;}
.post90_400{width:90%; margin:0 auto; max-width:400px;}

.width900{width:100%; max-width:900px; margin:0 auto; padding:0;}
.width850{width:100%; max-width:850px; margin:0 auto; padding:0;}
.width800{width:100%; max-width:800px; margin:0 auto; padding:0;}
.width700{width:100%; max-width:700px; margin:0 auto; padding:0;}
.width600{width:100%; max-width:600px; margin:0 auto; padding:0;}
.width500{width:100%; max-width:500px; margin:0 auto; padding:0;}
/*--------------------------------
スペース
---------------------------------*/
.mt5p{margin-top:5px!important;}
.mt6p{margin-top:6px!important;}
.mt10{margin-top:10px!important;}
.mt15{margin-top:15px!important;}
.mt20{margin-top:20px!important;}
.mt30{margin-top:30px!important;}
.mt30_750{margin-top:30px!important;}
.mt40{margin-top:40px!important;}
.mt50{margin-top:50px!important;}
.mt60{margin-top:60px!important;}
.mt70{margin-top:70px!important;}
.mt80{margin-top:80px!important;}
.mt90{margin-top:90px!important;}
.mt100{margin-top:100px!important;}
.mt-10{margin-top:-10px!important;}
.mt-20{margin-top:-20px!important;}
.mt-30{margin-top:-30px!important;}
.mt-40{margin-top:-40px!important;}
.mt-50{margin-top:-50px!important;}
.mb10{margin-bottom:10px!important;}
.mb20{margin-bottom:20px!important;}
.mb30{margin-bottom:30px!important;}
.mb40{margin-bottom:40px!important;}
.mb50{margin-bottom:50px!important;}
.mb60{margin-bottom:60px!important;}
.mb70{margin-bottom:70px!important;}
.mb80{margin-bottom:80px!important;}
.mb90{margin-bottom:90px!important;}
.mb100{margin-bottom:100px!important;}
.pt10{padding-top:10px!important;}
.pt15{padding-top:15px!important;}
.pt20{padding-top:20px!important;}
.pt30{padding-top:30px!important;}
.pt40{padding-top:40px!important;}
.pt50{padding-top:50px!important;}
.pt60{padding-top:60px!important;}
.pt70{padding-top:70px!important;}
.pt80{padding-top:80px!important;}
.pt90{padding-top:90px!important;}
.pt100{padding-top:100px!important;}
.pr-10{padding-right:-10px!important;}
.pr5{padding-right:5px!important;}
.pr1em{padding-right:1em!important;}
.pr2em{padding-right:2em!important;}
.pr3em{padding-right:3em!important;}
.pr10{padding-right:10px!important;}
.pr20{padding-right:20px!important;}
.pr30{padding-right:30px!important;}
.pr40{padding-right:40px!important;}
.pr50{padding-right:50px!important;}
.pl1em{padding-left:1em!important;}
.pl5{padding-left:5px!important;}
.pl-10{padding-left:-10px!important;}
.pl10{padding-left:10px!important;}
.pl15{padding-left:15px!important;}
.pl20{padding-left:20px!important;}
.pl30{padding-left:30px!important;}
.pl40{padding-left:40px!important;}
.pl50{padding-left:50px!important;}
.pl60{padding-left:60px!important;}
.pb5{padding-bottom:5px!important;}
.pb10{padding-bottom:10px!important;}
.pb15{padding-bottom:15px!important;}
.pb20{padding-bottom:20px!important;}
.pb30{padding-bottom:30px!important;}
.pb40{padding-bottom:40px!important;}
.pb50{padding-bottom:50px!important;}
.pb60{padding-bottom:60px!important;}
.pb70{padding-bottom:70px!important;}
.pb80{padding-bottom:80px!important;}
.pb100{padding-bottom:100px!important;}
.pb120{padding-bottom:120px!important;}

.mt50_30{margin-top:50px!important;}
@media screen and (max-width: 768px) {.mt50_30{margin-top:30px!important;}}
.mt30_20{margin-top:30px!important;}
@media screen and (max-width: 768px) {.mt30_20{margin-top:20px!important;}}
.mt40_20{margin-top:40px!important;}
@media screen and (max-width: 768px) {.mt40_20{margin-top:20px!important;}}
.mt100_50{margin-top:100px!important;}
@media screen and (max-width: 768px) {.mt100_50{margin-top:50px!important;}}
.mt100_40{margin-top:100px!important;}
@media screen and (max-width: 768px) {.mt100_40{margin-top:40px!important;}}
.mt80_40{margin-top:80px!important;}
@media screen and (max-width: 768px) {.mt80_40{margin-top:40px!important;}}

.center {text-align: center!important; padding-bottom: 0; float:none!important;}
.center_from768{text-align: left!important;}
.left_from780{text-align: center!important;}
.left_from550{text-align: center!important;}
.left_from480{text-align: center!important;}
@media screen and (max-width: 768px) {.center_from768{text-align: center!important;}}
@media screen and (max-width: 780px) {.left_from780{text-align: left!important;}}
@media screen and (max-width: 550px) {.left_from550{text-align: left!important;}}
@media screen and (max-width: 480px) {.left_from480{text-align: left!important;}}

/*--------------------------------
背景色
---------------------------------*/
.beigeback{background:#f8f8f3; width:100%; margin:0 auto; padding:0;}
.grayback{background:#f6f5f4; width:100%; margin:0 auto; padding:0;}
.whiteback{background:#ffffff; width:100%; margin:0 auto; padding:0;}

/*--------------------------------
文字の色
---------------------------------*/
.redmoji{color: #964a2c!important;}
.vividredmoji{color: #a13200!important;}

/*--------------------------------
文字の太さ
---------------------------------*/
.bold{font-weight: 900!important;}

/*--------------------------------
flex
---------------------------------*/
.flex_takasa{
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	flex-wrap:wrap;
}

.flex_center{
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}

.flex_center_hasi{
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
}

.flex_center_center{
	display: flex;
	justify-content: space-around;
	align-items: center;
	flex-wrap: wrap;
}

.flex_top{
	display: flex;
	justify-content: center;
	align-items: flex-start;
	flex-wrap:wrap;
}

.flex_top_hasi{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap:wrap;
}

.flex_top_center{
	display: flex;
	justify-content: space-around;
	align-items: flex-start;
	flex-wrap:wrap;
}

.flex_end{
	display: flex;
	justify-content: center;
	align-items: flex-end;
	flex-wrap:wrap;
}

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

.flex_end_hasi{
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	flex-wrap:wrap;
}

.row-gap20{row-gap:20px;}
.row-gap30{row-gap:30px;}
.row-gap40{row-gap:40px;}
.mt0_30_600{margin-top:0!important;}
@media screen and (max-width: 600px) {.mt0_30_600{margin-top:30px!important;}}
.mt0_20_768{margin-top:0!important;}
@media screen and (max-width: 768px) {.mt0_20_768{margin-top:20px!important;}}
.mt0_30_768{margin-top:0!important;}
@media screen and (max-width: 768px) {.mt0_30_768{margin-top:30px!important;}}
.mt0_40_768{margin-top:0!important;}
@media screen and (max-width: 768px) {.mt0_40_768{margin-top:40px!important;}}
.mt0_50_768{margin-top:0!important;}
@media screen and (max-width: 768px) {.mt0_50_768{margin-top:50px!important;}}
/*--------------------------------
幅調整
---------------------------------*/
.width100{width:100%;}

.width10_768{width:10%; padding:0; margin:0;}
.width10_768_100{width:10%; padding:0; margin:0;}
.width15_768{width:15%; padding:0; margin:0;}
.width20_768{width:20%; padding:0; margin:0;}
.width25_768{width:25%; padding:0; margin:0 auto;}
.width30_768{width:30%; padding:0; margin:0;}
.width35_768{width:35%; padding:0; margin:0;}
.width35_768_100{width:35%; padding:0; margin:0;}
.width40_768{width:40%; padding:0; margin:0;}
.width40_768_100{width:40%; padding:0; margin:0;}
.width43_768{width:43%; padding:0; margin:0;}
.width45_768{width:45%; padding:0; margin:0;}
.width45_768_100{width:45%; padding:0; margin:0;}
.width46_768{width:46%; padding:0; margin:0;}
.width47_768{width:47%; padding:0; margin:0;}
.width47_768_100{width:47%; padding:0; margin:0;}
.width50_768{width:50%; padding:0; margin:0;}
.width50_768_100{width:50%; padding:0; margin:0;}
.width55_768{width:55%; padding:0; margin:0;}
.width55_768_100{width:55%; padding:0; margin:0;}
.width55_768_85{width:55%; padding:0; margin:0;}
.width60_768{width:60%; padding:0; margin:0;}
.width60_768_100{width:60%; padding:0; margin:0;}
.width65_768{width:65%; padding:0; margin:0;}
.width70_768{width:70%; padding:0; margin:0;}
.width80_768{width:80%; padding:0; margin:0;}
.width80_768_100{width:80%; padding:0; margin:0;}
.width85_768{width:85%; padding:0; margin:0;}
.width90_768{width:90%; padding:0; margin:0;}
.width90_768_100{width:90%; padding:0; margin:0;}
@media screen and (max-width: 768px) {
	.width10_768{width:90%; padding:0; margin:0 auto;}
	.width10_768_100{width:100%; padding:0; margin:0 auto;}
	.width15_768{width:90%; padding:0; margin:0 auto;}
	.width20_768{width:90%; padding:0; margin:0 auto;}
	.width25_768{width:90%; padding:0; margin:0 auto;}
	.width30_768{width:90%; padding:0; margin:0 auto;}
	.width35_768{width:90%; padding:0; margin:0 auto;}
    .width35_768_100{width:100%; padding:0; margin:0 auto;}
	.width40_768{width:90%; margin:0 auto;}
	.width40_768_100{width:98%; margin:0 auto;}
	.width43_768{width:90%; margin:0 auto;}
	.width45_768{width:90%; margin:0 auto;}
	.width45_768_100{width:98%; margin:0 auto;}
    .width46_768{width:90%; margin:0 auto;}
	.width47_768{width:90%; margin:0 auto;}
	.width47_768_100{width:98%; margin:0 auto;}
	.width50_768{width:90%; margin:0 auto;}
	.width50_768_100{width:98%; margin:0 auto;}
	.width55_768{width:90%; margin:0 auto;}
	.width55_768_85{width:85%; margin:0 auto;}
	.width55_768_100{width:98%; margin:0 auto;}
	.width60_768{width:90%; margin:0 auto;}
    .width60_768_100{width:100%; margin:0 auto;}
	.width65_768{width:90%; margin:0 auto;}
	.width70_768{width:90%; padding:0; margin:0 auto;}
	.width80_768{width:90%; padding:0; margin:0 auto;}
	.width85_768{width:90%; padding:0; margin:0 auto;}
	.width80_768_100{width:100%; padding:0; margin:0 auto;}
	.width90_768{width:90%; padding:0; margin:0 auto;;}
	.width90_768_100{width:100%; padding:0; margin:0 auto;}}

.width2{width:100%; padding:0; margin:20px 0 0 0;}
@media screen and (max-width: 768px) {.width2{width:48%; padding:0; margin:10px 0 0 0;}}

.lh10{line-height:1em!important;}
.lh12{line-height:1.2em!important;}
.lh15{line-height:1.5em!important;}
.lh16{line-height:1.6em!important;}
.lh17{line-height:1.7em!important;}
.lh18{line-height:1.8em!important;}
.lh19{line-height:1.9em!important;}
.lh20{line-height:2em!important;}

.textindent{padding-left:1em; text-indent:-1em;}
.center {text-align: center!important; padding-bottom: 0; }
/*--------------------------------
茶室ニゴウ
---------------------------------*/
.ttl-nigou {
    font-size: 2.4rem;
    text-align: center;
}
.ttl-nigou span.big{font-size: 1.2em; line-height: 1.5em;}
@media screen and (max-width:780px) {.ttl-nigou{font-size: 18px;}}
@media screen and (max-width:480px) {.ttl-nigou{font-size: 17px;}}

h2.ttl-nigou_sub {
    font-size: 2.6rem;
    text-align: center;
    margin: 0;
    padding: 0;
    line-height: 1.5em;
}
@media screen and (max-width:780px) {h2.ttl-nigou_sub {font-size: 2.0rem;}}
h2.ttl-nigou_sub span{
    font-size: 0.7em;
    line-height: 1em;
    display: block;
}

.ttl-nigou_border {
    font-size: 2.3rem;
    text-align: center;
    position: relative;
    padding: 0 0 0.5rem;
    margin-bottom: 0.5rem;
}
@media screen and (max-width:780px) {.ttl-nigou_border{font-size: 18px;}}
@media screen and (max-width:480px) {.ttl-nigou_border{font-size: 18px;}}
.ttl-nigou_border::before {
    position: absolute;
    border-bottom: 1px solid #a13200;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    width: 80%;
    max-width: 250px;
    content: '';
}

.ttl-nigou_border span.mini{
    font-size: 0.5rem;}

.big{font-size: 1.7rem;}
@media screen and (max-width:780px) {.big{font-size: 14px;}}
.mini{font-size: 1.4rem;}
@media screen and (max-width:780px) {.mini{font-size: 13px;}}
.minimini{font-size: 1.2rem;}
@media screen and (max-width:780px) {.mini{font-size: 12px;}}

.section-4{padding-top: 60px;}
@media screen and (max-width:780px) {.section-4{padding-top: 40px;}}

h3.nigou_menu{
    font-size: 2.0rem;
    margin: 0;
    padding: 0;
    line-height: 1.5em;
}
h3.nigou_menu span{
    font-size: 0.5em;
    padding-left: 0.5em;
}
.redborder{border-bottom: 1px solid #964a2c;}
.grayborder{border-bottom: 1px solid #707070;}
@media screen and (max-width:960px) {h3.nigou_menu{font-size: 2.0rem;}}
@media screen and (max-width:550px) {h3.nigou_menu{font-size: 1.8rem;}}

h4.menu_point {
    position: relative;
    display: inline-block;
    padding: 0 55px;
    color:#964a2c;
    font-size: 1.6rem;
}
h4.menu_point:before,
h4.menu_point:after {
    content: '';
    position: absolute;
    top: 50%;
    display: inline-block;
    width: 50px;
    height: 1px;
    background-color: #964a2c;
}
h4.menu_point:before {
    left: 0;
}
h4.menu_point:after {
    right: 0;
}
@media screen and (max-width:768px) {
    h4.menu_point:before,
h4.menu_point:after {
    height: 0.5px;
}}

.menu_pointbox{
    border: 1px solid #964a2c;
    width: 100%;
}

.drink_l{width:  calc(100% - 5em);}
.drink_r{width:  5em; text-align: right;}

.drink_l_long{width:  calc(100% - 10em);}
.drink_r_long{width:  10em; text-align: right;}

.width3{
    width: 32%;
    margin :0;
    padding: 0;
}
@media screen and (max-width:768px) {.width3{width: 48.5%;}}

.charter{
    border: double 5px #964a2c;
    padding: 30px 10px;
    margin: 0 auto;
}

div iframe{
	position:relative;
	overflow:hidden;
    display: block;
    width: 100%;
}

.Igbox{
    width: 100%;
    max-width: 300px;
    margin: 0;
    padding: 0;
}
@media screen and (max-width:768px) {.Igbox{max-width: 700px;}}

.banner50{
	width:46%;
	margin:0;
	padding:0;
    box-sizing: border-box;
}

@media screen and (max-width: 750px) {
.banner50{
	width:100%;
	margin:10px auto 20px;
	padding:0;
}
.banner50:last-child{margin:10px auto 0;}}

.banner50_twin{
	width:50%;
	margin:0;
	padding:0;
    box-sizing: border-box;
}

@media screen and (max-width: 750px) {
.banner50_twin{
	width:100%;
	margin:0;
	padding:0;
}
.banner50_twin:last-child{margin:30px auto 0;}}

/*大*/
#button_bigmenu {
    display: block;
      width: 85%;
      max-width:300px;
      height: 70px;
      font-size:1.8rem;
      font-weight:normal;
      text-align: center;
      text-decoration: none;
      line-height: 70px;
      outline: none;
      float:none;
      margin:0;
      padding:0 20px;
      position:relative;
  }
  
  @media screen and (max-width:780px) {
      #button_bigmenu {
          min-width:220px;
          height: 70px;
          line-height: 70px;
          font-size:1.6em;
      }
  }

#button_news {
    display: block;
    width: 250px;
    height: 50px;
    text-align: center;
    text-decoration: none;
    line-height: 50px;
    outline: none; 
    font-size:1.6rem; 
  }
#button_news::before,
#button_news::after {
    position: absolute;
    z-index: -1;
    display: block;
    content: '';
  }
#button_news,
#button_news::before,
#button_news::after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: all .3s;
    transition: all .3s;
  }
  
  
.black{background-color: #000; border: 2px solid #000; color: #fff; font-weight:bold;}
.black:hover {background-color: #fff; border-color: #000; color: #000!important;}

.red {background-color: #964a2c; border: 2px solid #964a2c; color: #fff;}
.red:hover {background-color: #fff; border-color: #964a2c; color: #964a2c;}

.linegreen {background-color: #00B900; border: 2px solid #00B900!important; color: #fff;}
.linegreen:hover {background-color: #fff; border-color: #00B900; color: #00B900;}


@media screen and (max-width:1400px) {
.header-nav-main-en {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: start;
    padding-left: 70px;
}}

@media screen and (min-width:781px) {
    .inner-4{
        margin-left: auto;
        margin-right: auto
    }
    .inner-4 {
        max-width: 600px;
        margin-bottom: 0px
    }
}
@media screen and (max-width:780px) {
    .inner-4 {
                    margin-bottom: 0em
                }
                .inner-m {
                    margin-left: 20px;
                    margin-right: 20px
                }
            }

.displaynone{display: none;}
.hidden{visibility:hidden;}