co.l-header{
  z-index: 9997;   /* ← 1 つ下げておく */
}

.l-header {
	width: 100%; /* 背景は常に画面幅いっぱい */
	height: 85px;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 9998;
	background: #fff;
	box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.2);
	display: flex;
	justify-content: center; /* 中のコンテンツを中央寄せ */
	align-items: center;
	}

.l-header__inner {
	width: 100%;
	max-width: 1920px; /* 中のコンテンツの最大幅を指定 */
	padding: 0 20px; /* 画面端との余白（必要に応じて調整） */
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 85px;
	box-sizing: border-box;
	background: transparent; /* 背景は親要素に任せる */
	}

.l-header__inner h1 {
	margin: 0;
	width: 252px; /* ロゴの幅を固定 */
	height: 100%; /* 高さをヘッダーに合わせる */
	}

.l-header__inner h1 img {
	display: block; /* 余白を防止 */
	}

.l-header__inner:before {
	content: "";
	width: 100%;
	height: 85px;
	background: #fff; /* 背景色を指定 */
	position: absolute;
	top: 0;
	left: 0;
	z-index: -100;
	}

.sp-menubtn{
	display: none;
	}

.menu__inner{
	display: flex;
	justify-content: flex-end;
	align-items: center;
	height:85px;	
	position:relative;
	}

.menu__item{
	margin:0 25px;
	height:100%;
	}

.menu__contact {
	display: flex; /* フレックスボックスを使用 */
	justify-content: center; /* 水平方向の中央揃え */
	align-items: center; /* 垂直方向の中央揃え */
	background-color: #3261B9;
	width: 200px;
	height: 100%; /* 親要素に対して100% */
	text-align: center;
	}

.menu__link{
	display:block;
	font-size: 1.0rem;
	font-weight: bold;
	color:#000;
	height:100%;
	line-height: 85px;
	}

.menu__link i {
	margin-left: 8px; /* テキストとアイコンの間にスペースを追加 */
	font-size: 0.8rem; /* アイコンのサイズを調整 */
	color: #555; /* アイコンの色を調整 */
	transition: transform 0.3s; /* アニメーションで回転効果 */
	}

.menu__link:hover i {
	transform: rotate(180deg); /* ホバー時にアイコンを反転 */	
}

/*メガメニュー*/
.menu__contents {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	width: 100%; /* 親要素全体に広げる */;
	background-color:rgba(51, 51, 51, 0.6);
	padding: 20px;
	border-radius: 0px 0px 10px 10px;
	}

.menu__contents ul {
	display: flex;
	flex-wrap: wrap; /* 子要素を折り返し可能に */
	gap: 10px; /* 子要素間の隙間 */
	justify-content: space-between; /* 均等な間隔を設定 */
	padding: 0;
	margin: 0;
	list-style: none; /* デフォルトのリストスタイルをリセット */
	}

.menu__contents ul li {
	background: #fff;
	width: calc(25% - 20px); /* 4列レイアウト用の幅設定 */
	max-width: 300px; /* 子要素が大きくなりすぎないよう制限 */
	height: 45px;	
	box-sizing: border-box; /* パディングを含めて計算 */
	font-size: 0.9rem;
	border-radius: 6px;
	}

.menu__contents ul li a {
	display: block;
	text-align: center;
	line-height: 45px;
	height: 100%; /* 親要素に高さを合わせる */
	}

@media screen and (min-width: 1368px){
  .menu{
    position: fixed;         /* ← absolute → fixed に変更 */
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    max-width: 1920px;
    width: 100%;
    height: 85px;            /* ヘッダーと同じ高さ */
    display: flex;
    justify-content: flex-end;
    align-items: center;
    background: transparent; /* 見た目は以前と同じ */
    z-index: 9999;           /* ヘッダーより上 */
    pointer-events: none;    /*←★ 任意：下のヘッダーをクリック可にしたい場合 */
  }

  .menu__inner{
    pointer-events: auto;    /*←★ メニュー内リンクはクリック可 */
  }
}

/********************************************スマホレイアウト*******************************************/

@media screen and (max-width: 1367px) {
/* ヘッダー */
.l-header {
	height: 85px;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	transform: none; 0;
	z-index: 9997;
	background: #fff;
	box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.2);
	}

.l-header__inner {
	width: 100%;
	height: 60px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
	padding: 0 10px;
	}

/* ハンバーガーアイコン（navToggle風） */
.sp-menubtn {
	display: block;
	position: fixed;
	top: 24px;
	right: 12px;
	width: 52px;
	height: 52px;
	cursor: pointer;
	z-index: 10000;   /* オーバーレイ & メニューより前 */
	background: #3261B9;
	text-align: center;
	border-radius: 6px;
	border: none;
	outline: none;
	}

.sp-menubtn:focus {
	outline: none;
	}

.sp-menubtn span {
	display: block;
	position: absolute;
	top: /* 各 nth-child で指定 */;
	left: 6px;               /* ← ここを 4px → 6px に */
	width: 40px;
	border: none;
	border-bottom: 3px solid #fff;
	transition: .35s ease-in-out;
	}	

.sp-menubtn span:nth-child(1) {
	top: 14px;
	}
.sp-menubtn span:nth-child(2) {
	top: 24px;
	}
.sp-menubtn span:nth-child(3) {
	top: 34px;
	}

/* 開閉アニメーション */
.sp-menubtn.active span:nth-child(1) {
	top: 18px;
	left: 50%;
	transform: translate(-50%, 6px) rotate(-135deg);
	width: 45%;
	}

.sp-menubtn.active span:nth-child(2) {
	opacity: 0;
	}

.sp-menubtn.active span:nth-child(3) {
	top: 30px;
	left: 50%;
	transform: translate(-50%, -6px) rotate(135deg);
	width: 45%;
	}

/* メニュー（左からスライド） */
.menu {
  position: fixed;
  top: 0;
  left: 0;
  width: 70%;
  max-width: 400px;
  height: 100%;
  background: #3261B9;
  color: #fff;
  overflow-y: auto;
  transform: translateX(-100%);
  transition: all 0.4s ease;
  z-index: 9998;
  scrollbar-gutter: stable both-edges;
}

.menu.active {
  transform: translateX(0%);
}

.menu__inner {
  display: block;
  width: 100%;
  font-size: 14px;
  padding: 0; /* デスクトップ余白リセット */
  margin: 0;  /* デスクトップ余白リセット */
}

/* 親メニューアイテム */
.menu__item {
  position: relative;
  width: 100%;
  margin: 0;                     
  height: auto !important;      
  border-bottom: 1px solid #fff;
  box-sizing: border-box;
}

/* アコーディオン用チェックボックス */
.menu__item > input[type="checkbox"] {
  display: none;
}

/* 親メニューラベル */
.menu__item > label {
  cursor: pointer;
  display: block;
  color: #fff;
  font-size: 1rem;
  font-weight: bold;
  line-height: 85px;
  background-color: transparent;
  transition: transform .2s ease, background-color .3s ease;
}

/* アコーディオン開閉 */
.menu__item > input:checked + label + .menu__contents {
  display: block;
  animation: slideDown .3s ease;
}

/* スライドダウンアニメーション */
@keyframes slideDown {
  from { max-height: 0; opacity: 0; }
  to   { max-height: 500px; opacity: 1; }
}

/* メニューリンク */
.menu__link {
  position: relative;
  display: block;
  font-size: 1rem;
  font-weight: bold;
  color: #fff !important;
  line-height: 85px;
  background-color: transparent;
  transition: transform .2s ease, background-color .3s ease;
}

/* 下線擬似要素 */
.menu__link::after {
  content: '';
  position: absolute;
  bottom: 12px;
  left: 50%;
  width: 0;
  height: 2px;
  background: rgba(255,255,255,0.8);
  transition: width .3s ease, left .3s ease;
  pointer-events: none;
}

/* タップ時アニメーション */
.menu__link:active {
  transform: scale(0.98);
  background-color: #284e8d;
}

.menu__link:active::after {
  width: 60%;
  left: 20%;
}

.menu__link i {
  display: none;
}

.menu__link:hover i {
  transform: rotate(180deg);
}

/* 最後のメニュー下線なし */
.menu__item:last-child {
  border-bottom: none;
}

/* サブメニュー（アコーディオン） */
.menu__contents {
  display: none;
  position: static !important;
  width: 100% !important;
  background: #3261B9;
  box-sizing: border-box;
  z-index: auto !important;
}

.menu__contents ul {
  display: block;
  padding: 0;
  margin: 0;
  list-style: none;
}

.menu__contents ul li {
  width: 100%;
  margin-bottom: 10px;
  background: #3261B9;
  border: 1px solid #fff;
  box-sizing: border-box;
  border-radius: 0;
  max-width: none !important;
  height: auto !important;
}

.menu__contents ul li a {
  display: block;
  text-align: center;
  line-height: 45px;
  height: 100%;
  color: #fff;
  font-size: 1rem;
  font-weight: bold;
}

.menu__contents ul li:hover {
  background-color: #eee;
}

.menu__contents ul li a:hover {
  color: #3261B9;
}

/* 背景カバー */
.menu-bg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.5);
  z-index: 9998;
  display: none;
}

.menu-bg.active {
  display: block;
}

html.menu-open,
body.menu-open {
  overflow: hidden;
  height: 100%;
}
}