:root {
  --color-black: #000;
  --color-blue: #f2f4f8;
  --color-navy: #000048;
  --color-orange: #f77911;
  --color-white: #fff;
  --ff-ls-b: "LINESeedJPStd Bold", sans-serif;
  --ff-ls-eb: "LINESeedJPStd ExtraBold", sans-serif;
  --ff-ls-m: "LINESeedJPStd Regular", sans-serif;
  --ff-ls-t: "LINESeedJPStd Thin", sans-serif;
  --hover-duration: 0.3s;
  --m-24: 24px;
  --m-40: 40px;
}

/* ---------------------------------------------
*  c-cta
--------------------------------------------- */
.c-cta {
  margin-top: var(--m-40);
}
.c-cta__title {
  font-family: var(--ff-ls-b);
  font-size: 2.4rem;
  line-height: 1.5833333333;
}
@media (max-width: 1023px) {
  .c-cta__title {
    font-size: 2rem;
    text-align: center;
  }
}
.c-cta__txt {
  font-family: var(--ff-ls-m);
  font-size: 1.5rem;
  letter-spacing: 0.01em;
  line-height: 1.7142857143;
  margin-top: 22px;
}
.c-cta__txt-b {
  font-family: var(--ff-ls-b);
  font-size: 1.5rem;
  letter-spacing: 0.01em;
  line-height: 1.7142857143;
  margin-top: 22px;
}
@media (max-width: 1023px) {
  .c-cta__txt {
    margin-top: 12px;
  }
}
.c-cta__btn {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  margin-top: 40px;
  width: 100%;
}
@media (max-width: 1023px) {
  .c-cta__btn {
    align-items: center;
    margin-top: 24px;
    text-align: center;
  }
}
.c-cta__btn-2 {
  display: flex;
  gap: 4%;
  justify-content: center;
  margin-top: 40px;
  width: 100%;
}
@media (max-width: 1023px) {
  .c-cta__btn-2 {
    flex-direction: column;
    gap: 16px;
  }
}
.c-cta__btn-2 .c-cta__link {
  flex: 1;
}
.c-cta__link {
  border-radius: 32px;
  display: inline-block;
  padding-block: 12px 13px;
  padding-inline: 28px 50px;
  position: relative;
  transition: background-color 0.3s ease-out, transform 0.3s ease-out;
}
@media (max-width: 1023px) {
  .c-cta__link {
    padding-block: 14px 12px;
  }
}
.c-cta__link span {
  color: var(--color-white);
  font-family: var(--ff-ls-b);
  font-size: 1.4rem;
  line-height: 1.4285714286;
}
.c-cta__link:hover {
  text-decoration: none;
}
.c-cta__link--orange {
  background: var(--color-orange);
  border: 1.5px solid var(--color-orange);
}
.c-cta__link--orange:hover {
  background: var(--color-white);
}
.c-cta__link--orange:hover span {
  color: var(--color-orange);
}
.c-cta__link--white {
  background: var(--color-white);
  border: 1.5px solid var(--color-white);
}
.c-cta__link--white span {
  color: var(--color-navy);
}
.c-cta__link--white:hover {
  background: var(--color-navy);
}
.c-cta__link--white:hover span {
  color: var(--color-white);
}
.c-cta__link--dl:before {
  background: url(/sites/default/files/media/jp/column/component/img/icon_cta-1.svg) center center no-repeat;
  background-size: contain;
  content: "";
  height: 26px;
  margin-left: 10px;
  position: absolute;
  right: 13px;
  top: 50%;
  transform: translateY(-50%);
  width: 26px;
}
.c-cta__link--dl:hover::before {
  background: url(/sites/default/files/media/jp/column/component/img/icon_cta-1_hover.svg) center center no-repeat;
  background-size: contain;
  content: "";
}
.c-cta__link--dl-2:before {
  background: url(/sites/default/files/media/jp/column/component/img/icon_cta-4.svg) center center no-repeat;
  background-size: contain;
  content: "";
  height: 26px;
  margin-left: 10px;
  position: absolute;
  right: 13px;
  top: 50%;
  transform: translateY(-50%);
  width: 26px;
}
.c-cta__link--dl-2:hover::before {
  background: url(/sites/default/files/media/jp/column/component/img/icon_cta-4_hover.svg) center center no-repeat;
  background-size: contain;
  content: "";
}
.c-cta__link--arrow:before {
  background: url(/sites/default/files/media/jp/column/component/img/icon_cta-2.svg) center center no-repeat;
  background-size: contain;
  content: "";
  height: 26px;
  margin-left: 10px;
  position: absolute;
  right: 13px;
  top: 50%;
  transform: translateY(-50%);
  width: 26px;
}
.c-cta__link--arrow:hover::before {
  background: url(/sites/default/files/media/jp/column/component/img/icon_cta-2_hover.svg) center center no-repeat;
  background-size: contain;
  content: "";
}
.c-cta__link--arrow-2:before {
  background: url(/sites/default/files/media/jp/column/component/img/icon_cta-3.svg) center center no-repeat;
  background-size: contain;
  content: "";
  height: 26px;
  margin-left: 10px;
  position: absolute;
  right: 13px;
  top: 50%;
  transform: translateY(-50%);
  width: 26px;
}
.c-cta__link--arrow-2:hover::before {
  background: url(/sites/default/files/media/jp/column/component/img/icon_cta-3_hover.svg) center center no-repeat;
  background-size: contain;
  content: "";
}
.c-cta__btn--txt {
  display: block;
  font-family: var(--ff-ls-b);
  font-size: 1.2rem;
  max-width: 232px;
  text-align: center;
  width: 100%;
}
@media (max-width: 1023px) {
  .c-cta__btn--txt {
    max-width: unset;
  }
}
/* ---------------------------------------------
*  c-cta-1
--------------------------------------------- */
.c-cta-1 {
  background: var(--color-blue);
  border-radius: 10px;
  padding: 64px;
}
@media (max-width: 1023px) {
  .c-cta-1 {
    padding: 24px;
  }
}
.c-cta-1__inner {
  align-items: center;
  display: flex;
  gap: 6.4285714286%;
  justify-content: center;
}
@media (max-width: 1023px) {
  .c-cta-1__inner {
    flex-direction: column;
    gap: 30px;
  }
}
.c-cta-1__img {
  box-shadow: 10px 10px 25px 0 rgba(0, 0, 0, 0.1);
  max-width: 380px !important;
  width: 100%;
}

/* ---------------------------------------------
*  c-cta-2
--------------------------------------------- */
.c-cta-2 {
  background: var(--color-blue);
  border-radius: 10px;
  padding: 64px;
}
.c-cta-2__inner {
  align-items: center;
  display: flex;
  gap: 6.4285714286%;
  justify-content: center;
}
.c-cta-2__img {
  box-shadow: 10px 10px 25px 0 rgba(0, 0, 0, 0.1);
  max-width: 380px !important;
  width: 100%;
}

/* ---------------------------------------------
*  c-cta-3
--------------------------------------------- */
.c-cta-3 {
  background: var(--color-blue);
  border-radius: 10px;
  margin-inline: auto;
  max-width: 600px !important;
  padding: 56px 75px;
  width: 100%;
}
@media (max-width: 1023px) {
  .c-cta-3 {
    padding: 24px;
  }
}
.c-cta-3__inner {
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.c-cta-3__img {
  box-shadow: 0 5px 25px 0 rgba(0, 0, 0, 0.1);
  margin-top: 32px;
  max-width: 450px !important;
  width: 100%;
}
@media (max-width: 1023px) {
  .c-cta-3__img {
    margin-top: 16px;
  }
}
.c-cta-3 .c-cta__btn {
  align-items: center;
  text-align: center;
}

/* ---------------------------------------------
*  c-cta-4
--------------------------------------------- */
.c-cta-4 {
  background: var(--color-navy);
  border-radius: 10px;
  margin-inline: auto;
  max-width: 600px !important;
  padding: 56px 51px;
  width: 100%;
}
@media (max-width: 1023px) {
  .c-cta-4 {
    padding: 24px;
  }
}
.c-cta-4__inner {
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.c-cta-4__img {
  box-shadow: 0 5px 25px 0 rgba(0, 0, 0, 0.1);
  margin-top: 32px;
  max-width: 450px !important;
  width: 100%;
}
@media (max-width: 1023px) {
  .c-cta-4__img {
    margin-top: 16px;
  }
}
.c-cta-4 .c-cta__title {
  color: var(--color-white);
}
.c-cta-4 .c-cta__txt {
  color: var(--color-white);
}

/* ---------------------------------------------
*  c-cta-5
--------------------------------------------- */
.c-cta-5 {
  display: flex;
  gap: 2.4489795918%;
  justify-content: center;
  margin-top: 120px;
}
@media (max-width: 1023px) {
  .c-cta-5 {
    flex-direction: column;
    gap: 120px;
  }
}
.c-cta-5__inner {
  background: var(--color-blue);
  border-radius: 10px;
  flex: 1;
  padding: 119px 51px 64px;
  position: relative;
}
@media (max-width: 1023px) {
  .c-cta-5__inner {
    padding: 100px 24px 24px;
  }
}
.c-cta-5__img {
  box-shadow: 0 5px 25px 0 rgba(0, 0, 0, 0.1);
  left: 50%;
  max-width: 282px !important;
  position: absolute;
  top: -80px;
  transform: translateX(-50%);
  width: 100%;
}
.c-cta-5 .c-cta__title {
  text-align: center;
}
.c-cta-5 .c-cta__btn {
  align-items: center;
  text-align: center;
}

/* ---------------------------------------------
*  c-cta-6
--------------------------------------------- */
.c-cta-6 {
  display: flex;
  gap: 2.4489795918%;
  justify-content: center;
  margin-top: 120px;
}
@media (max-width: 1023px) {
  .c-cta-6 {
    flex-direction: column;
    gap: 120px;
  }
}
.c-cta-6__inner {
  background: var(--color-blue);
  border-radius: 10px;
  flex: 1;
  padding: 119px 51px 64px;
  position: relative;
}
@media (max-width: 1023px) {
  .c-cta-6__inner {
    padding: 100px 24px 24px;
  }
}
.c-cta-6__img {
  box-shadow: 0 5px 25px 0 rgba(0, 0, 0, 0.1);
  height: 158px;
  left: 50%;
  position: absolute;
  top: -80px;
  transform: translateX(-50%);
  width: auto;
}

.c-cta-6 .c-cta__title {
  text-align: center;
}
.c-cta-6 .c-cta__btn {
  align-items: center;
  text-align: center;
}

/* ---------------------------------------------
*  c-cta-7
--------------------------------------------- */
.c-cta-7 {
  margin-top: var(--m-40);
}
.c-cta-7 .c-cta__btn {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 11px;
}

/* ---------------------------------------------
*  c-cta-8
--------------------------------------------- */
.c-cta-8 {
  margin-top: var(--m-40);
}
.c-cta-8 .c-cta__txtLink {
  font-family: var(--ff-ls-m);
  font-size: 1.4rem;
}
.c-cta-8 .c-cta__txtLink a {
  font-family: var(--ff-ls-b);
}
