/* ============================================================
   renovy 共通フッター CSS
   ============================================================ */
.site-footer{
  background:#111;
  color:#a0a0a0;
  padding:clamp(64px,9vh,104px) clamp(20px,4vw,56px) clamp(28px,4vh,40px);
  font-family:"Noto Sans JP",sans-serif;
}
.site-footer .foot-inner{max-width:1240px;margin:0 auto}

.site-footer .foot-grid{display:grid;grid-template-columns:1fr;gap:clamp(40px,5vw,56px)}
@media (min-width:880px){
  .site-footer .foot-grid{grid-template-columns:1.6fr 1fr 1fr 1fr;gap:clamp(40px,4vw,72px)}
}

.site-footer .foot-brand .logo{display:inline-block;line-height:0}
.site-footer .foot-brand .logo img{
  height:60px;
  width:auto;
  display:block;
  filter:brightness(0) invert(1);
}
.site-footer .foot-brand .foot-eyebrow{
  display:block;font-family:"STIX Two Text",serif;font-size:10px;letter-spacing:.26em;color:#888;margin-top:26px;
}
.site-footer .foot-brand .foot-lead{
  font-weight:300;font-size:13px;line-height:2.1;letter-spacing:.06em;color:#a0a0a0;margin-top:14px;max-width:30em;
}
.site-footer .foot-brand .foot-lead em{font-family:"STIX Two Text",serif;font-style:italic;color:#ccc}

.site-footer .foot-col h4{
  font-family:"STIX Two Text",serif;font-weight:500;font-size:11px;letter-spacing:.2em;color:#ccc;margin-bottom:20px;
}
.site-footer .foot-col ul{list-style:none;padding:0;margin:0}
.site-footer .foot-col li + li{margin-top:13px}
.site-footer .foot-col a{
  display:inline-block;font-weight:300;font-size:12px;letter-spacing:.05em;color:#b8b8b8;text-decoration:none;transition:color .4s ease;
}
.site-footer .foot-col a:hover{color:#f0f0f0}

.site-footer .foot-rule{height:1px;background:#2a2a2a;margin:clamp(40px,6vh,64px) 0 clamp(22px,3vh,30px)}

.site-footer .foot-bot{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
@media (min-width:520px){
  .site-footer .foot-bot{flex-direction:row;justify-content:space-between;align-items:center}
}
.site-footer .foot-bot .copy{font-family:"STIX Two Text",serif;font-size:10px;letter-spacing:.14em;color:#a0a0a0}
.site-footer .foot-bot .foot-legal{display:flex;gap:22px}
.site-footer .foot-bot .foot-legal a{
  font-family:"STIX Two Text",serif;font-size:10px;letter-spacing:.14em;color:#a0a0a0;text-decoration:none;transition:color .4s ease;
}
.site-footer .foot-bot .foot-legal a:hover{color:#ccc}
.site-footer .foot-lang{display:inline-flex;align-items:center;gap:8px;font-family:"STIX Two Text",serif;font-size:11px;letter-spacing:.14em;color:#c0c0c0;margin-left:22px}
.site-footer .foot-lang .lang-switch__sep{color:#666}
.site-footer .foot-lang .lang-switch__link{padding:2px 0;color:#c0c0c0;text-decoration:none !important;transition:color .3s ease}
.site-footer .foot-lang .lang-switch__link:hover{color:#f0f0f0}
.site-footer .foot-lang .lang-switch__link.is-active{color:#f0f0f0;border-bottom:1px solid #f0f0f0}
@media (max-width:519px){
  /* SP：バーの下段を横並びに保ちつつ、言語スイッチは常に右下 */
  .site-footer .foot-bot{flex-direction:row;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px}
  .site-footer .foot-bot .foot-legal{margin-left:auto;display:flex;align-items:center;gap:14px}
  .site-footer .foot-lang{margin-left:0}
  .site-footer .foot-bot .copy{width:100%;order:2;margin-top:6px}
  .site-footer .foot-bot .foot-legal{order:1}
}
