@charset "UTF-8";
html {
  scroll-behavior: smooth;
}

*:target {
  scroll-margin-top: 10vw;
}
@media (min-width: 52.1875em) {
  *:target {
    scroll-margin-top: 100px;
  }
}

/* 
  $sp-base: 468.75 → 20px => 4.2666666667vw
  $pc-base: 1440   → 20px => 1.3888888889vw
  $bp1: 52.1875em (≈835px), $bp2: 90em (1440px)
*/
.form-item__title small {
  font-weight: normal;
  padding-left: 1em;
  display: block;
  font-size: 60%;
}
@media (min-width: 52.1875em) {
  .form-item__title small {
    font-size: 66%;
  }
}

@media (min-width: 52.1875em) {
  .c-form__inner .c-form__contents form .form-item:nth-of-type(6) {
    width: 100%;
  }
  .c-form__inner .c-form__contents form .form-item:nth-of-type(7) {
    width: 100%;
  }
  .c-form__inner .c-form__contents form .form-item:nth-of-type(7) .form-item__title {
    width: 20%;
  }
}
.contact__inner .contact__contents form .form-item--radio .form-item__radio .wpcf7-form-control-wrap .wpcf7-checkbox,
.c-form__inner .c-form__contents form .form-item--radio .form-item__radio .wpcf7-form-control-wrap .wpcf7-checkbox {
  flex-direction: row;
}

@media (min-width: 52.1875em) {
  .fv .fv-contact__contents form .form-item .form-item__input p span input,
  .fv .fv-contact__contents form .wpcf7-submit {
    width: 22.2916666667vw;
  }
}
@media (min-width: 90em) {
  .fv .fv-contact__contents form .form-item .form-item__input p span input,
  .fv .fv-contact__contents form .wpcf7-submit {
    width: 321px;
  }
}

.fv .fv-contact__contents form .form-item--radio .form-item__radio .wpcf7-form-control-wrap .wpcf7-checkbox {
  gap: 1em;
}

.other {
  margin-top: 21.3333333333vw;
  margin-bottom: 21.3333333333vw;
}
@media (min-width: 52.1875em) {
  .other {
    margin-top: 5vw;
  }
}
@media (min-width: 90em) {
  .other {
    margin-top: 72px;
  }
}
@media (min-width: 52.1875em) {
  .other {
    margin-bottom: 5vw;
  }
}
@media (min-width: 90em) {
  .other {
    margin-bottom: 72px;
  }
}
.other__inner {
  margin: 0 auto;
  max-width: 87.2vw;
}
@media (min-width: 52.1875em) {
  .other__inner {
    max-width: 55.2083333333vw;
  }
}
@media (min-width: 90em) {
  .other__inner {
    max-width: 795px;
  }
}
.other__title {
  letter-spacing: 0;
  margin-bottom: 7.4666666667vw;
}
@media (min-width: 52.1875em) {
  .other__title {
    margin-bottom: 3.4722222222vw;
  }
}
@media (min-width: 90em) {
  .other__title {
    margin-bottom: 50px;
  }
}
.other__title span {
  color: #3061be;
}
.other__link {
  display: grid;
  grid-gap: 3vw;
}
@media (min-width: 52.1875em) {
  .other__link {
    grid-template-columns: 1fr 1fr;
    grid-gap: 1em;
  }
}
.other__link a {
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: bold;
  color: #fff;
  background: #3061be;
  border-radius: 1.3333333333vw;
  font-size: 4.2666666667vw;
  height: 4em;
  position: relative;
}
@media (min-width: 52.1875em) {
  .other__link a {
    border-radius: 0.3472222222vw;
  }
}
@media (min-width: 90em) {
  .other__link a {
    border-radius: 5px;
  }
}
@media (min-width: 52.1875em) {
  .other__link a {
    font-size: 1.3888888889vw;
  }
}
@media (min-width: 90em) {
  .other__link a {
    font-size: 20px;
  }
}
@media (min-width: 52.1875em) {
  .other__link a {
    height: 5.2083333333vw;
  }
}
@media (min-width: 90em) {
  .other__link a {
    height: 75px;
  }
}
.other__link a img {
  position: absolute;
  right: 1em;
  top: 50%;
  transform: translateY(-50%);
}

.faq {
  padding-top: 21.3333333333vw;
  padding-bottom: 21.3333333333vw;
}
@media (min-width: 52.1875em) {
  .faq {
    padding-top: 5vw;
  }
}
@media (min-width: 90em) {
  .faq {
    padding-top: 72px;
  }
}
@media (min-width: 52.1875em) {
  .faq {
    padding-bottom: 5vw;
  }
}
@media (min-width: 90em) {
  .faq {
    padding-bottom: 72px;
  }
}
.faq__inner {
  margin: 0 auto;
  max-width: 87.2vw;
}
@media (min-width: 52.1875em) {
  .faq__inner {
    max-width: 61.9444444444vw;
  }
}
@media (min-width: 90em) {
  .faq__inner {
    max-width: 892px;
  }
}
.faq__title {
  letter-spacing: 0;
  margin-bottom: 7.4666666667vw;
}
@media (min-width: 52.1875em) {
  .faq__title {
    margin-bottom: 3.4722222222vw;
  }
}
@media (min-width: 90em) {
  .faq__title {
    margin-bottom: 50px;
  }
}
.faq__title span {
  color: #3061be;
}
.faq .faq__list {
  line-height: 1.6;
}
.faq .faq__list dl {
  display: grid;
  gap: 1em;
}
@media (min-width: 52.1875em) {
  .faq .faq__list dl {
    gap: 2.2222222222vw;
  }
}
@media (min-width: 90em) {
  .faq .faq__list dl {
    gap: 32px;
  }
}
.faq .faq__list dl > div {
  background: #fafafa;
  padding: 1em;
  border-radius: 3vw;
}
@media (min-width: 52.1875em) {
  .faq .faq__list dl > div {
    border-radius: 1.0416666667vw;
  }
}
@media (min-width: 90em) {
  .faq .faq__list dl > div {
    border-radius: 15px;
  }
}
@media (min-width: 52.1875em) {
  .faq .faq__list dl > div {
    padding: 1.6666666667vw;
  }
}
@media (min-width: 90em) {
  .faq .faq__list dl > div {
    padding: 24px;
  }
}
.faq .faq__list dl dt {
  display: grid;
  grid-template-columns: 2em 1fr;
  align-items: flex-start;
  gap: 0.5em;
  font-size: 4.2666666667vw;
  color: #3061be;
  margin: 0 0 0.8em;
}
@media (min-width: 52.1875em) {
  .faq .faq__list dl dt {
    font-size: 1.3888888889vw;
  }
}
@media (min-width: 90em) {
  .faq .faq__list dl dt {
    font-size: 20px;
  }
}
.faq .faq__list dl dt::before {
  content: "Q";
  border-radius: 100px;
  aspect-ratio: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  background-color: #3061be;
  border: 1px solid #3061be;
  font-family: League Gothic, sans-serif;
}
.faq .faq__list dl dt span {
  display: block;
  padding-top: 0.1em;
}
.faq .faq__list dl dd p {
  font-size: 3.7333333333vw;
  letter-spacing: 0.05em;
  line-height: 1.7;
}
@media (min-width: 52.1875em) {
  .faq .faq__list dl dd p {
    font-size: 0.9722222222vw;
  }
}
@media (min-width: 90em) {
  .faq .faq__list dl dd p {
    font-size: 14px;
  }
}
@media (min-width: 52.1875em) {
  .faq .faq__list dl dd p {
    padding-left: 3.4722222222vw;
  }
}
@media (min-width: 90em) {
  .faq .faq__list dl dd p {
    padding-left: 50px;
  }
}
.faq .faq__list .faq__ddtitle {
  display: grid;
  grid-template-columns: 2em 1fr;
  align-items: flex-start;
  gap: 0.5em;
  font-size: 4.2666666667vw;
  color: #3061be;
  font-weight: 700;
  margin: 0 0 0.5em;
}
@media (min-width: 52.1875em) {
  .faq .faq__list .faq__ddtitle {
    font-size: 1.3888888889vw;
  }
}
@media (min-width: 90em) {
  .faq .faq__list .faq__ddtitle {
    font-size: 20px;
  }
}
.faq .faq__list .faq__ddtitle::before {
  content: "A";
  border-radius: 100px;
  aspect-ratio: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #3061be;
  background-color: #fff;
  border: 1px solid #3061be;
  font-family: League Gothic, sans-serif;
}
.faq .faq__list .faq__ddtitle span {
  display: block;
  padding-top: 0.1em;
}

.topcase {
  padding-bottom: 21.3333333333vw;
}
@media (min-width: 52.1875em) {
  .topcase {
    padding-bottom: 5vw;
  }
}
@media (min-width: 90em) {
  .topcase {
    padding-bottom: 72px;
  }
}
.topcase__inner {
  margin: 0 auto;
  max-width: 87.2vw;
}
@media (min-width: 52.1875em) {
  .topcase__inner {
    max-width: 83.3333333333vw;
  }
}
@media (min-width: 90em) {
  .topcase__inner {
    max-width: 1200px;
  }
}
.topcase__title {
  letter-spacing: 0;
  margin-bottom: 7.4666666667vw;
}
@media (min-width: 52.1875em) {
  .topcase__title {
    margin-bottom: 3.4722222222vw;
  }
}
@media (min-width: 90em) {
  .topcase__title {
    margin-bottom: 50px;
  }
}
.topcase__title span {
  color: #3061be;
}

.topcase__inner .topcase__contents {
  align-items: stretch;
  display: flex;
  flex-wrap: wrap;
  gap: 6.4vw;
  justify-content: space-between;
}

@media (min-width: 52.1875em) {
  .topcase__inner .topcase__contents {
    gap: 2.2222222222vw;
    flex-wrap: nowrap;
  }
}
@media (min-width: 90em) {
  .topcase__inner .topcase__contents {
    gap: 32px;
  }
}
.topcase__inner .topcase__contents .topcase-item {
  align-items: center;
  border-radius: 1.0666666667vw;
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  width: 100%;
}

@media (min-width: 52.1875em) {
  .topcase__inner .topcase__contents .topcase-item {
    border-radius: 0.4166666667vw;
    width: 33%;
  }
}
@media (min-width: 90em) {
  .topcase__inner .topcase__contents .topcase-item {
    border-radius: 6px;
    width: 33%;
  }
}
.topcase__inner .topcase__contents .topcase-item .topcase-item__imagearea {
  aspect-ratio: 390/260;
  overflow: hidden;
  width: 100%;
}

.topcase__inner .topcase__contents .topcase-item .topcase-item__imagearea img {
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
}

.topcase__inner .topcase__contents .topcase-item a {
  align-items: center;
  background-color: #3061be;
  border-radius: 1.0666666667vw;
  color: #fff;
  display: flex;
  font-size: 4.2666666667vw;
  font-weight: 700;
  justify-content: center;
  letter-spacing: 0.05em;
  padding: 7.4666666667vw 0;
  position: relative;
  width: 100%;
  margin-top: 0.5em;
}
@media (min-width: 52.1875em) {
  .topcase__inner .topcase__contents .topcase-item a {
    border-radius: 0.2777777778vw;
    font-size: 1.3888888889vw;
    padding: 1.9444444444vw 0;
  }
}
@media (min-width: 90em) {
  .topcase__inner .topcase__contents .topcase-item a {
    border-radius: 4px;
    font-size: 20px;
    padding: 28px 0;
  }
}
.topcase__inner .topcase__contents .topcase-item a img {
  height: auto;
  position: absolute;
  right: 3.4666666667vw;
  top: 50%;
  transform: translateY(-50%);
  width: 1.8666666667vw;
}
@media (min-width: 52.1875em) {
  .topcase__inner .topcase__contents .topcase-item a img {
    right: 1.25vw;
    width: 0.4861111111vw;
  }
}
@media (min-width: 90em) {
  .topcase__inner .topcase__contents .topcase-item a img {
    right: 18px;
    width: 7px;
  }
}

.solution__inner .solution-item__textarea a {
  font-size: 3.7333333333vw;
  letter-spacing: 0.05em;
  line-height: 1.7;
  color: #3061be;
  display: grid;
  font-weight: 700;
  gap: 0.5em;
  grid-template-columns: 1.4em 1fr;
  align-items: center;
  margin-top: 0.4em;
}
@media (min-width: 52.1875em) {
  .solution__inner .solution-item__textarea a {
    font-size: 0.9722222222vw;
  }
}
@media (min-width: 90em) {
  .solution__inner .solution-item__textarea a {
    font-size: 14px;
  }
}
.solution__inner .solution-item__textarea a img {
  width: 100%;
}

.solution:before,
.solution:after {
  pointer-events: none;
}

@media (min-width: 52.1875em) {
  .c-header.toppage .c-header__inner {
    background: #fff;
  }
  .c-header.toppage .c-header__logo a img:first-of-type {
    opacity: 0;
  }
  .c-header.toppage .c-header__logo a img:nth-of-type(2) {
    opacity: 1;
  }
  .fv {
    margin-top: 7%;
    aspect-ratio: 1440/740;
  }
  .fv .fv__imagearea {
    width: 78%;
  }
  .fv .fv__imagearea::before {
    content: "";
    background: #3061be;
    position: absolute;
    right: -10px;
    bottom: -10px;
    width: 45%;
    height: 45%;
    z-index: -1;
  }
  .fv .fv-contact {
    border-radius: 0;
    padding-right: 0;
  }
}
@media (min-width: 90em) {
  .fv {
    margin-top: 5.78em;
  }
  .fv .fv__imagearea {
    width: calc(100% - 20em);
  }
}/*# sourceMappingURL=add202509.css.map */