@charset "UTF-8";
@font-face {
	font-family: 'Avenir';
	src: url(/font/avenir.woff);
}
@font-face {
	font-family: 'YuGoPr6N-R';
	src: url(/font/YuGo/subset/YuGoPr6N-R.otf);
}
@font-face {
	font-family: 'YuGoPr6N-D';
	src: url(/font/YuGo/subset/YuGoPr6N-D.otf);
}
@font-face {
	font-family: 'YuGoPr6N-L';
	src: url(/font/YuGo/subset/YuGoPr6N-L.otf);
}
@font-face {
	font-family: 'YuGoPr6N-M';
	src: url(/font/YuGo/subset/YuGoPr6N-M.otf);
}
@font-face {
	font-family: 'YuGoPr6N-B';
	src: url(/font/YuGo/subset/YuGoPr6N-B.otf);
}

/* index common ---------------------------------------*/

.index-header{
	top: -80px;
	transition: 0.3s;
}
.index-header.m_fixed{top: 0px;}

.index-content-hashtag{
	font-size: 16px;
	margin-bottom: 10px;
	font-family: 'Avenir';
	font-weight: lighter;
}

.index-content-title{
	font-size: 20px;
	margin-bottom: 10px;
	font-family: 'YuGoPr6N-B';
	letter-spacing: 1px;
}
.en .index-content-title{
	font-family: 'Avenir';
	font-weight: 700;
	letter-spacing: calc(25em / 1000);
}

.index-content-title span{
	font-weight: 900;
	font-family: 'Avenir';
	margin-left: 5px;
}

.index-content-text{
	font-size: 14px;
	line-height: 2;
	font-family: 'YuGoPr6N-M';
	letter-spacing: 1.6px;
}
.en .index-content-text{
	font-family: 'Avenir';
	font-weight: 500;
	letter-spacing: calc(25em / 1000);
}


/* index kv ---------------------------------------*/

.indexkv-wrapper{
	overflow: hidden;
	width:100%;
	height: 100%;
	position:relative;
	z-index: 10;
	background: #fff;
}

.indexkv{
	position: relative;
	margin:0 auto;
	height: 100%;
}

#indexkv-movie{
	position: absolute;
	z-index: -1;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	/*縦横幅指定*/
	min-width: 100%;
	min-height: 100vh;
	max-width: 250%;
	max-height: 120vh;
}

.indexkv-title{
	position: absolute;
	top: 50%;
	left: 50%;
	text-align: center;
	color: #fff;
	transform: translate(-50%,-50%);
	font-size: 24px;
	font-family: 'Avenir';
	line-height: 1.9;
	letter-spacing: 4px;
	font-weight: 500;
}

.indexkv-title span{
	font-size: 20px;
	font-family: 'YuGoPr6N-M';
	padding-right: 45px;
	margin-top: 10px;
	display: block;
}
.en .indexkv-title span{
	font-family: 'Avenir';
	font-weight: 500;
	letter-spacing: calc(25em / 1000);
}




/* index news ---------------------------------------*/

.indexnews{
	padding: 80px 0 160px;
	overflow-x: hidden;
	background: #fff;
}

.indexnews .inner{
	position: relative;
}

.indexnews .inner::before {
	display: block;
	content: '';
	background: #fff;
	background-size: 100%;
	width: 100%;
	height: 100%;
	position: absolute;
	left: -1128px;
	top: 50%;
	transform: translate(0,-50%);
	z-index: 100;
}

.indexnews-list-wrapper{
	position: relative;
}

.indexnews-list{
	display: flex;
}

.indexnews-list-item a{transition: 0.3s;}

.indexnews-list-item a:hover{opacity: 0.7;}

.indexnews-list-item:first-of-type{margin-left: 0;}

.indexnews-list-item-image{
	margin-bottom: 25px;
	overflow: hidden;
}
.indexnews-list-item-image img{
	transition: 0.3s;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
.indexnews-list-item a:hover .indexnews-list-item-image img{transform:scale(1.05,1.05)}

.indexnews-list-item-data{
	margin-bottom: 7px;
	font-family: 'Avenir';
	font-size: 16px;
	font-weight: lighter;
	letter-spacing: 0.5px;
}

.indexnews-list-item-title{
	font-size: 14px;
	line-height: 2;
	font-family: 'YuGoPr6N-M';
	letter-spacing: 0.7px;
}
.en .indexnews-list-item-title{
	font-family: 'Avenir';
	font-weight: 500;
	letter-spacing: calc(25em / 1000);
}

.swiper-button-prev,
.swiper-button-next{
	width: 40px;
	height: 40px;
	top: -73px;
	background: none;
	opacity: 1;
}

.swiper-button-prev{
	right: 65px;
	left: auto;
}

.swiper-button-next{right: 10px;}

.swiper-button-prev span,
.swiper-button-next span{
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	border: 1px solid #cccccc;
	position: relative;
}

.swiper-button-prev span::after,
.swiper-button-next span::after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	transform: translate(-50%, -50%) scale(0, 0);
	transition: transform ease 0.3s;
}

.swiper-button-prev:hover span:after,
.swiper-button-next:hover span::after,
.swiper-button-prev:active span:after,
.swiper-button-next:active span::after {
	transform: translate(-50%, -50%) scale(1, 1);
}

.swiper-button-prev:hover span:after,
.swiper-button-prev:active span:after{
	background: url(/img/index/icon_arrow_left_white.png) #cccccc no-repeat center center;
	background-size: 8px 13px;
	opacity: 1;
}

.swiper-button-next:hover span::after,
.swiper-button-next:active span::after{
	background: url(/img/index/icon_arrow_right_white.png) #cccccc no-repeat center center;
	background-size: 8px 13px;
	opacity: 1;
}

.swiper-button-prev span{
	background: url(/img/index/icon_arrow_left.png) #fff no-repeat center center;
	background-size: 8px 13px;
}

.swiper-button-next span{
	background: url(/img/index/icon_arrow_right.png) #fff no-repeat center center;
	background-size: 8px 13px;
}

.swiper-button-prev:hover,
.swiper-button-next:hover{opacity: 1;}


/* index movie ---------------------------------------*/

.indexmovie{
	padding: 120px 0 110px;
	background: #F2F2F2;
	margin-bottom: 570px;
}

.indexmovie-box a{transition: 0.3s;}

.indexmovie-box .section-title img{
	width: auto;
	vertical-align: middle;
	display: inline-block;
	margin-right: 10px
}

.indexmovie-box:first-of-type{margin-bottom: 145px;}

.indexmovie-box a:hover{opacity: 0.6;}

.indexmovie-box-image{
	margin-bottom: 50px;
	overflow: hidden;
	position: relative;
}

/* .indexmovie-box:first-of-type .indexmovie-box-image::after {
	display: block;
	content: '';
	background: url('/img/common/icon_youtube_thumbnail.png') no-repeat center center; 
	background-size: 100%;
	width: 64px;
	height: 45px;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
}

.indexmovie-box:last-of-type .indexmovie-box-image::after {
	display: block;
	content: '';
	background: url('/img/common/icon_tiktok_thumbnail.png') no-repeat center center; 
	background-size: 100%;
	width: 60px;
	height: 60px;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
} */

.indexmovie-box-image img{
	transition: 0.3s;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
.indexmovie-box a:hover .indexmovie-box-image img{transform: scale(1.05,1.05);}

.indexmovie-box-content{text-align: center;}


/* index community ---------------------------------------*/

.indexcommunity{
	padding: 120px 0 220px;
	background: #fff;
}

.indexcommunity-top{margin-bottom: 115px;}

.indexcommunity-top-image{
	margin-bottom: 10px;
	overflow: hidden;
	position: relative;
}

.indexcommunity-top-content{text-align: center;}

.indexcommunity-middle{
	margin-top: 86px;
}

.indexcommunity-middle .index-content-title{
	text-align: center;
}

.indexcommunity-middle-content{
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: stretch;
	gap: 35px 62px;
	margin-top: 44px;
}

.indexcommunity-middle-content-item{
	max-width: calc((100% - (62px * 2)) / 3);
}

.indexcommunity-middle-content-item-title{
	font-size: 20px;
	font-family: 'Avenir';
	margin-top: 7px;
	font-weight: 600;
	letter-spacing: 0.05em;
}

.indexcommunity-middle-content-item-detail{
	font-size: 14px;
	margin-top: 4px;
	font-weight: 600;
	line-height: 1.642;
	letter-spacing: 0.025em;
}

.indexcommunity-middle-btn{
	margin-top: 131px;
	text-align: center;
}

.indexcommunity-middle-btn a{
	border-radius: 30px;
	font-size: 14px;
	font-family: 'YuGoPr6N-M';
	line-height: 2;
	text-align: center;
	padding: 12px 61px 12px 38px;
	transition: 0.3s;
	display: inline-block;
	background: #000;
	color: #fff;
	border: 1px solid #000;
	cursor: pointer;
	position: relative;
}
.en .indexcommunity-middle-btn a{
	font-family: 'Avenir';
	font-weight: 500;
	letter-spacing: calc(25em / 1000);
}

.indexcommunity-middle-btn a::before, .indexcommunity-middle-btn a::after{
	content: '';
	display: inline-block;
	background-size: 100%;
	background-position: center center;
	background-repeat: no-repeat;
	width: 23px;
	height: 15px;
	position: absolute;
	top: 50%;
	right: 29px;
	transform: translateY(-50%);
	transition: opacity 0.3s;
}

.indexcommunity-middle-btn a::after{
	background-image: url(/img/common/icon_blank_white.png);
}

.indexcommunity-middle-btn a::before{
	background-image: url(/img/common/icon_blank.png);
	opacity: 1;
}

.indexcommunity-middle-btn a:hover{
	background: #fff;
	color: #000;
	opacity: 1;
}

.indexcommunity-middle-btn a:hover::before{
	opacity: 1;
}
.indexcommunity-middle-btn a:hover::after{
	opacity: 0;
}

.indexcommunity-bottom{
	margin-top: 160px;
}

.indexcommunity-bottom a{
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.indexcommunity-bottom-image{
	width: 48%;
	overflow: hidden;
	position: relative;
}

/* .indexcommunity-bottom-image::after {
	display: block;
	content: '';
	background: url('/img/common/icon_line_thumbnail.png') no-repeat center center; 
	background-size: 100%;
	width: 44px;
	height: 42px;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
} */

.indexcommunity-bottom-content{width: 42.5%;}

.indexcommunity-bottom-content .index-content-title img{
	width: auto;
	vertical-align: middle;
	display: inline-block;
	margin-right: 10px
}

.indexcommunity-bottom-content .index-content-text{
	letter-spacing: 0.025em;
}

.indexcommunity-top a,
.indexcommunity-bottom a{transition: 0.3s;}

.indexcommunity-top a:hover,
.indexcommunity-bottom a:hover{opacity: 0.6;}

.indexcommunity-top-image img,
.indexcommunity-bottom-image img{
	transition: 0.3s;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
.indexcommunity-top a:hover .indexcommunity-top-image img,
.indexcommunity-bottom a:hover .indexcommunity-bottom-image img{transform: scale(1.05,1.05);}


/* index discography ---------------------------------------*/

.indexdiscography{
	padding: 150px 0 170px;
	background: #F2F2F2;
	margin-bottom: 570px;
}

.indexdiscography-top{margin-bottom: 115px;}

.indexdiscography-top a{
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.indexdiscography-top-image{
	width: 42.5%;
	overflow: hidden;
}

.indexdiscography-top-content{width: 48.5%;}

.indexdiscography-list{
	display: flex;
	justify-content: space-between;
	margin-bottom: 80px;
}

.indexdiscography-list-item{width: 16.4%;}

.indexdiscography-list-item a,
.indexdiscography-top a{transition: 0.3s;}
.indexdiscography-list-item a:hover,
.indexdiscography-top a:hover{opacity: 0.6;}

.indexdiscography-list-item a{
	overflow: hidden;
	display: block;
}

.indexdiscography-list-item a img,
.indexdiscography-top-image img{
	transition: 0.3s;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
.indexdiscography-list-item a:hover img,
.indexdiscography-top a:hover .indexdiscography-top-image img{transform: scale(1.05,1.05);}

.indexdiscography-list-link{
	text-align: center;
}

.indexdiscography-list-link a{
	position: relative;
	padding-right: 35px;
	padding-bottom: 10px;
	font-family: 'Avenir';
	font-size: 16px;
	letter-spacing: 1.5px;
	transition: 0.3s;
	font-weight: 500;
}

.indexdiscography-list-link a::after {
	display: block;
	content: '';
	background: url('/img/common/icon_arrow_next.png') no-repeat center center; 
	background-size: 100%;
	width: 23px;
	height: 5px;
	position: absolute;
	right: 0px;
	top: calc(50% - 5px);
	transform: translate(0,-50%);
	transition: 0.3s;
}

.indexdiscography-list-link a::before{
	position: absolute;
	left: 0;
	content: '';
	width: 100%;
	height: 1px;
	background: #000000;
	bottom: -1px;
	transform: scale(0, 1);
	transform-origin: center top;  
	transition: 0.3s;
}
		
.indexdiscography-list-link a:hover::before {transform: scale(1, 1); }

.indexdiscography-list-link a:hover:after{right: -5px;}


/* index project ---------------------------------------*/

.indexproject{
	padding: 150px 0 65px;
	background: #fff;
}

.indexproject-list{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.indexproject-list-item{
	width: 48%;
	margin-bottom:75px;
}

.indexproject-list-item a{transition: 0.3s;}
.indexproject-list-item a:hover{opacity: 0.7;}

.indexproject-list-item-image{
	margin-bottom: 45px;
	overflow: hidden;
}

.indexproject-list-item-image img{
	transition: 0.3s;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
.indexproject-list-item a:hover .indexproject-list-item-image img{transform: scale(1.05,1.05);}

.indexproject-list-item-title{
	font-size: 20px;
	margin-bottom: 10px;
	line-height: 1.6;
	letter-spacing: 1px;
	font-family: 'YuGoPr6N-B';
}
.en .indexproject-list-item-title{
	font-family: 'Avenir';
	font-weight: 700;
	letter-spacing: calc(25em / 1000);
}

.indexproject-list-item-text{
	font-size: 14px;
	font-family: 'YuGoPr6N-M';
	line-height: 2;
	letter-spacing: 1px;
}
.en .indexproject-list-item-text{
	font-family: 'Avenir';
	font-weight: 500;
	letter-spacing: calc(25em / 1000);
}


@media screen and (max-width: 1000px){

	/* index common ---------------------------------------*/

	.index-header{top: 0px;}

	.index-content-hashtag{
		font-size: 14px;
		margin-bottom: 15px;
	}

	.index-content-title{
		font-size: 16px;
		margin-bottom: 10px
	}

	.index-content-text{
		font-size: 14px;
		line-height: 2;
		letter-spacing: 1.5px;
	}

	.index-header{
		background: none;
		box-shadow: none;
	}
	.index-header .header-inner{background: none;}



	/* index kv ---------------------------------------*/

	.indexkv{height: 100vh;}

	#indexkv-movie{
		position: absolute;
		z-index: -1;
		top: 50%;
		left: 15%;
		transform: translate(-50%, -50%);
		/*縦横幅指定*/
		min-width: 100%;
		min-height: 100vh;
		max-width: 1000%;
		max-height: 100vh;
	}
	.indexkv-title{
		top: 40%;
		left: 0;
		font-size: 20px;
		line-height: 1.6;
		letter-spacing: 3px;
		transform: none;
		width: 100%;
	}

	.indexkv-title span{
		font-size: 16px;
		padding-right: 0;
		margin-top: 12px;
	}


	/* index news ---------------------------------------*/

	.indexnews{padding: 75px 35px 115px;}

	.indexnews .inner::before{display: none;}

	.indexnews-list-item-image{margin-bottom: 29px;}

	.indexnews-list-item-data{
		margin-bottom: 8px;
		font-size: 16px;
	}

	.indexnews-list-item-title{
		font-size: 14px;
		letter-spacing: 1px;
	}

	.swiper-button-prev,
	.swiper-button-next{
		top: 28vw;
	}

	.swiper-button-prev{
		right: auto;
		left: -20px;
	}

	.swiper-button-next{
		right: -20px;
	}


	/* index movie ---------------------------------------*/

	.indexmovie{padding: 120px 35px 115px;}

	.indexmovie-box:first-of-type{margin-bottom: 110px;}

	.indexmovie-box-image{margin-bottom: 40px;}

	.indexmovie-box-content{text-align: center;}


	/* index community ---------------------------------------*/

	.indexcommunity{padding: 120px 35px 115px;}

	.indexcommunity-top{margin-bottom: 60px;}

	.indexcommunity-top-image{margin-bottom: 30px;}

	.indexcommunity-top-image::after {
		background: url(/img/index/ttl_community_sp.png) no-repeat center center;
		background-size: 100%;
		width: 50%;
		height: 13px;
		left: 55%;
		top: 68%;
	}
	
	.indexcommunity-middle{
		margin-bottom: 90px;
	}

	.indexcommunity-middle-content{
		gap: 32px 20px;
	}

	.indexcommunity-middle-content-item{
		max-width: calc((100% - 20px) / 2);
	}

	.indexcommunity-middle-btn{
		margin-top: 80px;
	}

	.indexcommunity-bottom{
		margin-top: 90px;
	}

	.indexcommunity-bottom a{display: block;}

	.indexcommunity-bottom-image{
		width: 100%;
		margin-bottom: 35px;
	}

	.indexcommunity-bottom-content{width: 100%;}


	/* index discography ---------------------------------------*/

	.indexdiscography{padding: 120px 35px 130px;}

	.indexdiscography-top{margin-bottom: 72px;}
	
	.indexdiscography-top a{display: block;}

	.indexdiscography-top-image{
		width: 100%;
		margin-bottom: 35px;
	}

	.indexdiscography-top-content{width: 100%;}

	.indexdiscography-list{
		margin-bottom: 20px;
		flex-wrap: wrap;
	}

	.indexdiscography-list-item{
		width: 30%;
		margin-bottom: 25px;
	}


	/* index project ---------------------------------------*/

	.indexproject{padding: 95px 35px 95px;}

	.indexproject-list{display: block;}

	.indexproject-list-item{
		width: 100%;
		margin-bottom: 60px;
	}

	.indexproject-list-item-image{margin-bottom: 30px;}

	.indexproject-list-item-title{
		font-size: 16px;
		margin-bottom: 5px;
		letter-spacing: 2px;
	}

	.indexproject-list-item-text{
		font-size: 14px;
		letter-spacing: 1.4px;
	}







}