@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;600;700&display=swap";:root{font-family:Space Grotesk,Noto Sans JP,sans-serif;line-height:1.5;font-weight:400;color:#0b1f3a;background-color:#eef4fb;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at top,#f4f8ff,#e9f2ff 45%,#eef2fb)}a{color:inherit;text-decoration:none}button,input,select{font-family:inherit}#root{max-width:1120px;margin:0 auto;padding:48px 20px 64px}.app{display:grid;gap:32px}.hero{display:grid;gap:12px;padding:32px;border-radius:28px;background:linear-gradient(135deg,#0b1f3a,#0b4a73 55%,#1a5f91);color:#eef4f4;box-shadow:0 24px 60px #06122059;animation:rise .7s ease both}.hero-top{display:flex;justify-content:space-between;align-items:center}.brand{display:flex;align-items:center;gap:12px;text-transform:uppercase;letter-spacing:.2em;font-size:18px;font-weight:700;color:#eef4f4e6}.brand-logo-wrap{width:80px;height:80px;border-radius:50%;overflow:hidden;flex-shrink:0}.brand-logo{width:100%;height:100%;object-fit:cover;display:block}.favorites-toggle{padding:8px 16px;background:#ffffff26;border:1px solid rgba(255,255,255,.25);border-radius:20px;color:#fff;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.favorites-toggle:hover{background:#ffffff40;transform:translateY(-1px)}.hero h1{font-size:clamp(28px,4vw,44px);margin:0;line-height:1.1}.subtitle{margin:0;font-size:16px;max-width:560px;color:#eef4f4bf}.keyword-tags{list-style:none;padding:0;margin:10px 0 0;display:flex;flex-wrap:wrap;gap:6px}.keyword-tags li{font-size:12px;color:#eef4f499;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:12px;padding:2px 10px}.no-break{white-space:nowrap}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}.layout{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.panel{background:#fff;border-radius:22px;padding:24px;box-shadow:0 20px 40px #10182014;display:grid;gap:18px;animation:rise .7s ease .1s both;align-self:start}.panel.highlight{background:linear-gradient(160deg,#e9f2ff,#eef5ff 65%,#f5f8ff)}.panel h2{margin:0;font-size:20px}.toggle{display:inline-flex;gap:6px;background:#eef4fb;border-radius:999px;padding:6px;border:1px solid #d6e3f2;width:fit-content}.toggle-item{position:relative;display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;font-size:13px;color:#3d556b;cursor:pointer;transition:background .2s ease,color .2s ease,box-shadow .2s ease}.toggle-item:hover{transform:translateY(-1px);box-shadow:0 8px 16px #0b2a4a1f}.toggle-item input{appearance:none;width:0;height:0;margin:0}.toggle-item.active{background:#0b2a4a;color:#f6f8fb;box-shadow:0 8px 18px #0b2a4a33}.panel-head{display:flex;align-items:center;justify-content:space-between}.tag{background:#0b1f3a;color:#f6f7f8;padding:4px 10px;border-radius:999px;font-size:12px;letter-spacing:.08em}.grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.field{display:grid;gap:6px;font-size:13px;color:#485660}.field-label{display:inline-flex;align-items:center;gap:8px}.info{position:relative;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:999px;font-size:10px;font-weight:700;color:#0b2a4a;background:#d9e6f7;border:1px solid #b7c8dd;cursor:help}.tooltip{position:absolute;left:50%;bottom:calc(100% + 10px);transform:translate(-50%);width:min(280px,70vw);padding:12px 14px;border-radius:10px;background:#0b1f3a;color:#f6f8fb;font-size:12px;line-height:1.5;text-align:left;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;transform-origin:bottom center;display:grid;gap:8px;z-index:100}.tooltip:after{content:"";position:absolute;left:50%;bottom:-6px;transform:translate(-50%);border:6px solid transparent;border-top-color:#0b1f3a}.tooltip-title{font-size:13.5px;font-weight:800;color:#7fb4e6}.tooltip-body{font-weight:400}.tooltip-body strong{font-size:13.5px;color:#fff}.tooltip-emphasis{color:#e15a5a;font-weight:600}.info:hover .tooltip,.info:focus-visible .tooltip{opacity:1}.group-title .tooltip{left:0;transform:none}.group-title .tooltip:after{left:10px;transform:none}.required{margin-left:6px;font-size:11px;font-weight:600;color:#1b6fb3}.field input,.field select{border-radius:12px;border:1px solid #d9e1e8;padding:10px 12px;font-size:14px;background:#fbfdff;transition:border-color .2s ease,box-shadow .2s ease;width:100%;max-width:100%}.unit-select{width:fit-content;padding-right:28px}.field input:disabled,.field select:disabled{background:#c8d1dd;color:#5f6d7a;border-color:#aab7c6;cursor:not-allowed}.field input:focus,.field select:focus{outline:none;border-color:#7fb4e6;box-shadow:0 0 0 3px #7fb4e647}.notice-box{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;background:#fff9e6;border:1px solid #f4d88a;border-radius:12px;font-size:13px;line-height:1.6;color:#5a4420}.notice-icon{font-size:18px;flex-shrink:0;margin-top:1px}.notice-content{flex:1}.notice-content strong{color:#3d2e15;font-weight:700}.actions,.links{display:flex;gap:10px;flex-wrap:wrap}.primary,.ghost{border-radius:999px;padding:10px 18px;font-weight:600;border:1px solid transparent;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.primary{background:#0b2a4a;color:#fefefe;box-shadow:0 10px 20px #0b2a4a33}.ghost{background:transparent;border-color:#b7c8dd;color:#0b1f3a}.hero .ghost{background:#ffffff1f;border-color:#fff6;color:#fff}.hero .ghost:hover{background:#ffffff38}.primary:hover,.ghost:hover{transform:translateY(-2px)}.hint{margin:0;color:#8a98a5;font-size:12px}.result{display:grid;gap:16px;padding:18px;background:#ffffffb3;border-radius:16px;border:1px solid rgba(186,205,226,.7)}.shop-actions{display:flex;gap:8px;margin-top:6px}.shop-details{margin-top:8px}.shop-label{font-size:12px;font-weight:600;color:#4b5f74;cursor:pointer;list-style:none}.shop-label::-webkit-details-marker{display:none}.shop-label:after{content:"▾";margin-left:6px;font-size:16px;font-weight:700;line-height:1;display:inline-block;transition:transform .2s ease}.shop-details[open] .shop-label:after{content:"▾";transform:rotate(180deg)}.shop-button{display:inline-flex;align-items:center;gap:6px;border-radius:999px;border:1px solid #b7c8dd;background:#f3f7fd;color:#0b2a4a;font-size:12px;font-weight:600;padding:6px 10px;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.shop-button img{width:16px;height:16px;object-fit:contain}.shop-button:hover{transform:translateY(-1px);box-shadow:0 6px 12px #0b2a4a1f}.result-list{display:grid;gap:12px}.result-group{display:grid;gap:10px}.group-title{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:800;color:#0b4a73;letter-spacing:.06em;text-transform:uppercase}.group-description{font-size:13px;color:#5a6d7f;margin-top:-4px;line-height:1.4}.group-items{display:grid;gap:12px}.result-card{display:grid;gap:12px;padding:16px;border-radius:14px;background:#ffffffbf;border:1px solid rgba(186,205,226,.7);box-shadow:0 12px 24px #0b2a4a14}.label{font-size:12px;color:#4b5f74;text-transform:uppercase;letter-spacing:.08em}.value{font-size:18px;font-weight:600;color:#0b1f3a}.value.small{font-size:14px;font-weight:500}.detail-text{font-size:12px;color:#6e7f91;margin-top:4px}.footer{color:#64768c;font-size:12px;text-align:center;display:grid;gap:8px}.footer-main{font-size:14px;font-weight:500;color:#4a5a6c}.footer-note{font-size:12px;line-height:1.6;color:#78889c}.footer-links{margin-top:4px}.footer-links button,.footer-links a{background:none;border:none;color:#7fb4e6;font-size:12px;cursor:pointer;text-decoration:underline;padding:0}.footer-links button:hover,.footer-links a:hover{color:#1b6fb3}} .breadcrumb{font-size:13px;color:#78889c}.breadcrumb ol{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:4px}.breadcrumb li{display:flex;align-items:center;gap:4px}.breadcrumb a{color:#1b6fb3;text-decoration:none}.breadcrumb a:hover{text-decoration:underline}.breadcrumb-sep{color:#b0bec8;font-size:14px}.home-section{display:grid;gap:16px}.home-section-title{margin:0;font-size:18px;font-weight:700;color:#0b2a4a;padding-bottom:10px;border-bottom:2px solid #d6e3f2}.home-menu{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.home-menu-card{display:flex;align-items:flex-start;gap:16px;background:#fff;border-radius:20px;padding:24px;box-shadow:0 8px 28px #0b2a4a14;text-decoration:none;color:inherit;border:1px solid transparent;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;animation:rise .7s ease .15s both}.home-menu-card:not(.home-menu-card--soon):hover{transform:translateY(-4px);box-shadow:0 16px 40px #0b2a4a24;border-color:#0b4f7333}.home-menu-card--soon{opacity:.55;cursor:default}.home-menu-icon{font-size:32px;flex-shrink:0;line-height:1;margin-top:2px}.home-menu-body h2{margin:0 0 6px;font-size:17px;font-weight:700;color:#0b2a4a}.home-menu-body p{margin:0 0 10px;font-size:13px;color:#5a6d7f;line-height:1.55}.home-menu-arrow{font-size:13px;font-weight:600;color:#1b6fb3}.home-menu-badge{display:inline-block;font-size:11px;font-weight:600;color:#78889c;background:#eef2f6;border-radius:999px;padding:2px 10px}.home-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.home-feature{display:flex;align-items:flex-start;gap:14px;background:#fff;border-radius:18px;padding:20px;box-shadow:0 8px 24px #0b2a4a12;animation:rise .7s ease .15s both}.home-feature-icon{font-size:28px;flex-shrink:0;line-height:1;margin-top:2px}.home-feature h3{margin:0 0 4px;font-size:15px;font-weight:700;color:#0b2a4a}.home-feature p{margin:0;font-size:13px;color:#5a6d7f;line-height:1.5}.ad-container{max-width:728px;margin:20px auto;padding:16px;text-align:center;background:#ffffff80;border-radius:12px;border:1px solid rgba(186,205,226,.4)}.buy-section{margin-top:16px;background:#ffffffd9;border-radius:12px;border:1px solid rgba(11,79,115,.1)}.buy-summary{padding:12px 16px;font-size:15px;font-weight:500;color:#4a5a6c;cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none;border-radius:12px;transition:background-color .2s ease}.buy-summary:hover{background:#0b4f730d}.buy-summary::marker{content:""}.buy-summary::-webkit-details-marker{display:none}.buy-summary:before{content:"▶";display:inline-block;margin-right:8px;font-size:10px;transition:transform .2s ease}.buy-section[open] .buy-summary:before{transform:rotate(90deg)}.buy-content{padding:0 16px 16px;animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.buy-category{margin-bottom:16px}.buy-category:last-of-type{margin-bottom:12px}.buy-category-title{font-size:14px;font-weight:500;color:#4a5a6c;margin-bottom:8px}.buy-buttons{display:flex;gap:12px;flex-wrap:wrap}.buy-button{display:flex;align-items:center;gap:8px;padding:10px 16px;border-radius:8px;text-decoration:none;font-size:14px;font-weight:500;transition:all .2s ease;flex:1;min-width:140px;justify-content:center}.buy-button.amazon{background:#f90;color:#000;border:2px solid #ff9900}.buy-button.amazon:hover{background:#ffb84d;transform:translateY(-2px);box-shadow:0 4px 12px #ff99004d}.buy-button.rakuten{background:#bf0000;color:#fff;border:2px solid #bf0000}.buy-button.rakuten:hover{background:#e60000;transform:translateY(-2px);box-shadow:0 4px 12px #bf00004d}.buy-logo{height:16px;width:auto}.buy-button.rakuten .buy-logo{filter:brightness(0) invert(1)}.buy-disclaimer{margin:12px 0 0;font-size:11px;color:#78889c;line-height:1.5}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.action-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px;padding:0 4px}.share-button,.save-button,.export-button{padding:10px 12px;border:none;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.share-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.share-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.save-button{background:#ffffffe6;color:#4a5a6c;border:2px solid rgba(11,79,115,.2)}.save-button:hover{background:#fff;border-color:#0b4f7366}.save-button.saved{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff;border:none}.save-button.saved:hover{transform:translateY(-1px);box-shadow:0 4px 12px #f5576c66}.export-button{background:linear-gradient(135deg,#11998e,#38ef7d);color:#fff}.export-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #11998e66}.modal-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#fff;border-radius:16px;max-width:500px;width:100%;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 50px #0000004d;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid rgba(0,0,0,.1)}.modal-header h2{margin:0;font-size:20px;color:#0b2a4a}.modal-close{background:none;border:none;font-size:28px;color:#78889c;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s ease}.modal-close:hover{background:#0000000d;color:#0b2a4a}.modal-body{padding:20px 24px;overflow-y:auto}.empty-message{text-align:center;color:#78889c;padding:40px 20px;font-size:15px}.favorites-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.favorite-item{display:flex;gap:8px;align-items:stretch}.favorite-load{flex:1;display:flex;align-items:center;gap:12px;padding:12px 16px;background:#0b4f730d;border:1px solid rgba(11,79,115,.15);border-radius:10px;cursor:pointer;transition:all .2s ease;text-align:left}.favorite-load:hover{background:#0b4f731a;border-color:#0b4f734d;transform:translate(4px)}.mode-badge{padding:4px 10px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:6px;font-size:11px;font-weight:600;white-space:nowrap}.favorite-text{color:#0b2a4a;font-size:14px;font-weight:500}.favorite-delete{padding:12px;background:none;border:1px solid rgba(0,0,0,.1);border-radius:10px;cursor:pointer;font-size:18px;transition:all .2s ease}.favorite-delete:hover{background:#f5576c1a;border-color:#f5576c4d}@media(max-width:600px){#root{padding:32px 16px 48px}.hero{padding:24px}.action-buttons{grid-template-columns:1fr}.modal-content{max-height:90vh}.field-label .tooltip{bottom:auto;top:calc(100% + 10px);transform-origin:top center}.field-label .tooltip:after{bottom:auto;top:-6px;border-top-color:transparent;border-bottom-color:#0b1f3a}}
