/*.receipt_main_title_area {
  text-align: center;
  padding-top: var(--space-l);
  padding-bottom: var(--space-l);
  img {
    max-width: 560px;
    margin: auto;
  }
}*/

.receipt_digital_point {
  padding-top: var(--space-l);
  img:not(.external_link) {
    margin: auto;
    max-width: 100%;
  }
  .receipt_digital_point_course {
    margin: var(--space-l) 0;
    ul {
      display: flex;
      list-style: none;
      li {
        width: calc((100% - (var(--space-m) * 2)) / 3);
        margin-right: var(--space-m);
        &:last-child {
          margin-right: 0;
        }
      }
    }
  }
  .digital_point_note {
    margin-top: var(--space-l);
    text-align: center;
    p {
      padding-bottom: var(--space-s);
    }
    a {
      font-size: var(--fs-l);
      letter-spacing: -0.03em;
    }
  }
}
.bg_receipt_ouen {
  background-image: url(../images/receipt/receipt_ouen_title_bg_lg.png);
  background-repeat: repeat-x;
  background-size: contain;
  img {
    margin: auto;
  }
}
.receipt_slider {
  padding: var(--space-ll) 0;
  article {
    background-color: var(--color-partner);
  }
}
/* 応援店動画用モーダル*/
.modal-overlay {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: none;
  padding: 24px;
}
.modal-overlay.is-open {
  display: flex;
}

/* モーダル */
#modal_video01,
#modal_video02,
#modal_video03,
#modal_video04,
#modal_video05,
#modal_video06,
#modal_video07,
#modal_video08,
#modal_video09,
#modal_video10 {
  align-items: center;
  justify-content: center;
  background: rgba(17, 13, 26, 0.56);
}
#modal_video01.is-closing,
#modal_video02.is-closing,
#modal_video03.is-closing,
#modal_video04.is-closing,
#modal_video05.is-closing,
#modal_video06.is-closing,
#modal_video07.is-closing,
#modal_video08.is-closing,
#modal_video09.is-closing,
#modal_video10.is-closing {
  animation: overlay-out 260ms ease-in forwards;
}
#modal_video01 .modal,
#modal_video02 .modal,
#modal_video03 .modal,
#modal_video04 .modal,
#modal_video05 .modal,
#modal_video06 .modal,
#modal_video07 .modal,
#modal_video08 .modal,
#modal_video09 .modal,
#modal_video10 .modal {
  position: relative;
  z-index: 1;
  width: min(450px, 100%);
  padding: 0;
  border-radius: 20px;
  background: #fff;
  animation: fade 260ms ease-out;
  max-height: 100%;
}
#modal_video01.is-closing .modal,
#modal_video02.is-closing .modal,
#modal_video03.is-closing .modal,
#modal_video04.is-closing .modal,
#modal_video05.is-closing .modal,
#modal_video06.is-closing .modal,
#modal_video07.is-closing .modal,
#modal_video08.is-closing .modal,
#modal_video09.is-closing .modal,
#modal_video10.is-closing .modal {
  animation: fade 260ms ease-in forwards;
}
#modal_video01 .modal__close,
#modal_video02 .modal__close,
#modal_video03 .modal__close,
#modal_video04 .modal__close,
#modal_video05 .modal__close,
#modal_video06 .modal__close,
#modal_video07 .modal__close,
#modal_video08 .modal__close,
#modal_video09 .modal__close,
#modal_video10 .modal__close {
  z-index: 1000;
}

@keyframes overlay-out {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes fade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes zoom {
  from {
    opacity: 0;
    transform: scale(0.92);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes slide-up {
  from {
    opacity: 0;
    transform: translateY(28px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes slide-down {
  from {
    opacity: 0;
    transform: translateY(-28px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.receipt_slides {
  color: var(--color-white);
  background-color: var(--color-partner);
  display: flex;
  flex-direction: column;
  align-items: stretch;
  flex-grow: 1;
  position: relative;
  .receipt_slides_area {
    position: absolute;
    top: 5px;
    left: 5px;
    padding: 0 8px;
    font-size: var(--fs-ss);
    &.hokkaido {
      background-color: #408acc;
    }
    &.tohoku {
      background-color: #46baeb;
    }
    &.chubu {
      background-color: #99cd55;
    }
    &.kanto {
      background-color: #7cd1cc;
    }
    &.kinki {
      background-color: #fbd73a;
    }
    &.chugoku,
    &.chu-shikoku {
      background-color: #ffab33;
    }
    &.shikoku {
      background-color: #f58260;
    }
    &.kyusyu {
      background-color: #ff655a;
    }
    &.net,
    &.wide-area {
      background-color: #9770a5;
    }
  }
  .receipt_slides_bottom {
    padding: var(--space-s);
    font-size: var(--fs-ss);
    div {
      display: flex;
      justify-content: space-between;
      align-items: center;
      img {
        max-width: 8px;
        height: 100%;
      }
    }
  }
}
.receipt_ouen_btn {
  margin: var(--space-l) auto;
  width: 48.57%;
}

.receipt_ouen_outline {
  position: relative;
  .receipt_ouen_outline_top {
    display: flex;
    align-items: stretch;
    div {
      width: calc(100% - var(--space-m) / 2);
      margin-right: var(--space-m);
      &:last-child {
        margin-right: 0;
      }
    }
    .receipt_ouen_text {
      padding: var(--space-m);
      background-color: var(--color-white);
      border-radius: 20px;
      p {
        font-size: var(--fs-s);
        padding: var(--space-s) 0;
      }
    }
    .receipt_ouen_map {
      width: 100%;
      height: auto;
      max-width: 100%;
      border-radius: 20px;
      background-color: var(--color-white);
      padding: var(--space-ss);
    }
  }
  .receipt_ouen_outline_bottom {
    margin-top: var(--space-m);
    padding: var(--space-m);
    border-radius: 20px;
    background-color: var(--color-white);
    .partner_text {
      img {
        max-width: 406px;
        margin: auto;
      }
    }
    .partner_logo {
      display: flex;
      flex-wrap: wrap;
      gap: var(--space-ss);
      margin-top: var(--space-m);
      a {
        width: auto;
        flex: 0 1 calc((100% - (var(--space-ss) * 11)) / 12);
      }
      a.nolink {
        cursor: default;
        &:hover {
          opacity: 1;
        }
      }
    }
  }
}

.receipt_apply_area {
  padding: var(--space-ll) 0;
}
.receipt_apply_title {
  margin: 0 auto;
  max-width: 310px;
}
.receipt_how_to {
  margin: var(--space-m) 0;
}

.receipt_how_to_note {
  margin-top: var(--space-l);
  text-align: center;
  p {
    padding-bottom: var(--space-s);
  }
  a {
    font-size: var(--fs-l);
    letter-spacing: -0.03em;
  }
}
.category_sub_title {
  width: 100%;
  margin-top: var(--space-l);
  padding: var(--space-ss) 0;
  text-align: center;
  font-size: var(--fs-ll);
  font-weight: bold;
  border-top: 2px dotted var(--color-line);
  border-bottom: 2px dotted var(--color-line);
}

.apply_outline {
  position: relative;
  margin-top: var(--space-m);
  .apply_outline_inner {
    display: flex;
    justify-content: space-between;
    .apply_outline_inner_left {
      margin-right: var(--space-s);
    }
    .apply_outline_inner_right {
      max-width: 182px;
    }
  }
  h4 {
    line-height: normal;
  }
  p {
    margin-top: var(--space-ss);
  }
}
.apply_text {
  margin-top: var(--space-m);
  padding-top: var(--space-m);
  border-top: 1px solid var(--color-line);
  p {
    font-size: var(--fs-s);
    span {
      font-weight: bold;
    }
  }
}

.receipt_apply_course {
  margin: var(--space-l) 0 0;
  ul {
    display: flex;
    list-style: none;
    li {
      width: calc((100% - (var(--space-m) * 2)) / 3);
      margin-right: var(--space-m);
      &:last-child {
        margin-right: 0;
      }
    }
  }
}

@media screen and (max-width: 999px) {
  .main_title_area {
    padding-bottom: 0;
  }
}

@media screen and (max-width: 767px) {
  .receipt_main_title_area {
    img {
      max-width: 100%;
    }
  }
  .receipt_digital_point {
    padding: var(--space-m) 0;
    .receipt_digital_point_course {
      margin: var(--space-m) 0;
      ul {
        flex-direction: column;
        li {
          width: 100%;
          margin-right: 0;
          margin-bottom: var(--space-s);
          &:last-child {
            margin-bottom: 0;
          }
        }
      }
    }
    .digital_point_note {
      text-align: left;
    }
  }

  .receipt_ouen_btn {
    margin: var(--space-m) auto;
    width: 100%;
  }

  .receipt_ouen_outline {
    .receipt_ouen_outline_top {
      flex-direction: column;
      div {
        width: 100%;
        margin-right: 0;
        &:last-child {
          margin-bottom: 0;
        }
      }
    }
    .receipt_ouen_outline_bottom {
      .partner_logo {
        gap: var(--space-ss);
        a {
          flex: 0 1 calc((100% - (var(--space-ss) * 7)) / 8);
        }
      }
    }
  }
  .receipt_ouen_text {
    margin-bottom: var(--space-m);
  }

  .receipt_how_to {
    margin: var(--space-m) 0 0;
  }

  .receipt_how_to_note {
    text-align: left;
  }

  .category_sub_title {
    font-size: var(--fs-l);
  }

  .apply {
    .apply_img {
      max-width: 460px;
    }
    .apply_note {
      p {
        text-align: left;
      }
    }
  }

  .apply_outline {
    position: relative;
    margin-top: var(--space-m);
    .apply_outline_inner {
      flex-direction: column-reverse;
      justify-content: flex-start;
      .apply_outline_inner_left {
        margin-right: 0;
      }
      .apply_outline_inner_right {
        margin: 0 auto var(--space-ms);
      }
    }
  }

  .receipt_apply_course {
    margin: var(--space-l) 0 0;
    ul {
      flex-direction: column;
      li {
        width: 100%;
        margin-right: 0;
        margin-bottom: var(--space-m);
        &:last-child {
          margin-bottom: 0;
        }
      }
    }
  }
}

@media screen and (max-width: 480px) {
  .receipt_digital_point {
    .digital_point_note {
      margin-top: var(--space-m);
    }
  }
  .receipt_slider {
    padding: var(--space-m) 0;
  }
  .receipt_apply_area {
    padding: var(--space-m) 0;
  }

  .receipt_ouen_outline {
    .receipt_ouen_outline_bottom {
      .partner_text {
        img {
          max-width: 100%;
        }
      }
      .partner_logo {
        gap: var(--space-s);
        a {
          flex: 0 1 calc((100% - (var(--space-s) * 3)) / 4);
        }
      }
    }
  }
}
