@charset "UTF-8";
/* css */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

a:link,
a:hover {
  text-decoration: none;
}

ul,
li {
  list-style: none;
  margin: 0;
}

/* begin page */
html, body {
  font-size: 12px;
}

body {
  font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", "Meiryo", "メイリオ", "ＭＳ Ｐゴシック", Osaka, sans-serif;
  line-height: normal;
  overflow-x: hidden;
  width: 100%;
  background-color: #fff;
  color: black;
}

img {
  max-width: 100%;
}

.divider {
  height: 1px;
  width: 96%;
  background-color: #00000080;
  margin: 0 auto;
}

.wrapper {
  margin: 0 auto;
  width: 100%;
  position: relative;
}

.section-ele {
  display: block;
  position: relative;
}

.section-ele .wrapper {
  text-align: center;
}

.section-ele img {
  width: 100%;
  display: inline-block;
}

.link {
  text-decoration: none;
}

.bt-wrapper {
  display: block;
  text-align: center;
}

.bt-kv {
  z-index: 100;
  width: 100%;
  display: flex;
  justify-content: center;
  position: relative;
}

.bt-kv .bt-kv-link {
  width: 50%;
  display: inline-block;
}

.bt-kv .bt-kv-link img {
  width: 100%;
}

.group-scroll .box-scroll-white {
  position: relative;
  display: block;
  padding: 15px;
  padding-top: 4px;
  padding-bottom: 24px;
  padding-right: 8px;
  width: 84.61%;
  margin: 0 auto;
  margin-top: 20px;
  border: 1px solid #fff;
  z-index: 100;
}

.group-scroll .group-text-container {
  position: relative;
  display: block;
  border: solid 2px;
  margin-top: 20px;
  padding: 0px 10px 10px 10px;
}

.group-scroll .bt-wrapper {
  position: relative;
  z-index: 100;
}

.group-scroll .bt-wrapper .bt-close {
  display: block;
  position: absolute;
  right: 7%;
  top: 50%;
  transform: translate(0, -50%);
  width: 50px;
  height: 35px;
  background: url("../../common/images/icon_close.png") center no-repeat;
  background-size: contain;
}

.group-scroll .bt-wrapper .link {
  position: relative;
  display: inline-block;
  letter-spacing: -1px;
  text-decoration: underline;
  font-size: 90%;
}

.group-scroll .group-text {
  display: block;
  position: relative;
  z-index: 100;
  width: 100%;
  overflow: hidden;
  overflow-y: scroll;
  height: auto;
  max-height: 390px;
  padding-right: 35px;
  margin-top: 20px;
  -webkit-overflow-scrolling: touch;
}

.group-scroll .group-text p {
  display: block;
  word-break: break-all;
  font-weight: bold !important;
  text-align: left !important;
  letter-spacing: 0.1em !important;
  padding-bottom: 20px;
  font-size: 75%;
  line-height: 1.48;
}

.scrollbar {
  position: absolute;
  right: 0;
  top: 0;
  width: 20px;
  height: 100%;
  z-index: 1000;
  display: none;
  pointer-events: none;
  background: none;
}

.scrollbar .track {
  width: 1px;
  height: 100%;
  position: absolute;
  z-index: 10;
  left: 50%;
  transform: translate(-50%, 0);
  background-color: #b2b2b2;
}

.scrollbar .thumb {
  position: absolute;
  z-index: 20;
  top: 0;
  left: 4px;
  transform: translate3d(0, 0, 0);
  width: 12px;
  height: 42px;
  border-radius: 6px;
  background-color: #b2b2b2;
}

.campaign-details {
  display: none;
}

#content {
  max-width: 750px;
  overflow: hidden;
  margin: 0 auto;
  display: block;
  font-size: 4.8vmin;
  font-size: 4.8vm;
  background-image: url(../images/bg.jpg);
  background-size: contain;
  min-height: 100vh;
}

@media screen and (min-width: 750px) {
  #content {
    font-size: 35px;
  }
}


#content ::-webkit-scrollbar {
  display: none !important;
}

#content.open .scrollbar {
  display: block;
}

#content.open .bt-wrapper .bt-close {
  display: block;
}

#content #kv .bt-kv {
  position: absolute;
  top: 65%;
  left: 0;
}

#content #kv .campaign-toggle {
  position: absolute;
  height: 16.5%;
  width: 100%;
  bottom: 0;
  cursor: pointer;
  z-index: 100;
}

#content #kv .kv {
  position: relative;
  z-index: 10;
  display: block;
}

#content #kv .kv::after {
  content: "";
  width: 16.5%;
  height: 16.5%;
  position: absolute;
  bottom: 2.5%;
  right: 5%;
  background-image: url(../images/arrow.png);
  background-size: 45%;
  background-repeat: no-repeat;
  background-position: right bottom;
}

#content #kv .kv.open::after {
  transform: rotate(180deg);
  bottom: -2.5%;
  right: -4%;
}

#content #kv .kv .kv-img {
  width: 100%;
  display: block;
}

#content #kv .kv .bt-kv {
  position: absolute;
  display: flex;
  justify-content: center;
  width: 95%;
  height: 17.5%;
  top: 79.6%;
  left: 2.5%;
  text-align: left;
  z-index: 100;
}

#content #kv .kv .bt-kv .bt-kv-link {
  width: 50%;
  display: inline-block;
  position: relative;
}

#content #kv .kv .bt-kv .bt-kv-link a {
  position: absolute;
  z-index: 100;
  width: 98%;
  height: 100%;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  display: block;
}

#content #kv .kv .bt-kv .bt-kv-link:last-child a {
  left: 2%;
}

#content #can {
  position: relative;
  z-index: 100;
}

#content #can .group-scroll {
  margin-top: 10vmin;
  margin-top: 10vm;
}

#content #can .shipping_text {
  width: 80%;
  margin-top: 12px;
}

#content #can p {
  font-size: 35%;
  line-height: 1.48;
  letter-spacing: 0;
}

#content .campaign-link, #content .term-link {
  display: block;
  font-weight: normal;
  color: black;
  text-decoration: underline;
  text-align: center;
  font-size: 90%;
  margin-bottom: 4%;
  letter-spacing: -1px;
}

.hidden-h {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  overflow: hidden;
  display: block;
  pointer-events: none;
}

@media screen and (max-width: 767px) {
  .wrapper {
    max-width: 750px;
  }
}

@media screen and (max-width: 374px) {
  .wrapper {
    max-width: 750px;
  }
}

/* receipt */

#content .receipt {
  color: #000;
  padding: 0 2%;
}

#content .receipt .current-point {
  margin: 3vmin 0;
  margin: 3vm 0;
}

#content .receipt .start-use-point {
  margin: 4% auto 1%;
}

#content .receipt .terms {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 5%;
  margin-bottom: 2%;
}

#content .receipt .terms input[type="checkbox"]{
  width: 4vmin;
  height: 4vmin;
  width: 4vm;
  height: 4vm;
  margin-right: 2%;
}

#content .receipt .receipt-form {
  margin-top: -2%;
  padding: 4% 2% 1%;
  background-color: #ffffff8c;
  border-radius: 5px;
  display: block;
}

#content .receipt .receipt-btn {
  position: relative;
  padding-bottom: 3%;
  line-height: 0;
}

#content .receipt .receipt-content {
  padding: 4%;
  font-size: 83%;
  text-align: left;
  line-height: normal;
  border-top: 0;
  white-space: nowrap;
  display: block;
  background-color: #fff;
  border-radius: 0 0 5px 5px;
}

#content .receipt .receipt-content .histories {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
}

#content .receipt .receipt-content .histories-item {
  flex: 0 0 49%;
}

#content .receipt .receipt-content .histories:not(:last-child) {
  margin-bottom: 2.5rem;
}

#content .receipt .receipt-content select {
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  -o-appearance: none;
  appearance: none;
  background: #fff url("../images/caret.png") no-repeat right !important;
  background-size: 5% !important;
  background-position: 95% 50% !important;
  width: 100%;
  height: 15vw;
  max-height: 100px;
  padding-left: 5%;
  margin-top: 20px;
  font-size: 130%;
  color: #8f8e8e;
  border-radius: 7px;
}

#content .receipt .receipt-content .new-line {
  padding-left: 4.5%;
}

#content .receipt .receipt-content .new-part {
  margin-top: 10px;
}

#content .receipt .receipt-content .notice {
  font-size: 90%;
}

#content .receipt .receipt-btn .submit-btn {
  background: transparent;
  border: none;
  width: 100%;
}

#content .btn-toggle {
  position: relative;
  cursor: pointer;
}

#content .btn-toggle::after {
  content: "";
  background-image: url(../images/arrow.png);
  width: 10%;
  height: 100%;
  right: 3.5%;
  background-repeat: no-repeat;
  background-position: right;
  background-size: 75%;
  position: absolute;
}

#content .btn-toggle.open::after {
  transform: rotate(180deg);
  right: 1%;
}

#content .btn-toggle.btn-toggle__blue::after {
  background-image: url(../images/arrow_blue.png) !important;
  width: 11%;
}
