@charset "UTF-8";
body {
  margin: 0;
  padding: 0 0 0 0;
  color: #000;
  position: relative;
  width: 100%;
  height: 100%;
  line-height: 1.6;
  box-sizing: border-box;
  font-family: "Noto Sans JP", sans-serif;
}
.pc-none {
  display: none;
}
.l-contentsBody {
  font-family: "Noto Sans JP", sans-serif;
  padding-bottom: 30px;
}
.l-contentsBody img {
  max-width: 100%;
}
.main-visual {
  max-width: 712px;
  margin: 30px auto 0;
}
.contents-inner {
  max-width: 952px;
  margin: 0 auto;
  padding: 0 20px;
}
.link-btn {
  background-color: #006FDE;
  color: #fff;
  padding: 24px 10px;
  max-width: 400px;
  box-sizing: border-box;
  display: block;
  border-radius: 4px;
  text-align: center;
  font-size: 16px;
  font-weight: 500;
  margin: 0 auto;
  position: relative;
  transition: 0.2s;
  border: 1px solid #006FDE;
  margin-top: 22px;
}
.link-btn::before {
  content: '';
  display: block;
  width: 17px;
  height: 17px;
  background-image: url(/assets/img/arrow/icn_arrow_white.svg);
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  right: 18px;
  bottom: 0;
  margin: auto;
  transition: 0.2s;
}
.link-btn.external_icon-btn::before {
  background-image: url(/assets/img/common/ico_nav_link.svg);
}
.section-01 .title {
  color: #004099;
  font-size: 32px;
  font-weight: bold;
  text-align: center;
  margin-top: 50px;
  line-height: 1.6;
}
.section-01 .lead-text {
  text-align: center;
  font-size: 18px;
  font-weight: 500;
  margin-top: 22px;
  line-height: 1.75;
}
.section-02 {
  background-color: #F5F5F5;
  padding: 58px 0 60px;
  margin-top: 60px;
}
.section-02 .title-h3 {
  color: #004099;
  font-size: 28px;
  text-align: center;
  font-weight: bold;
}
.section-02 .bnr {
  margin-top: 24px;
}
.section-02 .bnr a {
  transition: 0.2s;
}
.section-03 {
  margin: 64px 0 0;
}
.section-03 .head {
  max-width: 436px;
  margin: 0 auto;
}
.section-03 .title-h3 {
  text-align: center;
  font-weight: bold;
  font-size: 28px;
  color: #004099;
  margin-top: 64px;
}
.section-03 .lead-text {
  text-align: center;
  line-height: 1.8;
  margin-top: 25px;
}
.section-03 .lead-text-2 {
  text-align: center;
  font-size: 20px;
  color: #004099;
  font-weight: bold;
  line-height: 1.85;
  margin-top: 60px;
}
.section-03 .company-list {
  display: grid;
  gap: 25px 24px;
  margin-top: 21px;
  grid-auto-columns: 1fr;
}
.section-03 .company-list .item .tit {
  font-size: min(18px, 2.2vw);
  font-weight: 500;
  color: #fff;
  background-color: #004099;
  text-align: center;
  padding: 9px 10px;
}
.section-03 .company-list .item .company-logo {
  margin-top: 11px;
}
.section-03 .company-list .item .company-logo img {
  display: block;
}
.section-03 .company-list .item-01 {
  grid-column: 1/2;
  grid-row: 1/2;
}
.section-03 .company-list .item-02 {
  grid-column: 2 / 3;
  grid-row: 1 / 2;
}
.section-03 .company-list .item-03 {
  grid-column: 3 / 4;
  grid-row: 1 / 3;
}
.section-03 .company-list .item-04 {
  grid-column: 4 / 5;
  grid-row: 1 / 2;
}
.section-03 .company-list .item-05 {
  grid-column: 1 / 2;
  grid-row: 2 / 3;
}
.section-03 .company-list .item-06 {
  grid-column: 2 / 3;
  grid-row: 2 / 3;
}
.section-03 .company-list .item-07 {
  grid-column: 4 / 5;
  grid-row: 2 / 3;
}
@media screen and (min-width: 769px) {
  .section-02 .bnr a:hover {
    opacity: 0.8;
  }
  .link-btn:hover {
    background-color: #fff;
    color: #006FDE;
  }
  .preload {
    background-image: url(/assets/img/arrow/icn_arrow_blue.svg), url(/assets/img/common/ico_nav_link_blue.svg);
    display: none;
  }
  .link-btn:hover::before {
    background-image: url(/assets/img/arrow/icn_arrow_blue.svg);
  }
  .link-btn.external_icon-btn:hover::before {
    background-image: url(/assets/img/common/ico_nav_link_blue.svg);
  }
}
@media screen and (max-width: 768px) {
  .pc-none {
    display: block;
  }
  .sp-none {
    display: none;
  }
  .link-btn {
    padding: 18px 10px;
    margin-top: 15px;
  }
  .section-01 .title {
    font-size: 16px;
    margin-top: 14px;
    line-height: 1.8;
  }
  .section-01 .lead-text {
    font-size: 16px;
    text-align: left;
    margin-top: 14px;
  }
  .section-02 {
    padding: 29px 0 29px;
    margin-top: 26px;
  }
  .section-02 .title-h3 {
    font-size: 18px;
    margin-bottom: 17px;
  }
  .section-02 .bnr {
    margin-top: 6px;
  }
  .section-03 {
    margin: 32px 0 0;
  }
  .section-03 .head {
    max-width: 254px;
  }
  .section-03 .title-h3 {
    font-size: 16px;
    margin-top: 22px;
  }
  .section-03 .lead-text {
    font-size: 14px;
    text-align: left;
    margin-top: 15px;
    line-height: 1.7;
  }
  .section-03 .lead-text-2 {
    font-size: 16px;
    margin-top: 33px;
    line-height: 1.75;
  }
  .section-03 .company-list {
    gap: 8px 15px;
    margin-top: 14px;
  }
  .section-03 .company-list .item .tit {
    font-size: 14px;
    padding: 6px 10px;
  }
  .section-03 .company-list .item .company-logo {
    margin-top: 8px;
  }
  .section-03 .company-list .item-01 {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
  }
  .section-03 .company-list .item-02 {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
  }
  .section-03 .company-list .item-03 {
    grid-column: 1 / 2;
    grid-row: 3 / 5;
  }
  .section-03 .company-list .item-04 {
    grid-column: 2 / 3;
    grid-row: 3 / 4;
  }
  .section-03 .company-list .item-05 {
    grid-column: 1 / 2;
    grid-row: 2 / 3;
  }
  .section-03 .company-list .item-06 {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
  }
  .section-03 .company-list .item-07 {
    grid-column: 2 / 3;
    grid-row: 4 / 5;
  }
}