:root{--bg:#f3f9f1;--bg-dots:#d7ecd4;--green-50:#f0f8ee;--green-100:#e2f2df;--green-200:#c6e6c3;--green-300:#a3d5a3;--green-500:#6fb87a;--green-700:#3f7a4e;--green-800:#2f5f3d;--pink-100:#fbe4ea;--pink-500:#e08ea6;--yellow-100:#fff5c9;--yellow-500:#e4c04a;--sky-100:#ddeefb;--lavender-100:#ece4f7;--peach-100:#ffe6cf;--peach-500:#e9a46e;--coral:#d9707a;--text:#46514a;--muted:#7b877d;--card:#fff;--radius:26px;--shadow:0 10px 30px #548c641f;--font:var(--font-maru), "Hiragino Maru Gothic ProN", "Hiragino Sans", "Yu Gothic", "Meiryo", sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}html,body{margin:0;padding:0}body{background-color:var(--bg);background-image:radial-gradient(var(--bg-dots) 1.6px, transparent 1.6px);color:var(--text);font-family:var(--font);letter-spacing:.02em;background-size:26px 26px;font-size:16px;line-height:1.9}a{color:var(--green-700);text-underline-offset:3px;text-decoration-thickness:1.5px}a:hover{color:var(--green-500)}img{max-width:100%;height:auto}b,strong{font-weight:700}.small{font-size:14px}.center{text-align:center}.accent{color:var(--green-700)}.attention{color:var(--coral)}.lead{color:var(--green-800);font-size:18px;font-weight:700}.container{max-width:920px;margin:0 auto;padding:0 16px}.hero{padding:16px 0 0}.heroFrame{box-shadow:var(--shadow);background:var(--green-100);border:6px solid #fff;border-radius:32px;position:relative;overflow:hidden}.heroFrame img{width:100%;height:auto;display:block}.heroCard{z-index:1;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:var(--radius);text-align:center;max-width:640px;box-shadow:var(--shadow);border:2px solid var(--green-100);background:#ffffffeb;margin:-56px auto 0;padding:22px 28px 24px;position:relative}.heroEyebrow{background:var(--green-100);color:var(--green-700);border-radius:999px;margin:0 0 10px;padding:3px 14px;font-size:13px;font-weight:700;display:inline-block}.heroCard h1{color:var(--green-800);letter-spacing:.06em;margin:0;font-size:clamp(24px,5.2vw,34px);line-height:1.3}.heroEn{color:var(--green-500);letter-spacing:.18em;text-transform:uppercase;margin:2px 0 10px;font-size:14px}.heroWelcome{margin:0 0 14px;font-size:15px}.heroBadges{flex-wrap:wrap;justify-content:center;gap:8px;margin:0;padding:0;list-style:none;display:flex}.heroBadges li{background:var(--green-50);border:1.5px solid var(--green-200);color:var(--green-800);border-radius:999px;align-items:center;gap:6px;padding:4px 12px;font-size:13px;font-weight:500;display:inline-flex}.heroBadges svg{color:var(--green-500)}.siteNav{z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#f3f9f1e6;padding:10px 8px;position:sticky;top:0}.siteNav ul{border:1.5px solid var(--green-100);background:#fff;border-radius:999px;flex-wrap:wrap;justify-content:center;gap:4px;max-width:920px;margin:0 auto;padding:6px;list-style:none;display:flex;box-shadow:0 4px 16px #548c641f}.siteNav a{color:var(--green-800);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:6px 12px;font-size:13px;font-weight:700;text-decoration:none;transition:background-color .15s;display:inline-flex}.siteNav a:hover{background-color:var(--green-100);color:var(--green-700)}.siteNav a svg{color:var(--green-500)}.navSpecial{background:var(--peach-100);color:#9a5a2a}.navSpecial svg{color:var(--peach-500)!important}section[id]{scroll-margin-top:120px}@media (max-width:640px){.siteNav ul{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto}.siteNav ul::-webkit-scrollbar{display:none}section[id]{scroll-margin-top:70px}}.main{gap:24px;padding:12px 0 40px;display:grid}.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);border:2px solid var(--green-100);text-align:center;padding:28px 24px 32px}.cardTitle{color:var(--green-800);letter-spacing:.06em;background:linear-gradient(transparent 62%, var(--green-200) 62%, var(--green-200) 88%, transparent 88%);justify-content:center;align-items:center;gap:10px;margin:0 0 20px;padding:0 6px 6px;font-size:clamp(20px,4.5vw,26px);font-weight:700;display:inline-flex}.cardTitle svg{color:var(--green-500);flex:none}.card h3{color:var(--green-700);background:var(--green-50);border-radius:999px;align-items:center;gap:8px;margin:28px 0 12px;padding:4px 16px;font-size:clamp(16px,4vw,19px);display:inline-flex}.card p{margin:0 0 10px}.leadText{text-align:left;max-width:640px;margin:0 auto}.photoFrame{box-shadow:var(--shadow);background:var(--green-50);border:5px solid #fff;border-radius:20px;margin:12px auto;display:inline-block;overflow:hidden}.photoFrame img{display:block}.photoFrame--round{border-radius:50%}.noticeBox{background-color:var(--yellow-100);border:2px dashed var(--yellow-500);text-align:left;border-radius:20px;max-width:640px;margin:14px auto;padding:14px 20px;font-size:14px}.noticeBox--pink{background-color:var(--pink-100);border-color:var(--pink-500)}.noticeBox--green{background-color:var(--green-50);border-color:var(--green-300)}.noticeBox--sky{background-color:var(--sky-100);border-color:#8fc2e8}.noticeBox p:last-child{margin-bottom:0}.timeList{gap:8px;margin:8px 0 0;padding:0;list-style:none;display:grid}.timeList li{background:#fff;border-radius:999px;align-items:center;gap:10px;padding:6px 14px;font-weight:700;display:flex}.timeList time{color:var(--green-700);font-variant-numeric:tabular-nums;flex:none}.tableWrap{margin:12px 0;overflow-x:auto}.dataTable{border-collapse:separate;border-spacing:0;border:2px solid var(--green-200);border-radius:18px;width:100%;max-width:600px;margin:0 auto;overflow:hidden}.dataTable caption{color:var(--green-800);padding-bottom:8px;font-weight:700}.dataTable th,.dataTable td{border-bottom:1px solid var(--green-100);border-right:1px solid var(--green-100);text-align:left;background:#fff;padding:9px 12px;font-size:14px}.dataTable tr>:last-child{border-right:0}.dataTable tr:last-child>*{border-bottom:0}.dataTable th{background-color:var(--green-100);color:var(--green-800);font-weight:700}.rowSec>td{background-color:var(--sky-100)}.rowSs>td{background-color:var(--pink-100)}.rowMain>td{background-color:var(--yellow-100)}.photoGrid{grid-template-columns:repeat(3,1fr);gap:18px 14px;max-width:900px;margin:0 auto;display:grid}.photoItem{text-align:left;margin:0}.photoItem .photoFrame{aspect-ratio:4/3;border-width:4px;border-radius:16px;margin:0 0 8px;display:block}.photoItem .photoFrame img{object-fit:cover;width:100%;height:100%}.photoItem figcaption{color:var(--text);font-size:13px;line-height:1.6}.photoItem figcaption b{color:var(--green-800);display:block}.photoDate{color:var(--muted);margin-bottom:2px;font-size:12px;display:block}@media (max-width:640px){.photoGrid{gap:14px 8px}.photoItem .photoFrame{border-width:3px;border-radius:12px}.photoItem figcaption{font-size:11px}}.featureList{text-align:left;margin:0;gap:12px;max-width:680px;margin-inline:auto;padding:0;list-style:none;display:grid}.featureList li{background:var(--green-50);border-radius:18px;padding:12px 18px;font-size:14px}.featureList b{color:var(--green-800);margin-bottom:2px;display:block}.contactLines{background:var(--green-50);border-radius:20px;gap:4px;margin-top:16px;padding:14px 24px;font-size:14px;display:inline-grid}.contactLines p{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;margin:0;display:flex}.contactLines svg{color:var(--green-500)}.bigPhone{color:var(--coral);background:var(--pink-100);letter-spacing:.04em;border-radius:999px;align-items:center;gap:10px;margin:6px 0 12px;padding:6px 28px;font-size:clamp(24px,7vw,44px);font-weight:700;display:inline-flex}.mapFrame{width:100%;max-width:640px;height:380px;box-shadow:var(--shadow);border:0;border-radius:20px}.linkList{flex-wrap:wrap;justify-content:center;gap:8px;margin:10px 0;padding:0;list-style:none;display:flex}.linkList a{background:var(--sky-100);color:#2f5f85;border-radius:999px;align-items:center;gap:6px;padding:5px 14px;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.siteFooter{text-align:center;color:var(--muted);padding:28px 16px 40px;font-size:13px}.siteFooter p{margin:0 0 10px}.footerName{color:var(--green-800);font-size:16px;font-weight:700}.eventSection{border-color:var(--peach-100);background:linear-gradient(#fffaf4,#fff 40%)}.eventTag{background-color:var(--peach-100);color:#9a5a2a;border-radius:999px;align-items:center;gap:6px;margin-bottom:12px;padding:4px 16px;font-size:13px;font-weight:700;display:inline-flex}.eventSection .cardTitle{background:linear-gradient(transparent 62%, var(--peach-100) 62%, var(--peach-100) 88%, transparent 88%)}.eventSection .cardTitle svg{color:var(--peach-500)}.eventTheme{color:var(--green-800);margin:0 0 4px;font-size:clamp(17px,4.2vw,22px);font-weight:700}.eventSub{color:var(--muted);margin:0 0 20px;font-size:14px}.eventGrid{text-align:left;grid-template-columns:240px 1fr;gap:24px;max-width:820px;margin:0 auto;display:grid}.eventFlyer{text-align:center;font-size:13px;text-decoration:none;display:block}.eventFlyer img{box-shadow:var(--shadow);border:4px solid #fff;border-radius:14px;margin-bottom:6px}.eventInfo{font-size:15px}.eventSection .eventInfo h3{background:var(--peach-100);color:#9a5a2a;margin:20px 0 8px;display:inline-flex}.eventDl{grid-template-columns:5em 1fr;gap:6px 10px;margin:0;display:grid}.eventDl dt{background-color:var(--peach-100);color:#9a5a2a;text-align:center;border-radius:999px;align-self:start;padding:2px 10px;font-size:14px;font-weight:700}.eventDl dd{margin:0;padding:2px 0}.eventTable{border-collapse:separate;border-spacing:0;border:2px solid var(--peach-100);border-radius:16px;width:100%;font-size:14px;overflow:hidden}.eventTable td{border-bottom:1px solid var(--peach-100);padding:7px 10px}.eventTable tr:last-child td{border-bottom:0}.eventTable td:first-child{white-space:nowrap;color:#9a5a2a;background-color:#fff6ec;font-weight:700}.eventList{margin:0;padding-left:1.4em}.eventList li{margin-bottom:10px}.eventButtons{flex-wrap:wrap;gap:8px;margin:8px 0 4px;display:flex}.eventButtons a{background-color:var(--green-500);color:#fff;border-radius:999px;align-items:center;gap:6px;padding:9px 18px;font-size:14px;font-weight:700;text-decoration:none;display:inline-flex;box-shadow:0 4px 12px #6fb87a59}.eventButtons a:hover{background-color:var(--green-700);color:#fff}@media (max-width:640px){.card{padding:22px 16px 26px}.heroCard{margin-top:-28px;padding:18px 16px 20px}.eventGrid{grid-template-columns:1fr}.eventFlyer{max-width:260px;margin:0 auto}}
