@charset "UTF-8";
@import url(‘https://fonts.googleapis.com/css?family=Noto+Sans+JP&subset=japanese’);
@media (min-width: 769px) {
  .header {
    display: block;
    position: fixed;
    top: 0;
    width: 800px;
    height: auto;
    font-size: 0;
    padding: 2vw 0;
    z-index: 999;
    margin: 0 auto; }
    .header .head-left {
      display: inline-block;
      position: relative;
      vertical-align: middle;
      text-align: left;
      text-align: -webkit-left;
      left: 4vw;
      width: 30%;
      height: auto;
      margin: 0 5% 0 0; }
      .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;
    right: calc((100% - 84vw) /2);
    height: 20px;
    width: 3vw;
    cursor: pointer;
    z-index: 100;
    transition: opacity .25s ease;
    margin: 12px auto;}
          .header .head-right .head-navi .button.active .top {
            transform: translateY(0.6vw) 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(-1vw) translateX(0) rotate(-45deg);
            background: #fff; }
          .header .head-right .head-navi .button span {
            background: #9e9f9f;
            border: none;
            height: 2px;
            width: 100%;
            position: absolute;
            top: 0;
            left: 0;
            transition: all .35s ease;
            cursor: pointer; }
            .header .head-right .head-navi .button span:nth-of-type(2) {
              top: 10px; }
            .header .head-right .head-navi .button span:nth-of-type(3) {
              top: 22px; }
        .header .head-right .head-navi .overlay {
          position: fixed;
          background: rgba(0,0,0,0.6);
          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: 40%; }
            .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: 70%;
            top: 60%;
            transform: translateY(-50%);
            text-align: center; }
          .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 {
			margin: 0 auto;
			width: 100%;
              display: block;
              height: auto;
              height: calc(100% / 6);
              position: relative;
              opacity: 0; }
              .header .head-right .head-navi .overlay ul li a {
				margin: 0 auto;
				width: 100%;
				display: block;
				position: relative;
				margin: 0 auto;
				width: 100%;
				color: #fff;
				text-decoration: none;
				display: block;
				font-size: 20px;
				font-family: 'Noto Serif JP', serif;
				text-align: left;
				font-weight: 450;
				line-height: 1;
				padding: 0.5vw 0;
				padding-left: 45vw;
				overflow: hidden;
				margin: 1vw 0;				}
                .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; }
  @keyframes fadeInTop {
    0% {
      opacity: 0;
      top: 20%; }
    100% {
      opacity: 1;
      top: 0; } } }
@media (max-width: 768px) {
header {
    position: fixed;
    z-index: 10000;
    width: 100%;
    text-align: left;
    top: 0;
    height: 13vw;
}	
  .header {
    display: block;
    position: fixed;
    top: 0;
    width: 100%;
    height: auto;
    font-size: 0;
    padding: 2vw 0;
    z-index: 999;
    margin: 0 auto; }
    .header .head-left {
      display: inline-block;
      position: relative;
      vertical-align: middle;
      text-align: left;
      text-align: -webkit-left;
      left: 4vw;
      width: 30%;
      height: auto;
      margin: 0 5% 0 0; }
      .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;
          right: 6vw;
          height: 6vw;
          width: 6vw;
          cursor: pointer;
          z-index: 100;
          transition: opacity .25s ease;
              margin: 3.8vw 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: #9e9f9f;
            border: none;
            height: 2px;
            width: 100%;
            position: absolute;
            top: 0;
            left: 0;
            transition: all .35s ease;
            cursor: pointer; }
            .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,0.9);
          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: 40%; }
            .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: 70%;
            top: 35%;
            transform: translateY(-50%);
            text-align: center; }
          .header .head-right .head-navi .overlay ul {
			display:block;
            list-style: none;
            padding: 0;
            margin: 0 auto;
            position: relative;
			padding-top: 10vw;
            height: 100%; }
            .header .head-right .head-navi .overlay ul li {
			margin: 0 auto;
			width: 100%;
              display: block;
              height: auto;
              height: calc(100% / 6);
              position: relative;
              opacity: 0; }
              .header .head-right .head-navi .overlay ul li a {
    margin: 0 auto;
    width: 100%;
    display: block;
    position: relative;
    margin: 0 auto;
    width: 100%;
    color: #fff;
    text-decoration: none;
    display: block;
    font-size: 4.5vw;
    font-family: 'Noto Serif JP', serif;
    text-align: left;
    font-weight: 450;
    line-height: 1;
    padding: 0.5vw 0;
    padding-left: 30vw;
    margin: 5vw 0;
    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; }
  @keyframes fadeInTop {
    0% {
      opacity: 0;
      top: 20%; }
    100% {
      opacity: 1;
      top: 0; } } }
