/* [v-cloak] {
  display: none;
} */

html {
	scroll-behavior: smooth;
}

.kc-spinner {
	padding: 100px 0;
}

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

@media screen and (max-width: 768px) {
  .kc-date.kc-sp {
    display: block;
  }

  .kc-date.kc-pc {
    display: none;
  }
}

@media screen and (max-width: 550px) {
  .kc-date.kc-sp {
    white-space: nowrap;
  }
} */

/* API埋め込み以外の箇所でのcss */

@media screen and (max-width: 768px) {
}

/* 終了イベント */
/* .kc-card.endDateTime .kc-image::before {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  content: "終了しました";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  font-size: 22px;
  background-color: rgba(0, 0, 0, 0.3);
  color: #fff;
  z-index: 1;
}


@media screen and (max-width: 768px) {
  .kc-card.-all.endDateTime .kc-image::before {
    font-size: 16px;
  }
} */

/* 終了イベント */

/* hover */
.kc-link:hover {
	opacity: 0.8;
}

/* hover */

.kc-content .search_item {
	padding: 0 20px;
}

.kc-content .search_item dl {
	display: flex;
	margin-bottom: 2em;
}

.kc-content .search_item dt {
	width: 20% !important;
}

.kc-content .prefecture-grid {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	gap: 1em 1em;
}

.kc-content .prefecture-grid dd {
	margin-right: 0 !important;
}

.kc-content .kc-tab {
	display: block;
	border: solid 3px #1e1e1e;
	padding: 13px 0;
	text-decoration: none;
	font-size: 16px;
	color: #1e1e1e;
	border-radius: 5px;
	font-weight: 600;
	width: 100%;
}

@media screen and (max-width: 768px) {
	.kc-content .search_item dl {
		flex-direction: column;
	}

	.kc-content .prefecture-grid dd {
		width: 20% !important;
	}

	.kc-content .search_item dt {
		width: 40% !important;
	}
}

.kc-content {
	width: 100%;
	height: auto;
	margin: 0 auto;
}

.kc-content h1 {
	margin: 2em auto 1em;
}

.kc-content h1,
.kc-pref-title {
	text-align: center;
}

.kc-pref-title {
	padding: 1em 0;
	margin-bottom: 3em;
	background-color: #e4e4e4;
}

.kc-pref-title p {
	font-size: 20px;
}

.kc-cards {
	max-width: 1100px;
	width: 100%;
	margin: 0 auto;
	padding: 0 2em 4em;
}

.kc-card {
	position: relative;
	margin-bottom: 3em;
}

.kc-image {
	width: 33%;
	position: relative;
	display: flex;
	align-items: center;
	overflow: hidden;
}

.kc-image img {
	object-fit: contain;
	aspect-ratio: 1/1;
	margin: 0;
	width: 100%;
	/* border-radius: 2rem; */
}

.kc-link {
	display: flex;
	gap: 3%;
	color: #1e1e1e;
	text-decoration: none;
}

.kc-info {
	width: 67%;
	position: relative;
	display: flex;
	flex-direction: column;
}

.kc-tags {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 1em;
}

.kc-type,
.kc-format {
	color: #fff;
	padding: 0.6em 1em;
	font-size: 14px;
	margin-bottom: 0.4em;
	line-height: 1;
}
.kc-format {
	color: #017840;
}

.kc-type {
	/* background-color: rgb(231, 84, 0); */
	background-color: #017840;
	margin-right: 0.6em;
}

.kc-format {
	background-color: #fff;
	border: 1px solid #017840;
}

.kc-company {
	font-size: 14px;
}

.kc-name {
	font-size: 20px;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-height: 1.5;
	margin: 0.2em 0;
}

.kc-date,
.kc-address {
	position: relative;
	font-size: 14px;
	line-height: 2;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
}

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

.kc-desp {
	font-size: 14px;
}

.kc-date br {
	display: none;
}

@media screen and (max-width: 768px) {
	.kc-content h1 {
		width: 80%;
	}

	.kc-cards {
		max-width: 100%;
		width: 90%;
		padding: 0;
	}

	.kc-link {
		flex-direction: column;
	}

	.kc-image {
		width: 100%;
	}

	.kc-info {
		width: 100%;
		padding-top: 0.5em;
	}
	.kc-tags {
		margin-bottom: 0.5em;
	}
	.kc-date,
	.kc-address,
	.kc-type,
	.kc-format,
	.kc-desp {
		font-size: 15px;
	}

	.kc-name {
		font-size: 18px;
	}
}

/* 各加盟店 */
.kc-container.-store {
	/* max-width: 1200px; */
	width: 96%;
}
@media only screen and (max-width: 1280px) {
	.kc-container.-store {
		width: 100%;
	}
}
@media only screen and (max-width: 910px) {
	.kc-container.-store {
		width: 90%;
		margin: auto;
	}
}

.kc-cards.-store {
	max-width: 100%;
	display: flex;
	gap: 6%;
	padding: 0;
	list-style: none;
}

.kc-card.-store {
	width: 33%;
	padding: 0;
}

.kc-link.-store {
	flex-direction: column;
}

.kc-image.-store,
.kc-info.-store {
	width: 100%;
}

.kc-info.-store {
	padding-top: 2em;
}

@media screen and (max-width: 768px) {
	.kc-info.-store {
		padding-top: 0.75em;
		padding-bottom: 2em;
	}

	.kc-cards.-store {
		flex-direction: column;
	}

	.kc-card.-store {
		width: 100%;
	}
}
/* 各加盟店 end */

/* イベント一覧ページのスタイル start */
.post-type-archive-event .kc-container.-store {
	width: 90%;
	margin: auto;
}

.post-type-archive-event .kc-cards.-store {
	gap: 6%;
	flex-wrap: wrap;
}
.post-type-archive-event .kc-card.-store {
	width: calc((100% / 3) - 4%);
	padding: 0 0 7rem;
}
.post-type-archive-event .kc-info.-store {
	padding-top: 1em;
}
.post-type-archive-event .kc-date,
.post-type-archive-event .kc-address {
	font-size: 16px;
	letter-spacing: 0.05rem;
}
.post-type-archive-event .kc-name {
	font-size: 22px;
	margin: 0.3em 0;
	font-weight: 600;
	letter-spacing: 0.01rem;
}
@media screen and (max-width: 1280px) {
	.post-type-archive-event .kc-name {
		font-size: 18px;
	}
	.post-type-archive-event .kc-date,
	.post-type-archive-event .kc-address {
		font-size: 15px;
	}
}
@media screen and (max-width: 912px) {
	.post-type-archive-event .kc-card.-store {
		width: calc((100% / 2) - 3%);
		padding: 0 0 4rem;
	}
	.post-type-archive-event .kc-tags {
		margin-bottom: 0.25em;
	}
}
@media screen and (max-width: 768px) {
	.post-type-archive-event .kc-container.-store {
		width: 100%;
	}
	.post-type-archive-event .kc-cards.-store {
		flex-direction: inherit;
	}
	.post-type-archive-event .kc-card.-store {
		padding: 0;
	}
}
@media screen and (max-width: 680px) {
	.post-type-archive-event .kc-cards.-store {
		flex-direction: column;
	}
	.post-type-archive-event .kc-card.-store {
		width: 100%;
		padding: 0 0 4rem;
	}
	.post-type-archive-event .kc-name {
		font-size: 20px;
	}
}
@media screen and (max-width: 480px) {
	.post-type-archive-event .kc-cards.-store {
		flex-direction: column;
	}
	.post-type-archive-event .kc-card.-store {
		padding: 0 0 2rem;
	}
	.post-type-archive-event .kc-name {
		font-size: 18px;
	}
}
