@charset "utf-8";
.pg-fv__right {
      background-image: url(https://shinei-mei.com/system_panel/uploads/images/pg-fv-bg-about.png);
  background-position: center;
}

.about__top {
      padding-top: clamp(3.125rem, 1.875rem + 2.6vw, 5rem);
    padding-bottom: clamp(6.063rem, 5.396rem + 1.39vw, 7.063rem);
}
.about-top__inner {
      padding: 0 clamp(1.25rem, -15.583rem + 35.07vw, 26.5rem);
    position: relative;
}
.about-deco1 {
      position: absolute;
    right: 0;
    bottom: 0;
    width: clamp(9.5rem, 2.044rem + 30.59vw, 38.75rem);
}
.about-deco2 {
      position: absolute;
    width: clamp(11.063rem, 6.331rem + 19.41vw, 29.625rem);
    left: 0;
    top: 0;
  z-index: 10;
}
.about-top__container {
      display: flex;
    flex-direction: column;
    row-gap: clamp(2rem, 1.333rem + 1.39vw, 3rem);
    position: relative;
    z-index: 20;
}
.about-top__title {
      position: relative;
    z-index: 20;
    font-size: clamp(1.5rem, 0.833rem + 1.39vw, 2.5rem);
    font-weight: 500;
}
.about-top__text {
      position: relative;
    z-index: 20;
    font-size: clamp(0.875rem, 0.708rem + 0.35vw, 1.125rem);
    line-height: 1.7;
    width: fit-content;
    margin-left: auto;
}
.about-top__deco3 {
      width: clamp(10.25rem, 5.833rem + 9.2vw, 16.875rem);
    position: absolute;
    z-index: 10;
    left: clamp(2.5rem, 5.21vw, 6.25rem);
    top: 0;
}


.story {
  position: relative;
  height: 100vh;
  overflow: hidden;
}
.story__bg,
.story__bg img {
  width: 100%;
  height: 100vh;
  position: relative;
}
.story__title {
      position: absolute;
    top: 0;
    left: clamp(6rem, 1.75rem + 8.85vw, 12.375rem);
    display: flex;
    flex-direction: column;
    row-gap: clamp(0.75rem, 0.583rem + 0.35vw, 1rem);
    align-items: center;
}
.story__line {
      width: 1px;
    height: clamp(3rem, 1.279rem + 7.06vw, 9.75rem);
    background-color: #fff;
}
.story-title__main {
      font-size: clamp(1.25rem, 0.804rem + 1.83vw, 3rem);
    font-weight: 500;
  letter-spacing: 0.2em;
    color: #fff;
}

.story__bg img {
  object-fit: cover;
  display: block;
}
/* 白背景 */
.story-content {
  position: relative;
  z-index: 10;
}
.story-content__inner {
      min-height: 100vh;
    padding-left: clamp(1.25rem, -13.5rem + 30.73vw, 23.375rem);
}
.story__items {
      background-color: #fff;
    padding: clamp(3.5rem, 1.833rem + 3.47vw, 6rem) clamp(1.25rem, -3.583rem + 10.07vw, 8.5rem) clamp(2.125rem, -0.458rem + 5.38vw, 6rem) clamp(1.25rem, -1.917rem + 6.6vw, 6rem);
    display: flex;
    flex-direction: column;
    row-gap: clamp(3.5rem, 2.5rem + 2.08vw, 5rem);
}
.story__item {
      display: flex;
    column-gap: clamp(1.25rem, -1.917rem + 6.6vw, 6rem);
  justify-content: space-between;
      position: relative;
}
.story__item:nth-child(2) {
  flex-direction: row-reverse;
  justify-content: flex-end;
}
.story-item__left {
      position: relative;
}
.story-item__deco {
      position: absolute;
    left: -8%;
    top: -10%;
    width: clamp(4.813rem, 2.188rem + 5.47vw, 8.75rem);
}
.story-item__deco--2 {
      left: unset;
    right: -8%;
}
.story-item__title {
      font-size: clamp(1.25rem, 0.417rem + 1.74vw, 2.5rem);
    font-weight: 700;
      position: relative;
    z-index: 20;
}
.story-item__text {
      margin-top: clamp(1.5rem, 0.833rem + 1.39vw, 2.5rem);
    font-weight: 400;
    padding-left: clamp(0rem, -4.167rem + 8.68vw, 6.25rem);
      position: relative;
    z-index: 20;
}
.story-item__right {
  width: 45%;
}
.story-item__img {
      aspect-ratio: 587/406;
    object-fit: cover;
    height: auto;
}
.story-item__right--2 {
  width: 32%;
}
.story-item__img--2 {
  aspect-ratio: 425/553;
}
.story-item__text--2 {
  padding-left: 0;
}
.story-item__right--3 {
  width: 39%;
}
.story-item__img--3 {
  aspect-ratio: 517/622;
}

.greeting {
  padding-top: clamp(4.5rem, 2.167rem + 4.86vw, 8rem);
}
.greeting__inner {
  padding: 0 clamp(0.625rem, -13.958rem + 30.38vw, 22.5rem);
}
.greeting__content {
      padding-top: clamp(1.5rem, -0.167rem + 3.47vw, 4rem);
    border-top: 1px solid #000;
    padding-left: clamp(0.313rem, -3.646rem + 8.25vw, 6.25rem);
    padding-right: clamp(0.313rem, -3.646rem + 8.25vw, 6.25rem);
}
.greeting__imgBox {
      display: grid;
    grid-template-columns: 3.8fr 1fr;
    column-gap: clamp(0.375rem, -1.042rem + 2.95vw, 2.5rem);
}
.greeting__img1 {
      aspect-ratio: 752/539;
    object-fit: cover;
    height: auto;
}
.greeting-imgBox__right {
      display: grid;
    grid-template-rows: 1fr 1fr;
    row-gap: clamp(0.125rem, -0.125rem + 0.52vw, 0.5rem);
}
.greeting__img2,
.greeting__img3 {
      aspect-ratio: 196/256;
    object-fit: cover;
    height: auto;
}
.greeting__bottom {
  margin-top: clamp(1.875rem, 1.458rem + 0.87vw, 2.5rem);
}
.greeting__title {
      font-size: clamp(1rem, 0.5rem + 1.04vw, 1.75rem);
    font-weight: 500;
}
.greeting__bottom1 {
      margin-top: 24px;
    display: flex;
    column-gap: 1em;
    font-size: 16px;
    font-weight: 400;
}
.greeting__bottom2 {
      margin-top: clamp(0.125rem, -0.125rem + 0.52vw, 0.5rem);
    display: flex;
    align-items: baseline;
    column-gap: 1em;
}
.greeting-bottom2__left {
      font-size: 24px;
    font-weight: 500;
}
.greeting-bottom2__right {
      font-size: 18px;
    font-weight: 400;
    color: #1C4973;
}
.greeting__text {
      margin-top: clamp(2rem, 1.667rem + 0.69vw, 2.5rem);
    font-weight: 400;
    line-height: 1.7;
}

.company {
  padding-top: clamp(5rem, 4.167rem + 1.74vw, 6.25rem);
}
.company__inner {
      padding: 0 clamp(0.625rem, -13.958rem + 30.38vw, 22.5rem);
    position: relative;
}
.company__container {
      position: relative;
    z-index: 20;
}
.company__deco {
      position: absolute;
    width: clamp(13.313rem, 6.398rem + 28.37vw, 40.438rem);
    right: 0;
    top: -40%;
}
.company__items {
      padding-top: clamp(1.5rem, -0.167rem + 3.47vw, 4rem);
    border-top: 1px solid #000;
    padding-left: clamp(0.313rem, -3.646rem + 8.25vw, 6.25rem);
    padding-right: clamp(0.313rem, -3.646rem + 8.25vw, 6.25rem);
    display: flex;
    flex-direction: column;
    row-gap: clamp(1.25rem, 1.083rem + 0.35vw, 1.5rem);
}
.company__item {
  display: flex;
}
.company__item:not(:last-child) {
    padding-bottom: clamp(1.25rem, 1.083rem + 0.35vw, 1.5rem);
    border-bottom: 0.5px solid #797979;
}
.company-item__left {
      width: 25%;
    font-size: clamp(0.875rem, 0.708rem + 0.35vw, 1.125rem);
    font-weight: 400;
}
.company-item__right {
      width: 75%;
    font-size: clamp(0.875rem, 0.708rem + 0.35vw, 1.125rem);
    font-weight: 400;
}
.google__map {
  margin-top: clamp(1.875rem, 1.458rem + 0.87vw, 2.5rem);
}
.google__map iframe {
      width: 100%;
    border: none;
    padding: 0 clamp(0.313rem, -3.646rem + 8.25vw, 6.25rem);
    height: clamp(18.75rem, 11.25rem + 15.63vw, 30rem);
}

@media (max-width: 767px) {
  .about-top__container {
        max-width: 650px;
    margin-left: auto;
    margin-right: auto;
  }
  .about-deco1 {
    bottom: 80%;
  }
  .about-deco2 {
    top: 90%;
  }
  .about-top__deco3 {
        right: 0;
    left: unset;
  }
  
  .story__title {
        left: 50%;
    transform: translateX(-50%);
  }
  .story__item,
  .story__item:nth-child(2) {
        flex-direction: column-reverse;
    row-gap: 48px;
  }
  .story-item__deco {
    left: 0;
  }
  .story-item__left {
    padding-left: 20px;
  }
  .story-item__right {
    width: 100%;
  }
  .story-item__deco--2 {
    right: 0;
  }
  .story-item__img,
  .story-item__img--2,
  .story-item__img--3 {
    aspect-ratio: 315/213;
  }
  
  .greeting {
        max-width: 650px;
    margin-left: auto;
    margin-right: auto;
  }
  .greeting__imgBox {
    grid-template-columns: 3fr 1fr;
  }
  .greeting__img1 {
    aspect-ratio: 253/225;
  }
  .greeting__img2, .greeting__img3 {
    aspect-ratio: 81/107;
  }
  
  .company__deco {
        top: 22%;
    z-index: 10;
  }
  .company-item__left {
    width: 30%;
  }
  .company-item__right {
    width: 70%;
  }
  .google__map iframe {
    height: clamp(11.875rem, 4.763rem + 29.18vw, 18.75rem);
  }
}

@media (max-width: 389px) {
  .about-top__inner {
        padding-left: 10px;
    padding-right: 10px;
  }
  .about-deco1 {
    bottom: 90%;
  }
  .story-item__deco,
  .story-item__deco--2 {
    top: -5%;
  }
  .story-item__left {
    padding-left: 0;
  }
  .story-item__title {
    font-size: 18px;
  }
  .story-item__text {
    font-size: 12px;
  }
  .greeting__title {
    font-size: 15px;
  }
  .greeting__text {
    font-size: clamp(0.75rem, 0.17rem + 2.9vw, 0.875rem);
  }
  .company-item__left,
  .company-item__right {
    font-size: clamp(0.75rem, 0.17rem + 2.9vw, 0.875rem);
  }
}