@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@600&family=Noto+Serif+JP:wght@400;500;600;700;900&family=Roboto:wght@700&display=swap');


html, body {
	background: #000000;
}
/* 確認用ガイド（後で消す） */
/* body::after {
	content: "";
	position: fixed;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 1440px;
	height: 100%;
	pointer-events: none;
	z-index: 9999;
	border: 1px solid#000;
} */
#contents a {
	transition: opacity 0.3s;
	opacity: 1;
}
#contents a:hover{
	transition-duration: 0s;
	opacity: 0.5;
}
.sp {
	display: none;
}

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

	#contents a:hover {
		opacity: 1;
	}
	#contents .hover_cursor:hover:before {
		opacity: 1;
	}
	.sp {
		display: block;
	}
	.pc{
		display: none;
	}

	/* 確認用ガイド（後で消す） */
	/* body::after {
		content: "";
		position: fixed;
		top: 0;
		left: 50%;
		transform: translateX(-50%);
		width: 350px;
		height: 100%;
		pointer-events: none;
		z-index: 9999;
		border: 1px solid#000;
	} */

}/* @media */


#wp {
}

#sqexHeader-black {
	z-index: 2;
	position: relative;
}
footer#sqexFooter.sqex-footer-black {
	overflow: hidden;
	z-index: 2;
	position: relative;
}

#contents {
	background: transparent !important;
	width: 100%;
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	font-family: 'Noto Serif JP', serif;
	overflow: hidden;
	line-break: strict;
	overflow-wrap: break-word;
}

	/* bg slideshow */
	#bg-slideshow {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		z-index: 0;
		background: #000;
	}
	#bg-slideshow::after {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: rgba(243, 237, 223, 0.8);
		z-index: 1;
	}
	#bg-slideshow .bg-slide {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		opacity: 0;
		transition: opacity 1.5s ease;
	}
	#bg-slideshow .bg-slide.active {
		opacity: 1;
	}
	#bg-slideshow .bg-pc,
	#bg-slideshow .bg-sp {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-repeat: no-repeat;
		background-position: center top;
		background-size: cover;
	}
	#bg-slideshow .bg-sp { display: none; }
	#bg-slideshow .bg-pc { display: block; }
	@media screen and (max-width: 780px) {
		#bg-slideshow .bg-sp { display: block; }
		#bg-slideshow .bg-pc { display: none; }
	}/* @media */

	#contents .contents_inner {
		margin: 0 auto 0 auto;
		width: 100%;
		position: relative;
		color: #333333;
	}
	.contents_wrap {
		width: 100%;
		max-width: 1440px;
		margin: 0 auto;
	}

/* ================================
   セクション見出し共通
================================ */
	.contents_tit p {
		font-family: 'Cinzel', serif;
		font-weight: 600;
		font-size: 69px;
		line-height: 1.35;
		letter-spacing: 0.69px;
		text-align: center;
		background: linear-gradient(108deg, rgb(80, 52, 23) 42%, rgb(26, 12, 3) 60%);
		-webkit-background-clip: text;
		-webkit-text-fill-color: transparent;
		background-clip: text;
		filter: drop-shadow(0px 0px 30px white) drop-shadow(0px 0px 5px white);
		font-feature-settings: 'palt' 1;
	}
	@media screen and (max-width: 780px) {
		.contents_tit p {
			font-size: 12.82vw;
		}
	}/* @media */


/* ================================
   言語切り替え
================================ */
	.lang {
		display: flex;
		justify-content: flex-end;
		list-style: none;
		margin: 20px 60px 0 0;
		padding: 0;
		z-index: 2;
		position: relative;
	}
		.lang .lang_btn .lang_sp { display: none; }
		.lang .lang_btn .lang_pc { display: inline; }
		.lang .lang_btn {
			width: 93px;
			height: 29px;
			display: flex;
			align-items: center;
			justify-content: center;
			background: #000;
			border: 0.5px solid #e3cda4;
			box-sizing: border-box;
			cursor: pointer;
		}
		.lang .lang_btn:first-child {
			border-radius: 3px 0 0 3px;
		}
		.lang .lang_btn:last-child {
			border-radius: 0 3px 3px 0;
		}
		.lang .lang_btn.active {
			background: linear-gradient(90deg, rgb(169, 27, 26) 0%, rgb(119, 14, 17) 100%);
			cursor: default;
		}
			.lang .lang_btn span,
			.lang .lang_btn a {
				font-family: 'Noto Serif JP', serif;
				font-weight: 700;
				font-size: 13px;
				color: #fff3d8;
				text-decoration: none;
				line-height: 1;
				letter-spacing: 0;
				font-feature-settings: 'pwid' 1, 'palt' 1;
				display: block;
				text-align: center;
			}
			.lang .lang_btn a {
				width: 100%;
				height: 100%;
				display: flex;
				align-items: center;
				justify-content: center;
			}

	@media screen and (max-width: 780px) {
		.lang {
			margin: 15px 20px 0 0;
		}
			.lang .lang_btn {
				width: 50px;
				height: 26px;
			}
				.lang .lang_btn span,
				.lang .lang_btn a {
					font-size: 11px;
				}
				.lang .lang_btn .lang_sp { display: inline; }
				.lang .lang_btn .lang_pc { display: none; }
	}/* @media */


/* ================================
   MV
================================ */
		.contents_mv {
			max-width: 1440px;
			margin: 0 auto;
			position: relative;
			padding: 0 0 0 0;
		}

/* ================================
   MV ジャケット
================================ */
		.mv_jacket {
			width: 49.51%;
			position: absolute;
			left: 4.375%;
			top: 10px;
			z-index: 2;
			line-height: 0;
			box-shadow: 5px 5px 30px rgba(0, 0, 0, 0.5);
		}

/* ================================
   MV タイトル・発売日
================================ */
		.mv_title {
			width: 37.57%;
			margin-left: 58.06%;
			line-height: 0;
			margin-top: 50px;
		}

/* ================================
   MV STORE（帯背景 + ボタン）
================================ */
		.mv_store {
			position: relative;
			padding: 35px 0 25px 0;
			margin: 30px 0 0 0;
		}
		.mv_store::after {
			content: "";
			position: absolute;
			top: 0;
			left: 50%;
			margin-left: -50vw;
			width: 100vw;
			height: 100%;
			background: linear-gradient(90deg, rgba(4,30,69,0.3) 0%, #041e45 67.58%);
			opacity: 0.8;
			z-index: 1;
		}
			.mv_store_bigtit {
				position: absolute;
				top: 0;
				right: 35px;
				font-family: 'Cinzel', serif;
				font-weight: 600;
				font-size: clamp(40px, 4.514vw, 65px);
				line-height: 1.8;
				color: rgba(16, 32, 45, 0.45);
				opacity: 0.7;
				z-index: 2;
			}
			.mv_store_sub {
				width: 37.57%;
				margin-left: 58.06%;
				font-family: 'Noto Serif JP', serif;
				font-weight: 900;
				font-size: clamp(18px, 1.667vw, 24px);
				line-height: 1.7;
				color: #f1f0c6;
				text-shadow: 3px 3px 8px rgba(0, 0, 0, 0.35);
				margin-bottom: 25px;
				position: relative;
				z-index: 2;
			}
			.mv_store_list {
				width: 36.67%;
				margin-left: 58.47%;
				display: flex;
				flex-wrap: wrap;
				justify-content: space-between;
				position: relative;
				z-index: 2;
			}
				.mv_store_list a {
					width: 47.35%;
					height: 54px;
					margin: 0 0 25px 0;
					display: flex;
					justify-content: center;
					align-items: center;
					font-family: 'Noto Serif JP', serif;
					font-size: clamp(12px, 1.042vw, 15px);
					font-weight: 700;
					color: #f3eddf;
					text-decoration: none;
					text-align: center;
					background: url(../images/btn_store.png) no-repeat center center;
					background-size: 100% 100%;
					transition: opacity 0.3s;
				}
				.mv_store_list a:hover {
					opacity: 0.8 !important;
				}
			/* EN版 */
			.contents_en .mv_store_list {
				margin-bottom: 220px;
			}
			/* .contents_en .mv_store_list a {
				width: 100%;
			} */
			.mv_store_detail {
				position: relative;
				z-index: 2;
				font-family: 'Noto Serif JP', serif;
				font-weight: 700;
				font-size: clamp(14px, 1.25vw, 18px);
				line-height: 1.8;
				color: #fff;
				text-align: center;
				text-shadow: 0px 0px 6px black;
				letter-spacing: 1.8px;
				font-feature-settings: 'palt' 1;
				margin-top: 15px;
			}

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

		.contents_mv {
			padding: 0;
		}
		.mv_jacket {
			position: static;
			width: 100%;
			top: 0;
			left: auto;
			box-shadow: none;
			box-shadow: 5px 5px 30px 0 rgba(0, 0, 0, 0.50);
		}
		.mv_title {
			width: 100%;
			margin-left: 0;
			margin-top: 0;
		}
		.lang {
			position: absolute;
			top: 15px;
			right: 20px;
			margin: 0;
		}
		.mv_store {
			padding: 40px 20px;
			margin-top: 0;
		}
			.mv_store_bigtit {
				width: 100%;
				margin-left: 0;
				font-size: 45px;
				text-align: right;
				right: 13px;
			}
			.mv_store_sub {
				width: 100%;
				margin-left: 0;
				font-size: 22px;
				text-align: left;
				text-shadow:
					3px 3px 6px rgba(0, 0, 0, 0.70),
					3px 3px 8px rgba(0, 0, 0, 0.35);
			}
			.mv_store_list {
				width: 100%;
				margin-left: 0;
				flex-direction: column;
				align-items: center;
			}
				.mv_store_list a {
					font-size: 3.846vw;
					width: 71.43%;
					max-width: 250px;
					margin: 0 0 13px 0;
					box-shadow: 3px 3px 6px 0 rgba(0, 0, 0, 0.70);
				}
				.mv_store_list a:hover {
					opacity: 1 !important;
				}
			/* EN版 */
			.contents_en .mv_store_list {
				margin-bottom: 0;
			}
			.contents_en .mv_store_list a {
				font-size: 3.346vw;
			}
			.mv_store_detail {
				width: 100%;
				margin-left: 0;
				font-size: 14px;
				font-weight: 400;
				line-height: 1.5;
				text-align: left;
				padding: 0;
				box-sizing: border-box;
				margin-top: 15px;
			}

}/* @media */


/* ================================
   READ（テキスト）
================================ */
		.contents_read {
			margin: 0 auto;
			padding: 60px 0;
		}
			.contents_read .contents_box {
				max-width: 900px;
				margin: 0 auto;
				text-align: center;
			}
				.contents_read .contents_box .txt {
					font-size: 20px;
					font-weight: 600;
					line-height: 2;
					color: #000;
					text-shadow: 2px 2px 50px white, 1px 1px 5px white;
					font-feature-settings: 'palt' 1;
					letter-spacing: 1px;
				}
				.contents_read .contents_box .note {
					font-size: 14px;
					color: rgba(16, 32, 45, 0.8);
					margin-top: 20px;
					line-height: 2;
					font-weight: 500;
					letter-spacing: 0.28px;
					font-feature-settings: 'palt' 1;
				}

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

		.contents_read {
			padding: 40px 0;
		}
			.contents_read .contents_box {
				width: 89.74%;
			}
				.contents_read .contents_box .txt {
					font-size: 16px;
					text-align: center;
					line-height: 1.9;
				}
				.contents_read .contents_box .note {
					font-size: 12px;
					text-align: left;
				}

}/* @media */


/* ================================
   MOVIE
================================ */
		.contents_movie {
			margin: 0 auto 0 auto;
			padding: 40px 0 30px 0;
		}
		.contents_movie .contents_tit {
			width: 36.60%;
			margin: 0 auto 25px auto;
		}
			.contents_movie .movie {
				width: 100%;
				max-width: 960px;
				margin: 0 auto 0 auto;
				position: relative;
			}
			.contents_movie .movie div {
				position: relative;
				padding-bottom: 56.25%;
				height: 0;
				overflow: hidden;
				width: 100%;
				max-width: 100%;
				background: #242424;
			}
				.contents_movie iframe, .contents_movie object, .contents_movie embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

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

		.contents_movie {
			width: 89.74%;
			margin: 20px auto 0 auto;
			padding: 0 0 0 0;
		}
		.contents_movie .contents_tit {
			width: 100%;
			margin: 0 auto 30px auto;
		}
			.contents_movie .movie {
				width: 100%;
				margin: 0 auto 20px auto;
				position: relative;
			}
			.contents_movie .movie div {
				padding-bottom: 56.25%;
			}

}/* @media */


/* ================================
   TRACK LIST
================================ */
		.contents_tracklist {
			width: 100%;
			margin: 65px auto 0 auto;
			position: relative;
			z-index: 0;
		}

		.contents_tracklist .contents_tit {
			width: 36.60%;
			margin: 0 auto 50px auto;
		}

			.contents_tracklistwrap {
				width: 100%;
				max-width: 1220px;
				margin: 0 auto;
				display: flex;
				flex-wrap: wrap;
				justify-content: space-between;
			}
			.contents_tracklistbox {
				width: 47.54%;
				margin-bottom: 50px;
				background: rgba(252, 244, 221, 0.8);
				border-radius: 5px;
				overflow: hidden;
			}

				.contents_tracklist .contents_stit {
					width: 100%;
					height: 56px;
					background: linear-gradient(245deg, rgb(121, 14, 17) 2%, rgba(165, 26, 26, 0) 99%);
					display: flex;
					align-items: center;
					padding: 0 20px;
					box-sizing: border-box;
					font-family: 'Cinzel', serif;
					font-weight: 700;
					font-size: 25px;
					line-height: 1.35;
					letter-spacing: 0.25px;
					background-clip: padding-box;
					color: transparent;
					position: relative;
				}
					.contents_tracklist .contents_stit span {
						background: linear-gradient(108deg, rgb(80, 52, 23) 1%, rgb(26, 12, 3) 19%);
						-webkit-background-clip: text;
						-webkit-text-fill-color: transparent;
						background-clip: text;
						filter: drop-shadow(0px 0px 30px white) drop-shadow(0px 0px 5px white);
					}
					.contents_tracklist .contents_stit img {
						height: auto;
						max-height: 30px;
					}

				.contents_tracklist .contents_list {
					padding: 25px 20px 25px 10px;
					display: flex;
					flex-direction: column;
				}
					.contents_tracklist .contents_list .contents_item {
						width: 100%;
						margin: 0 0 10px 0;
						padding: 0;
						display: flex;
						align-items: center;
					}
					.contents_tracklist .contents_list .contents_item:last-child {
						margin-bottom: 0;
					}
					.contents_tracklist .contents_list .contents_item .txtbox {
						margin-left: 5px;
					}

					.contents_tracklist .contents_list .contents_item.track_samples {
						cursor: default; /* 視聴実装時にpointerに戻す */
					}
						.contents_tracklist .contents_list .contents_item .txtbox {
							width: 100%;
						}
						.contents_tracklist .contents_list .contents_item .tit {
							font-weight: 400;
							font-size: 16px;
							line-height: 1.5;
							color: #404040;
							display: flex;
						}
						.contents_tracklist .contents_list .contents_item .tit .num {
							flex: 0 0 20px;
							text-align: right;
							margin-right: 4px;
						}
						.contents_tracklist .contents_list .contents_item .txt {
							font-size: 12px;
							line-height: 1.4;
							color: #808080;
						}
							.contents_tracklist .contents_list .contents_item:before {
								display: none;
							}
							.contents_tracklist .contents_list .contents_item.track_samples:before {
								content: "";
								width: 18px;
								height: 18px;
								display: block;
								flex: 0 0 auto;
								background: url(../images/arrow_01.png) no-repeat center center;
								background-size: contain;
							}
							.contents_tracklist .contents_list .contents_item.track_samples.live:before {
								content: "";
								width: 18px;
								height: 18px;
								display: block;
								flex: 0 0 auto;
								background: url(../images/arrow_02.png) no-repeat center center;
								background-size: contain;
							}
					.contents_tracklist .contents_list .coming {
						padding: 10px 0;
						font-size: 16px;
						font-weight: 400;
						color: #404040;
						text-align: center;
					}

		.contents_tracklist > .contents_wrap > .note {
			max-width: 1220px;
			margin: 10px auto 0 auto;
			font-size: 16px;
			font-weight: 500;
			color: rgba(16, 32, 45, 0.8);
			text-align: center;
			line-height: 2;
			letter-spacing: 0.32px;
			font-feature-settings: 'palt' 1;
		}

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

		.contents_tracklist {
			width: 89.74%;
			margin: 50px auto 0 auto;
		}

		.contents_tracklist .contents_tit {
			width: 100%;
			margin: 0 auto 10px auto;
		}
			.contents_tracklistwrap {
				max-width: 100%;
				margin: 0 auto;
				display: flex;
				flex-direction: column;
				align-items: center;
			}
			.contents_tracklistbox {
				width: 100%;
				max-width: 100%;
				margin: 14px 0;
			}
			.contents_tracklist .contents_list {
				padding: 25px 20px 25px 0;
			}
				.contents_tracklist .contents_list .contents_item .tit {
					font-size: 16px;
				}
				.contents_tracklist > .contents_wrap > .note {
					font-size: 16px;
				}

}/* @media */


/* ================================
   BONUS（早期特典）
================================ */
		.contents_bonus {
			margin: 70px auto 0 auto;
			padding: 70px 0;
			background:
				linear-gradient(90deg, rgba(4, 30, 69, 0.14) 0%, rgba(4, 30, 69, 0.7) 67%),
				rgba(198, 172, 91, 0.056);
			position: relative;
			z-index: 0;
		}
			.bonus_inner {
				max-width: 1060px;
				margin: 0 auto;
				display: flex;
				align-items: center;
			}
				.bonus_img {
					width: 28.30%;
					flex: 0 0 28.30%;
					margin-left: 8.02%;
					line-height: 0;
					box-shadow: 5px 5px 20px rgba(0, 0, 0, 0.4);
				}
					.bonus_img img {
						width: 100%;
						height: auto;
						display: block;
					}
				.bonus_detail {
					width: 57.08%;
					margin-left: auto;
					color: #fff;
				}
					.bonus_label {
						font-size: 16px;
						font-weight: 400;
						line-height: 1.5;
						margin-bottom: 0;
					}
					.bonus_name {
						font-size: 36px;
						font-weight: 700;
						line-height: 1.5;
						color: #f1f0c6;
						text-indent: -0.5em;
						margin-bottom: 25px;
					}
					.bonus_btn {
						margin-bottom: 25px;
					}
						.bonus_btn a {
							display: flex;
							align-items: center;
							justify-content: center;
							width: 250px;
							height: 54px;
							background: linear-gradient(90deg, #47d6ff 0%, #0f64b8 100%);
							box-shadow: 0 2px 7px rgba(0, 0, 0, 0.2);
							color: #fff;
							font-family: 'Noto Serif JP', serif;
							font-size: 13px;
							font-weight: 600;
							text-decoration: none;
							text-align: center;
							transition: opacity 0.3s;
						}
						.bonus_btn a:hover {
							opacity: 0.8 !important;
						}
					.bonus_note {
						font-size: 12px;
						font-weight: 200;
						line-height: 1.8;
						color: #fff;
					}

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

		.contents_bonus {
			margin: 50px auto 0 auto;
			padding: 40px 20px;
		}
			.bonus_inner {
				flex-direction: column;
				align-items: center;
				width: 100%;
				margin: 0 auto;
			}
				.bonus_img {
					width: 85.71%;
					flex: 0 0 auto;
					margin-left: 0;
					margin-bottom: 25px;
				}
				.bonus_detail {
					width: 100%;
					text-align: center;
					text-shadow: 3px 3px 6px rgba(0, 0, 0, 0.70);
				}
					.bonus_label {
						font-size: 16px;
						text-align: center;
					}
					.bonus_name {
						font-size: 34px;
						text-align: center;
						margin-bottom: 5px;
					}
					.bonus_btn {
						margin-bottom: 20px;
					}
					.bonus_btn a {
						width: 71.43%;
						margin: 0 auto;
						box-shadow: 3px 3px 6px 0 rgba(0, 0, 0, 0.70);
						text-shadow: none;
					}
					.bonus_note {
						text-align: left;
						font-size: 12px;
						font-weight: 200;
					}

}/* @media */


/* ================================
   GUID（リンクバナー）
================================ */
		.contents_guid {
			width: 100%;
			max-width: 1440px;
			margin: 0 auto;
			padding: 80px 0 60px 0;
		}
			.contents_guid .contents_box {
				display: flex;
				flex-wrap: wrap;
				justify-content: space-between;
			}
				.contents_guid .guid_btn {
					width: 44.44%;
					margin: 0 auto;
					line-height: 0;
					filter: drop-shadow(0 0 4px rgba(0, 0, 0, 0.25));
				}

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

		.contents_guid {
			padding: 70px 0 50px 0;
		}
			.contents_guid .guid_btn {
				width: 89.74%;
			}

}/* @media */


/* ================================
   購入ボタン（固定）
================================ */
#btn_buy {
	position: fixed;
	bottom: 10px;
	right: 0;
	z-index: 99;
	line-height: 0;
	width: 20%;
	max-width: 250px;
	filter: drop-shadow(0 0 14px rgba(0, 0, 0, 0.50));
}
	#btn_buy a {
		display: block;
	}
	#btn_buy img {
		width: 100%;
		height: auto;
	}

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

	#btn_buy {
		bottom: 0;
		right: 0;
		width: 100%;
		max-width: 100%;
		filter: drop-shadow(0 0 14px rgba(0, 0, 0, 0.50));
	}
		#btn_buy img {
			width: 100%;
		}

}/* @media */


/* ================================
   BGM button
================================ */
#btn_bgm {
	position: fixed;
	bottom: 20px;
	right: 20px;
	z-index: 100;
	width: 40px;
	height: 40px;
	cursor: pointer;
}
