.footer {
  padding-bottom: 77px;
  padding-top: 67px;
  background-color: #fff;
}

@media only screen and (max-width: 480px) {
  .footer {
    padding-top: 22px;
  }
}

.footer .footer__flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

@media only screen and (max-width: 480px) {
  .footer .footer__flex {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
}

.footer .footer__flexItem {
  width: 20%;
  text-align: left;
}

@media only screen and (max-width: 480px) {
  .footer .footer__flexItem {
    width: 100%;
  }
}

.footer .footer__textWrap:not(:first-child) {
  padding-top: 25px;
}

.-footer__textWrapNone{
  padding-top: 0;
}

.footer .footer__text {
  font-family: 'Noto Sans JP', sans-serif;
}

.footer .footer__textIcon {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  text-align: center;
  margin-right: 10px;
  align-items: center;
}

@media only screen and (max-width: 480px) {
  .footer .footer__textIcon.-pc-only{
    display: none;
  }
}

.footer .footer__textIcon img{
  width: 10px;
}

.footer .-type1 {
  color: #009FDC;
  font-size: 1.8rem;
  line-height: 1.8;
  font-weight: 500;
}

.footer .-type2 {
  color: #222222;
  font-size: 1.6rem;
  /* line-height: 2.375; */
  font-weight: 500;
}

.footer .-addIcon {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.footer .-space1 {
  padding-top: 15px;
}

@media only screen and (max-width: 480px) {
  .footer .-space2 {
    padding-left: 20px;
  }
}

@media only screen and (max-width: 480px) {
  .footer__text.-space3 {
    padding-top: 54px;
    display: inline-block;
  }
}

.footer .-space4{
  display: block;
  padding-top: 4px;
}

.footer .-space5{
  padding-top: 3px;
}

@media only screen and (max-width: 480px) {
  .footer .-space5{
    padding-top: 50px;
  }
}

@media only screen and (max-width: 480px) {
  .footer .-space6{
    padding-left: 25px;
  }
}




.footer .footer__flexIcon {
  padding-top: 40px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.footer .footer__flexIcon {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

@media only screen and (max-width: 787px) {
  .footer .footer__flexIcon {
    /* -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; */
    align-items: flex-start;
  }
}

.footer .footer__flexIconLeft {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
}

@media only screen and (max-width: 787px) {
  .footer .footer__flexIconLeft {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  }
}

.footer .footer__flexIconLogo {
  margin-right: 20px;
}

.footer .footer__flexIconLogo img {
  width: 100%;
}

.footer .footer__flexCopy {
  font-family: Montserrat;
  font-size: 1.1rem;
  font-weight: 500;
  color: #9F9F9F;
  letter-spacing: -0.08em;
  padding-bottom: 10px;
}

@media only screen and (max-width: 480px) {
  .footer .footer__flexCopy.-pc-only{
    display: none;
  }
  .footer .footer__flexIconLogo {
    max-width: 170px;
  }
  .langCh .footer .footer__flexIconLogo {
    max-width: 140px;
  }
}

.footer .footer__flexCopy.-sp-only{
  display: none;
}

@media only screen and (max-width: 480px) {
  .footer .footer__flexCopy.-sp-only{
    display: block;
  }
}



@media only screen and (max-width: 787px) {
  .footer .footer__flexMessage {
  }
  .footer .footer__flexMessage img {
    width: 100%;
  }
}

@media only screen and (max-width: 480px) {
  .footer .footer__flexMessage {
    width: 67%;
  }
}

@media only screen and (max-width: 1000px) {
  .footer__sub {
    /* width: 1000px; */
  }
}



.footer__sub .contact {
  margin-top: 104px;
  padding-top: 83px;
  padding-bottom: 87px;
  background-color: #009FDC;
}
.footer__sub .common_link {
  display: block;
  transition: opacity .4s;
  -webkit-transition: opacity .4s;
  -moz-transition: opacity .4s;
  -ms-transition: opacity .4s;
  -o-transition: opacity .4s;
}
.footer__sub .common_link:hover {
  opacity: 0.8;
}

@media only screen and (max-width: 1000px) {
  .footer__sub .contact {
    margin-top: 34px;
    padding-top: 39px;
    padding-bottom: 39px;
  }
}

.footer__sub .contact .contact__flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.footer__sub .common_link .contact .contact__flex {
  align-items: center;
}

@media only screen and (max-width: 1000px) {
  .footer__sub .contact .contact__flex {
    -webkit-flex-flow: wrap;
        -ms-flex-flow: wrap;
            flex-flow: wrap;
  }
  .footer__sub .common_link .contact .contact__flex {
    flex-wrap: nowrap;
  }
  .footer__sub .common_link .contact .contact__flexTell:nth-of-type(2) {
    width: auto;
    padding: 0;
    margin-left: 20px;
  }
}

 .footer__sub .contact .contact__flexText {
  color: #FFFFFF;
  font-family: 'Noto Sans JP', sans-serif;
  text-align: center;
  display: block;
}

.footer__sub .contact .contact__flexImage {
  text-align: center;
}

.footer__sub .contact .contact__flexTell {
  border-right: solid 1px rgba(255, 255, 255, 0.3);
  position: relative;
}
.footer__sub .common_link .contact .contact__flexTell {
  border: none;
  padding: 0;
}
/* .footer__sub .contact .contact__flexTell:nth-of-type(2) {
  padding-right: 5%;
} */
.footer__sub .contact .contact__flexTell:nth-of-type(2) {
  padding-left: 5%;
  border-right: 0;
}

  @media only screen and (max-width: 1000px) {
  .footer__sub .contact .contact__flexTell::after {
    display: block;
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 326px;
    height: 1px;
    background-color: rgba(255, 255, 255, 0.3);
  }
  .footer__sub .contact .contact__flexTell:nth-of-type(2) {
   padding-bottom: 0;
  }
  .footer__sub .contact .contact__flexTell:nth-of-type(2):after {
    display: none;
  }
}

@media only screen and (max-width: 1000px) {
  .footer__sub .contact .contact__flexTell {
    width: 100%;
    padding-right: 0;
    padding-left: 0;
    border-right: none;
  }
  .footer__sub .contact .contact__flexTell:nth-of-type(2) {
    padding-top: 28.5px;
  }
}

.footer__sub .contact .contact__flexMail {
  text-align: center;
  padding-left: 5%;
  width: 27%;
}
.footer__sub .common_link .contact .contact__flexMail {
  width: auto;
  padding: 0;
}

/* 下層のみ適用 */
#frame-outer .contact__flexMail{
  width: 33%;
}
#frame-outer .common_link .contact__flexMail{
  width: auto;
}

@media only screen and (max-width: 1000px) {
  #frame-outer .contact__flexMail{ 
    width: 100%;
}
}

@media only screen and (max-width: 1000px) {
  .footer__sub .contact .contact__flexMail {
    width: 100%;
    padding-left: 0;
    padding-top: 25.5px;
  }
}

.footer__sub .contact .contact__flexbutton {
  width: 100%;
  display: inline-block;
  padding-top: 20px;
  padding-bottom: 20px;
  margin-top: 52px;
  background-color: #FFFFFF;
  border-radius: 32px;
  color: #009FDC;
  font-size: 1.7rem;
  font-weight: 700;
  line-height: 1.5;
  font-family: 'Noto Sans JP', sans-serif;
  max-width: 375px;
}

@media only screen and (max-width: 1000px) {
  .footer__sub .contact .contact__flexbutton {
    margin-top: 25px;
  }
}

.footer__sub .contact .-type1 {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 21px;
}

.footer__sub .contact .-type2 {
  font-family: 'Roboto', sans-serif;
  font-size: 3.4rem;
  font-weight: 700;
  line-height: 1.3;
  margin-top: 14px;
}

.footer__sub .contact .-type3 {
  font-size: 1.5rem;
  line-height: 1.4;
  font-weight: 500;
  margin-top: 0.5rem;
}

.footer__sub .contact .-space1 {
  margin-bottom: 40px;
}

@media only screen and (max-width: 1000px) {
  .footer__sub .contact .-space1 {
    margin-bottom: 10px;
  }
}

.footer__sub .contact .-spOnly {
  display: none;
}

@media only screen and (max-width: 1000px) {
  .footer__sub .contact .-spOnly {
    display: block;
  }
}
/*# sourceMappingURL=footer.css.map */