@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Teko:wght@300..700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&family=Teko:wght@300..700&display=swap');

#error-404 #header #link-content,
#error-403 #header #link-content,
#error-500 #header #link-content {
  display: none;
}

#error-content #body-section {
  background-color: #fff;
  min-height: 100vh;
  overflow: auto;
  position: relative;
  background-size: cover;
  color: #fff;
  height: 300px;
  width: 100%;
}

#error-content #body-section > .container {
  background-color: transparent;
  height: 100%;
  position: relative;
  -ms-flex-align: stretch;
  -ms-flex-direction: column;
  -ms-flex-pack: center;
  -webkit-align-items: stretch;
  -webkit-flex-direction: column;
  -webkit-justify-content: center;
  align-items: stretch;
  display: flex;
  display: -webkit-flex;
  display: -ms-flexbox;
  flex-direction: column;
  justify-content: center;
}

#error-404 #footer #footer-content #footer-first-box,
#error-403 #footer #footer-content #footer-first-box,
#error-500 #footer #footer-content #footer-first-box {
  height: 200px;
}



#error-404 #footer #footer-content #footer-img-content .footer-margin .flex-img img,
#error-403 #footer #footer-content #footer-img-content .footer-margin .flex-img img,
#error-500 #footer #footer-content #footer-img-content .footer-margin .flex-img img {
  margin-top: 0px;
}

#error-404 #footer #footer-content #footer-first-box #footer-box-first,
#error-403 #footer #footer-content #footer-first-box #footer-box-first,
#error-500 #footer #footer-content #footer-first-box #footer-box-first {
  margin-top: 0px;
}

#error-content #body-section #heading-text {
  padding: 0px;
}

#error-content #body-section #heading-text .title-section h1 {
 font-family: "Teko", sans-serif;
  font-size: 70px;
  font-weight: 500;
  color: #e01f2d;
  margin-top: 46.9px;
  margin-bottom: 0;
  line-height: 65px;
}

#error-content #body-section #heading-text .next-line hr {
  width: 10%;
  border: 0;
  color: #3c3c3c;
  background: #3c3c3c;
  margin: 30px auto;
  height: 1px;
  float: left;
}

#error-content #body-section #heading-text .next-line h2 {
font-family: "Teko", sans-serif;
  font-size: 45px;
  font-weight: 500;
  color: #303030;
  line-height: 40px;
  text-shadow: 0 0;
  clear: both;
}

#error-content #body-section #heading-text .next-line p {
  color: #303030;
  font-family: "Open Sans", sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 28px;
  text-shadow: 0 0;
}

#error-content #body-section #heading-text .next-line p a {
  color: #e01f2d;
  font-family: "Open Sans", sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 28px;
  text-decoration: underline;
  text-shadow: 0 0;
}

/*#error-404 #footer #footer-content #footer-box-first .text:last-child,*/
/*#error-403 #footer #footer-content #footer-box-first .text:last-child,*/
/*#error-500 #footer #footer-content #footer-box-first .text:last-child {*/
/*  height: 0px;*/
/*}*/

#error-404 #footer p.footer-reference,
#error-403 #footer p.footer-reference,
#error-500 #footer p.footer-reference {
  display: none;
}


/*==========Responsive design=========*/

@media (min-width: 992px) {
    
  #error-content #body-section {
    z-index: 3;
  }
}

@media (max-width: 992px) {
    
  #error-404 #header .menu-list ul,
     #error-403 #header .menu-list ul,
      #error-500 #header .menu-list ul {
    margin: 0;
  }

  #error-404 #footer #footer-content #footer-img-content .footer-margin .flex-img img.only_sp,
   #error-403 #footer #footer-content #footer-img-content .footer-margin .flex-img img.only_sp,
    #error-500 #footer #footer-content #footer-img-content .footer-margin .flex-img img.only_sp {
    display: none;
  }

  #error-content #body-section #heading-text {
    padding: 0px 10px;
  }
}

@media screen and (min-width: 993px) {
    
  #error-404 #footer #footer-content #footer-img-content .footer-margin,
     #error-403 #footer #footer-content #footer-img-content .footer-margin,
      #error-500 #footer #footer-content #footer-img-content .footer-margin {
    padding: 0px;
  }
}

@media only screen and (min-width:768px) and (max-width:992px) {
  #error-content #body-section {
    height: 543px;
  }
}

@media screen and (max-width: 767px) {
    
  #error-content #body-section #heading-text .next-line hr {
    width: 40%;
  }

  #error-content #body-section #heading-text .next-line p {
    font-size: 14px;
    line-height: 20px;
  }

  #error-content #body-section #heading-text .next-line p a {
    font-size: 14px;
    line-height: 20px;
  }

  #error-content #body-section #heading-text {
    margin: 0px 20px;
  }

  #error-content #body-section {
    height: 100px;
  }
}
