html {
  height: 100%;
  overflow-y: scroll;
}
body {
  height: 100%;
  margin: 0;
  color: #333;
  background: #eee;
}
*, *::before, *::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  font-family: 'Lato', YuGothic, '游ゴシック', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック' ,sans-serif;
  margin: 0;
  padding: 0;
}
@media all and (-ms-high-contrast:none) {
  *, *::before, *::after {
    font-family: "メイリオ", Meiryo, 'Lato', YuGothic, '游ゴシック', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'ＭＳ Ｐゴシック', sans-serif;
  }
}
article, aside, dialog, figure, footer, header,
hgroup, menu, nav, section { display: block; }
a {
  color: #333;
  -webkit-transition: all 0.2s ease-out;
  -moz-transition: all 0.2s ease-out;
  -o-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}
a, a:hover, a:focus {
  text-decoration: none;
  outline: none;
}
a:hover {
  opacity: .6;
}
a.underline {
  text-decoration: underline;
}
p { margin: 0;}
ul {
  margin: 0;
}
ul, li {
  list-style: none;
  padding: 0;
}
img {
  max-width: 100%;
  height: auto;
}
.txt-ctr { text-align: center;}
.txt-rgt { text-align: right;}

.flt-lft { float: left;}
.flt-rgt { float: right;}

.c-ble { color: #0f9d3a;}
.c-grn { color: #84c200;}
.bg-ble { background: #0f9d3a;}
.bg-grn { background: #84c200;}
.bg-grd { background: linear-gradient(90deg, #0f9d3a, #16e354);}
.bg-grd-o { background: linear-gradient(90deg, #ff6200, #ffae00);}

.mgn-btm8 { margin-bottom: 8px;}
.mgn-btm16 { margin-bottom: 16px;}
.mgn-btm24 { margin-bottom: 24px;}
.mgn-btm32 { margin-bottom: 32px;}
.mgn-btm40 { margin-bottom: 40px;}
.mgn-btm48 { margin-bottom: 48px;}
.mgn-btm56 { margin-bottom: 56px;}
.mgn-btm64 { margin-bottom: 64px;}
.mgn-btm72 { margin-bottom: 72px;}
.mgn-btm80 { margin-bottom: 80px;}

@media (max-width: 768px) {
  body {
    font-size: 90%;
  }

  .mgn-btm8 { margin-bottom: 4.8px;}
  .mgn-btm16 { margin-bottom: 9.6px;}
  .mgn-btm24 { margin-bottom: 14.4px;}
  .mgn-btm32 { margin-bottom: 19.2px;}
  .mgn-btm40 { margin-bottom: 24px;}
  .mgn-btm48 { margin-bottom: 28.8px;}
  .mgn-btm56 { margin-bottom: 33.6px;}
  .mgn-btm64 { margin-bottom: 38.4px;}
  .mgn-btm72 { margin-bottom: 43.2px;}
  .mgn-btm80 { margin-bottom: 48px;}
}

/* layout
 **************************************** */
.inner {
  width: 1080px;
  max-width: 90%;
  margin: 0 auto;
  position: relative;
}
.inner-s {
  width: 800px;
}
.inner-top {
  display: flex;
  display: -webkit-flex;
  justify-content: space-between;
  -webkit-justify-content: space-between;
  align-items: center;
  -webkit-align-items: center;
  height: 64px;
  width: 90%;
}
.fullheight {
/*  min-height: 590px;
  height: calc(100% - 153px);*/
}
.fullheight.no_post {
  min-height: 304px;
  height: calc(100% - 353px);
}
.section_pdg {
  padding: 56px 0;
}
.sp {
  display: none;
}

/* For modern browsers */
.clearfix::before, .clearfix::after {
  content:"";
  display:table;
}
.clearfix::after {
  clear:both;
}
/* For IE 6/7 (trigger hasLayout) */
.clearfix {
  zoom:1;
}

@media (max-width: 768px) {
  .section_pdg {
    padding: 64px 0;
  }
  .inner-top {
    height: 48px;
  }
  .inner-top.sp {
    display: flex;
    display: -webkit-flex;
    justify-content: flex-end;
    -webkit-justify-content: flex-end;
    align-items: center;
    -webkit-align-items: center;
    height: 64px;
  }
  .fullheight {
    min-height: 460px;
    height: calc(100% - 130px);
  }
  .fullheight.no_post {
    min-height: 226px;
    height: calc(100% - 290px);
  }
  .sp {
    display: inline-block;
  }
  .pc {
    display: none;
  }
}

@media (max-height: 508px) {
  .fullheight, .fullheight.no_post {
    min-height: auto;
    height: auto;
  }
}

/* =====================================================================================

    HEADER

===================================================================================== */
header, .fx_header {
  font-size: 95%;
  background: #fff;
}
.logo_mode, .nav {
  display: table;
}
.logo_mode *, .nav * {
  display: table-cell;
  vertical-align: middle;
}
.logo_mode p {
  color: #0f9d3a;
}
.logo {
  padding-right: 40px;
}
.logo a { display: table;}
.logo img {
  display: table-cell;
  vertical-align: middle;
}
.mode, .logo_txt {
  display: inline-block;
}
.logo_txt {
  font-size: 100%;
  font-weight: bold;
  margin: 15px;
}
.mode {
  padding: 5px 20px;
  background: #444;
  color: #fff;
  font-size: 80%;
  border-radius: 40px;
  margin: 15px 15px 15px 0;
}
.mode.sp {
  display: none;
}
.user a {
  padding: 4px 10px;
  border: 1px solid #333;
}
.user a:hover {
  opacity: 1;
  background: #333;
  color: #fff;
}
.username {
  margin: 0 40px 0 0;
  font-weight: bold;
}
.fx_header {
  position: fixed;
  top: -64px;
  left: 0;
  width: 100%;
  z-index: 9999;
  box-shadow: 0 0 16px rgba(0,0,0,.1);
}
.fx_header.slideDown {
  animation-name: slideDown;
  animation-timing-function: ease-in-out;
  animation-iteration-count: 1;
  animation-duration: .2s;
  -webkit-animation-name: slideDown;
  -webkit-animation-timing-function: ease-in-out;
  -webkit-animation-iteration-count: 1;
  -webkit-animation-duration: .2s;
  top: 0;
}
@keyframes slideDown {
  0% {
    top: -64px;
    opacity: 0;
  }
  100% {
    top: 0;
    opacity: 1;
  }
}
@-webkit-keyframes slideDown {
  0% {
    top: -64px;
    opacity: 0;
  }
  100% {
    top: 0;
    opacity: 1;
  }
}
.fx_header.slideUp {
  animation-name: slideUp;
  animation-timing-function: ease-in-out;
  animation-iteration-count: 1;
  animation-duration: .2s;
  -webkit-animation-name: slideUp;
  -webkit-animation-timing-function: ease-in-out;
  -webkit-animation-iteration-count: 1;
  -webkit-animation-duration: .2s;
  top: -64px;
  position: fixed;
}
@keyframes slideUp {
  0% {
    top: 0;
    opacity: 1;
  }
  100% {
    top: -64px;
    opacity: 0;
  }
}
@-webkit-keyframes slideUp {
  0% {
    top: 0;
    opacity: 1;
  }
  100% {
    top: -64px;
    opacity: 0;
  }
}

@media (max-width: 768px) {
  .fx_header {
    background: none;
    border-bottom: none;
    box-shadow: none;
  }
  .logo {
    margin: 0 2vw 0 0;
  }
  .logo img {
    width: auto;
    height: 32px;
  }
  .mode, .username.sp {
    margin: 8px 5% 0 0;
    float: right;
    background: none;
    color: #444;
    padding: 0;
  }
  .mode.pc, .user.pc {
    display: none;
  }
  .mode.sp {
    display: block;
  }
  .nav {
    display: none;
  }
  .gnav_btn {
    background: #0f9d3a;
    padding: 8px 6px 6px;
    position: relative;
    z-index: 9999;
    box-shadow: 0 0 16px rgba(0,0,0,.1);
  }
  .gnav_btn * {
    color: #fff;
    font-size: 80%;
    text-align: center;
    display: block;
    line-height: 1em;
  }
  .bar {
    width: 28px;
    height: 1px;
    background: #fff;
    margin: 0 auto 6px;
  }
  .bar:nth-child(3) {
    margin: 0 auto 4px;
  }
  .close, .gnav_btn.active .menu {
    display: none;
  }
  .gnav_btn.active .close {
    display: block;
  }
  .gnav_btn.active .bar:nth-child(1) {
    animation: openLeft .4s forwards;
    transform: translate(0,7px) rotate(30deg);
  }
  .gnav_btn.active .bar:nth-child(3) {
    animation: openRight .4s forwards;
    transform: translate(0,-7px) rotate(-30deg);
  }
  .gnav_btn.active .bar:nth-child(2) {
    opacity: 0;
  }
  @keyframes openLeft {
    0% { transform: translate(0) rotate(0deg);}
    50% { transform: translate(0,7px) rotate(0deg);}
    100% { transform: translate(0,7px) rotate(30deg);}
  }
  -webkit-@keyframes openLeft {
    0% { -webkit-transform: translate(0) rotate(0deg);}
    50% { -webkit-transform: translate(0,7px) rotate(0deg);}
    100% { -webkit-transform: translate(0,7px) rotate(30deg);}
  }
  @keyframes openRight {
    0% { transform: translate(0) rotate(0deg);}
    50% { transform: translate(0,-7px) rotate(0deg);}
    100% { transform: translate(0,-7px) rotate(-30deg);}
  }
  -webkit-@keyframes openRight {
    0% { -webkit-transform: translate(0) rotate(0deg);}
    50% { -webkit-transform: translate(0,-7px) rotate(0deg);}
    100% { -webkit-transform: translate(0,-7px) rotate(-30deg);}
  }
  .gnav_btn.nonactive .bar:nth-child(1) {
    animation: closeLeft .4s forwards;
    transform: translate(0) rotate(0deg);
  }
  .gnav_btn.nonactive .bar:nth-child(3) {
    animation: closeRight .4s forwards;
    transform: translate(0) rotate(0deg);
  }
  .gnav_btn.nonactive .bar:nth-child(2) {
    opacity: 1;
  }
  @keyframes closeLeft {
    0% { transform: translate(0,7px) rotate(30deg);}
    50% { transform: translate(0,7px) rotate(0deg);}
    100% { transform: translate(0) rotate(0deg);}
  }
  -webkit-@keyframes closeLeft {
    0% { -webkit-transform: translate(0,7px) rotate(30deg);}
    50% { -webkit-transform: translate(0,7px) rotate(0deg);}
    100% { -webkit-transform: translate(0) rotate(0deg);}
  }
  @keyframes closeRight {
    0% { transform: translate(0,-7px) rotate(-30deg);}
    50% { transform: translate(0,-7px) rotate(0deg);}
    100% { transform: translate(0) rotate(0deg);}
  }
  -webkit-@keyframes closeRight {
    0% { -webkit-transform: translate(0,-7px) rotate(-30deg);}
    50% { -webkit-transform: translate(0,-7px) rotate(0deg);}
    100% { -webkit-transform: translate(0) rotate(0deg);}
  }
  .gnav {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 64px 5% 0;
    background: rgba(255,255,255,.8);
  }
  .gnav a {
    display: block;
    padding: 12px 0;
    text-align: center;
    background: #eaf0f9;
    margin: 0 0 2px;
  }
  .gnav li:last-child a {
    margin: 0;
  }
  .snav a {
    font-size: 90%;
    padding: 6px 0;
  }
  .fx_header .username {
    background: none;
    margin: 0;
    padding: 0;
  }
  .fx_header .username {
    margin: -66px 0 0;
    text-align: left;
  }
  .logout a {
    color: #0f9d3a;
    background: none;
  }
}

/* page_ttl
 **************************************** */
.page_ttl {
  width: 100%;
  height: 96px;
  display: flex;
  display: -webkit-flex;
  justify-content: center;
  -webkit-justify-content: center;
  align-items: center;
  -webkit-align-items: center;
  position: relative;
}
.page_ttl::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(transparent 70%, rgba(255,255,255,.7) 80%, rgba(255,255,255,.7) 100%, transparent 100%), linear-gradient( 90deg, transparent 70%, rgba(255,255,255,.7) 80%, rgba(255,255,255,.7) 100%, transparent 100%);
  background-size: 2px 2px;
}
.page_ttl * {
  color: #fff;
  text-shadow: 0 0 8px rgba(0,0,0,.1);
}
.page_ttl h1 {
  font-size: 150%;
  font-weight: normal;
}
.section_ttl {
  position: relative;
  margin-top: 24px;
  margin-bottom: 24px;
  padding-left: 1.25em;
  font-weight: normal;
  font-size: 130%;
  border-bottom: 2px solid #333;
  clear: both;
}
.section_ttl::before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: .5em;
  margin: auto;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px 0 6px 8px;
  border-color: transparent transparent transparent #333;
}
.section_ttl:first-of-type {
  margin-top: 0;
}
.login_ttl {
  position: relative;
  display: table !important;
  font-size: 140%;
  padding: 0 2em;
  margin: 0 auto 24px;
  text-align: center;
  font-weight: normal;
}
.login_ttl::before,
.login_ttl::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 1em;
  height: 1px;
  background: #333;
}
.login_ttl::before {
  left: 0;
}
.login_ttl::after {
  right: 0;
}

@media (max-width: 768px) {
  .page_ttl {
    height: 160px;
  }
}

/* btn
 **************************************** */
button:focus {
  outline: none;
}
.btn {
  margin-top: 40px;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
}
.btn-prev,
.btn-next,
.btn-submit,
.btn-enter,
.btn-cancel {
  display: block;
  margin-top: 16px;
  padding: 6px 40px;
  border: none;
  border-radius: 5px;
  font-size: 95%;
  color: #fff;
  cursor: pointer;
  -webkit-transition: all 0.2s ease-out;
  -moz-transition: all 0.2s ease-out;
  -o-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
  transition-property: all;
  transition-duration: 0.2s;
  transition-timing-function: ease-out;
  transition-delay: initial;
}
.btn-prev:hover,
.btn-next:hover,
.btn-submit:hover,
.btn-enter:hover,
.btn-cancel:hover {
  opacity: .6;
}
.btn-prev,
.btn-cancel {
  float: left;
}
.btn-prev {
  background: linear-gradient(#16e354, #0f9d3a);
}
.btn-cancel {
  background: linear-gradient(#ccc, #aaa);
}
.btn-next,
.btn-submit,
.btn-enter {
  background: linear-gradient(#ffae00, #ff6200);
}
.btn-next,
.btn-submit {
  float: right;
}
.btn-enter {
  display: table;
  margin-left: auto;
  margin-right: auto;
}
.btn-detail,
.btn-edit {
  color: #fff;
  padding: 2px 4px;
  border-radius: 2.5px;
  font-size: 90%;
}
.btn-detail {
  background: #e35416;
}
.btn-edit {
  background: #16a5e3;
}

/* table
 **************************************** */
table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 4px;
  font-size: 90%;
  white-space: nowrap;
}
th, td {
  padding: 6px;
  border: 1px solid #ddd;
}
th {
  background: #e7f5eb;
  width: 35%;
  font-weight: normal;
  white-space: nowrap;
}
td {
  background: #fff;
  width: 65%;
}
table .vr {
  width: 1.5em;
  white-space: normal;
}

/* =====================================================================================

    FOOTER

===================================================================================== */
footer {
  background: #0f9d3a;
  font-size: 95%;
}
footer .inner {
  display: flex;
  display: -webkit-flex;
  justify-content: space-between;
  -webkit-justify-content: space-between;
  align-items: center;
  -webkit-align-items: center;
  height: 64px;
}
footer * {
  color: #fff;
}
.copyright {
  font-size: 90%;
}
.fnav li {
  float: left;
}
.fnav a {
  display: block;
  text-decoration: underline;
}
.fnav a:hover {
  opacity: 1;
  text-shadow: 0 0 6px rgba(255,255,255,.8);
}

@media (max-width: 768px) {
  footer .inner {
    display: block;
    height: auto;
    padding: 16px 0;
    text-align: center;
  }
  .fnav {
    display: table;
    margin: 0 auto 8px;
  }
  .copyright {
    clear: both;
  }
}

/* =====================================================================================

    INDEX

===================================================================================== */
.home_txt {
  background: #ddd;
  padding: 16px;
  text-align: center;
  font-size: 120%;
  font-weight: bold;
  margin-bottom: 24px;
}
.home_nav {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
.home_nav li {
  width: calc(100% / 3 - 8px);
  margin: 0 12px 12px 0;
}
.home_nav li:nth-last-child(-n+3) {
  margin: 0 12px 0 0;
}
.home_nav li:nth-child(3n) {
  margin: 0 0 12px;
}
.home_nav li:last-child {
  margin: 0;
}
.home_nav a {
  display: block;
  background: #fff;
  border: 2px solid #0f9d3a;
  padding: 40px;
  text-align: center;
  color: #0f9d3a;
  font-size: 120%;
  font-weight: bold;
}
.home_nav a:hover {
  opacity: 1;
  background: #e7f5eb;
}

/* =====================================================================================

    LAYOUT

===================================================================================== */

/* sidebar
 **************************************** */
.side-column {
  width: 240px;
  float: left;
  margin: 0 40px 0 0;
}
.side-section {
  background: #fff;
  padding: 24px;
}
.side_nav {
  font-size: 95%;
}
.side_nav li {
  margin-bottom: 4px;
}
.side_nav li:last-child {
  margin-bottom: 0;
}
.side_nav a {
  position: relative;
  display: block;
  padding: 4px 4px 4px 1.5em;
  background: #e7f5eb;
  border-radius: 5px;
}
.side_nav a::before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: .5em;
  margin: auto;
  width: 4px;
  height: 60%;
  border-radius: 8px;
  background: #0f9d3a;
  -webkit-transition: all 0.2s ease-out;
  -moz-transition: all 0.2s ease-out;
  -o-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}
.side_nav a:hover {
  opacity: 1;
  background: #c3e6cd;
}
.side_nav a:hover::before {
  background: #16e354;
}

/* main
 **************************************** */
.main-column {
  width: 780px;
  max-width: calc(100% - 280px);
  float: left;
}
.wrapper {
  margin-bottom: 32px;
}
.wrapper:last-child {
  margin-bottom: 0;
}
.pagination {
  display: table;
  margin: 40px auto 0;
}
.pagination li {
  display: table-cell;
  padding: 4px 6px;
}
.pagination .active {
  color: #e35416;
  border-bottom: 1px solid #e35416;
}
.pagination .disabled {
  color: #aaa;
}
.pagination a:hover {
  opacity: 1;
  color: #e35416;
}
.table-smaller {
  margin-left: -280px;
  width: calc(100% + 280px);
  white-space: normal;
}
.table-smaller th,
.table-smaller td {
  width: auto;
  white-space: normal;
}
.table-smaller .nowrap {
  white-space: nowrap;
}

@media (max-width: 1036px) {
  .smaller-none {
    display: none;
  }
}

/* =====================================================================================

    FORM

===================================================================================== */
.form-group,
.taxi_price_table h3 {
  font-size: 95%;
}
.form-group {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: 2px;
}
.form-group .lft,
.form-group .rgt,
.taxi_price_table h3 {
  padding: 4px 10px;
}
.form-group .lft,
.form-group .rgt {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-align-items: center;
  align-items: center;
}
.form-group .lft {
  width: 35%;
  background: #0f9d3a;
  color: #fff;
}
.form-group .rgt {
  width: 65%;
  background: #fff;
}
@media all and (-ms-high-contrast:none) {
  .form-group .lft {
    width: 40%;
  }
  .form-group .rgt {
    width: 60%;
  }
}
.form-group .rgt.block {
  display: block;
}
.form-group .rgt .lft {
  display: none;
}
.form-group .rgt .rgt {
  padding: 0;
}
.form-group input,
.form-group select,
table input {
  height: 2em;
  padding: .25em .5em;
  border: 1px solid #ddd;
  border-radius: 5px;
  background: #f9f9f9;
  font-size: 90%;
}
.form-group div.full,
.form-group input.full,
.form-group label.full {
  width: 100%;
}
.form-group input[type="radio"] {
  height: auto;
  padding: auto;
}
.form-group input[disable] {
  background: #eaeaea;
}
.form-group input[readonly] {
  background: #e7f5eb;
}
.form-group .input-group-addon,
.help-block {/*
  margin-top: 8px;*/
  font-size: 90%;
  padding-left: .5em;
}/*
.form-group .input-group-addon {
  display: block;
  text-align: right;
}*/
.form-group label.block {
  display: block;
}
.form-group .input-price {
  width: 88%;
}
.form-group .input-group-addon.num {
  width: 12%;
  margin-top: 0;
}
.form-group .radio {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
}
.form-group input[type="radio"] {
  width: 24px;
}
.form-group input[type="checkbox"] {
  margin: 0 6px;
}
.taxi_price_table h3 {
  background: #0f9d3a;
  color: #fff;
  font-weight: normal;
  margin-right: 2px;
}
.taxi_price_table h3:last-of-type {
  margin-right: 0;
}
.taxi_price_table input {
  width: 100%;
}
.taxi_price_table .input-group-addon {
  display: block;
  width: 100%;
  text-align: right;
}
.text-danger {
  position: relative;
  margin-left: auto;
  color: #ff3333;
  padding-left: 32px;
}
.text-danger::before {
  content: '!';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  padding-top: 4px;
  width: 24px;
  height: 24px;
  font-size: 150%;
  border: 1px solid #ff3333;
  background: #ffeaea;
  border-radius: 50%;
  display: flex;
  display: -webkit-flex;
  justify-content: center;
  -webkit-justify-content: center;
  align-items: center;
  -webkit-align-items: center;
}

/* =====================================================================================

    LOGIN

===================================================================================== */
.login {
  max-width: 100%;
  width: 480px;
  margin: 0 auto;
  background: #fff;
  padding: 64px;
  box-shadow: 0 0 16px rgba(0,0,0,.1);
}
.login * {
  display: block;
}
.login label, .users label {
  display: block;
  font-size: 90%;
  margin: 0 0 .25em;
}
.login input {
  width: 100%;
  height: 2.5em;
  padding: .5em;
  border: 1px solid #ddd;
  border-radius: 5px;
  font-size: 110%;
  background: #f9f9f9;
}
.login input:focus {
  outline: none;
  box-shadow: 0 0 2px rgba(255,98,0,.4);
}
.login button, .users button.bg-grd {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  appearance: none;
  width: 100%;
  margin: 0 auto;
  padding: 16px 0;
  border-radius: 5px;
  font-size: 100%;
  position: relative;
}
.login button::before, .users button.bg-grd::before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: calc(100% - 2px);
  height: calc(100% - 2px);
  background: rgba(255,255,255,0);
  border-radius: 5px;
  -webkit-transition: all 0.2s ease-out;
  -moz-transition: all 0.2s ease-out;
  -o-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}
.login button:hover::before, .users button.bg-grd:hover::before {
  background: rgba(255,255,255,.8);
}
.login button span, .users button.bg-grd span {
  color: #fff;
  position: relative;
  z-index: 1;
  -webkit-transition: all 0.2s ease-out;
  -moz-transition: all 0.2s ease-out;
  -o-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}
.login button:hover span, .users button.bg-grd:hover span {
  color: #0f9d3a;
}
.error_txt {
  margin: 24px auto 0;
  padding: 0 0 0 56px;
  color: #ff3333;
  display: table;
  position: relative;
}
.error_txt::before {
  content: '\f12a';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  font: normal normal normal 14px/1 FontAwesome;
  display: inline-block;
  width: 40px;
  height: 40px;
  font-size: 150%;
  border: 1px solid #ff3333;
  background: #ffeaea;
  border-radius: 50%;
  display: flex;
  display: -webkit-flex;
  justify-content: center;
  -webkit-justify-content: center;
  align-items: center;
  -webkit-align-items: center;
}
.alert {
  position: relative;
  display: table;
  margin: 24px auto 0;
  color: #F4312E;
  padding-left: 2em;
}
.alert::before {
  content: '!';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 1.5em;
  height: 1.5em;
  color: #fff;
  background: #F4312E;
  border-radius: 50%;
  margin-right: .5em;
  text-align: center;
}

@media (max-width: 768px) {
  .login {
    padding: 32px;
  }
  .login button {
    padding: 12px 0;
  }
  .error_txt {
    margin: 16px auto 0;
    padding: 0 0 0 48px;
  }
  .error_txt::before {
    width: 36px;
    height: 36px;
  }
}

.form-group.half {
  width: 50%;
  float:left;
  margin-bottom: 2px;
  height: 44px;
}
.form-group.half:nth-of-type(even) .rgt {
  background: #0f9d3a;
  color: #fff;
}
.form-group.half .rgt {
  width: 100%;
}
.form-group.half:nth-of-type(even) {
  width: 40%;
}
.form-group.half:nth-of-type(odd) {
  width: 60%;
}
.form-group.half.same-width:nth-of-type(even),
.form-group.half.same-width:nth-of-type(odd),
.form-group .lft.same-width,
.form-group .rgt.same-width {
  width: 50%;
}
.form-group.half.same-width:nth-of-type(odd) .rgt {
  background: #0f9d3a;
}
.form-group.half.same-width:nth-of-type(even) .rgt {
  background: #fff;
}
.form-group.half .rgt input {
  width: calc(100% - 9em);
}
.form-group.half.same-width .rgt input {
  width: calc(100% - 12em);
}
@media all and (-ms-high-contrast:none) {
  .form-group.half:nth-of-type(even) {
    width: 40%;
  }
  .form-group.half:nth-of-type(odd) {
    width: 60%;
}
