/* CSS Document */

/* ALL_setting
================================================== */
*{
	margin:0;
	padding:0;
	font-family: "source-han-sans-japanese", sans-serif;
	font-weight: 500;
	font-style: normal;
	font-size: 17px;
	box-sizing: border-box;
}

.clear{clear:both;}

html , body {
	min-height: 100%;
	height: auto;
	height: 100%;
	word-break: break-all;
	background-color: #FFFFFF;
}

li{	text-decoration: none; }

a { outline: none; }

a:focus, *:focus { outline:none; }

a { text-decoration: none; }

.link_style1{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
}

#wrapper{
	width: 100%;
	height: 100%;
	min-height: 100%;
	background-color: #f5f5f5;
	background-size: cover;
	background-repeat: no-repeat;
	background-attachment: fixed;
}

img{
	vertical-align: top left;
}

.pc{ display: inherit!important; }
.sp{ display: none!important; }
@media screen and (max-width: 799px){
.pc{ display: none!important; }
.sp{ display: inherit!important; }
}

/* loading_setting
================================================== */
#loader {
	width: 100%;
	height: 100vh;
	display: table;
	position: fixed;
	_position: absolute; /* IE6対策 */
	z-index: 999;

}

.loader_box{
	width: 40%;
	margin: auto;
	height: 100vh;
	display: table;
}

.loader_table_cell{
	display: table-cell;
	vertical-align: middle;
}


#fade {
	background-position: center center;
	background-repeat: no-repeat;
	background-attachment: fixed;
	background-size: cover;
	-moz-background-size:cover;
	-webkit-background-size:cover;
	-o-background-size:cover;
	-ms-background-size:cover;
	width:100%;
	height:100%;
	display: none;
	background-color: #ffffff;
	position: fixed;
	top: 0px;
	left: 0px;
	z-index: 998;
}

@media screen and (max-width: 799px){
	.loader_box{
		width: 80%;
		margin: auto;
		height: 100vh;
		display: table;
	}
}

/* MENU_setting
================================================== */

.menu_box_wrapper{
	width: 100%;
	position: fixed;
	z-index: 100;
	padding:0% 0 0% 0;
	background-color: rgba(255, 255, 255, 0.92);/* メニュー色 */
	border-bottom: 1px solid #cdd7e6;
}

.menu_box{
	text-align: center;
}

.menu_box ul{
	margin:0;
	padding:0;
}

.menu_box ul li{
	list-style: none;
	display: inline-block;
	padding-left:1.2%;
	padding-right:1.2%;
}

.menu_text_style2 img{
	width: 50%;
	vertical-align: top;
}

.menu_text_style1{
	padding-top: 0.8%;
	padding-bottom: 0.7%;
	display: block;
}

.menu_text_style2{
	padding-bottom: 0.5%;
	display: block;
}

.menu_box ul li a{
	text-decoration: none;
	color: #000541;/* メニュー文字色 */
	font-size: 1.2em;
font-family: "mizolet", sans-serif;
font-weight: 400;
font-style: normal;
	letter-spacing: 0px;
	
}

.menu_box ul li a:hover{
	color: #a5aac3;
}

/* MAIN_setting
================================================== */

.title_style{
	position: relative;
	width: 91%;
	max-width: 990px;
	margin: auto;
	padding: 0% 0 1% 0;
}

.txt_style1{
	letter-spacing: normal;
	line-height: 1.8em;
	color: #373737;
	padding: 2% 0 2% 0;
}

.border_style1{
	border-top: solid 1px #cdd7e6;
	margin: 2% auto 2% auto;
}

.border_style2{
	border-top: solid 1px #cdd7e6;
	margin: 3% auto 3% auto;
}

/* MAIN */
.main_wrapper {
	position: relative;
	margin: 0 0 -20% 0;
}

.main_img {
	z-index: 2;
	width: 100%;
	margin: 0 0 0 auto;
}

.main_logo_switch{
	z-index: 10;
	width: 8%;
	max-width: 100px;
	position: absolute;
	margin: 80px 0 0 20px;
}

.main_logo{
	z-index: 3;
	position: absolute;
	width: 42%;
	padding-top: 17%;
	margin-left: 5%;
	max-width: 850px;
}

.main_img_sp{
	display: none;
}

.main_postponed:hover{
	opacity: 0.7;
}

/* INTRODUCTION */
.introduction_wrapper{
	position: relative;
	width: 90%;
	margin: auto auto 5% auto;
	max-width: 980px;
}

.introduction_chatch{
font-family: "hiragino-mincho-pron", sans-serif;
font-weight: 300;
font-style: normal;
	font-size: 1.6em;
	color: #000f46;
  -webkit-text-stroke: 4px #ffffff;
  paint-order: stroke;
text-shadow: 0 0 3px rgba(255,255,255,.4);
	padding: 0 0 0 0;
}

.introduction_hdtext{
font-family: "mizolet", sans-serif;
font-weight: 400;
font-style: normal;
	display: flex;
	align-items: center;
	font-size: 1.4em;
	color: #4187ff;
	width: 100%;
}

.introduction_box{
	width: 100%;
	margin: auto;
	letter-spacing: -1em;
	text-align: left;
	margin-bottom: 3%;
}

.introduction_box_bottom{
	width: 100%;
	margin: auto;
	letter-spacing: -1em;
	text-align: left;
}


.introduction_txt{
	width: 50%;
	vertical-align: top;
	display: inline-block;
	letter-spacing: normal;
	line-height: 1.8em;
	color: #373737;
}

.introduction_txt2{
	width: 100%;
	vertical-align: top;
	letter-spacing: normal;
	line-height: 2em;
	color: #373737;
}

.introduction_image{
	width: 50%;
	vertical-align: top;
	display: inline-block;
	letter-spacing: normal;
	text-align: right;
}

.introduction_image2_left{
	width: 50%;
	vertical-align: top;
	display: inline-block;
	letter-spacing: normal;
	text-align: left;
	margin: 5px 0px;
}

.introduction_image2_right{
	width: 50%;
	vertical-align: top;
	display: inline-block;
	letter-spacing: normal;
	text-align: right;
	margin: 5px 0px;
}

/* STORY */
.story_wrapper{
	width: 100%;
	margin: auto auto 5% auto;
	background-size: cover;
	background-position: center; 
	background-repeat: no-repeat;
}

.story_txt {
	width:90%;
	max-width: 980px;
	margin: auto;
font-family: "hiragino-mincho-pron", sans-serif;
font-weight: 300;
font-style: normal;
	font-size: 1.1em;
	line-height: 1.8em;
	color: #373737;
}

.story_txt2 {
	width:100%;
	margin:1.3% auto;
font-family: "hiragino-mincho-pron", sans-serif;
font-weight: 300;
font-style: normal;
	font-size: 1.2em;
	line-height: 1.8em;
	color: #ff6487;
}

/* CHARACTER */
.character_wrapper{
	position: relative;
	width: 90%;
	margin: auto auto 8% auto;
	max-width: 980px;
	overflow: hidden;
}

.character_box1{
	float:left;
	width: 49%;
	margin-bottom: 20px;
}

.character_box2{
	float:right;
	width: 49%;
	margin-bottom: 20px;
}

.character_txt_box{
	width: 67%;
	display: inline-block;
	vertical-align: middle;
	position: relative;
}

.character_image_box{
	width: 30%;
	vertical-align: middle;
	display: inline-block;
	letter-spacing: normal;
	margin-right: 1%;
}

.character_txt_name{
font-family: "mizolet", sans-serif;
	font-weight: 500;
	font-style: normal;
	font-size: 1.8em;
	color: #000f46;
	line-height: 1.3em;
	margin-bottom: 10px;
}

.character_cv_txt{
font-family: "mizolet", sans-serif;
	font-weight: 500;
	font-style: normal;
	font-size: 1.3em;
	line-height: 1.4em;
	color: #4187ff;
	margin-bottom: 10px;
}

.character_cv{
font-family: "mizolet", sans-serif;
	font-weight: 900;
	font-style: normal;
	font-size: 0.7em;
	letter-spacing: 0.05em;
	width: 60px;
	text-align: center;
	background-color: #4187ff;
	color: #ffffff;
	float: left;
	margin-right: 10px;
}

/* GALLERY */
.gallery_wrapper{
	width: 90%;
	margin: auto auto 5% auto;
	max-width: 980px;
}

.gallery_cg_box{
	width: 100%;
}

.gallery_cg{
	width: 32.6%;
	display: inline-block;
}

.gallery_cg img{
	border-radius: 0px;
	border: 1px solid #cdd7e6;
}

.gallery_cg :hover{
	opacity: 0.8;
}

/* VIDEO */
.video_wrapper{
	width: 90%;
    margin: 0 auto 5%;
	max-width: 980px;
}

	iframe{
    display: block;
    width: 95%;
    aspect-ratio: 16 / 9;
    border: none;
    margin: 1% auto 0 auto;
	}

/* SYSTEM */
.system_wrapper{
	width: 90%;
	margin: auto auto 5% auto;
	max-width: 980px;
}

.system_option_txt{
font-family: "mizolet", sans-serif;
font-weight: 400;
font-style: normal;
	font-size: 1.em;
	color: #1eafff;
	width: 100%;
	padding: 1% 2%;
}

/* SPEC */
.spec_wrapper{
	width: 90%;
	margin: auto auto 5% auto;
	max-width: 980px;
}

.spec_hdtext{
font-family: "mizolet", sans-serif;
font-weight: 400;
font-style: normal;
	display: flex;
	align-items: center;
	font-size: 1.4em;
	color: #4187ff;
	text-align: left;
	width: 100%;
	padding: 1% 0 0 6px;
}

.spec_package_box{
	width: 37%;
	display: inline-block;
	text-align: center;
	vertical-align: top;
	position: relative;
}

.spec_txt_box{
	width: 60%;
	margin: 0 0 0 2%;
	display: inline-block;
	text-align: left;
	vertical-align: top;
	position: relative;
}

.spec_table_style1{
font-family: "mizolet", sans-serif;
font-weight: 400;
font-style: normal;
	font-size: 1.em;
	color: #1eafff;
	text-align: left;
	vertical-align: top;
	width: 26%;
}

.spec_table_style3{
	text-align: left;
	vertical-align: top;
	letter-spacing : -0.6px;
	color: #373737;
	width: 64%;
}

th {
    padding: 6px 6px;
}

td {
    padding: 2px 6px;
}

.spec_cero{
    float:  left;
	text-align: center;
	margin-right: 10px;
}

.spec_cero_txt{
	font-size: 0.6em;
}


.spec_limited_chatch{
font-family: "mizolet", sans-serif;
font-weight: 400;
font-style: normal;
	font-size: 1.6em;
	text-align: center;
	color: #4187ff;
	padding: 0.8% 0 1.8% 0;
}

.spec_limited_chatch span{
font-family: "mizolet", sans-serif;
font-weight: 400;
font-style: normal;
	font-size: 0.6em;
	color: #4187ff;
}

.spec_limited_txt{
font-family: "mizolet", sans-serif;
font-weight: 400;
font-style: normal;
	width: 50%;
	text-align: center;
	padding: 1% 1%;
	background-color: #dce6fa;
	color: #373737;
	font-size: 1.2em;
	margin: 10px auto;
}

.spec_limited_txt2{
font-family: "mizolet", sans-serif;
font-weight: 400;
font-style: normal;
	width: 50%;
	text-align: center;
	color: #91aad7;
	font-size: 2em;
	margin:-10px auto;
}


/* SPECIAL */

/* SPECIAL */
.special_wrapper{
	width: 90%;
	margin: auto;
	max-width: 980px;
}

.special_chatch{
font-family: "mizolet", sans-serif;
font-weight: 400;
font-style: normal;
	font-size: 1.6em;
	text-align: center;
	color: #4187ff;
	padding: 0.8% 0 1.8% 0;
}

.special_txt{
	width: inherit;
	letter-spacing: normal;
	line-height: 1.8em;
	color: #000000;
	margin: auto;
}

.special_box{
	width: 100%;
	margin: auto;
	letter-spacing: normal;
	clear: both;
	display: flex;
}

.special_image{
	width: 50%;
	box-sizing: border-box;
	display: inline-block;
	padding: 4%;
	letter-spacing: normal;
	vertical-align: top;
	position: relative;
	padding-bottom: 30px;
}

.special_image2{
	width: 100%;
	display: inline-block;
	padding: 4%;
	letter-spacing: normal;
	vertical-align: top;
	position: relative;
	padding-bottom: 30px;
}

.special_image img{
	border-radius: 20px;
	border: 1px solid #b4c3de;
}

.special_image2 img{
	border-radius: 20px;
	border: 1px solid #b4c3de;
}

.special_image_ushi{
	width: 50%;
	box-sizing: border-box;
	display: inline-block;
	padding: 4%;
	letter-spacing: normal;
	margin: auto;
	position: relative;
}

.special_shop{
font-family: "mizolet", sans-serif;
font-weight: 400;
font-style: normal;
	font-size: 1.3em;
	color: #4187ff;
	text-align: center;
	line-height: 1.4em;
	padding: 3% 0 0 0;
}

.special_paid{
font-family: "mizolet", sans-serif;
font-weight: 400;
font-style: normal;
	font-size: 1.3em;
	color: #4187ff;
	text-align: center;
	padding: 20px 0 0 0;
}

.special_item{
	line-height: 1.8em;
	text-align: center;
	color: #000000;
}

.special_btton{
font-family: "mizolet", sans-serif;
font-weight: 400;
font-style: normal;
	position: relative;
	width: 65%;
	padding: 2%;
	margin: 5px auto;
	border-radius: 40px;
	text-align: center;
	color: #ffffff;
	background-color: #415596;
}

.special_btton2{
font-family: "mizolet", sans-serif;
font-weight: 400;
font-style: normal;
	position: relative;
	width: 32%;
	padding: 1%;
	margin: 5px auto;
	border-radius: 40px;
	text-align: center;
	color: #ffffff;
	background-color: #415596;
}

.special_btton a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.special_btton2 a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.special_btton:hover{
	opacity: 0.8;
}

.special_btton2:hover{
	opacity: 0.8;
}

.special_border{
	border-top: dashed 1px #cdd7e6;
}

/* FOOTER */

.footer_wrapper {
	margin-top: 20px;
	height: 94px;
	width: 100%;
 	position: relative;
 	left: 0;
 	bottom: 0;
 	color: #ffffff;
 	text-align: center;
	border-top: solid 1px #c8d7e6;
	background-color: rgba(225,235,250, 0.75);
 	box-sizing: border-box;
}

.footer_box{
	display: flex;
 	justify-content: center;
 	align-items: center;
	width: 100%;
}

.footer_copyright{
	text-align: center;
	font-size: 0.8em;
	color:#000f46;
	padding: 1% 0% 1% 1%;
}

.footer_logo{
	width: 96px;
	padding: 10px 12px 0px 10px;
}



/* SMART_PHONE_setting
================================================== */

@media screen and (max-width: 799px){
	
*{
	font-size: 15px;
}
	
.txt_style{
	line-height: 1.5em;
}
	
.menu_box_wrapper{
	display: none;
}

/* MAIN */
.main_img {
	display: none;
}
	
.main_logo {
	display: none;
}
	
.main_img_sp{
	display: block;
	margin-bottom: 5%;
}
	
.main_logo_switch{
	margin: 2%;
	width: 10%;
}
	
.main_logo{
	display: none;
}

.main_logo_sp{
	z-index: 3;
	position: relative;
	display: block;
	width: 80%;
	max-width: 580px;
	margin: auto;
}

/* INTRODUCTION */
.introduction_wrapper{
	width: 80%;
	margin: auto auto 6% auto;
}
	
.introduction_chatch{
	font-size: 1.3em;
}

.introduction_hdtext{
	font-weight: 400;
	font-size: 1.2em;
	margin-bottom: 1%;
}
	
.introduction_hdtext img{
	align-self: flex-start;
	flex-shrink: 0;
	margin-top: 0.15em;
}
	
.introduction_txt{
	width: 100%;
	line-height: 1.5em;
}

.introduction_txt2{
	width: 100%;
	line-height: 1.5em;
}

.introduction_image{
	width: 100%;
	display:none;
}
	
.introduction_image2{
	width: 100%;
	margin: 1% 0 1% 0;
}
	
.introduction_image2_left,
.introduction_image2_right{
	display:none;
}
	
.introduction_box{
	padding: 0 0 4% 0;
}
	
/* STORY */
.story_wrapper{
	width: 90%;
	margin: auto auto 8% auto;
}
	
.story_txt {
	margin: auto;
	font-size: 15px;
	line-height: 1.5em;
}
	
.story_txt span{
	font-size: 1.2em;
}
	
.story_txt2 {
	font-size: 1.2em;
	line-height: 1.5em;
	margin:3% auto;
}
	
/* CHARACTERS */
.character_wrapper{
	width: 90%;
	margin: auto auto 10% auto;
}

.character_box1{
	width: 100%;
	display: inline-block;
}

.character_box2{
	width: 100%;
	display: inline-block;
}

.character_txt_name{
	font-size: 1.5em;
}

.character_cv_txt{
	font-size: 1em;
}
/* VIDEO */
.video_wrapper{
	width: 90%;
	margin: auto auto 8% auto;
}
	
/* GALLERY */	
.gallery_wrapper{
	width:90%;
	margin: auto auto 8% auto;
}

/* SYSTEM */	
.system_wrapper{
	width: 80%;
	margin: auto auto 6% auto;
}

/* SPEC */	
.spec_wrapper{
	width: 80%;
	margin: auto auto 6% auto;
}
	
.spec_package_box{
	width: 70%;
	display: block;
	text-align: center;
	margin: auto;
	padding-bottom: 5%;
}
	
.spec_txt_box{
	width: 100%;
	display: block;
	text-align: center;
}
	
.spec_limited_txt{
	width: 80%;
	font-size: 1.1em;
}
	
/* SPECIAL */	
.special_wrapper{
	width: 80%;
}

.special_box{
	width: 100%;
    display: flex;
    flex-direction: column;
}

.special_txt{
	width: 100%;
}
	
.special_image{
	width: 90%;
	display: block;
	padding: 0%;
	margin: 4% auto 10%;
	text-align: center;
}

.special_image img{
	width: 100%;
	margin: auto;
}
	
.special_image2{
	width: 90%;
	display: block;
	padding: 0%;
	margin: 4% auto 10%;
	text-align: center;
}

.special_image2 img{
	width: 100%;
	margin: auto;
}
	
.special_border{
	width: 90%;
	margin: auto;
}
	
.special_btton{
	width: 90%;
	padding: 4%;
}
	
.special_btton2{
	width: 90%;
	padding: 4%;
}
	

/* FOOTER */
.footer_wrapper {
	padding: 10px 0;
}

.footer_box{
	display: flex;
	justify-content: center;
	align-items: center;
}
	
.footer_copyright{
	font-size: 0.7em;
	padding: 1% 10px 1% 1%;
}
	
.footer_logo{
	width: 90px;
}

}
