@charset "UTF-8";
/**************************************************
    sass
***************************************************/
/* -----------------------------------------------
	Variables
-------------------------------------------------- */
/* -----------------------------------------------
	Mixins
-------------------------------------------------- */
/* ---------- Media Query --------- */
/* ---------- CSS Hack --------- */
/* ---------- Common --------- */
/* ---------- Image --------- */
/* ---------- Arrow --------- */
/* ---------- Animation --------- */
/* ---------- duos-round --------- */
/* -----------------------------------------------
	Functions
-------------------------------------------------- */
/**************************************************
	base
***************************************************/
/* -----------------------------------------------
	1. Body
-------------------------------------------------- */
html {
  font-size: 16px;
  font-size: min(16px, 1.3vw);
}
@media (max-width: 767px) {
  html {
    font-size: 4.27vw;
  }
}

body, button, input, textarea, select {
  color: #333333;
  font-weight: 500;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Noto Sans Japanese", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "Meiryo", "メイリオ", sans-serif;
  line-height: 1.7;
  letter-spacing: 0.1em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

::selection {
  background: rgba(32, 91, 164, 0.7);
  color: #fff;
}

/* -----------------------------------------------
	2. Elements
-------------------------------------------------- */
/* ---------- base ---------- */
h1, h2, h3, h4, h5, h6 {
  font-size: inherit;
  margin: 0;
}

img, svg, video {
  border: 0;
  vertical-align: bottom;
}

ol, ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

li {
  margin: 0;
  padding: 0;
}

dl, dt, dd {
  margin: 0;
  padding: 0;
}

figure {
  margin: 0;
}

/* ---------- text ---------- */
p {
  margin: 0 0 1em;
}
p:last-child {
  margin-bottom: 0;
}

a {
  color: #000;
  text-decoration: underline;
}

a:hover {
  color: #0d0d0d;
  text-decoration: none;
}

a[nohref] {
  color: inherit;
}
a[nohref]:hover {
  text-decoration: none;
}

a[href^="tel:"] {
  color: inherit;
}
@media (min-width: 769px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}

/* ---------- image ---------- */
img {
  max-width: 100%;
  height: auto;
}

figure {
  margin: 0;
}

.caption, figcaption {
  display: block;
  margin-top: 1em;
  font-size: 0.88em;
}

/* ---------- plain ---------- */
ul.plain, ol.plain {
  margin-left: 2em;
  margin-bottom: 1em;
}

.plain ul, .plain ol {
  margin: 0 0 0 1em;
}

ul.plain {
  list-style-type: disc;
}
ul.plain ul {
  list-style-type: circle;
}
ul.plain ul ul {
  list-style-type: square;
}

ol.plain, ol.plain ol {
  list-style-type: decimal;
}

dl.plain {
  margin: 0 0 1em;
}
dl.plain dt {
  font-weight: bold;
}
dl.plain dd {
  margin-bottom: 1em;
}

/* -----------------------------------------------
	3. Helper Class
-------------------------------------------------- */
/* ---------- clear ---------- */
._clearfix {
  zoom: 1;
}
._clearfix:after {
  content: "";
  display: block;
  clear: both;
  overflow: auto;
}

._float-l {
  float: left;
}

._float-r {
  float: right;
}

._clear {
  clear: both;
}

._hidden {
  display: none;
}

/* ---------- text ---------- */
._bold {
  font-weight: bold;
}

._underline {
  text-decoration: underline;
}

._small {
  font-size: 88% !important;
}

._large {
  font-size: 113% !important;
}

._valignt {
  vertical-align: top !important;
}

._valignm {
  vertical-align: middle !important;
}

._valignb {
  vertical-align: bottom !important;
}

._txtc, ._txtc th, ._txtc td {
  text-align: center !important;
}

._txtr, ._txtr th, ._txtr td {
  text-align: right !important;
}

._txtl, ._txtl th, ._txtl td {
  text-align: left !important;
}

._wordbreak {
  word-break: break-all !important;
}

._nowrap {
  white-space: nowrap !important;
}

._image-text {
  overflow: hidden !important;
}

/* ---------- margin ---------- */
._zero {
  margin-bottom: 0 !important;
}

._half {
  margin-bottom: 10px !important;
}

._default {
  margin-bottom: 20px !important;
}

._double {
  margin-bottom: 40px !important;
}

/* ---------- devices ---------- */
@media (min-width: 769px) {
  .only-sp {
    display: none !important;
  }
}
@media (max-width: 767px) {
  .only-pc {
    display: none !important;
  }
}
html, body {
  height: 100%;
}

body {
  background: url(../images/bg.jpg) no-repeat 50% 50%;
  background-size: cover;
}

.site-content {
  display: flex;
  align-items: center;
  height: 100%;
}

.login-form {
  width: 30em;
  margin: auto;
  padding: 2.5rem 1.875rem 2.5rem;
  border: 1px solid #DDD;
  border-radius: 10px;
  box-sizing: border-box;
  background: rgba(255, 255, 255, 0.95);
  text-align: center;
}
.login-form .logo {
  margin: 0;
}
.login-form .logo img {
  max-width: 300px;
}
.login-form .logo .sub {
  display: block;
  font-size: 17px;
  font-weight: 500;
  letter-spacing: 0.1em;
  color: #000;
  white-space: nowrap;
  margin-top: 0.5em;
}
.login-form .fields {
  margin: 1.5em 0 1em;
}
.login-form .fields .text-field:first-child {
  border-radius: 5px 5px 0 0;
}
.login-form .fields .text-field:last-child {
  margin-top: -1px;
  border-radius: 0 0 5px 5px;
}
.login-form .persistent {
  text-align: left;
  margin-bottom: 1.5em;
}

.text-field, .text-area {
  width: 100%;
  padding: 0.5em 1em;
  box-sizing: border-box;
  border: 1px solid #cccccc;
  border-radius: 5px;
  box-shadow: none;
  font-size: 16px;
  vertical-align: middle;
}

.login-form .error {
  color: #F00;
  text-align: left;
}

.button-large {
  position: relative;
  display: inline-block;
  border: 2px solid #205BA4;
  background: transparent;
  padding: 8px 20px;
  min-width: 300px;
  color: #205BA4;
  font-size: 18px;
  font-weight: bold;
  box-sizing: border-box;
  text-decoration: none;
  transition: all 0.5s;
  outline: 0;
  border-radius: 27px;
}
@media all and (-ms-high-contrast: none) {
  .button-large {
    padding: 11px 20px 5px;
  }
}
.button-large:hover {
  color: #FFF;
  background: #205BA4;
  text-decoration: none;
}
.button-large.-login::after {
  position: absolute;
  right: 1.5em;
  top: calc(50% - 0.5em);
  display: inline-block;
  content: "";
  width: 1em;
  height: 1em;
  background: url(../images/icon_login.svg) no-repeat 0 0;
  background-size: 1em 1em;
}

@media screen and (max-width: 640px) {
  .login-form {
    width: auto;
    margin: auto 1rem;
  }
  .login-form .button-large {
    min-width: 0;
    width: 100%;
  }
}