.fixBg{
  position: fixed;
  width: 100vw;
  height: 100dvh;
  object-fit: cover;
  left: 0;
  right: 0;
}
.bg.blur{
  backdrop-filter: saturate(100%) blur(20px);
  -webkit-backdrop-filter: saturate(100%) blur(20px);
}
.history .head img{
  margin-top: 2rem;
}
.history.wrapper{
  width: 940px;
  margin: 0 auto 0 auto;
  padding: 10rem 0 10rem 0;
}
.wire.head{

}
.wire.bottom{

}
.history .wire h1{
  width: calc(50% - 4rem);
  text-align: right;
  padding-right: 2rem;
}
.history .wire  .divide{
  height: 2.5rem;
  margin: 0;
}
.history .wire .links{
  width: calc(50% - 4rem);
  padding-left: 2rem;
}
.wire .links a{
  line-height: 1;
  font-size: 0.875rem;
  margin: 0.4rem 0;
  padding-bottom: 0.15rem;
}
.wire .links a.current{
    border-bottom: 1px solid #4C4948;
  opacity: 0.3;
}
.wire .links a:not(.current):hover{
  opacity: 0.3;
}
.wire .links a .icons{
  width: 1rem;
  vertical-align: bottom;
  margin-top: 0;
}
.timeline{
  position: relative;
}
.timeline::before{
  content: '';
  display:block;
  width: 1px;
  height: 100%;
  background: #484C4A;
  position: absolute;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.block{

}
.block,.block img{
  width: 100%;
}
.block figure{
  max-width: 220px;
}
.block figure.w160{
  max-width: 160px;
}
.block figure.w100{
  max-width: 100px;
}
.block figure.w85{
  max-width: 85px;
}
.grid-container .grid{
  width: 50%;
}
.grid.left{
  margin-right: auto;
  text-align: right;
  padding-right: 2rem;
}
.grid.left figure{
  margin-left: auto;
  text-align: left;
}
.grid.right{
  margin-left: auto;
  padding-left: 2rem;
  margin-top: 4rem;
}
.grid .inner .circle{
  width: 6px;
  height: 6px;
  background: #484C4A;
  border-radius: 100%;
  position: relative;
}
.grid .inner .bar{
  width: calc(2rem - 3px);
  height: 1px;
  background: #484C4A;
}
.grid .inner .year{
  font-size: 1.125rem;
  font-weight: 500;
}
.grid .cont{
  margin-bottom: 0.25rem;
}
.grid.left .cont{
  margin-right: calc((-2rem) - 3px);
}
.grid.right .cont{
  margin-left: calc((-2rem) - 3px);
}
.grid.left .cont.org{
  margin-right: calc((-2rem) - 8px);
}
.grid.right .cont.org{
  margin-left: calc((-2rem) - 8px);
}
.grid .cont.org .circle{
  width: 16px;
  height: 16px;
  background: #E95D08;
}
.grid .cont.org .bar{
  background: #E95D08;
  width: calc(2rem - 8px);
}
.grid .cont.org .year,.cap.org span{
  color: #E95D08;
}
p.cap{
  font-size: 0.875rem;
  line-height: 1.25;
  margin: 0 0 0.5rem 0;
}
.cap.org span{
  font-weight: 500;
}
p.cap,figcaption{
  font-family: Noto Sans JP;
}
figcaption{
  font-size: 0.75rem;
  margin-top: 0.2rem;
}
.shoulder{
  font-size: 0.625rem;
  background: #009982;
  color: white;
  border-radius: 2px;
  display: inline-block;
  margin-bottom: 0.25rem;
  padding: 0.2rem 0.5rem;
  line-height: 1.25;
}
p.cap.grn span{
  color: #009982;
}
.mTop2{
  margin-top: 2rem!important;
}
.mTop4{
  margin-top: 4rem!important;
}
.mTop6{
  margin-top: 6rem!important;
}
.mTop8{
  margin-top: 8rem!important;
}
.mTop4minu{
  margin-top: -4rem!important;
}
.mTop8minu{
  margin-top: -8rem!important;
}
@media screen and (max-width: 940px) {
  .history.wrapper{
    width: 100%;
  }
}
@media screen and (max-width: 768px){
  .history.wrapper{
    padding-left:2rem;
    padding-right: 2rem;
  }
}
@media screen and (max-width: 540px){
  .mTop2,.mTop4,.mTop6,.mTop8,.mTop4minu,.mTop8minu{
    margin-top:0!important;
  }
  .history.wrapper{
    padding-left:0;
    padding-right: 1rem;
  }
  .history .wire{
    flex-flow: column;
  }
  .history .wire h1,.history .wire .links{
    padding-right: 0;
    padding-left: 0;
    text-align: center;
    align-items: center;
    width: auto;
  }
  .history .wire .links{
    margin-top: 2rem;
  }
  .history .wire .divide{
    display: none;
  }
  .timeline::before{
    left: calc(2rem + 2.5px);
    right: inherit;
  }
  .grid-container{

  }
  .grid-container .grid{
    width: 100%;
    margin-bottom: 3rem;
  }
  .grid.left{
    margin-right: 0;
    text-align: left;
  }
  .grid.left,.grid.right{
    padding-left: 4rem;
  }
  .grid.right,.grid.right .cont{
    margin-left: 0;
    margin-top: 0
  }
  .grid.right{
    padding-right: 2rem;
  }
  .grid.left .cont{
    flex-flow: row-reverse;
    margin-right: 0;
    justify-content: flex-end;
  }
  .grid.left .cont,.grid.right .cont{
    margin-left: -2rem;
  }
  .grid.right .cont.org,.grid.left .cont.org{
    margin-left: calc((-2rem) - 5px);
  }
  .grid figure{
    width: 100%;
    max-width: 100%;
    margin: auto;
  }
  .block figure.w160{
    max-width: 220px;
  }
  .block figure.w100,.block figure.w85{
    max-width: 160px;
  }
  p.cap br{
    display: none;
  }
  p.cap{
    line-height: 1.5;
    margin-bottom: 1rem;
  }
}
