@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Noto+Sans+JP:wght@400;500;700;900&display=swap";:root{--primary-color:#4f46e5;--primary-light:#818cf8;--secondary-color:#06b6d4;--accent-color:#f43f5e;--bg-gradient:linear-gradient(135deg, #f3f4f6 0%, #e5e7eb 100%);--text-dark:#1f2937;--text-light:#6b7280;--glass-bg:#ffffffb3;--glass-border:#ffffff80;--glass-shadow:0 8px 32px 0 #1f268712;--chart-color-1:#3b82f6;--chart-color-2:#ef4444;--chart-color-3:#f59e0b;--chart-color-4:#22c55e;--chart-color-5:#f97316}@media (prefers-color-scheme:dark){:root{--bg-gradient:linear-gradient(135deg, #111827 0%, #1f2937 100%);--text-dark:#f9fafb;--text-light:#d1d5db;--glass-bg:#11182799;--glass-border:#ffffff1a;--glass-shadow:0 8px 32px 0 #0000004d}}.seo-content{margin-top:4rem}.seo-content-heading{text-align:center;max-width:780px;margin:0 auto 2rem}.seo-content-heading>span{color:var(--primary-color);letter-spacing:.12em;font-size:.72rem;font-weight:800}.seo-content-heading h2{margin:.35rem 0 .75rem;font-size:1.8rem}.seo-content-heading p,.seo-feature-grid p,.faq-section p{color:var(--text-light)}.seo-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.seo-feature-grid article,.source-panel,.faq-section{border:1px solid var(--glass-border);background:var(--glass-bg);box-shadow:var(--glass-shadow);border-radius:1.25rem;padding:1.5rem}.seo-feature-grid h3,.source-panel h3{margin-bottom:.75rem}.seo-feature-grid ul{color:var(--text-light);gap:.45rem;padding-left:1.2rem;display:grid}.calculation-formula{color:var(--primary-color);border-left:4px solid var(--primary-color);text-align:center;background:#4f46e514;border-radius:.4rem;margin:1rem 0;padding:.9rem;font-weight:800}.source-panel{margin-top:1rem}.source-panel dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-bottom:1rem;display:grid}.source-panel dl>div{background:#fff3;border-radius:.75rem;padding:.75rem}.source-panel dt{color:var(--text-light);font-size:.7rem}.source-panel dd{font-weight:700}.source-panel a{font-size:.82rem;font-weight:700}.faq-section{margin-top:1rem}.faq-section>h2{margin-bottom:1rem}.faq-section details{border-top:1px solid var(--glass-border)}.faq-section details:last-child{border-bottom:1px solid var(--glass-border)}.faq-section summary{cursor:pointer;padding:1rem 0;font-weight:700}.faq-section details p{padding:0 0 1rem;font-size:.88rem}@media (width<=768px){.seo-content-heading h2{font-size:1.4rem}.seo-feature-grid,.source-panel dl{grid-template-columns:1fr}}.limit-input-panel{background:#4f46e50f;border:1px solid #4f46e533;border-radius:1rem;justify-content:space-between;align-items:center;gap:1.5rem;margin-top:.5rem;padding:1rem 1.25rem;display:flex}.limit-input-panel .form-label{margin-bottom:.15rem}.limit-input-panel p{color:var(--text-light);font-size:.75rem}.limit-input-control{align-items:center;gap:.5rem;display:flex}.limit-input-control .form-input{text-align:right;width:160px;font-weight:700}.limit-input-control>span{font-weight:700}.limit-input-control button{color:var(--primary-color);border:1px solid var(--primary-color);white-space:nowrap;cursor:pointer;background:0 0;border-radius:.6rem;padding:.55rem .75rem;font-size:.72rem;font-weight:700}.plan-choice-section{border-top:1px solid var(--glass-border);margin-top:2rem;margin-bottom:0;padding-top:1.5rem}.plan-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.plan-choice{border:1px solid var(--glass-border);cursor:pointer;background:#ffffff40;border-radius:.9rem;align-items:flex-start;gap:.7rem;padding:1rem;transition:border-color .2s,background .2s,transform .2s;display:flex}.plan-choice:hover{border-color:var(--primary-light);transform:translateY(-1px)}.plan-choice.active{border:2px solid var(--primary-color);background:#4f46e517}.plan-choice input{accent-color:var(--primary-color);margin-top:.25rem}.plan-choice span,.plan-choice strong,.plan-choice small{display:block}.plan-choice strong{color:var(--text-dark);font-size:.9rem}.plan-choice small{color:var(--text-light);margin-top:.25rem;font-size:.7rem;line-height:1.45}.planner-heading{justify-content:space-between;align-items:flex-start;gap:1.5rem;margin-bottom:1.5rem;display:flex}.planner-heading h2{margin:.25rem 0 .5rem}.planner-heading p,.plan-card>p{color:var(--text-light);font-size:.875rem}.planner-kicker{color:var(--primary-color);letter-spacing:.08em;font-size:.7rem;font-weight:800}.planner-limit{text-align:right;background:#4f46e51a;border-radius:.75rem;flex:none;padding:.75rem 1rem}.planner-limit span,.planner-limit strong{display:block}.planner-limit span{color:var(--text-light);font-size:.7rem}.planner-limit strong{color:var(--primary-color);font-size:1.25rem}.planner-loading,.empty-message,.empty-products{color:var(--text-light);text-align:center;padding:1.5rem}.selected-plan-summary{background:#4f46e512;border-radius:1rem;justify-content:space-between;align-items:flex-start;gap:1.5rem;margin-bottom:1.25rem;padding:1rem 1.25rem;display:flex}.selected-plan-label{color:var(--primary-color);font-size:.7rem;font-weight:800}.selected-plan-summary h3{margin:.2rem 0;font-size:1.4rem}.selected-plan-summary p{color:var(--text-light);font-size:.8rem}.selected-plan-total{text-align:right;flex:none}.selected-plan-total span,.selected-plan-total strong,.selected-plan-total small{display:block}.selected-plan-total span,.selected-plan-total small{color:var(--text-light);font-size:.72rem}.selected-plan-total strong{color:var(--primary-color);font-size:1.55rem}.plan-genre-list{gap:1.25rem;display:grid}.plan-genre-group{border:1px solid var(--glass-border);background:#ffffff29;border-radius:1rem;overflow:hidden}.plan-genre-heading{border-bottom:1px solid var(--glass-border);background:#4f46e514;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 1rem;display:flex}.plan-genre-heading>div{color:var(--primary-color);align-items:center;gap:.5rem;display:flex}.plan-genre-heading h3{color:var(--text-dark);font-size:1rem}.plan-genre-heading span{color:var(--primary-color);background:#4f46e51f;border-radius:999px;padding:.1rem .45rem;font-size:.65rem;font-weight:700}.plan-genre-heading>strong{color:var(--primary-color);white-space:nowrap;font-size:.9rem}.plan-product-list{display:grid}.plan-product-row{border-bottom:1px solid var(--glass-border);background:#fff3;grid-template-columns:88px minmax(0,1fr) 180px;align-items:center;gap:1rem;padding:.75rem;display:grid}.plan-product-row:last-child{border-bottom:none}.plan-product-image img{object-fit:cover;border-radius:.65rem;width:88px;height:88px;display:block}.plan-product-info>span{color:var(--primary-color);background:#4f46e51a;border-radius:999px;margin-bottom:.25rem;padding:.12rem .45rem;font-size:.65rem;font-weight:700;display:inline-block}.plan-product-info h4{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.86rem;line-height:1.45;display:-webkit-box;overflow:hidden}.plan-product-info small{color:#15803d;font-size:.7rem}.plan-product-action{text-align:right}.plan-product-action>strong{color:var(--primary-color);margin-bottom:.45rem;font-size:1.15rem;display:block}.affiliate-notice{color:var(--text-light);text-align:center;margin-top:1rem;font-size:.7rem}.other-limit{background:#06b6d41a}.other-limit strong{color:var(--secondary-color)}.other-ranking-sections{gap:1.5rem;display:grid}.other-ranking-group>h3{margin-bottom:.75rem;font-size:1rem}.other-ranking-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.other-ranking-card{border:1px solid var(--glass-border);background:#ffffff38;border-radius:.85rem;grid-template-columns:88px minmax(0,1fr);gap:.75rem;padding:.65rem;display:grid;position:relative;overflow:hidden}.ranking-number{z-index:2;color:#fff;background:var(--primary-color);border-radius:999px;padding:.15rem .4rem;font-size:.65rem;font-weight:800;position:absolute;top:.4rem;left:.4rem}.other-ranking-card img{object-fit:cover;border-radius:.55rem;width:88px;height:88px;display:block}.other-ranking-card>div{flex-direction:column;gap:.35rem;min-width:0;display:flex}.other-ranking-card h4{-webkit-line-clamp:2;-webkit-box-orient:vertical;flex-grow:1;font-size:.75rem;line-height:1.4;display:-webkit-box;overflow:hidden}.other-ranking-card strong{color:var(--primary-color);font-size:.9rem}.other-ranking-card .rakuten-cta{min-height:30px;font-size:.68rem}.plan-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.plan-card{border:1px solid var(--glass-border);background:#ffffff47;border-radius:1rem;flex-direction:column;padding:1.25rem;display:flex;position:relative}.plan-card.recommended{border:2px solid var(--primary-color);background:#4f46e50f}.recommend-badge{color:#fff;background:var(--primary-color);border-radius:999px;padding:.25rem .65rem;font-size:.7rem;font-weight:700;position:absolute;top:-.75rem;right:1rem}.plan-items{flex-grow:1;gap:.4rem;margin:1rem 0;display:grid}.plan-item,.plan-total{justify-content:space-between;gap:1rem;display:flex}.plan-item{border-bottom:1px dashed var(--glass-border);padding-bottom:.35rem;font-size:.78rem}.plan-total{border-top:1px solid var(--glass-border);padding-top:.75rem}.plan-total strong{color:var(--primary-color);font-size:1.15rem}.plan-remaining{color:var(--text-light);text-align:right;font-size:.75rem}.plan-select-button{gap:.4rem;width:100%;margin-top:1rem}.plan-select-button:disabled{cursor:not-allowed;opacity:.45}.selection-tray{z-index:30;color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#1f2937f0;border-radius:1rem;grid-template-columns:auto minmax(200px,1fr) auto;align-items:center;gap:1.5rem;margin-bottom:2rem;padding:1rem 1.25rem;display:grid;position:sticky;top:.75rem;box-shadow:0 14px 35px #00000038}.selection-summary{align-items:center;gap:.75rem;display:flex}.selection-summary span,.selection-summary strong{display:block}.selection-summary span,.selection-progress-label{font-size:.75rem}.selection-summary strong{font-size:1.2rem}.selection-icon{background:var(--primary-color);border-radius:50%;place-items:center;width:42px;height:42px;display:grid}.selection-progress-label{justify-content:space-between;margin-bottom:.35rem;display:flex}.selection-progress-label .over-limit{color:#fca5a5}.selection-progress{background:#ffffff2e;border-radius:999px;height:8px;overflow:hidden}.selection-progress>div{background:linear-gradient(90deg, var(--secondary-color), #4ade80);border-radius:inherit;height:100%;transition:width .3s}.clear-selection{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff59;border-radius:.6rem;padding:.5rem .75rem}.remaining-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.remaining-item{color:var(--text-dark);text-align:left;border:1px solid var(--glass-border);cursor:pointer;background:#ffffff4d;border-radius:.75rem;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.65rem;display:grid}.remaining-item:hover{border-color:var(--primary-color)}.remaining-item img{object-fit:cover;border-radius:.5rem;width:52px;height:52px}.remaining-item span{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.75rem;display:-webkit-box;overflow:hidden}.remaining-item small{color:var(--primary-color);font-weight:700;display:block}.remaining-item strong{color:var(--primary-color);white-space:nowrap;align-items:center;display:flex}.product-card{border:1px solid var(--glass-border);background:#ffffff59;border-radius:1rem;flex-direction:column;transition:border-color .2s,transform .2s;display:flex;position:relative;overflow:hidden}.product-card:hover{border-color:var(--primary-light);transform:translateY(-2px)}.product-card.selected{border:2px solid #16a34a}.selected-badge{z-index:2;color:#fff;background:#16a34a;border-radius:999px;align-items:center;gap:.2rem;padding:.25rem .5rem;font-size:.7rem;font-weight:700;display:flex;position:absolute;top:.5rem;right:.5rem}.product-image-link img{aspect-ratio:1;object-fit:cover;width:100%;display:block}.product-card-body{flex-direction:column;flex-grow:1;gap:.65rem;padding:.85rem;display:flex}.budget-fit-label{color:#15803d;background:#22c55e1f;border-radius:999px;align-self:flex-start;padding:.15rem .45rem;font-size:.65rem;font-weight:700}.product-card-body h3{-webkit-line-clamp:3;-webkit-box-orient:vertical;flex-grow:1;font-size:.8rem;line-height:1.45;display:-webkit-box;overflow:hidden}.product-price-row{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.25rem;display:flex}.product-price-row strong{color:var(--primary-color);font-size:1.05rem}.product-price-row span{color:#15803d;font-size:.65rem}.add-plan-button,.rakuten-cta{border-radius:.6rem;justify-content:center;align-items:center;gap:.35rem;width:100%;min-height:38px;font-size:.75rem;font-weight:700;display:flex}.add-plan-button{color:var(--primary-color);border:1px solid var(--primary-color);cursor:pointer;background:0 0}.add-plan-button.remove{color:#b91c1c;border-color:#ef4444}.add-plan-button:disabled{color:var(--text-light);border-color:var(--glass-border);cursor:not-allowed;opacity:.55}.rakuten-cta,.rakuten-cta:hover{color:#fff;background:#bf0000}.empty-products{border:1px dashed var(--glass-border);border-radius:.75rem}@media (width<=900px){.plan-choice-grid,.plan-grid,.remaining-grid,.other-ranking-grid{grid-template-columns:1fr}}@media (width<=640px){.limit-input-panel{flex-direction:column;align-items:stretch}.limit-input-control{flex-wrap:wrap}.limit-input-control .form-input{flex:1;min-width:140px}.planner-heading{flex-direction:column}.planner-limit{text-align:left;width:100%}.selected-plan-summary{flex-direction:column}.selected-plan-total{text-align:left;width:100%}.plan-product-row{grid-template-columns:72px minmax(0,1fr)}.plan-genre-heading{align-items:flex-start}.plan-product-image img{width:72px;height:72px}.plan-product-action{text-align:left;grid-column:1/-1;grid-template-columns:auto minmax(180px,1fr);align-items:center;gap:.75rem;display:grid}.plan-product-action>strong{margin:0}.selection-tray{grid-template-columns:1fr auto;gap:.75rem}.selection-progress-wrap{grid-area:2/1/auto/-1}.remaining-item{grid-template-columns:44px minmax(0,1fr)}.remaining-item img{width:44px;height:44px}.remaining-item strong{grid-column:2}}*{box-sizing:border-box;margin:0;padding:0}body{background-image:var(--bg-gradient);color:var(--text-dark);background-attachment:fixed;min-height:100vh;font-family:Inter,Noto Sans JP,sans-serif;line-height:1.6}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.2}a{color:var(--primary-color);text-decoration:none;transition:color .3s}a:hover{color:var(--primary-light)}.hero-title{color:var(--text-dark);letter-spacing:-.03em;margin-bottom:.5rem;font-size:2.5rem;font-weight:800;line-height:1.2}.main-nav{background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--glass-border);border-radius:1rem;justify-content:center;align-items:center;gap:1.5rem;margin-bottom:0;padding:1rem;display:flex}.navigation-shell{margin-bottom:2rem}.section-nav{background:#ffffffd1;border:1px solid #e5e7eb;border-radius:.75rem;justify-content:center;gap:.35rem;width:max-content;margin:.55rem auto 0;padding:.3rem;display:flex}.section-nav a{color:#6b7280;border-radius:.55rem;padding:.45rem .75rem;font-size:.72rem;font-weight:700;text-decoration:none}.section-nav a:hover,.section-nav a.active{color:#4338ca;background:#eef2ff}.nav-group{flex:none;position:relative}.nav-group>summary{cursor:pointer;align-items:center;gap:.35rem;list-style:none;display:flex}.nav-group>summary::-webkit-details-marker{display:none}.nav-group>summary svg,.nav-group>summary>span{transition:transform .2s}.nav-group[open]>summary svg,.nav-group[open]>summary>span{transform:rotate(180deg)}.nav-submenu{z-index:20;background:#fff;border:1px solid #e5e7eb;border-radius:.9rem;width:270px;padding:.45rem;display:none;position:absolute;top:calc(100% + .55rem);left:0;box-shadow:0 16px 38px #0f172a29}.nav-group[open] .nav-submenu,.nav-group:hover .nav-submenu,.nav-group:focus-within .nav-submenu{gap:.25rem;display:grid}.nav-submenu a{color:#374151;border-radius:.65rem;flex-direction:column;gap:.15rem;padding:.7rem .8rem;font-size:.8rem;font-weight:800;text-decoration:none;display:flex}.nav-submenu a:hover,.nav-submenu a.active{color:#4338ca;background:#eef2ff}.nav-submenu small{color:#9ca3af;font-size:.64rem;font-weight:500}.nav-link{color:var(--text-light);border-radius:.5rem;padding:.5rem 1rem;font-weight:600;transition:all .3s}.nav-link:hover{color:var(--primary-color);background:#4f46e51a}.nav-link.active{color:#fff;background:var(--primary-color)}.mobile-br{display:none}@media (width<=768px){.hero-title{font-size:1.75rem}.mobile-br{display:block}}.app-container{max-width:1200px;margin:0 auto;padding:2rem 1rem}.glass-panel{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:1.5rem;padding:2rem;transition:transform .3s,box-shadow .3s}.glass-panel:hover{transform:translateY(-2px);box-shadow:0 12px 40px #1f26871a}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.5s ease-out forwards fadeIn}.form-group{margin-bottom:1.5rem}.form-label{color:var(--text-dark);margin-bottom:.5rem;font-weight:600;display:block}.form-input,.form-select{border:1px solid var(--glass-border);width:100%;color:var(--text-dark);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff80;border-radius:.75rem;padding:.75rem 1rem;font-family:inherit;font-size:1rem;transition:all .3s}@media (prefers-color-scheme:dark){.form-input,.form-select{background:#0003}}.form-input:focus,.form-select:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #4f46e533}.btn{cursor:pointer;border:none;border-radius:.75rem;justify-content:center;align-items:center;padding:.75rem 1.5rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--primary-color), var(--secondary-color));color:#fff;box-shadow:0 4px 6px -1px #4f46e533,0 2px 4px -1px #4f46e51a}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 10px 15px -3px #4f46e54d,0 4px 6px -2px #4f46e533}.grid{gap:1.5rem;display:grid}.item-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem;display:grid}@media (width>=768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.genre-group-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem;margin-top:1rem;display:grid}.genre-group-box{border:1px solid var(--glass-border);background:#fff3;border-radius:1rem;padding:1rem;transition:all .3s}.genre-group-box:hover{border-color:var(--primary-light);background:#fff6}.genre-group-title{color:var(--text-light);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem;font-size:.75rem;font-weight:600}.genre-item-list{flex-wrap:wrap;gap:.75rem;display:flex}.genre-checkbox-label{cursor:pointer;border:1px solid var(--glass-border);-webkit-user-select:none;user-select:none;background:#ffffff80;border-radius:.5rem;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.875rem;transition:all .2s;display:flex}.genre-checkbox-label:hover{border-color:var(--primary-color);background:#fff;transform:translateY(-1px)}.genre-checkbox-label.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.all-select-btn{border:1px solid var(--primary-color);color:var(--primary-color);cursor:pointer;background:#fff;border-radius:.5rem;padding:.25rem .75rem;font-size:.75rem;font-weight:600;transition:all .2s}.all-select-btn:hover{background:var(--primary-color);color:#fff}.market-price-banner{border:1px solid var(--glass-border);background:#ffffff4d;border-radius:1rem;flex-wrap:wrap;justify-content:space-around;gap:1rem;margin-bottom:2rem;padding:1.5rem;display:flex}.price-item{text-align:center}.price-label{color:var(--text-light);text-transform:uppercase;font-size:.75rem;display:block}.price-value{color:var(--text-dark);font-size:1.25rem;font-weight:700}.asset-card{flex-direction:column;display:flex;position:relative;overflow:hidden}.return-badge{background:var(--accent-color);color:#fff;z-index:10;border-radius:2rem;padding:.25rem .75rem;font-size:.875rem;font-weight:700;position:absolute;top:1rem;right:1rem}.metal-image{aspect-ratio:1;object-fit:cover;border-radius:1rem;width:100%;margin-bottom:1rem}.metal-info{flex-grow:1}.metal-tag{background:#0000000d;border-radius:.5rem;margin-bottom:.5rem;margin-right:.5rem;padding:.1rem .5rem;font-size:.7rem;display:inline-block}@media (prefers-color-scheme:dark){.metal-tag{background:#ffffff1a}.market-price-banner{background:#0003}}.input-wizard{background:#fff;border:1px solid #e5e7eb;border-radius:1.5rem;overflow:hidden;box-shadow:0 18px 50px #0f172a14}.input-wizard-intro{color:#fff;background:linear-gradient(135deg,#312e81 0%,#4f46e5 55%,#2563eb 100%);padding:2rem 2rem 1.75rem}.section-eyebrow{color:#c7d2fe;letter-spacing:.16em;margin-bottom:.35rem;font-size:.7rem;font-weight:800;display:block}.input-wizard-intro h2{margin-bottom:.5rem;font-size:1.75rem}.input-wizard-intro p{color:#e0e7ff;max-width:680px;font-size:.92rem}.input-step{border-bottom:1px solid #e5e7eb;padding:1.75rem 2rem}.input-step:last-child{border-bottom:0}.input-step-header{grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:.9rem;margin-bottom:1.25rem;display:grid}.step-number{color:#fff;background:#4f46e5;border-radius:.8rem;place-items:center;width:42px;height:42px;font-size:.95rem;font-weight:900;display:grid;box-shadow:0 6px 14px #4f46e540}.step-heading-copy h3{color:#111827;margin-bottom:.2rem;font-size:1.05rem}.step-heading-copy p{color:#6b7280;font-size:.78rem}.step-heading-aside{justify-self:end}.status-pill,.selection-count{color:#4338ca;background:#eef2ff;border-radius:999px;align-items:center;min-height:28px;padding:.25rem .65rem;font-size:.7rem;font-weight:800;display:inline-flex}.step-content{margin-left:3.6rem}.two-column-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.field-card{background:#f8fafc;border:1px solid #e5e7eb;border-radius:1rem;padding:1.15rem}.field-card .form-label{color:#374151;font-size:.78rem}.field-value{color:#111827;align-items:baseline;gap:.3rem;margin-bottom:.65rem;display:flex}.field-value strong{color:#4338ca;font-size:1.65rem;line-height:1}.field-value span{font-size:.8rem;font-weight:700}.income-range{accent-color:#4f46e5;cursor:pointer;width:100%}.range-labels{color:#9ca3af;justify-content:space-between;margin-top:.35rem;font-size:.68rem;display:flex}.field-card .form-select{color:#111827;background:#fff;border-color:#d1d5db}.field-help{color:#6b7280;margin-top:.55rem;font-size:.7rem}.limit-editor{background:#f8fafc;border:1px solid #c7d2fe;border-radius:1rem;grid-template-columns:minmax(0,1fr) minmax(280px,.9fr);display:grid;overflow:hidden}.limit-editor-summary,.limit-editor-control{padding:1.25rem}.limit-editor-summary{color:#fff;background:linear-gradient(135deg,#4338ca,#4f46e5)}.limit-editor-summary span,.limit-editor-summary strong,.limit-editor-summary small{display:block}.limit-editor-summary span{color:#c7d2fe;font-size:.72rem;font-weight:700}.limit-editor-summary strong{margin:.3rem 0;font-size:2rem;line-height:1.2}.limit-editor-summary small{color:#e0e7ff;font-size:.68rem}.limit-editor-control label{color:#374151;margin-bottom:.45rem;font-size:.72rem;font-weight:700;display:block}.currency-input{align-items:center;gap:.5rem;display:flex}.currency-input input{color:#111827;width:100%;min-width:0;font:inherit;text-align:right;background:#fff;border:1px solid #d1d5db;border-radius:.65rem;padding:.7rem .8rem;font-size:1.1rem;font-weight:800}.currency-input>span{color:#374151;font-size:.78rem;font-weight:700}.text-button{color:#4f46e5;cursor:pointer;background:0 0;border:0;margin-top:.55rem;padding:0;font-size:.72rem;font-weight:800}.genre-toolbar{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.genre-toolbar p{color:#6b7280;font-size:.75rem}.outline-button{color:#4338ca;cursor:pointer;background:#fff;border:1px solid #a5b4fc;border-radius:.6rem;flex:none;padding:.45rem .75rem;font-size:.7rem;font-weight:800}.genre-selection-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.genre-selection-group{background:#fff;border:1px solid #e5e7eb;border-radius:.85rem;overflow:hidden}.genre-selection-title{color:#6b7280;letter-spacing:.05em;background:#f8fafc;border-bottom:1px solid #e5e7eb;padding:.5rem .75rem;font-size:.66rem;font-weight:800}.genre-selection-items{display:grid}.genre-selection-item{border-bottom:1px solid #f1f5f9;padding:.7rem;transition:background .2s}.genre-selection-item:last-child{border-bottom:0}.genre-selection-item.selected{background:#f5f3ff}.genre-toggle{color:#374151;cursor:pointer;align-items:center;gap:.55rem;display:flex}.genre-toggle input,.plan-choice input{opacity:0;width:1px;height:1px;position:absolute}.genre-check,.plan-choice-indicator{color:#fff;background:#fff;border:1.5px solid #cbd5e1;border-radius:.4rem;flex:none;place-items:center;width:22px;height:22px;font-size:.7rem;font-weight:900;display:grid}.genre-selection-item.selected .genre-check,.plan-choice.active .plan-choice-indicator{background:#4f46e5;border-color:#4f46e5}.genre-toggle strong{font-size:.8rem}.expense-editor{border-top:1px dashed #c7d2fe;justify-content:space-between;align-items:center;gap:.5rem;margin-top:.65rem;padding-top:.65rem;display:flex}.expense-editor>span{color:#6b7280;font-size:.68rem}.expense-editor>div{align-items:center;gap:.3rem;display:flex}.expense-editor input{color:#111827;width:92px;font:inherit;text-align:right;background:#fff;border:1px solid #c7d2fe;border-radius:.5rem;padding:.4rem .45rem;font-size:.76rem;font-weight:700}.expense-editor>div span{color:#6b7280;font-size:.66rem}.step-footnote{color:#6b7280;margin-top:.85rem;font-size:.7rem}.input-wizard .plan-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.input-wizard .plan-choice{color:#374151;cursor:pointer;box-shadow:none;background:#fff;border:1px solid #e5e7eb;border-radius:.9rem;grid-template-columns:28px minmax(0,1fr);gap:.65rem;padding:1rem;display:grid;position:relative}.input-wizard .plan-choice:hover{background:#f8fafc;border-color:#a5b4fc;transform:translateY(-1px)}.input-wizard .plan-choice.active{background:#f5f3ff;border:2px solid #4f46e5}.plan-choice-copy strong,.plan-choice-copy small{display:block}.plan-choice-copy strong{color:#111827;font-size:.84rem}.plan-choice-copy small{color:#6b7280;margin-top:.3rem;font-size:.7rem;line-height:1.5}.input-wizard input:focus-visible,.input-wizard select:focus-visible,.input-wizard button:focus-visible{outline-offset:2px;outline:3px solid #4f46e547}.input-wizard label:has(input:focus-visible){outline-offset:2px;outline:3px solid #4f46e547}@media (prefers-color-scheme:dark){.input-wizard{background:#111827;border-color:#374151}.input-step,.genre-selection-title,.genre-selection-item,.genre-selection-group{border-color:#374151}.step-heading-copy h3,.field-value,.field-card .form-label,.genre-toggle,.plan-choice-copy strong{color:#f9fafb}.field-card,.genre-selection-group,.input-wizard .plan-choice,.limit-editor{background:#1f2937}.genre-selection-title,.genre-selection-item.selected,.input-wizard .plan-choice.active{background:#4f46e529}}@media (width<=900px){.genre-selection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.input-wizard .plan-choice-grid{grid-template-columns:1fr}}@media (width<=700px){.input-wizard-intro,.input-step{padding:1.35rem 1rem}.input-wizard-intro h2{font-size:1.4rem}.input-step-header{grid-template-columns:36px minmax(0,1fr);gap:.7rem}.step-number{width:36px;height:36px}.step-heading-aside{grid-column:2;justify-self:start}.step-content{margin-left:0}.two-column-fields,.limit-editor,.genre-selection-grid{grid-template-columns:1fr}.genre-toolbar{flex-direction:column;align-items:flex-start}.outline-button{width:100%}}.case-page{max-width:1120px;margin:0 auto}.case-hero,.case-detail-hero{text-align:center;padding:3.5rem 2rem}.case-hero>span,.case-detail-hero>p:first-child,.case-section-label,.case-card-label{color:#4f46e5;letter-spacing:.14em;font-size:.72rem;font-weight:900}.case-hero h1,.case-detail-hero h1{max-width:850px;color:var(--text-main);margin:.7rem auto 1rem;font-size:clamp(2rem,5vw,3.25rem);line-height:1.2}.case-detail-hero h1{max-width:1050px;word-break:auto-phrase;font-size:clamp(2rem,4vw,2.8rem)}.case-hero p,.case-detail-hero>p:last-child{max-width:720px;color:var(--text-light);margin:0 auto;font-size:1.05rem;line-height:1.9}.case-notice{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:.9rem;margin-bottom:1.5rem;padding:1rem 1.25rem;font-size:.85rem}.case-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.case-card,.case-section,.case-summary{border:1px solid var(--border-color);background:var(--card-bg);border-radius:1.25rem;box-shadow:0 12px 35px #0f172a0f}.case-card{flex-direction:column;padding:1.4rem;display:flex}.case-card h2{color:var(--text-main);margin:.25rem 0 1rem}.case-card dl{margin:0 0 1rem}.case-card dl div{border-bottom:1px solid var(--border-color);justify-content:space-between;gap:1rem;padding:.5rem 0;display:flex}.case-card dt,.case-card>p:not(.case-card-label){color:var(--text-light);font-size:.82rem;line-height:1.7}.case-card dd{color:var(--text-main);margin:0;font-weight:800}.case-card>a,.case-cta>a{color:#fff;background:linear-gradient(135deg,#4f46e5,#2563eb);border-radius:.75rem;justify-content:center;align-items:center;margin-top:auto;padding:.8rem 1rem;font-weight:800;text-decoration:none;display:inline-flex}.breadcrumbs{color:var(--text-light);flex-wrap:wrap;gap:.5rem;padding:1rem 0;font-size:.78rem;display:flex}.breadcrumbs a{color:#4f46e5}.case-summary{grid-template-columns:repeat(3,1fr);margin-bottom:1.5rem;padding:1.5rem;display:grid}.case-summary>div{border-right:1px solid var(--border-color);flex-direction:column;gap:.3rem;padding:.5rem 1.5rem;display:flex}.case-summary>div:last-child{border-right:0}.case-summary span,.case-summary small{color:var(--text-light);font-size:.75rem}.case-summary strong{color:#4338ca;font-size:1.65rem}.case-section{margin-bottom:1.5rem;padding:2rem}.case-section h2,.case-cta h2{color:var(--text-main);margin:.35rem 0 .75rem}.case-section>p:not(.case-section-label),.case-two-column p{color:var(--text-light);line-height:1.8}.case-allocation-list{margin-top:1.5rem}.case-calculation-note{background:#f5f3ff;border-left:3px solid #6366f1;border-radius:0 .65rem .65rem 0;margin-top:.9rem;padding:.8rem 1rem;font-size:.75rem;color:#5b21b6!important}.case-allocation-list>div{grid-template-columns:6rem 1fr 6rem;align-items:center;gap:1rem;padding:.7rem 0;display:grid}.case-allocation-bar{background:#e5e7eb;border-radius:999px;height:.65rem;overflow:hidden}.case-allocation-bar i{border-radius:inherit;background:linear-gradient(90deg,#4f46e5,#06b6d4);min-width:.65rem;height:100%;display:block}.case-allocation-list strong{color:var(--text-main);text-align:right}.case-two-column{grid-template-columns:1fr 1fr;gap:2rem;display:grid}.case-two-column ul{color:var(--text-light);padding-left:1.2rem;line-height:2}.case-cta{color:#fff;text-align:center;background:linear-gradient(135deg,#312e81,#2563eb);border-radius:1.25rem;margin-bottom:1.5rem;padding:2.5rem}.case-cta p,.case-cta h2{color:#fff}.case-cta>a{color:#312e81;background:#fff;margin-top:1rem}.related-case-links{grid-template-columns:repeat(3,1fr);gap:.75rem;margin:1rem 0;display:grid}.related-case-links a{border:1px solid var(--border-color);color:var(--text-main);border-radius:.8rem;flex-direction:column;padding:1rem;text-decoration:none;display:flex}.related-case-links span{color:#4f46e5;margin-top:.25rem;font-weight:800}.case-index-link{color:#4f46e5;font-weight:800}@media (width<=850px){.case-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.case-hero,.case-detail-hero{padding:2.25rem .25rem}.case-grid,.case-summary,.case-two-column,.related-case-links{grid-template-columns:1fr}.case-summary>div{border-right:0;border-bottom:1px solid var(--border-color)}.case-summary>div:last-child{border-bottom:0}.case-section{padding:1.25rem}.case-allocation-list>div{grid-template-columns:4.5rem 1fr 5.5rem;gap:.5rem;font-size:.85rem}.case-cta{padding:2rem 1.25rem}}.result-overview,.result-section{background:#fff;border:1px solid #e5e7eb;border-radius:1.5rem;margin-bottom:1.5rem;padding:1.75rem;box-shadow:0 14px 38px #0f172a12}.result-overview-heading{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;display:flex}.result-overview-heading .section-eyebrow{color:#4f46e5}.result-overview-heading h2{color:#111827;margin-bottom:.35rem;font-size:1.5rem}.result-overview-heading p{color:#6b7280;font-size:.82rem}.result-plan-badge{color:#4338ca;background:#eef2ff;border:1px solid #c7d2fe;border-radius:999px;flex:none;padding:.45rem .75rem;font-size:.72rem;font-weight:800}.result-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;display:grid}.result-stat-card{background:#f8fafc;border:1px solid #e5e7eb;border-radius:1rem;padding:1rem}.result-stat-card.primary{background:#eef2ff;border-color:#c7d2fe}.result-stat-card.saving{background:#ecfdf5;border-color:#a7f3d0}.result-stat-card.remaining{background:#fff7ed;border-color:#fed7aa}.result-stat-card>span{color:#6b7280;margin-bottom:.35rem;font-size:.7rem;font-weight:700;display:block}.result-stat-card>strong{color:#111827;font-size:clamp(1.25rem,2.3vw,1.75rem);line-height:1.2;display:block}.result-stat-card.primary>strong{color:#4338ca}.result-stat-card.saving>strong{color:#047857}.result-stat-card.remaining>strong{color:#c2410c}.result-stat-card strong small{margin-left:.15rem;font-size:.7rem}.result-stat-card p{color:#6b7280;margin-top:.35rem;font-size:.65rem}.reduction-rate-card{background:linear-gradient(135deg,#f0fdf4,#ecfeff);border:1px solid #bbf7d0;border-radius:1.1rem;grid-template-columns:auto 1fr;align-items:center;gap:1.5rem;margin-top:1.1rem;padding:1.2rem 1.4rem;display:grid}.reduction-rate-chart{background:conic-gradient(#10b981 0 var(--reduction-rate), #d1fae5 var(--reduction-rate) 360deg);border-radius:50%;width:116px;height:116px;padding:10px;display:grid;box-shadow:0 8px 24px #10b98129}.reduction-rate-chart>div{background:#fff;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;display:flex}.reduction-rate-chart strong{color:#047857;font-size:1.55rem;line-height:1}.reduction-rate-chart strong small{margin-left:.1rem;font-size:.7rem}.reduction-rate-chart span{color:#6b7280;margin-top:.35rem;font-size:.6rem;font-weight:700}.reduction-rate-copy h3{color:#111827;margin:.2rem 0 .3rem;font-size:1.1rem}.reduction-rate-copy>p{color:#6b7280;font-size:.75rem;line-height:1.7}.reduction-rate-copy dl{flex-wrap:wrap;gap:.5rem 1.5rem;margin:.7rem 0 0;display:flex}.reduction-rate-copy dl div{gap:.5rem;display:flex}.reduction-rate-copy dt{color:#6b7280;font-size:.68rem}.reduction-rate-copy dd{color:#065f46;margin:0;font-size:.72rem;font-weight:800}.result-usage{margin-top:1.1rem}.result-usage-label{color:#374151;justify-content:space-between;margin-bottom:.4rem;font-size:.72rem;font-weight:700;display:flex}.result-usage-label strong{color:#4338ca}.result-usage-track{background:#e5e7eb;border-radius:999px;height:10px;overflow:hidden}.result-usage-track>div{border-radius:inherit;background:linear-gradient(90deg,#4f46e5,#06b6d4);height:100%;transition:width .35s}.allocation-list{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.allocation-item{color:#4b5563;background:#f8fafc;border:1px solid #e5e7eb;border-radius:999px;align-items:center;gap:.4rem;padding:.4rem .6rem;font-size:.68rem;display:flex}.allocation-item strong{color:#111827}.allocation-color{border-radius:50%;width:8px;height:8px}.result-disclaimer{color:#9ca3af;margin-top:.85rem;font-size:.65rem}.result-section .planner-heading{margin-bottom:1.25rem}.result-section .planner-kicker{margin-bottom:.2rem;display:block}.result-section .planner-heading h2{color:#111827;font-size:1.35rem}.result-section .planner-heading p{color:#6b7280}.donation-planner{border-top:5px solid #4f46e5}.other-ranking-panel{border-top:5px solid #f59e0b}.genre-budget-summary{text-align:right;flex-direction:column;align-items:flex-end;gap:.1rem;display:flex}.genre-budget-summary small{color:#6b7280;font-size:.64rem}.genre-budget-summary strong{color:#4338ca;font-size:.85rem}.plan-product-row{transition:background .2s}.plan-product-row:hover{background:#f8fafc}.saving-chip{background:#ecfdf5;border-radius:999px;align-self:flex-start;margin-top:.35rem;padding:.2rem .5rem;font-weight:700;display:inline-flex;color:#047857!important}.rakuten-cta{transition:transform .2s,box-shadow .2s;box-shadow:0 5px 12px #bf00002e}.rakuten-cta:hover{transform:translateY(-1px);box-shadow:0 8px 18px #bf000040}.budget-status{border-radius:999px;align-self:flex-start;padding:.15rem .4rem;font-size:.6rem;font-weight:800}.budget-status.within{color:#047857;background:#ecfdf5}.budget-status.over{color:#b45309;background:#fffbeb}@media (prefers-color-scheme:dark){.result-overview,.result-section{background:#111827;border-color:#374151}.result-overview-heading h2,.result-section .planner-heading h2,.result-stat-card>strong,.allocation-item strong,.genre-budget-summary strong{color:#f9fafb}.result-stat-card,.allocation-item,.plan-product-row:hover{background:#1f2937;border-color:#374151}.result-stat-card.primary,.result-stat-card.saving,.result-stat-card.remaining{background:#4f46e51f;border-color:#4b5563}}@media (width<=900px){.result-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.main-nav{grid-template-columns:1fr 1fr;gap:.4rem;padding:.65rem;display:grid;overflow:visible}.main-nav .nav-link:first-child{grid-column:1/-1}.section-nav{box-sizing:border-box;grid-template-columns:1fr 1fr;width:100%;display:grid}.section-nav a{text-align:center;justify-content:center;align-items:center;padding:.55rem .35rem;display:flex}.nav-link{text-align:center;white-space:nowrap;justify-content:center;align-items:center;padding:.55rem .7rem;font-size:.72rem;display:flex}.nav-group{grid-column:1/-1}.nav-group>summary{width:100%}.nav-submenu{width:auto;box-shadow:none;margin-top:.4rem;position:static}.nav-group[open] .nav-submenu{grid-template-columns:1fr 1fr}.result-overview,.result-section{border-radius:1.15rem;padding:1.1rem}.result-overview-heading,.planner-heading{flex-direction:column}.result-section .planner-heading h2{font-size:1.3rem;line-height:1.35}.result-plan-badge{align-self:flex-start}.result-stat-grid{grid-template-columns:1fr 1fr;gap:.5rem}.result-stat-card{padding:.8rem}.result-stat-card p{display:none}.reduction-rate-card{grid-template-columns:90px 1fr;gap:1rem;padding:1rem}.reduction-rate-chart{width:90px;height:90px;padding:8px}.reduction-rate-chart strong{font-size:1.2rem}.reduction-rate-copy dl{gap:.25rem;display:grid}.allocation-item{flex:calc(50% - .5rem);justify-content:space-between}.plan-genre-heading{flex-wrap:wrap;align-items:flex-start}.genre-budget-summary{text-align:left;align-items:flex-start;width:100%;margin-top:.45rem}}
