@charset "utf-8";

body {
	font-size:17px;
	color:#fff;
	line-height:1.8em;
  font-family: "Noto Sans JP", sans-serif;
	 -webkit-text-size-adjust: none;
	background-color:#b094c4;
	width:100%;
	height:100%;
}

.mincho{
  font-family: "Noto Serif JP", serif;
}

a{
  opacity: 1.0;
	transition: 0.4s ;
	text-decoration:none;
}

a:hover{
  opacity: 0.7;
}

img{
	margin: 0;
	padding: 0;
	vertical-align:bottom;
	width: 100%;
}	

/*--------------------------------------
loading
----------------------------------------*/
.layout-loading{
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background:#b094c4;
	z-index:9000;
	display:-ms-flexbox;
	display:flex;
	-ms-flex-pack:center;
	justify-content:center;
	-ms-flex-align:center;
	align-items:center;
	transition:.2s cubic-bezier(.39,.575,.565,1);
}

.layout-loading .loader{
	width:80px;
	height:80px;
	border-radius:100%;
	position:relative;
	border:8px solid #613595;
}

.layout-loading .loader:before{
	width:90px;
	height:90px;
	border-radius:100%;
	position:absolute;
	top:-5px;
	left:-5px;
	display:block;
	content:'';
	background:linear-gradient(to right,#f1dceb 0,rgba(220,117,151,0) 90%);
	transform:translateZ(0);
	animation:spin 2.0s infinite linear;
}

.layout-loading .loader:after{
	width:80px;
	height:80px;
	border-radius:100%;
	position:absolute;
	top:0;
	left:0;
	display:block;
	content:'';
	background:#b094c4;
}

@keyframes spin{
	0%{
		transform:rotate(0deg);
	}
	100%{
		transform:rotate(360deg);
	}
}

.is_loaded .layout-loading{
	opacity:0;
	visibility:hidden;
}

/*--------------------------------------
menu
----------------------------------------*/
#menu {
	width:100%;
	min-width: 1000px;
	height:50px;
	background-color:#97609a;
	display:flex;
	justify-content:center;
	align-items:center;
	position:fixed;
	left:0;
	top:0;
	z-index:1000;
}

#menu ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  justify-content: center;
  gap: 25px;
}

#menu ul li a{
	font-size:18px;
	color:#fff;
	text-decoration:none;
	letter-spacing:2px;
}

#menu #ico_x{
	width: 20px;
	position:absolute;
	right:20px;
	top:5px;
}

/*--------------------------------------
main
----------------------------------------*/
#main {
	width:100%;
	min-width: 1000px;
	height:930px;
	overflow:hidden;
	position:relative;
	background-color:#553368;
	margin-top:50px;
}

#main ul.bg{
	width:100%;
	min-width: 1000px;
	height:930px;
	overflow:hidden;
	position:relative;
	z-index:1;
}

#main ul.bg li{
	width:100%;
	height:930px;
	position:absolute;
	left:0;
	top:0;
}

#main ul.bg li:nth-child(1){
	background: url(../images/bg1.png) no-repeat center center;
	background-size:cover;
}

#main ul.bg li:nth-child(2){
	background: url(../images/bg2.png) no-repeat center center;
	background-size:cover;
}

#main ul.bg li:nth-child(3){
	background: url(../images/bg3.png) no-repeat center center;
	background-size:cover;
}

#main ul.bg li:nth-child(4){
	background: url(../images/bg4.png) no-repeat center center;
	background-size:cover;
}

/*--------------------------------------
scroll
----------------------------------------*/
#scroll{
	width:100%;
	min-width: 1000px;
	height:930px;
	position:absolute;
	left:0;
	top:0;
	z-index:10;
}

#scroll_img{
	background: url(../images/human.png) left bottom;
	width: 100%;
	height:930px;
	position: absolute;
	left: 0;
	z-index: 6;
	animation: bgscroll 50s linear infinite;
}

@keyframes bgscroll {
 0% {background-position: 0 0;}
 100% {background-position: 0 -1890px;}
}

#main ul.laurel { 
	width:850px;
  justify-content: space-between;
  align-items: start;
	display: flex;
	flex-wrap: wrap;
	position:absolute;
	left:0;
	right:0;
	top:20px;
	margin:auto;
	z-index:20;
}

#main ul.laurel li:nth-child(1){ 
	width:129px;
}

#main ul.laurel li:nth-child(2){ 
	width:87px;
}

#main ul.laurel li:nth-child(3){ 
	width:119px;
}

#main ul.laurel li:nth-child(4){ 
	width:99px;
}

#main ul.laurel li:nth-child(5){ 
	width:115px;
}

#main h1{ 
	width:900px;
	height:150px;
	position:absolute;
	left:0;
	right:0;
	top:115px;
	margin:auto;
	z-index:20;
}

#main h1 ul{ 
	width:900px;
	height:150px;
	position:relative;
}

#main h1 ul li{
	width:900px;
	height:150px;
	position:absolute;
	left:0;
	top:0;
}

#main #army{
	width:420px;
	height:655px;
	position:absolute;
	left:0;
	right:0;
	bottom:0;
	margin:auto;
	z-index:10;
}

#main #date{
	width:540px;
	position:absolute;
	left:0;
	right:0;
	bottom:120px;
	margin:auto;
	z-index:20;
}

#main #btsarmy{
	width:540px;
	position:absolute;
	left:0;
	right:0;
	bottom:80px;
	margin:auto;
	z-index:20;
}

#main #credit{
	width:540px;
	position:absolute;
	left:0;
	right:0;
	bottom:30px;
	margin:auto;
	z-index:20;
}

#container {
	width: 1000px;
	padding:20px 0 180px;
	margin:0 auto;
	position:relative;
}

/*--------------------------------------
news
----------------------------------------*/
#news{
	width:850px;
	margin:0 auto;
	position:relative;
	padding:100px 0 30px;
}

#news h2{
	width:190px;
	margin:0 auto;
	position:relative;
}

#news ul{
	width:100%;
	margin:60px auto 0;
	position:relative;
}

#news ul li{
	width:100%;
	color:#fff;
	border-bottom:1px solid #fff;
	font-weight:500;
	margin-bottom:20px;
	padding-bottom:20px;
}

#news ul li a{
	display:block;
	width:100%;
	color:#fff;
}


/*--------------------------------------
trailer
----------------------------------------*/
#trailer{
	width:1000px;
	margin:0 auto;
	position:relative;
	padding:100px 0 30px;
}

#trailer h2{
	width:280px;
	margin:0 auto;
	position:relative;
}

#trailer #movie {
  position: relative;
  width: 1000px;
	margin:60px auto 0;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}

#trailer #movie iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/*--------------------------------------
ticket
----------------------------------------*/
#ticket{
	width:1000px;
	margin:0 auto;
	position:relative;
	padding:100px 0 0;
}

#ticket h2{
	width:220px;
	margin:0 auto;
	position:relative;
}

#ticket #same_day{
	width:1000px;
	height:80px;
	margin:60px auto 0;
	position:relative;
	background-color:#fff;
	border-radius:10px;
	box-sizing:border-box;
  justify-content: center;
  align-items: center;
	display: flex;
	flex-wrap: wrap;
	color:#97609a;
	font-size:34px;
	font-weight:700;
}

#ticket p {
	margin:40px auto 0;
	text-align:center;
	font-size:32px;
}

#ticket p b{
	font-size:50px;
	font-weight:700;
	letter-spacing:2px;
	margin-right:10px;
}

#ticket p span{
	font-size:26px;
}

#ticket .caution{
	font-size:16px;
	text-align:center;
	margin-top:20px;
}

/*--------------------------------------
footer
----------------------------------------*/
#footer{
	width:100%;
	min-width: 1000px;
	height:50px;
	background-color:#97609a;
	position:relative;
}

#copyright{
	font-size:12px;
	text-align:center;
	line-height:50px;
}

#footer_link ul{
	width: 250px;
	height:50px;
	position:absolute;
	right:20px;
	bottom:0;
  justify-content: space-between;
  align-items: center;
	display: flex;
	flex-wrap: wrap;
}

#footer_link ul li a{
	font-size:12px;
	color:#fff;
	text-decoration:none;
}

#footer_link ul li a{
	font-size:12px;
	color:#fff;
	text-decoration:none;
}

#footer_link ul li:nth-child(1){
	border-right:1px solid;
	border-image: linear-gradient(to bottom, #97609a 38%, #fff 38%, #fff 78%, #97609a 78%) 1;
	padding-right:20px;
}

#footer_link ul li .towa{
	width: 25px;
}

/*--------------------------------------
animation
----------------------------------------*/

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes fade {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

@keyframes blur {
  0% {
    filter: blur(40px);
  }
  100% {
    filter: blur(0);
  }
}

@keyframes zoomOut {
  from {
    opacity: 0;
    transform:scale(1.1) translateY(40px);
  }
  to {
    opacity: 1;
    transform:scale(1.0) translateY(0);
  }
}

@keyframes zoomIn {
  from {
    opacity: 0;
    transform:scale(0.9);
  }
  to {
    opacity: 1;
    transform:scale(1.0);
  }
}

@keyframes fadeInUp {
	0% { transform: translateY(40px) ; opacity:0;}
	100% { transform: translateY(0) ; opacity:1;}
}

@keyframes fadeInDown {
	0% { transform: translateY(-100px) ; opacity:0;}
	100% { transform: translateY(0) ; opacity:1;}
}

@keyframes slideRight {
	0% { transform: translateX(150px) ; opacity:0;}
	100% { transform: translateX(0) ; opacity:1;}
}

@keyframes slideDown {
	0% { transform: translateY(-100px) ; opacity:0;}
	100% { transform: translateY(0) ; opacity:1;}
}


#menu ul,
ul.laurel li,
#date,
#btsarmy,
#credit,
#army,
#logo ul li,
#main ul.bg li{
	opacity:0;
}

.is_loaded #main ul.bg li:nth-child(1){
  animation: fade 5.0s cubic-bezier(.17,.62,.17,.92) 0.2s infinite;
}

.is_loaded #main ul.bg li:nth-child(2){
  animation: fade 4.0s cubic-bezier(.17,.62,.17,.92) 0.4s infinite;
}

.is_loaded #main ul.bg li:nth-child(3){
  animation: fade 5.4s cubic-bezier(.17,.62,.17,.92) 0.6s infinite;
}

.is_loaded #main ul.bg li:nth-child(4){
  animation: fade 4.6s cubic-bezier(.17,.62,.17,.92) 0.8s infinite;
}

.is_loaded #logo ul li:nth-child(1){
  animation: zoomOut 2.0s cubic-bezier(.17,.62,.17,.92) 1.0s forwards;
}

.is_loaded #logo ul li:nth-child(2){
  animation: zoomOut 2.0s cubic-bezier(.17,.62,.17,.92) 1.2s forwards;
}

.is_loaded #logo ul li:nth-child(3){
  animation: zoomOut 2.0s cubic-bezier(.17,.62,.17,.92) 1.4s forwards;
}

.is_loaded #logo ul li:nth-child(4){
  animation: zoomOut 2.0s cubic-bezier(.17,.62,.17,.92) 1.6s forwards;
}

.is_loaded #logo ul li:nth-child(5){
  animation: zoomOut 2.0s cubic-bezier(.17,.62,.17,.92) 1.8s forwards;
}

.is_loaded #army{
  animation: fadeInUp 1.6s cubic-bezier(.17,.62,.17,.92) 0.6s forwards;
}

.is_loaded #date{
  animation: fadeInUp 1.6s cubic-bezier(.17,.62,.17,.92) 2.4s forwards;
}

.is_loaded #btsarmy{
  animation: fadeInUp 1.6s cubic-bezier(.17,.62,.17,.92) 2.6s forwards;
}

.is_loaded #credit{
  animation: fadeInUp 1.6s cubic-bezier(.17,.62,.17,.92) 2.8s forwards;
}

.is_loaded ul.laurel li:nth-child(1){
  animation: zoomIn 1.6s cubic-bezier(.17,.62,.17,.92) 2.0s forwards;
}

.is_loaded ul.laurel li:nth-child(2){
  animation: zoomIn 1.6s cubic-bezier(.17,.62,.17,.92) 2.1s forwards;
}

.is_loaded ul.laurel li:nth-child(3){
  animation: zoomIn 1.6s cubic-bezier(.17,.62,.17,.92) 2.2s forwards;
}

.is_loaded ul.laurel li:nth-child(4){
  animation: zoomIn 1.6s cubic-bezier(.17,.62,.17,.92) 2.3s forwards;
}

.is_loaded ul.laurel li:nth-child(5){
  animation: zoomIn 1.6s cubic-bezier(.17,.62,.17,.92) 2.4s forwards;
}

.is_loaded #menu ul{
  animation: slideDown 1.6s cubic-bezier(.17,.62,.17,.92) 2.0s forwards;
}

#news h2,
#news #news-area{
	opacity:0;
}

#news.is_loaded h2{
  animation: zoomIn 1.6s cubic-bezier(.17,.62,.17,.92) 0.6s forwards;
}

#news.is_loaded #news-area{
  animation: fadeInUp 1.6s cubic-bezier(.17,.62,.17,.92) 1.0s forwards;
}

#trailer h2,
#trailer #movie{
	opacity:0;
}

#trailer.is_loaded h2{
  animation: zoomIn 1.6s cubic-bezier(.17,.62,.17,.92) 0.6s forwards;
}

#trailer.is_loaded #movie{
  animation: fadeInUp 1.6s cubic-bezier(.17,.62,.17,.92) 1.0s forwards;
}

#ticket .caution,
#ticket h2,
#ticket #same_day,
#ticket p{
	opacity:0;
}

#ticket.is_loaded h2{
  animation: zoomIn 1.6s cubic-bezier(.17,.62,.17,.92) 0.6s forwards;
}

#ticket.is_loaded #same_day{
  animation: fadeInUp 1.6s cubic-bezier(.17,.62,.17,.92) 1.0s forwards;
}

#ticket.is_loaded p{
  animation: fadeInUp 1.6s cubic-bezier(.17,.62,.17,.92) 1.2s forwards;
}

#ticket.is_loaded .caution{
  animation: fadeInUp 1.6s cubic-bezier(.17,.62,.17,.92) 1.4s forwards;
}