@charset "utf-8";
/* ============================================================
   見出しの形とお知らせ（2026-10-08）
   トップ（inc/sa-top-services.php）・お知らせ一覧 /info/ と記事ページ（inc/sa-news.php）で共通。
   ============================================================ */

:root{
	--sv-gold:#b8935a;
	--sv-gold-soft:#f6f1e7;
	--sv-ink:#26262a;
	--sv-sub:#5f5c56;
	--sv-line:#e4dfd5;
	--sv-accent:#ff5703;
	--sv-radius:10px;
}

/* ---- セクションの見出し（小さな英字＋明朝の見出し＋金の線） ---- */
.sa-sec-head{
	margin:0 0 20px;
	padding-bottom:12px;
	border-bottom:1px solid var(--sv-line);
	position:relative;
}
.sa-sec-head::after{   /* 左だけ金の太線 */
	content:"";position:absolute;left:0;bottom:-1px;width:72px;height:2px;background:var(--sv-gold);
}
.sa-sec-head--row{
	display:flex;align-items:flex-end;justify-content:space-between;gap:16px;
}
/* 旧CSS（#top_info h2・section > h2・下層の #contents section h2）に勝つよう ID を含めて指定する */
:is(#top_info,#top_services,#top_links,#contents) .sa-sec-head__title{
	margin:0;padding:0;border:0;width:auto;background:none;
	font-family:"Hiragino Mincho ProN","Yu Mincho","YuMincho",serif;
	font-size:28px;font-weight:600;line-height:1.3;letter-spacing:.04em;
	color:var(--sv-ink);text-align:left;
}
:is(#top_info,#top_services,#top_links,#contents) .sa-sec-head__title::after{content:none;}
.sa-sec-head__en{
	margin:0 0 4px;
	font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
	color:var(--sv-gold);
}
#contents p.sa-sec-head__en{font-size:12px;line-height:1.5;color:var(--sv-gold);margin:0 0 4px;}
.sa-sec-head__link{
	flex:none;
	display:inline-flex;align-items:center;gap:2px;
	padding:6px 14px;
	font-size:14px;font-weight:600;line-height:1.4;
	color:var(--sv-ink);text-decoration:none;box-shadow:none;
	border:1px solid var(--sv-line);border-radius:999px;background:#fff;
	transition:border-color .15s,color .15s,background .15s;
}
.sa-sec-head__link:hover,
.sa-sec-head__link:focus-visible{border-color:var(--sv-gold);color:var(--sv-gold);background:var(--sv-gold-soft);}
.sa-sec-head__link:focus-visible{outline:2px solid var(--sv-gold);outline-offset:2px;}

/* ---- お知らせの行 ---- */
.sa-news{list-style:none;margin:0;padding:0;border-top:0;}
#contents .sa-news__item,
.sa-news__item{margin:0;padding:0;border-bottom:1px solid var(--sv-line);list-style:none;}
.sa-news__link{
	display:grid;grid-template-columns:7em 3.4em 1fr 16px;align-items:center;column-gap:14px;   /* NEW の列は幅を固定（無い行で題名が寄らないように） */
	padding:16px 8px;
	color:var(--sv-ink);text-decoration:none;box-shadow:none;
	transition:background .15s;
}
.sa-news__link::after{   /* 右端の矢印。マウスを載せると少し動く */
	content:"";grid-column:4;width:7px;height:7px;justify-self:end;
	border-top:1.5px solid var(--sv-gold);border-right:1.5px solid var(--sv-gold);
	transform:rotate(45deg);transition:transform .2s;
}
.sa-news__link:hover{background:var(--sv-gold-soft);}
.sa-news__link:hover::after{transform:translateX(3px) rotate(45deg);}
.sa-news__link:focus-visible{outline:2px solid var(--sv-gold);outline-offset:-2px;}
.sa-news__date{
	grid-column:1;
	font-size:14px;letter-spacing:.06em;color:var(--sv-sub);
	font-variant-numeric:tabular-nums;
}
.sa-news__new{
	grid-column:2;justify-self:start;
	padding:1px 8px;border-radius:999px;
	font-size:11px;font-weight:700;letter-spacing:.08em;line-height:1.6;
	color:#fff;background:var(--sv-accent);
}
.sa-news__title{
	grid-column:3;
	font-size:16px;font-weight:600;line-height:1.6;
}
.sa-news__link:hover .sa-news__title{color:#8a6a35;}
.sa-news__empty{margin:0;padding:16px 8px;color:var(--sv-sub);}

/* ---- お知らせ一覧 /info/ ---- */
#contents section.sa-news-archive{margin:8px 0 64px;}
#contents p.sa-news-archive__count{
	margin:0;flex:none;font-size:13px;line-height:1.5;color:var(--sv-sub);font-variant-numeric:tabular-nums;
}

/* 年ごと（バックナンバー） */
.sa-years{margin:0 0 20px;}
.sa-years__list{
	list-style:none;margin:0;padding:0;
	display:flex;flex-wrap:wrap;gap:8px;
}
#contents .sa-years__list li{margin:0;padding:0;list-style:none;}
.sa-years__link{
	display:inline-flex;align-items:center;gap:6px;
	padding:6px 12px;border-radius:999px;
	font-size:14px;font-weight:600;line-height:1.3;
	color:var(--sv-ink);text-decoration:none;box-shadow:none;
	border:1px solid var(--sv-line);background:#fff;
	transition:border-color .15s,background .15s;
}
.sa-years__link:hover{border-color:var(--sv-gold);background:var(--sv-gold-soft);}
.sa-years__link:focus-visible{outline:2px solid var(--sv-gold);outline-offset:2px;}
.sa-years__link[aria-current]{background:var(--sv-ink);border-color:var(--sv-ink);color:#fff;}
.sa-years__n{
	font-size:11.5px;font-weight:600;color:var(--sv-sub);font-variant-numeric:tabular-nums;
}
.sa-years__link[aria-current] .sa-years__n{color:#d9d4ca;}

/* ページ送り */
.sa-pager{
	display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;
	margin:32px 0 0;
}
.sa-pager__nums{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:6px;}
#contents .sa-pager__nums li{margin:0;padding:0;list-style:none;}
.sa-pager__num,
.sa-pager__step{
	display:inline-flex;align-items:center;justify-content:center;
	min-width:42px;height:42px;padding:0 12px;border-radius:999px;
	font-size:14px;font-weight:600;font-variant-numeric:tabular-nums;
	color:var(--sv-ink);text-decoration:none;box-shadow:none;
	border:1px solid var(--sv-line);background:#fff;
	transition:border-color .15s,background .15s;
}
a.sa-pager__num:hover,
a.sa-pager__step:hover{border-color:var(--sv-gold);background:var(--sv-gold-soft);}
.sa-pager__num:focus-visible,
.sa-pager__step:focus-visible{outline:2px solid var(--sv-gold);outline-offset:2px;}
.sa-pager__num.is-current{background:var(--sv-ink);border-color:var(--sv-ink);color:#fff;}
.sa-pager__step{padding:0 18px;gap:6px;}
.sa-pager__step--prev::before{content:"←";font-weight:400;}
.sa-pager__step--next::after{content:"→";font-weight:400;}
.sa-pager__step.is-disabled{opacity:.35;}
.sa-pager__gap{color:var(--sv-sub);padding:0 2px;}

/* ---- 記事ページ（2026-10-08） ----
   旧：本文 14px・行の高さ1.3倍で詰まっていた。1行が最大1030px（約73字）まで伸び、
   5pxの灰色の太枠の中に入っていた。
   新：本文 16px・行の高さ2倍・1行は最大760px（約45字）。枠をやめ、日付と題名はトップと同じ見出しの形。
   本文は事務局が空の段落（&nbsp;）で行を空けて書いているので、段落の上下の余白は付けない
   （付けると空け方が二重になる）。 */
.single-post article.post{max-width:760px;margin:0 auto;float:none;}
.single-post article.post .sa-breadcrumbs{margin:0 0 20px;padding:0;}
.single-post article.post .entry-header{
	margin:0 0 32px;padding:0 0 18px;
	border-bottom:1px solid var(--sv-line);position:relative;
}
.single-post article.post .entry-header::after{
	content:"";position:absolute;left:0;bottom:-1px;width:72px;height:2px;background:var(--sv-gold);
}
.single-post article.post .entry-meta{margin:0 0 10px;}
.single-post article.post .entry-meta .entry-date{
	display:inline;width:auto;margin:0;padding:0;border:0;background:none;
	font-family:inherit;font-size:14px;font-weight:600;letter-spacing:.06em;color:var(--sv-gold);
}
.single-post article.post .entry-meta a{color:inherit;text-decoration:none;box-shadow:none;}
.single-post article.post .entry-meta .updated:not(.published){display:none;}
.single-post article.post .entry-title{
	width:auto;margin:0;padding:0;border:0;background:none;
	font-family:"Hiragino Mincho ProN","Yu Mincho","YuMincho",serif;
	font-size:30px;font-weight:600;line-height:1.5;letter-spacing:.03em;color:var(--sv-ink);
	text-wrap:balance;
}
.single-post article.post .entry-content{
	margin:0 !important;padding:0;border:0;
	font-size:16px;line-height:2;color:var(--sv-ink);
}
.single-post article.post .entry-content p,
.single-post article.post .entry-content li,
.single-post article.post .entry-content td{
	font-family:"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif;
	font-size:16px;line-height:2;letter-spacing:.02em;color:var(--sv-ink);
}
.single-post article.post .entry-content p{margin:0;}
.single-post article.post .entry-content p.sa-gap{height:1em;}   /* 空の段落（inc/sa-news.php） */
/* 上の「インフォメーション」の帯を本文の幅に（旧は 960×120 の固定） */
.single-post img.post_headerimg{width:100%;max-width:1080px;height:auto;aspect-ratio:8 / 1;object-fit:cover;}
.single-post article.post .entry-content a{text-decoration:underline;text-underline-offset:3px;box-shadow:none;}
.single-post article.post .entry-content a:hover{text-decoration-thickness:2px;}
.single-post article.post .entry-content img{max-width:100%;height:auto;border-radius:6px;}
.single-post article.post .entry-content :is(h2,h3,h4){line-height:1.5;margin:1.2em 0 .4em;}

/* ---- 記事ページの前後移動 ---- */
.sa-postnav{
	clear:both;
	display:grid;grid-template-columns:1fr auto 1fr;align-items:stretch;gap:12px;
	margin:32px 0 64px;
}
.sa-postnav__item{
	display:flex;flex-direction:column;gap:4px;min-width:0;
	padding:14px 18px;border:1px solid var(--sv-line);border-radius:var(--sv-radius);
	color:var(--sv-ink);text-decoration:none;box-shadow:none;background:#fff;
	transition:border-color .15s,background .15s;
}
.sa-postnav__item.is-empty{border:0;background:none;}
a.sa-postnav__item:hover{border-color:var(--sv-gold);background:var(--sv-gold-soft);}
.sa-postnav__item:focus-visible,
.sa-postnav__back:focus-visible{outline:2px solid var(--sv-gold);outline-offset:2px;}
.sa-postnav__item--prev{text-align:right;}
.sa-postnav__label{font-size:12px;font-weight:600;letter-spacing:.06em;color:var(--sv-gold);}
.sa-postnav__item--next .sa-postnav__label::before{content:"← ";}
.sa-postnav__item--prev .sa-postnav__label::after{content:" →";}
.sa-postnav__title{
	font-size:15px;font-weight:600;line-height:1.5;
	overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
}
.sa-postnav__date{font-size:12px;color:var(--sv-sub);font-variant-numeric:tabular-nums;}
.sa-postnav__back{
	align-self:center;
	display:inline-flex;align-items:center;justify-content:center;
	min-height:44px;padding:0 20px;border-radius:999px;
	font-size:14px;font-weight:700;white-space:nowrap;
	color:#fff;background:var(--sv-ink);text-decoration:none;box-shadow:none;
	transition:background .15s;
}
.sa-postnav__back:hover{background:#000;color:#fff;}
/* 旧「インフォメーション一覧へ戻る」と、隠してあった標準の前後リンクは使わない */
.single-post a.link_btn,
.single-post .navigation.post-navigation{display:none !important;}

@media (prefers-reduced-motion:reduce){
	.sa-news__link::after{transition:none;}
}

/* ---- スマホ ---- */
@media screen and (max-width:640px){
	:is(#top_info,#top_services,#top_links,#contents) .sa-sec-head__title{font-size:23px;}
	.sa-sec-head__link{padding:5px 12px;font-size:13px;}
	.sa-news-archive .sa-sec-head--row{flex-wrap:wrap;}
	/* お知らせは、日付（＋NEW）の行の下に題名 */
	.sa-news__link{grid-template-columns:auto 1fr 12px;row-gap:4px;column-gap:10px;padding:14px 4px;}
	.sa-news__date{grid-column:1;grid-row:1;font-size:13px;}
	.sa-news__new{grid-column:2;grid-row:1;justify-self:start;}
	.sa-news__title{grid-column:1 / span 2;grid-row:2;font-size:15px;}
	.sa-news__link::after{grid-column:3;grid-row:1 / span 2;}
	/* 年は横にスクロール（11年ぶんを折り返すと縦に長くなる） */
	.sa-years__list{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin;}
	.sa-years__link{white-space:nowrap;}
	/* 番号を1段目、前へ・次へを2段目の左右に */
	.sa-pager{display:grid;grid-template-columns:1fr 1fr;gap:12px 8px;}
	.sa-pager__nums{grid-column:1 / -1;grid-row:1;justify-content:center;}
	.sa-pager__step--prev{grid-row:2;justify-self:start;}
	.sa-pager__step--next{grid-row:2;justify-self:end;}
	.sa-pager__num{min-width:38px;height:38px;padding:0 8px;}
	.sa-pager__step{height:38px;padding:0 12px;}
	.single-post article.post .sa-breadcrumbs{margin-top:14px;}
	.single-post article.post .entry-header{margin-bottom:24px;padding-bottom:14px;}
	.single-post article.post .entry-title{font-size:23px;}
	.single-post article.post .entry-content p,
	.single-post article.post .entry-content li,
	.single-post article.post .entry-content td{font-size:15.5px;line-height:1.95;}
		.sa-postnav{grid-template-columns:1fr;}
	.sa-postnav__item--prev{text-align:left;}
	.sa-postnav__item.is-empty{display:none;}
	.sa-postnav__back{order:3;}
}
