:root {
  --saito-green:#355e3b;
  --saito-ink:#333;
  --saito-paper:#f2eee5;
  --saito-red:#6c2735;
  --saito-gold:#c1ab48;
  --saito-serif:"YuMincho","Yu Mincho","Hiragino Mincho ProN",serif;
  --saito-sans:"Hiragino Sans","Yu Gothic",sans-serif;
  --saito-header:80px
}

*,*::before,*::after {
  box-sizing:border-box
}

html {
  scroll-behavior:smooth;
  scroll-padding-top:100px
}

body {
  margin:0;
  color:var(--saito-ink);
  background:white;
  font-family:var(--saito-serif);
  line-height:1.8;
  overflow-wrap:anywhere
}

a {
  color:inherit;
  text-underline-offset:.25em
}

img {
  max-width:100%;
  height:auto;
  vertical-align:middle
}

button,input,select,textarea {
  font:inherit
}

button,a {
  -webkit-tap-highlight-color:transparent
}

button {
  cursor:pointer
}

a:focus-visible,button:focus-visible,input:focus-visible {
  outline:3px solid var(--saito-gold);
  outline-offset:5px
}

.saito-container {
  width:min(1110px,calc(100% - 80px));
  margin-inline:auto
}

.saito-screen-reader {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip-path:inset(50%);
  white-space:nowrap
}

.saito-skip-link {
  position:fixed;
  z-index:1000;
  left:20px;
  top:-100px;
  background:white;
  padding:12px 20px
}

.saito-skip-link:focus {
  top:10px
}

.saito-header {
  height:var(--saito-header);
  display:flex;
  align-items:center;
  background:#fff;
  position:relative;
  z-index:30;
  box-shadow:none
}

.saito-logo {
  display:block;
  margin-left:40px;
  flex-shrink:0;
  width:288.314px
}

.saito-logo img {
  width:100%
}

.saito-navigation {
  margin-left:auto;
  height:100%;
  display:flex
}

.saito-menu {
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  align-items:stretch
}

.saito-menu>li {
  display:flex;
  align-items:stretch
}

.saito-menu a {
  display:flex;
  align-items:center;
  padding:0 20px;
  text-decoration:none;
  font-size:16px;
  font-weight:600;
  letter-spacing:.05em;
  white-space:nowrap;
  transition:background-color .2s,color .2s
}

.saito-menu a:hover,.saito-menu a:focus-visible {
  color:white;
  background:var(--saito-green)
}

.saito-header-actions {
  display:flex;
  align-self:stretch;
  margin-left:20px
}

.saito-action {
  border:0;
  border-radius:0;
  color:#fff;
  width:80px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  gap:8px;
  line-height:1
}

.saito-action small {
  font-size:10px;
  letter-spacing:.04em;
  font-family:"DIN Condensed",var(--saito-sans)
}

.saito-language {
  background:#8b3d3d
}

.saito-search-toggle {
  background:#523150
}

.saito-menu-toggle {
  background:var(--saito-green)
}

.saito-icon-globe {
  position:relative;
  display:block;
  width:21px;
  height:21px;
  border:1.5px solid currentColor;
  border-radius:50%
}

.saito-icon-globe::before {
  content:"";
  position:absolute;
  inset:-1px 5px;
  border-inline:1px solid currentColor;
  border-radius:50%
}

.saito-icon-globe::after {
  content:"";
  position:absolute;
  inset:8px -1px auto;
  border-top:1px solid currentColor
}

.saito-icon-search {
  display:block;
  width:18px;
  height:18px;
  border:1.5px solid currentColor;
  border-radius:50%;
  position:relative;
  margin:0 3px 3px 0
}

.saito-icon-search::after {
  content:"";
  position:absolute;
  right:-6px;
  bottom:-4px;
  width:9px;
  transform:rotate(48deg);
  border-top:1.5px solid currentColor
}

.saito-icon-menu {
  display:block;
  width:27px;
  height:20px;
  border-block:1px solid currentColor;
  position:relative
}

.saito-icon-menu::after {
  content:"";
  position:absolute;
  top:8px;
  left:0;
  width:27px;
  border-top:1px solid currentColor
}

.saito-search-panel {
  position:absolute;
  right:80px;
  top:80px;
  background:#523150;
  padding:18px;
  width:400px
}

.saito-search-panel[hidden] {
  display:none
}

.saito-search-panel form {
  display:flex;
  background:#fff
}

.saito-search-panel input {
  min-width:0;
  flex:1;
  border:0;
  padding:8px 12px
}

.saito-search-panel input:focus-visible {
  outline:none;
  background:#f8f4f8
}

.saito-search-panel button {
  background:white;
  color:#523150;
  border:0;
  width:48px;
  display:grid;
  place-items:center
}

.saito-menu-dialog {
  border:0;
  margin:0 0 0 auto;
  padding:40px;
  width:min(600px,100%);
  height:100dvh;
  max-height:100dvh;
  background:var(--saito-paper);
  color:var(--saito-green)
}

.saito-menu-dialog::backdrop {
  background:#0007
}

.saito-menu-dialog-top {
  display:flex;
  align-items:center;
  justify-content:space-between
}

.saito-menu-dialog-top h2 {
  font-size:32px;
  letter-spacing:.12em
}

.saito-menu-close {
  border:0;
  background:none;
  color:inherit;
  font-size:44px
}

.saito-menu-dialog .saito-menu {
  display:block;
  margin-bottom:40px
}

.saito-menu-dialog .saito-menu>li {
  border-bottom:1px solid #355e3b33
}

.saito-menu-dialog .saito-menu a {
  width:100%;
  padding:20px 0
}

.saito-menu-dialog .saito-menu a:hover {
  padding-inline:15px
}

.saito-menu-dialog .search-field {
  max-width:100%
}

body:has(.saito-menu-dialog[open]) {
  overflow:hidden
}

.saito-main {
  min-height:45vh
}

.saito-footer {
  position:relative;
  isolation:isolate;
  min-height:640px;
  background:var(--saito-green);
  color:#fff;
  text-align:center;
  padding:90px 0 60px
}

.saito-footer::after {
  content:"";
  position:absolute;
  inset:0;
  background:#244f3ab3;
  z-index:-1
}

.saito-footer-photo {
  position:absolute;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  inset:0;
  z-index:-2
}

.saito-footer-logo {
  display:block;
  width:260px;
  margin:auto;
  filter:brightness(0) invert(1)
}

.saito-footer-address {
  font-size:12px;
  margin:24px 0 50px
}

.saito-footer-links {
  display:grid;
  grid-template-rows:repeat(5,auto);
  grid-auto-flow:column;
  gap:10px 30px;
  list-style:none;
  padding:0;
  text-align:left;
  font-size:14px
}

.saito-footer-links a {
  text-decoration:none
}

.saito-footer-links a::before {
  content:"◉";
  font-size:10px;
  margin-right:.7em;
  color:#ddd4af
}

.saito-footer-links a:hover {
  text-decoration:underline
}

.saito-copyright {
  display:block;
  margin-top:52px;
  font-size:12px
}

.saito-button {
  min-width:225px;
  min-height:48px;
  border:1px solid var(--saito-green);
  box-shadow:inset 0 0 0 3px var(--saito-paper),inset 0 0 0 4px #355e3b55;
  display:inline-flex;
  justify-content:space-between;
  align-items:center;
  gap:25px;
  padding:8px 20px;
  font-size:16px;
  color:var(--saito-green);
  text-decoration:none;
  transition:color .2s,background .2s
}

.saito-button::after {
  content:"→"
}

.saito-button:hover {
  background:#385132;
  color:#fff
}

.saito-text-link {
  font-size:16px;
  text-decoration:none;
  border-bottom:1px solid #87917a;
  padding-bottom:7px
}

.saito-text-link::after {
  content:" →"
}

.saito-text-link:hover {
  border-bottom-color:var(--saito-red);
  color:var(--saito-red)
}

@media(min-width:1600px) {
  .saito-logo {
    margin-left:140px
  }

  .saito-menu a {
    padding-inline:20px
  }

  .saito-header-actions {
    margin-left:23px
  }

}

@media(max-width:1337px) {
  .saito-logo {
    width:250px;
    margin-left:25px
  }

  .saito-menu a {
    font-size:14px;
    padding-inline:12px
  }

  .saito-action {
    width:64px
  }

}

@media(max-width:1337px) {
  .saito-navigation {
    display:none
  }

  .saito-header-actions {
    margin-left:auto
  }

  .saito-logo {
    width:280px
  }

  .saito-action {
    width:80px
  }

}

@media(max-width:600px) {
  :root {
    --saito-header:64px
  }

  .saito-container {
    width:calc(100% - 40px)
  }

  .saito-logo {
    width:min(244px,calc(100vw - 84px));
    margin-left:10px
  }

  .saito-header > .saito-logo {
    max-width:calc(100% - 74px)
  }

  .saito-language,.saito-search-toggle {
    display:none
  }

  .saito-header-actions {
    margin-left:auto
  }

  .saito-menu-toggle {
    width:64px;
    gap:6px
  }

  .saito-action small {
    font-size:10px
  }

  .saito-icon-menu {
    width:26px;
    height:18px
  }

  .saito-icon-menu::after {
    width:26px;
    top:7px
  }

  .saito-search-panel {
    top:64px;
    right:0;
    width:100%
  }

  .saito-menu-dialog {
    padding:20px
  }

  .saito-footer {
    padding:55px 0 30px;
    min-height:473px
  }

  .saito-footer-logo {
    width:240px
  }

  .saito-footer-address {
    font-size:10px;
    margin:20px 0 26px
  }

  .saito-footer-nav {
    display:none
  }

  .saito-copyright {
    font-size:10px;
    margin-top:45px
  }

  .saito-button {
    min-width:190px;
    min-height:42px;
    font-size:14px
  }

  .saito-text-link {
    font-size:14px
  }

}

@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }

  *,*::before,*::after {
    transition:none!important;
    animation:none!important
  }

}

/* XD primary navigation uses measured item boxes at the two PC artboards. */
@media (min-width:1338px) {
  .saito-navigation > .saito-menu > li:nth-child(1) { width:139px; }
  .saito-navigation > .saito-menu > li:nth-child(2),
  .saito-navigation > .saito-menu > li:nth-child(3) { width:174px; }
  .saito-navigation > .saito-menu > li:nth-child(4) { width:156px; }
  .saito-navigation > .saito-menu > li:nth-child(5) { width:106px; }
  .saito-logo { transform:translateY(2.41px); }
}

@media(max-width:600px) { .saito-header > .saito-logo { transform:translateY(-.423px); } }

/* Supplied XD raster icon, including its lettering; no recreated chat artwork. */
.saito-chat { position:fixed; right:15px; bottom:16px; z-index:35; width:100px; height:100px; padding:0; border:0; border-radius:13px; background:none; box-shadow:0 3px 3px #00000029; }
.saito-chat img { display:block; width:100px; height:100px; }
.saito-chat:disabled { cursor:default; opacity:1; }
@media(min-width:1600px) { .saito-chat { bottom:14px; } }
@media(max-width:600px) { .saito-chat { right:16px; bottom:18px; } }
