#main {
  position: relative;
}
h3 {
  margin: 10px auto calc(30vh + 40px);
}
.rtTxt {
  width: calc(100vw - 30px);
  position: relative;
  height: auto;
  margin: 0 auto;
}
.rtTxt h4 {
  margin: 0 0 20px 0;
}
.lfImg {
  display: none;
}
.image {
  height: 30vh;
  width: auto;
  padding: 0;
  position: absolute;
  top: 60px;
  left: 0;
  right: 0;
  margin: auto;
}
.info {
  font-size: 12px;
  line-height: 1.2;
  width: calc(100% - 50px);
  max-width: 600px;
  margin: 10px auto;
  background-color: #f4f4f4;
  padding: 10px;
  text-align: center;
}
.infoTitle {
  display: inline-block;
  margin: 5px 0 0;
  border-bottom: #ccc solid 1px;
}
.info p {
  padding: 0 0 10px;
  margin: 5px 0 0;
}
.rubi {
  position: absolute;
  top: 25px;
  left: 30px;
}
.block {
  width: calc(100vw - 30px);
  position: relative;
  margin: 0 auto 50px;
  padding: 0;
}
@media (min-width: 768px) {
  h3 {
    margin: 0 0 15px;
  }
  .rtTxt {
    width: 620px;
    height: auto;
  }
  .rtTxt h3 {
    margin: 0 0 20px 0;
  }
  .rtTxt p {
    margin: 0 10px;
  }
  .lfImg {
    display: block;
    margin: 0 20px 0 0;
    padding: 0;
    height: 585px;
    width: 400px;
  }
  .rubi {
    position: static;
  }
  .info {
    font-size: 14px;
    margin: 20px 0 10px;
  }
  .infoTitle {
    margin: 5px 0 5px;
    padding-bottom: 5px;
  }
  .block {
    width: 1040px;
    display: flex;
    margin: 0 auto 80px;
  }
}