@charset "UTF-8";
@font-face {
  font-family: "SourceHanSansJP";
  src: url("../font/SourceHanSansJP-VF.woff") format("woff-variations");
  font-weight: 100 1000;
  font-stretch: 25% 151%;
}
body {
  font-family: "Noto Sans", sans-serif;
  font-size: 0.875rem;
  line-height: 1.8;
  font-style: normal;
  color: #222222;
}

.js-fade-up {
  opacity: 0;
  transform: translateY(1.5rem);
  transition: opacity 0.7s ease-out, transform 0.7s ease-out;
}
.js-fade-up.is-inview {
  opacity: 1;
  transform: translateY(0);
}

.link-list {
  display: flex;
  flex-direction: column;
  row-gap: 1.125rem;
  padding: 0;
  list-style: none;
  margin-bottom: 2.25rem !important;
}
@media (min-width: 768px) {
  .link-list {
    margin-bottom: 2.8125rem !important;
  }
}
.link-list .link-list__item {
  position: relative;
  font-weight: 500;
  font-size: 1rem;
  line-height: 170%;
  color: #222222;
  padding-left: 0.75rem;
}
.link-list .link-list__item a {
  color: #222222;
  text-decoration: underline;
}
.link-list .link-list__item a:hover {
  opacity: 0.75;
}

.btn_center {
  text-align: center;
}

.btn_right {
  text-align: right;
}

.btn_left {
  text-align: left;
}

@media (min-width: 768px) {
  .btn__wrapper_objects {
    margin-left: -5.4375rem;
  }
}

.btn__wrapper_object {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  display: inline-flex;
  align-items: center;
  flex-direction: column;
  margin: 0 auto;
  padding: 0 0.5625rem 3.5625rem 0rem;
  gap: 1rem;
}
@media (min-width: 768px) {
  .btn__wrapper_object {
    padding: 0 2.3125rem 2.125rem 7.75rem;
    gap: 1.125rem;
  }
}
.btn__wrapper_object::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -0.1875rem;
  background-image: url("../img/top/button_icon01.svg");
  width: 4.035625rem;
  height: 2.46rem;
  background-size: contain;
}
@media (min-width: 768px) {
  .btn__wrapper_object::after {
    width: 6.5625rem;
    height: 4rem;
    left: 0.5rem;
    background-size: auto;
  }
}
.btn__wrapper_object::before {
  content: "";
  position: absolute;
  left: 1.9375rem;
  bottom: 0;
  background-image: url("../img/common/title_border.svg");
  width: 80%;
  height: 0.1875rem;
}
@media (min-width: 768px) {
  .btn__wrapper_object::before {
    width: 100%;
    left: 0;
  }
}
.btn__wrapper_object .btn_type01 {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 17.5625rem;
  height: 3.25rem;
  padding: 0.9375rem 0 0.875rem;
  background-color: #1c2b4a;
  color: #fff;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  font-size: 0.875rem;
  line-height: 180%;
  letter-spacing: 0.05em;
  text-decoration: none;
  border-radius: 62.4375rem;
  white-space: nowrap;
  transition: 0.3s ease;
}
.btn__wrapper_object .btn_type01:hover {
  opacity: 1;
  background-color: #51648e;
}
.btn__wrapper_object .btn_type01:hover .button-arrow::before, .btn__wrapper_object .btn_type01:hover .button-arrow::after {
  background-color: #51648e;
}
@media (min-width: 768px) {
  .btn__wrapper_object .btn_type01 {
    width: 23.4375rem;
    height: auto;
    justify-content: center;
    font-size: 1.125rem;
  }
}
.btn__wrapper_object .btn_type01 .button-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 50%;
  background-color: #fff;
  color: #1f3a5a;
}
@media (min-width: 768px) {
  .btn__wrapper_object .btn_type01 .button-arrow {
    width: 1.75rem;
    height: 1.75rem;
  }
}
.btn__wrapper_object .btn_type01 .button-arrow::before, .btn__wrapper_object .btn_type01 .button-arrow::after {
  content: "";
  position: absolute;
  top: 48%;
  right: 34%;
  width: 0.375rem;
  height: 0.0625rem;
  border-radius: 624.9375rem;
  background-color: #1c2b4a;
  transform-origin: calc(100% - 0.01875rem) 50%;
}
@media (min-width: 768px) {
  .btn__wrapper_object .btn_type01 .button-arrow::before, .btn__wrapper_object .btn_type01 .button-arrow::after {
    width: 0.5625rem;
    height: 0.09375rem;
    transform-origin: calc(100% - 0.04375rem) 50%;
  }
}
.btn__wrapper_object .btn_type01 .button-arrow::before {
  transform: rotate(45deg);
}
.btn__wrapper_object .btn_type01 .button-arrow::after {
  transform: rotate(-45deg);
}
.btn__wrapper_object .btn__search-text {
  position: relative;
  display: inline-flex;
  align-items: center;
  font-weight: 700;
  font-size: 0.875rem;
  line-height: 180%;
  letter-spacing: 0.05em;
  color: #222222;
  height: 100%;
}
@media (min-width: 768px) {
  .btn__wrapper_object .btn__search-text {
    font-size: 1.25rem;
  }
}
.btn__wrapper_object .btn__search-text::before {
  content: "";
  position: absolute;
  left: -1.25rem;
  bottom: 0;
  width: 0.6%;
  height: 100%;
  transform: rotate(140deg);
  background-image: url("../img/common/title_object_border.svg");
  background-repeat: no-repeat;
  background-size: cover;
}
.btn__wrapper_object .btn__search-text::after {
  content: "";
  position: absolute;
  right: -1.25rem;
  bottom: 0;
  width: 0.6%;
  height: 100%;
  transform: rotate(35deg);
  background-image: url("../img/common/title_object_border.svg");
  background-repeat: no-repeat;
  background-size: cover;
}
.btn__wrapper_object .btn__search-illust {
  position: absolute;
  right: 0.375rem;
  bottom: 0;
  flex-shrink: 0;
  line-height: 0;
}
@media (min-width: 768px) {
  .btn__wrapper_object .btn__search-illust {
    right: -3.4375rem;
  }
}
.btn__wrapper_object .btn__search-illust img {
  width: 2.11375rem;
  height: auto;
}
@media (min-width: 768px) {
  .btn__wrapper_object .btn__search-illust img {
    width: 3.4375rem;
  }
}

.btn_wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 1rem;
}
@media (min-width: 768px) {
  .btn_wrapper {
    flex-direction: row;
    gap: 1.5rem;
  }
}
.btn_wrapper .btn_type01 {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 17.5625rem;
  height: 3.25rem;
  padding: 0.9375rem 0 0.875rem;
  background-color: #1c2b4a;
  color: #fff;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  font-size: 0.875rem;
  line-height: 180%;
  letter-spacing: 0.05em;
  text-decoration: none;
  border-radius: 62.4375rem;
  white-space: nowrap;
  transition: 0.3s ease;
}
.btn_wrapper .btn_type01:hover {
  opacity: 1;
  background-color: #51648e;
}
.btn_wrapper .btn_type01:hover .button-arrow::before, .btn_wrapper .btn_type01:hover .button-arrow::after {
  background-color: #51648e;
}
@media (min-width: 768px) {
  .btn_wrapper .btn_type01 {
    width: 23.4375rem;
    height: auto;
    justify-content: center;
    font-size: 1.125rem;
  }
}
.btn_wrapper .btn_type01 .button-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 50%;
  background-color: #fff;
  color: #1f3a5a;
}
@media (min-width: 768px) {
  .btn_wrapper .btn_type01 .button-arrow {
    width: 1.75rem;
    height: 1.75rem;
  }
}
.btn_wrapper .btn_type01 .button-arrow::before, .btn_wrapper .btn_type01 .button-arrow::after {
  content: "";
  position: absolute;
  top: 48%;
  right: 34%;
  width: 0.375rem;
  height: 0.0625rem;
  border-radius: 624.9375rem;
  background-color: #1c2b4a;
  transform-origin: calc(100% - 0.01875rem) 50%;
}
@media (min-width: 768px) {
  .btn_wrapper .btn_type01 .button-arrow::before, .btn_wrapper .btn_type01 .button-arrow::after {
    width: 0.5625rem;
    height: 0.09375rem;
    transform-origin: calc(100% - 0.04375rem) 50%;
  }
}
.btn_wrapper .btn_type01 .button-arrow::before {
  transform: rotate(45deg);
}
.btn_wrapper .btn_type01 .button-arrow::after {
  transform: rotate(-45deg);
}

.btn_type02 {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  max-width: 17.668rem;
  width: 100%;
  padding: 0.9375rem 0.625rem 0.875rem 0.625rem;
  border-radius: 62.4375rem;
  background-color: #eeeff1;
  color: #1c2b4a;
  margin: auto 0 0;
  overflow: hidden;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  font-size: 1rem;
  line-height: 180%;
  letter-spacing: 0.05em;
  transition: 0.3s ease;
  text-decoration: none;
}
.btn_type02:hover {
  opacity: 1;
}
@media (max-width: 767px) {
  .btn_type02 {
    max-width: 17.668rem;
  }
}
.btn_type02 .arrow {
  position: absolute;
  right: 0;
  top: 50%;
  right: 0.5625rem;
  transform: translateY(-50%);
  width: 1.8125rem;
  height: 1.8125rem;
  background-color: #ffffff;
  border-radius: 50%;
}
@media (max-width: 767px) {
  .btn_type02 .arrow {
    width: 1.25rem;
    height: 1.25rem;
  }
}
.btn_type02 .arrow::before, .btn_type02 .arrow::after {
  content: "";
  position: absolute;
  top: 48%;
  right: 34%;
  width: 0.5625rem;
  height: 0.09375rem;
  border-radius: 624.9375rem;
  background-color: #1c2b4a;
  transform-origin: calc(100% - 0.04375rem) 50%;
}
.btn_type02 .arrow::before {
  transform: rotate(45deg);
}
.btn_type02 .arrow::after {
  transform: rotate(-45deg);
}

.btn_type02.left .arrow {
  left: 0.5625rem;
  right: auto;
}
.btn_type02.left .arrow::before, .btn_type02.left .arrow::after {
  transform-origin: 0.04375rem 50%;
}

.btn_type02.blue {
  background-color: #1c2b4a;
  color: #ffffff;
}
.btn_type02.blue .arrow::before, .btn_type02.blue .arrow::after {
  background-color: #1c2b4a;
}
.btn_type02.blue:hover {
  background-color: #51648e;
}
.btn_type02.blue:hover .arrow::before, .btn_type02.blue:hover .arrow::after {
  background-color: #51648e;
}

.btn_type02.green {
  background-color: #2d5a27;
  color: #ffffff;
}
.btn_type02.green .arrow::before, .btn_type02.green .arrow::after {
  background-color: #2d5a27;
}
.btn_type02.green:hover {
  background-color: #4c9c41;
}
.btn_type02.green:hover .arrow::before, .btn_type02.green:hover .arrow::after {
  background-color: #4c9c41;
}

.btn_type02.white {
  background-color: #ffffff;
  border: 0.0625rem solid #1c2b4a;
  color: #1c2b4a;
}
.btn_type02.white .arrow {
  background-color: #1c2b4a;
}
.btn_type02.white .arrow::before, .btn_type02.white .arrow::after {
  background-color: #ffffff;
}
.btn_type02.white:hover {
  color: #51648e;
}
.btn_type02.white:hover .arrow {
  background-color: #51648e;
}

.btn_type02.gray:hover {
  background-color: #ffffff;
  box-shadow: inset 0 0 0 0.0625rem #1c2b4a;
}
.btn_type02.gray:hover .arrow {
  background-color: #eeeff1;
}

.works__list {
  margin-bottom: 2rem;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: 1fr;
}
@media (min-width: 768px) {
  .works__list {
    grid-template-columns: repeat(3, 1fr);
    margin-bottom: 4.5rem;
  }
}

.works__item {
  border-left: none;
  border-top: 0.0625rem solid #ddd3bd;
  border-bottom: 0.0625rem solid #c3b9b5;
}
.works__item:not(:first-child) {
  border-top: none;
  padding-top: 0;
  margin-top: 0;
}
@media (min-width: 768px) {
  .works__item {
    border-top: none;
    border-bottom: 0.0625rem solid #c3b9b5;
    border-left: none;
    border-right: 0.0625rem solid #c3b9b5;
  }
  .works__item:nth-child(3n+1) {
    border-left: 0.0625rem solid #c3b9b5;
  }
  .works__item:nth-child(-n+3) {
    border-top: 0.0625rem solid #c3b9b5;
  }
  .works__item:nth-child(3n) {
    border-right: none;
  }
}
.works__item.works__item--empty {
  border: none;
  grid-column: 1/-1;
  padding: 3rem 0;
  text-align: center;
}
.works__item .works__item-link {
  display: block;
  height: 100%;
  text-decoration: none;
  color: #2b2b2b;
  padding: 2rem 3.69rem;
  background-color: #faf4eb;
  transition: background-color 0.3s ease;
}
.works__item .works__item-link:hover {
  opacity: 1;
  background-color: #fffaf3;
}
.works__item .works__item-link:hover .works__item-image img {
  transform: scale(1.1);
}
@media (min-width: 768px) {
  .works__item .works__item-link {
    padding: 2.3rem 2rem;
  }
}
@media (min-width: 960px) {
  .works__item .works__item-link {
    padding: 4rem;
  }
}
.works__item .works__item-image_inner {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #fff;
  border-radius: 0.25rem;
  padding: 1.5rem 2rem;
  margin-bottom: 1.5rem;
  overflow: hidden;
}
@media (min-width: 768px) {
  .works__item .works__item-image_inner {
    margin-bottom: 1.6875rem;
  }
}
@media (min-width: 1201px) {
  .works__item .works__item-image_inner {
    padding: 1.6875rem 4rem;
  }
}
.works__item .works__item-image_inner .works__item-image {
  overflow: hidden;
  width: 100%;
  height: 100%;
}
.works__item .works__item-image_inner img {
  width: 100%;
  aspect-ratio: 3/4;
  display: block;
  overflow: hidden;
  transition: transform 0.3s ease;
  -o-object-fit: contain;
     object-fit: contain;
}
.works__item .works__item-tag {
  display: inline-block;
  margin-bottom: 0.5rem;
  margin-right: 0.375rem;
  padding: 0.125rem 0.5625rem;
  border: 0.0625rem solid #222222;
  border-radius: 62.4375rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: #222222;
  margin-right: 0.3rem;
}
@media (min-width: 768px) {
  .works__item .works__item-tag {
    padding: 0.1875rem 0.75rem;
    font-size: 0.875rem;
  }
}
.works__item .works__item-tag:last-child {
  margin-right: 0;
}
.works__item .works__item-title {
  margin: 0 0 0.5rem;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}
@media (min-width: 768px) {
  .works__item .works__item-title {
    font-size: 1.125rem;
    margin: 0 0 0.9375rem;
  }
}
.works__item .works__item-meta {
  margin: 0;
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 180%;
  letter-spacing: 0.05em;
  color: #222222;
}
@media (min-width: 768px) {
  .works__item .works__item-meta {
    font-size: 1rem;
  }
}

.price__list {
  margin: 0 0 2.25rem;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
}
@media (min-width: 768px) {
  .price__list {
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
    margin-bottom: 3rem;
  }
}
.price__list .price__item {
  background-color: #fff;
  border-radius: 0.625rem;
  overflow: hidden;
  text-align: center;
}
.price__list .price__item .price__item-title {
  margin: 0.5625rem 0.5rem 1.5rem 0.5rem;
  padding: 0.4375rem 0.75rem 0.4375rem;
  background-color: #dee5f2;
  font-weight: 700;
  font-size: 1rem;
  line-height: 180%;
  letter-spacing: 0.05em;
  color: #1c2b4a;
  border-radius: 0.375rem;
}
@media (min-width: 768px) {
  .price__list .price__item .price__item-title {
    font-size: 1.111rem;
    padding: 0.4375rem 0.75rem 0.375rem;
  }
}
.price__list .price__item .price__item-spec {
  display: block;
  font-weight: 500;
  font-size: 0.889rem;
  line-height: 180%;
  text-align: center;
  letter-spacing: 0.05em;
  color: #222222;
}
@media (min-width: 768px) {
  .price__list .price__item .price__item-spec {
    font-size: 1rem;
  }
}
.price__list .price__item .price__item-values {
  display: flex;
  align-items: baseline;
  justify-content: center;
  margin: 0 0 1.5rem;
  font-family: "Roboto", sans-serif;
  font-weight: 600;
  font-size: 1.75rem;
  line-height: 180%;
  color: #1c2b4a;
}
@media (min-width: 768px) {
  .price__list .price__item .price__item-values {
    font-size: 2.222rem;
  }
}
.price__list .price__item .price__item-values .price__item-value-unit {
  margin-left: 0.25rem;
  font-size: 0.666rem;
  font-weight: 400;
  line-height: 180%;
  letter-spacing: 0.05em;
  color: #1c2b4a;
}
@media (min-width: 768px) {
  .price__list .price__item .price__item-values .price__item-value-unit {
    font-size: 0.777rem;
  }
}
.price__list .price__item .price__item-values .price__item-value {
  font-weight: 600;
  font-size: 0.777rem;
  line-height: 180%;
  letter-spacing: 0.05em;
  color: #1c2b4a;
}
@media (min-width: 768px) {
  .price__list .price__item .price__item-values .price__item-value {
    font-size: 0.888rem;
  }
}

.heading_type01 {
  position: relative;
  font-family: "Zen Maru Gothic", sans-serif;
  font-style: normal;
  font-weight: 700;
  font-size: 1.375rem;
  line-height: 180%;
  letter-spacing: 0.05em;
  color: #222222;
  text-align: center;
}
@media (min-width: 768px) {
  .heading_type01 {
    font-size: 2rem;
  }
}
.heading_type01 .heading-type01__inner {
  display: inline;
  background-image: url("../img/common/title_border.svg");
  background-repeat: repeat-x;
  background-position: left bottom;
  background-size: auto 0.1875rem;
  padding-bottom: 0.375rem;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
@media (min-width: 768px) {
  .heading_type01 .heading-type01__inner {
    background-size: auto 0.1875rem;
    padding-bottom: 0.625rem;
  }
}
.heading_type01 .heading-type01__icon {
  display: inline;
  width: 2.125rem;
  height: 1.5625rem;
  vertical-align: baseline;
}
@media (min-width: 768px) {
  .heading_type01 .heading-type01__icon {
    width: 3.0625rem;
    height: 2.3125rem;
  }
}

.heading_wrap {
  display: flex;
  justify-content: center;
}

.section-heading--center {
  display: inline-flex;
}

.ttl_wrap {
  text-align: center;
}

.dc_ttl_type02 {
  display: inline-block;
  position: relative;
  font-family: "Zen Maru Gothic", sans-serif;
  font-style: normal;
  font-weight: 700;
  font-size: 1.375rem;
  line-height: 160%;
  text-align: center;
  letter-spacing: 0.05em;
  color: #222222;
  padding-top: 1.375rem;
}
@media (min-width: 768px) {
  .dc_ttl_type02 {
    font-size: 2.25rem;
    padding-top: 1.5rem;
  }
}
.dc_ttl_type02::before {
  content: "";
  width: 1.75rem;
  position: absolute;
  height: 0.375rem;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  background-image: url("../img/common/ttl_type02_.svg");
  background-repeat: no-repeat;
  background-size: contain;
}
@media (min-width: 768px) {
  .dc_ttl_type02::before {
    width: 1.875rem;
  }
}

.dc_ttl_type03 {
  font-family: "Zen Maru Gothic", sans-serif;
  font-style: normal;
  font-weight: 700;
  font-size: 1.375rem;
  line-height: 160%;
  letter-spacing: 0.05em;
  color: #222222;
}
@media (min-width: 768px) {
  .dc_ttl_type03 {
    font-size: 2.25rem;
  }
}
.dc_ttl_type03::before {
  content: "";
  display: block;
  width: 30px;
  height: 6px;
  margin-bottom: 1.12rem;
  background-image: url("../img/common/ttl_type03.svg");
  background-repeat: no-repeat;
}
@media (min-width: 768px) {
  .dc_ttl_type03::before {
    margin-bottom: 1rem;
  }
}

.dc_ttl_type04 {
  position: relative;
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 180%;
  letter-spacing: 0.05em;
  color: #222222;
  padding-bottom: 0.375rem;
  margin-bottom: 1.6875rem;
  width: -moz-fit-content;
  width: fit-content;
}
@media (min-width: 768px) {
  .dc_ttl_type04 {
    font-size: 1.5rem;
    margin-bottom: 2.25rem;
  }
}
.dc_ttl_type04::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 0.1875rem;
  background-image: url("../img/common/title_border.svg");
  background-repeat: no-repeat;
}

.dc_ttl_type04.center {
  text-align: center;
  margin-inline: auto;
}

.dc_ttl_type05 {
  position: relative;
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 180%;
  letter-spacing: 0.05em;
  color: #222222;
  width: -moz-fit-content;
  width: fit-content;
  padding-bottom: 0.375rem;
  margin-bottom: 1rem;
}
.dc_ttl_type05::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 0.1875rem;
  background-image: url("../img/common/title_border.svg");
  background-repeat: no-repeat;
  background-size: cover;
}
@media (min-width: 768px) {
  .dc_ttl_type05 {
    font-size: 1.375rem;
    margin-bottom: 2.25rem;
  }
}

.m-description {
  font-weight: 500;
  font-size: 1.14rem;
  line-height: 180%;
  letter-spacing: 0.05em;
  color: #222222;
  text-align: center;
}
@media (min-width: 768px) {
  .m-description {
    font-size: 1rem;
  }
}

.m-description.left {
  text-align: left;
}

.top-wave {
  position: relative;
  margin-top: 7vw;
  padding-top: 1.125rem;
}
@media (min-width: 768px) {
  .top-wave {
    padding-top: 3.75rem;
  }
}
.top-wave::after {
  content: "";
  position: absolute;
  top: -7vw;
  left: 0%;
  width: 100%;
  height: 7vw;
  background-image: url("../img/common/offWhite_bg.svg");
  background-repeat: no-repeat;
  background-size: cover;
}

.top-wave.green::after {
  background-image: url("../img/common/green_bg.svg");
  background-color: #faf4eb;
}

.top-wave.white::after {
  background-image: url("../img/common/section_bg__white.svg");
  background-color: #faf4eb;
}

/* ==========================================================
   tel-banner：お急ぎの方はお電話で
   ========================================================== */
.tel-banner {
  padding: 3.8125rem 0 3.875rem;
  background-color: #fff;
}
@media (min-width: 768px) {
  .tel-banner {
    padding: 4.4375rem 0 4.5rem;
  }
}
.tel-banner .tel-banner__inner {
  max-width: 70.75rem;
  margin: 0 auto;
  padding: 0 1.5rem;
  text-align: center;
}
.tel-banner .tel-banner__label {
  position: relative;
  display: inline-block;
  margin-bottom: 1.5rem;
  padding-bottom: 0.375rem;
  font-weight: 700;
  font-size: 1.375rem;
  line-height: 180%;
  text-align: center;
  letter-spacing: 0.05em;
  color: #222222;
}
@media (min-width: 768px) {
  .tel-banner .tel-banner__label {
    font-size: 2rem;
    margin-bottom: 1.6875rem;
  }
}
.tel-banner .tel-banner__label::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 0.1875rem;
  background-image: url("../img/common/title_border.svg");
}
.tel-banner .tel-banner__number {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.625rem;
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  font-size: 2rem;
  line-height: 180%;
  letter-spacing: 0.05em;
  color: #1c2b4a;
  text-decoration: none;
}
@media (min-width: 768px) {
  .tel-banner .tel-banner__number {
    font-size: 3.75rem;
  }
}
.tel-banner .tel-banner__number img {
  width: 2.125rem;
  height: 2.1875rem;
}
@media (min-width: 768px) {
  .tel-banner .tel-banner__number img {
    width: 3.8125rem;
    height: 3.875rem;
  }
}
.tel-banner .tel-banner__time {
  font-weight: 500;
  font-size: 1rem;
  line-height: 180%;
  text-align: center;
  letter-spacing: 0.05em;
  color: #222222;
}
@media (min-width: 768px) {
  .tel-banner .tel-banner__time {
    font-size: 1.125rem;
  }
}

/* ==========================================================
   cta：まずはお気軽にご相談・資料請求ください
   ========================================================== */
.cta {
  padding: 3.5rem 0 0;
  background-color: #fff;
}
@media (min-width: 768px) {
  .cta {
    padding: 5.625rem 0 0;
  }
}
.cta .cta__lead {
  margin: 0 1rem 2rem 1rem;
  text-align: center;
  font-weight: 500;
  font-size: 1rem;
  line-height: 180%;
  letter-spacing: 0.05em;
  color: #222222;
}
@media (min-width: 768px) {
  .cta .cta__lead {
    margin: 0 0 4.5rem;
    font-size: 1.125rem;
  }
}
.cta .cta__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: 1fr;
}
@media (min-width: 768px) {
  .cta .cta__list {
    grid-template-columns: repeat(3, 1fr);
    border-top: 0.0625rem solid #c3b9b5;
    border-bottom: 0.0625rem solid #c3b9b5;
  }
}
.cta .cta__item-content {
  max-width: 21rem;
  width: 100%;
  height: 100%;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.cta .cta__item {
  min-width: 100%;
  padding: 2rem 1rem;
  border-left: none;
  border-top: 0.0625rem solid #c3b9b5;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.cta .cta__item:first-child {
  border-left: none;
}
.cta .cta__item:last-child {
  border-bottom: 0.0625rem solid #c3b9b5;
}
@media (min-width: 768px) {
  .cta .cta__item {
    padding: 2rem;
    border-left: 0.0625rem solid #c3b9b5;
    border-top: none;
  }
  .cta .cta__item:first-child {
    border-left: none;
  }
  .cta .cta__item:last-child {
    border-bottom: none;
  }
}
.cta .cta__item .cta__item-title {
  position: relative;
  display: inline-block;
  margin: 0 0 2rem;
  padding-bottom: 0.375rem;
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 180%;
  letter-spacing: 0.05em;
  color: #222222;
}
@media (min-width: 768px) {
  .cta .cta__item .cta__item-title {
    font-size: 1.375rem;
    margin: 0 0 2.8125rem;
  }
}
.cta .cta__item .cta__item-title::after {
  content: "";
  background-image: url("../img/common/title_border.svg");
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 0.1875rem;
}
.cta .cta__item .cta__item-text {
  margin: auto 0 2rem;
  font-weight: 500;
  font-size: 1rem;
  line-height: 180%;
  letter-spacing: 0.05em;
  color: #222222;
}
@media (min-width: 768px) {
  .cta .cta__item .cta__item-text {
    margin: auto 0 2.8125rem;
    font-size: 1rem;
  }
}

/* ==========================================================
  flow: 完成までの流れ
   ========================================================== */
.flow_inner {
  background-color: #ffffff;
  width: calc(100% - 2rem);
  margin: 0 auto;
  border-radius: 1.875rem;
  padding: 4rem 0;
}
@media (min-width: 768px) {
  .flow_inner {
    width: calc(100% - 9rem);
    max-width: 81rem;
    padding: 4.875rem 1rem;
  }
}
@media (min-width: 960px) {
  .flow_inner {
    padding: 7.875rem 1rem;
  }
}

.step-flow__list {
  display: flex;
  flex-direction: column;
  gap: 2.3125rem;
  margin: 0;
  padding: 0;
  list-style: none;
  width: 100%;
  margin-left: auto;
}
@media (min-width: 768px) {
  .step-flow__list {
    gap: 1.6875rem;
    width: calc(100% - 2.1875rem);
  }
}
.step-flow__list .step-flow__item {
  position: relative;
}
.step-flow__list .step-flow__item:not(:last-child)::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 100%;
  transform: translateX(-50%);
  width: 0.75rem;
  height: 2.3125rem;
  background-color: #dee5f2;
}
@media (min-width: 768px) {
  .step-flow__list .step-flow__item:not(:last-child)::after {
    width: 0.9375rem;
    height: 1.6875rem;
  }
}
.step-flow__list .step-flow__item .step-flow__number {
  position: absolute;
  top: 0%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.1875rem;
  height: 2.1875rem;
  border-radius: 50%;
  background-color: #1c2b4a;
  color: #ffffff;
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 1;
  box-shadow: 0 0 0 0.1875rem #ffffff, 0 0 0 0.25rem rgb(109, 106, 95);
}
@media (min-width: 768px) {
  .step-flow__list .step-flow__item .step-flow__number {
    top: 50%;
    left: 0;
    width: 3.625rem;
    height: 3.625rem;
    font-size: 2rem;
    box-shadow: 0 0 0 0.3125rem #ffffff, 0 0 0 0.375rem rgb(109, 106, 95);
  }
}
.step-flow__list .step-flow__item .step-flow__card {
  position: relative;
  width: 100%;
  padding: 2.25rem 1.5rem 1.5rem 1.5rem;
  background-color: #ffffff;
  border: 0.0625rem solid #6d6a5f;
  border-radius: 0.625rem;
}
@media (min-width: 768px) {
  .step-flow__list .step-flow__item .step-flow__card {
    padding: 1.6875rem 2.8125rem 1.6875rem 3.75rem;
  }
}
.step-flow__list .step-flow__item .step-flow__title {
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 160%;
  color: #222222;
}
.step-flow__list .step-flow__item .step-flow__title:has(+ .step-flow__text) {
  margin-bottom: 0.75rem;
}
@media (min-width: 768px) {
  .step-flow__list .step-flow__item .step-flow__title {
    font-size: 1.25rem;
  }
}
.step-flow__list .step-flow__item .step-flow__text {
  font-weight: 500;
  font-size: 1rem;
  line-height: 180%;
  letter-spacing: 0.05em;
  color: #222222;
}
@media (min-width: 768px) {
  .step-flow__list .step-flow__item .step-flow__text {
    font-size: 1.125rem;
  }
}

/* ==========================================================
  faq_section：よくある質問
   ========================================================== */
.faq__list {
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
@media (min-width: 768px) {
  .faq__list {
    gap: 1.6875rem;
  }
}
.faq__list .faq__item {
  background-color: #ffffff;
  border: 0.0625rem solid #6d6a5f;
  border-radius: 0.375rem;
  overflow: hidden;
}
@media (min-width: 768px) {
  .faq__list .faq__item {
    border-radius: 0.625rem;
  }
}
.faq__list .faq__item.is-open .faq__item__answer {
  max-height: 37.5rem;
  padding: 1rem 3rem 1rem 1rem;
}
@media (min-width: 768px) {
  .faq__list .faq__item.is-open .faq__item__answer {
    padding: 1.6875rem 3.5rem 1.6875rem 1.6875rem;
  }
}
.faq__list .faq__item.is-open .faq__item__answer::after {
  opacity: 1;
}
.faq__list .faq__item.is-open .faq__item__answer::before {
  opacity: 1;
}
.faq__list .faq__item__question.lead {
  line-height: 180%;
}
@media (min-width: 768px) {
  .faq__list .faq__item__question.lead {
    line-height: 200%;
  }
}
.faq__list .faq__item__question {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  margin: 0;
  padding: 1rem 3rem 1rem 1rem;
  cursor: pointer;
  transition: color 0.3s ease;
}
@media (min-width: 768px) {
  .faq__list .faq__item__question {
    gap: 1.6875rem;
    padding: 1.6875rem 3.5rem 1.6875rem 1.6875rem;
  }
}
.faq__list .faq__item__question:hover {
  color: #757575;
}
.faq__list .faq__item__question:hover::before {
  color: #4c9c41;
}
.faq__list .faq__item__question:hover::after {
  background-color: #757575;
}
.faq__list .faq__item__question:hover span::after {
  background-color: #757575;
}
.faq__list .faq__item__question:hover ~ .faq__item__answer {
  color: #757575;
}
.faq__list .faq__item__question:hover ~ .faq__item__answer::before {
  color: #e1c27e;
}
.faq__list .faq__item__question::before {
  content: "Q";
  flex-shrink: 0;
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 1;
  color: #2d5a27;
}
@media (min-width: 768px) {
  .faq__list .faq__item__question::before {
    font-size: 2.375rem;
  }
}
.faq__list .faq__item__question::before, .faq__list .faq__item__question::after {
  box-sizing: border-box;
  transition: color 0.3s ease;
}
.faq__list .faq__item__question::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1.25rem;
  width: 1rem;
  height: 0.125rem;
  background-color: #222222;
  transform: translateY(-50%);
  transition: transform 0.25s ease;
}
@media (min-width: 768px) {
  .faq__list .faq__item__question::after {
    right: 1.5rem;
    width: 1.125rem;
  }
}
.faq__list .faq__item__question span {
  display: block;
}
.faq__list .faq__item__question span::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1.25rem;
  width: 1rem;
  height: 0.125rem;
  background-color: #222222;
  transform: translateY(-50%) rotate(90deg);
  transition: transform 0.25s ease;
}
@media (min-width: 768px) {
  .faq__list .faq__item__question span::after {
    right: 1.5rem;
    width: 1.125rem;
  }
}

.faq__item.is-open .faq__item__question span::after {
  transform: translateY(-50%) rotate(0deg) scaleX(0);
}

.faq__item__answer {
  position: relative;
  display: flex;
  gap: 1rem;
  margin: 0;
  padding: 0 3rem 0 1.25rem;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease, padding 0.3s ease, color 0.3s ease;
}
@media (min-width: 768px) {
  .faq__item__answer {
    padding: 0 3.5rem 0 1.5rem;
    gap: 1.6875rem;
  }
}
.faq__item__answer::before {
  content: "A";
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 1;
  color: #c4a35a;
  transition: color 0.3s ease;
}
@media (min-width: 768px) {
  .faq__item__answer::before {
    font-size: 2.375rem;
  }
}
.faq__item__answer::after {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 94.5%;
  border-top: 0.0625rem dashed #c3b9b5;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.faq__item__answer span {
  display: block;
}

/* ==========================================================
   promo_banner：『遺稿集完全ガイド』無料進呈中
   ========================================================== */
.promo_banner__box {
  position: relative;
  background-color: #ece0c9;
  border-radius: 1.5rem;
  padding: 2.3125rem 1rem 2rem 1rem;
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-areas: "title  image" "text   image" "button button";
  -moz-column-gap: 0.5625rem;
       column-gap: 0.5625rem;
}
@media (min-width: 768px) {
  .promo_banner__box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 3.0625rem;
    padding: 3.875rem 2.4375rem 2.25rem 3.375rem;
  }
}
.promo_banner__box .promo_banner__label {
  position: absolute;
  top: -0.9375rem;
  left: 50%;
  transform: translateX(-50%);
  display: inline-flex;
  align-items: center;
  gap: 0.8125rem;
  margin: 0;
}
@media (min-width: 768px) {
  .promo_banner__box .promo_banner__label {
    top: -1.25rem;
    gap: 1.25rem;
  }
}
.promo_banner__box .promo_banner__label::before, .promo_banner__box .promo_banner__label::after {
  content: "";
  position: relative;
  bottom: -0.375rem;
  display: inline-block;
  width: 0.978125rem;
  height: 1.48875rem;
  background-repeat: no-repeat;
  background-size: contain;
}
@media (min-width: 768px) {
  .promo_banner__box .promo_banner__label::before, .promo_banner__box .promo_banner__label::after {
    width: 1.4375rem;
    height: 2.1875rem;
  }
}
.promo_banner__box .promo_banner__label::after {
  background-image: url("../img/common/guide_right__border.svg");
}
.promo_banner__box .promo_banner__label::before {
  background-image: url("../img/common/guide_left__border.svg");
}
.promo_banner__box .promo_banner__label-text {
  display: inline-flex;
  width: 9.6875rem;
}
@media (min-width: 768px) {
  .promo_banner__box .promo_banner__label-text {
    width: 14.25rem;
  }
}
.promo_banner__box .promo_banner__content {
  display: contents;
}
@media (min-width: 768px) {
  .promo_banner__box .promo_banner__content {
    display: block;
    margin-top: 0;
    flex: 1;
  }
}
.promo_banner__box .promo_banner__title {
  grid-area: title;
  align-self: end;
  margin: 0;
  font-family: "Zen Maru Gothic", sans-serif;
  font-style: normal;
  font-weight: 700;
  font-size: clamp(1rem, 3.1vw, 1.375rem);
  line-height: 180%;
  letter-spacing: 0.05em;
  color: #222222;
  text-align: center;
  margin-bottom: 0.75rem;
}
@media (min-width: 768px) {
  .promo_banner__box .promo_banner__title {
    grid-area: auto;
    align-self: auto;
    font-size: 2.1rem;
    margin-bottom: 0.5625rem;
    text-align: left;
  }
}
@media (min-width: 1600px) {
  .promo_banner__box .promo_banner__title {
    font-size: 2rem;
  }
}
.promo_banner__box .promo_banner__text {
  grid-area: text;
  align-self: start;
  margin: 0;
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 160%;
  letter-spacing: 0.05em;
  color: #4c4c4c;
  text-align: center;
}
@media (min-width: 768px) {
  .promo_banner__box .promo_banner__text {
    grid-area: auto;
    align-self: auto;
    font-size: 1.125rem;
    margin: 0 0 1.6875rem;
    text-align: left;
  }
}
.promo_banner__box .btn_right {
  text-align: center;
  grid-area: button;
  margin-top: 1.5rem;
}
@media (min-width: 768px) {
  .promo_banner__box .btn_right {
    grid-area: auto;
    margin-top: 0;
    text-align: right;
  }
}
.promo_banner__box .promo_banner__image {
  grid-area: image;
  align-self: center;
  width: clamp(6.9375rem, 20vw, 12.5rem);
}
@media (min-width: 768px) {
  .promo_banner__box .promo_banner__image {
    grid-area: auto;
    align-self: flex-end;
    margin: 0 0 0 0;
    margin-top: -5.375rem;
    flex-shrink: 0;
    width: 13.8125rem;
  }
}
.promo_banner__box .promo_banner__image img {
  width: 100%;
  height: auto;
  display: block;
}

/* ==========================================================
  breadcrumb
   ========================================================== */
.breadcrumb {
  display: none;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 4.722rem;
}
@media (min-width: 768px) {
  .breadcrumb {
    display: flex;
  }
}
.breadcrumb .breadcrumb-link {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 180%;
  letter-spacing: 0.05em;
  color: #222222;
  text-decoration-line: underline;
  text-underline-offset: 0.1875rem;
  transition: color 0.3s ease;
}
.breadcrumb .breadcrumb-link:hover {
  color: #757575;
  opacity: 1;
}
.breadcrumb .breadcrumb-sep {
  background-image: url("../img/common/right_arrow__black.svg");
  width: 0.310625rem;
  height: 0.5175rem;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  flex-shrink: 0;
}
.breadcrumb .lp-mv__breadcrumb-current {
  color: #2b2b2b;
}

/* ==========================================================
  sub-mv
   ========================================================== */
.sub-mv {
  position: relative;
  padding-top: 6.5625rem;
  padding-bottom: 4.75rem;
}
@media (min-width: 768px) {
  .sub-mv {
    padding-top: 6.5625rem;
    padding-bottom: 7.875rem;
    background: linear-gradient(to bottom, #fff 0%, #fff 58.7%, #faf4eb 50%, #faf4eb 100%);
  }
}
@media (min-width: 960px) {
  .sub-mv {
    padding-top: 10.625rem;
  }
}
.sub-mv::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0%;
  background-image: url("../img/common/offWhite_bg.svg");
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  height: 7vw;
}
@media (min-width: 768px) {
  .sub-mv::before {
    bottom: 41%;
  }
}
.sub-mv .sub-mv__content {
  position: relative;
  display: flex;
  flex-direction: column-reverse;
  justify-content: space-between;
  gap: 1.125rem;
  z-index: 5;
}
@media (min-width: 768px) {
  .sub-mv .sub-mv__content {
    flex-direction: row;
    align-items: center;
  }
}
.sub-mv .sub-mv__content .sub-mv__left {
  width: 100%;
}
@media (min-width: 768px) {
  .sub-mv .sub-mv__content .sub-mv__left {
    width: -moz-fit-content;
    width: fit-content;
  }
}
.sub-mv .sub-mv__content .sub-mv__left .sub-mv__title {
  font-family: "Zen Maru Gothic", sans-serif;
  font-style: normal;
  font-weight: 700;
  font-size: 1.375rem;
  line-height: 160%;
  letter-spacing: 0.05em;
  color: #222222;
  display: inline;
  border-bottom: 0.125rem dotted currentColor;
  padding-bottom: 0.0625rem;
}
@media (min-width: 768px) {
  .sub-mv .sub-mv__content .sub-mv__left .sub-mv__title {
    font-size: 2.222rem;
  }
}
.sub-mv .sub-mv__content .sub-mv__right {
  width: 100%;
  flex-shrink: 0;
}
@media (min-width: 768px) {
  .sub-mv .sub-mv__content .sub-mv__right {
    width: 50.15%;
  }
}
.sub-mv .sub-mv__content .sub-mv__right img {
  border-radius: 1.875rem 0 0 1.875rem;
}

/* ==========================================================
  sub--mv
   ========================================================== */
.sub--mv {
  position: relative;
  padding-top: 6.5625rem;
  padding-bottom: 3.75rem;
}
@media (min-width: 768px) {
  .sub--mv {
    padding-bottom: 8.4375rem;
  }
}
@media (min-width: 960px) {
  .sub--mv {
    padding-top: 12.375rem;
  }
}
.sub--mv::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0%;
  background-image: url("../img/common/offWhite_bg.svg");
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  height: 7vw;
}

.sub-mv__inner {
  width: calc(100% - 1rem);
  margin-left: auto;
}
@media (min-width: 768px) {
  .sub-mv__inner {
    width: 90%;
  }
}

.staff__inner {
  max-width: 81rem;
  margin: 0 auto;
  padding: 0 1rem;
}
.staff__inner .staff__box {
  padding: 2rem 1.25rem;
  background: url("../img/top/staff_bg.svg"), #faf4eb;
  background-size: cover;
  border: 0.0625rem solid #6d6a5f;
  border-radius: 1rem;
}
@media (min-width: 768px) {
  .staff__inner .staff__box {
    padding: 3rem 2.5rem;
    border-radius: 1.875rem;
  }
}
.staff__inner .saff-heading {
  margin: 0 auto 2.84375rem auto;
  width: 88.4%;
}
@media (min-width: 375px) {
  .staff__inner .saff-heading {
    width: 19.94625rem;
  }
}
@media (min-width: 768px) {
  .staff__inner .saff-heading {
    width: 31.5972rem;
  }
}
.staff__inner .saff-heading img {
  width: 100%;
  height: auto;
}
.staff__inner .staff__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: 1fr;
  max-width: 58.5rem;
  margin: 0 auto;
  gap: 2.5rem;
}
@media (min-width: 768px) {
  .staff__inner .staff__list {
    grid-template-columns: repeat(3, 1fr);
    gap: 3.625rem;
  }
}
.staff__inner .staff__item {
  text-align: center;
}
.staff__inner .staff__item .staff__item-photo {
  width: 8.75rem;
  height: auto;
  margin: 0 auto 1.6875rem;
  border-radius: 50%;
  overflow: hidden;
  border: 1px solid #6d6a5f;
}
@media (min-width: 768px) {
  .staff__inner .staff__item .staff__item-photo {
    width: 79.5%;
    height: auto;
  }
}
.staff__inner .staff__item .staff__item-photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.staff__inner .staff__item .staff__item-name {
  position: relative;
  display: inline-block;
  margin: 0 0 1.6875rem;
  padding-bottom: 0.375rem;
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 180%;
  letter-spacing: 0.05em;
  color: #222222;
}
@media (min-width: 768px) {
  .staff__inner .staff__item .staff__item-name {
    font-size: 1.111rem;
  }
}
.staff__inner .staff__item .staff__item-name::after {
  content: "";
  width: 100%;
  height: 0.1875rem;
  position: absolute;
  left: 0;
  bottom: 0;
  background-image: url("../img/top/reason_title__border.svg");
  background-size: cover;
}
.staff__inner .staff__item .staff__item-text {
  margin: 0;
  font-weight: 500;
  font-size: 1rem;
  line-height: 180%;
  letter-spacing: 0.05em;
  color: #222222;
  text-align: left;
}
@media (min-width: 768px) {
  .staff__inner .staff__item .staff__item-text {
    font-size: 1rem;
  }
}

.staff__box.white {
  background-color: #ffffff;
}

.btn-box__wrapper {
  padding-top: 1.3125rem;
}
@media (min-width: 768px) {
  .btn-box__wrapper {
    padding-top: 1.9375rem;
  }
}

.btn_box {
  position: relative;
  background-color: #ffffff;
  text-align: center;
  padding: 2.625rem 0 1.5rem;
  border-radius: 0.625rem;
}
@media (min-width: 768px) {
  .btn_box {
    padding: 4rem 0 2.8125rem;
    border-radius: 0.9375rem;
  }
}
.btn_box .btn_box__object {
  position: absolute;
  top: -1rem;
  left: 50%;
  transform: translateX(-50%);
  width: 5.9375rem;
  height: 5.9375rem;
  border-radius: 50%;
  aspect-ratio: 1/1;
  display: flex;
  justify-content: center;
  background-color: #fff;
  padding-top: 1rem;
}
@media (min-width: 768px) {
  .btn_box .btn_box__object {
    top: -1.875rem;
    padding-top: 1.9375rem;
    width: 9.875rem;
    height: 9.875rem;
  }
}
.btn_box .btn_box__object img {
  width: 1.875rem;
  height: 1.4375rem;
}
@media (min-width: 768px) {
  .btn_box .btn_box__object img {
    width: 3.0625rem;
    height: 2.3125rem;
  }
}
.btn_box .btn_box__content {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  display: inline-flex;
  align-items: center;
  flex-direction: column;
  margin: 0 auto;
  max-width: 20.4375rem;
  width: 100%;
  padding-bottom: 3.4375rem;
}
@media (min-width: 768px) {
  .btn_box .btn_box__content {
    max-width: 36.6875rem;
    padding-bottom: 2.125rem;
  }
}
.btn_box .btn_box__content::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -0.1875rem;
  background-image: url("../img/top/button_icon01.svg");
  width: 4.035625rem;
  height: 2.46rem;
  background-size: contain;
}
@media (min-width: 768px) {
  .btn_box .btn_box__content::after {
    width: 6.5625rem;
    height: 4rem;
    left: 0.5rem;
    background-size: auto;
  }
}
.btn_box .btn_box__content::before {
  content: "";
  position: absolute;
  left: 1.9375rem;
  bottom: 0;
  background-image: url("../img/common/title_border.svg");
  width: 79%;
  height: 0.1875rem;
}
@media (min-width: 768px) {
  .btn_box .btn_box__content::before {
    width: 83%;
    left: 0;
  }
}
.btn_box .btn_box__content .btn_box-title {
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 180%;
  letter-spacing: 0.05em;
  color: #222222;
  margin-bottom: 1rem;
}
@media (min-width: 768px) {
  .btn_box .btn_box__content .btn_box-title {
    margin-bottom: 1.6875rem;
    font-size: 1.5rem;
  }
}
.btn_box .btn_box__content .btn_box-illust {
  position: absolute;
  right: 0.375rem;
  bottom: 0;
  flex-shrink: 0;
  line-height: 0;
}
@media (min-width: 768px) {
  .btn_box .btn_box__content .btn_box-illust {
    right: 2.8125rem;
  }
}
.btn_box .btn_box__content .btn_box-illust img {
  width: 2.11375rem;
  height: auto;
}
@media (min-width: 768px) {
  .btn_box .btn_box__content .btn_box-illust img {
    width: 3.4375rem;
  }
}

.case_contents {
  display: grid;
  grid-template-columns: 1fr;
}
@media (min-width: 768px) {
  .case_contents {
    grid-template-columns: 1fr 1fr;
  }
}
.case_contents .case_content {
  border-top: 0.0625rem solid #c3b9b5;
  border-bottom: 0.0625rem solid #c3b9b5;
}
.case_contents .case_content:nth-child(-n+2) {
  border-bottom: none;
}
.case_contents .case_content:nth-child(odd) {
  border-right: 0.0625rem solid #c3b9b5;
}
.case_contents .case_content .case__item-link {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  padding: 2rem 3rem;
  transition: background-color 0.3s ease;
  text-decoration: none;
}
.case_contents .case_content .case__item-link:hover {
  opacity: 1;
  background-color: #fffaf3;
}
.case_contents .case_content .case__item-link:hover .case__item-image img {
  transform: scale(1.1);
}
@media (min-width: 768px) {
  .case_contents .case_content .case__item-link {
    grid-template-columns: 200fr 349fr;
    padding: 1.6875rem 3rem;
    gap: 1.6875rem;
  }
}
@media (min-width: 1201px) {
  .case_contents .case_content .case__item-link {
    padding: 2.8125rem 4.5rem;
  }
}
.case_contents .case_content .case__item-link .case__item-image_inner {
  height: -moz-fit-content;
  height: fit-content;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #fff;
  border-radius: 0.25rem;
  overflow: hidden;
  padding: 1.5rem 2rem;
}
@media (min-width: 768px) {
  .case_contents .case_content .case__item-link .case__item-image_inner {
    padding: 1rem 1rem;
  }
}
@media (min-width: 1201px) {
  .case_contents .case_content .case__item-link .case__item-image_inner {
    padding: 1rem 2.4375rem;
  }
}
.case_contents .case_content .case__item-link .case__item-image_inner .case__item-image {
  overflow: hidden;
  aspect-ratio: 121/168;
  border-radius: 0.375rem;
}
.case_contents .case_content .case__item-link .case__item-image_inner .case__item-image img {
  transition: transform 0.3s ease;
  height: 100%;
}
.case_contents .case_content .case__item-link .case__item-content .case__item-tag {
  display: inline-block;
  margin-bottom: 0.5rem;
  padding: 0.125rem 0.5625rem;
  border: 0.0625rem solid #222222;
  border-radius: 62.4375rem;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1.25rem;
  text-align: center;
  letter-spacing: 0.05em;
  color: #222222;
  margin-bottom: 0.375rem;
}
@media (min-width: 768px) {
  .case_contents .case_content .case__item-link .case__item-content .case__item-tag {
    padding: 0.1875rem 0.75rem;
    font-size: 0.875rem;
    margin-bottom: 0.5rem;
  }
}
.case_contents .case_content .case__item-link .case__item-content .case__item-title {
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 150%;
  letter-spacing: 0.05em;
  color: #222222;
  margin-bottom: 1rem;
}
@media (min-width: 768px) {
  .case_contents .case_content .case__item-link .case__item-content .case__item-title {
    font-size: 1.111rem;
    margin-bottom: 1.125rem;
  }
}
.case_contents .case_content .case__item-link .case__item-content .case__item-description {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 180%;
  letter-spacing: 0.05em;
  color: #222222;
}
@media (min-width: 768px) {
  .case_contents .case_content .case__item-link .case__item-content .case__item-description {
    font-size: 0.888rem;
  }
}

.seach_inner {
  margin: 0 auto;
  width: calc(100% - 2rem);
}
@media (min-width: 768px) {
  .seach_inner {
    width: calc(100% - 9rem);
    max-width: 81rem;
  }
}
.seach_inner .seach_heading {
  width: -moz-fit-content;
  width: fit-content;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  background-color: #ece1cc;
  border-radius: 1.25rem 1.25rem 0 0;
  padding: 0.5rem 1.5rem 0 1.5rem;
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 180%;
  letter-spacing: 0.05em;
  color: #222222;
}
@media (min-width: 768px) {
  .seach_inner .seach_heading {
    padding: 1.0625rem 1.6875rem 0 1.6875rem;
    font-size: 1.333rem;
  }
}
.seach_inner .seach_heading img {
  width: 1.625rem;
  height: 1.25rem;
}
@media (min-width: 768px) {
  .seach_inner .seach_heading img {
    width: 2.1875rem;
    height: 1.625rem;
  }
}
.seach_inner .genre__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem 1.0625rem;
  padding: 2rem 1rem;
  border-radius: 0rem;
  background-color: #ece1cc;
}
@media (min-width: 768px) {
  .seach_inner .genre__list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem 1.4375rem;
    padding: 4rem 4.5rem;
    border-radius: 0 1.875rem 1.875rem 1.875rem;
  }
}
@media (min-width: 1024px) {
  .seach_inner .genre__list {
    padding: 4.5rem 7.875rem;
  }
}
.seach_inner .genre__item .genre__item-link {
  display: block;
  text-decoration: none;
  color: #222222;
  background-color: #ffffff;
  border-radius: 0.375rem;
  overflow: hidden;
  transition: all 0.3s ease;
}
.seach_inner .genre__item .genre__item-link:hover {
  opacity: 1;
}
.seach_inner .genre__item .genre__item-link:hover .genre__item-label {
  color: #5c5c5c;
}
.seach_inner .genre__item .genre__item-link:hover .genre__item-arrow {
  background-color: #51648e;
}
.seach_inner .genre__item .genre__item-link:hover img {
  transform: scale(1.1);
}
.seach_inner .genre__item .genre__item-image {
  display: block;
  width: 100%;
  aspect-ratio: 4/3;
  overflow: hidden;
}
.seach_inner .genre__item .genre__item-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  transition: transform 0.3s ease;
}
.seach_inner .genre__item .genre__item-label {
  display: block;
  margin: 0.4375rem 0rem 0.25rem;
  text-align: center;
  font-weight: 700;
  font-size: 0.875rem;
  line-height: 180%;
  letter-spacing: 0.05em;
  color: #222222;
  transition: color 0.3s ease;
}
@media (min-width: 768px) {
  .seach_inner .genre__item .genre__item-label {
    font-size: 1.111rem;
    margin: 0.6875rem 0rem 0.3125rem;
  }
}
.seach_inner .genre__item .genre__item-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  height: 1.25rem;
  margin: 0 auto 0.75rem;
  border-radius: 50%;
  background-color: #1f3a5a;
  color: #fff;
  transition: background 0.3s ease;
}
@media (min-width: 768px) {
  .seach_inner .genre__item .genre__item-arrow {
    width: 1.555rem;
    height: 1.555rem;
  }
}
.seach_inner .genre__item .genre__item-arrow svg {
  width: 0.8125rem;
  height: 0.8125rem;
}
@media (min-width: 768px) {
  .seach_inner .genre__item .genre__item-arrow svg {
    width: 0.875rem;
    height: 0.875rem;
  }
}

/* ==========================================================
   about_message：本づくりは、人生を振り返る時間にもなります
   ========================================================== */
.about_message {
  padding: 2.5rem 0 0;
}
@media (min-width: 768px) {
  .about_message {
    padding: 5.5rem 0 0;
  }
}
.about_message .about_message__box {
  position: relative;
}
.about_message .about_message__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  margin-bottom: 1.5rem;
}
@media (min-width: 768px) {
  .about_message .about_message__head {
    position: absolute;
    left: 50%;
    top: -5.5rem;
    transform: translateX(-50%);
    flex-direction: row;
    align-items: flex-end;
    width: auto;
    margin-bottom: 0;
  }
}
.about_message .about_message__icon {
  width: 5.8125rem;
  height: auto;
  display: block;
}
@media (min-width: 768px) {
  .about_message .about_message__icon {
    width: 7.375rem;
    flex-shrink: 0;
    margin-right: -0.125rem;
  }
}
.about_message .about_message__title {
  padding: 0.6875rem 0;
  border-top: 0.125rem solid #222222;
  border-bottom: 0.125rem solid #222222;
  background-color: #faf4eb;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 180%;
  text-align: center;
  letter-spacing: 0.05em;
  color: #222222;
  text-align: center;
  width: 100%;
}
@media (min-width: 768px) {
  .about_message .about_message__title {
    padding: 0.875rem 5rem;
    font-size: 1.333rem;
    text-align: left;
    white-space: nowrap;
  }
}
.about_message .about_message__text {
  margin: 0;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 180%;
  letter-spacing: 0.05em;
  color: #222222;
  text-align: left;
  padding: 1.5rem 1.25rem 1.75rem;
  border: 0.0625rem solid #6d6a5f;
  border-radius: 1.25rem;
}
@media (min-width: 768px) {
  .about_message .about_message__text {
    padding: 5rem 3rem 2.8125rem;
    font-size: 1rem;
    text-align: center;
  }
}

/* ==========================================================
  voice
   ========================================================== */
.voice__list {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
@media (min-width: 768px) {
  .voice__list {
    gap: 2.8125rem;
  }
}
.voice__list .voice__item {
  display: flex;
  align-items: start;
  gap: 1.25rem;
}
@media (min-width: 768px) {
  .voice__list .voice__item {
    gap: 1.875rem;
  }
}
.voice__list .voice__item .voice__image {
  width: 4.5rem;
  height: 4.5rem;
  border-radius: 50%;
  border: 0.0625rem solid #6d6a5f;
  flex-shrink: 0;
}
@media (min-width: 768px) {
  .voice__list .voice__item .voice__image {
    width: 5.625rem;
    height: 5.625rem;
  }
}
.voice__list .voice__item .voice__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 50%;
}
.voice__list .voice__item .voice__content {
  position: relative;
  width: -moz-max-content;
  width: max-content;
  padding: 1rem;
  background-color: #ffffff;
  border-radius: 0.375rem;
  border: 0.0625rem solid #6d6a5f;
}
@media (min-width: 768px) {
  .voice__list .voice__item .voice__content {
    padding: 1.6875rem;
    border-radius: 0.625rem;
    width: 65.2%;
  }
}
.voice__list .voice__item .voice__content p {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 160%;
  color: #222222;
}
@media (min-width: 768px) {
  .voice__list .voice__item .voice__content p {
    font-size: 1.125rem;
  }
}
.voice__list .voice__item .voice__content::before {
  content: "";
  width: 0.9375rem;
  height: 1.125rem;
  position: absolute;
  top: 0.5rem;
  left: -0.9375rem;
  background-image: url("../img/lp/fukidasi.svg");
  background-size: cover;
}
.voice__list .voice__item:nth-child(odd) {
  justify-content: start;
}
.voice__list .voice__item:nth-child(even) {
  justify-content: end;
  flex-direction: row-reverse;
}
.voice__list .voice__item:nth-child(even) .voice__content::before {
  left: auto;
  right: -0.9375rem;
  transform: rotateY(180deg);
}

.mv_heading {
  text-align: center;
}

.p-articleTitle {
  display: inline-flex;
  margin: 0;
  border: 0.0625rem solid #222222;
}
.p-articleTitle .p-articleTitle_text {
  display: flex;
}
.p-articleTitle .p-articleTitle_char {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.711rem;
  height: 1.711rem;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  font-size: 1.141rem;
  line-height: 180%;
  text-align: center;
  letter-spacing: 0.05em;
  color: #222222;
  border-right: 0.0625rem solid #222222;
}
.p-articleTitle .p-articleTitle_char:last-child {
  border-right: none;
}
@media screen and (min-width: 48rem) {
  .p-articleTitle .p-articleTitle_char {
    width: 3.5625rem;
    height: 3.5625rem;
    font-size: 2rem;
  }
}

/* ==========================================================
  reason_image
   ========================================================== */
.reason_image__inner {
  max-width: 63rem;
  width: calc(100% - 2rem);
  margin: 0 auto;
}

/* ==========================================================
  anchor_nav：ページ内リンクボタン
   ========================================================== */
.anchor_nav {
  padding: 1.5rem 0 2rem;
}
@media (min-width: 768px) {
  .anchor_nav {
    padding: 2.5rem 0 3rem;
  }
}
.anchor_nav .anchor_nav__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.625rem 0.75rem;
}
@media (min-width: 768px) {
  .anchor_nav .anchor_nav__list {
    gap: 0.75rem 1rem;
  }
}
.anchor_nav .anchor_nav__item {
  flex: 1 1 calc(50% - 0.75rem);
  min-width: 15rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
}
.anchor_nav .anchor_nav__item:hover .anchor_nav__link {
  background-color: #51648e;
}
.anchor_nav .anchor_nav__item:hover .anchor_nav__arrow {
  border-color: #51648e transparent transparent transparent;
}
@media (min-width: 768px) {
  .anchor_nav .anchor_nav__item {
    flex: 1 1 calc(50% - 1rem);
    gap: 0.375rem;
  }
}
.anchor_nav .anchor_nav__link {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  width: 100%;
  padding: 0.625rem 0.75rem 0.5625rem 0.75rem;
  background-color: #1c2b4a;
  border-radius: 62.4375rem;
  text-decoration: none;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  font-size: 1rem;
  line-height: 180%;
  letter-spacing: 0.05em;
  color: #ffffff;
  text-align: center;
  transition: background 0.3s ease;
}
.anchor_nav .anchor_nav__link:hover {
  opacity: 1;
}
@media (min-width: 768px) {
  .anchor_nav .anchor_nav__link {
    font-size: 1rem;
    padding: 0.75rem 1.375rem;
  }
}
.anchor_nav .anchor_nav__arrow {
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.5rem 0.40625rem 0 0.40625rem;
  border-color: #1c2b4a transparent transparent transparent;
}
@media (min-width: 768px) {
  .anchor_nav .anchor_nav__arrow {
    border-width: 0.625rem 0.53125rem 0 0.53125rem;
  }
}

/* ==========================================================
  anchor_nav_four：ページ内リンクボタン
   ========================================================== */
.anchor_nav_four .anchor_nav__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  justify-content: center;
  gap: 1rem 1.0625rem;
}
@media (min-width: 768px) {
  .anchor_nav_four .anchor_nav__list {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.75rem 1.75rem;
  }
}
.anchor_nav_four .anchor_nav__item {
  width: 100%;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
}
.anchor_nav_four .anchor_nav__item:hover .anchor_nav__link {
  background-color: #51648e;
}
.anchor_nav_four .anchor_nav__item:hover .anchor_nav__arrow {
  border-color: #51648e transparent transparent transparent;
}
@media (min-width: 768px) {
  .anchor_nav_four .anchor_nav__item {
    gap: 0.375rem;
  }
}
.anchor_nav_four .anchor_nav__link {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  width: 100%;
  padding: 0.625rem 0.5625rem 0.5625rem 0.5625rem;
  background-color: #1c2b4a;
  border-radius: 62.4375rem;
  text-decoration: none;
  font-family: "Zen Maru Gothic", sans-serif;
  font-style: normal;
  font-weight: 700;
  font-size: 1rem;
  line-height: 180%;
  letter-spacing: 0.05em;
  color: #ffffff;
  text-align: center;
  transition: background 0.3s ease;
}
.anchor_nav_four .anchor_nav__link:hover {
  opacity: 1;
}
@media (min-width: 768px) {
  .anchor_nav_four .anchor_nav__link {
    font-size: 1rem;
    padding: 0.75rem;
  }
}
.anchor_nav_four .anchor_nav__arrow {
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.5rem 0.40625rem 0 0.40625rem;
  border-color: #1c2b4a transparent transparent transparent;
}
@media (min-width: 768px) {
  .anchor_nav_four .anchor_nav__arrow {
    border-width: 0.625rem 0.53125rem 0 0.53125rem;
  }
}

.section_border {
  border-bottom: 0.0625rem dashed #6d6a5f;
  margin-bottom: 3.875rem;
  padding-bottom: 3.875rem;
}
@media (min-width: 768px) {
  .section_border {
    margin-bottom: 4.5rem;
    padding-bottom: 4.5rem;
  }
}

.faq_section {
  overflow: hidden;
}

/* ==========================================================
  point__list：こんな方におすすめです
   ========================================================== */
.point__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: 1fr;
  gap: 3.4375rem;
}
@media (min-width: 768px) {
  .point__list {
    grid-template-columns: repeat(3, 1fr);
    gap: 1.6875rem;
  }
}
.point__list .point__item {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: #ffffff;
  border-radius: 10px;
}
.point__list .point__tab {
  position: absolute;
  top: -1.90625rem;
  left: 50%;
  transform: translateX(-50%);
  width: 9.74rem;
  height: 9.74rem;
  display: flex;
  align-items: center;
  flex-direction: column;
  flex-shrink: 0;
  text-align: center;
  background: url("../img/common/lattice-pattern.png"), #ffffff;
  border-radius: 50%;
  padding-top: 1.625rem;
}
@media (min-width: 768px) {
  .point__list .point__tab {
    top: -1.9375rem;
    width: 9.875rem;
    height: 9.875rem;
    padding-top: 1.6875rem;
  }
}
.point__list .point__tab .point__tab-label {
  display: block;
  font-family: "Roboto", sans-serif;
  font-style: normal;
  font-weight: 600;
  font-size: 0.875rem;
  line-height: 1;
  color: #2d5a27;
}
@media (min-width: 768px) {
  .point__list .point__tab .point__tab-label {
    font-size: 1.125rem;
  }
}
.point__list .point__tab .point__tab-number {
  display: block;
  font-family: "Roboto", sans-serif;
  font-weight: 600;
  font-size: 2.5625rem;
  line-height: 1;
  color: #2d5a27;
}
@media (min-width: 768px) {
  .point__list .point__tab .point__tab-number {
    font-size: 2.8125rem;
  }
}
.point__list .point__card {
  width: 100%;
  height: 100%;
  padding: 4.375rem 1rem 1.5rem 1rem;
  background: url("../img/common/lattice-pattern.png"), #ffffff;
  text-align: center;
  border-radius: 10px;
}
@media (min-width: 768px) {
  .point__list .point__card {
    padding: 4.5625rem 1.125rem 1.6875rem 1.125rem;
  }
}
.point__list .point__card .point__photo {
  position: relative;
  width: 11.875rem;
  height: 11.875rem;
  aspect-ratio: 1/1;
  margin: 0 auto 1rem;
  border-radius: 50%;
  overflow: hidden;
}
@media (min-width: 768px) {
  .point__list .point__card .point__photo {
    width: 12.125rem;
    height: 12.125rem;
    margin: 0 auto 1.1875rem;
  }
}
.point__list .point__card .point__photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.point__list .point__card .point__title {
  position: relative;
  display: inline-block;
  margin-bottom: 1.5rem;
  padding-bottom: 0.375rem;
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 180%;
  letter-spacing: 0.05em;
  color: #222222;
}
@media (min-width: 768px) {
  .point__list .point__card .point__title {
    font-size: 1.08rem;
    margin-bottom: 1.6875rem;
  }
}
.point__list .point__card .point__title::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  background-image: url("../img/common/title_border.svg");
  width: 100%;
  height: 0.125rem;
}
.point__list .point__card .point__text {
  margin: 0;
  font-weight: 500;
  font-size: 1rem;
  line-height: 180%;
  color: #222222;
  text-align: center;
}
@media (min-width: 768px) {
  .point__list .point__card .point__text {
    font-size: 1rem;
  }
}

.filter__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  justify-content: flex-start;
  gap: 0.5rem;
  padding: 0;
  list-style: none;
  width: -moz-fit-content;
  width: fit-content;
}
@media (min-width: 768px) {
  .filter__list {
    grid-template-columns: unset;
    display: flex;
    flex-wrap: wrap;
    gap: 0.67rem;
    width: 100%;
  }
}

.filter__link {
  display: inline-block;
  padding: 0.63rem;
  border: 0.0625rem solid #1c2b4a;
  border-radius: 62.4375rem;
  background-color: #ffffff;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  font-size: 0.8rem;
  letter-spacing: 0;
  line-height: 1.6;
  text-align: center;
  width: 100%;
  color: #1c2b4a;
  cursor: pointer;
  text-decoration: none;
  transition: background-color 0.3s ease, color 0.3s ease;
}
@media (min-width: 768px) {
  .filter__link {
    padding: 0.56rem;
    font-size: 0.89rem;
    min-width: 9.125rem;
    width: 9.13rem;
  }
}
.filter__link:hover {
  opacity: 1;
  color: #ffffff;
  background-color: #1c2b4a;
}
.filter__link.is-active {
  color: #ffffff;
  background-color: #1c2b4a;
}
.filter__link.is-active:hover {
  color: #ffffff;
  background-color: #1c2b4a;
}

.quote-block {
  margin-bottom: 2.25rem;
}
@media (min-width: 768px) {
  .quote-block {
    margin-bottom: 2.5rem;
  }
}
.quote-block::before {
  content: "";
  display: block;
  width: 1.34rem;
  height: 1.06rem;
  background-image: url("../img/common/double-quotation.svg");
  background-repeat: no-repeat;
  background-size: contain;
  text-align: left;
}
@media (min-width: 768px) {
  .quote-block::before {
    width: 1.7778rem;
    height: 1.3889rem;
  }
}
.quote-block::after {
  content: "";
  display: block;
  width: 1.34rem;
  height: 1.06rem;
  background-image: url("../img/common/double-quotation.svg");
  background-repeat: no-repeat;
  background-size: contain;
  transform: rotate(180deg);
  margin-left: auto;
}
@media (min-width: 768px) {
  .quote-block::after {
    width: 1.7778rem;
    height: 1.3889rem;
  }
}
.quote-block p {
  font-weight: 500;
  font-size: 1rem;
  line-height: 170%;
  color: #757575;
  padding: 8px 1.3333rem 8px 1.3333rem;
}
@media (min-width: 768px) {
  .quote-block p {
    font-size: 1rem;
  }
}/*# sourceMappingURL=component.css.map */