@charset "utf-8";
/* CSS Document */

/* ------------------------------

	ナビゲーションメニュー（ＰＣ）

------------------------------ */

.five-nav {
	display: flex;
	padding: 0;
	margin: 0;
	list-style: none;
	width: 100%;
	border-top: 1px solid #eee;
	border-bottom: 1px solid #eee;
	background: #f9f9f9;
}

.five-nav li {
	flex-grow: 1;
	text-align: center;
	border-right: 1px solid #eee;
}

.five-nav li:last-child {
	border-right: none;
}

.five-nav li a {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 10px 5px; /* 上下ともに8pxに調整 */
	text-decoration: none;
	color: var(--navi-base-text-color);
	background: var(--navi-base-back-color);
	font-size: 16px;
	line-height: 1; /* 文字の余白を抑える */
	box-sizing: border-box;
}

.five-nav li.this a {
	color: var(--navi-select-text-color);
	background: var(--navi-select-back-color);
}

.home-icon {
	font-size: 18px;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* メディアクエリ */
@media (max-width: 599px) {
	.five-nav li a {
		padding: 14px 5px;
		font-size: 12px;
	}
}

i{
	margin-right: 5px;
	}

/* ------------------------------

	パンくずリスト

------------------------------ */

#breadcrumb {
	width: 96%;
	max-width: 1200px;
	margin: 0px auto;
	padding: 10px 5px;
	overflow-x: auto;
	white-space: nowrap;
	font-size:0.8rem;
}

.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: 4px;
	white-space: nowrap;
}

#breadcrumb li:last-child {
	margin-right: 0;
}

#breadcrumb li:after {
	padding: 0px 6px 0px 16px;
	color: #000;
	font-family: FontAwesome;
	content: "\f0da";
}

#breadcrumb li:last-child:after {
	content: "";
}

#breadcrumb li a {
	text-decoration: none;
	color: #E8C57C;
	transition: color 0.3s ease;
}

#breadcrumb li:first-child a:before {
	padding-right: 4px;
	font-family: FontAwesome;
	font-weight: normal;
	content: "\f015";
}

#breadcrumb li a:hover {
	color: var(--primary-color);
	text-decoration: none;
}

/* ------------------------------

	ハンバーガーメニュー

------------------------------ */

.hamburger {
  width: 32px;
  height: 24px;
  position: relative;
  cursor: pointer;
  z-index: 10001;
}

.bar {
  display: block;
  position: absolute;
  margin-left: 10px;
  height: 3px;
  width: 25px;
  background-color: #333;
  border-radius: 2px;
  transition: 0.3s ease all;
}

.bar.top {
  top: 2px;
}

.bar.middle {
  top: 10px; /* 中央に近い明確な整数 */
  transform: none; /* ←にじみの元を削除 */
}


.bar.bottom {
  bottom: 2px;
}

/* 開いた時の変形 */
.hamburger.open .bar.top {
  transform: rotate(45deg);
  top: 50%;
}

.hamburger.open .bar.middle {
  opacity: 0;
}

.hamburger.open .bar.bottom {
  transform: rotate(-45deg);
  bottom: auto;
  top: 50%;
}

/* ------------------------------

	ハンバーガーＯＰＥＮ時のメニュー

------------------------------ */

.menu-content {
	position: fixed;
	top: 0;
	left: -100%;
	width: 30%;
	height: 100%;
	background: #fff;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	transition: left 0.5s ease;
	z-index: 999;
	opacity: 0.95;
	padding-top: 0px;
	overflow-y: auto;
	font-family: 'Kosugi Maru', 'Noto Sans JP', sans-serif;
}
.menu-header{
	background: #fff;
	color:#eee;
	width:100%;
	padding: 8px;
	}

.menu-close {
  position: absolute;
  top: -10px;        /* ← 下から10px → 上に0px へ */
  right: 0px;
  background: transparent;
  border: none;
  font-size: 26px;
  font-weight: bold;
  color: #666;
  cursor: pointer;
  z-index: 1000;
  padding: 10px 14px; /* クリックしやすいように */
}

/* メディアクエリ */
@media (max-width: 599px) {
	.menu-content {
		right: -100%;
		width: 85%;
		opacity: 0.95;
		padding-top: 10px;
		overflow-y: auto;
	}
}



.menu-content .banner-wrap {
	width:95%;
	margin: 0px auto;
	}

.menu-content .banner-wrap p{
	margin: 3px auto 6px auto;
	width:95%;
	text-align: center;
	color: #666;
	}

.menu-content .banner-wrap img{
	width:100%;
	height:auto;
	}

.menu-content ul {
	list-style: none;
	padding: 0;
	margin:0;
	width: 100%;
	z-index: 999;
	font-size: 0.9rem;
}
.menu-content li.con {
	display: block;
	align-items: center;
	justify-content: flex-start;
	position: relative;
	width: 100%;
	margin: 3px 0px;
	padding: 8px 8px 8px 12px;
	background: #eee;
	color:#666;
	font-weight: bold;
	}

.menu-content li a {
	display: block;
	align-items: center;
	justify-content: flex-start;
	position: relative;
	width: 100%;
	margin: 5px 5px 5px 0px;
	box-sizing: border-box;
	padding: 8px 32px 12px 12px; /* 矢印のため右に余白 */
	text-decoration: none;
	color: var(--navi-base-text-color);
	background: var(--navi-base-back-color);
	border-bottom: 1px #eee solid;
	text-align: left;
}

.menu-content li > .submenu-toggle{
	background: #FFF4E3;
	padding: 8px 32px 8px 12px;
	border-top:1px #eee solid;
}

/* CSS矢印を描画 */
/* 通常のメニュー項目に矢印を表示（submenu-toggle 以外） */
.menu-content li > a:not(.submenu-toggle)::after {
	content: '';
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
	width: 6px;
	height: 6px;
	border-top: 2px solid #999;
	border-right: 2px solid #999;
}


.menu-content ul::after {
	content: "";
	display: table;
	clear: both;
}

.menu-content ul li:nth-of-type(2n + 3) {
	clear: left;
}

/* サブメニュー */
.submenu {
	position: relative;
}

.plus-icon {
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
	width: 14px;
	height: 14px;
	cursor: pointer;
	transition: transform 0.4s ease;
}

.plus-icon::before,
.plus-icon::after {
	content: '';
	position: absolute;
	background-color: #666;
	border-radius: 1px;
	transition: all 0.4s ease; /* ← アニメーション追加 */
}

/* 横棒 */
.plus-icon::before {
	top: 50%;
	left: 0;
	width: 100%;
	height: 2px;
	transform: translateY(-50%);
}

/* 縦棒 */
.plus-icon::after {
	left: 50%;
	top: 0;
	width: 2px;
	height: 100%;
	transform: translateX(-50%);
}

/* 開いた状態（縦棒消す＆回転） */
.submenu.open .plus-icon {
	transform: translateY(-50%) rotate(180deg); /* 回転エフェクト */
}

.submenu.open .plus-icon::after {
	opacity: 0; /* 縦棒を非表示（−に） */
}



ul .submenu-content {
	width: 95%;
	margin-left: auto;
	margin-right: 0;
}

.submenu-content {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.5s ease;
	padding: 0;
}

.submenu.open .submenu-content {
	max-height: 400px;
}

.submenu-content li a {
	padding: 8px 32px 12px 12px;
}

.submenu-content li a:hover {
	background-color: #fff;
	color: #9d887d;
}

/* オーバーレイ */
#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;
}


.fixed-button-group {
	position: fixed;
	bottom: 60px;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	gap: 12px;
	z-index: 9999;
	align-items: center;
}

/* 予約ボタン */
.reserve-button {
	width: 200px; /* 横幅を60%に */
	max-width: 200px; /* 任意。大きくなりすぎ防止 */
	background-color: #00d6c2;
	color: #fff;
	padding: 12px 24px;
	font-size: 16px;
	font-weight: bold;
	border: none;
	border-radius: 8px;
	text-decoration: none;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
	transition: background-color 0.3s;
	text-align: center;
}

.reserve-button:hover {
	background-color: #00b2a4;
}

/* 丸ボタン：白背景でかっこよく */
.arrow-button {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background-color: #fff;
	border: none;
	cursor: pointer;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
	position: relative;
	transition: transform 0.2s;
}

.arrow-button:hover {
	transform: translateY(-2px);
}

/* 三角マーク：共通サイズ・中央配置 */
.arrow-button::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	display: block;
	width: 0;
	height: 0;
	border-top: 7px solid transparent;
	border-bottom: 7px solid transparent;
}

/* ← */
.arrow-button.left::before {
	border-right: 10px solid #00d6c2;
}

/* → */
.arrow-button.right::before {
	border-left: 10px solid #00d6c2;
}

/* ------------------------------

	ページボトム固定リンク

------------------------------ */

/* ページトップ */
.page-top {
	position: fixed;
	text-align: center;
	bottom: 95px;
	right: 5px;
	line-height: 1.2em;
	font-size: 0.6rem;
	background-color: #eee;
	color: #3C4256;
	opacity: 0.8;
	padding: 8px 11px;
	border-radius: 8px;
	border: 2px #3C4256 solid;
	cursor: pointer;
	z-index: 999;
	transition: transform 0.3s ease, opacity 0.3s ease, visibility 0.3s ease;
	transform: translateY(100%);
	visibility: hidden;
}
