@charset "UTF-8";

/* サイドメニューの横幅を定義 */
:root {
	--navimenu-width: 230px;
}

/* CSS Document */
html, body {
}
html {
  font-size: 62.5%;
  overflow-y: scroll;
  overflow-x: hidden;
}
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;
  text-align: left;
  color: #333;
  line-height: 1.75;
  font-weight: 500;
}
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;
  line-height: 1.75;
}
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: 961px) {
  .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-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 30px; }
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: left}
.backHome{ font-size: 1.4em}
.backHome i{ width: 30px}
/* -------------
.contents main
-------------*/
.contents main {
  padding: 15px;
}
.crumb{display: flex;justify-content: flex-end; 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}


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 }
main table th:last-child{ border-right:none}
main table td{border-right: 1px solid #d9d9d9;}
main table tr:nth-child(odd) td { background: #f2f2f2}
.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; }

.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:1.2em; 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;
}

#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-close .contents main {
    margin-left: 0;
    transition: all .6s cubic-bezier(.19, 1, .22, 1)
  }
}
@media screen and (min-width: 961px) {
  .contents main {
    padding: 20px; width: 100%
  }
}
