.v4-directory-notice,
.v4-information-notice {
  border: 1px solid #d4dfd4;
  border-radius: 10px;
  background: #edf2e9;
  color: #244638;
  text-align: left;
}

.v4-directory-notice {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: 16px;
  padding: 14px 18px;
}

.v4-directory-notice p {
  max-width: 940px;
  margin: 0;
  color: #4c6054;
  font-size: 0.84rem;
  line-height: 1.5;
}

.v4-directory-notice > a {
  flex-shrink: 0;
}

.v4-directory-notice a,
.v4-information-notice a {
  color: #17513c;
  font-weight: 700;
  font-size: 0.8rem;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.v4-information-notice {
  grid-column: 1 / -1;
  padding: 16px;
  font-size: 0.85rem;
  line-height: 1.5;
}

.v4-information-notice strong {
  display: block;
  color: #123c2c;
}

.v4-information-notice p {
  margin: 7px 0;
}

.v4-information-confirm {
  color: #4c6054;
  font-size: 0.8rem;
}

.v4-information-notice-inline {
  padding: 10px 12px;
  font-size: 0.75rem;
}

.v4-information-notice-inline strong {
  display: inline;
  margin-inline-end: 6px;
}

.v4-information-notice-inline p {
  margin: 0;
  font-size: inherit;
}

.v4-information-notice-inline p + p {
  margin-top: 3px;
}

.v4-information-notice-inline a {
  font-size: inherit;
}

.v4-detail-mobile-notice {
  display: none;
}

.v4-source-overflow {
  min-width: 0;
}

.v4-source-overflow[open] {
  flex-basis: 100%;
}

.v4-source-overflow > summary {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--forest);
  cursor: pointer;
  list-style: none;
}

.v4-source-overflow > summary::-webkit-details-marker {
  display: none;
}

.v4-source-overflow > summary::after {
  content: "+";
}

.v4-source-overflow[open] > summary::after {
  content: "−";
}

.v4-source-overflow > summary:focus-visible {
  outline: 3px solid rgba(7, 53, 39, 0.45);
  outline-offset: 2px;
}

.v4-source-overflow-less,
.v4-source-overflow[open] .v4-source-overflow-more {
  display: none;
}

.v4-source-overflow[open] .v4-source-overflow-less {
  display: inline;
}

.v4-source-overflow-links {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}

@media (max-width: 760px) {
  .v4-directory-notice {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    margin-top: 8px;
    padding: 9px 11px;
  }

  .v4-directory-notice p {
    font-size: 0.75rem;
    line-height: 1.4;
  }

  .v4-directory-notice a {
    font-size: 0.75rem;
  }

  .v4-detail-mobile-notice {
    display: block;
    margin-bottom: 16px;
  }

  .v4-detail-mobile-bar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .v4-detail-mobile-bar ~ footer {
    margin-bottom: 144px;
  }
}
