:root{--color-accent:#c0392b;--color-accent-hover:#a93226;--color-text:#1a1a1a;--color-muted:#b1aaaa;--color-border:#a9a7a7;--color-bg:#fff;--color-alt-bg:#f1f0f0;--color-section:#fff;--content-width:1200px}@font-face{font-family:TsunagiGothic;src:url(/fonts/TsunagiGothic.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}*{box-sizing:border-box;margin:0;padding:0}html{color:var(--color-text);background:var(--color-bg);scrollbar-gutter:stable;font-family:Hiragino Sans,Hiragino Kaku Gothic ProN,Noto Sans JP,sans-serif;font-size:16px;line-height:1.75}a{color:var(--color-accent);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;height:auto;display:block}h1,h2,h3{line-height:1.3}h1,h2,.section-title{font-family:TsunagiGothic,Hiragino Sans,Noto Sans JP,sans-serif}main{margin-top:80px}@media (width<=640px){main{margin-top:56px}}.content-wrap{max-width:var(--content-width);margin:0 auto;padding:0 2rem}.site-header{z-index:1000;background:#fff;height:80px;position:fixed;top:0;left:0;right:0}.header-inner{justify-content:space-between;align-items:center;height:100%;margin:0 auto;padding:0 2rem;display:flex}.header-inner svg{width:auto;height:32px}.nav-cta{border-radius:50px;align-items:center;gap:.4rem;padding:.45rem 1.1rem;font-weight:600;transition:opacity .15s;color:#fff!important;background:linear-gradient(135deg,#c0392b 0%,#e05040 100%)!important;display:inline-flex!important}.nav-cta:hover{opacity:.85;text-decoration:none}.breadcrumbs{-webkit-overflow-scrolling:touch;margin:120px auto 0;font-size:.8em;overflow-x:auto}.breadcrumbs ol{white-space:nowrap;gap:14px;min-width:max-content;list-style:none;display:flex}.breadcrumbs li:before{content:"";border-top:1.5px solid var(--color-border);border-right:1.5px solid var(--color-border);flex-shrink:0;width:6px;height:6px;margin:0 10px 1px 0;transition:border-color .15s,color .15s;display:inline-block;transform:rotate(45deg)}.breadcrumbs li:first-child:before{content:none}.hero-section{background:var(--color-bg);padding:0 1.5rem}.hero-box{color:#fff;background:linear-gradient(160deg,#a82b1e 0%,#c0392b 55%,#cc4535 100%);border-radius:20px;padding:6rem 0 5rem;position:relative;overflow:hidden}.hero-marquee-wrap{pointer-events:none;-webkit-user-select:none;user-select:none;justify-content:flex-end;display:flex;position:absolute;inset:0 6% 0 0;overflow:hidden}.hero-marquee-col{will-change:transform;flex-direction:column;animation:20s linear infinite hero-marquee-v;display:flex}.hero-logo-vert{--logo-h:11rem;width:var(--logo-h);height:calc(var(--logo-h) * 5.578);flex-shrink:0;margin-bottom:6rem;position:relative}.hero-logo-vert svg{height:var(--logo-h);fill:#ffffff12;width:auto;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(90deg)}@keyframes hero-marquee-v{0%{transform:translateY(0)}to{transform:translateY(-200%)}}.hero-tagline{letter-spacing:-.02em;margin-bottom:.5rem;font-size:clamp(1.6rem,5.5vw,3rem);font-weight:700;line-height:1.15}.hero-sub{letter-spacing:.2em;opacity:.8;margin-bottom:3.5rem;font-size:clamp(.85rem,1.8vw,1rem);font-weight:700}.hero-logo{margin-bottom:2rem}.hero-logo svg{width:auto;height:clamp(1.8rem,4.5vw,3rem);display:block}.hero-desc{opacity:.85;max-width:540px;font-size:.95rem;line-height:2}.section{padding:5rem 0}.section.section-page{padding-top:4rem}.section-title{margin-bottom:2rem;font-size:2.5rem;font-weight:700}#category-tabs{flex-wrap:wrap;gap:.5rem;margin-bottom:2.5rem;display:flex}.cat-btn{cursor:pointer;background:var(--color-alt-bg);border:1px solid var(--color-alt-bg);color:var(--color-text);border-radius:999px;padding:.4rem 1rem;font-size:.85rem;transition:background .15s,color .15s}.cat-btn.active{background:var(--color-accent);border:1px solid var(--color-accent);color:#fff}.works-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;display:grid}.works-carousel-outer{position:relative;overflow:hidden}.works-carousel-track{will-change:transform;gap:1.5rem;transition:transform .55s cubic-bezier(.25,.46,.45,.94);display:flex}.carousel-card{flex:0 0 calc((min(100vw, var(--content-width)) - 4rem - 3rem) / 3)}.works-heading-row{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.works-heading-row .section-title{margin-bottom:0}.works-nav-buttons{flex-shrink:0;gap:.5rem;display:flex}.carousel-nav{border:1.5px solid var(--color-border);background:var(--color-alt-bg);width:40px;height:40px;color:var(--color-text);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:background .2s,border-color .2s,opacity .2s;display:flex}.carousel-nav:hover{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.carousel-nav:disabled{opacity:.3;cursor:default}.carousel-nav:disabled:hover{background:var(--color-alt-bg);border-color:var(--color-border);color:var(--color-text)}.works-carousel-dots{justify-content:center;gap:.5rem;margin-top:1.25rem;display:flex}.dot{background:var(--color-border);cursor:pointer;border:none;border-radius:50%;width:8px;height:8px;padding:0;transition:background .25s,transform .25s}.dot.active{background:var(--color-accent);transform:scale(1.4)}.work-card{color:var(--color-text);background:#fff;border-radius:14px;transition:box-shadow .2s,transform .2s;display:block;overflow:hidden;box-shadow:0 2px 16px #00000012}.work-card:hover{text-decoration:none;transform:translateY(-3px);box-shadow:0 8px 28px #00000021}.work-thumb{aspect-ratio:1200/630;object-fit:cover;width:100%}.work-thumb-placeholder{aspect-ratio:1200/630;background:var(--color-border);width:100%}.work-card-body{justify-content:space-between;align-items:center;gap:.5rem;padding:.85rem 1rem 1rem;display:flex}.work-cat{color:var(--color-muted);letter-spacing:.05em;margin-bottom:.2rem;font-size:.72rem;font-weight:600;display:block}.work-title{font-size:.92rem;font-weight:500;line-height:1.4}.work-icon{background:var(--color-accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.6rem;display:flex}.form-grid{flex-direction:column;gap:1.25rem;display:flex}.form-field label{margin-bottom:.4rem;font-size:.875rem;font-weight:500;display:block}.form-required{color:var(--color-accent);margin-left:.2rem}.form-field input,.form-field textarea{border:1px solid var(--color-border);width:100%;color:var(--color-text);background:#fff;border-radius:6px;padding:.75rem 1rem;font-family:inherit;font-size:.95rem;transition:border-color .15s}.form-field input:focus,.form-field textarea:focus{border-color:var(--color-accent);outline:none}.form-consent{cursor:pointer;align-items:flex-start;gap:.6rem;font-size:.85rem;display:flex}.form-consent input[type=checkbox]{accent-color:var(--color-accent);flex-shrink:0;margin-top:.25rem}.form-submit{background:var(--color-accent);color:#fff;cursor:pointer;border:none;border-radius:6px;width:100%;padding:.875rem;font-family:inherit;font-size:1rem;font-weight:600;transition:background .15s;display:block}.form-submit:hover{background:var(--color-accent-hover)}.form-submit:disabled{opacity:.6;cursor:not-allowed}.form-msg{border-radius:6px;padding:1rem;font-size:.9rem}.form-msg.success{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0}.form-msg.error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.prose h2{border-left:3px solid var(--color-accent);margin:2.5rem 0 1rem;padding-left:.75rem;font-size:1.1rem;font-weight:700}.prose ul,.prose ol{flex-direction:column;gap:.4rem;padding-left:1.5rem;display:flex}.prose p{margin-bottom:.75rem}.two-col{grid-template-columns:1fr 2fr;align-items:start;display:grid}.two-col-gap-3{gap:3rem}.two-col-gap-4{gap:4rem}@media (width<=640px){.two-col{grid-template-columns:1fr}}.text-right{text-align:right}.text-center{text-align:center}.text-small{font-size:.85rem}.service-cat-grid{grid-template-columns:1fr 1fr 1fr;gap:0 3rem;display:grid}.service-category{border-bottom:none;padding:0}.service-cat-list-v{margin-bottom:1.25rem;list-style:none}@media (width<=640px){.service-cat-grid{grid-template-columns:1fr;gap:2rem 0}}.service-cat-heading{align-items:center;gap:.7rem;margin-top:1rem;margin-bottom:1.5rem;display:flex}.service-cat-bullet{background:var(--color-accent);border-radius:50%;flex-shrink:0;width:10px;height:10px}.service-cat-heading h3{font-size:1.25rem;font-weight:700}.service-cat-list{grid-template-columns:repeat(3,1fr);gap:0;margin-bottom:1.75rem;list-style:none;display:grid}.service-cat-link{color:var(--color-text);align-items:center;width:100%;padding:.5rem .25rem;font-size:.95rem;font-weight:500;text-decoration:none;transition:color .15s;display:inline-flex}.service-cat-link:after{content:"";border-top:1.5px solid var(--color-border);border-right:1.5px solid var(--color-border);flex-shrink:0;width:6px;height:6px;margin-left:.5rem;display:inline-block;transform:rotate(45deg)}.service-cat-link:hover{color:var(--color-accent);text-decoration:none}.btn-view-all-wrap{justify-content:flex-end;margin-top:1rem;display:flex}.btn-view-all{border:1.5px solid var(--color-border);color:var(--color-text);border-radius:50px;align-items:center;padding:.6rem 2.25rem;font-size:.95rem;font-weight:600;text-decoration:none;transition:border-color .15s,color .15s;display:inline-flex}.btn-view-all:after{content:"";border-top:1.5px solid var(--color-border);border-right:1.5px solid var(--color-border);flex-shrink:0;width:6px;height:6px;margin-left:.75rem;transition:border-color .15s,color .15s;display:inline-block;transform:rotate(45deg)}.btn-view-all:hover{border-color:var(--color-accent);color:var(--color-accent);text-decoration:none}.btn-view-all:hover:after{border-top:1.5px solid var(--color-accent);border-right:1.5px solid var(--color-accent)}.btn-cta{border-radius:50px;align-items:center;gap:.4rem;padding:1rem 2rem;font-size:1.1em;font-weight:600;transition:opacity .15s;color:#fff!important;background:linear-gradient(135deg,#c0392b 0%,#e05040 100%)!important;text-decoration:none!important;display:inline-flex!important}.btn-cta:hover{opacity:.85;text-decoration:none}@media (width<=768px){.service-cat-list{grid-template-columns:repeat(2,1fr)}}@media (width<=480px){.service-cat-list{grid-template-columns:1fr}}.profile-section{margin-bottom:3rem}.profile-header{margin:2rem 0 3rem}.profile-role{margin-bottom:.3rem;font-size:.9rem}.profile-name{margin:.4rem 0 1rem;font-size:1.8rem;font-weight:700;line-height:1.3}.profile-kana{margin-bottom:.3rem;font-size:.9rem}.profile-location{margin-bottom:1rem;font-size:.9rem}.profile-social{flex-wrap:wrap;gap:.75rem;display:flex}.profile-text{margin-bottom:1rem;line-height:2}.profile-text:last-child{margin-bottom:0}.profile-link{font-size:.95rem}.section-heading{border-left:3px solid var(--color-accent);margin-bottom:1.25rem;padding-left:.75rem;font-size:1.1rem;font-weight:700}.social-btn{color:#fff;background:#1877f2;border-radius:5px;align-items:center;gap:.4rem;padding:.4rem .85rem;font-size:.85rem;font-weight:500;text-decoration:none;transition:opacity .15s;display:inline-flex}.social-btn:hover{opacity:.85;text-decoration:none}.history-list{flex-direction:column;display:flex}.history-item{border-bottom:1px solid var(--color-border);align-items:baseline;gap:2rem;padding:.65rem 0;font-size:.95rem;line-height:1.7;display:flex}.history-item:last-child{border-bottom:none}.history-item dt{white-space:nowrap;color:var(--color-muted);flex-shrink:0;min-width:10rem}.history-item dd{margin:0}.cert-groups{flex-direction:column;gap:1.25rem;display:flex}.cert-category{color:var(--color-accent);margin-bottom:.5rem;font-size:.85rem;font-weight:700}.cert-list{padding-left:1rem}.hobby-list{flex-direction:column;gap:1.5rem;display:flex}.hobby-block{border:1px solid var(--color-border);background:#fff;border-radius:8px;padding:1.25rem 1.5rem}.hobby-title{margin-bottom:.75rem;font-size:1rem;font-weight:700}.hobby-placeholder{color:#aaa;font-size:.875rem;font-style:italic;line-height:1.8}.related-sites{flex-direction:column;gap:.75rem;font-size:.95rem;list-style:none;display:flex}.btn-outline{border:1.5px solid var(--color-accent);color:var(--color-accent);background:0 0;border-radius:5px;align-items:center;gap:.3rem;padding:.55rem 1.4rem;font-size:.875rem;font-weight:600;text-decoration:none;transition:background .15s,color .15s;display:inline-flex}.btn-outline:hover{background:var(--color-accent);color:#fff;text-decoration:none}.home-services-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;display:grid}.home-service-card{border:1px solid var(--color-border);background:#fff;border-radius:12px;flex-direction:column;transition:box-shadow .2s,transform .2s;display:flex;overflow:hidden}.home-service-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00000017}.home-service-img{aspect-ratio:16/9;background:#e9e9e9;overflow:hidden}.home-service-img img{object-fit:cover;width:100%;height:100%;display:block}.home-service-body{flex-direction:column;flex:1;gap:.5rem;padding:1.25rem;display:flex}.home-service-body h3{margin:0;font-size:1rem;font-weight:700;line-height:1.4}.home-service-body p{flex:1;margin:0;font-size:.84rem;line-height:1.65}.home-service-body .btn-outline{align-self:flex-start;margin-top:.75rem}.nav-links{align-items:center;gap:1.75rem;font-size:.95rem;display:flex}.nav-links a{color:var(--color-text)}.hamburger{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:4px;display:none}.hamburger span{background:var(--color-text);width:24px;height:2px;transition:all .3s;display:block}@media (width<=900px){.works-grid,.home-services-grid{grid-template-columns:repeat(2,1fr)}.carousel-nav{width:32px;height:32px}}@media (width<=1023px){.carousel-card{flex:0 0 calc(50vw - 2.75rem)}}@media (width<=640px){.carousel-card{flex:0 0 82%}.site-header{height:56px}.header-inner{padding:0 1.5rem}.header-inner svg{height:24px}.hamburger{display:flex}.nav-links{z-index:999;background:#fff;flex-direction:column;gap:0;max-height:0;transition:max-height .35s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:56px;left:0;right:0;overflow:hidden}.nav-links.open{max-height:400px}.nav-links a{color:var(--color-text);padding:1rem 2rem}.nav-links .nav-cta{justify-content:center;margin:.5rem 1.5rem;padding:.55rem 1.1rem}.nav-links .nav-cta+*{margin-bottom:1rem}.nav-links a:last-child{margin-bottom:1.25rem}.site-header.scrolled{box-shadow:0 1px #0000000f,0 4px 20px #00000014}.section-title{font-size:1.75rem}.works-grid,.home-services-grid{grid-template-columns:1fr}.hero-box{padding:4rem 0}.hero-inner{border-radius:14px;padding:4rem 1.5rem 3.5rem}.section.section-page{padding-top:3rem}}
