@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Noto+Serif+JP:wght@500;600;700&family=Noto+Sans+JP:wght@400;500;600;700&display=swap');

:root{--ink:#1b2520;--paper:#f6f3ed;--white:#fffdfa;--line:#d9d6cc;--muted:#68726c;--coral:#c65d43;--teal:#2e9285;--gold:#b88739;--violet:#7567c7;--sans:"Noto Sans JP",sans-serif;--serif:"Noto Serif JP",serif;--mono:"DM Mono",monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans)}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #8bcac1;outline-offset:3px}.public{min-height:100vh;overflow:hidden}.topbar{height:72px;padding:0 clamp(18px,4vw,64px);display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line);background:#f6f3edeb;position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}.brand{display:inline-flex;align-items:center;gap:10px;font-weight:700;letter-spacing:-.04em;line-height:1}.mark{width:29px;height:29px;display:inline-grid;place-items:center;border-radius:50% 50% 43% 43%;background:var(--ink);color:#fff;overflow:hidden}.mark:before{content:"";width:17px;height:9px;border:1px solid currentColor;border-radius:50%;transform:rotate(-32deg)}.brand small{display:block;margin-top:4px;font:8px var(--mono);letter-spacing:.13em;color:var(--muted)}.nav{display:flex;align-items:center;gap:19px;font-size:12px;font-weight:700;color:var(--muted)}.nav .cta{padding:9px 13px;background:var(--ink);color:#fff;border-radius:7px}.page{max-width:1280px;margin:auto;padding:0 28px}.eyebrow{display:flex;align-items:center;gap:8px;color:var(--coral);font:700 10px var(--mono);letter-spacing:.13em}.eyebrow:before{content:"";width:20px;border-top:1px solid currentColor}.hero{min-height:560px;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:42px;padding:88px 0 74px;position:relative}.hero:after{content:"";position:absolute;width:590px;height:590px;right:-200px;top:-250px;border:1px solid #2e928544;border-radius:48% 52% 41% 60%;transform:rotate(22deg);box-shadow:inset 0 0 0 44px #2e92850a}.hero h1{margin:18px 0 22px;font:500 clamp(45px,6.1vw,86px)/.94 var(--serif);letter-spacing:-.07em;position:relative;z-index:1}.hero h1 em{font-style:normal;color:var(--coral)}.lead{max-width:570px;color:#506058;font-size:14px;line-height:2}.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.button{min-height:45px;padding:0 17px;border:1px solid var(--ink);background:transparent;color:var(--ink);display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:7px;font-size:12px;font-weight:700}.button.primary{background:var(--ink);color:#fff}.button.coral{background:var(--coral);border-color:var(--coral);color:#fff}.button:hover{transform:translateY(-2px);box-shadow:0 8px 18px #1b25201c}.art{z-index:1;position:relative;min-height:330px;display:flex;align-items:center;justify-content:center}.art-card{width:min(100%,390px);padding:23px;color:#fff;background:var(--ink);border-radius:3px 56px 3px 3px;box-shadow:0 20px 50px #1b25202b;transform:rotate(3deg)}.art-card:before{content:"";position:absolute;inset:14px;border:1px solid #ffffff3b;border-radius:1px 42px 1px 1px}.art-label,.card-index{font:10px var(--mono);letter-spacing:.13em}.art-title{margin:68px 0 55px;font:400 44px/.93 var(--serif);letter-spacing:-.06em}.art-foot{padding-top:14px;border-top:1px solid #ffffff42;font:10px var(--mono)}.art-note{position:absolute;left:-20px;bottom:15px;width:150px;padding:14px;background:#ece5d8;box-shadow:0 8px 19px #1b252026;transform:rotate(-7deg);font:10px/1.6 var(--mono)}.art-note b{display:block;color:var(--coral);margin-bottom:3px}.section{padding:76px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:29px}.section h2{margin:9px 0 0;font:500 clamp(29px,3.5vw,47px)/.98 var(--serif);letter-spacing:-.06em}.section-head>p{max-width:350px;margin:0;color:var(--muted);font-size:12px;line-height:1.8}.event-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:15px}.event-card{min-height:255px;padding:20px;border:1px solid #1b252026;background:var(--white);display:flex;flex-direction:column;justify-content:space-between;transition:.2s}.event-card:first-child{background:var(--ink);color:#fff;border:0}.event-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px #1b252015}.event-card h3{margin:38px 0 10px;font:500 27px/1 var(--serif);letter-spacing:-.05em}.event-card:not(:first-child) h3{font-size:22px}.meta{margin:0;color:inherit;opacity:.72;font:10px/1.7 var(--mono)}.card-link{font-size:11px;font-weight:700}.strip{margin:0 -28px;padding:17px 28px;overflow:hidden;background:var(--coral);color:#fff;white-space:nowrap;font:700 11px var(--mono);letter-spacing:.1em}.footer{display:flex;justify-content:space-between;gap:28px;padding:43px max(28px,4vw);background:var(--ink);color:#dce6df}.footer p{max-width:400px;font-size:11px;line-height:1.8}.footer small{font:10px var(--mono);color:#a8bab1}.detail-hero{padding:64px 0 43px;border-bottom:1px solid var(--line)}.detail-hero h1,.form-title{margin:18px 0 0;font:500 clamp(42px,6vw,76px)/.94 var(--serif);letter-spacing:-.07em}.detail-meta{display:flex;flex-wrap:wrap;gap:11px 20px;margin-top:24px;color:var(--muted);font:10px/1.6 var(--mono)}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:55px;padding:65px 0 92px}.prose{font-size:14px;line-height:2;color:#445149}.prose h2{margin:56px 0 18px;color:var(--ink);font:500 35px/1 var(--serif);letter-spacing:-.06em}.program{border-top:1px solid var(--line)}.session{display:grid;grid-template-columns:90px 1fr auto;gap:16px;padding:17px 0;border-bottom:1px solid var(--line)}.session time,.tag{font:10px var(--mono);color:var(--muted)}.session h3{margin:0 0 5px;font-size:14px}.session p{margin:0;font-size:11px;line-height:1.6}.tag{padding:5px 7px;background:var(--teal);color:#fff;border-radius:99px}.ticket-aside{height:max-content;border:1px solid var(--line);background:var(--white);position:sticky;top:94px}.aside-head{padding:18px;border-bottom:1px solid var(--line);font:700 11px var(--mono)}.ticket-row{padding:17px;border-bottom:1px solid var(--line)}.ticket-row h4{margin:0 0 6px;font-size:13px}.ticket-row p{margin:0;color:var(--muted);font-size:11px;line-height:1.6}.ticket-price{display:flex;justify-content:space-between;align-items:end;margin-top:10px}.ticket-price strong,.num{font-family:var(--mono);font-variant-numeric:tabular-nums}.ticket-aside .button{margin:18px;width:calc(100% - 36px)}.form-shell{max-width:800px;margin:auto;padding:56px 0 92px}.step{color:var(--coral);font:700 10px var(--mono);letter-spacing:.13em}.form-intro{color:var(--muted);font-size:13px;line-height:1.8}.form-section{margin-top:21px;padding:24px;border:1px solid var(--line);background:var(--white)}.form-section h2{margin:0 0 15px;font-size:16px}.choice-list{display:grid;gap:10px}.choice{display:flex;align-items:flex-start;gap:11px;padding:14px;border:1px solid var(--line);cursor:pointer}.choice:has(input:checked){border-color:var(--teal);background:#eaf5f2}.choice input{margin-top:3px;accent-color:var(--teal)}.choice strong{display:block;font-size:13px}.choice span{display:block;margin-top:3px;color:var(--muted);font-size:11px;line-height:1.6}.choice-price{margin-left:auto;white-space:nowrap;font:700 13px var(--mono)}.fields{display:grid;grid-template-columns:1fr 1fr;gap:13px}.field{display:grid;gap:7px;font-size:11px;font-weight:700}.field.full{grid-column:1/-1}.field input,.field select,.field textarea{width:100%;min-width:0;padding:11px;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:13px}.field textarea{min-height:80px;resize:vertical}.notice{margin-top:16px;padding:13px;border-left:3px solid var(--teal);background:#eaf5f2;color:#20685e;font-size:12px;line-height:1.7}.qr-ticket{max-width:720px;margin:55px auto 90px;display:grid;grid-template-columns:1fr 230px;border:1px solid var(--line);background:var(--white)}.ticket-main{padding:32px;border-right:1px dashed var(--line)}.ticket-main h1{margin:34px 0;font:500 38px/1 var(--serif)}.ticket-side{padding:22px;display:flex;flex-direction:column;justify-content:space-between}.qr{width:145px;aspect-ratio:1;background:repeating-linear-gradient(90deg,#1b2520 0 6px,#fff 6px 11px),repeating-linear-gradient(0deg,#1b2520 0 5px,#fff 5px 10px);border:9px solid #fff;box-shadow:0 0 0 1px var(--line)}.ticket-code{margin-top:13px;font:700 12px var(--mono)}.ticket-side p{font-size:10px;line-height:1.7;color:var(--muted)}.mypage{max-width:920px;margin:auto;padding:60px 0 90px}.my-card{margin-top:25px;padding:25px;background:var(--white);border:1px solid var(--line)}.my-card h2{font:500 34px var(--serif);margin:0 0 10px}.my-tickets{display:grid;gap:12px;margin-top:24px}.my-ticket{padding:18px;border:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:15px}.my-ticket p{margin:5px 0 0;color:var(--muted);font-size:11px}.ops{min-height:100vh;background:#eff2ee}.ops-shell{display:grid;grid-template-columns:242px 1fr;min-height:100vh}.side{padding:24px 15px;background:var(--ink);color:#dce6df}.side .brand{color:#fff;margin:0 10px 26px}.side-label{margin:0 10px 12px;color:#99aba2;font:10px var(--mono);letter-spacing:.1em}.side a{display:flex;gap:10px;align-items:center;padding:10px;border-radius:6px;color:#b7c4be;font-size:12px}.side a.active,.side a:hover{background:#ffffff12;color:#fff}.side-foot{margin:25px 10px;color:#8fa39a;font:10px/1.7 var(--mono)}.ops-main{min-width:0}.ops-head{min-height:92px;padding:18px 32px;display:flex;align-items:center;justify-content:space-between;gap:18px;background:#fff;border-bottom:1px solid #dfe6e1}.ops-head h1{margin:0;font-size:18px}.ops-head p{margin:5px 0 0;color:#6d7b73;font:10px var(--mono)}.status{display:inline-flex;align-items:center;gap:7px;color:#33695e;font-size:11px}.status:before{content:"";width:7px;height:7px;background:var(--teal);border-radius:50%}.ops-content{padding:31px}.title-row{display:flex;justify-content:space-between;align-items:start;gap:20px;margin-bottom:18px}.title-row h2{margin:0 0 6px;font-size:20px}.title-row p{margin:0;color:#6d7b73;font-size:12px;line-height:1.7}.ops-button{display:inline-flex;align-items:center;gap:6px;padding:9px 11px;border:1px solid #cad5cf;background:#fff;color:#315149;border-radius:5px;font-size:11px;font-weight:700}.ops-button.primary{background:var(--ink);border-color:var(--ink);color:#fff}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.kpi{padding:18px;background:#fff;border:1px solid #dfe6e1}.kpi small{display:block;color:#587168;font-size:11px;font-weight:700}.kpi strong{display:block;margin-top:12px;color:#1d2924;font:700 27px var(--mono);letter-spacing:-.08em;font-variant-numeric:tabular-nums}.kpi span{display:block;margin-top:8px;color:#6d7b73;font-size:10px}.ops-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:14px;margin-top:14px}.panel{background:#fff;border:1px solid #dfe6e1;min-width:0}.panel-head{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border-bottom:1px solid #e3e8e4}.panel-head h3{margin:0;font-size:14px}.panel-head small{color:#63766e;font:10px var(--mono)}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;min-width:560px}.table th,.table td{padding:13px 16px;border-bottom:1px solid #edf0ee;text-align:left;font-size:11px}.table th{color:#6d7b73;background:#fbfcfb;font-weight:700}.table td strong{display:block}.sub{display:block;margin-top:3px;color:#718078;font-size:10px}.badge{display:inline-block;padding:4px 7px;border-radius:99px;background:#e8f4f0;color:#24665a;font-size:10px;font-weight:700}.badge.warn{background:#fbf0de;color:#97641f}.badge.stop{background:#f8e8e3;color:#a45545}.manage{padding:16px 18px;border-bottom:1px solid #edf0ee;display:flex;align-items:center;justify-content:space-between;gap:12px}.manage p{margin:4px 0 0;color:#718078;font-size:10px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.mini-card{padding:17px;background:#fff;border:1px solid #dfe6e1}.mini-card code{display:block;margin:17px 0 9px;font:700 17px var(--mono)}.mini-card p{color:#6d7b73;font-size:11px;line-height:1.7}.scanner{padding:24px}.scanner-box{min-height:190px;display:grid;place-items:center;border:2px dashed #b8c9c0;background:#f7faf8;color:#547068;text-align:center}.scanner-box span{display:block;font-size:35px}.scan-result{margin-top:13px;padding:15px;background:#eaf5f2}.scan-result b{display:block}.scan-result p{margin:5px 0 0;font-size:11px;color:#41635a}.flow{padding:18px;border-bottom:1px solid #edf0ee}.flow b{font-size:12px}.flow p{margin:5px 0 0;color:#6d7b73;font-size:11px;line-height:1.6}.toggle{width:42px;height:23px;padding:2px;border:0;border-radius:99px;background:#becac4}.toggle:after{content:"";display:block;width:19px;height:19px;background:#fff;border-radius:50%;transition:.2s}.toggle.on{background:var(--teal)}.toggle.on:after{transform:translateX(19px)}.setting{padding:16px 18px;border-bottom:1px solid #edf0ee;display:flex;align-items:center;justify-content:space-between;gap:20px}.setting b{font-size:12px}.setting p{margin:4px 0 0;color:#6d7b73;font-size:10px}@media(max-width:800px){.topbar{height:66px}.nav a:not(.cta){display:none}.page{padding:0 18px}.hero{grid-template-columns:1fr;padding:63px 0 45px;gap:20px}.hero h1{font-size:49px}.art{min-height:270px}.art-card{max-width:330px}.event-grid,.detail-layout,.ops-grid{grid-template-columns:1fr}.section-head{display:block}.section-head>p{margin-top:16px}.event-card{min-height:190px}.footer{flex-direction:column}.detail-layout{gap:30px;padding-top:38px}.ticket-aside{position:static}.fields{grid-template-columns:1fr}.field.full{grid-column:auto}.qr-ticket{grid-template-columns:1fr}.ticket-main{border-right:0;border-bottom:1px dashed var(--line)}.ops-shell{grid-template-columns:1fr}.side{padding:12px 14px;position:sticky;top:0;z-index:25}.side .brand,.side-label,.side-foot{display:none}.side nav{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.side a{display:flex;align-items:center;justify-content:center;text-align:center;padding:9px 4px;border-radius:6px;font-size:10px;line-height:1.3}.ops-head{padding:16px 18px}.ops-content{padding:20px 14px}.kpi-grid,.cards{grid-template-columns:1fr 1fr}.title-row{display:block}.title-row .ops-button{margin-top:12px}}@media(max-width:430px){.kpi-grid,.cards{grid-template-columns:1fr}.nav{gap:8px}.nav .cta{padding:8px}.art-note{left:0}.session{grid-template-columns:65px 1fr}.session .tag{grid-column:2;width:max-content}.my-ticket{align-items:start;flex-direction:column}}
.eyebrow-note{font:500 10px var(--sans);letter-spacing:0;color:#9b5a49}.art-subtitle{position:relative;margin:-40px 0 22px;color:#dce6df;font-size:10px;line-height:1.6}.card-desc{margin:12px 0 0;color:#68726c;font-size:11px;line-height:1.7}.event-card:first-child .card-desc{color:#dce6df}.detail-tagline{margin:15px 0 -8px;color:var(--coral);font-size:13px;font-weight:700}.side a.active{background:var(--coral);color:#fff;box-shadow:inset 0 0 0 1px #ffffff42}.side a:hover{background:#ffffff1f;color:#fff}.filter-bar{display:flex;flex-wrap:wrap;gap:8px;padding:14px 18px;border-bottom:1px solid #edf0ee}.filter-chip{padding:7px 10px;border:1px solid #cad5cf;border-radius:99px;background:#fff;color:#587168;font-size:11px;font-weight:700}.filter-chip.active{border-color:var(--ink);background:var(--ink);color:#fff}.badge-button{border:0;cursor:pointer}.badge-button:hover{filter:brightness(.95)}.checkin-form{display:flex;gap:8px;margin-top:14px}.checkin-form input{min-width:0;flex:1;padding:10px;border:1px solid #cad5cf}.inline-editor{margin:0 0 16px;padding:18px;border:1px solid #c5d4cc;background:#f7faf8}.inline-editor h3{margin:0 0 14px;font-size:14px}.editor-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.editor-fields label{display:grid;gap:6px;color:#587168;font-size:11px;font-weight:700}.editor-fields input,.editor-fields select{width:100%;min-width:0;padding:9px;border:1px solid #cad5cf;background:#fff;color:var(--ink);font-size:12px}.editor-full,.editor-actions{grid-column:1/-1}.editor-actions{display:flex;flex-wrap:wrap;gap:8px}.save-feedback{margin:0;padding:0 18px 16px;color:#24665a;font-size:11px;font-weight:700}@media(max-width:800px){.eyebrow{flex-wrap:wrap}.eyebrow-note{width:100%}.checkin-form{flex-wrap:wrap}.checkin-form .ops-button{width:100%;justify-content:center}.editor-fields{grid-template-columns:1fr}.editor-full,.editor-actions{grid-column:auto}.filter-bar{padding:12px}.filter-chip{flex:1 1 30%;min-width:max-content}.side a.active{background:var(--coral);color:#fff}}
