@charset "utf-8";

@import url('https://fonts.googleapis.com/earlyaccess/notosansjapanese.css');
@import url('https://fonts.googleapis.com/css?family=Sawarabi+Mincho');

/* 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%; color: #333333; min-width: 960px; overflow: hidden; word-wrap: break-word; -webkit-text-size-adjust: 100%;  }
body { font-family:'Noto Sans JP',	"ヒラギノ角ゴ Pro W3", "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: 2em; 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; }


#loader-bg {
  display: none;
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
  background: #fff;
  z-index: 999;
}
#loader {
  display: none;
  position: fixed;
  top: 50%;
  left: 50%;
  width: 29px;
  height: 29px;
  margin-top: -14px;
  margin-left: -14px;
  text-align: center;
  color: #333;
  z-index: 1000;
}


/*
 * header & footer
 */
#container {  }
.scroll-bg { background:#000; position:fixed; left:0; top:0; width:100%; height:100%; opacity:0; }
body.loading #container { visibility:hidden; }


#header { }
#header > .inner { max-width:1040px; margin:0 auto; position:relative; }
#header .logo { width:20.2%; position:relative; top:-2px; }
#header #gnav { position:absolute; right:2%; top:0; margin-top:2rem; }
#header #gnav li { display:inline-block; border-left:1px solid #88602c; padding-left:2rem; margin-left:2rem; }
#header #gnav li:first-child { border-left:none; padding-left:0; }
#header #gnav a { color:#76491b; font-size:1.5rem; }


#footer { background:#dc005a; position:relative; padding:34px 0 60px; color:#fff; font-size:14px; line-height:160%; }
#footer .pagetop { text-align:center;  }
#footer .pagetop:hover { opacity:0.7; }
#footer .sns { text-align:center; margin:20px 0 20px; }
#footer .prize { text-align:center; margin-bottom:20px; }
#footer .logo { text-align:center; margin:20px 0 20px; }
#footer .copyright { text-align:center; }



/*
 * contents
 */
.contents { }
.content-wrapper { }
.main-content {  }


/* anime */
.bulrInEx { animation:_bulrInEx 0.5s ease 0s forwards; }
.bulrInEx2 { animation:_bulrInEx 0.6s ease 0s forwards!important; }
.maskSlideInEx { animation:_maskSlideInEx 1s ease 0s forwards!important; }
.maskSlideInEx2 { animation:_maskSlideInEx2 1s ease 0s forwards!important; }
.zoomInEx { animation:_zoomInEx 0.5s ease 0s forwards!important; }

@keyframes _bulrInEx {
    0% { opacity:0; filter:blur(30px); }
  100% { opacity:1; filter:blur(0px); }
}

@keyframes _maskSlideInEx {
    0% { width:0%; }
  100% { width:100%; }
}

@keyframes _maskSlideInEx2 {
    0% { width:0%; }
  100% { width:100%; }
}

@keyframes _zoomInEx {
    0% { opacity:0; transform:scale(0.8,0.8); }
  100% { opacity:1; transform:scale(1,1); }
}




/* 汎用 */
.red { color:#e71f19; }
.green { color:#009d42; }
.blue { color:#0099ff; }
.note { line-height:140%; }
.underline { text-decoration:underline; }
.underline:hover { text-decoration:none; }
.btn01 a { display:block; width:62.2%; margin:0rem auto 1.8rem; border:2px solid #76491b; background:#fff; color:#76491b; border-radius:50px; font-size:1.875rem; padding:2rem; position:relative; text-align:center; }
.btn01 a:after { display:block; content:""; background:url(../img/ico_arrow01.png) no-repeat left top; background-size:cover; width:20px; height:22px; position:absolute; right:3.89408099688474%; top:50%; transform:translateY(-50%);	}
.btn01 a:hover { text-decoration:none; opacity:0.7; }

.ruby { position:relative; display:inline-block; }
.ruby .rt { position:absolute; top:-12px; text-align:center; font-size:50%; letter-spacing:0; white-space:nowrap; left:50%; transform:translateX(-50%); }




/* content */
.sns ul {font-size: 0;}
.sns ul li {display: inline-block;}
.sns ul li:not(:last-of-type) {margin-right: 10px;}
#header .sns {position: absolute;top: 15px;right: 0px;z-index: 15;}
#footer .sns ul li > * { vertical-align:bottom; }

.visual-area { margin-bottom:0px; margin-left:-30px; }
.visual-area > .inner { width:1040px; margin:0 auto; position:relative; height:1130px; background:url(../img/bg_main02.png) no-repeat left top; }
.visual-area .title01 { position:absolute; left:128px; top:418px; z-index:3; width:846px; }
.visual-area .visual { position:absolute; left:0px; top:0px; z-index:2; width:1212px; }
.visual-area .book { position:absolute; right:30px; top:710px; z-index:10; background:url(../img/img_main_book_bg.png) no-repeat; width:204px; height:392px; padding:10px 10px 10px 11px; }
.visual-area .book .thumb { }
.visual-area .book .date { position:absolute; left:-99px; top:-5px; width:173px; z-index:2; }
.visual-area .book .buy { margin-top:6px; text-align:center; }
.visual-area .book .buy a:hover { opacity:0.7; }
.visual-area .book .trial { margin-top:6px; text-align:center; }
.visual-area .book .trial a:hover { opacity:0.7; }
.visual-area .book .trial.off {opacity: 0.7;}
.visual-area .author { position:absolute; left:70px; top:22px; z-index:10; }
.visual-area .comment { position:absolute; right:12px; top:385px; z-index:10; }
.visual-area .comic-pop { position:absolute; right:12px; top:198px; z-index:10; }
.visual-area .audio-pop { position:absolute; right:190px; top:298px; z-index:10; }
.visual-area .catch { position:absolute; left:70px; top:770px; z-index:5; width:960px; }

.visual-area .title01,
.visual-area .title02,
.visual-area .visual,
.visual-area .author,
.visual-area .book,
.visual-area .comment,
.visual-area .comic-pop,
.visual-area .audio-pop,
.visual-area .catch { opacity:0; }
.visual-area .visual.animated,
.visual-area .book .date.animated { opacity:1!important; }

.section-wrapper { width:0%; overflow:hidden; }
.section-wrapper section:after { opacity:0; transition:0.3s ease-in-out 0.6s; }
.section-wrapper section.animated:after { opacity:1; }
.section-wrapper section > .inner { opacity:0; transition:0.3s ease-in-out 0.6s; }
.section-wrapper section.animated > .inner { opacity:1; }

/* comment */
.comment-area { min-width:960px; margin:0 auto; height:992px; position:relative; z-index:2; background:url(../img/bg_comment01.png) no-repeat center top; background-size:auto; }
.comment-area:after { position:absolute; left:0; top:0; content:""; width:100%; height:100%; display:block;  background:url(../img/bg_comment02.png) no-repeat center top; background-size:auto; }
.comment-area > .inner { width:960px; margin:0 auto; position:relative; z-index:2; }
.comment-area .title { text-align:center; padding-top:10px; margin-bottom:25px; }
.comment-items {  }
.comment-items .item { position:relative; margin-bottom:35px; }
.comment-items .item:nth-child(1) .face { position:absolute; left:-20px; top:35px; }
.comment-items .item:nth-child(1) .text { padding-left:112px; }
.comment-items .item:nth-child(2) .face { position:absolute; right:-20px; top:28px; }
.comment-items .item:nth-child(2) .text { padding-left:128px; }
.comment-items .face,
.comment-items .text { opacity:0; }


/* story */
.story-area-wrapper { margin-top:-263px; }
.story-area { min-width:960px; z-index:2; margin:0 auto 0; height:2067px; padding-bottom:50px; position:relative; background:url(../img/bg_story01.png) no-repeat center top; background-size:auto; }
.story-area:after { position:absolute; left:0; top:0; content:""; width:100%; height:100%; display:block;  background:url(../img/bg_story02.png) no-repeat center top; background-size:auto; }
.story-area > .inner { width:960px; margin:0 auto; position:relative; z-index:2; }
.story-area .title { text-align:center; padding-top:90px; margin-bottom:0px; width:1001px; margin-left:-20px; }


#comics-slider {
	position:relative;
}
#comics-slider ul:nth-child(1) {
	padding: 0 20px;
	background-color: rgba(177,44,127,0.7);
	margin-bottom: 90px;
}
#comics-slider ul:nth-child(2) {
	padding: 0 20px;
	background-color: rgba(84,37,90,0.7);
}
#comics-slider .credit { position:absolute; right:60px; bottom:12px; }

#comics-slider ul {
	width: 920px;
}


/* Slider */
.slick-slider {
		position: relative;
		display: block;
		box-sizing: border-box;
		-webkit-user-select: none;
			 -moz-user-select: none;
				-ms-user-select: none;
						user-select: none;
		-webkit-touch-callout: none;
		-khtml-user-select: none;
		-ms-touch-action: pan-y;
				touch-action: pan-y;
		-webkit-tap-highlight-color: transparent;
}

.slick-list {
		position: relative;
		display: block;
		overflow: hidden;
		margin: 0;
		padding: 0;
}
.slick-list:focus {
		outline: none;
}
.slick-list.dragging {
		cursor: pointer;
		cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
		-webkit-transform: translate3d(0, 0, 0);
			 -moz-transform: translate3d(0, 0, 0);
				-ms-transform: translate3d(0, 0, 0);
				 -o-transform: translate3d(0, 0, 0);
						transform: translate3d(0, 0, 0);
}

.slick-track {
		position: relative;
		top: 0;
		left: 0;
		display: block;
}
.slick-track:before,
.slick-track:after {
		display: table;
		content: '';
}
.slick-track:after {
		clear: both;
}
.slick-loading .slick-track {
		visibility: hidden;
}

.slick-slide {
		display: none;
		float: left;
		height: 100%;
		min-height: 1px;
}
[dir='rtl'] .slick-slide {
		float: right;
}
.slick-slide img {
		display: block;
}
.slick-slide.slick-loading img {
		display: none;
}
.slick-slide.dragging img {
		pointer-events: none;
}
.slick-initialized .slick-slide {
		display: block;
}
.slick-loading .slick-slide {
		visibility: hidden;
}
.slick-vertical .slick-slide {
		display: block;
		height: auto;
		border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
		display: none;
}

.slick-arrow {
	position: absolute;
	top: 0;
	border: none;
	width: 54px;
	height: 650px;
	background: none;
	font-size: 0;
	outline: none;
	cursor: pointer;
	z-index:2;
}
.slick-prev {
	right: -20px;
	background: url(../img/comics-viewer-bt02.png) center right no-repeat;
	margin-bottom: 90px;
}
.slick-next {
	left: -20px;
	background: url(../img/comics-viewer-bt01.png) center left no-repeat;
}
.slick-disabled {
	opacity: 0.2;
}


/* character */
.character-area-wrapper { margin-top:-144px; }
.character-area { min-width:960px; z-index:1; margin:0 auto 0; height:1885px; padding-bottom:50px; position:relative; background:url(../img/bg_character01.png) no-repeat center top; background-size:auto; }
.character-area:after { position:absolute; left:0; top:0; content:""; width:100%; height:100%; display:block;  background:url(../img/bg_character02.png) no-repeat center top; background-size:auto; }
.character-area > .inner { width:962px; margin:0 auto; position:relative; z-index:2; }
.character-area .title { text-align:center; padding-top:55px; margin-bottom:-20px; }
.diagram { background:url(../img/bg_character_diagram.png) no-repeat; height:560px; position:relative; margin-top:75px; }
.diagram h3 { text-align:center; padding-top:20px; }
.diagram .img01 { position:absolute; left:375px; top:170px; }
.diagram .img02 { position:absolute; left:33px; top:33px; }
.diagram .img03 { position:absolute; left:734px; top:33px; }
.diagram .img04 { position:absolute; left:33px; top:325px; }
.diagram .img05 { position:absolute; left:734px; top:325px; }
.diagram .arrow01 { position:absolute; left:217px; top:137px; }
.diagram .arrow02 { position:absolute; left:599px; top:137px; }
.diagram .arrow03 { position:absolute; left:219px; top:291px; }
.diagram .arrow04 { position:absolute; left:575px; top:274px; }
.diagram .img01,
.diagram .img02,
.diagram .img03,
.diagram .img04,
.diagram .img05,
.diagram .arrow01,
.diagram .arrow02,
.diagram .arrow03,
.diagram .arrow04 { opacity:0; }


/* audio */
.audio-area-wrapper { position: relative; margin-top:-262px; z-index: 10;}
.audio-area { min-width:960px; z-index:0; margin:0 auto 0; height:1105px; padding-bottom:50px; position:relative; background:url("../img/bg_audio.png") no-repeat center top; background-size:auto; }
.audio-area > .inner { width:960px; margin:0 auto; position:relative; z-index:2; }
.audio-area .title { text-align:center; padding-top:85px; margin-bottom:38px; }
.audio-area .text{ text-align: center; margin-bottom: 25px;}
.audio-area .audio-img{ text-align: center; margin-bottom: 32px;}
.audio-area .btn{ text-align: center;}
.audio-area .btn a:hover { opacity: 0.7;}
/* keywords */
.keywords-area-wrapper { margin-top:-185px; }
.keywords-area { min-width:960px; z-index:0; margin:0 auto 0; height:838px; padding-bottom:50px; position:relative; background:url(../img/bg_keywords01.png) no-repeat center top; background-size:auto; }
.keywords-area:after { position:absolute; left:0; top:0; content:""; width:100%; height:100%; display:block;  background:url(../img/bg_keywords02.png) no-repeat center top; background-size:auto; }
.keywords-area > .inner { width:960px; margin:0 auto; position:relative; z-index:2; }
.keywords-area .title { text-align:center; padding-top:85px; margin-bottom:48px; }
.keyword-list { position:relative; }
.keyword-list li { float:left; margin-right:22px; }
.keyword-list li:last-child { margin-right:0; }


.information-area { min-width:960px; margin:-80px auto 0; padding:0 0px 45px; position:relative; z-index:2; }
.information-area > .inner { width:960px; margin:0 auto; }
.information-area .title { text-align:center; margin-bottom:35px; }
.information-area p { line-height:180%; }
.book-box { margin-bottom:50px; }
.book-box .box-left { float:left; width:269px; }
.book-box .box-right { float:right; width:625px; }
.book-box .thumb { position:relative; }
.book-box .release { position:absolute; left:-32px; top:-32px; }
.book-box .ttl { font-size:30px; font-weight:bold; margin-bottom:20px; line-height:120%; }
.book-box .ttl span { font-size:20px; }
.book-box .author { font-size:20px; margin-bottom:20px; }
.book-box .author span { font-size:14px; margin-left:25px; }
.book-box .lead { font-size:22px; color:#e60012; font-weight:bold; line-height:160%; margin-bottom:0.5em; }
.book-box p { font-size:16px; }
.book-box .btns { margin-top:-5px; }
.book-box .btns a:hover { opacity:0.7; }
.book-box .btns .buy { display:inline-block; margin-right:30px; }
.book-box .btns .trial { display:inline-block; }
.book-box .btns .trial.off {opacity: 0.7;}

