@import url("https://fonts.googleapis.com/css2?family=M+PLUS+1p:wght@800&display=swap");
html, body {
  font-family: "M PLUS 1p", sans-serif;
  color: #ffffff;
  font-weight: 800;
  line-height: 1.75;
}

body {
  background: #006e43;
}

.main img, .main picture {
  display: block;
  margin: 0 auto;
  max-width: 100%;
}

a img {
  transition: all 0.4s ease;
  opacity: 1;
}
a:hover img {
  opacity: 0.7;
}

.inner {
  width: 980px;
  max-width: 100%;
  padding-left: 20px;
  padding-right: 20px;
  margin: 0 auto;
}
@media (max-width: 768px) {
  .inner {
    padding-left: 3.7333333333vw;
    padding-right: 3.7333333333vw;
  }
}

@media (max-width: 768px) {
  .pc {
    display: none !important;
  }
}

@media (min-width: 769px) {
  .sp {
    display: none !important;
  }
}

@media (max-width: 768px) {
  .header {
    justify-content: center;
  }
}

.kv {
  position: relative;
  max-width: 100%;
  margin: 0 auto 60px;
}
@media (max-width: 768px) {
  .kv {
    margin-bottom: 1.3333333333vw;
  }
}
.kv .kv__title {
  background: #006e43;
  padding-top: 10px;
  padding-bottom: 10px;
}
.kv .kv__title h1 {
  margin: 0;
}
.kv .kv__title img {
  width: 396px;
}
@media (max-width: 768px) {
  .kv .kv__title {
    padding-left: 3.7333333333vw;
    padding-right: 3.7333333333vw;
  }
}
.kv .kv__image {
  position: relative;
  overflow: hidden;
  background: url("../img/kv_bg_pc.png") no-repeat top center;
  background-size: cover;
}
@media (max-width: 768px) {
  .kv .kv__image {
    background-image: url("../img/kv_bg_sp.png");
  }
}
.kv .kv__image__main img, .kv .kv__image__main picture {
  width: 100%;
}
.kv .kv__image img[class*=kv_illust_], .kv .kv__image picture[class*=kv_illust_] {
  position: absolute;
}
.kv .kv__image img[class*=kv_illust_02], .kv .kv__image picture[class*=kv_illust_02] {
  opacity: 0;
  scale: 0;
  -webkit-transition: opacity 0.3s ease, scale 0.3s cubic-bezier(0.44, 0.42, 0.24, 1.55);
  transition: opacity 0.3s ease, scale 0.3s cubic-bezier(0.44, 0.42, 0.24, 1.55);
  transition-delay: 0.3s;
}
.kv .kv__image img[class*=kv_illust_02].animate__animated, .kv .kv__image picture[class*=kv_illust_02].animate__animated {
  opacity: 1;
  scale: 1;
  rotate: 0deg;
}
@media (max-width: 768px) {
  .kv .kv__image .kv_illust_01_01 {
    top: 2.1333333333vw;
    left: -8.5333333333vw;
    width: 69.6vw;
  }
  .kv .kv__image .kv_illust_01_02 {
    top: 39.4666666667vw;
    left: 37.3333333333vw;
    width: 77.0666666667vw;
  }
  .kv .kv__image .kv_illust_02_01 {
    top: 2.6666666667vw;
    left: 58.6666666667vw;
    width: 12.5333333333vw;
  }
  .kv .kv__image .kv_illust_02_02 {
    top: 13.6vw;
    left: 70.6666666667vw;
    width: 25.0666666667vw;
  }
  .kv .kv__image .kv_illust_02_03 {
    top: 62.9333333333vw;
    left: 5.6vw;
    width: 16vw;
  }
  .kv .kv__image .kv_illust_02_04 {
    top: 106.1333333333vw;
    left: 86.6666666667vw;
    width: 12.5333333333vw;
  }
  .kv .kv__image .kv_illust_02_05 {
    top: 37.8666666667vw;
    left: 61.8666666667vw;
    width: 16.5333333333vw;
  }
  .kv .kv__image .kv_illust_02_06 {
    top: 80.8vw;
    left: 21.0666666667vw;
    width: 12.8vw;
  }
  .kv .kv__image .kv_illust_02_07 {
    top: 109.0666666667vw;
    left: 23.7333333333vw;
    width: 16.5333333333vw;
  }
  .kv .kv__image .kv_illust_02_08 {
    top: 98.1333333333vw;
    left: 2.6666666667vw;
    width: 13.0666666667vw;
  }
  .kv .kv__image .kv_illust_02_09 {
    display: none;
  }
}
@media (min-width: 769px) {
  .kv .kv__image .kv_illust_01_01 {
    top: 16.1341853035%;
    left: 5.5833333333%;
    width: 41.9166666667%;
  }
  .kv .kv__image .kv_illust_01_02 {
    top: 1.5974440895%;
    left: 51.9166666667%;
    width: 46.5833333333%;
  }
  .kv .kv__image .kv_illust_02_01 {
    top: 21.0862619808%;
    left: 2.5833333333%;
    width: 6.6666666667%;
  }
  .kv .kv__image .kv_illust_02_02 {
    top: 1.4376996805%;
    left: 10.0833333333%;
    width: 15.25%;
  }
  .kv .kv__image .kv_illust_02_03 {
    top: 1.9169329073%;
    left: 37.5833333333%;
    width: 9.5%;
  }
  .kv .kv__image .kv_illust_02_04 {
    top: 1.5974440895%;
    left: 69.25%;
    width: 7.9166666667%;
  }
  .kv .kv__image .kv_illust_02_05 {
    top: 75.3993610224%;
    left: 7.1666666667%;
    width: 9.5%;
  }
  .kv .kv__image .kv_illust_02_06 {
    top: 71.5654952077%;
    left: 42%;
    width: 8.4166666667%;
  }
  .kv .kv__image .kv_illust_02_07 {
    top: 54.3130990415%;
    left: 87.75%;
    width: 10.1666666667%;
  }
  .kv .kv__image .kv_illust_02_08 {
    top: 76.357827476%;
    left: 78.6666666667%;
    width: 8.3333333333%;
  }
  .kv .kv__image .kv_illust_02_09 {
    top: 75.8785942492%;
    left: 88.8333333333%;
    width: 9.5%;
  }
}

.icon {
  display: inline-block;
  width: 1.5em;
  height: 1.5em;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  vertical-align: middle;
}
.icon__heart {
  background-image: url("../img/ico_heart.svg");
}

.intro {
  background: url("../img/intro_bg_pc.png") no-repeat top center;
  background-size: 1144px auto;
  padding-top: 60px;
  padding-bottom: 60px;
}
@media (max-width: 768px) {
  .intro {
    background-image: url("../img/intro_bg_sp.png");
    background-size: 100% auto;
    padding-top: 8vw;
    padding-bottom: 10.6666666667vw;
  }
}
.intro__title {
  margin-bottom: 4.2666666667vw;
}
.intro__title h2 {
  margin-bottom: 12.2666666667vw;
}
.intro__title h2 img {
  width: 86.1333333333vw;
}
.intro__title__sub {
  text-align: center;
  font-size: 4vw;
  background: url("../img/ico_heart.svg") no-repeat center bottom;
  background-size: 1.2em auto;
  padding-bottom: 1.5em;
}
.intro__contents {
  display: flex;
  justify-content: space-between;
  width: 908px;
  max-width: 100%;
  margin: 0 auto;
}
@media (max-width: 768px) {
  .intro__contents {
    flex-direction: column;
  }
}
.intro__contents .intro__01 {
  width: 46.2555066079%;
  color: #006e43;
  text-align: center;
  aspect-ratio: 839/1124;
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
}
.intro__contents .intro__01__title {
  width: 54.7703180212%;
}
.intro__contents .intro__01__bottom {
  width: 64.3109540636%;
}
.intro__contents .intro__01__text {
  font-size: 14px;
  line-height: 1.6;
}
.intro__contents .intro__01__text .icon {
  margin-left: 0.5em;
}
@media (max-width: 768px) {
  .intro__contents .intro__01 {
    width: 100%;
  }
  .intro__contents .intro__01__title {
    width: 34.4vw;
  }
  .intro__contents .intro__01__bottom {
    width: 40.2666666667vw;
  }
  .intro__contents .intro__01__text {
    font-size: 2.9333333333vw;
  }
}
.intro__contents .intro__02 {
  width: 47.3568281938%;
}
.intro__contents .intro__02 h2 {
  padding-right: 20px;
}
.intro__contents .intro__02__text {
  margin: 40px auto 0 10px;
}
.intro__contents .intro__02__text strong {
  color: #ffff00;
}
.intro__contents .intro__02__text p {
  background: url("../img/ico_heart.svg") no-repeat left bottom 0.4em;
  background-size: 1.2em auto;
  padding-bottom: 2em;
  margin-block-start: 0;
  margin-block-end: 0;
}
.intro__contents .intro__02__text p:last-child {
  background: none;
  padding-bottom: 0;
}
@media (max-width: 768px) {
  .intro__contents .intro__02 {
    width: auto;
  }
  .intro__contents .intro__02 h2 {
    padding-right: 0;
  }
  .intro__contents .intro__02__text {
    width: auto;
    margin-top: 6.4vw;
    margin-left: auto;
    text-align: center;
    line-height: 2;
  }
  .intro__contents .intro__02__text p {
    background-position-x: center;
    font-size: 3.6vw;
  }
}

.navigation {
  padding-bottom: 20px;
}
@media (max-width: 768px) {
  .navigation {
    padding-bottom: 5.3333333333vw;
  }
}
.navigation__title {
  position: relative;
}
.navigation__title img {
  width: 46.3829787234%;
}
.navigation__title__text {
  text-align: center;
  color: #fff172;
  position: absolute;
  bottom: 29px;
  width: 100%;
  font-size: 22px;
}
@media (max-width: 768px) {
  .navigation__title {
    margin-bottom: 8vw;
  }
  .navigation__title img {
    width: 87.7333333333vw;
  }
  .navigation__title__text {
    font-size: 5.6vw;
    line-height: 1.4;
    bottom: 9.0666666667vw;
  }
}
.navigation__copyright {
  margin-top: 30px;
}
@media (max-width: 768px) {
  .navigation__copyright {
    margin-top: 8vw;
  }
}
.navigation__list {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 30px;
}
@media (max-width: 768px) {
  .navigation__list {
    flex-direction: column;
    gap: 5.3333333333vw;
  }
}
.navigation__item {
  flex: 1;
  position: relative;
}
.navigation__item__text {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  white-space: nowrap;
  color: #fff172;
}
.navigation__item__text .icon {
  margin-left: 0.5em;
}
.navigation__item:nth-child(3) .navigation__item__text {
  margin-left: -10%;
}
@media (max-width: 768px) {
  .navigation__item {
    padding-right: 1.8666666667vw;
  }
  .navigation__item__text {
    font-size: 4.8vw;
  }
  .navigation__item__text .icon {
    width: 4.2666666667vw;
  }
}

.campaign__contents, .campaign__bottom {
  width: 74.2857142857%;
  margin: 0 auto 30px;
  position: relative;
}
@media (max-width: 768px) {
  .campaign__contents, .campaign__bottom {
    width: auto;
    margin-bottom: 8vw;
  }
}
.campaign__contents {
  position: relative;
  padding-bottom: 20px;
}
.campaign__contents:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: calc(100% - 40px);
  background: url("../img/campaign_bg_pc.png") no-repeat top center;
  background-size: cover;
  border-radius: 5px;
}
@media (max-width: 768px) {
  .campaign__contents:before {
    height: calc(100% - 8vw);
    background-image: url("../img/campaign_bg_sp.png");
  }
}
.campaign__contents > * {
  position: relative;
}
.campaign__title {
  z-index: 1;
}
.campaign__title img {
  width: 84.1346153846%;
}
.campaign__body {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 83.9285714286%;
  margin: 0 auto;
}
.campaign__body .campaign__image {
  width: 53.1914893617%;
}
.campaign__body .campaign__text {
  width: 45.8265139116%;
}
@media (max-width: 768px) {
  .campaign__body {
    width: auto;
    flex-direction: column;
  }
  .campaign__body .campaign__image {
    width: 100%;
    margin-top: -18.6666666667vw;
    margin-bottom: 5.3333333333vw;
  }
  .campaign__body .campaign__image img {
    width: 100%;
  }
  .campaign__body .campaign__text {
    width: auto;
    margin-left: 5.3333333333vw;
    margin-right: 5.3333333333vw;
    margin-bottom: 5.3333333333vw;
  }
}
.campaign__text {
  text-align: center;
  font-size: 14px;
  line-height: 1.6;
  color: #ffffff;
  border-top: 1px dotted #006e43;
}
.campaign__text__block {
  border-bottom: 1px dotted #006e43;
  padding: 1em 0;
  line-height: 1.4;
}
.campaign__text__block__title {
  color: #006e43;
  margin-bottom: 0.3em;
}
.campaign__text__block__title:before, .campaign__text__block__title:after {
  content: "";
  display: inline-block;
  width: 14px;
  height: 14px;
  background: url("../img/ico_heart_green.svg") no-repeat center center;
  background-size: contain;
  vertical-align: middle;
  margin: 0 4px;
}
.campaign__text__block__text {
  color: #000000;
  font-size: 14px;
}
.campaign__button {
  margin-top: 20px;
}
.campaign__button a {
  display: block;
  width: 46.5659340659%;
  margin: 0 auto;
}
@media (max-width: 768px) {
  .campaign__button a {
    width: 75.2vw;
  }
}
.campaign__bottom {
  position: relative;
}
.campaign__bottom__text {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  white-space: nowrap;
  color: #fff172;
}
.campaign__bottom__text .icon {
  margin-left: 0.5em;
}
@media (max-width: 768px) {
  .campaign__bottom__text {
    font-size: 3.7333333333vw;
    top: 5.3333333333vw;
    transform: translateX(-50%);
  }
}
@media (max-width: 768px) {
  .campaign__bottom {
    width: 88.5333333333vw;
    padding-left: 0.5333333333vw;
  }
}

.footer {
  font-family: Arial, sans-serif;
  margin-top: 80px;
  padding: 10px 0;
  color: #000000;
}
@media (max-width: 768px) {
  .footer {
    margin-top: 8vw;
  }
}

/*# sourceMappingURL=style.css.map */
