/* p-program
---------------------------------------------------------------------------- */
.p-program {
  margin-top: 9.1145833333vw;
}

.p-program-ttl {
  width: 42.03125vw;
  aspect-ratio: 807.5/57.5;
}
.p-program-ttl img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

.p-program-txt {
  font-size: 1.9rem;
  line-height: 1.9473684211;
  font-weight: 500;
  font-size: 0.9895833333vw;
  margin-top: 2.6041666667vw;
}

.p-program-items {
  display: grid;
  grid-template-areas: "item01 item02" "item03 item03";
  grid-template-columns: repeat(2, 1fr);
  gap: 3.0208333333vw 2.6041666667vw;
  margin-top: 3.3854166667vw;
  padding-bottom: 6.5625vw;
  border-bottom: 1px solid #3B3B3B;
}
.p-program-items > :nth-child(1) {
  grid-area: item01;
}
.p-program-items > :nth-child(2) {
  grid-area: item02;
}
.p-program-items > :nth-child(3) {
  grid-area: item03;
}

.p-program-item-ttl {
  font-size: 2.2rem;
  line-height: 1.4545454545;
  font-weight: 400;
  font-size: 1.1458333333vw;
}
.p-program-item-ttl span {
  color: #E85400;
}

.p-program-item-read {
  font-size: 1.7rem;
  line-height: 1.5;
  font-weight: 700;
  font-size: 0.8854166667vw;
  margin-block: 0.5208333333vw;
}

.p-program-item-listsBox {
  display: grid;
  grid-template-columns: repeat(3, auto);
  justify-content: space-between;
  gap: 0 0.5208333333vw;
}

.p-program-item-list {
  font-size: 1.7rem;
  line-height: 1.4705882353;
  font-weight: 400;
  font-size: 0.8854166667vw;
  padding-left: 1em;
  text-indent: -1em;
}

.p-program-item-img {
  width: 100%;
  aspect-ratio: 1198.5/351.65;
  position: relative;
}
.p-program-item-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}
.p-program-item-img .p-program-people-icon {
  position: absolute;
  width: 2.6692708333vw;
  height: 3.2369791667vw;
  opacity: 0;
  pointer-events: none;
  z-index: -1;
}
.p-program-item-img .p-program-people-icon._step1 {
  top: 3.6458333333vw;
  left: 6.25vw;
}
.p-program-item-img .p-program-people-icon._step2 {
  top: 1.1458333333vw;
  left: 24.4791666667vw;
}
.p-program-item-img .p-program-people-icon._step3 {
  top: -1.4583333333vw;
  left: 42.7083333333vw;
}

.p-program-hotspots {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
}

.p-program-hotspot {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: auto;
}

.p-program-hotspot._step1 {
  left: 0;
  width: 24.21875vw;
}

.p-program-hotspot._step2 {
  left: 24.21875vw;
  width: 16.6666666667vw;
}

.p-program-hotspot._step3 {
  left: 40.8854166667vw;
  width: 16.6666666667vw;
}

@media screen and (max-width: 767px) {
  .p-program {
    margin-top: 43.2vw;
  }
  .p-program-ttl {
    width: 69.4vw;
    aspect-ratio: 260.25/132;
  }
  .p-program-txt {
    font-size: 4vw;
    line-height: 2;
    margin-top: 7.2vw;
  }
  .p-program-items {
    grid-template-areas: "item01" "item02" "item03";
    grid-template-columns: 1fr;
    gap: 13.3333333333vw;
    margin-top: 12vw;
    padding-bottom: 53.3333333333vw;
  }
  .p-program-item-ttl {
    font-size: 4.5333333333vw;
    line-height: 1.4705882353;
  }
  .p-program-item-read {
    font-size: 4vw;
    line-height: 1.4;
    margin-block: 2.1333333333vw 5.3333333333vw;
  }
  .p-program-item-listsBox {
    grid-template-columns: 1fr;
    gap: 5.3333333333vw;
  }
  .p-program-item-list {
    font-size: 4vw;
    line-height: 1.4;
  }
  .p-program-item-img {
    aspect-ratio: 325/137.5;
    margin-top: 2.6666666667vw;
  }
}
/* p-employee
---------------------------------------------------------------------------- */
.p-employee {
  padding: 8.3333333333vw 0;
}

.p-employee-ttl {
  width: 41.4583333333vw;
  aspect-ratio: 796/58.25;
}
.p-employee-ttl img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

.p-employee-txt {
  font-size: 1.9rem;
  line-height: 1.9473684211;
  font-weight: 500;
  font-size: 0.9895833333vw;
  margin-top: 2.6041666667vw;
}

.p-employee-groups {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 2.6041666667vw;
  margin-top: 2.8645833333vw;
}

.p-employee-group-ttl {
  font-size: 2.2rem;
  line-height: 1.4545454545;
  font-weight: 400;
  font-size: 1.1458333333vw;
  margin-bottom: 1.0416666667vw;
}
.p-employee-group-ttl span {
  color: #E85400;
}

.p-employee-group-items {
  display: flex;
  flex-direction: column;
  gap: 1.0416666667vw;
}

.p-employee-group-item {
  display: flex;
  align-items: flex-start;
  gap: 0 0.5208333333vw;
}

.p-employee-group-item-img {
  width: 3.125vw;
  aspect-ratio: 1;
}
.p-employee-group-item-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

.p-employee-group-item-box {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.625vw;
  align-self: center;
}

.p-employee-group-item-box-ttl {
  font-size: 2rem;
  line-height: 1;
  font-weight: 700;
  font-size: 1.0416666667vw;
  color: #E85400;
}

.p-employee-group-item-box-txt {
  font-size: 1.8rem;
  line-height: 1.3888888889;
  font-weight: 500;
  font-size: 0.9375vw;
}
.p-employee-group-item-box-txt ._ib {
  display: inline-block;
}

@media screen and (max-width: 767px) {
  .p-employee {
    padding: 53.3333333333vw 0;
  }
  .p-employee-ttl {
    width: 58.7333333333vw;
    aspect-ratio: 220.25/132.5;
  }
  .p-employee-txt {
    font-size: 4vw;
    line-height: 2;
    margin-top: 6.6666666667vw;
  }
  .p-employee-groups {
    grid-template-columns: 1fr;
    gap: 18.6666666667vw;
    margin-top: 11.7333333333vw;
  }
  .p-employee-group-ttl {
    font-size: 4.5333333333vw;
    line-height: 1.4705882353;
    margin-bottom: 4vw;
  }
  .p-employee-group-items {
    gap: 4.8vw;
  }
  .p-employee-group-item {
    gap: 0 2.6666666667vw;
  }
  .p-employee-group-item-img {
    width: 16vw;
  }
  .p-employee-group-item-box {
    gap: 1.3333333333vw;
  }
  .p-employee-group-item-box-ttl {
    font-size: 4.8vw;
  }
  .p-employee-group-item-box-txt {
    font-size: 4vw;
    line-height: 1.3333333333;
  }
}
/* p-data
---------------------------------------------------------------------------- */
.p-data {
  padding-block: 5.46875vw 7.2916666667vw;
  background-color: #DDDDDE;
}

.p-data-box {
  display: flex;
  align-items: flex-end;
  gap: 0 3.8020833333vw;
}

.p-data-ttl {
  width: 16.2630208333vw;
  aspect-ratio: 321.25/106.75;
}
.p-data-ttl img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

.p-data-box-txt {
  font-size: 1.9rem;
  line-height: 1.8421052632;
  font-weight: 500;
  font-size: 0.9895833333vw;
  color: #3B3B3B;
  margin-bottom: -0.2604166667vw;
}

.p-data-groups {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0 1.25vw;
  margin-top: 2.34375vw;
}

.p-data-group {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 4;
  row-gap: 0;
  padding-block: 1.40625vw 1.5625vw;
  padding-inline: 1.0416666667vw;
  background-color: #EAEAEA;
  border-radius: 0.2604166667vw;
}

.p-data-group-ttl {
  font-size: 2.5rem;
  line-height: 1.4;
  font-weight: 700;
  font-size: 1.3020833333vw;
  text-align: center;
  margin-bottom: 0.625vw;
}

.p-data-group-items {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}

.p-data-group-item {
  align-self: center;
}

.p-data-group-item:not(:first-of-type) {
  border-left: 1px solid #969696;
}

.p-data-group-item-txt {
  font-size: 2rem;
  line-height: 1;
  font-weight: 500;
  font-size: 1.0416666667vw;
  text-align: center;
}

.p-data-group-item-box {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 0 0.1041666667vw;
}

.p-data-group-item-box-num {
  font-size: 6rem;
  line-height: 1;
  font-weight: 900;
  font-size: 3.125vw;
  color: #E85400;
}

.p-data-group-item-box-txt {
  font-size: 2.5rem;
  line-height: 1;
  font-weight: 700;
  font-size: 1.3020833333vw;
  color: #E85400;
  margin-bottom: 0.15625vw;
}

.p-data-group-img {
  align-self: center;
  margin-inline: auto;
  margin-block: 0.78125vw;
}
.p-data-group-img._01 {
  width: 8.5677083333vw;
  aspect-ratio: 164.5/123.5;
}
.p-data-group-img._02 {
  width: 7.2005208333vw;
  aspect-ratio: 138.25/144.5;
}
.p-data-group-img._03 {
  width: 4.609375vw;
  aspect-ratio: 88.5/157.75;
}
.p-data-group-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

.p-data-group-txt {
  font-size: 1.9rem;
  line-height: 1.5789473684;
  font-weight: 500;
  font-size: 0.9895833333vw;
}

.p-data-txtSmall {
  font-size: 1.7rem;
  line-height: 1.4705882353;
  font-weight: 500;
  font-size: 0.8854166667vw;
  color: #3B3B3B;
  text-align: right;
  margin-top: 0.5208333333vw;
}

@media screen and (max-width: 767px) {
  .p-data {
    padding-block: 25.3333333333vw 26.6666666667vw;
  }
  .p-data-box {
    flex-direction: column;
    align-items: initial;
    gap: 5.8666666667vw;
  }
  .p-data-ttl {
    width: 71.3333333333vw;
  }
  .p-data-box-txt {
    font-size: 4vw;
    line-height: 2;
    margin-bottom: initial;
  }
  .p-data-groups {
    grid-template-columns: 1fr;
    gap: 5.3333333333vw;
    margin-top: 19.7333333333vw;
  }
  .p-data-group {
    padding-block: 5.3333333333vw 7.2vw;
    padding-inline: 4.5333333333vw;
    border-radius: 1.3333333333vw;
  }
  .p-data-group-ttl {
    font-size: 6.1333333333vw;
    line-height: 1.5217391304;
    margin-bottom: 4.8vw;
  }
  .p-data-group-item-txt {
    font-size: 4.5333333333vw;
  }
  .p-data-group-item-box {
    gap: 0 0.5333333333vw;
  }
  .p-data-group-item-box-num {
    font-size: 13.3333333333vw;
  }
  .p-data-group-item-box-txt {
    font-size: 5.3333333333vw;
    margin-bottom: 0.5333333333vw;
  }
  .p-data-group-img {
    margin-block: 8vw 5.8666666667vw;
  }
  .p-data-group-img._01 {
    width: 37.1333333333vw;
  }
  .p-data-group-img._02 {
    width: 31.2vw;
  }
  .p-data-group-img._03 {
    width: 19.9333333333vw;
  }
  .p-data-group-txt {
    font-size: 4.2666666667vw;
    line-height: 1.875;
  }
  .p-data-txtSmall {
    font-size: 4.5333333333vw;
    margin-top: 2.6666666667vw;
  }
}
/* p-event
---------------------------------------------------------------------------- */
.p-event {
  padding-block: 7.8125vw 8.3333333333vw;
}

.p-event-ttl {
  width: 18.4635416667vw;
  aspect-ratio: 354.5/51.5;
}
.p-event-ttl img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

.p-event-txt {
  font-size: 1.7rem;
  line-height: 2.1764705882;
  font-weight: 700;
  font-size: 0.8854166667vw;
  margin-top: 1.5625vw;
}

.p-event-items {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0 1.25vw;
  margin-top: 1.8229166667vw;
}

.p-event-item-img {
  width: 100%;
  aspect-ratio: 384/250;
}
.p-event-item-img._aspect {
  aspect-ratio: 384/167;
}
.p-event-item-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.p-event-item-txt {
  font-size: 1.7rem;
  line-height: 2.1764705882;
  font-weight: 700;
  font-size: 0.8854166667vw;
  margin-top: 0.2604166667vw;
}
.p-event-item-txt span {
  color: #E85400;
}

@media screen and (max-width: 767px) {
  .p-event {
    padding-block: 53.3333333333vw;
  }
  .p-event-ttl {
    width: 84.6666666667vw;
  }
  .p-event-txt {
    font-size: 4vw;
    line-height: 2;
    margin-top: 6.6666666667vw;
  }
  .p-event-items {
    grid-template-columns: 1fr;
    gap: 5.3333333333vw;
    margin-top: 9.3333333333vw;
  }
  .p-event-item-txt {
    font-size: 4.5333333333vw;
    margin-top: initial;
  }
}
