@charset "UTF-8";
html {
	width: 100%;
	height: 100%;
}
body {
	width: 100%;
	height: 100%;
    padding:0;
	font-size:14px;
	position: relative;
	line-height: 1;
	background: #ee0112;
    font-family:"Hiragino Sans","游ゴシック体","Yu Gothic",YuGothic,"メイリオ",Meiryo,sans-serif;
    -webkit-overflow-scrolling: touch;
    -webkit-text-size-adjust: 100%;
}
figure, p, ul, li, img {
	margin: 0;
	padding: 0;
	border: none;
}
img {
	max-width: 100%;
	height: auto;
}
#loading {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1000;
	background: #fff;
}
#loading #loadingText {
	position: absolute;
	top: 50%;
	left: 50%;
	margin-left: -150px;
	margin-top: -36px;
	width: 300px;
}
#loading #loadingText img {
	width: 100%;
	height: auto;
	color: #e55408;
}
/*---------------------------------------------------------------------------------------
　main contents    
---------------------------------------------------------------------------------------*/

#wrapper {
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	position: relative;
	overflow: auto;
    padding-bottom:30px;
	/*border:10px solid #222;*/

}

#kamifubuki{
  position:fixed;
  width:100%;
  height:100%;
  top:0;
  left:0;
  overflow: hidden;
  z-index: 2;
  pointer-events: none;
}
#top {
	/*height: 100%;*/
	width: 100%;
    /*position: relative;
    z-index: 1;*/
	/*overflow: hidden;
	position: relative;
	max-width:960px;
	margin:0 auto;*/
}

.contents {
    position: relative;
   /* max-width:1280px;
    margin:0 auto;*/
   /* display: table;
    width: 100%;
    height: 100%;
    z-index: 1;
    background:#e60012;*/
}

.contents .contents-inner{
    /*display: table-cell;
    vertical-align: middle;
    display: flex;
    align-items: center;*/
    position: relative;
}

.main{
    width: 100%;
    margin:0 auto;
    position: relative;
    max-width: 1200px;
    /*padding:0 10%;*/
}

.main-visual{
    text-align: center;
    position: relative;
    z-index: 0;
}

.main-text{
    
}

.main-text h1{
    position: absolute;
    top:10px;
    left: 15%;
    width: 70%;
    text-align: center;
    z-index: 1;
}

.main-text #billing{
    position: absolute;
    bottom:20px;
    left:25%;
    width:50%;
    text-align: center;
    z-index: 1;
}

.main-text .roadshow{
    position: absolute;
    bottom: 20px;
    left: 79%;
    width: 18%;
    z-index: 1;
}

.main-text .copy{
    position: absolute;
    bottom: 20px;
    right: 87%;
    width: 11%;
    max-width:145px;
    z-index: 1;
}

.sub{
    /*max-width: 920px;*/
    position: relative;
    /*position: absolute;
    bottom:0;
    left:0;*/
    width:100%;
    margin:0 auto;
    padding: 10px 15px;
    text-align: center;
    background:url("../images/v_02_sub_bg@2x.jpg") no-repeat 50% 50%;
    background-size:cover;
    box-sizing: border-box;
}

/*.contents h1{
    width: 90%;
    margin:0 auto;
    padding:0 30px;
}*/

/*---------------------------------------------------------------------------------------
　side banner
---------------------------------------------------------------------------------------*/
#side-banner-area {
	margin: 0;
    position: absolute;
    bottom: 31%;
    left: 15px;
    z-index: 5;
    width: 22%;
    text-align: right;
}

#trailer-button {
	margin: 0;
    /*letter-spacing: -1em;
    text-align: center;*/
    /*position: absolute;
    bottom: 40%;
    left: 15px;
    z-index: 5;
    width: 24%;
    text-align: right;*/
    width:100%;
    margin-top:1em;
    /*display: block;*/
}

#trailer-button a {
	display:block;
    position: relative;
    overflow: hidden;
}

#trailer-button a img {
    transition: all 0.3s ease-out;
}

#trailer-button a:hover img {
    transform:scale(1.1);
}

#trailer-button a:after {
	content:"";
    position: absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:url("../images/top/play@2x.png") no-repeat 50% 50%;
    background-size:44px;
    box-sizing: border-box;
    border:3px solid #fff;
    z-index: 1;
}

#shinansyo-banner{
    margin-top:0.8em;
}


/*---------------------------------------------------------------------------------------
　navi  
---------------------------------------------------------------------------------------*/
header {
	/*position: absolute;
	top: 0;
	left: 0;
    position: relative;
	width: 100%;
	z-index: 5;
	transition: all .3s;*/
}
/*header #header-inner{
	position: relative;
	margin:0 auto;
	padding: 13px 30px;
	box-sizing: border-box;
}
*/
#tab {
	display: none
}
#global-navi {
	margin: 0;
    /*letter-spacing: -1em;
    text-align: center;*/
    position: absolute;
    top: 30%;
    right: 15px;
    z-index: 5;
    width: 20%;
}
#main-navi li {
	/*float: left;
	margin-right: 40px;*/
    vertical-align: middle;
   /* display: inline-block;
    letter-spacing: 0;*/
}
#main-navi li a{
	display: block;
	position: relative;
	transition:all 0.3s;
    text-decoration: none;
    padding-right: 15px;
    padding:15px 0;
    border-bottom:1px solid #000;
}

#main-navi li a img{
	transition:all 0.3s;
}

#main-navi li a:hover img{
	opacity:0.7;
}

#main-navi li a:after{
    content: "";
	position: absolute;
    right:0;
    top:15px;
    width:26px;
    height:26px;
    background: url("../images/top/arrow@2x.png") no-repeat 0 0;
    background-size:cover;
    transition:all 0.2s ease-in-out;
}
#main-navi li a:hover:after{
    right:-5px;
}
#main-navi li a:hover{
	/*opacity: .5;
    color:#ffee0d;*/
}


#sns-navi {
	margin-top: auto;
	position: absolute;
	top: 18px;
	right: 14px;
    z-index: 10;
}
#sns-navi li {
	/*float:left;*/
   display:inline-block;
    vertical-align: middle;
    margin-left:5px;
    /*width: 26%;*/
}


#tab {
	display: none
}


/*#top h1 {
	position:relative;
	margin-top: 3%;
	display:inline-block;
}
#top h1 img {
	max-width: 100%;
	height: auto;
}
*/



/*---------------------------------------------------------------------------------------
　top trailer
---------------------------------------------------------------------------------------*/
#trailer{
    margin:20px auto 0 auto;
    width:90%;
    z-index: 2;
    position: relative;
}


/*---------------------------------------------------------------------------------------
　popup
---------------------------------------------------------------------------------------*/

/* info */

/*#intro_page{
	height:95%;
}*/
.mfp-content {
	/*display:block;*/
	position: relative;
	height: 100%;
	width: 100vh;
	margin: 0 auto;
	background: #fff;
	z-index: 0;/*min-width:1024px;*/
}
.mfp-page {
	width: 100%;
	position: fixed;
	top: 0;
	left: 0;
	height: 100vh;
	z-index: 998;/*background:rgba(255,255,255,0.9);*//*display:none;*/
	overflow: auto;
}
.mfp-head {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	background: rgba(0,0,0,0.8);
	padding: 15px;
	z-index: 2000;
	box-sizing: border-box;
}
.mfp-head h2 {
	margin: 0;
	text-align: center;
}
.mfp-close, .mfp-iframe-scaler .mfp-close {
	transform: translate3d(0, 0, 0);
	position: fixed;
	background: transparent url(../images/close@2x.png) no-repeat 50% 50%;
	background-size: cover;
	padding: 0;
	right: 15px;
	top: 15px;
	width: 30px;
	height: 30px;
	cursor: pointer;
	z-index: 1005;
	transition: all 0.5s;
	line-height: 1;
	text-indent: -9999px;
	text-align: left;
}
.mfp-main {
	height: 100vh;
	margin: 0 auto;
	/* left: 6.5%; */
	z-index: 1000;
	overflow: scroll;
	padding: 50px 0;
	box-sizing: border-box;
	-webkit-overflow-scrolling: touch;
	overflow-scrolling: touch;
}




/* 
====== Zoom effect ======
*/
.mfp-zoom-in {
  /* start state */
  /* animate in */
  /* animate out */
}
.mfp-zoom-in.mfp-with-anim {
  opacity: 0;
  transition: all 0.3s ease-in-out;
  transform: scale(0.8);
}
.mfp-zoom-in.mfp-bg {
  opacity: 0;
  transition: all 0.3s ease-out;
}
.mfp-zoom-in.mfp-ready.mfp-with-anim {
  opacity: 1;
  transform: scale(1);
}
/*.mfp-zoom-in.mfp-ready.mfp-bg {
  opacity: 0.8;
}*/
.mfp-zoom-in.mfp-removing.mfp-with-anim {
  transform: scale(0.8);
  opacity: 0;
}
.mfp-zoom-in.mfp-removing.mfp-bg {
  opacity: 0;
}
 

/* trailer */
.mfp-iframe-scaler .mfp-close {
	top: 15px;
	right: 15px;
}

/*---------------------------------------------------------------------------------------
banner
---------------------------------------------------------------------------------------*/
#banner-area{
    margin: 0 auto ;
    position: relative;
    max-width: 1200px;
    padding: 0 30px; 
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}

#banner-area li{
    width:30.33333%;
    margin:30px 1.5% 0 1.5%;
    max-width: 320px;
    text-align: center;
    
}

/*---------------------------------------------------------------------------------------
banner tieup
---------------------------------------------------------------------------------------*/
#tieup-area{
    margin: 0 auto ;
    position: relative;
    max-width: 1200px;
    padding: 15px 30px 0 30px; 
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}

#tieup-area li{
    width: 18%;
    margin: 15px 1% 0 1%;
    text-align: center; 
}



/*---------------------------------------------------------------------------------------
trailer
---------------------------------------------------------------------------------------*/
#trailer-page .mfp-main p {
	text-align: center;
}
#trailer-page .mfp-head {
	background: none;
}

#trailer-page .mfp-content {
    line-height: 0;
    max-width: 900px;
	width:100%;
    min-width: inherit;
	min-width: auto;
	height:100%;
	display:table;

}

#trailer-page .mfp-iframe-scaler{
	display: table-cell;
	vertical-align:middle;
	padding:0;
}

#trailer-page .mfp-iframe-scaler iframe {
     position: relative; 
    display: block;
    top: auto;
    left: auto;
    width: 900px;
    height: 506px;
    /*box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
    background: #000;*/
}


.trailer-list {
	/*position: absolute;
	bottom: 40px;
	left: 0;*/
	list-style: none;
	line-height: 1.4;
	text-align: center;
	width: 100%;
	margin-top:30px;
}
.trailer-list li {
	float: left;
    width: 50%;
    box-sizing: border-box;
    padding: 0 5px 10px 5px;
}

.trailer-list li.long{
	width:50%;
}

.trailer-list li a {
	display: block;
	background:#000 url("../images/v_01_sub_bg@2x.jpg") no-repeat 50% 50%;
    background-size:cover;
	padding: 10px 20px;
	text-align: center;
	text-decoration: none;
	color: #fff;
	transition: all 0.3s ease-out;
	font-size: 14px;
	border:1px solid #333;
    font-weight: bold;

}
.trailer-list li a.current,
.trailer-list li a:hover {
	background:#f7d300 url("../images/v_02_sub_bg@2x.jpg") no-repeat 50% 50%;
    background-size:cover;
	color: #000;
}



.rollover {
	transition: all 0.3s;
}
.rollover:hover {
	opacity: 0.7;
}



.pc {
	display: block;
}
.sp {
	display: none;
}
/* clearfix */
.cf:before, .cf:after {
	content: " ";
	display: table;
}
.cf:after {
	clear: both;
}
.cf {
 *zoom: 1;
}


@media(min-width:1400px) {

#global-navi {
    left: 70%;
    right: auto;
}

#side-banner-area {
    right: 70%;
    left: auto;
    width: 18%;
    max-width: 260px;
    bottom: 33%;
}


}

@media(max-width:1100px) {

#main-navi li a{
	padding: 10px 0;
}
    
#main-navi li a:after {
    top: 32%;
    right: 0px;
    width: 20px;
    height: 20px;
}

}



@media(max-width:960px) and (orientation: portrait) {
/*@media screen and (orientation: portrait) {*/
/* 縦向きの場合のスタイル */

/*body{
    height: auto;
}
#wrapper {
   height:auto;
   overflow: hidden;
    padding-top: 176.53333%;
}
main {
    position: absolute;
    left: 0;
    top: 0;
}

#top-v01 h1 {
    width:100%;
    padding: 0 0;
}
#top-v02 h1 {
    width:100%;
    padding: 0 0;
}*/



/*}

*/

#side-banner-area {
    argin: 0;
    position: absolute;
    bottom: 67%;
    left: auto;
    z-index: 5;
    width: 18%;
    text-align: right;
    right: 15px;
}

#trailer-page {
    display: table;
    width: 100%;
}



#trailer-page .mfp-content {
    line-height: 0;
    width: 100%;
    max-width: 900px; 
	height:auto;
	vertical-align:middle;
	display:table-cell;
}

#trailer .mfp-iframe-scaler,
#trailer-page .mfp-iframe-scaler {
    width: 100%;
    height: 0;
    padding-top: 56.25%;
	display:block;
}

#trailer .mfp-iframe-scaler iframe,
#trailer-page .mfp-iframe-scaler iframe {
	position:absolute;
	display: block;
    width: 100%;
    height: 100%;
	top:0;
	left:0;
}

.trailer-list{
	margin-top:10px;
}
.trailer-list li{
    padding: 0 5px 10px 5px;
}
.trailer-list li.long{
	width:100%;
}
.trailer-list li a{
	padding:5px 10px;
	font-size:12px;
}

/*}

@media(max-width:768px) {*/
.pc {
	display: none;
}
.sp {
	display: block;
}

header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 5;
    background:none;
}

#tab {
	position: absolute;
	top: 17px;
	left: 15px;
	z-index: 11;
	display: block
}
#tab span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box
}
#tab a {
	position: relative;
	width: 30px;
	height: 16px;
	display: block
}
#tab a span {
	position: absolute;
	left: 0;
	width: 100%;
	height: 2px;
	background-color: #fff;
}
#tab a span:nth-of-type(1) {
	top: 0
}
#tab a span:nth-of-type(2) {
	top: 7px
}
#tab a span:nth-of-type(3) {
	bottom: 0
}
/*#home #tab span {
	background-color: #fff
}
#tab a.active span {
	background: #fff !important;
}*/
#tab a.active span:nth-of-type(1) {
	-webkit-transform: translateY(7px) rotate(-45deg);
	transform: translateY(7px) rotate(-45deg)
}
#tab a.active span:nth-of-type(2) {
	left: 200%;
	opacity: 0;
	-webkit-animation: active-menu-bar02 .5s forwards;
	animation: active-menu-bar02 .5s forwards
}
@-webkit-keyframes active-menu-bar02 {
100% {
height:0
}
}
@keyframes active-menu-bar02 {
100% {
height:0
}
}
#tab a.active span:nth-of-type(3) {
	-webkit-transform: translateY(-7px) rotate(45deg);
	transform: translateY(-7px) rotate(45deg)
}

#global-navi {
	position: fixed;
	top: -100%;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: scroll;
	-webkit-overflow-scrolling: touch;
	background: #ee0112;
    background-size:cover;
	transition: all .5s cubic-bezier(.9, 0, 0, 1);
	z-index: 10;
	display:table;
}

#global-navi.active {
	top: 0;
	transition: all .5s cubic-bezier(.9, 0, 0, 1)
}
#main-navi {
	float: none;
	margin: 0 auto;
	padding: 0;
	border-top: 1px solid #ccc;
	display:table-cell;
	vertical-align: middle;
}
/*#home #main-navi {
	border-top: 1px solid rgba(255,255,255,0.2)
}
#home .move #main-navi, .move #main-navi {
	border-top: 1px solid rgba(58,35,22,0.2)
}*/
#main-navi li {
	float: none;
	margin-right: 0;
    margin-bottom:0;
    width: auto;
    display: block;
    border-bottom:1px solid #000;
}
/*#main-navi li:first-child {
    border-top:1px solid #444;
}*/


#main-navi li a {
	display:block;
	text-align: center;
	padding:1.5em;
    font-weight: bold;
}
#main-navi li a:after {
	top: 1.5em;
    right:15px;
}
#main-navi li a:hover:after {
    right:5px;
}

#main-navi li a img {
    transform: scale(1) !important; 
    transform-origin: 50% 50% !important;
}


#main-navi li .sp {
	display:inline-block;

}

#sns-navi {
    top: 11px;
    right: 14px;
	width: auto;
}
#sns-navi li {
	margin-left: 10px;
}


#wrapper,#top, main {
	height:auto;
}

.main{
    width:auto;
    padding:0;
}

.main .main-visual img {
	max-width: none;
    max-width: inherit;
    width:100%;
	height: auto;
}


.sub {
    padding: 5px 10px;
}

.contents h1 img{
    max-width: inherit;
    max-width: none;
    width:100%;
}
/*
#trailer-button {
    bottom: 15.5%;
    left: 10px;
    width: 28%;
}
#trailer-button a:after {
    background-size: 22px;
    border: 2px solid #fff;
}
*/
/*#banner-area,
#tieup-area {
    padding-left: 20px;
    padding-right: 20px;
}*/

#banner-area li{
    width:100%;
    margin:15px auto 0 auto;
}

#tieup-area li{
    width:48%;
    margin-top:2%;
}

}


@media(max-width:860px) {
#main-navi li a img {
    transform: scale(0.8); 
    transform-origin: 0;
}
#main-navi li a:after {
    top: 18%;
}
#main-navi li a {
    padding: 5px 0;
}

}


@media(max-width:480px) {
body{
	font-size:12px;
}


#trailer-page .mfp-main p{
		text-align:center;
}

.trailer-list li a{
	font-size:2vw;
}

.mfp-close, .mfp-iframe-scaler .mfp-close {
   /* width: 28px;
    height: 28px;*/
}

}


