/* About ページ専用スタイル */

.l-top__fv {
  height: 100vh;
  margin-top: 60px;
  position: relative;
  z-index: 50;
}

.l-top__about {
  background-image: url("../img/home-about-bg-img.jpg");
  background-position: right bottom;
  background-repeat: no-repeat;
  background-size: 78.7% 43.6%;
  margin-top: 60px;
  position: relative;
}

.l-top__service {
  margin-top: 185px;
  position: relative;
}

.l-top__service-inner {
  margin-inline: auto;
  padding-left: 20px;
  padding-right: 20px;
}

.l-top__case {
  background-image: url("../img/case-bg-img.jpg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  margin-top: 168px;
}

.l-top__case-inner {
  padding-top: 60px;
}

.l-top__news {
  margin-bottom: 100px;
  margin-top: 60px;
  padding-bottom: 87px;
  position: relative;
}

.l-breadcrumbs {
  background-color: #fff;
  padding-top: 10px;
}

.l-about__philosophy {
  margin-top: 70px;
}

.l-about__philosophy__list {
  margin-inline: auto;
  max-width: 540px;
  width: 100%;
}

.l-about__philosophy__item {
  height: 100%;
  max-height: 470px;
}

.l-about__philosophy__item:not(:first-child) {
  margin-top: 65px;
}

.l-about__history {
  margin-top: 90px;
}

.l-about__staff {
  margin-bottom: 145px;
  margin-top: 60px;
}

.l-news__title {
  margin-top: 20px;
}

.l-news__thumbnail {
  margin-top: 24px;
}

.l-news__heading--type1 {
  margin-top: 20px;
}

.l-news__text {
  margin-top: 14px;
}

.l-news__heading--type2 {
  margin-top: 30px;
}

.l-news__heading--type3 {
  margin-top: 30px;
}

.l-news__list--bullet {
  margin-top: 14px;
}

.l-news__list--number {
  margin-top: 14px;
}

.l-news__quotation {
  margin-top: 14px;
}

.l-news__pagenation {
  margin-top: 40px;
}

.l-service__contents {
  position: relative;
}

.l-service__list {
  margin-top: 60px;
}

.l-service__item:not(:first-child) {
  margin-top: 80px;
}

.l-service__bg {
  left: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: -1;
}

.l-service__introduction {
  margin-top: 60px;
}

.l-service__qanda {
  margin-top: 60px;
  padding-bottom: 100px;
}

.l-case__category {
  margin-top: 67px;
}

.l-case__contents {
  margin-bottom: 100px;
  margin-top: 60px;
}

.l-case__inner {
  max-width: 615px;
}

.l-case__communication {
  margin-top: 60px;
}

.l-case__program {
  margin-top: 60px;
}

.l-case__button {
  margin-top: 40px;
  text-align: center;
}

.l-download__contents {
  margin-bottom: 100px;
  margin-inline: auto;
  margin-top: 70px;
  max-width: 500px;
  width: 100%;
}

.l-download__right {
  margin-top: 68px;
}

.l-download__materials {
  margin-top: 40px;
}

.l-download__form {
  margin-top: 40px;
}

.l-contact {
  margin-bottom: 100px;
  margin-top: 70px;
}

.l-contact__contents {
  margin-inline: auto;
  max-width: 687px;
}

.l-contact__form {
  margin-top: 40px;
}

.l-contact-thanks {
  margin-bottom: 100px;
  margin-top: 70px;
}

.c-breadcrumb a {
  color: #888888;
  margin-right: 8px;
}

.post-root {
  color: #1a1a1a;
  margin-left: 8px;
}

.c-breadcrumb--current {
  color: #888888;
  margin-right: 8px;
}

.p-philosophy__bg-mission {
  background-image: url("../img/about-mission-sp.jpg");
  background-position: center top;
  background-repeat: no-repeat;
  background-size: 100% min(74.9vw, 400px);
  padding-top: 20px;
}

.p-philosophy__bg-vision {
  background-image: url("../img/about-vision-sp.jpg");
  background-position: center top;
  background-repeat: no-repeat;
  background-size: 100% min(74.9vw, 400px);
  padding-top: 20px;
}

.p-philosophy__heading--en {
  color: #fff;
  display: block;
  font-family: "Fira Sans", sans-serif;
  font-size: 52px;
  font-style: italic;
  font-weight: 500;
  line-height: normal;
}

.p-philosophy__heading--ja {
  color: #fff;
  display: block;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
}

.p-philosophy__contents {
  background: #fff;
  box-shadow: 0 3px 12px 0 rgba(0, 0, 0, 0.16);
  margin-top: min(35.7vw, 190px);
  padding: 20px;
}

.p-about__philosophy {
  color: #023e78;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  text-align: center;
}

.p-philosophy__text {
  margin-top: 18px;
}

.p-mv {
  background-image: url("../img/about-mv-sp.jpg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  margin-top: 15px;
}

.p-mv__bg {
  aspect-ratio: 165/250;
  width: 165px;
}

.p-mv__heading-box {
  align-items: center;
  background-image: url("../img/mv-decoration_sp.png");
  background-position: left;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  display: flex;
  height: 250px;
  width: 44%;
}

.p-mv__heading {
  padding-left: 5.3vw;
}

.p-mv__heading--en,
.p-mv__heading--ja {
  background-color: #fff;
  color: #023e78;
  display: block;
  line-height: normal;
  width: -moz-fit-content;
  width: fit-content;
}

.p-mv__heading--en {
  font-family: "Fira Sans", sans-serif;
  font-size: clamp(24px, 8.4vw, 45px);
  font-style: italic;
  font-weight: 500;
}

.p-mv__heading--ja {
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(12px, 4.3vw, 20px);
  font-style: normal;
  font-weight: 700;
  margin-top: 9px;
}

.p-history {
  background-image: url("../img/about-bg-campany.jpg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  padding-bottom: 100px;
  padding-top: 60px;
}

.p-history__inner {
  margin-inline: auto;
  max-width: 580px;
  padding-left: 20px;
  padding-right: 20px;
  width: 100%;
}

.p-history__contents {
  background-color: #fff;
  padding-bottom: 40px;
  padding-left: 20px;
  padding-right: 20px;
  padding-top: 40px;
}

.p-history__heading h3 {
  color: #1a1a1a;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  text-align: center;
}

.p-history__list {
  margin-top: 40px;
}

.p-history__item {
  align-items: stretch;
  display: flex;
}

.p-history__item-title,
.p-history__item-text {
  color: #1a1a1a;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  padding-bottom: 13.5px;
  padding-top: 13.5px;
}

.p-history__item-title {
  align-items: center;
  border-bottom: 1px solid #023e78;
  display: flex;
  width: 33.9%;
}

.p-history__item:first-child .p-history__item-title {
  border-top: 1px solid #023e78;
}

.p-history__item-text {
  border-bottom: 1px solid #e8eaec;
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow-wrap: break-word;
  padding-left: 20px;
  width: 66.1%;
  word-break: break-all;
}

.p-history__item:first-child .p-history__item-text {
  border-top: 1px solid #e8eaec;
}

.p-staff {
  position: relative;
}

.p-staff__inner {
  margin-inline: auto;
  max-width: 580px;
  padding-left: 20px;
  padding-right: 20px;
  width: 100%;
}

.p-staff__heading h3 {
  color: #1a1a1a;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  text-align: center;
}

.p-staff__cards {
  margin-top: 40px;
}

.p-staff__card:not(:first-child) {
  margin-top: 60px;
}

.p-staff__card-head {
  aspect-ratio: 240/320;
  margin-inline: auto;
  width: 240px;
}

.p-staff__card-head img {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-staff__card-body {
  margin-top: 22px;
}

.p-staff__card-data {
  align-items: center;
  color: #1a1a1a;
  display: flex;
  font-family: "Noto Sans JP", sans-serif;
  font-style: normal;
  gap: 20px;
  line-height: normal;
}

.p-staff__card-position {
  font-size: 14px;
  font-weight: 700;
}

.p-staff__card-name {
  font-size: 20px;
  font-weight: 700;
}

.p-staff__card-comment {
  color: #1a1a1a;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 1.7;
  margin-top: 17px;
}

.p-staff__card-sns {
  align-items: center;
  display: flex;
  gap: 24px;
}

.p-staff__card-sns-box {
  aspect-ratio: 1/1;
  margin-top: 17px;
  width: 32px;
}

.p-staff__card-sns-box img {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-staff__bg-img {
  background-image: url("../img/about-staff-bg-sp.png");
  background-position: left top;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  bottom: -106px;
  height: 1234px;
  left: 0;
  position: absolute;
  width: 100%;
  z-index: -1;
}

@media screen and (min-width: 375px) {
  .p-mv__heading-box {
    background-size: cover;
  }
}

@media screen and (min-width: 768px) {
  .l-top__about {
    background-size: 39% 100%;
    margin-top: 150px;
    padding-bottom: 93px;
  }

  .l-top__about-inner {
    padding-top: 104px;
  }

  .l-top__service {
    margin-top: 260px;
  }

  .l-top__service-inner {
    max-width: 1180px;
    padding-left: 40px;
    padding-right: 40px;
  }

  .l-top__case {
    margin-top: 109px;
  }

  .l-top__case-inner {
    padding-bottom: 130px;
    padding-top: 100px;
  }

  .l-top__news {
    margin-top: 165px;
  }

  .l-about__philosophy {
    margin-top: 80px;
  }

  .l-about__philosophy__list {
    max-width: 1180px;
    padding-left: 40px;
    padding-right: 40px;
  }

  .l-about__philosophy__item:not(:first-child) {
    margin-top: 140px;
  }

  .l-about__history {
    margin-top: 175px;
  }

  .l-about__staff {
    margin-bottom: 187px;
    margin-top: 120px;
  }

  .l-service__inner {
    margin-inline: auto;
    max-width: 1280px;
    padding-left: 50px;
    padding-right: 50px;
  }

  .l-service__list {
    margin-left: auto;
    margin-top: 133px;
  }

  .l-service__item:not(:first-child) {
    margin-top: 248px;
  }

  .l-service__bg {
    margin: 0 calc(50% - 50vw);
    width: 100vw;
  }

  .l-service__qanda {
    margin-top: 160px;
    padding-bottom: 160px;
  }

  .l-case__category {
    margin-top: 77px;
  }

  .l-case__contents {
    margin-bottom: 160px;
    margin-top: 80px;
  }

  .l-case__inner {
    max-width: 100%;
  }

  .l-case__communication {
    margin-top: 80px;
  }

  .l-case__program {
    margin-top: 80px;
  }

  .l-case__button {
    margin-top: 60px;
  }

  .l-download__contents {
    display: flex;
    gap: 3%;
    margin-bottom: 160px;
    margin-inline: 0;
    margin-top: 80px;
    max-width: 100%;
  }

  .l-download__left {
    width: 47.5%;
  }

  .l-download__right {
    margin-top: 0;
    width: 49.5%;
  }

  .l-contact {
    margin-bottom: 160px;
    margin-top: 80px;
  }

  .l-contact__form {
    margin-top: 60px;
  }

  .l-contact-thanks {
    margin-bottom: 160px;
    margin-top: 80px;
  }

  .l-contact-thanks__contents {
    margin-inline: auto;
    padding-right: 65px;
    width: -moz-fit-content;
    width: fit-content;
  }

  .p-philosophy__bg-mission {
    background-image: url("../img/about-mission-pc.jpg");
    background-size: 100% min(27.6vw, 353px);
  }

  .p-philosophy__bg-vision {
    background-image: url("../img/about-vision-pc.jpg");
    background-size: 100% min(27.6vw, 353px);
  }

  .p-philosophy__contents {
    margin-inline: auto;
    margin-top: min(9.2vw, 118px);
    max-width: 688px;
    padding: 30px 40px;
    width: 100%;
  }

  .p-about__philosophy {
    font-size: 24px;
  }

  .p-philosophy__text {
    margin-top: 30px;
  }

  .p-mv {
    background-image: url("../img/about-mv-pc.jpg");
  }

  .p-mv__heading-box {
    background-image: url("../img/mv-decoration_pc.png");
    background-size: 100% 100%;
  }

  .p-mv__heading {
    padding-left: 17.2vw;
  }

  .p-mv__heading--en {
    font-size: clamp(24px, 5.3vw, 60px);
  }

  .p-mv__heading--ja {
    font-size: clamp(12px, 1.6vw, 20px);
  }

  .p-history {
    padding-bottom: 93px;
    padding-top: 93px;
  }

  .p-history__inner {
    max-width: 805px;
  }

  .p-history__contents {
    padding-bottom: 60px;
    padding-left: 40px;
    padding-right: 40px;
    padding-top: 60px;
  }

  .p-history__list {
    margin-top: 60px;
  }

  .p-history__item-title,
  .p-history__item-text {
    font-size: 16px;
    padding-bottom: 24px;
    padding-top: 24px;
  }

  .p-history__item-title {
    padding-left: 32px;
    width: 28.9%;
  }

  .p-history__item-text {
    padding-left: 32px;
    width: 71.1%;
  }

  .p-staff__inner {
    max-width: 728px;
  }

  .p-staff__cards {
    margin-top: 60px;
  }

  .p-staff__card {
    display: flex;
    flex-direction: row-reverse;
    gap: 5.8%;
  }

  .p-staff__card-head {
    margin: 0;
    width: 34.9%;
  }

  .p-staff__card-body {
    margin-top: 0;
    width: 59.3%;
  }

  .p-staff__card-comment {
    margin-top: 30px;
  }

  .p-staff__card-sns {
    margin-top: 30px;
  }

  .p-staff__bg-img {
    background-image: url("../img/about-staff-bg-pc.png");
    bottom: -232px;
    height: 800px;
  }
}

@media screen and (min-width: 1024px) {
  .l-news__heading--type1 {
    margin-top: 40px;
  }

  .l-service__introduction {
    margin-top: 160px;
  }

  .p-philosophy__heading--en {
    font-size: 75px;
  }

  .p-philosophy__heading--ja {
    font-size: 24px;
  }

  .p-mv__heading-box {
    background-size: 66% 100%;
  }
}

@media screen and (min-width: 1280px) {
  .l-top__fv {
    margin-top: 100px;
  }

  .p-philosophy__heading--en {
    font-size: 100px;
  }

  .p-mv {
    margin-top: 68px;
  }

  .p-mv__heading-box {
    background-size: 66% 100%;
  }
}
