/* メインビジュアル */
.p-fp-mv {
  position: relative;
  padding-block: 100px;
}

.p-fp-mv-bg {
  position: absolute;
  inset: -75px 0 0 auto;
  height: 900px;
}

.p-fp-mv-inner {
  position: relative;
  z-index: 1;
}

.p-fp-mv-content {
  display: grid;
  align-content: center;
  row-gap: 30px;
  margin-left: -70px;
}

.p-fp-mv-content-title {
  font-size: 260px;
  color: #E6E6E6;
  margin-bottom: -0.1em;
  margin-left: -0.05em;
}

.p-fp-mv-content-subtitle {
  font-size: 27px;
  font-weight: bold;
  line-height: 1.5;
  margin-block: var(--half-read);
}

.p-fp-mv-content-desc {
  font-size: 16px;
  line-height: 1.8;
  margin-block: var(--half-read);
}

.p-fp-mv-content-button-list {
  display: grid;
  grid-template-columns: 220px 220px;
  column-gap: 20px;
  --button-min-width: 100%;
  --button-height: 60px;
}

@media (max-width:1300px) {
  .p-fp-mv-content {
    margin-left: 0px;
  }
}

@media (max-width:991px) {
  .p-fp-mv-bg {
    inset: -52px 0 0 auto;
    height: 400px;
  }

  .p-fp-mv-content-title {
    font-size: 100px;
  }
}

@media (max-width:767px) {
  .p-fp-mv {
    padding-block: 50px;
  }

  .p-fp-mv-inner {
    grid-template-columns: 1fr;
    row-gap: 40px;
  }

  .p-fp-mv-content {
    row-gap: 25px;
  }

  .p-fp-mv-content-subtitle {
    font-size: 18px;
  }

  .p-fp-mv-content-desc {
    font-size: 13px;
  }

  .p-fp-mv-content-button-list {
    grid-template-columns: 1fr 1fr;
    column-gap: 10px;
    margin-top: 10px;
    margin-inline: -5px;
    --button-min-width: 100%;
    --button-height: 50px;
    --button-font-size: 13px;
  }
}

/* ロゴスライダー */
.p-fp-logo-slider {
  margin-top: 90px;
}

.p-fp-logo-slider+.p-fp-logo-slider {
  margin-top: 20px;
}

.p-fp-logo-slider-item {
  height: 50px;
  background-color: #fff;
  border-radius: 8px;
  box-shadow: 0 0px 10px 0 rgba(0, 0, 0, 0.1);
  padding: 3px 10px;
  margin-block: 10px;
}

.p-fp-logo-slider-item-image {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

@media (max-width:767px) {
  .p-fp-logo-slider {
    margin-top: 40px;
  }

  .p-fp-logo-slider+.p-fp-logo-slider {
    margin-top: 15px;
  }

  .p-fp-logo-slider-item {
    height: 35px;
    padding: 3px 5px;
  }
}

/* vision */
.p-fp-vision {
  padding-block: 100px;
  color: #fff;
  background-color: var(--main-color);
  margin-inline: 30px;
  border-radius: 16px;
}

.p-fp-vision-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  row-gap: 40px;
}

.p-fp-vision-title {
  grid-column: 1 / -1;
  color: inherit;
  font-size: 160px;
}

.p-fp-vision-subtitle::before {
  background-color: #fff;
}

.p-fp-vision-catch {
  font-size: 38px;
  font-weight: bold;
}

.p-fp-vision-desc {
  font-size: 14px;
  line-height: 2.2;
  margin-block: 60px var(--half-read);
}

@media (max-width:1200px) {
  .p-fp-vision-inner {
    grid-template-columns: 550px;
    justify-content: center;
  }
}

@media (max-width:767px) {
  .p-fp-vision {
    padding-block: 50px;
    border-radius: 11px;
  }

  .p-fp-vision-inner {
    grid-template-columns: 1fr;
    justify-content: flex-start;
    row-gap: 30px;
  }

  .p-fp-vision-title {
    font-size: 80px;
  }

  .p-fp-vision-catch {
    font-size: 18px;
  }

  .p-fp-vision-desc {
    font-size: 13px;
    line-height: 1.8;
    margin-block: 30px var(--half-read);
  }

}

/* メイン */
.p-fp-main {
  display: grid;
  align-content: start;
  row-gap: 150px;
}

.p-fp-main-section {
  display: grid;
  align-content: start;
  row-gap: 60px;
}

.p-fp-main-section-button {
  margin-inline: auto;
}

@media (max-width:767px) {
  .p-fp-main {
    row-gap: 60px;
  }

  .p-fp-main-section {
    row-gap: 30px;
  }
}

/* サービス */
.p-fp-service {
  position: relative;
  padding-block: 60px;
  border-image: linear-gradient(var(--bg-color) 0 0) fill 0 / 1 / 0 100vi;
}

.p-fp-service-list {
  display: grid;
  align-content: start;
  margin-top: 120px;
  row-gap: 100px;
}

.p-fp-service-list-item {
  display: grid;
  grid-template-columns: 520px 1fr;
  gap: 60px;
}

.p-fp-service-list-item-image {
  height: 360px;
  background-color: var(--main-color);
  border-radius: 15px;
  overflow: hidden;
}

.p-fp-service-list-item-content {
  display: grid;
  align-content: start;
  row-gap: 20px;
  margin-top: -25px;
}

.p-fp-service-list-item-subtitle {
  font-size: 80px;
  color: var(--main-color);
  text-align: right;
  margin-bottom: 0px;
}

.p-fp-service-list-item-title {
  font-size: 23px;
  line-height: 1.5;
  font-weight: bold;
  margin-block: var(--half-read);
}

.p-fp-service-list-item-border {
  background-color: #fff;
  height: 2px;
}

.p-fp-service-list-item-desc {
  font-size: 14px;
  line-height: 1.8;
  margin-block: var(--half-read);
}

.p-fp-service-list-item-buttons {
  display: grid;
  align-content: start;
  row-gap: 15px;
  margin-top: 30px;
  --button-min-width: 100%;
}

@media (max-width:1200px) {
  .p-fp-service-list-item {
    grid-template-columns: 1fr 1fr;
    gap: 40px;
  }
}

@media not all and (max-width:991px) {
  .p-fp-service-list-item-subtitle-sp {
    display: none;
  }
}

@media (max-width:991px) {
  .p-fp-service {
    padding-block: 40px;
  }

  .p-fp-service-list {
    margin-top: 40px;
    row-gap: 40px;
  }

  .p-fp-service-list-item {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .p-fp-service-list-item-image {
    height: 220px;
  }

  .p-fp-service-list-item-content {
    margin-top: -5px;
  }

  /* .p-fp-service-list-item-subtitle {
    font-size: 45px;
    margin-bottom: -0.1em;
  } */

  .p-fp-service-list-item-subtitle-pc {
    display: none;
  }

  .p-fp-service-list-item-subtitle-sp {
    font-size: 45px;
    margin-bottom: -15px;
    text-align: left;
  }

  .p-fp-service-list-item-title {
    font-size: 18px;
  }

  .p-fp-service-list-item-buttons {
    row-gap: 15px;
    margin-top: 10px;
  }
}

/* cta */
.p-fp-service-cta {
  display: grid;
  grid-template-columns: 320px 1fr;
  gap: 20px;
  width: min(780px, 100%);
  padding: 15px;
  border-radius: 15px;
  color: #fff;
  background-color: #184086;
  margin-inline: auto;
  margin-top: 70px;
}

.p-fp-service-cta-content {
  display: grid;
  align-content: center;
  row-gap: 20px;
}

.p-fp-service-cta-content-title {
  font-size: 27px;
}

.p-fp-service-cta-content-desc {
  font-size: 16px;
  line-height: 1.8;
  margin-block: var(--half-read);
}

.p-fp-service-cta-content-button {
  --main-color: #fff;
  --button-min-width: 100%;
  --button-bg-color: transparent;
  --button-hover-font-color: #184086;
}

@media (max-width:767px) {
  .p-fp-service-cta {
    grid-template-columns: 1fr;
    padding: 25px;
    margin-top: 60px;
  }

  .p-fp-service-cta-content {
    row-gap: 20px;
  }

  .p-fp-service-cta-content-title {
    font-size: 18px;
  }

  .p-fp-service-cta-content-desc {
    font-size: 13px;
  }
}

/* 特徴 */
.p-fp-feature {
  position: relative;
  margin-top: 70px;
}

.p-fp-feature-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  margin-top: 50px;
}

.p-fp-feature-list-item {
  display: grid;
  align-content: start;
  row-gap: 25px;
}

.p-fp-feature-list-item-image {}

.p-fp-feature-list-item-title {
  font-size: 21px;
  font-weight: bold;
  line-height: 1.5;
  margin-block: var(--half-read);
}

.p-fp-feature-list-item-desc {
  font-size: 16px;
  line-height: 1.8;
  margin-block: var(--half-read);
}

@media (max-width:991px) {

  .p-fp-feature-list {
    grid-template-columns: 1fr;
    gap: 40px;
    margin-top: 30px;
  }
}

@media (max-width:767px) {
  .p-fp-feature {
    margin-top: 15px;
  }

  .p-fp-feature-list-item {
    display: grid;
    align-content: start;
    row-gap: 25px;
  }

  .p-fp-feature-list-item-title {
    font-size: 18px;
  }

  .p-fp-feature-list-item-desc {
    font-size: 14px;
  }
}

/* 支援事例 */
.p-fp-case {
  position: relative;
  padding-block: 60px;
  border-image: linear-gradient(var(--bg-color) 0 0) fill 0 / 1 / 0 100vi;
  margin-bottom: -100px;
}

.p-fp-case-logo-list {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 20px;
}

.p-fp-case-logo-list-item {
  height: 90px;
  padding: 5px;
  background-color: #fff;
  border-radius: 8px;
  box-shadow: 0 0px 10px 0 rgba(0, 0, 0, 0.1);
}

.p-fp-case-logo-list-item-image {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.p-fp-case.no-bg {
  border-image: none;
  padding-block: 0px;
  margin-bottom: 0px;
}

.p-fp-case.no-bg .p-fp-case-shape {
  display: none;
}

@media (max-width:767px) {
  .p-fp-case {
    margin-bottom: -60px;
  }

  .p-fp-case-logo-list {
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
  }

  .p-fp-case-logo-list-item {
    height: 45px;
    padding: 3px;
  }
}

/* document */
.p-fp-document {
  position: relative;
  padding-block: 80px;
  border-image: linear-gradient(var(--bg-color) 0 0) fill 0 / 1 / 0 100vi;
}

@media (max-width:767px) {
  .p-fp-document {
    padding-block: 40px;
    margin-top: 60px;
  }
}

/* news */
@media (max-width:767px) {
  .p-fp-news {
    margin-top: 40px;
  }
}