@import"https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;700&family=Noto+Sans+JP:wght@400;500;700&display=swap";.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{min-height:100dvh;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;border:none;background:none}a{color:inherit;text-decoration:none}ul,ol{list-style:none}h1,h2,h3,h4,h5,h6{overflow-wrap:break-word;font-weight:400}p{overflow-wrap:break-word}:focus-visible{outline:2px solid var(--color-main);outline-offset:2px}[hidden]{display:none!important}:root{--color-main: #2F3A2F;--color-main-light: #3D4A3D;--color-bg: #F5F2ED;--color-card: #FFFFFF;--color-white: #F5F2ED;--color-copper: #CDA070;--color-gold: #C9A84C;--color-gold-white: #E8D5A3;--color-vermilion: #B8433A;--color-text-primary: #2F3A2F;--color-text-on-main: #F5F2ED;--color-text-sub-on-main: #B0B0B0;--color-text-sub: #6B6B6B;--color-text-label: #737373;--rank-copper-bg: #F5EDE3;--rank-copper-accent: #CDA070;--rank-silver-bg: #EDEEF0;--rank-silver-accent: #A0A8B0;--rank-gold-bg: #F5F0E0;--rank-gold-accent: #C9A84C;--rank-platinum-bg: #FAF6EC;--rank-platinum-accent: #E8D5A3;--font-heading: "Noto Serif JP", serif;--font-body: "Noto Sans JP", sans-serif;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(47, 58, 47, .08);--shadow-md: 0 2px 8px rgba(47, 58, 47, .12);--shadow-lg: 0 4px 16px rgba(47, 58, 47, .16);--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .4s ease;--content-max-width: 480px;--nav-height: 56px;--bottom-nav-height: 64px}body{font-family:var(--font-body);font-size:16px;color:var(--color-text-primary);background-color:var(--color-bg)}h1,h2,h3{font-family:var(--font-heading)}.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}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:.75rem 1.5rem;border-radius:var(--radius-md);font-weight:500;font-size:1rem;line-height:1;transition:background-color var(--transition-fast),opacity var(--transition-fast);text-align:center;white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:var(--color-main);color:var(--color-text-on-main)}.btn-primary:hover:not(:disabled){background-color:var(--color-main-light)}.btn-secondary{background-color:transparent;color:var(--color-main);border:1px solid var(--color-main)}.btn-secondary:hover:not(:disabled){background-color:var(--color-main);color:var(--color-text-on-main)}.btn-danger{background-color:var(--color-vermilion);color:var(--color-text-on-main)}.btn-danger:hover:not(:disabled){opacity:.9}.btn-block{display:flex;width:100%}.card{background:var(--color-card);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-sm)}.form-group{display:flex;flex-direction:column;gap:var(--space-xs)}.form-label{font-size:.875rem;font-weight:500;color:var(--color-text-label)}.form-input{padding:.75rem 1rem;border:1px solid #D1D5DB;border-radius:var(--radius-md);font-size:1rem;background:var(--color-card);transition:border-color var(--transition-fast)}.form-input:focus{border-color:var(--color-main);outline:none;box-shadow:0 0 0 3px #2f3a2f26}.form-input.is-error{border-color:var(--color-vermilion)}.form-error{font-size:.8125rem;color:var(--color-vermilion)}@media(prefers-reduced-motion:no-preference){::view-transition-old(root){animation:fade-out .2s ease-out}::view-transition-new(root){animation:fade-in .2s ease-in}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}}
