@charset "UTF-8";

body.edamame-festival-2026-page .site-content {
  max-width: none;
  margin: 0;
  padding-right: 0;
  padding-left: 0;
}
body.edamame-festival-2026-page .content-area {
  width: 100%;
  float: none;
  padding: 0;
}
body.edamame-festival-2026-page .widget-area { display: none; }
body.edamame-festival-2026-page #breadcrumb { display: none; }
.edamame-fes {
  --green: #17643b;
  --green-dark: #0b4329;
  --green-light: #e5f1df;
  --yellow: #ffd447;
  --orange: #ef7d23;
  --cream: #fff9e9;
  --ink: #243229;
  --muted: #657168;
  --white: #fff;
  color: var(--ink);
  background: var(--white);
  font-family: "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
  font-size: 16px;
  line-height: 1.8;
  overflow: hidden;
}
.edamame-fes *, .edamame-fes *::before, .edamame-fes *::after { box-sizing: border-box; }
.edamame-fes h1, .edamame-fes h2, .edamame-fes h3, .edamame-fes p { margin-top: 0; }
.edamame-fes a { color: inherit; }
.edamame-fes button, .edamame-fes input, .edamame-fes select { font: inherit; }
.edamame-fes__skip { position: fixed; left: 1rem; top: -5rem; z-index: 100; background: #fff; padding: .6rem 1rem; }
.edamame-fes__skip:focus { top: 1rem; }
.edamame-fes__header { height: 64px; padding: 0 5vw; display: flex; align-items: center; justify-content: flex-end; background: rgba(255,255,255,.97); position: relative; z-index: 20; border-bottom: 1px solid #e8ede9; }
.edamame-fes__menu-button { width: 48px; height: 48px; border: 0; background: transparent; display: grid; place-content: center; gap: 5px; cursor: pointer; color: var(--green); }
.edamame-fes__menu-button span { width: 25px; height: 2px; background: currentColor; transition: .25s; }
.edamame-fes__menu-button b { font-size: .58rem; font-weight: 700; }
.edamame-fes__menu-button[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.edamame-fes__menu-button[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.edamame-fes__menu-button[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.edamame-fes__nav { display: none; position: absolute; top: 64px; left: 0; right: 0; background: #fff; padding: 1rem 5vw 1.5rem; box-shadow: 0 10px 20px #0b43291c; }
.edamame-fes__nav.is-open { display: grid; }.edamame-fes__nav a { padding: .8rem 0; text-decoration: none; border-bottom: 1px solid #e6ebe7; font-weight: 700; }
.edamame-fes__nav .edamame-fes__nav-cta { background: var(--orange); color: #fff; text-align: center; border: 0; border-radius: 8px; margin-top: .6rem; }
.edamame-fes__hero { position: relative; background: var(--cream); }
.edamame-fes__hero-photo { border-radius: 0!important; overflow: hidden; }
.edamame-fes__hero-photo img { display: block; width: 100%; height: auto; }
.edamame-fes__placeholder { min-height: 220px; background: linear-gradient(145deg,#d9e9cc,#f8d98c); color: var(--green-dark); display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; padding: 1.5rem; position: relative; border-radius: 12px; overflow: hidden; }
.edamame-fes__placeholder::before, .edamame-fes__placeholder::after { content: ""; position: absolute; border-radius: 50%; background: rgba(255,255,255,.25); }
.edamame-fes__placeholder::before { width: 180px; height: 180px; right: -50px; top: -70px; }.edamame-fes__placeholder::after { width: 120px; height: 120px; left: -30px; bottom: -50px; }
.edamame-fes__placeholder span { font-size: .7rem; letter-spacing: .18em; font-weight: 800; opacity: .7; }.edamame-fes__placeholder strong { font-size: 1.45rem; line-height: 1.5; margin: .5rem 0; }.edamame-fes__placeholder small { font-weight: 700; }
.edamame-fes__hero-content { padding: 2.2rem 6vw 3.3rem; position: relative; }
.edamame-fes__eyebrow { color: var(--green); font-weight: 800; letter-spacing: .08em; margin-bottom: .5rem; }
.edamame-fes__hero h1 { color: var(--green-dark); font-size: clamp(2.8rem, 15vw, 4.5rem); line-height: .98; letter-spacing: -.06em; margin-bottom: 1.2rem; }
.edamame-fes__hero h1 span { display: block; color: var(--orange); font-size: .32em; letter-spacing: .1em; margin-bottom: .65rem; }
.edamame-fes__hero-lead { font-weight: 700; font-size: .96rem; }
.edamame-fes__hero-description { margin: 1rem 0 0; font-size: 16px; line-height: 1.8; }
.edamame-fes__date-card { display: flex; align-items: center; gap: 1rem; border-top: 2px solid var(--green); border-bottom: 2px solid var(--green); padding: .7rem 0; margin: 1.4rem 0; color: var(--green-dark); }
.edamame-fes__date-card strong { font-size: 2rem; line-height: 1; }.edamame-fes__date-card strong small { font-size: .7rem; margin-left: .15rem; }.edamame-fes__date-card span { font-size: .84rem; font-weight: 700; line-height: 1.5; }
.edamame-fes__date-card--2026 { flex-direction: column; align-items: stretch; gap: .45rem; }
.edamame-fes__date-card--2026 .edamame-fes__date-text { display: block; white-space: nowrap; font-size: clamp(14px, 4.2vw, 20px); line-height: 1.35; letter-spacing: -.03em; }
.edamame-fes__button { display: flex; min-height: 62px; padding: .8rem 1.2rem; align-items: center; justify-content: center; border: 0; border-radius: 8px; text-align: center; text-decoration: none; font-weight: 800; cursor: pointer; box-shadow: 0 5px 0 rgba(78,46,14,.2); transition: transform .2s, box-shadow .2s; }
.edamame-fes__button:hover { transform: translateY(2px); box-shadow: 0 3px 0 rgba(78,46,14,.2); }.edamame-fes__button:focus-visible, .edamame-fes a:focus-visible, .edamame-fes summary:focus-visible { outline: 3px solid #156dc0; outline-offset: 3px; }
.edamame-fes__button--primary { background: var(--orange); color: white; flex-direction: column; font-size: 1.15rem; }.edamame-fes__button--primary span { font-size: .68rem; }
.edamame-fes__advance { text-align: center; font-size: .78rem; font-weight: 700; color: var(--green); margin: .7rem 0 0; }
.edamame-fes__quick { margin: -1.2rem 5vw 0; position: relative; z-index: 2; background: var(--green); color: white; border-radius: 12px; display: grid; grid-template-columns: repeat(2,1fr); box-shadow: 0 10px 30px #0b432933; }
.edamame-fes__quick div { padding: 1rem .3rem; text-align: center; border-right: 1px solid rgba(255,255,255,.25); }.edamame-fes__quick div:last-child { border: 0; }.edamame-fes__quick span,.edamame-fes__quick strong { display:block; }.edamame-fes__quick span { color: var(--yellow); font-size: .65rem; }.edamame-fes__quick strong { font-size: .78rem; line-height: 1.4; }.edamame-fes__quick em { font-style: normal; font-size: 1.35rem; }
.edamame-fes__quick .edamame-fes__quick-benefit { grid-column: 1 / -1; background: var(--yellow); color: var(--green-dark); border-top: 1px solid rgba(255,255,255,.3); }.edamame-fes__quick .edamame-fes__quick-benefit span { color: var(--green-dark); font-weight: 800; letter-spacing: .08em; }.edamame-fes__quick .edamame-fes__quick-benefit em { color: #813a16; }
.edamame-fes__quick .edamame-fes__quick-payment { grid-column: 1 / -1; border-top: 1px solid rgba(255,255,255,.25); }
.edamame-fes__kids-benefit { position:relative;max-width:1050px;margin:2.5rem 5vw 0;padding:2rem 1.25rem;background:var(--cream);border:1px solid #d6c683;border-left:6px solid var(--yellow);border-radius:4px;box-shadow:0 6px 18px rgba(44,55,35,.1);overflow:hidden; }.edamame-fes__kids-benefit-content { position:relative;z-index:1; }.edamame-fes__kids-benefit-label { color:var(--orange);font-size:.7rem;font-weight:900;letter-spacing:.2em;margin-bottom:.35rem; }.edamame-fes__kids-benefit h2 { color:var(--green-dark);font-size:clamp(1.55rem,7vw,2.2rem);line-height:1.35;margin-bottom:1rem; }.edamame-fes__kids-benefit h2 span { display:inline-block;margin-left:.25em;padding:.05em .25em;background:var(--yellow);color:var(--green-dark);font-size:1.12em; }.edamame-fes__kids-benefit p:not(.edamame-fes__kids-benefit-label) { max-width:780px;margin-bottom:.8rem;font-weight:600; }.edamame-fes__kids-benefit small { display:block;color:#5f4b25;font-weight:700;line-height:1.6; }.edamame-fes__kids-benefit-decoration { position:absolute;right:-25px;bottom:-22px;width:150px;height:130px;opacity:.18;transform:rotate(-8deg); }.edamame-fes__kids-benefit-decoration::before { content:"";position:absolute;left:20px;top:8px;width:105px;height:105px;border:7px double var(--green);border-radius:50%; }.edamame-fes__kids-benefit-decoration span { position:absolute;width:29px;height:17px;background:var(--green);border-radius:65% 35% 65% 35%;transform:rotate(28deg); }.edamame-fes__kids-benefit-decoration span:nth-child(1) { left:5px;top:22px; }.edamame-fes__kids-benefit-decoration span:nth-child(2) { right:2px;top:48px;transform:rotate(-22deg); }.edamame-fes__kids-benefit-decoration span:nth-child(3) { left:52px;bottom:0;transform:rotate(8deg); }
.edamame-fes__section { padding: 4.8rem 6vw; scroll-margin-top: 75px; }.edamame-fes__section--cream { background: var(--cream); }.edamame-fes__section--green { background: var(--green-dark); color: white; }
.edamame-fes__heading { text-align: center; margin-bottom: 2rem; }.edamame-fes__heading p { color: var(--orange); font-size: .7rem; letter-spacing: .22em; font-weight: 900; margin-bottom: .2rem; }.edamame-fes__heading h2 { color: var(--green-dark); font-size: 1.85rem; line-height: 1.3; margin-bottom: .5rem; }.edamame-fes__heading span { color: var(--muted); font-size: .9rem; }.edamame-fes__heading--left { text-align: left; }.edamame-fes__heading--light h2,.edamame-fes__heading--light span { color: white; }
.edamame-fes__info-list { margin: 0; border-top: 2px solid var(--green); }.edamame-fes__info-list div { display: grid; grid-template-columns: 5.5rem 1fr; gap: .5rem; padding: 1rem 0; border-bottom: 1px solid #d9dfda; }.edamame-fes__info-list dt { color: var(--green); font-weight: 800; }.edamame-fes__info-list dd { margin: 0; }.edamame-fes__note { margin-top: 1.5rem; background: var(--green-light); border-left: 5px solid var(--green); padding: 1.3rem; }.edamame-fes__note span { font-weight: 800; color: var(--green); }.edamame-fes__note p { margin: .3rem 0 0; }
.edamame-fes__cards { display: grid; gap: 2rem; }.edamame-fes__cards article { position: relative; }.edamame-fes__card-photo { min-height: 250px; }.edamame-fes__card-photo--image { height:250px;border-radius:2px;overflow:hidden; }.edamame-fes__card-photo--image img { display:block;width:100%;height:100%;object-fit:cover; }.edamame-fes__card-photo--child img { object-position:62% center; }.edamame-fes__card-photo--family img { object-position:55% center; }.edamame-fes__card-photo--bounty img { object-position:52% 55%; }.edamame-fes__cards article>b { display:grid; place-items:center; width:55px; height:55px; border-radius:50%; background:var(--yellow); color:var(--green-dark); font-size:1.3rem; margin:-28px 0 .4rem 1rem; position:relative; }.edamame-fes__cards h3 { color: var(--green-dark); font-size: 1.3rem; line-height: 1.45; margin-bottom: .5rem; }.edamame-fes__cards p { font-size: .92rem; }
.edamame-fes__steps { list-style:none; padding:0; display:grid; gap:1rem; counter-reset: step; }.edamame-fes__steps li { background:var(--cream); border-radius:12px; padding:1.4rem; position:relative; text-align:center; }.edamame-fes__steps li>span { position:absolute; top:0; left:0; background:var(--green); color:white; border-radius:12px 0 20px 0; padding:.35rem .8rem; font-weight:800; }.edamame-fes__step-icon { font-size:2.7rem; }.edamame-fes__steps h3 { color:var(--green); margin:.5rem 0 .3rem; }.edamame-fes__steps p { margin:0; font-size:.9rem; }
.edamame-fes__rule-alert { display:grid; grid-template-columns:45px 1fr; gap:1rem; padding:1.3rem; background:#fff2e6; border:3px solid var(--orange); border-radius:12px; margin-top:2rem; }.edamame-fes__rule-sign { width:40px;height:40px;display:grid;place-items:center;background:var(--orange);color:white;border-radius:50%;font-size:1.5rem;font-weight:900; }.edamame-fes__rule-alert p:first-child { color:#b14b0b;font-weight:800;font-size:.75rem;margin-bottom:.3rem; }.edamame-fes__rule-alert h3 { color:#9d3700;line-height:1.4;margin-bottom:.5rem; }.edamame-fes__rule-alert p:last-child { margin:0;font-size:.9rem; }
.edamame-fes__taste { background:var(--green-light); }.edamame-fes__taste-photo { height:330px;margin-bottom:2rem;border-radius:2px;overflow:hidden; }.edamame-fes__taste-photo img { display:block;width:100%;height:100%;object-fit:cover;object-position:center 62%;transform:scale(1.06); }.edamame-fes__large-copy { font-size:1.35rem;font-weight:800;color:var(--green);line-height:1.5; }
.edamame-fes__gallery { display:grid;grid-template-columns:1fr 1fr;gap:.7rem; }.edamame-fes__gallery>div { min-height:150px; }.edamame-fes__gallery .edamame-fes__gallery-main { grid-column:1/-1;min-height:260px; }.edamame-fes__gallery-item { position:relative;border-radius:2px;overflow:hidden; }.edamame-fes__gallery-item img { display:block;width:100%;height:100%;object-fit:cover; }.edamame-fes__gallery-item--crowd img { object-position:center 65%; }.edamame-fes__gallery-item--look img { object-position:center 30%; }.edamame-fes__gallery-item--pull img { object-position:center 42%; }.edamame-fes__gallery-item--big img { object-position:55% 50%; }.edamame-fes__gallery-item--market img { object-position:center 70%; }
.edamame-fes__photo-contest { background:#f0ead8; }
.edamame-fes__photo-contest .edamame-fes__heading h2 { font-size:28px;overflow-wrap:anywhere; }
.edamame-fes__photo-contest .edamame-fes__heading span { font-size:18px;line-height:1.7; }
.edamame-fes__photo-contest-panel { display:grid;gap:1.5rem;max-width:960px;margin:0 auto;padding:1.5rem;background:#fffdf7;border-top:4px solid var(--yellow);box-shadow:0 5px 18px rgba(43,55,35,.1); }
.edamame-fes__photo-contest-copy { min-width:0; }
.edamame-fes__photo-contest-copy p { margin:1.2rem 0 0;font-size:16px;line-height:1.7; }
.edamame-fes__camera-mark { position:relative;width:68px;height:47px;margin:0 auto;background:var(--green);border-radius:4px; }
.edamame-fes__camera-mark::before { content:"";position:absolute;left:12px;top:-8px;width:23px;height:10px;background:var(--green);border-radius:3px 3px 0 0; }
.edamame-fes__camera-mark::after { content:"";position:absolute;right:7px;top:7px;width:7px;height:5px;background:var(--yellow);border-radius:1px; }
.edamame-fes__camera-mark span { position:absolute;left:50%;top:50%;width:27px;height:27px;border:5px solid var(--yellow);border-radius:50%;transform:translate(-50%,-50%); }
.edamame-fes__photo-contest-details { min-width:0;margin:0;display:grid;gap:.8rem; }
.edamame-fes__photo-contest-details div { min-width:0;padding:1rem 1.1rem;background:var(--cream);border-left:4px solid var(--green); }
.edamame-fes__photo-contest-details dt { color:var(--green);font-size:13px;font-weight:900;letter-spacing:.08em; }
.edamame-fes__photo-contest-details dd { margin:.25rem 0 0;color:var(--green-dark);font-size:18px;font-weight:800;line-height:1.55;overflow-wrap:anywhere; }
.edamame-fes__photo-contest-note { max-width:960px;margin:1rem auto 0;padding:.8rem 1rem;text-align:center;color:#5f4b25;font-size:14px;font-weight:700;line-height:1.7;border-top:1px solid #cdbd87;border-bottom:1px solid #cdbd87; }
.edamame-fes__coming { max-width:720px;margin:auto;text-align:center;border:2px dashed #adc2b3;border-radius:16px;padding:2rem 1rem;background:#fafcf9; }.edamame-fes__coming>div { font-size:3rem; }.edamame-fes__coming h3 { color:var(--green);font-size:1.45rem;margin:.4rem 0; }.edamame-fes__coming span { display:inline-block;background:var(--yellow);font-weight:900;letter-spacing:.12em;padding:.2rem .8rem;transform:rotate(-2deg); }
.edamame-fes__outfit-layout { display: grid; gap: 2rem; align-items: center; }
.edamame-fes__outfit-visual { min-width: 0; text-align: center; }
.edamame-fes__outfit-visual img { display: block; width: 100%; height: auto; max-width: 620px; margin: 0 auto; object-fit: contain; }
.edamame-fes__outfit-list { border-top: 1px solid rgba(255,255,255,.38); padding-top: 1.4rem; }
.edamame-fes__outfit-list h3 { color: var(--yellow); font-size: 1.2rem; letter-spacing: .04em; margin-bottom: 1rem; }
.edamame-fes__outfit-list ul { list-style: none; padding: 0; margin: 0; border-top: 1px solid rgba(255,255,255,.18); }
.edamame-fes__outfit-list li { position: relative; padding: .7rem .25rem .7rem 1.4rem; border-bottom: 1px solid rgba(255,255,255,.18); font-size: .92rem; }
.edamame-fes__outfit-list li::before { content: ""; position: absolute; left: .1rem; top: 1.15rem; width: 7px; height: 7px; background: var(--yellow); transform: rotate(45deg); }
.edamame-fes__mud-note { background:var(--yellow);color:var(--green-dark);padding:1rem;border-radius:2px;font-weight:700;font-size:.85rem;margin:1.4rem 0 0; }
.edamame-fes__mud-note strong { display: block; font-size: .75rem; letter-spacing: .08em; margin-bottom: .25rem; color: #61451d; }
.edamame-fes__rules { display:grid;gap:1rem; }.edamame-fes__rules>div { padding:1.2rem;border-radius:12px; }.edamame-fes__rules h3 { margin-bottom:1rem; }.edamame-fes__rules h3 span { display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;color:white; }.edamame-fes__rule-ok { background:#edf7e9;border:2px solid #80af71; }.edamame-fes__rule-ok h3 { color:var(--green); }.edamame-fes__rule-ok h3 span { background:var(--green); }.edamame-fes__rule-ok .edamame-fes__placeholder { min-height:190px; }.edamame-fes__rule-ng { background:#fff0e8;border:2px solid #e68b58; }.edamame-fes__rule-ng h3 { color:#a73c05; }.edamame-fes__rule-ng h3 span { background:#cf4a09; }.edamame-fes__rule-ng ul { padding-left:1.3rem;font-weight:700; }.edamame-fes__rule-ng p { font-size:.85rem;margin:0; }
.edamame-fes__access { display:grid;gap:1.5rem; }.edamame-fes__map iframe { display:block;width:100%;height:300px;border:0;border-radius:2px; }.edamame-fes__access h3 { color:var(--green); }.edamame-fes__access-info { align-self:center; }.edamame-fes__access-note { border-left:4px solid var(--yellow);padding-left:1.2rem;margin:1.2rem 0 0; }.edamame-fes__access-note ul { margin:.6rem 0 0;padding-left:1.25rem; }.edamame-fes__access-note li { margin-bottom:.65rem; }
.edamame-fes__faq-list { max-width:850px;margin:auto; }.edamame-fes__faq-list details { border-bottom:1px solid #ccd6cf; }.edamame-fes__faq-list summary { list-style:none;display:grid;grid-template-columns:36px 1fr;gap:.7rem;align-items:center;padding:1.2rem .3rem;font-weight:800;cursor:pointer; }.edamame-fes__faq-list summary::-webkit-details-marker { display:none; }.edamame-fes__faq-list summary::after { content:"＋";grid-column:3;color:var(--green);font-size:1.4rem; }.edamame-fes__faq-list details[open] summary::after { content:"−"; }.edamame-fes__faq-list summary span,.edamame-fes__faq-list details>div>span { display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--green);color:white; }.edamame-fes__faq-list details>div { display:grid;grid-template-columns:36px 1fr;gap:.7rem;background:var(--cream);padding:1rem; }.edamame-fes__faq-list details>div>span { background:var(--orange); }.edamame-fes__faq-list details>div p { margin:0; }
.edamame-fes__reserve { background:var(--green);color:white; }.edamame-fes__schedule { display:flex;align-items:stretch;justify-content:center;gap:.5rem;margin-bottom:1.5rem; }.edamame-fes__schedule div { flex:1;max-width:220px;padding:.8rem .4rem;text-align:center;background:white;color:var(--green-dark);border-radius:8px; }.edamame-fes__schedule div.is-current { background:var(--yellow); }.edamame-fes__schedule span,.edamame-fes__schedule strong { display:block; }.edamame-fes__schedule span { font-size:.7rem; }.edamame-fes__schedule strong { font-size:.9rem;line-height:1.45; }.edamame-fes__schedule>b { align-self:center;color:var(--yellow); }.edamame-fes__form-status { max-width:760px;margin:0 auto 1rem;background:#fff5d4;color:var(--green-dark);padding:1rem;border-radius:8px;text-align:center; }.edamame-fes__form-status strong { color:#b34a08; }.edamame-fes__form-status p { margin:.2rem 0 0;font-size:.85rem; }
.edamame-fes__form { max-width:760px;margin:auto;background:white;color:var(--ink);border-radius:14px;padding:1.2rem; }.edamame-fes__field { margin-bottom:1.3rem; }.edamame-fes__field label,.edamame-fes__field legend { display:block;font-weight:800;margin-bottom:.4rem; }.edamame-fes__field em,.edamame-fes__consent em { font-style:normal;background:#d64d30;color:white;font-size:.65rem;padding:.15rem .4rem;border-radius:3px;margin-left:.3rem; }.edamame-fes__field i { font-style:normal;color:var(--muted);font-size:.7rem;margin-left:.3rem; }.edamame-fes__field input[type="text"],.edamame-fes__field input[type="email"],.edamame-fes__field input[type="tel"],.edamame-fes__field input[type="number"],.edamame-fes__field select,.edamame-fes__field textarea { width:100%;min-height:52px;padding:.7rem;border:1px solid #aebbb2;border-radius:6px;background:white;color:var(--ink); }.edamame-fes__field textarea { min-height:8.5rem;resize:vertical;line-height:1.7; }.edamame-fes__number { display:flex;align-items:center;gap:.6rem; }.edamame-fes__number input { max-width:180px; }.edamame-fes__field--highlight { background:var(--cream);border:2px solid var(--orange);padding:1rem;border-radius:8px; }.edamame-fes__field--highlight small { display:block;color:#9d3b0c;margin-top:.3rem;font-weight:700; }.edamame-fes__choices { border:0;padding:0; }.edamame-fes__choices label { display:inline-flex;margin-right:1.2rem;align-items:center;gap:.4rem;font-weight:400;cursor:pointer; }.edamame-fes__choices input,.edamame-fes__consent input { width:20px;height:20px;accent-color:var(--green);flex:0 0 auto; }.edamame-fes__field-hint { margin:.35rem 0 .5rem;color:var(--muted);font-size:.78rem; }.edamame-fes__field-error { margin:.5rem 0 0;color:#b1321c;font-size:.82rem;font-weight:800; }.edamame-fes__field-error[hidden] { display:none!important; }.edamame-fes__field.is-invalid select,.edamame-fes__field.is-invalid input { border-color:#b1321c;outline:1px solid #b1321c; }.edamame-fes__choices.is-invalid { padding:.8rem;border-left:3px solid #b1321c;background:#fff4f0; }.edamame-fes__consent { background:#eef4ef;padding:1rem;border-radius:8px;margin:1.5rem 0; }.edamame-fes__consent label { font-weight:800;display:flex;align-items:flex-start;gap:.4rem; }.edamame-fes__consent p { font-size:.72rem;margin:.6rem 0 0;color:var(--muted); }.edamame-fes__button--submit { width:100%;background:var(--orange);color:white;flex-direction:column;font-size:1.1rem; }.edamame-fes__button--submit span { font-size:.65rem;font-weight:400; }.edamame-fes__form-message { color:#a43c09;font-weight:800;text-align:center;margin:1rem 0 0; }
.edamame-fes__fanclub { background:#f5d54b; }.edamame-fes__fanclub-photo { height:300px;margin-bottom:2rem;border-radius:2px;overflow:hidden; }.edamame-fes__fanclub-photo img { display:block;width:100%;height:100%;object-fit:cover;object-position:center center; }.edamame-fes__fanclub .edamame-fes__mini { font-size:.68rem;letter-spacing:.12em;font-weight:900;color:var(--green); }.edamame-fes__fanclub h2 { color:var(--green-dark);font-size:2rem;line-height:1.3; }.edamame-fes__button--secondary { background:var(--green);color:white;margin-top:1.3rem; }
.edamame-fes__floating { position:fixed;z-index:15;bottom:12px;left:5vw;right:5vw;min-height:58px;background:var(--orange);color:white;border:2px solid white;border-radius:10px;box-shadow:0 5px 20px #0005;display:flex;justify-content:center;align-items:center;gap:.8rem;text-decoration:none;font-weight:900; }.edamame-fes__floating span { font-size:.65rem;background:white;color:#a63e08;padding:.15rem .4rem;border-radius:3px; }.edamame-fes__to-top { position:fixed;right:15px;bottom:82px;width:42px;height:42px;border:0;border-radius:50%;background:var(--green-dark);color:white;opacity:0;pointer-events:none;transition:.2s;z-index:14; }.edamame-fes__to-top.is-visible { opacity:1;pointer-events:auto; }

@media (min-width: 768px) {
  .edamame-fes__header { height:76px;padding:0 4vw;justify-content:center; }
  .edamame-fes__menu-button { display:none; }.edamame-fes__nav { display:flex;position:static;box-shadow:none;padding:0;align-items:center;justify-content:center;gap:1.4rem; }.edamame-fes__nav a { border:0;padding:.6rem 0;font-size:.85rem; }.edamame-fes__nav .edamame-fes__nav-cta { margin:0;padding:.65rem 1.2rem; }
  .edamame-fes__hero { min-height:690px;display:grid;grid-template-columns:57% 43%; }.edamame-fes__hero-photo { min-height:690px;grid-column:1; }.edamame-fes__hero-photo img { width:100%;height:100%;object-fit:cover;object-position:55% center; }.edamame-fes__hero-content { grid-column:2;display:flex;flex-direction:column;justify-content:center;padding:4rem 5vw 4rem 4vw; }.edamame-fes__hero h1 { font-size:clamp(3.5rem,6vw,5.8rem); }.edamame-fes__quick { max-width:850px;margin:-2rem auto 0;grid-template-columns:repeat(3,1fr); }.edamame-fes__quick div { padding:1.2rem; }.edamame-fes__quick strong { font-size:1rem; }.edamame-fes__quick .edamame-fes__quick-benefit { grid-column:auto;border-top:0; }.edamame-fes__kids-benefit { margin:3.5rem auto 0;padding:2.5rem 3rem; }.edamame-fes__kids-benefit h2 { font-size:2.35rem; }
  .edamame-fes__section { padding:7rem max(6vw,calc((100vw - 1120px)/2)); }.edamame-fes__heading { margin-bottom:3rem; }.edamame-fes__heading h2 { font-size:2.5rem; }
  .edamame-fes__info-layout { display:grid;grid-template-columns:2fr 1fr;gap:3rem;align-items:start; }.edamame-fes__note { margin-top:0; }.edamame-fes__cards { grid-template-columns:repeat(3,1fr); }.edamame-fes__steps { grid-template-columns:repeat(3,1fr); }.edamame-fes__rule-alert { max-width:900px;margin:3rem auto 0;padding:2rem;grid-template-columns:55px 1fr; }.edamame-fes__taste { display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center; }.edamame-fes__taste-photo { min-height:520px;margin:0; }.edamame-fes__gallery { grid-template-columns:2fr 1fr 1fr;grid-template-rows:200px 200px; }.edamame-fes__gallery>div { min-height:0; }.edamame-fes__gallery .edamame-fes__gallery-main { grid-column:auto;grid-row:1/3; }.edamame-fes__outfit-layout { grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:clamp(3rem,7vw,6rem); }.edamame-fes__outfit-list { border-top:0;border-left:1px solid rgba(255,255,255,.38);padding:0 0 0 2.5rem; }.edamame-fes__rules { grid-template-columns:1fr 1fr; }.edamame-fes__access { grid-template-columns:1.2fr 1fr;gap:3rem;align-items:center; }.edamame-fes__map iframe { height:420px; }.edamame-fes__form { padding:3rem; }.edamame-fes__fanclub { display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center; }.edamame-fes__fanclub-photo { min-height:520px;margin:0; }.edamame-fes__floating { width:240px;left:auto;right:25px;bottom:20px; }
  .edamame-fes__photo-contest-panel { grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr);gap:3rem;align-items:center;padding:2.5rem 3rem; }
  .edamame-fes__camera-mark { margin:0; }
  .edamame-fes__photo-contest .edamame-fes__heading h2 { font-size:40px; }
  .edamame-fes__photo-contest .edamame-fes__heading span { font-size:20px; }
  .edamame-fes__photo-contest-copy p { font-size:17px; }
  .edamame-fes__photo-contest-details dt { font-size:14px; }
  .edamame-fes__photo-contest-details dd { font-size:20px; }
  .edamame-fes__photo-contest-note { font-size:15px; }
}
@media (prefers-reduced-motion: reduce) { .edamame-fes *, .edamame-fes *::before, .edamame-fes *::after { scroll-behavior:auto!important;transition:none!important; } }

/* 2026 refinement: restrained forms and an autumn field palette */
.edamame-fes {
  --green: #3f6f3a;
  --green-dark: #24492d;
  --green-light: #e8ecdf;
  --yellow: #d9b541;
  --orange: #b9622d;
  --cream: #f6f1e4;
  --ink: #302f29;
  --muted: #6c6a60;
  background: #fcfbf7;
}
.edamame-fes__header { border-bottom-color: #d8d3c6; }
.edamame-fes__nav { box-shadow: 0 6px 12px rgba(43, 48, 35, .08); }
.edamame-fes__nav .edamame-fes__nav-cta,
.edamame-fes__button { border-radius: 4px; }
.edamame-fes__button { box-shadow: 0 2px 0 rgba(73, 48, 27, .24); }
.edamame-fes__button:hover { transform: translateY(1px); box-shadow: 0 1px 0 rgba(73, 48, 27, .24); }
.edamame-fes__placeholder { border-radius: 2px; background: linear-gradient(140deg, #d6dfc6, #e6cf91 68%, #cfa276); }
.edamame-fes__placeholder::before,
.edamame-fes__placeholder::after { border-radius: 2px; transform: rotate(35deg); opacity: .55; }
.edamame-fes__quick { border-radius: 3px; box-shadow: 0 5px 16px rgba(32, 52, 34, .14); border-bottom: 4px solid #d9b541; }
.edamame-fes__cards article { border-top: 1px solid #b8b4a6; padding-top: .75rem; }
.edamame-fes__cards article>b { width: auto; height: auto; display: block; border-radius: 0; background: transparent; color: var(--orange); margin: .85rem 0 .25rem; font-family: Georgia, serif; font-size: 1.8rem; border-bottom: 2px solid var(--yellow); }
.edamame-fes__steps { gap: 0; border-top: 1px solid #c9c3b3; border-bottom: 1px solid #c9c3b3; }
.edamame-fes__steps li { border-radius: 0; border-bottom: 1px solid #d7d0bf; background: transparent; }
.edamame-fes__steps li:last-child { border-bottom: 0; }
.edamame-fes__steps li>span { border-radius: 0; background: transparent; color: var(--orange); border-bottom: 2px solid var(--yellow); font-size: 1.25rem; }
.edamame-fes__rule-alert { border-radius: 2px; border-width: 1px 1px 1px 5px; }
.edamame-fes__rule-sign { width: 34px; height: 34px; border-radius: 2px; }
.edamame-fes__coming { border-radius: 2px; border-style: solid; border-width: 1px 0; background: transparent; }
.edamame-fes__mud-note { border-radius: 2px; background: #dfc65f; }
.edamame-fes__rules>div { border-radius: 2px; }
.edamame-fes__rules h3 span { width: auto; height: auto; border-radius: 0; background: transparent!important; color: inherit; font-size: 1.5rem; }
.edamame-fes__schedule div,
.edamame-fes__form-status { border-radius: 2px; }
.edamame-fes__form { border-radius: 2px; border-top: 5px solid #d9b541; box-shadow: 0 5px 18px rgba(23, 45, 28, .12); }
.edamame-fes__field--highlight { border-radius: 2px; border-width: 1px 1px 1px 4px; }
.edamame-fes__consent { border-radius: 2px; border-left: 3px solid #8a9a77; }
.edamame-fes__price-total { margin: 1rem 0 0; padding: .85rem 1rem; background: #fff; border-top: 1px solid #d5c7a1; border-bottom: 1px solid #d5c7a1; color: #5a3c25; font-size: .88rem; }
.edamame-fes__price-total strong { color: #9c421e; font-size: 1.08em; }
.edamame-fes__conditional-field { margin-top: -.45rem; padding: 1rem; background: #f6f1e4; border-left: 3px solid #b9622d; }
.edamame-fes__conditional-field[hidden] { display: none!important; }
.edamame-fes__floating { border-radius: 4px; box-shadow: 0 3px 12px rgba(0, 0, 0, .2); }
.edamame-fes__to-top { border-radius: 3px; }

@media (min-width: 768px) {
  .edamame-fes__steps { grid-template-columns: repeat(3, 1fr); }
  .edamame-fes__steps li { border-bottom: 0; border-right: 1px solid #d7d0bf; }
  .edamame-fes__steps li:last-child { border-right: 0; }
}

/* Outfit guide: light background for the transparent illustration */
.edamame-fes__section--outfit { background: #f3eddf; color: #34372f; }
.edamame-fes__section--outfit .edamame-fes__heading--light p { color: #a95328; }
.edamame-fes__section--outfit .edamame-fes__heading--light h2 { color: var(--green-dark); }
.edamame-fes__section--outfit .edamame-fes__outfit-layout { gap: 2.75rem; }
.edamame-fes__section--outfit .edamame-fes__outfit-visual { padding: .5rem 0; background: transparent; }
.edamame-fes__section--outfit .edamame-fes__outfit-list { padding: 1.6rem 1.4rem 1.5rem 1.75rem; background: rgba(255, 253, 247, .82); border: 0; border-left: 3px solid var(--green); border-radius: 1px; color: #343b34; }
.edamame-fes__section--outfit .edamame-fes__outfit-list h3 { color: var(--green-dark); margin-bottom: 1.2rem; }
.edamame-fes__section--outfit .edamame-fes__outfit-list ul { border-top-color: #d8d4c8; }
.edamame-fes__section--outfit .edamame-fes__outfit-list li { padding-top: .8rem; padding-bottom: .8rem; border-bottom-color: #d8d4c8; color: #384038; }
.edamame-fes__section--outfit .edamame-fes__outfit-list li::before { background: var(--green); }
.edamame-fes__section--outfit .edamame-fes__mud-note { background: #d8bd58; color: #3e3b27; border-radius: 1px; }

@media (min-width: 768px) {
  .edamame-fes__section--outfit .edamame-fes__outfit-layout { gap: clamp(3.5rem, 7vw, 6.5rem); }
  .edamame-fes__section--outfit .edamame-fes__outfit-list { padding: 2rem 2rem 1.8rem 2.25rem; }
}

/* Harvest rules: full, uncropped example alongside the explanation */
.edamame-fes__rules { grid-template-columns: 1fr; gap: 1.25rem; }
.edamame-fes__rule-ok-layout { display: grid; gap: 1.5rem; align-items: center; }
.edamame-fes__rule-ok-copy h4 { color: var(--green-dark); font-size: 1.3rem; line-height: 1.45; margin: 0 0 .75rem; }
.edamame-fes__rule-ok-copy p { margin-bottom: 1rem; }
.edamame-fes__rope-note { padding: .8rem 0 .8rem 1rem; border-left: 3px solid var(--green); color: #425142; font-size: .85rem; font-weight: 700; }
.edamame-fes__rule-example { margin: 0; }
.edamame-fes__rule-example img { display: block; width: 100%; height: auto; border-radius: 2px; }
.edamame-fes__rule-example figcaption { margin-top: .55rem; color: #596258; font-size: .76rem; line-height: 1.6; }

@media (min-width: 768px) {
  .edamame-fes__rule-ok { padding: 2rem; }
  .edamame-fes__rule-ok-layout { grid-template-columns: minmax(250px, .8fr) minmax(0, 1.2fr); gap: 3rem; }
  .edamame-fes__rule-ng { padding: 1.6rem 2rem; }
}

/* Desktop readability */
@media (min-width: 768px) {
  .edamame-fes__nav a { font-size: 16px; }
  .edamame-fes__hero-lead { font-size: 20px; line-height: 1.8; }
  .edamame-fes__hero-description { font-size: 17px; }
  .edamame-fes__date-card span,
  .edamame-fes__heading span,
  .edamame-fes__cards p,
  .edamame-fes__steps p,
  .edamame-fes__rule-alert p:last-child,
  .edamame-fes__outfit-list li,
  .edamame-fes__rule-ng p { font-size: 16px; }
  .edamame-fes__date-card--2026 .edamame-fes__date-text { font-size: clamp(26px, 2.4vw, 34px); }
  .edamame-fes__button--hero { padding-top: 1.1rem; padding-bottom: 1.1rem; font-size: 20px; }
  .edamame-fes__button--hero span { font-size: 15px; }
  .edamame-fes__quick div { min-height: 112px; padding: 1.4rem .8rem; display: flex; flex-direction: column; justify-content: center; }
  .edamame-fes__quick span { font-size: 15px; }
  .edamame-fes__quick strong { font-size: 18px; }
  .edamame-fes__quick em { font-size: 24px; }
  .edamame-fes__quick .edamame-fes__quick-payment { grid-column: auto; border-top: 0; }
  .edamame-fes__info-list div { grid-template-columns: 7rem minmax(0, 1fr); gap: 1.5rem; }
  .edamame-fes__info-list dt { white-space: nowrap; }
  .edamame-fes__rope-note { font-size: 16px; line-height: 1.7; }
  .edamame-fes__reserve .edamame-fes__schedule span { font-size: 15px; }
  .edamame-fes__reserve .edamame-fes__schedule strong { font-size: 18px; }
  .edamame-fes__reserve .edamame-fes__form-status > strong { font-size: 17px; }
  .edamame-fes__reserve .edamame-fes__form-status p { font-size: 16px; line-height: 1.7; }
  .edamame-fes__reserve #time-hint { font-size: 15px; line-height: 1.7; }
  .edamame-fes__reserve #children-hint { font-size: 16px; line-height: 1.7; }
  .edamame-fes__reserve #children-note { font-size: 15px; line-height: 1.7; }
  .edamame-fes__reserve .edamame-fes__price-total { font-size: 16px; line-height: 1.7; white-space: normal; overflow-wrap: anywhere; }
  .edamame-fes__reserve .edamame-fes__price-total strong { font-size: 18px; }
  .edamame-fes__reserve .edamame-fes__field em,
  .edamame-fes__reserve .edamame-fes__consent em,
  .edamame-fes__reserve .edamame-fes__field i { font-size: 13px; }
  .edamame-fes__reserve #message-hint { font-size: 15px; line-height: 1.7; }
  .edamame-fes__reserve .edamame-fes__consent p { font-size: 15px; line-height: 1.7; }
  .edamame-fes__reserve .edamame-fes__button--submit span { font-size: 14px; }
}

/* Mobile readability */
@media (max-width: 767px) {
  .edamame-fes { padding-bottom: 88px; }

  .edamame-fes__date-card--2026 span { font-size: 15px; line-height: 1.7; }
  .edamame-fes__button--hero { font-size: 19px; }
  .edamame-fes__button--hero span { font-size: 14px; line-height: 1.6; }

  .edamame-fes .edamame-fes__quick > div { min-height: 126px; padding: 1.35rem .45rem; }
  .edamame-fes .edamame-fes__quick > div > span { font-size: 16px; line-height: 1.5; }
  .edamame-fes .edamame-fes__quick > div > strong { font-size: 18px; line-height: 1.5; letter-spacing: -.02em; }
  .edamame-fes .edamame-fes__quick > div > strong > em { font-size: 26px; line-height: 1.5; }

  .edamame-fes__heading p,
  .edamame-fes__kids-benefit-label,
  .edamame-fes__fanclub .edamame-fes__mini { font-size: 12px; }
  .edamame-fes__heading span { font-size: 15px; line-height: 1.7; }
  .edamame-fes__cards p { font-size: 16px; line-height: 1.7; }
  .edamame-fes__steps p { font-size: 16px; line-height: 1.7; }
  .edamame-fes__outfit-list li { font-size: 16px; line-height: 1.7; }
  .edamame-fes__mud-note { font-size: 15px; line-height: 1.7; }
  .edamame-fes__mud-note strong { font-size: 14px; }

  .edamame-fes__rule-alert p:first-child { font-size: 14px; line-height: 1.6; }
  .edamame-fes__rule-alert p:last-child,
  .edamame-fes__rule-ng p,
  .edamame-fes__rope-note { font-size: 15px; line-height: 1.7; }
  .edamame-fes__rule-example figcaption { font-size: 14px; line-height: 1.7; }

  .edamame-fes__form-status p,
  .edamame-fes__field-hint,
  .edamame-fes__field-error,
  .edamame-fes__price-total { font-size: 15px; line-height: 1.7; }
  .edamame-fes__consent p { font-size: 14px; line-height: 1.7; }
  .edamame-fes__schedule span { font-size: 14px; }
  .edamame-fes__schedule strong { font-size: 16px; }
  .edamame-fes__button--submit span { font-size: 14px; }

  .edamame-fes__floating { font-size: 19px; line-height: 1.4; }
  .edamame-fes__floating span { font-size: 13px; line-height: 1.4; }
}
