#history .banner {
  background-image: url(../images/company/history/banner.jpg);
  background-position: center bottom;
}

#history p {
  font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif;
  font-size: 30px;
  line-height: 44px;
  color: #434343;
  padding: 65px 0 32px;
  border-bottom: 1px solid #e5e5e5;
  margin-bottom: 80px;
}

#history .table {
  margin-bottom: 130px;
}

#history dl {
  position: relative;
}

#history dl:nth-child(2n) dt {
  background: #ef7d35;
}

#history dl:nth-child(2n) dd .left {
  color: #ef7d35;
}

#history dl:nth-child(2n) dd .right::before {
  background: #ef7d35;
}

#history dl:last-child dd li:last-child .right {
  padding-bottom: 3px;
}

#history dl:last-child dd li:last-child .right::after {
  content: none;
}

#history dl dt {
  width: 185px;
  height: 100%;
  float: left;
  background: #19b091;
  border-bottom: 2px solid #ffffff;
  position: absolute;
}

#history dl dt span {
  display: block;
  width: 100%;
  font-size: 20px;
  line-height: 40px;
  color: #ffffff;
  padding-left: 20px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  font-family: "游明朝体", "Yu Mincho","ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", "Sawarabi Mincho",serif;
}

#history dl dd {
  width: calc(100% - 185px);
  float: left;
  position: relative;
  left: 185px;
}

#history dl dd .left {
  width: 195px;
  float: left;
  font-size: 20px;
  line-height: 30px;
  color: #00a684;
  padding: 8px 0 0 60px;
  font-family: "游明朝体", "Yu Mincho","ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", "Sawarabi Mincho",serif;
}

#history dl dd .right {
  width: calc(100% - 195px);
  float: left;
  font-size: 16px;
  line-height: 30px;
  color: #434343;
  padding: 8px 0 49px 70px;
  position: relative;
}

#history dl dd .right::before {
  content: '';
  width: 12px;
  height: 12px;
  background: #19b091;
  border-radius: 50%;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  -ms-border-radius: 50%;
  -o-border-radius: 50%;
  position: absolute;
  top: 15px;
  left: -6px;
}

#history dl dd .right::after {
  content: '';
  width: 3px;
  height: calc(100% - 23px);
  background: #ebf3f0;
  position: absolute;
  top: 34px;
  left: -1px;
}

/* ------------------------------------------------------------ mobile */
@media only screen and (max-width: 640px) {
  #history .banner {
    background-image: url(../images/company/history/banner_sp.jpg);
  }
  #history p {
    font-size: 22px;
    line-height: 30px;
    padding: 32px 0 17px;
    margin-bottom: 22px;
  }
  #history .table {
    margin-bottom: 40px;
  }
  #history dl dt {
    width: 55px;
  }
  #history dl dt span {
    font-size: 14px;
    line-height: 18px;
    padding: 0 22px;
    text-align: center;
  }
  #history dl dd {
    width: calc(100% - 55px);
    left: 55px;
  }
  #history dl dd .left {
    width: 100%;
    font-size: 14px;
    line-height: 18px;
    padding: 8px 0 3px 42px;
  }
  #history dl dd .right {
    width: 100%;
    font-size: 10px;
    line-height: 18px;
    padding: 0 0 15px 42px;
  }
  #history dl dd .right::before {
    width: 9px;
    height: 9px;
    top: -18px;
    left: 18px;
  }
  #history dl dd .right::after {
    width: 2px;
    height: calc(100% + 13px);
    top: -6px;
    left: 21px;
  }
}
