@charset "UTF-8";
:root {
  --in-sine:cubic-bezier(0.47, 0, 0.745, 0.715);
  --in-sine-r:cubic-bezier(0.255, 0.285, 0.53, 1);
  --out-sine:cubic-bezier(0.39, 0.575, 0.565, 1);
  --out-sine-r:cubic-bezier(0.435, 0, 0.61, 0.425);
  --in-out-sine:cubic-bezier(0.445, 0.05, 0.55, 0.95);
  --in-out-sine-r:cubic-bezier(0.45, 0.05, 0.555, 0.95);
  --in-quad:cubic-bezier(0.55, 0.085, 0.68, 0.53);
  --in-quad-r:cubic-bezier(0.32, 0.47, 0.45, 0.915);
  --out-quad:cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --out-quad-r:cubic-bezier(0.55, 0.06, 0.75, 0.54);
  --in-out-quad:cubic-bezier(0.455, 0.03, 0.515, 0.955);
  --in-out-quad-r:cubic-bezier(0.485, 0.045, 0.545, 0.97);
  --in-cubic:cubic-bezier(0.55, 0.055, 0.675, 0.19);
  --in-cubic-r:cubic-bezier(0.325, 0.81, 0.45, 0.945);
  --out-cubic:cubic-bezier(0.215, 0.61, 0.355, 1);
  --out-cubic-r:cubic-bezier(0.645, 0, 0.785, 0.39);
  --in-out-cubic:cubic-bezier(0.645, 0.045, 0.355, 1);
  --in-out-cubic-r:cubic-bezier(0.645, 0, 0.355, 0.955);
  --in-quart:cubic-bezier(0.895, 0.03, 0.685, 0.22);
  --in-quart-r:cubic-bezier(0.315, 0.78, 0.105, 0.97);
  --out-quart:cubic-bezier(0.165, 0.84, 0.44, 1);
  --out-quart-r:cubic-bezier(0.56, 0, 0.835, 0.16);
  --in-out-quart:cubic-bezier(0.77, 0, 0.175, 1);
  --in-out-quart-r:cubic-bezier(0.825, 0, 0.23, 1);
  --in-quint:cubic-bezier(0.755, 0.05, 0.855, 0.06);
  --in-quint-r:cubic-bezier(0.145, 0.94, 0.245, 0.95);
  --out-quint:cubic-bezier(0.23, 1, 0.32, 1);
  --out-quint-r:cubic-bezier(0.68, 0, 0.77, 0);
  --in-out-quint:cubic-bezier(0.86, 0, 0.07, 1);
  --in-out-quint-r:cubic-bezier(0.93, 0, 0.14, 1);
  --in-expo:cubic-bezier(0.95, 0.05, 0.795, 0.035);
  --in-expo-r:cubic-bezier(0.205, 0.965, 0.05, 0.95);
  --out-expo:cubic-bezier(0.19, 1, 0.22, 1);
  --out-expo-r:cubic-bezier(0.78, 0, 0.81, 0);
  --in-out-expo:cubic-bezier(1, 0, 0, 1);
  --in-out-expo-r:cubic-bezier(1, 0, 0, 1);
  --in-circ:cubic-bezier(0.6, 0.04, 0.98, 0.335);
  --in-circ-r:cubic-bezier(0.02, 0.665, 0.4, 0.96);
  --out-circ:cubic-bezier(0.075, 0.82, 0.165, 1);
  --out-circ-r:cubic-bezier(0.835, 0, 0.925, 0.18);
  --in-out-circ:cubic-bezier(0.785, 0.135, 0.15, 0.86);
  --in-out-circ-r:cubic-bezier(0.85, 0.14, 0.215, 0.865);
  --in-back:cubic-bezier(0.6, -0.28, 0.735, 0.045);
  --in-back-r:cubic-bezier(0.265, 0.955, 0.4, 1.28);
  --out-back:cubic-bezier(0.175, 0.885, 0.32, 1.275);
  --out-back-r:cubic-bezier(0.68, -0.275, 0.825, 0.115);
  --in-out-back:cubic-bezier(0.68, -0.55, 0.265, 1.55);
  --in-out-back-r:cubic-bezier(0.735, -0.55, 0.32, 1.55);
}

/* ---------------------------------------------
*   追記sass5/16
--------------------------------------------- */
/* ---------------------------------------------
*   settings breakpoint変数
--------------------------------------------- */
/*
 * color settings
 */
/*
 * normalize
 */
* {
  box-sizing: inherit;
}
*:before, *:after {
  box-sizing: inherit;
}

html {
  -webkit-text-size-adjust: 100%;
  scroll-padding-top: 112px;
}

@media screen and (max-width: 860px) {
  html {
    scroll-padding-top: 52px;
  }
}
body {
  margin: 0;
  font-family: roboto, "Noto Sans JP", sans-serif;
  background-color: #f3f8f8;
  line-height: 1;
  color: #1e374b;
}

html {
  box-sizing: border-box;
  scroll-behavior: smooth;
}

main {
  display: block;
}

a {
  background-color: transparent;
}

b, strong {
  font-weight: 700er;
}

img {
  max-width: 100%;
  height: auto;
  border-style: none;
  vertical-align: bottom;
}

picture {
  display: block;
}

a {
  text-decoration: none;
  color: currentColor;
}
a img {
  outline: 0;
  border: none;
}

blockquote, dl, dd, h1, h2, h3, h4, h5, h6, hr, figure, p, pre {
  margin: 0;
}
.is_inline_block {
  display: inline-block;
}

/*
 * module
 */
.section_header {
  margin-bottom: 80px;
  font-size: 3.5rem;
  text-align: center;
  line-height: 1.3;
}
.section_header-type-2 {
  padding: 0.5rem 0 0.5rem 1rem;
  font-size: 1.75rem;
  color: #333;
  border-left: 3px solid #36a2f5;
}

.section_header_txt {
  margin-top: 24px;
  font-size: 1.25rem;
  line-height: 2.1153846154;
  text-align: center;
  color: #333;
}
.section_header_txt.black {
  color: #333;
}

@media screen and (max-width: 860px) {
  .section_header {
    margin-bottom: min(10.66vw,80px);
    font-size: min(7.46vw,56px);
  }
  .section_header:after {
    width: 34%;
  }
  .section_header-type-2 {
    font-size: 1.4rem;
  }
  .section_header_txt {
    margin-top: 1em;
    font-size: 0.88rem;
    line-height: 1.7857142857;
    text-align: left;
  }
}
.module_column {
  margin-top: 25px;
  display: flex;
}
.module_column.column_2 {
  gap: 0 36px;
}
.module_column.column_3 {
  gap: 0 26px;
  justify-content: space-between;
}
.module_column.column_3 .img img {
  border-radius: 8px 8px 0 0;
}
.module_column.column_3 h3 {
  margin-top: 1rem;
  padding: 0 16px;
  font-size: 1.375rem;
  line-height: 1.45;
  color: #333;
}
.module_column.column_3 .txt_mein {
  margin-top: 1rem;
  padding: 0 16px 16px;
  font-size: 1rem;
  line-height: 1.69;
}
.module_column.column_5 {
  gap: 16px 18px;
}
.module_column.column_5 li {
  width: 18.6%;
}
.module_column.flexwrap {
  flex-wrap: wrap;
}
.module_column.support_list h3 {
  margin: 22px 16px 0;
  font-size: 1.375rem;
  line-height: 1.45;
  color: #333;
}
.module_column.support_list .txt_mein {
  margin: 16px;
  margin-top: 1rem;
  font-size: 1rem;
  line-height: 1.69;
}
.module_column .contents {
  width: 50%;
  border-radius: 8px;
  box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.03);
  background-color: #fff;
}

@media screen and (max-width: 860px) {
  .module_column {
    margin-top: 1.8em;
    flex-direction: column;
  }
  .module_column.column_2 {
    gap: 16px 0;
  }
  .module_column.column_2 .contents:first-child {
    margin-top: 0;
  }
  .module_column .contents {
    width: 100%;
  }
  .module_column .contents h3 {
    font-size: 1.2rem;
    line-height: 1.4;
  }
  .module_column .contents .txt_mein {
    margin-top: 0.6em;
    font-size: 0.9rem;
    line-height: 1.6;
  }
}
.module_point {
  padding: 34px;
  box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.03);
  background-color: #fff;
}
.module_point h2 {
  max-width: 100%;
  margin: 0 auto 1em;
  font-size: 1.875rem;
  color: #36a2f5;
  text-align: center;
}
.module_point h2 span {
  padding-bottom: 0.35em;
  background: linear-gradient(transparent 95%, #36a2f5 0%);
}
.module_point .module_column {
  flex-wrap: nowrap;
  align-items: center;
}
.module_point .module_column .contents .img {
  width: 504px;
}
.module_point .module_column .contents .txt {
  font-size: 1rem;
  line-height: 2;
}

.module_form .form-field.company {
  border-radius: 4px 4px 0 0;
}
.module_form .column_2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin: 8px 0 0;
  padding: 0;
  gap: 8px;
}
.module_form .column_2.mt-16 {
  margin-top: 16px;
}
.module_form .column_2.mt-24 {
  margin-top: 24px;
}
.module_form .column_2 .form-field, .module_form .column_2 .form-field.checkbox {
  width: calc(50% - 4px);
  margin: 0 !important;
  justify-content: flex-start;
}
.module_form .column_2 .form-field .txt, .module_form .column_2 .form-field.checkbox .txt {
  font-size: 0.875rem;
  line-height: 1.14;
}
.module_form .form-field {
  margin-top: 16px;
  background: #fff;
  position: relative;
  z-index: 0;
  display: block;
}
.module_form .form-field:first-child {
  margin-top: 32px;
}
.module_form .form-field.checkbox {
  margin-top: 22px;
}
.module_form .form-field.checkbox .checkbox_area {
  display: flex;
  align-items: center;
  gap: 0 8px;
  cursor: pointer;
}
.module_form .form-field.checkbox .checkbox_area .checkbox_input {
  margin: 0;
  padding: 0;
  width: 0;
  opacity: 0;
  box-sizing: border-box;
  position: absolute;
  left: 0;
  top: 0;
}
.module_form .form-field.checkbox .checkbox_area .checkbox_dummy {
  position: relative;
  top: 0;
  left: 0;
  display: block;
  width: 18px;
  height: 18px;
  border: solid 1px #c8c8c8;
  background: #FFFFFF;
  border-radius: 5px;
}
.module_form .form-field.checkbox .checkbox_area .checkbox_input:checked + .checkbox_dummy::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../img/icon_check_active.svg) no-repeat center;
  background-size: contain;
}
.module_form .form-field.checkbox .checkbox_area .txt {
  font-size: 1rem;
}
.module_form .form-field.checkbox .checkbox_area .txt.fwb {
  font-weight: 700;
}
.module_form .field-label {
  cursor: text;
}
.module_form .field-label .title {
  font-size: 0.8125rem;
  font-weight: 700;
  line-height: 1.4;
}
.module_form .field-label .title span {
  font-weight: 400;
  color: #ff001e;
  margin-left: 3px;
}
.module_form .field-label input {
  border-radius: 0;
  margin-top: -7px;
  width: 100%;
}
.module_form .field-label input::-moz-placeholder {
  color: #adadad;
}
.module_form .field-label input::placeholder {
  color: #adadad;
}
.module_form .field-label input[type=text], .module_form .field-label input[type=tel], .module_form .field-label select, .module_form .field-label textarea {
  margin-top: 6px;
  border: 1px solid #c8c8c8;
  border-radius: 3px;
  background-color: #fff;
  font-size: 0.9375rem;
  line-height: normal;
  display: flex;
  padding: 0 10px;
  max-width: 100%;
  height: 36px;
  transition: border-color 0.1s linear;
  align-items: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
}
.module_form .field-label input[type=tel] {
  max-width: 65px;
}
.module_form .field-label input[type=tel]::-moz-placeholder {
  text-align: center;
}
.module_form .field-label input[type=tel]::placeholder {
  text-align: center;
}
.module_form .field-label select {
  width: 231px;
  padding: 0 8px;
}
.module_form .field-label textarea {
  width: 100%;
  min-height: 78px;
  padding-top: 7px;
}
.module_form .field-label textarea::-moz-placeholder {
  color: #adadad;
}
.module_form .field-label textarea::placeholder {
  color: #adadad;
}
.module_form .field-label .c-input-tel {
  display: flex;
}
.module_form .field-label .c-input-tel .c-input-tel__item {
  margin-right: 18px;
  position: relative;
}
.module_form .field-label .c-input-tel .c-input-tel__item::after {
  content: "-";
  display: block;
  color: #adadad;
  position: absolute;
  right: -11px;
  top: 50%;
  transform: translate(0%, -20%);
}
.module_form .field-label .c-input-tel .c-input-tel__item:last-child::after {
  display: none;
}
.module_form .form-field .error-mess {
  margin-top: 6px;
  width: 100%;
  font-weight: 700;
  font-size: 0.75rem;
  color: #ff001e;
  text-align: left;
  display: none;
}
.module_form .form-field-agree {
  flex-wrap: wrap;
}
.module_form .form-field-agree .error-mess {
  text-align: center;
}
.module_form .form-field_error input,
.module_form .form-field_error select,
.module_form .form-field_error textarea,
.module_form .form-field_error input[type=text], .module_form .form-field_error input[type=tel], .module_form .form-field_error select, .module_form .form-field_error textarea {
  background-color: #fce5e8;
}
.module_form .form-field_error .error-mess {
  display: block;
}
.module_form .form-field.form-field_error.checkbox .checkbox_area .checkbox_dummy {
  background: #fce5e8 !important;
}
.module_form button {
  margin-top: 16px;
  width: 100%;
}

.txt_form_attention {
  max-width: 480px;
  margin: 12px 0 0;
  line-height: 1.4;
  font-size: 0.625rem;
  color: #8d8d8d;
}
.txt_form_attention a {
  text-decoration: underline;
}

.formContactTop-confirmation {
  display: none;
}
.formContactTop-confirmation .title {
  min-width: 160px;
  font-size: 0.8125rem;
  font-weight: 700;
  line-height: 136%;
}
.formContactTop-confirmation .input-confirmation {
  margin-top: 9px;
  font-size: 0.8125rem;
  line-height: 136%;
}

.formContactBtm-confirmation {
  display: none;
}
.formContactBtm-confirmation .form-field {
  display: flex;
}
@media screen and (max-width: 860px) {
  .formContactBtm-confirmation .form-field {
    display: block;
  }
}
.formContactBtm-confirmation .title {
  min-width: 160px;
  font-size: 0.8125rem;
  font-weight: 700;
  line-height: 136%;
}
.formContactBtm-confirmation .input-confirmation {
  font-size: 0.8125rem;
  line-height: 136%;
}
@media screen and (max-width: 860px) {
  .formContactBtm-confirmation .input-confirmation {
    margin-top: 9px;
  }
}

.form-edit {
  margin-top: 20px;
  text-align: center;
}
.form-edit a {
  text-decoration: underline;
}
.form-edit a:hover {
  opacity: 0.6;
}

@media screen and (max-width: 860px) {
  .module_point {
    padding: 22px;
  }
  .module_point .module_column .contents .img {
    width: auto;
  }
  .module_point .module_column .contents .txt {
    font-size: 0.9rem;
    line-height: 1.6;
  }
  .module_point h2 {
    font-size: 1.5rem;
  }
  .module_point h2 span {
    padding-bottom: 0.3em;
    line-height: 1.7;
  }
}
/*
 * container settings
 */
.m-top0 {
  margin-top: 0 !important;
}

.container {
  width: 100%;
  max-width: 1116px;
  margin: 0 auto;
  padding: 0;
}

.container--l {
  max-width: 1200px;
}


@media screen and (max-width: 860px) {
  .container {
    max-width: 375px;
    margin: 0 auto;
    padding: 0 20px;
  }
}
[class*=hide-until-], [class*=show-from-] {
  display: none;
}

@media (max-width: 860px) {
  .hide-until-tablet {
    display: block;
  }
}
@media (min-width: 980px) {
  .show-from-desktop {
    display: block;
  }
}
/*
 * cta
 */
.button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  margin: 0;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  color: #262626;
  padding: 12px;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: inherit;
  min-height: 60px;
}
.button.cta_form-1 {
  background-color: #ffd600;
}
.button.cta_form-2 {
  color: #fff;
  background-color: #36a2f5;
}
.button.cta_form-2 path {
  fill: #fff;
}
.button:hover {
  opacity: 0.8;
}
.button .txt {
  width: 100%;
  padding: 0 0.5em;
  text-align: center;
  line-height: 1.2;
}

@media screen and (max-width: 860px) {
  .button {
    font-size: 1.1rem;
  }
  .button .txt {
    line-height: 1.2;
  }
}
/*
 * site-header
 */
.home .site-header {
  max-width: 1240px;
  margin: 88px auto 0;
  padding: 0;
  background-color: #fff;
  box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.03);
  position: sticky;
  top: 0;
  left: 0;
  z-index: 100;
  display: none;
}
.home .site-header .header-container {
  min-height: 82px;
  padding: 8px 16px 8px 7px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex: 1 1 50%;
}

.home .site-header .header-tel {
  width: 130px;
}

@media (min-width: 861px) and (max-width: 1240px) {
  .home .site-header .site-logo {
    width: 140px;
  }
}
@media screen and (max-width: 860px) {
  .home .site-header {
    min-height: auto;
    margin: 0;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    z-index: 100;
    display: block;
    box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.3);
  }
  .home .site-header .header-container {
    min-height: min(12.8vw,96px);
    padding: 8px 4.26%;
  }
  .site-header .site-logo {
    z-index: 1;
  }
  body.home:not(.header-cover) .site-header .site-logo {
    opacity: 1;
  }
  body.page-register .site-header, body.page-thanks .site-header {
    position: static;
  }
  .header-container {
    display: flex;
    justify-content: space-between;
    padding: 0 20px;
  }
  .site-logo {
    display: flex;
    align-items: center;
    width: 100%;
    max-width: none;
  }
  .site-logo__img {
    display: block;
  }
  .site-logo__img.img-1 {
    width: 172px;
  }
  .header-logos {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
  }
  .header-logo-bcollect {
    height: auto;
    width: auto;
    max-height: min(6.4vw,48px);
  }
  .header-logo-recoh {
    height: auto;
    width: auto;
    max-height: min(3.2vw,24px);
  }

}
/*
 * section-introduction
 */
.section-introduction.hero-770 {
  position: relative;
  margin-top: 30px;
  background-image: linear-gradient(to right, #a3c2f1 0%, #8ce1f2 100%);
}
.section-introduction.hero-770 .intro {
  min-height: 770px;
  padding-top: 35px;
}
.section-introduction.hero-770 .intro .hero_title {
  line-height: 1.36;
}
.section-introduction .intro_logo {
  display: flex;
  align-items: center;
  gap: 0 22px;
  position: absolute;
  left: 34px;
  top: 28px;
}
.section-introduction .intro {
  display: flex;
  align-items: flex-start;
  max-width: 1240px;
  margin: 0 auto;
  position: relative;
  padding: 52px 0 24px;
}
.section-introduction .intro_main {
  flex: 1 1 50%;
  align-items: center;
  justify-content: space-between;
  margin-top: 48px;
}
.section-introduction .intro_main .hero_catch {
  position: relative;
}
.section-introduction .intro_main .hero_catch span {
  display: block;
  padding-top: 1.2rem;
  font-size: 2rem;
  font-weight: 700;
  color: #fff;
  position: relative;
  z-index: 10;
}
.section-introduction .intro_main .hero_catch::after {
  content: "";
  width: calc(100% + 49px);
  height: 72px;
  background-image: linear-gradient(90deg, #e51c4f 50%, #e59f1c 100%);
  transform: skewX(-22.7deg);
  position: absolute;
  left: calc(100% - 1240px);
  top: 0;
  z-index: 0;
}
.section-introduction .intro_main .hero_title {
  font-size: 2.75rem;
}
.section-introduction .intro_main .hero_title span {
  padding-bottom: 4px;
  color: #e51c4f;
  background: linear-gradient(transparent 92%, #e51c4f 0%);
}
.section-introduction .intro_main .hero_point {
  max-width: 48%;
  margin-top: 32px;
  padding: 0;
  list-style: none;
  counter-reset: number 0;
}
.section-introduction .intro_main .hero_point li {
  display: inline-flex;
  align-items: center;
  width: 406px;
  min-height: 72px;
  margin-top: 0.8em;
  padding: 8px 1.2em 8px 13px;
  gap: 0 0.6em;
  line-height: 1.3;
  border-radius: 999px;
  background-color: #fff;
}
.section-introduction .intro_main .hero_point li:first-child {
  margin-top: 0;
}
.section-introduction .intro_main .hero_point li:before {
  counter-increment: number 1;
  content: counter(number);
  display: flex;
  justify-content: center;
  align-items: center;
  width: 39px;
  height: 39px;
  border-radius: 39px;
  background-color: #36a2f5;
  font-weight: 700;
  color: #fff;
  font-size: 1.5625rem;
}
.section-introduction .intro_main .hero_point li strong {
  font-size: 1.75rem;
  color: #36a2f5;
}
.section-introduction .intro_main .hero_point li .small {
  font-size: 1rem;
}
.section-introduction .intro_main .hero_img {
  width: 420px;
  position: absolute;
  bottom: 42px;
  left: 425px;
}
.c-kv .section-introduction {
  margin-right: 10.15%;
}
@media screen and (max-width: 1240px) {
  .c-kv .section-introduction {
  margin-right: 0;
}
}
.section-introduction .intro_side-bar {
  position: relative;
  display: flex;
  align-items: center;
  width: 391px;
  min-height: 0;
  height: auto;
  padding: 0 0 24px;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 10px 5px rgba(120,147,160,0.5);
  font-size: 0.81rem;
  z-index: 1;
}
.section-introduction .intro_side-bar .side-bar_title {
  font-size: 1.5rem;
  margin-bottom: 8px;
  text-align: center;
}
.section-introduction .intro_side-bar .side-bar_title::before {
  display: block;
  position: relative;
  width: 100%;
  min-width: 0;
  max-width: none;
  padding: 0.72em 0;
  font-size: 0.91em;
  background-color: #026569;
  color: #fff;
  content: "サービス資料のお申込み";
  text-align: center;
  font-weight: 700;
  letter-spacing: 0.12em;
  box-sizing: border-box;
  margin: 0 auto 1em auto;
}
.section-introduction .intro_side-bar .side-bar_title::after {
  display: none;
}
.section-introduction .intro_side-bar .side-bar_other-txt {
  font-size: 0.75rem;
  font-weight: 400;
  text-align: center;
  margin-bottom: 20px;
}

@media (min-width: 861px) and (max-width: 1365px) {
  .section-introduction .intro_main .hero_point li {
    width: 100%;
  }
  .section-introduction .intro_main .hero_img {
    width: 24%;
    left: 36%;
  }
  .section-introduction .intro_main .hero_catch::after {
    width: 100%;
    left: -98px;
  }
}
@media screen and (max-width: 860px) {
  .section-introduction.hero-770 {
    background-repeat: no-repeat;
    background-position: 50% 0;
    background-size: cover;
  }
  .section-introduction.hero-770 .intro {
    min-height: auto;
    padding: 56px 20px 20px;
  }
  .section-introduction .intro_logo {
    width: 220px;
    height: auto;
    top: 12px;
    left: 18px;
    gap: 0 12px;
  }
  .section-introduction .intro {
    max-width: 375px;
    margin: 0 auto;
    padding: 72px 20px 20px;
  }
  .section-introduction .intro_main {
    position: relative;
    margin-top: 1rem;
  }
  .section-introduction .intro_main .hero_catch {
    margin-top: 0;
  }
  .section-introduction .intro_main .hero_catch span {
    padding-top: 0.6rem;
    font-size: 1rem;
  }
  .section-introduction .intro_main .hero_catch::after {
    height: 2rem;
    left: calc(0% - 98px);
  }
  .section-introduction .intro_main .hero_title {
    line-height: 1.3;
    font-size: 1.6rem;
  }
  .section-introduction .intro_main .hero_point {
    max-width: 82%;
    margin-top: 1.2rem;
    position: relative;
    z-index: 1;
  }
  .section-introduction .intro_main .hero_point li {
    width: auto;
    min-width: 182px;
    min-height: auto;
    margin-top: 0.6em;
    padding: 0.6em 1.2em 0.6em 0.6em;
  }
  .section-introduction .intro_main .hero_point li:before {
    width: 1.5em;
    height: 1.5em;
    font-size: 1.1rem;
  }
  .section-introduction .intro_main .hero_point li strong {
    font-size: 1rem;
  }
  .section-introduction .intro_main .hero_point li .small {
    display: block;
    margin-top: 0.1rem;
    font-size: 0.6rem;
  }
  .section-introduction .intro_main .hero_img {
    width: 46%;
    position: absolute;
    bottom: 66px;
    left: auto;
    right: -12px;
  }
  .section-introduction .intro_side-bar {
    display: none;
  }
}
/*
 * section-qa
 */
.section-qa {
  padding: 120px 0 160px;
}
.section-qa__inner {
  max-width: 1040px;
  margin-inline: auto;
  padding-inline: 20px;
}
.section-qa .section-qa_lists {
  display: flex;
  flex-direction: column;
  gap: 4px;
  border-radius: 16px;
  overflow: hidden;
  isolation: isolate;
}
.section-qa .section-qa_list {
  padding: 0 24px;
  background: #fff;
}
.section-qa .section-qa_list .toggle {
  display: none;
}
.section-qa .section-qa_list .title {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0 16px;
  padding: 30px 52px 30px 0;
  font-size: 1.5rem;
  font-weight: 700;
  position: relative;
  cursor: pointer;
  color: #1e374b;
  line-height: 1.5;
  transition: opacity 0.2s;
}
.section-qa .section-qa_list .toggle:checked + .title {
  padding-bottom: 20px;
}
.section-qa .section-qa_list .title:hover {
  opacity: 0.75;
}
.section-qa .section-qa_list .title .icon_q {
  margin-right: 6px;
  font-size: 1.33em;
  line-height: 1;
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  flex-shrink: 0;
  color: #039393;
}
/* バッジ */
.qa-badge {
  display: inline-block;
  padding: 0.68em 0.875em 0.56em;
  border-radius: 1em;
  border-bottom-right-radius: 0;
  font-size: 0.66em;
  font-weight: 700;
  color: #fff;
  white-space: nowrap;
  flex-shrink: 0;
  line-height: 1;
  letter-spacing: 0.1em;
}
.qa-badge--collection { background: #048a43; }
.qa-badge--guarantee  { background: #034e8f; }
/* +/- アイコン */
.section-qa .section-qa_list .title::before,
.section-qa .section-qa_list .title::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  width: 22px;
  height: 2px;
  background: #039393;
  transform: translateY(-50%);
  transition: transform 0.25s, opacity 0.25s;
}
.section-qa .section-qa_list .title::after {
  transform: translateY(-50%) rotate(90deg);
}
.section-qa .section-qa_list .toggle:checked + .title::before {
  transform: translateY(-50%) rotate(-90deg);
  opacity: 0;
}
.section-qa .section-qa_list .toggle:checked + .title::after {
  transform: translateY(-50%) rotate(0deg);
}
/* コンテンツ */
.section-qa .section-qa_list .content {
  max-height: 0;
  margin: 0 0 0 52px;
  padding-inline: 30px;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.8;
  color: #039393;
  background: #e9f6f7;
  border-radius: 8px;
  overflow: hidden;
  transition: max-height 0.4s ease;
}
.section-qa .section-qa_list .toggle:checked + .title + .content {
  max-height: 600px;
  margin-bottom: 36px;
  padding-block: 30px;
  transition: max-height 1.2s ease;
}
.section-qa .section-qa_list .content p:not(:last-child) {
  margin-bottom: 1em;
}
.section-qa .section-qa_list .content p .underline {
  font-weight: 700;
  color: #36a2f5;
}
.section-qa .section-qa_list .content p .small {
  display: inline-block;
  font-size: 0.875rem;
}

@media screen and (max-width: 1024px) {
  .section-qa {
    padding-top: min(16vw,120px);
    padding-bottom: min(16vw,120px);
  }
  .section-qa__inner {
    padding-inline: 4.26%;
  }
  .section-qa .section-qa_lists {
    gap: min(1.06vw,8px);
    border-radius: min(4.26vw,32px);
  }
  .section-qa .section-qa_list {
    padding: 0 5.83% 0 13.73vw;
  }
  .section-qa .section-qa_list .title {
    font-size: min(4.26vw,32px);
    padding-right: min(4.26vw,64px);
    padding-block: min(5.33vw,40px);
    gap: min(2.13vw,16px);
  }
  .section-qa .section-qa_list .toggle:checked + .title {
    padding-bottom: min(3.2vw,24px);
  }
  .section-qa .section-qa_list .title .icon_q {
    position: absolute;
    top: min(5.33vw,40px);
    left: max(-8.53vw,-64px);
    margin: 0;
    font-size: 1.5em;
  }
  .qa-badge {
    margin: 0;
    font-size: 0.68em;
  }
  .section-qa .section-qa_list .title::before,
  .section-qa .section-qa_list .title::after {
    top: min(8vw,60px);
    transform: none;
    width: min(5.6vw,42px);
    height: min(0.26vw,4px);
  }
  .section-qa .section-qa_list .title::after {
    transform: rotate(90deg);
  }
  .section-qa .section-qa_list .toggle:checked + .title::before {
    transform: rotate(-90deg);
  }
  .section-qa .section-qa_list .toggle:checked + .title::after {
    transform: rotate(0deg);
  }
  .section-qa .section-qa_list .content {
    margin-left: 0;
    padding-inline: 5.52%;
    font-size: min(3.46vw,26px);
    border-radius: min(1.06vw,8px);
  }
  .section-qa .section-qa_list .toggle:checked + .title + .content {
    margin-bottom: min(5.33vw,40px);
    padding-block: min(5.33vw,40px);
  }
  .section-qa .section-qa_list .content p .small {
    font-size: 0.6875rem;
  }
}
/*
 * section-contact
 */
.section-contact {
  padding: 120px 0 60px;
  background: #e9f6f7;
}
.section-contact .step {
  display: flex;
  list-style-type: none;
  max-width: 880px;
  margin: 46px auto 0;
  padding: 0;
  gap: 0 11px;
}
.section-contact .step li {
  width: 33.33%;
  padding-bottom: 12px;
  font-size: 1.125rem;
  color: #c7c7c7;
  border-bottom: 3px solid #c7c7c7;
}
.section-contact .step li.current {
  font-weight: 700;
  color: #fa8290;
  border-color: #fa8290;
}
.section-contact .module_form {
  max-width: 880px;
  margin: 0 auto;
}
.section-contact .module_form .module_column {
  margin-top: 34px;
  justify-content: center;
}
.section-contact .module_form .module_column.last {
  margin-top: 22px;
}
.section-contact .module_form .module_column .contents {
  width: 100%;
  padding: 34px 150px;
}
.section-contact .module_form .module_column .contents .section_header-type-2 {
  margin-bottom: 22px;
  padding: 0.25rem 0 0.25rem 0.75rem;
  font-size: 1.125rem;
  border-color: #82befa;
}
.section-contact .module_form .module_column .contents .section_header-type-2.required {
  border-color: #fa8290;
}
.section-contact .module_form .module_column .contents .field-label {
  display: flex;
}
.section-contact .module_form .module_column .contents .field-label .title {
  min-width: 160px;
  padding-top: 9px;
}
.section-contact .module_form .module_column .contents .field-label .column_2 {
  gap: 14px 12px;
}
.section-contact .module_form .module_column .contents .field-label .column_2 .form-field.checkbox {
  min-width: 44%;
  width: auto;
}
.section-contact .module_form .module_column .contents .field-label input[type=text], .section-contact .module_form .module_column .contents .field-label input[type=tel], .section-contact .module_form .module_column .contents .field-label select, .section-contact .module_form .module_column .contents .field-label textarea {
  margin-top: 0;
}
.section-contact .module_form .module_column .contents .field-label .input_wrap {
  width: 100%;
}
.section-contact .module_form .module_column .contents .field-label .input_wrap .notice {
  margin-top: 8px;
  font-size: 0.75rem;
  color: #adadad;
}
.section-contact .module_form .checkbox {
  display: flex;
  justify-content: center;
  margin-top: 35px;
  background-color: transparent;
}
.section-contact .module_form .button {
  max-width: 340px;
  margin: 35px auto 0;
  display: flex;
}
.section-contact .txt_form_attention {
  max-width: 580px;
  margin: 22px auto 0;
}

@media screen and (max-width: 860px) {
  .section-contact {
    padding-top: min(16vw,120px);
    padding-bottom: min(5.33vw,40px);
  }
  .section-contact .step {
    margin-top: 44px;
  }
  .section-contact .step li {
    padding-bottom: 0.5rem;
    font-size: 0.7rem;
  }
  .section-contact .module_form .module_column .contents {
    padding: 20px;
  }
  .section-contact .module_form .module_column .contents .section_header-type-2 {
    padding:  0.2rem 0 0.2rem 0.75rem;
    font-size: 1rem;
  }
  .section-contact .module_form .module_column .contents .field-label {
    flex-direction: column;
    gap: 8px 0;
  }
  .section-contact .module_form .module_column .contents .field-label .title {
    width: 100px;
    padding-top: 0;
  }
  .section-contact .module_form .module_column .contents .button {
    width: 100%;
  }
}
/*
 * site-footer
 */
.site-footer {
  padding: 40px 20px;
  background: linear-gradient(to right, #026569, #047f84);
  color: #fff;
  text-align: center;
}
.site-footer .txt_copy {
  font-size: 1rem;
}

@media screen and (max-width: 860px) {
  .site-footer {
    padding: 3.73vw 20px;
  }
  .site-footer .txt_copy {
    font-size: min(2.66vw,20px);
  }
}
/*
 * page-register
 */
body.page-register, body.page-thanks {
  background-color: #fff;
}
body.page-register .site-logo, body.page-thanks .site-logo {
  max-width: 196px;
}
body.page-register .site-footer .inner .txt_copy, body.page-thanks .site-footer .inner .txt_copy {
  color: #333;
}

body.page-register .site-header, body.page-thanks .site-header {
  padding: 40px 0;
}

.page-register .page-section, .page-thanks .page-section {
  padding: 60px 0;
  scroll-margin: 0;
}

.page-register .header-container, .page-thanks .header-container {
  display: flex;
  justify-content: center;
}

.page-register .container, .page-thanks .container {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 20px;
}

.page-register .site-footer, .page-thanks .site-footer {
  padding: 0;
}
.page-register .site-footer .inner, .page-thanks .site-footer .inner {
  margin: 0.8em 0;
  justify-content: center;
}
.page_register .site-footer .inner .txt_copy, .page-thanks .site-footer .inner .txt_copy {
  margin-top: 0;
}

.page-register.mail p {
  margin-top: 1em;
  line-height: 1.6;
  text-align: center;
  font-size: 1rem;
}
.page-register.mail p.error_messe {
  color: red;
}
.page-register.mail .formTable {
  width: 100%;
  margin: 1rem auto 0;
  border-collapse: collapse;
}
.page-register.mail .formTable td, .page-register.mail .formTable th {
  border: 1px solid #c8c8c8;
  padding: 10px;
}
.page-register.mail .formTable th {
  width: 30%;
  font-weight: normal;
  background: #f0f0f0;
  text-align: left;
}
.page-register.mail .button_form {
  margin-top: 1rem;
  display: flex;
  justify-content: center;
  gap: 0 8px;
}
.page-register.mail .button_form input {
  width: 50%;
  justify-content: center;
}
.page-register.mail .button_form input.cta_form-1 {
  margin-left: 2.5%;
}
.page-register .form_wrap {
  width: 298px;
  margin: 0 auto;
}
.page-register .form_wrap .form_title {
  font-size: 1.5rem;
  text-align: center;
  margin-bottom: 20px;
  line-height: 1.2;
}

@media (min-width: 861px) and (max-width: 1365px) {
  .page-register .page-section, .page-thanks .page-section {
    padding: 60px 0;
    scroll-margin: 120px 0;
  }
}
@media screen and (max-width: 860px) {
  body.page-register .site-header, body.page-thanks .site-header {
    padding: 12px 0;
  }
  .page-register .page-section, .page-thanks .page-section {
    padding: 40px 0;
    scroll-margin: 80px 0;
  }
  .page_register .site-footer .inner .txt_copy, .page-thanks .site-footer .inner .txt_copy {
    margin-top: 0;
  }
  .page-register.mail .formTable {
    margin: 1rem auto 0;
  }
  .page-register.mail .formTable th, .page-register.mail .formTable td {
    width: auto;
    display: block;
  }
  .page-register.mail .formTable th {
    width: auto;
    margin-top: 0.6rem;
    border-bottom: 0;
    display: block;
  }
}
/*
 * thanks
 */
.section-thanks {
  padding-top: 40px;
}
.section-thanks .thanks__header {
  font-size: 1.5rem;
  text-align: center;
  margin-bottom: 20px;
  line-height: 1.3;
}
.section-thanks .thanks__content p {
  margin-top: 1em;
  line-height: 1.6;
  text-align: center;
  font-size: 1rem;
}
.section-thanks .thanks__content a {
  text-decoration: underline;
}
.section-thanks .thanks__content a:hover {
  color: #36a2f5;
}
.section-thanks .thanks__action {
  padding-top: 40px;
  text-align: center;
}
.section-thanks .thanks__action .button {
  min-width: 300px;
}

.section-introduction.hero-submit {
  padding: 28px 34px;
}
@media screen and (max-width: 860px) {
  .section-introduction.hero-submit {
    padding: 13px 18px;
  }
}
.section-introduction.hero-submit .intro_logo {
  position: relative;
  top: auto;
  left: auto;
}

.contents--message {
  margin: 50px auto 0;
  max-width: 880px;
  background: #fff;
  padding: 34px 22px;
  border-radius: 8px;
  font-size: 1rem;
  line-height: 1.69;
  text-align: left;
}
.contents--message p + p {
  margin-top: 1.8rem;
}
.contents--message a {
  text-decoration: underline;
}
.contents--message ul {
  margin: 1.8rem 0;
  padding: 0;
}
.contents--message ul.dot li {
  padding: 0 0 0 25px;
  position: relative;
  overflow: visible;
  list-style: none;
}
.contents--message ul.dot li:before {
  content: "";
  background-color: #333;
  width: 6px;
  height: 6px;
  display: block;
  position: absolute;
  top: 0.65em;
  left: 2px;
}
.contents--message ul.dot li + li {
  margin-top: 0.8em;
}



#formContactTop.module_form .form-field-agree .error-mess {
  text-align: left;
}

.formContactTop-input,
.formContactTop-confirmation {
}

/* ---------------------------------------------
*   l-header
--------------------------------------------- */
.l-header {
  display: flex;
  align-items: center;
  position: absolute;
  inset: 0;
  height: 82px;
  background-color: #fff;
  z-index: 2;
}
@media screen and (max-width: 860px) {
  .l-header {
    display: none;
  }
}
.l-header__container {
  display: flex;
  padding-top: 11px;
  padding-inline: 20px;
  -moz-column-gap: 20px;
       column-gap: 20px;
  max-width: 1320px;
  width: 100%;
  margin: 0 auto;
  justify-content: space-between;
}
.l-header__logp {
  display: flex;
  align-items: center;
  gap: 0 32px;
}
.l-header__logp-img {
  display: flex;
  align-items: center;
  gap: 20px;
  max-width: 344px;
}
.l-header__logp-img img {
  max-width: 100%;
  object-fit: contain;
}
.l-header__logo-bcollect {
  width: 56.81%;
}
.l-header__logo-recoh {
  width: 37.58%;
}
.l-header__navi {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  column-gap: 12px;
}
.l-header__btn {
  width: 11.59em;
  font-size: min(1.83vw, 22px);
}
/* ---------------------------------------------
*   c-kv
--------------------------------------------- */
.c-kv {
  padding-top: 84px;
  background: #fff;
  overflow: hidden;
}
.c-kv img {
  width: 100%;
}

@-webkit-keyframes loopLogo {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-127.65vw);
            transform: translateX(-127.65vw);
  }
}
@keyframes loopLogo {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-127.65vw);
            transform: translateX(-127.65vw);
  }
}
.fv_logo_slider {
  position: relative;
  width: 100%;
  padding: 18px 0;
  background-color: #fff;
  overflow: hidden;
  z-index: 1;
}
.fv_logo_slider_track {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-animation: loopLogo 20s linear infinite;
          animation: loopLogo 20s linear infinite;
}
.fv_logo_slider_track img {
  display: block;
  max-width: none;
  width: 127.65vw;
}

.kv_02 {
  margin-top: -20px;
  background: linear-gradient(to right, rgba(2, 101, 105, 0.95), rgba(4, 127, 132, 0.95));
  position: relative;
  padding: 32px 0;
}
.kv_02::before,
.kv_02::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  height: 1px;
  background: rgba(241, 226, 158, 0.9025);
}
.kv_02::before {
  top: 6px;
}
.kv_02::after {
  bottom: 6px;
}
.kv_02__inner {
  position: relative;
  max-width: 1320px;
  margin-inline: auto;
  padding: 0 20px;
  z-index: 1;
}
.kv_02__img {
  max-width: 741px;
}
@media screen and (max-width: 1024px) {
  .kv_02 {
    margin-top: 0;
  }
  @-webkit-keyframes loopLogo {
    0% {
      -webkit-transform: translateX(0);
              transform: translateX(0);
    }
    100% {
      -webkit-transform: translateX(-298.4vw);
              transform: translateX(-298.4vw);
    }
  }
  @keyframes loopLogo {
    0% {
      -webkit-transform: translateX(0);
              transform: translateX(0);
    }
    100% {
      -webkit-transform: translateX(-298.4vw);
              transform: translateX(-298.4vw);
    }
  }
  .fv_logo_slider {
    margin: 0;
    padding: 3.46vw 0;
  }
  .fv_logo_slider_track {
    -webkit-animation: loopLogo 30s linear infinite;
            animation: loopLogo 30s linear infinite;
  }
  .fv_logo_slider_track img {
    width: 298.4vw;
  }
  .kv_02__inner {
    padding: 0 6.4%;
  }
  .kv_02__img {
    max-width: none;
  }
}
@media screen and (max-width: 860px) {
  .c-kv {
  padding-top: min(12.8vw,96px);
}
}
.c-kv__bg {
  min-height: 823px;
  background: url(../img/fv_bg.png) center top / cover no-repeat;
}
@media screen and (max-width: 1024px) {
  .c-kv__bg {
    min-height: 0;
    padding: min(5.33vw,40px) 6.86% min(3.73vw,28px);
    background-image: url(../img/fv_bg_sp.png);
  }
}
.c-kv__container {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  max-width: 1320px;
  margin-inline: auto;
  padding: 0 20px;
  z-index: 1;
}
@media screen and (max-width: 1024px) {
  .c-kv__container {
    position: relative;
    max-width: 750px;
    padding-inline: 0;
  }
}
.c-kv__main {
  margin: 64px 0;
  width: 49.33%;
}
@media screen and (max-width: 860px) {
  .c-kv__main {
    margin: 0;
    width: 100%;
  }
}
.c-kv__body {
  position: relative;
  z-index: 0;
}
.c-kv__img {
  position: absolute;
  width: 59.666667%;
  z-index: -1;
  top: -80px;
  right: -209px;
}
@media screen and (max-width: 1024px) {
  .c-kv__img {
    width: 141px;
    top: -15px;
    right: -34px;
  }
}
.c-kv__deco {
  position: absolute;
  bottom:  -106px;
  right: -13.63%;
  width: 64.77%;
  z-index: -1;
  pointer-events: none;
}
@media screen and (max-width: 1024px) {
  .c-kv__deco {
    bottom:  max(-10.4vw,-78px);
    right: -17%;
    width: 75.11%;
  }
}

/* ---------------------------------------------
*   c-list-kv
--------------------------------------------- */
.c-list-kv {
  margin-top: 30px;
  padding-left: 0;
}
@media screen and (max-width: 860px) {
  .c-list-kv {
    padding-left: 0;
    margin-top: 16px;
  }
}
.c-list-kv__item {
  display: flex;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
  background-color: #fff;
  -moz-column-gap: 15px;
       column-gap: 15px;
  padding: 12px 32px 12px 8px;
  border-radius: 20px;
}
@media screen and (max-width: 860px) {
  .c-list-kv__item {
    -moz-column-gap: 9px;
         column-gap: 9px;
    padding: 6px 22px 6px 5px;
    border-radius: 24px;
  }
}
.c-list-kv__item:nth-of-type(n+2) {
  margin-top: 20px;
}
@media screen and (max-width: 860px) {
  .c-list-kv__item:nth-of-type(n+2) {
    margin-top: 10px;
  }
}
.c-list-kv__item:nth-of-type(1) {
  padding: 6px 35px 6px 11px;
}
@media screen and (max-width: 860px) {
  .c-list-kv__item:nth-of-type(1) {
    padding: 6px 20px 6px 6px;
  }
}
.c-list-kv__item:nth-of-type(2) {
  padding: 6px 35px 6px 11px;
}
@media screen and (max-width: 860px) {
  .c-list-kv__item:nth-of-type(2) {
    padding: 6px 16px 6px 6px;
  }
}
.c-list-kv__item:nth-of-type(3) {
  padding: 6px 35px 6px 11px;
}
@media screen and (max-width: 860px) {
  .c-list-kv__item:nth-of-type(3) {
    padding: 6px 16px 6px 6px;
  }
}
.c-list-kv__item:nth-of-type(4) {
  padding: 13px 35px 12px 11px;
}
@media screen and (max-width: 860px) {
  .c-list-kv__item:nth-of-type(4) {
    padding: 13px 16px 12px 6px;
  }
}
.c-list-kv__icon {
  width: 30px;
}
@media screen and (max-width: 860px) {
  .c-list-kv__icon {
    width: 21px;
  }
}
.c-list-kv__txt {
  display: block;
  font-size: 1.5rem;
  font-weight: 700;
  color: #35A1F3;
  line-height: 1.3;
}
@media screen and (max-width: 860px) {
  .c-list-kv__txt {
    font-size: 1rem;
    line-height: 1.45;
  }
}
.c-list-kv__txt--s {
  color: #000000;
  font-size: 0.75rem;
}
@media screen and (max-width: 860px) {
  .c-list-kv__txt--s {
    font-size: 0.5rem;
  }
}

/* ---------------------------------------------
*   c-box
--------------------------------------------- */
.c-box {
  padding-block: 15px;
  background-color: #E5FAFF;
}
@media screen and (max-width: 860px) {
  .c-box {
    padding-block: 30px;
  }
}
.c-box--fix {
  position: fixed;
  z-index: 20;
  visibility: hidden;
  opacity: 0;
  padding-block: 20px;
  transition: 0.3s;
  background: rgba(255,255,255,0.96);
  overflow: hidden;
}
@media screen and (min-width: 861px) {
  .c-box--fix {
    top: 0;
    right: 0;
    width: 70px;
    height: 355px;
    background: linear-gradient(to right, #E51C50 0%, #E59D1C 100%);
    border-radius: 16px 0 0 16px;
    transform: translateX(7px);
  }
  .c-box--fix:hover {
    transform: translateX(0);
  }
}
@media screen and (max-width: 860px) {
  .c-box--fix {
    padding-inline: 4.2%;
    padding-block: min(3.2vw,24px);
    bottom: 0;
    left: 0;
    width: 100%;
  }
}
@media screen and (min-width: 861px) {
  .c-box--fix::before {
    position: absolute;
    content: "";
    display: inline-block;
    top: -180px;
    left: 0;
    width: 30px;
    height: 100%;
    background-color: #fbfbfb;
    animation: btn_animation 2.5s ease-in-out infinite;
  }
}
@keyframes btn_animation {
  0% {
    -webkit-transform: scale(0) rotate(45deg);
    opacity: 0;
  }
  80% {
    -webkit-transform: scale(0) rotate(45deg);
    opacity: 0.5;
  }
  81% {
    -webkit-transform: scale(4) rotate(45deg);
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(50) rotate(45deg);
    opacity: 0;
  }
}
.c-box--fix.is-show {
  visibility: visible;
  opacity: 1;
}
.c-box--fix .c-btn,
.c-box--fix .c-btn-2 {
  margin-top: 0;
}
@media screen and (max-width: 860px) {
  .c-box--fix .c-btn,
  .c-box--fix .c-btn-2 {
    display: block;
    width: 100%;
    border-radius: 0;
    padding-inline: 0;
    height: auto;
    -moz-column-gap: 0;
         column-gap: 0;
    background: unset;
    box-shadow: none;
    margin: 0 auto;
  }
}
.c-box--fix .c-btn img,
.c-box--fix .c-btn-2 img {
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 860px) {
  .c-box--fix .c-box__container {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    gap: 2.4vw;
  }
  .c-box--fix .c-box__container .c-box__item {
    width: 50%;
  }
}
.c-box--fix .c-box__item {
  margin: 0;
  text-align: left;
}
.c-box__container {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 10px;
  /* -moz-column-gap: 120px;
       column-gap: 120px; */
}
@media screen and (min-width: 861px) {
  .c-box__container {
    height: 100%;
  }
}
@media screen and (max-width: 860px) {
  .c-box__container {
    display: block;
  }
}
.c-box__item {
  width: -moz-fit-content;
  width: fit-content;
  text-align: center;
}
@media screen and (min-width: 861px) {
  .c-box__item {
    height: 100%;
  }
}
@media screen and (max-width: 860px) {
  .c-box__item {
    margin: 0 auto;
  }
}
@media screen and (min-width: 861px) {
  .c-box__anchor {
    display: flex;
    justify-content: center;
    align-items: center;
    padding-right: 7px;
    width: 100%;
    height: 100%;
    font-size: 1.13rem;
    font-weight: 600;
    color: #fff;
    writing-mode: vertical-rl;
  }
}
.c-box__txt {
  position: relative;
  font-size: 0.81rem;
  font-weight: 500;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 860px) {
  .c-box__txt {
    font-size: 0.81rem;
  }
}
.c-box__txt::before, .c-box__txt::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 2px;
  height: 100%;
  border-radius: 3px;
  background: #000000;
}
.c-box__txt::before {
  left: -12px;
  transform: translateY(-50%) rotate(-30deg);
}
.c-box__txt::after {
  right: -12px;
  transform: translateY(-50%) rotate(30deg);
}
.c-box__txt--orange {
  color: #E5722D;
}
.c-box__txt--orange::before {
  background: #E5214E;
}
.c-box__txt--orange::after {
  background: #E5981F;
}

/* ---------------------------------------------
*   c-btn
--------------------------------------------- */
.c-btn {
  display: flex;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
  margin-top: 10px;
  border-radius: 10px;
  padding-inline: 20px 40px;
  height: 70px;
  -moz-column-gap: 30px;
       column-gap: 30px;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
  background: linear-gradient(to right, #E51C50 50%, #E59D1C 100%);
  transition: opacity 0.3s;
}
@media screen and (max-width: 860px) {
  .c-btn {
    width: 300px;
    margin-top: 8px;
    border-radius: 16px;
    padding-inline: 22px 32px;
    height: 70px;
    -moz-column-gap: 35px;
         column-gap: 35px;
  }
}
@media (hover: hover) and (pointer: fine) {
  .c-btn:hover {
    opacity: 0.8;
  }
}
.c-btn--l {
  width: 720px;
  height: 86px;
  margin-top: 40px;
  margin-inline: auto;
  padding-inline: 0;
  justify-content: center;
}
.c-btn--l .c-btn__img {
  width: 112.8888888903px;
}
.c-btn--l .c-btn__txt {
  font-size: 1.94rem;
}
@media screen and (max-width: 860px) {
  .c-btn--l {
    width: 300px;
    height: 70px;
    margin-top: 30px;
    padding-inline: 22px 32px;
    -moz-column-gap: 35px;
         column-gap: 35px;
    justify-content: unset;
  }
  .c-btn--l .c-btn__img {
    width: 50px;
  }
  .c-btn--l .c-btn__txt {
    font-size: 1.44rem;
  }
}
.c-btn__img {
  width: 50px;
}
.c-btn__txt {
  font-size: 1.5rem;
  font-weight: 700;
  color: #fff;
}
@media screen and (max-width: 860px) {
  .c-btn__txt {
    font-size: 1.44rem;
  }
}

/* ---------------------------------------------
*   c-section
--------------------------------------------- */
.c-section--2 {
  position: relative;
  padding-block: 174px 61.462205704px;
  background-color: #E5FAFF;
}
@media screen and (max-width: 860px) {
  .c-section--2 {
    padding-block: 96px 44px;
  }
}
.c-section--2:before {
  content: "";
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  -webkit-clip-path: polygon(0 0, 50% 11%, 100% 0);
          clip-path: polygon(0 0, 50% 11%, 100% 0);
}
@media screen and (max-width: 860px) {
  .c-section--2:before {
    -webkit-clip-path: polygon(0 0, 50% 65px, 100% 0);
            clip-path: polygon(0 0, 50% 65px, 100% 0);
  }
}
@media screen and (max-width: 860px) {
  .c-section--2 .c-section__head .section_header_txt {
    font-size: 1.13rem;
    max-width: 308px;
    margin-inline: auto;
  }
}
.c-section--2 .c-section__body {
  max-width: 1100px;
  padding-inline: 20px;
  margin-inline: auto;
  margin-top: 26.8897149955px;
}
@media screen and (max-width: 860px) {
  .c-section--2 .c-section__body {
    max-width: initial;
    padding-inline: 0;
  }
}
.c-section--3 {
  margin-top: 50px;
  padding-block: 40px 46px;
  background-color: #E5FAFF;
}
@media screen and (max-width: 860px) {
  .c-section--3 {
    margin-top: 40px;
    padding-block: 20px;
  }
}
.c-section--3 .c-section__txt {
  margin-top: 30px;
  font-size: 1.25rem;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 860px) {
  .c-section--3 .c-section__txt {
    margin-top: 30px;
    font-size: 1.13rem;
    line-height: 1.5555555556;
  }
}
.c-section--3 .section_header--l {
  font-size: 1.88rem;
  font-weight: 700;
}
@media screen and (max-width: 860px) {
  .c-section--3 .section_header--l {
    font-size: 1.38rem;
  }
}
@media screen and (max-width: 860px) {
  .c-section__container {
    max-width: 375px;
    margin: 0 auto;
    padding: 0 20px;
  }
}



/* ---------------------------------------------
*   c-tabs
--------------------------------------------- */
.c-tabs {
  display: flex;
  max-width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 860px) {
  .c-tabs {
    display: block;
    max-width: 308px;
    margin-inline: auto;
  }
}
@media screen and (max-width: 860px) {
  .c-tabs__tab-list {
    display: flex;
  }
}
.c-tabs__tab {
  border-radius: 20px 0 0px 20px;
  box-shadow: -1px 0px 6px rgba(0, 0, 0, 0.16);
  border: none;
  font-weight: 600;
  font-size: 1.13rem;
  line-height: 1.3333333333;
  text-align: center;
  color: #000;
  touch-action: manipulation;
  cursor: pointer;
  transition: opacity 0.3s;
  background-color: #e6e6e6;
}
@media screen and (min-width: 861px) {
  .c-tabs__tab {
    display: block;
    width: 64px;
    height: 371px;
    writing-mode: vertical-rl;
  }
}
@media screen and (max-width: 860px) {
  .c-tabs__tab {
    width: 154px;
    padding-block: 8px;
    border-radius: 10px 10px 0px 0px;
    font-size: 0.88rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .c-tabs__tab:hover {
    opacity: 0.8;
  }
}
.c-tabs__tab.is-current {
  background-color: #fff;
  color: #000;
}
.c-tabs__body {
  position: relative;
  padding: 10px 26px;
  background: #fff;
  box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.16);
}
@media screen and (max-width: 860px) {
  .c-tabs__body {
    padding: 20px 8px;
  }
}
.c-tabs__tab-panel {
  display: none;
}
.c-tabs__tab-panel.is-current {
  display: block;
}

ol, ul {
  list-style: none;
}

.site-content ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* ---------------------------------------------
*   c-list-card
--------------------------------------------- */
.c-list-card {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 30px 0;
  padding-left: 0;
}
@media screen and (max-width: 860px) {
  .c-list-card {
    margin: 0;
  }
}
.c-list-card__item {
  position: relative;
  width: 48.576459%;
  height: 330px;
  border-radius: 15px;
  background: #fff;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
}
@media screen and (max-width: 860px) {
  .c-list-card__item {
    width: 142px;
    height: auto;
    border-radius: 15px;
  }
}
.c-list-card__head {
  padding-block: 24px 24px;
  text-align: center;
}
@media screen and (max-width: 860px) {
  .c-list-card__head {
    display: flex;
    justify-content: center;
    align-items: center;
    padding-block: 0;
    height: 42px;
  }
}
.c-list-card__head--2 {
  padding-block: 13px 15px;
}
@media screen and (max-width: 860px) {
  .c-list-card__head--2 {
    padding-block: 0;
  }
}
.c-list-card__num {
  position: absolute;
  top: -17.6703841399px;
  left: 6.1462205704px;
  font-size: 2.06rem;
  font-weight: 700;
  line-height: 33.8042131372px;
  color: #34a2f5;
}
@media screen and (max-width: 860px) {
  .c-list-card__num {
    font-size: 1.13rem;
    top: -18px;
    left: -1px;
  }
}
.c-list-card__ttl {
  font-weight: 700;
  font-size: 1.25rem;
  text-align: center;
  color: #000;
}
@media screen and (max-width: 860px) {
  .c-list-card__ttl {
    font-size: 0.88rem;
  }
}
@media screen and (min-width: 861px) {
  .c-list-card__img {
    width: 61.8%;
    margin: 0 auto;
  }
}

/* ---------------------------------------------
*   pc-hide,sp-hide
--------------------------------------------- */
@media screen and (min-width: 861px) {
  .pc-hide {
    display: none !important;
  }
}

@media screen and (max-width: 860px) {
  .sp-hide {
    display: none !important;
  }
}

/* ---------------------------------------------
*   sp-br（SP時のみ改行）
--------------------------------------------- */
@media screen and (min-width: 1024px) {
  .sp-br {
    display: none;
  }
}

/* ---------------------------------------------
*   logo_recoh-lease
--------------------------------------------- */
.logo_recoh-lease {
  width: 200px;
}

/*  .js-pagetop-threshold (JSで追加する閾値調整用の要素)
--------------------------------------------- */
.js-pagetop-threshold {
  position: absolute;
  top: 0;
  height: 800px;
}
@media screen and (max-width: 860px) {
  .js-pagetop-threshold {
    height: 600px;
  }
}

/* --- ファーストビューのフォームデザイン調整 --- */


/* フォーム本体 */
#formContactTop.module_form {
  background: none;
  box-shadow: none;
  border-radius: 0;
  padding: 0 6.9%;
}
#formContactTop .formContactTop-input {
  padding: 0;
  background: none;
  border-radius: 0;
  box-shadow: none;
}
#formContactTop .form-field {
  background: none;
  border-radius: 0;
  margin-top: 24px;
}
#formContactTop .form-field:first-child {
  margin-top: 0;
}
#formContactTop .form-field .title {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 4px;
  color: #026569;
  font-size: 1.125rem;
  gap: 4px;
}
#formContactTop .form-field-required {
  display: inline-block;
  background-color: #039393;
  color: #fff;
  border-radius: 4px;
  padding: 2px 6px 1px;
  font-size: 0.62rem;
  font-weight: normal;
  margin-left: 0;
  vertical-align: middle;
}
.form-field-multiple {
  font-size: 0.75rem;
  font-weight: normal;
  margin-left: 4px;
  vertical-align: middle;
}
#formContactTop .form-field-multiple {
  margin: 0;
  color: #1e374b;
}
#formContactTop .form-field input[type="text"],
#formContactTop .form-field input[type="tel"],
#formContactTop .form-field select {
  border: 1px solid #c8c8c8;
  border-radius: 3px;
  height: 36px;
  font-size: 0.9rem;
  color: #222;
  margin-top: 4px;
}
#formContactTop .form-field input[type="text"]::placeholder,
#formContactTop .form-field input[type="tel"]::placeholder {
  color: #b5b5b5;
  font-size: 0.9rem;
}
#formContactTop .form-field select {
  width: 100%;
  min-width: 0;
}
/* FVのフォームのチェックボックスエリアのgap調整 */
#formContactTop .form-field.checkbox .checkbox_area {
  gap: 0 4px;
}

/* FVのフォームのcolumn_2のgap調整 */
#formContactTop .column_2 {
  gap: 24px 10px;
}
#formContactTop .column_2[aria-labelledby="service"] {
  gap: 10px 4px;
}

#formContactTop .column_2 .form-field,
#formContactTop .column_2 .form-field.checkbox {
  width: calc(50% - 5px);
}
#formContactTop .form-field .column_2 .form-field.checkbox {
  min-width: 44%;
  width: auto;
}
#formContactTop .form-field.checkbox .checkbox_area .checkbox_dummy {
  border: 1.5px solid #c8c8c8;
  border-radius: 5px;
  min-width: 18px;
  min-height: 18px;
}
#formContactTop .form-field.checkbox .checkbox_area .checkbox_input:checked + .checkbox_dummy::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../img/icon_check_active.svg) no-repeat center;
  background-size: contain;
}
#formContactTop .form-field-agree .txt.fwb {
  font-weight: normal;
  font-size: 1rem;
}


#formContactTop .txt_form_attention {
  color: #444;
  font-size: 0.68rem;
  margin-top: 16px;
  max-width: 100%;
}

#formContactTop .button.cta_form-1 {
  background-color: transparent;
  padding: 0;
  margin-top: 16px;
}

@media screen and (max-width: 1024px) {
  .section-introduction .intro_side-bar {
    display: none;
  }
}



@media screen and (max-width: 1024px) {
  #formContactTop .form-field input[type="text"],
  #formContactTop .form-field input[type="tel"],
  #formContactTop .form-field select {
    height: 32px;
    font-size: 0.82rem;
  }
  #formContactTop .form-field input[type="text"]::placeholder,
  #formContactTop .form-field input[type="tel"]::placeholder {
    font-size: 0.82rem;
  }

  #formContactTop .txt_form_attention {
    font-size: 0.55rem;
  }
}

/* ---------------------------------------------
*   #formContactBtm
--------------------------------------------- */
#formContactBtm {
  color: #333;
}

/* ---------------------------------------------
*   セクション共通スタイル
--------------------------------------------- */
.bg-white {
  background-color: #fff;
}

/* ---------------------------------------------
*   section-case 導入実績
--------------------------------------------- */
.section-case__list-wrap {
  padding-top: 160px;
  padding-bottom: 120px;
  background: url(../img/case_bg.png) center top / cover no-repeat #fff;
}
.section-case__inner {
  max-width: 1040px;
  margin-inline: auto;
  padding-inline: 20px;
}
.section-case .section_header {
  margin-bottom: 120px;
}
.case-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 64px;
}
.case-card {
  position: relative;
  width: 86%;
  z-index: 1;
}
.case-card img {
  width: 100%;
}
.case-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #f3f8f8;
  box-shadow: 26px 26px 0 rgba(3,147,147,0.25);
  border-radius: 48px;
  z-index: -1;
  pointer-events: none;
}
.case-card:nth-child(odd)::before {
  border-bottom-left-radius: 0;
}
.case-card:nth-child(even) {
  margin-left: auto;
}
.case-card:nth-child(even)::before {
  border-bottom-right-radius: 0;
}
.case-other {
  padding: 96px 0 120px;
  background-color: #caeced;
  text-align: center;
}
.case-other__inner {
  max-width: 1040px;
  margin-inline: auto;
  padding-inline: 20px;
}
.case-other__ttl {
  margin: 0 0 60px;
  font-size: 2.5rem;
  font-weight: 700;
  color: #026569;
  line-height: 1.3;
}
.case-other__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.case-other__list img {
  width: 100%;
}
@media screen and (max-width: 1024px) {
  .section-case__list-wrap {
    padding-top: min(21.33vw,160px);
    padding-bottom: min(21.33vw,160px);
    background-image: url(../img/case_bg_sp.png);
  }
  .section-case__inner {
    padding-inline: 7.46%;
  }
  .section-case .section_header {
    margin-bottom: min(8.53vw,64px);
  }
  .case-list {
    gap: min(8.53vw,64px);
  }
  .case-card {
    width: 100%;
  }
  .case-card::before {
    top: min(7.46vw,56px);
    box-shadow: 3.46vw 3.46vw 0 rgba(3,147,147,0.25);
    border-radius: min(8.53vw,64px);
  }
  .case-other {
    padding-top: min(12.8vw,96px);
    padding-bottom: min(16vw,120px);
  }
  .case-other__inner {
    padding-inline: 7.46%;
  }
  .case-other__ttl {
    font-size: min(5.33vw,40px);
    margin-bottom: min(8.53vw,64px);
  }
  .case-other__list {
    grid-template-columns: repeat(2, 1fr);
    gap: min(2.13vw,16px);
  }
}

/* ---------------------------------------------
*   c-list-card
--------------------------------------------- */
.section-cv {
  padding: 120px 0;
  background: url(../img/cv_bg.png) center / cover no-repeat;
}
.section-cv__inner {
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
  align-items: flex-start;
  max-width: 1040px;
  margin: 0 auto;
  padding: 0 20px;
}
.section-cv__img {
  width: 47.2%;
  margin-top: 44px;
}
.cv-block {
  width: 48.6%;
}
.cv-block__headline {
  margin-bottom: 64px;
}
.cv-block__headline img {
  width: 100%;
}
.c-btn-cv {
  display: block;
  max-width: 460px;
  margin: 24px auto 0;
}
.c-btn-tel {
  width: 100% !important;
  max-width: 460px;
  margin: 24px auto 0;
}
@media screen and (max-width: 1024px) {
  .section-cv {
    padding: min(12vw,90px) 0 min(14.93vw,112px);
    background: url(../img/cv_bg_sp.png);
  }
  .section-cv__inner {
    display: block;
    padding: 0 10.13%;
  }
  .section-cv__img {
    width: 86.28%;
    margin: 0 auto min(3.73vw,28px);
  }
  .cv-block {
    width: 100%;
  }
  .cv-block__headline {
    width: 89.29%;
    margin: 0 auto min(8.26vw,62px);
  }
  .c-btn-cv {
    margin: min(3.2vw,24px) auto 0;
  }
  .c-btn-tel {
    margin: min(3.2vw,24px) auto 0;
  }
}
.c-box--fix .c-btn--tel {
  width: 100%;
  height: auto;
  aspect-ratio: 1/0.23;
  background-image: url('../img/btn_fixd_01.png');
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  display: block;
  text-decoration: none;
  text-align: center;
  line-height: 1.2;
  padding: 0.4em 1.47em 1em 2.8em;
  font-size: min(3.81vw,28.6px);
  font-weight: 700;
  color: #026569;
}

/* ヘッダー電話ボタンのスタイル */
.l-header__tel--text {
  background-image: url('../img/header_btn_tel.png');
  width: 11.59em;
  min-width: 11.59em;
  aspect-ratio: 1/0.2;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  display: block;
  text-decoration: none;
  color: #026569;
  font-size: min(1.83vw, 22px);
  font-weight: 700;
  line-height: 1;
  box-sizing: border-box;
  padding-top: 0.35em;
  padding-left: 3.09em;
}

/* CV部分の電話ボタンのスタイル */
.c-btn-tel--text {
  display: block;
  max-width: none;
  max-width: 460px;
  width: 14.37em;
  aspect-ratio: 1 / 0.19;
  background: url('../img/btn_tel.png') center / contain no-repeat;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
  box-sizing: border-box;
  padding-top: 0.56em;
  padding-left: 5.25em;
  text-align: center;
  text-decoration: none;
  color: #026569;
}

/* SP版（スマートフォン版）のスタイル */
@media (max-width: 860px) {
  .c-btn-tel--text {
    font-size: min(5.54vw, 32px);
  }
}

/* ---------------------------------------------
*   section-problem
--------------------------------------------- */
.section-problem {
  position: relative;
  padding: 120px 0 74px;
  background: url(../img/problem_bg.png) center top / 104% repeat #f3f8f8;
}
.section-problem::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  width: 21px;
  height: 208px;
  margin: -108px 0 0 20px;
  background: url(../img/solution_arrow.png) center top / contain no-repeat;
  z-index: 2;
}
.section-problem__container {
  max-width: 1320px;
  margin-inline: auto;
  padding: 0 20px;
}
.section-problem__ttl {
  margin-bottom: 46px;
}
.section-problem img {
  width: 100%;
}
@media screen and (max-width: 1024px) {
  .section-problem {
    padding: 16vw 0 16.93vw;
  }
  .section-problem::after {
    width: min(3.2vw,24px);
    height: min(24.66vw,185px);
    margin: max(-10.93vw,-82px) 0 0 min(3.06vw,23px);
  }
  .section-problem__container {
    padding: 0;
  }
  .section-problem__ttl {
    margin-bottom: min(8.53vw,64px);
  }
}

/* ---------------------------------------------
*   section-solution
--------------------------------------------- */
.section-solution {
  position: relative;
  padding: 148px 0 160px;
  background: linear-gradient(to right, #caeced, #dbf9fa);
  overflow: hidden;
}
.section-solution__inner {
  position: relative;
  max-width: 1320px;
  margin-inline: auto;
  padding: 0 20px;
  z-index: 1;
}
.section-solution__inner::before {
  content: "";
  position: absolute;
  top: -227px;
  left: -29.39%;
  width: 45.53%;
  aspect-ratio: 1/1;
  background: url(../img/solution_deco.png) center / contain no-repeat;
  z-index: -1;
  pointer-events: none;
}
.section-solution__inner::after {
  content: "";
  position: absolute;
  bottom: 280px;
  right: -31.81%;
  width: 45.53%;
  aspect-ratio: 1/1;
  background: url(../img/solution_deco.png) center / contain no-repeat;
  z-index: -1;
  pointer-events: none;
}
.section-solution__ttl {
  width: 82.18%;
  margin: 0 auto 40px;
}
.section-solution__ttl img {
  width: 100%;
}

/* タブボタン */
.solution-tabs-wrap {
  position: relative;
  max-width: 1000px;
  margin: 0 auto 80px;
  text-align: center;
}
.solution-tabs {
  display: inline-flex;
  justify-content: center;
  padding: 6px;
  background: #fff;
  border-radius: 28px;
}
.solution-tab {
  position: relative;
  min-width: 334px;
  padding: 16px 20px;
  background: transparent;
  border: none;
  outline: none;
  border-radius: 22px;
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
  cursor: pointer;
  transition-duration: 0.2s;
}
.solution-tab::after {
  opacity: 0;
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  width:0;
  height:0;
  border-style:solid;
  border-width: 15px 15px 0 15px;
  border-color: #048a43 transparent transparent transparent;
  transition-duration: 0.2s;
}
.solution-tab.is-active::after {
  opacity: 1;
}
.solution-tab:hover:not(.is-active) {
  opacity: 0.8;
}
.solution-tab--collection {
  color: #048a43;
}
.solution-tab--collection.is-active {
  background: #048a43;
  color: #fff;
}
.solution-tab--collection.is-active::after {
  border-color: #048a43 transparent transparent transparent;
}
.solution-tab--guarantee {
  color: #034e8f;
}
.solution-tab--guarantee.is-active {
  background: #034e8f;
  color: #fff;
}
.solution-tab--guarantee.is-active::after {
  border-color: #034e8f transparent transparent transparent;
}
@media screen and (max-width: 1024px) {
  .solution-tabs-wrap {
    margin-top: max(-4.4vw,-33px);
    margin-bottom: min(12.8vw,96px);
  }
  .solution-tabs {
    display: flex;
    padding: min(0.8vw,6px);
    border-radius: min(3.73vw,28px);
  }
  .solution-tab {
    min-width: 0;
    flex: 1;
    padding: 3.2vw;
    border-radius: min(2.93vw,22px);
    font-size: min(4.26vw,32px);
  }
  .solution-tab::after {
    border-width: min(2vw,15px) min(2vw,15px) 0 min(2vw,15px);
  }
}

/* タブパネル */
.solution-panels {
  max-width: 1000px;
  margin: 0 auto;
}
.solution-panel {
  display: none;
}
.solution-panel.is-active {
  display: block;
}
.solution-panel__heading {
  margin-bottom: 48px;
}
.solution-panel__heading img {
  width: 100%;
}
.solution-panel__lead {
  margin-bottom: 55px;
}
.solution-panel__lead img {
  width: 100%;
}

/* カード */
.solution-cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
}
.solution-card img {
  width: 100%;
  filter: drop-shadow(0 10px 5px rgba(120, 147, 160, 0.6));
}
@media screen and (max-width: 1024px) {
  .section-solution {
    padding: min(21.33vw,160px) 0 min(16vw,120px);
  }
  .section-solution__inner {
    padding: 0 4.26%;
  }
  .section-solution__inner::before {
    top: max(-32.26vw,-242px);
    left: -11.73%;
    width: 80.13%;
  }
  .section-solution__inner::after {
    bottom: min(30.66vw,230px);
    right: -21.33%;
    width: 80.13%;
  }
  .section-solution__ttl {
    width: 95.77%;
    margin-bottom: 0px;
  }
  .solution-panel__heading {
    margin-bottom: min(5.33vw,40px);
  }
  .solution-panel__lead {
    margin-bottom: min(10.66vw,80px);
  }
  .solution-cards {
    grid-template-columns: 1fr;
    gap: min(3.2vw,24px);
    width: 82.21%;
    margin: 0 auto !important;
  }
}

/* ---------------------------------------------
*   section-chart サービス診断
--------------------------------------------- */
.section-chart {
  padding: 120px 0 160px;
  background: #e9f6f7;
}
.section-chart__inner {
  max-width: 1160px;
  margin-inline: auto;
  padding: 0 20px;
}
.section-chart__ttl {
  margin-bottom: 54px;
}
.section-chart__ttl img {
  width: 100%;
}

/* タブ */
.chart-tabs-wrap {
  position: relative;
  max-width: 1000px;
  margin: 0 auto 80px;
  text-align: center;
}
.chart-tabs {
  display: inline-flex;
  justify-content: center;
  padding: 6px;
  background: #fff;
  border-radius: 28px;
}
.chart-tab {
  position: relative;
  min-width: 334px;
  padding: 16px 20px;
  background: transparent;
  border: none;
  outline: none;
  border-radius: 22px;
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
  cursor: pointer;
  transition-duration: 0.2s;
}
.chart-tab::after {
  opacity: 0;
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 15px 15px 0 15px;
  border-color: #048a43 transparent transparent transparent;
  transition-duration: 0.2s;
}
.chart-tab.is-active::after {
  opacity: 1;
}
.chart-tab:hover:not(.is-active) {
  opacity: 0.8;
}
.chart-tab--collection {
  color: #048a43;
}
.chart-tab--collection.is-active {
  background: #048a43;
  color: #fff;
}
.chart-tab--collection.is-active::after {
  border-color: #048a43 transparent transparent transparent;
}
.chart-tab--guarantee {
  color: #034e8f;
}
.chart-tab--guarantee.is-active {
  background: #034e8f;
  color: #fff;
}
.chart-tab--guarantee.is-active::after {
  border-color: #034e8f transparent transparent transparent;
}

/* パネル */
.chart-panels {
  background: #fff;
  border-radius: 24px;
  padding: 76px 5.71%;
}
.chart-panel { display: none; }
.chart-panel.is-active { display: block; }
.chart-panel__ttl {
  margin-bottom: 60px;
  font-size: 2.5rem;
  font-weight: 700;
  text-align: center;
  color: #039393;
  line-height: 1.3;
}

/* 選択カード */
.chart-cards {
  display: flex;
  align-items: center;
  gap: 46px;
  padding: 0;
}
.chart-cards img {
  width: 100%;
}
.chart-card__link {
  display: block;
}
.chart-card__link:hover { opacity: 0.8; }
.chart-card img {
  filter: drop-shadow(0px 10px 10px rgba(91, 104, 104, 0.6));
}

/* ステップ切り替え */
.chart-step { display: none; }
.chart-step.is-active { display: block; }
.chart-step.chart-result.is-active {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 430px;
}

/* 2カラムカードグリッド */
.chart-cards--2col {
  grid-template-columns: repeat(2, 1fr);
  max-width: 700px;
  margin-inline: auto;
}

/* カードボタン */
.chart-card__btn {
  display: block;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  width: 100%;
}
.chart-card__btn:hover { opacity: 0.8; }
.chart-card__btn img {
  filter: drop-shadow(0px 10px 10px rgba(91, 104, 104, 0.6));
  width: 100%;
}

/* 診断結果：画像 */
.chart-result__body {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 52px;
}
.chart-result__method,
.chart-result__service {
  flex: 1;
}
.chart-result__method img,
.chart-result__service img {
  width: 100%;
}

/* 診断結果：テキスト */
.chart-result__message {
  margin-top: 36px;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
}
@media screen and (max-width: 1024px) {
  .section-chart {
    padding-block: min(16vw,120px);
  }
  .section-chart__inner {
    padding-inline: 4.26%;
  }
  .section-chart__ttl {
    margin-bottom: min(8vw,60px);
  }
  .chart-tabs-wrap {
    margin-bottom: min(8.53vw,64px);
  }
  .chart-tabs {
    display: flex;
    padding: min(0.8vw,6px);
    border-radius: min(3.73vw,28px);
  }
  .chart-tab {
    min-width: 0;
    flex: 1;
    padding: 3.2vw;
    border-radius: min(2.93vw,22px);
    font-size: min(4.26vw,32px);
  }
  .chart-tab::after {
    border-width: min(2vw,15px) min(2vw,15px) 0 min(2vw,15px);
  }
  .chart-panels {
    padding-inline: 9.32%;
    padding-top: min(8vw,60px);
    padding-bottom: min(10.66vw,80px);
  }
  .chart-panel__ttl {
    margin-bottom: min(7.73vw,58px);
    font-size: min(5.33vw,40px);
  }
  .chart-cards {
    flex-direction: column;
    gap: min(5.33vw,40px);
  }
  .chart-result__message {
    margin-top: 0;
    font-size: min(4.8vw,36px);
  }
  .chart-step.chart-result.is-active {
    min-height: min(126.93vw,476px);
  }
  .chart-result__body {
    gap: min(5.33vw,40px);
  }
}