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

/* 背景画像設定（全体） */
body{background-image:url("https://s3-ap-northeast-1.amazonaws.com/s3.peraichi.com/userData/73ac54a2-deb5-4db8-823a-3d51d9328ac4/img/b81ab040-6c28-013e-429d-0a58a9feac02/%E5%9B%BA%E5%AE%9A%E8%83%8C%E6%99%AF%E5%A3%81.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;}



