@charset "utf-8";
/* CSS Document */
@import url('https://fonts.googleapis.com/css?family=Vollkorn+SC:900&display=swap');
/* clearfix */

.cf:before,
.cf:after {
    content: " ";
    display: table;
}

.cf:after {
    clear: both;
}

.cf {
    *zoom: 1;
}

/* 画像センタリング */

.cr {margin:0 auto;}



/* FireFoxFadeブレ防止 */

img { display:block; box-shadow: #000 0 0 0; }


/* 全体・枠作り */

html,body {
  height:100%;
}

html {
	font-size:62.5%;
}

img { display:block; }

a img {
	transition: all 0.3s;
	opacity: 1;
}

a:hover img {
	opacity: 0.6;
}

body {
	font-family: Verdana, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
	font-size:62.5%;
	text-align:center;
	background:url("../img/grand_bg.png") left top repeat;
}

#PageWrapper {
	min-height: 100%;
	height: auto !important;
	height: 100%;
	position: relative;
	width:100%;
}

header {
	background:url("../img/menu_bg.png") left top repeat;
	width:100%;
	height:100px;
}

.head_wrap {
	width:1000px;
	height:100px;
	margin:0 auto;
}

.header_up {
	width:1000px;
	height:29px;
	border-bottom:1px solid #fff;
}

.pagetop {
	width:180px;
	height:29px;
	float:left;
	position: relative;
}

.pagetop a {
	width:180px;
	height:29px;
	display: block;
	background:url("../img/pagetop.png") left top no-repeat;
}

.pagetop a:after {
	content: "";
	display: block;
	position: absolute;
	left:0;
	top:0;
	width:180px;
	height:29px;
	background:url("../img/pagetop_ro.png") left top no-repeat;
	transition: all 0.3s;
	opacity: 0;
}

.pagetop a:hover:after {
	opacity: 1;
}

.brandtop {
	width:180px;
	height:29px;
	float:right;
}

.brandtop a {
	width:180px;
	height:29px;
	display: block;
	background:url("../img/brandtop.png") left top no-repeat;
	position: relative;
}

.brandtop a:after {
	content: "";
	display: block;
	position: absolute;
	left:0;
	top:0;
	width:180px;
	height:29px;
	background:url("../img/brandtop_ro.png") left top no-repeat;
	transition: all 0.3s;
	opacity: 0;
}

.brandtop a:hover:after {
	opacity: 1;
}

.header_bottom {
	width:1000px;
	height:70px;
}

.header_bottom ul {
	width:1000px;
	display: flex;
}

.header_bottom ul li {
	height:70px;
	position: relativee;
}

.header_bottom ul li a {
	display: block;
	height:70px;
	position: relative;
}

.menu01 a {background:url("../img/menu_01.png") left top no-repeat; width:250px;}
.menu02 a {background:url("../img/menu_02.png") left top no-repeat; width:250px;}
.menu03 a {background:url("../img/menu_03.png") left top no-repeat; width:249px;}
.menu04 a {background:url("../img/menu_04.png") left top no-repeat; width:251px;}

.header_bottom ul li a:after {
	content: "";
	display: block;
	height:70px;
	position: absolute;
	left:0;
	top:0;
	opacity: 0;
	transition: all 0.3s;
}

.header_bottom ul li a:hover:after {
	opacity: 1;
}

.menu01 a:after {background:url("../img/menu_01_ro.png") left top no-repeat; width:250px;}
.menu02 a:after {background:url("../img/menu_02_ro.png") left top no-repeat; width:250px;}
.menu03 a:after {background:url("../img/menu_03_ro.png") left top no-repeat; width:249px;}
.menu04 a:after {background:url("../img/menu_04_ro.png") left top no-repeat; width:251px;}

#Mainvisual {
	background:url("../img/mv_bg.jpg") center top no-repeat;
	background-size:cover;
	width:100%;
	height:1200px;
	position: relative;
}

.mv {
	background:url("../img/mv.jpg") left top no-repeat;
	width:900px;
	height:1200px;
	position: absolute;
	left:50%;
	margin-left:-450px;
	top:24px;
	box-shadow:0 0 10px rgba(208,69,72,1.00);
	z-index:10;
}

.catch {
	background:url("../img/catch.png") left top no-repeat;
	width:520px;
	height:260px;
	position: absolute;
	left:50%;
	margin-left:-500px;
	top:170px;
	z-index:15;
}

.masterup {
	background:url("../img/masterup.png") left top no-repeat;
	width:303px;
	height:303px;
	position: absolute;
	left:50%;
	margin-left:197px;
	top:450px;
	z-index:15;
}

.logo_staff {
	background:url("../img/logo_staff.png") left top no-repeat;
	width:1000px;
	height:390px;
	position: absolute;
	left:50%;
	margin-left:-500px;
	bottom:-16px;
	z-index:20;
}

#Contents {
	padding-top:80px;
	padding-bottom:80px;
}

.owabi {
	background:url("../img/owabi.png") left top no-repeat;
	width:800px;
	height:450px;
	margin:0 auto 36px;
}

.topics_wrap {
	width:1024px;
	margin:0 auto 24px;
}

.topics_wrap ul {
	width:1024px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.topics_wrap ul li {
	display: block;
	background-color:#fff;
	margin-bottom:32px;
}

.topics_wrap ul li a {
	display: block;
}

.topics_wrap ul li a img {
	transition: all 0.3s;
}

.topics_wrap ul li a:hover img {
	opacity: 0.6;
}

.info_block {
	width:1024px;
	margin:0 auto 48px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.tweet_block {
	background:url("../img/tweet_bg.png") left top no-repeat;
	width:300px;
	padding:81px 0 0;
	height:279px;
}

.twidget {
	width:242px;
	margin:0 auto;
	height:250px;
	background:rgba(0,0,0,0.5);
}

.log_block {
	background:url("../img/log_bg.png") left top no-repeat;
	width:688px;
	padding-top:82px;
	height:360px;
}

.logbox {
	width:630px;
	height:249px;
	overflow: hidden;
	margin:0 auto;
}

.logbox dl {
	width:580px;
	color:#fff;
	display: flex;
	margin:0 auto;
	border-bottom:1px solid #D9CCCC;
	padding:10px 0;
}


.logbox dl dt {
	width:110px;
	line-height: 1.8;
	display: block;
	font-size:1.6rem;
	text-align: center;
}

.logbox dl dd {
	width:480px;
	padding-left:10px;
	line-height: 1.8;
	font-size:1.6rem;
	text-align: left;
}

.logbox a {
	transition: all 0.3s;
	text-decoration: none;
	color:rgba(255,206,0,1.00);
	font-weight: bold;
}

.logbox a:hover {
	text-decoration: underline;
}

.head_productinfo {
	background:url("../img/head_productinfo.png") center top no-repeat;
	width:399px;
	height:76px;
	margin:0 auto 32px;
}

.productinfo_body {
	background:url("../img/product_info.png") left top no-repeat;
	width:1024px;
	height:300px;
	margin:0 auto;
	position: relative;
}

a.staff01 {
	display: block;
	width:100px;
	height:20px;
	position: absolute;
	left:149px;
	bottom:165px;
}

a.staff02 {
	display: block;
	width:55px;
	height:20px;
	position: absolute;
	left:149px;
	bottom:139px;
}

footer {
	border-top:1px solid #fff;
	padding-top:28px;
	padding-bottom:32px;
}

.foot_logo {
	background:url("../img/foot_logo.png") left top no-repeat;
	width:83px;
	height:77px;
	margin:0 auto 12px;
}

.copyright {
	line-height: 24px;
	font-size:1.5rem;
	color:#fff;
	text-align: center;
}

/* サブぺ */

.headtemplate {
	width:1000px;
	height:76px;
	margin:0 auto 80px;
}

.head_banner	 {background:url("../img/head_banner.png") left top no-repeat;}
.head_character	 {background:url("../img/head_character.png") left top no-repeat;}
.head_gallery	 {background:url("../img/head_gallery.png") left top no-repeat;}
.head_movie		 {background:url("../img/head_movie.png") left top no-repeat;}
.head_official	 {background:url("../img/head_official.png") left top no-repeat;}
.head_pickup	 {background:url("../img/head_pickup.png") left top no-repeat;}
.head_retweet	 {background:url("../img/head_retweet.png") left top no-repeat;}
.head_shopbonus	 {background:url("../img/head_shopbonus.png") left top no-repeat;}
.head_special	 {background:url("../img/head_special.png") left top no-repeat;}
.head_story		 {background:url("../img/head_story.png") left top no-repeat;}
.head_trial		 {background:url("../img/head_trial.png") left top no-repeat;}
.head_voice		 {background:url("../img/head_voice.png") left top no-repeat;}
.head_rendou		 {background:url("../img/head_rendou.png") left top no-repeat;}
.head_dlcard		 {background:url("../img/head_dlcard.png") left top no-repeat;}

/* ぴかぽ */

.pickup_body {
	background:url("../img/pickup/body.png") center top no-repeat;
	width:100%;
	height:1600px;
	padding-bottom:120px;
}

/* アウトライン */

.story_body {
	background:url("../img/outline/story_body.jpg") left top no-repeat;
	width:1024px;
	height:800px;
	margin:0 auto 120px;
	box-shadow: 0 0 8px rgba(54,36,3,0.60);
}

.chara_wrap {
	background:url("../img/outline/chara_bg.png") left top repeat;
	width:100%;
	height:900px;
	margin-bottom:120px;
}

.chara_body {
	background:url("../img/outline/chara_body.png") center top no-repeat;
	width:100%;
	height:900px;
	position: relative;
	
}

.voice {
	position: absolute;
	left:50%;
	margin-left:146px;
	top:656px;
}

.voice ul {
	display: flex;
}

.voice ul li a {
	display: block;
	width:40px;
	height:40px;
	background:#000;
	opacity: 0;
}

a.zoom {
	display: block;
	width:120px;
	height:32px;
	border-radius: 16px;
	position: absolute;
	bottom:29px;
	left:50%;
	margin-left:-492px;
	background-color:#fff;
	opacity: 0;
	transition: all 0.3s;
}

a:hover.zoom {
	opacity: 0.4;
}

ul.gallery_wrap {
	width:1024px;
	margin:60px auto 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding-bottom:240px;
}

ul.gallery_wrap li {
	background:#fff;
	width:300px;
	height:169px;
	display: block;
	box-shadow: 0 0 8px rgba(0,0,0,0.6);
	margin-bottom:24px;
}

ul.gallery_wrap li a img {
	transition: all 0.3s;
}

ul.gallery_wrap li a:hover img {
	opacity: 0.6;
}


/* バナキャン用 */

.banner_body {
	background:url("../img/special/banner_body.jpg") center top no-repeat;
	width:1024px;
	height:700px;
	margin:60px auto 0;
	position: relative;
	box-shadow: 0 0 8px rgba(54,36,3,0.60);
}

.banner_wrap {
	width:1000px;
	margin:0 auto 120px;
}

.b_left {
	width:600px;
	float:left;
}

.b_right {
	width:400px;
	float:left;
}

.b_center {
	width:1000px;
	float:left;
}

.b_head {
	width:80%;
	line-height: 36px;
	border-radius: 18px;
	font-size:2rem;
	background-color:rgba(137,0,255,1.00);
	color:#fff;
	margin:0 auto;
	font-family: 'Vollkorn SC', serif;
	margin-bottom:24px;
}

.b_container {
	display: flex;
	justify-content: space-around;
	flex-wrap: wrap;
}

.b150 {	width:150px; margin-bottom:72px;}
.b150 img {margin-bottom:10px;}
.b150 textarea {width:100%;}

.b200 {	width:300px; margin-bottom:72px;}
.b200 img {margin:0 auto 10px;}
.b200 textarea {width:100%;}

.b250 {	width:250px; margin-bottom:72px;}
.b250 img {margin-bottom:10px;}
.b250 textarea {width:100%;}

.b600 {	width:820px; display: flex; margin-bottom:32px;justify-content: space-around;}
.b600 textarea {width:200px;height:150px;}

.b800 {	width:800px; margin-bottom:72px;}
.b800 textarea {width:100%;}

.banner_form {
	width:1024px;
	margin:0 auto 80px;
	padding:20px 0;
	font-size:1.4em;
	line-height:1.5;
	text-align:left;
	color:#a40000;
	background-color:rgba(255,255,255,1); 
	border-radius: 0 0 20px 20px;
    -webkit-border-bottom-right-radius: 20px;  
    -webkit-border-bottom-left-radius: 20px;   
    -moz-border-radius-bottomright: 20px;  
    -moz-border-radius-bottomleft: 20px; 
}

.banner_form table {
	width:800px;
	margin:0 auto;
	border:1px solid #ffffff;
}


.banner_form table th {
	border-bottom:1px dotted #ffc2e5;
	padding:10px;
	font-size:1.5em;
}

.banner_form table td {
	border-bottom:1px dotted #ffc2e5;
	padding:10px;
	font-size:1.5em;
}

.enquete_button {
	text-align:center;
	padding-top:20px;
	padding-bottom:40px;
}

.con_reset {
	width:80px;
	height:80px;
	margin-right:50px;
	-moz-border-radius: 50px;
	-webkit-border-radius: 50px;
	-khtml-border-radius: 50px;	
	border-radius: 50px;
	background-color:#8cafe3;
	border-style: none;
	font-family:Arial, Helvetica, sans-serif;
	font-size:1.8em;
	font-weight:bold;
	color:#fff;
}

.con_reset:hover {
	background-color:#4a83d7;
}

.con_submit {
	width:80px;
	height:80px;
	-moz-border-radius: 50px;
	-webkit-border-radius: 50px;
	-khtml-border-radius: 50px;	
	border-radius: 50px;
	background-color:#ee88ad;
	border-style: none;
	font-family:Arial, Helvetica, sans-serif;
	font-size:1.8em;
	font-weight:bold;
	color:#fff;
	text-decoration:none;
}

.con_submit:hover {
	background-color:#d44d7d;
}

.formline1 span {
	font-size:75%;
	color:#FF0004;
	font-weight:100;
}

.banner_form p {
	text-align: center;
	font-size:2rem;
	font-weight: bold;
}

/* ボイスドラマ用 */

.voiced_01 {
	background:url("../img/special/voiced_01.jpg") left top no-repeat;
	width:1024px;
	height:700px;
	box-shadow: 0 0 8px rgba(0,0,0,0.6);
	margin:0 auto 80px;
	position: relative;
}

.voiced_02 {
	background:url("../img/special/voiced_02.jpg") left top no-repeat;
	width:1024px;
	height:700px;
	box-shadow: 0 0 8px rgba(0,0,0,0.6);
	margin:0 auto 80px;
	position: relative;
}

.voiced_03 {
	background:url("../img/special/voiced_03.jpg") left top no-repeat;
	width:1024px;
	height:700px;
	box-shadow: 0 0 8px rgba(0,0,0,0.6);
	margin:0 auto 80px;
	position: relative;
}

a.dlink03 {
	background-color:rgba(255,255,255,0);
	display: block;
	position: absolute;
	opacity: 1;
	transition: all 0.3s;
	width:600px;
	height:48px;
	top:482px;
	left:50%;
	margin-left:-475px;
}

a:hover.dlink03 {
	background-color:rgba(255,255,255,0.6);
}

a.dlink01 {
	background-color:rgba(255,255,255,0);
	display: block;
	position: absolute;
	opacity: 1;
	transition: all 0.3s;
	width:600px;
	height:48px;
	top:548px;
	left:50%;
	margin-left:-475px;
}

a:hover.dlink01 {
	background-color:rgba(255,255,255,0.6);
}

a.dlink02 {
	background-color:rgba(255,255,255,0);
	display: block;
	position: absolute;
	opacity: 1;
	transition: all 0.3s;
	width:600px;
	height:48px;
	top:614px;
	left:50%;
	margin-left:-475px;
}

a:hover.dlink02 {
	background-color:rgba(255,255,255,0.6);
}

.yoyaku_shop table {
	margin:0 auto 80px;
	background-color:rgba(45,34,34,1.00);
	font-size:1.6rem;
	color:#fff;
}

.yoyaku_shop th {
	width:180px;
	padding:5px;
	text-align: center;
	border:1px solid #989898;
	background-color:rgba(102,19,20,1.00)
}

.yoyaku_shop td {
	width:420px;
	padding:5px;
	text-align: left;
	border:1px solid #989898;
}

/* 通販 */


.order_head {
	background:url("../img/order/header.jpg") left top no-repeat;
	width:1024px;
	height:300px;
	margin:0 auto 48px;
	box-shadow: 0 0 8px rgba(54,36,3,0.60);
}

.order_catch01 {
	background:url("../img/order/catch01.png") center top no-repeat;
	width:1024px;
	height:145px;
	margin:0 auto 48px;
}

.order_voicedrama {
	background:url("../img/order/voicedrama.jpg") left top no-repeat;
	width:1024px;
	height:1000px;
	margin:0 auto 80px;
	box-shadow: 0 0 8px rgba(54,36,3,0.60);
}

.order_mousepad {
	background:url("../img/order/mousepad.jpg") left top no-repeat;
	width:1024px;
	height:1680px;
	margin:0 auto 80px;
	box-shadow: 0 0 8px rgba(54,36,3,0.60);
}

.shop_wrap {
	width:1024px;
	margin:0 auto;
	padding-bottom:120px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.shop_large {
	width:1024px;
	height:420px;
	margin:0 auto 48px;
	box-shadow: 0 0 8px rgba(54,36,3,0.60);
	position: relative;
}

.shop_large a {
	display: block;
	width:450px;
	height:70px;
	position: absolute;
	right:31px;
	bottom:24px;
	background-color:#fff;
	border-radius: 10px;
	opacity: 0;
	transition: all 0.3s;
}

.shop_large a:hover {
	opacity: 0.4;
}

.order_catch02 {
	background:url("../img/order/catch02.png") center top no-repeat;
	width:1024px;
	height:146px;
	margin:0 auto 48px;
}

.shop_small {
	width:500px;
	height:650px;
	margin:0 auto 48px;
	box-shadow: 0 0 8px rgba(54,36,3,0.60);
	position: relative;
}

.shop_small a {
	display: block;
	width:450px;
	height:70px;
	position: absolute;
	left:25px;
	bottom:26px;
	background-color:#fff;
	border-radius: 10px;
	opacity: 0;
	transition: all 0.3s;
}

.shop_small a:hover {
	opacity: 0.4;
}

.shop01 {background:url("../img/order/shop01.jpg") left top no-repeat;}
.shop02 {background:url("../img/order/shop02.jpg") left top no-repeat;}
.shop03 {background:url("../img/order/shop03.jpg") left top no-repeat;}
.shop04 {background:url("../img/order/shop04.jpg") left top no-repeat;}
.shop05 {background:url("../img/order/shop05.jpg") left top no-repeat;}
.shop06 {background:url("../img/order/shop06.jpg") left top no-repeat;}
.shop07 {background:url("../img/order/shop07.jpg") left top no-repeat;}

.shopbonus_wrap {
	width:1000px;
	margin:0 auto 48px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.sb_box {
	background:#ffee67;
	margin-bottom:36px;
}

.sb_box p {
	color:#4b0000;
	padding:12px 0;
	font-size:1.7rem;
}

.sb_box a {
	display: block;
	width:100%;
	line-height: 48px;
	background:#d80024;
	text-decoration: none;
	color:#fff;
	font-weight: bold;
	font-size:1.7rem;
	box-sizing: border-box;
	border:2px solid rgba(255,255,255,1.00);
	transition: all 0.3s;
}

.sb_box a:hover {
	opacity: 0.6;
}

.sb_box:last-child {
	margin-right:350px;
}

.trial_body {
	width:1024px;
	height:850px;
	margin:0 auto 120px;
	position: relative;
	background:url("../img/special/trial_body.jpg") center top no-repeat;
	box-shadow: 0 0 8px rgba(0,0,0,0.6);
}

.trial_body a {
	display: block;
	position: absolute;
	top:694px;
	left:50%;
	margin-left:-325px;
	width:650px;
	height:80px;
	background-color:#fff;
	opacity: 0;
	transition: all 0.3s;
}

.trial_body a:hover {
	opacity: 0.5
}

.movie_body {
	width:1024px;
	height:850px;
	margin:0 auto 120px;
	position: relative;
	background:url("../img/special/movie_body.jpg") center top no-repeat;
	box-shadow: 0 0 8px rgba(0,0,0,0.6);
}

.movie_box {
	position: absolute;
	width:680px;
	height:386px;
	left:50%;
	margin-left:-340px;
	bottom:70px;
}

.retweet_body {
	background:url("../img/special/retweet_body.jpg") center top no-repeat;
	width:1000px;
	height:1870px;
	margin:0 auto 120px;
	box-shadow:0 0 10px rgba(255,255,255,0.3);
	position: relative;
}

a.ret_A {
	width:190px;
	height:25px;
	display: block;
	position: absolute;
	top:781px;
	left:295px;
}

a.ret_B {
	width:300px;
	height:30px;
	display: block;
	position: absolute;
	top:835px;
	left:349px;
}

.tweet_box {
	width:700px;
	position: absolute;
	top:960px;
	left:150px;
}

.movie_link {
	width:800px;
	margin:0 auto 120px;
	background-color:rgba(255,255,255,0.7);
	padding:50px;
}

.movie_link dl {
	width:800px;
	line-height: 48px;
	color:#fff;
	display: flex;
	justify-content: space-between;
	border-bottom:1px dotted #4E1D00;
}

.movie_link dl a {
	color:rgba(0,155,255,1.00);
	text-decoration: none;
}

.movie_link dl a:hover {
	text-decoration: underline;
}

.movie_link dl dt {
	width:450px;
	display: block;
	text-align: center;
	font-size:1.8rem;
}

.movie_link dl dd {
	width:350px;
	display: block;
	text-align: center;
	font-size:1.8rem;
}

.rendou_body {
	background:url("../img/special/rendou.jpg") left top no-repeat;
	width:1000px;
	height:1415px;
	box-shadow: 0 0 8px rgba(0,0,0,0.6);
	margin:0 auto 80px;
	position: relative;
}

.dlcard_wrap {
	width:1000px;
	box-sizing: border-box;
	border-radius: 20px;
	padding:36px;
	background-color:#fff;
	margin:0 auto;
	font-size:1.6rem;
	text-align: left;
	line-height: 1.8;
}

.dlcard_wrap p {
	color:#2B2B2B;
	margin-bottom:36px;
}

.dlcard_wrap p strong {
	font-size:150%;
	font-weight: bold;
	color:orangered;
}

.dlcard_wrap p a {
	color:deepskyblue;
	text-decoration: none;
}

.dlcard_wrap p a:hover {
	color:deepskyblue;
	text-decoration: underline;
}

.dlcard_wrap ul {
	color:#2B2B2B;
	margin-bottom:36px;
}

.dlc_howto {
	font-size:100%;
	list-style: disc;
	margin-left:36px;
}

ul.dlc_howto li {
	margin-bottom:36px;
}

a.dlc_link {
	width:70%;
	background:rgba(212,29,137,1.00);
	border:1px solid rgba(158,0,93,1.00);
	box-shadow: 0 0 15px rgba(212,29,137,0.5);
	color:#fff;
	font-weight: bold;
	text-align: center;
	border-radius: 15px;
	line-height: 100px;
	display: block;
	text-decoration: none;
	font-size:200%;
	margin:0 auto 36px;
	transition:all 0.3s;
}

a:hover.dlc_link {
	opacity: 0.6;
	box-shadow: 0 0 25px rgba(212,29,137,1);
}

p.dlc_check_title {
	width:100%;
	background:rgba(62,7,8,1.00);
	color:#fff;
	font-weight: bold;
	text-align: center;
	border-radius: 5px;
	line-height: 48px;
	display: block;
}

.dlc_check {
	font-size:90%;
	list-style: disc;
	margin-left:24px;
}

.dlc_check a {
	color:deepskyblue;
	text-decoration: none;
}

.dlc_check a:hover {
	color:deepskyblue;
	text-decoration: underline;
}