html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}*{box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}body{font-family:"Noto Sans JP",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#2c3e50;background-color:#fff;line-height:1.8;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0;width:100%;padding-top:120px}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.3;margin-bottom:1rem}h1{font-size:3rem}@media (max-width: 768px){h1{font-size:2rem}}h2{font-size:2.5rem}@media (max-width: 768px){h2{font-size:2rem}}h3{font-size:1.5rem}p{margin-bottom:1rem}strong,b{font-weight:700}a{color:#2c5aa0;text-decoration:none;transition:color .3s}a:hover{color:#214478}img{max-width:100%;height:auto;display:block}.container{max-width:1200px;margin-left:auto;margin-right:auto;padding-left:20px;padding-right:20px}@media (max-width: 768px){.container{padding-left:16px;padding-right:16px}}main{min-height:90vh}section{padding:80px 0}@media (max-width: 768px){section{padding:60px 0}}.section-title{font-size:2.5rem;font-weight:700;text-align:center;margin-bottom:16px;color:#2c3e50}@media (max-width: 768px){.section-title{font-size:2rem}}.section-intro{text-align:center;font-size:1.125rem;color:#7f8c8d;margin-bottom:48px;max-width:700px;margin-left:auto;margin-right:auto}.site-header{background-color:#fff;border-bottom:1px solid #e1e8ed;position:fixed;top:0;left:0;right:0;width:100%;z-index:1000;box-shadow:0 2px 8px rgba(0,0,0,0.05);min-height:90px}.site-header.scrolled{box-shadow:0 4px 12px rgba(0,0,0,0.1)}.navbar{display:flex;justify-content:space-between;align-items:center;padding:20px 0;min-height:70px}@media (max-width: 768px){.navbar{flex-wrap:wrap;padding:16px 0}}.navbar-brand{padding:4px 0}.navbar-brand .logo{display:flex;flex-direction:column;color:#2c3e50}.navbar-brand .logo:hover{color:#2c5aa0}.navbar-brand .logo-text{font-size:1.5rem;font-weight:700;line-height:1.4;padding:2px 0}.navbar-brand .logo-subtitle{font-size:0.75rem;color:#7f8c8d;margin-top:4px;line-height:1.3}.navbar-toggle{display:none;flex-direction:column;background:none;border:none;cursor:pointer;padding:8px}@media (max-width: 768px){.navbar-toggle{display:flex}}.navbar-toggle span{width:24px;height:2px;background-color:#2c3e50;margin:3px 0;transition:.3s}.navbar-menu{display:flex;align-items:center;gap:32px}@media (max-width: 768px){.navbar-menu{width:100%;flex-direction:column;margin-top:16px;display:none}.navbar-menu.active{display:flex}}.nav-list{display:flex;list-style:none;gap:24px;margin:0;padding:0}@media (max-width: 768px){.nav-list{flex-direction:column;width:100%;text-align:center;gap:12px}}.nav-list li{margin:0;padding:0}.nav-list a{color:#2c3e50;font-weight:500;padding:8px 4px;border-bottom:2px solid transparent;transition:border-color .3s}.nav-list a:hover,.nav-list a.active{color:#2c5aa0;border-bottom-color:#2c5aa0}.btn{display:inline-block;padding:12px 32px;font-size:1rem;font-weight:500;text-align:center;border-radius:4px;border:2px solid transparent;cursor:pointer;transition:all .3s}.btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,0.15)}.btn-primary{background-color:#2c5aa0;color:#fff}.btn-primary:hover{background-color:#234880;color:#fff}.btn-secondary{background-color:#fff;color:#2c5aa0;border-color:#2c5aa0}.btn-secondary:hover{background-color:#2c5aa0;color:#fff}.btn-outline{background-color:transparent;color:#2c5aa0;border-color:#2c5aa0}.btn-outline:hover{background-color:#2c5aa0;color:#fff}.btn-text{padding:8px 0;color:#2c5aa0;font-weight:500}.btn-text:hover{color:#214478;transform:translateX(4px)}.btn-lg{padding:16px 48px;font-size:1.125rem}.case-study-detail .case-hero{background:linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);padding:60px 0}@media (max-width: 768px){.case-study-detail .case-hero{padding:40px 0}}.case-study-detail .case-breadcrumb{font-size:0.875rem;color:#7f8c8d;margin-bottom:24px}.case-study-detail .case-breadcrumb a{color:#7f8c8d}.case-study-detail .case-breadcrumb a:hover{color:#2c5aa0}.case-study-detail .case-breadcrumb span{color:#2c3e50}.case-study-detail .case-header{margin-bottom:32px}.case-study-detail .case-meta{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap}.case-study-detail .case-department,.case-study-detail .case-category{background-color:#2c5aa0;color:#fff;padding:6px 14px;border-radius:16px;font-size:0.875rem;font-weight:500}.case-study-detail .case-category{background-color:#e879b9}.case-study-detail .case-title{font-size:2.5rem;color:#2c3e50;margin-bottom:24px;line-height:1.3}@media (max-width: 768px){.case-study-detail .case-title{font-size:1.75rem}}.case-study-detail .case-info-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));gap:16px;margin-bottom:32px}.case-study-detail .info-item{display:flex;flex-direction:column;gap:4px}.case-study-detail .info-label{font-size:0.875rem;color:#7f8c8d;font-weight:500}.case-study-detail .info-value{font-size:1.05rem;color:#2c3e50;font-weight:600}.case-study-detail .case-challenge-summary{background-color:#fff3e0;border-left:4px solid #ff9800;padding:24px;border-radius:4px;margin-bottom:32px}.case-study-detail .case-challenge-summary h3{color:#e65100;font-size:1.125rem;margin-bottom:12px}.case-study-detail .case-challenge-summary p{color:#2c3e50;line-height:1.7;margin:0}.case-study-detail .case-results-highlight h3{font-size:1.25rem;color:#2c3e50;margin-bottom:16px}.case-study-detail .results-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));gap:16px}.case-study-detail .result-card{background-color:#fff;padding:24px;border-radius:8px;text-align:center;border-top:3px solid #2c5aa0;box-shadow:0 2px 8px rgba(0,0,0,0.08)}.case-study-detail .result-metric{font-size:0.875rem;color:#7f8c8d;margin-bottom:8px;font-weight:500}.case-study-detail .result-value{font-size:1.5rem;font-weight:700;color:#e879b9}.case-study-detail .case-content{background-color:#fff;padding:60px 0}.case-study-detail .case-content .content-wrapper{max-width:900px;margin:0 auto}.case-study-detail .case-content .content-wrapper h2{font-size:2rem;color:#2c3e50;margin-top:48px;margin-bottom:24px;padding-bottom:12px;border-bottom:2px solid #e1e8ed}.case-study-detail .case-content .content-wrapper h2:first-child{margin-top:0}@media (max-width: 768px){.case-study-detail .case-content .content-wrapper h2{font-size:1.5rem}}.case-study-detail .case-content .content-wrapper h3{font-size:1.5rem;color:#2c3e50;margin-top:32px;margin-bottom:16px}@media (max-width: 768px){.case-study-detail .case-content .content-wrapper h3{font-size:1.25rem}}.case-study-detail .case-content .content-wrapper h4{font-size:1.25rem;color:#2c3e50;margin-top:24px;margin-bottom:12px}.case-study-detail .case-content .content-wrapper p{line-height:1.8;margin-bottom:16px}.case-study-detail .case-content .content-wrapper ul,.case-study-detail .case-content .content-wrapper ol{margin-bottom:24px;padding-left:24px}.case-study-detail .case-content .content-wrapper ul li,.case-study-detail .case-content .content-wrapper ol li{margin-bottom:8px;line-height:1.7}.case-study-detail .case-content .content-wrapper table{width:100%;border-collapse:collapse;margin:24px 0}.case-study-detail .case-content .content-wrapper table th{background-color:#2c5aa0;color:#fff;padding:12px;text-align:left;font-weight:500}.case-study-detail .case-content .content-wrapper table td{padding:12px;border-bottom:1px solid #e1e8ed}.case-study-detail .case-content .content-wrapper table tr:hover{background-color:#f8f9fa}.case-study-detail .case-content .content-wrapper blockquote{background-color:#f8f9fa;border-left:4px solid #2c5aa0;padding:16px 24px;margin:24px 0;font-style:italic}.case-study-detail .case-content .content-wrapper blockquote p:last-child{margin-bottom:0}.case-study-detail .case-content .content-wrapper code{background-color:#f8f9fa;padding:2px 6px;border-radius:3px;font-family:'Courier New', monospace;font-size:0.9em}.case-study-detail .case-content .content-wrapper pre{background-color:#f8f9fa;padding:16px;border-radius:4px;overflow-x:auto;margin:24px 0}.case-study-detail .case-content .content-wrapper pre code{background-color:transparent;padding:0}.case-study-detail .related-cases{background-color:#f8f9fa}.case-study-detail .cases-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(320px, 1fr));gap:32px;margin-bottom:48px}.case-study-detail .case-card{background-color:#fff;padding:32px;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,0.08);transition:transform .3s,box-shadow .3s}.case-study-detail .case-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(0,0,0,0.12)}.case-study-detail .case-card .case-header{margin-bottom:16px}.case-study-detail .case-card .case-header h3{font-size:1.25rem;margin-top:8px;margin-bottom:0}.case-study-detail .case-card .case-info{display:flex;gap:16px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #e1e8ed}.case-study-detail .case-card .case-results{margin-bottom:24px}.case-study-detail .case-card .case-results h4{font-size:1rem;margin-bottom:12px}.case-study-detail .case-card .results-list{display:flex;flex-direction:column;gap:8px}.case-study-detail .case-card .result-item{display:flex;justify-content:space-between;font-size:0.9rem}.case-study-detail .case-card .result-item strong{color:#2c3e50}.case-study-detail .case-card .result-item span{color:#e879b9;font-weight:600}.cta-section{background:linear-gradient(135deg, #2c5aa0 0%, #214478 100%);color:#fff;padding:80px 0}@media (max-width: 768px){.cta-section{padding:60px 0}}.cta-section .cta-box{text-align:center;max-width:800px;margin:0 auto}.cta-section .cta-box h2{font-size:2.25rem;margin-bottom:16px;color:#fff}@media (max-width: 768px){.cta-section .cta-box h2{font-size:1.75rem}}.cta-section .cta-box>p{font-size:1.125rem;margin-bottom:32px;opacity:0.95}.cta-section .cta-box .btn{margin-bottom:16px}.cta-section .cta-note{font-size:0.875rem;opacity:0.8;margin:0}.site-footer{background-color:#2c3e50;color:#f8f9fa;padding:60px 0 24px}.footer-content{display:grid;grid-template-columns:repeat(auto-fit, minmax(250px, 1fr));gap:40px;margin-bottom:40px}@media (max-width: 768px){.footer-content{grid-template-columns:1fr}}.footer-section h3,.footer-section h4{color:#fff;margin-bottom:16px;font-size:1.125rem;font-weight:600}.footer-section p{color:#95a5a6;line-height:1.7;font-size:0.95rem}.footer-tagline{font-weight:500}.footer-links{list-style:none;padding:0;margin:0}.footer-links li{margin-bottom:12px}.footer-links a{color:#95a5a6}.footer-links a:hover{color:#fff}.contact-info{list-style:none;padding:0;margin:0}.contact-info li{display:flex;align-items:center;gap:12px;margin-bottom:12px}.contact-info .icon{width:20px;flex-shrink:0}.contact-info a{color:#95a5a6}.contact-info a:hover{color:#fff}.social-links{display:flex;gap:16px;margin-top:16px}.social-links a{color:#95a5a6}.social-links a:hover{color:#fff}.social-links a svg{width:24px;height:24px}.footer-bottom{text-align:center;padding-top:24px;border-top:1px solid rgba(255,255,255,0.1)}.footer-bottom p{color:#95a5a6;font-size:0.875rem;margin-bottom:8px}.footer-bottom p:last-child{margin-bottom:0}.footer-bottom a{color:#95a5a6}.footer-bottom a:hover{color:#fff}.text-center{text-align:center}.lead{font-size:1.25rem;font-weight:400}.highlight{color:#2c5aa0;font-weight:600}.cta-center{text-align:center;margin-top:32px}
