/* 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-image:  url("../image/swcartagra_bg.webp");
}

li{	text-decoration: none; }

a { outline: none; }

a:focus, *:focus { outline:none; }

a { text-decoration: none; }

#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; }
}

/* snow_setting
================================================== */
.snow {
  /*雪の色*/
  color: snow;
  opacity: 0.9;
  /*雪の大きさ*/
  font-size: 10px;
  /*ぼかし*/
  filter: blur(3px);
  /*初期位置*/
  position: fixed;
  top: -2%;
  /*雪を適当な幅で降らせる*/
  text-shadow:
  5vw   -100px 2px,
  10vw  -400px 3px,
  20vw  -500px 4px,
  30vw  -580px 1px,
  39vw  -250px 2px,
  42vw  -340px 5px,
  56vw  -150px 2px,
  63vw  -180px 0,
  78vw  -220px 4px,
  86vw  -320px 9px,
  94vw  -170px 7px;
  /*雪アニメーション1*/
  animation: roll 16s linear infinite;
}
  /*2つめの雪アニメーション*/
.snow2nd
{
animation: anim 14s linear infinite;
}

@keyframes roll {
    0% {transform:rotate(0deg);}
   90% {opacity:1;}
   100% {transform:rotate(20deg);top:100%;opacity:0;}
}
@keyframes anim {
  100% {color:transparent;top:150%;}
}


/* loading_setting
================================================== */
#loader {
	width: 100%;
	height: 100vh;
	display: table;
	position: fixed;
	_position: absolute; /* IE6対策 */
	z-index: 999;

}

.loader_box{
	width: 48%;
	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: #fafaff;
	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(0, 0, 0, 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%;
	padding-right:1%;
}

.menu_text_style2 img{
	width: 50%;
	vertical-align: top;
}

.menu_text_style1{
	padding-top: 0.9%;
	padding-bottom: 0.8%;
	display: block;
}

.menu_text_style2{
	padding-bottom: 0.5%;
	display: block;
}

.menu_box ul li a{
	text-decoration: none;
	color: #ffffff;/* メニュー文字色 */
	font-size: 1.1em;
	font-family: "shippori-mincho-b1", sans-serif;
	font-weight: 600;
	font-style: normal;
	letter-spacing: 1px;
	
}

.menu_box ul li a:hover{
	color: #969696;
}

/* MAIN_setting
================================================== */
.title_style1{
	position: relative;
	width: 90%;
	max-width: 980px;
	margin: 0% auto 0% auto;
}

.title_style2{
	position: relative;
	width: 90%;
	max-width: 980px;
	margin: 2.6% auto 1% auto;
}

.title_style3{
	position: relative;
	width: 90%;
	max-width: 980px;
	margin: 4% auto 1% auto;
}

.title_style4{
	position: relative;
	width: 90%;
	max-width: 980px;
	margin: 4% auto 0.5% auto;
}

.txt_style1{
	letter-spacing: normal;
	line-height: 1.8em;
	color: #000000;
	padding: 2% 0 2% 0;
}

.border_style1{
	border-top: solid 1px #cdcdcd;
	margin: 2% auto 2% auto;
}

.border_style2{
	border-top: solid 1px #cdcdcd;
	margin: 3% auto 3% auto;
}

/* MAIN */
.main_wrapper {
	position: relative;
	margin: 0;
}

.main_img {
	z-index: 2;
	width: 100%;
	max-width: 1500px;
	margin: 0 0 -25% auto;
}

.main_logo_switch{
	z-index: 1;
	width: 8%;
	max-width: 100px;
	position: absolute;
	top: 10%;
	left: 2%;
}

.main_logo{
	z-index: 3;
	position: absolute;
	width: 43%;
	max-width: 700px;
	margin-left: 6%;
	margin-bottom: 5%;
	padding-top: 32%;
}

@media screen and (min-width: 1700px) {
	.main_logo {
		padding-top: 0;
		top: 28%; 
	}
}

.main_img_sp{
	display: none;
}

.main_postponed:hover{
	opacity: 0.7;
}

/* ABOUT THIS GAME */
.about_wrapper{
	position: relative;
	width: 90%;
	margin: auto;
	max-width: 980px;
}

.about_chatch{
	font-family: "shippori-mincho-b1", sans-serif;
	font-weight: 600;
	font-style: normal;
	font-size: 1.6em;
	line-height: 1.2em;
	text-align: center;
	color: #4b648c;
	padding: 2% 0;
}

.about_hdtext{
	font-family: "shippori-mincho-b1", sans-serif;
	font-weight: 800;
	font-style: normal;
	font-size: 1.4em;
	line-height: 0.8em;
	display: flex;
	align-items: center;
	color: #af2341;
	width: 100%;
	margin-bottom: 5px;
}

.about_box{
	width: 100%;
	margin: auto;
	letter-spacing: -1em;
	text-align: left;
}

.about_box2{
	width: 100%;
	margin: auto;
	letter-spacing: -1em;
	text-align: left;
	margin-bottom: 2.5%;
}

.about_txt{
	width: 49%;
	vertical-align: top;
	display: inline-block;
	letter-spacing: normal;
	line-height: 1.8em;
	color: #000000;
	margin-bottom: 0.5%;
	margin-right: 1%;
}

.about_txt2{
	width: 100%;
	vertical-align: top;
	display: inline-block;
	letter-spacing: normal;
	line-height: 1.8em;
	color: #000000;
	margin-bottom: 2.5%;
}

.about_txt3{
	width: 100%;
	vertical-align: top;
	display: inline-block;
	letter-spacing: normal;
	line-height: 1.8em;
	color: #000000;
	margin-bottom: 0.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;
}

.story_txt {
	width:100%;
	margin: auto;
	font-family: "shippori-mincho-b1", sans-serif;
	font-weight: 600;
	font-style: normal;
	font-size: 1.1em;
	line-height: 1.8em;
	color: #000000;
    text-shadow:
           2px 2px 2px #f5f5f5, -2px -2px 2px #f5f5f5,
          -2px 2px 2px #f5f5f5,  2px -2px 2px #f5f5f5,
           2px 0px 2px #f5f5f5, -2px  0px 2px #f5f5f5,
           0px 2px 2px #f5f5f5,  0px -2px 2px #f5f5f5;
}

.story_txt span{
	font-family: "shippori-mincho-b1", sans-serif;
	font-weight: 600;
	font-style: normal;
	font-size: 1.2em;
}

.story_txt2 {
	width:100%;
	margin:1.2% auto;
	font-family: "shippori-mincho-b1", sans-serif;
	font-weight: 600;
	font-style: normal;
	font-size: 1.2em;
	line-height: 1.8em;
	color: #3c3c87;
}

.story_txt3 {
	width:100%;
	margin:2.5% auto;
	font-family: "shippori-mincho-b1", sans-serif;
	font-weight: 600;
	font-style: normal;
	font-size: 1.4em;
	line-height: 1.5em;
	color: #000000;
	text-shadow:0 0 4px #a0a0be;
}

.story_txt4 {
	width:100%;
	margin:1.2% auto;
	font-family: "shippori-mincho-b1", sans-serif;
	font-weight: 600;
	font-style: normal;
	font-size: 1.2em;
	line-height: 1.8em;
	color: #af2341;
}


/* CHARACTER */
.character_wrapper{
	position: relative;
	width: 90%;
	margin: auto auto 0 auto;
	max-width: 980px;
	overflow: hidden;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.character_box1,
.character_box2{
	float:right;
	width: 49%;
	margin-bottom: 10px;
}

.character_box3,
.character_box4{
	float:right;
	width: 49%;
}

.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: "shippori-mincho-b1", sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 1.8em;
	line-height: 1.3em;
	margin-bottom: 10px;
	background:linear-gradient(#000000,#5a6473);	
	-webkit-background-clip:text;
	-webkit-text-fill-color: transparent;
}

.character_cv_txt{
	font-family: "shippori-mincho-b1", sans-serif;
	font-weight: 600;
	font-style: normal;
	font-size: 1.3em;
	line-height: 1.4em;
	color: #000000;
	margin-bottom: 10px;
}

.character_cv{
	font-family: "shippori-mincho-b1", sans-serif;
	font-weight: 600;
	font-style: normal;
	font-size: 0.8em;
	letter-spacing: 0.05em;
	width: 60px;
	text-align: center;
	background-color: #000000;
	color: #ffffff;
	float: left;
	margin-right: 10px;
}

.character_cv{
	font-family: "shippori-mincho-b1", sans-serif;
	font-weight: 600;
	font-style: normal;
	font-size: 0.8em;
	letter-spacing: 0.05em;
	width: 60px;
	text-align: center;
	background-color: #000000;
	color: #ffffff;
	float: left;
	margin-right: 10px;
}

/* GALLERY */
.gallery_wrapper{
	width: 90%;
	margin: 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 #646464;
}

.gallery_cg :hover{
	opacity: 0.8;
}

/* VIDEO */
.video_wrapper{
	width: 90%;
    margin: 0 auto;
	max-width: 980px;
}

	iframe{
    display: block;
    width: 95%;
    aspect-ratio: 16 / 9;
    border: none;
    margin: 0 auto 0 auto;
	}

/* GAME PLAY */
.game_wrapper{
	width: 90%;
	margin: auto;
	max-width: 980px;
}

/* PRODUCT INFO */
.product_wrapper{
	width: 90%;
	margin: auto;
	max-width: 980px;
	margin-bottom: 3%;
}

.product_hdtext{
	font-family: "shippori-mincho-b1", sans-serif;
	font-weight: 800;
	font-style: normal;
	font-size: 1.4em;
	line-height: 0.8em;
	color: #af2341;
	text-align: left;
	width: 100%;
	padding: 0 0 0 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-family: "source-han-sans-japanese", serif;
	font-weight: 700;
	font-style: normal;
	font-size: 1.em;
	color: #4b648c;
	text-align: left;
	vertical-align: top;
	width: 26%;
}

.product_table_style3{
	text-align: left;
	vertical-align: middle;
	letter-spacing : -0.6px;
	color: #000000;
	width: 64%;
}

th,td {
    padding: 5px 6px;
}

.product_cero{
    float:  left;
	text-align: center;
	margin-right: 10px;
}

.product_cero_txt{
	font-size: 0.6em;
}

/* FOOTER */
.footer_wrapper {
	margin-top: 20px;
	height: 100px;
	width: 100%;
 	position: relative;
 	left: 0;
 	bottom: 0;
 	color: #fff;
 	text-align: center;
 	background-color: rgba(0, 0, 0, 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: 799px){
	
*{
	font-size: 15px;
}
	
.menu_box_wrapper{
	display: none;
}
	
.title_style1{
	margin: 0% auto 0% auto;
}

.title_style2{
	margin: 4.6% auto 1% auto;
}

.title_style3{
	margin: 6% auto 1% auto;
}

.title_style4{
	margin: 6% auto 0.5% auto;
}


/* MAIN */
.main_img {
	display: none;
}
	
.main_logo {
	display: none;
}
	
.main_img_sp{
	display: block;
	margin-bottom: 5%;
}
	
.main_logo_switch{
	top: 1%;
	width: 10%;
}
	
.main_logo{
	display: none;
}

.main_logo_sp{
	z-index: 3;
	position: relative;
	display: block;
	width: 80%;
	max-width: 580px;
	margin: auto;
}

/* ABOUT THIS GAME */
.about_wrapper{
	width: 80%;
}
	
.about_chatch{
	font-size: 1.3em;
	padding: 3% 0;
}

.about_hdtext{
	font-weight: 900;
	font-size: 1.2em;
	line-height: 1.5em;
}
	
.about_hdtext img{
	align-self: flex-start;
	flex-shrink: 0;
	margin-top: 0.15em;
}
	
.about_txt,
.about_txt2,
.about_txt3{
	width: 100%;
	line-height: 1.5em;
	margin-bottom: 2.5%;
}

.about_image{
	width: 100%;
	padding: 0 0 0 0;
}
	
.about_image{
	display:none;
}
	
.about_image2_left,
.about_image2_right{
	display:none;
	margin: 0px;
}
	
.about_box{
	padding: 0 0 0 0;
}
	
/* STORY */
.story_wrapper{
	width: 80%;
}
	
.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;
}

.story_txt3 {
	font-size: 1.2em;
	margin:4% auto;
}
	
/* CHARACTERS */
.character_wrapper{
	width: 80%;
	margin: auto;
}

.character_box1,
.character_box2,
.character_box3{
	width: 100%;
	display: inline-block;
	margin-bottom: 0px;
}
	
.character_box4{
	width: 100%;
	display: inline-block;
	margin-bottom: 0;
}

.character_txt_name{
	font-size: 1.5em;
}

.character_cv_txt{
	font-size: 1em;
}
	
/* GALLERY */	
.gallery_wrapper{
	width:90%;
}
	
/* VIDEO */
.video_wrapper{
	width: 90%;
	margin: auto;
}

/* GAME PLAY */	
.game_wrapper{
	width: 80%;
}

/* PRODUCT INFO*/	
.product_wrapper{
	width: 90%;
}
	
.product_package_box{
	width: 70%;
	display: block;
	text-align: center;
	margin: auto;
	padding-bottom: 1%;
}
	
.product_txt_box{
	width: 100%;
	display: block;
	text-align: center;
}
	
.product_table_style1{
	width: 28%;
}
	
/* FOOTER */
.footer_copyright{
	font-size: 0.7em;
	padding: 1% 10px 1% 1%;
}
	
.footer_logo{
	width: 90px;
	padding: 10px 7px 10px 10px;
}

}