@charset "utf-8";
/*------------------------------------------------------------
	デフォルトスタイル
------------------------------------------------------------*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	outline: 0;
	font-size: 1em;
}
html { font-size: 62.5%; }
body, table, input, textarea, select, option {
	font-family: "Mplus 1p", -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Segoe UI', 'Hiragino Kaku Gothic ProN', 'Yu Gothic', sans-serif;
	word-break: break-all;
}
article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary { display: block; }
ol, ul { list-style: none; }
blockquote, q { quotes: none; }
:focus { outline: 0; }
ins { text-decoration: none; }
del { text-decoration: line-through; }
img {
	vertical-align: top;
	max-width: 100%;
	height: auto;
}
a,
a:link {
	color: #000;
	text-decoration: none;
}
a:visited { color: #000; }
a:hover { color: #000; }
a:active { color: #000; }

/*------------------------------------------------------------
	レイアウト
------------------------------------------------------------*/
body {
	color: #000;
	font-size: 1.6rem;
	line-height: 1.75em;
	text-size-adjust: none;
	-webkit-text-size-adjust: none;
	background: #fff url(../images/top/bg_main.jpg) no-repeat top center;
	background-size: 100% auto;
}
body#page {
	background: #fff url(../images/common/bg_masu3.jpg) no-repeat top center;
	background-size: 100% auto;
}
body#bg {
	background: #fff url(../images/common/bg_masu2.jpg) repeat top center;
	background-size: 100% auto;
}
#container {
	margin: 0 auto;
	text-align: center;
	position: relative;
}
h1 { margin: 150px auto 0; }
h1 img {
	max-width: 500px;
	width: 50%;
}
ul.Gmenu li {
	display: inline-block;
	padding : 1em 0.25em 0;
}
body#page ul.Gmenu,
body#bg ul.Gmenu {
	margin-bottom: 2em;
}
body#page h1,
body#bg h1 {
	margin: 2em auto;
}
body#page h1 img,
body#bg h1 img {
	width: 50%;
	max-width: 370px;
}
ul.Gmenu li img { height: 55px; }
h2.newsBox {
	background: #fff;
	width: 90%;
	max-width: 900px;
	padding: 0.25em 1em;
	margin: 100px auto 50px;
	border-radius: 5em;
	font-weight: normal;
}
h3.ttl {
	position: relative;
	z-index: 1001;
}
div.yt_wrapper {
	margin-top: -100px;
	height: 500px;
	overflow: hidden;
}
.yt_front {
	margin-top: -750px;
}
.front {
	position: relative;
	z-index: 1000;
	height: 500px;
	overflow: hidden;
	background: url(../images/top/bit.png) repeat;
	display: flex;
	justify-content: center;
	align-items: center;
}
.front .yt_thumb {
	position:absolute;
	margin-top: 2em;
	border: #bb4116 solid 3px;
}
.storyBox {
	background: #fff url(../images/top/bg_chara.jpg) no-repeat top center;
	background-size: 100% auto;
	padding: 3em 0 10em;
	margin: 0 0 3em;
}
.spyt {
	margin-top: -3em;
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}
.spyt iframe {
	position: absolute;top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}

.box {
	width: 80%;
	max-width: 800px;
	margin: -100px auto;
	background: rgba(255,255,255,0.8);
	padding: 10px 0;
	border: solid 4px #373162;
}
.inbox{
	position: relative;
	padding: 6em 4em 2em;
	border-top: solid 2px #373162;
	border-bottom: solid 2px #373162;
	text-align: left;
	white-space: pre-wrap;
}
.Dbox .box {
	width: 90%;
	max-width: 1100px;
	margin: 1em auto 0;
}
.Dbox .inbox{
	padding: 2em;
	white-space: normal;
}

.Dbox h4 {
	margin: 1em auto;
	font-weight: bold;
	font-size: 1.25em;
	color: #373162;
	text-align: center;
}
.Dbox span { color: #ca5916; }
.Dbox h5 {
	margin: 1em auto;
	font-weight: normal;
	color: #373162;
	text-align: center;
}
.inbox:before, .inbox:after{
	content: '';
	position: absolute;
	top: -15px;
	width: 2px;
	height: -webkit-calc(100% + 30px);
	height: calc(100% + 30px);
	background-color: #373162;
}
.inbox:before {left: 10px;}
.inbox:after {right: 10px;}
.inbox p {
	margin: 0; 
	padding: 0;
}
.box9 {
	border: #bb4116 solid 2px;
	margin: 2em 0 0;
	padding: 1em;
	white-space: normal;
	border: #bb4116 solid 2px;
}
.box9 li {
	border-bottom: #bb4116 dashed 1px;
	padding: 0.5em 1em 0.5em 2em;
	text-indent: -1em;
}
.box9 li:last-child { border: none; }
.box9 li span { color: #bb4116; }

ul.CharacterBox {
	width: 90%;
	max-width: 1000px;
	margin: 0 auto 3em;
}
ul.CharacterBox li {
	display: inline-block;
	padding : 1em 0 0;
	width: 19%;
	width: 20%;
	font-size: 1.5em;
	line-height: 1em;
}
ul.CharacterBox.cb li { font-size: 1.25em; }
ul.CharacterBox li img {
	max-width: 90%;
	margin-bottom: 0.25em;
}
ul.CharacterBox li span {
	display: block;
	font-size: 0.6em;
}
	
.prologueBox {
	background: #fff url(../images/common/bg_masu.jpg) repeat top center;
	background-size: 100% auto;
	padding: 3em 0 7em;
	margin: 0 0 3em;
}
.prologueBox h3.ttl {
	margin-top: -80px;
}
.prologueBox .tBox {
	width: calc(90% - 10em);
	max-width: calc(800px - 10em);
	margin: -100px auto 0;
	padding: 150px 5em 4em;
	background: rgba(255,255,255,0.8);
	border-radius: 3em;
	-webkit-filter: drop-shadow(0px 0px 3em rgba(209,80,19,0.5));
	filter: drop-shadow(0px 0px 3em rgba(209,80,19,0.5));
	text-align: left;
	white-space: pre-wrap;
}
.prologueBox .tBox .rText {
	display: block;
	text-align: right;
}
#page .prologueBox .tBox {
	margin: 0 auto 2em;
	padding: 4em 5em;
}
#page .prologueBox .tBox:last-child {
	margin: 0 auto;
}

ul.linksBox {
	width: 90%;
	max-width: 1000px;
	margin: 2em auto 3em;
}
ul.linksBox li {
	display: inline-block;
	padding : 1em;
	width: calc(30% - 2em);
	font-size: 1.25em;
	line-height: 1.25em;
	border: #bb4116 solid 1px;
	border-radius: 1em;
	margin: 0.25em;
	min-height: 180px;
	vertical-align: top;
	background: #fff;
	-webkit-filter: drop-shadow(0px 0px 2em rgba(209,80,19,0.05));
	filter: drop-shadow(0px 0px 2em rgba(209,80,19,0.05));
}
ul.linksBox li span {
	display: block;
	font-size: 0.75em;
	line-height: 1.25em;
	margin-top: 0.25em;
}
ul.linksBox li small {
	font-size: 0.5em;
}

footer {
	text-align: center;
	padding: 2em;
}
footer h3 {
	padding: 0 1em 5em;
}

.slide-arrow{
	position: absolute;
	top: 50%;
	margin-top: -15px;
	cursor: pointer;
}
.slider .slick-arrow:before {
	color: #000;
}
.prev-arrow {
	position: absolute;
	top: auto;
	bottom: -8%;
	left: 110px;
	z-index: 100;
}
.next-arrow {
	position: absolute;
	top: auto;
	bottom: -8%;
	right: 110px;
	z-index: 99;
}
.c_thumbnail { text-align: center; }
.c_thumbnail strong { font-size: 1.5em; }
.c_thumbnail span {
	display: block;
	padding-top: 0.5em;
}

ul.manga4Box {
	width: 100%;
	max-width: 1000px;
	margin: 2em auto 3em;
}
ul.manga4Box li {
	display: inline-block;
	padding : 0;
	width: calc(25% - 2em);
	margin: 0.25em 0.25em 1em;
	vertical-align: top;
}
ul.manga4Box li img {
	max-width: 100%;
	border: #bb4116 solid 1px;
}

.maru {
	height: 2em;
	width: 2em;
	border-radius:50%;
	color: #fff;
	line-height: 2em;
	text-align:center;
	background: #d15013;
	font-size: 1em;
	margin: 0.5em auto 0;
}

.Dbox { margin: 0 auto 4em; }
ul.DboxImg {
	width: 100%;
	max-width: 1000px;
	margin: 2em auto 0;
	text-align: center;
}
ul.DboxImg li {
	display: inline-block;
	padding : 0.25em;
	width: calc(24% - 0.5em);
	font-size: 0.75em;
	color: #373162;
	line-height: 1.25em;
	border-radius: 1em;
	margin: 0.25em;
	vertical-align: top;
	text-align: center;
}
ul.DboxImg li img { margin-bottom: 0.75em; }
ul.DboxImg li span {
	display: block;
	margin-top: 0.5em;
}
.Dbox p {
	padding: 0 2em;
}

header .menu_open { display: none; }
header .menu_close { display: none; }

@media all and (min-width: 897px) {
	.sp { display: none !important; }
}
@media all and (max-width: 896px) {
	body {
		min-width: inherit;
		padding: 0;
		font-size: 3vw;
		background-size: 125% auto;
	}
	a:hover,
	a:hover img { opacity: 1 !important; }
	.pc { display: none !important; }

	header .menu_open {
		display: block;
		position: fixed;
		right: 0;
		top: 0;
		width: 13vw;
		cursor: pointer;
		z-index: 10000;
	}

	header .menu { display: none; }
	header.showmenu .menu { display: block; }
	header.showmenu .menu_open { display: none; }
	header.showmenu .menu_close {
		display: block;
		position: fixed;
		right: 0;
		top: 0;
		width: 13vw;
		cursor: pointer;
		z-index: 10000;
	}

	header.showmenu .menu > ul {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: rgba(209,80,19,0.95);
		color: #fff;
		z-index: 9999;
	}
	header.showmenu .menu ul li img {
		height: 8vw;
	}

	h1 { margin: 6.5em auto 0; }
	h1 img {
		max-width: 500px;
		width: 65%;
	}
	h2.newsBox {
		background: #fff;
		width: 80%;
		padding: 0.25em 1em;
		margin: 4em auto 2em;
		border-radius: 5em;
	}
	h3.ttl img {
		width: 30vw;
	}
	.storyBox {
		padding: 1.5em 0 10em;
	}
	.box {
		width: 90%;
		max-width: 800px;
		margin: -5em auto;
	}
	.inbox{
		position: relative;
		padding: 5em 2em 0em;
		font-size: 3.5vw;
		line-height: 1.3em;
	}
	ul.CharacterBox li {
		width: 32%;
		font-size: 1.5em;
		line-height: 1em;
	}
	ul.CharacterBox.cb li { font-size: 1.15em; }
	.storyBox {
		padding: 3em 0;
		margin: 0 0 3em;
	}
	.prologueBox {
		padding: 3em 0;
	}
	.prologueBox h3.ttl {
		margin-top: -4.5em;
	}
	.prologueBox .tBox,
	#page .prologueBox .tBox {
		width: calc(90% - 6em);
		max-width: calc(800px - 6em);
		margin: -4em auto 0;
		padding: 7em 3em 5em;
		border-radius: 3em;
		-webkit-filter: drop-shadow(0px 0px 1.5em rgba(209,80,19,0.5));
		filter: drop-shadow(0px 0px 1.5em rgba(209,80,19,0.5));
	}
	#page .prologueBox .tBox {
		margin: 0 auto 2em;
		padding: 3em;
	}
	ul.linksBox li {
		width: calc(45% - 2em);
		font-size: 1em;
		line-height: 1.25em;
		border: #bb4116 solid 1px;
		border-radius: 1em;
		margin: 0.25em;
		min-height: 9em;
	}
	.prev-arrow, .next-arrow {
		width: 33vw;
	}
	.prev-arrow {
		position: absolute;
		top: auto;
		bottom: -8%;
		left: 0;
		z-index: 100;
	}
	.next-arrow {
		position: absolute;
		top: auto;
		bottom: -8%;
		right: 0;
		z-index: 99;
	}
	ul.manga4Box li {
		width: calc(33% - 2em);
	}
	ul.DboxImg li {
		display: inline-block;
		padding : 0.25em;
		width: calc(47% - 0.5em);
		font-size: 0.6em;
		line-height: 1.25em;
		border-radius: 1em;
	}
	.Dbox p {
		padding: 0;
		font-size: 0.75em;
		line-height: 1.25em;
	}
}