@charset "utf-8";

.group {
  overflow-x: hidden;
}

.group .page-ttl-en {
  width: 10.3rem;
}

.group .page-ttl {
  line-height: 1.4;
  margin-top: 1.4rem;
}

.group .page-mv-wrap::before {
  background-image: url("../img/group/img_group.webp");
}

.case {
  padding-top: 14rem;
}

.sec-ttl-txt-wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.case .sec-ttl-en {
  width: 6.3rem;
  margin-bottom: 2rem;
}

.sec-ttl {
  font-size: 3.4rem;
  letter-spacing: 0.06em;
}

.sec-ttl-txt {
  width: 48rem;
  font-size: 1.4rem;
  line-height: 1.9;
}

.case-list {
  display: flex;
  justify-content: space-between;
  margin-top: 6rem;
}

.case-item {
  width: 29rem;
  position: relative;
}

.case-item::before {
  content: "";
  width: 6.8rem;
  height: 6.8rem;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  display: block;
  position: absolute;
  top: -3.4rem;
  left: 1.2rem;
}
.case-item._01::before {
  background-image: url("../img/group/icon_case01.svg");
}
.case-item._02::before {
  background-image: url("../img/group/icon_case02.svg");
}
.case-item._03::before {
  background-image: url("../img/group/icon_case03.svg");
}

.case-name {
  font-size: 2.2rem;
  margin-top: 2rem;
  text-align: center;
}

.plan {
  padding-top: 11rem;
  padding-bottom: 13rem;
}

.plan .sec-ttl-en {
  width: 4.8rem;
  margin-bottom: 2rem;
}

.plan-list {
  display: flex;
  flex-wrap: wrap;
  padding-top: 4.8rem;
}

.plan-item {
  width: 20.4rem;
  margin-right: 3.6rem;
  position: relative;
}

.plan-item::after {
  content: "";
  width: 2.3rem;
  height: auto;
  aspect-ratio: 23/11;
  background-image: url("../img/group/plan_arrow.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  display: block;
  position: absolute;
  top: 40%;
  right: -2.9rem;
}
.plan-item._05::before {
  content: "";
  width: 2.3rem;
  height: auto;
  aspect-ratio: 23/11;
  background-image: url("../img/group/plan_arrow.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  display: block;
  position: absolute;
  top: 40%;
  left: -2.9rem;
}
.plan-item._06::after {
  content: none;
}

.plan-item._04,
.plan-item._06 {
  margin-right: 0;
}

.plan-item._05,
.plan-item._06 {
  margin-top: 6.6rem;
}

.plan-img {
  position: relative;
}

.plan-item._01 .plan-img::before {
  content: "";
  width: 13.6rem;
  height: auto;
  aspect-ratio: 136/47;
  background-image: url("../img/group/icon_day1.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  display: block;
  position: absolute;
  top: -2.4rem;
  left: -1rem;
}

.plan-item._05 .plan-img::before {
  content: "";
  width: 13.6rem;
  height: auto;
  aspect-ratio: 136/47;
  background-image: url("../img/group/icon_day2.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  display: block;
  position: absolute;
  top: -2.4rem;
  left: -1rem;
}

.plan-name {
  font-size: 1.8rem;
  text-align: center;
  margin-top: 1.4rem;
}

.bus {
  padding-top: 10rem;
  padding-bottom: 8rem;
  background: #fefdf5;
}

.bus-flex-wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.bus-img {
  width: 46.2rem;
}

.bus-txt-wrap {
  width: 39rem;
}

.bus .sec-ttl-en {
  width: 3.6rem;
  margin-bottom: 2rem;
}

.bus-txt {
  font-size: 1.4rem;
  line-height: 1.9;
  margin-top: 3.6rem;
  margin-bottom: 4rem;
}

.bus-pdf-list {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 4rem;
}

.bus-pdf-item {
  width: 16.5rem;
}

.bus-pdf-item:not(:last-of-type) {
  margin-bottom: 2.7rem;
}

.bus-pdf-btn {
  display: inline-block;
  font-size: 1.4rem;
  padding-left: 3rem;
  position: relative;
}

.bus-pdf-btn::before {
  content: "";
  width: 2rem;
  height: auto;
  aspect-ratio: 20/26;
  background-image: url("../img/common/icon_pdf02.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
}

.bus-btn {
  width: 32rem;
  height: 5.2rem;
  font-size: 1.8rem;
  letter-spacing: 0.13em;
  color: #70a500;
  background: #fff;
  border: 2px solid;
  border-radius: 30rem;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}

.bus-btn::after {
  content: "";
  width: 3.6rem;
  height: auto;
  aspect-ratio: 1/1;
  background-image: url(../img/top/btn_arrow_g.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 1rem;
}

.safety-area {
  margin-bottom: 4rem;
}
.safety-flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.2rem;
  border: 1px solid #e2e2e2;
  border-radius: 0.8rem;
}
.safety-hd {
  font-size: 1.4rem;
  line-height: 1.65;
  letter-spacing: 0.06em;
  color: #70a500;
  margin-bottom: 1rem;
}
.safety-txt-wrap {
  width: 66%;
}
.safety-txt {
  font-size: 1.2rem;
  line-height: 1.65;
  letter-spacing: 0.06em;
}
.safety-img {
  width: 30%;
}

/*SP: 〜750px*/
@media screen and (max-width: 750px) {
  .group .page-ttl-en {
    width: 6.1rem;
  }

  .group .page-ttl {
    line-height: 1;
  }

  .group .page-mv-wrap::before {
    background-image: url(../img/group/img_group_sp.jpg);
  }

  .case {
    padding-top: 7rem;
  }

  .sec-ttl-wrap {
    margin-bottom: 3rem;
  }

  .case .sec-ttl-en {
    width: 4.9rem;
    margin-bottom: 1.7rem;
  }

  .sec-ttl {
    font-size: 2.4rem;
  }

  .case-list {
    display: block;
    margin-top: 10rem;
  }

  .case-item {
    width: 100%;
  }
  .case-item._02,
  .case-item._03 {
    margin-top: 6.2rem;
  }

  .case-name {
    font-size: 2rem;
    margin-top: 2.4rem;
  }

  .plan {
    padding-top: 12rem;
    padding-bottom: 8rem;
  }

  .plan-list {
    padding-top: 8.6rem;
  }

  .plan-item._04,
  .plan-item._06 {
    margin-right: 3.6rem;
  }

  .plan-item._05,
  .plan-item._06 {
    margin-top: 0;
  }

  .plan-item._06 {
  }

  .plan-list .slick-list {
    overflow: visible;
  }

  .bus {
    padding-top: 7rem;
    padding-bottom: 6rem;
    margin-bottom: 8rem;
  }

  .bus-flex-wrap {
    display: block;
  }

  .bus-txt-wrap {
    width: 100%;
  }

  .bus-txt {
    margin-bottom: 2rem;
  }

  .bus-img {
    width: 100%;
    margin-bottom: 4.7rem;
  }

  .bus-pdf-list {
    margin-bottom: 4rem;
  }

  .safety-area {
    margin-bottom: 6.5rem;
  }
  .safety-flex {
    display: block;
  }
  .safety-txt-wrap {
    width: 100%;
  }
  .safety-hd {
    text-align: center;
    margin-bottom: 2rem;
  }
  .safety-img {
    width: 40%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 2rem;
  }
}
