@charset "UTF-8";
*, *::before, *::after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  overflow: visible;
  margin: 0;
  padding: 0;
}

body {
  font-family: 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
  background: #f4f4f4;
}

table, tr, td {
  border: none;
  margin: 0;
}

ul {
  list-style-type: none;
}

a {
  text-decoration: none;
}

@media (max-width: 1024px) {
  img {
    max-width: 100%;
  }
}

.notes {
  font-size: .8em;
}

.sp {
  display: none;
}

.fb:before {
  font-family: 'FontAwesome';
}

.choisetool {
  width: 1200px;
  margin: 0 auto;
  padding: 0;
}

@media (max-width: 1024px) {
  .choisetool {
    width: 100%;
  }
}

.commonIndexSection {
  text-align: center;
  margin-top: 100px;
  margin-bottom: 50px;
  color: #666;
}

.jumpTool {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
  justify-content: space-around;
  -webkit-box-pack: space-evenly;
  -ms-flex-pack: space-evenly;
  justify-content: space-evenly;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}

@media (max-width: 1024px) {
  .jumpTool {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
}

@media (max-width: 1024px) {
  .mierukaItem, .kukuruItem, .rinenItem {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
  }
}

.jumpItem {
  display: block;
  padding: 40px 0 0;
  width: 280px;
  border: 2px solid #e4e4e4;
  border-radius: 6px;
  background: #f8f8f8;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  color: #333;
  margin-bottom: 10px;
}

@media (max-width: 1024px) {
  .jumpItem {
    width: 50%;
  }
}

.jumpItem:hover {
  background: #efefef;
}

.jumpItem span {
  display: block;
  font-size: 12px;
  text-align: center;
  margin: 10px 0 20px;
  color: #999;
}

.userInfo {
  background: #004098;
  color: #fff;
  font-size: 14px;
}

.kukuru .userInfo {
  background: none;
  padding: 0;
}

.userInfo .userInfoItem {
  width: 1200px;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 6px;
}

@media (max-width: 1024px) {
  .userInfo .userInfoItem {
    width: 100%;
  }
}

.kukuru .userInfo .userInfoItem {
  padding: 6px;
  background: #0b95a7;
  background: -moz-linear-gradient(left, #0b95a7 0%, #005e9b 50%, #00619e 100%);
  background: -webkit-linear-gradient(left, #0b95a7 0%, #005e9b 50%, #00619e 100%);
  background: -webkit-gradient(linear, left top, right top, from(#0b95a7), color-stop(50%, #005e9b), to(#00619e));
  background: -o-linear-gradient(left, #0b95a7 0%, #005e9b 50%, #00619e 100%);
  background: linear-gradient(to right, #0b95a7 0%, #005e9b 50%, #00619e 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0b95a7', endColorstr='#00619e',GradientType=1 );
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

@media (max-width: 1024px) {
  .userInfo {
    width: 100%;
    position: fixed;
    z-index: 5;
  }
}

.public .titleList a {
  background: #004098;
}

.kukuru .public .titleList a {
  background: #00619e;
}

.pageTitle {
  margin: 0 20px 0 0;
  color: #fff;
}

.pageTitle span {
  font-family: "Pathway Gothic One",sans-serif,"arial","meiryo";
  font-weight: bold;
}

.toolTitle {
  color: #fff;
  width: 140px;
  margin: -10px;
  padding: 10px;
  display: block;
}

.kukuru .toolTitle {
  width: 190px;
  margin: 0;
  padding: 0;
}

.loginItem {
  margin: 0 20px 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.headerBtns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.headerBtns li {
  padding: 0 6px;
  position: relative;
}

.headerBtns li a {
  color: #fff;
  display: block;
}

.headerBtns li a img {
  width: 26px;
  height: 26px;
}

@media (max-width: 1024px) {
  .headerBtns li a .fa-2x {
    font-size: 1em;
  }
}

.headerBtns li .noticeNo {
  position: absolute;
  width: 22px;
  height: 22px;
  border-radius: 11px;
  font-size: 12px;
  top: -8px;
  left: -4px;
  background: #ee4b3c;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.headerBtns li .noticeNo.noticezero {
  display: none;
}

.toAdmin {
  color: #fff;
  margin: 0 20px 0 0;
}

.loginUser {
  margin: 0;
}

.headerMenu, .titleList {
  width: 30px;
  padding: 10px;
  position: relative;
}

.kukuru .headerMenu, .kukuru .titleList {
  margin: 0;
}

@media (max-width: 1024px) {
  .kukuru .headerMenu, .kukuru .titleList {
    display: none;
  }
}

.headerMenu:before, .titleList:before {
  content: "";
  width: 10px;
  height: 10px;
  border: 1px solid #fff;
  position: absolute;
  right: 10px;
  top: 5px;
}

.kukuru .headerMenu:before, .kukuru .titleList:before {
  top: 5px;
}

.headerMenu:after, .titleList:after {
  content: "";
  position: absolute;
  right: 12px;
  top: 8px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5px 3px 0 3px;
  border-color: #fff transparent transparent transparent;
}

.kukuru .headerMenu:after, .kukuru .titleList:after {
  top: 8px;
}

.headerMenu ul, .titleList ul {
  position: absolute;
  top: 31px;
  right: 0;
  width: 100px;
  height: 0;
  overflow: hidden;
  -webkit-transition: all 0.5s;
  -moz-transition: all 0.5s;
  -ms-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s;
}

.headerMenu a, .titleList a {
  color: #fff;
  display: block;
  background: #004098;
  padding: 5px;
}

.kukuru .headerMenu a, .kukuru .titleList a {
  padding: 10px;
  background: #0b95a7;
  background: -moz-linear-gradient(left, #0b95a7 0%, #005e9b 50%, #00619e 100%);
  background: -webkit-linear-gradient(left, #0b95a7 0%, #005e9b 50%, #00619e 100%);
  background: -webkit-gradient(linear, left top, right top, from(#0b95a7), color-stop(50%, #005e9b), to(#00619e));
  background: -o-linear-gradient(left, #0b95a7 0%, #005e9b 50%, #00619e 100%);
  background: linear-gradient(to right, #0b95a7 0%, #005e9b 50%, #00619e 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0b95a7', endColorstr='#00619e',GradientType=1 );
}

.headerMenu.open ul, .titleList.open ul {
  height: auto;
  z-index: 30;
}

@media (max-width: 1024px) {
  .headerMenu {
    margin-right: 10px;
  }
}

.titleList ul {
  width: 150px;
  right: 0;
}

.kukuru .titleList ul {
  width: 190px;
  right: 30px;
}

.titleList a {
  padding: 5px 10px;
}

.kukuru .headerDescription {
  font-size: 10px;
  margin-left: 10px;
}

.kukuru .menu {
  background: #040b2b;
  background: -moz-linear-gradient(left, #040b2b 0%, #010a2d 100%);
  background: -webkit-linear-gradient(left, #040b2b 0%, #010a2d 100%);
  background: -webkit-gradient(linear, left top, right top, from(#040b2b), to(#010a2d));
  background: -o-linear-gradient(left, #040b2b 0%, #010a2d 100%);
  background: linear-gradient(to right, #040b2b 0%, #010a2d 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#040b2b', endColorstr='#010a2d',GradientType=1 );
  width: 240px;
  padding: 30px 0;
  color: #fff;
}

@media (max-width: 1024px) {
  .kukuru .menu {
    width: 100%;
    padding: 10px 0;
  }
}

@media (max-width: 1024px) {
  .kukuru .menu .menuUserWrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

@media (max-width: 1024px) {
  .menu {
    width: 100%;
    position: absolute;
    top: -300px;
    left: 0;
    background-color: rgba(0, 0, 0, 0.8);
    height: 0;
    overflow: hidden;
    opacity: 0;
    z-index: 5;
    -webkit-transition: all 1s;
    -moz-transition: all 1s;
    -ms-transition: all 1s;
    -o-transition: all 1s;
    transition: all 1s;
  }
  .active .menu {
    top: 40px;
    opacity: 1;
    height: auto;
  }
  .menu .menu {
    width: 100%;
  }
}

.menuList.introduce li, .menuList.request li, .menuList.other li {
  padding: 0;
}

.menuList li a {
  display: block;
  background: #fbfbfb;
  text-align: center;
  font-weight: bold;
  position: relative;
}

.menuList li a span {
  font-weight: normal;
  padding: 3px 0 0;
}

.menuList li a span.alphabet {
  font-family: "Pathway Gothic One",sans-serif,"arial","meiryo";
  font-size: 16px;
  display: block;
}

.mainItem {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 1200px;
  margin: 0 auto;
  background: #fff;
}

.mainItem.userMain {
  display: block;
  background: none;
  width: 740px;
  padding-top: 30px;
  color: #333;
}

@media (max-width: 1024px) {
  .mainItem {
    width: 100%;
    position: relative;
    padding-top: 41px;
  }
  .kukuru .mainItem {
    padding-top: 54px;
  }
}

.inner {
  width: 1000px;
  margin: 20px 0 100px;
  position: relative;
  padding-left: 20px;
  padding-right: 20px;
  padding-bottom: 20px;
}

.kukuru .inner {
  width: 960px;
  padding: 0;
  margin: 0;
}

@media (max-width: 1024px) {
  .kukuru .inner {
    width: 100%;
    padding: 0;
  }
}

.userMain .inner {
  width: 100%;
  margin: 0;
  padding: 0;
}

@media (max-width: 1024px) {
  .inner {
    width: 100%;
    margin: 0;
    padding: 0;
  }
}

.manage h2 {
  margin: 0 0 20px;
}

.manage .inner {
  width: 100%;
  padding-right: 20px;
}

.manage .inner .userTable {
  width: 100%;
  border-collapse: collapse;
}

.manage .inner .userTable tr {
  border-bottom: 1px solid #e4e4e4;
}

.manage .inner .userTable th {
  padding: 5px;
  background: #eee;
}

.manage .inner .userTable th.profile {
  width: 150px;
}

.manage .inner .userTable th.operate {
  width: 120px;
}

.manage .inner .userTable td {
  padding: 5px;
}

.manage .inner .userTable td.profile, .manage .inner .userTable td.authority, .manage .inner .userTable td.operate {
  text-align: center;
}

.manage .inner .userTable td.profile img, .manage .inner .userTable td.authority img, .manage .inner .userTable td.operate img {
  vertical-align: bottom;
}

.manage .addUser {
  position: fixed;
  top: 55px;
  right: 12%;
  width: 140px;
}

.manage .sendForm {
  width: 460px;
  margin: 20px 0;
}

@media (max-width: 1024px) {
  .manage .sendForm {
    width: 100%;
  }
}

.manage .sendForm button[type="submit"] {
  width: 200px;
}

.operateTable {
  width: 600px;
  margin-bottom: 20px;
  border-collapse: collapse;
}

@media (max-width: 1024px) {
  .operateTable {
    width: 100%;
  }
}

.operateTable caption {
  text-align: left;
  font-size: 24px;
  padding: 0 0 15px;
  font-weight: bold;
}

.operateTable tr:nth-of-type(even) {
  background: #f7f7f7;
}

.operateTable tr:nth-of-type(even) th:before, .operateTable tr:nth-of-type(even) th:after {
  background: #f7f7f7;
}

.operateTable th {
  width: 160px;
  min-width: 160px;
  background: #afafaf;
  color: #fff;
  font-weight: normal;
  position: relative;
  padding: 15px;
}

@media (max-width: 1024px) {
  .operateTable th {
    text-align: left;
    width: 100%;
    display: block;
  }
}

.operateTable th:before, .operateTable th:after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 8px;
  background: #fff;
}

.operateTable th:before {
  top: 0;
}

.operateTable th:after {
  bottom: 0;
}

.operateTable td {
  padding: 15px;
}

@media (max-width: 1024px) {
  .operateTable td {
    display: block;
  }
}

.operateTable td input[type="text"], .operateTable td input[type="number"], .operateTable td input[type="password"], .operateTable td textarea, .operateTable td select {
  padding: 8px;
  width: 100%;
  border: 1px solid #e4e4e4;
  border-radius: 3px;
}

.operateTable td input[type="text"].half, .operateTable td input[type="number"].half, .operateTable td input[type="password"].half, .operateTable td textarea.half, .operateTable td select.half {
  width: 50%;
}

@media (max-width: 1024px) {
  .operateTable td input[type="text"].half, .operateTable td input[type="number"].half, .operateTable td input[type="password"].half, .operateTable td textarea.half, .operateTable td select.half {
    width: 100%;
  }
}

.operateTable .history {
  font-size: 15px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 1024px) {
  .operateTable .history {
    display: block;
  }
}

.operateTable .history dt {
  padding: 5px 15px 0 0;
  display: inline-block;
  width: 170px;
}

@media (max-width: 1024px) {
  .operateTable .history dt {
    width: 100%;
  }
}

.operateTable .history dt:last-child {
  padding-bottom: 0;
}

.operateTable .history dd {
  margin-bottom: 15px;
  padding: 5px 15px 0;
  display: inline-block;
  width: 280px;
  position: relative;
}

@media (max-width: 1024px) {
  .operateTable .history dd {
    width: 100%;
  }
}

.operateTable .history dd.comment {
  border: 1px solid #ddd;
  border-radius: 6px;
  padding: 5px 15px 30px;
}

.operateTable .history dd.comment span {
  position: absolute;
  bottom: 4px;
  right: 10px;
  color: #aaa;
}

.operateSend {
  width: 600px;
  text-align: center;
}

.editBtn {
  font-size: 14px;
  padding: 8px;
  width: 200px;
  text-align: center;
  border-radius: 20px;
  color: #fff;
  display: inline-block;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  border: none;
  cursor: pointer;
}

.cancelBtn {
  font-size: 14px;
  padding: 8px;
  text-align: center;
  border-radius: 20px;
  display: inline-block;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  border: none;
  cursor: pointer;
  background: #fff;
  color: #555;
  width: 120px;
  border: 1px solid #555;
}

.operateUser {
  background: #e7f0f5;
  padding: 20px;
  -webkit-box-shadow: 1px 1px 1px rgba(3, 3, 3, 0.4);
  box-shadow: 1px 1px 1px rgba(3, 3, 3, 0.4);
}

.operateUser th {
  padding: 5px;
  width: 160px;
  text-align: left;
}

.operateUser td {
  padding: 5px;
}

.operateUser input[type="text"], .operateUser input[type="number"], .operateUser input[type="password"], .operateUser textarea, .operateUser select {
  padding: 5px;
  border: none;
  border-radius: 3px;
}

.userMain .userHeader {
  font-size: 34px;
  margin-bottom: 30px;
}

.userMain .userHeader .fa {
  margin-right: 15px;
  color: #004098;
}

.userMain .userProfileItem {
  width: 100%;
  background: #FFF;
  padding: 40px 50px;
  border-radius: 6px;
  margin-bottom: 40px;
}

.userMain .userProfileTable {
  width: 100%;
  border-collapse: collapse;
}

.userMain .userProfileTable tr {
  border-bottom: 1px solid #ccc;
}

.userMain .userProfileTable tr:last-child {
  border: none;
}

.userMain .userProfileTable th, .userMain .userProfileTable td {
  padding: 16px 0;
  font-size: 18px;
  vertical-align: top;
}

.userMain .userProfileTable th {
  font-weight: normal;
  text-align: left;
}

.userMain .userProfileTable td {
  font-weight: bold;
  position: relative;
}

.userMain .userProfileTable input, .userMain .userProfileTable textarea {
  width: 100%;
  padding: 6px 12px;
  border-radius: 3px;
  border: 1px solid #006FDE;
}

.userMain .userProfileTable .note {
  color: #022F6D;
  font-size: 14px;
  text-align: right;
  font-weight: normal;
}

.userMain .userName th, .userMain .userName td {
  padding: 24px 0;
}

.userMain .userName th {
  padding: 24px 24px 24px 0;
}

.userMain .userPhotoFrame {
  overflow: hidden;
  width: 68px;
  height: 68px;
  position: absolute;
  border-radius: 50%;
  top: 0;
  right: 0;
}

.userMain .userPhotoFrame img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: auto;
  height: 100%;
}

.userMain .userPhotoPicture {
  font-size: 68px;
  position: absolute;
  top: 0;
  right: 0;
}

.userMain .userProfileItemFooter {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  border-top: 1px solid #ccc;
  padding-top: 25px;
}

.userMain .userProfileItemFooter.edit {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.userMain .userProfileCaution {
  font-size: 12px;
  color: #656565;
}

.userMain .userBtn {
  color: #1C1C1C;
  font-weight: bold;
  font-size: 15px;
  padding: 6px 16px;
  border: 1px solid #A4A4A4;
  border-radius: 3px;
  background: #fff;
}

.userMain .userBtn:hover {
  opacity: .8;
}

.userMain .userCancelBtn {
  margin-right: 20px;
}

.userMain .userSaveBtn {
  background: #022F6D;
  color: #FFF;
  border: none;
}

.userMain .userSaveBtn:hover {
  opacity: .8;
}

.userMain .userBackBtn {
  padding: 6px 25px;
  background: #065ED6;
  border: none;
  color: #FFF;
}

.userMain .userBackBtn:hover {
  opacity: .8;
}

.userTable-sortMode tbody {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.userTable-sortMode tr {
  display: block;
  -ms-flex-preferred-size: 16.66%;
  flex-basis: 16.66%;
  max-width: 16.66%;
}

.userTable-sortMode .userTable_header {
  display: none;
}

.userTable-sortMode .fullname {
  width: 115px;
  text-align: right;
}

.userTable-sortMode .profile {
  width: 50px;
}

.userTable-sortMode .authority, .userTable-sortMode .operate {
  display: none;
}

.paginator {
  font-size: 14px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  list-style-type: none;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 10px 0;
}

.paginator li a {
  display: block;
  padding: 2px 8px;
  border: 1px solid #ccc;
  background: #fff;
  margin: 0 5px;
  border-radius: 4px;
  color: #555;
}

.paginator li.active a {
  background: #dbf6fc;
}

.paginator li.disabled a {
  background: #eee;
  cursor: default;
}

/* bootstrap風のutility style */
.p-10 {
  padding: 10px;
}

.mb-15 {
  margin-bottom: 15px;
}

.mb-20 {
  margin-bottom: 20px;
}

.mr-5 {
  margin-right: 5px;
}

.mr-10 {
  margin-right: 10px;
}

.d-none {
  display: none;
}

.d-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.flex-wrap {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
