
@charset "utf-8";

body{
  width: 100%;
  color: #162741;
}

#wrapper{
  padding-top: 80px;
}

#android{
  padding: 60px 10px 0;
  display: none;
}

#android p{
  color: #162741;
  line-height: 1.6em;
}
#android p #AndroidDL{
  display: block;
  width: auto;
  padding: 15px 0;
  margin: 30px auto 15px;
  text-align: center;
  background: #162741;
  color: #FFF;
  text-decoration: none;
}

/*
#bg_area {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    height: 100%;
    background: url(../img/bg_sky.jpg) no-repeat center top;
    background-size: cover;
    z-index: -1;
}
*/

img.mw532{
  max-width: 532px;
}

/* HEADER */
header{
  padding: 60px 10px 0px;
}

header .logo_2nd{
  text-align: center;
}
header .logo_2nd img{
  max-width: 420px;
  width: 70%;
  height: auto;
}
header h1{
  text-align: center;
  color: #ffe600;
  font-size: 24px;
  text-indent: -99999px;
  background: url(../img/mv_2nd.png) no-repeat center center;
  background-size: 320px;
  height: 100px;
}
header p{
  margin: 0;
  text-align: center;
  line-height: 1.8em; 
}

header .framebox p{
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", Hiragino Mincho ProN , "HG明朝E", "MSP明朝","MS PMincho","MS 明朝","Sawarabi Mincho",serif;
  font-weight: bold;
  font-size: 16px;
}
header p.read{
  font-size: 18px;
}

header .framebox p span{
  color: #f06f88;
}
header .btn-campaign{
  max-width: 400px;
  margin: 0 auto;
  padding-top: 10px;
  display: block;
}
header .btn-campaign img{
  width: 100%;
  height: auto;
}


/* CONTENTS */
.container {
    margin: 0 auto;
    max-width: 1013px;
    padding: 15px 10px;
}
.container h2 {
    text-align: center;
    margin: 0 auto;
    background: url(../img/box_t.png) no-repeat center bottom;
    padding-top: 60px;
    height: 110px;
    background-size: 1013px;
    position: relative;
    color: #FFF;
}
.container h2 span{
  display: block;
  max-width: 500px;
  margin: 0 auto;
}
.container h2 span img{
  width: 100%;
  height: auto;
}
.container:after {
    content: "";
    display: block;
    margin-top: -10px;
    height: 22px;
    background: url(../img/box_b.png) no-repeat center top;
    background-size: 1013px;
}

.container .body {
    margin: 0 auto;
    background: url(../img/box_m.png) repeat-y center top;
    background-size: 1013px;
    padding: 10px 7px 30px;
}

.container .body .inner{
    margin: 0 auto;
    font-size: 14px;
    line-height: 1.8em;
    max-width: 600px;
    padding: 10px;
    text-align: center;
}


.container .body h3{
  text-align: center;
  padding: 30px 0;
}
.container .body h3 span,
footer .caution h3 span {
    display: inline-block;
    line-height: 1.6em;
    vertical-align: top;
    padding: 0 90px;
    background: url(../img/line_titile_l.png) no-repeat left center, url(../img/line_titile_r.png) no-repeat right center;
    background-size: 78.5px,78.5px;
}

.container .body h4{
  padding-top: 1.8em;
}

.container .body .inner .themeBox{
  padding: 30px 0 50px;
  background: url(../img/line.png) no-repeat center bottom;
  background-size: 100%;
}
.container .body .inner .themeBox:first-child{
  padding-top: 0px;
}
.container .body .inner .themeBox h3{
  font-size: 16px;
  padding: 10px 0;
}
.container .body .inner .themeBox:last-child{
  padding-bottom: 20px;
  background: none;
}

.container .body .inner img{
  width: 100%;
  height: auto;
}

/* Generator */

#generator{
  background: #FFF;
  padding: 30px 0;
}

#generator p.note{
  font-size: 11px;
  text-align: center;
  padding: 0 10px 25px;
  line-height: 1.4em;
}

canvas{
  width: 100%;
  display: none;
  height: auto;
}

.selectArea{
  max-width: 800px;
  margin: 0 auto;
}

.active canvas{
  display: block;
}

.preview_area.active .bg{
  display: none;
}

.preview_area{
  position: relative;
  max-width: 800px;
  margin: 0 auto;
  overflow: hidden;
}

.preview_area p{
  font-size: 12px;
  text-align: center;
  padding: 10px;
  margin-top: 0;
}

.preview_area img{
  width: 100%;
  height: auto;
}

.preview_area .logo{
  position: absolute;
  left: 0%;
  width: 20%;
  bottom: 0;
  box-sizing: border-box;
  padding: 10px;
}

.character{
  position: absolute;
  left: 20%;
  right: 0;
  bottom: 0;
  width: 80%;
}

.character li{
  width: 20%;
  float: left;
}

.character li img{
  width: 150%;
  margin-left: -25%;
}

.btn{
  position: relative;
  max-width: 800px;
  margin: 0 auto;
}

.btn li{
  display: block;
  width: 50%;
  padding: 20px 10px;
  box-sizing: border-box;
  float: left;
}

.btn li a{
  display: block;
}
.btn_low{
  padding: 20px 10px;
  max-width: 400px;
  margin: 0 auto;
}
#generator .btn_low p.note{
  padding-top: 15px;
  padding-bottom: 0;
}
.btn-preview{
  display: block;
}


.btn-preview img,
.btn li a img{
  width: 100%;
  height: auto;
}
.btn li a.nonac{
  opacity: 0.6;
}

.btn li a:hover{
  opacity: 0.6;
}
.sp .btn li a:hover{
  opacity: 1;
}
.selector {
  clear: both;
  border-top: 1px solid #DDD;
  cursor: pointer;
}
.selector#bg{
  border-bottom: 1px solid #DDD;
}

.selector .preview{
  width: 60px;
  height: 70px;
  float: left;
  margin-right: 20px;
  overflow: hidden;
}

.selector .preview img{
  width: 500%;
  margin-top: -70%;
  margin-left: -200%;
  height: auto;
}


.selector#bg .preview img{
  margin-top: 0;
}
.selector select{
  margin-top: 15px;
}
.c_wrap p,
.bg_wrap p{
  margin: 0;
  line-height: 70px;
}
.c_wrap.active p{
  font-weight: bold;
}
.selectbox{
  clear: both;
  overflow: hidden;
  display: none;
}

.selectbox ul{
  overflow: hidden;
}
.selectbox li{
  border-top: 1px solid #DDD;
  width: auto;
  position: relative;
  background: #fafafa;
  box-sizing: border-box;
  overflow: hidden;
}
.selectbox li span{
  display: block;
  line-height: 40px;
  padding-left: 10px; 
  padding-right: 30px;
  font-size: 12px;
  position: relative;
}
.selectbox li span:before{
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  border-right: 2px solid #4e4189;
  border-bottom: 2px solid #4e4189;
  transform: rotate(-45deg);
  position: absolute;
  right: 14px;
  top: 15px;
}

.selectbox li.open > span{
  font-weight: bold;
}
.selectbox li.open > span:before{
  transform: rotate(45deg);
}
.selectbox li.blank span:before{
  content: none;
}

.selectbox .cat1 ul{
  display: none;  
}

.selectbox .cat1 > ul{
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
  height: 246px;
}

.selectbox .cat1 li{
  background: #e6e6e6;
}

.selectbox .cat2 li{
  background: #d9d9d9;
}

.selectbox li span{
  width: 30%;
  box-sizing: border-box;
  float: left;
  clear: both;
}
.selectbox .cat1 li span{
  width: 50%;
  padding-left: 10px;
}
.selectbox .cat2 li span{
  width: 100%;
  padding-left: 10px;
}

.selectbox .cat2 li span:before{
  content: none;
}

.selectbox .cat1 ul{
  margin-left: 30%;
}

.selectbox .cat2 li.error{
  color: #FFF;
}
.selectbox li.selected,
.selectbox li.selected span{
  background: #4e4189;
  color: #FFF;
}
.selectbox li.bgitem{
  line-height: 40px;
  padding-left: 10px; 
  padding-right: 30px;
  font-size: 12px;
  position: relative;
  width: 50%;
  float: left;
}
.selectbox li.bgitem:nth-child(2n){
 border-left: 1px solid #DDD;
}

#dl-image{
  max-width: 800px;
  width: 100%;
  height: auto;
  display: none;
}

#dl-image img{
  width: 100%;
  height: auto;
}

#dl-image h3{
  padding-top: 10px;
  font-size: 13px;
  color: #251c5d;
}
#dl-image p{
  text-align: left;
  font-size: 12px;
  color: #251c5d;
  padding: 0 10px;
  line-height: 1.6em;
}

.bg_wrap .selectbox{
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
  height: 246px;
}

/* section */
#campaign .photo{
  padding: 30px 0;
}
#campaign .detail{
  text-align: left;
}
#campaign .outline{
  display: none;
}
#campaign .btn-detail{
  display: block;
  padding: 25px 0 0; 
  max-width: 400px;
  margin: 0 auto;
}


/* FOOTER */

footer{
  background: transparent;
}

.framebox{
  max-width: 600px;
  margin: 30px auto;
  box-sizing: border-box;
  border: 2px solid #201c59;
  border-radius: 6px;
  position: relative;
  background: #FFF;
  background: rgba(255,255,255,0.8);
  padding: 30px;
}

.framebox:before,
.framebox:after{
  content: "";
  display: block;
  position: absolute;
  z-index: 1;
  width: auto;
  height: 40px;
  left: -2px;
  right: -2px;
}

.framebox:before{
  background: url(../img/part_lt.png) no-repeat left top,url(../img/part_rt.png) no-repeat right top;
  background-size: 40px,40px;
  top: -2px;
}
.framebox:after{
  bottom: -2px;
  background: url(../img/part_lb.png) no-repeat left bottom,url(../img/part_rb.png) no-repeat right bottom;
  background-size: 40px,40px;
}

footer .caution{
  text-align: left;
  font-size: 14px;
  line-height: 1.8em;
}
footer .caution h3{
  padding-bottom: 20px;
  text-align: center;
  font-size: 16px;
}
footer .caution h4{
  line-height: 1.8em;
  text-align: left;
}
footer .caution ul{
  padding-top: 20px;
}
footer .caution p,
footer .caution li{
  text-align: left;
  font-size: 12px;
  line-height: 1.8em;
}
footer .caution li{
  padding-left: 1em;
  text-indent: -1em;
}
footer .banner{
  max-width: 400px;
  padding: 20px 10px 50px;
  margin: 0 auto;
}

footer .banner img{
  width: 100%;
  height: auto;
}
footer p{
  border-top: none;
}
footer p.copyright{
  line-height: 60px;
  text-align: center;
  font-size: 11px;
  color: #2d6cb3;
  background: #FFF;
}

@media( max-width:640px){
  #wrapper{
    padding-top: 0;
    overflow: hidden;
  }
/*
  .menu_wrap .page-nav{
    top: 100%;
  }
  .menu_wrap .page-nav.open{
    top: auto;
  }
*/
  header{
    padding: 40px 10px 0;
  }
  header h1{
    background-size: 300px;
  }
  header .btn-campaign{
    padding-top: 0;
  }
  .framebox{
    padding: 30px 10px;
  }
  header .framebox p{
    font-size: 14px;
  }
  header .framebox p br{
    display: none;
  }
  #generator{
    padding: 0;
    padding-top: 10px;
  }
  .container{
    padding: 10px;
  }
  .container h2,
  .container .body,
  .container:after{
    background-size: 640px;
  }
  .container .body{
    padding-top: 0;
  }
  .container .body .inner{
    font-size: 12px;
    padding: 10px 0;
  }
  .container h2{
    height: 110px;
    padding-top: 0px;
  }
  .container h2 span{
    width: 300px;
    padding-top: 42px;
  }
  .container .body h3{
    padding: 10px 0;
  }
  .container .body .inner .themeBox{
    background-size: 150%;
    padding: 10px 0 30px;
  }
  .container .body .inner .themeBox h3{
    font-size: 14px;
  }
  .btn ul{
    padding: 5px 0;
  }
  .btn li{
    width: auto;
    padding: 5px 10px;
  }
  .selectbox li span,
  .selectbox .cat1 li span{
    width: 100%;
    float: none;
  }
  .selectbox .cat1 ul{
    margin-left: 0;
  }
  .selectbox li.bgitem{
    width: 100%;
    float: none;
  }
  footer .caution{
    margin: 0 10px;
    max-width: none;
  }
  .container h2 span img{
    width: 120%;
    margin-left: -10%;
    margin-top: -1%;
  }
  
}


