/* =========================================================
   ★★★ 1. 背景 & グローバルメニュー基本調整 ★★★
   ========================================================= */

/* 背景画像設定（全体） */
body{background-image:url("https://s3-ap-northeast-1.amazonaws.com/s3.peraichi.com/userData/73ac54a2-deb5-4db8-823a-3d51d9328ac4/img/0d172c70-6eb1-013e-bd60-0a58a9feac02/%E5%9B%BA%E5%AE%9A%E8%83%8C%E6%99%AF%E8%A7%A3%E7%B4%84%E4%BD%8F%E5%B1%85%E9%A7%90%E8%BB%8A%E5%A0%B4.jpg");background-size:cover;background-repeat:no-repeat;background-position:center center;background-attachment:fixed;}
/* ▼ グローバルメニュー調整（必要なときだけ有効化）
#section-29{background-color:transparent!important;box-shadow:none!important;border:none!important;}
#section-29 *{background-color:transparent!important;color:#000!important;text-shadow:none!important;}
#section-29 img{max-height:48px;}
▼ ここまで */

/* =========================================================
   ★★★ グローバルメニュー ★★★
   ========================================================= */
.global-header {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  background: #fff;
  padding: 1em 160px 1em 2%; /* 右に余白を確保（PCボタン分 約160px） */
  flex-wrap: wrap;
  z-index: 9999;
  font-size: 14px;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  box-shadow: 0 2px 6px rgba(0,0,0,0.05);
}
.global-logo img {height: 40px; width: auto; display: block;}
.hamburger {display: none; flex-direction: column; gap: 5px; cursor: pointer; margin-left: auto;}
.hamburger span {background: #000; height: 3px; width: 25px; border-radius: 3px;}

/* ▼ ナビ部分を中央揃え */
.nav-wrapper {
  display: flex;
  flex: 1;
  justify-content: center; /* ← 中央揃え */
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
  margin-left: 30px;
}
.global-nav {
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
  align-items: center;
}
.nav-item {position: relative; color: #1B2846; cursor: pointer; font-weight: bold;}
.nav-item>a.nav-link {color: #1B2846; text-decoration: none; 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; text-decoration: none; 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);}

/* =========================================================
   ★★★ PC専用: 固定ボタン (btn1=LINE / btn2=Instagram) ★★★
   ========================================================= */
.fixed-buttons-pc {
  position: fixed;
  top: 10px;
  right: 20px;
  display: flex;
  gap: 10px;
  z-index: 10000;
}
.fixed-buttons-pc a {
  padding: 8px 14px;
  border-radius: 6px;
  font-size: 14px;
  text-decoration: none;
  color: #fff;
  font-weight: bold;
}
.fixed-buttons-pc a.btn1 {background: #06C755;} /* LINE */
.fixed-buttons-pc a.btn2 {
  background: linear-gradient(45deg, #f58529, #dd2a7b, #8134af, #515bd4);
} /* Instagram */

/* =========================================================
   ★★★ スマホ専用: 下部固定ボタン ★★★
   ========================================================= */
.fixed-buttons-sp {display: none;}

/* --- 幅が狭いPC（1024px以下）はスマホ扱いに切替 --- */
@media(max-width:1024px) {
  .global-header {padding-right: 2%;}  /* PCボタン分の余白を戻す */
  .fixed-buttons-pc {display: none;}   /* 上部ボタン非表示 */
  .hamburger {display: flex!important;} /* ハンバーガー強制表示 */
  .nav-wrapper {display: none;}        /* デフォルト非表示 */
  .fixed-buttons-sp {                  /* 下部ボタンを表示 */
    display: flex;
    justify-content: space-around;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: #fff;
    padding: 10px;
    z-index: 10000;
    border-top: 1px solid #ddd;
  }
  .fixed-buttons-sp a {
    flex: 1;
    margin: 0 5px;
    text-align: center;
    padding: 10px 0;
    border-radius: 6px;
    text-decoration: none;
    font-size: 16px;
    font-weight: bold;
    color: #fff;
  }
  .fixed-buttons-sp a.btn1 {background: #06C755;} /* LINE */
  .fixed-buttons-sp a.btn2 {
    background: linear-gradient(45deg, #f58529, #dd2a7b, #8134af, #515bd4);
  } /* Instagram */
}

/* =========================================================
   ★★★ スマホ: グローバルメニュー調整 (768px以下) ★★★
   ========================================================= */
@media(max-width:768px) {
  .global-logo img {height: 30px;}
  .hamburger {display: flex!important;}
  .nav-wrapper {display: none; flex-direction: column; width: 100%; background: #fff; margin-top: 10px; padding-bottom: 1em;}
  .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.7); 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;}}

/* =========================================================
   ★★★ 物件一覧 ★★★
   PC: グリッドで3列、見出しは濃紺背景
   SP: フォントサイズ縮小＋横スクロール許可
   ========================================================= */
.property-list{display:grid;grid-template-columns:1fr 2fr 0.5fr;border:1px solid #333;font-size:14px;text-align:center;}
.property-list div{border-bottom:1px solid #ccc;border-right:1px solid #ccc;padding:8px;}
.property-list div:nth-child(3n){border-right:none;}
.property-header{background:#1B2846;color:#fff;font-weight:bold;}
.property-list a{color:#1B2846;font-weight:bold;text-decoration:none;}
.property-list a:hover{text-decoration:underline;}
@media(max-width:768px){.property-list{font-size:13px;overflow-x:auto;}}

  
/* =========================================================
   ★★★ 画像ギャラリー ★★★
   PC/SP共通: 5列のグリッド。クリックでモーダル表示。
   ========================================================= */
.gallery{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;max-width:1000px;margin:0 auto;}
.gallery img{width:100%;cursor:pointer;border-radius:6px;transition:transform 0.2s;}
.gallery img:hover{transform:scale(1.05);}
.modal{display:none;position:fixed;z-index:9999;padding-top:60px;left:0;top:0;width:100%;height:100%;overflow:auto;background:rgba(0,0,0,0.8);}
.modal-content{margin:auto;display:block;max-width:90%;max-height:80vh;}
.close{position:absolute;top:20px;right:35px;color:#fff;font-size:40px;font-weight:bold;cursor:pointer;}
#caption{text-align:center;color:#ccc;padding:10px;}

