@charset "UTF-8";
main {
  section.mv {
    .headline {
      position: relative;
      background-image: url('../../img/area/mv_sp.webp');
      background-repeat: no-repeat;
      background-position: 0 0;
      background-size: contain;
      aspect-ratio: 375/ 390;
      width: 100%;
      height: auto;
      color: #0068b7;
      font-weight: 700;
      .lead {
        position: absolute;
        top: 13.6%;
        left: 20px;
        font-size: 17px;
        line-height: 1.3;
        padding-bottom: 5px;
        padding-right: 12px;
        border-bottom: 1px solid #0068b7;
        span {
          font-size: 12px;
          display: block;
        }
      }
      .mv_title {
        position: absolute;
        top: 26.9%;
        left: 20px;
        font-size: 28px;
        line-height: 1.4;
        text-shadow: 2px 2px 1px #fff;
      }
      .free {
        display: none;
      }
    }
    .jisseki {
      margin: 0 0 15px;
      padding: 6px 0 8px;
      background: #d6e7f4;
      color: #0068b7;
      text-align: center;
      font-size: 18px;
      font-weight: 700;
      letter-spacing: 2px;
      text-decoration-line: underline;
      text-decoration-style: solid;
      text-decoration-skip-ink: none;
      text-decoration-color: rgba(253, 216, 53, 0.5);
      text-decoration-thickness: 15%; /* 2.7px */
      text-underline-offset: 11%; /* 1.98px */
      text-underline-position: from-font;
    }
  }
  section.point {
    .sect_step {
      margin-top: 36px;
      ul {
        gap: 36px;
        li {
          padding: 40px 24px 24px;
          &:not(:last-child)::after {
            display: none;
          }
        }
      }
      .icon {
        width: 80px;
        height: 80px;
        margin: 0 auto 16px;
        background-color: #d6e7f4;
        border-radius: 80px;
        display: flex;
        justify-content: center;
        align-items: center;
        img {
          margin: 0;
          height: 55px;
          width: auto;
          filter: brightness(0) saturate(100%) invert(33%) sepia(87%) saturate(6720%) hue-rotate(193deg) brightness(90%) contrast(101%);
        }
      }
    }
  }
  section.riyu {
    .block01 {
      margin-bottom: 94px;

      .block01__ttl {
        color: var(--Blue-BL1, #0068b7);
        text-align: center;
        font-feature-settings: 'pkna' on;
        font-size: 20px;
        font-weight: 700;
        text-decoration-line: underline;
        text-decoration-color: #d6e7f4;
        text-decoration-thickness: 18%;
        margin-bottom: 36px;
      }

      ul {
        display: flex;
        flex-direction: column;
        gap: 24px;
        width: 276px;
        margin: 0 auto;
      }

      li {
        width: 100%;
        display: flex;
        gap: 16px;

        figure {
          max-width: 80px;
          margin: 0;
          position: relative;

          &::before {
            position: absolute;
            content: '1';
            width: 32px;
            height: 32px;
            line-height: 34px;
            top: -10px;
            left: -16px;
            font-family: 'DIN 2014';
            background: #0068b7;
            border-radius: 50%;
            color: #fff;
            text-align: center;
            font-weight: 700;
          }
        }

        &:nth-child(2) figure::before {
          content: '2';
        }

        &:nth-child(3) figure::before {
          content: '3';
        }

        &:nth-child(4) figure::before {
          content: '4';
        }

        p {
          text-align: left;
          font-feature-settings: 'pkna' on;
          font-size: 18px;
          font-weight: 700;
        }
      }
    }
  }
  section.office_list {
    .sect_faq {
      margin-bottom: 40px;
    }
    .link_anchor_thumb {
      margin-top: 32px;
      font-weight: normal;
      > *:first-of-type {
        border-top: 1px solid var(--Black-BK3);
      }
      > * > a {
        gap: 8px;
        padding-top: 16px;
        padding-bottom: 16px;
        padding-right: 24px;
        &::after {
          right: 0;
          -webkit-mask-image: url(../img/icon/icon_arrow.svg);
          mask-image: url(../img/icon/icon_arrow.svg);
        }
      }
      p {
        span {
          display: inline-block;
          &.link {
            font-weight: 700;
            color: #0068b7;
            border-bottom: 1px solid #0068b7;
            margin-bottom: 4px;
          }
        }
      }
      .thumb {
        width: 80px;
        height: 80px;
        img {
          width: 80px;
          height: 80px;
          object-fit: cover;
          border-radius: 4px;
        }
      }
    }
    .from_staff {
      display: flex;
      flex-direction: column;
      gap: 16px;
      margin-top: 24px;
      padding: 16px;
      border-radius: 4px;
      border: 1px solid #cce1f1;
      .title {
        display: flex;
        align-items: center;
        gap: 16px;
        .icon_staff {
          flex-basis: 72px;
          width: 72px;
          height: 72px;
        }
        h4 {
          margin-top: 0;
        }
      }
      .txt {
      }
    }
    .btn {
      margin: 40px auto;
    }
  }
  section.search_area {
    .search_wrap {
      form {
        width: 100%;
        input {
          max-width: 207px;
        }
        .btn {
          flex-shrink: 1;
        }
      }
    }
    .box {
      margin-top: 24px;
      border-radius: 4px;
      border: 1px solid #d9d9d9;
      h3 {
        background-color: #f0f6fb;
        text-align: center;
        color: #0068b7;
        margin: 0;
        padding: 5px;
      }
      .column_box {
        padding: 30px 20px;
        gap: 24px;
        .txt {
          .list {
            margin: 24px 0;
          }
          em {
            color: #000;
          }
        }
      }
    }
    .sect_servicearea {
      margin: 40px 0;
      ul {
        margin-bottom: 40px;
        li {
          color: #000;
        }
      }
    }
    .search_layout {
      margin: 40px 0;
      .sect_servicearea {
        margin: 0 0;
      }
      .prefectures_map {
        img {
          margin-bottom: 24px;
        }
      }
    }
  }
  section.support {
    .box {
      margin: 24px 0;
      border: 1px solid #d9d9d9;
      border-radius: 4px;
      padding: 20px;
      display: flex;
      flex-direction: column;
      gap: 40px;
      .list {
        margin: 0;
      }
    }
    .btn {
      margin-top: 24px;
    }
  }
  section.soudan {
    .column_box {
      gap: 30px;
    }
    .box {
      border: 1px solid #d9d9d9;
      border-radius: 4px;
      padding: 24px;
      .title {
        display: flex;
        align-items: center;
        margin-bottom: 20px;
        gap: 12px;
        h4 {
          margin: 0;
        }
        .icon {
          width: 35px;
          height: 35px;
          border-radius: 999px;
          background-color: #f5f5f5;
          display: flex;
          justify-content: center;
          align-items: center;
          img {
            width: 20px;
            filter: brightness(0) saturate(100%) invert(33%) sepia(87%) saturate(6720%) hue-rotate(193deg) brightness(90%) contrast(101%);
          }
        }
      }
      .point {
        margin-top: 20px;
        padding: 15px;
        background: #f0f6fb;
      }
    }
    .strong {
      margin-top: 24px;
      text-align: center;
      background-color: #60aae5;
      padding: 8px 0;
      color: #f0f6fb;
      font-weight: 700;
    }
    .btn {
      margin-top: 24px;
    }
  }
  section.column {
    .column_box {
      flex-direction: row;
      flex-wrap: wrap;
      gap: 24px;
      &.col4 {
        & > * {
          width: calc((100% - (24px * 1)) / 2);
        }
      }
    }
    .btn {
      margin-top: 40px;
    }
  }
}
@media (width >= 768px) {
  main {
    section.mv {
      .headline {
        position: relative;
        background-image: url('../../img/area/mv_pc.webp');
        background-repeat: no-repeat;
        background-position: 0 0;
        background-size: contain;
        aspect-ratio: 1120 / 332;
        max-width: 1120px;
        height: auto;
        margin: 0 auto;
        .lead {
          top: 13.25%;
          left: 5.9%;
          font-size: 23px;
          padding-bottom: 8px;
          padding-right: 36px;
          border-bottom: 1px solid #fdd835;
          color: #fdd835;

          span {
            font-size: 18px;
          }
        }
        .mv_title {
          top: 38.9%;
          left: 5.9%;
          font-size: 38px;
          text-shadow: none;
          color: #fff;
        }
        .free {
          position: absolute;
          display: flex;
          padding: 12px 24px;
          justify-content: center;
          align-items: center;
          gap: 10px;
          border-radius: 50px;
          background: var(--Blue-BL2, #60aae5);
          color: #fff;
          font-size: 18px;
          bottom: 13.5%;
          left: 5.9%;
          line-height: 1;
        }
      }
      .jisseki {
        max-width: 1120px;
        margin: 0 auto 12px;
        padding: 10px 0;
        font-size: 20px;
        text-decoration-thickness: 20%;
        text-underline-offset: 11%;
        span {
          display: flex;
          gap: 10px;
          justify-content: center;
          align-items: center;
          &::before,
          &::after {
            content: '';
            width: 1.5px;
            height: 1.2em;
            margin: auto;
            background-color: #0068b7;
          }
          &::before {
            transform: rotate(-28.2deg);
            margin-right: 10px;
          }
          &::after {
            transform: rotate(28.2deg);
            margin-left: 10px;
          }
        }
      }
    }
    section.point {
      .sect_step {
        ul {
          gap: 25px;
        }
        .icon {
          width: 120px;
          height: 120px;
          border-radius: 120px;
        }
      }
    }
    section.riyu {
      margin-bottom: 120px;
      .block01 {
        .block01__ttl {
          font-size: 28px;
          margin-bottom: 48px;
        }

        ul {
          flex-direction: row;
          width: auto;
          max-width: 952px;
        }

        li {
          width: 220px;
          display: block;

          figure {
            max-width: 160px;
            margin: 0 auto 16px;

            &::before {
              width: 36px;
              height: 36px;
              top: -12px;
              left: -18px;
            }
          }

          p {
            text-align: center;
            font-size: 20px;
          }
        }
      }
    }
    section.office_list {
      .sect_faq {
      }
      .link_anchor_thumb {
        gap: 0 32px;
        > *:nth-of-type(-n + 3) {
          border-top: 1px solid var(--Black-BK3);
        }
        > * {
          flex: 0 1 calc((100% - 32px * 2) / 3);
        }
        > * > a {
          gap: 16px;
          padding-top: 20px;
          padding-bottom: 20px;
          padding-right: 32px;
        }
      }
      .from_staff {
        flex-direction: row;
        gap: 32px;
        margin-top: 32px;
        padding: 32px;
        .title {
          flex-shrink: 0;
          .icon_staff {
          }
          h4 {
          }
        }
        .txt {
        }
      }
      .btn {
        margin: 48px auto;
      }
    }
    section.search_area {
      .box {
        margin-top: 40px;
        h3 {
          padding: 16px;
        }
        .column_box {
          padding: 30px;
          .pict {
            max-width: 360px;
          }
          .txt {
            flex: 1 1 auto;
            .list {
              margin: 24px 0;
            }
          }
        }
      }
    }
    section.support {
      .box {
        margin: 40px 0;
        flex-direction: row;
        justify-content: center;
        .list {
          margin: 0;
          flex-basis: 400px;
        }
      }
      .btn {
        margin-top: 40px;
      }
    }
    section.soudan {
      .column_box {
        gap: 40px 30px;
      }
      .box {
        .title {
          h4 {
          }
          .icon {
            width: 60px;
            height: 60px;
            display: flex;
            img {
              width: 35px;
            }
          }
        }
        .point {
        }
      }
      .strong {
        margin-top: 40px;
      }
      .btn {
        margin-top: 40px;
      }
    }
    section.column {
      .column_box {
        flex-wrap: nowrap;
        &.col4 {
          & > * {
            flex: 1;
          }
        }
      }
      .btn {
        margin-top: 40px;
      }
    }
  }
}
@media (width >= 1024px) {
  main {
  }
}
