@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;
  color: #595858;
  background-color: #fff;
  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 {
  max-width: 100%;
  height: auto;
  line-height: 0;
  vertical-align: bottom; }

a:hover img {
  cursor: pointer;
  opacity: 0.8; }

.pcOnly {
  display: none; }
  @media only screen and (min-width: 769px) {
    .pcOnly {
      display: inline; } }

.spOnly {
  display: inline; }
  @media only screen and (min-width: 769px) {
    .spOnly {
      display: none; } }

@media only screen and (min-width: 420px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none; } }
/*背景*/
.bg01 {
  background: url("../img/bg01_sp.png") no-repeat;
  background-size: 100% auto;
  background-position: top center; }
  @media only screen and (min-width: 769px) {
    .bg01 {
      background: url("../img/bg01_tb.png") no-repeat;
      background-size: 100% auto;
      background-position: top center; } }
  @media only screen and (min-width: 1040px) {
    .bg01 {
      background: url("../img/bg01_pc.png") no-repeat;
      background-size: auto auto;
      background-position: top center; } }
  @media only screen and (min-width: 2001px) {
    .bg01 {
      background-size: 100% auto;
      background-position: top center; } }

.bg02 {
  background: url("../img/bg03_sp.png") no-repeat;
  background-size: 100% auto;
  background-position: bottom center; }
  @media only screen and (min-width: 769px) {
    .bg02 {
      background: url("../img/bg03_tb.png") no-repeat;
      background-size: 100% auto;
      background-position: bottom center; } }
  @media only screen and (min-width: 1040px) {
    .bg02 {
      background: url("../img/bg03_pc.png") no-repeat;
      background-size: auto auto;
      background-position: bottom center; } }
  @media only screen and (min-width: 2001px) {
    .bg02 {
      background-size: 100% auto;
      background-position: bottom center; } }

/*メインビジュアル*/
.mainvisual--inner {
  position: relative;
  width: 100vw;
  text-align: center; }
  @media only screen and (min-width: 769px) {
    .mainvisual--inner {
      width: calc(1040 / 1040 * 100vw);
      margin: 0 auto; } }
  @media only screen and (min-width: 1040px) {
    .mainvisual--inner {
      width: 1040px; } }
  .mainvisual--inner .message_box {
    position: absolute;
    top: 30.468vw;
    left: 0;
    right: 0;
    width: 84vw;
    height: 20vw;
    mix-blend-mode: multiply;
    background-color: #333;
    margin: 0 auto; }
    @media only screen and (min-width: 769px) {
      .mainvisual--inner .message_box {
        width: calc(750 / 1040 * 100vw);
        height: calc(236 / 1040 * 100vw); } }
    @media only screen and (min-width: 1040px) {
      .mainvisual--inner .message_box {
        width: 750px;
        height: 236px;
        top: 280px; } }
  .mainvisual--inner .message {
    position: absolute;
    top: 34.687vw;
    left: 0;
    right: 0;
    width: 62vw;
    margin: 0 auto; }
    @media only screen and (min-width: 769px) {
      .mainvisual--inner .message {
        width: calc(567 / 1040 * 100vw);
        top: calc(350 / 1040 * 100vw); } }
    @media only screen and (min-width: 1040px) {
      .mainvisual--inner .message {
        width: 567px;
        top: 350px; } }

/*コロナ注意書き*/
.covid-note {
  margin: 7.8125vw auto 0;
  width: 74.375vw;
  padding: 1vw 3.125vw;
  border: 1px solid #000;
  background-color: #fff000;
  font-size: 10px;
  line-height: 2;
  text-align: center; }
  @media only screen and (min-width: 769px) {
    .covid-note {
      margin: calc(41 / 1040 * 100vw) auto 0;
      width: calc(788 / 1040 * 100vw);
      padding: calc(7 / 1040 * 100vw);
      font-size: 12px;
      line-height: 1.4; } }
  @media only screen and (min-width: 1040px) {
    .covid-note {
      margin: 41px auto 0;
      width: 788px;
      padding: 7px;
      font-size: 14px; } }

/*ナビゲーション*/
.navi--inner {
  margin: 6.25vw auto 0;
  width: 84.687vw;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  @media only screen and (min-width: 769px) {
    .navi--inner {
      margin: calc(33 / 1040 * 100vw) auto 0;
      width: calc(950 / 1040 * 100vw); } }
  @media only screen and (min-width: 1040px) {
    .navi--inner {
      margin: 33px auto 0;
      width: 950px;
      flex-wrap: nowrap; } }
  .navi--inner li {
    width: 28.125vw;
    margin-bottom: 6.1vw; }
    @media only screen and (min-width: 1040px) {
      .navi--inner li {
        margin-bottom: 0; } }
    @media only screen and (min-width: 769px) {
      .navi--inner li:nth-child(1) {
        width: calc(154 / 1040 * 100vw); } }
    @media only screen and (min-width: 1040px) {
      .navi--inner li:nth-child(1) {
        width: 154px; } }
    @media only screen and (min-width: 769px) {
      .navi--inner li:nth-child(2), .navi--inner li:nth-child(3) {
        width: calc(161 / 1040 * 100vw); } }
    @media only screen and (min-width: 1040px) {
      .navi--inner li:nth-child(2), .navi--inner li:nth-child(3) {
        width: 161px; } }
    @media only screen and (min-width: 769px) {
      .navi--inner li:nth-child(4) {
        width: calc(160 / 1040 * 100vw); } }
    @media only screen and (min-width: 1040px) {
      .navi--inner li:nth-child(4) {
        width: 160px; } }
    @media only screen and (min-width: 769px) {
      .navi--inner li:nth-child(5) {
        width: calc(162 / 1040 * 100vw); } }
    @media only screen and (min-width: 1040px) {
      .navi--inner li:nth-child(5) {
        width: 162px; } }
    @media only screen and (min-width: 769px) {
      .navi--inner li:nth-child(6) {
        width: calc(152 / 1040 * 100vw); } }
    @media only screen and (min-width: 1040px) {
      .navi--inner li:nth-child(6) {
        width: 152px; } }

/*応募方法*/
.method {
  margin: 0 auto; }
  @media only screen and (min-width: 769px) {
    .method {
      margin: calc(54 / 1040 * 100vw) auto 0; } }
  @media only screen and (min-width: 1040px) {
    .method {
      margin: 54px auto 0; } }
  .method--inner__title {
    width: 84.687vw;
    margin: 0 auto; }
    @media only screen and (min-width: 769px) {
      .method--inner__title {
        width: calc(960 / 1040 * 100vw); } }
    @media only screen and (min-width: 1040px) {
      .method--inner__title {
        width: 960px; } }
  .method--inner__lead {
    width: 83.906vw;
    margin: 8.437vw auto 0; }
    @media only screen and (min-width: 769px) {
      .method--inner__lead {
        width: calc(642 / 1040 * 100vw);
        margin: calc(58 / 1040 * 100vw) auto 0; } }
    @media only screen and (min-width: 1040px) {
      .method--inner__lead {
        width: 642px;
        margin: 58px auto 0; } }
  .method--inner__flow {
    width: 83.75vw;
    margin: 2.18vw auto 0; }
    @media only screen and (min-width: 769px) {
      .method--inner__flow {
        width: calc(914 / 1040 * 100vw);
        margin: calc(35 / 1040 * 100vw) auto 0; } }
    @media only screen and (min-width: 1040px) {
      .method--inner__flow {
        width: 914px;
        margin: 35px auto 0; } }
  .method--inner__note {
    width: 84.68vw;
    margin: 7.34vw auto 0;
    border: 1px solid #acacac;
    text-align: center;
    padding: 1em;
    font-size: 10px;
    line-height: 1.5; }
    @media only screen and (min-width: 769px) {
      .method--inner__note {
        width: calc(826 / 1040 * 100vw);
        margin: calc(25 / 1040 * 100vw) auto 0;
        font-size: 12px; } }
    @media only screen and (min-width: 1040px) {
      .method--inner__note {
        width: 826px;
        margin: 25px auto 0;
        font-size: 13px; } }

/*スタンプ地点*/
.stamp {
  margin: 12.5vw auto 0; }
  @media only screen and (min-width: 769px) {
    .stamp {
      margin: calc(25 / 1040 * 100vw) auto 0; } }
  @media only screen and (min-width: 1040px) {
    .stamp {
      margin: 25px auto 0; } }
  .stamp--inner__title {
    width: 84.687vw;
    margin: 0 auto; }
    @media only screen and (min-width: 769px) {
      .stamp--inner__title {
        width: calc(960 / 1040 * 100vw); } }
    @media only screen and (min-width: 1040px) {
      .stamp--inner__title {
        width: 960px; } }
  .stamp--inner__map {
    margin: 7vw auto 0;
    width: 82.187vw; }
    @media only screen and (min-width: 769px) {
      .stamp--inner__map {
        margin: calc(38 / 1040 * 100vw) auto 0;
        width: calc(719 / 1040 * 100vw); } }
    @media only screen and (min-width: 1040px) {
      .stamp--inner__map {
        margin: 38px auto 0;
        width: 719px; } }
  .stamp--inner__note {
    width: 84.68vw;
    margin: 0 auto;
    border: 1px solid #acacac;
    text-align: center;
    padding: 1em;
    font-size: 10px;
    line-height: 1.5; }
    @media only screen and (min-width: 769px) {
      .stamp--inner__note {
        width: calc(826 / 1040 * 100vw);
        margin: calc(18 / 1040 * 100vw) auto 0;
        font-size: 12px; } }
    @media only screen and (min-width: 1040px) {
      .stamp--inner__note {
        width: 826px;
        margin: 18px auto 0;
        font-size: 13px; } }

/*キャンペーン期間*/
.period {
  margin: 12vw auto 0; }
  @media only screen and (min-width: 769px) {
    .period {
      margin: calc(66 / 1040 * 100vw) auto 0; } }
  @media only screen and (min-width: 1040px) {
    .period {
      margin: 66px auto 0; } }
  .period--inner__title {
    width: 84.687vw;
    margin: 0 auto; }
    @media only screen and (min-width: 769px) {
      .period--inner__title {
        width: calc(960 / 1040 * 100vw); } }
    @media only screen and (min-width: 1040px) {
      .period--inner__title {
        width: 960px; } }
  .period--inner__cont {
    margin: 7vw auto 0;
    width: 78.437vw; }
    @media only screen and (min-width: 769px) {
      .period--inner__cont {
        margin: calc(85 / 1040 * 100vw) auto 0;
        width: calc(728 / 1040 * 100vw); } }
    @media only screen and (min-width: 1040px) {
      .period--inner__cont {
        margin: 85px auto 0;
        width: 728px; } }

/*クオ・カード ペイ*/
.prize {
  margin: 10.5vw auto 0; }
  @media only screen and (min-width: 769px) {
    .prize {
      margin: calc(116 / 1040 * 100vw) auto 0; } }
  @media only screen and (min-width: 1040px) {
    .prize {
      margin: 116px auto 0;
      background: url("../img/bg02_pc.png") no-repeat;
      background-position: top center;
      background-size: auto; } }
  .prize--inner__title {
    width: 84.687vw;
    margin: 0 auto; }
    @media only screen and (min-width: 769px) {
      .prize--inner__title {
        width: calc(960 / 1040 * 100vw); } }
    @media only screen and (min-width: 1040px) {
      .prize--inner__title {
        width: 960px; } }
  .prize--inner__quopay {
    margin: 8.59vw auto 0;
    width: 82.5vw; }
    @media only screen and (min-width: 769px) {
      .prize--inner__quopay {
        margin: calc(85 / 1040 * 100vw) auto 0;
        width: calc(768 / 1040 * 100vw); } }
    @media only screen and (min-width: 1040px) {
      .prize--inner__quopay {
        margin: 85px auto 0;
        width: 768px; } }
  .prize--inner__point {
    margin: 9.375vw auto 0;
    width: 78.9vw; }
    @media only screen and (min-width: 769px) {
      .prize--inner__point {
        margin: calc(35 / 1040 * 100vw) auto 0;
        width: calc(666 / 1040 * 100vw); } }
    @media only screen and (min-width: 1040px) {
      .prize--inner__point {
        margin: 35px auto 0;
        width: 666px; } }
  .prize--inner__note {
    margin: 7.8vw auto 0;
    width: 88.375vw; }
    @media only screen and (min-width: 769px) {
      .prize--inner__note {
        margin: calc(35 / 1040 * 100vw) auto 0;
        width: calc(800 / 1040 * 100vw); } }
    @media only screen and (min-width: 1040px) {
      .prize--inner__note {
        margin: 35px auto 0;
        width: 800px; } }
    .prize--inner__note p {
      font-size: 10px;
      line-height: 1.5;
      padding-left: 1em;
      text-indent: -1em; }
      @media only screen and (min-width: 769px) {
        .prize--inner__note p {
          font-size: 12px;
          text-align: center;
          padding-left: 0;
          text-indent: 0; } }
      @media only screen and (min-width: 1040px) {
        .prize--inner__note p {
          font-size: 13px; } }
  .prize--inner__chance {
    margin: 6.25vw auto 0;
    width: 84.375vw; }
    @media only screen and (min-width: 769px) {
      .prize--inner__chance {
        margin: calc(15 / 1040 * 100vw) auto 0;
        width: calc(800 / 1040 * 100vw); } }
    @media only screen and (min-width: 1040px) {
      .prize--inner__chance {
        margin: 15px auto 0;
        width: 800px; } }
  .prize--inner__ex {
    margin: 6.25vw auto 0;
    width: 84.375vw; }
    @media only screen and (min-width: 769px) {
      .prize--inner__ex {
        margin: calc(15 / 1040 * 100vw) auto 0;
        width: calc(805 / 1040 * 100vw); } }
    @media only screen and (min-width: 1040px) {
      .prize--inner__ex {
        margin: 15px auto 0;
        width: 805px; } }

/*規約・注意事項*/
.terms {
  margin: 10.5vw auto 0; }
  @media only screen and (min-width: 769px) {
    .terms {
      margin: calc(116 / 1040 * 100vw) auto 0; } }
  @media only screen and (min-width: 1040px) {
    .terms {
      margin: 116px auto 0; } }
  .terms--inner__title {
    width: 84.687vw;
    margin: 0 auto; }
    @media only screen and (min-width: 769px) {
      .terms--inner__title {
        width: calc(960 / 1040 * 100vw); } }
    @media only screen and (min-width: 1040px) {
      .terms--inner__title {
        width: 960px; } }
  .terms--inner__cont {
    width: 84.375vw;
    height: 75vw;
    overflow-y: auto;
    margin: 10.15vw auto 0;
    padding: 2vw;
    background-color: #fff; }
    @media only screen and (min-width: 769px) {
      .terms--inner__cont {
        width: calc(764 / 1040 * 100vw);
        height: calc(480 / 1040 * 100vw);
        margin: calc(65 / 1040 * 100vw) auto 0;
        padding: calc(10 / 1040 * 100vw); } }
    @media only screen and (min-width: 1040px) {
      .terms--inner__cont {
        width: 764px;
        height: 480px;
        margin: 65px auto 0;
        padding: 10px; } }
    .terms--inner__cont h3 {
      font-size: 14px;
      margin-top: 1.5em;
      line-height: 1.2; }
      @media only screen and (min-width: 769px) {
        .terms--inner__cont h3 {
          font-size: 13px; } }
      @media only screen and (min-width: 1040px) {
        .terms--inner__cont h3 {
          font-size: 14px; } }
      .terms--inner__cont h3:first-child {
        margin-top: 0; }
    .terms--inner__cont p, .terms--inner__cont li {
      font-size: 11px;
      line-height: 1.4;
      margin-top: 0.85em; }
      @media only screen and (min-width: 769px) {
        .terms--inner__cont p, .terms--inner__cont li {
          font-size: 12px; } }
      @media only screen and (min-width: 1040px) {
        .terms--inner__cont p, .terms--inner__cont li {
          font-size: 13px; } }
    .terms--inner__cont .note, .terms--inner__cont .ind {
      padding-left: 1em;
      text-indent: -1em; }
    .terms--inner__cont ul.list {
      padding-left: 1em;
      text-indent: -0.5em; }
  .terms--inner__entry {
    margin: 6.25vw auto 0;
    width: 84.375vw; }
    @media only screen and (min-width: 769px) {
      .terms--inner__entry {
        margin: calc(72 / 1040 * 100vw) auto 0;
        width: calc(748 / 1040 * 100vw); } }
    @media only screen and (min-width: 1040px) {
      .terms--inner__entry {
        margin: 72px auto 0;
        width: 748px; } }

/*お問い合わせ先*/
.contact {
  margin: 10.5vw auto 0; }
  @media only screen and (min-width: 769px) {
    .contact {
      margin: calc(116 / 1040 * 100vw) auto 0; } }
  @media only screen and (min-width: 1040px) {
    .contact {
      margin: 116px auto 0; } }
  .contact--inner__title {
    width: 84.687vw;
    margin: 0 auto; }
    @media only screen and (min-width: 769px) {
      .contact--inner__title {
        width: calc(960 / 1040 * 100vw); } }
    @media only screen and (min-width: 1040px) {
      .contact--inner__title {
        width: 960px; } }
  .contact--inner__subtitle {
    margin: 4.53vw auto 0;
    width: 40vw; }
    @media only screen and (min-width: 769px) {
      .contact--inner__subtitle {
        margin: calc(82 / 1040 * 100vw) auto 0;
        width: calc(198 / 1040 * 100vw); } }
    @media only screen and (min-width: 1040px) {
      .contact--inner__subtitle {
        margin: 82px auto 0;
        width: 198px; } }
  .contact--inner__telno {
    margin: 4vw auto 0;
    width: 60.468vw; }
    @media only screen and (min-width: 769px) {
      .contact--inner__telno {
        margin: calc(17 / 1040 * 100vw) auto 0;
        width: calc(315 / 1040 * 100vw); } }
    @media only screen and (min-width: 1040px) {
      .contact--inner__telno {
        margin: 17px auto 0;
        width: 315px; } }
  .contact--inner__time {
    margin: 4.687vw auto 0;
    font-size: 3vw;
    text-align: center; }
    @media only screen and (min-width: 769px) {
      .contact--inner__time {
        margin: calc(20 / 1040 * 100vw) auto 0;
        font-size: 13px; } }
    @media only screen and (min-width: 1040px) {
      .contact--inner__time {
        margin: 20px auto 0;
        font-size: 14px; } }
  .contact--inner__note {
    margin: 5.937vw auto 0;
    width: 84.375vw;
    font-size: 11px;
    line-height: 1.6; }
    @media only screen and (min-width: 769px) {
      .contact--inner__note {
        margin: calc(38 / 1040 * 100vw) auto 0;
        width: calc(615 / 1040 * 100vw);
        font-size: 12px; } }
    @media only screen and (min-width: 1040px) {
      .contact--inner__note {
        margin: 38px auto 0;
        width: 615px;
        font-size: 13px; } }
    .contact--inner__note li {
      padding-left: 1em;
      text-indent: -1em; }
  .contact--inner__note_r {
    margin: 5.937vw auto 0;
    width: 84.375vw;
    font-size: 11px;
    line-height: 1.6; }
    @media only screen and (min-width: 769px) {
      .contact--inner__note_r {
        margin: calc(75 / 1040 * 100vw) auto 0;
        width: calc(615 / 1040 * 100vw);
        font-size: 12px;
        text-align: center; } }
    @media only screen and (min-width: 1040px) {
      .contact--inner__note_r {
        margin: 75px auto 0;
        width: 615px;
        font-size: 13px; } }

/*フッター*/
.ptop {
  width: 90vw;
  margin: 7.031vw auto 0;
  text-align: right; }
  @media only screen and (min-width: 769px) {
    .ptop {
      width: calc(960/ 1040 * 100vw);
      margin: calc(36 / 1040 * 100vw) auto 0;
      padding-right: calc(83 / 1040 * 100vw); } }
  @media only screen and (min-width: 1040px) {
    .ptop {
      width: 960px;
      margin: 36px auto 0;
      padding-right: 83px; } }
  .ptop a img {
    width: 20.312vw; }
    @media only screen and (min-width: 769px) {
      .ptop a img {
        width: calc(129 / 1040 * 100vw); } }
    @media only screen and (min-width: 1040px) {
      .ptop a img {
        width: 129px; } }

.footer {
  margin-top: 2.81vw;
  padding: 5.468vw 0;
  background-color: #004990; }
  @media only screen and (min-width: 769px) {
    .footer {
      margin-top: calc(43 / 1040 * 100vw);
      padding: calc(39 / 1040 * 100vw) 0 calc(73 / 1040 * 100vw); } }
  @media only screen and (min-width: 1040px) {
    .footer {
      margin-top: 43px;
      padding: 39px 0 73px; } }
  .footer__logo {
    margin: 0 auto;
    width: 25.937vw; }
    @media only screen and (min-width: 769px) {
      .footer__logo {
        width: calc(286 / 1040 * 100vw); } }
    @media only screen and (min-width: 1040px) {
      .footer__logo {
        width: 286px; } }
  .footer__copyright {
    margin: 9.375vw auto 0;
    text-align: center;
    font-size: 10px;
    color: #fff; }
    @media only screen and (min-width: 769px) {
      .footer__copyright {
        margin: calc(93 / 1040 * 100vw) auto 0; } }
    @media only screen and (min-width: 1040px) {
      .footer__copyright {
        margin: 93px auto 0; } }
