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

.fw.p-home .p-kv-cv__register {
  flex: 0 0 auto;
  width: 536px;
}

.fw.p-home .p-kv-cv__register .register-button {
  position: relative;
  width: 100%;
  background-color: var(--color_main);
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  transition: all .3s ease;
  height: 70px;
  border-radius: 6px;
}

.fw.p-home .p-kv-cv__register .register-button>span {
  color: #fff;
  font-size: 22px;
  line-height: 1;
  font-weight: 600;
  transition: all .3s ease;
  flex: 0 0 auto;
}

.fw.p-home .p-kv-cv__register .register-button>i {
  flex: 0 0 auto;
  width: 24px;
  height: 24px;
}

.fw.p-home .p-kv-cv__register .register-button>i svg {
  width: 100%;
  height: 100%;
}

.fw.p-home .p-kv-cv__register .register-button>i svg .circle {
  transition: all .3s ease;
}

.fw.p-home .p-kv-cv__register .register-button>i svg .arrow {
  transition: all .3s ease;
}

.fw.p-home .p-kv-cv__register .register-button:hover {
  background-color: #46423e;
}

.fw.p-home .p-kv-cv__register .register-button__fukidashi {
  position: absolute;
  top: 0%;
  left: 50%;
  transform: translate(-50%,-80%);
  width: 235px;
  filter: drop-shadow(0px 3px 5px rgba(0,0,0,.5));
}

.fw.p-home .p-kv-cv__register .register-button .register-text {
  color: #fff;
  font-size: 18px;
  line-height: 1;
  font-weight: 600;
  transition: all .3s ease;
  flex: 0 0 auto;
}

.fw.p-home .p-kv-cv__register .register-button .register-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 10px;
  font-size: 14px;
  color: #e50a11;
  border: 1px solid #e50a11;
  border-radius: 999px;
  background: #fff;
  white-space: nowrap;
  height: 32px;
}

body.fw.p-home .register-section {
  padding: 56px 0 16px;
  background-color: #282420;
}

body.fw.p-home .register-section__inner {
  width: 536px;
  max-width: 100%;
}

body.fw.p-home .register-section .p-kv-cv__register {
  width: 100%;
  max-width: 536px;
}

@media screen and (max-width: 767px) {
  .fw.p-home .p-kv-cv__register {
    width: 100%;
  }

  .fw.p-home .p-kv-cv__register .register-button>span {
    font-size: 20px;
  }

  .fw.p-home .p-kv-cv__register .register-button>i {
    width: 24px;
    height: 24px;
  }

  .fw.p-home .p-kv-cv__register .register-button__fukidashi {
    width: 204px;
    transform: translate(-50%,-55%);
  }

  :where(body.p-home) .register-section__inner {
    width: calc(100% - 64px);
    max-width: 536px;
  }

  :where(body.p-home) .register-section .register-button {
    width: 100%;
  }

  :where(body.p-home) .register-section .register-button__fukidashi {
    width: 204px;
    transform: translate(-50%, -55%);
  }

  body.fw.p-home .register-section {
    padding: 69px 0 28px;
  }

  body.fw.p-home .register-section__inner {
    width: min(536px, var(--top-sp-content));
    max-width: 100%;
    margin-inline: auto;
  }

  body.fw.p-home .register-section .p-kv-cv__register {
    width: 100%;
  }
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
  .fw.p-home .p-kv-cv__register {
    width: 100%;
  }

  .fw.p-home .p-kv-cv__register .register-button>span {
    font-size: 20px;
  }

  .fw.p-home .p-kv-cv__register .register-button>i {
    width: 24px;
    height: 24px;
  }

  .fw.p-home .p-kv-cv__register .register-button__fukidashi {
    width: 204px;
    transform: translate(-50%,-55%);
  }

  :where(body.p-home) .register-section__inner {
    width: calc(100% - 64px);
    max-width: 536px;
  }

  :where(body.p-home) .register-section .register-button {
    width: 100%;
  }

  :where(body.p-home) .register-section .register-button__fukidashi {
    width: 204px;
    transform: translate(-50%, -55%);
  }

  body.fw.p-home .register-section {
    padding: 56px 0 24px;
  }

  body.fw.p-home .register-section__inner {
    max-width: 536px;
    width: min(536px, calc(100% - 64px));
  }
}

@media screen and (min-width: 768px) {
  body.p-home .register-section--sp-only {
    display: none;
  }
}

/* 最小スマホ幅では、共通の左右余白内にCTAの内容を収める。 */
@media screen and (max-width: 374px) {
  .fw.p-home .p-kv-cv__register .register-button {
    gap: 6px;
  }

  .fw.p-home .p-kv-cv__register .register-button .register-badge {
    padding-inline: 4px;
  }

  .fw.p-home .p-kv-cv__register .register-button .register-text {
    font-size: 16px;
  }
}
