@keyframes link-arrow {
  0% {
    opacity: 1;
    fill: #707070;
  }
  50% {
    opacity: 0;
    fill: #707070;
    transform: translateX(5px);
  }
  50.1% {
    opacity: 0;
    fill: #1B7044;
    transform: translateX(-5px);
  }
  100% {
    opacity: 1;
    fill: #1B7044;
    transform: translateX(0);
  }
}
.about-intro {
  padding: 75px 0 60px;
}
.about-intro h2 {
  display: block;
  margin: 0 auto;
  max-width: min(1180px, 95%);
}
.about-intro h2:before {
  content: "";
  display: block;
  width: 52px;
  height: 37px;
  background-image: url("../images/common/icon-left-clover.svg");
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center;
  margin: 0 auto;
  margin-bottom: 19px;
}
@media screen and (max-width: 767px) {
  .about-intro h2:before {
    width: 38px;
    margin-bottom: 0;
  }
}
.about-intro h2 {
  font-size: 35px;
  font-family: "zen-maru-gothic", sans-serif;
  color: #1B7044;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .about-intro h2 {
    font-size: 26px;
  }
}
@media screen and (max-width: 1024px) {
  .about-intro {
    padding: 0 0 40px 0;
  }
}
@media screen and (max-width: 767px) {
  .about-intro {
    padding: 0;
  }
}
.about-intro h2 {
  margin-bottom: 39px;
}
@media screen and (max-width: 767px) {
  .about-intro h2 {
    margin-bottom: 15px;
  }
}
.about-intro p {
  display: block;
  margin: 0 auto;
  max-width: min(1180px, 95%);
  text-align: center;
  margin-bottom: 35px;
}
@media screen and (max-width: 767px) {
  .about-intro p {
    margin-bottom: 26px;
  }
}

.overview {
  display: block;
  margin: 0 auto;
  max-width: min(1180px, 95%);
}
.overview h2 {
  display: block;
  margin: 0 auto;
  max-width: min(1180px, 95%);
  margin: 0;
  font-size: 30px;
  font-family: "zen-maru-gothic", sans-serif;
  color: #1B7044;
  font-weight: 500;
  line-height: 1.3666666667;
  padding: 0 0 16px 8px;
}
@media screen and (max-width: 767px) {
  .overview h2 {
    font-size: 26px;
    padding: 0 0 16px 0;
  }
}
.overview {
  padding: 0 0 97px 0;
}
@media screen and (max-width: 1024px) {
  .overview {
    padding: 40px 0;
  }
}
@media screen and (max-width: 767px) {
  .overview {
    padding: 0;
  }
}
.overview .table-wrap {
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid #EDF7E9;
}
@media screen and (max-width: 767px) {
  .overview .table-wrap {
    border-radius: 5px;
  }
}
.overview .table-wrap table {
  width: 100%;
  table-layout: fixed;
}
.overview .table-wrap table tr th, .overview .table-wrap table tr td {
  vertical-align: middle;
  border-bottom: 1px solid #EDF7E9;
  display: table-cell;
}
@media screen and (max-width: 767px) {
  .overview .table-wrap table tr th, .overview .table-wrap table tr td {
    display: block;
    width: 100%;
  }
}
.overview .table-wrap table tr:nth-last-of-type(1) th, .overview .table-wrap table tr:nth-last-of-type(1) td {
  border-bottom: none;
}
.overview .table-wrap table tr th {
  width: 245px;
  background-color: #EDF7E9;
  color: #1B7044;
  text-align: center;
  padding: 33px 8px;
}
@media screen and (max-width: 767px) {
  .overview .table-wrap table tr th {
    width: 100%;
    padding: 1em;
    text-align: left;
  }
}
.overview .table-wrap table tr td {
  padding: 0 36px;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .overview .table-wrap table tr td {
    padding: 1em;
  }
}

.history {
  display: block;
  margin: 0 auto;
  max-width: min(1180px, 95%);
}
.history h2 {
  display: block;
  margin: 0 auto;
  max-width: min(1180px, 95%);
  margin: 0;
  font-size: 30px;
  font-family: "zen-maru-gothic", sans-serif;
  color: #1B7044;
  font-weight: 500;
  line-height: 1.3666666667;
  padding: 0 0 16px 8px;
}
@media screen and (max-width: 767px) {
  .history h2 {
    font-size: 26px;
    padding: 0 0 16px 0;
  }
}
.history {
  padding: 0 0 110px 0;
}
@media screen and (max-width: 1024px) {
  .history {
    padding: 0 0 40px 0;
  }
}
@media screen and (max-width: 767px) {
  .history {
    padding: 26px 0;
  }
}
.history ul {
  padding: 30px 0 0 0;
}
@media screen and (max-width: 1024px) {
  .history ul {
    padding: 0;
  }
}
.history ul li .dot {
  display: block;
  position: absolute;
  width: 13px;
  height: 13px;
  border-radius: 50%;
  background-color: #44962B;
  left: 0;
}
.history ul li:after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 6px;
  border-left: 1px solid #44962B;
  top: 0;
}
.history ul li:nth-of-type(1)::after {
  top: 26px;
}
@media screen and (max-width: 767px) {
  .history ul li:nth-of-type(1)::after {
    top: 0;
  }
}
.history ul li:nth-last-of-type(1)::after {
  bottom: 36px;
}
@media screen and (max-width: 767px) {
  .history ul li:nth-last-of-type(1)::after {
    bottom: 0;
  }
}
.history ul li {
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  padding: 0 0 28px 86px;
}
@media screen and (max-width: 767px) {
  .history ul li {
    padding: 25px 1em 25px 2em;
  }
}
.history ul li .time {
  font-weight: bold;
  line-height: 1.1111111111;
  color: #1B7044;
  flex-shrink: 0;
  width: 205px;
}
@media screen and (max-width: 767px) {
  .history ul li .time {
    width: 120px;
  }
}
.history ul li .time .small {
  font-size: 14px;
  line-height: 1.4285714286;
  display: block;
}
.history ul li .text {
  line-height: 1.5555555556;
}

.chart {
  display: block;
  margin: 0 auto;
  max-width: min(1180px, 95%);
}
.chart h2 {
  display: block;
  margin: 0 auto;
  max-width: min(1180px, 95%);
  margin: 0;
  font-size: 30px;
  font-family: "zen-maru-gothic", sans-serif;
  color: #1B7044;
  font-weight: 500;
  line-height: 1.3666666667;
  padding: 0 0 16px 8px;
}
@media screen and (max-width: 767px) {
  .chart h2 {
    font-size: 26px;
    padding: 0 0 16px 0;
  }
}
.chart {
  padding: 0 0 138px 0;
}
@media screen and (max-width: 1024px) {
  .chart {
    padding: 0 0 40px 0;
  }
}
.chart h2 {
  padding: 0 0 31px 0px;
}
@media screen and (max-width: 767px) {
  .chart .image-wrap img {
    margin: 0 auto;
  }
}

.roster {
  display: block;
  margin: 0 auto;
  max-width: min(1180px, 95%);
}
.roster h2 {
  display: block;
  margin: 0 auto;
  max-width: min(1180px, 95%);
  margin: 0;
  font-size: 30px;
  font-family: "zen-maru-gothic", sans-serif;
  color: #1B7044;
  font-weight: 500;
  line-height: 1.3666666667;
  padding: 0 0 16px 8px;
}
@media screen and (max-width: 767px) {
  .roster h2 {
    font-size: 26px;
    padding: 0 0 16px 0;
  }
}
.roster {
  padding: 0 0 44px 0;
}
.roster h2 {
  padding: 0 0 29px 0px;
}
@media screen and (max-width: 767px) {
  .roster h2 {
    padding: 0;
  }
}
.roster h3 {
  color: #1B7044;
  font-weight: bold;
  line-height: 1.8888888889;
  margin-bottom: 8px;
}
.roster h3.second {
  margin-bottom: 13px;
}
.roster .table-wrap {
  border-radius: 20px 20px 0 0;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .roster .table-wrap {
    border-radius: 5px 5px 0 0;
    overflow: auto;
  }
}
.roster .table-wrap table {
  width: 100%;
  table-layout: fixed;
}
@media screen and (max-width: 767px) {
  .roster .table-wrap table {
    width: auto;
    white-space: nowrap;
  }
}
.roster .table-wrap table tr th, .roster .table-wrap table tr td {
  padding: 13px 20px;
  width: 100%;
  line-height: 1.5555555556;
  vertical-align: middle;
}
.roster .table-wrap table tr th:nth-of-type(1), .roster .table-wrap table tr td:nth-of-type(1) {
  width: 82px;
}
.roster .table-wrap table tr th:nth-last-of-type(1), .roster .table-wrap table tr td:nth-last-of-type(1) {
  width: 373px;
}
.roster .table-wrap table tr td {
  padding: 12px 20px 14px;
}
.roster .table-wrap table thead tr {
  background-color: #EDF7E9;
}
.roster .table-wrap table thead tr th:nth-of-type(1) {
  font-weight: bold;
  color: #1B7044;
}
.roster .table-wrap table tbody {
  counter-reset: number;
}
.roster .table-wrap table tbody tr {
  border-bottom: 1px solid #EDF7E9;
}
.roster .table-wrap table tbody tr td:nth-of-type(1) {
  counter-increment: number;
}
.roster .table-wrap table tbody tr td:nth-of-type(1):before {
  display: block;
  content: counter(number);
  text-align: center;
}
.roster .table-wrap.first {
  margin-bottom: 42px;
}
.roster .table-wrap.second table tr th:nth-of-type(2), .roster .table-wrap.second table tr td:nth-of-type(2) {
  width: 170px;
}
.roster .table-wrap.second table tr th:nth-of-type(4), .roster .table-wrap.second table tr td:nth-of-type(4) {
  width: 233px;
}

.access {
  display: block;
  margin: 0 auto;
  max-width: min(1180px, 95%);
}
.access h2 {
  display: block;
  margin: 0 auto;
  max-width: min(1180px, 95%);
  margin: 0;
  font-size: 30px;
  font-family: "zen-maru-gothic", sans-serif;
  color: #1B7044;
  font-weight: 500;
  line-height: 1.3666666667;
  padding: 0 0 16px 8px;
}
@media screen and (max-width: 767px) {
  .access h2 {
    font-size: 26px;
    padding: 0 0 16px 0;
  }
}
.access {
  padding: 95px 0 44px 0;
}
.access h2 {
  padding: 0 0 58px 0px;
}
@media screen and (max-width: 767px) {
  .access h2 {
    padding: 0;
  }
}
.access .access-content {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 2em;
}
@media screen and (max-width: 1024px) {
  .access .access-content {
    display: block;
  }
}
.access .access-content .left-box {
  flex-shrink: 0;
}
.access .access-content .left-box p {
  line-height: 1.5555555556;
  margin-bottom: 42px;
}
@media screen and (max-width: 1024px) {
  .access .access-content .right-box img {
    margin: 0 auto;
  }
}
/*# sourceMappingURL=about.css.map */