@charset "UTF-8";
html {
  font-size: 62.5%;
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  word-wrap: break-word; }

body {
  font-size: 1.6rem;
  margin: 0;
  padding: 0; }

*,
*::before,
*::after {
  box-sizing: border-box; }

h1, h2, h3, div, p, ul, li {
  margin: 0;
  padding: 0; }

li {
  list-style: none; }

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

a:hover img {
  filter: saturate(150%);
  opacity: 0.8; }

.pcOnly {
  display: none; }
  @media only screen and (min-width: 1016px) {
    .pcOnly {
      display: inline; } }

.spOnly {
  display: inline; }
  @media only screen and (min-width: 1016px) {
    .spOnly {
      display: none; } }

@media only screen and (min-width: 1016px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none; } }

.mv {
  text-indent: -9999px;
  width: 100vw;
  height: 75.6vw;
  background: url("../img/mv_sp.jpg") no-repeat;
  background-size: cover; }
  @media only screen and (min-width: 769px) {
    .mv {
      height: calc(374 / 1016 * 100vw);
      background: url("../img/mv_tb.jpg") top center no-repeat;
      background-size: cover; } }
  @media only screen and (min-width: 1016px) {
    .mv {
      width: 100%;
      height: calc(374 / 1395 * 100vw);
      background: url("../img/mv_pc.jpg") top center no-repeat;
      background-size: 100% auto; } }

.period {
  width: 100vw; }
  @media only screen and (min-width: 1016px) {
    .period {
      width: 1016px;
      margin: 0 auto; } }

.prize_wrap {
  width: 100vw; }
  @media only screen and (min-width: 769px) {
    .prize_wrap {
      width: 100%;
      margin: 0 auto;
      padding: 15px 0 12px;
      background: url("../img/prize_bk_pc.jpg") no-repeat;
      background-size: cover; } }
  .prize_wrap .prize {
    width: 100vw; }
    @media only screen and (min-width: 769px) {
      .prize_wrap .prize {
        width: calc(862 / 1016 * 100%);
        margin: 0 auto; } }
    @media only screen and (min-width: 1016px) {
      .prize_wrap .prize {
        width: 862px; } }

.link_wrap {
  width: 100vw; }
  @media only screen and (min-width: 1016px) {
    .link_wrap {
      width: 1016px;
      margin: 0 auto; } }
  .link_wrap .link {
    margin-top: 2.5vw; }
    @media only screen and (min-width: 1016px) {
      .link_wrap .link {
        margin-top: 25px; } }
    .link_wrap .link ul {
      width: 86.666vw;
      display: flex;
      justify-content: space-between;
      border-bottom: #000 1px solid;
      padding-bottom: 3.6vw;
      margin: 0 auto 3.6vw; }
      @media only screen and (min-width: 769px) {
        .link_wrap .link ul {
          width: calc(700 / 1016 * 100vw);
          padding-bottom: calc(25 / 1016 * 100vw);
          margin: 0 auto calc(25 / 1016 * 100vw); } }
      @media only screen and (min-width: 1016px) {
        .link_wrap .link ul {
          width: 700px;
          padding-bottom: 25px;
          margin: 0 auto 25px; } }
      .link_wrap .link ul.onebtn {
        justify-content: flex-start; }
      .link_wrap .link ul li img {
        height: 8vw;
        width: auto; }
        @media only screen and (min-width: 769px) {
          .link_wrap .link ul li img {
            height: calc(60 / 1016 * 100vw); } }
        @media only screen and (min-width: 1016px) {
          .link_wrap .link ul li img {
            height: 60px; } }
      .link_wrap .link ul li.name {
        margin-right: 4vw; }
        @media only screen and (min-width: 769px) {
          .link_wrap .link ul li.name {
            margin-right: calc(40 / 1016 * 100vw); } }
        @media only screen and (min-width: 1016px) {
          .link_wrap .link ul li.name {
            margin-right: 40px; } }
      .link_wrap .link ul li.app {
        margin-right: 5.2vw; }
        @media only screen and (min-width: 769px) {
          .link_wrap .link ul li.app {
            margin-right: calc(39 / 1016 * 100vw); } }
        @media only screen and (min-width: 1016px) {
          .link_wrap .link ul li.app {
            margin-right: 39px; } }
      .link_wrap .link ul:last-child {
        border-bottom: none; }

.prod-contact_wrap {
  width: 100vw;
  padding: 3.33vw 0;
  background: url("../img/prod_bk_sp.jpg") no-repeat;
  background-size: cover;
  border-bottom: 4vw #000 solid; }
  @media only screen and (min-width: 1016px) {
    .prod-contact_wrap {
      width: 100%;
      background: url("../img/prod_bk_pc.jpg") no-repeat;
      background-size: cover;
      border-bottom: 30px #000 solid; } }
  .prod-contact_wrap .prod {
    width: 86.933vw;
    margin: 0 auto; }
    @media only screen and (min-width: 769px) {
      .prod-contact_wrap .prod {
        width: calc(860 / 1016 * 100vw); } }
    @media only screen and (min-width: 1016px) {
      .prod-contact_wrap .prod {
        width: 860px; } }
  .prod-contact_wrap .contact_ti {
    width: 82.4vw;
    margin: 2.266vw auto 0; }
    @media only screen and (min-width: 769px) {
      .prod-contact_wrap .contact_ti {
        width: calc(500 / 1016 * 100vw);
        margin: calc(20 / 1016 * 100vw) auto 0; } }
    @media only screen and (min-width: 1016px) {
      .prod-contact_wrap .contact_ti {
        width: 500px;
        margin: 20px auto 0; } }
  .prod-contact_wrap .contact_tel {
    width: 57.733vw;
    margin: 1.6vw auto 0; }
    @media only screen and (min-width: 769px) {
      .prod-contact_wrap .contact_tel {
        width: calc(352 / 1016 * 100vw);
        margin: calc(8 / 1016 * 100vw) auto 0; } }
    @media only screen and (min-width: 1016px) {
      .prod-contact_wrap .contact_tel {
        width: 352px;
        margin: 8px auto 0; } }
  .prod-contact_wrap .contact_text {
    width: 74.256vw;
    margin: 1.6vw auto 0; }
    @media only screen and (min-width: 769px) {
      .prod-contact_wrap .contact_text {
        width: calc(529 / 1016 * 100vw);
        margin: calc(10 / 1016 * 100vw) auto 0; } }
    @media only screen and (min-width: 1016px) {
      .prod-contact_wrap .contact_text {
        width: 529px;
        margin: 10px auto 0; } }
