@media only screen and (max-width: 750px) {
  .mainvisual {
    background-image: url("../img/img-main_sp.jpg");
  }
}
@media print, screen and (min-width: 751px) {
  .mainvisual {
    background-image: url("../img/img-main.jpg");
  }
}

@media only screen and (max-width: 750px) {
  .strength-lead {
    font-size: 14px;
    line-height: 1.57;
    margin-bottom: 70px;
  }
}
@media print, screen and (min-width: 751px) {
  .strength-lead {
    font-size: 16px;
    line-height: 1.625;
    margin-bottom: 80px;
  }
}

@media only screen and (max-width: 750px) {
  .strength {
    margin-bottom: 80px;
  }
}
@media print, screen and (min-width: 751px) {
  .strength {
    margin-bottom: 200px;
  }
}
@media only screen and (max-width: 750px) {
  .strength .ttl01 {
    margin-bottom: 30px;
  }
}

.strength-item {
  position: relative;
}
@media print, screen and (min-width: 751px) {
  .strength-item {
    min-height: 280px;
    padding-right: 515px;
  }
}
@media print, screen and (min-width: 751px) {
  .strength-item:first-child {
    min-height: 250px;
  }
}
@media only screen and (max-width: 750px) {
  .strength-item + .strength-item {
    margin-top: 50px;
  }
}
@media print, screen and (min-width: 751px) {
  .strength-item + .strength-item {
    margin-top: 80px;
  }
}

.strength-title {
  align-items: center;
  display: flex;
}
@media only screen and (max-width: 750px) {
  .strength-title {
    flex-direction: column;
    margin-bottom: 30px;
  }
}
@media print, screen and (min-width: 751px) {
  .strength-title {
    gap: 20px;
    margin-bottom: 10px;
  }
}

.strength-title-num {
  color: var(--bc01);
  font-family: "Poppins", sans-serif;
  font-weight: 600;
  line-height: 1;
}
@media only screen and (max-width: 750px) {
  .strength-title-num {
    font-size: 70px;
    margin-bottom: 10px;
  }
}
@media print, screen and (min-width: 751px) {
  .strength-title-num {
    border-right: 1px solid var(--bc01);
    font-size: 60px;
    width: 90px;
  }
}

.strength-title-text {
  color: var(--bc01);
  font-weight: bold;
  margin: 0;
}
@media only screen and (max-width: 750px) {
  .strength-title-text {
    font-size: 20px;
    line-height: 1.5;
  }
}
@media print, screen and (min-width: 751px) {
  .strength-title-text {
    font-size: 24px;
    margin-bottom: 30px;
  }
}

@media only screen and (max-width: 750px) {
  .strength-image {
    margin-bottom: 12px;
  }
}
@media print, screen and (min-width: 751px) {
  .strength-image {
    position: absolute;
    right: 0;
    top: 0;
    width: 450px;
  }
}
.strength-image img {
  width: 100%;
}

.strength-heading {
  font-feature-settings: "palt";
  font-weight: bold;
  line-height: 1.4;
}
@media only screen and (max-width: 750px) {
  .strength-heading {
    font-size: 16px;
    margin-bottom: 7px;
  }
}
@media print, screen and (min-width: 751px) {
  .strength-heading {
    font-size: 20px;
  }
}

.strength-text {
  margin: 0;
}
@media only screen and (max-width: 750px) {
  .strength-text {
    font-size: 14px;
    line-height: 1.57;
  }
}
@media print, screen and (min-width: 751px) {
  .strength-text {
    font-size: 16px;
    line-height: 1.625;
  }
}
@media only screen and (max-width: 750px) {
  .strength-text + .strength-text {
    margin-top: 12px;
  }
}
@media print, screen and (min-width: 751px) {
  .strength-text + .strength-text {
    margin-top: 14px;
  }
}

.message {
  background: rgba(6, 49, 135, 0.9);
  display: flow-root;
  position: relative;
}
@media only screen and (max-width: 750px) {
  .message {
    margin-bottom: 110px;
  }
}
@media print, screen and (min-width: 751px) {
  .message {
    margin-bottom: 65px;
  }
}
.message::before {
  background: #fff;
  content: "";
  display: block;
  mask-image: url("../img/txt-message.svg");
  mask-repeat: no-repeat;
  mask-size: contain;
  position: absolute;
}
@media only screen and (max-width: 750px) {
  .message::before {
    height: 681px;
    left: -8px;
    top: -6px;
    width: 109px;
  }
}
@media print, screen and (min-width: 751px) {
  .message::before {
    bottom: -10px;
    height: 933px;
    left: -6px;
    width: 148px;
  }
}

@media only screen and (max-width: 750px) {
  .message-inner {
    padding: 66px 20px 290px;
    position: relative;
  }
}
@media print, screen and (min-width: 751px) {
  .message-inner {
    margin-inline: auto;
    max-width: 1400px;
    padding: 100px 100px 80px;
  }
}
.message-inner .ttl01 {
  color: #fff;
  mix-blend-mode: normal;
}
@media only screen and (max-width: 750px) {
  .message-inner .ttl01 {
    margin-bottom: 30px;
  }
}
@media print, screen and (min-width: 751px) {
  .message-inner .ttl01 {
    margin-bottom: 57px;
    text-align: left;
  }
}
.message-inner p {
  color: #fff;
  font-feature-settings: "palt";
  letter-spacing: 0.04em;
  text-align: justify;
}
@media only screen and (max-width: 750px) {
  .message-inner p {
    font-size: 14px;
    line-height: 1.57;
  }
}
@media print, screen and (min-width: 751px) {
  .message-inner p {
    font-size: 18px;
    line-height: 2.22;
  }
}
@media only screen and (max-width: 750px) {
  .message-inner p + p {
    margin: 25px 0 0;
  }
}
@media print, screen and (min-width: 751px) {
  .message-inner p + p {
    margin: 40px 0 0;
  }
}

@media only screen and (max-width: 750px) {
  .message-image {
    bottom: -40px;
    margin: 0;
    position: absolute;
    right: 0;
    width: 355px;
  }
}
@media print, screen and (min-width: 751px) {
  .message-image {
    float: right;
    margin-top: -178px;
    margin-left: 77px;
    margin-right: -100px;
    width: 554px;
  }
}
.message-image img {
  width: 100%;
}

.message-sign {
  align-items: flex-end;
  display: flex;
  flex-direction: column;
}
@media only screen and (max-width: 750px) {
  .message-sign {
    margin-top: 45px;
  }
}
@media print, screen and (min-width: 751px) {
  .message-sign {
    margin-top: 30px;
  }
}

.message-sign-pict {
  margin: 0 0 5px;
}
@media only screen and (max-width: 750px) {
  .message-sign-pict {
    width: 188px;
  }
}
@media print, screen and (min-width: 751px) {
  .message-sign-pict {
    width: 216px;
  }
}
.message-sign-pict img {
  width: 100%;
}

.message-sign-name {
  color: #fff;
  font-size: 14px;
  margin: 0;
}
@media only screen and (max-width: 750px) {
  .more {
    margin-bottom: 56px;
  }
}
@media print, screen and (min-width: 751px) {
  .more {
    margin-bottom: 85px;
  }
}
@media only screen and (max-width: 750px) {
  .more .ttl01 {
    font-size: 20px;
  }
}

.more-links {
  display: flex;
}
@media only screen and (max-width: 750px) {
  .more-links {
    flex-direction: column;
    gap: 15px;
  }
}
@media print, screen and (min-width: 751px) {
  .more-links {
    justify-content: center;
    gap: 30px;
    margin-inline: auto;
    max-width: 1200px;
  }
}
@media print, screen and (min-width: 751px) and (max-width: 1200px) {
  .more-links {
    flex-wrap: wrap;
  }
}

.more-link {
  margin: 0;
}
@media only screen and (max-width: 750px) {
  .more-link {
    padding-inline: 20px;
  }
}
.more-link a {
  margin-inline: auto;
}