@charset "UTF-8";
@import url(‘https://fonts.googleapis.com/css?family=Noto+Sans+JP&subset=japanese’);
@media (min-width: 769px) {
  .header {
    display: block;
    position: relative;
    top: 0;
    width: 800px;
    height: 10vw;
    font-size: 0;
    z-index: 99;
    margin: 0 auto; }
.head_ttl {
    display: block;
    position: relative;
    width: 58%;
    margin: 0 auto;
    padding-top: 3vw;
}
.header .head-left {
    display: block;
    position: relative;
    vertical-align: middle;
    text-align: center;
    width: 90%;
    height: auto;
    margin: 0 auto;
    font-family: monospace;
}
.head_ttl h1 {
    display: block;
    position: relative;
    color: #fff;
    font-size: 40px;
    letter-spacing: 10px;
    font-family: monospace;
}
.header .head-right {
    display: inline-block;
    position: relative;
    vertical-align: middle;
    text-align: right;
    text-align: -webkit-right;
    right: 4vw;
    width: 80%;
    height: auto;
    margin: 0 auto;
}
.header .head-right .head-navi {
    display: block;
    position: relative;
    width: 100%;
    height: auto;
    margin: 0 auto;
}
.header .head-right .head-navi .pc-navi {
	display: none;
}
.header .head-right .head-navi .sp-navi {
	display: block;
	position: relative;
}
.header .head-right .head-navi .button {
	position: fixed;
	top: 0;
	right: calc((100% - -700px) /2);
	height: 6vw;
	width: 3vw;
	cursor: pointer;
	z-index: 100;
	transition: opacity .25s ease;
	margin-top: 2.1vw;
}
          .header .head-right .head-navi .button.active .top {
            transform: translateY(31px) translateX(0) rotate(45deg);
            background: #fff; }
          .header .head-right .head-navi .button.active .middle {
            opacity: 0;
            background: #fff; }
          .header .head-right .head-navi .button.active .bottom {
            transform: translateY(-8px) translateX(0) rotate(-45deg);
            background: #fff; }
          .header .head-right .head-navi .button span {
            background: #fff;
            border: none;
            height: 3px;
            width: 100%;
            position: absolute;
			border-radius: 15px;
            top: 15px;
            left: 0;
            transition: all .35s ease;
            cursor: pointer; }
            .header .head-right .head-navi .button span:nth-of-type(2) {
              top: 35px; }
            .header .head-right .head-navi .button span:nth-of-type(3) {
              top: 55px; }
.header .head-right .head-navi .overlay {
    position: fixed;
    background: rgba(0,0,0,1);
    top: 0;
    left: 0;
    width: 100%;
    height: 0%;
    opacity: 0;
    visibility: hidden;
    transition: opacity .35s, visibility .35s, height .35s;
    overflow: hidden;
}
          .header .head-right .head-navi .overlay.open {
			opacity: 1;
			visibility: visible;
			height: 100%; }
.header .head-right .head-navi .overlay.open li {
    animation: fadeInTop .5s ease forwards;
    animation-delay: .40s;
    padding-top: 2vw;
}
              .header .head-right .head-navi .overlay.open li:nth-of-type(2) {
                animation-delay: .45s; }
              .header .head-right .head-navi .overlay.open li:nth-of-type(3) {
                animation-delay: .50s; }
              .header .head-right .head-navi .overlay.open li:nth-of-type(4) {
                animation-delay: .55s; }
              .header .head-right .head-navi .overlay.open li:nth-of-type(5) {
                animation-delay: .60s; }
              .header .head-right .head-navi .overlay.open li:nth-of-type(6) {
                animation-delay: .65s; }
              .header .head-right .head-navi .overlay.open li:nth-of-type(7) {
                animation-delay: .70s; }
.header .head-right .head-navi .overlay nav {
    position: relative;
    top: 5%;
    text-align: left;
}
.header .head-right .head-navi .overlay ul {
    display: block;
    list-style: none;
    padding: 0;
    margin: 0 auto;
    position: relative;
    height: 100%;
}
.header .head-right .head-navi .overlay ul li {
    width: 40%;
    display: flex;
    align-items: center;
    position: relative;
    opacity: 0;
    border-bottom: 2px solid #fff;
    border-radius: 1%;
    margin: 0 auto;
}
.header .head-right .head-navi .overlay ul li a {
    display: inline-block;
    position: relative;
    color: #fff;
    text-decoration: none;
    font-size: 25px;
    font-family: serif;
    text-align: left;
    font-weight: bold;
    overflow: hidden;
    width: 90%;
}
span.gnavi-text {
    font-size: 18px;
    padding-left: 20px;
}
span.navkigou {
    font-size: 18px;
    color: #fff;
    display: inline-block;
}

                .header .head-right .head-navi .overlay ul li a:hover {
                  transition: .6s;
                  background: #000; }
                .header .head-right .head-navi .overlay ul li a:hover:after, .header .head-right .head-navi .overlay ul li a:focus:after, .header .head-right .head-navi .overlay ul li a:active:after {
                  width: 100%; }
                .header .head-right .head-navi .overlay ul li a:after {
                  content: '';
                  position: absolute;
                  bottom: 0;
                  left: 50%;
                  width: 0%;
                  transform: translateX(-50%);
                  height: 3px;
                  transition: .35s; }
.nav_ttl {
    display: block;
    position: relative;
    width: 20%;
    margin: 0 auto;
    margin-top: 60px;
}			  
.nav_logo {
    display: block;
    position: relative;
    width: 10%;
    margin: 0 auto;
    margin-top: 100px;
    mix-blend-mode: screen;
}				  
				  
  @keyframes fadeInTop {
    0% {
      opacity: 0;
      top: 20%; }
    100% {
      opacity: 1;
      top: 0; } } 

}
@media (max-width: 768px) {
.header {
    display: block;
    position: fixed;
    top: 0;
    width: 100%;
    height: auto;
    font-size: 0;
    padding: 4vw 0;
    z-index: 99;
    margin: 0 auto;
    text-align: center;
}
.header .head-left {
    display: block;
    position: relative;
    vertical-align: middle;
    text-align: center;
    width: 70%;
    height: auto;
    margin: 0 auto;
}
.head_ttl h1 {
    display: block;
    position: relative;
    color: #fff;
    font-size: 24px;
    letter-spacing: 2px;
    font-family: monospace;
    font-weight: bold;
}
      .header .head-left a {
        text-decoration: none; }
        .header .head-left a img {
          width: 100%;
          height: auto; }
    .header .head-right {
      display: inline-block;
      position: relative;
      vertical-align: middle;
      text-align: right;
      text-align: -webkit-right;
      right: 4vw;
      width: 80%;
      height: auto;
      margin: 0 auto; }
      .header .head-right .head-navi {
        display: block;
        position: relative;
        width: 100%;
        height: auto;
        margin: 0 auto; }
        .header .head-right .head-navi .pc-navi {
          display: none; }
        .header .head-right .head-navi .sp-navi {
          display: block;
          position: relative; }
.header .head-right .head-navi .button {
    position: fixed;
    top: 0;
    left: 4vw;
    height: 6vw;
    width: 6vw;
    cursor: pointer;
    z-index: 100;
    transition: opacity .25s ease;
    margin: 4.5vw auto;
}
          .header .head-right .head-navi .button.active .top {
            transform: translateY(8px) translateX(0) rotate(45deg);
            background: #fff; }
          .header .head-right .head-navi .button.active .middle {
            opacity: 0;
            background: #fff; }
          .header .head-right .head-navi .button.active .bottom {
            transform: translateY(-8px) translateX(0) rotate(-45deg);
            background: #fff; }
.header .head-right .head-navi .button span {
    background: #fff;
    border: none;
    height: 2px;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    transition: all .35s ease;
    cursor: pointer;
    border-radius: 1%;
}
            .header .head-right .head-navi .button span:nth-of-type(2) {
              top: 8px; }
            .header .head-right .head-navi .button span:nth-of-type(3) {
              top: 16px; }
.header .head-right .head-navi .overlay {
    position: fixed;
    background: rgba(0,0,0,1);
    top: 0;
    left: 0;
    width: 100%;
    height: 0%;
    opacity: 0;
    visibility: hidden;
    transition: opacity .35s, visibility .35s, height .35s;
    overflow: hidden;
}
.header .head-right .head-navi .overlay.open {
    opacity: .9;
    visibility: visible;
    height: 100%;
}
.header .head-right .head-navi .overlay.open li {
    animation: fadeInTop .5s ease forwards;
    animation-delay: .40s;
}
              .header .head-right .head-navi .overlay.open li:nth-of-type(2) {
                animation-delay: .45s; }
              .header .head-right .head-navi .overlay.open li:nth-of-type(3) {
                animation-delay: .50s; }
              .header .head-right .head-navi .overlay.open li:nth-of-type(4) {
                animation-delay: .55s; }
              .header .head-right .head-navi .overlay.open li:nth-of-type(5) {
                animation-delay: .60s; }
              .header .head-right .head-navi .overlay.open li:nth-of-type(6) {
                animation-delay: .65s; }
              .header .head-right .head-navi .overlay.open li:nth-of-type(7) {
                animation-delay: .70s; }
.header .head-right .head-navi .overlay nav {
	position: relative;
    height: 100%;
    top: 5%;
    text-align: left;
}
.header .head-right .head-navi .overlay ul {
    display: block;
    list-style: none;
    padding: 0;
    margin: 0 auto;
    position: relative;
    height: 100%;
}
.header .head-right .head-navi .overlay ul li {
    width: 80%;
    display: flex;
    align-items: center;
    height: auto;
    position: relative;
    opacity: 0;
    border-bottom: 1px solid #fff;
    padding-top: 8vw;
    margin: 0 auto;
}
.header .head-right .head-navi .overlay ul li a {
    width: 100%;
    display: inline-block;
    position: relative;
    margin: 0 auto;
    color: #fff;
    text-decoration: none;
    font-size: 16px;
    font-family: serif;
    text-align: left;
    font-weight: bold;
    overflow: hidden;
}
                .header .head-right .head-navi .overlay ul li a:hover {
                  transition: .6s;
                  background: #000; }
                .header .head-right .head-navi .overlay ul li a:hover:after, .header .head-right .head-navi .overlay ul li a:focus:after, .header .head-right .head-navi .overlay ul li a:active:after {
                  width: 100%; }
                .header .head-right .head-navi .overlay ul li a:after {
                  content: '';
                  position: absolute;
                  bottom: 0;
                  left: 50%;
                  width: 0%;
                  transform: translateX(-50%);
                  height: 3px;
                  transition: .35s; }
.nav_ttl {
    display: block;
    position: relative;
    width: 30%;
    margin: 0 auto;
    margin-top: 5vw;
}
span.gnavi-text {
    font-size: 12px;
    padding-left: 5vw;
}
span.navkigou {
    font-size: 14px;
    display: inline-block;
    position: relative;
    color: #fff;
    width: 10%;
}
.nav_logo {
    display: block;
    position: relative;
    width: 60%;
    margin: 0 auto;
    top: -120vw;
}
  @keyframes fadeInTop {
    0% {
      opacity: 0;
      top: 20%; }
    100% {
      opacity: 1;
      top: 0; } } }
