/* ==========================================================================
   かなさホーム — 全画面メニュー（template-parts/kanasa/menu.php。Figma l-menu-sp Site=Kanasa 158:249）
   - 濃い緑の色面（kanasa/bg/green-strong）。開閉は assets/js/common/common.js（[data-menu]）
   - 押せる行・ボタンは高さ 44px 以上、文字は 14px 以上（高齢の方向け）
   - 1279px 以下でヘッダーの「メニュー」から開く。768px 以上では中身の幅を 560px までにする
   ========================================================================== */

.l-menu-sp--kanasa {
	--focus-color: var(--kanasa-text-on-green);

	position: fixed;
	inset: 0;
	z-index: 100;
	display: flex;
	flex-direction: column;
	padding-bottom: var(--space-2xl);
	overflow-y: auto;
	overscroll-behavior: contain;
	color: var(--kanasa-text-on-green);
	background: var(--kanasa-bg-green-strong);
}

.l-menu-sp--kanasa[hidden] {
	display: none;
}

.l-menu-sp--kanasa .l-menu-sp__head {
	display: flex;
	flex-shrink: 0;
	gap: var(--space-xs);
	align-items: center;
	justify-content: space-between;
	height: 64px;
	padding: 0 12px 0 20px;
}

.l-menu-sp--kanasa .l-menu-sp__logo {
	border-radius: var(--radius-sm);
}

.l-menu-sp--kanasa .l-menu-sp__logo .c-logo-kanasa {
	width: 158px;
	height: auto;
}

.l-menu-sp--kanasa .l-menu-sp__close {
	display: flex;
	flex-direction: column;
	gap: 2px;
	align-items: center;
	justify-content: center;
	width: 60px;
	min-height: 55px;
	padding: 0;
	color: inherit;
	background: none;
	border: 0;
}

.l-menu-sp--kanasa .l-menu-sp__close-icon {
	width: 26px;
	height: 26px;
}

.l-menu-sp--kanasa .l-menu-sp__close-text {
	font: 500 14px/1.4 var(--font-kanasa); /* Kanasa/SP/Body-S */
	letter-spacing: var(--ls-kanasa);
}

.l-menu-sp--kanasa .l-menu-sp__body {
	display: flex;
	flex-direction: column;
	gap: 28px; /* Figma の値（トークンにない） */
	width: 100%;
	max-width: 600px;
	margin-inline: auto;
	padding: var(--space-xs) 20px 0;
}

/* ナビ（1行 60px・下に線） */
.l-menu-sp--kanasa .l-menu-sp__item {
	display: flex;
	gap: var(--space-xs);
	align-items: center;
	justify-content: space-between;
	min-height: 60px;
	padding: var(--space-md) 0;
	font: 700 17px/1.6 var(--font-kanasa); /* Kanasa/SP/H4 */
	letter-spacing: var(--ls-kanasa);
	color: inherit;
	text-decoration: none;
	border-bottom: 1px solid var(--kanasa-border-default); /* Figma は color/border/on-brand（青）。緑の面に合わせてかなさの線の色にした */
}

.l-menu-sp--kanasa .l-menu-sp__item-label-group {
	display: inline-flex;
	gap: var(--space-xs);
	align-items: center;
}

.l-menu-sp--kanasa .l-menu-sp__item-icon {
	width: 22px;
	height: 22px;
}

.l-menu-sp--kanasa .l-menu-sp__item-arrow {
	width: 20px;
	height: 20px;
}

/* 担当直通 */
.l-menu-sp--kanasa .l-menu-sp__tel {
	display: flex;
	flex-direction: column;
	gap: 2px;
	align-self: flex-start;
	color: inherit;
	text-decoration: none;
}

.l-menu-sp--kanasa .l-menu-sp__tel-label,
.l-menu-sp--kanasa .l-menu-sp__tel-hours {
	font: 500 14px/1.9 var(--font-kanasa); /* Kanasa/SP/Body-S */
	letter-spacing: var(--ls-kanasa);
}

.l-menu-sp--kanasa .l-menu-sp__tel-number {
	display: flex;
	gap: 6px;
	align-items: center;
	min-height: 48px;
	font: 700 26px/1.5 var(--font-kanasa); /* Kanasa/SP/H1 */
	letter-spacing: var(--ls-kanasa);
}

.l-menu-sp--kanasa .l-menu-sp__tel-icon {
	width: 22px;
	height: 22px;
}

/* 無料で相談する（黄） */
.l-menu-sp--kanasa .l-menu-sp__cta {
	display: flex;
	gap: var(--space-sm);
	align-items: center;
	justify-content: center;
	min-height: 56px;
	padding: 10px 12px;
	font: 700 15px/1.5 var(--font-kanasa); /* Kanasa/SP/Label */
	letter-spacing: var(--ls-kanasa);
	color: var(--kanasa-text-primary);
	text-decoration: none;
	background: var(--kanasa-action-accent);
	border-radius: var(--radius-full);
}

.l-menu-sp--kanasa .l-menu-sp__arrow {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	color: var(--kanasa-text-on-green);
	background: var(--kanasa-action-primary);
	border-radius: 50%;
}

.l-menu-sp--kanasa .l-menu-sp__arrow .c-kanasa-icon {
	width: 18px;
	height: 18px;
}

/* ケアマネジャーの方へ（白い枠） */
.l-menu-sp--kanasa .l-menu-sp__caremanager {
	display: flex;
	gap: var(--space-sm);
	align-items: center;
	justify-content: space-between;
	min-height: 56px;
	padding: 0 var(--space-md) 0 var(--space-lg);
	font: 700 15px/1.5 var(--font-kanasa); /* Kanasa/SP/Label */
	letter-spacing: var(--ls-kanasa);
	color: inherit;
	text-decoration: none;
	border: 1.5px solid var(--kanasa-text-on-green);
	border-radius: var(--radius-full);
}

.l-menu-sp--kanasa .l-menu-sp__caremanager-icon {
	width: 20px;
	height: 20px;
}

/* 運営：TRUSS株式会社 */
.l-menu-sp--kanasa .l-menu-sp__sub {
	display: inline-flex;
	gap: 6px;
	align-items: center;
	align-self: flex-start;
	min-height: 44px;
	font: 500 14px/1.9 var(--font-kanasa); /* Kanasa/SP/Body-S */
	letter-spacing: var(--ls-kanasa);
	color: inherit;
	text-decoration: none;
}

.l-menu-sp--kanasa .l-menu-sp__sub-icon {
	width: 14px;
	height: 14px;
}

@media (hover: hover) {
	.l-menu-sp--kanasa :is(a.l-menu-sp__item, .l-menu-sp__sub):hover .l-menu-sp__item-label,
	.l-menu-sp--kanasa .l-menu-sp__sub:hover span {
		text-decoration: underline;
		text-underline-offset: 4px;
	}

	.l-menu-sp--kanasa .l-menu-sp__cta:hover {
		background: var(--kanasa-yellow-600);
	}

	.l-menu-sp--kanasa .l-menu-sp__caremanager:hover {
		background: color-mix(in srgb, var(--kanasa-text-on-green) 12%, transparent); /* 押せることがわかる程度に明るく */
	}
}
