@charset "utf-8";
/*
 * page-philosophy 追加CSS
 * ----------------------------------------------------------------
 * 既存のデザインCSS（leap-project.css / child-theme style.css）は
 * 本番(spica-inc.jp)の絶対URLで読み込み済み。
 * このファイルには philosophy ページ固有の微調整スタイルのみを追記する。
 */
.mce-content-head {
  font-size: 18px;
  line-height: 1.5;
  margin-bottom: 15px;
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", serif;
}
@media screen and (min-width: 835px) {
  .mce-content-head {
    font-size: 28px;
    margin-bottom: 20px;
  }
}
@media screen and (min-width: 835px) {
  .philosophy__message .img_text--child.img_text--txt {
    padding-top: 5%;
    padding-bottom: 5%;
  }
}
.philosophy__logo {
  background-image: url("../images/philosophy/logo_bg_sp.webp");
  background-size: cover;
  padding: 70px 0;
}
@media screen and (min-width: 835px) {
  .philosophy__logo {
    background-image: url("../images/philosophy/logo_bg_pc.webp");
    padding: 200px 0;
  }
  .philosophy__logo .layout-2column--ttl {
    max-width: 160px;
    margin-left: 0;
    margin-bottom: 0;
  }
}
@media screen and (min-width: 835px) {
  .philosophy__logo .subtitle {
    margin-bottom: 0;
  }
}
.philosophy__logo .ttl.clr-primary-default {
  color: #fff;
}
@media screen and (min-width: 835px) {
  .philosophy__logo .ttl.clr-primary-default {
    font-size: 50px;
  }
}
.philosophy__logo__inner {
  padding: 0 18px;
}
@media screen and (min-width: 835px) {
  .philosophy__logo__inner {
    max-width: 1124px;
    margin: auto;
    position: relative;
    padding-left: 480px;
  }
}
.philosophy__logo__img {
  width: 240px;
  display: block;
  margin: auto;
}
@media screen and (min-width: 835px) {
  .philosophy__logo__img {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 380px;
  }
}
.philosophy__logo__head {
  font-size: 18px;
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", serif;
  color: #fff;
  line-height: 1.5;
  margin-top: 30px;
}
@media screen and (min-width: 835px) {
  .philosophy__logo__head {
    font-size: 28px;
  }
}
.philosophy__logo__text {
  margin-top: 18px;
}
.philosophy__logo__text p {
  font-size: 12px;
  line-height: 1.6;
  color: #fff;
  margin-bottom: 14px;
}
@media screen and (min-width: 835px) {
  .philosophy__logo__text p {
    font-size: 14px;
  }
}
.philosophy__vision {
  background-image: url("../images/philosophy/vision_bg_sp.webp");
  background-size: cover;
  padding: 70px 0;
}
@media screen and (min-width: 835px) {
  .philosophy__vision {
    background-image: url("../images/philosophy/vision_bg_pc.webp");
    padding: 112px 0;
  }
}
.philosophy__vision__inner {
  padding: 0 18px;
}
@media screen and (min-width: 835px) {
  .philosophy__vision__inner {
    max-width: 1124px;
    margin: auto;
  }
}
@media screen and (min-width: 835px) {
  .philosophy__vision__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 70px;
  }
}
.philosophy__vision__img {
  display: block;
  width: 240px;
  margin: auto;
}
@media screen and (min-width: 835px) {
  .philosophy__vision__img {
    width: 500px;
  }
}
.philosophy__vision__head {
  font-size: 18px;
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", serif;
  line-height: 1.5;
  margin-top: 30px;
}
@media screen and (min-width: 835px) {
  .philosophy__vision__head {
    font-size: 28px;
    margin-top: 0;
  }
}
.philosophy__vision__text {
  margin-top: 18px;
}
@media screen and (min-width: 835px) {
  .philosophy__vision__text {
    margin-top: 28px;
  }
}
.philosophy__vision__text p {
  font-size: 12px;
  line-height: 1.6;
  margin-bottom: 14px;
}
@media screen and (min-width: 835px) {
  .philosophy__vision__text p {
    font-size: 14px;
  }
}
@media screen and (min-width: 835px) {
  .philosophy__message .img_text--img {
    position: relative;
  }
  .philosophy__message .img.img-trim {
    position: absolute;
    inset: 0;
    height: auto;
  }
  .philosophy__message .img.img-trim .img-cover {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
