@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500&family=Noto+Sans+JP:wght@300;400;500&family=Zen+Kaku+Gothic+Antique:wght@400;500;700&display=swap";:root{--color-white:#fff;--color-black:#1a1a1a;--color-gray-light:#f5f5f5;--color-gray:#888;--color-navy:#0f172a;--font-heading:"Zen Kaku Gothic Antique", "Yu Gothic", "Hiragino Kaku Gothic ProN", sans-serif;--font-body:"Inter", "Noto Sans JP", sans-serif;--space-xs:.5rem;--space-sm:1rem;--space-md:2rem;--space-lg:4rem;--space-xl:8rem;--space-xxl:12rem}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);color:var(--color-black);background-color:var(--color-white);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.8}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);letter-spacing:.05em;font-weight:500;line-height:1.4}a{color:inherit;text-decoration:none;transition:opacity .3s}a:hover{opacity:.7}img{max-width:100%;height:auto;display:block}.container{max-width:1200px;padding:0 var(--space-md);margin:0 auto}.section{padding:var(--space-xxl) 0}@media (width<=768px){.section{padding:var(--space-xl) 0}}.text-center{text-align:center}.text-gray{color:var(--color-gray)}.text-navy{color:var(--color-navy)}.deco-img{opacity:.8;width:auto;height:60px;margin-bottom:var(--space-sm);transition:transform .4s cubic-bezier(.175,.885,.32,1.275);display:inline-block}.section:hover .deco-img{transform:translateY(-5px)rotate(3deg)scale(1.05)}@media (width<=768px){.deco-img{height:45px}}.section-title{margin-bottom:var(--space-lg);font-size:2.5rem;font-weight:400}@media (width<=768px){.section-title{margin-bottom:var(--space-md);font-size:2rem}}.header{width:100%;padding:var(--space-md) 0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:100;background-color:#ffffffe6;transition:transform .3s,padding .3s;position:fixed;top:0;left:0}.header-inner{justify-content:space-between;align-items:center;display:flex}.logo{align-items:center;display:flex}.header-logo-img{width:auto;height:48px;transition:height .3s;display:block}@media (width<=1024px){.header-logo-img{height:38px}}@media (width<=768px){.header-logo-img{height:32px}}@media (width<=480px){.header-logo-img{height:26px}}.nav{gap:var(--space-md);display:flex}.nav a{letter-spacing:.05em;font-size:.875rem;font-weight:500}.hamburger{cursor:pointer;z-index:101;background:0 0;border:none;padding:.5rem;display:none}.hamburger span{background-color:var(--color-black);width:24px;height:2px;margin:5px 0;transition:all .3s;display:block}.btn{background-color:var(--color-navy);color:var(--color-white);border:1px solid var(--color-navy);font-family:var(--font-heading);letter-spacing:.1em;cursor:pointer;padding:1rem 3rem;font-size:.9rem;transition:all .3s;display:inline-block}.btn:hover{background-color:var(--color-white);color:var(--color-navy)}.btn-outline{color:var(--color-black);border:1px solid var(--color-black);background-color:#0000}.btn-outline:hover{background-color:var(--color-black);color:var(--color-white)}.form-group{margin-bottom:var(--space-md)}.form-label{margin-bottom:var(--space-xs);font-size:.875rem;font-weight:500;display:block}.form-control{border:1px solid var(--color-gray-light);background-color:var(--color-gray-light);width:100%;font-family:var(--font-body);padding:1rem;font-size:1rem;transition:border-color .3s,background-color .3s}.form-control:focus{border-color:var(--color-navy);background-color:var(--color-white);outline:none}textarea.form-control{resize:vertical;min-height:200px}.fade-in{opacity:0;transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);transform:translateY(20px)}.fade-in.visible{opacity:1;transform:translateY(0)}.footer{padding:var(--space-lg) 0;background-color:var(--color-gray-light);text-align:center}.footer-nav{margin-bottom:var(--space-md);justify-content:center;gap:var(--space-md);display:flex}.footer-nav a{font-size:.875rem}.copyright{color:var(--color-gray);letter-spacing:.05em;font-size:.75rem}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.mb-lg{margin-bottom:var(--space-lg)}.bg-gray{background-color:var(--color-gray-light)}.mv-section{padding-top:var(--space-xxl);align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.mv-inner{text-align:left;z-index:10;justify-content:center;align-items:center;gap:var(--space-md);flex-direction:row;width:100%;display:flex;position:relative}.mv-content{flex:0 auto}.mv-graphics{flex:0 0 300px;justify-content:center;align-items:center;width:100%;min-width:260px;display:flex}.crossfade-container{width:100%;position:relative}.crossfade-img{opacity:0;width:100%;height:auto;transition:opacity 2.5s ease-in-out;position:absolute;top:0;left:0}.crossfade-img.static-placeholder{position:relative}.crossfade-img.active{opacity:1}.mv-title{margin-bottom:var(--space-md);white-space:nowrap;font-size:3.5rem;font-weight:700;line-height:1.6}.mv-subtitle{margin-bottom:var(--space-lg);color:var(--color-navy);font-size:1.25rem;font-weight:500}.mv-text{color:var(--color-gray);font-size:1rem}@media (width<=768px){.hamburger{display:block}.nav{z-index:100;background-color:#fffffffa;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100vh;transition:right .3s;position:fixed;top:0;right:-100%}.nav.is-open{right:0}.hamburger.is-active span:first-child{transform:translateY(7px)rotate(45deg)}.hamburger.is-active span:nth-child(2){opacity:0}.hamburger.is-active span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.nav a{padding:1rem;font-size:1.25rem}.mv-inner{text-align:center;flex-direction:column}.mv-title{white-space:normal;font-size:2.2rem}.mv-subtitle{font-size:1rem}.mv-text{font-size:.875rem}.mv-graphics{flex:0 0 180px;min-width:180px;max-width:180px;margin:0 auto}}.concept-section{padding-top:var(--space-xl)}.concept-text{max-width:800px;margin:0 auto}.concept-text p{margin-bottom:var(--space-md)}.service-grid{gap:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));display:grid}.service-item{background-color:var(--color-white);padding:var(--space-lg);transition:transform .3s;box-shadow:0 4px 20px #0000000d}.service-item:hover{transform:translateY(-10px)}.service-header{margin-bottom:var(--space-md);border-bottom:1px solid var(--color-gray-light);padding-bottom:var(--space-sm)}.service-category{font-family:var(--font-heading);margin-bottom:var(--space-xs);font-size:2rem;font-weight:700;display:block}.service-title{margin-bottom:var(--space-xs);font-size:1.5rem}.service-sub{color:var(--color-gray);font-size:.875rem}.service-content h4{margin-bottom:var(--space-xs);font-size:1.1rem}.service-content p{color:var(--color-gray);font-size:.9rem}.log-lead{font-family:var(--font-heading);margin-bottom:var(--space-sm);font-size:1.5rem}.log-grid{gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));display:grid}.log-card{background-color:var(--color-gray-light);padding:var(--space-md);transition:background-color .3s;display:block}.log-card:hover{background-color:var(--color-navy);color:var(--color-white)}.log-card:hover .log-meta,.log-card:hover .log-desc{color:#fffc}.log-cat{margin-bottom:var(--space-sm);background-color:var(--color-white);color:var(--color-black);padding:.2rem .8rem;font-size:.75rem;font-weight:700;display:inline-block}.log-meta{color:var(--color-gray);margin-bottom:var(--space-xs);font-size:.8rem}.log-title{font-size:1.1rem;line-height:1.5}.company-table-wrap{max-width:800px;margin:0 auto}.company-table{border-collapse:collapse;width:100%}.company-table th,.company-table td{padding:var(--space-md);border-bottom:1px solid var(--color-gray);text-align:left;vertical-align:top}.company-table th{white-space:nowrap;width:20%;font-weight:500}@media (width<=768px){.company-table th,.company-table td{width:100%;display:block}.company-table th{border-bottom:none;padding-bottom:0}}.contact-form-wrap{max-width:600px;margin:0 auto}.contact-result{margin-top:var(--space-md);padding:var(--space-md);text-align:center;border-radius:8px;line-height:1.8}.contact-result.is-success{color:#2e7d32;background-color:#e8f5e9;border:1px solid #a5d6a7}.contact-result.is-error{color:#c62828;background-color:#fce4ec;border:1px solid #ef9a9a}.btn.is-loading{pointer-events:none;opacity:.6}.form-group-checkbox{margin-bottom:var(--space-sm)}.checkbox-label{cursor:pointer;align-items:center;gap:.6rem;font-size:.9rem;display:flex}.checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-navy);cursor:pointer;flex-shrink:0}.checkbox-text a{text-underline-offset:3px;font-weight:500;text-decoration:underline}.checkbox-text a:hover{opacity:.7}.privacy-body{max-width:760px;margin:0 auto;line-height:2}.privacy-body h2{margin:var(--space-lg) 0 var(--space-sm);padding-bottom:var(--space-xs);border-bottom:1px solid var(--color-gray-light);font-size:1.4rem}.privacy-body h3{margin:var(--space-md) 0 var(--space-xs);font-size:1.1rem}.privacy-body p{margin-bottom:var(--space-sm);color:#444;font-size:.95rem}.privacy-body ul,.privacy-body ol{margin:var(--space-xs) 0 var(--space-md) 1.5rem;color:#444;font-size:.95rem}.privacy-body li{margin-bottom:.4rem}.privacy-date{text-align:right;color:var(--color-gray);margin-top:var(--space-lg);font-size:.875rem}.page-header{padding:var(--space-xxl) 0 var(--space-lg);background-color:var(--color-gray-light);text-align:center}.page-title{font-size:3rem}
