@charset "utf-8";
/* CSS Document */


/* =========================
   Topics archive page
========================= */

/* 見出し（緑＋カーブ） */
.news_archive_hero{
  background: var(--col_gre);
  padding: 2em 0 1em;
  position: relative;
}
.news_archive_hero::after{
  content: "";
  position: absolute;
  left: 50%;
  bottom: 1px;
  z-index: 1;
  width: 100vw;
  height: var(--dec-h);
  transform: translateX(-50%) translateY(100%);
  background: url("../img/back_dec_g.svg") center / 100% 100% no-repeat;
}
.news_archive_hero .container{
  padding: 0;
}
.news_archive_title{
  /*
   * 以前は汎用h2の指定（display/padding/border-left）を受け継いでいました。
   * h1やpでも同じ見た目になるよう、クラス側で指定します。
   */
  display: inline-block;
  padding: 0 0.5em 0.1em;
  border-left: 6px solid var(--col_gre);
  margin: 0;
  color: #fff;
  font-weight: 800;
  letter-spacing: .04em;
  font-size: clamp(2.2rem, 2rem + 1vw, 3rem);
  line-height: 1;
}
.news_archive_title span{
  margin-left: 1em;
  font-size: 1rem;
  font-weight: 700;
}

/* 2カラム：左フィルタ／右一覧 */
.news_archive_container{
  padding-bottom: 4rem;
}
.news_archive_layout{
  position: relative;
  display: grid;
  gap: 1.5rem;
  align-items: start;
}
/* 列の中身が広いときに、列ごと画面の外へ広がらないように（ページ送りの数字が多いときなど。2026-09-28） */
.news_archive_layout > *{
  min-width: 0;
}
@media (min-width: 900px){
  .news_archive_layout{
    grid-template-columns: 220px 1fr;
  }
}

/* アーカイブリンク */
.archive_link{
  display: flex;
  align-items: flex-end;
  margin-left: calc(220px + 1.5rem);
  margin-bottom: .25em;
  column-gap: 1em;
  
}
.archive_link a{
  position: relative;
  flex-wrap: wrap;
  padding: 0.6em 1.25em 0.4em 0.5em;
  font-size: clamp(0.9rem, 0.777rem + 0.62vw, 1.2rem);
  font-weight: 600;
  line-height: 1;
  text-decoration: underline;
  text-decoration-color: transparent;
  transition: text-decoration-color .2s ease;
  border:1px solid rgba(0, 0, 0, .18);
  border-bottom: none;
  border-radius: 8px 8px 0 0;
}
.archive_link a span{
  position: relative;
}
.archive_link a span::before{
  content: "";
  position: absolute;
  top: 50%;
  right: -0.8em;
  width: 0;
  height: 0;
  transform: translateY(-50%);
  border-style: solid;
  border-width: 6px 0 6px 8px;
  border-color: transparent transparent transparent var(--col_blu);
}

.archive_link a.not_link{
  background: var(--col_gre_10);
  color: #000;
  pointer-events: none;
  padding: 0.8em 1em 0.5em;
}

.archive_link a.not_link span::before{
  display: none;
}

.archive_link a.not_link:hover{
  text-decoration: none;
  opacity: 1;
}


/* フィルタ全体 */
.news_archive_filter{
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  min-width: 0;
}

.news_filter_group_wrap{
  width: 100%;
  min-width: 0;
  padding: 1rem;
  box-sizing: border-box;
  border-radius: 20px;
  background: rgba(0, 112, 175, 0.06);
}
.news_filter_group_wrap--sub{
  background: rgba(0, 0, 0, 0.03);
}

.news_filter_label{
  margin: 0 0 .75rem;
  font-size: .9rem;
  font-weight: 700;
  line-height: 1.2;
  color: var(--col_text);
}

.news_filter_group{
  display: flex;
  flex-wrap: wrap;
  /*gap: .75rem;*/
  gap: .5rem;
  justify-content: flex-start;
}

/* 大カテゴリボタン */
.news_filter_btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: .5em 1em;
  box-sizing: border-box;
  border: none;
  border-radius: 999px;
  background: var(--col_gre);
  color: #fff;
  font-weight: 700;
  letter-spacing: .08em;
  line-height: 1.2;
  text-decoration: none;
  transition: background-color .2s ease, color .2s ease, box-shadow .2s ease, opacity .2s ease, transform .2s ease;
}
.news_filter_btn.is-active{
  background: #222;
  color: #fff;
}

/* 小カテゴリボタン */
.news_tag_filter_btn{
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: auto;
  max-width: 100%;
  min-width: 0;
  padding: .4rem .8rem;
  box-sizing: border-box;
  border: 1px solid rgba(0, 0, 0, .12);
  border-radius: 999px;
  background: #fff;
  color: var(--col_text);
  font-weight: 600;
  line-height: 1;
  box-shadow: inset 0 0 0 2px var(--col_gre);
  transition: background-color .2s ease, color .2s ease, border-color .2s ease, opacity .2s ease, transform .2s ease;
}
.news_tag_filter_btn.is-active{
  background: #222;
  color: #fff;
  border-color: #222;
  box-shadow: none;
}
.news_tag_filter_btn span{
  display: block;
  font-size: 85%;
}

.news_filter_clear_wrap{
  display: flex;
  justify-content: flex-start;
}

.news_filter_clear{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: .65em 1em;
  box-sizing: border-box;
  border: 1px solid currentColor;
  border-radius: 999px;
  background: #fff;
  color: var(--col_text);
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  transition: background-color .2s ease, color .2s ease, opacity .2s ease;
}

.news_filter_clear:hover,
.news_filter_clear:focus-visible{
  background: #222;
  color: #fff;
  text-decoration: none;
}

/* 一覧 */
.news_archive_list{
  margin: 0;
  padding: 0;
  list-style: none;
  background: #fff;
  border-top: 1px solid rgba(0, 0, 0, .18);
  border-bottom: 1px solid rgba(0, 0, 0, .18);
}

/* 1行 */
.news_row{
  display: grid;
  grid-template-columns: 100px 1fr;
  column-gap: 1.2rem;
  padding: 1rem 0;
  border-top: 1px solid rgba(0, 0, 0, .18);
}
.news_row:first-child{
  border-top: 0;
}
.news_row_date{
  align-self: start;
  white-space: nowrap;
  font-weight: 600;
  letter-spacing: .06em;
  line-height: 1;
}

/* 右側リンク（画像＋本文） */
.news_row_link{
  display: grid;
  grid-template-columns: 120px 1fr;
  column-gap: 1rem;
  align-items: start;
  min-width: 0;
  padding-left: 1rem;
  border-left: 1px solid rgba(0, 0, 0, .18);
  color: var(--col_text);
  text-decoration: none;
}
.news_row_body{
  display: flex;
  flex-direction: column;
  gap: .35rem;
  min-width: 0;
}

/* 一覧表示だけの調整 */
.news_row_body .news_card_cat{
  font-size: clamp(0.75rem, 0.688rem + 0.31vw, 0.9rem);
}
.news_row_body .news_card_tags{
  font-size: clamp(0.75rem, 0.688rem + 0.31vw, 0.9rem);
}

/* 画像 */
.news_row_img{
  display: block;
  overflow: hidden;
  aspect-ratio: 3 / 2;
}
.news_row_img img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* hover */
@media (hover: hover){
  .archive_link a:hover{
    text-decoration-color: currentColor;
  }

  .news_row_link:hover .news_card_text{
    text-decoration: underline;
  }
}

@media (min-width: 641px) and (hover: hover){
  .news_filter_btn:hover,
  .news_tag_filter_btn:hover{
    opacity: .85;
    transform: translateY(-1px);
  }
}

/* ページネーション */
.news_pager{
  display: flex;
  flex-wrap: wrap; /* 狭い画面では2行に折り返す（数字が10個以上だと390px幅に収まらない。2026-09-28） */
  justify-content: center;
  align-items: center;
  gap: .5rem;
  padding: 2.2rem 0 1rem;
}
.pager_btn,
.pager_num{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: #e6e6e6;
  color: var(--col_text);
  font-weight: 800;
  text-decoration: none;
}
.pager_btn{
  background: none;
}
.pager_num.is-active{
  background: var(--col_gre);
  color: #fff;
}
.pager_btn.is-disabled{
  opacity: .4;
  pointer-events: none;
}

/* 900px以下 */
@media (max-width: 900px){
  .archive_link{
    margin-left: auto;
  }

  .news_archive_filter{
    gap: 1rem;
  }

  .news_filter_btn{
    width: auto;
    min-width: max-content;
    white-space: nowrap;
  }

  .news_filter_clear{
    width: auto;
    min-width: max-content;
  }
}

/* SP調整 */
@media (max-width: 640px){
  .news_row{
    grid-template-columns: 1fr;
    row-gap: .6rem;
    padding: 1rem 0;
  }
  .news_row_date{
    font-size: 1rem;
    font-weight: 700;
  }
  .news_row_link{
    grid-template-columns: 92px 1fr;
    column-gap: .9rem;
    padding-left: 0;
    border-left: 0;
  }
  .news_row_img{
    width: 92px;
  }
  .news_row_body{
    gap: .25rem;
  }
}








/* =========================
   TOPICS / NEWS single page
========================= */
.news_single_container{
  padding-bottom: 4rem;
}

.news_single_body{
  /*max-width: 920px;*/
	max-width:880px;
  margin: 0 auto;
}

.news_single_meta{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .75rem;
  margin: 2rem 0 1rem;
}

.news_single_date{
  font-weight: 700;
  letter-spacing: .06em;
  line-height: 1;
  white-space: nowrap;
}

/* タイトル */
.news_single_head{
  margin: 0 0 1.2rem;
  padding-left: 1rem;
  border-left: 6px solid var(--col_gre);
}

.news_single_title{
  margin: 0;
  font-weight: 600;
  letter-spacing: .02em;
  line-height: 1.6;
  font-size: clamp(1.05rem, 0.98rem + 0.3vw, 1.2rem);
}

/* 画像 */
.news_single_media{
  margin: 0 0 2rem;
}

.news_single_media img{
  display: block;
  width: min(100%, 720px);
  height: auto;
  margin: 0 auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
}

.wp-block-table,
.wp-block-gallery {
  margin: 1.2rem 0;
}

.wp-block-table th,
.wp-block-table td{
  vertical-align: middle;
}

/* 詳細情報 */
.news_single_info{
  margin: 0 0 2rem;
  padding: 1.25rem;
  background: rgba(0, 112, 175, 0.05);
  border-radius: 20px;
}

.news_single_info dl{
  margin: 0;
}

.news_single_info_row{
  display: grid;
  grid-template-columns: 12em 1fr;
  gap: .5rem 1.25rem;
  padding: .5rem 0;
  border-top: 1px solid rgba(0, 0, 0, .08);
}

.news_single_info_row:first-child{
  padding-top: 0;
  border-top: 0;
}

.news_single_info dt{
  font-weight: 700;
}

.news_single_info dd{
  margin: 0;
}

/* 本文 */
.news_single_text{
  /*font-size: 1rem;
  line-height: 1.95;*/
font-size: clamp(14px, 1.2vw, 19px);
line-height:2.08;
letter-spacing: 0.04em;
  /*
   * 長い URL などの切れ目の無い文字列を、欄の幅で折り返す（2026-09-25）。
   * スマホ幅で記事の本文に長い URL のリンクがあると、右へ 46px はみ出して
   * 横スクロールが出ていた（news20260820-2）。
   */
  overflow-wrap: anywhere;
}

.news_single_text .gray-box {
    background: #f0f0f0;
    padding: 20px;
    border-radius: 8px;
    margin: 0 0 1.2rem;
}

.news_single_text p{
  margin: 0 0 1.2rem;
}

.news_single_text *.is-style-erase-bottom-margin{
  margin-bottom: 0 !important;
}

.news_single_text *.is-style-erase-bottom-margin + *{
  margin-block-start: 0 !important;
}

.news_single_text p.wp-block-mytheme-hanging-paragraph{
  margin: 0 0 1.2rem;
}

.news_single_text strong{
  font-weight: 800;
  margin-right: .2rem;
/*  white-space: nowrap;*/
}

.news_single_text h2,
.news_single_text h3,
.news_single_text h4,
.news_single_text h5{
  margin: 2.2em 0 .8em;
  font-weight: 700;
  line-height: 1.5;
}

/* 見出しA：左線 */
.news_single_text .hdg-a{
  padding-left: .85em;
  border-left: 6px solid var(--col_gre);
  font-size: clamp(1.05rem, 0.98rem + 0.3vw, 1.2rem);
}

/* 見出しB：帯 */
.news_single_text .hdg-b{
  padding: .6em .9em;
  background: var(--col_gre_10);
  font-size: clamp(1.05rem, 0.98rem + 0.3vw, 1.2rem);
}

/* 見出しC：下線 */
.news_single_text .hdg-c{
  padding-bottom: .35em;
  border-bottom: 2px solid var(--col_gre);
  font-size: clamp(1.05rem, 0.98rem + 0.3vw, 1.2rem);
}

.news_single_text ul{
  margin-bottom: 1.2em;
}

/* 記事本文：リスト点追加 */
.news_single_text ul,
.news_single_text li{
  list-style: disc;
  margin-left: 0.6em;
}

/*
 * 番号付きリスト。
 * 上の指定は li を直接指しているため、ol の項目まで「・」になります。
 * 番号に戻します（プログラムや手順の記載で使います）。
 */
.news_single_text ol{
  margin-bottom: 1.2em;
}

.news_single_text ol,
.news_single_text ol > li{
  list-style: decimal;
}

.gray-box li{
  margin-left: 1.2em;
}

/*投稿本文用追加スタイル*/
.news_single_text .wp-block-image a{
	display:block;
}
.news_single_text .wp-block-image {
	margin-top: 2rem;
	margin-bottom: 2rem;
}

/*
 * 本文の画像は、元のサイズを超えて拡大しない。
 *
 * サイト共通のimg{width:100%}（css/style.css）は一覧カードの
 * サムネイル用の指定だが、本文の画像にも効いてしまう。元画像が
 * 本文幅（880px）より小さいと引き伸ばされてぼやけるうえ、この
 * 指定を読み込まないエディタとも見え方がずれる。
 *
 * ブロックエディタの画像と、英語本文（クラシックエディタ）の
 * 画像の両方が対象。元画像が880px以上の場合はmax-widthで
 * 頭打ちになるため、従来と同じ表示のまま変わらない。
 */
.news_single_text img{
	width: auto;
	max-width: 100%;
}

/*
 * ギャラリー内の画像は段組みのセル幅に合わせる必要があるため、
 * 従来どおり広げる。上の指定より詳細度が高いので優先される。
 */
.news_single_text .wp-block-gallery .wp-block-image img{
	width: 100%;
}

/*
 * 左右寄せは「位置を寄せるだけ」にし、回り込みは行わない。
 *
 * WordPress標準のalignleft／alignrightはfloatのため、後続の段落が
 * 画像の横の空きへ流れ込む。本文幅880pxに対して大きな画像を寄せると
 * 数十px幅の隙間へ文字が入り込み、エディタではその隙間がブロックの
 * 挿入領域としても扱われて編集しづらい。
 *
 * 画像は寄せたまま、本文は必ず画像の下から始める。
 * floatを解除したうえで、画像の幅は内容に合わせたまま維持する。
 */
.news_single_text .wp-block-image.alignleft,
.news_single_text .wp-block-image.alignright,
.news_single_text img.alignleft,
.news_single_text img.alignright,
.news_single_text .wp-caption.alignleft,
.news_single_text .wp-caption.alignright{
	float: none;
	max-width: 100%;
}

/*
 * margin:autoで寄せるにはブロック要素である必要がある。
 * サイト共通のimg{display:block}が効いているため現状は同じ値だが、
 * その指定に依存しないようここでも明示する。
 */
.news_single_text img.alignleft,
.news_single_text img.alignright,
.news_single_text img.aligncenter{
	display: block;
}

/*
 * figureは中身に合わせて縮める。英語本文の裸のimgは画像自身が
 * 幅を持ち、div.wp-captionはインラインstyleで幅が入るため不要。
 */
.news_single_text .wp-block-image.alignleft,
.news_single_text .wp-block-image.alignright{
	width: fit-content;
}

.news_single_text .wp-block-image.alignleft,
.news_single_text img.alignleft,
.news_single_text .wp-caption.alignleft{
	margin-left: 0;
	margin-right: auto;
}

.news_single_text .wp-block-image.alignright,
.news_single_text img.alignright,
.news_single_text .wp-caption.alignright{
	margin-left: auto;
	margin-right: 0;
}

/*
 * 英語本文の中央寄せ。ブロックエディタ側はコアのCSSが処理する。
 */
.news_single_text img.aligncenter,
.news_single_text .wp-caption.aligncenter{
	margin-left: auto;
	margin-right: auto;
}
.news_single_text .aligncenter figcaption{
	text-align:center;
	margin: 0;
}.blocks-gallery-caption{
	margin-bottom:1em !important;
}
.news_single_text a:not([class]) {
	color:var(--col_gre);
	text-decoration: underline;
}.news_single_text a:not([class]):is(:hover, :active, :focus, :focus-visible) {
	text-decoration:none;
}
.news_single_text .wp-block-embed.is-provider-youtube .wp-block-embed__wrapper {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
}

.news_single_text .wp-block-embed.is-provider-youtube iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/*
 * 英語本文の動画（キャプション・幅・配置）。
 *
 * mytheme-english-embedクラスは英語版のダイアログで設定した動画に
 * だけ付くため、日本語版のcore/embedブロックには影響しません。
 * 日英で体裁を揃えたくなった場合は、各セレクタへ
 * .wp-block-embed を足してください。
 *
 * 高さは既存の.wp-block-embed__wrapperのpadding-bottom（56.25%）で
 * 追従するため、幅だけを指定します。
 */
.news_single_text .mytheme-english-embed{
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
}

.news_single_text .mytheme-english-embed.is-mytheme-embed-align-left{
	margin-left: 0;
	margin-right: auto;
}

.news_single_text .mytheme-english-embed.is-mytheme-embed-align-right{
	margin-left: auto;
	margin-right: 0;
}

.news_single_text .mytheme-english-embed-caption{
	margin: .25rem 0 0;
	padding: 0;
	font-size: inherit;
	line-height: inherit;
	text-align: left;
}

.news_single_text .is-mytheme-embed-align-center > .mytheme-english-embed-caption{
	text-align: center;
}

.news_single_text .is-mytheme-embed-align-right > .mytheme-english-embed-caption{
	text-align: right;
}

/*
 * キャプションのリンク。本文中のリンク（a:not([class])）と
 * 同じ体裁にします。クラスが付くため自動では当たりません。
 */
.news_single_text .mytheme-english-embed-caption-link{
	color: var(--col_gre);
	text-decoration: underline;
}

.news_single_text .mytheme-english-embed-caption-link:is(:hover, :active, :focus, :focus-visible){
	text-decoration: none;
}
.news_single_text .wp-caption{
	max-width: 100%;
}
.news_single_text p.has-background{
	padding: 1.25em 2.375em;
}

/* 戻り */
.news_single_nav{
  display: flex;
  justify-content: center;
  margin-top: 3rem;
}

.news_single_back{
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  color: var(--col_text);
  font-weight: 800;
  letter-spacing: .08em;
  text-decoration: none;
}

.news_single_back::before{
  content: "◀";
  color: var(--col_gra);
}

.news_single_back::after{
  content: "▶";
  color: var(--col_gra);
}

.news_single_nav span{
  color: var(--col_gra);
}

@media (hover:hover){
  .news_single_back:hover{
    text-decoration: underline;
  }
}

/* SP */
@media (max-width: 640px){
  .news_single_body{
    max-width: 100%;
    margin: 0 5%;
  }

  .news_single_meta{
    margin: 1.4rem 0 .9rem;
    gap: .5rem;
  }

  .news_single_head{
    margin: 0 0 1.4rem;
  }

  .news_single_media wimg{
    width: 80%;
  }

  .news_single_info{
    padding: 1rem;
  }

  .news_single_info_row{
    grid-template-columns: 1fr;
    gap: .25rem;
  }

  .news_single_text{
    font-size: .95rem;
    line-height: 1.85;
  }

  .news_single_text h2,
  .news_single_text h3,
  .news_single_text h4,
  .news_single_text h5{
    margin: 1.8em 0 .7em;
  }

  .news_single_text .hdg-a{
    padding-left: .7em;
    border-left-width: 5px;
  }

  .news_single_text .hdg-b{
    padding: .55em .8em;
  }
}












/* =========================
   EVENTS archive page
========================= */
.event_archive_list{
  margin: 0;
  padding: 0;
  list-style: none;
  background: #fff;
  border-top: 1px solid rgba(0, 0, 0, .18);
  border-bottom: 1px solid rgba(0, 0, 0, .18);
}

.event_row{
  display: grid;
  grid-template-columns: 100px 1fr;
  column-gap: 1.2rem;
  padding: 1rem 0;
  border-top: 1px solid rgba(0, 0, 0, .18);
}

.event_row:first-child{
  border-top: 0;
}

.event_row_date{
  align-self: start;
  white-space: nowrap;
  font-weight: 600;
  letter-spacing: .06em;
  line-height: 1;
}

.event_row_link{
  display: grid;
  grid-template-columns: 120px 1fr;
  column-gap: 1rem;
  align-items: start;
  min-width: 0;
  padding-left: 1rem;
  border-left: 1px solid rgba(0, 0, 0, .18);
  color: var(--col_text);
  text-decoration: none;
}

.event_row_img{
  position: relative;
}

.event_row_img img{
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}

.event_row_body{
  display: flex;
  flex-direction: column;
  gap: .6rem;
  min-width: 0;
}

/* 開催状況 + 開催日 + 対象 */
.event_row_body .event_meta{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .45rem .75rem;
}

/* 一覧では画像内リボンではなく、本文側で横並び表示 */
.event_row_body .event_meta .event_ribbon{
  position: static;
  top: auto;
  right: auto;
  bottom: auto;
  left: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  padding: .45em .8em;
  writing-mode: horizontal-tb;
  line-height: 1;
}


.event_row_body .event_date{
  white-space: nowrap;
  flex: 0 0 auto;
}

.event_row_body .event_limit_list{
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  align-items: center;
}

/* 所属タグは topics_all と同系統の見せ方を流用 */
.event_row_body .event_affiliation_tags{
  margin: -.1rem 0 0;
}

.event_row_body .event_text{
  margin: 0;
}

@media (hover: hover){
  .event_row_link:hover .event_text{
    text-decoration: underline;
  }
}

@media (max-width: 640px){
  .event_row{
    grid-template-columns: 1fr;
    row-gap: .6rem;
    padding: 1rem 0;
  }

  .event_row_date{
    font-size: 1rem;
    font-weight: 700;
  }

  .event_row_link{
    grid-template-columns: 92px 1fr;
    column-gap: .9rem;
    padding-left: 0;
    border-left: 0;
  }

  .event_row_body{
    gap: .4rem;
  }

  .event_row_body .event_meta{
    align-items: flex-start;
  }
}

/* =========================
   EVENTS archive filters
========================= */
.news_filter_group_wrap--affiliation{
  background: rgba(0, 112, 175, 0.03);
}

.news_affiliation_filter_btn{
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: auto;
  max-width: 100%;
  min-width: 0;
  padding: .4rem .8rem;
  box-sizing: border-box;
  border: 1px solid rgba(0, 112, 175, .18);
  border-radius: 999px;
  background: #fff;
  color: var(--col_gre);
  font-weight: 700;
  line-height: 1;
  box-shadow: inset 0 0 0 1px var(--col_gre);
  transition: background-color .2s ease, color .2s ease, border-color .2s ease, opacity .2s ease, transform .2s ease;
}

.news_affiliation_filter_btn.is-active{
  background: var(--col_gre);
  color: #fff;
  border-color: var(--col_gre);
  box-shadow: none;
}

.news_affiliation_filter_btn span{
  display: block;
  font-size: 85%;
  line-height: 1.2;
}
  
/* ===== events_all 用の上書き ===== */
.event_archive_list .event_row_body .event_meta{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .45rem .75rem;
}

.event_archive_list .event_row_body .event_meta .event_ribbon{
  position: static;
  top: auto;
  right: auto;
  bottom: auto;
  left: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  height: auto;
  padding: .45em .8em;
  line-height: 1;
  writing-mode: horizontal-tb;
  flex: 0 0 auto;
}

.event_archive_list .event_row_body .event_meta .event_date{
  display: inline-block;
  width: auto;
  margin: 0;
  white-space: nowrap;
  flex: 0 0 auto;
}

.event_archive_list .event_row_body .event_meta .event_limit_list{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .4rem;
}
  
  
.event_archive_list .event_row_body .event_meta{
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap;
  align-items: center;
  gap: .45rem .75rem;
}

.event_archive_list .event_row_body .event_meta > *{
  width: auto !important;
  max-width: none;
  margin: 0;
  flex: 0 0 auto;
}

.event_archive_list .event_row_body .event_meta .event_limit_list{
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: .4rem;
}

.event_archive_list .event_row_body .event_meta .event_date,
.event_archive_list .event_row_body .event_meta .event_ribbon{
  display: inline-flex;
  width: auto !important;
}

  .event_limit{
    padding: .4rem .8rem;
    box-sizing: border-box;
    border: 1px solid rgba(0, 0, 0, .12);
    border-radius: 999px;
    background: #fff;
    color: var(--col_text);
    font-weight: 600;
    line-height: 1;
    box-shadow: inset 0 0 0 2px var(--col_gre);
}




















/* =========================
   EVENTS single page
========================= */
.event_single_meta_top{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .45rem .75rem;
}

.event_single .event_ribbon{
  position: static;
  top: auto;
  right: auto;
  bottom: auto;
  left: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  height: auto;
  padding: .45em .8em;
  border-radius: 999px;
  line-height: 1;
  writing-mode: horizontal-tb;
}

.event_archive .event_ribbon::after,
.event_single .event_ribbon::after{
  display: none;
}

.event_single .event_date{
  white-space: nowrap;
      font-weight: 600;
    font-size: 1.2rem;
}

.event_single .event_limit_list{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .4rem;
}

.event_single .news_card_tags{
  gap: .35rem .8rem;
}

.event_single_media img{
  aspect-ratio: auto;
}
.event_single .news_single_meta .news_single_date{
  display: block;
  width: 100%;
}


@media (max-width: 640px){
  .event_single_meta_top{
    align-items: flex-start;
  }

  .event_single .event_date{
    white-space: normal;
  }
}






















/* =========================
   RESEARCH archive page
========================= */
.research_archive .archive_link{
  /*margin-left: 0;*/
}

.research_archive_list{
  margin: 0;
  padding: 0;
  list-style: none;
  background: #fff;
  border-top: 1px solid rgba(0, 0, 0, .18);
  border-bottom: 1px solid rgba(0, 0, 0, .18);
}

.research_row{
  display: grid;
  grid-template-columns: 1fr;
  padding: 1rem 0;
  border-top: 1px solid rgba(0, 0, 0, .18);
}

.research_row:first-child{
  border-top: 0;
}

.research_row_link{
  display: grid;
  grid-template-columns: 180px 1fr;
  column-gap: 1rem;
  align-items: start;
  min-width: 0;
  color: var(--col_text);
  text-decoration: none;
}

.research_row_img{
  display: block;
  overflow: hidden;
  aspect-ratio: 3 / 2;
}

.research_row_img img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.research_row_body{
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.research_row_body .research_text_title{
  margin-top: 0;
  margin-bottom: .8rem;
  padding-bottom: .8rem;
  font-size: clamp(0.95rem, 0.888rem + 0.31vw, 1.1rem);
  line-height: 1.6;
}

.research_row_body .research_meta{
  margin-bottom: .8rem;
}

.research_row_body .research_text_affiliation{
  margin: 0 0 .25rem;
}

.research_row_body .research_text_position,
.research_row_body .research_text_name{
  margin: 0;
}

.research_row_body .event_more{
  margin-top: auto;
}

@media (hover: hover){
  .research_row_link:hover .research_text_title .researcher_main{
    text-decoration: underline;
  }

  .research_row_link:hover .research_row_img img{
    transform: scale(1.06);
    transition: transform .35s ease;
  }

  .research_row_link:hover .event_more{
    width: 5.5em;
    transition: width .18s ease;
  }
}

@media (max-width: 640px){
  .research_row{
    padding: 1rem 0;
  }

  .research_row_link{
    grid-template-columns: 92px 1fr;
    column-gap: .9rem;
  }

  .research_row_body .research_text_title{
    margin-bottom: .65rem;
    padding-bottom: .65rem;
    font-size: .95rem;
    line-height: 1.5;
  }

  .research_row_body .research_meta{
    margin-bottom: .65rem;
    font-size: .92em;
    line-height: 1.5;
  }
}




/*下部注意事項*/
.notice{
  line-height: 1.2;
  margin-top: 1em;
  padding-top: 1em;
  border-top: 1px solid var(--col_gre_60);
}
