@charset "utf-8";
/* CSS Document */
/* ================================================================================
	#news section
================================================================================ */

.news-section {
  position: relative;
  padding-top: 80px; /* 上の余白 */
  height: 800px;
  width: 100%;
}
#news {
  position: relative; /* absoluteを解除 */
  margin: 0 auto;
  width: 90%;
  background: #fff;
  padding: 40px 20px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.1);
  text-align: center;
}
#news h2 {
	font-size: 2rem;
	margin-bottom: 20px;
	font-weight: 600;
}
.news-content img {
  border: 1px solid #CCC;
  border-radius: 15px;
  margin-bottom: 15px;
  max-width: 100%;
  height: 250px;
  object-fit: cover;
}
.news-content a:hover img {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";
}
.entry-date {
  font-size: 1rem;
  font-weight: bold;
}
#news_and_topics {
	font-size: 1rem;
	width: 100%;
	margin: 25px auto;
}

/* --- ニュース行全体の整列設定 --- */
#news_and_topics dl {
    border-bottom: 1px #CCCCCC dotted;
    padding: 15px 10px;    /* 左右の余白を少し詰め、左寄せを強調 */
    margin-bottom: 0;
    display: flex;
    align-items: center;   /* 垂直中央揃え */
    flex-wrap: nowrap;
    gap: 15px;             /* 要素間の距離を一定にする（★これが重要） */
}

/* --- 1. 日付の左寄せ固定 --- */
#news_and_topics dt {
    font-family: "Meiryo", sans-serif;
    font-weight: bold;
    text-align: left;
    flex-basis: 100px;     /* 日付の幅を100pxで固定 */
    flex-shrink: 0;
    float: none !important;
    margin: 0;
}

/* 6. リンクの装飾 */
#news_and_topics dd a {
    display: inline-block;
    text-decoration: none;
    color: inherit;
    transition: color 0.3s;
}

/* スマホ対応：980px以下 */
@media screen and (max-width: 980px) {
    #news_and_topics dl {
        flex-wrap: wrap;   /* スマホでは折り返しを許可 */
        padding: 10px 0;
    }
    #news_and_topics dt {
        flex-basis: 100px;
    }
    #news_and_topics dd.indent01 {
        flex-basis: 100%;  /* タイトルは全幅へ */
        margin-top: 5px;
        font-size: 1rem;
    }
}
#news_and_topics dd a::after {
  border-bottom: solid 1px #3371CB;
  bottom: 0;
  content: "";
  display: block;
  position: absolute;
  right: 0;
	-webkit-transition: 0.3s cubic-bezier(0.18, -0.01, 0.3, 1);
  transition: 0.3s cubic-bezier(0.18, -0.01, 0.3, 1);
  width: 0;
}
#news_and_topics dd a:hover::after {
  width: 100%;         /* 横幅いっぱいに伸ばす */
  left: 0;             /* 左端まで伸びる */
  right: auto;         /* rightリセット */
}

#news_and_topics dd a:hover {
  color: #7FAEF4;
  text-decoration: none; /* 下線は疑似要素で作るので元は消す */
}

/* --- 2. カテゴリータグの幅統一（掲載情報もイベントも同じ幅に） --- */
.nat_tag {
    flex-basis: 90px;      /* ★全てのタグを90px幅に統一 */
    flex-shrink: 0;        /* 幅が縮まないように固定 */
    width: 90px !important;/* 念のためwidthも上書き */
    margin: 0 !important;  /* 余計なmarginを排除 */
    padding: 2px 5px;
    font-size: 0.85rem;
	color: #FFF;
    text-align: center !important;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 2px;
    height: 24px;          /* 高さを揃えてスッキリさせる */
}
/* --- 3. タイトルを左に詰める --- */
#news_and_topics dd.indent01 {
    padding-left: 0 !important; /* ★5remを完全に除去 */
    text-indent: 0 !important;
    margin: 0;
    flex-grow: 1;               /* 残りの幅を使い切る */
    text-align: left;           /* 確実に左寄せ */
}
/* NEWS category colors */
.event { background-color: #285AB3; font-weight: bold; }
.info { background-color: #1E4B94; font-weight: bold; }
.keisai { background-color: #6C7A89; font-weight: bold; }
.topics { background-color: #1C3E73; font-weight: bold; }
.awards { background-color: #8D6E63; font-weight: bold; }
.other { border: 1px solid #999; color: #666; font-weight: bold; }

.newsIN { position: relative; padding-bottom: 55px;}
.backnumber {
	font-size: 1rem;
	width: 25%;
	margin: 5px 0;
	float: right;
}
.backnumber a {
	display: block;
	color:#FFF;
	padding: 3px 10px;
	margin: 0px 10px;
	text-decoration: none;
	background: #3768B8;
}

.backnumber a:hover {
  background: #285AB3;
  text-decoration: none;
}
.inner form .item01 {}


@media screen and (max-width:980px) {
	
.news-section {
  position: relative;
  padding-top: 20px; /* 上の余白 */
  height: auto;
  width: 100%;
}
#news {
  position: relative; /* absoluteを解除 */
  margin: 0 auto;
  width: 90%;
  background: #fff;
  padding: 20px 20px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.1);
  text-align: center;
}
#news h2 {
  font-size: 2.2rem;
  margin-bottom: 20px;
}
.entry-date {
  font-size: 0.9rem;
  font-weight: bold;
}
ul.post-categories li {
  font-size: 0.9rem;
}
.backnumber {
  width: 100%;
  margin: 25px 0;
  float: none;
}
  .news-content img {
    width: 100%;
    height: auto;
  }

  #news dl {}
  #news dt {
    width: 100%;
    float: none;
  }
  #news dd {
    padding-left: 0em;
  }
  #news dd.indent01{
    text-indent: 0em;
    padding-left: 0em;
    }

  #news .nat_tag {
    margin: 5px 0;
    float: none;
  }
    
  #news_and_topics dl {}
  #news_and_topics dt {
    width: 100%;
    float: none;
  }
  #news_and_topics dd {
    padding-left: 0em;
  }
  #news_and_topics dd.indent01{
    text-indent: 0em;
    padding-left: 0em;
	font-size:1rem;
    }

  #news_and_topics .nat_tag {
    margin: 5px 0;
    float: none;
  }
  .backnumber {
    width: 100%;
    float: none;
    margin: 25px 0;
  }

}

/*----------------------------------------------------
    pickup 20210430追加
----------------------------------------------------*/
.backnumber-pands {
  width: 25%;
  margin: 0px 0;
  float: right;
}
.backnumber-pands a {
  display: block;
  color: #3768B8;
  padding: 3px 10px;
  margin: 0px 10px;
  text-decoration: none;
  border: 2px solid #3768B8;
}
.backnumber-pands a:before {
  content: "\f0da";
  font-family: "Font Awesome 5 Free";
  padding-right: 5px;
  font-weight: 900;
}
.backnumber-pands a:hover {
  background: #DDF5FD;
  text-decoration: none;
}


@media screen and (max-width:980px) {
.backnumber-pands {
  width: 100%;
  margin: 25px 0;
  float: none;
}
    #news_and_topics {
      width: 100%;
      margin: 0px auto;
    }
}





/* ================================================================================
	#post section.entry-content
================================================================================ */

.entry-content {
	font-size: 1rem;
    line-height: 1.8;
    color: #333;
}
#news_and_topics ul.post-categories {
    padding-left: 0 !important; /* theme.jsonの1.5emを打ち消し */
    margin: 0;
    list-style: none;
}
ul.post-categories li {
  font-size: 0.9rem;
	list-style: none;
}
ul.post-categories li a{
  color:#FFF;
  text-decoration: none;
}
ul.post-categories li a:hover{
  color:#99DAE1;
  text-decoration: none;}
/*ニュース詳細（S)*/
/*.entry-content p {
font-size: 1rem; 
    line-height: 1.8; 
    margin-bottom: 1.5em;
}*/
.entry-content .post-meta {
  color: #3371CB;
  font-weight: bold;
  list-style: none;
}
.entry-content .post-meta::before {
  content: "\f073";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  padding-right: 5px;
  color: #3371CB;
}
.original_link {
  margin: 25px 0;
  float: right;
  border: 2px solid #3371CB;
}
.original_link a {
  display: block;
  color: #3371CB;
  font-weight: bold;
}
.entry-content ul {
  list-style-position: inside;
  margin: 0;
}
.entry-content ul li {
  list-style-type: disc;
  padding-left: 2em;
  text-indent: -1em;
  padding-top: 5px;
}
/*ニュース詳細（E)*/
.entry-content img, .comment-content img, .widget img {
  margin-bottom: 10px;
}
.entry-content-in {
  border-bottom: solid 3px #ddd;
    padding: 25px 0px;
}
.entry-content-in img {
  border: solid 1px #ddd;
    width: 240px;
    height: 160px;
    object-fit: cover;
    /*検索結果のサムネイル表示がいまいちだったため追加nakamura*/
}
.entry-content-in .thumbnail {
  max-width: 100%;
  /*float: left;*/
}
.entry-content-in:after {
  clear: both;
  content: ".";
  display: block;
  height: 0;
  visibility: hidden;
}
.entry-day {
  margin: 0;
    color:#3371CB;
    font-weight: bold;
    font-size:1.6rem;
}

@media screen and (max-width:768px) {
  .entry-content {
   font-size: 0.95rem;
  }
  .entry-content-in {
    text-align: left;
  }
  .entry-content img {
    width: 100%;
    background-color: #fff;
    padding: 4px;
    float: none;
    margin: 25px auto 0 auto;
  }
  .entry-summary {
    float: none;
  }
  .entry-content ul {
    list-style-position: inside;
    padding: 0 0 0 0em;
    margin: 0;
  }
  .entry-day {
    margin-top: 10px;
  }
}
/* column */
.archive article.entry, .search article.entry {
  background-color: #fff;
  padding: 20px;
  border-top: solid 1px #ddd;
  border-bottom: solid 1px #ddd;
}
.archive article.entry .attachment-large_thumbnail, .search article.entry .attachment-large_thumbnail {
  background-color: #fff;
  padding: 4px;
  border: solid 1px #ddd;
  float: left;
}
.archive article.entry .entry-header, .archive article.entry .entry-content, .search article.entry .entry-header, .search article.entry .entry-content {
  margin-left: 150px;
}
.archive article.entry time, .search article.entry time {
  position: relative;
  top: -4px;
}
.archive article p, .search article p {
  margin: 0;
  text-align: left;
}
ul.social_buttons {
  margin: 10px 0 0;
}
ul.social_buttons:after {
  clear: both;
  content: " ";
  display: block;
  font-size: 0;
  height: 0;
  visibility: hidden;
}
.social_buttons li {
  float: left;
  list-style: none;
  padding-right: 10px;
}
#content_date_author {
  width: 650px;
}
#content_date_author ul {
  list-style-type: none;
}
.event-info dl {
  border-bottom: 1px #CCCCCC dotted;
  padding: 5px 0px;
  position: relative;
  top: 0;
  left: 0em;
  width: 90%;
  height: auto;
  line-height: 1.5em;
  margin: 25px 0;
}
.event-info dl dt {
  text-align: left;
  padding-right: 5px;
  height: auto;
  width: 10em;
  float: left;
}
.event-info dl dd {
  text-align: left;
  /*padding-left: 18em;*/
  padding-left: 11em;
  padding-right: 5px;
  height: auto;
}

/* ----------------------------------------------------------
   entry-footer / ページ送り（前後記事へのリンク）
---------------------------------------------------------- */
.post-navigation {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 0;
    margin-top: 3em !important;
    border-top: 1px solid #eee;
    border-bottom: 1px solid #eee;
}

/* 共通のリンクスタイル */
.post-navigation a {
    text-decoration: none;
    color: #3371CB; /* プロアシスト様のブランドカラー */
    font-weight: bold;
    font-size: 0.95rem;
    transition: opacity 0.3s, color 0.3s;
    display: inline-block;
}

.post-navigation a:hover {
    opacity: 0.7;
    color: #285AB3;
    text-decoration: underline;
}

/* 前の記事 */
.prev-post {
    flex: 1;
    text-align: left;
}

/* 次の記事 */
.next-post {
    flex: 1;
    text-align: right;
}
/* スマホ表示（600px未満）の調整 */
@media screen and (max-width: 599px) {
    .post-navigation {
        flex-direction: column; /* 縦並び */
        gap: 15px;
        text-align: center;
    }
    .prev-post, .next-post {
        text-align: center;
        width: 100%;
    }
}

/* ----------------------------------------------------------
OL/UL/List共通設定
---------------------------------------------------------- */
.entry-content ol.upper-roman {
  list-style-position: inside;
  list-style-type: upper-roman !important;
  font-weight: bold;
  color: #3371CB;
}
.entry-content ol.upper-roman ol {
  font-weight: normal;
  color: #333;
}
/*OL 数字あり*/
.nocount {
  list-style-type: decimal;
  list-style-position: inside;
  padding: 0 0 0 2em;
  margin: 0;
}
.nocount li {
  position: relative;
  padding-left: 2em;
  text-indent: -1em;
}
/*OL 数字あり インデントなし*/
.noindent {
  list-style-type: decimal;
  list-style-position: inside;
  padding: 0 0 0 0em;
  margin: 0;
}
.noindent li {
  position: relative;
  padding-left: 2em;
  text-indent: -1em;
}
/*OL 数字あり青太---一寸法師*/
.n-count-bb {
  list-style-type: decimal;
  list-style-position: inside;
  padding: 0 0 0 1em;
  margin: 0;
  font-size: 2rem;
  font-weight: bold;
  color: #3371CB;
}
.n-count-bb li {
  position: relative;
  padding-left: 1em;
  text-indent: -1em;
}
ol.list_parentheses {
    text-indent: -2em;
    font-weight: normal;
}
/*OL カッコつき（1）数字あり*/
.list_parentheses {
  padding: 0 0 0 2em;
  margin: 0;
}
.list_parentheses li {
  list-style-type: none;
  list-style-position: inside;
  counter-increment: cnt;
  padding-left: 2em;
  text-indent: -2em;
}
.list_parentheses li:before {
  content: "("counter(cnt) ") ";
}
/*○*/
.list_circled {
    margin: 0 0 0 4em;
    padding: 0;
    position: relative;
    text-indent: -1em;
}
.list_circled li  {
list-style: none;
list-style-position:outside;
margin:0;
padding-left:1.25em
}
.list_circled li span {
position: absolute;
left:0;
margin:0
}



/*///////////////////////////////追記/////////////////////////////////*/
.btn-news {
  position: relative;
}

.btn-news::after {
  content: "\f0da"; /* Font Awesome の caret-right アイコン */
  font-family: "Font Awesome 6 Free"; 
  font-weight: 900;
  margin-left: 8px;
  position: absolute;
  right: 10;
}

/* --- ニュース一覧（index.php）のブラッシュアップ --- */

/* 一覧の見出しタイトル（ニュース一覧 という文字） */
.archive-header {
    margin-bottom: 30px;
    padding-bottom: 10px;
    border-bottom: 2px solid #285AB3; /* プロアシスト様のブランドカラー */
}

.archive-title {
    font-size: 1.6rem;
    color: #333;
    margin: 0;
}

/* 各記事のブロック */
.news-archive-item {
    padding: 25px 0;
    border-bottom: 1px solid #eee;
    transition: background-color 0.3s;
}

.news-archive-item:hover {
    background-color: #fafafa; /* マウスを乗せた時に少し色を変える */
}

/* 日付の横に「お知らせ」などのラベルをつけたい場合 */
.published-date {
    font-size: 0.9rem;
    color: #666;
    font-weight: bold;
    display: inline-block;
    margin-bottom: 8px;
}

/* 記事タイトル：ここが一番「大きすぎる」と感じるポイント */
.news-archive-item .entry-title {
    font-size: 1.2rem !important; /* 20px前後。1.5rem以上だと大きすぎます */
    line-height: 1.4;
    margin: 0 0 10px 0;
}

.news-archive-item .entry-title a {
    color: #1E4B94;
    text-decoration: none;
    font-weight: 700;
}

.news-archive-item .entry-title a:hover {
    text-decoration: underline;
}

/* 抜粋（本文の出だし） */
.news-archive-item .entry-summary p {
    font-size: 0.95rem !important; /* 15px〜16px程度 */
    line-height: 1.6 !important;
    color: #555;
    margin: 0;
}

/* ページネーション（1 2 3 ...）の見た目 */
.pagination-wrap {
    margin-top: 40px;
    text-align: center;
}

.pagination .nav-links {
    display: flex;
    justify-content: center;
    gap: 8px;
}

.pagination .page-numbers {
    padding: 8px 16px;
    border: 1px solid #ddd;
    color: #333;
    text-decoration: none;
}

.pagination .page-numbers.current {
    background: #285AB3;
    color: #fff;
    border-color: #285AB3;
}

/* 改：既存のIDと、新しいクラス（award-list）の両方に効かせる */

#news_and_topics dl,
.award-list .wp-block-post-template li {
    border-bottom: 1px #CCCCCC dotted;
    padding: 15px 10px;
    display: flex;
    align-items: center;
    gap: 15px;
}

/* カテゴリタグも既存の .nat_tag のスタイルを流用 */
.nat_tag,
.award-list .wp-block-post-terms a {
    flex-basis: 90px;
    width: 90px !important;
    /* ...中身は既存の nat_tag と同じ... */
}

/*カテゴリ一覧*/
/* アーカイブページ専用の調整：トップページのデザインを流用 */
.archive #news_and_topics {
    margin-top: 0; /* ヘッダーとの隙間調整 */
}

.archive #news_and_topics dl {
    list-style: none; /* 万が一のリストマーク消去 */
    margin-left: 0;
    padding-left: 10px;
}

/* 抜粋文が自動で入ってしまうのを防ぐ（タイトルのみにする場合） */
.archive .archive-item-excerpt {
    display: none;
}

/* カテゴリータグ内のリンク色調整 */
.archive .nat_tag a {
    color: #fff !important;
    text-decoration: none;
}