@charset "utf-8";

#main h1 {
	background-color: var(--story-color);
}
#main h2 {
	color: var(--story-color);
	border-left: 1em solid var(--story-color);;
}
.followbtn {
	background-color: var(--story-color);
	border-color: var(--story-color);
}



/* コンテンツ内メニュー */
#story_hd nav ul.menu {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-bottom: 30px;
}
#story_hd nav ul.menu li {
	width: calc(100% / 6);
	padding: 5px;
}
#story_hd nav ul.menu li a {
	font-size: 80%;
	display: block;
	width: 100%;
	height: 100%;
	padding: 5px 15px;
	border-radius: 3px;
	text-align: center;
	border-top: 5px solid;
	border-bottom: 5px solid;
	word-break: keep-all;
}
#story_hd nav ul.menu a:hover {
	opacity: .8;
	text-decoration: none;
}

@media screen and (max-width:800px) and (min-width:481px) {
	#story_hd nav ul.menu li {
		width: calc(100% / 4);
	}
	#story_hd nav ul.menu li a {
		padding: 10px 5px;
	}
}
@media screen and (max-width:480px) {
	#story_hd nav ul.menu li {
		width: calc(100% / 2);
	}
	#story_hd nav ul.menu li a {
		padding: 10px 5px;
	}
}

#story_hd nav ul.menu li a {
	color: #FFF;
	background-color: var(--story-color);
	border-top-color: var(--story-color);
	border-bottom-color: var(--story-color);
}
#story_hd nav ul.menu li a.now {
	border-bottom-color: var(--story-light-color);
}



.outline {
	padding: 0 1em 3em;
}
.outline p {
	line-height: 2;
	margin-bottom: 2em;
	text-align: center;
	text-shadow: 0px 0px 10px var(--base-light-color);
	-ms-text-shadow: 0px 0px 10px var(--base-color);
}
.outline p span {
	display: inline-block;
}

.btn_wsi {
	text-align: center;
}

.maincredit {
	margin-bottom: 3em;
}
.maincredit a {
	width: 640px;
	max-width: 80%;
	margin: auto;
	cursor: pointer;
}


@media screen and (max-width:480px) {
	.outline p {
		text-align: left;
		line-height: 2.5;
	}
	span.sp_only {
		margin-bottom: 1em;
	}
}

/* アニメ版各話あらすじ */
.storybox {
	background-color: rgba(255,255,255,.5);
	box-shadow: 0px 0px 10px var(--story-light-color);
	-ms-box-shadow: 0px 0px 10px var(--story-light-color);
	overflow: hidden;
	border-radius: 10px;
	padding: 30px 0 0;
	margin-bottom: 50px;
}
.storybox h3 {
	border-left: 15px solid var(--story-color);
	padding-left: 30px;
	font-size: 120%;
	color: var(--story-color);
	text-shadow: 0px 0px 10px var(--story-light-color);
	-ms-text-shadow: 0px 0px 10px var(--story-light-color);
	margin: 0 15px 15px;
}
.storybox .img {
	text-align: center;
}
@media screen and (min-width:640px) {
	.storybox .img {
		display: flex;
		justify-content: center;
		width: 960px;
		max-width: 100%;
		margin: auto;
		flex-wrap: wrap;
	}
}
.storybox .img img {
	line-height: 0;
	font-size: 0;
	margin: 5px;
	width: 100%;
	max-width: 320px;
}
.storybox .txt {
	padding: 15px 30px 30px;
	line-height: 1.8;
}
.storybox [data-ruby] {
    position: relative;
}
.storybox [data-ruby]::before {
    content: attr(data-ruby);
    position: absolute;
    top: -1em;
    left: 0;
    right: 0;
    margin: auto;
    font-size: 0.6em;
	text-align: center;
}
.storybox rt {
    display: none;
}



/* クレジット用ボタン設定 */
.storybox .staff {
	padding: 0 30px 30px;
}
.storybox .staff a {
	cursor: pointer;
}



/* クレジット表示域(js_lity)設定 */
.lity-content {
	width: 960px!important;
	max-width: 90%!important;
	margin: auto;
}


/* クレジット設定 */
.staffcredit {
	overflow-y: auto;
	margin: 0 auto;
	padding: 30px;
	background-color: white;
	font-size: 90%;
}
@media screen and (max-width:480px) {
	.staffcredit {
		padding: 30px 15px;
	}
}
.staffcredit#mainstaff {
	overflow-y: auto;
	margin: 0 auto;
	padding: 30px;
	background-color: white;
	font-size: 90%;
}
@media screen and (min-width:481px) {
	.staffcredit#mainstaff {
		padding: 30px 50px;
	}
}
.staffcredit p {
	font-size: 120%;
	border-bottom: 1px solid;
	margin-bottom: 1em;
}
.staffcredit p span {
	display: inline-block;
}
.staffcredit table {
	margin-bottom: 1em;
}
.staffcredit table tr th,
.staffcredit table tr td {
	padding-top: .5em;
}
.staffcredit table tr:first-child th,
.staffcredit table tr:first-child td {
	padding-top: 0;
}
.staffcredit table.oped tr th,
.staffcredit table.oped tr td {
	padding-top: 0;
}
.staffcredit table.oped tr:nth-child(2) th,
.staffcredit table.oped tr:nth-child(2) td {
	padding-top: .5em;
}

.staffcredit th {
	font-weight: normal;
	vertical-align: top;
	white-space: nowrap;
	min-width: 12em;
}
.staffcredit td span {
	display: inline-block;
	margin-left: 2em;
	min-width: 6em;
}
@media screen and (max-width:480px) {
	.staffcredit table,
	.staffcredit table tr,
	.staffcredit table tr th,
	.staffcredit table tr td {
		display: block;
	}
	/*
	.staffcredit table.oped { display: table}
	.staffcredit table.oped tr { display: table-row}
	.staffcredit table.oped tr th {
		display: table-cell;
		min-width: 8em;
	}
	
	.staffcredit table.oped tr td {
		display: table-cell;
	}
*/
}
.staffcredit#mainstaff table tr th,
.staffcredit#mainstaff table tr td {
	padding-top: 0;
}

.staffcredit#mainstaff td span {
	display: block;
	margin-left: 2em;
	min-width: 6em;
}
@media screen and (min-width:481px) {
	.staffcredit#mainstaff td span {
		white-space: nowrap;
	}
}
.staffcredit td > table {
	margin-left: 2em;
}

@media (min-width:690px) {
	.staffcredit td span.staff1 {
		min-width: 8em;
	}
	.staffcredit td span.staff2 {
		margin-left: 0;
	}
}
.staffcredit td span.staff3 {
	min-width: 8em;
}
.staffcredit td span.staff4 {
	margin-left: 0;
}
.staffcredit td span.staff5 {
	min-width: 14em;
}
