/* l-container
----------------------------------------------------------------- */
.l-container {
  padding-left: 30px;
  padding-right: 30px;
  margin: 0 auto;
  max-width: 1140px;
}

/* section title
----------------------------------------------------------------- */
.c-sectionTtl__subText, .c-sectionTtl__subText--white {
  font-family: var(--en);
  font-weight: 400;
  font-size: 30px;
  letter-spacing: 0.05em;
  color: #28812b;
}
@media (max-width: 1080px) {
  .c-sectionTtl__subText, .c-sectionTtl__subText--white {
    font-size: 24px;
  }
}
@media (max-width: 768px) {
  .c-sectionTtl__subText, .c-sectionTtl__subText--white {
    font-size: 3.4666666667vw;
  }
}
.c-sectionTtl__subText--white {
  color: #fff;
}
.c-sectionTtl__subText--white .c-sectionTtl__supplement::before {
  background-color: #fff;
}
.c-sectionTtl__subText--white .c-sectionTtl__supplement {
  color: #fff;
}
.c-sectionTtl__supplement {
  font-size: 20px;
  position: relative;
  margin-left: 20px;
  padding-left: 20px;
}
@media (max-width: 768px) {
  .c-sectionTtl__supplement {
    font-size: 3.4666666667vw;
    margin-left: 2.6666666667vw;
    padding-left: 2.6666666667vw;
  }
}
.c-sectionTtl__supplement::before {
  content: "";
  position: absolute;
  width: 1px;
  height: 14px;
  background-color: #28812b;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media (max-width: 768px) {
  .c-sectionTtl__supplement::before {
    height: 2.6666666667vw;
  }
}
.c-sectionTtl__mainText, .c-sectionTtl__mainText--white, .c-sectionTtl__mainText--small {
  font-weight: 500;
  font-size: 44px;
  letter-spacing: 0.05em;
  line-height: 1.36;
  color: #151d01;
  padding-top: 23px;
}
@media (max-width: 1080px) {
  .c-sectionTtl__mainText, .c-sectionTtl__mainText--white, .c-sectionTtl__mainText--small {
    font-size: 36px;
    padding-top: 8px;
  }
}
@media (max-width: 768px) {
  .c-sectionTtl__mainText, .c-sectionTtl__mainText--white, .c-sectionTtl__mainText--small {
    font-size: 5.8666666667vw;
    line-height: 1.59;
    padding-top: 2.6666666667vw;
  }
}
.c-sectionTtl__mainText--small {
  font-size: 34px;
  line-height: 1.59;
  padding-top: 10px;
}
@media (max-width: 768px) {
  .c-sectionTtl__mainText--small {
    font-size: 5.8666666667vw;
  }
}
.c-sectionTtl__mainText--white {
  color: #fff;
}

/* c-reportTable
-----------------------------------------------
------------------ */
.c-reportTable {
  height: 315px;
  overflow: auto;
  position: relative;
}
.c-reportTable::after {
  content: none;
  position: absolute;
  width: 21.3333333333vw;
  height: 21.3333333333vw;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
  right: 0;
  margin: auto;
  background-image: url(../images/scrollIcon-sp.png);
  background-size: cover;
  opacity: 1;
  -webkit-transition: 0.5s opacity ease;
  transition: 0.5s opacity ease;
}
@media (max-width: 768px) {
  .c-reportTable {
    height: 42vw;
  }
  .c-reportTable::after {
    content: "";
  }
  .c-reportTable.is-active::after {
    opacity: 0;
  }
}
.c-reportTable::-webkit-scrollbar {
  width: 15px;
  border-radius: 100px;
  background-color: #dce1d9;
}
@media (max-width: 768px) {
  .c-reportTable::-webkit-scrollbar {
    width: 2vw;
    height: 2vw;
  }
}
.c-reportTable::-webkit-scrollbar-thumb {
  width: 15px;
  border-radius: 100px;
  background-color: var(--textColor02);
}
@media (max-width: 768px) {
  .c-reportTable::-webkit-scrollbar-thumb {
    width: 2vw;
    height: 2vw;
  }
}
.c-reportTable__inner {
  background-color: #fff;
  width: calc(100% - 15px);
}
@media (max-width: 768px) {
  .c-reportTable__inner {
    width: 141.3333333333vw;
  }
}
.c-reportTable__head, .c-reportTable__head--price, .c-reportTable__head--month {
  border: 3px solid #f3f7f0;
  font-size: 20px;
  letter-spacing: 0.05em;
  line-height: 2;
  color: var(--textColor02);
  font-weight: 400;
  padding: 10px 16px;
}
@media (max-width: 768px) {
  .c-reportTable__head, .c-reportTable__head--price, .c-reportTable__head--month {
    font-size: 3.2vw;
    padding: 0.9333333333vw 2.1333333333vw;
  }
}
.c-reportTable__head--month {
  width: 16%;
  min-width: 130px;
}
@media (max-width: 768px) {
  .c-reportTable__head--month {
    width: 20vw;
    min-width: 85px;
  }
}
.c-reportTable__head--price {
  width: 24%;
  min-width: 150px;
}
@media (max-width: 768px) {
  .c-reportTable__head--price {
    width: 26.6666666667vw;
    min-width: auto;
  }
}
.c-reportTable__data {
  border: 3px solid #f3f7f0;
  font-size: 18px;
  letter-spacing: 0.05em;
  line-height: 2.22;
  font-family: var(--gothic);
  padding: 10px 16px;
}
@media (max-width: 768px) {
  .c-reportTable__data {
    font-size: 2.9333333333vw;
    padding: 0.9333333333vw 2.1333333333vw;
    line-height: 1.8;
  }
}

/* kv
----------------------------------------------------------------- */
.p-kv {
  background-image: url(../images/top/kv.jpg);
  background-size: cover;
  background-position: center;
  padding: 237px 0 140px;
}
@media (max-width: 768px) {
  .p-kv {
    background-image: url(../images/top/kv-sp.jpg);
    padding: 36.6666666667vw 0 23.3333333333vw;
  }
}
.p-kv__ttlArea {
  position: relative;
}
.p-kv__ttl {
  font-weight: 400;
  font-size: min(12.5vw, 180px);
  letter-spacing: 0.02em;
  line-height: 1.24;
  color: #fff;
  opacity: 0.25;
  text-align: center;
}
@media (max-width: 768px) {
  .p-kv__ttl {
    font-size: 13.3333333333vw;
  }
}
.p-kv__subTtl {
  font-weight: 500;
  font-size: min(2.7777777778vw, 40px);
  letter-spacing: 0.05em;
  color: #fff;
  text-shadow: #555 1px 0 10px;
  position: absolute;
  text-align: center;
  left: 0;
  right: 0;
  top: 60%;
  -webkit-transform: translateY(-40%);
          transform: translateY(-40%);
}
@media (max-width: 768px) {
  .p-kv__subTtl {
    font-size: 5.3333333333vw;
    line-height: 1.5;
    top: 80%;
    -webkit-transform: translateY(-20%);
            transform: translateY(-20%);
  }
}
.p-kv__txt {
  font-family: var(--gothic);
  font-weight: 400;
  color: #fff;
  text-shadow: #555 1px 0 10px;
  font-size: min(1.6666666667vw, 24px);
  line-height: 2.08;
  letter-spacing: 0.05em;
  text-align: center;
  padding-top: 55px;
}
@media (max-width: 768px) {
  .p-kv__txt {
    font-size: 3.4666666667vw;
    line-height: 1.92;
    padding-top: 16.9333333333vw;
  }
}
.p-kv__btn {
  font-weight: 400;
  font-size: 24px;
  line-height: 1.67;
  letter-spacing: 0.02em;
  color: #fff;
  background: -webkit-gradient(linear, left top, right top, from(#338e44), to(#93cf7f));
  background: linear-gradient(to right, #338e44, #93cf7f);
  display: block;
  border-radius: 100px;
  -webkit-transition: 0.3s opacity ease;
  transition: 0.3s opacity ease;
  padding: 20px 20px 20px 35px;
  width: 400px;
  margin: 70px auto 0;
  position: relative;
}
@media (max-width: 768px) {
  .p-kv__btn {
    font-size: 3.7333333333vw;
    margin-top: 9.3333333333vw;
    width: 59%;
    padding: 2.6666666667vw 2.6666666667vw 2.6666666667vw 4.6666666667vw;
  }
}
.p-kv__btn::before, .p-kv__btn::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 32px;
  -webkit-transition: 0.3s right ease;
  transition: 0.3s right ease;
}
@media (max-width: 768px) {
  .p-kv__btn::before, .p-kv__btn::after {
    right: 4.2666666667vw;
  }
}
.p-kv__btn::before {
  width: 18px;
  height: 2px;
  background-color: #fff;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media (max-width: 768px) {
  .p-kv__btn::before {
    width: 2.4vw;
  }
}
.p-kv__btn::after {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  width: 15px;
  height: 15px;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
}
@media (max-width: 768px) {
  .p-kv__btn::after {
    width: 2vw;
    height: 2vw;
  }
}
.p-kv__btn:visited {
  color: #fff;
}
@media (min-width: 767px) {
  .p-kv__btn:hover::before, .p-kv__btn:hover::after {
    right: 27px;
  }
}

/* topAbout
----------------------------------------------------------------- */
.p-topAbout {
  padding-top: 115px;
  position: relative;
  z-index: -1;
}
@media (max-width: 768px) {
  .p-topAbout {
    padding-top: 12.6666666667vw;
  }
}
.p-topAbout::before, .p-topAbout::after {
  content: "";
  position: absolute;
  background-size: contain;
  background-repeat: no-repeat;
  z-index: 0;
}
.p-topAbout::before {
  top: 40%;
  -webkit-transform: translateY(-60%);
          transform: translateY(-60%);
  left: 0;
  width: 47.3611111111vw;
  height: 74.0972222222vw;
  background-image: url(../images/top/topAbout-object01-pc.png);
}
@media (max-width: 768px) {
  .p-topAbout::before {
    top: 30%;
    width: 100vw;
    height: 170.5333333333vw;
    background-image: url(../images/top/topAbout-object01-sp.png);
  }
}
.p-topAbout::after {
  top: 46%;
  -webkit-transform: translateY(-54%);
          transform: translateY(-54%);
  right: 0;
  width: 53.125vw;
  height: 72.7083333333vw;
  background-image: url(../images/top/topAbout-object02-pc.png);
}
@media (max-width: 768px) {
  .p-topAbout::after {
    top: 54%;
    width: 93.3333333333vw;
    height: 142.4vw;
    background-image: url(../images/top/topAbout-object02-sp.png);
  }
}
.p-topAbout__ttlWrapper {
  text-align: center;
}
.p-topAbout__txtArea {
  padding-top: 53px;
}
@media (max-width: 768px) {
  .p-topAbout__txtArea {
    padding-top: 8.4vw;
  }
}
.p-topAbout__txt {
  font-weight: 400;
  font-size: 20px;
  text-align: center;
  color: #151d01;
  letter-spacing: 0.05em;
  line-height: 2.2;
}
@media (max-width: 1080px) {
  .p-topAbout__txt {
    font-size: 16px;
  }
}
@media (max-width: 768px) {
  .p-topAbout__txt {
    font-size: 3.4666666667vw;
    line-height: 2.3;
  }
}
.p-topAbout__txt--green {
  color: #28812b;
}
.p-topAbout__imgWrapper {
  padding-top: 87px;
}
@media (max-width: 768px) {
  .p-topAbout__imgWrapper {
    padding-top: 8.6666666667vw;
  }
}

/* topProject
----------------------------------------------------------------- */
.p-topProject {
  padding-top: 80px;
  padding-bottom: 100px;
  background-color: #eef2eb;
}
@media (max-width: 768px) {
  .p-topProject {
    padding-top: 13.3333333333vw;
    padding-bottom: 12.6666666667vw;
  }
}
.p-topProject__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 5.0694444444vw;
  position: relative;
}
.p-topProject__inner::after {
  content: "";
  position: absolute;
  bottom: -9.0277777778vw;
  right: 12.8472222222vw;
  width: 8.6111111111vw;
  height: 10.9722222222vw;
  background-image: url(../images/top/topProject_backObject.png);
  background-size: cover;
}
@media (max-width: 1080px) {
  .p-topProject__inner {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media (max-width: 768px) {
  .p-topProject__inner {
    display: block;
  }
  .p-topProject__inner::after {
    bottom: -20vw;
    right: 8vw;
    width: 16.5333333333vw;
    height: 21.0666666667vw;
  }
}
.p-topProject__mainImgWrapper {
  width: 45%;
}
@media (max-width: 768px) {
  .p-topProject__mainImgWrapper {
    width: 87%;
  }
}
.p-topProject__txtArea {
  max-width: 560px;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding-top: 4.5138888889vw;
  padding-right: 20px;
}
@media (max-width: 1080px) {
  .p-topProject__txtArea {
    padding-top: 0;
  }
}
@media (max-width: 768px) {
  .p-topProject__txtArea {
    max-width: 100%;
    padding: 12vw 8vw 0;
  }
}
@media (max-width: 1080px) {
  .p-topProject__ttlWrapper .c-sectionTtl__subText {
    font-size: 2.0833333333vw;
  }
}
@media (max-width: 768px) {
  .p-topProject__ttlWrapper .c-sectionTtl__subText {
    font-size: 3.4666666667vw;
  }
}
@media (max-width: 1080px) {
  .p-topProject__ttlWrapper .c-sectionTtl__subText--jpSmall {
    font-size: 1.3888888889vw;
  }
}
@media (max-width: 768px) {
  .p-topProject__ttlWrapper .c-sectionTtl__subText--jpSmall {
    font-size: 3.4666666667vw;
  }
}
@media (max-width: 1080px) {
  .p-topProject__ttlWrapper .c-sectionTtl__mainText--small {
    font-size: 2.3611111111vw;
  }
}
@media (max-width: 768px) {
  .p-topProject__ttlWrapper .c-sectionTtl__mainText--small {
    font-size: 5.8666666667vw;
  }
}
.p-topProject__txt {
  font-family: var(--gothic);
  font-size: 20px;
  line-height: 2;
  letter-spacing: 0.05em;
  padding-top: 2.7777777778vw;
}
@media (max-width: 1080px) {
  .p-topProject__txt {
    font-size: 1.3888888889vw;
  }
}
@media (max-width: 768px) {
  .p-topProject__txt {
    font-size: 3.4666666667vw;
    line-height: 2.07;
    padding-top: 4.6666666667vw;
  }
}
.p-topProject__largeTxt {
  font-weight: 500;
  font-size: 30px;
  letter-spacing: 0.05em;
  line-height: 1.8;
  text-align: center;
  padding: 70px 20px 0;
}
@media (max-width: 1080px) {
  .p-topProject__largeTxt {
    font-size: 2.0833333333vw;
  }
}
@media (max-width: 768px) {
  .p-topProject__largeTxt {
    font-size: 4.2666666667vw;
    line-height: 1.875;
    text-align: left;
    padding: 9.3333333333vw 8vw 0;
  }
}
.p-topProject__largeTxt--green {
  color: #28812b;
}
.p-topProject__subImages.swiper-wrapper {
  padding-top: 70px;
}
@media screen and (min-width: 769px) {
  .p-topProject__subImages.swiper-wrapper {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 30px 1fr 30px 1fr;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
  }
}
@media (max-width: 768px) {
  .p-topProject__subImages.swiper-wrapper {
    padding-top: 9.3333333333vw;
  }
}
.p-topProject__subImgWrapper {
  width: 100%;
}
@media (max-width: 768px) {
  .p-topProject__subImgWrapper {
    padding: 0 2vw;
  }
}
.p-topProject__subImg {
  width: 100%;
}

/* topDonationInfo
----------------------------------------------------------------- */
.p-topDonationInfo {
  padding-top: 114px;
  padding-bottom: 110px;
  background-image: url(../images/top/donationBack.jpg);
  background-size: cover;
  background-position: center;
}
@media (max-width: 768px) {
  .p-topDonationInfo {
    padding: 16vw 0 12vw;
    background-image: url(../images/top/donationBack-sp.jpg);
  }
}
.p-topDonationInfo__inner {
  padding-left: 30px;
  padding-right: 30px;
  margin: 0 auto;
  max-width: 1140px;
}
@media (max-width: 768px) {
  .p-topDonationInfo__inner {
    padding-right: 8vw;
    padding-left: 8vw;
  }
}
.p-topDonationInfo__table {
  margin-top: 55px;
}
@media (max-width: 768px) {
  .p-topDonationInfo__table {
    margin-top: 6vw;
  }
}
.p-topDonationInfo__report {
  background-color: #f3f7f0;
  padding: 50px 60px 60px;
  margin-top: 63px;
  position: relative;
}
@media (max-width: 768px) {
  .p-topDonationInfo__report {
    padding: 6.6666666667vw 6.6666666667vw 8vw;
    margin-top: 8.6666666667vw;
  }
}
.p-topDonationInfo__report::after {
  content: "";
  position: absolute;
  width: 30px;
  height: 4px;
  background-color: var(--textColor02);
  top: 76px;
  left: 0;
}
@media (max-width: 768px) {
  .p-topDonationInfo__report::after {
    top: 9.7333333333vw;
    width: 4vw;
    height: 0.5333333333vw;
  }
}
.p-topDonationInfo__reportTtl {
  font-size: 34px;
  letter-spacing: 0.05em;
  font-weight: 500;
  line-height: 1.59;
}
@media (max-width: 768px) {
  .p-topDonationInfo__reportTtl {
    font-size: 4.5333333333vw;
  }
}
.p-topDonationInfo__reportTxt {
  font-size: 22px;
  letter-spacing: 0.05em;
  line-height: 1.8;
  padding-top: 10px;
}
@media (max-width: 768px) {
  .p-topDonationInfo__reportTxt {
    font-size: 3.4666666667vw;
    letter-spacing: 0.02em;
    line-height: 1.7;
    padding-top: 4.6666666667vw;
  }
}
.p-topDonationInfo__destination {
  margin-top: 94px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 90px;
}
@media (max-width: 768px) {
  .p-topDonationInfo__destination {
    margin-top: 12.5333333333vw;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 4.2666666667vw;
  }
}
.p-topDonationInfo__destinationTtlSub {
  color: #fff;
  font-family: var(--en);
  font-weight: 400;
  font-size: 30px;
  letter-spacing: 0.05em;
  padding-top: 6px;
}
@media (max-width: 768px) {
  .p-topDonationInfo__destinationTtlSub {
    font-size: 3.4666666667vw;
    padding-top: 0;
  }
}
.p-topDonationInfo__destinationTtlMain {
  color: #fff;
  font-weight: 500;
  font-size: 34px;
  letter-spacing: 0.05em;
  line-height: 1.59;
  padding-top: 10px;
}
@media (max-width: 768px) {
  .p-topDonationInfo__destinationTtlMain {
    font-size: 4.5333333333vw;
  }
}
.p-topDonationInfo__destinationTxt {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  color: #fff;
  font-size: 18px;
  letter-spacing: 0.05em;
  line-height: 2.22;
}
@media (max-width: 768px) {
  .p-topDonationInfo__destinationTxt {
    font-size: 3.4666666667vw;
    line-height: 2.1;
  }
}

/* u-display-none
----------------------------------------------------------------- */
.u-displayNone--PU {
  display: block;
}
@media (max-width: 768px) {
  .u-displayNone--PU {
    display: none;
  }
}
.u-displayNone--PO {
  display: none;
}
@media (max-width: 768px) {
  .u-displayNone--PO {
    display: block;
  }
}
.u-displayNone--flexPU {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media (max-width: 768px) {
  .u-displayNone--flexPU {
    display: none;
  }
}
.u-displayNone--flexPO {
  display: none;
}
@media (max-width: 768px) {
  .u-displayNone--flexPO {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}