@charset "UTF-8";

/* header */
header{
  height: 60px;
}
/*全体フォント*/
body {
  font-family: sans-serif;
}

/*トップメニュー*/
.main-menu {
  position: fixed;
  top: 0;
  left: 0;
  margin: 0 auto;
  display: flex;
  background: #fff;
  width: 100%;
  height: 60px;
  border-bottom: 3px solid #364e96;
  z-index: 80;
}
.logo{
  width: 300px;
}

/* 画面サイズが1000px未満はPC用メニュー非表示 */
@media screen and (max-width: 999px) {
  .pc-menu {
    display: none;
  }
  #admin {
    display: none;
  }
}
/* 画面サイズが1000px以上はスマホ用メニュー非表示 */
@media screen and (min-width: 1000px) {
  .sp-menu {
    display: none;
  }
}
/* 印刷時はメニュー非表示 */
@media print {
  .main-menu {
    display: none;
  }
  header {
    display: none;
  }
}

/* PC用メニューリンク */
.pc-menu {
  width: 80%;
  max-width: 1280px;
  height: 100%;
  margin: 0 auto;
}
/* PC親メニュー */
.pc-menu ul {
  list-style-type: none;
  margin: 0;
  padding: 0; 
}
.pc-menu_list {
  display: flex;
}
.pc-menu_item {
  position: relative;
  width: 100%;
  line-height: 60px;
  text-align: center;
}
.pc-menu_item a:hover{
  color: #fff;
  background: #364e96;
}
.pc-menu_item:hover{
  border: 1px solid #364e96;
}
.pc-menu_item a {
  display: flex;
  text-decoration: none;
  color: #000;
  font-weight: bold;
  justify-content: center;
  align-items: center;
}

/* PC子メニュー */
.pc-menu_sub_list {
  display: none;
  position: absolute;
  top: 60px;
  width: 100%;
}
.pc-menu_item:hover .pc-menu_sub_list {
  display: block;
}
.pc-menu_sub_item {
  border: 1px solid #364e96;
  background: #fff;
}
.pc-menu_sub_item a:hover {
  color: #fff;
  background: #364e96;
  border: 1px solid #fff;
}

/* ハンバーガーボタン */
.sp-menu_box {
  position: fixed;
  top: 0;
  right: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 60px;
  width: 60px;
  z-index: 100;
  background-color: #364e96;
}

/* ハンバーガーの三本線 */
.sp-menu_box span,
.sp-menu_box span:before,
.sp-menu_box span:after {
  content: "";
  display: block;
  height: 3px;
  width: 25px;
  border-radius: 3px;
  background-color: #ffffff;
  position: absolute;
}
.sp-menu_box span:before {
  bottom: 8px;
}
.sp-menu_box span:after {
  top: 8px;
}

/* ハンバーガーの×印 */
#sp-menu_check {
  display: none;
}
#sp-menu_check:checked ~ .sp-menu_box span {
  background: rgba(255, 255, 255, 0);
}
#sp-menu_check:checked ~ .sp-menu_box span::before {
  bottom: 0;
  transform: rotate(45deg);
}
#sp-menu_check:checked ~ .sp-menu_box span::after {
  top: 0;
  transform: rotate(-45deg);
}
#sp-menu_check:checked ~ .hamburger_content {
  left: 0;
}

/* スマホ用メニュー */
.sp-menu_content {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 100%;
  z-index: 90;
  background-color: #364e96;
  transition: all 0.5s;
}
.sp-menu_list {
  padding: 70px 10px 0;
}
.sp-menu_item {
  border-top: solid 1px #ffffff;
  list-style: none;
}
.sp-menu_sub_item {
  list-style-type: disc;
  margin-left:20px;
  color: #ffffff;
}
.sp-menu_link {
  display: block;
  width: 100%;
  font-size: 15px;
  box-sizing: border-box;
  color: #ffffff;
  text-decoration: none;
  padding: 9px 15px 10px 0;
}
.sp-menu_sub_link {
  display: block;
  width: 100%;
  font-size: 15px;
  box-sizing: border-box;
  color: #ffffff;
  text-decoration: none;
  padding: 0px 15px 10px 0;
}
#sp-menu_check:checked ~ .sp-menu_content {
  left: 0;
}

/* 現在のタブ */
a.now {
  background: #bfcdff;
}

/*画面分割 (1000px未満は分割なし)*/
@media screen and (min-width: 1000px) {
  .split{
    display: flex;
    width: 100%;
  }
  aside{
    flex: 1;
  }
  .split-left{
    width: 100%;
    height: 100%;
    min-height: 80vh;
    margin-left:10px;
  }
  main{
    flex:2;
  }
  .split-right{
    width: 90%;
    height: 100%;
    min-height: 80vh;
    margin: 0 auto;
  }
}
/*分割左の印刷しない*/
@media print {
  .split-left{
    display: none;
  }
}

/*見出しスタイル*/
h1 {
  padding: 0.5em;
  background-color:#364e96;
  font-size: 1.5rem;
  font-weight: bolder;
  text-align: center;
  color: white;
  border: solid 3px #364e96;
  border-radius: 0.5em;
}
h1.top_logo{
  display:none;
}
h2 {
  margin-top:2em;
  text-align: left;
  padding: 0.25em 0.5em;
  border-bottom: solid 5px #364e96;
}
h3 {
  display: inline-block;
  text-align: left;
  padding: 0.25em 0.5em;
  background:linear-gradient(transparent 70%, #70b7ff 90%);
}
h4 {
  display: inline-block;
  text-align: left;
  padding: 0.25em 0.5em;
  border-bottom: dotted 3px black;
}

/*フォントスタイル*/
.strong1 {
  font-weight: bold;
  color: red;
}
.strong2 {
  font-weight: bold;
  color: black;
}
p.center {
  text-align: center
}
a.txt_link{
  padding-left:0.5rem;
  padding-right:0.5rem;
}

/*footer*/
footer{
  text-align: center;
  font-size: 0.7rem;
  display: flex;
  justify-content: space-between;
  margin-top: -0.7rem;
  margin-right: 30px;
}

/*パンくずリスト*/
.breadcrumb {
  position: sticky;
  top: 5.5em;
  z-index: 60;
}
.breadcrumb ol{
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  border: 1px solid gray;
  background-color: #bfcdff;
  padding-left: 1em;
}
.breadcrumb li::after{
  content: '>';
  display: inline-block;
  padding: 0 10px;
}
.breadcrumb li:last-child::after{
  display: none;
}

/*目次スタイル*/
.index {
  position: sticky;
  top: 8em;
  padding: 0;
  border: 1px solid gray;
  background-color: #e0e7ff;
  box-sizing: border-box;
  z-index: 70;
}
.index li {
  margin-top: 2px;
}
/*目次リンク先の重なり防止*/
html{
  scroll-padding-top: 60px;
}

/*TOPICSスタイル*/
.topics {
  display: block;
  position: sticky;
  top: 300px;
  margin-top: 1em;
  box-sizing: border-box;
  z-index: 50;
}
.topics_title {
  font-weight: bold;
  color: orangered ;
  padding-left: 1em;
  
}
.topics_contents {
  border: solid 2px #ff7f00;
  background: #fff4ea;
  padding: 0.5em;
  display: flex;
  justify-content:space-between;
  flex-wrap: wrap;
}

/*figure画像サイズ*/
figure img {
  max-width: 100%;
  height: auto;
}
/*figure右寄せ*/
.fig-right{
  text-align: right;
}

/*表スタイル*/
table {
  padding: 0.5rem;
  border: 2px solid #364e96;
  text-align: center;
  border-collapse: collapse;
  border-spacing: 0;
}
table caption {
  font-weight: bold;
  border: 2px solid #364e96;
  color: #fff;
  background: #364e96;
  padding: 0.5rem;
}
table th {
  padding: 0.5rem;
  color: #ffff;
  background: #364e96;
  border: solid 1px;
  white-space:nowrap;
}
table td {
  padding: 0.5rem;
  border: solid 1px #364e96;
}
table tr:nth-child(odd){
  background-color:#efefff;
}
/*Meetingの表*/
@media screen and (max-width: 1000px) {
  table.meeting th, table.meeting td{
    display: block;
    width: auto;
  }
table.meeting tr{
  background-color:#fff;
  }
}

/*Message*/
table.message {
  width: 100%;
  margin-top: 1em;
  border: 2px solid #006633;
  text-align: left
}
caption.message_title {
  background: #006633;
  border: 2px solid #006633;
}
td.message_contents{
  background: #f2ffe5;
}

/*News*/
table.news {
  width: 100%;
  margin-top: 1em;
}
table td.date {
  width:120px;
}
table td.text {
  text-align: left
}


/*サイトマップ*/
.sitemap_menu {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.sitemap_menu_child {
  width: calc(45%);
}
.sitemap_menu_child a{
  text-decoration: none;
  color: #000;
}
.sitemap_menu_child a:hover{
  color: blue;
  text-decoration: underline;
}
.sitemap_menu_child ul{
  padding-left: 2em;
  margin-top:  0px;
}

/*検索ボックス*/
.search-form{
  display: flex;
  height:40px;
}
.search-right{
  justify-content: flex-end;
  margin-top:0.5em;
}
.search-box{
  width:250px;
  padding:0 15px;
  border-radius:4px 0 0 4px;
  background: transparent;
  border:2px solid #364e96;
  border-right:none;
  outline:0;
  font-size:100%;
}
/*検索ボタン*/
.search-btn{
  width:40px;
  border-radius:0 4px 4px 0;
  background:#364e96;
  border:none;
  color:#fff;
  cursor: pointer;
}
.search-btn:hover{
  background: #fff;
  border:2px solid #364e96;
  color:#364e96;
}

/*最終更新日*/
p.last_mod {
  text-align: right;
  font-size:80%;
}

/*ボタン*/
a.button {
  display: inline-block;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  padding: 0rem 0.5rem;
  font-weight: bold;
  border: 2px solid #000;
  color: #000;
  border-radius: 100vh;
}

/*全てのお知らせ*/
a.all_info {
  float: right;
  border: 2px solid #e0e7ff;
  color: #000;
  background: #e0e7ff;
  font-weight: normal;
  font-size: 0.8rem;
}

/*詳細*/
a.detail {
  float: right;
  font-weight: normal;
  font-size: 0.8rem;
}

/*全てのファイル*/
a.all_files {
  color: #000;
  background: #e0e7ff;
  border: 1px solid;
}

/*Download*/
a.download {
  border: 2px solid #ff8c00;
  color: #ff8c00;
}
a.download:hover {
  color: #fff;
  background: #ff8c00;
}

/*PDF*/
a.PDF {
  border: 2px solid red;
  color: red;
}
a.PDF:hover {
  color: #fff;
  background: red;
}

/*Word*/
a.Word {
  border: 2px solid blue;
  color: blue;
}
a.Word:hover {
  color: #fff;
  background: blue;
}
/*Excel*/
a.Excel {
  border: 2px solid green;
  color: green;
}
a.Excel:hover {
  color: #fff;
  background: green;
}
/*Image*/
a.Image {
  border: 2px solid limegreen;
  color: limegreen;
}
a.Image:hover {
  color: #fff;
  background: limegreen;
}

/*Bannerボタン*/
a.banner {
  display: inline-block;
  text-align: center;
  vertical-align: middle;
  width:200px;
  height:50px;
  margin:5px;
  padding: 3px 8px;
  border: 2px solid #ff8c00;
  color: #303030;
  background: #fff;
  transition: 0.5s;
}
a.banner:hover {
  color: #fff;
  background: #ff8c00;
}

/*Boxボタン*/
a.box {
  display: inline-block;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  width:200px;
  margin:5px;
  padding: 1rem 0.5rem;
  font-weight: bold;
  border: 2px solid #ff8c00;
  color: #303030;
  background: #fff;
  transition: 0.5s;
}
a.box:hover {
  color: #fff;
  background: #ff8c00;
}
a.google{
  width:auto;
  border-color:purple;
}
a.google:hover {
  color: #fff;
  background: purple;
}
/*UMIN*/
a.UMIN {
  display: block;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  width:150px;
  padding: 0.5rem;
  font-weight: bold;
  border: 2px solid #ff8c00;
  color: blue;
  background: yellow;
}
/*ログアウト*/
a.logout {
  display: block;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  width:150px;
  padding: 0.5rem;
  margin-top: 10px;
  font-weight: bold;
  border: 2px solid red;
  color: red;
  background: #fff;
  transition: 0.5s;
}
a.logout:hover {
  color: #fff;
  background: red;
}
/*Peatix*/
.peatix{
  height:50px;
  width: auto;
  border:0.5px solid #000;
}
/*セコム*/
.secom {
  position: fixed;
  bottom: 0;
  left: 0;
}
.secom input {
  width: 50px;
  height: auto;
}

/*管理者*/
#admin {
  position: fixed;
  bottom: 0;
  left: 1;
}

#copyTarget{
  resize: none;
  overflow:hidden;
  width:300px;
  height:50px;
}
