@charset "UTF-8";
@media screen and (max-width: 1024px) {
  p,
  a,
  li,
  dt,
  dd,
  time,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  th,
  td,
  span {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 1400px) {
  .width1400 {
    padding: 0 15px;
  }
}
@media screen and (max-width: 1200px) {
  .width1200 {
    padding: 0 15px;
  }
}
@media screen and (max-width: 1000px) {
  .width1000 {
    padding: 0 15px;
  }
}
@media screen and (max-width: 900px) {
  .width900 {
    padding: 0 15px;
  }
}
@media screen and (max-width: 700px) {
  .width700 {
    padding: 0 15px;
  }
}
@media screen and (max-width: 1024px) {
  section {
    padding: 60px 0;
  }
}
@media screen and (max-width: 600px) {
  section {
    padding: 50px 0;
  }
}
@media screen and (max-width: 600px) {
  .pcnone600 {
    display: block;
  }
}
@media screen and (max-width: 600px) {
  .link-over:hover {
    background-color: rgba(255, 255, 255, 0);
  }
  .o-hover img:hover {
    opacity: 1;
  }
}

@media screen and (max-width: 1024px) {
  #page-top {
    position: fixed;
    right: 15px;
    bottom: 15px;
    z-index: 2;
  }
  #page-top img {
    height: 40px;
    width: 40px;
  }
}
@media screen and (max-width: 1024px) {
  #breadcrumbs {
    padding-right: 0;
    overflow-x: auto;
    word-break: keep-all;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
  }
  #breadcrumbs ul {
    display: block;
    padding-right: 15px;
  }
}
@media screen and (max-width: 600px) {
  #breadcrumbs {
    margin-bottom: 20px;
    padding-right: 0;
  }
  #breadcrumbs ul li a,
  #breadcrumbs ul li {
    font-size: 1.2rem;
  }
  #breadcrumbs ul li {
    padding-left: 3px;
  }
  #breadcrumbs ul li:before {
    font-size: 1.2rem;
    padding-right: 3px;
  }
}
@media screen and (max-width: 1024px) {
  .tablepress-table-name {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 1024px) {
  .privacy-head {
    font-size: 1.8rem;
  }
  .privacy-head span {
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 820px) {
  .privacy-head {
    font-size: 1.8rem;
  }
  .privacy-head span {
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 600px) {
  .privacy-head {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 1024px) {
  .search-txt01 {
    font-size: 1.8rem;
  }
  .error-url,
  .error-url span {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 600px) {
  .search-txt01 {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 1024px) {
  body {
    margin-top: 58px !important;
  }

  header {
    padding: 25px 20px 20px 5px;
  }

  .header-contact {
    display: none;
  }

  .head-nav {
    display: none;
  }

  .logo {
    width: 170px;
    margin-left: 10px;
  }

  .sp_nav {
    display: block;
  }

  .mv {
    padding: 60px 0 90px;
  }

  .mv-inner {
    width: 100%;
    padding: 0 15px;
  }

  .mv-head {
    font-size: 2.4rem;
  }

  .mv-txt {
    font-size: 1.6rem;
    margin-bottom: 40px;
  }

  .btn01 {
    background-size: 15px auto;
    background-position: top 50% right 15px;
    font-size: 1.5rem;
    max-width: 300px;
    width: 100%;
    padding: 20px 25px 20px 10px;
  }

  .btn02 {
    background-size: 15px auto;
    background-position: top 50% right 15px;
    font-size: 1.5rem;
    max-width: 300px;
    width: 100%;
    padding: 20px 25px 20px 20px;
  }

  .solution-head {
    font-size: 2.4rem;
  }

  .ttl01 {
    font-size: 2.2rem;
    margin-bottom: 40px;
  }

  .ttl01 span {
    font-size: 1.8rem;
  }

  .flow-head {
    font-size: 1.8rem;
  }

  .flow-icon {
    width: 80px;
    height: 80px;
  }

  .flow-icon img {
    width: 35px;
  }

  .flow-list li:nth-of-type(3) img {
    width: 28px;
  }

  .flow-list li:nth-of-type(4) img {
    width: 32px;
  }

  .flow-list li {
    padding-bottom: 30px;
  }

  .flow-list li::before {
    left: 40px;
  }

  .flow-content {
    width: calc(100% - 100px);
  }

  .flow-content .btn02 {
    margin-top: 20px;
  }

  .tablepress td {
    font-size: 1.4rem;
  }

  .table01 .tablepress tbody td a {
    font-size: 1.4rem;
  }

  .table01 .tablepress tbody td.column-1 {
    width: 70px;
  }

  .table01 .tablepress tbody td.column-2 {
    padding-left: 20px;
    width: calc(100% - 70px);
  }

  .achievement-head {
    font-size: 1.6rem;
  }

  .achievement-txt {
    margin-bottom: 40px;
  }

  .footer-logo {
    max-width: 240px;
    margin: 0 auto 40px;
  }

  .footer-tel {
    margin-bottom: 30px;
    font-size: 2rem;
  }

  .sns-link a {
    width: 70px;
  }

  .sns-link a:nth-of-type(2) {
    width: 40px;
  }

  .copyright p {
    font-size: 1.2rem;
  }

  .footer-nav li a {
    font-size: 1.3rem;
  }

  .sub-header-txt {
    font-size: 2.6rem;
  }

  .sub-header {
    height: 170px;
  }

  section.first {
    padding-top: 0;
  }

  .ttl05 .txt01 span {
    font-size: 2rem;
  }

  .ttl05 .txt02 {
    font-size: 1.4rem;
  }

  .ttl05.flex {
    margin-bottom: 30px;
  }

  .overview-box {
    margin-bottom: 50px;
  }

  .list03 li {
    background-size: 12px;
    background-position: top 4px left;
    padding-left: 20px;
  }

  .privacy-section p,
  .privacy-section li {
    font-size: 1.4rem;
  }

  .privacy-block01 {
    margin-bottom: 50px;
  }

  .privacy-ttl {
    font-size: 1.8rem;
  }

  .privacy-head01 {
    font-size: 1.6rem;
  }

  .privacy-box01 {
    margin-bottom: 30px;
  }

  .privacy-head02 {
    font-size: 1.6rem;
    background-size: 14px auto;
    padding-left: 20px;
  }

  .privacy-txt01 {
    margin-bottom: 40px;
  }

  .required {
    font-size: 1rem;
  }

  .wpcf7-submit {
    font-size: 1.8rem;
    max-width: 300px;
    height: 70px;
  }

  .contact-btn::after {
    max-width: 300px;
    height: 70px;
  }
}

@media screen and (max-width: 750px) {
  .width750 {
    padding: 0 15px;
  }
}

@media screen and (max-width: 600px) {
  .spnone600 {
    display: none;
  }

  .swiper-slide {
    width: 45%;
  }

  .flow-list li {
    padding-bottom: 30px;
    margin-bottom: 30px;
    border-bottom: 1px solid #353434;
  }

  .flow-list li:last-of-type {
    padding-bottom: 0;
    margin-bottom: 0;
    border-bottom: none;
  }

  .flow-list li::before {
    display: none;
  }

  .flow-content {
    width: 100%;
    padding-top: 25px;
  }

  .flow-icon {
    margin: 0 auto;
  }

  .flow-head {
    text-align: center;
  }

  .flow-list li p {
    text-align: center;
  }

  .flow-content .btn02 {
    margin: 20px auto 0;
  }

  .achievement-box {
    padding: 50px 20px 30px;
  }

  .achievement-list-head-img img {
    width: 100%;
    max-width: 400px;
    margin: 0 auto 20px;
  }

  .achievement-list-head-img {
    margin-bottom: 0px;
  }

  .achievement-list li {
    width: 48%;
    margin-bottom: 3vw;
  }
}
