@charset "UTF-8";
html {
  font-size: 10px;
}

body {
  overflow-wrap: break-word;
}

a,
a:link,
a:visited,
a:active,
a:hover,
a:hover img {
  text-decoration: none;
  color: #000000;
}

a:hover {
  text-decoration: none;
}

a:hover {
  filter: alpha(opacity=80);
  -ms-filter: "alpha(opacity=80)";
  opacity: .80;
  -webkit-transition: opacity .3s ease-out;
  -moz-transition: opacity .3s ease-out;
  transition: opacity .3s ease-out;
}

a {
  color: #000000;
}

img {
  vertical-align: bottom;
  max-width: 100%;
  width: auto;
  height: auto;
}

div,
p {
  /*word-break: break-all;*/
}

ul,
ol,
li {
  list-style: none;
}

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video, nav, picture {
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: baseline;
}

ul,
ol,
li {
  list-style: none;
}

body,
td,
th,
input,
textarea {
  color: #3A3A3F;
  font-family: 'Hiragino Kaku Gothic Pro','ヒラギノ角ゴ Pro W3', Tahoma, "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", Verdana, Arial, sans-serif;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.5;
}

* {
  -moz-box-sizing: border-box;
       box-sizing: border-box;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: normal;
}

figure, picture {
  line-height: 0;
}

picture {
  display: block;
}

html, body {
  width: 100%;
  height: 100%;
}

body {
  -moz-font-feature-settings: "palt";
       font-feature-settings: "palt";
}

@media screen and (min-width: 769px), print {
  a[href^=tel] {
    pointer-events: none;
    text-decoration: none;
    cursor: default !important;
  }
  .show_sp {
    display: none !important;
  }
  .container {
    overflow: hidden;
    min-width: 1200px;
  }
  .row {
    max-width: 1100px;
    width: 100%;
    margin: 0 auto;
  }
  .row--lg {
    max-width: 1100px;
  }
}

@media screen and (min-width: 769px) and (min-width: 1556px) {
  .row--lg {
    max-width: 1556px;
  }
}

@media screen and (min-width: 769px), print {
  img {
    max-width: 100%;
    width: auto;
    height: auto;
  }
  .header {
    min-width: 1200px;
    padding: 25px 31px 25px 31px;
    position: fixed;
    width: 100%;
    left: 0;
    top: 0;
    z-index: 9999;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-transition: all .3s ease-out;
    -moz-transition: all .3s ease-out;
    transition: all .3s ease-out;
  }
  .header__left h1 {
    line-height: 0;
  }
  .header__left h1 a {
    display: inline-block;
    width: 144px;
  }
  .header__left h1 a img {
    width: 100%;
  }
  .header__nav {
    margin-left: 42px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .header__nav > ul {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .header__nav > ul > li {
    line-height: 0;
  }
  .header__nav > ul > li:not(:first-child) {
    margin-left: 52px;
  }
  .header__nav > ul > li > a {
    font-weight: 700;
    font-size: 3.2rem;
    line-height: 1;
    text-align: center;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding-bottom: 5px;
  }
  .header__nav > ul > li > a:hover {
    border-bottom: 1px solid #000;
  }
  .header__right {
    margin-left: auto;
  }
  .header__right .menu_icon {
    display: none;
  }
  .header.has__fixed {
    -moz-box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.1);
         box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.1);
    background: #fff;
  }
  .store {
    margin: 4em 0;
    text-align: center;
  }
  .store p {
    color: #ffffff;
    display: block;
    width: 120%;
    max-width: 700px;
    margin: 0 auto;
    padding: .75em 3.5em;
    font-size: 2em;
    border-bottom:dotted;/*下線を点線にする*/
    border-width:0.5px;
    border-bottom:solid;
    border-color:#ffffff;
    border-width:5px;/*5ピクセルの太さにする*/
    
    /* border: #ffffff 2px solid; */
  }
  .store-flex {
    margin-top: 1em;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }
  .store-item {
    display: block;
    background-color: #000000;
    width: 30%;
    max-width: 350px;
    margin: 0 .5em;
    border: #ffffff 2px solid;
    font-size: 1.15em;
    transition: .5s;
  }
  .store-item a {
    display: block;
    padding: 1.15em;
    text-decoration: none;
    color: #fff;
    font-family: 'Noto Sans JP', sans-serif;
  }
  .store-item:hover {
    opacity: .7;
  }

  .footer {
    background-color: #FFFD38;
    padding: 2em;
    text-align: center;
    border-top: #E53231 8px solid;
  }

  .footer li {
    display: inline-block;
    margin: .3em .3em;
  }

/* 
  .footer {
    position: relative;
    background: #161075;
    text-align: center;
    padding: 29px 0 26px;
  }
  .footer h2 {
    text-align: center;
    margin-bottom: 20px;
    line-height: 0;
  }
  .footer h2 a {
    display: inline-block;
    line-height: 0;
  }
  .footer h2 a img {
    width: 186px;
    height: auto;
  }
  .footer p {
    font-size: 1.8rem;
    line-height: 2;
    color: #fff;
  } */
  .banner {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    background: url("../img/banner_bg.png") center top no-repeat;
    -moz-background-size: cover;
         background-size: cover;
  }
  .banner .row {
    max-width: 100%;
  }
  .banner__child {
    width: 84.73958%;
    margin: 0 auto;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
       -moz-box-orient: vertical;
       -moz-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .banner__child .banner__text {
    height: 100%;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
       -moz-box-orient: vertical;
       -moz-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 72px;
    padding: 10px 0 88px;
  }
  .what {
    background: url("../img/what_bg.png") top center no-repeat;
    -moz-background-size: cover;
         background-size: cover;
    margin-top: -215px;
    position: relative;
    z-index: 1;
  }
  .what .row h2 {
    padding-top: 235px;
  }
  .what .row h2 img {
    width: 65.89147%;
  }
  .what_list {
    padding-top: 400px;
    padding-bottom: 95px;
  }
  .what_list li + li {
    margin-top: 84px;
  }
  .games_banner {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    background: url("../img/banner_bg.png") center top no-repeat;
    -moz-background-size: cover;
         background-size: cover;
  }
  .games_banner .row {
    max-width: 100%;
  }
  .games_banner_child {
    width: 39.0625%;
    margin: 0 auto;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
       -moz-box-orient: vertical;
       -moz-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .games_banner_child .games_banner_text {
    height: 100%;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
       -moz-box-orient: vertical;
       -moz-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 157px 0 250px;
  }
  .games_list {
    background: url("../img/games_bg.png") top center no-repeat;
    -moz-background-size: cover;
         background-size: cover;
    margin-top: -215px;
    position: relative;
    z-index: 1;
  }
  .games_list .row h2 {
    padding-top: 266px;
    text-align: center;
  }
  .games_list .row h2 img {
    width: 56.82171%;
  }
  .games_list_inner {
    padding-top: 265px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .games_list_inner li {
    width: 44.25557%;
    margin-bottom: 148px;
  }
  .gallery_banner {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    background: url("../img/banner_bg.png") center top no-repeat;
    -moz-background-size: cover;
         background-size: cover;
  }
  .gallery_banner .row {
    max-width: 100%;
  }
  .gallery_banner_child {
    width: 94.94792%;
    margin: 0 auto;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
       -moz-box-orient: vertical;
       -moz-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .gallery_banner_child .gallery_banner_text {
    height: 100%;
    padding: 157px 0 550px;
  }
  .gallery_banner_child .gallery_banner_text p {
    font-size: 3.2rem;
    line-height: 43px;
    color: #FF0000;
    -webkit-text-stroke: 0.2px #fff;
    margin-bottom: 33px;
  }
  .gallery_banner_child .gallery_banner_text .ttl {
    padding: 120px 0 70px;
    -webkit-transform: translateZ(0);
       -moz-transform: translateZ(0);
            transform: translateZ(0);
    text-align: center;
  }
  .gallery_banner_child .gallery_banner_text .ttl:before {
    content: '';
    min-width: 3000px;
    width: 100%;
    height: 270px;
    background: url("../img/ttl_bg.png") top no-repeat;
    -moz-background-size: 100% 100%;
         background-size: 100% 100%;
    position: absolute;
    left: -20%;
    top: 0;
    bottom: 0;
    margin: auto;
    z-index: -1;
  }
  .gallery_banner_child .gallery_banner_text .ttl img {
    max-width: 820px;
    width: 47.67442%;
  }
  .gallery_list {
    background: url("../img/gallery_bg.png") top center no-repeat;
    -moz-background-size: cover;
         background-size: cover;
    margin-top: -215px;
    position: relative;
    z-index: 1;
  }
  .gallery_list h2 {
    padding-top: 100px;
    text-align: center;
  }
  .gallery_list h2 img {
    width: 84.375%;
    position: relative;
    top: 115px;
  }
  .gallery_if {
    background: url("../img/gallery_bg02.png") bottom center no-repeat;
    -moz-background-size: cover;
         background-size: cover;
    padding: 80px 0 16px;
  }
  .gallery_if .row {
    max-width: 84.375%;
  }
  .gallery_if ul {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
  }
  .gallery_if ul li {
    width: 50%;
  }
  .big_banner {
    position: relative;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    background: #FFC600;
  }
  .big_banner_top {
    text-align: center;
    padding-top: 100px;
  }
  .big_banner_top img {
    width: 59.11458%;
  }
  .big_banner_bottom {
    background: url("../img/big_bg.png") center no-repeat;
    -moz-background-size: cover;
         background-size: cover;
    padding: 204px 0 96px;
    margin-top: -500px;
    position: relative;
  }
  .big_list {
    background: #0191FC;
    position: relative;
    z-index: 1;
    padding: 125px 0 135px;
  }
  .big_list dl + dl {
    margin-top: 138px;
  }
  .big_list dl dt {
    margin-bottom: 87px;
  }

  .downloadbtn {
    width: 10%;
    margin: 0 auto;
  }

  .shops_banner {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    background: url("../img/banner_bg.png") center top no-repeat;
    -moz-background-size: cover;
         background-size: cover;
  }
  .shops_banner .row {
    max-width: 100%;
  }
  .shops_banner_child {
    width: 56.35659%;
    margin: 0 auto;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
       -moz-box-orient: vertical;
       -moz-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .shops_banner_child .shops_banner_text {
    height: 100%;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
       -moz-box-orient: vertical;
       -moz-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 72px 0 550px;
  }
  .shops_list {
    background: #0191FC;
    margin-top: -215px;
    position: relative;
    z-index: 1;
  }
  .shops_list::before {
    content: '';
    width: 100%;
    height: 207px;
    background: url("../img/shops_bg.png") center top no-repeat;
    -moz-background-size: cover;
         background-size: cover;
    position: absolute;
    top: -207px;
    left: 0;
  }
  .shops_list_inner {
    padding-top: 194px;
    padding-bottom: 44px;
  }
  .shops_list_inner li {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    border-bottom: 4px solid #2A3589;
  }
  .shops_list_inner li + li {
    margin-top: 63px;
  }
  .shops_list_inner li span {
    font-size: 3.8rem;
    line-height: 51px;
    color: #BFFF40;
  }
  .shops_list_inner li a {
    font-size: 3.8rem;
    line-height: 51px;
    color: #BFFF40;
  }
}

@media screen and (max-width: 768px) {
  img {
    width: 100%;
    height: auto;
  }
  .container {
    overflow: hidden;
  }
  .show_pc {
    display: none !important;
  }
  .row {
    padding-left: 3.73832vw;
    padding-right: 3.73832vw;
  }
  .header {
    padding: 1.16822vw 3.73832vw;
    position: fixed;
    width: 100%;
    left: 0;
    top: 0;
    z-index: 9999;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-transition: all .3s ease-out;
    -moz-transition: all .3s ease-out;
    transition: all .3s ease-out;
  }
  .header__left h1 {
    line-height: 0;
  }
  .header__left h1 a {
    display: inline-block;
    width: 9.34579vw;
  }
  .header__left h1 a img {
    width: 100%;
  }
  .header__nav {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .header__nav > ul {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .header__nav > ul > li {
    line-height: 0;
  }
  .header__nav > ul > li:not(:first-child) {
    margin-left: 6.54206vw;
  }
  .header__nav > ul > li > a {
    font-weight: 700;
    font-size: 1.86916vw;
    line-height: 1;
    text-align: center;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding-bottom: 1.16822vw;
  }
  .header__nav > ul > li > a:hover {
    border-bottom: 1px solid #000;
  }
  .header__right {
    margin-left: auto;
  }
  .header__right .menu_icon {
    display: none;
  }
  .header.has__fixed {
    -moz-box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.1);
         box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.1);
    background: #fff;
  }
  .footer {
    position: relative;
    background: #161075;
    text-align: center;
    padding: 2.33645vw 0 2.80374vw;
  }
  .footer h2 {
    text-align: center;
    margin-bottom: 1.86916vw;
    line-height: 0;
  }
  .footer h2 a {
    display: inline-block;
    line-height: 0;
  }
  .footer h2 a img {
    width: 15.18692vw;
    height: auto;
  }
  .footer p {
    font-size: 1.16822vw;
    line-height: 2;
    color: #fff;
  }
  .banner {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    background: url("../img/banner_bg.png") center top no-repeat;
    -moz-background-size: cover;
         background-size: cover;
  }
  .banner .row {
    width: 100%;
  }
  .banner__child {
    width: 100%;
    margin: 0 auto;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
       -moz-box-orient: vertical;
       -moz-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .banner__child .banner__text {
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
       -moz-box-orient: vertical;
       -moz-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 7.00935vw;
    padding: 2.33645vw 0 42.05607vw;
  }
  .banner__child .banner__text img {
    width: 93.45794vw;
    margin: 0 auto;
  }
  .what {
    background: url("../img/what_bg_sp.png") top center no-repeat;
    -moz-background-size: cover;
         background-size: cover;
    margin-top: -50.23364vw;
    position: relative;
    z-index: 1;
  }
  .what .row h2 {
    padding: 14.01869vw 4.6729vw 0;
  }
  .what .row h2 img {
    width: 71.26168vw;
  }
  .what_list {
    padding-top: 32.71028vw;
    padding-bottom: 12.85047vw;
  }
  .what_list li + li {
    margin-top: 11.21495vw;
  }
  .games_banner {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    background: url("../img/banner_bg.png") center top no-repeat;
    -moz-background-size: cover;
         background-size: cover;
  }
  .games_banner .row {
    width: 100%;
  }
  .games_banner_child {
    width: 100%;
    margin: 0 auto;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
       -moz-box-orient: vertical;
       -moz-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .games_banner_child .games_banner_text {
    height: 100%;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
       -moz-box-orient: vertical;
       -moz-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 11.91589vw 0 46.72897vw;
  }
  .games_banner_child .games_banner_text img {
    width: 64.01869vw;
  }
  .games_list {
    background: url("../img/games_bg_sp.png") top center no-repeat;
    -moz-background-size: cover;
         background-size: cover;
    margin-top: -50.23364vw;
    position: relative;
    z-index: 1;
  }
  .games_list .row h2 {
    padding-top: 17.28972vw;
    text-align: center;
  }
  .games_list .row h2 img {
    width: 72.8972vw;
  }
  .games_list_inner {
    padding-top: 5.84112vw;
    padding-bottom: 6.7757vw;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .games_list_inner li {
    width: 59.57944vw;
  }
  .games_list_inner li + li {
    margin-top: 8.8785vw;
  }
  .gallery_banner {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    background: url("../img/banner_bg.png") center top no-repeat;
    -moz-background-size: cover;
         background-size: cover;
  }
  .gallery_banner .row {
    width: 100%;
  }
  .gallery_banner_child {
    width: 94.94792%;
    margin: 0 auto;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
       -moz-box-orient: vertical;
       -moz-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .gallery_banner_child .gallery_banner_text {
    height: 100%;
    padding: 18.69159vw 0 56.07477vw;
  }
  .gallery_banner_child .gallery_banner_text p {
    font-size: 1.63551vw;
    line-height: 2.33645vw;
    color: #FF0000;
    text-shadow: 0 0 1px #fff;
  }
  .gallery_banner_child .gallery_banner_text .ttl {
    padding: 6.54206vw 0;
    -webkit-transform: translateZ(0);
       -moz-transform: translateZ(0);
            transform: translateZ(0);
    text-align: center;
  }
  .gallery_banner_child .gallery_banner_text .ttl:before {
    content: '';
    width: 120%;
    height: 18.69159vw;
    background: url("../img/ttl_bg_sp.png") top no-repeat;
    -moz-background-size: cover;
         background-size: cover;
    position: absolute;
    left: -8%;
    top: 0;
    bottom: 0;
    margin: auto;
    z-index: -1;
  }
  .gallery_banner_child .gallery_banner_text .ttl img {
    width: 54.43925vw;
    display: block;
    margin: 0 auto;
  }
  .gallery_list {
    background: url("../img/gallery_bg.png") top center no-repeat;
    -moz-background-size: cover;
         background-size: cover;
    margin-top: -50.23364vw;
    position: relative;
    z-index: 1;
  }
  .gallery_list h2 {
    padding-top: 7.00935vw;
    text-align: center;
  }
  .gallery_list h2 img {
    width: 84.375%;
    position: relative;
    top: 16.35514vw;
  }
  .gallery_if {
    background: url("../img/gallery_bg02.png") bottom center no-repeat;
    -moz-background-size: cover;
         background-size: cover;
    padding: 0;
  }
  .gallery_if .row {
    max-width: 84.375%;
    margin: 0 auto;
  }
  .gallery_if li {
    display: block;
  }
  .gallery_if li + li {
    margin-top: 4.6729vw;
  }
  .big_banner {
    position: relative;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    background: #FFC600;
  }
  .big_banner_top {
    text-align: center;
    padding-top: 5.60748vw;
  }
  .big_banner_top img {
    width: 57.71028vw;
  }
  .big_banner_bottom {
    background: url("../img/big_bg_sp.png") center no-repeat;
    -moz-background-size: cover;
         background-size: cover;
    padding: 12.14953vw 0 4.90654vw;
    margin-top: -35.04673vw;
    position: relative;
  }
  .big_banner_bottom img {
    width: 84.11215vw;
    display: block;
    margin: 0 auto;
  }
  .big_list {
    background: #0191FC;
    position: relative;
    z-index: 1;
    padding: 6.30841vw 0 6.7757vw;
  }
  .big_list dl + dl {
    margin-top: 7.00935vw;
  }
  .big_list dl dt {
    margin-bottom: 4.43925vw;
  }
  .shops_banner {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    background: url("../img/banner_bg.png") center top no-repeat;
    -moz-background-size: cover;
         background-size: cover;
  }
  .shops_banner .row {
    max-width: 100%;
  }
  .shops_banner_child {
    width: 56.35659%;
    margin: 0 auto;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
       -moz-box-orient: vertical;
       -moz-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .shops_banner_child .shops_banner_text {
    height: 100%;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
       -moz-box-orient: vertical;
       -moz-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 11.68224vw 0 84.11215vw;
  }
  .shops_banner_child .shops_banner_text p {
    width: 93.45794vw;
    font-size: 1.63551vw;
    line-height: 2.33645vw;
    color: #FF0000;
    margin-bottom: 3.50467vw;
    text-shadow: 0 0 1px #fff;
  }
  .shops_list {
    background: #0191FC;
    margin-top: -50.23364vw;
    position: relative;
    z-index: 1;
  }
  .shops_list::before {
    content: '';
    width: 100%;
    height: 24.06542vw;
    background: url("../img/shops_bg_sp.png") center top no-repeat;
    -moz-background-size: cover;
         background-size: cover;
    position: absolute;
    top: -24.06542vw;
    left: 0;
  }
  .shops_list .row {
    padding-left: 0;
    padding-right: 0;
  }
  .shops_list_inner {
    padding-top: 8.41121vw;
    padding-bottom: 4.6729vw;
  }
  .shops_list_inner li {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    border-bottom: 0.70093vw solid #2A3589;
    padding-left: 3.73832vw;
    padding-right: 3.73832vw;
  }
  .shops_list_inner li + li {
    margin-top: 3.50467vw;
  }
  .shops_list_inner li span {
    font-size: 3.97196vw;
    line-height: 5.14019vw;
    color: #BFFF40;
  }
  .shops_list_inner li a {
    font-size: 3.97196vw;
    line-height: 5.14019vw;
    color: #BFFF40;
  }
}

.imgLeft {
  position: relative;
  overflow: hidden;
}

.imgLeft:before {
  content: '';
  width: 100%;
  height: 100%;
  background-color: #fff;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  -webkit-transform: translateX(0);
     -moz-transform: translateX(0);
      -ms-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition: -webkit-transform 1s ease-out 2.1s;
  transition: -webkit-transform 1s ease-out 2.1s;
  -moz-transition: transform 1s ease-out 2.1s, -moz-transform 1s ease-out 2.1s;
  transition: transform 1s ease-out 2.1s;
  transition: transform 1s ease-out 2.1s, -webkit-transform 1s ease-out 2.1s, -moz-transform 1s ease-out 2.1s;
}

.imgLeft.active:before {
  -webkit-transform: translateX(-110%);
     -moz-transform: translateX(-110%);
      -ms-transform: translateX(-110%);
          transform: translateX(-110%);
}

.fadeInUp {
  opacity: 0;
  -webkit-transform: translateY(100px);
     -moz-transform: translateY(100px);
      -ms-transform: translateY(100px);
          transform: translateY(100px);
}

.fadeInUp.active {
  opacity: 1;
  -webkit-transform: translate(0);
     -moz-transform: translate(0);
      -ms-transform: translate(0);
          transform: translate(0);
}

.fadeInDown {
  opacity: 0;
  -webkit-transform: translateY(-100px);
     -moz-transform: translateY(-100px);
      -ms-transform: translateY(-100px);
          transform: translateY(-100px);
}

.fadeInDown.active {
  opacity: 1;
  -webkit-transform: translate(0);
     -moz-transform: translate(0);
      -ms-transform: translate(0);
          transform: translate(0);
}

.fadeInRight {
  opacity: 0;
  -webkit-transform: translateX(100px);
     -moz-transform: translateX(100px);
      -ms-transform: translateX(100px);
          transform: translateX(100px);
}

.fadeInRight.active {
  opacity: 1;
  -webkit-transform: translate(0);
     -moz-transform: translate(0);
      -ms-transform: translate(0);
          transform: translate(0);
}

.fadeInLeft {
  opacity: 0;
  -webkit-transform: translateX(-100px);
     -moz-transform: translateX(-100px);
      -ms-transform: translateX(-100px);
          transform: translateX(-100px);
}

.fadeInLeft.active {
  opacity: 1;
  -webkit-transform: translate(0);
     -moz-transform: translate(0);
      -ms-transform: translate(0);
          transform: translate(0);
}

.fadeIn {
  opacity: 0;
  -webkit-transform: scale(0.9);
     -moz-transform: scale(0.9);
      -ms-transform: scale(0.9);
          transform: scale(0.9);
}

.fadeIn.active {
  opacity: 1;
  -webkit-transform: scale(1);
     -moz-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
}

.delay_03 {
  transition-property: opacity,transform,-webkit-transform;
  -webkit-transition-duration: 1s;
     -moz-transition-duration: 1s;
          transition-duration: 1s;
  -webkit-transition-timing-function: ease;
     -moz-transition-timing-function: ease;
          transition-timing-function: ease;
  -webkit-transition-delay: 0.3s;
     -moz-transition-delay: 0.3s;
          transition-delay: 0.3s;
}

.delay_06 {
  transition-property: opacity,transform,-webkit-transform;
  -webkit-transition-duration: 1s;
     -moz-transition-duration: 1s;
          transition-duration: 1s;
  -webkit-transition-timing-function: ease;
     -moz-transition-timing-function: ease;
          transition-timing-function: ease;
  -webkit-transition-delay: 0.6s;
     -moz-transition-delay: 0.6s;
          transition-delay: 0.6s;
}

.delay_09 {
  transition-property: opacity,transform,-webkit-transform;
  -webkit-transition-duration: 1s;
     -moz-transition-duration: 1s;
          transition-duration: 1s;
  -webkit-transition-timing-function: ease;
     -moz-transition-timing-function: ease;
          transition-timing-function: ease;
  -webkit-transition-delay: 0.9s;
     -moz-transition-delay: 0.9s;
          transition-delay: 0.9s;
}

.delay_12 {
  transition-property: opacity,transform,-webkit-transform;
  -webkit-transition-duration: 1s;
     -moz-transition-duration: 1s;
          transition-duration: 1s;
  -webkit-transition-timing-function: ease;
     -moz-transition-timing-function: ease;
          transition-timing-function: ease;
  -webkit-transition-delay: 1.2s;
     -moz-transition-delay: 1.2s;
          transition-delay: 1.2s;
}

.delay_15 {
  transition-property: opacity,transform,-webkit-transform;
  -webkit-transition-duration: 1s;
     -moz-transition-duration: 1s;
          transition-duration: 1s;
  -webkit-transition-timing-function: ease;
     -moz-transition-timing-function: ease;
          transition-timing-function: ease;
  -webkit-transition-delay: 1.5s;
     -moz-transition-delay: 1.5s;
          transition-delay: 1.5s;
}

.delay_18 {
  transition-property: opacity,transform,-webkit-transform;
  -webkit-transition-duration: 1s;
     -moz-transition-duration: 1s;
          transition-duration: 1s;
  -webkit-transition-timing-function: ease;
     -moz-transition-timing-function: ease;
          transition-timing-function: ease;
  -webkit-transition-delay: 1.8s;
     -moz-transition-delay: 1.8s;
          transition-delay: 1.8s;
}

.delay_21 {
  transition-property: opacity,transform,-webkit-transform;
  -webkit-transition-duration: 1s;
     -moz-transition-duration: 1s;
          transition-duration: 1s;
  -webkit-transition-timing-function: ease;
     -moz-transition-timing-function: ease;
          transition-timing-function: ease;
  -webkit-transition-delay: 2.1s;
     -moz-transition-delay: 2.1s;
          transition-delay: 2.1s;
}

.delay_24 {
  transition-property: opacity,transform,-webkit-transform;
  -webkit-transition-duration: 1s;
     -moz-transition-duration: 1s;
          transition-duration: 1s;
  -webkit-transition-timing-function: ease;
     -moz-transition-timing-function: ease;
          transition-timing-function: ease;
  -webkit-transition-delay: 2.4s;
     -moz-transition-delay: 2.4s;
          transition-delay: 2.4s;
}

.delay_27 {
  transition-property: opacity,transform,-webkit-transform;
  -webkit-transition-duration: 1s;
     -moz-transition-duration: 1s;
          transition-duration: 1s;
  -webkit-transition-timing-function: ease;
     -moz-transition-timing-function: ease;
          transition-timing-function: ease;
  -webkit-transition-delay: 2.7s;
     -moz-transition-delay: 2.7s;
          transition-delay: 2.7s;
}

@-webkit-keyframes updown {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(10px);
            transform: translateY(10px);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@-moz-keyframes updown {
  0% {
    -moz-transform: translateY(0);
         transform: translateY(0);
  }
  50% {
    -moz-transform: translateY(10px);
         transform: translateY(10px);
  }
  100% {
    -moz-transform: translateY(0);
         transform: translateY(0);
  }
}

@keyframes updown {
  0% {
    -webkit-transform: translateY(0);
       -moz-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(10px);
       -moz-transform: translateY(10px);
            transform: translateY(10px);
  }
  100% {
    -webkit-transform: translateY(0);
       -moz-transform: translateY(0);
            transform: translateY(0);
  }
}

@media (max-width: 500px) {
  .downloadbtn {
    width: 30%;
    margin: 0 auto;
  }
}
  