/*
 * サイトヘッダー Fix 基本CSS
 */

/** ----------------------------------------------------------
　ヘッダー設定
---------------------------------------------------------- **/

.site-head { background-color: var( --white-alpha09 ); }

.site-head .site-title { margin: 0; }

@media screen and ( min-width: 641px ) {

	.head-contents.headwidg-on { display: block; }

	.header-widget-area { margin: 0 0 0 1em; }

	/* タブレット メニュー固定 スクリプト */
	.menu-fixd {
		width: 100%;
		position: fixed;
		top: 0;
		z-index: 5000;
	}

	.main-nav.menu-fixd {
		padding: 1em 0;
	}
}

@media screen and ( min-width: 1144px ) {

	.site-head {
		width: 100%;
		position: fixed;
		top: 0;
		z-index: 5000;
	}

	.head-contents.headwidg-on {
		display: -ms-flexbox;
		display: flex;
		-ms-flex-pack: justify;
		justify-content: space-between;
		-ms-flex-align: center;
		align-items: center;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}

	.head-primary-contents {
		display: -ms-flexbox;
		display: flex;
		-ms-flex-align: end;
		align-items: flex-end;
		-ms-flex: 1;
		flex: 1;
	}

	.head-branding {
		text-align: left;
		-ms-flex: 0 0 auto;
		flex: 0 0 auto;
		margin-right: 1em;
	}
}

/* ヘッダーウィジェット
----------------------------- */

.header-widget-area { margin-top: 1em; }

@media screen and ( min-width: 1144px ) {

	.header-widget-area { margin-top: 0; }
}


/** ----------------------------------------------------------
　ナビゲーション設定
---------------------------------------------------------- **/

@media screen and ( min-width: 641px ) {

	.main-nav { padding: 0; }

	.main-nav:not(.menu-fixd) { margin-top: 1em; }
}

@media screen and ( min-width: 1144px ) {

	.main-nav { margin-top: 0; }

	.right-nav.main-nav { margin: 0 0 0 auto; }

	.right-nav .main-menu > li:last-child > .sub-menu,
	.right-nav .main-menu > li:nth-last-child(2) > .sub-menu {
		right: 0;
		left: auto;
	}
}

