@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;}
.ColorRed {color:#f7608b;}
.Font16 {font-size:1.6rem;}
.Font13 {font-size:1.3rem;}


/* PC */
@media screen and (min-width: 641px) {
body{
    background:url(../images/bg.png) no-repeat center center;
    background-size:cover;
    height:100%;
    text-align:center;
}
.spOnly {display:none;}


/* header */
header{
    width:1080px;
    margin:0 auto 20px;
}


/* 特別企画 */
.wrap1000{
    position:relative;
    background:url(../images/bg1000_top.png) center top no-repeat;
    width:1000px;
    margin:20px auto 0;
    padding:60px 20px 0;
    text-align:left;
    line-height:1.7;
}
.wrap1000::after{
    content:"";
    display:block;
    background:url(../images/bg1000_btm.png) center top no-repeat;
    width:1000px;
    height:60px;
    margin:0 auto;
    padding:60px 0 0;
}
.wrapMdl{
    background:url(../images/bg1000_mdl.png) center top repeat-y;
    font-size:1.8rem;
}
.wrapMdl p:first-of-type {padding:0 40px 12px;}


/* 作品 */
.BookBoxWrap{
    overflow:hidden;
    width:920px;
    margin:20px auto 0;
}
.BookBox{
    float:left;
    width:calc(920px / 3 - 20px);
    margin:0 10px 40px;
    padding:1em;
    text-align:center;
    border:1px solid #1aa0e5;
    box-sizing:border-box;
}
.BookBox .Img{
    background:rgba(146, 208, 210, 0.5);
    width:248px;
    height:248px;
    margin-bottom:8px;
    line-height:1;
    border:1px solid #999;
    box-sizing:border-box;
}
.BookBox img{
    position:relative;
    top:50%;
    transform:translateY(-50%);
    max-width:240px;
    max-height:240px;
}
.Title{
    display:table-cell;
    background:#1d2087;
    width:calc(920px / 3 - 20px);
    margin-bottom:6px;
    padding:2px 0 0 !important;
    font-size:1.8rem;
    font-weight:bold;
    color:#fff;
    text-align:center;
    vertical-align:middle;
    line-height:1.2;
}
.Writer, .Publishing, .Penname{
    font-size:1.2rem;
    text-align:right;
    line-height:1.4;
}
.Publishing {margin-bottom:4px;}
.serif{
    margin:0;
    padding:2px 4px;
    font-size:1.4rem;
    font-weight:bold;
    color:#1aa0e5;
    text-align:left;
    line-height:1.4;
    border:1px solid #1aa0e5;
    box-sizing:border-box;
    display:table-cell;
    width:248px;
    vertical-align:middle;
}
.Comment, .Comment2{
    margin-top:8px;
    padding:0 !important;
    font-size:1.3rem;
    text-align:left;
    line-height:1.4;
}
.Comment2 + .Penname{
    margin-bottom:1em;
    padding-bottom:1em;
    border-bottom:1px dotted #999;
}

.onlineLink {margin-top:8px;}
.onlineLink a{
    display:block;
    position:relative;
    overflow:hidden;
    width:73%;
    margin:0 auto;
    padding:4px 0;
    color:#009fe8;
    text-decoration:none;
    border:2px solid #009fe8;
    border-radius:30px;
    z-index:2;
}
.onlineLink a::before, .onlineLink a::after{
    position:absolute;
    z-index:-1;
    display:block;
    content:"";
}
.onlineLink, .onlineLink a::before, .onlineLink a::after{
    box-sizing:border-box;
    transition:all .3s;
}
.onlineLink a:hover {color:#fff;}
.onlineLink a::after{
    top:-100%;
    width:100%;
    height:100%;
}
.onlineLink a:hover::after{
    top:0;
    background:#009fe8;
}

#bookfairBtn a{
    display:inline-block;
    position:relative;
    overflow:hidden;
    background:rgba(255, 255, 255, 0.6);
    width:60%;
    margin:0 auto 20px;
    padding:8px 0;
    font-size:2em;
    color:#009fe8;
    text-decoration:none;
    border:2px solid #009fe8;
    border-radius:30px;
    z-index:2;
}
#bookfairBtn a::before, #bookfairBtn a::after{
    position:absolute;
    z-index:-1;
    display:block;
    content:"";
}
#bookfairBtn, #bookfairBtn a::before, #bookfairBtn a::after{
    box-sizing:border-box;
    transition:all .3s;
}
#bookfairBtn a:hover{
    color:#fff;
    border:2px solid #fff;
}
#bookfairBtn a::after{
    top:-100%;
    width:100%;
    height:100%;
}
#bookfairBtn a:hover::after{
    top:0;
    background:#009fe8;
}


/* Footer */
footer{
    width:980px;
    margin:30px auto;
}
footer .copyright {color:#fff;}
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) {
body{
    background:url(../images/bg.png) no-repeat center center fixed;
    background-size:cover;
    height:100vh;
}
.pcOnly {display:none;}


/* header */
header{
    width:100%;
    margin:0 auto 20px;
}
header img {width:100%;}


/* 特別企画 */
.wrap1000{
    position:relative;
    margin:0 auto;
    /*padding:60px 20px 0;*/
    padding:0 10px;
    text-align:left;
    line-height:1.7;
}
.wrap1000::before{
    content:"";
    display:block;
    background:url(../images/bg1000_top.png) center top no-repeat;
    background-size:100%;
    width:100%;
    height:16px;
    margin:0;
    padding:0;
}
.wrap1000::after{
    content:"";
    display:block;
    background:url(../images/bg1000_btm.png) center top no-repeat;
    background-size:100%;
    width:100%;
    height:30px;
    margin:0;
    padding:0;
}
.wrapMdl{
    background:url(../images/bg1000_mdl.png) center top repeat-y;
    background-size:100%;
    width:100%;
    margin:0;
    font-size:1.3rem;
    line-height:1.5;
}
.wrapMdl p:first-of-type{
    padding:0 20px 12px;
    line-height:1.5;
}


/* 作品 */
.BookBoxWrap{
    overflow:hidden;
    width:94%;
    margin:0 auto;
}
.BookBox{
    width:100%;
    margin:0 0 20px;
    text-align:center;
}
.BookBox .Img{
    width:70%;
    margin:0 auto;
    padding:0 !important;
}
.BookBox img{
    max-width:100%;
    max-height:200px;
    border:1px solid #1aa0e5;
    box-sizing:border-box;
}
.Title{
    background:#1d2087;
    width:100%;
    margin-bottom:6px;
    padding:4px 0 !important;
    font-size:1.4rem;
    font-weight:bold;
    color:#fff;
    text-align:center;
    vertical-align:middle;
    line-height:1.2 !important;
}
.Writer, .Publishing, .Penname{
    font-size:1.2rem;
    text-align:right;
    line-height:1.4;
}
.Publishing {margin-bottom:4px;}
.serif{
    margin:8px 0;
    padding:2px 4px;
    font-size:1.4rem;
    font-weight:bold;
    color:#1aa0e5;
    text-align:left;
    line-height:1.4;
    border:1px solid #1aa0e5;
    box-sizing:border-box;
}
.Comment, .Comment2{
    padding:0 !important;
    font-size:1.3rem;
    text-align:left;
    line-height:1.4;
}
.Comment2 + .Penname{
    margin-bottom:1em;
    padding-bottom:1em;
    border-bottom:1px dotted #999;
}

.onlineLink {margin-top:8px;}
.onlineLink a{
    /*display:block;*/
    position:relative;
    overflow:hidden;
    background:#009fe8;
    padding:6px 5em;
    font-size:1.4rem;
    color:#fff;
    text-decoration:none;
    border-radius:20px;
}
.onlineLink a::before, .onlineLink a::after{
    position:absolute;
    z-index:-1;
    display:block;
    content:"";
}
.onlineLink, .onlineLink a::before, .onlineLink a::after{
    padding:0 0 12px !important;
    box-sizing:border-box;
}
.onlineLink a::after{
    top:-100%;
    width:100%;
    height:100%;
}

.pointBox p .subTit{
    font-size:1.4rem;
    font-weight:bold;
}
.pointBox ul{
    padding:0 20px 12px;
    font-size:1.3rem;
}
.pointBox li{
    margin:0 0 8px 1em;
    text-indent:-1em;
    line-height:1.4;
    list-style:none;
}
.pointBox li::before {content:"※";}
.pointBox-e li::before{
	content:"*";
	margin-right:9px;
}
.Borderdashed{
    width:92% !important;
    margin:0 auto;
    padding-top:20px !important;
    border-top:1px dashed #999;
    box-sizing:border-box;
}
.GiftAttention{
    display:block;
    position:relative;
    top:-10px;
    font-size:1.3rem;
    color:#f7608b;
    text-align:center;
}

#bookfairBtn a{
    display:block;
    position:relative;
    overflow:hidden;
    background:rgba(255, 255, 255, 0.6);
    width:90%;
    margin:0 auto 20px;
    padding:8px 0;
    font-size:1.3em;
    color:#009fe8;
    text-align:center;
    line-height:1.2;
    text-decoration:none;
    border:2px solid #009fe8;
    border-radius:30px;
    z-index:2;
}
#bookfairBtn a::before, #bookfairBtn a::after{
    position:absolute;
    z-index:-1;
    display:block;
    content:"";
}
#bookfairBtn, #bookfairBtn a::before, #bookfairBtn a::after{
    box-sizing:border-box;
    transition:all .3s;
}
#bookfairBtn a::after{
    top:-100%;
    width:100%;
    height:100%;
}

/* Footer */
footer{
    width:94%;
    margin:20px auto;
}
footer .copyright {color:#fff;}
footer .copyright ul {overflow:hidden;}
footer .copyright li{
    display:inline-block;
    margin:0 2em 6px 0;
    font-size:1.2rem;
}
#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;
}
}