@charset "utf-8";
/* CSS Document */
html, body {
  height: 100%;
  font-size: 100.01%;
  font-family: "Sawarabi Gothic", sans-serif;
  font-weight: 400;
  font-style: normal;
}
body {
  margin: 0;
  color: #000;
}
#container {
  width: 100%;
  position: relative;
  height: 100%;
  min-height: 100%;
}
body > #container {
  height: auto;
}
header {
  background-color: #fff;
  margin: 0;
  padding: 0;
}
header img {
  margin: 0;
  padding: 0;
}
header .logo {
  width: 100%;
  max-width: 480px;
}
#contents {
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 2em;
}
#contents a {
  color: #0045b8;
}
#contents a:hover {
  color: #62b5e5;
}
#submenu {
  margin: 0;
  padding: 0;
  width: 220px;
  float: left;
  position: fixed;
}
#submenu ul {
  padding: 0;
  width: 100%;
  margin-top: 20px;
  list-style: none;
}
#submenu ul li {
  white-space: nowrap;
  border-bottom: 1px solid white;
}
#submenu ul li a {
  display: block;
  padding: 10px 0;
  text-decoration: none;
  background-color: whitesmoke;
}
#submenu ul .main {
  text-indent: 1em;
}
#submenu ul .sub {
  text-indent: 2em;
}
#contents_sub {
  float: right;
  margin: 0;
  padding: 0;
  width: 720px;
}
p {
  color: #000;
  margin: 20px 30px;
  text-indent: 1em;
}
h1 {
  background: linear-gradient(transparent 70%, #b7c9d3 70%);
  margin: 20px 0;
  padding: 0 10px;
  font-weight: normal;
  width: fit-content;
}
h1 a {
  text-decoration: none;
}
h2 {
  width: fit-content;
  margin: 20px 0;
  padding: 5px 20px;
  font-size: 110%;
  font-weight: normal;
  color: #fff;
  background-color: #5B7F95;
}
h2 span {
  color: #fff;
  text-decoration: underline;
  text-decoration-color: #fff;
}
h2 span:hover {
  color: #b7c9d3;
  text-decoration-color: #b7c9d3;
}
h3 {
  display: inline-flex;
  /* margin-left: 25px;*/
  margin: 0;
  padding: 0 5px;
  border-bottom: 1px solid #62b5e5;
  font-size: 100%;
  font-weight: normal;
}
footer {
  width: 100%;
  height: 2em;
  background-color: #000;
  position: absolute;
  bottom: 0;
}
footer p {
  margin: auto;
  padding-top: 3px;
  padding-right: 10px;
  font-size: 75%;
  color: #fff;
  text-align: center;
  line-height: 1em;
}
footer .address:before {
  content: "お問い合わせ：techinfo(at)ctg.u-toyama.ac.jp (at)を@に変更して下さい。";
}
footer .rights:before {
  content: "©2025 富山大学　研究推進技術本部";
}
.topics_old {
  margin: 5px 10px 0 10px;
  text-align: right;
  font-size: 90%;
}
.index_div {
  margin: 0;
  padding: 0;
  max-height: 200px;
  overflow: auto;
}
.index_topics {
  width: 90%;
  margin-left: 30px;
  border-spacing: 0;
}
.index_topics th, .index_topics td {
  padding: 5px 10px;
  border-bottom: dashed 1px #a6a6a6;
}
.index_topics th {
  font-weight: normal;
  width: 100px;
}
.index_topics .classification {
  width: 60px;
}
.index_topics P {
  margin: 0;
  padding: 3px;
  text-indent: 0em;
  text-align: center;
  white-space: nowrap;
  font-size: 65%;
  color: whitesmoke;
}
.index_topics img {
  float: right;
  align: middle;
  max-width: 150px;
}
.index_topics .red {
  color: red;
}
.index_topics .information:before {
  content: "連絡事項";
}
.index_topics .information {
  background: darkorange;
}
.index_topics .event:before {
  content: "イベント";
}
.index_topics .event {
  background: green;
}
.index_topics .announce:before {
  content: "お知らせ";
}
.index_topics .announce {
  background: blue;
}
.index_topics .important:before {
  content: "重要";
}
.index_topics .important {
  background: red;
}
.index_topics .conference:before {
  content: "会議";
}
.index_topics .conference {
  background: saddlebrown;
}
.index_banner {
  text-align: center;
}
.message_img {
  float: right;
  margin-left: 30px;
}
.message_text {
  text-align: right;
}
.history_table {
  width: 100%;
  border-collapse: collapse;
}
.history_table th, .history_table td {
  padding: 5px;
  border: solid 1px lightgray;
}
.history_table th {
  width: 20%;
  font-weight: normal;
  background-color: #eee;
}
.history_table td {
  width: 80%;
}
.history_table td P {
  margin: auto;
  padding: auto;
}
.orginization_div img {
  max-width: 70%;
  height: auto;
}
.orginization_div .officer {
  display: block;
  width: 30%;
  float: right;
}
.orginization_div .title {
  margin: 0;
  padding: 5px 0;
  border-left: 7px solid #62b5e5;
  font-size: 100%;
}
.orginization_div table {
  margin: auto;
}
.orginization_div table th, .orginization_div table td {
  padding: 5px;
}
.orginization_div table th {
  font-weight: normal;
  background-color: #eee;
}
.organization_table {
  width: 90%;
  margin: auto;
}
.organization_table th, .organization_table td {
  padding: 5px;
}
.organization_table th {
  white-space: nowrap;
  font-weight: normal;
  background-color: #eee;
}
.organization_list {
  display: block;
  margin: 20px;
  float: left;
}
.organization_list .title {
  margin: 0;
  padding: 5px 0;
  border-left: 7px solid #62b5e5;
  font-size: 100%;
}
.organization_list ul {
  list-style: none;
  list-style-image: url(date:0);
}
.activity_list {
  list-style: decimal;
  margin: 10px 20px;
}
.activity_list li {
  margin-bottom: 10px;
}
.activity_table {
  width: 90%;
  margin: auto;
}
.activity_table th, .activity_table td {
  padding: 5px;
  display: block;
  width: 100%;
}
.activity_table th {
  text-align: left;
  font-size: 110%;
  text-decoration: underline;
}
.activity_table td {
  text-indent: 1em;
  margin-bottom: 20px;
}
.activity_table_person {
  margin-top: 0;
  margin-right: 50px;
  text-align: right;
}
.commendation_div {
  width: 90%;
  margin: auto;
}
.commendation_div p {
  margin: 5px;
}
.commendation_div .person {
  font-weight: bold;
  text-align: right;
  margin: 15px;
}
.commendation_div img {
  float: right;
  margin: 10px 15px 10px 10px
}
.performance_table {
  width: 90%;
  margin: auto;
}
.performance_table th, .performance_table td {
  padding: 5px;
  display: block;
}
.performance_table th {
  white-space: nowrap;
  font-weight: normal;
  background-color: #eee;
}
.performance_table td {
  width: 100%;
}
.performance_table .tittle {
  font-weight: bold;
  margin-bottom: 15px;
}
.performance_list {
  margin-left: 20px;
}
.performance_list li {
  margin-bottom: 10px;
}
.underline {
  text-decoration: underline;
}
.training_table {
  width: 90%;
  margin: auto;
}
.training_table th, .training_table td {
  padding: 5px;
}
.training_table th {
  white-space: nowrap;
  font-weight: normal;
  background-color: #eee;
}
.training_table img {
  max-width: 50%;
  float: left;
}
.training_table .title {
  margin: 0;
  font-weight: bold;
  text-indent: 0em;
}
.training_table .speaker {
  margin: 0;
  text-indent: 3em;
}
.event_table {
  width: 90%;
  margin: auto;
}
.event_table th, .event_table td {
  padding: 5px;
}
.event_table th {
  white-space: nowrap;
  font-weight: normal;
  background-color: #eee;
}
.event_table a {
  color: #0045b8;
}
.event_table a:hover {
  color: #62b5e5;
}
.event_table img {
  max-width: 200px;
}
.conference_div p {
  margin: 15px;
}
.conference_div a {
  color: #0045b8;
}
.conference_div a:hover {
  color: #62b5e5;
}
.conference_div table {
  margin-left: 30px;
}
.conference_div table th, .conference_div table td {
  text-align: left;
  padding: 5px;
}
.conference_div table th {
  white-space: nowrap;
  font-weight: normal;
  background-color: #eee;
}
.link_ul {
  list-style-type: none;
  padding: 0;
}
.link_ul li {
  margin: 5px 0px 5px 30px;
}
.link_ul li a {
  color: #000;
  text-decoration: none;
  word-wrap: normal;
}
.link_ul li a:hover {
  text-decoration: underline;
}
.link_ul li ul {
  list-style-type: none;
  padding-left: 10px;
}
.link_ul > li > a {
  position: relative;
  width: fit-content;
  padding-left: 20px;
}
.link_ul > li > a::before {
  content: '';
  width: 6px;
  height: 6px;
  border: 0;
  border-top: solid 3px #5B7F95;
  border-right: solid 3px #5B7F95;
  transform: rotate(45deg);
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  margin: auto;
}
.two_block {
  display: block;
  width: 50%;
  float: left;
}
.notice {
  margin: 0;
  font-size: 120%;
  color: red;
  text-align: center;
  text-decoration: underline;
}
.new {
  color: red;
  padding-left: 10px;
}
.new:before {
  content: "New!";
}
/* 上に戻るボタン */
.pagetop {
  color: #fff;
  background-color: rgba(0, 0, 0, 0.5);
  text-decoration: none;
  display: none;
  position: fixed;
  bottom: 1rem;
  right: 1rem;
  font-size: 1.5rem;
  width: 3.3rem;
  height: 3.3rem;
  line-height: 3.3rem;
  border-radius: 3.3rem;
  text-align: center;
  cursor: pointer;
}
.pagetop:hover {
  color: #fff !important;
  background-color: #62b5e5;
  text-decoration: none;
}
@media screen and (max-width: 900px) {
  #top_menu {
    margin: 0;
    text-align: left;
  }
  #top_menu li {
    margin: 0;
    display: block;
    width: 100%;
  }
  #submenu {
    clear: both;
    width: 100%;
    position: relative;
  }
  #contents {
    margin: 0 5px;
  }
  #submenu ul li a {
    padding: 2px 0;
  }
  #contents_sub {
    clear: both;
    width: 100%;
  }
}
@media screen and (max-width: 650px) {
  header .logo {
    max-width: 100%;
  }
  #top_menu {
    display: none;
  }
  .index_div {
    max-height: 400px;
  }
  .index_topics th {
    margin-top: 15px;
    display: block;
    width: 100%;
    text-align: left;
  }
  .index_topics td {
    display: block;
    border: none;
  }
  .message_img {
    max-width: 30%;
  }
  .history_table th, .history_table td {
    display: block;
    width: 100%;
  }
  .orginization_div img {
    width: 100%;
  }
  .orginization_div .officer {
    width: 100%;
    clear: both;
  }
  .organization_table th, .organization_table td {
    display: block;
    width: 100%;
  }
  .commendation_div img {
    max-width: 30%;
  }
  .training_table th, td {
    width: 100%;
    display: block;
    overflow-wrap: break-word;
    word-wrap: break-word;
    white-space: normal;
  }
  .br:before {
    content: "\A";
    white-space: pre;
  }
  .two_block {
    width: 100%;
    float: none;
  }
  footer {
    font-size: 80%;
  }
}