/* ------------------------------- 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: 127%;

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

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

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

  small,
  em,
  span,
  strong {
    font-style: normal;
    font-weight: inherit;
    color: inherit;
  }
  .box,
  .list {
    text-align: inherit;
  }
}

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

#set1 .sx-cnt_wrap section:nth-child(2n-1) {
  background: revert;
}

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

  .sx-cnt_wrap {
    zoom: 100%;
  }

  .sec04 {
    .sec_cta {
      width: 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 {
}
.ddf-cnt_wrap div.cta_2011 {
  line-height: 1;
}
.ddf-cnt_wrap section {
  background: none !important;
}
.ddf-cnt_wrap #news {
  background: none !important;
}
.sub-header.sp {
  display: block !important;
}
.mini-header,
.main-header,
.sub-header {
  letter-spacing: 0;
  line-height: 1;
}

.ddf-cnt_wrap .polygon-text {
  bottom: 150px;
}
@media screen and (max-width: 768px) {
  #feature_2011.achieve {
    padding: 0 !important;
    margin-top: -75px;
  }
  #feature_2011 > div > div:last-child {
    margin: 0 !important;
  }
}

/* -------------------------------- style ------------------------------- */
.sx-cnt_wrap {
  .bg {
    background-color: var(--clr-bg) !important;
  }
  .red {
    color: var(--clr-red-sub) !important;
  }
  .txt_link {
    border: none;
  }
  #mv {
    background: url(../img/mv_bg.webp) no-repeat !important;
    background-size: cover !important;
    background-position: 10%;
  }
  .mv_cta_btn .btn{
    margin: 0;
  }
  .mv_cta .tel .tel_link{
    font-weight: bold;
  }
  .title {
    color: inherit;
    text-align: center;
  }
  .cmn-h3 {
    text-align: left;
  }
  p {
    font-size: inherit;
  }
}
#set1 #mv {
  height: auto !important;
}
/* style */
.sec01_content-txt .txt p {
  font-weight: bold;
}
.title.cmn-h3 {
  color: var(--clr-main);
}
.sec04_title-txt strong {
  font-weight: bold;
}
.sec04_slider-nav button {
  border: none;
}
.sec04_data .title {
  color: var(--clr-white);
  font-size: var(--h4-fz);
  text-align: left;
  margin-bottom: var(--sp-4);
}
.sec05_cont-tab .ttl {
  font-weight: var(--bold);
}
.sec06_content .cmn-h3 {
  color: var(--clr-main);
  font-size: var(--h4-fz);
  text-align: left;
  margin-bottom: var(--sp-4);
  padding-left: 13px;
}
.sec07_endtxt {
  text-align: center !important;
  font-size: 36px !important;
}
/* ------------------------------ style_sp.css ------------------------------ */
@media screen and (max-width: 767px) {
  .sx-cnt_wrap {
    #mv {
      background: url("../img/sp_mv_bg.webp") no-repeat !important;
      background-size: cover !important;
    }
    .sec_02-cont_arrow {
      margin-bottom: 0;
    }
    .sec_03_anime01 {
      width: 7.18vw !important;
    }
    .case_title {
      outline: 0;
      border-radius: 0;
    }
    .sec07_endtxt {
      text-align: center;
      font-size: 5.1vw !important;
    }
  }
}

/* --------------------------------- よくある質問 --------------------------------- */
.qa-list .in-dl {
  padding: 15px;
  padding-right: 15px !important;
  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;
    padding-right: 5vw !important;
    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;
  }
}
