@charset "UTF-8";
/* -------------------------------------
フォント
------------------------------------- */
.about_inner {
  padding-bottom: 6.5rem;
}
@media screen and (max-width: 768px) {
  .about_inner {
    padding-bottom: 14rem;
  }
}

.about_ttl-block .--ttl {
  margin-top: calc((1em - 1lh) / 2 + 3.5rem);
}
@supports not (top: 1lh) {
  .about_ttl-block .--ttl {
    margin-top: 3.5rem;
  }
}

.p-cavity .c-about_img-block .c-about_img {
  height: auto;
}
.p-cavity .c-about_img-block .c-about_img:nth-child(1) {
  width: 25.5rem;
  aspect-ratio: 255/350;
  top: 17rem;
}
@media screen and (max-width: 1024px) {
  .p-cavity .c-about_img-block .c-about_img:nth-child(1) {
    width: 13.515rem;
  }
}
.p-cavity .c-about_img-block .c-about_img:nth-child(2) {
  width: 21.3rem;
  aspect-ratio: 213/146;
  bottom: 9.1rem;
  right: 4rem;
}
@media screen and (max-width: 1024px) {
  .p-cavity .c-about_img-block .c-about_img:nth-child(2) {
    width: 13.515rem;
  }
}
@media screen and (max-width: 768px) {
  .p-cavity .c-about_img-block .c-about_img:nth-child(2) {
    bottom: 0;
    right: 2rem;
    translate: 0 3rem;
  }
}
.p-cavity .c-about_block {
  padding-bottom: 14.4rem;
}
@media screen and (max-width: 768px) {
  .p-cavity .c-about_block {
    padding-bottom: 0;
  }
}

.reasons {
  position: relative;
  z-index: 0;
  background: linear-gradient(201deg, #FFF 1.94%, #F6EDE3 97.1%);
}
.reasons .c-reasons_bg {
  top: 9.7rem;
}
@media screen and (max-width: 768px) {
  .reasons .c-reasons_bg {
    top: 8rem;
  }
}

.reasons-inner {
  padding-block: 20.5rem 21rem;
}
@media screen and (max-width: 768px) {
  .reasons-inner {
    padding-block: 12rem 14rem;
  }
}

.reasons_list > li {
  padding-block: 6.35rem;
}
@media screen and (max-width: 768px) {
  .reasons_list > li {
    padding-block: 4.4rem;
  }
}

.point {
  background-color: #FCFBF9;
}

.point_inner {
  padding-block: 13.7rem 21rem;
}
@media screen and (max-width: 768px) {
  .point_inner {
    padding-block: 8rem 14rem;
  }
}

.point_list > li {
  padding-block: 6rem;
}
@media screen and (max-width: 768px) {
  .point_list > li {
    padding-block: 4.4rem;
  }
}
.point_list .c-list2 {
  margin-block: 4.3rem 2.4rem;
}
@media screen and (max-width: 768px) {
  .point_list .c-list2 {
    margin-block: 1.6rem;
  }
}
.point_list .c-list2 > li {
  padding-left: 2.4rem;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  .point_list .c-list2 > li {
    padding-left: 1.9rem;
  }
}
.point_list .c-list2 > li + li {
  margin-top: calc((1em - 1lh) / 2 + 2.6rem);
}
@supports not (top: 1lh) {
  .point_list .c-list2 > li + li {
    margin-top: 2.6rem;
  }
}
@media screen and (max-width: 768px) {
  .point_list .c-list2 > li + li {
    margin-top: calc((1em - 1lh) / 2 + 1.4rem);
  }
  @supports not (top: 1lh) {
    .point_list .c-list2 > li + li {
      margin-top: 1.4rem;
    }
  }
}

.reasons_list-cause {
  margin-top: 5.6rem;
  background-color: #fff;
  border-radius: 1rem;
  padding: 4rem 6.4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 4rem;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .reasons_list-cause {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 4rem 1.5rem;
    gap: 3.6rem;
  }
}

.reasons_list-cause_item {
  width: min(40rem, 100%);
}
.reasons_list-cause_item .--ttl {
  padding: 1.3rem 0.8rem;
  display: grid;
  place-items: center;
  border-radius: 1rem;
}
.reasons_list-cause_item .--ttl p {
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.05em;
}
.reasons_list-cause_item:nth-child(1) .--ttl {
  background-color: #F6EDE3;
}
.reasons_list-cause_item:nth-child(1) .--img {
  aspect-ratio: 170/126.69;
}
.reasons_list-cause_item:nth-child(2) .--ttl {
  background-color: #EED9C2;
  text-align: center;
}
.reasons_list-cause_item:nth-child(2) .--img {
  aspect-ratio: 170/142.17;
}
.reasons_list-cause_item .--img {
  height: 16.6rem;
  margin-top: 2.4rem;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .reasons_list-cause_item .--img {
    width: 17rem;
    height: auto;
  }
}
.reasons_list-cause_item .--text {
  font-size: 1.4rem;
  line-height: 1.7;
  margin-top: calc((1em - 1lh) / 2 + 1.2rem);
}
@supports not (top: 1lh) {
  .reasons_list-cause_item .--text {
    margin-top: 1.2rem;
  }
}

.point_topic-block {
  margin-top: 14.2rem;
}

.point_topic {
  padding: 4.6rem 4.8rem;
  border-radius: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 5.6rem;
  position: relative;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .point_topic {
    margin-top: 10rem;
    padding: 3.8rem 2rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2rem;
  }
}
.point_topic .c-reasons_ttl {
  gap: 1.2rem;
}
@media screen and (max-width: 768px) {
  .point_topic .c-reasons_ttl {
    gap: 1rem;
  }
}
.point_topic .c-reasons_ttl::before {
  content: "";
  display: block;
  width: 1.2rem;
  height: 1.2rem;
  background-image: url(../img/common/icon_diamond.svg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}
@media screen and (max-width: 768px) {
  .point_topic .c-reasons_ttl::before {
    width: 1rem;
    height: 1rem;
  }
}
.point_topic .c-reasons_ttl .--ttl {
  line-height: 1.7;
}
.point_topic .c-reasons_cnt {
  margin-top: 2.5rem;
}
.point_topic .c-reasons_cnt > .--text {
  line-height: 2;
  letter-spacing: 0;
}
.point_topic .c-reasons_img-block {
  width: 31.5rem;
  height: auto;
  aspect-ratio: 315/210;
}
@media screen and (max-width: 768px) {
  .point_topic .c-reasons_img-block {
    width: 100%;
  }
}
.point_topic + .point_topic {
  margin-top: 4px;
}

.point-bubble {
  padding: 1.3rem 2.8rem;
  border-radius: 10rem;
  position: absolute;
  top: 0;
  left: 2.2rem;
  translate: 0 calc(-100% + 0.8rem);
  display: grid;
  place-content: center;
  background-color: #927A43;
}
@media screen and (max-width: 768px) {
  .point-bubble {
    padding: 1rem 1.8rem;
  }
}
.point-bubble::before {
  content: "";
  position: absolute;
  left: 3.1rem;
  bottom: 0.8rem;
  translate: 0 100%;
  width: 2.8rem;
  height: 1.9rem;
  clip-path: polygon(0% 100%, 23.92418% 0%, 100% 0%);
  background-color: inherit;
}
.point-bubble .--text {
  color: #fff;
  line-height: 1.6;
  letter-spacing: 0.05em;
}

.treatment {
  background-color: #F7F4F0;
}
@media screen and (max-width: 768px) {
  .treatment .c-treatment_text {
    padding-inline: 1.5rem;
  }
}

.treatment_inner {
  padding-block: 14rem;
}
@media screen and (max-width: 768px) {
  .treatment_inner {
    padding-block: 8rem 14rem;
  }
}

.treatment_list {
  margin-top: 5.7rem;
}
@media screen and (max-width: 768px) {
  .treatment_list {
    margin-top: 5.6rem;
  }
}

.select {
  background-color: #FCFBF9;
}

.select_inner {
  padding-block: 14rem 21rem;
}

.select_intro {
  margin-top: 5.7rem;
}
@media screen and (max-width: 768px) {
  .select_intro {
    margin-top: 5.4rem;
  }
}
.select_intro .--text {
  text-align: center;
  line-height: 2;
}

.select_tab-list {
  margin-top: 6.1rem;
}
@media screen and (max-width: 768px) {
  .select_tab-list {
    margin-top: 5.4rem;
  }
}

.p-select__panel {
  background: #fff;
  border-radius: 1rem;
  padding: 6.4rem 7.2rem;
}

@media screen and (max-width: 768px) {
  .p-select__panel {
    padding: 4.5rem 2.5rem;
  }
}
.p-select__panel-inner {
  display: grid;
  gap: 4.8rem 0;
}

@media screen and (max-width: 768px) {
  .p-select__panel-inner {
    gap: 4rem 0;
  }
}
.p-select__panel-cont-top {
  display: grid;
  grid-template-columns: 1fr 39.8rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 7.2rem;
}

@media screen and (max-width: 768px) {
  .p-select__panel-cont-top {
    grid-template-columns: 1fr;
    gap: 4rem 0;
  }
}
.p-select__panel-cont-top .texts {
  display: grid;
  gap: 3.5rem 0;
}

.p-select__panel-ttl {
  display: grid;
  gap: 2.4rem;
}

.p-select__panel-cont-top .texts .--label {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.4rem 0.8rem;
  display: grid;
  place-content: center;
  border-radius: 10rem;
  color: #FCFBF9;
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1.2;
  letter-spacing: 0.03em;
  background-color: #BFA76F;
}

.p-select__panel-cont-top .texts .--ttl {
  font-family: "Noto Serif JP", serif;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.05em;
}

@media screen and (max-width: 768px) {
  .p-select__panel-cont-top .texts .--ttl {
    font-size: 2rem;
  }
}
.p-select__panel-cont-top .texts .--text {
  font-size: 1.4rem;
  line-height: 2;
}

.p-select__panel-img {
  aspect-ratio: 398/266;
  border-radius: 0.5rem;
  overflow: hidden;
}
.p-select__panel-img > img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-select__panel-cont-btm {
  display: grid;
  gap: 0.2rem 0;
}

.p-select__panel-cont-btm .list-wrap {
  background: #F6EDE3;
  border-radius: 0.5rem;
  padding: 3rem 4rem;
  display: grid;
  grid-template-columns: 1fr 60rem;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  gap: 0 2.4rem;
  font-size: 1.4rem;
  line-height: 2;
  letter-spacing: 0.05em;
}

@media screen and (max-width: 768px) {
  .p-select__panel-cont-btm .list-wrap {
    padding: 3rem 2rem;
    grid-template-columns: 1fr;
    gap: 2.5rem 0;
    font-size: 1.2rem;
  }
}
.p-select__panel-cont-btm .list-wrap.--demerit {
  background: #F7F4F0;
}

.p-select__panel-cont-btm .--ttl {
  font-weight: 500;
}

.p-select__panel-cont-btm .--list {
  line-height: 2;
  margin-block: var(--leading-trim);
}

.p-select__panel-cont-btm .--list > li {
  display: grid;
  grid-template-columns: 1.4285714286rem 1fr;
}

.p-select__panel-cont-btm .--list > li::before {
  content: "";
  width: 0.2rem;
  height: 0.2rem;
  background: currentColor;
  border-radius: 50%;
  margin-top: 0.5lh;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  justify-self: center;
}

.flow {
  background-color: #F7F4F0;
}

.flow_inner {
  padding-block: 14.5rem 27.4rem;
}
@media screen and (max-width: 768px) {
  .flow_inner {
    padding-block: 8rem 14rem;
  }
}

.flow-block {
  margin-top: 6.4rem;
  padding: 6.8rem 7.2rem 5rem;
}
@media screen and (max-width: 768px) {
  .flow-block {
    margin-top: 5.4rem;
    padding: 4rem 2.5rem 1.6rem;
  }
}
.flow-block .c-flow_list > li {
  padding-bottom: 4.9rem;
}
@media screen and (max-width: 768px) {
  .flow-block .c-flow_list > li {
    padding-bottom: 4rem;
  }
}

.flow-btn {
  margin-top: 2.8rem;
}

.faq {
  background-color: #F6EDE3;
}

.faq_inner {
  padding-block: 14rem 21rem;
}
@media screen and (max-width: 768px) {
  .faq_inner {
    padding-block: 8rem 14rem;
  }
}

.canal {
  background: linear-gradient(228deg, #F7F7F7 0%, #E6F3FB 100%);
  position: relative;
  z-index: 0;
}
.canal .c-reasons_bg {
  top: 9.7rem;
}
@media screen and (max-width: 768px) {
  .canal .c-reasons_bg {
    top: 8rem;
  }
}

.canal_inner {
  width: min(59.5rem, 100% - 6rem);
  margin-inline: auto;
  padding-block: 20.1rem 21rem;
}
@media screen and (max-width: 768px) {
  .canal_inner {
    padding-block: 12rem 14rem;
  }
}

.canal_block {
  margin-top: 6.4rem;
}
@media screen and (max-width: 768px) {
  .canal_block {
    margin-top: 5.4rem;
  }
}

.canal_img {
  width: min(50.9rem, 100%);
  height: auto;
  aspect-ratio: 509/286;
  margin-inline: auto;
  border-radius: 0.5rem;
  overflow: hidden;
}
.canal_img > img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.canal_text {
  font-size: 1.8rem;
  line-height: 2;
  margin-top: calc((1em - 1lh) / 2 + 5.8rem);
}
@supports not (top: 1lh) {
  .canal_text {
    margin-top: 5.8rem;
  }
}
@media screen and (max-width: 768px) {
  .canal_text {
    margin-top: calc((1em - 1lh) / 2 + 4.4rem);
  }
  @supports not (top: 1lh) {
    .canal_text {
      margin-top: 4.4rem;
    }
  }
  .canal_text {
    font-size: 1.6rem;
  }
}

.step {
  background-color: #f7f7f7;
}
.step .c-list_block > li {
  padding-block: 3.4rem 4.4rem;
  border-color: #ACACAC;
}
.step .c-list_block-num {
  color: #7A99A7;
}

.step_inner {
  padding-block: 13rem 21rem;
}
@media screen and (max-width: 768px) {
  .step_inner {
    padding-block: 8rem 14rem;
  }
}

.step_list {
  margin-top: 6.4rem;
}
@media screen and (max-width: 768px) {
  .step_list {
    margin-top: 5.4rem;
  }
}

.step-list_block-inner {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 5.2rem;
}
@media screen and (max-width: 768px) {
  .step-list_block-inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2.2rem;
  }
}

.retreat {
  margin-top: 14.4rem;
}
@media screen and (max-width: 768px) {
  .retreat {
    margin-top: 10rem;
  }
}
.retreat .c-self_ttl .--icon::before {
  background-color: #BAD4DF;
}
.retreat .c-self_block {
  padding: 8.2rem 11.3rem;
}
@media screen and (max-width: 768px) {
  .retreat .c-self_block {
    padding: 5rem 1.5rem;
  }
}

.retreat_block {
  display: grid;
  gap: 4.8rem;
}
@media screen and (max-width: 768px) {
  .retreat_block {
    gap: 3.8rem;
  }
}

.retreat_text {
  line-height: 2;
}

.retreat_point {
  padding: 3.8rem 4rem;
  background-color: #F2F6F8;
  border-radius: 1rem;
  display: grid;
  gap: 2.7rem;
}
@media screen and (max-width: 768px) {
  .retreat_point {
    padding: 3rem 1.5rem;
    gap: 2.2rem;
  }
}
.retreat_point .--ttl {
  font-weight: 500;
  font-size: 2rem;
  line-height: 1.7;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
  .retreat_point .--ttl {
    font-size: 1.6rem;
  }
}
.retreat_point .--text {
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .retreat_point .--text {
    line-height: 1.7;
  }
}

.canal_flow {
  background-color: #F0F7FB;
}
.canal_flow .c-flow_list-block::before {
  background-color: rgba(67, 60, 44, 0.12) !important;
}
.canal_flow .c-flow_list-ttl .--num {
  border-color: rgba(67, 60, 44, 0.12);
  color: #7A99A7;
}

.canal_flow-inner {
  padding-block: 13rem 21rem;
}
@media screen and (max-width: 768px) {
  .canal_flow-inner {
    padding-block: 8rem 14rem;
  }
}

.canal_flow-ttl .c-ttl {
  color: #7A99A7;
}