/* === カリブの学港 — 本家 https://karibunogakko.jp/ より取得 === */
/* === Figma Sites 出力CSS（自動生成部分：手で編集しない） === */

#container {
  display: none;
}

@layer figreset, figoverridable, reset, theme, base, figutils, components, utilities;

@layer figoverridable {
  :root {
    font-synthesis: none
  }
}

@layer figutils {
  :root {
    --banner-height: 48px;
    --banner-height-v2: 40px;
    --full-height-with-banner: calc(100dvh - var(--banner-height))
  }

  @media (max-width:600px) {
    .banner-v2-container {
      left: 0 !important;
      right: 0 !important;
      margin: 0 auto !important
    }
  }

  .wrapper-with-banner .min-h-screen {
    min-height: var(--full-height-with-banner)
  }

  .wrapper-with-banner .h-screen {
    height: var(--full-height-with-banner)
  }
}

@layer figreset {
  :root {
    font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji')
  }

  html {
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: transparent;
    -webkit-font-smoothing: antialiased;
    width: 100%
  }

  body {
    margin: 0;
    width: 100%
  }

  body:has([data-page-overflowx='hidden']) {
    overflow-x: hidden
  }

  body:has([data-page-overflowx='auto']) {
    overflow-x: auto
  }
}

@layer figutils {
  #container {
    width: 100%
  }
}

@layer figreset {

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

  a {
    color: inherit;
    text-decoration: none
  }

  button {
    border: none;
    background: none;
    padding: 0
  }

  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  p {
    font-size: inherit;
    font-weight: inherit
  }

  blockquote,
  dl,
  dd,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  hr,
  figure,
  p,
  pre {
    margin: 0
  }

  ol,
  ul,
  menu {
    list-style: none;
    margin: 0;
    padding-inline-start: 0
  }
}

@layer figutils {
  :is(.textContents ul, ul.textContents)>li:before {
    content: '\2022';
    margin-left: -1.5em;
    display: inline-block;
    text-align: center;
    width: 1.5em;
    -webkit-background-clip: var(--list-marker-background-clip);
    -webkit-text-fill-color: var(--list-marker-text-fill-color);
    background-clip: var(--list-marker-background-clip);
    color: var(--list-marker-color);
    font-size: var(--list-marker-font-size);
    line-height: var(--list-marker-line-height);
    vertical-align: var(--list-marker-vertical-align)
  }

  :is(.textContents ol, ol.textContents)>li::marker {
    color: var(--list-marker-color);
    font-size: var(--list-marker-font-size);
    line-height: var(--list-marker-line-height);
    vertical-align: var(--list-marker-vertical-align)
  }

  :is(.textContents, .textContents *).adjustLetterSpacing:after {
    content: '';
    margin-left: calc(var(--letter-spacing) * -1)
  }
}

@layer figutils {
  #container .embed {
    border: none
  }
}

@layer figutils {
  #container .marquee-container {
    overflow-x: hidden;
    display: flex;
    flex-direction: row;
    position: relative;
    width: var(--width);
    transform: var(--transform);

    &:hover div {
      animation-play-state: var(--pause-on-hover)
    }

    &:active div {
      animation-play-state: var(--pause-on-click)
    }

    &:focus-within>* {
      animation-play-state: paused !important
    }
  }

  #container .marquee {
    flex: 0 0 auto;
    min-width: var(--min-width);
    display: flex;
    flex-direction: row;
    align-items: center;
    animation: scroll var(--duration) linear var(--delay) var(--iteration-count);
    animation-delay: var(--delay);
    animation-direction: var(--direction);
    animation-timing-function: var(--timing-function)
  }

  #container .marquee.reduced-motion {
    @media (prefers-reduced-motion:reduce) {
      animation: none
    }
  }

  @keyframes scroll {
    0% {
      transform: translateX(0%)
    }

    100% {
      transform: translateX(-100%)
    }
  }

  #container .marquee-initial-child-container {
    flex: 0 0 auto;
    display: flex;
    min-width: auto;
    flex-direction: row;
    align-items: center
  }

  #container .marquee-child {
    transform: var(--transform)
  }
}

@layer figutils {
  .code-behavior-wrapper>* {
    width: 100%;
    height: 100%
  }
}

@layer figreset {
  :root {
    --100dvw: 100vw;
    --100dvh: 100vh
  }

  @supports (width:100dvw) {
    :root {
      --100dvw: 100dvw;
      --100dvh: 100dvh
    }
  }
}

@layer figutils {
  .bypass-link {
    position: fixed;
    top: 16px;
    left: 0;
    right: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 0;
    pointer-events: none
  }

  .bypass-link:focus-within {
    opacity: 1;
    z-index: 10000
  }

  .bypass-link>a {
    background-color: #000;
    color: #fff;
    border: 1px solid #fff;
    padding: 12px 16px;
    font-size: 16px;
    border-radius: 12px;
    pointer-events: auto
  }
}

@layer figreset {
  :root {
    text-align: left;

    button {
      text-align: left
    }
  }
}

@font-face {
  font-family: "Noto Sans JP:Bold";
  font-style: normal;
  src: url("fonts/NotoSansJP-VF_2-english.woff2");
  font-display: block;
  unicode-range: U+0000-00A0, U+00A2-00A9, U+00AC-00AE, U+00B0-00B7, U+00B9-00BA, U+00BC-00BE, U+00D7, U+00F7, U+2000-206F, U+2074, U+20AC, U+2122, U+2190-21BB, U+2212, U+2215, U+F8FF, U+FEFF, U+FFFD
}

@font-face {
  font-family: "Noto Sans JP:Bold";
  font-style: normal;
  src: url("fonts/NotoSansJP-VF_2-rest-latin.woff2");
  font-display: block;
  unicode-range: U+00A1, U+00AA-00AB, U+00AF, U+00B8, U+00BB, U+00BF-00D6, U+00D8-00F6, U+00F8-00FF, U+0131, U+0152-0153, U+02B0-02FF
}

@font-face {
  font-family: "Noto Sans JP:Bold";
  font-style: normal;
  src: url("fonts/NotoSansJP-VF_2-latin-extended-a.woff2");
  font-display: block;
  unicode-range: U+0100-0130, U+0132-0151, U+0154-017F
}

@font-face {
  font-family: "Noto Sans JP:Bold";
  font-style: normal;
  src: url("fonts/NotoSansJP-VF_2-latin-extended-b.woff2");
  font-display: block;
  unicode-range: U+0180-024F
}

@font-face {
  font-family: "Noto Sans JP:Bold";
  font-style: normal;
  src: url("fonts/NotoSansJP-VF_2-latin-extended-additional.woff2");
  font-display: block;
  unicode-range: U+1E00-1EFF
}

@font-face {
  font-family: "Noto Sans JP:Bold";
  font-style: normal;
  src: url("fonts/NotoSansJP-VF_2-rest.woff2");
  font-display: block;
  unicode-range: U+0250-02AF, U+0300-1DFF, U+1F00-1FFF, U+2070-2073, U+2075-20AB, U+20AD-2121, U+2123-218F, U+21BC-2211, U+2213-2214, U+2216-F8FE, U+F900-FEFE, U+FF00-FFFC, U+FFFE-FFFF
}

@font-face {
  font-family: "Noto Sans JP";
  font-style: Regular;
  src: url("fonts/NotoSansJP-VF_2-english.woff2");
  font-display: block;
  unicode-range: U+0000-00A0, U+00A2-00A9, U+00AC-00AE, U+00B0-00B7, U+00B9-00BA, U+00BC-00BE, U+00D7, U+00F7, U+2000-206F, U+2074, U+20AC, U+2122, U+2190-21BB, U+2212, U+2215, U+F8FF, U+FEFF, U+FFFD
}

@font-face {
  font-family: "Noto Sans JP";
  font-style: Regular;
  src: url("fonts/NotoSansJP-VF_2-rest-latin.woff2");
  font-display: block;
  unicode-range: U+00A1, U+00AA-00AB, U+00AF, U+00B8, U+00BB, U+00BF-00D6, U+00D8-00F6, U+00F8-00FF, U+0131, U+0152-0153, U+02B0-02FF
}

@font-face {
  font-family: "Noto Sans JP";
  font-style: Regular;
  src: url("fonts/NotoSansJP-VF_2-latin-extended-a.woff2");
  font-display: block;
  unicode-range: U+0100-0130, U+0132-0151, U+0154-017F
}

@font-face {
  font-family: "Noto Sans JP";
  font-style: Regular;
  src: url("fonts/NotoSansJP-VF_2-latin-extended-b.woff2");
  font-display: block;
  unicode-range: U+0180-024F
}

@font-face {
  font-family: "Noto Sans JP";
  font-style: Regular;
  src: url("fonts/NotoSansJP-VF_2-latin-extended-additional.woff2");
  font-display: block;
  unicode-range: U+1E00-1EFF
}

@font-face {
  font-family: "Noto Sans JP";
  font-style: Regular;
  src: url("fonts/NotoSansJP-VF_2-rest.woff2");
  font-display: block;
  unicode-range: U+0250-02AF, U+0300-1DFF, U+1F00-1FFF, U+2070-2073, U+2075-20AB, U+20AD-2121, U+2123-218F, U+21BC-2211, U+2213-2214, U+2216-F8FE, U+F900-FEFE, U+FF00-FFFC, U+FFFE-FFFF
}

@font-face {
  font-family: "Noto Sans JP:Regular";
  font-style: normal;
  src: url("fonts/NotoSansJP-VF_2-english.woff2");
  font-display: block;
  unicode-range: U+0000-00A0, U+00A2-00A9, U+00AC-00AE, U+00B0-00B7, U+00B9-00BA, U+00BC-00BE, U+00D7, U+00F7, U+2000-206F, U+2074, U+20AC, U+2122, U+2190-21BB, U+2212, U+2215, U+F8FF, U+FEFF, U+FFFD
}

@font-face {
  font-family: "Noto Sans JP:Regular";
  font-style: normal;
  src: url("fonts/NotoSansJP-VF_2-rest-latin.woff2");
  font-display: block;
  unicode-range: U+00A1, U+00AA-00AB, U+00AF, U+00B8, U+00BB, U+00BF-00D6, U+00D8-00F6, U+00F8-00FF, U+0131, U+0152-0153, U+02B0-02FF
}

@font-face {
  font-family: "Noto Sans JP:Regular";
  font-style: normal;
  src: url("fonts/NotoSansJP-VF_2-latin-extended-a.woff2");
  font-display: block;
  unicode-range: U+0100-0130, U+0132-0151, U+0154-017F
}

@font-face {
  font-family: "Noto Sans JP:Regular";
  font-style: normal;
  src: url("fonts/NotoSansJP-VF_2-latin-extended-b.woff2");
  font-display: block;
  unicode-range: U+0180-024F
}

@font-face {
  font-family: "Noto Sans JP:Regular";
  font-style: normal;
  src: url("fonts/NotoSansJP-VF_2-latin-extended-additional.woff2");
  font-display: block;
  unicode-range: U+1E00-1EFF
}

@font-face {
  font-family: "Noto Sans JP:Regular";
  font-style: normal;
  src: url("fonts/NotoSansJP-VF_2-rest.woff2");
  font-display: block;
  unicode-range: U+0250-02AF, U+0300-1DFF, U+1F00-1FFF, U+2070-2073, U+2075-20AB, U+20AD-2121, U+2123-218F, U+21BC-2211, U+2213-2214, U+2216-F8FE, U+F900-FEFE, U+FF00-FFFC, U+FFFE-FFFF
}

@font-face {
  font-family: "Zen Maru Gothic:Black";
  font-style: normal;
  src: url("fonts/ZenMaruGothic-Black_1-english.woff2");
  font-display: block;
  unicode-range: U+0000-00A0, U+00A2-00A9, U+00AC-00AE, U+00B0-00B7, U+00B9-00BA, U+00BC-00BE, U+00D7, U+00F7, U+2000-206F, U+2074, U+20AC, U+2122, U+2190-21BB, U+2212, U+2215, U+F8FF, U+FEFF, U+FFFD
}

@font-face {
  font-family: "Zen Maru Gothic:Black";
  font-style: normal;
  src: url("fonts/ZenMaruGothic-Black_1-rest-latin.woff2");
  font-display: block;
  unicode-range: U+00A1, U+00AA-00AB, U+00AF, U+00B8, U+00BB, U+00BF-00D6, U+00D8-00F6, U+00F8-00FF, U+0131, U+0152-0153, U+02B0-02FF
}

@font-face {
  font-family: "Zen Maru Gothic:Black";
  font-style: normal;
  src: url("fonts/ZenMaruGothic-Black_1-latin-extended-a.woff2");
  font-display: block;
  unicode-range: U+0100-0130, U+0132-0151, U+0154-017F
}

@font-face {
  font-family: "Zen Maru Gothic:Black";
  font-style: normal;
  src: url("fonts/ZenMaruGothic-Black_1-latin-extended-b.woff2");
  font-display: block;
  unicode-range: U+0180-024F
}

@font-face {
  font-family: "Zen Maru Gothic:Black";
  font-style: normal;
  src: url("fonts/ZenMaruGothic-Black_1-latin-extended-additional.woff2");
  font-display: block;
  unicode-range: U+1E00-1EFF
}

@font-face {
  font-family: "Zen Maru Gothic:Black";
  font-style: normal;
  src: url("fonts/ZenMaruGothic-Black_1-rest.woff2");
  font-display: block;
  unicode-range: U+0250-02AF, U+0300-1DFF, U+1F00-1FFF, U+2070-2073, U+2075-20AB, U+20AD-2121, U+2123-218F, U+21BC-2211, U+2213-2214, U+2216-F8FE, U+F900-FEFE, U+FF00-FFFC, U+FFFE-FFFF
}

@font-face {
  font-family: "Zen Maru Gothic";
  font-style: Bold;
  src: url("fonts/ZenMaruGothic-Bold_1-english.woff2");
  font-display: block;
  font-weight: 700;
  unicode-range: U+0000-00A0, U+00A2-00A9, U+00AC-00AE, U+00B0-00B7, U+00B9-00BA, U+00BC-00BE, U+00D7, U+00F7, U+2000-206F, U+2074, U+20AC, U+2122, U+2190-21BB, U+2212, U+2215, U+F8FF, U+FEFF, U+FFFD
}

@font-face {
  font-family: "Zen Maru Gothic";
  font-style: Bold;
  src: url("fonts/ZenMaruGothic-Bold_1-rest-latin.woff2");
  font-display: block;
  font-weight: 700;
  unicode-range: U+00A1, U+00AA-00AB, U+00AF, U+00B8, U+00BB, U+00BF-00D6, U+00D8-00F6, U+00F8-00FF, U+0131, U+0152-0153, U+02B0-02FF
}

@font-face {
  font-family: "Zen Maru Gothic";
  font-style: Bold;
  src: url("fonts/ZenMaruGothic-Bold_1-latin-extended-a.woff2");
  font-display: block;
  font-weight: 700;
  unicode-range: U+0100-0130, U+0132-0151, U+0154-017F
}

@font-face {
  font-family: "Zen Maru Gothic";
  font-style: Bold;
  src: url("fonts/ZenMaruGothic-Bold_1-latin-extended-b.woff2");
  font-display: block;
  font-weight: 700;
  unicode-range: U+0180-024F
}

@font-face {
  font-family: "Zen Maru Gothic";
  font-style: Bold;
  src: url("fonts/ZenMaruGothic-Bold_1-latin-extended-additional.woff2");
  font-display: block;
  font-weight: 700;
  unicode-range: U+1E00-1EFF
}

@font-face {
  font-family: "Zen Maru Gothic";
  font-style: Bold;
  src: url("fonts/ZenMaruGothic-Bold_1-rest.woff2");
  font-display: block;
  font-weight: 700;
  unicode-range: U+0250-02AF, U+0300-1DFF, U+1F00-1FFF, U+2070-2073, U+2075-20AB, U+20AD-2121, U+2123-218F, U+21BC-2211, U+2213-2214, U+2216-F8FE, U+F900-FEFE, U+FF00-FFFC, U+FFFE-FFFF
}

@font-face {
  font-family: "Zen Maru Gothic:Regular";
  font-style: normal;
  src: url("fonts/ZenMaruGothic-Regular_2-english.woff2");
  font-display: block;
  unicode-range: U+0000-00A0, U+00A2-00A9, U+00AC-00AE, U+00B0-00B7, U+00B9-00BA, U+00BC-00BE, U+00D7, U+00F7, U+2000-206F, U+2074, U+20AC, U+2122, U+2190-21BB, U+2212, U+2215, U+F8FF, U+FEFF, U+FFFD
}

@font-face {
  font-family: "Zen Maru Gothic:Regular";
  font-style: normal;
  src: url("fonts/ZenMaruGothic-Regular_2-rest-latin.woff2");
  font-display: block;
  unicode-range: U+00A1, U+00AA-00AB, U+00AF, U+00B8, U+00BB, U+00BF-00D6, U+00D8-00F6, U+00F8-00FF, U+0131, U+0152-0153, U+02B0-02FF
}

@font-face {
  font-family: "Zen Maru Gothic:Regular";
  font-style: normal;
  src: url("fonts/ZenMaruGothic-Regular_2-latin-extended-a.woff2");
  font-display: block;
  unicode-range: U+0100-0130, U+0132-0151, U+0154-017F
}

@font-face {
  font-family: "Zen Maru Gothic:Regular";
  font-style: normal;
  src: url("fonts/ZenMaruGothic-Regular_2-latin-extended-b.woff2");
  font-display: block;
  unicode-range: U+0180-024F
}

@font-face {
  font-family: "Zen Maru Gothic:Regular";
  font-style: normal;
  src: url("fonts/ZenMaruGothic-Regular_2-latin-extended-additional.woff2");
  font-display: block;
  unicode-range: U+1E00-1EFF
}

@font-face {
  font-family: "Zen Maru Gothic:Regular";
  font-style: normal;
  src: url("fonts/ZenMaruGothic-Regular_2-rest.woff2");
  font-display: block;
  unicode-range: U+0250-02AF, U+0300-1DFF, U+1F00-1FFF, U+2070-2073, U+2075-20AB, U+20AD-2121, U+2123-218F, U+21BC-2211, U+2213-2214, U+2216-F8FE, U+F900-FEFE, U+FF00-FFFC, U+FFFE-FFFF
}

@font-face {
  font-family: "Nunito:Black";
  font-style: normal;
  src: url("fonts/Nunito_wght__1-english.woff2");
  font-display: block;
  unicode-range: U+0000-00A0, U+00A2-00A9, U+00AC-00AE, U+00B0-00B7, U+00B9-00BA, U+00BC-00BE, U+00D7, U+00F7, U+2000-206F, U+2074, U+20AC, U+2122, U+2190-21BB, U+2212, U+2215, U+F8FF, U+FEFF, U+FFFD
}

@font-face {
  font-family: "Nunito:Black";
  font-style: normal;
  src: url("fonts/Nunito_wght__1-rest-latin.woff2");
  font-display: block;
  unicode-range: U+00A1, U+00AA-00AB, U+00AF, U+00B8, U+00BB, U+00BF-00D6, U+00D8-00F6, U+00F8-00FF, U+0131, U+0152-0153, U+02B0-02FF
}

@font-face {
  font-family: "Nunito:Black";
  font-style: normal;
  src: url("fonts/Nunito_wght__1-latin-extended-a.woff2");
  font-display: block;
  unicode-range: U+0100-0130, U+0132-0151, U+0154-017F
}

@font-face {
  font-family: "Nunito:Black";
  font-style: normal;
  src: url("fonts/Nunito_wght__1-latin-extended-b.woff2");
  font-display: block;
  unicode-range: U+0180-024F
}

@font-face {
  font-family: "Nunito:Black";
  font-style: normal;
  src: url("fonts/Nunito_wght__1-latin-extended-additional.woff2");
  font-display: block;
  unicode-range: U+1E00-1EFF
}

@font-face {
  font-family: "Nunito:Black";
  font-style: normal;
  src: url("fonts/Nunito_wght__1-rest.woff2");
  font-display: block;
  unicode-range: U+0250-02AF, U+0300-1DFF, U+1F00-1FFF, U+2070-2073, U+2075-20AB, U+20AD-2121, U+2123-218F, U+21BC-2211, U+2213-2214, U+2216-F8FE, U+F900-FEFE, U+FF00-FFFC, U+FFFE-FFFF
}

@font-face {
  font-family: "Nunito";
  font-style: Regular;
  src: url("fonts/Nunito_wght__1-english.woff2");
  font-display: block;
  unicode-range: U+0000-00A0, U+00A2-00A9, U+00AC-00AE, U+00B0-00B7, U+00B9-00BA, U+00BC-00BE, U+00D7, U+00F7, U+2000-206F, U+2074, U+20AC, U+2122, U+2190-21BB, U+2212, U+2215, U+F8FF, U+FEFF, U+FFFD
}

@font-face {
  font-family: "Nunito";
  font-style: Regular;
  src: url("fonts/Nunito_wght__1-rest-latin.woff2");
  font-display: block;
  unicode-range: U+00A1, U+00AA-00AB, U+00AF, U+00B8, U+00BB, U+00BF-00D6, U+00D8-00F6, U+00F8-00FF, U+0131, U+0152-0153, U+02B0-02FF
}

@font-face {
  font-family: "Nunito";
  font-style: Regular;
  src: url("fonts/Nunito_wght__1-latin-extended-a.woff2");
  font-display: block;
  unicode-range: U+0100-0130, U+0132-0151, U+0154-017F
}

@font-face {
  font-family: "Nunito";
  font-style: Regular;
  src: url("fonts/Nunito_wght__1-latin-extended-b.woff2");
  font-display: block;
  unicode-range: U+0180-024F
}

@font-face {
  font-family: "Nunito";
  font-style: Regular;
  src: url("fonts/Nunito_wght__1-latin-extended-additional.woff2");
  font-display: block;
  unicode-range: U+1E00-1EFF
}

@font-face {
  font-family: "Nunito";
  font-style: Regular;
  src: url("fonts/Nunito_wght__1-rest.woff2");
  font-display: block;
  unicode-range: U+0250-02AF, U+0300-1DFF, U+1F00-1FFF, U+2070-2073, U+2075-20AB, U+20AD-2121, U+2123-218F, U+21BC-2211, U+2213-2214, U+2216-F8FE, U+F900-FEFE, U+FF00-FFFC, U+FFFE-FFFF
}

@font-face {
  font-family: "Zen Maru Gothic:Bold";
  font-style: normal;
  src: url("fonts/ZenMaruGothic-Bold_1-english.woff2");
  font-display: block;
  unicode-range: U+0000-00A0, U+00A2-00A9, U+00AC-00AE, U+00B0-00B7, U+00B9-00BA, U+00BC-00BE, U+00D7, U+00F7, U+2000-206F, U+2074, U+20AC, U+2122, U+2190-21BB, U+2212, U+2215, U+F8FF, U+FEFF, U+FFFD
}

@font-face {
  font-family: "Zen Maru Gothic:Bold";
  font-style: normal;
  src: url("fonts/ZenMaruGothic-Bold_1-rest-latin.woff2");
  font-display: block;
  unicode-range: U+00A1, U+00AA-00AB, U+00AF, U+00B8, U+00BB, U+00BF-00D6, U+00D8-00F6, U+00F8-00FF, U+0131, U+0152-0153, U+02B0-02FF
}

@font-face {
  font-family: "Zen Maru Gothic:Bold";
  font-style: normal;
  src: url("fonts/ZenMaruGothic-Bold_1-latin-extended-a.woff2");
  font-display: block;
  unicode-range: U+0100-0130, U+0132-0151, U+0154-017F
}

@font-face {
  font-family: "Zen Maru Gothic:Bold";
  font-style: normal;
  src: url("fonts/ZenMaruGothic-Bold_1-latin-extended-b.woff2");
  font-display: block;
  unicode-range: U+0180-024F
}

@font-face {
  font-family: "Zen Maru Gothic:Bold";
  font-style: normal;
  src: url("fonts/ZenMaruGothic-Bold_1-latin-extended-additional.woff2");
  font-display: block;
  unicode-range: U+1E00-1EFF
}

@font-face {
  font-family: "Zen Maru Gothic:Bold";
  font-style: normal;
  src: url("fonts/ZenMaruGothic-Bold_1-rest.woff2");
  font-display: block;
  unicode-range: U+0250-02AF, U+0300-1DFF, U+1F00-1FFF, U+2070-2073, U+2075-20AB, U+20AD-2121, U+2123-218F, U+21BC-2211, U+2213-2214, U+2216-F8FE, U+F900-FEFE, U+FF00-FFFC, U+FFFE-FFFF
}

@font-face {
  font-family: "Nunito:Bold";
  font-style: normal;
  src: url("fonts/Nunito_wght__1-english.woff2");
  font-display: block;
  unicode-range: U+0000-00A0, U+00A2-00A9, U+00AC-00AE, U+00B0-00B7, U+00B9-00BA, U+00BC-00BE, U+00D7, U+00F7, U+2000-206F, U+2074, U+20AC, U+2122, U+2190-21BB, U+2212, U+2215, U+F8FF, U+FEFF, U+FFFD
}

@font-face {
  font-family: "Nunito:Bold";
  font-style: normal;
  src: url("fonts/Nunito_wght__1-rest-latin.woff2");
  font-display: block;
  unicode-range: U+00A1, U+00AA-00AB, U+00AF, U+00B8, U+00BB, U+00BF-00D6, U+00D8-00F6, U+00F8-00FF, U+0131, U+0152-0153, U+02B0-02FF
}

@font-face {
  font-family: "Nunito:Bold";
  font-style: normal;
  src: url("fonts/Nunito_wght__1-latin-extended-a.woff2");
  font-display: block;
  unicode-range: U+0100-0130, U+0132-0151, U+0154-017F
}

@font-face {
  font-family: "Nunito:Bold";
  font-style: normal;
  src: url("fonts/Nunito_wght__1-latin-extended-b.woff2");
  font-display: block;
  unicode-range: U+0180-024F
}

@font-face {
  font-family: "Nunito:Bold";
  font-style: normal;
  src: url("fonts/Nunito_wght__1-latin-extended-additional.woff2");
  font-display: block;
  unicode-range: U+1E00-1EFF
}

@font-face {
  font-family: "Nunito:Bold";
  font-style: normal;
  src: url("fonts/Nunito_wght__1-rest.woff2");
  font-display: block;
  unicode-range: U+0250-02AF, U+0300-1DFF, U+1F00-1FFF, U+2070-2073, U+2075-20AB, U+20AD-2121, U+2123-218F, U+21BC-2211, U+2213-2214, U+2216-F8FE, U+F900-FEFE, U+FF00-FFFC, U+FFFE-FFFF
}

@font-face {
  font-family: "Nunito:Regular";
  font-style: normal;
  src: url("fonts/Nunito_wght__1-english.woff2");
  font-display: block;
  unicode-range: U+0000-00A0, U+00A2-00A9, U+00AC-00AE, U+00B0-00B7, U+00B9-00BA, U+00BC-00BE, U+00D7, U+00F7, U+2000-206F, U+2074, U+20AC, U+2122, U+2190-21BB, U+2212, U+2215, U+F8FF, U+FEFF, U+FFFD
}

@font-face {
  font-family: "Nunito:Regular";
  font-style: normal;
  src: url("fonts/Nunito_wght__1-rest-latin.woff2");
  font-display: block;
  unicode-range: U+00A1, U+00AA-00AB, U+00AF, U+00B8, U+00BB, U+00BF-00D6, U+00D8-00F6, U+00F8-00FF, U+0131, U+0152-0153, U+02B0-02FF
}

@font-face {
  font-family: "Nunito:Regular";
  font-style: normal;
  src: url("fonts/Nunito_wght__1-latin-extended-a.woff2");
  font-display: block;
  unicode-range: U+0100-0130, U+0132-0151, U+0154-017F
}

@font-face {
  font-family: "Nunito:Regular";
  font-style: normal;
  src: url("fonts/Nunito_wght__1-latin-extended-b.woff2");
  font-display: block;
  unicode-range: U+0180-024F
}

@font-face {
  font-family: "Nunito:Regular";
  font-style: normal;
  src: url("fonts/Nunito_wght__1-latin-extended-additional.woff2");
  font-display: block;
  unicode-range: U+1E00-1EFF
}

@font-face {
  font-family: "Nunito:Regular";
  font-style: normal;
  src: url("fonts/Nunito_wght__1-rest.woff2");
  font-display: block;
  unicode-range: U+0250-02AF, U+0300-1DFF, U+1F00-1FFF, U+2070-2073, U+2075-20AB, U+20AD-2121, U+2123-218F, U+21BC-2211, U+2213-2214, U+2216-F8FE, U+F900-FEFE, U+FF00-FFFC, U+FFFE-FFFF
}

@media (width < 1280px) {
  [data-breakpoint-id="node-0_4"] {
    display: none !important
  }
}

@media (width >=1280px) or (width < 800px) {
  [data-breakpoint-id="node-34_230"] {
    display: none !important
  }
}

@media (width >=800px) {
  [data-breakpoint-id="node-0_6"] {
    display: none !important
  }
}

@media (max-width: 799px) {
  body:has([data-breakpoint-id="node-0_6"]) {
    background-color: #fff
  }
}

@media (max-width: 1279px),
(min-width: 800px) {
  body:has([data-breakpoint-id="node-34_230"]) {
    background-color: #fff
  }
}

@media (min-width: 1280px) {
  body:has([data-breakpoint-id="node-0_4"]) {
    background-color: #fff
  }
}

#container .css-i9h3z {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

#container .css-50jkpj {
  min-width: var(--content-min-width);
  width: 100%;
}

#container .css-rn2hh9 {
  --content-min-width: 100%;
  --content-min-height: var(--100dvh);
  align-content: stretch;
  overflow: clip;
  background-color: #fff;
}

#container .css-bz03sc {
  width: 152px;
  height: 233px;
  left: -30px;
  top: -48px;
}

#container .css-roiesn {
  position: absolute;
  display: block;
}

#container .css-trglf0 {
  position: absolute;
}

#container .css-nckd7j {
  top: -1.72%;
  left: -2.63%;
  right: -2.63%;
  bottom: -1.72%;
}

#container .css-8zr56v {
  display: block;
}

#container .css-ez8men {
  max-width: none;
  width: 100%;
  height: 100%;
}

#container .css-l2oxgg {
  width: 239.708px;
  height: 276.276px;
  right: 235.29px;
  top: 1191px;
}

#container .css-grtgjx {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
}

#container .css-ayg824 {
  flex: 0 0 auto;
}

#container .css-4dxgof {
  transform: matrix(-0.895838975906372, -0.444378763437271, -0.444378763437271, 0.895838975906372, 0, 0);
}

#container .css-vf8mzy {
  position: relative;
  display: block;
}

#container .css-wfgx9l {
  width: 152px;
  height: 233px;
}

#container .css-zfg8cq {
  width: 238.472px;
  height: 348.235px;
  left: 235px;
  top: 2px;
}

#container .css-e2m09f {
  transform: matrix(0.93511164188385, -0.354353249073029, 0.354353249073029, 0.93511164188385, 0, 0);
}

#container .css-9e0srd {
  width: 133px;
  height: 322px;
}

#container .css-803h29 {
  top: -1.24%;
  left: -3.01%;
  right: -3.01%;
  bottom: -1.24%;
}

#container .css-poyy8f {
  width: 146.461px;
  height: 327.322px;
  left: -62.99px;
  top: 730.46px;
}

#container .css-vrqhrn {
  transform: matrix(-0.999110341072083, -0.0421721935272217, -0.0421721935272217, 0.999110341072083, 0, 0);
}

#container .css-lycl2n {
  width: 127px;
  height: 441px;
  left: -30px;
  top: 294px;
}

#container .css-fq9otb {
  top: -0.91%;
  left: -3.15%;
  right: -3.15%;
  bottom: -0.91%;
}

#container .css-tm7znr {
  width: 205.225px;
  height: 389.872px;
  left: 257px;
  top: 1134px;
}

#container .css-nm1kkb {
  transform: matrix(0.962712347507477, 0.270527094602585, 0.270527094602585, -0.962712347507477, 0, 0);
}

#container .css-cveuan {
  width: 107.894px;
  height: 374.654px;
}

#container .css-58ctb {
  top: -1.07%;
  left: -3.71%;
  right: -3.71%;
  bottom: -1.07%;
}

#container .css-rzh8af {
  width: 155px;
  height: 281px;
  left: 280px;
  top: 486px;
}

#container .css-tv48n3 {
  top: -1.42%;
  left: -2.58%;
  right: -2.58%;
  bottom: -1.42%;
}

#container .css-byt4hi {
  width: 276.523px;
  height: 320.766px;
  left: 224.24px;
  top: 818.12px;
}

#container .css-q8hz0z {
  transform: matrix(-0.860532462596893, -0.50939553976059, 0.50939553976059, -0.860532462596893, 0, 0);
}

#container .css-snwobj {
  width: 155px;
  height: 281px;
}

#container .css-5knerd {
  position: relative;
  flex-shrink: 0;
}

#container .css-v27th6 {
  width: 100%;
}

#container .css-881fyl {
  display: flex;
  flex-direction: row;
  align-items: center;
}

#container .css-j9f0op {
  width: 100%;
  height: 100%;
}

#container .css-g3rtih {
  display: flex;
  align-items: center;
  position: relative;
  padding: 32px;
}

#container .css-paq0kv {
  align-content: stretch;
}

#container .css-bdggf1 {
  height: 478px;
  min-width: 1px;
}

#container .css-aj22dw {
  position: relative;
  flex: 1 0 0;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 32px;
}

#container .css-o7b50b {
  overflow: hidden;
  inset: 0px;
  pointer-events: none;
}

#container .css-bvqdh0 {
  position: absolute;
  border-radius: 32px;
}

#container .css-gt447b {
  width: 319.68%;
  height: 100%;
  top: 0%;
  left: -30.13%;
  max-width: none;
}

#container .css-wizddr {
  width: 159.66px;
  height: 65.691px;
  right: 90.38px;
  top: 24.07px;
}

#container .css-ixlo3x {
  transform: translateX(50%);
}

#container .css-bhdt7n {
  transform: matrix(0.978147566318512, 0.207911685109138, -0.207911685109138, 0.978147566318512, 0, 0);
}

#container .css-dmjyxd {
  font-family: "Zen Maru Gothic:Bold", sans-serif;
  word-break: break-word;
  font-style: normal;
  font-size: 12px;
  letter-spacing: 0px;
  text-align: center;
  line-height: 0;
  white-space: nowrap;
}

#container .css-9jtq1y {
  color: #fff;
  -webkit-text-fill-color: #fff;
  --letter-spacing: 0px;
}

#container .css-8jchzs {
  display: block;
  margin-bottom: 0px;
}

#container .css-jpsr3q {
  line-height: normal;
}

#container .css-nmi7eq {
  width: 186px;
  height: 235px;
  left: calc(50% + 0.5px);
  top: calc(50% - 35.5px);
}

#container .css-lep7rq {
  transform: translateX(-50%) translateY(-50%);
  overflow: clip;
}

#container .css-w18lkd {
  left: 0px;
  right: 0px;
  top: 0px;
  bottom: 0.12%;
}

#container .css-wixxpz {
  inset: 0;
}

#container .css-4j52ru {
  left: 18.47%;
  right: 77.55%;
  top: 81.62%;
  bottom: 12.87%;
}

#container .css-es2p7w {
  left: 9.11%;
  right: 82.93%;
  top: 75.06%;
  bottom: 19.11%;
}

#container .css-tzn6qh {
  display: block;
  position: absolute;
}

#container .css-7kv4dh {
  inset: 0px;
}

#container .css-r67cch {
  left: 7.9%;
  right: 82.77%;
  top: 79.77%;
  bottom: 14.5%;
}

#container .css-45a0xh {
  left: 3.55%;
  right: 83.86%;
  top: 75.44%;
  bottom: 18.78%;
}

#container .css-5ztnt1 {
  left: 16.93%;
  right: 72.48%;
  top: 83.15%;
  bottom: 8.14%;
}

#container .css-pcha2x {
  left: 40.25%;
  right: 57.17%;
  top: 87.5%;
  bottom: 10.55%;
}

#container .css-88swtj {
  left: 36.91%;
  right: 59.4%;
  top: 84.79%;
  bottom: 12.53%;
}

#container .css-ekm5qo {
  left: 41.28%;
  right: 50.21%;
  top: 90.47%;
  bottom: 4.17%;
}

#container .css-lbkhxv {
  left: 27.3%;
  right: 60.19%;
  top: 86.59%;
  bottom: 4.37%;
}

#container .css-2mw7d8 {
  left: 52.88%;
  right: 37.93%;
  top: 89.24%;
  bottom: 2.96%;
}

#container .css-hiiil8 {
  left: 53.03%;
  right: 41.06%;
  top: 86.87%;
  bottom: 3.38%;
}

#container .css-f0vqle {
  left: 59.16%;
  right: 37.76%;
  top: 85.39%;
  bottom: 12.25%;
}

#container .css-y8g31v {
  left: 62.3%;
  right: 36%;
  top: 87.18%;
  bottom: 11.48%;
}

#container .css-a4dfd {
  left: 62.7%;
  right: 32.93%;
  top: 88.87%;
  bottom: 4.21%;
}

#container .css-2dw9j8 {
  left: 67.83%;
  right: 24.35%;
  top: 88.1%;
  bottom: 7.3%;
}

#container .css-7vtcam {
  left: 73.71%;
  right: 17.38%;
  top: 79.98%;
  bottom: 14.84%;
}

#container .css-hhf6w1 {
  left: 77.62%;
  right: 13.24%;
  top: 85.8%;
  bottom: 9.2%;
}

#container .css-2wbw3j {
  left: 86.34%;
  right: 3.6%;
  top: 78.87%;
  bottom: 13.79%;
}

#container .css-khc345 {
  left: 84.97%;
  right: 10.8%;
  top: 75.29%;
  bottom: 21.18%;
}

#container .css-jqqz7g {
  left: 11.74%;
  right: 85.23%;
  top: 11.62%;
  bottom: 86.77%;
}

#container .css-t92b3p {
  left: 13.05%;
  right: 84.28%;
  top: 13.62%;
  bottom: 85.19%;
}

#container .css-enr39r {
  left: 14.75%;
  right: 82.41%;
  top: 14.61%;
  bottom: 82.2%;
}

#container .css-u3tde2 {
  left: 15.34%;
  right: 79.56%;
  top: 8.82%;
  bottom: 86.85%;
}

#container .css-vlne5p {
  left: 16.14%;
  right: 75.8%;
  top: 10.6%;
  bottom: 84.27%;
}

#container .css-f1dwk {
  left: 25.33%;
  right: 69.56%;
  top: 9.51%;
  bottom: 87.48%;
}

#container .css-1amgo2 {
  left: 30.47%;
  right: 59.3%;
  top: 4.62%;
  bottom: 88.44%;
}

#container .css-ei77jp {
  left: 40.69%;
  right: 51.79%;
  top: 2.89%;
  bottom: 90.56%;
}

#container .css-as3z19 {
  left: 50.05%;
  right: 45.77%;
  top: 4.78%;
  bottom: 91.33%;
}

#container .css-1cdlfp {
  left: 54.92%;
  right: 43.17%;
  top: 5.5%;
  bottom: 91.49%;
}

#container .css-6mf82c {
  left: 56.3%;
  right: 42.63%;
  top: 4.34%;
  bottom: 93.98%;
}

#container .css-lgn6pv {
  left: 57.59%;
  right: 41.3%;
  top: 5.31%;
  bottom: 93.05%;
}

#container .css-fl0lei {
  left: 59.15%;
  right: 30.79%;
  top: 2.82%;
  bottom: 88.71%;
}

#container .css-pmadd6 {
  left: 72.85%;
  right: 24.3%;
  top: 6.63%;
  bottom: 92.19%;
}

#container .css-fbq4jm {
  left: 70.71%;
  right: 24.38%;
  top: 8.45%;
  bottom: 87.58%;
}

#container .css-okob6g {
  left: 80.11%;
  right: 17.54%;
  top: 8.89%;
  bottom: 89.51%;
}

#container .css-crsps5 {
  left: 78.7%;
  right: 18.77%;
  top: 10.06%;
  bottom: 88.4%;
}

#container .css-aca0pr {
  left: 76.05%;
  right: 18.98%;
  top: 13.2%;
  bottom: 85.67%;
}

#container .css-vqyv14 {
  left: 82.31%;
  right: 11.51%;
  top: 9.8%;
  bottom: 85.94%;
}

#container .css-nwcbdr {
  left: 80.44%;
  right: 16.95%;
  top: 12.57%;
  bottom: 86.53%;
}

#container .css-54e5sn {
  left: 84.23%;
  right: 13.57%;
  top: 14.08%;
  bottom: 83.94%;
}

#container .css-xb1wpp {
  left: 80.73%;
  right: 14.22%;
  top: 14.15%;
  bottom: 82.19%;
}

#container .css-e569gk {
  left: 53.69%;
  right: 12.74%;
  top: 14.19%;
  bottom: 66.23%;
}

#container .css-d0mvlu {
  left: 16.77%;
  right: 53.33%;
  top: 14.52%;
  bottom: 66.57%;
}

#container .css-l13n8d {
  left: 30.91%;
  right: 30.27%;
  top: 28.29%;
  bottom: 18.7%;
}

#container .css-rghg9i {
  left: 18.52%;
  right: 4.6%;
  top: 36.54%;
  bottom: 18.77%;
}

#container .css-4qipk9 {
  left: 5.1%;
  right: 4.7%;
  top: 21.09%;
  bottom: 18.31%;
}

#container .css-hvt2e {
  left: 38.97%;
  right: 37.91%;
  top: 11.9%;
  bottom: 71.7%;
}

#container .css-nwz0w9 {
  left: 25.44%;
  right: 66.61%;
  top: 47.15%;
  bottom: 42.38%;
}

#container .css-hy2fpp {
  left: 48.55%;
  right: 47.54%;
  top: 34.24%;
  bottom: 62.23%;
}

#container .css-j5j5a2 {
  left: 29.96%;
  right: 61.54%;
  top: 47.29%;
  bottom: 41.77%;
}

#container .css-yblwvq {
  mix-blend-mode: multiply;
}

#container .css-l9rqjv {
  left: 35.08%;
  right: 49.15%;
  top: 47.33%;
  bottom: 41.12%;
}

#container .css-c0kyyi {
  left: 57.64%;
  right: 40.01%;
  top: 36.95%;
  bottom: 59.56%;
}

#container .css-mqkzr3 {
  left: 59.17%;
  right: 24.92%;
  top: 33.41%;
  bottom: 58.1%;
}

#container .css-r83rwt {
  left: 66.51%;
  right: 31.5%;
  top: 40.63%;
  bottom: 57.88%;
}

#container .css-wu54a0 {
  width: 203px;
  height: 47.543px;
  left: 50%;
  top: 377px;
}

#container .css-8hhw9a {
  transform: translateX(-50%);
}

#container .css-tsjae0 {
  transform: translateX(-50%);
  color: #fff;
  -webkit-text-fill-color: #fff;
  --letter-spacing: 0px;
}

#container .css-f08mp5 {
  left: calc(50% + 78.67px);
  top: calc(50% - 16.22px);
}

#container .css-nfbsrj {
  font-family: "Zen Maru Gothic:Regular", sans-serif;
  word-break: break-word;
  font-style: normal;
  font-size: 22.639px;
  letter-spacing: 0px;
  text-align: center;
  line-height: 0;
  white-space: nowrap;
}

#container .css-k8xcsy {
  letter-spacing: -3.52px;
  line-height: normal;
}

#container .css-v4058c {
  transform: translateX(-50%);
  font-variation-settings: normal;
  color: #fff;
  -webkit-text-fill-color: #fff;
  --letter-spacing: 0px;
}

#container .css-jfb52p {
  left: calc(50% - 29.5px);
  top: calc(50% - 23.77px);
}

#container .css-9pfu5y {
  font-family: "Nunito:Regular", sans-serif;
  word-break: break-word;
  font-weight: 400;
  font-size: 0px;
  letter-spacing: 0px;
  text-align: center;
  line-height: 0;
  white-space: nowrap;
}

#container .css-fojh1a {
  font-family: "Nunito:Bold", sans-serif;
  word-break: break-word;
  font-weight: 700;
  font-size: 34.714px;
  letter-spacing: -1.0414px;
  line-height: normal;
}

#container .css-b54yok {
  font-variation-settings: normal;
}

#container .css-7sdnzu {
  font-family: "Nunito:Bold", sans-serif;
  word-break: break-word;
  font-weight: 700;
  font-size: 34.714px;
  letter-spacing: -0.6943px;
  line-height: normal;
}

#container .css-6mcf0m {
  font-family: "Nunito:Bold", sans-serif;
  word-break: break-word;
  font-weight: 700;
  font-size: 34.714px;
  letter-spacing: -1.3886px;
  line-height: normal;
}

#container .css-8r1b0x {
  font-family: "Nunito:Bold", sans-serif;
  word-break: break-word;
  font-weight: 700;
  font-size: 34.714px;
  letter-spacing: 3.1242px;
  line-height: normal;
}

#container .css-fkzfmz {
  font-family: "Nunito:Bold", sans-serif;
  word-break: break-word;
  font-weight: 700;
  font-size: 17.357px;
  letter-spacing: 2.7771px;
  line-height: normal;
}

#container .css-g5yxmp {
  font-family: "Nunito:Bold", sans-serif;
  word-break: break-word;
  font-weight: 700;
  font-size: 34.714px;
  letter-spacing: 2.0828px;
  line-height: normal;
}

#container .css-u7v53q {
  font-family: "Nunito:Bold", sans-serif;
  word-break: break-word;
  font-weight: 700;
  font-size: 34.714px;
  line-height: normal;
}

#container .css-a7fh0x {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

#container .css-p01alx {
  padding-left: 32px;
  padding-right: 32px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
}

#container .css-wc1msa {
  position: relative;
  flex-shrink: 0;
  display: block;
}

#container .css-59rdls {
  width: min-content;
  min-width: 100%;
}

#container .css-jtqu2 {
  font-family: "Zen Maru Gothic:Bold", sans-serif;
  word-break: break-word;
  font-style: normal;
  font-size: 0px;
  letter-spacing: 0px;
  text-align: center;
  line-height: 0;
}

#container .css-k3u7fc {
  color: #3a3840;
  -webkit-text-fill-color: #3a3840;
  --letter-spacing: 0px;
}

#container .css-subxkr {
  font-size: 18px;
  line-height: 32px;
}

#container .css-ftdflx {
  font-size: 18px;
  line-height: normal;
}

#container .css-s8476r {
  font-family: "Zen Maru Gothic:Regular", sans-serif;
  word-break: break-word;
  font-style: normal;
  font-size: 16px;
  line-height: 52px;
}

#container .css-qumps9 {
  font-family: "Zen Maru Gothic:Regular", sans-serif;
  word-break: break-word;
  font-style: normal;
  font-size: 16px;
  line-height: 25px;
}

#container .css-48xtey {
  width: 116px;
  height: 116px;
  right: -20px;
  top: -13px;
}

#container .css-eojxfz {
  width: 116px;
  height: 116px;
  left: -20px;
  top: -13px;
}

#container .css-pwy5v5 {
  display: flex;
  flex-direction: column;
  align-items: center;
}

#container .css-g45lqz {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
  position: relative;
  padding: 32px 32px 64px;
}

#container .css-ei0nrd {
  position: relative;
  flex-shrink: 0;
  padding-left: 20px;
  padding-right: 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  border-radius: 23px;
}

#container .css-a67jcl {
  align-content: stretch;
  background-color: #f00;
}

#container .css-nf5ac4 {
  display: block;
  position: relative;
  flex-shrink: 0;
}

#container .css-md6yv7 {
  font-family: "Zen Maru Gothic:Bold", sans-serif;
  word-break: break-word;
  font-style: normal;
  font-size: 18px;
  letter-spacing: 0px;
  text-align: center;
  line-height: 39px;
  white-space: nowrap;
}

#container .css-ig89ty {
  width: 19.436px;
  height: 10.104px;
  left: 96.28px;
  bottom: -10.1px;
}

#container .css-97b1w9 {
  position: relative;
  flex-shrink: 0;
  padding-bottom: 10px;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 24px;
}

#container .css-h5pewn {
  align-content: flex-start;
  overflow: clip;
}

#container .css-i5heww {
  width: 224px;
}

#container .css-zfhum9 {
  position: relative;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}

#container .css-hf9sha {
  cursor: pointer;
  align-content: stretch;
}

#container .css-luc2p7 {
  height: 136.35px;
  width: 100%;
}

#container .css-yqf5ja {
  position: relative;
  flex-shrink: 0;
  display: block;
  border-radius: 24px;
}

#container .css-r0azwh {
  inset: 0px;
  pointer-events: none;
}

#container .css-u79xnw {
  border-radius: 24px;
}

#container .css-pfnotb {
  background-color: #d9d9d9;
}

#container .css-20bpzg {
  position: absolute;
  border-radius: 24px;
}

#container .css-qhd53h {
  object-fit: cover;
}

#container .css-ph3aqz {
  transform: translateX(-50%);
  aspect-ratio: 640/443;
}

#container .css-1celsd {
  left: 50%;
  top: 44.07px;
  bottom: 44.07px;
}

#container .css-scd4s8 {
  object-fit: cover;
  inset: 0px;
  pointer-events: none;
}

#container .css-eyipq8 {
  font-family: "Zen Maru Gothic:Bold", sans-serif;
  word-break: break-word;
  font-style: normal;
  font-size: 14px;
  letter-spacing: 0px;
  text-align: center;
  line-height: normal;
}

#container .css-qmzt21 {
  position: relative;
  flex-shrink: 0;
  border-radius: 60px;
}

#container .css-134pm3 {
  cursor: pointer;
}

#container .css-a71dt6 {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  position: relative;
  border-radius: inherit;
  padding: 8px 32px;
}

#container .css-2gbjjk {
  align-content: stretch;
  overflow: clip;
}

#container .css-v149ep {
  font-family: "Zen Maru Gothic:Black", sans-serif;
  word-break: break-word;
  font-style: normal;
  font-size: 16px;
  letter-spacing: 0px;
  text-align: center;
  line-height: 35px;
  white-space: nowrap;
}

#container .css-l96146 {
  color: #f00;
  -webkit-text-fill-color: #f00;
  --letter-spacing: 0px;
}

#container .css-px2hj8 {
  width: 21.12px;
  height: 14.619px;
}

#container .css-fqalc5 {
  border-style: solid;
  border-color: #f00;
  border-top-width: 4px;
  border-bottom-width: 4px;
  border-left-width: 4px;
  border-right-width: 4px;
  position: absolute;
  border-radius: 64px;
}

#container .css-ip7lq7 {
  inset: -4px;
}

#container .css-5eam1e {
  pointer-events: none;
}

#container .css-vk4m {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  position: relative;
  padding: 32px;
}

#container .css-tvkvlv {
  max-width: 418px;
  width: 100%;
}

#container .css-8jdnpc {
  position: relative;
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 32px;
}

#container .css-egfdgj {
  align-content: stretch;
  background-color: #eeedec;
  overflow: clip;
}

#container .css-3g6yqg {
  height: 154px;
  min-width: 1px;
}

#container .css-uwf2km {
  position: relative;
  flex: 1 0 0;
  display: block;
}

#container .css-v3e5l {
  display: flex;
  flex: 1 0 0;
  flex-direction: row;
  align-self: stretch;
  align-items: center;
}

#container .css-7y6cel {
  position: relative;
  flex: 1 0 0;
}

#container .css-7hylni {
  min-width: 1px;
  height: 100%;
}

#container .css-pqmm9x {
  padding-left: 8px;
  padding-right: 8px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 8px;
  position: relative;
}

#container .css-9uyk0n {
  position: relative;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

#container .css-glq5q6 {
  font-family: "Zen Maru Gothic:Bold", sans-serif;
  word-break: break-word;
  font-style: normal;
  font-size: 12px;
  letter-spacing: 0px;
  text-align: center;
  line-height: normal;
}

#container .css-ev66it {
  font-family: "Zen Maru Gothic:Bold", sans-serif;
  word-break: break-word;
  font-style: normal;
  font-size: 20px;
  letter-spacing: 0px;
  text-align: center;
  line-height: normal;
}

#container .css-saflr1 {
  position: relative;
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 17px;
  padding: 4px 12px;
}

#container .css-a774ol {
  align-content: stretch;
  background-color: #fff;
}

#container .css-pcssu9 {
  font-family: "Zen Maru Gothic:Regular", sans-serif;
  word-break: break-word;
  font-style: normal;
  font-size: 10px;
  letter-spacing: 0px;
  text-align: center;
  line-height: normal;
  white-space: nowrap;
}

#container .css-2rvckw {
  position: relative;
  flex: 1 0 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 8px;
}

#container .css-8akcyw {
  background-color: rgba(114, 177, 193, 0.24);
}

#container .css-gxdil1 {
  overflow: clip;
}

#container .css-e1d1o2 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: inherit;
}

#container .css-ud28iw {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 16px;
  position: relative;
  padding: 64px 32px;
}

#container .css-738w0u {
  font-family: "Zen Maru Gothic:Black", sans-serif;
  word-break: break-word;
  font-style: normal;
  font-size: 24px;
  letter-spacing: 0px;
  text-align: center;
  line-height: 35px;
  white-space: nowrap;
}

#container .css-5t3io0 {
  color: #007f9e;
  -webkit-text-fill-color: #007f9e;
  --letter-spacing: 0px;
}

#container .css-ttnkbe {
  font-family: "Zen Maru Gothic:Regular", sans-serif;
  word-break: break-word;
  font-style: normal;
  font-size: 16px;
  letter-spacing: 0px;
  text-align: center;
  line-height: 22px;
}

#container .css-d1un8n {
  position: relative;
  flex-shrink: 0;
  border-radius: 32px;
}

#container .css-atgcpy {
  background-color: #fff;
}

#container .css-1kkr58 {
  display: flex;
  flex-direction: column;
  align-items: center;
  border-radius: inherit;
}

#container .css-ig74ep {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  position: relative;
  padding: 32px 24px;
}

#container .css-n8r9b9 {
  position: relative;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
}

#container .css-61cqk2 {
  opacity: 0.3;
  font-variation-settings: normal;
  color: #00773c;
  -webkit-text-fill-color: #00773c;
  --letter-spacing: 0px;
}

#container .css-c8yjzk {
  font-family: "Nunito:Black", sans-serif;
  word-break: break-word;
  font-weight: 900;
  font-size: 24px;
  letter-spacing: 0px;
  text-align: center;
  line-height: 35px;
}

#container .css-cl7upp {
  opacity: 0.6;
  color: #3a3840;
  -webkit-text-fill-color: #3a3840;
  --letter-spacing: 0px;
}

#container .css-fcfwmp {
  font-family: "Zen Maru Gothic:Bold", sans-serif;
  word-break: break-word;
  font-style: normal;
  font-size: 14px;
  letter-spacing: 0px;
  text-align: center;
  line-height: 0;
}

#container .css-3xo105 {
  line-height: 22px;
}

#container .css-mesbg2 {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  border-radius: inherit;
}

#container .css-ghvxw9 {
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 24px;
  padding-right: 8px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 4px;
  position: relative;
}

#container .css-l1mcow {
  display: block;
  position: relative;
  flex: 1 0 0;
}

#container .css-2fgpwh {
  min-width: 1px;
}

#container .css-hsxgzo {
  font-family: "Zen Maru Gothic:Black", sans-serif;
  word-break: break-word;
  font-style: normal;
  font-size: 16px;
  letter-spacing: 0px;
  text-align: center;
  line-height: 21px;
}

#container .css-xpehqu {
  color: #00773c;
  -webkit-text-fill-color: #00773c;
  --letter-spacing: 0px;
}

#container .css-401zd7 {
  width: 25px;
  height: 25px;
}

#container .css-940mva {
  position: relative;
  flex-shrink: 0;
  display: block;
  border-radius: 60px;
}

#container .css-rt42to {
  position: absolute;
  border-radius: 60px;
}

#container .css-gu6uxv {
  border-style: solid;
  border-color: #00773c;
  border-top-width: 4px;
  border-bottom-width: 4px;
  border-left-width: 4px;
  border-right-width: 4px;
  position: absolute;
  border-radius: 64px;
}

#container .css-knslmh {
  position: relative;
  flex-shrink: 0;
  padding-top: 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
}

#container .css-erlbk1 {
  width: 207px;
  height: 102px;
}

#container .css-4ntmu {
  position: relative;
  flex-shrink: 0;
  display: block;
  border-radius: 32px;
}

#container .css-dnz5st {
  border-style: solid;
  border-color: #ddecf0;
  border-top-width: 8px;
  border-bottom-width: 8px;
  border-left-width: 8px;
  border-right-width: 8px;
  position: absolute;
  border-radius: 40px;
}

#container .css-4dq3en {
  inset: -8px;
}

#container .css-7ys6tk {
  position: relative;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 16px;
}

#container .css-dczajm {
  position: relative;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
}

#container .css-cmkbs {
  aspect-ratio: 2940/1440;
}

#container .css-rknqh2 {
  position: relative;
  flex-shrink: 0;
  display: block;
  border-radius: 12px;
}

#container .css-5kh4r0 {
  position: absolute;
  border-radius: 12px;
}

#container .css-tzojcy {
  font-family: "Zen Maru Gothic:Bold", sans-serif;
  word-break: break-word;
  font-style: normal;
  font-size: 14px;
  letter-spacing: 0px;
  text-align: center;
  line-height: 30px;
}

#container .css-jhbhvn {
  color: #007f9e;
  -webkit-text-fill-color: #007f9e;
  --letter-spacing: 0px;
  text-decoration-line: underline;
  text-underline-position: from-font;
  text-decoration-thickness: from-font;
  text-decoration-style: solid;
}

#container .css-liobgr {
  position: relative;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
}

#container .css-sz2f8 {
  position: relative;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

#container .css-26fl67 {
  padding-top: 32px;
  padding-bottom: 32px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  position: relative;
  border-radius: inherit;
}

#container .css-hp2zu1 {
  width: 200px;
  height: 127px;
}

#container .css-1oxkje {
  position: relative;
  flex-shrink: 0;
  display: block;
  border-radius: 16px;
}

#container .css-qxs0us {
  border-radius: 16px;
}

#container .css-fwdtfw {
  position: absolute;
  border-radius: 16px;
}

#container .css-n8r97t {
  position: relative;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
}

#container .css-j34nld {
  align-content: stretch;
  background-color: #ddecf0;
}

#container .css-3m6ap8 {
  font-family: "Zen Maru Gothic:Bold", sans-serif;
  word-break: break-word;
  font-style: normal;
  font-size: 12px;
  letter-spacing: 0px;
  line-height: 15px;
  white-space: nowrap;
}

#container .css-fd6m1g {
  font-family: "Zen Maru Gothic:Bold", sans-serif;
  word-break: break-word;
  font-style: normal;
  font-size: 20px;
  letter-spacing: 0px;
  line-height: normal;
}

#container .css-b0x69g {
  font-family: "Zen Maru Gothic:Regular", sans-serif;
  word-break: break-word;
  font-style: normal;
  font-size: 14px;
  letter-spacing: 0px;
  line-height: 30px;
}

#container .css-337j3k {
  position: relative;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}

#container .css-7vm0wa {
  position: relative;
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 20px;
  padding: 4px 20px 5px;
}

#container .css-c8usf6 {
  border-style: solid;
  border-color: #007f9e;
  border-top-width: 1px;
  border-bottom-width: 1px;
  border-left-width: 1px;
  border-right-width: 1px;
  position: absolute;
  border-radius: 20px;
}

#container .css-ggwoeh {
  inset: 0px;
}

#container .css-voxp15 {
  font-family: "Zen Maru Gothic:Regular", sans-serif;
  word-break: break-word;
  font-style: normal;
  font-size: 14px;
  letter-spacing: 0px;
  text-align: center;
  line-height: 30px;
  white-space: nowrap;
}

#container .css-fytlav {
  border-style: solid;
  border-color: rgba(0, 127, 158, 0.2);
  border-top-width: 0px;
  border-bottom-width: 2px;
  border-left-width: 0px;
  border-right-width: 0px;
  position: absolute;
}

#container .css-lin04v {
  background-color: #3a3840;
}

#container .css-xj9bo4 {
  width: 144px;
  height: 57px;
}

#container .css-33n2d4 {
  left: 0.27%;
  right: 0.02%;
  top: 0.44%;
  bottom: 0.37%;
}

#container .css-bz2tic {
  position: absolute;
  display: contents;
}

#container .css-faq9ly {
  left: 0px;
  right: 0px;
  top: 0.01%;
  bottom: -0.01%;
}

#container .css-jvw67u {
  left: 1.63%;
  right: 61.41%;
  top: 4.11%;
  bottom: 4.1%;
}

#container .css-dfeq9v {
  left: 0px;
  right: 59.8%;
  top: 0.01%;
  bottom: -0.01%;
}

#container .css-r5v5i6 {
  left: 21.51%;
  right: 64.75%;
  top: 7.12%;
  bottom: 67.14%;
}

#container .css-ch0pt2 {
  left: 6.4%;
  right: 81.36%;
  top: 7.55%;
  bottom: 67.58%;
}

#container .css-pcg80v {
  left: 12.18%;
  right: 71.93%;
  top: 25.67%;
  bottom: 4.6%;
}

#container .css-pcxrxd {
  left: 7.12%;
  right: 61.42%;
  top: 36.5%;
  bottom: 4.7%;
}

#container .css-e0s1lq {
  left: 1.61%;
  right: 61.47%;
  top: 16.16%;
  bottom: 4.12%;
}

#container .css-g75pn3 {
  left: 15.48%;
  right: 75.05%;
  top: 4.09%;
  bottom: 74.32%;
}

#container .css-avul4o {
  left: 9.95%;
  right: 86.79%;
  top: 50.48%;
  bottom: 35.74%;
}

#container .css-3pwl15 {
  left: 19.41%;
  right: 78.99%;
  top: 33.5%;
  bottom: 61.86%;
}

#container .css-qg8ish {
  left: 11.8%;
  right: 84.72%;
  top: 50.66%;
  bottom: 34.94%;
}

#container .css-h3ljly {
  left: 13.88%;
  right: 79.66%;
  top: 50.71%;
  bottom: 34.1%;
}

#container .css-mpdvv9 {
  left: 23.13%;
  right: 75.91%;
  top: 37.06%;
  bottom: 58.35%;
}

#container .css-k5r3wl {
  left: 23.75%;
  right: 69.74%;
  top: 32.4%;
  bottom: 56.43%;
}

#container .css-sdoheg {
  left: 26.76%;
  right: 72.43%;
  top: 41.9%;
  bottom: 56.14%;
}

#container .css-ww0ckp {
  left: 45.38%;
  right: 43.06%;
  top: 15.42%;
  bottom: 74.46%;
}

#container .css-p3yr9o {
  left: 51.73%;
  right: 41.1%;
  top: 16.13%;
  bottom: 53.55%;
}

#container .css-4e12hq {
  left: 44.56%;
  right: 46.66%;
  top: 8.13%;
  bottom: 55.04%;
}

#container .css-2fk3du {
  left: 62.27%;
  right: 33.62%;
  top: 12.06%;
  bottom: 67.15%;
}

#container .css-wm1bqz {
  left: 63.2%;
  right: 28.12%;
  top: 11.3%;
  bottom: 51.07%;
}

#container .css-pb4dkd {
  left: 90.09%;
  right: 0px;
  top: 26.92%;
  bottom: 53.59%;
}

#container .css-d3oi2k {
  left: 45.14%;
  right: 44.23%;
  top: 68.33%;
  bottom: 2.64%;
}

#container .css-a1n814 {
  left: 45.29%;
  right: 47.87%;
  top: 59.51%;
  bottom: 4.21%;
}

#container .css-39qi9n {
  left: 52.39%;
  right: 44.05%;
  top: 54%;
  bottom: 37.21%;
}

#container .css-ytegqs {
  left: 56.03%;
  right: 42%;
  top: 60.65%;
  bottom: 34.36%;
}

#container .css-nyl8l6 {
  left: 56.49%;
  right: 38.46%;
  top: 66.95%;
  bottom: 7.38%;
}

#container .css-rmpvmb {
  left: 63.47%;
  right: 28%;
  top: 79.8%;
  bottom: 3.76%;
}

#container .css-wb620h {
  left: 74.69%;
  right: 14.38%;
  top: 58.59%;
  bottom: 26.58%;
}

#container .css-1rnl3z {
  left: 74.46%;
  right: 14.39%;
  top: 82.94%;
  bottom: 3.28%;
}

#container .css-yrcm3h {
  left: 89.08%;
  right: 0px;
  top: 71.23%;
  bottom: 2.63%;
}

#container .css-14ml1a {
  left: 90.62%;
  right: 3.85%;
  top: 54.34%;
  bottom: 33.15%;
}

#container .css-bnoysv {
  left: 87.86%;
  right: 9.29%;
  top: 8.4%;
  bottom: 84.01%;
}

#container .css-khnfa0 {
  left: 82.96%;
  right: 12.91%;
  top: 1.47%;
  bottom: 87.97%;
}

#container .css-wrik8o {
  left: 74.88%;
  right: 11.49%;
  top: 14.71%;
  bottom: 50.67%;
}

#container .css-fisk7d {
  font-family: "Noto Sans JP:Regular", sans-serif;
  word-break: break-word;
  font-weight: 400;
  font-size: 10px;
  letter-spacing: 0px;
  line-height: normal;
  white-space: nowrap;
}

#container .css-8ltpka {
  font-variation-settings: normal;
  color: #f8f8f8;
  -webkit-text-fill-color: #f8f8f8;
  --letter-spacing: 0px;
}

#container .css-mmv99 {
  font-family: "Noto Sans JP:Bold", sans-serif;
  word-break: break-word;
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 0px;
  line-height: normal;
  white-space: nowrap;
}

#container .css-viq8qv {
  font-family: "Noto Sans JP:Regular", sans-serif;
  word-break: break-word;
  font-weight: 400;
  font-size: 12px;
  letter-spacing: 0px;
  line-height: normal;
  white-space: nowrap;
}

#container .css-emt8c2 {
  font-family: "Noto Sans JP:Bold", sans-serif;
  word-break: break-word;
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 0px;
  line-height: 0;
  white-space: nowrap;
}

#container .css-3b2abf {
  font-family: "Noto Sans JP:Bold", sans-serif;
  word-break: break-word;
  font-weight: 700;
  line-height: normal;
}

#container .css-8d99fu {
  font-variation-settings: normal;
  text-decoration-line: underline;
  text-decoration-skip-ink: none;
  text-underline-position: from-font;
  text-decoration-thickness: from-font;
  text-decoration-style: solid;
  cursor: pointer;
}

#container .css-qeuxu2 {
  font-family: "Noto Sans JP:Regular", sans-serif;
  word-break: break-word;
  font-weight: 400;
  font-size: 12px;
  letter-spacing: 0px;
  text-align: left;
  line-height: normal;
  white-space: nowrap;
}

#container .css-wzvkvh {
  font-variation-settings: normal;
  color: #f8f8f8;
  -webkit-text-fill-color: #f8f8f8;
  --letter-spacing: 0px;
  text-decoration-line: underline;
  text-underline-position: from-font;
  text-decoration-thickness: from-font;
  text-decoration-style: solid;
}

#container .css-nxrdjc {
  font-family: "Noto Sans JP:Regular", sans-serif;
  word-break: break-word;
  font-weight: 400;
  font-size: 8px;
  letter-spacing: 0px;
  line-height: normal;
  white-space: nowrap;
}

#container .css-915erv {
  width: 325.984px;
  height: 317.131px;
  left: 585px;
  top: -64px;
}

#container .css-465vo3 {
  transform: matrix(-0.68329793214798, 0.730139672756195, -0.730139672756195, -0.68329793214798, 0, 0);
}

#container .css-uxsuot {
  width: 146.461px;
  height: 327.322px;
  left: 7.01px;
  top: 670.46px;
}

#container .css-dvpw40 {
  width: 205.225px;
  height: 389.872px;
  left: 637px;
  top: 914px;
}

#container .css-9lnbk5 {
  width: 155px;
  height: 281px;
  left: 680px;
  top: 486px;
}

#container .css-w0oubq {
  width: 276.523px;
  height: 320.766px;
  left: 624.24px;
  top: 818.12px;
}

#container .css-7stcqf {
  width: 186.339px;
  height: 76.966px;
  right: 148.79px;
  top: 41.36px;
}

#container .css-henkhd {
  font-family: "Zen Maru Gothic:Bold", sans-serif;
  word-break: break-word;
  font-style: normal;
  font-size: 14px;
  letter-spacing: 0px;
  text-align: center;
  line-height: 0;
  white-space: nowrap;
}

#container .css-5bpkyo {
  width: 186px;
  height: 235px;
  left: 50%;
  top: calc(50% - 35.5px);
}

#container .css-k3ol10 {
  width: 203px;
  height: 47.543px;
  left: calc(50% - 0.5px);
  top: 377px;
}

#container .css-svzbcu {
  font-size: 18px;
  line-height: 35px;
}

#container .css-rs65za {
  font-family: "Zen Maru Gothic:Regular", sans-serif;
  word-break: break-word;
  font-style: normal;
  font-size: 16px;
  line-height: 44px;
}

#container .css-qvqayz {
  font-family: "Zen Maru Gothic:Regular", sans-serif;
  word-break: break-word;
  font-style: normal;
  font-size: 16px;
  line-height: 27px;
}

#container .css-1v3cme {
  font-family: "Zen Maru Gothic:Bold", sans-serif;
  word-break: break-word;
  font-style: normal;
  font-size: 16px;
  line-height: 27px;
}

#container .css-xodhuw {
  width: 116px;
  height: 116px;
  right: 66px;
  top: 0px;
}

#container .css-jzu9gt {
  width: 116px;
  height: 116px;
  left: 66px;
  top: 0px;
}

#container .css-uxmp47 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
  position: relative;
  padding: 32px 88px 64px;
}

#container .css-nl1lia {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  position: relative;
  padding: 32px;
}

#container .css-nxtrrs {
  max-width: 418px;
  min-width: 1px;
}

#container .css-oicgsi {
  font-family: "Zen Maru Gothic:Bold", sans-serif;
  word-break: break-word;
  font-style: normal;
  font-size: 16px;
  letter-spacing: 0px;
  text-align: center;
  line-height: normal;
}

#container .css-3x48es {
  line-height: 23px;
}

#container .css-m8x5kg {
  position: relative;
  flex-shrink: 0;
  padding-top: 16px;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 24px;
}

#container .css-ymoqb8 {
  position: relative;
  flex: 1 0 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 16px;
}

#container .css-qf0xdz {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
  border-radius: inherit;
}

#container .css-ntjuhk {
  padding-top: 44px;
  padding-bottom: 44px;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 24px;
  position: relative;
  border-radius: inherit;
}

#container .css-cxj0d1 {
  position: relative;
  flex: 1 0 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
}

#container .css-xhos14 {
  border-style: solid;
  border-color: rgba(0, 127, 158, 0.2);
  border-top-width: 0px;
  border-bottom-width: 3px;
  border-left-width: 0px;
  border-right-width: 0px;
  position: absolute;
}

#container .css-3neyh3 {
  width: 262px;
  height: 401px;
  left: 1052px;
  top: 498px;
}

#container .css-rooizl {
  top: -1%;
  left: -1.53%;
  right: -1.53%;
  bottom: -1%;
}

#container .css-4dwh8n {
  width: 262px;
  height: 401px;
  left: 23px;
  top: 1120px;
}

#container .css-t7q9ms {
  width: 596.378px;
  height: 674.241px;
  left: -146px;
  top: 447px;
}

#container .css-jvdo11 {
  transform: matrix(0.802850842475891, -0.596179962158203, 0.596179962158203, 0.802850842475891, 0, 0);
}

#container .css-bg0601 {
  width: 265.732px;
  height: 642.481px;
}

#container .css-7zrgip {
  top: -0.62%;
  left: -1.51%;
  right: -1.51%;
  bottom: -0.62%;
}

#container .css-g5ar4u {
  width: 594.861px;
  height: 674.953px;
  left: 943px;
  top: 811px;
}

#container .css-odjkr1 {
  transform: matrix(0.80536562204361, 0.592778384685516, 0.592778384685516, -0.80536562204361, 0, 0);
}

#container .css-qlxujv {
  width: 631.971px;
  height: 499.891px;
  left: 820px;
  top: -170px;
}

#container .css-k8xdj9 {
  transform: matrix(0.545741021633148, -0.837953865528107, 0.837953865528107, 0.545741021633148, 0, 0);
}

#container .css-wtpuxd {
  width: 183px;
  height: 635px;
}

#container .css-fch00v {
  top: -0.63%;
  left: -2.19%;
  right: -2.19%;
  bottom: -0.63%;
}

#container .css-igbc4u {
  width: 284.101px;
  height: 656.342px;
  left: -80px;
  top: 903px;
}

#container .css-u8vjhv {
  transform: matrix(-0.986614167690277, 0.163071990013123, 0.163071990013123, 0.986614167690277, 0, 0);
}

#container .css-4xjph1 {
  width: 206.728px;
  height: 337.363px;
  left: 255.74px;
  top: 575.35px;
}

#container .css-v1kla5 {
  transform: matrix(-0.995757222175598, -0.0920194834470749, 0.0920194834470749, -0.995757222175598, 0, 0);
}

#container .css-ppkbvh {
  width: 177.818px;
  height: 322.368px;
}

#container .css-4zn001 {
  top: -1.24%;
  left: -2.25%;
  right: -2.25%;
  bottom: -1.24%;
}

#container .css-1jahm0 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  position: relative;
  padding: 32px 88px;
}

#container .css-vqi6pb {
  height: 581px;
  width: 100%;
}

#container .css-4my4lc {
  position: relative;
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 60px;
}

#container .css-hv0f38 {
  width: 238.113px;
  height: 75.84px;
  right: 217.49px;
  top: 96.66px;
}

#container .css-5lbywl {
  transform: matrix(0.994674563407898, 0.103065304458141, -0.103065304458141, 0.994674563407898, 0, 0);
}

#container .css-8fylbp {
  font-family: "Zen Maru Gothic:Bold", sans-serif;
  word-break: break-word;
  font-style: normal;
  font-size: 18px;
  letter-spacing: 0px;
  text-align: center;
  line-height: 0;
  white-space: nowrap;
}

#container .css-6uan63 {
  width: 258px;
  height: 327px;
  left: 50%;
  top: calc(50% - 33px);
}

#container .css-lxvz2l {
  width: 329px;
  height: 77.052px;
  left: calc(50% + 0.5px);
  top: 474px;
}

#container .css-yzwdm0 {
  left: calc(50% + 127.94px);
  top: calc(50% - 26.3px);
}

#container .css-tf23jq {
  font-family: "Zen Maru Gothic:Regular", sans-serif;
  word-break: break-word;
  font-style: normal;
  font-size: 36.691px;
  letter-spacing: 0px;
  text-align: center;
  line-height: 0;
  white-space: nowrap;
}

#container .css-v55jvj {
  left: calc(50% - 48px);
  top: calc(50% - 38.53px);
}

#container .css-7t8dei {
  font-family: "Nunito:Bold", sans-serif;
  word-break: break-word;
  font-weight: 700;
  font-size: 56.26px;
  letter-spacing: -1.6878px;
  line-height: normal;
}

#container .css-mgf0an {
  font-family: "Nunito:Bold", sans-serif;
  word-break: break-word;
  font-weight: 700;
  font-size: 56.26px;
  letter-spacing: -1.1252px;
  line-height: normal;
}

#container .css-vqvnft {
  font-family: "Nunito:Bold", sans-serif;
  word-break: break-word;
  font-weight: 700;
  font-size: 56.26px;
  letter-spacing: -2.2504px;
  line-height: normal;
}

#container .css-s515s9 {
  font-family: "Nunito:Bold", sans-serif;
  word-break: break-word;
  font-weight: 700;
  font-size: 56.26px;
  letter-spacing: 5.0634px;
  line-height: normal;
}

#container .css-b69tm5 {
  font-family: "Nunito:Bold", sans-serif;
  word-break: break-word;
  font-weight: 700;
  font-size: 28.13px;
  letter-spacing: 4.5008px;
  line-height: normal;
}

#container .css-c132c7 {
  font-family: "Nunito:Bold", sans-serif;
  word-break: break-word;
  font-weight: 700;
  font-size: 56.26px;
  letter-spacing: 3.3756px;
  line-height: normal;
}

#container .css-vtf3ai {
  font-family: "Nunito:Bold", sans-serif;
  word-break: break-word;
  font-weight: 700;
  font-size: 56.26px;
  line-height: normal;
}

#container .css-gmkj6w {
  padding-bottom: 32px;
  padding-left: 88px;
  padding-right: 88px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}

#container .css-gi7dj9 {
  width: 211.995px;
  height: 211.995px;
}

#container .css-sy6hqa {
  font-size: 18px;
  line-height: 39px;
}

#container .css-qmi1q8 {
  font-size: 16px;
  line-height: 39px;
}

#container .css-sabdk7 {
  font-family: "Zen Maru Gothic:Regular", sans-serif;
  word-break: break-word;
  font-style: normal;
  font-size: 16px;
  line-height: 56px;
}

#container .css-rakqzq {
  font-family: "Zen Maru Gothic:Regular", sans-serif;
  word-break: break-word;
  font-style: normal;
  font-size: 16px;
  line-height: 33px;
}

#container .css-c9ajq6 {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  position: relative;
  padding: 32px 88px 64px;
}

#container .css-915ewf {
  max-width: 418px;
  height: 200px;
  min-width: 1px;
}

#container .css-2n9pws {
  position: relative;
  flex: 1 0 0;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 60px;
}

#container .css-rewtj5 {
  width: 197.333px;
  height: 100%;
}

#container .css-fm2v2b {
  position: relative;
  flex-shrink: 0;
  padding-left: 8px;
  padding-right: 8px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 8px;
}

#container .css-ocnmqe {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 16px;
  position: relative;
  padding: 64px 88px;
}

#container .css-ehncl5 {
  font-family: "Zen Maru Gothic:Regular", sans-serif;
  word-break: break-word;
  font-style: normal;
  font-size: 14px;
  letter-spacing: 0px;
  text-align: center;
  line-height: 30px;
}

#container .css-pw3rev {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  position: relative;
  padding: 44px 64px;
}

#container .css-10cflt {
  opacity: 0.6;
  color: #00773c;
  -webkit-text-fill-color: #00773c;
  --letter-spacing: 0px;
}

#container .css-3yrm6v {
  line-height: 20px;
}

#container .css-p3prxl {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
  position: relative;
  border-radius: inherit;
  padding: 8px 32px;
}

#container .css-7neklh {
  position: relative;
  flex-shrink: 0;
  display: flex;
  align-items: flex-start;
  gap: 24px;
}

#container .css-incr7e {
  width: 256px;
  height: 125px;
}

#container .css-6pmpcz {
  border-style: solid;
  border-color: #ddecf0;
  border-top-width: 8px;
  border-bottom-width: 8px;
  border-left-width: 8px;
  border-right-width: 8px;
  position: absolute;
  border-radius: 32px;
}

#container .css-augjlj {
  padding-left: 16px;
  display: flex;
  align-items: center;
  gap: 24px;
  position: relative;
}

#container .css-4kkoky {
  position: relative;
  flex: 1 0 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

#container .css-e7qaf8 {
  font-family: "Zen Maru Gothic:Bold", sans-serif;
  word-break: break-word;
  font-style: normal;
  font-size: 16px;
  letter-spacing: 0px;
  text-align: center;
  line-height: 30px;
}

#container .css-hp2yed {
  width: 200px;
  height: 145px;
}

#container .css-dv56wl {
  background-color: #c4c4c4;
}

#container .css-xz6hd4 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 16px;
  position: relative;
  padding: 53px 347px;
}

#container .css-i5fdgf {
  width: 586px;
}

/* ==================== 以下は手動追加 ==================== */

/* === #container の表示 ===
   本家は #container を display:none で出力し、Figma Sites のランタイムJSが
   ハイドレーション後に表示へ切り替えている。静的コピーには そのJSが無いので
   ここで打ち消す（これが無いとページが真っ白になる）。 */
#container {
  display: block;
}

/* === Appear animations (from Figma behaviors.appear) === */

@keyframes figAppearFadeIn {
  from {
    opacity: 0;
    transform: translateY(24px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* appear の対象要素は HTML側に style="opacity:0" が直接書かれており、
   本家ではランタイムJSがこれを1へアニメーションさせる。
   静的コピーにはそのJSが無いため、CSSアニメーションで代替する。

   ※ セレクタに css- クラス名を使わないこと。
     クラス名は本家を再パブリッシュするたびに変わり、
     ブレークポイントごとにも別名になる（過去にこれで
     タブレット/モバイルの灯台写真が消えた）。
     opacity:0 のインライン指定を目印にすれば3ブレークポイントとも拾える。
   ※ animation は インラインstyle より優先されるので打ち消せる。

   ※※ 重要 ※※
     [style*="opacity:0"] は「style属性の文字列」を見ている。
     JS から el.style.○○ を1回でも触ると、ブラウザが style属性を
       "opacity:0;transform:none" → "opacity: 0; transform: none;"
     と空白付きで書き直すため、このセレクタは二度と一致しなくなり
     写真が永久に消える。JS側は classList だけを使うこと（index.html 参照）。
     そのための保険として .fig-appear クラスでも同じ指定を効かせている。 */

/* PAGE_LOAD: ヒーロー（デスクトップ） */
#container [style*="opacity:0"],
#container .fig-appear {
  animation: figAppearFadeIn 5s cubic-bezier(0.215, 0.61, 0.355, 1.0) forwards;
}

/* THIS_LAYER_IN_VIEW: ヒーロー（タブレット / モバイル）— 0.2秒遅らせる
   （上のルールが #container を含むので、こちらも付けて詳細度を上回らせる。
     付け忘れると animation ショートハンドに delay:0s で上書きされる） */
#container [data-breakpoint-id="node-34_230"] [style*="opacity:0"],
#container [data-breakpoint-id="node-34_230"] .fig-appear,
#container [data-breakpoint-id="node-0_6"] [style*="opacity:0"],
#container [data-breakpoint-id="node-0_6"] .fig-appear {
  animation-delay: 0.2s;
}

/* 再入場時にアニメーションを巻き戻すための一時クラス（index.html の replay()） */
#container .fig-appear-reset {
  animation: none !important;
}
/* ==================== 深海サバイバル告知（手動追加セクション） ====================
   本家サイトには存在しない独自セクション。マークアップは index.html の
   「▼▼▼ 手動追加：深海サバイバル告知 ▼▼▼」ブロック（3ブレークポイントに1つずつ）。
   本家から再取得（再同期）すると消えるので、その際は貼り直すこと。 */

/* セクション全体を角丸・半透明の薄いボックスで囲う。
   背景が白＋淡い装飾ブロブなので、海の色みを薄く敷いて浮かせている。
   半透明なので下のブロブがうっすら透けて馴染む。 */
.ks-info {
  align-self: center;
  /* 親は align-items:flex-start なので中央寄せを明示する */
  width: calc(100% - 48px);
  max-width: 1104px;
  margin: 48px auto 32px;
  box-sizing: border-box;
  position: relative;
  z-index: 1;
  /* 背景の装飾ブロブより前面に出す */
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 28px;
  padding: 44px 40px 20px;
  border-radius: 24px;
  background: rgba(0, 150, 180, .07);
  /* ※ 太さは font-weight ではなくフォントファミリーで切り替えること。
     このサイトは Regular / Bold / Black を別ファミリーとして読み込んでおり、
     さらに :root で font-synthesis:none が効いているため、
     font-weight:bold を指定しても見た目は一切変わらない。
     ここで Black を指定すると本文まで極太になる。 */
  font-family: "Zen Maru Gothic:Regular", "Zen Maru Gothic", sans-serif;
  color: #222;
}

/* 表示幅はボックス内側の 70%（PC・タブレット）。モバイルは下の @media で 100% */
.ks-info__banner {
  display: block;
  width: 70%;
  height: auto;
  border-radius: 16px;
}

.ks-info__body {
  width: 100%;
  max-width: 760px;
  text-align: center;
}

.ks-info p {
  margin: 0 0 18px;
  font-size: 16px;
  line-height: 2;
}

/* 太字＋やや大きめは先頭1行だけ。段落全体には掛けない。
   太さは font-weight ではなく Black フェイスの指定で出す（上のコメント参照）。 */
.ks-info__strong {
  font-family: "Zen Maru Gothic:Black", "Zen Maru Gothic", sans-serif;
  font-size: 19px;
}

.ks-info__btnrow {
  margin: 12px 0 32px;
}

.ks-info__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 260px;
  padding: 14px 32px;
  border: 2px solid #00773c;
  border-radius: 999px;
  background: #fff;
  color: #00773c;
  /* 太字は font-weight ではなく Black フェイスで出す（上のコメント参照）。
     サイト既存の「現在公開中のイベント」ボタンと同じ指定。 */
  font-family: "Zen Maru Gothic:Black", "Zen Maru Gothic", sans-serif;
  font-size: 16px;
  line-height: 1.4;
  text-decoration: none;
  transition: background-color .2s ease, color .2s ease;
}

.ks-info__btn:hover,
.ks-info__btn:focus-visible {
  background: #00773c;
  color: #fff;
}

/* モバイル */
@media (max-width: 799px) {
  .ks-info {
    width: calc(100% - 32px);
    margin: 32px auto 24px;
    gap: 20px;
    padding: 28px 20px 12px;
    border-radius: 18px;
  }

  /* モバイルは 50% だとイベント名や日程が読めないので全幅に戻す */
  .ks-info__banner {
    width: 100%;
    border-radius: 10px;
  }

  .ks-info p {
    font-size: 15px;
    line-height: 1.9;
  }

  .ks-info__strong {
    font-size: 17px;
  }

  .ks-info__btn {
    min-width: 0;
    width: 100%;
    padding: 14px 20px;
  }
}
