:root{
  --white:#fff;
  --black:#333;
  --gray:#eee;
  --main:#71a77f;
  --light-main:#a4deb4;
  --dark-main:#33523b;
}
#sideForm form {
  padding: 0.5rem;
}

#sideForm form dl:not(:last-of-type) {
  padding-bottom: 0.5rem;
  margin-bottom: 0.5rem;
}

#sideForm form dl dt {
  width: 100%;
  color: var(--main);
  margin-bottom: 0.2em;
}

#sideForm form dl dd select {
  width: 100%;
  border: solid 1px #ddd;
  border-radius: 5px;
  padding: 0.3em 0.5em;
  color: #888;
}

#sideForm form dl dd label {
  width: 100%;
  display: block;
  padding: 0.3em 0;
  font-size: 0.9em;
}

#sideForm form p {
  text-align: right;
}

#sideForm form p button {
  padding: 0.5em 1em;
  font-weight: bold;
  background-color: #eee;
  border: solid 1px #ddd;
  color: #777;
  border-radius: 5px;
}


/* サイドコラム */
#sideColumn ul {
  padding: 0 5px;
}

#sideColumn li {
  line-height: 1.5;
  position: relative;
  padding-right: 1em;
  height: 5rem;
}
#sideColumn li:not(:last-child) {
  border-bottom: solid 1px var(--main);
}
#sideColumn li::after {
  position: absolute;
  font-family: "Font Awesome 5 Free";
  font-weight: bold;
  color: var(--main);
  content: "\f0da";
  top: calc((100% - 1em) / 2);
  right: 0.5em;
  z-index: 10;
}
#sideColumn a {
  display: block;
  padding: 10px;
  font-size: 0.9rem;
  height: 100%;
  color: #555;
  z-index: 99;
}
#sideColumn a:hover {
  text-decoration: none;
}

#sideColumn li:last-child a {
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
}

#sideColumn li a h3 {
  display: flex;
  align-items: center;
  height: 100%;
}

.sideH2 {
  text-align: center;
  font-weight: bold;
  padding: 1em 0;
  color: var(--main);
  position: relative;
  background-color: #fff;
  border-radius: 4px;
  border: solid 2px var(--main);
}

.sideH2 i {
  margin-right: 0.5em;
}

.right {
  width: 200px;
  height: auto;
  float: right;
  background: none;
  margin: 1em auto 30px;
}
.rightBox {
  margin: 0 auto 2rem;
  background-color: #fff;
}

.rightRankBox ul li:not(:last-child) {
  border-bottom: dashed 2px #eee;
}

.rightRankBox a {
  display: block;
  padding: 0 0.5em;
  margin: 10px 0;
  color: #333;
  text-align: center;
  font-weight: bold;
  line-height: 1.5em;
  position: relative;
}

.rightRankBox a img {
  width: 96%;
  display: block;
  margin: 0 auto;
}

.rightRankBox ul li a .sideRank_txt {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.rightRankBox ul li a .sideRank_txt p {
  width: 100%;
  font-size: 13px;
}
