@charset "utf-8";
/* CSS Document */
/***********************************************
全ページ共用
***********************************************/
html,body {
  margin: 0;
  padding: 0;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  min-width: 1000px;
}
html {
  min-height: 100%;
  position: relative;
}
body {
  font-family: "ヒラギノ角ゴ Pro","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,Osaka,"ＭＳ Ｐゴシック","MS PGothic","MS Gothic","ＭＳ ゴシック","Helvetica Neue",Helvetica,Arial,sans-serif !important;
  font-size: 16px;
  line-height: 1.43;
  color: #333333;
  background: #f8f8f8 url(../img/lower_bg_ptn.gif);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
*, *:before, *:after, hr, hr:before, hr:after, input[type="search"], input[type="search"]:before, input[type="search"]:after {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
select,button,input[type="button"],input[type="text"],input[type="email"],input[type="tel"],input[type="submit"],textarea,select {
  color: #333333;
  outline: none;
}
li {
  list-style: none;
}
img {
  max-width: 100%;
  vertical-align: bottom;
}
a {
  color: #333333;
  text-decoration: none;
}
.clearfix:before, .clearfix:after {
  content: " ";
  display: table;
}
.clearfix:after {
  clear: both;
}
.clearfix {
  *zoom: 1;
}
#responsive {
  display: none;
  float: right;
}
.cont_inner {
  width: 100%;
  max-width: 1000px;
  padding: 0 10px;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  html,body {
    font-size: 12px;
    min-width: 310px;
  }
  #responsive {
    float:left;
  }
}


/********************
header
********************/
header .cont_inner {
  padding-top: 15px;
  padding-bottom: 15px;
}
header .cont_inner .logo_3ds img {
  width: 170px;
  vertical-align: top;
}
header .cont_inner .sp_btn {
  display: none;
}
header .cont_inner .menu {
  display: none;
}

/*** 下層ページ用 ***/
header.lower_header {
  height: 220px;
  background: #fdd000 url(../img/lower_top_bg.jpg) no-repeat center top;
}
header.lower_header h1 {
  width: 335px;
  margin: -20px auto 0;
}
header.lower_header h1 img {
  width: 100%;
}

@media screen and (max-width: 767px) {
  header .cont_inner {
    padding: 10px 0;
    position: absolute;
    top: 0;
    z-index: 999;
  }
  header .cont_inner .logo_3ds {
    float: left;
  }
  header .cont_inner .logo_3ds img {
    width: 110px;
    margin-left: 10px;
  }
  header .cont_inner .sp_btn {
    display: block;
    float: right;
    width: 51px;
    height: 45px;
    background: url(../img/sp_menu_btn.png) no-repeat 0 0;
    background-size: 51px;
    margin-right: 10px;
  }
  header .cont_inner .sp_btn.sp_btn_open {
    background: url(../img/sp_menu_btn.png) no-repeat 0 -45px;
    background-size: 51px;
  }
  
  header .cont_inner.sp_menu_open {
    background-color: #e2e2e2;
    padding-top: 0;
    padding-bottom: 0;
    border-top: 10px solid #d0d0d0;
    border-bottom: 10px solid #c3c3c3;
  }
  header .cont_inner.sp_menu_open .logo_3ds {
    margin-top: 15px;
  }
  header .cont_inner.sp_menu_open .menu {
    position: absolute;
    top: 55px;
    left: 0;
  }
  .sp_menu_bg_open .sp_menu_bg:before {
    content: " ";
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.6);
    -webkit-background: rgba(0,0,0,0.6);
    -moz-background: rgba(0,0,0,0.6);
    z-index: 998;
  }

/*** 下層ページ用 ***/
  header.lower_header {
    height: 0;
    padding-top: 60%;
    background: #fdd000 url(../img/lower_top_sp_bg.jpg) no-repeat center top;
    background-size: cover;
  }
  header.lower_header h1 {
    width: 58%;
    margin: 18% auto 0;
  }
  header.lower_header h1 img {
    width: 100%;
  }
  header.lower_header .sp_menu_open h1 {
    display: none;
  }
}


/********************
main
********************/
main .pc_menu_wrap {
  width: 100%;
  height: 112px;
  background: url(../../common/img/menu_bg_pc.png) no-repeat center;
  position: relative;
  z-index: 1;
}
main .pc_menu_wrap .pc_menu {
}
main .pc_menu_wrap .pc_menu ul {
  width: 100%;
  margin: 0 auto;
  padding-top: 40px;
}
main .pc_menu_wrap .pc_menu li {
  float: left;
}
main .pc_menu_wrap .pc_menu li a {
  display: block;
  text-indent: -9999px;
  width: 210px;
  height: 58px;
  background: url(../../common/img/menu_pc.png) no-repeat;
}
main .pc_menu_wrap .pc_menu li.menu_closed a {
  cursor: default;
}
main .pc_menu_wrap .pc_menu li.menu_new a {
  position: relative;
}
main .pc_menu_wrap .pc_menu li.menu_new a:after {
  content: '';
  display: block;
  width: 50px;
  height: 18px;
  position: absolute;
  top: -17px;
  left: 50%;
  margin-left: -25px;
  background: url(../img/ico_new.png) no-repeat center;
  background-size: contain;
}
main .pc_menu_wrap .pc_menu li.menu01 a {
  background-position: 0 -58px;
}
main .pc_menu_wrap .pc_menu li.menu02 a {
  background-position: -210px -58px;
  margin-top: -29px;
  margin-left: -17.5px;
}
main .pc_menu_wrap .pc_menu li.menu03 a {
  background-position: -420px -58px;
  margin-left: -17.5px;
}
main .pc_menu_wrap .pc_menu li.menu04 a {
  background-position: -630px -58px;
  margin-top: -29px;
  margin-left: -17.5px;
}
main .pc_menu_wrap .pc_menu li.menu05 a {
  background-position: -840px -58px;
  margin-left: -17.5px;
}
main .pc_menu_wrap .pc_menu li.menu01:not(.menu_closed) a:hover,
main .pc_menu_wrap .pc_menu li.menu01.current a {
  background-position: 0 -116px;
}
main .pc_menu_wrap .pc_menu li.menu02:not(.menu_closed) a:hover,
main .pc_menu_wrap .pc_menu li.menu02.current a {
  background-position: -210px -116px;
}
main .pc_menu_wrap .pc_menu li.menu03:not(.menu_closed) a:hover,
main .pc_menu_wrap .pc_menu li.menu03.current a {
  background-position: -420px -116px;
}
main .pc_menu_wrap .pc_menu li.menu04:not(.menu_closed) a:hover,
main .pc_menu_wrap .pc_menu li.menu04.current a {
  background-position: -630px -116px;
}
main .pc_menu_wrap .pc_menu li.menu05:not(.menu_closed) a:hover,
main .pc_menu_wrap .pc_menu li.menu05.current a {
  background-position: -840px -116px;
}
main .pc_menu_wrap .pc_menu li.menu_closed.menu01 a {
  background-position: 0 0;
}
main .pc_menu_wrap .pc_menu li.menu_closed.menu02 a {
  background-position: -210px 0;
}
main .pc_menu_wrap .pc_menu li.menu_closed.menu03 a {
  background-position: -420px 0;
}
main .pc_menu_wrap .pc_menu li.menu_closed.menu04 a {
  background-position: -630px 0;
}
main .pc_menu_wrap .pc_menu li.menu_closed.menu05 a {
  background-position: -840px 0;
}
.sp_footer_menu {
  display: none;
}

/*** 下層ページ用 ***/
main.lower_main {
  position: relative;
  top: -22px;
}

main.lower_main .main_content_wrap {
  margin-bottom: 0;
}
main.lower_main .main_content_wrap h2 {
  width: 100%;
}
main.lower_main .main_content_wrap .main_content {
  background: url(../img/lower_main_bg.png) repeat-y 0;
  background-size: contain;
  padding: 0 50px;
  padding-bottom: 25px;
}
main.lower_main .main_content_wrap h3 {
  padding: 25px 0;
}
.main_content_bottom img {
  display: block;
}


main .game_caution {
  font-size: 12px;
  padding-top: 50px;
}
main .game_caution li {
  margin-bottom: 5px;
  text-indent: -1em;
  padding-left: 1em;
}
main.lower_main .game_caution {
  position: relative;
  bottom: -17px;
  padding-top: 38px;
}

@media screen and (max-width: 767px) {
  main .pc_menu_wrap {
    display: none;
  }
  .sp_footer_menu {
    display: block;
    padding: 10px 0;
    position: relative;
  }
  .sp_footer_menu:after,
  .sp_footer_menu:before {
    content: " ";
    position: absolute;
    width: 100%;
    height: 10px;
  }
  .sp_footer_menu:after {
    background: url(../../common/img/bg_sp_line.jpg) repeat-x top;
    top: 0;
  }
  .sp_footer_menu:before {
    background: url(../../common/img/bg_sp_line.jpg) repeat-x bottom;
    bottom: 0;
  }
  .menu {
    width: 100%;
  }
  .menu li {
    display: block;
  }
  .menu .menu_new {
    position: relative;
  }
  .menu .menu_new:after {
    content: '';
    display: block;
    width: 50px;
    height: 18px;
    position: absolute;
    top: 50%;
    right: 30px;
    margin-top: -9px;
    background: url(../img/ico_new.png) no-repeat center;
    background-size: contain;
  }
  .menu li a {
    height: 60px;
    display: block;
    background: url(../img/sp_menu_bg_d.gif) repeat-x;
    background-size: contain;
    position: relative;
    display: block;
    border-top: 1px solid #565656;
    margin: 0;
  }
  .menu li:last-child a {
    border-top: 1px solid #565656;
  }
  .menu  li a span {
    display: block;
    text-indent: -9999px;
  }
  .menu li.menu_closed a,
  .menu li.current a {
    background: url(../img/sp_menu_bg_on.gif) repeat-x;
    background-size: contain;
  }
  .menu li a:before {
    content: '';
    width: 175px;
    height: 40px;
    position: absolute;
    top: 50%;
    left: 7px;
    margin-top: -20px;
  }
  .menu  li.menu01.menu_closed a:before {
    background: url(../img/menu_sp.png) no-repeat 0 0;
    background-size: 875px;
  }
  .menu  li.menu02.menu_closed a:before {
    background: url(../img/menu_sp.png) no-repeat -175px 0;
    background-size: 875px;
  }
  .menu  li.menu03.menu_closed a:before {
    background: url(../img/menu_sp.png) no-repeat -350px 0;
    background-size: 875px;
  }
  .menu  li.menu04.menu_closed a:before {
    background: url(../img/menu_sp.png) no-repeat -525px 0;
    background-size: 875px;
  }
  .menu  li.menu05.menu_closed a:before {
    background: url(../img/menu_sp.png) no-repeat -700px 0;
    background-size: 875px;
  }
  .menu  li.menu01 a:before {
    background: url(../img/menu_sp.png) no-repeat 0 -40px;
    background-size: 875px;
  }
  .menu  li.menu02 a:before {
    background: url(../img/menu_sp.png) no-repeat -175px -40px;
    background-size: 875px;
  }
  .menu  li.menu03 a:before {
    background: url(../img/menu_sp.png) no-repeat -350px -40px;
    background-size: 875px;
  }
  .menu  li.menu04 a:before {
    background: url(../img/menu_sp.png) no-repeat -525px -40px;
    background-size: 875px;
  }
  .menu  li.menu05 a:before {
    background: url(../img/menu_sp.png) no-repeat -700px -40px;
    background-size: 875px;
  }
  .menu  li.menu01.current a:before {
    background: url(../img/menu_sp.png) no-repeat 0 -80px;
    background-size: 875px;
  }
  .menu  li.menu02.current a:before {
    background: url(../img/menu_sp.png) no-repeat -175px -80px;
    background-size: 875px;
  }
  .menu  li.menu03.current a:before {
    background: url(../img/menu_sp.png) no-repeat -350px -80px;
    background-size: 875px;
  }
  .menu  li.menu04.current a:before {
    background: url(../img/menu_sp.png) no-repeat -525px -80px;
    background-size: 875px;
  }
  .menu  li.menu05.current a:before {
    background: url(../img/menu_sp.png) no-repeat -700px -80px;
    background-size: 875px;
  }
  .menu li a:after {
    content: '';
    width: 10px;
    height: 15px;
    position: absolute;
    top: 50%;
    right: 10px;
    margin-top: -7.5px;
    background: url(../img/sp_menu_arrow.png) no-repeat 0 -15px;
    background-size: 10px;
  }
  .menu li.menu_closed a:after {
    background: url(../img/sp_menu_arrow.png) no-repeat 0 0;
    background-size: 10px;
  }

/*** 下層ページ用 ***/
  main.lower_main {
    position: static;
    top: 0;
  }
  main.lower_main .main_content_wrap {
    margin-bottom: 20px;
    padding-top: 5px;
  }
  main.lower_main .main_content_wrap .main_content {
    padding: 0 20px 10px;
  }
  main.lower_main .main_content_wrap h3 {
    padding: 10px 0;
  }
  main .game_caution {
    padding-top: 20px;
  }
  main.lower_main .game_caution {
    padding-top: 18px;
  }
}




footer {
  background-color: #4eb3c6;
  padding: 35px 0;
  color: #ffffff;
  font-size: 12px;
}
footer p.footer_3ds_cap {
  text-align: center;
  margin-bottom: 30px;
}
footer .footer_copy_wrap {
  display: table;
  margin: 0 auto;
  font-size: 10px;
}
footer .footer_copy_wrap .footer_copy_left,
footer .footer_copy_wrap .footer_copy_right {
  display: table-cell;
  vertical-align: middle;
}
footer .footer_copy_wrap .footer_copy_left,
footer .footer_copy_wrap .footer_copy_left a,
footer .footer_copy_wrap .footer_copy_left a img {
  width: 115px;
}
footer .footer_copy_wrap .footer_copy_right {
  padding-left: 15px;
}
footer .footer_copy_wrap .footer_copy_right .footer_privacy {
  margin-bottom: 10px;
}
footer .footer_copy_wrap .footer_copy_right .footer_privacy a {
  color: #ffffff;
}
footer .footer_copy_wrap .footer_copy_right .footer_privacy a:hover {
  text-decoration: underline;
}
#to_top {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 100;
}
#to_top a {
  width: 125px;
  height: 135px;
  display: block;
  background: url(../img/to_top.png) no-repeat center;
}
@media screen and (max-width: 767px) {
  footer {


    font-size: 8px;
    padding: 0;
    background-color: inherit;
  }
  footer .cont_inner {
    padding-top: 20px;
    padding-bottom: 20px;
    background-color: #4eb3c6;
  }
  footer .footer_copy_wrap .footer_copy_left, 
  footer .footer_copy_wrap .footer_copy_right {
    display: block;
    text-align: center;
  }
  footer .footer_copy_wrap .footer_copy_left {
    margin: 0 auto 10px;
    width: 150px;
  }
  #to_top {
    bottom: 10px;
    right: 10px;
  }
  #to_top a {
    width: 90px;
    height: 97px;
    background-size: contain;
  }
}