@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;}
body {background:url("../images/bg_pat.png") center 350px no-repeat fixed, url(../images/bg.jpg) center top fixed;}
li {list-style:none;}
a {color:#861a1e;}
a:hover {color:#31b89a;}
.ColorRed {color:#841b20;}


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

#contents{
    width:1080px;
    margin:20px auto 0;
    padding:0 0 20px;
    border:10px solid #841b20;
}


/* header */
header{
 	position:relative;
	overflow:hidden;
    width:100%;
    margin-bottom:20px;
    padding:20px 0 10px;
    text-align:center;
    box-sizing:border-box;
}
header ul{
	position:absolute;
	top:8px;
	right:0;
}
header li{
	display:inline;
	margin-right:10px;
}
header li a{
	display:inline-block;
	background:#fff;
	padding:4px 1em;
	font-size:1.4rem;
	text-decoration:none;
	border:1px solid #841b20;
	border-radius:6px;
	transition:0.5s;
}
header li a:hover{
	background:#eee;
	border:1px solid #31b89a;
}
header #hLeft{
    float:left;
    width:690px;
}
header #hRight{
    float:left;
    width:354px;
    margin-bottom:36px;
    padding:8px 0 0;
}
header #hRight p {text-align:center;}
header #hRight p:first-child {margin:10px 0;}
header #hBtm {display:none;}


/* nav */
nav ul, nav#jpnNav ul{
    overflow:hidden;
    width:80%;
    margin:20px auto 30px;
}
nav li{
    float:left;
    width:calc(100% / 2 - 20px);
    margin:0 10px;
    font-size:2rem;
    font-weight:bold;
    text-align:center;
}
nav#jpnNav li {width:calc(100% / 4 - 20px);}
nav li a{
    display:block;
    background:#31b89a;
    padding:12px 0;
    color:#fff;
    border:2px solid #fff;
    text-decoration:none;
    border-radius:10px;
    transition:1s;
}
nav li a:hover{
    background:#fff;
    color:#31b89a;
    border:2px solid #31b89a;
    transition:0.4s;
}


/* hタグ */
h2{
    margin-bottom:12px;
    padding:6px 0 0;
    font-size:3.2rem;
    font-weight:bold;
    color:#cc2d33;
    line-height:1;
    text-align:center;
    border-bottom:6px double #cc2d33;
}


/* 概要 */
.infoWrap{
    background:#fff;
    width:1000px;
    margin:0 auto 30px;
    padding:20px;
    font-size:1.4rem;
    line-height:2rem;
    border-top-left-radius:30px;
    box-shadow:3px 3px 3px #cc2d33, -3px 3px 3px #cc2d33, 3px -3px 3px #cc2d33, -3px -3px 3px #cc2d33;
    box-sizing:border-box;
}
.infoWrap p{
    width:900px;
    margin:0 auto 1em;
}
.infoWrap ul{
    width:900px;
    margin:0 auto 20px;
}
.infoWrap li{
    margin:0 0 1px 1em;
    text-indent:-1em;
}
.infoWrap li::before {content:"※";}
.infoWrap-e li::before{
	content:"*";
	margin-right:9px;
}
.infoTit{
    background:#f8e0bb;
    margin:0 auto 10px !important;
    padding:6px 1em 5px 6px;
    font-size:2.2rem;
    border-left:6px solid #cc2d33;
    box-sizing:border-box;
}
.onlineAttention{
	width:860px;
	margin:20px auto;
	padding:1em;
	border:6px double #861a1e;
}
.w770 {width:770px;}

/* キャンペーン */
#campaign .infoTit {line-height:1.4;}
#campaign .camDay{
	display:inline-block;
	background:#cc2d33;
	width:auto;
	margin-left:3rem;
	padding:4px 8px;
	font-size:1.6rem;
	color:#fff;
}


/* 景品 */
#keihin, #biblio{
    width:1000px;
    margin:0 auto;
    padding:40px 20px 0;
}
#keihin h2, #biblio h2{
    margin-bottom:50px;
    color:#fff;
    border-bottom:6px double #fff;
}
.pointArea, .biblioArea{
    position:relative;
    margin-bottom:80px;
    font-size:1.4rem;
    line-height:1.6;
}
.pointArea:last-of-type {margin-bottom:40px;}
.pointArea p, .biblioArea p {margin-bottom:1em;}
.pointWrap, .biblioWrap{
    overflow:hidden;
    background:#fff;
    width:960px;
    margin:0 0 20px 40px;
    padding:20px;
    /*border-radius:10px;*/
    box-shadow:2px 2px 4px #c7161d,2px -2px 4px #c7161d, -2px -2px 4px #c7161d, -2px 2px 4px #c7161d;
    box-sizing:border-box;
}
.pointBox{
    overflow:hidden;
    width:90%;
    margin:2% auto 0;
    padding:10px;
    box-sizing:border-box;
}
.fan{
    position:absolute;
    top:-47px;
    left:-26px;
    display:table-cell;
    width:153px;
    height:127px;
    text-align:center;
}
.pointArea:nth-of-type(odd) .fan{
    background:url("../images/fan01.png") center center no-repeat;
    color:#c7161d;
}
.pointArea:nth-of-type(even) .fan{
    background:url("../images/fan02.png") center center no-repeat;
    color:#f5ab0a;
}
.fan span{
    position:relative;
    top:30%;
    transform:translateY(50%);
    font-size:3.4rem;
    font-weight:bold;
}
.fan span.c_txt{
    position:relative;
    top:29%;
    transform:translateY(50%);
    font-size:3.4rem;
    font-weight:bold;
}
.pointBox .tit{
    width:800px;
    height:52px;
    margin:0 0 25px 10px;
    padding:10px 10px 0;
    font-size:2.4rem;
    font-weight:bold;
    color:#fff;
    text-align:center;
    text-shadow:1px 1px 2px #ef7700, 1px -1px 2px #ef7700, -1px -1px 2px #ef7700, -1px 1px 2px #ef7700;
    box-sizing:border-box;
}
.pointArea:nth-of-type(odd) .tit{
    background:url("../images/tit_bg_red.png") center center no-repeat;
    background-size:100%;
}
.pointArea:nth-of-type(even) .tit{
    background:url("../images/tit_bg_yellow.png") center center no-repeat;
    background-size:100%;
}
.itemBox{
    float:left;
    width:48%;
    margin:0 1% 20px;
}
.itemBox .Img{
    width:90%;
    margin:0 auto 8px;
    text-align:center;
}
.itemBox .Img img{
    max-width:100%;
    max-height:180px;
    border:1px solid #333;
}
.itemBox .itemTit{
    background:#000;
    width:90%;
    margin:0 auto;
    padding:8px 0;
    font-size:1.4rem;
    color:#fff;
    text-align:center;
    border-radius:18px;
}
.itemBox .onlineLink{
	width:90%;
	margin:8px auto;
	font-size:1.3rem;
	color:#000;
	text-align:center;
}
#pointImg1{
    position:absolute;
    top:167px;
    right:100px;
}
#pointImg4{
    position:absolute;
    top:255px;
    right:302px;
}
#pointImg2{
    position:absolute;
    bottom:117px;
    right:166px;
}
#pointImg3{
    position:absolute;
    bottom:124px;
    right:217px;
}
#pointImg1 img {width:70%;}
.pointBox p .subTit{
    font-size:1.6rem;
    font-weight:bold;
}
.pointBox ul{}
.pointBox li{
    margin:0 0 1px 1em;
    text-indent:-1em;
}
.pointBox li::before {content:"※";}
.pointBox-e li::before{
	content:"*";
	margin-right:9px;
}


/* ビブリオバトル */
#biblio h2 {margin-bottom:30px;}
.biblioArea b{
    display:inline-block;
    margin-bottom:4px;
    font-size:1.8rem;
    text-indent:-1rem;
}
.biblioArea dl {overflow:hidden;}
.biblioArea dt{
    float:left;
    clear:left;
    background:#ef7700;
    width:7em;
    margin:0 8px 4px 0;
    color:#fff;
    text-align:center;
}
.biblioArea dd{
    float:left;
    margin-bottom:4px;
}
.biblioArea dd dt{
    float:left;
    clear:left;
    background:none;
    width:auto;
    margin:0;
    color:#262626;
    text-align:left;
}
.biblioArea dd dd {line-height:1.5;}


/* topへ戻る */
footer{
    width:980px;
    margin:30px auto;
}
footer .copyright{
    color:#fff;
    text-shadow:1px 1px 3px #c7161d;
}
footer .copyright ul {overflow:hidden;}
footer .copyright li{
    display:inline-block;
    margin:0 2em 6px 0;
}
#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;
}



}




/* スマホ */
@media screen and (max-width: 640px) {
.pcOnly {display:none;}
#contents{
    width:96%;
    margin:10px auto 0;
    padding:0;
    box-sizing:border-box;
}


/* header */
header{
 	position:relative;
    overflow:hidden;
    width:100%;
    margin-bottom:20px;
    padding:0 10px;
    text-align:center;
    box-sizing:border-box;
}
header.pt30 {padding-top:30px;}
header ul{
	position:absolute;
	top:0;
	right:0;
}
header li{
	display:inline;
	margin-right:10px;
}
header li a{
	display:inline-block;
	background:#fff;
	padding:4px 1em;
	font-size:1.2rem;
	text-decoration:none;
	border:1px solid #841b20;
	border-radius:6px;
}
header #hLeft img, header p img {width:100%;}
header #hRight {display:none;}
header #Date{
    margin-top:12px;
    font-size:1.7rem;
    font-weight:bold;
    color:#fff;
    text-align:center;
}
header #Shop{
    margin:8px 0;
    padding:12px 0;
    color:#fff;
    border-top:2px solid #fff;
    border-bottom:2px solid #fff;
}


/* nav */
nav ul{
    overflow:hidden;
    width:100%;
    margin:20px auto 30px;
}
nav li{
    float:left;
    width:calc(100% / 2 - 20px);
    margin:0 10px 10px;
    font-size:1.4rem;
    font-weight:bold;
    text-align:center;
}
/*nav#jpnNav li:last-of-type {width:calc(100% - 20px);}*/
nav li a{
    display:block;
    background:#31b89a;
    padding:6px 0;
    color:#fff;
    border:2px solid #fff;
    text-decoration:none;
    border-radius:10px;
}


/* hタグ */
h2{
    margin-bottom:12px;
    padding:6px 0 0;
    font-size:1.6rem;
    font-weight:bold;
    color:#cc2d33;
    line-height:1;
    text-align:center;
    border-bottom:6px double #cc2d33;
}


/* 概要 */
.infoWrap{
    background:#fff;
    width:96%;
    margin:0 auto 14px;
    padding:10px;
    font-size:1.3rem;
    line-height:1.6rem;
    border-top-left-radius:30px;
    box-shadow:3px 3px 3px #cc2d33, -3px 3px 3px #cc2d33, 3px -3px 3px #cc2d33, -3px -3px 3px #cc2d33;
    box-sizing:border-box;
}
.infoWrap p{
    width:100%;
    margin:0 0 1em;
}
.infoWrap ul{
    width:100%;
    margin:0 0 20px;
}
.infoWrap li{
    margin:0 0 1px 1em;
    text-indent:-1em;
}
.infoWrap li::before {content:"※";}
.infoWrap-e li::before{
	content:"*";
	margin-right:9px;
}
.infoTit{
    background:#f8e0bb;
    margin:0 auto 10px !important;
    padding:6px 1em 5px 6px;
    font-size:1.6rem;
    border-left:6px solid #cc2d33;
    box-sizing:border-box;
}
.onlineAttention{
	width:88%;
	margin:20px auto;
	padding:1em;
	border:6px double #861a1e;
}


/* 景品 */
#keihin, #biblio{
    width:96%;
    margin:0 auto;
    padding:0 10px;
}
#keihin h2, #biblio h2{
    margin-bottom:50px;
    color:#fff;
    border-bottom:6px double #fff;
}
#biblio h2 {margin-bottom:20px;}
.pointArea, .biblioArea{
    position:relative;
    margin-bottom:40px;
    font-size:1.3rem;
    line-height:1.6;
}
.biblioArea {margin-bottom:20px;}
.pointArea p, .biblioArea p {margin-bottom:1em;}
.pointWrap, .biblioWrap{
    overflow:hidden;
    background:#fff;
    width:100%;
    margin:0 0 20px;
    padding:10px;
    /*border-radius:10px;*/
    box-shadow:2px 2px 4px #c7161d,2px -2px 4px #c7161d, -2px -2px 4px #c7161d, -2px 2px 4px #c7161d;
    box-sizing:border-box;
}
.pointBox{
    overflow:hidden;
    width:100%;
    margin:2% 0 0;
    padding:0;
    box-sizing:border-box;
}
.fan{
    position:absolute;
    top:-54px;
    left:-26px;
    display:table-cell;
    width:100px;
    height:100px;
    text-align:center;
}
.pointArea:nth-of-type(odd) .fan{
    background:url("../images/fan01.png") center center no-repeat;
    background-size:85%;
    color:#c7161d;
}
.pointArea:nth-of-type(even) .fan{
    background:url("../images/fan02.png") center center no-repeat;
    background-size:85%;
    color:#f5ab0a;
}
.fan span{
    position:relative;
    top:36%;
    transform:translateY(50%);
    font-size:2rem;
    font-weight:bold;
}
.pointBox .tit{
    width:100%;
    height:52px;
    margin:0 0 5px 10px;
    padding:10px 10px 0;
    font-size:1.6rem;
    font-weight:bold;
    color:#fff;
    text-align:center;
    text-shadow:1px 1px 2px #ef7700, 1px -1px 2px #ef7700, -1px -1px 2px #ef7700, -1px 1px 2px #ef7700;
    box-sizing:border-box;
}
.pointArea:nth-of-type(odd) .tit{
    background:url("../images/tit_bg_red.png") center center no-repeat;
    background-size:100%;
}
.pointArea:nth-of-type(even) .tit{
    background:url("../images/tit_bg_yellow.png") center center no-repeat;
    background-size:100%;
}
.pointArea:nth-of-type(even) .pointBox-e .tit{
	background:url("../images/tit_bg_yellow.png") center 25px no-repeat;
	background-size:100%;
}

.itemBox{
    float:left;
    width:48%;
    margin:0 1% 20px;
}
.itemBox .Img{
    width:90%;
    margin:0 auto 8px;
    text-align:center;
}
.itemBox .Img img{
    max-width:100%;
    max-height:180px;
    border:1px solid #333;
}
.itemBox .itemTit{
    background:#000;
    width:90%;
    margin:0 auto;
    padding:8px 2px 0;
    font-size:1.2rem;
    color:#fff;
    text-align:center;
    line-height:1.2;
    border-radius:4px;
}
#pointImg1{
    position:absolute;
    top:126px;
    right:-13px;
}
#pointImg4 {display:none;}
#pointImg2{
    position:absolute;
    bottom:61px;
    right:18px;
}
#pointImg3{
    position:absolute;
    bottom:46px;
    right:36px;
}
#pointImg1 img {width:45%;}
.pointBox p .subTit{
    font-size:1.6rem;
    font-weight:bold;
}
.pointBox ul{}
.pointBox li{
    margin:0 0 1px 1em;
    text-indent:-1em;
}
.pointBox li::before {content:"※";}
.pointBox-e li::before{
	content:"*";
	margin-right:9px;
}


/* ビブリオバトル */
#biblio h2 {margin-bottom:30px;}
.biblioArea b{
    display:inline-block;
    margin-bottom:4px;
    font-size:1.8rem;
    text-indent:-1rem;
}
.biblioArea dl {overflow:hidden;}
.biblioArea dt{
    background:#ef7700;
    width:100%;
    margin-bottom:4px;
    padding-left:3px;
    color:#fff;
    box-sizing:border-box;
}
.biblioArea dd {margin-bottom:4px;}
.biblioArea dd dt{
    float:left;
    clear:left;
    background:none;
    width:auto;
    margin:0;
    padding:0;
    color:#262626;
    text-align:left;
}
.biblioArea dd dd {line-height:1.5;}


/* topへ戻る */
footer{
    width:96%;
    margin:20px auto;
}
footer .copyright{
    font-size:1.1rem;
    color:#fff;
    text-shadow:1px 1px 3px #c7161d;
}
footer .copyright ul {overflow:hidden;}
footer .copyright li{
    display:inline-block;
    margin:0 2em 6px 0;
}
#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;
}



}




