@charset "utf-8";

*{
    list-style: none;
    box-sizing: border-box;
}
body{
    background-color: #f0ebdd;
    font-size: 16px;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: weight;
    font-style: normal;
}
h2{
    text-align: center;
    line-height: 1;
    font-size: 20px;
}
h3{
    line-height: 1;
}
a{
    text-decoration: none;
}
img {
    max-width: 100%;
    height: auto;
}

 
/* @media screen and (min-width:768px) {
    .header{
        display: none;
    }
} */

/* ----------------------------------------------
    
---------------------------------------------- */
.side_area{
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: fixed;
}
.side_area .left{
    /* background-color: #b9771b; */
    background-image: url(../img/bg_left.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    width: 50%;
    height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    /* padding-left: calc(10%); */
    padding-right: 215px;
}
.side_area .left .in_box.pc_header_logo{
    width: 40%;
}
.side_area .left .in_box.guide{
    color: #fff;
    background-color: rgba(240,235,221,0);
    padding: 30px 0 0 0;
    width: 100%;
}
.side_area .left .in_box.guide table{
    margin: 0 auto;
    width: 68%;
}
.side_area .left .in_box.guide tbody{
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.side_area .left .in_box.guide tr{
    display: flex;
    padding-bottom: 10px;
    padding: 10px 0;
    border-bottom: 1px solid #fff;
}
.side_area .left .in_box.guide th{
    width: 30%;
    padding-right: 10px;
    font-weight: normal;
}
.side_area .left .in_box.guide td{
    line-height: 1.2;
}
.right .header_menu{
    position: fixed;
    top: 50%;
    transform: translateY(-50%);
}

.side_area .right{
    /* background-color: #f3f0eb; */
    background-image: url(../img/bg_right.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    width: 50%;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-left: 215px;
}
.side_area .left img{
    /* padding-right: calc(10%); */
    padding-right: 10%;
    /* left: calc(10%); */
    left: 10%;
}
/* .side_area .right .header_menu{
    padding-left: calc(18%);
    padding-left: 18%;
    left: calc(60% );
    left: 60%;
} */
.side_area .right .header_menu li a{
    color: #c8821e;
    font-size: 26px;
}
/* .in_box{
    max-width: 300px;
}
.in_box img{
    width: 100%;
    max-width: 300px;
} */

/* .fixed{
    position: fixed;
    top: 0;
    overflow: hidden;
}
.fixed.left{
    left: 0;
    background-color: #b9771b;
}
.fixed.right{
    right: 0;
    background-color: #f3f0eb;
} */
@media screen and (max-width:1000px) {
    .side_area .left .in_box.guide tr{
        flex-direction: column;
        padding-bottom: 16px;
        text-align: center;
    }
    .side_area .left .in_box.guide th{
        width: 100%;
        padding-right: 0;
        padding-bottom: 6px;
        font-size: 14px;
    }
    .side_area .left .in_box.guide td{
        font-size: 14px;
    }
    .side_area .right .header_menu li a{
        font-size: 20px;
    }
}

.under_768{
   display: none;
}
.menu_item{
    font-size: 30px;
    padding-bottom: 70px;
}

/* ----------------------------------------------
    メインコンテンツ
---------------------------------------------- */
#scroll_area{
    width: 100%;
    max-width: 430px;
    height: auto;
    margin: 0 auto;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 30;
}

/* ----------------------------------------------
    ファーストビュー
---------------------------------------------- */
.swiper{
    width: 100%;
    height: auto;
}
.swiper-wrapper{
    width: 100%;
    /* height: 570px; */
    /* display: flex;
    overflow: hidden; */
}
.swiper-wrapper .swiper-slide{
    width: 100%;
    height: 100%;
}
.swiper-wrapper .swiper-slide img{
    width: 100%;
}
@media screen and (min-width:768px) {
    .swiper-wrapper{
        height: 570px;
    }
}


/* ----------------------------------------------
    はじめての方へ
---------------------------------------------- */
.about{
    background-color: #f0ebdd;
}
.about h2{
    margin: 0 auto 44px;
    padding-top: 50px;
}
.about .shop_img{
    width: 100%;
}
.about .description{
    display: block;
    padding: 50px 56px 72px;
    letter-spacing: 0.6px;
    line-height: 1.8;
}


/* ----------------------------------------------
    メニュー
---------------------------------------------- */
.menu{
    background-color: #f8f8f4;
    padding: 60px 58px 98px;
    /* padding-bottom: 0; */
}
.menu h2{
    margin: 0 auto;
}
.menu_desc{
    text-align: center;
    padding: 16px 0 0;
}
.pt_80{
    padding-top: 80px;
}
h3.menu_ttl{
    font-size: 20px;
    color: #c2750a;
    margin-bottom: 22px;
    margin: 70px 0 22px;
    margin-top: 0;
}
/* h3.menu_ttl:nth-of-type(1){
    margin-top: 0;
} */
/* .menu ul{
    margin-bottom: 70px;
} */
.menu_list{
    border-bottom: 1px solid #000;
    padding: 16px 0;
}
.soba_cold .menu_list,.soba_hot .menu_list {
    padding: 16px 0;
}

.accordion_btn{
    display: flex;
    justify-content: space-between;
    padding-right: 14px;
    cursor: pointer;
}
.reset_cursor{
    cursor: default;
}
.accordion_btn .menu_name{
    font-weight: bold;
}
.menu_name{
    font-weight: bold;
}
.gohan .menu_name{
    line-height: 1.4;
}
.accordion_btn .price{
    display: block;
    color: #808080;
    padding-top: 10px;
}
.price{
    display: block;
    color: #808080;
    font-weight: bold;
}
/* .accordion_btn p.btn span{
    display: inline-block;
    width: 10px;
    height: 2px;
    background-color: #c77f1a;
} */
.accordion_btn .allow{
    position: relative;
}
.accordion_btn .allow span{
    background-color: #c77f1a;
    position: absolute;
    width: 2px;
    height: 10px;
}
.accordion_btn .allow span.left{
    top: 45%;
    left: 2px;
    transform: rotate(45deg);
    background-color: #c77f1a;
}
.accordion_item.active .accordion_btn .allow span.left{
    transform: rotate(135deg);
}
.accordion_btn .allow span.right{
    top: 45%;
    right: 2px;
    transform: rotate(-45deg);
    background-color: #c77f1a;

}
.accordion_item.active .accordion_btn .allow span.right{
    transform: rotate(-135deg);
}
.accordion_item .accordion_img{
    display: none;
}
.accordion_item.active .accordion_img{
    display: block;
    text-align: center;
    padding-top: 16px;
}
.no_accordion{
    display: flex;
    justify-content: space-between;
    align-items: center;
}


/* ----------------------------------------------
    アクセス
---------------------------------------------- */
.access{
    background-color: #f0ebdd;
}
.access h2{
    /* margin: 0 auto 46px; */
    padding-top: 46px;
    padding: 46px 0 42px;
}
.access .map{
    width: 100%;
    max-width: 430px;
    height: 0;
    padding-bottom: 69.77%; /* 430px/300px * 100% = 143.33% */
    position: relative;
}
.access .map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

/* ----------------------------------------------
    店舗案内
---------------------------------------------- */
.guide{
    padding: 0 58px;
    background-color: #f0ebdd;
}
.guide h2{
    /* margin: 0 auto 68px; */
    padding-top: 56px;
    padding: 56px 0 60px;
}
.shop_guide{
    /* max-width: 354px; */
    width: 100%;
    margin: 0 auto;
}
.shop_guide tr{
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    /* padding-right: 20px; */
    border-bottom: 1px solid #000;
    padding: 12px 0;
}
.shop_guide tr:first-child{
    padding-top: 0;
}
.shop_guide th{
    font-weight: normal;
    padding-top: 5px;
}
.shop_guide td{
    width: 70%;
    line-height: 1.6;
}
@media screen and (min-width:768px) {
    .shop_guide tr:last-child{
        border-bottom: none;
    }
}

/* ----------------------------------------------
    footer
---------------------------------------------- */
.footer{
    position: fixed;
    right: 10%;
    transform: translateX(10%);
    bottom: 0;
    margin-bottom: 54px;
}
.footer .copy_right{
    color: #c8821e;
    font-size: 12px;
}
@media screen and (max-width:1000px) {
    .footer{
        right: 5%;
    }
    .footer .copy_right{
        font-size: 8px;
    }
}

/* ----------------------------------------------
    タブレット以下
---------------------------------------------- */
@media screen and (max-width:768px) {
    .header{
        width: 100%;
        height: 80px;
        background-color: #f8f8f4;
        background-color: #fef7ee;
        position: fixed;
        top: 0;
        z-index: 99;
    }
    /* .btn_area{
        width: 100%;
        height: 90px;
        background-color: #f8f8f4;
    } */
    .under_768{
        display: block;
    }
    .sp_header_logo{
        text-align: center;
        padding-top: 20px;
    }
    .hamburger_btn{
        display: block;
        position: fixed;
        top: 30px;
        right: 30px;
        width: 28px;
        height: 28px;
        transition: all .5s;
        cursor: pointer;
        z-index: 999;

        top: 0;
        right: 0;
        width: 80px;
        height: 80px;
        transition: all .5s;
        cursor: pointer;
        z-index: 999;
        background-color: #f8f8f4;
    }
    .hamburger_btn span{
        width: 28px;
        height: 4px;
        color: #000;

        display: block;
        position: absolute;
        left: 0;
        width: 28px;
        height: 2px;
        background-color: #333;
        border-radius: 4px;
        transition: all .5s;

        left: 50%;
        transform: translateX(-50%);
        top: 26px;
    }
    .hamburger_btn span:nth-child(2){
        top: 10px;
        top: 36px;
    }
    .hamburger_btn span:nth-child(3){
        top: 20px;
        top: 46px;
    }
    .hamburger_menu{
        display: none;
    }

    /* 開いたとき.on_btn が付く */
    .hamburger_btn.on_btn{
        background-color: rgba(201,131,40,0);
    }
    .hamburger_btn.on_btn span{
        top: 45%;
        transform: rotate(42deg);
        color: #fff;
        background-color: #fff;
        width: 34px;
        left: 50%;
        transform: translateX(-50%) rotate(42deg);
    }
    .hamburger_btn.on_btn span:nth-child(2){
        display: none;
    }
    .hamburger_btn.on_btn span:nth-child(3){
        transform: rotate(-42deg);
        left: 50%;
        transform: translateX(-50%) rotate(-42deg);
    }
    .header{
        width: 100%;
        height: 80px;
        position: fixed;
        top: 0;
        z-index: 99;
    }
    .hamburger_menu.on_btn{
        display: block;
        background-color: rgba(201,131,40,0.7);
        /* background-color: rgba(211,148,65,0.85); */
        background-color: rgba(200,130,30,0.8);
        /* background-color: rgba(188,121,27,0.8); */
        width: 100vw;
        height: 100vh;
        position: absolute;
        top: 0;
        z-index: 100;
        
        display: flex;
        align-items: center;
        justify-content: center;
        padding-top: 50px;
    }
    .header_menu{
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .header_menu li{
        padding-bottom: 30px;
    }
    .header_menu li a{
        color: #fff;
        text-decoration: none;
        font-size: 16px;
        display: block;
    }

    /* ----------------------------------------------
    main
    ---------------------------------------------- */
    #scroll_area{
        max-width: 768px;
        width: 100%;
        padding-top: 80px;
        padding-bottom: 120px;
    }
    .side_area{
        display: none;
    }
    /* .footer{
        display: block;
        margin: 64px auto 60px;
    }
    .footer .copy_right{
        font-size: 12px;
        text-align: center;
    } */
    .about h2{
        /* padding-top: 80px; */
        padding: 80px 0;
        margin-bottom: 0;
    }

    .menu{
        /* background-color: #f8f8f4;
        padding: 60px 58px 98px; */
        padding-bottom: 0;
    }

    #sp_access{
        width: 100%;
        padding: 40px 0;
        background-color: #f8f8f4;
    }
    .access .map{
        max-width: 768px;
    }

    .footer{
        /* display: block;
        background-color: #f8f8f4;
        position: absolute;
        bottom: 0; */
        width: 100%;
        text-align: center;
        transform: translateX(5%);
    }
    .footer .copy_right {
        font-size: 12px;
    }
}

@media screen and (max-width:426px) {
    .menu_desc .sp_br{
        display: block;
    }
    /* .shop_guide tr {
        flex-direction: column;
    } */
    .shop_guide th {
        padding-bottom: 14px;
    }
    .shop_guide td {
        width: 74%;
    }
    .sp_header_logo {
        padding-right: 30px;
    }
}

@media screen and (max-width:400px) {
    .shop_guide tr {
        flex-direction: column;
    }
    .shop_guide td {
        width: 100%;
    }
}