:root{--bg:#0b0b0c;--surface:#141416;--surface-2:#1c1c1f;--border:#2a2a2e;--text:#f2ede3;--muted:#a9a29a;--gold:#c9a227;--gold-soft:#e0c26a;--wine:#7a1f2b;--max:1100px;--serif:"Hiragino Mincho ProN", "Yu Mincho", "Noto Serif JP", Georgia, serif;--sans:"Hiragino Sans", "Yu Gothic", "Noto Sans JP", system-ui, -apple-system, "Segoe UI", sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;line-height:1.75}a{color:inherit;text-decoration:none}img{max-width:100%}button{font:inherit}.site-container{width:min(var(--max), calc(100% - 32px));margin:0 auto}.site-main{min-height:60vh;padding-bottom:24px}.site-notice{border-bottom:1px solid var(--border);color:#d8d2c7;letter-spacing:.03em;text-align:center;background:#080809;padding:8px 16px;font-size:12px;line-height:1.6}.site-notice span{color:var(--gold-soft)}@media (max-width:640px){.site-notice{padding:7px 12px;font-size:11px}}.site-header{z-index:50;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0b0b0ceb;position:sticky;top:0}.site-header-inner{justify-content:space-between;align-items:center;gap:24px;min-height:72px;display:flex;position:relative}.site-logo{flex:none;align-items:center;display:flex}.site-logo img{width:220px;height:auto;display:block}.site-nav{flex-wrap:wrap;gap:2px;display:flex}.site-nav a{color:var(--muted);letter-spacing:.04em;border-radius:4px;padding:8px 10px;font-size:13px;transition:color .2s,background .2s}.site-nav a:hover,.site-nav a.is-active{color:var(--gold-soft);background:#c9a22714}.nav-toggle{color:var(--text);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:4px;align-items:center;gap:8px;padding:8px 10px;display:none}.nav-toggle-bars{width:18px;height:12px;display:inline-block;position:relative}.nav-toggle-bars:before,.nav-toggle-bars:after,.nav-toggle-bars span{content:"";background:var(--gold-soft);width:18px;height:2px;position:absolute;left:0}.nav-toggle-bars:before{top:0}.nav-toggle-bars span{top:5px}.nav-toggle-bars:after{top:10px}#mainVisual{background:#000;width:960px;max-width:100%;height:665px;margin:0 auto 28px;position:relative;overflow:hidden}#mainVisual ul{margin:0;padding:0;list-style:none;position:absolute;inset:0}#mainVisual li{opacity:0;transition:opacity .12s linear;position:absolute;inset:0}#mainVisual li.is-active{opacity:1}#mainVisual img{object-fit:cover;width:100%;height:100%;display:block}#mainVisual #loading{z-index:5;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}#mainVisual #txt_copy{z-index:10;color:#fff;text-align:center;opacity:0;text-shadow:0 2px 18px #000c;width:580px;font-size:30px;line-height:1.4;transition:opacity 1.8s;position:absolute;top:50px;left:190px}#mainVisual #txt_copy.is-visible{opacity:1}#mainVisual #txt_copy #copy_big{font-family:var(--serif);margin:0 0 24px;font-size:40px;font-weight:600;line-height:1.3}#mainVisual #txt_copy p{margin:0 0 12px}@media (max-width:768px){#mainVisual{aspect-ratio:960/665;height:auto}#mainVisual #txt_copy{width:auto;font-size:18px;top:8%;left:6%;right:6%}#mainVisual #txt_copy #copy_big{margin-bottom:12px;font-size:26px}}.top-grid{grid-template-columns:1fr 1fr 1.1fr;gap:20px;margin:28px 0 48px;display:grid}.panel{background:var(--surface);border:1px solid var(--border);border-radius:10px;min-width:0;padding:18px}.panel-title{color:var(--gold-soft);letter-spacing:.06em;justify-content:space-between;align-items:baseline;gap:12px;margin:0 0 14px;font-size:15px;font-weight:600;display:flex}.panel-title a{color:var(--muted);font-size:12px;font-weight:400}.panel-title a:hover{color:var(--gold-soft)}@media (max-width:980px){.top-grid{grid-template-columns:1fr 1fr}.top-grid .panel:last-child{grid-column:1/-1}}@media (max-width:640px){.top-grid{grid-template-columns:1fr}.top-grid .panel:last-child{grid-column:auto}}.photo-carousel{display:block}.photo-frame{aspect-ratio:4/3;background:#000;border-radius:6px;position:relative;overflow:hidden}.photo-frame img{object-fit:cover;width:100%;height:100%;transition:transform .6s,opacity .35s;display:block}.photo-carousel:hover .photo-frame img{transform:scale(1.03)}.photo-empty{aspect-ratio:4/3;color:var(--muted);background:var(--surface-2);border-radius:6px;justify-content:center;align-items:center;font-size:13px;display:flex}.photo-caption{margin-top:10px;font-size:14px;line-height:1.6}.photo-date{color:var(--muted);letter-spacing:.08em;margin-bottom:2px;font-size:11px;display:block}.news-list{margin:0;padding:0;list-style:none}.news-item{border-bottom:1px solid var(--border);align-items:baseline;gap:12px;padding:10px 0;display:flex}.news-item:last-child{border-bottom:0}.news-date{color:var(--gold);font-variant-numeric:tabular-nums;letter-spacing:.04em;flex:none;font-size:12px}.news-title{color:var(--text);font-size:14px;line-height:1.6}.news-title:hover{color:var(--gold-soft);text-underline-offset:3px;text-decoration:underline}.badge-new{color:#0b0b0c;background:var(--gold);vertical-align:middle;border-radius:2px;margin-left:6px;padding:0 5px;font-size:9px;line-height:16px;display:inline-block}.more-link{color:var(--gold-soft);margin-top:14px;font-size:12px;display:inline-block}.more-link:hover{text-underline-offset:3px;text-decoration:underline}.page{padding:32px 0 56px}.page-head{margin-bottom:28px}.page-title{font-family:var(--serif);letter-spacing:.04em;margin:0 0 8px;font-size:30px;font-weight:600}.page-lead{color:var(--muted);margin:0;font-size:14px}.section-title{color:var(--gold-soft);font-family:var(--serif);margin:32px 0 12px;font-size:20px;font-weight:600}.prose{color:#ded8cd;overflow-wrap:anywhere;font-size:15px}.prose h2{color:var(--gold-soft);font-family:var(--serif);margin:32px 0 12px;font-size:22px}.prose h3{color:var(--gold-soft);margin:24px 0 10px;font-size:18px}.prose h4{color:var(--gold-soft);margin:20px 0 8px;font-size:16px}.prose p{margin:0 0 1em}.prose img{border-radius:4px;height:auto}.prose a{color:var(--gold-soft);text-underline-offset:3px;text-decoration:underline}.prose table{border-collapse:collapse;width:100%;margin:16px 0;font-size:14px;display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--border);vertical-align:top;padding:8px 10px}.prose th{background:var(--surface-2)}.prose blockquote{background:var(--surface);border-left:3px solid var(--gold);margin:16px 0;padding:12px 16px}.detail-head{margin-bottom:24px}.detail-date{color:var(--muted);font-size:13px}.detail-title{font-family:var(--serif);margin:6px 0 0;font-size:26px;line-height:1.4}.detail-body{margin-top:24px}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.gallery-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;overflow:hidden}.gallery-card img{aspect-ratio:4/3;object-fit:cover;width:100%;transition:transform .5s;display:block}.gallery-card:hover img{transform:scale(1.03)}.gallery-card-body{padding:10px 12px 12px}.gallery-card-date{color:var(--muted);font-size:11px}.gallery-card-title{margin-top:2px;font-size:14px}@media (max-width:900px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.gallery-grid{grid-template-columns:1fr}}.pager{justify-content:center;gap:8px;margin:32px 0 0;display:flex}.pager a,.pager span{min-width:36px;color:var(--muted);border:1px solid var(--border);text-align:center;border-radius:4px;padding:6px 10px;font-size:13px}.pager a:hover{color:var(--gold-soft);border-color:var(--gold)}.pager .is-current{color:#0b0b0c;background:var(--gold);border-color:var(--gold)}.menu-layout{grid-template-columns:180px minmax(0,1fr);gap:28px;display:grid}.menu-nav{flex-direction:column;align-self:start;gap:4px;display:flex;position:sticky;top:96px}.menu-nav a{color:var(--muted);border-left:2px solid #0000;padding:8px 10px;font-size:13px}.menu-nav a:hover,.menu-nav a.is-active{color:var(--gold-soft);border-left-color:var(--gold);background:#c9a2270f}.menu-body h3{color:var(--gold-soft);font-family:var(--serif);margin:0 0 16px;font-size:22px}.menu-body h4{color:var(--gold-soft);margin:28px 0 8px;font-size:17px}.menu-body table{table-layout:auto;border-collapse:collapse;width:100%;margin:8px 0 20px;font-size:14px;display:table}.menu-body th{text-align:left;font-weight:400}.menu-body td,.menu-body th{border-bottom:1px solid var(--border);vertical-align:top;padding:7px 8px}.menu-body td p,.menu-body th p{margin:0}.menu-body tr>:last-child{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;width:1%;color:var(--gold-soft);padding-left:12px}.menu-body td.price,.menu-body td.price p{white-space:nowrap}.menu-body tr>:first-child{padding-right:8px}.menu-body tr:hover td{background:#ffffff05}.menu-body p{margin:0 0 10px}.menu-body img{height:auto}@media (max-width:800px){.menu-layout{grid-template-columns:1fr}.menu-nav{border-bottom:1px solid var(--border);-webkit-overflow-scrolling:touch;flex-flow:row;gap:2px;padding-bottom:6px;position:static;overflow-x:auto}.menu-nav a{white-space:nowrap;border-bottom:2px solid #0000;border-left:0;flex:none;padding:8px 10px}.menu-nav a:hover,.menu-nav a.is-active{border-bottom-color:var(--gold);background:0 0}.menu-body table{font-size:13px}.menu-body td,.menu-body th{padding:7px 0}.menu-body tr>:last-child{padding-left:10px}}.calendar-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.calendar-month{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:16px}.calendar-month h2{color:var(--gold-soft);font-family:var(--serif);margin:0 0 12px;font-size:18px}.calendar-weekdays,.calendar-days{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.calendar-weekdays span{color:var(--muted);text-align:center;font-size:11px}.calendar-day{aspect-ratio:1;font-variant-numeric:tabular-nums;border-radius:4px;justify-content:center;align-items:center;font-size:12px;display:flex;position:relative}.calendar-day.is-empty{visibility:hidden}.calendar-day.is-closed{color:var(--gold-soft);background:#c9a22714}.calendar-dot{background:var(--gold);border-radius:50%;width:4px;height:4px;position:absolute;bottom:4px}.calendar-legend{gap:6px;margin:24px 0 0;padding:0;list-style:none;display:grid}.calendar-legend li{color:var(--muted);gap:10px;font-size:13px;display:flex}.calendar-legend .dot{background:var(--gold);border-radius:50%;flex:none;width:8px;height:8px;margin-top:7px}@media (max-width:760px){.calendar-grid{grid-template-columns:1fr}}.instagram-section{text-align:center;margin:48px 0}.instagram-wrap{justify-content:center;display:flex}.instagram-note{max-width:640px;color:var(--muted);margin:12px auto 0;font-size:13px}.instagram-note a{color:var(--gold-soft);text-underline-offset:3px;text-decoration:underline}.access-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.access-table{border-collapse:collapse;width:100%}.access-table th,.access-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:10px 0;font-size:14px}.access-table th{width:90px;color:var(--gold-soft);font-weight:500}.map-frame{border:0;border-radius:8px;width:100%;min-height:360px}@media (max-width:800px){.access-grid{grid-template-columns:1fr}}.site-footer{border-top:1px solid var(--border);background:#080809;margin-top:48px;padding:36px 0 28px}.footer-grid{flex-wrap:wrap;justify-content:space-between;gap:24px;display:flex}.footer-brand img{width:180px;height:auto}.footer-info{color:var(--muted);font-size:13px;line-height:1.9}.footer-info strong{color:var(--text);font-weight:500}.footer-links{color:var(--muted);flex-wrap:wrap;gap:12px;font-size:12px;display:flex}.footer-links a:hover{color:var(--gold-soft)}.footer-bottom{border-top:1px solid var(--border);color:#6f6a63;text-align:center;margin-top:24px;padding-top:16px;font-size:11px}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:900px){.site-logo img{width:180px}.nav-toggle{display:inline-flex}.site-nav{border-bottom:1px solid var(--border);background:#0b0b0cfa;flex-direction:column;padding:12px 16px 16px;display:none;position:absolute;top:calc(100% + 1px);left:0;right:0}.site-nav.is-open{display:flex}.site-nav a{padding:10px 6px}}
