@charset "UTF-8";
/*
******************************************************************
reset
******************************************************************
*/
html {
  font-size: 62.5%;
}
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, pre,
address,
del, em, img, ins, q,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video, a {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  font-style: normal;
  vertical-align: baseline;
  background: transparent;
}
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}
input, button, textarea, select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
}
input:focus, button:focus, textarea:focus, select:focus {
  outline: none;
}
input, select, textarea {
  border: 1px solid #ccc;
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  vertical-align: middle;
  margin: 0px;
}
input, select {
  vertical-align: middle;
  margin: 0px;
}
input[type=text],
input[type=search],
input[type=number],
input[type=tel],
input[type=email],
input[type=password],
textarea,
select {
  border: 1px solid #ccc;
  min-height: 20px;
  max-width: 90%;
}
textarea {
  border-radius: 5px;
}
select::-ms-expand {
  display: none;
}
body {
  font-size: 1.4rem;
  line-height: 1.6;
  min-width: 320px;
  -webkit-text-size-adjust: none;
}
a {
  text-decoration: none;
}
a:focus {
  outline: none;
}
img {
  max-width: 100%;
  vertical-align: bottom;
}
h1, h2 {
  font-size: 4rem;
  line-height: 1;
}
h3 {
  font-size: 3.3rem;
}
h4 {
  font-size: 1.8rem;
}
p {
  font-size: 1.4rem;
}
ul {
  list-style: none;
}
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}
small {
  font-size: 1.2rem;
}


/*- base -*/
.container {
  background: #D8D8D8;
}
.contents {
  max-width: calc(700em/12);
  margin: 0 auto;
  background: #fff;
}

/*- header -*/
.header {
  width: 92%;
  padding: calc(12em/12) 0;
  margin: 0 auto;
  display: flex;
  align-items: center;
}
.header__logo {
  flex-basis: calc(50em/12);
  max-width: calc(50em/12);
}
.header__title {
  font-size: 1.6rem;
  margin-left: calc(13em/12);
}

/*- main -*/
.mainImg {
  width: 92%;
  margin: 0 auto;
}
.mainImg img {
  height: auto;
  width: 100%;
}
.mainText {
  font-size: 1.6rem;
  font-weight: 600;
  text-align: center;
  padding: calc(12em/12) 0;
}

/*- step -*/
.step {
  padding: calc(35em/12) calc(15em/12);
  margin: 0 4%;
  border-top: 2px solid #D8D8D8;
}
.step__title {
  color: #00C300;
  font-size: 2.4rem;
  text-align: center;
  padding-bottom: calc(7em/12);
}
.step__text {
  font-size: 1.8rem;
  font-weight: 600;
  text-align: center;
  padding-bottom: calc(15em/12);
}
.step__button {
  color: #fff;
  font-weight: 600;
  text-align: center;
  padding: calc(15em/12) calc(15em/12) calc(15em/12) calc(10em/12);
  margin-bottom: calc(17em/12);
  background: #00C300;
  display: block;
  position: relative;
}
.step__button::after{
  content: "";
  width: 6px;
  height: 6px;
  border: 0px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: calc(12em/12);
  margin-top: -4px;
}
.step__note {
  font-size: 1.2rem;
}
.step__noteFirst {
  font-weight: 600;
}
.step__qrCode {
  margin: 0 calc(70em/12);
}
.step__qrCode img {
  height: auto;
  width: 100%;
}
.step__qrCodeText {
  color: #535353;
  font-size: 1.2rem;
  font-weight: 600;
  text-align: center;
}
.step__code {
  padding: calc(15em/12);
  margin-bottom: calc(20em/12);
  background: #FFEC00;
}
.step__codeTitle {
  color: #00C300;
  font-size: 1.4rem;
  text-align: center;
}
.step__codeText {
  font-size: 1.7rem;
  font-weight: 600;
  text-align: center;
}

/*- store -*/
.storeButton {
  padding: calc(35em/12) 4% calc(20em/12) 4%;
  background: #F4F4F4;
}
.storeButton__list {
  padding: 0 calc(20em/12);
  margin-bottom: calc(15em/12);
}
.storeButton__button {
  color: #fff;
  font-weight: 600;
  text-align: center;
  padding: calc(15em/12) calc(15em/12) calc(15em/12) calc(10em/12);
  background: #2299E1;
  display: block;
  position: relative;
}
.storeButton__button::after{
  content: "";
  width: 6px;
  height: 6px;
  border: 0px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: calc(12em/12);
  margin-top: -4px;
}

/*- caution -*/
.caution {
  font-size: 1.2rem;
  padding: calc(20em/12) 4% calc(40em/12) 4%;
}
.caution__list {
  margin-top: calc(20em/12);
}
.caution__list p {
  font-size: 1.2rem;
}
.caution__title {
  font-size: 1.2rem;
  font-weight: normal;
}
.caution__text--useStore {
  margin-bottom: calc(10em/12);
}
.caution__link {
  color: #000;
  text-decoration: underline;
}

/*- blcBanner -*/
.blcBanner {
  margin: 0 4%;
  display: block;
}

.saleBanner {
  margin: 0 4% 20px;
  display: block;
}

/*- footer -*/
.footer {
  text-align: center;
  padding-top: calc(40em/12);
  margin-top: calc(40em/12);
  border-top: 1px solid #D8D8D8;
}
.footer__link {
  display: inline-block;
}
.footer__copy {
  padding-bottom: calc(10em/12);
  margin-top: calc(20em/12);
}
.footer__logoItem {
  width: 34.65346%;
}
