@charset "utf-8";
/* CSS Document */

.hamburger-menu {
	position: fixed;
	top: 0;
	right: 0;
	z-index: 1000;
}

.hamburger {
	font-size: 30px;
	margin: 5px 10px;
	cursor: pointer;
	position: relative;
	z-index: 1001; /* メニューの上に表示 */
	/*color: #02a6a7;*/
	color: #666;
	transition: color 0.5s;
	padding: 10px 10px; /* 垂直方向のpaddingを大きくする */
	display: inline-block; /* テキストの背景と枠を適用するためにブロック要素にする */
	line-height: 30px; /* フォントサイズと同じ高さに設定 */
	text-align: center; /* テキストを中央に配置 */
}

.hamburger.open {
	color: #fff; /* メニューが表示されたときに白に変更 */
	font-size: 20px;
}

.menu-content {
	position: fixed;
	top: 0; /* 上から0pxに設定 */
	right: -100%;
	width: 30%;
	height: 100%;
	background-color: #666; /* 透明化を少し追加 */
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	transition: 0.5s;
	z-index: 999;
	padding-top: 50px; /* メニューボタンの高さを確保するためにpaddingを設定 */
	overflow-y: auto; /* 縦スクロールを許可 */
}

.menu-content p {
	width: 95%;
	margin: -35px auto 5px auto;
	text-align: center;
}

.menu-content p img {
	width: 50%;
	display: inline-block;
}

.menu-content ul {
	list-style-type: none; /* デフォルトのリストスタイルを消す */
	padding: 0; /* パディングを消す */
	margin: 0 auto 15px auto; /* マージンを消す */
	width: 90%;
	z-index: 999;
}

.menu-content li a {
	display: block;
	width: 100%;
	box-sizing: border-box; /* パディングとボーダーを幅に含める */
	border-bottom: 1px #fff dotted;
	padding: 15px 8px;
	text-decoration: none;
	color: #fff;
	font-size: 1.5rem;
}

.menu-content ul::after {
	content: "";
	display: table;
	clear: both; /* フロートをクリアする */
}

.menu-content ul li:nth-of-type(2n + 3) {
	clear: left; /* 3つ目のアイテムから次の行に移動 */
}

.menu-content ul li a:hover {
	background-color: #fff; /* ホバー時の背景色 */
	color: #071C56;
}

#overlay {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.5);
	z-index: 998;
}

body.no-scroll {
	overflow: hidden;
}

.page-top {
	position: fixed;
	text-align: center;
	bottom: 0px;
	right: 10px;
	line-height: 1.2em;
	background-color: #666;
	color: #fff;
	opacity: 0.8;
	padding: 15px 13px;
	border-top-left-radius: 5px;
	border-top-right-radius: 5px;
	cursor: pointer;
	z-index: 1000;
	transition: transform 0.3s ease, opacity 0.3s ease, visibility 0.3s ease;
	transform: translateY(100%);
	visibility: hidden;
}

.reserve-tel {
	position: fixed;
	text-align: center;
	bottom: 120px;
	right: 10px;
	background-color: #00B900;
	color: #fff;
	font-size: 130%;
	line-height: 130%;
	opacity: 0.8;
	padding: 10px 12px;
	border-radius: 5px;
	cursor: pointer;
	z-index: 1000;
	transition: transform 0.3s ease, opacity 0.3s ease, visibility 0.3s ease;
	transform: translateY(100%);
	text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7); /* 文字に影をつけて見やすくする */
	width: 55px;
	font-weight: bold;
}

.reserve-line {
	position: fixed;
	text-align: center;
	bottom: 180px;
	right: 10px;
	background-color: #FF9326;
	color: #fff;
	font-size: 130%;
	line-height: 130%;
	opacity: 0.8;
	padding: 10px 12px;
	border-radius: 5px;
	cursor: pointer;
	z-index: 1000;
	transition: transform 0.3s ease, opacity 0.3s ease, visibility 0.3s ease;
	transform: translateY(100%);
	text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7); /* 文字に影をつけて見やすくする */
	width: 55px;
	font-weight: bold;
}

@media (max-width: 599px) {
	.hamburger {
		padding: 10px 10px; /* スマホ用の垂直方向のpaddingを調整 */
		font-size: 40px; /* フォントサイズを調整 */
		line-height: 40px; /* フォントサイズと同じ高さに設定 */
	}

	.menu-content {
		position: fixed;
		top: 0; /* 上から0pxに設定 */
		right: -100%;
		width: 85%;
		height: 100%;
		opacity: 0.9;
		color: #fff;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: flex-start;
		transition: 0.5s;
		z-index: 999;
		padding-top: 50px; /* メニューボタンの高さを確保するためにpaddingを設定 */
		overflow-y: auto; /* 縦スクロールを許可 */
	}
}

/* -----------------------------
Navigation LIST
----------------------------- */

.navi-wrapper {
    width: 100%;
    background: #fff; /* 背景を白に */
    position: relative; /* 固定時の背景用 */
	border-bottom:1px #eee solid;
}

.navi-wrapper.fixed {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); /* 固定時のボックスシャドウ */
}

.navi-list {
    list-style: none;
    margin: 0 auto;
    padding: 0px;
    display: flex;
    flex-wrap: wrap; /* フレックスボックスで複数段に対応 */
    width: 80%;
    height: auto; /* 高さは自動で調整 */
    background: transparent; /* 親要素の背景を利用 */
    color: color;
    font-size: 160%;

    box-shadow: 0px 4px 10px rgba(255, 255, 255, 0.5); /* 下に白のぼかしを追加 */
}

.navi-list li {
    flex: 1 0 calc(100% / 7); /* パソコンの場合、7段 */
    display: flex;
    flex-direction: column; /* 縦方向に配置 */
    align-items: center;
    justify-content: center;
    border-right: 1px dotted #fff; /* 視覚的な区切りのためのボーダー */
    box-sizing: border-box; /* ボーダーのサイズを含める */
    text-align: center; /* テキストを中央揃え */
    height: 70px;
    transition: background-color 0.9s ease; /* 背景色の変化をゆっくりと */
}

.navi-list li a {
    display: flex; /* フレックスボックスを使う */
    flex-direction: column; /* 縦方向に配置 */
    align-items: center;
    justify-content: center;
    width: 100%; /* リンクの幅を親の幅に合わせる */
    height: 100%; /* リンクの高さを親の高さに合わせる */
    text-decoration: none; /* デフォルトのリンク下線を削除 */
    color: inherit; /* リンクの色を親要素から継承 */
    box-sizing: border-box; /* ボーダーのサイズを含める */
}

.navi-list li.this{
	background: #eee;
	color:#666;
	}

.navi-list li a:hover {
    background: #fff;
    color: #1237af;
    transition: background-color 0.9s ease; /* 背景色の変化をゆっくりと */
}

.navi-list li:hover a {
    color: #1237af; /* リンク内のテキスト色も変更 */
}

.navi-list li p {
    margin: 0;
    margin-top: -5px; /* 適切な間隔を指定 */
}

.navi-list li:last-child {
    border: none;
}

/* メディアクエリを追加してスマホ用に4段のグリッドを設定 */
@media (max-width: 768px) {
	.navi-wrapper {
		display:none;
	}
}


/* -----------------------------
PC/SP block none 切替
----------------------------- */

.pcnone {
	display: none;
}

@media (max-width: 768px) {
	.pcnone {
		display: block;
	}
}

.spnone {
	display: block;
}

@media (max-width: 768px) {
	.spnone {
		display: none;
	}
}

/* -----------------------------
パンくずリスト
----------------------------- */
#breadcrumb {
  margin-top: 20px;
  padding: 13px 20px;
  overflow-x: auto;  /* 横スクロールを許可 */
  white-space: nowrap;  /* 項目を折り返さない */
  font-size: 150%;
}
.archive #breadcrumb {
  padding: 0;
  background: transparent;
}
#breadcrumb ul {
  margin: 0;
  padding: 0;
  list-style: none;  /* リストのデフォルトのスタイルを削除 */
  display: flex;  /* 横並びにする */
  flex-wrap: nowrap;  /* 項目が横に並ぶようにする */
}
#breadcrumb li {
  display: inline;  /* インライン表示にする */
  list-style: none;  /* デフォルトのリストスタイルを削除 */
  color: gray;
  margin-right: 8px; /* 適度な間隔を設定 */
  white-space: nowrap;  /* 項目を折り返さない */
}
#breadcrumb li:last-child {
  margin-right: 0;
}
#breadcrumb li:after {
  padding: 0 6px;
  color: rgba(0, 0, 0, 0.2);
  font-family: FontAwesome;
  content: "\f0da";  /* FontAwesomeの矢印アイコン */
}
#breadcrumb li:last-child:after {
  content: "";  /* 最後の項目の後に矢印を表示しない */
}
#breadcrumb li a {
  text-decoration: none;
  color: #9d887d;
  transition: color 0.3s ease;
}
#breadcrumb li:first-child a:before {
  padding-right: 4px;
  font-family: FontAwesome;
  font-weight: normal;
  content: "\f015";  /* FontAwesomeのホームアイコン */
}
#breadcrumb li a:hover {
  color: gray;
  text-decoration: none;
}
