:root{--bg-dark:#141414;--bg-light:#fff;--text-dark:#fff;--text-light:#141414;--bg:var(--bg-dark);--text:var(--text-dark)}[data-theme="light"]{--bg:var(--bg-light);--text:var(--text-light)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:'Noto Sans JP',sans-serif;background-color:var(--bg);color:var(--text);overflow-x:hidden;transition:background-color .3s ease , color .3s ease}.header{position:fixed;top:0;left:0;width:100%;z-index:1000;padding:20px 40px;display:flex;justify-content:space-between;align-items:center;transition:width .4s ease}.logo{display:flex;align-items:center}.logo img{height:24px;width:auto;transition:filter .3s ease}[data-theme="light"] .logo img{filter:invert(1)}.controls{display:flex;gap:20px;align-items:center}.control-btn{background:transparent;border:1px solid var(--text);color:var(--text);padding:8px 16px;font-family:'Noto Sans JP',sans-serif;font-size:.75rem;font-weight:700;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:.1em}.control-btn:hover{background:var(--text);color:var(--bg)}.control-btn.active{background:var(--text);color:var(--bg)}.fv-section{position:relative;height:150vh;margin:0;padding:0;border:none;background-color:var(--bg)}.fv-sticky{position:sticky;top:0;left:0;width:100%;height:100vh;display:flex;justify-content:center;align-items:center;overflow:hidden}.fv-code{font-family:'Google Sans Code','Consolas','Monaco',monospace;font-size:clamp(.9rem,1.8vw,1.4rem);line-height:2.2;color:var(--text);white-space:pre;padding:0 40px;max-width:100%;overflow:hidden}.fv-code-line{display:block;position:relative;clip-path:inset(0 100% 0 0);will-change:clip-path}.fv-code-line.is-visible{clip-path:inset(0 0 0 0)}.fv-code-line.is-typing::after{content:'|';color:var(--text);animation:fvCursorBlink .8s step-end infinite;margin-left:2px;font-weight:400}@keyframes fvCursorBlink {
  0%, 50% { opacity: 1; }
  51%, 100% { opacity: 0; }
}.fv-code .keyword{color:#6af}.fv-code .string{color:#8c8}.fv-code .comment{color:#999}.fv-code .function{color:#fa6}.fv-code .operator{color:var(--text);opacity:.6}[data-theme="light"] .fv-code .keyword{color:#06c}[data-theme="light"] .fv-code .string{color:#080}[data-theme="light"] .fv-code .comment{color:#888}[data-theme="light"] .fv-code .function{color:#c60}@media (max-width:768px){.fv-code{font-size:clamp(.75rem,3vw,1rem);line-height:2;padding:0 20px}}@media (prefers-reduced-motion:reduce){.fv-code-line{clip-path:inset(0 0 0 0)}.fv-code-line.is-typing::after{animation:none;opacity:0}}.next-section{min-height:100vh;display:flex;justify-content:center;align-items:center;padding:80px 40px;background-color:#fff;color:#141414;position:relative;z-index:10;overflow:hidden}[data-theme="light"] .next-section{background-color:#141414;color:#fff}.bg-code{position:absolute;top:0;left:0;width:50%;height:100%;padding:40px;font-family:'Google Sans Code','Consolas','Monaco',monospace;font-size:.85rem;line-height:1.8;color:#141414;opacity:.12;white-space:pre-wrap;overflow:hidden;pointer-events:none;z-index:1}[data-theme="light"] .bg-code{color:#fff}.bg-code .keyword{color:#06c}.bg-code .string{color:#080}.bg-code .comment{color:#888}.bg-code .function{color:#c60}[data-theme="light"] .bg-code .keyword{color:#6af}[data-theme="light"] .bg-code .string{color:#8c8}[data-theme="light"] .bg-code .comment{color:#999}[data-theme="light"] .bg-code .function{color:#fa6}.next-section-inner{display:flex;justify-content:space-between;align-items:center;max-width:1200px;width:100%;gap:80px}.next-section-left{flex:1;display:flex;justify-content:center;align-items:center;opacity:0;transform:translateY(50px)}.next-section-left img{width:200px;height:auto;filter:invert(1)}[data-theme="light"] .next-section-left img{filter:invert(0)}.next-section-right{flex:1.5;opacity:0;transform:translateY(50px)}.next-section-right .lead{margin:0 0 24px;font-weight:700;line-height:1.5}.next-section-right .lead-main{display:block;font-size:1.5rem;margin-bottom:8px}.next-section-right .lead-sub{display:block;font-size:.95rem;font-weight:400;opacity:.75;letter-spacing:.02em}.next-section-right .desc{font-size:1rem;line-height:2;margin-bottom:32px}.next-section-right .tagline{font-family:'Noto Sans JP',sans-serif;font-size:2.5rem;font-weight:900;letter-spacing:.15em;margin-bottom:24px}.next-section-right .mission{font-size:1rem;line-height:2}@media (max-width:768px){.next-section-inner{flex-direction:column;gap:40px;text-align:center}.next-section-left img{width:150px}.next-section-right .lead-main{font-size:1.2rem}.next-section-right .lead-sub{font-size:.85rem}.next-section-right .tagline{font-size:1.8rem}.next-section-right .desc,.next-section-right .mission{font-size:.9rem}.bg-code{width:100%;opacity:.06;font-size:.7rem}}.scroll-indicator{position:fixed;bottom:40px;left:50%;transform:translateX(-50%);z-index:100;display:flex;flex-direction:column;align-items:center;gap:8px;opacity:1;transition:opacity .5s ease , left .4s ease}.scroll-indicator.hidden{opacity:0;pointer-events:none}.scroll-indicator span{font-size:.7rem;text-transform:uppercase;letter-spacing:.2em;opacity:.6}.scroll-indicator .arrow{width:20px;height:20px;border-right:2px solid var(--text);border-bottom:2px solid var(--text);transform:rotate(45deg);animation:scrollBounce 1.5s infinite}@keyframes scrollBounce {
  0%, 100% { transform: rotate(45deg) translateY(0); }
  50% { transform: rotate(45deg) translateY(5px); }
}.hamburger{width:30px;height:20px;position:relative;cursor:pointer;display:flex;flex-direction:column;justify-content:space-between}.hamburger span{display:block;width:100%;height:2px;background-color:var(--text);transition:all .3s ease}.hamburger.active span:nth-child(1) {transform:rotate(45deg) translate(6px,6px)}.hamburger.active span:nth-child(2) {opacity:0}.hamburger.active span:nth-child(3) {transform:rotate(-45deg) translate(6px,-6px)}.main-content{transition:width .4s ease , margin-right .4s ease;width:100%}.nav-menu{position:fixed;top:0;right:0;height:100vh;background-color:var(--bg);z-index:999;display:flex;flex-direction:column;justify-content:center;padding:60px 40px;transition:transform .4s ease , width .4s ease;border-left:1px solid rgba(255,255,255,.1)}[data-theme="light"] .nav-menu{border-left:1px solid rgba(0,0,0,.1)}.nav-menu ul{list-style:none;padding:0;margin:0}.nav-menu ul li{margin-bottom:30px}.nav-menu ul li a{color:var(--text);text-decoration:none;font-size:1.5rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;transition:opacity .3s ease;display:block}.nav-menu ul li a:hover{opacity:.6}@media (min-width:769px){.nav-menu{width:300px;transform:translateX(100%)}.nav-menu.active{transform:translateX(0)}body.nav-open .main-content{width:calc(100% - 300px);margin-right:300px}body.nav-open .header{width:calc(100% - 300px)}body.nav-open .scroll-indicator{left:calc(50% - 150px)}}@media (max-width:768px){.header{padding:15px 20px}.nav-menu{width:100%;transform:translateX(100%);padding:80px 30px}.nav-menu.active{transform:translateX(0)}.nav-menu ul li a{font-size:1.2rem}.controls{gap:15px}.control-btn{padding:6px 12px;font-size:.65rem}}.third-section{position:absolute;top:0;left:0;width:100%;height:100vh;display:flex;justify-content:center;align-items:center;padding:80px 0;transform:translateY(100%);overflow:hidden}.service-bg{position:absolute;top:0;left:0;width:100%;height:100%;background-size:cover;background-position:center;background-repeat:no-repeat;transition:opacity .5s ease}.service-bg-dark{background-image:url(img/png/dark.png);opacity:1}.service-bg-light{background-image:url(img/png/light.png);opacity:0}[data-theme="light"] .service-bg-dark{opacity:0}[data-theme="light"] .service-bg-light{opacity:1}.third-section-inner{position:relative;z-index:1;width:100%;max-width:100%}.service-title{font-family:'Montserrat',sans-serif;font-size:3rem;font-weight:900;margin-bottom:60px;letter-spacing:.05em;color:#fff;padding-left:80px}[data-theme="light"] .service-title{color:#141414}.service-carousel-wrapper{width:100%;overflow:visible;padding:20px 0;cursor:grab}.service-carousel-wrapper:active{cursor:grabbing}.service-carousel{display:flex;gap:30px;padding-left:80px;padding-right:80px;touch-action:pan-y;user-select:none}.service-card{flex:0 0 280px;height:380px;background:rgba(255,255,255,.95);border-radius:0;overflow:hidden;transition:transform .3s ease , box-shadow .3s ease;will-change:transform}[data-theme="light"] .service-card{background:rgba(255,255,255,.95)}.service-card:hover{transform:translateY(-10px);box-shadow:0 20px 40px rgba(0,0,0,.3)}.service-card-inner{padding:40px 30px;height:100%;display:flex;flex-direction:column;position:relative}.service-card-icon{width:50px;height:50px;margin-bottom:30px;color:#141414}.service-card-icon svg{width:100%;height:100%}.service-card-title{font-family:'Noto Sans JP',sans-serif;font-size:1.2rem;font-weight:700;color:#141414;margin-bottom:20px}.service-card-desc{font-size:.9rem;line-height:1.8;color:#555;flex:1}.service-card-link{position:absolute;bottom:30px;right:30px;width:48px;height:48px;background:#141414;display:flex;align-items:center;justify-content:center;text-decoration:none;transition:all .3s ease}.service-card-link svg{width:20px;height:20px;color:#fff;transition:transform .3s ease}.service-card-link:hover{background:#333}.service-card-link:hover svg{transform:translateX(3px)}.service-dots{display:flex;justify-content:center;gap:12px;margin-top:50px}.service-dots .dot{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.4);cursor:pointer;transition:all .3s ease}[data-theme="light"] .service-dots .dot{background:rgba(20,20,20,.3)}.service-dots .dot:hover{background:rgba(255,255,255,.7)}[data-theme="light"] .service-dots .dot:hover{background:rgba(20,20,20,.6)}.service-dots .dot.active{background:#fff;transform:scale(1.2)}[data-theme="light"] .service-dots .dot.active{background:#141414}@media (max-width:768px){.third-section{padding:60px 0}.service-title{font-size:2rem;padding-left:20px;margin-bottom:40px}.service-carousel{padding-left:20px;padding-right:20px;gap:20px}.service-card{flex:0 0 260px;height:340px}.service-card-inner{padding:30px 25px}.service-card-icon{width:40px;height:40px;margin-bottom:20px}.service-card-title{font-size:1.1rem;margin-bottom:15px}.service-card-desc{font-size:.85rem;line-height:1.7}.service-card-link{width:40px;height:40px;bottom:25px;right:25px}.service-card-link svg{width:16px;height:16px}.service-dots{margin-top:30px;gap:10px}.service-dots .dot{width:8px;height:8px}}.sp{display:none}.pc{display:block}@media (max-width:768px){.sp{display:block}.pc{display:none}}.works-wrapper{background-color:#141414;min-height:100vh;display:flex;justify-content:center;align-items:center;overflow:hidden}[data-theme="light"] .works-wrapper{background-color:#fff}.works-section{width:100%;min-height:100vh;display:flex;justify-content:center;align-items:center;padding:80px 40px;background-color:#fff;color:#141414;transform-origin:center center}[data-theme="light"] .works-section{background-color:#141414;color:#fff}.works-section-inner{max-width:1200px;width:100%}.works-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:60px}.works-header-left{display:flex;flex-direction:column}.works-title{font-family:'Montserrat',sans-serif;font-size:3rem;font-weight:900;letter-spacing:.05em;margin-bottom:10px}.works-subtitle{font-size:1rem;opacity:.6}.works-view-all{display:flex;align-items:center;gap:60px;padding:15px 40px;background:transparent;border:1px solid #141414;color:#141414;text-decoration:none;font-family:'Noto Sans JP',sans-serif;font-size:.95rem;font-weight:500;transition:all .3s ease}[data-theme="light"] .works-view-all{border-color:#fff;color:#fff}.works-view-all:hover{background:#141414;color:#fff}[data-theme="light"] .works-view-all:hover{background:#fff;color:#141414}.works-view-all svg{width:20px;height:20px;transition:transform .3s ease}.works-view-all:hover svg{transform:translateX(5px)}.works-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:40px}.works-item{display:flex;cursor:pointer;transition:transform .3s ease;background-color:#333;position:relative;overflow:hidden}[data-theme="light"] .works-item{background-color:#333}.works-item:hover{transform:translateY(-10px)}.works-item-mask{position:absolute;top:0;right:0;width:100%;height:100%;background-color:#fff;z-index:10;pointer-events:none}[data-theme="light"] .works-item-mask{background-color:#141414}.works-item-image{flex:0 0 45%;aspect-ratio: 1 / 1;background-color:#666;background-size:cover;background-position:center}[data-theme="light"] .works-item-image{background-color:#666}.works-item-content{flex:1;padding:30px;display:flex;flex-direction:column;justify-content:center}.works-item-title{font-family:'Noto Sans JP',sans-serif;font-size:1.1rem;font-weight:700;margin-bottom:15px;color:#fff}.works-item-desc{font-size:.9rem;line-height:1.8;color:rgba(255,255,255,.7)}@media (max-width:768px){.works-section{padding:60px 20px}.works-header{flex-direction:column;gap:30px;margin-bottom:40px}.works-title{font-size:2rem}.works-view-all{width:100%;justify-content:space-between;padding:15px 20px;font-size:.9rem}.works-grid{grid-template-columns:1fr;gap:30px}.works-item-image{flex:0 0 40%}.works-item-content{padding:20px}.works-item-title{font-size:.9rem;margin-bottom:10px}.works-item-desc{font-size:.85rem}}.product-section{min-height:100vh;display:flex;justify-content:center;align-items:center;padding:80px 40px;background-color:#141414;color:#fff;position:relative;overflow:hidden}[data-theme="light"] .product-section{background-color:#fff;color:#141414}.product-bg-video{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:0;clip-path:inset(100% 0% 0% 0%)}.product-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:rgba(20,20,20,.6);z-index:1;clip-path:inset(100% 0% 0% 0%)}[data-theme="light"] .product-overlay{background-color:rgba(255,255,255,.6)}.product-section-inner{max-width:1200px;width:100%;position:relative;z-index:2;opacity:0}.product-header{margin-bottom:60px}.product-title{font-family:'Montserrat',sans-serif;font-size:3rem;font-weight:900;letter-spacing:.05em;margin-bottom:10px}.product-subtitle{font-size:1rem;opacity:.6}.product-items{position:relative;min-height:400px}.product-item{position:absolute;top:0;left:0;width:100%;display:flex;gap:60px;text-decoration:none;color:inherit;opacity:0;filter:blur(10px);pointer-events:none;transition:none}.product-item:first-child{opacity:1;filter:blur(0);pointer-events:auto}.product-item.active{pointer-events:auto}.product-item-image{flex:0 0 50%;aspect-ratio: 16 / 10;overflow:hidden;background-color:#333}.product-item-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.product-item:hover .product-item-image img{transform:scale(1.05)}.product-item-content{flex:1;display:flex;flex-direction:column;justify-content:center}.product-item-title{font-size:2rem;font-weight:900;letter-spacing:.05em;margin-bottom:30px}.product-item-desc{font-size:1rem;line-height:2;opacity:.8}@media (max-width:768px){.product-section{padding:60px 20px}.product-title{font-size:2rem}.product-header{margin-bottom:40px}.product-items{min-height:500px}.product-item{flex-direction:column;gap:30px}.product-item-image{flex:none;aspect-ratio: 16 / 9}.product-item-title{font-size:1.5rem;margin-bottom:20px}.product-item-desc{font-size:.9rem}}.news-section{min-height:100vh;padding:120px 40px 80px;background-color:#fff;color:#141414}[data-theme="light"] .news-section{background-color:#141414;color:#fff}.news-section-inner{max-width:1200px;margin:0 auto;display:flex;gap:80px}.news-sidebar{flex:0 0 280px}.news-header{margin-bottom:40px}.news-label{font-size:.85rem;font-weight:400;display:block;margin-bottom:16px}.news-title{font-family:'Noto Sans JP',sans-serif;font-size:2.5rem;font-weight:700;letter-spacing:.05em}.news-view-all-btn{display:inline-flex;align-items:center;gap:16px;padding:16px 24px;background-color:#141414;color:#fff;text-decoration:none;font-family:'Noto Sans JP',sans-serif;font-size:.9rem;font-weight:500;margin-bottom:40px;transition:all .3s ease}[data-theme="light"] .news-view-all-btn{background-color:#fff;color:#141414}.news-view-all-btn:hover{background-color:#333}[data-theme="light"] .news-view-all-btn:hover{background-color:#e0e0e0}.news-view-all-btn svg{width:18px;height:18px}.news-categories{list-style:none;padding:0;margin:0;border-top:1px solid rgba(20,20,20,.15)}[data-theme="light"] .news-categories{border-top:1px solid rgba(255,255,255,.15)}.news-categories li{border-bottom:1px solid rgba(20,20,20,.15)}[data-theme="light"] .news-categories li{border-bottom:1px solid rgba(255,255,255,.15)}.news-categories li a{display:flex;justify-content:space-between;align-items:center;padding:16px 0;color:inherit;text-decoration:none;font-size:.95rem;transition:opacity .3s ease}.news-categories li a:hover{opacity:.6}.news-categories li a svg{width:16px;height:16px;opacity:.5}.news-main{flex:1}.news-featured{display:grid;grid-template-columns:repeat(2,1fr);gap:30px;margin-bottom:50px}.news-featured-item{text-decoration:none;color:inherit;display:block;transition:transform .3s ease}.news-featured-item:hover{transform:translateY(-5px)}.news-featured-image{position:relative;aspect-ratio: 3 / 2;overflow:hidden;margin-bottom:16px;background-color:#f0f0f0}[data-theme="light"] .news-featured-image{background-color:#333}.news-featured-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.news-featured-item:hover .news-featured-image img{transform:scale(1.05)}.news-featured-overlay{position:absolute;bottom:0;left:0;right:0;padding:30px 20px 20px;background:linear-gradient(to top,rgba(0,0,0,.8),transparent);color:#fff}.news-featured-cat{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px;display:block}.news-featured-overlay .news-featured-title{font-size:1.1rem;font-weight:700;line-height:1.5}.news-featured-meta{padding:0}.news-featured-heading{font-size:.95rem;font-weight:700;margin-bottom:10px;line-height:1.5}.news-featured-info{display:flex;align-items:center;gap:16px;font-size:.8rem}.news-featured-info time{color:#888}.news-cat-label{padding:4px 10px;background-color:#f0f0f0;color:#555;font-size:.75rem}[data-theme="light"] .news-cat-label{background-color:#333;color:#ccc}.news-list{display:flex;flex-direction:column;gap:0;border-top:1px solid rgba(20,20,20,.15)}[data-theme="light"] .news-list{border-top:1px solid rgba(255,255,255,.15)}.news-list-item{display:flex;align-items:center;gap:24px;padding:24px 0;text-decoration:none;color:inherit;border-bottom:1px solid rgba(20,20,20,.15);transition:opacity .3s ease}[data-theme="light"] .news-list-item{border-bottom:1px solid rgba(255,255,255,.15)}.news-list-item:hover{opacity:.7}.news-list-thumbnail{flex:0 0 140px;aspect-ratio: 16 / 10;overflow:hidden;background-color:#f0f0f0}[data-theme="light"] .news-list-thumbnail{background-color:#333}.news-list-thumbnail img{width:100%;height:100%;object-fit:cover}.news-list-content{flex:1}.news-list-title{font-size:.95rem;font-weight:700;margin-bottom:10px;line-height:1.6}.news-list-info{display:flex;align-items:center;gap:16px;font-size:.8rem}.news-list-info time{color:#888}@media (max-width:1024px){.news-section-inner{flex-direction:column;gap:60px}.news-sidebar{flex:none;width:100%}.news-categories{display:grid;grid-template-columns:repeat(3,1fr);gap:0}.news-categories li{border-right:1px solid rgba(20,20,20,.15)}[data-theme="light"] .news-categories li{border-right:1px solid rgba(255,255,255,.15)}.news-categories li:nth-child(3n) {border-right:none}.news-categories li a{padding:16px;justify-content:center;gap:10px}}@media (max-width:768px){.news-section{padding:80px 20px 60px}.news-title{font-size:2rem}.news-featured{grid-template-columns:1fr;gap:30px;margin-bottom:40px}.news-categories{grid-template-columns:repeat(2,1fr)}.news-categories li:nth-child(3n) {border-right:1px solid rgba(20,20,20,.15)}[data-theme="light"] .news-categories li:nth-child(3n) {border-right:1px solid rgba(255,255,255,.15)}.news-categories li:nth-child(2n) {border-right:none}.news-list-item{flex-direction:column;align-items:flex-start;gap:16px;padding:20px 0}.news-list-thumbnail{flex:none;width:100%;aspect-ratio: 16 / 9}.news-list-title{font-size:.9rem}}.cta-section{padding:80px 40px;background-color:#fff}[data-theme="light"] .cta-section{background-color:#141414}.cta-section-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(2,1fr);gap:0}.cta-card{display:flex;justify-content:space-between;align-items:center;padding:50px 60px;border:1px solid rgba(20,20,20,.15);text-decoration:none;color:#141414;transition:all .3s ease}[data-theme="light"] .cta-card{border-color:rgba(255,255,255,.15);color:#fff}.cta-card:first-child{border-right:none}.cta-card:hover{background-color:#f5f5f5}[data-theme="light"] .cta-card:hover{background-color:#222}.cta-card-content{flex:1}.cta-card-label{font-size:.8rem;display:block;margin-bottom:12px;opacity:.7}.cta-card-title{font-family:'Noto Sans JP',sans-serif;font-size:1.5rem;font-weight:700;margin-bottom:12px}.cta-card-desc{font-size:.9rem;opacity:.7;line-height:1.6}.cta-card-arrow{width:56px;height:56px;background-color:#141414;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-left:40px;transition:all .3s ease}[data-theme="light"] .cta-card-arrow{background-color:#fff}.cta-card-arrow svg{width:24px;height:24px;color:#fff;transition:transform .3s ease}[data-theme="light"] .cta-card-arrow svg{color:#141414}.cta-card:hover .cta-card-arrow svg{transform:translateX(5px)}@media (max-width:1024px){.cta-card{padding:40px}.cta-card-arrow{margin-left:30px}}@media (max-width:768px){.cta-section{padding:60px 20px}.cta-section-inner{grid-template-columns:1fr}.cta-card{padding:30px}.cta-card:first-child{border-right:1px solid rgba(20,20,20,.15);border-bottom:none}[data-theme="light"] .cta-card:first-child{border-right:1px solid rgba(255,255,255,.15)}.cta-card-title{font-size:1.3rem}.cta-card-desc{font-size:.85rem}.cta-card-arrow{width:48px;height:48px;margin-left:20px}.cta-card-arrow svg{width:20px;height:20px}}.footer{background-color:#fff;color:#141414;padding:80px 40px 0}[data-theme="light"] .footer{background-color:#141414;color:#fff}.footer-inner{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;gap:80px;padding-bottom:80px}.footer-info{flex:0 0 260px}.footer-logo{margin-bottom:16px}.footer-logo img{height:72px;width:auto;filter:invert(1)}[data-theme="light"] .footer-logo img{filter:invert(0)}.footer-company{font-size:.9rem;margin-bottom:24px}.footer-address{margin-bottom:40px}.footer-zip{font-size:.9rem;margin-bottom:8px}.footer-addr{font-size:.9rem;margin-bottom:16px;line-height:1.6}.footer-map-link{display:inline-flex;align-items:center;gap:6px;font-size:.9rem;color:inherit;text-decoration:underline;text-underline-offset:3px;transition:opacity .3s ease}.footer-map-link:hover{opacity:.6}.footer-map-link svg{width:14px;height:14px}.footer-social{list-style:none;padding:0;margin:0;border-top:1px solid rgba(20,20,20,.15)}[data-theme="light"] .footer-social{border-top:1px solid rgba(255,255,255,.15)}.footer-social li{border-bottom:1px solid rgba(20,20,20,.15)}[data-theme="light"] .footer-social li{border-bottom:1px solid rgba(255,255,255,.15)}.footer-social li a{display:flex;justify-content:space-between;align-items:center;padding:16px 0;color:inherit;text-decoration:none;font-size:.9rem;transition:opacity .3s ease}.footer-social li a:hover{opacity:.6}.footer-social li a svg{width:14px;height:14px;opacity:.5}.footer-nav{flex:1;display:flex;flex-wrap:wrap;gap:40px}.footer-nav-col{min-width:100px}.footer-nav-title{display:block;font-size:.95rem;font-weight:700;color:inherit;text-decoration:none;margin-bottom:20px;transition:opacity .3s ease}.footer-nav-title:hover{opacity:.6}.footer-nav-list{list-style:none;padding:0;margin:0}.footer-nav-list li{margin-bottom:12px}.footer-nav-list li a{font-size:.85rem;color:inherit;text-decoration:none;opacity:.6;transition:opacity .3s ease}.footer-nav-list li a:hover{opacity:1}.footer-bottom{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;padding:30px 0;border-top:1px solid rgba(20,20,20,.15)}[data-theme="light"] .footer-bottom{border-top:1px solid rgba(255,255,255,.15)}.footer-copyright{font-size:.8rem;opacity:.6}.footer-bottom-right{display:flex;align-items:center;gap:30px}.footer-privacy{font-size:.85rem;color:inherit;text-decoration:underline;text-underline-offset:3px;transition:opacity .3s ease}.footer-privacy:hover{opacity:.6}.footer-totop{padding:12px 24px;background-color:#141414;color:#fff;border:none;font-family:'Noto Sans JP',sans-serif;font-size:.85rem;cursor:pointer;transition:all .3s ease}[data-theme="light"] .footer-totop{background-color:#fff;color:#141414}.footer-totop:hover{background-color:#333}[data-theme="light"] .footer-totop:hover{background-color:#e0e0e0}@media (max-width:1024px){.footer-inner{flex-direction:column;gap:60px}.footer-info{flex:none;width:100%}.footer-nav{gap:30px 40px}}@media (max-width:768px){.footer{padding:60px 20px 0}.footer-inner{gap:50px;padding-bottom:50px}.footer-nav{display:grid;grid-template-columns:repeat(2,1fr);gap:30px}.footer-nav-col{min-width:auto}.footer-bottom{flex-direction:column;gap:20px;padding:25px 0}.footer-bottom-right{width:100%;justify-content:space-between}}.author-profile{margin-top:4rem;margin-bottom:4rem;padding-top:3rem;border-top:1px solid var(--color-border,#e0e0e0)}.author-profile-inner{display:flex;flex-direction:column;gap:1.25rem}.author-profile-label{font-size:.75rem;font-weight:600;letter-spacing:.05em;color:var(--color-text-muted,#888);text-transform:uppercase}.author-profile-body{display:flex;gap:1.5rem;align-items:flex-start}.author-profile-avatar{flex-shrink:0;margin:0}.author-profile-avatar img{width:80px;height:80px;border-radius:50%;object-fit:cover}.author-profile-info{flex:1;min-width:0}.author-profile-name{margin:0 0 .75rem;font-size:1rem;font-weight:700;line-height:1.6;color:var(--color-text,#1a1a1a)}.author-profile-title{display:block;font-size:.8125rem;font-weight:400;color:var(--color-text-muted,#888);margin-top:.125rem}.author-profile-bio{margin:0;font-size:.875rem;line-height:1.8;color:var(--color-text-secondary,#555)}@media (max-width:600px){.author-profile{margin-top:3rem;margin-bottom:3rem;padding-top:2rem}.author-profile-body{flex-direction:column;gap:1rem}.author-profile-avatar img{width:64px;height:64px}}