@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: 100%;
    height: auto;
    font-size: 0;
    padding: 1vw 0;
    z-index: 999;
    margin: 0 auto;
    background: #faf3d6;
}
.head-left {
    display: inline-block;
    position: relative;
    vertical-align: middle;
    text-align: left;
    left: 4vw;
    width: 30%;
    height: auto;
    margin: 0 5% 0 0;
    color: #fff;
}
.head-left h1 {
    color: #4f3617;
    font-size: 16px;
}
      .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: 2vw;
    width: 40px;
    cursor: pointer;
    z-index: 100;
    transition: opacity .25s ease;
    margin: 1vw 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: #4f3617;
	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: 0.8vw; 
}
.header .head-right .head-navi .button span:nth-of-type(3) {
	top: 1.6vw;
}
.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 {
    display: block;
    position: fixed;
    top: 0;
    width: 100%;
    height: auto;
    font-size: 0;
    padding: 3vw 0;
    z-index: 999;
    margin: 0 auto;
    background: #faf3d6;
}
.head-left {
    display: inline-block;
    position: relative;
    vertical-align: middle;
    text-align: left;
    left: 4vw;
    width: 60%;
    height: auto;
    color: #fff;
}
.head-left h1 {
color: #4f3617;
    font-size: 16px;
    margin: 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: 4vw 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: #4f3617;
            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; } } }
