#contact-box{position:fixed;top:100px;right:0;width:100px;height:100px;background:#fff;z-index:10000;cursor: pointer;}
#contact-box img{width:57px;position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);}
#contact-box a{width:100%;height:100%;position: absolute;}
#sub-box{position:fixed;top:400px;right:41px;z-index:10000;}

#nav-box{position:fixed;top:30px;right:30px;z-index:10000;}
#nav-open {
  display:absolute;
  width: 100px;
  height: 100px;
  vertical-align: middle;
  position: absolute;
top:0;right:0;
border:2px solid #000;
padding:20px 26px 0;
cursor: pointer;
z-index:10000;
color:#000;
font-size:20px;
font-weight:900;
font-style:italic; 
}
.menutxt{margin:30px 0 0 -10px;}

/*ハンバーガーアイコンをCSSだけで表現*/
#nav-open span, #nav-open span:before, #nav-open span:after {
  position: absolute;
  transition: all 0.4s;
  height: 3px;/*線の太さ*/
  width: 44px;/*長さ*/
  border-radius: 3px;
  background:#000;
  display: block;
  content: '';
  cursor: pointer;
  z-index: 9999;/*最前面*/

}

#nav-open span:before {
  bottom: -12px;
}

#nav-open span:after {
  bottom: -24px;
}


/*中身*/
#nav-content {
  display: none;
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  transition: .2s ease-in-out;

}

#nav-content.open {
  display: block;
  opacity: 1;
  overflow: auto;
  position: fixed;
  top: 0;
  left: 0
  z-index: 9998;
  width: 100%;
  height: 100%;
  background: rgba(255,255,255, 0.9);/*背景色*/
  overflow: hidden;/*ブラー効果でボヤけた部分を非表示*/
}


/*:beforeにぼかし効果を設定する*/
#nav-content.open:before {
  content: '';
  overflow: hidden;
  -webkit-filter: blur(10px);
  -moz-filter: blur(10px);
  -o-filter: blur(10px);
  -ms-filter: blur(10px);
  filter: blur(10px);
  z-index: -1;/*重なり順序を一番下にしておく*/
}


/*チェックが入ったら表示する内容*/

.hamburger-top {
  height: 40px;/*×ボタンと被らないように*/
}

.category {
  text-align: left;
  margin-top: 5rem;
width:fit-content;
margin:0 auto;
position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.category li{list-style:none;margin-bottom:20px;}

.category-title {
  padding: 0.5rem;
  margin-left: -2rem;
  list-style: none;
}

.category-title a {
  color: #333;
  text-decoration: none;
}


/*三本線を動かす*/
#nav-open.active span {
  -webkit-transform: translateY(12px) rotate(-45deg);
  transform: translateY(12px) rotate(-45deg);
  background-color: #e60012;
}

#nav-open.active span:before {
  -webkit-transform: translateY(-12px) rotate(45deg);/*打ち消す*/
  transform: translateY(-12px) rotate(45deg);/*打ち消す*/
  opacity: 0;
}

#nav-open.active span:after {
  -webkit-transform: translateY(-24px) rotate(45deg);
  transform: translateY(-24px) rotate(90deg);
  background-color: #e60012;
}

/* 幅644px以下から ヘッダー等微調節
------------------------------------------------------------*/
@media only screen and (max-width: 644px){
#nav-box{position:fixed;top:20px;right:20px;z-index:10000;}
#sub-box{display:none;}
#nav-open {
  display:absolute;
  width: 70px;
  height: 70px;
  vertical-align: middle;
  position: absolute;
top:0;right:0;

padding:14px 18px 0;
cursor: pointer;
z-index:10000;
font-size:14px;
}

#nav-open span, #nav-open span:before, #nav-open span:after {
  position: absolute;
  transition: all 0.4s;
  height: 3px;/*線の太さ*/
  width: 30px;/*長さ*/
  border-radius: 3px;
  background:#000;
  display: block;
  content: '';
  cursor: pointer;
  z-index: 9999;/*最前面*/

}

.category {
  text-align: left;
font-size:18px;
width: max-content;
margin:0 auto;
position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

}	