.parts01 {
  position: relative;
}
.parts01::after {
  content: "";
  display: block;
  width: 35px;
  height: 26px;
  background: url("../img/parts01.svg") no-repeat;
  position: absolute;
  right: -30px;
  top: 0px;
  transform: rotate(12deg);
}
.parts02::after {
  content: "";
  display: inline-block;
  width: 17px;
  height: 35px;
  background: url("../img/parts02.svg") no-repeat;
  background-size: contain;
  vertical-align: middle;
  margin-left: 15px;
  position: relative;
  top: -2px;
}
.parts03 {
  position: relative;
}
.parts03::before {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  background: url("../img/parts03_before.svg") no-repeat;
  background-size: contain;
  position: absolute;
  left: -20px;
  top: 10px;
}
.parts03::after {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  background: url("../img/parts03_after.svg") no-repeat;
  background-size: contain;
  position: absolute;
  right: -20px;
  top: 10px;
}

.bg01 {
  background: url("../img/bg01.svg") no-repeat;
  background-size: 100% auto;
}
.bg02 {
  background: url("../img/bg02.svg") no-repeat;
  background-size: 100% auto;
  padding-top: 130px;
}
.bg03 {
  background: url("../img/bg03.svg") no-repeat;
  background-size: 100% auto;
  padding-top: 50px;
}
.bg04 {
  background: #f5f9f4;
}
.bg05 {
  background: #f5f8ec;
}

.stripe > div:nth-child(even) {
  background: #f5f9f4 !important;
}
.stripe > div:last-child::after {
  content: none;
}
.stripe > div::after {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background-image: repeating-linear-gradient(90deg, #2f7627, #2f7627 2px, transparent 2px, transparent 4px);
  background-position: left bottom;
  background-repeat: repeat-x;
  background-size: 100% 2px;
}

.dot-line::after {
  padding-top: 20px;
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background-image: repeating-linear-gradient(90deg, #2f7627, #2f7627 2px, transparent 2px, transparent 4px);
  background-position: left bottom;
  background-repeat: repeat-x;
  background-size: 100% 2px;
}

.fv {
  background-image: url("../img/fv_smp.png");
  background-repeat: no-repeat;
  background-position: 50% 0;
  background-size: cover;
}
@supports (background-image: url("../img/fv_smp.webp")) {
  .fv {
    background-image: url("../img/fv_smp.webp");
  }
}

.bg_fv {
  background-color: rgba(205, 219, 203, 0.6);
}

.gnav {
  background: #cddbcb;
}
.gnav li::after {
  content: url("../img/gnav.svg");
  display: block;
  margin: 0 auto;
  width: -moz-fit-content;
  width: fit-content;
}

.map-container {
  aspect-ratio: 271/209;
}
.map-container iframe {
  width: 100%;
  height: 100%;
}

.accordion-header .position-absolute {
  right: 20px;
}

.reference-small {
  color: #999999;
  font-size: 0.875rem;
  text-align: right;
  margin-top: 1rem;
}
.reference-small a {
  color: inherit;
  text-decoration: none;
}

.icon_circle {
  background: url("../img/circle.svg") no-repeat right 20px top 50%;
}

.contents-list {
  gap: 20px 10px;
}
.contents-list li {
  display: flex;
  -moz-column-gap: 10px;
       column-gap: 10px;
}
.contents-list li::after {
  content: "/";
  display: block;
  margin-right: 10px;
}
.contents-list li a {
  color: #000;
  text-decoration: none;
}

.banner {
  position: fixed;
  right: 10px;
  bottom: 10px;
  max-width: 170px;
  z-index: 20;
}
.banner .banner-close {
  top: -5px;
  right: 0px;
  padding: 2px 6px;
  border: none;
  background-color: #f8f8f8;
  border-radius: 25px;
  cursor: pointer;
  box-shadow: 0 0 7px #ccc;
}

.pagetop {
  position: fixed;
  right: 10px;
  bottom: 110px;
  width: 38px;
  z-index: 20;
}

.ranking > div:nth-child(1) {
  background-color: #82B938;
}
.ranking > div:nth-child(2) {
  background-color: #A6D16C;
}
.ranking > div:nth-child(3) {
  background-color: #B5DB83;
}

.accordion .accordion-item {
  border: unset;
}
.accordion .accordion-button {
  border: unset;
  background: unset;
  box-shadow: unset;
}
.accordion .accordion-button::after {
  content: none;
}

.js-toggle-aim {
  display: none;
}

.article-image {
  aspect-ratio: 274/201;
  display: block;
}
.article-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.hight-100 {
  height: 100px;
}/*# sourceMappingURL=style.css.map */