.section-fv {
  position: relative;
}
@media (min-width: 768px) {
  .section-fv__contact {
    position: absolute;
    top: 43.5rem;
    left: 19.375rem;
  }
}

.section-philosophy {
  padding-top: 2.5rem;
  padding-bottom: 4rem;
  background-image: url("../../img/philosophy_bg_sp.webp");
  background-size: cover;
  background-position: top center;
}
@media (min-width: 768px) {
  .section-philosophy {
    padding-top: 6.25rem;
    padding-bottom: 7.5rem;
    background-image: url("../../img/philosophy_bg_pc.webp");
  }
}
.section-philosophy__image-1, .section-philosophy__image-2 {
  position: absolute;
}

.section-philosophy-main {
  position: relative;
}
@media (min-width: 768px) {
  .section-philosophy-main__body {
    line-height: 2;
  }
}
.section-philosophy-main__wrapper {
  padding: 0rem 0rem 1rem;
  border-radius: 1rem;
}
@media (min-width: 768px) {
  .section-philosophy-main__wrapper {
    padding: 0rem 3.25rem 2.5rem;
    border-radius: 1.5rem;
  }
}
@media (min-width: 768px) {
  .section-philosophy-main__image-1, .section-philosophy-main__image-2 {
    position: absolute;
  }
}
@media (min-width: 768px) {
  .section-philosophy-main__image-1 {
    width: 25.25rem;
    top: 0rem;
    left: 9.5625rem;
  }
}
@media (min-width: 768px) {
  .section-philosophy-main__image-2 {
    width: 25.625rem;
    top: 3.9375rem;
    left: 84.8125rem;
  }
}

.section-philosophy-sub__content-col {
  position: relative;
}
@media (max-width: calc(768px - 0.02px)) {
  .section-philosophy-sub__content-col-1 {
    width: 15.875rem;
  }
}
@media (max-width: calc(768px - 0.02px)) {
  .section-philosophy-sub__content-col-2 {
    width: 17.375rem;
    transform: translateX(3.625rem);
  }
}
@media (min-width: 768px) {
  .section-philosophy-sub__content-col-2 {
    transform: translateY(2rem);
  }
}
@media (max-width: calc(768px - 0.02px)) {
  .section-philosophy-sub__content-col-3 {
    width: 18.3125rem;
    margin-top: 0.625rem;
    transform: translateX(1rem);
  }
}
.section-philosophy-sub__content-col-wrapper {
  position: absolute;
  top: 47%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media (min-width: 768px) {
  .section-philosophy-sub__content-col-wrapper {
    width: 16.5rem;
  }
}
@media (max-width: calc(768px - 0.02px)) {
  .section-philosophy-sub__content-col-1 .section-philosophy-sub__content-col-wrapper {
    width: 12.375rem;
  }
}
@media (max-width: calc(768px - 0.02px)) {
  .section-philosophy-sub__content-col-2 .section-philosophy-sub__content-col-wrapper {
    width: 13.4375rem;
  }
}
@media (max-width: calc(768px - 0.02px)) {
  .section-philosophy-sub__content-col-3 .section-philosophy-sub__content-col-wrapper {
    width: 14.625rem;
  }
}
.section-philosophy-sub__content-col-heading {
  color: var(--bs-primary);
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
  font-size: 1.25rem;
  text-align: center;
}
@media (min-width: 768px) {
  .section-philosophy-sub__content-col-heading {
    margin-bottom: 0.25rem;
    font-size: 1.5rem;
  }
}
.section-philosophy-sub__illust {
  margin-right: 0.6875rem;
  margin-left: 0.6875rem;
}

.section-philosophy-point__col {
  padding: 0 1rem 1.5rem;
  background-color: white;
  border-radius: 1rem;
  box-shadow: 0 0 0.625rem 0 rgba(var(--bs-shadow), 0.4);
}
@media (min-width: 768px) {
  .section-philosophy-point__col {
    padding: 0 2.5rem 2.5rem;
  }
}
.section-philosophy-point__col-number {
  display: inline-block;
  padding: 0.5rem 1.5rem;
  color: white;
  background-color: var(--bs-primary);
  font-family: 'Jost', sans-serif;
  font-weight: 500;
  font-size: 1.25rem;
  border-radius: 0 0 0.25rem 0.25rem;
}
.section-philosophy-point__col-illust {
  width: auto;
  height: 5.8125rem;
}
.section-philosophy-point__col-heading {
  margin-bottom: 1rem;
  color: var(--bs-primary);
  font-weight: 700;
  font-size: 1.25rem;
  text-align: center;
}
@media (min-width: 768px) {
  .section-philosophy-point__col-heading {
    font-size: 1.5rem;
  }
}

.section-cta {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
  background-image: url("../../img/cta_bg_sp.webp");
  background-size: cover;
  background-position: top center;
}
@media (min-width: 768px) {
  .section-cta {
    background-image: url("../../img/cta_bg_pc.webp");
  }
}
@media (min-width: 768px) {
  .section-cta {
    padding-top: 6.25rem;
    padding-bottom: 6.25rem;
  }
}
.section-cta__subtitle {
  display: inline-block;
  padding: 0.5rem;
  color: white;
  background-color: var(--bs-primary);
  font-size: 1.25rem;
  font-weight: 700;
}
@media (min-width: 768px) {
  .section-cta__subtitle {
    font-size: 1.75rem;
  }
}
.section-cta__heading.heading {
  font-size: 1.25rem;
  line-height: 1.5;
}
@media (min-width: 768px) {
  .section-cta__heading.heading {
    font-size: 2.125rem;
  }
}
.section-cta__wrapper {
  background-color: white;
  padding: 1rem;
}
.section-cta__sub-wrapper {
  padding: 1.5rem;
  border: 1px solid var(--bs-border-primary);
  position: relative;
  z-index: 0;
  overflow: hidden;
}
@media (min-width: 768px) {
  .section-cta__sub-wrapper {
    padding: 2.5rem;
  }
}
.section-cta__image {
  display: none;
}
@media (min-width: 768px) {
  .section-cta__image {
    display: inline-block;
    position: absolute;
    top: 0;
    right: 0;
    z-index: -1;
  }
}
.section-archive {
  position: relative;
  z-index: 0;
}
.section-archive:after {
  content: "";
  display: block;
  width: 100%;
  height: 78.3974011911%;
  background-color: var(--bs-bg-primary);
  border-radius: 0 1.5rem 0 0;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
}
@media (min-width: 768px) {
  .section-archive:after {
    height: 57.8639356255%;
    border-radius: 0 4rem 0 0;
  }
}

.section-system {
  background-image: url("../../img/system_bg_sp.webp");
  background-size: cover;
  background-position: top center;
}
@media (min-width: 768px) {
  .section-system {
    background-image: url("../../img/system_bg_pc.webp");
  }
}
.section-system__item {
  margin-bottom: 2rem;
  padding-top: 12.4375rem;
  position: relative;
}
@media (min-width: 768px) {
  .section-system__item {
    max-width: 68.625rem;
    margin-left: auto;
    margin-bottom: 2.6875rem;
    padding-top: 2.5rem;
  }
}
@media (min-width: 768px) {
  .section-system__item:nth-child(even) {
    margin-right: auto;
    padding-left: 0;
  }
}
.section-system__item-number {
  display: inline-flex;
  width: 7.875rem;
  position: absolute;
  top: 0.5rem;
  right: 1rem;
}
@media (min-width: 768px) {
  .section-system__item-number {
    width: 16.0625rem;
    top: 0;
    right: 0;
  }
}
@media (min-width: 768px) {
  .section-system__item:nth-child(even) .section-system__item-number {
    right: auto;
    left: 0;
  }
}
.section-system__item-img {
  width: calc(100% - 1rem);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
@media (min-width: 768px) {
  .section-system__item-img {
    width: 36.75rem;
  }
}
@media (min-width: 768px) {
  .section-system__item:nth-child(even) .section-system__item-img {
    right: 0;
    left: auto;
  }
}
.section-system__item-body {
  width: calc(100% - 1rem);
  margin-left: auto;
  padding: 4rem 1rem 1.5rem;
  background-color: white;
  box-shadow: 0.25rem 0.25rem 0.625rem 0 rgba(var(--bs-shadow-rgb), 0.2);
  position: relative;
}
@media (min-width: 768px) {
  .section-system__item-body {
    width: 55.875rem;
    padding: 7.5rem 6.4375rem 6rem 25.1875rem;
  }
}
@media (min-width: 768px) {
  .section-system__item:nth-child(even) .section-system__item-body {
    width: 49.5rem;
    margin-right: auto;
    margin-left: 0;
    padding: 7.5rem 19.5625rem 6rem 6rem;
  }
}
.section-system__item-title.heading {
  margin-bottom: 1rem;
  color: var(--bs-primary);
  font-size: 1.25rem;
}
@media (min-width: 768px) {
  .section-system__item-title.heading {
    font-size: 1.75rem;
  }
}

.section-flow__item {
  padding: 0.5rem;
  background-color: var(--bs-primary);
}
.section-flow__item-text {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  padding: 0.5rem;
  background-color: white;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
  border-radius: 1rem;
}

.section-target {
  padding-top: 4rem;
  padding-bottom: 4rem;
  background-image: url("../../img/target_bg_sp.webp");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: bottom center;
}
@media (min-width: 768px) {
  .section-target {
    margin-top: 7.5rem;
    padding-top: 7.5rem;
    padding-bottom: 7.5rem;
    background-image: url("../../img/target_bg_pc.webp");
    position: relative;
    z-index: 0;
  }
}
@media (min-width: 768px) {
  .section-target__image {
    width: 59.25rem;
    border-radius: 4rem 0 0 0;
    overflow: hidden;
    position: absolute;
    top: 0;
    right: 0;
    z-index: -1;
  }
}
@media (min-width: 768px) {
  .section-target__detail {
    width: 62.25rem;
  }
}

.section-employee {
  background-image: url("../../img/target_bg_sp.webp");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: bottom center;
}
@media (min-width: 768px) {
  .section-employee {
    background-image: url("../../img/target_bg_pc.webp");
  }
}
.section-employee__seo {
  box-shadow: 0.5rem 0.5rem 0 0 rgba(var(--bs-shadow-rgb), 1);
}
.section-employee__seo-wrapper {
  padding: 1rem;
}
@media (min-width: 768px) {
  .section-employee__seo-wrapper {
    padding: 0;
  }
}
.section-employee__seo-wrapper .heading {
  font-size: 1.25rem;
}
@media (min-width: 768px) {
  .section-employee__seo-wrapper .heading {
    font-size: 1.75rem;
  }
}
.section-employee__seo-detail {
  margin-top: 1rem;
}
@media (min-width: 768px) {
  .section-employee__seo-detail {
    margin-top: 2.5rem;
  }
}
.section-employee__seo-detail-name {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.section-employee__seo-detail-name-ja {
  font-family: 'Shippori Mincho B1', serif;
  font-weight: 500;
  font-size: 1.75rem;
}
.section-employee__staff-item {
  box-shadow: 0.25rem 0.25rem 0 0 rgba(var(--bs-shadow-rgb), 1);
}
.section-employee__staff-item-wrapper {
  padding: 1rem;
  background-color: white;
}
.section-employee__staff-item-heading {
  margin-bottom: 0.5rem;
  color: var(--bs-primary);
  font-size: 1rem;
  font-weight: 700;
}
@media (min-width: 768px) {
  .section-employee__staff-item-heading {
    font-size: 1.25rem;
  }
}
.section-employee__staff-item-detail {
  margin-top: 0.5rem;
  text-align: end;
}
.section-employee__staff-item-detail-role, .section-employee__staff-item-detail-name {
  display: block;
}
.section-employee__staff-item-detail-name {
  font-family: 'Shippori Mincho B1', serif;
  font-weight: 500;
  font-size: 1rem;
}
@media (min-width: 768px) {
  .section-employee__staff-item-detail-name {
    font-size: 1.25rem;
  }
}

.section-voice__owner-item-wrapper {
  padding: 1rem;
  background-color: white;
}
.section-voice__owner-item-heading {
  margin-bottom: 0.5rem;
  color: var(--bs-primary);
  font-size: 1.25rem;
  font-weight: 700;
}
@media (min-width: 768px) {
  .section-voice__owner-item-heading {
    font-size: 1.5rem;
  }
}
.section-voice__owner-item-detail {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 1rem;
  margin-top: 0.5rem;
}
.section-voice__owner-item-detail-name {
  font-family: 'Shippori Mincho B1', serif;
  font-weight: 500;
  font-size: 1.25rem;
}
@media (min-width: 768px) {
  .section-voice__owner-item-detail-name {
    font-size: 1.75rem;
  }
}
.section-voice__user-item {
  padding: 1.5rem;
  background-color: var(--bs-primary-light);
  border-radius: 1rem;
}
.section-voice__user-item-heading {
  margin-bottom: 1rem;
  font-size: 1.25rem;
  font-weight: 700;
}
@media (min-width: 768px) {
  .section-voice__user-item-heading {
    font-size: 1.75rem;
  }
}
.section-voice__user-item-detail {
  margin-top: 1rem;
  font-size: 1rem;
  font-weight: 700;
  text-align: end;
}

.section-faq__wrapper {
  padding: 1rem;
  background-color: white;
  border-radius: 1.5rem;
}
@media (min-width: 768px) {
  .section-faq__wrapper {
    padding: 2.5rem;
  }
}
.section-faq__item {
  padding-top: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--bs-border);
}
.section-faq__item:last-child {
  border-bottom: none;
}
.section-faq__item-heading, .section-faq__item-body {
  display: flex;
  gap: 1rem;
}
@media (min-width: 768px) {
  .section-faq__item-heading, .section-faq__item-body {
    gap: 4.5rem;
  }
}
.section-faq__item-heading {
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--bs-border);
}
.section-faq__item-heading-q, .section-faq__item-body-a {
  flex: 0 0 auto;
  font-family: 'Jost', sans-serif;
  font-weight: 700;
  font-size: 1rem;
}
@media (min-width: 768px) {
  .section-faq__item-heading-q, .section-faq__item-body-a {
    font-size: 1.25rem;
  }
}
.section-faq__item-heading-text {
  padding-top: 0.0625rem;
  font-weight: 700;
}
@media (min-width: 768px) {
  .section-faq__item-heading-text {
    padding-top: 0.125rem;
  }
}
.section-faq__item-body-a {
  color: var(--bs-primary);
}

.form {
  --custom-form-input-border-radius: 0.5rem;
  --custom-color-form-required: var(--bs-caution);
  --custom-color-form-required-optional: #888;
  --custom-color-form-placeholder: var(--bs-border);
}
.form__item {
  padding-top: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--bs-border);
}
@media (min-width: 768px) {
  .form__item {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 2.5rem;
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }
}
.form__item:last-child {
  padding-bottom: 0;
  border-bottom: none;
}
.form__label {
  margin-bottom: 0.5rem;
}
@media (min-width: 768px) {
  .form__label {
    margin-bottom: 0;
  }
}
@media (min-width: 768px) {
  .form__input {
    flex: 0 0 28.125rem;
  }
}

.form-label {
  display: flex;
  align-items: center;
}
.form-label__label {
  flex: 0 0 auto;
}
@media (min-width: 768px) {
  .form-label__label {
    font-size: 1.125rem;
  }
}
.form-label__required {
  flex: 0 0 auto;
  display: inline-block;
  color: var(--custom-color-form-required);
}

.form-input {
  width: 100%;
  padding: 0.6875rem;
  background-color: white;
  border: 1px solid var(--bs-border);
  border-radius: var(--custom-form-input-border-radius);
}
@media (min-width: 768px) {
  .form-input {
    font-size: 1rem;
  }
}
.form-input::-moz-placeholder {
  color: var(--custom-color-form-placeholder);
}
.form-input::placeholder {
  color: var(--custom-color-form-placeholder);
}

.form-select {
  flex: 1 0 0;
  position: relative;
}
.form-select:before {
  content: "\f107";
  font: var(--fa-font-solid);
  line-height: 1;
  color: var(--bs-body-color);
  position: absolute;
  top: 50%;
  right: 1rem;
  transform: translate(0, -40%);
  z-index: 2;
  pointer-events: none;
}
.form-select__box {
  width: 100%;
  padding: 0.5em 1em;
  background-color: white;
  font-size: 1rem;
  border-radius: var(--custom-form-input-border-radius);
  border: 1px solid var(--bs-border);
}
.form-select__box > option {
  font-size: 1rem;
}

.form-checkbox {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
}
@media (min-width: 768px) {
  .form-checkbox {
    gap: 1rem 1.5rem;
  }
}
.form-checkbox__item-label {
  display: inline-flex;
  align-items: flex-start;
  gap: 0.5rem;
  text-align: left;
}
.form-checkbox__item-box {
  margin-top: 0.125rem;
  position: relative;
}
@media (min-width: 768px) {
  .form-checkbox__item-box {
    margin-top: 0.25rem;
  }
}
.form-checkbox__item-box > i {
  color: var(--bs-primary);
  font-size: 0.75rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -40%);
  opacity: 0;
  visibility: hidden;
}
.form-checkbox__item-check {
  width: 1.125rem;
  height: 1.125rem;
  background-color: white;
  border-radius: 0.125rem;
  border: 2px solid var(--bs-body-color);
}
@media (min-width: 768px) {
  .form-checkbox__item-check {
    width: 1.0625rem;
    height: 1.0625rem;
    margin-top: 0;
  }
}
.form-checkbox__item-check:checked ~ i {
  opacity: 1;
  visibility: visible;
}

.form-radio {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
}
@media (min-width: 768px) {
  .form-radio {
    gap: 1rem 1.5rem;
  }
}
.form-radio__item {
  display: inline-flex;
  align-items: flex-start;
  gap: 0.5rem;
}
.form-radio__item-input {
  width: 1.125rem;
  height: 1.125rem;
  margin-top: 0.25rem;
  background-color: white;
  border: 1px solid var(--bs-border);
  border-radius: 1.125rem;
  position: relative;
}
@media (min-width: 768px) {
  .form-radio__item-input {
    margin-top: 0.25rem;
  }
}
.form-radio__item-input:before {
  content: "";
  display: inline-block;
  width: 0.5em;
  height: 0.5em;
  border-radius: 0.5em;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.form-radio__item-input:checked:before, .form-radio__item-input:required:before {
  background-color: var(--bs-accent);
}

.form-textarea {
  display: block;
  width: 100%;
  padding: 0.5em 1em;
  color: var(--bs-body-color);
  background-color: white;
  font-size: 1rem;
  border: 1px solid var(--bs-border);
  border-radius: var(--custom-form-input-border-radius);
}
.form-textarea::-moz-placeholder {
  color: var(--custom-color-form-placeholder);
}
.form-textarea::placeholder {
  color: var(--custom-color-form-placeholder);
}

.form-submit {
  display: inline-block;
  padding: 0.75em 1em;
  background-color: var(--bs-primary);
  color: white;
  font-size: 1rem;
  border-radius: var(--custom-form-input-border-radius);
  transition: 0.4s;
}
.form-submit:hover {
  opacity: 0.8;
  transition: 0.4s;
}

.section-form__wrapper {
  padding: 1.5rem 1rem;
  background-color: white;
  border-radius: 1rem;
}
@media (min-width: 768px) {
  .section-form__wrapper {
    padding: 2.5rem;
  }
}
.section-form__policy {
  padding: 2rem 1rem;
  max-height: 18.75rem;
  border: 1px solid var(--bs-border);
  border-radius: 1rem;
  overflow-y: auto;
}
@media (min-width: 768px) {
  .section-form__policy {
    max-height: 12.9375rem;
    padding-top: 2rem 1.5rem;
  }
}
.section-form__policy > p {
  letter-spacing: 0.15em;
}
.section-form__policy-title {
  margin-bottom: 1rem;
  font-size: 1rem;
  font-weight: 700;
  text-align: center;
}