/* ==================================================
  /share/css/component/header.css
  => 共通ヘッダー用スタイルシート
　最終更新 2021.02.09
　編集者 a.kajiwara@crank-ry.com
================================================== */

/* 共通ヘッダー
==================================================================================================== */
.header {
	position: fixed;
	display: block;
	width: 100%;
	/*padding: 2.73vw 4.69vw 0;*/
	padding: 0 4.69vw;
	margin: 43px auto 0;
	transition: all 0.6s;
	z-index: 9999;
}
/* mobile用 */
@media screen and (max-width:768px) {
	.header {
		padding: 0 6.8vw;
		margin: 6.8vw auto 0;
	}
}
/* トップページのみ
---------------------------------------- */
.top .header {
	padding: 0 3.13vw;
	margin: 3.91vw auto 0;
}
.top .header.is-dark {
	padding: 0 4.69vw;
	margin: 43px auto 0;
}
/* mobile用 */
@media screen and (max-width:768px) {
	.top .header,
	.top .header.is-dark {
		padding: 0 6.8vw;
		margin: 6.8vw auto 0;
	}
}
.header_menu {
  display:-webkit-box;
  display:-ms-flexbox;
  display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
/* ロゴ
============================================================ */
.header_logo {
}
.header_logo_link {
	display: block;
	position: relative;
  width: 100px;
  height: auto;
}
/* mobile用 */
@media screen and (max-width:768px) {
	.header_logo_link {
		width: 20vw;
	}
}
.top .header_logo_link {
  width: 120px;
  height: auto;
}
/* mobile用 */
@media screen and (max-width:768px) {
	.top .header_logo_link {
		width: 20vw;
	}
}
.header_logo_link:hover {
	opacity: 0.5;
}
.header_logo_link_light,
.header_logo_link_dark {
	position: absolute;
	display: block;
	left: 0;
	top: 0;
  width: 100px;
  height: auto;
	transform: translate(0,-50%);
	transition: all 0.3s;
	z-index: 8888;
}
/* mobile用 */
@media screen and (max-width:768px) {
	.header_logo_link_light,
	.header_logo_link_dark {
		width: 20vw;
	}
}
.header_logo_link_light {
	opacity: 0;
}
.header_logo_link_dark {
	opacity: 1;
}
/* トップページのみ
---------------------------------------- */
.top .header_logo_link_light,
.top .header_logo_link_dark  {
  width: 120px;
  height: auto;
}
/* mobile用 */
@media screen and (max-width:768px) {
	.top .header_logo_link_light,
	.top .header_logo_link_dark  {
		width: 20vw;
	}
}
.top .header_logo_link_light {
	opacity: 1;
}
.top .header_logo_link_dark {
	opacity: 0;
}
.top .header.is-dark .header_logo_link_light {
	opacity: 0;
}
.top .header.is-dark .header_logo_link_dark {
	opacity: 1;
}
/* ロゴ
-------------------- */
/* ハンバーガーメニュー開閉ボタン
============================================================ */
.header_toggleButton {
	position: relative;
	display: block;
	width: 50px;
	height: 33px;
	cursor: pointer;
	transform: translate3d(0,0,0) !important;
	z-index: 10000;
}
/* mobile用 */
@media screen and (max-width:768px) {
	.header_toggleButton {
		width: 40px;
		height: 30px;
	}
}
.header_toggleButton span {
	position: absolute;
	background: #002616;
	left: 50%;
	height: 2px;
	width: 100%;
	transform: translate(-50%,0);
	transition: all 0.3s;
}
/* mobile用 */
@media screen and (max-width:768px) {
	.header_toggleButton span {
		height: 2px;
	}
}
.top .header .header_toggleButton span {
	background: #ffffff;
}
.top .header.is-dark .header_toggleButton span {
	background: #002616;
}
.header_toggleButton.active span,
.top .header.is-dark .header_toggleButton.active span {
	background: #ffffff;
}
.header_toggleButton,
.header_toggleButton span {
	display: inline-block;
	transition: all .5s;
}
.header_toggleButton span:first-child,
.header_toggleButton span:nth-of-type(1) {
	top: 4px;	
}
/* mobile用 */
@media screen and (max-width:768px) {
	.header_toggleButton span:first-child,
	.header_toggleButton span:nth-of-type(1) {
		top: 5px;	
	}
}
.header_toggleButton span:nth-child(2),
.header_toggleButton span:nth-of-type(2) {
	top: 16px;
}
/* mobile用 */
@media screen and (max-width:768px) {
	.header_toggleButton span:nth-child(2),
	.header_toggleButton span:nth-of-type(2) {
		top: 14px;
	}
}
.header_toggleButton span:nth-child(3),
.header_toggleButton span:nth-of-type(3) {
	top: 28px;
}
/* mobile用 */
@media screen and (max-width:768px) {
	.header_toggleButton span:nth-child(3),
	.header_toggleButton span:nth-of-type(3) {
		top: 23px;
	}
}
/* activeクラス追加時
---------------------------------------- */
.header_toggleButton.active {
}
.header_toggleButton.active span:first-child,
.header_toggleButton.active span:nth-of-type(1) {
	top: 0;
	left: 50%;
	width: 90%;
	transform: translate(-50%,16px) rotate(-45deg);
}
.header_toggleButton.active span:nth-child(2),
.header_toggleButton.active span:nth-of-type(2) {
	opacity: 0;
}
.header_toggleButton.active span:nth-child(3),
.header_toggleButton.active span:nth-of-type(3) {
	top: 0px;
	left: 50%;
	width: 90%;
	transform: translate(-50%,16px) rotate(45deg);
}
/* グローバルナビゲーション
==================================================================================================== */
.gNav {
	position: fixed;
	background: #002616;
	top: 0;
	right: -120%;
	width: 100%;
	height: 100vh;
	transition: all 1.0s;
	z-index: 9999;
}
/* mobile用 */
@media screen and (max-width:768px) {
	.gNav {
		position: fixed;
		background: #002616;
		top: 0;
		right: -100%;
		width: 78.27%;
		height: 100vh;
		transition: all 1.0s;
		z-index: 9999;
	}
}
.gNav.open {
	right: 0;
}
/* mobile用 */
@media screen and (max-width:768px) {
	/*.gNav.open::before {
		content: '';
		display: block;
		position: fixed;
		right: 0;
		top: 0;
		width: 100vw;
		height: 100vh;
		background-color: rgba(0,0,0,.5);
		transform: translate3d(0,0,0) !important;
		z-index: 100;
	}*/
}
/* コンテンツブラウザ高さ超えた時に縦スクロール出現 */
.gNav.open .gNavScroll {
	position: fixed;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	width: 100%;
	height: 100vh;
	z-index: 9999;
}
.gNavContent {
	position: absolute;
  display:-webkit-box;
  display:-ms-flexbox;
  display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	width: 100%;
	height: 100vh;
	padding: 0 4.69vw;
	z-index: 9999;
}
/* mobile用 */
@media screen and (max-width:768px) {
	.gNavContent {
		display: block;
		width: 64vw;
		height: auto;
		padding: 0;
		margin: 0 7.13vw;
	}
}
/* Mak's ロゴ
---------------------------------------- */
.gNav_logo {
	width: 22.41%;
	padding: 9.38vw 0 0;
}
/* mobile用 */
@media screen and (max-width:768px) {
	.gNav_logo {
		width: 20vw;
		padding: 20vw 0 0;
	}
}
.gNav_logo_link {
	display: inline-block;
}
.gNav_logo_link:hover {
	opacity: .5;
}
.gNav_logo_link > img {
	width: 110px;
	height: auto;
}
/* メインコンテンツリンク
---------------------------------------- */
.gNav_mainContents {
  display:-webkit-box;
  display:-ms-flexbox;
  display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	width: 48.28%;
	padding: 9.38vw 0 0;
}
/* mobile用 */
@media screen and (max-width:768px) {
	.gNav_mainContents {
		display: block;
		width: auto;
		padding: 0 0 0;
	}
}
.gNav_mainContents_list {
	width: 46.43%;
}
/* mobile用 */
@media screen and (max-width:768px) {
	.gNav_mainContents_list {
		width: auto;
		margin-top: 11.33vw;
	}
}
.gNav_mainContents_list_first.products {
}
.gNav_mainContents_list_first.scene {
}
.gNav_mainContents_list_first.company {
	margin-top: 5.47vw;
}
/* mobile用 */
@media screen and (max-width:768px) {
	.gNav_mainContents_list_first.company {
		margin-top: 11.33vw;
	}
}
.gNav_mainContents_list_first_link {
	position: relative;
}
/* mobile用 */
@media screen and (max-width:768px) {
	.gNav_mainContents_list_first_link {
		display: block;
		padding-bottom: 5.33vw;
		margin-bottom: 4vw;
		border-bottom: 1px solid #ffffff;
	}
}
.gNav_mainContents_list_first_link > span {
	position: relative;
	color: #ffffff;
  font-size: 30px;
  font-weight: 200;
  letter-spacing: 0.12em;
	line-height: 1.0;
	text-transform: uppercase;
}
/* mobile用 */
@media screen and (max-width:768px) {
	.gNav_mainContents_list_first_link > span {
		display: block;
		font-size: 4.8vw;
	}
}
.gNav_mainContents_list_first_link > span::before {
	content: '';
	display: inline-block;
	position: absolute;
	background-color: #ffffff;
	left: -5px;
	bottom: -5px;
	width: 0;
	height: 1px;
	transition: all 0.5s;
	z-index: 0;
}
.gNav_mainContents_list_first_link > span:hover::before {
	width: 100%;
}
/* mobile用 */
@media screen and (max-width:768px) {
	.gNav_mainContents_list_first_link > span:hover::before {
		width: 0;
	}
}
.gNav_mainContents_list_sub {
	margin-top: 1.56vw;
}
/* mobile用 */
@media screen and (max-width:768px) {
	.gNav_mainContents_list_sub {
		margin-top: 0;
	}
}
.gNav_mainContents_list_sub_item {
	padding: 0.94vw 0;
}
/* mobile用 */
@media screen and (max-width:768px) {
	.gNav_mainContents_list_sub_item {
		padding: 0;
	}
}
.gNav_mainContents_list_sub_item_link {
	position: relative;
}
/* mobile用 */
@media screen and (max-width:768px) {
	.gNav_mainContents_list_sub_item_link {
		display: block;
		padding: 3.33vw 0;
	}
}
.gNav_mainContents_list_sub_item_link::before {
	content: '';
	display: inline-block;
	position: absolute;
	background-color: #ffffff;
	left: 0;
	bottom: -3px;
	width: 0;
	height: 1px;
	transition: all 0.5s;
	z-index: 0;
}
.gNav_mainContents_list_sub_item_link:hover::before {
	width: 100%;
}
/* mobile用 */
@media screen and (max-width:768px) {
	.gNav_mainContents_list_sub_item_link:hover::before {
		width: 0;
	}
}
.gNav_mainContents_list_sub_item_link > span {
	position: relative;
	color: #ffffff;
  font-size: 15px;
  font-weight: 200;
  letter-spacing: 0.04em;
	line-height: 1.0;
	z-index: 9999;
}
/* mobile用 */
@media screen and (max-width:768px) {
	.gNav_mainContents_list_sub_item_link > span {
		font-size: 3.73vw;
		letter-spacing: 0.04em;
		line-height: 1.0;
		z-index: 9999;
	}
}
/* サブコンテンツリンク
---------------------------------------- */
.gNav_subContents {
	width: 22.41%;
	padding: 9.38vw 0 0;
}
/* mobile用 */
@media screen and (max-width:768px) {
	.gNav_subContents {
		width: auto;
	}
}
/* Conversion Links
------------------------------ */
.gNav_subContents_cv {
}
.gNav_subContents_cv_item {
	margin-bottom: 1.56vw;
	margin-bottom: 20px;
}
/* mobile用 */
@media screen and (max-width:768px) {
	.gNav_subContents_cv_item {
		margin-bottom: 5.33vw;
	}
}
.gNav_subContents_cv_item_link {
	display: block;
	position: relative;
	text-align: center;
	padding: 20px 0;
	border: 1px solid #ffffff;
}
/* mobile用 */
@media screen and (max-width:768px) {
	.gNav_subContents_cv_item_link {
		padding: 4.67vw 0;
	}
}
.gNav_subContents_cv_item_link:hover {
	border: 1px solid #002616;
}
.gNav_subContents_cv_item_link::before {
	content: '';
	display: block;
	position: absolute;
	background-color: #ffffff;
	width: 0;
	height: 100%;
	left: 0;
	top: 0;
	transition: all 0.5s;
}
.gNav_subContents_cv_item_link:hover::before {
	width: 100%;
}
.gNav_subContents_cv_item_link::after {
	content: '';
	position: absolute;
	display: block;
	background-color: #ffffff;
	left: 100%;
	top: 50%;
	width: 20px;
	height: 1px;
	transform: translate(-100%,-50%);
	transition: all 0.5s;
}
/* mobile用 */
@media screen and (max-width:768px) {
	.gNav_subContents_cv_item_link::after {
		width: 4.67vw;
	}
}
.gNav_subContents_cv_item_link:hover::after {
	background-color: #002616;
}
.gNav_subContents_cv_item_link > span {
	position: relative;
	color: #ffffff;
	font-size: 15px;
  font-weight: 300;
  letter-spacing: 0.04em;
	line-height: 1.0;
	z-index: 9999;
}
/* mobile用 */
@media screen and (max-width:768px) {
	.gNav_subContents_cv_item_link > span {
		font-size: 3.73vw;
		letter-spacing: 0.02em;
	}
}
.gNav_subContents_cv_item_link:hover > span {
	color: #002616;
}
.onlineshop .gNav_subContents_cv_item_link {
	background-color:  #ffffff;
	border: 1px solid #002616;
}
.onlineshop .gNav_subContents_cv_item_link:hover {
	border: 1px solid #ffffff;
}
.onlineshop .gNav_subContents_cv_item_link::before {
	background-color: #002616;
}
.onlineshop .gNav_subContents_cv_item_link::after {
	background-color: #002616;
}
.onlineshop .gNav_subContents_cv_item_link:hover::after {
	background-color: #ffffff;
}
.onlineshop .gNav_subContents_cv_item_link > span {
	color: #002616;
}
.onlineshop .gNav_subContents_cv_item_link:hover > span {
	color: #ffffff;
}
/* Social Links
------------------------------ */
.gNav_subContents_social {
  display:-webkit-box;
  display:-ms-flexbox;
  display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	margin-top: 25px;
}
/* mobile用 */
@media screen and (max-width:768px) {
	.gNav_subContents_social {
		margin-top: 10.67vw;
	}
}
.gNav_subContents_social_item {
	margin-right: 20px;
}
/* mobile用 */
@media screen and (max-width:768px) {
	.gNav_subContents_social_item {
		margin-right: 4vw;
	}
}
/* mobile用 */
@media screen and (max-width:768px) {
	.gNav_subContents_social_item_link {
		width: 8.53vw;
	}
}
.gNav_subContents_social_item_link:hover {
	opacity: .5;
}
/* Legal Links
------------------------------ */
.gNav_subContents_legal {
	margin-top: 3.52vw;
	padding: 0 0 9.38vw;
}
/* mobile用 */
@media screen and (max-width:768px) {
	.gNav_subContents_legal {
		margin-top: 6.67vw;
		padding: 0 0 20vw;
	}
}
.gNav_subContents_legal_item {
	padding: 0.45vw 0;
}
/* mobile用 */
@media screen and (max-width:768px) {
	.gNav_subContents_legal_item {
		padding: 2.67vw 0;
	}
}
.gNav_subContents_legal_item_link {
	color: #ffffff;
	font-size: 12px;
  font-weight: 300;
	text-decoration: underline;
}
/* mobile用 */
@media screen and (max-width:768px) {
}
.gNav_subContents_legal_item_link:hover {
	text-decoration: none;
}