@media (768px <= width) {
  #ankerlink {
    margin-top: 0;
  }
}

#philosophy01 {
  position: relative;
  padding: calc(200 / var(--spSize) * 100vw) calc(30 / var(--spSize) * 100vw);
}
@media (768px <= width) {
  #philosophy01 {
    padding: 200px max(50% - 800px, 50px);
  }
}
#philosophy01::before {
  content: "";
  width: calc(501 / var(--spSize) * 100vw);
  aspect-ratio: 501/585;
  position: absolute;
  left: 0;
  top: 0;
  transform: scale(1, -1);
  background: url(../images/company/philosophy/image.webp) left top/contain no-repeat;
}
@media (768px <= width) {
  #philosophy01::before {
    width: 501px;
  }
}
#philosophy01 .label {
  text-align: center;
  color: #999;
  font-family: var(--ff-ci);
  position: relative;
}
@media (768px <= width) {
  #philosophy01 .label {
    font-size: 2rem;
  }
}
#philosophy01 .lead {
  font-size: 3.4rem;
  font-family: var(--ff-shippori);
  line-height: 1.4167;
  margin-top: calc(70 / var(--spSize) * 100vw);
  position: relative;
}
@media (768px <= width) {
  #philosophy01 .lead {
    font-size: 4.8rem;
    text-align: center;
    margin-top: 70px;
  }
}
#philosophy01 .text {
  margin-top: calc(50 / var(--spSize) * 100vw);
  color: #666;
  line-height: 2.2;
  position: relative;
}
@media (768px <= width) {
  #philosophy01 .text {
    margin-top: 50px;
    text-align: center;
    font-size: 2rem;
  }
}
#philosophy01 .philosophies {
  display: grid;
  gap: calc(80 / var(--spSize) * 100vw) 0;
  margin-top: calc(110 / var(--spSize) * 100vw);
}
@media (768px <= width) {
  #philosophy01 .philosophies {
    margin-top: 110px;
    grid-template-columns: repeat(3, 1fr);
    gap: 0 5%;
  }
}
#philosophy01 .philosophy {
  background-color: var(--clr-lightYellow2);
  padding: calc(60 / var(--spSize) * 100vw) calc(40 / var(--spSize) * 100vw) calc(90 / var(--spSize) * 100vw);
}
@media (768px <= width) {
  #philosophy01 .philosophy {
    padding: 60px 40px 90px;
  }
}
#philosophy01 .philosophy__label {
  background: url(../images/company/philosophy/img_label.svg) center/contain no-repeat;
  width: calc(180 / var(--spSize) * 100vw);
  aspect-ratio: 180/100;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-left: auto;
  margin-right: auto;
  color: #fff;
  font-weight: 500;
}
@media (768px <= width) {
  #philosophy01 .philosophy__label {
    width: 180px;
    font-size: 2rem;
  }
}
#philosophy01 .philosophy__copy {
  text-align: center;
  font-size: 4.4rem;
  font-family: var(--ff-shippori);
  margin-top: calc(40 / var(--spSize) * 100vw);
}
@media (768px <= width) {
  #philosophy01 .philosophy__copy {
    font-size: 4.8rem;
    margin-top: 40px;
    height: calc(100% - 180px);
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
#philosophy01 .philosophy__text {
  margin-top: calc(40 / var(--spSize) * 100vw);
  font-size: 1.8rem;
  font-family: var(--ff-shippori);
  line-height: 2;
}
@media (768px <= width) {
  #philosophy01 .philosophy__text {
    margin-top: 40px;
    font-size: 2.2rem;
  }
}

#philosophy02 {
  position: relative;
  padding-top: calc(100 / var(--spSize) * 100vw);
  padding-left: calc(30 / var(--spSize) * 100vw);
  padding-right: calc(30 / var(--spSize) * 100vw);
  padding-bottom: calc(240 / var(--spSize) * 100vw);
}
@media (768px <= width) {
  #philosophy02 {
    padding: 100px max(50% - 800px, 50px) 240px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0 10%;
  }
}
#philosophy02::before, #philosophy02::after {
  content: "";
  height: 1px;
  position: absolute;
  left: calc(30 / var(--spSize) * 100vw);
  top: 0;
}
@media (768px <= width) {
  #philosophy02::before, #philosophy02::after {
    left: max(50% - 800px, 50px);
  }
}
#philosophy02::before {
  right: calc(30 / var(--spSize) * 100vw);
  border-top: 1px dotted var(--clr-lightYellow3);
}
@media (768px <= width) {
  #philosophy02::before {
    right: max(50% - 800px, 50px);
  }
}
#philosophy02::after {
  content: "";
  width: 16%;
  background-color: var(--clr-blue);
}
@media (768px <= width) {
  #philosophy02::after {
    width: 300px;
  }
}
#philosophy02 h3 {
  font-size: 3.6rem;
  font-family: var(--ff-shippori);
  line-height: 1;
}
@media (768px <= width) {
  #philosophy02 h3 {
    font-size: 4rem;
  }
}
#philosophy02 .img {
  margin-top: calc(90 / var(--spSize) * 100vw);
}
@media (768px <= width) {
  #philosophy02 .img {
    margin-top: 90px;
  }
}
#philosophy02 .lead {
  font-size: 2.4rem;
  font-family: var(--ff-shippori);
  line-height: 1.7142857143;
  margin-top: calc(80 / var(--spSize) * 100vw);
}
@media (768px <= width) {
  #philosophy02 .lead {
    font-size: 2.8rem;
    margin-top: 0px;
  }
}
#philosophy02 .text {
  line-height: 1.8;
  margin-top: calc(50 / var(--spSize) * 100vw);
  color: #666;
}
@media (768px <= width) {
  #philosophy02 .text {
    font-size: 2rem;
    margin-top: 50px;
  }
}
#philosophy02 .sign {
  margin-top: calc(58 / var(--spSize) * 100vw);
  width: calc(244 / var(--spSize) * 100vw);
  display: flex;
  flex-direction: column;
  margin-left: auto;
}
@media (768px <= width) {
  #philosophy02 .sign {
    width: 122px;
    margin-top: 50px;
  }
}
#philosophy02 .sign .title {
  color: #666;
}
@media (768px <= width) {
  #philosophy02 .sign .title {
    font-size: 2rem;
  }
}