@charset "utf-8";
/* CSS Document */

/*
デフォルトカラー	#e85a8d;
ブルーカラー		#2fb9cc;
*/

/* 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;
	width:100%;
	min-width: 1024px;
	background:url("../img/bg.jpg") center top no-repeat;
	background-size:cover;
	background-attachment: fixed;
}

#PageWrapper {
	min-height: 100%;
	height: auto !important;
	height: 100%;
	position: relative;
	width:100%;
	min-width: 1024px;
	overflow-x:hidden;
}

#Menu {
	background:#f68f8a;
	width:100%;
	height:100px;
	box-sizing: border-box;
	border:solid 10px #f68f8a;
	position: fixed;
	top:0;
	left:0;
	box-shadow:0 0 5px rgba(0,0,0,0.3);
	z-index:500;
}

.head_title {
	width:100%;
	height:27px;
	background:#f68f8a;
	position: fixed;
	top:0;
	left:0;
}

.head_title h1 {
	text-indent: -9999px;
	overflow: hidden;
	width:600px;
	height:270px;
	background:url("../img/header.png") left top no-repeat;
	margin:0 auto;
}

.menu_wrap {
	width:100%;
	padding-top:17px;
	height:63px;
	background:url("../img/menu_bg.png") left top repeat;
}

.menu_wrap ul {
	width:1000px;
	height:63px;
	margin:0 auto;
	display: flex;
	justify-content: space-between;
}

.menu_wrap ul li {
	display: block;
	height:63px;
	position: relative;
}

.menu_wrap ul li a {
	display: block;
	height:63px;
}

.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:251px;}
.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:250px;}

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

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

.menu01 a:after {background:url("../img/menu_o_01.png") left top no-repeat; width:250px;}
.menu02 a:after {background:url("../img/menu_o_02.png") left top no-repeat; width:251px;}
.menu03 a:after {background:url("../img/menu_o_03.png") left top no-repeat; width:249px;}
.menu04 a:after {background:url("../img/menu_o_04.png") left top no-repeat; width:250px;}

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

.visual_center {
	background:url("../img/mv.jpg") center top no-repeat;
	width:1021px;
	height:1100px;
	margin:0 auto;
	position: relative;
}

.hatsubai_bt {
	position: absolute;
	right:50px;
	bottom:250px;
}

#Contents {
	width:100%;
	min-width: 1024px;
	margin:0 auto;
	padding-top:72px;
	padding-bottom:96px;
}

.topics_area {
	width:1024px;
	margin:0 auto;
}

.topics_area ul {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-bottom:72px!important;
}

.topics_area ul li {
	display: block;
	margin-bottom:20px;
	border-radius: 8px;
	overflow: hidden;
	box-shadow:0 0 5px rgba(0,0,0,0.3);
}

.log_area {
	width:100%;
	background:url("../img/log_bg.png") left top repeat;
	border-top:10px solid #fff;
	border-bottom:10px solid #fff;
	margin-bottom:72px;
}

.log_sd {
	background:url("../img/log_sd.png") center top no-repeat;
	width:1100px;
	height:490px;
	margin:0 auto;
	display: flex;
}

.wrap_twitter {
	width:280px;
	box-sizing: border-box;
	padding-top:88px;
	margin-left:150px;
	margin-right:20px;
}

.logbox {
	width:480px;
	padding:98px 10px 0 10px;
	height:320px;
	overflow: hidden;
	margin:0 auto;
	z-index:100;
}

.logbox dl {
	width:480px;
	color:#2fb9cc;
	margin:0 auto;
	border-bottom:1px solid #2fb9cc;
	padding:10px 0;
}


.logbox dl dt {
	width:400px;
	line-height: 1.8;
	display: block;
	font-size:1.6rem;
	text-align: left;
	margin-bottom:8px;
}

.logbox dl dt span {
	background:#2fb9cc;
	color:#fff;
	display: inline-block;
	padding:0 10px;
}

.logbox dl dd {
	width:470px;
	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(239,99,124,1.00);
	font-weight: bold;
}

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

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

a.stafflink01 {
	display: block;
	width:89px;
	height:20px;
	position: absolute;
	left:133px;
	top:104px;
	background:#fff;
	opacity: 0;
	transition: all 0.3s;
}

a.stafflink02 {
	display: block;
	width:89px;
	height:20px;
	position: absolute;
	left:133px;
	top:129px;
	background:#fff;
	opacity: 0;
	transition: all 0.3s;
}

a.stafflink03 {
	display: block;
	width:106px;
	height:20px;
	position: absolute;
	left:133px;
	top:154px;
	background:#fff;
	opacity: 0;
	transition: all 0.3s;
}

.outline_body a:hover {
	opacity: 0.4;
}

#Shortcut {
	position: fixed;
	right:24px;
	bottom:24px;
}

#Shortcut a {
	width:60px;
	height:60px;
	background-color:#f68f8a;
	border-radius: 30px;
	display: block;
	line-height: 60px;
	font-size:3.6rem;
	margin-top:12px;
	color:#fff;
}

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

.foot_logo {
	width:83px;
	height:77px;
	margin:0 auto 12px;
}

.foot_logo a {
	background:url("../img/foot_logo.png") left top no-repeat;
	width:83px;
	height:77px;
	display: block;
	transition: all 0.3s;
}

.foot_logo a:hover {
	opacity: 0.6;
}

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

/*サブコンテンツ*/

.sub {
	padding-top:200px!important;
}

.head {
	width:640px;
	height:120px;
	position: relative;
	margin:0 auto 72px;
	box-shadow:0 0 10px rgba(183,98,99,0.30);
}

h3 {
	display: block;
	width:640px;
	height:120px;
	text-indent: -9999px;
	overflow: hidden;
}

h3#Highlight {background:url("../img/head_highlight.png") left top no-repeat;}
h3#Story {background:url("../img/head_story.png") left top no-repeat;}
h3#Character {background:url("../img/head_character.png") left top no-repeat;}
h3#Gallery {background:url("../img/head_gallery.png") left top no-repeat;}
h3#Special {background:url("../img/head_special.png") left top no-repeat;}
h3#Shopbonus {background:url("../img/head_shopbonus.png") left top no-repeat;}
h3#Voice {background:url("../img/head_voice.png") left top no-repeat;}
h3#Official {background:url("../img/head_official.png") left top no-repeat;}
h3#Pillow {background:url("../img/head_pillow.png") left top no-repeat;}
h3#Lineup {background:url("../img/head_lineup.png") left top no-repeat;}
h3#Retweet {background:url("../img/head_retweet.png") left top no-repeat;}
h3#Demo {background:url("../img/head_demo.png") left top no-repeat;}
h3#Trial {background:url("../img/head_trial.png") left top no-repeat;}
h3#Banner {background:url("../img/head_banner.png") left top no-repeat;}
h3#Of_bonus {background:url("../img/head_of_bonus.png") left top no-repeat;}

.highlight_body {
	background:url("../img/highlight_body.png") center top no-repeat;
	width:100%;
	height:1497px;
}

.story_body {
	background:url("../img/story_bg.png") center top no-repeat;
	width:100%;
	padding-top:450px;
}

.story_txt {
	background:url("../img/story_txt.png") center top no-repeat;
	width:100%;
	height:445px;
	margin-bottom:120px;
}

.chara_wrap {
	background:url("../img/chara_pt.png") left top repeat;
	margin-bottom:120px;
}

.chara_wrap:before {
	content: "";
	width:100%;
	background:url("../img/line.png") left top repeat;
	height:30px;
	display: block;
	margin-bottom:32px;
}

.chara_wrap:after {
	content: "";
	width:100%;
	background:url("../img/line.png") left top repeat;
	height:30px;
	display: block;
}

.chara_body {
	width:1000px;
	height:1000px;
	border-radius: 68px;
	margin:-60px auto 0;
	position: relative;
}

.chara_body:before {
	content: "";
	background:url("../img/chara_bg.jpg") center left no-repeat;
	width:751px;
	height:751px;
	border-radius: 68px;
	display: block;
	position: absolute;
	left:0;
	top:125px;
}

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

.chara_voice {
	position: absolute;
	height:30px;
	left:50%;
	margin-left:-475px;
	top:460px;
}

.chara_voice ul {
	display: flex;
	height:30px;
	width:460px;
	justify-content: space-between;
}

.chara_voice ul li {
	display: block;
	width:80px;
	height:30px;
	border-radius: 5px;
	background-color:#e85a8d;
}

.chara_voice ul li a {
	display: block;
	width:80px;
	height:28px;
	border-radius: 5px;
	transition: all 0.3s;
	color:#fff;
	line-height: 30px;
	font-size:2.2rem;
}

.chara_voice ul li a:hover {
	opacity: 0.6;
}

.gallery_wrap {
	width:1024px;
	margin:0 auto 120px;
}

.gallery_wrap ul {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.gallery_wrap ul::after{
  content:"";
  display: block;
  width:334px;
}

.gallery_wrap ul li {
	width:334px;
	display: block;
	margin-bottom:36px;
	background-color:#fff;
	overflow: hidden;
	border-radius: 12px;
}

.gallery_wrap ul li a {
	width:320px;
	display: block;
	border:7px solid #e85a8d;
	transition: all 0.3s;
	border-radius: 12px;
	overflow: hidden;
}

.gallery_wrap ul li a img {
	width:100%;
}

.gallery_wrap ul li a:hover {
	border:7px solid #2fb9cc;
}

/* バナキャン用 */

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

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

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

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

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

.b_head {
	width:80%;
	line-height: 36px;
	border-radius: 18px;
	font-size:2rem;
	background-color:#2fb9cc;
	color:#fff;
	margin:0 auto;
	font-family: 'Bowlby One SC', cursive;
	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:500px; margin-bottom:36px;}
.b200 img {margin:0 auto 10px;}
.b200 textarea {width:100%;}

.b250 {	width:220px; margin-bottom:72px;}
.b250 img {margin-bottom:10px; width:100%;}
.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:#e85a8d;
	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:#2fb9cc;
}

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

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

/* 特典情報 */

.voice_body01 {
	background:url("../img/voice01.jpg") left top no-repeat;
	position: relative;
	width:1024px;
	height:550px;
	overflow: hidden;
	margin:0 auto 36px;
}

.for_of {
	margin-bottom:120px!important;
}

.voice_body02 {
	background:url("../img/voice02.jpg") left top no-repeat;
	position: relative;
	width:1024px;
	height:550px;
	overflow: hidden;
	margin:0 auto 36px;
}

.voice_body03 {
	background:url("../img/voice03.jpg") left top no-repeat;
	position: relative;
	width:1024px;
	height:550px;
	overflow: hidden;
	margin:0 auto 36px;
}

.voice_body04 {
	background:url("../img/voice04.jpg") left top no-repeat;
	position: relative;
	width:1024px;
	height:550px;
	overflow: hidden;
	margin:0 auto 120px;
}


ul.voicebt {
	display: flex;
	position: absolute;
	left:20px;
	bottom:25px;
}

ul.voicebt li {
	display: block;
	width:199px;
	height:84px;
	margin-right:24px;
	background-color:#fff;
	border-radius: 10px;
}

ul.voicebt li a {
	display: block;
	width:199px;
	height:84px;
	transition: all 0.3s;
}

ul.voicebt li a:hover {
	opacity: 0.6;
}

ul.voicebt li em {
	display: block;
	width:199px;
	height:84px;
}

ul.voicebt li.vl01 a {background:url("../img/voicebt_01.png") left top no-repeat;}
ul.voicebt li.vl02 a {background:url("../img/voicebt_02.png") left top no-repeat;}
ul.voicebt li.vl03 a {background:url("../img/voicebt_03.png") left top no-repeat;}

ul.voicebt li.vl01 em {background:url("../img/voicebt_01b.png") left top no-repeat;}
ul.voicebt li.vl02 em {background:url("../img/voicebt_02b.png") left top no-repeat;}

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

.sb_box {
	background:#FFDEDC;
	margin-bottom:36px;
	border-radius: 10px;
	border:5px solid #f68f8a;
	box-shadow:0 0 5px rgba(0,0,0,0.3);
}

.sb_box p {
	color:#e85a8d;
	padding:12px 0;
	font-size:1.7rem;
}
.shopname {
	font-weight: bold;
}

.sb_box a {
	display: block;
	width:100%;
	line-height: 48px;
	background:#e85a8d;
	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;
}

/*オフィシャル通販*/

.of_head {
	background:url("../img/of_head.jpg") left top no-repeat;
	width:1024px;
	height:420px;
	position: relative;
	margin:0 auto 32px;
	overflow: hidden;
}

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

.of_pillow_body {
	background:url("../img/pillow_body.jpg") left top no-repeat;
	width:1024px;
	height:1826px;
	margin:0 auto 120px;
	overflow: hidden;
}

.of_lineup01 {
	background:url("../img/of_lineup01.jpg") left top no-repeat;
	width:1024px;
	height:420px;
	position: relative;
	margin:0 auto 32px;
	overflow: hidden;
}

.of_lineup02 {
	background:url("../img/of_lineup02.jpg") left top no-repeat;
	width:1024px;
	height:420px;
	position: relative;
	margin:0 auto 32px;
	overflow: hidden;
}

.of_lineup03 {
	background:url("../img/of_lineup03.jpg") left top no-repeat;
	width:1024px;
	height:420px;
	position: relative;
	margin:0 auto 32px;
	overflow: hidden;
}

a.of_link {
	width:460px;
	height:70px;
	position: absolute;
	right:25px;
	bottom:21px;
	background-color:#fff;
	opacity: 0;
	transition: all 0.3s;
}

a:hover.of_link {
	opacity: 0.4;
}

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

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

.movie_box img {
}

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

.movie_link dl {
	width:800px;
	line-height: 48px;
	color:#600C3B;
	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;
}

.trial_body {
	width:1024px;
	height:850px;
	margin:0 auto 120px;
	position: relative;
	background:url("../img/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
}

.retweet_body {
	background:url("../img/retweet_body.jpg") center top no-repeat;
	width:1000px;
	height:1980px;
	margin:0 auto 120px;
	box-shadow: 0 0 8px rgba(0,0,0,0.6);
	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;
}

.owabi_body {
	width:900px;
	padding:30px;
	box-sizing: border-box;
	background:#ffffff;
	margin:0 auto 120px;
	color:#A75557;
	font-size:1.8rem;
	line-height: 1.8;
	text-align: left;
}

.owabi_body p {
	margin-bottom:50px;
}

.owabi_body strong {
	font-weight: bold;
	margin-bottom:50px;
	display: block;
	text-align: center;
	font-size:2rem;
}

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

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

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

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

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

.dlcard_wrap ul {
	color:#A75557;
	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(239,99,124,1.00);
	border:1px solid rgba(239,99,124,1.00);
	box-shadow: 0 0 15px rgba(229,0,77,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 15px rgba(229,0,77,1);
}

p.dlc_check_title {
	width:100%;
	background:rgba(239,99,124,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;
}
