/* メインフッター */
.mainFooter {
  overflow: hidden;
  background-color: #000;
  color: #fff;
  margin-top: auto;
  padding: 120px 0;
  font-size: 62.5%;
}

@media screen and (max-width: 767px) {
  .mainFooter {
    padding: 60px 0 80px;
  }
}

.mainFooter__inner {
  display: flex;
}

@media screen and (max-width: 767px) {
  .mainFooter__inner {
    display: block;
    padding: 0 10px;
  }
}

.mainFooter__logo {
  width: 180px;
}

.mainFooter__logo img {
  width: 100%;
}

.mainFooter__body {
  font-family: var(--fontHiragino);
  width: calc(100% - 180px - 40px);
  border-left: 1px solid #fff;
  /* font-size: 1.1rem; */
  font-size: 11px;
  letter-spacing: 0.02em;
  line-height: 1.818181818181818;
  margin-left: 40px;
  padding-left: 40px;
}

@media screen and (max-width: 767px) {
  .mainFooter__body {
    width: 100%;
    margin: 39.8px 0 0;
    padding: 40px 0 0;
    border-top: 1px solid #fff;
    border-left: none;
    text-align: justify;
    text-justify: inter-ideograph;
  }
}

.mainFooter__body p {
  margin-top: calc((1em - 1.818181818181818em) / 2);
  margin-bottom: calc((1em - 1.818181818181818em) / 2);
}

.mainFooter__body p+p {
  margin-top: calc((1em - 1.818181818181818em) / 2 + 1.818181818181818em);
}

.contentView {
  margin: 0 auto;
  max-width: 108em;
  padding: 0 6em;
  width: 90%;
}

.bottomPageCommonParts {
  font-size: 62.5%;
  margin: 12.5em auto 0 auto;
  max-width: 108em;
  padding: 0 6em;
  width: 90%;
}

@media screen and (max-width: 767px) {

  .contentView,
  .bottomPageCommonParts {
    padding: 0 2em;
  }
}

.appSupport {
  background-color: #e8ebec;
  padding: 6em 0 13em;
}

@media screen and (max-width: 767px) {
  .appSupport {
    padding: 6em 0;
  }
}

.appSupport__caption {
  font-weight: bold;
  font-size: 3em;
  letter-spacing: 0.08em;
  /* line-height: #{(60 / 30)}; */
  line-height: 2;
  text-align: center;
  color: #2c2c2c;
  /* margin: calc((1em - #{(60 / 30)}em) / 2) 0; */
}

@media screen and (max-width: 767px) {
  .appSupport__caption {
    font-size: 2em;
  }
}

.appSupport__flex {
  display: flex;
  justify-content: space-around;
}

@media screen and (max-width: 767px) {
  .appSupport__flex {
    display: block;
    margin-top: 4em;
  }
}

.appSupport__flexItem {
  position: relative;
  width: 44em;
  max-width: 48%;
  padding-bottom: 10.6em;
  margin-top: 11.4em;
}

@media screen and (max-width: 767px) {
  .appSupport__flexItem {
    max-width: 100%;
    width: 100%;
    margin-top: 3em;
    padding-bottom: 8em;
  }
}

.appSupport__flexItemButton {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  text-align: center;
}

.appSupport__flexItemText {
  /* font-size: 1.4em; */
  font-size: 14px;
  letter-spacing: 0.04em;
  /* line-height: #{(25 / 14)}; */
  line-height: 1.785;
  text-align: center;
  color: #2c2c2c;
  /* margin: calc((1em - #{(25 / 14)}em) / 2 + 2em) 0
    calc((1em - #{(25 / 14)}em) / 2); */
  margin: 2.3em 0 0;
}

@media screen and (max-width: 767px) {
  .appSupport__flexItemText {
    text-align: left;
  }
}

.appSupport__flexItemIcon {
  text-align: center;
}

.appSupport__flexItemIcon .icon {
  width: 7.2em;
}

.button {
  max-width: 100%;
  min-height: 60px;
}

a {
  text-decoration: underline;
}