:root {
  --nakaya-bg: #ffffff;
  --nakaya-text: #222222;
  --nakaya-link-hover: #8a7441;
  --nakaya-font-ryumin:
    "A-OTF Ryumin Pr6N R-KL",
    "A-OTF Ryumin Pro R-KL",
    "Ryumin R-KL",
    "Ryumin",
    "Hiragino Mincho ProN",
    "Yu Mincho",
    serif;
  --nakaya-font-mincho-fallback:
    "Shippori Mincho B1",
    "Hiragino Mincho ProN",
    "Yu Mincho",
    serif;
  --s-font-32ad8854: var(--nakaya-font-ryumin);
  --s-font-20992c25: var(--nakaya-font-ryumin);
  --s-font-a99b0a29: var(--nakaya-font-mincho-fallback);
  --s-font-8ba5eab1: "Playfair Display", "Times New Roman", serif;
}

html {
  scroll-behavior: smooth;
}

body {
  background: var(--nakaya-bg);
  color: var(--nakaya-text);
  min-height: 100vh;
  overflow-x: clip;
}

body,
.sd,
.sd.text,
.sd.richText,
.sd.richText * {
  font-family: var(--s-font-32ad8854, var(--nakaya-font-ryumin));
}

.StudioCanvas {
  justify-content: center;
  margin: 0;
  max-width: none;
  padding: 0;
  width: 100%;
}

.StudioCanvas > .sd {
  margin: 0;
  max-width: none;
  width: 100%;
}

.StudioCanvas > .sd > main.sd,
.StudioCanvas > .sd > footer.sd,
.StudioCanvas > .sd > header.sd,
.StudioCanvas > .sd > section.sd,
.StudioCanvas > .sd [data-type="carousel"] {
  margin-left: 0;
  margin-right: 0;
  max-width: none;
  width: 100%;
}

a.sd {
  transition: color 0.24s ease, opacity 0.24s ease, background-color 0.24s ease;
}

a.sd:hover {
  color: var(--nakaya-link-hover);
}

a.sd:focus-visible {
  outline: 2px solid rgba(138, 116, 65, 0.45);
  outline-offset: 2px;
}

.nakaya-modal[hidden] {
  display: none;
}

.nakaya-modal {
  inset: 0;
  position: fixed;
  z-index: 9999;
}

.nakaya-modal__backdrop {
  background: rgba(0, 0, 0, 0.45);
  border: 0;
  height: 100%;
  inset: 0;
  position: absolute;
  width: 100%;
}

.nakaya-modal__panel {
  -webkit-overflow-scrolling: touch;
  inset: 0;
  overflow: auto;
  position: absolute;
}
