/* callページ用footer（ダークブルー系） */
.footer.call-footer {
	background: linear-gradient(135deg, #0d133d 0%, #1a237e 60%, #e0e7ff 100%) !important;
	color: #e0e7ff !important;
	text-shadow: 0 1px 8px #0d133d;
}

/* callページ用footerのボタン */
.footer.call-footer .btn {
	background: linear-gradient(90deg, #1a237e 0%, #3a3f7a 100%);
	color: #fff;
	border: none;
	font-weight: bold;
	box-shadow: 0 2px 8px #0d133d55;
	border-radius: 1.5em;
	padding: 0.6em 2.2em;
	font-size: 1.1em;
	transition: background 0.3s, color 0.2s, box-shadow 0.2s;
}
.footer.call-footer .btn:hover, .footer.call-footer .btn:focus {
	background: linear-gradient(90deg, #3a3f7a 0%, #e0e7ff 100%);
	color: #1a237e;
	box-shadow: 0 4px 16px #e0e7ff99;
}
html, body {
	overflow-x: hidden;
	max-width: 100vw;
	background: linear-gradient(120deg, #0d133d 0%, #1a237e 40%, #3a3f7a 70%, #e0e7ff 100%) !important;
}
.songlist a {
	position: relative;
	overflow: visible;
}
.songlist a::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 100%;
	transform: translateY(-50%) translateX(8px);
	height: 2px;
	width: 0;
	background: #7a4fa3;
	filter: drop-shadow(0 1px 1px #e6e6fa);
	will-change: width, transform;
	transition: width 220ms ease;
	pointer-events: none;
}
.songlist a::before {
	content: "";
	position: absolute;
	top: 50%;
	left: calc(100% + 8px + 14px);
	transform: translateY(-50%) translateX(-6px);
	border-top: 4px solid transparent;
	border-bottom: 4px solid transparent;
	border-left: 6px solid #7a4fa3;
	filter: drop-shadow(0 1px 1px #e6e6fa);
	will-change: transform, opacity;
	opacity: 0;
	transition: transform 220ms ease, opacity 220ms ease;
	pointer-events: none;
}
.songlist a:hover::after,
.songlist a:focus::after {
	width: 14px;
}
.songlist a:hover::before,
.songlist a:focus::before {
	transform: translateY(-50%) translateX(0);
	opacity: 1;
}
@media (prefers-reduced-motion: reduce) {
	.songlist a::after, .songlist a::before {
		transition: none !important;
	}
}
/* ボタン右外に伸びるライン＋矢印 */
.btn::after,
.btn-artisthome::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 100%;
	transform: translateY(-50%) translateX(8px);
	height: 2px;
	width: 0;
	background: rgba(0,0,0,0.75);
	filter: drop-shadow(0 1px 1px rgba(0,0,0,0.18));
	will-change: width, transform;
	transition: width 220ms ease;
	pointer-events: none;
}
.btn::before,
.btn-artisthome::before {
	content: "";
	position: absolute;
	top: 50%;
	left: calc(100% + 8px + 14px);
	transform: translateY(-50%) translateX(-6px);
	border-top: 4px solid transparent;
	border-bottom: 4px solid transparent;
	border-left: 6px solid rgba(0,0,0,0.75);
	filter: drop-shadow(0 1px 1px rgba(0,0,0,0.18));
	will-change: transform, opacity;
	opacity: 0;
	transition: transform 220ms ease, opacity 220ms ease;
	pointer-events: none;
}
.btn:hover::after,
.btn-artisthome:hover::after {
	width: 14px;
}
.btn:hover::before,
.btn-artisthome:hover::before {
	transform: translateY(-50%) translateX(0);
	opacity: 1;
}
@media (prefers-reduced-motion: reduce) {
	.btn::after, .btn-artisthome::after,
	.btn::before, .btn-artisthome::before {
		transition: none !important;
	}
}
@keyframes fadeInDown {
	from {
		opacity: 0;
		transform: translateY(-32px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}
.songlist-card {
	/* ...既存... */
	animation: fadeInDown 1.1s cubic-bezier(.4,0,.2,1) both;
}
/* 楽曲一覧カード */
.songlist-center-wrap {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	margin: 0 auto 32px auto;
}
.songlist-card {
	background: linear-gradient(100deg, #1a237e 60%, #3a3f7a 100%);
	border-radius: 22px;
	box-shadow: 0 4px 18px #e6e6fa55;
		padding: 2.2em 2.5em 2em 2.5em;
	margin: 0 auto 1.5em auto;
	max-width: 480px;
	width: 100%;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: center;
}
.songlist-card h1 {
	margin-top: 0;
	margin-bottom: 1.2em;
	font-size: 2.1em;
	background: linear-gradient(90deg, #0d133d 0%, #1a237e 100%);
	color: #e0e7ff;
	border-radius: 1.5em;
	padding: 0.5em 1.5em;
	box-shadow: 0 2px 12px #e6e6fa55;
	display: inline-block;
}
.songlist {
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 0.7em;
}
.songlist a, .songlist p {
	text-align: left;
	font-size: 1.13em;
	 color: #e0e7ff;
	 background: linear-gradient(90deg, #1a237e 55%, #3a3f7a 80%, #e0e7ff 100%);
	background-size: 200% 100%;
	background-position: 0% 0;
	border-radius: 12px;
	padding: 0.6em 1em;
	margin: 0;
	box-shadow: 0 1px 6px #e6e6fa33;
	transition: background-position 0.5s cubic-bezier(.4,0,.2,1), color 0.2s, box-shadow 0.2s;
	text-decoration: none;
	font-weight: 500;
}
.songlist a:hover, .songlist a:focus {
	 background-position: 100% 0;
	 color: #0d133d;
	 box-shadow: 0 2px 12px #e0e7ff99;
}
.songlist p {
	cursor: default;
}
@media (max-width: 600px) {
	html, body {
		overflow-x: hidden;
		max-width: 100vw;
	}
	.songlist-card {
		max-width: 99vw;
		padding: 1.2em 0.5em 1.5em 0.5em;
	}
	.songlist a, .songlist p {
		font-size: 0.93em;
		padding: 0.5em 0.7em;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		max-width: 100%;
		display: block;
	}
}
/* 歌詞ページ用h1装飾 */
h1 {
	background: linear-gradient(90deg, #0d133d 0%, #1a237e 100%);
	color: #e0e7ff;
	border-radius: 1.5em;
	padding: 0.5em 1.5em;
	margin: 0.7em auto 0.2em auto;
	box-shadow: 0 2px 12px #e6e6fa55;
	display: inline-block;
}
/* 歌詞中央揃え・テキスト左寄せ・スマホ対応 */
.lyrics-center-wrap {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	width: 100vw;
	margin: 0 auto 24px auto;
}

.lyrics-text {
	text-align: center;
	background: rgba(255,255,255,0.85);
	border-radius: 18px;
	box-shadow: 0 2px 16px #e6e6fa55;
	padding: 2.2em 0.5em 2em 0.5em;
	margin: 1.5em auto;
	white-space: normal;
	word-break: break-word;
	max-width: 640px;
	width: 100%;
	font-size: 1.13em;
	line-height: 2.1;
	letter-spacing: 0.02em;
	box-sizing: border-box;
}

.lyrics-text p {
	margin: 0 0 0.5em 0;
	padding: 0;
	text-align: left;
	word-break: break-word;
}
@media (max-width: 700px) {
						.lyrics-text {
							max-width: 98vw;
							padding: 1.2em 0.2em 1.5em 0.2em;
							font-size: 0.85em;
							font-weight: 600;
						}
}
@media (max-width: 500px) {
	.lyrics-center-wrap {
		padding: 0;
	}
		.lyrics-text {
			max-width: 100vw;
			border-radius: 12px;
			box-shadow: none;
			padding: 0.7em 0.1em 1.2em 0.1em;
			font-size: 0.97em;
		}
}

/* callindex.html専用 コンサートイメージ配色 */
body.callindex-bg {
  background: linear-gradient(120deg, #0d133d 0%, #1a237e 40%, #3a3f7a 70%, #e0e7ff 100%) !important;
  min-height: 100vh;
}
.main-title.callindex-title {
  background: linear-gradient(90deg, rgba(13,19,61,0.92) 0%, rgba(26,35,126,0.8) 60%, rgba(58,63,122,0.7) 100%) !important;
  border-radius: 1.5em;
  box-shadow: 0 4px 32px #1a237e55, 0 0 80px 10px #e0e7ff44;
  margin: 0 0 24px 0;
}
.group figure figcaption.callindex-caption {
  color: #fff !important;
  text-shadow: 0 2px 8px #0d133d, 0 0 12px #e0e7ff;
  background: none !important;
  border-radius: 0;
  padding: 0.2em 1em;
}
.footer.callindex-footer {
  background: linear-gradient(135deg, #0d133d 0%, #1a237e 60%, #e0e7ff 100%) !important;
  color: #e0e7ff !important;
  text-shadow: 0 1px 8px #0d133d;
}

/* ホームに戻るボタン（ダークブルー系） */
.footer.callindex-footer .btn {
  background: linear-gradient(90deg, #1a237e 0%, #3a3f7a 100%);
  color: #fff;
  border: none;
  font-weight: bold;
  box-shadow: 0 2px 8px #0d133d55;
  border-radius: 1.5em;
  padding: 0.6em 2.2em;
  font-size: 1.1em;
  transition: background 0.3s, color 0.2s, box-shadow 0.2s;
}
.footer.callindex-footer .btn:hover, .footer.callindex-footer .btn:focus {
  background: linear-gradient(90deg, #3a3f7a 0%, #e0e7ff 100%);
  color: #1a237e;
  box-shadow: 0 4px 16px #e0e7ff99;
}
