@charset "utf-8";
#root {
  background-color: #F7F7F7;
}
.message {
      background-color: #fff;
    padding-top: 48px;
}
.message__inner {
      padding: 0 clamp(1.25rem, -5.917rem + 14.93vw, 12rem);
}
.message__items {
      margin-top: 40px;
    display: flex;
    flex-direction: column;
    row-gap: clamp(2rem, 0.667rem + 2.78vw, 4rem);
}
.message-item__top {
  width: 50%;
}
.message-item-top__sub {
  font-weight: 700;
}
.message-item-top__main {
      font-size: clamp(1.5rem, 1.167rem + 0.69vw, 2rem);
    font-weight: 700;
}
.message-item-top__line {
  margin-top: 8px;
}
.message-item__bottom {
      margin-top: 20px;
    display: flex;
    column-gap: clamp(1.25rem, 0.417rem + 1.74vw, 2.5rem);
}
.message-item-bottom__img {
      width: 50%;
    height: inherit;
        object-fit: contain;
    height: fit-content;
}
.message-item-bottom__content {
  width: 50%;
}
.message-item-bottom__title {
      font-size: clamp(1rem, 0.833rem + 0.35vw, 1.25rem);
    font-weight: 700;
}
.message-item-bottom__text {
      margin-top: 20px;
    font-weight: 400;
}

.staff__content {
  margin-top: clamp(1.25rem, 0.417rem + 1.74vw, 2.5rem);
}
.message-item__top--fit {
  width: fit-content;
}
.message-item-top__main--fit {
  width: fit-content;
}
.message-item-top__line--fit {
  width: fit-content;
}
.staff__items {
  margin-top: 20px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  row-gap: 32px;
  column-gap: 16px;
}
.staff__item {
  display: flex;
    flex-direction: column;
    row-gap: 8px;
}
.staff__img {
      aspect-ratio: 3/2;
    object-fit: cover;
    height: auto;
}
.staff__header {
    font-size: clamp(1rem, 0.833rem + 0.35vw, 1.25rem);
    font-weight: 700;
}
.staff__text {
  font-weight: 400;
}

.philosophy {
      background-color: #fff;
    padding-top: clamp(5rem, 1.5rem + 7.29vw, 10.25rem);
    padding-bottom: 80px;
}
.philosophy__inner {
      padding: 0 clamp(1.25rem, -5.917rem + 14.93vw, 12rem);
}
.philosophy__title {
      margin-top: 20px;
    font-size: clamp(1.125rem, 0.875rem + 0.52vw, 1.5rem);
    font-weight: 700;
}
.philosophy__content {
      margin-top: 20px;
    display: flex;
    column-gap: clamp(1.25rem, 0.5rem + 1.56vw, 2.375rem);
}
.philosophy-content__left {
  width: 50%;
}
.philosophy__text {
      font-weight: 400;
    line-height: 2;
}
.philosophy__items {
      display: flex;
    flex-direction: column;
    row-gap: clamp(1rem, 0.333rem + 1.39vw, 2rem);
        margin-top: clamp(1.25rem, 0.75rem + 1.04vw, 2rem);
    margin-bottom: clamp(1.25rem, 0.417rem + 1.74vw, 2.5rem);
    margin-right: clamp(0rem, -2.417rem + 5.03vw, 3.625rem);
}
.philosophy__item {
      position: relative;
    background-color: #F7F7F7;
    padding: 10px clamp(2.5rem, 2.083rem + 0.87vw, 3.125rem);
}
.philosophy-item__icon {
      position: absolute;
    width: clamp(2.25rem, 1.667rem + 1.22vw, 3.125rem);
    left: 0;
    top: 0;
}
.philosophy-item__title {
    font-size: 16px;
      color: #0038A2;
    font-weight: 700;
    line-height: 1;
}
.philosophy-item__text {
      margin-top: 8px;
    font-weight: 400;
}
.philosophy-content__right {
      width: 50%;
    height: 100%;
}

.information {
      padding-top: 80px;
    padding-bottom: clamp(5rem, 2.5rem + 5.21vw, 8.75rem);
}
.information__inner {
  padding: 0 clamp(1.25rem, -5.917rem + 14.93vw, 12rem);
}
.information__content {
      margin-top: 28px;
    display: flex;
    column-gap: clamp(1.25rem, 0.417rem + 1.74vw, 2.5rem);
}
.information__items {
      width: 50%;
    background-color: #fff;
    padding: 20px 20px 20px 0;
}
.information__item {
      display: flex;
    column-gap: clamp(1.25rem, -1.25rem + 5.21vw, 5rem);
}
.information-item__left {
      width: 29%;
    padding-top: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #000;
}
.information-item__left--first {
  border-top: 1px solid #000;
}
.information-item__title {
      margin-bottom: auto;
    font-weight: 700;
    padding-left: clamp(0.625rem, -0.375rem + 2.08vw, 2.125rem);
}
.information-item__right {
      width: 71%;
    padding-top: 20px;
    padding-bottom: 20px;
}
.information-item__text {
  font-weight: 400;
}
.information-content__right {
      width: 50%;
    background-color: #fff;
    padding: 20px clamp(1.25rem, -0.25rem + 3.13vw, 3.5rem) 20px 0;
    height: 100%;
}
.access__line1 {
      width: 189px;
    border-top: 1px solid #000;
}
.information-content-right__title {
      margin-top: 20px;
    margin-bottom: 15px;
    font-weight: 700;
    padding-left: clamp(0.625rem, -0.375rem + 2.08vw, 2.125rem);
}
.information-content__right iframe {
      border: none;
    width: 100%;
    height: 485px;
}
.information-content-right__text {
      margin-top: 15px;
    margin-bottom: 20px;
    font-weight: 400;
    padding-left: clamp(0.625rem, -0.375rem + 2.08vw, 2.125rem);
}
.access__line2 {
      width: 189px;
    border-bottom: 1px solid #000;
}

.sustainability {
      padding-top: 80px;
    padding-bottom: clamp(5rem, 3.333rem + 3.47vw, 7.5rem);
    background-color: #fff;
    margin-bottom: 40px;
}
.sustainability__inner {
  padding: 0 clamp(1.25rem, -5.917rem + 14.93vw, 12rem);
}
.sustainability__content {
      margin-top: 40px;
    display: flex;
    column-gap: clamp(1.25rem, -5.417rem + 13.89vw, 11.25rem);
}
.sustainability-content__left {
  width: 50%;
}
.sustainability__title {
    font-size: clamp(1.125rem, 0.708rem + 0.87vw, 1.75rem);
    font-weight: 700;
}
.sustainability__text {
      margin-top: 16px;
    font-weight: 400;
}
.sustainability__items {
  margin-top: 40px;
      display: flex;
    flex-direction: column;
    row-gap: clamp(1.25rem, 0.417rem + 1.74vw, 2.5rem);
}
.sustainability__item {
      display: flex;
    column-gap: clamp(0.625rem, 0.042rem + 1.22vw, 1.5rem);
    align-items: flex-start;
}
.sustainability-item__left {
      width: clamp(1.5rem, 1.167rem + 0.69vw, 2rem);
    height: auto;
    object-fit: contain;
}
.sustainability-item-right__title {
      font-size: clamp(1rem, 0.833rem + 0.35vw, 1.25rem);
    font-weight: 700;
}
.sustainability-item-right__text {
      margin-top: 16px;
    font-weight: 400;
}
.sustainability__banner {
      margin-top: clamp(1.25rem, 0.417rem + 1.74vw, 2.5rem);
    padding: 14px;
    background-color: #F7F7F7;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.sustainability-banner__text1 {
      font-size: 14px;
    font-weight: 700;
}
.sustainability-banner__img {
      margin-top: 16px;
    width: 321px;
}
.sustainability-banner__text2 {
      margin-top: 6px;
    font-size: 14px;
    font-weight: 400;
}
.sustainability-content__right {
  width: 50%;
}
.sustainability__box {
      margin-top: 34px;
    display: grid;
    grid-template-columns: repeat(6, 1fr);
}
.sustainability__box img {
  aspect-ratio: 1/1;
}
.sustainability-content__img--2 {
  margin-top: 34px;
}

@media (max-width: 1023px) {
  .staff__items {
    grid-template-columns: repeat(2, 1fr);
  }
  
  .information__content {
        flex-direction: column;
    row-gap: 20px;
  }
  .information__items {
    width: 100%;
  }
  .information-content__right {
    width: 100%;
  }
  
  .sustainability__text {
    width: 100%;
  }
  .sustainability__content {
        flex-direction: column;
    row-gap: 20px;
  }
  .sustainability-content__left {
    width: 100%;
  }
  .sustainability-content__right {
    width: 100%;
  }
}

@media (max-width: 767px) {
  .message-item__top {
    width: 100%;
  }
  .message-item-top__main {
    font-size: 20px;
  }
  .message-item__bottom {
        flex-direction: column;
    row-gap: 20px;
  }
  .message-item-bottom__img {
    width: 100%;
  }
  .message-item-bottom__content {
    width: 100%;
  }
  
  .staff__items {
    grid-template-columns: repeat(1, 1fr);
  }
  
  .philosophy__title {
    font-size: 16px;
  }
  .philosophy__content {
        flex-direction: column-reverse;
    row-gap: 16px;
  }
  .philosophy-content__left {
    width: 100%;
  }
  .philosophy-content__right {
    width: 100%;
  }
  
  .information {
    padding-top: 64px;
  }
  .information__content {
    row-gap: 0;
  }
  
  .information__items {
    padding-left: 20px;
  }
  .information__item {
        flex-direction: column;
    row-gap: 8px;
    border-bottom: 1px solid #000;
  }
  .information__item:nth-child(1) {
    border-top: 1px solid #000;
  }
  .information-item__left {
        border: none;
    padding-bottom: 0;
    width: 100%;
  }
  .information-item__title {
    padding-left: 0;
  }
  .information-item__right {
        padding-top: 0;
    width: 100%;
  }
  .information-content__right {
        padding-top: 0;
    padding-left: 20px;
  }
  .access__line1 {
    display: none;
  }
  .information-content-right__title {
        margin-top: 0;
    padding-left: 0;
  }
  .information-content__right iframe {
    height: clamp(12.5rem, -0.431rem + 53.05vw, 25rem);
  }
  .information-content-right__text {
    padding-left: 0;
  }
  .access__line2 {
    width: 100%;
  }
  
  .sustainability__title {
    font-size: 16px;
  }
  .sustainability-item__left {
    width: 32px;
  }
  .sustainability-banner__text1 {
    font-size: 12px;
  }
}

@media (max-width: 389px) {
  .message-item-bottom__title {
    font-size: 14px;
  }
  
  .philosophy-item__title {
    font-size: 14px;
  }
  
  .sustainability-item__left {
    width: 28px;
  }
  .sustainability-item-right__title {
    font-size: 14px;
  }
  .sustainability-banner__text1 {
    text-align: center;
  }
  .sustainability-banner__text2 {
    font-size: 12px;
  }
}

/*20260911追加*/
.hr-business {
    display: flex;
    align-items: center;
    gap: 40px;
  	margin-bottom:80px;
}

.hr-business__company {
    width: 45%;
    text-align: center;
}

.hr-business__company-title {
    margin: 0 0 10px;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.4;
    background: linear-gradient(to right, #0038A2, #198593, #06C3DB);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.hr-business__company-logo {
    display: block;
    width: 300px;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
}

.hr-business__image {
    width: 55%;
}

.hr-business__image-item {
    display: block;
    width: 100%;
    height: auto;
}


/* SP */
@media (max-width: 767px) {

    .hr-business {
        display: block;
      margin-bottom:30px;
    }

    .hr-business__company {
        width: 100%;
        margin-bottom: 25px;
    }

    .hr-business__company-title {
        font-size: 22px;
        margin-bottom: 8px;
    }

    .hr-business__company-logo {
        width: 150px;
    }

    .hr-business__image {
        width: 100%;
    }

}
.message-team {
    display: flex;
    align-items: stretch;
    justify-content: center;
    gap: 40px;
}

.message-team__image {
    width: 45%;
    max-width: 500px;
    height: auto;
    object-fit: contain;
}

.message-team__heading {
    text-align: center;
}

.message-team__title {
    margin: 0;
    font-size: 32px;
    font-weight: 700;
    line-height: 1.4;
    background: linear-gradient(to right, #0038A2, #198593, #06C3DB);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.message-team__title,
.staff-team__title {
    background: linear-gradient(to right, #0038A2, #198593, #06C3DB);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.message-team__line {
    display: block;
    margin: 10px auto 0;
    max-width: 100%;
    height: auto;
}

.message-team__text {
    margin: 25px 0 0;
    font-weight: 500;
    text-align: left;
}

.message-team__text strong {
    color: #0038A2;
}

.message-team__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 55%;
}
.message-team--reverse {
    flex-direction: row-reverse;
}


/* SP */
@media (max-width: 767px) {

    .message-team {
        flex-direction: column;
        gap: 25px;
    }

    .message-team__image {
        width: 100%;
        max-width: 100%;
    }

    .message-team__content {
        width: 100%;
    }

    .message-team__title {
        font-size: 24px;
    }

    .message-team__line {
        margin-top: 8px;
    }

    .message-team__text {
        margin-top: 20px;
        font-size: 15px;
        line-height: 1.9;
    }

}
.message-contact {
    text-align: center;
    padding: 50px 0;
}

/* タイトル */
.message-contact__title {
    position: relative;
    display: inline-block;
    margin: 0 0 20px;
    font-size: 20px;
    line-height: 1.6;
}

.message-contact__title::before,
.message-contact__title::after {
    content: "";
    position: absolute;
    top: 50%;
    width: 70px;
    height: 1px;
    background: #000;
}

.message-contact__title::before {
    right: calc(100% + 25px);
    transform: rotate(60deg);
}

.message-contact__title::after {
    left: calc(100% + 25px);
    transform: rotate(-60deg);
}
.message-team__logo {
    display: block;
    width: 350px;
    max-width: 100%;
    height: auto;
    margin: 0 auto 20px;
}

@media (max-width: 767px) {
    .message-team__logo {
        width: 300px;
        margin-bottom: 15px;
    }
}
/* ボタン */
.message-contact__button {
    width: 520px;
    max-width: 100%;
    margin: 0 auto;
    background: linear-gradient(to right, #0038A2, #198593, #06C3DB);
    border-radius: 100px;
}

.message-contact__button a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 115px;
}

.message-contact__button p {
    margin: 0;
    color: #fff;
    text-decoration: none;
    font-size: 32px;
    line-height: 1.4;
  font-weight: bold;
}


/* ボタン下のテキスト */
.message-contact__text {
    margin: 15px 0 0;
    font-size: 14px;
    line-height: 1.6;
}


@media (max-width: 767px) {

    .message-contact {
        padding: 35px 15px;
    }

    .message-contact__title {
        width: 100%;
        padding: 0 55px;
        box-sizing: border-box;
    }

    .message-contact__title::before,
    .message-contact__title::after {
        width: 30px;
        top: 50%;
    }

    .message-contact__title::before {
        right: calc(100% - 20px);
        transform: rotate(60deg);
    }

    .message-contact__title::after {
        left: calc(100% - 20px);
        transform: rotate(-60deg);
    }

    .message-contact__title p {
        margin: 0;
        overflow-wrap: break-word;
    }

    .message-contact__button {
        width: 100%;
        border-radius: 60px;
    }

    .message-contact__button a {
        min-height: 75px;
    }

    .message-contact__button p {
        font-size: 22px;
    }

    .message-contact__text {
        margin-top: 10px;
        font-size: 12px;
    }
}
.bg-blue {
    position: relative;
    z-index: 0;
  padding: 80px 0;
}
.bg-w {
  padding: 80px 0;
}

.bg-blue::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    width: 100vw;
    transform: translateX(-50%);
    background: #EDF9FF;
    z-index: -1; 
}
@media (max-width: 767px) {
    .bg-blue {
        padding: 50px 0;
    }
  .bg-w {
  padding: 50px 0;
}
}