html {
    font-size:62.5%;
}
body {
    background-color:#ffdae5;
    font-size: 1.6rem;
    color: #1e1313;
    font-family: -apple-system,Segoe UI,"游ゴシック体","Yu Gothic",YuGothic,"ヒラギノ角ゴ Pro","Hiragino Kaku Gothic Pro","メイリオ",meiryo,sans-serif;
    font-weight: 500;
    letter-spacing: .04em;
    font-feature-settings: "palt" 1;
    -webkit-font-feature-settings: "palt" 1;
    background: linear-gradient(#ade2e8, white);
    background-attachment: fixed;
}
a:link, a:visited {
	color:#42aece;
}
a:hover {
	opacity:0.7;
}

/****************footer & global menu*/
footer {
    background-color:#77c9e1;
    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:#fdeddb;
	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:#901e2a;
}

/****************全体・ヘッダー*/
.wrap {
    width:100%;
    line-height: 1.8;
    background-color: #fff;
}
section {
    width:100%;
    margin:0 auto 70px;
}
section p {
    width:92%;
    margin: 20px auto;
    text-align: center;
}
header img {
     width:100%;
    vertical-align: bottom;
}
h1 {
    width:30%;
    color: #77c9e1;
    text-align: center;
    margin:20px auto;
    font-size: 3rem;
    font-family: serif;
    font-weight: 600;
    border-top: 2px solid;
    letter-spacing: .05em;
    border-left: solid 10px;
    line-height: 1.4;
    padding-top: 5px;
}
@media screen and (min-width: 1024px) {
    .wrap {
        width:800px;
        margin:0 auto;
    }
}
@media screen and (max-width: 768px) {
    h1 {
        font-size:2.4rem;
        width:40%;
    }
}

/****************メニュー*/
menu {
    margin:20px 0 30px;
    padding:0;
    width:100%;
    line-height: 1.1;
}
menu ul {
    width:100%;
    background-color:#fdeddb;
    display: table;
    text-align: center;
}
menu ul li {
    text-align: center;
    display: table-cell;
    padding: 14px 0 12px;
}
menu ul li a {
    text-decoration: none;
    width:100%;
    display: inline-block;
    padding:5px 0 3px;
    border-right: solid 1px #901e2a;
}
menu ul li:nth-child(4) a {
    border:none;
}
menu ul li a:link, menu ul li a:visited {
    color:#fff;
}
menu ul li a img {
    width: auto;
}
@media screen and (max-width: 768px) {
    menu {
        font-size:2.4rem;
        margin-bottom:20px;
    }
    menu ul li {
        margin-bottom: 7px;
        padding:8px 0 8px;
    }
    menu ul li a {
        padding: 0 0 3px;
    }
    menu ul li a img {
        width: auto;
        height: 11px;
    }
}
@media screen and (max-width: 375px) {
    menu ul {
        flex-wrap: wrap;
    }
    menu ul li {
        margin-bottom: 7px;
        padding:8px 0 8px;
    }
    menu ul li a {
        padding: 1px 0 1px;
        height: 20px;
    }
    menu ul li a img {
        width: auto;
        height: 10px;
    }
}

/****************最新情報*/
.news {
    margin: 20px auto 35px;
    display: flex;
    justify-content: space-evenly;
    width: 80%;
}
.news_title {
    color: #846300;
    text-align: center;
    font-size: 1.8rem;
    padding: 0 10px;
}
.news_text {
    width: 60%;
    text-align: left;
}
@media screen and (max-width: 768px) {
    .news {
        width: 100%;
        margin-bottom: 2vw;
    }
    .news_text {
        width: 70%;
    }
}

/****************ストーリー*/
.story {
    
}
.story p img {
    width:70%;
    margin:0 auto;
}
.storyimg img {
    width:100%;
}
.story span.blue {
    background-color: #d7fbfe;
}
.story span.yellow {
    background-color: #fefbd7;
}
.story span.pink {
    background-color: #fedbd7;
}
@media screen and (max-width: 767px) {
    .storyimg {
        width:90%;
    }
}

/****************キャラクター*/
.chara h2 {
    text-align: center;
    font-size: 1.8rem;
    font-weight: bold;
    margin: 5px auto 10px;
    width: 60%;
    background-color: #ffffb8;
    padding-top: 7px;
}
ul li.chara_list {
    display: flex;
    justify-content: space-evenly;
    margin-bottom:30px;
    margin-top: 30px;
}
ul li.chara_list div.charaimg {
    width:30%;
    text-align: center;
}
ul li.chara_list div.charatxt {
    width:60%;
}
.charaimg img {
    width:80%;
    border-radius: 50%;
}
ul li.sub {
    margin-top: 50px;
}
.sub .charaimg img {
    width:50%;
    margin-top: 10px;
}
.sub h2 {
    font-size: 1.8rem;
    margin: 10px auto 10px;
}
@media screen and (max-width: 767px) {
    ul li.chara_list {
        display: block;
        text-align: center;
        margin-bottom: 30px;
    }
    ul li.chara_list div.charaimg {
        width:100%;
    }
    ul li.chara_list div.charatxt {
        width:92%;
        margin:0 auto;
    }
    .chara h2 {
        width:auto;
        margin-top: 15px;
    }
    .chara img {
        width:180px;
    }
    .sub .charaimg img {
        width:100px;
        margin-top: 10px;
    }
    .chara hr {
        margin: 0 auto 20px;
    }
}
@media screen and (max-width: 376px) {
    .chara img {
        width:160px;
    }
}


/****************書籍*/

.book h2 {
    font-size: 1.8rem;
    margin:5px auto 20px;
    text-align: center;
    width: 90%;
    padding: 0;
    background-color: #ffffb8;
    font-weight: bold;
}
.book small {
    display: block;
    text-align: center;
    font-weight: bold;
}
.book_detail {
    margin:0 auto;
    width: 90%;
    text-align: center;
    padding-bottom: 10px;
    display: flex;
    justify-content: space-around;
}
.book_cover {
    width:35%;
    margin: 20px auto 0;
}
.book_cover img {
    width:100%;
    box-shadow: -1px -1px 7px 0px #ddd;
}
.book_txt {
    text-align: left;
    width:55%;
}
.book_txt dl {
    width:90%;
    margin:20px auto;
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: space-around;
}
.book_txt dl dt {
    font-weight: bold;
    width:30%;
}
.book_txt dl dd {
    width: 70%;
}
.link a {
    display: block;
    font-size: 1.6rem;
    color: #fff;
    background-color: #77c9e1;
    width: 90%;
    margin: 0 auto 10px;
    text-align: center;
    padding: 5px 0;
    text-decoration: none;
    position: relative;
}
.link a:before {
    content: "＋";
    position: absolute;
    display: inline-block;
    left: 8px;
}
.oldbook {
    justify-content: flex-start;
}
.oldbook .book_cover {
    width:30%;
    margin: 20px 50px;
}
.oldbook .book_cover img {
    width:80%;
}
#cd .book_txt dl {
    width:94%;
}
.cd_noimg {
    width:280px;
    height:280px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    font-size: 1.8rem;
    color: #e62c88;
    border: solid 1px;
}
@media screen and (max-width: 767px) {
    .book_detail {
        display: block;
    }
    .book_cover {
        width:60%;
    }
    .book_txt {
        width:90%;
        margin: 0 auto;
    }
    .book_txt dl dt, .book_txt dl dd {
        width:50%;
    }
    .link a {
        width: 100%;
    }
    .oldbook .book_cover {
        margin: 0 auto;
        width:80%;
    }
    .cd_noimg {
        height: 50vw;
        width: 50vw;
    }
    #cd .book_txt {
        width:100%;
    }
    #cd .book_txt dl dt {
        width:30%;
    }
    #cd .book_txt dl dd {
        width:70%;
    }
}

/****************特典情報*/
.book h3 {
    margin-top: 10px;
    text-align: center;
    font-weight: bold;
    font-size: 1.8rem;
    background-color: #fdeddb;
    width: 20%;
    margin: 10px auto;
    display: block;
}
.bonus {
    margin-bottom:70px;
}
ul.bonus_txt {
    text-align: center;
    margin-bottom: 50px;
    font-size: 1.4rem;
}
.toggle {
    width: 90%;
    margin: 0 auto 20px;
    cursor: default;
    border: solid 1px;
    border-color: #40adce;
    color:#40adce;
    position: relative;
}
.toggle:before {
    content:"▼";
    position: absolute;
    display: inline-block;
    left:8px;
}
.bonus h4, .bonus_noimg h4 {
    color: #77c9e1;
    font-weight: bold;
}
.bonus_list {
    width:90%;
    margin:30px auto 10px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    text-align: left;
}
.bonus_list p {
    text-align: center;
    font-size:1.4rem;
    margin: 10px 0;
}
.bonus_list li {
    width:32%;
    text-align: center;
    margin-bottom: 30px;
}
.bonus_list li.width100 {
    width:100%;
    margin-bottom: 20px;
    text-align: left;
    display: flex;
    justify-content: space-around;
}
.bonus_list li.width100 p {
    text-align: left;
    height: auto;
}
li.width100 .bonus_txt {
    width:60%;
}
.bonus_list img {
    width:200px;
}
.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 ul {
    width:80%;
    margin:20px auto 40px;
}
.bonus_noimg ul li p {
    margin:0 10px 10px;
    text-align: left;
}
@media screen and (max-width: 767px) {
    .bonus {
        margin-bottom:50px;
    }
    .bonus_list {
        width:96%;
        margin-bottom: 10px;
    }
    .bonus_list img {
        width:100px;
    }
    .bonus_list li {
        width: 100%;
        text-align: left;
        display: flex;
        flex-direction: row-reverse;
        justify-content: space-evenly;
        margin-bottom: 10px;
    }
    .bonus_list li p {
        text-align: left;
        margin-left:5%;
    }
    .bonus_list li.width100 p {
        text-align: left;
        margin-left:0;
    }
    .bonus_list li.width100 {
        flex-direction:row;
    }
    .bonus_txt {
        width:60%;
    }
    .bonus_noimg ul {
        width:90%;
    }
}

/****************Special*/
.special {
    font-size: 1.5rem;
    margin-bottom: 0;
    padding-bottom: 50px;
    text-align: center;
}
.special h2 {
    width: 90%;
    margin: 20px auto 30px;
    font-size: 1.8rem;
    text-align: center;
    color: #1e1313;
    background-color: #ffffb8;
    font-weight: bold;
    text-align: center;
}
.special p, .special ul {
    text-align: center;
    margin:20px auto;
    width:92%;
}
.special div {
    margin-bottom:80px;
}
.special .img {
    width:40%;
    margin:0 auto;
}
.special .img img {
    width:auto;
    max-width: 100%;
}
.special .linkbutton {
    width: 90%;
    display: block;
    margin: 0 auto 20px;
    cursor: default;
    border: solid 1px;
    border-color: #e62c88;
    color:#e62c88;
    text-decoration: none;
    cursor: pointer;
}
.special .nolink {
    background-color: #d6d6d6;
    display: block;
    text-decoration: none;
    padding: 5px 0 4px;
    color: #fff;
    width: 90%;
    margin: 0 auto 20px;
}
.special h3 {
    font-size: 1.8rem;
    font-weight: bold;
    display: inline-block;
    background-color: #fdeddb;
    text-align: center;
    margin: 20px 0 0;
}
.special h4 {
    font-weight: bold;
    text-align: center;
    font-size: 1.6rem;
}

@media screen and (max-width: 768px) {
    .old_books dd img {
        height:40vw;
    }
    .special div {
        margin-bottom:50px;
    }
    .special p, .special ul {
        text-align: left;
    }
    .special h2 {
        margin: 20px auto 20px;
    }
    .special .img {
        width:80%;
        margin:0 auto;
    }
    .special .linkbutton, .special .nolink, .special .toggle {
        text-align: center;
    }
}



