@charset "utf-8";

/*
  Header
========================================== */

@media screen and (max-width: 999px){
  .header {
    position: fixed;
    top: 0;
    right: 0;
    bottom: auto;
    left: 0;
    height: 70px;
    padding: 0px 0;
    -webkit-overflow-scrolling: touch;
    transition: .3s;
    z-index: 1300;
    overflow: hidden;
  }
  .is-open .header {overflow: auto;}
  body:not(#layout1) .header {
    background: rgb(255 255 255 / 80%);
  }
  #g_navi:not(.is-open) .globalNavi,
  #g_navi:not(.is-open) .socialList{
    opacity: 0;
    pointer-events: none;
    transform: translateY(-10%);
  }
  #g_navi.is-open .header {height: 100%;background: rgb(255 255 255 / 0%);}
}

/*
  Overlay
========================================== */

.navOverlay {
  position: fixed;
  z-index: 1200;
  top: 0;
  right: 0;
  left: 0;
  height:100%;
  background: linear-gradient(135deg,#512d9a -25% ,#e86d99 150%);
  transition: .3s;
}

.navOverlay::before {
  content:"";
  position: fixed;
  z-index: 1200;
  top: 0;
  right: 0;
  left: 0;
  height:100%;
  background: url(../../images/main/common/bg_pattern.jpg)top center,#7e5996;
  mix-blend-mode: luminosity;
  opacity: 0.1;
}

#g_navi:not(.is-open) .navOverlay{
  opacity: 0;
  pointer-events: none;
  height:0;
}

@media screen and (min-width: 1000px){
  .navOverlay {
    display: none;
  }
}
/*
  Drawr Button
========================================== */

.menuButton {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 1400;
  width: 60px;
  height: 60px;
  line-height: 1;
  filter: drop-shadow(0px 0px 1px #faf1ef) drop-shadow(0px 0px 2px #faf1ef) drop-shadow(0px 0px 2px #fcf0ef) drop-shadow(0px 0px 2px #faefed);
  opacity: 1;
}

.is-open .menuButton {
  filter: none;
}

@media screen and (min-width: 1000px){
  .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: #512d9a;
  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{
  background:#fff;
}
#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);
}

#side {
    background: linear-gradient(135deg,#512d9a -25% ,#e86d99 150%),#7e5996;
    background-blend-mode: soft-light;
    position: relative;
    width: 345px;
    max-width: 20%;
    flex-shrink: 0;
}
#side::before {
  content:"";
  position: absolute;
  top:0;
  left:0;
  right:0;
  height: 100%;
  background: url(../../images/main/common/bg_pattern.jpg)center center;
  mix-blend-mode: soft-light;
  opacity: 0.5;
}
#side_inner{
  position: sticky;
  z-index:10;
  top: 0;
  padding-bottom: 4em;
}
.header__inner{
  display:flex;
  flex-direction: column;
}
.globalNavi{
  margin:1em 1em 0 2em;
  color: #a787c8;
  font-family: 'EB Garamond', serif;
  font-weight: 600;
}
.globalNavi li{
  margin-bottom: 0.3em;
  position: relative;
  padding-left:0.5em;
  letter-spacing: 0.05em;
}

.gh_lino14,.gh_lino14 span,.gh_lino14 a::after{
  display:none;
}

.globalNavi a{
  text-decoration:none;
  color: #fff;
  font-style: normal;
  display: block;
  height: 100%;
  width: 100%;
}
.globalNavi a:hover{
  opacity:1;
}
.globalNavi a::after{
  content:"";
  position:absolute;
  bottom:0;
  right:0;
  width:0;
  height:1em;
  background:#3b1d59;
  opacity:0.5;
  transition:0.2s;
}
.globalNavi a.crt::after,
.globalNavi a:hover::after{
  left:0;
  right:auto;
  width:100%;
}
.globalNavi a span{
  position:relative;
  z-index:1;
}
.otherLinks::before{
  content:"";
  display:block;
  width:4em;
  height:1px;
  margin:1em 0;
  background:#be81d9;
}
.otherLinks a[target="_blank"]::before{
  content:"";
  display: inline-block;
  width:1.2em;
  height: 0.6em;
  background: url(../../images/main/common/openTab_wh.svg) center center /contain no-repeat;
}
.header__inner ul.socialList{
  width: 100px;
  margin: 0;
  flex-shrink: 0;
}
.header__logo {
  margin: 1em 0 1em 1em;
  width: 120%;
}
.header__logo h1{
  margin:0;
}
.header__logo h1 a{
  display: block;
  margin: 0 0 0.5em;
}
.header__logo .copy{
  width: 90%;
}

@media screen and (max-width:999px){
  .gh_lino14{
    display:block;
    width: 100%;
    margin: 0 0 0 0 !important;
    background: url(../../images/main/navi/logo.png) center / contain no-repeat;
  }
  .gh_lino14 a{
    display:block;
    padding: 0 0 90%;
  }
  #side_inner{
    padding-bottom: 0;
    z-index: 300;
  }
  .header__inner{
    flex-direction:column;
    align-items:center;
    justify-content: flex-start;
    height: 100%;
    position: relative;
    z-index: 1;
  }
  .header__logo {width:95%;position: relative;z-index: 1;margin: 0;padding: 0.3em 0 0 0;}
  .is-open .header__logo {opacity:0;}
  .header__logo.header__logo img{height:60px;}
  .header__logo .copy,.header__logo .catch{
    display:none;
  }
  .globalNavi{
    flex-direction:column;
    align-items:center;
    width: 80%;
    /* max-width:300px; */
    margin: 5vw auto 0;
    /* overflow: auto; */
    font-size: 2rem;
    padding: 0 0 3em;
  }
  .globalNavi ul{
    max-width:300px;
    margin: auto;
  }
  .header__inner ul.socialList{width: 170px;}
}
@media all and (-ms-high-contrast:none){
  *::-ms-backdrop, #side::before {opacity:0.1;}
}