@import url(https://fonts.googleapis.com/css?family=Roboto:400,900,700);
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
}

html {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}

q, blockquote {
  quotes: none;
}
q:before, q:after, blockquote:before, blockquote:after {
  content: "";
  content: none;
}

a img {
  border: none;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
  display: block;
}

html, body {
  font-family: 'Lucida Grande','Hiragino Kaku Gothic ProN','Meiryo',sans-serif;
  font-size: 16px;
  line-height: 180%;
  width: 100%;
  height: 100%;
  color: #fff;
	background: #000;
}

img {
  vertical-align: bottom;
}

.clearfix:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  line-height: 0;
  visibility: hidden;
	font-size: 0;
}

.clearfix {
  display: inline-block;
}

/* Hides from IE-mac \*/
* html .clearfix {
  height: 1%;
}

.clearfix {
  display: block;
}

.pc_none {display: none;}


#container {
  width: 100%;
  min-width: 1024px;
  margin: 0 auto;
}

#main_wrap {
	height: 1129px;
	background: url(../img/main_bg.png) no-repeat center center;
	background-color: #000;
}

.main {
	margin: 0 auto;
	text-align: center;
}
.main_pos01 {
	padding-top: 50px;
	opacity: 0;
}
.main_pos02 {
	padding-top: 225px;
	opacity: 0;
}
.main_pos03 {
	padding-top: 20px;
	opacity: 0;
}
.main_pos03 img {
	width: 100%;
	max-width: 1024px;
}
.main_pos04 {
	color: #fff;
	position: relative;
	top: -120px;
	font-weight: bold;
	font-size: 20px;
	line-height: 1.8;
	opacity: 0;
}

.main_pos04 span {
	color: #ffff00;
	font-size: 26px;
}

#logo {
	position: fixed;
	top: 15px;
	left: -100px;
	z-index: 5;
}

#logo a img {
	width: 80px;
}

.sns_btn_area {
	position: fixed;
	top: 41%;
/*	transform: translateY(-50%);*/
	right: -100px;
	z-index: 9999;
/*	opacity: 0;*/
}

.sns_btn_area ul li a,
#logo a{
	-webkit-transition: opacity 0.5s ease-out;
	-moz-transition: opacity 0.5s ease-out;
	-ms-transition: opacity 0.5s ease-out;
	transition: opacity 0.5s ease-out;
}

.sns_btn_area ul li a:hover,
#logo a:hover {
	opacity: 0.7;
}

#contents {
	margin: 0 auto 100px;
	width: 1024px;
}

#contents h2 {
	margin-bottom: 30px;
/*	padding-top: 10px;*/
	padding-bottom: 20px;
	color: #e4007f;
	font-size: 36px;
	font-weight: bold;
/*	border-top: 8px dotted #e4007f;*/
	border-bottom: 8px dotted #e4007f;
	text-align: center;
	position: relative;
	letter-spacing: 10px;
	line-height: 1.2;
}

#contents h2 span {
	font-size: 28px;
	position: relative;
	top: -2px;
}

/*
#contents h2:before {
	content: '';
	position: absolute;
	top: -5px;
	left: 0;
	height: 0;
	width: 100%;
	border-bottom: 2px solid #e4007f;
}
*/

#contents h2:after {
	content: '';
	position: absolute;
	bottom: -5px;
	left: 0;
	height: 0;
	width: 100%;
	border-bottom: 2px solid #e4007f;
}




#chouka {
	margin: 0 auto;
	padding-top: 100px;
	width: 100%;
/*	background: #ff0;*/
	background: url(../img/dotted_bg02.png) repeat #ff0;
}

#chouka h2 {
	margin-bottom: 30px;
/*	padding-top: 10px;*/
	padding-bottom: 20px;
	color: #e4007f;
	font-size: 36px;
	font-weight: bold;
/*	border-top: 8px dotted #e4007f;*/
/*	border-bottom: 8px dotted #e4007f;*/
	text-align: center;
	position: relative;
	letter-spacing: 10px;
	line-height: 1.2;
}

#chouka h2 span {
	font-size: 28px;
	position: relative;
	top: -2px;
}

#chouka p {
	margin: 0 auto 50px;
	width: 1024px;
	color: #222;
}



/*
#chouka h2:before {
	content: '';
	position: absolute;
	top: -5px;
	left: 0;
	height: 0;
	width: 100%;
	border-bottom: 2px solid #e4007f;
}
*/

/*
#chouka h2:after {
	content: '';
	position: absolute;
	bottom: -5px;
	left: 0;
	height: 0;
	width: 100%;
	border-bottom: 2px solid #e4007f;
}
*/









#contents .feature01 {
	margin-bottom: 100px;
}

#contents .feature01 p {
	margin-bottom: 20px;
}

#contents .feature01 .feature01_text {
	padding-top: 70px;
	width: 564px;
	float: left;
	line-height: 2.2;
}

#contents .feature01 .feature01_img {
	padding-top: 20px;
	width: 430px;
	float: right;
}

#contents .feature01 .feature02_text_wrap {
/*	padding-top: 75px;*/
	width: 564px;
	float: right;
}

#contents .feature01 .feature02_text {
/*	padding-top: 50px;*/
	margin-bottom: 45px;
	line-height: 2.2;
}

#contents .feature01 .feature02_text02 {
	margin-bottom: 40px;
	font-size: 23px;
	font-weight: bold;
	line-height: 1.8;
	color: #fff;
	letter-spacing: 2px;
}

#contents .feature01 .feature02_text02 span {
	font-size: 18px;
	position: relative;
	top: -1px;
}

#contents .feature01 .feature02_text02 span.yellow {
	font-size: 23px;
	position: relative;
	top: 0px;
	color: #ff0;
}

#contents .feature01 .feature02_img {
	padding-top: 40px;
	width: 430px;
	float: left;
}


#contents .feature01 .feature03_img {
	margin-bottom: 60px;
	position: relative;
	width: 1024px;
	height: 558px;
	background: url(../img/feature_img01.png?date=20250107) no-repeat center center
}

#contents .feature01 .feature03_text {
	margin-bottom: 40px;
	line-height: 2.2;
	text-align: center;
	font-size: 18px;
	letter-spacing: 2px;
}

#contents .feature01 .feature03_text02 {
	margin-bottom: 40px;
	text-align: center;
	font-size: 23px;
	font-weight: bold;
	line-height: 1.8;
	color: #fff;
	letter-spacing: 2px;
}

#contents .feature01 .feature03_text02 span {
	font-size: 18px;
	position: relative;
	top: -1px;
}
#contents .feature01 .feature03_text02 span.yellow {
	font-size: 23px;
	position: relative;
	top: 0px;
	color: #ff0;
	font-size: 115%;
}


#contents .feature01 .feature04_text {
	width: 564px;
	float: left;
}

#contents .feature01 .feature04_img {
	width: 430px;
	float: right;
}

.fuwafuwa {
	position: absolute;
	top: 300px;
	left: -54px;
  animation: fuwafuwa 3s infinite ease-in-out .8s alternate;
/*  background: url(../img/feature_img01_fish.png) no-repeat center center / 115px auto;*/
  display: inline-block;
  transition: 1.5s ease-in-out;
/*  width: 115px;*/
/*  height: 125px;*/
/*  margin-top: 15px;*/
}
@keyframes fuwafuwa {
  0% {
    transform:translate(0, 0) rotate(-7deg);
  }
  50% {
    transform:translate(0, -7px) rotate(0deg);
  }
  100% {
    transform:translate(0, 0) rotate(7deg);
  }
}

.poyopoyo {
	position: absolute;
	top: -40px;
	right: -70px;
	animation: poyopoyo 2s ease-out infinite;
	opacity: 1;
}
@keyframes poyopoyo {
	0%, 40%, 60%, 80% {
		transform: scale(1.0);
	}
	50%, 70% {
		transform: scale(0.95);
	}
}

.mienai {
	position: absolute;
	top: 60px;
	left: -100px;
	opacity: 1;
}


.marker-bold {
	background: linear-gradient(transparent 85%, #ff0 85%);
}

#footer {
	width: 100%;
	margin: 0 auto;
	background: #000;
}

#footer .inner {
	width: 1024px;
	margin: 0 auto;
	text-align: center;
}

#footer .footer_btn {
	padding: 8px 0;
	font-size: 14px;
	float: left;
	color: #ccc;
}

#footer .footer_btn a {
	color: #ccc;
	text-decoration: none;
}

#footer .copy {
	text-align: center;
	padding: 0 0 30px;
	font-size: 12px;
/*	float: right;*/
	color: #ccc;
}







#movie {
	margin-bottom: 100px;
	padding: 100px 0;
	width: 100%;
/*	background-color: #e4007f;*/
	background: url(../img/dotted_bg.png) repeat #e4007f;
}

#movie .inner {
  width: 100%;
  position: relative;
  padding: 550px 0 0;
  overflow: hidden;
/*	opacity: 0;*/
}

#movie h2{
	width: 1024px;
	margin: 0 auto 50px;
/*	margin-bottom: 15px;*/
/*	padding-top: 20px;*/
/*	padding-bottom: 20px;*/
	color: #ffff00;
	font-size: 46px;
	font-weight: bold;
	text-align: center;
/*	border: 5px solid #ffff00;*/
/*	border-radius: 100px;*/
	letter-spacing: 4px;
}

#movie h2 span {
	position: relative;
	top: -5px;
	font-size: 30px;
}

#movie .inner #movie_slider {
  position: absolute;
  width: 3180px;
  height: 540px;
  top: 0;
  left: 50%;
  margin-left: -1590px;
}

#movie .inner #movie_slider li {
  display: block;
  width: 960px;
  height: 540px;
  padding: 0 50px;
  opacity: 0.3;
  -webkit-transition: opacity .6s ease;
  -moz-transition: opacity .6s ease;
  -o-transition: opacity .6s ease;
  transition: opacity 0.6s ease
}

#movie .inner #movie_slider li.slick-center {
  opacity: 1
}

#movie .inner #movie_slider li:focus {
  outline: 0
}

#movie .inner #movie_slider .slick-next {
  position: absolute;
  width: 30px;
  height: 30px;
  top: 250px;
  right: 50.1%;
  padding: 0;
  margin: 0 -550px 0 0;
	border: 1px solid #fff;
  background-image: url(../img/slider_mini_right.png);
	background-color: transparent;
	background-position: center;
/*  border: none;*/
  font-size: 0;
  z-index: 3;
  cursor: pointer;
  -webkit-transition: opacity .3s ease;
  -moz-transition: opacity .3s ease;
  -o-transition: opacity .3s ease;
  transition: opacity 0.3s ease
}

#movie .inner #movie_slider .slick-next:hover {
	background-image: url(../img/slider_mini_right_on.png);
	background-color: #fff;
/*  opacity: 0.5;*/
}

#movie .inner #movie_slider .slick-prev {
  position: absolute;
  width: 30px;
  height: 30px;
  top: 250px;
  left: 50.1%;
  padding: 0;
  margin: 0 0 0 -550px;
	border: 1px solid #fff;
  background-image: url(../img/slider_mini_left.png);
	background-color: transparent;
	background-position: center;
/*  border: none;*/
  font-size: 0;
  z-index: 3;
  cursor: pointer;
  -webkit-transition: opacity .3s ease;
  -moz-transition: opacity .3s ease;
  -o-transition: opacity .3s ease;
  transition: opacity 0.3s ease
}

#movie .inner #movie_slider .slick-prev:hover {
	background-image: url(../img/slider_mini_left_on.png);
	background-color: #fff;
/*	opacity: 0.5;*/
}

#movie .inner #movie_slider .slick-disabled {
  display: none !important
}

#movie .inner .left_cover {
  position: absolute;
  display: block;
  width: 1060px;
  height: 540px;
  top: 0;
  left: 50%;
  margin-left: 480px;
  z-index: 2
}

#movie .inner .right_cover {
	position: absolute;
	display: block;
	width: 1060px;
	height: 540px;
	top: 0;
	right: 50%;
	margin-right: 480px;
	z-index: 2;
}

#movie .inner #movie_tip_slider {
	width: 960px;
	margin: 0 auto;
	border: 1px solid #fff;
}

#movie .inner #movie_tip_slider li {
	padding: 25px 0;
	font-size: 20px;
	text-align: center;
	line-height: 100%;
	font-weight: 600;
	color: #fff;
}

#movie .inner #movie_tip_slider li:focus {
  outline: 0
}

















#lineup {
	width: 1024px;
	margin: 0 auto 100px;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: row;
	flex-direction: row;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-items: flex-start;
	align-items: flex-start;
	-webkit-align-content: flex-start;
	align-content: flex-start
}

#lineup .header {
	margin-bottom: 15px;
	width: 100%;
	padding: 0;
}

#lineup .header h2 {
	margin-bottom: 30px;
/*	padding-top: 10px;*/
	padding-bottom: 20px;
	color: #e4007f;
	font-size: 36px;
	font-weight: bold;
/*	border-top: 8px dotted #e4007f;*/
	border-bottom: 8px dotted #e4007f;
	text-align: center;
	position: relative;
	letter-spacing: 10px;
	line-height: 1.2;
}

#lineup .header h2 span {
	font-size: 28px;
	position: relative;
	top: -2px;
}

/*
#lineup .header h2:before {
	content: '';
	position: absolute;
	top: -5px;
	left: 0;
	height: 0;
	width: 100%;
	border-bottom: 2px solid #e4007f;
}
*/

#lineup .header h2:after {
	content: '';
	position: absolute;
	bottom: -5px;
	left: 0;
	height: 0;
	width: 100%;
	border-bottom: 2px solid #e4007f;
}


/*
.lineup_ttl {
	margin-bottom: 30px;
	width: 100%;
	border: 1px solid #000;
	padding: 10px;
	font-weight: bold;
	display: block;
	border-radius: 3px;
	box-sizing: border-box;
}
*/

#lineup .item {
  position: relative;
  width: 540px;
  position: relative;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box
}

#lineup .item .img {
  position: absolute;
  top: 0;
  left: 0;
  background-size: contain
}

#lineup .item h3 {
  font-size: 26px;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0em
}

#lineup .item p {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
	color: #aaa;
}

#lineup .item a {
  display: block;
  width: 200px;
  height: 14px;
  padding: 11px 0 12px;
  margin-top: 15px;
  border: 1px solid #eee;
  color: #eee;
  font-size: 14px;
  line-height: 14px;
  text-align: center;
  text-decoration: none;
  -webkit-transition: all .25s ease;
  -moz-transition: all .25s ease;
  -o-transition: all .25s ease;
  transition: all 0.25s ease
}

#lineup .item a:hover {
  border: 1px solid #e4007f;
  background-color: #e4007f;
  color: #fff;
  -webkit-transform: translateY(3px);
  -moz-transform: translateY(3px);
  -ms-transform: translateY(3px);
  -o-transform: translateY(3px);
  transform: translateY(3px)
}

#lineup .item.item_01 {
  width: 512px;
  height: 230px
}

#lineup .item.item_01 .inner {
  padding-top: 32px;
  padding-left: 230px
}

#lineup .item.item_01 h3 {
  font-size: 20px;
/*  line-height: 16px*/
}

#lineup .item.item_01 .img {
  width: 200px;
  height: 200px;
  left: 0px;
  background-image: url(../img/lineup_img_01.png?date=20240312)
}

#lineup .item.item_02 {
  width: 512px;
  height: 230px
}

#lineup .item.item_02 .inner {
  padding-top: 32px;
  padding-left: 230px
}

#lineup .item.item_02 h3 {
  font-size: 20px;
/*  line-height: 16px*/
}

#lineup .item.item_02 .img {
  width: 200px;
  height: 200px;
  left: 0px;
  background-image: url(../img/lineup_img_02.png?date=20240312)
}

#lineup .item.item_03 {
  width: 512px;
  height: 230px
}

#lineup .item.item_03 .inner {
  padding-top: 32px;
  padding-left: 230px
}

#lineup .item.item_03 h3 {
  font-size: 20px;
/*  line-height: 16px*/
}

#lineup .item.item_03 .img {
  width: 200px;
  height: 200px;
  left: 0px;
  background-image: url(../img/lineup_img_03.png?date=20240312)
}

#lineup .item.item_04 {
  width: 512px;
  height: 230px
}

#lineup .item.item_04 .inner {
  padding-top: 32px;
  padding-left: 230px
}

#lineup .item.item_04 h3 {
  font-size: 20px;
/*  line-height: 16px*/
}

#lineup .item.item_04 .img {
  width: 200px;
  height: 200px;
  left: 0px;
  background-image: url(../img/lineup_img_04.png?date=20240312)
}

#lineup .item.item_05 {
  width: 512px;
  height: 230px
}

#lineup .item.item_05 .inner {
  padding-top: 32px;
  padding-left: 230px
}

#lineup .item.item_05 h3 {
  font-size: 20px;
/*  line-height: 16px*/
}

#lineup .item.item_05 .img {
  width: 200px;
  height: 200px;
  left: 0px;
  background-image: url(../img/lineup_img_05.png?date=20240312)
}

#lineup .item.item_06 {
  width: 512px;
  height: 230px
}

#lineup .item.item_06 .inner {
  padding-top: 32px;
  padding-left: 230px
}

#lineup .item.item_06 h3 {
  font-size: 20px;
/*  line-height: 16px*/
}

#lineup .item.item_06 .img {
  width: 200px;
  height: 200px;
  left: 0px;
  background-image: url(../img/lineup_img_06.png?date=20240312)
}

#lineup .item.item_07 {
  width: 512px;
  height: 230px
}

#lineup .item.item_07 .inner {
  padding-top: 10px;
  padding-left: 230px
}

#lineup .item.item_07 h3 {
  font-size: 20px;
/*  line-height: 16px*/
}

#lineup .item.item_07 .img {
  width: 200px;
  height: 200px;
  left: 0px;
  background-image: url(../img/lineup_img_07.png?date=20240312)
}

/*
右から左へ
----------------------------*/
@keyframes infinity-scroll-left {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}

/*
IE11対策
----------------------------*/
_:-ms-lang(x)::-ms-backdrop,
.d-demo {
  display: -ms-grid;
  overflow: hidden;
}
/*----------------------------*/



.d-demo__wrap {
  display: flex;
  overflow: hidden;
}

.d-demo__list {
  display: flex;
  list-style: none;
}

.d-demo__list--left{
animation :infinity-scroll-left 200s infinite linear 0.5s both;
}

.d-demo__item {
  width: calc(100vw / 6);
}
.d-demo__item > img{
   width: 100%;
}














/*---------------------------------
scroll down animation
---------------------------------*/
.sub_scroll_down {
	width: 90px;
	height: 300px;
	position: fixed;
	overflow: hidden;
	z-index: 9999;
	color: #fff;
	bottom: 10px;
	opacity: 0;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}
.sub_scroll_down.active {
	opacity: 1;
}

/* scrolldown アニメーション設定 */
.arrowWrap {
	position: absolute;
	right: 0;
	bottom: 0;
	height: 200px
}
.arrowInner p {
	font-size: 12px;
	text-align: end;
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
}
.arrow {
	width: 1px;
	height: 100px;
	margin: 50px auto 0;
	background-color: transparent;
	position: relative;
	overflow: hidden;
}
.arrow::before {
	content: '';
	width: 1px;
	height: 100px;
	margin: 50px auto 0;
	background-color: #fff;
	position: absolute;
	top: -150px;
	left: 0;
	-webkit-animation: arrow 2.5s ease 0s infinite normal;
	animation: arrow 2.5s ease 0s infinite normal;
}

@keyframes arrow {
	0% {
		-webkit-transform: translate3d(-50%, 0, 0);
		transform: translate3d(-50%, 0, 0);
	}
	60% {
		-webkit-transform: translate3d(-50%, 100px, 0);
		transform: translate3d(-50%, 100px, 0);
	}
	100% {
		-webkit-transform: translate3d(-50%, 100px, 0);
		transform: translate3d(-50%, 100px, 0);
	}
}


.overview {
	opacity: 0;
}

#loading {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: #fff;
  z-index: 102;
}

#loading .inner {
  position: absolute;
  width: 100%;
  height: 5px;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  background-color: #fff;
}

#loading .inner .progress {
  width: 0%;
  opacity: 1 !important;
  height: 5px;
  background-color: #e4007f;
}

.no-js #loading {
  display: none;
}

@-webkit-keyframes background_glow {
  0% {
    opacity: 0
  }
  100% {
    opacity: 1
  }
}

@-moz-keyframes background_glow {
  0% {
    opacity: 0
  }
  100% {
    opacity: 1
  }
}

@keyframes background_glow {
  0% {
    opacity: 0
  }
  100% {
    opacity: 1
  }
}