@charset "utf-8";

/*@media screen and (min-width: 960px), print {*/
/*@media screen and (min-width: 1050px), print {*/
@media screen and (min-width: 1000px), print {
 
header .hd-sp{
 display: none;
}

header{
 background: url("../images/bg_base.jpg")  #fbfcfd;
 position: fixed;
	z-index:100;
 top: 0;
 left: 0;
 width: 100%;
 min-width: 960px;
 padding: 0 30px;
}

header .container{
 max-width: 1400px;
 margin: 0 auto;
 display: flex;
 justify-content: space-between;
 align-items: center;
 height: 80px;
}

header .container h1 a{
 display: block;
 width: 182px;
 height: 32px;
 background: url("../images/gh_logo.svg") no-repeat center center;
 background-size: contain;
 overflow: hidden;
 text-indent: -9999px;
}

header .container nav{
 display: flex;
 justify-content: space-between;
 /*max-width: calc(100% - 220px);*/
 /*max-width: 840px;*/
 max-width: 940px;
 width: 100%;
}

 /* nav a */
header .container nav a {
 /*
  color: #97002b;
  text-decoration: none;
  position: relative;
  display: inline-block;
 */
 text-decoration: none;
 display:block;
 position: relative;
}

header .container nav a::after {
  position: absolute;
  bottom: -2px;
  left: 50%;
  transform: translateX(-50%);
  content: '';
 /*
 opacity: .8;
  width: 95%;
 */
  opacity: 0;
  width: 0%;

  height: 1px;
  background: #97002b;

  visibility: visible;
  transition: .4s;
  z-index: 4;
}

header .container nav a:hover::after {
 /*
  opacity: 0;
  width: 0%;
 */
 opacity: .8;
 width: 95%;
}

 /* nav .menu */
header .container nav ul.menu{
 display: flex;
 width: 100%;

 font-size: 14.5px;
 font-weight: 600;
 line-height: 1.4;

 justify-content: space-between;
 /*margin-left: 20px;*/
 margin-left: 1em;
}

header .container nav ul.menu li{
 /*margin-left: 35px;*/
 margin-left: 0;
 /*margin-left: 0.5em;*/
}

header .container nav ul.menu li:first-of-type{
 /*margin-left: 0;*/
 /*margin-left: 1em;*/
}

/* nav .language */

header .container nav ul.language{
 display: flex;
 align-items: center;
 align-content:center;
 margin-left: 60px;
 font-size: 13px;
 line-height: 1;
 font-family: Times, "Times New Roman", "serif";
}

header .container nav ul.language li{
 margin-left: 15px;
 padding-left: 15px;
 border-left: solid 1px #dedede;
}

header .container nav ul.language li:first-of-type{
 margin-left: 0;
 padding-left: 0;
 border: none;
}

header .container nav ul.language li > a,
header .container nav ul.language li > span{
 /*
 color: #585858;
 opacity: 0.6;
 */
 color: #a6a6a6;
 transition: color .27s;
}

header .container nav ul.language li > a:hover{
 color: #000;
}

header .container nav ul.language li > a.select {
 color: #000;
 pointer-events: none;
}

}

/*----------------------*/
/*グローバルメニュー表示切替*/

/*@media screen and (max-width: 767px) {*/
/*@media screen and (max-width: 959px) {*/
/*@media screen and (max-width: 1049px) {*/
@media screen and (max-width: 999px) {

 header .hd-pc {
  display: none;
 }

 header {
  background: url("../images/bg_base.jpg") #fbfcfd;
  position: fixed;
  top: 0;
  left: 0;
		z-index:100;
  width: 100%;
 }

 /*
 header .container {
  position: relative;
  height: 70px;
  padding-top: 1px;
  background: url("../images/bg_base.jpg") #fbfcfd;
  z-index: 11;
 }
 */
 
 header .container {
  /*
     max-width: 1400px;
     margin: 0 auto;
     display: flex;
     justify-content: space-between;
     align-items: center;
     height: 80px;
  */
  
   display: flex;
   justify-content: space-between;
   align-items: center;
   height: 80px;
   padding: 0 30px;
   background: url("../images/bg_base.jpg") #fbfcfd;
   z-index: 11;
  
 }

 /*
 header .container h1{
  margin-top: 18px;
  margin-left: 25px;
 }
 */

 header .container h1 a {
  display: block;
  width: 182px;
  height: 32px;
  background: url("../images/gh_logo.svg") no-repeat center center;
  background-size: contain;
  overflow: hidden;
  text-indent: -9999px;
 }

 /*----------------*/
 /* nav */

 header .nav_wrap{
  width: 100%;
  height: 0;
  position:absolute;
  top: 0;
  left: 0;
 }

 header .nav_wrap nav {
  position: relative;
  /*position: absolute;
  top: 0;
  left: 0;
  */
  width: 100%;
  height: 100vh;
  background: url("../images/bg_base.jpg") #fbfcfd;
  /*padding-top: 70px;*/
  padding-top: 50px;
 }

 /*----------------*/
 /* nav .menu */
 header .nav_wrap nav .menu {
  /*width: 60%;*/
  width: 230px;
  margin: 0 auto;
 }

 header .nav_wrap nav .menu ul {
  margin-top: 30px;
  width: 100%;
  display: flex;
  flex-flow: column;
  justify-content: space-between;
  font-size: 17px;
  font-weight: 600;
  /*line-height: 1.4;*/

  /*text-orientation: upright;*/ /* すべて縦方向に表示 */
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  line-height: 1.6em;
  -webkit-font-feature-settings: 'pkna';
  font-feature-settings: 'pkna';

 }

  header .nav_wrap nav .menu ul:first-of-type {
   margin-top: 0;
  }

  header .nav_wrap nav .menu ul li {
   display: block;
   /*height: 12em;*/
   margin: 0;
  }

  header .nav_wrap nav .menu ul li:first-of-type {
   margin-right: 0;
  }

 /*----------------*/
 /* nav .etc */

 header .nav_wrap nav .etc {
  margin-top: 60px;
  background: url("../images/bg_lgray.jpg");
 }

 header .nav_wrap nav .etc .column{
  border-bottom: #e0e0e0 solid 1px;
  text-align: center;
  font-size: 15px;
  line-height: 1.4;
  font-weight: 600;
 }


 /* .column.link */

 header .nav_wrap nav .etc .column.link a{
  padding: 20px 0;
  display: block;
 }

 /* .column.group1 */

 header .nav_wrap nav .etc .column.group1{
  padding: 20px 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
 }

 header .nav_wrap nav .etc .column.group1 ul{

 }

 header .nav_wrap nav .etc .column.group1 ul.sns{
  display: flex;
  align-items: center;
  align-content: center;
 }

 header .nav_wrap nav .etc .column.group1 ul.sns li{
  overflow: hidden;
  text-indent: -9999px;
  margin-right: 25px;
 }

  header .nav_wrap nav .etc .column.group1 ul.sns li a{
   display: block;
 }
 
 header .nav_wrap nav .etc .column.group1 ul.sns .fb{
  width: 20px;
  height: 20px;
  background: url("../images/gh_icon_fb-sp.png") no-repeat center center;
  background-size: contain;
 }

 header .nav_wrap nav .etc .column.group1 ul.sns .ig{
  width: 20px;
  height: 20px;
  background: url("../images/gh_icon_ig-sp.png") no-repeat center center;
  background-size: contain;
  margin-right: 0;
 }

 header .nav_wrap nav .etc .column.group1 ul.language {
  display: flex;
  align-items: center;
  align-content: center;
  font-size: 14px;
  line-height: 1;
  font-weight: normal;
  font-family: Times, "Times New Roman", "serif";
 }

 header .nav_wrap nav .etc .column.group1 ul.language li {
  margin-left: 15px;
  padding-left: 15px;
  border-left: solid 1px #dedede;
 }

 header .nav_wrap nav .etc .column.group1 ul.language li:first-of-type {
  margin-left: 0;
  padding-left: 0;
  border: none;
 }

 header .nav_wrap nav .etc .column.group1 ul.language li > a,
 header .nav_wrap nav .etc .column.group1 ul.language li > span {
  /*
  color: #585858;
  opacity: 0.6;
  pointer-events: none;
  */
  color: #a6a6a6;
  transition: color .27s;
 }

 header .nav_wrap nav .etc .column.group1 ul.language li > a:hover{
  color: #79233c;
 }

 header .nav_wrap nav .etc .column.group1 ul.language li > a.select {
  pointer-events: none;
  color: #000;
 }


 /* .column.group1 */

 header .nav_wrap nav .etc .column.copyright{
  padding: 30px 0;
  border-bottom: none;
  font-size: 11px;
  line-height: 1.4;
 }

}

/*----------------------*/
@media screen and (max-width: 767px) {
 
 header .container {
  position: relative;
  height: 70px;
  padding: 0;
  padding-top: 1px;
  /*
  background: url("../images/bg_base.jpg") #fbfcfd;
  z-index: 11;
  */
  
  display: block;
  /*height: 80px;*/
  
  background: url("../images/bg_base.jpg") #fbfcfd;
  z-index: 11;
  
 }
 
 header .container h1{
  margin-top: 18px;
  margin-left: 25px;
 }

 header .container h1 a {
  display: block;
  width: 182px;
  height: 32px;
  background: url("../images/gh_logo.svg") no-repeat center center;
  background-size: contain;
  overflow: hidden;
  text-indent: -9999px;
 }
}


/*----------------------*/
/*ハンバーガーボタン表示設定*/
/*@media screen and (max-width: 767px) {*/
/*@media screen and (max-width: 959px) {*/
/*@media screen and (max-width: 1049px) {*/
@media screen and (max-width: 999px) {

 body.is-open .wrapper{
  height: 0 !important;
  overflow: hidden;
 }
 
 body.is-open header .hd-sp .container{
  border-bottom: #eeeeee solid 1px;
 }

 body.is-open header .hd-sp .nav_wrap{
  overflow-y: scroll;
  height: calc(100vh - 70px);
  margin-top: 70px;
 }

 header .hd-sp nav {
  visibility: hidden;
  pointer-events: none;
  z-index: -1;
  opacity: 0;
  transform: translateY(-10px);
  transition: all 0.2s ease;
 }

 body.is-open header .hd-sp nav{
  visibility: visible;
  pointer-events: inherit;
  /*z-index: 500;*/
  z-index: 10;
  opacity: 1;
  transform: none;
 }
 
 body.is-open header h1{
  position: relative;
  z-index: 11;
 }

 
/*----------------------*/

  #gh-sp-btn {
    /*position: absolute;*/
   position:fixed;
    /*top: 15px;*/
   top: 20px;
    /*bottom: 0;*/
    right: 20px;
   /*left: calc(100% - 60px);*/
    /*margin: auto 0;*/
    width: 40px;
    height: 40px;
    border: none;
    border-radius: 0;
    outline: none;
    -webkit-appearance: none;
    background: transparent;
    z-index: 501;
  }

  #gh-sp-btn span {
    position: absolute;
    display: block;
    width: 30px;
    height: 1px;
    left: 5px;
    top: 0;
    bottom: 0;
    margin: auto 0;
    background: #000000;
    overflow: hidden;
  }

  body.is-open #gh-sp-btn span {
    background: #000000;
  }

  #gh-sp-btn span:nth-of-type(1) {
    transform: translateY(-10px) rotate(0);
  }

  #gh-sp-btn[data-default="false"] span:nth-of-type(1) {
    animation: sp-btn-bar01 .5s forwards;
  }

  body.is-open #gh-sp-btn span:nth-of-type(1) {
    animation: sp-btn-bar01-open .5s forwards;
  }

  #gh-sp-btn[data-default="false"] span:nth-of-type(2) {
    animation: sp-btn-bar02 .5s forwards;
  }

  body.is-open #gh-sp-btn span:nth-of-type(2) {
    animation: sp-btn-bar02-open .5s forwards;
  }

  #gh-sp-btn span:nth-of-type(3) {
    transform: translateY(10px) rotate(0);
  }

  #gh-sp-btn[data-default="false"] span:nth-of-type(3) {
    animation: sp-btn-bar03 .5s forwards;
  }

  body.is-open #gh-sp-btn span:nth-of-type(3) {
    animation: sp-btn-bar03-open .5s forwards;
  }
}

@media screen and (max-width: 767px) {
  #gh-sp-btn {
    top: 15px;
  }
}

/* =================== */

  @keyframes sp-btn-bar01 {
      0% { transform: translateY(0) rotate(45deg); }
     50% { transform: translateY(0) rotate(0); }
    100% { transform: translateY(-10px) rotate(0); }
  }

  @keyframes sp-btn-bar01-open {
      0% { transform: translateY(-10px) rotate(0); }
     50% { transform: translateY(0) rotate(0); }
    100% { transform: translateY(0) rotate(45deg); }
  }

  @keyframes sp-btn-bar02 {
      0% { transform: rotateX(90deg); }
     50% { transform: rotateX(90deg); }
    100% { transform: rotateX(0); }
  }

  @keyframes sp-btn-bar02-open {
      0% { transform: rotateX(0); }
     50% { transform: rotateX(100deg); }
    100% { transform: rotateX(90deg); }
  }

  @keyframes sp-btn-bar03 {
      0% { transform: translateY(0) rotate(-45deg); }
     50% { transform: translateY(0) rotate(0); }
    100% { transform: translateY(10px) rotate(0); }
  }

  @keyframes sp-btn-bar03-open {
      0% { transform: translateY(10px) rotate(0); }
     50% { transform: translateY(0) rotate(0); }
    100% { transform: translateY(0) rotate(-45deg); }
  }
