/* ===============================
★ グローバルヘッダー（固定・白背景）
 ===============================*/
.global-header {
display:flex;justify-content:space-between;align-items:center;
background:#fff;padding:1em 2%;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;}
@media(max-width:768px){.global-logo img{height:30px;}}

/* ▼ ハンバーガーメニュー */
.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;align-items:center;gap:24px;flex-wrap:wrap;}
.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-color:rgba(255,255,255,0.1);}
.nav-item:hover .submenu {display:block;opacity:1;transform:translateX(-50%) translateY(0);}

/* ===============================
★ ヘッダー：モバイル表示
 ===============================*/
@media(max-width:768px){
.global-header {flex-direction:row;justify-content:space-between;}
.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:12px 16px;border-top:1px solid rgba(0,0,0,0.1);width:100%;}
.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;}
.global-nav .nav-item,.global-nav .nav-link{line-height:1.0;} /* ← 行間を狭める */
}

/* ===============================
★ フッターサイトマップ（余白調整版）
=============================== */
.footer-wrap {
  width:100vw;margin-left:calc(50% - 50vw);
  background:#f5f5f5;
  font-size:14px;line-height:1.6;color:#1B2846;
}
.footer-inner {
  max-width:1200px;margin:0 auto;
  padding:8px 12px;
  display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:16px;
}

/* ▼ 見出し */
.footer-wrap h3{font-size:15px;margin:6px 0 4px;font-weight:700;}
.footer-wrap h3 a{color:#1B2846;text-decoration:none;}
.footer-wrap h3 a:hover{text-decoration:underline;}

/* ▼ リスト */
.footer-wrap ul{list-style:none;margin:0;padding:0;}
.footer-wrap li{margin:4px 0;}

/* ▼ リンク */
.footer-wrap a:link,.footer-wrap a:visited{color:#4b4b4b!important;text-decoration:none;}
.footer-wrap a:hover{color:#1B2846!important;text-decoration:underline;}

/* ▼ ロゴ */
.logo img {max-width:150px;height:auto;display:block;}

/* ▼ コピーライト */
.bottom {
  margin-top:12px;padding-top:8px;
  border-top:1px solid #d9d9d9;
  text-align:center;font-size:12px;color:#666;
}

/* ===============================
★ フッター：レスポンシブ対応
=============================== */
@media(max-width:1024px){.footer-inner{grid-template-columns:1fr 1fr;gap:12px;}}
@media(max-width:640px){
  .footer-inner{grid-template-columns:1fr;gap:10px;padding-left:50px;padding-right:12px;text-align:left;}
  .logo img{max-width:130px;}
}
