/* ------------------------------- common.css ------------------------------- */
html,
body {
  min-width: 100%;
}

body {
  .num-txt {
    line-height: 1;
  }
}

/* ============ reset ============ */
.sx-cnt * {
  all: unset;
  display: revert;
  font-family: sans-serif;
  /* zoom: 120%; */
}

.sx-cnt_wrap {
  zoom: 120%;

  *,
  ::before,
  ::after {
    box-sizing: border-box;
  }

  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  p {
    margin: 0;
    line-height: 1.5;
    /* letter-spacing: 0; */
  }

  ol,
  ul {
    list-style: none;
    padding: 0;
    margin: 0;
  }

  small,
  em,
  span,
  strong {
    font-style: normal;
    font-weight: inherit;
    color: inherit;
  }
}

/* ctaだけ除外 */
.sx-cnt_wrap div.cta_2011 {
  zoom: 80%;
}

/* -------------------------------- common_sp ------------------------------- */
@media (width <= 767px) {
  .sx-cnt * {
  }

  .sx-cnt_wrap {
    zoom: 100%;
  }

  .ddf_cw {
    width: 100%;
  }

  .bc_bg > .ddf_cw {
    width: calc(100% - var(--sp-2));
  }

  /* ============ reset ============ */
  .sx-cnt * {
    all: unset;
    display: revert;
    font-family: sans-serif;
    /* zoom: 120%; */
  }

  .sx-cnt_wrap {
    /* zoom: 125%; */

    *,
    ::before,
    ::after {
      box-sizing: border-box;
    }

    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    p {
      margin: 0;
      line-height: 1.5;
      letter-spacing: 0;
    }

    ol,
    ul {
      padding: 0;
      margin: 0;
    }

    small,
    em,
    span,
    strong {
      font-style: normal;
      font-weight: inherit;
      color: inherit;
    }

    p {
      font-size: var(--small-fz);
    }
  }

  /* ctaだけ除外 */
  .sx-cnt_wrap div.cta_2011 {
    /* zoom: 80%; */
  }
}

/* ------------------------------- 既存パーツ用 ------------------------------ */
.ddf-cnt_wrap #topics_2011 {
  margin-block: 0 !important;
}

.sec_cta {
  .title2 span {
    font-weight: var(--bold);
  }
}

@media (width <= 767px) {
  .ddf-cnt_wrap #topics_2011 {
    margin-block: 0 !important;

    .ddf_sp {
      display: block;
    }

    .flex_2011 {
      padding-inline: var(--sp-2);
    }
  }
}

.sub-header.sp {
  display: block !important;
}
.mini-header,
.main-header,
.sub-header {
  letter-spacing: 0;
  line-height: 1;
}

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

.more_btn_2011 {
}
.more_btn_2011 a {
}
.more_btn_2011 a span {
  position: relative;
  display: block;
  text-align: center;
  width: 330px;
  margin: 0 auto;
  padding: 18px 0 18px 20px;
  background-color: #ffffff;
  color: #353738;
  border: 4px solid #353738;
  border-radius: 12px;
  font-size: 30px;
  line-height: 1;
  box-shadow: 0 2px 20px -5px rgba(0, 0, 0, 0.3);
  transition: all 0.2s ease-in-out;
}
.more_btn_2011 a span:before {
  content: "";
  margin: 0;
  padding: 0;
  top: 25.5px;
  left: 46px;
  position: absolute;
  border: 4px solid #353738;
  border-left: none;
  border-top: none;
  height: 17px;
  width: 17px;
  transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transition: all 0.2s ease-in-out;
}
.more_btn_2011 a span:hover {
  /*	transform: scale(1.02, 1.02);*/
  color: #ffffff;
  background-color: #353738;
  opacity: 1;
}
.more_btn_2011 a span:hover:before {
  border-color: #ffffff;
}

/* --------------------------------- よくある質問 --------------------------------- */
.qa-list .in-dl {
  padding: 15px;
  border: 2px solid #2a4174;
  margin-bottom: 14px;
}

.qa-list dt {
  position: relative;
  padding-left: 35px;
  cursor: pointer;
  box-sizing: border-box;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.3;
}

.qa-list dt::before {
  content: "Q";
  color: #2a4174;
  font-size: 26px;
  font-weight: 600;
  position: absolute;
  left: 0;
  top: 0;
  line-height: 1;
}

.qa-list dt::after {
  content: "";
  display: block;
  position: absolute;
  top: 25%;
  right: 0;
  width: 11px;
  height: 11px;
  border-top: 2.5px solid #2a4174;
  border-right: 2.5px solid #2a4174;
  transform: rotate(135deg);
  transition: 0.3s;
}

.qa-list dt.current:after {
  transform: rotate(-45deg);
  transition: 0.3s;
}

.qa-list dd {
  font-size: 20px;
  line-height: 1.8;
  position: relative;
  padding-top: 20px;
  padding-left: 35px;
  margin-top: 20px;
  border-top: 1px solid darkred;
}

.qa-list dd::before {
  content: "A";
  color: darkred;
  font-size: 26px;
  font-weight: 600;
  position: absolute;
  left: 0;
  top: 20px;
  line-height: 1;
}

.faq-cont {
  margin-top: 20px;
  padding-left: 0px;
  padding-right: 0px;
}

@media (width <= 767px) {
  /* --------------------------------- よくある質問 --------------------------------- */
  .qa-list .in-dl {
    padding: 15px;
    border: 2px solid #2a4174;
    margin-bottom: 14px;
  }

  .qa-list dt {
    position: relative;
    padding-left: 35px;
    cursor: pointer;
    box-sizing: border-box;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.3;
  }

  .qa-list dt::before {
    content: "Q";
    color: #2a4174;
    font-size: 26px;
    font-weight: 600;
    position: absolute;
    left: 0;
    top: 0;
    line-height: 1;
  }

  .qa-list dt::after {
    content: "";
    display: block;
    position: absolute;
    top: 25%;
    right: 0;
    width: 11px;
    height: 11px;
    border-top: 2.5px solid #2a4174;
    border-right: 2.5px solid #2a4174;
    transform: rotate(135deg);
    transition: 0.3s;
  }

  .qa-list dt.current:after {
    transform: rotate(-45deg);
    transition: 0.3s;
  }

  .qa-list dd {
    font-size: 20px;
    line-height: 1.8;
    position: relative;
    padding-top: 20px;
    padding-left: 35px;
    margin-top: 20px;
    border-top: 1px solid darkred;
  }

  .qa-list dd::before {
    content: "A";
    color: darkred;
    font-size: 26px;
    font-weight: 600;
    position: absolute;
    left: 0;
    top: 20px;
    line-height: 1;
  }

  .faq-cont {
    margin-top: 20px;
    padding-left: 0px;
    padding-right: 0px;
  }
}

/* -------------------------------- style.css ------------------------------- */
.cmn-header {
  span {
    font-weight: inherit;
  }
}

.sec00 {
  background: no-repeat center / cover url("../img/sec00_bg.webp") !important;
}

.sec03 {
  .sec03__box {
    .cmn-textbox p {
      font-size: var(--body-fz);
      font-weight: var(--medium);
    }
  }

  .sec03__list {
    list-style: "※" outside;
    margin-inline: auto;
    margin-bottom: calc(var(--sp-1) * 7);
  }

  .sec03__list2 {
    padding-left: 0;
  }

  .sec03__item2 {
    display: flex;
    justify-content: start;
    align-items: center;
    flex-flow: column nowrap;
    height: auto;

    .sec03__item2-header,
    .sec03__item-box {
      width: 100%;
    }

    .sec03__item2-header {
      h5 {
        margin-bottom: 0;
      }
    }
  }
  .cmn-textbox p {
    margin-bottom: 0;
  }

  .sec03__button span {
    font-weight: var(--bold);
  }

  .cmn-textbox p {
    font-size: var(--body-fz);
  }
}

.sec03,
.sec08 {
  zoom: 100%;
}

.sec08 {
  background-color: #f8f8f8 !important;

  .cmn-textbox p {
    font-size: var(--body-fz);
  }
}

#sec09 {
  .sec09_cont-tab {
    .ttl {
      text-align: center;
      font-weight: var(--bold);
    }
  }

  .sec09_cont-consult-box,
  .sec09_cont-ddf-box {
    p {
      font-size: var(--body-fz);
    }
  }

  .sec09_link a {
    font-weight: var(--bold);
  }
}

.sec05 {
  .cmn-textbox p {
    text-align: center;
  }

  .sec05__item {
    .cmn-textbox p {
      font-size: var(--small-fz);
      line-height: 1.5;
      text-align: justify;
    }
  }
}

.sec05__box1 p {
  text-align: center;
}

#sec04 {
  background-size: 100% !important;
  .sec04_title {
    .title {
      color: inherit;
    }
  }

  .sec04_title-txt p {
    text-align: center;
    line-height: 27px;
    font-weight: var(--medium);
  }

  .sec04_slider-nav {
    .prev,
    .next {
      border: none;
    }
  }

  .sec04_content-list-item .txt_box .txt {
    font-size: inherit;
    font-weight: inherit;
  }
}

.sec07 {
  overflow: initial;

  &::before {
    transform: translateY(-80px);
  }

  .sec07__textbox p {
    text-align: center;
  }

  .sec07__item-text {
    font-size: var(--body-fz);
  }
}
.qa-list .in-dl {
  padding-right: 15px !important;
}
.sec04_slider-nav button {
  cursor: pointer;
}

/* ------------------------------ style_sp.css ------------------------------ */
@media (width <= 767px) {
  .sec03 {
    .sec03__list {
      margin-bottom: var(--sp-4);
    }

    .sec03__item2 {
      justify-content: space-between;
      flex-flow: row nowrap;
    }
  }

  .sec05__box1 p {
    text-align: left;
    font-weight: var(--medium);
  }

  .qa-list .in-dl {
    padding-right: 5vw !important;
  }
}
