:root {
  --keyColor: #004BB1;
}

.caption__wrap__header {
  background: rgba(255, 255, 255, 0.95);
  display: flex;
  position: absolute;
  width: 100%;
  bottom: 0;
  left: 0;
}

.caption__wrap__header .Item {
  width: 35%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: clamp(1em, 2vw, 2.1vw);
  border-right: 2px solid #074BB1;
}

.caption__wrap__header .Item img {
  max-width: 250px;
}

.caption__wrap__header .Text {
  width: 65%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.caption__wrap__header .Text h1 {
  font-weight: 700;
  font-size: clamp(32px, 44px, 55px);
  color: #333333;
  margin-bottom: .5em;
}

.caption__wrap__header span.blue {
  color: #074BB1;
  margin-left: 0;
}

.sub__text {
  font-weight: 400;
  font-size: clamp(21px, 22px, 24px);
  display: flex;
  justify-content: center;
}

.sub__text::after {
  content: '─';
  color: #074BB1;
  display: inline-block;
  margin-left: .5em;
}

.caption__wrap__header .Text .flex {
  align-items: center;

}

.caption__wrap__header .Text .flex {
  display: flex;
  column-gap: 10px;
  justify-content: center;
  width: 100%;
}

.caption__wrap__header a.contact-btn {
  background: var(--keyColor);
  border-color: var(--keyColor);
  width: 100%;
  border-radius: 2.46em;
  display: flex;
  column-gap: 5px;
  align-items: center;
  font-size: clamp(17px, 21px, 22px);
  padding: .5em .5em;
  justify-content: center;
  color: #fff;
  line-height: 1.25;
  max-width: 260px;
  border: 2px solid var(--keyColor);
}

.caption__wrap__header a.contact-btn:hover {
  color: var(--keyColor);
}

.min_square {
  background: #fff;
  padding: 4px;
  line-height: 1.0;
  text-align: center;
  font-size: 0.85rem;
  border-radius: 1.46em;
  color: var(--keyColor);
}

.caption__wrap__header a.contact-btn:hover {
  background: #fff;
}

@media screen and (max-width: 767px) {

  #kv--wrap .container {
    height: 80vh;
  }

  .caption__wrap__header {
    flex-direction: column;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    height: max-content;
  }

  .caption__wrap__header .Text,
  .caption__wrap__header .Item {
    width: 100%;
  }

  .caption__wrap__header .Text h1 {
    font-size: 28px;
    padding-bottom: 0;
    line-height: 1.45;
  }

  .caption__wrap__header .Text .flex,
  .sub__text {
    flex-direction: column;
    font-weight: bold;
  }

  .caption__wrap__header .Text h1 {
    margin-bottom: 0;
  }

  .caption__wrap__header .Text {
    border-top: 1px solid var(--keyColor);
    padding-top: .5em;
  }

  .sub__text {
    flex-direction: row;
    font-size: 20px !important;
  }

  .caption__wrap__header .Item {
    max-width: 40%;
    margin: 0 auto .5em;
    border-right: none;
  }

  .sub__text::after {
    display: none;
  }

  .sub__text {
    width: 100%;
    font-size: 19px;
    margin-bottom: .75em;
  }

  .caption__wrap__header .Text {
    padding: 1em;
  }

  .caption__wrap__header .Item {
    padding: 1em 0 0;
  }

  .caption__wrap__header a.contact-btn {
    font-size: 19px;
    padding: .75em .5em;
    max-width: 220px;
  }

  .caption__wrap__header .Item img {
    max-width: 200px;
  }
}

@media screen and (min-width: 768px) {
  .sp_image {
    display: none;
  }
}
