@charset "UTF-8";
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 {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

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

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

body {
  word-break: break-all; }

button {
  background-color: transparent;
  border: 0 none;
  padding: 0;
  line-height: 1;
  cursor: pointer; }

main {
  display: block; }

input {
  border: 0 none; }

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

select {
  line-height: 1; }

select::-moz-focus-inner {
  border: 0;
  outline: 0; }

body {
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "Lucida Grande", "segoe UI", Meiryo, "メイリオ", "游ゴシック", "Yu Gothic", Verdana, Arial, sans-serif;
  color: #333; }

.container {
  box-sizing: border-box;
  margin: 0 auto;
  max-width: 375px;
  padding: 0 10px; }
  @media screen and (min-width: 1000px) {
    .container {
      max-width: 1000px;
      padding: 0 20px; } }
  .container--small {
    padding: 0 25px; }
    @media screen and (min-width: 1000px) {
      .container--small {
        padding: 0 20px; } }
  .container--no-padding {
    padding: 0; }
    @media screen and (min-width: 1000px) {
      .container--no-padding {
        padding: 0; } }

.text-block {
  display: inline-block;
  text-align: left; }

.wrap {
  display: block; }

.sp-wrap {
  display: block; }
  @media screen and (min-width: 1000px) {
    .sp-wrap {
      display: inline; } }

.pc-wrap {
  display: inline; }
  @media screen and (min-width: 1000px) {
    .pc-wrap {
      display: block; } }

.serif {
  font-family: "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Sawarabi Mincho", serif; }

@media screen and (min-width: 1000px) {
  .sp-content {
    display: none; } }

.pc-content {
  display: none; }
  @media screen and (min-width: 1000px) {
    .pc-content {
      display: block; } }

.hover {
  -webkit-transition: opacity .2s;
  transition: opacity .2s; }
  .hover:hover {
    opacity: .7; }

.link-text {
  text-decoration: none;
  color: #369;
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none; }

.img-block {
  line-height: 0;
  text-align: center;
  font-size: 0; }

.btn-block {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
          justify-content: center; }
  .btn-block__btn {
    -webkit-box-flex: 0;
            flex: 0 1 auto; }
    .btn-block__btn img {
      width: 100%; }

.f-copyright-wrapper {
  background-color: #fff; }

.f-copyright {
  border-top: 1px solid #e7e7e7;
  padding: 10px 0; }
  @media screen and (min-width: 1000px) {
    .f-copyright {
      -webkit-box-align: center;
              align-items: center;
      display: -webkit-box;
      display: flex;
      -webkit-box-pack: center;
              justify-content: center;
      padding: 20px 0; } }
  .f-copyright__img {
    display: block;
    text-align: center;
    margin-bottom: 9px; }
    @media screen and (min-width: 1000px) {
      .f-copyright__img {
        margin-bottom: 0;
        -webkit-box-flex: 0;
                flex: 0 0 30px;
        max-width: 30px;
        margin-right: 5px; } }
  .f-copyright__text > p {
    line-height: 1.6;
    margin: -0.3em 0;
    text-align: center;
    color: #333;
    font-size: 10px;
    text-align: center; }
    @media screen and (min-width: 1000px) {
      .f-copyright__text > p {
        text-align: left;
        font-size: 14px; } }

.header-content__logo > p {
  padding: 7.5px 0; }
  @media screen and (min-width: 1000px) {
    .header-content__logo > p {
      padding: 10px 0 15px; } }
  .header-content__logo > p > a {
    display: inline-block; }

.header-content__banner > p {
  text-align: center; }

picture.is-loading, img.is-loading {
  opacity: 0; }

picture.is-loaded, img.is-loaded {
  opacity: 1;
  -webkit-transition: opacity .4s;
  transition: opacity .4s; }

.shopping-btn {
  display: block;
  text-decoration: none;
  font-size: 18px;
  color: #fff;
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
          align-items: center;
  font-weight: bold;
  background: #f93099;
  height: 55px;
  box-sizing: border-box;
  -webkit-box-pack: center;
          justify-content: center;
  max-width: 600px;
  margin: 0 auto;
  border-radius: 27.5px; }
  @media screen and (min-width: 1000px) {
    .shopping-btn {
      height: 110px;
      border-radius: 55px;
      font-size: 35px;
      padding-right: 30px;
      position: relative; }
      .shopping-btn::after {
        display: block;
        content: "\f054";
        font-family: "Font Awesome 5 Free";
        font-weight: 700;
        font-size: 35px;
        margin-left: .5em;
        position: absolute;
        right: 30px;
        top: 0;
        bottom: 0;
        margin: auto 0;
        height: 1em; } }
  .shopping-btn__icon {
    margin-right: .25em; }

.content {
  background: #e0fbff;
  padding: 8px 0 50px; }
  .separator--content:first-child .content {
    background: #ff6; }
  @media screen and (min-width: 1000px) {
    .content {
      padding: 40px 0 80px; } }
  .content__head {
    margin-bottom: 10px; }
    @media screen and (min-width: 1000px) {
      .content__head {
        margin-bottom: 30px; } }

.coupon__catch {
  margin-bottom: 20px; }
  @media screen and (min-width: 1000px) {
    .coupon__catch {
      margin-bottom: 55px; } }

.coupon__premium {
  margin-bottom: 25px; }
  @media screen and (min-width: 1000px) {
    .coupon__premium {
      margin-bottom: 50px; } }

.coupon__premium-wrapper {
  margin: 0 -2px; }
  @media screen and (min-width: 1000px) {
    .coupon__premium-wrapper {
      margin: 0; } }

.coupon-catch__text {
  display: block;
  font-weight: bold;
  text-align: center;
  font-size: 11px; }
  @media screen and (min-width: 1000px) {
    .coupon-catch__text {
      font-size: 30px; } }
  .coupon-catch__text:not(:last-child) {
    margin-bottom: 10px; }
    @media screen and (min-width: 1000px) {
      .coupon-catch__text:not(:last-child) {
        margin-bottom: 30px; } }

.mv {
  background: #ff6; }

.mv-img {
  overflow: hidden; }
  .mv-img .keep-ratio {
    display: block;
    position: relative;
    width: 100%; }
    .mv-img .keep-ratio::before {
      content: "";
      display: block;
      padding-top: 51.0666666667%; }
    .mv-img .keep-ratio__content {
      position: absolute;
      top: 0;
      left: 0;
      bottom: 0;
      right: 0; }
  @media screen and (min-width: 1000px) {
    .mv-img .keep-ratio {
      display: block;
      position: relative;
      width: 100%; }
      .mv-img .keep-ratio::before {
        content: "";
        display: block;
        padding-top: 51%; }
      .mv-img .keep-ratio__content {
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0;
        right: 0; } }
  @media screen and (min-width: 1000px) {
    .mv-img__content {
      height: 100%;
      width: 200%;
      margin: 0 -50%; } }
  .mv-img__content img {
    vertical-align: bottom; }

.mv-date {
  padding: 5px 0;
  background: #d4000f; }
  @media screen and (min-width: 1000px) {
    .mv-date {
      padding: 15px 0; } }
  .mv-date__body {
    color: #fff;
    font-size: 15px;
    font-weight: bold;
    text-align: center; }
    @media screen and (min-width: 1000px) {
      .mv-date__body {
        font-size: 40px; } }

.pick-up__catch {
  margin-bottom: 13px; }
  @media screen and (min-width: 1000px) {
    .pick-up__catch {
      margin-bottom: 50px; } }

.pick-up-catch {
  font-size: 12px;
  text-align: center;
  font-weight: bold; }
  @media screen and (min-width: 1000px) {
    .pick-up-catch {
      font-size: 24px; } }
  .pick-up-catch .text-box {
    margin: calc((1.6em - 1em) / 2 * -1) 0;
    line-height: 1.6em; }
  .pick-up-catch .strong {
    color: #ff5fa0; }

.pick-up-list__dow {
  margin-bottom: 4px; }
  @media screen and (min-width: 1000px) {
    .pick-up-list__dow {
      margin-bottom: 7px; } }

.pick-up-list__days {
  margin-bottom: 10px; }
  @media screen and (min-width: 1000px) {
    .pick-up-list__days {
      margin-bottom: 20px; } }

.pick-up-list__item:not(:last-child) {
  margin-bottom: 20px; }
  @media screen and (min-width: 1000px) {
    .pick-up-list__item:not(:last-child) {
      margin-bottom: 30px; } }

.pick-up-list__separator {
  margin-top: 20px; }
  @media screen and (min-width: 1000px) {
    .pick-up-list__separator {
      margin-top: 40px; } }
  .pick-up-list__item:last-child .pick-up-list__separator {
    display: none; }

.banner-list__item {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
          justify-content: center; }
  .banner-list__item:not(:last-child) {
    margin-bottom: 15px; }
    @media screen and (min-width: 1000px) {
      .banner-list__item:not(:last-child) {
        margin-bottom: 30px; } }

.banner-list__link {
  display: block; }

.premium {
  border: 4px #dfbf63 solid;
  background: #fff;
  overflow: hidden;
  border-radius: 11px;
  padding: 15px 15px 25px; }
  @media screen and (min-width: 1000px) {
    .premium {
      border-width: 8px;
      border-radius: 22px;
      padding: 35px 40px 50px; } }
  .premium__head {
    margin-bottom: 11px; }
    @media screen and (min-width: 1000px) {
      .premium__head {
        margin-bottom: 30px; } }
  .premium__table {
    margin-bottom: 11px; }
    @media screen and (min-width: 1000px) {
      .premium__table {
        margin-bottom: 30px; } }
  .premium__baloon {
    margin-bottom: 15px; }
    @media screen and (min-width: 1000px) {
      .premium__baloon {
        margin-bottom: 40px; } }

.premium-head {
  text-align: center; }
  .premium-head__head {
    display: block;
    margin-bottom: 12px; }
    @media screen and (min-width: 1000px) {
      .premium-head__head {
        margin-bottom: 35px; } }
  .premium-head__text {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: center;
            justify-content: center;
    -webkit-box-align: center;
            align-items: center;
    font-size: 10px;
    font-weight: bold; }
    @media screen and (min-width: 1000px) {
      .premium-head__text {
        font-size: 25px; } }
    .premium-head__text:not(:last-child) {
      margin-bottom: 5px; }
      @media screen and (min-width: 1000px) {
        .premium-head__text:not(:last-child) {
          margin-bottom: 10px; } }
    .premium-head__text .strong {
      font-size: 15px;
      color: #cc0000;
      font-weight: 800; }
      @media screen and (min-width: 1000px) {
        .premium-head__text .strong {
          font-size: 40px; } }

.premium-table {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
          align-items: flex-end; }
  .premium-table__img {
    -webkit-box-flex: 0;
            flex: 0 1 auto; }
    @media screen and (min-width: 1000px) {
      .premium-table__img {
        margin-right: 10px; } }
  .premium-table__list {
    -webkit-box-flex: 1;
            flex: 1 0 auto; }

.premium-coupon-list__item {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
          align-items: center;
  padding: 11px 5px;
  border: #cfaa46 1px;
  border-bottom-style: dotted; }
  @media screen and (min-width: 1000px) {
    .premium-coupon-list__item {
      padding: 30px 10px;
      border-width: 2px; } }
  .premium-coupon-list__item:first-child {
    border-top-style: dotted; }

.premium-coupon-list__item-icon {
  -webkit-box-flex: 0;
          flex: 0 0 auto;
  margin-right: 3px; }
  @media screen and (min-width: 1000px) {
    .premium-coupon-list__item-icon {
      margin-right: 10px; } }

.premium-coupon-list__item-body {
  -webkit-box-flex: 1;
          flex: 1 1 auto; }

.premium-coupon-item {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: baseline;
          align-items: baseline;
  font-weight: bold;
  font-size: 10px; }
  @media screen and (min-width: 1000px) {
    .premium-coupon-item {
      font-size: 25px; } }
  .premium-coupon-item__head, .premium-coupon-item__value {
    display: block;
    white-space: nowrap; }
    .premium-coupon-item__head .strong, .premium-coupon-item__value .strong {
      display: inline-block;
      color: #cc0000;
      font-size: 15px;
      margin-top: -5px; }
      @media screen and (min-width: 1000px) {
        .premium-coupon-item__head .strong, .premium-coupon-item__value .strong {
          font-size: 40px;
          margin-top: -15px; } }
  .premium-coupon-item__head {
    margin-right: .25em; }

.premium-baloon {
  background: #f4dee4;
  padding: 10px 17px;
  height: 95px;
  box-sizing: border-box;
  border-radius: 47.5px;
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-direction: column;
  -webkit-box-pack: center;
          justify-content: center;
  position: relative; }
  @media screen and (min-width: 1000px) {
    .premium-baloon {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
              flex-direction: row;
      -webkit-box-align: center;
              align-items: center;
      -webkit-box-pack: justify;
              justify-content: space-between;
      height: 150px;
      border-radius: 75px;
      padding: 10px 25px;
      padding-right: 45px; } }
  .premium-baloon__text {
    -webkit-box-flex: 0;
            flex: 0 1 auto;
    margin-bottom: 3px; }
    @media screen and (min-width: 1000px) {
      .premium-baloon__text {
        margin-bottom: 0;
        margin-right: 25px; } }
  .premium-baloon__btn, .premium-baloon__code {
    -webkit-box-flex: 0;
            flex: 0 0 auto; }
  .premium-baloon__arrow {
    position: absolute;
    top: -10px;
    left: 21.7054263566%; }
    @media screen and (min-width: 1000px) {
      .premium-baloon__arrow {
        top: -30px;
        left: 21.511627907%; } }

@media screen and (min-width: 1000px) {
  .premium-app {
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
            align-items: center;
    -webkit-box-pack: end;
            justify-content: flex-end;
    padding-right: 45px; } }

@media screen and (min-width: 1000px) {
  .premium-app__left {
    -webkit-box-flex: 0;
            flex: 0 1 auto;
    margin-right: 20px; } }

@media screen and (min-width: 1000px) {
  .premium-app__right {
    -webkit-box-flex: 0;
            flex: 0 0 auto; } }

.premium-app__head {
  margin-bottom: 10px; }
  @media screen and (min-width: 1000px) {
    .premium-app__head {
      margin-bottom: 20px; } }

.premium-app__install {
  margin-bottom: 10px; }

.premium-btn {
  border: #e36c8c 1px solid;
  padding: 1px;
  background: #fff;
  display: block;
  color: #fff;
  text-decoration: none;
  font-weight: bold;
  border-radius: 15px;
  font-size: 14px;
  max-width: 200px;
  margin: 0 auto; }
  .premium-btn__body {
    background: #e36c8c;
    display: -webkit-box;
    display: flex;
    height: 28px;
    border-radius: 14px;
    -webkit-box-align: center;
            align-items: center;
    -webkit-box-pack: center;
            justify-content: center; }
  .premium-btn--install {
    max-width: 275px;
    border-radius: 20px; }
    .premium-btn--install .premium-btn__body {
      height: 38px;
      border-radius: 19px; }

.premium-gold-btn {
  display: block;
  background-image: linear-gradient(80deg, #b98e1d 0%, #dfbf64 10%, #b98e1d 22%, #eed27e 41%, #eed27e 55%, #b98e1d 74%, #dfbf64 88%, #b98e1d 100%);
  height: 23px;
  max-width: 171px;
  border-radius: 11.5px;
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
          justify-content: center;
  -webkit-box-align: center;
          align-items: center;
  color: #fff;
  font-size: 10px;
  text-decoration: none;
  font-weight: bold;
  margin: 0 auto;
  box-sizing: border-box; }
  @media screen and (min-width: 1000px) {
    .premium-gold-btn {
      margin: 0;
      max-width: 342px;
      height: 50px;
      border-radius: 25px;
      font-size: 16px;
      position: relative;
      padding-left: 30px;
      -webkit-box-pack: start;
              justify-content: flex-start; }
      .premium-gold-btn::after {
        display: block;
        content: "\f054";
        font-family: "Font Awesome 5 Free";
        font-weight: 700;
        font-size: 24px;
        margin-left: .5em;
        position: absolute;
        right: 20px;
        top: 0;
        bottom: 0;
        margin: auto 0;
        height: 1em; } }
  .premium-gold-btn .strong {
    font-size: 11px; }
    @media screen and (min-width: 1000px) {
      .premium-gold-btn .strong {
        font-size: 24px; } }

.code-block {
  background: #fff;
  border: #f4dee4 4px solid;
  width: 100px;
  height: 100px;
  padding: 6px;
  border-radius: 10px; }

.coupon-present__head:not(:last-child) {
  margin-bottom: 15px; }
  @media screen and (min-width: 1000px) {
    .coupon-present__head:not(:last-child) {
      margin-bottom: 30px; } }

.coupon-present__detail {
  font-size: 10px; }
  .coupon-present__detail .text-box {
    margin: calc((1.6em - 1em) / 2 * -1) 0;
    line-height: 1.6em; }
  @media screen and (min-width: 1000px) {
    .coupon-present__detail {
      font-size: 14px; } }
  .coupon-present__detail .bold {
    font-weight: bold; }
  .coupon-present__detail:not(:last-child) {
    margin-bottom: 20px; }
    @media screen and (min-width: 1000px) {
      .coupon-present__detail:not(:last-child) {
        margin-bottom: 30px; } }

.coupon-present__notice {
  font-size: 10px; }
  .coupon-present__notice .text-box {
    margin: calc((1.6em - 1em) / 2 * -1) 0;
    line-height: 1.6em; }
  @media screen and (min-width: 1000px) {
    .coupon-present__notice {
      font-size: 14px; } }
  .coupon-present__notice .bold {
    font-weight: bold; }

.coupon-present .icon-align {
  display: -webkit-box;
  display: flex;
  line-height: false;
  margin: calc((false - 1em) / 2 * -1) 0; }
  .coupon-present .icon-align__icon {
    display: block;
    -webkit-box-flex: 0;
            flex: 0 0 1em;
    margin-right: 0.125em;
    width: 1em;
    text-align: center; }
  .coupon-present .icon-align__content {
    display: block;
    -webkit-box-flex: 1;
            flex: 1 1 auto; }

.coupon-present-head {
  background: #efa910;
  font-size: 15px;
  padding: 5px 0;
  color: #fff;
  text-align: center;
  font-weight: bold; }
  @media screen and (min-width: 1000px) {
    .coupon-present-head {
      font-size: 30px;
      padding: 10px 0; } }

.coupon-present-detail__head {
  font-size: 12px;
  font-weight: bold;
  color: #ea8605;
  margin-bottom: 10px; }
  .coupon-present-detail__head .text-box {
    margin: calc((1.6em - 1em) / 2 * -1) 0;
    line-height: 1.6em; }
  @media screen and (min-width: 1000px) {
    .coupon-present-detail__head {
      margin-bottom: 20px;
      font-size: 20px; } }

@media screen and (min-width: 1000px) {
  .coupon-present-detail__body {
    display: -webkit-box;
    display: flex; } }

.coupon-present-detail__section:not(:last-child) {
  margin-bottom: 15px; }
  @media screen and (min-width: 1000px) {
    .coupon-present-detail__section:not(:last-child) {
      margin: 0; } }

@media screen and (min-width: 1000px) {
  .coupon-present-detail__section {
    -webkit-box-flex: 0;
            flex: 0 0 50%;
    max-width: 50%; } }

.detail-table {
  display: block;
  table-layout: auto; }
  .detail-table__head {
    white-space: nowrap;
    text-align: left;
    padding-right: .5em; }
  .detail-table__data {
    width: 100%;
    text-align: left; }

.detail-table-head {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: justify;
          justify-content: space-between; }
  .detail-table-head::after {
    display: block;
    content: ':';
    margin-left: .5em; }

.main {
  padding-bottom: 50px; }
  @media screen and (min-width: 1000px) {
    .main {
      padding-bottom: 100px; } }

.header {
  margin-bottom: 15px; }
  @media screen and (min-width: 1000px) {
    .header {
      margin-bottom: 30px; } }

.separator--content-list:not(:last-child) {
  margin-bottom: 45px; }
  @media screen and (min-width: 1000px) {
    .separator--content-list:not(:last-child) {
      margin-bottom: 100px; } }

.separator--content:not(:last-child) {
  margin-bottom: 20px; }
  @media screen and (min-width: 1000px) {
    .separator--content:not(:last-child) {
      margin-bottom: 40px; } }

.separator--pick-up-link:not(:last-child) {
  margin-bottom: 15px; }
  @media screen and (min-width: 1000px) {
    .separator--pick-up-link:not(:last-child) {
      margin-bottom: 30px; } }
