/* ------------------------------
    p-sec01
------------------------------ */
.p-sec01 {
  margin-top: 21.2rem;
}
@media screen and (max-width: 768px) {
  .p-sec01 {
    margin-top: 28.5rem;
  }
}
.p-sec01 .c-ttl-green32 {
  margin-bottom: 6.3rem;
}
.p-sec01 .c-ttl-line02 {
  margin-bottom: 3rem;
}
@media screen and (max-width: 768px) {
  .p-sec01 .c-ttl-line02 {
    margin-bottom: 2.4rem;
  }
}

section[class^=p-sec01-box0]:not(.p-sec01-box01) {
  margin-top: 6.5rem;
}
@media screen and (max-width: 768px) {
  section[class^=p-sec01-box0]:not(.p-sec01-box01) {
    margin-top: 7.2rem;
  }
}

/* ------------------------------
    p-sec02
------------------------------ */
.p-sec02 {
  overflow: hidden;
  background: #f4f8f7;
  margin-top: 9.5rem;
}
@media screen and (max-width: 768px) {
  .p-sec02 {
    margin-top: 8.5rem;
  }
}
.p-sec02 .u-wrap__1100 {
  padding: 7.8rem 0 8.5rem;
}
@media screen and (max-width: 768px) {
  .p-sec02 .u-wrap__1100 {
    padding: 6.3rem 0 9.1rem;
  }
}
@media screen and (max-width: 768px) {
  .p-sec02 .c-ttl-green26 {
    text-align: center;
  }
}

.p-sec02-box01 {
  margin: 5.5rem 0 0;
}
@media screen and (max-width: 768px) {
  .p-sec02-box01 {
    margin: 4.8rem 0 0;
  }
}

.p-sec02-box01__txt {
  font-size: 1.5rem;
  line-height: 1.9;
  margin: 3.2rem 0 0;
}
@media screen and (max-width: 768px) {
  .p-sec02-box01__txt {
    font-size: 2.8rem;
    line-height: 1.6071428571;
  }
}
@media screen and (max-width: 768px) {
  .p-sec02-box01__txt {
    margin: 2.8rem 0 0;
  }
}

.p-sec02-box01-item {
  margin-top: 3.3rem;
}
@media screen and (max-width: 768px) {
  .p-sec02-box01-item {
    margin-top: 4rem;
  }
}
.p-sec02-box01-item .c-list-disc {
  margin-top: 1.5rem;
}
@media screen and (max-width: 768px) {
  .p-sec02-box01-item .c-list-disc {
    margin-top: 3.5rem;
  }
}

.p-sec03-box01-flex {
  margin-top: 3.8rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 1.5rem;
}
@media screen and (max-width: 768px) {
  .p-sec03-box01-flex {
    margin-top: 5.8rem;
    display: block;
  }
}

.p-sec03-box01-flex__item {
  width: 44rem;
}
@media screen and (max-width: 768px) {
  .p-sec03-box01-flex__item {
    width: 100%;
  }
  .p-sec03-box01-flex__item:nth-of-type(2) {
    margin-top: 5rem;
  }
}

.p-sec03-box01-flex__img {
  width: 100%;
  aspect-ratio: 44/25;
  border-radius: 1rem;
  overflow: hidden;
}

.p-sec03-box01-flex__cap {
  font-size: 1.5rem;
  color: #161c22;
  margin: 1.2rem 0 0;
}
@media screen and (max-width: 768px) {
  .p-sec03-box01-flex__cap {
    font-size: 2.6rem;
    margin: 1rem 0 0;
  }
}

.p-sec02-box02 {
  margin-top: 6rem;
}
@media screen and (max-width: 768px) {
  .p-sec02-box02 {
    margin-top: 5.5rem;
  }
}

.p-sec02-box02-flex {
  margin-top: 3.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 2.3rem 4.6rem;
}
@media screen and (max-width: 768px) {
  .p-sec02-box02-flex {
    display: block;
    margin-top: 2.5rem;
  }
}

.p-sec02-box02-flex__item {
  width: calc((100% - 4.6rem) / 2);
  padding-bottom: 2.3rem;
  border-bottom: 1px dashed #90aba6;
}
@media screen and (max-width: 768px) {
  .p-sec02-box02-flex__item {
    width: 100%;
    padding-bottom: 4.3rem;
  }
  .p-sec02-box02-flex__item:nth-of-type(n+2) {
    margin-top: 4.3rem;
  }
}

.p-sec02-box02-flex__txt {
  font-size: 1.5rem;
  line-height: 1.9;
  margin: 2rem 0 0;
}
@media screen and (max-width: 768px) {
  .p-sec02-box02-flex__txt {
    font-size: 2.8rem;
    line-height: 1.6071428571;
  }
}

.p-sec02-box02__img {
  width: 125rem;
  height: 46rem;
  border-radius: 3rem 0 0 3rem;
  margin: 6.5rem calc(50% - 50vw) 0 0;
  overflow: hidden;
}
.p-sec02-box02__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 1400px) {
  .p-sec02-box02__img {
    border-radius: 2.1428571429vw 0 0 2.1428571429vw;
    width: 89.2857142857vw;
    height: 32.8571428571vw;
  }
}
@media screen and (max-width: 768px) {
  .p-sec02-box02__img {
    width: 71.2rem;
    height: 50rem;
    margin: 6rem calc(50% - 50vw) 0 0;
  }
}

.p-sec02-box02__cap {
  font-size: 1.5rem;
  line-height: 1.9;
  margin: 4.2rem 0 0;
}
@media screen and (max-width: 768px) {
  .p-sec02-box02__cap {
    font-size: 2.8rem;
    line-height: 1.6071428571;
  }
}
@media screen and (max-width: 768px) {
  .p-sec02-box02__cap {
    margin: 3.2rem 0 0;
  }
}

.p-sec02-box03 {
  margin-top: 5.7rem;
}
@media screen and (max-width: 768px) {
  .p-sec02-box03 {
    margin-top: 7.7rem;
  }
}

.p-sec02-box03__txt {
  font-size: 1.5rem;
  line-height: 1.9;
  margin: 3.2rem 0 0;
}
@media screen and (max-width: 768px) {
  .p-sec02-box03__txt {
    font-size: 2.8rem;
    line-height: 1.6071428571;
  }
}
@media screen and (max-width: 768px) {
  .p-sec02-box03__txt {
    margin: 2rem 0 0;
  }
}

.p-sec02-box03__link {
  margin: 5.5rem 0 0;
}
@media screen and (max-width: 768px) {
  .p-sec02-box03__link {
    margin: 6.5rem 0 0;
  }
}
.p-sec02-box03__link dt {
  font-size: 1.8rem;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .p-sec02-box03__link dt {
    font-size: 3.2rem;
  }
}
.p-sec02-box03__link dd {
  font-size: 1.5rem;
  line-height: 1.9;
  margin-top: 1.7rem;
}
@media screen and (max-width: 768px) {
  .p-sec02-box03__link dd {
    font-size: 2.8rem;
    line-height: 1.6071428571;
  }
}
@media screen and (max-width: 768px) {
  .p-sec02-box03__link dd {
    margin-top: 0.2rem;
  }
}
.p-sec02-box03__link dd a {
  color: #008482;
}
@media screen and (min-width: 769px) {
  .p-sec02-box03__link dd a:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
  }
}
.p-sec02-box03__link dd + dt {
  margin-top: 2.5rem;
}

/* ------------------------------
    p-sec03
------------------------------ */
.p-sec03 {
  margin-top: 8.5rem;
  padding-bottom: 10.5rem;
}
@media screen and (max-width: 768px) {
  .p-sec03 {
    margin-top: 7.5rem;
  }
}
.p-sec03 .c-ttl-green32 {
  margin-bottom: 5.5rem;
}
@media screen and (max-width: 768px) {
  .p-sec03 .c-ttl-green32 {
    margin-bottom: 7rem;
  }
}
.p-sec03 .c-ttl-line02 {
  margin-bottom: 3rem;
}
@media screen and (max-width: 768px) {
  .p-sec03 .c-ttl-line02 {
    margin-bottom: 2.4rem;
  }
}

section[class^=p-sec03-box0]:not(.p-sec03-box01) {
  margin-top: 6.5rem;
}
@media screen and (max-width: 768px) {
  section[class^=p-sec03-box0]:not(.p-sec03-box01) {
    margin-top: 7.2rem;
  }
}

@media screen and (max-width: 768px) {
  .p-sec03-box02 .c-ttl-line02__small {
    display: block;
  }
}
/*# sourceMappingURL=support_glc.css.map */
