/*スクロールバー出現によるメニューのガタつき防止*/
body {
  overflow-y: scroll;
}


@media only screen and (max-width: 1260px) {
/*body.fixed{
  position: fixed;
  width:100%;
}*/
}

/* ================================================== */
/* logo */
/* ================================================== */
.header #logo{
  position: absolute;
  top:75px;
  left:50px;
  width:112px;
  transition: .3s;
  z-index:1;
  }
.header #logo a{
  display:inline-block;
  fill: #000;
  }
/* ============ スクロール後 ============ */

.header.nav_switch #logo{
  top:7px;
  }
.header.nav_switch #logo a{
  }
@media only screen and (max-width: 1260px) {
.header #logo{
  top:7px;
  left:15px;
  }
}

/* ================================================== */
/* header */
/* ================================================== */
.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height:190px;
  /*background-color: #FFF;*/
  background-color:rgba(255,255,255,0.8);
  z-index: 4;
  transition: .3s;
  padding:80px 20px 0;
}
/* ============ スクロール後 ============ */
.header.nav_switch {
  padding:0 20px;
  height:60px;
}
@media only screen and (max-width: 1260px) {
.header{
  padding:0 20px;
  height:60px;
}
}

/* ================================================== */
/* #global */
/* ================================================== */
#global {
  display: block;
  width: 100%;
  width: calc(100% - 120px);
  margin-left:auto;
  box-sizing: border-box;
  }
#global .button,
#overlday {
  display: none;
  }
#global .nav {
  position: relative;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  font-size:1.2rem;
}
#global .nav .navitem{
  margin-right:20px;
  }
#global .nav a{
  color:#4F595D;
  padding:5px 0;
  }
#global .nav .hover_line_l::after{
  background-color: #4F595D;
  }
#global .nav .slash{
  display: inline-block;
  background-color:#4F595D;
  width:1px;
  height:32px;
  margin:0 18px;
  transform:rotate(45deg);
  }
#global .nav .snslink a{
  display: inline-block;
  line-height: 1;
  width:36px;
  padding:0;
  }
#global .nav .instagram,
#global .nav .facebook{
  fill: #A8A8A8;
  }
/* ============ スクロール後 ============ */
.header.nav_switch #overlday {
  display: none;
  position: fixed;
  z-index: 9;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, .0);
  }
.header.nav_switch #overlday.active {
  display: block;
  }
.header.nav_switch #global {
  position: fixed;
  z-index: 10;
  left: 0;
  top: 0;
  margin-top: 0;
  background-color: transparent;
  width: 100%;
  }
.header.nav_switch #global .button,
.header.nav_switch #global .button > span {
  display: inline-block;
  transition: all .4s;
  }
.header.nav_switch #global .button {
  position: absolute;
  top:10px;
  left:50%;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  transform: translateX(-50%);
  width: 40px;
  height: 20px;
  border: none;
  cursor: pointer;
  background: transparent;
  margin: 10px;
  z-index:10;
  }
.header.nav_switch #global .button::after {
  content: "MENU";
  position: absolute;
  top: 50%;
  left: 50px;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  transform: translateY(-50%);
  color:#000;
  font-size: 1rem;
  transition: all .4s;
}
.header.nav_switch #global .button > span {
  position: absolute;
  right: 0;
  width: 100%;
  height: 1px;
  background-color: #000;
}
.header.nav_switch #global .button > span:nth-of-type(1) {
  top: 0;
  width:13px;
  }
.header.nav_switch #global .button > span:nth-of-type(2) {
  top: 10px;
  width:24px;
  }
.header.nav_switch #global .button > span:nth-of-type(3) {
  bottom: 0;
  }
.header.nav_switch #global.active .button {
  width: 20px;
  }
.header.nav_switch #global.active .button::after {
  content: "CLOSE";
  left: 25px;
  color:#FFF;
}
.header.nav_switch #global.active .button > span {
  background-color: #fff;
  }
.header.nav_switch #global.active .button > span:nth-of-type(1) {
  transform: translateY(10px) rotate(-45deg);
  width:100%;
  }
.header.nav_switch #global.active .button > span:nth-of-type(2) {
  opacity: 0;
  }
.header.nav_switch #global.active .button span:nth-of-type(3) {
  transform: translateY(-9px) rotate(45deg);
  width:100%;
  }
.header.nav_switch #global .navwrap{
  display: none;
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height: auto;
  padding:100px 50px 50px 20px;
  background: #3D4D53;
  background: -webkit-linear-gradient(-97deg, #748D9A, #3D4D53);
  background: linear-gradient(-97deg, #748D9A, #3D4D53);
  white-space: nowrap;
  }
.header.nav_switch #global.active .navwrap{
  display: block;
  }
.header.nav_switch #global .nav {
  justify-content: flex-start;
  max-width:900px;
  margin:0 auto;
  padding-right:20px;
  padding-left:20px;
  font-size:1.4rem;
}
.header.nav_switch #global .nav .navitem {
  position:relative;
  padding-left:15px;
  margin:0 40px 30px 0;
  }
.header.nav_switch #global .nav .navitem::before{
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  transform: translateY(-50%);
  display:inline-block;
  height:1px;
  width:5px;
  background-color:#FFF;
  }
.header.nav_switch #global .nav a{
  color:#FFF;
  }
.header.nav_switch #global .nav .hover_line_l::after{
  background-color: #FFF;
  }
.header.nav_switch #global .nav .navitem.snslink{
  position:absolute;
  right:0;
  padding-left:0;
  }
.header.nav_switch #global .nav .navitem.snslink::before{
  display:none;
  }
.header.nav_switch #global .nav .slash{
  display: inline-block;
  background-color:#FFF;
  }
.header.nav_switch #global .nav .instagram,
.header.nav_switch #global .nav .facebook{
  fill: #FFF;
  }
@media only screen and (min-width: 1200px) {
.header.nav_switch #global .nav {
left:-50px;}
  }
@media only screen and (max-width: 1260px) {
#overlday {
  display: none;
  position: fixed;
  z-index: 9;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, .0);
  }
#overlday.active {
  display: block;
  }
#global {
  position: fixed;
  z-index: 10;
  left: 0;
  top: 0;
  margin-top: 0;
  background-color: transparent;
  width: 100%;
  }
#global .button,
#global .button > span {
  display: inline-block;
  transition: all .4s;
  }
#global .button,
.header.nav_switch #global .button {
  position: absolute;
  top:10px;
  left:50%;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  transform: translateX(-50%);
  width: 40px;
  height: 20px;
  border: none;
  cursor: pointer;
  background: transparent;
  margin: 10px;
  z-index:10;
  }

#global .button::after {
  content: "MENU";
  position: absolute;
  top: 50%;
  left: 50px;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  transform: translateY(-50%);
  color:#000;
  font-size: 1rem;
  transition: all .4s;
}
#global .button > span {
  position: absolute;
  right: 0;
  width: 100%;
  height: 1px;
  background-color: #000;
}
#global .button > span:nth-of-type(1) {
  top: 0;
  width:13px;
  }
#global .button > span:nth-of-type(2) {
  top: 10px;
  width:24px;
  }
#global .button > span:nth-of-type(3) {
  bottom: 0;
  }
#global.active .button {
  width: 20px;
  }
#global.active .button::after {
  content: "CLOSE";
  left: 25px;
  color:#FFF;
}
#global.active .button > span {
  background-color: #fff;
  }
#global.active .button > span:nth-of-type(1) {
  transform: translateY(10px) rotate(-45deg);
  width:100%;
  }
#global.active .button > span:nth-of-type(2) {
  opacity: 0;
  }
#global.active .button span:nth-of-type(3) {
  transform: translateY(-9px) rotate(45deg);
  width:100%;
  }
#global .navwrap{
  display: none;
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height: auto;
  padding:100px 50px 50px 20px;
  background: #3D4D53;
  background: -webkit-linear-gradient(-97deg, #748D9A, #3D4D53);
  background: linear-gradient(-97deg, #748D9A, #3D4D53);
  white-space: nowrap;
  }
#global.active .navwrap{
  display: block;
  }
/* #global .nav {
  justify-content: flex-start;
  max-width:900px;
  margin:0 auto;
  padding-right:140px;
  padding-left:20px;
  font-size:1.4rem;
} */
#global .nav .navitem {
  position:relative;
  padding-left:15px;
  margin:0 40px 30px 0;
  }
#global .nav .navitem::before{
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  transform: translateY(-50%);
  display:inline-block;
  height:1px;
  width:5px;
  background-color:#FFF;
  }
#global .nav a{
  color:#FFF;
  }
#global .nav .hover_line_l::after{
  background-color: #FFF;
  }
#global .nav .navitem.snslink{
  position:absolute;
  right:0;
  padding-left:0;
  }
#global .nav .navitem.snslink::before{
  display:none;
  }
#global .nav .slash{
  display: inline-block;
  background-color:#FFF;
  }
#global .nav .instagram,
#global .nav .facebook{
  fill: #FFF;
  }
}
@media only screen and (max-width: 768px) {
#global .navwrap,
.header.nav_switch #global .navwrap{
  height: 100vh;
  background: #3D4D53;
  background: -webkit-linear-gradient(0deg, rgba(116, 141, 154, 0.9), rgba(61, 77, 83, 1.0));
  background: linear-gradient(0deg, rgba(116, 141, 154, 0.9), rgba(61, 77, 83, 1.0));
  }
#global .nav,
.header.nav_switch #global .nav{
  max-width:320px;
  margin:0 auto;
  padding:0;
}
#global .nav .navitem,
.header.nav_switch #global .nav .navitem{
  width:100%;
  }

#global .nav .navitem.snslink,
.header.nav_switch #global .nav .navitem.snslink{
  position: relative;
  right: auto;
  }
#global .nav .navitem {
  margin:0 0 30px 20px;
  }
}
@media only screen and (max-width: 480px) {

}
@media only screen and (max-width: 320px) {
#global .nav,
.header.nav_switch #global .nav{
  max-width:280px;
  font-size:1.2rem;
}
#global .nav .navitem {
  margin:0 0 15px 10px;
  }
}


/* ================================================== */
/* #sidenav */
/* ================================================== */
#sidenav{
  position:fixed;
  top:50%;
  right:0;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  transform: translateY(-50%);
  width:45px;
  height:360px;
  z-index:100;
  }
#sidenav .contact,
#sidenav .members{
  position:relative;
  display:block;
  right: 0;
  width: 100%;
  height: 180px;
  color:#FFF;
  -ms-writing-mode :tb-rl;
  writing-mode: vertical-rl;
  color: #FFF;
  letter-spacing: 0.2em;
  white-space: nowrap;
  }
#sidenav .contact{
  background-color:rgba(80,80,80,0.5);
  }
#sidenav .members{
  background-color:rgba(0,0,0,0.5);
  display:none;
  }
#sidenav .contact span,
#sidenav .members span{
  position:absolute;
  top:20px;
  left:13px;
  padding-bottom:30px;
  }
#sidenav .contact span::after,
#sidenav .members span::after{
  position: absolute;
  bottom:0;
  left:50%;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  transform: translateX(-50%);
  content: '';
  display: inline-block;
  width: 20px;
  height:20px;
  background-size: contain;
  background-position:center;
  background-repeat:no-repeat;
  }
#sidenav .contact span::after{
  background-image: url(/img/common/icon_contact.svg);
  }
#sidenav .members span::after{
  background-image: url(/img/common/icon_members.svg);
  }
@media only screen and (max-width: 1260px) {

#sidenav{
  top:0;
  -webkit-transform: translateY(0);
  -moz-transform: translateY(0);
  transform: translateY(0);
  }
}
@media only screen and (max-width: 480px) {

#sidenav{
  width: 32px;
  }
#sidenav .contact span,
#sidenav .members span{
  position:absolute;
  top:30px;
  left:7px;
  }
}
