@charset "utf-8";
.pg-fv {
      margin-top: clamp(4.5rem, 1.458rem + 6.34vw, 9.063rem);
    background-image: url(https://kifudaya.co.jp/system_panel/uploads/images/fv-company.png);
    background-size: cover;
    background-position: center;
    height: clamp(13.75rem, 8.583rem + 10.76vw, 21.5rem);
}
.pg-fv__inner {
  height: inherit;
}
.pg-fv__container {
     width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    height: inherit;
    writing-mode: vertical-rl;
}
.pg-fv__title--vertical {
      font-size: clamp(1.5rem, 1.333rem + 0.35vw, 1.75rem);
    font-weight: 800;
    color: #fff;
    letter-spacing: 0.2em;
}

.greeting {
  padding-top: clamp(3.5rem, 2.5rem + 2.08vw, 5rem);
}
.greeting__inner {
  padding: 0 clamp(1.25rem, -9.917rem + 23.26vw, 18rem);
}
.greeting__header {
      padding-bottom: clamp(0.5rem, 0.167rem + 0.69vw, 1rem);
    border-bottom: 1px solid #000;
}
.greeting-header__sub {
      font-size: clamp(0.75rem, 0.667rem + 0.17vw, 0.875rem);
    font-weight: 800;
}
.greeting-header__main {
      margin-top: 4px;
    font-size: clamp(1rem, 0.667rem + 0.69vw, 1.5rem);
    font-weight: 800;
}
.greeting__items {
      margin-top: clamp(2rem, 1.333rem + 1.39vw, 3rem);
    display: flex;
    flex-direction: column;
    row-gap: 56px;
}
.greeting__item {
      display: flex;
    column-gap: clamp(1.25rem, -0.25rem + 3.13vw, 3.5rem);
}
.greeting-item__left {
      width: 38%;
    aspect-ratio: 503/342;
    object-fit: cover;
}
.greeting-item__name {
      font-size: clamp(1.5rem, 1.167rem + 0.69vw, 2rem);
    font-weight: 800;
}
.greeting-item__sub {
      margin-top: 8px;
    font-weight: 800;
}
.greeting-item__text {
      margin-top: 20px;
    line-height: 2;
    font-weight: 600;
}

.history {
  padding-top: clamp(5rem, 3.333rem + 3.47vw, 7.5rem);
}
.history__inner {
  padding: 0 clamp(1.25rem, -9.917rem + 23.26vw, 18rem);
}
.history__items {
      margin-top: 40px;
    display: flex;
    flex-direction: column;
    margin-left: clamp(1.25rem, -0.417rem + 3.47vw, 3.75rem);
    border-left: 4px solid #000;
    padding-bottom: clamp(2.5rem, 0.833rem + 3.47vw, 5rem);
}
.history__item {
      padding-top: clamp(1.25rem, 0.917rem + 0.69vw, 1.75rem);
    padding-bottom: clamp(1.25rem, 0.917rem + 0.69vw, 1.75rem);
    padding-left: clamp(1.25rem, 0.417rem + 1.74vw, 2.5rem);
      display: flex;
    flex-direction: column;
    row-gap: clamp(1.25rem, 0.417rem + 1.74vw, 2.5rem);
}
.history__line {
  border-bottom: 2px solid #000;
  position: relative;
}
.history__line::before {
        position: absolute;
    content: "";
    background-color: #fff;
    border: 3px solid #000;
    bottom: -50%;
    transform: translateY(50%);
    left: -20px;
    border-radius: 50%;
    width: 36px;
    height: 36px;
}
.history-item__top {
  display: flex;
}
.history-item__left {
      font-size: clamp(0.875rem, 0.458rem + 0.87vw, 1.5rem);
    font-weight: 800;
    width: clamp(4.625rem, 0.625rem + 8.33vw, 10.625rem);
  min-width: 74px;
}
.history-item__right {
      font-weight: 600;
    display: flex;
    align-items: center;
}
.history-item__imgBox {
      display: flex;
    column-gap: clamp(1.25rem, -1.917rem + 6.6vw, 6rem);
}
.history-item__img {
      width: clamp(15.125rem, 11rem + 8.59vw, 21.313rem);
    aspect-ratio: 341/186;
    height: max-content;
}

.company {
  padding-top: clamp(5rem, 3.333rem + 3.47vw, 7.5rem);
}
.company__inner {
  padding: 0 clamp(1.25rem, -9.917rem + 23.26vw, 18rem);
}
.company__items {
      margin-top: clamp(2rem, 1rem + 2.08vw, 3.5rem);
    display: flex;
    flex-direction: column;
    row-gap: 24px;
}
.company__item {
      display: flex;
    padding-bottom: 24px;
    border-bottom: 1px solid #707070;
}
.company-item__left {
      width: clamp(6.75rem, 1.875rem + 10.16vw, 14.063rem);
    font-weight: 800;
  min-width: 108px;
}
.company-item__right {
  font-weight: 600;
      display: flex;
    flex-direction: column;
    row-gap: 24px;
}
.company-item-right__sub {
  font-weight: 600;
}
.company-item__right a {
  transition: all 0.5s;
}
.company-item__right a:hover {
  opacity: 0.5;
}

@media (max-width: 767px) {
  .greeting__items {
    padding: 0 20px;
  }
  .greeting__item {
        flex-direction: column;
    row-gap: 20px;
  }
  .greeting-item__left {
        width: 90%;
    margin-left: auto;
    margin-right: auto;
  }
  
  .history-item__imgBox {
        flex-direction: column;
    row-gap: 12px;
  }
}

@media (max-width: 389px) {
  .greeting__items {
    padding: 0;
  }
  .greeting-item__left {
    width: 100%;
  }
  
  .history-item__top {
        flex-direction: column;
    row-gap: 8px;
  }
  .history-item__right {
    font-size: 12px;
  }
  
  .company__item {
        flex-direction: column;
    row-gap: 8px;
  }
}