.header{z-index:1000;width:100%;transition:background-color .4s,border-color .4s,box-shadow .4s;position:fixed;top:0;left:0}.header-transparent{background-color:#0000;border-bottom:1px solid #0000}.header-transparent .logo-icon,.header-transparent .logo-text,.header-transparent .nav-link{color:#fff}.header-transparent .menu-toggle span,.header-transparent .nav-link:after{background-color:#fff}.header-transparent .nav-cta-btn{color:var(--color-primary);background-color:#fff}.header-transparent .nav-cta-btn:hover{background-color:#ffffffe6}.header-scrolled,.header-menu-open{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background-color:#fffffffa;border-bottom:1px solid #0000000f;box-shadow:0 1px 8px #0000000a}.header-scrolled .logo-icon{color:var(--color-primary)}.header-scrolled .logo-text,.header-scrolled .nav-link{color:var(--color-text)}.header-scrolled .nav-link:hover{color:var(--color-primary)}.header-scrolled .menu-toggle span{background-color:var(--color-text)}.header-inner{max-width:var(--container-width);padding:0 var(--spacing-md);justify-content:space-between;align-items:center;height:72px;margin:0 auto;display:flex}.logo{align-items:center;gap:10px;text-decoration:none;display:flex}.logo-icon{width:26px;height:26px;transition:color .4s}.logo-text{font-family:var(--font-en);letter-spacing:.12em;font-size:1.25rem;font-weight:800;transition:color .4s}.logo:hover{opacity:.8}.nav-list{align-items:center;gap:32px;display:flex}.nav-link{font-family:var(--font-en);letter-spacing:.06em;align-items:center;gap:4px;padding:8px 0;font-size:.8125rem;font-weight:600;transition:color .3s;display:flex;position:relative}.nav-link:after{content:"";background-color:var(--color-primary);width:0;height:2px;transition:width var(--transition);position:absolute;bottom:0;left:0}.nav-link:hover:after,.nav-link.active:after{width:100%}.nav-link:hover{opacity:1}.nav-link.active{color:var(--color-primary)}.nav-cta-btn{font-family:var(--font-ja);color:#fff;background-color:var(--color-primary);white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;padding:10px 24px;font-size:.8125rem;font-weight:600;text-decoration:none;transition:all .3s;display:inline-flex}.nav-cta-btn:hover{background-color:var(--color-primary-dark);opacity:1;transform:translateY(-1px);box-shadow:0 4px 12px #1e40af4d}.menu-toggle{cursor:pointer;z-index:1001;flex-direction:column;justify-content:center;align-items:center;width:40px;height:40px;display:none}.menu-toggle span{width:22px;height:2px;transition:all var(--transition);margin:3px 0;display:block}.menu-toggle.active span:first-child{transform:rotate(45deg)translate(4px,4px)}.menu-toggle.active span:nth-child(2){opacity:0}.menu-toggle.active span:nth-child(3){transform:rotate(-45deg)translate(4px,-4px)}@media (max-width:900px){.nav-list{gap:24px}.nav-link{font-size:.75rem}.nav-cta-btn{padding:8px 18px;font-size:.75rem}}@media (max-width:768px){.header-inner{height:60px;padding:0 var(--spacing-sm)}.logo-text{font-size:1.125rem}.menu-toggle{display:flex}.nav{background-color:var(--color-bg);width:100%;height:100vh;transition:right var(--transition);justify-content:center;align-items:center;display:flex;position:fixed;top:0;right:-100%}.nav.open{right:0}.nav-list{align-items:center;gap:var(--spacing-md);flex-direction:column}.nav-link{font-size:1rem;color:var(--color-text)!important}.nav-link:hover{color:var(--color-primary)!important}.nav-cta-btn{margin-top:8px;padding:14px 40px;font-size:.9375rem;background-color:var(--color-primary)!important;color:#fff!important}.menu-toggle span{background-color:var(--color-text)!important}}
.footer{background-color:var(--color-bg-dark);color:#fff;padding:64px 0 32px}.footer-inner{max-width:var(--container-width);padding:0 var(--spacing-md);margin:0 auto}.footer-grid{border-bottom:1px solid #ffffff1a;grid-template-columns:1.2fr 1.5fr 1fr;gap:48px;padding-bottom:48px;display:grid}.footer-brand-col{flex-direction:column;gap:12px;display:flex}.footer-logo{color:#fff;align-items:center;gap:10px;text-decoration:none;display:flex}.footer-logo:hover{opacity:.8}.footer-logo-icon{width:24px;height:24px;color:var(--color-primary-light)}.footer-logo-text{font-family:var(--font-en);letter-spacing:.12em;font-size:1.25rem;font-weight:800}.footer-company-name{color:#ffffffb3;font-size:.8125rem}.footer-address{color:#ffffff80;font-size:.75rem;font-style:normal;line-height:1.6}.footer-nav-col{gap:48px;display:flex}.footer-nav-heading{font-family:var(--font-en);letter-spacing:.1em;text-transform:uppercase;color:#ffffff80;margin-bottom:16px;font-size:.75rem;font-weight:700}.footer-nav-list{flex-direction:column;gap:10px;display:flex}.footer-nav-list a{color:#ffffffbf;font-size:.8125rem;transition:color .3s}.footer-nav-list a:hover{color:#fff;opacity:1}.footer-cta-col{flex-direction:column;align-items:flex-start;gap:20px;display:flex}.footer-cta-text{color:#ffffffb3;font-size:.875rem;line-height:1.8}.footer-cta-btn{color:var(--color-bg-dark);white-space:nowrap;background-color:#fff;border-radius:8px;justify-content:center;align-items:center;padding:12px 32px;font-size:.875rem;font-weight:600;text-decoration:none;transition:all .3s;display:inline-flex}.footer-cta-btn:hover{background-color:var(--color-primary-light);color:#fff;opacity:1;transform:translateY(-1px)}.footer-bottom{text-align:center;padding-top:24px}.copyright{font-family:var(--font-en);color:#ffffff59;letter-spacing:.03em;font-size:.6875rem}@media (max-width:840px){.footer-grid{grid-template-columns:1fr 1fr;gap:40px}.footer-cta-col{border-top:1px solid #ffffff1a;flex-direction:row;grid-column:1/-1;justify-content:space-between;align-items:center;padding-top:24px}}@media (max-width:540px){.footer{padding:48px 0 24px}.footer-inner{padding:0 var(--spacing-sm)}.footer-grid{grid-template-columns:1fr;gap:32px}.footer-nav-col{gap:32px}.footer-cta-col{text-align:center;flex-direction:column;align-items:stretch}.footer-cta-btn{width:100%}}
*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--color-primary:#1e40af;--color-primary-dark:#1e3a8a;--color-primary-light:#3b82f6;--color-primary-subtle:#eff6ff;--color-accent:#0d9488;--color-accent-light:#ccfbf1;--color-text:#111827;--color-text-light:#4b5563;--color-text-muted:#9ca3af;--color-bg:#fff;--color-bg-gray:#f9fafb;--color-bg-warm:#fafaf9;--color-bg-dark:#0f172a;--color-border:#e5e7eb;--font-en:"Inter",sans-serif;--font-ja:"Noto Sans JP","Hiragino Kaku Gothic ProN","Hiragino Sans",sans-serif;--spacing-xs:8px;--spacing-sm:16px;--spacing-md:24px;--spacing-lg:48px;--spacing-xl:80px;--container-width:1140px;--transition:.3s ease;--shadow-sm:0 1px 3px #00000014;--shadow-md:0 4px 20px #00000014;--shadow-lg:0 8px 30px #0000001f}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-ja);color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.8}a{color:inherit;transition:color var(--transition),opacity var(--transition);text-decoration:none}a:hover{opacity:.8}img{max-width:100%;height:auto;display:block}ul,ol{list-style:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}input,textarea,select{font-family:inherit;font-size:inherit}.container{width:100%;max-width:var(--container-width);padding:0 var(--spacing-md);margin:0 auto}.section{padding:var(--spacing-xl)0}.section-title{font-family:var(--font-en);text-align:center;margin-bottom:var(--spacing-lg);letter-spacing:.1em;color:var(--color-text);font-size:2.5rem;font-weight:700}.section-title-ja{font-family:var(--font-ja);color:var(--color-text-light);margin-top:var(--spacing-xs);letter-spacing:.05em;font-size:.875rem;font-weight:400;display:block}.btn{transition:all var(--transition);border-radius:8px;justify-content:center;align-items:center;padding:12px 32px;font-size:.875rem;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary{background-color:var(--color-primary);color:#fff;border:none}.btn-primary:hover{background-color:var(--color-primary-dark);color:#fff;opacity:1;transform:translateY(-1px);box-shadow:0 4px 12px #1e40af4d}.btn-outline{border:2px solid var(--color-primary);color:var(--color-primary);background:0 0}.btn-outline:hover{background-color:var(--color-primary);color:#fff;opacity:1}.btn-dark{background:var(--color-bg-dark);color:#fff;transition:all var(--transition);border-radius:8px;padding:12px 28px;font-size:.8125rem;text-decoration:none;display:inline-block}.btn-dark:hover{opacity:1;background:#1e293b;transform:translateY(-1px)}.btn-outline-white{color:#fff;transition:all var(--transition);background:0 0;border:2px solid #fffc;border-radius:8px;padding:12px 32px;font-size:.8125rem;text-decoration:none;display:inline-block}.btn-outline-white:hover{color:var(--color-bg-dark);opacity:1;background:#fff}.btn-large{padding:16px 48px;font-size:1rem}.page-header-hero{align-items:flex-end;height:200px;margin-top:-72px;padding-top:72px;padding-bottom:40px;display:flex;position:relative;overflow:hidden}.page-header-bg{background:linear-gradient(135deg,#0f172a 0%,#1e3a8a 100%);position:absolute;inset:0}.page-header-content{z-index:1;padding:0 var(--spacing-xl);color:#fff;position:relative}.page-title-hero{font-family:var(--font-en);letter-spacing:.08em;margin-bottom:var(--spacing-xs);color:#fff;font-size:2.5rem;font-weight:800}.page-title-ja-hero{color:#ffffffb3;font-size:.875rem}.service-icon-placeholder{aspect-ratio:4/3;background:var(--color-primary-subtle);border-radius:12px;justify-content:center;align-items:center;width:100%;display:flex}.service-icon-placeholder svg{width:48px;height:48px;stroke:var(--color-primary)}.section-title-center{font-family:var(--font-en);text-align:center;letter-spacing:.1em;margin-bottom:var(--spacing-xs);color:var(--color-text);font-size:2rem;font-weight:700}.section-subtitle-center{text-align:center;color:var(--color-text-light);margin-bottom:var(--spacing-xl);font-size:.9375rem}.breadcrumb{padding:var(--spacing-md)0;border-bottom:1px solid var(--color-border);background:#fff}.breadcrumb .container{align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;font-size:.75rem;display:flex}.breadcrumb a{color:var(--color-text-light);white-space:nowrap;text-decoration:none}.breadcrumb a:hover{opacity:1;text-decoration:underline}.breadcrumb-separator{color:var(--color-text-muted)}.breadcrumb-current{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;max-width:300px;overflow:hidden}@media (max-width:768px){.breadcrumb .container{font-size:.7rem}.breadcrumb-current{max-width:200px}}.contact-section-page{background:var(--color-bg-gray);padding:60px 0}.contact-box{border:2px solid var(--color-bg-dark);color:var(--color-text);transition:all var(--transition);background:#fff;justify-content:space-between;align-items:center;max-width:500px;padding:40px 60px;text-decoration:none;display:flex}.contact-box:hover{background:var(--color-bg-dark);color:#fff;opacity:1}.contact-box-title{font-family:var(--font-en);color:var(--color-primary);margin-bottom:var(--spacing-xs);font-size:1.5rem;font-weight:600}.contact-box:hover .contact-box-title{color:#fff}.contact-box-text{color:var(--color-text-light);font-size:.75rem}.contact-box:hover .contact-box-text{color:#fffc}.contact-box-arrow{font-size:1.5rem;font-weight:300}.fade-in{opacity:0;transition:opacity .6s,transform .6s;transform:translateY(20px)}.fade-in.visible{opacity:1;transform:translateY(0)}.visually-hidden{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:840px){:root{--spacing-xl:60px}.section-title,.page-title-hero{font-size:2rem}.page-header-content{padding:0 var(--spacing-md)}}@media (max-width:540px){:root{--spacing-xl:48px;--spacing-lg:32px}html{font-size:15px}.section-title{font-size:1.5rem}.container{padding:0 var(--spacing-sm)}.page-header-hero{height:140px;padding-bottom:24px}.page-title-hero{font-size:1.75rem}.section-title-center{font-size:1.25rem}.contact-box{text-align:center;flex-direction:column;gap:12px;padding:20px 24px}.contact-box-title{font-size:1.125rem}.contact-box-arrow{display:none}.btn{padding:10px 24px;font-size:.8125rem}.btn-large{padding:14px 32px;font-size:.875rem}.btn-dark{padding:10px 20px;font-size:.75rem}}
