@charset "UTF-8";

/* タブレット〜スマホ共通デザイン (1023px以下) */

/* PC用要素を非表示 */
.only-pc {
	display: none !important;
}

/* スマートフォン用要素を表示 */
.only-sp {
	display: block !important;
}

/* ドロワーメニューは初期非表示 */
.sp-menu {
	display: none;
}

.sp-menu.open {
	display: block;
}

/* スマホ用ヘッダーバー */
.header-bar.only-sp {
	display: flex;
	align-items: center;
	justify-content: space-between;
	position: relative;
	padding: 10px 10px 10px 10px;
	height: 60px;
	z-index: 1002;
}

/* ヘッダーロゴエリア */
.header-bar.only-sp .header-logo-area {
	display: inline-block;
}

.header-bar.only-sp .header-logo-area a {
	display: inline-block;
	line-height: 1;
}

.header-bar.only-sp .header-logo-area .logo {
	height: 48px;
	width: auto;
	margin-top: -5px;
}

/* ハンバーガーボタン */
#menu-toggle {
	display: block;
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 24px;
	cursor: pointer;
	z-index: 1001;
	/* メニューより上に */
	color: #333;
}

/* ドロワーメニュー */
.sp-menu {
	position: fixed;
	top: 71px;
	/* ヘッダーの高さ分空ける */
	left: 0;
	width: 100%;
	height: calc(100vh - 71px);
	background-color: rgba(255, 255, 255, 0.95);
	z-index: 1000;
	overflow-y: auto;
}

.sp-menu nav ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.sp-menu .menu-item {
	border-bottom: 1px solid #eee;
}

.sp-menu .menu-item a {
	display: block;
	padding: 20px;
	color: #333;
	text-decoration: none;
	font-weight: bold;
	font-size: 16px;
	white-space: nowrap;
}

.sp-menu .menu-item a:hover {
	background-color: #f9f9f9;
	color: var(--primary-green);
}

.sp-menu .menu-item.disabled span {
	display: block;
	padding: 20px;
	color: #999;
	font-weight: bold;
	font-size: 16px;
}
