@charset "UTF-8";
/* Scss Document */
/*-------------- ブレークポイント作成 ここから ----------------*/
/*-------------- ブレークポイント作成 ここまで ----------------*/
/*-------------- calc mixin ここから ----------------*/
/*-------------- calc mixin ここまで ----------------*/
html {
  font-size: 62.5%; }

body {
  min-width: 1000px;
  min-height: 100vh;
  -webkit-text-size-adjust: 100%;
  background-color: #fff;
  font-family: "游ゴシック体",YuGothic,"游ゴシック Medium","Yu Gothic Medium","游ゴシック","Yu Gothic","メイリオ",sans-serif;
  font-weight: 500;
  line-height: 1.7; }

main {
  display: block; }

a {
  text-decoration: none;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }
  a:hover {
    cursor: pointer; }
    a:hover img {
      opacity: 0.7;
      -webkit-transition: 0.3s;
      -o-transition: 0.3s;
      transition: 0.3s;
      -webkit-backface-visibility: hidden;
      backface-visibility: hidden; }

p,
th,
td {
  font-size: 1.5rem; }

form {
  margin-bottom: 0; }

img {
  max-width: 100%;
  vertical-align: middle;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }

.wrapper {
  margin: 0 auto; }

.clearfix::after {
  content: "";
  display: table;
  clear: both; }

.content .inner {
  margin: 40px auto 50px; }

.inner {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }
  @media screen and (max-width: 1040px) {
    .inner {
      padding: 0 2%; } }
  @media screen and (max-width: 767px) {
    .inner {
      padding: 0 4%; } }

@media screen and (max-width: 767px) {
  .pc {
    display: none !important; } }

@media screen and (min-width: 768px) {
  .sp {
    display: none !important; } }

@media screen and (min-width: 992px) {
  .tab {
    display: none; } }

@media screen and (max-width: 767px) {
  .tab {
    display: none; } }

table {
  width: 100%;
  table-layout: fixed; }
  @media screen and (max-width: 1040px) {
    table {
      padding: 0 2%; } }
  table th,
  table td {
    line-height: 1.7; }

input[type="text"], input[type="tel"], input[type="email"], input[type="password"] {
  width: 100%;
  -webkit-appearance: none;
  font-size: 1.5rem;
  line-height: normal;
  background-color: #fff;
  padding: 10px;
  color: #000;
  border: 1px solid #ccc;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }
  input[type="text"]:focus, input[type="tel"]:focus, input[type="email"]:focus, input[type="password"]:focus {
    border-color: #20a8d8;
    outline: none; }

select:-moz-focusring {
  color: transparent; }

select::-ms-expand {
  display: none; }

textarea {
  width: 100%;
  min-height: 200px;
  border: 1px solid #ccc;
  border-radius: .3rem;
  padding: 10px; }
  textarea:focus {
    border-color: #20a8d8;
    outline: none; }

footer {
  display: none; }

/*=======================================================

    ボタン タイトル & その他 共通

========================================================*/
.btn {
  letter-spacing: 0.05em;
  line-height: 1;
  font-weight: 600;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }
  .btn:hover {
    cursor: pointer; }
  .btn-lg {
    font-size: 1.7rem;
    padding: 1rem 6rem; }
    .btn-lg:not(:last-child) {
      margin-right: 1rem; }
  .btn-md {
    font-size: 1.5rem;
    padding: 1rem 2rem; }
    .btn-md:not(:last-child) {
      margin-right: .5rem; }
  .btn-sm {
    font-size: 1.2rem;
    padding: .5rem 1rem; }

.title {
  font-weight: 600;
  letter-spacing: 0.05em; }
  .title-default {
    position: relative;
    font-size: 2.2rem;
    margin-bottom: 20px; }

.far:before,
.fas:before {
  font-family: "Font Awesome 5 Free";
  font-size: 1.8rem; }

/*=======================================================

    モーダル

========================================================*/
.modal_content {
  max-width: 500px;
  background-color: #fff;
  margin: 0 auto;
  padding: 35px 20px 25px;
  border-radius: 5px; }

.modal_body {
  max-width: 800px;
  background-color: #fff; }

.modal_content .btn-lg {
  padding: 1rem 3rem; }

.modal_content .btn_wrap .btn {
  font-size: 1.6rem; }

.modal_title {
  font-size: 1.8rem;
  text-align: center;
  margin-bottom: 25px; }

/*=======================================================

     header

========================================================*/
.app-header {
  height: 100px;
  position: relative;
  border: none;
  -webkit-box-shadow: 0 3px 6px 0 rgba(22, 77, 106, 0.1);
  box-shadow: 0 3px 6px 0 rgba(22, 77, 106, 0.1); }
  .app-header .nav-item {
    min-width: 120px;
    padding: 0 30px; }
  .app-header .navbar-nav .dropdown-menu {
    -webkit-box-shadow: 0 3px 6px 0 rgba(22, 77, 106, 0.1);
    box-shadow: 0 3px 6px 0 rgba(22, 77, 106, 0.1); }
  .app-header .navbar-brand {
    display: block;
    width: auto;
    height: auto;
    position: relative !important;
    margin-right: 50px; }
    .app-header .navbar-brand img {
      width: 78px; }

.navbar {
  font-size: 1.5rem;
  letter-spacing: 0.05em; }
  .navbar li {
    font-weight: 600; }
    .navbar li a {
      font-weight: 600; }
    .navbar li.logout {
      margin-left: auto; }
      .navbar li.logout i {
        padding-right: 5px; }
      .navbar li.logout a.nav-link {
        font-size: 1.5rem;
        color: #fff;
        background-color: #2f353a;
        border: 1px solid #2f353a;
        padding: 1rem 2rem; }
        .navbar li.logout a.nav-link:hover {
          background-color: #121517;
          border-color: #121517; }
    .navbar li .dropdown-menu {
      top: 59px;
      border-radius: 0; }
    .navbar li .dropdown-item {
      font-size: 1.4rem;
      border-radius: 0; }

/*=======================================================

     home

========================================================*/
.home .inner {
  margin: 0; }

.home .table_wrap {
  max-height: 480px;
  border: 1px solid #dddddd;
  margin-top: 30px;
  overflow-y: scroll; }
  .home .table_wrap::-webkit-scrollbar {
    width: 10px; }
  .home .table_wrap::-webkit-scrollbar-track {
    background-color: #dddddd; }
  .home .table_wrap::-webkit-scrollbar-thumb {
    background-color: #c9c9c9; }

.home table {
  background-color: #fff;
  margin-bottom: 0; }
  .home table th,
  .home table td {
    text-align: left;
    padding: 10px 10px;
    word-break: break-all;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border-top: none;
    border-width: 1px; }
  .home table .th-01,
  .home table .td-01 {
    width: 65px;
    padding-left: 15px;
    vertical-align: middle; }
  .home table .th-02,
  .home table .td-02 {
    width: 200px;
    vertical-align: middle; }
  .home table .th-03,
  .home table .td-03 {
    width: 450px; }
  .home table .th-04,
  .home table .td-04 {
    width: 115px;
    padding-right: 15px;
    vertical-align: middle; }
  .home table .td-03 a {
    margin-left: 10px; }
  .home table .layout {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    list-style: none;
    margin: 0;
    padding: 0; }
    .home table .layout li:not(:last-child) {
      margin-right: 5px; }

.home .btn i {
  padding-right: 5px; }

.home .btn-md {
  padding: 1rem 2rem 1rem 1.5rem; }

/*=======================================================

    login

========================================================*/
.login .logo {
  margin-bottom: 0; }
  .login .logo img {
    width: 140px; }

.login .card {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 550px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 1.3rem;
  margin: 0 auto;
  padding: 30px 2%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%); }
  .login .card-body {
    padding: 0; }
  .login .card-title {
    margin-bottom: 25px; }

.login label {
  font-size: 1.5rem;
  line-height: 1;
  padding-top: 10px; }

.login button {
  font-size: 1.5rem; }

/*=======================================================

    add

========================================================*/
.add table tr.detail th {
  vertical-align: top; }

.add table th {
  width: 200px;
  vertical-align: middle;
  text-align: left; }

.add table th, .add table td {
  padding: 10px 0; }

.add .input-group-btn span {
  font-size: 1.5rem; }

.add .input-group input[type="text"] {
  padding: 0 10px;
  border: none;
  background-color: transparent; }

.add label {
  margin-bottom: 0; }

.add .btn-bottom {
  margin-top: 30px; }

/*=======================================================

   edit

========================================================*/
.edit table tr.detail th {
  vertical-align: top; }

.edit table th {
  width: 200px;
  vertical-align: middle;
  text-align: left; }

.edit table th, .edit table td {
  padding: 10px 0; }

.edit .input-group-btn span {
  font-size: 1.5rem; }

.edit .input-group input[type="text"] {
  padding: 0 10px;
  border: none;
  background-color: transparent; }

.edit .btn-bottom {
  margin-top: 30px; }
