
/* ------------------------------
　　管理画面-LiteEditor
------------------------------ */
.acms-admin-form textarea,
.acms-admin-form .entryFormLiteEditor {
/*font-family: Georgia, 'Times New Roman', Palatino, serif;*/
font-size: 17px;
}
@media print {
  .acms-admin-form textarea,
  .acms-admin-form .entryFormLiteEditor {
/*	font-family: Georgia, 'Times New Roman', Palatino, serif;*/
    font-size: 17px;
  }
}

#adminBox,.acms-admin-edit-info,.acms-form-group,.titleWrapper,.acms-admin-btn-action-group{
  font-family: Arial, Helvetica, 'Helvetica Neue', sans-serif;
}


/* 本文- 均等割付 justify */
@media screen and (min-width: 48rem) {
.entry-style p,
.entry-style .entry-text-unit dl dd{
	text-align: justify;
  }
  .entry-style .profile-container p {
	text-align: left;
  }
}

/* ---- 外部リンク ---- */
.entry-style .entry-text-unit a[target="_blank"][rel~="noopener"]:not([href^="mailto"])::after {
  content: "\f08e";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  margin: 0 0.2rem;
	font-size: 75%;
}

a[target="_blank"][rel~="noopener"] h2.media-title.opendata::after {
  content: "\f08e";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  margin: 0 0.2rem;
	font-size: 75%;
}
a[target="_blank"][rel~="noopener"] .news-title::after {
  content: "";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  margin: 0 0.2rem;
	font-size: 75%;
}

/* ---- メールリンク ---- */
a[href^="mailto:"],a.mail-link,
.entry-style .entry-text-unit a[href^="mailto:"],
.entry-style .entry-text-unit a.mail-link{
  color: currentcolor;
  text-decoration: none;
  border-bottom: 1px dashed;
}
a[href^="mailto:"]:hover,a.mail-link:hover,
.entry-style .entry-text-unit a[href^="mailto:"]:hover{
  text-decoration: none;
}
.mail-link{display: inline-block}
.mail-link .domain::before {
  content: "@";
}

.column-media-right.none + .clearHidden {
  display: none; /* 回り込みを邪魔する clearHidden を消す */
}
.entry-style .column-media-right.none{
float: right; 
margin-left: 16px;
margin-bottom: 1rem;
width: 350px;      
max-width:100%;
display: block;
}
.entry-style .column-media-right.none + .entry-text-unit {
  overflow: visible; 
}

/* Responsive */
@media (max-width: 640px) {
.entry-style .column-media-right.none{
  float: none; 
  }
}

/* 画像2枚並び解除用スペース */
.entry-style .clear-col{
margin-bottom:2rem;	
}

.entry-style p.figure-title{
	text-align: center;
}

/* 画像ページタイトルクレジット */
.credit {
  font-size: 12px;
  color: var(--muted); 
  text-align: right; 
  margin: 5px 20px 0 0;
}

/* ---- NEWS (text-only, whole-row link) ---- */
/* 波SVGのスタイル */
.wave-top {
  display: block;
  width: 100%;
  height: 80px;
}

.home-news {
  background: #f0f4fa;
  padding: 0px 20px 40px;  
  position: relative;
  overflow: hidden;
}

.home-container {
  position: relative;
  z-index: 2; 
}

/* ニュースリスト */
ul.news-list {
  list-style: none;
  margin: 0;
  padding: 0;
  border: 1px solid var(--rule);
  border-radius: 12px;
  overflow: hidden;
  background-color: #fff;
	  font-size: .9rem;
}

.news-list li + li {
  border-top: 1px solid var(--rule);
}

.news-list a {
  display: grid;
  grid-template-columns: 100px 1fr; /* 日付 / タイトル */
  gap: 16px;
  align-items: baseline;
  padding: 14px 16px;
  text-decoration: none;
  color: var(--ink);
  transition: background-color .15s ease, color .15s ease;
}

.news-list a:hover {
  background: var(--hover);
}

.news-date time {
  display: block;
  line-height: 1.4;
  color: var(--color-gray90);
  white-space: nowrap;
}

.news-title {
  line-height: 1.3;
}

.headline-category {
  color: #666;
  margin-right: 0.4em;
}

.news_type {
  font-size: .9rem; 
  margin-left: 0.4em;
display: inline-block;
/*  font-style: italic;*/
  color: var(--color-gray80);
}

/* NEWラベル（TOPページ用） */
.acms-label-danger {
  display: inline-block;
  margin-left: 0.5em;
  padding: 0 4px;
  font-size: 0.65rem;
  line-height: 1.2;
  font-weight: bold;
  background-color: #b71c1c;
  color: #fff;
  border-radius: 3px;
}

/* “View all news” */
.news-more {
  margin-top: 14px;
  text-align: right;
}

.news-more a {
  color: var(--brand);
  text-decoration: none;
  font-weight: 600;
  padding-bottom: 2px;
}

.news-more a:hover {
  border-bottom-color: currentColor;
}

/* Responsive */
@media (max-width: 640px) {
  .news-list a {
    grid-template-columns: 1fr;
  }
  .news-date {
    margin-bottom: 4px;
  }
}





/* ------------------------------
　　フッター
------------------------------ */

footer.footer {
  background-color: var(--brand); 
  color: white;
  padding: 15px 20px 15px;
  text-align: center;
 line-height:1.2;
}

.footer-container {
  max-width: 900px;
  margin: 0 auto;
}

.footer-logo img {
  height: 40px;
  margin-bottom: 20px;
}

.footer-nav {
  list-style: none;
  display: flex;
  justify-content: center;
  gap: 20px;
  margin-bottom: 20px;
  padding: 0;
}

.footer-nav li a {
  color: white;
  text-decoration: none;
  transition: opacity 0.3s;
}

.footer-nav li a:hover {
  opacity: 0.7;
}

footer p {
  font-size: 14px;
  opacity: 0.7;
}


/* TOPにもどる */
#back-to-top {
  position: fixed;
  bottom: 55px;
  right: 15px;
  width: 30px;
  height: 30px;
  background-color: rgba(0, 52, 109, 0.6);
  border: none;
  border-radius: 50%;
  cursor: pointer;
  display: none; 
  align-items: center;
  justify-content: center;
  font-size: 16px;
  color: white;
  z-index: 1000;
  transition: background-color 0.2s;
}

#back-to-top:hover {
  background-color: rgba(0, 52, 109, 0.9);
}


/* ------------------------------
　　ヘッダー
------------------------------ */

.header-wrap {
  width: 100%;
  background: #fff;
  z-index: 100000;
}

.header {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 30px;
}
/* 親に overflow がある場合は外す */
.header, .header-wrap {
  overflow: visible;
}
/* ロゴ */
.logo {
  font-family: "skia-cc", sans-serif;
  display: flex;
  align-items: center;
  text-decoration: none;
  color: var(--brand);
}
.logo-icon {
  height: 55px;
  margin-right: 10px;
}


.logo-text {
  display: flex;
  flex-direction: column;
  line-height: 1.1;
}

.logo-main { font-size: 1.2rem; font-weight: 500; }
.logo-sub { font-size: 0.7rem; opacity: 0.8; }
a.logo:hover { color: var(--accent); }

.header-item-title .header-title-link {
  display: flex;
  align-items: center;
}
.header-logo {
  max-height: 60px;
  margin-right: 10px;
}

/* ------------------------------
  PCナビ全体
------------------------------ */
.global-nav {
  display: flex;
  justify-content: center; /* ナビを中央寄せ */
  align-items: center;
  z-index: 100000;

}

/* スマホ時にPCナビを非表示 */
/*@media (max-width: 63.99875rem) { *//* 64rem = 1024px */
@media (max-width: 640px) {
  .global-nav {
    display: none;
  }
  [id] {
    scroll-margin-top: 70px;
  }

}

.global-nav-list {
  display: flex;
  list-style: none;
  gap: 60px; /* ←ここがメニュー間のスペース */
  padding: 0;
  margin: 0;
}

.global-nav-item {
  position: relative;
}

.global-nav-link {
font-family: 'Roboto', Helvetica, Arial, sans-serif;
  display: inline-block;      /* 高さをテキストに合わせる */
  position: relative;
  padding: 18px 0;                 /* 上下の余白を削除 */
  font-size: 16px;
  color: var(--brand);
  text-decoration: none;
}

/*.is-expand > .global-nav-link {
  padding: 0 1.25rem 0 0;
}*/
/*.is-expand > .global-nav-link::before {
  position: absolute;
  right: 0;
  display: block;
  width: 0.5rem;
  height: 0.5rem;
  margin-top: 0.5rem;
  border-top: 2px solid var(--accent);
  border-right: 2px solid var(--accent);
  transform: rotate(135deg);
  content: "";
}*/

/* 下線アニメーション */
.global-nav-link::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;                  /* テキストの下に固定 */
  width: 100%;
  height: 2px;
  background-color: var(--accent);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.2s ease;
}



/* 初期状態 */
.global-nav-item > .global-nav-link::after {
  transform: scaleX(0);
}
.global-nav-link:hover {
  text-decoration: none;
}
/* hover時と .stay の時だけ表示 */
.global-nav-link:hover::after {
  transform: scaleX(1);
}
.global-nav-item.stay > .global-nav-link::after {
  transform: scaleX(1);
}

/* サブメニュー */
.global-nav-item > .global-nav-list {
  display: none;
  position: absolute;
  top: 100%;           /* 親リンクのすぐ下に表示 */
  left: 0;
  min-width: 12rem;
  background-color: #fff;
  border-radius: 4px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
  z-index: 1000;
  padding: 0;               /* 余計な上下paddingは削除 */
  margin: 0;                /* 余計なmargin削除 */
}
/* サブメニューの li */
.global-nav-item > .global-nav-list .global-nav-item {
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--color-gray30);

}
/* サブメニューリンク */
.global-nav-item > .global-nav-list .global-nav-link {
  display: block;
  font-size: 16px;
  padding: 1.2rem 1.2rem;  /* 高さはpaddingで調整 */
/*  height: auto;*/
  text-align: left;
  color: var(--brand);
  background: #fff;
  line-height: 1.2;
  margin: 0;                 /* 余計な余白を削除 */

}

/* ホバー・フォーカス時 */
.global-nav-item > .global-nav-list .global-nav-link:hover,
.global-nav-item > .global-nav-list .global-nav-link:focus,
.global-nav-item > .global-nav-list .global-nav-link:active {
  color: var(--color-gray100);
  background-color: var(--color-gray10);
  text-decoration: none;
}

/* サブメニュー表示 */
.global-nav-item:hover > .global-nav-list,
.global-nav-item:focus-within > .global-nav-list {
display: block; /* flexではなくblockにする */
flex-direction: column;
}

/* 最後のサブメニューは右寄せ */
.global-nav-item:last-child > .global-nav-list {
  right: 0;
  left: auto;
}

/* ------------------------------
  モバイルメニュー
------------------------------ */
/*@media (min-width: 64rem) {  64rem = 1024px */
@media (min-width: 640px) {

  .global-nav-mobile-menu,
  .global-nav-mobile-menu-btn {
    display: none; /* モバイルメニュー非表示 */
  }
}
/*@media (max-width: 63.99875rem) {  64rem = 1024px */
@media (max-width: 639px) {

  .header {
  padding: 5px 10px;
  z-index: 100000;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);

  }
.logo-icon {
  height: 50px;
  margin-right: 10px;
}
.header-wrap {
  position: sticky;
  top: 0;             /* 画面上端に固定 */
  width: 100%;
  background: #fff;
  z-index: 1000;      /* 他の要素より前面に表示 */
}
  .is-locked {
    overflow: hidden;
  }	
}

.global-nav-mobile-menu-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 3.5rem;
  height: 3.5rem;
  text-decoration: none;
/*  background: var(--color-primary);*/
}
.global-nav-mobile-menu-btn:active, .global-nav-mobile-menu-btn:focus {
  outline: 0;
}

/*.global-nav-mobile-menu-text {
  margin: 0.5rem 0 0;
  color: var(--color-white);
  font-size: 0.8rem;
  line-height: 1;
}*/

/* トグルメニューアイコン */
.global-nav-mobile-icon-toggle-menu {
  position: relative;
  display: inline-block;
  width: 1.25rem;
  height: 2px;
  margin: 0.5rem auto;
  vertical-align: middle;
  background-color:var(--brand);
  border-radius: 1px;
  transition: 0.1s all;
}
.global-nav-mobile-icon-toggle-menu::before, .global-nav-mobile-icon-toggle-menu::after {
  position: absolute;
  display: block;
  width: 100%;
  height: 2px;
  background-color: var(--brand);
  border-radius: 1px;
  transition: 0.3s all;
  content: "";
}
.global-nav-mobile-icon-toggle-menu::before {
  top: -0.4rem;
}
.global-nav-mobile-icon-toggle-menu::after {
  bottom: -0.4rem;
}
[aria-expanded=true] .global-nav-mobile-icon-toggle-menu {
  background: transparent;
}
[aria-expanded=true] .global-nav-mobile-icon-toggle-menu::before {
  width: 1.25rem;
  transform: translate(0, 0.4rem) rotate(45deg);
}
[aria-expanded=true] .global-nav-mobile-icon-toggle-menu::after {
  width: 1.25rem;
  transform: translate(0, -0.4rem) rotate(-45deg);
}


.global-nav-mobile {
  position: fixed;       /* スクロールしても追従 */
  top: 0;
  right: 0;              /* 右端に寄せる */
  height: 100%;
  width: 80%;            /* 幅を画面幅の80％に */
  max-width: 300px;      /* 最大幅 */
  margin: 0;             /* 画面端に合わせる */
  padding-top: 4rem;
  background-color: var(--color-white);
  box-shadow: -4px 0 8px rgba(0,0,0,0.1); /* スライド感を演出 */
  transform: translateX(100%); /* 初期は右側に隠す */
  transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  z-index: 10001;
  overflow-y: auto;             /* 縦スクロール可能にする */
  -webkit-overflow-scrolling: touch; /* iOSで慣性スクロール */
}

/* メニューが開いた状態 */
.global-nav-mobile.is-active,
.global-nav-mobile.is-opened {
  display: block;
  transform: translateX(0); /* スライドイン */
  opacity: 1;
}

/* ハンバーガーは右上に固定 */
/*
.global-nav-mobile-menu-btn {
  position: fixed;
  top: 0.5rem;
  right: 0.5rem;
  z-index: 10002;
}*/
.global-nav-mobile.is-opened {
  opacity: 1;
}

/* モバイルメニュー開いた時
------------------------------ */
.global-nav-mobile-inner {
  display: flex;
  align-items: center;
  box-sizing: border-box;
  padding: 0 1.25rem;
}

.global-nav-mobile-menu-btn {
  position: fixed;
  top: 0px;
  right: 0;
  z-index: 10002;

}

.global-nav-mobile-navbar {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  padding: 0 0 50px;
}

.global-nav-mobile-group {
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}
.global-nav-mobile-navbar > .global-nav-mobile-group {
  border-top: 1px solid var(--color-gray30);
}

.global-nav-mobile-item {
  font-weight: bold;
  font-size: 1rem;
}
.global-nav-mobile-item.is-expand .global-nav-mobile-link {
  position: relative;
}
.global-nav-mobile-item.is-expand .icon-expand {
  margin-top: 5px;
}
.global-nav-mobile-item.is-expand .icon-expand::before, .global-nav-mobile-item.is-expand .icon-expand::after {
  position: absolute;
  display: block;
  width: 0.8rem;   /* 横幅を小さく */
  height: 2px;     /* 線の太さを細く */
  background-color: var(--color-gray100);
  border: 0;
  border-radius: 1px;
  transition: 0.3s all;
  content: "";
}
.global-nav-mobile-item.is-expand .icon-expand::before {
  transform: translate(-2px, -0.5rem) rotate(90deg);
}
.global-nav-mobile-item.is-expand .icon-expand::after {
  transform: translate(-2px, -0.5rem);
}
.global-nav-mobile-item.is-expand .icon-expand.is-close::before, .global-nav-mobile-item.is-expand .icon-expand.is-close::after {
  width: 0.8rem;   /* 横幅を小さく */
  height: 2px;     /* 線の太さを細く */
  transform: translate(-1px, -0.25rem); /* 必要に応じ縦中央調整 */
}
.global-nav-mobile-item .global-nav-mobile-group {
  display: none;
}
.global-nav-mobile-item .global-nav-mobile-item {
  font-size: 0.8rem;
}
.global-nav-mobile-item .global-nav-mobile-item .icon-expand::before, .global-nav-mobile-item .global-nav-mobile-item .icon-expand::after {
  content: none;
}
.global-nav-mobile-item .global-nav-mobile-item .global-nav-mobile-link:link, .global-nav-mobile-item .global-nav-mobile-item .global-nav-mobile-link:visited, .global-nav-mobile-item .global-nav-mobile-item .global-nav-mobile-link:hover, .global-nav-mobile-item .global-nav-mobile-item .global-nav-mobile-link:active, .global-nav-mobile-item .global-nav-mobile-item .global-nav-mobile-link:focus {
  color: var(--color-gray90);
}

.global-nav-mobile-link {
  position: relative;
  display: block;
  padding: 1rem 0;
  color: var(--color-gray100);
  border-bottom: 1px solid var(--color-gray30);
}
.global-nav-mobile-link:link, .global-nav-mobile-link:visited, .global-nav-mobile-link:hover, .global-nav-mobile-link:active, .global-nav-mobile-link:focus {
  color: var(--color-gray100);
  text-decoration: none;
}
.global-nav-mobile-link.is-cta {
  margin: 1rem 0 0;
  padding: 1rem 2rem;
  color: var(--color-text-inverse);
  text-align: center;
  background: var(--color-primary);
  border-radius: 6px;
}
.global-nav-mobile-link.is-cta .icon-expand {
  right: 2rem;
}
.global-nav-mobile-link.is-cta .icon-expand::before {
  border-color: var(--color-text-inverse);
}
.global-nav-mobile-item.is-expand .global-nav-mobile-item .global-nav-mobile-link::before {
  display: inline-block;
  margin-right: 0.5rem;
  vertical-align: middle;
  border: 0.25rem solid transparent;
  border-left: 0.5rem solid rgba(0, 0, 0, 0.4);
  content: "";
}

.global-nav-mobile .icon-expand {
  position: absolute;
  top: 50%;
  right: 1.25rem;
  margin-top: -0.25rem;
}
.global-nav-mobile .icon-expand::before {
  position: absolute;
  display: block;
  width: 0.5rem;
  height: 0.5rem;
  border-top: 2px solid var(--color-gray100);
  border-right: 2px solid var(--color-gray100);
  transform: rotate(45deg);
  content: "";
}

.global-nav-mobile-side-group {
  width: 100%;
  margin: 0.5rem 0 0;
  padding: 0;
  font-weight: bold;
  list-style: none;
}
.global-nav-mobile-side-group .global-nav-mobile-side-group {
  margin: 0 0 1.25rem;
}

.global-nav-mobile-side-item {
  font-size: 0.8rem;
}

.global-nav-mobile-side-link {
  position: relative;
  display: block;
  padding: 0.75rem 0;
  color: currentcolor;
  text-decoration: none;
}
.global-nav-mobile-side-link:hover {
  color: inherit;
}

.global-nav-mobile-navbar-footer {
  margin-top: 0.5rem;
}
.global-nav-mobile-item > .global-nav-mobile-link {
  color: var(--brand);
}



/* ==============================
  C Category Page – English
============================== */


/* 全体コンテナ */
.category-toc {
  margin: 40px auto;
  padding: 20px 0px;
}

/* ------------------------------
  ULリセット
------------------------------ */
.txtListMenu {
  list-style: none;
  margin: 0;
  padding-left: 0;
}

/* LIの基本スタイル */
.txtListMenu li {
  margin: 15px 0;
}

/* ------------------------------
  中カテゴリカード風 (C1〜C5)
------------------------------ */
.txtListMenu > li  {
  font-family: 'Public Sans', sans-serif;
/*  font-family: Georgia, 'Times New Roman', Palatino, serif;*/
font-family: 'Roboto', Helvetica, Arial, sans-serif;
font-family: 'Merriweather', Georgia, 'Times New Roman', serif;

  display: block;
  padding: 8px;
 line-height:1.2;
  font-size: 1.25rem;
  font-weight: 600;
  text-decoration: none;
  border-radius: 10px;
  background-color: #f0f4f8;
  box-shadow: 0 2px 6px rgba(0,0,0,0.2);
  transition: all 0.2s ease;
/* margin: 15px 0 15px;*/
}

.txtListMenu > li.catelevel1::first-letter {
font-size: 130%;
  font-weight: 400;
	
}
.txtListMenu > li a{
  color: #333;
text-decoration: none;
}

.txtListMenu > li a:hover{
text-decoration:none;}

.txtListMenu > li > a.entry-title-link::before {
  font-family: "Font Awesome 5 Free";
  content: "\f15b"; 
  margin:0 0.2em;
}

.txtListMenu > li > a.entry-title-link{
  display: block;
/*  padding-left: 15px;*/
  padding-top: 0px;
  padding-bottom: 0px;
  font-family: 'Public Sans', sans-serif;
margin:8px 0;
  font-size: 1rem;
 line-height:1.2;
  font-weight: 200;
  color: #333;
  text-decoration: underline;
  border-radius: 4px;
  transition: background-color 0.2s ease, color 0.2s ease;
}

.txtListMenu > li:last-child{
 margin-bottom: 5px;
}
.txtListMenu > li > a.entry-title-link:hover {
/*color: var(--brand);*/
text-decoration: none;

/*  background-color: #d0e0ff;*/
/*
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
*/
}

.category_img{
	float:left;
	padding:0px 10px 5px 5px;
}

/* ------------------------------
  サブカテゴリボックス (C11/C12など)
------------------------------ */
.txtListMenu li ul li  {
  display: block;
  padding: 0px 0px;
  font-family: 'Public Sans', sans-serif;
	margin: 0;
  font-size: 1rem;
  font-weight: 400;
  border-radius: 6px;
  text-decoration: none;
  box-shadow: 0 0px 0px rgba(0,0,0,0);
/*  transition: background-color 0.2s ease;*/
}
.txtListMenu li ul li.catelevel2 {
  padding: 3px 10px;
  background-color: #fff;
  margin:10px 10px 10px;
}
.txtListMenu li ul li.catelevel2:last-child {
  margin-bottom:0px;
}
/*
.txtListMenu li ul li.catelevel2::before {
  font-family: "Font Awesome 5 Free";
  content: "\f15b"; 
  margin:0 0.5em;
}
*/
.categoryName{
	color: #003366;
	margin:5px 0;
}
#c11 .categoryName::before,
#c12 .categoryName::before{
  font-family: "Font Awesome 5 Free";
  content: "\f0d7"; 
  font-weight: 900;
  font-size: 1.25rem;
  margin:0 0.2em;
}
/*
.txtListMenu li#c11 {
  padding: 3px 10px;
  background-color: #fff;
  margin:10px 0px 15px 190px;
}
*/


/* ------------------------------
  記事リスト (C111など)
------------------------------ */
.txtListMenu li ul li ul li > a {
  display: block;
/*  padding-left: 5px;*/
  padding-top: 3px;
  padding-bottom: 3px;
 line-height:1.2;
  font-weight: 200;
  color: #333;
  text-decoration: underline;
/*  border-radius: 6px;*/
  transition: background-color 0.2s ease, color 0.2s ease;
}
.txtListMenu li ul li ul li.catelevel3 > a {
background-color: #fff;	
font-size:0.95rem;
margin:8px 0 ;
}
.txtListMenu li ul li.catelevel3 > a {
font-size:1rem;
margin:8px 0 ;
}

/*.txtListMenu li ul li ul li > a:hover {*/
/*  background-color: #e6f0ff;*/
/*  background-color: #d0e0ff;*/
/* color: #0066cc; */
/*  background-color: #d0e0ff;*/
/*
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
*/

/*}*/

/* ------------------------------
  階層ごとのインデント
------------------------------ */
.txtListMenu li ul {
  padding-left: 5px;
  padding-right: 0px;

}

.txtListMenu li ul li ul {
  padding-left: 5px;
  padding-right: 0px;

}

 /*@media (max-width: 63.99875rem) { 64rem = 1024px */
@media (max-width: 639px) {
.txtListMenu li ul {
  padding-left: 0px;
  padding-right: 0px;
}

.txtListMenu li ul li ul {
  padding-left: 0px;
  padding-right: 0px;
}
	
.txtListMenu li ul li.catelevel2 {
  margin:5px 0px;
}

.category_img{
	float:none;
	text-align: center;
	width:100%;
	padding:5px 0px 5px;
	}
	
}

/* ------------------------------
  行間・マージン調整
------------------------------ */
.txtListMenu li ul li ul li {
  margin: 0px 0;
}


/* ------------------------------
  カテゴリーE open data
------------------------------ */
.category-group-E{
		margin-bottom:20px;
		padding-bottom:90px;
	}
.category-group-E h2.heading-primary{
	font-family: 'Roboto', Helvetica, Arial, sans-serif;
	}
.category-group-E ul{
		list-style: none;margin:0;Padding:0 10px;
		}
.category-group-E ul li{
		margin:0;line-height:1.4;font-weight:200;
	}
.category-group-E ul li a{
		color:#222;
	}
.category-group-E ul li a h2{
	font-family: 'Roboto', Helvetica, Arial, sans-serif;
	font-weight:400;
	font-size:1.45em;
	}
/*.category-group-E ul li a::before,*/
.category-group-E ul li a h2::before{
  font-family: "Font Awesome 5 Free";
  content: "\f15b"; 
  margin-right: 0.5em;
}
.category-group-E ul li a:hover{
		color:var(--brand);
	    text-decoration: none;
	}
.category-group-E .media-text-veil{
	margin:80px 0 0 10px;
  color: var(--color-gray90);
	}
.cta-visual.is-cta-margin-top {
	        margin-top: 0;
}
h2.media-title .open-data{
	margin-bottom:10px;
}

/*背景再利用*/
.home-news {
  background: #f0f4fa;
  padding: 0px 20px 40px;  
  position: relative;
  overflow: hidden;
}

@media (max-width: 640px){
.category-group-E ul li{
margin:0;
}
}

/* ------------------------------
  Activities タイムライン
------------------------------ */

/* タイムライン全体 */
.timeline {
  position: relative;
  margin: 0;
  max-width: 780px;
}

/* 年 */
.timeline-year {
font-family: 'Roboto', Helvetica, Arial, sans-serif;
  margin: 1rem 0 .5rem;
  font-weight: bold;
  font-size: 2.75rem;
}

/* 各イベント */
.timeline-item {
  position: relative;
  padding: .5rem 0;
  padding-left: 40px; /* 線＋マーカー分の余白 */
}

/* 縦線（各イベントに合わせる） */
.timeline-item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 10px;      /* マーカーと同じ位置 */
  width: 2px;
  height: 100%;    /* アイテム全体に線を伸ばす */
  background: #ccc;
  z-index: -1;     /* マーカー・本文の後ろ */
}

/* 丸マーカー */
.timeline-item::after {
  content: "";
  position: absolute;
  top: 1rem;      /* 日付と揃える */
  left: 10px;      /* 縦線と同じ位置 */
  width: 12px;
  height: 12px;
  background: var(--brand);
  border-radius: 50%;
  border: 2px solid #fff;
  transform: translateX(-50%);
  box-shadow: 0 0 0 2px #ccc;
}

/* 日付 */
.timeline-date {
font-family: 'Roboto', Helvetica, Arial, sans-serif;
 font-size:1.2rem;
  font-weight: bold;
  color: var(--brand);
  margin-bottom: 0.25rem;
}

.acms-label{
  font-family: Arial, Helvetica, 'Helvetica Neue', sans-serif;	
}
/*
.acms-label-info{color:}
.acms-label-success{color:}
.acms-label-warning{color:}
*/

/* 本文 */
.timeline-content {
  background: #f9f9f9;
  padding: 0.75rem 1rem;
  border-radius: 6px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.08);
/*  text-align: justify;*/
line-height: 1.5;
}

/* 画像横並び */
.timeline-images {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap; /* スマホで縦に折り返す */
  margin-top: 0.5rem;
}

.timeline-images img {
  width: 200px;  /* 固定幅 */
  height: auto;
margin:0;

  object-fit: cover;
  border-radius: 4px;
}
.timeline-image-item {
display:block;	
}
.timeline-images.entry-page{
margin:0 1rem;
}
.timeline-images.entry-page img{
width: 300px;  /* 固定幅 */
}
.timeline-image-item p.caption{
font-family: 'Roboto', Helvetica, Arial, sans-serif;
font-size:.8rem;
margin:-.5rem 0 0;
color:var(--color-gray90);
}
/* スマホ対応 */
@media (max-width: 640px) {
  .timeline-images img {
    width: 100%;  /* 幅いっぱいで縦並び */
  }
}

/* ------------------------------
  Activities 管理画面アコーディオン
------------------------------ */
.accordion-content {
  display: none;
}
.accordion-content.open {
  display: block;
}
.accordion-toggle{
padding:.3rem;
}

/* ------------------------------
  Activities カード
------------------------------ */
.event-card {
  border: 1px solid #ddd;
  border-radius: 6px;
  padding: 1rem;
  margin-bottom: 1.5rem;
  background-color: #fff;
}
h1.event-title,
h2.event-title{
	font-size:1.18rem;
	line-height:1.2;
	margin-bottom:1rem;
}
a h2.event-title,
h1.event-title a,
h2.event-title a{
 color: var(--brand);
text-decoration: none;	
}
h1.event-title.is-body{
font-size:1.45rem;
}

.event-card-body {
	font-size:.9rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.event-field {
  display: flex;
  flex-wrap: wrap;
}
.event-field-label {
  flex: 0 0 15%;
  font-weight: 600;
  color: var(--color-gray80);
  padding: 0.3rem;
 border-bottom:1px #ccc dashed;
}

.event-field-value {
  flex: 1 1 70%;
 border-bottom:1px #ccc dashed;
  padding: 0.3rem;

}
.event-field-label.border-none,
.event-field-value.border-none{
	 border-bottom:none;
 	 padding: 0.3rem;
}

@media screen and (max-width: 640px) {
	
.event-card {
  padding: 0.2rem;
}
.event-field-label,
.event-field-value{
	 border-bottom:none;
}

.event-field-label {
  background-color: var(--color-gray20);
}
  .event-field {
    flex-direction: column;
  }
  .event-field-label {
    flex: 0 0 100%;
    padding-bottom: 0.2rem;
  }
  .event-field-value {
    flex: 0 0 100%;
  }
  .media-item-img img {
    width: 200px;
    height: auto;
  }
}

/* ------------------------------
　　　回り込みユニット 未使用　
　------------------------------*/

.unit-text-image {
  overflow: hidden; /* floatクリア用 */
  margin-bottom: 2rem;
}

.unit-text-image .unit-image {
  float: right;
  margin-left: 1rem;
  margin-bottom: 1rem;
  max-width: 40%;
}

.unit-text-image .unit-text {
  /* 必要に応じてフォントや余白を調整 */
}

.unit-text-image .unit-image {
  float: right;
  margin-left: 1rem;
  margin-bottom: 1rem;
  max-width: 40%; /* PC */
}

@media (max-width: 768px) {
  .unit-text-image .unit-image {
    float: none;
    display: block;
    margin: 1rem auto;
    max-width: 100%; /* スマホ */
  }
  .unit-text-image .unit-image {
    float: none;
    display: block;
    margin: 1rem auto;
    max-width: 100%;
  }
}

/* ------------------------------
   プロフィール  
------------------------------*/
.profile-container{
	  margin: 0 calc(var(--gutter) / 2) 2rem;
}

.member-profile {
  margin-bottom: 25px;
}

/* PI: 単独表示 */
.member-profile.single .member-body {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 24px;
}

/* メンバー全体: 2列表示 */
.members-container {
  display: flex;
  flex-wrap: wrap;
  gap: 21px;
}

.members-container .member-profile {
  flex: 1 1 calc(50% - 12px); /* 2列表示 */
}

/* 写真＋テキスト部分 */
.member-body {
  display: flex;
  align-items: flex-start;
  gap: 15px;
}

/* 共通スタイル */
.member-photo {
  width: 85px;
  height: 85px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}

.member-info p {
  margin: 0 0 5px 0;
  line-height: 1.3;
}
.member-profile p {
  margin: 0 0 4px 0;
}
/* 分野ラベル */
p.member-fields {
  font-family: 'Roboto', Helvetica, Arial, sans-serif;
  font-weight: bold;
  margin:0 0 8px;
  font-size: 1.2em;
  line-height: 1.2;
 padding:.5rem 0;
  color: var(--brand);
border-top:1px #ccc dashed;
}

/* 名前 */
p.member-name {
  font-weight: bold;
  margin:0;
}

/* 所属 */
p.member-affiliation {
  font-family: 'Roboto', Helvetica, Arial, sans-serif;
  font-size: 0.85em;
  color: var(--color-gray80);
  margin:0 0 6px;
}

/* 説明 */
.member-description {
  font-size: 0.8em;
  line-height: 1.4;
}

/* ------------------------------
  Activities index ナビ
------------------------------ */
.timeline-subtitle {
  font-size: 0.9em;
  color: #666;
  margin-top: 0.3em;
  margin-bottom: 1em;
/*   text-align: center; 中央揃えにしたい場合 */
}
.event-nav ul {
  list-style: none;
  padding: 0;
  margin: 0 auto 2rem;
  text-align: center;
}

.event-nav li {
  display: inline-block;
  margin: 0 8px;
}

.event-nav a {
  text-decoration: none;
  color: var(--color-gray90);
  font-weight: 500;
}

.event-nav a:hover {
  color: var(--brand);
	text-decoration: underline;
}

/* ▼ スマホ対応（768px以下で縦並びに切り替え） */
@media (max-width: 768px) {
  .event-nav ul {
    text-align: left;   /* 左寄せに変更（中央のままでもOK） */
  }

  .event-nav li {
    display: block;     /* 縦並び */
    margin: 8px 0;      /* 縦の間隔 */
  }
}