@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: 820px) {
  section {
    padding: 60px 0;
  }
}
@media screen and (max-width: 600px) {
  section {
    padding: 40px 0;
  }
}
@media screen and (max-width: 1024px) {
  .title01 {
    font-size: 2.4rem;
    margin-bottom: 30px;
  }
  .title02 {
    font-size: 1.6rem;
  }
  .title03 {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 600px) {
  p,
  a,
  li,
  dt,
  dd,
  th,
  td,
  span {
    font-size: 1.4rem;
  }
  .title01 {
    font-size: 2.2rem;
  }
  .title01::before {
    width: 20px;
    height: 3px;
  }
  .btn-arrow {
    top: 17px;
  }
  .pcnone600 {
    display: block;
  }
}
@media screen and (max-width: 1400px) {
  .header-inner.flex,
  .header-box01,
  .header-box02 {
    padding: 0 15px;
  }
}
@media screen and (max-width: 1024px) {
  .header-content {
    display: none;
  }
}
@media screen and (max-width: 1024px) {
  #hamburger {
    display: block;
  }
  .sp-header {
    display: block;
    width: 100%;
    padding: 5px 0;
    height: 50px;
  }
  .sp-header02 {
    display: block;
    width: 100%;
    padding: 15px 0;
  }
  .logo {
    max-width: 150px;
    margin: auto;
  }
  .logo img {
    width: 100%;
  }
}
@media screen and (max-width: 1024px) {
  #page-top {
    position: fixed;
    right: 15px;
    bottom: 15px;
    z-index: 2;
  }
  #page-top img {
    max-height: 40px;
    width: auto;
  }
}
@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) {
  .sub-header {
    height: 120px;
    margin-top: 15px;
    background-size: 70px auto;
    background-position: right 10% bottom -5px;
  }
  .sub-header-txt {
    font-size: 2rem;
  }
}
@media screen and (max-width: 450px) {
  .sub-header {
    height: 50vw;
  }
  .sub-header-txt {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 1024px) {
  .contact-band-inner {
    width: calc(100% - 30px);
    padding: 40px 15px 30px;
  }
  .contact-band-title {
    font-size: 2rem;
    margin-bottom: 20px;
    letter-spacing: 0;
  }
  .cf-tel-number {
    font-size: 2.8rem;
    margin-right: 5px;
  }
  .contact-band-tel-icon {
    width: 35px;
    height: 35px;
    margin-right: 10px;
  }
}

@media screen and (max-width: 1400px) {
  .footer-inner {
    padding: 0 15px;
  }
}
@media screen and (max-width: 1024px) {
  .footer {
    padding: 0;
  }
  .footer-inner {
    margin: 0 auto 60px;
  }
  .footer-logo {
    max-width: 260px;
    margin: 0 auto;
  }
  .footer-logo img {
    margin: 0 auto;
  }
  .footer-logo {
    padding-bottom: 0;
    margin-bottom: 20px;
    border-bottom: none;
  }
  .footer-address p,
  .footer-address a,
  .footer-privacy a {
    font-size: 1.4rem;
  }
  .copyright p {
    font-size: 1.2rem;
  }
}
@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) {
  .error-url,
  .error-url span {
    font-size: 1.4rem;
  }
}
