@import url('https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@400;700;800;900&display=swap');

:root{
  --bg:#ffffff;
  --surface:#fff7fb;
  --text:#1f2937;
  --muted:#6b7280;
  --line:#f0d5e4;
  --brand:#ff4fa3;
  --mint:#2dd4bf;
  --sun:#ffd166;
  --radius:20px;
  --radius-sm:14px;
  --shadow-sm:0 2px 0 rgba(0,0,0,.08);
  --shadow-md:0 14px 30px rgba(20,20,20,.10);
  --container:1120px;
  --pad:18px;
}

*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{
  margin:0;
  font-family:"M PLUS Rounded 1c",system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans JP","Hiragino Kaku Gothic ProN",Meiryo,Arial,sans-serif;
  color:var(--text);
  background:
    radial-gradient(1200px 600px at 10% 10%, rgba(255,79,163,.08), transparent 60%),
    radial-gradient(900px 520px at 90% 0%, rgba(45,212,191,.10), transparent 55%),
    linear-gradient(#fff,#fff);
  line-height:1.6;
}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;text-decoration:none;}
a:hover{text-decoration:none;opacity:.94;}
.container{max-width:var(--container);margin:0 auto;padding:0 var(--pad);}
.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;}
.skip-link:focus{left:12px;top:12px;width:auto;height:auto;padding:10px 12px;background:#fff;border:2px solid var(--line);border-radius:12px;z-index:9999;}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;}

.hero-video{
  width:100%;
  height:100%;
  object-fit:cover;
	object-position:center center;
  position:absolute;
  inset:0;
}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.45rem;
  padding:.86rem 1.1rem;border-radius:999px;border:2px solid transparent;
  font-weight:900;letter-spacing:.02em;box-shadow:var(--shadow-sm);
  transition:transform .08s ease, box-shadow .2s ease, filter .2s ease;
  user-select:none;white-space:nowrap;cursor:pointer;
}
.btn:active{transform:translateY(2px);}
.btn-primary{background:var(--brand);color:#fff;border-color:rgba(0,0,0,.06);box-shadow:0 6px 0 rgba(0,0,0,.16);}
.btn-primary:active{box-shadow:0 2px 0 rgba(0,0,0,.16);}
.btn-secondary{background:#fff;border-color:var(--line);}
.btn-mint{background:var(--mint);color:#064e3b;border-color:rgba(0,0,0,.06);box-shadow:0 6px 0 rgba(0,0,0,.12);}
.btn-mint:active{box-shadow:0 2px 0 rgba(0,0,0,.12);}
.btn-ghost{background:rgba(255,255,255,.22);border-color:rgba(255,255,255,.55);color:#fff;box-shadow:none;}

.site-header{
  position:sticky;top:0;z-index:50;
   background: radial-gradient(900px 500px at 20% 0%, rgba(255,79,163,.18), transparent 55%), radial-gradient(800px 440px at 80% 10%, rgba(45,212,191,.16), transparent 55%), var(--line);
    color: rgba(255,255,255,.92);
  border-bottom:2px solid var(--line);
}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:70px;}
.brand{display:flex;align-items:center;gap:12px;font-weight:900;}
.brand img{width:150px;height:auto;filter:drop-shadow(0 2px 0 rgba(0,0,0,.10)) drop-shadow(0 10px 18px rgba(0,0,0,.08));}
@media (max-width:780px){.brand img{width:60px;}}

.site-nav ul{display:flex;gap:18px;list-style:none;margin:0;padding:0;}
.site-nav a{display:inline-block;padding:10px 6px;color:#7c3a5a;font-weight:900;}
.site-nav a:hover{color:var(--brand);}

.header-cta{display:flex;align-items:center;gap:10px;}

.nav-toggle{display:none;border:2px solid var(--line);background:#fff;border-radius:14px;padding:10px 12px;font-weight:900;cursor:pointer;}
.mobile-nav{border-top:2px solid var(--line);background:#fff;}
.mobile-nav ul{list-style:none;padding:10px var(--pad) 14px;margin:0;display:grid;gap:6px;}
.mobile-nav a{display:block;padding:12px 12px;border-radius:14px;border:2px solid transparent;background:var(--surface);}
.mobile-nav a:hover{border-color:var(--line);}

section{padding:76px 0;}
.section-head{margin-bottom:22px;}
.section-head h2{
  display:inline-block;margin:0 0 8px;padding:7px 14px;border-radius:999px;
  background:rgba(255,79,163,.10);border:2px solid rgba(255,79,163,.18);
  letter-spacing:.02em;font-size:clamp(1.35rem,2vw,1.85rem);
}
.section-head p{margin:0;color:var(--muted);font-weight:700;}

.hero{position:relative;padding:0;overflow:hidden;border-bottom:2px solid var(--line);min-height:520px;}
.hero-media{position:absolute;inset:0;background:#111;}
.hero-media img{width:100%;height:100%;object-fit:cover;transform:scale(1.02);filter:saturate(1.05);}
.hero::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(1000px 520px at 20% 38%, rgba(255,79,163,.55), rgba(0,0,0,.05)),
           linear-gradient(to bottom, rgba(0,0,0,.10), rgba(0,0,0,.55));
}
.hero-content{position:relative;color:#fff;padding:108px var(--pad) 62px;z-index: 3;}
.hero-eyebrow{margin:0 0 10px;font-weight:900;letter-spacing:.10em;text-transform:uppercase;opacity:.95;}
.hero h1{margin:0 0 10px;line-height:1.14;letter-spacing:.02em;font-size:clamp(2rem,4vw,3.2rem);text-shadow:0 2px 0 rgba(0,0,0,.22);}
.hero-lead{margin:0 0 18px;font-size:clamp(1rem,1.35vw,1.2rem);opacity:.96;max-width:54ch;text-shadow:0 1px 0 rgba(0,0,0,.22);font-weight:800;}
.hero-badges{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:0 0 22px;}
.hero-badges li{background:rgba(255,255,255,.22);border:2px solid rgba(255,255,255,.35);padding:8px 12px;border-radius:999px;font-weight:900;font-size:.92rem;}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:18px;}
.hero-meta{display:grid;gap:4px;color:rgba(255,255,255,.92);font-weight:900;}
.hero-meta strong{color:#fff;}

.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.card{
  position:relative;border:2px solid var(--line);background:#fff;border-radius:var(--radius);
  padding:18px;box-shadow:var(--shadow-sm);
  transition:box-shadow .2s ease, transform .12s ease;
}
.card:hover{box-shadow:0 10px 26px rgba(20,20,20,.10);transform:translateY(-1px);}
.card h3{margin:0 0 6px;font-size:1.05rem;font-weight:900;}
.card p{margin:0;color:var(--muted);font-weight:700;}

.menu{background:var(--surface);border-top:2px solid var(--line);border-bottom:2px solid var(--line);}
.menu-tabs{display:inline-flex;border:2px solid var(--line);background:#fff;border-radius:999px;padding:4px;gap:4px;margin-bottom:16px;box-shadow:var(--shadow-sm);}
.menu-tabs button{border:0;background:transparent;padding:10px 14px;border-radius:999px;cursor:pointer;font-weight:900;color:#7c3a5a;}
.menu-tabs button[aria-selected="true"]{background:var(--brand);color:#fff;}

.menu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.menu-item{
  position:relative;border:2px solid var(--line);background:#fff;border-radius:var(--radius);overflow:hidden;
  box-shadow:var(--shadow-sm);transition:box-shadow .2s ease, transform .12s ease;
}
.menu-item:hover{box-shadow:0 10px 26px rgba(20,20,20,.10);transform:translateY(-1px);}
.menu-item img{height:180px;width:100%;object-fit:cover;border-bottom:2px solid var(--line);}
.menu-item .pad{padding:0 16px;}
.menu-item h3{margin:14px 0 2px;font-size:1.05rem;font-weight:900;}
.menu-item .price{margin:0 0 6px;font-weight:900;color:#7c3a5a;}
.menu-item .desc{margin:0 0 14px;color:var(--muted);font-weight:700;}
.section-actions{margin-top:18px;display:flex;gap:12px;flex-wrap:wrap;}

.rules-list{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;}
.rules-list article{
  position:relative;border:2px solid var(--line);border-radius:var(--radius);padding:16px;background:#fff;
  box-shadow:var(--shadow-sm);transition:box-shadow .2s ease, transform .12s ease;
}
.rules-list article:hover{box-shadow:0 10px 26px rgba(20,20,20,.10);transform:translateY(-1px);}
.rules-list h3{margin:0 0 6px;font-size:1.02rem;font-weight:900;}
.rules-list p{margin:0;color:var(--muted);font-weight:700;}

.note-box{
  margin-top:14px;border:2px dashed rgba(255,79,163,.35);
  background:rgba(255,79,163,.06);border-radius:var(--radius);
  padding:14px 16px;color:#7c3a5a;font-weight:900;
}

.party{background:#f1fffd;border-top:2px solid rgba(45,212,191,.25);border-bottom:2px solid rgba(45,212,191,.25);}
.party-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;align-items:stretch;}
.party-media img{border-radius:var(--radius);height:100%;min-height:340px;object-fit:cover;box-shadow:var(--shadow-md);border:2px solid rgba(0,0,0,.06);}
.party-content{border:2px solid rgba(45,212,191,.25);border-radius:var(--radius);padding:18px;background:#fff;box-shadow:var(--shadow-sm);}
.party-content h2{margin:0 0 10px;font-size:clamp(1.35rem,2vw,1.7rem);letter-spacing:.02em;}
.party-content p{margin:0 0 12px;color:var(--muted);font-weight:700;}
.party-points{margin:0 0 14px;padding-left:18px;color:var(--text);font-weight:900;}
.party-points li{margin:6px 0;}

.gallery-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;}
.gallery-grid a{border-radius:16px;overflow:hidden;border:2px solid var(--line);box-shadow:var(--shadow-sm);background:#fff;}
.gallery-grid img{width:100%;height:140px;object-fit:cover;}
.gallery-hint{margin-top:12px;color:var(--muted);font-weight:800;}

.access-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;}
.map{border:2px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--surface);min-height:340px;box-shadow:var(--shadow-sm);}
.map iframe{width:100%;height:100%;min-height:340px;border:0;display:block;}
.access-info{border:2px solid var(--line);border-radius:var(--radius);padding:18px;background:#fff;box-shadow:var(--shadow-sm);}
.access-strong{margin:0 0 12px;font-size:1.05rem;font-weight:900;letter-spacing:.01em;}
.access-info dl{margin:0;display:grid;gap:10px;}
.access-info dt{font-weight:900;}
.access-info dd{margin:2px 0 0;color:var(--muted);font-weight:800;}
.access-actions{margin-top:14px;display:flex;gap:10px;flex-wrap:wrap;}

.site-footer {
    border-top: 2px solid rgba(255,255,255,.10);
    background: radial-gradient(900px 500px at 20% 0%, rgba(255,79,163,.18), transparent 55%), radial-gradient(800px 440px at 80% 10%, rgba(45,212,191,.16), transparent 55%), var(--line);
    color: rgba(255,255,255,.92);
    padding: 28px 0;
}
.footer-inner{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;}
.site-footer nav ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-weight:900;}
.site-footer a{color:#fff;}
.site-footer p{margin:0;opacity:.85;font-weight:800;}

/* Stickers */
.sticker{
  position:absolute;top:12px;left:12px;z-index:2;
  padding:6px 12px;border-radius:999px;font-size:.78rem;font-weight:900;letter-spacing:.04em;color:#fff;
  box-shadow:0 2px 0 rgba(0,0,0,.25), 0 8px 18px rgba(0,0,0,.15);
  transform:rotate(-6deg);pointer-events:none;
}
.sticker.right{left:auto;right:12px;transform:rotate(6deg);}
.sticker.small{font-size:.7rem;padding:5px 10px;}
.sticker-new{background:linear-gradient(135deg,#ff4fa3,#ff85c2);}
.sticker-popular{background:linear-gradient(135deg,#ff8a00,#ffd166);color:#5a3b00;}
.sticker-recommend{background:linear-gradient(135deg,#2dd4bf,#6ee7d8);color:#064e3b;}
.sticker-paw{background:#ff4fa3;}
.sticker-paw::after{content:"🐾";font-size:1rem;}

/* Responsive */
@media (max-width:980px){
  .cards{grid-template-columns:1fr;}
  .menu-grid{grid-template-columns:1fr 1fr;}
  .rules-list{grid-template-columns:1fr;}
  .party-layout{grid-template-columns:1fr;}
  .access-grid{grid-template-columns:1fr;}
  .gallery-grid{grid-template-columns:repeat(3,1fr);}
  .hero-content{padding-top:94px;z-index: 3;}
}
@media (max-width:780px){
  .site-nav,.header-cta{display:none;}
  .nav-toggle{display:none;}
  .menu-grid{grid-template-columns:1fr;}
  section{padding:58px 0;}
  .footer-inner{flex-direction:column;}
}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  .card,.menu-item,.rules-list article{transition:none;}
}


/* Extras */

/* Pagination */
.nav-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px;}
.page-numbers{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:42px;padding:10px 12px;
  border-radius:999px;border:2px solid var(--line);
  background:#fff;font-weight:900;box-shadow:var(--shadow-sm);
}
.page-numbers.current{background:var(--brand);color:#fff;border-color:rgba(0,0,0,.06);}
/* WP core alignment */
.alignwide{max-width:var(--container);margin-left:auto;margin-right:auto;}

/* --- Red overlay on hero video --- */
.hero-media{
  position: absolute;
  inset: 0;
}

.hero-overlay{
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;

  /* PONPULU向け：やさしい赤 */
  background: rgba(255, 64, 64, 0.28);
}
