/* ==================================================
  /share/css/component/header.css
  => 共通ヘッダー用スタイルシート
　最終更新 2021.03.07
　編集者 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 {
	margin: 5.08vw 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;
	}
	.top .header {
		margin: 8vw auto 0;
	}
	.top .header.is-dark {
		margin: 6.0vw auto 0;
		margin: 5.33vw 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: 155px;
  width: 430px;
  height: auto;
}
/* mobile用 */
@media screen and (max-width:768px) {
	.header_logo_link {
		width: 60vw;
	}
}
.top .header_logo_link {
  width: 155px;
  width: 430px;
  height: auto;
}
/* mobile用 */
@media screen and (max-width:768px) {
	.top .header_logo_link {
		width: 60vw;
	}
}
.header_logo_link:hover {
	opacity: 0.5;
}
.header_logo_link_light,
.header_logo_link_light_sp,
.header_logo_link_dark {
	position: absolute;
	display: block;
	left: 0;
	top: 0;
  height: auto;
	transform: translate(0,-50%);
	transition: all 0.3s;
	z-index: 8888;
}
.header_logo_link_light {
  width: 155px;
  width: 430px;
	opacity: 0;
}
/* mobile用 */
@media screen and (max-width:768px) {
	.header_logo_link_light {
		width: 60vw;
	}
}
.header_logo_link_light_sp {
	opacity: 0;
}
/* mobile用 */
@media screen and (max-width:768px) {
	.header_logo_link_light_sp {
		width: 60vw;
	}
}
.header_logo_link_dark {
  width: 305px;
	opacity: 1;
}
/* mobile用 */
@media screen and (max-width:768px) {
	.header_logo_link_dark {
		width: 34.67vw;
		width: 60vw;
	}
}
/* トップページのみ
---------------------------------------- */
.top .header_logo_link_light,
.top .header_logo_link_light_sp,
.top .header_logo_link_dark {
  height: auto;
}
.top .header_logo_link_light {
  width: 150px;
  width: 430px;
	opacity: 1;
}
/* mobile用 */
@media screen and (max-width:768px) {
	.top .header_logo_link_light {
		opacity: 0;
	}
}
.top .header_logo_link_light_sp {
	opacity: 0;
}
/* mobile用 */
@media screen and (max-width:768px) {
	.top .header_logo_link_light_sp {
		width: 60vw;
		opacity: 1;
	}
}
.top .header_logo_link_dark {
  width: 305px;
	opacity: 0;
}
/* mobile用 */
@media screen and (max-width:768px) {
	.top .header_logo_link_dark {
		width: 34.67vw;
		width: 60vw;
	}
}
.top .header.is-dark .header_logo_link_light,
.top .header.is-dark .header_logo_link_light_sp {
	opacity: 0;
}
.top .header.is-dark .header_logo_link_dark {
	opacity: 1;
}
/* ヘッダーボタン
============================================================ */
.header_buttons {
  display:-webkit-box;
  display:-ms-flexbox;
  display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	z-index: 10000;
}
/* mobile用 */
@media screen and (max-width:768px) {
	.header_buttons {
		position: relative;
	}
}
/* オンラインショップボタン
---------------------------------------- */
.header_onlineshop {
	margin-top: 1px;
	margin-right: 1.95vw;
}
/* mobile用 */
@media screen and (max-width:768px) {
	.header_onlineshop {
		margin-top: 0;
		margin-right: 4.27vw;
	}
}
.header_onlineshop_link {
	position: relative;
	display: inline-block;
  width: 33px;
  height: 33px;
}
/* mobile用 */
@media screen and (max-width:768px) {
	.header_onlineshop_link {
		width: 26px;
		height: 26px;
	}
	.header_onlineshop_link > img {
		width: 26px;
		height: 26px;
	}
}
.header_onlineshop_link:hover {
	opacity: 0.5;
}
.header_onlineshop_link_light,
.header_onlineshop_link_dark {
	position: absolute;
	display: block;
	left: 0;
	top: 0;
  width: 33px;
  height: 33px;
	/*transform: translate(0,-50%);*/
	transition: all 0.3s;
	z-index: 8888;
}
.header_onlineshop_link_light {
	opacity: 0;
}
.header_onlineshop_link_dark {
	opacity: 1;
}
.top .header_onlineshop_link_light {
	opacity: 1;
}
.top .header_onlineshop_link_dark {
	opacity: 0;
}
.top .header.is-dark .header_onlineshop_link_light {
	opacity: 0;
}
.top .header.is-dark .header_onlineshop_link_dark {
	opacity: 1;
}
.header .header_onlineshop.active .header_onlineshop_link_light,
.top .header .header_onlineshop.active .header_onlineshop_link_light,
.top .header.is-dark .header_onlineshop.active .header_onlineshop_link_light {
	opacity: 1;
}
.header .header_onlineshop.active .header_onlineshop_link_dark,
.top .heade .header_onlineshop.active .header_onlineshop_link_dark,
.top .header.is-dark .header_onlineshop.active .header_onlineshop_link_dark {
	opacity: 0;
}
/* mobile用 */
@media screen and (max-width:768px) {
}
/* ハンバーガーメニュー開閉ボタン
---------------------------------------- */
.header_toggleButton {
	position: relative;
	display: block;
	width: 40px;
	height: 33px;
	cursor: pointer;
	transform: translate3d(0,0,0) !important;
	z-index: 10000;
}
/* mobile用 */
@media screen and (max-width:768px) {
	.header_toggleButton {
		width: 30px;
		height: 24px;
	}
}
/* mobile用 */
@media screen and (max-width:768px) {
	.header_toggleButton {
	}
}
.header_toggleButton:hover {
	opacity: 0.5;
}
.header_toggleButton span {
	position: absolute;
	background: #3c4245;
	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: #3c4245;
}
.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: 2px;	
	}
}
.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: 11px;
	}
}
.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: 20px;
	}
}
/* activeクラス追加時
---------------------------------------- */
.header_toggleButton.active {
}
.header_toggleButton.active span:first-child,
.header_toggleButton.active span:nth-of-type(1) {
	top: 0;
	left: 50%;
	width: 100%;
	transform: translate(-50%,15px) rotate(-45deg);
}
/* mobile用 */
@media screen and (max-width:768px) {
	.header_toggleButton.active span:first-child,
	.header_toggleButton.active span:nth-of-type(1) {
		width: 110%;
		transform: translate(-50%,10px) 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: 100%;
	transform: translate(-50%,15px) rotate(45deg);
}
/* mobile用 */
@media screen and (max-width:768px) {
	.header_toggleButton.active span:nth-child(3),
	.header_toggleButton.active span:nth-of-type(3) {
		width: 110%;
		transform: translate(-50%,10px) rotate(45deg);
	}
}
/* グローバルナビゲーション
==================================================================================================== */
.gNav {
	position: fixed;
	background: #3c4245;
	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: #3c4245;
		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;
}
.gNav.open .gNavScroll .inner {
	position: relative;
	display: block;
	width: 100%;
	height: 60vh;
}
/* ロゴ
---------------------------------------- */
.gNav_logo {
	padding: 9.38vw 4.69vw 0;
}
/* mobile用 */
@media screen and (max-width:768px) {
	.gNav_logo {
		/*padding: 20vw 0 0;*/
		padding: 24vw 0 0;
    margin: 0 7.13vw;
	}
}
.gNav_logo_link {
	display: inline-block;
}
.gNav_logo_link:hover {
	opacity: .5;
}
.gNav_logo_link > img {
	/*width: 160px;*/
	width: 305px;
	height: auto;
}
/* mobile用 */
@media screen and (max-width:768px) {
	.gNav_logo_link > img {
		/*width: 33.87vw;*/
		width: 64vw;
		height: auto;
	}
}
/* コンテンツ
---------------------------------------- */
.gNavContent {
  display:-webkit-box;
  display:-ms-flexbox;
  display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	width: 100%;
	height: auto;
	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;
	}
}
/* メインコンテンツリンク
---------------------------------------- */
.gNav_mainContents {
  display:-webkit-box;
  display:-ms-flexbox;
  display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	width: 74.14%;
	padding: 6.25vw 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: 18.93vw;
	}
}
.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: 20px;
  font-weight: 300;
  letter-spacing: 0.1em;
	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: 0;
	bottom: -7px;
	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.78vw 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: -4px;
	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: 300;
  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: 6.25vw 0 0;
}
/* mobile用 */
@media screen and (max-width:768px) {
	.gNav_subContents {
		width: auto;
		padding: 14.93vw 0 0;
	}
}
/* 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 #3c4245;
}
.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: #3c4245;
}
.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: #3c4245;
}
.onlineshop .gNav_subContents_cv_item_link {
	background-color:  #ffffff;
	border: 1px solid #3c4245;
}
.onlineshop .gNav_subContents_cv_item_link:hover {
	border: 1px solid #ffffff;
}
.onlineshop .gNav_subContents_cv_item_link::before {
	background-color: #3c4245;
}
.onlineshop .gNav_subContents_cv_item_link::after {
	background-color: #3c4245;
}
.onlineshop .gNav_subContents_cv_item_link:hover::after {
	background-color: #ffffff;
}
.onlineshop .gNav_subContents_cv_item_link > span {
	color: #3c4245;
}
.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: 2.34vw;
}
/* 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: 1.56vw;
	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.23vw 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 {
		font-size: 3.2vw;
	}
}
.gNav_subContents_legal_item_link:hover {
	text-decoration: none;
}