/* CSS Document */

/* ALL_setting
================================================== */
*{
	margin:0;
	padding:0;
	font-family: "source-han-sans-japanese", sans-serif;
	font-style: normal;
	font-size: 16px;
	box-sizing: border-box;
	line-height: 150%;
}

.clear{clear:both;}

html , body {
	min-height: 100%;
	height: auto;
	height: 100%;
	word-break: break-all;
}

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-size: cover;
	background-repeat: no-repeat;
	background-attachment: fixed;
}

img{
	vertical-align: top;
}

.pc{ display: inherit!important; }
.sp{ display: none!important; }
@media screen and (max-width: 699px){
.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: 30%;
	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: 699px){
	.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(  40, 90, 225, 0.9);/* メニュー色 */
}

.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.5%;
	padding-right:1.5%;
}

.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-size: 1.2em;
	font-family: "shippori-mincho-b1", sans-serif;
	font-weight: 700;
	font-style: normal;
	letter-spacing: 0px;
	
}

.menu_box ul li a:hover{
	color: #96b4ff;
}

.main_img_sp{
	display: none;
}

/* MAIN_setting
================================================== */

.title_style1{
	width: 90%;
	max-width: 980px;
	margin: auto;
	padding: 2% 0 1.3% 0;
}

.title_style2{
	width: 90%;
	max-width: 980px;
	margin: auto;
	padding: 0 0 2% 0;
}

.img_style1{
	width: 90%;
	max-width: 980px;
	margin: auto;
}

.txt_style1{
	letter-spacing: normal;
	line-height: 1.8em;
	color: #19145a;
	padding: 2% 0 2% 0;
}

.border_style1{
	border-top: solid 1px #e6e6e6;
	margin: 2% auto 3% auto;
}

.border_style2{
	border-top: solid 1px #e6e6e6;
	margin: 2% auto 3% auto;
}

/* MAIN */
.main_wrapper {
	position: relative;
	margin: 0;
	background-image: url("../image/swair_bg.jpg");
	background-position: bottom;
	background-size: cover;
}

.main_bg {
	z-index: 1;
	position: relative;
	box-sizing: border-box;
	background-color: #ffffff;
}

.main_img2 {
	z-index: 2;
	position: absolute;
	bottom: 0;
	margin: auto;
	width: 100%;
}

.main_img {
	position: relative;
	margin: auto;
	max-width: 1200px;
}

.main_logo_switch{
	z-index: 3;
	width: 8%;
	max-width: 100px;
	position: absolute;
	top: 11%;
	left: 2%;
}

.main_logo{
	z-index: 3;
	position: relative;
	width: 58%;
	padding-top: 6%;
	margin-left: 6%;
	max-width: 660px;
}

.main_logo_sp{
	display: none;
}

.main_catch_sp{
	display: none;
}

/* ABOUT THIS GAME */
.about_wrapper{
	width: 90%;
	margin: 0 auto -2% auto;
	max-width: 980px;
}

.about_chatch{
	font-family: "shippori-mincho-b1", sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 1.6em;
	line-height: 1.2em;
	text-align: center;
	color: #647dff;
	margin: -10px 0 10px 0;
	letter-spacing : -0.6px;
}

.about_hdtext{
	font-family: "shippori-mincho-b1", sans-serif;
	font-weight: 900;
	font-style: normal;
	font-size: 1.5em;
	line-height: 1em;
	color: #647dff;
	width: 100%;
}

.about_box{
	width: 100%;
	margin: auto;
	letter-spacing: -1em;
	text-align: left;
	margin-bottom: 2%;
}

.about_txt{
	width: 50%;
	vertical-align: top;
	display: inline-block;
	letter-spacing: normal;
	line-height: 1.8em;
	color: #19145a;
	padding-right: 1%;
}

.about_txt2{
	width: 100%;
	vertical-align: top;
	display: inline-block;
	letter-spacing: normal;
	line-height: 2em;
	color: #19145a;
}

.notice{
	width: 100%;
	vertical-align: top;
	display: inline-block;
	letter-spacing: normal;
	line-height: 2em;
	color: #19145a;
	font-style: normal;
	border: 2px solid #96b4ff;
	margin: 1.5% 0 1.5% 0;
	padding: 1.5%;
}

.about_image{
	width: 50%;
	vertical-align: top;
	display: inline-block;
	letter-spacing: normal;
	text-align: right;
}

.about_image2_left{
	width: 50%;
	vertical-align: top;
	display: inline-block;
	letter-spacing: normal;
	text-align: left;
	margin: 5px 0px;
}

.about_image2_right{
	width: 50%;
	vertical-align: top;
	display: inline-block;
	letter-spacing: normal;
	text-align: right;
	margin: 5px 0px;
}

/* STORY */
.story_wrapper{
	width: 90%;
	margin: auto;
	max-width: 980px;
	background-image: url("../image/swair_story.jpg");
	background-position: bottom;
	background-size: 100%;
	background-repeat: no-repeat;
}

.story_txt {
	font-family: "shippori-mincho-b1", sans-serif;
	font-weight: 600;
	font-style: normal;
	font-size: 1.1em;
	line-height: 1.8em;
	color: #19145a;
    text-shadow:
           2px 2px 2px #ffffff, -2px -2px 2px #ffffff,
          -2px 2px 2px #ffffff,  2px -2px 2px #ffffff,
           2px 0px 2px #ffffff, -2px  0px 2px #ffffff,
           0px 2px 2px #ffffff,  0px -2px 2px #ffffff;
}

/* CHARACTER */
.character_wrapper{
	width: 90%;
	margin: auto;
	max-width: 980px;
	overflow: hidden;
}

.character_box{
	width: 100%;
	margin-top: 6px;
}

.character_txt_box{
	width: 74%;
	display: inline-block;
	vertical-align: middle;
	position: relative;
	margin-left: 3%;
}

.character_image_box{
	width: 20%;
	vertical-align: middle;
	display: inline-block;
	letter-spacing: normal;
}

.character_txt_name{
	font-family: "shippori-mincho-b1", sans-serif;
	font-weight: 900;
	font-style: normal;
	font-size: 1.8em;
	color: #285aff;
	line-height: 1.3em;
}

.character_cv_txt{
	font-family: "shippori-mincho-b1", sans-serif;
	font-weight: 900;
	font-style: normal;
	font-size: 1.3em;
	line-height: 1.4em;
	color: #28c3fa;
	margin-bottom: 10px;
}

.character_txt{
	letter-spacing: normal;
	line-height: 1.8em;
	color: #19145a;
}

.character_head {
	font-family: "shippori-mincho-b1", sans-serif;
	font-weight: 900;
	font-style: normal;
	font-size: 1.3em;
	line-height: 0.8em;
	color: #647dff;
	width: 100%;
    background: linear-gradient(90deg, #647dff 0%, #ffffff 100%);
    background-repeat: no-repeat;
    background-size: 100% 2px;
    background-position: bottom;
    padding: 0.3rem 0rem;
}

/* VIDEO */
.video_wrapper{
	text-align: center;
	max-width: 980px;
	width:80%;
	margin: 0 auto 0.5% auto;
}

iframe{
	border:none;
	width:100%;
	max-width: 900px;
	aspect-ratio: 16 / 9;
	padding:0;
	margin:0;
}


/* PRODUCT INFO */
.product_wrapper{
	width: 90%;
	margin: auto;
	max-width: 980px;
}

.product_hdtext{
	font-family: "shippori-mincho-b1", sans-serif;
	font-weight: 900;
	font-style: normal;
	font-size: 1.4em;
	line-height: 1em;
	color: #647dff;
	width: 100%;
	margin-bottom: -8px;
	text-align: left;
	padding: 0px 0 6px 6px;
}

.product_package_box{
	width: 37%;
	display: inline-block;
	text-align: center;
	vertical-align: top;
	position: relative;
}

.product_txt_box{
	width: 60%;
	margin: 0 0 0 2%;
	display: inline-block;
	text-align: left;
	vertical-align: top;
	position: relative;
}

.product_table_style1{
	font-weight: 700;
	font-style: normal;
	color: #28c3fa;
	text-align: left;
	vertical-align: top;
	width: 26%;
}

.product_table_style3{
	text-align: left;
	vertical-align: middle;
	letter-spacing : -0.2px;
	color: #19145a;
	width: 74%;
}

th,td {
    padding: 5px 6px;
}

/* FOOTER */
.footer_wrapper {
	margin-top: 20px;
	height: 94px;
	width: 100%;
 	position: relative;
 	left: 0;
 	bottom: 0;
 	color: #fff;
 	text-align: center;
 	background-color: rgba(  40, 90, 225, 0.9);
 	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: 699px){
	
*{
	font-size: 15px;
}
	
.title_style1{
	width: 100%;
	padding: 3% 0 3% 0;
}
	
.title_style2{
	width: 100%;
}
	
.menu_box_wrapper{
	display: none;
}
	
.txt_style1{
	line-height: 1.5em;
}
	
.border_style2{
	border-top: solid 1px #cdcdcd;
	margin: 4% auto 4% auto;
}

/* MAIN */
@media screen and (max-width: 699px){
	
/* MAIN */
.main_logo_switch{
	top: 1%;
	width: 10%;
}
	
.main_logo{
	display: none;
}
	
.main_img{
	display: none;
}
	
.main_img_sp{
	display: block;
}


/* MOVIE */
.movie_box{
	width: 50%;
}

.movie_title{
	font-size: 1.2em;
}

/* ABOUT THIS GAME */
.about_wrapper{
	width: 80%;
}

.about_box{
	padding: 0 0 0 0;
}

.about_chatch{
	margin: 10px 0 10px 0;
	font-size: 1.3em;
	line-height: 1.3em;
}

.about_txt2{
	line-height: 1.5em;
}

.notice{
	margin: 15px 0px 25px 0px;
}

.about_hdtext{
	font-size: 1.3em;
	line-height: 1.2em;
	margin-bottom: 3px;
}

.about_txt{
	width: 100%;
	line-height: 1.5em;
}

.about_image{
	width: 100%;
	padding: 0 0 2% 0;
}

/*  STORY */
.story_wrapper{
	width: 80%;
	background-image: none;
}
	
.story_txt {
	font-size: 15.5px;
	line-height: 1.5em;
}
	
.story_txt span{
	font-size: 15px;
	line-height: 1.5em;
}
	
/* CHARACTER */
.character_wrapper{
	width: 80%;
}
	
.character_box{
	width: 100%;
	clear: both;
}
	
.character_image_box{
	width: 50%;
	margin: auto;
	display: block;
	}

.character_txt_box{
	width: 100%;
	display: inline-block;
	margin-left: 0%;
	}

.character_txt_name{
	font-size: 1.9em;
}

.character_cv_txt{
	font-size: 1.2em;
}
	
.character_head {
	font-size: 1.2em;
}

/* PRODUCT INFO */
.product_wrapper{
	width: 80%;
}

.product_package_box{
	width: 70%;
	display: block;
	text-align: center;
	margin: auto;
	padding-bottom: 5%;
}

.product_txt_box{
	width: 100%;
	display: block;
	text-align: center;
}

/* FOOTER */
.footer_copyright{
	font-size: 0.7em;
	padding: 1% 10px 1% 1%;
}
	
.footer_logo{
	width: 90px;
	padding: 10px 7px 10px 10px;
}

}