/* CSS Document */

/* ALL_setting
================================================== */
*{
	margin:0;
	padding:0;
	font-family: "source-han-sans-japanese", sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 16px;
	box-sizing: border-box;
}

*, *::before, *::after{
	box-sizing:border-box;
}

html , body {
	min-height: 100%;
	height: auto;
	height: 100%;
	word-break: break-all;
	background-color: #FFFFFF;
}

a { outline: none; }

a:focus, *:focus { outline:none; }

a { text-decoration: none; }

img{
	display:block;
	max-width:100%;
	height:auto;
}

.pc { display: block !important; }
.sp { display: none !important; }
@media screen and (max-width:799px){
  .pc { display: none !important; }
  .sp { display: block !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(50, 50, 50, 0.92);/* メニュー色 */
	border-bottom: 1px solid #000000;
}

.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: #ffffff;/* メニュー文字色 */
font-family: "source-han-sans-japanese", sans-serif;
font-weight: 400;
font-style: normal;
	font-size: 1.2em;
	letter-spacing: 3px;
	
}

.menu_box ul li a:hover{
	color: #8c8c8c;
}

/* MAIN_setting
================================================== */

.title_style{
	position: relative;
	z-index: 5;
	width: 91%;
	max-width: 990px;
	margin: auto;
	padding: 0% 0 2% 0;
}

.txt_style1{
	letter-spacing: normal;
	line-height: 1.8em;
	color: #373737;
	padding: 2% 0 0% 0;
}

.border_style{
	border-top: solid 1px #dcdcdc;
	margin: 2% auto 2% auto;
}

.border_style_ch{
	border-top: solid 1px #dcdcdc;
	margin: 3% auto 3% auto;
}

/* MAIN */
.main_wrapper {
	position: relative;
	margin: 0 0 -6% 0;
}

.main_img {
	position: relative;
	width: 100%;
	min-width: 1360px;
	max-width: 1800px;
	left: 50%;
	transform: translateX(-50%);
}

.main_logo_switch{
	z-index: 10;
	width: 8%;
	max-width: 100px;
	position: absolute;
	margin: 80px 0 0 20px;
}

.main_img_sp{
	display: none;
}

/* INTRODUCTION */
.introduction_wrapper{
	position: relative;
	width: 90%;
	margin: auto auto 5% auto;
	max-width: 980px;
}

.introduction_chatch{
font-family: "tot-shizukardgo-stdn", sans-serif;
font-weight: 500;
font-style: normal;
	position: relative;
	z-index: 15;
	font-size: 1.6em;
	text-align: center;
	line-height: 150%;
	color: #323232;
	text-shadow:0 0 4px #ffffff;
	padding: 0 0 1% 0;
}

.introduction_hdtext{
font-family: "tot-shizukardgo-stdn", sans-serif;
font-weight: 500;
font-style: normal;
    display: flex;
    align-items: center;
	font-size: 1.3em;
	background: linear-gradient(90deg, #e696dc 0%, #a59bd7 50%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
	width: 100%;
}

.introduction_hdtext img{
    display: block;
    width: 22px;
}

.introduction_box{
	width: 100%;
	margin: auto;
	text-align: left;
	margin-bottom: 3%;
}

.introduction_box_bottom{
	width: 100%;
	margin: auto;
	text-align: left;
}

.introduction_box2{
	display:flex;
	justify-content:space-between;
	align-items:flex-start;
	margin-bottom: 3%;
}


.introduction_txt{
	width: 50%;
	line-height: 1.8em;
	vertical-align: top;
	display: inline-block;
	letter-spacing: normal;
	color: #373737;
	padding-right: 20px;
}

.introduction_txt2{
	width: 100%;
	line-height: 1.8em;
	vertical-align: top;
	display: inline-block;
	letter-spacing: normal;
	color: #373737;
}

.introduction_image{
	width: 50%;
	vertical-align: top;
	display: inline-block;
	letter-spacing: normal;
	text-align: right;
}

.introduction_image2{
	display: flex;
	justify-content: space-between;
	margin-top: 5px;
}

.introduction_image2_left{
    width:49.2%;
    float:left;
}

.introduction_image2_right{
    width:49.2%;
    float:right;
}

/* STORY */
.story_wrapper{
	position: relative;
	margin: auto auto 5% auto;
}

.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:0 0 1.3% 0;
font-family: "tot-shizukardgo-stdn", sans-serif;
font-weight: 500;
font-style: normal;
	display:flex;
	align-items:center;
	font-size: 1.15em;
	line-height: 1.4em;
}

.story_txt2::before{
	content:"";
	width:5px;
	height:1em;
	background:#e6e6e6;
	margin-right:8px;
	display:inline-block;
	vertical-align:-0.1em;
}


.story_txt_bg {
	width:100%;
font-family: "hiragino-mincho-pron", sans-serif;
font-weight: 300;
font-style: normal;
	font-size: 1.2em;
	background: linear-gradient(to right, #ffffff, #ffd2eb, #fadcff);
	padding: 1% 0 0 0 ;
	margin-bottom: 1%;
}

/* CHARACTER */
.character_wrapper{
	width: 90%;
	margin: auto auto 5% auto;
	max-width: 980px;
}

.character_box{
	width: 100%;
	margin: auto;
	clear: both;
}

.character_image_box{
	width: 35%;
	vertical-align: middle;
	display: inline-block;
	letter-spacing: normal;
}

.character_txt_box{
	width: 64.5%;
	vertical-align: middle;
	display: inline-block;
	letter-spacing: normal;
	line-height: 1.8em;
}

.character_txt_name{
font-family: "hiragino-mincho-pron", sans-serif;
font-weight: 600;
font-style: normal;
	font-size: 2.5em;
	letter-spacing: -0.05em;
	margin: 0 0 4px 0 ;
	color: #000000;
}

.character_txt_name span{
	font-family: "source-han-sans-japanese", sans-serif;
font-weight: 400;
font-style: normal;
	font-size: 0.5em;
	letter-spacing: 0.05em;
	color: #b4b4b4;
}

.character_cv_txt{
font-family: "source-han-sans-japanese", sans-serif;
font-weight: 500;
font-style: normal;
	font-size: 1.3em;
	color: #323232;
	margin-bottom: 10px;
}

.character_cv{
font-family: "source-han-sans-japanese", sans-serif;
font-weight: 400;
font-style: normal;
	font-size: 0.8em;
	letter-spacing: 0.05em;
	width: 60px;
	text-align: center;
	background-color: #323232;
	color: #ffffff;
	float: left;
	margin-right: 10px;
}

.character_chatch{
font-family: "hiragino-mincho-pron", sans-serif;
font-weight: 500;
font-style: normal;
	font-size: 1.4em;
	color: #f0aad2;
	padding: 10px 0;
	letter-spacing: -0.03em;
	text-shadow:0 0 3px #e6e6e6;
}

.character_chatch2{
font-family: "hiragino-mincho-pron", sans-serif;
font-weight: 500;
font-style: normal;
	font-size: 1.4em;
	color: #96b4e6;
	padding: 10px 0 5px 0;
	letter-spacing: -0.03em;
	text-shadow:0 0 3px #e6e6e6;
}

.character_chatch3{
font-family: "hiragino-mincho-pron", sans-serif;
font-weight: 600;
font-style: normal;
	font-size: 1.4em;
	color: #919191;
	padding: 10px 0 15px 0;
	letter-spacing: -0.03em;
	text-shadow:0 0 3px #e6e6e6;
}

.character_plofile{
font-family: "source-han-sans-japanese", sans-serif;
font-weight: 500;
font-style: normal;
	font-size: 1em;
	line-height: 1.3em;
	color: #919191;
	padding-top: 5px;
}

.character_txt{
	clear: both;
	padding: 0 0 0 0;
	color: #373737;
	margin-bottom: 4px;
}

/* SYSTEM */
.system_wrapper{
	width: 90%;
	margin: auto auto 5% auto;
	max-width: 980px;
}

.system_option_txt{
font-family: "source-han-sans-japanese", sans-serif;
font-weight: 500;
font-style: normal;
	font-size: 1em;
	line-height: 180%;
	color: #9b91d2;
	width: 100%;
	padding: 0.5% 2% 1% 0;
}

/* SPEC */
.spec_wrapper{
	width: 90%;
	margin: auto auto 5% auto;
	max-width: 980px;
}

.spec_hdtext{
font-family: "tot-shizukardgo-stdn", sans-serif;
font-weight: 500;
font-style: normal;
    display: flex;
    align-items: center;
	font-size: 1.3em;
	background: linear-gradient(90deg, #e696dc 0%, #a59bd7 50%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
	width: 100%;
	margin-bottom: -1%;
}

.spec_hdtext img{
    display: block;
    width: 22px;
}

.spec_package_box{
	width: 37%;
	display: inline-block;
	text-align: center;
	vertical-align: top;
	position: relative;
}

.spec_txt_box{
	width: 56%;
	margin: 0 0 0 4%;
	display: inline-block;
	text-align: left;
	vertical-align: top;
	position: relative;
}

.spec_table_style1{
font-family: "source-han-sans-japanese", sans-serif;
font-weight: 500;
font-style: normal;
	font-size: 1em;
	color: #9b91d2;
	text-align: left;
	width: 27%;
}

.spec_table_style3{
	text-align: left;
	vertical-align: middle;
	letter-spacing : -0.6px;
	color: #373737;
	width: 63%;
}

th,td {
    padding: 5px 6px 5px 0px;
}

.spec_cero{
    float: left;
	text-align: center;
    align-items: center;
	margin-right: 10px;
}

.spec_cero img{
	display:block;
}

.spec_cero_txt{
	font-size: 0.6em;
}

.spec_limited_chatch{
font-family: "source-han-sans-japanese", sans-serif;
font-weight: 600;
font-style: normal;
	font-size: 1.6em;
	text-align: center;
	color: #323232;
	padding: 0.8% 0 1.8% 0;
}

.spec_limited_chatch span{
font-family: "tot-shizukardgo-stdn", sans-serif;
font-weight: 600;
font-style: normal;
	font-size: 0.6em;
	color: #323232;
}

.spec_limited_txt{
	width: 78%;
	letter-spacing: normal;
	line-height: 1.8em;
	color: #373737;
	margin: auto;
}

.spec_limited_item{
font-family: "source-han-sans-japanese", sans-serif;
font-weight: 600;
font-style: normal;
	width: 50%;
	text-align: center;
	padding: 1% 1%;
	background-color: #ebebfa;
	color: #373737;
	font-size: 1.2em;
	margin: 10px auto;
}

.spec_limited_item2{
font-family: "tot-shizukardgo-stdn", sans-serif;
font-weight: 600;
font-style: normal;
	width: 50%;
	text-align: center;
	color: #aaaaaa;
	font-size: 2em;
	margin:-10px auto;
}

/* SPECIAL */

.special_wrapper{
	width: 90%;
	margin: auto auto 5% auto;
	max-width: 980px;
}

.special_chatch{
font-family: "source-han-sans-japanese", sans-serif;
font-weight: 600;
font-style: normal;
	font-size: 1.6em;
	text-align: center;
	color: #919191;
	padding: 5% 0 5% 0;
}

/* FOOTER */
.footer_wrapper {
	margin-top: 20px;
	height: 94px;
	width: 100%;
 	position: relative;
 	left: 0;
 	bottom: 0;
 	text-align: center;
	background-color: rgba(50,50,50, 0.95);
 	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:#ffffff;
	padding: 1% 0% 1% 1%;
}

.footer_logo{
	width: 96px;
	padding: 10px 12px 10px 10px;
}



/* SMART_PHONE_setting
================================================== */

@media screen and (max-width: 799px){
	
*{
	font-size: 15px;
}
	
.title_style{
	padding: 0 0 5% 0;
}
	
.txt_style1{
	line-height: 1.5em;
}
	
.menu_box_wrapper{
	display: none;
}

.border_style{
	margin: 7% auto 7% auto;
}

.border_style_ch{
	margin: 7% auto 7% auto;
}

/* 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;
}

/* INTRODUCTION */
.introduction_wrapper{
	width: 80%;
	margin: auto auto 10% auto;
}
	
.introduction_chatch{
	font-size: 1.2em;
	line-height: 140%;
	margin: 0 0 3% 0; 
}

.introduction_hdtext{
	font-weight: 400;
	font-size: 1.2em;
	margin-bottom: 1%;
}
	
.introduction_box{
	display:block;
	margin-bottom: 6%;
}
	
.introduction_box2{
	display:block;
	margin-bottom: 6%;
}
	
.introduction_txt{
	width: 100%;
	line-height: 1.5em;
}

.introduction_txt2{
	width: 100%;
	line-height: 1.5em;
}

.introduction_image{
	width: 100%;
	margin: 5px 0 0 0;
}
	
.introduction_image2{
	width: 100%;
	margin: 5 0 0 0;
}
	
/* STORY */
.story_wrapper{
	width: 100%;
	margin: auto auto 10% auto;
}
	
.story_txt {
	width: 80%;
	margin: auto;
	font-size: 15px;
	line-height: 1.5em;
}
	
.story_txt2 {
	font-size: 15px;
	line-height: 1.5em;
}
	
.story_txt2::before{
	width:4px;
}
	
.story_txt_bg {
	padding: 3% 0 0 0 ;
	margin-bottom: 3%;
}

	
/* CHARACTER */	
.character_wrapper{
	width: 80%;
	margin: auto auto 10% auto;
}
	
.character_box{
	width: 100%;
	clear: both;
}
	
.character_image_box{
	width: 70%;
	margin: auto;
	display: block;
	}

.character_txt_box{
	width: 100%;
	display: inline-block;
	}
	
.character_txt{
	font-size: 15px;
	line-height: 1.5em;
}
	
.character_txt_name{
	font-size: 1.7em;
}
	
.character_txt_name span{
	font-size: 0.5em;
}
	
.character_cv_txt{
	font-size: 1.2em;
}
	
.character_cv{
	width: 42px;
}
	
.character_line{
	font-size: 1.2em;
}
	
.character_chatch{
	margin-top: -2%;
	font-size: 1.3em;
}

.character_chatch2{
	margin-top: -2%;
	font-size: 1.3em;
}

.character_chatch3{
	margin-bottom: -2%;
	font-size: 1.3em;
}

.character_plofile{
	font-size: 1em;
}

/* SYSTEM */	
.system_wrapper{
	width: 80%;
	margin: auto auto 10% auto;
}

/* SPEC */	
.spec_wrapper{
	width: 80%;
	margin: auto auto 10% auto;
}
	
.spec_package_box{
	width: 70%;
	display: block;
	text-align: center;
	margin: auto;
	padding-bottom: 5%;
}
	
.spec_txt_box{
	width: 100%;
	margin: 0 0 0 0;
	display: block;
	text-align: center;
}
	
.spec_limited_chatch{
	font-size: 1.2em;
}

.spec_limited_chatch span{
	font-size: 0.6em;
}

.spec_limited_txt{
	width: 100%;
}

.spec_limited_item{
	width: 80%;
	padding: 2% 1%;
	font-size: 1em;
}

.spec_limited_item2{
	width: 50%;
	font-size: 1.2em;
	margin:-15px auto;
}

/* SPECIAL */	
.special_wrapper{
	width: 80%;
}

.special_chatch{
	font-size: 1.2em;
}

/* FOOTER */
.footer_copyright{
	font-size: 0.7em;
	padding: 1% 10px 1% 1%;
}
	
.footer_logo{
	width: 90px;
	padding: 10px 7px 10px 10px;
}

}
