/* =========================================
   FOOTER LUX TEST
   (Reserve以外のページ用)
========================================= */

#footer{
  background:#000;
  color:#fff;
}

/* ================= MAP ================= */

#lp-footer-map{
  border-top:1px solid rgba(212,175,55,.3);
  border-bottom:1px solid rgba(212,175,55,.3);
}

#lp-footer-map iframe{
  width:100%;
  height:450px;
  border:0;
  filter: grayscale(100%) brightness(.85) contrast(1.1);
}

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

#lp-footer-info{
  background:#000;
  padding:90px 0;
}

#lp-footer-info .label{
  color:#c9a24d;
  letter-spacing:.12em;
}

#lp-footer-info .addr,
#lp-footer-info .info{
  color:#ccc;
}

/* OPEN / CLOSE */

#lp-footer-info-open .label{
  color:#c9a24d;
}

#lp-footer-info-open .time,
#lp-footer-info-open .day{
  color:#fff;
}

/* ================= PHONE BUTTON ================= */

#footer .btn-lux a{
  border:1px solid #c9a24d;
  color:#c9a24d;
  background:transparent;
  transition:.3s;
}

#footer .btn-lux a:hover{
  background:#c9a24d;
  color:#000;
}

/* ================= FOOTER PHONE RECTANGLE ================= */

#footer .btn-lux a{
  border-radius:0;
  padding:14px 28px;
}
/* ================= FOOTER LINKS ================= */

.footer-links .btn{
  border:1px solid rgba(212,175,55,.25);
  background:#000;
}

.footer-links .btn-label{
  color:#fff;
}

.footer-links .btn:hover{
  background:#c9a24d;
}

.footer-links .btn:hover .btn-label{
  color:#000;
}

/* ================= MOBILE FOOTER LINKS ================= */

.mobile-footer-links a{
  color:#fff;
  text-decoration:none;
}

.mobile-footer-links a:hover{
  background:#c9a24d;
  color:#000;
}

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

#footer .section-main a img{
  filter: grayscale(100%);
}

#footer .section-main a{
  border:1px solid rgba(212,175,55,.4);
  border-radius:50%;
  padding:10px;
  transition:.3s;
}

#footer .section-main a:hover{
  background:#c9a24d;
}

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

.section-footer{
  background:#000;
  border-top:1px solid rgba(212,175,55,.2);
  padding:40px 0;
}

.section-footer .copyright{
  color:#aaa;
  font-size:12px;
  letter-spacing:.15em;
}
/* ================= SNS LUX ================= */

.footer-sns{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:22px;
  margin:40px 0;
}

.footer-sns .sns-icon{
  width:56px;
  height:56px;
  border:1px solid #c9a24d;
  border-radius:50%;
  display:flex;
  justify-content:center;
  align-items:center;
  transition:.3s;
  background:#000;
}

.footer-sns .sns-icon img{
  width:26px;
  height:26px;
  object-fit:contain;
  filter: grayscale(100%);
}

.footer-sns .sns-icon svg{
  color:#c9a24d;
}

.footer-sns .sns-icon:hover{
  background:#c9a24d;
}

.footer-sns .sns-icon:hover img{
  filter:none;
}

.footer-sns .sns-icon:hover svg{
  color:#000;
}
/* ================= LOCATION BADGE ================= */

#lp-footer-info .location span{
  display:inline-block;
  padding:6px 18px;
  border:1px solid #c9a24d;
  color:#c9a24d;
  letter-spacing:.2em;
  font-size:13px;
  background:#000;
}
/* ================= PC FOOTER LINK FIX ================= */

@media (min-width:769px){

  .footer-links .btn:hover{
    background:#000;
  }

  .footer-links .btn:hover .btn-label{
    color:#fff;
  }

}
/* ================= SVG SNS ================= */

.footer-sns{
  display:flex;
  justify-content:center;
  gap:24px;
  margin:40px 0;
}

.footer-sns .sns-icon{
  width:56px;
  height:56px;
  border:1px solid #c9a24d;
  border-radius:0;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:.3s;
  background:#000;
  color:#c9a24d;
}

.footer-sns .sns-icon svg{
  width:22px;
  height:22px;
}

.footer-sns .sns-icon:hover{
  background:#c9a24d;
  color:#000;
}
/* ================= OPEN CLOSE SEPARATOR ================= */

#lp-footer-info-open li{
  display:flex;
  align-items:center;
  gap:14px;
}

/* 縦ライン */
#lp-footer-info-open .label.sans-serif{
  position:relative;
  padding-right:18px;
}

#lp-footer-info-open .label.sans-serif::after{
  content:"";
  position:absolute;
  right:0;
  top:50%;
  transform:translateY(-50%);
  width:1px;
  height:18px;
  background:rgba(212,175,55,.6);
}
/* ================= OPEN CLOSE SEPARATOR ================= */

#lp-footer-info-open li{
  display:flex;
  align-items:center;
  gap:14px;
}

/* 縦ライン */
#lp-footer-info-open .label.sans-serif{
  position:relative;
  padding-right:18px;
}

#lp-footer-info-open .label.sans-serif::after{
  content:"";
  position:absolute;
  right:0;
  top:50%;
  transform:translateY(-50%);
  width:1px;
  height:18px;
  background:rgba(212,175,55,.6);
}
/* ================= OPEN CLOSE SEPARATOR ================= */

#lp-footer-info-open li{
  display:flex;
  align-items:center;
  gap:14px;
}

/* 縦ライン */
#lp-footer-info-open .label.sans-serif{
  position:relative;
  padding-right:18px;
}

#lp-footer-info-open .label.sans-serif::after{
  content:"";
  position:absolute;
  right:0;
  top:50%;
  transform:translateY(-50%);
  width:1px;
  height:18px;
  background:rgba(212,175,55,.6);
}
/* ================= PHONE RECTANGLE FORCE ================= */

#footer .btn-lux a{
  border-radius:0 !important;
  padding:16px 40px;
}

#footer .btn-lux{
  border-radius:0 !important;
}
/* ================= BREADCRUMB BLACK ================= */

.breadcrumb{
  background:#000;
  padding:15px 0;
}

.breadcrumb a{
  color:#fff;
}

.breadcrumb span{
  color:#c9a24d;
}
/* =========================================
   GLOBAL SNS FIX (Birthday方式 / 強制リセット)
   - 楕円を絶対に正円に
   - サイズも小さめに統一
========================================= */

/* SNSエリアだけ全部リセット（他は触らない） */
.footer-sns,
.footer-sns *{
  background-image:none !important;
  box-shadow:none !important;
  text-decoration:none !important;
}

.footer-sns *::before,
.footer-sns *::after{
  content:none !important;
  display:none !important;
}

/* コンテナ */
.footer-sns{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  gap:18px !important;
  margin:34px 0 !important;
}

/* アイコン（リンク）＝正円を強制 */
.footer-sns a.sns-icon{
  width:48px !important;
  height:48px !important;
  flex:0 0 48px !important;

  display:flex !important;
  align-items:center !important;
  justify-content:center !important;

  padding:0 !important;
  margin:0 !important;
  line-height:0 !important;

  border:1px solid rgba(201,162,77,.6) !important;
  border-radius:50% !important;
  box-sizing:border-box !important;
  overflow:hidden !important;

  background:transparent !important;
  color:#c9a24d !important;
}

/* SVGサイズ固定 */
.footer-sns a.sns-icon svg{
  width:20px !important;
  height:20px !important;
  display:block !important;
}

/* hover（PCだけ軽く） */
@media (hover:hover){
  .footer-sns a.sns-icon:hover{
    background:#c9a24d !important;
    color:#000 !important;
  }
}

/* スマホはさらに小さく */
@media (max-width:768px){
  .footer-sns{
    gap:16px !important;
    margin:28px 0 !important;
  }
  .footer-sns a.sns-icon{
    width:44px !important;
    height:44px !important;
    flex:0 0 44px !important;
  }
}
/* =========================================
   PC: footer-links hover で文字が黒くなる問題を完全停止
========================================= */
@media (min-width:769px){

  /* 何があっても白文字 */
  #footer .footer-links a,
  #footer .footer-links .btn-label{
    color:#fff !important;
  }

  /* hover/focus/active でも白文字固定 */
  #footer .footer-links a:hover,
  #footer .footer-links a:focus,
  #footer .footer-links a:active,
  #footer .footer-links .btn:hover .btn-label,
  #footer .footer-links .btn:focus .btn-label,
  #footer .footer-links .btn:active .btn-label{
    color:#fff !important;
  }

  /* 背景も変えない（黒固定） */
  #footer .footer-links .btn,
  #footer .footer-links .btn:hover,
  #footer .footer-links .btn a,
  #footer .footer-links .btn a:hover{
    background:transparent !important;
  }
}
/* =========================================
   PC: footer-links のゴールド枠を完全に消す（最終強制）
========================================= */
@media (min-width:769px){

  /* どこにborderが付いていても全部消す */
  #footer .footer-links .btn,
  #footer .footer-links .btn-reservation,
  #footer .footer-links .btn a,
  #footer .footer-links .btn-reservation a,
  #footer .footer-links .btn-label{
    border:0 !important;
    outline:0 !important;
    box-shadow:none !important;
    background:transparent !important;
  }

  /* もし疑似要素で枠が出てる場合も潰す */
  #footer .footer-links .btn::before,
  #footer .footer-links .btn::after,
  #footer .footer-links .btn a::before,
  #footer .footer-links .btn a::after,
  #footer .footer-links .btn-label::before,
  #footer .footer-links .btn-label::after{
    content:none !important;
    display:none !important;
  }
}