@charset "UTF-8";

/*reset*/
dl,dd,ol {
	margin: 0;
	padding: 0;
}

html {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 62.5%;
	font-family: system-ui, -apple-system, "Segoe UI", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic Medium", "Yu Gothic", "Meiryo", sans-serif;
	line-height:1.9rem;
}

body {
	margin: 0;
	padding: 0;
	font-size: 1.2rem;
	color: #333333;
	background-color: #ffffff;
}

input {
	font-family: Arial, Helvetica, sans-serif;
}

img,
a img {
	border: none;
}


.clearfix {
	display: flow-root;
}

.clear {
	clear: both;
	margin: 0;
	padding: 0;
	height: 0;
	font-size: 0;
	line-height: 0;
}


/*Link text*/
a {
	color: #ff6600;
	font-style: normal;
	text-decoration: underline;
}

a:hover {
	text-decoration: none;
}


/*Midashi*/
h2.midasi4 {
	margin: 0 0 1.6rem 0;
	padding: 0 0 0 1.4rem;
	font-size: 1.4rem;
	background-image: url(./../img/common/icon_orange.gif);
	background-repeat: no-repeat;
	background-position: 0 0.3rem;
}

.clear + h2.midasi4 {
	margin-top: 3rem;
}


/*Layout etc*/
#all_bg {
	margin: 0;
	padding: 0;
}

#all_container {
	width: 100%;
	background-color: #ffffff;
}

#main_container_b {
	max-width: 108rem;
	margin: 0 auto;
	padding: 2rem;
	background-color: #dadada;
	box-sizing: border-box;
}

#main_text {
	padding: 3rem;
	background-color: #f8f8f8;
}

/*Content parts (index / material / errata)*/
.keyvisual {
	display: block;
	max-width: 100%;
	height: auto;
	margin: 0 auto;
}

.keyvisual-link {
	display: block;
}

.p-index__book {
	margin-bottom: 3rem;
}

.p-index__book-body {
	display: flex;
	align-items: flex-start;
	gap: 1rem;
}

.p-index__book-cover {
	flex: 0 0 13rem;
	width: 13rem;
	height: 20.5rem;
	object-fit: contain;
	object-position: top;
}

.p-index__book-info {
	flex: 1;
}

.p-material__novel-img {
	float: left;
	width: 31rem;
	margin-right: 1rem;
}


.saitou {
	color: #bc611e;
}

.nakae {
	color: #c70067;
}

.otaka {
	color: #417038;
}

.kawashima {
	color: #00608d;
}

/*折り畳み部分対応*/
.p-errata__spoiler > summary {
	cursor: pointer;
	color: #ff6600;
	text-decoration: underline;
	list-style: none; /* ▶マーカーを消す*/
}

.p-errata__spoiler > summary::-webkit-details-marker {
	display: none; /* ▶マーカーを消す*/
}

.p-errata__spoiler[open] .p-errata__spoiler-more,
.p-errata__spoiler:not([open]) .p-errata__spoiler-less {
	display: none;
}


/*上に戻る*/
#to_top {
	max-width: 108rem;
	margin: 0 auto;
	padding: 1rem 0;
	text-align: right;
}


#copyright {
	max-width: 108rem; /* 旧 920px */
	margin: 0 auto;
	padding: 1.5rem 2rem; /* 旧 15px 20px */
	text-align: left;
	box-sizing: border-box;
}


/*replay*/
#chsheet table {
	border-collapse: collapse;
	margin-top: 1rem;
}

#chsheet table th {
	width: 5rem;
	color: #fff;
	text-align: center;
	border-top: 1px solid #fff;
}

#chsheet table td {
	width: 12rem; 
	padding: 0.3rem;
	line-height: 1.4rem;
}


table#rinko {
	border: 2px solid #c70067;
}
table#rinko th {
	background: #c70067;
}
table#rinko td {
	border: 1px solid #c70067;
}

table#chiyoko {
	border: 2px solid #bc611e;
}
table#chiyoko th {
	background: #bc611e;
}
table#chiyoko td {
	border: 1px solid #bc611e;
}

table#renji {
	border: 2px solid #417038;
}
table#renji th {
	background: #417038;
}
table#renji td {
	border: 1px solid #417038;
}

table#gray {
	border: 2px solid #00608d;
}
table#gray th {
	background: #00608d;
}
table#gray td {
	border: 1px solid #00608d;
}


/*responsive*/
@media (max-width: 768px) {

	#main_container_b {
		padding: 1rem;
	}

	#main_text {
		padding: 1.6rem;
	}


	#main_container_b img:not(.p-index__book-cover) {
		max-width: 100%;
		height: auto;
	}
}

/* --- 幅 480px 以下：スマホ --- */
@media (max-width: 480px) {


	.p-index__book-body {
		display: block;
	}

	.p-index__book-cover {
		display: block;
		height: auto;
		margin-bottom: 0.8rem;
	}

	.p-material__novel-img {
		display: block;
		float: none;
		width: auto;
		margin-right: 0;
		margin-bottom: 0.8rem;
	}

	.p-material__profile,
	.p-material__profile tbody {
		display: block;
		width: 100%;
	}

	.p-material__profile tr {
		display: flex;
		flex-wrap: wrap;
	}

	.p-material__profile td {
		display: block;
	}

	.p-material__profile-photo {
		flex: 0 0 100%;
		margin-bottom: 0.8rem;
		text-align: center;
	}

	.p-material__profile-label {
		flex: 0 0 8rem;
	}

	.p-material__profile-value {
		flex: 1;
	}


	#chsheet table,
	#chsheet table tbody,
	#chsheet table tr,
	#chsheet table th,
	#chsheet table td {
		display: block;
		width: auto;
	}

	#chsheet table th {
		text-align: left;
	}

	#chsheet table th[rowspan] {
		text-align: center;
	}

	#chsheet table th[rowspan] img {
		max-width: 12.8rem;
		height: auto;
	}
}
