@charset "utf-8";
/* 共通 */
html{
  font-size: 10px;
}
body{
  font: 1.6rem/1.8 "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  color: #08151d;
  font-weight: 500;
}
img{
	width: 100%;
}
a{
	color: #08151d;
	text-decoration: underline;
}
a:hover{
	text-decoration: none;
}
.font-gothic{
	font-family: Verdana,"游ゴシック Medium","Yu Gothic Medium","游ゴシック体",YuGothic,sans-serif;
}
.hide {
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
}
.sec-title{
	font-size: 3.6rem;
	text-align: center;
	margin-bottom: 3.5rem;
	letter-spacing: 2px;
}
.wrapper{
	max-width: 900px;
	margin: auto;
}
.box-title{
	display: inline-block;
	padding: 0.5rem 2rem;
	background-color: #08151d;
	line-height: 1;
	color: #ffffff;
	letter-spacing: 2px;
}

/* ヘッダー */
#header{
	background-image: url(../img/bg1.png);
	background-position: center;
	background-repeat: repeat;
}
.header-wrap{
/*	background-image: -webkit-linear-gradient(rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.5) 80%);
	background-image: -o-linear-gradient(rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.5) 80%);
	background-image: linear-gradient(rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.5) 80%);*/
	padding: 0 1rem;
/*	padding-bottom: 5rem;*/
}
.header-top {
	max-width: 900px;
	margin: auto;
	height: 100%;
	position: relative;
}
.header-copy1{
	position: absolute;
	top: 2rem;
	right: 5rem;
	width: 190px;
}
.header-copy2{
	position: absolute;
	top: 3rem;
	right: 30rem;
	width: 228px;
}
.header-release{
	position: absolute;
	top: 9rem;
	left: 10rem;
	width: 216px;
}
.header-logo{
	max-width: 1092px;
	margin: auto;
/*	padding-top: 5rem;*/
}
.header-copy3{
	max-width: 350px;
	margin: auto;
}
.header-menu{
	margin: 5rem auto 0;
}
.header-menu ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.header-menu a{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 300px;
	margin: 0.5rem;
	background: #045975 url(../img/btn-bg.png);
	border: solid 3px #ffffff;
	text-decoration: none;
}
.header-menu li{
	text-align: center;
	color: #ffffff;
	font-size: 2rem;
	line-height: 1.2;
	padding: 1rem 0.5rem;
}
.header-menu li span{
	display: block;
	font-size: 1.6rem;
}
.header-sns{
	margin: 5rem auto 0;
	text-align: center;
	padding: 0 1rem;
}
.header-sns li{
	width: 34px;
	height: 34px;
	margin: 1rem;
	display: inline-block;
}
.header-movie{
	margin: 8rem auto 0;
	max-width: 560px;
}
.header-movie div{
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}
.header-movie iframe{
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
}

/* ストーリー */
#story{
	position: relative;
	background-color: #ffffff;
	background-attachment: fixed;
	background-position: center;
	background-repeat: no-repeat;
	padding: 3rem 2rem;
	font-size: 2rem;
}
#story .sec-title{
	color: #ffffff;
}
.story-text{
	font-size: 2.1rem;
	line-height: 2;
	color: #ffffff;
	text-align: justify;
		background-color: #1b96a1ba;
    padding: 20px;
    border-radius: 20px;
}
#story .wrapper span{
  text-shadow: 0 3px 5px rgba(163, 226, 252, .6);  /* 微妙ににじんだ感じを出すため（さほど明示的ではない） */
  line-height: normal;  /* このnormalの指定が、可変文字サイズ取得やクロスブラウザのために重要！ */
  font-weight: bold;
  background: linear-gradient(rgba(0,0,0,0) 60%, rgba(163, 226, 252, .6) 0);
}
#story .wrapper span::before, #story .wrapper span::after {
    display: inline-block;
    content: "\A";
    white-space: pre;
    width: 0.41em;
    clip-path: inset(1px 0);
    transform-origin: bottom left;
    transform: skewX(-20deg) translateX(-0.41em);
    background: linear-gradient(rgba(0, 0, 0, 0) 60%, rgba(163, 226, 252, .6) 0);
}
#story .wrapper span::after {
  filter: blur(.03em);  /* 終端のにじみの演出 */
  transform: skewX(-20deg); /* マーカー右端の平行四辺形の移動は不要 */
  background: linear-gradient(rgba(0,0,0,0) 60%, rgba(163, 226, 252, .95) 0); /* 背景色の透明度を少し濃い目に */
}
/* 著者紹介 */
#author{
	background-image: url(../img/bg1.png);
	background-position: center;
	background-repeat: repeat;
	padding: 4rem 2rem;
}
#author .wrapper{
	max-width: 800px;
}
.author-info{
	display: flex;
	align-items: center;
	margin-top:15px;
}
.author-info iframe{
/*	  width: 23.8%;1/4の場合*/
    width: 32.0%;
    margin: 5px;
    height: auto;
}

.author-name{
	width: 311px;
	flex-shrink: 0;
	margin-right: 6rem;
	text-justify: auto;
}
.author-text{
	font-size: 2.1rem;
	text-align: justify;
}

/* NEWS */
#news{
	position: relative;
	background-attachment: fixed;
	background-position: center;
	background-repeat: no-repeat;
	padding: 0rem 2rem;
	max-width:800px;
	margin:auto;
}
#news .wrapper{
	max-width: 1100px;
	background-color: rgba(255, 255, 255, 0.3);
	padding: 5rem;
	font-size: 1.8rem;
}
.news-list li{
	line-height: 1.4;
	margin-top: 1rem;
}
.spin-off{
	margin-top: 4rem;
}
.spin-off p{
	margin-top: 2rem;
}
.spin-off-list{
	margin-top: 2rem;
	display: flex;
	align-items: center;
	border: solid 1px #08151d;
	padding: 2rem;
}
.spin-off-list dt{
	flex-shrink: 0;
}
.spin-off-list li{
	display: inline-block;
	margin-left: 2rem;
}
.mv{
	margin-top: 4rem;
}
.mv-list{
	margin-top: 3rem;
	display: flex;
}
.mv-list li{
	margin: 0 1rem 1rem 0;
	flex-basis: 300px;
}
.mv-list .mv-wrap{
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}
.mv-list .mv-wrap iframe{
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
}
.mv-title{
	margin-top: 2rem;
	text-align: center;
	font-size: 2.4rem;
}
.mv-text{
	text-align: center;
	font-size: 1.8rem;
}
.mv-text span{
	display: block;
	text-align: center;
	font-size: 1.4rem;
}
.illustrator{
	margin: 1rem auto;
	display: block;
	max-width: 1100px;
	text-align: right;
}

/* PV＆キャスト */
#pv-cast{
	background-image: url(../img/pv-bg.png);
	background-size: cover;
	position: relative;
	background-attachment: fixed;
	background-position: center;
	background-repeat: no-repeat;
	padding: 4rem 2rem;
}
.benefit{
	margin-top: 3rem;
}
.benefit dt{
	font-size: 2.4rem;
	color: #ffffff;
	background-color: #08151d;
	padding: 0.5rem 2rem;
}
.benefit dt span{
	margin-right: 1rem;
}
.benefit dd{
	font-size: 1.8rem;
	background-color: rgba(255, 255, 255, 0.3);
	padding: 2rem;
}
.cast{
	margin-top: 4rem;
	display: flex;
}
.cast-photo{
	width: 300px;
	flex-shrink: 0;
	margin-right: 3rem;
}
.cast-name{
	font-size: 2.4rem;
}
.cast-name span{
	font-size: 1.6rem;
}
.cast-prof{
	margin-top: 2rem;
	font-size: 1.6rem;
}
.cast-comment{
	margin-top: 2rem;
	font-size: 1.8rem;
}

/* 書籍紹介 */
#books{
	background-image: url(../img/bg1.png);
	background-position: center;
	background-repeat: repeat;
	padding: 0rem 2rem 8rem;
}
#books .book-info{
	display: flex;
	color: #FFF;
  margin-top: 20px;
}
.book-cover{
	width: 240px;
	flex-shrink: 0;
	margin-right: 5rem;
}
.book-cover img{
	box-shadow: 0 0 30px rgba(255,255,255,1);
}
.book-title{
	font-size: 4.8rem;
	line-height: 1.4;
}
.book-author{
	font-size: 2.4rem;
	line-height: 1.4;
}
.book-data{
	margin-top: 2rem;
	font-size: 1.4rem;
}
.shop-list{
	margin-top: 2rem;
}
.shop-list a{
	display: inline-block;
	margin: 0.5rem 0.5rem 0 0;
}
.shop-list img{
	width: auto;
	margin: auto;
}
.shop-list li{
	display: table-cell;
	vertical-align: middle;
	text-align: center;
	width: 200px;
	height: 50px;
	background-color: #ffffff;
}
.btn-detail{
	margin-top: 2rem;
}
.btn-detail a{
	display: block;
	background-color: #f1e3d6;
	color: #000000;
	text-align: center;
	max-width: 200px;
	padding: 1rem 0.5rem;
	text-decoration: none;
	margin: auto;
}

/* フッター */
#footer {
	background-color: #ffffff;
	padding: 5rem 1rem;
}
.kawade{
	font-size: 1.8rem;
	text-align: center;
}
.copyright{
	display: block;
	font-size: 1.2rem;
	text-align: center;
}
.btn-tw{
	position: absolute;
	top: 80px;
	left: 15px;
	z-index: 2;
	width: 35px;
}
/*----------------------------
* メニュー開閉ボタン
*----------------------------*/
.menu-btn{
	position: fixed;
	top: 20px;
	left: 12px;
	z-index: 2;
	width: 44px;
	height: 49px;
	display: flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
}

/*----------------------------
* メニュー本体
*----------------------------*/
.menu{
	position: fixed;
	top: 0;
	right: 0;
	z-index: 1;
	width: 100vw;
	height: 100vh;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	background: #333;
}
.menu__item,
.btn-close{
	width: 100%;
	height: auto;
	padding: 1rem 2em;
	text-align: center;
	color: #fff;
	box-sizing: border-box;
	font-size: 2.4rem;
	cursor: pointer;
}
.menu__item a{
	color: #fff;
	text-decoration: none;
}

/*----------------------------
* アニメーション部分
*----------------------------*/

/* アニメーション前のメニューの状態 */
.menu{
  pointer-events: none;
  opacity: 0;
  transition: opacity .3s linear;
}
/* アニメーション後のメニューの状態 */
.menu.is-active{
  pointer-events: auto;
  opacity: 0.9;
}


/*-- 960px以上PC時のみ --*/
@media screen and (min-width:960px) {
  a:hover, .menu-btn:hover {
    opacity: .8;
    transition: .2s;
  }
}
/*-- 900px以下タブレット時 --*/
@media screen and (max-width:900px) {
	
.sec-title{
	font-size: 2.8rem;
	margin-bottom: 3rem;
	line-height: 1.4;
}

/* ヘッダー */
.header-copy1{
	top: 2rem;
	right: 5rem;
	width: 150px;
}
.header-copy2{
	top: 3rem;
	right: 25rem;
	width: 200px;
}
.header-release{
	top: 22rem;
	left: 4rem;
	width: 190px;
}
.header-copy3{
	max-width: 300px;
	margin: auto;
}
.header-menu a{
	width: 100%;
}
.header-menu li{
	font-size: 1.6rem;
}
.header-menu li span{
    font-size: 1.4rem;
}
.header-movie{
	margin: 5rem auto 0;
}

/* ストーリー */
#story{
	padding: 3rem 3rem;
	background-position: right top;
}
.story-text{
	font-size: 1.8rem;
	line-height: 2;
}

/* 著者紹介 */
#author{
	padding: 5rem 3rem;
}
.author-info{
	display: block;
}
.author-info iframe{
	  width: 100%;
	  margin:0px;
	  height: revert-layer;
}
.author-name{
	width: 260px;
	margin: 0 auto 2rem;
}
.author-text{
	font-size: 1.8rem;
}
	
/* NEWS */
#news{
	background-position: right;
	padding: 5rem 1.5rem;
}
#news .wrapper{
	padding: 2rem;
	font-size: 1.8rem;
}
.mv{
	margin-top: 4rem;
}
.mv-list{
	margin-top: 3rem;
	display: block;
}
.mv-list li{
	margin: 0 0 2rem 0;
}
.mv-title{
	margin-top: 1rem;
	font-size: 1.8rem;
}
.mv-text{
	font-size: 1.6rem;
}

/* PV＆キャスト */
#pv-cast{
	padding: 5rem 3rem;
}
.benefit{
	margin-top: 3rem;
}
.benefit dt{
	font-size: 1.8rem;
}
.benefit dd{
	font-size: 1.6rem;
	padding: 1rem;
}
.cast{
	margin-top: 4rem;
	display: block;
}
.cast-photo{
	width: 300px;
	margin: 0 auto;
}
.cast-name{
	text-align: center;
	margin-top: 3rem;
	font-size: 1.8rem;
}
.cast-name span{
	font-size: 1.6rem;
}
.cast-prof{
	margin-top: 2rem;
	font-size: 1.6rem;
}

/* 書籍紹介 */
#books{
	padding: 5rem 3rem;
}
#books .book-info{
	display: block;
}
.book-cover{
	width: 240px;
	margin: 0 auto;
}
.book-title{
	margin-top: 2rem;
	font-size: 3rem;
	text-align: center;
}
.book-author{
	font-size: 1.8rem;
	text-align: center;
}
.book-data{
	text-align: center;
}
.shop-list{
	margin: 2rem auto 0;
	max-width: 500px;
	text-align: center;
}
.shop-list li{
	width: 180px;
}
.btn-detail{
	text-align: center;
}
.btn-detail a{
	max-width: 400px;
	margin: auto;
}

}
/*-- 560px以下SP時 --*/
@media screen and (max-width:560px) {

/* ヘッダー */
.header-copy1{
	top: 2rem;
	right: 1rem;
	width: 120px;
}
.header-copy2{
	top: 3rem;
	left: 6rem;
	width: 140px;
}
.header-release{
	top: 20rem;
	left: 2rem;
	width: 110px;
}
.header-sns{
	margin: 2rem auto 0;
}
/* ストーリー */
#story{
	background-image: url("../img/story-bg-sp.png");
	background-position: center top;
	background-attachment: scroll;
	padding: 3rem 2rem;
}
/* 著者紹介 */
#author{
	padding: 5rem 2rem;
}
/* NEWS */
#news{
	background-image: none;
}
#news:before{
	content:"";
	display:block;
	position:fixed;
	top:0;
	left:0;
	z-index:-1;
}
#news .wrapper{
	padding: 1.5rem;
}
.spin-off-list{
	padding: 1rem;
}
/* PV＆キャスト */
#pv-cast{
	background-image:url(../img/pv-bg-sp.png);
	/*background-attachment: scroll;*/
	padding: 3rem 2rem;
}
/* 書籍紹介 */
#books{
	padding: 3rem 2rem;
}
.book-cover{
	width: 200px;
	margin: 0 auto;
}
.btn-tw{
	top: 70px;
	left: 9px;
	width: 30px;
}
/*----------------------------
* メニュー開閉ボタン
*----------------------------*/
.menu-btn{
	top: 20px;
	left: 10px;
	width: 30px;

}
}
