.about-bg {
  background: url("../../../img/page/about/line.svg") center top -95px/1014px 6194px no-repeat;
}
@media screen and (max-width: 767px) {
  .about-bg {
    background: url("../../../img/page/about/line_sp.svg") left 18.6666666667vw top/90.9333333333vw 556.4vw no-repeat;
  }
}

.about-head__inner {
  --container-space: 0;
  padding-block: 128px;
}
@media screen and (min-width: 768px) {
  .about-head__inner {
    --container-w: 1480px;
  }
}
@media screen and (max-width: 767px) {
  .about-head__inner {
    padding-block: 10.6666666667vw;
  }
}
.about-head__ttl {
  font-family: var(--serif);
  font-size: 61px;
  font-weight: 700;
  color: var(--main);
  text-align: center;
}
@media screen and (width <= 1100px) {
  .about-head__ttl {
    font-size: 5.5454545455vw;
  }
}
@media screen and (max-width: 767px) {
  .about-head__ttl {
    font-size: 5.4666666667vw;
  }
}
.about-head__ttl * {
  font-family: inherit;
  font-weight: inherit;
  color: inherit;
}
.about-head__ttl [data-ruby] {
  position: relative;
}
.about-head__ttl [data-ruby]::before {
  position: absolute;
  inset-inline: 0;
  top: -0.65em;
  margin-inline: auto;
  font-size: 0.33em;
  font-weight: 500;
  color: var(--main);
  content: attr(data-ruby);
}
.about-head__row-cols2 {
  display: grid;
  grid-template-columns: 1fr 50%;
  margin-top: 135px;
}
@media screen and (width <= 1100px) {
  .about-head__row-cols2 {
    font-size: 12.2727272727vw;
  }
}
@media screen and (max-width: 767px) {
  .about-head__row-cols2 {
    grid-template-columns: 1fr;
    gap: 4vw;
    margin-top: 10.6666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .about-head__row-cols2.-rev {
    grid-template-columns: 50% 1fr;
  }
}
@media screen and (min-width: 768px) {
  .about-head__row-cols2.-rev .about-head__txt {
    grid-row: 1;
    grid-column: 2;
    place-self: center start;
  }
}
@media screen and (min-width: 768px) {
  .about-head__row-cols2.-rev .about-head__img {
    grid-row: 1;
    grid-column: 1;
    text-align: left;
  }
}
@media screen and (min-width: 768px) {
  .about-head__row-cols2:first-of-type .about-head__txt {
    place-self: start center;
    padding-top: 15%;
  }
}
@media screen and (max-width: 767px) {
  .about-head__row-cols2:first-of-type .about-head__txt {
    place-self: center start;
    padding-left: 8vw;
  }
}
@media screen and (min-width: 768px) {
  .about-head__row-cols2:nth-of-type(2) {
    margin-top: -6%;
  }
}
@media screen and (max-width: 767px) {
  .about-head__row-cols2:nth-of-type(2) {
    gap: 8vw;
    margin-top: 4.8vw;
  }
}
@media screen and (min-width: 768px) {
  .about-head__row-cols2:nth-of-type(2) .about-head__txt {
    padding-left: 5%;
  }
}
@media screen and (max-width: 767px) {
  .about-head__row-cols2:nth-of-type(2) .about-head__txt {
    padding-left: 9.3333333333vw;
  }
}
.about-head__row-cols2:nth-of-type(2) .about-head__img {
  text-align: center;
}
@media screen and (max-width: 767px) {
  .about-head__row-cols2:nth-of-type(2) .about-head__img img {
    position: relative;
    left: -6.6666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .about-head__row-cols2:nth-of-type(3) {
    margin-top: -3.5%;
  }
}
@media screen and (max-width: 767px) {
  .about-head__row-cols2:nth-of-type(3) {
    gap: 5.3333333333vw;
    margin-top: 5.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .about-head__row-cols2:nth-of-type(3) .about-head__txt {
    padding-top: 10%;
    padding-left: 15%;
  }
}
@media screen and (max-width: 767px) {
  .about-head__row-cols2:nth-of-type(3) .about-head__txt {
    place-self: center start;
    padding-left: 8vw;
  }
}
.about-head__txt {
  place-self: center;
  font-family: var(--serif);
  font-size: 32px;
  font-weight: 600;
  line-height: 1.875;
  color: var(--main);
}
@media screen and (width <= 1100px) {
  .about-head__txt {
    font-size: 2.9090909091vw;
  }
}
@media screen and (max-width: 767px) {
  .about-head__txt {
    font-size: 4.2666666667vw;
  }
}
.about-head__txt * {
  font-family: inherit;
  font-weight: inherit;
  color: inherit;
}
.about-head__txt span {
  display: block;
}
.about-head__txt span.line-1 {
  padding-left: 1em;
}
.about-head__txt span.line-2 {
  padding-left: 2em;
}
.about-head__txt span.line-2-5 {
  padding-left: 2.5em;
}
.about-head__txt span.line-3 {
  padding-left: 3em;
}
.about-head__img {
  text-align: right;
}
.about-head__img img {
  width: 85%;
}
@media screen and (max-width: 767px) {
  .about-head__img img {
    width: 59%;
  }
}

.about-lead {
  padding-block: 45px;
  font-size: 22px;
  font-weight: 500;
  line-height: 2.4;
  color: var(--main);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .about-lead {
    padding-block: 2.6666666667vw;
    font-size: 3.7333333333vw;
    line-height: 2.15;
  }
}
.about-lead * {
  font-weight: inherit;
  color: inherit;
}

.about-achievement__inner {
  padding-block: 200px 280px;
}
@media screen and (max-width: 767px) {
  .about-achievement__inner {
    padding-block: 13.3333333333vw 20vw;
  }
}
.about-achievement__hdg {
  max-width: 970px;
  color: var(--main);
}
.about-achievement__lead {
  margin-top: 25px;
  font-size: 27px;
  font-weight: 500;
  color: var(--main);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .about-achievement__lead {
    margin-top: 5.3333333333vw;
    font-size: 4vw;
  }
}
.about-achievement__row-cols2 {
  display: grid;
  grid-template-columns: 1fr 50%;
  margin-top: 118px;
}
@media screen and (width <= 1100px) {
  .about-achievement__row-cols2 {
    font-size: 12.2727272727vw;
  }
}
@media screen and (max-width: 767px) {
  .about-achievement__row-cols2 {
    grid-template-columns: 1fr;
    gap: 4vw;
    margin-top: 13.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .about-achievement__row-cols2.-rev {
    grid-template-columns: 50% 1fr;
  }
}
.about-achievement__row-cols2.-rev .about-achievement__txt {
  text-align: right;
}
@media screen and (min-width: 768px) {
  .about-achievement__row-cols2.-rev .about-achievement__txt {
    grid-row: 1;
    grid-column: 2;
    place-self: end;
    padding-inline: 0 60px;
  }
}
@media screen and (width <= 1100px) {
  .about-achievement__row-cols2.-rev .about-achievement__txt {
    padding-inline: 0;
  }
}
@media screen and (max-width: 767px) {
  .about-achievement__row-cols2.-rev .about-achievement__txt {
    place-self: start end;
    padding-right: 6.6666666667vw;
  }
}
.about-achievement__row-cols2.-rev .about-achievement__img {
  text-align: left;
}
@media screen and (min-width: 768px) {
  .about-achievement__row-cols2.-rev .about-achievement__img {
    grid-row: 1;
    grid-column: 1;
  }
}
.about-achievement__row-cols2:nth-of-type(2) .about-achievement__img {
  padding-bottom: 80px;
}
@media screen and (max-width: 767px) {
  .about-achievement__row-cols2:nth-of-type(2) .about-achievement__img {
    padding-bottom: 0;
  }
}
.about-achievement__txt {
  place-self: end start;
  padding-inline: 60px 0;
  font-family: var(--serif);
  font-size: 30px;
  font-weight: 600;
  line-height: 2.15;
  color: var(--main);
}
@media screen and (width <= 1100px) {
  .about-achievement__txt {
    padding-inline: 0;
    font-size: 2.7272727273vw;
  }
}
@media screen and (max-width: 767px) {
  .about-achievement__txt {
    padding-inline: 6.6666666667vw 0;
    font-size: 4.2666666667vw;
  }
}
.about-achievement__txt * {
  font-family: inherit;
  font-weight: inherit;
  color: inherit;
}
.about-achievement__txt span {
  display: block;
}
.about-achievement__img {
  text-align: right;
}
.about-achievement__img img {
  width: 91%;
}
@media screen and (max-width: 767px) {
  .about-achievement__img img {
    width: 59%;
  }
}
.about-achievement__btn-wrap {
  margin-top: 158px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .about-achievement__btn-wrap {
    margin-top: 10.6666666667vw;
  }
}

.about-gallery {
  padding-block: 60px 90px;
}
@media screen and (max-width: 767px) {
  .about-gallery {
    padding-block: 13.3333333333vw;
  }
}
.about-gallery__txt {
  font-size: 20px;
  line-height: 1.4;
  color: var(--main);
}
@media screen and (max-width: 767px) {
  .about-gallery__txt {
    font-size: 3.7333333333vw;
    line-height: 1.6;
  }
}
.about-gallery__slide {
  margin-top: 90px;
}
@media screen and (max-width: 767px) {
  .about-gallery__slide {
    margin-top: 13.3333333333vw;
  }
}
.about-gallery__slide .splide__slide {
  width: 100%;
}
.about-gallery__slide .splide__slide img {
  width: 100%;
}
.about-gallery__slide-txt {
  margin-top: 10px;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .about-gallery__slide-txt {
    margin-top: 2.6666666667vw;
    font-size: 3.7333333333vw;
  }
}