@charset "UTF-8";
/*==================================================
head
==================================================*/
.head-announce {
  background-image: linear-gradient(90deg, #c80046, #c8004680);
}
.head-announce p {
  text-align: center;
  color: #fff;
}
.head-announce p span {
  text-decoration: underline;
}
.page-template-page-lp2603 .site-header {
  background: transparent !important;
  padding-top: 3.2rem;
}
.page-template-page-lp2603 .site-header.is-scrolled {
  padding-top: 0;
}
.site-header .btn-contact.lp-header-btn a {
  background: #c80046;
}
.site-header h1 a, .site-header .menu-btn .menu, .site-header .btn-contact {
  height: 10rem;
}
@media screen and (max-width: 767px) {
  .head-announce p {
    font-size: 2.0rem;
    line-height: 1.5;
    padding: 1.5rem 0;
  }
  .page-template-page-lp2603 .site-header {
    padding-top: 11rem;
  }
  .page-template-page-lp2603 .site-header.is-scrolled {
    padding-top: 3rem;
  }
  .site-header h1 img {
    max-width: 29.33vw;
  }
  .site-header .btn-box {
    margin-right: 0;
  }
  .site-header .btn-contact.lp-header-btn a {
    font-size: 2.4rem;
    line-height: 1.5;
    padding: 2rem 4rem;
  }
}
/*==================================================
style
==================================================*/
main {
  padding-top: 0;
}
@media screen and (max-width: 767px) {
  main {
    padding-top: 0;
  }
}
/*==================================================
mv
==================================================*/
.lp2026-main {
  aspect-ratio: 144 / 60;
  background: url("../img/mv-bg.png") no-repeat top center;
  background-size: cover;
  position: relative;
}
.lp2026-main::after {
  content: '';
  display: block;
  position: absolute;
  bottom: -3rem;
  left: 50%;
  transform: translate(2rem, 0);
  background: url("../img/mv-img.png") no-repeat center center;
  background-size: 100%;
  width: 45.138%;
  aspect-ratio: 13 / 11;
}
.lp2026-main .txt-box {
  width: 52%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-90%, -50%);
  text-align: center;
}
.lp2026-main .txt-box h2 {
  font-size: 4.1rem;
  font-weight: 900;
  line-height: 1.2;
  margin-bottom: 2rem;
}
.lp2026-main .txt-box h2 .catch {
  font-size: 8.925rem;
  color: #c80046;
}
.lp2026-main .txt-box h2 .catch-s {
  font-size: 7.56rem;
}
.lp2026-main .txt-box .catch-tit {
  font-size: 3.3rem;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 0;
}
.lp2026-main .txt-box .catch-txt {
  font-size: 2.2rem;
  margin-bottom: 2.5rem;
}
.lp2026-main .txt-box .btn-contact {
  width: 72%;
  max-width: 360px;
  margin: 0 auto;
}
.lp2026-main .txt-box .btn-contact .btn-catch {
  width: 100%;
  margin: 0 auto 1.5rem;
}
.lp2026-main .txt-box .btn-contact a {
  background: #c80046;
  position: relative;
  font-size: 2.8rem;
  padding: 2rem 0;
  transition: .3s;
}
.lp2026-main .txt-box .btn-contact a span {
  position: relative;
  z-index: 1;
}
.lp2026-main .txt-box .btn-contact a::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 100px;
  background: linear-gradient(90deg, #f90d60, #c80046);
  z-index: 0;
  opacity: 1;
  transition: .3s;
}
.lp2026-main .txt-box .btn-contact a::after {
  content: '';
  display: block;
  width: 3rem;
  height: 3rem;
  background: url("../img/icon-arrow.svg") no-repeat center center;
  background-size: 100%;
  position: absolute;
  top: 50%;
  right: 2rem;
  transform: translateY(-50%);
  z-index: 1;
  transition: .3s;
}
@media screen and (min-width: 768px) {
  .lp2026-main .txt-box .btn-contact a:hover {
    opacity: 1;
  }
  .lp2026-main .txt-box .btn-contact a:hover::before {
    opacity: 0;
  }
  .lp2026-main .txt-box .btn-contact a:hover::after {
    right: 1rem;
  }
}
@media screen and (max-width: 767px) {
  .lp2026-main {
    height: auto;
    background: url(../img/mv-bg_sp.png) no-repeat center;
    background-size: cover;
    aspect-ratio: 75 / 130;
  }
  .lp2026-main .txt-box {
    width: 100%;
    top: 35%;
    transform: translate(-50%, -50%);
  }
  .lp2026-main .txt-box h2 {
    font-size: 3.85rem;
    letter-spacing: -.05rem;
    margin-bottom: 3rem;
  }
  .lp2026-main .txt-box h2 .catch {
    font-size: 10.3rem;
    letter-spacing: 0.1rem;
  }
  .lp2026-main .txt-box h2 .catch-s {
    font-size: 8.79rem;
  }
  .lp2026-main .txt-box .catch-tit {
    font-size: 4.0rem;
    margin-bottom: 3rem;
  }
  .lp2026-main .txt-box .catch-txt {
    font-size: 3.2rem;
    line-height: 1.35;
    margin-bottom: 4rem;
  }
  .lp2026-main .txt-box .btn-contact {
    max-width: 100%;
  }
  .lp2026-main .txt-box .btn-contact a {
    font-size: 4.2rem;
    padding: 3rem 0;
  }
  .lp2026-main .txt-box .btn-contact a::after {
    width: 4.5rem;
    height: 4.5rem;
  }
  .lp2026-main::after {
    bottom: -5rem;
    left: 50%;
    transform: translate(-50%, 0);
    width: 86.666%;
  }
}
/* --- MVアニメーション用 --- */
/* テキストボックス：最初は透明 */
.lp2026-main .txt-box {
  opacity: 0;
  transition: opacity 1.0s ease-out;
}
/* テキストボックス表示時 */
.lp2026-main .txt-box.is-visible {
  opacity: 1;
}

/* MVの擬似要素(::after)用：最初は少し上にずらして透明 */
.lp2026-main::after {
  opacity: 0;
  /* 元のtransformを維持しつつ、上に5remずらす */
  transition: opacity 1.2s ease-out, transform 1.2s ease-out;
}

/* PC用のアニメーション後状態 */
@media screen and (min-width: 768px) {
  .lp2026-main::after { transform: translate(2rem, -5rem); }
  .lp2026-main.is-image-visible::after {
    opacity: 1;
    transform: translate(2rem, 0); /* 上から下へ */
  }
}

/* SP用のアニメーション後状態 */
@media screen and (max-width: 767px) {
  .lp2026-main::after { transform: translate(-50%, -5rem); }
  .lp2026-main.is-image-visible::after {
    opacity: 1;
    transform: translate(-50%, 0); /* 上から下へ */
  }
}
.scrollItem {
  opacity: 0;
  transition: all ease-in-out 0.6s;
}
.scrollItem.scrollActive {
  opacity: 1 !important;
  transform: translate(0) scale(1) !important;
}
.fadeTop {
  transform: translateY(5rem);
}
.fadeTop.scrollActive {
  transform: translate(0);
}

/*==================================================
sec common
==================================================*/
.sec-tit {
  text-align: center;
  margin-bottom: 2.5rem;
}
.sec-tit span {
  background: #de6690;
  color: #fff;
  font-size: 2.4rem;
  border-radius: .7rem;
  position: relative;
  line-height: 1.5;
  padding: 1rem 2rem;
}
.sec-tit span::after {
  content: '';
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-right: .9rem solid transparent;
  border-left: .9rem solid transparent;
  border-top: .9rem solid #de6690;
  border-bottom: 0;
  position: absolute;
  bottom: -.8rem;
  left: 50%;
  transform: translateX(-50%);
}
.sec-catch p {
  text-align: center;
  font-size: 4.0rem;
  line-height: 1.5;
  font-weight: 700;
}
.cta-btn {
  width: 72%;
  max-width: 360px;
  margin: 0 auto;
}
.cta-btn a {
  background: #c80046;
  position: relative;
  font-size: 2.8rem;
  padding: 2rem 0;
  transition: .3s;
  width: 100%;
  display: block;
  text-align: center;
  color: #fff;
  border-radius: 100px;
}
.cta-btn a span {
  position: relative;
  z-index: 1;
}
.cta-btn a::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 100px;
  background: linear-gradient(90deg, #f90d60, #c80046);
  z-index: 0;
  opacity: 1;
  transition: .3s;
}
.cta-btn a::after {
  content: '';
  display: block;
  width: 3rem;
  height: 3rem;
  background: url("../img/icon-arrow.svg") no-repeat center center;
  background-size: 100%;
  position: absolute;
  top: 50%;
  right: 2rem;
  transform: translateY(-50%);
  z-index: 1;
  transition: .3s;
}
@media screen and (min-width: 768px) {
  .cta-btn a:hover {
    opacity: 1;
  }
  .cta-btn a:hover::before {
    opacity: 0;
  }
  .cta-btn a:hover::after {
    right: 1rem;
  }
}
@media screen and (max-width: 767px) {
.sec-tit span {
  font-size: 3.12rem;
  display: inline-block;
  padding: 1rem 4rem;
}
.sec-catch p {
  font-size: 3.5rem;
  letter-spacing: -.05rem;
}
.cta-btn {
    width: 72%;
    max-width: 100%;
}
}

/*==================================================
about
==================================================*/
.about-sec {
  padding: 17rem 0 12rem;
}
.about-sec .sec-catch {
  margin-bottom: 7rem;
}
.about-sec h3 {
  text-align: center;
  font-size: 2.8rem;
  margin-bottom: 3rem;
}
.about-sec .about-flex {
  position: relative;
}
.about-sec .about-flex .about-box {
  width: 49%;
  position: relative;
  border-radius: 1rem;
  aspect-ratio: 27 / 20;
  z-index: 0;
}
.about-sec .about-flex .before-box {
  background: url("../img/about-img-before.png") no-repeat center center;
  background-size: 100%;
}
.about-sec .about-flex .after-box {
  background: url("../img/about-img-after.png") no-repeat center center;
  background-size: 100%;
}
.about-sec .about-flex .before-box h4 {
  position: absolute;
  top: 2rem;
  right: 3rem;
  font-size: 5.0rem;
  color: rgba(255, 255, 255, .7);
}
.about-sec .about-flex .after-box h4 {
  position: absolute;
  top: 2rem;
  left: 3rem;
  font-size: 5.0rem;
  color: #fff;
  text-shadow: 0 0 1rem rgba(0, 0, 0, .25);
}
.about-sec .about-flex .about-box ul {
  margin: 17rem 0 8rem;
  padding: 3.5rem 0;
}
.about-sec .about-flex .before-box ul {
  background: rgba(0, 0, 0, .3);
  padding-left: 3rem;
}
.about-sec .about-flex .after-box ul {
  background: rgba(255, 255, 255, .6);
  padding-left: 13.5rem;
}
.about-sec .about-flex .about-box ul li {
  font-size: 2.0rem;
}
.about-sec .about-flex .about-box ul li:not(:last-child) {
  margin-bottom: 2rem;
}
.about-sec .about-flex .before-box ul li {
  color: #fff;
}
.about-sec .about-flex .after-box ul li {
  color: #c80046;
}
.about-sec .about-flex .before-box ul li::before {
  content: '';
  display: inline-block;
  vertical-align: middle;
  width: 2.9rem;
  height: 2.7rem;
  background: url("../img/about-icon-before.svg") no-repeat center center;
  background-size: auto 100%;
  margin-right: 1rem;
}
.about-sec .about-flex .after-box ul li::before {
  content: '';
  display: inline-block;
  vertical-align: middle;
  width: 2.9rem;
  height: 2.7rem;
  background: url("../img/about-icon-after.svg") no-repeat center center;
  background-size: auto 100%;
  margin-right: 1rem;
}
.about-sec .about-flex .center-box {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 26.5rem;
  height: 20rem;
  margin-top: 16.5rem;
  z-index: 1;
  text-align: center;
}
.about-sec .about-flex .center-box img {
  width: auto;
  height: 100%;
}
.about-sec .about-flex .center-box::before {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 2.22rem;
  height: 4rem;
  background: url("../img/about-arrow01.svg") no-repeat center center;
  background-size: 100%;
}
.about-sec .about-flex .center-box::after {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 2.22rem;
  height: 4rem;
  background: url("../img/about-arrow02.svg") no-repeat center center;
  background-size: 100%;
}
@media screen and (max-width: 767px) {
.about-sec .about-flex .about-box {
    width: 100%;
}
.about-sec .about-flex .before-box {
  margin-bottom: 7.5rem;
}
.about-sec h3 {
  font-size: 3.3rem;
  letter-spacing: -.05rem;
}
.about-sec .about-flex .after-box {
  background: url("../img/about-img-after_sp.png") no-repeat center center;
  background-size: 100%;
}
.about-sec .about-flex .before-box h4 {
  top: 2rem;
  left: 3rem;
  right: auto;
  font-size: 5.5rem;
  color: rgba(255, 255, 255, 1);
}
.about-sec .about-flex .after-box h4 {
  position: absolute;
  top: 2rem;
  left: 3rem;
  font-size: 5.5rem;
  color: #c80046;
  text-shadow: none;
}
.about-sec .about-flex .about-box ul li {
  font-size: 3.0rem;
}
.about-sec .about-flex .after-box ul {
    padding-left: 3.0rem;
}
.about-sec .about-flex .before-box ul li::before {
  width: 4.2rem;
  height: 4.0rem;
  margin-right: 1.5rem;
}
.about-sec .about-flex .after-box ul li::before {
  width: 3.6rem;
  height: 3.6rem;
  margin-right: 1rem;
}
.about-sec .about-flex .center-box {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  width: 24rem;
  height: 35.4rem;
  margin-top: 5.7rem;
}
.about-sec .about-flex .center-box img {
    width: 100%;
    height: auto;
}
.about-sec .about-flex .center-box::before {
  top: -5.5rem;
  left: 50%;
  transform: translateX(-50%) rotate(90deg);
  width: 3.31rem;
  height: 6rem;
}
.about-sec .about-flex .center-box::after {
  top: auto;
  right: auto;
  transform: translateX(-50%) rotate(90deg);
  width: 3.31rem;
  height: 6rem;
  bottom: 4.5rem;
  left: 50%;
}
}

/*==================================================
feature
==================================================*/
.feature-sec {
  padding: 9rem 0 13.5rem;
  background-image: linear-gradient(to bottom, #fcf2f6, #e999b5);
  position: relative;
}
.feature-sec::after {
  content: '';
  display: block;
  width: 100%;
  aspect-ratio: 1440 / 108;
  background: url("../img/feature-bg-after.svg") no-repeat top center;
  background-size: 100%;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 99%);
  z-index: 0;
  max-width: 1500px;
}
.feature-sec .wrap {
  padding-right: 25rem;
  position: relative;
  z-index: 1;
}
.feature-sec .sec-catch {
  margin-bottom: 6rem;
}
.feature-sec .feature-flex {
  position: relative;
  z-index: 1;
}
.feature-sec .feature-box {
  width: 48.78%;
  padding: 2rem 1rem 2rem 2rem;
  background: #fff;
  border-radius: 1rem;
  margin-bottom: 2rem;
  position: relative;
  z-index: 1;
  align-items: center;
  box-shadow: 0 0 1rem rgba(0, 0, 0, .1);
}
.feature-sec .feature-box:nth-last-child(2), .feature-sec .feature-box:last-child {
  margin-bottom: 0;
}
.feature-sec .feature-box figure {
  width: 30%;
}
.feature-sec .feature-box .feature-txt-box {
  width: 66%;
}
.feature-sec .feature-txt-box h3 {
  font-size: 2.4rem;
  font-weight: 700;
  color: #c80046;
  margin-bottom: 1.5rem;
}
.feature-sec .feature-img {
  position: absolute;
  top: 10rem;
  right: 0;
  transform: translateX(40%);
  width: 45.5%;
  z-index: 0;
}
.feature-sec .feature-icon {
  position: absolute;
  top: 8rem;
  right: 0;
  width: 16rem;
  z-index: 1;
}
.feature-sec .plus-box p {
  text-align: center;
  font-size: 9.0rem;
  color: #fff;
  padding: 1rem 0 2rem;
  line-height: 1;
}
.feature-sec .cashless-box {
  width: 100%;
  padding: 2rem 1rem 2rem 2rem;
  background: #fff;
  border-radius: 1rem;
  margin-bottom: 2rem;
  align-items: center;
  justify-content: center;
}
.feature-sec .cashless-box figure {
  width: 26.4%;
  margin-right: 5%;
}
.feature-sec .cashless-box .feature-txt-box {}
.feature-sec .cashless-box .feature-txt-box p {
  margin-bottom: .5rem;
}
.feature-sec .cashless-box .feature-txt-box .ex-txt {
  font-size: 1.2rem;
}
.feature-sec .feature-bottom {
  position: absolute;
  bottom: -1.5rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
}
.feature-sec .feature-bottom p {
  font-size: 2.8rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.5;
  color: #fff;
}
@media screen and (max-width: 767px) {
.feature-sec {
    padding: 9rem 0 6.5rem;
}
.feature-sec .wrap {
    padding-right: 5%;
}
.feature-sec .feature-box {
  width: 100%;
  padding: 3rem 2rem 3rem 3rem;
}
.feature-sec .feature-box figure {
    width: 20%;
}
.feature-sec .feature-box .feature-txt-box {
    width: 76%;
}
.feature-sec .feature-txt-box h3 {
    font-size: 3.6rem;
}
.feature-sec .feature-txt-box p {
  line-height: 1.35;
}
.feature-sec .feature-box:nth-last-child(2) {
    margin-bottom: 2rem;
}
.feature-sec .cashless-box {
  padding: 3rem 3rem;
}
.feature-sec .cashless-box h3 {
  text-align: center;
}
.feature-sec .cashless-box p {
  text-align: center;
  margin-bottom: 2rem !important;
}
.feature-sec .cashless-box figure {
    width: 100%;
    margin-right: 0;
  margin-bottom: 2rem;
}
.feature-sec .cashless-box .feature-txt-box .ex-txt {
  text-align: center;
  font-size: 1.8rem;
  letter-spacing: 0;
  margin: 0 -1rem !important;
}
.feature-sec .feature-bottom p {
    font-size: 3.2rem;
}
.feature-sec .feature-bottom {
  position: relative;
    bottom: 0;
    left: 0;
    transform: none;
    z-index: 1;
    width: 65%;
        padding-top: 7rem;
        padding-left: 5%;
}
.feature-sec .feature-img {
    top: auto;
    right: 0;
    transform: none;
    width: 34.5%;
    bottom: -42rem;
}
.feature-sec .feature-icon {
    position: absolute;
    top: auto;
    right: 22%;
    width: 13rem;
    z-index: 1;
    bottom: -31rem;
}
.feature-sec .sec-tit span {
  width: 100%;
  padding: 1rem 0;
}
}

/*==================================================
benefit
==================================================*/
.benefit-sec {
  padding: 20rem 0 7rem;
  background: url("../img/benefit-bg.png") no-repeat top center;
  background-size: cover;
}
.benefit-sec .sec-catch {
  margin-bottom: 4rem;
}
.benefit-sec h3 {
  text-align: center;
  font-size: 2.8rem;
  margin-bottom: 3rem;
}
.benefit-sec .benefit-flex {
  position: relative;
}
.benefit-sec .benefit-box {
  width: 30.9%;
}
.benefit-sec .benefit-box figure {
  margin-bottom: 1.5rem;
}
.benefit-sec .benefit-box h4 {
  text-align: center;
  font-size: 3.0rem;
  margin-bottom: 1.5rem;
}
.benefit-sec .benefit-box p {
  text-align: center;
}
.benefit-sec .benefit-cta {
  margin-top: 10rem;
}
.benefit-sec .benefit-cta p {
  text-align: center;
  font-size: 2.2rem;
  line-height: 1.5;
  margin-bottom: 1rem;
}
@media screen and (max-width: 767px) {
.benefit-sec {
    padding: 20rem 0 10rem;
}
.benefit-sec .sec-catch p {
  font-size: 4.6rem;
}
.benefit-sec h3 {
  font-size: 3.0rem;
  line-height: 1.5;
}
.benefit-sec .benefit-box {
  width: 100%;
}
.benefit-sec .benefit-box:not(:last-child) {
  margin-bottom: 2rem;
}
.benefit-sec .benefit-box figure {
    margin-bottom: 1rem;
}
.benefit-sec .benefit-box h4 {
    font-size: 4.8rem;
    margin-bottom: 1rem;
}
.benefit-sec .benefit-cta p {
    font-size: 3.2rem;
    margin: 0 -5% 4rem;
        letter-spacing: -.05rem;
}

.benefit-sec .benefit-cta a {
    font-size: 4.2rem;
    padding: 3rem 0;
  }
.benefit-sec .benefit-cta a::after {
    width: 4.5rem;
    height: 4.5rem;
}
}

/*==================================================
shipping
==================================================*/
.shipping-sec {
  padding: 11rem 0 7rem;
  background: url("../img/step-bg.png") no-repeat top center;
  background-size: cover;
}
.shipping-sec .shipping-top {
  width: 45.45%;
  margin: 0 auto 3.2rem;
}
.shipping-sec .sec-catch {
  margin-bottom: 2.5rem;
}
.shipping-sec h3 {
  text-align: center;
  font-size: 2.4rem;
  font-weight: 700;
  margin-bottom: 5rem;
  line-height: 1.5;
}
.shipping-sec .shipping-txt {
  text-align: center;
  font-size: 2.0rem;
  margin: 0 auto 3rem;
}
.shipping-sec .shipping-flex {
  position: relative;
}
.shipping-sec .shipping-left-box {
  width: 43.45%;
}
.shipping-sec .shipping-right-box {
  width: 54.55%;
  padding-top: 1.8rem;
}
@media screen and (max-width: 767px) {
.shipping-sec .shipping-top {
    width: 75%;
    margin: 0 auto 3.2rem;
}
.shipping-sec .sec-catch p {
  font-size: 4.6rem;
  letter-spacing: .1rem;
}
.shipping-sec h3 {
    font-size: 2.9rem;
}
.shipping-sec .shipping-txt {
    font-size: 2.8rem;
}
.shipping-sec .shipping-left-box {
    width: 110%;
    margin: 0 -5% 5rem;
}
.shipping-sec .shipping-right-box {
  width: 112%;
  margin: 0 -6%;
}
}

/*==================================================
cta
==================================================*/
.cta-sec {
  padding: 8.5rem 0 0;
  background-image: linear-gradient(#c8004680, #c800461c 75%, #c800461a), url("../img/cta-bg.png");
  background-repeat: no-repeat;
  background-position: top center;
  background-size: 100%;
  position: relative;
}
.cta-sec .img-box {
  width: 46%;
}
.cta-sec .txt-box {
  width: 60%;
  margin-left: -8%;
  padding-top: 8rem;
}
.cta-sec h2 {
  width: 100%;
  margin: 0 auto -2rem;
}
.cta-sec p {
  text-align: center;
  font-size: 2.8rem;
  margin: 0 auto 2rem;
}
@media screen and (max-width: 767px) {
.cta-sec .img-box {
  width: 70%;
  order: 2;
  margin: 0 auto;
  padding-left: 6rem;
}
.cta-sec .txt-box {
  width: 112%;
  order: 1;
  margin: 0 -6% 9rem;
  padding-top: 0;
}
.cta-sec p {
    font-size: 3.5rem;
    margin: 0 auto 3rem;
    letter-spacing: 0;
}
.cta-btn-wrap a {
    font-size: 4.2rem;
    padding: 3rem 0;
  }
.cta-btn-wrap a::after {
    width: 4.5rem;
    height: 4.5rem;
}
}

svg {
  background: none !important;
  background-color: transparent !important;
}
@media screen and (max-width: 767px) {
  .site-footer h2 img {
    width: 38.66vw;
    max-width: 100%;
  }
  .site-footer nav .fnavi li {
    margin-top: 2.5rem;
  }
  .site-footer nav .fnavi li a {
    font-size: 2.4rem;
  }
  .site-footer address {
    font-size: 2.0rem;
  }
}