root--bg-color#050505--card-bgrgba(2552552550.1)--text-main#eee--text-sub#ccc--text-muted#a0a0a0--primary#e28b2b--secondary#6e7982--accent#ef4444--gradient-mainlinear-gradient(135deg#e28b2b 0%#fb923c 100%)--gradient-heatlinear-gradient(135deg#ef4444 0%#f97316 100%)--font-heading"Helvetica Neue"Arial"Hiragino Kaku Gothic ProN""Hiragino Sans"Meiryosans-serif--font-body"Helvetica Neue"Arial"Hiragino Kaku Gothic ProN""Hiragino Sans"Meiryosans-serif--transitionall 0.3s cubic-bezier(0.400.21)*margin0padding0box-sizingborder-boxfont-feature-settings"palt"htmlbackground-colorvar(--bg-color)-webkit-text-size-adjust100%text-size-adjust100%bodybackground-colortransparentcolorvar(--text-main)font-familyvar(--font-body)line-height1.6overflow-xhidden-webkit-text-size-adjust100%text-size-adjust100%mainpositionrelativepadding-bottomclamp(1rem3vw100px)mainaftercontent''widthmin(35vw300px)heightmin(20vw90px)backgroundurl(../img/bg_footer.png) no-repeat right 0 bottombackground-sizecontaindisplayblockpositionabsoluteleftcalc(50% + min(35vw300px))bottom0z-index100opacity.45image-rendering-webkit-optimize-contrastimage-renderingcrisp-edgespointer-eventsnoneh1h2h3h4h5h6palidtddfont-feature-settings"palt" 1font-variant-east-asianproportional-widthfont-kerningnormalfont-familyvar(--font-heading)font-weight700line-height1.3pcolorvar(--text-sub)text-alignjustifyword-breakbreak-allatext-decorationnonecolorinherittransitionvar(--transition)ullist-stylenone.containermax-width1200pxmargin0 autopaddingmin(15vw5rem) clamp(1rem5%2rem).text-gradientbackgroundvar(--gradient-main)-webkit-background-cliptextbackground-cliptext-webkit-text-fill-colortransparentdisplayinline-block.sp-onlydisplaynone.section-ctamargin-top5remtext-aligncenter.w-fullwidth100%.h-fullheight100%.object-coverobject-fitcover.section-paddingpaddingclamp(3rem8vw6.25rem) 0.section-message-containermargin2rem auto 0max-width900pxpositionrelativetext-aligncenter.section-keywordsdisplayflexjustify-contentcentergapmin(1vw0.5rem)margin-top0margin-bottommin(5vw1rem)flex-wrapwrap.section-keywords h3border1px solid var(--text-muted)colorvar(--text-muted)paddingmin(2vw0.4rem) min(3vw1.5rem)border-radius50pxfont-sizemin(3vw1.1rem)margin-bottom0.section-leadmargin-top0.5remcolor#ffffff !importantfont-sizemin(6vw1.5em)line-height1.4.text-block spandisplayinline-block.service-griddisplaygridgrid-template-columnsrepeat(21fr)gapclamp(2rem3vw4rem) clamp(1rem1.5vw2rem)margin-topclamp(2rem5vw3rem)headerpositionfixedtop0left0width100%z-index1000transitionall 0.3s easepadding0opacity1 !importantbackgroundrgba(5550.8)backdrop-filterblur(10px)border-bottom1px solid rgba(2552552550.1)header .containerdisplayflexjustify-contentspace-betweenalign-itemscenterpaddingclamp(0.5rem2vw1rem) 60pxpadding-left60pxpadding-right60px.logodisplayflexalign-itemsflex-end.logo imgheight35pxwidthautovertical-alignbottomcontent-visibilityauto.logo-textfont-sizeclamp(0.7rem2vw0.9rem)font-weight700margin-leftclamp(0.3rem1vw0.4rem)colorrgba(2552552550.75)letter-spacing0.05emfont-family'M PLUS 1p'sans-serifline-height1white-spacenowrapnav uldisplayflexgapmin(2rem2.3vw)align-itemscenternav adisplayflexflex-directioncolumnalign-itemscenterline-height1.2text-decorationnonetransitionvar(--transition)text-aligncenterjustify-contentcenter.jp-navfont-weight700font-size0.95remcolorrgba(2552552550.75)transitionvar(--transition)nav ahover .jp-navnav a.active .jp-navcolorvar(--primary)backgroundvar(--gradient-main)-webkit-background-cliptextbackground-cliptext-webkit-text-fill-colortransparent.en-navfont-size0.55remdisplayblockopacity0.9font-familyvar(--font-body)font-weight400letter-spacing0.05emcolor#bbbmargin-top2pxtext-transformuppercasetransitionvar(--transition)nav ahover .en-navnav a.active .en-navcolorvar(--text-main)opacity1.jp-titledisplayblock.en-titledisplayblockfont-size0.4emmargin-top0font-familyvar(--font-body)font-weight400letter-spacing0.15emcolorvar(--primary)text-transformuppercaseopacity0.9@keyframes fadeInUpfromopacity0transformtranslateY(20px)toopacity1transformtranslateY(0).animate-titleanimationfadeInUp 1s ease-out forwards.scroll-animateopacity0transformtranslateY(30px)transitionopacity 1.5s cubic-bezier(0.210.31)transform 1.2s cubic-bezier(0.210.31)will-changeopacitytransform.scroll-animate.is-visibleopacity1transformtranslateY(0).heroheight100vhdisplayflexalign-itemscenterjustify-contentcenterpositionrelativeoverflowhiddenbackgroundtransparent !importantz-index1#canvas-containerpositionfixedtop0left0width100%height100vhz-index-2background-colorvar(--bg-color)pointer-eventsnoneopacity0animationcanvasFadeIn 0.3s ease-out forwards@keyframes canvasFadeIntoopacity1canvasdisplayblock.hero h1font-sizeclamp(1.4rem5vw3.2rem)margin-bottom2rempadding-left0letter-spacing0.05emline-height1.6font-feature-settings"palt"width100%.hero pfont-size1remcolor#fffmargin-bottom2.5remtext-aligncenterwidth100%font-weightbold.page-headerheight75vhmin-height400pxdisplayflexalign-itemscenterjustify-contentcenterpositionrelativebackgroundradial-gradient(circle at center#1a1a1a 0%#000000 100%)margin-bottom0z-index0overflowhiddentext-shadowrgba(0000.5) 0 0 5rem.page-headeraftercontent''positionabsoluteinset0z-index-1background-sizecoverbackground-positioncenteropacity0filterblur(8px)transformscale(1.05)transitionopacity 1.5s cubic-bezier(0.400.21)filter 1.5s cubic-bezier(0.400.21)transform 1.5s cubic-bezier(0.400.21)will-changeopacityfiltertransform.page-header .animate-titleanimationfadeInUp 1s ease-out 0.2s forwardsopacity0positionrelativez-index2.page-header.is-loadedafteropacity1filterblur(0)transformscale(1).page-header+section>.containerpositionrelativemargin-top-3remz-index10.page-header h1font-sizeclamp(2rem5vw4rem)positionrelativez-index2text-aligncenterdisplayflexflex-directioncolumnalign-itemscentergap10pxline-height1.2.page-header h1 spandisplayblockmargin0 !importantpadding0 !important.page-headerbeforecontent''positionabsolutetop0left0width100%height100%backgroundlinear-gradient(rgba(0000)rgba(411051370.1) 30%#000)z-index1.btndisplayinline-blockfont-sizeclamp(1rem3vw1.2rem)padding1rem 0widthmin(15rem100%)backgroundvar(--gradient-main)colorwhitefont-weight600border-radius50pxbox-shadow0 4px 15px rgba(0000.5)cursorpointer.btnhovertransformtranslateY(-2px)box-shadow0 8px 25px rgba(141652330.4).section-titletext-aligncentermargin-bottom3rem.section-title h2font-sizeclamp(1.8rem3vw2.5rem)word-breakauto-phraseoverflow-wrapbreak-word.section-title pcolorvar(--text-muted)text-aligncenter.section-titleaftercontent""displayblockwidth60pxheight3pxbackgroundvar(--gradient-main)margin1.2rem auto 3remborder-radius2px.card--card-paddingclamp(1rem3vw2.5rem)backgroundvar(--card-bg)border1px solid rgba(2552552550.05)paddingvar(--card-padding)border-radiusmin(3vw0.8rem)transitionvar(--transition)positionrelativeoverflowhiddenbackdrop-filterblur(0.6rem)displayflexflex-directioncolumna.cardhoverborder-colorrgba(2552552550.1)transformtranslateY(-5px).card-iconmargin-bottom1.5remdisplayflexpadding0.5remaspect-ratio1text-aligncenterbackgroundrgba(2552552550.1)border-radiusmin(3vw0.8rem)margin0 auto 0 0.card h3margin1rem 0text-alignleftfont-sizeclamp(1.2rem2vw1.5rem).card pmargin0 0 1rem.stats-griddisplayflexjustify-contentcentergap4remmargin3rem 0text-aligncenter.stat-item h3font-sizeclamp(2rem4vw3.5rem)colorvar(--primary)margin-bottom0.5rem.stat-item p.stat-item smalltext-aligncenter.top-barbackground#111color#999font-sizemin(0.75rem12px)padding3px 0text-aligncenterborder-bottom1px solid rgba(2552552550.1)font-weight400line-height1.6margin0footerbackdrop-filterblur(10px)paddingclamp(2rem5vw4rem) 0 0border-top1px solid rgba(2552552550.25)positionrelativez-index10color#999content-visibilityautocontain-intrinsic-size400pxfooter acolor#999text-decorationnonetransitionvar(--transition)footer ahovercolor#fff.footer-descfont-sizeclamp(0.7rem2.2vw0.9rem).footer-bottom-sectiontext-alignright.footer-contentdisplayflexflex-wrapwrapjustify-contentspace-betweenmargin-bottom4remgap1rem.footer-col awhite-spacenowrap.footer-content>.footer-colfirst-childflex2.footer-links-groupflex3displayflexgapclamp(1rem5%4rem)flex-wrapnowrapmax-width400pxmargin0 auto.footer-links-group .footer-colflex1.footer-links-group .footer-collast-childflex1.6.footer-logodisplayflexalign-itemsflex-endfont-size1.5remfont-weight700margin-bottom1remtext-decorationnonejustify-contentflex-start.footer-logo imgfilterbrightness(0) invert(1).footer-col h3margin-bottom0.5remcolorrgba(2552552550.75)font-size1.1rem.footer-col ulfont-size0.85emlist-stylenonepadding0.footer-col ul liline-height2.footer-bottom-linksdisplayflexgap3remlist-stylenonepaddingclamp(1.5rem3vw2rem) 0 0margin-bottom1.5remjustify-contentrightborder-top1px solid rgba(2552552550.25).footer-bottom-links acolor#999font-size0.85remtransitionvar(--transition).footer-bottom-links ahovercolor#ffftext-decorationunderline.copyrightcolorvar(--text-muted)font-size0.75remborder-topnonepadding-top0.card-cta-buttonhovertransformtranslateY(-2px)box-shadow0 8px 25px rgba(141652330.4).text-link-primarycolorvar(--primary)text-decorationunderline.cms-sectionmargin4rem 0padding4rembackgroundvar(--card-bg)border-radiusmin(3vw0.8rem)border1px solid rgba(2552552550.05).cms-contentdisplayflexalign-itemscentergap4rem.cms-textflex1.cms-text h2font-size1remcolorvar(--primary)text-transformuppercaseletter-spacing0.1emmargin-bottom0.5rem.cms-text h3font-sizeclamp(1.5rem8vw2.5rem)margin-bottom2rembackgroundlinear-gradient(to right#fff#999)-webkit-background-cliptextbackground-cliptext-webkit-text-fill-colortransparent.cms-listmargin-top2rem.cms-list limargin-bottom1.5rempadding-left1.5remborder-left2px solid var(--primary).cms-list strongcolor#ffffont-size1.1remdisplayblockmargin-bottom0.3rem.cms-imageflex1overflowhidden.cms-image imgwidth100%heightautodisplayblocktransitionvar(--transition).skill-griddisplaygridgrid-template-columnsrepeat(31fr)gap1.5remmargin-top2rem.skill-itembackgroundrgba(2552552550.1)border1px solid rgba(2552552550.1)padding1.5remborder-radiusmin(3vw0.8rem)transitionvar(--transition).skill-item h3colorvar(--primary)margin-bottom0.8remfont-size1.1remborder-bottom1px solid rgba(2552552550.1)padding-bottom0.5remdisplayblocktext-aligncentermargin0 0 0.8rem 0.skill-item pfont-size0.9remcolorvar(--text-muted)line-height1.6text-alignjustify.skill-icon-svgwidth64pxheight64pxdisplayblockmargin0 auto 1.5remcolor#ffftransitiontransform 0.3s ease.html-codeanimationtypeCode 3s infinite steps(3)@keyframes typeCode0%100%opacity0.350%opacity1.js-geartransform-origin24px 32pxanimationspinGear 4s linear infinite.js-boltanimationpulseBolt 2s ease-in-out infinite alternate@keyframes spinGeartotransformrotate(360deg)@keyframes pulseBoltfromstroke-width2opacity0.7tostroke-width4opacity1.php-indicator.php-indicator-2animationblinkLight 1.5s infinite alternate.php-indicator-2animation-delay0.75s@keyframes blinkLightfromopacity0.3toopacity1filterdrop-shadow(0 0 2px currentColor).wp-sidebar.wp-contentanimationloadPage 3s ease-in-out infinite.wp-contentanimation-delay0.5s@keyframes loadPage0%100%opacity0.5transformtranslateY(2px)50%opacity1transformtranslateY(0).ai-nodeanimationpulseNode 2s infinite ease-in-out.node-leftanimation-delay0s.node-topanimation-delay0.6s.node-rightanimation-delay1.2s.ai-linkstroke-dasharray10animationflowData 1s linear infinite@keyframes pulseNode0%100%r3opacity0.650%r5opacity1@keyframes flowDatatostroke-dashoffset-20.seo-graphstroke-dasharray100stroke-dashoffset100animationdrawGraph 3s ease-out infinite.seo-glasstransform-origin36px 24pxanimationsearchGlass 4s ease-in-out infinite@keyframes drawGraph0%stroke-dashoffset100opacity020%opacity180%stroke-dashoffset0opacity1100%stroke-dashoffset0opacity0@keyframes searchGlass0%100%transformrotate(0deg) translateX(0)25%transformrotate(-10deg) translateX(-2px)75%transformrotate(10deg) translateX(2px).hamburgerdisplaynoneflex-directioncolumnjustify-contentspace-betweenwidth30pxheight21pxcursorpointerz-index1001.hamburger spandisplayblockwidth100%height3pxbackground-colorvar(--text-main)transitionvar(--transition).hamburger.active spannth-child(1)transformtranslateY(9px) rotate(45deg).hamburger.active spannth-child(2)opacity0.hamburger.active spannth-child(3)transformtranslateY(-9px) rotate(-45deg).contact-confirmation-wrappermax-width800pxmargin0 auto 3remborder1px solid rgba(2552552550.1)background#121212border-radiusmin(3vw0.8rem)padding1rem 2rem.confirmation-itemdisplayflexflex-wrapwrapalign-itemsbaselineborder-bottom1px solid rgba(2552552550.05)padding1rem 0.confirmation-itemlast-childborder-bottomnonemargin-bottom0.confirmation-item labelflex0 0 200pxfont-weightboldcolorvar(--text-muted)font-size0.85remmargin-bottom0.5rem.confirmation-valueflex1word-breakbreak-allfont-size1.1remcolor#fff.confirmation-actionsdisplayflexjustify-contentcenteralign-itemscentergap1remmax-width800pxmargin0 auto.confirmation-actions formmargin0.inline-formdisplayinline.confirm-email-input[readonly]background-colorrgba(2552552550.05) !importantcolorvar(--text-color).confirmation-actions .btnheight54pxpadding0 3remdisplayflexalign-itemscenterjustify-contentcenterbox-shadownone !important.btn-fixbackground#444color#fffborder1px solid rgba(2552552550.2)cursorpointer.btn-fixhoverbackground#555transformtranslateY(-2px).mb-5margin-bottom5rem.mt-3margin-top1rem.company-info-cardbackgroundvar(--card-bg)border1px solid rgba(2552552550.05)border-radiusmin(3vw0.8rem)paddingclamp(2rem3vw3rem)max-width800pxmargin0 auto.card-preview-imgwidthcalc(100% + (var(--card-padding) * 2))margincalc(var(--card-padding) * -1) calc(var(--card-padding) * -1) 0 calc(var(--card-padding) * -1)heightautoaspect-ratio2 / 1object-fitcoverborder-radius0.tech-card-imagewidth100%overflowhiddenborder-radiusmin(3vw0.8rem)margin-bottom1remaspect-ratio2 / 1.tech-card-image imgwidth100%height100%object-fitcoverdisplayblock.tech-card-content h3positionrelativepadding-bottomclamp(0.5rem1.5vw0.8rem)margin-bottomclamp(0.8rem2vw1rem)font-sizeclamp(1.2rem2.5vw1.5rem).tech-card-content h3aftercontent''positionabsolutebottom0left0width40pxheight3pxbackgroundvar(--primary)border-radius2px.tech-card-content pfont-sizeclamp(0.9rem2vw1rem)line-height1.8margin-topclamp(0.5rem1vw1rem)@keyframes zoomfromtransformscale(0)totransformscale(1).cta-box-frameborder0.2rem solid rgba(2552552550.3)border-radiusmin(3vw0.8rem)paddingclamp(1.5rem5vw3rem) clamp(1.5rem3vw2rem)max-width800pxmargin-leftautomargin-rightautobackgroundlinear-gradient(rgb(33 56 99 / 50%) 0%transparent 100%)box-shadow0 0 2rem rgba(2552552550.2)backdrop-filterblur(0.5rem).cta-descriptionmargin-bottomclamp(1.5rem3vw2rem)font-sizeclamp(1rem3vw1.2rem)font-weight700line-height1.8color#ffftext-aligncenterletter-spacing0.05em@media (max-width1200px)mainafterbackgroundurl(../img/bg_footer.png) no-repeat right -0.5rem bottombackground-sizecontainoverflowhiddenleftautoright0@media (max-width1120px)header .containerpaddingclamp(0.5rem2vw1rem) 5%nav ulgap1.25rem@media (max-width1024px).hamburgerdisplayflexnavpositionfixedtop0right-100%width100%height100vhbackgroundrgba(5550.95)backdrop-filterblur(10px)displayflexalign-itemscenterjustify-contentcentertransitionright 0.4s ease-in-outz-index1000padding2rem 0border-bottomnonenav.activeright0nav ulflex-directioncolumngapmin(1.25rem1.3vw)max-height100%overflow-yauto-webkit-overflow-scrollingtouchpadding2rem 1remwidth100%align-itemscenter.jp-navfont-size1.1rem.en-navfont-size0.65rembody.menu-openoverflowhiddenpositionfixedwidth100%.footer-links-group .footer-colmin-width0.heroheightautomin-height60vhpadding-top8rempadding-bottom5rem.hero-slideshowpositionabsoluteheight100%mask-imagelinear-gradient(to bottomrgba(0001) 70%rgba(0000) 100%)-webkit-mask-imagelinear-gradient(to bottomrgba(0001) 70%rgba(0000) 100%)#works .section-ctamargin-top1.5rem@media (max-width900px).skill-gridgrid-template-columnsrepeat(auto-fitminmax(300px1fr)).cms-contentflex-directioncolumngap0.cms-textdisplaycontents.cms-text h2order1margin-rightauto.cms-text h3order2margin-bottom1remmargin-rightauto.cms-text porder3margin-bottom2rem.cms-imageorder4width75%margin0 auto 2rem auto.cms-listorder5margin-top0.cms-sectionpadding2rem@media (max-width768px).sp-onlydisplayinline.stats-gridflex-directionrowgap4%align-itemsflex-start.stat-item h3font-size2.4rem.stat-item pfont-sizeclamp(0.8rem3vw1.2rem).stat-small-textfont-sizeclamp(0.8rem3vw1.2rem)line-height1.4navdisplayflex.footer-contentgapclamp(2rem5vw4rem)margin-bottom1remfooter .containerpadding0 2rem clamp(2rem5vw4rem).section-titlemargin-bottom2rem.page-headermargin-bottom2remheight50vhmin-height300px.cms-sectionpadding1.5rem.cms-text h3font-size1.5remword-breakkeep-allwhite-spacenormal.footer-content>.footer-colfirst-childflex1 1 100%text-alignleft.footer-links-groupjustify-contentspace-evenlymax-width100%.footer-links-group .footer-colflex0 1 autotext-alignleftmargin-bottom0.footer-bottom-sectionmargin-topclamp(2rem5vw4rem).footer-bottom-linksgap1.5remalign-itemscentermargin-bottomclamp(1rem3vw2rem).footer-col ul li adisplayblockline-height2htmlbodyoverflow-yauto !importantoverflow-xhidden !importantheightauto !importantpositionrelative !important@media (max-width600px).cta-box-framemargin-top3rem@media (max-width540px).hidden-on-mobiledisplaynone@media (max-width480px).footer-content>.footer-colfirst-child.footer-colmin-width0.footer-logoflex-wrapwrap.tech-card-imageaspect-ratio1@media (max-height500px) and (orientationlandscape)htmlbodywidth100% !importantmax-width100% !important.herowidth100% !importantmax-width100% !importantheight100vh !important.containermax-width100% !important.btn.hero-ctapadding0.7rem 1.8remfont-size1remheaderwidth100% !important.top-barfont-size0.65rem !importantpadding2px 0 !importanth1font-sizeclamp(1.5rem4vw2rem) !importanth2font-sizeclamp(1.3rem3.5vw1.8rem) !important.hero-content h1font-sizeclamp(1.8rem5vw2.5rem) !important.hero-content pfont-sizeclamp(0.9rem2vw1.1rem) !important.page-headerheight100vh !importantmin-height100vh !importantpadding2rem 1rem