@charset "utf-8";
/* CSS Document */
.pc{display: inherit;}
.sp{display: none;}
@media screen and ( max-width:767px ){
	.pc{display: none;}
	.sp{display: inherit;}
}
html{font-size: 62.5%;}
body{
	font-size:1.4em;
	font-style: normal;
    font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
    color: #292929;
}
*, *:before, *:after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box
}
@media (min-width: 768px) {
    body {
        /* min-width: 1024px; */
        min-width: 768px;
    }
    
}
@media only screen and (max-width: 767px){
	html{font-size: calc( 1000vw /430vw);}
}

* {
	/* outline: 1px solid magenta; */
}


/* ====== 色 ====== */
.bg1{
    background-color: #FFFFFF;
}
.bg2{
    background-color:#F5F8F8
}
.bg3{
    background-color: #244D57;
}
.bg4{
    background-color: #F8F6F0;
}
.c1{
    color:#FFFFFF;
}
.c2{
    color:#FCE9B0;
}
.c3{
    color: #244D57;
}

/* ================ */

/* フォントサイズ 太さ */
.fs08{
    font-size:0.8rem;
}
.fs10{
    font-size:1rem;
}
.fs12{
    font-size:1.2rem;
}
.fs13{
    font-size:1.3rem
}
.fs16{
    font-size:1.6rem;
}
.fs18{
    font-size:1.8rem;
}
.fs20{
    font-size: 2rem;;
}
.fs22{
    font-size:2.2rem
}
.fs23{
    font-size: 2.3rem;
}
.fs24{
    font-size:2.4rem;
}
.fs25{
    font-size:2.5rem;
}
.fs26{
    font-size:2.6rem;
}
.fs28{
    font-size:2.8rem;
}
.fs30{
    font-size:3rem;
}
.fs31{
    font-size:3.1rem;
}
.fs34{
    font-size:3.4rem;
}
.fw-b{
    font-weight:bold;
}
.kome{
    text-indent: 1em;
}
/* ================ */
/* flex */
.flex{
    display:flex;
}

/* ヘッダー */
.header{
    width:100%;
    height:27.5rem;
    justify-content: space-between;
    padding:0 4.4rem 0 9rem;
    background-position: 80% 20%;
    background-size: cover;
    position:relative;
}
.logo_icon{
    width:16.4rem;
    height:15.2rem;
    z-index: 4;
}

/* ============================== */
/*お食事のご案内*/

.restaurant_info{
    max-width:148rem;
    width:100%;
    margin:0 auto;
    margin-top:6.1rem;
}
.oshokuji{
    width:100%;
    margin: 0 auto;
}

.border_div{
    position:relative;
}

.border{
    border: solid 0.01rem #292929;
    padding-left: 10rem;
    margin-right: 2rem;
    position:absolute;
    bottom:-1rem;
    left:-4rem;
}
.restaurant_guide .title{
    display:inline-block;
    margin:0 0 0 12rem;
}
.restaurant_guide .title p{
    margin-bottom:0.5rem;
}
.restaurant_guide .restaurant_info .title p:last-child{
    letter-spacing: 0.3rem;
    margin-top:0;
}
#restaurant_guide .restaurant_info .title p:first-child{
    text-indent: 0;
}
#restaurant_guide .border{
    left:0;
}
.restaurant_info .title p:first-child{
    letter-spacing: 0.3rem;
    text-indent:-2em;
}
.restaurant_info .title p:nth-child(2){
    margin-top:4rem;
}
#restaurant1 .restaurant_info .title p:nth-child(3){
    text-indent: 1.5em;
}

.restaurant_info_inner{
    display: inline-block;
    width:80%;
    max-width:148rem;
    margin-left:8%;
    position: relative;
}
/*float clear*/
.clear{
    clear: both;
}
/* 右側 */
.float-r{
    float:right;
}
/* 左側 */
.float-l{
    float:left;
}

.restaurant_info_img{
    width:85%;
    max-width:98.9rem;
}
.restaurant_info_img img{
    width:90%;
}
#restaurant_guide .restaurant_info .vertical_text{
    writing-mode: vertical-rl;
    line-height: 42px;
    margin-left:0;
    position:absolute !important;
    text-align: inherit;
    width:auto;
    letter-spacing: 0.3rem;
    top: 0;
    left: 85%;
}
#restaurant_guide .vertical_text p{
    line-height: 4.2rem;
    margin-left:2rem;
    letter-spacing: 1.2rem;
    white-space: pre;
}
.txt_i_35{
    text-indent: 3.5em;
}
.txt_i_8{
    text-indent: 10.5em;
}
.restaurant_info_text{
    margin-top:4rem;
    display:inline-block;
    margin:4rem 0 13.6rem;
}
.restaurant_info_text p{
    line-height: 3rem;
    letter-spacing: 0.18rem;
}
.restaurant_info_text p:last-child{
    margin-top:2.7rem;

}

.menu{
    justify-content: center;
    text-align: center;
    width:100%;
    margin-bottom:10.3rem;
}
.menu p{
    max-width: 37.7rem;
    width: 21vw;
    min-width: 25rem;
    margin:0 auto;
    letter-spacing:0.22rem;
    text-align: center;
    font-size: 1.1em;
}
.border-l{
    border-left: 1px solid #707070;
}
.border-r{
    border-right:1px solid #707070;
}
.restaurant_guide .title p:nth-child(2){
    margin-bottom:2.2rem;
    
}
.restaurant_guide .restaurant_info .title p:last-child{
    margin-bottom:3rem;
}
.restaurant_info_img_2{
    width:90%;
    max-width:79.6rem;
}
.restaurant_info_img_2 img{
    height:51.3rem;
    width:79.6rem;
    object-fit: cover;
}
.restaurant_info_explanation_text{
    flex-wrap: wrap;
    flex-direction: column;
    width:80%;
    margin-left:12rem;
}
.restaurant_guide .reserve_btn{
    margin-top:0;
    margin-bottom:4.5rem;
}

#restaurant2 .restaurant_info .reserve_btn{
    margin-bottom:3.5rem;
    margin-top:3.5rem;
}
#restaurant2 .restaurant_info .title p:nth-child(3){
    text-indent: -2em;
}
#restaurant2 .restaurant_info .title p:nth-child(3){
    text-indent:0em;
}
.reserve_btn{
    width:33.2rem;
    height:5rem;
    display: flex;
    justify-content: center;
    align-items: center;
    margin:3.5rem 0;
}
.reserve_btn a{
    width:100%;
    height:100%;
    justify-content: center;
}
.reserve_btn p{
    letter-spacing: 4.8px;
    display:flex;
    align-items: center;
    justify-content: center;
}
.reserve_btn .arrow{
    margin-right:3rem;
    position:absolute;
    bottom:2rem;
    right:1rem;
}
.restaurant_info_explanation_text .reserve_btn .arrow{
    bottom:0;
    top:2.2rem;
    right:1rem;
}
.explanation{
    letter-spacing: 1.6px;
    line-height: 2.6rem;
    display:flex;
    flex-wrap: wrap;
    flex-direction: column-reverse;
    width:100%;
}
/* .flex_box{
    padding-bottom:7.7rem;
} */
.syokuji.flex{
    flex-wrap: wrap;
    width:50%;
    padding-right:5.8rem;
}
.explanation.syokuji{
    flex-wrap: nowrap;
    justify-content: flex-end;
    width:100%;

}
.explanation p:first-child{
    letter-spacing: 1.4px;
}
.explanation p:last-child{
    margin-top:2.2rem;
}
.explanation .reserve_btn p{
    margin-top:0;
}
.explanation.guide{
    justify-content: flex-end;
    flex-direction:column;
}
.restaurant_name.iseebi p:first-child{
    margin-bottom: 0.9rem;
    margin-top:-1rem;
}
.restaurant_name.iseebi p:nth-child(2){
    margin-bottom: 0.9rem;
}
.restaurant_name.iseebi p{
    margin-bottom: 0.9rem;
}
.restaurant_name.iseebi p:last-child{
    margin-bottom:0;
}
.restaurant2 .restaurant_info_explanation_text{
    width:100%;
}
.restaurant3 .restaurant_info_explanation_text{
    width:87%;
}
.meal{
    max-width:78.8rem;
}


.meal_inner{
    justify-content: space-between;
    margin-top:7.7rem;
}
.meal_inner .slick-sp-pc li {
    margin:0 3.4rem 0 0;
    width:24rem !important;
}
.meal_inner li img{
    width:24rem !important;
    height:24rem!important;
    margin-bottom:2.8rem;
    object-fit: cover;
}
.meal_inner .slick-dots li button:before{
    font-size:2.2rem;
    vertical-align: baseline;
    margin-top:0.1rem;
}
.meal_inner .slick-sp-pc .slick-dots{
    display:flex;
    margin:0 auto;
    justify-content: center;
    width:100%!important;
    align-items: center;
}
.meal_inner .slick-sp-pc .slick-dots li{
    width:2rem!important;
    display:inline-block;
    margin:0;
}
.meal_inner  .slick-dots button{
    width:0.3rem;
    height:0.3rem;
    margin:0 auto;
}
.meal_inner .slick-active button:before{
    /* display:none; */
    font-size:3rem !important;
    margin-top:-0.1rem;
    display:block;
}
.meal_inner .slick-dots li button:before:hover{
    display:none;
}
.meal_inner .slick-dots li button:hover:before,
.meal_inner .slick-dots li button:focus:before{
    opacity: 1;
    font-size:3rem;
}
/* .meal_inner .slick-sp-pc .slick-dots .slick-active button,
.meal_inner .slick-dots li button:hover{
    height:0.8rem!important;
    background-color:#333;
    margin-top:0.65rem;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
} */

.meal_menu{
    border-top:1px solid #BCBCBC;
    
    padding-bottom:2.4rem;
    width:78.8rem;
    margin-top:7rem;
}

.meal_menu_text{
    text-align: left;
    border-bottom: 1px solid #BCBCBC;

}
.meal_menu_text_inner:first-child{
    padding-top:5rem;
    border-top:1px solid #BCBCBC;
}
.meal_menu_text_inner {
    padding-top:3rem
}
.meal_menu_text_inner p:first-child{
    padding-left:1em;
}
.meal_menu_text_inner p:last-child{
    font-size: 1.8rem;
    letter-spacing:0.3rem;
    line-height: 2.4rem;
    padding-left:2em;

}
.meal_menu_text_inner:last-child{
    padding-bottom:4.3rem
}

.pd-1{
    padding-left:1.3em;
}
.txt-275{
    text-indent:2.75em;
}
.restaurant_name.iseebi p{
    letter-spacing:0.5rem;
    line-height: 4.2rem;
    white-space: nowrap;
}

.restaurant_name.iseebi p:last-child{
    margin-top:0;
    margin-bottom:4.6rem;

}
#restaurant1{
    margin-top:12.4rem;
}
#restaurant1,#restaurant2,#restaurant3{
    width: 100%;
    max-width:148rem;
    margin:0 auto;
}
.restaurant1,.restaurant2,.restaurant3{
    position:relative;
}
#restaurant2{
    margin-top:12.4rem;
}
#restaurant2 .explanation.syokuji{
    margin-top:-19rem;
}
#restaurant3{
    margin-top:15.9rem;
}
#restaurant4{
    margin-top:17.45rem
}
#bf_viking_aft{
    margin-top:17.45rem;
}
.venue:first-child{
    border-top:1px solid #707070;
    border-bottom:none;
}
.venue{
    padding:8.75rem 0 4.85rem 0rem;
    justify-content: center;
}
#dinner .venue{
    border-top:none;
    border-bottom:none;
}
.venue:last-child{
    border-bottom:1px solid #707070;
    width: 80%;
    max-width: 148rem;
    margin:0 auto;
}
.venue .flex{
    justify-content: center;
}
.venue_img{
    width:42.1rem;
    margin-right:3.2rem;
}
.venue_img img{
    width:42.1rem;
    padding-bottom:2.8rem;
    height: 31rem;
    object-fit: cover;
}
.venue_img .slick-dots{
    top:28rem;
    margin-top:2.8rem;
    height: 2rem;
}
.venue_img .slick-sp-pc li {
    margin:0 3.4rem 0 0;
    width:24rem !important;
}

.venue_img .slick-dots li button:before{
    font-size:2.2rem;
    vertical-align:middle;
    margin-top:0.1rem;
}
.venue_img .slick-sp-pc .slick-dots{
    display:flex;
    margin:0 auto;
    justify-content: center;
    width:100%!important;
    align-items: center;
}
.venue_img .slick-sp-pc .slick-dots li{
    width:2rem!important;
    display:inline-block;
    margin:0;    
}
.venue_img .slick-dots button{
    width:0.3rem;
    height:0.3rem;
    margin:0 auto;
    display:inline-block;
}
.meal_inner .slick-active button:before{
    /* display:none; */
    font-size:3rem !important;
    margin-top:-0.1rem;
    display:block;
}
.venue_img .slick-dots li button:before:hover{
    display:none;
}
.venue_img .slick-dots li button:hover:before,
.venue_img .slick-dots li button:focus:before{
    opacity: 1;
    font-size:3rem;
}
/* .venue_img .slick-dots .slick-active button,
.venue_img .slick-dots li button:hover{
    height:0.8rem!important;
    background-color:#333;
    margin-top:0rem;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
} */
.venue .title{
    letter-spacing: 0.25rem;
    line-height: 3.8rem;
    margin-left:0;
}
.venue .explanation {
    line-height: 3.8rem;
    letter-spacing: 0.16rem;
}
.border2{
    width:7.85rem;
    border-top:1px solid #707070;
    position:relative;
    top:2rem;
}
.venue .text{
    margin-left:1.8rem;
}
.aft.time p:last-child{
    margin-left:0;
    margin-bottom:0;
    padding-bottom:0;
}
#bf_viking_aft .text p:last-child,
#dinner .text p:last-child,
#cafe .text p:last-child{
    padding-bottom:0;
}
#bf_viking_aft .text .title p,
#dinner .text .title p,
#cafe .text .title p{
    line-height: 3.8rem;
}
#bf_viking_aft .text p:first-child,
#dinner .text p:first-child,
#cafe .text p:first-child{
    margin-bottom:0;
    
}
.venue  .aft.time .flex{
    justify-content: flex-start;
}
.venue .time.flex{
    justify-content: flex-start;
    align-items: center;
}
.venue .time.flex p{
    margin-bottom:0;
}

.time{
    border-top:1px solid #E0E0E0;
    border-bottom:1px solid #E0E0E0;
    padding:1.85rem 0 ;
    position:relative;
    margin:3rem 0 2rem;
    letter-spacing: 0.16rem;
    line-height: 2.6rem;
    white-space: nowrap;
}

.time span{
    position:absolute;
    left:50%;
    right:50%;

}
.time p:last-child{
    margin-left:2.2rem;
}
.indoor_view{
    margin:7rem auto 0;
    
}
.indoor_view p{
    text-align: center;
    margin-bottom:2rem;
    line-height: 4.2rem;
    letter-spacing: 0.3rem;

}
.indoor_view iframe{
    margin:0 auto;
    display:flex;
    justify-content: center;
}
.introduction{
    margin-top: 20rem;
    position:relative;
    width:100%;
}
.introduction_inner{
    width: 100%;
    margin: 0 auto;
    max-width: 120rem;
    justify-content: space-between;
    position:relative;
}
.vertical_line{
    position:absolute;
    height:8rem;
    top:-5rem;
    right:50%;
    padding-bottom:1rem;
    padding:10.4rem 0 0;
    margin-bottom:2rem;
    border: solid 0.01rem #292929;

}
.introduction_title{
    display:inline-block;
    position:absolute;
    right:50%;
}
.introduction_title_inner{
    margin:0 auto;
    position: absolute;
    left:50%;
    
    display:inline-block
}
.introduction_title_inner p{
    position:absolute;
    margin-top:8rem;
    right:-1.5rem;
    letter-spacing: 0.48rem;
    line-height: 3.1rem;
    writing-mode: initial;
    -webkit-writing-mode: initial;
    -ms-writing-mode: initial;
}

#introduction1{
    padding-top:31.6rem;
}
.introduction_text{
    width:48%;
}
.introduction_text1{
    align-items: center;
    padding-bottom:1.9rem;
    line-height: 3.2rem;
    letter-spacing: 0.54rem;
    
}
.introduction_text1 img{
    width:2.2rem;
    margin-right:2.1rem;
}
.introduction_image{
    width:48%;
    
}
.introduction_image img{
    width:100%;
    height: 31rem;
    object-fit: cover;
}

.introduction_text2 p:first-child{
    line-height: 4.3rem;
    letter-spacing: 0.25rem;
    padding-bottom:4.4rem;
}
.introduction_text2 p:last-child,
.introduction_text2 p
{
    letter-spacing: 0.25rem;
    line-height: 2.4rem;
}
#introduction2,#introduction3,#introduction4{
    padding-top:17.2rem;
}
.guest_room #introduction2 .introduction_text2 p:last-child,
.guest_room #introduction3 .introduction_text2 p:last-child,
.guest_room #introduction4 .introduction_text2 p:last-child
{
    padding-top:0rem;
}
#introduction3 .introduction_inner.flex{
    flex-direction: row-reverse;
}
#introduction4 .introduction_inner.flex{
    /* padding-bottom:18.4rem; */
}
#introduction4{
    padding-bottom:18.4rem;
}
.footer_img{
width:100%;
}
.footer_img img{
    width:100%;
}
.footer1 p{
    color:#FFFFFF;
}
.footer1_inner{
    justify-content: center;
    padding-top:5.7rem;
    padding-bottom:8rem;
}
.adress{
    width:27.1rem;
    margin-right:5.7rem;
}
.adress img{
    width:19.1rem;
    margin-bottom:4.2rem;
}
.adress p{
    
    line-height: 2.6rem;
    letter-spacing: 0.14rem;
}
.adress p:last-child{
    margin-top:2rem
}
.adress span{
    margin-left:1.4rem;
}
.each_page{
    width:72rem;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top:2rem;

}
.each_page ul{
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}
.each_page li{
    width: 23rem;
}
.each_page a{
    align-items: center;
    margin-right:0 !important;
    

}
.circle_btn{
    border: 1px solid #FFFFFF;
    width:1.4rem;
    height:1.4rem;
    border-radius: 50%;
    position:relative;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
    margin-right:1.6rem;
}
.circle_btn:before{
    content:"";
    left: 0.25rem;
    width: 0.5rem;
    height: 0.5rem;
    top:0.35rem;
    border-top: 1px solid #FFFFFF;
    border-right: 1px solid #FFFFFF;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position:absolute;
}
.page_btn{
    line-height:4.2rem;
}

.white_btn{
    width:14.5rem;
    border: 1px solid #FFFFFF;
    padding:0.9rem 0rem;
    justify-content: center;
    margin-left:4rem;
    
}
.white_btn a{
    color: #FFFFFF;
}
.white_btn p{
    letter-spacing: 0.26rem;
    line-height: 2.5rem;
    
}
.white_btn:first-child{
    margin-left:0;
}
.btn_box{
    margin-top:3rem;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 72rem;
}
.footer_c{
    text-align: center;
    padding-bottom:5rem;
    font-family: 'Noto Sans JP', sans-serif;
    letter-spacing: 0.1rem;
    line-height: 3.2rem;
}
.footer2{
    padding-top:6.6rem;
    font-family: 'Noto Sans JP', sans-serif;
    padding-bottom: 12rem;
}
.footer2_inner{
    width:100%;
    /* max-width:130rem; */
    max-width: 105rem;
    margin:0 auto;
}
.footer2_title{
    mix-blend-mode: multiply;
    width:20.9rem;
    margin:0 auto;
}
.footer2_inner .pc .flex{
    justify-content: center;
}
.footer2 .flex{
    justify-content: center;
}
.hotel_net{
    /* margin: 1.2rem 0.5rem 0rem 0rem;
    padding-bottom: 0rem;
    white-space: nowrap; */
    font-family: 'Noto Sans JP', sans-serif;
    display: flex;
    flex-wrap: wrap;
}
.hotel_net::before{
    content: "";
    display: block;
    width: 20%;
    height: 0;
    order: 1;
}
/* .hotel_net p{
    line-height:3.2rem;
    letter-spacing: 0.11rem;
    font-size:1.1rem;
    width: 18rem;
} */
footer .hotel_net li{
    min-width: 20%;
    position: relative;
    margin-top: 2rem;
    font-size: 1.2rem;
    text-align: left;
}
.f_grow {
    flex-grow: 2;
}
.footer2 .title::before,
.footer2 .title::after{
    content: none !important;
}
.footer2 .title{
    font-size: 1.8rem !important;
    font-weight: bold !important;
    max-width: 91.5rem !important;
    margin: 5rem 0 0 !important;
    display: block !important;
    text-align: left !important;
}
.personal_information{
    font-family: 'Noto Sans JP', sans-serif;
}
.personal_information a{
    margin-top:3.2rem;
    line-height: 3.2rem;
    letter-spacing: 0.2rem;
}
.personal_information a:first-child,
.personal_information a:nth-child(2){
    margin-right:3rem;
}
/*アコーディオンメニュー*/
    .accordion {
    max-width: 76vw;
    }
    .toggle {
    display: none;
    }
    .option {
    position: relative;
    }
    .accordion_title,
    .accordion_content {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transform: translateZ(0);
    transition: all 0.3s;
    }
    .accordion_title {
    display: block;
    text-align: center;
    font-size:1.8rem;
    padding:2.5rem 0;
    letter-spacing: 0.3rem;
    }
    .accordion_title::after,
    .accordion_title::before {
    content: "";
    position: absolute;
    right: 1.25em;
    top:2.8rem;
    width: 2px;
    height: 0.75em;
    background-color: #999;
    transition: all 0.3s;
    }
    .accordion_title::after {
    transform: rotate(90deg);
    }
    .accordion_content {
    max-height: 0;
    overflow: hidden;
    }
    
    .toggle:checked + .accordion_title + .accordion_content {
    max-height: 160rem;
    transition: all 1.5s;
    }
    .toggle:checked + .accordion_title::before {
    transform: rotate(90deg) !important;
    }
        /* cafe アコーディオン */
    .accordion.cafe_menu {
        max-width: 100%;
    }
    .meal_menu.cafe_menu{
        width: auto;
        margin-top:2rem;
        margin-bottom: 2rem;
    }
    .accordion.cafe_menu .meal_menu_text_inner p{
        letter-spacing: 0.2rem;
    }
    .accordion.cafe_menu .meal_menu_text_inner p:first-child{
        text-indent: -1em;
        padding-left: 2em;
        line-height: 2.8rem;
        margin-bottom: 1rem !important;
    }
    @media screen and ( max-width:767px ){
        .accordion.cafe_menu .meal_menu_text_inner p{
            font-size: 1.5rem !important;
        }
    }
/* ================ */
@media screen and ( max-width:767px ){
    .hotel_reserve_btn{
        width:8.8rem;
    }
    /* .pre_collab_stayplan .hotel_reserve_btn p:last-child{
        font-size:0.8rem;
        padding-bottom:2rem!important;
    } */
    #restaurant1,#restaurant2,#restaurant3{
        width:90%;
        margin:0 auto;
    }
    .sns_menu_inner{
        width:6.4rem;
        text-align: center;
        position:absolute;
        top:-13.7rem;
}
    .insta_icon{
        margin-bottom: 2rem;
    }
    .insta_icon p,.facebook_icon p{
        font-size:0.7rem;
    }
    .facebook_icon{
        display:inline-block;
        width:auto;
    }
    .ai_btn_set{
        background-color: #EAEAEA;
        position:absolute;
        top:-9rem;
        width:10rem;
        right:4.5rem;
        border-radius: 0.4rem;
        -webkit-border-radius: 0.4rem;
        -moz-border-radius: 0.4rem;
        -ms-border-radius: 0.4rem;
        -o-border-radius: 0.4rem;
        opacity:0.9;
}
    .ai_btn_set p{
        font-size:0.9rem;
        line-height: 2.2rem;
        text-align: center;
        font-family: 'Noto Sans JP', sans-serif;
    }
    .ai_btn_set::before{
        content:"";
        position:absolute;
        top:100%;
        left: 53%;
        margin-left:-1.5rem;
        border: 0.7rem solid transparent;
        border-top: 0.8rem solid #EAEAEA;
        opacity:0.9;
    }
    .page-top{
        right:0.5rem;
        opacity:0.9;
    }
    .ai_btn{
        width:5.3rem;
        height:5.3rem;
        background-color: #EAEAEA;
        position:absolute;
        right:3rem;
        margin-top:1.5rem;
        border-radius: 50%;
        -webkit-border-radius: 50%;
        -moz-border-radius: 50%;
        -ms-border-radius: 50%;
        -o-border-radius: 50%;
        opacity:0.9;
}
    .ai_btn img{
        display:flex;
        justify-content: center;
        margin:1.5rem auto;
        width:2.4rem;
    }
    .hotel_reserve_btn.bg3 {
        position:fixed;
        z-index:997;
        bottom:0;
        width:8.8rem;
        height: 11rem;
    }
    .hotel_reserve_btn p{
        text-align: center;
        font-size:1.5rem;
    }
    .hotel_reserve_btn p:first-child{
        padding:2.6rem 0 0.9rem;
        line-height: 2.1rem;
    }
    .hotel_reserve_btn p:last-child{
        padding-bottom:0.8rem;
        font-size:0.9rem;
        line-height: 1rem;
    }
    .pankuzu{
        margin-left:2rem;
    }
    .nav_link{
        justify-content: center;
    }
    .nav_link p:last-child{
        padding:0;
    }
    .nav_link p:nth-child(2){
        padding:0 1.2rem;
    }
    /* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
    .oshokuji{
        width:100%;
    }
	.restaurant{
        width:100%;
        max-width:100%
    }
    .header{
        height:8.8rem;
        padding:0 0 0 2.8rem;
        width:100%;
    }
    .logo_icon{
        width:6.9rem;
    }
    .logo_icon img{
        width:6.9rem;
    }
    .top_header .logo_icon img{
        position: absolute;
        left: 0;
        width: 10rem;
    }
    .nav_link{
        margin-left:0;
    }
    .border{
        
        bottom:-1rem;
    }
    .txt_i_8{
        text-indent: 12em;
    }
    #restaurant_guide .border_div .border{
        left:-3rem;
        padding-left:1.9rem;
        bottom:-1rem;
    }
    #restaurant_guide .restaurant_info .title p:last-child{
        margin-left:-0.5rem;
    }
    .restaurant_info_inner{
        width:100%;
        margin-left:0;
    }
    .restaurant_info_img{
        width:70%
    }
    .restaurant_info_img img{
        min-width:25rem;
        width: 100%;
        height:36.8rem;
        object-fit: cover;
        margin-top:3rem;
        padding-right:0rem;
        object-position: right;
    }
    #restaurant_guide .restaurant_info .vertical_text{
        margin:0;
        width: 8.5rem;
        left: auto;
        right: 3%;
        top: -1.5rem;
    }
    #restaurant_guide .vertical_text p{
        font-size: 2rem;
        margin-left:0;
        line-height: 3rem;
        
    }
    
    .restaurant_info .title p:last-child{
        font-size:1.3rem;
        margin-left:-3.5rem;
    }
    .restaurant_guide .title{
        margin-left:0;
    }
    #restaurant_guide .restaurant_guide .title p{
        margin-bottom:1.2rem;
    }
    #restaurant_guide .title p:first-child{
        font-size:2rem;

    }
    .flex_box{
        padding-bottom:0;
        flex-wrap: wrap;
        width:100%;
    }
    .guid{
        margin:2.5rem 0 0 3rem;
    }
    .restaurant_guide .title p{
        margin-bottom:1.2rem;
        font-size:2rem;
        letter-spacing: 0.3rem;

    }
    
    .restaurant_guide .title p:last-child{
        margin-bottom:2.6rem;
    }
    
    .restaurant_info_text{
        padding-top:4.3rem;
        margin:0 auto 7.3rem;
        width:80%;
        display:flex;
        justify-content: center;
        flex-wrap: wrap;


    }
    .restaurant_info_text p{
        font-size: 1.4rem;
        letter-spacing: 0.1rem;
        line-height: 2.6rem;
    }
    #restaurant_guide .restaurant_info .vertical_text{
        position:static;
    }
    #restaurant1 .restaurant_info .title p:nth-child(3){
        text-indent: -2em;
    }
    #restaurant1 .border,
    #restaurant2 .border,
    #restaurant3 .border{
        padding-left: 7.5rem;
    }
    #restaurant1 .title p:nth-child(2),
    #restaurant2 .title p:nth-child(2),
    #restaurant3 .title p:nth-child(2){
        font-size:2.8rem;
        margin-left:-5.5rem;
        margin-bottom:1rem;
        margin-top:0;
        text-indent: 0;;
    }
    #restaurant1 .title,
    #restaurant2 .title{
        
        margin-left:6.5rem;
    }
    #restaurant2 .explanation.syokuji{
        margin-top:3rem;
    }
    .title p:first-child{
        font-size: 1.3rem;
    }
    #restaurant3{
        margin-top:6.9rem;
        padding-top: 3rem;
    }
    #restaurant3 .title{
        margin-left:6.5rem;
    }
    
    .restaurant_name.iseebi p:first-child{
        font-size:1.3rem;
    }
    .restaurant_name.iseebi p:nth-child(3){
        text-indent: -1em;
        margin-bottom:1rem;
    }
    .restaurant_name.iseebi p:nth-child(4){
        text-indent: -1em;
        font-size:2.8rem;
    }
    .restaurant3 .iseebi_explanation{
        width:90%;
        margin:0 auto;
    }
    
    .menu{
        width:85%;
        margin:0 auto;
        justify-content: center;
        flex-wrap: wrap;
    }
    .menu p{
        font-size: 1.8rem;
        width:auto;
        min-width: auto;
    }
    .menu span{
        font-size:1rem;
    }
    .menu div{
        justify-content: space-between;
    }
    .menu_sp{
        width:100%;
        padding-bottom: 5rem;
    }
    .menu_sp .border-l,
    .menu_sp .border-r{
        height:2rem;
        display:flex;
        justify-content: center;
    }
    .menu p:first-child{
        margin:0 3rem;
    }
    #restaurant1{
        width:90%;
    }
    .syokuji.flex{
        width:100%;
        padding-right: 0;
    }
    .explanation{
        width:100%;
        margin:0 auto;
    }
    .explanation.syokuji{
        flex-wrap: wrap;
        width:100%;
    }
    #restaurant2 .explanation p:last-child,
    #restaurant3 .explanation p:last-child{
        margin-bottom:0;
    }
    #restaurant3 .explanation.syokuji{
        width:100%;
    }
    .restaurant_info_img_2{
        position:static;
        width:100%;
        margin:0 auto;
        height:auto;
    }
    .restaurant_info_img_2 img{
        width:100%;
        height:auto;
        margin-left:0;
    }
    .restaurant_info {
        margin:0 auto;
        width:100%;
    }
    .restaurant_info_explanation_text{
        flex-direction: column-reverse;
        width:100%;
        margin-top:5rem;
        margin-left:0;
    }
    .restaurant_info .title p:first-child{
        letter-spacing: 0.3rem;
        text-indent: -1em;
    }
    #restaurant2 .restaurant_info_explanation_text{
        margin-top:0;
    }
    #restaurant3 .restaurant_info_explanation_text{
        margin-top:4rem;
        width: 100%;
    }
    .name p:first-child{
        font-size:2.8rem;
        text-indent: 1.5rem;
    }
    .name p:last-child{
        text-indent: 2rem;
    }
    .name{
        margin-bottom:2.6rem;
        margin-top:2.6rem;
    }
    .explanation .reserve_btn p{
        font-size: 1.8rem;
        margin-bottom:0;
    }
    .reserve_btn{
        height:6rem;
        margin-bottom:3.5rem;
        width:100%;
    }
    .reserve_btn .arrow{
        bottom:2.5rem
    }
    .restaurant_info_explanation_text .reserve_btn .arrow{
        top:2.7rem;
    }
    .toggle:checked + .accordion_title + .accordion_content{
        max-height:200rem;
    }
    .restaurant_info .border{
        bottom:-0.8rem;
    }
    
    .restaurant1 .meal_inner,.restaurant2 .meal_inner,.restaurant3 .meal_inner{
        justify-content: center;
    }
    .meal_inner{
        width:100%;
        margin-top:0;
        justify-content: center;
        overflow: hidden;
    }
    .meal_inner.flex img{
        margin-left:3.5rem;
    }
    .meal_menu{
        width:100%;
        max-width:100%;
        margin:3.5rem auto 0;
        padding-bottom:0;
    }
    .meal_inner .slick_exp-dots li{
        margin:-0.5rem auto;
    }
    .meal_menu_text{
        width:100%;
        margin:0 auto;
        padding: 0rem 1rem;
    }
    .meal_menu_text_inner p:first-child,
    .meal_menu_text_inner p:last-child{
        font-size:1.5rem;
        letter-spacing: 0.3rem;
    }
    .restaurant_name.iseebi{
        margin-top:2.6rem;
    }
    .restaurant_name.iseebi p{
        font-size: 2.8rem;
    }
    /* #restaurant1 .explanation p:first-child,
    #restaurant2 .explanation p:first-child,
    #restaurant3 .explanation p:first-child{
        margin-bottom:2rem;
    } */
    #restaurant2{
        margin-top:8.3rem;
    }
    #restaurant2 .restaurant_info .title p:nth-child(3){
        text-indent: -2rem;;
    }
    .restaurant2 .meal{
        padding-top:0;
    }
    
    .restaurant_name.iseebi{
        margin-top:-1.4rem;
        letter-spacing: 0.2rem;
        margin-left:4.3rem;
    }
    .restaurant_name.iseebi p{
        line-height: 3.2rem;
    }
    .restaurant3 .border{
        bottom:0.9rem;
    }
    .restaurant3 .restaurant_guide .title{
        margin-left:4rem;
    }
    .restaurant3 .explanation p:last-child{
        margin-top:0;
    }
    #bf_viking_aft {
        margin-top:7.2rem;
    }
    #bf_viking_aft p:first-child{
        margin-bottom:0!important;
    }
    .venue:last-child{
        width:90%;
    }
    .venue {
        flex-wrap: wrap;
        justify-content: center;
        width:90%;
        margin:0 auto;
        padding-top:4.5rem;
        padding-bottom:0;
    }
    .venue .text{
        margin-left:0;
        margin-top:0rem !important;
    }
    .venue .text .restaurant_guide .title p:first-child{
        font-size:2.3rem;
    }
    
    .venue_img{
        width:100%;
        margin-right:0;
        margin-bottom: 3rem !important;
    }
    .venue_img img{
        width:31rem;
        height:23rem;
        object-fit: cover !important;
    }
    .venue_img .slick-dots{
        top:19rem;
    }
    .venue .flex{
        flex-wrap:wrap;
    }
    .venue .title{
        margin-left:0;
    }
    .venue .explanation{
        width:100%;
        margin-top:2.4rem;
    }
    .p_size {
        font-size:2.3rem;
    }
    #dinner .venue{
        padding-top:2.8rem;
    }
    #dinner .venue .explanation p:nth-of-type(2),
    #dinner .venue .explanation p:nth-of-type(4),
    #dinner .venue .explanation p:nth-of-type(6),
    #cafe .venue .explanation p:nth-of-type(2),
    #cafe .venue .explanation p:nth-of-type(4),
    #cafe .venue .explanation p:nth-of-type(6){
        margin-top:0;
    }
    #cafe .venue{
        padding-top:2.4rem;
    }
    #bf_viking_aft p:first-child,
    #dinner p:first-child,
    #cafe p:first-child{
        font-size:2.3rem;
    
    }
    #bf_viking_aft .venue .explanation p,
    #dinner .venue .explanation p,
    #cafe .venue .explanation p
    {
        font-size: 1.6rem;
        line-height: 2.8rem;
    }
    
    #bf_viking_aft .time.aft p,
    #dinner .time.aft p,
    #cafe .time.aft p
    {
        font-size: 1.6rem;
    }
    #bf_viking_aft .time.aft p:last-child,
    #dinner .time.aft p:last-child,
    #cafe .time.aft p:last-child
    {
        margin-left:1rem;
        font-size: 1.19rem;
        letter-spacing: 0.1rem;
    }
    .introduction{
        margin-top:10.3rem;
    }
    .indoor_view iframe{
        width:100%
    }
    .introduction_inner{
        width:95%;
    }
    .introduction_inner.flex{
        flex-wrap: wrap;
        flex-direction: column-reverse;
    }
    .introduction_text{
        width:100%;
    }
    .introduction_text1{
        margin-top:3.5rem; 
        padding-bottom:2.4rem;
        letter-spacing: 0.28rem;
    }
    .introduction_text1 img{
        margin-left:1rem;
    }
    .introduction_image{
        width:100%;
    }
    .introduction_image img{
        width:100%;
        height: 21rem;
    }
    #introduction2 .introduction_inner.flex,
    #introduction4 .introduction_inner.flex
    {
        flex-direction: column;
    }
    #introduction2,#introduction3,#introduction4{
        padding-top:12rem;
    }
    #introduction2 .introduction_text2 p:last-child,
    #introduction3 .introduction_text2 p:last-child,
    #introduction4 .introduction_text2 p:last-child{
        padding-top:3rem!important;
    }
    #introduction3 .introduction_inner.flex{
        flex-direction: column;
        padding-bottom:12.5rem;
    }
    #introduction4{
        padding-bottom:12.5rem;
    }
    .introduction_text2 p:last-child, .introduction_text2 p{
        letter-spacing: 0.25rem;
    }
    .introduction_text2 p:first-child{
        padding-bottom: 2.5rem;
        font-size:2.3rem;
        line-height: 2.3rem;
    }

    .footer1_inner{
        padding-bottom:5.9rem;
    }
    .adress{
    margin:0 auto;
    width:auto;
    }
    .adress img{
        margin-right:0;
    }
    .adress p:last-child{
        margin-top:3.5rem;
    }
    .restaurant_guide .each_page{
        justify-content: center;
    }
    .each_page{
        margin-top:6rem;
        width:100%;
        justify-content: center;
    }
    .each_page ul{
        width: 100%;
        max-width: 39rem;
        padding-left: 3rem;
        justify-content: space-between;
    }
    .each_page li{
        width: 48%;
    }
    .each_page a{
        margin-right: 0 !important;
    }
    .each_page a p{
        white-space: nowrap;
    }
    .each_page .circle_btn{
        margin-right: 0.5rem;
    }
    /* .each_page_inner:first-child{
        width:42%;
    } */
    .each-page_inner:last-child{
        width:60%;
    }
    .white_btn{
        margin-left:0;
        margin-bottom:2rem;
        width:19.1rem;
    }
    .btn_box{
        width:47%!important;
        margin:4rem auto 0;

    }

    .footer_img{
        width:100%;
    }
    .footer_img img{
        width:100%;
        height:33rem;
        object-fit: cover;
    }
    .footer1_inner{
        flex-direction: column;
    }
    
    
    .btn_box{
        flex-direction: column;
        align-items: center;
    }
    .personal_information.flex{
        flex-direction: inherit;
        justify-content: center;
    }
    .personal_information a:first-child{
        margin-right: 0;
    }
    .personal_information a{
        margin: 3rem 0.5rem 0;
        font-size: 1.5rem;
    }
    .footer_c{
        width:100%;
        font-size: 1.1rem;
    }
    .footer2{
        padding-top: 6.4rem;
        padding-bottom:15.9rem;
    }

    .footer2_title{
        width:5.7rem;
        margin:0 auto;
    }
    .footer2_inner .flex{
        flex-direction: column;
    }
    .footer2 .title{
        /* padding-left: 2rem; */
    }
    .footer2 .title p{
        font-size: 1.8rem !important;
    }
    .oyado_list.sp{
        border-top:1px solid #707070;
        border-bottom: 1px solid #707070;
        height:6.1rem;
        width:31.7rem;
        margin:0 auto;
        margin-top:4.1rem;
        
    }
    .oyado_list.sp p{
        height:100%;
        justify-content: center;
    }
    .footer2_title.sp img{
        width:5.7rem;
        margin:0 auto;
        text-align: center;
    }
    .each_page a{
        margin-right:2.2rem
    }
    .oyado.accordion_title{
        text-align: left;
        padding-left:1em;
    }
    .hotel_net:first-child{
        border-top: 1px solid #BCBCBC;
        padding-top:2.3rem;
    }
    /* .hotel_net{
        width:100%;
        margin-top:6rem;
        margin:1rem 4rem 0 0;
        padding-bottom:0rem;
        padding-left:1em;
    } */
    footer .hotel_net li{
        width: 50%;
        text-indent: -1em;
        padding-left: 1em;
    }
    .f_grow {
        flex-grow: initial;
    }
    .hotel_net:last-child{
        padding-bottom:3.6rem;
    }
    .hotel_net .title{
        font-size: 1.8rem;
    }
    footer .meal_menu{
        width:90%;
    }
    .page_btn{
        margin-right: -1rem;
        margin-left: 0rem;
    }
}
@media screen and ( max-width:375px ){
    .restaurant_info .vertical_text{
        font-size:2rem;
        margin:0 0.9rem 0 0;
    }
    .oyado.accordion_title{
        text-align: left;
        padding-left:1em;
    }
}