html {
	max-width: 100vw;
	overflow-x: hidden;

	font-size: 12pt;
}

.top-title {
	margin: 0.2rem 0;
	margin-bottom: 1rem;
}

a {
	color: inherit;
	text-decoration: underline;
}


/* button要素直下のdiv要素ホバーで色を変える */
a :hover, .playlist-inner:hover {
	background: #ffffff;
	color: #ff0000;
}
.playlist a{
	text-decoration: none;
}

body{
	color: #ffffff;
	background: #ff0000;

	font-family: "Inter", "Noto Color Emoji", "Noto Sans JP", sans-serif;
	text-align: left;

	margin: 0;
	padding: 0;
}

header {
	max-width: 600px;

	display: flex;
	justify-content: flex-end;

	margin: 1rem auto;
	height: 36pt;
}

button {
	padding: 0;
	font: inherit;
	color: inherit;
	outline: none;
	border: inherit;
	font-family: inherit;
	font-size: inherit;
	display: inherit;
	background: none;
}

/* button要素 */
.playlist {
	display: block;
	text-align: left;
	width: 100%;
	color: #ffffff;
}

.nav-button {
	display: flex;
	align-items: center;
	
	margin-left: 2rem;
}

nav {
	display: none;
}

nav a {
	text-decoration: none;
}

.active + nav {
	display: block;
	position: absolute;
	top: 60pt;
	background: #ff0000;

	width: 600px;
}

nav ul {
	padding: 0;

	display: flex;
	flex-direction: column;

	background: #ff0000;

	border-bottom: solid 1pt #ffffff;
}

nav li {
	border-top: solid 1pt #ffffff;
	padding: 1rem;
}

.active .in-circle {
	background: #ffffff;
}

.out-circle {
	width: 36pt;
	height: 36pt;
	border: 1px solid #fff;
	border-radius: 100%;

	background: none;

	display: flex;
	align-items: center;
	justify-content: center;
}

.in-circle {
	width: 12pt;
	height: 12pt;
	border: 1px solid #fff;
	border-radius: 100%;

	background: none;
}

header > h1 {
	font-size: 10pt;
	line-height: 1.2;
	font-weight: normal;
	
	display: flex;
	align-items: center;
	margin: 0;
}

main {
	max-width: 600px;
	/* min-height: 100vh; */
	margin: 0 auto;
	padding: 0;
	padding-bottom: 1.5rem;

	text-align: left;
	font-size: 12pt;

	border-top : solid 1px #ffffff;
	border-bottom : solid 1px #ffffff;

	/*
	display: flex;
	align-items: center;
	justify-content: center;
	*/
}
.main-img {
	text-align: center;
}

.main-img > img {
	width:100%;
}

h2 {
	font-size : 14pt;
	font-weight: bold;
	border-bottom : solid 1px #ffffff;
}

article {
	border : solid 1px #ffffff;
	padding : 1rem 2rem;
	line-height: 1.8;
	margin-top: 1rem;
	margin-bottom: 1.5rem;
}

article li {
	padding-left: 0.5rem;
}

h3, h4,p, ul, li {
	margin: 0;
}

ol {
	margin: 0.5rem 0;
}

ul {
	list-style: none;
}

.info-box {
	text-align: right;
	margin: 0.5rem 0;
	margin-top: 1rem;
}

.info-fin {
	background: #ffffff;
	color: #ff0000;
	font-weight: normal;
	padding: 0.5rem 1rem;
	border-radius:2px;
	text-align: center;
}

.footnotes {
	font-size: 10pt;
	margin-top: 1rem;
}

.playlists-arrow {
	margin: 1rem 0;
	margin-bottom: 0.5rem;
}

.platform-list {
	padding: 0;
	margin: 0;
	margin-bottom: 2rem;
}

.platform-list li {
	margin:0.5rem 0;
	padding: 0.5rem;
	padding-left: 0rem;
}
.platform-list a {
	text-decoration: none;
}

.platform-list span {
	text-decoration: underline;
}

footer {
	max-width: 600px;

	text-align: center;
	font-size: 10pt;

	margin: 1rem auto;
	margin-bottom: 0.5rem;
}

@media (max-width : 600px) {
	header, .active + nav, main, footer {
		width: 95vw;
	}

	article {
		padding: 1rem;
	}

}
