/* === 特定商取引に関する表記（law.html 専用CSS） ===
   本家 https://karibunogakko.figma.site/law より取得。
   index.html とは css- クラス名が衝突しうるため、意図的にファイルを分けている。
   混ぜて1枚にしないこと。 */

#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: "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";
  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: "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-56_369"] {
    display: none !important
  }
}

@media (width >=1280px) {
  [data-breakpoint-id="node-56_451"] {
    display: none !important
  }
}

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

@media (min-width: 1280px) {
  body:has([data-breakpoint-id="node-56_369"]) {
    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-5knerd {
  position: relative;
  flex-shrink: 0;
}

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

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

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

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

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

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

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

#container .css-pdapbj {
  width: 115px;
  height: 50px;
}

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

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

#container .css-846zch {
  left: -0.04%;
  right: 0.04%;
  top: 5.34%;
  bottom: 6.03%;
}

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

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

#container .css-fdb1mo {
  left: 20.87%;
  right: 64.72%;
  top: 3.28%;
  bottom: 68.66%;
}

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

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

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

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

#container .css-evu4w5 {
  left: 5.01%;
  right: 82.15%;
  top: 3.75%;
  bottom: 69.15%;
}

#container .css-d036n4 {
  left: 11.09%;
  right: 72.25%;
  top: 23.5%;
  bottom: 0.55%;
}

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

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

#container .css-3ms1c4 {
  left: 5.77%;
  right: 61.22%;
  top: 35.28%;
  bottom: 0.65%;
}

#container .css-h7r3fo {
  left: 0.01%;
  right: 61.26%;
  top: 13.17%;
  bottom: 0.01%;
}

#container .css-kq0cbq {
  left: 14.54%;
  right: 75.53%;
  top: 0px;
  bottom: 76.5%;
}

#container .css-5craz4 {
  left: 8.74%;
  right: 87.85%;
  top: 50.52%;
  bottom: 34.47%;
}

#container .css-4mdowo {
  left: 18.66%;
  right: 79.66%;
  top: 32.02%;
  bottom: 62.92%;
}

#container .css-dd5tlh {
  left: 10.68%;
  right: 85.67%;
  top: 50.71%;
  bottom: 33.6%;
}

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

#container .css-cibk4o {
  left: 12.87%;
  right: 80.35%;
  top: 50.78%;
  bottom: 32.66%;
}

#container .css-j6w3z {
  left: 22.56%;
  right: 76.43%;
  top: 35.91%;
  bottom: 59.1%;
}

#container .css-fowfio {
  left: 23.22%;
  right: 69.95%;
  top: 30.83%;
  bottom: 57.01%;
}

#container .css-xeau6j {
  left: 26.38%;
  right: 72.77%;
  top: 41.18%;
  bottom: 56.69%;
}

#container .css-a4cp76 {
  left: 45.15%;
  right: 43.25%;
  top: 14.54%;
  bottom: 74.9%;
}

#container .css-w9932f {
  left: 51.52%;
  right: 41.27%;
  top: 15.28%;
  bottom: 53.1%;
}

#container .css-f2nv77 {
  left: 44.33%;
  right: 46.86%;
  top: 6.92%;
  bottom: 54.66%;
}

#container .css-yak9fm {
  left: 62.1%;
  right: 33.77%;
  top: 11.04%;
  bottom: 67.27%;
}

#container .css-libmmn {
  left: 63.05%;
  right: 28.22%;
  top: 10.25%;
  bottom: 50.5%;
}

#container .css-ldxwqf {
  left: 90.05%;
  right: 0px;
  top: 26.54%;
  bottom: 53.15%;
}

#container .css-1u7f7g {
  left: 44.9%;
  right: 44.42%;
  top: 69.71%;
  bottom: 0px;
}

#container .css-wng33s {
  left: 45.06%;
  right: 48.07%;
  top: 60.52%;
  bottom: 1.65%;
}

#container .css-4yw38n {
  left: 52.18%;
  right: 44.24%;
  top: 54.77%;
  bottom: 36.06%;
}

#container .css-bnxg3d {
  left: 55.84%;
  right: 42.18%;
  top: 61.71%;
  bottom: 33.08%;
}

#container .css-bu7a49 {
  left: 56.3%;
  right: 38.63%;
  top: 68.29%;
  bottom: 4.94%;
}

#container .css-k9l1m1 {
  left: 63.31%;
  right: 28.12%;
  top: 81.67%;
  bottom: 1.18%;
}

#container .css-8d22nl {
  left: 74.58%;
  right: 14.44%;
  top: 59.56%;
  bottom: 24.99%;
}

#container .css-qzjzfn {
  left: 74.34%;
  right: 14.45%;
  top: 84.94%;
  bottom: 0.69%;
}

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

#container .css-i9bd2l {
  left: 90.58%;
  right: 3.86%;
  top: 55.12%;
  bottom: 31.82%;
}

#container .css-lax9ad {
  left: 87.81%;
  right: 9.33%;
  top: 7.23%;
  bottom: 84.85%;
}

#container .css-fy43o4 {
  left: 82.89%;
  right: 12.97%;
  top: 0px;
  bottom: 88.99%;
}

#container .css-fkiitt {
  left: 74.77%;
  right: 11.53%;
  top: 13.8%;
  bottom: 50.11%;
}

#container .css-t8zmbz {
  border-radius: inherit;
}

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

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

#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-877z8k {
  position: relative;
  flex-shrink: 0;
  padding-bottom: 16px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

#container .css-h335kb {
  border-style: solid;
  border-color: #e8e5e1;
  border-top-width: 0px;
  border-bottom-width: 1px;
  border-left-width: 0px;
  border-right-width: 0px;
  position: absolute;
}

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

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

#container .css-u8qn5q {
  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;
  white-space: nowrap;
}

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

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

#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-8j0lkr {
  font-family: "Zen Maru Gothic:Regular", sans-serif;
  word-break: break-word;
  font-style: normal;
  font-size: 14px;
  letter-spacing: 0px;
  line-height: 0;
}

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

#container .css-3hpzso {
  line-height: 30px;
}

#container .css-cfwbr5 {
  position: relative;
  flex-shrink: 0;
  padding-bottom: 16px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
}

#container .css-dl0mdr {
  line-height: 30px;
  white-space: pre-wrap;
}

#container .css-9e48pq {
  line-height: 30px;
  white-space: pre-wrap;
  font-size: 14px;
}

#container .css-lpzyzn {
  height: 307px;
  width: 100%;
}

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

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

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

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

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

#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-dczajm {
  position: relative;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
}

#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-jpsr3q {
  line-height: normal;
}

#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-jgixav {
  display: flex;
  align-items: center;
  position: relative;
  padding: 16px 32px;
}

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

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

#container .css-70e0u1 {
  position: relative;
  flex-shrink: 0;
  padding-bottom: 16px;
  display: flex;
  align-items: flex-start;
  gap: 16px;
}

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

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

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

#container .css-eot1c8 {
  width: 1280px;
  height: 307px;
}

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

#container .css-i4cozv {
  align-content: stretch;
  background-color: #3a3840;
  overflow: clip;
}

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

/* 本家は #container を display:none で出力し、Figma Sites のランタイムJSが
   表示へ切り替える。静的コピーにはそのJSが無いのでここで打ち消す。
   （index.html 側と同じ対処） */
#container {
  display: block;
}

/* 直下セクションを常に全幅にする。

   本家CSSは デスクトップ版のフッターだけ width:1280px の固定値で出力していて
   （他の2セクションとモバイル版は全て 100%）、
   ビューポートが1280pxより広いとフッターだけ伸びず右側に隙間ができる。
   ＝フッターが途中で切れて見える。1600pxなら約300px、幅を広げるほど差が開く。

   直下の子はいずれも全幅バンド（3つとも position:relative で、
   絶対配置の装飾要素は含まれない）なので、まとめて 100% にしてよい。

   ※ セレクタに css- クラス名を使わないこと。
     クラス名は本家を再パブリッシュするたびに変わるため、
     固定幅の付いたクラスを名指しすると次の同期で効かなくなる。 */
#container [data-breakpoint="true"]>* {
  width: 100%;
}