/*--------------------------------------------------------------
  COMPANY INFO
--------------------------------------------------------------*/
.p-company-info .l-main {
  overflow: hidden;
}
.p-company-info .philosophy .inner {
  background-image: linear-gradient(40.368deg, #2ED0FA, #0051CA);
  padding-top: min(30px, 1.875rem, 8vw);
  padding-bottom: min(61.5px, 3.84375rem, 16.4vw);
  position: relative;
  z-index: 0;
  overflow: hidden;
}
.p-company-info .philosophy .bg-container {
  position: absolute;
  top: 0;
  right: max(-400px, -25rem, -106.6666666667vw);
  left: max(-405px, -25.3125rem, -108vw);
  bottom: 0;
  z-index: -1;
  opacity: 0.15;
}
.p-company-info .philosophy .bg-container img {
  -o-object-fit: cover;
     object-fit: cover;
}
.p-company-info .philosophy .lead {
  font-family: sofia-pro, sans-serif;
  font-size: min(16px, 1rem, 4.27vw);
  font-weight: 600;
  line-height: 1.2727272727;
  text-align: center;
  color: #fff;
}
.p-company-info .philosophy .title {
  font-size: min(27px, 1.6875rem, 7.2vw);
  line-height: 1.45;
  letter-spacing: 0.05em;
  text-align: center;
  color: #fff;
  margin-top: min(1px, 0.0625rem, 0.2666666667vw);
}
.p-company-info .philosophy .box {
  width: 84%;
  margin-top: min(30px, 1.875rem, 8vw);
  margin-inline: auto;
}
.p-company-info .philosophy .image-container {
  max-width: 425px;
  margin-inline: auto;
}
.p-company-info .philosophy .text-container {
  margin-top: min(33.5px, 2.09375rem, 8.9333333333vw);
}
.p-company-info .philosophy .list {
  display: flex;
  flex-direction: column;
  row-gap: min(3px, 0.1875rem, 0.8vw);
  max-width: 315px;
  margin-inline: auto;
}
.p-company-info .philosophy .item {
  display: flex;
  flex-direction: row;
  align-items: center;
  -moz-column-gap: min(21.5px, 1.34375rem, 5.7333333333vw);
       column-gap: min(21.5px, 1.34375rem, 5.7333333333vw);
}
.p-company-info .philosophy .item img {
  width: min(85px, 5.3125rem, 22.6666666667vw);
}
.p-company-info .philosophy .text {
  font-size: min(18px, 1.125rem, 4.8vw);
  line-height: 2;
  color: #fff;
}
.p-company-info .philosophy .text span {
  font-size: min(27px, 1.6875rem, 7.2vw);
  line-height: 1.3333333333;
}
.p-company-info .company-info .inner {
  width: 92%;
  margin-inline: auto;
  padding-top: min(32px, 2rem, 8.5333333333vw);
  padding-bottom: min(90px, 5.625rem, 24vw);
}
.p-company-info .company-info .title {
  width: min(93px, 5.8125rem, 24.8vw);
  margin-inline: auto;
}
.p-company-info .company-info .text {
  font-size: min(14px, 0.875rem, 3.7333333333vw);
  font-weight: 500;
  line-height: 1.4285714286;
  letter-spacing: 0.05em;
  text-align: end;
  margin-top: min(27px, 1.6875rem, 7.2vw);
}
.p-company-info .company-info table {
  border: 1px solid #C1C1C1;
  margin-top: min(6px, 0.375rem, 1.6vw);
}
.p-company-info .company-info th {
  display: grid;
  place-content: center;
  /* 9/24 */
  /* font-size: min(16px, 1rem, 4.2666666667vw); */
  /* line-height: 1.5; */
  font-size: min(18px, 1.125rem, 4.8vw);
  line-height: calc(32/18);
  /* ------------------ 9/24 */
  font-weight: 500;
  text-align: center;
  background-color: #F7F7F6;
  border: 1px solid #C1C1C1;
  width: 100%;
  padding-block: min(18px, 1.125rem, 4.8vw);
  padding-inline: min(15px, 0.9375rem, 4vw);
}
.p-company-info .company-info td {
  display: grid;
  place-content: center;
  /* 9/24 */
  /* font-size: min(16px, 1rem, 4.2666666667vw); */
  /* line-height: 1.5; */
  font-size: min(18px, 1.125rem, 4.8vw);
  line-height: calc(32/18);
  /* ------------------ 9/24 */
  font-weight: 500;
  text-align: center;
  border: 1px solid #C1C1C1;
  width: 100%;
  padding-block: min(18px, 1.125rem, 4.8vw);
  padding-inline: min(15px, 0.9375rem, 4vw);
}
.p-company-info .company-info tr:nth-of-type(2) td, .p-company-info .company-info tr:nth-of-type(9) td, .p-company-info .company-info tr:nth-of-type(10) td {
  text-align: start;
}
.p-company-info .company-info .member-item {
  display: flex;
  flex-direction: row;
  align-items: center;
  -moz-column-gap: min(36.5px, 2.28125rem, 9.7333333333vw);
       column-gap: min(36.5px, 2.28125rem, 9.7333333333vw);
}
.p-company-info .company-info .post {
  /* 9/24 */
  /* font-size: min(14px, 0.875rem, 3.7333333333vw); */
  /* line-height: 2.1428571429; */
  font-size: min(18px, 1.125rem, 4.8vw);
  line-height: calc(32/18);
  /* width: min(122px, 7.625rem, 32.5333333333vw); */
  width: min(150px, 9.375rem, 40vw);
  /* ------------------ 9/24 */
  font-weight: 500;
  text-align: start;
  padding-left: min(9px, 0.5625rem, 2.4vw);
}
.p-company-info .company-info .name {
  /* 9/24 */
  /* font-size: min(16px, 1rem, 4.2666666667vw); */
  /* line-height: 1.875; */
  font-size: min(18px, 1.125rem, 4.8vw);
  line-height: calc(32/18);
  width: min(125px, 7.8125rem, 33.33vw);
  /* ------------------ 9/24 */
  font-weight: 500;
  letter-spacing: 0.05em;
  text-align: start;
}
.p-company-info .company-info .member-text {
  font-size: min(16px, 1rem, 4.2666666667vw);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-align: end;
  margin-top: min(14px, 0.875rem, 3.7333333333vw);
}

/* 2025.0819追記 社章*/
.p-company-info .emblem {
  background-color: #fff;
  position: relative;
  z-index: 1;
}
.p-company-info .emblem .inner {
  width: 92%;
  margin-inline: auto;
  padding-top: min(55px, 3.4375rem, 14.6666666667vw);
  padding-bottom: min(55px, 3.4375rem, 14.6666666667vw);
}
.p-company-info .emblem .title {
  width: min(127px, 7.9375rem, 33.8666666667vw);
  margin-inline: auto;
}
.p-company-info .emblem .box {
  margin-top: min(40px, 2.5rem, 10.6666666667vw);
}
.p-company-info .emblem .image-container {
  display: flex;
  justify-content: center;
}
.p-company-info .emblem .image-container img {
  width: min(161px, 10.0625rem, 42.9333333333vw);
}
.p-company-info .emblem .text-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: min(30px, 1.875rem, 8vw);
}
.p-company-info .emblem .lead {
  font-size: min(20px, 1.25rem, 5.3333333333vw);
  line-height: 1.75;
  text-align: center;
}
.p-company-info .emblem .explanation {
  display: flex;
  flex-direction: row;
  align-items: center;
  -moz-column-gap: min(9px, 0.5625rem, 2.4vw);
       column-gap: min(9px, 0.5625rem, 2.4vw);
  width: min(100%, 460px);
  margin-inline: auto;
}
.p-company-info .emblem .explanation:nth-of-type(2) {
  margin-top: min(25px, 1.5625rem, 6.6666666667vw);
}
.p-company-info .emblem .explanation:nth-of-type(3) {
  margin-top: min(17px, 1.0625rem, 4.5333333333vw);
}
.p-company-info .emblem .explanation span:nth-of-type(1) {
  display: grid;
  place-content: center;
  flex-shrink: 0;
  font-size: min(23px, 1.4375rem, 6.1333333333vw);
  line-height: 1.3913043478;
  color: #fff;
  background-image: linear-gradient(to right, #00c85c, #27bcf2);
  width: min(52px, 3.25rem, 13.8666666667vw);
  height: min(32px, 2rem, 8.5333333333vw);
}
.p-company-info .emblem .explanation span:nth-of-type(2) {
  /* 9/24 */
  /* font-size: min(14px, 0.875rem, 3.7333333333vw); */
  /* line-height: 1.7142857143; */
  font-size: min(18px, 1.125rem, 4.8vw);
  line-height: calc(32/18);
  /* ------------------ 9/24 */
  font-weight: 500;
}
.p-company-info .emblem .text {
  /* 9/24 */
  /* font-size: min(16px, 1rem, 4.2666666667vw); */
  /* line-height: 1.875; */
  font-size: min(20px, 1.25rem, 5.33vw);
  line-height: calc(40/20);
  /* ------------------ 9/24 */
  font-weight: 500;
  margin-top: min(21px, 1.3125rem, 5.6vw);
}

@media (768px <= width) {
  .p-company-info .philosophy {
    margin-inline: auto;
    padding-top: min(48px, 3rem, 12.8vw);
  }
  .p-company-info .philosophy .inner {
    background-image: linear-gradient(11.122deg, #2ED0FA, #0051CA);
    padding-top: min(84px, 5.25rem, 5.8333333333vw);
    padding-bottom: min(106px, 6.625rem, 7.3611111111vw);
  }
  .p-company-info .philosophy .bg-container {
    position: absolute;
    top: max(-203px, -12.6875rem, -14.0972222222vw);
    right: 0;
    left: 0;
    bottom: max(-67px, -4.1875rem, -4.6527777778vw);
  }
  .p-company-info .philosophy .lead {
    font-size: min(14px, 0.875rem, 0.9722222222vw);
    line-height: 1.2857142857;
  }
  .p-company-info .philosophy .title {
    font-size: min(42px, 2.625rem, 2.9166666667vw);
    line-height: 1.4523809524;
    letter-spacing: 0.1em;
    margin-top: min(5px, 0.3125rem, 0.3472222222vw);
  }
  .p-company-info .philosophy .box {
    display: flex;
    flex-direction: row;
    -moz-column-gap: min(100px, 6.25rem, 6.9444444444vw);
         column-gap: min(100px, 6.25rem, 6.9444444444vw);
    width: min(1127px, 70.4375rem, 78.2638888889vw);
    margin-top: min(17.5px, 1.09375rem, 1.2152777778vw);
  }
  .p-company-info .philosophy .image-container {
    width: min(425px, 26.5625rem, 29.5138888889vw);
    margin-inline: 0;
  }
  .p-company-info .philosophy .text-container {
    margin-top: min(56.5px, 3.53125rem, 3.9236111111vw);
  }
  .p-company-info .philosophy .list {
    row-gap: min(4px, 0.25rem, 0.2777777778vw);
    width: min(602px, 37.625rem, 41.8055555556vw);
    max-width: none;
    margin-inline: 0;
  }
  .p-company-info .philosophy .item {
    -moz-column-gap: min(33px, 2.0625rem, 2.2916666667vw);
         column-gap: min(33px, 2.0625rem, 2.2916666667vw);
  }
  .p-company-info .philosophy .item img {
    width: min(96px, 6rem, 6.6666666667vw);
  }
  .p-company-info .philosophy .text {
    font-size: min(26px, 1.625rem, 1.8055555556vw);
    line-height: 2.1153846154;
  }
  .p-company-info .philosophy .text span {
    font-size: min(38px, 2.375rem, 2.6388888889vw);
    line-height: 1.4473684211;
  }
  .p-company-info .company-info .inner {
    width: min(1000px, 62.5rem, 69.4444444444vw);
    padding-top: min(78px, 4.875rem, 5.4166666667vw);
    padding-bottom: min(120px, 7.5rem, 8.3333333333vw);
  }
  .p-company-info .company-info .title {
    width: min(169px, 10.5625rem, 11.7361111111vw);
  }
  .p-company-info .company-info .text {
    font-size: min(18px, 1.125rem, 1.25vw);
    line-height: 1.4444444444;
    margin-top: min(19px, 1.1875rem, 1.3194444444vw);
  }
  .p-company-info .company-info table {
    margin-top: min(15px, 0.9375rem, 1.0416666667vw);
  }
  .p-company-info .company-info tr {
    display: flex;
    flex-direction: row;
  }
  .p-company-info .company-info tr:last-of-type td {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: flex-start;
    -moz-column-gap: min(100px, 6.25rem, 6.9444444444vw);
         column-gap: min(100px, 6.25rem, 6.9444444444vw);
  }
  .p-company-info .company-info tr:last-of-type td p {
    white-space: nowrap;
  }
  .p-company-info .company-info th {
    font-size: min(18px, 1.125rem, 1.25vw);
    line-height: 1.4444444444;
    width: 25%;
    padding-block: min(22px, 1.375rem, 1.5277777778vw);
    padding-inline: 0;
  }
  .p-company-info .company-info td {
    display: block;
    font-size: min(18px, 1.125rem, 1.25vw);
    line-height: 1.4444444444;
    text-align: start;
    width: 75%;
    padding-block: min(22px, 1.375rem, 1.5277777778vw);
    padding-inline: min(60px, 3.75rem, 4.1666666667vw);
  }
  .p-company-info .company-info .member-item {
    -moz-column-gap: min(41px, 2.5625rem, 2.8472222222vw);
         column-gap: min(41px, 2.5625rem, 2.8472222222vw);
  }
  .p-company-info .company-info .post {
    font-size: min(18px, 1.125rem, 1.25vw);
    line-height: 1.6666666667;
    width: min(140px, 8.75rem, 9.7222222222vw);
    padding-left: 0;
  }
  .p-company-info .company-info .name {
    font-size: min(18px, 1.125rem, 1.25vw);
    line-height: 1.6666666667;
    width: auto;
  }
  .p-company-info .company-info .member-text {
    font-size: min(18px, 1.125rem, 1.25vw);
    line-height: 1.4444444444;
    text-align: start;
    margin-top: 0;
  }

    .p-message .emblem .inner {
    width: min(848px, 53rem, 58.8888888889vw);
    padding-top: min(75px, 4.6875rem, 5.2083333333vw);
    padding-bottom: min(100px, 6.25rem, 6.9444444444vw);
  }
  .p-message .emblem .title {
    width: min(210px, 13.125rem, 14.5833333333vw);
  }
  .p-message .emblem .box {
    display: flex;
    flex-direction: row;
    align-items: center;
    -moz-column-gap: min(94px, 5.875rem, 6.5277777778vw);
         column-gap: min(94px, 5.875rem, 6.5277777778vw);
    margin-top: min(70px, 4.375rem, 4.8611111111vw);
  }
  .p-message .emblem .image-container {
    justify-content: normal;
  }
  .p-message .emblem .image-container img {
    width: min(194px, 12.125rem, 13.4722222222vw);
  }
  .p-message .emblem .text-container {
    align-items: normal;
    width: min(560px, 35rem, 38.8888888889vw);
    margin-top: 0;
  }
  .p-message .emblem .lead {
    font-size: min(25px, 1.5625rem, 1.7361111111vw);
    line-height: 1.44;
    text-align: left;
  }
  .p-message .emblem .explanation {
    -moz-column-gap: min(15px, 0.9375rem, 1.0416666667vw);
         column-gap: min(15px, 0.9375rem, 1.0416666667vw);
    width: 100%;
    margin-inline: 0;
  }
  .p-message .emblem .explanation:nth-of-type(2) {
    margin-top: min(27px, 1.6875rem, 1.875vw);
  }
  .p-message .emblem .explanation:nth-of-type(3) {
    margin-top: min(9px, 0.5625rem, 0.625vw);
  }
  .p-message .emblem .explanation span:nth-of-type(1) {
    font-size: min(23px, 1.4375rem, 1.5972222222vw);
    line-height: 1.4782608696;
    width: min(52px, 3.25rem, 3.6111111111vw);
    height: min(32px, 2rem, 2.2222222222vw);
  }
  .p-message .emblem .explanation span:nth-of-type(2) {
    font-size: min(18px, 1.125rem, 1.25vw);
    line-height: 1.4444444444;
  }
  .p-message .emblem .text {
    font-size: min(18px, 1.125rem, 1.25vw);
    line-height: 1.4444444444;
    margin-top: min(14px, 0.875rem, 0.9722222222vw);
  }
}