:root{color-scheme:light;--navy:#0c2748;--pink:#ea3d78;--line:#06c755;--blue:#51acd6}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:#edf3f8}
body{margin:0;color:var(--navy);background:radial-gradient(circle at 10% 10%,#e7f5fb,transparent 30%),radial-gradient(circle at 90% 70%,#ffeaf2,transparent 32%),#f7fafc;font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;padding-bottom:88px}
a{-webkit-tap-highlight-color:transparent}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.visual-lp{width:min(100%,760px);margin:0 auto;background:#fff;box-shadow:0 0 45px rgba(12,39,72,.12);overflow:hidden}
.visual-panel{position:relative;margin:0;background:#fff;line-height:0}
.visual-panel img{display:block;width:100%;height:auto;margin:0}
.hero-panel{isolation:isolate}
.map-cta:focus-visible{outline:4px solid #fff;outline-offset:3px;box-shadow:0 0 0 7px var(--pink)}
.info-panel{position:relative}
.map-cta{position:absolute;left:38%;right:18%;top:57%;height:4%;border-radius:8px}
.venue-image-panel{position:relative}
.venue-card-link{position:absolute;left:7%;right:7%;bottom:8%;height:13%;border-radius:24px}
.venue-card-link:focus-visible{outline:4px solid var(--navy);outline-offset:4px}
.action-band{text-align:center;padding:27px 28px 29px;background:linear-gradient(135deg,#f7fcff 0%,#fff5f8 100%);border-top:1px solid #e2eef4;border-bottom:1px solid #f2dfe6}
.action-band p{font-size:16px;font-weight:800;letter-spacing:.08em;margin:0 0 14px}
.action-band small,.final-action small{display:block;margin-top:11px;color:#536579;font-size:12px;line-height:1.65}
.action-band.compact{padding:22px 28px}
.cta-stack{display:grid;gap:12px;width:min(100%,520px);margin:0 auto}
.line-button,.form-button,.sticky-line a{display:flex;align-items:center;justify-content:center;gap:11px;width:100%;margin:0 auto;text-decoration:none;color:#fff;border-radius:999px;font-weight:900;letter-spacing:.03em}
.line-button,.sticky-line-button{background:linear-gradient(180deg,#13d466,#06b951);box-shadow:0 7px 18px rgba(6,185,81,.25),inset 0 -2px 0 rgba(0,0,0,.09)}
.form-button,.sticky-form-button{background:linear-gradient(180deg,#f45188,#df2f6b);box-shadow:0 7px 18px rgba(223,47,107,.22),inset 0 -2px 0 rgba(0,0,0,.09)}
.line-button{min-height:60px;padding:14px 23px;font-size:17px}
.form-button{min-height:60px;padding:14px 23px;font-size:17px}
.line-button span,.sticky-line-button span{display:grid;place-items:center;background:#fff;color:#08b952;border-radius:7px;padding:4px 5px;font:900 10px/1 Arial,sans-serif;letter-spacing:-.04em}
.form-button span,.sticky-form-button span{font-size:20px;line-height:1}
.line-button b,.form-button b{font-size:27px;line-height:.7}
.line-button:focus-visible,.form-button:focus-visible,.sticky-line a:focus-visible,.home-link:focus-visible{outline:4px solid var(--navy);outline-offset:4px}
.final-action{text-align:center;padding:62px 34px 67px;background:radial-gradient(circle at 0 100%,#dff4fb 0,transparent 43%),radial-gradient(circle at 100% 0,#ffe5ef 0,transparent 46%),#fff}
.final-action .eyebrow{color:var(--blue);font:700 13px/1.5 Georgia,serif;letter-spacing:.28em;margin:0 0 20px}
.final-action h2{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:clamp(31px,7vw,48px);line-height:1.55;margin:0}
.final-action h2 em{color:var(--pink);font-style:normal}
.final-action>p:not(.eyebrow){font-size:15px;line-height:1.9;margin:22px 0 27px}
.home-link{display:inline-block;margin-top:30px;color:var(--navy);font-weight:700;font-size:14px;text-underline-offset:5px}
.sticky-line{position:fixed;z-index:20;left:0;right:0;bottom:0;padding:11px max(14px,env(safe-area-inset-left)) calc(11px + env(safe-area-inset-bottom));background:rgba(255,255,255,.92);border-top:1px solid rgba(12,39,72,.1);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.sticky-line>div{display:grid;grid-template-columns:1fr 1.35fr;gap:9px;width:min(100%,580px);margin:0 auto}
.sticky-line a{min-height:56px;padding:11px 14px;font-size:14px;box-shadow:none}
@media(max-width:600px){
  body{padding-bottom:82px;background:#fff}
  .visual-lp{width:100%;box-shadow:none}
  .action-band{padding:23px 20px 25px}
  .action-band.compact{padding:18px 20px}
  .line-button,.form-button{min-height:56px;font-size:16px}
  .final-action{padding:50px 23px 55px}
  .final-action>p:not(.eyebrow){font-size:14px}
}
@media(prefers-reduced-motion:no-preference){
  .line-button,.form-button,.sticky-line a{transition:transform .18s ease,filter .18s ease}
  .line-button:hover,.form-button:hover,.sticky-line a:hover{transform:translateY(-2px);filter:saturate(1.08)}
}
