@charset "UTF-8";

.p-footer {
  padding-block: 61px 8px;
  color: #ffffff;
  background: url(../images/footer-bg.png) no-repeat center center/cover;
}
@media screen and (min-width:1367px) {
  .p-footer {
    padding-inline: calc((100vw - 1366px) / 2);
  }
}

.p-footer__logo {
  margin-left: clamp(20px, 7.7598828697vw, 106px);
  width: 89px;
  height: 67px;
}

.p-footer__body {
  margin-top: clamp(40px, 6.25vw, 64px);
  margin-bottom: clamp(80px, 11.328125vw, 116px);
  margin-inline: 20px;
  max-width: 797px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 32px;
}
@media screen and (min-width:768px) {
  .p-footer__body {
    margin-inline: auto;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
@media screen and (min-width:1200px) {
  .p-footer__body {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-left: clamp(60px, 22.1815519766vw, 303px);
  }
}

.p-footer__info {
  max-width: 312px;
}

.p-footer__info-content + .p-footer__info-content {
  margin-top: clamp(40px, 6.15234375vw, 63px);
}

.p-footer__info-title {
  font-family: "Noto Serif JP", serif;
  font-size: clamp(20px, 2.34375vw, 24px);
  line-height: 1.4583333333;
  letter-spacing: 2.4px;
  font-weight: 500;
}

.p-footer__info-texts {
  margin-top: clamp(24px, 4.19921875vw, 43px);
}

.p-footer__info-text {
  font-size: 14px;
  line-height: 1.4285714286;
}
.p-footer__info-text + .p-footer__info-text {
  margin-top: clamp(16px, 1.953125vw, 20px);
}

.p-footer__contact {
  max-width: 260px;
}

.p-footer__contact-btn {
  margin-top: clamp(32px, 2.9282576867vw, 40px);
  padding-block: 34px 37px;
  width: 260px;
  margin-inline: auto;
  border-radius: 5px;
  position: relative;
}
.p-footer__contact-btn::after {
  content: "";
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  width: 8px;
  height: 9px;
  background: url(../images/footer-btn-right.svg) no-repeat center center/contain;
}
.p-footer__contact-btn.btn-contact {
  background: #53c372;
}
.p-footer__contact-btn.btn-contact::after {
  right: 30px;
}
.p-footer__contact-btn.btn-contact::before {
  content: "";
  position: absolute;
  top: 38.4px;
  left: 26px;
  width: 14px;
  height: 11px;
  background: url(../images/icon-mail.svg) no-repeat center center/contain;
}
.p-footer__contact-btn.btn-entry {
  background: #4da27e;
}
.p-footer__contact-btn.btn-entry::after {
  right: 50px;
}
.p-footer__contact-btn.btn-entry::before {
  content: "";
  position: absolute;
  top: 35px;
  left: 26px;
  width: 13px;
  height: 20px;
  background: url(../images/icon-human.svg) no-repeat center center/contain;
}

.btn-text {
  padding-left: 51px;
  padding-right: 20px;
  font-size: 14px;
  line-height: 1.4285714286;
  letter-spacing: 0.7px;
  font-weight: 500;
}

.p-footer__contact-num {
  margin-top: clamp(32px, 3.074670571vw, 42px);
}
.p-footer__contact-num .num-text {
  font-family: "Quicksand", serif;
  font-size: clamp(28px, 2.4158125915vw, 33px);
  line-height: 1.2424242424;
  letter-spacing: 3.3px;
}

.p-footer__contact-text {
  margin-top: 7px;
  font-size: 12px;
  line-height: 1.5;
}

.p-copyright-wrap {
  padding-left: 20px;
}
@media screen and (min-width:768px) {
  .p-copyright-wrap {
    padding-left: clamp(60px, 8.78477306vw, 120px);
  }
}

.p-copyright-text {
  font-size: 14px;
  line-height: 1.4285714286;
}