@charset "utf-8";
/*
** 主に PC向け
********************************** */
a, abbr, acronym, address, applet, big, blockquote, body, cite, code, dd, del, dfn, div, dl, dt, em, fieldset, font, form, h1, h2, h3, h4, h5, h6, html, iframe, ins, kbd, label, legend, li, object, p, pre, q, s, samp, small, span, strike, strong, sub, sup, tt, var {
  border: 0;
  font-family: inherit;
  font-style: inherit;
  font-weight: inherit;
  margin: 0;
  outline: 0;
  padding: 0;
  vertical-align: baseline;
  box-sizing: border-box;
  word-break: break-all;
  line-height: 1
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, main {
  display: block;
  margin: 0;
  padding: 0
}
html {
  font-size: 16px;
}
body {
  font-size: 1rem;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
}
/*
** image
********************************** */
img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0;
  padding: 0;
}
h2 {
  margin-bottom: 2rem;
}
h3, h4 {
  margin-bottom: 1rem;
  font-weight: bold;
}
/*
** p default
********************************** */
p {
  margin-bottom: 1rem;
}
/*
** li default
********************************** */
li {
  margin-bottom: 1rem;
}
/*
** form parts default
********************************** */
form {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
}
input::placeholder {
  color: #ccc;
}
input:-ms-input-placeholder {
  color: #ccc;
}
input::-ms-input-placeholder {
  color: #ccc;
}
input:-webkit-autofill::first-line {
  font-size: 1rem;
}
input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="password"], select, textarea {
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
  font-size: 1rem;
  vertical-align: middle;
  line-height: 1;
  margin-bottom: .5rem;
  padding: .5rem;
  border: 1px solid #d4d4d7;
  border-radius: 3px;
  color: #555;
  background: #fcfcfc;
  box-sizing: border-box;
}
input[type="radio"], input[type="checkbox"] {
  vertical-align: middle;
  font-size: 1.125rem;
  margin: 0 .5rem 1rem 0;
}
input[type="radio"]:not(:first-child), input[type="checkbox"]:not(:first-child) {
  margin-left: 1rem;
}
select {
  width: auto;
}
textarea {
  height: 10rem;
  line-height: 1.5;
  width: 100%;
  margin-bottom: .5rem;
}
input[type="submit"], input[type="reset"], input[type="button"] {
  margin: 5px;
  padding: .5rem 2rem;
  border: 0;
  border-radius: 3px;
  line-height: 1;
  background: #000;
  color: #fff;
  font-size: 1.125rem;
  cursor: pointer;
}
input[type="submit"]:not(:first-child), input[type="reset"]:not(:first-child), input[type="button"]:not(:first-child) {
  margin-left: 0;
}
input[type="submit"]:hover, input[type="reset"]:hover, input[type="button"]:hover {
  background: #c00;
}
label {
  margin-right: .5rem;
  vertical-align: top;
}
/*
** layout
********************************** */
.sysName {
  padding: 0 0 .5em;
}
.top_sysName {
  text-align: center;
  font-weight: bold;
  font-size: 1.3em;
}
.header {
  position: relative;
}
.logo {
  width: 100%;
  margin: 0;
  padding: 10px 5%;
  display: flex;
  /*  background: rgba(255, 255, 255, .75);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;*/
}
.logo img {
  display: block;
  width: auto;
  height: 80px;
  margin: 0;
}
.logo img:first-child {
  margin-right: 20px;
}
#main {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  padding: 2rem 1rem;
}
#main div {
  line-height: 1.8;
}
/*
** top page
********************************** */
.frontPage input[type="text"], .frontPage input[type="email"], .frontPage input[type="password"] {
  width: 100%;
  margin-bottom: .5rem;
}
.frontPage {
  background: url("../images/bg_home2.jpg") no-repeat 0 90%;
  background-size: cover;
  width: 100%;
  height: 100vh;
  position: relative;
  display: flex;
  justify-content: flex-end;
}
.loginContainer {
  background: rgba(255, 255, 255, .85);
  width: 40%;
  max-width: 460px;
  height: 100%;
  padding: 0 30px;
}
.loginContainer .sysName {
  padding-top: 1em;
}
.logo_home {
  padding: 2% 0 10%;
}
.logo_home img {
  display: block;
  width: auto;
  /*height: 60px;*/
  height: 40px;
  margin: 0 auto;
}
.logo_home img:first-child {
  margin-bottom: 20px;
}
/**/
.message {
  margin-bottom: .5rem;
}
.note {
  padding: 1em 0;
}
.note p {
  margin-bottom: .5rem;
  line-height: 1.5;
}
.copy {
  margin-top: 3rem;
}
.copy span {
  display: block;
  line-height: 1.8;
}
@media screen and (max-width: 1440px) {
  .loginContainer .note {
    font-size: .875rem;
  }
}
@media screen and (max-width: 1280px) {
  .top_sysName {
    font-size: 1.2em;
  }
}

@media screen and (max-width: 640px) {
  /*
  ** layout
  ********************************** */
  .logo img {
    height: 40px;
  }
  /*
  ** top page
  ********************************** */
  .frontPage {
    background-position: 50% 100%;
  }
  .loginContainer {
    width: 100%;
    max-width: 100%;
    height: auto;
    padding: 30px;
  }
}