@charset "utf-8";

/* CSS Document */


/* common */

.colum2 {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: center;
    -webkit-align-items: center;
    /* 縦方向中央揃え（Safari用） */
    align-items: center;
    /* 縦方向中央揃え */
}

.colum2 div {
    width: 50%;
}

.\32 022menu {
    display: -ms-flexbox;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: space-around;
    align-items: flex-start;
    margin-top: 30px;
}

.menuImg {
    margin-top: 20px;
}

.menuWrap01.wrap {
    margin-bottom: 30px;
}

.menuWrap01.wrap h2 {
    text-align: left;
}

.menuWrap01.wrap p {
    text-align: left;
}

.wrap {
    width: 90%;
    max-width: 1099px;
    margin: 0 auto;
}

.ttl1 {
    clear: both;
    position: relative;
    display: inline-block;
    text-align: center;
    padding: 10px 50px 0;
    min-height: 132px;
    font-family: 'Rufina', serif;
    font-weight: normal;
    font-size: 2.6em;
    line-height: 1.2em;
    letter-spacing: 10px;
    margin: 0 0 50px;
}

.ttl2 {
    clear: both;
    position: relative;
    display: inline-block;
    text-align: center;
    padding: 30px 30px 0;
    min-height: 132px;
    font-weight: 600;
    font-size: 1.6em;
    line-height: 1.5em;
    margin: 0 0 50px;
}

.ttl1 span {
    font-family: 'Rufina', serif;
    font-size: 0.8em;
    letter-spacing: 6px;
}

.ttl1::before,
.ttl2::before {
    content: " ";
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 23px;
    height: 132px;
    border: solid 2px #1D1D1D;
    border-right: none;
}

.ttl1::after,
.ttl2::after {
    content: " ";
    display: block;
    position: absolute;
    right: 0;
    top: 0;
    width: 23px;
    height: 132px;
    border: solid 2px #1D1D1D;
    border-left: none;
}

.ttl3 {
    font-family: 'Rufina', serif;
    font-size: 2.2em;
    font-weight: normal;
    letter-spacing: 8px;
    line-height: 1.5;
}

.ttl3.takeout-ttl {
    font-weight: bold;
    color: #888;
}



/* common end */


/* TOP */

.top1 {
    padding: 0 0 20px;
}

.top1 h2 {
    font-size: 2em;
    line-height: 1.7em;
    text-align: center;
    font-weight: 600;
    padding-bottom: 40px;
    letter-spacing: 6px;
}

.top1 p {
    font-size: 1.1em;
    line-height: 2em;
    font-weight: normal;
    padding-bottom: 60px;
}

.top1 .recruit {
    margin: 0 auto 80px;
    border: 2px solid #000000;
    padding: 3px;
    width: 95%;
    max-width: 420px;
}

.top1 .recruit p {
    border: 1px solid #000000;
    padding: 5px;
    font-size: 18px;
}

.top1 .eparkBOX {
}

.top1 .eparkBOX .epark {
    margin: 0 auto 50px;
    width: 100%;
    max-width: 480px;
}

.top1 .eparkBOX .eparkBtn > a {
    background: linear-gradient(1deg, #1D1D1D 0%, #bbbbbb 100%) !important;
}

.top2 {
    background: #1D1D1D;
    margin-bottom: 150px;
}

.top2 .colum2 div img {
    width: 100%;
    height: auto;
}

.top2 h2 {
    padding: 60px 0;
    font-size: 2em;
    letter-spacing: 6px;
    line-height: 1.5em;
    font-weight: 600;
    color: #fff;
}

.top2 ul {
    width: 100%;
    max-width: 980px;
    margin: 0 auto;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: center;
}

.top2 ul li {
    position: relative;
    color: #fff;
    width: 47%;
    padding: 0 0 70px;
    margin: 0 3% 0 0;
    text-align: left;
}

.top2 ul li:nth-child(2n) {
    margin: 0 0 0 3%;
}

.top2 ul li h3 {
    font-size: 1.35em;
    font-weight: 600;
    line-height: 1.6em;
    padding-bottom: 50px;
}

.top2 ul li p {
    font-weight: normal;
    line-height: 2em;
}

.top2 ul li .more {
    width: 80%;
    max-width: 320px;
    margin: 0 auto;
    position: absolute;
    bottom: -60px;
    left: 50%;
    transform: translateY(0) translateX(-50%);
}

.top2 ul li .more a {
    position: relative;
    display: block;
    background: #1D1D1D;
    border-radius: 6px;
    border: solid 1px #fff;
    color: #fff;
    font-size: 1.15em;
    padding: 15px 55px;
    text-align: left;
}

.top2 ul li .more a i {
    position: absolute;
    right: 20px;
    top: 45%;
    font-size: 16px;
    color: #fff;
}

.top2 ul li .more a:hover {
    background: #444;
}

.top3 {
    padding: 60px 0;
}

.top3 .pic {
    width: 100%;
    padding-bottom: 60px;
}

.top3 .pic img {
    width: 100%;
}

.top3 h3 {
    color: #000000;
    font-size: 1.15em;
    font-weight: 600;
    line-height: 1.3em;
    letter-spacing: 3px;
    padding-bottom: 40px;
}

.top3 p {
    font-size: 0.9em;
    max-width: 700px;
    margin: 0 auto;
    padding: 0 0 40px;
}

.top3 .more {
    width: 90%;
    max-width: 226px;
    margin: 0 auto;
}

.top3 .more a {
    position: relative;
    display: block;
    background: #000;
    border-radius: 6px;
    color: #fff;
    font-size: 1.15em;
    letter-spacing: 3.6px;
    padding: 12px 55px 15px;
    line-height: 1em;
    text-align: center;
}

.top3 .more a i {
    position: absolute;
    right: 20px;
    top: 36%;
    font-size: 16px;
    color: #fff;
}

.top3 .more a:hover {
    background: #444;
}

.fbtns {
    background: #E2E2E2;
    padding: 60px 0 30px;
    margin: 50px 0 70px;
}

.fbtns ul {
    width: 90%;
    max-width: 624px;
    margin: 0 auto;
}

.fbtns ul li {
    margin-bottom: 30px;
}

.fbtns ul li a {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 100%;
    background: #1D1D1D;
    border-radius: 6px;
    padding: 0 50px;
    color: #fff;
}

.fbtns ul li a:hover {
    opacity: 0.6;
    filter: alpha(opacity=60);
}

.fbtns ul li a div {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-align-items: center;
    /* 縦方向中央揃え（Safari用） */
    align-items: center;
    /* 縦方向中央揃え */
    vertical-align: middle;
}

.fbtns ul li a .img {
    width: 255px;
    margin-right: 40px;
}

.fbtns ul li a .txt {
    width: calc(100% - 295px);
    position: relative;
    font-family: 'Rufina', serif;
    font-size: 1.3em;
    letter-spacing: 3.5px;
}

.fbtns ul li a .txt span {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 0.55em;
    padding-left: 15px;
    letter-spacing: 3px;
}

.fbtns ul li a .txt i {
    position: absolute;
    font-size: 16px;
    right: -20px;
}

.eventbtn {
    padding-bottom: 100px;
}

.eventbtn a,
.eventbtn p {
    font-family: 'Noto Sans JP', sans-serif;
}

.eventbtn a {
    position: relative;
    display: block;
    width: 320px;
    margin: 0 auto 20px;
    border-radius: 6px;
    padding: 20px;
    font-size: 1.1em;
    text-align: center;
    color: #fff;
    background: #7CB741;
}

.eventbtn a i {
    position: absolute;
    right: 20px;
    top: 38%;
    font-size: 16px;
}

.insta {
    width: 90%;
    max-width: 480px;
    margin: 0 auto;
    padding: 0 0 100px;
}

.insta a {
    border: 1px solid #ddd;
    display: inline-block;
    border-radius: 6px;
}

.insta a img {
    border-radius: 6px;
}

.insta h3 {
    /* padding-bottom:30px; */
}

.twWrap {
    width: 96%;
    max-width: 624px;
    margin: 0 auto;
}


/* TOP end */


/* beefstew & vegitable */

#beefstew #header {
    background: url(../images/beefstew/header.png) no-repeat center top;
    background-size: cover;
}

#vegitable #header {
    background: url(../images/vegitable/header.png) no-repeat center top;
    background-size: cover;
}

#beefstew #header .httl h1,
#vegitable #header .httl h1 {
    padding: 25px 0 10px;
}

.sec1wrap {
    padding: 60px 0 170px;
}

.sec1,
.sec2 {
    width: 100%;
}

.sec2 {
    background: #1D1D1D;
}

.sec1 h2 {
    width: 90%;
    max-width: 1099px;
    margin: 0 auto -10px;
    text-align: left;
    font-family: 'Rufina', serif;
    font-size: 2.2em;
    font-weight: normal;
    letter-spacing: 8px;
}

.sec1 div,
.sec2 div {
    width: 50%;
}

.sec1 .pic {
    float: right;
}

.sec2 .pic {
    float: left;
}

.sec1 .txt {
    float: left;
    padding: 7vw 60px 0 calc(50% - 550px);
    text-align: left;
}

.sec2 .txt {
    float: right;
    padding: 7vw calc(50% - 550px) 0 60px;
    text-align: left;
    color: #fff;
}

@media screen and (max-width: 1248px) {
    .sec1 .txt {
        padding: 7vw 60px 0 5vw;
    }

    .sec2 .txt {
        padding: 7vw calc(50% - 550px) 0 60px;
    }
}

.sec1 .txt h3,
.sec2 .txt h3 {
    font-weight: 600;
    font-size: 1.3em;
    line-height: 1.9em;
    padding-bottom: 40px;
}

.step {
    padding: 0 0 10px;
}

.step ol {
    width: 90%;
    max-width: 920px;
    margin: 0 auto;
}

.step ol li {
    /*background: url(../images/arrow.svg) no-repeat 20px center;*/
    position: relative;
    padding: 120px 0 70px;
    clear: both;
    border-bottom: solid 2px #E2E2E2;
}

.step ol li::before {
    position: absolute;
    font-family: "Font Awesome 5 Free";
    top: 20px;
    left: 50%;
    margin-left: -9px;
    content: '\f358';
    color: #000;
    font-size: 19px;
}

.step ol li:nth-child(1) {
    padding-top: 70px;
}

.step ol li:nth-child(1)::before {
    content: none;
}

.step ol li:last-of-type {
    border-bottom: none;
}

.step ol li h3 {
    float: left;
    font-family: 'Rufina', serif;
    font-size: 1.9em;
    letter-spacing: 7px;
    font-weight: normal;
}

.step ol li h3 span {
    font-size: 1em;
    font-family: 'Rufina', serif;
    position: relative;
    top: -2px;
}

.step ol li .pic {
    float: right;
    width: 540px;
    padding-top: 10px;
}

.step ol li .txt {
    clear: left;
    float: left;
    width: 360px;
    text-align: left;
    padding: 30px 20px 40px 0;
    font-size: 0.9em;
    font-weight: normal;
}


/* beefstew & vegitable end*/


/* menu */

#menupage #header {
    background: url(../images/menu/header_20240415.jpg) no-repeat center top;
    background-size: cover;
}

#menupage #header .httl {
    padding: 0 120px;
}

#menupage #header .httl h1 {
    padding: 25px 0 10px;
}

.menuWrap {
    margin-bottom: 80px;
}

.imgBox {
    margin-bottom: 40px;
}

.menu01 {
    padding: 40px 0 70px;
    text-align: left;
}

.menu01 .pic {
    float: right;
    /* margin-top: -10px; */
    width: 40%;
    max-width: 635px;
}

.menu01 .pic.pic_drink {
    max-width: 450px;
    padding: 6vw 0;
}

.menu01 .txt {
    float: left;
    width: 60%;
    padding: 6vw 15px 0 0;
}

.menu01 .txt.drinkTxtBox{
    width: 100%;
}

.beerTxtsBox{
    margin-top: 10px;
}

.menu01 .txt p {
    font-size: 1.25em;
    padding-bottom: 40px;
}

.drinkFlex01 {
    display: -ms-flexbox;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 1.6em;
}

.drinkFlexCol02 {
    margin-left: 1.6em;
}

.beerTxt {
    font-weight: bold;
}

span.beerTxtSub {
    font-size: 15px;
    font-weight: normal;
}

.menu01 .txt h3 {
    font-size: 1.8em;
    line-height: 1.3em;
    /* padding-bottom: 15px; */
}

.menu01 .txt .price {
    padding-top: 20px;
}

.price {
    font-size: 1.8em !important;
    /* font-weight: 600; */
}

.osusume {
    font-size: 16px !important;
    background: #000000;
    border-radius: 6px;
    color: #fff;
    padding: 7px 15px;
}

.menulist1 {
    clear: both;
    /* padding: 40px 0; */
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-left: -3.333%;
}

.menulist1 li {
    width: 21.5%;
    margin: 0 0 30px 3.333%;
    font-size: 0.85em;
    letter-spacing: 2px;
}

.menulist1 li p {
    padding-bottom: 30px;
    letter-spacing: 1px;
}

.menulist1 li .img {
    padding-bottom: 25px;
}

.menulist1 li h3 {
    font-size: 1.6em;
    font-weight: 600;
    line-height: 1.6em;
    min-height: 4.2em;
    /* padding-bottom: 15px; */
}

.menulist1 li h3 span {
    font-size: 0.7em;
}

.menulist1 li .price2 {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
}

.menulist1 li .price2 li {
    width: auto;
    margin: 0;
    font-size: 1em;
    padding-right: 20px;
}

.menu02 {
    background: #E2E2E2;
    padding: 70px 0;
    text-align: left;
}

.imgWrap01 {
    text-align: center;
    margin-bottom: 40px;
}

.menu03 {
    padding: 70px 0;
    text-align: left;
}

.menulist2 {
    padding: 60px 0 20px;
}

.menulist2 ul {
    width: 100%;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
}

.menulist2 li {
    position: relative;
    width: 45%;
    margin: 0 5% 30px 0;
    letter-spacing: 2px;
    /* padding-right:5em; */
    font-weight: 500;
}

.menulist2 {
    /* margin:0 0 30px 5%; */
}

.menuTxt {
    font-size: 10px;
}

.menulist2 li .price {
    font-size: 1em !important;
    /* position: absolute; */
    /* top:0; */
    /* right:0; */
    display: inline-block;
    float: right;
    text-align: right;
}

.menulist2 li .smoll {
    letter-spacing: 1px;
}

.menulist2 li .up {
    background: #000000;
    border-radius: 6px;
    font-size: 0.75em;
    color: #fff;
    padding: 3px 5px 3px 8px;
    margin-left: 10px;
}

.txtBox {
    font-size: 10px;
}

.menulist3 {
    width: 100%;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    background: #fff;
    border-radius: 6px;
    border: solid 1px #707070;
    padding: 25px 30px;
}

.menulist4 {
    width: 100%;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    background: #fff;
    border-radius: 6px;
    border: solid 1px #707070;
    padding: 25px 30px;
    font-size: 0.85rem;
}

.menulist3 ul {
    width: 55%;
}

.menulist3 ul:nth-child(2n) {
    width: 45%;
}

.menulist3 ul li {
    font-size: 0.85em;
    letter-spacing: 1px;
}

.menu04 {
    background: #E2E2E2;
    padding: 100px 0 60px;
}

.menuTxt {
    display: block;
}

.menuFlex {
    display: -ms-flexbox;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
}

.menuPrice {
    margin-left: auto;
    padding-left: 1em;
}

.taxPricetxt {
    font-size: 10px;
}

.smallTxt {
    font-size: 10px;
}


#drink {
    padding-top: 100px;
}


/* menu end*/


/* shop */

#shop #header {
    background: url(../images/shop/header.png) no-repeat center top;
    background-size: cover;
}

#shop #header .httl {
    padding: 0 120px;
}

#shop #header .httl h1 {
    padding: 25px 0 10px;
}

.imglist {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 60px 0;
}

.imglist li {
    width: 30%;
    max-width: 350px;
}

.shop1 {
    padding: 60px 0;
    text-align: left;
}

.shop1 h2 {
    padding: 0 0 60px 10px;
}

.shop1 table {
    width: 100%;
    font-size: 0.9em;
    margin-bottom: 50px;
}

.shop1 table th {
    width: 23%;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: normal;
    vertical-align: middle;
    padding: 20px 10px;
}

.shop1 table td {
    vertical-align: middle;
    padding: 20px 10px;
}

.vTtop {
    vertical-align: top !important;
}

.shop1 p {
    padding: 0 10px 30px;
    font-size: 1.05em;
}

#access .map {
    margin-bottom: 20px;
}

#access p {
    font-size: 0.9em;
}


/* shop end*/


/* 20200312追記ここから */

.season h2.ttl3 {
    border-bottom: dotted 1px #a0a0a0;
    padding-bottom: 10px;
    margin-bottom: 15px;
}

.season ul:after {
    display: block;
    content: "";
    clear: both;
}

.season li {
    float: left;
}

section.season {
    width: 65%;
    margin: 0 auto;
}

li.settl {
    width: 80%;
}

.season ul {
    border-bottom: 1px dashed #aaa;
    margin-bottom: 15px;
}

/* 20200312追記ここまで */

.instagram-card {
    position: relative;
    margin-bottom: 10px;
}

.instagram-card a {
    height: auto;
    position: absolute;
    top: 10px;
    right: 20px;
    width: 20px;
}


p.beerTxt02 {
    margin-top: -25px;
}

.beerTitBox {
    margin-top: -50px;
}


/* 20230818@追記 */
.tekeImgF {
    display: flex;
    flex-direction: row-reverse;
}

.tekuImg {
    width: 600px;
    margin: 30px 20px 0 0;
}

.tekeImgF>ul>li {
    width: 71%;
    margin-top: 30px;
}

.tekeMenuSub {
    font-size: 25px;
    margin-bottom: 10px;
}

.tekeTitRed {
    font-size: 20px;
    color: red;
}

.titRed {
    color: red;
}

.reservationSubTit {
    font-size: 13px;
}

/* 20230818@追記ここまで */

/* 20231225@追記 */

.imgDtlTxt {
    margin: 30px auto 0;
    padding: 0 0 10px;
    font-size: 1.1em;
}

/* 20231225@追記ここまで */