@charset "UTF-8";

/* =====================================================
   FOOTER – MYTHOS (Precision Tune)
   - underline none
   - hierarchy + rhythm (0.5px / 1-2px world)
===================================================== */

.site-footer{
  background:#1a1a1a;
  color:#aaa;
  padding:100px 20px 60px;
  text-align:center;
}

.footer-inner{
  max-width:1000px;
  margin:0 auto;
}

/* =====================================================
   NAV
===================================================== */

.footer-nav{
  margin-bottom:60px;
}

.footer-menu{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:48px;
  list-style:none;
  padding:0;
  margin:0;
}

.footer-menu a{
  font-family:var(--font-en,"Cinzel",serif);
  font-size:14px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:#bcbcbc;
  text-decoration:none;
  transition:
    color var(--dur-2) var(--ease),
    opacity var(--dur-2) var(--ease);
}

/* ★ライン完全削除 */
.footer-menu a::after{
  display:none;
}

.footer-menu a:hover{
  color:#fff;
}

/* =====================================================
   LOGO
===================================================== */

.footer-brand{
  margin-bottom:36px; /* 40 → 36（重心を少し上へ） */
}

.footer-logo img{
  width:100px;
  opacity:.9;
  transition:opacity var(--dur-2) var(--ease);
}

.footer-logo img:hover{
  opacity:1;
}

/* =====================================================
   INFO
===================================================== */

.footer-info{
  margin-bottom:24px; /* 28 → 24（間延びを防ぐ） */
  color:rgba(255,255,255,.70);
}

.footer-info p{
  margin:0 0 8px;
  font-family:var(--font-en,"Cinzel",serif);

  /* ---- Precision ---- */
  font-size:13.5px;      /* 13 → 13.5（密度を上げる） */
  letter-spacing:.16em;
  line-height:1.9;       /* 2.0 → 1.9（高級寄りの締まり） */
  /* ------------------- */

  color:inherit;
}

/* ★下線完全削除（通常リンクも線なし） */
.footer-info a{
  color:inherit;
  text-decoration:none;
  transition:opacity var(--dur-2) var(--ease);
}

.footer-info a:hover{
  opacity:.9;
}

/* TEL / ACCESS の微階層（“わずかに”） */
.footer-info p:nth-of-type(2){ /* TEL行（構造が崩れるなら後でクラス化） */
  opacity:.88;
}

.footer-info p:nth-of-type(3){ /* ACCESS行（構造が崩れるなら後でクラス化） */
  opacity:.78;
}

/* =====================================================
   SNS
===================================================== */

.footer-sns{
  margin:4px 0 26px; /* 0 0 28 → 4 0 26（詰まりの気配） */
  display:flex;
  justify-content:center;
  gap:20px;
}

.footer-sns a{
  font-size:20px;
  color:#aaa;
  transition:
    color var(--dur-2) var(--ease),
    transform var(--dur-2) var(--ease);
}

.footer-sns a:hover{
  color:#fff;
  transform:translateY(-2px);
}

/* =====================================================
   PRIVACY POLICY
===================================================== */

.footer-policy{
  margin:0 0 22px; /* 24 → 22 */
  text-align:center;
}

.footer-policy a{
  color:rgba(255,255,255,.55);
  font-family:var(--font-en,"Cinzel",serif);
  font-size:9px;
  letter-spacing:.26em;
  text-transform:uppercase;
  text-decoration:none;
  opacity:.65;
  transition:opacity var(--dur-2) var(--ease);
}

.footer-policy a:hover{
  opacity:.85;
}

/* =====================================================
   COPYRIGHT
===================================================== */

.footer-copy{
  font-size:8px;
  letter-spacing:.2em;
  opacity:.6;
}

/* =====================================================
   RESPONSIVE
===================================================== */

@media(max-width:768px){

  .site-footer{
    padding:80px 20px 50px;
  }

  .footer-menu{
    flex-wrap:wrap;
    gap:26px;
  }

  .footer-logo img{
    width:85px;
  }

  .footer-info p{
    font-size:12.5px;  /* 12 → 12.5 */
    letter-spacing:.15em;
    line-height:1.9;   /* SPも統一 */
  }

  .footer-policy a{
    font-size:8px;
    letter-spacing:.24em;
  }
}

@media (prefers-reduced-motion: reduce){
  .footer-menu a,
  .footer-logo img,
  .footer-sns a,
  .footer-policy a{
    transition:none !important;
    transform:none !important;
  }
}