@import"https://fonts.googleapis.com/css2?family=Merriweather:ital,wght@1,300;1,400&family=Noto+Sans+JP:wght@100;300;400&family=Noto+Serif+JP:wght@300;400;500&family=Poppins:wght@300;400;500&display=swap";@keyframes overlay-open{0%{transform:scaleY(0);transform-origin:top}100%{transform:scaleY(1);transform-origin:top}}@keyframes overlay-close{0%{transform:scaleY(1);transform-origin:top}100%{transform:scaleY(0);transform-origin:top}}@keyframes fadeIn{0%{opacity:0;transform:translateY(30px)}100%{opacity:1;transform:translateY(0)}}@keyframes slideInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{from{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInRight{from{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}@keyframes scaleIn{from{opacity:0;transform:scale(0.9)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}100%{transform:scale(1)}}.animate-on-scroll{opacity:0;transition:opacity .6s ease,transform .6s ease}.animate-on-scroll.animate-slideInUp{transform:translateY(30px)}.animate-on-scroll.animate-slideInLeft{transform:translateX(-30px)}.animate-on-scroll.animate-slideInRight{transform:translateX(30px)}.animate-on-scroll.animate-scaleIn{transform:scale(0.9)}.animate-on-scroll.is-visible{opacity:1;transform:translateY(0) translateX(0) scale(1)}.animate-stagger>*{opacity:0;transform:translateY(20px);transition:all .6s cubic-bezier(0.4, 0, 0.2, 1)}.animate-stagger.is-visible>*{opacity:1;transform:translateY(0)}.animate-stagger.is-visible>*:nth-child(1){transition-delay:0.1s}.animate-stagger.is-visible>*:nth-child(2){transition-delay:0.2s}.animate-stagger.is-visible>*:nth-child(3){transition-delay:0.3s}.animate-stagger.is-visible>*:nth-child(4){transition-delay:0.4s}.animate-stagger.is-visible>*:nth-child(5){transition-delay:0.5s}.animate-stagger.is-visible>*:nth-child(6){transition-delay:0.6s}.animate-stagger.is-visible>*:nth-child(7){transition-delay:0.7s}.animate-stagger.is-visible>*:nth-child(8){transition-delay:0.8s}.animate-stagger.is-visible>*:nth-child(9){transition-delay:0.9s}.animate-stagger.is-visible>*:nth-child(10){transition-delay:1s}*,*::before,::after{box-sizing:border-box}body{margin:0;height:100%;color:#4a5568;background:linear-gradient(135deg, #f7fafc 0%, #edf2f7 100%);font-family:"Merriweather",serif;letter-spacing:.1em;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;min-height:100vh}li{list-style:none}ul{margin:0;padding:0}.line{height:1px;width:60%;top:50%;left:50%;transition:.3s;background-color:#333;position:absolute}#menuButton{display:block;text-decoration:none;height:60px;width:60px;position:relative;margin:auto}.line:nth-child(1){transform:translate(-50%, -12px);transform-origin:0% 50%;opacity:1}.line:nth-child(2){transform:translate(-50%, 0);opacity:1}.line:nth-child(3){transform:translate(-50%, 12px);transform-origin:0% 50%;opacity:1}.line.active:nth-child(1){transform:rotate(45deg) translate(-50%, 0);transform-origin:0% 50%;opacity:1}.line.active:nth-child(2){transform:translate(-50%, 0);opacity:0}.line.active:nth-child(3){transform:rotate(-45deg) translate(-50%, 0);transform-origin:0% 50%;opacity:1}@media screen and (min-width: 600px){#menuButton{height:90px;width:90px}}.header-wrap{position:relative;z-index:20}nav{font-family:"Noto Serif JP",serif;font-weight:300;color:#4a5568;font-weight:600}.header{display:flex;position:fixed;top:0;height:60px;width:100%;background:hsla(0,0%,100%,.1);backdrop-filter:blur(20px);box-shadow:none;z-index:1000;transition:all .3s ease;border-bottom:1px solid hsla(0,0%,100%,.1)}.header.scrolled{background:hsla(0,0%,100%,.98);box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);border-bottom:1px solid #cbd5e0}.header.hero-header{background:rgba(0,0,0,.3);border-bottom:1px solid hsla(0,0%,100%,.2)}.header.hero-header .site-name{color:#fff;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.header.hero-header .line{background-color:#fff}.header.hero-header .main-nav a{color:#fff;text-shadow:1px 1px 2px rgba(0,0,0,.3)}.header.hero-header .main-nav a:hover{color:#667eea}.header.hero-header .main-nav .current-menu-item a{color:#fff;font-weight:600}.logo{margin:9px;width:42px;height:42px;margin:10px 0 0 12px}.site-name{flex:1;height:100%;line-height:60px;font-size:30px;color:#2d3748;font-family:"Merriweather",serif;text-align:center;align-items:center;letter-spacing:0}#hamburger{display:flex;align-items:center;padding:0 1rem;position:relative;z-index:1002}#hamburger .menuButton{display:block;cursor:pointer}.overlay{position:fixed;top:0;bottom:0;right:0;left:0;background:linear-gradient(135deg, #4a5568 0%, #2d3748 100%);backdrop-filter:blur(20px);text-align:center;padding:64px;opacity:0;z-index:1001;visibility:hidden;transition:.2s linear;animation:.2s linear overlay-close}.overlay nav ul li{position:relative}.overlay nav ul li.current-menu-item a{color:#fff;font-weight:600}.overlay nav ul li.current-menu-item a::before{content:"";position:absolute;left:-20px;top:50%;transform:translateY(-50%);width:4px;height:20px;background-color:#fff;border-radius:2px}.overlay.show{opacity:.95;pointer-events:auto;visibility:visible;animation:.2s linear overlay-open}.overlay ul{list-style:none;margin:0;padding:0}.overlay li{margin-top:28px}.overlay a{text-decoration:none;list-style:none;color:#fff;transition:all .15s ease-in-out;position:relative}.overlay a:hover{color:#667eea}.overlay a::after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background-color:#667eea;transition:width .3s ease}.overlay a:hover::after{width:100%}.hero-section{position:relative;width:100%;min-height:100vh;display:flex;align-items:flex-end;justify-content:center;margin-top:0;padding-bottom:calc(15vh + 60px)}.hero-background{position:absolute;top:0;left:0;width:100%;height:100%;background-size:cover;background-position:center;background-repeat:no-repeat}.hero-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0.2) 50%, rgba(0, 0, 0, 0.6) 100%)}.hero-content{position:relative;top:120px;z-index:10;text-align:center;color:#fff;max-width:800px;padding:0 3rem}.hero-title{font-family:"Noto Sans JP",sans-serif;font-size:clamp(2rem,5vw,3.5rem);font-weight:700;line-height:1.3;margin-bottom:2rem;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.hero-subtitle{font-family:"Noto Sans JP",sans-serif;font-size:clamp(1rem,2.5vw,1.25rem);font-weight:400;line-height:1.6;margin-bottom:5rem;opacity:.95;text-shadow:1px 1px 2px rgba(0,0,0,.3)}.hero-cta{display:flex;flex-direction:column;gap:1rem;align-items:center}@media screen and (min-width: 600px){.hero-cta{flex-direction:row;justify-content:center;gap:2rem}}.hero-btn{display:inline-block;padding:16px 32px;font-size:18px;font-weight:600;text-decoration:none;border-radius:8px;transition:all .3s cubic-bezier(0.4, 0, 0.2, 1);cursor:pointer;border:2px solid rgba(0,0,0,0);font-family:"Noto Sans JP",sans-serif;min-width:200px;text-align:center}.hero-btn.primary{background:#667eea;color:#fff;border-color:#667eea}.hero-btn.primary:hover{background:rgb(57.1551724138,88.1896551724,227.8448275862);border-color:rgb(57.1551724138,88.1896551724,227.8448275862);transform:translateY(-2px);box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);color:#fff}.hero-btn.secondary{background:rgba(0,0,0,0);color:#fff;border-color:#fff}.hero-btn.secondary:hover{background:#fff;color:#667eea;transform:translateY(-2px);box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.hero-btn:active{transform:translateY(0)}@media screen and (max-width: 600px){.hero-section{min-height:80vh;margin-top:0;align-items:center;padding-bottom:calc(10vh + 60px)}.hero-content{padding:0 2rem;top:120px}.hero-btn{width:100%;max-width:300px}}.container{max-width:1200px;margin:0 auto;padding:0 2rem}@media screen and (min-width: 768px){.container{padding:0 3rem}}section{padding:80px 0}@media screen and (max-width: 768px){section{padding:60px 0}}.service-section{background:#f7fafc}.works-section{background:#fff}.section-title{text-align:center;margin-bottom:60px;position:relative}.section-title .title-main{display:block;font-family:"Noto Sans JP",sans-serif;font-size:clamp(2rem,4vw,2.5rem);font-weight:700;color:#2d3748;margin-bottom:8px;letter-spacing:.05em}.section-title .title-sub{display:block;font-family:"Poppins",sans-serif;font-size:clamp(.875rem,2vw,1rem);font-weight:300;color:#667eea;text-transform:lowercase;letter-spacing:.2em}.section-title::after{content:"";display:block;width:60px;height:3px;background:#667eea;margin:24px auto 0;border-radius:2px}.service-category-list{display:grid;grid-template-columns:repeat(auto-fit, minmax(320px, 1fr));gap:3rem;list-style:none;padding:0;margin:0}@media screen and (max-width: 768px){.service-category-list{grid-template-columns:1fr;gap:2rem}}.service-category-list li{background:#fff;border-radius:16px;padding:5rem;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);transition:all .3s cubic-bezier(0.4, 0, 0.2, 1);border:1px solid rgba(102,126,234,.1);position:relative;overflow:hidden}.service-category-list li::before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg, #667eea 0%, #a0aec0 100%)}.service-category-list li:hover{transform:translateY(-8px);box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);border-color:rgba(102,126,234,.2)}.service-category-list li .service-category-icon{text-align:center;margin-bottom:3rem}.service-category-list li .service-category-icon img{width:80px;height:80px;object-fit:contain;transition:all .3s cubic-bezier(0.4, 0, 0.2, 1);filter:drop-shadow(0 4px 8px rgba(102, 126, 234, 0.2))}.service-category-list li:hover .service-category-icon img{transform:scale(1.1) rotate(5deg)}.service-category-list li .service-category-ttl{font-family:"Noto Sans JP",sans-serif;font-size:1.5rem;font-weight:700;color:#2d3748;text-align:center;margin-bottom:2rem;letter-spacing:.05em}.service-category-list li .service-category-lead{font-family:"Noto Sans JP",sans-serif;font-size:16px;line-height:1.8;color:#4a5568;text-align:left}@media screen and (max-width: 768px){.service-category-list li .service-category-lead{font-size:15px}}.material-icons.large-size{font-size:60px}.grecaptcha-badge{visibility:hidden}.page-visual-img{margin-top:60px;height:200px;width:100%;background-position:100% 100%;background-size:cover;align-self:flex-end}.page-ttl-set{position:absolute;width:250px;top:224px;background-color:#fff}.page-ttl-set h1{font-weight:bold;font-size:20px;text-align:center}.page_wrap{margin:60px 30px 0}.about_page_wrap{margin:60px 30px 0;height:100%}.contact-form input,.contact-form textarea{width:100%;font-size:16px;border:2px solid #cbd5e0;border-radius:8px;padding:12px 16px;margin-top:10px;margin-bottom:0;transition:all .3s cubic-bezier(0.4, 0, 0.2, 1);font-family:"Noto Sans JP",sans-serif;background:#fff;color:#4a5568}.contact-form input:focus,.contact-form textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px rgba(102,126,234,.1);outline:none}.contact-form input:hover,.contact-form textarea:hover{border-color:#a0aec0}.contact-form input{height:48px}.contact-form textarea{min-height:120px;resize:vertical}.contact-form p{margin:6px 0}.input-area{max-width:250px;margin-top:28px}label,input,textarea{display:block}input[type=submit]{width:100%;max-width:280px;height:54px;margin-top:24px;cursor:pointer;background:linear-gradient(135deg, #667eea 0%, #764ba2 100%);border:none;border-radius:8px;font-size:16px;font-weight:600;color:#fff;font-family:"Noto Sans JP",sans-serif;transition:all .3s cubic-bezier(0.4, 0, 0.2, 1);box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}input[type=submit]:hover{background:linear-gradient(135deg, #5a67d8 0%, #6b46c1 100%);transform:translateY(-2px);box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}input[type=submit]:active{transform:translateY(0);box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}input[type=submit]:disabled{background:#a0aec0;cursor:not-allowed;transform:none;box-shadow:none}.more-btn,.contact-btn{display:inline-block;padding:12px 32px;font-size:16px;font-weight:600;text-decoration:none;text-align:center;border-radius:6px;transition:all .3s cubic-bezier(0.4, 0, 0.2, 1);cursor:pointer;border:none;font-family:"Noto Sans JP",sans-serif}.more-btn:hover,.contact-btn:hover{transform:translateY(-2px);box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.more-btn:active,.contact-btn:active{transform:translateY(0);box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.more-btn{background:linear-gradient(135deg, #667eea 0%, #764ba2 100%);color:#fff}.more-btn:hover{background:linear-gradient(135deg, #5a67d8 0%, #6b46c1 100%);color:#fff}.contact-btn{background:linear-gradient(135deg, #667eea 0%, #764ba2 100%);color:#fff}.contact-btn:hover{background:linear-gradient(135deg, #5a67d8 0%, #6b46c1 100%);color:#fff}.btn-primary{display:inline-block;padding:14px 36px;background:linear-gradient(135deg, #667eea 0%, #764ba2 100%);color:#fff;font-size:16px;font-weight:600;text-decoration:none;border-radius:8px;transition:all .3s cubic-bezier(0.4, 0, 0.2, 1);box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.btn-primary:hover{background:linear-gradient(135deg, #5a67d8 0%, #6b46c1 100%);transform:translateY(-2px);box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);color:#fff}.btn-secondary{display:inline-block;padding:14px 36px;background-color:rgba(0,0,0,0);color:#667eea;font-size:16px;font-weight:600;text-decoration:none;border:2px solid #667eea;border-radius:8px;transition:all .3s cubic-bezier(0.4, 0, 0.2, 1)}.btn-secondary:hover{background-color:#667eea;color:#fff;transform:translateY(-2px);box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.contact-form .contact_red{margin-left:10px;padding:1px 3px;background-color:#f45555;font-size:10px;color:#fff}.company-text-box{line-height:1.9;font-family:"Noto Serif JP",serif;font-size:16px}.company-prof{display:block;height:200px;margin-bottom:100px}.company-prof th{min-width:auto;text-align:start;vertical-align:top;font-weight:500}.company-prof th,.company-prof td{width:auto;margin:0;line-height:1.9;font-size:12px}.company-prof dt{float:left;display:block;width:30%;font-weight:bold}.company-prof dd{float:right;width:70%}.works_list{padding:80px 30px 90px;background:linear-gradient(135deg, #e2e8f0 0%, #f7fafc 100%);position:relative}.works_list::before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><circle cx="50" cy="50" r="1" fill="rgba(102,126,234,0.1)"/></svg>') repeat;background-size:50px 50px;opacity:.3;pointer-events:none}.works_list>h1{color:#2d3748;font-weight:600;text-align:center;margin-bottom:40px;position:relative;z-index:1}.works-img{box-sizing:border-box;width:100%;display:flex}.works-img>img{width:250px;height:230px;border:1px solid hsla(0,0%,100%,.1);margin:0 auto;margin-top:30px}.works_list li{margin-bottom:40px}footer{background:linear-gradient(135deg, #f7fafc 0%, #edf2f7 100%);padding:40px 0;border-top:1px solid #cbd5e0}#copyright{margin-bottom:20px;text-align:center;font-size:12px;color:#4a5568}@media screen and (min-width: 600px){.hero-section{margin-top:0;padding-bottom:calc(15vh + 90px)}.hero-content{top:120px}.header{height:90px}.logo{width:63px;height:63px;margin:15px 0 0 18px}.site-name{line-height:90px;font-size:45px}.page_wrap,.about_page_wrap{margin:80px 60px 0}.contact-form{max-width:600px;margin:0 auto}.input-area{max-width:400px}}@media screen and (min-width: 1025px){.hero-section{align-items:center;padding-bottom:0}.hero-content{top:0}.main-visual-area{height:700px;margin-bottom:80px}.main-visual-img{height:700px}.main-copy{font-size:48px;left:20%}.service-container{max-width:1200px;margin:0 auto;padding:0 3rem}.service-category-list{padding:0;gap:3rem}section{margin-bottom:80px}.sec-ttl{margin-bottom:60px;font-size:3.2rem}.sec-ttl .jpn{font-size:36px}.sec-ttl .eng{font-size:18px}.page_wrap,.about_page_wrap{max-width:1000px;margin:100px auto 0}.works_list{padding:100px 80px 120px}.works-img{display:grid;grid-template-columns:repeat(auto-fill, minmax(300px, 1fr));gap:2rem}.works-img>img{width:100%;height:280px;object-fit:cover;margin:0;transition:all .3s cubic-bezier(0.4, 0, 0.2, 1)}.works-img>img:hover{transform:scale(1.05);border-color:hsla(0,0%,100%,.3)}.overlay{padding:80px}.overlay ul{display:flex;flex-direction:column;align-items:center;max-width:600px;margin:0 auto}.overlay li{margin-top:40px}.overlay li a{font-size:20px}}@media screen and (min-width: 1025px){.header{justify-content:space-between;padding:0 3rem}.logo{margin-left:0}.site-name{flex:initial;margin-left:2rem;margin-right:auto}.main-nav{display:flex;align-items:center;gap:2rem}.main-nav a{position:relative;padding:.5rem 1rem;color:#2d3748;text-decoration:none;font-weight:500;transition:all .15s ease-in-out}.main-nav a::after{content:"";position:absolute;bottom:-2px;left:1rem;right:1rem;height:2px;background-color:#667eea;transform:scaleX(0);transition:transform .3s ease}.main-nav a:hover::after,.main-nav a:focus::after{transform:scaleX(1)}.main-nav a:hover{color:#667eea}.main-nav .current-menu-item a{color:#667eea;font-weight:600}.main-nav .current-menu-item a::after{transform:scaleX(1)}#hamburger{display:none}.overlay{display:none}}.main-nav{display:none}@media screen and (min-width: 1025px){.main-nav{display:flex}}.w_inner{background:linear-gradient(135deg, #ffffff 0%, #f7fafc 100%)}ul{margin:0;padding:0}:focus{outline:2px solid #667eea;outline-offset:2px}.skip-link{position:absolute;top:-40px;left:0;background:#667eea;color:#fff;padding:8px 16px;text-decoration:none;border-radius:0 0 8px 0;font-size:14px;z-index:100}.skip-link:focus{top:0}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #667eea;outline-offset:2px}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mb-xs{margin-bottom:.5rem}.mb-sm{margin-bottom:1rem}.mb-md{margin-bottom:2rem}.mb-lg{margin-bottom:3rem}.mb-xl{margin-bottom:5rem}.mt-xs{margin-top:.5rem}.mt-sm{margin-top:1rem}.mt-md{margin-top:2rem}.mt-lg{margin-top:3rem}.mt-xl{margin-top:5rem}.p-xs{padding:.5rem}.p-sm{padding:1rem}.p-md{padding:2rem}.p-lg{padding:3rem}.p-xl{padding:5rem}.card{background:linear-gradient(135deg, #ffffff 0%, #f7fafc 100%);border-radius:12px;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);padding:3rem;transition:all .3s cubic-bezier(0.4, 0, 0.2, 1);border:1px solid #cbd5e0}.card:hover{transform:translateY(-5px);box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);border-color:#667eea}.card.card-interactive{cursor:pointer}.card.card-interactive:hover{transform:translateY(-8px);box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);border-color:#667eea}.back-to-top{position:fixed;bottom:30px;right:30px;width:50px;height:50px;background:#667eea;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;text-decoration:none;box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);transition:all .3s cubic-bezier(0.4, 0, 0.2, 1);z-index:1000;opacity:0;visibility:hidden;font-size:24px}.back-to-top.show{opacity:1;visibility:visible}.back-to-top:hover{background:rgb(57.1551724138,88.1896551724,227.8448275862);transform:translateY(-3px);box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);color:#fff}.back-to-top:active{transform:translateY(-1px)}.loading{display:inline-block;width:20px;height:20px;border:3px solid hsla(0,0%,100%,.3);border-radius:50%;border-top-color:#fff;animation:spin 1s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}.progress-bar{position:fixed;top:0;left:0;width:0%;height:3px;background:linear-gradient(90deg, #667eea 0%, #a0aec0 100%);z-index:1001;transition:width .3s ease}.contact_sec{padding:80px 40px;text-align:center;color:#fff;position:relative;background:linear-gradient(135deg, rgba(102, 126, 234, 0.9) 0%, rgba(118, 75, 162, 0.9) 100%)}.contact_sec::before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(102,126,234,.1);z-index:1}.contact_sec h2,.contact_sec p,.contact_sec a{position:relative;z-index:2}.contact_sec h2{font-size:2.5rem;margin-bottom:20px;font-weight:600}.contact_sec p{font-size:1.1rem;line-height:1.8;margin-bottom:40px;max-width:600px;margin-left:auto;margin-right:auto}.works-container{padding:80px 40px;max-width:1200px;margin:0 auto}.works-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(320px, 1fr));gap:3rem;padding:0 2rem}@media screen and (max-width: 600px){.works-grid{grid-template-columns:1fr;padding:0}}.work-item{background:linear-gradient(135deg, #ffffff 0%, #f7fafc 100%);border-radius:12px;overflow:hidden;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);transition:all .3s cubic-bezier(0.4, 0, 0.2, 1);border:1px solid #cbd5e0}.work-item:hover{transform:translateY(-8px);box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);border-color:#667eea}.work-link{display:block;text-decoration:none;color:inherit}.work-image-wrapper{position:relative;overflow:hidden;aspect-ratio:16/9}.work-image-wrapper img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(0.4, 0, 0.2, 1)}.work-image-wrapper:hover img{transform:scale(1.1)}.work-overlay{position:absolute;inset:0;background:linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, 0.7) 100%);color:#fff;display:flex;flex-direction:column;justify-content:flex-end;padding:2rem;opacity:0;transition:opacity .3s ease}.work-item:hover .work-overlay{opacity:1}.work-category{font-size:12px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:.5rem}.work-title{font-size:1.5rem;margin-bottom:.5rem}.work-description{font-size:14px;margin-bottom:1rem}.work-cta{font-size:14px;font-weight:600}.work-info{padding:2rem}.work-info h3{font-size:1.25rem;margin-bottom:1rem;color:#2d3748}.work-tags{display:flex;flex-wrap:wrap;gap:.5rem}.work-tags .tag{display:inline-block;padding:4px 12px;background-color:#e2e8f0;color:#4a5568;font-size:12px;border-radius:20px;transition:all .15s ease-in-out}.work-tags .tag:hover{background-color:#667eea;color:#fff}.works-category-list{display:none}@media(prefers-contrast: high){.more-btn,.contact-btn{border:2px solid currentColor}.service-category-list li{border:2px solid #4a5568}.work-item{border:2px solid #4a5568}input[type=submit]{border:2px solid currentColor}.header{border-bottom:2px solid #4a5568}}@media(prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}.animate-on-scroll{opacity:1 !important;transform:none !important}.animate-stagger>*{opacity:1 !important;transform:none !important;transition-delay:0s !important}}@media(prefers-color-scheme: dark){:root{--bg-color: #2d3748;--text-color: #e2e8f0;--card-bg: #4a5568;--border-color: #718096}body{background:linear-gradient(135deg, #2d3748 0%, #4a5568 100%);color:var(--text-color)}.card,.work-item,.service-category-list li{background:linear-gradient(135deg, #f1f5f9 0%, #e2e8f0 100%);color:var(--text-color);border-color:var(--border-color)}.header{background:rgba(45,55,72,.95);color:var(--text-color);border-bottom-color:var(--border-color)}.overlay{background:rgba(45,55,72,.95)}input,textarea{background-color:var(--card-bg);color:var(--text-color);border-color:var(--border-color)}.main-copy{background:rgba(45,55,72,.95);color:var(--text-color);border-color:var(--border-color)}.main-visual-area{background:linear-gradient(135deg, #2d3748 0%, #4a5568 100%)}}.brand-accent{position:relative}.brand-accent::before{content:"";position:absolute;bottom:-4px;left:0;width:40px;height:3px;background:linear-gradient(90deg, #667eea 0%, #a0aec0 100%);border-radius:2px}.loader{position:fixed;top:0;left:0;width:100%;height:100%;background:#fff;display:flex;align-items:center;justify-content:center;z-index:9999;transition:opacity .3s ease}.loader.is-hidden{opacity:0;pointer-events:none}.loader .loader-inner{width:60px;height:60px;position:relative}.loader .loader-inner::before,.loader .loader-inner::after{content:"";position:absolute;border:3px solid rgba(0,0,0,0);border-radius:50%;animation:loader-spin 1.5s linear infinite}.loader .loader-inner::before{top:0;left:0;right:0;bottom:0;border-top-color:#667eea;animation-delay:0s}.loader .loader-inner::after{top:10px;left:10px;right:10px;bottom:10px;border-top-color:#a0aec0;animation-delay:.2s}@keyframes loader-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}/*# sourceMappingURL=style.min.css.map */
