﻿@charset "UTF-8";

/* ---------------------------------------------------------
	CSS Document senbero
--------------------------------------------------------- */
html, body {
    max-width: 640px;
}

label {
    -webkit-tap-highlight-color: rgba(0,0,0,0);
    tap-highlight-color: rgba(0,0,0,0);
}

#__pnlPCheader {
    max-width: 640px;
    width: 100%;
    overflow: hidden !important;
}

#main_contents {
    text-align: center;
}

#main_contents h3,
#main_contents ol,
#main_contents ul,
#main_contents li,
#main_contents dt,
#main_contents div,
#main_contents span,
#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 .pc {
    display: none;
}

/* ---------------------------------------------------------
	CSS Document top > visual
--------------------------------------------------------- */

#main_contents #visual {
    margin-bottom: 45px;
    position: relative;
    overflow: inherit;
}

#main_contents #visual li {
    width: 20%;
    padding-top: 100%;
    position: absolute;
    bottom: -20%;
    right: 7%;
}

/* ---------------------------------------------------------
	CSS Document top > navi
--------------------------------------------------------- */

#main_contents #navi {
    width:100%;
    margin: 0 auto 20px;
    padding:0 3vw;
    display: flex;
    justify-content: space-between;
}

#main_contents #navi li {
    width: 45%;
    position: relative;
    top:0;
}


/* ---------------------------------------------------------
	CSS Document about
--------------------------------------------------------- */

#main_contents #about {
    margin: 0 15px 40px;
    position: relative;
}

#main_contents #about h2 {
    margin-bottom: 15px;
}

#main_contents #about p {
    position: absolute;
    top: 14vw;
    padding: 0 10%;
    font-size: 3.6vw;
    line-height: 6.3vw;
    text-align: left;
}

#main_contents #about dt {
    display: inline-block;
    vertical-align: middle;
    margin-bottom: -10px;
    padding: 0 15px;
    background: #fff;
    font-size: 15px;
}

#main_contents #about dd {
    padding: 20px 10px 15px;
    border: solid 1px #231816;
    font-size: 13px;
    line-height: 1.5;
}

/* ---------------------------------------------------------
	CSS Document inquiry
--------------------------------------------------------- */
#main_contents #inquiry {
    margin: 0 15px 70px;
    position: relative;
}

/* ---------------------------------------------------------
	CSS Document campaign
--------------------------------------------------------- */
#main_contents #campaign {
    margin: 0 0 80px;
    position: relative;
}

#main_contents .hushcopy,
#main_contents .cpLink {
    display: block;
    margin: 0 15px 30px;
    position: relative;
}

#main_contents .cpLink a.cpLink_a {
    display: block;
    margin-bottom: 10px;
}

#main_contents .cpLink a.cpLink_b {
    text-decoration: underline;
}

#main_contents .cpLink .sp_br {
    display: block;
}

#main_contents .hushcopy img {
    display: block;
    width:100%;
}

/* ---------------------------------------------------------
	CSS Document senberomap
--------------------------------------------------------- */

#main_contents #main_contentsmap {
    padding: 10px 3vw;
    margin-bottom: 30px;
    /*background: #fdeedf;*/
}

#main_contents #main_contentsmap h2 {
    margin-bottom: 30px;
}

#main_contents #main_contentsmap h2 img {
    width:100%;
}

#map_canvas {
    height: 96vw !important;
}
/* ---------------------------------------------------------
	CSS Document refine search
--------------------------------------------------------- */
#main_contents .refineSearch {
    margin-bottom: 20px;
    padding:0 3vw;
}

.checkbox-input {
    display: none;
}

#main_contents span.checkbox-parts {
    display: block;
    color:#1b1464;
    border:1px solid #1b1464;
    border-radius: 20px;
    padding:10px 5px;
    text-align: center;
    transition: .2s;
    cursor: pointer;
}

.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: 80%;
    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: 30px;
}

.refineSearch .areaCheck label {
    width:23%;
}

.refineSearch .areaCheck label span.checkbox-parts {
    font-size:.8em;
}

.refineSearch .typeCheck label {
    width:48%;
}

.refineSearch .genreCheck label {
    width:23%;
}

.refineSearch .genreCheck label span.checkbox-parts {
    font-size:.8em;
}

.refineSearch .checkbox {
    display: flex;
    justify-content: space-between;
}

.refineSearch .checkbox.areaCheck {
    flex-wrap: wrap;
}

p.seachResult {
    font-size: 4.5vw;
    font-weight: bold;
    margin-bottom: 10px;
    color:#000044;
}

#main_contents #button_location {
    position: relative;
    width:60%;
    display: block;
    border:1px solid #020054;
    border-radius: 20px;
    margin: 0 auto 30px;
    padding:10px 0;
    text-align: center;
    font-size:.8em;
    color:#020054 !important;
    cursor: pointer;
    background:url(../image/location_icon_selected.png) 8% 50% no-repeat;
    background:url(../image/location_icon.png) 8% 50% no-repeat;
    transition: .3s;
    background-size:20px;
}

#main_contents #button_location.selected {
    color:#FFF !important;
    background:url(../image/location_icon_selected.png) 8% 50% no-repeat #020054;
    background-size:20px;
}
/* ---------------------------------------------------------
	CSS Document list
--------------------------------------------------------- */
#main_contents #list {
    margin-top: 50px;
    position: relative;
}

#main_contents #list h2 {
    margin-bottom:30px;
    padding:0 3vw;
}

#main_contents #list h2 img {
    width:100%;
}

#main_contents #list .section_group {
    width: 100%;
    padding: 15px 3vw;
    background-color: #fbd63b;
}

#main_contents #list .section {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    position: relative;
    width: 100%;
    margin-bottom: 15px;
    /*padding: 5px;*/
    padding:0 10px 10px 0;
    background: #fff;
    text-align: left;
    font-size: 0;
}

#main_contents #list .photo {
    display: block;
    width: 32vw;
    height: 32vw;
}

#main_contents #list .photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#main_contents #list .shopInfoWrap {
    width: 54vw;
    margin-left: 10px;
    padding-top:10px;
}

#main_contents #list h3 {
    font-size: 4vw;
    font-weight: bold;
    line-height: 4.5vw;
    margin-bottom:.75em;
    color:#000044;
}

#main_contents #list .address {
    font-size: 3.0vw;
    font-weight: normal;
    line-height: 4vw;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    /*background-color: aqua;*/
}

#main_contents #list .open {
    font-size: 3.0vw;
    line-height: 4vw;
    font-weight: normal;
    /*background-color: pink;*/
}

#main_contents #list .menu {
    font-size: 3.0vw;
    line-height: 3.8vw;
    margin-bottom: 1em;
    font-weight: bold;
}

#main_contents #list .shopLabelWrap {
    display: flex;
    width:100%;
    margin:10px 0 0;
}

#main_contents #list .shopLabelWrap div {
    margin-left: 10px;
}

#main_contents #list .area {
    display: flex;
    justify-content: center;
    align-items:center;
    font-size: 2.6vw;
    font-weight: normal;
    text-align: center;
    width: 16vw;
    color: #FFF;
    background-color: #000;
}

#main_contents #list .take-out {
    width: 16vw;
}

#main_contents #list .delivery {
    font-size: 2.6vw;
    width: 16vw;
}

#main_contents #list .price {
    display: flex;
    justify-content: center;
    align-items:center;
    font-size: 2.6vw;
    font-weight: normal;
    text-align: center;
    width: 16vw;
    color: #FFF;
    background-color: #000;
}

#main_contents #list .nazo-beer {
    width: 32vw;
}

#main_contents #list .attention {
    font-size: 3.0vw;
    font-weight: normal;
    width: 100%;
}

#main_contents #list .arrow {
    position: absolute;
    bottom: 10px;
    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;
    align-items: flex-start;
    width: 94%;
    /* height: 57vw; */
    /*background: #fff;*/
    text-align: left;
    font-weight: 500;
    font-size: 13px;
    line-height: 1.4;
    position: relative;
    background-color:#FFF;
}

#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: 32vw;
    height: 32vw;
}

#main_contents #overlay .photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#main_contents #overlay .shopInfoWrap {
    width: 54vw;
    margin-left: 10px;
    padding-top:10px;
}

#main_contents #overlay h3 {
    font-size: 4vw;
    font-weight: bold;
    line-height: 4.5vw;
    margin-bottom:.75em;
    color:#000044;
}

#main_contents #overlay .address {
    font-size: 3.0vw;
    font-weight: normal;
    line-height: 4vw;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    /*background-color: aqua;*/
}

#main_contents #overlay .open {
    font-size: 3.0vw;
    line-height: 4vw;
    font-weight: normal;
    /*background-color: pink;*/
}

#main_contents #overlay .menu {
    font-size: 3.0vw;
    line-height: 3.8vw;
    margin-bottom: 1em;
    font-weight: bold;
}

#main_contents #overlay .shopLabelWrap {
    display: flex;
    width:100%;
    margin:10px 0;
}

#main_contents #overlay .shopLabelWrap div {
    margin-left: 10px;
}

#main_contents #overlay .area {
    display: flex;
    justify-content: center;
    align-items:center;
    font-size: 2.6vw;
    font-weight: normal;
    text-align: center;
    width: 16vw;
    color: #FFF;
    background-color: #000;
}

#main_contents #overlay .take-out {
    width: 16vw;
}

#main_contents #overlay .delivery {
    font-size: 2.6vw;
    width: 16vw;
}

#main_contents #overlay .price {
    display: flex;
    justify-content: center;
    align-items:center;
    font-size: 2.6vw;
    font-weight: normal;
    text-align: center;
    width: 16vw;
    color: #FFF;
    background-color: #000;
}

#main_contents #overlay .nazo-beer {
    width: 32vw;
}

#main_contents #overlay .attention {
    font-size: 3.0vw;
    font-weight: normal;
    width: 100%;
}

#main_contents #overlay .arrow {
    position: absolute;
    bottom: 10px;
    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;
}

/***********************************************/
/*  pageTop  */
/***********************************************/

a.topLink {
    width: 100px;
    height: 30px;
    color: #FFF;
    display: block;
    position: fixed;
    bottom: 2vh;
    margin-left: calc(100vw - 120px) !important;
    padding: 0;
    line-height: 30px;
    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: 100%;
    display: inline-block;
    margin: 5px !important;
}

.bnr li img {
    border: solid 1px #ccc;
}
