/*
Theme Name: Seinaru Inori
Theme URI: https://zoom.peace51.net/
Description: 神聖祈りの会のテーマ。富士聖地から望む夜の富士山・祈る人々・円盤の光を Canvas で描くトップページと、同じ夜空でつながるヘッダー。
Version: 1.0.0
Author: Claude Code
Text Domain: seinaru-inori
*/

/* ===== 色と文字 ===== */
:root {
	--sky-0: #0b1050;      /* 夜空のいちばん上 */
	--sky-1: #1b2486;      /* 夜藍 */
	--sky-2: #3a3aa2;      /* 紫紺 */
	--dawn: #e8708a;       /* 暁の薔薇色 */
	--dawn-2: #f6a96b;     /* 曙の橙 */
	--star: #ffe6a8;       /* 星の金 */
	--paper: #f3f1fb;      /* 本文の地（月白） */
	--card: #ffffff;
	--ink: #1f2152;        /* 本文の文字 */
	--ink-soft: #545781;
	--line: #dcd8f0;
	--link: #2d3fa0;
	--font-body: "Zen Maru Gothic", "Hiragino Maru Gothic ProN", "Yu Gothic", "Meiryo", sans-serif;
	--font-head: "Shippori Mincho B1", "Hiragino Mincho ProN", "Yu Mincho", serif;
	--wrap: 1120px;
	--read: 46em;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
	margin: 0;
	background: var(--paper);
	color: var(--ink);
	font-family: var(--font-body);
	font-size: 17px;
	line-height: 1.9;
	font-weight: 500;
	overflow-wrap: anywhere;
}
img, video { max-width: 100%; height: auto; }
iframe { max-width: 100%; }
a { color: var(--link); text-underline-offset: .2em; }
a:hover { color: #6a3fa0; }
:focus-visible { outline: 3px solid var(--star); outline-offset: 3px; border-radius: 4px; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip-link:focus { position: fixed; left: 12px; top: 12px; z-index: 10000; width: auto; height: auto; clip: auto; background: #fff; color: var(--ink); padding: 8px 14px; border-radius: 8px; }

/* ===== ヘッダー（夜空と1枚につながる） ===== */
.site-head {
	position: relative;
	z-index: 5;
	color: #fff;
	text-align: center;
	padding: 26px 16px 0;
	background:
		radial-gradient(1.2px 1.2px at 12% 30%, #fff 60%, transparent 61%),
		radial-gradient(1px 1px at 27% 70%, #fff 60%, transparent 61%),
		radial-gradient(1.4px 1.4px at 41% 22%, #ffe9bd 60%, transparent 61%),
		radial-gradient(1px 1px at 58% 64%, #fff 60%, transparent 61%),
		radial-gradient(1.3px 1.3px at 73% 35%, #fff 60%, transparent 61%),
		radial-gradient(1px 1px at 88% 58%, #fff 60%, transparent 61%),
		radial-gradient(1px 1px at 95% 18%, #ffe9bd 60%, transparent 61%),
		radial-gradient(1px 1px at 5% 80%, #fff 60%, transparent 61%),
		linear-gradient(180deg, var(--sky-0) 0%, var(--sky-1) 100%);
}
.home .site-head { position: absolute; left: 0; right: 0; top: 0; background: none; }
.admin-bar.home .site-head { top: 32px; }
@media (max-width: 782px) { .admin-bar.home .site-head { top: 46px; } }

.site-head__catch {
	margin: 0;
	font-size: 13px;
	letter-spacing: .42em;
	opacity: .88;
}
.site-head__title {
	margin: .2em 0 .45em;
	font-family: var(--font-head);
	font-weight: 600;
	font-size: clamp(28px, 3.3vw, 46px);
	line-height: 1.3;
	letter-spacing: .32em;
	text-indent: .32em;
	text-shadow: 0 2px 18px rgba(10, 10, 70, .6);
}
.site-head__title a { color: #fff; text-decoration: none; }
/* 英・西・伊のサイト：長いサイト名とキャッチを広い字間で崩さない */
html:not([lang^="ja"]) .site-head__title { letter-spacing: .06em; text-indent: 0; font-size: clamp(26px, 3vw, 42px); }
html:not([lang^="ja"]) .site-head__catch { letter-spacing: .18em; }
html:not([lang^="ja"]) .site-nav a { letter-spacing: .02em; }
.site-nav {
	max-width: var(--wrap);
	margin: 0 auto;
	border-top: 1px solid rgba(255, 255, 255, .18);
}
.site-nav ul { list-style: none; margin: 0; padding: 0; display: flex; justify-content: center; flex-wrap: wrap; }
.site-nav a {
	display: block;
	padding: 13px 17px 14px;
	color: #fff;
	text-decoration: none;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: .06em;
	/* 夜空や円盤の光の上でも白い文字が映えるよう、濃い紺のふちどり＋にじみ */
	text-shadow: 0 0 2px rgba(8, 10, 50, .95), 0 1px 3px rgba(8, 10, 50, .9), 0 0 10px rgba(8, 10, 50, .75);
	position: relative;
}
.site-nav a::after {
	content: "";
	position: absolute;
	left: 50%; right: 50%; bottom: 6px;
	height: 2px;
	background: var(--dawn);
	transition: left .25s, right .25s;
}
.site-nav a:hover::after,
.site-nav .current-menu-item > a::after { left: 17px; right: 17px; }
.site-nav a:hover { color: var(--star); }
#s-navi { display: none !important; }
/* スマホ・タブレット：メニューは横書きの小さな文字で、4項目ずつ2行に並べる */
@media (max-width: 959px) {
	.site-head { padding: 16px 8px 4px; }
	.site-head__catch { font-size: 11px; letter-spacing: .3em; }
	.site-head__title { margin-bottom: .3em; }
	.site-nav ul { display: grid; grid-template-columns: repeat(4, auto); justify-content: space-evenly; column-gap: 4px; }
	.site-nav a {
		padding: 7px 2px 8px;
		font-size: 12px;
		letter-spacing: 0;
		white-space: nowrap;
	}
	.site-nav a::after { bottom: 3px; }
	.site-nav a:hover::after, .site-nav .current-menu-item > a::after { left: 18%; right: 18%; }
}
@media (max-width: 380px) {
	.site-nav a { font-size: 11px; letter-spacing: -.03em; }
}
/* スマホ・タブレット（959px以下）のメニューは、アイコン帯（sp-icon-nav）だけにする（2026-10-12 Masaharuさん「この部分だけあればいい」）。
   テーマの文字メニューは出さない。アイコン帯の字が狭い画面で隣と重ならないよう、少し小さくして折り返せるようにする */
@media (max-width: 959px) {
	.site-nav { display: none; }
	.site-head { padding-bottom: 12px; }
	#sp-icon-nav span { font-size: 10px; white-space: normal !important; word-break: break-all; line-height: 1.15; }
}

/* ===== トップの絵 ===== */
.hero {
	position: relative;
	height: 100vh;
	height: 100svh;
	min-height: 600px;
	max-height: 1100px;
	background: var(--sky-0);
	overflow: hidden;
}
.admin-bar .hero { height: calc(100svh - 32px); }
#inori-sky { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
/* 縦向きのスマホ・タブレット：ヘッダーは絵の上の別の段（夜空の色）に置き、絵は円盤と人々に使う */
/* 959px以下は向きにかかわらず、ヘッダーを絵の上の別の段に置く（スマホのアイコン帯が上に貼り付くので、絵に重ねると隠れる） */
@media (max-width: 959px) {
	.home .site-head { position: relative; top: auto !important; background: var(--sky-0); }
}
@media (max-width: 959px) and (orientation: portrait) {
	.hero { height: 78svh; min-height: 520px; }
	.admin-bar .hero { height: 78svh; }
}
/* 横向きのスマホ：PCと同じくヘッダーを絵の上に重ね、文字を小さくして絵を広く見せる */
@media (max-height: 520px) and (orientation: landscape) {
	.hero { height: 100svh; min-height: 0; }
	.admin-bar .hero { height: 100svh; }
	.site-head { padding: 8px 8px 6px; }
	.site-head__catch { font-size: 10px; }
	.site-head__title { font-size: 24px; margin: .1em 0 .2em; }
	.site-nav ul { display: flex; flex-wrap: wrap; justify-content: center; }
	.site-nav a { padding: 4px 9px 6px; font-size: 12px; }
}

/* 絵のすぐ下：夜の芝生の色から本文へ */
.welcome {
	background: linear-gradient(180deg, #122b3c 0%, #172a5e 55%, #1b2486 100%);
	color: #fff;
	text-align: center;
	padding: 56px 16px 64px;
}
.welcome__lead {
	max-width: 34em;
	margin: 0 auto 28px;
	font-size: clamp(17px, 1.6vw, 20px);
	line-height: 2.05;
}
.actions { display: flex; flex-wrap: wrap; gap: 14px; justify-content: center; margin: 0; }
.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 10px 30px;
	border-radius: 999px;
	font-weight: 700;
	font-size: 17px;
	text-decoration: none;
	letter-spacing: .04em;
	transition: transform .15s, box-shadow .15s, background .15s;
}
.btn:hover { transform: translateY(-1px); }
.btn--dawn { background: linear-gradient(135deg, var(--dawn-2), var(--dawn)); color: #2a1030; box-shadow: 0 6px 22px rgba(232, 112, 138, .4); }
.btn--dawn:hover { color: #2a1030; box-shadow: 0 8px 26px rgba(232, 112, 138, .55); }
.btn--ghost { color: #fff; border: 1.5px solid rgba(255, 255, 255, .55); }
.btn--ghost:hover { color: var(--star); border-color: var(--star); }
.btn--ink { background: var(--sky-1); color: #fff; }
.btn--ink:hover { background: var(--sky-2); color: #fff; }
.btn--line { color: var(--sky-1); border: 1.5px solid var(--sky-1); }
.btn--line:hover { color: var(--sky-2); border-color: var(--sky-2); }

/* ===== トップの各欄 ===== */
.band { padding: 72px 16px; }
.band + .band { border-top: 1px solid var(--line); }
.band__in { max-width: var(--wrap); margin: 0 auto; }
.band h2 {
	font-family: var(--font-head);
	font-weight: 600;
	font-size: clamp(24px, 2.4vw, 32px);
	line-height: 1.45;
	letter-spacing: .08em;
	margin: 0 0 .6em;
	color: var(--sky-1);
}
.band h2::before {
	content: "";
	display: inline-block;
	width: .62em; height: .62em;
	margin-right: .45em;
	vertical-align: .08em;
	background: var(--dawn);
	clip-path: polygon(50% 0, 61% 39%, 100% 50%, 61% 61%, 50% 100%, 39% 61%, 0 50%, 39% 39%);
}
.band__intro { max-width: var(--read); margin: 0 0 32px; color: var(--ink-soft); }

/* 参加のしかた：Zoom を大きく、ほかは横に */
.join { display: grid; grid-template-columns: 1.25fr 1fr; gap: 28px; align-items: stretch; }
.join__main {
	background: linear-gradient(160deg, var(--sky-1), #2c2a8e 70%, #4a3596);
	color: #fff;
	border-radius: 22px;
	padding: 36px 36px 32px;
}
.join__main h3 { font-family: var(--font-head); font-size: 26px; margin: 0 0 .4em; font-weight: 600; letter-spacing: .06em; }
.join__main p { margin: 0 0 1.2em; }
.join__main .note { font-size: 15px; opacity: .85; margin: 1.1em 0 0; }
.join__main .note a { color: var(--star); }
.join__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.join__list a {
	display: block;
	height: 100%;
	background: var(--card);
	border: 1px solid var(--line);
	border-radius: 16px;
	padding: 18px 22px;
	text-decoration: none;
	color: var(--ink);
	transition: border-color .15s;
}
.join__list a:hover { border-color: var(--sky-2); }
.join__list strong { display: block; font-size: 18px; color: var(--sky-1); }
.join__list span { display: block; font-size: 15px; color: var(--ink-soft); }

/* ピースレター */
.letters { display: grid; grid-template-columns: 1fr 1.15fr; gap: 40px; align-items: start; }
.letters .actions { justify-content: flex-start; margin-top: 8px; }
.letter-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line); }
.letter-list li { border-bottom: 1px solid var(--line); }
.letter-list a { display: grid; grid-template-columns: 7.5em 1fr; gap: 12px; padding: 14px 4px; text-decoration: none; color: var(--ink); }
.letter-list a:hover { background: #fff; }
.letter-list time { color: var(--ink-soft); font-size: 15px; font-variant-numeric: tabular-nums; }
.letter-list .more { display: block; padding: 14px 4px; }

/* 会について */
.about p { max-width: var(--read); }

/* 祈りのページ・各国語版 */
.links { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 0 32px; }
.links li { border-bottom: 1px solid var(--line); }
.links a { display: block; padding: 14px 4px; text-decoration: none; }
.links a:hover { text-decoration: underline; }
.langs { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 14px; }
.langs a { display: block; background: var(--card); border: 1px solid var(--line); border-radius: 14px; padding: 14px 18px; text-decoration: none; color: var(--ink); }
.langs a:hover { border-color: var(--sky-2); }
.langs strong { display: block; color: var(--sky-1); }
.langs span { font-size: 14px; color: var(--ink-soft); }
.pass { margin: 0 0 20px; }

@media (max-width: 860px) {
	.band { padding: 52px 16px; }
	.join, .letters { grid-template-columns: 1fr; }
	.join__main { padding: 28px 22px; }
	.letter-list a { grid-template-columns: 1fr; gap: 0; }
}

/* ===== 内側のページ ===== */
/* トップ以外のページ：本文の左右の余白を、夜明け前の紫がかった星空にする（本文の枠は白のまま）。
   スクロールしても空は動かない（固定）。スマホでは固定背景が重いので、ページと一緒に流れる */
body:not(.home) {
	background-color: #241f6b;
	background-image:
		url("assets/stars.png"),
		radial-gradient(ellipse 120% 55% at 50% 108%, rgba(246, 150, 140, .55) 0%, rgba(214, 112, 160, .35) 30%, rgba(120, 70, 170, 0) 65%),
		linear-gradient(180deg, #0b1050 0%, #1d2484 32%, #3b33a0 58%, #6a45a8 80%, #a35a9e 100%);
	background-size: 640px 640px, 100% 100%, 100% 100%;
	background-repeat: repeat, no-repeat, no-repeat;
	background-attachment: fixed, fixed, fixed;
}
@media (max-width: 959px) {
	body:not(.home) { background-attachment: scroll, scroll, scroll; background-size: 480px 480px, 100% 100%, 100% 100%; }
}
.page-wrap { max-width: 1100px; margin: 0 auto; padding: 44px 16px 72px; }
body:not(.home) .entry { box-shadow: 0 10px 40px rgba(8, 10, 50, .35); }
.entry {
	background: var(--card);
	border-radius: 20px;
	padding: 44px clamp(18px, 5vw, 56px) 52px;
	box-shadow: 0 1px 0 var(--line);
}
.entry-title {
	font-family: var(--font-head);
	font-weight: 600;
	font-size: clamp(24px, 2.6vw, 34px);
	line-height: 1.45;
	letter-spacing: .05em;
	color: var(--sky-1);
	margin: 0 0 .3em;
}
.entry-meta { color: var(--ink-soft); font-size: 15px; margin: 0 0 1.6em; }
.entry-content { margin-top: 1.4em; }
.entry-content > *:first-child { margin-top: 0; }
.entry-content h2 {
	font-family: var(--font-head);
	font-weight: 600;
	font-size: 24px;
	line-height: 1.5;
	color: var(--sky-1);
	margin: 2.2em 0 .8em;
	padding: .2em 0 .2em .8em;
	border-left: 4px solid var(--dawn);
}
.entry-content h3 { font-size: 20px; color: var(--sky-1); margin: 1.8em 0 .6em; }
.entry-content h4 { font-size: 18px; margin: 1.6em 0 .5em; }
.entry-content blockquote { margin: 1.5em 0; padding: 18px 22px; background: #f0eefb; border-left: 4px solid var(--sky-2); border-radius: 0 12px 12px 0; }
.entry-content hr { border: 0; border-top: 1px solid var(--line); margin: 2em 0; }
.entry-content table { border-collapse: collapse; max-width: 100%; }
.entry-content th, .entry-content td { border: 1px solid #d6d3ea; padding: 8px 12px; vertical-align: middle; }
.entry-content th { background: var(--sky-1); color: #fff; font-weight: 700; }
.entry-content th a { color: #fff; }
.table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 1.2em 0; }
.table-scroll > table { margin: 0; }
.entry-content .wp-block-button__link, .entry-content .button { border-radius: 999px; }
.post-nav { display: flex; justify-content: space-between; gap: 16px; margin-top: 36px; font-size: 15px; }
.archive-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line); }
.archive-list li { border-bottom: 1px solid var(--line); }
.archive-list a { display: grid; grid-template-columns: 8em 1fr; gap: 12px; padding: 14px 4px; text-decoration: none; color: var(--ink); }
.archive-list a:hover { background: #f7f6fd; }
.archive-list time { color: var(--ink-soft); font-size: 15px; }
@media (max-width: 600px) { .archive-list a { grid-template-columns: 1fr; gap: 0; } }
.pagination { margin-top: 32px; display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.pagination .page-numbers { display: inline-block; min-width: 44px; padding: 8px 12px; text-align: center; border-radius: 10px; border: 1px solid var(--line); background: #fff; text-decoration: none; }
.pagination .current { background: var(--sky-1); color: #fff; border-color: var(--sky-1); }
.search-form { display: flex; gap: 8px; margin: 1em 0; }
.search-form input[type="search"] { flex: 1; min-height: 46px; padding: 8px 14px; border: 1px solid var(--line); border-radius: 10px; font: inherit; }
.search-form button { min-height: 46px; padding: 8px 20px; border: 0; border-radius: 10px; background: var(--sky-1); color: #fff; font: inherit; font-weight: 700; cursor: pointer; }

/* ===== フッター ===== */
.site-foot {
	color: #e9e7ff;
	background: linear-gradient(180deg, var(--sky-1) 0%, var(--sky-0) 100%);
	padding: 0 16px 36px;
	position: relative;
}
.site-foot__fuji { display: block; width: 100%; height: 70px; margin: 0 -16px; width: calc(100% + 32px); }
.site-foot__in { max-width: var(--wrap); margin: 0 auto; }
.site-foot__name { font-family: var(--font-head); font-size: 22px; letter-spacing: .2em; margin: 8px 0 14px; color: #fff; }
.site-foot ul { list-style: none; margin: 0 0 22px; padding: 0; display: flex; flex-wrap: wrap; gap: 4px 22px; }
.site-foot a { color: #e9e7ff; text-decoration: none; }
.site-foot a:hover { color: var(--star); text-decoration: underline; }
.site-foot small { display: block; opacity: .7; font-size: 13px; }

/* ===== 以前のテーマから引き継ぐ本文用の装飾（開催予定表・YouTube一覧・ピースレター記事） ===== */
td.nichiji, td.hizuke, td.youbi, td.jikan, td.shubetsu, td.youtubeurl, td.sakujobi { font-weight: bold !important; background-color: #1B2A4A !important; color: #fff !important; }
.schedule-table .col-date { font-weight: bold !important; }
.schedule-table .gratitude-label { font-size: 13px !important; color: inherit !important; }
@media screen and (max-width: 599px) {
	td.hizuke { width: 16%; } td.youbi { width: 10%; } td.jikan { width: 16%; } td.shubetsu { width: 7%; } td.youtubeurl { width: 32%; } td.sakujobi { width: 14%; }
}
@media screen and (min-width: 600px) {
	td.hizuke { width: 15%; } td.youbi { width: 10%; } td.jikan { width: 15%; } td.shubetsu { width: 5%; } td.youtubeurl { width: 40%; } td.sakujobi { width: 15%; }
}
.postie-post, .postie-post table, .postie-post tbody, .postie-post tr, .postie-post td, .postie-post div, .postie-post p { background-color: #FFF !important; }
.ms_form_body { max-width: 100%; width: auto; height: auto; font-size: 16px; text-align: center; padding: 28px 0; margin: 0; border: 1px solid #c0c0c0; border-top: none; background-color: #ffffff; }
.download-box, .dlm-download-link, .dlm-download a, .download-box a, .wp-block-download-monitor-dlm-download-button a, a.download-link { color: #fff !important; }
.download-box .download-count, .download-box .download-title { color: #fff !important; }
a.dlm-download-button, a.dlm-download-link.wp-block-button__link { color: #ffffff !important; text-decoration: none !important; font-weight: bold !important; }
a.dlm-download-button small, a.dlm-download-link.wp-block-button__link small { color: #ffffff !important; text-decoration: none !important; }
@media screen and (max-width: 768px) {
	p:has(#excelTable) { overflow-x: auto !important; -webkit-overflow-scrolling: touch; max-width: 100%; display: block; }
	#excelTable { overflow: visible !important; min-width: 550px; width: 550px !important; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition: none !important; }
}

/* ===== 上へ戻るボタン（右下・少し下へ読み進めると現れる） ===== */
.to-top {
	position: fixed;
	right: 16px;
	bottom: calc(16px + env(safe-area-inset-bottom, 0px));
	z-index: 9995;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(27, 36, 134, .9);
	border: 1.5px solid rgba(255, 230, 168, .7);
	box-shadow: 0 4px 16px rgba(8, 10, 50, .45);
	opacity: 0;
	pointer-events: none;
	transform: translateY(8px);
	transition: opacity .25s, transform .25s;
}
.to-top.is-shown { opacity: 1; pointer-events: auto; transform: none; }
.to-top:hover { background: rgba(58, 58, 162, .95); }
.to-top svg { width: 24px; height: 24px; fill: none; stroke: var(--star); stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
@media (min-width: 960px) { .to-top { right: 28px; bottom: 28px; width: 54px; height: 54px; } }

/* ===== きらめき続ける星（assets/twinkle.js） ===== */
#inori-twinkle { position: fixed; inset: 0; width: 100vw; height: 100vh; pointer-events: none; z-index: 0; }
/* 内側のページ：ヘッダーは透明にして余白と一続きの夜空にし、星はヘッダーと余白で瞬く。本文の枠・フッターは星の上に重ねる */
body:not(.home) .site-head { background: transparent; z-index: 2; }
body:not(.home) .page-wrap, body:not(.home) .site-foot { position: relative; z-index: 1; }
/* トップ：スマホでヘッダーが別の段のときだけ、その中で瞬く（絵や本文の上には出ない） */
body.home #inori-twinkle { z-index: 6; }

/* ===== 昼のサイト（勉強会ホームページ divine-spark・body.inori-day） ===== */
/* 同じ構図の正午の絵に合わせて、夜空の色を正午の青空の色に置き換える。星は出さない（twinkle.js も読み込まない） */
body.inori-day {
	--sky-0: #1b5fc4;      /* 正午の空のいちばん上 */
	--sky-1: #1f63b8;      /* 青空 */
	--sky-2: #3d8ad8;      /* 明るい青 */
	--dawn: #f0a73a;       /* 日ざしの金 */
	--dawn-2: #ffd27a;     /* 日ざしの淡い金 */
	--star: #fff2b8;
	--paper: #f1f7fc;      /* 本文の地（雲の白） */
	--ink: #1b2f45;
	--ink-soft: #4d6178;
	--line: #d3e3f1;
	--link: #1f5fb0;
}
body.inori-day a:hover { color: #2f8a4a; }
/* ヘッダー：内側のページとスマホのトップでは、青空と白い雲 */
body.inori-day .site-head {
	background:
		radial-gradient(ellipse 22% 38% at 12% 92%, rgba(255, 255, 255, .55) 0%, rgba(255, 255, 255, 0) 70%),
		radial-gradient(ellipse 18% 30% at 86% 88%, rgba(255, 255, 255, .5) 0%, rgba(255, 255, 255, 0) 70%),
		linear-gradient(180deg, #1b5fc4 0%, #3b8be0 100%);
}
body.inori-day.home .site-head { background: none; }
@media (max-width: 959px) {
	/* 下の端を絵のいちばん上の空の色（#1a74e6）にそろえ、ヘッダーと絵の境目に段差を作らない */
	body.inori-day.home .site-head { background: linear-gradient(180deg, #1456bd 0%, #1a74e6 100%); }
}
/* スマホ：サイト名「神聖で繋がり合う人々」（10文字）を1行に収める（字間を詰める） */
@media (max-width: 599px) {
	body.inori-day .site-head__title { font-size: clamp(22px, 7.2vw, 30px); letter-spacing: .1em; text-indent: .1em; }
	body.inori-day .day-cal .entry-title { font-size: clamp(20px, 6vw, 26px); letter-spacing: .02em; }
}
body.inori-day .site-head__title { text-shadow: 0 2px 14px rgba(10, 40, 100, .55); }
body.inori-day .site-head__catch { text-shadow: 0 1px 6px rgba(10, 40, 100, .6); }
body.inori-day .site-nav { border-top-color: rgba(255, 255, 255, .35); }
body.inori-day .site-nav a { text-shadow: 0 0 2px rgba(10, 40, 100, .95), 0 1px 3px rgba(10, 40, 100, .9), 0 0 10px rgba(10, 40, 100, .7); }
body.inori-day .hero { background: #2f7fdb; }
/* 絵のすぐ下：正午の芝生の緑から本文へ */
body.inori-day .welcome { background: linear-gradient(180deg, #4f9a3c 0%, #2f7a52 45%, #1f63b8 100%); }
.welcome__h { font-family: var(--font-head); font-weight: 600; font-size: clamp(22px, 2.2vw, 30px); letter-spacing: .08em; margin: 0 0 .5em; }
.welcome__note { margin: 18px 0 0; font-size: 15px; opacity: .92; }
body.inori-day .btn--dawn { color: #3a2400; box-shadow: 0 6px 22px rgba(240, 167, 58, .45); }
/* 勉強会カレンダー：トップでは本文の白い枠に入れて、横幅いっぱいに使う */
.day-cal .entry { padding: 36px clamp(14px, 3vw, 40px) 40px; box-shadow: 0 6px 30px rgba(20, 60, 120, .12); }
.day-cal .entry-title { margin-bottom: .6em; }
/* 内側のページ：本文の左右の余白を、正午の青空と白い雲にする（星なし） */
body.inori-day:not(.home) {
	background-color: #5aa6ec;
	background-image:
		radial-gradient(ellipse 30% 9% at 18% 22%, rgba(255, 255, 255, .85) 0%, rgba(255, 255, 255, 0) 70%),
		radial-gradient(ellipse 26% 8% at 80% 34%, rgba(255, 255, 255, .8) 0%, rgba(255, 255, 255, 0) 70%),
		radial-gradient(ellipse 34% 10% at 30% 62%, rgba(255, 255, 255, .7) 0%, rgba(255, 255, 255, 0) 70%),
		radial-gradient(ellipse 28% 9% at 86% 78%, rgba(255, 255, 255, .7) 0%, rgba(255, 255, 255, 0) 70%),
		linear-gradient(180deg, #1b5fc4 0%, #3b8be0 35%, #7dbcf2 70%, #c6e6fb 100%);
	background-size: 100% 100%;
	background-repeat: no-repeat;
	background-attachment: fixed;
}
@media (max-width: 959px) {
	body.inori-day:not(.home) { background-attachment: scroll; }
}
body.inori-day:not(.home) .site-head { background: transparent; }
/* 本文の短いページでも、フッターを画面の下端に置く（フッターの下に空が見えないように） */
body.inori-day:not(.home) { min-height: 100vh; min-height: 100svh; display: flex; flex-direction: column; }
body.inori-day:not(.home) .page-wrap { flex: 1 0 auto; width: 100%; }
body.inori-day:not(.home) .entry { box-shadow: 0 10px 36px rgba(20, 60, 120, .25); }
body.inori-day .entry-content blockquote { background: #eef5fc; }
body.inori-day .entry-content th, body.inori-day .entry-content td { border-color: #cfe0ef; }
/* フッター：青空から深い青へ */
body.inori-day .site-foot { color: #eaf4ff; background: linear-gradient(180deg, #1f63b8 0%, #123f86 100%); }
body.inori-day .site-foot a { color: #eaf4ff; }
body.inori-day .site-foot__fuji path { fill: #123f86; }
body.inori-day .to-top { background: rgba(31, 99, 184, .92); border-color: rgba(255, 210, 122, .8); box-shadow: 0 4px 16px rgba(20, 60, 120, .4); }
body.inori-day .to-top:hover { background: rgba(61, 138, 216, .95); }

/* ===== 夕焼けのサイト（VG zoom.vg・body.inori-sunset） ===== */
/* 同じ構図の夕焼けの絵に合わせて、藍から紅紫（VG の色 #b83280）・茜・金へ移る夕焼けの色にする（2026-10-12 Masaharuさん「VGの夕焼け版」） */
body.inori-sunset {
	--sky-0: #1f266c;      /* 夕焼けの空のいちばん上（藍） */
	--sky-1: #4a2470;      /* 紫 */
	--sky-2: #8a2f7a;      /* 紅紫 */
	--dawn: #f08a3c;       /* 夕日の茜 */
	--dawn-2: #ffc56b;     /* 夕日の金 */
	--star: #ffd98a;
	--paper: #fbf4f3;      /* 本文の地（夕映えの白） */
	--ink: #2a1f3a;
	--ink-soft: #6a5570;
	--line: #ecd9e2;
	--link: #a02c74;
}
body.inori-sunset a:hover { color: #d9532c; }
body.inori-sunset .site-head {
	background:
		radial-gradient(ellipse 30% 40% at 85% 100%, rgba(240, 138, 60, .45) 0%, rgba(240, 138, 60, 0) 70%),
		linear-gradient(180deg, #18205e 0%, #4a2470 100%);
}
body.inori-sunset.home .site-head { background: none; }
@media (max-width: 959px) {
	/* 下の端を絵のいちばん上の空の色（#1f266c）にそろえる */
	body.inori-sunset.home .site-head { background: linear-gradient(180deg, #161c56 0%, #1f266c 100%); }
}
body.inori-sunset .site-head__title { letter-spacing: .06em; text-indent: 0; font-size: clamp(24px, 2.8vw, 40px); }
@media (max-width: 599px) {
	/* 長いサイト名を、狭い画面で読みやすく */
	body.inori-sunset .site-head__title { font-size: clamp(18px, 5.4vw, 26px); letter-spacing: .02em; }
}
body.inori-sunset .hero { background: #1f266c; }
/* 絵のすぐ下：夕日に照らされた芝生の色から、紅紫・藍の本文へ */
body.inori-sunset .welcome { background: linear-gradient(180deg, #5e4a1e 0%, #6a2a5e 45%, #3a2470 100%); }
body.inori-sunset .btn--dawn { color: #3a1400; box-shadow: 0 6px 22px rgba(240, 138, 60, .45); }
body.inori-sunset .band h2::before { background: #b83280; }
.vg-news { border-top: 1px solid var(--line); }
.vg-news a { grid-template-columns: 6.5em 1fr; }
.vg-more { margin: 18px 0 0; text-align: right; }
.vg-pages__list { list-style: none; margin: 0; padding: 0; }
.vg-pages__list a { font-weight: 700; color: var(--sky-1); }
/* 内側のページ：本文の左右の余白を、藍から紅紫・茜・金へ移る夕焼けの空にする */
body.inori-sunset:not(.home) {
	background-color: #6a2a6e;
	background-image:
		radial-gradient(ellipse 40% 12% at 20% 55%, rgba(255, 170, 110, .35) 0%, rgba(255, 170, 110, 0) 70%),
		radial-gradient(ellipse 36% 10% at 78% 70%, rgba(255, 150, 90, .35) 0%, rgba(255, 150, 90, 0) 70%),
		linear-gradient(180deg, #1f266c 0%, #4a2470 30%, #b83280 62%, #f0743c 86%, #ffb45c 100%);
	background-size: 100% 100%;
	background-repeat: no-repeat;
	background-attachment: fixed;
	min-height: 100vh;
	min-height: 100svh;
	display: flex;
	flex-direction: column;
}
@media (max-width: 959px) {
	body.inori-sunset:not(.home) { background-attachment: scroll; }
}
body.inori-sunset:not(.home) .site-head { background: transparent; }
body.inori-sunset:not(.home) .page-wrap { flex: 1 0 auto; width: 100%; }
body.inori-sunset:not(.home) .entry { box-shadow: 0 10px 36px rgba(40, 10, 50, .35); }
body.inori-sunset .entry-content blockquote { background: #faeef2; }
/* フッター：紫から藍の夜へ */
body.inori-sunset .site-foot { color: #f4e8f4; background: linear-gradient(180deg, #4a2470 0%, #1f266c 100%); }
body.inori-sunset .site-foot a { color: #f4e8f4; }
body.inori-sunset .site-foot__fuji path { fill: #1f266c; }
body.inori-sunset .to-top { background: rgba(74, 36, 112, .92); border-color: rgba(255, 197, 107, .8); box-shadow: 0 4px 16px rgba(40, 10, 50, .45); }
body.inori-sunset .to-top:hover { background: rgba(138, 47, 122, .95); }
