@charset "utf-8";

/*
  Header
========================================== */
.header {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  -webkit-overflow-scrolling: touch;
  transition: .3s;
  z-index: 800;
  letter-spacing: 0.08em;
}
.globalNavi {
  height: 4.5em;
}
.globalNavi ul {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0;
  height:100%;
}
.globalNavi li {
  margin:auto 0.5em;
}
.globalNavi li.no_link,
#g_navi_v ul li.fir_no_link{
  opacity:0.2
}
.globalNavi ul a{
  color:inherit;
  text-decoration:inherit;
}
.globalNavi ul a.crt{
  text-shadow:
    1px  0px 5px #3bc6ff, 2px  0px 5px #3bc6ff,
   -1px  0px 5px #3bc6ff,-2px  0px 5px #3bc6ff,
    0px  1px 5px #3bc6ff, 0px  2px 5px #3bc6ff,
    0px -1px 5px #3bc6ff, 0px -2px 5px #3bc6ff;
}
.globalNavi ul a:hover{
  opacity:1;
  text-shadow:
    1px  0px 5px #e84b15, 2px  0px 5px #e84b15,
   -1px  0px 5px #e84b15,-2px  0px 5px #e84b15,
    0px  1px 5px #e84b15, 0px  2px 5px #e84b15,
    0px -1px 5px #e84b15, 0px -2px 5px #e84b15;
}
.langSwitchList{
  position:absolute;
  right: 0;
  top:0;
  display:flex;
  justify-content:center;
  align-items:center;
  height:100%;
  margin: 0;
}
.langSwitchList li{
  width:50%;
}
.js-langSwitch{
  display:block;
  font-size:0.85em;
  width:2.2em;
  height: 2.2em;
  text-align: center;
  color: #fff;
  background: #626262;
}
.js-langSwitch.is-crt{
  background: #fff;
  color: #000;
}
@media screen and (min-width:1240px){
  #g_navi{
    padding-bottom:4.5em;
  }
  .header{
    background:#000;
  }
  .header::before {
    content:"";
    position:absolute;
    top:0;
    left:0;
    right:0;
    height: calc(100% + 1.2em);
    background: url(../../images/main/common/header_bg.png)center top / auto 100% no-repeat;
  }
  .header__inner{
    position:relative;
  }
  .spSwitch,.header__logo{display:none!important;}
}
@media screen and (max-width: 1239px){
  .header {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    padding: 60px 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    transition: .3s;
    z-index: 1300;
  }

  #g_navi:not(.is-open) .header{
    opacity: 0;
    pointer-events: none;
    transform: translateY(-10%);
  }
  .header__logo{
    width:350px;
    max-width:75%;
    margin:0 auto 2em;
  }
  .headerLogo{
    filter:drop-shadow(0 0 2px #fff) drop-shadow(0 0 3px #fff);
    width: 100%;
  }
  .globalNavi{
    height:auto;
  }
  .globalNavi ul {
    flex-direction:column;
    justify-content: flex-start;
    text-align: center;
  }
  .globalNavi ul li{
    margin-bottom:1em;
  }
  .globalNavi li.gh_lino2{
    display:none;
  }
  .langSwitchList.spSwitch{
    position:fixed;
    top: 60px;
    height: auto;
    z-index: 500;
    flex-direction: column;
    align-items: stretch;
  }
  .langSwitchList.pcSwitch{
    position:static;
    justify-content: center;
    margin-top:2em;
  }
  .langSwitchList li{
    width:auto;
  }
}
/*
  Overlay
========================================== */

.navOverlay {
  position: fixed;
  z-index: 1200;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(0, 0, 0, .9);
  transition: .3s;
}

#g_navi:not(.is-open) .navOverlay{
  opacity: 0;
  pointer-events: none;
}

@media screen and (min-width: 1240px){
  .navOverlay {
    display: none;
  }
}
/*
  Drawr Button
========================================== */

.menuButton {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 1400;
  /* background: #000; */
  width: 60px;
  height: 60px;
  line-height: 1;
  mix-blend-mode: exclusion;
}

@media screen and (min-width: 1240px){
  .menuButton {
    display: none;
  }
}

.menuIcon {
  position: relative;
  width: 30px;
  height: 26px;
  margin: auto;
}

.menuIcon__line {
  position: absolute;
  display: inline-block;
  left: 0;
  right: 0;
  margin: auto;
  width: 100%;
  height: 4px;
  background-color: #fff;
  transition: .3s;
}

.menuIcon__line:nth-child(1) {
  top: 0;
}

.menuIcon__line:nth-child(2) {
  top: 0;
  bottom: 0;
  margin: auto;
}

.menuIcon__line:nth-child(3) {
  bottom: 0;
}

#g_navi.is-open .menuIcon__line:nth-child(1) {
  transform: rotate(45deg);
  top: calc(50% - 2px);
}

#g_navi.is-open .menuIcon__line:nth-child(2) {
  transform: scale(0);
}

#g_navi.is-open .menuIcon__line:nth-child(3) {
  bottom: calc(50% - 2px);
  transform: rotate(-45deg);
}