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

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:after, blockquote:before, q:after, q:before {
  content: '';
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

body {
  font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, 'メイリオ', 'Lucida Grande', sans-serif;
  font-size: 12px;
  color: #000000;
  line-height: 1;
  -webkit-text-size-adjust: 100%;
  width: 100%;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}

img {
  width: 100%;
  vertical-align: top;
}

a {
  text-decoration: none;
}

input, textarea {
  border: none;
  background: none;
  -webkit-appearance: none;
}

.is-active {
  display: block;
}

.is-hidden {
  display: none;
}

body {
  color: #fff;
  font-family: 'M PLUS 1p', sans-serif;
  font-weight: 500;
  position: relative;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  background: url(../images/bg.jpg) no-repeat center top/cover;
}

.main {
  position: relative;
  z-index: 2;
  display: block;
}

.hero h1 {
  margin: auto;
}

.howto {
  padding: 0 5.33333vw;
}

.howto-h2 {
  width: 55.06667vw;
  margin: auto auto 8vw auto;
}

.howto-blocks {
  display: block;
}

.howto-block {
  background: white;
  padding: 0 5.33333vw;
  border-radius: 5.33333vw;
}

.howto-block + .howto-block {
  margin-top: 13.33333vw;
}

.howto-no {
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 16vw;
  margin: 0 auto -2.66667vw;
}

.prizes {
  margin-top: 14.66667vw;
  padding: 16vw 5.33333vw 17.33333vw;
  background: url(../images/bg_orange.png) no-repeat top center/cover;
}

.prizes-h2 {
  width: 33.06667vw;
  margin: auto;
}

.prizes-blocks {
  display: block;
}

.prizes-block {
  width: 78.66667vw;
  margin: auto auto 10.66667vw;
  border-bottom: 0.26667vw solid #000a8b;
  padding-bottom: 4vw;
}

.prizes-block .prizes-img {
  margin: 0 -5.33333vw;
}

.prizes-block:nth-child(2) .prizes-img {
  margin: 0 -10.66667vw;
}

.product {
  margin-top: -16vw;
  padding: 21.33333vw 5.33333vw 0vw;
  background: url(../images/product_bg.png) no-repeat top center/cover;
  min-height: 127.33333vw;
}

.product-h2 {
  width: 45.46667vw;
  margin: auto;
}

.product-img {
  margin: 0 -5.33333vw 0vw 0vw;
}

.movie-h2 {
  width: 53.86667vw;
  margin: auto;
}

.movie__item {
  margin: 0 auto 0;
  width: 90%;
}

.movie__item + .movie__item {
  margin-top: 8vw;
}

.movie__item.movie__iframe {
  border-radius: 2.66667vw;
  overflow: hidden;
  width: 100%;
  position: relative;
}

.movie__item .movie__caption {
  text-align: center;
  margin: 2.66667vw 0 0;
  position: relative;
  font-size: 16px;
  font-size: 4.26667vw;
  z-index: 1;
}

.movie__item .movie__caption img {
  width: auto;
  height: 14.53333vw;
}

.application {
  padding: 5.33333vw;
}

.application_link {
  width: 34.53333vw;
  margin: auto;
}

.application_btn {
  margin-top: 8vw;
}

body.guide .application {
  border-radius: 0;
}

/* utility margin setting
----------------------------------------------------------- */
/* margin-top */
.u-mt0 {
  margin-top: 0 !important;
}

.u-mt5 {
  margin-top: 5px !important;
}

.u-mt10 {
  margin-top: 10px !important;
}

.u-mt12 {
  margin-top: 12px !important;
}

.u-mt15 {
  margin-top: 15px !important;
}

.u-mt20 {
  margin-top: 20px !important;
}

.u-mt25 {
  margin-top: 25px !important;
}

.u-mt30 {
  margin-top: 30px !important;
}

.u-mt35 {
  margin-top: 35px !important;
}

.u-mt40 {
  margin-top: 40px !important;
}

.u-mt45 {
  margin-top: 45px !important;
}

.u-mt50 {
  margin-top: 50px !important;
}

/* margin-right */
.u-mr0 {
  margin-right: 0 !important;
}

.u-mr5 {
  margin-right: 5px !important;
}

.u-mr10 {
  margin-right: 10px !important;
}

.u-mr12 {
  margin-right: 12px !important;
}

.u-mr15 {
  margin-right: 15px !important;
}

.u-mr20 {
  margin-right: 20px !important;
}

.u-mr25 {
  margin-right: 25px !important;
}

.u-mr30 {
  margin-right: 30px !important;
}

.u-mr35 {
  margin-right: 35px !important;
}

.u-mr50 {
  margin-right: 40px !important;
}

.u-mr45 {
  margin-right: 45px !important;
}

.u-mr50 {
  margin-right: 50px !important;
}

/* margin-bottom */
.u-mb0 {
  margin-bottom: 0 !important;
}

.u-mb5 {
  margin-bottom: 5px !important;
}

.u-mb8 {
  margin-bottom: 8px !important;
}

.u-mb10 {
  margin-bottom: 10px !important;
}

.u-mb12 {
  margin-bottom: 12px !important;
}

.u-mb15 {
  margin-bottom: 15px !important;
}

.u-mb20 {
  margin-bottom: 20px !important;
}

.u-mb25 {
  margin-bottom: 25px !important;
}

.u-mb30 {
  margin-bottom: 30px !important;
}

.u-mb35 {
  margin-bottom: 35px !important;
}

.u-mb40 {
  margin-bottom: 40px !important;
}

.u-mb45 {
  margin-bottom: 45px !important;
}

.u-mb50 {
  margin-bottom: 50px !important;
}

/* margin-left */
.u-ml0 {
  margin-left: 0 !important;
}

.u-ml5 {
  margin-left: 5px !important;
}

.u-ml10 {
  margin-left: 10px !important;
}

.u-ml12 {
  margin-left: 12px !important;
}

.u-ml15 {
  margin-left: 15px !important;
}

.u-ml20 {
  margin-left: 20px !important;
}

.u-ml25 {
  margin-left: 25px !important;
}

.u-ml30 {
  margin-left: 30px !important;
}

.u-ml35 {
  margin-left: 35px !important;
}

.u-ml40 {
  margin-left: 40px !important;
}

.u-ml45 {
  margin-left: 45px !important;
}

.u-ml50 {
  margin-left: 50px !important;
}

/* utility padding setting
----------------------------------------------------------- */
/* padding-top */
.u-pt0 {
  padding-top: 0 !important;
}

.u-pt5 {
  padding-top: 5px !important;
}

.u-pt10 {
  padding-top: 10px !important;
}

.u-pt12 {
  padding-top: 12px !important;
}

.u-pt15 {
  padding-top: 15px !important;
}

.u-pt20 {
  padding-top: 20px !important;
}

.u-pt25 {
  padding-top: 25px !important;
}

.u-pt30 {
  padding-top: 30px !important;
}

.u-pt35 {
  padding-top: 35px !important;
}

.u-pt40 {
  padding-top: 40px !important;
}

.u-pt45 {
  padding-top: 45px !important;
}

.u-pt50 {
  padding-top: 50px !important;
}

/* padding-right */
.u-pr0 {
  padding-right: 0 !important;
}

.u-pr5 {
  padding-right: 5px !important;
}

.u-pr10 {
  padding-right: 10px !important;
}

.u-pr15 {
  padding-right: 15px !important;
}

.u-pr20 {
  padding-right: 20px !important;
}

.u-pr25 {
  padding-right: 25px !important;
}

.u-pr30 {
  padding-right: 30px !important;
}

.u-pr35 {
  padding-right: 35px !important;
}

.u-pr50 {
  padding-right: 40px !important;
}

.u-pr45 {
  padding-right: 45px !important;
}

.u-pr50 {
  padding-right: 50px !important;
}

/* padding-bottom */
.u-pb0 {
  padding-bottom: 0 !important;
}

.u-pb5 {
  padding-bottom: 5px !important;
}

.u-pb10 {
  padding-bottom: 10px !important;
}

.u-pb12 {
  padding-bottom: 12px !important;
}

.u-pb15 {
  padding-bottom: 15px !important;
}

.u-pb20 {
  padding-bottom: 20px !important;
}

.u-pb25 {
  padding-bottom: 25px !important;
}

.u-pb30 {
  padding-bottom: 30px !important;
}

.u-pb35 {
  padding-bottom: 35px !important;
}

.u-pb40 {
  padding-bottom: 40px !important;
}

.u-pb45 {
  padding-bottom: 45px !important;
}

.u-pb50 {
  padding-bottom: 50px !important;
}

/* padding-left */
.u-pl0 {
  padding-left: 0 !important;
}

.u-pl5 {
  padding-left: 5px !important;
}

.u-pl10 {
  padding-left: 10px !important;
}

.u-pl15 {
  padding-left: 15px !important;
}

.u-pl20 {
  padding-left: 20px !important;
}

.u-pl25 {
  padding-left: 25px !important;
}

.u-pl30 {
  padding-left: 30px !important;
}

.u-pl35 {
  padding-left: 35px !important;
}

.u-pl40 {
  padding-left: 40px !important;
}

.u-pl45 {
  padding-left: 45px !important;
}

.u-pl50 {
  padding-left: 50px !important;
}

/* text-align */
.u-text-left {
  text-align: left !important;
}

.u-text-center {
  text-align: center !important;
}

.u-text-right {
  text-align: center !important;
}
