:root{--color-navy:#1a3b5d;--color-navy-dark:#0f2d52;--color-blue:#3498db;--color-brand:#205ea4;--color-orange:#e67e22;--color-orange-dark:#d35400;--color-text:#333;--color-text-light:#555;--color-text-muted:#666;--color-bg:#fff;--color-bg-light:#f8fbff;--color-bg-alt:#f4f6f9;--color-border:#eee;--color-border-dark:#ddd;--font-body:"Noto Sans JP","Yu Gothic Medium","Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;--font-heading:"Poppins","Noto Sans JP",sans-serif;--shadow-soft:0 10px 30px rgba(0,0,0,.05);--shadow-hover:0 15px 35px rgba(0,0,0,.1);--radius:12px;--radius-sm:8px;--transition:all .3s cubic-bezier(.25,.8,.25,1)}.db-hero{background:linear-gradient(135deg,var(--color-navy) 0%,var(--color-brand) 50%,var(--color-blue) 100%);color:#fff;padding:60px 40px;text-align:center;position:relative;overflow:hidden}.db-hero:before{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.05) 0%,transparent 70%);animation:heroGlow 8s ease-in-out infinite}@keyframes heroGlow{0%,100%{transform:translate(0,0)}50%{transform:translate(5%,5%)}}.db-hero h1{font-family:var(--font-heading);font-size:2.2em;font-weight:700;margin:0 0 15px;line-height:1.4;position:relative;border:none;padding:0;color:#fff}.db-hero .hero-count{font-family:var(--font-heading);font-size:3.5em;font-weight:700;color:rgba(255,255,255,.9);display:block;margin-bottom:5px;line-height:1}.db-hero .hero-count span{font-size:.4em;font-weight:400;opacity:.8}.db-hero .hero-sub{font-size:1.1em;opacity:.85;max-width:700px;margin:0 auto;line-height:1.8;position:relative}.db-stats-bar{display:flex;justify-content:center;gap:30px;padding:25px 20px;background:var(--color-bg);border-bottom:1px solid var(--color-border);flex-wrap:wrap}.db-stat-item{text-align:center}.db-stat-number{font-family:var(--font-heading);font-size:1.6em;font-weight:700;color:var(--color-brand);display:block}.db-stat-label{font-size:.85em;color:var(--color-text-muted)}.db-filter-section{background:var(--color-bg-light);border-bottom:1px solid var(--color-border);padding:25px 30px;position:sticky;top:0;z-index:50;box-shadow:0 2px 8px rgba(0,0,0,.04)}.db-filter-inner{max-width:1164px;margin:0 auto}.db-filter-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.db-filter-group{flex:1;min-width:180px}.db-filter-group label{display:block;font-size:.8em;font-weight:700;color:var(--color-text-muted);margin-bottom:4px;letter-spacing:.05em}.db-filter-group select{width:100%;padding:10px 35px 10px 12px;border:2px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.95em;color:var(--color-text);background-color:var(--color-bg);appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;cursor:pointer;transition:border-color .3s,box-shadow .3s}.db-filter-group select:focus{border-color:var(--color-blue);outline:none;box-shadow:0 0 0 4px rgba(52,152,219,.1)}.db-filter-group select:not([value=""]):not(:invalid){border-color:var(--color-blue);background-color:#f0f7ff}.db-filter-actions{display:flex;align-items:flex-end;gap:8px;padding-top:18px}.db-btn-reset{padding:10px 20px;border:2px solid var(--color-border-dark);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text-light);font-family:var(--font-body);font-size:.9em;cursor:pointer;transition:var(--transition);white-space:nowrap}.db-btn-reset:hover{border-color:var(--color-blue);color:var(--color-brand);background:#f0f7ff}.db-results-header{max-width:1164px;margin:0 auto;padding:20px 30px 10px;display:flex;justify-content:space-between;align-items:center}.db-results-count{font-size:1em;color:var(--color-text-light)}.db-results-count strong{font-family:var(--font-heading);font-size:1.4em;color:var(--color-brand)}.db-card-grid{max-width:1164px;margin:0 auto;padding:10px 30px 40px;display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:20px}.db-card{background:var(--color-bg);border-radius:var(--radius);border:1px solid var(--color-border);padding:0;overflow:hidden;box-shadow:var(--shadow-soft);transition:var(--transition);cursor:pointer;display:flex;flex-direction:column}.db-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover);border-color:var(--color-blue)}.db-card-header{padding:20px 22px 12px;border-bottom:1px solid var(--color-border);background:linear-gradient(135deg,#f8fbff,#fff)}.db-card-no{font-family:var(--font-heading);font-size:.75em;font-weight:700;color:var(--color-blue);opacity:.7;display:block;margin-bottom:6px;letter-spacing:.1em}.db-card-title{font-size:1.05em;font-weight:700;color:var(--color-navy);line-height:1.5;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.db-card-body{padding:15px 22px;flex:1}.db-card-summary{font-size:.88em;color:var(--color-text-light);line-height:1.7;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin:0}.db-card-budget{margin-top:10px;padding:6px 12px;background:linear-gradient(135deg,#fffbf0,#fff5e6);border:1px solid #f5d5b5;border-radius:6px;font-size:.82em;font-weight:600;color:var(--color-orange-dark);display:inline-flex;align-items:center;gap:6px}.db-card-budget i{font-size:.9em;opacity:.8}.db-card-footer{padding:12px 22px 16px;display:flex;flex-wrap:wrap;gap:6px}.db-tag{display:inline-block;font-size:.72em;padding:3px 10px;border-radius:20px;font-weight:500;white-space:nowrap}.db-tag-industry{background:#eef4fa;color:var(--color-brand);border:1px solid #d0e0f0}.db-tag-category{background:#fdf2e9;color:var(--color-orange-dark);border:1px solid #f5d5b5}.db-tag-purpose{background:#eafaf1;color:#1e8449;border:1px solid #b8e6cc}.db-modal-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(15,45,82,.6);backdrop-filter:blur(4px);z-index:1000;justify-content:center;align-items:flex-start;padding:40px 20px;overflow-y:auto}.db-modal-overlay.active{display:flex}.db-modal{background:var(--color-bg);border-radius:var(--radius);max-width:800px;width:100%;box-shadow:0 25px 60px rgba(0,0,0,.2);animation:modalIn .3s ease;position:relative}@keyframes modalIn{from{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.db-modal-close{position:absolute;top:15px;right:15px;width:36px;height:36px;border-radius:50%;border:none;background:var(--color-bg-alt);color:var(--color-text-light);font-size:1.2em;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition);z-index:10}.db-modal-close:hover{background:var(--color-navy);color:#fff}.db-modal-header{padding:30px 35px 20px;border-bottom:1px solid var(--color-border);background:linear-gradient(135deg,#f8fbff,#fff);border-radius:var(--radius) var(--radius) 0 0}.db-modal-meta{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}.db-modal-title{font-size:1.4em;font-weight:700;color:var(--color-navy);line-height:1.5;margin:0}.db-modal-body{padding:25px 35px 30px}.db-modal-summary{font-size:.95em;line-height:1.9;color:var(--color-text);margin-bottom:30px;padding-bottom:20px;border-bottom:1px solid var(--color-border)}.db-measure-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);padding:25px;margin-bottom:18px;box-shadow:0 4px 12px rgba(0,0,0,.03);transition:var(--transition)}.db-measure-card:hover{box-shadow:0 6px 20px rgba(0,0,0,.06)}.db-measure-header{display:flex;align-items:center;gap:12px;margin-bottom:15px;padding-bottom:12px;border-bottom:1px solid var(--color-border)}.db-measure-num{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--color-navy),var(--color-blue));color:#fff;font-family:var(--font-heading);font-size:.85em;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.db-measure-category{font-weight:700;color:var(--color-navy);font-size:1.05em}.db-measure-detail{font-size:.92em;line-height:1.8;color:var(--color-text);margin-bottom:15px}.db-measure-info{display:grid;grid-template-columns:1fr 1fr;gap:12px}.db-measure-info-item{background:var(--color-bg-alt);border-radius:var(--radius-sm);padding:12px 15px}.db-measure-info-label{font-size:.75em;font-weight:700;color:var(--color-text-muted);display:block;margin-bottom:4px;letter-spacing:.05em}.db-measure-info-value{font-size:.88em;line-height:1.6;color:var(--color-text)}.db-cta-section{background:linear-gradient(135deg,#eef2f7,#f8fbff);padding:60px 30px;text-align:center;border-top:1px solid var(--color-border)}.db-cta-inner{max-width:700px;margin:0 auto}.db-cta-section h2{font-family:var(--font-heading);font-size:1.8em;color:var(--color-navy);margin:0 0 15px;line-height:1.4;border:none;padding:0}.db-cta-section p{font-size:1.05em;color:var(--color-text-light);margin-bottom:30px;line-height:1.8}.db-cta-button{display:inline-block;background:linear-gradient(135deg,var(--color-orange),var(--color-orange-dark));color:#fff;padding:18px 60px;font-size:1.2em;font-weight:700;font-family:var(--font-heading);text-decoration:none;border-radius:50px;transition:var(--transition);box-shadow:0 10px 20px rgba(230,126,34,.4)}.db-cta-button:hover{transform:translateY(-3px);box-shadow:0 15px 30px rgba(230,126,34,.6);color:#fff}.db-no-results{grid-column:1/-1;text-align:center;padding:60px 20px;color:var(--color-text-muted)}.db-no-results i{font-size:3em;color:var(--color-border-dark);display:block;margin-bottom:15px}.db-no-results p{font-size:1.1em;margin:0 0 10px}.db-no-results small{color:#999}@media (max-width:1100px){.db-card-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));padding:10px 20px 40px}.db-hero{padding:40px 20px}.db-hero h1{font-size:1.6em}.db-hero .hero-count{font-size:2.8em}}@media (max-width:768px){.db-hero{padding:30px 15px}.db-hero h1{font-size:1.3em}.db-hero .hero-count{font-size:2.4em}.db-filter-row{flex-direction:column}.db-filter-group{min-width:100%}.db-filter-actions{padding-top:5px;width:100%}.db-btn-reset{width:100%}.db-card-grid{grid-template-columns:1fr;padding:10px 15px 30px}.db-stats-bar{gap:15px}.db-results-header{padding:15px 15px 5px}.db-modal-overlay{padding:15px 10px}.db-modal-header{padding:20px 20px 15px}.db-modal-title{font-size:1.15em}.db-modal-body{padding:20px 20px 25px}.db-measure-info{grid-template-columns:1fr}.db-cta-section{padding:40px 15px}.db-cta-section h2{font-size:1.4em}.db-cta-button{display:block;padding:16px 30px;font-size:1.1em}}.db-detail-article{max-width:800px;margin:0 auto}.db-detail-header{padding:40px 35px 30px;border-bottom:1px solid var(--color-border);background:linear-gradient(135deg,#f8fbff,#fff)}.db-detail-header-inner{max-width:800px;margin:0 auto}.db-detail-meta{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:15px}.db-detail-title{font-family:var(--font-heading);font-size:1.5em;font-weight:700;color:var(--color-navy);line-height:1.5;margin:0;border:none;padding:0}.db-detail-body{padding:30px 35px 40px}.db-detail-summary h2,.db-detail-measures h2,.db-detail-related h2{font-family:var(--font-heading);font-size:1.2em;font-weight:700;color:var(--color-navy);margin:0 0 20px;padding:0 0 10px;border-bottom:2px solid var(--color-border);border-left:none}.db-detail-summary p{font-size:.95em;line-height:1.9;color:var(--color-text);margin-bottom:35px}.db-detail-measures{margin-bottom:35px}.db-detail-related{margin-top:30px;padding-top:25px;border-top:1px solid var(--color-border)}.db-detail-related-links{display:flex;flex-wrap:wrap;gap:10px}.db-detail-related-links .db-taxonomy-item{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;background:var(--color-bg-light);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-brand);text-decoration:none;font-size:.88em;transition:var(--transition)}.db-detail-related-links .db-taxonomy-item:hover{background:#eef4fa;border-color:var(--color-blue)}.db-category-header{background:linear-gradient(135deg,var(--color-navy) 0%,var(--color-brand) 100%);color:#fff;padding:40px;text-align:center}.db-category-header h1{font-family:var(--font-heading);font-size:1.8em;font-weight:700;margin:10px 0;color:#fff;border:none;padding:0;line-height:1.4}.db-category-label{font-size:.85em;opacity:.7;letter-spacing:.1em}.db-category-count{font-size:1.1em;opacity:.85}.db-category-count strong{font-family:var(--font-heading);font-size:1.4em}@media (max-width:768px){.db-detail-header{padding:25px 20px 20px}.db-detail-title{font-size:1.2em}.db-detail-body{padding:20px 20px 30px}.db-category-header{padding:25px 15px}.db-category-header h1{font-size:1.3em}}.simple-header{background:#fff;padding:12px 20px;border-bottom:1px solid #e8e8e8}.header-container{max-width:1164px;margin:0 auto;display:flex;align-items:center;justify-content:space-between}.header-logo a{display:inline-block;line-height:0}.header-logo img{height:36px;width:auto}.header-nav{display:flex;gap:20px}.header-nav a{color:var(--color-text);text-decoration:none;font-size:.85em;font-weight:500;transition:color .2s}.header-nav a:hover{color:var(--color-brand)}.simple-footer{background:var(--color-bg-alt);padding:30px 20px;text-align:center;border-top:1px solid var(--color-border)}.footer-logo{max-width:180px;height:auto}.db-taxonomy-nav{max-width:1164px;margin:0 auto;padding:30px}.db-taxonomy-nav h2{font-family:var(--font-heading);font-size:1.3em;color:var(--color-navy);margin:0 0 15px;border:none;padding:0}.db-taxonomy-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-bottom:30px}.db-taxonomy-item{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);text-decoration:none;color:var(--color-text);font-size:.9em;transition:var(--transition)}.db-taxonomy-item:hover{border-color:var(--color-blue);background:#f0f7ff;transform:translateY(-2px);box-shadow:0 4px 10px rgba(0,0,0,.05)}.db-taxonomy-item .count{font-family:var(--font-heading);font-size:.85em;color:var(--color-brand);font-weight:700;margin-left:8px}.db-category-group-label{font-size:.8em;font-weight:700;color:var(--color-text-muted);letter-spacing:.08em;margin-bottom:8px;display:block;padding-left:2px}@media (max-width:768px){.db-taxonomy-nav{padding:20px 15px}.db-taxonomy-grid{grid-template-columns:1fr 1fr}.header-logo img{height:28px}.footer-logo{max-width:140px}}.db-breadcrumb{max-width:1164px;margin:0 auto;padding:15px 30px 0;font-size:.85em;color:var(--color-text-muted)}.db-breadcrumb a{color:var(--color-brand);text-decoration:none;transition:color .2s}.db-breadcrumb a:hover{color:var(--color-blue);text-decoration:underline}.db-breadcrumb span{margin:0 6px;color:#ccc}@media (max-width:768px){.db-breadcrumb{padding:10px 15px 0}}.db-case-detail{max-width:860px;margin:0 auto;padding:30px}.db-case-detail-header{margin-bottom:30px}.db-case-detail-no{font-family:var(--font-heading);font-size:.85em;font-weight:700;color:var(--color-blue);display:block;margin-bottom:8px;letter-spacing:.1em}.db-case-detail-title{font-family:var(--font-heading);font-size:1.6em;font-weight:700;color:var(--color-navy);line-height:1.5;margin:0 0 15px}.db-case-detail-meta{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}.db-case-detail-meta .db-tag{text-decoration:none;transition:var(--transition)}.db-case-detail-meta .db-tag:hover{transform:translateY(-1px);box-shadow:0 2px 6px rgba(0,0,0,.1)}.db-case-detail-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin-bottom:30px}.db-case-detail-info-item{background:var(--color-bg-alt);border-radius:var(--radius-sm);padding:15px 20px}.db-case-detail-info-label{font-size:.75em;font-weight:700;color:var(--color-text-muted);display:block;margin-bottom:4px;letter-spacing:.05em}.db-case-detail-info-value{font-size:.95em;color:var(--color-text);font-weight:500}.db-company-profile{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:12px 18px;background:var(--color-bg-alt);border-radius:var(--radius-sm);border-left:3px solid var(--color-blue);margin-bottom:30px;font-size:.88em;color:var(--color-text-light)}.db-company-profile>i{color:var(--color-brand);font-size:.9em;margin-right:2px}.db-company-profile .profile-label{font-weight:700;color:var(--color-text-muted);margin-right:4px}.db-company-profile .profile-item{font-weight:500;color:var(--color-text)}.db-company-profile .profile-sep{color:var(--color-border-dark);font-weight:300}.db-company-profile .profile-budget{color:var(--color-orange-dark);font-weight:600}.db-measures-section h2{font-family:var(--font-heading);font-size:1.3em;color:var(--color-navy);border-bottom:2px solid var(--color-brand);padding-bottom:10px;margin:0 0 20px}.db-related{max-width:860px;margin:0 auto;padding:0 30px 40px}.db-related h3{font-family:var(--font-heading);font-size:1.15em;color:var(--color-navy);margin:0 0 15px;border:none;padding:0}.db-related-links{display:flex;flex-wrap:wrap;gap:10px}.db-related-link{display:inline-block;padding:8px 18px;border-radius:25px;font-size:.85em;font-weight:500;text-decoration:none;transition:var(--transition)}.db-related-link.industry{background:#eef4fa;color:var(--color-brand);border:1px solid #d0e0f0}.db-related-link.same-industry{background:#f3eef9;color:#7d3c98;border:1px solid #d5c4e0}.db-related-link.category{background:#fdf2e9;color:var(--color-orange-dark);border:1px solid #f5d5b5}.db-related-link.purpose{background:#eff9f3;color:#1e8449;border:1px solid #c3e6cb}.db-related-link:hover{transform:translateY(-2px);box-shadow:0 4px 10px rgba(0,0,0,.1)}.db-seo-text{max-width:860px;margin:0 auto;padding:0 30px 30px;font-size:.92em;line-height:1.9;color:var(--color-text-light)}.db-seo-text h2{font-family:var(--font-heading);font-size:1.2em;color:var(--color-navy);margin:0 0 10px;border:none;padding:0}@media (max-width:768px){.db-case-detail{padding:20px 15px}.db-case-detail-title{font-size:1.2em}.db-case-detail-info{grid-template-columns:1fr}.db-related{padding:0 15px 30px}}.back-to-top{position:fixed;right:30px;bottom:30px;width:48px;height:48px;background:var(--color-brand);color:#fff;border:none;border-radius:50%;font-size:1.2em;cursor:pointer;box-shadow:0 4px 12px rgba(0,0,0,.2);opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s,transform .3s;z-index:999;display:flex;align-items:center;justify-content:center}.back-to-top.visible{opacity:1;visibility:visible}.back-to-top:hover{background:var(--color-navy);transform:translateY(-3px)}