@charset "utf-8";

@import url(//maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css);
@import url(//use.fontawesome.com/releases/v5.0.6/css/all.css);
@import url(//fonts.googleapis.com/earlyaccess/sawarabimincho.css);


/*
	font-family:"FontAwesome";
	font-family:"Font Awesome 5 Free";
*/


/*========================================
 Base
========================================*/
html {font-size:62.5%;}
body {font-size:1.2rem;}

.blue {color:#8cc5ce;}
.red {color:#dbb0db;}


/* PC */
@media screen and (min-width: 641px) {
.spOnly {display:none;}

body{
    background:url(../images/bg_header.png) center top no-repeat, url(../images/bg_pattern.png) center top no-repeat fixed #040404;
    font-size:1.4rem;
    line-height:1.6;
}

#ContentWrap{
    font-family:"Sawarabi Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
    width:1080px;
    margin:0 auto;
    color:#fff;
}


/* header */
header {margin-bottom:30px;}
header h1 {display:none;}
header > div {overflow:hidden;}
header #logo{
    float:left;
    width:359px;
    padding:46px 40px 10px 60px;
    box-sizing:border-box;
}
header #headerRight{
    float:left;
    padding:30px 0 0 10px;;
}
header #headerRight p{
    font-size:5.2rem;
    color:#f2e7d2;
    letter-spacing:-5px;
}
header #headerRight p span{
    color:#dbb0db;
    letter-spacing:0;
}
header #headerRight ul{
    width:710px;
    padding:14px 0 0 40px;
    box-sizing:border-box;
}
header #headerRight li{
    font-size:2rem;
    color:#f2e7d2;
    line-height:1.7;
    list-style:none;
}
header #headerRight li:nth-of-type(3){
    font-size:2.6rem;
    color:#b5b1f0;
}


/* nav */
nav ul{
    display:flex;
    width:1080px;
    margin:0 0 80px;
    padding:20px;
    border-top:1px solid #545353;
    border-bottom:1px solid #545353;
}
nav li{
    width:calc(100% / 3 - 1em);
    font-size:2.4rem;
    text-align:center;
}
nav li::after{
    display:inline;
    content:"◆";
    font-size:1.6rem;
    color:#536870;
}
nav li:last-of-type::after {display:none;}
nav li a{
    padding:0 4.6em;
    color:#fff;
    text-decoration:none;
    transition:0.5s;
}
nav li a:hover {color:#536870;}


/* ランキング */
.rankingWrap{
    margin-bottom:50px;
    text-align:center;
}
.rankingWrap > p{
    padding-bottom:20px;
    border-bottom:1px dashed #555;
}
.rankingWrap > p a img {height:300px;}
.rankingWrap ul{
    overflow:hidden;
    margin:20px 0 0;
}
.rankingWrap li{
    float:left;
    width:21%;
    margin:0 2% 20px;
    list-style:none;
}
.rankingWrap li a img{
    max-width:226px;
    height:200px;
}


/* 開催概要 */
#overview{
    background:url("../images/bg_info.png") left -77px no-repeat;
    width:1000px;
    margin:0 auto;
    padding-bottom:80px;
}
.Tit{
    position:relative;
    width:1060px;
    margin:0 auto 40px;
    font-size:3rem;
    text-align:center;
    border-bottom:3px solid #96a9b3;
}
.Tit::after{
    position:absolute;
    content:"";
    bottom:-3px;
    display:block;
    width:30%;
    margin:0 auto;
    font-size:2rem;
    line-height:1.8;
    border-bottom:3px solid #bf9224;
}
.InfoTxt{
    width:960px;
    margin:0 auto;
    font-size:2rem;
    line-height:1.8;
}


/* 開催店舗 */
#Shop{
    background:url("../images/bg_shop.png") left -77px no-repeat;
    margin-bottom:80px;
}
.RegionBox{
    position:relative;
    overflow:hidden;
    width:940px;
    margin:0 auto;
}
.Region{
    padding-right:2em;
    font-size:2.3rem;
}
.Region::after{
    content:"";
    position:absolute;
    top:17px;
    width:100%;
    margin-left:1.5em;
    border-top:2px solid #536870;
}
.RegionBox .Name{
    overflow:hidden;
    width:100%;
    margin:0 auto 20px;
}
.RegionBox .Name p{
    float:left;
    margin-bottom:8px;
    padding-right:2em;
}
.RegionBox .Name p a{
    color:#fff;
    text-decoration:none;
    transition:0.5s;
}
.RegionBox .Name p a::before{
    content:"▼";
    font-size:1.2rem;
    margin-right:2px;
    transition:0.5s;
}
.RegionBox .Name p a:hover {color:#536870;}
.RegionBox .Name p a:hover::before {color:#93c7cd;}


/* 店舗写真 */
.Tit2{
    background:linear-gradient(to right, #040404, #292208 20%, #040404 50%, #292208 80%, #040404);
    margin-bottom:20px;
    padding:6px 0;
    font-size:2rem;
    text-align:center;
    border:1px solid #614e08;
}
.shopWrap{
    overflow:hidden;
    width:1060px;
    margin:20px auto 60px;
}
.shopWrap .shopBox{
    float:left;
    width:calc(100% / 4 - 20px);
    margin:0 10px 40px;
}
.shopWrap .shopBox p:first-of-type{
    height:185px;
    text-align:center;
}
.shopWrap .shopBox p img{
    position:relative;
    top:50%;
    transform:translateY(-50%);
    max-width:calc(100% - 2px);
    max-height:185px;
    vertical-align:bottom;
    border:1px solid #536870;
}
.shopWrap .Name{
    padding:12px 0 6px;
    color:#fff;
    text-align:center;
    line-height:1;
}
.shopWrap form input{
    display:block;
    background:#536870;
    width:100%;
    height:34px;
    padding:6px 0;
    color:#fff;
}
.shopWrap form input:hover {border:1px solid #564840;}



/* footer */
footer .copyright{
	margin:10px 0 30px;
	font-size:1.2rem;
    color:#fff;
	text-align:center;
}  

}




/* スマホ */
@media screen and (max-width: 640px) {

/*.pcOnly {display:none;}*/

body{
    background:url(../images/bg_header.png) center top no-repeat, url(../images/bg_pattern.png) center top no-repeat fixed #040404;
    font-size:1.3rem;
    line-height:1.6;
}

#ContentWrap{
    font-family:"Sawarabi Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
    width:94%;
    margin:0 auto;
    color:#fff;
}


/* header */
header {margin-bottom:14px;}
header h1 {display:none;}
header > div {overflow:hidden;}
header #logo{
    width:160px;
    margin:0 auto;
    padding-top:20px;
    box-sizing:border-box;
}
header #logo img {width:100%;}
header #headerRight p{
    font-size:2.5rem;
    color:#f2e7d2;
    text-align:center;
    letter-spacing:-5px;
}
header #headerRight p span{
    color:#dbb0db;
    letter-spacing:0;
}
header #headerRight ul{
    width:86%;
    margin:0 auto;
    padding:8px 0;
    border-top:1px solid #545353;
    box-sizing:border-box;
}
header #headerRight li{
    margin-bottom:7px;
    font-size:1.3rem;
    color:#f2e7d2;
    text-align:center;
    line-height:1.5;
    list-style:none;
}
header #headerRight li:nth-of-type(3){
    font-size:1.4rem;
    color:#b5b1f0;
}
header #headerRight li:last-of-type {margin-bottom:0;}


/* nav */
nav ul{
    display:flex;
    width:100%;
    margin:0 0 30px;
    padding:20px 0;
    border-top:1px solid #545353;
    border-bottom:1px solid #545353;
    box-sizing:border-box;
}
nav li{
    width:calc(100% / 3);
    font-size:1.5rem;
    text-align:center;
}
nav li::after{
    display:inline;
    content:"◆";
    font-size:1.2rem;
    color:#536870;
}
nav li:last-of-type::after {display:none;}
nav li a{
    padding:0 14px;
    color:#fff;
    text-decoration:none;
}
nav li:last-of-type a {padding-left:0;}


/* ランキング */
.rankingWrap{
    margin-bottom:30px;
    text-align:center;
}
.rankingWrap > p {padding-bottom:20px;}
.rankingWrap > p img {max-width:100%;}
.rankingWrap > p a img {height:300px;}
.rankingWrap ul{
    overflow:hidden;
    margin:20px 0 0;
}
.rankingWrap li{
    margin-bottom:20px;
    list-style:none;
}
.rankingWrap li a img{
    max-width:100%;
    height:200px;
}


/* 開催概要 */
#overview{
    background:url("../images/bg_info.png") left -77px no-repeat;
    width:96%;
    margin:0 auto;
    padding-bottom:30px;
}
.Tit{
    position:relative;
    margin-bottom:14px;
    font-size:1.8rem;
    text-align:center;
    border-bottom:3px solid #96a9b3;
}
.Tit::after{
    position:absolute;
    content:"";
    bottom:-3px;
    display:block;
    width:30%;
    border-bottom:3px solid #bf9224;
}
.InfoTxt{
    width:100%;
    margin:0 auto;
    font-size:1.5rem;
    line-height:1.6;
}


/* 開催店舗 */
#Shop{
    background:url("../images/bg_shop.png") left -77px no-repeat;
    width:96%;
    margin:0 auto 30px;
}
.RegionBox{
    position:relative;
    overflow:hidden;
}
.Region{
    margin-bottom:8px;
    padding-right:2em;
    font-size:1.5rem;
}
.Region::after{
    content:"";
    position:absolute;
    top:11px;
    width:100%;
    margin-left:1.5em;
    border-top:2px solid #536870;
}
.RegionBox .Name{
    overflow:hidden;
    width:100%;
    margin:0 auto 20px;
    font-sizw:1.2rem;
}
.RegionBox .Name p{
    float:left;
    margin-bottom:4px;
    padding-right:2em;
}
.RegionBox .Name p a{
    color:#fff;
    text-decoration:none;
}
.RegionBox .Name p a::before{
    content:"▼";
    margin-right:2px;
    font-size:1.1rem;
    color:#8cc5ce;
}


/* 店舗写真 */
#Photo{
    width:96%;
    margin:0 auto 30px;
}
.Tit2{
    background:linear-gradient(to right, #040404, #292208 20%, #040404 50%, #292208 80%, #040404);
    margin-bottom:20px;
    padding:6px 0;
    font-size:1.4rem;
    text-align:center;
    border:1px solid #614e08;
}
.shopWrap{
    overflow:hidden;
    width:100%;
    margin:30px auto;
}
.shopWrap .shopBox{
    float:left;
    width:calc(100% / 2 - 20px);
    margin:0 10px 24px;
}
.shopWrap .shopBox p:first-of-type{
    height:140px;
    text-align:center;
}
.shopWrap .shopBox p img{
    position:relative;
    top:50%;
    transform:translateY(-50%);
    max-width:calc(100% - 2px);
    max-height:140px;
    vertical-align:bottom;
    border:1px solid #536870;
}
.shopWrap .Name{
    margin-bottom:8px;
    padding:6px 0 0;
    color:#fff;
    text-align:center;
    line-height:1;
}
.shopWrap form input{
    display:block;
    background:#536870;
    width:100%;
    height:34px;
    padding:6px 0;
    color:#fff;
}
.shopWrap form input:hover {border:1px solid #564840;}


/* footer */
footer .copyright{
	margin:10px 0 30px;
	font-size:1.2rem;
    color:#fff;
	text-align:center;
}  



}


/* topへ戻る */
#footerGroup #totop{
    width:40px;
    height:40px;
    padding:0;
    text-indent:-9999px;
    background-color:#0079c7;
    border-radius:100%;
    position:fixed;
    bottom:10px;
    right:0;
    z-index:800;
    display:none;
    cursor:pointer;
}
#footerGroup #totop a {display:block;}
#footerGroup #totop::after{
    content:"\f106";
    font-family:"FontAwesome";
    font-size:40px;
    line-height:35px;
    text-indent:0;
    text-align:center;
    color:#fff;
    display:block;
    position:absolute;
    top:0;
    left:0;
    right:0;
}