[v-cloak] {
  display: none;
}

/* 共通 */

#kcapp a {
  line-height: normal;
}

/*
 * ------------------------ *
 * ----- トップページ ----- *
 * ------------------------ *
 */

/* ----- TOP PC ----- */

/* spinner */
.kc-spinner {
  margin: 32px auto 64px -32vw;
  text-align: center;
}

.kc-content {
  overflow: hidden;
}

.kc-cards {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 8rem 1.6rem;
  list-style: none;
  overflow: hidden;
}

.kc-card {
  list-style: none;
}

.kc-link {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  min-height: 38rem;
  transition: 0.3s;
}

.kc-link:hover {
  opacity: 0.7;
}

.kc-image {
  width: 26rem;
  height: 19.5rem;
  overflow: hidden;
  margin-bottom: 1.5rem;
  object-fit: cover;
}

.kc-image img {
  width: 26rem;
  height: auto;
  transition: 0.3s;
}

.kc-link:hover .kc-image img {
  /* transition: 0.3s; */
  transform: scale(1.1);
}

/* テキスト情報部 */

.kc-info {
}

/* 開催タグ コンテナ */

.kc-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0 0 10px;
  letter-spacing: normal;
}

/* イベントタイプ & 開催形式*/

.kc-type,
.kc-now {
  font-size: 1rem;
  line-height: 1.6;
  color: #1D4294;
  padding: 0 1.6rem;
  border: 1px solid #1D4294;
  border-radius: 10rem;
}
.kc-type {
  background: #fff;
}
.kc-now {
  color: #fff;
  background: #1D4294;
}

/* イベント名 */
.kc-name {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 1.7rem;
  line-height: 1.6;
}

/* 開催日 */

/* .kc-date__box { */
.kc-date {
  font-size: 1.5rem;
  line-height: 1.6;
  margin: 0 0 1.6rem;
}

.kc-address {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* ----- TOP SP ----- */

@media screen and (max-width: 767px) {
  /* .pfront-event__main{
  margin-inline: auto;
} */

  .kc-spinner {
    width: 100vw;
    margin: 32px auto 64px -32px;
    text-align: center;
  }

  .kc-cards {
    grid-template-columns: auto;
    gap: 4rem;
  }

  .kc-card {
    display: inline-block;
    width: 100%;
    margin-right: 0;
  }

  .kc-image {
    width: 100%;
    height: auto;
    overflow: hidden;
  }

  .kc-image img {
    width: 100%;
    height: auto;
    overflow: hidden;
    aspect-ratio: 4 / 3;
  }

  .kc-tags {
    gap: 1.2rem;
    line-height: 2.7rem;
  }

  .kc-type,
  .kc-now {
    font-size: 1.5rem;
  }
  .kc-date{
    margin: 0 0 .8rem;
  }
}

/*
 * ------------------------
 * ----- イベント一覧 -----
 * ------------------------
 */

/* ----- EVENT PC ----- */

/* spinner */
.kc-e-spinner {
  margin: 32px auto 64px;
  text-align: center;
}

.kc-e-wrapper {
  position: relative;
  width: 80vw;
  max-width: 120rem;
  margin-left: auto;
  margin-right: auto;
}

.kc-e-cards {
  width: 970px;
  margin: 10rem auto 24rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
}

.kc-e-card {
  width: 48%;
  margin-bottom: 9rem;
}

.kc-e-link {
}

.kc-e-image {
  overflow: hidden;
  width: 100%;
  height: auto;
  margin-left: auto;
  margin-right: auto;
}

/* .kc-e-image {
  width: 26%;
} */

.kc-e-image img {
  -webkit-transition: 0.3s;
  transition: 0.3s;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
  object-fit: cover;
  font-family: "object-fit: cover";
  /* aspect-ratio: 4 / 3; */
  /* aspect-ratio: 3 / 2; */
  aspect-ratio: 367 / 246;
}

.kc-e-link:hover .kc-e-image img {
  transition: 0.3s;
  transform: scale(1.1);
}

/* テキスト情報部 */

.kc-e-info {
}

/* 開催タグ コンテナ */
.kc-e-tags {
  color: #3c3c3c;
  font-size: 1.5rem;
  margin-top: 1.5rem;
  letter-spacing: 0.05em;
  text-align: left;
}

/* イベントタイプ & 開催形式*/
.kc-e-type,
.kc-e-now {
  display: inline-block;
  padding: 1rem 2rem;
  font-size: 1.6rem;
  line-height: 1rem;
  border: 2px solid #1d4294;
  border-radius: 10rem;
}
.kc-e-type {
  margin-right: 1rem;
  color: #1d4294;
  background: #fff;
}
.kc-e-now {
  color: #fff;
  background: #1d4294;
}

/* イベント名 */
.kc-e-name {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-top: 1.5rem;
  text-align: left;
  font-size: 2.3rem;
  letter-spacing: 0.05em;
  /* white-space: nowrap; */
  line-height: 1.5;
}

.kc-e-date {
  margin-top: 2rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  text-align: left;
}

.kc-e-address {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  /* white-space: nowrap; */
  overflow: hidden;
  text-overflow: ellipsis;
  margin-top: 2rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  text-align: left;
}

/* .kc-e-date br {
  display: none;
} */

/* ----- EVENT TB ----- */

@media screen and (min-width: 769px) and (max-width: 1600px) {
  .kc-e-tags {
    margin-top: 0.75vw;
  }

  .kc-e-now {
    margin-right: 1vw;
    padding: 0.5vw;
    border-radius: 1vw;
    font-size: 0.875vw;
    line-height: 0.875vw;
  }

  .kc-e-name {
    margin-top: 1.875vw;
    font-size: 1vw;
  }

  .kc-e-date {
    margin-top: 1.25vw;
  }
}

/* ----- EVENT SP ----- */

@media screen and (max-width: 768px) {
  .kc-e-cards {
    width: 80vw;
    margin: 0 auto 11vw;
  }

  .kc-e-card {
    width: /*47*/ 100%;
    margin-bottom: 18vw;
  }

  .kc-e-link {
    display: inline-block;
    width: 100%;
    position: relative;
    padding: 0;
  }

  .kc-e-image {
    overflow: hidden;
    width: auto;
    height: auto;
    margin-left: auto;
    margin-right: auto;
  }

  .kc-e-image img {
    -webkit-transition: 0.3s;
    transition: 0.3s;
    /* width: auto; */
    width: 367px;
    height: auto;
    -o-object-fit: cover;
    object-fit: cover;
    font-family: "object-fit: cover";
  }

  .kc-e-tags {
    margin-top: 3vw;
    font-size: 2.777vw;
    text-align: left;
    /* line-height: calc(24px + (36.56 - 24) * ((min(100vw, 768px) - 375px) / (768 - 375))); */
    height: calc(24px + (36.56 - 24) * ((min(100vw, 768px) - 375px) / (768 - 375)));
  }

  .kc-e-type,
  .kc-e-now {
    padding: 1.6vw 2.1vw;
    font-size: 2.777vw;
  }
  .kc-e-type {
    /* line-height: 2.777vw; */
    /* line-height: 1.6vw; */
    /* line-height: calc(24px + (36.56 - 24) * ((min(100vw, 768px) - 375px) / (768 - 375))); */
  }
  .kc-e-now {
    /* line-height: calc(2.777vw - 2px); */
    /* line-height: calc(1.6vw - 2px); */
    /* line-height: calc(24px + (36.56 - 24) * ((min(100vw, 768px) - 375px) / (768 - 375))); */
    padding: 1.6vw 2.1vw;
  }

  .kc-e-name {
    margin-top: 3vw;
    text-align: left;
    font-size: /*4vw*/ 3.5vw;
    letter-spacing: 0.05em;
    white-space: normal;
    line-height: 1.5;
  }

  .kc-e-date {
    margin-top: 3vw;
    font-size: /*3.733vw*/ 3.2vw;
    line-height: 1.5;
    text-align: left;
  }

  .kc-e-address {
    margin-top: 3vw;
    font-size: /*3.733vw*/ 3.2vw;
    line-height: 1.5;
    text-align: left;
  }
}
