/**
 * ==================================================
 * Theater Re write WEB SHOP
 * サイト共通メニュー CSS
 *
 * ファイル：
 * assets/css/site-menu.css
 *
 * 【役割】
 * ・SWELL スマホ開閉メニュー
 * ・サイト全体のモバイルナビデザイン
 * ・キャスト／スタッフ用メニュー区分
 *
 * ==================================================
 */


/* ==================================================
 * 01. 開閉メニュー全体
 * ==================================================
 */

.p-spMenu,
.p-spMenu__inner,
.p-spMenu__body,
.p-spMenu__nav {
	background: #171717 !important;
	color: #f3f3f3 !important;
}


/*
 * SWELL側の白背景を確実に上書き
 */
.p-spMenu__inner::before,
.p-spMenu__inner::after,
.p-spMenu__body::before,
.p-spMenu__body::after {
	background: transparent !important;
}


/* ==================================================
 * 02. MENUタイトル
 * ==================================================
 */

.p-spMenu .c-widget__title,
.p-spMenu .p-spMenu__title {
	margin:
		0
		0
		22px;

	padding:
		14px
		16px;

	background:
		linear-gradient(
			90deg,
			#111111 0%,
			#25181a 100%
		) !important;

	border: 0 !important;

	border-left:
		3px solid
		#b82f3a !important;

	color: #ffffff !important;

	font-size: 11px;

	font-weight: 700;

	line-height: 1.3;

	letter-spacing: .18em;
}


/* ==================================================
 * 03. メニューリスト
 * ==================================================
 */

.p-spMenu .c-gnav,
.p-spMenu .c-gnav > li {
	background: transparent !important;

	border: 0 !important;
}


/* ==================================================
 * 04. 通常メニュー
 * ==================================================
 */

.p-spMenu .c-gnav > li > a {
	position: relative;

	display: flex;

	align-items: center;

	min-height: 52px;

	padding:
		13px
		38px
		13px
		18px !important;

	background: transparent !important;

	border: 0 !important;

	border-bottom:
		1px solid
		rgba(
			255,
			255,
			255,
			.09
		) !important;

	color: #eeeeee !important;

	font-size: 13px;

	font-weight: 500;

	line-height: 1.5;

	letter-spacing: .03em;

	text-decoration: none !important;
}


/*
 * タップ時
 */
.p-spMenu .c-gnav > li > a:hover,
.p-spMenu .c-gnav > li > a:focus {
	background:
		rgba(
			184,
			47,
			58,
			.10
		) !important;

	color: #ffffff !important;
}


/* ==================================================
 * 05. 現在位置
 * ==================================================
 */

.p-spMenu .c-gnav > li.current-menu-item > a,
.p-spMenu .c-gnav > li.current-menu-ancestor > a {
	background:
		rgba(
			184,
			47,
			58,
			.11
		) !important;

	color: #ffffff !important;
}


.p-spMenu .c-gnav > li.current-menu-item > a::before,
.p-spMenu .c-gnav > li.current-menu-ancestor > a::before {
	content: "";

	position: absolute;

	top: 14px;
	bottom: 14px;
	left: 0;

	width: 2px;

	background: #b82f3a;
}


/* ==================================================
 * 06. ステージギフト
 * ==================================================
 */

.p-spMenu
.c-gnav
> li
> a[href*="stage-gift"] {
	color: #f1f1f1 !important;

	font-weight: 700;
}


/* ==================================================
 * 07. CAST / STAFF エリア
 * ==================================================
 */

.p-spMenu__nav
.c-spnav
> li.trw-cast-login-menu-item {
	position: relative;

	margin-top: 20px;

	padding-top: 24px;

	border-top: 0 !important;
}


/*
 * CAST / STAFF ラベル
 */
.p-spMenu__nav
.c-spnav
> li.trw-cast-login-menu-item::before {
	content: "CAST / STAFF";

	position: absolute;

	top: 3px;
	left: 16px;

	color: #d36a72;

	font-size: 9px;

	font-weight: 700;

	line-height: 1;

	letter-spacing: .18em;
}


/* ==================================================
 * 08. キャストログイン
 * ==================================================
 */

.p-spMenu__nav
.c-spnav
> li.trw-cast-login-menu-item
> a {
	min-height: 48px;

	margin: 0;

	padding:
		13px
		18px !important;

	background:
		rgba(
			255,
			255,
			255,
			.025
		) !important;

	border: 0 !important;

	border-bottom:
		1px solid
		rgba(
			255,
			255,
			255,
			.045
		) !important;

	border-radius: 0;

	color: #d7d7d7 !important;

	font-size: 12px;

	font-weight: 500;
}


/* ==================================================
 * 09. SHOP管理
 * ==================================================
 */

.p-spMenu__nav
.c-spnav
> li.trw-shop-admin-menu-item {
	margin-top: 2px;
}


.p-spMenu__nav
.c-spnav
> li.trw-shop-admin-menu-item
> a {
	min-height: 48px;

	margin: 0;

	padding:
		13px
		18px
		13px
		21px !important;

	background:
		linear-gradient(
			90deg,
			rgba(
				184,
				47,
				58,
				.12
			),
			rgba(
				184,
				47,
				58,
				.025
			)
		) !important;

	border: 0 !important;

	border-bottom:
		1px solid
		rgba(
			184,
			47,
			58,
			.18
		) !important;

	border-radius: 0;

	box-shadow:
		inset
		2px
		0
		0
		#b82f3a;

	color: #efb0b5 !important;

	font-size: 12px;

	font-weight: 700;
}


/*
 * 余計な疑似要素を表示しない
 */
.p-spMenu__nav
.c-spnav
> li.trw-shop-admin-menu-item
> a::before {
	content: none !important;

	display: none !important;
}


/* ==================================================
 * 10. サブメニュー
 * ==================================================
 */

.p-spMenu .sub-menu {
	background:
		rgba(
			0,
			0,
			0,
			.20
		) !important;
}


.p-spMenu .sub-menu a {
	background: transparent !important;

	border-color:
		rgba(
			255,
			255,
			255,
			.07
		) !important;

	color: #c8c8c8 !important;
}


/* ==================================================
 * 11. 閉じるボタン
 * ==================================================
 */

.p-spMenu__closeBtn,
.p-spMenu__closeBtn button {
	color: #dddddd !important;
}


/* ==================================================
 * 12. スマホ・タブレット
 * ==================================================
 */

@media (max-width: 959px) {

	.p-spMenu__inner {
		box-shadow:
			8px
			0
			28px
			rgba(
				0,
				0,
				0,
				.40
			) !important;
	}

}