@import"https://fonts.googleapis.com/css2?family=Kosugi+Maru&family=Yusei+Magic&display=swap";:root{--bg: #e6ebf2;--surface: #ffffff;--text: #212121;--muted: #555;--line: #ddd8cd;--brand: #0b7d72;--brand-accent: #cf5d36;--shadow: 0 12px 30px rgba(0, 0, 0, .1)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:Kosugi Maru,sans-serif;color:var(--text);background:radial-gradient(circle at 0 0,#f2f4f7 0%,transparent 34%),radial-gradient(circle at 100% 0,#dde3ec 0%,transparent 38%),var(--bg)}a{color:inherit}.site-main{width:min(1120px,94vw);margin:1rem auto 3rem}.site-header{width:min(1120px,94vw);margin:1rem auto 0;padding:.8rem 1rem;border:1px solid #c9cfd8;border-radius:10px;background:#eceff3;display:grid;gap:.5rem}.site-logo{font-family:Yusei Magic,sans-serif;text-decoration:none;font-size:clamp(1.1rem,2.3vw,1.45rem)}.site-nav{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;margin:0;padding:0}.site-nav-link{text-decoration:none;border:1px solid #bcc4cf;padding:.45rem .85rem;border-radius:8px;display:inline-block;background:#f7f8fa;font-weight:700;box-shadow:inset 0 1px #fffc}.site-nav-link:hover,.site-nav-link:focus-visible,.site-nav-link.is-current{color:#fff;border-color:#3f4652;background:#3f4652}.section{margin-top:1rem;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:clamp(1rem,2.4vw,1.6rem);box-shadow:var(--shadow)}.section h1,.section h2,.section h3{font-family:Yusei Magic,sans-serif;margin:0 0 .8rem}.section p,.section li{line-height:1.7}.lead{font-size:1.05rem;font-weight:700}.button{display:inline-block;text-decoration:none;border:1px solid var(--brand);background:var(--brand);color:#fff;padding:.5rem .95rem;border-radius:8px;font-weight:700}.button.secondary{background:#fff;color:var(--brand);border-color:#8d98a8}.hero-cover{display:grid;grid-template-columns:1fr;gap:1rem}.hero-cover img,.photo-section img,.split-section img,.menu-main-image{width:100%;border-radius:10px;border:1px solid var(--line)}.photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.7rem}.photo-grid-5{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.split-section{display:grid;grid-template-columns:1fr;gap:1rem}.schedule-table,.price-table,.event-table{width:100%;border-collapse:collapse;font-size:.95rem}.schedule-table th,.schedule-table td,.price-table th,.price-table td,.event-table th,.event-table td{border:1px solid var(--line);padding:.55rem;vertical-align:top}.schedule-table th,.event-table th,.price-table th{background:#f7f5ee}.price-description{white-space:pre-line}.note{color:var(--muted)}.link-list{margin:0;padding-left:1.2rem}.basic-info p{margin:.4rem 0}.site-footer{width:min(1120px,94vw);margin:0 auto 2rem;padding:1rem;border-radius:14px;border:1px solid #27342e;background:#1c2422;color:#f5f3ea}.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.footer-title{margin-top:0;font-size:1rem}.copyright{display:block;margin-top:.8rem;color:#cbcac2}@media(min-width:860px){.hero-cover{grid-template-columns:360px 1fr;align-items:start}.split-section{grid-template-columns:1fr 1fr;align-items:start}}.admin-app{display:grid;gap:1rem;padding-bottom:5.5rem;color:#20242b}.admin-hero-section{box-shadow:none}.admin-app .section{box-shadow:none;border-radius:8px;border-color:#bcc4cf;background:#edf0f4}.admin-app .section h1,.admin-app .section h2,.admin-app .section h3{font-family:Kosugi Maru,sans-serif}.admin-auth{display:grid;gap:.8rem}.admin-auth input,.admin-form input,.admin-form select,.admin-form textarea,.admin-month-row input,.admin-modal select,.admin-modal textarea{width:100%;border:1px solid #adb7c3;border-radius:6px;padding:.55rem .65rem;font:inherit;background:#fdfdfe}.admin-app .button{border-color:#394553;background:#394553;color:#fff}.admin-app .button.secondary{border-color:#8f9baa;background:#f5f7fa;color:#2d3743}.admin-error{margin-top:.8rem;color:#b00020;font-weight:700}.admin-tabs{display:flex;flex-wrap:wrap;gap:.45rem}.admin-tab{border:1px solid #b5bfcb;background:#e3e7ed;color:#2a3640;border-radius:6px;padding:.42rem .8rem;font:inherit;font-weight:700;cursor:pointer}.admin-tab.is-active{background:#3e4653;border-color:#3e4653;color:#fff}.admin-calendar-top{margin-bottom:.5rem;display:flex;align-items:end;justify-content:space-between;flex-wrap:wrap;gap:.8rem}.admin-recurring-row{margin-top:.8rem;border-top:1px solid #bcc4cf;padding-top:.9rem;display:grid;gap:.5rem}.admin-recurring-row.is-updated{border-top-color:#2e5f9d;background:#e8eff8;border-radius:6px;padding:.8rem}.admin-recurring-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.admin-recurring-badge{display:inline-block;border:1px solid #2e5f9d;background:#2e5f9d;color:#fff;border-radius:5px;padding:.14rem .45rem;font-size:.72rem;font-weight:700}.admin-month-row{display:grid;gap:.35rem;max-width:250px;font-weight:700}.admin-brush-label{margin:0;font-weight:700}.admin-weekday-list{display:flex;flex-wrap:wrap;gap:.45rem}.admin-weekday-item{border:1px solid #b3bcc7;border-radius:6px;padding:.2rem .55rem;display:inline-flex;gap:.3rem;align-items:center;background:#f7f9fb;font-size:.86rem}.admin-weekday-item.is-selected{border-color:#2e5f9d;background:#edf3fb;color:#1f4270;font-weight:700}.admin-weekday-item input{margin:0}.admin-status-group{display:grid;gap:.4rem}.admin-status-group-label{margin:0;font-weight:700}.admin-status-switch{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.admin-status-chip{margin:0;border-radius:999px;padding:.2rem .65rem;font-size:.86rem;font-weight:700;border:1px solid transparent}.admin-status-chip.is-open{background:#ebf9f0;color:#1f8a54;border-color:#1f8a5459}.admin-status-chip.is-closed{background:#fdf0f0;color:#9d3030;border-color:#c4484859}.admin-calendar-head{margin-bottom:.45rem}.admin-calendar-head>div{text-align:center;font-weight:700;color:#495462}.admin-weekday-head.is-sun{color:#bc3d2a}.admin-weekday-head.is-sat{color:#1a5ea7}.admin-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.45rem}.admin-day-card{border:1px solid #c1c8d2;border-radius:6px;padding:.45rem;background:#f8f9fb;display:grid;gap:.35rem;align-content:space-between;min-height:120px;user-select:none}.admin-day-card:focus-visible{outline:2px solid #0f5f98;outline-offset:1px}.admin-day-card.is-open{background:#e7f0fc}.admin-day-card.is-closed{background:#f3eded}.admin-day-card.is-open .admin-day-status{color:#173b6a;border-color:#7f9fc7;background:#f1f6fd}.admin-day-card.is-dirty{border-color:#3f4b59;box-shadow:inset 0 0 0 1px #3f4b59}.admin-day-card.is-editing{cursor:crosshair}.admin-day-card-blank{background:transparent;border-style:dashed;min-height:120px}.admin-day-main{display:flex;justify-content:space-between;gap:.45rem;align-items:flex-start}.admin-day-title{margin:0;font-weight:700;font-size:.93rem}.admin-day-title.is-weekday{color:#26313a}.admin-day-title.is-sat{color:#1a5ea7}.admin-day-title.is-sun,.admin-day-title.is-holiday{color:#bc3d2a}.admin-day-status{margin:0;font-size:.78rem;color:#2f3a46;border:1px solid #a5afba;border-radius:5px;padding:.08rem .45rem;background:#f5f7fa}.admin-holiday{margin:0;font-size:.78rem;color:#bd3f2d;font-weight:700}.admin-day-note{margin:0;font-size:.8rem;line-height:1.4;color:#4d5964;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.admin-day-detail{width:100%;justify-content:center;text-align:center;font-size:.82rem;border-radius:6px}.admin-mini-note{margin:0;font-size:.8rem;color:#64727d}.admin-calendar-tip{margin:0 0 .7rem}.admin-form,.admin-form-2col,.admin-form-3col{display:grid;gap:.6rem}.admin-form-2col{grid-template-columns:1fr 1fr}.admin-form-3col{grid-template-columns:repeat(3,1fr)}.admin-check{display:inline-flex;align-items:center;gap:.4rem}.admin-actions{display:flex;flex-wrap:wrap;gap:.5rem}.admin-sticky-actions{position:fixed;left:50%;bottom:1rem;transform:translate(-50%);z-index:30;display:flex;gap:.55rem;align-items:center;border:1px solid #aeb8c4;background:#e9edf3fa;box-shadow:0 8px 24px #0000001a;padding:.55rem;border-radius:8px;backdrop-filter:blur(4px)}.admin-list{margin-top:1rem;display:grid;gap:.7rem}.admin-item{border:1px solid #c0c8d2;border-radius:6px;padding:.7rem;background:#f8f9fb}.admin-item p{margin:0 0 .45rem}.admin-modal-backdrop{position:fixed;inset:0;background:#0a121c8c;z-index:40;display:grid;place-items:center;padding:1rem}.admin-modal{width:min(680px,96vw);max-height:92vh;overflow:auto;background:#f3f5f8;border-radius:8px;border:1px solid #b9c2cd;padding:1rem;display:grid;gap:.9rem}.admin-modal h3{margin:0;color:#25303c}.admin-modal-body{display:grid;gap:.8rem}.admin-modal-body label{display:grid;gap:.35rem;font-weight:700}.admin-modal-events{border-top:1px solid #d6dde4;padding-top:.85rem;display:grid;gap:.65rem}.admin-modal-events-header{display:flex;justify-content:space-between;gap:.7rem;align-items:center;flex-wrap:wrap}.admin-modal-events-header p{margin:0;font-weight:700}.admin-modal-event-list{display:grid;gap:.6rem}@media(max-width:860px){.admin-app{padding-bottom:6.5rem}.admin-tabs{gap:.35rem}.admin-tab{font-size:.84rem;padding:.35rem .65rem}.admin-calendar-top{align-items:stretch}.admin-calendar-top>.button{width:100%}.admin-calendar-grid{gap:.3rem}.admin-day-card,.admin-day-card-blank{min-height:106px;padding:.35rem}.admin-day-title{font-size:.82rem}.admin-day-status,.admin-day-note,.admin-mini-note{font-size:.72rem}.admin-sticky-actions{width:min(96vw,440px);justify-content:center;border-radius:14px}.admin-form-2col,.admin-form-3col{grid-template-columns:1fr}}
