html {
    font-size:62.5%;
}
body {
    background-color:#fff;
    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: .08em;
    font-feature-settings: "palt";
    -webkit-font-feature-settings: "palt";
}
a:link, a:visited {
	color:#f3a9c9;
}
a:hover {
	opacity:0.7;
}

/****************footer & global menu*/
footer {
    background-color:#f3a9c9;
    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:#f3a9c9;
	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:#933f41;
}

/****************全体・ヘッダー*/
.wrap {
    width:100%;
    line-height: 1.8;
    background-color: #fff;
}
section {
    width:100%;
    margin:0 auto 60px;
    text-align: center;
}
section p {
    width:92%;
    margin: 20px auto;
    text-align: center;
}
header img {
     width:100%;
    vertical-align: bottom;
}
h1 {
    color: #72c6d0;
    text-align: center;
    margin:0 auto;
    font-size: 2.6rem;
    font-weight: 700;
    width: 100%;
    background-image: url(img/title_back.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
}
@media screen and (min-width: 1024px) {
    .wrap {
        width:800px;
        margin:0 auto;
    }
}
@media screen and (max-width: 768px) {
    h1 {
        font-size:2.2rem;
    }
    section {
        margin:0 auto 40px;
    }
}

/****************メニュー*/
menu {
    margin:20px 0 30px;
    padding:0;
    width:100%;
    line-height: 1.1;
    background-color: #ebf4ec;
}
menu ul {
    width:94%;
    display: table;
    text-align: center;
    margin:0 auto;
}
menu ul li {
    text-align: center;
    display: table-cell;
    padding: 11px 0 4px;
    vertical-align: middle;
}
menu ul li a {
    text-decoration: none;
    width:100%;
    display: inline-block;
    padding:5px 0 3px;
}
menu ul li a:link, menu ul li a:visited {
    color:#fff;
}
menu ul li a img {
    width: auto;
}
@media screen and (max-width: 767px) {
    menu {
        font-size:2.4rem;
        margin-bottom:20px;
    }
    menu ul {
        width:96%;
    }
    menu ul li {
        margin-bottom: 7px;
        padding: 6px 0 4px;
        vertical-align: top;
    }
    menu ul li:nth-child(even) img {
        width:2vw;
    }
    menu ul li a img {
        width: auto;
        height: 5vw;
    }
}
@media screen and (max-width: 359px) {
    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: 14px;
    }
}

/****************最新情報*/
.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;
    color:#933f41;
}
.chara img {
    width:100%;
    max-width: 100%;
}
@media screen and (max-width: 767px) {
    
}



/****************書籍*/

.book h2 {
    font-size: 1.8rem;
    margin:5px auto 20px;
    text-align: center;
    width: 90%;
    padding: 0;
    background-color: #72c6d0;
    font-weight: bold;
    color:#fff;
}
.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: #933f41;
    background-color: #ebf4ec;
    width: 90%;
    margin: 0 auto 10px;
    text-align: center;
    padding: 5px 0;
    text-decoration: none;
    position: relative;
    font-weight: bold;
}
.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;
    width: 20%;
    margin: 10px auto;
    display: block;
}
.bonus {
    margin-bottom:70px;
}
ul.bonus_txt {
    text-align: center;
    margin: 0 auto;
    margin-bottom: 50px;
    font-size: 1.4rem;
}
.toggle {
    display: block;
    font-size: 1.6rem;
    color: #933f41;
    background-color: #ebf4ec;
    width: 50%;
    margin: 0 auto 10px;
    text-align: center;
    padding: 5px 0;
    text-decoration: none;
    position: relative;
    font-weight: bold;
}
.toggle:before {
    content:"▼";
    position: absolute;
    display: inline-block;
    left:8px;
}
.toggle:hover {
    cursor: pointer;
    opacity:0.8;
}
.bonus h4, .bonus_noimg h4 {
    color: #f3a9c9;
    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;
    }
    ul.bonus_txt {
        width: 90%;
        text-align: left;
        font-size: 1.5rem;
    }
    .bonus_noimg ul {
        width:90%;
    }
    .toggle {
        width:80%;
    }
}

/****************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: #fff;
    background-color: #72c6d0;
    font-weight: bold;
    text-align: center;
}
.special p img {
    width:100%;
    max-width: 100%;
}
dl.fair {
    margin-bottom: 50px;
}
dl.fair dt {
    font-weight: bold;
    display: inline-block;
    color: #f08bb7;
}
dl.fair dd {
    margin-bottom:10px;
}

@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;
    }
}



