@import url("https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&family=Roboto+Condensed:ital,wght@0,100..900;1,100..900&family=Zen+Kaku+Gothic+Antique:wght@300;400;500;700;900&family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&family=Oswald:wght@200..700&display=swap");
@font-face {
  font-family: "Noto Sans JP";
  src: url("/static/fonts/NotoSansJP-VariableFont_wght.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
  ascent-override: 93%;
  descent-override: 21%;
  line-gap-override: 0%;
}
@font-face {
  font-family: "Outfit";
  src: url("/static/fonts/Outfit-VariableFont_wght.ttf") format("truetype");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
:root {
  --lock-scroll-spacing: 0px;
}
html {
  margin: 0;
  padding: 0;
  scrollbar-gutter: stable;
}
html.smooth-scroll {
  scroll-behavior: smooth;
}
html.lock-scroll {
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  @supports not (scrollbar-gutter: stable) {
    html.lock-scroll body {
      padding-right: var(--lock-scroll-spacing, 0px);
    }
  }
}
html:has(.base-fullwidth) {
  overflow-x: hidden;
}
@media screen and (max-width: 767px) {
  .newsite [data-media]:not([data-media~=sp]),
  .newsite .pc-only {
    display: none !important;
  }
}
@media screen and (min-width: 768px) {
  .newsite [data-media]:not([data-media~=pc]),
  .newsite .sp-only {
    display: none !important;
  }
}
.newsite body {
  -webkit-text-size-adjust: 100%;
}
.newsite * {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
  overflow-wrap: anywhere;
  -webkit-tap-highlight-color: transparent;
  -webkit-font-smoothing: antialiased;
}
.newsite html:has(dialog[open]) {
  overflow: hidden;
}
.newsite img {
  max-width: 100%;
  vertical-align: top;
}
.newsite a {
  text-decoration: none;
  color: unset;
}
.newsite li {
  list-style-type: none;
}
.newsite iframe {
  border: none;
  overflow: hidden;
}
.newsite button {
  outline: none;
  border: none;
  background: none;
  cursor: pointer;
  font-family: inherit;
}
.newsite input,
.newsite textarea {
  outline: none;
  border: none;
  background: none;
  font-family: inherit;
}
.newsite hr {
  border: none;
  border-top: 1px solid;
}
.newsite .no-select {
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.newsite .large-container {
  position: relative;
  max-width: 105rem;
  width: 100%;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .newsite .large-container {
    padding: 0 2.5rem;
  }
}
@media screen and (min-width: 1440px) {
  .newsite .large-container {
    padding: 0 3.75rem;
  }
}
.newsite .base-container {
  position: relative;
  max-width: 90rem;
  width: 100%;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .newsite .base-container {
    padding: 0 2.5rem;
  }
}
@media screen and (min-width: 1440px) {
  .newsite .base-container {
    padding: 0 3.75rem;
  }
}
.newsite .small-container {
  position: relative;
  max-width: 61.25rem;
  width: 100%;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .newsite .small-container {
    padding: 0 2.5rem;
  }
}
.newsite .sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.newsite .force-hidden {
  display: none !important;
}
.newsite [data-animate=fade-in] {
  opacity: 0;
  transform: translateY(1.875rem);
  transition: opacity 1s ease, transform 1s ease;
}
.newsite [data-animate=character-fade-up] {
  overflow: hidden;
}
.newsite [data-animate=character-fade-up] span {
  display: inline-block;
  transform: translateY(120%);
}
.newsite .base-fullwidth {
  width: var(--fw, 100vw);
  margin-inline: calc(50% - 50vw);
}
@media screen and (max-width: 767px) {
  .newsite .base-fullwidth-sp {
    width: var(--fw, 100vw);
    margin-inline: calc(50% - 50vw);
  }
}
@media screen and (min-width: 768px) {
  .newsite .base-fullwidth-pc {
    width: var(--fw, 100vw);
    margin-inline: calc(50% - 50vw);
  }
}
.newsite .base-paragraph {
  font-size: 1rem;
  line-height: 1.85;
  letter-spacing: 0.08em;
  color: #363434;
  font-weight: 500;
}
.newsite .base-paragraph-15 {
  font-size: 0.9375rem;
  line-height: 1.85;
  letter-spacing: 0.08em;
  color: #363434;
  font-weight: 500;
}
.newsite .base-paragraph-xs {
  font-size: 0.75rem;
  line-height: 1.85;
  letter-spacing: 0.05em;
  font-weight: 500;
}
.newsite .base-paragraph-sm {
  font-size: 0.875rem;
  line-height: 1.85;
  letter-spacing: 0.05em;
  color: #363434;
  font-weight: 500;
}
.newsite .base-paragraph-md {
  font-size: 1.125rem;
  line-height: 1.85;
  letter-spacing: 0.08em;
  color: #363434;
  font-weight: 500;
}
.newsite .base-paragraph-leading {
  font-size: 1rem;
  line-height: 1.85;
  letter-spacing: 0.08em;
  color: #363434;
}
.newsite .base-heading-20 {
  font-size: 1.25rem;
  line-height: 1.85;
  letter-spacing: 0.1em;
  color: #363434;
  font-weight: 500;
}
.newsite .base-heading-24 {
  font-size: 1.5rem;
  line-height: 1.85;
  letter-spacing: 0.1em;
  color: #363434;
  font-weight: 700;
}
.newsite .base-heading-22 {
  font-size: 1.375rem;
  line-height: 1.85;
  letter-spacing: 0.1em;
  color: #363434;
  font-weight: 700;
}
.newsite .base-heading-28 {
  font-size: 1.75rem;
  line-height: 1.85;
  letter-spacing: 0.08em;
  color: #363434;
  font-weight: 700;
}
.newsite .base-image {
  display: inline-block;
}
.newsite .base-image img {
  width: 100%;
  height: auto;
}
.newsite .base-section {
  font-size: 1rem;
  line-height: 1.85;
  letter-spacing: 0.08em;
  font-weight: 500;
  padding-top: 3.75rem;
}
@media screen and (min-width: 768px) {
  .newsite .base-section {
    padding-bottom: 7.5rem;
  }
}
@media screen and (max-width: 767px) {
  .newsite .base-section {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
.newsite .base-link {
  color: #363434;
  text-decoration: underline;
  text-underline-offset: 0.2em;
  text-decoration-thickness: 1px;
}
.newsite .base-link:hover {
  color: #9ea3a6;
}
.newsite .base-link:hover::after {
  opacity: 0.5;
}
.newsite .base-link[target=_blank] {
  display: inline-flex;
  align-items: center;
}
.newsite .base-link[target=_blank]::after {
  content: "";
  display: inline-block;
  width: 1.25rem;
  height: 1.25rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cg%3E%3Cpath d='M20.1072 20H6.88498C6.38402 20 5.90357 19.8043 5.54934 19.4561C5.1951 19.1078 4.99609 18.6354 4.99609 18.1429H6.88498H18.7738C19.5102 18.1429 20.1072 17.5459 20.1072 16.8094V8.85714V7C20.6082 7 21.0886 7.19566 21.4429 7.54395C21.7971 7.89223 21.9961 8.3646 21.9961 8.85714V18.1429C21.9961 18.6354 21.7971 19.1078 21.4429 19.4561C21.0886 19.8043 20.6082 20 20.1072 20Z' fill='%23595757'/%3E%3Cpath d='M17.1072 17H3.88498C3.38402 17 2.90357 16.8043 2.54934 16.4561C2.1951 16.1078 1.99609 15.6354 1.99609 15.1429V5.85714C1.99609 5.3646 2.1951 4.89223 2.54934 4.54395C2.90357 4.19566 3.38402 4 3.88498 4H17.1072C17.6082 4 18.0886 4.19566 18.4429 4.54395C18.7971 4.89223 18.9961 5.3646 18.9961 5.85714V15.1429C18.9961 15.6354 18.7971 16.1078 18.4429 16.4561C18.0886 16.8043 17.6082 17 17.1072 17ZM3.88498 5.85714V15.1429H17.1072V5.85714H3.88498Z' fill='%23595757'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  margin-left: 0.25rem;
}