.l-wrapper {
  /***
      The new CSS reset - version 1.7.2 (last updated 23.6.2022)
      GitHub page: https://github.com/elad2412/the-new-css-reset
  ***/
  /*
      Remove all the styles of the "User-Agent-Stylesheet", except for the 'display' property
      - The "symbol *" part is to solve Firefox SVG sprite bug
   */
}
.l-wrapper *:where(:not(html, iframe, canvas, img, svg, video):not(svg *, symbol *)) {
  all: unset;
  display: revert;
}
.l-wrapper {
  /* Reapply the pointer cursor for anchor tags */
}
.l-wrapper a,
.l-wrapper button {
  cursor: revert;
}
.l-wrapper {
  /* Remove list styles (bullets/numbers) */
}
.l-wrapper ol,
.l-wrapper ul,
.l-wrapper menu {
  list-style: none;
}
.l-wrapper {
  /* For images to not be able to exceed their container */
}
.l-wrapper img {
  max-width: 100%;
}
.l-wrapper {
  /* removes spacing between cells in tables */
}
.l-wrapper table {
  border-collapse: collapse;
}
.l-wrapper {
  /* Safari - solving issue when using user-select:none on the <body> text input doesn't working */
}
.l-wrapper input,
.l-wrapper textarea {
  -webkit-user-select: auto;
}
.l-wrapper {
  /* revert the 'white-space' property for textarea elements on Safari */
}
.l-wrapper textarea {
  white-space: revert;
}
.l-wrapper {
  /* minimum style to allow to style meter element */
}
.l-wrapper meter {
  -webkit-appearance: revert;
  appearance: revert;
}
.l-wrapper {
  /* reset default text opacity of input placeholder */
}
.l-wrapper ::placeholder {
  color: unset;
}
.l-wrapper {
  /* fix the feature of 'hidden' attribute.
     display:revert; revert to element instead of attribute */
}
.l-wrapper :where([hidden]) {
  display: none;
}
.l-wrapper {
  /* revert for bug in Chromium browsers
     - fix for the content editable attribute will work properly.
     - webkit-user-select: auto; added for Safari in case of using user-select:none on wrapper element*/
}
.l-wrapper :where([contenteditable]:not([contenteditable=false])) {
  -moz-user-modify: read-write;
  -webkit-user-modify: read-write;
  overflow-wrap: break-word;
  -webkit-line-break: after-white-space;
  -webkit-user-select: auto;
}
.l-wrapper {
  /* apply back the draggable feature - exist only in Chromium and Safari */
}
.l-wrapper :where([draggable=true]) {
  -webkit-user-drag: element;
}

* {
  --inner-padding: 5.33vw;
  --hover-opacity: 0.75;
}
*::before, *::after {
  pointer-events: none;
}

body {
  position: relative;
  overflow-x: clip;
  min-width: 320px;
}

.l-wrapper {
  display: block;
  line-height: 1.8;
  font-family: "Noto Sans CJK JP", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 400;
  -webkit-text-size-adjust: 100%;
  color: #000;
  letter-spacing: 0.05em;
  font-size: clamp(0.875rem, 0.66667rem + 0.6944444444vw, 1rem);
}
@media (min-width: 768px) {
  .l-wrapper {
    font-size: 1rem;
  }
}
.l-wrapper main {
  position: relative;
}
.l-wrapper h1:has(wbr),
.l-wrapper h2:has(wbr),
.l-wrapper h3:has(wbr),
.l-wrapper h4:has(wbr),
.l-wrapper h5:has(wbr),
.l-wrapper h6:has(wbr),
.l-wrapper p:has(wbr) {
  word-break: keep-all;
  overflow-wrap: anywhere;
}
.l-wrapper a {
  color: inherit;
  text-decoration: none;
  transition: all 0.3s ease-in;
}
.l-wrapper span {
  font-weight: inherit;
}
.l-wrapper img {
  display: block;
  width: 100%;
  height: auto;
}
.l-wrapper ul,
.l-wrapper ol {
  list-style: none;
}

@media (max-width: 767.98px) {
  .js-scrollhint {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .js-scrollhint > * {
    min-width: 700px;
  }
}

.js-float {
  position: fixed;
  z-index: 9000;
  bottom: 0;
  right: 0;
  width: 100%;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s, transform 0.3s, visibility 0.3s;
}
.js-float.is-shown {
  opacity: 1;
  visibility: visible;
}
@media (min-width: 768px) {
  .js-float {
    top: 50%;
    bottom: inherit;
    transform: translateY(-50%);
    width: 70px;
  }
}