.c-3colum{
  display: flex;
  flex-wrap: wrap;
}
.c-3colum .c-3colum__col>*:first-child {
  margin-top: 0 !important
}
.c-3colum .c-3colum__col>* {
  padding-left: 0 !important;
  padding-right: 0 !important
}
.c-3colum .c-3colum__col .c-image {
  width: 100%;
  max-width: 100%;
  justify-content: flex-start;
}
.c-3colum .c-3colum__col .c-image .c-image__figure {
  margin-left: 0;
  margin-right: 0;
  max-width: 100%
}
.c-3colum .c-3colum__col .c-image .c-image__figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
}
.c-3colum .c-3colum__col .c-3colum__txt {
  font-weight: bold;
  text-align: center;
}
.c-3colum .c-3colum__col .c-3colum__txt span {
  display: block;
  font-size: 80%;
  line-height: 1.7;
}

@media only screen and (max-width: 959px) {

  /* SP用 */
  .container.bg-on {
    background-size: 505%;
  }

  .c-3colum{
    margin-top: clamp(0px, 6.1538461538vw, 28.3076923077px);
    gap: 1.2em clamp(0px, 2.0512820513vw, 9.435897435px);
  }
  .c-3colum .c-3colum__col {
    width: calc((100% - clamp(0px, 2.0512820513vw, 9.4358974359px))/2)
  }
  .c-3colum .c-3colum__col .c-image {
    height: 33.33vw;
  }
}

@media only screen and (min-width: 960px) {

  /* PC用 */
  .container.bg-on {
    background-size: 240%;
  }

  .c-3colum{
    width: 73.29vw;
    max-width: 815px;
    margin: 0 auto;
    margin-top: clamp(34.5945945946px, 3.6036036036vw, 40px);
    gap: clamp(27.6756756757px, 2.8828828829vw, 32px)
  }
  .c-3colum .c-3colum__col {
    width: 22.48vw;
    max-width: 250px;
  }
  .c-3colum .c-3colum__col .c-image {
    height: 18.35vw;
    max-height: 204px;
  }
}

@media (prefers-color-scheme: dark) {
  .c-3colum .c-3colum__col .c-3colum__txt {
    color: #fff;
  }
}