/* ---------------------フッター------------------------ */
.footer{
  background: #000;
  width: 100%;
  height: auto;
  padding: 15vw 10vw;
  color: #fff;
}
@media only screen and (min-width: 700px) {
  .footer{
    background: #000;
    width: 100%;
    height: auto;
    padding: 6vw 10vw;
    color: #fff;
  }
}

.footer--general-link-box--img{
  text-align: center;
  margin-bottom: 7vw;
}
@media only screen and (min-width: 700px) {
  .footer--general-link-box--img{
    margin-bottom: 3vw;
  }
}

.footer--general-link-box--img img{
  width: 60%;
}
@media only screen and (min-width: 700px) {
  .footer--general-link-box--img img{
    width: 20%;
  }
}

.footer--general-link-box--other-pages{
  display: flex;
  justify-content: space-between;
  align-items: top;
  flex-direction: column;
}
@media only screen and (min-width: 700px) {
  .footer--general-link-box--other-pages {
    flex-direction: row;
  }
}

.footer--general-link-box--other-pages ul+ul {
  margin-top: 5vw;
}
@media only screen and (min-width: 700px) {
  .footer--general-link-box--other-pages ul+ul {
    margin-top: 0vw;
  }
}

.footer--general-link-box--other-pages li{
  font-size: 3.4vw;
}
@media only screen and (min-width: 700px) {
  .footer--general-link-box--other-pages li{
    font-size: 1vw;
  }
}

.footer--general-link-box--other-pages .bold{
  margin-bottom: 2.5vw;
  border-bottom: #767676 1px solid;
}
@media only screen and (min-width: 700px) {
  .footer--general-link-box--other-pages .bold{
    margin-bottom: 0.8vw;
  }
}

.footer--general-link-box--cta {
  margin-top: 8.53333vw;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: top;
  flex-direction: column;
}

@media only screen and (min-width: 700px) {
  .footer--general-link-box--cta {
    margin-top: 3vw;
    flex-direction: row;
  }
}

.footer--general-link-box--cta dl dt {
  font-size: 4.26667vw;
  font-weight: 500;
  position: relative;
}

@media only screen and (min-width: 700px) {
  .footer--general-link-box--cta dl dt {
    font-size: 1.11111vw;
  }
}

.footer--general-link-box--cta dl dd {
  margin-top: 1.6vw;
}

@media only screen and (min-width: 700px) {
  .footer--general-link-box--cta dl dd {
    margin-top: 0.41667vw;
  }
}

.footer--general-link-box--cta dl dd a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: -webkit-gradient(linear, left top, right top, from(#473889), to(#de3d49));
  background: linear-gradient(to right, #473889, #de3d49);
  padding: 5.33333vw 0;
  border: 0.26667vw solid #fff;
}

@media only screen and (min-width: 700px) {
  .footer--general-link-box--cta dl dd a {
    padding: 1.38889vw 5vw;
    border: 0.06944vw solid #fff;
  }
}

.footer--general-link-box--cta dl dd a p {
  font-size: 5.33333vw;
  color: #fff;
  font-weight: bold;
}

@media only screen and (min-width: 700px) {
  .footer--general-link-box--cta dl dd a p {
    font-size: 1.38889vw;
  }
}

.footer--general-link-box--cta dl + dl {
  margin-top: 5.33333vw;
}

@media only screen and (min-width: 700px) {
  .footer--general-link-box--cta dl + dl {
    margin-top: 0vw;
    margin-left: 5vw;
  }
}

.footer--general-link-box--cta dl + dl dd a {
  border: none;
  background: #5283E9;
}

.footer--general-link-box--cta dl:nth-child(1) dt {
  display: inline-block;
}

.footer--general-link-box--cta dl:nth-child(1) dt::before, .footer--general-link-box--cta dl:nth-child(1) dt::after {
  content: "";
  width: 0.26667vw;
  height: 4.26667vw;
  background: #fff;
  position: absolute;
  left: -2.13333vw;
  top: 40%;
  -webkit-transform: rotate(-20deg) translateY(-50%);
          transform: rotate(-20deg) translateY(-50%);
}

@media only screen and (min-width: 700px) {
  .footer--general-link-box--cta dl:nth-child(1) dt::before, .footer--general-link-box--cta dl:nth-child(1) dt::after {
    width: 0.06944vw;
    height: 1.11111vw;
    left: -0.55556vw;
  }
}

.footer--general-link-box--cta dl:nth-child(1) dt::after {
  left: auto;
  right: -2.13333vw;
  -webkit-transform: rotate(20deg) translateY(-50%);
          transform: rotate(20deg) translateY(-50%);
}

@media only screen and (min-width: 700px) {
  .footer--general-link-box--cta dl:nth-child(1) dt::after {
    right: -0.55556vw;
  }
}


.white-line{
  border-left: 0.26667vw solid #fff;
}

@media only screen and (min-width: 700px) {
  .white-line {
    border-left: none;
}
}

.footer small {
  display: block;
  padding: 8vw 0 0;
  text-align: center;
  font-size: 3.2vw;
}

@media only screen and (min-width: 700px) {
  .footer small {
    padding: 1.38889vw 0 0vw;
    font-size: 0.83333vw;
  }
}
