.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}:root{--blue-50: #e6f0ff;--blue-100: #cce0ff;--blue-500: #0066cc;--blue-600: #0055aa;--blue-800: #004499;--neutral-0: #ffffff;--neutral-50: #f8f8f8;--neutral-100: #f0f0f0;--neutral-200: #e0e0e0;--neutral-300: #dddddd;--neutral-400: #aaaaaa;--neutral-500: #888888;--neutral-600: #666666;--neutral-700: #444444;--neutral-800: #333333;--neutral-900: #1a1a1a;--red-500: #cc0000;--green-500: #28a745;--color-primary: var(--blue-500);--color-primary-hover: var(--blue-600);--color-primary-subtle: var(--blue-50);--color-primary-dark: var(--blue-600);--color-text-dark: var(--neutral-900);--color-text-sub: var(--neutral-600);--color-bg-gray: var(--neutral-50);--color-text-heading: var(--neutral-900);--color-text-body: var(--neutral-800);--color-text-secondary: var(--neutral-600);--color-text-tertiary: var(--neutral-500);--color-text-placeholder: var(--neutral-400);--color-text-inverse: var(--neutral-0);--color-bg-primary: var(--neutral-0);--color-bg-secondary: var(--neutral-50);--color-bg-tertiary: var(--neutral-100);--color-bg-inverse: var(--neutral-900);--color-border-default: var(--neutral-300);--color-border-subtle: var(--neutral-200);--color-border-light: var(--neutral-100);--color-status-error: var(--red-500);--color-status-success: var(--green-500);--text-xs: clamp(.75rem, .7rem + .1vw, .8125rem);--text-sm: clamp(.875rem, .85rem + .1vw, .9375rem);--text-base: clamp(1rem, .95rem + .15vw, 1.0625rem);--text-lg: clamp(1.125rem, 1.05rem + .2vw, 1.25rem);--text-xl: clamp(1.25rem, 1.15rem + .3vw, 1.5rem);--text-2xl: clamp(1.5rem, 1.3rem + .5vw, 1.75rem);--text-3xl: clamp(1.75rem, 1.5rem + .8vw, 2.25rem);--text-4xl: clamp(2rem, 1.7rem + 1vw, 2.75rem);--text-5xl: clamp(2.25rem, 1.75rem + 1.5vw, 3.25rem);--leading-tight: 1.3;--leading-normal: 1.7;--leading-relaxed: 1.9;--weight-normal: 400;--weight-medium: 500;--weight-bold: 700;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--section-padding-y: clamp(3rem, 5vw, 5rem);--section-padding-x: clamp(1rem, 3vw, 1.5rem);--container-max: 1200px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-full: 9999px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06);--shadow-md: 0 2px 10px rgba(0, 0, 0, .05);--shadow-lg: 0 1px 2px rgba(0, 0, 0, .04), 0 2px 4px rgba(0, 0, 0, .04), 0 4px 8px rgba(0, 0, 0, .04), 0 8px 16px rgba(0, 0, 0, .04), 0 16px 32px rgba(0, 0, 0, .04);--shadow-xl: 0 2px 4px rgba(0, 0, 0, .04), 0 4px 8px rgba(0, 0, 0, .06), 0 8px 16px rgba(0, 0, 0, .06), 0 16px 32px rgba(0, 0, 0, .08), 0 32px 64px rgba(0, 0, 0, .08);--shadow-primary: 0 4px 6px rgba(0, 102, 204, .1), 0 10px 20px rgba(0, 102, 204, .15), 0 20px 40px rgba(0, 102, 204, .1);--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .4s cubic-bezier(.25, .46, .45, .94)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{font-family:Noto Sans JP,sans-serif;font-weight:var(--weight-normal);line-height:1.8;color:var(--color-text-body);background-color:var(--color-bg-primary);overflow-x:hidden}.sp-br{display:none}@media(max-width:768px){body{word-break:auto-phrase;overflow-wrap:break-word}.sp-br{display:block}h1,h2,h3,h4,h5,h6{word-break:keep-all;overflow-wrap:anywhere}}body.menu-open{overflow:hidden}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-on-scroll{opacity:0;transform:translateY(30px);transition:opacity .6s ease-out,transform .6s ease-out}.animate-on-scroll.is-visible{opacity:1;transform:translateY(0)}.animate-delay-1{transition-delay:.1s}.animate-delay-2{transition-delay:.2s}.animate-delay-3{transition-delay:.3s}.animate-delay-4{transition-delay:.4s}.animate-delay-5{transition-delay:.5s}.count-up{display:inline-block;font-weight:800;font-size:1.15em}.stagger-item{opacity:0;transform:translateY(20px);transition:opacity .5s ease-out,transform .5s ease-out}.stagger-item.is-visible{opacity:1;transform:translateY(0)}.hover-lift{transition:transform .3s ease,box-shadow .3s ease}.hover-lift:hover{transform:translateY(-6px);box-shadow:0 12px 24px #0000001f}.btn-pulse{position:relative;overflow:hidden}.btn-pulse:after{content:"";position:absolute;inset:0;background:#fff3;transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.btn-pulse:hover:after{transform:scaleX(1)}.elevated-card{box-shadow:var(--shadow-lg);transition:transform var(--transition-slow),box-shadow var(--transition-slow)}.elevated-card:hover{box-shadow:var(--shadow-xl);transform:translateY(-8px)}.floating-shadow{box-shadow:var(--shadow-primary);transition:transform var(--transition-base),box-shadow var(--transition-base)}.floating-shadow:hover{transform:translateY(-4px);box-shadow:0 6px 12px #0066cc26,0 15px 30px #06c3,0 30px 60px #0066cc26}.inset-shadow{box-shadow:inset 0 2px 4px #0000000f;transition:box-shadow var(--transition-fast)}.inset-shadow:hover{box-shadow:inset 0 1px 2px #0000000a}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.skip-link{position:absolute;top:-100%;left:var(--space-4);padding:var(--space-2) var(--space-4);background:var(--color-primary);color:var(--color-text-inverse);border-radius:var(--radius-sm);z-index:10000;font-size:var(--text-sm);font-weight:var(--weight-medium);transition:top var(--transition-fast)}.skip-link:focus{top:var(--space-2)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);font-size:var(--text-base);font-weight:var(--weight-medium);font-family:inherit;border:2px solid transparent;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-base);text-decoration:none;line-height:1.4;position:relative;overflow:hidden}.btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:#ffffff26;border-radius:50%;transform:translate(-50%,-50%);transition:width .5s ease,height .5s ease}.btn:hover:before{width:300px;height:300px}.btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-primary-subtle)}.btn--primary{background:var(--color-primary);color:var(--color-text-inverse)}.btn--primary:hover{background:var(--color-primary-hover);transform:translateY(-2px)}.btn--secondary{background:var(--color-bg-primary);color:var(--color-text-body);border-color:var(--color-border-default)}.btn--secondary:hover{background:var(--color-bg-secondary);transform:translateY(-2px)}.btn--ghost{background:transparent;color:var(--color-primary);padding:var(--space-2) var(--space-4)}.btn--ghost:hover{background:var(--color-primary-subtle)}.btn--lg{padding:var(--space-4) var(--space-8);font-size:var(--text-lg);font-weight:var(--weight-bold)}.btn--sm{padding:var(--space-2) var(--space-4);font-size:var(--text-sm)}.btn--block{width:100%}.btn--with-arrow:after{content:"→";transition:transform var(--transition-fast)}.btn--with-arrow:hover:after{transform:translate(4px)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}img{max-width:100%;height:auto;vertical-align:middle}a{color:inherit;text-decoration:none}ul{list-style:none}.header{position:fixed;top:0;left:0;right:0;z-index:1000;background:var(--color-bg-primary);box-shadow:var(--shadow-md);animation:slideDown .5s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.header-inner{display:flex;align-items:center;justify-content:space-between;max-width:var(--container-max);margin:0 auto;padding:var(--space-2) var(--space-6)}.logo{display:flex;align-items:center}.logo-img{height:50px;width:auto}.menu-toggle{display:none;flex-direction:column;justify-content:center;align-items:center;width:40px;height:40px;background:none;border:none;cursor:pointer;gap:6px;position:relative;z-index:1002}.menu-toggle span{display:block;width:24px;height:2px;background:var(--color-text-body);transition:transform .3s,opacity .3s}.nav-list{display:flex;align-items:center;gap:2rem}.nav-list a{font-size:var(--text-base);font-weight:var(--weight-medium);transition:color var(--transition-base);position:relative}.nav-list a:not(.nav-contact):after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background:var(--color-primary);transition:width .3s ease}.nav-list a:not(.nav-contact):hover:after{width:100%}.nav-list a:hover{color:var(--color-primary)}.nav-contact{padding:var(--space-2) var(--space-6);background:var(--color-primary);color:var(--color-text-inverse)!important;border-radius:var(--radius-sm)}.nav-contact:hover{background:var(--color-primary-dark)}.main{padding-top:64px}.menu-overlay{display:none;position:fixed;inset:0;background:#00000080;z-index:998}.menu-overlay.is-visible{display:block}.footer{background:var(--color-bg-inverse);color:var(--color-text-inverse);padding:var(--space-12) var(--space-6) var(--space-6)}.footer-inner{max-width:var(--container-max);margin:0 auto}.footer-info{margin-bottom:var(--space-8)}.footer-logo{font-size:var(--text-xl);font-weight:var(--weight-bold);margin-bottom:var(--space-2)}.footer-address,.footer-tel{font-size:var(--text-base);color:var(--neutral-300)}.footer-nav ul{display:flex;flex-wrap:wrap;gap:var(--space-4) var(--space-8);margin-bottom:var(--space-8)}.footer-nav a{font-size:var(--text-base);color:var(--neutral-300);transition:color var(--transition-base),transform var(--transition-base);display:inline-block}.footer-nav a:hover{color:var(--color-text-inverse);transform:translate(4px)}.footer-copyright{font-size:var(--text-sm);color:var(--neutral-400);text-align:center;padding-top:var(--space-6);border-top:1px solid var(--neutral-800)}@media(max-width:768px){.logo-img{height:36px}.menu-toggle{display:flex}.nav{position:fixed;top:0;right:-100%;width:70%;max-width:280px;height:100vh;background:var(--color-bg-primary);transition:right var(--transition-base);padding:var(--space-20) 0 var(--space-8);box-shadow:-2px 0 10px #0000001a;z-index:1001;overflow-y:auto}.nav.is-open{right:0}.nav-list{flex-direction:column;align-items:stretch;gap:0;width:100%}.nav-list li{width:100%;border-bottom:1px solid var(--color-border-light)}.nav-list a{display:block;padding:var(--space-4) var(--space-6);font-size:var(--text-lg);color:var(--color-text-body)}.nav-list a:not(.nav-contact):after{display:none}.nav-list a:not(.nav-contact):active{background:var(--color-primary-subtle);color:var(--color-primary)}.nav-contact{display:block;margin:var(--space-4) var(--space-6);padding:var(--space-3) var(--space-6);text-align:center;border-radius:var(--radius-md)}.menu-toggle[aria-expanded=true] span:nth-child(1){transform:rotate(45deg) translate(5px,6px)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:nth-child(3){transform:rotate(-45deg) translate(5px,-6px)}.footer-nav ul{flex-direction:column;gap:1rem}}.hero[data-astro-cid-bbe6dxrz]{position:relative;display:flex;align-items:center;justify-content:center;min-height:300px;margin-top:70px;overflow:hidden}.hero-top[data-astro-cid-bbe6dxrz]{min-height:80vh}.hero-bg[data-astro-cid-bbe6dxrz]{position:absolute;inset:-20px;background-size:cover;background-position:center;background-color:var(--color-bg-inverse);transition:transform .1s ease-out;will-change:transform}.parallax-bg[data-astro-cid-bbe6dxrz]{transform:translateY(0) scale(1.1)}.hero-bg-gradient[data-astro-cid-bbe6dxrz]{background:linear-gradient(135deg,#1a7fd4,var(--color-primary))}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.hero-overlay[data-astro-cid-bbe6dxrz]{position:absolute;inset:0;background:#00000040}.hero-content[data-astro-cid-bbe6dxrz]{position:relative;z-index:1;text-align:center;color:var(--color-text-inverse);padding:var(--space-10) var(--space-12);max-width:800px}.hero-top[data-astro-cid-bbe6dxrz] .hero-content[data-astro-cid-bbe6dxrz]{background:#00000040;border-radius:var(--radius-lg);backdrop-filter:blur(2px)}.hero-title[data-astro-cid-bbe6dxrz]{font-size:clamp(1.75rem,5vw,3rem);font-weight:var(--weight-bold);line-height:1.4;margin-bottom:var(--space-4);text-shadow:0 2px 4px rgba(0,0,0,.8),0 4px 12px rgba(0,0,0,.5);word-break:keep-all;animation:fadeInUp .8s ease-out forwards}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.hero-subtitle[data-astro-cid-bbe6dxrz]{font-size:clamp(1rem,2.5vw,1.25rem);margin-bottom:var(--space-8);text-shadow:0 1px 3px rgba(0,0,0,.8),0 2px 8px rgba(0,0,0,.5);word-break:keep-all;animation:fadeInUp .8s ease-out .2s forwards;opacity:0}.hero-cta[data-astro-cid-bbe6dxrz]{display:flex;gap:var(--space-4);justify-content:center;flex-wrap:wrap;animation:fadeInUp .8s ease-out .4s forwards;opacity:0}@media(max-width:768px){.hero-top[data-astro-cid-bbe6dxrz]{min-height:60vh;align-items:flex-end}.hero-overlay[data-astro-cid-bbe6dxrz]{background:linear-gradient(to top,#000000b3,#0006,#0000001a)}.hero-content[data-astro-cid-bbe6dxrz]{background:none;backdrop-filter:none;padding:var(--space-6);padding-bottom:var(--space-8);border-radius:0}.hero-cta[data-astro-cid-bbe6dxrz] .btn[data-astro-cid-bbe6dxrz]{width:100%;max-width:280px}}.section[data-astro-cid-sh445jdo]{padding:var(--section-padding-y) var(--section-padding-x)}.section-white[data-astro-cid-sh445jdo]{background:var(--color-bg-primary)}.section-gray[data-astro-cid-sh445jdo]{background:var(--color-bg-secondary)}.section-inner[data-astro-cid-sh445jdo]{max-width:var(--container-max);margin:0 auto}.section-header[data-astro-cid-sh445jdo]{text-align:center;margin-bottom:var(--space-12)}.section-title[data-astro-cid-sh445jdo]{font-size:clamp(1.5rem,4vw,2rem);font-weight:var(--weight-bold);color:var(--color-text-heading);margin-bottom:var(--space-2);position:relative;display:inline-block;padding-bottom:var(--space-4)}.section-title[data-astro-cid-sh445jdo]:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:40px;height:3px;background:var(--color-primary);border-radius:var(--radius-full)}.section-subtitle[data-astro-cid-sh445jdo]{font-size:var(--text-base);color:var(--color-text-secondary);margin-top:var(--space-3)}@media(max-width:768px){.section-header[data-astro-cid-sh445jdo]{margin-bottom:var(--space-8)}}
