@charset "utf-8";
.p-titleLoopWrap{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	overflow: hidden;
	z-index: 3;
	pointer-events: none;
}
.p-titleLoop{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	margin-top: min(calc(88 / var(--vw-min) * 100vw), 88px);
	padding: min(calc(15 / var(--vw-min) * 100vw), calc(15px * var(--max-percent))) 0;
	background: linear-gradient(270deg, #ABE7E7 0%, #FFF3AC 100%);
	z-index: 3;
	transform: rotate(-2deg);
}
.p-titleLoop:before{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	border-top: 2px solid var(--color-pink);
	border-bottom: 2px solid var(--color-pink);
}
.titleLoop__img{
	width: 100%;
	height: min(calc(45 / var(--vw-min) * 100vw), calc(45px * var(--max-percent)));
	background-image: url(../img/music/txt_loop_music.png);
	background-repeat: repeat-x;
	background-size: min(calc(262 / var(--vw-min) * 100vw), calc(262px * var(--max-percent))) min(calc(33 / var(--vw-min) * 100vw), calc(33px * var(--max-percent)));
	animation: ani_looptitle_music 7.7s linear infinite;
}
@keyframes ani_looptitle_music {
	0%{
		background-position: 0 center;
	}
	100% {
		background-position: min(calc(262 / var(--vw-min) * 100vw), calc(262px * var(--max-percent))) center;
	}
}

@media screen and (max-width:768px){
	.p-titleLoop{
		margin-top: calc(64 / var(--vw-min) * 100vw);
		padding: calc(12 / var(--vw-min) * 100vw) 0;
		transform: rotate(-4deg);
	}
	.titleLoop__img{
		height: calc(36 / var(--vw-min) * 100vw);
		background-size: calc(267 / var(--vw-min) * 100vw) calc(36 / var(--vw-min) * 100vw);
		animation: ani_looptitle_music_sp 20s linear infinite;
	}
	@keyframes ani_looptitle_music_sp {
		0%{
			background-position: 0 0;
		}
		100% {
			background-position: calc(267 / var(--vw-min) * 100vw) 0;
		}
	}
}

.p-content_title--ttl{
	height: min(calc(70 / var(--vw-min) * 100vw), 70px);
}
@media screen and (max-width:768px){
	.p-content_title--ttl{
		height: calc(46 / var(--vw-min) * 100vw);
	}
}

.footer-container{
	background-color: #FFD7E5;
}


/*-----------------------------------------------
 * MUSIC
-------------------------------------------------*/
.c-music{
	background-color: #ABE7E7;
	padding: min(calc(248 / var(--vw-min) * 100vw), calc(248px * var(--max-percent))) min(calc(80 / var(--vw-min) * 100vw), calc(80px * var(--max-percent))) min(calc(104 / var(--vw-min) * 100vw), calc(104px * var(--max-percent)));
	z-index: 2;
}
.music-container{
	padding-top: min(calc(32 / var(--vw-min) * 100vw), 32px);
}
@media screen and (max-width:768px){
	.c-music{
		padding-top: calc(160 / var(--vw-min) * 100vw);
		padding-right: calc(30 / var(--vw-min) * 100vw);
		padding-bottom: calc(50 / var(--vw-min) * 100vw);
		padding-left: calc(30 / var(--vw-min) * 100vw);
	}
}


/**
* Anchor links
**/
.musicLinkLists{
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: min(calc(16 / var(--vw-min) * 100vw), 16px);
	margin-bottom: min(calc(40 / var(--vw-min) * 100vw), 40px);
	position: relative;
	z-index: 1;
}
.musicLinkItem__link{
	display: inline-block;
}
.musicLinkItem__link .comLink__cont{
	min-width: min(calc(220 / var(--vw-min) * 100vw), 220px);
	height: min(calc(50 / var(--vw-min) * 100vw), 50px);
	padding: 0 min(calc(40 / var(--vw-min) * 100vw), 40px) 0 min(calc(20 / var(--vw-min) * 100vw), 20px);
	font-family: var(--font-bomb);
	font-size: min(calc(18 / var(--vw-min) * 100vw), 18px);
	position: relative;
}
.musicLinkItem__arrow{
	position: absolute;
	top: 0;
	right: min(calc(16 / var(--vw-min) * 100vw), 16px);
	bottom: 0;
	width: min(calc(14 / var(--vw-min) * 100vw), 14px);
	height: min(calc(14 / var(--vw-min) * 100vw), 14px);
	margin: auto 0;
	-webkit-mask: url(../img/common/arrow_r.svg) no-repeat center / contain;
	mask: url(../img/common/arrow_r.svg) no-repeat center / contain;
	background-color: var(--color-pink);
	transform: rotate(90deg);
}
@media screen and (max-width:768px){
	.musicLinkLists{
		gap: calc(10 / var(--vw-min) * 100vw);
		margin-bottom: calc(20 / var(--vw-min) * 100vw);
	}
	.musicLinkItem{
		width: calc((100% - calc(10 / var(--vw-min) * 100vw)) / 2);
	}
	.musicLinkItem__link,
	.musicLinkItem__link .comLink__cont{
		width: 100%;
	}
	.musicLinkItem__link .comLink__cont{
		min-width: 0;
		height: calc(48 / var(--vw-min) * 100vw);
		font-size: calc(16 / var(--vw-min) * 100vw);
	}
}
@media screen and (hover:hover) and (pointer: fine){
	.musicLinkItem__arrow{
		transition: transform .4s ease, background-color .4s ease;
		width: calc(15 / var(--vw-min) * 100vw);
		height:calc(12 / var(--vw-min) * 100vw);
	}
	.musicLinkItem__link .comLink__cont:hover .musicLinkItem__arrow{
		background-color: #fff;
		transform: rotate(90deg) translateX(25%);
		transition-delay: 0.15s, 0s;
	}
}


/**
* Article frame
**/
.musicArticle{
	position: relative;
	width: 100%;
	margin-bottom: min(calc(50 / var(--vw-min) * 100vw), 50px);
}
.musicArticle:last-child{
	margin-bottom: 0;
}
.musicArticle__inner{
	position: relative;
	z-index: 1;
	padding: min(calc(56 / var(--vw-min) * 100vw), 56px) min(calc(64 / var(--vw-min) * 100vw), 64px);
}
@media screen and (max-width:768px){
	.musicArticle{
		margin-bottom: calc(28 / var(--vw-min) * 100vw);
	}
	.musicArticle__inner{
		padding: calc(28 / var(--vw-min) * 100vw) calc(20 / var(--vw-min) * 100vw);
	}
}


/**
* Section title (OPENING / ENDING)
**/
.musicBlock__ttl{
	display: flex;
	align-items: center;
	margin-bottom: min(calc(32 / var(--vw-min) * 100vw), 32px);
	gap: min(calc(16 / var(--vw-min) * 100vw), 16px);
}
.musicBlock__ttl span{
	flex-shrink: 0;
	font-family: var(--font-bomb);
	font-size: min(calc(36 / var(--vw-min) * 100vw), 36px);
	line-height: 1;
	color: var(--color-pink);
}
.musicBlock__ttl:after{
	content: '';
	display: block;
	flex: 1;
	height: 2px;
	background-color: var(--color-pink);
}
@media screen and (max-width:768px){
	.musicBlock__ttl{
		margin-bottom: calc(24 / var(--vw-min) * 100vw);
		gap: calc(12 / var(--vw-min) * 100vw);
	}
	.musicBlock__ttl span{
		font-size: calc(20 / var(--vw-min) * 100vw);
	}
}


/**
* Song info (jacket + meta)
**/
.musicInfo{
	display: flex;
	align-items: flex-start;
	gap: min(calc(40 / var(--vw-min) * 100vw), 40px);
}
.musicInfo__jacket{
	flex-shrink: 0;
	width: min(calc(280 / var(--vw-min) * 100vw), 280px);
	aspect-ratio: 1 / 1;
	border-radius: min(calc(16 / var(--vw-min) * 100vw), 16px);
	overflow: hidden;
	background-color: #FFC3DC;
}
.musicInfo__jacket img{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.musicInfo__detail{
	flex: 1;
	min-width: 0;
	padding-top: min(calc(8 / var(--vw-min) * 100vw), 8px);
}
.musicInfo__label{
	font-size: min(calc(20 / var(--vw-min) * 100vw), 20px);
	font-weight: 800;
	line-height: 1.4;
	color: var(--color-pink);
	font-family: var(--font-bomb);
	margin-bottom: min(calc(10 / var(--vw-min) * 100vw), 10px);
}
.musicInfo__title{
	font-size: min(calc(26 / var(--vw-min) * 100vw), 26px);
	font-weight: 800;
	line-height: 1.5;
	color: var(--color-lightblue);
	margin-bottom: min(calc(12 / var(--vw-min) * 100vw), 12px);
}
.musicInfo__date{
	font-size: min(calc(16 / var(--vw-min) * 100vw), 16px);
	font-weight: 700;
	line-height: 1.5;
	color: var(--color-pink);
	margin-bottom: min(calc(20 / var(--vw-min) * 100vw), 20px);
}
.musicInfo__credit{
	margin-bottom: min(calc(24 / var(--vw-min) * 100vw), 24px);
}
.musicInfo__creditItem{
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: min(calc(8 / var(--vw-min) * 100vw), 8px) min(calc(16 / var(--vw-min) * 100vw), 16px);
	font-size: min(calc(16 / var(--vw-min) * 100vw), 16px);
	font-weight: 600;
	line-height: 1.8;
}
.musicInfo__creditItem:not(:last-child){
	margin-bottom: min(calc(4 / var(--vw-min) * 100vw), 4px);
}
.musicInfo__creditItem dt{
	flex-shrink: 0;
	color: var(--color-pink);
}
.musicInfo__creditItem dd{
	color: var(--color-lightblue);
}
.musicInfo__btn .comLink__cont{
	min-width: min(calc(240 / var(--vw-min) * 100vw), 240px);
	height: min(calc(50 / var(--vw-min) * 100vw), 50px);
	padding: 0 min(calc(36 / var(--vw-min) * 100vw), 36px) 0 min(calc(20 / var(--vw-min) * 100vw), 20px);
	font-family: var(--font-bomb);
	font-size: min(calc(18 / var(--vw-min) * 100vw), 18px);
	position: relative;
}
.musicInfo__btnArrow{
	position: absolute;
	top: 0;
	right: min(calc(14 / var(--vw-min) * 100vw), 14px);
	bottom: 0;
	width: min(calc(14 / var(--vw-min) * 100vw), 14px);
	height: min(calc(14 / var(--vw-min) * 100vw), 14px);
	margin: auto 0;
	-webkit-mask: url(../img/common/arrow_r.svg) no-repeat center / contain;
	mask: url(../img/common/arrow_r.svg) no-repeat center / contain;
	background-color: var(--color-pink);
}
@media screen and (max-width:768px){
	.musicInfo{
		flex-direction: column;
		align-items: center;
		gap: calc(20 / var(--vw-min) * 100vw);
	}
	.musicInfo__jacket{
		width: calc(220 / var(--vw-min) * 100vw);
		border-radius: calc(12 / var(--vw-min) * 100vw);
	}
	.musicInfo__detail{
		width: 100%;
		padding-top: 0;
		text-align: left;
	}
	.musicInfo__label{
		font-size: calc(16 / var(--vw-min) * 100vw);
		text-align: center;
	}
	.musicInfo__title{
		font-size: calc(20 / var(--vw-min) * 100vw);
		text-align: center;
	}
	.musicInfo__date{
		font-size: calc(14 / var(--vw-min) * 100vw);
		text-align: center;
		margin-bottom: calc(16 / var(--vw-min) * 100vw);
	}
	.musicInfo__creditItem{
		font-size: calc(12 / var(--vw-min) * 100vw);
	}
	.musicInfo__btn .comLink{
		display: block;
		width: 100%;
	}
	.musicInfo__btn .comLink__cont{
		width: 100%;
		min-width: unset;
		height: calc(44 / var(--vw-min) * 100vw);
		font-size: calc(16 / var(--vw-min) * 100vw);
	}
}
@media screen and (hover:hover) and (pointer: fine){
	.musicInfo__btnArrow{
		transition: transform .4s ease, background-color .4s ease;
	}
	.musicInfo__btn .comLink__cont:hover .musicInfo__btnArrow{
		background-color: #fff;
		transform: translateX(25%);
		transition-delay: 0.15s, 0s;
	}
}


/**
* Divider
**/
.musicDivider{
	display: block;
	border: 0;
	height: 0;
	margin: min(calc(48 / var(--vw-min) * 100vw), 48px) 0;
	border-top: 2px dashed var(--color-pink);
}
@media screen and (max-width:768px){
	.musicDivider{
		margin: calc(40 / var(--vw-min) * 100vw) 0;
	}
}


/**
* Artist
**/
.musicArtist__img{
	width: 100%;
	max-width: min(calc(440 / var(--vw-min) * 100vw), 440px);
	margin: 0 auto;
	border-radius: min(calc(16 / var(--vw-min) * 100vw), 16px);
	overflow: hidden;
	background-color: #FFC3DC;
	margin-bottom: min(calc(20 / var(--vw-min) * 100vw), 20px);
}
.musicArtist__img img{
	display: block;
	width: 100%;
	height: auto;
}
.musicArtist__name{
	text-align: center;
	font-size: min(calc(22 / var(--vw-min) * 100vw), 22px);
	font-weight: 800;
	line-height: 1.5;
	color: var(--color-lightblue);
	margin-bottom: min(calc(20 / var(--vw-min) * 100vw), 20px);
}
.musicArtist__block{
	margin-bottom: min(calc(48 / var(--vw-min) * 100vw), 48px);
}
.musicArtist__block:last-child{
	margin-bottom: 0;
}
.musicArtist__subTtl{
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: min(calc(10 / var(--vw-min) * 100vw), 10px);
	margin-bottom: min(calc(16 / var(--vw-min) * 100vw), 16px);
}
.musicArtist__subTtl:before{
	content: '';
	flex-shrink: 0;
	width: min(calc(30 / var(--vw-min) * 100vw), 30px);
	height: min(calc(30 / var(--vw-min) * 100vw), 30px);
	background: url(../img/common/deco_kira-g.svg) no-repeat center / contain;
}
/*sns block*/
.musicArtist__snsBlock{
	margin-top: min(calc(28 / var(--vw-min) * 100vw), 28px);
}
.musicArtist__subTtl span{
	font-family: var(--font-bomb);
	font-size: min(calc(28 / var(--vw-min) * 100vw), 28px);
	line-height: 1.2;
	color: var(--color-pink);
}
.musicArtist__subTtl._snsTtl span{
	font-size: min(calc(22 / var(--vw-min) * 100vw), 22px);
}
.musicArtist__subTtl._snsTtl::before{
	display: none;
}
@media screen and (max-width:768px){
	.musicArtist__subTtl._snsTtl span{
		font-size: calc(18 / var(--vw-min) * 100vw);
	}
}

.musicArtist__txt{
	font-size: min(calc(16 / var(--vw-min) * 100vw), 16px);
	font-weight: 800;
	line-height: 2;
	letter-spacing: 0.04em;
	color: var(--color-lightblue);
}
@media screen and (max-width:768px){
	.musicArtist__img{
		border-radius: calc(12 / var(--vw-min) * 100vw);
		margin-bottom: calc(20 / var(--vw-min) * 100vw);
	}
	.musicArtist__name{
		font-size: calc(18 / var(--vw-min) * 100vw);
		margin-bottom: calc(20 / var(--vw-min) * 100vw);
	}
	.musicArtist__block{
		margin-bottom: calc(28 / var(--vw-min) * 100vw);
	}
	.musicArtist__subTtl{
		gap: calc(8 / var(--vw-min) * 100vw);
		margin-bottom: calc(12 / var(--vw-min) * 100vw);
	}
	.musicArtist__subTtl:before{
		width: calc(18 / var(--vw-min) * 100vw);
		height: calc(18 / var(--vw-min) * 100vw);
	}
	.musicArtist__subTtl span{
		font-size: calc(18 / var(--vw-min) * 100vw);
	}
	.musicArtist__txt{
		font-size: calc(12 / var(--vw-min) * 100vw);
	}
}


/**
* SNS icons
**/
.musicSnsLists{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: min(calc(10 / var(--vw-min) * 100vw), 10px);
}
.musicSnsItem{
	width: min(calc(46 / var(--vw-min) * 100vw), 46px);
	height: min(calc(46 / var(--vw-min) * 100vw), 46px);
}
.musicSnsItem__link{
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	overflow: hidden;
	background-color: var(--color-pink);
	border: 1px solid var(--color-lightblue);
	border-radius: 50%;
	position: relative;
}
.musicSnsItem__link:after{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: min(calc(24 / var(--vw-min) * 100vw), 24px);
	height: min(calc(24 / var(--vw-min) * 100vw), 24px);
	margin: auto;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
	background-color: #fff;
}
.musicSnsItem__link[data-sns="home"]:after{
	width: min(calc(18 / var(--vw-min) * 100vw), 18px);
	height: min(calc(18 / var(--vw-min) * 100vw), 18px);
	-webkit-mask-image: url(../img/common/icon_home.svg);
	mask-image: url(../img/common/icon_home.svg);
}
.musicSnsItem__link[data-sns="youtube"]:after{
	-webkit-mask-image: url(../img/common/icon_youtube.svg);
	mask-image: url(../img/common/icon_youtube.svg);
}
.musicSnsItem__link[data-sns="x"]:after{
	-webkit-mask-image: url(../img/common/icon_tw.svg);
	mask-image: url(../img/common/icon_tw.svg);
	width: min(calc(20 / var(--vw-min) * 100vw), 20px);
	height: min(calc(20 / var(--vw-min) * 100vw), 20px);
}
.musicSnsItem__link[data-sns="instagram"]:after{
	-webkit-mask-image: url(../img/common/icon_instagram.svg);
	mask-image: url(../img/common/icon_instagram.svg);
}
.musicSnsItem__link[data-sns="tiktok"]:after{
	-webkit-mask-image: url(../img/common/icon_tiktok.svg);
	mask-image: url(../img/common/icon_tiktok.svg);
}
@media screen and (max-width:768px){
	.musicSnsLists{
		gap: calc(12 / var(--vw-min) * 100vw);
	}
	.musicSnsItem{
		width: calc(42 / var(--vw-min) * 100vw);
		height: calc(42 / var(--vw-min) * 100vw);
	}
	.musicSnsItem__link:after{
		width: calc(18 / var(--vw-min) * 100vw);
		height: calc(18 / var(--vw-min) * 100vw);
	}
	.musicSnsItem__link[data-sns="x"]:after{
		width: calc(16 / var(--vw-min) * 100vw);
		height: calc(16 / var(--vw-min) * 100vw);
	}
}
@media screen and (hover:hover) and (pointer: fine){
	.musicSnsItem__link:after{
		transition: transform .3s ease;
	}
	.musicSnsItem__link:hover:after{
		transform: scale(120%);
	}
}

.musicInfo__btnTxt.txt-jp{
	font-family: var(--font-mplus);
	font-size: min(calc(18 / var(--vw-min) * 100vw), 18px);
	font-weight: 800;
}

/** BG **/
.musicArticle__bg{
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	pointer-events: none;
}
.musicArticle__bg--frame{
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	border-radius: min(calc(10 / var(--vw-min) * 100vw), 10px);
	overflow: hidden;
	background-color: #fff;
}
.musicArticle__bg--frame:before{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	border-radius: min(calc(10 / var(--vw-min) * 100vw), 10px);
	border: 1px solid #59DEDE;
	z-index: 1;
}
.musicArticle__bg--frame:after{
	content: '';
	position: absolute;
	top: 6px;
	right: 6px;
	bottom: 6px;
	left: 6px;
	border-radius: min(calc(8 / var(--vw-min) * 100vw), 8px);
	border: 1px solid #59DEDE;
	z-index: 1;
}
.musicArticle__bg--frame_line{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	border-radius: min(calc(8 / var(--vw-min) * 100vw), 8px);
	border: 6px solid #DEFBFB;
}
.musicArticle__bg--sideDeco{
	position: absolute;
	top: -5px;
	right: -5px;
	bottom: -5px;
	left: -5px;
	background-image: url(../img/common/deco_side_tl-blue.svg), url(../img/common/deco_side_tr-blue.svg), url(../img/common/deco_side_br-blue.svg), url(../img/common/deco_side_bl-blue.svg);
	background-repeat: no-repeat;
	background-position: left top, right top, right bottom, left bottom;
	background-size: 40px 40px;
	z-index: 1;
}
@media screen and (max-width:768px){
	.musicArticle__bg--frame,
	.musicArticle__bg--frame:before{
		border-radius: calc(10 / var(--vw-min) * 100vw);
	}
	.musicArticle__bg--frame_line{
		border-radius: calc(8 / var(--vw-min) * 100vw);
	}
	.musicArticle__bg--sideDeco{
		background-size: 28px 28px;
	}
}


/**
* comLink
**/
.comLink{
	display: inline-block;
	pointer-events: none;
	position: relative;
	text-decoration: none;
}
.comLink:before{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 1px solid #59DEDE;
	background-color: #FFC3DC;
	border-radius: min(calc(50 / var(--vw-min) * 100vw), 50px);
	transform: translateY(3px);
}
.comLink__cont{
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: min(calc(60 / var(--vw-min) * 100vw), 60px);
	height: min(calc(30 / var(--vw-min) * 100vw), 30px);
	border-radius: min(calc(50 / var(--vw-min) * 100vw), 50px);
	background-color: #fff;
	border: 1px solid #59DEDE;
	position: relative;
	z-index: 1;
	pointer-events: auto;
	cursor: pointer;
	text-align: center;
	padding: 0 min(calc(16 / var(--vw-min) * 100vw), 16px);
	color: var(--color-pink);
}
@media screen and (max-width:768px){
	.comLink__cont{
		min-width: calc(60 / var(--vw-min) * 100vw);
		height: calc(30 / var(--vw-min) * 100vw);
	}
}
@media screen and (hover:hover) and (pointer: fine){
	.comLink__cont{
		transition: transform .3s ease, background-color .3s ease, color .3s ease;
	}
	.comLink__cont:hover{
		transform: translateY(2px);
		background-color: var(--color-pink);
		color: #fff;
	}
}


