.popup_3{position: fixed; bottom: 140px; z-index: 9999;}
.popup_3.left{ left: 0;}
.popup_3.right{ right: 0;}
.popup_3.close{display: none;}
.popup_3.left .popup_btn{background: #333; border-radius: 50%; color: #fff; cursor: pointer; display: block; height: 27px;  width: 27px; position: absolute; right: -10px; top: -10px; text-align: center;}
.popup_3.right .popup_btn{background: #333; border-radius: 50%; color: #fff; cursor: pointer; display: block; height: 27px;  width: 27px; position: absolute; left: -10px; top: -10px; text-align: center;}

#kaiseki,#kaiseki *{
    box-sizing: border-box;
}

#kaiseki.remodal{
    padding: 0px; max-width:1200px;
background:url("../img/kaiseki/background.jpg");}

#kaiseki .kaiseki_wrap{
    width:100%;
    display:grid;
    grid-template-columns: clamp(15px,5vw,55px) 1fr clamp(15px,5vw,55px);
    gap:30px 0;
    margin-bottom:30px;
}
#kaiseki .kaiseki_wrap > *{
    display:grid;

    width: 100%;
    height: 100%;
}
#kaiseki .kaiseki_wrap > .main{
    grid-column: 2 / 3;
}
#kaiseki .kaiseki_wrap > .pop_header,
#kaiseki .kaiseki_wrap > .footer{
    place-items:center;
    place-content:center;
     grid-column: 1 / -1;
}

#kaiseki .kaiseki_wrap > .pop_header{
    grid-template-columns: 1fr;
    grid-template-rows:auto 1fr ;
}

    #kaiseki .box{
        grid-column: 1 / -1;
        display:grid;
        place-items:center;
        place-content:center;
        padding:15px 10px 10px;
        background:#3C334E;
        color:#fff;
        gap:10px;
        width:min(80%,500px);
    }
    #kaiseki.remodal .pop_header h2{
        grid-column: 1 / -1;
        grid-row:1 / 2;
        display:grid;
        place-items:center;
        place-content:center;
        padding:15px 15px 15px;
        background:#3C334E;
        color:#fff;
        gap:0px;
        width:100%;
        font-size: clamp(26px,3.3vw,36px);
        font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
        margin:0;
        border-radius:5px 5px 0 0;
        line-height: 1.4;
        z-index: 10;
    }
   #kaiseki.remodal .pop_header h2 span{
        font-size: calc(100% * 0.65);
    }
#kaiseki img{
    width:100%;
    height:100%;
    object-fit: cover;
}
#kaiseki .onmouse-thumb img{
    width:100%;
    height:auto;
    object-fit: cover;
    aspect-ratio: 100 / 66;
}
#kaiseki .pop_header > img{
    aspect-ratio:6 / 2.7;
    grid-column: 1 / -1;
    grid-row: 2 / 3;
    object-position: top 17% left 0;
    border-radius: 0;
}
#kaiseki .box > *{
    width:100%;
    height:auto;
}
#kaiseki .box .mado{
    width:75%;
    height:auto;
    background:#fff;
    color:#3C334E;
    border-radius:30px;
    font-size: clamp(18px,2vw,24px);
    white-space: nowrap;
    font-weight: 600;
    padding:5px 10px;
    display:grid;
    place-items:center;
}
#kaiseki .pop_header{
    position: relative;
}
#kaiseki .pop_header .box img{
    width:min(80%,185px);
    height:auto;
    padding-block:5px;
}
#kaiseki .box p{
    text-align: left;
    font-size: clamp(16px,2vw,24px);
    line-height: 1.4;
}
#kaiseki .box .adress p{
    text-align: center;
    line-height: 1.3;
    font-size: clamp(18px,2vw,20px);
    font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
#kaiseki .box .adress .phone{
    font-size: clamp(26px,3.5vw,36px);   
}


    .main-bg{
    display:block;
    grid-column: 1 / -1;
    width:100%;
    height:80px;
    position: absolute;
    bottom: -50px;
    left:50%;
    transform: translateX(-50%);
    z-index: 1;
}

@media screen and (max-width:767px){
.main-bg{
    bottom: 195px;
}
}
@media screen and (max-width:550px){
.main-bg{
    bottom: 242px;
}
}
@media screen and (max-width:340px){
.main-bg{
    bottom: 260px;
}
}
    #kaiseki .main{
        width:min(100%,1000px);
        margin:0 auto;
        grid-template-columns: repeat(3,1fr);
        gap:clamp(20px,3vw,40px);
    }
    #kaiseki .main > *{
        width:100%;
    }
#kaiseki .main .row1 > *{
        width:100%;
    }
#kaiseki .main .row1 {
    grid-column: 1 / -1;
     width:min(100%,1000px);   
    margin:0 auto;
}
#kaiseki .main > .slide_wrap{
    width:100%;
    display:grid;
    grid-template-columns: 1fr;
    gap:3px;
}
.main-img{
    width:100%;
    margin:0 auto;
    height:100%;   
}
.main-img img{
    width:100%;
    height:auto;
    object-fit: cover;
}
.onmouse-thumb{
    display:grid;
    grid-template-columns: repeat(auto-fit,minmax(100px,1fr));
    gap:3px;
}
.onmouse-thumb img{
    width:100%;
    height:auto;
    object-fit: cover;
    transition: 0.2s ease-out;
}
@media screen and (min-width:768px){
    .onmouse-thumb img:hover{
    cursor: pointer;
    filter: brightness(1.2);
}
        #kaiseki .main{
        z-index: 10;
    }
    .onmouse-thumb:has(img:hover) img:not(img:hover) { 
        filter: brightness(0.5); 
    }

}

#kaiseki .main .row1 h2{
    width:100%;
height:auto;
    font-size: clamp(22px,3vw,34px);
    text-align: center;
    font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    color:#3C334E;
    font-weight: 600;
}
#kaiseki .main .row1 h2 img{

}
.slide_wrap{
    display:grid;
    gap:3px;
}
#kaiseki .main dl{
    grid-column: 2 / -1;
    text-align: left;
    padding:0;
    margin:0;
    font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-weight: 600;
}
#kaiseki .main dt{
    font-size: clamp(20px,2vw,28px);
}
#kaiseki .main dd{
    font-size: clamp(16px,1.8vw,22px);
    padding-bottom:1rem;
}
#kaiseki .main .row3{
   display:grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto 55px auto;
    gap:clamp(15px,3vw,35px);
    width:100%;
    height:100%;
    align-content: start;
}
#kaiseki .main .row3 img{
    aspect-ratio:6 / 4;
    height:100%;
}
#kaiseki .main .row3 div{
    background:#BBA579;
    color:#fff;
    display:grid;
    place-items:center;
    padding:5px;
    font-size: clamp(20px,2.5vw,28px);
    width:60%;
    margin:0 auto;
    font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

#kaiseki .main .row3 p{
    text-align: left;
     font-size: clamp(16px,2vw,22px); 
}

#kaiseki .kaiseki_wrap > .footer{
     background:#3C334E;
    color:#fff;
    display:grid;
    grid-template-columns:0.3fr minmax(100px,auto) auto 0.3fr;
    place-content:center;
    gap:15px;
    font-size: clamp(16px,2vw,20px);
    padding:15px;
}
#kaiseki .kaiseki_wrap > .footer > img{
    grid-column: 2 / 3;
    width:80%;
    height:auto;
}
#kaiseki .kaiseki_wrap > .footer > p{
    grid-column: 3 / 4;
}
@media screen and (min-width:768px){
    #kaiseki .kaiseki_wrap > .pop_header{
    grid-template-columns: clamp(15px,5vw,55px) minmax(400px,0.8fr) 1fr clamp(15px,5vw,55px);
    grid-template-rows:1fr 45px auto;
        align-items: start;
}
    #kaiseki .pop_header > img{
    aspect-ratio:6 / 2.7;
    grid-row: 1 / -2;
    border-radius:5px 5px 0 0;
    height:100%;
}
        #kaiseki .box{
        grid-column: 1 / -1;
        grid-row:2 / 3;
        gap:25px 10px;
        padding:40px clamp(20px,3vw,30px) 25px;
    }
    #kaiseki .box{
        grid-column: 2 / 3;
        grid-row:1 / 2;
    }
    #kaiseki .pop_header .box img{
    width:88%;
    padding-block:10px;
}
     #kaiseki.remodal .pop_header h2{
        grid-row:3 / 4;
        padding:20px 15px 15px;
        border-radius:0;
    }
#kaiseki .main dl{
    padding-top:20px;
}
}
@media screen and (max-width:767px){
    #kaiseki .box{
        order:-1;
        grid-row:3 / 4;
        transform: translateY(-50px);
        z-index: 10;
    }
    #kaiseki .main .row3{
        grid-column: 1 / -1;
}
        #kaiseki .pop_header > img{
    z-index: 9;
}
     #kaiseki .main{
        grid-template-columns: repeat(4,1fr);
    }
    #kaiseki .main > img,
    #kaiseki .main > dl{
        grid-column: span 2;
}
    #kaiseki .kaiseki_wrap > .footer{
    grid-template-columns:minmax(100px,1fr) 2fr;
        gap:5px;
}
#kaiseki .kaiseki_wrap > .footer > img{
    grid-column: 1 / 2;
    height:auto;
}
#kaiseki .kaiseki_wrap > .footer > p{
    grid-column: 2 / 3;
    text-align: left;
}
    }
@media screen and (max-width:600px){
    
    #kaiseki .main > img,
    #kaiseki .main > dl{
        grid-column: 1 / -1;
} 
    #kaiseki .main > img{
        width:min(70%,400px);
        height:auto;
        margin:0 auto;
    }
        #kaiseki .kaiseki_wrap > .footer{
    grid-template-columns:1fr;
        gap:5px;
}
#kaiseki .kaiseki_wrap > .footer > img,
#kaiseki .kaiseki_wrap > .footer > p{
        grid-column: 1 / -1;
    }
    
}

.remodal-close {
    z-index: 11;
}
.remodal#kaiseki .remodal-close:before{
    color:#fff;
}


   
.remodal .section_box{margin:0 0 15px 0;}
.remodal .message{padding:0 0 20px 0; font-size:14px;}
.remodal .message p{padding:0 0 10px 0; font-size:14px;}
/*
.remodal h2{font-size:21px; color:#7d0022;margin-bottom:10px;}
.remodal h3{margin:0 0 20px 0; color:#7d0022; font-size:21px;}
.remodal h4{margin:0 0 10px 0; color:#59493f; font-size:16px;}
*/

.first{display: none;}
.info{margin:0 0 20px 0;}

.sp_on{display: none;}
.pc_on{display: block;}

@media only screen and (max-width: 767px){
.remodal{padding:20px 15px;}
.popup_contents{width:80%;}
.popup_contents a{width:100%}
.popup_contents a img{width:100%; height:auto; }
.remodal .message p{text-align: left;line-height: 1.6;}
.sp_on{display: block;}	
.pc_on{display: none;}
}