@charset "UTF-8";
.page_visual {
  background: url("../img/page_visual.webp") no-repeat bottom center/cover;
}

.pc_block {display: block;}
.sp_block {display: none;}

.anchor_outer {
  position: relative;
  background: #D9E4F1;
  padding: 56px 0;
}
.anchor_inner {
  position: relative;
  width: 90%;
  max-width: 1024px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 40px 72px;
  a {
    position: relative;
    width: 100%;
    max-width: 280px;
    display: flex;
    flex-direction: column;
    &:hover {
      opacity: 1;
      img {
        transform: scale(1.06, 1.06);
        transition: .5s all;
      }
    }
    &::before {
      content: '';
      position: absolute;
      background: url(../img/arrow.png)no-repeat center;
      background-size: contain;
      width: 11px;
      height: 17px;
      top: 0;
      bottom: 0;
      right: -2.6em;
      margin: auto;
    }
    &:last-child::before {display: none;}
  }
}
.anchor_txt {
  background: transparent linear-gradient(90deg, #003566 0%, #00448C 100%) 0% 0% no-repeat padding-box;
  display: flex;
  align-items: center;
  gap: 32px;
  font-weight: bold;
  padding: 4px 20px;
  color: #fff;
  .anchor_num {
    position: relative;
    top: 6px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    font-family: var(--font-family-en);
    font-weight: bold;
    font-size: 1.4rem;
    min-width: 33px;
    span {
      font-size: 2.8rem;
      margin-top: -16px;
    }
  }
  .anchor_ttl {
    width: calc(100% - 105px);
    text-align: center;
  }
  .anchor_ttl.long {
    width: 100%;
  }
}
.anchor_img {
  overflow: hidden;
  height: auto;
}

.step_sec {
  position: relative;
  background: #fff;
  padding: 64px 0 56px;
}
.step_sec--inner {
  width: 90%;
  max-width: 1024px;
  margin: 0 auto;
}
.step_block {
  position: relative;
  background: #F0F0F0;
  margin-bottom: 104px;
  padding: 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 40px;
  &::before {
    content: '';
    position: absolute;
    background: url(../img/under_arrow.png) no-repeat center;
    background-size: contain;
    width: 60px;
    height: 60px;
    bottom: -8.2em;
    right: 0;
    left: 0;
    margin: auto;
  }
  &:last-child {margin-bottom: 0;}
  &:last-child::before {display: none;}
}
.step_txt {
  width: 134px;
  min-width: 134px;
  height: 210px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-family: var(--font-family-en);
  font-weight: 900;
  background: transparent linear-gradient(90deg, #003463 0%, #00458F 100%) 0% 0% no-repeat padding-box;
  color: #fff;
  span:first-child {font-size: 2.8rem;}
  span:last-child {
    font-size: 5rem;
    margin-top: -24px;
  }
}
.step_flex {
  position: relative;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 40px;
  li:first-child {
    width: 100%;
    max-width: calc(100% - 281px);
  }
  h2 {
    color: var(--main-color);
    font-size: 2.4rem;
    font-weight: bold;
    margin-bottom: 20px;
    line-height: 1.6;
    & + p {line-height: 1.6;}
  }
  a {
    position: relative;
    color: var(--main-color);
    text-decoration: underline;
    display: inline;
    &:hover {
      text-decoration: none;
    }
  }
}
.pro_contact_btn {margin-top: 0;}

@media screen and (max-width: 767px) {
  .pc_block {display: none;}
  .sp_block {display: block;}

  .anchor_inner {
    gap: 20px;
    a {
      max-width: 45%;
      &::before {
        right: -1em;
      }
    }
  }
  .anchor_txt {
    gap: 10px;
    padding: 4px 10px;
    .anchor_num {
      font-size: 1.2rem;
      min-width: 29px;
      top: 4px;
      span {
        font-size: 1.9rem;
      }
    }
    .anchor_ttl {
      font-size: 1.2rem;
      line-height: 1.6;
      width: calc(100% - 59px);
    }
  }

  .step_block {
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
  }
  .step_txt {
    flex-direction: row;
    width: 100%;
    height: 56px;
    justify-content: flex-start;
    align-items: center;
    padding: 10px;
    gap: 10px;
    span:first-child {font-size: 2rem;}
    span:last-child {
      font-size: 3.2rem;
      margin-top: 0px;
    }
  }
  .step_flex {
    flex-direction: column;
    gap: 20px;
    li:first-child {
      max-width: initial;
    }
    h2 {
      margin-bottom: 8px;
    }
  }
}