/*
Theme Name: Shigakukai Lightning Child
Template: lightning
Description: 公益財団法人史学会 サイト用 Lightning 子テーマ（旧サイトのイメージカラー・既存コンテンツ用クラスの調整）
Version: 1.0.0
Text Domain: shigakukai-lightning
*/

.site-footer-copyright p:nth-child(2) {
    display:none !important;
}


:root {
	--shigaku-red: #990000;
	--shigaku-dark: #660000;
	--shigaku-paper: #f6f1e7;
	--shigaku-beige: #bba695;
}

body { background: var(--shigaku-paper); }
.site-body, .site-header, .site-footer { background-color: transparent; }
.site-header { background: #fff; border-bottom: 3px solid var(--shigaku-red); }
.site-footer { background: #3a2a24; color: #eee; }
.site-footer a, .site-footer .widget_text, .site-footer .widget_custom_html { color: #eee; }
.site-footer .widget-title, .site-footer .site-footer-title { color: #fff; border-color: var(--shigaku-beige); }
.site-body .entry-body, .site-body .entry-header { background: transparent; }
.entry-body { background: rgba(255,255,255,.65); padding: 1rem 1.25rem; }

/* ヘッダーのロゴ */
.navbar-brand img { max-height: 70px; width: auto; }

/* グローバルメニュー */
.global-nav-list > li > a { font-weight: bold; }
.global-nav-list > li > a:hover, .global-nav-list > li.current-menu-item > a { color: var(--shigaku-red); }

/* 左サイドメニュー */
.sub-section .widget_nav_menu ul { list-style: none; margin: 0; padding: 0; }
.sub-section .widget_nav_menu > div > ul > li > a { background: #efe9dd; font-weight: bold; border-top: 2px solid var(--shigaku-red); }
.sub-section .widget_nav_menu ul ul a { background: var(--shigaku-beige); color: #fff; border-bottom: 1px dotted #fff; padding-left: 1.4em; }
.sub-section .widget_nav_menu ul ul a:hover { background: #8c7a6a; }

/* 既存コンテンツ（旧Concrete5テーマ）で使っていたクラス */
.align_right { text-align: right !important; }
.align_center { text-align: center; }
.clearfix::after { content: ""; display: block; clear: both; }
.pframe, .pframe2, .pframe_left, .pframe_right { border: 1px solid var(--shigaku-beige); box-shadow: 0 0 3px #999; max-width: 100%; height: auto; }
.pframe_left { float: left; margin: 0 15px 10px 0; }
.pframe_right { float: right; margin: 0 0 10px 15px; }
.pframe, .pframe2 { margin: 0 15px 10px; }
table.table_type1 { border: 2px solid #cbbead; background: #cbbead; }
table.table_type2 { border: 1px solid #dedede; }
table.table_type1 td, table.table_type1 th, table.table_type2 td, table.table_type2 th { padding: 3px 6px; vertical-align: top; }
table.table_list { margin-left: 0; }
table.table_list td, table.table_list th { padding: 3px 8px 8px 0; vertical-align: top; border: 0; }
.new_td1 { white-space: nowrap; font-size: 80%; }
.new_td2 { white-space: nowrap; color: #663300; }
.news_date { font-size: 80%; margin-right: 10px; }
.box2 { padding: 7px; font-size: small; margin: 7px 5px; color: #333; background: #fff; border: 1px solid var(--shigaku-red); border-radius: 4px; }
.box2 p { margin: 0; padding: 0; }
.td_cover, .td_cover p { text-align: center !important; }
.td_btn, .td_btn p { text-align: center !important; }
.td_btn a, a.btn_big { display: block; background: var(--shigaku-red); color: #fff; padding: 2px 8px; text-align: center; text-decoration: none; }
.button_red input { background: var(--shigaku-red); border: 1px solid #996666; color: #fff; padding: 1px 6px; }
.txt_reverse, p strong.txt_reverse, p span.txt_reverse { background: var(--shigaku-red); color: #fff; padding: 0 3px; margin-right: 5px; }
ul.pagenav { list-style: none; display: flex; justify-content: space-between; margin: 20px 0; padding: 0; font-size: 90%; }
ul.pagenav .goback::before { content: "◀ "; color: var(--shigaku-red); }
ul.pagenav .gonext::after { content: " ▶"; color: var(--shigaku-red); }
.article.update { border: 1px solid #dcdcdc; background: #fff; padding: 5px 10px; margin: 6px 0 4px; }
.article.update h3, .article.update p strong { color: var(--shigaku-red); }

/* 本文の見出しは旧サイト同様に赤系 */
.entry-body h2, .entry-body h3 { color: var(--shigaku-dark); }
.page-header .page-header-title { color: #fff; }
.sub-section .widget:has(.shigaku-empty) { display: none; }
.sub-section .widget_nav_menu li.current-menu-item > a, .sub-section .widget_nav_menu li.current_page_item > a { background: var(--shigaku-red); color: #fff; }

/* 左メニューの文字前のアクセント（旧サイトの赤い矢印に相当） */
.sub-section .widget_nav_menu li > a::before { content: ""; display: inline-block; width: 0; height: 0; margin-right: .6em; vertical-align: middle; border-top: 4px solid transparent; border-bottom: 4px solid transparent; border-left: 6px solid var(--shigaku-red); }
.sub-section .widget_nav_menu ul ul li > a::before { border-left-color: #fff; margin-right: .5em; }
.sub-section .widget_nav_menu li.current-menu-item > a::before, .sub-section .widget_nav_menu li.current_page_item > a::before { border-left-color: #fff; }

/* 左メニュー: 大項目（グループの先頭）とサブ項目の区別を強める */
.sub-section .widget_nav_menu > div > ul > li { margin-top: 14px; }
.sub-section .widget_nav_menu > div > ul > li:first-child { margin-top: 0; }
.sub-section .widget_nav_menu > div > ul > li > a { border-top: 0; border-left: 5px solid var(--shigaku-red); background: #e6dccb; font-size: 1.05em; }
.sub-section .widget_nav_menu ul ul a { margin-left: 5px; }

/* 左メニュー大項目の英語キャプション（旧サイトの small 英字表記。控えめに右寄せ） */
.sub-section .widget_nav_menu > div > ul > li > a::after { float: right; font-size: .8em; font-weight: normal; font-style: italic; letter-spacing: .02em; color: #a08f7e; line-height: 1.9; }
.sub-section .widget_nav_menu > div > ul > li.current-menu-item > a::after { color: #f3d9d9; }
.sub-section .widget_nav_menu li.cap-home > a::after { content: "home"; }
.sub-section .widget_nav_menu li.cap-society-info > a::after { content: "society info"; }
.sub-section .widget_nav_menu li.cap-news > a::after { content: "news"; }
.sub-section .widget_nav_menu li.cap-journal > a::after { content: "journal"; }
.sub-section .widget_nav_menu li.cap-annual-meeting > a::after { content: "annual meeting"; }
.sub-section .widget_nav_menu li.cap-award > a::after { content: "award"; }
.sub-section .widget_nav_menu li.cap-other-events-info > a::after { content: "other events info"; }
.sub-section .widget_nav_menu li.cap-corporate-info > a::after { content: "corporate info"; }
.sub-section .widget_nav_menu > div > ul > li > a { padding-right: 12px; }

/* 左カラムの幅を詰める（PC表示のみ）／メニュー見出しの赤線と先頭項目の赤枠が連続して見えないよう間隔を空ける */
@media (min-width: 992px) {
	.sub-section.sub-section--col--two { flex: 0 0 250px !important; max-width: 250px !important; width: 250px !important; }
	.main-section.main-section--col--two { flex: 0 0 calc(100% - 250px) !important; max-width: calc(100% - 250px) !important; width: calc(100% - 250px) !important; }
}
.sub-section .widget_nav_menu .widget-title { margin-bottom: 14px; }

/* 左カラムと本文の間隔を広げる（PC表示） */
@media (min-width: 992px) {
	.main-section.main-section--col--two { padding-left: 2rem !important; }
}

/* 史学雑誌 目次ページ等の表（旧サイトの見た目に寄せる）: 茶色のグラデーション見出し行・薄い横罫線・表紙は茶色のセルに */
.entry-body table.table_type2 { width: 100% !important; border: 0; border-collapse: collapse; background: rgba(255,255,255,.55); margin-bottom: 1.2rem; }
.entry-body table.table_type2 th, .entry-body table.table_type2 td { border: 0; border-bottom: 1px solid #e6dfd1; padding: 4px 8px; vertical-align: top; text-align: left; font-weight: normal; }
.entry-body table.table_type2 th { background: linear-gradient(to bottom, #a89a8d, #85725f); color: #fff; font-weight: bold; border-bottom: 0; padding: 5px 10px; }
.entry-body table.table_type2 th p { margin: 0; color: #fff; font-weight: bold; text-align: left; }
.entry-body table.table_type2 th.td_cover { background: #9b8778; text-align: center; vertical-align: middle; padding: 10px; }
.entry-body table.table_type2 th.td_cover p { margin: 0; }
.entry-body table.table_type2 th.td_cover img { margin: 0; border: 1px solid #fff; box-shadow: 0 0 3px #555; max-width: 100%; height: auto; }
.entry-body table.table_type2 td p { margin: 0; }
.entry-body table.table_type2 th button { margin-left: .8em; font-weight: normal; }
.entry-body table.table_type2 button { background: #f4f4f4; border: 1px solid #8b8b8b; border-radius: 3px; padding: 2px 10px; font-size: .85rem; color: #222; cursor: pointer; }
.entry-body table.table_type2 button:hover { background: #fff; }
.entry-body .latest table.table_type2 { margin-bottom: 1.2rem; }
/* 各号のタイトル（旧サイト: 細めの濃赤文字＋左に灰色の縦線） */
.entry-body h3.type2 { font-weight: normal; color: var(--shigaku-red); border: 0; border-left: 5px solid #cbbead; background: none; padding: .2em .2em .2em .7em; margin: 1.2rem 0 .8rem; font-size: 1.2rem; }
.entry-body h3.type2::before, .entry-body h3.type2::after { display: none; }

/* バックナンバー等のページ一覧（子ページのみの単純なリスト）: 2 列＋赤い角ポイント */
.entry-body ul.wp-block-page-list:not(:has(ul)) { list-style: none; padding-left: 0; column-count: 2; column-gap: 2.5rem; }
.entry-body ul.wp-block-page-list:not(:has(ul)) > li { break-inside: avoid; position: relative; padding: .35rem 0 .35rem 1rem; }
.entry-body ul.wp-block-page-list:not(:has(ul)) > li::before { content: ""; position: absolute; left: 0; top: 1.05em; width: 5px; height: 5px; background: var(--shigaku-red); }
@media (max-width: 767px) { .entry-body ul.wp-block-page-list:not(:has(ul)) { column-count: 1; } }
.entry-body table.table_type2 th.td_cover { width: 150px; min-width: 150px; }
.entry-body table.table_type2 th.td_cover img { width: 125px; }

/* トップ等の「お知らせ」リスト（日付＋リンクの段落）: 日付を固定幅にそろえ、点線の区切りとホバーで見やすく */
.entry-body p:has(> .news_date) { margin: 0 !important; padding: .35rem .6rem .35rem .8rem; border-bottom: 1px dotted #cbbead; line-height: 1.6; border-left: 3px solid transparent; transition: background .15s; }
.entry-body p:has(> .news_date):hover { background: rgba(153, 0, 0, .05); border-left-color: var(--shigaku-red); }
.entry-body .news_date { display: inline-block; min-width: 6.6em; margin-right: .6em; font-size: .9em; font-weight: bold; letter-spacing: .03em; color: #7b5a4a; font-variant-numeric: tabular-nums; }
.entry-body p:has(> .news_date) a { text-decoration: none; border-bottom: 1px solid rgba(153, 0, 0, .35); }
.entry-body p:has(> .news_date) a:hover { border-bottom-color: var(--shigaku-red); }
/* 重要なお知らせ枠 */
.entry-body .box2 { background: #fffaf3; border: 1px solid var(--shigaku-red); border-left-width: 6px; border-radius: 3px; padding: .8rem 1rem; margin: .2rem 0 .6rem; font-size: .95rem; box-shadow: 0 1px 3px rgba(0,0,0,.08); }
.entry-body .box2 p { margin: 0 0 .5rem; padding: 0; border: 0; line-height: 1.75; }
.entry-body .box2 p:last-child { margin-bottom: 0; }
.entry-body .box2 p:has(> .news_date), .entry-body .box2 p:has(> .news_date):hover { padding: 0; border: 0; background: none; }

/* 「最新情報 What's new」の表: 日付・分類・タイトルを列にそろえ、縞模様と矢印で見やすく */
.entry-body table.table_list { width: 100%; border-collapse: collapse; background: rgba(255,255,255,.55); border: 1px solid #e6dfd1; }
.entry-body table.table_list td { border: 0; border-bottom: 1px solid #e6dfd1; padding: .55rem .6rem; vertical-align: top; line-height: 1.6; }
.entry-body table.table_list tr:nth-child(even) td { background: rgba(203, 190, 173, .18); }
.entry-body table.table_list tr:hover td { background: rgba(153, 0, 0, .05); }
.entry-body table.table_list td.new_td1 { white-space: nowrap; width: 1%; padding-left: 1.4rem; position: relative; font-size: .9em; font-weight: bold; color: #7b5a4a; font-variant-numeric: tabular-nums; }
.entry-body table.table_list td.new_td1::before { content: "»"; position: absolute; left: .45rem; top: .45rem; color: var(--shigaku-red); font-size: 1.1em; line-height: 1.4; }
.entry-body table.table_list td.new_td2 { white-space: nowrap; width: 1%; color: #6b4a1a; font-size: .88em; }
.entry-body table.table_list td.new_td3 a { text-decoration: none; border-bottom: 1px solid rgba(153, 0, 0, .35); }
.entry-body table.table_list td.new_td3 a:hover { border-bottom-color: var(--shigaku-red); }
@media (max-width: 767px) { .entry-body table.table_list td { display: block; width: auto !important; padding: .2rem .6rem; border: 0; } .entry-body table.table_list tr { display: block; border-bottom: 1px solid #e6dfd1; padding: .4rem 0; } .entry-body table.table_list td.new_td1 { padding-left: 1.4rem; } }
.entry-body .box2 { margin-bottom: 1rem !important; }

/* トップ「お知らせ News」: リスト全体を大きな枠で囲む／もっと読むはテキストリンク */
.entry-body .news-frame { background: rgba(255,255,255,.75); border: 2px solid #cbbead; border-radius: 6px; padding: .8rem 1.1rem .6rem; margin: .4rem 0 1.5rem; box-shadow: 0 1px 4px rgba(0,0,0,.08); }
.entry-body .news-frame > p:has(> .news_date):last-of-type { border-bottom: 0; }
.entry-body a.more-link { display: inline-block; font-weight: bold; color: var(--shigaku-red); text-decoration: none; border-bottom: 0; }
.entry-body a.more-link:hover { text-decoration: underline; }
.entry-body p:has(> a.more-link) { text-align: right; margin: .6rem .4rem 0 !important; }

/* トップ: キャッチコピー下の「イメージ画像＋最新号表紙」の帯（表紙と同じ高さにそろえる） */
.entry-body .home-hero { display: flex; align-items: stretch; gap: 1.2rem; margin: .6rem 0 1.8rem; }
.entry-body .home-hero__image { flex: 1 1 auto; min-width: 0; border: 1px solid var(--shigaku-beige); box-shadow: 0 0 3px #999; overflow: hidden; background: #efe9dd; }
.entry-body .home-hero__image img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.entry-body .home-hero__cover { flex: 0 0 228px; }
.entry-body .home-hero__cover img { display: block; width: 228px; height: auto; border: 1px solid var(--shigaku-beige); box-shadow: 0 0 3px #999; }
@media (max-width: 767px) { .entry-body .home-hero { flex-direction: column; } .entry-body .home-hero__image { height: 180px; } .entry-body .home-hero__cover { flex: none; } }
.entry-body .home-hero__image { position: relative; }
.entry-body .home-hero__image img { position: absolute; inset: 0; }

/* ===== TOPページ（ランディング風・1 カラム） ===== */
/* スライダー（PC・タブレット。スマホは別画像の高さのまま）: 画像の縦横比 1920:500 のまま幅に合わせて縮小。高さの上限は 500px */
@media (min-width: 768px) {
	.ltg-slide { height: auto; aspect-ratio: 1920 / 500; max-height: 500px; }
	.ltg-slide .swiper, .ltg-slide .swiper-wrapper, .ltg-slide .swiper-slide, .ltg-slide .swiper-slide > a, .ltg-slide .ltg-slide-item-img { height: 100%; }
	.ltg-slide .ltg-slide-item-img { width: 100%; object-fit: cover; object-position: center; }
}
/* TOPのみ: Archives / Categories を出さない */
body.home .site-body-bottom { display: none; }
body.home .entry-body { background: transparent; padding: 0; }
body.home .site-body { padding-top: 2.5rem; }

/* セクション見出し（中央寄せ・英字の小見出し付き） */
body.home .entry-body h2.home-sec-title, body.home .entry-body h3:not(.hf__title):not(.home-news__title):not(.important-item__title) { text-align: center; border: 0; background: none; color: var(--shigaku-dark); font-size: 1.7rem; letter-spacing: .12em; margin: 2.8rem 0 1.4rem; padding: 0; }
body.home .entry-body h2.home-sec-title::before, body.home .entry-body h2.home-sec-title::after, body.home .entry-body h3:not(.hf__title):not(.home-news__title):not(.important-item__title)::before, body.home .entry-body h3:not(.hf__title):not(.home-news__title):not(.important-item__title)::after { display: none; }
body.home .entry-body h3:not(.hf__title):not(.home-news__title):not(.important-item__title) .heading { font-weight: bold; }
body.home .home-sec-title__en { display: block; font-family: Georgia, "Times New Roman", serif; font-style: italic; font-size: .72rem; letter-spacing: .3em; color: var(--shigaku-red); text-transform: uppercase; margin-bottom: .2rem; }
body.home .entry-body h2.home-sec-title { margin-top: 0; }
body.home .entry-body h2.home-sec-title::after, body.home .entry-body h3:not(.hf__title):not(.home-news__title):not(.important-item__title)::after { content: ""; display: block; width: 56px; height: 3px; margin: .7rem auto 0; background: var(--shigaku-red); }

/* 大項目メニューのカード（Features 風） */
.home-features__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.4rem; }
@media (max-width: 991px) { .home-features__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 575px) { .home-features__grid { grid-template-columns: 1fr; } }
.hf { --hf-a: #8d1111; --hf-b: #4a0808; display: flex; flex-direction: column; background: #fff; border: 1px solid #e3dac8; border-radius: 6px; overflow: hidden; box-shadow: 0 2px 8px rgba(60, 30, 10, .08); transition: transform .18s, box-shadow .18s; }
.hf:hover { transform: translateY(-4px); box-shadow: 0 10px 22px rgba(60, 30, 10, .18); }
.hf__head { position: relative; display: block; height: 128px; text-decoration: none !important; border: 0 !important; background: linear-gradient(135deg, var(--hf-a), var(--hf-b)); overflow: hidden; }
.hf__head::before { content: ""; position: absolute; inset: 0; background: repeating-radial-gradient(ellipse at 80% 20%, rgba(255,255,255,.10) 0 1px, transparent 1px 14px); }
.hf__kanji { position: absolute; right: 12px; top: -14px; font-size: 118px; font-weight: 900; line-height: 1.2; color: rgba(255, 255, 255, .22); font-family: "Yu Mincho", "MS Mincho", serif; transition: transform .25s; }
.hf:hover .hf__kanji { transform: scale(1.08); }
.hf__en { position: absolute; left: 16px; bottom: 12px; font-family: Georgia, "Times New Roman", serif; font-style: italic; font-size: .95rem; letter-spacing: .12em; color: #fff; text-transform: capitalize; text-shadow: 0 1px 4px rgba(0,0,0,.4); }
.hf__body { padding: .9rem 1.1rem 1.1rem; flex: 1; }
.hf .hf__title { margin: 0 0 .5rem !important; padding: 0 !important; text-align: left !important; font-size: 1.2rem !important; letter-spacing: .08em !important; color: var(--shigaku-dark) !important; border: 0 !important; }
.hf .hf__title::before, .hf .hf__title::after { display: none !important; }
.hf .hf__title a { color: inherit; text-decoration: none; border: 0; }
.hf__body ul { list-style: none; margin: 0; padding: 0; }
.hf__body li { margin: 0; padding: .28rem 0 .28rem 1rem; position: relative; border-top: 1px dotted #d8ccb6; font-size: .9rem; line-height: 1.5; }
.hf__body li::before { content: "›"; position: absolute; left: .1rem; top: .22rem; color: var(--shigaku-red); font-weight: bold; }
.hf__body li a { color: #3a2a20; text-decoration: none; border: 0; }
.hf__body li a:hover { color: var(--shigaku-red); text-decoration: underline; }
.hf--society { --hf-a: #9a1515; --hf-b: #520a0a; }
.hf--news { --hf-a: #2c4a7a; --hf-b: #101d38; }
.hf--journal { --hf-a: #6b4a2b; --hf-b: #2e1d10; }
.hf--meeting { --hf-a: #2f6b5c; --hf-b: #12332b; }
.hf--award { --hf-a: #b4821f; --hf-b: #5c3d08; }
.hf--events { --hf-a: #5b4a86; --hf-b: #261d44; }
.hf--corporate { --hf-a: #4a5560; --hf-b: #1d242b; }
.hf--contact { --hf-a: #a2342a; --hf-b: #5a1812; }
body.home .entry-body h3:not(.hf__title):not(.home-news__title):not(.important-item__title)::after, body.home .entry-body h2.home-sec-title::after { position: static !important; left: auto !important; right: auto !important; bottom: auto !important; top: auto !important; transform: none !important; height: 3px !important; width: 56px !important; }

/* Archives / Categories など、フッター前のウィジェットは全ページで非表示 */
.site-body-bottom { display: none; }

/* ===== トップ: お知らせ／最新情報（2 カラムのニュース一覧：日付＋分類チップ＋タイトル） ===== */
.home-news { display: grid; grid-template-columns: 7fr 5fr; gap: 2.6rem; margin: 0 0 1rem; }
@media (max-width: 991px) { .home-news { grid-template-columns: 1fr; gap: 1.6rem; } }
body.home .entry-body h3.home-news__title { text-align: left; border: 0; background: none; color: var(--shigaku-dark); font-size: 1.5rem; letter-spacing: .1em; margin: 0 0 1rem; padding: 0 0 .6rem; position: relative; border-bottom: 2px solid #e3dac8; }
body.home .entry-body h3.home-news__title::before { display: none; }
body.home .entry-body h3.home-news__title::after { content: ""; position: absolute; left: 0; bottom: -2px; width: 64px; height: 2px; background: var(--shigaku-red); display: block; }
.home-news__title .home-sec-title__en { display: block; font-family: Georgia, "Times New Roman", serif; font-style: italic; font-size: .72rem; letter-spacing: .3em; color: var(--shigaku-red); margin-bottom: .1rem; }
.entry-body .notice { position: relative; background: #fffaf3; border: 1px solid #e6c9c4; border-left: 5px solid var(--shigaku-red); border-radius: 4px; padding: 1.5rem 1.1rem .8rem; margin: 0 0 1rem !important; box-shadow: 0 2px 8px rgba(153,0,0,.08); }
.entry-body .notice__label { position: absolute; left: 0; top: 0; background: var(--shigaku-red); color: #fff; font-size: .72rem; letter-spacing: .12em; padding: .12rem .8rem; border-bottom-right-radius: 4px; }
.entry-body .notice p, .entry-body .notice p:has(> .news_date) { padding: 0; border: 0; margin: 0 0 .5rem !important; background: none; line-height: 1.75; font-size: .95rem; }
.entry-body ul.news-list { list-style: none; margin: 0; padding: 0; }
.entry-body .news-item { display: grid; grid-template-columns: 7.2em 1fr; gap: .7rem; align-items: baseline; margin: 0; padding: .7rem .5rem; border-bottom: 1px solid #e3dac8; line-height: 1.6; transition: background .15s, padding-left .15s; }
.entry-body .news-item:hover { background: rgba(153, 0, 0, .045); padding-left: .8rem; }
.entry-body .news-item__date { font-size: .88rem; font-weight: bold; color: #7b5a4a; letter-spacing: .04em; font-variant-numeric: tabular-nums; white-space: nowrap; }
.entry-body .news-item__body a { color: #2b1a12; text-decoration: none; border: 0; background-image: linear-gradient(var(--shigaku-red), var(--shigaku-red)); background-size: 0 1px; background-repeat: no-repeat; background-position: 0 100%; transition: background-size .2s, color .2s; }
.entry-body .news-item:hover .news-item__body a { color: var(--shigaku-red); background-size: 100% 1px; }
.entry-body .news-item__body--text { font-size: .92rem; color: #4a3a30; }
.entry-body .tag { display: inline-block; font-size: .72rem; line-height: 1.5; padding: .04rem .65rem; margin-right: .55rem; border-radius: 999px; color: #fff; background: #8d1111; white-space: nowrap; vertical-align: .08em; }
.entry-body .tag--events { background: #8d1111; }
.entry-body .tag--journal { background: #6b4a2b; }
.entry-body .tag--meeting { background: #2c4a7a; }
.entry-body .home-news__more { text-align: right; margin: 1rem 0 0 !important; }
.entry-body .home-news__more a.more-link { display: inline-block; padding: .35rem 1.2rem; border: 1px solid var(--shigaku-red); border-radius: 999px; font-size: .9rem; transition: background .15s, color .15s; }
.entry-body .home-news__more a.more-link:hover { background: var(--shigaku-red); color: #fff; text-decoration: none; }
@media (max-width: 575px) { .entry-body .news-item { grid-template-columns: 1fr; gap: .1rem; } }
/* カードを「お知らせ」「最新情報」の下に置いたので、上の余白を調整 */
.home-features { margin-top: 2.4rem; }

/* 「学会からのお知らせ」（投稿から自動生成）の日付・ページ送り */
.entry-body .article.update .update__date { font-size: .8em; font-weight: normal; margin-left: .3em; white-space: nowrap; }
.update-pager { display: flex; gap: .5rem; justify-content: center; margin: 1.5rem 0; }
.update-pager a, .update-pager .current { min-width: 2.2rem; text-align: center; padding: .3rem .6rem; border: 1px solid #cbbead; border-radius: 4px; text-decoration: none; }
.update-pager .current { background: var(--shigaku-red); border-color: var(--shigaku-red); color: #fff; }

/* お知らせ／最新情報: 日付を独立した列にせず、タイトルの上に小さく置いて横幅を節約（最新情報は日付の横に分類チップ） */
.entry-body .news-item { display: grid; grid-template-columns: auto 1fr; column-gap: .6rem; row-gap: .1rem; align-items: center; padding: .55rem .5rem; }
.entry-body .news-item__body { display: contents; }
.entry-body .news-item__date { grid-column: 1; grid-row: 1; font-size: .8rem; line-height: 1.4; }
.entry-body .news-item .tag { grid-column: 2; grid-row: 1; justify-self: start; margin: 0; }
.entry-body .news-item__body > a { grid-column: 1 / -1; grid-row: 2; }
@media (max-width: 575px) { .entry-body .news-item { grid-template-columns: auto 1fr; } }

/* お知らせ／最新情報のフォントを少し小さめに */
.entry-body .news-item { line-height: 1.55; }
.entry-body .news-item__body > a, .entry-body .news-item__body--text { font-size: .9rem; }
.entry-body .news-item__date { font-size: .76rem; }
.entry-body .news-item .tag { font-size: .68rem; }
.entry-body .notice, .entry-body .notice p, .entry-body .notice p:has(> .news_date) { font-size: .86rem; }
.entry-body .notice .news_date { font-size: .8em; }
.entry-body .home-news__more a.more-link { font-size: .82rem; }

/* ===== 重要なお知らせ（お知らせとは別の独立した枠。複数件にも対応） ===== */
.important-band { display: flex; align-items: flex-start; gap: 1.2rem; margin: 0 0 2.2rem; padding: 1rem 1.3rem; background: #fff4f1; border: 1px solid #e3aaa0; border-left: 8px solid var(--shigaku-red); border-radius: 6px; box-shadow: 0 3px 12px rgba(153, 0, 0, .12); }
.important-band__label { flex: 0 0 auto; display: flex; align-items: center; gap: .5rem; padding-top: .15rem; font-weight: bold; letter-spacing: .08em; color: var(--shigaku-red); white-space: nowrap; }
.important-band__icon { display: inline-flex; align-items: center; justify-content: center; width: 1.5rem; height: 1.5rem; border-radius: 50%; background: var(--shigaku-red); color: #fff; font-weight: 900; font-size: .95rem; }
.important-band__list { flex: 1; min-width: 0; }
.important-item + .important-item { margin-top: .9rem; padding-top: .9rem; border-top: 1px dashed #dfa398; }
.entry-body h3.important-item__title { margin: 0 0 .35rem; padding: 0; border: 0; background: none; font-size: 1rem; line-height: 1.5; color: #2b1a12; }
.entry-body h3.important-item__title::before, .entry-body h3.important-item__title::after { display: none; }
.important-item__title time { display: inline-block; margin-right: .7rem; font-size: .78rem; font-weight: bold; color: #7b5a4a; }
.important-item__title a { color: inherit; text-decoration: none; border-bottom: 1px solid rgba(153, 0, 0, .4); }
.important-item__body { font-size: .88rem; line-height: 1.75; }
.important-item__body p { margin: 0 0 .4rem; }
.important-item__body p:last-child { margin-bottom: 0; }
@media (max-width: 767px) { .important-band { flex-direction: column; gap: .5rem; padding: .9rem 1rem; } }

/* お知らせ : 最新情報 = 1 : 1 */
.home-news { grid-template-columns: 1fr 1fr; }
@media (max-width: 991px) { .home-news { grid-template-columns: 1fr; } }

/* ===== お知らせ／最新情報 : U-Tokyo 風（全幅の灰色の帯・大きな英字見出し＋アイコン） ===== */
body.home { overflow-x: clip; }
.home-news-band { width: 100vw; position: relative; left: 50%; margin: 0 0 3rem -50vw; padding: 3rem 0 3.2rem; background: #e7e1d4; border-top: 1px solid #d8cfbd; border-bottom: 1px solid #d8cfbd; }
.home-news-band > .home-news { width: min(1110px, calc(100vw - 2.4rem)); margin: 0 auto; gap: 3.2rem; }
body.home .entry-body h3.home-news__title { display: flex; flex-direction: column; align-items: center; gap: .15rem; text-align: center; margin: 0 0 1.6rem; padding: 0; border: 0; background: none; color: #2b1a12; }
body.home .entry-body h3.home-news__title::before, body.home .entry-body h3.home-news__title::after { display: none; }
.home-news__title .hn-icon { display: inline-flex; color: var(--shigaku-red); margin-bottom: .1rem; }
.home-news__title .hn-en { font-family: "Helvetica Neue", Arial, "Segoe UI", sans-serif; font-weight: 300; font-size: 2rem; line-height: 1.2; letter-spacing: .08em; text-transform: uppercase; color: #2b1a12; }
.home-news__title .hn-ja { font-size: .8rem; letter-spacing: .25em; color: #7b5a4a; }
/* 帯の中の一覧: 区切りを実線に、背景は透過（帯の色をそのまま使う） */
.home-news-band .news-list { border-top: 1px solid #2b1a12; }
.home-news-band .entry-body .news-item, .home-news-band .news-item { border-bottom: 1px solid rgba(43, 26, 18, .35); }
.home-news-band .news-item:hover { background: rgba(255, 255, 255, .55); }
.home-news-band .news-item__date { color: #2b1a12; }
.home-news-band .home-news__more a.more-link { background: #fff; }
@media (max-width: 991px) { .home-news-band > .home-news { gap: 2.4rem; } }

/* 最新情報: 日付とラベルの間を広げる／お知らせと最新情報の下端をそろえる／「もっと読む」は帯の下部中央 */
.entry-body .news-item { column-gap: 1.15rem; }
.home-news__col { display: flex; flex-direction: column; }
.home-news__col .news-list { flex: 1; display: flex; flex-direction: column; }
.home-news__col .news-list > .news-item:last-child { flex: 1; align-content: start; }
.home-news-band .home-news__more--center { width: min(1110px, calc(100vw - 2.4rem)); margin: 2.2rem auto 0 !important; text-align: center; }
.entry-body .home-news-band p.home-news__more--center, .entry-body .home-news-band p.home-news__more--center:has(> a.more-link) { text-align: center !important; margin: 2.2rem auto 0 !important; width: min(1110px, calc(100vw - 2.4rem)); }



.mokuji-name {white-space: nowrap; text-align: right !important; padding:15px !important;}
.mokuji-page {white-space: nowrap; text-align: right !important; padding:15px !important;}
.mokuji-button {   height: 50px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    vertical-align: middle;
    padding: 0 10px;
    margin: 0 5px;
    box-sizing: border-box;
}



/* ===== 研究会・講演会案内（投稿パターン用） ===== */
/* 直前に余計な文字が残っていても、この空ルールで止まるようにするための区切り */
.ev-css-start{}
/* 全体（白いカード） */
.ev{margin:0 0 2em!important;padding:1.6em 1.8em .5em;background:#fff;border:1px solid #dcdcdc;line-height:1.8}
/* 基本情報（日時・場所など） */
.ev .ev-info{margin:0 0 1.5em!important;padding:.5em 1.6em;background:#fff;border:0;border-left:5px solid #990000}
.ev .ev-info p{margin:0!important;padding:.65em 0 .65em 7.5em;text-indent:-7.5em}
.ev .ev-info p+p{border-top:1px solid #e6dccb}
.ev .ev-info p>strong:first-child{display:inline-block;box-sizing:border-box;width:7.5em;padding-right:1em;text-indent:0;color:#990000;font-weight:700}
/* 申し込みボタン */
.ev .ev-actions{margin:0 0 2em!important}
.ev .ev-actions .wp-block-button__link{display:inline-block;padding:.8em 2.2em;border:0;border-radius:3px;background:#990000;color:#fff;font-weight:700;line-height:1.5;text-decoration:none}
.ev .ev-actions .wp-block-button__link:hover,.ev .ev-actions .wp-block-button__link:focus{background:#7a0000;color:#fff}
.ev .ev-actions .wp-block-button__link:focus-visible{outline:2px solid #990000;outline-offset:3px}
/* 見出し（サイトの記事見出しと同じ赤線＋グレー線） */
.ev h4.ev-h{margin:2em 0 .9em!important;padding:0 0 .45em;border:0;font-size:1.15em;font-weight:700;color:#990000;background:linear-gradient(#990000,#990000) left bottom/4em 2px no-repeat,linear-gradient(#e0e0e0,#e0e0e0) left bottom/100% 1px no-repeat}
.ev h4.ev-h::before,.ev h4.ev-h::after{content:none}
/* 項目リスト（ラベルの下に本文） */
.ev .ev-list p{margin:0 0 1.1em!important}
.ev .ev-list p>strong:first-child{display:block;margin-bottom:.1em;font-size:.9em;color:#990000}
/* スマートフォン */
@media (max-width:600px){
.ev{padding:1.1em 1em .3em}
.ev .ev-info{padding:.4em 1.1em}
.ev .ev-info p{padding-left:0;text-indent:0}
.ev .ev-info p>strong:first-child{display:block;width:auto;padding-right:0}
.ev .ev-actions .wp-block-button{width:100%}
.ev .ev-actions .wp-block-button__link{display:block;text-align:center}
}




/* 史学会賞 blockのtableにtable_listを設定 */
.table_list table { margin-left: 0; }
.table_list table td, .table_list table th { padding: 3px 8px 8px 0; vertical-align: top; border: 1px solid #e6dfd1 !important; }
.entry-body .table_list table { width: 100%; border-collapse: collapse; background: rgba(255,255,255,.55); border: 1px solid #e6dfd1 }
.entry-body .table_list table td { border-bottom: 1px solid #e6dfd1; padding: .55rem .6rem; vertical-align: top; line-height: 1.6; }
.entry-body .table_list table tr:nth-child(even) td { background: rgba(203, 190, 173, .18); }
.entry-body .table_list table tr:hover td { background: rgba(153, 0, 0, .05); }
.entry-body .table_list table td.new_td1 { white-space: nowrap; width: 1%; padding-left: 1.4rem; position: relative; font-size: .9em; font-weight: bold; color: #7b5a4a; font-variant-numeric: tabular-nums; }
.entry-body .table_list table td.new_td1::before { content: "»"; position: absolute; left: .45rem; top: .45rem; color: var(--shigaku-red); font-size: 1.1em; line-height: 1.4; }
.entry-body .table_list table td.new_td2 { white-space: nowrap; width: 1%; color: #6b4a1a; font-size: .88em; }
.entry-body .table_list table td.new_td3 a { text-decoration: none; border-bottom: 1px solid rgba(153, 0, 0, .35); }
.entry-body .table_list table td.new_td3 a:hover { border-bottom-color: var(--shigaku-red); }
@media (max-width: 767px) { .entry-body .table_list table td { display: block; width: auto !important; padding: .2rem .6rem; border: 1px solid #e6dfd1 ; }
.entry-body .table_list table tr { display: block; border-bottom: 1px solid #e6dfd1 !important; padding: .4rem 0; } 
.entry-body .table_list table td.new_td1 { padding-left: 1.4rem; } }



/* トップページのヘッダー（スライダーの上）だけ、旧サイトの背景画像を使う */
.site-header { background: #f6f1e7 url(images/bg_body.gif); }


/* 投稿（お知らせ等）の個別ページで、先頭の投稿日時・投稿者を非表示にする */
.single-post .entry-header .entry-meta { display: none; }

/* 投稿の個別ページで、下部のSNSボタン（Copy含む）と「最新情報をチェック」を非表示にする */
.single-post .veu_socialSet, .single-post .veu_followSet { display: none; }

/* フッターメニューの文字色を白にする */
.site-footer .footer-nav a, .site-footer .footer-nav-list li a, .footer-nav a { color: #fff; }

