html {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 62.5%;
}

.section-wrap {
  padding: 3.0em 2.0em;
}

@media screen and (min-width:1024px) {
  .section-wrap {
    padding: 8.0em 24.0em;
  }
}

.section-text {
  font-size: 1.6rem;
  line-height: 1.6;
  padding-top: 1.5em;
}

@media screen and (min-width:1024px) {
  .section-text {
    font-size: 1.6rem;
  }
}

.section-title {
  font-size: 3.2rem;
  font-weight: 900;
}

.section-link {
  text-decoration: none;
  color: #000;
}

.title-sub {
  font-size: 1.4rem;
  ;
}

.title-sub::before {
  content: '';
  border-left: 2px solid #DEDEDE;
  margin-right: 3px;
}

.sp {
  display: block;
}

@media screen and (min-width:768px) {
  .sp {
    display: none;
  }
}

.pc {
  display: none;
}

@media screen and (min-width:768px) {
  .pc {
    display: block;
  }
}

header .navbar {
  padding-top: 1.5em;
  padding-bottom: 1.5em;
  padding-left: 1.5em;
  padding-right: 1.5em;
}

header .navbar-brand {
  background-image: url(../img/logo.png);
  display: inline-block;
  width: 4em;
  height: 4.2em;
  background-position: center;
  background-size: cover;
}

@media screen and (min-width:1024px) {
  header .navbar-brand {
    margin-right: 30rem;
  }
}

header .navbar-brand__tel {
  background-image: url(../img/nav/tel.png);
  display: inline-block;
  width: 4em;
  height: 4.2em;
  background-position: center;
  background-size: cover;
}

header .navbar-toggler {
  font-size: 2.0rem;
}

@media screen and (min-width:1024px) {
  header .nav-link {
    font-size: 1.6rem;
    margin-right: 1.0em;
  }
}

#fv {
  background-image: url(../img/fv/fv-img__sp.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  height: 700px;
}

@media screen and (min-width:1024px) {
  #fv {
    height: 600px;
  }
}

#fv .fv-catchcopy {
  color: #fff;
  padding-top: 7.0em;
  margin: 0 0.6em;
  font-size: 2.8rem;
  font-weight: 700;
}

@media screen and (min-width:1024px) {
  #fv .fv-catchcopy {
    padding-top: 6.0em;
    font-size: 3.6rem;
  }
}

#fv .fv-subcopy {
  font-size: 1.4rem;
  margin: 0 0.6em;
  color: #fff;
  padding-top: 1.2em;
}

@media screen and (min-width:1024px) {
  #fv .fv-subcopy {
    font-size: 1.6rem;
  }
}

#fv .fv-button {
  font-size: 1.6rem;
  margin-top: 4.0em;
  padding: 1.5em 1.5em;
}

@media screen and (min-width:1024px) {
  #fv .fv-button {
    font-size: 2.0rem;
  }
}

#read .read-wrap {
  border: 1.0px solid #DEDEDE;
  padding: 2.0em 1.5em;
}

#read .read-title {
  font-size: 2.0rem;
  text-align: center;
}

#read .read-text {
  padding-top: 0.8em;
}

@media screen and (min-width:1024px) {
  #read .read-text {
    text-align: center;
  }
}

#feature .feature-content {
  font-size: 1.6rem;
  font-weight: 700;
  ;
  text-align: center;
  padding: 1.0em 1.0em;
  border: 1.0px solid #DEDEDE;
  border-radius: 5px;
  box-shadow: 0 4px 6px rgb(0 0 0 / 8%);
  margin: 0.5em 0;
  line-height: 1.6;
}

@media screen and (min-width:1024px) {
  #feature .feature-content {
    padding: 3.0em 1.0em;
    margin: 1em 0;
  }
}

#service {
  background: #F7F7F7;
}

#service .col-12 {
  padding: 3.0em 3.0em;
  border: 1.0px solid #DEDEDE;
  border-radius: 5px;
  box-shadow: 0 4px 6px rgb(0 0 0 / 8%);
  background-color: #fff;
  margin: 2.5em 0;
}

@media screen and (min-width:1024px) {
  #service .col-12 {
    margin: 1em 1em;
    width: 30%;
  }
}

#service .service-wrap {
  text-align: center;
}

#service .service-content__title {
  font-size: 2.4rem;
  text-align: center;
  font-weight: 700;
}

#service .service-content__image {
  width: 100px;
  text-align: center;
  padding-bottom: 2.0em;
}

#service .service-wrap .section-text {
  text-align: left;
}

#service .service-content__link {
  text-align: left;
  font-size: 1.4rem;
}

#site .site-content__wrap {
  text-align: center;
  padding-top: 3em;
}

#site .col-6 {
  border-top: 1px solid #dedede;
  margin: 0 0.5em;
  padding-left: 0;
  padding-right: 0;
  width: 45%;
  padding-top: 2em;
  padding-bottom: 2em;
}

@media screen and (min-width:768px) {
  #site .col-6 {
    width: 22%;
  }
}

#site .site-content__image {
  width: 50px;
  text-align: center;
  padding-bottom: 2em;
}

#site .site-content__text {
  text-align: left;
  font-size: 1.4rem;
}

@media screen and (min-width:1024px) {
  #site .site-content__text {
    font-size: 1.4rem;
  }
}

#charm {
  background-color: #dedede;
}

#charm .container .col-12 {
  padding: 3em 4em;
  background-color: #fff;
}

#charm .charm-content__image {
  width: 100%;
}

@media screen and (min-width:1024px) {
  #charm .charm-content__image {
    width: 90%;
  }
}

@media screen and (min-width:1024px) {
  #charm .charm-content__image-2 {
    width: 70%;
  }
}

#charm .charm-content__image__wrap {
  margin-bottom: 2em;
}

@media screen and (min-width:1024px) {
  #charm .charm-content__image__wrap {
    text-align: center;
  }
}

@media screen and (min-width:1024px) {
  #charm .charm-content__text__wrap {
    margin-bottom: 2em;
  }
}

#charm .charm-content__sub {
  font-size: 1.4rem;
  color: #909090;
}

@media screen and (min-width:1024px) {
  #charm .charm-content__sub {
    font-size: 1.4rem;
  }
}

#charm .charm-content__title {
  font-size: 2.4rem;
  padding-bottom: 1em;
}

@media screen and (min-width:1024px) {
  #charm .charm-content__title {
    font-size: 3.0rem;
  }
}

#charm .charm-content__text {
  font-size: 1.4rem;
  line-height: 2em;
}

@media screen and (min-width:1024px) {
  #charm .charm-content__text {
    font-size: 1.4rem;
  }
}

#results .results-content__image {
  width: 100%;
}

#results .results-content__title {
  font-size: 1.6rem;
  color: #fff;
  background-color: #000;
  padding: 0.3em 1em;
  border-radius: 40px;
  display: inline-block;
  margin-top: 0.3em;
}

#results .results-content__company {
  text-decoration: none;
  color: #000;
  font-size: 1.6rem;
}

#results .container .col-12 {
  padding-bottom: 3em;
}

#results .container a {
  text-decoration: none;
}

#company .company-content__image__wrap {
  text-align: center;
  padding-top: 3em;
}

#company .company-content__image {
  width: 30%;
}

@media screen and (min-width:1024px) {
  #company .company-content__image {
    width: 15%;
  }
}

#contact {
  background-color: #dedede;
}

#contact .contact-content__wrap {
  text-align: center;
  margin-top: 3em;
}

#contact .contact-button {
  background-color: #fff;
  padding: 1em 1em;
  border: none;
  font-size: 2.0rem;
}

@media screen and (min-width:1024px) {
  #contact .contact-button {
    font-size: 3.0rem;
    padding: 1.5em 1.5em;
    margin-top: 3em;
  }
}

  #contact .contact-button__sm {
    font-size: 1.4rem;
  }

  @media screen and (min-width:1024px) {
    #contact .contact-button__sm {
      font-size: 1.6rem;
    }
  }

  #contact .contact-action__wrap__soudan {
    background-color: #444;
    text-align: center;
    color: #fff;
    padding: 2em 2em;
  }

  @media screen and (min-width:1024px) {
    #contact .contact-action__wrap__soudan {
      padding: 6em 0;
    }
  }

  #contact .contact-action__wrap__soudan a {
    text-decoration: none;
    color: #fff;
  }

  #contact .contact-action__soudan__title {
    font-size: 2.4rem;
  }

  #contact .contact-action__soudan__text {
    font-size: 1.4rem;
  }

  #form {
    background-color: #444;
  }

  #form .form-title {
    font-size: 2.0rem;
    color: #fff;
  }

  #form .form-check-label {
    font-size: 1.6rem;
    color: #fff;
  }

  #form .form-btn {
    font-size: 2.0rem;
    color: #fff;
    margin-top: 2em;
  }

  #form .form-required {
    color: #f95151;
    font-size: 1.4rem;
  }

  #footer {
    text-align: center;
    padding-top: 4em;
    padding-bottom: 4em;
  }

  #footer .footer-title {
    font-size: 2.0rem;
    font-weight: 700;
    padding-bottom: 2em;
  }

  #footer .footer-logo {
    width: 30%;
  }

  @media screen and (min-width:1024px) {
    #footer .footer-logo {
      width: 10%;
    }
  }

  #footer .footer-company {
    font-size: 1.4rem;
  }

  #footer .footer-adress {
    font-size: 1.4rem;
  }

  #footer .footer-name {
    font-size: 1.4rem;
  }