*{box-sizing:border-box;margin:0;padding:0}.site-header{backdrop-filter:blur(10px);background:transparent;border-bottom:1px solid rgba(0,0,0,.05);box-shadow:0 2px 8px rgba(0,0,0,.05);left:0;max-width:100vw;overflow-x:hidden;position:absolute;top:0;width:100%;z-index:1000}.site-header .container{margin:0 auto;max-width:100%;padding:0 2rem}.site-header .header-content{align-items:center;display:flex;height:3rem;justify-content:space-between}.logo-link{align-items:center;color:var(--primary-color);display:flex;font-size:1.5rem;font-weight:700;text-decoration:none;transition:opacity .3s ease}.logo-link:hover{opacity:.8}.site-logo{display:block;filter:invert(1);height:1.5rem;max-width:250px;object-fit:contain;width:auto}.site-name{color:var(--primary-color);font-size:1.5rem;font-weight:700}.main-nav{align-items:center;display:flex;gap:2rem}.main-nav a{color:#fff;font-size:.95rem;font-weight:500;padding:.5rem 0;text-decoration:none;transition:color .3s ease}.main-nav a:hover{color:var(--accent-color)}.main-nav .cta-link{background:var(--accent-gradient);border-radius:50px;box-shadow:0 4px 12px rgba(255,107,53,.3);color:#fff;display:none;font-weight:600;padding:.75rem 1.5rem}.main-nav .cta-link:hover{box-shadow:0 6px 16px rgba(255,107,53,.4);color:#fff;transform:translateY(-2px)}.mobile-menu-toggle{background:transparent;border:none;cursor:pointer;display:none;flex-direction:column;height:2rem;justify-content:space-around;padding:0;width:2rem;z-index:1001}.hamburger-line{background:#fff;border-radius:10px;height:.2rem;transition:all .3s linear;width:2rem}@media (max-width:1024px){.mobile-menu-toggle{display:flex}.main-nav{align-items:flex-start;backdrop-filter:blur(10px);background:rgba(51,51,51,.95);box-shadow:-2px 0 10px rgba(0,0,0,.3);flex-direction:column;gap:1.5rem;height:calc(100vh - 3rem);padding:2rem;position:fixed;right:0;top:3rem;transform:translateX(100%);transition:transform .3s ease-in-out;width:280px;z-index:1002}.main-nav.active{transform:translateX(0)}.site-header.menu-active{height:100%}.main-nav a{border-bottom:1px solid hsla(0,0%,100%,.1);color:#fff;font-size:1.125rem;padding:.75rem 0;width:100%}.main-nav .cta-link{background:var(--accent-gradient);border-bottom:none;border-radius:50px;color:#fff;display:inline-block;margin-top:1rem;padding:.875rem 1.75rem;text-align:center}.mobile-menu-toggle.active .hamburger-line:first-child{transform:rotate(45deg) translate(.5rem,.5rem)}.mobile-menu-toggle.active .hamburger-line:nth-child(2){opacity:0}.mobile-menu-toggle.active .hamburger-line:nth-child(3){transform:rotate(-45deg) translate(.5rem,-.5rem)}}@media (max-width:768px){.site-header .container{padding:0 1rem}.site-logo{height:1.25rem}.main-nav{top:3rem;width:100%}}:root{--primary-color:#333;--secondary-color:#666;--accent-color:#ff6b35;--accent-gradient:linear-gradient(135deg,#ff6b35,#ff8c5a);--text-dark:#333;--text-light:#666;--bg-light:#f0f0f0;--white:#fff;--border-color:#e0e0e0;--spacing-xs:0.5rem;--spacing-sm:1rem;--spacing-md:2rem;--spacing-lg:4rem;--spacing-xl:6rem;--section-padding-y:5rem;--section-padding-x:2rem;--border-radius-sm:8px;--border-radius-md:12px;--border-radius-lg:24px;--transition-fast:0.2s ease;--transition-normal:0.3s ease;--transition-slow:0.5s ease;--shadow-sm:0 2px 8px rgba(0,0,0,.05);--shadow-md:0 4px 12px rgba(0,0,0,.1);--shadow-lg:0 8px 20px rgba(0,0,0,.15)}body{background:var(--white);color:var(--text-dark);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica Neue,Hiragino Sans,Hiragino Kaku Gothic ProN,Noto Sans JP,Yu Gothic,YuGothic,Meiryo,sans-serif;font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"palt" 1}body,html{max-width:100vw;overflow-x:hidden}html{scroll-behavior:smooth}h1,h2,h3,h4,h5,h6{color:var(--text-dark);font-family:Yu Mincho,YuMincho,Hiragino Mincho ProN,HG明朝E,MS PMincho,serif;font-weight:700;letter-spacing:-.02em;line-height:1.3}h1{font-size:clamp(2.5rem,5vw,3.75rem);margin-bottom:1.5rem}h2{font-size:clamp(2rem,4vw,3rem);margin-bottom:1.25rem}h3{font-size:clamp(1.5rem,3vw,2.25rem);margin-bottom:1rem}p{color:var(--text-light);font-size:1.125rem;line-height:1.8}a{color:var(--primary-color);text-decoration:none;transition:var(--transition-fast)}a:hover{color:var(--accent-color)}.btn{border:none;border-radius:50px;cursor:pointer;display:inline-block;font-size:1.125rem;font-weight:600;line-height:1.5;padding:1.125rem 2.5rem;text-align:center;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.btn-primary{background:var(--accent-gradient);box-shadow:0 4px 15px rgba(255,107,53,.4);color:var(--white)}.btn-primary:hover{box-shadow:0 8px 25px rgba(255,107,53,.5);color:var(--white);transform:translateY(-3px)}.btn-secondary{background:transparent;border:2px solid var(--primary-color);color:var(--primary-color)}.btn-secondary:hover{background:var(--primary-color);box-shadow:0 4px 15px rgba(51,51,51,.3);color:var(--white);transform:translateY(-3px)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-50px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(50px)}to{opacity:1;transform:translateX(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.fade-in-up{animation:fadeInUp .8s ease forwards}.fade-in{animation:fadeIn .8s ease forwards}.slide-in-left{animation:slideInLeft .8s ease forwards}.slide-in-right{animation:slideInRight .8s ease forwards}.scale-in{animation:scaleIn .8s ease forwards}.animate-on-scroll{opacity:0}.animate-on-scroll.is-visible{animation:fadeInUp .8s ease forwards}@media (max-width:768px){:root{--spacing-lg:3rem;--spacing-xl:4rem}}.loading{opacity:.6;pointer-events:none}:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.scroll-to-top-btn{align-items:center;background:linear-gradient(135deg,#ff6b35,#ff8c5a);border:none;border-radius:50%;bottom:2rem;box-shadow:0 4px 12px rgba(255,107,53,.3);color:#fff;cursor:pointer;display:flex;font-size:1.8rem;font-weight:700;height:50px;justify-content:center;line-height:1;opacity:0;position:fixed;right:2rem;transform:scale(.8);transition:all .3s ease;visibility:hidden;width:50px;z-index:9999;-webkit-tap-highlight-color:transparent;user-select:none}.scroll-to-top-btn.visible{opacity:1!important;transform:scale(1)!important;visibility:visible!important}.scroll-to-top-btn:hover{box-shadow:0 6px 20px rgba(255,107,53,.5);transform:scale(1.1)}.scroll-to-top-btn:active{transform:scale(.95)}@media (max-width:768px){.scroll-to-top-btn{bottom:1.5rem;font-size:1.6rem;height:45px;right:1.5rem;width:45px}}#contact{padding:var(--spacing-xl) var(--spacing-md)}.hs-form{background:var(--white);border-radius:var(--border-radius-md);box-shadow:var(--shadow-lg);margin:0 auto;max-width:600px;padding:var(--spacing-lg)}.hs-form-field{margin-bottom:var(--spacing-md)}.hs-form-field label{color:var(--text-dark);display:block;font-size:1rem;font-weight:600;margin-bottom:var(--spacing-xs)}.hs-input{background:var(--white);border:2px solid var(--border-color);border-radius:var(--border-radius-sm);font-family:inherit;font-size:1rem;padding:.875rem 1rem;transition:border-color var(--transition-fast);width:100%}.hs-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(51,51,51,.1);outline:none}.hs-input[type=email],.hs-input[type=text]{line-height:1.5}textarea.hs-input{min-height:150px;resize:vertical}.hs-error-msgs{color:#e53e3e;font-size:.875rem;margin-top:var(--spacing-xs)}.hs-button{background:var(--accent-gradient);border:none;border-radius:50px;box-shadow:var(--shadow-md);color:var(--white);cursor:pointer;font-family:inherit;font-size:1.125rem;font-weight:600;padding:1rem 2rem;transition:var(--transition-normal);width:100%}.hs-button:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.hs-button:active{transform:translateY(0)}.submitted-message{color:var(--text-dark);font-size:1.125rem;padding:var(--spacing-lg);text-align:center}.hs-form .hs_cos__form_title,.hs-form h3{color:var(--text-dark);margin-bottom:var(--spacing-md);text-align:center}@media (max-width:768px){#contact{padding:var(--spacing-lg) var(--spacing-sm)}.hs-form{box-shadow:var(--shadow-md);padding:var(--spacing-md)}.hs-button{font-size:1rem}}