/* TOKYO FANTASTIC 軽量ブログカード v1.2.0
   FAQ/Classic Editor compatibility: only span, a, img in the shortcode HTML.
   Component CSS is isolated; no generic p/h/img/theme selectors are changed. */
.tf-lightcard-shell,
.entry .tf-lightcard-shell {
  display: block !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 18px 0 22px !important;
  padding: 0 !important;
  float: none !important;
  position: relative;
  isolation: isolate;
  line-height: normal;
  text-align: left;
}
.tf-lightcard-shell *,
.tf-lightcard-shell *::before,
.tf-lightcard-shell *::after { box-sizing: border-box !important; }
.tf-lightcard-shell > a.tf-lightcard,
.tf-lightcard-shell > a.tf-lightcard:visited,
.entry .tf-lightcard-shell > a.tf-lightcard,
.entry .tf-lightcard-shell > a.tf-lightcard:visited {
  display: flex !important;
  flex-direction: row !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  flex-wrap: nowrap !important;
  gap: 18px !important;
  float: none !important;
  clear: none !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 20px 21px !important;
  border: 1px solid #e0e1e2 !important;
  border-radius: 4px !important;
  background: #fff !important;
  box-shadow: 0 1px 6px rgba(16,19,22,.055) !important;
  color: #51595e !important;
  text-decoration: none !important;
  text-align: left !important;
  line-height: 1.5 !important;
  overflow: visible;
  transition: box-shadow .18s ease, border-color .18s ease;
}
.tf-lightcard-shell > a.tf-lightcard:hover,
.tf-lightcard-shell > a.tf-lightcard:focus-visible {
  border-color: #d1d3d4 !important;
  box-shadow: 0 3px 11px rgba(16,19,22,.09) !important;
  color: #51595e !important;
  text-decoration: none !important;
}
.tf-lightcard-shell > a.tf-lightcard:focus-visible {
  outline: 2px solid #566978;
  outline-offset: 3px;
}
.tf-lightcard-shell > a.tf-lightcard > .tf-lightcard__body {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 0% !important;
  align-items: flex-start !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 120px;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  text-transform: none !important;
}
.tf-lightcard-shell > a.tf-lightcard .tf-lightcard__title {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  font-family: inherit !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  letter-spacing: .025em !important;
  line-height: 1.5 !important;
  color: #505960 !important;
  text-align: left !important;
  white-space: normal !important;
  overflow-wrap: anywhere;
  word-break: normal;
  text-transform: none !important;
}
.tf-lightcard-shell > a.tf-lightcard .tf-lightcard__summary {
  display: -webkit-box !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  overflow: hidden !important;
  width: 100% !important;
  min-width: 0 !important;
  max-height: 5.1em;
  padding: 0 !important;
  margin: 10px 0 13px !important;
  color: #51595f !important;
  font-family: inherit !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.7 !important;
  letter-spacing: .02em !important;
  text-align: left !important;
  white-space: normal !important;
  overflow-wrap: anywhere;
  text-transform: none !important;
}
.tf-lightcard-shell > a.tf-lightcard .tf-lightcard__brand {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 9px !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: auto 0 0 !important;
  padding: 0 !important;
  color: #9da2a5 !important;
  font-family: inherit !important;
  font-weight: 500 !important;
  font-size: 10px !important;
  line-height: 1.5 !important;
  letter-spacing: .03em !important;
  text-align: left !important;
  white-space: normal !important;
  text-transform: none !important;
}
.tf-lightcard-shell > a.tf-lightcard .tf-lightcard__mark {
  display: inline-flex !important;
  flex: 0 0 19px !important;
  align-items: center !important;
  justify-content: center !important;
  width: 19px !important;
  height: 19px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 50% !important;
  background: #efc9c0 !important;
  color: #fff !important;
  font-family: Georgia, serif !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  line-height: 1 !important;
}
.tf-lightcard-shell > a.tf-lightcard.tf-lightcard--has-image > .tf-lightcard__visual {
  position: relative !important;
  display: block !important;
  flex: 0 0 120px !important;
  width: 120px !important;
  min-width: 120px !important;
  max-width: 120px !important;
  height: 120px !important;
  min-height: 120px !important;
  max-height: 120px !important;
  aspect-ratio: 1/1;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 1px !important;
  background: #f6f6f4;
}
.tf-lightcard-shell > a.tf-lightcard.tf-lightcard--has-image > .tf-lightcard__visual > img.tf-lightcard__image {
  position: absolute !important;
  display: block !important;
  inset: 0 !important;
  width: 100% !important;
  min-width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 100% !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transform: none !important;
  aspect-ratio: 1/1;
  object-fit: cover !important;
  object-position: center center;
}
.tf-lightcard-shell > a.tf-lightcard.tf-lightcard--position-left > .tf-lightcard__visual > img.tf-lightcard__image {object-position:left center;}
.tf-lightcard-shell > a.tf-lightcard.tf-lightcard--position-right > .tf-lightcard__visual > img.tf-lightcard__image {object-position:right center;}
.tf-lightcard-shell > a.tf-lightcard.tf-lightcard--position-top > .tf-lightcard__visual > img.tf-lightcard__image {object-position:center top;}
.tf-lightcard-shell > a.tf-lightcard.tf-lightcard--position-bottom > .tf-lightcard__visual > img.tf-lightcard__image {object-position:center bottom;}
/* An invalid/missing thumbnail must not leave an oversized empty image box. */
.tf-lightcard-shell > a.tf-lightcard.tf-lightcard--text-only > .tf-lightcard__body {min-height:0;}
@media (max-width:600px) {
  .tf-lightcard-shell, .entry .tf-lightcard-shell {margin:14px 0 18px !important;}
  .tf-lightcard-shell > a.tf-lightcard,
  .tf-lightcard-shell > a.tf-lightcard:visited,
  .entry .tf-lightcard-shell > a.tf-lightcard {gap:11px !important;padding:15px 13px !important;}
  .tf-lightcard-shell > a.tf-lightcard > .tf-lightcard__body {min-height:92px;}
  .tf-lightcard-shell > a.tf-lightcard .tf-lightcard__title {font-size:15px !important;line-height:1.55 !important;}
  .tf-lightcard-shell > a.tf-lightcard .tf-lightcard__summary {font-size:12px !important;line-height:1.65 !important;margin:8px 0 11px !important;max-height:4.95em;}
  .tf-lightcard-shell > a.tf-lightcard .tf-lightcard__brand {font-size:9px !important;gap:6px !important;}
  .tf-lightcard-shell > a.tf-lightcard .tf-lightcard__mark {flex-basis:17px !important;width:17px !important;height:17px !important;font-size:10px !important;}
  .tf-lightcard-shell > a.tf-lightcard.tf-lightcard--has-image > .tf-lightcard__visual {
    flex-basis:92px !important;width:92px !important;min-width:92px !important;
    max-width:92px !important;height:92px !important;min-height:92px !important;max-height:92px !important;
  }
}
@media (prefers-reduced-motion:reduce) {
  .tf-lightcard-shell > a.tf-lightcard {transition:none;}
}
