@charset "utf-8";
/* pg__top */
.pg__top {
  border-bottom: 0.5px solid #C9C9C9;
}
.pg-top__inner {
      padding: clamp(6.063rem, 3.604rem + 5.12vw, 9.75rem) 10px 80px;
    position: relative;
}
.pg-top__deco1 {
      position: absolute;
    z-index: -1;
    top: 0;
    right: 0;
    width: 50%;
}
.pg-top__deco2 {
      position: absolute;
    z-index: -1;
    bottom: 0;
    left: 0;
    width: 24%;
}
.pg-top__container {
      display: flex;
    flex-direction: column;
    align-items: center;
}
.pg-top__title {
      font-size: clamp(1.5rem, 0.5rem + 2.08vw, 3rem);
    font-weight: 600;
    font-family: "Noto Serif JP", serif;
    color: #9F2018;
  text-align: center;
  line-height: 1.5;
  overflow: hidden;
}
.pg-top__text {
      margin-top: 40px;
    line-height: 2.7;
    text-align: center;
    font-weight: 400;
}

.feature {
  padding-top: clamp(5rem, 0.25rem + 9.9vw, 12.125rem);
}
.feature__inner {
  padding: 0 clamp(1.25rem, -19.333rem + 42.88vw, 32.125rem);
}
.feature__items {
      margin-top: 40px;
    display: flex;
    flex-direction: column;
    row-gap: 40px;
}
.feature__item {
      display: flex;
    column-gap: 20px;
    padding-left: 40px;
}
.feature__item:nth-child(2n) {
    padding-left: 0;
  padding-right: 40px;
}
.feature-item__icon {
  width: 33%;
    height: auto;
    object-fit: contain;
}
.feature-item__content {
      margin-top: clamp(1.25rem, 0.208rem + 2.17vw, 2.813rem);
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    row-gap: 14px;
    width: 67%;
}
.feature__title {
      font-size: clamp(2.5rem, 1.458rem + 2.17vw, 4.063rem);
    font-weight: 600;
    font-family: "Noto Serif JP", serif;
    color: #9F2018;
    overflow: hidden;
}
.feature__bottom {
    padding: 24px clamp(1.25rem, 0.958rem + 0.61vw, 1.688rem);
    background-color: #9F2018;
    width: 100%;
}
.feature-bottom__title {
      font-size: clamp(1.125rem, 1.042rem + 0.17vw, 1.25rem);
    font-weight: 400;
    color: #fff;
}
.feature-bottom__text {
      margin-top: 16px;
    font-size: clamp(0.75rem, 0.667rem + 0.17vw, 0.875rem);
    font-weight: 400;
    color: #fff;
}

.field {
  padding-top: clamp(3.5rem, 0.833rem + 5.56vw, 7.5rem);
}
.field__inner {
  padding: 0 clamp(1.25rem, -9.917rem + 23.26vw, 18rem);
}
.field__container {
      background-color: #FCF4F4;
    padding: clamp(3.75rem, 2.917rem + 1.74vw, 5rem) clamp(1.25rem, -10.036rem + 17.63vw, 11.125rem) clamp(3.125rem, 1.042rem + 4.34vw, 6.25rem);
}
.field__items {
      margin-top: 40px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: clamp(1.25rem, -0.583rem + 3.82vw, 4rem);
    row-gap: 60px;
}
.field__item {
      display: flex;
    flex-direction: column;
    row-gap: clamp(0.375rem, -0.042rem + 0.87vw, 1rem);
}
.field-item__img {
      height: auto;
    aspect-ratio: 461/266;
    object-fit: cover;
}
.item__title {
      display: flex;
    align-items: center;
    column-gap: clamp(0.688rem, 0.479rem + 0.43vw, 1rem);
}
.item-title__icon {
      width: clamp(0.5rem, 0.375rem + 0.26vw, 0.688rem);
    height: clamp(0.5rem, 0.375rem + 0.26vw, 0.688rem);
    border-radius: 50%;
    background-color: #9F2018;
}
.item-title__main {
      font-size: clamp(1.125rem, 0.875rem + 0.52vw, 1.5rem);
    font-weight: 500;
    color: #9F2018;
}
.field-item__text {
      font-size: 16px;
    font-weight: 400;
}

.facility {
      padding-top: 80px;
}
.facility__inner {
  padding: 0 clamp(1.25rem, -11.958rem + 27.52vw, 21.063rem);
}
.facility__content {
  margin-top: 32px;
}
.facility__text {
      text-align: center;
    font-weight: 400;
}
.facility__items {
      margin-top: clamp(3.75rem, 2.917rem + 1.74vw, 5rem);
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: clamp(1.25rem, 0.083rem + 2.43vw, 3rem);
}
.facility__item {
      display: flex;
    flex-direction: column;
    row-gap: 20px;
}
.facility-item__img {
      height: auto;
    aspect-ratio: 384/384;
    object-fit: cover;
}
.facility-item__text {
  font-weight: 400;
}
.facility__bottom {
      margin-top: 80px;
    background-color: #FCF4F4;
    border-top: clamp(0.563rem, 0.438rem + 0.26vw, 0.75rem) solid #9F2018;
    padding: 32px 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    row-gap: clamp(1.625rem, 1.375rem + 0.52vw, 2rem);
}
.facility-bottom__text {
      text-align: center;
    font-size: clamp(0.875rem, 0.458rem + 0.87vw, 1.5rem);
    font-weight: 500;
    color: #9F2018;
}
.btn-line {
  background: #9F2018;
}
.btn__text-wrap p {
  color: #9F2018;
}
.btn__underline {
  background: #9F2018;
}

.flow {
      padding-top: clamp(5rem, 3.333rem + 3.47vw, 7.5rem);
    padding-bottom: clamp(5rem, 1.667rem + 6.94vw, 10rem);
}
.flow__inner {
  padding: 0 clamp(1.875rem, -23.958rem + 53.82vw, 40.625rem);
}
.flow__text {
      margin-top: 40px;
    text-align: center;
    font-weight: 400;
}
.flow__items {
  margin-top: 40px;
}
.flow__item {
      display: flex;
    column-gap: 40px;
}
.flow__number {
      min-width: 50px;
    height: 50px;
    background-color: #9F2018;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 31px;
    font-weight: 400;
    color: #Fff;
}
.flow__content {
  padding-bottom: 38px;
  position: relative;
}
.flow__content::before {
      content: "";
    position: absolute;
    top: 0;
    left: -65px;
    bottom: 0;
    width: 1px;
    background-color: #9F2018;
    z-index: -1;
}
.flow-content__title {
      font-size: 24px;
    font-weight: 400;
    color: #9F2018;
}
.flow-content__text {
      margin-top: 5px;
    font-size: 16px;
    font-weight: 400;
}
.flow__item:last-child .flow__content::before {
  display: none;
}

@media (max-width: 767px) {
  .pg-top__inner {
    padding-bottom: 140px;
  }
  .pg-top__deco1 {
    width: 70%;
  }
  .pg-top__deco2 {
    width: 74%;
    max-width: 370px;
  }
  
  .feature__inner {
    padding: 0 clamp(0.625rem, -5.385rem + 25.64vw, 1.25rem);
  }
  .feature__items {
        max-width: 600px;
    margin-left: auto;
    margin-right: auto;
  }
  .feature__item {
        flex-direction: column;
    padding-left: 0;
  }
  .feature__item:nth-child(2n) {
    padding-right: 0;
  }
  .feature-item__icon {
    width: 208px;
  }
  .feature-item__content {
        width: 100%;
    position: relative;
  }
  .feature__title {
        position: absolute;
    top: -45%;
  }
  .feature__bottom {
    max-width: 500px;
  }
  
  .field__inner {
    padding: 0;
  }
  .field__container {
        max-width: 600px;
    margin-left: auto;
    margin-right: auto;
        padding-left: clamp(1.25rem, -1.154rem + 10.26vw, 1.5rem);
    padding-right: clamp(1.25rem, -1.154rem + 10.26vw, 1.5rem);
  }
  .field__items {
    grid-template-columns: repeat(1, 1fr);
  }
  .field-item__text {
    font-size: clamp(0.875rem, 0.755rem + 0.51vw, 1rem);
  }
  
  .facility__inner {
    padding: 0 clamp(1rem, -1.404rem + 10.26vw, 1.25rem);
  }
  .facility__content {
        max-width: 600px;
    margin-left: auto;
    margin-right: auto;
  }
  .facility__items {
        grid-template-columns: repeat(1, 1fr);
    row-gap: 60px;
  }
  
  .flow__items {
        max-width: 500px;
    margin-left: auto;
    margin-right: auto;
  }
  .flow__item {
    column-gap: 18px;
  }
  .flow__number {
        min-width: 42px;
    height: 42px;
    font-size: 25px;
  }
  .flow__content::before {
    left: -39px;
  }
  .flow-content__title {
    font-size: 18px;
  }
  .flow-content__text {
    font-size: 14px;
  }
}

@media (max-width: 374px) {
  .feature-item__icon {
    width: 180px;
  }
  .feature__title {
        font-size: 35px;
    top: -35%;
  }
  .feature-bottom__title {
    font-size: 16px;
  }
}