@charset "UTF-8";

/* reset */
html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video {margin: 0;padding: 0;border: 0;outline: 0;font-size: 100%;vertical-align: baseline;background: transparent;font-weight: normal;list-style: none;}body {line-height: 1;}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section {display: block;}nav ul {list-style: none;}ol,ul {list-style: none;}blockquote,q {quotes: none;}blockquote:before,blockquote:after,q:before,q:after {content: "";content: none;}a {margin: 0;padding: 0;font-size: 100%;vertical-align: baseline;background: transparent;}/* change colours to suit your needs */ins {background-color: #ff9;color: #000;text-decoration: none;}/* change colours to suit your needs */mark {background-color: #ff9;color: #000;font-style: italic;font-weight: bold;}del {text-decoration: line-through;}abbr[title],dfn[title] {border-bottom: 1px dotted;cursor: help;}table {border-collapse: collapse;border-spacing: 0;}/* change border colour to suit your needs */hr {display: block;height: 1px;border: 0;border-top: 1px solid #cccccc;margin: 1em 0;padding: 0;}input,select {vertical-align: middle;}/* clearfix */.clearfix:after {content: "";display: table;clear: both;}/* Button reset */button {  background-color: transparent;border: none;cursor: pointer;outline: none;padding: 0;appearance: none;}


* {
  box-sizing: border-box;
}
html {
  font-size: 62.5%;
  height: 100%;
}
body {
  position: relative;
  min-height: 100vh;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  text-align: justify;
  overflow-y: scroll;
  box-sizing: border-box;
  user-select: none;
  -webkit-touch-callout: none;
  font-feature-settings: "palt";
  display: flex;
  flex-direction: column;
  height: 100%;
}
img {
  width: 100%;
  box-sizing: border-box;
  pointer-events: none;
}
.top_bg .top_logo {
  width: 100%;
  max-width: 420px;
  margin: 0 auto;
}
.box404 {
  display: flex;
  justify-content: center;
  text-align: center;
  align-items: center;
  padding: 80px 0;
  height: 100%;
}
.text404 img {
  max-width: 424px;
}
footer {
  width: 100%;
  background: #fff;
  color: #fff;
  text-align: center;
  margin-top: auto;
}
.footer_inner {
  width: 100%;
  max-width: 980px;
  margin: 0 auto;
  padding: 15px 20px;
}
.footer_contents {
  display: flex;
  width: 100%;
  justify-content: flex-end;
  flex-direction: row-reverse;
  align-items: center;
}
.footer_contents .center_logo {
  width: 338px;
  margin: 0 auto;
  position: relative;
  left: max(-130px, -11vw);
}
.footer_logo {
  position: relative;
  margin-right: 80px;
}
.footer_logo img {
  max-width: 120px;
  text-align: center;
}
.footer_logo .copylight {
  font-size: 1rem;
  color: #989898;
  padding: 14px 0 5px;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .top_bg .top_logo {
    width: 80%;
    margin: 40px auto;
  }
  .box404 {
    width: 86%;
    margin: 0 auto;
    padding: 25px 0 15px;
  }
  .text404 img {
    max-width: none;
  }
  .footer_inner {
    padding: 60px 16px 20px;
  }
  .footer_contents {
    display: block;
  }
  .footer_contents .center_logo {
    width: 84%;
    max-width: 320px;
    margin: 0 auto 20px;
    left: 0;
  }
  .footer_logo {
    width: 100%;
    max-width: 280px;
    text-align: center;
    margin: 0 auto;
  }
  .footer_logo img {
    width: 120px;
    margin: 0 auto 4%;
  }
  .footer_logo .copylight {
    padding: 0;
  }
}