@charset "utf-8";
/* CSS Document */
:root {
  --maincolor: #416577;
  --maincolor_gray: #5b7f95;
  --subcolor: #b7c9d3;
}
html, body {
  height: 100%;
  font-size: 100%;
  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%;
  overflow: hidden;
}
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;
}
.header_top {
  height: 10px;
  width: 100%;
  background-color: var(--maincolor);
}
#contents {
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 2em;
}
#contents a {
  color: var(--maincolor);
  text-decoration: none;
}
#contents a:hover {
  color: var(--maincolor_gray);
  text-decoration: underline;
}
p {
  color: #000;
  margin: 1.5% 3%;
  text-indent: 1em;
	line-height: 1.6em;
}
h1 {
  background: linear-gradient(transparent 70%, var(--subcolor) 70%);
  margin: 20px 0;
  padding: 0 10px;
  font-weight: normal;
  font-size: clamp(18px, 1.8vw, 30px);
  width: fit-content;
}
h2 {
  width: fit-content;
  margin: 2% 0;
  padding: 1% 3%;
  font-size: clamp(16px, 1.8vw, 20px);
  font-weight: normal;
  color: #fff;
  background-color: var(--maincolor);
}
h3 {
  display: inline-flex;
  /* margin-left: 25px;*/
  margin: 0;
  padding: 1% 2%;
  border-left: 5px solid var(--maincolor);
  font-size: clamp(14px, 1.8vw, 18px);
  font-weight: normal;
  background-color: whitesmoke;
}
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;
}
.overview_div{
	margin: 3% 0;
}
.message_div{
	margin: 4% 0;
}
.message_div_prof {
  margin: 2%;
  display: block;
  float: right;
  text-align: center;
}
.message_div_prof img {
  margin: auto;
}
.message_div_prof p {
  text-indent: 0;
  margin-top: 0;
  font-size: 110%;
}
.organization_div {
  margin: 2% 0;
  width: 100%;
  text-align: center;
}
.organization_div img {
	width: 100%;
		height: auto;
  max-width: 800px;
  object-fit: contain;
}
.department_div {
  position: relative;
}
.department_div p {
  position: absolute;
  text-indent: 0;
  color: #fff;
  font-size: 150%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.department_img {
  padding: 0;
  object-fit: cover;
  aspect-ratio: 4/1;
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  max-height: 400px;
}
.department_thumbnail {
  text-align: center;
  display: flex;
  justify-content: space-around;
}
.department_thumbnail img {
  max-width: 20%;
  aspect-ratio: 1/1;
  object-fit: cover;
  border-radius: 10px;
}
.activity_table {
  width: 90%;
  margin: auto;
}
.activity_table th, .activity_table td {
  padding: 5px;
}
.activity_table th {
  white-space: nowrap;
  font-weight: normal;
  background-color: #eee;
}
.activity_table a {
  color: #0045b8;
}
.activity_table a:hover {
  color: #62b5e5;
}
.activity_table img {
  max-width: 200px;
}
.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;
}
.conference_div table {
  margin: 3%;
}
.conference_div table th, .conference_div table td {
  white-space: nowrap;
  text-align: left;
  padding: 5px;
}
.conference_div table th {
  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;
  word-wrap: normal;
}
.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 var(--maincolor_gray);
  border-right: solid 3px var(--maincolor_gray);
  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!";
}
@media screen and (max-width: 650px) {
  header .logo {
    max-width: 100%;
  }
  h1 {
    font-size: 150%;
  }
  h2 {
    font-size: 100%;
  }
  #contents {
    margin: 0% 2%;
  }
  .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_div_prof {
    float: none;
    width: 100%;
  }
  .commendation_div img {
    max-width: 30%;
  }
  .training_table th, .training_table 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%;
  }
}