/* ------------------------------
　　ヘッダー
------------------------------ */
/* サイト名 */
.site-name {
	@include font-size(24);
	font-weight: bold;
	color: $primary-color;
	.header-stack & {
		margin: 30px 0 20px;
	}
	a {
		color: $primary-color;
		 &:hover,
		 &:focus,
		 &:active,
		 &:visited {
			color: $primary-color;
		}
	}
}
.site-logo {
	display: inline-block;
	width: 22px;
	height: auto;
	margin: 0 10px 0 0;
	vertical-align: middle;
}
.site-name-text {
	display: inline;
	vertical-align: middle;
}
.edit-link {
	display: inline-block;
	vertical-align: middle;
	@include font-size(14);
}

@media (min-width : $breakpoint-md-min) {
	.site-name {
		@include font-size(24);
		.header-stack & {
			text-align: center;
		}
	}
	.site-logo {
		width: 40px;
	}
	.header {
		display: table;
		width: 100%;
		.header-stack & {
			display: block;
		}
	}
	.header-logo {
		display: table-cell;
		width: 100%;
		vertical-align: middle;
		.header-stack & {
			display: block;
		}
	}
	.header-nav {
		display: table-cell;
		width: 50%;
		vertical-align: middle;
		.header-stack & {
			display: block;
			width: 100%;
			margin: 0 0 15px 0; 
		}
	}
}
@media (min-width : $breakpoint-lg-min) {
	.header-logo {
		display: table-cell;
		width: 40%;
		.header-stack & {
			display: block;
			width: 100%; 
		}
	}
	.header-nav {
		display: table-cell;
		width: 60%;
		.header-stack & {
			display: block;
			width: 100%;
			margin: 0 0 15px 0; 
		}
	}
}



/* ------------------------------
　　ナビゲーション
------------------------------ */
.header-logo {
	/* 固定したときの高さを保つ */
	padding: 48px 0 0 0;
}
.site-header {
	position: fixed;
		top: 0;
		right: 0;
	width: 100%;
	padding: 0 5px;
	border-top: 4px solid $secondary-color;
	border-bottom: 1px solid #CCC;
	background: #FFF;
	z-index: 100000;
	@include box-sizing(border-box);
}
/* モバイル時ナビゲーションボタン */
.nav-menu-btn {
	display: inline-block;
	height: 44px;
	padding: 7px 5px;
	@include font-size(20);
	color: #333;
	@include box-sizing(border-box);
	a & {
		color: #333;
	}
	 &:hover {
		color: #333;
		text-decoration: none;
	}
	.acms-icon-sort {
		display: inline-block;
	}
}
.nav-menu-btn-text {
	margin: 0 0 0 5px;
	@include font-size(11);
	font-weight: bold;
	color: #333;
	vertical-align: middle;
	  display: inline-block;
}
/* モバイル時ヘッダー アイコン */
.nav-menu-action {
	display: table;
	float: right;
	margin: 0;
	padding: 0;
}
.nav-menu-action-item {
	display: table-cell;
	width: 44px;
	height: 44px;
	vertical-align: middle;
	text-align: center;
	@include font-size(20);
	color: $secondary-color;
}
.nav-menu-action-link {
	color: $secondary-color;
	 &:hover,
	 &:active,
	 &:visited,
	 &:focus {
		color: $secondary-color;
		text-decoration: none;
	}
}
.navbar {
	display: none;
	width: 100%;

	 &.acms-admin-module-edit-wrapper {
		// ログインしているとき、下階層ナビゲーションを非表示にさせない対応
		z-index: 1;
	}

	ul {
		list-style: none;
		margin: 0;
		padding: 0;
	}
	li {
		a {
			display: block;
			padding: 10px;
			color: #333;
			font-weight: bold;
			@include font-size(16);
			 &:hover,
			 &:focus,
			 &:active {
				text-decoration: none;
				color: #FFF;
				background: $primary-color;
			}
		}
	}
}
@media (min-width : $breakpoint-lg-min) {
	.header {
		height: 100px;
	}
	.navbar {
		display: inline-block;
		vertical-align: middle;
		 & > ul {
			float: right;
			list-style: none;
			padding: 0;
			.header-stack & {
				float: none;
				display: table;
				width: 100%;
				table-layout: fixed;
				border-right: 1px solid #EEE;
			}
		}

		li {
			float: left;
			position: relative;
			margin: 0 10px;
			vertical-align: middle;
			text-align: center;
			.header-stack &.navbar-btn {
				padding: 0 10px; 
			}
			.header-stack & {
				float: none;
				display: table-cell;
				border-left: 1px solid #EEE;
			}
			ul { /* 二階層目 */
				display: none;
				position: absolute;
					left: 0;
				min-width: 200px;
			}
			li {
				margin: 0;
				.header-stack & {
					display: block;
					border: 0;
				}
			}
			a { /* 一階層目のリンクのみ */
				padding: 0;
				border-top: 4px solid transparent;
				border-bottom: 4px solid transparent;
				@include transition(border .25s ease-out);
				 &:hover,
				 &:focus,
				 &:active {
					color: #333;
					background: transparent;
				}
				.header-stack & {
					display: block;
					padding: 10px;
					@include font-size(16);
				}
			}
			 &.stay {
				a { /* 一階層目のリンクのみ */
					border-bottom: 4px solid $primary-color;
					 &.btn-attention {
						border: 0;
					}
				}
			}
			 &:hover {
				ul { /* 二階層目 */
					display: block;
					z-index: 10000;
					@include animation(0.8s fade-in);
				}
				a { /* 一階層目のリンクのみ */
					border-bottom: 4px solid $primary-color;
					 &.btn-attention {
						border: 0;
					}
				}
				li {
					a {
						border: 0;
					}
				}
			}
			li { /* 二階層目以降 */
				display: block;
				float: none;
				text-align: left;
				background: $primary-color;
				border: 0;
				border-top: 1px solid $primary-color-hover;
				 &:first-child {
					border: 0;
				}
				a {
					margin: 0;
					padding: 10px 15px;
					color: #FFF;
					border: 0;
					 &:hover {
						color: #FFF;
						border: 0;
						background: $primary-color-hover;
					}
				}
			}

		}
		a {
			 &.btn-attention { /* ボタン（色付き） */
				background: $attentionBtn-end-color;
				@include btn-base();
				@include btn-small();
				border: 0;
				 &:hover {
					@include btn-color($attentionBtn-start-color, $attentionBtn-end-color, #FFF);
					border: 0;
				}
				 &:active,
				 &:focus {
					background: $attentionBtn-active-color;
				}
			}
		}
	}
}

@media (min-width : $breakpoint-lg-min) {
	.header-logo {
		padding: 0;
	}
	.navbar {
		ul {
			li {
				a {
					@include font-size(14);
				}
			}
		}
	}
}
@media (min-width : $breakpoint-xl-min) {
	.navbar {
		ul {
			li {
				a {
					@include font-size(16);
				}
			}
		}
	}
}

/* オフキャンバス */
// コンテンツへ戻るボタン
.close-btn {
	display: block;
	width: 2.625em;
	height: 2.25em;
	padding: 0;
	border: 0;
	outline: none;
	overflow: hidden;
	white-space: nowrap;
	text-indent: 100%;
	@include opacity(1);
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

#offcanvas:target .close-btn {
	display: block;
}
#offcanvas .close-btn {
	position: absolute;
	top: -3.75em;
	left: 1.875em;
}
.js-acms-offcanvas-open #offcanvas .close-btn {
	display: block;
	@include opacity(.7);
}

@media (max-width : $breakpoint-lg-max) {
	#nav {
		padding: 10px 15px 100px 15px;
		@include box-sizing(border-box);
	}

	.offcanvas-nav { /* グローバルナビゲーション */
		margin: 0 0 20px 0;
		ul {
			list-style: none;
			margin: 0;
			padding: 0;
		}
		li {
			display: block;
			padding: 10px;
			@include font-size(16);
			border-top: 1px solid #CCC;
			 &.navbarBtn {
				border: 0;
			}
			 &.stay {
				background: #555;
				.no-js  & {
					background: $base-color;
				}
			}
			 &:first-child {
				border: 0;
			}
			ul {
				display: none;
			}
		}
		a {
			display: block;
			margin: -10px;
			padding: 10px;
			color: #E8EDE3;
			 &:hover {
				text-decoration: none;
			}
			 &.btn-attention {
				border-top: 0;
				border-radius: 0;
				font-weight: normal;
				 &:hover {
					background: $attentionBtn-end-color;
				}
			}
			.no-js  & {
				color: #333;
			}
		}
	}

	/* オフキャンバス内のパーツ */
	.offcanvas-bar {
		display: none;
		padding: 10px 15px 100px 15px; 
		.js-acms-offcanvas-active & {
			background: #333;
		}
		.module-header {
			color: #FFF;
			border-bottom: 2px solid #FFF;
			.no-js  & { /* IE8対応 */
				color: #333;
				border-bottom: 2px solid #333;
			}
		}
		.side-list-link {
			color: #FFF;
			.no-js  &, { /* IE8対応 */
				color: #333;
			}
			 &:hover,
			 &:visited,
			 &:focus,
			 &:active {
				color: #FFF;
				background: 0;
				.no-js  & { /* IE8対応 */
					color: #333;
				}
			}
		}
		.pickup-title {
			margin: 0;
			color: #FFF;
			@include font-size(16);
			a {
				color: inherit;
			}
		}
		.btn-search {
			background: #999;
			border: 1px solid #666;
		}
		.sns-list {
			margin: 0 -5px;
		}

	}

}
