@import url('https://fonts.googleapis.com/css?family=Noto+Serif+JP:500&display=swap&subset=japanese');

/********** 全体 **********/

body {
	background: #0F171C url(../img/tower_bg.png);
	color: #ADADAD;
}

/* リンク */

a:link, a:visited {
	color: #ADADAD;
	text-decoration: none;
	border-bottom: 1px solid #ADADAD;
}

a:active, a:hover {
	color: #FFF000;
	text-decoration: none;
	border: none;
}

/* セクション */

main {
	text-align: center;
}

aside {
	text-align: center;
	margin: 2em 0;
}

/* 見出し */

h2 {
	position: relative;
	margin: 0.8em 0 0.6em;
	padding: 0.25em 2em;
	display: inline-block;
	top:0;
	font-family: 'Noto Serif JP', serif;
	font-size: 200%;
	color: #524E4D;
}

h2 a:link, h2 a:visited, h2 a:active, h2 a:hover {
	color: #ADADAD;
	text-decoration: none;
	border: none;
}

h2 a:active, h2 a:hover {
	color: #000B00;
	text-decoration: none;
	border: none;
	text-shadow: 0 0 10px #FFF000,
		 0 0 20px #FFFFFF;
}

h2:before, h2:after { 
	position: absolute;
	top: 0;
	content:'';
	width: 0.5em;
	height: 100%;
	display: inline-block;
}

h2:before {
	border-left: double 3px #524E4D;
	border-top: solid 1px #524E4D;
	border-bottom: solid 1px #524E4D;
	left: 0;
}

h2:after {
	content: '';
	border-top: solid 1px #524E4D;
	border-right:  double 3px #524E4D;
	border-bottom: solid 1px #524E4D;
	right: 0;
}

h3 {
	position: relative;
	display: inline-block;
	margin: 0.8em 0 1em;
	color: #524E4D;
	font-family: 'Noto Serif JP', serif;
	font-size: 170%;
	line-height: 1;
}

h3:before {
	content: '';
	position: absolute;
	bottom: -15px;
	display: inline-block;
	width: 10em;
	height: 2px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	background-color: #524E4D;
}

h4 {
	margin: 0.8em 0 0.6em;
	padding: 0 1.2em;
	font-size: 125%;
	color: #524E4D;
	font-family: 'Noto Serif JP', serif;
}

h4:before, h4:after {
	content: ' // ';
}

h5 {
	margin: 0.8em 0 0.6em;
	padding: 0 1.2em;
	font-size: 110%;
	color: #524E4D;
	font-family: 'Noto Serif JP', serif;
}

h5:before, h5:after {
	content: ' - ';
}

h6 {
	margin: 1em 0;
	padding: 0;
	text-align: center;
	color: #000B00;
	font-size: 200%;
	font-family: 'Noto Serif JP', serif;
	font-weight: normal;
	line-height: 1;
}

/* 段落 */


/* リスト */

ol.story {
	margin: 1em 0;
}

ol.story li {
	display: inline;
	margin: 0 0.5em;
	padding: 0;
}

ol.story li a {
	display: inline-block;
	width: 1.8em;
}

ul.chara {
	margin: 1em 0;
}

ul.chara li {
	display: inline-block;
	margin: 0 0.5em;
	padding: 0;
}

ul.works_p {
	margin: 1em 0;
}

ul.works_p a:link, ul.works_p a:visited {
	text-decoration: none;
	border: none;
	opacity: 0.6;
}

ul.works_p a:active, ul.works_p a:hover {
	opacity: 1;
}

ul.works_p li {
	display: inline-block;
	margin: 0 0.5em;
	padding: 0;
}

ul.works_p li img {
	width: 50px;
	height: 50px;
	object-fit: cover;
}

ul.works_p li.img_pager {
	display: none;
}

/* テキスト */

mark.marker {
	background: linear-gradient(transparent 60%, #EDC242 60%);
	font-style: normal;
}

mark.caution {
	background: none;
	color: #F54266;
	font-style: normal;
	font-weight: normal;
}

/********** ヘッダー **********/

h1 {
	margin: 0.3em 0;
	color: #0F171C;
	font-size: 400%;
	font-family: 'Noto Serif JP', serif;
	line-height: 1;
	text-shadow:
		1px 1px 1px #806413,
		1px -1px 1px #806413,
		-1px 1px 1px #806413,
		-1px -1px 1px #806413,
		0 0 20px #FFF000,
		0 0 30px #FFFFFF;
}

.hnav {
	position: fixed;
	top: 0;
	right: 0;
	margin: 0;
	z-index: 99;
}

.hnav label {
	border: 1px solid #524E4D;
	color: #FFFFFF;
}

.hnav label:hover {
	opacity: 0.7;
}

.hnavcheck:checked + .hnavopen {
	background: #FFFFFF;
	opacity: 0.7;
}

.hnavopen ul li a {
	color: #000000;
}

.hnav_text {
	opacity: 0.4;
}

.hnav_text p {
	background: #FFFFFF;
}

.hnav_text p a {
	color: #0F171C;
}

/********** フッター **********/

footer {
	color: #ADADAD;
	background: -moz-linear-gradient(top, transparent, #000B00);
	background: -webkit-linear-gradient(top, transparent, #000B00);
	background: linear-gradient(to bottom, transparent, #000B00);
}

nav#fnav ul li a:link, nav#fnav ul li a:visited {
	color: #ADADAD;
}

nav#fnav ul li a:active, nav#fnav ul li a:hover {
	color: #ADADAD;
}

/********** いれもの **********/

div.rotate {
	position: relative;
	overflow: hidden;
	margin: 0;
	padding: 0 0 2em;
}

.rotate:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 120%;
	height: 90%;
	margin: 3% -10% 0;
	background: #000B00;
	-webkit-transform-origin: left center;
	-ms-transform-origin: left center;
	transform-origin: left center;
	-webkit-transform: rotate(2deg);
	-ms-transform: rotate(2deg);
	transform: rotate(2deg);
	z-index: -1;
}

.rotate:after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 120%;
	height: 90%;
	margin: 3% -10% 0;
	background: #FFEA00;
	-webkit-transform-origin: right center;
	-ms-transform-origin: right center;
	transform-origin: right center;
	-webkit-transform: rotate(-3deg);
	-ms-transform: rotate(-3deg);
	ransform: rotate(-3deg);
	z-index: -2;
}

.rotate_inner {
	width: auto;
	height: auto;
	margin: 0 auto;
	padding: 100px 1em 120px;
	color: #ADADAD;
	text-align: center;
}

div.category {
	position: relative;
	margin: 0;
	padding: 0.5em 2%;
	border-bottom: 1px solid;
	border-image: linear-gradient(to right, #0F171C 30%, #524E4D 70%, #FFF000 100%);
	border-image-slice: 1;
}

div.contents_text {
	background: #ADADAD;
	color: #0F171C;
	outline: 2px solid #000B00;
}

div.contents_text p.select{
}

div.contents_text input[type="button"] {
	font-family: 'Noto Serif JP', serif;
	color: #0F171C;
}

div.contents_text input[type="button"]:hover {
	color: #FFFFFF;
	background: #0F171C;
}

div.contents_text span.cut {
	display: block;
	text-align: center;
	padding: 0.5em 0 0;
}

div.contents_text span.cut:after {
	content: "\25C8";
	color: #FFEA00;
}

/********** その他 **********/

/* 拍手 */
select.fav {
	color: #ADADAD ;
	background-color: #000B00;
	border: 1px solid #524E4D;
}

input[type="submit"], input[type="button"] {
	color: #ADADAD;
	background-color: #000B00;
	border: 1px solid #524E4D;
}

input[type="submit"]:hover, input[type="button"]:hover {
	background-color: #524E4D;
}

