/* .kv
================================================ */
.kv {
  background-image: url(../img/valuecard/bg_img_pc.jpg);
}

@media all and (max-width: 767px) {
  .kv {
    background-image: url(../img/valuecard/bg_img_sp.jpg);
  }
}

/* .card
================================================ */
.card {
  background: url(../img/valuecard/bg_card_pc.jpg) 50% 50% no-repeat;
  background-size: cover;
  padding-bottom: 80px;
}

.card__img {
  max-width: 984px;
  margin: auto;
}

.card__img img {
  margin-top: -17px;
  width: 100%;
}

.card__benefits {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: -17.5% 0 0;
  position: relative;
  z-index: 1;
}

.card__benefits__item {
  max-width: 388px;
  width: 33%;
  min-height: 568px;
  background-color: #fff;
  padding: 0 20px 40px;
}

.card__benefits__item + .card__benefits__item {
  margin-left: 1%;
}

.card__benefits__flag {
  width: 194px;
  margin: -22px auto 0;
}

.card__benefits__img {
  max-width: 218px;
  margin: 28px auto 0;
}

.card__benefits__box {
  max-width: 308px;
  margin: 0 auto 0;
}

.card__benefits__tit {
  border-top: 1px solid #C1AE6E;
  border-bottom: 1px solid #C1AE6E;
  padding: 6px 0 3px;
  margin-top: 22px;
}

.card__benefits__txt {
  margin-top: 15px;
}

.card__benefits__stxt {
  font-size: 14px;
  margin-top: 5px;
}

.card__point {
  max-width: 920px;
  margin: -6.5% auto 0;
  position: relative;
  z-index: 2;
}

@media all and (max-width: 767px) {
  .card {
    background: url(../img/valuecard/bg_card_sp.jpg) 50% 50% no-repeat;
    background-size: cover;
    padding: 50px 0 0;
  }
  .card__img img {
    margin-top: 0;
  }
  .card__benefits {
    display: block;
    margin: -33vw 0 0;
  }
  .card__benefits__item {
    max-width: 100%;
    width: 100%;
    min-height: auto;
    padding: 10px 20px 20px;
  }
  .card__benefits__item + .card__benefits__item {
    margin-top: 45px;
    margin-left: 0;
  }
  .card__benefits__flag {
    width: 194px;
    margin: -33px auto 0;
  }
  .card__benefits__img {
    max-width: 180px;
    margin: 20px auto 0;
  }
  .card__benefits__box {
    max-width: 100%;
  }
  .card__point {
    margin: 20px -20px 0;
  }
}

/* .info
================================================ */
.info {
  padding: 80px 0;
}

.info__shop {
  max-width: 960px;
  margin: auto;
  margin-top: 35px;
}

.info__shop__tit {
  text-align: center;
  position: relative;
}

.info__shop__tit:before {
  content: '';
  width: 100%;
  height: 1px;
  background-color: #CCC;
  position: absolute;
  top: 14px;
  left: 0;
}

.info__shop__tit span {
  color: #000;
  background-color: #fff;
  padding: 0 10px;
  position: relative;
}

.info__shop__logo {
  padding: 0 25px 30px;
  margin-top: 20px;
  border-bottom: 1px solid #CCC;
}

.info__annotation {
  text-align: center;
  margin-top: 23px;
}

.info__annotation__item {
  font-size: 14px;
  line-height: 2;
}

.info__btn {
  text-align: center;
  margin-top: 24px;
}

@media all and (max-width: 767px) {
  .info {
    padding: 50px 0;
  }
  .info__shop {
    max-width: 100%;
    margin-top: 28px;
  }
  .info__shop__logo {
    padding: 0 15px 30px;
    margin-top: 30px;
  }
  .info__annotation {
    text-align: left;
    margin-top: 30px;
  }
  .info__annotation__item {
    line-height: 1.5;
    text-indent: -1em;
    padding-left: 1em;
  }
  .info__annotation__item + .info__annotation__item {
    margin-top: 8px;
  }
  .info__btn {
    text-align: center;
    margin-top: 24px;
  }
}

/* .app
================================================ */
.app {
  background-color: #C1AE6E;
}

.app__inner {
  max-width: 960px;
  margin: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}

.app__box {
  width: 50%;
  padding: 40px 0;
}

.app__tit {
  text-align: left;
}

.app__txt {
  margin-top: 15px;
}

.app__annotation {
  margin-top: 10px;
  font-size: 14px;
  line-height: 1.5;
}

.app__btns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 25px;
}

@media all and (min-width: 768px) {
  .app__btns__item a {
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  .app__btns__item a:hover {
    opacity: .6;
  }
}

.app__btns__item.is-ios {
  max-width: 163px;
}

.app__btns__item.is-android {
  max-width: 199px;
  margin-left: 22px;
}

.app__img {
  width: calc(50% + 120px);
  margin-right: -120px;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.app__img img {
  margin-top: -50px;
}

@media all and (max-width: 767px) {
  .app__inner {
    max-width: 100%;
    display: block;
  }
  .app__box {
    width: 100%;
    padding: 40px 0 0;
  }
  .app__annotation {
    text-indent: -1em;
    padding-left: 1em;
  }
  .app__btns {
    margin-top: 15px;
  }
  .app__btns__item.is-ios {
    max-width: 108px;
  }
  .app__btns__item.is-android {
    max-width: 131px;
    margin-left: 17px;
  }
  .app__img {
    width: 100%;
    margin: 35px 0 0;
  }
  .app__img img {
    margin-top: 0;
  }
}

/* .faq
================================================ */
.faq {
  padding: 80px 0 70px;
}

.faq__inner {
  max-width: 740px;
  margin: auto;
}

.faq__list {
  margin-top: 35px;
  border-top: 1px solid #CCC;
}

.faq__item {
  padding: 26px 0;
  border-bottom: 1px solid #CCC;
}

.faq__item__q {
  font-weight: bold;
  text-indent: -2.5em;
  padding-left: 2.5em;
}

.faq__item__a {
  text-indent: -2.5em;
  padding-left: 2.5em;
  margin-top: 3px;
}

.faq__icon {
  font-family: 'Noto Serif JP', serif;
  font-weight: bold;
  font-size: 24px;
  margin-right: 12px;
}

.faq__icon.is-q {
  color: #C1AE6E;
}

.faq__icon.is-a {
  color: #C70000;
}

.faq__btns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 10px 0 0 40px;
}

.faq__btns__item {
  margin-right: 40px;
}

@media all and (max-width: 767px) {
  .faq {
    padding: 45px 0 5px;
  }
  .faq__inner {
    max-width: 100%;
  }
  .faq__list {
    margin-top: 30px;
  }
  .faq__item__q {
    text-indent: -1.8em;
    padding-left: 1.8em;
  }
  .faq__item__a {
    text-indent: -1.8em;
    padding-left: 1.8em;
    margin-top: 6px;
  }
  .faq__icon {
    font-size: 20px;
    margin-right: 7px;
  }
  .faq__btns {
    display: block;
    margin: 15px 0 0 28px;
  }
  .faq__btns__item {
    margin-right: 0;
  }
  .faq__btns__item + .faq__btns__item {
    margin-top: 15px;
  }
}

/* .have
================================================ */
.have {
  background-color: #F5F2EF;
  padding: 50px 0 55px;
}

.have__btns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 35px;
}

.have__btns__item + .have__btns__item {
  margin-left: 40px;
}

@media all and (max-width: 767px) {
  .have__btns {
    display: block;
    margin-top: 25px;
  }
  .have__btns__item {
    text-align: center;
  }
  .have__btns__item + .have__btns__item {
    margin-left: 0;
    margin-top: 17px;
  }
}

/*================================================ */
/* .terms
================================================ */
/* .kv
================================================ */
.kv-terms {
  background-image: url(../img/common/bg_img_pc.jpg);
}

@media all and (min-width: 768px) {
  .kv-terms {
    height: 257px;
  }
}

.kv-terms__tit {
  color: #000;
  text-shadow: none;
}

@media all and (max-width: 767px) {
  .kv-terms {
    background-image: url(../img/common/bg_img_sp.jpg);
  }
}

/* .terms-contents
================================================ */
.terms-contents {
  padding: 80px 0;
}

.terms-contents__inner {
  max-width: 740px;
  margin: auto;
}

@media all and (max-width: 767px) {
  .terms-contents {
    padding: 40px 0;
  }
  .terms-contents__inner {
    max-width: 100%;
  }
}

.terms__tit {
  text-align: left;
  margin-bottom: 15px;
}

.terms-list__item + .terms-list__item {
  margin-top: 20px;
}

.terms-list__tit {
  font-weight: bold;
  margin-bottom: 10px;
}

.terms-list__txt + .terms-list-num {
  margin-top: 10px;
}

.terms-list-sub {
  margin-top: 10px;
}

.terms-list-sub__item + .terms-list-sub__item {
  margin-top: 8px;
}

.terms-list-num {
  padding-left: 3px;
}

.terms-list-num__item {
  text-indent: -1.7em;
  padding-left: 1.7em;
}

.terms-list-num__item span {
  padding-right: 15px;
}

/* .prepaid
================================================ */
.prepaid {
  padding-top: 35px;
}

/* .point
================================================ */
.point {
  padding-top: 35px;
}

.schedule {
  padding-top: 30px;
}

.schedule__txt + .schedule__txt {
  margin-top: 20px;
}
