@charset "UTF-8";

/* サイドメニューの横幅を定義 */
:root {
	--navimenu-width: 230px;
}

/* CSS Document */
html, body {
}
html {
  overflow-y: scroll;
  overflow-x: auto;
}
body {
  /*	min-width: 1150px;*/
}
body, h1, h2, h3, h4, h5, h6, p, div, address, ul, ol, li, dl, dt, dd, table, th, td, img, form, figure {
  font-family: 'Noto Sans JP', "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
}
input, button, textarea, select {
  margin: 0;
  padding: 0;
  background: #fff;
  border: none;
  border-radius: 0;
  outline: none;
 /* -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;*/
  font-family: 'Noto Sans JP', "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;

font-size: 100%;
font-family: inherit;
}
textarea {
  resize: vertical;
}
select::-ms-expand {
  display: none;
}
body a {
  text-decoration: none;
}
img {
  vertical-align: bottom;
  max-width: 100%;
}
*, *::after, *::before {
  box-sizing: border-box;
}
.fixed {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.right{text-align: right;}
.left{text-align: left;}
.center{text-align: center;}
.flex{display: flex;
    flex-wrap: wrap;
}
/* .flex2{display: flex; margin: 0 5px 5px 0} */
.flex2{display: flex; margin: 0 5px}


/* -------------
.contents
-------------*/
@media screen and (min-width: 768px) {
  .contents {
    display: flex;
  }
}


/* -------------
.header nav
-------------*/

header nav::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: -1;
}
header nav {
  padding: 15px 10px;
}
.drawer-menu h1 {
  margin: 0 0 30px;
  font-weight: 900
}
.drawer-menu h2 {
  font-weight: 900
}
header nav ul.nav-list{margin-top: 9px;margin-bottom: 40px}

header nav ul.nav-list > li > a{display: block;  padding: 5px 0 5px 15px}
header nav ul li ul{ margin: 10px 0 10px 10px; }
header nav ul li ul li{padding:0 10px; border-left-width: 3px; border-left-style: solid; }
header nav ul li ul li a{ display: block; padding: 5px 0}
header nav ul.nav-list > li{ position: relative; }

header nav ul.nav-list i{ width: 30px; text-align: center;padding-right:10px;}
.backHome, .bottomMenu { font-size: 1.4em}
.bottomMenu { margin-top:8px;margin-bottom:8px; }
.backHome i, .bottomMenu i { width: 30px; text-align: center;padding-right:10px;}
/* -------------
.contents main
-------------*/
.contents main {
  padding: 15px;
}
.crumb{display: flex;justify-content: flex-start; list-style: none; margin: 0; padding: 0;}
.crumb li{ font-weight: bold}
.crumb li::after{ content: '>'; display: inline-block; padding:0 10px;}
.crumb li:last-child::after{ content:none; }
.crumb li a{color: #333; text-decoration: underline;font-weight: normal}
.drawer-no-animation .crumb,
.drawer-open .crumb{ margin-left:20px; }

@media screen and (max-width: 767px) {
	.crumb{ justify-content: flex-end; }
}

main h1,
main h2{ font-weight: bold}


.scroll-box{margin-bottom: 40px;
  overflow-x: auto;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;}

main table{ width: 100%;  border-bottom: 1px solid #d9d9d9;border-left: 1px solid #d9d9d9;
  border-spacing: 0;}
th,td{padding: 10px; }
main table th{ border-right:1px solid #fff; font-weight: bold; line-height:120%;padding:14px 10px; }
main table thead.multiple > tr > th { padding-top:5px;padding-bottom:5px; }
main table th:last-child{ border-right:none}
main table td{border-right: 1px solid #d9d9d9; line-height:120%;padding:14px 10px;background-color:white;}
main table tbody:first-child > tr:nth-child(odd) > td { background: #f2f2f2}
main table thead + tbody > tr:nth-child(even) > td { background: #f2f2f2}
main table thead > tr:nth-child(n+2) > th { border-top:1px solid #fff; }
.table01{border-top: 1px solid #d9d9d9}
.table01 th{ border-bottom: 1px solid #fff}

.table03{}
.table03 tr td:first-child{ font-weight: bold}
.table03 tr td{ position: relative}
.table03 tr td:first-child::after{position: absolute;
    display: block;
    content: '';
    width: 100%;
    height: 100%;

    top: 0;
    left: 0;
    z-index: 1; }

table.editTable {
	border:none;
	border-top:1px solid #d9d9d9;
	border-bottom:1px solid #d9d9d9;
}
table.editTable > thead > tr > th,
table.editTable > tbody > tr > th {
	text-align:center;
	color:black;
	background-color:#ffca69;
	border-left:1px solid #d9d9d9;
	border-bottom:1px solid #aaa;
}
table.editTable > thead > tr:last-child > th,
table.editTable > tbody > tr:last-child > th {
	border-bottom:none;
}
table.genkouTable > thead > tr > th,
table.genkouTable > tbody > tr > th {
	background-color:#bdd7ee;
}
table.baseupTable > thead > tr > th,
table.baseupTable > tbody > tr > th {
	background-color:#ffffcc;
	border-right:1px solid #d9d9d9;
}
table.tokuteiTable > thead > tr > th,
table.tokuteiTable > tbody > tr > th {
	background-color:#f8cbad;
}
table.editTable > tbody > tr > th.genkouColor {
	background-color:#bdd7ee;
}
table.editTable > tbody > tr > th.tokuteiColor {
	background-color:#f8cbad;
}

.lineTable {
	padding:3px 10px;
}
.lineTable > table {
	border:none;
}
.lineTable > table > tbody > tr > td {
	border:none;
	border-bottom:1px dotted #aaa;
	padding:4px 10px;
	background-color:transparent;
}
.lineTable > table > tbody > tr:last-child > td {
	border:none;
}
.lineTable > table > tbody > tr > td.split {
	padding:4px 0px;
	width:1em;
}
.lineTable > table > tbody:first-child > tr:nth-child(odd) > td {
	background-color:transparent;
}

.-adjust-locale {
	text-align:right;
}

.form-item{ padding: 40px 0; border-bottom: 1px solid #eee;}
.form-item-name{ font-weight: bold}
.m-form-radio{ display: flex;}
.m-form-radio-item{padding-right: 20px;}
.form-submit{ display: flex;
    justify-content: center;}
.form-submit button{margin: 0 10px;}
.copyright{ display: block;padding: 80px 0; text-align: center; font-size:0.75em; color: #5e8ac1}

/* loginBody */
.loginBody{ position:relative;}
.loginBody .contents{height: 100vh; position:relative;
    z-index: 2;
    top: 0; }
.loginBody .contents::after{
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: -1;}

.loginBody main h1{ padding: 40px 0;text-align: center}
.loginBody .form-item{border:none;     padding: 15px 0;}
.loginBody .form-item-text{ margin: 0 auto}
.loginBody .form-submit2{margin: 10px auto}
.loginBody .m-form-checkbox{ max-width: 400px; margin: 0 auto}
.loginBody .m-form-checkbox-name{ color: #fff}
.loginBody .forget{ padding: 15px 0 40px; text-align: center}
.loginBody .forget a{color: #d0e1f1; text-decoration: underline;}
.loginBody .forget a:hover{ text-decoration: none; }
.loginBody .copyright{padding: 0}



#page-top {
    position: fixed;
    bottom: 0px;
    right: 10px;
    z-index:4000;
}

#page-top img {
    width: 50px;
	height: auto;}

.pager{ }
.pagination{display: flex; justify-content: center; list-style-type: none;}
.pagination a{display:block; padding: 3px 12px; border-radius: 5px}
.pagination li{margin: 0 2px;}
.pagination{ padding: 0}

@media only screen and (max-width: 767px){
.table01 th, .table01 td {
  width: 100%;
    display: block;
}}

@media screen and (min-width: 768px) {
.sp-only{ display: none!important}
a:hover{ opacity: .7; transition: opacity 0.3s ease-out;}
	.drawer-open .contents main {
    margin-left: var(--navimenu-width);
    transition: all .6s cubic-bezier(.19, 1, .22, 1)
  }
	.drawer-no-animation .contents main {
    margin-left: var(--navimenu-width);
  }
  .drawer-close .contents main {
    margin-left: 0;
    transition: all .6s cubic-bezier(.19, 1, .22, 1)
  }
  .drawer-close-no-animation .menuTitle,
  .drawer-close .menuTitle {
    display:inline-block;
    white-space:nowrap;
    max-width:1px;
    overflow:hidden;
  }
  .drawer-close-no-animation .menuTitle *,
  .drawer-close .menuTitle * {
    display:inline;
  }
  .drawer-close-no-animation .menuTitle br,
  .drawer-close .menuTitle br {
    display:none;
  }
}
@media screen and (min-width: 768px) {
  .contents main {
    padding: 20px; width: 100%
  }
	.drawer-open .contents main,
	.drawer-no-animation .contents main {
	  margin-left: var(--navimenu-width);
	}
}

i.fa-up-right-from-square,
nav ul.nav-list i.fa-up-right-from-square,
.bottomMenu i.fa-up-right-from-square {
	font-size:85%;
	vertical-align:text-bottom;
	padding-left:0.5em;
	padding-bottom:0.3em;
}
