@charset "utf-8";
/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
PC版
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
[class*="__wrapper-m"] {
  width: min(100%, 1100px);
  margin-inline: auto;
}

.mb-96 {
  margin-bottom: 96px;
}

.cmn-py {
  padding-block: var(--sp-10) var(--sp-5);
}

.cmn-mb {
  margin-bottom: var(--sp-5);
}

.cmn-header {
  margin-bottom: var(--sp-5);
}
.cmn-header h3 {
  text-align: center;
  font-weight: var(--bold);
  font-size: var(--h3-fz);
}
.cmn-header h3 span {
  padding-inline: var(--sp-05);
  background: linear-gradient(
    to bottom,
    transparent 0%,
    #e8e428 0%,
    #e8e428 100%,
    transparent 100%
  );
}
.cmn-header {
  small {
    display: block;
    font-size: var(--small-fz);
    text-align: right;
  }
}
.cmn-header3 {
  margin-bottom: 24px;
  position: relative;
}
.cmn-header3::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  background-color: #1f294a;
  width: 5px;
  height: 100%;
  border-radius: 15px;
  margin-block: auto;
  transform: translateY(2px);
}
.cmn-header3 h4 {
  color: #1f294a;
  font-size: 24px;
  font-weight: 700;
  padding-inline: 15px;
}
.cmn-hl {
  background: linear-gradient(
    to bottom,
    transparent 60%,
    #e8e428 60%,
    #e8e428 100%,
    transparent 100%
  );
}
.cmn-line {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-flow: row nowrap;
  gap: var(--sp-2);
}
.cmn-line::before,
.cmn-line::after {
  content: "";
  flex-grow: 1;
  height: 5px;
  border-block: 1px solid;
}

.cmn-textbox p {
  line-height: 150%;
}
.cmn-textbox p:not(:last-child) {
  margin-bottom: var(--sp-2);
}
.cmn-textbox p em {
  font-weight: var(--bold);
  font-style: normal;
}

.sec00 {
  height: 500px;
  padding-block: 60px;
  background: no-repeat center / cover url("../img/sec00_bg.png");

  .sec00__wrapper-m {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: column nowrap;
    gap: var(--sp-4);
  }

  .sec00__header {
    width: 100%;
  }

  .sec00__subheader {
    position: relative;
  }

  .sec00__tel {
    position: absolute;
    inset: auto 0 0 auto;
    transform: translateY(-7px);

    span {
      font-size: 41px;
      font-weight: var(--bold);
      letter-spacing: -0.01em;
      color: var(--clr-white);
    }
  }
}

.sec01 {
  padding-bottom: 80px;
  background-color: #f8f8f8;
}
.sec01__header {
  margin-bottom: var(--sp-5);
}
.sec01__header h3 {
  text-align: center;
  font-size: var(--h2-fz);
  font-weight: var(--bold);
}
.sec01__list,
.sec01__item {
  display: flex;
}
.sec01__list {
  justify-content: center;
  align-items: stretch;
  flex-flow: row wrap;
  padding: var(--sp-3);
  position: relative;
  background-color: #ffffff;
  margin-bottom: var(--sp-1);
}
.sec01__list::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  margin-inline: auto;
  width: 60px;
  height: 30px;
  background: no-repeat center / contain url("../img/sec01_deco2.png");
  transform: translateY(calc(100% + var(--sp-5)));
}
.sec01__item {
  width: 50%;
  height: auto;
  border-radius: 0;
  align-items: start;
  flex-flow: row nowrap;
  gap: var(--sp-1);
  padding: var(--sp-2);

  &:not(:nth-last-child(-n + 2)) {
    border-bottom: 1px dashed #103e76;
  }

  &:nth-child(odd) {
    border-right: 1px dashed #103e76;
  }
}
.sec01__item::before {
  content: "";
  inset: 0 auto 0 0;
  width: 64px;
  height: 64px;
  border-radius: 0;
  flex-shrink: 0;
  background: no-repeat center/contain url("../img/sec01_deco.png");
}
.sec01__item .cmn-textbox {
  flex-grow: 1;
  /* font-weight: 400; */
}
.sec01__item .cmn-textbox em {
  color: #1d3a67;
}
.sec01__box2 {
  height: 254px;
  background: no-repeat right/cover url("../img/sec01_bg.png");
  display: flex;
  margin-bottom: var(--sp-10);
}
.sec01__box2-header {
  margin: auto var(--sp-10) var(--sp-4);
}
.sec01__box2-header h4 {
  font-size: var(--h5-fz);
  color: #e8e428;
  font-weight: var(--semibold);
  letter-spacing: 6%;
  margin-bottom: var(--sp-1);

  em {
    font-size: var(--h3-fz);
    font-style: normal;
  }
}
.sec01__box2-header p {
  font-size: var(--h6-fz);
  font-weight: var(--semibold);
  color: #ffffff;
  letter-spacing: 2%;
}
.sec01__box2-header small {
  display: block;
  font-size: 10px;
  color: #ffffff;
}

.custom-text {
  font-size: 12px;
  display: block;
  margin-bottom: var(--sp-10);
  text-align: right;
}

.sec02 {
  margin-top: var(--sp-5);
  .sec02__list {
    width: 100%;
  }

  .sec02__item {
    &:not(:last-child) {
      margin-bottom: var(--sp-1);
    }
  }

  .sec02__item-link {
    width: fit-content;
    display: block;
    width: inherit;
    height: inherit;
    padding: var(--sp-1);
    border-bottom: 1px solid #d6d9da;
    position: relative;

    &::before {
      content: "";
      position: absolute;
      /* inset: 0 auto 0 0; */
      inset: 0 0 0 auto;
      margin-block: auto;
      width: 7px;
      height: 14px;
      background: no-repeat center / contain url("../img/sec02_deco.png");
    }

    h3 {
      font-weight: var(--bold);
      font-size: var(--body-fz);
      color: #103e76;
    }
  }
}

.sec05 {
  padding-block: var(--sp-5) 0;

  .cmn-header {
    width: fit-content;
    margin-inline: auto;
  }
  .cmn-header {
    small {
      display: block;
      font-size: 10px;
      margin-top: var(--sp-1);
    }
  }
  .sec05__list {
    display: flex;
    justify-content: center;
    align-items: stretch;
    flex-flow: row wrap;
    gap: 32px;
    margin-bottom: 170px;
  }
  .sec05__item {
    width: min(100%, 251px);
    display: flex;
    justify-content: start;
    align-items: center;
    flex-flow: column nowrap;
    gap: 16px;
  }
  .sec05__item-header {
    width: 100%;
  }
  .sec05__item-header h5 {
    font-size: 20px;
    font-weight: 700;
  }

  .sec05__item .cmn-textbox {
    height: 150px;
    margin-block: auto 0;
    padding-top: 16px;
    border-top: 1px solid #000;
  }
  .sec05__item .cmn-textbox p {
    font-size: 14px;
  }
  .sec05__list2 {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: row wrap;
    gap: 24px 32px;
    margin-bottom: 80px;
    position: relative;
  }
  .sec05__list2::after {
    content: "";
    display: block;
    inset: auto 0 0 0;
    margin-inline: auto;
    width: 207px;
    height: 75px;
    border-radius: 0;
    background: no-repeat center/contain url("../img/sec05_deco2.png");
    transform: translateY(30px);
  }
  .sec05__item2 {
    width: 505px;
    height: 73px;
    border-radius: 40px;
    border: 1px solid #103e76;
    box-shadow: 0 4px 0 rgba(16, 62, 118, 0.5);
  }
  .sec05__item2-link {
    width: inherit;
    height: inherit;
    border-radius: inherit;
    display: flex;
    justify-content: start;
    align-items: center;
    padding-inline: 50px;
    position: relative;
  }
  .sec05__item2-link::before {
    content: "";
    position: absolute;
    inset: 0 0 0 auto;
    margin-block: auto;
    width: 10px;
    height: 20px;
    border-radius: 0;
    background: no-repeat center/contain url("../img/sec05_deco1.png");
    transform: translateX(-35px);
    transition: all 0.3s;
  }
  .sec05__item2-link:hover::before {
    transform: translateX(-40px);
  }
  .sec05__item2-link h4 {
    font-size: 20px;
    font-weight: 700;
  }
  .sec05__item2-link h4 {
    color: #3e6390;
  }
  .sec05__box2 {
    display: flex;
    justify-content: space-between;
    align-items: start;
    flex-flow: row nowrap;
    gap: 16px;
    margin-bottom: 80px;
  }
  .sec05__list3 {
    width: min(100%, 565px);
  }
  .sec05__item3 {
    padding: 10px 0 10px 30px;
    position: relative;
    border-bottom: 1px dashed #3ea2d7;
  }
  .sec05__item3::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    margin-block: auto;
    width: 24px;
    height: 24px;
    border-radius: 0;
    background: no-repeat center/contain url("../img/sec05_deco3.png");
  }
  .sec05__item3 h5 {
    font-weight: 700;
    font-size: var(--body-fz);
    letter-spacing: 0;
  }
}

.sec03 {
  padding-bottom: 80px;
}
.sec03__header {
  height: 198px;
  background: no-repeat top center/cover url("../img/sec03_bg.png");
  position: relative;
  margin-bottom: calc(var(--sp-1) * 12);
  padding-top: var(--sp-10);
}
.sec03__header::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  margin-inline: auto;
  width: 132px;
  height: 60px;
  background: no-repeat center / contain url("../img/sec03_deco2.png");
}
.sec03__header h3 {
  text-align: center;
  color: #ffffff;
  font-size: var(--h2-fz);
  font-weight: var(--bold);
}
.sec03__box {
  display: flex;
  justify-content: center;
  align-items: start;
  flex-flow: row wrap;
  gap: var(--sp-2);
  margin-bottom: var(--sp-3);
}
.sec03__box .cmn-textbox {
  width: min(100%, 670px);
  font-weight: var(--medium);
}
.sec03__list {
  width: min(100%, 930px);
  margin-inline: auto;
  list-style: "※" outside;
  margin-bottom: calc(var(--sp-1) * 7);
}
.sec03__item {
  font-size: 10px;
  color: #6e6e6e;
  padding-left: 5px;
}
.sec03__item:not(:last-child) {
  margin-bottom: calc(var(--sp-1) / 2);
}
.sec03__box2 {
  width: min(100%, 990px);
  margin-inline: auto;
  margin-bottom: var(--sp-5);
}
.sec03__box5 {
  margin-bottom: 20px;
}
.sec03__box5 ul {
  list-style: disc inside;
  padding: 16px 10px;
  background-color: #dae7ee;
  margin-block: 8px;
}
.sec03__box5 li {
  font-weight: 700;
}
.sec03__box3 {
  margin-bottom: 30px;
}
.sec03__box4 {
  padding: 15px 22px;
  background-color: #f2f2f2;
  margin-bottom: 16px;
}
.sec03__list2 {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-flow: row nowrap;
  gap: 20px;
  counter-reset: count;
  margin-bottom: 10px;
}
.sec03__item2 {
  width: 240px;
  height: 244px;
  border-radius: 0;
  background-color: #ffffff;
  filter: drop-shadow(0 4px 7px rgba(0, 0, 0, 0.25));
}
.sec03__item2:not(:last-child) {
  position: relative;
}
.sec03__item2:not(:last-child)::before {
  content: "";
  position: absolute;
  inset: 0 0 0 auto;
  width: 10px;
  height: 47px;
  border-radius: 0;
  margin-block: auto;
  background: no-repeat center/contain url("../img/sec03_deco1.png");
  transform: translateX(calc(100% + 10px));
}
.sec03__item2-header {
  background-color: #103e76;
  padding: 12px 0;
}
.sec03__item2-header h5 {
  color: #ffffff;
  font-size: 20px;
  font-weight: 700;
  text-align: center;
}
.sec03__item2-header h5::before {
  counter-increment: count;
  content: counter(count, decimal-leading-zero) ".";
  font-size: 20px;
}
.sec03__item2-box {
  padding: 20px;
  display: flex;
  justify-content: start;
  align-items: center;
  flex-flow: column nowrap;
  gap: 12px;
}
.sec03__button {
  color: #103e76;
  font-weight: 700;
}

.sec08 {
  background-color: #f8f8f8;
}
.sec06 .cmn-header h3 span {
  width: 95%;
  background: linear-gradient(
    to bottom,
    transparent 0%,
    #e8e428 0%,
    #e8e428 100%,
    transparent 100%
  );
}
.sec06 .cmn-header h3 span b {
  display: inline;
  letter-spacing: -0.6em;
}
.sec08__wrapper-m {
  padding: 80px 0;
  background: no-repeat bottom right/365px url("../img/sec08_bg.png");
}
.sec08__header {
  margin-bottom: 80px;
}
.sec08__header h3 {
  font-size: 32px;
  font-weight: 700;
}

.sec07 {
  position: relative;

  &::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    margin-inline: auto;
    width: 50px;
    height: 50px;
    background: no-repeat center / contain url("../img/sec07_deco1.png");
    transform: translateY(calc(-100% - 60px));
  }
  .sec07__wrapper-m {
    background-color: #eeeeee;
    padding-block: var(--sp-4) var(--sp-5);
  }
  .sec07__header {
    margin-bottom: var(--sp-4);

    h3 {
      text-align: center;
      font-size: calc(var(--sp-1) * 3.25);
      font-weight: var(--bold);
    }
  }

  .sec07__textbox {
    text-align: center;
    margin-bottom: var(--sp-4);
  }

  .sec07__list {
    display: flex;
    justify-content: center;
    align-items: stretch;
    flex-flow: row wrap;
    gap: var(--sp-2);
    counter-reset: count;
  }

  .sec07__item {
    width: min(100%, 329px);
  }

  .sec07__item-header {
    border-radius: var(--sp-2) var(--sp-2) 0 0;
    background-color: #1f3059;
    padding: var(--sp-2);

    h4 {
      color: var(--clr-white);
      font-size: var(--h5-fz);
      font-weight: var(--bold);

      &::before {
        counter-increment: count;
        content: counter(count) ". ";
        font-size: var(--h4-fz);
      }
    }
  }

  .sec07__item-box {
    border-radius: 0 0 var(--sp-2) var(--sp-2);
    background-color: var(--clr-white);
    padding: var(--sp-2);
  }

  .sec07__item-text {
    font-weight: var(--bold);
    margin-bottom: var(--sp-2);
  }

  .sec07__item-img {
    display: block;
    margin-inline: auto;
  }
}

/* -------------------------------------------------------------------------- */
/* sec04 */
#sec04 {
  background: url("../img/sec04_bg.png") no-repeat;
  background-size: 1920px;
  background-position: center bottom;
}

#sec04 .inner {
  padding-top: 0;
  /* padding-bottom: calc(60px + 96px); */
}

#sec04 h2.title {
  /* font-size: var(--h3-fz); */
  font-size: 36px;
  line-height: 130%;
  margin-bottom: var(--sp-10);
}

.sec04_title {
  color: var(--clr-white);
}

.sec04_title .sub-title {
  padding-top: 96px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 14px;
  line-height: 1.5;
  font-size: var(--h4-fz);
  font-weight: var(--bold);
  text-align: center;
  margin-bottom: var(--sp-5);
}

.sec04_title .sub-title strong {
  display: block;
  font-weight: var(--black);
  color: var(--clr-red);
  font-size: var(--h2-fz);
}

.sec04_title .title strong {
  color: var(--clr-accent);
}

.sec04_title-txt {
  /* width: 905px; */
  margin: 0 auto;
  font-size: var(--h6-fz);
  font-weight: var(--medium);
  line-height: 1.5;
  letter-spacing: 0.04em;
  text-align: center;
  margin-bottom: var(--sp-10);
}

.sec04_title-txt strong {
  color: var(--clr-red);
}

.sec04_content {
}

.sec04_content-list {
  margin-bottom: var(--sp-5);
}

.sec04_content-list-item {
  background-color: var(--clr-white);
  padding: var(--sp-3) 36px;
  border-radius: 6px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}

.sec04_content-list-item .txt_box {
  width: 720px;
}

.sec04_content-list-item .txt_box .title {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  font-size: var(--h4-fz);
  font-weight: var(--bold);
  color: var(--clr-sub02);
  text-align: left;
  padding-bottom: var(--sp-2);
  border-bottom: 2px solid var(--clr-sub02);
  margin-bottom: var(--sp-2);
  line-height: 1.5;
}
.sec04_content-list-item .txt_box .title span.num {
  display: block;
  width: 109px;
  font-weight: var(--bold);
  color: var(--clr-sub02);
}
.sec04_content-list-item .txt_box .title span.txt {
  display: block;
  width: 600px;
  font-weight: var(--bold);
  color: var(--clr-sub02);
}
.sec04_content-list-item .txt_box .txt {
  color: var(--clr-txt);
  font-weight: var(--light);
}

.sec04_content-list-item .txt_box .txt strong {
  /* color: var(--clr-red); */
  color: #b20000;
  font-weight: var(--medium);
}

.sec04_content-list-item .img {
  width: 285px;
}

.sec04_content-list-item .img img {
  max-width: 100%;
}

.sec04_slider-container {
  position: relative;
  width: 100%;
  overflow: hidden;
  margin-bottom: 60px;
}

.sec04_slider {
  display: flex;
  transition: transform 0.5s ease;
  /* overflow: hidden; */
}

.sec04_content-list-item.slide {
  min-width: 100%;
  box-sizing: border-box;
}

.sec04_slider-nav {
  position: relative;
  width: 100%;
  height: 0;
}

.sec04_slider-nav button {
  position: absolute;
  z-index: 1;
  top: -180px;
  /* スライドの高さに応じて調整 */
  transform: translateY(-50%);
}

.sec04_slider-nav .prev img,
.sec04_slider-nav .next img {
  width: 30px;
  height: 66px;
  /* ボタンのサイズを調整 */
}

.sec04_slider-nav .prev {
  left: -56px;
}

.sec04_slider-nav .next {
  right: -56px;
}

.sec04_slider-nav button {
  background: transparent;
  /* その他のプロパティは維持 */
}

/* -------------------------------------------------------------------------- */
/* sec04 */
#sec09 .more_btn_2011 {
  margin-top: var(--sp-5);
}
#sec09 .cmn-h2 {
  margin-bottom: var(--sp-5);
}
#sec09 h2.title {
  font-size: 36px;
  /* text-decoration: none; */
}
#sec09 .inner {
  padding-block: 0 !important;
}
.sec09_title {
}

.sec09_title .sub-title {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 14px;
  font-size: var(--h4-fz);
  line-height: 1.5;
  font-weight: var(--bold);
  text-align: center;
  margin-bottom: var(--sp-5);
}

.sec09_title .sub-title strong {
  display: block;
  color: var(--clr-main);
  font-weight: var(--black);
  font-size: var(--h2-fz);
}

/* .sec09_cont */
.sec09_cont {
  margin: 0 auto;
  background-color: #f8f8f8;
  padding: 18.3px 16px;
}

.sec09_cont-header {
  position: relative;
  display: flex;
  gap: var(--sp-2);
}

.sec09_cont-header::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 4px;
  left: 0;
  bottom: 0;
  background-color: #2f4365;
  border-radius: 4px;
}

.sec09_cont-tab .img {
  width: 85px;
  margin: 0 auto;
}
.sec09_cont-tab:nth-of-type(3) .img {
  width: 67px;
}
.sec09_cont-tab:nth-of-type(5) .img {
  width: 97px;
}
.sec09_cont-tab:nth-of-type(5) .img {
  width: 112px;
}
.sec09_cont-tab:nth-of-type(6) .img {
  width: 100px;
}
.sec09_cont-tab .img img {
  max-width: 100%;
}

.sec09_cont-tab .ttl {
  font-size: var(--h6-fz);
  color: var(--clr-main);
  margin-bottom: var(--sp-1);
  line-height: 1.2;
}

.sec09_cont-header .sec09_cont-tab {
  display: grid;
  flex: 1;
  text-align: center;
  padding: 11px;
  padding-top: 19px;
  cursor: pointer;
  font-weight: bold;
  border: 3px solid #eaeaea;
  /* 左右下のボーダー */
  border-top: none;
  /* 上のボーダーを削除 */
  border-radius: 10px 10px 0 0;
  /* 上の角だけ丸くする */
  opacity: 0.6;
  position: relative;
  /* 擬似要素のために必要 */
  background-color: #fff;
  /* 背景色を追加 */
}

.sec09_cont-header .sec09_cont-tab::before {
  content: "";
  position: absolute;
  top: 0;
  left: -3px;
  right: 0;
  width: calc(100% + 6px);
  height: 11px;
  background-color: var(--clr-main);
  border-radius: 10px 10px 0 0;
  z-index: 2;
}

.sec09_cont-header .sec09_cont-tab.active {
  position: relative;
  opacity: 1;
  background-color: #eaeaea;
  z-index: 2;
}

.sec09_cont-header .sec09_cont-tab.active::after {
  content: "";
  position: absolute;
  bottom: -8px;
  left: -3px;
  right: 0;
  width: calc(100% + 6px);
  height: 5px;
  background-color: #eaeaea;
  /* border-radius: 10px 10px 0 0; */
  z-index: 2;
}

.sec09_cont-content {
  display: none;
  background-color: #eaeaea;
  padding: 18.3px 16px;
}

.sec09_cont-content.active {
  display: block;
}

.sec09_cont-consult-box,
.sec09_cont-ddf-box {
  padding: var(--sp-2);
  background: var(--clr-white);
}

.sec09_cont-consult-title {
  width: fit-content;
  background-color: var(--clr-main);
  color: var(--clr-white);
  font-size: var(--h6-fz);
  font-weight: var(--bold);
  padding: var(--sp-05) var(--sp-1);

  margin-bottom: 14px;
}

.sec09_cont-ddf-title {
  width: fit-content;
  background-color: #1facd4;
  color: var(--clr-white);
  font-size: var(--h6-fz);
  padding: var(--sp-05) var(--sp-1);
  font-weight: bold;
  margin-bottom: 14px;
}

.sec09_cont-inner {
  display: flex;
  gap: var(--sp-2);
}

.sec09_cont-inner > div {
  flex: 1;
  width: 510px;
  min-height: 400px;
}

.sec09_link {
  color: #103e76;
  font-weight: var(--bold);
  margin-top: var(--sp-2);
}
.sec09_link::after {
  content: ">";
}

/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
既存パーツ調整
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
#faq .sec_cta {
  margin-bottom: var(--sp-10);
}
#faq {
}
#faq .inner {
  padding-top: 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;
}

/* .more_btn_2011 */
.more_btn_2011 {
  /* zoom: 80%; */
}
.more_btn_2011 a {
  width: fit-content;
  display: block;
  margin: 0 auto;
}
