/*------------
  basic
--------------*/
*{box-sizing: border-box;}
html,body{ height:100%;overflow:hidden;}
img { border: 0; vertical-align: bottom; border-style: none;}
body{ font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif; font-size: 18px; color: #000; line-height:1.5;}
body { background-color: #FFF; margin: 0; padding: 0; width:100%;overflow:auto;}
main{ display:block; }
h2{margin:0;padding:0;}

.clearfix:after {
  content: "";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}


.sub{
  display:block;
  font-size:80%;
  text-indent:-1em;
  margin-left:1em;
}

.group{
  display:inline-block;
}

.mob{
  display:none;
}

/*---------------
  Information
---------------*/
#game_download{
  margin-top:3%;
  background-color:rgba(50,0,0,0.75);
  border:3px #c5c5c5 solid;
  box-shadow:0 0 2px #000,0 0 2px #000;
  color:#FFF;
}

.badge{
  background:none !important;
  border:none !important;
  box-shadow:none !important;
}


#game_download .dl_item{
  display:inline-block;
  width:50%;
  padding:2% 3%;
  position:relative;
  border:1px #555 solid;
  border-width:0 0 0 1px;
  text-align:right;
}

#game_download .dl_item:first-child{
  border-width:0;
}
#game_download .dl_item span{
  width:62%;
  text-align:left;
  position:absolute;
  top:50%;
  left:5%;
  transform: translate(0,-50%);
  -ms-transform: translate(0,-50%);
}

#game_download .dl_item span b{
  font-size:120%;
}

#game_download .dl_item img{
  max-width:82px;
  width:30%;
}

#game_download .android,
#game_download .ios{
  padding:3%;
  text-align:center;
  text-shadow:0 0 2px #000,0 0 2px #000,0 0 5px #000,0 0 7px #000;
}
#game_download .android img,
#game_download .ios img{
  width:80%;
  max-width:564px;
}

#gameinfo_box{
  margin:0 auto;
  margin-top:1.5%;
  margin-bottom:5%;
}

#game_information{
  padding:1%;
  background-color:#666;
  background:linear-gradient(to bottom,#FFF,#AAA);
  box-shadow:0 0 2px #000,0 0 2px #000;
  position:relative;
  overflow: hidden;
}

#game_information h5{
  color:#900;
  font-size:120%;
  font-weight:900;
  margin:0;
  margin-left:1%;
  padding:0.5%;
  width:55%;
  display:inline-block;
  text-shadow: 2px 2px 0 rgba(0,0,0,0.2);
}

#game_information #tw_image{
  position:absolute;
  top:0;
  right:0;
  width:60%;
}


#game_information .info_bt{
  color: #111;
  font-size:80%;
  display:block;
  text-align:left;
  position:relative;
  width:65%;
  text-align:center;
  margin-bottom:-1px;
}

#game_information .info_bt a,
#game_information .info_bt span{
  display:inline-block;
  text-align:center;
  padding:3% 5%;
  border:1px #111 solid;
  border-width:1px 1px 0;
  background-color:rgba(0,0,0,0.6);
  background:linear-gradient(to bottom,#5f5f5f,#3a3a3a);
  color:#EEE;
  text-decoration: none;
  width:46%;
}

#game_information .info_bt a.active{
  border:1px #a71010 solid;
  border-width:1px 1px 0;
  background-color:rgba(0,0,0,0.6);
  background:linear-gradient(to bottom,#402727,#790303);
}

#game_information .info_item{
  padding:1.2% 1.2% 0;
  background-color: #790303;
  border-radius:5px;
  position:relative;
  width:65%;
}

#game_information .info_item iframe{
  width:100%;
}
#game_information #official{
  display:none;
  opacity:0;
}

.info_item b.info_title{
  display:block;
  border:1px #666 dotted;
  border-color:rgba(255,255,255,0.4);
  border-width:0 0 1px 0;
  margin-bottom:1%;
  padding-bottom:1%;
}

.info_item .info_body{
  font-size:90%;
  line-height:1.7;
}
.info_item .info_date{
  text-align:right;
  font-size:80%;
  color:#888;
}

#info_inquiry{
  margin-top:1%;
  text-align:left;
  color:#111;
  font-size:80%;
  position:relative;
}

#info_inquiry a,
#info_inquiry span{
  display:inline-block;
  background-color:rgba(255,255,255,0.8);
  border:1px #666 solid;
  border-radius:10px;
  padding:0.2% 3%;
  color:#111;
  text-decoration: none;
}


/*------------
  common
--------------*/
body{
  /*background-image:url(../images/common/master_bg.jpg);
  background-repeat: repeat-x;*/
}

#wrapper{
  min-height:100%;
  width:100%;
  background-image: url(../images/top/mainvisual.jpg);
  background-repeat: no-repeat;
  background-position:top center;
  background-attachment:fixed;
  overflow:hidden;
}

header{
  width:100%;
  height:74px;
  background-image:url(../images/common/menu_bg.png);
  background-repeat: repeat-x;
  position:fixed;
  top:0;
  left:0;
  z-index:9999;
}

header #bt_menu{
  cursor:pointer;
}

header #sns{
  width:50%;
  float:right;
  text-align:right;
}

header #sns .sns_bt{
  width:50px;
  vertical-align:30%;
}

footer #sns{
  width:100%;
  text-align:center;
}

footer #sns .sns_bt{
  width:37px;
  margin:0 1% 3%;
}

nav{
  width:100%;
  background-color: rgba(0,0,0,0.9);
  border:1px #555 solid;
  border-width:0 0 1px 0;
  text-align:center;
  position:fixed;
  top:61px;
  left:0;
  z-index:9998;
  padding:2% 0;
  visibility:hidden;
}

nav a{
  display:inline-block;
  text-decoration:none;
  color:#FFF;
  margin:2% 0.3%;
}
nav #main_menu a{
  width:25%;
  border:1px #666 solid;
  border-width:1px 0;
  margin:2%;
  padding:2% 0;
  text-shadow:0 0 3px #000,0 0 3px #000,0 0 3px #000,0 0 3px #000,0 0 3px #000;
}
nav #sub_menu a{
  width:70%;
  padding:2%;
  color:#FF0;
  background-color:#942727;
  background:linear-gradient(to bottom,#af2626,#942727);
  font-size:120%;
  border-radius:3px;
  border:1px #942727 solid;
}

.container{
  width:100%;
  position:relative;
  background-repeat:repeat-y;
  background-position:center 61px;
  background-size:100% auto;
  background-attachment:fixed;
  padding:0 0 3% 0;
}

.content{
  width:95%;
  max-width:750px;
  margin:0 auto;
  position:relative;
}

footer{
  padding-top:3%;
  padding-bottom:1%;
  text-align:center;
  font-size:70%;
  background-color:#000;
  color:#FFF;
}
footer #links{
  width:100%;
}

footer #links a{
  display:inline-block;
  text-decoration:none;
  color:#FFF;
  padding-bottom:2%
}
footer #copyright{
  width:50%;
  max-width:316px;
}

/*------------
  top
--------------*/
main{
}

main #logo{
  width:50%;
  max-width:385px;
  margin-top:10%;

  margin-top:28%;
  margin-left: 50%;
  transform:translate(-50%,0);
}

main #bt_tgs2016{
  width:28%;
  max-width:162px;
  position:absolute;
  top:30%;
  right:5px;
}

main #catch{
  width:80%;
  max-width:632px;
  display:block;
  margin:0 auto;
  margin-top:7%;
  margin-top:20%;
}

.group_bt{
  margin-top:5%;
}
img.bt{
  display: block;
  box-shadow:0 0 3px #000,0 0 3px #000;
  width:100%;
}

.group_bt a{
  width:48%;
  float:right;
}
.group_bt a:first-child{
  float:left;
}
#bt_series,
#banner_retweet,
#banner_tokuten_new{
  margin-top:2%;
  width:100%
}

.pp_banner{
  display:inline-block;
  position:relative;
}

.pp_banner img#pp_rt{
  position:absolute;
  top:15%;
  right:30%;
  width:15%;
  max-width:110px;
}

.pp_banner img.pp_preregi{
  position:absolute;
  top:-17%;
  left:-5%;
  width:25%;
  max-width:119px;
}


#preregist{
  width:100%;
  overflow: hidden;
  background-color:#EEE;
  background:linear-gradient(to bottom,#f2edd3,#FFF);
  background-image:url(../images/top/preregist_window_bg.jpg);
  background-repeat:repeat-x;
  background-position:top left;
  background-size:auto 100%;
  padding:3%;
}

#preregist .title_logo{
  max-width:212px;
  width:40%;
  display:block;
  margin: 0 auto;
}

#preregist h3{
  color:#4d4103;
  font-weight:bold;
  text-align:center;
  font-size:24px;
  border:1px #aba690 solid;
  padding:1%;
  margin-top:5px;
}

#preregist a{
  width:100%;
  display:block;
  border-radius:5px;
  padding:3%;
  text-align:left;
  margin:2% 0;
  border:3px #FFF solid;
  background-repeat:no-repeat;
  background-position:top left;
  background-size:auto 100%;
  text-decoration:none;
  position:relative;
}

#preregist a img.preregist_qr,
#preregist a img.preregist_icon{
  height:95%;
  position:absolute;
  top:50%;
  transform:translate(0,-50%);
  -ms-transform:translate(0,-50%);
  border-radius:3px;
}

#preregist a img.preregist_qr{
  right:0.5%;

}
#preregist a img.preregist_icon{
  left:0.5%;
}

#preregist a span{
  font-size:24px;
  margin-left:12%;
  font-weight:bold;
  color:#FFF;
  text-shadow:0 0 3px rgba(0,0,0,0.3);
}

#preregist a#preregist_mail{
  background-color:#B00;
  background:linear-gradient(to bottom,#dd0c0c,#B00);
  border-color:#B00;
}

#preregist a#preregist_twitter{
  background-color:#1da1f2;
  background:linear-gradient(to bottom,#00b2ff,#1b94df);
  border-color:#1da1f2;
}

#preregist a#preregist_line{
  background-color:#00c402;
  background:linear-gradient(to bottom,#00c402,#139914);
  border-color:#00c402;
}

/*----custom---*/
#cboxClose{
  z-index:99999;
}
/*------------
  contents
--------------*/
#top_info{
  background-color:rgba(255,255,255,0.8);
  background:linear-gradient(to bottom,rgba(255,255,255,0),rgba(255,255,255,0.8) 20%);
  padding-top:1%;
}
#guide_botan{
  text-align:center;
  padding:0;
  position:relative;
  background-color:rgba(255,255,255,0.8);
}
#guide_botan img{
  width:100%;
  max-width:717px;
  display:block;
  margin:0 auto;
  position:relative;
}

#guide_botan #guide_bg{
  position:absolute;
  top:20%;
  left:0;
  right:0;
  bottom:0;

/*  background-color:rgba(255,255,255,1);*/
}

h2 img{
  width:100%;
  max-width:750px;
}

#system .body,
#trick .body,
#world .body{
  position:relative;
  color:#000;
  text-shadow:0 0 3px #FFF,0 0 3px #FFF,0 0 3px #FFF,0 0 3px #FFF,0 0 3px #FFF,0 0 3px #FFF;
  z-index:2;
  margin-left:7px;
  margin-top:0;
  font-weight:bold;
}

img.normal{
  width:100%;
}

#bottom_info{
    background-color:rgba(255,255,255,0.8);
}


/*---System---*/
#system{
  background-color:#d0d6da;
  background-image:url(../images/contents/1_bg.jpg);
}

#system h2 img{
  position:relative;
  z-index:2;
}
#system .body{
  width:100%;
}

#system .normal{
  margin-top:-3%;
}

#system #circle{
  background-color:rgba(255,255,255,0.8);
  background:linear-gradient(to bottom,rgba(255,255,255,0.7),rgba(255,255,240,0.8));
  border:3px #3f465d solid;
  margin-top:-3%;
  padding:2% 5%;
  color:#111;
  text-shadow:0 0 2px #FFF,0 0 2px #FFF,0 0 2px #FFF;
  border-radius:10px;
  box-shadow:0 0 10px #577993 inset;
}

#system #circle h3{
  font-size:150%;
  font-weight:bold;
  margin:0;
  padding:0;
  color:#182c60;
}
#system #circle img{
  display:block;
  width:95%;
  max-width:709px;
  margin:0 auto;
  margin-top:-10%;
}

#system #circle div{
  margin-top:-5%;
}


/*---Trick---*/
#trick{
  background-color:#e9e0e0;
  background-image:url(../images/contents/2_bg.jpg);
}

#trick h2 img{
  position:relative;
  z-index:2;
}
#trick .body{
  width:100%;
}
#trick .normal{
  margin-top:-12%;
  margin-bottom:-12%;
  width:140%;
  transform:translate(-14% ,0);
}


/*---world---*/
#world{
  background-color:#e7e5de;
  background-image:url(../images/contents/3_bg.jpg);
}

#world:after{
  background:linear-gradient(to bottom,rgba(174,158,101,0.5),rgba(174,158,101,0));
}

#world h2 img{
  position:relative;
  z-index:2;
}
#world .body{
  width:50%;
}
#world .image{
  position:absolute;
  width:65%;
  max-width:503px;
  top:30px;
  right:-13%;
  z-index:1;
}

#world #bt_prologue{
  width:50%;
  max-width:395px;
  position:relative;
  margin-top:2%;
  z-index:2;
}
#world .botan{
  width:70%;
  max-width:405px;
  position:relative;
  z-index:3;
  margin-top:2%;
}

#world #characters{
  margin-top:-30px;
  background-image:url(../images/contents/3_chara_bg.jpg);
  background-repeat:no-repeat;
  background-size:100% auto;
  position:relative;
  border:3px #3f5d58 solid;
  border-radius:10px;
}

#world #characters #chara_subhead{
  position:absolute;
  top:50%;
  left:15%;
  width:30%;
  transform:translate(-20%,-50%);
}

.chara{
  position:relative;
}

.chara img{
  width:60%;
  max-width:479px;
  margin-left:40%;
}

.chara .text{
  color:#000;
  text-shadow:0 0 3px #FFF,0 0 3px #FFF,0 0 3px #FFF,0 0 3px #FFF;
  position:absolute;
  bottom:5%;
  left:45%;
  width:50%;
  line-height:1.5;
  background-color:rgba(255,255,255,0.8);
  padding:1%;
  font-size:80%;
}

#world #characters *{
  box-shadow:none !important;
  border-width:0 !important;
}

.bx-wrapper .bx-viewport{
  background:none !important;
  left:0 !important;
}
.bx-wrapper .bx-controls-direction a{
  width:43px !important;
  height:31px !important;
  margin-top:-15px !important;
  opacity:0.9 !important;
}

.bx-wrapper .bx-next{
  background:url(../images/contents/3_bt_next.png) !important;
}

.bx-wrapper .bx-prev{
  background:url(../images/contents/3_bt_prev.png) !important;
}

/*-----prologue-----*/
#prologue{
  width:100%;
  border:1px #444 solid;
  padding:2%;
  position:relative;
  background-color:#000;
}

#prologue #prologue_head{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  z-index:1;
}

#prologue #prologue_foot{
  position:absolute;
  bottom:0;
  left:0;
  width:100%;
  z-index:1;
}
#prologue #prologue_body{
  position:relative;
  z-index:2;
  font-family:serif;
  transform:scale(0.9,1);
  text-shadow:0 0 5px #0b8fb3;
  color:#FFF;
  text-align:center;
  font-size:120%;
}

#prologue #prologue_body h3{
  margin:0;
  padding:0;
  font-size:200%;
  line-height:1.2;
  margin:3% 0;
}
#prologue #prologue_body h3 span{
  font-size:50%;
}

#prologue #prologue_body p{
  line-height:1.8;
}

/*-----------movie-----------*/
#movie{
  width:100%;
  position:relative;
  padding-top:56.25%;
}
#movie iframe{
  width:100%;
  height:100%;
  position:absolute;
  top:0;
  left:0;
}

/*-----リツイート-----*/
#retweet_cp{
  background-image:url(../images/retweet/bg.jpg);
  background-repeat: no-repeat;
  background-size:100% auto;
  background-color:#FFF;
  padding:3%;
  padding-top:25%;
  color:#000;
  font-size:90%;
}

#retweet_cp #rt_lead{
  width:60%;
  color:#115a92;
  font-weight:bold;
}

#retweet_cp table{
  border-collapse: collapse;
  width:100%;
  background-color:rgba(255,255,255,0.7);
  margin-top:3%;
}
#retweet_cp th,#retweet_cp td{
  border:1px #333 solid;
  padding:1%;
  text-align:left;
  font-weight:bold;
  font-weight:normal;
  position:relative;
}
#retweet_cp th{
  background-color: #cee1ee;
}

#retweet_cp td .comp{
  position:absolute;
  top:2px;
  right:-10px;
  background-color: #F00;
  color:#FFF;
  padding:0.2% 2%;
  transform: rotate(-15deg);
}



#retweet_cp a{
  display:block;
  width:75%;
  margin:4% auto;
  background-color:#298eeb;
  color:#FFF;
  text-shadow:1px 1px 2px #28546a;
  padding:2%;
  text-align:center;
  text-decoration:none;
  border-radius:5px;
  font-weight:bold;
  transform:scale(0.9,1);
}

#retweet_cp .kaisetsu{
  font-size:90%;
  border:1px #8288a4 solid;
  padding:1%;
}


/*------twitter------*/
#officialtwitter{
  border:2px #0f6fcc solid;
  background-color:#FFF;
  background-image:url(../images/contents/tw_image.jpg);
  background-repeat:no-repeat;
  background-position:bottom right;
  background-size:45% auto;
  padding:1%;
  margin:3% auto;
}

#officialtwitter .subhead{
  width:50%;
}
#officialtwitter .body{
  width:60%;
  color:#000;
}
#officialtwitter .body #tweet{
  border:1px #DDD solid;
  padding:0.2%;
  padding-bottom:0;
  background-color:#FFF;
  margin-top:1.5%;
}
#officialtwitter .body #bt_follow{
  margin-top:1.5%;
  width:100%;
}


/*-----spec-----*/
#spec{
  background-color:#26252b;
  font-size:75%;
  padding:1% 0;
  color:#FFF;
}

#spec h4{
  margin:0 auto 1.5%;
  text-align:center;
  padding:0;
  font-size:200%;
  font-weight:bold;
  border:1px #444 solid;
  border-width:0 0 1px;
}

#spec table{
  border-collapse: collapse;
  float:left;
  width:58%;

  width:100%;
}

#spec table tr{
  border:1px #333 dotted;
  border-width:1px 0 0 0;
}
#spec table tr:first-child{
  border-width:0;
}
#spec table th,#spec table td{
  text-align:left;
  padding:2% 1%;
  font-weight:normal;
}

#spec table th{
  width:120px;
}
/*#spec .bt_preregist{
  float:right;
  width:40%;
}*/
#spec .pp_banner{
  float:right;
  width:40%;

  display:none;
}
#spec .pp_banner .bt{
  width:100%;
}

#link_incompatible{
  display:inline-block;
  border-radius:3px;
  padding:0.5% 5%;
  margin-top:2%;
  background-color:#FFF;
  color:#000;
  text-decoration:none;
}


@media screen and (max-width:1000px){
  body{
    font-size:16px;
  }
  #wrapper{
    background-size:170% auto;
  }

  main #logo{
    margin-top:32%;
  }

  #preregist a span{
    font-size:3vw;
    margin-left:15%;
  }
}

@media screen and (max-width:640px){

  #preregist h3{
    font-size:4vw;
  }
  #preregist a span{
    font-size:4vw;
  }

  #preregist a img.preregist_qr{
    display: none;
  }

  #spec table{
    float:none;
    width:90%;
    max-width:366px;
    margin:0 auto;
  }

  /*#spec .bt_preregist{
    float:none;
    width:90%;
    max-width:366px;
    display:block;
    margin:1% auto;
  }
  */
  #spec .pp_banner{
    float:none;
    width:90%;
    max-width:366px;
    display:block;
    margin:1% auto;
    margin-top:12%;

    display:none;
  }

}

@media screen and (max-width:460px){
  header #sns{
    width:40%;
    padding-top:5%;
  }
  header #sns #share{
    display:none;
  }
  header #sns .sns_bt{
    width:25px;
  }
  nav #main_menu{
    padding-top:3%;
  }
  nav #main_menu a{
    width:70%;
    margin:0 auto;
    margin-top:-1px;
    display:block;
  }
  /*main #logo{
    margin-top:18%;
  }*/

  #game_information #tw_image{
    display:none;
  }
  #game_information .info_item,
  #game_information .info_bt{
    width:100%;
  }
  #game_information .info_bt a,
  #game_information .info_bt span{
    width:48%;
    font-size:4vw;
    padding:3%;
  }

  #world #bt_prologue{
    width:70%;
    display: block;
    margin:2% auto;
  }

  #world #characters{
    background-size:auto 100%;
    background-position:center;
  }
  #world #characters #chara_subhead{
    display:none;
  }
  .chara img{
    width:100%;
    margin-left:0;
  }

  .chara .text{
    left:5%;
    width:90%;
  }

  #prologue #prologue_body{
    font-size:75%;
  }
  #officialtwitter{
    background-image:none;
  }

  #officialtwitter .subhead,
  #officialtwitter .body{
    width:100%;
  }

  #retweet_cp{
    font-size:75%;
  }


}
