@charset "UTF-8";
@-webkit-keyframes slideIn {
  from {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
  to {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@keyframes slideIn {
  from {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
  to {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.p_philosophy__header {
  background: #0F52BA;
  border-radius: 0 0 1rem 1rem;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .p_philosophy__header {
    border-radius: 0 0 0.625rem 0.625rem;
  }
}
.p_philosophy__header__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding-bottom: 0;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  position: relative;
}
@media screen and (max-width: 1024px) {
  .p_philosophy__header__inner {
    width: 100%;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
}
@media screen and (max-width: 768px) {
  .p_philosophy__header__inner {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-top: 3.75rem;
  }
}
.p_philosophy__header__inner__item {
  margin-left: 6.25rem;
  margin-bottom: 3rem;
  height: 440px;
}
@media screen and (max-width: 1490px) {
  .p_philosophy__header__inner__item {
    margin-left: 4rem;
    margin-left: calc((100% - 1168px) / 2);
  }
}
@media screen and (max-width: 1390px) {
  .p_philosophy__header__inner__item {
    margin-left: 0rem;
  }
}
@media screen and (max-width: 1168px) {
  .p_philosophy__header__inner__item {
    margin-left: 0rem;
  }
}
@media screen and (max-width: 1024px) {
  .p_philosophy__header__inner__item {
    margin-left: 2.5rem;
  }
}
@media screen and (max-width: 768px) {
  .p_philosophy__header__inner__item {
    width: calc(100% - 3.5rem);
    margin-inline: 1.75rem;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
  }
}
@media screen and (max-width: 480px) {
  .p_philosophy__header__inner__item {
    width: 100%;
    margin-left: 1.5rem;
  }
}
.p_philosophy__header__inner__item .o_p_heading__page__body--jp {
  color: #ffffff;
}
.p_philosophy__header__inner__item .o_p_heading__page__body--jp:before {
  content: url(../images/common/title-logo-wh.svg);
}
.p_philosophy__header__inner__item .o_p_heading__page__body--en span {
  color: #ffffff;
}
.p_philosophy__header__inner__item .in-page-nav__wh {
  margin-top: 3.4375rem;
}
.p_philosophy__header__inner__img {
  width: min(100%, 53.125rem);
  height: min(100%, 29.375rem);
  border-radius: 37.5rem 37.5rem 0 0;
  overflow: hidden;
  position: absolute;
  bottom: 0;
  right: 0;
  display: block;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 85/47;
}
@media screen and (max-width: 1390px) {
  .p_philosophy__header__inner__img {
    width: min(100%, 100% - 20.625rem);
  }
}
@media screen and (max-width: 1168px) {
  .p_philosophy__header__inner__img {
    width: min(100%, 100% - 20.625rem);
  }
}
@media screen and (max-width: 1024px) {
  .p_philosophy__header__inner__img {
    width: 100%;
    max-width: calc(100% - 300px);
  }
}
@media screen and (max-width: 768px) {
  .p_philosophy__header__inner__img {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    max-width: 100%;
    width: 100%;
    position: relative;
  }
}
.p_philosophy__header__inner__img img,
.p_philosophy__header__inner__img source {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 85/47;
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
  /* 初期ズーム */
  -webkit-filter: blur(5px);
          filter: blur(5px);
  /* 初期ブラー */
  -webkit-transition: none;
  transition: none;
  /* GSAPで制御するので不要 */
  will-change: transform, filter;
}
.p_philosophy__idea {
  padding-block: 7.5rem;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .p_philosophy__idea {
    padding-block: 4rem;
  }
}
.p_philosophy__idea .wrap {
  width: min(100%, 86.875rem);
}
@media screen and (min-width: 1391px) {
  .p_philosophy__idea .wrap {
    margin-left: calc((100vw - 1168px) / 2);
  }
}
@media screen and (max-width: 1390px) {
  .p_philosophy__idea .wrap {
    margin-left: 4rem;
  }
}
@media screen and (max-width: 1168px) {
  .p_philosophy__idea .wrap {
    margin-left: 3rem;
    width: min(105%, 73rem);
  }
}
@media screen and (max-width: 1024px) {
  .p_philosophy__idea .wrap {
    margin-left: 2.5rem;
    width: min(110%, 73rem);
  }
}
@media screen and (max-width: 768px) {
  .p_philosophy__idea .wrap {
    margin-left: 1.75rem;
    width: min(105%, 48rem);
  }
}
@media screen and (max-width: 480px) {
  .p_philosophy__idea .wrap {
    margin-left: 1.5rem;
    width: min(125%, 30rem);
  }
}
.p_philosophy__idea__heading {
  text-align: center;
}
.p_philosophy__idea__body img.diagram--pc {
  display: block;
  width: 110%;
  height: auto;
}
@media screen and (max-width: 768px) {
  .p_philosophy__idea__body img.diagram--pc {
    display: none;
  }
}
.p_philosophy__idea__body img.diagram--sp {
  display: none;
}
@media screen and (max-width: 768px) {
  .p_philosophy__idea__body img.diagram--sp {
    display: block;
    width: 110%;
  }
}
@media screen and (max-width: 768px) {
  .p_philosophy__idea__body img.diagram--sp {
    width: 120%;
  }
}
.p_philosophy__vision {
  width: 100%;
  height: max(-webkit-fit-content, 31.25rem);
  height: max(-moz-fit-content, 31.25rem);
  height: max(fit-content, 31.25rem);
  background: url(../images/philosophy/philosophy-thought-bg@2x.jpg);
  background-position: center;
  background-size: cover;
  padding-block: 4rem 7.5rem;
}
@media screen and (max-width: 768px) {
  .p_philosophy__vision {
    background-position: 25% 50%;
    padding-block: 2rem 5rem;
  }
}
.p_philosophy__vision__inner__heading .heading-tx {
  font-family: YakuHanJP, "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: clamp(1.5rem, 1.3181818182rem + 0.9090909091vw, 2rem);
  line-height: 1.7;
}
.p_philosophy__vision__inner__body {
  margin-top: 2rem;
}
@media screen and (max-width: 768px) {
  .p_philosophy__vision__inner__body {
    margin-top: 1.5rem;
  }
}
.p_philosophy__vision__inner__body .tx {
  font-family: YakuHanJP, "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.8;
}
.p_philosophy__vision__inner__body .tx + .tx {
  margin-top: 1em;
}
.p_philosophy__dna {
  padding-block: 7.5rem;
}
@media screen and (max-width: 768px) {
  .p_philosophy__dna {
    padding-block: 4rem;
  }
}
.p_philosophy__dna .container {
  background: #F4F8FF;
  padding-block: 7.5rem;
  padding-inline: 6.25rem;
  border-radius: 1rem;
  overflow: hidden;
}
@media screen and (max-width: 1168px) {
  .p_philosophy__dna .container {
    padding-inline: 2.5rem;
  }
}
@media screen and (max-width: 768px) {
  .p_philosophy__dna .container {
    padding-block: 4rem;
    padding-inline: 1.5rem;
    border-radius: 0.625rem;
  }
}
.p_philosophy__dna__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 3.9375rem;
}
@media screen and (max-width: 768px) {
  .p_philosophy__dna__heading {
    gap: 2rem 0rem;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    text-align: center;
  }
}
.p_philosophy__dna__heading__title {
  width: min(100%, 13.125rem);
}
@media screen and (max-width: 768px) {
  .p_philosophy__dna__heading__title {
    width: 100%;
  }
}
.p_philosophy__dna__heading__sentence {
  width: min(100%, 100% - 13.125rem - 4rem);
  font-family: YakuHanJP, "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .p_philosophy__dna__heading__sentence {
    width: 100%;
    text-align: left;
  }
}
.p_philosophy__dna__diagram {
  margin-block: 4.375rem 2.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 768px) {
  .p_philosophy__dna__diagram {
    margin-block: 1rem 2rem;
  }
}
.p_philosophy__dna__diagram img {
  width: min(100%, 35.625rem);
}
.p_philosophy__dna__body {
  width: min(100%, 46.25rem);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
}
.p_philosophy__dna__body .strength {
  display: block;
  width: 100%;
  width: min(100%, 46.25rem);
}
.p_philosophy__dna__body .strength__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 1.375rem;
  border-bottom: solid #E0E0E0 1px;
}
.p_philosophy__dna__body .strength__list:first-child {
  border-top: solid #E0E0E0 1px;
}
.p_philosophy__dna__body .strength__list__item {
  padding-block: 2.5rem;
  padding-inline: 1.25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 1.375rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .p_philosophy__dna__body .strength__list__item {
    padding-block: 1.5rem;
    padding-inline: 0rem;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 0.75rem 0;
  }
}
.p_philosophy__dna__body .strength__list__item .title {
  width: min(100%, 8.125rem);
  color: #0F52BA;
  font-family: YakuHanJP, "Noto Sans JP", sans-serif;
  font-weight: 600;
  font-size: clamp(1.125rem, 0.9886363636rem + 0.6818181818vw, 1.5rem);
  line-height: 1.4;
  padding-left: 1.125rem;
  position: relative;
}
.p_philosophy__dna__body .strength__list__item .title::before {
  content: "";
  width: 0.75rem;
  height: 0.75rem;
  border-radius: 50%;
  border: #0F52BA solid 0.125rem;
  position: absolute;
  left: 0;
  top: calc(50% - 0.375rem);
}
@media screen and (max-width: 768px) {
  .p_philosophy__dna__body .strength__list__item .title {
    width: 100%;
  }
}
.p_philosophy__dna__body .strength__list__item .detail {
  font-family: YakuHanJP, "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: clamp(0.875rem, 0.8522727273rem + 0.1136363636vw, 0.9375rem);
  line-height: 1.8;
  width: min(100%, 100% - 8.125rem - 1.375rem);
}
@media screen and (max-width: 768px) {
  .p_philosophy__dna__body .strength__list__item .detail {
    width: 100%;
  }
}/*# sourceMappingURL=philosophy.css.map */