:root{--gf-surface: #ffffff;--gf-border: #dadce0;--gf-text: #202124;--gf-muted: #5f6368;--gf-green: #34a853;--gf-green-hover: #2d8e47;--gf-green-soft: #e8f5e9;--gf-green-canvas: #e8f5e9;--gf-green-bar: #34a853;--gf-purple: #673ab7;--gf-purple-hover: #512da8;--gf-purple-soft: #f3e5f5;--gf-purple-canvas: #ede7f6;--gf-error: #d93025;--gf-radius: 8px;--gf-radius-input: 4px;--gf-shadow-bar: 0 1px 2px rgba(60, 64, 67, .12);--gf-shadow-card: 0 1px 2px rgba(60, 64, 67, .22);--gf-canvas: var(--gf-green-canvas);--gf-accent: var(--gf-green);--gf-accent-hover: var(--gf-green-hover);--gf-accent-soft: var(--gf-green-soft)}[data-route=corporation]{--gf-canvas: var(--gf-purple-canvas);--gf-accent: var(--gf-purple);--gf-accent-hover: var(--gf-purple-hover);--gf-accent-soft: var(--gf-purple-soft)}*,*:before,*:after{box-sizing:border-box}html{font-size:16px;-webkit-text-size-adjust:100%}body{margin:0;min-height:100vh;font-family:Roboto,Noto Sans JP,Hiragino Kaku Gothic ProN,Meiryo,sans-serif;color:var(--gf-text);background:var(--gf-canvas);line-height:1.5}.fb-app{min-height:100vh;display:flex;flex-direction:column}.fb-bar{position:sticky;top:0;z-index:40;background:var(--gf-surface);border-bottom:1px solid var(--gf-border);box-shadow:var(--gf-shadow-bar)}.fb-bar-inner{max-width:40rem;margin:0 auto;padding:.65rem 1rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1rem}.fb-brand-title{font-size:.875rem;font-weight:500;color:var(--gf-text)}.fb-brand-sub{font-size:.75rem;color:var(--gf-muted);margin-top:.1rem}.fb-tabs{display:inline-flex;padding:0;background:transparent;border-radius:0;gap:.25rem}.fb-tab{text-decoration:none;color:var(--gf-muted);font-size:.8125rem;font-weight:500;padding:.45rem .75rem;border-radius:var(--gf-radius-input);transition:background .15s ease,color .15s ease;border:none;cursor:pointer;font-family:inherit}.fb-tab:hover{color:var(--gf-text);background:#3c40430f}.fb-tab.is-active{background:var(--gf-accent-soft);color:var(--gf-accent);box-shadow:none}.fb-main{flex:1;max-width:40rem;width:100%;margin:0 auto;padding:1rem 1rem 2.5rem}.fb-app .gf-page{max-width:none;margin:0;padding:0}.fb-app .gf-banner{background:transparent;color:var(--gf-text);border-radius:0;padding:0 0 1rem;box-shadow:none}[data-route=personal] .fb-app .gf-banner{background:var(--gf-surface);border-radius:var(--gf-radius);border-top:10px solid var(--gf-green-bar);padding:1.25rem 1.125rem 1rem;margin-bottom:.75rem;box-shadow:var(--gf-shadow-card)}[data-route=corporation] .fb-app .gf-banner{background:var(--gf-surface);border-radius:var(--gf-radius);border-top:10px solid var(--gf-purple);padding:1.25rem 1.125rem 1rem;margin-bottom:.75rem;box-shadow:var(--gf-shadow-card)}.fb-app .gf-banner:after{display:none}.fb-app .gf-banner h1{font-size:1.5rem;font-weight:400;letter-spacing:0;line-height:1.35;color:var(--gf-text)}.fb-app .gf-eyebrow{display:block;margin:0 0 .35rem;font-size:.75rem;font-weight:500;letter-spacing:.02em;text-transform:none;color:var(--gf-muted);background:transparent;padding:0;border-radius:0;opacity:1}[data-route=corporation] .fb-app .gf-eyebrow{color:var(--gf-muted);background:transparent}.fb-app .gf-sub{margin-top:.5rem;font-size:.875rem;line-height:1.5;color:var(--gf-muted);opacity:1}.fb-app .gf-banner-link{color:var(--gf-accent);font-weight:500;text-decoration:none;word-break:break-all}.fb-app .gf-banner-link:hover{text-decoration:underline}.fb-app .gf-card{background:var(--gf-surface);border:1px solid var(--gf-border);border-radius:var(--gf-radius);padding:1.25rem 1.125rem;margin-bottom:.75rem;box-shadow:var(--gf-shadow-card)}.fb-app .gf-card:first-of-type{border-top:1px solid var(--gf-border)}.fb-app .gf-card--standalone{margin-top:0;border-top:1px solid var(--gf-border)}.fb-app .gf-intro-hint{background:transparent;border:none;color:var(--gf-muted);font-weight:400;font-size:.875rem;border-radius:0;margin:0 0 .25rem;padding:0 0 .75rem}.fb-app .gf-section-title{font-size:1rem;font-weight:500;color:var(--gf-text)}.fb-app .gf-label{display:block;font-size:1rem;font-weight:400;line-height:1.4;color:var(--gf-text);margin-bottom:.35rem}.fb-app .gf-required{color:var(--gf-error)}.fb-app .gf-hint{color:var(--gf-muted);font-size:.875rem;line-height:1.45;margin:0 0 .5rem}.fb-app .gf-input,.fb-app .gf-select,.fb-app .gf-textarea{width:100%;max-width:100%;border:1px solid var(--gf-border);border-radius:var(--gf-radius-input);background:var(--gf-surface);transition:border-color .15s ease,box-shadow .15s ease}.fb-app .gf-input:hover,.fb-app .gf-select:hover,.fb-app .gf-textarea:hover{border-color:#80868b}.fb-app .gf-input:focus,.fb-app .gf-select:focus,.fb-app .gf-textarea:focus{outline:none;border-color:var(--gf-accent);box-shadow:0 0 0 1px var(--gf-accent)}.fb-app .gf-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%235f6368' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10l-5 5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .65rem center;padding-right:2rem}.fb-app .gf-option{border:1px solid var(--gf-border);background:var(--gf-surface);border-radius:var(--gf-radius-input)}.fb-app .gf-option:hover{border-color:#80868b;background:#f8f9fa}.fb-app .gf-option:has(input:checked){border-color:var(--gf-accent);background:var(--gf-accent-soft);box-shadow:none}.fb-app .gf-option input{accent-color:var(--gf-accent)}.fb-app .gf-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-width:5.5rem;min-height:2.25rem;padding:.5rem 1.25rem;border:none;border-radius:var(--gf-radius-input);font-size:.875rem;font-weight:500;letter-spacing:.02em;cursor:pointer;color:#fff;background:var(--gf-accent);box-shadow:none;transition:background .15s ease,box-shadow .15s ease}.fb-app .gf-btn:not(.gf-btn--secondary):after{content:none}.fb-app .gf-btn:not(.gf-btn--secondary):hover:after{transform:none}.fb-app .gf-btn:hover{filter:none;transform:none}.fb-app .gf-btn:not(.gf-btn--secondary):hover{background:var(--gf-accent-hover);box-shadow:none}.fb-app .gf-btn:active{transform:none}.fb-app .gf-btn:not(.gf-btn--secondary):focus-visible{outline:2px solid var(--gf-accent);outline-offset:2px;box-shadow:none}.fb-app .gf-btn:disabled{opacity:.55;cursor:not-allowed;transform:none;filter:none}.fb-app .gf-btn:disabled:after{transform:none}.fb-app .gf-btn--secondary{background:var(--gf-surface);color:var(--gf-accent);font-weight:500;border:1px solid var(--gf-border);box-shadow:none;transition:background .15s ease,border-color .15s ease,color .15s ease}.fb-app .gf-btn--secondary:before{content:none;margin:0}.fb-app .gf-btn--secondary:hover{color:var(--gf-accent-hover);background:var(--gf-accent-soft);border-color:#80868b;transform:none;box-shadow:none;filter:none}.fb-app .gf-btn--secondary:focus-visible{outline:2px solid var(--gf-accent);outline-offset:2px;box-shadow:none}.fb-app .gf-footer-note{color:var(--gf-muted);font-size:.75rem;margin-top:.5rem}.fb-app .gf-error-msg{color:var(--gf-error);font-size:.75rem;margin-top:.35rem}.fb-app .gf-field--invalid{scroll-margin-top:1.5rem;scroll-margin-bottom:1.5rem}.fb-app .gf-field--invalid .gf-input,.fb-app .gf-field--invalid .gf-select,.fb-app .gf-field--invalid .gf-textarea{border-color:var(--gf-error)}.fb-app .gf-success h2{font-weight:400;font-size:1.25rem}.fb-app .gf-field{margin-bottom:1.25rem}.fb-app .gf-field:last-child{margin-bottom:0}[data-route=personal] .fb-app .gf-field-divider{border:none;border-top:1px solid var(--gf-border);margin:.25rem 0 1.25rem}.fb-app .gf-radio-grid,.fb-app .gf-check-grid{display:flex;flex-direction:column;gap:.5rem}.fb-app .gf-option{display:flex;align-items:flex-start;gap:.65rem;cursor:pointer;font-size:.9375rem;min-height:2.5rem;padding:.5rem .75rem}.fb-app .gf-option input{margin-top:.2rem;width:1.125rem;height:1.125rem;flex-shrink:0}.fb-app .gf-input,.fb-app .gf-select,.fb-app .gf-textarea{min-height:2.5rem;padding:.5rem .75rem;font-size:max(16px,.9375rem)}.fb-app .gf-textarea{min-height:5rem;resize:vertical}.fb-app .gf-thanks-box{text-align:center;padding:1.25rem 1.125rem}.fb-app .gf-thanks-text{margin:0;font-size:.9375rem;line-height:1.7;color:var(--gf-text)}.fb-app .gf-postal-row{display:flex;flex-wrap:nowrap;gap:.5rem;align-items:stretch;width:100%}.fb-app .gf-input--postal{flex:1 1 0;min-width:0;width:auto}.fb-app .gf-btn--postal-lookup{flex:1 1 0;min-width:0;min-height:2.5rem;padding:.5rem .75rem;font-size:.8125rem;font-weight:500;line-height:1.3;color:#fff;background:var(--gf-accent);border:none;border-radius:var(--gf-radius-input);cursor:pointer;transition:background .15s ease,box-shadow .15s ease}.fb-app .gf-btn--postal-lookup:hover:not(:disabled){color:#fff;background:var(--gf-accent-hover)}.fb-app .gf-btn--postal-lookup:focus-visible{outline:2px solid var(--gf-accent);outline-offset:2px}.fb-app .gf-btn--postal-lookup:disabled{opacity:.6;cursor:wait}.fb-app .gf-actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:center;width:100%;margin-top:.5rem}.fb-app .gf-success{text-align:center;padding:2rem 1.25rem}.fb-app .gf-success p{color:var(--gf-muted);margin:.5rem 0 0}@media(max-width:380px){.fb-app .gf-postal-row{flex-wrap:wrap}.fb-app .gf-input--postal,.fb-app .gf-btn--postal-lookup{flex:1 1 100%}.fb-app .gf-actions{flex-direction:column;align-items:center}}@media(prefers-reduced-motion:reduce){.fb-tab,.fb-app .gf-btn,.fb-app .gf-option,.fb-app .gf-input{transition:none}}
