@charset "UTF-8";
/* Reset CSS */
	html, body, h1, h2, h3, h4, ul, ol, dl, li, dt, dd, p, div, span, img, a, table, tr, th, td {
	  margin: 0;
	  padding: 0;
	  border: 0;
	  font-weight: normal;
	  font-size: 100%;
	  vertical-align:baseline;
	  box-sizing: border-box;
}
	article, header, footer, aside, figure, figcaption, nav, section { 
	  display:block;
}
	body {
	  line-height: 1;
	  -ms-text-size-adjust: 100%;
	  -webkit-text-size-adjust: 100%;
}
	ol, ul {
	  list-style: none;
	  list-style-type: none;
}

/* Original CSS */
/* font settings */

@font-face {
	font-family: 'Noto Serif Japanese';
	font-style: normal;
	font-weight: 400;
	src: url('../fonts/NotoSerifJP-Regular.woff') format('woff');
	font-display: swap;
}
@font-face {
	font-family: 'Noto Serif Japanese';
	font-style: normal;
	font-weight: 700;
	src: url('../fonts/NotoSerifJP-Bold.woff') format('woff');
	font-display: swap;
}

/* default settings */
html {
	width:100%;
}
body {
	width:100%;
	font-family: 'Noto Serif Japanese';
	font-size: 18px;
}

a {
	text-decoration:none;
}

ul li {
	margin-top: 0.1em;
}

h1 {
	font-size: 3.5rem;
	width: 100%;
	margin-bottom: 1.5rem;
}

dd + dt {
	margin-top: 1em;
}

.center {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
}

.pc {
	display: block;
}

.sp {
	display: none;
}

.movie {
	width: 100%;
	max-width: 854px;
	height: 56.25vw;
	max-height: 480px;
	position: relative;
}
 
.movie:before {
	content: "";
	display: block;
	width: 100%;
	padding-top: 56.25%;
}

.movie iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.flex {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	align-content: center;
}

.bt {
	padding: 5px 15px;
	border-radius: 1em;
	background-color: #5182c1;
	color: #fff;
	display: inline-block;
}

/* color settings */
:root {
	--main-font-color: #fff;
	--sub-font-color: #de4251;
	--impact-font-color: #f00;
	--main-back-color: #921844;
	--sub-back-color: #878787;
	--deep-back-color: rgba(119,30,30,.8);
}

body {
	color: var(--main-font-color);
	background-color: var(--main-back-color);
}

header, footer {
	color: var(--main-font-color);
	background-color: var(--deep-back-color);
}

a:link,a:visited,a:hover,a:active {
	color: var(--main-font-color);
}

.bt {
	background-color: var(--deep-back-color);
	color: var(--main-font-color);
}

/* detail settings */
body {
	background-image:
	 url('../img/bg.png');
	background-size: 50%;
}

header, footer {
	position: fixed;
	width: 100%;
	z-index: 1000;
}

header {
	border-bottom: 1px solid var(--main-back-color);
}

.c-logo {
	height: 3em;
	margin-left: 15px;
}

.button {
	font-size: 2em;
	vertical-align: 11px
}

main {
	position: relative;
	z-index: 500;
}

section {
	text-shadow: 2px 2px 3px #000;
	padding: 3em 0;
}

.key {
	background-image: 
	 url(../img/kback.png);
	width: 100%;
	height: 75vh;
	background-size: 30%;
	background-position: center;
	position: relative;
}

.key img {
	max-width: 90%;
}

.story {
	min-height: 300px !important;
	font-size: 1.4em;
	padding-bottom: 0em;
	text-align: center;
}

.jacket {
	max-width: 500px;
	width: 98%;
	margin-right: 2em;
	box-shadow: 5px 5px 7px rgba(0, 0, 0, .4);
	border-radius: 1px;
}

.description div {
	font-size: 2em;
}

.xfd {
	position: relative;
	min-height: 500px !important;
}

.movie {
	position: absolute;
}

.track, .staff {
	text-align: center;
}

.track dl {
	text-align: left;
}

.track dt {
	font-size: 1.4em;
	margin-bottom: 0.5em;
}

.t-list div:not(:first-of-type) {
	margin-top: 1em;
}

footer {
	height: 2em;
	text-align: center;
	border-top: 1px solid var(--main-back-color);
	bottom: 0;
}

footer p {
	padding-top: .5em;
}

@media screen and (max-width: 800px) {
	.pc {
		display: none;
	}

	.sp {
		display: block;
	}

	body {
		font-size: 14px;
	}

	.key {
		background-size: 100%;
		height: 250px;
	}

	.info img {
		height: auto;
		width: 98%;
	}

	.jacket {
		margin: auto;
	}

	.description div {
		margin-top: 1em;
	}

	.xfd {
		position: relative;
		min-height: 60vw !important;
	}

	.story {
		font-size: 1.25em;
	}

	.track dl {
		width: 98%;
	}

	.track dl:last-child dt:first-child {
		margin-top: 1em;
	}

}