@charset "utf-8";

@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,700|Volkhov:400,700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Kaisei+Tokumin:wght@700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@700&display=swap');

/*
font-family: 'Volkhov', serif;
font-family: 'Noto Sans JP', sans-serif;
*/


/* --------------
 reset
-------------- */
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{margin:0;padding:0}
ol,ul{list-style:none}
caption,th{text-align:left}

img {max-width:100% !important; height:auto;vertical-align: bottom;}
iframe {max-width:100% !important; border:0;}
iframe img{max-width:none !important; border:0;}

body * {
	box-sizing: border-box;
}

.printOnly {
	display: none;
}


/* --------------
 clearfix
-------------- */
div:after,ul:after,ol:after,dl:after,
header:after,footer:after,
nav:after,section:after,article:after {
	content: ""; 
	display: block;
	clear: both;
}

/* --------------
 base
-------------- */
body {
	color: #eee;
	background: #000;
	background-size: 100% auto;
	font: 16px/1.4 'Noto Sans JP', sans-serif;
}

.en {
	font-family: 'Volkhov', serif;
}
.sans {
	font-family: 'Noto Sans JP', sans-serif;
}
.serif {
  font-family: 'Noto Serif JP','Kaisei Tokumin', serif;
}


h1,h2,h3,h4,h5,h6 {
	line-height: 1.2;
	word-break: break-word !important;
}
h1 {font-size: 1.5em;}
h2 {font-size: 1.3em;}
h3 {font-size: 1.1em;}
h4 {font-size: 1.0em;}
h5 {font-size: 1.0em;}
h6 {font-size: 1.0em;}

	
/* link */
a {
	/*color: #FF1C1F;*/
  color: #E4002B;
/*	word-break: break-all;*/
	word-break: break-word;
	text-decoration: none;
}
a:hover {
	color: #A31F22;
}
a img {
	-webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
a:hover img {
	opacity:0.7;
}


a.break {
	word-break: break-all;
}
.inlineblock { display: inline-block !important; }
.block { display: block !important; }


.pointer {
	cursor: pointer;
}

/* --------------
 modules css
-------------- */
/* ---------- font size */

.fs05 { font-size: 0.5em; }
.fs06 { font-size: 0.6em; }
.fs07 { font-size: 0.7em; }
.fs08 { font-size: 0.8em; }
.fs09 { font-size: 0.9em; }
.fs10 { font-size: 1.0em; }
.fs11 { font-size: 1.1em; }
.fs12 { font-size: 1.2em; }
.fs13 { font-size: 1.3em; }
.fs14 { font-size: 1.4em; }
.fs15 { font-size: 1.5em; }
.fs16 { font-size: 1.6em; }
.fs17 { font-size: 1.7em; }
.fs18 { font-size: 1.8em; }
.fs19 { font-size: 1.9em; }
.fs20 { font-size: 2.0em; }
.fs21 { font-size: 2.1em; }
.fs22 { font-size: 2.2em; }
.fs23 { font-size: 2.3em; }
.fs24 { font-size: 2.4em; }
.fs25 { font-size: 2.5em; }
.fs30 { font-size: 3.0em; }


/* ---------- font weight */
.thin {	font-weight: 100;}
.demilight {	font-weight: 300;}
.normal {	font-weight: 400;}
.midium {	font-weight: 500;}
.bold {	font-weight: 700;}
.black {	font-weight: 900;}

/* ---------- align */
.alc { text-align: center !important;}
.alr { text-align: right !important;}
.all { text-align: left !important;}

.alt { vertical-align: top !important;}
.alb { text-align: bottom !important;}
.alm { vertical-align: middle !important;}

.alj {	
	/* 文字均等割付 */
 text-align: justify !important;
 text-justify: inter-ideograph !important;
}


/* ---------- float */
.noFloat { float: none !important;}

/* ---------- Cancele */

.both { clear: both;}

/* ---------- margin,padding */
.mb0 {	margin-bottom: 0px !important;}
.mb3 {	margin-bottom: 3px !important;}
.mb5 {	margin-bottom: 5px !important;}
.mb10 {	margin-bottom: 10px !important;}
.mb15 {	margin-bottom: 15px !important;}
.mb20 {	margin-bottom: 20px !important;}
.mb25 {	margin-bottom: 25px !important;}
.mb30 {	margin-bottom: 30px !important;}
.mb35 {	margin-bottom: 35px !important;}
.mb40 {	margin-bottom: 40px !important;}
.mb45 {	margin-bottom: 45px !important;}
.mb50 {	margin-bottom: 50px !important;}
.mb55 {	margin-bottom: 55px !important;}
.mb60 {	margin-bottom: 60px !important;}
.mb70 {	margin-bottom: 70px !important;}
.mb80 {	margin-bottom: 80px !important;}
.mb90 {	margin-bottom: 90px !important;}
.mb100 {margin-bottom: 100px !important;}

.ml0 {	margin-left: 0px !important;}
.ml5 {	margin-left: 5px !important;}
.ml10 {	margin-left: 10px !important;}
.ml20 {	margin-left: 20px !important;}
.ml30 {	margin-left: 30px !important;}

.mr0 {	margin-right: 0px !important;}
.mr5 {	margin-right: 5px !important;}
.mr10 {	margin-right: 10px !important;}
.mr20 {	margin-right: 20px !important;}
.mr30 {	margin-right: 30px !important;}

.mt0 {	margin-top: 0px !important;}
.mt3 {	margin-top: 3px !important;}
.mt5 {	margin-top: 5px !important;}
.mt10 {	margin-top: 10px !important;}
.mt15 {	margin-top: 15px !important;}
.mt20 {	margin-top: 20px !important;}
.mt30 {	margin-top: 30px !important;}
.mt50 {	margin-top: 50px !important;}

.pb0 {	padding-bottom: 0px !important;}
.pb3 {	padding-bottom: 3px !important;}
.pb5 {	padding-bottom: 5px !important;}
.pb10 {	padding-bottom: 10px !important;}
.pb20 {	padding-bottom: 20px !important;}
.pb30 {	padding-bottom: 30px !important;}

.pt0 {	padding-top: 0px !important;}
.pt3 {	padding-top: 3px !important;}
.pt5 {	padding-top: 5px !important;}
.pt10 {	padding-top: 10px !important;}
.pt15 {	padding-top: 15px !important;}
.pt20 {	padding-top: 20px !important;}
.pt30 {	padding-top: 30px !important;}

.pl0 {	padding-left: 0px !important;}
.pl3 {	padding-left: 3px !important;}
.pl5 {	padding-left: 5px !important;}
.pl10 {	padding-left: 10px !important;}

.pr0 {	padding-right: 0px !important;}
.pr3 {	padding-right: 3px !important;}
.pr5 {	padding-right: 5px !important;}
.pr10 {	padding-right: 10px !important;}

/* ----- text */

.clNormal { color: #000; }

.clWt { color: #fff; }
.clGray { color: #888; }
.clBk { color: #000; }

.clRed { color: #E71F22; }
.clYlw { color: #ffeb0e; }
.clBlue { color: #1845bf; }
.clGrn { color: #409347; }
.clPink { color: #e46c7d; }
.clOg { color: #eb621f; }
.clPpl { color: #844ACC; }
.clBeige { color: #b3a89a; }


.cl-notice { color: #FF1317; }
.cl-warning { color: #EF4245; }
.cl-hidden { color: #DCDCDC; }

.cl-pdf { color:#D8190C; }
.cl-word { color:#265195; }
.cl-excel { color:#1E6E42; }

.cl-facebook { color: #3B5998; }
.cl-twitter { color: #55acee; }

mark {
	 color: inherit;
	 background: #b1f097;
}


.lh10 {	line-height: 1.0;}
.lh12 {	line-height: 1.2;}
.lh15 {	line-height: 1.5;}
.lh18 {	line-height: 1.8;}
.lh20 {	line-height: 2.0;}


/* ----- list */
.ulDisc {
	margin-left: 2em;
	list-style: outside disc;
}

.olDecimal {
	margin-left: 2em;
	list-style: outside decimal;
}

.ulDisc li, .olDecimal li {
	margin-bottom: 5px;
}

/* ----- decoration (button, etc...) */

.flc {
	margin-left: auto;
	margin-right: auto;
}
.bg-wt10 {
	background: rgba(255,255,255,.1);
}
.bg-wt90 {
	background: rgba(255,255,255,.9);
}
.bg-wt {
	background: rgba(255,255,255,1);
}


hr {
	width: 100%;
	height: 1px;
	border-style: none;
	background: #eee;
	margin-top: 1em;
	margin-bottom: .5em;
}
.hr-transparent {
	background: rgba(0,0,0,0);
	margin: .5em 0;
}

.bdrR5 {
	border-radius: 5px;
	overflow: hidden !important;
}

.bdrR10 {
	border-radius: 10px;
	overflow: hidden !important;
}
.bdrR20 {
	border-radius: 20px;
	overflow: hidden !important;
}
.bdrR30 {
	border-radius: 30px;
	overflow: hidden !important;
}
.bdrAll2-gray {
	 border: #aaa solid 2px;
}

/* ----- button */
.bkBtn {
  text-align: center;
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
}
.bkBtn a {
  border: solid 1px #fff;
  padding: .5em 1em;
  color: #fff;
}
.bkBtn a:hover {
  background-color: rgba(255,255,255,.5);
}

/* ----- youtube */


/* ----- 折り返し */
.nl {
  display: inline-block;
}


/* --------------
 common
-------------- */

/* =header
-------------------------------------------------------------- **/



/* =container
-------------------------------------------------------------- **/
.contents {
  /*padding: 3rem 20px;*/
}

.clm2 > .fll > a,
.clm3 > .fll > a,
.clm4 > .fll > a,
.clm5 > .fll > a,
.clm6 > .fll > a,
.spclm2 > .fll > a,
.spclm3 > .fll > a
.spclm4 > .fll > a,
.spclm5 > .fll > a,
.spclm6 > .fll > a {
	display: block;
	text-decoration: none;
}

/* =headline / titles
---------------------------------------------------- */
.contents h1 {
	font-size: 1.5em;
	clear: both;
	margin-bottom: 1rem;
}

.contents h2 {
	padding-top: 1.5rem;
	padding-bottom: 1rem;
	font-size: 1.8em;
	line-height: 1.1em;
  /*font-family: 'Noto Serif JP','Kaisei Tokumin', serif;*/
}

.contents h3 {
	margin-top: 1.5rem;
	margin-bottom: 1rem;
	font-size: 1.5em;
	line-height: 1.1em;
}
.contents h4 {
	margin-top: 1.5rem;
	margin-bottom: 1rem;
	font-size: 1.3em;
	line-height: 1.1em;
}
.contents h5 {
	margin-top: 1.5rem;
	margin-bottom: 1rem;
	font-size: 1.0em;
	line-height: 1.1em;
}

/* コンテンツ中身 */
.contents p {
	margin-bottom: 1rem;
}
/* テーブル */
.contents table, .contents table td, .contents table th {
	border-collapse: collapse;
	border: 1px solid #ccc;
}
.contents table {
	width: 100%;
	margin-bottom: 1rem;
}
.contents table th, .contents table td {
	padding: 5px 10px;
}
.contents table th {
	background: #f3feff;
	vertical-align: top;
}
.contents table td {
	background: #fff;
}




/* 画像中央寄せ+トリミング */

.ofi {
  object-fit: contain;
  font-family: 'object-fit: contain;';
	width: 100%;
	height: 100%;
}

.image169 {
	position: relative;
	padding-top: 56.25%;
	overflow: hidden;
}
.image169 img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.image43 {
	position: relative;
	padding-top: 75%;
	overflow: hidden;
}
.image43 img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}



/* =sns
---------------------------------------------------- */
#teaser-sns {
	padding: .5rem 0;
	border-top: #fff solid 1px;
	border-bottom: #fff solid 1px;
	background: #000;
}
#teaser-sns a {
	display: inline-block;
	margin: 0 .5em;
	color: #fff;
}
#teaser-sns a img {
  width: 164px;
  vertical-align: middle;
}


/* =bnrarea
-------------------------------------------------------------- **/

.bnrArea {
}

/* =footer
-------------------------------------------------------------- **/


/* =copyright
---------------------------------------------------- */
#copyright {
	/*margin-bottom: 1rem;*/
	padding: 7px 0;
	text-align: center;
	font-size: .7em;
  background-color: #000;
}
#copyright a {
	color: #eee;
	
}

/* =pageTop
---------------------------------------------------- */
#pageTop {
	position: sticky;
	bottom: 1%;
	right: 1%;
	z-index: 10000;
	text-align: right;
	width: 50px;
	float: right;
}
#pageTop a {
	display: inline-block;
	color: #fff;
	background-color: rgba(0,0,0,.5);
	padding: .2em .5em;
	text-align: center;
}
#pageTop a:hover {
	opacity: .7;
}

/* --------------
 page contents
-------------- */
#wrapper {
	position: relative;
	height: 100%;
}

#header-aside {
	padding: 10px;
  background-color: #8a0000;
}

#header-aside .title {
  background-color: #000;
}

.globalNav::after {
  content: none;
}
.globalNav li a, .globalNav li label {
	display: block;
	padding: .5em;
	text-align: center;
	/*border: #d5122c solid 2px;*/
	/*background-color: rgba(255,255,255,.8);*/
  color: #fff;
}
.globalNav li:hover {
  background-color: rgba(255,255,255,.5);
}
.langNav {
	text-align: center;
}
.langNav li {
	display: inline-block;
	/*border-left: #FF1C1F solid 1px;
	border-right: #FF1C1F solid 1px;*/
	margin: .5em;
}

.langNav li a {
	display: block;
	padding: .4em 1em;
	color: #fff;
  /*border: solid 2px #d5122c;*/
  border: solid 2px #fff;
}
.langNav li a:hover {
  background-color: rgba(255,255,255,.5);
}

.langNav li.current a {
  pointer-events: none;
	/*background: #d5122c;*/
  background: #fff;
  color: #8a0000;
}




.bs-a {
	box-shadow: 5px 5px 0 rgba(0,0,0,.1);
	margin-bottom: 10px;
	margin-right: 5px;
	background: #fff;
	display: block;
	border: rgba(0,0,0,.1) solid 1px;
}



#chara {
	position: relative;
	z-index: 5;
	/* padding-bottom: 100px; */
}

.charaNav {
  display: flex;
  flex-wrap: wrap;
}
.charaNav li {
  width: 300px;
}

#chara h3 {
	border-bottom: 1px #EEEEEE solid;
}

/* ポップアップウインドウの設定 */
.popup {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
	width: 100%;
	height: 0;
	opacity: 0;
	transition: .1s opacity ease-out, .1s z-index ease-out;
	z-index: -1;
	transition-delay: .1s, .5s;
}
/* チェックボックスの初期設定 */
input[type=checkbox]#popup-on-info,
input[type=checkbox]#popup-on-comment,
input[type=checkbox]#popup-on-pv,
input[type=checkbox]#popup-on-pv2,
#chara input[type=checkbox],
.charainfo input[type=checkbox]{
  display: none;
}
/* チェックされたらポップアップウインドウを開く */
input[type=checkbox]:checked + .popup{
  display: block;
	opacity: 1;
  height: auto;
	z-index: 1001;
	transition-delay: 0s, 0s;
	transition-duration: .1s, .1s;
}
.popup-inner {
	position: absolute;
	top: 50%;
	left: 50%;
  width: 90vw;
	max-width: 1200px;
	margin: auto;
  background-color: #efefef;
  overflow-y: auto;
	transform: translate(-50%, -50%);
	transition: .5s opacity ease-in-out;
	opacity: 0;
  max-height: 100vh;
}
/* チェックされたらポップアップウインドウを開く */
input[type=checkbox]:checked + .popup .popup-inner{
	opacity: 1;
}



/* 閉じるアイコン（右上） */
.icon-close{
  background: #000;
  color: #fff;
  font-size: 20px;
  padding: 5px;
  position: absolute;
  right: 0;
	line-height: 1;
	cursor: pointer;
  z-index: 1;
}


/* 閉じる背景 */
.bg-close{
	display: block;
	position: fixed;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, .8);
	cursor: pointer;
}

/* 閉じるボタン */
.btn-close{
  background: #000;
  border-radius: 10px;
  color: #fff;
  padding: 10px;
  cursor: pointer;
  margin: 10px auto;
  width: 95%;
  text-align: center;
}


/* ポップアップの内容 */
.popup-content{
  margin: 35px auto;
  width: 90%;
	color: #191919;
}

.popup-content h2 {
  font-size: 1.1em;
  margin-bottom: 1rem;
}
.popup-content p {
  margin-bottom: 1rem;
}


.btn-open {
	cursor: pointer;
}
.btn-open img {
	transition: .3s all ease-in-out;
	transform: scale(.9);
}
.btn-open:hover img {
	transform: scale(1);
}

.slick-slide {
	text-align: center;
	line-height: 1.2;
}



.slick-slider {
	padding: 0 2rem;
}
.slick-slider:not(.slick-initialized) {
	display: none;
}
.slick-slide img {
	margin: auto;
	margin-bottom: .25em;
}

.charaNav-arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	cursor: pointer;
}

.charaNav-arrow.prev {
	left: 0;
}
.charaNav-arrow.prev.slick-disabled {
	opacity: 0;
}
.charaNav-arrow.next {
	right: 0;
}


.popup-chara-wrap .popup-chara-txt {
	padding: 1em;
}
.popup-chara-wrap .popup-chara-txt dt {
	margin-bottom: 1rem;
	font-size: 1.5em;
	font-weight: bold;
}
.popup-chara-wrap .popup-chara-txt dd {
	margin-top: .5rem;
}

.popup-chara-wrap .popup-chara-txt dl dl + dl {
	margin-top: 1rem;
}
.popup-chara-wrap .popup-chara-txt dl dl dt {
	margin-bottom: .5rem;
	font-size: 1.0rem;
	font-weight: bold;
}

.popup-chara-wrap .popup-chara-txt dl dl dd {
	margin-left: 1em;
}

.popup-pv .popup-content {
  margin: 0;
  width: 100%;
}


.introBox {
	padding: 2rem 10px;
	border: #fff solid 1px;
	margin-bottom: 2rem;
}
.introBox h3 {
	margin-top: 0;
	margin-bottom: 1.5rem;
}
.introBox h3 b {
	display: inline-block;
	margin-top: .5em;
	padding-top: .5em;
	position: relative;
}

.introBox h3 b:before {
	content: '';
	width: 3em;
	height: 1px;
	display: block;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	background: #fff;
}

.introDl {
	margin-top: .5em;
}
.introDl dt {
	font-weight: bold;
}
.introDl dd {
}



/*.chapter h3{
	line-height: 2em;
}*/

.popup-content > p{
	margin-bottom: 30px;
	line-height: 1.7em;
}

.chapter-photos{
	display: flex;
	justify-content: space-around;
}

.chapter-photos p{
	margin-left: 10px;
}

.chapter-photos img{
	width: 20vw;
}

#chara ul{
	display: flex;
	flex-wrap: wrap;
}

#chara li{
	text-align: center;
}

.chara_data_txt{
	border: solid 1px #000;
	padding: 0.5em;
}


.WacthBnr {
	display: inline-block;
	position: absolute;
}
.WacthBnr a {
    background: #E4002B;
    color: #fff;
    padding: 3px 1em;
    border-radius: 25px;
    font-size: 1.1em;
}


/*regulos*/
#visual h1 img {
	width: 100vw;
}