@charset "UTF-8";
html,body {
	height: 100%;
}
body {
	margin: 0;
	padding: 0;
}
section,div,p,h1,h2,h3,h4,h5,h6,ul,ol,li,dl,dt,dd,form,iframe,span {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
li {
	list-style-type: none;
}
a {
	outline: none;
	text-decoration: none;
}
img {
	width: 100%;
	height: auto;
	vertical-align: bottom;
}

/* --------------------
	Font Setting
--------------------*/
html {
	font-size: 62.5%;
}
body {
  font-size: 1.4rem;
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "sans-serif";
	letter-spacing: 0.03em;
}
p {
	font-size: 1.4rem;
	line-height: 2em;
	color: #242424;
}


/* --------------------
	Style Setting
--------------------*/
.ld-overlay {
  position: fixed;
	color: #37caf0;
	font-size: 12px;
	letter-spacing: 0.4pt;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
	/*text-indent: -9999px;*/
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #FFF;
  z-index: 10;
  overflow: hidden;
}
body {
	background: #FFF;
}

#wrap {
	min-width: 100%;
	height: 100%;
}
#home {
	height: 100%;
	margin: 0 auto;
	position: relative;
}

#gnav {
	width:100%;
	opacity: 0;
}
#gnav ul {
	width: 100%;
	margin: 30px auto 50px;
}
#gnav li {
	width: 80%;
	margin: 0 auto;
}
#gnav li a {
	display: block;
	position: relative;
	height: 50px;
	text-indent: -9999px;
	background: url("../images/home/navbtns_sp4.png") no-repeat center top;
	background-size: 375px 400px;
}
#gnav li.btn-news a {
	background-position: center -300px;
}
#gnav li.btn-twitter a {
	background-position: center top;
}
#gnav li.btn-insta a {
	background-position: center -250px;
}
#gnav li.btn-about a {
	background-position: center -50px;
}
#gnav li.btn-comment a {
	background-position: center -100px;
}
#gnav li.btn-tokuho a {
	background-position: center bottom;
}
#gnav li.btn-theaters a {
	background-position: center -200px;
}
#gnav li.btn-comment2 a {
	background-position: center bottom;
}
#gnav li {
	border-top: dotted 1px #bac4c6;
}

#gnav li:first-child {
	border-top: none;
}

#home-kv {
	/*background: url("../images/home/home_kv_sp.jpg") no-repeat left top;
	background-size: cover;*/
}
#site-title {
	/*opacity: 0;*/
}
#site-title:after {
	content: '';
	display: block;
	background: #FFF;
	width: 100%;
	height: 140vw;
	position: absolute;
	top: 0;
	right: 0;
}
.banner-event {
	margin-top: 15px;
	background: url("../../images/common/header_nav_bg.png") repeat left top;
	background-size: 50px;
	padding: 15px;
}
.banner-event a {
	display: block;
}
.banner-event a.banner-event1 {
	margin-bottom: 10px;
}
.udc {
	margin: 0 20px;
}
.privacy {
	font-size: 10px;
	text-align: right;
	margin: 0 20px;
}
.privacy a {
	color: #4ba5c7;
	text-decoration: underline;
}

#home-info {
	width: 100%;
	margin: 0 auto 30px;
	position: relative;
}

.billing {
	width: 100%;
	padding: 20px;
	opacity: 0;
}


.chara-anime {
	position: relative;
	height: 110vw;
}
.chara1 {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	z-index: 100;
	opacity: 0;
}
.chara2 {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	z-index: 100;
	opacity: 0;
}

.chara-p {
	width: 60%;
	position: absolute;
	left: 0;
	bottom: 0;
	transition: all 1.2s ease-out;
	transform: scale(1);
}
.chara-t {
	width: 18%;
	bottom: 180px;
	left: 72%;
	position: absolute;
	transition: all 0.8s ease-out;
}

.chara1.waiting,
.chara2.waiting {
	z-index: 10!important;
}

/* Waiting */
.waiting .chara1-p,
.waiting .chara2-p {
	/*-ms-filter: blur(30px);
  filter: blur(30px);*/
	left: -10%;
}
.waiting .chara2-t,
.waiting .chara1-t {
	/*-ms-filter: blur(20px);
  filter: blur(20px);*/
	opacity: 0;
	bottom: 240px;
}

/* Fadeout */
.fadeout .chara1-p,
.fadeout .chara2-p {
	/*-ms-filter: blur(30px);
  filter: blur(30px);*/
	left: 10%;
}

.fadeout .chara2-t,
.fadeout .chara1-t {
	/*-ms-filter: blur(20px);
  filter: blur(20px);*/
	bottom: 120px;
	opacity: 0;
}

#comments2 {
	background: url("../../images/home/bg_water_loop_sp.jpg") repeat center top;
	background-size: 100% auto;
	/*height: 120vh;*/
	overflow: hidden;
	/*background-attachment: fixed;*/
	position: relative;
}
#comments2::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	width: 100%;
	height: 100px;
	background: url("../../images/home/bg_water_grade_upper.png") repeat-x left top;
	background-size: auto 100%;
	z-index: 100;
}
#comments2::after {
	content: '';
	display: block;
	position: absolute;
	bottom: 0;
	width: 100%;
	height: 100px;
	background: url("../../images/home/bg_water_grade_upper.png") repeat-x left top;
	background-size: auto 100%;
	transform: rotate(180deg);
	z-index: 100;
}
.comments2-list {
	margin-top: 30px;
}
.comments2-inner {
	padding: 100px 30px;
}
.comments2-inner li {
	margin-bottom: 30px;
	border-top: dotted 1px #FFF;
}
.comments2-inner li:first-child {
	border-top: none;
}
.comments2-foot {
	font-size: 1.2rem;
	text-align: right;
	padding: 0 20px 20px;
	color: #FFF;
}

.kv2 {
	margin-top: 80px;
	background: url("../images/home/home_kv_sp.jpg") no-repeat center top;
	background-size: cover;
	position: relative;
}
.kv2::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	width: 100%;
	height: 100px;
	background: url("../../images/home/bg_water_grade_upper.png") repeat-x left top;
	background-size: auto 100%;
	z-index: 100;
}

#trailer,
#trailer-special {
	padding: 0 0 10px;
}
#trailer #trailer-player {
	padding: 20px 15px 10px;
}
#trailer iframe,
#trailer-special iframe {
	margin: 0;
	padding: 0;
	vertical-align: bottom;
}
#trailer ul#trailer-btns {
	margin: 0px 15px 0;
	overflow: hidden;
	display: flex;
	flex-wrap: wrap;
}
#trailer li {
	width: 50%;
	box-sizing: border-box;
	padding-bottom: 10px;
}
#trailer li span {
	display: block;
	letter-spacing: 0.6pt;
	background: #367a8b;
	line-height: 36px;
	text-align: center;
	font-size: 14px;
	color: #FFF;
	border: solid 1px #367a8b!important;
	border-radius: 30px;
	cursor: pointer;
}
#trailer li.v0 {
	width: 100%;
}
#trailer li.v4 {padding-right: 5px;}
#trailer li.v1 {padding-right: 5px;}
#trailer li.v2 {padding-left: 5px;}
#trailer li.v5 {padding-left: 5px;}
#trailer li.v3 {padding-right: 5px;}

#trailer li span.current {
	background: #FFF!important;
	color: #367a8b!important;
	border: solid 1px #367a8b!important;
	cursor: default!important;
}
#trailer-special h3 {
	text-align: center;
	color: #333;
	margin: 0 20px;
	padding-top: 15px;
	font-size: 14px;
	border-top: dotted 1px #ed7cae;
}
#trailer-special h3 span {
	margin-left: 10px;
	color: #f73e90;
	font-size: 12px;
	font-weight: 500;
}
#trailer-special #trailer-special-player {
	padding: 10px 15px;
}
#trailer-special ul#trailer-special-btns {
	margin: 0px 15px;
	overflow: hidden;
}
#trailer-special li {
	width: 100%;
	box-sizing: border-box;
	padding-bottom: 10px;
}
#trailer-special li span {
	display: block;
	letter-spacing: 0.6pt;
	background: #ed7cae;
	line-height: 36px;
	text-align: left;
	padding: 0 20px;
	font-size: 14px;
	color: #FFF;
	border: solid 1px #ed7cae!important;
	border-radius: 30px;
	cursor: pointer;
}

#trailer-special li span.current {
	background: #FFF!important;
	color: #f73e90!important;
	border: solid 1px #ed7cae!important;
	cursor: default!important;
}

#footer {
	position: relative;
	text-align: center;
}
.footer-items {
	position: absolute;
	width: 430px;
	bottom: 50px;
	left: 50%;
	margin-left: -215px;
}


.is_loaded #site-title:after {
  -webkit-animation-name: scaleLeft;
  animation-name: scaleLeft;
  -webkit-animation-duration: 0.6s;
  animation-duration: 0.6s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}
/*.is_loaded #site-title {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn;
  -webkit-animation-duration: 0.6s;
  animation-duration: 0.6s;
	-webkit-animation-delay: 0s;
  animation-delay: 0s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}*/

.is_loaded #gnav {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
	-webkit-animation-delay: 0.2s;
  animation-delay: 0.2s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}
.is_loaded .billing {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
	-webkit-animation-delay: 0.4s;
  animation-delay: 0.4s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

/*.is_loaded .casts,
.is_loaded .banner-event {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
	-webkit-animation-delay: 1.4s;
  animation-delay: 1.4s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}
.is_loaded .catch1,
.is_loaded .koukai,
.is_loaded .billing {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
	-webkit-animation-delay: 1.6s;
  animation-delay: 1.6s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}*/

@-webkit-keyframes scaleLeft {
  from {
    width: 100%;
  }
  to {
    width: 0;
  }
}
@keyframes scaleLeft {
  from {
    width: 100%;
  }
  to {
    width: 0;
  }
}
@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/*.fadein {
  opacity : 0;
  transform: translateY(40px);
  transition: all 1.6s;
}*/
.fadeinLeft {
  opacity : 0;
  transform: translateY(40px) translateX(-40px);
  transition: all 1.6s;
}
.fadeinRight {
  opacity : 0;
  transform: translateY(40px) translateX(40px);
  transition: all 1.6s;
}