@charset "UTF-8";

/* ===============================================
  * Base - ベーススタイル *
=============================================== */

html {
  font-size: 62.5%;
  overflow-y: scroll;
  scroll-behavior: smooth;
  scroll-padding-top: var(--height-header);
  background-color: var(--color-project-bg);
}

@media screen and (min-width: 768px) {
  html {
    font-size: 10px;
  }
}

@media (min-width: 768px) and (max-width: 1199px) {
  html {
    font-size: calc(10 * 100vw / 1200);
  }
}

html[data-scroll-fixed="active"] {
  overflow: hidden;
}

html:has(input[type="email"]:focus),
html:has(input[type="number"]:focus),
html:has(input[type="password"]:focus),
html:has(input[type="search"]:focus),
html:has(input[type="tel"]:focus),
html:has(input[type="text"]:focus),
html:has(input[type="url"]:focus) {
  scroll-padding: initial !important;
}

body {
  width: 100%;
  color: var(--color-text-default);
}

body.is-fixed {
  position: fixed;
  left: 0;
}

summary {
  list-style: none;
}

summary::-webkit-details-marker {
  display: none;
}

.l-container--heroaca-final img {
  width: 100%;
  height: auto;
}

.l-container--heroaca-final a:hover {
  opacity: var(--hover-opacity);
}

small :where(a) {
  font-size: inherit;
}

input[type="text"] {
  font-family: var(--font-ja), sans-serif;
  font-weight: var(--fw-regular);
}

input[type="text"]::placeholder {
  font-family: inherit;
}

a {
    color: var(--color-textlink, inherit);
}