.site-footer{
  margin:0;
  padding:0;
  background:#0b2744;
  color:#fff;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
}
.final-cta{
  padding:64px 0 76px;
}
.final-cta-inner{
  width:min(calc(100% - 44px),438px);
  margin:0 auto;
}
.final-cta-title{
  margin:0 0 26px;
  color:#fff;
  font-size:30px;
  line-height:1.65;
  font-weight:700;
  letter-spacing:.02em;
  text-align:center;
}
.final-cta-text{
  margin:0 0 24px;
  color:#fff;
  font-size:15px;
  line-height:2.05;
  font-weight:500;
  letter-spacing:.01em;
}
.final-cta-button{
  display:flex;
  align-items:center;
  justify-content:center;
  width:calc(100% - 36px);
  min-height:68px;
  margin:0 auto;
  border-radius:10px;
  background:#f56a20;
  color:#fff;
  font-size:20px;
  line-height:1.3;
  font-weight:700;
  text-decoration:none;
  box-shadow:0 5px 9px rgba(0,0,0,.22);
}
.footer-info{
  width:min(calc(100% - 44px),438px);
  margin:0 auto;
  padding:38px 0 110px;
}
.footer-brand {
  margin:0 0 24px;
}
.footer-brand-lead {
  margin:0 0 2px;
  color:#e8edf5;
  font-family:"Noto Sans JP",sans-serif;
  font-size:15px;
  line-height:1.55;
  font-weight:400;
}
.footer-service-name{
  margin:0;
  color:#fff;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:27px;
  line-height:1.4;
  font-weight:700;
  letter-spacing:.02em;
}
.footer-links{
  display:grid;
  gap:15px;
  margin:0;
  padding:0;
  list-style:none;
}
.footer-links a{
  color:#dce5ef;
  font-family:"Noto Sans JP",sans-serif;
  font-size:14px;
  line-height:1.6;
  text-decoration:underline;
  text-underline-offset:2px;
}
.footer-divider{
  height:1px;
  margin:22px 0 18px;
  background:#dce5ef;
  opacity:.9;
}
.footer-disclaimer{
  margin:0;
  color:#fff;
  font-size:14px;
  line-height:2.05;
  letter-spacing:.01em;
}
@media(max-width:374px){
  .final-cta-inner,.footer-info{width:calc(100% - 32px);}
  .final-cta{padding:54px 0 66px;}
  .final-cta-title{font-size:26px;}
  .final-cta-text{font-size:14px;}
  .final-cta-button{font-size:18px;min-height:62px;}
  .footer-brand-lead{font-size:13px;}
  .footer-service-name{font-size:23px;}
  .footer-links a,.footer-disclaimer{font-size:13px;}
}
@media(min-width:768px){
  .final-cta{padding:86px 0 60px;}
  .final-cta-inner,.footer-info{width:min(100% - 64px,860px);}
  .final-cta-title{font-size:42px;}
  .final-cta-text{max-width:780px;margin-left:auto;margin-right:auto;font-size:18px;text-align:center;}
  .final-cta-button{max-width:520px;min-height:76px;font-size:23px;}
  .footer-info{padding:46px 0 54px;}
  .footer-service-name{font-size:18px;}
  .footer-links a{font-size:15px;}
  .footer-disclaimer{font-size:15px;}
}

/* PC footer-info: brand, the two links in one row, and the notice below.
   SP keeps its single-column order and divider. */
@media (min-width:768px) {
  .footer-info {
    width:min(calc(100% - 96px),1400px);
    padding:60px 0 85px;
  }
  .footer-brand {
    margin:0 0 26px;
  }
  .footer-brand-lead {
    margin-bottom:3px;
    font-size:clamp(15px,1vw,18px);
  }
  .footer-service-name {
    font-size:clamp(26px,2.1vw,34px);
    line-height:1.35;
  }
  .footer-links {
    display:flex;
    flex-wrap:wrap;
    gap:12px clamp(32px,4vw,64px);
  }
  .footer-links a {
    color:#dce5ef;
    font-size:clamp(15px,1.4vw,23px);
    line-height:1.5;
  }
  .footer-divider {
    display:none;
  }
  .footer-disclaimer {
    margin:40px 0 0;
    font-size:clamp(14px,1.35vw,21px);
    line-height:1.85;
    text-align:center;
  }
  .footer-disclaimer::after {
    content:"© free mova";
    display:block;
    margin-top:20px;
    color:#afbac8;
    font-family:"Noto Sans JP",sans-serif;
    font-size:clamp(14px,1.2vw,19px);
  }
}
@media (min-width:768px) and (max-width:1100px) {
  .footer-info {
    width:calc(100% - 64px);
    padding:60px 0 70px;
  }
  .footer-links a {
    font-size:clamp(13px,1.6vw,17px);
  }
  .footer-disclaimer {
    margin-top:24px;
    font-size:14px;
  }
}
