@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);

/*
	font-family:"FontAwesome";
	font-family:"Font Awesome 5 Free";
*/


/*========================================
 Base
========================================*/
html {font-size:62.5%;}
body{
    font-size:1.2rem;
    line-height:1.5;
}
ul {padding:0;}
li {list-style:none;}
a {text-decoration:none;}
.ColorRed {color:#fd7e92;}


/* PC */
@media screen and (min-width: 641px) {
.smOnly {display:none;}
body{
    background:url("../images/bg_pattern.png") center top repeat-x fixed #fff;
    font-size:1.3rem;
}
header, nav, section, footer{
    width:1080px;
    margin:0 auto 30px;
}
.smOnly {display:none;}


/* nav */
nav ul{
    overflow:hidden;
    width:100%;
}
nav li{
    float:left;
    width:calc(100% / 3 - 40px);
    margin:0 20px;
    font-size:2rem;
}
nav li a{
    display:block;
    background:#564840;
    padding:12px 0 10px;
    color:#fff;
    line-height:1;
    text-align:center;
    border:2px solid #564840;
    border-radius:5px;
    transition:0.5s;
}
nav li a:hover{
    background:#fff;
    color:#f18e02;
    border:2px solid #f18e02;
}


/* hタグ */
h2{
    position:relative;
    margin-bottom:30px;
    padding-left:25px;
    font-size:3.6rem;
    color:#564840;
    text-align:center;
    line-height:1.2;
}
h2::before{
    position:absolute;
    content:"";
    bottom:-3px;
    left:0;
    width:0;
    height:0;
    border:none;
    border-left:15px solid transparent;
    border-bottom:15px solid #564840;
}
h2::after{
    position:absolute;
    content:"";
    bottom:-3px;
    left:10px;
    width:100%;
    border-bottom:3px solid #564840;
}
h3{
    font-size:2.6rem;
    color:#f18e02;
}
h3::before {content:"★";}


/* 概要 */
#overview {margin-bottom:60px;}
#overview p, #overview dl{
    width:1000px;
    margin:0 auto 1em;
    font-size:1.5rem;
}
#overview .prizeBox{
    background:#fff;
    width:90%;
    margin:20px auto;
    padding:1em;
    border:2px dashed #564840;
}
#overview .prizeBox img {width:100%;}
#overview .prize{
    font-size:1.6rem;
    font-weight:bold;
    color:#f18e02;
}
#overview .prizeBox p:last-child {margin-bottom:0;}
#overview .applyWrap {overflow:hidden;}
#overview .applyBox {float:left;}
#overview .applyBox:first-child {width:70%;}
#overview .applyBox:last-child {width:30%;}
#overview dl{
    overflow:hidden;
    width:100%;
    margin-top:1em;
}
#overview dt{
    float:left;
    clear:left;
    width:6em;
    margin:0 1em 6px 0;
    text-align:center;
    border:1px solid #564840;

}
#overview dd{
    margin-bottom:6px;
    padding:1px 0;
}


/* 開催店舗 */
#shop {margin-bottom:60px;}
#shop ul {margin-bottom:20px;}
#shop li{
    float:left;
    width:calc(100% / 4 - 40px);
    font-size:1.3rem;
}
#shop li a{
    background:none;
    color:#564840;
    text-align:left;
    border:none;
}
#shop li a::before{
	font-family:"Font Awesome 5 Free";
    content:"\f101";
    margin-right:6px;
    font-weight:900;
}
#shop li a:hover{
    margin-left:4px;
    color:#f18e02;
    transition:0.4s;
}


/* 店舗写真 */
.shopWrap{
    overflow:hidden;
    width:1060px;
    margin:20px auto 60px;
}
.shopWrap .shopBox{
    float:left;
    width:calc(100% / 4 - 20px);
    margin:0 10px 20px;
}
.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 #f18e02;
}
.shopWrap .Name{
    background:#f18e02;
    margin-bottom:8px;
    padding:6px 0 0;
    color:#fff;
    text-align:center;
    line-height:1;
}
.shopWrap form input{
    display:block;
    width:100%;
    height:34px;
    padding:6px 0;
}
.shopWrap form input:hover {border:1px solid #564840;}


/* 結果発表 */
#winWrap{
    overflow:hidden;
    width:880px;
    margin:40px auto 80px;
    padding:30px;
    border:4px solid #f18e02;
    outline:8px solid #564840;
}
.winBox {float:left;}
.winBox:first-child{
    width:340px;
    margin:0 20px;
    text-align:center;
}
.winBox:first-child img{
    position:relative;
    margin-top:34%;
}
.winBox:last-child{
    width:500px;
    height:530px;
    text-align:center;
}
.winBox a img{
    height:100%;
    vertical-align:bottom;
    border:1px solid #ccc;
    box-sizing:border-box;
}


}




/* スマホ */
@media screen and (max-width: 640px) {
.pcOnly {display:none;}

body{
    background:url("../images/bg_pattern.png") center top repeat-y #fff;
    font-size:1.3rem;
}
header, nav{
    width:100%;
    margin:0 auto 20px;
}
section, nav#shop{
    width:96%;
    margin:0 auto 20px;
}
.pcOnly {display:none;}

header img {width:100%;}


/* nav */
nav ul{
    overflow:hidden;
    width:96%;
    margin-bottom:30px;
}
nav li{
    float:left;
    width:calc(100% / 3 - 16px);
    margin:0 8px;
    font-size:1.4rem;
}
nav li a{
    display:block;
    background:#564840;
    padding:10px 0 8px;
    color:#fff;
    line-height:1;
    text-align:center;
    border:2px solid #564840;
    border-radius:5px;
}


/* hタグ */
h2{
    position:relative;
    margin-bottom:30px;
    padding-left:25px;
    font-size:1.8rem;
    color:#564840;
    text-align:center;
    line-height:1.2;
    text-indent:-25px;
}
h2::before{
    position:absolute;
    content:"";
    bottom:-3px;
    left:0;
    width:0;
    height:0;
    border:none;
    border-left:15px solid transparent;
    border-bottom:15px solid #564840;
}
h2::after{
    position:absolute;
    content:"";
    bottom:-3px;
    left:10px;
    width:96%;
    border-bottom:3px solid #564840;
}
h3{
    font-size:1.6rem;
    color:#f18e02;
}
h3::before {content:"★";}


/* 優勝店舗 */
#winWrap .winBox {text-align:center;}
#winWrap .winBox:nth-of-type(2){
    background:#564840;
    padding:4px 0 0;
    font-size:1.8rem;
    color:#fff;
}
#winWrap .winBox:last-of-type{
    padding:10px 0 2px;
    border:3px solid #564840;
    border-top:none;
    box-sizing:border-box;
}
#winWrap .winBox:last-of-type img{
    width:70%;
    margin:0 auto;
}


/* 概要 */
#overview {margin-bottom:30px;}
#overview p, #overview dl, .applyWrap{
    width:96%;
    margin:0 auto 1em;
    font-size:1.3rem;
}
.applyBox img{
    width:100%;
    margin-top:16px;
}
#overview dl{
    overflow:hidden;
    width:96%;
    margin:1em auto 0;
}
#overview dt{
    width:100%;
    margin:0 1em 6px 0;
    text-align:center;
    border:1px solid #564840;
    box-sizing:border-box;
}
#overview dd{
    margin-bottom:6px;
    padding:1px 0;
}


/* 開催店舗 */
#shop {margin-bottom:30px;}
#shop ul {margin-bottom:20px;}
#shop li{
    float:left;
    width:calc(100% / 2 - 6px);
    margin:0;
    font-size:1.1rem;
}
#shop li:nth-of-type(odd) {margin:0 6px 0 0;}
#shop li a{
    background:none;
    padding:4px 0 2px;
    color:#564840;
    text-align:left;
    border:none;
}
#shop li a::before{
	font-family:"Font Awesome 5 Free";
    content:"\f101";
    margin-right:3px;
    font-weight:900;
}


/* 店舗写真 */
.shopWrap{
    overflow:hidden;
    width:100%;
    margin:20px auto 30px;
}
.shopWrap .shopBox{
    float:left;
    width:calc(100% / 2 - 20px);
    margin:0 10px 20px;
}
.shopWrap .shopBox p:first-of-type{
    height:160px;
    text-align:center;
}
.shopWrap .shopBox p img{
    position:relative;
    top:50%;
    transform:translateY(-50%);
    width:calc(100% - 2px);
    max-height:160px;
    vertical-align:bottom;
    border:1px solid #f18e02;
}
.shopWrap .Name{
    background:#f18e02;
    margin-bottom:8px;
    padding:8px 0 0;
    color:#fff;
    text-align:center;
}
.shopWrap form input{
    display:block;
    width:100%;
    height:34px;
    padding:6px 0;
}


}


/* footer */
footer {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;
}
