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

/*------------------------------------------------------------------------------

  すべての要素に適用

------------------------------------------------------------------------------*/
* {
	margin:	0px;
	padding: 0px;
}

/*------------------------------------------------------------------------------

  指定HTMLタグに適用

------------------------------------------------------------------------------*/
body {
    background-color: black;
	font-family: sans-serif;
	-webkit-text-size-adjust: 100%;
	background-image: url("../img/99_Common/bg_parts.png");
	background-repeat: repeat;
}
img, object, script {
    border: 0px none;
    width: 100%;
    height: auto;
    vertical-align: bottom;
}
article, aside, dialog, figure, footer, header, hgroup, nav, section {
    display: block;
}
h1 a, .mv_nav a, .backBtn a {
    display: block;
}
div {
    display: block;
}

/*------------------------------------------------------------------------------

  .class クラス名の指定

------------------------------------------------------------------------------*/
.clearfix {
	zoom: 1;
}
.clearfix::after {
    content: "";
    clear: both;
    display: block;
}
.inner{
	width:100%;
	margin:0 auto;
}

.wrap {
    width: 100%;
    position: relative;
    background: #000 none repeat scroll 0% 0%;
	background-color: linear-gradient(-135deg, #E4A972, #9941D8);
    overflow: hidden;

	background-color: rgba(0, 0, 0, 0.0);
}
.top .mainvisual {
	width: 100%;
	position: relative;
}
.top .mainvisual h1 {
    width: 30.5%;
    position: absolute;
    top: 2%;
    left: 4.5%;
    display: inline-block;
    vertical-align: middle;
}
.top .mainvisual .header {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 20%;
}
.header {
    width: 100%;
}
.header-bg {
    background-color: #000;
    width: 100%;
    opacity: 0.25;	/*ヘッダー背景の透明度*/
    position: fixed;
    z-index: 50;
}
.header .logo {
	width: 12%;
	top: -10px;

	padding: 4% 0px;
    position: absolute;
    z-index: 10010;
}
.header .btn {
    width: 32px;
    margin: 8px 0px;
    position: absolute;
    top: 0px;
    right: 4.5%;
    z-index: 10010;
}


.info .mainvisual .ttl {
    padding-bottom: 0px !important;
}

.info .mainvisual h2 {
    width: 90%;
    margin: 0px auto;
}
.main {
    position: relative;
    text-align: center;
}
.info .mv_text {
    position: absolute;
    top: 0px;
}

.mainvisual {
	color: white;
    position: relative;
}
.cosplay .mainvisual {
    background: url("./img/mv_bg.jpg") no-repeat;
    background-size:100% 100%;
    width: 100%;
    height: 100%;
}
.mock_text {
    color: white;
}

/*------------------------------------------------------------------------------

  footer

------------------------------------------------------------------------------*/
#insert_footer {
    clear: both;
}
footer .footer_hr {
	margin: 23px auto;
}
footer .footer_menu ul {
    width: 100%;
    font-size: 0px;
    list-style-type: none;
}
footer .footer_menu ul li {
    position: relative;
/*    width: 50%;*/ /*1行に2ボタン*/
    width: 100%;/*1行に1ボタン*/
    float: left;
	margin: 7px 0px;
}
footer .footer_menu ul p {
	clear: both;
}
footer .footer_menu a{
	display:block;
}
/*「外部サイトへリンク」*/
div.footer_menu ul li .note {
	text-align: right;
	font-size: small;
	color: #ffffff;
}

.footer_menu_home {
	width: 240px;
	margin: 17px auto;
}
footer .support {
    clear: both;
 /*   margin: 2% 0%;*/
    margin: 20px auto;
}
footer .support div {
    width: 50%;
    margin: 0% auto;
    text-align: center;
}
footer .sns {
/*    background: #000 none repeat scroll 0% 0%;*/
    border-top: 2px solid #666;
    border-bottom: 2px solid #666;
    clear:both;
    width: 100%;
}
footer .sns div {
    display: inline-block;
    overflow: hidden;
    width: 100%;
    padding: 0.25% 0px 0.35% 0px;
    margin: 0px;
}
footer .sns div .facebook {
    width: 12%;
    float: left;
    margin: 2% 0% 0% 33%;
}
footer .sns div .twitter {
    width: 15%;
    /* Facebookも表示する場合
    float: left;
    margin: 0.5% auto 0% 5%;*/
    margin: 0.5% auto;
}
footer .sunsoft_bottom {
    background: #000 none repeat scroll 0% 0%;
    padding: 4% 0px;
}
footer .sunsoft_bottom .sunsoft_logo {
    width: 26%;
    padding-left: 37%;
    margin: 0px 0px 0px 3%;
}
footer .sunsoft_bottom ul {
    float: right;
    padding: 0px 2% 0px 0px;
    width: 60%;
}

/*コピーライトのエリア*/
footer .sunsoft_copyright {
    background: hotpink none repeat scroll 0% 0%;
    padding: 3% 0px;

    text-align: center;
    color: #FFF;
    font-size: 80.0%;
 /*   line-height: 18px;*/
}

/*------------------------------------------------------------------------------

  #id ID名の指定

------------------------------------------------------------------------------*/
/*
    両方のアイコンを表示する場合
*/
#store-link {
    clear: both;
    width: 70%;
    margin: 0% 15%;
}
#store-google {
    float: left;
    width: 48%;
    padding: 1%;
}
#store-apple {
    float: left;
    width: 48%;
    padding: 1.5% 1% 0px 0px;
}

/*
    AppStore(Apple)のみ表示する場合
*/
#store-link2 {
    clear: both;
    width: 35%;
    margin: 0% 32.5%;
}
#store-apple2 {
    clear: both;
    width: 100%;
    /*padding: 1.5% 1% 0px 0px;*/
}
.spacer {
    clear: both;
    width: 100%;
    height: 2%;
}
.no_ios_release {
    color: #fff;
    font-size: 85%;
    text-align: center;
    border: 1px solid #ccc;
    letter-spacing: 2px;
    margin-top: 1%;
}

.modal-bg {
    background-color: rgba(0, 0, 0, 0.8);
    position: absolute;
    display: block;
    top: 0px;
    right: 0px;
    bottom: 0px;
    left: 0px;
    z-index: 9990;
}
.modal-content {
    position: absolute;
    left: 0px;
    top: 86px;
    display: none;
    z-index: 9995;
}
.modal-content ul {
    width: 100%;
  /*  width: 640px; */
    height: 100%;
    font-size: 0px;
}
.modal-content li {
    position: relative;
    width: 50%;
    float: left;
    list-style-type: none;
}
.modal-content a {
    display: block;
}

.pc-root {
    width: 480px;
    text-align: left;
}

.discription_beginning {
	text-align: left;
	font-size: 18px;
	color: rgba(0, 0, 0, 255);
	margin: 10px 40px 30px 40px;
}
.discription {
    clear: both;
    width: 100%;
 /*   width: 85%; */
 /*   margin: 2% auto; */
	margin-bottom: 30px;
}
.discription_title {
    clear: both;
    width: 85%;
    margin: 2% auto;
	margin-bottom: 10px;
}
.discription_contents {
    clear: both;
 /*   width: 100%;*/
    width: 85%;
    margin: 2% auto;
    color: rgba(0, 0, 0, 255);
    display: none;
    text-align: center;
}
.discription_text {
    clear: both;
    width: 80%;
	margin: 2% auto;
	text-align: left;
	font-size: 16px;
	color: rgba(0, 0, 0, 255);
}
.discription_img {
	clear: both;
	width: 80%;
	margin: 2% auto;
	text-align: center;
}
.discription_title {
 /*   width: 100%; */
}
.discription_main {
    width: 50%;
    margin: 0% auto;
}
.discription_close {
    clear: both;
    width: 50%;
    margin: 2% auto;
    padding: 1% 0px;
    font-weight: bold;
    font-size: 105%;
    text-align: center;
    display: none;
}

/*------------------------------------------------------------------------------

  musicセレクタ

------------------------------------------------------------------------------*/
#music-list {
    clear: both;
    width: 100%;
}
#mucis-list .list {
    clear: both;
    width: 100%;
    margin: 0px;
    padding: 0px;
    border-top: 1px solid #fff;
}
#mucis-list .list-noplay {
    clear: both;
    width: 100%;
    margin: 0px;
    padding: 0px;
    border-top: 1px solid #fff;
}

/*------------------------------------------------------------------------------

  aセレクタ

------------------------------------------------------------------------------*/
a {
    color: #DDF;
}
a:link {
    color: #DDF;
}
a:visited {
    color: #DDF;
}
a:hover {
    color: #DDF;
}
a:active {
    color: #DDF;
}

.sample-link {
    clear:both;
    padding: 2% 3%;
    font-size: 75%;
}
.sample-link a {
    color: #DDF;
}
.sample-link a:link {
    color: #DDF;
}
.sample-link a:visited {
    color: #DDF;
}
.sample-link a:hover {
    color: #DDF;
}
.sample-link a:active {
    color: #DDF;
}

/*------------------------------------------------------------------------------

  アニメ

------------------------------------------------------------------------------*/
.anim-box {
  background: linear-gradient(to right, #362ae0 0%,#3b79cc 50%,#42d3ed 100%);
  border-radius: 5px;
  max-width: 40px;
  height: 25px;
}

/*フェードイン*/
/*.anim-box.fadein.is-animated {
  animation: fadeIn 1.7s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
*/
.anim-box.slidein.is-animated {
  animation: slideIn 3s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
}

@keyframes slideIn {
  0% {
    transform: translateX(180px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
  }
  40%,100% {
    opacity: 1;
  }
}


.mainvisual.img-wrap {
  animation: img-wrap 2s cubic-bezier(.4, 0, .2, 1);
}

@keyframes img-wrap {
  0% {
    clip-path: circle(0 at 50% 50%);
    -webkit-clip-path: circle(0 at 50% 50%);
  }

  100% {
    clip-path: circle(100% at 50% 50%);
    -webkit-clip-path: circle(100% at 50% 50%);
  }
}
