﻿@charset "UTF-8";

/* ---------------------------------------------------------
	CSS Document senbero
--------------------------------------------------------- */

#main_contents {
    width: 950px;
    margin: 60px auto 20px;
    text-align: center;
}

#main_contents h3,
#main_contents ol,
#main_contents ul,
#main_contents li,
#main_contents dt,
#main_contents span,
#main_contents div,
#main_contents dd,
#main_contents a {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    list-style: none;
}

#main_contents img {
    vertical-align: top;
    max-width: 100%;
    height: auto;
    border: 0;
}

#main_contents .sp {
    display: none;
}

/* ---------------------------------------------------------
	CSS Document top > visual
--------------------------------------------------------- */

#main_contents #visual {
    margin-bottom: 50px;
}

#main_contents #visual li {
    width: 146px;
    height: 146px;
    bottom: -73px;
    right: 170px;
}

/* ---------------------------------------------------------
	CSS Document top > navi
--------------------------------------------------------- */

#main_contents #navi {
    width:378px;
    margin: 0 auto 20px;
    display: flex;
    justify-content: space-between;
}

#main_contents #navi li {
    width: 180px;
    position: relative;
    transition: .3s;
    top:0;
}

#main_contents #navi li:hover {
    top:3px;
}


/* ---------------------------------------------------------
	CSS Document about
--------------------------------------------------------- */

#main_contents #about {
    position: relative;
    margin-bottom: 40px;
}

#main_contents #about h2 {
    margin-bottom: 15px;
}

#main_contents #about p {
    position: absolute;
    top: 100px;
    padding: 0 217px;
    font-size: 26px;
    line-height: 45px;
    text-align: left;
}

#main_contents #about dt {
    display: inline-block;
    *display: inline;
    *zoom: 1;
    vertical-align: middle;
    margin-bottom: -12px;
    padding: 0 15px;
    background: #fff;
    font-size: 15px;
}

#main_contents #about dd {
    width: 700px;
    margin: 0 auto;
    padding: 20px;
    border: solid 1px #231816;
    font-size: 14px;
}

/* ---------------------------------------------------------
	CSS Document inquiry
--------------------------------------------------------- */
#main_contents #inquiry {
    margin: 0 300px;
    position: relative;
}

/* ---------------------------------------------------------
	CSS Document campaign
--------------------------------------------------------- */
#main_contents #campaign {
    margin-bottom: 50px;
}

#main_contents .hushcopy {
    display: block;
    width:373px;
    margin:0 auto;
}

#main_contents .cpLink {
    display: block;
    width:710px;
    margin:0 auto;
    padding-top: 60px;
}

a.cpLink_a {
    display: block;
    transition: .3s;
}

a.cpLink_a:hover {
    opacity: .7;
}

a.cpLink_b {
    text-decoration: underline;
}

#main_contents .cpLink .sp_br {
    display: none;
}

#main_contents .hushcopy img,
#main_contents .cpLink img {
    display: block;
    width:100%;
}


/* ---------------------------------------------------------
	CSS Document senberomap
--------------------------------------------------------- */

#main_contents #main_contentsmap {
    /*padding: 10px 5%;*/
    padding-top:50px;
    margin-bottom: 30px;
    /*background: #fdeedf;*/
}

#main_contents #main_contentsmap h2 {
    display: block;
    text-align: center;
    width:373px;
    margin:0 auto 20px;
    font-weight: normal;
}

#map_canvas {
    height: 450px !important;
}

/* ---------------------------------------------------------
	CSS Document refine search
--------------------------------------------------------- */
#main_contents .refineSearch {
    margin-bottom: 40px;
}

.checkbox-input {
    display: none;
}

#main_contents span.checkbox-parts {
    display: block;
    color:#1b1464;
    border:1px solid #1b1464;
    border-radius: 20px;
    padding:5px;
    text-align: center;
    transition: .2s;
    cursor: pointer;
    font-size: 14px;
}
.checkbox-input:checked + span.checkbox-parts {
    color:#fff !important;
    background-color:#1b1464;
}

#main_contents .typeCheck span.checkbox-parts,
#main_contents .genreCheck span.checkbox-parts {
    color:#d70029;
    border:1px solid #d70029;
}

.typeCheck .checkbox-input:checked + span.checkbox-parts,
.genreCheck .checkbox-input:checked + span.checkbox-parts {
    background-color:#d70029;
}

/* 謎のビール start */
#main_contents .refineSearch .nazoCheck label {
    width: 48%;
    margin: 0 auto 30px;
}

#main_contents .nazoCheck span.checkbox-parts {
    color: #000000;
    font-weight: bold;
    border: 3px dashed #000000;
}

#main_contents .nazoCheck .checkbox-input:checked + span.checkbox-parts {
    color: #FFFFFF;
    background-color: #000000;
}
/* 謎のビール end */

.refineSearch label {
    display: block;
    margin-bottom: 20px;
}

.refineSearch .areaCheck label {
    width:15%;
}

.refineSearch .typeCheck label {
    width:31.8%;
    margin:0 12px 20px;
}

.refineSearch .genreCheck label {
    width:15%;
    margin:0 10px 20px;
}

.refineSearch .checkbox {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.refineSearch .checkbox.typeCheck,
.refineSearch .checkbox.genreCheck {
    justify-content: center;
}

p.seachResult {
    font-size: 16px;
    font-weight: bold;
    line-height: 1.2em;
    margin-bottom: 10px;
    color: #020054;
    transition: .3s;
}

#main_contents #button_location {
    position: relative;
    width:30%;
    display: flex;
    justify-content: center;
    align-items: center;
    border:1px solid #020054;
    margin:0 auto 30px;
    padding:5px 0;
    font-size: 14px;
    text-align: center;
    border-radius: 20px;
    color:#020054 !important;
    cursor: pointer;
    transition: .3s;
    background:url(../image/location_icon_selected.png) 25% 50% no-repeat;
    background:url(../image/location_icon.png) 25% 50% no-repeat;
    background-size:20px;
}

#main_contents #button_location.selected {
    color:#FFF !important;
    background:url(../image/location_icon_selected.png) 25% 50% no-repeat #020054;
    background-size:20px;
}
/* ---------------------------------------------------------
	CSS Document list
--------------------------------------------------------- */
#main_contents #list {
    margin-top: 50px;
    position: relative;
}

#main_contents #list h2 {
    display: block;
    text-align: center;
    width:373px;
    margin:0 auto 20px;
    font-weight: normal;
}

#main_contents #list .section_group {
    width: 100%;
    padding: 15px 3vw;
    background-color: #fbd63b;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

#main_contents #list .section {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    position: relative;
    width: 48%;
    margin-bottom: 20px;
    /*padding: 5px;*/
    padding:0 10px 10px 0;
    background: #fff;
    text-align: left;
    font-size: 0;
    transition: .3s;
}

#main_contents #list .section:hover {
    background-color: #FFD;
}

#main_contents #list .photo {
    display: block;
    width: 148px;
    height: 148px;
}

#main_contents #list .photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#main_contents #list .shopInfoWrap {
    width: 60%;
    padding-top:10px;
    padding-left:10px;
}

#main_contents #list h3 {
    font-size: 16px;
    font-weight: bold;
    line-height: 1.2em;
    margin-bottom:15px;
    color:#020054;
    transition: .3s;
}

#main_contents #list a:hover h3 {
    color:#933481;
}

#main_contents #list .address {
    font-size: 12px;
    font-weight: normal;
    white-space: nowrap;
    line-height: 1.5em;
    text-overflow: ellipsis;
    overflow: hidden;
    /*background-color: aqua;*/
}

#main_contents #list .open {
    font-size: 12px;
    font-weight: normal;
    line-height: 1.5em;
    /*background-color: pink;*/
}

#main_contents #list .menu {
    font-size: 14px;
    line-height: 1.2em;
    margin-bottom: 1em;
    font-weight: bold;
}

#main_contents #list .shopLabelWrap {
    display: flex;
    width:100%;
    margin:10px 0 5px;
}

#main_contents #list .shopLabelWrap div {
    margin-left: 10px;
}

#main_contents #list .area {
    display: flex;
    justify-content: center;
    align-items:center;
    font-size: 12px;
    font-weight: normal;
    text-align: center;
    width: 80px;
    color: #FFF;
    background-color: #000;
}

#main_contents #list .take-out {
    width: 80px;
}

#main_contents #list .delivery {
    width: 80px;
}

#main_contents #list .price {
    display: flex;
    justify-content: center;
    align-items:center;
    font-size: 12px;
    font-weight: normal;
    text-align: center;
    width: 80px;
    color: #FFF;
    background-color: #000;
}

#main_contents #list .nazo-beer {
    width: 148px;
}

#main_contents #list .attention {
    font-size: 12px;
    font-weight: normal;
    width: 100%;
    line-height: 1.2em;
}

#main_contents #list .arrow {
    position: absolute;
    bottom: 15px;
    right: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    vertical-align: middle;
    width: 25px;
    height: 25px;
    border-radius: 12.5px;
    background-color: #b3b3b3;
}

#main_contents #list .arrow:after {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    margin-left: -3px;
	-webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    border-top:2px solid #FFF;
    border-right:2px solid #FFF;
}

/* ---------------------------------------------------------
	CSS Document overlay
--------------------------------------------------------- */
    #main_contents #overlay {
    display: none;
    width: 100%;
    height: 100vh;
    justify-content: center;
    align-items: center;
    background: rgba(0,0,0,0.4);
    position: fixed;
    top: 0;
    left: 0;
    z-index: 99997;
}


#main_contents #overlay:before {
    display: inline-block;
    vertical-align: middle;
    content: '';
    width: 1px;
    height: 100vh;
}

#main_contents #overlay .section {
    display: flex;
    flex-wrap: wrap;
    width: 450px;
    background: #fff;
    text-align: left;
    font-weight: 500;
    font-size: 13px;
    line-height: 1.4;
    background-color:#FFF;
    position: relative;
    transition: .3s;
}

#main_contents #overlay .section:hover {
    background-color: #FFD;
}

#main_contents #overlay .close {
    width: 40px;
    height: 40px;
    background: rgba(255,255,255,0.9) url(../image/icon_close.png) no-repeat center / 58% auto;
    position: absolute;
    top: 0;
    right: 0;
}

#main_contents #overlay .back {
    width: 100%;
    height: 100%;
}

#main_contents #overlay .photo {
    display: block;
    width: 148px;
    height: 148px;
}

#main_contents #overlay .photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#main_contents #overlay .shopInfoWrap {
    width: 60%;
    padding-top:10px;
    padding-left:10px;
}

#main_contents #overlay h3 {
    font-size: 16px;
    font-weight: bold;
    line-height: 1.2em;
    margin-bottom:15px;
    color:#020054;
    transition: .3s;
}

#main_contents #overlay a:hover h3 {
    color:#933481;
}

#main_contents #overlay .address {
    font-size: 12px;
    font-weight: normal;
    white-space: nowrap;
    line-height: 1.5em;
    text-overflow: ellipsis;
    overflow: hidden;
    /*background-color: aqua;*/
}

#main_contents #overlay .open {
    font-size: 12px;
    font-weight: normal;
    line-height: 1.5em;
    /*background-color: pink;*/
}

#main_contents #overlay .menu {
    font-size: 14px;
    line-height: 1.2em;
    margin-bottom: 1em;
    font-weight: bold;
}

#main_contents #overlay .shopLabelWrap {
    display: flex;
    width:100%;
    margin:10px 0 5px;
}

#main_contents #overlay .shopLabelWrap div {
    margin-left: 10px;
}

#main_contents #overlay .area {
    display: flex;
    justify-content: center;
    align-items:center;
    font-size: 12px;
    font-weight: normal;
    text-align: center;
    width: 80px;
    color: #FFF;
    background-color: #000;
}

#main_contents #overlay .take-out {
    width: 80px;
}

#main_contents #overlay .delivery {
    width: 80px;
}

#main_contents #overlay .price {
    display: flex;
    justify-content: center;
    align-items:center;
    font-size: 12px;
    font-weight: normal;
    text-align: center;
    width: 80px;
    color: #FFF;
    background-color: #000;
}

#main_contents #overlay .nazo-beer {
    width: 148px;
}

#main_contents #overlay .attention {
    font-size: 12px;
    font-weight: normal;
    width: 100%;
    line-height: 1.2em;
}

#main_contents #overlay .arrow {
    position: absolute;
    bottom: 5px;
    right: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    vertical-align: middle;
    width: 25px;
    height: 25px;
    border-radius: 12.5px;
    background-color: #b3b3b3;
}

#main_contents #overlay .arrow:after {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    margin-left: -3px;
	-webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    border-top:2px solid #FFF;
    border-right:2px solid #FFF;
}

/*#main_contents #overlay .name {
    padding: 5px;
    font-size: 0;
}

#main_contents #overlay .name p {
    display: inline-block;
    vertical-align: middle;
    width: 50px;
    height: 34px;
    margin-right: 5px;
    background: #ea3744;
    text-align: center;
    font-size: 14px;
    line-height: 34px;
    color: #fff;
    position: relative;
    z-index: 2;
}

#main_contents #overlay .name h3 {
    display: inline-block;
    vertical-align: middle;
    width: 100%;
    height: 33px;
    overflow: hidden;
    margin-left: -55px;
    padding-left: 55px;
    border-bottom: dashed 1px #998675;
    position: relative;
    z-index: 1;
}

#main_contents #overlay .name h3:before {
    display: inline-block;
    vertical-align: middle;
    content: '';
    width: 1px;
    height: 30px;
}

#main_contents #overlay .name h3 a {
    display: inline-block;
    vertical-align: middle;
    width: 100%;
    margin-left: -1px;
    padding-left: 1px;
    text-decoration: none;
    font-size: 14px;
    line-height: 1.1;
    color: #998675;
}

#main_contents #overlay .name h3 a:hover {
    text-decoration: underline;
    color: #760b11;
}

#main_contents #overlay .menu {
    padding: 5px;
    font-size: 16px;
    line-height: 1.3;
}

#main_contents #overlay .caption {
    padding: 0 5px;
    font-size: 12px;
    line-height: 1.3;
}

#main_contents #overlay .date {
    margin: 10px 5px;
    padding: 5px 0 0 10px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
    background: #e9e0d7;
    font-size: 17px;
    font-weight: bold;
}

#main_contents #overlay .date p span {
    font-size: 13px;
}

#main_contents #overlay .date ul {
    margin-top: 5px;
}

#main_contents #overlay .date li {
    display: inline-block;
    vertical-align: top;
    height: 23px;
    overflow: hidden;
    padding: 0 3px;
    background: #453b35;
    margin-bottom: 10px;
    text-align: center;
    font-size: 17px;
    line-height: 24px;
    color: #fff;
}

#main_contents #overlay .date li.couponOff {
    background: #eeeeee;
}

#main_contents #overlay address {
    padding: 0 5px 5px;
    font-style: normal;
    font-size: 12px;
}

#main_contents #overlay .telLink {
    display: block;
    height: 34px;
    background: #760b11;
    text-align: center;
    text-decoration: none;
    font-family: 'Times New Roman';
    font-size: 22px;
    line-height: 34px;
    color: #fff;
}

#main_contents #overlay .telLink:before {
    display: inline-block;
    vertical-align: middle;
    content: '';
    width: 20px;
    height: 24px;
    margin-right: 5px;
    background: url(../image/icon_tel.png) no-repeat 0 0 / 100% auto;
}

#main_contents #overlay .telLink:hover {
    opacity: 0.8;
    filter: Alpha(opacity=80);
}*/

/***********************************************/
/*  pageTop  */
/***********************************************/

a.topLink {
    width: 100px;
    height: 50px;
    color: #FFF;
    display: block;
    position: fixed;
    bottom: 17%;
    margin-left: 968px !important;
    padding: 0;
    line-height: 50px;
    text-align: center;
    text-decoration: none;
    font-size: 12px;
    border-radius: 50px;
    -moz-border-radius: 50px;
    -webkit-border-radius: 50px;
    background-color: #957026;
    -ms-filter: "alpha(opacity=80)";
    -moz-opacity: 0.8;
    -khtml-opacity: 0.8;
    opacity: 0.8;
    z-index: 1000;
}

/* ---------------------------------------------------------
	footter-bnr
--------------------------------------------------------- */

.bnr li {
    width: 468px;
    display: inline-block;
    margin: 5px 2px;
}

.bnr li img {
    border: solid 1px #ccc;
}
