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

/* 背景画像設定（全体） */
body{background-image:url(""https://s3-ap-northeast-1.amazonaws.com/s3.peraichi.com/userData/73ac54a2-deb5-4db8-823a-3d51d9328ac4/img/f35672a0-6ea2-013e-9050-0a58a9feac02/%E5%9B%BA%E5%AE%9A%E8%83%8C%E6%99%AF%E3%83%AA%E3%83%92%E3%82%99%E3%83%B3%E3%82%AF%E3%82%9902.jpg"");background-size:cover;background-repeat:no-repeat;background-position:center center;background-attachment:fixed;}
                
/* 背景画像設定（トップ背景）*/
#section-37,#section-40,#section-41,#section-52,#section-50,             
#section-42,#section-25,#section-48{            
    background-image:url(""https://s3-ap-northeast-1.amazonaws.com/s3.peraichi.com/userData/73ac54a2-deb5-4db8-823a-3d51d9328ac4/img/254beb00-6b68-013e-ac2d-0a58a9feac02/%E3%83%96%E3%83%AD%E3%83%83%E3%82%AF%E8%83%8C%E6%99%AF04.jpg"");
    background-size: cover;        
    background-repeat: no-repeat;        
    background-position: center center;        
    background-attachment: fixed;        
}

/* ===== グローバルヘッダー ===== */
.global-header{
  position:fixed;top:0;left:0;right:0;z-index:10000;
  display:flex;align-items:center;gap:24px;
  padding:12px 160px 12px 16px;background:#fff;
  box-shadow:0 2px 6px rgba(0,0,0,.06)
}
.global-logo img{height:40px;width:auto;display:block}

/* ハンバーガー */
.hamburger{margin-left:auto;display:none;flex-direction:column;gap:5px;cursor:pointer}
.hamburger span{width:26px;height:3px;background:#1B2846;border-radius:2px}

/* ===== ナビ（PC） ===== */
.nav-wrapper{
  position:fixed;top:64px;left:0;right:0;z-index:9999;
  background:#fff
}
.global-nav{
  display:flex;justify-content:center;align-items:center;
  gap:28px;padding:10px 16px
}
.nav-item{
  position:relative;font-weight:600;color:#1B2846;
  cursor:pointer;white-space:nowrap
}
.nav-link{color:inherit;text-decoration:none;padding:4px 0}
.nav-link:hover{opacity:.7}

/* サブメニュー（PC） */
.submenu{
  position:absolute;top:100%;left:50%;transform:translateX(-50%);
  min-width:200px;padding:6px 0;border-radius:6px;
  background:rgba(0,0,0,.9);box-shadow:0 6px 14px rgba(0,0,0,.35);
  opacity:0;pointer-events:none;transition:.25s
}
.submenu a{
  display:block;padding:10px 16px;color:#fff;
  text-decoration:none;font-size:14px
}
.submenu a:hover{background:rgba(255,255,255,.12)}
.nav-item:hover .submenu{opacity:1;pointer-events:auto}

/* ===== PC右上 LINEボタン ===== */
.fixed-buttons-pc{
  position:fixed;top:12px;right:16px;z-index:10001
}
.fixed-buttons-pc .btn1{
  display:inline-block;padding:10px 16px;border-radius:6px;
  background:#06C755;color:#fff;font-weight:700;
  font-size:14px;text-decoration:none
}
.fixed-buttons-pc .btn1:hover{opacity:.85}

/* ===== SP下部 LINEボタン ===== */
.fixed-buttons-sp{display:none}

/* ===== 1024px以下（SP/タブレット） ===== */
@media(max-width:1024px){
  .global-header{padding-right:16px}
  .hamburger{display:flex}
  .fixed-buttons-pc{display:none}

  .nav-wrapper{display:none;top:60px}
  .nav-wrapper.active{display:block}

  .global-nav{
    flex-direction:column;align-items:flex-start;
    gap:0;padding:0
  }
  .nav-item{
    width:100%;padding:14px 16px;
    border-top:1px solid rgba(0,0,0,.08);
    font-size:16px
  }

  /* サブメニュー（SP） */
  .submenu{
    position:relative;top:auto;left:auto;transform:none;
    background:rgba(0,0,0,.75);box-shadow:none;
    opacity:1;pointer-events:auto;display:none;margin-top:8px
  }
  .submenu a{padding:12px 16px;font-size:15px}
  .nav-item:focus-within .submenu,
  .nav-item:active .submenu{display:block}
  .nav-item.open .submenu{display:block}
    
  .nav-item:hover .submenu {
    position: relative;
    transform: none;
    opacity: 1;
    display: block;
    overflow-y: auto;
    max-height: 256px;
  }
    
  /* 下部LINE */
  .fixed-buttons-sp{
    display:flex;position:fixed;bottom:0;left:0;right:0;
    padding:10px;background:#fff;border-top:1px solid #ddd;
    z-index:10001
  }
  .fixed-buttons-sp .btn1{
    flex:1;text-align:center;padding:14px 0;
    background:#06C755;color:#fff;
    font-weight:700;font-size:16px;
    border-radius:8px;text-decoration:none
  }
}


 /* =========================================================
   ★★★ フッター ★★★
   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;}