:root{--fg:#1a1a1a;--muted:#666;--border:#ddd;--bg-soft:#f6f6f4;--accent:#1a1a1a;--danger:#b00020}*{box-sizing:border-box}body{color:var(--fg);background:#fff;margin:0;font-family:system-ui,-apple-system,Hiragino Sans,Noto Sans JP,sans-serif;line-height:1.8}main{max-width:640px;margin:0 auto;padding:40px 20px 80px}h1{letter-spacing:.02em;margin:24px 0 20px;font-size:1.35rem;font-weight:700}.title-line{white-space:nowrap;display:inline-block}a{color:inherit}h2{margin:24px 0 8px;font-size:1rem;font-weight:700}p{white-space:pre-wrap;margin:0 0 12px}ul{margin:0 0 12px;padding-left:1.4em}.list-line{display:block}.logo{width:auto;height:24px;color:var(--fg);display:block}.user-bar{background:var(--bg-soft);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin:24px 0;padding:12px 16px;font-size:.95rem;display:flex}.user-bar strong{font-weight:600}.link-button{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:.85rem;text-decoration:underline}.pref{border:1px solid var(--border);border-radius:8px;margin-bottom:12px;padding:16px}.pref-title{margin-bottom:8px;font-weight:700}.pref-title small{color:var(--muted);margin-left:8px;font-weight:400}.pref-fields{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (max-width:480px){.pref-fields{grid-template-columns:1fr}}.field label{color:var(--muted);margin-bottom:4px;font-size:.85rem;display:block}.stay-summary{color:var(--muted);justify-content:space-between;align-items:baseline;gap:12px;margin:12px 0;font-size:.85rem;display:flex}.stay-summary .link-button{white-space:nowrap;flex:none}.stay-summary .pref-nights{margin:0 0 0 8px;display:inline}.calendar .rdp-root{--rdp-accent-color:var(--fg);--rdp-accent-background-color:#ececea;--rdp-today-color:var(--fg);--rdp-selected-border:1px solid var(--fg);--rdp-range_start-color:#fff;--rdp-range_end-color:#fff;--rdp-range_middle-color:var(--fg);--rdp-day-height:40px;--rdp-day-width:40px;--rdp-day_button-height:38px;--rdp-day_button-width:38px;font-size:.95rem}.calendar .rdp-months{max-width:none}.calendar .rdp-month{width:100%}.calendar .rdp-month_grid{table-layout:fixed;width:100%}.calendar .rdp-day{width:auto}.calendar .rdp-day_button{width:min(100%, var(--rdp-day_button-width));margin-inline:auto}.calendar .rdp-selected{font-weight:600;font-size:inherit}.calendar .rdp-month_caption{color:var(--fg);font-size:.9rem;font-weight:400}.rdp-day_button{position:relative}.rdp-high-season .rdp-day_button:before,.calendar-legend .dot{background:currentColor;border-radius:50%;width:4px;height:4px}.rdp-high-season .rdp-day_button:before{content:"";position:absolute;top:5px;left:50%;transform:translate(-50%)}.calendar-legend .dot{color:var(--fg)}.calendar-legend{color:var(--muted);justify-content:flex-end;align-items:center;gap:6px;margin-top:4px;font-size:.85rem;display:flex}.guests,.house-groups{border-top:1px dashed var(--border);margin-top:16px;padding-top:12px}.field-note{color:var(--muted);white-space:normal;margin:0 0 10px;font-size:.85rem;line-height:1.6}ul.field-note{padding-left:1.2em}ul.field-note li{margin-bottom:2px}.house-group-options{flex-direction:column;display:flex}.house-group{cursor:pointer;align-items:center;gap:14px;padding:12px 4px;display:flex}.house-group-image{object-fit:cover;background:var(--bg-soft);border-radius:6px;flex:none;width:72px;height:72px}.house-group-body{flex:1;min-width:0}.house-group-name{align-items:center;gap:6px;line-height:1.4;display:flex}.house-group-icon{flex:none;width:1.05em;height:1.05em}.house-group-capacity{color:var(--muted);font-size:.85rem;line-height:1.6;display:block}.house-group input{width:22px;height:22px;accent-color:var(--accent);flex:none;margin:0}.guests-undecided{cursor:pointer;align-items:center;gap:6px;margin-bottom:12px;display:flex}.guests-undecided input{width:22px;height:22px;accent-color:var(--accent);margin:0}.guests-fields{border:none;min-width:0;margin:0;padding:0}.guests-fields:disabled{opacity:.5}.guests-group+.guests-group{margin-top:12px}.guests-group-title{margin-bottom:6px;font-size:.9rem;font-weight:700}.child-ages{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin-top:12px;display:grid}.field input,.field select{border:1px solid var(--border);width:100%;color:var(--fg);background:#fff;border-radius:8px;padding:8px 10px;font-size:16px}.pref-nights{color:var(--muted);margin-top:8px;font-size:.85rem}.actions{gap:12px;margin-top:24px;display:flex}.btn{border:1px solid var(--accent);cursor:pointer;border-radius:8px;flex:1;padding:12px 20px;font-size:1rem}.btn-primary{background:var(--accent);color:#fff}.btn-secondary{color:var(--accent);background:#fff}.btn:disabled{opacity:.5;cursor:default}.error{color:var(--danger);margin:12px 0}.summary{border:1px solid var(--border);border-radius:8px;margin:16px 0;overflow:hidden}.previous-application{background:var(--bg-soft);border-radius:8px;margin:20px 0;padding:16px}.previous-application h2{margin-top:0}.previous-application .summary{background:#fff}.previous-application-note{color:var(--muted);margin:0;font-size:.85rem;line-height:1.6}.summary-row{border-top:1px solid var(--border);grid-template-columns:6em 1fr;gap:12px;padding:12px 16px;display:grid}.summary-row:first-child{border-top:none}.summary-row dt{color:var(--muted);font-size:.85rem}.summary-row dd{margin:0}.confirm-note{color:var(--muted);white-space:normal;font-size:.85rem}.signin{border:1px solid var(--border);border-radius:8px;margin-top:24px;padding:16px}.signin-buttons{flex-direction:column;gap:12px;margin-top:16px;display:flex}.signin-buttons .btn{flex:none;width:100%}.spinner-area{justify-content:center;padding:48px 0;animation:.2s ease-in-out fade-in;display:flex}.spinner-area.is-out{animation:.2s ease-in-out forwards fade-out}@keyframes fade-in{0%{opacity:0}}@keyframes fade-out{to{opacity:0}}.spinner{border:2px solid var(--border);border-top-color:var(--muted);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spinner-rotate;display:block}@keyframes spinner-rotate{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner,.spinner-area,.spinner-area.is-out{animation:none}}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.notice-contact{margin-top:20px}.acceptance-period{color:var(--muted);font-size:.85rem;line-height:1.6}.page-footer{border-top:1px solid var(--border);color:var(--muted);text-align:center;margin-top:40px;padding-top:16px;font-size:.85rem}.page-footer p{margin:0;line-height:1.6}
