@charset "UTF-8";

/* L1 ########################################  ######################################## */
/* L2 ****************************************  **************************************** */
/* L3 ========================================  ======================================== */
/* L4 ----------------------------------------  ---------------------------------------- */

/* L1 ######################################## particle js ######################################## */

#particles::before {
	content: "";
	position: fixed;
	z-index: 0;
	inset-block-start: 0;
	inset-inline-start: 0;
	inline-size: 100%;
	block-size: 100%;
	background: rgba(255, 255, 255, 0.8)
}

/* L1 ######################################## コンテンツ ######################################## */

#online-fes {
	display: flex;
	flex-direction: column;
	gap: 1em;
    position: relative;
	max-inline-size: 1200px;
    margin: 3em auto;
}

#online-fes section {
	
}

/* L2 **************************************** イントロダクション **************************************** */

#intro {

}

#intro div.title {
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: bold;
	text-align: center;
	line-height: 1.4;
}

#intro div.title .main {
	color: #008ccf;
	font-size: clamp(1.4rem, 0.891rem + 2.55vw, 2.8rem);
	text-shadow: 2px 2px 0 #ffffff, -2px -2px 0 #ffffff, -2px 2px 0 #ffffff, 2px -2px 0 #ffffff, 0px 2px 0 #ffffff,  0 -2px 0 #FFF, -2px 0 0 #ffffff, 2px 0 0 #ffffff;
}

#intro div.title .main,
#intro div.title .main span.br {
	text-decoration: underline;
	text-decoration-thickness: 0.4em;
	text-decoration-color: #eeeeee;
	text-underline-offset: -0.2em;
	text-decoration-skip-ink: none;
}

#intro div.title .sub {
	font-size: 130%;
}

#intro .time {
	inline-size: fit-content;
	margin: 1em auto;
	padding: 0.2em 1em;
	color: #ffffff;
	font-size: 150%;
	text-align: center;
	background: #cc0000;
	border-radius: 2em;
}

#intro .main-image {
	inline-size: fit-content;
	margin: 2em auto;
}

#intro .main-image img {
	max-inline-size: 750px;
	block-size: auto;
}

#intro .playlist {
	margin-block: 3em;
	
	text-align: center;
}

#intro .playlist p:first-child  {
	font-size: 150%;
}

#intro .playlist .url  {
	font-size: 120%;
	text-align: center;
}

#intro ul {
	position: relative;
	inset-inline-start: -15px;
	inline-size: fit-content;
	margin: 2em auto;
}

#intro ul img {
	inline-size: 1.5em;
	block-size: 1.5em;
}

/* L2 **************************************** タイムテーブル **************************************** */

#timetable {

}

#timetable span {
	display: inline-block;
}

#timetable ul {
	list-style-type: none;
	max-inline-size: 800px;
	margin-inline: auto;
	padding-inline-start: 0;
}

#timetable > ul > li {
	display: flex;
	align-items: center;
	margin-block: 1em;
	font-weight: bold;
	text-align: center;
}

#timetable > ul > li:nth-child(even) {
	flex-direction: row-reverse;
}

#timetable p {
	
}

#timetable .time {
	padding-inline: 10px;
	color: #008ccf;
	font-family: "Ubuntu Condensed", sans-serif;
	font-size: clamp(1.25rem, 0.614rem + 3.18vw, 3rem);
}

#timetable > ul > li:nth-child(even) .time {
	color: #cc0000;
}

#timetable .program {
	flex-grow: 1;
	position: relative;
	padding-block: 0.5em 4px;
	padding-inline: 4px;
	font-family: "Zen Maru Gothic", sans-serif;
	border-radius: 20px;
	background: #feeba6;
	background-image: repeating-linear-gradient(45deg, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.2) 5px, transparent 5px, transparent 10px);
}

#timetable > ul > li.present .program::after {
	content: "";
	position: absolute;
	inset-inline-end: -0.5em;
	inset-block-start: -0.5em;
	z-index: 10;
	inline-size: 2.5em;
	block-size: 2.5em;
	background: url(../images/online-fes/icon_present.png) 50% 50% no-repeat;
	background-size: contain;
}


#timetable .main {
	padding-inline: 1em;
	color: #cc0000;
	font-size: 160%;
}

#timetable > ul > li:nth-child(even) .main {
	color: #008ccf;
}

#timetable > ul > li.live .main::after {
	content: "生配信";
	position: relative;
	top: -0.2em;
	display: inline-block;
	margin-inline-start: 8px;
	padding: 5px;
	font-size: 60%;
	color: #ffffff;
	border-radius: 5px;
	line-height: 1.0;
	background: #97864d;
}



#timetable .sub,
#timetable .ch {
	color: #cc0000;
	padding-inline: 1em;
}

#timetable > ul > li:nth-child(even) .sub,
#timetable > ul > li:nth-child(even) .ch {
	color: #008ccf;
}

#timetable .artist {
	margin-block-start: 0.5em;
	padding: 0.5em 1em;
	border-radius: 20px;
	background: #ffffff;
	box-shadow: inset 0 10px 10px rgba(0, 0, 0, 0.01);
}

#timetable .artist > li {
	display: inline-block;
	margin: 0;
}

#timetable .artist > li.etc {
	color: #666666;
	font-size: 80%;
}

#timetable .artist > li::after {
	content: " / ";
	margin-inline: 0.3em;
	color: #666666;
	font-size: 80%;
}

#timetable .artist:has(li.etc) > li:nth-last-child(2)::after,
#timetable .artist > li:last-child::after {
	display: none;
}

/* L2 **************************************** プレゼント **************************************** */

#present {
	max-inline-size: 1024px;
	margin-block-start: -6em;
	margin-inline: auto;
	padding-block-start: 6em;
}

#present .banner {
	max-inline-size: 800px;
	margin-inline: auto;
	margin-block-end: 1em;
}

#present .banner img {
	inline-size: 100%;
	block-size: auto;
}

#present li {
	margin-block-start: 1em;
}

#present li:first-child {
	margin-block-start: 0;
}

#present strong {
	color: #008ccf;
}

#present li p:first-child {
	font-size: 110%;
}

/* L2 **************************************** アーカイブ **************************************** */

#archive {
	max-inline-size: 1024px;
	margin-block-start: -4em;
	margin-inline: auto;
	padding-block-start: 6em;
	text-align: center;
}

#archive .banner {
	max-inline-size: 800px;
	margin-inline: auto;
	margin-block-end: 1em;
}

#archive .banner img {
	inline-size: 100%;
	block-size: auto;
}
