/*
 * Shared typography, home content, link cards, and generic query-card styles.
 */

﻿﻿/*** サイト全体の文字種と文字サイズ ***/

body {

	font-family: "Noto Sans JP", sans-serif;

	font-style: normal;

}


/* Search fields change focus/value state immediately across every component. */

html body input[type="search"],
html body .tribe-events-c-search__input,
html body input[type="search"]::placeholder,
html body .tribe-events-c-search__input::placeholder,
html body .kyoiq-fa-search-icon--input,
html body .kyoiq-event-organizer-picker__search > .fa-magnifying-glass {
	transition: none !important;
	animation: none !important;
}


.entry-title {

  font-weight: bold !important;

		font-family: "Noto Sans JP", sans-serif !important;

}


.section-title,

.section-subtitle,

.wp-block-heading,

h3,

.container a {

			font-family: "Noto Sans JP", sans-serif !important;

}


/* リンクの下線無し */


a:link, a:hover, a:visited, a:active {

	text-decoration: none !important;

}


/* トップページのコンテンツのリンク  */


.kyoiq_contents {

  display: flex !important;

  gap: 30px !important;

  width: min(1080px, calc(100vw - 40px)) !important;

  max-width: none !important;

  margin: 60px 0 60px 50% !important;

  transform: translateX(-50%) !important;

  padding: 0 !important;

}


.kyoiq_contents_column {

  position: relative !important;

  flex: 1 !important;

  min-height: 420px !important;

  padding: 40px 30px !important;

  background: #fff !important;

  cursor: pointer !important;

  box-shadow: var(--kyoiq-shadow-main-area) !important;

  transition: 0.25s !important;

}


.kyoiq_contents_column:hover {

  box-shadow: var(--kyoiq-shadow-main-area-hover) !important;

  transform: translateY(-4px) !important;

}


.kyoiq_contents_icon {

  font-size: 60px !important;

  text-align: center !important;

  margin-bottom: 30px !important;

  color: #1f6fa5 !important;

}


.kyoiq_contents_column h2 {

  text-align: center !important;

  font-size: 24px !important;

  margin-bottom: 28px !important;

}


.kyoiq_contents_column p {

  font-size: 14px !important;

  line-height: 1.8 !important;

  color: #666 !important;

  text-align: left !important;

}


@media (min-width: 768px) and (max-width: 1199px) {

  .page-header > .container {

    width: 100% !important;

    max-width: none !important;

    margin-right: auto !important;

    margin-left: auto !important;

    padding-right: 15px !important;

    padding-left: 48px !important;

    box-sizing: border-box !important;

  }

  .page-header :is(.entry-title, .page-title) {

    width: 100% !important;

    max-width: none !important;

  }

  .kyoiq_contents {

    width: 100% !important;

    margin: 40px 0 !important;

    transform: none !important;

    flex-direction: column !important;

  }

  .kyoiq_contents_column {

    align-self: center !important;

    width: 340px !important;

    max-width: 100% !important;

  }

}


@media (max-width: 767px) {

  .kyoiq_contents {

    width: 100% !important;

    margin: 40px 0 !important;

    transform: none !important;

    flex-direction: column !important;

  }

  .kyoiq_contents_column {

    align-self: center !important;

    width: 340px !important;

    max-width: 100% !important;

  }

}


.kyoiq_contents_link {

  position: absolute !important;

  inset: 0 !important;

  z-index: 10 !important;

  display: block !important;

  background: transparent !important;

  text-decoration: none !important;

}


/* サイトリンクのカード */


.site-card {

  display: flex;

  justify-content: space-between;

  align-items: center;

  padding: 22px 26px;

  border-radius: 18px;

  text-decoration: none;

  color: #fff;

  background: linear-gradient(135deg, #1f6fa5, #163e5c);

  box-shadow: var(--kyoiq-shadow-main-area);

  transition: .25s ease;

}


.site-card:hover {

  transform: translateY(-4px);

  box-shadow: var(--kyoiq-shadow-main-area-hover);

}


.site-card span {

  font-size: 12px;

  letter-spacing: .08em;

  color: rgba(255,255,255,.7);

}


.site-card strong {

  display: block;

  font-size: 20px;

  margin: 6px 0;

}


.site-card p {

  margin: 0;

  font-size: 14px;

  color: rgba(255,255,255,.8);

}


.arrow {

  font-size: 24px !important;

  color: rgba(255,255,255,.9);

}


.site-card strong,

.site-card:hover strong {

  color: #ffffff;

}


/* サムネイルをカード表現に */


.wp-block-query .wp-block-post .wp-block-columns {

  padding: 18px 18px;

  border-radius: 24px;

  background: #fff;


transition:

    transform .25s ease,

    box-shadow .25s ease;


box-shadow: var(--kyoiq-shadow-main-area);

}


.wp-block-query .wp-block-post .wp-block-columns:hover {

  transform: translateY(-4px);

  box-shadow: var(--kyoiq-shadow-main-area-hover);

}


/* カードの見出しのフォント設定 */


.wp-block-post-title {

	font-size: 20px;

	margin-bottom: 0;

}


/* 画像の角を丸に */


.wp-post-image {

  border-radius: 12px;

  overflow: hidden;

  box-shadow: var(--kyoiq-shadow-main-area);

}


/*  サムネイルにタグを表示   */


/* カード全体 */

.wp-block-post {

  position: relative;

  overflow: visible !important; /* ← hiddenをやめる */

}


/* タグ全体 */

.wp-block-post .wp-block-post-terms,

.wp-block-post .wp-block-post-tags {

  position: absolute !important;

  top: 24px !important;

  left: 24px !important;


width: calc(65% - 48px) !important;

  max-width: calc(65% - 48px) !important;


z-index: 999 !important;


display: flex !important;

  flex-wrap: wrap !important;

  gap: 8px !important;


opacity: 1 !important;

  visibility: visible !important;

}


/* 区切りの・を消す */

.wp-block-post-terms__separator {

  display: none !important;

}


/* 各タグ */

.wp-block-post .wp-block-post-terms a,

.wp-block-post .wp-block-post-tags a {

  color: #fff !important;

  background: rgba(31,111,165,.9) !important;

  border: 1px solid rgba(255,255,255,.95) !important;

  border-radius: 4px !important;

  padding: 5px 10px !important;

  font-size: 12px !important;

  font-weight: 600 !important;

  text-decoration: none !important;

  white-space: nowrap !important;

}


