/*reset*/
html, body {
  height: 100%;
  margin: 0;
  font-family: HiraKakuProN-W3;
}

/*base*/
html {
  -webkit-overflow-scrolling: touch;
}

/* CSS Document */
/*Base*/
.llw {
  max-width: 750px;
  width: 100%;
  background: #fff;
  margin: 0 auto;
  overflow: hidden;
  font-family: "Noto Sans JP", sans-serif;
}
.llw input, .llw button {
  background: transparent;
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none !important;
  box-sizing: border-box;
  border: 1px solid transparent;
  transition: border 0.2s ease-out;
  padding: 0;
  cursor: pointer;
}
.llw input::-webkit-search-decoration, .llw button::-webkit-search-decoration {
  display: none;
}
.llw input:focus, .llw button:focus {
  outline-offset: -2px;
}
.llw input[type=image], .llw button[type=image] {
  -webkit-appearance: none;
}
.llw img {
  display: block;
  vertical-align: bottom;
  width: 100%;
  height: auto;
}

.cta01__btn--01 {
  width: 100%;
  top: 60.3%;
  left: 0;
  animation: scaling 2s linear 0.5s infinite forwards;
}
@keyframes scaling {
  0% {
    transform: scale(1);
    -webkit-transform: scale(1);
  }
  30% {
    transform: scale(1);
    -webkit-transform: scale(1);
  }
  40% {
    transform: scale(1.05);
    -webkit-transform: scale(1.05);
  }
  50% {
    transform: scale(1);
    -webkit-transform: scale(1);
  }
  60% {
    transform: scale(1.05);
    -webkit-transform: scale(1.05);
  }
  70% {
    transform: scale(1);
    -webkit-transform: scale(1);
  }
  100% {
    transform: scale(1);
    -webkit-transform: scale(1);
  }
}

.overlayArea {
  position: relative;
}

.overlayItem .btn {
  width: 80%;
  position: absolute;
  top: 35%;
  left: 10%;
}

.overlayArea .gif {
  position: absolute;
  top: 16%;
  left: 16%;
  width: 68%;
}

.floating {
  position: relative;
  margin-top: 10%;
}
.floatingContainer {
  position: fixed;
  max-width: 275px;
  width: 100%;
  bottom: 0;
  right: 0;
  opacity: 0;
  transition: 0.3s all;
  z-index: 100;
  pointer-events: none;
  animation: scaling 2s linear 0.5s infinite forwards;
}
@media screen and (max-width: 750px) {
  .floatingContainer {
    max-width: 36.6666666667vw;
  }
}
.floatingContainer.js-floating {
  opacity: 1;
  pointer-events: auto;
}

/*-----------------------------
/ ショッピングガイド
/------------------------------*/
.guideSp {
  max-width: 750px;
  margin: 0 auto;
}
.guideSp .ttl {
  text-align: center;
  margin-bottom: 20px;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.2em;
  color: #fff;
  background-color: #654D9C;
  padding: 4px 0 3px 0.5em;
}
.guideSp dl {
  width: 90%;
  margin: 0 auto;
}
.guideSp dl.left {
  margin: 0 25px 0 35px;
}
.guideSp dt {
  text-align: center;
  font-weight: bold;
  font-size: 16px;
  line-height: 1.2em;
  color: #333;
  background-color: #eeeeee;
  padding: 4px 0 3px 0.5em;
  margin-bottom: 8px;
  margin-left: 0;
}
.guideSp dd {
  font-size: 12px;
  line-height: 1.4em;
  margin-bottom: 1em;
  text-align: left;
  margin-left: 0;
}
.guideSp dd img {
  max-width:100%;
  margin-top:3%;
}
/*微調整用*/
.marB5 {
  margin-bottom: 5px !important;
}
.marB10 {
  margin-bottom: 10px !important;
}
.marB20 {
  margin-bottom: 20px !important;
}
.marB30 {
  margin-bottom: 30px !important;
}
.marB40 {
  margin-bottom: 40px !important;
}
.marB50 {
  margin-bottom: 40px !important;
}
.marB60 {
  margin-bottom: 60px !important;
}
.marB65 {
  margin-bottom: 65px !important;
}
.marTm2 {
  margin-top: -2px;
}
.unLine {
  text-decoration: underline;
}
.unLine:hover {
  text-decoration: none;
}
/* ClearBoth */
.clearBoth {
  clear: both;
}

/*-----------------------------
/ footer
/------------------------------*/
.footer {
  background-color: #654D9C;
  padding: 0;
  margin: 0;
}
.footer p {
  font-size: 14px;
  font-weight: bold;
  margin: 0;
  padding: 20px 3% 10px;
  text-align: center;
  line-height: 1.8;
  color: #fff;
}
.footer p a {
  color: #fff;
  padding: 0 2%;
  font-size: 12px;
  text-decoration: underline;
}
.footer .copy {
  text-align: center;
  color: #fff;
  font-size: 12px;
  padding: 10px 3%;
  line-height: 1.3;
}
