@charset "utf-8";
@media screen and (max-width: 768px){
	:root{
		/* min-ww */
		--min-ww: 750;
		--min-wh: 1280;
	}
}
.js-itemModalWrap.modalBox{
	z-index: 9998;
}
.modalBox_item{
	-webkit-overflow-scrolling: touch;
	background: var(--color-main-yellow);
	display: none;
	width: 100%;
	height: 100%;
	overflow: auto;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9998;
}
.modalBox_item:before{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: url(../img/common/bg_txtur.png) repeat center / 1200px 863px;
}
.oneModal_item{
	display: none;
	width: 100%;
	height: 100%;
	position: relative;
	z-index: 1;
}
/*-----------------------------------------------
 * COMMON
-------------------------------------------------*/
@media screen and (min-width: 768px){
	.contBG__color{
		position: absolute;
		left: 0;
		right: 0;
		padding-top: 320px;
		margin: 0 auto;
	}
	.contBG__colorIn{
		height: 200%;
		transform-origin: center top;
	}
	.fullContentFixed.-bgTitle{
		margin: 0 auto;
	}

	.contBG__title,
	.contBG__titleImg{
		max-width: 890px;
		max-height: 323.4656px;
	}
}

.fullContentFixed.-bgTitle .fullContentFixedIn{
	position: absolute;
}


/*-----------------------------------------------
 * music - COMMON 
-------------------------------------------------*/
#music .contSectionIn{
	position: relative;
}
#music .contentIn{
	width: 100%;
	position: unset;
	padding: 80px 3.5715% 0;
}

.musicCont{
	width: 100%;
}
.head_txtWrap{
	padding: 64px 0;
}
.head_txt{
	font-size: 32px;
	font-weight: 900;
	text-align: center;
	line-height: 1.3;
}
.head_txt._txt1{
	margin-bottom: 24px;
}
.head_txt._txt2{
	line-height: 1.6;
}
.txt_red{
	font-size: 42px;
	color:var(--color-main-red);
}
@media screen and (max-width: 768px) {
	.head_txtWrap{
		padding:  var(--sp-size-64) 0;
	}
	.head_txt{
		font-size: var(--sp-size-32);
	}
	.head_txt._txt1{
		font-size:var(--sp-size-48);
		margin-bottom: var(--sp-size-48);
	}
	.txt_red{
		font-size:var(--sp-size-48);
	}
}
.marker-wh {
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 49%, rgba(255, 255, 255, 1) 50%, rgba(255, 255, 255, 1) 95%, rgba(255, 255, 255, 0) 96%, rgba(255, 255, 255, 0) 100%);
}


/* itemBoxList */
.itemBoxList{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.itemBoxList_thCol{
	display: flex;
	justify-content: unset;
	flex-wrap: wrap;
	gap: 40px;
}

.itemBox{
	width: calc((100% - 40px) / 2);
}
.itemBoxList_thCol li.itemBox{
	width: calc((100% - 80px) / 3);
}
.itemBox:nth-child(n + 3){
	margin-top: 40px;
}
.itemBoxList_thCol li.itemBox:nth-child(n + 3){
	margin-top: unset;
}
@media screen and (max-width: 768px) {
	.itemBoxList_thCol{
		justify-content: space-between;
		gap: unset;
	}
	.itemBox{
		width: calc((100% - var(--sp-size-24)) / 2);
	}
	.itemBoxList_thCol li.itemBox{
		width: calc((100% - var(--sp-size-24)) / 2);
	}
	.itemBox:nth-child(n + 3){
		margin-top: var(--sp-size-32);
	}
}

.itemBox__link{
	text-decoration: none;
}

.item_img{
	overflow: hidden;
	margin-bottom: 15px;
	position: relative;
}
.item_img img{
	transition: transform .3s ease;
	width: 100%;
	height: auto;
}
.item_img:after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: rgba(0, 0, 0, 40%);
	opacity: 0;
	transition: opacity .3s ease;
}
.itemBox__link:hover .item_img:after {
	opacity: 1;
}
.itemBox__link:hover .item_img img {
	transform: scale(102.5%);
}


.item_txt{
	font-size: 16px;
	font-weight: 700;
	transition: color .4s ease;
	position: relative;
}
.item_txt span {
	background: linear-gradient(#000, #000) right bottom / 0 100% no-repeat;
	transition: background-size 0.4s ease;
}
@media screen and (max-width: 768px) {
	.item_txt {
		margin-top: var(--sp-size-12);
		font-size: var(--sp-size-24);
	}
}

/* hover */
.itemBox__link:hover .item_txt {
	color: var(--color-main-yellow);
}
.itemBox__link:hover .item_txt span {
	background-size: 100% 100%;
	background-position: left bottom;
}



/*-----------------------------------------------
* music - INDEX
-------------------------------------------------*/
.music__indexLists{
	width: 100%;
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: min(3.3334vw, calc(40px * 1.6));
}
.music__indexList--link{
	display: block;
	text-decoration: none;
}
.music__indexList--img{
	width: 100%;
	position: relative;
	border: 1px solid #000
}
.music__indexList--img img{
	width: 100%;
}
.music__indexList--title{
	margin-top: 16px;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.5;
	pointer-events: auto;
}

@media (hover: hover) and (pointer: fine){
	.music__indexList--img{
		transition: transform .3s ease;
	}
	.music__indexList--link:hover .music__indexList--img{
		transform: scale(1.05);
	}

	.music__indexList--title{
		transition: color .4s ease;
	}
	.music__indexList--title span{
		background: linear-gradient(#000, #000) right bottom / 0 100% no-repeat;
		transition: background-size 0.4s ease;
	}
	.music__indexList--link:hover .music__indexList--title{
		color: var(--color-main-yellow);
	}
	.music__indexList--link:hover .music__indexList--title span{
		background-size: 100% 100%;
		background-position: left bottom;
	}
}

@media screen and (max-width: 767px){
	.music__indexLists{
		max-width: 640px;
		grid-template-columns: repeat(1, 1fr);
		gap: var(--sp-size-48);
	}
	.music__indexList--title{
		margin-top: var(--sp-size-12);
		font-size: var(--sp-size-24);
	}
}


/*-----------------------------------------------
 * DETAIL
-------------------------------------------------*/
.item__detailCont{
	width: 880px;
	margin: 0 auto;
}
@media screen and (max-width: 768px) {
	.item__detailCont{
		width: 100%;
		padding: 0 3.5715%;
	}
}
/* ttl */
.detail_ttl{
	font-size: 32px;
	font-weight: 700;
	padding-bottom: 16px;
	border-bottom: 1px solid #888;
	margin-bottom: 40px;
	text-align: center;
}
@media screen and (max-width: 768px) {
	.item__detailCont{
		width: 100%;
	}
	.detail_ttl{
		font-size: calc(36 / var(--min-ww) * 100vw);
		padding-bottom: calc(14 / var(--min-ww) * 100vw);
		margin-bottom: calc(24 / var(--min-ww) * 100vw);
	}
}

/* img */
.detail_img{
	width: 60%;
	margin: 40px auto;
}	
.detail_img img{
	width: 100%;
	height: auto;
}
@media screen and (max-width: 768px) {
	.detail_img{
		width: 100%;
		margin: 0 auto calc(48 / var(--min-ww) * 100vw);
	}
}
/* infoWrap */
.detail_infoWrap{
	display: flex;
	justify-content: center;
}
@media screen and (max-width: 768px) {
	.detail_infoWrap{
		flex-direction: column;
	}
}
/*--------- 
left
---------- */
.leftBlock{
	width: 280px;
}
/* ttl */
.info_ttl{
    font-size: 22px;
	color: #FFF;
	font-family: var(--font-en);
    font-weight: 900;
    letter-spacing: 0;
    margin-bottom: 24px;
}

.info_ttl span{
    background-color: #000;
	line-height: 0.8;
	font-weight: 900;
	display: inline-block;
}
@media screen and (max-width: 768px) {
	.leftBlock{
		width: 100%;
	}
	.info_ttl{
		font-size: calc(28 / var(--min-ww) * 100vw);
		margin-bottom: calc(48 / var(--min-ww) * 100vw);
	}
}

/* staffList */
.staffList{
	font-size: 16px;
	margin-bottom: 14px;
}
.staffList_ttl{
	color: var(--main-color);
	margin-right: 14px;
}
.staffListWrap__innerBox{
	margin-bottom: 24px;
}
.staffListWrap__innerBox:last-child{
	margin-bottom: 0;
}
.staffList_name{
	font-size: 20px;
}
@media screen and (max-width: 768px) {
	.staffListWrap__innerBox{
		margin-bottom: calc(48 / var(--min-ww) * 100vw);
	}
	.staffListWrap__innerBox:last-child{
		margin-bottom: 0;
	}
	.staffList{
		font-size: calc(21 / var(--min-ww) * 100vw);
		margin-bottom: calc(14 / var(--min-ww) * 100vw);
	}
	.staffList_ttl{
		margin-right:calc(14 / var(--min-ww) * 100vw);
	}
}


/*--------- 
right
---------- */
.rightBlock{
	width: 500px;
}
@media screen and (max-width: 768px) {
	.rightBlock{
		width: 100%;
	}
}
/* linkBtn */
.linkBtn{
	margin-bottom: 14px;
}
.linkBtn__link{
	text-align: center;
	display: block;
	background-color: #000;
	height: 40px;
	display: flex;
	justify-content: center;
    align-items: center;
	transition: .3s ease;
	text-decoration: none;
}
.linkBtn__link:hover{
	background-color: var(--main-color);
}
.linkBtn__txt{
	display: inline-block;
	color: #FFF;
	font-size: 16px;
	padding-right: 20px;
	position: relative;
}
@media screen and (max-width: 768px) {
	.linkBtn{
		margin-bottom: calc(24 / var(--min-ww) * 100vw);
	}
	.linkBtn__link{
		height: calc(80 / var(--min-ww) * 100vw);
	}

	.linkBtn__txt{
		font-size: calc(24 / var(--min-ww) * 100vw);
		padding-right: calc(24 / var(--min-ww) * 100vw);
	}
	.ic_blank::after{
		width: calc(14 / var(--min-ww) * 100vw);
		height: calc(12 / var(--min-ww) * 100vw);
	}
}

/* MOVIE */
.movieList{
	width: 100%;
	margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
	margin-bottom: calc(48 / var(--min-ww) * 100vw);
}
.movieList__link{
	display: block;
	width: 100%;
	text-decoration: none;
	pointer-events: none;
}
.movieList__image{
	width: 100%;
	padding-top: 56.25%;
	position: relative;
	pointer-events: auto;
}
.movieList__image img{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.movieList__title{
	margin-top: 24px;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.5;
	pointer-events: auto;
}


@media (hover: hover) and (pointer: fine){
	.movieList__image{
		overflow: hidden;
	}
	.movieList__image img{
		transition: transform .3s ease;
	}
	.movieList__image:after{
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		background-color: rgba(0,0,0,40%);
		opacity: 0;
		transition: opacity .3s ease;
	}
	.movieList__title{
		transition: color .4s ease;
	}
	.movieList__title span{
		background: linear-gradient(#000, #000) right bottom / 0 100% no-repeat;
		transition: background-size 0.4s ease;
	}
	
	.movieList__link:hover .movieList__image img{
		transform: scale(105%);
	}
	.movieList__link:hover .movieList__image:after{
		opacity: 1;
	}

	.movieList__link:hover .movieList__title{
		color: var(--color-main-yellow);
	}
	.movieList__link:hover .movieList__title span{
		background-size: 100% 100%;
		background-position: left bottom;
	}
}

@media screen and (max-width: 767px){
	#movie .contentIn{
		padding: var(--sp-size-96) var(--sp-size-48) 0;
		flex-direction: column;
	}
	.movieSeciton:not(:first-child){
		padding-top: var(--sp-size-80);
	}
	.movieSeciton .cont_subTitle{
		margin-bottom: var(--sp-size-48);
	}
	.movieLists{
		margin-bottom: var(--sp-size-48)
	}
	.movieList__image:after{
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		background-color: rgba(0,0,0,20%);
	}
	.s-icon_play{
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		width: calc(120 / var(--min-ww) * 100vw);
		height: calc(120 / var(--min-ww) * 100vw);
		margin: auto;
		z-index: 2;
	}
	.s-icon_play:before,
	.s-icon_play:after{
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
	}
	.movieList__title{
		margin-top: var(--sp-size-12);
		font-size: var(--sp-size-24);
	}
}

#music .contSectionIn {
    width: 100%;
    max-width: 100%;
}
#music .cont_h2Wrap, #music .contents {
    width: 93.3334%;
    min-width: min(1120px, 100%);
    max-width: min(1120px * var(--max-percent));
    margin: 0 auto;
}
/* nav */
.musicNav{
	width: 100%;
	padding-top: 80px;
}
.musicNavLists{
	width: 100%;
	display: flex;
}
.musicNavList{
	width: 50%;
}
.musicNavList a{
	display: block;
	width: 100%;
	text-decoration: none;
	font-family: var(--font-en);
	font-size: 32px;
	font-weight: 900;
	letter-spacing: 0;
	line-height: 1;
	padding: 20px 48px;
	background-color: #000;
	color: #FFF;
	text-align: center;
	position: relative;
}
.musicNavList a span{
	display: inline-block;
	position: relative;
}
.musicNavList a:before{
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: linear-gradient(var(--color-main-red), var(--color-main-red)) right bottom / 0 100% no-repeat;
	transition: background-size 0.5s ease, opacity .3s ease .3s;
}

@media (hover: hover) and (pointer: fine){
	.musicNavList a:hover::before{
		background-size: 100% 100%;
		background-position: left bottom;
		opacity: 72%;
		transition-delay: 0s, 0s;
	}
}

.musicNavList a.--is-active:before{
	background-size: 100% 100%;
	background-position: left bottom;
	opacity: 100%;
	transition-delay: 0s, 0s;
}

.mt64{
	margin-top: 64px;
}

@media screen and (max-width: 767px){
	.musicNav{
		padding-top: var(--sp-size-96);
	}
	.musicNavList a{
		font-size: var(--sp-size-44);
		padding: var(--sp-size-32) var(--sp-size-48);
	}
	.mt64{
		margin-top: var(--sp-size-64);
	}
}
.-center {
    text-align: center;
}