@charset "UTF-8";
/* CSS Document */




#header_logo{
    display: block;
}


a {
	color: #040404;
	text-decoration: none;
}
.mainView {
	width: 100vw;
	height: 100vh;
}


/*ハンバーガーボタン
.el_humburger {
	position: fixed;
	top: 30px;
	right: 60px;
	width: 46px;
	height: 25px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	padding-top: 0px;
	z-index: 20;
	cursor: pointer;
	pointer-events: auto;
	color: #00aeec;
	text-align: center;
}*/

/*ハンバーガー挙動*/
.el_humburger {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	padding-top: 0px;
	z-index: 35;
	cursor: pointer;
	pointer-events: auto;
	color: #00aeec;
}


@media screen and (max-width: 840px) {
.el_humburger {
	display: block;
	width: 50px;
	height: 30px;
}
#factory .el_humburger {
	display: none;
}
}
.el_humburger_wrapper {
	margin-bottom: 5px;
	width: 42px;
	display: inline-block;
}

@media screen and (max-width: 840px) {
.el_humburger_wrapper {
	margin-bottom: 5px;
	width: 30px;
}
}
.el_humburger_text {
	font-size: 12px;
	letter-spacing: 0.1em;
	font-family: "游ゴシック Medium", YuGothic, "Yu Gothic", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
}
.js_humburgerOpen .el_humburger_text.el_humburger_text__menu {
	display: none;
}
.el_humburger_text.el_humburger_text__close {
	display: none;
}
.js_humburgerOpen .el_humburger_text.el_humburger_text__close {
	display: block;
}

@media screen and (max-width: 840px) {
.el_humburger_text {
	font-size: 10px;
	padding-top: 2px;
}
}

@media screen and (max-width: 840px) {
.el_humburger_text svg path {
	-webkit-transition: all 200ms cubic-bezier(0.16, 0.52, 0.25, 1);
	-o-transition: all 200ms cubic-bezier(0.16, 0.52, 0.25, 1);
	transition: all 200ms cubic-bezier(0.16, 0.52, 0.25, 1);
	fill: #00aeec;
}
}

@media screen and (max-width: 840px) {
.js_humburgerOpen .el_humburger_text svg path {
	fill: #00aeec;
}
}
.el_humburger span.el_humburger_bar {
	display: block;
	width: 100%;
	margin: 0 auto 9px;
	height: 2px;
	background: #00aeec;
	-webkit-transition: all .2s ease-in-out;
	-o-transition: all .2s ease-in-out;
	transition: all .2s ease-in-out;
}
.el_humburger span.el_humburger_bar:last-child {
	margin-bottom: 0;
}
.js_humburgerOpen .el_humburger span.el_humburger_bar {
	background: #00aeec;
}

@media screen and (max-width: 840px) {
.el_humburger span.el_humburger_bar {
	left: 0;
	top: 0;
	background: #00aeec;
}
}
.js_humburgerOpen .el_humburger span.el_humburger_bar.top {
	-webkit-transform: translateY(9px) rotate(-45deg);
	-ms-transform: translateY(9px) rotate(-45deg);
	transform: translateY(9px) rotate(-45deg);
}
.js_humburgerOpen .el_humburger span.el_humburger_bar.middle {
	opacity: 0;
}
.js_humburgerOpen .el_humburger span.el_humburger_bar.bottom {
	-webkit-transform: translateY(-11px) rotate(45deg);
	-ms-transform: translateY(-11px) rotate(45deg);
	transform: translateY(-11px) rotate(45deg);
}
.el_humburgerButton.el_humburgerButton__close {
	top: 2%;
	right: 2%;
}
.el_humburgerButton__close span.el_humburger_bar {
	display: block;
	width: 35px;
	margin: 0 auto;
	height: 4px;
	background: #000;
}
.el_humburgerButton__close span.el_humburger_bar.top {
	-webkit-transform: translateY(5px) rotate(-45deg);
	-ms-transform: translateY(5px) rotate(-45deg);
	transform: translateY(5px) rotate(-45deg);
}
.el_humburgerButton__close span.el_humburger_bar.bottom {
	-webkit-transform: translateY(-6px) rotate(45deg);
	-ms-transform: translateY(-6px) rotate(45deg);
	transform: translateY(-6px) rotate(45deg);
}


.toptop{
	z-index: 9999
}

/*スライドナビ*/
.navi {
	position: fixed;
	right: 0;
	height: 100%;
	background-color: rgba(255, 255, 255, 0.9);
	width: 0;
	z-index: 3;
	padding-top: 65px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all 400ms ease-out;
	-o-transition: all 400ms ease-out;
	transition: all 400ms ease-out;
	overflow: scroll;
    border: 1px solid rgba(255, 255, 255, 0.9);
	top: 0;
}



.js_humburgerOpen .navi {
	width: 450px;
}

@media screen and (max-width: 840px) {
	
.js_humburgerOpen .navi {
	width: 100%;
	padding: 65px 0;}

}






li.navi_item a{
    display: block;
	font-size: 20px;
	white-space: nowrap;   
    background-color: #00aeec;
    padding: 10px 10px 10px 50px;
    color: #fff;
    width: 100%;
	line-height: 1.5em !important

}

@media screen and (max-width: 840px) {
	
li.navi_item a{
    display: block;
	font-size: 18px;
	white-space: nowrap;   
    background-color: #00aeec;
    padding: 10px;
    color: #fff;
    width: 100%;
	text-align: center;

}
}
.navi_item.op_innerLink {
	cursor: pointer;
}

li.navi_item.earth a{
    background-color: #ffffff;
    color: #333333;
    font-size: 16px
}
@media screen and (max-width: 840px) {
.navi_item {
	margin-left: 0;
	font-size: 16px;
}
}
.menu__item {
	color: #fff;
	cursor: pointer;
	display: block;
	margin-bottom: 1px;
	position: relative;
}
.menu__item__link {
	color: #333;
	display: block;
}
.submenu {
	display: none;
    list-style: none;
}
li.submenu__item a{
    display: block;
    width: 100%;
    background-color: rgba(255, 255, 255, 0.9);
	color: #222;
    border-top: 1px solid #00aeec;
}


li.earth__item a{
        font-size: 16px !important;
    display: block;
    width: 100%;
    background-color: rgba(255, 255, 255, 0.9);
	color: #222;

}




    ul {
    display: block;
    list-style-type: disc;
    margin-block-start: 0em!important;
    margin-block-end: 0em !important;
    margin-inline-start: 0px !important;
    margin-inline-end: 0px !important;
    padding-inline-start: 0px !important;
}
    


/*言語切り替えナビ*/
.language_lst{
    float: right;
   padding-right: 30px;
}

ul.language_lst, ul.lang_dropdown{
    display: block;
    list-style-type:none;
    margin-block-start: 0em!important;
    margin-block-end: 0em !important;
    margin-inline-start: 0px !important;
    margin-inline-end: 0px !important;
    padding-inline-start: 0px !important;
    
}
ul.language_lst > li{
position: relative
}

ul.language_lst > li:before{
    font-family: "Font Awesome 5 Free";
    content: "\f0ac";
    font-weight: 900;
    font-size: 20px;
    padding-right: 10px;
}

ul.language_lst ul > li a{

}

ul.lang_dropdown{
    display: none;
    position: absolute;

}

.lang_dropdown li a{
    display: block;
    background-color: rgba(255, 255, 255, 0.9);
    padding: 5px 30px;
}


/*追従するハンバーガー*/
.flow-nav__wrapper {
   display:none;
 }

.flow_navi {
  position: fixed;
  bottom: 20px;
right: 20px;
  z-index: 15;
}
 

