@charset "UTF-8";
/* CSS Document */

/* PC
---------------------------------------------------------------------- */
@media (min-width: 1001px) {

    .pc_none {
        display: none;
    }

    #pageheader {
        margin-top: -57px;
    }
    #ytPlayerWrap {
        position: relative;
        width: 100%;
        height: 0;
        padding-top: 56.25%;
    }
    #ytPlayer {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }
    .restaurant .lead {
        font-size: calc(25em / 16);
        letter-spacing: 0.25em;
        padding: 40px 0 90px 0;
        line-height: 2.2;
        text-align: center;
    }
    .story {
        position: relative;
    }
    .story p {
        position: absolute;
        left: 80px;
        bottom: 50px;
        color: #fff;
        font-size: 20px;
        letter-spacing: 0.05em;
        line-height: 2;
        text-shadow: black 1px 1px 20px, black -1px 1px 20px, black 1px -1px 20px, black -1px -1px 20px;
    }

    .restaurant .loopslider {
        width: 100%;
        height: 300px;
        position: relative;
        overflow: hidden;
        margin: 100px 0;
    }
    .restaurant .loopslider ul {
        display: flex;
        float: left;
    }
    .restaurant .loopslider ul li {
        width: 452px;
        height: 300px;
        float: left;
        position: relative;
    }
    .restaurant .entertainment {
      height: 1280px;
      display: flex;
      align-items: center;
        background: url("../images/entertainment_bg01.jpg") no-repeat center center;
        -webkit-background-size: cover;
        background-size: cover;
        margin-top: 100px;
        margin-bottom: 95px;
    }
    .restaurant .entertainment .text {
        width: 475px;
        background-color: rgba(0,0,0,.7);
        padding: 80px 50px;
        margin-left: 50px;
    }
    .restaurant .entertainment .text * {
        color: #fff;
    }
    .restaurant .entertainment .text h2 {
        font-size: calc(28em / 16);
        line-height: 1.4;
        letter-spacing: 0.2em;
        margin-bottom: 35px;
    }
    .restaurant .entertainment .text h2 span {
        display: block;
        font-size: calc(16em / 28);
        font-weight: 700;
        letter-spacing: 0.15em;
        margin-top: 10px;
    }
    .restaurant .entertainment .text p {
        letter-spacing: 0.05em;
        line-height: 2.0;
    }
    .restaurant .cont1 {
    display: flex;
    flex-wrap: wrap;
        align-items: center;
    }
    .restaurant .cont1.live {
        margin-bottom: 70px;
    }
    .restaurant .cont1.kids {
        flex-direction: row-reverse;
        margin-bottom: 100px;
    }
    .restaurant .cont1 .image {
        width: calc(820 / 1440 * 100%);
        height: 490px;
    }
    .restaurant .cont1 .image img {
        width: 100%;
        height: 490px;
        object-fit: cover;
    }
    .restaurant .cont1 .text {
        position: relative;
        width: 500px;
        padding-bottom: 70px;
        z-index: 0;
    }
    .restaurant .cont1 .text::before {
        content:  '';
        width: 340px;
        height: 250px;
        position: absolute;
        bottom: 0;
        z-index: -1;
    }
    .restaurant .cont1.live .text ,
    .restaurant .cont1.family .text {
        padding-right: 50px;
        padding-left: 110px;
    }
    .restaurant .cont1.kids .text {
        padding-left: 50px;
        padding-right: 110px;
    }
    .restaurant .cont1.live .text::before {
        background-color: #ededed;
        right: 0;
    }
    .restaurant .cont1.kids .text::before {
        background-color: #e5ebdf;
        right: 60px;
    }
    .restaurant .cont1.family .text::before {
        background-color: #faf8ec;
        right: 0;
    }
    .restaurant .cont1 .text h2 {
        font-size: calc(28em / 16);
        line-height: 1.4;
        letter-spacing: 0.2em;
        margin-bottom: 35px;
    }
    .restaurant .cont1 .text h2 span {
        display: block;
        font-size: calc(16em / 28);
        font-weight: 700;
        letter-spacing: 0.15em;
        margin-top: 10px;
    }
    .restaurant .cont1 .text p {
        letter-spacing: 0.05em;
        line-height: 2.0;
    }
    .restaurant .cont2 {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        margin-bottom: 90px;
    }
    .restaurant .cont2 li {
        width: calc(calc(100% / 3) - 10px);
    }
    .restaurant .cont2 li:nth-of-type(2) {
        margin-top: 100px;
    }
    .restaurant .cont2.live li:nth-of-type(3) ,
    .restaurant .cont2.family li:nth-of-type(1) {
        margin-top: 200px;
    }
    .restaurant .locally {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        margin-bottom: 50px;
    }
    .restaurant .locally .image {
        width: calc(580 / 1180 * 100%);
    }
    .restaurant .locally .text {
        position: relative;
        width: calc(480 / 1180 * 100%);
        padding-right: calc(100 / 1180 * 100%);
        padding-bottom: 40px;
        z-index: 0;
    }
    .restaurant .locally .text::before {
        content:  '';
        width: 385px;
        height: 300px;
        position: absolute;
        right: 0;
        bottom: 0;
        z-index: -1;
        background-color: #eaecf2;
    }
    .restaurant .locally .text h2 {
        font-size: calc(28em / 16);
        line-height: 1.4;
        letter-spacing: 0.2em;
        margin-bottom: 35px;
    }
    .restaurant .locally .text h2 span {
        display: block;
        font-size: calc(16em / 28);
        font-weight: 700;
        letter-spacing: 0.15em;
        margin-top: 10px;
    }
    .restaurant .locally .text p {
        letter-spacing: 0.05em;
        line-height: 2.0;
    }
    .restaurant .locally .text .alcohol {
        padding-top: 20px;
        margin-top: 20px;
        border-top: 1px solid #000;
    }
    .restaurant .locally .text .alcohol strong {
        font-size: calc(18em / 16);
        font-weight: 700;
    }
    .restaurant .breakfast {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        margin-bottom: 150px;
    }
    .restaurant .breakfast .text ,
    .restaurant .breakfast .image {
        width: calc(580 / 1180 * 100%);
    }
    .restaurant .breakfast .text h2 {
        font-size: calc(28em / 16);
        line-height: 1.4;
        letter-spacing: 0.2em;
        margin-bottom: 35px;
    }
    .restaurant .breakfast .text h2 span {
        display: block;
        font-size: calc(16em / 28);
        font-weight: 700;
        letter-spacing: 0.15em;
        margin-top: 10px;
    }
    .restaurant .breakfast .text p {
        letter-spacing: 0.05em;
        line-height: 2.0;
    }
    .restaurant .breakfast .text .inner1 {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        margin-bottom: 45px;
    }
    .restaurant .breakfast .text .inner1 p {
        width: calc(280 / 580 * 100%);
    }
    .restaurant .breakfast .text .inner1 div {
        width: calc(240 / 580 * 100%);
        padding-right: 33px;
    }
    .restaurant .breakfast .text .inner2 {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }
    .restaurant .breakfast .text .inner2 li {
        width: calc(280 / 580 * 100%);
    }
    .restaurant .breakfast .text .inner2 li img + img {
        display: block;
        margin-top: 12px;
    }
    .restaurant .amenity {
        border-top: 1px solid #000;
        border-bottom: 1px solid #000;
        padding-top: 90px;
        padding-bottom: 90px;
        margin-bottom: 110px;
    }
    .restaurant .amenity h2 {
        letter-spacing: 0.15em;
        font-weight: 700;
        margin-bottom: 40px;
    }
    .restaurant .amenity h2 strong {
        display: block;
        font-size: calc(24em / 16);
        letter-spacing: 0.2em;
        font-weight: 700;
        margin-bottom: 15px;
    }
    .restaurant .amenity .kids_amenity {
        display: flex;
    flex-wrap: wrap;
        justify-content: space-between;
    }
    .restaurant .amenity .kids_amenity .inner {
        width: calc(480 / 980 * 100%);
    }
    .restaurant .amenity .kids_amenity .inner h3 {
        font-size: calc(20em / 16);
        color: #3b4b72;
        font-weight: 700;
        letter-spacing: 0.2em;
        border-left: 10px solid #3b4b72;
        padding: 0.2em 0 0.2em 10px;
        margin-bottom: 15px;
    }
    .restaurant .amenity .kids_amenity .inner p {
        letter-spacing: 0.05em;
        margin-bottom: 20px;
    }
    .restaurant .amenity .kids_amenity .inner .list1 {
        margin-bottom: 30px;
    }
    .restaurant .amenity .kids_amenity .inner .list1 li {
        padding: 0.2em 0;
        letter-spacing: 0.05em;
        font-weight: 500;
    }
    .restaurant .amenity .kids_amenity .inner .list1 li::before {
        content:  '●';
        color: #3b4b72;
        margin-right: 3px;
    }
    .restaurant .amenity .kids_amenity .inner .caution {
        font-size: calc(14em / 16);
        margin-bottom: 40px;
    }
    .restaurant .amenity .kids_amenity .thumb {
        width: 280px;
        font-size: calc(14em / 16);
        text-align: right;
    }
    .restaurant .bnrbtn {
        text-align: center;
        margin-bottom: 150px;
    }
    .wide,
    .wide img {
        width: 100%;
    }

}

/* SP
---------------------------------------------------------------------- */
@media (max-width: 1000px) {

    .sp_none {
        display: none;
    }
    .restaurant #contents img {
        width: 100%;
        height: auto;
    }

    #ytPlayerWrap {
        position: relative;
        width: 100%;
        height: 0;
        padding-top: 56.25%;
    }
    #ytPlayer {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }
    .restaurant .lead {
        font-size: calc(18em / 16);
        letter-spacing: 0.15em;
        padding: calc(35 / 375 * 100vw) 0 calc(40 / 375 * 100vw) 0;
        line-height: 2.2;
        text-align: center;
    }
    .story {
        position: relative;
    }
    .story p {
        position: absolute;
        left: calc(15 / 375 * 100vw);
        bottom: calc(15 / 375 * 100vw);
        color: #fff;
        letter-spacing: 0.05em;
        line-height: 2;
        text-shadow: black 1px 1px 20px, black -1px 1px 20px, black 1px -1px 20px, black -1px -1px 20px;
    }

    .restaurant .loopslider {
        width: 100%;
        height: calc(150 / 375 * 100vw);
        position: relative;
        overflow: hidden;
        margin: calc(20 / 375 * 100vw) 0;
    }
    .restaurant .loopslider ul {
        display: flex;
        float: left;
    }
    .restaurant .loopslider ul li {
        width: calc(226 / 375 * 100vw);
        height: calc(150 / 375 * 100vw);
        float: left;
        position: relative;
    }
    .restaurant .entertainment {
        margin-top: calc(30 / 375 * 100vw);
        margin-bottom: calc(50 / 375 * 100vw);
    }
    .restaurant .entertainment .text {
        padding-top: calc(25 / 375 * 100vw);
        padding-bottom: calc(25/ 375 * 100vw);
        transform: none !important;
    }
    .restaurant .entertainment .text h2 {
        font-size: calc(20em / 16);
        line-height: 1.4;
        letter-spacing: 0.2em;
        margin-bottom: calc(20 / 375 * 100vw);
    }
    .restaurant .entertainment .text h2 span {
        display: block;
        font-size: calc(14em / 20);
        font-weight: 700;
        letter-spacing: 0.15em;
    }
    .restaurant .entertainment .text p {
        letter-spacing: 0.05em;
        line-height: 2.0;
    }
    .restaurant .cont1 {
        margin-bottom: calc(30 / 375 * 100vw);
    }
    .restaurant .cont1 .image {
        width: calc(360 / 375 * 100vw);
        margin-bottom: calc(20 / 375 * 100vw);
    }
    .restaurant .cont1 .image.right {
        margin-left: auto
    }
    .restaurant .cont1 .text {
        position: relative;
        padding-bottom: calc(40 / 375 * 100vw);
        z-index: 0;
    }
    .restaurant .cont1 .text::before {
        content:  '';
        width: calc(300 / 375 * 100vw);
        height: calc(200 / 375 * 100vw);
        position: absolute;
        right:  calc(-15 / 375 * 100vw);
        bottom: 0;
        z-index: -1;
    }
    .restaurant .cont1.live .text::before {
        background-color: #ededed;
    }
    .restaurant .cont1.kids .text::before {
        background-color: #e5ebdf;
    }
    .restaurant .cont1.family .text::before {
        background-color: #faf8ec;
    }
    .restaurant .cont1 .text h2 {
        font-size: calc(20em / 16);
        line-height: 1.4;
        letter-spacing: 0.2em;
        margin-bottom: calc(20 / 375 * 100vw);
    }
    .restaurant .cont1 .text h2 span {
        display: block;
        font-size: calc(14em / 20);
        font-weight: 700;
        letter-spacing: 0.15em;
    }
    .restaurant .cont1 .text p {
        letter-spacing: 0.05em;
        line-height: 2.0;
    }
    .restaurant .cont2 {
        padding-bottom: calc(30 / 375 * 100vw);
    }
    .restaurant .cont2 li {
        width: calc(230 / 375 * 100vw);
        margin-bottom: calc(10 / 375 * 100vw);
    }
    .restaurant .cont2 li:nth-of-type(2) {
        margin-right: auto;
        margin-left: auto;
    }
    .restaurant .cont2.live li:nth-of-type(3) ,
    .restaurant .cont2.family li:nth-of-type(1) {
        margin-left: auto;
    }
    .restaurant .locally .text {
        position: relative;
        margin-top: calc(20 / 375 * 100vw);
        padding-bottom: calc(40 / 375 * 100vw);
        z-index: 0;
    }
    .restaurant .locally .text::before {
        content:  '';
        width: calc(300 / 375 * 100vw);
        height: calc(280 / 375 * 100vw);
        position: absolute;
        right:  calc(-15 / 375 * 100vw);
        bottom: 0;
        z-index: -1;
        background-color: #eaecf2;
    }
    .restaurant .locally .text h2 {
        font-size: calc(20em / 16);
        line-height: 1.4;
        letter-spacing: 0.2em;
        margin-bottom: calc(20 / 375 * 100vw);
    }
    .restaurant .locally .text h2 span {
        display: block;
        font-size: calc(14em / 20);
        font-weight: 700;
        letter-spacing: 0.15em;
    }
    .restaurant .locally .text p {
        letter-spacing: 0.05em;
        line-height: 2.0;
    }
    .restaurant .locally .text .alcohol {
        padding-top: calc(20 / 375 * 100vw);
        margin-top: calc(20 / 375 * 100vw);
        border-top: 1px solid #000;
    }
    .restaurant .locally .text .alcohol strong {
        font-size: calc(18em / 16);
        font-weight: 700;
    }
    .restaurant .breakfast {
        display: flex;
        flex-direction: column-reverse;
        margin-bottom: calc(45 / 375 * 100vw);
    }
    .restaurant .breakfast .image {
        margin-bottom: calc(20 / 375 * 100vw);
    }
    .restaurant .breakfast .text h2 {
        font-size: calc(20em / 16);
        line-height: 1.4;
        letter-spacing: 0.2em;
        margin-bottom: calc(20 / 375 * 100vw);
    }
    .restaurant .breakfast .text h2 span {
        display: block;
        font-size: calc(14em / 20);
        font-weight: 700;
        letter-spacing: 0.15em;
    }
    .restaurant .breakfast .text p {
        letter-spacing: 0.05em;
        line-height: 2.0;
    }
    .restaurant .breakfast .text .inner2 {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        margin-top: calc(20 / 375 * 100vw);
    }
    .restaurant .breakfast .text .inner2 li {
        width: calc(168 / 375 * 100vw);
    }
    .restaurant .breakfast .text .inner2 li img + img {
        display: block;
        margin-top: calc(8 / 375 * 100vw);
    }
    .restaurant .amenity {
        border-top: 1px solid #000;
        border-bottom: 1px solid #000;
      padding-top: calc(40 / 375 * 100vw);
        padding-bottom: calc(25 / 375 * 100vw);
        margin-bottom: calc(50 / 375 * 100vw);
    }
    .restaurant .amenity h2 {
        font-size: calc(13em / 16);
        letter-spacing: 0.1em;
        font-weight: 700;
        margin-bottom: calc(20 / 375 * 100vw);
    }
    .restaurant .amenity h2 strong {
        display: block;
        font-size: calc(20em / 13);
        letter-spacing: 0.2em;
        font-weight: 700;
    }
    .restaurant .amenity .kids_amenity .inner {
        margin-bottom: calc(30 / 375 * 100vw);
    }
    .restaurant .amenity .kids_amenity .inner h3 {
        font-size: calc(18em / 16);
        color: #3b4b72;
        font-weight: 700;
        letter-spacing: 0.2em;
        border-left: calc(10 / 375 * 100vw) solid #3b4b72;
        padding: 0.2em 0 0.2em calc(10 / 375 * 100vw);
        margin-bottom: calc(10 / 375 * 100vw);
    }
    .restaurant .amenity .kids_amenity .inner p {
        letter-spacing: 0.05em;
        margin-bottom: calc(20 / 375 * 100vw);
    }
    .restaurant .amenity .kids_amenity .inner .list1 {
        margin-bottom: calc(20 / 375 * 100vw);
    }
    .restaurant .amenity .kids_amenity .inner .list1 li {
        padding: 0.2em 0;
        letter-spacing: 0.05em;
        font-weight: 500;
    }
    .restaurant .amenity .kids_amenity .inner .list1 li::before {
        content:  '●';
        color: #3b4b72;
        margin-right: calc(3 / 375 * 100vw);
    }
    .restaurant .amenity .kids_amenity .inner .list2 {
        width: calc(230 / 375 * 100vw);
        margin-top: calc(20 / 375 * 100vw);
        display: flex;
    flex-wrap: wrap;
        justify-content: space-between;
    }
    .restaurant .amenity .kids_amenity .inner .list2 li {
        width: calc(110 / 375 * 100vw);
        font-size: calc(14em / 16);
    }
    .restaurant .amenity .kids_amenity .inner .list2 li img {
        display: block;
        margin-bottom: calc(5 / 375 * 100vw);
    }
    .restaurant .amenity .kids_amenity .inner .list2 + p {
        font-size: calc(14em / 16);
    }
    .restaurant .amenity .kids_amenity .inner .caution {
        font-size: calc(14em / 16);
        margin-bottom: calc(20 / 375 * 100vw);
    }
    .restaurant .amenity .kids_amenity .thumb {
        font-size: calc(14em / 16);
    }
    .restaurant .bnrbtn {
        text-align: center;
        margin-bottom: calc(50 / 375 * 100vw);
    }
}

.btn_ossm{
    display: inline-block;
    font-size: calc(22em / 16);
    font-weight: 700;
    letter-spacing: 0.1em;
    color: #fff;
    background-color: #a152c4;
    text-align: center;
    padding: 1em 4em;
    border-radius: 10px;
    margin-bottom: 2em;
}
.btn_ossm.spring {
    background-color: #60c1bd;
}
.btn_ossm.summer {
    background-color: #64acd4;
}
.btn_ossm.autumn {
    background-color: #a152c4;
}
.btn_ossm.winter {
    background-color: #009245;
}
.btn_ossm.christmas {
    /*background-color: #FF6683;*/
    background-color: #ac2523;
}
.btn_ossm.fair_stb {
    background-color: #ea7085;
}

.btn_marche {
    display: inline-block;
    font-size: calc(18em / 16);
    font-weight: 700;
    letter-spacing: 0.1em;
    color: #fff;
    background-color: #765630;
    text-align: center;
    padding: 1em 3em;
    border-radius: 10px;
    margin-bottom: 4em;
}
.btn_menu {
    display: inline-block;
    font-size: calc(18em / 16);
    font-weight: 700;
    letter-spacing: 0.1em;
    color: #fff;
    background-color: #bf4e14;
    text-align: center;
    padding: 1em 3em;
    border-radius: 10px;
    margin-bottom: 4em;
}
@media(max-width:1000px) {
    .btn_ossm{
        padding: 0.5em 1em;
        margin: 0 1em 1em;
        font-size: calc(18em / 16);
    }
    .btn_marche {
        padding: 0.5em 1em;
        margin: 0 1em 2em;
        font-size: calc(17em / 16);
        line-height: 1.3;
        min-width: 288px;
    }
    .btn_menu {
        padding: 0.5em 1em;
        margin: 0 1em 60px;
        font-size: calc(16em / 16);
        line-height: 1.3;
        min-width: 288px;
    }
}