 @charset "UTF-8";
 @media screen and (max-width: 667px) {
     .img4 {
         display: block;
         max-width: 80%;
         margin: 0 auto;
     }
   .pc {
     display: none;
   }
   .sp {
     display: block;
   }
   .inlineP a.link:link, .inlineP a.link:visited {
     display: block;
     font-size: 18px;
     color: #ff9c00;
     text-align: center;
     text-decoration: underline;
   }
   .inlineP a.link:hover, .inlineP a.link:active {
     display: block;
     font-size: 18px;
     color: #ff9c00;
     text-align: center;
     text-decoration: none
   }
   /*ブルーレイページボタン*/
   a.bluraybuy:link, a.bluraybuy:visited {
     display: block;
     width: 90%x;
     background: #e4e4e4;
     margin: 12px auto 24px;
     padding: 8px 0;
     text-decoration: none;
     color: #333;
     text-align: center;
   }
   a.bluraybuy:hover, a.bluraybuy:active {
     display: block;
     width: 90%x;
     background: #e4e4e4;
     margin: 12px auto 24px;
     padding: 8px 0;
     text-decoration: none;
     color: #333;
     text-align: center;
     opacity: 0.7;
   }
   #loadingBG {
     /* 画面一杯にローディング画面を広げる */
     height: 100%;
     width: 100%;
     background: #FFF;
     position: fixed;
     top: 0px;
     left: 0px;
     z-index: 100;
   }
   #loading #loading_logo {
     width: 40%;
     opacity: 0;
     position: absolute;
     top: 40vh;
     left: 0;
     right: 0;
     margin: 0 auto;
     z-index: 101;
   }
   /*-----------------------------------------------------------*/
   /*YOUTUBE*/
   .youtube {
     position: relative;
     width: 100%;
     background: #000;
     padding-bottom: calc(100%* 520/750);
     border-top: 2px solid #000;
     border-bottom: 2px solid #000;
     border-left: 4px solid #000;
     border-right: 4px solid #000;
     box-sizing: border-box;
   }
   .youtube iframe {
     position: absolute;
     top: 0;
     right: 0;
     width: 100% !important;
     height: 100% !important;
   }
   span.musicMov {
     display: block;
     width: 100%;
     margin: 20px 0 0 0;
   }
   span.youtube {
     display: block;
     position: relative;
     width: 100%;
     background: #000;
     padding-bottom: calc(100%* 315/560);
     border-top: 2px solid #000;
     border-bottom: 2px solid #000;
     border-left: 4px solid #000;
     border-right: 4px solid #000;
     box-sizing: border-box;
   }
   #page-top {
     position: fixed;
     bottom: 20px;
     right: 1%;
     z-index: 99;
     width: 17%;
   }
   /*画像基本*/
   img {
     max-width: 100%;
     height: auto;
   }
   /*-----------------------------------------------------------*/
   /*ol ulリセット*/
   ol, ul {
     list-style: none;
     list-style-type: none;
   }
   /*-----------------------------------------------------------*/
   /*PCで表示*/
   .pc {
     display: none;
   }
   /*PCで非表示*/
   .sp {
     display: block;
   }
   /*-----------------------------------------------------------*/
   html {
     height: 100%;
   }
   body {
     position: relative;
     animation: bodyFadeIn 2s ease 0s 1 normal;
     -webkit-animation: bodyFadeIn 2s ease 0s 1 normal;
     font-family: source-han-sans-japanese, sans-serif;
     font-weight: 400;
     font-style: normal;
     overflow-x: hidden;
   }
   /*-----------------------------------------------------------*/
   .fadein {
     opacity: 0;
     transform: translate(0, 50px);
     transition: all 300ms;
   }
   .fadein.scrollin {
     opacity: 1;
     transform: translate(0, 0);
   }
   /*-----------------------------------------------------------*/
   .wrapper {
     display: none;
     position: relative;
     width: 100%;
     margin: 0 auto;
     padding: 0;
     overflow: hidden;
     background-image: url("../../_image/bgwh02.png"), url("../../_image/bgwh01.png"), url("../../_image/bgwh02.png"), url("../../_image/bgwh03.png"), url("../../_image/bgwh04.png"), url("../../_image/bgwh06.png"), url("../../_image/bgwh07.png");
     background-color: #FFF;
     background-repeat: no-repeat;
     background-position: left -10px top 16%, left -100px top 34%, right -100px top 46%, left -100px top 56%, left -100px top 66%, right -100px bottom 7%, right -100px top 76%;
     background-size: 140% auto, 100% auto, 100% auto, 100% auto, 100% auto, auto, 100% auto;
   }
   /*キービジュアル*/
   #kyevisual {
     width: 100%;
     height: auto;
     background: url("../../_image/keyvisualSP.png") no-repeat top right /100% auto;
     padding-bottom: calc(100%*1100/750);
   }
   /*チケット*/
   #kyevisual.ticket {
     width: 100%;
     height: auto;
     background-image: url("../../_image/bg_ticket2.png"), url("../../_image/bg_ticket@2x.png");
     background-repeat: no-repeat;
     background-position: top right -150px, top left 0;
     background-size: 433px auto, 2800px auto;
     padding-bottom: 0;
   }
   /*チケット*/
   #kyevisual.music {
     width: 100%;
     height: auto;
     background-image: url("../../_image/bg_music2.png"), url("../../_image/bg_music@2x.png");
     background-repeat: no-repeat;
     background-position: top right 0, top left 0;
     background-size: 300px auto, 2800px auto;
     padding-bottom: 0;
   }
   /*ノベルティ*/
   #kyevisual.novelty {
     width: 100%;
     height: auto;
     background-image: url("../../_image/bg_novelty2.png"), url("../../_image/bg_novelty@2x.png");
     background-repeat: no-repeat;
     background-position: top right -80px, top left 0;
     background-size: 434px auto, 2800px auto;
     padding-bottom: 0;
   }
   /*book*/
   #kyevisual.book {
     width: 100%;
     height: auto;
     background-image: url("../../_image/bg_book2.png"), url("../../_image/bg_book@2x.png");
     background-repeat: no-repeat;
     background-position: top right -40px, top left 0;
     background-size: 434px auto, 2800px auto;
     padding-bottom: 0;
   }
   /*グッズ*/
   #kyevisual.goods {
     width: 100%;
     height: auto;
     background-image: url("../../_image/bg_goods2.png"), url("../../_image/bg_goods@2x.png");
     background-repeat: no-repeat;
     background-position: top right -40px, top left 0;
     background-size: 434px auto, 2800px auto;
     padding-bottom: 0;
   } /*グッズ*/
   #kyevisual.dvd {
     width: 100%;
     height: auto;
     background-image: url("../../_image/bg_dvd2.png"), url("../../_image/bg_dvd@2x.png");
     background-repeat: no-repeat;
     background-position: top right -40px, top left 0;
     background-size: 434px auto, 2800px auto;
     padding-bottom: 0;
   }
     /*グッズ*/
   #kyevisual.streaming {
     width: 100%;
     height: auto;
     background-image: url("../../_image/bg_streaming2.png"), url("../../_image/bg_streaming@2x.png");
     background-repeat: no-repeat;
     background-position: top right -40px, top left 0;
     background-size: 434px auto, 2800px auto;
     padding-bottom: 0;
   }
   .book .art img {
     display: block;
     width: 80%;
     margin: 0 auto 24px;
     padding: 0;
     float: none;
     border: 1px solid #CCC;
     box-sizing: border-box;
   }
   .book .art div {
     display: block;
     width: 96%;
     margin: 0 auto;
     padding: 0;
     float: none;
   }
   .book .art div strong {
     display: block;
     padding: 18px 0 4px;
     font-size: 20px;
     color: #333;
   }
   .book .art div strong.new {
     display: block;
     background: url("../../_image/new.svg") no-repeat top 20px left /auto 30px;
     padding: 18px 0 4px 44px;
     font-size: 20px;
     color: #333;
   }
   .bookbuy {
     display: block;
     width: 100%;
     background: #e4e4e4;
     padding: 8px 0;
     text-decoration: none;
     color: #333;
     margin: 0 auto 24px;
     text-align: center;
   }
   .mb {
     padding-bottom: 24px;
   }
   .goods .art img {
     display: block;
     width: 80%;
     margin: 0 auto 24px;
     padding: 0;
     float: none;
     border: none;
     box-sizing: border-box;
   }
   .goods .art div {
     display: block;
     width: 96%;
     margin: 0 auto;
     padding: 0;
     float: none;
   }
   .goods .art div strong {
     display: block;
     padding: 18px 0 4px;
     font-size: 20px;
     color: #333;
   }
   .goods .art div strong.new {
     display: block;
     background: url("../../_image/new.svg") no-repeat top 20px left /auto 30px;
     padding: 18px 0 4px 44px;
     font-size: 20px;
     color: #333;
   }
   .goods .art ul li img {
     width: auto;
     height: 100px;
     margin: 4px;
   }
   .goodsItem {
     margin: 12px auto;
   }
   .goodsItem li {
     display: inline-block;
     width: auto;
   }
   .goods hr {
     width: 100%;
     margin: 0 0 24px;
   }
   .goods hr.hr {
     width: 100%;
     margin: 24px 0 24px;
   }
   .ttl_ticket {
     width: 100%;
     margin: 0;
     padding: 130px 10px 0;
     font-size: 13px;
     color: #333;
     line-height: 1.8;
   }
   .ttl_ticket strong {
     display: block;
     padding: 12px 0;
     font-size: 16px;
     color: #333;
     line-height: 1.5;
   }
   .ttl_ticket h3 {
     padding: 12px 0;
     font-size: 16px;
     color: #ac2020;
     line-height: 1.5;
   }
   /*-----------------------------------------------------------*/
   /*ニュース*/
   section#news {
     width: 100%;
     min-height: 200px;
     background: #59c7c8 url("../../_image/bgLine_news.svg")no-repeat top -300px left -200px;
     mix-blend-mode: multiply; /* 乗算 */
   }
   section#news .inner {
     position: relative;
     width: 100%;
     margin: 0 auto;
     padding: 24px;
   }
   section#news .topNews {
     position: absolute;
     width: 80%;
     height: auto;
     background: url("../../_image/top_gene.png") no-repeat center top /100% auto;
     padding-bottom: calc(100%* 800/750);
     left: -23%;
     top: -20%;
     z-index: 4;
   }
   section#news .topNews2 {
     mix-blend-mode: multiply;
     position: absolute;
     width: 100%;
     height: auto;
     background: url("../../_image/top_gene2.png") no-repeat center top /100% auto;
     padding-bottom: calc(100%* 800/750);
     left: 0px;
     top: -50px;
     z-index: 3;
   }
   section#news .inner::after {
     content: "";
     display: block;
     clear: both;
   }
   section#news h2 {
     position: relative;
     width: 71px;
     height: 60px;
     margin: 0 auto 8px;
     background: url("../../_image/h2_news.svg")no-repeat top left;
     /* テキストを画像に置換する */
     text-indent: 100%;
     white-space: nowrap;
     overflow: hidden;
     z-index: 6;
   }
   #sample {
     position: relative;
     width: 98%;
     height: 310px;
     margin: 0 auto;
     float: none;
     z-index: 5;
   }
   .ps__rail-x, .ps__rail-y {
     opacity: 0.6 !important;
   }
   #news dl {
     margin: 0;
     padding: 0;
     text-shadow: 1px 1px 2px #59c7c8, -1px 1px 2px #59c7c8, 1px -1px 2px #59c7c8, -1px -1px 2px #59c7c8;
   }
   #news dl dt {
     width: 94px;
     margin: 0;
     padding: 0;
     font-size: 15px;
     color: #333;
     text-align: left;
     float: left;
   }
   #news dl dd {
     margin: 0 0 0 94px;
     padding: 0;
   }
   #news dl dd span {
     display: inline-block;
     margin: 0 0 2px 0;
     padding: 4px 0px 3px 10px;
     font-size: 15px;
     color: #333;
     text-align: left;
   }
   #news dl dd a:hover {
     opacity: 0.6;
   }
   /*-----------------------------------------------------------*/
   /*ツイッター*/
   section#twitter {
     width: 100%;
     min-height: 346px;
     z-index: -1;
   }
   section#twitter .inner {
     position: relative;
     width: 100%;
     margin: 0 auto;
     padding: 24px;
     font-size: 13px;
     color: #800506;
     text-align: left;
   }
   section#twitter .inner2 {
     float: none;
   }
   section#twitter h2 {
     width: 121px;
     height: 61px;
     margin: 0 auto 8px;
     background: url("../../_image/h2_twitter.svg")no-repeat top left;
     /* テキストを画像に置換する */
     text-indent: 100%;
     white-space: nowrap;
     overflow: hidden;
     float: none;
   }
   /*-----------------------------------------------------------*/
   /*ストーリー*/
   section#story {
     position: relative;
     width: 100%;
     min-height: 200px;
     background: #e05454 url("../../_image/bgLine_story.svg")no-repeat top -200px right -100px;
     z-index: 10;
     mix-blend-mode: multiply; /* 乗算 */
   }
   section#story .inner {
     position: relative;
     width: 100%;
     margin: 0 auto;
     padding: 24px;
     font-size: 15px;
     line-height: 1.8;
     color: #4e0000;
     text-shadow: 1px 1px 2px #e05454, -1px 1px 2px #e05454, 1px -1px 2px #e05454, -1px -1px 2px #e05454;
     text-align: left;
   }
   .topNathalie {
     position: absolute;
     width: 50%;
     height: auto;
     background: url("../../_image/top_nathalie.png") no-repeat center top /100% auto;
     padding-bottom: calc(100%* 900/750);
     right: -5%;
     top: -1%;
     /* テキストを画像に置換する */
     text-indent: 100%;
     white-space: nowrap;
     overflow: hidden;
     z-index: -1;
   }
   .topNathalieItem {
     mix-blend-mode: multiply;
     position: absolute;
     width: 96%;
     height: auto;
     background: url("../../_image/topNathalieItem.png") no-repeat center top /100% auto;
     padding-bottom: calc(100%* 500/750);
     right: -30%;
     top: 5%;
     /* テキストを画像に置換する */
     text-indent: -999999px;
     z-index: -2;
   }
   section#story h2 {
     width: 83px;
     height: 64px;
     margin: 0 auto 8px;
     background: url("../../_image/h2_intro.svg")no-repeat top left;
     /* テキストを画像に置換する */
     text-indent: 100%;
     white-space: nowrap;
     overflow: hidden;
   }
   section#story h3 {
     width: 85px;
     height: 62px;
     margin: 0 auto 8px;
     background: url("../../_image/h2_story.svg")no-repeat top left;
     /* テキストを画像に置換する */
     text-indent: 100%;
     white-space: nowrap;
     overflow: hidden;
   }
   section#story i {
     font-size: 18px;
     font-style: normal;
     font-weight: 600;
   }
   /*-----------------------------------------------------------*/
   /*スタッフ＆キャスト*/
   section#cast {
     width: 100%;
     background: #FFF;
     mix-blend-mode: multiply; /* 乗算 */
   }
   section#cast .inner {
     position: relative;
     width: 100%;
     margin: 32px auto;
     padding: 24px;
     font-size: 14px;
     color: #575757;
     line-height: 2;
     text-align: center;
   }
   section#cast h2 {
     width: 177px;
     height: 68px;
     margin: 0 auto 8px;
     background: url("../../_image/h2_cast.svg")no-repeat top left;
     /* テキストを画像に置換する */
     text-indent: 100%;
     white-space: nowrap;
     overflow: hidden;
   }
   section#cast strong {
     padding: 24px 0 0;
     display: block;
     font-size: 24px;
     font-style: normal;
     font-weight: normal;
   }
   section#cast em {
     display: block;
     font-size: 16px;
     font-style: normal;
     font-weight: normal;
     padding: 6px 0 12px;
   }
   section#cast i {
     display: block;
     letter-spacing: -0.05em;
     font-size: 16px;
     font-style: normal;
     font-weight: normal;
     line-height: 1.6;
     padding: 0 0 12px;
   }
   /*-----------------------------------------------------------*/
   /*キャラクター*/
   section#character {
     width: 100%;
     min-height: 270px;
     background: #dfd46f url("../../_image/bgLine_chara.svg")no-repeat top -300px left -300px;
     mix-blend-mode: multiply; /* 乗算 */
   }
   section#character .inner {
     position: relative;
     width: 100%;
     margin: 0 auto;
     padding: 24px;
     font-size: 13px;
     color: #800506;
     text-align: left;
   }
   .topMystia {
     position: absolute;
     width: 50%;
     height: auto;
     background: url("../../_image/top_mystia.png") no-repeat center top /100% auto;
     padding-bottom: calc(100%* 900/750);
     left: -20%;
     bottom: -40%;
     /* テキストを画像に置換する */
     text-indent: 100%;
     white-space: nowrap;
     overflow: hidden;
     z-index: 4;
   }
   .topMystiaItem {
     mix-blend-mode: multiply;
     position: absolute;
     width: 96%;
     height: auto;
     background: url("../../_image/top_mystiaItem.png") no-repeat center top /100% auto;
     padding-bottom: calc(100%* 500/750);
     left: 0;
     bottom: 0;
     /* テキストを画像に置換する */
     text-indent: -999999px;
     z-index: 3;
   }
   section#character h2 {
     width: 150px;
     height: 63px;
     margin: 0 auto 8px;
     background: url("../../_image/h2_character.svg")no-repeat top left;
     /* テキストを画像に置換する */
     text-indent: 100%;
     white-space: nowrap;
     overflow: hidden;
   }
   section#character ul {
     position: relative;
     width: 96%;
     margin: 0 auto;
     padding: 0;
     font-size: 0;
     list-style: none;
     z-index: 4;
   }
   section#character ul li {
     display: inline-block;
     width: 32.33%;
     margin: 0.5%;
     padding: 0;
     font-size: 0;
   }
   /*-----------------------------------------------------------*/
   /*ムービー*/
   section#movie {
     width: 100%;
     height: auto;
     margin: 32px 0 0 0;
     padding: 24px 0 0 0;
     box-sizing: border-box;
   }
   section#movie .inner {
     position: relative;
     width: 100%;
     height: 200px;
     background: #ffc059 url("../../_image/bgLine_movie.svg")no-repeat bottom -300px right -400px;
     margin: 40% auto 0;
     padding: 24px 0;
     font-size: 13px;
     color: #800506;
     text-align: left;
     box-sizing: border-box;
   }
   .topPompo {
     position: absolute;
     width: 60%;
     height: auto;
     background: url("../../_image/top_pompo.png") no-repeat center top /100% auto;
     padding-bottom: calc(100%* 800/750);
     right: -20%;
     bottom: -172%;
     z-index: 4;
     /* テキストを画像に置換する */
     text-indent: 100%;
     white-space: nowrap;
     overflow: hidden;
   }
   section#movie h2 {
     width: 82px;
     height: 61px;
     margin: 0 auto 8px;
     background: url("../../_image/h2_movie.svg")no-repeat top left;
     /* テキストを画像に置換する */
     text-indent: 100%;
     white-space: nowrap;
     overflow: hidden;
   }
   section#movie .mov {
     position: relative;
     width: 100%;
     margin: -170px auto 0;
     box-sizing: border-box;
   }
   /*-----------------------------------------------------------*/
   /*バナー*/
   .bnrSP {
     position: relative;
     margin: 0 auto;
     padding: 24px 0 0 0;
     font-size: 0;
     text-align: center;
     z-index: 100;
   }
   .bnrSP li {
     display: inline-block;
     padding: 4px;
     vertical-align: top;
     box-sizing: border-box;
     font-size: 0;
   }
   .bnrSP li img {
     width: auto;
     height: 66px;
   }
   .bnrPC {
     display: none;
   }
   .inlineP strong {
     display: block;
     text-align: center;
     font-size: 24px;
   }
   .inlineP em {
     display: block;
     text-align: left;
     padding: 24px 0 0 0;
     font-style: normal;
     font-size: 18px;
   }
   .inlineP i {
     display: block;
     text-align: left;
     padding: 0 0 0 0;
     font-style: normal;
   }
   .inlineP i img {
     float: left;
     height: 200px;
     margin: 0 8px 8px 0;
   }
   /*---------------------------------------------------*/
   /* フッター */
   /*---------------------------------------------------*/
   footer p.copy {
     position: relative;
     width: 100%;
     padding: 24px 0 24px;
     font-size: 12px;
     line-height: 16px;
     text-align: center;
     z-index: 20;
   }
   /*ポップアップ*/
   .inlineP {
     position: relative;
     width: 90%;
     margin: 0 auto;
     padding: 36px 0 120px;
     font-size: 13px;
     line-height: 1.8;
     border-radius: 4px;
   }
   .inlineP strong {
     display: block;
     text-align: center;
     font-size: 24px;
   }
   .popup-modal-dismiss {
     position: relative;
     top: auto;
     left: auto;
     right: auto;
     bottom: 64px;
     text-align: center;
   }
   .popup-modal-dismiss a:link, .popup-modal-dismiss a:visited, .popup-modal-dismiss a:hover, .popup-modal-dismiss a:active {
     display: block;
     width: 6em;
     margin: 0 auto;
     font-size: 13px;
     padding: 4px 12px 3px;
     border: 1px solid #333;
     color: #333;
     text-decoration: none;
   }
   .mfp-close-btn-in .mfp-close {
     display: none;
   }
   .goodsItem li img {
     width: 40%;
     height: auto;
     margin: 0 4px 4px;
   }
   /*---------------------------------------------------*/
   /*高解像度ディスプレイ用設定*/
   @media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2/1), only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx) {
     /*2倍の画像を指定*/
     #kyevisual {
       background: url("../../_image/keyvisualSP.png") no-repeat top right /100% auto;
       margin: 0 auto;
     }
     /*キービジュアル*/
   }
   /*--------------------------------------------------------end@media*/
 }
 @media screen and (max-width: 320px) {
   /*　iPhone5用 画面サイズが320px以下はここを読み込む　*/
   /*-----------------------------------------------------------*/
   /*--------------------------------------------------------end@media*/
 }