@import url('https://fonts.googleapis.com/css2?family=Comfortaa:wght@700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Kosugi+Maru&display=swap');

/*---------Common---------------*/
*{
	box-sizing: border-box;
	position: relative;
}

.aplha{
	-ms-filter: "alpha( opacity=0 )";
	filter: alpha( opacity=0 );
	opacity: 0.0;
}

.onalpha{
	-ms-filter: "alpha( opacity=100 )";
	filter: alpha( opacity=100 );
	opacity: 1.0;
	transition: 0.2s;
	-webkit-transition: 0.2s;
	-moz-transition: 0.2s;
	cursor: default;
}

.onalpha:hover{
	-ms-filter: "alpha( opacity=80 )";
	filter: alpha( opacity=80 );
	opacity: 0.8;
	transition: 0.2s;
	-webkit-transition: 0.2s;
	-moz-transition: 0.2s;
	cursor: pointer;
}


.clearfix::after{
	content: "";
	display: block;
	clear: both;
}

a:focus, *:focus {outline:none;}


.sp, .sp_b{
	display: none;
}

.pc{
	display: inline-block;
}

.pc_b{
	display: block;
}

/*-----Header Menu-------*/

#nav_box{
	width: 100%;
	min-width: 1000px !important;
	height: 45px;
	position: fixed;
	top: 0;
	z-index: 300;
	background-repeat: no-repeat;
	background-position: top center;
	background-color: #00A1E9;
}

#nav_set_box{
	padding: 0;
	width: 1000px;
	height: 45px;
	margin: 0px auto 0 auto;
	box-sizing: border-box;
	z-index: 300;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	
}

.menu_btn{
  font-family: 'Kosugi Maru', sans-serif;
  font-size: 12pt;
  font-weight: 400;
  color: #FFFFFF;
  height: 45px;
  border: 0;
  cursor: default;
  overflow: hidden;
  position: relative;
  padding-left: 10px;
  padding-right: 10px;
  /*	text-transform: inherit;*/
/*	transition: color 1s;*/
  transition: 0.7s;
  -webkit-transition: 0.7s;
  -moz-transition: 0.7s;
  background-color: #00A1E9;
}

.menu_btn:hover{
	cursor: pointer;
	/*	color:#01a0ca;*/
/*	background-color: #fff;*/
	transition: 0.7s;
	-webkit-transition: 0.7s;
	-moz-transition: 0.7s;
	color: #FFFFFF;
	background-color: #8EC31F;
}


.menu_btn2{
	height: 45px;
	font-family: 'Kosugi Maru', sans-serif;
	font-size: 12pt;
	font-weight: 200;
	color: #0074A9;
	height: 45px;
	background-color: #00A1E9;
	border: 0;
	cursor: default;
	overflow: hidden;
	position: relative;
	padding-left: 25px;
	padding-right: 25px;
}

.btn_fb,
.btn_tw,.btn_ist
{
/*	font-family: 'Comfortaa';*/
/*	font-size: 12pt;*/
}


/*-----Menu Box-------*/
.menu_box{
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 20;
}

.btn_menu{
	width: 50px;
	height:50px;
font-family: 'Kosugi Maru', sans-serif;
	font-size: 15pt;
	font-weight: 700;
	color:#e8d0c6;
	background-color: #000;
	border: 0;
	cursor: default;
	overflow:hidden;
	position: relative;
/*	padding-left: 15px;*/
/*	padding-right: 15px;*/
	float: left;
/*	text-transform: inherit;*/
/*	transition: color 1s;*/
	transition: 0.7s;
	-webkit-transition: 0.7s;
	-moz-transition: 0.7s;
	margin-left: 10px;
}

.btn_menu:hover{
	cursor: pointer;
	transition: 0.7s;
	-webkit-transition: 0.7s;
	-moz-transition: 0.7s;
	-ms-filter: "alpha( opacity=80 )";
	filter: alpha( opacity=80 );
	opacity: 0.8;
}




/*-----Main-------*/
#top_box{
	width: 100%;
	min-width: 1000px !important;
	margin-top: 45px;
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 0px;
	background-repeat: no-repeat;
	background-position: center top;
	overflow: hidden;
}

#top_set_box{
	width: 100%;
	min-width: 1000px !important;
	margin-top: 0;
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 0px;
}


.top_bg{
	width: 100%;
	min-width: 1000px;
	height: auto;
	margin-top: 0px;
	margin-left: 0px;
	display: block;
	z-index: 10;
}

.top_logoset{
	width: 100%;
	height: auto;
	position: absolute;
	z-index: 20;
}

.top_logoEN{
	width: 27.55%;
	height: auto;
	position: absolute;
	margin-top: 28.8%;
	margin-left: 63.0%;
	z-index: 20;
}

.top_koukai{
	width: 40.05%;
	height: auto;
	position: absolute;
	margin-top: 41.9%;
	margin-left: 56.8%;
	z-index: 20;
}

.top_cc1{
	width: 8.05%;
	height: auto;
	position: absolute;
	margin-top: 21.0%;
	margin-left: 1.4%;
	z-index: 20;
}



.top_cc2{
	width: 52.8%;
	height: auto;
	position: absolute;
	margin-top: 1.1%;
	margin-left: 1.4%;
	z-index: 20;
}


.harf_box{
	width: 48.5%;
	position: absolute;
	margin-top: 30.8%;
	margin-left: 51.5%;
/*	border: 1px #000 solid;*/
	z-index: 20;
	text-align: center;
}

.yokoku_pc{
	width: 95%;
	height: 26.5vw;
	margin: 0 auto 5.5%;
/*	display: block;*/
}


.bnr_butai_link{
	width: 20.35%;
	position: absolute;
	margin-top: 14.7%;
	margin-left: 16.4%;
	z-index: 30;
}

.bnr_butai{
	width:100%;
	height:auto;
	z-index: 20;
}


.bnr_dvd_link{
	width: 27.35%;
	position: absolute;
	margin-top: 30.5%;
	margin-left: 70.5%;
	z-index: 20;
}

.bnr_dvd{
	width:100%;
	height:auto;
	z-index: 20;
}

/*-----ftr-------*/

#ftr_box{
  z-index: 40;
  margin-right: 0px;
  margin-left: 0px;
/*  margin-bottom: 10px;*/
  clear: both;
  padding-top: 20px;
  padding-right: 0px;
  padding-left: 0px;
  padding-bottom: 20px;
  background-repeat: no-repeat;
  background-position: top center;
  width: 100%;
  background-color: #55c5f1;
}


#ftr_naka{
  text-align: center;
  width: 900px;
  margin-left: auto;
  margin-right: auto;
}

.pre_bl{
	display: block;
	margin: 0 auto;
}


#ftr_bnr{
	width: 1000px;
	margin: 15px auto 0px auto;
	text-align: center;
}


#ftr_bnr img{
	margin: 0px 5px 5px 0px;
}


/*------- SNS ----------------*/

#top_tw{
	position: relative;
	display: inline-block;
	z-index: 500;
	margin-top: 10px;
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 0px;
	height: 25px;
}

.fb {
	margin: 2px 0px 0px 0px;
	padding: 0px;
	display: inline;
	float: left;
} 

.tw {
	margin: 2px 0px 0px -8px;
	padding: 0px;
	display: inline;
	float: left;
} 

.line{
	margin: 2px 0px 0px 10px;
	padding: 0px;
	display: inline;
	float: left;
}


.eigacom{
	margin: 2px 0px 0px 10px;
	padding: 0px;
	display: inline;
	float: left;
} 

/*------- Sub Page ----------------*/

.in_box{
	margin: 0 auto;
	width: 1000px;
	font-size: 11pt;
	line-height: 1.4em;
}

.pad_lr{
	padding-left: 13px;
	padding-right: 13px;
}

.txt_box{
	font-size: 13pt;
	line-height: 1.6em;
	text-align: justify;
	text-justify: inter-ideograph;
	
}

.w100pct{
	width: 100%;
	min-width: 1000px;
	height: auto;
	margin: 0;
/*	display: block;*/
	z-index: 10;
}



/*------- COMMENT ----------------*/
.sub_box{
	width: 100%;
	min-width: 1000px;
	margin-left: auto;
	margin-right: auto;
}


#cmt_box{
	background-color: #c4e6f3;
	padding-bottom: 60px;
}

.h3_box{
	text-align: center;
}

h3{
	font-size: 23pt;
	display: inline-block;
	text-align: center;
	margin-top: 30px;
	margin-bottom: 30px;
}

#cmt_box h3{
	color:#00a0e9;
	background: linear-gradient(transparent 60%, #e5f6fd 0%);
	padding: 0 20px 10px;
}

.cmt_txtbox{
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}

.cmt_txt{
	font-size: 13pt;
	width: 435px;
	line-height: 1.6em;
	text-align: justify;
	text-justify: inter-ideograph;
}

.cmt_pt{
	display: block;
	margin: 0 auto 15px;
	width: 200px;
	height: auto;
}

.cmt_name{
	color:#00a0e9;
	font-size: 15pt;
	margin-bottom: 30px;
}


/*------- イントロ ----------------*/

#intro_box{
  background-color: #FAF6DC;
  padding-top: 1px;
}

#intro_box h3{
  color: #FF8400;
  background: linear-gradient(transparent 60%, #FDDD9F 0%);
  padding: 0 20px 10px;
}

.intro_lead{
	font-size: 29pt;
	font-weight: 400;
	color: #FF8400;
	line-height: 1.8em;
	text-align: center;
	margin-bottom: 40px;
}

.intro_txtbox{
	margin-bottom: 80px;
}

.sub_pt{
	vertical-align:bottom;

}

/*------- ストーリー----------------*/

#story_box{
  background-color: #FFE8F1;
  padding-top: 1px;
}

#story_box h3{
  color: #F26791;
  background: linear-gradient(transparent 60%, #FED2DF 0%);
  padding: 0 20px 10px;
}

.story_lead{
	font-size: 29pt;
	font-weight: 400;
  color: #F26791;
	line-height: 1.8em;
	text-align: center;
	margin-bottom: 40px;
}

.story_txtbox{
	margin-bottom: 80px;
}


/*------- キャラ----------------*/

#chara_box{
  background-color: #E1F4FF;
  padding-top: 1px;
  padding-bottom: 50px;
}

#chara_box h3{
  color: #109FE1;
  background: linear-gradient(transparent 60%, #B3DFFF 0%);
  padding: 0 20px 10px;
}




.chara_txtbox{
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}

.chara_txt{
	width: 324px;
	text-align: center;
	margin-bottom: 50px;
}

.chara_pt{
	display: block;
	margin: 0 auto 15px;
	width: 271px;
	height: auto;
}

.chara_name{
	font-size: 16pt;
	margin-bottom: 15px;
}

#chara_box a:link,#chara_box a:visited,#chara_box a:active{
	text-decoration: none;
	color: #fff;
	background-color: #1571BA;
	display: block;
	padding: 15px;
	margin: 0 auto;
	width: 260px;
	text-align: center;
}

.chara_tuika{
  text-align: center;
  margin-top: 0px;
  margin-bottom: 20px;
  width: 100%;
}

/*------- 主題歌 ----------------*/

#music_box{
	background-color: #FAF6DC;
	padding-top: 1px;
	padding-bottom: 50px;
}

#music_box h3{
  color: #FF8400;
  background: linear-gradient(transparent 60%, #FDDD9F 0%);
  padding: 0 20px 10px;
}

.music_txtbox{
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}

.music_txt{
	width: 600px;
}

.music_lead{
	font-size: 21pt;
	color: #FF8400;
}

.music_komi{
	margin-top: 30px;
	margin-bottom: 10px;
	font-size: 19pt;
}


/*------- BOOK ----------------*/

#book_box{
	background-color: #edffcf;
	padding-top: 1px;
	padding-bottom: 100px;
}

#book_box h3{
  color: #3AA439;
  background: linear-gradient(transparent 60%, #d4edab 0%);
  padding: 0 20px 10px;
}



#book_box a:link,#book_box a:visited,#book_box a:active{
  text-decoration: none;
  color: #1571BA;
}

#book_box a:hover	{
  text-decoration: none;
  color: #FF6E00;
}


.book_txtbox{
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}

.book_txt{
	width: 612px;
	font-size: 13pt;
	line-height: 1.6em;
}

.book_title{
  font-size: 15pt;
  color: #548700;
  line-height: 1.6em;
  margin-bottom: 31px;
}

.big{
	font-size: 120%;
}

.sirabe{
	font-size: 70%;
}


/*------- FOOTER ----------------*/

.sub_ftr_logoset{
	z-index: 20;
	position: absolute;
	margin-top: 0px;
	margin-left: 0px;
}

#footer img{
	vertical-align:bottom;
}
