
html {
    font-size:62.5%;
}
body {
    background:#fdecf0;
    font-size: 1.6rem;
    color: #844136;
    font-family: -apple-system,Segoe UI,"游ゴシック体","Yu Gothic",YuGothic,"ヒラギノ角ゴ Pro","Hiragino Kaku Gothic Pro","メイリオ",meiryo,sans-serif;
    letter-spacing: .04em;
    font-weight: 500;
    font-style: normal;
    background-image: url(img/back.jpg?_), url(img/back2.jpg?_);
    background-repeat: no-repeat, no-repeat;
    background-position: top left, bottom 30% right 0;
    background-attachment: fixed, fixed;
    background-size: 28%, 23%;
}
a:link, a:visited {
	color:#e98b9b;
}
a:hover, summary:hover {
    cursor: pointer;
	opacity:0.7;
}
b {
    color: #e6002e;
}
@media screen and (max-width: 768px) {
    body {
        font-size:1.6rem;
        background-image: url(img/back.jpg), url(img/back2.jpg);
        background-position: top -90% left -110%, bottom -120% right -50%;
        background-size: 65%, 50%;
    }
}

/****************footer & global menu*/
footer {
    background-color:#fc9fad;
    color: #fff;
    font-size: 0.9em;
    padding: 20px;
    padding-bottom:60px;
    text-align: center;
	height:auto;
    display:block;
    line-height: 1.8;
}
footer ul {
    margin: 0.5em;
    padding: 0;
}
footer li {
    display: inline;
    margin: 5px 10px;
	border:none;
}
footer li a:link, footer li a:visited {
    color: #fff;
}	
footer li a:hover {
    opacity:0.7;
}
footer p {
	margin-top:2em;
}
@media screen and (max-width: 768px) {
    html {
        font-size:52.5%;
    }
}

/****************PageTOP*/
#page-top {
	position: fixed;
	bottom: 0;
	right: 0px;
	background-color:#fc9fad;
	padding:10px;
	z-index: 100;
    width:100%;
    margin:0;
    text-align: right;
    font-size:1.4rem;
}
#page-top a:link, #page-top a:visited {
	color:#fff;
}

/****************全体・ヘッダー*/
.wrap {
    width:100%;
    line-height: 1.7;
    background-color: rgba(255, 255, 255, 0.9);
}
section {
    width: 100%;
    margin: 30px auto 40px;
    text-align: center;
}
section p {
    width:96%;
    margin: 20px auto;
    text-align: center;
}
header img {
     width:100%;
    vertical-align: bottom;
}
h1 {
    color: #844136;
    text-align: center;
    margin: 0 auto;
    width:90%;
    font-size: 2.0rem;
    font-weight: 700;
    letter-spacing: .05em;
    background-color: #dff1f1;
    display: inline-block;
}
h2 {
    margin-top: 10px;
    text-align: center;
    font-weight: bold;
    font-size: 2.3rem;
    width:100%;
}
h3 {
    font-size: 2rem;
    color: #e6002e;
    font-weight: bold;
}
.sponly {
    display: none;
}
.pconly {
    display: block;
}
details {
    transition: 0.5s;
}
@media screen and (min-width: 1024px) {
    .wrap {
        width:800px;
        margin:0 auto;
    }
}
@media screen and (max-width: 768px) {
    h1 {
        font-size: 1.8rem;
    }
    h1:before, h1:after {
        width: 20vw;
    }
    section {
        margin: 6vw auto 10vw;
    }
    h2 {
        line-height: 1.4;
        padding: 3px 0;
        margin: 10px auto;
    }
    .sponly {
        display: block;
    }
    .pconly {
        display: none;
    }
}

/****************メニュー*/
menu {
    margin:20px auto;
    padding: 5px 0;
    width:100%;
    line-height: 1.1;
    font-weight: normal;
    font-size:1.8rem;
    box-sizing: border-box;
    background-color: #fc9fad;
    font-weight: bold;
}
menu ul {
    width:100%;
    display: flex;
    justify-content:space-around;
    text-align: center;
    letter-spacing: 0;
}
menu ul li {
    text-align: center;
    width: auto;
    color:#fff;
}
menu ul li a {
    text-decoration: none;
    width:100%;
    display: block;
    padding: 10px 0 8px;
    position: relative;
}
menu ul li a:link, menu ul li a:visited {
    color:#fff;
}
menu details p a:link, menu details p a:visited {
    color:#A37A42;
}
@media screen and (max-width: 768px) {
    menu {
        font-size:1.8rem;
        width:100%;
        border: 0;
        padding: 0;
        margin: 10px auto;
    }
    menu ul {
        flex-wrap: wrap;
    }
    menu ul li {
        margin: 3px 0;
    }
}

/****************最新情報*/
.news {
    margin: 0 auto;
    text-align: center;
    font-size: 6rem;
    font-weight: normal;
    color: #a87a49;
    font-family: "游明朝", serif;
    background-image: linear-gradient(to bottom, #a87a49, #dcb773);
    -webkit-background-clip: text;
    color: transparent;
}
.discription {
    border-top: 1px solid;
    border-bottom: 1px solid;
    text-align: center;
    margin: 10px auto 30px;
    padding: 20px 0;
}
@media screen and (max-width: 768px) {
    .news {
        width: 100%;
        margin-top: 2vw;
        font-size: 4rem;
    }
    .discription {
        width:92%;
        margin-bottom: 20px;
    }
}

/****************ストーリー*/
.story p {
    margin: 20px auto 40px;
}
.story p img {
    width:60%;
    max-width:100%;
}
@media screen and (max-width: 767px) {
    .story p img {
        width:80%;
    }
}

/****************キャラクター*/
.chara_img {
    margin:20px auto;
    width:80%;
}
.chara_img img{
    width:100%;
    max-width: 100%;
}

@media screen and (max-width: 767px) {
    .chara_img {
        width: 90%;
    }
}


/****************書籍*/

.book_detail {
    margin:20px auto 10px;
    width: 92%;
    text-align: center;
    padding-bottom: 10px;
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
}
.book_cover {
    width:35%;
    margin: 0 auto 0;
}
.book_cover img {
    width:100%;
}
.book_txt {
    text-align: left;
    width:55%;
}
.book_txt p {
    margin:10px auto;
}
.book .catch {
    font-weight: bold;
    font-size: 1.8rem;
    color: #ee6980;
    margin-bottom: 20px;
    width:100%;
}
.oldbook ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
}
.oldbook ul li {
    width:18%;
}
.oldbook ul li img {
    width:100%;
    max-width: 100%;
}
#comic {
    margin-top:50px;
}
.button a {
    display: block;
    font-size: 1.6rem;
    color: #fff;
    background-color: #fc9fad;
    border-radius: 20px;
    width: 80%;
    margin: 20px auto;
    text-align: center;
    padding: 5px 0;
    text-decoration: none;
}
.button a:visited, .button a:link {
    color:#fff;
}
details {
    transition: 0.5s;
}
.toggle_button summary {
    cursor: default;
    display: block;
    font-size: 1.6rem;
    color: #fff;
    background-color: #e98b9b;
    border-radius: 20px;
    width: 60%;
    margin: 0 auto 10px;
    text-align: center;
    padding: 5px 0;
    text-decoration: none;
    position: relative;
}
.digitalShop summary {
    width:90%;
}
.toggle_button summary:hover {
    opacity:0.8;
    cursor: pointer;
}
.toggle_button summary:before {
    position: absolute;
    display: block;
    content: '';
    width: 12px;
    height: 12px;
    background-size: cover;
    background-image: url(img/arrow.png);
    background-repeat: no-repeat;
    left: 9px;
    top: 53%;
    transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
    .book_detail {
        display: block;
    }
    .book_cover {
        width:70%;
    }
    .book_txt {
        width:100%;
        margin: 0 auto;
    }
    .link a {
        width: 100%;
    }
    .oldbook ul {
        width: 90%;
        margin: 0 auto;
    }
    .oldbook ul li {
        width:45%;
        margin-bottom: 10px;
    }
    .read div {
        width: 90%;
        margin: 25px auto 40px;
        display: block;
    }
    .read a {
        width: 90%;
        display: block;
        margin: 0 auto 10px;
    }
    .toggle_button summary {
        width:90%;
        font-size: 1.8rem;
    }
    .digitalShop ul li {
        font-size: 1.7rem;
    }
}

/****************特典情報*/

.bonus {
    margin-bottom:70px;
}
ul.bonus_txt {
    text-align: left;
    font-size: 1.4rem;
    width:90%;
    margin: 0 auto 50px;
}
.bonus_img {
    width:50%;
    margin:20px auto;
}
.bonus_img img {
    width: 100%;
}
.digitalShop {
    height:35px;
    text-align: center;
    font-size: 1.5rem;
}
.digitalShop[open] {
    height:280px;
}
.digitalShop ul li {
    margin-bottom:5px;
}
.newbook_fair span {
    font-weight: 700;
    color: #e98b9b;
    font-size: 1.9rem;
    display: block;
}
.toggle_button summary {
    cursor: default;
    display: block;
    font-size: 1.6rem;
    color: #fff;
    background-color: #fc9fad;
    border-radius: 20px;
    width: 60%;
    margin: 0 auto 10px;
    text-align: center;
    padding: 5px 0;
    text-decoration: none;
    position: relative;
}
.digitalShop summary {
    width:90%;
}
.toggle_button summary:hover {
    opacity:0.8;
    cursor: pointer;
}
.toggle_button summary:before {
    position: absolute;
    display: block;
    content: '';
    width: 12px;
    height: 12px;
    background-size: cover;
    background-image: url(img/arrow.png);
    background-repeat: no-repeat;
    left: 9px;
    top: 53%;
    transform: translateY(-50%);
}
.shop_list {
    display: none;
    font-size:1.4rem;
}
.shop_list dl, .shop_list ul.houjin{
    overflow:hidden;
    width:90%;
    margin:0 auto;
    margin-bottom:10px;
}
.shop_list dl.houjin, .shop_list ul.houjin{
	margin-bottom:20px;
}
.shop_list dl dt{
    background-color: #f7f7f7;
}
.shop_list dl dt, .shop_list dl dd, .shop_list ul.houjin li{
    padding:5px;
  }
.shop_list dl dd, .shop_list ul.houjin li{
    float:left;
    margin-right:10px;
    display:block;
	width: 200px;
    text-align: left;
    text-indent: -11px;
    padding-left: 15px;
}
.shop_list ul.houjin li {
	margin-bottom:0;
	margin-left:0;
	line-height:1;
}
.shop_list dl dd:before, .shop_list ul.houjin li:before{
    content:'■';
}
.shop_list dl.houjin dd, .shop_list ul.houjin li {
	width:100%;
}
.bonus_noimg {
    margin:20px auto 40px;
}
.bonus_noimg ul {
    margin-bottom:20px;
}
.bonus_noimg ul li p {
    margin:0 10px 10px;
    text-align: left;
}
.bonus_noimg h4.font_big {
    border-bottom: solid 1px;
    margin-bottom: 8px;
}
@media screen and (max-width: 767px) {
    .bonus {
        margin-bottom:50px;
    }
    .bonus_img {
        width:90%;
        margin:10px auto;
    }
    .digitalShop ul li {
        font-size: 1.7rem;
    }
}

/****************Special*/
.special {
    font-size: 1.6rem;
    margin-bottom: 0;
    padding-bottom: 50px;
    text-align: center;
}
.special h2 {
    width: 90%;
    margin: 20px auto 30px;
    font-size: 2rem;
    text-align: center;
    color: #ee6980;
}
.special h3 {
    font-size: 1.8rem;
    margin-top: 30px;
    margin-bottom: 10px;
    color: #ee6980;
}
.special div {
    margin-bottom:60px;
}
.special .img {
    width:80%;
    margin:0 auto;
}
.special img {
    width:auto;
    max-width: 100%;
}
.special dl {
    text-align: center;
    margin: 10px auto;
    width: 90%;
}
.special dt {
    font-size: 1.7rem;
    font-weight: bold;
}
.special dd {
    margin: 0 auto;
}
.img_2 {
    width: 90%;
    margin: 40px auto;
    display: flex;
    justify-content: space-between;
}
.img_2 a {
    display: block;
    width:49%;
}
.img_2 a img {
    width:100%;
}

@media screen and (max-width: 768px) {
    .old_books dd img {
        height:40vw;
    }
    .special div {
        margin-bottom:40px;
    }
    .t-left p {
        text-align: left;
        width:90%;
        margin: 10px auto 20px;
    }
    .special h2 {
        margin: 20px auto 20px;
    }
    .special h3 {
        margin-top: 30px;
        text-align: left;
        margin-left: 20px;
    }
    .special .img {
        width:80%;
        margin:0 auto;
    }
    .special .linkbutton, .special .nolink, .special .toggle {
        text-align: center;
    }
    .special dl {
        text-align: left;
    }
}



