@charset "utf-8";
/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
PC版
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
[class*='__wrapper-m'] {
  width: min(100%, 1100px);
  margin-inline: auto;
}

main {
  position: relative;
}

.cmn-py {
  padding-block: 0 calc(var(--sp-1) * 12);
}

.cmn-mb {
  margin-bottom: var(--sp-5);
}

.cmn-header {
  padding: var(--sp-5);
  background: no-repeat center / cover url('../img/cmn-header_bg.png');

  h3 {
    font-size: var(--h2-fz);
    font-weight: var(--bold);
    color: var(--clr-white);
    text-align: center;
  }
}

.cmn-header2 {
  h4 {
    font-size: var(--h3-fz);
    font-weight: var(--bold);
    text-align: center;
  }
}

.cmn-header3 {
  position: relative;
  margin-bottom: var(--sp-5);
  padding-left: var(--sp-2);

  &::before {
    content: '';
    position: absolute;
    inset: 0 auto 0 0;
    background-color: var(--clr-main);
    width: 5px;
    height: 30px;
    margin-block: auto;
    border-radius: var(--sp-2);
  }

  h4 {
    font-size: var(--h4-fz);
    font-weight: var(--bold);
    color: var(--clr-main);
  }
}

.cmn-textbox {
  text-align: justify;

  p {
    line-height: 180%;

    &:not(:last-child) {
      margin-bottom: var(--sp-3);
    }

    span {
      background-color: var(--clr-accent);
    }
  }
}

.sec00 {
  height: 346px;
  background: no-repeat center / cover url('../img/sec00_bg.png');

  .sec00__wrapper-m {
    padding-block: calc(var(--sp-1) * 11);
    display: flex;
    justify-content: space-between;
    align-items: end;
    flex-flow: row nowrap;
    gap: var(--sp-4);
  }

  .sec00__header {
    color: var(--clr-white);
    font-weight: var(--bold);
    filter: drop-shadow(0 4px 4px rgba(0, 0, 0, 0.25));
  }

  .sec00__title {
    font-size: calc((var(--sp-1)) * 7.5);
    margin-bottom: var(--sp-1);
  }

  .sec00__text1 {
    width: fit-content;
    font-size: var(--h3-fz);
    padding: 0 var(--sp-1);
    border: 1px solid var(--clr-white);
  }
}

.sec01 {
  padding-block: calc(var(--sp-1) * 12);

  .sec01__list {
    display: flex;
    justify-content: space-around;
    align-items: center;
    flex-flow: row nowrap;
    gap: var(--sp-1);
  }

  .sec01__item {
    width: 260px;
    height: 260px;
    background-color: var(--clr-sub01);
    border-radius: 50%;

    position: relative;
    transition: all 0.2s;
    /* box-shadow: 0 8px 0 var(--clr-sub02); */
    box-shadow: 0 4px 4px 0 #00000040;

    &:hover {
      transform: translateY(5px);
      /* box-shadow: 0 0 0 var(--clr-sub02); */
      box-shadow: 0 0px 0px 0 #00000040;
    }
  }

  .sec01__item-link {
    width: inherit;
    height: inherit;
    border-radius: inherit;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;

    &::before {
      content: '';
      position: absolute;
      inset: auto 0 40px 0;
      margin-inline: auto;
      width: 30px;
      height: 32px;
      background: no-repeat center / contain url('../img/sec01_deco1.png');
    }
  }

  .sec01__item-header {
    margin-bottom: var(--sp-3);

    h3 {
      color: var(--clr-white);
      font-size: var(--h4-fz);
      font-weight: var(--bold);
      text-decoration: underline;
      text-align: center;
    }
  }
}

.sec02 {
  .sec02__list,
  .sec02__list4,
  .sec02__item,
  .sec02__item2 {
    display: flex;
  }

  .sec02__list {
    justify-content: center;
    align-items: stretch;
    flex-flow: row wrap;
    gap: var(--sp-3) var(--sp-5);
    margin-bottom: var(--sp-5);
  }

  .sec02__item {
    justify-content: start;
    align-items: center;
    flex-flow: column nowrap;
    width: min(100%, 530px);
    padding: var(--sp-3);
    background-color: var(--clr-bg);

    .cmn-textbox {
      height: 175px;
      margin-bottom: calc(var(--sp-1) * 7);
    }
  }

  .sec02__item-img {
    margin-bottom: var(--sp-4);
  }

  .sec02__item-header {
    margin-bottom: var(--sp-3);

    h5 {
      font-weight: var(--bold);
      font-size: var(--h4-fz);
      text-align: center;
    }
  }

  .sec02__list2 {
    width: 100%;
    counter-reset: count;

    &:has(+ .sec02__list3) {
      margin-bottom: var(--sp-2);
    }
  }

  .sec02__list2--des2 {
    .sec02__item2-count {
      background: no-repeat center / contain url('../img/sec02_deco2.png');

      &::before {
        color: var(--clr-txt);
      }
    }
  }

  .sec02__item2-count {
    display: block;
    flex-shrink: 0;
    margin-right: var(--sp-2);
    width: 75px;
    height: 42px;
    background: no-repeat center / contain url('../img/sec02_deco1.png');
    position: relative;

    &::before {
      counter-increment: count;
      content: counter(count);
      position: absolute;
      inset: auto var(--sp-2) var(--sp-05) auto;
      color: var(--clr-white);
      font-weight: var(--black);
    }
  }

  .sec02__item2 {
    border-radius: var(--sp-05);
    background-color: var(--clr-white);
    padding: var(--sp-2);
    border: 1px solid #d9d9d9;
    justify-content: start;
    align-items: center;
    flex-flow: row nowrap;

    &:not(:last-child) {
      margin-bottom: var(--sp-1);
    }

    h6 {
      font-weight: var(--bold);
      line-height: 130%;
    }

    &:nth-child(n + 10) {
      .sec02__item2-count::before {
        right: calc(var(--sp-1) * 1.2);
      }
    }
  }

  .sec02__list3 {
    list-style: '※ ' outside;
    /* padding-left: calc(var(--sp-1) * 1.5); */
    padding-left: var(--sp-2);
  }

  .sec02__item3 {
    text-align: justify;
    font-size: var(--small-fz);
    font-weight: var(--medium);
  }

  .sec02__list4 {
    justify-content: center;
    align-items: center;
    flex-flow: row wrap;
    gap: var(--sp-2);
    margin-bottom: calc(var(--sp-1) * 10);
  }

  .sec02__item4 {
    width: min(100%, 262px);

    .sec02__item4-img {
      margin-bottom: var(--sp-2);
    }

    h5 {
      font-size: var(--h6-fz);
      font-weight: var(--bold);
      line-height: 150%;
      text-align: center;
    }
  }
}

.sec03 {
  .sec03__item {
    background-color: var(--clr-bg);
    padding: var(--sp-3);
    display: flex;
    justify-content: space-between;
    align-items: end;
    flex-flow: row wrap;
    /* gap: var(--sp-5); */

    &:nth-child(odd) {
      .sec03__item-header h5 {
        background-color: #2768ab;
      }
    }

    &:nth-child(even) {
      .sec03__item-header h5 {
        background-color: #00b0f0;
      }
    }

    &:not(:last-child) {
      margin-bottom: var(--sp-5);
    }

    .cmn-textbox {
      p {
        letter-spacing: 0;
      }
    }
  }

  .sec03__item-box {
    width: min(100%, 670px);
  }

  .sec03__item-header {
    font-weight: var(--bold);
    margin-bottom: var(--sp-2);

    h5 {
      width: fit-content;
      font-size: var(--h5-fz);
      padding: var(--sp-1);
      margin-bottom: var(--sp-2);
      color: var(--clr-white);
    }

    p {
      font-size: var(--h3-fz);
    }
  }

  .sec03__item-img {
    margin-inline: auto;
  }

  .sec03__img {
    margin-bottom: var(--sp-5);
  }
}

.sec04 {
  padding-bottom: 0;

  .cmn-textbox,
  .sec04__list {
    margin-bottom: var(--sp-10);
  }

  .sec04__list {
    display: flex;
    justify-content: center;
    align-items: stretch;
    flex-flow: row wrap;
    gap: var(--sp-2);
    counter-reset: count;
  }

  .sec04__item {
    background-color: var(--clr-bg);
    padding: var(--sp-1);

    h5 {
      text-align: center;
      font-size: var(--body-fz);
      font-weight: var(--regular);
    }
  }

  .sec04__item-img,
  .sec04__item-count {
    margin-bottom: var(--sp-1);
  }

  .sec04__item-count {
    text-align: center;
    background-color: var(--clr-sub01);
    color: var(--clr-white);
    font-size: var(--h6-fz);
    font-weight: var(--bold);
    padding: var(--sp-05);

    &::after {
      counter-increment: count;
      content: counter(count);
      font-size: var(--h4-fz);
    }
  }
}

.sec05 {
  padding-block: 100px 0;

  .sec05__list {
    width: 100%;
  }

  .sec05__item {
    &:not(:last-child) {
      margin-bottom: var(--sp-1);
    }
  }

  .sec05__item-link {
    display: block;
    width: inherit;
    height: inherit;
    padding: var(--sp-1) var(--sp-2);
    border-bottom: 1px solid #d6d9da;
    position: relative;

    &::before {
      content: '';
      position: absolute;
      inset: 0 auto 0 0;
      margin-block: auto;
      width: 7px;
      height: 14px;
      background: no-repeat center / contain url('../img/sec05_deco.png');
    }

    h3 {
      font-weight: var(--regular);
      font-size: var(--body-fz);
    }
  }
}

/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
既存パーツ調整
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
#faq .sec_cta {
  margin-bottom: var(--sp-10);
}
#faq {
}
#faq .inner {
  padding: 0;
}
.section-ttl-box {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: var(--sp-2);
  font-size: var(--h3-fz);
  font-weight: var(--medium);
  margin-bottom: var(--sp-4);
}

.sec-ttle {
  color: var(--clr-main);
}

#faq .qa-list dd::before {
  top: 25px;
}
.qa-list .in-dl {
  padding-right: 5vw;
}

#police-cooperation .reveal #topics_2011 {
  margin-top: 0 !important;
}

#service #service_2011 {
  padding-top: 0 !important;
}
