/* ジンセレ地域ランキングの会社カードだけ。HTMLのサーバー側加工が先行。 */
html body .jinsere-obo-hidden-simulation,
html body .jinsere-obo-hidden-simulation-cell,
html body a.jinsere-obo-hidden-simulation {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
html body .jinsere-obo-centered-row {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 0 !important;
  grid-template-columns: minmax(0, 1fr) !important;
  text-align: center !important;
}
html body .jinsere-obo-centered-row .jinsere-obo-official-cell {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  display: flex !important;
  flex: 0 1 auto !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  margin: 0 auto !important;
  padding: 0 !important;
  background: transparent !important;
}
html body a.jinsere-obo-official-button,
html body a.jinsere-obo-official-button:is(:link, :visited, :hover, :active, :focus) {
  -webkit-appearance: none !important;
  appearance: none !important;
  box-sizing: border-box !important;
  position: relative !important;
  isolation: isolate !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  justify-self: center !important;
  align-self: center !important;
  flex: 0 0 220px !important;
  width: 220px !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: 44px !important;
  min-height: 44px !important;
  margin: 0 auto 0 !important;
  padding: 0 16px !important;
  background: #eee9e3 !important;
  background-image: linear-gradient(180deg, #f3efeb 0%, #eae4dd 100%) !important;
  border: 1px solid #d7d1cb !important;
  border-radius: 999px !important;
  box-shadow: 0 4px 0 #cfc8c1, 0 7px 11px rgba(63,54,44,.12) !important;
  color: #68635d !important;
  -webkit-text-fill-color: #68635d !important;
  font-family: inherit !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: .01em !important;
  line-height: 1.25 !important;
  text-align: center !important;
  text-decoration: none !important;
  text-shadow: none !important;
  opacity: 1 !important;
  filter: none !important;
  transform: none !important;
  overflow: visible !important;
  cursor: pointer !important;
  transition: box-shadow .15s ease, background-color .15s ease !important;
}
/* Some Core buttons color a nested text <span> independently. */
html body a.jinsere-obo-official-button :is(span, strong, b, em) {
  color: #68635d !important;
  -webkit-text-fill-color: #68635d !important;
  text-shadow: none !important;
  background: transparent !important;
}
/* 元ボタンのアイコン（地球儀、矢印、擬似装飾）を出さない。 */
html body a.jinsere-obo-official-button::before {
  display: none !important;
  content: none !important;
}
html body a.jinsere-obo-official-button :is(svg, i, img, .dashicons, .fa, .fas, .far, .material-icons) {
  display: none !important;
  visibility: hidden !important;
}
html body a.jinsere-obo-official-button::after {
  content: "" !important;
  pointer-events: none !important;
  position: absolute !important;
  display: block !important;
  top: auto !important;
  right: 8px !important;
  bottom: -10px !important;
  left: auto !important;
  width: 34px !important;
  height: 34px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent url('reference-click-hand.png') center/34px 34px no-repeat !important;
  box-shadow: none !important;
  opacity: 1 !important;
  filter: none !important;
  transform: none !important;
  z-index: 3 !important;
}
html body a.jinsere-obo-official-button:hover,
html body a.jinsere-obo-official-button:active {
  background-image: linear-gradient(180deg, #f6f1ed, #eee8e2) !important;
}
html body a.jinsere-obo-official-button:focus-visible {
  outline: 3px solid #247f72 !important;
  outline-offset: 4px !important;
}
@media (max-width: 480px) {
  html body a.jinsere-obo-official-button { max-width: min(220px, calc(100vw - 36px)) !important; }
}
@media (prefers-reduced-motion: reduce) {
  html body a.jinsere-obo-official-button { transition: none !important; }
}
html body .jinsere-obo-centered-row .jinsere-obo-preserved-detail {
  flex: 0 0 100% !important;
  max-width: 100% !important;
}

/* v1.3.0: all footer coordinates are relative to the FULL company card. */
html body .jinsere-obo-full-card-footer {
  position: relative !important;
  min-height: 156px !important;
  box-sizing: border-box !important;
}
html body .jinsere-obo-full-card-footer .jinsere-obo-footer-centered-row {
  position: absolute !important;
  inset: 0 !important;
  left: 0 !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  transform: none !important;
  display: flex !important;
  flex-flow: row nowrap !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  z-index: 2 !important;
  box-sizing: border-box !important;
}
/* When details happen to be in the CTA row, remove their wrapper from layout
   while keeping their link anchored to the entire 100%-width footer row. */
html body .jinsere-obo-full-card-footer .jinsere-obo-preserved-detail {
  position: static !important;
  flex: 0 0 0 !important;
  width: 0 !important;
  max-width: 0 !important;
  min-width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}
html body .jinsere-obo-full-card-footer .jinsere-obo-bottom-detail {
  position: absolute !important;
  top: auto !important;
  bottom: 14px !important;
  left: auto !important;
  right: 18px !important;
  margin: 0 !important;
  z-index: 3 !important;
  text-align: right !important;
  white-space: nowrap !important;
  display: inline-block !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: calc(100% - 24px) !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  background: none !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: #147b67 !important;
  -webkit-text-fill-color: #147b67 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  text-decoration: none !important;
}
@media (max-width: 600px) {
  html body .jinsere-obo-full-card-footer { min-height: 166px !important; }
  html body .jinsere-obo-full-card-footer .jinsere-obo-bottom-detail { right: 14px !important; }
}

/* v1.3.1: only the text of the official button becomes smaller on phones.
   The PHP output has an inline !important font-size. Its CSS variable is
   intentionally set on the same element so this media override still works.
   Width, height, spacing, center alignment, hand icon and detail link unchanged. */
@media (max-width: 600px) {
  html body a.jinsere-obo-official-button {
    --jinsere-obo-font-size: 12px !important;
    font-size: 12px !important;
  }
  html body a.jinsere-obo-official-button :is(span, strong, b, em) {
    font-size: 12px !important;
  }
}
