html {
  box-sizing: border-box;
}

body{
  min-height:100vh;
  display: flex; 
  flex-direction: column;
}

footer { 
  margin-top: auto; /* フッターを下部に押し下げる */ 
  width: 100%; 
  background: linear-gradient(180deg, #0357AF, #111f2c); 
  padding: 0.5rem 0; 
}

.footer-top {
  height: 20px; /* ← ここが余白になる */
}

#footer-logo{
  text-align:center;
  margin:5px 0;
}

.footer-content{
  display: flex; 
  justify-content: center; 
  flex-wrap: wrap; /* ← 折り返し可能にする */ 
  gap: 0.2rem 0.3rem; /* ← 余白を相対的に */ 
  color: white; 
  font-size: 0.85rem; 
}

.footer-content div{
  margin-left:10px;
  margin-right:10px;
}

.footer-content a{
  color:white;
  text-decoration: none;
  font-size: 0.8rem;
}

.footer-content a:hover{
  color:#b3b3b3;
  /* text-decoration: none; */
}

.footer-logo{
  color:white;
}

.nav-logo-img {
  filter: brightness(0) invert(1);
  width: 1.6rem;   /* 相対値に変更 */
  height: 1.6rem;
  flex-shrink: 0; /* 文字が大きくなっても潰れない */
}
.footer-logo-img{
  width: 1.6rem;   /* 相対値に変更 */
  height: 1.6rem;
  flex-shrink: 0; /* 文字が大きくなっても潰れない */
}

.nav-logo {
  font-family: "Exo 2", sans-serif;
  font-weight: 900;
  font-style: italic;
  font-size: 1.5rem; /* rem に変更 */
  text-transform: uppercase;

  background: linear-gradient(to right, #ffffff, #f8f9fa);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;

  text-shadow: 0.2em 0.2em 0.6em rgba(255, 255, 255, 0.5);
  white-space: nowrap; /* 折り返し防止 */

  text-decoration: none;
}

.footer-modal{
  font-size: 0.8rem;
  cursor: pointer;
  margin: 0;
}
.footer-modal:hover{
  color:#b3b3b3;
}
.footer-copyright{
  font-size: 0.8rem;
  margin-top: 0.5rem;
}

@media screen and (max-width: 768px){
  body{
    /* padding-bottom:150px; */
  }
  .footer-content{
    /* flex-direction: column; */
    align-items: center;
  }
  
  .footer-content div{
    margin-left: 5px;
    margin-right: 5px;
    /* margin-bottom: 2px; */
  }

  .footer-content a{
    font-size: 12px;
  }
  .footer-modal{
    font-size: 12px;
  }
  .footer-copyright{
    font-size: 12px;
  }
}