@charset "utf-8";


/*全体の設定
---------------------------------------------------------------------------*/
html,body {
	margin: 0;padding: 0;
	height: 100%;
	font-size: 14px;	/*基準となるフォントサイズ。下の方にある「画面幅900px以上」で基準を大きなサイズに再設定しています。*/
}

html {overflow-y: scroll;}	/*全ページでスクロールバー表示*/

body {
	font-family: "ヒラギノ丸ゴ Pro", "Hiragino Maru Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;	/*フォント種類*/
	-webkit-text-size-adjust: none;
	background: #fff;	/*背景色*/
	color: #333;		/*全体の文字色*/
	line-height: 2;		/*行間*/
}

/*背景画像*/
#mainimg {
	text-indent: -9999px;
	position: fixed;top: 0px;z-index: -1;
	width: 100%;
	height: 100%;
	animation: opa1 2s both; /*背景をふわっと表示させる*/
}

.img_top { /* トップページ */
	background: url(../images/bg_sub.png) no-repeat left top / 100%, url(../images/bg_main.jpg) no-repeat center center / cover;
}
.img_stage { /* 舞台設定 */
	background: url(../images/bg_sub.png) no-repeat left top / 100%, url(../images/bg_main2.jpg) no-repeat center center / cover;
}
.img_character { /* 登場人物 */
	background: url(../images/bg_sub.png) no-repeat left top / 100%, url(../images/bg_main3.jpg) no-repeat center center / cover;
}
.img_word { /* 用語集 */
	background: url(../images/bg_sub.png) no-repeat left top / 100%, url(../images/bg_main4.jpg) no-repeat center center / cover;
}
.img_novel { /* ノベル */
	background: url(../images/bg_sub.png) no-repeat left top / 100%, url(../images/bg_main5.jpg) no-repeat center center / cover;
}

/*リセット*/
figure {margin: 0;}
dd {margin: 0;}
nav {margin: 0;padding: 0;}

/*table全般の設定*/
table {border-collapse:collapse;}

/*画像全般の設定*/
img {border: none;max-width: 100%;height: auto;vertical-align: middle;}

/*videoタグ*/
video {max-width: 100%;}

/*iframeタグ*/
iframe {width: 100%;}

/*section全般の設定*/
section + section {
	padding-top: 30px;	/*sectionの間に空けるスペース*/
}

/*Font Awesome(文字アイコン)*/
section .fas { 
	margin-right:5px;
	color:#888;
}

/*キャラ名文字色*/
.ask {color:#e95295;}
.mkd {color:#028760;}
.zn {color:#007bbb;}
.dic {color:#e17b34;}
.ttom {color:#77402c;}
.hyk {color:#B59A79;}


/*opa1（透明から着色状態に）
---------------------------------------------------------------------------*/
@keyframes opa1 {
	0% {opacity: 0;}
	100% {opacity: 1;}
}


/*トップページのスライドショー（vegasを使用）
---------------------------------------------------------------------------*/
#mainimg {
    width: 100vw;
    height: 100vh;
	position: fixed;z-index: -1;
	left: 0px;top: 0px;
}


/*リンクテキスト全般の設定
---------------------------------------------------------------------------*/
a {
	color: #e9546b;	/*文字色*/
	transition: 0.3s;
}

a:hover {
	color: #747474;	/*マウスオン時の文字色*/
	transition: all 0.2s;
}


/*container（サイト全体を囲むブロック）
---------------------------------------------------------------------------*/
#container {
	max-width: 1750px;		/*最大幅。これ以上広がらないように。*/
	margin: 0 auto;
	height: 100%;
}


/*header（ロゴ、メインメニューなどが入ったブロック）
---------------------------------------------------------------------------*/
/*ヘッダーブロック*/
header {
	position: fixed;z-index: 100;	/*スクロールしても一緒に動かないようにする指定*/
	left: 50px;			/*左からの配置場所指定*/
	top: 0px;			/*上からの配置場所指定*/
	width: 160px;		/*幅*/
	text-align: center;	/*テキストをセンタリング*/
}

/*メニュー設定（全端末サイズ共通の設定）
---------------------------------------------------------------------------*/
#menubar {height: 0px;overflow: hidden;}
#menubar ul {list-style: none;margin: 0;padding: 0;
			margin-top:30px;}

/*メニュー1個あたりの設定*/
#menubar ul a {
	display: block;text-decoration: none;
	padding: 20px;	/*メニュー内の余白*/
	color:#333;
}

/*マウスオン時*/
#menubar ul a:hover {
	background: #fff;	/*背景色*/
	color:#e9546b;
}

#menubar img { padding-bottom:10px; }

#menubar.db li { border-bottom:1px solid #ccc; }

/*小さな端末用のメニューブロック*/
#menubar.db {
	position: fixed;overflow: auto;z-index: 100;
	left: 0px;top: 0px;
	width: 100%;
	height: 100%;
	animation: opa1 1s both;
	padding: 30px 50px;	/*上下、左右へのメニューブロック内の余白*/
	background: rgba(255,255,255,0.9);	/*背景色*/
	font-size: 20px;
}

#menubar.db img { display:none; } /*スマホだと桜マーク非表示*/


/*３本バー（ハンバーガー）アイコン設定
---------------------------------------------------------------------------*/
/*３本バーブロック*/
#menubar_hdr {
	display: block;
	position: fixed;z-index: 100;
	top: 25px;		/*上からの配置場所指定*/
	right: 20px;	/*右からの配置場所指定*/
	width: 50px;	/*幅*/
	height: 50px;	/*高さ*/
	cursor: pointer;
	background: rgba(0,0,0,0.6) url(../images/ham.png) no-repeat center top/50px;/*背景色、ハンバーガメニュー画像の読み込み、50pxは幅の指定*/
}
/*×印が出ている状態の設定。*/
#menubar_hdr.ham {
	background: rgba(0,0,0,0.6) url(../images/ham.png) no-repeat center bottom/50px;
}


/*contentsブロック
---------------------------------------------------------------------------*/
#contents {
	height: 100%;
	margin-right: 50px;			/*右側へ空けるボックスの外へのスペース*/
	margin-left: 50px;			/*左側へ空けるボックスの外へのスペース*/
	/*animation: opa1 2s both;	「2s」はcontentsを表示するまでの時間。ページを開いた瞬間から表示させておきたいならこの１行を削除。*/
}

/*トップページのコンテンツ*/
.home #contents {
	display: flex;				/*flexボックスを使う指定*/
	flex-direction: column;		/*子要素を縦並びにする*/
	justify-content: flex-end;	/*「お知らせ」を下に配置する*/
	margin-right: 0px;
}


/*mainブロック設定
---------------------------------------------------------------------------*/
/*mainブロックの設定*/
main {
	display: block;			/*IE対策*/
	
}

/*トップページのmainブロック*/
.home main {
	overflow: auto;
	padding-right: 50px;
}

/*mainブロック内のh2タグ*/
main h2 {
	margin-bottom: 30px;
	font-size: 30px;
	text-shadow: 1px 1px 2px #fff, -1px -1px 2px #fff;	/*テキストの影。*/
}

/*mainブロック内のh3タグ*/
main h3 {
	border-bottom: 3px solid #ccc;	/*下線の幅、線種、色*/
	padding: 0px 20px 10px;			/*上、左右、下への余白*/
}

/*mainブロックのpタグ*/
main p {
	margin: 0 10px 25px;	/*上、左右、下へ空けるスペース*/
}

@media screen and (min-width:600px) { /*600px以上で左右余白が広くなる*/
main p {
	margin: 0 20px 25px;	/*上、左右、下へ空けるスペース*/
}
}

/*box1
---------------------------------------------------------------------------*/
.box1 {
	box-shadow: 1px 2px 8px rgba(0,0,0,0.1);	/*ボックスの影。右へ、下へ、ぼかし幅の順。0,0,0は黒の事で0.1は色が10%出た状態。*/
	background: rgba(255,255,255,0.85);	/*背景色
	padding: 50px !important;					/*上下、左右へのボックス内の余白*/
	border: 1px solid #fff;				/*枠線の幅、線種、色*/
	border-radius: 5px;					/*角を丸くする指定*/
	margin-bottom:50px;
}

hr {
	border: none;
	background-color: #fff;
	border-width: 1px 0 0 0;
	border-top: solid;
	border-color: #dedede;
	margin-bottom:20px;
	width:96%
}

/*フッターメニュー
---------------------------------------------------------------------------*/
/*フッターメニューブロック全体*/
#footermenu {
	list-style: none;margin: 0;padding: 0;
	padding-top: 20px;	/*上に空けるスペース*/
	text-align: center;	/*中身をセンタリング*/
}

/*メニュー1個あたりの設定*/
#footermenu li {
	display: inline-block;	/*横並びにする指定*/
	padding: 0 10px;		/*上下、左右への余白*/
}


/*フッター設定
---------------------------------------------------------------------------*/
footer small {font-size: 100%;}

footer {
	font-size: 0.6rem;		/*文字サイズ。remの単位についてはテンプレート内の解説をお読み下さい。*/
	padding: 10px;			/*ボックス内の余白*/
	text-align: center;
	background: rgba(255,255,255,0.5);
	border-radius: 5px;		/*角を丸くする指定*/
}

/*リンクテキスト*/
footer a {text-decoration: none;}

/*著作部分*/
footer .pr {display: block;}


/*トップのメニューバナー（listブロック）
---------------------------------------------------------------------------*/
/*１個あたりのボックスの指定。「コンパクトタイプ」「横長タイプ」共通に適用されます。*/
.list {
	display: flex;					/*flexボックスを使う指定*/
	align-items: center;			/*垂直揃えの指定。上下中央に配置されるように。*/
	margin-bottom: 30px;			/*ボックス同士の上下間の余白*/
	background: #fff;				/*背景色。*/
	padding: 7px;					/*ボックス内の余白*/
	box-shadow: 2px 2px 10px rgba(0,0,0,0.15);	/*ボックスの影。右へ、下へ、ぼかし幅の順。0,0,0は黒の事で0.15は色が15%出た状態。*/
	border-radius: 8px;				/*角を丸くする指定*/
	overflow: hidden;				/*はみ出た要素を非表示にする。画像の角が飛び出ないようにする為の指定です。*/
}

/*h4タグの指定。「コンパクトタイプ」「横長タイプ」共通に適用されます。*/
.list h4 {
	margin: 0;
}

/*pタグの指定。「コンパクトタイプ」「横長タイプ」共通に適用されます。*/
.list p {
	margin: 0;
	font-size: 0.8em;	/*文字サイズを80%に。*/
}

/*「コンパクトタイプ」のlistボックス全体を囲むボックス*/
.list-container {
	display: flex;					/*flexボックスを使う指定*/
	flex-wrap: wrap;				/*折り返す指定*/
	justify-content: space-between;	/*並びかたの種類の指定*/
	flex-direction: row;			/*子要素を横並びにする*/
	margin-bottom:10px;
}

/*「コンパクトタイプ」のlistボックス。１個あたりのボックスの指定です。*/
.list-container .list {
	flex-direction: column;			/*子要素を縦並びにする*/
	justify-content: space-between;	/*並びかたの種類の指定*/
	align-items: stretch;			/*垂直揃えをデフォルトに戻す指定。*/
	width: 48%;	/*ボックスの幅*/
}

.list-container .list img {
	width:100%;
}

/*「コンパクトタイプ」のfigure画像の上書き。*/
.list-container .list figure {
	margin: -20px -20px 0;	/*画像周りの余白を埋める指定です*/
	width: auto;
}

/*「コンパクトタイプ」のh4タグへの追加指定、もしくは上書き。*/
.list-container .list h4 {
	margin: 10px 0;			/*上下、左右へのh4の外側に空けるスペース*/
	font-size: 1.2em;		/*文字サイズを120%に*/
	font-weight: normal;	/*hタグのデフォルトの太字を標準にする。太字がいいならこの１行を削除。*/
}

.list a:hover {
	filter: brightness(1.2);	/*少しだけ明るくする*/
}

@media screen and (min-width:1200px) {
.list-container .list {
	width: 24%;	/*1200px以上で4個並びになる*/
}
}


/*ノベル一覧（listブロック2）
---------------------------------------------------------------------------*/
/*１個あたりのボックスの指定。「コンパクトタイプ」「横長タイプ」共通に適用されます。*/
.list2 {
	display: flex;					/*flexボックスを使う指定*/
	align-items: center;			/*垂直揃えの指定。上下中央に配置されるように。*/
	margin-bottom: 20px;			/*ボックス同士の上下間の余白*/
}

/*h4タグの指定。「コンパクトタイプ」「横長タイプ」共通に適用されます。*/
.list2 h4 {
	margin: 0;
	font-size: 1.2em;		/*文字サイズを120%に*/
	font-weight: normal;	/*hタグのデフォルトの太字を標準にする。太字がいいならこの１行を削除。*/
}

/*pタグの指定。「コンパクトタイプ」「横長タイプ」共通に適用されます。*/
.list2 p {
	margin: 0;
}

/*「コンパクトタイプ」のlistボックス全体を囲むボックス*/
.list-container2 {
	display: flex;					/*flexボックスを使う指定*/
	flex-wrap: wrap;				/*折り返す指定*/
	justify-content: space-between;	/*並びかたの種類の指定*/
	flex-direction: row;			/*子要素を横並びにする*/
	margin-top:10px;
	padding:0 10px;
}

/*「コンパクトタイプ」のlistボックス。１個あたりのボックスの指定です。*/
.list-container2 .list2 {
	flex-direction: column;			/*子要素を縦並びにする*/

	align-items: stretch;			/*垂直揃えをデフォルトに戻す指定。*/
	width: 100%;	/*ボックスの幅*/
}

@media screen and (min-width:1200px) {
.list-container2 .list2 {
	width: 48%;	/*1200px以上で4個並びになる*/
}
}

@media screen and (min-width:600px) { /*600px以上で左右余白が広くなる*/
.list-container2 {
	padding:0 20px;
}
}


/*テーブル
---------------------------------------------------------------------------*/
/*テーブル１行目に入った見出し部分（※caption）*/

/*ta1テーブルブロック設定*/
.ta1 {
	border-top: 1px solid #ccc;	/*テーブルの一番上の線。幅、線種、色*/
	table-layout: fixed;
	width: 100%;
	margin: 0 auto 50px;
}

/*tr（１行分）タグ設定*/
.ta1 tr {
	border-bottom: 1px solid #ccc;	/*テーブルの下線。幅、線種、色*/
}

/*th（左側）、td（右側）の共通設定*/
.ta1 th, .ta1 td {
	padding: 10px 5px;		/*上下、左右へのボックス内の余白*。基本的に数行上の「.ta1 caption」のpaddingと揃えておけばOKです。*/
	word-break: break-all;	/*英語などのテキストを改行で自動的に折り返す設定。これがないと、テーブルを突き抜けて表示される場合があります。*/
}

.ta1 th {
	width: 30%;			/*幅*/
	text-align: left;	/*左よせにする*/
	background: rgba(240,240,240,0.85);	/*背景色*/
}

.ta1 td {
	background: rgba(255,255,255,0.85);	/*背景色*/
}


/*アコーディオン
---------------------------------------------------------------------------*/
.acd {
    padding: 0 10px 20px;
}

.acd-check {
    display: none;
}
.acd-label {
    padding: 5px 15px;
    box-sizing: border-box;
    display: flex;
    justify-content: space-between;
    width: 300px;
    cursor: pointer;
    margin-bottom:10px;
    border-radius: 3px;
    box-shadow: 1px 1px 2px rgba(0,0,0,0.2);	/*ボックスの影。右へ、下へ、ぼかし幅の順。0,0,0は黒の事で0.1は色が10%出た状態。*/
}

.acd-label::after {
    display: flex;
    align-items: center;
    font-family: "Font Awesome 5 Free";
    content: "\f0d7";
    font-weight: 900;
    transition: all 0.3s;
}

.acd-content {
    display: none; /* クリック前は中身を非表示にしておく */
    opacity: 0;
    transition: 0.3s;
    visibility: hidden;
    padding: 0;
    margin: 0 auto 10px;
}
.acd-content p {
    margin: 0;
    word-break: break-all;
}
.acd-check:checked + .acd-label + .acd-content {
    height: auto;
    opacity: 1;
    padding: 15px 0;
    visibility: visible;
    display: flex;
    align-items: center;
    word-break: break-all;
}

.acd-check:checked + .acd-label::after {
    transform: rotate(180deg);
}

@media screen and (max-width:600px) {
.acd-label {
	width: 100%;	/*600px以下(スマホ)でラベル幅100%になる*/
}
}

@media screen and (min-width:600px) { 
.acd {
    padding: 0 20px 20px;	/*600px以上(PC)で左右空白広くなる*/
}

.acd-label:hover {
	filter: brightness(110%);
	transition: 0.3s;
}
}


/*PAGE TOP（↑）設定
---------------------------------------------------------------------------*/
.pagetop-show {display: block;}

/*ボタンの設定*/
.pagetop a {
	display: block;text-decoration: none;text-align: center;
	position: fixed;	/*スクロールに追従しない(固定で表示)為の設定*/
	right: 10px;		/*右からの配置場所指定*/
	bottom: 55px;		/*下からの配置場所指定*/
	color: #fff;		/*文字色*/
	font-size: 1.5rem;	/*文字サイズ*/
	background: rgba(0,0,0,0.5);	/*背景色。0,0,0は黒の事で0.2は色が20%出た状態。*/
	width: 35px;			/*幅*/
	line-height: 30px;	/*高さ*/
}

.pagedown a {
	bottom: 15px !important;		/*下からの配置場所指定*/
}

.pagetop .fas { margin-top:5px;} /*ページトップボタン*/

/*PCでのみマウスオン時*/
@media(hover: hover) {
.pagetop a:hover {
	background: #c6c6c6;	/*背景色*/
}
}


/*その他
---------------------------------------------------------------------------*/
.clearfix::after {content: "";display: block;clear: both;}
.color-theme, .color-theme a {color: #747474 !important;}
.color-check, .color-check a {color: #f00 !important;}
.c {text-align: center !important;}
.ws {width: 95%;display: block;}
.wl {width: 95%;display: block;}
.mb30 {margin-bottom: 30px !important;}
.look {display: inline-block;border: 1px solid #ccc;padding: 5px 20px;background: rgba(0,0,0,0.03);border-radius: 5px;margin: 5px 0;}
.ofx {overflow-x: hidden;}





/*---------------------------------------------------------------------------
ここから下は画面の高さが720px以下になった場合の追加設定。
大きな端末で見た場合に、左ブロックに極力スクロールバーを出したくないので、高さを圧縮しています。
---------------------------------------------------------------------------*/
@media screen and (max-height:720px) {


/*header（ロゴ、メインメニューなどが入ったブロック）
---------------------------------------------------------------------------*/
/*ロゴ画像*/
header #logo {
	padding: 10px 50px;	/*ロゴの余白*/
}


/*メニュー設定（全端末サイズ共通の設定）
---------------------------------------------------------------------------*/
/*メニュー1個あたりの設定*/
#menubar ul a {
	padding: 10px 20px;	/*メニュー内の余白*/
}


/*　※注意！　下の閉じカッコ　}　はこのブロックに必要なので、削除しないで下さい。　*/

}





/*---------------------------------------------------------------------------
ここから下は画面幅600px以下の追加指定
---------------------------------------------------------------------------*/
@media screen and (max-width:600px) {


/*header（ロゴ、メインメニューなどが入ったブロック）
---------------------------------------------------------------------------*/
/*ヘッダーブロック*/
header {
	left: 10px;			/*左からの配置場所指定*/
}

/*ロゴ画像*/
header #logo {
	padding: 10px 50px;	/*ロゴの余白。上下、左右の順番。*/
}


/*contentsブロック
---------------------------------------------------------------------------*/
#contents {
	margin-right: 10px;	/*右側へ空けるボックスの外へのスペース*/
	margin-left: 10px;	/*左側へ空けるボックスの外へのスペース*/
}


/*mainブロック設定
---------------------------------------------------------------------------*/
/*mainブロックの設定*/
main {
	
}

/*トップページのmainブロック*/
.home main {
	padding-right: 10px;
}


/*box1
---------------------------------------------------------------------------*/
.box1 {
	padding: 0px 5px 5px;					/*上下、左右へのボックス内の余白*/
}


/*　※注意！　下の閉じカッコ　}　はこのブロックに必要なので、削除しないで下さい。　*/

}





/*---------------------------------------------------------------------------
ここから下は画面幅900px以上の追加指定
---------------------------------------------------------------------------*/
@media screen and (min-width:900px) {


/*全体の設定
---------------------------------------------------------------------------*/
html, body {
	font-size: 16px;	/*基準となるフォントサイズの上書き*/
}


/*container（サイト全体を囲むブロック）
---------------------------------------------------------------------------*/
#container {
	display: flex;					/*flexボックスを使う指定*/
	justify-content: space-between;	/*並びかたの種類の指定*/
}


/*header（ロゴなどが入った最上段のブロック）
---------------------------------------------------------------------------*/
/*ヘッダーブロック*/
header {
	height: 100%;
	background: rgba(255,255,255,0.85);
	box-shadow: 0px 0px 10px rgba(0,0,0,0.05);	/*ボックスの影。右へ、下へ、ぼかし幅の順。0,0,0は黒の事で0.05は色が5%でた状態。*/
	width: 200px;		/*幅*/
	overflow: auto;		/*高さを狭くした際に、メニューなどがきれないように自動でスクロールバーをつける。*/
}


/*contentsブロック
---------------------------------------------------------------------------*/
#contents {
	margin-left: 300px;			/*左側へ空けるボックスの外へのスペース*/
	width: calc(100% - 300px);	/*幅。100%の幅から左側のブロック分を差し引いたサイズを指定。*/
}


/*mainブロック設定
---------------------------------------------------------------------------*/
/*mainブロックの設定*/
main {
	padding-top: 10px;		/*ブロックの上にとる余白*/
}


/*menubar
---------------------------------------------------------------------------*/
/*ハンバーガーメニューを非表示にする*/
#menubar_hdr {display: none;}

/*メニューのボックス全体の設定（※変更不要）*/
#menubar {height: auto;overflow: visible;}
#menubar.db {position: static;overflow: visible;height: auto;padding: 0;}


/*テーブル
---------------------------------------------------------------------------*/
/*テーブル１行目に入った見出し部分（※caption）*/
.ta1 caption {
	padding: 5px 15px;		/*上下、左右へのボックス内の余白*/
}

/*th（左側）、td（右側）の共通設定*/
.ta1 th, .ta1 td {
	padding: 10px 15px;		/*上下、左右へのボックス内の余白*/
}

/*th（左側）のみの設定*/
.ta1 th {
	width: 20%;		/*幅*/
}


/*その他
---------------------------------------------------------------------------*/
.ws {width: 48%;display: inline;}


/*　※注意！　下の閉じカッコ　}　はこのブロックに必要なので、削除しないで下さい。　*/

}
