@charset "utf-8";
@media (min-width: 1025px) {
/*==================================
head_topics
==================================*/
.head_topics {
	background-color: #333;
	height: 40px;
}
.head_topics .inner {
	height: 40px;
}
.head_topics .ticker {
	text-align: left;
	position: relative;
	overflow: hidden;
	height: 40px !important;
}
.head_topics .ticker ul {
	width: 100%;
	position: relative;
}
.head_topics .ticker ul li {
	width: 100%;
	display: none;
	padding: 7px 0 0;
}
.head_topics .topi_text a {
	color: #fff;
}
.head_topics .topi_text a:hover {
	color: #fff;
	text-decoration: none;
}
/*==================================
mv
==================================*/
.mainvisual {
	background-image: url(../../images/mv_bgcover.png), url(../../images/mv_bg.jpg);
	background-position: top, center;
	background-repeat: repeat, no-repeat;
	background-size: auto, cover;
	height: 600px;
	padding: 30px 0 0;
	margin-bottom: 1px;
}
.mainvisual .mv {
	width: 1020px;
	margin: 0 auto;
}
.mainvisual .mv li img {
	width: 100%;
}
.mainvisual .mv .slick-list {
	box-shadow: 0 0 20px rgba(0, 0, 0, .5);
}
/*==================================
NAVI
==================================*/
.navicate {
	padding: 60px 0;
	background-color: #333;
	background-image: url(../../images/mv_bgcover.png);
	background-position: top, center;
	background-repeat: repeat;
	box-shadow: 0 3px 2px 0 rgba(0, 0, 0, .2);
}
.navicate .inner {
	width: 90% !important;
	min-width: 1020px;
	margin: 0 auto;
}
.navicate .col3 {
	clear: both;
	overflow: hidden;
}
.navicate .col3 li {
	float: left;
	width: 25%;
	color: #fff;
}
.navicate .col3 li figure {
	width: 100%;
	height: 100%;
	margin: 0 auto;
	position: relative;
	overflow: hidden;
	background: #000;
}
.navicate .col3 li figure:after {
	position: absolute;
	background: #fff;
	content: "";
	display: block;
	width: 80%;
	height: 1px;
	left: 10%;
	top: 50%;
	/*transform: scale(0);*/
	transition: all .6s ease-out;
}
.navicate .col3 li figure:hover:after {
	/*transform: scale(1);*/
}
.navicate .col3 li figcaption h2 {
	position: absolute;
	text-align: center;
	width: 100%;
	/*opacity: 0;*/
	transition: all .3s ease-out .3s;
}
.navicate .col3 li figcaption p {
	position: absolute;
	text-align: center;
	/*opacity: 0;*/
	transition: all .3s ease-out .3s;
}
.navicate .col3 li figcaption h2.navi_ttl {
	font-size: 20px;
	font-size: 2.0rem;
	line-height: 1.3;
	top: 30%;
	/*transform: translateY(-30px);*/
}
.navicate .col3 li figcaption p {
	font-size: 15px;
	font-size: 1.5rem;
}
.navicate .col3 li figcaption p.link01 {
	top: 55%;
	/*transform: translateY(30px);*/
}
.navicate .col3 li figcaption p.link02 {
	top: 67%;
	/*transform: translateY(30px);*/
}
.navicate .col3 li figcaption p.link03 {
	top: 79%;
	/*transform: translateY(30px);*/
}
.navicate .col3 li figure:hover figcaption p, .navicate .col3 li figure:hover figcaption h2 {
	opacity: 1;
	transform: translateY(0);
}
.navicate .col3 li figure img {
	/*transition: all 1.2s ease-out;*/
	width: 100%;
	opacity: .7;
}
.navicate .col3 li figure:hover img {
	/*opacity: .3;
	transform: scale(1.3);*/
}
.navicate .navi_btn {
	text-align: center;
}
.navicate .detail_btn {
	width: 100%;
}
.navicate .detail_btn:last-child {
	margin-right: 0;
}
.navicate .detail_btn a {
	padding: 5px 0 0;
	font-weight: bold;
	color: #fff;
	text-align: center;
	display: block;
	line-height: 1;
	text-decoration: none;
	transition: all 0.5s ease 0s;
}
.navicate .half_btn a {
	display: inline-block;
  margin: 0 15px;
}
 .half_btn:hover .arrow_r_white::before {
  margin-left: 10px;
  transition: all 0.7s ease 0s;
}
  .half_btn a:hover .arrow_r_white::before {
  margin-left: 15px;
  transition: all 0.7s ease 0s;
}
/*==================================
EVENT SCHEDULE
==================================*/
.bg_gray {
	background-color: #f7f7f7;
	padding: 40px 0 0;
}
.eventcate {
	margin: 1px 0 0;
	padding: 10px;
	background-color: #333;
	color: #fff;
}
.eventcate a {
	color: #fff;
}
.eventcate .wrap_inner {
	padding: 40px;
	border: solid 1px #7c7c7c;
}
.eventcate .event_ttl {
	font-size: 30px;
	font-size: 3.0rem;
	line-height: 1.3;
	margin-bottom: 20px;
	text-align: center;
}
.eventcate .event_ttl span {
	font-size: 12px;
	font-size: 1.2rem;
	display: block;
}
.eventcate .select_btn {
	text-align: center;
	margin: 0 0 20px;
}
.eventcate .select_btn li {
	display: inline-block;
	vertical-align: top;
	margin: 0 30px 0 0;
}
.eventcate .select_btn li:last-child {
	margin-right: 0;
}
input[type=radio], .radio_input {
	display: none;
}
.radio_parts {
	padding-left: 20px;
	position: relative;
}
.radio_parts::before {
	content: "";
	display: block;
	position: absolute;
	top: 2px;
	left: 0;
	width: 15px;
	height: 15px;
	border: 1px solid #999;
	border-radius: 50%;
}
.radio_input:checked + .radio_parts {
	color: #fff;
	font-weight: bold;
}
.radio_input:checked + .radio_parts::after {
	content: "";
	display: block;
	position: absolute;
	top: 5px;
	left: 3px;
	width: 9px;
	height: 9px;
	background: #fff;
	border-radius: 50%;
}
.date {
	overflow: hidden;
}
.hide {
	display: none;
}
.eventcate .date {
	clear: both;
	overflow: hidden;
	width: 90%;
	margin: 0 auto 15px;
}
.eventcate .date li {
	position: relative;
	float: left;
	width: 117px;
	margin: 0 1px 10px 0;
	text-align: center;
	display: block;
	background-color: #fff;
	color: #0d223f;
	padding: 8px 0;
	transition: all 0.5s ease 0s;
}
.eventcate .date li:last-child {
	margin-right: 0;
}
.eventcate .date li.select::after {
	content: "";
	height: 0;
	position: absolute;
	width: 0;
	border: 10px solid transparent;
	border-top-color: #be1c10;
	top: 100%;
	left: 50%;
	margin-left: -10px;
}
.eventcate .date li:hover, .eventcate .date li.select {
	background-color: #be1c10;
	color: #fff;
	text-decoration: none;
}
.eventcate .date li span {
	display: block;
	line-height: 1;
}
.eventcate .date li em {
	font-size: 25px;
	font-size: 2.5rem;
}
.eventcate .info_area {
	width: 90%;
	margin: 0 auto;
	max-height: 300px;
	overflow: auto;	
}
.eventcate dl {
	clear: both;
	overflow: hidden;
	margin: 10px 0 20px;
	padding: 0 20px 20px;
	border-bottom: dotted 1px #fff;
}
.eventcate dl dt {
	float: left;
	width: 205px;
	margin-right: 20px;
}
.eventcate dl dt span {
	width: 140px;
	font-size: 12px;
	font-size: 1.2rem;
	line-height: 1.2;
	font-weight: bold;
	text-align: center;
	color: #fff;
	padding: 5px 10px;
	display: inline-block;
	border: solid 1px #fff;
	border-radius: 3px;
}
.eventcate dl dt em {
	width: 50px;
	display: inline-block;
	font-weight: bold;
	margin-right: 10px;
}
.eventcate dl dd {
	float: left;
	width: 530px;
}
.eventcate .detail_btn {
	width: 250px;
	margin: 40px auto 0;
}
.eventcate .detail_btn a {
	border: solid 1px #fff;
	padding: 5px 0;
	font-weight: bold;
	color: #fff;
	text-align: center;
	display: block;
	line-height: 50px;
	text-decoration: none;
	transition: all 0.5s ease 0s;
}
/*==================================
BNR
==================================*/
.bnr div {
	margin: 40px 0;
}
  
/*==================================
bannercate
==================================*/
  .bannercate img{
    width: 100%;
    max-width: 1020px;
  }
  .bannercate .flex_col_2 {
    display: flex;
    justify-content: space-between;
    margin-top: 20px;
  }
  .bannercate .flex_col_2 a {
    width: 49%;
  }
/*==================================
HUBALE
==================================*/
.hubalecate {
	padding: 40px 0;
	position: relative;
}
.hubalecate .copy {
	position: absolute;
	bottom: 70px;
	left: 50px;
	color: #fff;
}
.hubalecate .copy .hubale_ttl {
	font-size: 30px;
	font-size: 3.0rem;
	line-height: 1.3;
	margin-bottom: 10px;
}
.hubalecate .copy .hubale_ttl span {
	font-size: 12px;
	font-size: 1.2rem;
	display: block;
}
.stage {
	height: 350px;
	overflow: hidden;
	position: relative;
}
.poster {
	bottom: 0;
	display: block;
	left: 0;
	margin: auto;
	position: absolute;
	right: 0;
	top: 0;
	width: 100%;
	z-index: 1;
}
.on > .poster {
	display: none;
}
/*==================================
MOVIE
==================================*/
.moviecate {
	background-color: #0d223f;
	color: #fff;
}
.moviecate .inner {
	display: table;
}
.moviecate .movie_ttl {
	font-size: 30px;
	font-size: 3.0rem;
	margin-bottom: 20px;
}
.moviecate .movie_text {
	width: 34.364261168%;
	height: 430px;
	padding: 0 20px 0 0;
	display: table-cell;
	vertical-align: middle;
}
.moviecate iframe {
	height: 430px;
}
/*==================================
INFORMATION
==================================*/
.infocate {
	margin: 1px 0 0;
}
.infocate .info_area {
	width: 100%;
	clear: both;
	overflow: hidden;
}
.infocate .topics, .infocate .shop_topics {
	float: left;
	width: 50%;
	padding: 3% 0;
}
.infocate .inner {
	width: 510px !important;
}
.infocate .topics .inner {
	float: right;
	padding: 0 50px 0 0;
}
.infocate .shop_topics .inner {
	float: left;
	padding: 0 0 0 50px;
}
.infocate .topics {
	background-color: #333;
}
.infocate .shop_topics {
	background-color: #ededed;
}
.infocate .info_ttl {
	font-size: 30px;
	font-size: 3.0rem;
	margin-bottom: 20px;
}
.infocate .topics .info_ttl {
	color: #fff;
}
.infocate .shop_topics .info_ttl {
	color: #0d223f;
}
.infocate dl.detail {
	height: 380px;
	overflow: auto;
}
.infocate .topics dl.detail, .infocate .topics dl.detail a {
	color: #fff;
}
.infocate dl.detail dd {
	margin: 10px 0 20px;
	padding: 0 0 20px;
	border-bottom: dotted 1px #0d223f;
}
.infocate .topics dl.detail dd {
	border-bottom: dotted 1px #fff;
}
.infocate .detail_btn {
	width: 250px;
	margin: 40px auto 0;
}
.infocate .topics .detail_btn a {
	border: solid 1px #fff;
	padding: 5px 0;
	font-weight: bold;
	color: #fff;
	text-align: center;
	display: block;
	line-height: 50px;
	text-decoration: none;
	transition: all 0.5s ease 0s;
}
.infocate .shop_topics .detail_btn a {
	border: solid 1px #0d223f;
	padding: 5px 0;
	font-weight: bold;
	color: #0d223f;
	text-align: center;
	display: block;
	line-height: 50px;
	text-decoration: none;
	transition: all 0.5s ease 0s;
}
/*==================================
INSTAGRAM
==================================*/
.instagramcate {
	margin: 60px 0 0;
}
.instagramcate .inner {
	position: relative;
}
.instagramcate .insta_ttl {
	font-size: 22px;
	font-size: 2.2rem;
	margin-bottom: 10px;
	line-height: 2;
	text-align: center;
}
.instagramcate .follow_btn {
	position: absolute;
	top: 5px;
	right: 0;
}
.instagramcate .follow_btn a {
	display: block;
	padding: 5px 30px 0;
	border: solid 1px #eaeaea;
	border-radius: 15px;
	height: 30px;
	transition: all 0.5s ease 0s;
}
.instagramcate .follow_btn a:hover {
	text-decoration: none;
	background-color: #0d223f;
	color: #fff;
}
.instagramcate .photo_wrap {
	background-color: #0d223f;
	text-align: center;
}
.instagramcate .photo_wrap .inner {
	width: 94% !important;
	margin: 0 auto;
	padding: 3% 0;
	clear: both;
	overflow: hidden;	
}
.instagramcate .photo_wrap:before {
	content: "";
	display: block;
	height: 10px;
	width: 100%;
	background: -webkit-gradient(linear, left top, right bottom, from(#f4ba56), to(#8b4dbc));
	background: -moz-linear-gradient(left, #f4ba56, #8b4dbc);
	background: linear-gradient(left, #f4ba56, #8b4dbc);
}
.instagramcate .photo_wrap .inner div {
	float: left;
	width: 16.666%;
	height: 16vw;
}
.instagramcate .photo_wrap .inner div:nth-child(6n) {
	padding-right: 0;
}
.instagramcate .photo_wrap figure {
	width: 100%;
	margin: 0;
	padding: 0;
	overflow: hidden;
}
.instagramcate .photo_wrap a:hover img {
	-webkit-transform: scale(1.1);
	transform: scale(1.1);
}
.instagramcate .photo_wrap img {
	width: 100%;
	height: 16vw;
	object-fit: cover;
	object-position: 0 0;
}
/*==================================
SNS
==================================*/
.snscate {
	clear: both;
	overflow: hidden;
	margin: 60px 0 0;
}
.snscate .facebookcate {
	position: relative;
	float: left;
	width: 490px;
	margin-right: 40px;
}
.snscate .facebookcate .facebook_ttl {
	font-size: 22px;
	font-size: 2.2rem;
	padding-bottom: 10px;
	border-bottom: solid 10px #4b68b9;
}
.snscate .facebookcate .fb_wrap {
	max-width: 450px;
	height: 400px;
	margin: 0 auto;
}
.snscate .facebookcate .fb_wrap > .fb-page {
	width: 100%;
}
.snscate .facebookcate .fb_wrap > .fb-page > span, .snscate .facebookcate .fb_wrap iframe {
	width: 100% !important;
}
.snscate .twittercate {
	position: relative;
	float: left;
	width: 490px;
}
.snscate .twittercate .twitter_ttl {
	font-size: 22px;
	font-size: 2.2rem;
	padding-bottom: 10px;
	border-bottom: solid 10px #29c1ce;
}
.snscate .follow_btn {
	position: absolute;
	top: 0;
	right: 0;
}
.snscate .follow_btn a {
	display: block;
	padding: 5px 30px 0;
	border: solid 1px #eaeaea;
	border-radius: 15px;
	height: 30px;
	transition: all 0.5s ease 0s;
}
.snscate .follow_btn a:hover {
	text-decoration: none;
	background-color: #0d223f;
	color: #fff;
}
.sns_inner {
	border: solid 1px #eaeaea;
	padding: 20px;
}
/*==================================
ABOUT
==================================*/
.aboutcate {
	margin: 80px 0 0;
}
.aboutcate ul.col4 li {
	float: left;
	width: 240px;
	margin: 0 20px 20px 0;
}
.aboutcate ul.col4 li:nth-child(4n) {
	margin-right: 0;
}
.aboutcate ul.col4 li img {
	width: 240px;
}
/*==================================
見出し
==================================*/
.h5ttl {
	font-size: 20px;
	font-size: 2.0rem;
}
}
@media (min-width: 601px) and (max-width: 1024px) {
/*==================================
head_topics
==================================*/
.head_topics {
	display: none;
}
/*==================================
mv
==================================*/
.mainvisual {
	background-image: url(../../images/mv_bgcover.png), url(../../images/mv_bg.jpg);
	background-position: top, center;
	background-repeat: repeat, no-repeat;
	background-size: auto, cover;
	padding: 4%;
	margin-bottom: 1px;
}
.mainvisual .mv .slick-list {
	box-shadow: 0 0 10px rgba(0, 0, 0, .5);
}
.mainvisual .slick-dots {
	display: none !important;
}
.mainvisual .slick-dotted.slick-slider {
	padding-bottom: 0 !important;
}
/*==================================
NAVI
==================================*/
.navicate {
	box-shadow: 0 3px 2px 0 rgba(0, 0, 0, .2);
}
.navicate .inner {
	width: 100% !important;
}
.navicate .col3 {
	clear: both;
	overflow: hidden;
	background: #000;
}
.navicate .col3 li {
	float: left;
	width: 33.33%;
	color: #fff;
}
.navicate .col3 li figure {
	margin: 0 auto;
}
.navicate .col3 li figcaption {
	padding: 5% 0;
}
.navicate .col3 li figcaption h2 {
	text-align: center;
	width: 100%;
}
.navicate .col3 li figcaption p {
	text-align: center;
}
.navicate .col3 li figcaption h2.navi_ttl {
	font-size: 18px;
	font-size: 1.8rem;
	line-height: 1.3;
	border-bottom: solid 1px #fff;
	width: 90%;
	margin: 0 auto 3%;
	padding-bottom: 3%;
}
.navicate .col3 li figure img {
	width: 100%;
}
.navicate .navi_btn {
	text-align: center;
}
.navicate .detail_btn {
	width: 100%;
}
.navicate .detail_btn:last-child {
	margin-right: 0;
}
.navicate .detail_btn a {
	padding: 5px 0;
	font-weight: bold;
	color: #fff;
	text-align: center;
	display: block;
	line-height: 2;
	text-decoration: none;
	transition: all 0.5s ease 0s;
	-webkit-tap-highlight-color: rgba(255,255,255,.3);
}
 .half_btn:hover .arrow_r_white::before {
  margin-left: 10px;
  transition: all 0.7s ease 0s;
}
  .half_btn a:hover .arrow_r_white::before {
  margin-left: 20px;
  transition: all 0.7s ease 0s;
}
/*==================================
EVENT SCHEDULE
==================================*/
.bg_gray {
	background-color: #f7f7f7;
	padding: 3% 0 0;
}
.eventcate {
	padding: 10px;
	background-color: #333;
	color: #fff;
}
.eventcate a {
	color: #fff;
}
.eventcate .wrap_inner {
	padding: 5% 4%;
	border: solid 1px #7c7c7c;
}
.eventcate .event_ttl {
	font-size: 30px;
	font-size: 3.0rem;
	line-height: 1.3;
	margin-bottom: 20px;
	text-align: center;
}
.eventcate .event_ttl span {
	font-size: 12px;
	font-size: 1.2rem;
	display: block;
}
.eventcate .select_btn {
	text-align: center;
	margin: 0 0 20px;
}
.eventcate .select_btn li {
	display: inline-block;
	vertical-align: top;
	margin: 0 30px 0 0;
}
.eventcate .select_btn li:last-child {
	margin-right: 0;
}
input[type=radio], .radio_input {
	display: none;
}
.radio_parts {
	padding-left: 20px;
	position: relative;
}
.radio_parts::before {
	content: "";
	display: block;
	position: absolute;
	top: 2px;
	left: 0;
	width: 15px;
	height: 15px;
	border: 1px solid #999;
	border-radius: 50%;
}
.radio_input:checked + .radio_parts {
	color: #fff;
	font-weight: bold;
}
.radio_input:checked + .radio_parts::after {
	content: "";
	display: block;
	position: absolute;
	top: 5px;
	left: 3px;
	width: 9px;
	height: 9px;
	background: #fff;
	border-radius: 50%;
}
.date {
	overflow: hidden;
}
.hide {
	display: none;
}
.eventcate .date {
	clear: both;
	overflow: hidden;
	margin: 0 auto;
}
.eventcate .date li {
	position: relative;
	float: left;
	width: 14%;
	margin: 0 1px 2% 0;
	text-align: center;
	display: block;
	background-color: #fff;
	color: #0d223f;
	padding: 8px 0;
	transition: all 0.5s ease 0s;
}
.eventcate .date li:last-child {
	margin-right: 0;
}
.eventcate .date li.select::after {
	content: "";
	height: 0;
	position: absolute;
	width: 0;
	border: 10px solid transparent;
	border-top-color: #be1c10;
	top: 100%;
	left: 50%;
	margin-left: -10px;
}
.eventcate .date li:hover, .eventcate .date li.select {
	background-color: #be1c10;
	color: #fff;
	text-decoration: none;
}
.eventcate .date li span {
	display: block;
	line-height: 1;
}
.eventcate .date li em {
	font-size: 25px;
	font-size: 2.5rem;
}
.eventcate .info_area {
	max-height: 300px;
	overflow: auto;	
}
.eventcate dl {
	clear: both;
	overflow: hidden;
	margin: 3% 0 2%;
	padding: 0  0 2% 3%;
	border-bottom: dotted 1px #fff;
}
.eventcate dl dt {
	margin-bottom: 10px;
}
.eventcate dl dt span {
	font-size: 12px;
	font-size: 1.2rem;
	line-height: 1;
	font-weight: bold;
	text-align: center;
	color: #fff;
	padding: 5px 10px;
	display: inline-block;
	border: solid 1px #fff;
	border-radius: 3px;	
}
.eventcate dl dt em {
	width: 50px;
	display: inline-block;
	font-weight: bold;
	margin-right: 10px;
}
.eventcate .detail_btn {
	width: 250px;
	margin: 40px auto 0;
}
.eventcate .detail_btn a {
	border: solid 1px #fff;
	padding: 5px 0;
	font-weight: bold;
	color: #fff;
	text-align: center;
	display: block;
	line-height: 50px;
	text-decoration: none;
	transition: all 0.5s ease 0s;
}
/*==================================
BNR
==================================*/
.bnr div {
	margin: 5% 0;
}
/*==================================
bannercate
==================================*/
  .bannercate .flex_col_2 {
    display: flex;
    justify-content: space-between;
    margin-top: 20px;
  }
  .bannercate .flex_col_2 a {
    width: 49%;
  }
/*==================================
HUBALE
==================================*/
.hubalecate {
	padding: 3% 0;
	position: relative;
}
.hubalecate .copy {
	position: absolute;
	bottom: 70px;
	left: 50px;
	color: #fff;
}
.hubalecate .copy .hubale_ttl {
	font-size: 30px;
	font-size: 3.0rem;
	line-height: 1.3;
	margin-bottom: 10px;
}
.hubalecate .copy .hubale_ttl span {
	font-size: 12px;
	font-size: 1.2rem;
	display: block;
}
.stage {
	height: 350px;
	overflow: hidden;
	position: relative;
}
.poster {
	bottom: 0;
	display: block;
	left: 0;
	margin: auto;
	position: absolute;
	right: 0;
	top: 0;
	width: 100%;
	z-index: 1;
}
.on > .poster {
	display: none;
}
/*==================================
MOVIE
==================================*/
.moviecate {
	background-color: #0d223f;
	color: #fff;
}
.moviecate .inner {
	display: table;
}
.moviecate .movie_ttl {
	font-size: 28px;
	font-size: 2.8rem;
	margin-bottom: 3%;
}
.moviecate .movie_text {
	width: 34.364261168%;
	height: 430px;
	padding: 0 20px 0 0;
	display: table-cell;
	vertical-align: middle;
}
.moviecate iframe {
	height: 430px;
}
/*==================================
INFORMATION
==================================*/
.infocate {
	margin: 1px 0 0;
}
.infocate .topics, .infocate .shop_topics {
	padding: 8% 2% 8% 4%;
}
.infocate .topics {
	background-color: #333;
}
.infocate .shop_topics {
	background-color: #ededed;
}
.infocate .info_ttl {
	font-size: 25px;
	font-size: 2.5rem;
	margin-bottom: 20px;
}
.infocate .topics .info_ttl {
	color: #fff;
}
.infocate .shop_topics .info_ttl {
	color: #0d223f;
}
.infocate dl.detail {
	height: 300px;
	overflow: auto;
}
.infocate .topics dl.detail, .infocate .topics dl.detail a {
	color: #fff;
}
.infocate dl.detail dt {
	margin: 0 0 2%;
}
.infocate dl.detail dd {
	margin: 0 0 2%;
	padding: 0  0 2%;
	border-bottom: dotted 1px #0d223f;
}
.infocate .topics dl.detail dd {
	border-bottom: dotted 1px #fff;
}
.infocate .detail_btn {
	width: 90%;
	margin: 7% auto 0;
}
.infocate .topics .detail_btn a {
	border: solid 1px #fff;
	padding: 5px 0;
	font-weight: bold;
	color: #fff;
	text-align: center;
	display: block;
	line-height: 50px;
	text-decoration: none;
	transition: all 0.5s ease 0s;
}
.infocate .shop_topics .detail_btn a {
	border: solid 1px #0d223f;
	padding: 5px 0;
	font-weight: bold;
	color: #0d223f;
	text-align: center;
	display: block;
	line-height: 50px;
	text-decoration: none;
	transition: all 0.5s ease 0s;
}
/*==================================
INSTAGRAM
==================================*/
.instagramcate {
	margin: 60px 0 0;
}
.instagramcate .inner {
	position: relative;
}
.instagramcate .insta_ttl {
	font-size: 22px;
	font-size: 2.2rem;
	margin-bottom: 10px;
	line-height: 2;
	text-align: center;
}
.instagramcate .follow_btn {
	position: absolute;
	top: 5px;
	right: 0;
}
.instagramcate .follow_btn a {
	display: block;
	padding: 5px 30px 0;
	border: solid 1px #eaeaea;
	border-radius: 15px;
	height: 30px;
	transition: all 0.5s ease 0s;
}
.instagramcate .follow_btn a:hover {
	text-decoration: none;
	background-color: #0d223f;
	color: #fff;
}
.instagramcate .photo_wrap {
	background-color: #0d223f;
	clear: both;
	overflow: hidden;
}
.instagramcate .photo_wrap .inner {
	width: 94% !important;
	margin: 0 auto;
	padding: 3% 0;	
	clear: both;
	overflow: hidden;
}
.instagramcate .photo_wrap:before {
	content: "";
	display: block;
	height: 10px;
	width: 100%;
	background: -webkit-gradient(linear, left top, right bottom, from(#f4ba56), to(#8b4dbc));
	background: -moz-linear-gradient(left, #f4ba56, #8b4dbc);
	background: linear-gradient(left, #f4ba56, #8b4dbc);
}
.instagramcate .photo_wrap .inner div {
	float: left;
	width: 25%;
	height: 25vw;
}
.instagramcate .photo_wrap .inner div:nth-child(4n) {
	padding-right: 0;
}
.instagramcate .photo_wrap figure {
	width: 100%;
	margin: 0;
	padding: 0;
	overflow: hidden;
}
.instagramcate .photo_wrap a:hover img {
	-webkit-transform: scale(1.1);
	transform: scale(1.1);
}
.instagramcate .photo_wrap img {
	width: 100%;
	height: 25vw;
	object-fit: cover;
	object-position: 0 0;
}
/*==================================
SNS
==================================*/
.snscate {
	clear: both;
	overflow: hidden;
	margin: 60px 0 0;
}
.snscate .facebookcate {
	position: relative;
	float: left;
	width: 48%;
	margin-right: 4%;
}
.snscate .facebookcate .facebook_ttl {
	font-size: 22px;
	font-size: 2.2rem;
	padding-bottom: 10px;
	border-bottom: solid 10px #4b68b9;
}
.snscate .facebookcate iframe {
	width: 100% !important;
}
.snscate .twittercate {
	position: relative;
	float: left;
	width: 48%;
}
.snscate .twittercate .twitter_ttl {
	font-size: 22px;
	font-size: 2.2rem;
	padding-bottom: 10px;
	border-bottom: solid 10px #29c1ce;
}
.snscate .follow_btn {
	position: absolute;
	top: 0;
	right: 0;
}
.snscate .follow_btn a {
	display: block;
	padding: 5px 15px 0;
	border: solid 1px #eaeaea;
	border-radius: 15px;
	height: 30px;
	transition: all 0.5s ease 0s;
}
.snscate .follow_btn a:hover {
	text-decoration: none;
	background-color: #0d223f;
	color: #fff;
}
.sns_inner {
	border: solid 1px #eaeaea;
	padding: 20px;
}
/*==================================
ABOUT
==================================*/
.aboutcate {
	margin: 60px 0 0;
}
.aboutcate ul.col4 li {
	float: left;
	width: 48%;
	margin: 0 4% 4% 0;
}
.aboutcate ul.col4 li:nth-child(2n) {
	margin-right: 0;
}
.aboutcate ul.col4 li:nth-last-child(-n+2) {
	margin-bottom: 0;
}
/*==================================
見出し
==================================*/
.h5ttl {
	font-size: 20px;
	font-size: 2.0rem;
}
}
@media (max-width: 600px) {
/*==================================
head_topics
==================================*/
.head_topics {
	display: none;
}
/*==================================
mv
==================================*/
.mainvisual {
	background-image: url(../../images/mv_bgcover.png), url(../../images/mv_bg.jpg);
	background-position: top, center;
	background-repeat: repeat, no-repeat;
	background-size: auto, cover;
	padding: 4%;
	margin-bottom: 1px;
}
.mainvisual .mv .slick-list {
	box-shadow: 0 0 10px rgba(0, 0, 0, .5);
}
.mainvisual .slick-dots {
	display: none !important;
}
.mainvisual .slick-dotted.slick-slider {
	padding-bottom: 0 !important;
}
.slick-prev, .slick-next {
	width: 20px;
	height: 20px;
}
.slick-prev:before, .slick-next:before {
	font-size: 20px;
}
.slick-prev {
	left: 5px;
	z-index: 1;
}
.slick-next {
	right: 5px;
}
/*==================================
NAVI
==================================*/
.navicate {
	box-shadow: 0 3px 2px 0 rgba(0, 0, 0, .2);
}
.navicate .inner {
	width: 100% !important;
}
.navicate .col3 {
	clear: both;
	overflow: hidden;
	background: #000;
}
.navicate .col3 li {
	float: left;
	width: 50%;
	color: #fff;
}
.navicate .col3 li figure {
	margin: 0 auto;
}
.navicate .col3 li figcaption {
	padding: 5% 0;
}
.navicate .col3 li figcaption h2 {
	text-align: center;
	width: 100%;
}
.navicate .col3 li figcaption p {
	text-align: center;
}
.navicate .col3 li figcaption h2.navi_ttl {
	font-size: 18px;
	font-size: 1.8rem;
	line-height: 1.3;
	border-bottom: solid 1px #fff;
	width: 90%;
	margin: 0 auto 3%;
	padding-bottom: 3%;
}
.navicate .col3 li figure img {
	width: 100%;
}
.navicate .navi_btn {
	text-align: center;
}
.navicate .detail_btn {
	width: 100%;
}
.navicate .detail_btn:last-child {
	margin-right: 0;
}
.navicate .detail_btn a {
	padding: 5px 0;
	font-weight: bold;
	color: #fff;
	text-align: center;
	display: block;
	line-height: 2;
	text-decoration: none;
	transition: all 0.5s ease 0s;
	-webkit-tap-highlight-color: rgba(255,255,255,.3);
}
 .half_btn:hover .arrow_r_white::before {
  margin-left: 10px;
  transition: all 0.7s ease 0s;
}
  .half_btn a:hover .arrow_r_white::before {
  margin-left: 20px;
  transition: all 0.7s ease 0s;
}
/*==================================
EVENT SCHEDULE
==================================*/
.bg_gray {
	background-color: #f7f7f7;
	padding: 3% 0 0;
}
.eventcate {
	padding: 10px;
	background-color: #333;
	color: #fff;
}
.eventcate a {
	color: #fff;
}
.eventcate .wrap_inner {
	padding: 5%;
	border: solid 1px #7c7c7c;
}
.eventcate .event_ttl {
	font-size: 22px;
	font-size: 2.2rem;
	line-height: 1.3;
	margin-bottom: 20px;
	text-align: center;
}
.eventcate .event_ttl span {
	font-size: 12px;
	font-size: 1.2rem;
	display: block;
}
.eventcate .select_btn {
	text-align: center;
	margin: 0 0 20px;
}
.eventcate .select_btn li {
	display: inline-block;
	vertical-align: top;
	margin: 0 15px 0 0;
}
.eventcate .select_btn li:last-child {
	margin-right: 0;
}
input[type=radio], .radio_input {
	display: none;
}
.radio_parts {
	padding-left: 20px;
	position: relative;
}
.radio_parts::before {
	content: "";
	display: block;
	position: absolute;
	top: 2px;
	left: 0;
	width: 15px;
	height: 15px;
	border: 1px solid #999;
	border-radius: 50%;
}
.radio_input:checked + .radio_parts {
	color: #fff;
	font-weight: bold;
}
.radio_input:checked + .radio_parts::after {
	content: "";
	display: block;
	position: absolute;
	top: 5px;
	left: 3px;
	width: 9px;
	height: 9px;
	background: #fff;
	border-radius: 50%;
}
.date {
	overflow: hidden;
}
.hide {
	display: none;
}
.eventcate .date {
	overflow-x: auto;
	white-space: nowrap;
	margin: 0 auto;
	font-size: 0;
}
.eventcate .date li {
	position: relative;
	display: inline-block;
	width: 27%;
	margin: 0 1px 4% 0;
	text-align: center;
	background-color: #fff;
	color: #0d223f;
	padding: 8px 0;
	transition: all 0.5s ease 0s;
}
.eventcate .date li:last-child {
	margin-right: 0;
}
.eventcate .date li.select::after {
	content: "";
	height: 0;
	position: absolute;
	width: 0;
	border: 10px solid transparent;
	border-top-color: #be1c10;
	top: 100%;
	left: 50%;
	margin-left: -10px;
}
.eventcate .date li:hover, .eventcate .date li.select {
	background-color: #be1c10;
	color: #fff;
	text-decoration: none;
}
.eventcate .date li span {
	display: block;
	font-size: 12px;
	font-size: 1.2rem;
	line-height: 1;
}
.eventcate .info_area {
	max-height: 300px;
	overflow: auto;	
}
.eventcate dl {
	clear: both;
	overflow: hidden;
	margin: 3% 0 5%;
	padding: 0  0 5% 5%;
	border-bottom: dotted 1px #fff;
}
.eventcate dl dt {
	margin-bottom: 10px;
}
.eventcate dl dt span {
	font-size: 12px;
	font-size: 1.2rem;
	line-height: 1;
	font-weight: bold;
	text-align: center;
	color: #fff;
	padding: 5px 10px;
	display: inline-block;
	border: solid 1px #fff;
	border-radius: 3px;	
}
.eventcate dl dt em {
	font-weight: bold;
	margin-right: 10px;
}
.eventcate .detail_btn {
	width: 90%;
	margin: 10% auto 0;
}
.eventcate .detail_btn a {
	border: solid 1px #fff;
	padding: 5px 0;
	font-weight: bold;
	color: #fff;
	text-align: center;
	display: block;
	line-height: 50px;
	text-decoration: none;
	transition: all 0.5s ease 0s;
}
/*==================================
BNR
==================================*/
.bnr div {
	margin: 5% 0;
}
/*==================================
bannercate
==================================*/
  .bannercate .flex_col_2 {
    display: block;
  }
  .bannercate .flex_col_2 a {
    width: 100%;
    display: block;
  }
  .bannercate .flex_col_2 a + a {
    margin-top: 3%;
  }
/*==================================
HUBALE
==================================*/
.hubalecate {
	padding: 3% 0;
	position: relative;
}
.hubalecate .copy {
	position: absolute;
	bottom: 25%;
	left: 5%;
	color: #fff;
}
.hubalecate .copy .hubale_ttl {
	font-size: 22px;
	font-size: 2.2rem;
	line-height: 1.3;
	margin-bottom: 5px;
}
.hubalecate .copy .hubale_ttl span {
	font-size: 12px;
	font-size: 1.2rem;
	display: block;
}
.stage {
	height: 350px;
	overflow: hidden;
	position: relative;
}
.poster {
	bottom: 0;
	display: block;
	left: 0;
	margin: auto;
	position: absolute;
	right: 0;
	top: 0;
	width: 100%;
	z-index: 1;
}
.on > .poster {
	display: none;
}
/*==================================
MOVIE
==================================*/
.moviecate {
	padding: 5% 0;
	background-color: #0d223f;
	color: #fff;
}
.moviecate .inner {
}
.moviecate .movie_ttl {
	font-size: 25px;
	font-size: 2.5rem;
	margin-bottom: 2%;
}
.moviecate .movie_text {
	width: 100%;
	margin-bottom: 5%;
}
/*==================================
INFORMATION
==================================*/
.infocate {
	margin: 1px 0 0;
}
.infocate .topics, .infocate .shop_topics {
	padding: 8% 2% 8% 4%;
}
.infocate .topics {
	background-color: #333;
}
.infocate .shop_topics {
	margin: 1px 0 0;
	background-color: #ededed;
}
.infocate .info_ttl {
	font-size: 22px;
	font-size: 2.2rem;
	margin-bottom: 20px;
}
.infocate .topics .info_ttl {
	color: #fff;
}
.infocate .shop_topics .info_ttl {
	color: #0d223f;
}
.infocate dl.detail {
	height: 300px;
	overflow: auto;
}
.infocate .topics dl.detail, .infocate .topics dl.detail a {
	color: #fff;
}
.infocate dl.detail dt {
	margin: 0 0 2%;
}
.infocate dl.detail dd {
	margin: 0 0 5%;
	padding: 0  0 5%;
	border-bottom: dotted 1px #0d223f;
}
.infocate .topics dl.detail dd {
	border-bottom: dotted 1px #fff;
}
.infocate .detail_btn {
	width: 90%;
	margin: 7% auto 0;
}
.infocate .topics .detail_btn a {
	border: solid 1px #fff;
	padding: 5px 0;
	font-weight: bold;
	color: #fff;
	text-align: center;
	display: block;
	line-height: 50px;
	text-decoration: none;
	transition: all 0.5s ease 0s;
}
.infocate .shop_topics .detail_btn a {
	border: solid 1px #0d223f;
	padding: 5px 0;
	font-weight: bold;
	color: #0d223f;
	text-align: center;
	display: block;
	line-height: 50px;
	text-decoration: none;
	transition: all 0.5s ease 0s;
}
/*==================================
INSTAGRAM
==================================*/
.instagramcate {
	margin: 10% 0 0;
}
.instagramcate .insta_ttl {
	font-size: 22px;
	font-size: 2.2rem;
	line-height: 2;
	text-align: center;
}
.instagramcate .follow_btn {
	width: 80%;
	margin: 0 auto 20px;
	text-align: center;
}
.instagramcate .follow_btn a {
	display: block;
	border: solid 1px #eaeaea;
	border-radius: 20px;
	height: 40px;
	line-height: 40px;
	transition: all 0.5s ease 0s;
}
.instagramcate .follow_btn a:hover {
	text-decoration: none;
	background-color: #0d223f;
	color: #fff;
}
.instagramcate .photo_wrap {
	background-color: #0d223f;
	clear: both;
	overflow: hidden;
}
.instagramcate .photo_wrap .inner {
	width: 90% !important;
	margin: 0 auto;
	padding: 5% 0;	
	clear: both;
	overflow: hidden;
}
.instagramcate .photo_wrap:before {
	content: "";
	display: block;
	height: 10px;
	width: 100%;
	background: -webkit-gradient(linear, left top, right bottom, from(#f4ba56), to(#8b4dbc));
	background: -moz-linear-gradient(left, #f4ba56, #8b4dbc);
	background: linear-gradient(left, #f4ba56, #8b4dbc);
}
.instagramcate .photo_wrap .inner div {
	float: left;
	width: 33.3333%;
	height: 33vw;
}
.instagramcate .photo_wrap .inner div:nth-child(3n) {
	padding-right: 0;
}
.instagramcate .photo_wrap figure {
	width: 100%;
	margin: 0;
	padding: 0;
	overflow: hidden;
}
.instagramcate .photo_wrap a:hover img {
	-webkit-transform: scale(1.1);
	transform: scale(1.1);
}
.instagramcate .photo_wrap img {
	width: 100%;
	height: 33vw;
	object-fit: cover;
	object-position: 0 0;
}
/*==================================
SNS
==================================*/
.snscate {
	margin: 10% 0 0;
}
.snscate .facebookcate {
	margin-bottom: 10%;
}
.snscate .facebookcate .facebook_ttl {
	font-size: 22px;
	font-size: 2.2rem;
	line-height: 2;
	text-align: center;
}
.snscate .facebookcate iframe {
	width: 100% !important;
}
.snscate .twittercate .twitter_ttl {
	font-size: 22px;
	font-size: 2.2rem;
	line-height: 2;
	text-align: center;
}
.snscate .follow_btn {
	width: 80%;
	margin: 0 auto 20px;
	text-align: center;
}
.snscate .follow_btn a {
	display: block;
	border: solid 1px #eaeaea;
	border-radius: 20px;
	height: 40px;
	line-height: 40px;
	transition: all 0.5s ease 0s;
}
.snscate .follow_btn a:hover {
	text-decoration: none;
	background-color: #0d223f;
	color: #fff;
}
.sns_inner {
	border: solid 1px #eaeaea;
	padding: 5%;
}
.snscate .facebookcate .sns_inner {
	border-top: solid 10px #4b68b9;
}
.snscate .twittercate .sns_inner {
	border-top: solid 10px #29c1ce;
}
.snscate ._2ph- {
	width: 100%;
}
/*==================================
ABOUT
==================================*/
.aboutcate {
	margin: 10% 0 0;
}
.aboutcate ul.col4 li {
	float: left;
	width: 48%;
	margin: 0 4% 4% 0;
}
.aboutcate ul.col4 li:nth-child(2n) {
	margin-right: 0;
}
.aboutcate ul.col4 li:nth-child(3), .aboutcate ul.col4 li:last-child {
	margin-bottom: 0;
}
/*==================================
見出し
==================================*/
.h5ttl {
	font-size: 18px;
	font-size: 1.8rem;
	line-height: 1.2;
}
}
/*==================================
共通
==================================*/
/*mv*/
.mv {
	display: none;
}
.mv.slick-initialized {
	display: block; /*slick-initializedが付与されたら表示*/
}
.slick-list {
	background-color: #000;
}
/*ABOUT*/
.aboutcate ul.col4 {
	clear: both;
	overflow: hidden;
	margin-top: 40px;
	font-size: 0;
}
.aboutcate ul.col4 li h6 {
	margin-top: 10px;
	font-size: 14px;
	font-size: 1.4rem;
	text-align: left;
	font-weight: normal;
}
.aboutcate img {
	-webkit-filter: grayscale(100%);
	-moz-filter: grayscale(100%);
	-o-filter: grayscale(100%);
	-ms-filter: grayscale(100%);
	filter: grayscale(100%);
	transition: 0.5s linear;
}
.aboutcate img:hover {
	-webkit-filter: grayscale(0%);
	-moz-filter: grayscale(0%);
	-o-filter: grayscale(0%);
	-ms-filter: grayscale(0%);
	filter: grayscale(0%);
}
.aboutcate a:hover img {
    opacity: 1 !important;
}
/*見出し*/
.h5ttl {
	line-height: 1.3;
	text-align: center;
	color: #0d223f;
}
.h5ttl span {
	font-weight: bold;
	display: block;
}
.h5ttl::after {
	border-bottom: solid 3px #0d223f;
	content: "";
	display: block;
	margin: 20px auto 0;
	width: 50px;
	text-align: center;
}