.namisuke20th_title{
  text-align: center;
}

.cat_nav{
  display:flex;
  justify-content: center;
}

.information_wrapper{
  margin-top: 2rem;
}

.information_title{
  color:#fff;
  background: #777; 
  display: inline-block;
  padding:2px 8px;
  margin: 0;
}

.information_body{
  margin: 0;
  padding: 0.8rem;
  border:solid 2px #777;
}

.information_body li{
  list-style: none;
  display: flex;
  gap:0.7rem;
}
.information_body li + li{
  margin-top: 0.8rem;
}
.information_body li:nth-child(n+4){
  display: none;
}
.information_body.opened li:nth-child(n+4){
  display: flex;
}
.information_body.opened + .view_all_information .to_open{display: none;}
.information_body:not(.opened) + .view_all_information .to_close{display: none;}

.information_body .date{
  color:#0a3;
}

.map_wrapper{
  margin-top: 2rem;
}

.view_all_information{
  background: #777;
  color:#fff;
  border:none;
  margin: 0 auto ;
  padding: 4px 10px;
  display: block;
  border-radius:0 0 5px 5px
}

.cat_title{
margin-top: 3rem;
}
.list_body{
  font-size:0.83rem;
  display: flex;
  flex-wrap:wrap;
}
.list_media {
  width:30%;
  max-width:300px;
  flex:1 1 170px;
  margin-inline:auto;
}
.list_text{
  width:70%;
  flex:1 1 400px;
  padding-left:1rem;
}
.list_text p{
  margin: 0;
}
.list_text p+p{
  margin-top: 0.6rem;
}
.list_title{
  font-size:1.2rem;
  margin-bottom: 0.3rem;
  display: flex;
  gap:0.3rem;
}

#event .list_title{
  color:#0a3;
}
#gurume .list_title{
  color:#f60;
}


.data{
  font-weight:bold;
}
.num{
  color:#fff;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius:50%;
  width:1.5rem;
  height:1.5rem;
  line-height:1;
}
#event .num{
  background: #0a3;
}
#gurume .num{
  background: #f60;
  border-radius:0;
}
#goods .num{
  background: #59e;
  border-radius:0;
  transform: rotate(45deg);
}
#goods .num span{
  transform: rotate(-45deg);
}

.namisuke_map{
  display: block;
  width:100%;
  aspect-ratio: calc(926 / 435);
  max-height:500px;
  z-index:0;
  border:solid 4px #ac9;
  border-radius:12px;
}

.ribbon_title{
  position: absolute;
  right:2rem;
  top:max(-5vw , -60px);
  z-index:1;

}

.ribbon_title img{
  width:30vw;
  max-width:348px;
  min-width:180px;
}
.map_wrapper{
  margin-top: 4rem;
  position: relative;
}

.return_to_top{
  background: #f60;
  color:#fff;
  border:none;
  padding:4px 12px;
  border-radius:100px;
  margin-left:auto;
  display: block;
}