@charset "UTF-8";

/**======================================
	top
======================================**/

/*--------------------------------------
	common
---------------------------------------*/

.heading_top {
	margin-bottom: 25px;
	font-size: 3.0rem;
	font-family: 'Source Serif Pro', 'Roboto', "Noto Sans JP", sans-serif;
	font-weight: 400;
	letter-spacing: 0.06em;
	line-height: 1.0em;
	font-style: italic;
}

.area.top_area {
	position: relative;
	padding-bottom: 4em !important;
}

.area.top_area .box {
	margin-bottom: 1.0em ;
}

.area.top_area a {
	text-decoration: none;
	color: inherit;
}

.icon-angle-right::before {
	font-size: 1.2rem;
}

.morebtn_part {
	position: relative;
	margin-left: auto;
	margin-right: auto;
	width: 90%;
	max-width: 1400px;
}

.morebtn_part a.view_more {
	position: absolute;
	bottom: -20px;
	right: 0;
	display: inline-block;
}

.morebtn_part a.view_more:hover{	
	transform: translateX(10px);
}

.morebtn_part a.view_more span {
	font-family: 'Source Serif Pro', 'Roboto', sans-serif;
	font-size: 1.3rem;
	font-weight: 400;
	font-style: italic;
}

.morebtn_part a span i.icon-arrow_right::before {
	font-size: 4.0rem;
}

@media screen and (max-width: 599px) {
	
}

@media screen and (min-width: 600px) {

	.heading_top { 
		margin-bottom: 30px;
		font-size: 7.0rem;	
	}
	
	.area.top_area {
		padding-bottom: 80px !important;
	}

	.area.top_area .box {
		margin-bottom: 60px;
	}

	.morebtn_part a.view_more span {
		font-size: 1.3rem;
	}

	.morebtn_part a.view_more:hover{	
		transform: translateX(20px);
	}

	.morebtn_part a.view_more {
		bottom: -20px;
	}
	.morebtn_part a.view_more i.icon-arrow_right::before {
		font-size: 5.0rem;
	}
	
}

@media screen and (min-width: 960px) {

	.heading_top { 
		font-size: 3.5rem;
	}

}

/* slick */

.slick-prev,
.slick-next {
	display: inline-block;
	width: auto;
	height: auto;
	top: calc(50% - 60px);
}

.slick-prev {
	left: 80px;
	z-index: 2;
	transition: 0.3s;
}

.slick-next {
	right: 80px;
	z-index: 2;
	transition: 0.3s;
}

@media screen and (min-width: 960px) {	

	.slick-prev:hover {
		transform: translate(-20px, -80px);
	}

	.slick-next:hover {
		transform: translate(20px, -80px);
	}

}

.slick-prev::before,
.slick-next::before {
	position: relative;
	font-family: "icomoon";
	opacity: 1;
	color: #fff;
	font-size: 16.0rem;
	transition: 0.3s;
}

.slick-prev::before {
	content: "\e90e";
}
 
.slick-next::before {
	content: "\e90f";
}

.slick-prev:hover::before,
.slick-next:hover::before {
	transition: 0.3s;
	opacity: 1;
}

/*--------------------------------------
	promo
---------------------------------------*/

#promo_wrap {
	position: relative;
	margin-bottom: 0;
	overflow: hidden;
	z-index: 2;
}

#promo_wrap .promo_slider li.object_fit {
	margin-bottom: 0;
}

#promo_wrap .promo_slider li:not(:first-child) {
	opacity: 0;
}

@media screen and (max-width: 599px) {

	#promo_wrap ul.promo_slider .object_fit::before {
		padding-top: calc( 100vh - 90px );
	}
	
}

@media screen and (min-width: 600px) {

	#promo_wrap ul.promo_slider .object_fit::before {
		padding-top: 500px;
	}
	
}

@media screen and (min-width: 960px) {

	#promo_wrap {
		margin-top: 0px;
	}

	#promo_wrap ul.promo_slider .object_fit::before {
		padding-top: 100vh;
	}
	
}

#promo_wrap .scroll {
	font-weight: 500;
	text-align: center;
	opacity: 1;
	transition: all 1.5s ease 2.3s;
	-webkit-transition: all 1.5s ease 2.3s;
	width: 6%;
	position: absolute;
	bottom: 0;
	z-index: 99;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}

#promo_wrap .scroll p {
	transform: rotate(90deg);
	-webkit-transform: rotate(90deg);
	position: relative;
	bottom: 30px;
	display: inline-block;
	font-size: 20px;
	font-weight: 600;
	font-family: 'Source Serif Pro', "Roboto", sans-serif;
	color: #fff;
}

#promo_wrap .scroll .icon {
	position: relative;
	width: 24px;
	padding: 182px 0 0;
	margin: 0 auto;
}

#promo_wrap .scroll .line {
	  position: absolute;
	  top: 0;
	  left: 0;
	  right: 0;
	  margin: auto;
	  width: 5px;
	  height: 100%;
	  overflow: hidden;
}

#promo_wrap .scroll .line > span {
	  display: block;
	  width: 5px;
	  margin: auto;
	  height: 112px;
	  background: #fff;
	  -webkit-animation: move-y 2.0s infinite ease-in-out;
	  animation: move-y 2.0s infinite ease-in-out;
}

@keyframes move-y {
  from {
    transform: translateY(-182px);
  }
  to {
    transform: translateY(182px);
  }
}

/* top_promovideo */

.top_promovideo {
	position: relative;
	overflow: hidden;
	height: calc(100vh - 120px);
	background: #333;
}

.top_promovideo video {
	position: absolute;
	display: block;
	padding-top: 0;
	min-width: 100%;
	min-height: calc(100vh - 120px);
	top: 50%;
	left: 50%;
	-webkit-transform: translateX(-50%) translateY(-50%);
	-ms-transform: translateX(-50%) translateY(-50%);
	transform: translateX(-50%) translateY(-50%);
}

/*--------------------------------------
	top_contents
---------------------------------------*/

/* background */

#backgroundcolor .top_area:nth-child(odd) {
	background: var(--sub_color);
}

/* top_importantnews */

#top_importantnews_area {
	background-color: var(--main_color);
}

#top_importantnews_area a {
	text-decoration: underline;
	font-weight: 400;
}

#top_importantnews_area a:hover {
	opacity: 0.8;
}

#top_importantnews_area .top_importantnews_part {
	display: flex;
	padding: 10px 10px 10px 15px !important;
	border: 8px ridge #f2a0a1;
	border-radius: 10px;
}

.top_importantnews_part .icon-exclamation-circle {
	flex-basis: 40px;
	max-width: 40px;
	font-size: 30px;
}

.top_importantnews_part .importantnews_cont {
	flex-basis: calc( 100% - 40px );
	max-width:  calc( 100% - 40px );
}

.top_importantnews_part .importantnews_cont li {
	margin-bottom: 10px;
}

.top_importantnews_part .importantnews_cont li:last-child {
	margin-bottom: 0;
}

.top_importantnews_part .importantnews_cont li .news_date time {
	color: var(--text_color);
	font-weight: 400;
	font-family: 'Source Serif Pro', "Roboto", "Noto Sans JP", sans-serif;
	font-style: italic;
}

.top_importantnews_part .importantnews_cont li p.news_title {
	font-weight: 500;
}

@media screen and (max-width:959px) {

	#top_importantnews_area {
		padding-top: 0px !important;
		padding-bottom: 20px !important;
	}

	.top_importantnews_part .icon-exclamation-circle {
		flex-basis: 40px;
		max-width: 40px;
		font-size: 30px;
	}

	.top_importantnews_part .importantnews_cont {
		flex-basis: calc( 100% - 40px );
		max-width:  calc( 100% - 40px );
	}

	.top_importantnews_part .icon-exclamation-circle {
		padding-top: 10px;
	}

	.top_importantnews_part .importantnews_cont li p.news_title {
		line-height: 1.4em;
	}
}

@media screen and ( min-width:960px) {

	#top_importantnews_area {
		padding-top: 0px !important;
		padding-bottom: 40px !important;
	}

	#top_importantnews_area .top_importantnews_part {
		border: 8px ridge #f2a0a1;
	}

	#top_importantnews_area a {
		font-size: 1.8rem;

	}

	#top_importantnews_area .top_importantnews_box  {
		margin-bottom: 0 !important;
	}

	.top_importantnews_part .icon-exclamation-circle {
		flex-basis: 50px;
		max-width: 50px;
		font-size: 30px;
	}

	.top_importantnews_part .importantnews_cont {
		flex-basis: calc( 100% - 50px );
		max-width:  calc( 100% - 50px );
	}

	.top_importantnews_part .importantnews_cont .news_date {
		float: left;
	}

	.top_importantnews_part .importantnews_cont .news_date time {
		font-size: 2.0rem;
	}

	.top_importantnews_part .importantnews_cont .news_title {
		padding-left: 160px;
		font-size: 2.0rem;
	}

}

/* top_schedule_area */

.top_schedule_part .place {
	position: relative;
	padding-left: 1.1em;
	font-size: 1.5rem;
	font-weight: 400;
	line-height: 1.4em;
}

.top_schedule_part .place i::before {
	position: absolute;
	top: 0.3em;
	left: 0;
	font-size: 1.5rem;
}

.top_schedule_part .object_fit {
	border: 1px solid #999;
	border-radius: 10px;
}
@media screen and (max-width: 599px) {

	.top_schedule_part .place i::before {
		top: 0.2em;
	}

}
@media screen and (min-width: 600px) {
	
	.top_schedule_part .place {
		font-size: 1.8rem;
	}
	.top_schedule_part .place i::before {
		font-size: 1.8rem;
	}

}

/* top_video_area */

#top_video_area .box {
	width: 90%;
	max-width: 1400px;
}

#top_video_area ul.video_slider {
	margin-bottom: 30px;
	margin-left: 25px;
	margin-right: 25px;
}

#top_video_area ul.video_slider li {
	margin-bottom: 0;
	margin-left: 15px;
	margin-right: 15px;
}

#top_video_area ul.video_slider li iframe {
	pointer-events: none;
}

#top_video_area ul.video_slider li.slick-current iframe,
#top_video_area ul.video_slider li.is-active-next iframe {
	pointer-events: auto;
}

@media screen and (max-width: 599px) {

	#top_video_area .top_video_box .part li {
		margin-bottom: 1.0em;
	}

	#top_video_area ul.video_slider {
		margin-bottom: 20px;
	}

	#top_video_area ul.video_slider li {
		margin-left: 5px;
		margin-right: 5px;
	}
	
}

@media screen and (min-width: 600px) and (max-width: 959px){
	#top_video_area ul.video_slider li {
		margin-left: 20px;
		margin-right: 20px;
	}
}

@media screen and (max-width: 959px) {

	#top_video_area .box {
		width: 100%;		
		max-width: none;
	}	
	
}

@media screen and (min-width: 960px) {
	
}

/* top_discography_area */

#top_discography_area .disco_scroll_box {
	width: 100%;
	max-width: 100%;
}

#top_discography_area ul.disco_ul {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}

#top_discography_area ul.disco_ul li:last-child {
	margin-right: 0;
}

#top_discography_area p.pic {
	margin-bottom: 0;
}

#top_discography_area .top_disco_cont {
  position: relative;
  overflow: hidden;
}

#top_discography_area .top_disco_cont .object_fit {
	border: 1px solid #999;
	border-radius: 10px;
}

#top_discography_area .top_disco_caption {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	width: 100%;
	height: 100%;
	-webkit-transition: .3s;
	transition: .3s;
	opacity: 1;
	text-align: center;
	color: #fff;
	font-weight: 500;
	opacity: 0;
	background-color: rgba(0,0,0,0.1);
}

#top_discography_area .top_disco_caption .caption_cont {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	width: 90%;
}

#top_discography_area .top_disco_caption i::before {
	font-size: 3.0rem;
}

#top_discography_area .top_disco_cont:hover .top_disco_caption {
	opacity: 1;
	transition: .3s;
}

#top_discography_area .object_fit {
	margin-bottom: 0;
}

#top_discography_area .object_fit::before {
	padding-top: 100%;
}

ul.disco_slider {
	margin-bottom: 30px;
}

ul.disco_slider li {
	margin-bottom: 0;
	margin-left: 5px;
	margin-right: 5px;
}

.disco_caption {
	margin-bottom: 0.75em;
	margin-left: 2%;
	margin-right: 2%;
	background: var(--sub_color);
	border-radius: 10px;
	box-shadow: 0 2px 0 rgba(158,104,105, 0.5);
	text-align: left;
	padding: 0.25em 0em 0.25em 2em;
	font-size: 2.5rem;
	font-style: italic;
}

#backgroundcolor .top_area:nth-child(odd) .disco_caption {
	background: var(--main_color);
}


@media screen and (max-width: 599px) {

	#top_discography_area .top_disco_caption {
		display: none;
	}

	ul.disco_slider {
		margin-bottom: 1.5em;
	}

	ul.disco_ul li:nth-last-child(1),
	ul.disco_ul li:nth-last-child(2) {
		margin-bottom: 0;
	}

.disco_caption {
	font-size: 2.0rem;
	font-weight: initial;
}

}

@media screen and (min-width: 600px) {

	#top_discography_area ul.disco_ul li {
		margin-bottom: 0;
		margin-right: 2%;
		flex-basis: 23.5%;
		max-width: 23.5%;
	}
	
	#top_discography_area .top_disco_caption {
		display: none;
	}
	
}

@media screen and (max-width: 959px) {

	#top_discography_area .box {
		width: 100%;		
		max-width: none;
	}

	ul.disco_ul {
		margin-left: auto;
		margin-right: auto;
		width: 90%;
	}
	
}

@media screen and (min-width: 960px) {

	ul.disco_slider li {
		margin-left: 15px;
		margin-right: 15px;
	}

	#top_discography_area .top_disco_cont:hover img {
		filter: blur(3px);
	}
	
	#top_discography_area .top_disco_caption {
		display: block;
	}
	
}

/* top_news_area */

.news_category {
	position: absolute;
	top: 2px;
	margin-left: 10px;
	padding: 2px 10px 3px;
	background-color: var(--text_color);
	color: var(--main_color);
	font-size: .8em;
	line-height:1.0em;
	font-weight: 500;
	white-space: nowrap;
}

@media screen and (min-width: 600px) {
	.news_category {
		position: absolute;
		top: 4px;
		margin-left: 15px;
		padding: 3px 10px 6px;
		font-size: .9em;
	}
}