/*
 * Globals
 */

.is-shadowless {
  box-shadow: none !important;
}

/* body {
  height: 100vh;
} */

/***********
  .main
************/
.main {
  margin-left: 58px;
}

/***********
  .button
************/
.button:hover {
  opacity: 0.8;
}

/***********
  sidemenu
************/
.fa-2x {
  font-size: 2em;
}
.fa {
  position: relative;
  display: table-cell;
  width: 60px;
  height: 36px;
  text-align: center;
  vertical-align: middle;
  font-size: 20px;
}

.main-menu:hover,
nav.main-menu.expanded {
  width: 250px;
  overflow: visible;
}

.main-menu {
  background: #5c2c90;
  border-right: 1px solid #e5e5e5;
  position: fixed;
  top: 0;
  bottom: 0;
  height: 100vh;
  left: 0;
  width: 56px;
  overflow: hidden;
  -webkit-transition: width 0.05s linear;
  transition: width 0.05s linear;
  -webkit-transform: translateZ(0) scale(1, 1);
  z-index: 5;
}

.main-menu > ul {
  margin: 7px 0;
}

.main-menu li {
  position: relative;
  display: block;
  width: 250px;
}

.main-menu li > a {
  position: relative;
  display: table;
  border-collapse: collapse;
  border-spacing: 0;
  color: white;
  font-size: 14px;
  text-decoration: none;
  -webkit-transform: translateZ(0) scale(1, 1);
  -webkit-transition: all 0.1s linear;
  transition: all 0.1s linear;
}

.main-menu .nav-icon {
  position: relative;
  display: table-cell;
  width: 60px;
  height: 36px;
  text-align: center;
  vertical-align: middle;
  font-size: 18px;
}

.main-menu .nav-text {
  position: relative;
  display: table-cell;
  vertical-align: middle;
  width: 190px;
}

.main-menu > ul.logout {
  position: absolute;
  left: 0;
  bottom: 0;
}

.no-touch .scrollable.hover {
  overflow-y: hidden;
}

.no-touch .scrollable.hover:hover {
  overflow-y: auto;
  overflow: visible;
}

a:hover,
a:focus {
  text-decoration: none;
}

nav {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;
  user-select: none;
}

nav ul,
nav li {
  outline: 0;
  margin: 0;
  padding: 0;
}
.main-menu li:hover > a,
nav.main-menu li.active > a,
.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus,
.dropdown-menu > .active > a,
.dropdown-menu > .active > a:hover,
.dropdown-menu > .active > a:focus,
.no-touch .dashboard-page nav.dashboard-menu ul li:hover a,
.dashboard-page nav.dashboard-menu ul li.active a {
  color: #fff;
  background-color: #5fa2db;
}

/***********
  .header
************/
.header {
  height: 50px;
  display: flex;
  justify-content: left;
}

.header img {
  max-width: 150px;
}

/***********
  pageTitle
************/
.border-purple-bold {
  border-top: solid 4px #5c2c90;
  border-bottom: solid 4px #5c2c90;
}

.border-purple-normal {
  border-top: solid 2px #5c2c90;
  border-bottom: solid 2px #5c2c90;
}

.page-title.hero.is-small .hero-body {
  padding: 0.25rem;
}

/***********
  login page
************/
.login {
  background-color: #f3f5ef;
}

.max-width-500px {
  max-width: 500px;
}

.login main {
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
}
/***********
  table
************/
.tablesorter th {
  position: relative;
  cursor: pointer;
  text-align: left;
}
.tablesorter th::before,
.tablesorter th::after {
  content: "";
  position: absolute;
  z-index: 2;
  right: 7px;
  width: 0;
  height: 0;
  border: 4px dashed;
  border-color: #333 transparent;
  pointer-events: none;
}
.tablesorter th::before {
  border-bottom-style: solid;
  border-top: none;
  top: 30%;
}
.tablesorter th::after {
  border-top-style: solid;
  border-bottom: none;
  bottom: 30%;
}
.tablesorter th.tablesorter-headerAsc:after {
  border: none;
}
.tablesorter th.tablesorter-headerAsc:before {
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
}
.tablesorter th.tablesorter-headerDesc:before {
  border: none;
}
.tablesorter th.tablesorter-headerDesc:after {
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
}
.tablesorter th.sorter-false:before,
.tablesorter th.sorter-false:after {
  border: none;
}

/***********
  applicant page
************/

/* 一括処理 */
#mailPreview {
  max-height: 300px;
  background-color: #f8f8f8;
  cursor: default;
  color: black;
}

/***********
  写真アップロード
************/
.photo-img {
  max-width: 200px;
  width: 100%;
}

#file-input-label:hover {
  opacity: 0.8;
}

.photo-area {
  padding: 20px;
  background-color: #f1dede;
  max-width: 300px;
  border-radius: 10px;
}

#file-input-label {
  padding: 10px 10px;
  border-radius: 999px;
  color: #ffffff;
  background-color: gray;
  cursor: pointer;
  display: inline-block;
}

#readjust-button {
  border-radius: 999px;
  color: #ffffff;
  background-color: #ff9900;
  cursor: pointer;
  display: inline-block;
}

#file-input-label > input[type="file"] {
  display: none;
}

.cropper-area {
  width: 100%;
}

.cropper-area img {
  display: block;
  max-width: 100%;
}

.cropper-btn-area .fa {
  height: auto;
}

.cropper-bottom-btn {
  position: absolute;
  bottom: 10px;
  right: 20px;
}

.cropperBox {
  position: relative;
}

/***********
  other
************/
.is-hidden {
  visibility: hidden;
}

.mt-100px {
  margin-top: 100px;
}
.mt-110px {
  margin-top: 110px;
}

.height2rem {
  height: 2rem;
}

.width-10px {
  width: 10px;
}

.width-20px {
  width: 20px;
}

.width-25px {
  width: 25px;
}

.width-30px {
  width: 30px;
}

.width-35px {
  width: 35px;
}

.width-55px {
  width: 55px;
}

.width-65px {
  width: 65px;
}

.width-100px {
  width: 100px;
}

.width-120px {
  width: 120px;
}

.width-150px {
  width: 150px;
}

.width-200px {
  width: 200px;
}

.width-300px {
  width: 300px;
}

.width-350px {
  width: 350px;
}

.max-width-100px {
  max-width: 100px;
}

.select {
  vertical-align: middle;
}

.vertical-align-middle {
  vertical-align: -webkit-baseline-middle;
}

.is-block {
  display: block;
}

.modal-card-wide .modal-content {
  width: 850px !important;
}

/***********
  loading
************/
#modalLoading .modal-background {
  background-color: rgba(255, 255, 255, 0.3);
}

#modalLoading .loader {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border: 8px solid #f3f3f3;
  border-top: 8px solid #5c2c90;
  border-radius: 50%;
  width: 80px;
  height: 80px;
  animation: spin 1.5s linear infinite;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
