/*
Theme Name: RIES2025-20251201
Theme URI: https://www.es.hokudai.ac.jp/ries2025
Author: 北海道大学 電子科学研究所
Author URI: https://www.es.hokudai.ac.jp/
Description: 北海道大学の電子科学研究紹介用 WordPress テーマ。Polylang対応、UIkit3を使用。
- サイドバーのメニュータイトルリンクを非表示 20250830
- ヘッダー修正、CSS修正 20250707
- フッター修正、エラーチェック 20250529
- カスタム投稿の更新者、更新日を反映 20250522
- 教員ページ削除・更新 を修正 20250428
- 研究成果で年で絞り込みエラー を修正 20250419
Version: 2.6
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ries2025
*/


/*===============================================================
>>> 全体設定　div,aside,main
===============================================================*/

*{/* clamp() 関数Safari対応 */
  min-height:0vw;
  min-height:0;}


/*--------------------------------------------------------------
# カラー　Color
--------------------------------------------------------------*/
:root{
  --riesBlue:#0076A8;
  --riesLightblue:#87CEEB;
  --riesYellow:#FFD700;
  --riesOrange:#FF7F50;
  --riesGreen:#98FF98;
  --riesCreem:#FEFCF5;
  --riesLightgray:#e9eaed;
  --riesDarkgray:#9A9A9A;
  --riesBlack:#333333;
  --riesDarkblack:#0F0F0F;
  /* UIkit 3のデフォルトカラーを変更 */
  --uk-muted-color: var(--riesDarkgray);
  --uk-emphasis-color: var(--riesDarkblack);
  --uk-primary-color: var(--riesBlue);
  --uk-secondary-color: var(--riesBlack);
  --uk-success-color: var(--riesGreen);
  --uk-warning-color: var(--riesYellow);
  --uk-danger-color: var(--riesOrange);  
}

/*--------------------------------------------------------------
# フォント　Google font
--------------------------------------------------------------*/
:root{/* フォントファミリーの定義 */
  --font-default:'Noto Sans JP', sans-serif;
  --font-mplus1p:'M PLUS 1p', sans-serif;
  --font-notosans:'Noto Sans JP', sans-serif;
  --font-agdasima:'Agdasima', sans-serif;
  --font-prompt:'Prompt', sans-serif;
  --font-yuseimagic:'Yusei Magic', sans-serif;
  --font-fredericka:'Fredericka the Great', cursive;}

/* UIkitのデフォルトフォントを上書き */
body,
h1, h2, h3, h4, h5, p{font-family:var(--font-default) !important;
  color:var(--riesBlack);}
html{font-size:1em;
	font-weight:400;
	line-height:1.5;
	color:var(--riesBlack);}
.uk-h1,.uk-h2,.uk-h3,.uk-h4,.uk-h5,.uk-h6,.uk-heading-2xlarge,.uk-heading-3xlarge,.uk-heading-large,.uk-heading-medium,.uk-heading-small,.uk-heading-xlarge,h1,h2,h3,h4,h5,h6{color:var(--riesBlack);}

/* カスタムフォントクラス */
.fnt-mplus1p{font-family:var(--font-mplus1p) !important;}
.fnt-notosans{font-family:var(--font-notosans) !important;}
.fnt-agdasima{font-family:var(--font-agdasima) !important;}
.fnt-prompt{font-family:var(--font-prompt) !important;}
.fnt-yuseimagic{font-family:var(--font-yuseimagic) !important;}
.fnt-fredericka{font-family:var(--font-fredericka) !important;}

/*--------------------------------------------------------------
# 共有　common
--------------------------------------------------------------*/
@media (min-width:960px){aside.uk-width-auto\@m{width:330px;}}
@media (min-width:1200px){aside.uk-width-auto\@m{width:430px;}}

a[target="_blank"]:not(.bt-gradation):not(:has(img)){position:relative;	padding-right:20px;}

/* 外部リンク用の_blankウインドウアイコン */
a[target="_blank"]:not(.bt-gradation):not(:has(i)):not(:has(img))::after{content:'';
	display:inline-block;
	vertical-align:middle;
	width:13px;
	height:13px;
	margin-left:5px;
	background-image:url(img/common/icn-window.png);
	background-size:contain;
	background-repeat:no-repeat;}

/* リンク全体の基本スタイル */
a{color:var(--riesBlack); border-bottom:1px dashed transparent; transition:border-bottom 0.2s ease-in-out, color 0.2s ease-in-out;}
a:hover{border-bottom:1px dashed var(--riesBlue); color:var(--riesBlue); text-decoration:none;}
a:hover img{opacity:0.5;}
li.lang-item a:hover img{opacity:1;}

/* 画像を含むリンクはボーダーなし & 影響を受けないように */
a:has(img){border-bottom:none !important; transition:none !important;}
a:has(img):hover{border-bottom:none !important;}
a img{transition:opacity 0.3s ease-in-out; border:none;}
a:hover.uk-slidenav{border-bottom:none;}
.uk-badge{background-color:var(--riesBlue);
  box-sizing:border-box;
  padding:2px 5px;
  border-radius:500px;
  vertical-align:middle;
  color:#fff !important;
  display:inline-block;
  text-align:center;
  white-space:normal; /* 折り返しを許可 */
  word-wrap:break-word; /* 長い単語を適切に折り返し */
  overflow-wrap:break-word;
  line-height:1.4;
  height:auto;}
a.uk-badge{color:var(--riesBlue); transition:opacity 0.2s ease-in-out, color 0.2s ease-in-out; font-size:0.9em;}
a.uk-badge:hover{opacity:0.5;}
.uk-breadcrumb > li > span{cursor:default; pointer-events:none; color:var(--riesBlack);} /* リンク無し */
.uk-breadcrumb > li > a{color:var(--riesBlue);}
.uk-breadcrumb > li > a:hover{color:var(--riesLightblue); border-bottom:1px dashed var(--riesLightblue); transition:opacity 0.2s ease-in-out, color 0.2s ease-in-out;}
.uk-breadcrumb > :nth-child(n+2):not(.uk-first-column)::before{content:">"; color:var(--riesBlack);}
.uk-breadcrumb>:last-child>span{color:var(--riesBlack);}
.uk-article-title{font-size:clamp(2.2em, 2.5vw, 1.6em); line-height:clamp(1.4, 1.4vw, 1.4);}
.uk-card.uk-card-default{color:var(--riesBlack); box-shadow:none; border-radius:5px;}
.uk-card.uk-card-default:hover{box-shadow:0px 6px 13px rgba(238, 238, 238, .8);}
.uk-card .uk-text-meta span{display:inline-block; margin-bottom:5px;}
.uk-text-meta{font-size:.9em;}
.uk-card-title{font-size:clamp(1.2rem, calc(0.8rem + 2vh), 1.4em);}
.cont-list .uk-hr{border-bottom:1px dashed var(--riesBlue); border-top:none; margin:20px 0 40px 0;}

@media(max-width:639px){.uk-width-3-4\@s.uk-padding\@s.uk-padding-remove-top{padding-top:20px !important;}}

/* em全体に基本設定（斜体） */
em::after{content:'\2005';}
:lang(en) em::after{content:none;}

/*===============================================================
>>> メニュー　MENU
===============================================================*/

#masthead > div:first-of-type{padding:0;}

/*--------------------------------------------------------------
# セカンダリメニューのgapを0に、secoondary言語スイッチャーとボタンメニュー
  メニューのgapを0に、言語スイッチャーとボタンメニュー
--------------------------------------------------------------*/
#secondaryMenu{
  display:flex;
  justify-content:flex-end;
  align-items:center;
	padding:10px 20px 0 20px;
}
#secondaryMenu .uk-navbar-right{display:flex; align-items:center;}


/* 言語切替polylang */
#secondaryMenu .lang-item a{
  display:inline-block;
  padding:4px 8px;
  border-radius:4px;
  font-size:0.9rem;
  background:#f7f7f7;
  transition:all 0.2s ease-in-out;
}
#secondaryMenu .lang-item a:hover{
  background:#e5e5e5;
  border-color:#999;
}

/* Search Box
--------------------------------------------- */
#secondaryMenu .search-container{position:relative; width:26px; padding-top:6px;}
#secondaryMenu .nav-overlay{position:absolute; top:100%; left:0; width:300px; z-index:1000;}
#secondaryMenu .uk-box-shadow-medium{box-shadow:0 5px 10px rgb(90 90 90 / 12%);}
#secondaryMenu .uk-background-default{background-color:#bfeaf3;}

/* Menu Divider
--------------------------------------------- */
#secondaryMenu .uk-flex{gap:clamp(0, 2.5vw, 8px);}
#secondaryMenu .uk-flex img{margin-left:5px;}
#secondaryMenu ul{list-style-type:none;}
#secondaryMenu ul.uk-flex, #secondaryMenu .uk-navbar-right{padding-left:0;}
#secondaryMenu ul.uk-flex > li > a{font-size:clamp(0.7em, 1vw, 0.8em);}

/* logo ロゴ */
@media(max-width:960px){#secondaryMenu .uk-logo img{max-width:230px;}}
@media(max-width:640px){#secondaryMenu .uk-logo img{max-width:280px;}	#secondaryMenu{padding:10px;}}

/* リストアイテム間に区切り線を追加（全体適用）テキスト用 */
#secondaryMenu ul.uk-flex > li:not(:last-child)::after{
	content:"｜";
	margin:0 4px;
	color:var(--riesDarkgray);
	font-size:14px;
}
/* Xアイコンのリストの後に区切り線を入れない */
#secondaryMenu ul.uk-flex > li:nth-last-child(3)::after,
#secondaryMenu ul.uk-flex > li:nth-last-child(2)::after{content:"";	margin:0;}

/* リストアイテム間に区切り線を追加（全体適用）画像用 */
/*
#secondaryMenu ul.uk-flex > li{
	border-right:1px solid var(--riesLightgray);
	padding:0 10px;
}
#secondaryMenu ul.uk-flex > li:nth-last-child(1),
#secondaryMenu ul.uk-flex > li:nth-last-child(2),
#secondaryMenu ul.uk-flex > li:nth-last-child(3),
#secondaryMenu ul.uk-flex > li:nth-last-child(7){border-right:none;	padding:0;}
/*

/* アイコンの間隔を調整 */
#secondaryMenu ul.uk-flex > li{display:flex;align-items:center;}

/* アイコンのツールチップ */
#secondaryMenu .uk-tooltip{background-color:var(--riesBlue);}

/* モバイル時(640px以下)にSNSアイコン表示 */
@media(max-width:640px){#social-icons{position:fixed;
		bottom:0;
		left:0;
		width:100%;
		display:flex;
		background:#0076A8;
		padding:0;
		z-index:1000;
  }

	#social-icons button{flex:1;
		height:50px;
		border-top:2px solid #FFF;
		border-bottom:none;
		border-right:2px solid #FFF;
		background:transparent;
		color:#FFF;
		display:flex;
		align-items:center;
		justify-content:center;
		font-size:20px;}

	#social-icons button:last-child{border-right:none;}
	#social-icons button a{color:#FFF; text-decoration:none;}
	#social-icons button a span{font-size:36px;}
	html, body{height:100%; overflow-x:hidden;}
}

/*--------------------------------------------------------------
# プライマリーメニュー　Prymary Menu
--------------------------------------------------------------*/

/* プライマリメニューのアクティブ時
--------------------------------------------- */
.uk-navbar-dropdown{display:none; /* 初期状態で非表示 */}
.uk-navbar-dropdown.uk-open{display:block; /* ドロップダウンが開いたときに表示 */}
.uk-navbar-dropdown{top:auto !important; left:auto !important;}

#primaryMenu{margin-bottom:20px;}
#primaryMenu ul.uk-navbar-nav{gap:clamp(20px, 2.5vw, 60px);}
#primaryMenu, #primaryMenu .uk-navbar-container{background-color:#FFF;}
#primaryMenu .uk-navbar-nav > li > a{font-size:clamp(0.8em, 1.5vw, 1em); min-height:50px; position:relative; /* 擬似要素のために相対位置を設定 */ color:var(--riesBlack); font-weight:500;}
#primaryMenu .uk-navbar-nav > li > a:hover{box-sizing:border-box; border-bottom:1px solid transparent; color:var(--riesBlue);}

/* 第1階層のアクティブメニュー項目の下に装飾を追加 */
#primaryMenu .uk-navbar-nav > li.current-menu-item > a::after,
#primaryMenu .uk-navbar-nav > li.current-menu-ancestor > a::after{content:'';
    display:block;
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:4px;
    background-color:var(--riesBlue);
    border-radius:10px;}

/* プライマリメニューのドロップダウンメニュー
--------------------------------------------- */
#primaryMenu .uk-nav > li > a{color:var(--riesBlack);}
#primaryMenu .uk-nav > li > a:hover{color:var(--riesBlue);}
#primaryMenu .uk-navbar-dropdown{border-radius:5px; min-width:260px; line-height:2;}

#primaryMenu .uk-navbar-dropdown ul.uk-nav ul.uk-nav-sub li a::before{content:'→';
	color:var(--riesBlue);
	font-size:0.8em;
	margin-right:0.3em;
}

#primaryMenu .uk-navbar-dropdown ul.uk-nav ul.uk-nav-sub ul.uk-nav{padding-left:0;}
#primaryMenu .uk-navbar-dropdown ul.uk-nav ul.uk-nav ul.uk-nav-sub{margin-left:0;}
#primaryMenu .uk-navbar-dropdown ul.uk-nav-sub ul.uk-nav ul.uk-nav-sub{list-style-type:none;}
#primaryMenu .uk-navbar-dropdown ul.uk-nav-sub ul.uk-nav ul.uk-nav-sub li a::before  /* 分野紹介 */{content:'→';
	color:var(--riesBlue);
	font-size:0.8em;
	margin-right:0.3em;
}

/* モバイルメニュー
--------------------------------------------- */
/* 全体設定 */
#offcanvas-nav{visibility:hidden;} /* footer.phpのjsで制御 */
#offcanvas-nav .uk-offcanvas-bar{background-color:var(--riesBlue); width:100%;}
#offcanvas-nav .uk-offcanvas-bar a, #offcanvas-nav{color:#FFF;}
#offcanvas-nav .uk-offcanvas-bar form input::placeholder, #offcanvas-nav .uk-offcanvas-bar form input::aria-label{color:#FFF;}

/* 検索ボックス */
#offcanvas-nav .uk-search-default{border:1px solid #FFF; border-radius:10px;}
#offcanvas-nav .uk-search-input{color:#FFF;}
#offcanvas-nav .uk-search-input::placeholder{color:#FFF;}
#offcanvas-nav .uk-search-icon svg{color:#FFF;}

/* セカンダリーメニュー */
#offcanvas-nav ul.uk-flex{list-style-type:none; padding-inline-start:0; gap:0;}
#offcanvas-nav ul.uk-flex > li{width:70px; border:#FFF 1px solid; padding:10px 0 0 0; min-height:45px; text-align:center;}
#offcanvas-nav ul.uk-flex > li > a{font-size:0.8em;}
#offcanvas-nav ul.uk-flex > li:not(.lang-item) > a > img{filter:brightness(0) invert(1);}
#offcanvas-nav ul.uk-flex > li:first-child{width:70px;}
#offcanvas-nav ul.uk-flex > li:first-child > a{color:#FFF; text-transform:uppercase;}

/* プライマリメニュー */
ul#mobile-menu > li{border-bottom:0.5px solid rgba(255, 255, 255, 0.5);}
ul#mobile-menu > li > a{font-size:.95em;}

ul#mobile-menu > li div.uk-accordion-content{margin-top:0;}
ul#mobile-menu .uk-accordion-content ul{margin:0 0 10px 7px;}

ul#mobile-menu ul.uk-accordion li a{font-size:.9em; margin-bottom:10px;}
ul#mobile-menu .uk-accordion-content > ul li{margin-bottom:8px;}


.uk-offcanvas-bar .uk-accordion-title::before, .uk-offcanvas-bar .uk-open>.uk-accordion-title::before{background-image:none;}
.uk-offcanvas-bar .uk-accordion-title::before{
	content: "+";
	color:#fff;
	font-size:26px;
	text-align:center;
	line-height:0.5;
}
.uk-open > .uk-accordion-title::before{content: "−";}



/* モバイルメニュートグルボタン（開くボタン）
--------------------------------------------- */
.menu-toggle-btn{
  display:inline-flex;
	justify-content:center;
	align-items:center;
	width:50px;
	height:auto;
}

.menu-toggle-btn > svg{
  width:60px;
	height:60px;
}

/* 閉じるボタン（オフキャンバス）
--------------------------------------------- */
.menu-close-btn {
  position: absolute;
  top: 10px;
  right: 10px;
  background: none;
  padding: 0;
  margin: 0;
  width: auto;
  height: auto;
}


/* 閉じるボタンのアイコン */
.menu-close-btn svg{
  width:60px;
	height:60px;
}

/* ホバー時のアニメーション */
.menu-close-btn:hover{
  background-color:var(--riesBlue);
	transform:scale(1.1);
	border-color:white
}


/*--------------------------------------------------------------
# グラデーション背景
--------------------------------------------------------------*/
#gradation-box{height:450px; position:relative;}

#ries-gradation{position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background:linear-gradient(-45deg, 
    #A8D8F0,
    #87CEEB,
    #5AAEE0,
    #C4E7F5,
    #AEE7D7,
    #CFC6E4,
    #A8D8F0
  );
  background-size:300% 300%;
  animation:GradientFlow 30s ease-in-out infinite;
  opacity:0.9;
	will-change:background-position;
	transform:translateZ(0);}

@keyframes GradientFlow{0%{background-position:0% 50%;}
  50%{background-position:100% 50%;}
  100%{background-position:0% 50%;}}

/* ヘッダータイトル（画像アイコン付き）
--------------------------------------------- */
#pagetitle{display:flex;
  align-items:flex-start; /* 縦中央揃え */
  gap:10px;
/*  max-width:90%; */
  margin-top:40px;
  margin-left:60px;}

#pagetitle img{width:34px;
  height:34px;
  flex-shrink:0; /* アイコンが縮まないように */
  object-fit:contain;
	margin-top:10px;}

#pagetitle h1{margin:0;
  font-size:2.5em;
  line-height:1.3;
  word-break:break-word;
  overflow-wrap:break-word;}

@media (max-width:1200px){#pagetitle{margin-top:10px;}
  #pagetitle > h1{font-size:1.8em;}
	#gradation-box{height:35vh;}}

@media (max-width:960px){#pagetitle{margin-top:30px; margin-left:10px;}
  #pagetitle > h1{font-size:1.5em;}
	#gradation-box{height:20vh;}}

@media (max-width:640px){#pagetitle{margin-top:20px; margin-left:10px; display:flex; align-items:center;}
  #pagetitle > img{width:25px; height:auto;}
  #pagetitle > h1{font-size:1em;}
	#gradation-box{height:20vh;}}

/* サイドバーメニュー（共通）
--------------------------------------------- */
@media(min-width:960px){aside:nth-child(1){padding-left:20px;}}
@media(min-width:1200px){aside:nth-child(1){padding-left:40px;}}
@media(min-width:1600px){aside:nth-child(1){padding-left:70px;}}

/* 親メニュー（見出し）をリンク無効化して見出し風にする */
#sidemenu > li.uk-parent > a {
  pointer-events: none;   /* クリック無効 */
  cursor: default;        /* テキストカーソルに */
  color: var(--riesBlue); /* 見出しカラー */
  font-size: 1.5rem;      /* 大きめ */
  font-weight: 400;
  line-height: 1.4;
  border-bottom: 1px solid var(--riesBlue);
  margin-bottom: 40px;
  padding-right: 20px;
}

aside:nth-child(1){
	background-image:url('img/common/bg-sidebar.png');
	background-repeat:no-repeat;
	background-position:top;
	min-height:935px;
}
/* news */
aside ul.uk-list.uk-list-divider{line-height:1.8;}
aside ul.uk-list.uk-list-divider li a{color:var(--riesDarkgray); font-size:1rem;}

aside h3.uk-h3,	/* news */
aside ul#sidemenu > li:first-child > a{
	color:var(--riesBlue);
	cursor:text;
	font-size:1.5rem;
	line-height:1.4;
	border-bottom:1px solid var(--riesBlue);
	margin-bottom:40px;
	padding-right:20px;
	font-weight:400;
}

aside ul#sidemenu ul.uk-nav-sub{padding-left:0;}
aside ul#sidemenu ul.uk-nav-sub ul{padding-left:16px;}
aside ul#sidemenu ul.uk-nav-sub li a{font-size:1rem; color:var(--riesDarkgray);}
aside ul#sidemenu ul.uk-nav-sub li a:hover{
	color:var(--riesBlue);
	border-bottom:1px dashed transparent;
}
aside ul.uk-list.uk-list-divider li a.uk-active,	/* news */
aside ul#sidemenu ul.uk-list > li > a.uk-active{
	color:var(--riesBlue);
}

/* Blue Arrow icon */
aside ul.uk-list.uk-list-divider li a.uk-active:not(.has-icon),
aside ul#sidemenu ul.uk-list > li > a.uk-active:not(.has-icon){
		position:relative;
		padding-right:25px; /* アイコン分のスペース確保 */
		min-height:15px; /* アイコンの高さ以上を確保 */
}

aside ul.uk-list.uk-list-divider li a.uk-active:not(.has-icon)::after,
aside ul#sidemenu ul.uk-list > li > a.uk-active:not(.has-icon)::after{
		content: '';
		position:absolute;
		right:0;
		top:50%;
		transform: translateY(-50%);
		width:15px;
		height:15px;
		background: url(img/common/icn-menu-arrow-blue.png) no-repeat center;
		background-size: contain;
}

/* uk-parent クラスを持つ親メニュー項目だけにボーダーを引く */
li.current-menu-parent.uk-open > a.has-icon{color:var(--riesBlack) !important;	border-bottom:1px solid #e5e5e5;}

/*===============================================================
>>> トップページ　TOP PAGE
===============================================================*/

/* セクション見出し section title
--------------------------------------------- */
h2.toptitle span:nth-child(1) img{
  margin-right:clamp(5px, 2.5vw, 20px);
  margin-bottom:20px;
  width:clamp(40px, 5vw, 79px);
  height:auto;
}

h2.toptitle span:nth-child(2){
  font-family:var(--font-agdasima);
  letter-spacing:clamp(0.01, 0.03,0.04em);
  font-size:clamp(1.2em, 3vw, 3.9em);
  font-weight:700;
  margin-right:40px;
  overflow-wrap:break-word;}

h2.toptitle span:nth-child(3){font-size:0.7em; color:#707070;}

@media(max-width:640px){h2.toptitle span:nth-child(3){display:none;}}

/*--------------------------------------------------------------
# スライドショー　slideShow
--------------------------------------------------------------*/
#topslide{height:calc(100vh - 156px); /* 画面の高さからメニューの高さを引く */
  min-height:500px;
  display:flex;
  align-items:center; /* 垂直方向の中央揃え */
  justify-content:center;
  overflow:auto;}

#topslide .uk-slideshow-items{height:100% !important; /* 親要素に合わせる */}

#topslide .uk-slideshow-items img{width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;}

#topslide .uk-overlay{
  position:relative;
  max-width:60%;
  background:linear-gradient(to right, rgba(0, 118, 168, 0.6), rgba(255, 255, 255, 0));
  padding:20px;
}
#topslide .uk-overlay{background:linear-gradient(to right, rgba(0, 118, 168, 0.3), rgba(255, 255, 255, 0)); max-width:clamp(100%, calc(80% + 1.67vw), 80%);}
#topslide .uk-overlay div.uk-h4{color:var(--riesDarkgray);  font-size:clamp(1rem, 2.5vw, 2.125rem);}
#topslide .uk-overlay h1.uk-heading-large{color:#FFF; font-size:clamp(2rem, 5vw, 4.625rem);}
#topslide .uk-overlay p{color:#FFF; font-size:clamp(1rem, 2vw, 1.5rem);}

#topslide .uk-dotnav>*>*{border:1px solid rgba(255, 255, 255, .8);}
#topslide .uk-dotnav>.uk-active>*{background-color:rgba(255, 255, 255, .8);}


/*--------------------------------------------------------------
# 受賞　award
--------------------------------------------------------------*/
#top-award a{transition:opacity 0.3s ease-in-out;}
#top-award .uk-card.uk-card-default:hover{box-shadow:0px 0px 13px rgba(238, 238, 238, .8);}

/* uk-cardの装飾変更
--------------------------------------------- */
#top-award .uk-card-default{border-radius:10px;
	background-color:transparent;
	color:white;
	border:1px solid white;
	margin-top:13px;
  border-bottom:2px solid white; /* 英語ページ用 */}
#top-award .uk-card-default h4, #top-award .uk-card-default h6{color:white; text-align:center;}

/* セクション背景 section background
--------------------------------------------- */
#top-award{background:linear-gradient(to right,#289CCE, #0C5D81); width:100%; height:100%;}
#top-award h2.toptitle span:nth-child(1) img{margin-bottom:20px;}
#top-award h2.toptitle span:nth-child(2){color:white;}
#top-award h2.toptitle span:nth-child(3){color:white;}

/* スライダーナビゲーション slider navigation
--------------------------------------------- */
#top-award .uk-dotnav a{color:white; border-color:white;}
#top-award .uk-dotnav .uk-active a{background-color:white;}

/*--------------------------------------------------------------
# イベント・セミナー　event&seminar
--------------------------------------------------------------*/
#top-event .uk-card.uk-card-default:hover,
#top-event .uk-card-default.uk-card-hover:hover{box-shadow:none;}
#top-event .uk-card-default .uk-card-footer{border:none;}

/*--------------------------------------------------------------
# （研究室）分野紹介・センター　research-divisions
--------------------------------------------------------------*/
#top-field .uk-position{bottom:16px;}
#top-field h3{font-size:1.3em; display:inline-block; border-bottom:3px solid var(--riesBlue);}
#top-field h4{font-size:1em; margin:0; padding:0; color:var(--riesBlue);}
#top-field h4 span{background-color:rgba(255,255,255,0.9); border-radius:0 3px 3px 0; padding:3px;}
/*#top-field img{border:3px solid var(--riesBlue);}

/*===============================================================
>>> フッター　FOOTER
===============================================================*/
footer #gmap a:hover{border-bottom:1px dashed rgba(0,0,0,0.01);}
footer #gmap h4{font-size:clamp(0.9rem, 2.5vw, 1.2rem);;}
footer #gmap h4 a:hover{border-bottom:1px dashed var(--riesBlue);}

/*===============================================================
>>> ボタングラデーション Button Gradation
===============================================================*/

/* 青 blue
--------------------------------------------- */
a.bt-gradation{display:inline-flex;
  align-items:center;
  padding:15px 30px 15px 30px;
  border-radius:40px;
  color:#fff;
  font-size:16px;
  text-decoration:none;
  position:relative;
  overflow:hidden;
  background:linear-gradient(to right, var(--riesBlue), #87CEEB);
  z-index:0;}

a.bt-gradation span.uk-icon{margin-right:20px;
  margin-left:auto;
  transform:translateX(10px); /* アイコンを少し右に移動 */}

a.bt-gradation::before{content:"";
  display:block;
  position:absolute;
  top:-1%;
  left:-1%;
  width:102%;
  height:102%;
  background-color:var(--riesBlue);
  transition:transform 0.4s;
  transform-origin:left top;
  transform:scale(0, 1);
  z-index:-1;}

a.bt-gradation:hover{color:#fff;}
a.bt-gradation:hover::before{transform:scale(1, 1);}

/* 白 wthite
--------------------------------------------- */
.bt-gradation-wt{display:inline-block;
  padding:15px 20px 15px 30px;
  border-radius:40px;
  color:#fff;
  font-size:16px;
  text-decoration:none;
  position:relative;
  overflow:hidden;
  background-color:transparent;
  border:1px solid #fff;
  z-index:1;
  transition:background-color 0.4s;}

.bt-gradation-wt:hover{text-decoration:none; color:white; border-bottom:1px solid #FFF;}

.bt-gradation-wt::before{content:"";
  display:block;
  position:absolute;
  z-index:-1;
  top:-1%;
  left:-1%;
  width:102%;
  height:102%;
  background-color:rgba(0, 118, 168, 0.8);
  transform-origin:left top;
  transform:scale(0, 1); /* 初期状態で背景を隠す */
  transition:transform 0.4s;}

.bt-gradation-wt:hover::before{transform:scale(1, 1); /* 背景スライドのアニメーション */}

/*===============================================================
>>> 各テンプレートパーツスタイル
===============================================================*/


/* 固定ページ template-parts/content-page.php
--------------------------------------------- */
#riesPage #mainconts h2{border-top:2px solid var(--riesBlack);}
#riesPage #mainconts .uk-card.uk-card-default{box-shadow:0px 6px 13px rgba(238, 238, 238, .8);}

/* Buttons */
#riesPage #mainconts .wp-block-button a{border-bottom:none; opacity:1;}
#riesPage #mainconts .wp-block-button a:hover{border-bottom:none; color:currentColor; opacity:0.6; transition: opacity 0.6s ease;}

/* Text Link */
#riesPage #mainconts a:not(:has(img)){border-bottom:1px solid var(--riesBlue); opacity:1;}
#riesPage #mainconts a:not(:has(img)):hover{
	color:currentColor;
	opacity:0.6;
	transition: opacity 0.7s ease;
	border-bottom:1px dashed var(--riesBlue);
}

/* コンテンツリストのスタイル　template-parts/content-list.php
--------------------------------------------- */


/* コンテンツのスタイル　template-parts/content.php
--------------------------------------------- */
#mainconts div.uk-article-meta{border-bottom:1px solid #9C9C9C; padding-bottom:10px; line-height:1.8;}
#mainconts h1{font-size:clamp(1.8em, 2.5vw, 2em); padding:1rem 0;}
#mainconts h2{
  font-size:clamp(1.6em, 2.5vw, 1.9em);
  padding:.6rem 0;
  border-bottom:2px solid var(--riesBlack);
}
#mainconts h3{position:relative;
  padding:0.2rem 0;
  border-bottom:2px solid var(--riesBlack);
	display:inline-block;
	margin-bottom:10px;}
#mainconts h3:before{position:absolute;
  bottom:-2px;
  left:0;
  width:20%;
  height:2px;
  content:'';
  background:var(--riesOrange);}
#mainconts h3{font-size:clamp(1.4em, 2.5vw, 1.7em);}
#mainconts h4{font-size:clamp(1.2em, 2.5vw, 1.4em); border-left:3px solid var(--riesBlue); padding-left:.6rem;}
#mainconts p{font-size:1.1em; line-height:1.8;}
#mainconts a:not(:has(img)){border-bottom:1px solid var(--riesDarkgray);}
#mainconts a:not(:has(img)):hover{border-bottom:1px solid var(--riesBlue);}
#mainconts table{margin:0 0 40px 0;}
#mainconts table, #mainconts tr, #mainconts th, #mainconts td{border:1px solid var(--riesLightgray); font-weight:normal;}
#mainconts td{padding:15px 10px;}
#mainconts th{white-space:nowrap;}
#mainconts thead{border-color:var(--riesLightgray);}

#mainconts h1:not(:first-of-type),
#mainconts h2:not(:first-of-type){margin-top:60px; margin-bottom:40px;}
#mainconts h3:not(:first-of-type){margin-top:60px; margin-bottom:20px;}
#mainconts h4:not(:first-of-type){margin-top:40px;}
#mainconts h1:first-of-type,
#mainconts h2:first-of-type{margin-top:0; margin-bottom:40px;}

/* 固定ページ 入学希望の方へ
--------------------------------------------- */

#riesPage #mainconts h2.education{
  background-image:url(img/common/ict-education-h2.png);
  background-repeat:no-repeat;
  border:none;
  padding-top:0;
  padding-left:40px;
  font-weight:600;
}
#riesPage #mainconts h4.education{
  background-image:url(img/common/ict-education-h4.png);
  background-repeat:no-repeat;
  background-position:center;
  font-size:clamp(1.2em, 2.5vw, 1.1em);
  border-left:none;
  padding-left:none;
  padding-bottom:40px;
}

/* ページネーション pagenation
--------------------------------------------- */
#mainconts .uk-pagination a{border-bottom:1px solid transparent;}

/*===============================================================
>>> カスタム投稿テンプレート
===============================================================*/

/* 部門紹介・センター　archive-research-divisions.php
--------------------------------------------------------------*/
#research-divisions .uk-position{bottom:16px;}
#research-divisions a > img{border:solid 2px var(--riesBlue);}
#research-divisions h2{font-size:1.4em; display:inline-block; border-bottom:solid 2px var(--riesBlue); padding-bottom:3px;}
#research-divisions h3{font-size:clamp(0.9em, 1vw, 1.1em); margin:0; padding:0;}
#research-divisions h3 span{background-color:rgba(0, 118, 168, 0.9); border-radius:0 6px 6px 0; padding:3px 6px 3px 3px; color:#FFF; margin-left:2px;}
#research-divisions h3 span a{color:var(--riesBlue);}
#research-divisions h3 span a:hover{box-sizing:border-box; border-bottom:1px solid transparent;}

/* English Page */
html[lang="en-US"] #research-divisions h3{font-size:0.9em; letter-spacing:0.05em;}
html[lang="en-US"] #research-divisions h3 span{padding:3px 6px; word-spacing:0.05em; display:inline-block;}


/* 研究者インタビュー　taxonomy-researchers-tag-interview.php
--------------------------------------------------------------*/
#interview .fc-position, #interview .fc-name, #interview .fc-enname{margin-bottom:15px;}
#interview .fc-position > span, #interview .fc-name > span, #interview .fc-enname > span{background-color:var(--riesGreen); padding:5px;}
#interview .fc-position{}
#interview .fc-name{font-size:1.8em;}
#interview .fc-enname{}
#interview .wp-block-media-text__content{padding:0 20px;}

/* 教員　archive-researchers.php
--------------------------------------------------------------*/
main#researchers h2{border-bottom:var(--riesBlue) 2px solid;}

/* A-Zアルファベットボックス */
main#researchers nav.kana-navigation a{border:1px solid var(--riesBlack); margin-right:5px;}
main#researchers nav.kana-navigation a.uk-card.uk-card-default{border-radius:0;}
main#researchers nav.kana-navigation a.uk-card-body{padding:10px 40px;}

/* アルファベットタイトル */
main#researchers section.uk-section > h3{border-bottom:var(--riesBlue) 2px solid;}
main#researchers section.uk-section > h3 > span{color:#FFF; background-color:var(--riesBlue);	display:inline-block;	padding:5px 15px;}
main#researchers a.no-data{pointer-events:none; /* クリックを無効化 */
	opacity:0.5; /* 見た目を薄く */
	cursor:not-allowed; /* カーソルを変更 */
	background-color:#f0f0f0; /* 背景色をグレーに */}

/* 職員リスト */
main#researchers table td img{width:100%; height:auto; max-width:100%; aspect-ratio:1 /1; object-fit:cover;}
main#researchers table td:nth-child(1){width:18%;}
main#researchers table td:nth-child(2){width:20%; text-transform:uppercase; font-size:clamp(1em, 2vw, 1.3em);}
main#researchers table td:nth-child(3){width:14%; color:var(--riesDarkgray); font-size:clamp(0.7em, 2vw, .9em);}
main#researchers table td:nth-child(4){width:8%; font-size:clamp(0.75em, 2vw, .8em);}
main#researchers table td:nth-child(5){width:40%;}
main#researchers table > tbody > tr > td > a.uk-button-default{font-size:0.8em; background-color:var(--riesLightgray); line-height:1.2}
main#researchers table > tbody > tr > td > a.uk-button-default:hover{background-color:var(--riesLightblue);
  border-color:var(--riesLightblue);
  border-bottom:1px solid var(--riesLightblue);}

/* 中サイズ (m): テーブルを横並び */
@media (min-width:768px){
  main#researchers .uk-table{
    display:table;
    width:100%;
  }
  main#researchers .uk-table td, main#researchers .uk-table th{
    display:table-cell;
    vertical-align:middle;
  }
}

/* 小サイズ (s): テーブルを縦並び */
@media (max-width:767px){
  .uk-table{
    display:block;
    width:100%;
    overflow-x:auto; /* 横スクロール対応 */
  }
  .uk-table td, .uk-table th{
    display:block;
    width:100%;
    text-align:left;
  }
}
/* モバイルでセンタリング */
@media(max-width:640px){main#researchers table td{text-align:center;}}



/* 研究部門・センター　single-research-divisions.php
--------------------------------------------------------------*/
main#research-dvi h2{border-bottom:2px solid var(--riesBlue); padding-bottom:10px;}
main#research-dvi .uk-card-media-top img{border:1px solid var(--riesLightgray);}
main#research-dvi .uk-inline > div{right:10px;}
main#research-dvi .uk-inline > div:nth-of-type(1){margin-top:10px; font-size:0.9em;}
main#research-dvi .uk-inline > div:nth-of-type(2){margin-top:35px; font-size:1.1em; background-color:var(--riesOrange); padding:0 4px;}
main#research-dvi .uk-inline > div:nth-of-type(3){margin-top:62px; color:#e3e3e3; background-color:rgb(0 118 168 / 50%); font-size:0.9em; padding:0 4px;}
/* 英語ページでの非表示 */
html[lang="en-US"] main#research-dvi .uk-inline > div:nth-of-type(3){display:none;}

/*--------------------------------------------------------------
# グラデーション背景
--------------------------------------------------------------*/

#gradation-box{height:450px;
  position:relative;}

#move-gradation{position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background:linear-gradient(-45deg, 
    #A8D8F0,
    #87CEEB,
    #5AAEE0,
    #C4E7F5,
    #AEE7D7,
    #CFC6E4,
    #A8D8F0
  );
  background-size:300% 300%;
  animation:GradientFlow 30s ease-in-out infinite;
  opacity:0.9;
	will-change:background-position;
	transform:translateZ(0);}

@keyframes GradientFlow{0%{background-position:0% 50%;}
  50%{background-position:100% 50%;}
  100%{background-position:0% 50%;}}


/*--------------------------------------------------------------
# WordPress画像ブロックの配置制御（UIKit上書き用）
--------------------------------------------------------------*/

/* センタリング - 投稿本文内の画像ブロック */
.entry-content .wp-block-image.aligncenter, .post-content .wp-block-image.aligncenter, article .wp-block-image.aligncenter {
 display: table;
 margin-left: auto;
 margin-right: auto;
 text-align: center;
}
.entry-content .wp-block-image.aligncenter img, .post-content .wp-block-image.aligncenter img, article .wp-block-image.aligncenter img {
 display: block;
 margin-left: auto;
 margin-right: auto;
}
/* 右寄せ */
.entry-content .wp-block-image.alignright, .post-content .wp-block-image.alignright, article .wp-block-image.alignright {
 display: table;
 float: right;
}
/* 左寄せ */
.entry-content .wp-block-image.alignleft, .post-content .wp-block-image.alignleft, article .wp-block-image.alignleft {
 display: table;
 float: left;
}
/* figureタグの配置 */
.entry-content figure.wp-block-image.aligncenter, .post-content figure.wp-block-image.aligncenter, article figure.wp-block-image.aligncenter {
 margin-left: auto;
 margin-right: auto;
}

.photo-row {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

/* 内部のグループのflexを殺す */
.photo-row .wp-block-group {
    display: contents;
}

.photo-row figure {
    display: flex;
    flex-direction: column;
    margin: 0; /* デフォの余白を消す */
}

.photo-row figure img {
    display: block;
    width: 100%;
    height: auto;
}

.photo-row figure figcaption {
    margin-top: 8px; /* 必要なら調整 */
    text-align: center; /* 任意 */
}

.ja-small {
  font-size: 0.9em;
  line-height: 1.2;
}
.en-small {
    font-size: 0.7em;
    line-height: 1.2;
    font-family: "Noto Sans JP",sans-serif;
}

.ja-large {
    font-size: 1.2em;
    line-height: 1.3;
}