@charset "UTF-8";
/*!  base
================================================ */
html {
  overflow: auto;
}

body {
  -webkit-text-size-adjust: 100%;
  min-width: 320px;
  overflow: hidden;
  color: #000;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Meiryo, "メイリオ", sans-serif;
  font-size:0;
  line-height: 1.75;
}

a {
  text-decoration: none;
}

.cf:after {
  display: block;
  clear: both;
  content: " ";
}

img {
  width: 100%;
  max-width: 100%;
  height: auto;
}

/*!  KV
================================================ */
.visual {
  background: url(../img/bg_kv.png) calc(50% - 65px) 0 no-repeat,
	url(../img/bg_movie01.png) top 1343px center repeat-x;
	text-align:center;
}

.key-visual {
  position: relative;
  width: 1000px;
  margin: 0 auto;
}

.key-visual h1 span{
  z-index: 1;
  position: absolute;
  top: 0;
  right: 1px;
  width: 355px;
  height: 650px;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
}
.key-visual h1 span.fadein01 {
	background: url(../img/item_logo01.png) 0 0/100% auto no-repeat;
	width:237px;
	height:815px;
	right:0;
	top:12px;
}
.key-visual h1 span.fadein02 {
	background: url(../img/item_logo02.png) 0 0/100% auto no-repeat;
	width:432px;
	height:556px;
	left:-48px;
	top:185px;
}
.key-visual .author {
  z-index: 1;
  position: absolute;
  left: 108px;
  top: 8px;
  width: 292px;
  height: 155px;
  overflow: hidden;
  background: url(../img/item_author.png) 0 0/100% auto no-repeat;
  text-indent: 100%;
  white-space: nowrap;
}
.key-visual .catch {
  z-index: 1;
  position: absolute;
  overflow: hidden;
  text-indent: 120%;
  height:575px;
  width:349px;
  white-space: nowrap;
  background: url(../img/item_catch.png) 0 0/100% auto no-repeat;
  top:703px;
  left:14px;
}
.key-visual .catchread {
    width: 341px;
    position: absolute;
    top: 567px;
    left: 490px;
}
.key-visual .linkbtn {
    width: 193px;
    position: absolute;
    top: 797px;
    left: 614px;
	transition: all 0.5s ease;
}
.key-visual .linkbtn2 {
    width: 263px;
    position: absolute;
    top: 995px;
    left: 501px;
	transition: all 0.5s ease;
}
.key-visual .linkbtn:hover,
.key-visual .linkbtn2:hover{
    opacity: 0.7;
}
	
.key-visual .book {
  z-index: 10;
  background:#8a1818;
  position: absolute;
  padding: 8px 10px 11px;
  top:840px;
  right: 0;
}
.key-visual .book .release {
	padding-bottom:5px;
	text-align:center;
}
.key-visual .book .thumb {
  position: relative;
}
.key-visual .book .buy,
.key-visual .book .trial {
    margin-top:6px;
    transition: all 0.5s ease;
}
.key-visual .book .buy:hover,
.key-visual .book .trial:hover{
    opacity: 0.7;
}
.key-visual .mv {
  margin-left: -76px;
}
.key-visual .eng{
    width: 159px;
    position: absolute;
    top:682px;
    left:308px;
}

/*!  KVアニメーション
------------------------------------------------ */

.fadein {
  -webkit-animation: 0.8s fadeIn forwards;
          animation: 0.8s fadeIn forwards;
  opacity: 0;
}

.fadein01 {
  -webkit-animation: 0.8s fadeIn01 forwards;
          animation: 0.8s fadeIn01 forwards;
  opacity: 0;
}

.fadein02 {
  -webkit-animation: 0.8s fadeIn02 forwards;
          animation: 0.8s fadeIn02 forwards;
  opacity: 0;
}

.fadein03 {
  -webkit-animation: 0.8s fadeIfromRight forwards;
          animation: 0.8s fadeIfromRight forwards;
  opacity: 0;
}

.fadein04 {
  -webkit-animation: 0.8s fadeIn04 forwards;
          animation: 0.8s fadeIn04 forwards;
  opacity: 0;
}
.roll li {  -webkit-animation: 20s linear rotation infinite;
          animation: 20s linear rotation infinite;    
		position: absolute;
		z-index:-1;
}
.roll li:nth-child(1) {
    top: 300px;
    right: -230px;
}
.roll li:nth-child(2) {
	top:883px;
	left:-300px;
}
.roll li:nth-child(3) {
	-webkit-animation: 20s linear rotation2 infinite;
          animation: 20s linear rotation2 infinite;
    top: 800px;
    right: -240px;
}
@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@-webkit-keyframes fadeIn01 {
 0% {
	transform: rotate(-30deg) translateX(1000px);
    opacity: 0;
}
100% {
	transform: rotate(0deg) translateX(0);
    opacity: 1;
}
}
@keyframes fadeIn01 {
 0% {
	transform: rotate(-30deg) translateX(1000px);
    opacity: 0;
}
100% {
	transform: rotate(0deg)  translateX(0);
    opacity: 1;
}
}
@-webkit-keyframes fadeIn02 {
 0% {
	transform: rotate(-30deg) translateX(-1000px);
    opacity: 0;
}
100% {
	transform: rotate(0deg) translateX(0);
    opacity: 1;
}
}
@keyframes fadeIn02 {
 0% {
	transform: rotate(-30deg) translateX(-1000px);
    opacity: 0;
}
100% {
	transform: rotate(0deg) translateX(0);
    opacity: 1;
}
}
@-webkit-keyframes fadeIn04 {
  0% {
    transform: rotate(-30deg) translateX(-20px);
    opacity: 0;
  }
  100% {
    transform: rotate(0deg) translateX(0);
    opacity: 1;
  }
}
@keyframes fadeIn04 {
  0% {
    transform: rotate(-30deg) translateX(-20px);
    opacity: 0;
  }
  100% {
    transform: rotate(0deg) translateX(0);
    opacity: 1;
  }
}
@-webkit-keyframes rotation {
  0% {
    transform: rotate(-30deg) translateX(-20px);
    opacity: 0;
  }
  100% {
    transform: rotate(0deg) translateX(0);
    opacity: 1;
  }
}
@keyframes rotation {
  0% {
    transform: rotate(0);
  }
  100%{
	  transform: rotate(360deg);
  }
}
@keyframes rotation2 {
  0% {
    transform:rotate(0);
  }
  100%{
	  transform:rotate(-360deg);
  }
}


/*以下遅延の指定*/
.fade01 {
  -webkit-animation-delay: 0.8s;
          animation-delay: 0.8s;
}

.fade02 {
  -webkit-animation-delay: 1.3s;
          animation-delay: 1.3s;
}

.fade03 {
  -webkit-animation-delay: 1.6s;
          animation-delay: 1.6s;
}

.fade04 {
  -webkit-animation-delay: 1.8s;
          animation-delay: 1.8s;
}

/*!  Twitterウィジェット
================================================ */
.tw{
  z-index: 1;
  position: absolute;
  right: 12px;
  bottom: 40px;
  width:400px;
}
#twitter-widget-0{
min-height:120px!important;
}


/*! MOVIE
================================================ */
.movie-area {
	opacity: 0;
	transition-duration: 1s;
	padding-bottom: 50px;
    margin-top: -600px;
	position:relative;
 	background: url(../img/bg_story.png) repeat-x bottom -70px center;
}
.movie-area:before {
	content:"";
	background-color: #ffe9e9;
	height:100%;
	width:100%;
	position:absolute;
	z-index:-1;
}
.movie-area .contents {
  width: 1000px;
  padding-bottom:38px;
  margin: 0 auto;
  background:url(../img/bg_movie02.png) no-repeat;
  position:relative;
  z-index:1;
  top:-64px;
}
.movie-area h2 {
	text-align: center;
	position:relative;
	top:-58px;
    padding-left: 135px;
}
.movie-area .youtube {
	width: 852px;
	height: 480px;
	margin: 0 auto; 
    position: relative;
    top: -50px;
}
.movie-area .movie_btn {
	text-align:center;
	margin-top:-20px;
    padding-right: 10px;
}
.movie-area .movie_btn:hover {
	opacity:0.7;
}
/*!  あらすじ
================================================ */
#story {
  opacity: 0;
  transition-duration: 1s;
  padding: 0 0 60px;
  background-color: #bbe8ff;
  background-position: bottom -140px center;
  background-repeat: repeat-x;
  text-align: center;
  background-image:url(../img/bg_character.png);

}
#story .contents {
  width: 1000px;
  margin: -33px auto 0;
  padding-top: 28px;
  position:relative;
}
#story .contents h2 {
    position: absolute;
    top: -50px;
    right: 4px;
}
#story a:hover {
	opacity:0.7;
}
#story figure {
	position:relative;
	overflow:hidden;
}
.story01 img {
	float:right;
	margin-top:50px;
}
.story02 img {
	float:left;
	margin-top:30px;
}
.story03 img {
	float:right;
	margin-top:20px;
}
.story01 figcaption{
	position:absolute;
	left:0;
	top:-50px;
}
.story02 figcaption {
	position:absolute;
	right:0;
	top:27px;
}
.story03 figcaption {
	position:absolute;
	left:0;
	top:11px;
}
.s_fade {
	background:#bbe8ff;	
}
.s_fade .mfp-img {
	padding:40px 60px 40px 0;
}
.s_fade button img {
	margin-right:60px;
}
.close-icon {
    text-align: right;
    display: block;
    cursor: pointer;
    position: absolute;
}
.s_fade .close-icon {
    top: 0;
    right: 100px;
}

/* overlay at start */
.s_fade.mfp-bg,.c_fade01.mfp-bg,.c_fade02.mfp-b,.c_fade03.mfp-bg,.c_fade04.mfp-bg  {
  opacity: 0;

  -webkit-transition: all 0.3 ease-out;

  -moz-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
/* overlay animate in */
.s_fade.mfp-bg.mfp-ready,.c_fade01.mfp-bg.mfp-ready,.c_fade02.mfp-bg.mfp-ready,.c_fade03.mfp-bg.mfp-ready,.c_fade04.mfp-bg.mfp-ready {
  opacity: 0.8;
}
/* overlay animate out */
.s_fade.mfp-bg.mfp-removing,.c_fade01.mfp-bg.mfp-removing,.c_fade02.mfp-bg.mfp-removing,.c_fade03.mfp-bg.mfp-removing,.c_fade04.mfp-bg.mfp-removing {
  opacity: 0;
}

/* content at start */
.s_fade.mfp-wrap .mfp-content,.c_fade01.mfp-wrap .mfp-content,.c_fade02.mfp-wrap .mfp-content,.c_fade03.mfp-wrap .mfp-content,.c_fade04.mfp-wrap .mfp-content {
  opacity: 0;

  -webkit-transition: all 0.5s ease-out;
  -moz-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
}
/* content animate it */
.s_fade.mfp-wrap.mfp-ready .mfp-content,.c_fade01.mfp-wrap.mfp-ready .mfp-content,.c_fade02.mfp-wrap.mfp-ready .mfp-content,.c_fade03.mfp-wrap.mfp-ready .mfp-content,.c_fade04.mfp-wrap.mfp-ready .mfp-content {
  opacity: 1;
}
/* content animate out */
.s_fade.mfp-wrap.mfp-removing .mfp-content,.c_fade01.mfp-wrap.mfp-removing .mfp-content,.c_fade02.mfp-wrap.mfp-removing .mfp-content,.c_fade03.mfp-wrap.mfp-removing .mfp-content,.c_fade04.mfp-wrap.mfp-removing .mfp-content {
  opacity: 0;
}
/*!  キャラクター
================================================ */
.characters {
  opacity: 0;
  transition-duration: 1s;
  padding: 0 0 76px;
  background-color: #fff;
  background-image: url(../img/bg_comicalize.png);
  background-position: bottom -140px center;
  background-repeat:repeat-x;
}

.characters .contents {
  width: 1000px;
  margin: 0 auto;
  /*background: url(../img/bg_character02.png) 50% -88px no-repeat;*/
}

.characters h2 {
  text-align: center;
  position: relative;
  top: -52px;
  padding-left: 40px;
}

.characters .list-characters {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
  margin-top: -32px;
}

.characters .list-characters a:hover {
	opacity:0.7;
}
.characters .list-characters li {
  width: calc(100% / 2 - 10px);
  margin-bottom:27px;
}
.c_fade01 {
	background:#e9e9e9;
}
.c_fade02 {
	background:#ffe1e9;
}
.c_fade03 {
	background:#fff6e1;
}
.c_fade04 {
	background:#e1f2ff;
}
.c_fade01 .close-icon {	
    top: 85px;
    right: 10px;
}
.c_fade02 .close-icon{	
    top: 10px;
    right: 10px;
}
.c_fade03 .close-icon{	
    top: 50px;
    right: 10px;
}
.c_fade04 .close-icon {	
    top: -44px;
    right: 10px;
}

/*!  コミカライズ
================================================ */
.comicalizes {
  opacity: 0;
  transition-duration: 1s;
  padding: 0 0 41px;
  background-color:#d8fcfc;
  background-image: url(../img/bg_campaign.png);
  background-position: bottom -140px center;
  background-repeat:repeat-x;}
.comicalizes .contents {
	width:1000px;
	margin:0 auto;
	position: relative;
	top: -52px;
}
.comicalizes h2 {	
  position: relative;
  margin-bottom: 28px;
}
.comicalizes ul{
	position: absolute;
	top:76%;
	left:6%;
}
.comicalizes ul li{
	margin-bottom: 20px;
}
.comicalizes ul li:hover {
	opacity:0.7;
}
/*!  キャンペーン
================================================ */
.campaigns {
  opacity: 0;
  transition-duration: 1s;
  padding: 0 0 41px;
  background-color: #ffe1e9;
  background-image: url(../img/bg_present01.png);
  background-position: bottom -140px center;
  background-repeat:repeat-x;
}
.campaigns .contents {
  width: 1000px;
  margin: 0 auto;
  position: relative;
  top: -52px;
}
.campaigns h2 {
  text-align: center;
  padding-left: 40px;
}
.campaigns .catch{
	margin-bottom: 20px;
}
.campaigns .youtube-area {
  width: 1000px;
  margin: 0 auto 38px;
  padding-bottom: 50px;
  background:url(../img/bg_movie02.png) no-repeat bottom center;
  position:relative;
}
.campaigns .youtube-area h3{
	text-align:center;
	margin-bottom: 14px;
}
.campaigns .youtube-area .youtube{
	width: 852px;
	height: 480px;
	margin: 0 auto; 
    position: relative;
}
.campaigns .twitter_btn {
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin:20px 0 37px;
}
.campaigns .twitter_btn a:hover {
	opacity:0.7;
}
.campaigns .c_text {
	color:#8a1818;
	font-size:16px;
	line-height:1.5;
	font-family:"Hiragino Sans", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W4", Meiryo, "メイリオ", sans-serif;
}
.campaigns .c_text dt,.campaigns .c_text dd {
	font-size:22px;
	line-height:1.54;
	font-weight:500;
}
.c_text dd {
	margin-bottom:1em;
}
.campaigns .c_text a{
    text-decoration: underline;
    color: #8a1818;
    font-weight: bold;
}
.campaigns .c_text a:hover{
    text-decoration: none;
}
.campaigns .c_text span{
	font-weight: bold;
}

/*!  特典
================================================ */
.presents {
  opacity: 0;
  transition-duration: 1s;
  background-color:#ebebeb;
  background-image: url(../img/bg_books.png);
  background-position: bottom -140px center;
  background-repeat:repeat-x;}
.presents .contents {
	width:1000px;
	margin:0 auto;
	padding-bottom: 102px;}
.presents h2 {	
  position: relative;
  top: -22px;}
.presents .firsttime {
	margin:-25px auto 53px;
	text-align:center;}
.presents .store_present {
	width:100%;
	background:url(../img/bg_present02.png) repeat;
	border-radius:20px;
	text-align:center;
	padding:40px 0 1px;}
.presents .store_present .title2 {
	text-align:center;
	margin-bottom:20px;}
.presents .store_present li {
	margin-bottom:50px;}
.presents .mb40{
	margin-bottom: 40px;
}
/*!  書誌情報
================================================ */
.book-information {
  opacity: 0;
  transition-duration: 1s;   
  padding: 0 0 67px;
  background-color: #ffe9e9;
  background-image: url(../img/bg_footer.png);
  background-position:bottom -140px center;
  background-repeat:repeat-x;
}

.book-information h2 {
  text-align: center;
    top: -20px;
    right: -10px;
	position:relative;
	margin-bottom: -59px;
}

.book-information .contents {
  width: 1000px;
  margin: 0 auto;
}

.book-information .book {
  display: flex;
  color:#8a1818;
  position: relative;
  margin-bottom:80px;
  font-family:Hiragino Sans,"ヒラギノ角ゴシック",Hiragino Kaku Gothic ProN,"ヒラギノ角ゴ ProN W3",Roboto,"Droid Sans",YuGothic,"游ゴシック",Meiryo,"メイリオ",Verdana,"ＭＳ Ｐゴシック",sans-serif;
}

.book-information .book-cover {
  width: 300px;
  padding-top: 3px;
}

.book-information .book-cover img{
  border: 1px solid #8a1818;
}

.book-information .information {
    width: calc(1000px - 300px - 56px);
    margin-left: 56px;
}

.book-information .title {
  font-size: 3.6rem;
  font-weight: bold;
  line-height: 1.3;
}

.book-information .title span {
  font-size: 2.2rem;
  font-weight: bold;
}

.book-information .author {
  margin-top: 9px;
}

.book-information .author p:nth-of-type(1) {
  display: inline-block;
  font-size: 2.4rem;
  line-height: 1.1195;
}
.book-information .author p:nth-of-type(2) {
  margin-top: 24px;
  font-size: 1.6rem;
  line-height: 1.399;
}

.book-information .lead {
  margin-top: 21px;
  font-size: 1.84rem;
  font-weight: 500;
  line-height: 1.666;
}

.book-information .summary {
  margin-top: 9px;
  font-size: 1.54rem;
  line-height: 1.6;
}

.book-information .btns {
  display: flex;
  margin-top: 60px;
}

.book-information .btns li{
  position: relative;
  width: 264px;
  height: 64px;
  transition: all 0.5s ease;
}

.book-information .btns li + li {
  margin-left: 29px;
}

.book-information .btns li:hover {
  transition: all 0.5s ease;
}

.book-information .btns li a {
  display: block;
  position: relative;
  width: 261px;
  height: 64px;
}

.book-information .btns li.buy:hover {
	opacity:0.7;
}

.book-information .btns li.trial:hover {
    opacity:0.7;
}


/*!  footer
================================================ */
footer {
  padding: 30px 0;
  background-color: #8a1818;
  text-align: center;
}

footer .footer {
  width: 960px;
  margin: 0 auto;
}

footer .pagetop {
  position: relative;
  width: 62px;
  height: 62px;
  margin: 0 auto 0;
}

footer .pagetop a {
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: url(../img/img_pagetop.png) 50% 0/100% auto no-repeat;
  text-indent: 100%;
  white-space: nowrap;
  transition: all 0.5s ease;
}

footer .pagetop a:hover {
  opacity: 0.7;
  transition: all 0.5s ease;
}

footer .logo {
  width: 138px;
  height: 31px;
  margin: 21px auto 0;
}

footer .logo a {
  display: block;
  height: 100%;
  overflow: hidden;
  background: url(../img/footer_logo.png) 50% 0/100% auto no-repeat;
  text-indent: 100%;
  white-space: nowrap;
}

footer .sns {
  display: flex;
  justify-content: center;
  margin-top: 16px;
}

footer .sns li:nth-child(2),
footer .sns li:nth-child(2) .fb_iframe_widget span,
footer .sns li:nth-child(2) .fb_iframe_widget iframe{
    width: 140px !important;
}

footer .sns li:nth-child(3),
footer .sns li:nth-child(3) iframe{
    height: 24px !important;
}

footer .sns li + li {
  margin-left: 5px;
}

footer small {
  display: block;
  margin-top: 25px;
  color: #fff;
  font-family: a-otf-ud-shin-go-pr6n, sans-serif;
  font-size: 1.4rem;
  font-style: normal;
  font-weight: 300;
  line-height: 1.1;
  text-transform: uppercase;
}

@media print, screen and (min-width: 560px) {
  img {
    width: auto;
  }
}

@media print, screen and (min-width: 768px) {
  .key-visual .book .trial:hover {
    background-color: rgba(93, 77, 107, 0.7);
    transition: all 0.5s ease;
  }
}
