*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:Noto Sans JP,sans-serif;font-weight:500;line-height:1.6;line-break:strict;word-break:auto-phrase;color:var(--color-text);background-color:var(--color-bg);min-height:100dvh}img,svg{display:block;max-width:100%}button img,a img{display:inline-block;flex-shrink:0}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--color-link);text-decoration:none}a:hover{text-decoration:underline}:root{--color-primary: #528ee4;--color-primary-hover: #4078c8;--color-primary-light: #e8f0fc;--color-secondary: #64748b;--color-secondary-hover: #475569;--color-danger: #dc2626;--color-danger-hover: #b91c1c;--color-success: #3db156;--color-warning: #f59e0b;--color-text: #393332;--color-text-muted: #64748b;--color-bg: #f3f2ef;--color-surface: #ffffff;--color-border: #d2d2d8;--color-border-focus: var(--color-primary);--color-brand-green: #3db156;--color-brand-green-dark: #2e9045;--color-brand-dark: #393332;--color-brand-dark-green: #004718;--color-brand-pink: #df307e;--color-brand-line-green: #06c755;--color-copyright-bg: #393332;--color-copyright-sub: #c5c5c5;--color-announce-bg: #f3f2ef;--color-announce-tag: #ffff00;--color-link: #528ee4;--color-btn-blue: #528ee4;--color-surface-dark: #595959;--color-surface-subtle: #f5f4f0;--color-text-subtle: #8B8680;--color-calendar-sunday: #E91E8C;--color-calendar-saturday: #4D8FD1;--seat-available: #e2e8f0;--seat-available-hover: #cbd5e1;--seat-locked: #3db156;--seat-sold: #94a3b8;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--font-xs: .8125rem;--font-sm: .875rem;--font-md: 1rem;--font-lg: 1.25rem;--font-xl: 1.5rem;--font-2xl: 2rem;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .625rem;--radius-pill: 50px;--radius-nav-btn: 20px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .07);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--header-height: 3rem;--copyright-height: 2.75rem;--footer-height: 3.125rem;--max-width: 72rem}.layout-shell{display:flex;flex-direction:column;min-height:100dvh}.layout-main{flex:1}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.u-nowrap{white-space:nowrap}.btn-green-pill{width:100%;max-width:20rem;padding:14px 32px;border-radius:50px;background:var(--color-brand-green);color:#fff;border:none;font-size:16px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:var(--space-sm)}.btn-green-pill:disabled{opacity:.6;cursor:not-allowed}.btn-green-pill:active:not(:disabled){opacity:.8}.btn-dark-pill{width:100%;max-width:20rem;padding:14px 32px;border-radius:50px;background:#393332;color:#fff;border:none;font-size:16px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center}.btn-dark-pill:active{opacity:.8}.buyer-inline-back{align-self:flex-start;min-height:2.5rem;padding:0 1.125rem;border:1px solid #393332;border-radius:var(--radius-md);background:#fff;color:#393332;cursor:pointer;font-size:var(--font-sm);font-weight:700;line-height:1.2}.buyer-inline-back:active{background:#f4f1ed}.btn-arrow-icon{display:inline-block;filter:brightness(0) invert(1)}.section-heading{display:flex;align-items:center;gap:var(--space-sm);font-size:24px;font-weight:900;white-space:nowrap}.section-heading:before{content:"";width:24px;flex-shrink:0;height:2px;background:var(--color-text)}.section-heading:after{content:"";flex:1;height:2px;background:var(--color-text)}.section-heading-icon{width:28px;height:28px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);border:none;border-radius:var(--radius-md);font-family:Noto Sans JP,sans-serif;font-size:16px;font-weight:700;cursor:pointer;transition:background-color .15s,opacity .15s;white-space:nowrap}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-green{background:var(--color-brand-green);color:#fff;border-radius:50px;padding:14px 32px;width:100%}.btn-green:hover:not(:disabled){background:var(--color-brand-green-dark)}.btn-dark{background:var(--color-brand-dark);color:#fff;border-radius:50px;padding:14px 32px;width:100%}.btn-dark:hover:not(:disabled){opacity:.9}.btn-secondary{background:transparent;color:var(--color-secondary);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){background:var(--color-bg);color:var(--color-secondary-hover)}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover:not(:disabled){background:var(--color-danger-hover)}.btn-spinner{width:1em;height:1em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:btn-spin .6s linear infinite}@keyframes btn-spin{to{transform:rotate(360deg)}}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 var(--space-md)}.page{padding-block:var(--space-lg)}.flow-page{min-height:calc(100dvh - var(--header-height) - var(--copyright-height) - var(--footer-height));display:flex;flex-direction:column}.flow-page-actions{display:flex;flex-direction:column;align-items:center;gap:var(--space-md);margin-top:auto;padding-top:var(--space-xl);padding-bottom:calc(6rem + env(safe-area-inset-bottom,0px))}.flow-page-actions--single{gap:0}@media(min-width:640px){.container{padding:0 var(--space-xl)}.page{padding-block:var(--space-xl)}}.flex{display:flex}.flex-col{display:flex;flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-xs{gap:var(--space-xs)}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.grid{display:grid}.text-center{text-align:center}.text-muted{color:var(--color-text-muted)}.text-sm{font-size:var(--font-sm)}.text-lg{font-size:var(--font-lg)}.form-group{display:flex;flex-direction:column;gap:var(--space-xs)}.form-label{font-size:var(--font-sm);font-weight:600;color:var(--color-text)}.form-input{padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-md);background:var(--color-surface);transition:border-color .15s}.form-input:focus{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-primary-light)}.form-input:disabled{opacity:.6;cursor:not-allowed}.form-error{font-size:var(--font-sm);color:var(--color-danger)}
