@charset "UTF-8";
/* reset css */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

body {
  line-height: 1; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block; }

nav ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after, q:before, q:after {
  content: '';
  content: none; }

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none; }

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold; }

del {
  text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0; }

input, select {
  vertical-align: middle; }

/*
 * defaut style
 */
html {
  height: 100%;
  overflow-y: scroll;
  font-size: 16px;
  letter-spacing: -0.03rem; }

body {
  /* min-height:100%; */
  font-size: 100%;
  background:url(../img/bg.jpg) repeat;
  min-width: 1000px;
  overflow: hidden;
  word-wrap: break-word;
  -webkit-text-size-adjust: 100%; }

body {
  font-family: 'Noto Sans JP',	"ヒラギノ角ゴ Pro W4", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; }

table {
  word-break: break-word; }

img {
  max-width: 100%;
  height: auto;
  width: auto;
  vertical-align: bottom;
  border: none; }

li {
  list-style-type: none; }

ol {
  margin-bottom: 1.5em; }

ol li {
  margin-left: 20px;
  padding-left: 5px;
  list-style-type: decimal;
  margin-bottom: 0.5em; }

p {
  margin-bottom: 1.5em;
  line-height: 160%; }

p:last-child {
  margin-bottom: 0; }

a {
  color: inherit;
  text-decoration: none; }

a:hover {
  text-decoration: underline; }

sup {
  position: relative;
  font-size: 100%;
  top: -5px; }

sub {
  position: relative;
  font-size: 100%;
  bottom: -5px; }

.clearfix {
  *zoom: 1; }

.clearfix:after {
  content: '';
  display: block;
  clear: both;
  height: 0;
  margin-top: -1px; }

.sp {
  display: none !important; }

.center {
  text-align: center; }

.pc-center {
  text-align: center; }

.right {
  text-align: right; }

.pc-right {
  text-align: right; }

strong {
  /* color:#C00; */ }

em {
  /* color:#960; */
  font-weight: bold;
  font-style: normal; }

* {
  box-sizing: border-box; }



#footer {
  position: relative;
  color: #fff;
  padding-bottom: 20px;
  font-size: 14px;
  line-height: 160%; }

#footer .pagetop {
  position: fixed;
  z-index: 99;
  right: 50px;
  bottom: 0;
  max-width: 157px;
  transform: translateY(100%);
  transition: 0.2s ease-in-out; }

#footer .pagetop.show {
  transform: translateY(-20%); }

#footer .pagetop img {
  width: 100%; }

#footer .pagetop:hover {
  opacity: 0.7; }

#footer .sns {
  text-align: center;
  margin: -18px 0 0; }

#footer .sns ul {
font-size:0;}

#footer .sns ul li {
    display:inline-block;}

#footer .sns ul li:not(:last-of-type) {
margin-right: 10px;}

#footer .logo {
  text-align: center;
  margin: 31px 0 10px; }

#footer .copyright {
  text-align: center;
  color:#000;
  font-size:10px;}

/*
 * contents
 */
/* anime */
.rotateZoomIn {
  animation-name: rotate-zoom-in; }

@keyframes rotate-zoom-in {
  0% {
    opacity: 0;
    transform: rotate(180deg) scale(1.5); }
  100% {
    opacity: 1;
    transform: rotate(0deg) scale(1); } }
/* 汎用 */
.red {
  color: #e71f19; }

.green {
  color: #009d42; }

.blue {
  color: #0099ff; }

.note {
  line-height: 140%; }

.underline {
  text-decoration: underline; }

.underline:hover {
  text-decoration: none; }


/* content */

.visual-area {
  margin-bottom: 30px;
  height: 1286px; 
  width:100%;
  overflow:hidden;
  background: linear-gradient(#efeeec 42.9%, transparent 42.9%);
}
.visual-area > .wrapper {
  position:relative;
  background: url(../img/img_main_rback.png) no-repeat top 0px right 40px,url(../img/img_main_lback.png) no-repeat top 0px left 41px;
  background-size:auto 100%;}

@media screen and (max-width: 1200px) {
.visual-area > .wrapper {
  position:relative;
  min-width:1200px;
  width:1200px;
  left:50%;
  margin-left:-600px;}
}
.visual-area .inner {
  width: 1000px;
  margin: 0 auto;
  position: relative;
  height: 1286px; }

.visual-area .title {
  position: absolute;
  right: 37px;
  top: 6px;
  z-index: 3; }

.visual-area .visual {
  position: absolute;
  left: 40px;
  top: 17px;
  z-index: 2;
  width: 920px; }

.visual-area .main_book {
  position: absolute;
  right: 100px;
  bottom:102px;
  background: #00b09b;
  padding: 10px 11px 10px 10px;
  z-index: 10; }
.visual-area .main_book .fukidashi {
	position:absolute;
    top: 16px;
    left: -102px;
}
.visual-area .main_book .thumb {
	float:left;
}
.visual-area .main_book .book_right {
	float:right;
	margin:7px 0 0 10px;
}
.visual-area .main_book .date {
  padding-bottom: 5px; }

.visual-area .main_book .buy {
  margin-top: 6px; }

.visual-area .main_book .buy.off {
  opacity: 0.5; }

.visual-area .main_book .buy a:hover {
  opacity: 0.7; }

.visual-area .main_book .trial {
  margin-top: 9px; }

.visual-area .main_book .trial.off {
  opacity: 0.5; }

.visual-area .main_book .trial a:hover {
  opacity: 0.7; }

.visual-area .author {
 	position: absolute;
    right: 201px;
    top: 140px;
    z-index: 10;}

.visual-area .bnr {
	position:absolute;
	z-index:10;
	right:204px;
	top:65px;
	border:solid 1px #000;
}
.visual-area  .bnr a:hover {
  opacity: 0.7; }
.visual-area .catch {
  position: absolute;
  left: 30px;
  bottom: 385px;
  z-index: 5; }
.visual-area .animebnr {
	position:absolute;
	z-index:6;
	right:290px;
    bottom: 445px;
}
.visual-area  .animebnr a:hover {
  opacity: 0.7; }
.visual-area .catch_sub {
  position: absolute;
  right: 297px;
  bottom: 568px;
  z-index: 6; }

.visual-area .twitter_tl {
  position: absolute;
  left: 95px;
  bottom: 100px;
  z-index: 5; }

.visual-area .twitter_tl a:hover {
  opacity: 0.7; }

.visual-area .sns {
  position: absolute;
  bottom: 190px;
  left: 97px;
  z-index: 15; }

.visual-area .sns ul {
  font-size: 0; }

.visual-area .sns ul li {
  display: inline-block; }

.visual-area .sns ul li:not(:last-of-type) {
  margin-right: 10px; }

.anime-area {
  position: relative;
  margin: 77px 0 26px;
  z-index: 2;
}
.anime-area > .inner {
  max-width: 1200px;
  min-width: 1000px;
  width:100%;
  height: auto;
  margin: 0 auto;
  position: relative;
  background: url(../img/bg_anime.png) no-repeat top center;
}
.anime-area .title {
  margin-left: 149px;
  transform: translateY(-80px);
}
.anime-area .anime-contents {
  position: relative;
  top: -68px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 1122px;
  margin: 0 auto;
}
.anime-area .anime-img {
  margin: 0 36px 0 61px;
}
.anime-area .anime-img img {
  width: 367px;
  border: 1px solid #a79b86;  
}
.anime-area .anime-movie {
  position: relative;
  top: -57px;
  width: 590px;
  height: 333px;
}
.anime-area .animefair {
  margin: 50px  auto -20px;
}
.anime-area .animefair a:hover {
  opacity: 0.7; }

#pv {
	width:920px;
	margin:0 auto 70px;
}
.pv-area > .inner .youtube {
	height:518px;
    margin: 0 auto 20px;
}
.pv-area > .inner ul {
      position: relative;
      width: 700px;
      margin: 0 auto; }
      .pv-area > .inner ul li {
        margin: 10px 16px;
        opacity: 0.6;
        cursor: pointer; }
        .pv-area > .inner ul li span {
          display: block;
          color: #000;
          font-size: 14px;
          line-height:1.3;
          text-align: center;
          padding-top: 10px; }
        .pv-area > .inner ul li.slick-current {
          opacity: 1; }
      /*.pv-area > .inner ul .slick-track {
        transform: translate3d(0, 0, 0) !important; }*/
      .pv-area > .inner ul .slick-arrow {
        top: 33%;
        width: 12px;
        height: 30px; }
      .pv-area > .inner ul .slick-prev {
        background: url(../img/btn_pv01.png) no-repeat top center;
        right: inherit;
        left: -25px; }
      .pv-area > .inner ul .slick-next {
        background: url(../img/btn_pv02.png) no-repeat top center;
        left: inherit;
        right: -25px; }

/*bonus*/
.bonus-area {
  position: relative;
  margin: 0 0 70px 0;
  min-width: 1200px;
  z-index: 2; }

.bonus-area > .wrapper {
	background:url(../img/bonus_bg.jpg) no-repeat top center;
    background-color: #ffff66;
}
.bonus-area .inner {
  max-width: 1000px;
  width:100%;
  height: auto;
  margin: 0 auto;
  position: relative;
  transform: translateY(-30px);}

.bonus-area h2.title {
  padding-bottom: 45px;
}
.bonus-area p {
	margin-bottom:18px;}

.bonus-area p img{
	margin:66px 0 0 60px;}

.bonus-area h3 {
	text-align:center;
	margin-bottom:28px;
}
.bonus-area .latest_bonus ul {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    width: 100%;
    max-width: 1000px;
	justify-content: start;
	padding-bottom:50px;
}
.bonus-area .latest_bonus ul li {
    margin: 0 2% 2% 0;
    
}
.bonus-area .latest_bonus ul li:nth-child(2),.bonus-area .latest_bonus ul li:nth-child(4){
    margin: 0 0 2% 0;
    }

.bonus-area ul li {
	margin-bottom:20px;
}
.bonus-area ul li a:hover {
    opacity: 0.7; }

/*bonus-archives-area*/
.bonus_archives1 ul,.bonus_archives2 ul,.bonus_archives3 ul,.bonus_archives4 ul,.bonus_archives5 ul,.bonus_archives6 ul,
.bonus_archives7 ul,.bonus_archives8 ul,.bonus_archives9 ul,.bonus_archives10 ul,.bonus_archives11 ul,.bonus_archives12 ul{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    width: 100%;
    max-width: 1000px;
	justify-content: space-between;
	padding-bottom:50px;
}

.bonus_archives3 ul li:nth-child(4) {
    flex-grow: .18;
}
.bonus_archives3 ul li:nth-child(5) {
    flex-grow: 3;
}

/*bonus-accordion*/
.accordion-check {
    display: none;
}
.accordion-title {
    background: #00b09b;
    border: 1px #fff solid;
    display: block;
    margin-bottom: 15px;
    padding: 20px;
    position: relative;
}
.accordion-title:after {
    box-sizing: border-box;
    content: url(../img/btn_bonus01_open.png);
    display: block;
    padding: 32px 20px;
    position: absolute;
    right: 0;
    top: 0;
}

.accordion-title img {
    padding-left: 20px;
}

.accordion-content {
    display: block;
    height: 0;
    opacity: 0;
    padding: 0 10px;
    transition: .5s;
    visibility: hidden;
}
.accordion-check:checked + .accordion-title:after {
    content: url(../img/btn_bonus01_close.png);
    padding: 30px 25px;
}
.accordion-check:checked + .accordion-title + .accordion-content {
    height: auto;
    opacity: 1;
    padding: 0;
    visibility: visible;
}

/*comic*/
.comic-area {
  position: relative;
  margin: 0 0 85px;
  z-index: 2; }

.comic-area > .inner {
  max-width: 1200px;
  min-width:1033px;
  width:100%;
  height: auto;
  margin: 47px auto 0;
  position: relative;
  background: url(../img/bg_comic.png) no-repeat top center;}

.comic-area .title {
  margin-left:100px;
  transform:translateY(-12px);}

.comic-area p img{
	display:block;
	margin:0 auto;}	
.comic-area figure {
	overflow:hidden;
	width:980px;
    margin: 25px 0 0 120px;
}
.comic-area figure > p {
	float:left;
}
.comic-area figure figcaption {
	float:right;
}
.comic-area figure figcaption ul li {
	display:inline-block;
	margin-right:15px;
}
.comic-area figure figcaption ul li a:hover {
  opacity: 0.7; }	
@media screen and (max-width: 1200px) {
.comic-area figure {
	margin:25px auto 0;
}
}
@media screen and (max-width: 1033px) {	
.comic-area > .inner {
	width:1000px;
}
.comic-area figure {
	width:1000px;
	margin:25px 0 0;
}
.comic-area figure > p {
	width:48.4%;
}
.comic-area figure figcaption {
	width:calc(51.6% - 25px);
}
.comic-area figure img {
	width:100%;
}
}

/*story*/
.story-area {
  position: relative;
  background: #a79b86;
  margin: 0 0 85px;
  height:689px;
  min-width: 1200px;
  z-index: 2; }

.story-area > .inner {
  max-width: 1600px;
  min-width: 1200px;
  width:100%;
  overflow:hidden;
  height: auto;
  margin: 0 auto;
  position: relative;
  transform: translateY(-30px);}

.story-area .title {
  position:absolute;
  text-align: center;
  margin-bottom: 42px;
  left: calc(50% - 600px);}

.story-area p img{
  text-align: center;
  height:747px;
  width:100%;
  min-width: 1200px;
  object-fit: cover; }

/*character*/
.character-area {
  background:url(../img/bg_character.png) repeat-x top 59px center,url(../img/bg_character.png) repeat-x bottom 59px center, #efeeec;
  margin: 0 auto; }
  .character-area > .inner {
    max-width: 1000px;
    margin: 0 auto 50px;
    padding: 50px 0 40px;
	background:#efeeec;}
    .character-area > .inner .title {
		transform: translateY(-77px);
		right: calc(-50% + 76px);
		position: relative;}
    .character-area > .inner .char-list {
    	margin: 0 18px;
		transform: translateY(-37px);}
	.character-area > .inner .char-list ul {
		font-size: 0;
		text-align: left;
		margin:0 0 15px 21px;}
	.character-area > .inner .char-list ul li {
		display: inline-block;
		margin: 0 14px;}
	.character-area > .inner .char-list ul li img {
		width:154px;
		height:auto;
	}
.character-area > .inner .char-list ul li a:hover {
  opacity: 0.7; }	

.modal_detail {
	display:none;
}
.mfp-arrow{
  top: 51px;
  display: block;
  width:40px;
  height: 41px;
  cursor: pointer;
}
.mfp-arrow-left{
  left: calc(100% - 145px)
}
.mfp-arrow-right{
  left: calc(100% - 93px)
}

.mfp-close-btn-in .mfp-close {
  color: #aaa; }

.mfp-wrap {
  z-index: 9999; }

.gallery-modal img {
  max-height: 85vh;}

.gallery-modal .bg {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  pointer-events: none;
  opacity: 0.75; }

.mfp-close-btn-in .mfp-close {
  color: #fff;
  white-space: nowrap;
  opacity: 1;
  right: 1rem; }



/*recommend*/
  .recommend-area .wrapper {
	background:#ffff66;
    position: relative;
    z-index: 2;
    padding-bottom: 7px;
    margin-bottom: 52px;
  }
  .recommend-area .inner {
	  width:1000px;
	  margin:0 auto;
  }
  .recommend-area h2 {
	  transform:translate(-100px,-24px);
	  width:1098px;
  }
  @media screen and (max-width: 1200px) {
  .recommend-area h2 {
	  transform:translate(0,-24px);
  }
  }
  .recommend-area dl {
	  font-size:0;
	  margin:44px 0 0;
  }
  .recommend-area dt {
	  display:inline-block;
	  vertical-align:top;
	  width:215px;
	  margin-bottom:45px;
  }
  .recommend-area dd {
	  display:inline-block;
	  vertical-align:top;
	  width:calc(100% - 240px);
	  font-size:16px;
	  margin:-9px 0 38px 25px;
	  line-height:2;
  }
  .recommend-area dd strong {
	  font-size:24px;
  }
  .recommend-area dd strong.big {
	  font-size:36px;
      margin-top: 9px;
      display: block;
  }
  
  
/*comment*/
.comment-area {
  background-color: #262730;
  margin: 0 auto 50px;
  height: auto;
  position:relative;}

  .comment-area .wrapper {
    position: relative;
    z-index: 2;
    max-width: 1600px;
	min-width:800px;
	overflow:hidden;
	height:702px;
    margin: 0 auto;
  }
  .comment-area .inner {
	  width:1600px;
	  position:absolute;
	  left:70%;
	  margin-left:-1120px;}
	.comment_img01 {
	  height:702px;
	  float:left;
	  width:502px;
	}
	.comment_img02,.comment_img03 {
	  height:96px;
	  width:165px;
	  position:absolute;
	  right:50px;
	  bottom:50px;
	}
	.comment_img02 {
		display:none;
	}
	.comment_img03 {
	  display:block;
	}
	@media screen and (min-width:1600px) { 
	.comment_img03 {
		display:none;
	}
	.comment_img02 {
	  display:block;
	}
	}
    .comment-area .inner h2 {
      margin:1px 0 56px;
      text-align: center; }
    .comment-area .inner h2 img {
		margin-left:102px;
	}
	.comment-area .block {
      width: 760px;
      margin-left: 560px;
      color: #fff;
	}
	.comment-area .block p {
      line-height: 2;
	  font-weight:400;
	}

.mfp-container.mfp-image-holder::after {
  content: "";
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  pointer-events: none;
  opacity: 0.75; }

.mfp-wrap, .mfp-container {
  cursor: pointer;
  display:inline-block; }

.mfp-content {
  position: relative; }

button.mfp-close {
  /*position: absolute;
  font-size: 0;
  background: url("../img/icon_close.png") no-repeat top center;
  width: 118px;
  height: 23px; */
display:none;}
.popup-modal-dismiss {
    position: absolute;
    top: 0px;
    right: 0px;}

.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close {
  cursor: pointer; }

.mfp-close-btn-in .mfp-close:after {
  display: none; }

/*correlation*/
.correlation-area {
	padding-top:19px;
}
  .correlation-area > .inner {
      width: 1200px;
      left: 50%;
      position: relative;
      margin: 0 0 50px -600px;
	  padding:69px 0 100px;
	  background:url(../img/bg_correlation.png) no-repeat top center;}
    .correlation-area > .inner .title {
		position: absolute;
		margin: -71px 0 0 25px;}
	.correlation-area > .inner p {
		text-align:center;
	}

/*book*/
.book-area {
  margin: 0 auto 50px;
  padding: 45px 0 0;
  position: relative;
  background: #fff;
  z-index: 2;
  color: #000;
  min-width:1000px;}
  .book-area > .inner {
    width: 1000px;
    min-width:1000px;
    margin: 0 auto; }
    .book-area > .inner .title {
      text-align: right;
      transform: translateY(-65px);
	  margin-bottom:10px;}
     .book-area > .inner .subtitle {
      text-align: center;
      margin-bottom: 40px; }
     .book-area > .inner .book-box {
      padding-bottom: 90px;
      margin-top: -46px;}
      .book-area > .inner .book-box .box-left {
        float: left;
    	margin-left: 10px;
        width: 269px; }
      .book-area > .inner .book-box .box-right {
        float: left;
        width: 625px;
		margin:7px 0 0 23px;}
        .book-area > .inner .book-box .box-right .ttl {
          font-size: 36px;
          font-weight: bold;
          margin-bottom: 4px; }
          .book-area > .inner .book-box .box-right .ttl .small {
            font-size: 26px; }
		.book-area > .inner .book-box .box-right .catch {
			font-size:24px;
			font-weight:bold;
			line-height:1.25;
			margin-bottom:28px;
		}
        .book-area > .inner .book-box .box-right .author {
          font-size: 20px;
          font-weight: bold;
          margin-bottom: 30px; }
          .book-area > .inner .book-box .box-right .author span {
            font-size: 20px;
            margin-left: 25px; }
        .book-area > .inner .book-box .box-right .isbn {
          font-size: 18px;
          font-weight: 400;
          margin-bottom: 33px; }
        .book-area > .inner .book-box .box-right p {
          font-size: 18px; }
        .book-area > .inner .book-box .box-right .btns {
          margin: 6px; }
          .book-area > .inner .book-box .box-right .btns a:hover {
            opacity: 0.7; }
          .book-area > .inner .book-box .box-right .btns .buy {
            display: inline-block;
            margin-right: 10px; }
		  .book-area > .inner .book-box .box-right .btns .buy.off {
			  opacity:0.4;
		  }
          .book-area > .inner .book-box .box-right .btns .trial {
            display: inline-block; }
            .book-area > .inner .book-box .box-right .btns .trial.off {
              opacity: 0.4; }

@media screen and (min-width: 2001px) {
  .bg-back {
    background-size: cover; }

  .bg-front {
    background-size: cover; } }

/*============================
shoplist
============================*/

.shoplist {
	margin:0;
  background-image: url(../img/bg.jpg);	
}

.shoplist .contents-inner {
  background-color: #fff;
  width: 640px;
  margin: 0 auto;
  padding-bottom: 37px;
}

.shoplist h1 {
  width: 100%;
  margin-bottom: 22px;
}

.shoplist table {
  width: 590px;
  color: #666666;
  line-height: 1.5;
  vertical-align: middle;
  margin: 0 auto;
  font-size: 1rem;
}

.shoplist table th {
  padding: 12px;
  white-space: nowrap;
  font-weight: bold;
  text-align: center;
  background: #ffff66;
  border: solid 1px #736e71;
}

.shoplist table td {
  padding: 12px;
  border: solid 1px #736e71;
  border-top: none;
  border-left: none;
}

.footer-shoplist footer {
  width: 640px;
  margin: 0 auto;
  padding: 0;
}

.footer-shoplist footer .wrapper {
  background-image: url(../img/bg.jpg);		
  text-align: center;	
  width: 100%;
  padding-bottom: 30px;
}
.footer-shoplist footer .wrapper .logo {
  width: 130px;
  margin: 0 auto;
  display: block;
  padding: 30px 0 20px;
}

/*.footer-shoplist footer .wrapper .page-top {
  width: 62px;
  height: 62px;
  position: fixed;
  right: 30px;
  bottom: 30px;
  cursor: pointer !important;
}

.footer-shoplist footer .wrapper .page-top:hover {
  opacity: 1;
}*/

.footer-shoplist footer .wrapper .copyright {
  color: #000;	
  text-align: center;
  font-size: 0.8rem;
}
