@charset "UTF-8";

main section:not(.b-innermain, .b-sec01) {
  margin-bottom: 150px; }
  @media screen and (max-width: 768px) {
    main section:not(.b-innermain, .b-sec01) {
      margin-bottom: 0; } }

h2.border {
  color: #0f2c4b; }

main .b-sec01 {
  margin-bottom: 0;
  padding: 150px 0 100px;
  background: linear-gradient(180deg, rgba(145, 192, 247, 0.5) 0%, rgba(145, 192, 247, 0) 100%); }
  @media screen and (max-width: 768px) {
    main .b-sec01 {
      padding: 100px 0; } }
  main .b-sec01 .e-edu {
    opacity: 0.4;
    color: #fff;
    font-weight: 400;
    text-align: center; }
    @media screen and (max-width: 768px) {
      main .b-sec01 .e-edu {
        margin-bottom: 10px;
        margin-inline: -20px; } }
  main .b-sec01 h2 {
    margin-bottom: 30px;
    color: #0f2c4b; }
  main .b-sec01 p.-l-bold {
    margin-bottom: 80px; }
    @media screen and (max-width: 768px) {
      main .b-sec01 p.-l-bold {
        margin-bottom: 50px; } }
  main .b-sec01 .e-buttonWrap {
    max-width: 800px;
    max-width: 1200px;
    margin: 0 auto;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 30px 30px; }
    @media screen and (max-width: 480px) {
      main .b-sec01 .e-buttonWrap {
        gap: 20px 0; } }
    main .b-sec01 .e-buttonWrap li {
      width: calc(50% - 20px);
      width: calc(380%/12); }
      @media screen and (max-width: 768px) {
        main .b-sec01 .e-buttonWrap li {
          width: 100%;
          max-width: 500px;
          margin: 0 auto; } }
      @media screen and (max-width: 480px) {
        main .b-sec01 .e-buttonWrap li {
          width: 100%; } }
      main .b-sec01 .e-buttonWrap li a {
        display: flex;
        justify-content: center;
        align-items: center;
        color: #fff;
        background: #0f2c4b;
        padding: 28px 10px;
        border-radius: 45px;
        position: relative; }
        @media screen and (max-width: 600px) {
          main .b-sec01 .e-buttonWrap li a:hover {
            opacity: 1; } }
        main .b-sec01 .e-buttonWrap li a::after {
          content: "";
          transform: rotate(90deg);
          position: absolute;
          top: 2px;
          bottom: 0;
          right: calc(24.5%/2.86);
          margin: auto;
          width: 10px;
          height: 10px;
          background-image: url("../images/common/arrow01_w.svg");
          background-position: center;
          background-repeat: no-repeat;
          background-size: contain; }
          @media screen and (min-width: 1000px) and (max-width: 1250px) {
            main .b-sec01 .e-buttonWrap li a::after {
              right: 20px; } }
main .b-sec02 {
  padding-top: 200px; }
  @media screen and (max-width: 768px) {
    main .b-sec02 {
      margin-bottom: 0 !important; } }
  main .b-sec02 .e-inner {
    max-width: 1300px; }
  main .b-sec02 .e-item01 {
    margin-bottom: 150px; }
    @media screen and (max-width: 768px) {
      main .b-sec02 .e-item01 {
        margin-bottom: 20px;
        margin-bottom: 0px; } }
    main .b-sec02 .e-item01 > .-xl {
      margin-bottom: 80px; }
      @media screen and (max-width: 768px) {
        main .b-sec02 .e-item01 > .-xl {
          margin-bottom: 50px; } }
    main .b-sec02 .e-item01-box1 {
      display: flex;
      justify-content: space-between; }
      @media screen and (max-width: 1000px) {
        main .b-sec02 .e-item01-box1 {
          flex-direction: column;
          gap: 50px 0; } }
      main .b-sec02 .e-item01-box1-txt {
        width: calc(625%/13); }
        @media screen and (max-width: 1000px) {
          main .b-sec02 .e-item01-box1-txt {
            width: 100%; } }
        main .b-sec02 .e-item01-box1-txt > h1 {
          margin-bottom: 40px;
          color: #0f2c4b; }
          @media screen and (max-width: 1000px) {
            main .b-sec02 .e-item01-box1-txt > h1 {
              text-align: center; } }
        main .b-sec02 .e-item01-box1-txt > .-l-bold {
          line-height: 1.8; }
      main .b-sec02 .e-item01-box1-image {
        width: calc(625%/13); }
        @media screen and (max-width: 1000px) {
          main .b-sec02 .e-item01-box1-image {
            width: calc(100% + 40px);
            margin: 0 -20px; } }
  main .b-sec02 .e-item02 {
    margin: 0 auto;
    background: #F4F9FE;
    padding: 100px 15px 50px; }
    @media screen and (max-width: 768px) {
      main .b-sec02 .e-item02 {
        padding: 50px 20px; } }
    main .b-sec02 .e-item02 .e-list {
      max-width: 1000px;
      margin: 0 auto 80px;
      display: flex;
      gap: 40px 0;
      flex-wrap: wrap;
      justify-content: space-between; }
      @media screen and (max-width: 768px) {
        main .b-sec02 .e-item02 .e-list {
          flex-direction: column;
          gap: 35px 0; } }
      main .b-sec02 .e-item02 .e-list li {
        width: 48%;
        color: #2365B1;
        text-indent: -1.5em;
        padding-left: 1.5em; }
        @media screen and (max-width: 768px) {
          main .b-sec02 .e-item02 .e-list li {
            width: 100%; } }
        main .b-sec02 .e-item02 .e-list li::before {
          content: "■";
          margin-right: 0.5em; }
    main .b-sec02 .e-item02 .-s {
      color: #6F6F6F; }
main .b-sec03 {
  padding: 200px 0 150px;
  background: #F4F9FE; }
  @media screen and (max-width: 768px) {
    main .b-sec03 {
      padding: 200px 0 100px;
      margin-bottom: 20px !important; } }
  @media screen and (max-width: 600px) {
    main .b-sec03 .e-inner {
      width: calc(100% - 100px); } }
  main .b-sec03 .e-box01 {
    max-width: 900px;
    max-width: 1300px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 800px) {
      main .b-sec03 .e-box01 {
        flex-direction: column;
        gap: 30px 0; } }
    main .b-sec03 .e-box01 > div {
      width: calc(385%/13);
      padding: 50px;
      padding: 50px 36px;
      background: #ffffff;
      border-radius: 10px;
      box-shadow: 0 0 5px rgba(0, 0, 0, 0.4);
      border: 1px solid #2365B1; }
      @media screen and (max-width: 1300px) {
        main .b-sec03 .e-box01 > div {
          width: calc(420%/13);
          padding: 25px; } }
      @media screen and (max-width: 1000px) {
        main .b-sec03 .e-box01 > div {
          padding: 20px; } }
      @media screen and (max-width: 800px) {
        main .b-sec03 .e-box01 > div {
          width: 100%; } }
      @media screen and (max-width: 600px) {
        main .b-sec03 .e-box01 > div {
          padding: 50px; } }
      main .b-sec03 .e-box01 > div h3 {
        text-align: center;
        line-height: 1;
        padding-bottom: 25px;
        margin-bottom: 20px;
        position: relative;
        color: #0f2c4b;
        font-feature-settings: "palt";
        line-height: 1.4; }
        main .b-sec03 .e-box01 > div h3::after {
          content: "";
          height: 2px;
          display: block;
          position: absolute;
          left: 0;
          bottom: 0;
          right: 0;
          border-bottom: none;
          background-image: linear-gradient(to right, #2365B1 0, #2365B1 2px, transparent 2px, transparent 8px);
          background-repeat: repeat-x;
          background-size: 8px 2px;
          background-position: left bottom; }
@media screen and (max-width: 768px) {
  main .b-sec04 {
    margin-bottom: 20px !important; } }
main .b-sec04 .e-inner {
  max-width: 1300px; }
main .b-sec04 .e-item02 {
  margin: 0 auto;
  background: #F4F9FE;
  padding: 100px 15px 50px; }
  @media screen and (max-width: 768px) {
    main .b-sec04 .e-item02 {
      padding: 50px 20px; } }
  main .b-sec04 .e-item02 .e-list {
    max-width: 1000px;
    margin: 0 auto 80px;
    display: flex;
    gap: 40px 0;
    flex-wrap: wrap;
    justify-content: space-between; }
    @media screen and (max-width: 768px) {
      main .b-sec04 .e-item02 .e-list {
        flex-direction: column;
        gap: 35px 0; } }
    main .b-sec04 .e-item02 .e-list li {
      width: 48%;
      color: #2365B1;
      text-indent: -1.5em;
      padding-left: 1.5em; }
      @media screen and (max-width: 768px) {
        main .b-sec04 .e-item02 .e-list li {
          width: 100%; } }
      main .b-sec04 .e-item02 .e-list li::before {
        content: "■";
        margin-right: 0.5em; }
      @media screen and (max-width: 480px) {
        main .b-sec04 .e-item02 .e-list li .e-ls_sp {
          letter-spacing: -0.07em; } }
  main .b-sec04 .e-item02 .-s {
    color: #6F6F6F; }
main .b-sec05 {
  margin-bottom: 0 !important;
  padding: 200px 0 150px;
  background: #F4F4F4; }
  @media screen and (max-width: 768px) {
    main .b-sec05 {
      padding: 180px 0 100px; } }
  @media screen and (max-width: 768px) {
    main .b-sec05 p.-xl {
      text-align: left; } }
  main .b-sec05 .e-support {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    max-width: 1260px;
    margin: 80px auto 0; }
    @media screen and (max-width: 768px) {
      main .b-sec05 .e-support {
        flex-direction: column;
        gap: 30px 0; } }
    main .b-sec05 .e-support-item01 {
      width: calc(605%/12.6);
      background: #ffffff;
      padding: 20px; }
      @media screen and (max-width: 768px) {
        main .b-sec05 .e-support-item01 {
          width: 100%; } }
      main .b-sec05 .e-support-item01 > .-xxl {
        background: #0f2c4b;
        color: #ffffff;
        text-align: center;
        padding: 10px 5px; }
      main .b-sec05 .e-support-item01 > figure {
        margin-bottom: 20px; }

#buttonFixed.-Fixed {
  max-width: 750px;
  flex-wrap: nowrap;
  gap: 10px; }
  @media screen and (max-width: 1000px) {
    #buttonFixed.-Fixed {
      flex-wrap: wrap;
      width: calc(100% - 40px); } }
  @media screen and (max-width: 1000px) {
    #buttonFixed.-Fixed li {
      width: calc(50% - 5px); } }
  @media screen and (max-width: 1000px) {
    #buttonFixed.-Fixed li:nth-child(1) {
      width: 62%;
      margin-inline: auto; } }
  #buttonFixed.-Fixed li a {
    padding: 6px;
    font-size: 13px; }
    #buttonFixed.-Fixed li a::after {
      display: none; }

.e-center {
  text-align: center; }
.e-inner {
  width: calc(100% - 40px);
  margin: 0 auto; }

footer {
  position: relative;
  z-index: 12; }

