.p-home-fv {
  position: relative;
  overflow: hidden;
  padding-bottom: 72px;
}
@media screen and (max-width: 767.9px) {
  .p-home-fv {
    padding-bottom: 0;
    height: 100vh;
    height: 100svh;
  }
}
.p-home-fv::before {
  content: "";
  background: url(../img/bg_fv_blur--beige.svg) no-repeat center center/cover;
  position: absolute;
  width: 606px;
  height: 609.395px;
  left: calc(50% - 721px);
  top: 0;
  z-index: -9;
}
.p-home-fv::after {
  content: "";
  background: url(../img/bg_fv_blur--orange.svg) no-repeat center center/cover;
  position: absolute;
  width: 360px;
  height: 363px;
  left: calc(50% + 424px);
  z-index: 1;
  top: 0;
  z-index: -9;
}

.p-home-fv__upper {
  position: relative;
  z-index: -10;
  background-color: #fefbed;
  padding-top: 164px;
}
@media screen and (max-width: 767.9px) {
  .p-home-fv__upper {
    padding-top: 124px;
  }
}

.p-home-fv__decoration--top {
  position: relative;
  height: clamp(3.125rem, -0.4364784547rem + 7.4294205052vw, 6.25rem);
}
.p-home-fv__decoration--top::before {
  content: "";
  background: url(../img/img_fv-bird--left.svg) no-repeat center center/cover;
  position: absolute;
  width: 3.45%;
  height: 46%;
  left: 8.75%;
  top: 19%;
}
@media screen and (max-width: 767.9px) {
  .p-home-fv__decoration--top::before {
    width: 28px;
    height: 28px;
    top: 0;
  }
}
.p-home-fv__decoration--top::after {
  content: "";
  background: url(../img/img_fv-bird--right.svg) no-repeat center center/cover;
  position: absolute;
  width: 3.97%;
  height: 53%;
  right: 10.22%;
  top: 34%;
}
@media screen and (max-width: 767.9px) {
  .p-home-fv__decoration--top::after {
    width: 30px;
    height: 30px;
    bottom: 0;
  }
}

.p-home-fv__content {
  margin-top: calc(clamp(3.125rem, -0.4364784547rem + 7.4294205052vw, 6.25rem) * -1);
  z-index: 1;
  position: relative;
}
@media screen and (max-width: 767.9px) {
  .p-home-fv__content {
    max-width: none;
    padding: 0;
    margin-top: 0;
  }
}

.p-home-fv__image-wrapper {
  position: relative;
}
.p-home-fv__image-wrapper::before {
  content: "";
  background: url(../img/img_fv-flower--left@2x.png) no-repeat center center/cover;
  position: absolute;
  width: 22.42%;
  height: 35.38%;
  left: 6.875%;
  bottom: -13.58%;
  z-index: 1;
}
@media screen and (max-width: 767.9px) {
  .p-home-fv__image-wrapper::before {
    width: 37.33vw;
    height: 29.86vw;
    left: 0;
    bottom: -15%;
  }
}
.p-home-fv__image-wrapper::after {
  content: "";
  background: url(../img/img_fv-flower--right@2x.png) no-repeat center center/cover;
  position: absolute;
  width: 18.98%;
  height: 37.12%;
  right: 4.45%;
  bottom: -15.63%;
  z-index: 1;
}
@media screen and (max-width: 767.9px) {
  .p-home-fv__image-wrapper::after {
    width: 32.53vw;
    height: 31.46vw;
    right: 0;
    bottom: -10%;
  }
}

.p-home-fv__image-bg {
  position: absolute;
  left: 50%;
  translate: -50% 0;
  width: 84.21%;
  z-index: -5;
}

.p-home-fv__image-bg--pink {
  left: calc(50% - 34px);
  translate: -50% 0;
  top: -12px;
}
@media screen and (max-width: 767.9px) {
  .p-home-fv__image-bg--pink {
    width: 100%;
    left: 50%;
    overflow: hidden;
    height: calc(100vh - (174px + 26.6vw + 10vw));
    height: calc(100svh - (174px + 26.6vw + 10vw));
  }
  .p-home-fv__image-bg--pink img {
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: calc(50% - 34px);
       object-position: calc(50% - 34px);
  }
}

.p-home-fv__image-bg--orange {
  left: calc(50% + 26px);
  translate: -50% 0;
  top: 31px;
}
@media screen and (max-width: 767.9px) {
  .p-home-fv__image-bg--orange {
    width: 100%;
    left: 50%;
    overflow: hidden;
    height: calc(100vh - (174px + 26.6vw + 10vw));
    height: calc(100svh - (174px + 26.6vw + 10vw));
    top: 20px;
  }
  .p-home-fv__image-bg--orange img {
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: calc(50% + 26px);
       object-position: calc(50% + 26px);
  }
}

.p-home-fv__image {
  width: 84.21%;
  margin-inline: auto;
}
@media screen and (max-width: 767.9px) {
  .p-home-fv__image {
    width: 100%;
    overflow: hidden;
    height: calc(100vh - (174px + 26.6vw + 10vw));
    height: calc(100svh - (174px + 26.6vw + 10vw));
  }
  .p-home-fv__image img {
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}

.p-home-fv__message {
  position: absolute;
  right: 17.42%;
  top: 17.06%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  z-index: 1;
}
@media screen and (max-width: 767.9px) {
  .p-home-fv__message {
    left: 20px;
    top: 65%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.p-home-fv__text {
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  color: #fff;
  text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.25);
  font-size: clamp(1.25rem, -0.0321322437rem + 2.6745913819vw, 2.375rem);
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 767.9px) {
  .p-home-fv__text {
    -webkit-writing-mode: horizontal-tb;
        -ms-writing-mode: lr-tb;
            writing-mode: horizontal-tb;
    font-size: clamp(1.125rem, -0.0707908163rem + 5.1020408163vw, 2.375rem);
  }
}

.p-home-fv__text01 {
  display: inline-block;
  position: relative;
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.2em;
}
.p-home-fv__text01::before {
  content: "";
  background: url(../img/img_fv_lead_dotted-line01.png) no-repeat center center/cover;
  position: absolute;
  width: clamp(0.125rem, -0.0174591382rem + 0.2971768202vw, 0.25rem);
  height: 100%;
  right: -0.2em;
  top: 0;
}
@media screen and (max-width: 767.9px) {
  .p-home-fv__text01::before {
    background: url(../img/img_fv_lead_dotted-line01--sp.png) no-repeat center center/cover;
    bottom: 0;
    left: 0;
    right: auto;
    width: 100%;
    height: 2px;
    bottom: 0;
    top: auto;
  }
}

.p-home-fv__text--orange {
  color: var(--accent-color-primary);
  text-shadow: 0px 0px 20px #fff, 0px 0px 20px #fff, 0px 0px 20px #fff, 0px 0px 20px #fff, 0px 0px 20px #fff, 0px 0px 20px #fff;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.2em;
}

.p-home-fv__text02 {
  display: inline-block;
  position: relative;
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 767.9px) {
  .p-home-fv__text02 {
    text-shadow: 0px 0px 10px #000;
  }
}
.p-home-fv__text02::before, .p-home-fv__text02::after {
  content: "";
  background: url(../img/img_fv_lead_dotted-line02.png) no-repeat center center/cover;
  position: absolute;
  width: clamp(0.125rem, -0.0174591382rem + 0.2971768202vw, 0.25rem);
  height: 103%;
  top: 0;
}
@media screen and (max-width: 767.9px) {
  .p-home-fv__text02::before, .p-home-fv__text02::after {
    background: url(../img/img_fv_lead_dotted-line02--sp.png) no-repeat center center/cover;
    top: auto;
    bottom: -0.1em;
    left: 0;
    right: auto;
    width: 105%;
    height: 2px;
  }
}
.p-home-fv__text02::before {
  right: -0.2em;
}
.p-home-fv__text02::after {
  left: -0.1em;
}
@media screen and (max-width: 767.9px) {
  .p-home-fv__text02::after {
    display: none;
  }
}

.p-home-fv__text--bg_orange {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: clamp(1.625rem, -0.0845096582rem + 3.5661218425vw, 3.125rem);
  height: clamp(1.625rem, -0.0845096582rem + 3.5661218425vw, 3.125rem);
  border-radius: 50%;
  text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.25);
  background: #ffb735;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.2em;
  margin-top: -0.61em;
  padding-top: 0.2em;
}
@media screen and (max-width: 767.9px) {
  .p-home-fv__text--bg_orange {
    width: clamp(1.625rem, 0.1900510204rem + 6.1224489796vw, 3.125rem);
    height: clamp(1.625rem, 0.1900510204rem + 6.1224489796vw, 3.125rem);
    padding-top: 0;
    margin-top: 0;
    margin-left: -0.4em;
    text-align: center;
    padding-left: 0.2em;
  }
}

.p-home-fv__subtext {
  margin-right: clamp(0.625rem, 0.0551634473rem + 1.1887072808vw, 1.125rem);
  margin-top: clamp(3.125rem, -0.4364784547rem + 7.4294205052vw, 6.25rem);
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  color: #fff;
  text-shadow: 0px 0px 10px #000;
  font-size: clamp(0.75rem, 0.0377043091rem + 1.485884101vw, 1.375rem);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.18em;
}
@media screen and (max-width: 767.9px) {
  .p-home-fv__subtext {
    -webkit-writing-mode: horizontal-tb;
        -ms-writing-mode: lr-tb;
            writing-mode: horizontal-tb;
    font-size: clamp(0.75rem, 0.1521045918rem + 2.5510204082vw, 1.375rem);
    margin-right: 0;
    margin-top: 1em;
  }
}

.p-home-fv__people {
  background: url(../img/img_fv-people@2x.png) no-repeat center center/cover;
  position: absolute;
  right: 13.75%;
  width: 21.25%;
  height: 31.43%;
  bottom: -21.48%;
  z-index: 2;
}
@media screen and (max-width: 767.9px) {
  .p-home-fv__people {
    width: 54.4vw;
    max-width: 272px;
    height: 40vw;
    max-height: 199px;
    right: 20px;
    bottom: calc(clamp(8rem, 3.6951530612rem + 18.3673469388vw, 12.5rem) * -1);
  }
}

.p-home-fv__bottom {
  margin-top: -83px;
  width: 100%;
  height: 204px;
  background: url(../img/bg_fv_bottom.png) no-repeat bottom center/cover;
  z-index: -11;
  position: relative;
}
@media screen and (max-width: 767.9px) {
  .p-home-fv__bottom {
    height: 26.6vw;
    margin-top: 0;
  }
}

.p-home-about {
  margin-top: -4.5rem;
  text-align: center;
  overflow: hidden;
}
@media screen and (max-width: 767.9px) {
  .p-home-about {
    margin-top: 5rem;
  }
}

.p-home-about__decoration {
  position: relative;
}
.p-home-about__decoration::before, .p-home-about__decoration::after {
  content: "";
  background: url(../img/bg_about_deco-circle--pink.svg) no-repeat center center/cover;
  position: absolute;
  width: 380px;
  height: 380px;
}
.p-home-about__decoration::before {
  top: 0.5rem;
  left: calc(50% + 450px);
}
.p-home-about__decoration::after {
  top: 366px;
  left: calc(50% - 843px);
}

.p-home-about__title-en {
  margin-top: 0.1875rem;
}

.p-home-about__lead {
  margin-top: clamp(1.6875rem, -0.2356983655rem + 4.0118870728vw, 3.375rem);
  font-size: clamp(1.25rem, 0.1815564636rem + 2.2288261516vw, 2.1875rem);
  font-weight: 700;
  line-height: 1.8;
  color: var(--text-color-second);
}
@media screen and (max-width: 767.9px) {
  .p-home-about__lead {
    font-size: clamp(1rem, 0.7608418367rem + 1.0204081633vw, 1.25rem);
  }
}

.p-home-about__emphasis {
  color: var(--accent-color-primary);
  font-weight: 700;
}

.p-home-about__emphasis--01 {
  border-bottom: 5px dotted currentColor;
}

.p-home-about__text {
  margin-top: clamp(1.6875rem, -0.2356983655rem + 4.0118870728vw, 3.375rem);
  font-size: clamp(0.875rem, 0.5900817236rem + 0.5943536404vw, 1.125rem);
  font-weight: 500;
  line-height: 2;
  color: var(--text-color-second);
}
@media screen and (max-width: 767.9px) {
  .p-home-about__text {
    padding: 0 20px;
    margin-bottom: 2rem;
    font-size: clamp(0.875rem, 0.7554209184rem + 0.5102040816vw, 1rem);
    line-height: 1.8;
    text-align: left;
  }
}

.p-home-about .c-button {
  margin-top: clamp(1.5rem, -0.2095096582rem + 3.5661218425vw, 3rem);
}
.p-home-about__illustration {
  max-width: 980px;
  margin-inline: auto;
  margin-top: clamp(1rem, 0.0027860327rem + 2.0802377415vw, 1.875rem);
}
@media screen and (max-width: 767.9px) {
  .p-home-about__illustration {
    margin-top: 2.5rem;
    padding: 0 20px;
  }
}

.p-home-feature {
  padding-top: 6.0625rem;
  position: relative;
  background: url(../img/bg_feature.png) no-repeat bottom center/cover;
  text-align: center;
  overflow: hidden;
}

.p-home-feature__container {
  position: relative;
}

.p-home-feature__title-en {
  margin-top: 1.375rem;
}

.p-home-feature__lead {
  margin-top: 1.375rem;
  font-size: clamp(0.875rem, 0.7325408618rem + 0.2971768202vw, 1rem);
  font-weight: 500;
  line-height: 2;
  color: var(--text-color-second);
  text-align: left;
  margin-inline: auto;
  display: inline-block;
}
@media screen and (max-width: 767.9px) {
  .p-home-feature__lead {
    font-size: clamp(0.875rem, 0.7554209184rem + 0.5102040816vw, 1rem);
  }
}

.p-home-feature__decoration--top {
  position: relative;
}
.p-home-feature__decoration--top::after {
  content: "";
  background: url(../img/img_feature-bird--left.svg) no-repeat center center/cover;
  position: absolute;
  width: clamp(1.875rem, 0.4504086181rem + 2.9717682021vw, 3.125rem);
  height: clamp(1.875rem, 0.4504086181rem + 2.9717682021vw, 3.125rem);
  left: 18%;
  bottom: calc(clamp(5rem, -1.1969725111rem + 12.927191679vw, 10.4375rem) * -1);
}
@media screen and (max-width: 767.9px) {
  .p-home-feature__decoration--top::after {
    left: 20px;
    bottom: calc(clamp(5rem, -0.201690051rem + 22.193877551vw, 10.4375rem) * -1);
  }
}

.p-home-feature__cards {
  margin-top: 4.75rem;
  display: grid;
  grid-template-areas: "a a" "b c";
  grid-template-columns: 1fr 1fr;
}
@media screen and (max-width: 767.9px) {
  .p-home-feature__cards {
    grid-template-areas: none;
    grid-template-columns: 1fr;
    grid-auto-flow: column;
    grid-template-rows: repeat(3, auto);
    gap: 2rem;
  }
}

.p-home-feature__card {
  width: clamp(18.75rem, 2.3671991085rem + 34.1753343239vw, 33.125rem);
  background: url(../img/bg_feature_polygon@2x.png) no-repeat top center/cover;
  position: relative;
  padding-inline: clamp(1.875rem, -0.9741827637rem + 5.9435364042vw, 4.375rem);
}

.p-home-feature__card:nth-child(1) {
  grid-area: a;
  justify-self: center;
  padding-top: clamp(3.25rem, -0.4539375929rem + 7.7265973254vw, 6.5rem);
  padding-bottom: clamp(2.125rem, -0.7241827637rem + 5.9435364042vw, 4.625rem);
}
@media screen and (max-width: 767.9px) {
  .p-home-feature__card:nth-child(1) {
    grid-area: auto;
  }
}

.p-home-feature__card:nth-child(2) {
  grid-area: b;
  justify-self: end;
  margin-right: clamp(0.75rem, -0.6745913819rem + 2.9717682021vw, 2rem);
  padding-top: clamp(2.5rem, -0.4204123328rem + 6.0921248143vw, 5.0625rem);
  padding-bottom: clamp(2rem, -0.279346211rem + 4.7548291233vw, 4rem);
}
@media screen and (max-width: 767.9px) {
  .p-home-feature__card:nth-child(2) {
    grid-area: auto;
    justify-self: center;
  }
}

.p-home-feature__card:nth-child(3) {
  grid-area: c;
  justify-self: start;
  margin-left: clamp(0.75rem, -0.6745913819rem + 2.9717682021vw, 2rem);
  margin-top: 10px;
  padding-top: clamp(2.5rem, -0.4204123328rem + 6.0921248143vw, 5.0625rem);
  padding-bottom: clamp(2rem, -0.279346211rem + 4.7548291233vw, 4rem);
}
@media screen and (max-width: 767.9px) {
  .p-home-feature__card:nth-child(3) {
    grid-area: auto;
    justify-self: center;
  }
}

.p-home-feature__number-wrap {
  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;
  gap: 0.5rem;
}

.p-home-feature__label {
  display: inline-block;
  font-size: 0.75rem;
  color: var(--accent-color-primary);
  font-weight: 700;
}

.p-home-feature__number {
  font-size: clamp(1.375rem, -0.2632800892rem + 3.4175334324vw, 2.8125rem);
  color: var(--accent-color-primary);
  font-weight: 700;
  font-family: "Fredericka the Great", serif;
}

.p-home-feature__content {
  position: relative;
  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;
}

.p-home-feature__card-title {
  margin-top: 0.625rem;
  font-size: clamp(1rem, 0.4301634473rem + 1.1887072808vw, 1.5rem);
  font-weight: 700;
}

.p-home-feature__card-text {
  max-width: 290px;
  margin-top: 1.125rem;
  font-size: clamp(0.875rem, 0.5900817236rem + 0.5943536404vw, 1.125rem);
  line-height: 1.76;
  font-weight: 500;
  text-align: left;
}

.p-home-feature__illustration {
  position: absolute;
}

.p-home-feature__card:nth-child(1) .p-home-feature__illustration {
  width: 28.3%;
  top: -199px;
  right: -30px;
  top: -7.11%;
  right: 8.11%;
}

.p-home-feature__card:nth-child(2) .p-home-feature__illustration {
  width: 17.16%;
  height: 42.11%;
  top: -33.46%;
  left: -4.71%;
  top: 0;
  left: 8.29%;
}

.p-home-feature__card:nth-child(3) .p-home-feature__illustration {
  width: 39.81%;
  height: 154px;
  height: 29.61%;
  top: -1%;
  right: -2%;
}

.p-home-feature__photos {
  margin-top: clamp(3.75rem, -2.8031203566rem + 13.6701337296vw, 9.5rem);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  height: clamp(16.625rem, -2.3220653789rem + 39.5245170877vw, 33.25rem);
}
@media screen and (max-width: 767.9px) {
  .p-home-feature__photos {
    height: auto;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: start;
    padding: 0;
  }
}

.p-home-feature__photo {
  position: relative;
  z-index: 10;
}
.p-home-feature__photo::before {
  content: "";
  background: url(../img/bg_feature_blur.svg) no-repeat center center/cover;
  position: absolute;
  width: clamp(15.625rem, -2.1823922734rem + 37.147102526vw, 31.25rem);
  height: clamp(15.625rem, -2.1823922734rem + 37.147102526vw, 31.25rem);
  z-index: -1;
}

.p-home-feature__photo:nth-child(1) {
  width: 39%;
  -ms-flex-item-align: start;
      align-self: start;
}
@media screen and (max-width: 767.9px) {
  .p-home-feature__photo:nth-child(1) {
    width: clamp(11.5625rem, 4.6867028061rem + 29.3367346939vw, 18.75rem);
  }
}
.p-home-feature__photo:nth-child(1)::before {
  bottom: -50%;
  left: 16%;
}
@media screen and (max-width: 767.9px) {
  .p-home-feature__photo:nth-child(1)::before {
    bottom: -30%;
    left: 50%;
  }
}

.p-home-feature__photo:nth-child(2) {
  width: 28%;
  -ms-flex-item-align: end;
      align-self: end;
}
@media screen and (max-width: 767.9px) {
  .p-home-feature__photo:nth-child(2) {
    margin-top: calc(clamp(1.25rem, -3.5331632653rem + 20.4081632653vw, 6.25rem) * -1);
    width: clamp(9.375rem, 6.3855229592rem + 12.7551020408vw, 12.5rem);
  }
}
.p-home-feature__photo:nth-child(2)::before {
  bottom: -100%;
  left: 50%;
  translate: -50% 0;
}
@media screen and (max-width: 767.9px) {
  .p-home-feature__photo:nth-child(2)::before {
    bottom: -50%;
  }
}

.p-home-feature__photo:nth-child(3) {
  width: 32%;
  margin-top: clamp(1.25rem, -0.1745913819rem + 2.9717682021vw, 2.5rem);
  -ms-flex-item-align: start;
      align-self: start;
}
@media screen and (max-width: 767.9px) {
  .p-home-feature__photo:nth-child(3) {
    margin-left: clamp(1.875rem, -4.1039540816rem + 25.5102040816vw, 8.125rem);
    margin-top: calc(clamp(0rem, -2.9894770408rem + 12.7551020408vw, 3.125rem) * -1);
    width: clamp(10.625rem, 5.8418367347rem + 20.4081632653vw, 15.625rem);
  }
}
.p-home-feature__photo:nth-child(3)::before {
  bottom: -80%;
  left: 50%;
  translate: -50% 0;
}
@media screen and (max-width: 767.9px) {
  .p-home-feature__photo:nth-child(3)::before {
    bottom: -50%;
  }
}

.p-home-feature__photo-inner {
  border-radius: 50%;
  overflow: hidden;
  aspect-ratio: 1/1;
}
.p-home-feature__photo-inner img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-home-feature__decoration--bottom {
  height: 22.43vw;
  position: relative;
}
@media screen and (max-width: 767.9px) {
  .p-home-feature__decoration--bottom {
    height: 50vw;
    height: 200px;
  }
}

.p-home-feature__decoration-img {
  position: absolute;
  z-index: 10;
}

.p-home-feature__decoration-img:nth-child(1) {
  width: 14.19%;
  left: 3%;
  bottom: 13%;
}
@media screen and (max-width: 767.9px) {
  .p-home-feature__decoration-img:nth-child(1) {
    width: 16%;
    bottom: 39%;
  }
}

.p-home-feature__decoration-img:nth-child(2) {
  width: 16.47%;
  left: 20.5%;
  bottom: 28.56%;
}
@media screen and (max-width: 767.9px) {
  .p-home-feature__decoration-img:nth-child(2) {
    bottom: 40%;
    width: 20%;
  }
}

.p-home-feature__decoration-img:nth-child(3) {
  width: 13.97%;
  right: 22.5%;
  bottom: 3%;
}
@media screen and (max-width: 767.9px) {
  .p-home-feature__decoration-img:nth-child(3) {
    width: 15%;
    bottom: 22%;
  }
}

.p-home-feature__decoration-img:nth-child(4) {
  width: 3.75%;
  right: 18.38%;
  bottom: 263px;
  bottom: 80%;
}
@media screen and (max-width: 767.9px) {
  .p-home-feature__decoration-img:nth-child(4) {
    width: clamp(1.875rem, 0.4504086181rem + 2.9717682021vw, 3.125rem);
    right: 5%;
  }
}

.p-home-vision {
  background-color: #fff;
  padding-top: clamp(2.6875rem, -0.375371471rem + 6.3893016345vw, 5.375rem);
  margin-top: calc(clamp(1.8125rem, -0.2531575037rem + 4.309063893vw, 3.625rem) * -1);
  overflow: hidden;
  -webkit-animation-name: blur-vision;
          animation-name: blur-vision;
  -webkit-animation-duration: var(--vision-duration);
          animation-duration: var(--vision-duration);
}
@media screen and (max-width: 767.9px) {
  .p-home-vision {
    padding-top: clamp(6.25rem, 0.2710459184rem + 25.5102040816vw, 12.5rem);
    margin-top: calc(clamp(1.8125rem, 0.0786033163rem + 7.3979591837vw, 3.625rem) * -1);
  }
}

@-webkit-keyframes blur-vision {
  0% {
    opacity: 0;
  }
  80% {
    opacity: 0;
    -webkit-filter: blur(10px);
            filter: blur(10px);
  }
  100% {
    opacity: 1;
    -webkit-filter: blur(0);
            filter: blur(0);
  }
}

@keyframes blur-vision {
  0% {
    opacity: 0;
  }
  80% {
    opacity: 0;
    -webkit-filter: blur(10px);
            filter: blur(10px);
  }
  100% {
    opacity: 1;
    -webkit-filter: blur(0);
            filter: blur(0);
  }
}
body.is-visit .p-home-vision {
  -webkit-animation-name: none;
          animation-name: none;
}

.p-home-vision__container {
  padding-top: clamp(10.4375rem, -1.5290676077rem + 24.9628528975vw, 20.9375rem);
  padding-bottom: clamp(17.5rem, 9.8072065379rem + 16.0475482912vw, 24.25rem);
  position: relative;
}
@media screen and (max-width: 767.9px) {
  .p-home-vision__container {
    padding-bottom: 227px;
  }
}

.p-home-vision__title-wrap {
  position: relative;
  z-index: 1;
}

.p-home-vision__title--en {
  color: var(--text-color-third);
  font-size: clamp(3.75rem, -0.5237741456rem + 8.9153046062vw, 7.5rem);
  text-transform: capitalize;
}

.p-home-vision__title--ja {
  margin-top: calc(clamp(1.125rem, -0.1571322437rem + 2.6745913819vw, 2.25rem) * -1);
  color: #000;
  font-family: "Zen Maru Gothic", serif;
  font-size: clamp(0.625rem, 0.1976225854rem + 0.8915304606vw, 1rem);
  font-weight: 500;
  position: relative;
}
.p-home-vision__title--ja::after {
  content: "";
  position: absolute;
  width: 34.5px;
  height: 1px;
  background-color: var(--text-color-primary);
  left: 0;
  bottom: -18%;
}

.p-home-vision__text-wrap {
  position: relative;
  z-index: 1;
  margin-top: clamp(1.5rem, -0.2095096582rem + 3.5661218425vw, 3rem);
}
@media screen and (max-width: 767.9px) {
  .p-home-vision__text-wrap {
    max-width: 360px;
  }
}

.p-home-vision__label {
  color: var(--text-color-primary);
  font-family: "Zen Maru Gothic", serif;
  font-size: clamp(1rem, 0.0027860327rem + 2.0802377415vw, 1.875rem);
  line-height: 2;
  letter-spacing: 0.03em;
}

.p-home-vision__text {
  color: var(--text-color-primary);
  font-family: "Zen Maru Gothic", serif;
  font-size: clamp(0.625rem, 0.1976225854rem + 0.8915304606vw, 1rem);
  line-height: 2.5;
  letter-spacing: 0.03em;
}

.p-home-vision__text {
  margin-top: clamp(1.75rem, -0.1019687964rem + 3.8632986627vw, 3.375rem);
}

.p-home-vision__text + .p-home-vision__text {
  margin-top: clamp(1.25rem, -0.1745913819rem + 2.9717682021vw, 2.5rem);
}

.p-home-vision__deco {
  z-index: 0;
  position: absolute;
  top: 0;
  left: 50%;
  translate: -50% 0;
  width: 100%;
  height: 100%;
}

.p-home-vision__deco-inner {
  position: relative;
}
@media screen and (max-width: 767.9px) {
  .p-home-vision__deco-inner {
    padding-bottom: 100px;
  }
}

.p-home-vision__deco-circle {
  z-index: -1;
  position: absolute;
  top: 10.5%;
  left: calc(clamp(5rem, -7.2514858841rem + 25.5572065379vw, 15.75rem) * -1);
  left: -260px;
  width: clamp(46.25rem, 15.9062035661rem + 63.2986627043vw, 72.875rem);
  height: clamp(46.25rem, 15.9062035661rem + 63.2986627043vw, 72.875rem);
}
@media screen and (max-width: 767.9px) {
  .p-home-vision__deco-circle {
    width: clamp(46.25rem, 46.25rem + 0vw, 46.25rem);
    height: clamp(46.25rem, 46.25rem + 0vw, 46.25rem);
    top: 10%;
    left: auto;
    right: 0;
  }
}
.p-home-vision__deco-circle::before {
  position: absolute;
  z-index: -9;
  content: "";
  background: url(../img/bg_yellow-circle--vision.svg) no-repeat center center/cover;
  width: 631px;
  height: 665px;
  top: 0;
  right: -50%;
}
@media screen and (max-width: 767.9px) {
  .p-home-vision__deco-circle::before {
    bottom: 0;
    top: auto;
  }
}

.p-home-vision__deco-text {
  color: rgba(225, 201, 129, 0.2);
  font-size: clamp(4.375rem, -4.8848439822rem + 19.3164933135vw, 12.5rem);
  line-height: 2;
  letter-spacing: 0.03em;
  text-transform: capitalize;
  position: absolute;
  bottom: clamp(-0.8125rem, -3.5904531947rem + 5.7949479941vw, 1.625rem);
  right: calc(clamp(-8.75rem, -27.4121471025rem + 38.9301634473vw, 7.625rem) * -1);
}

.p-home-vision__img {
  position: relative;
  overflow: hidden;
}

.p-home-vision__img01 {
  width: clamp(16.875rem, -2.2857540862rem + 39.970282318vw, 33.6875rem);
  margin-top: calc(clamp(2.625rem, -0.437871471rem + 6.3893016345vw, 5.3125rem) * -1);
  z-index: 1;
  z-index: 11;
  position: relative;
  border-top-right-radius: clamp(1.875rem, -0.2618870728rem + 4.4576523031vw, 3.75rem);
}

.p-home-vision__img02 {
  position: relative;
  z-index: 1;
  width: clamp(16.25rem, -2.3409175334rem + 38.7815750371vw, 32.5625rem);
  margin-left: auto;
  margin-right: calc(clamp(-2.5rem, -11.7598439822rem + 19.3164933135vw, 5.625rem) * -1);
  margin-top: calc(clamp(-1.25rem, -15.4959138187rem + 29.7176820208vw, 11.25rem) * -1);
  border-top-left-radius: clamp(1.875rem, -0.2618870728rem + 4.4576523031vw, 3.75rem);
}
@media screen and (max-width: 767.9px) {
  .p-home-vision__img02 {
    margin-top: clamp(31.25rem, 1.3552295918rem + 127.5510204082vw, 62.5rem);
    margin-top: 500px;
    margin-top: 474px;
  }
}

.p-home-vision__img03 {
  position: relative;
  z-index: 1;
  width: clamp(13.9375rem, -1.9466939079rem + 33.1352154532vw, 27.875rem);
  margin-left: auto;
  margin-right: calc(clamp(-2.5rem, -11.7598439822rem + 19.3164933135vw, 5.625rem) * -1);
  margin-top: clamp(5.625rem, -0.7856612184rem + 13.3729569094vw, 11.25rem);
  border-top-left-radius: clamp(1.875rem, -0.2618870728rem + 4.4576523031vw, 3.75rem);
}

.p-home-vision__img04 {
  width: clamp(13.375rem, -1.7968982169rem + 31.6493313522vw, 26.6875rem);
  margin-top: clamp(7.5rem, -1.0475482912rem + 17.8306092125vw, 15rem);
  margin-left: clamp(7.9375rem, -1.1086552749rem + 18.8707280832vw, 15.875rem);
  border-top-right-radius: clamp(1.875rem, -0.2618870728rem + 4.4576523031vw, 3.75rem);
}

.p-home-vision__button {
  margin-top: clamp(2.8125rem, -0.3928306092rem + 6.6864784547vw, 5.625rem);
}
.p-home-vision__button .c-button-link {
  margin-inline: auto;
}

.p-home-service {
  padding: 5rem 0;
}
@media screen and (max-width: 767.9px) {
  .p-home-service {
    padding: 2.5rem 0;
  }
}

.p-home-service__title {
  position: relative;
}
.p-home-service__title::before {
  content: "";
  background: url(../img/icon_heart_clover@2x.png) no-repeat center center/cover;
  position: absolute;
  width: 6rem;
  height: 4.0625rem;
  top: -4.0625rem;
}

.p-home-service__title-en {
  margin-top: 0.5rem;
}

.p-home-service__lead {
  margin-top: clamp(1.6875rem, 0.90397474rem + 1.6344725111vw, 2.375rem);
  text-align: center;
  font-size: clamp(1.25rem, 0.1815564636rem + 2.2288261516vw, 2.1875rem);
  color: var(--text-color-primary);
  line-height: 1.8;
  font-weight: 700;
}
@media screen and (max-width: 767.9px) {
  .p-home-service__lead {
    font-size: clamp(1rem, 0.7608418367rem + 1.0204081633vw, 1.25rem);
  }
}

.p-home-service__emphasis {
  color: var(--accent-color-primary);
  font-weight: 700;
}

.p-home-service__banner {
  margin-top: clamp(2.1875rem, -0.3055349183rem + 5.2005943536vw, 4.375rem);
  height: clamp(13.25rem, -1.993127786rem + 31.7979197623vw, 26.625rem);
  width: 100%;
  background: url(../img/img_service_banner@2x.jpg) no-repeat center center/cover;
  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;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding-top: clamp(2.5rem, -0.3491827637rem + 5.9435364042vw, 5rem);
  padding-right: clamp(3.125rem, -0.4364784547rem + 7.4294205052vw, 6.25rem);
}
@media screen and (max-width: 767.9px) {
  .p-home-service__banner {
    height: clamp(7.75rem, 0.8144132653rem + 29.5918367347vw, 15rem);
    padding-top: clamp(1.25rem, 0.0542091837rem + 5.1020408163vw, 2.5rem);
    padding-right: clamp(1.25rem, -0.5436862245rem + 7.6530612245vw, 3.125rem);
  }
}

.p-home-service__banner-text-en {
  width: clamp(20rem, -5.2152674591rem + 52.6002971768vw, 42.125rem);
}
@media screen and (max-width: 767.9px) {
  .p-home-service__banner-text-en {
    width: clamp(12.5rem, 2.3357780612rem + 43.3673469388vw, 23.125rem);
  }
}

.p-home-service__banner-text {
  color: #fff;
  text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.3);
  font-size: clamp(1rem, -0.0684435364rem + 2.2288261516vw, 1.9375rem);
  line-height: 1.8;
}
@media screen and (max-width: 767.9px) {
  .p-home-service__banner-text {
    font-size: clamp(0.875rem, 0.5162627551rem + 1.5306122449vw, 1.25rem);
  }
}

.p-home-service__items {
  margin-top: clamp(2.75rem, -0.3841010401rem + 6.5378900446vw, 5.5rem);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}
@media screen and (max-width: 767.9px) {
  .p-home-service__items {
    grid-template-columns: 1fr;
    margin-top: clamp(1.25rem, -0.1745913819rem + 2.9717682021vw, 2.5rem);
  }
}

.p-home-service__item {
  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;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767.9px) {
  .p-home-service__item {
    padding-block: 2.5rem;
  }
}

.p-home-service__item:not(:first-child) {
  position: relative;
}
.p-home-service__item:not(:first-child)::before {
  content: "";
  position: absolute;
  width: 0.0625rem;
  height: clamp(6.25rem, -1.371563893rem + 15.8989598811vw, 12.9375rem);
  background-color: #EAE7E5;
  left: 0;
}
@media screen and (max-width: 767.9px) {
  .p-home-service__item:not(:first-child)::before {
    width: 80%;
    max-width: 280px;
    height: 1px;
    top: 0;
    left: 50%;
    translate: -50% 0;
  }
}

.p-home-service__item-title {
  font-size: clamp(1.25rem, 0.9650817236rem + 0.5943536404vw, 1.5rem);
  color: var(--text-color-second);
  font-weight: 700;
}
@media screen and (max-width: 767.9px) {
  .p-home-service__item-title {
    font-size: clamp(1rem, 0.7608418367rem + 1.0204081633vw, 1.25rem);
  }
}

.p-home-service__item-title--en {
  font-size: clamp(0.625rem, 0.4825408618rem + 0.2971768202vw, 0.75rem);
  font-weight: 700;
  text-transform: uppercase;
  margin-top: clamp(0.25rem, -0.1773774146rem + 0.8915304606vw, 0.625rem);
  display: inline-block;
  color: var(--accent-color-primary);
}

.p-home-service__item-text {
  margin-top: clamp(1.25rem, 0.1103268945rem + 2.3774145617vw, 2.25rem);
  font-size: clamp(0.875rem, 0.7325408618rem + 0.2971768202vw, 1rem);
  font-weight: 700;
  text-align: left;
}
@media screen and (max-width: 767.9px) {
  .p-home-service__item-text {
    font-size: clamp(0.75rem, 0.6304209184rem + 0.5102040816vw, 0.875rem);
  }
}

.p-home-service__item .c-button-readmore {
  margin-top: clamp(1rem, -0.2821322437rem + 2.6745913819vw, 2.125rem);
}