@charset "utf-8";
@import url("side-right.css");

h1,h2,h3,h4,h5,h6 {
  font-weight: normal;
  line-height: 140%;
  margin: 0;
}

:root {
  --imgsize: 80px;
}

/*見出し*/
.headline {
  margin-top: 30px;
  margin-bottom: 30px;
}

.section-headline {
  margin-bottom: 30px;
}
.section-headline h2 {
  margin: 0;
  padding-bottom: 5px;
  border-bottom: 2px #000 solid;
}

/*年度枠*/
.news-year h2 {
  margin-bottom: 20px;
}
.news-year~.news-year {
  margin-top: 50px;
}

.news-year h2 {
  margin: 0 0 20px;
  position: relative;
  border-bottom: 1px #bbb solid;
  padding-bottom: 5px;
}
.news-year h2::after {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	bottom: -1px;
  background-color: #000;
	width: 30%;
	height: 2px;
}

/*ニュース*/
.news {
  padding: 10px 0;
}
.news a {
  display: grid;
  grid-template-columns: var(--imgsize) 1fr;
  gap: 20px;
  color: #000;
  text-decoration: none;
}
.news .cover img {
  width: var(--imgsize);
  height: var(--imgsize);
  object-fit: cover;
  display: block;
}
.news dl {
  margin: 0;
}
.news dt {
  /*12-14*/
  font-size: clamp(0.75rem, 0.725rem + 0.13vw, 0.875rem);
  margin-bottom: 10px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
}
.news dt img {
  display: none;
}
.news dd {
  margin: 0;
}

/*アイコン再セット*/
.news a {
  background: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.news dd::after {
  content: "";
  display: inline-block;
  margin-left: 5px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center bottom;
}
.news a[target=_blank][rel=noopener] dd::after {
  width: 14px;
  height: 14px;
  background-image: url("../img/icon_blank.png");
}
.news a[type$="pdf"] dd::after {
  width: 16px;
  height: 16px;  
  background-image: url("../img/icon_pdf.png");
}


/*----------------------------------*/
/*NEWSトップページ*/
/*----------------------------------*/
/*PickUp一覧*/
.pickup {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 30px;
  margin-bottom: 40px;
}
.pickup .news a {
  display: block;
}
.pickup .news a:hover {
  background-color: #ccc !important;
}
.pickup .news .cover {
  height: 200px;
  border: 1px #ddd solid;
  margin-bottom: 0px;
}
.pickup .news .cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.pickup .news dl {
  padding: 10px;
}

/*NEWS一覧*/
.newslist {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
.newslist .news {
  padding: 10px 0;
  border-top: 1px #ddd dotted;
}


/*----------------------------------*/
/*記事*/
/*----------------------------------*/
.article h1 {
  margin-bottom: 30px;
}
.article h2 {
  margin-top: 30px;
}
.article h2~h2 {
  margin-top: 50px;
}

/*ヘッドライン*/
.article-headline {
  margin: 40px 0;
  width: 100%;
  display: grid;
  grid-template-columns: 200px 1fr;
  column-gap: 20px;
  justify-content: space-between;
  border-top: 2px #000 solid;
  padding-top: 10px;
}

/*掲載日*/
.article-headline .date {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
}

/*注釈*/
.article .note {
  margin-top: 30px;
  margin-bottom: 30px;
}

/*カテゴリアイコン*/
.article-headline .categoryIcon {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.article-headline .categoryIcon span {
  /*10-12*/
  font-size: clamp(0.625rem, 0.6rem + 0.13vw, 0.75rem);
  line-height: 100%;
  display: inline-block;
  background-color: #000;
  color: #fff;
  padding: 5px 10px;
}
.article-headline .categoryIcon span~span {
  margin-left: 5px;
}

/*リスト*/
.article ul {
  margin-top: 40px;
  margin-bottom: 40px;
}
.article li~li {
  margin-top: 10px;
}

/*最終更新日*/
.lastupdate {
  text-align: right;
}

.sign {
  text-align: right;
}

/*画像＋テキスト*/
.text-col {
  display: grid;
  grid-template-columns: 300px 1fr;
  column-gap: 20px;
  word-break: normal;
  overflow-wrap: anywhere;
  line-break: strict;
}
.text-col figure {
  margin: 0 auto;
}

/*補足*/
.textbox {
  margin-top: 30px;
  margin-bottom: 30px;
  border: 1px #ddd solid;
  background-color: #f5f5f5;
  padding: 20px 30px;
}
.textbox h6 {
  margin-bottom: 20px;
}
.textbox p {
  margin: 5px 0;
}
.textbox ul {
  margin-top: 10px;
  margin-bottom: 10px;
}

/*関連文献*/
.tbl-reference {
  color: #333;
  margin-top: 10px;
}
.tbl-reference caption {
  text-align: right;
  margin-bottom: 10px;
}
.tbl-reference th {
  width: 50px;
  background-color: #f1f1f1;
  font-weight: normal;
  padding: 8px 10px;
  border: 1px #ccc solid;
}
.tbl-reference td {
  padding: 8px 10px;
  border: 1px #ccc solid;
}

/*ボタンデザイン*/
.linkBtnT {
  text-align: right;
}
.linkBtnT a {
  display: inline-block;
  color: #000;
  text-decoration: none;
  padding: 5px 20px 5px 10px;
  background: linear-gradient(0, #fff, #ddd);
  border: 1px solid #c1c1c1;
  border-radius: 3px;
  line-height: 100%;
}
.linkBtnT span {
  display: inline-block;
  padding-left: 20px;
  background: url("../img/selectable_marker2.gif") no-repeat left center;
}
.linkBtnT a:hover {
  border-color: #80c426;
  background: #CDE49A;
  background: linear-gradient(180deg,rgba(205, 228, 154, 1) 35%, rgba(205, 228, 154, 0.51) 100%);
}

.tbl-result {
  border-collapse: collapse;
  margin-top: 30px;
  margin-bottom: 30px;
}
.tbl-result caption {
  text-align: left;
  margin-bottom: 20px;
}
.tbl-result th {
  width: 120px;
  text-align: left;
}
/*英語版*/
.tbl-result:lang(en) th {
    width: 200px;
    vertical-align: top;
}


/*パスカレンダー*/
.pathcalendar ul {
  margin: 0;
  padding: 0;
  list-style-type: none;
}
.pathcalendar li {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  border-bottom: 1px #ddd solid;
  padding: 0px 10px;
}
.pathcalendar li .update {
  width: 200px;
}

/*図のサイズ*/
.fig600 {
  max-width: 600px;
}
.fig700 {
  max-width: 700px;
}

/****************************/
/*レスポンシブ*/
/****************************/
@media screen and (max-width: 1279px) {
  .text-col {
    grid-template-columns: 30% 1fr;
  }
}

@media screen and (max-width: 979px) {
  .pickup {
    gap: 20px;
  }
  .pickup .news {
    max-width: 300px;
  }
}

@media screen and (max-width: 779px) {
}

@media screen and (max-width: 579px) {
  .pickup {
    grid-template-columns: 1fr 1fr;
  }
  .newslist {
    display: block;
    grid-template-columns: auto;
    gap: 0;
  }
  .article-headline {
    display: block;
    grid-template-columns: none;
  }
  .article-headline .categoryIcon {
    margin-top: 20px;
  }
}


@media screen and (max-width: 379px) {
  :root {
    --imgsize: 60px;
  }
  .news a {
    gap: 10px;
  }
  .pickup {
    display: block;
    grid-template-columns: none;
  }
  .pickup .news {
    margin: 0 auto;
  }
  .pickup .news dl {
    padding: 10px 0;
  }
  .pickup .news a:hover {
    background-color: transparent;
  }

  .text-col {
    display: block;
  }
  .text-col figure {
    margin: 0 auto 20px;
  }
}
