@charset "UTF-8";
/*! destyle.css v2.0.2 | MIT License | https://github.com/nicolas-cusan/destyle.css */
*, :after, :before {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}

html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
}

body {
  margin: 0;
}

main {
  display: block;
}

h1, h2, h3, h4, h5, h6 {
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  margin: 0;
}

address, blockquote, dl, figure, form, iframe, ol, p, pre, table, ul {
  margin: 0;
}

ol, ul {
  padding: 0;
  list-style: none;
}

dt {
  font-weight: 700;
}

dd {
  margin-left: 0;
}

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit;
}

pre {
  font-family: monospace;
  font-size: inherit;
}

address {
  font-style: inherit;
}

a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}

abbr[title] {
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
}

b, strong {
  font-weight: bolder;
}

code, kbd, samp {
  font-family: monospace;
  font-size: inherit;
}

small {
  font-size: 80%;
}

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

embed, iframe, img, object {
  vertical-align: bottom;
}

button, input, optgroup, select, textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: 0 0;
  padding: 0;
  margin: 0;
  outline: 0;
  border-radius: 0;
  text-align: inherit;
}

[type=checkbox] {
  -webkit-appearance: checkbox;
  -moz-appearance: checkbox;
  appearance: checkbox;
}

[type=radio] {
  -webkit-appearance: radio;
  -moz-appearance: radio;
  appearance: radio;
}

button, input {
  overflow: visible;
}

button, select {
  text-transform: none;
}

[type=button], [type=reset], [type=submit], button {
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

[type=button][disabled], [type=reset][disabled], [type=submit][disabled], button[disabled] {
  cursor: default;
}

[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

[type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring, button:-moz-focusring {
  outline: 1px dotted ButtonText;
}

select::-ms-expand {
  display: none;
}

fieldset, option {
  padding: 0;
}

fieldset {
  margin: 0;
  min-width: 0;
}

legend {
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}

progress {
  vertical-align: baseline;
}

textarea {
  overflow: auto;
}

[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

label[for] {
  cursor: pointer;
}

details {
  display: block;
}

summary {
  display: list-item;
}

[contenteditable] {
  outline: 0;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption {
  text-align: left;
}

td, th {
  vertical-align: top;
  padding: 0;
}

th {
  text-align: left;
  font-weight: 700;
}

[hidden], template {
  display: none;
}

:root {
  --main-color: #2e366d;
  --main-red: #ae3846;
  --sans: "Noto Sans JP", sans-serif;
  --barlow: "Barlow Condensed", sans-serif;
}

html {
  font-size: 62.5%;
  scroll-behavior: smooth;
}
@media all and (min-width: 768px) and (max-width: 1024px) {
  html {
    font-size: 50%;
  }
}

body {
  min-width: 320px;
  margin: auto;
  color: #212121;
  font-family: var(--sans);
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.5625;
  overflow-x: hidden;
  position: relative;
}
@media screen and (max-width: 767px) {
  body {
    font-size: 3.59vw;
    line-height: 1.5;
  }
}

img {
  display: block;
  max-width: 100%;
  height: auto;
  image-rendering: -webkit-optimize-contrast;
}

@media screen and (max-width: 767px) {
  .__pc {
    display: none !important;
  }
}

@media screen and (min-width: 767px) {
  .__sp {
    display: none;
  }
}

a,
button {
  transition: all 0.3s;
}

.container {
  max-width: 112rem;
  margin: auto;
}
@media (max-width: 112rem) {
  .container {
    padding: 0 2rem;
  }
}
@media screen and (max-width: 767px) {
  .container {
    padding: 0 5.128vw;
  }
}

.kv {
  background: url("/assets/lp3_2/images/kv.png") no-repeat center/cover;
}
@media screen and (max-width: 767px) {
  .kv {
    background: url("/assets/lp3_2/images/kv_sp.png") no-repeat center/cover;
  }
}
.kv__container {
  max-width: 1120px;
  margin: auto;
}
@media (max-width: 1120px) {
  .kv__container {
    padding: 0 2rem;
  }
}
@media screen and (max-width: 767px) {
  .kv__container {
    padding: 0 5.128vw;
  }
}
.kv header {
  padding-top: 2rem;
  margin-bottom: 15rem;
}
@media screen and (max-width: 767px) {
  .kv header {
    padding-top: 5.128vw;
    margin-bottom: 53.846vw;
  }
}
.kv header h1 {
  display: flex;
  align-items: center;
  column-gap: 2rem;
}
@media screen and (max-width: 767px) {
  .kv header h1 {
    column-gap: 5.128vw;
  }
  .kv header h1 img {
    height: 7.179vw;
  }
}
.kv header h1 span {
  font-size: 1.4rem;
  line-height: 1.428;
  font-weight: 700;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .kv header h1 span {
    font-size: 2.564vw;
  }
}
.kv h2 {
  padding-bottom: 2rem;
}
@media screen and (max-width: 767px) {
  .kv h2 {
    padding-bottom: 12.821vw;
  }
}
.kv__cta {
  padding-bottom: 10rem;
}
@media screen and (max-width: 767px) {
  .kv__cta {
    padding-bottom: 12.821vw;
  }
}
.kv__cta a {
  color: #fff;
  display: block;
  padding: 2.8rem 10rem;
  font-size: 3.2rem;
  font-weight: 700;
  position: relative;
  width: fit-content;
  border: 4px solid #fff;
  background: #373577;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .kv__cta a {
    padding: 5.128vw;
    font-size: 4.615vw;
  }
}
.kv__cta a:hover:after {
  right: -6rem;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .kv__cta a:hover:after {
    right: -15.385vw;
  }
}
.kv__cta a:after {
  content: "";
  display: block;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2280%22%20height%3D%2216%22%20viewBox%3D%220%200%2080%2016%22%3E%20%3Cg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_24%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%2024%22%20transform%3D%22translate(-449%20-37)%22%3E%20%3Cline%20id%3D%22%E7%B7%9A_1%22%20data-name%3D%22%E7%B7%9A%201%22%20x2%3D%2272.5%22%20transform%3D%22translate(449%2050.5)%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-width%3D%225%22%2F%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_70%22%20data-name%3D%22%E3%83%91%E3%82%B9%2070%22%20d%3D%22M0%2C0%2C16%2C16H0Z%22%20transform%3D%22translate(513%2037)%22%20fill%3D%22%23fff%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat;
  background-size: contain;
  display: block;
  width: 8rem;
  height: 1.6rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: -4rem;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .kv__cta a:after {
    width: 12.308vw;
    height: 3.077vw;
    right: -7.692vw;
  }
}

@keyframes test_box_slide {
  0% {
    transform: translate(-100%, 0);
  }
  100% {
    transform: translate(0, 0);
  }
}
.kv {
  background: url("/assets/lp3_2/images/kv.webp") no-repeat center/cover;
}
@media screen and (max-width: 767px) {
  .kv {
    background: url("/assets/lp3_2/images/kv_sp.webp") no-repeat center/contain;
    background-color: #373577;
  }
}
.kv__container {
  max-width: 1120px;
  margin: auto;
}
@media (max-width: 1120px) {
  .kv__container {
    padding: 0 2rem;
  }
}
@media screen and (max-width: 767px) {
  .kv__container {
    padding: 0 5.128vw;
  }
}
.kv header {
  padding-top: 2rem;
  margin-bottom: 15rem;
}
@media screen and (max-width: 767px) {
  .kv header {
    padding-top: 5.128vw;
    margin-bottom: 46.154vw;
  }
}
.kv header h1 {
  display: flex;
  align-items: center;
  column-gap: 2rem;
}
@media screen and (max-width: 767px) {
  .kv header h1 {
    column-gap: 5.128vw;
  }
  .kv header h1 img {
    height: 7.179vw;
  }
}
.kv header h1 span {
  font-size: 1.4rem;
  line-height: 1.428;
  font-weight: 700;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .kv header h1 span {
    font-size: 2.564vw;
  }
}
.kv h2 {
  padding-bottom: 5rem;
}
.kv h2 img {
  width: 76rem;
}
@media screen and (max-width: 767px) {
  .kv h2 img {
    max-width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .kv h2 {
    padding-bottom: 5.128vw;
  }
}
.kv__sponsor {
  color: #fff;
  margin-bottom: 4rem;
}
@media screen and (max-width: 767px) {
  .kv__sponsor {
    font-size: 2.564vw;
    margin-bottom: 5.128vw;
  }
}
.kv__sponsor__image {
  position: absolute;
  top: 20rem;
  left: calc(50% + 24rem);
}
@media all and (min-width: 768px) and (max-width: 1024px) {
  .kv__sponsor__image {
    left: calc(50% + 28rem);
  }
}
@media screen and (max-width: 767px) {
  .kv__sponsor__image {
    top: 21.538vw;
    right: 5.128vw;
    left: auto;
  }
}
@media all and (min-width: 768px) and (max-width: 1024px) {
  .kv__sponsor__image img {
    width: 18rem;
  }
}
@media screen and (max-width: 767px) {
  .kv__sponsor__image img {
    width: 25.641vw;
  }
}
.kv__cta {
  width: fit-content;
  padding-bottom: 18rem;
}
@media screen and (max-width: 767px) {
  .kv__cta {
    padding-bottom: 10.256vw;
  }
}
.kv__cta__image {
  margin-bottom: 1rem;
}
.kv__cta__image img {
  margin-inline: auto;
}
.kv a {
  color: #fff;
  display: block;
  padding: 2.8rem 10rem;
  font-size: 3.2rem;
  font-weight: 700;
  position: relative;
  width: fit-content;
  border: 4px solid #fff;
  background: #373577;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .kv a {
    padding: 5.128vw;
    font-size: 4.615vw;
  }
}
.kv a:hover:after {
  right: -6rem;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .kv a:hover:after {
    right: -15.385vw;
  }
}
.kv a:after {
  content: "";
  display: block;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2280%22%20height%3D%2216%22%20viewBox%3D%220%200%2080%2016%22%3E%20%3Cg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_24%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%2024%22%20transform%3D%22translate(-449%20-37)%22%3E%20%3Cline%20id%3D%22%E7%B7%9A_1%22%20data-name%3D%22%E7%B7%9A%201%22%20x2%3D%2272.5%22%20transform%3D%22translate(449%2050.5)%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-width%3D%225%22%2F%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_70%22%20data-name%3D%22%E3%83%91%E3%82%B9%2070%22%20d%3D%22M0%2C0%2C16%2C16H0Z%22%20transform%3D%22translate(513%2037)%22%20fill%3D%22%23fff%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat;
  background-size: contain;
  display: block;
  width: 8rem;
  height: 1.6rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: -4rem;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .kv a:after {
    width: 12.308vw;
    height: 3.077vw;
    right: -7.692vw;
  }
}
.kv a {
  width: 720px;
  background: #8885d7;
}
@media screen and (max-width: 767px) {
  .kv a {
    width: 82.051vw;
    margin: auto;
  }
}

.kv-bottom {
  background: url("/assets/lp3/images/kv_bottom_bg.webp") no-repeat center/cover;
  margin-bottom: 10rem;
}
@media screen and (max-width: 767px) {
  .kv-bottom {
    background: url("/assets/lp3/images/kv_bottom_bg_sp.webp") no-repeat center/cover;
    margin-bottom: 12.821vw;
  }
}
.kv-bottom__container {
  max-width: 1120px;
  margin: auto;
}
@media (max-width: 1120px) {
  .kv-bottom__container {
    padding: 0 2rem;
  }
}
@media screen and (max-width: 767px) {
  .kv-bottom__container {
    padding: 0 5.128vw;
  }
}
.kv-bottom__list {
  display: flex;
  justify-content: space-around;
  column-gap: 2rem;
}
@media screen and (max-width: 767px) {
  .kv-bottom__list {
    flex-direction: column;
    align-items: initial;
    justify-content: initial;
    gap: 0vw 0;
  }
}
.kv-bottom__item {
  position: relative;
  padding: 3rem 0;
}
.kv-bottom__item img {
  position: absolute;
  top: -2rem;
  left: 0;
}
@media screen and (max-width: 767px) {
  .kv-bottom__item img {
    top: -5.128vw;
  }
}
.kv-bottom__item p {
  color: #fff;
  font-size: 3.2rem;
  font-weight: 900;
  line-height: 1.8;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  .kv-bottom__item p {
    font-size: 5.128vw;
  }
}
.kv-bottom__item p span {
  font-family: var(--barlow);
  font-size: 4.8rem;
  font-weight: 7 0;
  line-height: 0;
}
@media screen and (max-width: 767px) {
  .kv-bottom__item p span {
    font-size: 8.205vw;
  }
}
.kv-bottom__case .case-slider {
  width: calc(100% + 2px);
  height: calc(100% + 2px);
  overflow: hidden;
  margin: 0 auto;
}
.kv-bottom__case .case-item {
  background: #fff;
  border: 0.5px solid var(--main-color);
}
.kv-bottom__case .case-item__inner {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.kv-bottom__case .case-item .head {
  display: flex;
  align-items: center;
  column-gap: 2rem;
  margin-bottom: 2rem;
  padding: 2.5rem 0.5rem 0;
}
@media screen and (max-width: 767px) {
  .kv-bottom__case .case-item .head {
    column-gap: 5.128vw;
    margin-bottom: 8.974vw;
    padding: 6.41vw 1.282vw 0;
  }
}
.kv-bottom__case .case-item .head .num {
  font-family: var(--barlow);
  color: var(--main-color);
  font-size: 5.6rem;
  font-style: italic;
  line-height: 0;
  opacity: 0.2;
}
@media screen and (max-width: 767px) {
  .kv-bottom__case .case-item .head .num {
    font-size: 10.256vw;
  }
}
.kv-bottom__case .case-item .head .person {
  color: var(--main-color);
  font-size: 1.8rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .kv-bottom__case .case-item .head .person {
    font-size: 4.615vw;
  }
}
.kv-bottom__case .case-item .before,
.kv-bottom__case .case-item .after {
  display: flex;
  align-items: baseline;
  column-gap: 2rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .kv-bottom__case .case-item .before,
  .kv-bottom__case .case-item .after {
    column-gap: 1.538vw;
  }
}
.kv-bottom__case .case-item .before .label,
.kv-bottom__case .case-item .after .label {
  font-weight: 700;
  line-height: 1.5;
  padding: 0.4rem 1rem;
}
@media screen and (max-width: 767px) {
  .kv-bottom__case .case-item .before .label,
  .kv-bottom__case .case-item .after .label {
    padding: 1.026vw 2.564vw;
  }
}
.kv-bottom__case .case-item .before .job,
.kv-bottom__case .case-item .after .job {
  flex: 1;
  font-weight: 500;
  display: flex;
  flex-direction: column;
}
.kv-bottom__case .case-item .before .job .job-main,
.kv-bottom__case .case-item .after .job .job-main {
  font-weight: 700;
  line-height: 1.75;
  margin-bottom: 0.6rem;
}
@media screen and (max-width: 767px) {
  .kv-bottom__case .case-item .before .job .job-main,
  .kv-bottom__case .case-item .after .job .job-main {
    margin-bottom: 2.564vw;
  }
}
.kv-bottom__case .case-item .before .job .job-main .__large,
.kv-bottom__case .case-item .after .job .job-main .__large {
  font-size: 2.4rem;
}
@media screen and (max-width: 767px) {
  .kv-bottom__case .case-item .before .job .job-main .__large,
  .kv-bottom__case .case-item .after .job .job-main .__large {
    font-size: 5.128vw;
  }
}
.kv-bottom__case .case-item .before {
  padding: 2rem 2rem 1.5rem;
}
@media screen and (max-width: 767px) {
  .kv-bottom__case .case-item .before {
    padding: 0 5.128vw 1.282vw;
  }
}
.kv-bottom__case .case-item .before:after {
  content: "";
  width: 100%;
  height: 2.5rem;
  clip-path: polygon(0 0, 100% 0%, 50% 100%);
  position: absolute;
  bottom: -2.5rem;
  left: 0;
  background: #fff;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .kv-bottom__case .case-item .before:after {
    height: 6.41vw;
    bottom: -6.41vw;
  }
}
.kv-bottom__case .case-item .before .label {
  color: #212121;
  border: 1px solid #212121;
}
.kv-bottom__case .case-item .after {
  padding: 4rem 2rem 3rem;
  background: #f7eaec;
  height: 100%;
  margin-top: auto;
}
@media screen and (max-width: 767px) {
  .kv-bottom__case .case-item .after {
    padding: 12.821vw 5.128vw 5.128vw;
  }
}
.kv-bottom__case .case-item .after .label {
  color: var(--main-red);
  border: 1px solid var(--main-red);
}
.kv-bottom__case {
  /* 前へ次への矢印カスタマイズ */
}
.kv-bottom__case .swiper-button-prev,
.kv-bottom__case .swiper-button-next {
  height: 3.2rem;
  width: 3.2rem;
}
.kv-bottom__case {
  /* 前へ次への矢印カスタマイズ */
}
.kv-bottom__case .swiper-button-prev::after,
.kv-bottom__case .swiper-button-next::after {
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  height: 3.2rem;
  margin: auto;
  width: 3.2rem;
}
.kv-bottom__case .swiper-button-prev {
  left: -1.6rem;
}
@media screen and (max-width: 767px) {
  .kv-bottom__case .swiper-button-prev {
    left: -3.077vw;
  }
}
.kv-bottom__case .swiper-button-next {
  right: -1.6rem;
}
@media screen and (max-width: 767px) {
  .kv-bottom__case .swiper-button-next {
    right: -3.077vw;
  }
}
.kv-bottom__case {
  /* 前への矢印カスタマイズ */
}
.kv-bottom__case .swiper-button-prev::after {
  background-image: url("/assets/lp3/images/prev_arrow.svg");
}
.kv-bottom__case {
  /* 次への矢印カスタマイズ */
}
.kv-bottom__case .swiper-button-next::after {
  background-image: url("/assets/lp3/images/next_arrow.svg");
}
.kv-bottom__case {
  margin-bottom: 12rem;
}
@media screen and (max-width: 767px) {
  .kv-bottom__case {
    margin-bottom: 12.821vw;
  }
}
.kv-bottom__case h2 {
  font-family: var(--barlow);
  font-size: 12rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  position: relative;
}
@media screen and (max-width: 767px) {
  .kv-bottom__case h2 {
    font-size: 12.308vw;
  }
}
.kv-bottom__case h2:before {
  content: "";
  height: 2px;
  flex-grow: 1;
  background-color: #212121;
  width: 100vw;
  position: absolute;
  left: calc(-100vw - 2rem);
}
@media screen and (max-width: 767px) {
  .kv-bottom__case h2:before {
    left: -102.564vw;
  }
}
.kv-bottom__case__content {
  position: relative;
}

.lead {
  background: url("/assets/lp3/images/lead_bg.webp") no-repeat center/cover;
  padding: 10rem 0 16rem;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .lead {
    background: url("/assets/lp3/images/lead_bg_sp.webp") no-repeat center/cover;
    padding: 10.256vw 0 12.821vw;
  }
}
.lead__container {
  max-width: 1120px;
  margin: auto;
}
@media (max-width: 1120px) {
  .lead__container {
    padding: 0 2rem;
  }
}
@media screen and (max-width: 767px) {
  .lead__container {
    padding: 0 5.128vw;
  }
}
.lead__inner {
  display: flex;
  column-gap: 11rem;
}
@media screen and (max-width: 767px) {
  .lead__inner {
    flex-direction: column;
    gap: 7.179vw 0;
  }
}
@media (min-width: 1120px) {
  .lead__image img {
    position: absolute;
    right: 0;
    width: min(47.91666vw, 920px);
  }
}
.lead__text {
  flex: 1;
}
.lead__text h2 {
  display: flex;
  flex-direction: column;
  row-gap: 0.5rem;
  margin-bottom: 3.6rem;
}
@media screen and (max-width: 767px) {
  .lead__text h2 {
    row-gap: 1.282vw;
    margin-bottom: 6.923vw;
  }
}
.lead__text h2 span {
  color: #fff;
  font-size: 4.8rem;
  font-weight: 900;
  line-height: 1.2;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .lead__text h2 span {
    font-size: 6.154vw;
  }
}
.lead__text h2 span.text-box {
  overflow: hidden;
  position: relative;
  width: max-content;
  padding: 1rem 2rem;
}
@media screen and (max-width: 767px) {
  .lead__text h2 span.text-box {
    padding: 2.564vw 5.128vw;
  }
}
.lead__text h2 span.text-box:after {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  background: #212121;
  width: 100%;
  height: 100%;
  z-index: -1;
  transform: translateX(-100%);
}
.lead__text h2 span.text-box.animated:after {
  animation-name: test_box_slide;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
  transform: translateX(0);
}
.lead__text h2 span span {
  font-size: 4rem;
}
@media screen and (max-width: 767px) {
  .lead__text h2 span span {
    font-size: 5.128vw;
  }
}
.lead__text p {
  font-size: 2rem;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .lead__text p {
    font-size: 3.59vw;
  }
}

.cta {
  background-color: #8885d7;
  padding: 7.2rem 0 7rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .cta {
    padding: 6.923vw 0 7.692vw;
  }
}
.cta__container {
  max-width: 1120px;
  margin: auto;
}
@media (max-width: 1120px) {
  .cta__container {
    padding: 0 2rem;
  }
}
@media screen and (max-width: 767px) {
  .cta__container {
    padding: 0 5.128vw;
  }
}
.cta__text {
  color: #fff;
  font-size: 4rem;
  font-weight: 900;
  line-height: 2;
  position: relative;
  z-index: 1;
  margin-bottom: 5.5rem;
}
@media screen and (max-width: 767px) {
  .cta__text {
    font-size: 3.59vw;
    margin-bottom: 7.179vw;
    white-space: nowrap;
    line-height: 3.5;
  }
}
.cta__text span {
  display: inline-block;
}
.cta__text span:not(.text-box) {
  font-size: 3.2rem;
}
@media screen and (max-width: 767px) {
  .cta__text span:not(.text-box) {
    font-size: 2.821vw;
  }
}
.cta__text span.text-box {
  display: inline-block;
  overflow: hidden;
  position: relative;
  width: max-content;
  padding: 1rem 2rem;
  line-height: 1;
  margin: 0 1rem;
  vertical-align: text-top;
}
@media screen and (max-width: 767px) {
  .cta__text span.text-box {
    vertical-align: middle;
    font-size: 3.846vw;
    padding: 2.564vw 3.846vw;
    margin: 0 1.282vw;
  }
}
.cta__text span.text-box:after {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  background: #212121;
  width: 100%;
  height: 100%;
  z-index: -1;
  transform: translateX(-100%);
}
.cta__text span.text-box.animated:after {
  animation-name: test_box_slide;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
  transform: translateX(0);
}
.cta a {
  color: #fff;
  display: block;
  padding: 2.8rem 10rem;
  font-size: 3.2rem;
  font-weight: 700;
  position: relative;
  width: fit-content;
  border: 4px solid #fff;
  background: #373577;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .cta a {
    padding: 5.128vw;
    font-size: 4.615vw;
  }
}
.cta a:hover:after {
  right: -6rem;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .cta a:hover:after {
    right: -15.385vw;
  }
}
.cta a:after {
  content: "";
  display: block;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2280%22%20height%3D%2216%22%20viewBox%3D%220%200%2080%2016%22%3E%20%3Cg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_24%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%2024%22%20transform%3D%22translate(-449%20-37)%22%3E%20%3Cline%20id%3D%22%E7%B7%9A_1%22%20data-name%3D%22%E7%B7%9A%201%22%20x2%3D%2272.5%22%20transform%3D%22translate(449%2050.5)%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-width%3D%225%22%2F%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_70%22%20data-name%3D%22%E3%83%91%E3%82%B9%2070%22%20d%3D%22M0%2C0%2C16%2C16H0Z%22%20transform%3D%22translate(513%2037)%22%20fill%3D%22%23fff%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat;
  background-size: contain;
  display: block;
  width: 8rem;
  height: 1.6rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: -4rem;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .cta a:after {
    width: 12.308vw;
    height: 3.077vw;
    right: -7.692vw;
  }
}

.support {
  background: url("/assets/lp3/images/support_bg.webp") no-repeat center/cover;
  padding: 8rem 0 12rem;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .support {
    background: url("/assets/lp3/images/support_bg_sp.webp") no-repeat center/cover;
    padding: 7.692vw 0 10.256vw;
  }
}
.support__container {
  max-width: 1120px;
  margin: auto;
}
@media (max-width: 1120px) {
  .support__container {
    padding: 0 2rem;
  }
}
@media screen and (max-width: 767px) {
  .support__container {
    padding: 0 5.128vw;
  }
}
.support h2 {
  font-family: var(--barlow);
  font-size: 12rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  position: relative;
}
@media screen and (max-width: 767px) {
  .support h2 {
    font-size: 12.308vw;
  }
}
.support h2:before {
  content: "";
  height: 2px;
  flex-grow: 1;
  background-color: #212121;
  width: 100vw;
  position: absolute;
  left: calc(-100vw - 2rem);
}
@media screen and (max-width: 767px) {
  .support h2:before {
    left: -102.564vw;
  }
}
.support h2 {
  margin-bottom: 5rem;
}
@media screen and (max-width: 767px) {
  .support h2 {
    margin-bottom: 5.128vw;
  }
}
.support__list {
  display: flex;
  flex-direction: column;
  row-gap: 6rem;
}
@media screen and (max-width: 767px) {
  .support__list {
    row-gap: 10.256vw;
  }
}
.support__item {
  display: grid;
  grid-template-columns: 34rem 1fr;
  column-gap: 5rem;
}
@media all and (min-width: 768px) and (max-width: 1024px) {
  .support__item {
    grid-template-columns: 24rem 1fr;
  }
}
@media screen and (max-width: 767px) {
  .support__item {
    grid-template-columns: 1fr;
    gap: 0;
  }
}
.support__item__text h3 {
  color: #fff;
  font-size: 4rem;
  font-weight: 900;
  overflow: hidden;
  width: max-content;
  padding: 1rem 2rem;
  line-height: 1;
  position: relative;
  margin-bottom: 2rem;
}
@media all and (min-width: 768px) and (max-width: 1024px) {
  .support__item__text h3 {
    font-size: 3.2rem;
  }
}
@media screen and (max-width: 767px) {
  .support__item__text h3 {
    font-size: 4.615vw;
    padding: 1.282vw 2.564vw;
    margin-bottom: 0;
    position: relative;
    top: -3.077vw;
    left: -2.564vw;
    z-index: 1;
  }
}
.support__item__text h3 span {
  font-size: 3.2rem;
}
@media all and (min-width: 768px) and (max-width: 1024px) {
  .support__item__text h3 span {
    font-size: 2.5rem;
  }
}
@media screen and (max-width: 767px) {
  .support__item__text h3 span {
    font-size: 3.59vw;
  }
}
.support__item__text h3:after {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  background: #212121;
  width: 100%;
  height: 100%;
  z-index: -1;
  transform: translateX(-100%);
}
.support__item__text h3.animated:after {
  animation-name: test_box_slide;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
  transform: translateX(0);
}
.support__item__text p {
  font-size: 2.4rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .support__item__text p {
    font-size: 3.59vw;
  }
}

.voice {
  background: url("/assets/lp3/images/voice_bg.webp") no-repeat center/cover;
  padding: 8rem 0 12rem;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .voice {
    background: url("/assets/lp3/images/voice_bg_sp.webp") no-repeat center/cover;
    padding: 7.692vw 0 12.821vw;
  }
}
.voice__container {
  max-width: 1120px;
  margin: auto;
}
@media (max-width: 1120px) {
  .voice__container {
    padding: 0 2rem;
  }
}
@media screen and (max-width: 767px) {
  .voice__container {
    padding: 0 5.128vw;
  }
}
.voice h2 {
  font-family: var(--barlow);
  font-size: 12rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  position: relative;
}
@media screen and (max-width: 767px) {
  .voice h2 {
    font-size: 12.308vw;
  }
}
.voice h2:before {
  content: "";
  height: 2px;
  flex-grow: 1;
  background-color: #212121;
  width: 100vw;
  position: absolute;
  left: calc(-100vw - 2rem);
}
@media screen and (max-width: 767px) {
  .voice h2:before {
    left: -102.564vw;
  }
}
.voice h2 {
  margin-bottom: 5rem;
}
@media screen and (max-width: 767px) {
  .voice h2 {
    margin-bottom: 5.128vw;
  }
}
.voice__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0 5rem;
}
@media screen and (max-width: 767px) {
  .voice__list {
    grid-template-columns: 1fr;
    gap: 7.179vw 0;
  }
}
.voice__item {
  background: #fff;
}
.voice__item__text {
  padding: 1.6rem 2rem 5.8rem;
}
@media screen and (max-width: 767px) {
  .voice__item__text {
    padding: 3.077vw 5.128vw 6.41vw;
  }
}
.voice__item__text h3 {
  color: #b12620;
  font-size: 1.8rem;
  font-weight: 900;
  margin-bottom: 1rem;
}
@media screen and (max-width: 767px) {
  .voice__item__text h3 {
    font-size: 4.103vw;
    margin-bottom: 1.282vw;
  }
}
.voice__item__text__salary {
  background: #cb2b24;
  color: #fff;
  font-size: 1.8rem;
  font-weight: 900;
  padding: 0.5rem 1rem;
  width: fit-content;
  margin-bottom: 2rem;
}
@media screen and (max-width: 767px) {
  .voice__item__text__salary {
    font-size: 4.103vw;
    padding: 1.282vw 2.564vw;
    margin-bottom: 4.103vw;
  }
}
.voice__item__text__desc {
  font-weight: 700;
}

.problem {
  background: url("/assets/lp3/images/problem_bg.webp") no-repeat center/cover;
  padding: 11rem 0 0;
  position: relative;
}
@media screen and (max-width: 767px) {
  .problem {
    background: url("/assets/lp3/images/problem_bg_sp.webp") no-repeat center/cover;
    padding: 9.231vw 0 0;
  }
}
.problem:after {
  content: "";
  display: inline-block;
  width: 8rem;
  height: 6rem;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2280%22%20height%3D%2260%22%20viewBox%3D%220%200%2080%2060%22%3E%20%3Cpath%20id%3D%22%E5%A4%9A%E8%A7%92%E5%BD%A2_4%22%20data-name%3D%22%E5%A4%9A%E8%A7%92%E5%BD%A2%204%22%20d%3D%22M40%2C0%2C80%2C60H0Z%22%20transform%3D%22translate(80%2060)%20rotate(180)%22%20fill%3D%22%23cb2b24%22%2F%3E%3C%2Fsvg%3E") no-repeat center/contain;
  position: absolute;
  left: 50%;
  bottom: -3rem;
  transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  .problem:after {
    width: 10.256vw;
    height: 7.692vw;
    bottom: -5.128vw;
  }
}
.problem__container {
  max-width: 1120px;
  margin: auto;
}
@media (max-width: 1120px) {
  .problem__container {
    padding: 0 2rem;
  }
}
@media screen and (max-width: 767px) {
  .problem__container {
    padding: 0 5.128vw;
  }
}
.problem h2 {
  color: #fff;
  font-size: 4rem;
  font-weight: 900;
  text-align: center;
  margin-bottom: 2.8rem;
}
@media screen and (max-width: 767px) {
  .problem h2 {
    font-size: 5.128vw;
    margin-bottom: 7.179vw;
  }
}
.problem h2 span {
  font-size: 3.2rem;
}
@media screen and (max-width: 767px) {
  .problem h2 span {
    font-size: 4.103vw;
  }
}
.problem__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  column-gap: 8rem;
  padding: 0 6.5rem;
}
@media all and (min-width: 768px) and (max-width: 1024px) {
  .problem__inner {
    align-items: initial;
    padding: 0;
  }
}
@media screen and (max-width: 767px) {
  .problem__inner {
    display: block;
    padding: 0 0 12.821vw;
  }
}
.problem__list {
  padding: 2.4rem 3.5rem 4rem;
  background: rgba(223, 223, 223, 0.9);
  flex-grow: 1;
  margin: 5rem 0 6.5rem;
}
@media screen and (max-width: 767px) {
  .problem__list {
    padding: 3.846vw 3.846vw 5.128vw;
    margin: 0;
  }
}
.problem__list li {
  font-size: 2.4rem;
  font-weight: 700;
  padding: 1.6rem 1rem;
  border-bottom: 1px dashed #212121;
  display: flex;
  align-items: center;
  column-gap: 2rem;
}
@media all and (min-width: 768px) and (max-width: 1024px) {
  .problem__list li {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .problem__list li {
    font-size: 3.59vw;
    padding: 4.103vw 2.564vw;
    column-gap: 1.282vw;
  }
}
.problem__list li:before {
  content: "";
  display: inline-block;
  width: 2.4rem;
  height: 2.4rem;
  background: url("/assets/lp3/images/check.svg") no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .problem__list li:before {
    width: 3.077vw;
    height: 3.077vw;
  }
}
.problem__image {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
@media screen and (max-width: 767px) {
  .problem__image {
    position: absolute;
    bottom: 0;
    right: 2.564vw;
  }
}
.problem__image img {
  margin-top: auto;
}
@media screen and (max-width: 767px) {
  .problem__image img {
    height: 38.974vw;
  }
}

.possible {
  background: url("/assets/lp3/images/possible_bg.webp") no-repeat center/cover;
  padding: 10rem 0 12rem;
}
@media screen and (max-width: 767px) {
  .possible {
    background: url("/assets/lp3/images/possible_bg_sp.webp") no-repeat center/cover;
  }
}
.possible__container {
  max-width: 1120px;
  margin: auto;
}
@media (max-width: 1120px) {
  .possible__container {
    padding: 0 2rem;
  }
}
@media screen and (max-width: 767px) {
  .possible__container {
    padding: 0 5.128vw;
  }
}
.possible h2 {
  color: #fff;
  font-size: 3.6rem;
  font-weight: 900;
  text-align: center;
  margin-bottom: 2.8rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 1rem;
}
@media all and (min-width: 768px) and (max-width: 1024px) {
  .possible h2 {
    font-size: 3rem;
  }
}
@media screen and (max-width: 767px) {
  .possible h2 {
    font-size: 4.103vw;
    margin-bottom: 7.692vw;
  }
}
.possible h2 .text-box {
  overflow: hidden;
  width: max-content;
  position: relative;
  z-index: 1;
  padding: 0.5rem 6rem;
}
@media screen and (max-width: 767px) {
  .possible h2 .text-box {
    padding: 1.282vw 7.692vw;
  }
}
.possible h2 .text-box:after {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  background: #212121;
  width: 100%;
  height: 100%;
  z-index: -1;
  transform: translateX(-100%);
  background: #cb2b24;
}
.possible h2 .text-box.animated:after {
  animation-name: test_box_slide;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
  transform: translateX(0);
}
.possible h2 .text-box span {
  font-size: 3.2rem;
}
@media all and (min-width: 768px) and (max-width: 1024px) {
  .possible h2 .text-box span {
    font-size: 2.8rem;
  }
}
@media screen and (max-width: 767px) {
  .possible h2 .text-box span {
    font-size: 3.59vw;
  }
}
.possible__list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0 4rem;
  margin-bottom: 4rem;
}
@media screen and (max-width: 767px) {
  .possible__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2.564vw;
    margin-bottom: 4.615vw;
  }
}
.possible__item {
  padding: 4rem 0;
  background: #fff;
  text-align: center;
  display: flex;
  flex-direction: column;
  row-gap: 3.6rem;
}
@media screen and (max-width: 767px) {
  .possible__item {
    padding: 5.128vw 0;
    row-gap: 3.077vw;
  }
}
.possible__item img {
  max-height: 7.2rem;
}
@media screen and (max-width: 767px) {
  .possible__item img {
    max-height: 12.308vw;
  }
}
.possible__item p {
  font-size: 2rem;
  font-weight: 900;
}
@media screen and (max-width: 767px) {
  .possible__item p {
    font-size: 3.59vw;
  }
}
.possible h3 {
  font-size: 4rem;
  font-weight: 900;
  margin-bottom: 14rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .possible h3 {
    font-size: 4.615vw;
    margin-bottom: 11.538vw;
  }
}
.possible h3 span {
  font-size: 3.2rem;
}
@media screen and (max-width: 767px) {
  .possible h3 span {
    font-size: 3.59vw;
  }
}
.possible__text {
  background: #fff;
  padding: 4.5rem 4rem 0;
  position: relative;
}
@media screen and (max-width: 767px) {
  .possible__text {
    padding: 11.538vw 12.821vw 0 5.128vw;
  }
}
.possible__text h4 {
  position: absolute;
  top: -2.8rem;
  left: 50%;
  transform: translateX(-50%);
  color: #fff;
  font-size: 4rem;
  font-weight: 900;
  text-align: center;
  padding: 0 8rem;
  width: max-content;
  background: #cb2b24;
}
@media screen and (max-width: 767px) {
  .possible__text h4 {
    top: -4.103vw;
    font-size: 4.103vw;
    padding: 1.282vw 9.231vw;
  }
}
.possible__text h4 span {
  font-size: 3.2rem;
}
@media screen and (max-width: 767px) {
  .possible__text h4 span {
    font-size: 4.103vw;
  }
}
.possible__text__content {
  display: flex;
  justify-content: space-between;
  column-gap: 2rem;
}
@media screen and (max-width: 767px) {
  .possible__text__content {
    flex-direction: column;
    gap: 2.564vw 0;
  }
}
.possible__text__list {
  padding-top: 2rem;
}
@media screen and (max-width: 767px) {
  .possible__text__list {
    padding-top: 0;
  }
}
.possible__text__list ol {
  display: flex;
  flex-direction: column;
  gap: 1rem 0;
}
@media screen and (max-width: 767px) {
  .possible__text__list ol {
    gap: 2.564vw 0;
  }
}
.possible__text__list ol li {
  display: flex;
  align-items: center;
  column-gap: 3rem;
  font-size: 2.4rem;
  font-weight: 900;
}
@media screen and (max-width: 767px) {
  .possible__text__list ol li {
    column-gap: 2.564vw;
    font-size: 4.103vw;
  }
}
.possible__text__list ol li span {
  color: #fff;
  background: #212121;
  display: inline-block;
  width: 6.4rem;
  height: 6.4rem;
  display: grid;
  place-items: center;
  font-family: var(--barlow);
  font-size: 3.2rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .possible__text__list ol li span {
    width: 9.231vw;
    height: 9.231vw;
    font-size: 4.615vw;
  }
}
@media screen and (max-width: 767px) {
  .possible__text__image img {
    margin: auto;
    max-height: 30.769vw;
  }
}

.qa {
  padding: 8rem 0 11rem;
  background: url("/assets/lp3/images/qa_bg.webp") no-repeat center/cover;
}
@media screen and (max-width: 767px) {
  .qa {
    background: url("/assets/lp3/images/qa_bg_sp.webp") no-repeat center/cover;
    padding: 7.692vw 0 25.641vw;
  }
}
.qa__container {
  max-width: 1120px;
  margin: auto;
}
@media (max-width: 1120px) {
  .qa__container {
    padding: 0 2rem;
  }
}
@media screen and (max-width: 767px) {
  .qa__container {
    padding: 0 5.128vw;
  }
}
.qa dl dt > span,
.qa dl .qa__head > span {
  font-family: var(--barlow);
  font-size: 12rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .qa dl dt > span,
  .qa dl .qa__head > span {
    font-size: 10.256vw;
  }
}
.qa dl dt {
  font-size: 4rem;
  font-weight: 900;
}
@media screen and (max-width: 767px) {
  .qa dl dt {
    font-size: 3.59vw;
  }
}
.qa dl dd {
  padding-left: 11rem;
  display: flex;
  flex-direction: column;
  row-gap: 1rem;
}
@media screen and (max-width: 767px) {
  .qa dl dd {
    padding-left: 0;
    row-gap: 0;
  }
}
.qa dl dd .qa__head {
  color: #cb2b24;
  line-height: 1;
  font-size: 4rem;
  font-weight: 900;
}
@media screen and (max-width: 767px) {
  .qa dl dd .qa__head {
    font-size: 4.615vw;
  }
}
.qa dl dd .qa__num {
  font-family: var(--barlow);
  font-size: 12rem;
  font-weight: 700;
  padding-left: 11rem;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .qa dl dd .qa__num {
    font-size: 15.385vw;
    padding-left: 9.231vw;
  }
}
.qa dl dd .qa__text {
  padding-left: 11rem;
  font-size: 2rem;
  font-weight: 700;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .qa dl dd .qa__text {
    font-size: 3.59vw;
    padding-left: 9.231vw;
  }
}

.flow {
  background: url("/assets/lp3/images/flow_bg.webp") no-repeat center/cover;
  padding: 10rem 0 12rem;
}
@media screen and (max-width: 767px) {
  .flow {
    background: url("/assets/lp3/images/flow_bg_sp.webp") no-repeat center/cover;
    padding: 7.692vw 0 12.821vw;
  }
}
.flow__container {
  max-width: 1120px;
  margin: auto;
}
@media (max-width: 1120px) {
  .flow__container {
    padding: 0 2rem;
  }
}
@media screen and (max-width: 767px) {
  .flow__container {
    padding: 0 5.128vw;
  }
}
.flow h2 {
  font-family: var(--barlow);
  font-size: 12rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  position: relative;
}
@media screen and (max-width: 767px) {
  .flow h2 {
    font-size: 12.308vw;
  }
}
.flow h2:before {
  content: "";
  height: 2px;
  flex-grow: 1;
  background-color: #212121;
  width: 100vw;
  position: absolute;
  left: calc(-100vw - 2rem);
}
@media screen and (max-width: 767px) {
  .flow h2:before {
    left: -102.564vw;
  }
}
.flow h2 {
  margin-bottom: 5rem;
}
@media screen and (max-width: 767px) {
  .flow h2 {
    margin-bottom: 5.128vw;
  }
}
.flow__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5rem 6rem;
}
@media screen and (max-width: 767px) {
  .flow__list {
    grid-template-columns: 1fr;
    gap: 6.154vw 0;
  }
}
.flow__item:not(:last-of-type) {
  display: flex;
  align-items: center;
  column-gap: 2rem;
  font-size: 2rem;
  font-weight: 900;
  background: #fff;
  position: relative;
  padding-right: 10rem;
}
@media screen and (max-width: 767px) {
  .flow__item:not(:last-of-type) {
    column-gap: 2.564vw;
    font-size: 3.59vw;
    padding-right: 23.077vw;
  }
}
.flow__item:last-of-type {
  font-size: 4rem;
  font-weight: 900;
  color: #cb2b24;
  text-align: end;
}
@media screen and (max-width: 767px) {
  .flow__item:last-of-type {
    font-size: 4.615vw;
    text-align: center;
  }
}
.flow__item:last-of-type span {
  font-family: var(--barlow);
  font-size: 7.2rem;
  font-weight: 700;
  line-height: 0;
}
@media screen and (max-width: 767px) {
  .flow__item:last-of-type span {
    font-size: 9.231vw;
  }
}
.flow__item__num {
  color: #fff;
  background: #212121;
  display: inline-block;
  width: 6.4rem;
  height: 6.4rem;
  display: grid;
  place-items: center;
  font-family: var(--barlow);
  font-size: 3.2rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .flow__item__num {
    width: 12.308vw;
    height: 12.308vw;
    font-size: 4.615vw;
  }
}
.flow__item__image {
  position: absolute;
  right: 0;
  bottom: 0;
}
@media screen and (max-width: 767px) {
  .flow__item__image img {
    max-height: 15.385vw;
  }
}

.entry {
  background: url("/assets/lp3/images/entry_bg.webp") no-repeat center/cover;
  padding: 12rem 0;
}
@media screen and (max-width: 767px) {
  .entry {
    background: url("/assets/lp3/images/entry_bg_sp.webp") no-repeat center/cover;
    padding: 14.359vw 0 15.385vw;
  }
}
.entry__container {
  max-width: 1120px;
  margin: auto;
}
@media (max-width: 1120px) {
  .entry__container {
    padding: 0 2rem;
  }
}
@media screen and (max-width: 767px) {
  .entry__container {
    padding: 0 5.128vw;
  }
}
.entry__content {
  background: #fff;
  border: 5px solid #373577;
  padding: 6.5rem 10rem 8rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .entry__content {
    padding: 11.538vw 5.128vw 10.256vw;
  }
}
.entry__content:after {
  content: "";
  display: block;
  width: 34rem;
  height: 5px;
  background: #fff;
  position: absolute;
  top: -5px;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  .entry__content:after {
    width: 55.385vw;
  }
}
.entry__content h2 {
  font-size: 4rem;
  font-weight: 900;
  color: #373577;
  text-align: center;
  position: absolute;
  top: -4rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .entry__content h2 {
    font-size: 6.154vw;
    top: -6.154vw;
  }
}
.entry__lead {
  margin-bottom: 5rem;
}
@media screen and (max-width: 767px) {
  .entry__lead {
    margin-bottom: 8.974vw;
  }
}
.entry .progress {
  position: relative;
  display: flex;
  justify-content: space-between;
  margin-bottom: 6rem;
}
@media screen and (max-width: 767px) {
  .entry .progress {
    margin-bottom: 10.256vw;
  }
}
.entry .progress li {
  position: relative;
  list-style-type: none;
  text-align: center;
  text-transform: uppercase;
  color: #8885d7;
  font-weight: bold;
  width: 14.2857142857%;
}
@media screen and (max-width: 767px) {
  .entry .progress li {
    font-size: 2.564vw;
    white-space: nowrap;
  }
}
.entry .progress li.active, .entry .progress li.complete {
  color: #373577;
}
.entry .progress li.active:before, .entry .progress li.active:after, .entry .progress li.complete:before, .entry .progress li.complete:after {
  background-color: #373577;
}
.entry .progress li:first-child:after {
  content: none;
}
.entry .progress li:before {
  display: block;
  width: 2.4rem;
  height: 2.4rem;
  margin: 0 auto 1.4rem;
  content: "";
  text-align: center;
  border-radius: 50%;
  background-color: currentColor;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .entry .progress li:before {
    width: 3.077vw;
    height: 3.077vw;
    margin: 0 auto 2.564vw;
  }
}
.entry .progress li:after {
  position: absolute;
  z-index: 0;
  top: 1.2rem;
  left: -50%;
  width: 100%;
  height: 2px;
  content: "";
  background-color: #8885d7;
}
@media screen and (max-width: 767px) {
  .entry .progress li:after {
    top: 1.282vw;
  }
}
.entry #question-container > div {
  display: none;
}
.entry #question-container > div.current {
  display: flex;
  flex-direction: column;
}
.entry .question-item .head {
  text-align: center;
  font-size: 1.8rem;
  font-weight: 700;
  margin-bottom: 5rem;
}
@media screen and (max-width: 767px) {
  .entry .question-item .head {
    font-size: 3.59vw;
    margin-bottom: 7.692vw;
  }
}
.entry .question-item .head span {
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
  .entry .question-item .head span {
    font-size: 3.077vw;
  }
}
.entry .question-item .answers {
  max-width: 640px;
  margin: auto;
}
@media (max-width: 640px) {
  .entry .question-item .answers {
    padding: 0 2rem;
  }
}
@media screen and (max-width: 767px) {
  .entry .question-item .answers {
    padding: 0 5.128vw;
  }
}
@media screen and (max-width: 767px) {
  .entry .question-item .answers {
    padding: 0;
  }
}
.entry .question-item .answers.__check {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2rem 4rem;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .entry .question-item .answers.__check {
    gap: 3.846vw;
  }
}
.entry .question-item .answers.__check .check-button label {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 6.4rem;
  background: #f3f3fb;
  border: 1px solid #373577;
  font-size: 1.8rem;
  font-weight: 700;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .entry .question-item .answers.__check .check-button label {
    width: 100%;
    height: 14.359vw;
    font-size: 3.59vw;
    padding: 0 1.282vw;
  }
}
.entry .question-item .answers.__check .check-button input[type=checkbox],
.entry .question-item .answers.__check .check-button input[type=radio] {
  display: none;
}
.entry .question-item .answers.__check .check-button input[type=checkbox]:checked + label,
.entry .question-item .answers.__check .check-button input[type=radio]:checked + label {
  background-color: #373577;
  color: #ffffff;
}
.entry .question-item.__text {
  max-width: 60rem;
  margin: auto;
  row-gap: 2rem;
}
.entry .question-item.__text .form-item label {
  display: block;
  font-size: 1.8rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
}
@media screen and (max-width: 767px) {
  .entry .question-item.__text .form-item label {
    font-size: 4.103vw;
    margin-bottom: 1.282vw;
    padding: 0 2.564vw;
  }
}
.entry .question-item.__text .form-item .input-item {
  display: flex;
  align-items: center;
  gap: 0 2.5rem;
}
@media screen and (max-width: 767px) {
  .entry .question-item.__text .form-item .input-item {
    gap: 0 6.41vw;
  }
}
.entry .question-item.__text .form-item .input-item.__barth {
  gap: 0 0.5rem;
}
@media screen and (max-width: 767px) {
  .entry .question-item.__text .form-item .input-item.__barth {
    gap: 0 1.282vw;
  }
}
.entry .question-item.__text .form-item .input-item.__select {
  width: 100%;
  position: relative;
  z-index: 1;
}
.entry .question-item.__text .form-item .input-item.__select select {
  cursor: pointer;
  display: block;
  padding: 1rem;
  border: 1px solid #212121;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .entry .question-item.__text .form-item .input-item.__select select {
    padding: 2.564vw;
  }
}
.entry .question-item.__text .form-item .input-item.__select:after {
  content: "";
  display: block;
  width: 2.4rem;
  height: 2.4rem;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22currentColor%22%20class%3D%22size-6%22%3E%20%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22m19.5%208.25-7.5%207.5-7.5-7.5%22%20%2F%3E%3C%2Fsvg%3E") no-repeat center/contain;
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%);
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .entry .question-item.__text .form-item .input-item.__select:after {
    width: 3.077vw;
    height: 3.077vw;
    right: 1.282vw;
  }
}
.entry .question-item.__text .form-item .input-item input {
  display: block;
  padding: 1rem;
  border: 1px solid #212121;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .entry .question-item.__text .form-item .input-item input {
    padding: 2.564vw;
  }
}
.entry {
  /* 「1つ戻る」ボタンと「次へ」ボタンを非表示にする */
}
.entry .buttons {
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 2rem;
  margin-top: 6rem;
}
@media screen and (max-width: 767px) {
  .entry .buttons {
    column-gap: 5.128vw;
    margin-top: 10.256vw;
  }
}
.entry .buttons button {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.8rem;
  width: 32rem;
  height: 6rem;
}
@media screen and (max-width: 767px) {
  .entry .buttons button {
    font-size: 4.103vw;
    width: 100%;
    height: 16.41vw;
  }
}
.entry .prev-button {
  border: 1px solid #212121;
}
.entry .next-button {
  opacity: 0.4;
  pointer-events: none;
  color: #fff;
  background: #373577;
  border: 1px solid #373577;
}
.entry .next-button:hover {
  background: #212121;
  border: 1px solid #212121;
}
.entry__sponsor {
  margin-top: 6rem;
}
.entry__sponsor img {
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .entry__sponsor img {
    max-width: 61.538vw;
  }
}
.entry__sponsor p {
  font-size: 1.4rem;
  text-align: center;
  margin-top: 1rem;
}
@media screen and (max-width: 767px) {
  .entry__sponsor p {
    font-size: 3.077vw;
    margin-top: 2.051vw;
  }
}

.fixed-cta {
  background: rgba(136, 133, 215, 0.6);
  padding: 2rem;
  position: fixed;
  left: 0;
  bottom: 0;
  z-index: 100;
  width: 100%;
  opacity: 0;
  transition: opacity 0.3s;
}
@media screen and (max-width: 767px) {
  .fixed-cta {
    padding: 3.077vw 0;
  }
}
.fixed-cta.visible {
  opacity: 1;
  transition: opacity 0.3s;
}
.fixed-cta__container {
  max-width: 1120px;
  margin: auto;
}
@media (max-width: 1120px) {
  .fixed-cta__container {
    padding: 0 2rem;
  }
}
@media screen and (max-width: 767px) {
  .fixed-cta__container {
    padding: 0 5.128vw;
  }
}
.fixed-cta__container {
  position: relative;
}
.fixed-cta__inner {
  display: flex;
  align-items: center;
  column-gap: 10rem;
}
@media screen and (max-width: 767px) {
  .fixed-cta__inner {
    display: block;
  }
}
.fixed-cta__text {
  padding-left: 20rem;
  font-size: 3.2rem;
  font-weight: 900;
}
@media screen and (max-width: 767px) {
  .fixed-cta__text {
    padding-left: 33.333vw;
    font-size: 3.59vw;
    margin-bottom: 2.564vw;
  }
}
.fixed-cta img {
  position: absolute;
  left: 4.5rem;
  bottom: -2rem;
}
@media screen and (max-width: 767px) {
  .fixed-cta img {
    left: 0;
    bottom: -3.077vw;
    max-height: 29.744vw;
  }
}
.fixed-cta a {
  display: block;
  background: #373577;
  border-radius: 4px;
  padding: 2.8rem 6rem;
  color: #fff;
  font-size: 2.4rem;
  font-weight: 700;
  width: fit-content;
}
@media screen and (max-width: 767px) {
  .fixed-cta a {
    width: fit-content;
    margin-left: auto;
    padding: 4.103vw 8.205vw;
    font-size: 4.615vw;
  }
}

.footer {
  background: #212121;
  color: #fff;
  padding: 2.5rem 0;
}
@media screen and (max-width: 767px) {
  .footer {
    padding: 4.615vw 0;
  }
}
.footer__container {
  max-width: 1120px;
  margin: auto;
}
@media (max-width: 1120px) {
  .footer__container {
    padding: 0 2rem;
  }
}
@media screen and (max-width: 767px) {
  .footer__container {
    padding: 0 5.128vw;
  }
}
.footer__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .footer__inner {
    flex-direction: column-reverse;
    justify-content: initial;
    align-items: initial;
    row-gap: 2.051vw;
  }
}
.footer__inner ul {
  display: flex;
  align-items: center;
  column-gap: 3rem;
}
@media screen and (max-width: 767px) {
  .footer__inner ul {
    column-gap: 10.256vw;
    justify-content: center;
  }
}
.footer__inner ul li a {
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
  .footer__inner ul li a {
    font-size: 3.077vw;
  }
}
.footer__copy {
  font-family: var(--barlow);
}
@media screen and (max-width: 767px) {
  .footer__copy {
    text-align: center;
  }
}

.webp .kv {
  background: url("/assets/lp3_2/images/kv.webp") no-repeat center/cover;
}
@media screen and (max-width: 767px) {
  .webp .kv {
    background: url("/assets/lp3_2/images/kv_sp.webp") no-repeat top/contain;
    background-color: #373577;
  }
}
.webp .kv-bottom {
  background: url("/assets/lp3/images/kv_bottom_bg.webp") no-repeat center/cover;
}
@media screen and (max-width: 767px) {
  .webp .kv-bottom {
    background: url("/assets/lp3/images/kv_bottom_bg_sp.webp") no-repeat center/cover;
  }
}
.webp .lead {
  background: url("/assets/lp3/images/lead_bg.webp") no-repeat center/cover;
}
@media screen and (max-width: 767px) {
  .webp .lead {
    background: url("/assets/lp3/images/lead_bg_sp.webp") no-repeat center/cover;
  }
}
.webp .support {
  background: url("/assets/lp3/images/support_bg.webp") no-repeat center/cover;
}
@media screen and (max-width: 767px) {
  .webp .support {
    background: url("/assets/lp3/images/support_bg_sp.webp") no-repeat center/cover;
  }
}
.webp .voice {
  background: url("/assets/lp3/images/voice_bg.webp") no-repeat center/cover;
}
@media screen and (max-width: 767px) {
  .webp .voice {
    background: url("/assets/lp3/images/voice_bg_sp.webp") no-repeat center/cover;
  }
}
.webp .problem {
  background: url("/assets/lp3/images/problem_bg.webp") no-repeat center/cover;
}
@media screen and (max-width: 767px) {
  .webp .problem {
    background: url("/assets/lp3/images/problem_bg_sp.webp") no-repeat center/cover;
  }
}
.webp .possible {
  background: url("/assets/lp3/images/possible_bg.webp") no-repeat center/cover;
}
@media screen and (max-width: 767px) {
  .webp .possible {
    background: url("/assets/lp3/images/possible_bg_sp.webp") no-repeat center/cover;
  }
}
.webp .qa {
  background: url("/assets/lp3/images/qa_bg.webp") no-repeat center/cover;
}
@media screen and (max-width: 767px) {
  .webp .qa {
    background: url("/assets/lp3/images/qa_bg_sp.webp") no-repeat center/cover;
  }
}
.webp .flow {
  background: url("/assets/lp3/images/flow_bg.webp") no-repeat center/cover;
}
@media screen and (max-width: 767px) {
  .webp .flow {
    background: url("/assets/lp3/images/flow_bg_sp.webp") no-repeat center/cover;
  }
}
.webp .entry {
  background: url("/assets/lp3/images/entry_bg.webp") no-repeat center/cover;
}
@media screen and (max-width: 767px) {
  .webp .entry {
    background: url("/assets/lp3/images/entry_bg_sp.webp") no-repeat center/cover;
  }
}

.thanks {
  padding-top: 20rem;
  min-height: 100vh;
}
@media screen and (max-width: 767px) {
  .thanks {
    padding-top: 15.385vw;
  }
}
.thanks .thanks__header {
  font-weight: 700;
  margin-bottom: 20rem;
  text-align: center;
}
.thanks .thanks__header.__2 {
  padding-top: 10rem;
}
@media screen and (max-width: 767px) {
  .thanks .thanks__header {
    font-size: 3.59vw;
    margin-bottom: 25.641vw;
  }
}
.thanks .thanks__header .head {
  font-size: 2rem;
  margin-bottom: 2rem;
}
@media screen and (max-width: 767px) {
  .thanks .thanks__header .head {
    font-size: 3.59vw;
  }
}
.thanks .thanks__header .line-head {
  font-size: 1.8rem;
  margin-bottom: 1rem;
  text-align: center;
}
.thanks .thanks__header .line-head span {
  color: var(--main-red);
  font-size: 2.4rem;
  display: block;
}
@media screen and (max-width: 767px) {
  .thanks .thanks__header .line-head span {
    font-size: 4.615vw;
  }
}
@media screen and (max-width: 767px) {
  .thanks .thanks__header .line-head {
    font-size: 4.103vw;
  }
}
.thanks .line-cv.__bottom {
  margin-bottom: 10rem;
}
.thanks .line-cv a {
  display: block;
  font-size: 1.8rem;
  font-weight: 700;
  color: #fff;
  background-color: #06c755;
  border-radius: 10px;
  padding: 1.5rem 4rem;
  width: fit-content;
  margin: 0 auto 3rem;
}
@media screen and (max-width: 767px) {
  .thanks .line-cv a {
    font-size: 3.846vw;
  }
}
.thanks .line-cv .qr {
  max-width: 24rem;
  margin: auto;
}
