/* =========================================================
   1. 背景設定
   ========================================================= */
body {
  background-image: url("https://s3-ap-northeast-1.amazonaws.com/s3.peraichi.com/userData/dc7e5d13-c41f-4f4a-a1af-491016fdc184/img/e7783db0-63e8-013e-a8d5-0a58a9feac02/CSS%E5%9B%BA%E5%AE%9A%E8%83%8C%E6%99%AF04.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  background-attachment: fixed;
}

/* =========================================================
   2. グローバルヘッダー（PC基準）
   ========================================================= */
.global-header {
  display: flex;
  justify-content: center;  /* メニュー中央寄せ */
  align-items: center;
  background: rgba(255,255,255,0.85); /* 透過 */
  backdrop-filter: blur(6px);         /* 背景をぼかす */
  padding: 10px 20px;
  flex-wrap: wrap;
  z-index: 9999;
  font-size: 14px;
  position: fixed;
  top: 0; left: 0; right: 0;
  box-shadow: none;
}

/* ハンバーガー */
.hamburger {
  display: none;
  flex-direction: column;
  gap: 5px;
  cursor: pointer;
}
.hamburger span {
  background: #000;
  height: 3px;
  width: 25px;
  border-radius: 3px;
}

/* ナビ部分 */
.nav-wrapper {
  display: flex;
  justify-content: center;
  background: transparent;
}
.global-nav {
  display: flex;
  gap: 24px;
  align-items: center;
}
.nav-item {
  position: relative;
  font-weight: bold;
}
.nav-item > a.nav-link {
  color: #1B2846 !important;
  text-decoration: none !important;
  display: inline-block;
  padding: 4px 0;
}

/* サブメニュー */
.submenu {
  display: none;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(0,0,0,0.9);
  border-radius: 6px;
  padding: 0.5em 0;
  min-width: 200px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.3);
  opacity: 0;
  transition: opacity 0.4s ease, transform 0.4s ease;
  z-index: 9999;
}
.submenu a {
  display: block;
  padding: 10px 16px;
  color: #fff !important;
  text-decoration: none !important;
  font-weight: normal;
}
.submenu a:hover {background: rgba(255,255,255,0.1);}
.nav-item:hover .submenu {
  display: block;
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

/* =========================================================
   3. PC版：右上 TEL情報＋翻訳＋ボタン
   ========================================================= */
.header-right {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-left: 40px;
}
.tel-info {
  text-align: right;
  font-size: 13px;
}
.tel-info .tel-label {color: #000;}
.tel-info .tel-number {color: #0645AD; font-weight: bold; text-decoration: none;}
.tel-info .tel-time {color: #444; font-size: 12px;}

/* 翻訳ボタン */
#google_translate_element,
#google_translate_element_sp {
  font-size: 12px;
  margin-right: 10px;
}

/* PCボタン */
.fixed-buttons-pc a {
  padding: 6px 16px;
  border-radius: 4px;
  font-size: 14px;
  font-weight: bold;
  text-decoration: none;
  color: #fff;
}
.fixed-buttons-pc a.btn-blog {background: #1B2846;}
.fixed-buttons-pc a.btn-contact {background: #C0392B;}

/* =========================================================
   4. Google翻訳バー非表示
   ========================================================= */
.goog-te-banner-frame.skiptranslate,
.goog-te-gadget-icon {display: none !important;}
body {top: 0px !important;}

/* =========================================================
   5. スマホ版（1024px以下）
   ========================================================= */
@media (max-width:1024px) {
  .tel-info {display: none;}
  .fixed-buttons-pc {display: none;}
  .hamburger {display: flex;}
  .nav-wrapper {display: none;}

  .fixed-buttons-sp {
    display: flex;
    justify-content: space-around;
    align-items: center;
    gap: 10px;
    position: fixed;
    bottom: 0; left: 0; right: 0;
    background: rgba(255,255,255,0.9);
    padding: 10px;
    z-index: 10000;
    border-top: 1px solid #ddd;
    backdrop-filter: blur(6px);
  }
  .fixed-buttons-sp a {
    flex: 1;
    text-align: center;
    padding: 10px 0;
    border-radius: 6px;
    text-decoration: none;
    font-size: 14px;
    font-weight: bold;
    color: #fff;
  }
  .fixed-buttons-sp a.btn-blog {background: #1B2846;}
  .fixed-buttons-sp a.btn-contact {background: #C0392B;}
}

/* =========================================================
   6. スマホ版（768px以下詳細）
   ========================================================= */
@media (max-width:768px) {
  .nav-wrapper {
    display: none;
    flex-direction: column;
    width: 100%;
    background: rgba(255,255,255,0.9);
    margin-top: 10px;
    padding-bottom: 1em;
    backdrop-filter: blur(6px);
  }
  .nav-wrapper.active {display: flex;}
  .global-nav {flex-direction: column; width: 100%;}
  .nav-item {
    padding: 0;
    border-top: 1px solid rgba(0,0,0,0.1);
    width: 100%;
    font-size: 16px;
  }
  .nav-item:hover .submenu {
    position: relative;
    transform: none;
    opacity: 1;
    display: block;
  }
  .submenu {
    position: relative;
    top: 0; left: 0;
    transform: none;
    padding-left: 20px;
    background: rgba(0,0,0,0.8);
    opacity: 1;
    display: none;
    box-shadow: none;
  }
  .nav-item:focus-within .submenu,
  .nav-item:active .submenu {display: block;}
}

 /* =========================================================
   ★★★ フッター ★★★
   PC: 4カラム、白文字リンク
   タブレット: 2カラム
   SP: 1カラム、ロゴ縮小
   ========================================================= */
.ifb-footer{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:40px;align-items:start;}
.ifb-footer ul{list-style:none;margin:0;padding:0;}
.ifb-footer li{margin:0 0 6px 0;}
.ifb-footer a{color:#fff;text-decoration:none;}
.ifb-footer a:hover{text-decoration:underline;}
.ifb-logo img{max-width:180px;height:auto;display:block;}
.ifb-bottom{margin-top:28px;padding-top:20px;border-top:1px solid #d9d9d9;text-align:center;font-size:12px;color:#fff;}
@media(max-width:1024px){.ifb-footer{grid-template-columns:1fr 1fr;gap:20px;}}
@media(max-width:640px){.ifb-footer{grid-template-columns:1fr;gap:16px;}.ifb-logo img{max-width:160px;}}
