:root{--color-primary:#0f172a;--color-text-body:#334155;--color-accent:#64748b;--color-bg:#fff;--color-bg-sub:#f8fafc;--color-border:#cbd5e1;--color-surface:#f8fafc;--color-surface:color-mix(in srgb,var(--color-bg) 94%,var(--color-border));--font-base:"Noto Sans JP","Helvetica Neue",Arial,sans-serif;--font-heading:"Yu Mincho","YuMincho","Hiragino Mincho ProN",serif;--spacing-section:140px;--header-height:80px;--container-max:1200px;--container-pad:clamp(20px,3.2vw,40px);--radius-none:0px;--shadow-sm:0 10px 24px rgba(15,23,42,.06);--shadow-md:0 18px 40px rgba(15,23,42,.1);--ease-out:cubic-bezier(0.16,1,0.3,1)}*,:after,:before{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--header-height)}body{background-color:var(--color-bg);color:var(--color-text-body);font-family:var(--font-base);line-height:1.9;margin:0;-webkit-font-smoothing:antialiased;overflow-x:hidden;padding-top:var(--header-height);text-rendering:geometricPrecision}a{color:inherit;cursor:pointer;text-decoration:none;transition:color .22s var(--ease-out),opacity .22s var(--ease-out),transform .22s var(--ease-out),background-color .22s var(--ease-out),border-color .22s var(--ease-out)}ul{list-style:none;margin:0;padding:0}img{display:block;height:auto;object-fit:cover;width:100%}:focus-visible{outline:2px solid rgba(15,23,42,.7);outline-offset:3px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}.container{margin:0 auto;max-width:var(--container-max);padding:0 var(--container-pad)}.section{padding:var(--spacing-section) 0}.grid-border{background:var(--color-bg);border-left:1px solid var(--color-border);border-top:1px solid var(--color-border);display:grid;grid-template-columns:repeat(2,1fr)}.grid-border>*{background:var(--color-bg);border-bottom:1px solid var(--color-border);border-right:1px solid var(--color-border);padding:56px}.grid-2{display:grid;gap:60px;grid-template-columns:repeat(2,1fr)}@media (max-width:768px){:root{--spacing-section:80px}.grid-border{border-left:none;grid-template-columns:1fr}.grid-border>*{border-left:1px solid var(--color-border);padding:40px 20px}.grid-2{gap:40px;grid-template-columns:1fr}}h1,h2,h3,h4{color:var(--color-primary);font-family:var(--font-heading);font-weight:500;letter-spacing:.02em;margin:0}.section-header{align-items:baseline;border-bottom:2px solid var(--color-primary);display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:80px;padding-bottom:20px}.section-title{font-size:clamp(1.75rem,2.4vw,2.25rem);letter-spacing:.05em}.section-subtitle{color:var(--color-accent);font-family:var(--font-base);font-size:.875rem;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}.text-lead{color:var(--color-primary);font-family:var(--font-heading);font-size:1.25rem;line-height:2;margin:0 0 32px}.text-sm{color:var(--color-text-body);font-size:.875rem}.btn{align-items:center;background-color:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--radius-none);color:#fff;cursor:pointer;display:inline-flex;font-family:var(--font-heading);font-size:.95rem;justify-content:center;letter-spacing:.1em;padding:16px 48px;transform:translateY(0)}.btn:hover{box-shadow:var(--shadow-sm);opacity:.96;transform:translateY(-1px)}.btn:active{box-shadow:none;transform:translateY(0)}.btn-outline{align-items:center;background-color:transparent;border:1px solid var(--color-border);color:var(--color-primary);display:inline-flex;font-family:var(--font-heading);font-size:.9rem;justify-content:center;letter-spacing:.1em;padding:15px 40px;text-align:center;width:100%}.btn-outline:hover{background-color:var(--color-primary);border-color:var(--color-primary);box-shadow:var(--shadow-sm);color:#fff}#siteHeader,.header,.site-header,[data-lt-header],body>header:first-of-type{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:hsla(0,0%,100%,.92);border-bottom:1px solid var(--color-border);height:var(--header-height);left:0!important;position:fixed!important;right:0!important;top:0!important;transform:none!important;width:100%!important;z-index:99999!important}#siteHeader.is-scrolled,.header.is-scrolled,.site-header.is-scrolled,[data-lt-header].is-scrolled,body>header:first-of-type.is-scrolled{background:hsla(0,0%,100%,.98);box-shadow:var(--shadow-sm)}.header-inner{align-items:center;display:flex;gap:24px;height:100%;justify-content:space-between}.logo{color:var(--color-primary);font-family:var(--font-heading);font-size:1.35rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.nav-desktop ul{display:flex;gap:40px}.nav-desktop a{color:var(--color-primary);font-family:var(--font-heading);font-size:.9rem;padding:6px 0;position:relative}.nav-desktop a:after{background:var(--color-primary);bottom:-4px;content:"";height:1px;left:0;position:absolute;transform:scaleX(0);transform-origin:left;transition:transform .22s var(--ease-out);width:100%}.nav-desktop a.active:after,.nav-desktop a:hover:after{transform:scaleX(1)}@media (max-width:768px){.nav-desktop{display:none}}.menu-toggle{background:none;border:none;cursor:pointer;display:none;height:44px;padding:10px;width:44px;z-index:1100}.menu-toggle span{background:var(--color-primary);display:block;height:2px;margin:6px auto;transition:transform .28s var(--ease-out),opacity .18s var(--ease-out);width:24px}.menu-toggle.is-active span:first-child{transform:translateY(8px) rotate(45deg)}.menu-toggle.is-active span:nth-child(2){opacity:0}.menu-toggle.is-active span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}@media (max-width:768px){.menu-toggle{display:block}}.drawer-menu{background:#fff;border-left:1px solid var(--color-border);bottom:0;box-shadow:var(--shadow-md);max-width:320px;overflow-y:auto;padding:calc(var(--header-height) + 28px) 28px 32px;position:fixed;right:0;top:0;transform:translateX(100%);transition:transform .38s var(--ease-out);width:80%;z-index:1050;-webkit-overflow-scrolling:touch}.drawer-menu.is-active{transform:translateX(0)}.drawer-overlay{background:rgba(15,23,42,.42);inset:0;opacity:0;pointer-events:none;position:fixed;transition:opacity .28s var(--ease-out);z-index:1040}.drawer-overlay.is-active{opacity:1;pointer-events:auto}.drawer-menu ul li{margin-bottom:18px}.drawer-menu ul a{color:var(--color-primary);display:block;font-family:var(--font-heading);font-size:1.1rem;padding:10px 0}.drawer-menu ul a:hover{opacity:.85}.hero{align-items:center;background-color:var(--color-surface);display:flex;height:85vh;min-height:clamp(520px,60vh,680px);overflow:hidden;position:relative}.hero-bg{background-position:50%;background-size:cover;transform:scale(1.01);z-index:0}.hero-bg,.hero-overlay{inset:0;position:absolute}.hero-overlay{background:linear-gradient(90deg,rgba(248,250,252,.96),hsla(0,0%,100%,.88) 44%,hsla(0,0%,100%,.12));z-index:1}.hero-content{max-width:720px;position:relative;z-index:2}.hero-line{background:var(--color-primary);height:2px;margin:0 0 22px;width:64px}.hero-label{color:var(--color-accent);display:block;font-family:var(--font-base);font-size:.85rem;font-weight:600;letter-spacing:.28em;margin:0 0 22px;text-transform:uppercase}.hero-title{color:var(--color-primary);font-family:var(--font-heading);font-size:clamp(2.25rem,4.6vw,3.9rem);line-height:1.22;margin:0 0 28px}.hero-desc{color:var(--color-text-body);font-size:1.02rem;font-weight:500;line-height:1.85;max-width:62ch}.hero-desc p{margin:0 0 12px}.hero-desc p:last-child{margin-bottom:0}.hero-cta{margin-top:34px}@media (max-width:768px){.hero{align-items:flex-end;padding-bottom:56px}.hero-overlay{background:linear-gradient(180deg,rgba(248,250,252,.94),hsla(0,0%,100%,.72) 55%,hsla(0,0%,100%,.22))}}.news-ticker{background:var(--color-bg);border-bottom:1px solid var(--color-border)}.news-ticker .container{align-items:center;display:flex;gap:40px;min-height:60px}.ticker-label{flex-shrink:0;font-family:var(--font-heading);font-weight:600}.ticker-content,.ticker-label{font-size:.9rem;white-space:nowrap}.ticker-content{display:flex;flex-grow:1;gap:16px;min-width:0;overflow:hidden}.ticker-date{color:var(--color-accent);flex-shrink:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Courier New,monospace}.ticker-title{overflow:hidden;text-overflow:ellipsis}.ticker-link{border-bottom:1px solid;flex-shrink:0;font-size:.8rem;white-space:nowrap}.ticker-link:hover{opacity:.85}@media (max-width:768px){.news-ticker .container{display:grid;gap:10px 0;grid-template-columns:1fr auto;padding:14px 0}.ticker-label{font-size:.8rem;grid-column:1;grid-row:1}.ticker-link{font-size:.8rem;grid-column:2;grid-row:1;justify-self:end}.ticker-content{font-size:.85rem;gap:10px;grid-column:1/-1;grid-row:2}}.biz-card{background:#fff;display:flex;flex-direction:column;height:100%;transition:transform .28s var(--ease-out),box-shadow .28s var(--ease-out)}.biz-card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}.biz-img{border-bottom:1px solid var(--color-border);height:280px;overflow:hidden;position:relative}.biz-img img{transition:transform .6s var(--ease-out)}.biz-card:hover .biz-img img{transform:scale(1.05)}.biz-body{display:flex;flex-direction:column;flex-grow:1;padding:34px 0 0}.biz-cat{color:var(--color-accent);font-size:.75rem;letter-spacing:.1em;margin:0 0 10px;text-transform:uppercase}.biz-title{font-size:1.5rem;margin:0 0 18px}.lt-cards .grid-border>*{padding:44px}.lt-cards .biz-img{margin-left:10px;margin-right:10px}.lt-cards .biz-cat,.lt-cards .biz-title,.lt-cards .btn-outline,.lt-cards .text-sm{padding-left:10px;padding-right:10px}@media (max-width:768px){.lt-cards .grid-border>*{padding:28px 18px}.lt-cards .biz-img{margin-left:6px;margin-right:6px}.lt-cards .biz-cat,.lt-cards .biz-title,.lt-cards .btn-outline,.lt-cards .text-sm{padding-left:6px;padding-right:6px}}.gov-list{margin-top:20px}.gov-item{align-items:center;border-bottom:1px solid var(--color-border);cursor:pointer;display:flex;justify-content:space-between;padding:22px 0;transition:background-color .18s var(--ease-out),padding .18s var(--ease-out)}.gov-item:hover{background-color:var(--color-bg-sub);padding-left:10px;padding-right:10px}.gov-info{align-items:center;display:flex;gap:16px}.icon-pdf{fill:none;height:24px;stroke:var(--color-accent);stroke-width:1.5;width:24px}.gov-meta{color:var(--color-accent);display:block;font-size:.75rem;margin-top:4px}.gov-title{font-family:var(--font-heading);font-size:1rem;font-weight:500}.gov-teaser{background-color:var(--color-surface);border-bottom:1px solid var(--color-border);border-top:1px solid var(--color-border)}.gov-panel{background:#fff;border:1px solid var(--color-border);padding:0 30px}.footer-inner{align-items:start;display:grid;gap:60px;grid-template-columns:1.2fr .8fr;padding-bottom:40px}.footer-nav{line-height:2;opacity:.85;text-align:left}.footer-nav a{display:inline-block;padding:2px 0}.footer-nav a:hover{opacity:.85}.footer-bottom{align-items:center;border-top:1px solid hsla(0,0%,100%,.2);display:flex;font-size:.75rem;gap:20px;justify-content:space-between;margin-top:20px;opacity:.72;padding-top:24px}@media (max-width:768px){.footer-inner{grid-template-columns:1fr}.footer-bottom{align-items:flex-start;flex-direction:column}}.section--contact .section-header--center{border-bottom:none;justify-content:center;margin-bottom:50px;padding-bottom:0;text-align:center}.contact-box{background:var(--color-bg);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);margin:0 auto;max-width:920px;padding:56px}.contact-subtitle{color:var(--color-primary);font-family:var(--font-heading);font-size:1.25rem;letter-spacing:.02em;line-height:1.6;margin:0 0 18px}.contact-desc{color:var(--color-text-body)}.contact-desc p{margin:0 0 18px}.contact-desc p:last-child{margin-bottom:0}.contact-examples{background:var(--color-bg-sub);border:1px solid var(--color-border);margin:18px 0;padding:18px 20px}.contact-examples-title{color:var(--color-primary);font-family:var(--font-heading);font-size:.95rem;letter-spacing:.02em;margin:0 0 10px}.contact-examples-list{list-style:disc;margin:0;padding-left:1.2em}.contact-examples-list li{margin:6px 0}.contact-note{color:var(--color-accent);font-size:.875rem;margin-top:18px}.contact-cta{margin-top:28px}@media (max-width:768px){.contact-box{padding:40px 20px}}.section--contact .contact-subtitle{text-align:center}.section--contact .contact-desc,.section--contact .contact-examples,.section--contact .contact-note{margin-left:auto;margin-right:auto;max-width:60ch}.section--contact .contact-cta{text-align:center}