/* トップ専用: 共通指定 / スマホ〜767px / タブレット768〜1023px / PC1024px〜。 */

body.p-home {
  --top-color-text: #282420;
  --top-color-accent: #e50a11;
  --top-color-bg: #ffffff;
  --top-color-bg-gray: #f2f2f2;
  --top-color-bg-gray-2: #e4e4e4;
  --top-color-line: #e4e4e4;
  --top-font-ja: "Zen Kaku Gothic New", sans-serif;
  --top-font-en: "Inter", sans-serif;
  --top-container: 1440px;
}

body.p-home .p-top-inner {
  width: 100%;
  max-width: var(--top-container);
  margin: 0 auto;
  position: relative;
}

body.p-home .register-section--sp-only {
  display: none;
}

body.fw.p-home {
  min-width: 0;
}

@media screen and (max-width: 767px) {
  html:where(:has(body.p-home)) {
    scroll-padding-top: 76px;
  }

  html:where(:has(body.p-home)):has(.c-anchor) {
    scroll-padding-top: 146px;
  }

  .fw:where(.p-home) {
    font-size: var(--text-m-sp);
    min-width: 320px;
  }

  .fw:where(.p-home) .l-inner {
    width: 100%;
    padding: 0 20px;
    margin: 0 auto;
  }

  .fw:where(.p-home) .c-title__pre {
    font-size: var(--text-m-sp);
  }

  .fw:where(.p-home) .c-title__main {
    font-size: var(--text-xxl-sp);
  }

  .fw:where(.p-home) .l-floating-cv {
    width: 299px;
    bottom: 0;
    right: 50%;
    transform: translate(50%);
  }

  :where(body.p-home) .show-pc {
    display: none;
  }

  :where(body.p-home) .show-sp {
    display: block;
  }

  body.p-home .register-section--sp-only {
    display: block;
  }

  body.p-home {
    --top-sp-content: min(560px, calc(100% - 48px));
  }
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
  html:where(:has(body.p-home)) {
    scroll-padding-top: 76px;
  }

  html:where(:has(body.p-home)):has(.c-anchor) {
    scroll-padding-top: 146px;
  }

  .fw:where(.p-home) {
    font-size: var(--text-m);
    min-width: 320px;
  }

  .fw:where(.p-home) .l-inner {
    width: 100%;
    padding: 0 20px;
    margin: 0 auto;
  }

  .fw:where(.p-home) .c-title__pre {
    font-size: var(--text-m);
  }

  .fw:where(.p-home) .c-title__main {
    font-size: var(--text-xxl);
  }

  .fw:where(.p-home) .l-floating-cv {
    width: 299px;
    bottom: 20px;
    right: 50%;
    transform: translate(50%);
  }

  :where(body.p-home) .show-pc {
    display: none;
  }

  :where(body.p-home) .show-sp {
    display: block;
  }

  body.p-home .register-section--sp-only {
    display: block;
  }

  body.fw.p-home .c-title__main {
    font-size: 24px;
    line-height: 36px;
  }
}

@media screen and (min-width: 1024px) {
  html:has(body.p-home) {
    scroll-padding-top: calc(var(--top-header-height) + 16px);
  }
}
