@import"https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;600;700;900&family=Noto+Serif+JP:wght@400;500;600;700;800&display=swap";.hero{min-height:calc(100vh - 48px);background-color:var(--secondary-bg);margin:24px;display:flex;flex-direction:column;position:relative}.navbar{position:absolute;top:32px;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:0 60px;font-family:var(--secondary-font);background:transparent;z-index:1000}.navbar-brand{height:20px;width:auto;transition:transform .3s ease}.navbar-brand:hover{transform:scale(1.1)}.navbar-links{display:flex;gap:40px;align-items:center}.nav-link{position:relative;text-decoration:none;color:var(--primary-font-color);font-family:var(--secondary-font);font-size:clamp(18px,2.5vw,20px);font-weight:700;display:inline-block;z-index:1;flex-shrink:0}.nav-link:before{content:"";position:absolute;bottom:0;left:0;width:100%;height:30%;background-color:var(--accent-color);z-index:-1;transition:height .3s ease}.nav-link:hover:before{height:100%}.nav-link:focus{outline:none;box-shadow:0 0 0 3px #fc9f9780;border-radius:4px}.hamburger-menu{display:none;flex-direction:column;justify-content:center;align-items:center;width:24px;height:24px;background:none;border:none;cursor:pointer;padding:0;z-index:1001;position:relative}.hamburger-line{width:100%;height:2px;background-color:var(--primary-font-color);transition:all .3s ease;transform-origin:center;margin:2px 0}.hamburger-menu.active .hamburger-line:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.hamburger-menu.active .hamburger-line:nth-child(2){opacity:0}.hamburger-menu.active .hamburger-line:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.mobile-menu-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000f2;z-index:1000;opacity:0;visibility:hidden;transition:all .3s ease}.mobile-menu-overlay.active{opacity:1;visibility:visible}.mobile-menu{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:32px}.mobile-nav-link{position:relative;text-decoration:none;color:#fff;font-family:var(--secondary-font);font-size:24px;font-weight:700;display:inline-block;z-index:1;transition:color .3s ease}.mobile-nav-link:before{content:"";position:absolute;bottom:0;left:0;width:100%;height:30%;background-color:var(--accent-color);z-index:-1;transition:height .3s ease}.mobile-nav-link:hover:before{height:100%}.mobile-nav-link:hover{color:var(--primary-font-color)}.hero-content{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:0 var(--section-padding)}.nav-language-toggle{margin-left:20px;align-self:center}.nav-language-pill{position:relative;display:flex;background-color:var(--secondary-bg);border:1px solid #E5E7EB;border-radius:20px;padding:2px;width:120px;overflow:hidden}.nav-language-highlight{position:absolute;top:2px;left:2px;width:calc(50% - 2px);height:calc(100% - 4px);background-color:var(--accent-color);border-radius:18px;transition:transform .25s ease;z-index:1}.nav-language-highlight.japanese{transform:translate(100%)}.nav-language-option{position:relative;font-family:var(--secondary-font);font-size:14px;font-weight:600;background:none;border:none;cursor:pointer;transition:all .25s ease;outline:none;color:var(--secondary-font-color);padding:6px 0;border-radius:18px;z-index:2;flex:1 1 0;text-align:center;white-space:nowrap;display:flex;align-items:center;justify-content:center;opacity:.7}.nav-language-option:hover{opacity:1}.nav-language-option.active{color:var(--primary-font-color);opacity:1}.nav-language-option:focus{outline:none;box-shadow:0 0 0 3px #fc9f9766;border-radius:18px}.mobile-language-toggle{margin-top:32px;display:none;justify-content:center}.mobile-language-pill{position:relative;display:flex;background-color:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:20px;padding:2px;width:120px;overflow:hidden}.mobile-language-highlight{position:absolute;top:2px;left:2px;width:calc(50% - 2px);height:calc(100% - 4px);background-color:var(--accent-color);border-radius:18px;transition:transform .25s ease;z-index:1}.mobile-language-highlight.japanese{transform:translate(100%)}.mobile-language-option{position:relative;font-family:var(--secondary-font);font-size:14px;font-weight:600;background:none;border:none;cursor:pointer;transition:all .25s ease;outline:none;color:#ffffffb3;padding:6px 0;border-radius:18px;z-index:2;flex:1 1 0;text-align:center;white-space:nowrap;display:flex;align-items:center;justify-content:center}.mobile-language-option:hover{color:#fff}.mobile-language-option.active{color:var(--primary-font-color)}.mobile-language-option:focus{outline:none;box-shadow:0 0 0 3px #fc9f9766;border-radius:18px}.hero-text{margin-bottom:60px}.hero-greeting{font-family:var(--primary-font);font-size:clamp(48px,8vw,72px);line-height:1.1;margin:0 0 20px;color:var(--primary-font-color);font-weight:400;letter-spacing:-.02em}.hero-profession{display:flex;flex-direction:column;align-items:center;margin-bottom:20px}.typed-container{position:relative;display:inline-block}.typed-text{font-family:var(--primary-font);font-size:clamp(48px,8vw,72px);line-height:1.1;color:var(--primary-font-color);font-weight:400;letter-spacing:-.02em}.typing-cursor{font-family:var(--primary-font);font-size:clamp(48px,8vw,72px);line-height:1.1;color:var(--primary-font-color);font-weight:400;animation:blink 1s infinite;margin-left:2px}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.hero-location{font-family:var(--primary-font);font-size:clamp(48px,8vw,72px);line-height:1.1;margin:0;color:var(--primary-font-color);font-weight:400;letter-spacing:-.02em}.hero-location-before{font-family:var(--primary-font);font-size:clamp(48px,8vw,72px);line-height:1.1;margin:0 0 20px;color:var(--primary-font-color);font-weight:400}@media (max-width: 768px){.hero{margin:20px 20px 0}.navbar{top:28px!important;padding:0 24px!important}.navbar-brand{height:18px!important}.desktop-nav{display:none}.hamburger-menu{display:flex;margin:0}.mobile-language-toggle{display:flex;margin:0 24px 0 0;flex:1;justify-content:center}.navbar-brand{height:12px!important}.hero-content{padding:0 24px}.hero-greeting,.typed-text,.typing-cursor,.hero-location,.hero-location-before{font-size:clamp(32px,8vw,48px)}.hero-text{margin-bottom:40px}}@media (max-width: 480px){.hero{margin:16px 16px 0}.navbar{top:24px!important;padding:0 16px!important}.navbar-brand{height:12px!important}.hero-content{padding:0 16px}.hero-text{margin-bottom:32px}}.my-work{margin:var(--site-margin);background-color:var(--secondary-bg)}.my-work-inner{padding:var(--section-padding);background-color:var(--primary-bg)}.my-work-container{max-width:var(--max-width);margin:0 auto}.projects-header{text-align:center;margin-bottom:80px}.projects-title{font-family:var(--primary-font);font-size:clamp(48px,8vw,80px);font-weight:400;line-height:1.1;color:var(--primary-font-color);margin:0 0 32px;letter-spacing:-.02em}.projects-subtitle{font-family:var(--secondary-font);font-size:var(--body-text-large);line-height:var(--line-height-large);color:var(--secondary-font-color);max-width:640px;margin:0 auto}.projects-grid{display:grid;grid-template-columns:1fr;gap:48px;margin-bottom:64px}@media (min-width: 1024px){.projects-grid{grid-template-columns:1fr 1fr;gap:80px}}@media (min-width: 1200px){.projects-grid{gap:100px}}.project-link{text-decoration:none;color:inherit;display:block}.project-card{background-color:var(--secondary-bg);padding:24px;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease;box-shadow:0 2px 8px #0000000d}.project-card:hover,.project-link:hover .project-card{transform:translateY(-4px) scale(1.02);box-shadow:0 8px 24px #0000001f}.project-image-container{position:relative;background-color:#fff;overflow:hidden;margin:-24px -24px 20px;aspect-ratio:4/3}.project-image{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.project-card:nth-child(3) .project-image-container{background-color:#fff}.project-card:nth-child(3) .project-image{object-fit:contain}.project-card:hover .project-image,.project-link:hover .project-image{transform:scale(1.05)}.project-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:var(--primary-bg);color:var(--secondary-font-color);font-family:var(--secondary-font);font-size:16px;text-align:center;padding:20px}.project-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background-color:#0000;transition:background-color .3s ease}.project-card:hover .project-overlay,.project-link:hover .project-overlay{background-color:#0000001a}.project-content{display:flex;flex-direction:column;gap:16px}.project-title{font-family:var(--primary-font);font-size:clamp(20px,3vw,28px);font-weight:400;line-height:1.2;color:var(--primary-font-color);margin:0;transition:color .3s ease}.project-card:hover .project-title,.project-link:hover .project-title{color:var(--accent-color)}.project-description{font-family:var(--secondary-font);font-size:var(--body-text-large);line-height:var(--line-height-large);color:var(--secondary-font-color);margin:0}.project-tags{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 12px}.project-tag{font-family:var(--secondary-font);font-size:14px;font-weight:400;padding:6px 12px;background-color:var(--primary-bg);color:var(--primary-font-color);border-radius:0}.project-cta{display:inline-flex;align-items:center;gap:8px;font-family:var(--secondary-font);font-size:14px;font-weight:600;color:var(--primary-font-color);background:none;border:none;cursor:pointer;padding:0;text-decoration:none;transition:color .3s ease}.project-cta-text{transition:color .3s ease}.project-card:hover .project-cta,.project-link:hover .project-cta,.project-card:hover .project-cta-text,.project-link:hover .project-cta-text{color:var(--accent-color)}.arrow-icon{width:12px;height:12px;transition:transform .3s ease}.project-card:hover .arrow-icon,.project-link:hover .arrow-icon{transform:translate(4px)}.projects-cta{text-align:center;margin-top:64px}.cta-text{font-family:var(--secondary-font);font-size:var(--body-text-large);line-height:var(--line-height-large);color:var(--secondary-font-color);margin:0 0 24px}@media (max-width: 768px){.my-work{margin:20px}.my-work-inner{padding:40px 24px}.projects-header{margin-bottom:60px}.projects-title{margin:0 0 24px}.projects-subtitle{font-size:var(--body-text-large);line-height:var(--line-height-large);color:var(--secondary-font-color)}.projects-grid{gap:72px;margin-bottom:48px}.project-content{gap:14px}.project-description{font-size:var(--body-text-large);line-height:var(--line-height-large);color:var(--secondary-font-color)}.projects-cta{margin-top:64px}.cta-text{font-size:var(--body-text-large);line-height:var(--line-height-large);color:var(--secondary-font-color)}}@media (max-width: 480px){.my-work{margin:16px}.my-work-inner{padding:32px 16px}.projects-header{margin-bottom:48px}.projects-title{margin:0 0 20px}.projects-grid{gap:64px;margin-bottom:40px}.project-card{padding:20px}.project-image-container{margin:-20px -20px 16px}.project-content{gap:14px}.projects-cta{margin-top:56px}}.services{margin:var(--site-margin) var(--site-margin) 0 var(--site-margin);background-color:var(--secondary-bg)}.services-inner{padding:var(--section-padding);background-color:var(--primary-bg)}.services-container{max-width:var(--max-width);margin:0 auto}.services-title{text-align:center;margin-bottom:64px}.services-title h2{font-family:var(--primary-font);font-size:clamp(48px,8vw,80px);font-weight:400;line-height:1.1;color:var(--primary-font-color);margin:0;letter-spacing:-.02em}.services-content{display:grid;grid-template-columns:1fr 1fr 1fr;gap:48px;align-items:start}.service-card{background:linear-gradient(135deg,#fff5f4,#fafafa);border:1px solid #E5E7EB;padding:32px;height:100%;display:flex;flex-direction:column;text-align:center}.service-number{font-family:var(--primary-font);font-size:14px;font-weight:400;color:var(--primary-font-color);opacity:.6;margin-bottom:24px;letter-spacing:1px}.service-content{flex:1}.service-heading{font-family:var(--primary-font);font-size:clamp(22px,3vw,28px);font-weight:500;color:var(--primary-font-color);margin:0 0 20px;line-height:1.2;letter-spacing:-.01em}.service-description{font-family:var(--secondary-font);font-size:var(--body-text-medium);line-height:var(--line-height-medium);color:var(--secondary-font-color);margin:0}@media (max-width: 1024px){.services-content{grid-template-columns:1fr;gap:32px}}@media (max-width: 768px){.services{margin:20px 20px 0}.services-inner{padding:40px 24px}.services-title{margin-bottom:48px}.services-content{grid-template-columns:1fr;gap:40px}.service-card{padding:28px}.service-number{margin-bottom:20px}.service-heading{margin-bottom:16px}.service-description{font-size:16px;line-height:28px}}@media (max-width: 480px){.services{margin:16px 16px 0}.services-inner{padding:32px 16px}.services-title{margin-bottom:40px}.services-content{gap:32px}.service-card{padding:24px}.service-number{margin-bottom:16px;font-size:12px}.service-heading{margin-bottom:14px}.service-description{font-size:16px;line-height:28px}}.footer{margin:var(--site-margin);background-color:var(--secondary-bg)}.footer-inner{padding:var(--section-padding);background-color:var(--primary-bg)}.footer-container{max-width:var(--max-width);margin:0 auto}.contact-card{background:#fff;border:1px solid #E5E7EB;padding:48px;text-align:center;margin-bottom:48px}.contact-header{margin-bottom:32px}.contact-header h2{font-family:var(--primary-font);font-size:clamp(48px,8vw,72px);line-height:1.1;color:var(--primary-font-color);margin:0;font-weight:400;letter-spacing:-.02em}.contact-content{display:flex;flex-direction:column;align-items:center;gap:40px}.contact-description{max-width:640px;display:flex;flex-direction:column;gap:24px}.contact-description p{font-family:var(--secondary-font);font-size:var(--body-text-large);line-height:var(--line-height-large);color:var(--secondary-font-color);margin:0}.contact-cta{display:flex;justify-content:center}.contact-form{width:100%;max-width:640px;margin:0 auto 40px}.form-group{margin-bottom:28px}.form-label{font-family:var(--secondary-font);font-size:16px;font-weight:600;color:var(--primary-font-color);margin-bottom:8px;display:block}.locale-ja .form-label{font-weight:700}.form-input{width:100%;padding:16px;font-family:var(--secondary-font);font-size:16px;color:var(--primary-font-color);background-color:var(--primary-bg);border:1px solid #E5E7EB;border-radius:0;transition:border-color .3s ease,box-shadow .3s ease}.form-input:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px #fc9f9733}.form-input.error{border-color:var(--accent-color);box-shadow:0 0 0 1px var(--accent-color)}.form-input::placeholder{color:#999;opacity:.8}.form-textarea{resize:vertical;min-height:120px;font-family:var(--secondary-font)}.form-submit{text-align:center;margin-top:32px}.error-message{font-family:var(--secondary-font);font-size:14px;color:var(--accent-color);margin-top:6px;display:block}.success-message{font-family:var(--secondary-font);font-size:16px;color:#22c55e;text-align:center;margin-top:16px;margin-bottom:0}.email-options{text-align:center;margin-top:32px;padding-top:32px;border-top:1px solid #E5E7EB}.email-options-text{font-family:var(--secondary-font);font-size:var(--body-text-medium);color:var(--secondary-font-color);margin:0 0 16px}.email-actions{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}.email-copy-btn,.email-link-btn{position:relative;text-decoration:none;color:var(--primary-font-color);font-family:var(--secondary-font);font-size:18px;font-weight:700;display:inline-block;z-index:1;background:transparent;border:none;cursor:pointer;padding:0}.email-copy-btn:before,.email-link-btn:before{content:"";position:absolute;bottom:0;left:0;width:100%;height:30%;background-color:var(--accent-color);z-index:-1;transition:height .3s ease}.email-copy-btn:hover:before,.email-link-btn:hover:before{height:100%}.email-copy-btn:disabled{opacity:.6;cursor:not-allowed}.footer-bar{background-color:var(--secondary-bg);border-top:1px solid #E5E7EB;padding:24px 0}.footer-bar-container{max-width:var(--max-width);margin:0 auto;padding:0 var(--section-padding);text-align:center}.copyright{font-family:var(--secondary-font);font-size:14px;color:#666;margin:0}@media (max-width: 768px){.footer{margin:20px}.footer-inner{padding:40px 24px}.contact-card{padding:40px 32px;margin-bottom:40px}.contact-header h2{font-size:clamp(32px,8vw,48px);margin-bottom:24px}.contact-content{gap:32px}.contact-description{gap:20px}.contact-description p{font-size:16px;line-height:28px}.contact-form{margin-bottom:32px}.form-group{margin-bottom:24px}.form-label{font-size:15px}.form-input{padding:14px;font-size:16px}.form-textarea{min-height:100px}.form-submit{margin-top:28px}.email-options{margin-top:28px;padding-top:28px}.email-actions{gap:12px}.email-copy-btn,.email-link-btn{font-size:16px}.footer-bar-container{padding:0 24px}}@media (max-width: 480px){.footer{margin:16px}.footer-inner{padding:32px 16px}.contact-card{padding:32px 24px;margin-bottom:32px}.contact-header h2{font-size:clamp(28px,8vw,40px)}.contact-content{gap:28px}.contact-description{gap:16px}.contact-description p{font-size:16px;line-height:28px}.contact-form{margin-bottom:28px}.form-group{margin-bottom:22px}.form-label{font-size:15px;margin-bottom:6px}.form-input{padding:12px;font-size:16px}.form-textarea{min-height:90px}.form-submit{margin-top:24px}.email-options{margin-top:24px;padding-top:24px}.email-options-text{font-size:15px}.email-actions{justify-content:center;gap:12px}.email-copy-btn,.email-link-btn{font-size:16px}.footer-bar{padding:20px 0}.footer-bar-container{padding:0 16px}.copyright{font-size:12px}}.project-page{background-color:var(--primary-bg)}.project-hero{min-height:70vh;background-color:var(--secondary-bg);margin:var(--site-margin);display:flex;flex-direction:column;position:relative}.project-hero-inner{padding:var(--section-padding);background-color:var(--secondary-bg);height:100%;display:flex;flex-direction:column}.project-hero .navbar{position:absolute;top:32px;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:0 60px;font-family:var(--secondary-font);background:transparent;z-index:1000}.project-hero .navbar-brand{height:20px;width:auto}.project-hero .navbar-links{display:flex;gap:40px}.project-hero .nav-link{position:relative;text-decoration:none;color:var(--primary-font-color);font-family:var(--secondary-font);font-size:clamp(18px,2.5vw,20px);font-weight:700;display:inline-block;z-index:1}.project-hero .nav-link:before{content:"";position:absolute;bottom:0;left:0;width:100%;height:30%;background-color:var(--accent-color);z-index:-1;transition:height .3s ease}.project-hero .nav-link:hover:before{height:100%}.project-hero .nav-link:focus{outline:none;box-shadow:0 0 0 3px #fc9f9780;border-radius:4px}.project-hero .hamburger-menu{display:none;flex-direction:column;justify-content:center;align-items:center;width:24px;height:24px;background:none;border:none;cursor:pointer;padding:0;z-index:1001;position:relative}.project-hero .hamburger-line{width:100%;height:2px;background-color:var(--primary-font-color);transition:all .3s ease;transform-origin:center;margin:2px 0}.project-hero .hamburger-menu.active .hamburger-line:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.project-hero .hamburger-menu.active .hamburger-line:nth-child(2){opacity:0}.project-hero .hamburger-menu.active .hamburger-line:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.project-hero .mobile-menu-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000f2;z-index:1000;opacity:0;visibility:hidden;transition:all .3s ease}.project-hero .mobile-menu-overlay.active{opacity:1;visibility:visible}.project-hero .mobile-menu{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:32px}.project-hero .mobile-nav-link{position:relative;text-decoration:none;color:#fff;font-family:var(--secondary-font);font-size:24px;font-weight:700;display:inline-block;z-index:1;transition:color .3s ease}.project-hero .mobile-nav-link:before{content:"";position:absolute;bottom:0;left:0;width:100%;height:30%;background-color:var(--accent-color);z-index:-1;transition:height .3s ease}.project-hero .mobile-nav-link:hover:before{height:100%}.project-hero .mobile-nav-link:hover{color:var(--primary-font-color)}.project-hero-content{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:120px 0 60px}.project-showcase-header{max-width:800px;margin:0 auto}.project-showcase-label{font-family:var(--secondary-font);font-size:14px;font-weight:700;line-height:110%;letter-spacing:.2em;text-align:center;color:#b7b4b9;text-transform:uppercase;margin:0 0 32px}.project-page .project-title{font-family:var(--primary-font);font-size:clamp(48px,8vw,80px);font-weight:400;line-height:1.1;color:var(--primary-font-color);margin:0 0 32px;letter-spacing:-.02em}.project-page .project-description{font-family:var(--secondary-font);font-size:var(--body-text-large);line-height:var(--line-height-large);color:var(--secondary-font-color);margin:0 auto 48px;max-width:640px;text-align:center}.project-cta-container{display:flex;justify-content:center}.project-cta-link{display:inline-flex;align-items:center}.project-cta-link .cta-arrow{margin-left:4px;transition:transform .3s ease}.project-cta-link:hover .cta-arrow{transform:translate(6px)}.project-mockup-section{padding:70px 60px 60px;background-color:transparent;margin-top:-310px;position:relative;z-index:10}.project-page .project-hero{min-height:50vh;margin-bottom:0}.project-page .project-hero-inner{margin-bottom:0}.project-page .project-hero-content{padding:120px 0 50px}@media (max-width: 768px){.project-page .project-hero .navbar{padding:8px 24px}.project-page .project-hero-content{padding:110px 0 45px}}@media (max-width: 480px){.project-page .project-hero .navbar{padding:6px 16px}.project-page .project-hero-content{padding:100px 0 35px}}.project-page .project-mockup-section{margin:var(--site-margin);margin-top:0;padding:0 60px;background:linear-gradient(to bottom,var(--secondary-bg) 0%,var(--primary-bg) 100%);min-height:120px}.mockup-image-container{display:flex;justify-content:center;align-items:center;width:100%;max-width:928px;margin:0 auto}.mockup-image{max-width:1200px;width:100%;height:auto;object-fit:contain;display:block}.mockup-image[alt="QCA Landing Page Template Mockup"],.mockup-image[alt="QCAランディングページテンプレート モックアップ"],.mockup-image[alt="Car Share App Project Mockup"],.mockup-image[alt="カーシェアアプリ プロジェクトモックアップ"]{box-shadow:0 12px 32px #00000026}.userflow-images-container{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:32px}.userflow-image-item{width:100%}.prototype-video-background{padding:60px 40px;margin:40px 0;display:flex;justify-content:center;align-items:center;position:relative}.prototype-phone-container{position:relative;width:300px;height:600px;display:flex;flex-direction:column;align-items:center;justify-content:center}.prototype-phone-video{width:100%;height:100%;object-fit:cover;background:#000}.prototype-controls{position:absolute;bottom:-60px;left:50%;transform:translate(-50%);display:flex;gap:12px}.prototype-control-btn{background:#000c;color:#fff;border:none;border-radius:50%;width:48px;height:48px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.prototype-control-btn:hover{background:#000000e6;transform:scale(1.05)}@media (max-width: 768px){.project-hero{margin:20px;min-height:70vh}.project-hero-inner{padding:40px 24px}.project-hero .navbar{padding:32px 24px}.project-hero .desktop-nav{display:none}.project-hero .hamburger-menu{display:flex}.project-hero-content{padding:100px 0 40px}.project-showcase-label{font-size:12px;margin-bottom:24px}.project-page .project-description{font-size:var(--body-text-large);line-height:var(--line-height-large);color:var(--secondary-font-color);margin:0 auto 40px;text-align:center}.project-mockup-section{padding:35px 40px 40px;margin-top:-50px!important}.project-page .project-mockup-section{margin:20px;margin-top:0!important;padding:0 40px;background:linear-gradient(to bottom,var(--secondary-bg) 0%,var(--primary-bg) 100%);min-height:100px}.mockup-image{max-width:100%}}.project-main-content{max-width:1200px;margin:0 auto;padding:80px 60px}.project-content-section{margin-bottom:96px}.project-content-section:last-child{margin-bottom:0}.project-section-title{font-family:var(--primary-font);font-size:clamp(36px,6vw,48px);font-weight:400;line-height:1.2;color:var(--primary-font-color);margin:0 0 48px;text-align:left;letter-spacing:-.02em}.project-subsection-title{font-family:var(--primary-font);font-size:clamp(26px,4vw,36px);font-weight:400;line-height:1.3;color:var(--primary-font-color);margin:0 0 32px}.project-content-text{font-family:var(--secondary-font);font-size:var(--body-text-large);line-height:var(--line-height-large);color:var(--secondary-font-color);margin:0 0 40px}.project-highlight-box{background:linear-gradient(135deg,#fff5f4,#fafafa);border:1px solid #E5E7EB;padding:40px;margin:40px 0}.project-highlight-title{font-family:var(--primary-font);font-size:24px;font-weight:400;line-height:1.3;color:var(--primary-font-color);margin:0 0 24px;display:flex;align-items:center}.project-highlight-text{font-family:var(--secondary-font);font-size:var(--body-text-large);line-height:var(--line-height-large);color:var(--primary-font-color);margin:0}.project-accent-dot{width:12px;height:12px;background-color:var(--accent-color);margin-right:16px;flex-shrink:0}.project-challenges-list{display:flex;flex-direction:column;gap:24px}.project-challenge-item{display:flex;align-items:flex-start}.project-challenge-icon{width:14px;height:14px;display:flex;align-items:center;justify-content:center;margin-right:16px;margin-top:0;flex-shrink:0;transform:translateY(6px)}.bullet-square{width:14px!important;height:14px!important}.project-challenge-content{flex:1}.project-challenge-title{font-family:var(--secondary-font);font-size:18px;font-weight:600;color:var(--primary-font-color);margin:0 0 8px}.project-challenge-text{font-family:var(--secondary-font);font-size:var(--body-text-medium);line-height:var(--line-height-medium);color:var(--secondary-font-color);margin:0}.project-research-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:32px;margin:40px 0}.project-research-card{background:#fff;border:1px solid #E5E7EB;padding:32px;text-align:center}.project-research-icon{width:64px;height:64px;background-color:#fc9f971a;display:flex;align-items:center;justify-content:center;margin:0 auto 24px}.project-research-icon svg{color:var(--accent-color)}.project-research-title{font-family:var(--secondary-font);font-size:20px;font-weight:600;color:var(--primary-font-color);margin:0 0 16px}.project-research-text{font-family:var(--secondary-font);font-size:16px;line-height:28px;color:var(--secondary-font-color);margin:0}.project-findings-list{display:flex;flex-direction:column;gap:32px}.project-finding-item{display:flex;align-items:flex-start}.project-finding-icon{width:48px;height:48px;background:#fff;border-radius:16px;display:flex;align-items:center;justify-content:center;margin-right:24px;margin-top:4px;box-shadow:0 2px 8px #0000000d}.project-finding-icon svg{color:var(--accent-color)}.project-finding-content{flex:1}.project-finding-title{font-family:var(--secondary-font);font-size:18px;font-weight:600;color:var(--primary-font-color);margin:0 0 8px}.project-finding-text{font-family:var(--secondary-font);font-size:16px;line-height:28px;color:var(--primary-font-color);margin:0}.project-process-item{margin:64px 0}.project-process-image{position:relative;overflow:hidden;margin-top:32px}.project-process-image img{width:100%;height:auto;object-fit:contain;display:block}.project-iteration-list{display:flex;flex-direction:column;gap:24px;margin-top:32px}.project-iteration-item{background:#fff;padding:24px;border-radius:16px}.project-iteration-title{font-family:var(--secondary-font);font-size:18px;font-weight:600;color:var(--primary-font-color);margin:0 0 12px}.project-iteration-text{font-family:var(--secondary-font);font-size:16px;line-height:28px;color:var(--secondary-font-color);margin:0}.project-implementation-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:32px;margin:40px 0}.project-implementation-card{background:#fff;border:1px solid #E5E7EB;padding:32px;text-align:center}.project-implementation-icon{width:64px;height:64px;background-color:#fc9f971a;display:flex;align-items:center;justify-content:center;margin:0 auto 24px}.project-implementation-icon svg{color:var(--accent-color)}.project-implementation-title{font-family:var(--secondary-font);font-size:18px;font-weight:600;color:var(--primary-font-color);margin:0 0 16px}.project-implementation-text{font-family:var(--secondary-font);font-size:16px;line-height:28px;color:var(--secondary-font-color);margin:0}.project-challenges-detailed{display:flex;flex-direction:column;gap:32px;margin-top:32px}.project-challenge-detailed{background:#fff;padding:32px;border-radius:16px}.project-challenge-detailed-title{font-family:var(--secondary-font);font-size:18px;font-weight:600;color:var(--primary-font-color);margin:0 0 16px}.project-challenge-detailed-text{font-family:var(--secondary-font);font-size:16px;line-height:28px;color:var(--secondary-font-color);margin:0 0 24px}.project-architecture-list{display:grid;grid-template-columns:1fr;gap:12px;margin:0;padding:0;list-style:none}.project-architecture-list li{display:flex;align-items:center;font-family:var(--secondary-font);font-size:16px;color:var(--secondary-font-color)}.project-architecture-list li svg{color:var(--accent-color);margin-right:12px;flex-shrink:0}.project-testing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:32px;margin:40px 0}.project-testing-card{background:#fff;border:1px solid #E5E7EB;padding:32px;text-align:center}.project-testing-icon{width:64px;height:64px;background-color:#fc9f971a;display:flex;align-items:center;justify-content:center;margin:0 auto 24px}.project-testing-icon svg{color:var(--accent-color)}.project-testing-title{font-family:var(--secondary-font);font-size:20px;font-weight:600;color:var(--primary-font-color);margin:0 0 16px}.project-testing-text{font-family:var(--secondary-font);font-size:16px;line-height:28px;color:var(--secondary-font-color);margin:0}.project-results-list{display:flex;flex-direction:column;gap:32px}.project-result-item{display:flex;align-items:flex-start}.project-result-icon{width:48px;height:48px;background:#fff;border-radius:16px;display:flex;align-items:center;justify-content:center;margin-right:24px;margin-top:4px;box-shadow:0 2px 8px #0000000d}.project-result-icon svg{color:var(--accent-color)}.project-result-content{flex:1}.project-result-title{font-family:var(--secondary-font);font-size:18px;font-weight:600;color:var(--primary-font-color);margin:0 0 8px}.project-result-text{font-family:var(--secondary-font);font-size:16px;line-height:28px;color:var(--primary-font-color);margin:0}.project-categories-list{display:flex;flex-direction:column;gap:24px;margin-top:32px}.project-category-item{background:#fff;padding:24px;border-radius:16px}.project-category-title{font-family:var(--secondary-font);font-size:18px;font-weight:600;color:var(--primary-font-color);margin:0 0 12px}.project-category-text{font-family:var(--secondary-font);font-size:16px;line-height:28px;color:var(--secondary-font-color);margin:0}.project-lessons-list{display:flex;flex-direction:column;gap:24px}.project-lesson-item{display:flex;align-items:flex-start}.project-lesson-icon{width:8px;height:8px;background-color:var(--accent-color);margin-right:16px;margin-top:8px;flex-shrink:0}.project-lesson-content{flex:1}.project-lesson-title{font-family:var(--secondary-font);font-size:18px;font-weight:600;color:var(--primary-font-color);margin:0 0 8px}.project-lesson-text{font-family:var(--secondary-font);font-size:16px;line-height:28px;color:var(--secondary-font-color);margin:0}.project-improvements-list{display:flex;flex-direction:column;gap:24px;margin-top:32px}.project-improvement-item{background:#fff;padding:24px;border-radius:16px}.project-improvement-title{font-family:var(--secondary-font);font-size:18px;font-weight:600;color:var(--primary-font-color);margin:0 0 12px}.project-improvement-text{font-family:var(--secondary-font);font-size:16px;line-height:28px;color:var(--secondary-font-color);margin:0}.project-inline-icon{color:var(--accent-color);margin-right:8px;vertical-align:middle;flex-shrink:0}.project-challenge-detailed-title,.project-iteration-title,.project-category-title,.project-improvement-title{display:flex;align-items:center}@media (max-width: 768px){.project-main-content{padding:60px 30px}.project-content-section{margin-bottom:64px}.project-section-title{font-size:clamp(28px,6vw,36px);margin-bottom:32px}.project-subsection-title{font-size:clamp(20px,4vw,24px);margin-bottom:24px}.project-content-text{font-size:16px;line-height:28px;margin-bottom:32px}.project-highlight-box{padding:24px;margin:32px 0}.project-highlight-title{font-size:20px;margin-bottom:16px}.project-highlight-text{font-size:16px;line-height:28px}.project-research-grid,.project-implementation-grid,.project-testing-grid{grid-template-columns:1fr;gap:24px;margin:32px 0}.project-research-card,.project-implementation-card,.project-testing-card{padding:24px}.project-process-image img{height:auto}.project-process-item{margin:40px 0}.project-challenge-icon,.project-lesson-icon{width:12px;height:12px;margin-right:14px;margin-top:0;transform:translateY(8px)}.bullet-square{width:12px!important;height:12px!important}.project-research-icon,.project-implementation-icon,.project-testing-icon{width:48px;height:48px;margin-bottom:16px}.project-research-icon svg,.project-implementation-icon svg,.project-testing-icon svg{width:20px;height:20px}.project-finding-icon,.project-result-icon{width:40px;height:40px;margin-right:16px}.project-challenge-detailed,.project-iteration-item,.project-category-item,.project-improvement-item{padding:20px}.project-inline-icon{margin-right:6px}.project-architecture-list li svg{margin-right:8px}.prototype-video-background{padding:40px 20px;margin:32px 0}.prototype-phone-container{width:250px;height:500px}}@media (max-width: 576px){.project-challenge-icon,.project-lesson-icon{width:12px;height:12px;margin-right:16px;margin-top:0;transform:translateY(8px)}.bullet-square{width:12px!important;height:12px!important}.project-hero-content{padding:100px 0 40px}.project-mockup-section{margin-top:0!important}.project-page .project-mockup-section{margin:20px;margin-top:0!important;padding:0 24px;background:linear-gradient(to bottom,var(--secondary-bg) 0%,var(--primary-bg) 100%);min-height:80px}}@media (max-width: 480px){.project-hero{margin:16px;min-height:70vh}.project-hero-inner{padding:32px 16px}.project-hero .navbar{padding:16px}.project-hero-content{padding:80px 0 32px}.project-showcase-label{margin-bottom:20px}.project-page .project-description{font-size:var(--body-text-large);line-height:var(--line-height-large);color:var(--secondary-font-color);margin:0 auto 32px;text-align:center}.project-mockup-section{padding:32px;margin-top:20px!important}.project-page .project-mockup-section{margin:16px;margin-top:0!important;padding:0 20px;background:linear-gradient(to bottom,var(--secondary-bg) 0%,var(--primary-bg) 100%);min-height:60px}.userflow-images-container{grid-template-columns:1fr;gap:24px}.project-main-content{padding:40px 20px}.project-content-section{margin-bottom:48px}.project-section-title{font-size:clamp(24px,6vw,32px);margin-bottom:24px}.project-subsection-title{font-size:clamp(18px,4vw,20px);margin-bottom:20px}.project-content-text{font-size:16px;line-height:26px;margin-bottom:24px}.project-highlight-box{padding:20px;margin:24px 0}.project-highlight-title{font-size:18px;margin-bottom:12px}.project-highlight-text{font-size:16px;line-height:26px}.project-research-grid,.project-implementation-grid,.project-testing-grid{gap:20px;margin:24px 0}.project-research-card,.project-implementation-card,.project-testing-card{padding:20px}.project-process-image img{height:auto}.project-process-item{margin:32px 0}.project-challenge-icon,.project-lesson-icon{width:11px;height:11px;margin-right:16px;margin-top:0;transform:translateY(7px)}.bullet-square{width:11px!important;height:11px!important}.project-research-icon,.project-implementation-icon,.project-testing-icon{width:40px;height:40px;margin-bottom:12px}.project-research-icon svg,.project-implementation-icon svg,.project-testing-icon svg{width:18px;height:18px}.project-finding-icon,.project-result-icon{width:36px;height:36px;margin-right:12px}.project-challenge-detailed,.project-iteration-item,.project-category-item,.project-improvement-item{padding:16px}.project-accent-dot{width:10px;height:10px;margin-right:12px}.project-inline-icon{margin-right:6px}.project-architecture-list li svg{margin-right:6px}.prototype-video-background{padding:32px 16px;margin:24px 0}.prototype-phone-container{width:200px;height:400px}.prototype-controls{bottom:-50px}.prototype-control-btn{width:40px;height:40px;font-size:14px}}.not-found-page{min-height:100vh;background-color:var(--primary-bg);display:flex;flex-direction:column}.not-found-page .navbar{position:absolute;top:32px;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:0 60px;font-family:var(--secondary-font);background:transparent;z-index:1000}.not-found-content{flex:1;display:flex;align-items:center;justify-content:center;padding:120px var(--section-padding) 80px;text-align:center}.not-found-container{max-width:600px;margin:0 auto}.error-code{font-family:var(--primary-font);font-size:clamp(120px,20vw,200px);font-weight:400;color:var(--accent-color);line-height:.8;margin-bottom:24px;letter-spacing:-.02em}.error-title{font-family:var(--primary-font);font-size:clamp(32px,6vw,48px);font-weight:400;color:var(--primary-font-color);margin:0 0 20px;line-height:1.1;letter-spacing:-.02em}.error-description{font-family:var(--secondary-font);font-size:var(--body-text-large);line-height:var(--line-height-large);color:var(--secondary-font-color);max-width:480px;margin:0 auto 40px}.error-actions{display:flex;flex-direction:column;align-items:center;gap:24px}.error-actions .cta-button-container{position:relative;display:inline-block}.error-actions .cta-button-bg{position:absolute;top:0;left:0;right:0;bottom:0;background-color:var(--accent-color);transform:skew(-5deg);z-index:1}.error-actions .cta-button{position:relative;display:inline-block;padding:16px 32px;font-family:var(--secondary-font);font-size:18px;font-weight:700;color:var(--primary-font-color);text-decoration:none;z-index:2;transition:transform .3s ease}.error-actions .cta-button:hover{transform:translateY(-2px)}.secondary-link{font-family:var(--secondary-font);font-size:16px;font-weight:600;color:var(--secondary-font-color);text-decoration:none;position:relative;transition:color .3s ease}.secondary-link:after{content:"";position:absolute;bottom:-2px;left:0;width:100%;height:2px;background-color:var(--accent-color);transform:scaleX(0);transform-origin:right;transition:transform .3s ease}.secondary-link:hover{color:var(--primary-font-color)}.secondary-link:hover:after{transform:scaleX(1);transform-origin:left}@media (max-width: 768px){.not-found-page .navbar{top:28px!important;padding:0 24px!important}.not-found-content{padding:100px 24px 60px}.error-code{font-size:clamp(80px,15vw,120px);margin-bottom:20px}.error-title{font-size:clamp(28px,6vw,36px);margin-bottom:16px}.error-description{font-size:16px;line-height:28px;margin-bottom:32px}.error-actions{gap:20px}.error-actions .cta-button{padding:14px 28px;font-size:16px}.secondary-link{font-size:15px}}@media (max-width: 480px){.not-found-page .navbar{top:24px!important;padding:0 16px!important}.not-found-content{padding:80px 16px 50px}.error-code{font-size:clamp(60px,12vw,80px);margin-bottom:16px}.error-title{font-size:clamp(24px,5vw,28px);margin-bottom:14px}.error-description{font-size:16px;line-height:28px;margin-bottom:28px}.error-actions .cta-button{padding:12px 24px;font-size:16px}}:root{--primary-bg: #FFFFFF;--secondary-bg: #F2F2F2;--accent-color: #FC9F97;--primary-font-color: #000000;--secondary-font-color: #6B7280;--primary-font: "Abril Fatface", serif;--secondary-font: "Mulish", sans-serif;--primary-font-ja: "Noto Serif JP", "Yu Mincho", "YuMincho", "Hiragino Mincho Pro", "Hiragino Mincho ProN", serif;--secondary-font-ja: "Noto Sans JP", "Yu Gothic", "YuGothic", "Hiragino Kaku Gothic Pro", "Hiragino Kaku Gothic ProN", sans-serif;--body-text-large: 18px;--body-text-medium: 16px;--body-text-small: 14px;--line-height-large: 32px;--line-height-medium: 28px;--line-height-small: 24px;--site-margin: 24px;--section-padding: 60px;--max-width: 1200px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--secondary-font);color:var(--primary-font-color);background-color:var(--primary-bg);line-height:1.6}.primary-font{font-family:var(--primary-font)}.secondary-font{font-family:var(--secondary-font)}.text-primary{color:var(--primary-font-color)}.text-secondary{color:var(--secondary-font-color)}.locale-ja .primary-font,.locale-ja h1,.locale-ja h2,.locale-ja h3{font-family:var(--primary-font-ja);font-weight:800;letter-spacing:.02em}.locale-ja .hero-greeting,.locale-ja .typed-text,.locale-ja .typing-cursor,.locale-ja .hero-location,.locale-ja .hero-location-before,.locale-ja .project-title{font-family:var(--primary-font-ja)!important;font-weight:800!important;letter-spacing:.02em}.locale-ja .secondary-font,.locale-ja body,.locale-ja p,.locale-ja span,.locale-ja button,.locale-ja input,.locale-ja textarea,.locale-ja label{font-family:var(--secondary-font-ja);font-weight:400;letter-spacing:.01em}.locale-ja p,.locale-ja .typed-text{line-height:1.8}.locale-ja h1,.locale-ja h2,.locale-ja h3{line-height:1.4}.locale-ja{-webkit-font-feature-settings:"palt" 1;font-feature-settings:"palt" 1;text-rendering:optimizeLegibility}.locale-ja .cta-button,.locale-ja .nav-language-option,.locale-ja .mobile-language-option{font-family:var(--secondary-font-ja);font-weight:500}.locale-ja .nav-link,.locale-ja .mobile-nav-link,.locale-ja .project-cta-link,.locale-ja .email-copy-btn,.locale-ja .email-link-btn{font-family:var(--secondary-font-ja);font-weight:400;letter-spacing:.05em}.locale-ja .project-hero .nav-link.project-cta-link{font-family:var(--secondary-font-ja)!important;font-weight:700!important;letter-spacing:.05em}.cta-button-container{position:relative;display:inline-block;width:fit-content}.cta-button-bg{position:absolute;top:6px;left:6px;width:100%;height:100%;background:transparent;border:1px solid #000000;border-radius:0;z-index:1}.cta-button{position:relative;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;color:#fff;background-color:#000;padding:16px 32px;font-family:var(--secondary-font);font-weight:600;font-size:16px;text-transform:lowercase;border:none;border-radius:0;cursor:pointer;transition:transform .2s ease;z-index:2;min-width:180px}.cta-button-container:hover .cta-button{transform:translate(6px,6px)}.fade-up{opacity:0;transform:translateY(20px);transition:opacity .6s ease-out,transform .6s ease-out}.fade-up.animate{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion: reduce){.fade-up{opacity:1;transform:none;transition:none}}
