#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:0;right:0;z-index:10000;}
#nav-open {
  display:absolute;
  width: 84px;
  height: 84px;
  vertical-align: middle;
  position: absolute;
top:0;right:0;
background:#5CE1E6;
padding:16px 25px 0;
cursor: pointer;
z-index:10000;
color:#fff;
font-size:14px;
}
.menutxt{margin:30px 0 0 -5px;}

/*ハンバーガーアイコンをCSSだけで表現*/
#nav-open span, #nav-open span:before, #nav-open span:after {
  position: absolute;
  transition: all 0.4s;
  height: 3px;/*線の太さ*/
  width: 34px;/*長さ*/
  border-radius: 3px;
  background:#fff;
  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 {
  width:fit-content;
  margin:5rem auto 0;
font-family: 'Noto Sans JP', serif;font-weight:200;font-size:24px;color:#5CE1E6;
}

.category li{list-style:none;margin-bottom:20px;}
.category li a{color:#037b8d;}
.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: #fff;
}

#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: #fff;
}

/* 幅644px以下から ヘッダー等微調節
------------------------------------------------------------*/
@media only screen and (max-width: 644px){

#contact-box{position:fixed;top:0px;right:70px;width:70px;height:70px;background:#fff;z-index:10000;cursor: pointer;}
#contact-box img{width:40px;position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);}
#sub-box{display:none;}
#nav-open {
  display:absolute;
  width: 60px;
  height: 60px;
  vertical-align: middle;
  position: absolute;
top:0;right:0;
background:#5CE1E6;
padding:5px 15px 0;
cursor: pointer;
z-index:10000;
color:#fff;
font-size:14px;

}

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

.category {
  width:fit-content;
  margin:5rem auto 0;
font-family: 'Noto Sans JP', serif;font-weight:200;font-size:20px;color:#5CE1E6;
}

}	