/* moved stylesheet */
/* --- markdown表示領域共通 --- */
#news-md, #policy-md { padding:0; background:none; border-radius:0; box-shadow:none; margin:0  auto 1.2em; text-align:left; max-width:700px; font-size:1.05em; line-height:1.7; }
/* 個別差分 */
#policy-md { height:600px; overflow-y:auto; }
@media (max-width:700px){ #policy-md { height:400px; } }
/* --- トップページ最新ニュース表示領域（簡易Markdown適用） --- */
#latest-news { text-align:left; font-size:1.02em; line-height:1.7; max-height:420px; overflow-y:auto; padding-right:0.4em; scrollbar-width:thin; }
#latest-news::-webkit-scrollbar { width:8px; }
#latest-news::-webkit-scrollbar-track { background:transparent; }
#latest-news::-webkit-scrollbar-thumb { background:#bbb; border-radius:4px; }
#latest-news:focus-within { outline:2px solid #bbb; outline-offset:2px; }
#latest-news h1, #latest-news h2, #latest-news h3, #latest-news h4, #latest-news h5, #latest-news h6 { font-weight:700; margin:1.1em 0 0.5em 0; line-height:1.3; }
#latest-news h1 { font-size:1.4em; }
#latest-news h2 { font-size:1.3em; }
#latest-news h3 { font-size:1.18em; }
#latest-news p { margin:0.7em 0; }
#latest-news ul, #latest-news ol { margin:0.6em 0 0.9em 1.3em; padding:0; }
#latest-news li { margin:0 0 0.35em 0; }
#latest-news a { text-decoration:underline; word-break:break-all; }
#latest-news blockquote { margin:0.9em 0; padding:0.6em 0.9em; background:#f5f5f5; border-left:4px solid #bbb; border-radius:6px; }
#latest-news code { background:#f5f5f5; font-family:Consolas, monospace; font-size:0.95em; border-radius:4px; padding:0.15em 0.4em; }
#latest-news table { border-collapse:collapse; width:100%; margin:1em 0; font-size:0.97em; }
#latest-news th, #latest-news td { border:1px solid #bbb; padding:0.45em 0.6em; text-align:left; }
#latest-news th { background:#eee; }
#latest-news img { max-width:100%; height:auto; display:block; margin:0.6em 0; border-radius:6px; }
#latest-news hr { border:none; border-top:1px solid #ccc; margin:1.5em 0; }
#latest-news strong { font-weight:700; }
#latest-news em { font-style:italic; }
#latest-news > :first-child { margin-top:0; }
#latest-news .cta-btn { text-decoration:none; }
#policy-md h1, #policy-md h2, #policy-md h3, #policy-md h4, #policy-md h5, #policy-md h6,
#news-md h1, #news-md h2, #news-md h3, #news-md h4, #news-md h5, #news-md h6 { font-weight:bold; margin-top:1.2em; }
#policy-md ul, #policy-md ol { margin-left:1.2em; }
#policy-md p { margin:0.7em 0; }
#policy-md table { border-collapse:collapse; width:100%; margin:1em 0; }
#policy-md th, #policy-md td { border:1px solid #bbb; padding:0.5em 0.8em; text-align:left; }
#policy-md code { background:#f5f5f5; border-radius:4px; padding:0.2em 0.5em; font-size:0.98em; }
/* --- 共通 pre (引用風) --- */
pre { background:#f5f5f5; border-left:4px solid #bbb; border-radius:6px; padding:1em 1.2em; font-family:Consolas, monospace; font-size:0.95em; overflow-x:auto; line-height:1.6; margin:1.2em 0; white-space:pre-wrap; }
/* 既存の #policy-md のサイズ微調整 */
#policy-md pre { font-size:0.98em; }
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video { margin:0; padding:0; border:0; font-size:100%; font:inherit; vertical-align:baseline; }
*, *:before, *:after { box-sizing:border-box; }
body { background:#e5e5e5; color:#111; font-family:'Noto Sans JP','Yu Gothic','Hiragino Sans',Arial,sans-serif; line-height:1.8; }
a { color:#111; text-decoration:underline; transition:color .2s; }
a:hover { color:#000; }
header { background:#fff; border-bottom:2px solid #bbb; text-align:center; padding:1.2em 0 1em 0; }
header .social-links { margin-top:0.4em; font-size:0.9rem; display:flex; justify-content:center; gap:0.6em; flex-wrap:wrap; }
header .social-links a { color:#111; text-decoration:none; background:#e5e5e5; padding:0.35em 0.9em; border-radius:14px; font-weight:600; box-shadow:0 1px 2px #bbb; transition:background .2s, color .2s; }
header .social-links a:hover { background:#111; color:#fff; }
header .social-links .sep { display:none; }
header h1 { font-size:2rem; font-weight:700; margin:0 0 0.2em 0; color:#111; }
header .site-logo { width:128px; height:128px; object-fit:contain; display:block; margin:0 auto 0.6em auto; border-radius:16px; box-shadow:0 2px 4px rgba(0,0,0,.25); }
header .logo-link { text-decoration:none; display:inline-block; }
nav ul { list-style:none; display:flex; justify-content:center; gap:1em; text-align:center; padding:0; margin:0; }
nav li { display:inline-block; }
nav a { color:#111; background:#e5e5e5; font-weight:600; font-size:1em; padding:0.7em 1.5em; border-radius:18px; text-decoration:none; box-shadow:0 1px 2px #bbb; display:inline-block; white-space:pre-wrap; transition:background .2s, color .2s; }
nav a:hover { background:#111; color:#fff; }
.catch { background:#fff; color:#111; font-size:1.12rem; font-weight:600; text-align:center; padding:1em 0.7em; margin:1.2em auto; border-radius:10px; box-shadow:0 1px 4px #bbb; max-width:600px; }
main { max-width:640px; margin:0 auto; padding:1.5em 1em 2em 1em; }
section { background:#fff; border-radius:10px; box-shadow:0 1px 4px #bbb; margin-bottom:1.5em; padding:1.2em 1em 1em 1em; }
h2 { font-size:1.12rem; font-weight:700; color:#111; margin:0 0 0.7em 0; border-left:4px solid #bbb; padding-left:0.7em; }
.profile-photo { width:160px; max-width:60%; height:auto; /* 高さ自動でトリミング防止 */ border-radius:18px; /* 角丸の四角形 */ display:block; margin:0 auto 1em auto; box-shadow:0 2px 6px rgba(0,0,0,.25); border:3px solid #fff; object-fit:contain; }
ul, ol { margin:0.5em 0 1em 0; padding-left:1.5em; list-style-position:inside; }
li { margin-bottom:0.4em; }
.policy-list { margin:2em 0 0.5em 0; padding:0; list-style:none; text-align:center; }
.policy-list .policy-item { font-size:2rem; font-weight:bold; color:#111; margin-bottom:1em; line-height:1.2; text-align:center; }
.policy-list .policy-desc { font-size:1rem; color:#333; margin-top:0.2em; display:inline-block; text-align:center; }
/* CTA / submit (統合) */
.cta-btn, button[type="submit"] { display:inline-block; background:#111; color:#fff; font-weight:700; border:none; border-radius:16px; padding:0.7em 1.5em; font-size:1em; box-shadow:0 1px 4px #bbb; cursor:pointer; transition:background 0.2s; text-decoration:none; margin:0.5em 0.2em 0.2em 0; white-space:pre-wrap; }
.cta-btn:hover, button[type="submit"]:hover { background:#fff; color:#111; border:1px solid #111; }
footer { background:#e5e5e5; color:#111; padding:1em 0.5em; text-align:center; font-size:0.95em; border-radius:0 0 10px 10px; box-shadow:0 -1px 4px #bbb; margin-top:2em; }
footer small { display:block; margin-top:.5rem; }
.donate-form-section, .donate-done-section { background:#fff; border-radius:10px; box-shadow:0 1px 4px #bbb; max-width:600px; margin:2em auto; padding:2em 1.2em 1.5em 1.2em; }
.note { background:#e5e5e5; border-radius:7px; padding:0.7em 1em; margin-bottom:1em; color:#111; font-size:0.97em; }
.field-group { margin-bottom:1.2em; display:flex; flex-direction:column; }
label { font-weight:500; margin-bottom:0.3em; }
input, select, textarea { font-size:1em; padding:0.5em 0.7em; border-radius:5px; border:1.2px solid #bbb; background:#fff; width:100%; box-sizing:border-box; }
input[type="checkbox"] { accent-color:#bbb; margin-right:0.5em; vertical-align:middle; width:1.1em; height:1.1em; }
/* （重複定義削除済み） */
@media (max-width:600px){
	header h1 { font-size:1.1rem; }
	nav ul { gap:0.5em; }
	nav a { font-size:1em; padding:0.7em 1em; border-radius:14px; }
	header .social-links { font-size:0.75rem; gap:0.4em; }
	header .social-links a { padding:0.3em 0.7em; border-radius:10px; }
	.catch { font-size:0.97rem; padding:0.6em 0.1em; margin:0.7em auto 1em auto; border-radius:7px; max-width:99vw; }
	main { padding:0.5em 0.1em 1em 0.1em; max-width:100vw; }
	section { padding:0.7em 0.3em; border-radius:7px; margin-bottom:1em; box-shadow:0 1px 4px #bbb; }
	h2 { font-size:1em; padding-left:0.3em; margin-bottom:0.5em; }
	.cta-btn, button[type="submit"] { font-size:0.95em; padding:0.6em 1em; border-radius:10px; }
	.policy-list .policy-item { font-size:1.1rem; margin-bottom:0.7em; }
	.policy-list .policy-desc { font-size:0.97rem; margin-top:0.2em; }
	footer { padding:0.7em 0.2em; border-radius:0; box-shadow:none; font-size:0.9em; margin-top:1em; }
	.donate-form-section, .donate-done-section { padding:1em 0.2em; max-width:99vw; }
	#latest-news { font-size:1em; max-height:300px; }
	#latest-news h1 { font-size:1.25em; }
	#latest-news h2 { font-size:1.15em; }
	#latest-news h3 { font-size:1.05em; }
	#latest-news pre { font-size:0.9em; }
	pre { padding:0.85em 0.9em; margin:1em 0; }
}
