@charset "UTF-8";

.pa10 {
  padding: 10px 0 0 0;
}
.pa15 {
  padding: 15px 0 0 0;
}
.pa20 {
  padding: 20px 0 0 0;
}
.pa30 {
  padding: 30px 0 0 0;
}
.pa40 {
  padding: 40px 0 0 0;
}
.pa50 {
  padding: 50px 0 0 0;
}
.pa60 {
  padding: 60px 0 0 0;
}

/* app */
.app {
  width: 100%;
  height: auto;
  background: #e1f0fa;
  padding: 190px 0 90px 0;
}
.app-wrap {
  width: 90%;
  max-width: 1200px;
  height: auto;
  margin: 0 auto;
}
.app-top-wrap {
  width: 800px;
  height: auto;
  margin: 0 auto;
}
.app-swiper {
  width: 270px;
  height: auto;
  margin: 0;
  float: left;
}
.app-swiper-cover {
  width: 100%;
  height: auto;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 50;
}
.app-top-r {
  width: 500px;
  height: auto;
  float: right;
}
.app-logo {
  width: 100px;
  height: auto;
  margin: 0 auto;
}
.app-top-txt-1 {
  font-size: 1.6em;
  font-weight: bold;
  text-align: center;
}
.app-top-txt-2 {
  font-size: 2.4em;
  font-weight: bold;
  text-align: center;
}
.app-top-txt-3 {
  font-size: 1.7em;
  text-align: center;
}
.app-top-txt-4 {
  font-size: 1.5em;
  text-align: center;
}
.app-qr-wrap {
  width: 100%;
  height: auto;
  margin: 35px auto 0 auto;
}
.app-qr-box-l {
  box-sizing: border-box;
  width: 50%;
  height: auto;
  float: left;
  border-right: 1px solid #fff;
}
.app-qr-box-r {
  box-sizing: border-box;
  width: 50%;
  height: auto;
  float: right;
  margin: 0;
  border-left: 1px solid #fff;
}
.app-qr-btn {
  width: 180px;
  height: auto;
  margin: 0 auto;
}
.app-qr {
  width: 80px;
  height: auto;
  margin: 20px auto 0 auto;
}
.app-btn-box {
  width: 340px;
  height: auto;
  margin: 0 auto;
}
.app-btn-l {
  float: left;
}
.app-btn-r {
  float: right;
}
.app-btn-blue {
  display: flex;
  align-items: center;
  text-align: center;
  width: 160px;
  height: auto;
  margin: 20px auto 0 auto;
}
.app-btn-blue a {
  background-color: #7dc3f0;
  border: 2px solid #7dc3f0;
  display: block;
  width: 100%;
  color: #1e1e1e;
  font-size: 1.3em;
  font-weight: bold;
  border-radius: 6px;
  padding: 10px 0;
  position: relative;
}
.app-btn-blue a:after {
  content: "";
  border-top: 2px solid #1e1e1e;
  border-right: 2px solid #1e1e1e;
  width: 6px;
  height: 6px;
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 13px;
  margin-top: -4px;
}
.app-btn-white {
  display: flex;
  align-items: center;
  text-align: center;
  width: 160px;
  height: auto;
  margin: 20px auto 0 auto;
}
.app-btn-white a {
  background-color: #fff;
  border: 2px solid #7dc3f0;
  display: block;
  width: 100%;
  color: #1e1e1e;
  font-size: 1.3em;
  font-weight: bold;
  border-radius: 6px;
  padding: 10px 0;
  position: relative;
}
.app-btn-white a:after {
  content: "";
  border-top: 2px solid #1e1e1e;
  border-right: 2px solid #1e1e1e;
  width: 6px;
  height: 6px;
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 13px;
  margin-top: -4px;
}
.app-function {
  width: 100%;
  height: auto;
  margin: 120px auto 0 auto;
}
.app-function-title {
  width: 200px;
  height: auto;
  margin: 0 auto;
}
.app-function-title-sub {
  font-size: 2em;
  text-align: center;
  padding: 20px 0 0 0;
}
.app-function-wrap {
  width: 800px;
  height: auto;
  margin: 0 auto;
}
.app-function-inner {
  width: 100%;
  height: auto;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  margin: 30px 0 0 0;
}
.app-function-l {
  width: 300px;
  height: auto;
  position: relative;
}
.app-function-r {
  box-sizing: border-box;
  position: relative;
  width: 500px;
  height: auto;
  padding: 0 0 0 20px;
}
.app-function-img-base {
  width: 300px;
  height: 300px;
}
.app-function-anime-1 {
  width: 300px;
  height: 300px;
  position: absolute;
  top: 0;
  left: 0;
}
.inviewfadeInUp {
  opacity: 0;
  transform: translate(0, 20px);
  -webkit-transform: translate(0, 20px);
  -webkit-transition: all 1s ease;
  -moz-transition: all 1s ease;
  -o-transition: all 1s ease;
  transition: all 1s ease;
}
.fadeInUp {
  opacity: 1;
  transform: translateY(0);
  -webkit-transform: translateY(0);
}
.anime-base-1 {
  opacity: 0;
}
.animation-1 {
  animation: fade-1 2s 1 ease;
  opacity: 1;
}
@keyframes fade-1 {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.anime-base-2 {
  transition-duration: 1s;
  opacity: 0;
}
.animation-2 {
  animation: rotation-1 2s 1 ease;
  opacity: 1;
}
@keyframes rotation-1 {
  from {
    transform: scale(0.7) rotate(0deg);
    -webkit-transform: scale(0.7) rotate(0deg);
  }
  to {
    transform: scale(1) rotate(359deg);
    -webkit-transform: scale(1) rotate(359deg);
  }
}
.anime-base-3 {
  opacity: 0;
}
.anime-base-4 {
  opacity: 0;
}
.anime-base-5 {
  opacity: 0;
}
.app-f-r-txt-l {
  width: 30px;
  height: 30px;
  background: linear-gradient(
    135deg,
    #7dc3f0 0%,
    #7dc3f0 50%,
    #fff 50%,
    #fff 100%
  );
  float: left;
}
.app-f-r-txt-c {
  width: auto;
  height: 30px;
  background: #fff;
  float: left;
}
.app-f-r-txt-1 {
  font-size: 2.2em;
  line-height: 30px;
  font-weight: bold;
  padding: 0 5px;
}
.app-f-r-txt-r {
  width: 30px;
  height: 30px;
  background: linear-gradient(
    135deg,
    #fff 0%,
    #fff 50%,
    #e1f0fa 50%,
    #e1f0fa 100%
  );
  float: left;
}
.app-f-r-txt-2 {
  font-size: 1.6em;
  line-height: 30px;
  padding: 20px 0 0 0;
}
.app-f-r-txt-3 {
  font-size: 1.3em;
  line-height: 20px;
  padding: 10px 0 0 0;
}
.app-f-r-txt-3 span {
  color: #ee0000;
}
.app-f-r-btn {
  display: inline-block;
  text-align: left;
  margin: 20px 20px 0 0;
  float: left;
}
.app-f-r-btn a {
  display: inline-block;
  position: relative;
  box-sizing: border-box;
  background-color: #fff;
  border: 2px solid #7dc3f0;
  width: 100%;
  color: #1e1e1e;
  font-size: 1.3em;
  font-weight: bold;
  border-radius: 6px;
  padding: 7px 11px 7px 15px;
}
.arrow-b::after {
  content: "";
  border-top: 2px solid #1e1e1e;
  border-right: 2px solid #1e1e1e;
  width: 6px;
  height: 6px;
  transform: rotate(45deg);
  display: inline-block;
  vertical-align: middle;
  position: relative;
  top: -1px;
  margin: 0 0 0 7px;
}
.app-get {
  width: 100%;
  height: auto;
  margin: 60px auto 0 auto;
}
.app-get-slider-1 {
  width: 150px;
  height: auto;
  margin: 14px 0 0 0;
  float: left;
}
.app-get-title {
  width: 400px;
  height: auto;
  margin: 0 auto;
}
.app-get-wrap {
  width: 540px;
  height: auto;
  margin: 0 auto;
}
.app-get-inner {
  width: 100%;
  height: auto;
  display: flex;
  align-items: top;
  flex-wrap: wrap;
  margin: 30px 0 0 0;
}
.app-get-l {
  width: 140px;
  height: auto;
  position: relative;
}
.app-get-r {
  box-sizing: border-box;
  position: relative;
  width: 400px;
  height: auto;
  padding: 30px 0 0 20px;
}
.app-get-img-base {
  width: 140px;
  height: 200px;
}
.app-get-anime-1 {
  width: 140px;
  height: 200px;
  position: absolute;
  top: 0;
  left: 0;
}
.app-get-title-sub {
  width: 130px;
  height: auto;
  margin: 0;
}
.app-get-r-txt {
  font-size: 1.8em;
  line-height: 32px;
  text-align: left;
  padding: 15px 0 0 0;
}
.app-g-r-btn {
  display: inline-block;
  text-align: left;
  margin: 10px 0 0 0;
}
.app-g-r-btn a {
  display: inline-block;
  position: relative;
  box-sizing: border-box;
  background-color: #fff;
  border: 2px solid #7dc3f0;
  width: 100%;
  color: #1e1e1e;
  font-size: 1.3em;
  font-weight: bold;
  border-radius: 6px;
  padding: 7px 11px 7px 15px;
}
.anime-base-6 {
  transition-duration: 1s;
  opacity: 0;
}
.animation-6 {
  animation: roop-1 0.5s infinite alternate ease-in-out;
  opacity: 1;
}
@keyframes roop-1 {
  from {
    transform: translateY(-5px);
    -webkit-transform: translateY(-5px);
  }
  to {
    transform: translateY(0);
    -webkit-transform: translateY(0);
  }
}
.anime-base-7 {
  transition-duration: 1s;
  opacity: 0;
}
.anime-base-8 {
  transition-duration: 1s;
  opacity: 0;
}
.app-get-sign {
  width: 60px;
  height: auto;
  margin: 20px auto 0 auto;
}
.app-get-t1 {
  width: 160px;
  height: auto;
  margin: 50px auto 0 auto;
}
.app-get-t2 {
  width: 500px;
  height: auto;
  margin: 30px auto 0 auto;
}
.app-get-t3 {
  width: 600px;
  height: auto;
  margin: 30px auto 0 auto;
}
.app-get-table-wrap {
  text-align: center;
  display: block;
  margin: 20px 0 0 0;
}
.app-get-table {
  text-align: left;
  display: inline-block;
}
.app-get-table td {
  box-sizing: border-box;
  font-size: 1.6em;
  line-height: 24px;
  color: #323232;
  padding: 10px 5px 0 0;
}
.app-get-table td a {
  color: #1e1e1e;
  border-bottom: 1px solid #323232;
  padding: 0 0 3px 0;
}
.app-use {
  width: 100%;
  height: auto;
  margin: 120px auto 0 auto;
}
.app-get-slider-2 {
  width: 150px;
  height: auto;
  margin: 7px 0 0 0;
  float: left;
}
.app-use-title {
  width: 270px;
  height: auto;
  margin: 0 auto;
}
.app-use-ex {
  width: 40px;
  height: auto;
  margin: 35px auto 0 auto;
}
.anime-base-9 {
  transition-duration: 1s;
  opacity: 0;
}
.app-use-txt {
  font-size: 1.6em;
  line-height: 24px;
  text-align: center;
  color: #323232;
  padding: 30px 0 0 0;
}
.app-ul-pc {
  display: block;
}
.app-ul-sp {
  display: none;
}
.app-ul-1 {
  width: 840px;
  height: auto;
  margin: 60px auto 0 auto;
  box-sizing: border-box;
  letter-spacing: -0.4em;
}
.app-ul-2 {
  width: 580px;
  height: auto;
  margin: 60px auto 0 auto;
  box-sizing: border-box;
  letter-spacing: -0.4em;
}
.app-ul-1 li {
  box-sizing: border-box;
  letter-spacing: normal;
  display: inline-block;
  vertical-align: top;
}
.app-ul-2 li {
  box-sizing: border-box;
  letter-spacing: normal;
  display: inline-block;
  vertical-align: top;
}
.app-li-1 {
  width: 240px;
  height: auto;
}
.app-li-2 {
  width: 20px;
  height: auto;
  margin: 220px 20px 0 20px;
}
.app-li-txt-1 {
  font-size: 1.5em;
  font-weight: bold;
  line-height: 1.6;
  text-align: center;
  padding: 10px 0 5px 0;
}
.app-li-txt-2 {
  font-size: 1.2em;
  line-height: 1.6;
}
.app-table-2 {
  width: 100%;
  max-width: 600px;
  box-sizing: border-box;
  margin: 30px auto 0 auto;
}
.app-table-2 td {
  font-size: 1.5em;
  line-height: 1.6;
  vertical-align: top;
  padding: 15px 5px 0 0;
}
.app-table-2 td a {
  color: #000;
  text-decoration: underline;
}
.app-qr-l-wrap {
  box-sizing: border-box;
  width: 100%;
  max-width: 800px;
  background: #fff;
  border-radius: 20px;
  margin: 120px auto 0 auto;
  padding: 50px;
}
.app-qr-l-box-l {
  box-sizing: border-box;
  width: 50%;
  height: auto;
  float: left;
}
.app-qr-l-box-r {
  box-sizing: border-box;
  width: 50%;
  height: auto;
  float: right;
  margin: 0;
}
.app-qr-l-txt {
  font-size: 1.8em;
  font-weight: bold;
  text-align: center;
  line-height: 26px;
}
.app-qr-l {
  width: 120px;
  height: auto;
  margin: 40px auto 0 auto;
}
.app-qr-l-btn {
  width: 180px;
  height: auto;
  margin: 30px auto 0 auto;
}

/* coupon */
.coupon-d {
  width: 100%;
  height: auto;
  background: #e1f0fa;
  padding: 190px 0 90px 0;
}
.coupon-d-wrap {
  width: 90%;
  max-width: 1200px;
  height: auto;
  margin: 0 auto;
}
.coupon-title {
  font-size: 2.2em;
  font-weight: bold;
  text-align: center;
}
.coupon-img {
  width: 100%;
  height: auto;
  margin: 50px auto 0 auto;
}
.coupon-table {
  width: 100%;
  height: auto;
  margin: 20px 0 0 0;
}
.coupon-table td {
  font-size: 1.4em;
  line-height: 1.8;
  padding: 0;
}
.td-asterisk {
  width: 20px;
  height: auto;
}
.app-hr {
  width: 100%;
  border-top: 3px solid #fff;
  border-right: none;
  border-bottom: none;
  border-left: none;
  margin: 60px 0;
}

@media screen and (max-width: 940px) {
  /* app */
  .app-top-wrap {
    width: 700px;
    height: auto;
    margin: 0 auto;
  }
  .app-swiper {
    width: 200px;
    margin: 70px 0 0 0;
  }
  .app-function-wrap {
    width: 700px;
  }
  .app-function-l {
    width: 200px;
  }
  .app-function-r {
    width: 500px;
    padding: 0 0 0 50px;
  }
  .app-function-img-base {
    width: 200px;
    height: 200px;
  }
  .app-function-anime-1 {
    width: 200px;
    height: 200px;
  }
  .app-get-slider-1 {
    width: 100px;
    margin: 16px 0 0 0;
  }
  .app-get-slider-2 {
    width: 100px;
    margin: 9px 0 0 0;
  }
  .app-ul-pc {
    display: none;
  }
  .app-ul-sp {
    display: block;
  }
  .app-ul-1 li {
    display: block;
  }
  .app-ul-1 {
    width: 100%;
    max-width: 300px;
  }
  .app-li-1 {
    width: 100%;
    height: auto;
  }
  .app-li-2 {
    width: 24px;
    height: auto;
    margin: 30px auto;
  }
  .app-li-txt-1 {
    font-size: 1.5em;
    font-weight: bold;
    line-height: 1.6;
    text-align: center;
    padding: 10px 0 5px 0;
  }
  .app-li-txt-2 {
    font-size: 1.2em;
    line-height: 1.6;
  }
}

@media screen and (max-width: 767px) {
  /* app */
  .app {
    padding: 150px 0 90px 0;
  }
  .app-top-wrap {
    width: 100%;
  }
  .app-swiper {
    width: 200px;
    margin: 50px auto 0 auto;
    float: none;
  }
  .app-top-r {
    width: 100%;
    float: none;
  }
  .app-logo {
    width: 80px;
  }
  .app-top-txt-1 {
    font-size: 1.5em;
  }
  .app-top-txt-2 {
    font-size: 1.8em;
  }
  .app-top-txt-3 {
    font-size: 1.4em;
  }
  .app-top-txt-4 {
    font-size: 1.4em;
  }
  .app-qr-btn {
    width: 130px;
  }
  .app-btn-box {
    width: 300px;
  }
  .app-btn-blue {
    width: 140px;
  }
  .app-btn-blue a {
    font-size: 1.1em;
  }
  .app-btn-blue a:after {
    right: 10px;
  }
  .app-btn-white {
    width: 140px;
  }
  .app-btn-white a {
    font-size: 1.1em;
  }
  .app-btn-white a:after {
    right: 10px;
  }
  .app-function-title {
    width: 150px;
  }
  .app-function-title-sub {
    font-size: 1.6em;
  }
  .app-function-wrap {
    width: 100%;
  }
  .app-function-inner {
    width: 100%;
    display: block;
    align-items: top;
    margin: 30px auto 0 auto;
  }
  .app-function-l {
    width: 250px;
    margin: 0 auto;
  }
  .app-function-r {
    width: 100%;
    padding: 30px 0 0 0;
  }
  .app-function-img-base {
    width: 250px;
    height: 250px;
  }
  .app-function-anime-1 {
    width: 250px;
    height: 250px;
  }
  .app-f-r-txt-l {
    width: 20px;
    height: 20px;
  }
  .app-f-r-txt-c {
    width: auto;
    height: 20px;
  }
  .app-f-r-txt-1 {
    font-size: 1.8em;
    line-height: 20px;
  }
  .app-f-r-txt-r {
    width: 20px;
    height: 20px;
  }
  .app-f-r-txt-2 {
    font-size: 1.4em;
    line-height: 24px;
  }
  .app-f-r-txt-3 {
    font-size: 1.1em;
    line-height: 20px;
  }
  .app-f-r-btn {
    display: inline-block;
    text-align: left;
    margin: 20px 10px 0 0;
    float: left;
  }
  .app-f-r-btn a {
    font-size: 1.1em;
  }
  .app-get {
    margin: 120px auto 0 auto;
  }
  .app-get-slider-1 {
    width: 50px;
    margin: 9px 0 0 0;
  }
  .app-get-title {
    width: 200px;
  }
  .app-get-wrap {
    width: 100%;
    margin: 0 auto;
  }
  .app-get-inner {
    width: 100%;
    display: block;
    margin: 30px 0 0 0;
  }
  .app-get-l {
    width: 140px;
    height: auto;
    position: relative;
    margin: 0 auto;
  }
  .app-get-r {
    width: 100%;
    padding: 30px 0 0 0;
  }
  .app-get-title-sub {
    width: 100px;
    margin: 0 auto;
  }
  .app-g-r-btn-wrap {
    text-align: center;
  }
  .app-get-r-txt {
    font-size: 1.4em;
    line-height: 24px;
    text-align: center;
  }
  .app-g-r-btn {
    display: inline-block;
    text-align: center;
    margin: 10px 0 0 0;
  }
  .app-g-r-btn a {
    font-size: 1.1em;
  }
  .app-get-sign {
    width: 60px;
    height: auto;
    margin: 50px auto 0 auto;
  }
  .app-get-t1 {
    width: 130px;
    height: auto;
    margin: 50px auto 0 auto;
  }
  .app-get-t2 {
    width: 90%;
  }
  .app-get-t3 {
    width: 100%;
  }
  .app-get-table td {
    font-size: 1.2em;
    line-height: 22px;
  }
  .app-get-slider-2 {
    width: 50px;
    margin: 5px 0 0 0;
  }
  .app-use-title {
    width: 140px;
  }
  .app-use-ex {
    width: 30px;
    margin: 35px auto 0 auto;
  }
  .app-use-txt {
    font-size: 1.4em;
    line-height: 24px;
  }
  .app-li-txt-1 {
    font-size: 1.3em;
  }
  .app-table-2 td {
    font-size: 1.2em;
    line-height: 22px;
  }
  .app-qr-l-wrap {
    margin: 90px auto 0 auto;
    padding: 20px;
  }
  .app-qr-l-txt {
    font-size: 1.4em;
    line-height: 24px;
  }
  .app-qr-l {
    width: 90px;
    margin: 20px auto 0 auto;
  }
  .app-qr-l-btn {
    width: 130px;
    height: auto;
    margin: 20px auto 0 auto;
  }
  /* coupon */
  .coupon-d {
    padding: 150px 0 90px 0;
  }
  .coupon-title {
    font-size: 1.6em;
  }
  .coupon-img {
    margin: 30px auto 0 auto;
  }
  .coupon-table {
    margin: 10px 0 0 0;
  }
  .coupon-table td {
    font-size: 1.1em;
    line-height: 1.6;
    padding: 10px 0 0 0;
  }
  .td-asterisk {
    width: 13px;
  }
  .app-hr {
    margin: 50px 0;
  }
}
