:root{
  --green:#246b3d;
  --green2:#3b8a4a;
  --orange:#e66a1a;
  --red:#d9482b;
  --cream:#fffaf0;
  --ink:#2d2a26;
  --muted:#6f6a63;
  --line:#e7dfd2;
  --shadow:0 12px 28px rgba(52,45,35,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;color:var(--ink);background:#f6f4ee;line-height:1.75}
a{color:inherit}
img{max-width:100%;height:auto}
.site{max-width:1100px;margin:0 auto;background:#fff;min-height:100vh;box-shadow:0 0 38px rgba(0,0,0,.08)}
.hero{position:relative;background:#fff;overflow:hidden}
.top-hero{background:linear-gradient(180deg,#fff8ef 0%,#ffffff 70%)}
.hero-shell{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:28px;align-items:center;padding:28px 28px 18px}
.hero-brand{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:10px 8px}
.hero-logo{width:min(100%,650px)}
.hero-date{width:min(100%,720px)}
.hero-copy{padding:8px 4px 8px 0}
.hero-kicker{display:inline-block;margin:0 0 14px;padding:8px 14px;background:#eef7ef;border:1px solid #cfe4d4;border-radius:999px;color:var(--green);font-weight:800;font-size:.94rem;line-height:1.4}
.hero-copy h1{font-size:clamp(1.6rem,3.6vw,2.6rem);line-height:1.35;margin:0 0 12px;color:var(--green)}
.hero-copy p{margin:0;color:#554f48;font-size:1rem}
.hero-note{padding:14px 22px 0;color:var(--muted);font-size:.88rem;text-align:right}
.top-intro{padding:24px 22px 8px;text-align:center}
.top-intro h1{font-size:clamp(1.25rem,4vw,2rem);margin:0 0 10px;color:var(--green)}
.top-intro p{margin:0;color:#554f48}
.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:24px 22px 36px}
.choice{display:block;text-decoration:none;border-radius:20px;padding:28px 24px;box-shadow:var(--shadow);border:2px solid transparent;transition:.18s transform,.18s box-shadow}
.choice:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(52,45,35,.16)}
.choice.bbq{background:linear-gradient(135deg,#fff3e7,#fff);border-color:#f0b07c}
.choice.trek{background:linear-gradient(135deg,#edf8ef,#fff);border-color:#9bc5a4}
.choice .eyebrow{font-weight:800;font-size:.9rem;letter-spacing:.06em}
.choice.bbq .eyebrow{color:var(--orange)}
.choice.trek .eyebrow{color:var(--green)}
.choice h2{margin:4px 0 8px;font-size:clamp(1.45rem,4vw,2.1rem);line-height:1.35}
.choice p{margin:0;color:#5c5650}
.choice .cta{display:inline-flex;align-items:center;gap:.4em;margin-top:18px;font-weight:800;color:#fff;padding:10px 16px;border-radius:999px}
.choice.bbq .cta{background:var(--orange)}
.choice.trek .cta{background:var(--green)}
.page-head{padding:24px 22px 20px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#fff,#fffaf3)}
.back{display:inline-block;text-decoration:none;font-weight:700;color:var(--green);margin-bottom:12px}
.page-head h1{font-size:clamp(1.7rem,5vw,2.7rem);line-height:1.25;margin:0 0 8px}
.page-head .lead{font-size:1.04rem;margin:0;color:#514b45}
.page-head.bbq h1{color:var(--orange)}
.page-head.trek h1{color:var(--green)}
.content{padding:22px}
.summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:4px 0 26px}
.summary .card{border-radius:14px;padding:15px;background:#faf8f4;border:1px solid var(--line)}
.summary .label{display:block;font-size:.76rem;font-weight:800;color:var(--muted);letter-spacing:.04em}
.summary .value{display:block;font-weight:900;font-size:1.1rem;margin-top:2px}
.section{margin:28px 0}
.section h2{font-size:1.28rem;margin:0 0 12px;padding-left:12px;border-left:5px solid var(--green)}
.bbq-theme .section h2{border-left-color:var(--orange)}
.section h3{font-size:1.05rem;margin:18px 0 6px}
ul,ol{padding-left:1.35em;margin:8px 0}
li+li{margin-top:6px}
.note{background:#fff8df;border:1px solid #efd48b;border-radius:12px;padding:13px 15px;margin:12px 0}
.alert{background:#fff1ee;border:1px solid #efaaa0;border-radius:12px;padding:13px 15px;margin:12px 0}
.steps{counter-reset:step;list-style:none;padding:0;margin:0;display:grid;gap:12px}
.steps>li{counter-increment:step;position:relative;padding:16px 16px 16px 56px;border:1px solid var(--line);border-radius:14px;background:#fff}
.steps>li:before{content:counter(step);position:absolute;left:14px;top:14px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff;font-weight:900}
.bbq-theme .steps>li:before{background:var(--orange)}
.link-card{display:block;text-decoration:none;border:1px solid var(--line);border-radius:12px;padding:13px 15px;background:#fff;margin:8px 0;overflow-wrap:anywhere}
.link-card strong{color:var(--green)}
.reserve-box{margin:28px 0;padding:20px;border-radius:16px;background:#f1f7f2;border:1px solid #bad5c0;text-align:center}
.reserve-box h2{border:0;padding:0;margin:0 0 8px;color:var(--green)}
.reserve-btn{display:inline-block;margin-top:10px;padding:12px 20px;background:var(--green);color:#fff;text-decoration:none;font-weight:800;border-radius:999px}
.reserve-btn.disabled{opacity:.65;cursor:default}
.footer{padding:22px;background:#2e3d31;color:#fff;font-size:.9rem}
.footer p{margin:4px 0}
.footer a{color:#fff}
.small{font-size:.88rem;color:var(--muted)}
@media(max-width:960px){
  .hero-shell{grid-template-columns:1fr;gap:8px;padding:20px 20px 12px}
  .hero-copy{text-align:center;padding-right:0}
  .hero-kicker{display:inline-block}
}
@media(max-width:720px){
  .choice-grid{grid-template-columns:1fr}
  .summary{grid-template-columns:1fr}
  .content,.page-head,.top-intro,.choice-grid{padding-left:16px;padding-right:16px}
  .hero-note{text-align:left;padding-left:16px;padding-right:16px}
  .hero-shell{padding-left:16px;padding-right:16px}
  .choice{padding:22px 18px}
  .hero-copy p{font-size:.96rem}
}
@media(min-width:721px) and (max-width:1024px){
  .summary{grid-template-columns:repeat(2,1fr)}
}


/* ===== Responsive top page ===== */
.home-page{background:linear-gradient(180deg,#f7f3ea 0%,#eef5ed 100%)}
.home-page .site{max-width:1180px}
.home-page .top-hero{background:
  radial-gradient(circle at 15% 10%,rgba(255,179,71,.18),transparent 32%),
  radial-gradient(circle at 90% 20%,rgba(75,139,83,.14),transparent 34%),
  linear-gradient(180deg,#fffaf2 0%,#ffffff 100%);
  border-bottom:1px solid #efe7d8;
}
.home-page .hero-shell{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);gap:42px;align-items:center;padding:42px 42px 34px}
.home-page .hero-visual{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-width:0}
.home-page .hero-logo{display:block;width:min(100%,700px);filter:drop-shadow(0 12px 22px rgba(77,57,31,.08))}
.home-page .hero-date{display:block;width:min(96%,760px);filter:drop-shadow(0 8px 18px rgba(77,57,31,.08))}
.home-page .hero-copy{max-width:470px}
.home-page .hero-kicker{margin-bottom:16px}
.home-page .hero-copy h1{font-size:clamp(2rem,3.4vw,3.25rem);letter-spacing:.01em}
.home-page .hero-lead{font-size:1.04rem;line-height:1.8}
.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.hero-action{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 18px;border-radius:999px;text-decoration:none;color:#fff;font-weight:800;box-shadow:0 7px 18px rgba(0,0,0,.09);transition:transform .18s ease,box-shadow .18s ease}
.hero-action:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.14)}
.hero-action-bbq{background:linear-gradient(135deg,#ea7a21,#d94c21)}
.hero-action-trek{background:linear-gradient(135deg,#3d8b4c,#246b3d)}
.event-menu{padding:44px 34px 38px;background:#fff}
.section-heading{text-align:center;margin-bottom:24px}
.section-heading-tag{display:inline-block;font-size:.78rem;font-weight:900;letter-spacing:.14em;color:var(--green);margin-bottom:5px}
.section-heading h2{margin:0;font-size:clamp(1.55rem,3vw,2.2rem);line-height:1.35}
.home-page .choice-grid{padding:0;gap:24px}
.home-page .choice{position:relative;overflow:hidden;padding:30px 28px 28px;border-radius:24px}
.choice-topline{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.choice-number{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;font-weight:900;background:#fff;box-shadow:0 4px 10px rgba(0,0,0,.07)}
.choice-category{font-size:.86rem;font-weight:900;letter-spacing:.08em}
.choice.bbq .choice-number,.choice.bbq .choice-category{color:var(--orange)}
.choice.trek .choice-number,.choice.trek .choice-category{color:var(--green)}
.home-page .choice h3{margin:4px 0 8px;font-size:clamp(1.65rem,3vw,2.25rem);line-height:1.3}
.choice-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0 0}
.choice-meta>div{background:rgba(255,255,255,.78);border:1px solid rgba(85,75,62,.08);border-radius:14px;padding:10px 12px}
.choice-meta dt{font-size:.74rem;color:var(--muted);font-weight:800}
.choice-meta dd{margin:1px 0 0;font-weight:900}
.home-page .choice .cta{margin-top:18px;width:100%;justify-content:center;min-height:48px}
.event-note{padding:0 34px 38px;background:#fff}
.event-note-inner{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;padding:16px 20px;border-radius:16px;background:#fff8df;border:1px solid #efd48b;text-align:center}
.event-note-inner strong{color:#a85410}
@media(max-width:960px){
  .home-page .hero-shell{grid-template-columns:1fr;gap:20px;padding:28px 24px 24px}
  .home-page .hero-copy{max-width:760px;margin:0 auto;text-align:center}
  .home-page .hero-actions{justify-content:center}
  .home-page .hero-logo{width:min(86vw,640px)}
  .home-page .hero-date{width:min(90vw,700px)}
  .event-menu{padding:36px 22px 30px}
  .event-note{padding:0 22px 32px}
}
@media(max-width:720px){
  .home-page .site{box-shadow:none}
  .home-page .hero-shell{padding:18px 14px 20px;gap:12px}
  .home-page .hero-logo{width:min(94vw,600px)}
  .home-page .hero-date{width:min(96vw,660px)}
  .home-page .hero-copy h1{font-size:clamp(1.55rem,7vw,2.1rem)}
  .home-page .hero-lead{font-size:.96rem}
  .hero-actions{display:grid;grid-template-columns:1fr;width:100%;max-width:460px;margin:18px auto 0}
  .hero-action{width:100%}
  .event-menu{padding:30px 16px 24px}
  .home-page .choice-grid{grid-template-columns:1fr;gap:16px}
  .home-page .choice{padding:22px 18px 20px}
  .choice-meta{grid-template-columns:1fr 1fr}
  .event-note{padding:0 16px 26px}
  .footer{padding:20px 16px}
}
@media(max-width:420px){
  .home-page .hero-kicker{font-size:.82rem;padding:7px 10px}
  .choice-meta{grid-template-columns:1fr}
  .choice-number{width:38px;height:38px}
  .home-page .choice h3{font-size:1.5rem}
}

/* ===== Top page adjustments: logo/date only ===== */
.home-page .hero-shell.hero-only{
  display:block;
  padding:28px 24px 24px;
}
.home-page .hero-shell.hero-only .hero-visual{
  max-width:820px;
  margin:0 auto;
}
.home-page .hero-shell.hero-only .hero-logo{
  width:min(100%,700px);
}
.home-page .hero-shell.hero-only .hero-date{
  width:min(96%,760px);
}
.discount-note{
  display:block;
  margin-top:4px;
  font-size:.82rem;
  line-height:1.35;
  font-weight:900;
  color:#d93d20;
}
.choice.trek .discount-note{color:#c63c1f}
@media(max-width:720px){
  .home-page .hero-shell.hero-only{padding:16px 10px 18px}
  .home-page .hero-shell.hero-only .hero-logo{width:min(96vw,620px)}
  .home-page .hero-shell.hero-only .hero-date{width:min(98vw,680px)}
}

.back-wrap{
  text-align:left;
  margin:0 0 20px;
}

.back-button{
  display:inline-block;
  margin:0;
  padding:10px 18px;
  color:#fff;
  text-decoration:none;
  font-weight:700;
  border-radius:999px;
  box-shadow:0 4px 10px rgba(0,0,0,.12);
  transition:background .2s, transform .2s;
}

/* BBQページ */
.bbq-theme .back-button{
  background:#e66a1a;
}

.bbq-theme .back-button:hover{
  background:#c85712;
}

/* トレッキングページ */
.trek-theme .back-button{
  background:#246b3d;
}

.trek-theme .back-button:hover{
  background:#1d5631;
}
/* BBQページの予約フォームボタン */
.bbq-theme .reserve-btn{
  background:#e66a1a;
}

.bbq-theme .reserve-btn:hover{
  background:#c85712;
}

/* トレッキングページの予約フォームボタン */
.trek-theme .reserve-btn{
  background:#246b3d;
}

.trek-theme .reserve-btn:hover{
  background:#1d5631;
}

/* BBQページの「ご予約」見出し */
.bbq-theme .reserve-box h2{
  color:#e66a1a;
}