@font-face{font-family:"PF";src:url(fonts/PlayfairDisplay-Italic-latin.woff2) format("woff2");font-style:italic;font-weight:400 900;font-display:swap}
:root{--acc:#ef7d1a;--acc2:#f6a04d;--acc-l:#fff3e6;--ink:#1f3a4d;--ink2:#3f6070;--txt:#333;--line:#e8c9a0;}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:#fff;color:var(--txt);font-family:"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;line-height:1.8;font-size:16px}
a{color:var(--ink);text-decoration:none}
.wrap{max-width:1100px;margin:0 auto;padding:0 20px}
header{position:relative;background:#fff}
.site-title{text-align:center;padding:28px 16px 8px;font-family:"Hiragino Mincho ProN","Yu Mincho",serif}
.site-title .ja{font-size:clamp(26px,4.4vw,48px);letter-spacing:.06em;color:#2b2b2b;font-weight:600;line-height:1.3}
.site-title .ja b{color:var(--acc);font-weight:600}
.site-title .en{font-size:clamp(12px,1.6vw,18px);letter-spacing:.1em;color:#777;margin-top:2px}
nav.gnav{border-top:1px solid #f0e0cc;border-bottom:1px solid #f0e0cc;background:#fff;position:sticky;top:0;z-index:20}
nav.gnav ul{list-style:none;margin:0 auto;padding:0 12px;max-width:1100px;display:flex;flex-wrap:wrap;justify-content:center;gap:2px 0}
nav.gnav li a{display:block;padding:12px 14px;font-size:15px;color:#333;border-bottom:3px solid transparent;white-space:nowrap}
nav.gnav li a:hover,nav.gnav li a.cur{color:var(--acc);border-bottom-color:var(--acc)}
/* hero（ポスターと共通部品） */
.hero{--hh:clamp(520px,46vw,680px);--ps:calc(var(--hh)*1.22);position:relative;overflow:hidden;background:#fff;height:var(--hh)}
.hero .sun{position:absolute;left:50%;top:-18%;width:64vw;max-width:820px;aspect-ratio:1;border-radius:50%;background:rgba(247,166,74,.42)}
.hero .photo{position:absolute;width:var(--ps);height:var(--ps);left:calc((100% - var(--ps))*.70);top:calc(var(--hh)*-.12);background:url(img/hero.jpg) center/cover no-repeat;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 16%,#000 84%,transparent 100%);mask-image:linear-gradient(to right,transparent 0,#000 16%,#000 84%,transparent 100%)}
.hero .fade-l{position:absolute;inset:0;background:linear-gradient(to right,rgba(255,255,255,.95) 0,rgba(255,255,255,.55) 24%,rgba(255,255,255,0) 40%)}
.hero .fade-b{position:absolute;left:0;right:0;bottom:0;height:42%;background:linear-gradient(to top,#fff 0,rgba(255,255,255,.85) 35%,rgba(255,255,255,0) 100%);-webkit-mask-image:linear-gradient(to right,transparent 0,transparent 66%,#000 82%);mask-image:linear-gradient(to right,transparent 0,transparent 66%,#000 82%)}
.hero .fade-b2{position:absolute;left:0;right:0;bottom:0;height:9%;background:linear-gradient(to top,#fff 0,rgba(255,255,255,0) 100%)}
.hero .dot{position:absolute;border-radius:50%;filter:blur(10px);opacity:.65}
.hero .inner{position:relative;max-width:1100px;margin:0 auto;height:100%;padding:0 20px}
.th{position:absolute;writing-mode:vertical-rl;color:var(--ink);font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-weight:600;white-space:nowrap;line-height:1;text-shadow:0 0 14px #fff,0 0 24px #fff}
.th .h{font-size:clamp(50px,6.6vw,92px);letter-spacing:-.03em}.th .m{font-size:clamp(36px,4.8vw,66px)}.th .s{font-size:clamp(20px,2.6vw,36px);color:var(--ink2)}.th .xs{font-size:clamp(18px,2.4vw,32px);color:var(--ink2)}.th .acc{color:var(--acc)}
.c1{left:clamp(170px,22vw,270px);top:5%}.c2{left:clamp(86px,11vw,148px);top:16%}.c3{left:clamp(18px,2.5vw,36px);top:44%}
.theme{position:absolute;left:clamp(12px,2vw,30px);top:6%;font-family:"PF",Georgia,"Times New Roman",serif;font-style:italic;color:var(--ink);line-height:1;white-space:nowrap;text-shadow:0 0 14px #fff,0 0 24px #fff}
.theme .lb{font-family:"Hiragino Sans","Yu Gothic",sans-serif;font-style:normal;display:inline-block;background:var(--acc);color:#fff;font-size:13px;font-weight:700;letter-spacing:.3em;border-radius:5px;padding:3px 5px 3px 10px;text-shadow:none;margin:0 0 8px 4px}
.theme .w1{font-size:clamp(58px,8.6vw,126px);font-weight:700;letter-spacing:-.01em}
.theme .w2{font-size:clamp(31px,4.5vw,66px);font-weight:600;color:var(--ink2);margin-left:.12em;letter-spacing:.03em}
.theme .w3{font-size:clamp(58px,8.6vw,126px);font-weight:800;color:var(--acc);letter-spacing:.035em;margin-top:-.04em}
.theme .jp{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-style:normal;font-weight:600;font-size:clamp(18px,2.3vw,32px);letter-spacing:.3em;margin:clamp(14px,2.2vw,30px) 0 0 6px}
.theme .jp i{display:inline-block;width:clamp(20px,2.6vw,36px);height:2px;background:var(--acc);vertical-align:middle;margin:0 12px 5px 0}
.theme .jp2{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-style:normal;font-size:clamp(12px,1.45vw,20px);letter-spacing:.2em;color:#4d6673;margin:10px 0 0 clamp(36px,4vw,56px)}
.theme-inline{font-family:"PF",Georgia,serif;font-style:italic;font-weight:700;font-size:1.5em;color:var(--ink)}
.greet p{text-indent:1em;line-height:2;margin:0 0 .9em}.greet{margin-top:26px}
.chair-name .cn{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:32px;font-weight:700;letter-spacing:.12em}
.theme-en{position:absolute;left:2px;top:6%;writing-mode:vertical-rl;font-family:Georgia,serif;font-size:12px;letter-spacing:.18em;color:#8a9aa2}
.hero .date{position:absolute;right:min(28px,calc((1100px - 100vw)/2 + 28px));bottom:6%;text-align:right;color:var(--ink);text-shadow:0 0 10px #fff,0 0 18px #fff}
.hero .date .y{font-size:clamp(16px,2vw,22px);letter-spacing:.2em;font-weight:600;color:var(--acc)}
.hero .date .d{font-size:clamp(34px,4.4vw,60px);white-space:nowrap;font-weight:800;line-height:1.05;letter-spacing:-.01em}
.hero .date .d small{font-size:.42em;font-weight:600;margin:0 2px}
.hero .date .wd{text-shadow:none;display:inline-block;background:var(--acc);color:#fff;font-size:.36em;font-weight:700;border-radius:6px;padding:2px 8px;margin:0 4px;vertical-align:middle;position:relative;top:-8px}
.hero .date .sep{color:var(--acc);font-size:.7em;vertical-align:middle;position:relative;top:-4px}
.hero .date .place{font-weight:600;font-size:clamp(17px,2.15vw,29px);margin-top:8px;letter-spacing:.06em;white-space:nowrap}
.hero .date .place small{color:#666;font-size:.78em;margin:2px 0 0;display:block}
.hero .date .lbl{text-shadow:none;display:inline-block;background:var(--acc);color:#fff;font-size:12px;font-weight:700;letter-spacing:.25em;border-radius:5px;padding:2px 5px 2px 9px;margin-right:10px;vertical-align:middle;position:relative;top:-2px}
.hero .date .chairman{margin-top:14px;white-space:nowrap;line-height:1.2;text-shadow:0 0 10px #fff,0 0 18px #fff}
.hero .date .chairman b{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-weight:700;font-size:clamp(22px,2.5vw,34px);letter-spacing:.12em;vertical-align:middle}
.hero .date .chairman .lbl{top:0;font-size:12px;text-shadow:none}
.hero .date .chairman small{display:block;margin-top:4px;font-size:clamp(12px,1.4vw,16px);color:#555;letter-spacing:.04em}
@media(max-width:700px){html,body{overflow-x:hidden}.site-title .ja{font-size:min(26px,6.4vw);letter-spacing:.03em;white-space:nowrap}.site-title .en{font-size:11px;letter-spacing:.06em}.hero{--hh:650px;--ps:480px}.hero .photo{left:calc(100% - 335px);top:-20px}.hero .sun{left:40%;top:-10%;width:90vw}.th .h{font-size:44px}.th .m{font-size:32px}.th .s{font-size:17px}.th .xs{font-size:15px}.c1{left:112px;top:20px}.c2{left:58px;top:34px}.c3{left:12px;top:215px}.theme-en{display:none}.theme{left:12px;top:16px}.theme .lb{font-size:11px;margin-bottom:5px}.theme .w1,.theme .w3{font-size:54px}.theme .w2{font-size:29px}.theme .jp{font-size:17px;margin-top:12px}.theme .jp2{font-size:11.5px;margin-left:34px}.hero>div:nth-child(6){left:2%!important;top:3%!important;width:120px!important;height:120px!important}.hero>div:nth-child(8){display:none}
.hero .date{left:0;right:0;bottom:3%;text-align:center;padding:0 12px}.hero .date .d{font-size:44px}.hero .date .wd{font-size:.4em;top:-6px}.hero .date .place{font-size:19px}.hero .date .place small{display:block;margin:0;font-size:12px}.hero .date .chairman b{font-size:25px}.hero .date .chairman small{font-size:12px}
.hero .fade-b{height:34%;-webkit-mask-image:none;mask-image:none}.hero .fade-l{background:linear-gradient(to right,rgba(255,255,255,.9) 0,rgba(255,255,255,.5) 24%,rgba(255,255,255,0) 44%)}
nav.gnav ul{padding:0 4px;width:100%}nav.gnav li a{padding:9px 7px;font-size:13px}}
section{padding:44px 0}
h2.sec{text-align:center;font-family:"Hiragino Mincho ProN",serif;font-size:clamp(22px,3vw,30px);letter-spacing:.12em;color:var(--ink);margin:0 0 6px;font-weight:600}
h2.sec::after{content:"";display:block;width:56px;height:4px;background:var(--acc);margin:10px auto 26px;border-radius:2px}
h3{font-size:19px;color:var(--ink);border-left:5px solid var(--acc);padding-left:10px;margin:32px 0 10px}
.news{list-style:none;padding:0;max-width:820px;margin:0 auto}
.news li{display:flex;gap:18px;padding:12px 6px;border-bottom:1px dashed var(--line)}
.news time{flex:none;color:var(--acc);font-weight:600;min-width:110px}
table.info{width:100%;border-collapse:collapse;max-width:900px;margin:0 auto}
table.info th,table.info td{border-bottom:1px solid var(--line);padding:14px 10px;text-align:left;vertical-align:top}
table.info th{width:150px;color:var(--ink);background:var(--acc-l);font-weight:600;white-space:nowrap}
@media(max-width:600px){table.info th,table.info td{display:block;width:100%}table.info th{border-bottom:none;padding-bottom:4px}table.info td{padding-top:4px}}
.btn{display:inline-block;background:var(--acc);color:#fff;padding:12px 28px;border-radius:30px;font-weight:700;letter-spacing:.06em}
.btn.dis{background:#ccc;pointer-events:none}
.card{background:var(--acc-l);border-radius:12px;padding:20px 22px;margin:14px 0}
.prep{display:inline-block;background:#eee;color:#666;font-size:13px;padding:2px 10px;border-radius:12px;margin-left:8px;vertical-align:middle}
.note{color:#666;font-size:14px}
.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.chair{display:flex;gap:28px;align-items:flex-start;flex-wrap:wrap}
.chair .ph{flex:none;width:240px;height:312px;object-fit:cover;box-shadow:0 4px 18px rgba(0,0,0,.12);background:#eee;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#999;font-size:13px}
footer{background:var(--acc);color:#fff;margin-top:40px}footer a{color:#fff}
footer .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;padding:36px 20px 28px;max-width:1100px;margin:0 auto}
footer h4{margin:0 0 8px;font-size:16px;letter-spacing:.3em;font-weight:700;opacity:.9}
footer p{margin:0;font-size:15px;line-height:1.7}
footer .copy{text-align:center;font-size:12px;padding:10px;background:rgba(0,0,0,.08)}

.prepbox{text-align:center;padding:40px 22px;line-height:2}
