@charset "UTF-8";
/*================================================
ブレイクポイント
================================================*/
/*================================================
フォント情報
================================================*/
:root {
  --font-jp: "Noto Sans JP", sans-serif;
  --font-en: "Jost", sans-serif;
}

html {
  font-size: 2.1333333333vw;
}
@media screen and (min-width: 751px) {
  html {
    font-size: 16px;
  }
}

/*================================================
変数
================================================*/
/* 基本設定
===================================== */
body {
  color: #333;
  font-family: var(--font-jp);
  font-size: 1rem;
}

@media screen and (min-width: 751px) {
  .wrapper {
    -webkit-padding-before: 3.75rem;
            padding-block-start: 3.75rem;
    background: #F8C8D0 url(../img/pc-bg.png) repeat top center/contain;
  }
}

.main {
  max-width: 46.875rem;
  width: 100%;
  margin-inline: auto;
  background: #fff;
}
@media screen and (min-width: 751px) {
  .main {
    border-radius: 3.75rem 3.75rem 0 0;
  }
}

.left {
  position: fixed;
  top: 0;
  left: 0;
  width: calc((100% - 46.875rem) / 2);
  height: 100vh;
  z-index: 50;
}

.right {
  position: fixed;
  top: 0;
  right: 0;
  width: calc((100% - 46.875rem) / 2);
  height: 100vh;
  z-index: 50;
}

.inner {
  padding-inline: 2.5rem;
}

@media screen and (min-width: 751px) {
  .sp {
    display: none !important;
  }
}

@media screen and (max-width: 750px) {
  .pc {
    display: none !important;
  }
}

/* 共通パーツ
===================================== */
a {
  text-decoration: none;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

a:hover {
  opacity: 0.5;
}

@media screen and (min-width: 769px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}
@media screen and (max-width: 768px) {
  a[href^="tel:"] {
    text-decoration: underline;
  }
}
/*----------------------------------
    見出し
-----------------------------------*/
.section__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.section__subtitle {
  color: #f36d6c;
  text-align: center;
  font-family: var(--font-en);
  font-size: 1.5rem;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  letter-spacing: 0.05em;
}

.section__title {
  text-align: center;
  font-size: 2.5rem;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  letter-spacing: 0.05em;
  text-transform: lowercase;
}

/*----------------------------------
    ボタン
-----------------------------------*/
.btn-1 {
  display: inline-block;
  width: 100%;
  height: 6.25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #FFF;
  font-size: 2rem;
  font-style: normal;
  font-weight: 700;
  padding-right: 2.8125rem;
  border-radius: 0.625rem;
  border: 0.125rem solid #fff;
  background: #333;
  position: relative;
}
.btn-1::after {
  content: "";
  position: absolute;
  top: 2rem;
  right: 7.5rem;
  width: 2.1875rem;
  height: 2.1875rem;
  background: url(../img/btn-arrow.png) no-repeat center center/contain;
}

.btn-2 {
  display: inline-block;
  width: 100%;
  height: 4.375rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #FFF;
  font-size: 1.5rem;
  font-style: normal;
  font-weight: 700;
  padding-right: 2.1875rem;
  border-radius: 0.625rem;
  border: 0.125rem solid #fff;
  background: #333;
  position: relative;
}
.btn-2::after {
  content: "";
  position: absolute;
  top: 1.3125rem;
  right: 3.5rem;
  width: 1.5625rem;
  height: 1.5625rem;
  background: url(../img/btn-arrow.png) no-repeat center center/contain;
}

/*----------------------------------
    pc-logo, pc-cta
-----------------------------------*/
.pc-logo {
  position: relative;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 18.75rem;
}
@media screen and (max-width: 1750px) {
  .pc-logo {
    display: none;
  }
}

.pc-cta {
  position: relative;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 23.75rem;
  z-index: 100;
}
@media screen and (max-width: 1750px) {
  .pc-cta {
    display: none;
  }
}

.pc-cta__box {
  width: 23.75rem;
  border-radius: 0.9375rem;
  background: linear-gradient(145deg, #633d0d 0%, #dba530 50.1%, #97784c 92.79%);
  padding: 0.125rem;
}

.pc-cta__inner {
  padding: 3.125rem 2.5rem 1.875rem;
  border-radius: 0.9375rem;
  background: #fff;
  position: relative;
}

.pc-cta__icon {
  position: absolute;
  top: -4.0625rem;
  right: -1.25rem;
  display: inline-block;
  width: 6.5625rem;
  height: 6.5625rem;
  padding: 2.125rem 0.75rem 1.5625rem 0.8125rem;
  color: #fff;
  text-align: center;
  font-size: 1rem;
  font-weight: 900;
  line-height: normal;
  border-radius: 3.75rem 3.75rem 3.75rem 0px;
  background: linear-gradient(145deg, #633d0d 0%, #dba530 50.1%, #97784c 92.79%);
  -webkit-box-shadow: 0.3125rem 0.3125rem 0.625rem 0px rgba(51, 51, 51, 0.05);
          box-shadow: 0.3125rem 0.3125rem 0.625rem 0px rgba(51, 51, 51, 0.05);
}

.pc-cta__text {
  margin-inline: auto;
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  text-align: center;
  font-size: 1.5rem;
  font-style: normal;
  font-weight: 900;
  line-height: normal;
  letter-spacing: 0.05em;
  text-transform: lowercase;
  position: relative;
}
.pc-cta__text span {
  font-size: 2rem;
  font-style: normal;
  font-weight: 900;
  line-height: normal;
  letter-spacing: 0.05em;
  text-transform: lowercase;
}
.pc-cta__text::before {
  content: "";
  position: absolute;
  top: 0;
  left: -2.1875rem;
  width: 1.25rem;
  height: 1.6875rem;
  background: url(../img/pc-cta-left.png) no-repeat center/contain;
}
.pc-cta__text::after {
  content: "";
  position: absolute;
  top: 0;
  right: -2.1875rem;
  width: 1.25rem;
  height: 1.6875rem;
  background: url(../img/pc-cta-right.png) no-repeat center/contain;
}

.pc-cta__btn {
  -webkit-margin-before: 1.5rem;
          margin-block-start: 1.5rem;
}

/* header
===================================== */
.header {
  position: fixed;
  top: -6.875rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  max-width: 46.875rem;
  width: 100%;
  background: #f36d6c url(../img/header-bg.png) no-repeat top center/cover;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  visibility: hidden;
  z-index: 100;
}
.header.is-show {
  top: 0;
  visibility: visible;
}

.header__inner {
  padding-block: 1.875rem;
}

.header__logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.header__logo a {
  width: 16.25rem;
}

/* footer
===================================== */
.footer {
  max-width: 46.875rem;
  width: 100%;
  margin-inline: auto;
  background: #333;
}

.footer__inner {
  padding-block: 2.5rem;
}

.footer__logo {
  text-align: center;
}
.footer__logo a {
  display: inline-block;
  width: 9.375rem;
}

.footer__nav {
  -webkit-margin-before: 2.5rem;
          margin-block-start: 2.5rem;
  color: #fff;
}

.footer__nav-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1.5rem;
}

.footer__nav-item a {
  font-size: 1.25rem;
  font-weight: 500;
  line-height: normal;
  text-decoration: underline;
}

.footer__copyright {
  -webkit-margin-before: 3.75rem;
          margin-block-start: 3.75rem;
  text-align: center;
}
.footer__copyright small {
  color: #fff;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: normal;
}

/* fix-cta
===================================== */
.fix-cta {
  position: fixed;
  bottom: -7.5rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  max-width: 46.875rem;
  width: 100%;
  z-index: 100;
  background: #fff;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  visibility: hidden;
}
.fix-cta.is-show {
  bottom: 0;
  visibility: visible;
}

.fix-cta__inner {
  padding: 0.9375rem 2.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1.25rem;
}

.fix-cta__link {
  width: 18.75rem;
}

/* cta
===================================== */
.cta-top {
  background: url(../img/cta-bg.jpg) no-repeat top center/cover;
  position: relative;
}
.cta-top::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: -webkit-gradient(linear, left top, right top, color-stop(-2.6%, rgba(0, 0, 0, 0)), color-stop(28.18%, rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0.9)));
  background: linear-gradient(90deg, rgba(0, 0, 0, 0) -2.6%, rgba(0, 0, 0, 0.5) 28.18%, rgba(0, 0, 0, 0.9) 100%);
}

.cta-top__inner {
  -webkit-padding-before: 3.75rem;
          padding-block-start: 3.75rem;
  position: relative;
}

.cta__text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.625rem;
}
.cta__text span {
  color: #fff;
  text-align: center;
  font-size: 2rem;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
}
.cta__text .cta__text-large {
  font-size: 3rem;
}

.cta__wrap {
  -webkit-margin-before: 4.0625rem;
          margin-block-start: 4.0625rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2.5rem;
}

.cta__list {
  -webkit-margin-before: 0.6875rem;
          margin-block-start: 0.6875rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.625rem;
}

.cta__item {
  width: 21.25rem;
  padding: 1.5625rem 1.5625rem 1.75rem;
  border-radius: 0.625rem;
  border: 0.0625rem solid #fff;
  position: relative;
}

.cta__item-num {
  position: absolute;
  top: -0.6875rem;
  left: -0.0625rem;
  width: 4.6875rem;
  height: 2.6875rem;
}

.cta__item-text {
  text-align: center;
  color: #fff;
  font-size: 1.5rem;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
}
.cta__item-text span {
  font-size: 2rem;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
}
.cta__item-text span em {
  padding-inline: 0.3125rem;
  display: inline-block;
  font-family: var(--font-en);
  font-size: 3.5rem;
  font-style: normal;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.05em;
}
.cta__item-text span em span {
  font-size: 2.5rem;
}

.cta__image {
  width: 14.6875rem;
  position: relative;
}

.cta__image-icon {
  position: absolute;
  top: -1.25rem;
  right: -3.125rem;
  display: inline-block;
  width: 8.125rem;
  height: 8.125rem;
  padding: 2.6875rem 0.9375rem 1.8125rem;
  color: #fff;
  text-align: center;
  font-size: 1.25rem;
  font-weight: 900;
  line-height: normal;
  border-radius: 3.75rem 3.75rem 3.75rem 0px;
  background: linear-gradient(145deg, #633d0d 0%, #dba530 50.1%, #97784c 92.79%);
  -webkit-box-shadow: 0.3125rem 0.3125rem 0.625rem 0px rgba(51, 51, 51, 0.05);
          box-shadow: 0.3125rem 0.3125rem 0.625rem 0px rgba(51, 51, 51, 0.05);
}

.cta-bottom__inner {
  padding: 2.5rem;
  background: #fdfbf7;
}

/* mv
===================================== */
.mv {
  background: url(../img/mv-bg.png) no-repeat top center/cover;
  position: relative;
}
@media screen and (min-width: 751px) {
  .mv {
    border-radius: 3.75rem 3.75rem 0 0;
  }
}
.mv::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: -webkit-gradient(linear, left top, right top, color-stop(28.8%, rgba(0, 0, 0, 0)), color-stop(56.16%, rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0.9)));
  background: linear-gradient(90deg, rgba(0, 0, 0, 0) 28.8%, rgba(0, 0, 0, 0.5) 56.16%, rgba(0, 0, 0, 0.9) 100%);
}
@media screen and (min-width: 751px) {
  .mv::before {
    border-radius: 3.75rem 3.75rem 0 0;
  }
}

.mv__inner {
  padding: 6.25rem 4.375rem 0 22.5rem;
  position: relative;
}

.mv__heading {
  width: 20rem;
}

.mv__title {
  color: #fff;
  text-align: center;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: normal;
}

.mv__logo {
  margin: 1rem auto 0;
  width: 15.625rem;
}

.mv__image {
  margin: 3.75rem auto 0;
  width: 14.6875rem;
  position: relative;
}

.mv__image-icon {
  position: absolute;
  top: -1.25rem;
  right: -4.5625rem;
  display: inline-block;
  width: 8.125rem;
  height: 8.125rem;
  padding: 2.6875rem 0.9375rem 1.8125rem;
  color: #fff;
  text-align: center;
  font-size: 1.25rem;
  font-weight: 900;
  line-height: normal;
  border-radius: 3.75rem 3.75rem 3.75rem 0px;
  background: linear-gradient(145deg, #633d0d 0%, #dba530 50.1%, #97784c 92.79%);
  -webkit-box-shadow: 0.3125rem 0.3125rem 0.625rem 0px rgba(51, 51, 51, 0.05);
          box-shadow: 0.3125rem 0.3125rem 0.625rem 0px rgba(51, 51, 51, 0.05);
}

/* about
===================================== */
.about__inner {
  -webkit-padding-before: 5rem;
          padding-block-start: 5rem;
}

.about__box {
  padding: 3.75rem 2.5rem;
  border: 0.0625rem solid #714a11;
  background: #fdfbf7;
  position: relative;
}
.about__box::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 3.75rem;
  background: url(../img/about-box-top.png) no-repeat top center/cover;
}
.about__box::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 3.75rem;
  background: url(../img/about-box-bottom.png) no-repeat top center/cover;
}

.about__text-wrap {
  -webkit-margin-before: 2.5rem;
          margin-block-start: 2.5rem;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.5rem;
}

.about__text {
  font-size: 1.5rem;
  font-style: normal;
  font-weight: 500;
  line-height: 1.8;
}
.about__text strong {
  font-size: 2rem;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
}
.about__text strong span {
  color: #f36d6c;
  font-size: 2rem;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
}
.about__text strong em {
  color: #f36d6c;
  font-family: var(--font-en);
  font-size: 3.5rem;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  letter-spacing: -0.05em;
}
.about__text strong em span {
  color: #f36d6c;
  font-family: var(--font-en);
  font-size: 1.5rem;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  letter-spacing: -0.05em;
}
.about__text strong .marker {
  background: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(60%, transparent), color-stop(60%, #e0f4fe), to(#e0f4fe));
  background: linear-gradient(180deg, transparent 0%, transparent 60%, #e0f4fe 60%, #e0f4fe 100%);
}

.about__frame {
  -webkit-margin-before: 4.5625rem;
          margin-block-start: 4.5625rem;
  padding: 3.5625rem 1.5625rem 1.5625rem;
  border-radius: 0.9375rem;
  border: 0.1875rem solid #f36d6c;
  background: #fff;
  position: relative;
}

.about__frame-title {
  position: absolute;
  top: -2.0625rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  display: inline-block;
  width: 23.75rem;
  height: 4.0625rem;
  padding: 0.5625rem 0 0.625rem;
  text-align: center;
  color: #fff;
  font-size: 2rem;
  font-style: normal;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: lowercase;
  border-radius: 62.4375rem;
  background: #f36d6c;
}

/* choice
===================================== */
.choice__inner {
  padding-block: 5rem;
}

.choice__boxes {
  -webkit-margin-before: 8.4375rem;
          margin-block-start: 8.4375rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8.4375rem;
}

.choice__box {
  border-radius: 2.5rem;
  background: linear-gradient(145deg, #633d0d 0%, #dba530 50.1%, #97784c 92.79%);
  padding: 0.25rem;
  position: relative;
}

.choice__box-inner {
  background: #fff;
  border-radius: 2.5rem;
}

.choice__box-num {
  position: absolute;
  top: -5.5rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 6.25rem;
}

.choice__box-image {
  border-radius: 2.5rem;
}
.choice__box-image img {
  border-radius: 2.5rem 2.5rem 0 0;
}

.choice__box-body {
  padding: 2.5rem;
  text-align: center;
}

.choice__box-heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.875rem;
}

.choice__box-title {
  margin-inline: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 1.5rem;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  letter-spacing: 0.05em;
  text-transform: lowercase;
  padding-inline: 1.75rem;
  position: relative;
}
.choice__box-title::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 1.125rem;
  height: 0.1875rem;
  background: #333;
  rotate: 45deg;
}
.choice__box-title::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 1.125rem;
  height: 0.1875rem;
  background: #333;
  rotate: -45deg;
}

.choice__box-image-text-01 {
  margin-inline: auto;
  width: 22.8125rem;
}

.choice__box-image-text-02 {
  margin-inline: auto;
  width: 27.9375rem;
}

.choice__box-point-wrap {
  -webkit-margin-before: 2.5rem;
          margin-block-start: 2.5rem;
  width: 100%;
  height: 4.375rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #f7d0d2;
  position: relative;
}
.choice__box-point-wrap::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 0.1875rem;
  background: url(../img/choice-line.png) no-repeat top center/cover;
}
.choice__box-point-wrap::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0.1875rem;
  background: url(../img/choice-line.png) no-repeat bottom center/cover;
}

.choice__box-point {
  color: #f36d6c;
  font-size: 2rem;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  text-transform: lowercase;
}

.choice__box-text {
  -webkit-margin-before: 1.5rem;
          margin-block-start: 1.5rem;
  font-size: 1.5rem;
  font-style: normal;
  font-weight: 500;
  line-height: 1.8;
}

.choice__box-steps {
  -webkit-margin-before: 4rem;
          margin-block-start: 4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.5625rem;
}

.choice__box-step {
  width: 11.25rem;
  height: 11.25rem;
  border-radius: 50%;
  position: relative;
}

.choice__step-num {
  position: absolute;
  top: -1.5rem;
  left: 0;
  padding: 1rem 1rem 0.6875rem 1.1875rem;
  width: 5rem;
  height: 5rem;
  font-family: var(--font-en);
  font-size: 1rem;
  font-style: normal;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.05em;
  border-radius: 3.75rem 3.75rem 0 3.75rem;
  background: #fff;
}
.choice__step-num span {
  font-family: var(--font-en);
  font-size: 2rem;
  font-style: normal;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.05em;
}

.choice__step-text {
  color: #fff;
  font-size: 1.5rem;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  letter-spacing: -0.05em;
  text-transform: lowercase;
}

.choice__step01 {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 50%;
  background: #f29897;
  position: relative;
}
.choice__step01::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -1.25rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 0.9375rem;
  height: 1.5625rem;
  background: url(../img/choice-arrow-01.png) no-repeat center center/contain;
}
.choice__step01 .choice__step-num {
  color: #f36d6c;
  border: 0.1875rem solid #f36d6c;
}
.choice__step01 .choice__step-num span {
  color: #f36d6c;
}

.choice__step02 {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 50%;
  background: #f38584;
  position: relative;
}
.choice__step02::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -1.25rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 0.9375rem;
  height: 1.5625rem;
  background: url(../img/choice-arrow-02.png) no-repeat center center/contain;
}
.choice__step02 .choice__step-num {
  color: #f36d6c;
  border: 0.1875rem solid #f36d6c;
}
.choice__step02 .choice__step-num span {
  color: #f36d6c;
}

.choice__step03 {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 50%;
  background: #f36d6c;
}
.choice__step03 .choice__step-num {
  color: #f36d6c;
  border: 0.1875rem solid #f36d6c;
}
.choice__step03 .choice__step-num span {
  color: #f36d6c;
}

/* reason
===================================== */
.reason__inner {
  padding-block: 5rem 6.25rem;
}

.reason__cards {
  -webkit-margin-before: 2.5rem;
          margin-block-start: 2.5rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25rem;
}

.reason__card-num {
  margin-inline: auto;
  width: 7.5rem;
}

.reason__card-image {
  margin: 0.625rem auto 0;
  width: 18.75rem;
  border-radius: 0.9375rem;
}
.reason__card-image img {
  border-radius: 0.9375rem;
}

.reason__card-body {
  -webkit-margin-before: -5.625rem;
          margin-block-start: -5.625rem;
  padding: 7.1875rem 1.5625rem 1.5625rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
  border-radius: 0.9375rem;
  background: #f36d6c;
}

.reason__card-title {
  color: #fff;
  text-align: center;
  font-size: 1.75rem;
  font-style: normal;
  font-weight: 700;
  line-height: 1.2;
  text-transform: lowercase;
  white-space: nowrap;
}

.reason__card-text {
  color: #fff;
  text-align: center;
  font-size: 1.25rem;
  font-style: normal;
  font-weight: 500;
  line-height: 1.8;
}

.reason__text-wrap {
  -webkit-margin-before: 2.125rem;
          margin-block-start: 2.125rem;
  position: relative;
}
.reason__text-wrap::after {
  content: "";
  position: absolute;
  bottom: -6.875rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 3.125rem;
  height: 5.625rem;
  background: url(../img/reason-arrow.png) no-repeat center center/contain;
  z-index: 2;
}

.reason__text-en {
  margin-inline: auto;
  width: 37.125rem;
}

.reason__text {
  -webkit-margin-before: -2rem;
          margin-block-start: -2rem;
  color: #f36d6c;
  text-align: center;
  font-size: 2.5rem;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  text-transform: lowercase;
}

/* comparison
===================================== */
.comparison__inner {
  padding-block: 5rem;
  background: #fdfbf7;
}

.comparison__text {
  margin: 1rem auto 0;
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  padding-inline: 1.75rem;
  text-align: center;
  font-size: 1.5rem;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  letter-spacing: 0.05em;
  text-transform: lowercase;
  background: linear-gradient(145deg, #633d0d 0%, #dba530 50.1%, #97784c 92.79%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  position: relative;
}
.comparison__text::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 1.125rem;
  height: 0.1875rem;
  rotate: 45deg;
  background: #cb9a37;
}
.comparison__text::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 1.125rem;
  height: 0.1875rem;
  rotate: -45deg;
  background: #cb9a37;
}

.comparison__table {
  -webkit-margin-before: 2.5rem;
          margin-block-start: 2.5rem;
}

/* voice
===================================== */
.voice__inner {
  padding-block: 5.25rem 5rem;
}

.voice__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.voice__subtitile {
  text-align: center;
  font-size: 1.75rem;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  letter-spacing: 0.05em;
  text-transform: lowercase;
  background: linear-gradient(145deg, #633d0d 0%, #dba530 50.1%, #97784c 92.79%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  position: relative;
}
.voice__subtitile::before {
  content: "";
  position: absolute;
  top: 1.1875rem;
  left: -1.5625rem;
  width: 1.4375rem;
  height: 1.5rem;
  background: url(../img/voice-heading-left.png) no-repeat center center/contain;
}
.voice__subtitile::after {
  content: "";
  position: absolute;
  top: -0.25rem;
  right: -0.9375rem;
  width: 1.5rem;
  height: 1.3125rem;
  background: url(../img/voice-heading-right.png) no-repeat center center/contain;
}

.voice__list {
  -webkit-margin-before: 2.5rem;
          margin-block-start: 2.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.5rem;
}

.voice__item {
  border-radius: 0.9375rem;
  background: linear-gradient(145deg, #633d0d 0%, #dba530 50.1%, #97784c 92.79%);
  padding: 0.25rem;
  position: relative;
}

.voice__item-inner {
  background: #fdfbf7;
  border-radius: 0.9375rem;
}

.voice__item-wrap {
  padding: 1.5625rem 1.5625rem 1.5rem 1.5625rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.25rem;
}

.voice__item-image {
  width: 13.125rem;
  height: 13.125rem;
  border-radius: 6.25rem 6.25rem 0 6.25rem;
}
.voice__item-image img {
  border-radius: 6.25rem 6.25rem 0 6.25rem;
}

.voice__item-meta {
  -webkit-margin-before: 0.75rem;
          margin-block-start: 0.75rem;
  width: calc(100% - 13.125rem - 1.25rem);
}

.voice__item-name-wrap {
  padding: 0.8125rem 0.625rem;
  background: #f7d0d2;
  position: relative;
}
.voice__item-name-wrap::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 0.125rem;
  background: url(../img/voice-name-line.png) no-repeat center center/contain;
}
.voice__item-name-wrap::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0.125rem;
  background: url(../img/voice-name-line.png) no-repeat center center/contain;
}

.voice__item-name {
  color: #f36d6c;
  font-size: 1.25rem;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  text-transform: lowercase;
}

.voice__item-calculation {
  -webkit-margin-before: 1rem;
          margin-block-start: 1rem;
  font-size: 1.75rem;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  text-transform: lowercase;
}

.voice__item-sum {
  font-size: 1.5rem;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  text-transform: lowercase;
}
.voice__item-sum em {
  font-family: var(--font-en);
  font-size: 3rem;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  background: linear-gradient(145deg, #633d0d 0%, #dba530 50.1%, #97784c 92.79%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.voice__item-sum em span {
  font-family: var(--font-en);
  font-size: 2rem;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
}
.voice__item-sum span {
  font-size: 2rem;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  text-transform: lowercase;
  background: linear-gradient(145deg, #633d0d 0%, #dba530 50.1%, #97784c 92.79%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.voice__item-body {
  padding: 1.25rem;
  background: url(../img/voice-body-bg.png) no-repeat center center/cover;
}

.voice__item-text {
  font-size: 1.5rem;
  font-style: normal;
  line-height: 1.8;
}

/* flow
===================================== */
.flow__inner {
  padding-block: 5rem;
  background: #f36d6c;
}

.flow__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.flow__subtitle {
  color: #fff;
  text-align: center;
  font-family: var(--font-en);
  font-size: 1.5rem;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  letter-spacing: 0.05em;
}

.flow__title {
  color: #fff;
  text-align: center;
  font-size: 2.5rem;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  letter-spacing: 0.05em;
}

.flow__steps {
  -webkit-margin-before: 4.25rem;
          margin-block-start: 4.25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.flow__step {
  -webkit-margin-after: 6.625rem;
          margin-block-end: 6.625rem;
  position: relative;
}
.flow__step::after {
  content: "";
  position: absolute;
  bottom: -5.0625rem;
  left: 6.1875rem;
  width: 1.5625rem;
  height: 3.5rem;
  background: url(../img/flow-arrow-01.png) no-repeat center center/contain;
}

.flow__step-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.25rem;
}

.flow__step-image {
  width: 13.4375rem;
  position: relative;
}

.flow__step-num {
  position: absolute;
  top: -1.75rem;
  left: 0;
  width: 5rem;
  height: 5rem;
  padding: 1.125rem 1.0625rem 0.8125rem 1.1875rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  text-align: center;
  font-family: var(--font-en);
  font-size: 1rem;
  font-style: normal;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.05em;
  border-radius: 3.75rem 3.75rem 0 3.75rem;
  background: linear-gradient(-145deg, #633d0d 0%, #dba530 50.1%, #97784c 92.79%);
}
.flow__step-num span {
  font-family: var(--font-en);
  font-size: 2rem;
  font-style: normal;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.05em;
}

.flow__step-content {
  -webkit-margin-before: 0.6875rem;
          margin-block-start: 0.6875rem;
  width: calc(100% - 13.4375rem - 1.25rem);
}

.flow__step-title {
  color: #fff;
  font-size: 2rem;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  text-transform: lowercase;
}

.flow__step-text {
  -webkit-margin-before: 1rem;
          margin-block-start: 1rem;
  color: #fff;
  font-size: 1.5rem;
  font-style: normal;
  font-weight: 500;
  line-height: 1.8;
}
.flow__step-text + .flow__step-text {
  -webkit-margin-before: 2.5rem;
          margin-block-start: 2.5rem;
}

.flow__step--03 {
  -webkit-margin-after: 6.875rem;
          margin-block-end: 6.875rem;
}
.flow__step--03::after {
  bottom: -3.5625rem;
  left: 6.1875rem;
  width: 1.5625rem;
  height: 11.9375rem;
  background: url(../img/flow-arrow-02.png) no-repeat center center/contain;
}

.flow__step--04 {
  -webkit-margin-after: 4.75rem;
          margin-block-end: 4.75rem;
}
.flow__step--04::after {
  bottom: -3.1875rem;
  left: 6.1875rem;
  width: 1.5625rem;
  height: 3.5rem;
  background: url(../img/flow-arrow-01.png) no-repeat center center/contain;
}

.flow__step--05 {
  -webkit-margin-after: 0;
          margin-block-end: 0;
}
.flow__step--05::after {
  display: none;
}

.flow__cta {
  -webkit-margin-before: 5rem;
          margin-block-start: 5rem;
}

.flow__cta-box {
  padding: 2.75rem 3rem 0 2.5rem;
  background: url(../img/flow-cta-bg.jpg) no-repeat top center/cover;
  border-radius: 0.9375rem;
  position: relative;
}
.flow__cta-box::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: -webkit-gradient(linear, left top, right top, color-stop(-2.6%, rgba(0, 0, 0, 0)), color-stop(28.18%, rgba(0, 0, 0, 0.3)), to(rgba(0, 0, 0, 0.54)));
  background: linear-gradient(90deg, rgba(0, 0, 0, 0) -2.6%, rgba(0, 0, 0, 0.3) 28.18%, rgba(0, 0, 0, 0.54) 100%);
  border-radius: 0.9375rem;
}

.flow__cta-inner {
  position: relative;
}

.flow__cta-text {
  margin-inline: auto;
  padding-inline: 2.0625rem;
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  color: #fff;
  text-align: center;
  font-size: 2.5rem;
  font-style: normal;
  font-weight: 900;
  line-height: normal;
  letter-spacing: 0.05em;
  text-transform: lowercase;
  position: relative;
}
.flow__cta-text span {
  color: #fff;
  font-size: 3rem;
  font-style: normal;
  font-weight: 900;
  line-height: normal;
  letter-spacing: 0.05em;
  text-transform: lowercase;
}
.flow__cta-text::before {
  content: "";
  position: absolute;
  top: -0.25rem;
  left: 0;
  width: 1.75rem;
  height: 2.375rem;
  background: url(../img/flow-cta-deco-left.png) no-repeat center center/contain;
}
.flow__cta-text::after {
  content: "";
  position: absolute;
  top: -0.25rem;
  right: 0;
  width: 1.75rem;
  height: 2.375rem;
  background: url(../img/flow-cta-deco-right.png) no-repeat center center/contain;
}

.flow__cta-wrap {
  -webkit-margin-before: 3.0625rem;
          margin-block-start: 3.0625rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2.5rem;
}

.flow__cta-image {
  width: 15rem;
  position: relative;
}

.flow__cta-image-icon {
  position: absolute;
  top: -1.5625rem;
  right: -3.125rem;
  display: inline-block;
  width: 8.125rem;
  height: 8.125rem;
  padding: 2.6875rem 0.9375rem 1.8125rem;
  color: #fff;
  text-align: center;
  font-size: 1.25rem;
  font-weight: 900;
  line-height: normal;
  border-radius: 3.75rem 3.75rem 3.75rem 0px;
  background: linear-gradient(145deg, #633d0d 0%, #dba530 50.1%, #97784c 92.79%);
  -webkit-box-shadow: 0.3125rem 0.3125rem 0.625rem 0px rgba(51, 51, 51, 0.05);
          box-shadow: 0.3125rem 0.3125rem 0.625rem 0px rgba(51, 51, 51, 0.05);
}

.flow__cta-btn {
  -webkit-margin-before: 8.125rem;
          margin-block-start: 8.125rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
}

.flow__cta-btn-text {
  color: #FFF;
  text-align: center;
  font-size: 1.5rem;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  padding-inline: 1.875rem;
  position: relative;
}
.flow__cta-btn-text::before {
  content: "";
  position: absolute;
  bottom: 0.875rem;
  left: 0;
  width: 1.5rem;
  height: 0.125rem;
  background: #fff;
  rotate: 45deg;
}
.flow__cta-btn-text::after {
  content: "";
  position: absolute;
  bottom: 0.875rem;
  right: 0;
  width: 1.5rem;
  height: 0.125rem;
  background: #fff;
  rotate: -45deg;
}

.flow-cta-btn {
  display: inline-block;
  width: 100%;
  height: 4.375rem;
  padding-right: 2.25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #FFF;
  font-size: 1.5rem;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  border-radius: 0.625rem;
  border: 0.125rem solid #fff;
  background: #333;
  position: relative;
}
.flow-cta-btn::before {
  content: "";
  position: absolute;
  top: 1.3125rem;
  right: 3.5rem;
  width: 1.5625rem;
  height: 1.5625rem;
  background: url(../img/btn-arrow.png) no-repeat center center/contain;
}

/* faq
===================================== */
.faq__inner {
  padding-block: 5rem 6.25rem;
}

.faq__list {
  -webkit-margin-before: 2.5rem;
          margin-block-start: 2.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.5rem;
}

.faq__item {
  position: relative;
}
.faq__item::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 100%;
  height: 0.25rem;
  background: url(../img/faq-line.png) no-repeat center center/cover;
}

.faq__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.9375rem;
}

.faq__head-icon {
  width: 4.0625rem;
  height: 4.0625rem;
  padding: 0.375rem 0.9375rem 0.0625rem 1.0625rem;
  color: #fff;
  font-family: var(--font-en);
  font-size: 2.5rem;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  text-transform: uppercase;
  border-radius: 3.75rem 3.75rem 0 3.75rem;
  background: #f36d6c;
}

.faq__head-text {
  -webkit-padding-before: 0.75rem;
          padding-block-start: 0.75rem;
  color: #f36d6c;
  font-size: 2rem;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  text-transform: lowercase;
}

.faq__body {
  padding-block: 1.5rem 2.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.9375rem;
}

.faq__body-icon {
  width: 4.0625rem;
  height: 4.0625rem;
  padding: 0.1875rem 0.875rem 0.0625rem 1.0625rem;
  color: #f36d6c;
  font-family: var(--font-en);
  font-size: 2.5rem;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  text-transform: uppercase;
  border-radius: 3.75rem 3.75rem 0 3.75rem;
  border: 0.1875rem solid #f36d6c;
  background: #f3fbff;
}

.faq__body-text {
  font-size: 1.5rem;
  font-style: normal;
  font-weight: 500;
  line-height: 1.8;
  text-transform: lowercase;
}