:root{color:#1f2a2f;scroll-behavior:smooth;background:#003650;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{background:radial-gradient(circle at 0 0,#ffffff1a,#0000 28%),#003650;margin:0}a{color:#003650;text-decoration:underline}.page{min-height:100vh;padding:28px 20px 32px}.sakuraBackground{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.siteHeader,.hero,.card,.footer,.backToTop{z-index:2;position:relative}.fallingPetal{background:#ffc4d6e0;border-radius:80% 0;width:14px;height:9px;animation-name:petalFall;animation-timing-function:linear;animation-iteration-count:infinite;position:absolute;top:-8vh;box-shadow:0 0 6px #ffc4d62e}.fallingPetal:first-child{animation-duration:22s;animation-delay:0s;left:7%}.fallingPetal:nth-child(2){animation-duration:26s;animation-delay:5s;left:15%}.fallingPetal:nth-child(3){animation-duration:24s;animation-delay:10s;left:25%}.fallingPetal:nth-child(4){animation-duration:29s;animation-delay:3s;left:36%}.fallingPetal:nth-child(5){animation-duration:25s;animation-delay:8s;left:46%}.fallingPetal:nth-child(6){animation-duration:31s;animation-delay:12s;left:56%}.fallingPetal:nth-child(7){animation-duration:23s;animation-delay:2s;left:66%}.fallingPetal:nth-child(8){animation-duration:28s;animation-delay:7s;left:76%}.fallingPetal:nth-child(9){animation-duration:27s;animation-delay:14s;left:86%}.fallingPetal:nth-child(10){animation-duration:32s;animation-delay:4s;left:93%}.fallingPetal:nth-child(11){animation-duration:30s;animation-delay:16s;left:11%}.fallingPetal:nth-child(12){animation-duration:27s;animation-delay:18s;left:33%}.fallingPetal:nth-child(13){animation-duration:34s;animation-delay:20s;left:59%}.fallingPetal:nth-child(14){animation-duration:29s;animation-delay:22s;left:88%}@keyframes petalFall{0%{opacity:0;transform:translateY(-10vh)rotate(0)}10%{opacity:.85}50%{opacity:.8;transform:translate(36px,52vh)rotate(180deg)}90%{opacity:.72}to{opacity:0;transform:translate(-30px,106vh)rotate(360deg)}}.siteHeader{z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe0;border:1px solid #ffffff3d;border-radius:999px;justify-content:space-between;align-items:center;max-width:1040px;margin:0 auto 28px;padding:14px 18px;display:flex;position:sticky;top:16px;box-shadow:0 12px 32px #00000029}.siteTitle{color:#003650;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;font-size:14px;font-weight:800;text-decoration:none}.nav{gap:16px;font-size:13px;font-weight:700;display:flex}.nav a{color:#003650;white-space:nowrap;text-decoration:none}.nav a:hover{text-decoration:underline}.hero,.card{background:#fff;border-radius:20px;max-width:1040px;margin:0 auto 28px;padding:40px;box-shadow:0 20px 56px #0000003d}.hero{grid-template-columns:minmax(0,1fr) 160px;align-items:center;gap:32px;padding-top:52px;padding-bottom:52px;display:grid}.heroText{min-width:0}.label{color:#003650;letter-spacing:.12em;text-transform:uppercase;margin:0 0 18px;font-size:15px;font-weight:800}h1{color:#003650;letter-spacing:.02em;white-space:nowrap;margin:0 0 24px;font-size:clamp(28px,2.6vw,34px);line-height:1.22}.lead{max-width:680px;margin:0;font-size:18px;line-height:1.9}.audienceNote{color:#1f2a2f;background:#0036500f;border-left:4px solid #003650;border-radius:14px;margin:24px 0 0;padding:18px 20px;font-size:15px;line-height:1.9}.formNote{color:#1f2a2f;background:#0036500f;border-radius:12px;margin:18px 0 0;padding:14px 16px;font-size:14px;line-height:1.8}.heroImage{justify-content:center;align-items:center;display:flex}.heroImage img{mix-blend-mode:multiply;width:160px;height:auto}.sectionLabel{color:#003650b3;letter-spacing:.16em;text-transform:uppercase;margin:0 0 8px;font-size:12px;font-weight:800}h2{color:#003650;border-bottom:1px solid #0036502e;margin:0 0 28px;padding-bottom:14px;font-size:28px;line-height:1.4}p{line-height:1.9}.eventGrid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.eventItem{background:linear-gradient(#0036500b,#00365004),#fff;border:1px solid #00365029;border-radius:16px;min-height:150px;padding:22px}.eventItemLabel{color:#003650;letter-spacing:.04em;margin:0 0 18px;font-size:20px;font-weight:800}.eventItemMain,.eventItemSub{color:#1f2a2f;margin:0;font-size:17px;font-weight:400;line-height:1.8}.eventItemSub{margin-top:4px}.eventNote{color:#6f665c;margin:12px 0 0;font-size:14px;font-weight:400;line-height:1.7}.notice{color:#003650;background:#00365014;border-radius:999px;margin:12px 0 0;padding:12px 18px;font-weight:700;display:inline-block}.map{aspect-ratio:16/9;background:#eef2f4;border:1px solid #00365029;border-radius:16px;margin-top:20px;overflow:hidden}.map iframe{border:0;width:100%;height:100%}.mapButton{color:#fff;background:#003650;border-radius:999px;margin-top:18px;padding:12px 20px;font-weight:800;text-decoration:none;display:inline-block}.mapButton:hover{opacity:.88}.contact{font-style:normal;line-height:1.9}.backToTop{z-index:20;color:#003650;background:#fff;border-radius:50%;place-items:center;width:44px;height:44px;font-size:22px;font-weight:800;text-decoration:none;display:grid;position:fixed;bottom:24px;right:24px;box-shadow:0 12px 32px #0000003d}.backToTop:hover{transform:translateY(-2px)}.footer{color:#ffffffb8;text-align:center;max-width:1040px;margin:0 auto;font-size:14px}@media (prefers-reduced-motion:reduce){.fallingPetal{opacity:0;animation:none}}@media (width<=760px){.page{padding:20px 14px 28px}.siteHeader{border-radius:18px;align-items:flex-start;position:static}.nav{flex-wrap:wrap;justify-content:flex-end;gap:8px 12px;font-size:12px}.hero,.card{border-radius:18px;padding:24px}.hero{grid-template-columns:1fr;gap:22px}.heroText{order:1}.heroImage{order:2}.label{letter-spacing:.08em;white-space:nowrap;font-size:11px}h1{white-space:nowrap;font-size:20px;line-height:1.25}.lead{font-size:15px;line-height:1.9}.heroImage img{width:min(150px,60%)}h2{font-size:22px}.eventGrid{grid-template-columns:1fr}.eventItem{min-height:auto;padding:18px}.map{aspect-ratio:4/3;border-radius:14px}.backToTop{width:40px;height:40px;font-size:20px;bottom:14px;right:14px}}@media (width<=430px){.siteHeader{display:block}.siteTitle{margin-bottom:10px;display:block}.nav{justify-content:flex-start}.label{font-size:10px}h1{font-size:19px}}
