/*2024/11/12 MOD START*/
/*BODY {FONT-SIZE: 10pt; COLOR: #333333; LINE-HEIGHT: 140%;font-family: Avenir}*/

/* 2022/12/08
add_start chenyanbin */
/* TABLE {BORDER-RIGHT: #cccccc; BORDER-TOP: #cccccc; FONT-SIZE: 100%; BORDER-LEFT: #cccccc; BORDER-BOTTOM: #cccccc; empty-cells: show;}*/
/*TABLE {BORDER-RIGHT: #cccccc; BORDER-TOP: #cccccc; FONT-SIZE: 100%; BORDER-LEFT: #cccccc; BORDER-BOTTOM: #cccccc; empty-cells: show;padding-right:0px;}*/
/* add_end chenyanbin */

/*TH {BORDER-RIGHT: #cccccc; BORDER-TOP: #cccccc; BORDER-LEFT: #cccccc; COLOR: #006600; BORDER-BOTTOM: #cccccc; BACKGROUND-COLOR: #ccff00}
TD {BORDER-RIGHT: #cccccc; BORDER-TOP: #cccccc; BORDER-LEFT: #cccccc; BORDER-BOTTOM: #cccccc}
A:link {TEXT-DECORATION: none}
A:visited {TEXT-DECORATION: none}
A:hover {COLOR: #ff6600; TEXT-DECORATION: underline}
A:active {COLOR: #ff0000; TEXT-DECORATION: underline}
I {COLOR: #ff6600}
a.subsys_top{COLOR: #228B22}
a.subsys_top:visit{COLOR: #ff6600}*/

html{
        height: 100%;
}

body {
        margin: 0;
        padding: 0;
        height: 100%;
        font-size: 16px;
        font-family: "Noto Sans JP", "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
	}

table {
	border-right: #cccccc; 
	border-top: #cccccc; 
	font-size: 100%; 
	border-left: #cccccc; 
	border-bottom: #cccccc; 
	empty-cells: show;
	padding-right: 0px;
	}

th {
	border-right: #cccccc; 
	border-top: #cccccc; 
	border-left: #cccccc; 
	color: #006600; 
	border-bottom: #cccccc; 
	background-color: #ccff00
	}

td {
	border-right: #cccccc; 
	border-top: #cccccc;
	border-left: #cccccc; 
	border-bottom: #cccccc
	}

a:link {
	text-decoration: none
	}

a:visited {
	text-decoration: none
	}

a:hover {
	color: #ff6600; 
	text-decoration: underline
	}

a:active {
	color: #ff6600; 
	text-decoration: underline
	}

i {
	color: #ff6600
	}

a.subsys_top {
	color: #228b22
	}

a.subsys_top:visit {
	color: #ff6600
	}

/*2024/11/12 MOD END*/

/*2024/11/12 MOD START*/
/* 2022/12/08
add_start chenyanbin */
/*ul{list-style-type:circle;}*/
ul {
	list-style-type: none;
	}
/* add_end chenyanbin */

/* 2022/12/08
add_start chenyanbin */
/* ul.list1 { margin: 0 0 0 1.5em;color:#00F00; padding-left:0px;} */
/*ul.list1 { margin: 0 0 0 1.5em;color:#00F00; padding-left:0px;list-style-type:disc;}/
/* add_end chenyanbin */

ul.list1 {
	margin: 0 0 0 1.5em;
	color: #00f00;
	padding-left: 0px;
	list-style-type: disc;
	}

/*2024/11/12 MOD END*/

td.bbs_bottom { border-bottom-style: groove; border-bottom-width: 1px; border-bottom-color: #c0c0c0; }
A.notice:link {border-bottom:solid 3px #778899;}
A.notice:visited {border-bottom:solid 3px #778899;}

/*2024/11/12 MOD START*/
/*A.notice:hover {COLOR: #ff6600; TEXT-DECORATION: none}
A.notice:active {COLOR: #ff0000; TEXT-DECORATION: none}*/

a.notice:hover {
	color: #ff6600; 
	text-decoration: none
	}

a.notice:active {
	color: #ff0000; 
	text-decoration: none
	}

/*2024/11/12 MOD END*/

/*2022/12/08
add_start chenyanbin */
/*2024/11/12 MOD START*/
/*li{line-height:1.5;}*/
li{
    list-style-type: none;
    line-height: 1.5;
	}
/*2024/11/12 MOD END*/
        
textarea{letter-spacing:1.1;}
/*add_end chenyanbin */

textarea{
font-family: Avenir;
}

/*2024/11/11 ADD START*/
/*リンク色*/
a:hover > img, a:active > img {
  opacity: 0.8;
}

.image-over:hover {
  opacity: 0.8;
}

/*ログインページのmain コンテンツ幅*/
main {
  background: #ffffff;
  padding-bottom: 2rem;
  margin: auto;
  display: grid;
  grid-template-columns: 207px 1fr 207px;
}
main > section {
  grid-column: 2/3;
}

.main-contents {
  margin: 0 auto;
  width: 666px;
  padding-inline: 16px;
}

/*メニューページのmain コンテンツ幅*/
menu-main {
  background: #ffffff;
  padding-bottom: 2rem;
  margin: auto;
  display: grid;
  grid-template-columns: 82px 1fr 82px;
}
menu-main > section {
  grid-column: 2/3;
}

aside {
  padding-top: 59px;
}

aside > img {
  width: 82px;
  height: auto;
}

.menu-main-contents {
  margin: 0 auto;
  width: 916px;
  padding-inline: 16px;
}

/*ログインページのヘッダー*/
header.loginPage {
  background: #73d0ff;
  width: 1080px;
  height: 107px;
  margin: auto;
  margin-bottom: 32px;
}

.header-style-loginPage {
  display: flex;
  justify-content: center;
  align-items: center;
  padding-top: 8px;
  padding-inline: 16px;
}

/*ログインページの重要なお知らせ枠*/
.important-notices {
  background: #FFdddd;
  padding: 1px 2rem;
  margin: 2rem auto;
}

.important-notices p {
  margin-block: 0.5rem;
}

.important-notices-title {
  color: red;
  font-size: 18px;
  padding-top: 1rem;
}

.important-notices p:last-of-type {
  padding-bottom: 1rem;
}


/*ログインページ入力枠*/
.login {
  text-align: center;
  margin: 3rem 0;
  font-size: 18px;
}

.login input {
  height: 36px;
  padding-inline: 0.5rem;
  font-size: 21px;
}

.login input:nth-of-type(n+2) {
  margin-top: 12px;
}

.login img {
  width: 200px;
  height: auto;
}


/*ログインページのグレーのお知らせ枠*/
.notices {
  background: #eeeeee;
  padding: 1px 2em;
  margin: 2rem auto;
}

.notices > p {
  font-size: 18px;
}

ul.notices1 {
  list-style: none;
}

ul.notices1 li {
  display: flex;
  line-height: 1.6em;
  flex-direction: row;
}

ul.notices1 li::before {
  flex-shrink: 0;
  height: 1.6em;
  line-height: 1.6em;
  display: block;
  text-align: center;
  width: 6em;
  padding-inline: 0.5em;
  margin-right: 0.5em;
  border-radius: 4px;
}
ul.notices1 li p {
  margin: 0;
}

ul.notices1 li + li {
  margin-top: 4px;
}

li.DB::before {
  content: "データベース";
  background: #0061df;
  color: #ffffff;
}

li.keijiban::before {
  content: "電子掲示板";
  background: #1a8d40;
  color: #ffffff;
}

li.sonota::before {
  content: "その他";
  background: #9932cc;
  color: #ffffff;
  text-shadow: 0 0 1px rgba(0, 0, 0, 0.5);
}

span.new {
  display: inline-block;
  margin-left: 8px;
  padding: 0 4px 1px 4px;
  width: -moz-fit-content;
  width: fit-content;
  height: calc(1em + 2px);
  line-height: 1em;
  background: #ff0000;
  color: #ffffff;
  font-size: 12px;
  font-weight: bold;
  border-radius: 4px;
  border: 1px outset #ff8080;
  position: relative;
  overflow: hidden;
}
span.new::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  background: linear-gradient(45deg, transparent, rgba(255, 255, 255, 0.6), transparent);
  right: 200%;
  animation: new 3s linear infinite;
}

@keyframes new {
  0% {
    right: 200%;
  }
  40% {
    right: 200%;
  }
  55% {
    right: -100%;
  }
  100% {
    right: -100%;
  }
}

/*技術情報等へリンクするバナー*/
.link {
  margin-top: 48px;
  width: 100%;
  display: grid;
  /*grid-template-columns: repeat(3, minmax(200px, 335px));/*バナー3種用*/
  /*justify-content: space-between;/*バナー3種用*/
  grid-template-columns: repeat(2, min(240px));/*バナー2種用　追加*/
  justify-content: space-evenly;/*バナー2種用　追加*/
  justify-items: center;
  gap: 30px;
}

.link a {
  display: block;
  position: relative;
  width: 100%;
  max-width: 335px;
}
.link a img {
  width: 100%;
  max-width: 335px;
  height: auto;
}
.link a img:nth-of-type(2) {
  position: absolute;
  width: 32.5%;
  max-width: 107px;
  height: 75.44%;
  max-height: 91px;
  top: 10.28%;
  left: 3.283%;
}

/*メニューページのヘッダー*/
.header-style-pages {
  position: relative;
  width: 100%;
}

.header-line {
  height: 32px;
  width: 100%;
  background: linear-gradient(to bottom, #73d0ff 60%, #B3DB11 60%, #B3DB11 80%, #e6f41e 80%);
  z-index: -1;
}

.title-svg {
  position: absolute;
  top: 0;
  width: 178px;
  height: 91px;
}
.title-svg:hover {
  opacity: 1;
  filter: brightness(110%);
}


/*ヘッダー下ボタン*/
.button-wrap {
  text-align: right;
}
.button-wrap > a {
  display: inline-block;
  margin-top: 12px;
}

.logout-wrap {
  margin: 32px 0 0 auto;
  width: 200px;
  height: auto;
}


/*メニューのページ 見出し*/
h2 {
  color: #FF5500;
  font-weight: 700;
  margin-bottom: 0.3rem;
}
h2:nth-of-type(n+2) {
  margin-top: 48px;
}

.underline-red::after {
  display: block;
  content: "";
  height: 4px;
  background: #ffe668;
  border-left: 16px solid #ff0000;
}


/*メニューのページ*/
.main-text {
  margin-block: 24px;
  font-size: 17px;
}

.level1-title {
  color: #228B22;
  font-weight: bold;
  line-height: 1.6;
  display: flex;
  align-items: flex-start;
  width: 100%;
}
.level1-title + .level1-title {
  margin-top: 8px;
}

a.level1-link {
  text-decoration: none;
  display: inline-block;
}

a.level1-link:link {
  color: #228B22;
}

a.level1-link:visited {
  color: #228B22;
}

a.level1-link:hover {
  color: #FF5500;
}

a.level1-link:active {
  color: #228B22;
}

.level1-img {
  vertical-align: text-top;
  padding-right: 0.3rem;
  padding-top: 4px;
}

ul.level2 {
  margin-top: 0rem;
  margin-bottom: 1.5rem;
}


li.level2 {
  list-style-image: none;
  line-height: 1.6;
  margin-bottom: 8px;
}
li.level2 + li {
  margin-top: 8px;
}

li.level2::before {  
            content: "";  
            display: inline-block;  
            width: 15px;
}

li.level2-1 {
  list-style-image: none;
  line-height: 1.6;
  margin-bottom: 8px;
  width: 202px;
}
li.level2-1 + li {
  margin-top: 8px;
}

li.level2-1::before {  
            content: "";  
            display: inline-block;  
            width: 5px;
}

li.level3 {
  list-style-image: none;
  line-height: 1.6;
  margin-bottom: 8px;
}
li.level3 + li {
  margin-top: 8px;
}

li.level3::before {  
            content: "";  
            display: inline-block;  
            width: 10px;
}


h4 {
  color: #FF6600;
  background: #FFFFCC;
}

.shortcut {
  display: flex;
  background: #FFFFCC;
  padding: 16px;
  margin-bottom: 1.5rem;
  flex-wrap: wrap;
  -moz-column-gap: 20px;
       column-gap: 20px;
  row-gap: 16px;
}
.shortcut > h4 {
  width: 100%;
  margin: 0;
}

.shortcut-title {
  color: #228B22;
  font-weight: bold;
}

.update1 {
  color: #ff0000;
  font-weight: bold;
}

.update2 {
  color: #FF5500;
  font-style: italic;
}

/*共通 pagetopボタン、HOMEボタン*/
hr {
  margin: 3rem 0rem 1rem 0rem;
}

.pagetop-link {
  display: flex;
  align-items: center;
  justify-content: center;
}

.pagetop-link a {
  text-decoration: none;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #000000;
  font-size: 14px;
}
.pagetop-link a:hover {
  color: #FF6600;
}
.pagetop-link a:hover .arrow-top,
.pagetop-link a:hover .arrow-home {
  background: #FF6600;
}

.pagetop-link a + a {
  margin-left: 16px;
}

.arrow-top {
  margin-right: 4px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 24px;
  height: 24px;
  padding-bottom: 1px;
  font-size: 21px;
  transform: rotate(-90deg);
  color: #ffffff;
  background: #999999;
  border-radius: 50%;
}

.arrow-home {
  margin-right: 4px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 24px;
  height: 24px;
  padding-bottom: 1px;
  font-size: 21px;
  transform: rotate(-135deg);
  color: #ffffff;
  background: #999999;
  border-radius: 50%;
}


/*フッター*/
footer {
  position: sticky;
  top: 100svh;
  margin: auto;
  display: grid;
  grid-template-columns: 0px 1fr 0px;
}

footer > section {
  grid-column: 2/3;
}

footer img {
  min-width: 100%;
}

.footer-bgstyle  {
  background: #B3DB11;
  border-top: 8px solid #e6f41e;
  flex-wrap: wrap;
}

.footer-style1 {
  padding-bottom: 1rem;
  padding-inline: 40px;
}

.footer-style2 {
  width: 1080px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
}

.footer-style3-2 {
  padding-top: 24px;
}

.footer-style3-2:nth-child(1) {
  padding-inline: 12px;
}
.footer-style3-2:nth-child(1) img:hover {
  filter: brightness(90%);
  background: #fff;
}

.footer-style3-2:nth-child(2) {
  padding-inline: 8px;
  font-size: 14px;
}

.footer-style3-2:nth-child(3) {
  padding-inline: 8px;
  font-size: 14px;
}
.footer-style3-2:nth-child(3) a:hover {
  color: #FF6600;
}

.footer-style3-2:nth-child(4) {
  padding-inline: 8px;
}

.footer-style4 {
  margin: 0 auto;
  width: 1080px;
  display: flex;
  justify-content: center; 
}

.footer-style-pages {
  padding-top:24px;
  position: relative;
}
.footer-style-pages .contact {
  position: absolute;
  top: 16px;
  right: 16px;
}


.footer-logo {
  width: 343px;
  height: auto;
}

.button-mail {
  padding: 8px 16px;
  background: #ffffcc;
  border: 2px dashed #76c419;
  color: #1a8d40;
  text-decoration: none;
  font-weight: bold;
}

.button-mail:hover {
  color: #FF6600;
  text-decoration: none;
}

a:has.button-mail {
  text-decoration: none;
}

.copyright {
  font-size: 12px;
  text-align: center;
  letter-spacing: 0.05em;
  color: #1a8d40;
  font-weight: bold;
}

.footer-contents {
  margin: 0 auto;
  padding: 16px;
  width: 666px;
}

/*2024/11/25 ADD END*/

