@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 !important;
	align-items: center;
	justify-content: space-between;
	position: relative;
	padding: 10px 15px;
	height: 70px;
	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;
}

/* ハンバーガーボタン */
#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: 69px;
	left: 0;
	width: 100%;
	height: calc(100vh - 69px);
	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: #518400;
	text-decoration: none;
	font-weight: bold;
	font-size: 16px;
}

.sp-menu .menu-item a:hover {
	background-color: #f9f9f9;
}

/* --- ヘッダーロゴ（モバイル） --- */
.header-logo {
	height: 40px;
	width: auto;
}

/* --- サブメニュー（モバイル） --- */
.sp-menu .sub-menu {
	padding-left: 20px;
	background-color: #f9f9f9;
}

.sp-menu .sub-menu li a {
	font-weight: normal;
	font-size: 14px;
}

.sp-menu .sub-menu li:last-child {
	border-bottom: none;
}

/* --- 外部リンクアイコン（モバイル） --- */
.sp-menu .menu-item a[target="_blank"]::after {
	content: "\f08e";
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	margin-left: 8px;
	font-size: 12px;
}

/* --- 専用ページバッジ（モバイル） --- */
.sp-menu .menu-badge-dedicated {
	display: inline-block;
	font-size: 10px;
	line-height: 1;
	padding: 2px 6px;
	margin-left: 6px;
	border: 1px solid #518400;
	border-radius: 3px;
	color: #518400;
	vertical-align: middle;
	white-space: nowrap;
}

/* --- お問い合わせボタン（モバイル） --- */
.sp-menu .contact-btn a {
	background-color: #7cb342;
	color: #fff !important;
}
