@charset "UTF-8";
:root{color-scheme:dark;--bg:#11100d;--panel:#211b16;--gold:#d6b46b;--red:#a73720;--text:#f6efe2;--muted:#d5c5ab}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;line-height:1.85}
a{color:#f6d788}a:hover{text-decoration:none}header{border-bottom:3px solid var(--gold);background:linear-gradient(110deg,#1b120d,#3d1a12 65%,#130e0b)}
.wrap{width:min(1120px,calc(100% - 32px));margin:auto}.brand{padding:28px 0 12px}.brand small{display:block;color:var(--gold);letter-spacing:.18em}.brand h1{font-size:clamp(1.35rem,4vw,2.4rem);margin:0}.nav{display:flex;gap:6px;flex-wrap:wrap;padding:0 0 17px}.nav a,.nav span{border:1px solid #856b42;border-radius:4px;padding:5px 10px;font-size:.88rem;text-decoration:none}.nav a[aria-current]{background:var(--red);border-color:var(--red);color:white}.nav .pending{color:#aaa092;border-color:#4b4339}
main{padding:32px 0 65px}.lead{font-size:1.1rem;color:#f3e3c6}.panel{background:var(--panel);border:1px solid #655033;border-radius:9px;padding:clamp(16px,3vw,28px);margin:20px 0}.panel h2{margin:0 0 14px;color:var(--gold);border-bottom:1px solid #6b4c32;padding-bottom:8px;font-size:1.35rem}.hero{display:grid;grid-template-columns:1.4fr 1fr;gap:24px;align-items:center}.hero img,.photos img{max-width:100%;height:auto;border-radius:6px}.hero img{width:100%;object-fit:cover}.accent{color:#ffce70;font-weight:700}.pill{display:inline-block;background:var(--red);padding:2px 12px;border-radius:20px;font-size:.85rem}.links{display:flex;flex-wrap:wrap;gap:12px}.links a{border:1px solid var(--gold);padding:8px 16px;border-radius:5px;text-decoration:none}.photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.photos figure{margin:0}.photos figcaption{color:var(--muted);font-size:.85rem}.file-list{list-style:none;padding:0}.file-list li{padding:8px 0;border-bottom:1px solid #564634}.file-list a{overflow-wrap:anywhere}footer{border-top:1px solid #655033;padding:22px 0;color:var(--muted);font-size:.86rem}.note{color:var(--muted);font-size:.9rem}.content-text p{margin:0 0 1.1em}.content-text{white-space:normal}
@media(max-width:700px){.hero{grid-template-columns:1fr}.photos{grid-template-columns:1fr}.brand{padding-top:20px}.nav{max-height:155px;overflow:auto}}

/* 公式SNS：トップページと全ページ共通フッター */
.social-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin:1rem 0 1.3rem}
.social-link,.footer-social a{display:inline-block;border:1px solid var(--gold);border-radius:5px;padding:.5rem 1rem;text-decoration:none;color:var(--text);background:#3a2118}
.social-link:hover,.footer-social a:hover{background:#633023}
.social-embed{max-width:540px;margin:1rem auto 0}
.social-embed h3{margin:.3rem 0}
.social-embed iframe{display:block;width:100%;max-width:500px;min-height:520px;background:#f4f1e9;border-radius:6px}
.footer-social{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:.75rem}
@media(max-width:540px){.social-actions{flex-direction:column}.social-link{text-align:center}.social-embed iframe{height:520px}}

/* キーボード操作・読みやすさの最終調整 */
.skip-link{position:absolute;left:12px;top:-100px;z-index:9999;background:#f6d788;color:#16110e;padding:8px 16px;border-radius:4px}
.skip-link:focus{top:12px}
a:focus-visible,summary:focus-visible{outline:3px solid #ffe173;outline-offset:3px}
.nav a[aria-current="page"]{background:#6a2a1e;color:#fff0bc;font-weight:700;text-decoration:underline;text-underline-offset:.25em}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}


/* 第10段階：スマートフォン表示とタッチ操作の調整 */
html{overflow-wrap:break-word}
img,video,svg{max-width:100%}
main{min-width:0}
.nav{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem}
.nav a{min-height:44px;display:inline-flex;align-items:center}
@media(max-width:700px){
  .nav{max-height:none;overflow:visible;gap:.35rem}
  .nav a{flex:1 1 auto;justify-content:center;padding:.55rem .7rem}
  .wrap{width:min(100% - 24px,1120px)}
  .panel{padding:16px}
}
.social-embed{width:100%;max-width:500px}
.social-embed iframe{width:100%;max-width:500px}
table{max-width:100%}
.table-scroll{overscroll-behavior-x:contain}

/* 第11段階：会歌の五番構成 */
.song-verses{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;align-items:start}
.song-verse{min-width:0;border:1px solid #6d4c2c;border-radius:8px;padding:1rem;background:#2b201a}
.song-verse h3{color:#f7d489;margin:0 0 .5rem;font-size:1.05rem}
.song-verse p{margin:0;line-height:2;overflow-wrap:anywhere}
@media(min-width:761px){.song-verse:nth-child(4){grid-column:1}.song-verse:nth-child(5){grid-column:2}}
@media(max-width:760px){.song-verses{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.song-verses{grid-template-columns:1fr}}
/* 第11段階：団体別検索 */
.award-search-form label{display:block;font-weight:700;margin-bottom:.4rem}
.award-search-controls{display:flex;flex-wrap:wrap;gap:.6rem}
.award-search-controls input{flex:1 1 220px;min-width:0;border-radius:5px;border:1px solid #a98d68;padding:.75rem;background:#fff;color:#171717;font:inherit}
.award-search-controls button,.award-export-controls button{min-height:44px;padding:.55rem 1rem;border:1px solid #e7c17b;background:#70402a;color:#fff5e3;border-radius:5px;font:inherit;cursor:pointer}
.award-search-controls button:hover,.award-export-controls button:hover{background:#965039}
.award-result-table{border-collapse:collapse;width:100%;min-width:530px}
.award-result-table th,.award-result-table td{border:1px solid #745942;padding:.5rem .7rem;text-align:left;vertical-align:top}
.award-result-table thead{background:#4b291a;color:#fff1d6}
.award-export-controls{margin-top:1rem}
.award-print-report{display:none}
@media print{
  body:has(#award-print-report) > *{display:none!important}
  body:has(#award-print-report) > main{display:block!important}
  body:has(#award-print-report) main > *:not(#award-print-report){display:none!important}
  #award-print-report{display:block!important;color:#111!important;background:#fff!important;font-family:"Yu Gothic",Meiryo,sans-serif;font-size:10pt}
  #award-print-report *{color:#111!important;background:#fff!important;box-shadow:none!important}
  #award-print-report h1{font-size:18pt}
  #award-print-report h2{font-size:12pt}
  #award-print-report .table-scroll{overflow:visible!important;border:0!important}
  #award-print-report table{width:100%;min-width:0!important;border-collapse:collapse;font-size:9pt}
  #award-print-report th,#award-print-report td{border:1px solid #777;padding:4pt;overflow-wrap:anywhere}
  #award-print-report thead{display:table-header-group}
  #award-print-report tr{break-inside:avoid}
  @page{size:A4;margin:15mm}
}

/* 第15段階：画像の固有寸法を指定し、読み込み中のレイアウト変動を軽減 */
img{height:auto;max-width:100%}
