:root {
  color-scheme: light;
  font-family: "Noto Sans JP", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.75;
  color: #171717;
  background: #fff;
}

* { box-sizing: border-box; }

body { margin: 0; }

main {
  max-width: 768px;
  margin-inline: auto;
  padding: 64px 24px 80px;
}

h1 {
  margin: 0 0 16px;
  font-family: "Redaction 50", Georgia, serif;
  font-size: 64px;
  font-weight: 400;
  line-height: 1;
}

p { margin: 0 0 24px; }

.introduction { font-size: 20px; line-height: 1.5; margin-bottom: 32px; }

ul { margin: 0 0 24px; padding-left: 24px; }
li + li { margin-top: 16px; }
strong { font-weight: 600; }
main > :last-child { margin-bottom: 0; }

.venue-invitation { position: relative; }
.venue-contact { display: inline-block; max-width: 100%; }
.venue-contact a {
  color: inherit;
  text-decoration: underline;
  text-decoration-color: #c8c8c8;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}
.venue-contact a:focus-visible { outline: 1px solid #777; outline-offset: 1px; }
.contact-tooltip {
  position: absolute;
  z-index: 1;
  top: 100%;
  left: 0;
  padding: 8px 12px;
  border: 1px solid #dedede;
  border-radius: 6px;
  background: #fff;
  font-size: 14px;
  line-height: 1.5;
  white-space: nowrap;
  visibility: hidden;
}
.venue-invitation.is-open .contact-tooltip { visibility: visible; }

@media (max-width: 600px) {
  main { padding-block: 40px 56px; }
  h1 { font-size: 56px; }
}
