:root{--brand-base:#72ba56}[data-accent=dic38]{--brand-base:#91c59d}[data-accent=dic39]{--brand-base:#94c7af}[data-accent=dic63]{--brand-base:#85c19d}[data-accent=dic64]{--brand-base:#7bbda8}[data-accent=dic92]{--brand-base:#72b95c}[data-accent=dic93]{--brand-base:#4ead67}[data-accent=dic130]{--brand-base:#7fbe57}[data-accent=dic131]{--brand-base:#6cb662}[data-accent=dic132]{--brand-base:#59b174}[data-accent=dic172]{--brand-base:#66b562}[data-accent=dic173]{--brand-base:#4eac7a}[data-accent=dic174]{--brand-base:#4eab80}[data-accent=dic213]{--brand-base:#5f9a50}[data-accent=dic214]{--brand-base:#4e9467}[data-accent=dic215]{--brand-base:#489f77}[data-accent=dic216]{--brand-base:#489f83}[data-accent=dic250]{--brand-base:#449162}[data-accent=dic251]{--brand-base:#296153}[data-accent=dic376]{--brand-base:#537c3f}[data-accent=dic377]{--brand-base:#416f3d}[data-accent=dic378]{--brand-base:#446b3c}[data-accent=dic379]{--brand-base:#2c4c3c}[data-accent=dic380]{--brand-base:#365642}[data-accent=dic387]{--brand-base:#477250}[data-accent=dic388]{--brand-base:#457851}[data-accent=dic389]{--brand-base:#296244}[data-accent=dic393]{--brand-base:#507154}[data-accent=dic394]{--brand-base:#88af92}[data-accent=dic395]{--brand-base:#6d9f7d}[data-accent=dic396]{--brand-base:#447760}[data-accent=dic572]{--brand-base:#4fad47}[data-accent=dic598]{--brand-base:#6cb856}[data-accent=dic638]{--brand-base:#4eac56}[data-accent=dic643]{--brand-base:#479f6c}[data-accent=dic649]{--brand-base:#4eac80}[data-accent=dic2105]{--brand-base:#aad088}[data-accent=dic2127]{--brand-base:#77bb91}[data-accent=dic2322]{--brand-base:#7c9463}[data-accent=dic2323]{--brand-base:#85916b}[data-accent=dic2324]{--brand-base:#809266}[data-accent=dic2325],[data-accent=dic2326]{--brand-base:#697c61}[data-accent=dic2327]{--brand-base:#778269}[data-accent=dic2347]{--brand-base:#8ba189}[data-accent=dic2348]{--brand-base:#789979}[data-accent=dic2349]{--brand-base:#648260}[data-accent=dic2350]{--brand-base:#577760}[data-accent=dic2351]{--brand-base:#486a49}[data-accent=dic2352]{--brand-base:#4c6f57}[data-accent=dic2353]{--brand-base:#536d58}[data-accent=dic2555]{--brand-base:#4da947}[data-accent=dic2556]{--brand-base:#72ba56}[data-accent=dic2557]{--brand-base:#65b456}[data-accent=dic2558]{--brand-base:#4daa47}[data-accent=dic2559]{--brand-base:#4fad47}[data-accent=dic2560]{--brand-base:#459a47}[data-accent=dic2561]{--brand-base:#449746}[data-accent=dic2562]{--brand-base:#317261}[data-accent=dic2563]{--brand-base:#3e8d76}[data-accent=dic2564]{--brand-base:#479e74}[data-accent=dic2565]{--brand-base:#479f6c}[data-accent=dic2566]{--brand-base:#64b477}[data-accent=dic2567]{--brand-base:#4ca868}[data-accent=dic2568]{--brand-base:#40905c}:root{--brand:var(--brand-base);--brand-soft:color-mix(in srgb,var(--brand-base) 14%,transparent);--on-brand:#fff}[data-theme=dark]{--brand:color-mix(in srgb,var(--brand-base) 78%,#fff);--brand-soft:color-mix(in srgb,var(--brand-base) 22%,transparent);--on-brand:#0e1a12}:root{--bg:#fff;--logo:#000;--fg:#37474f;--fg2:#546e7a;--mute:#999;--mute2:#bbb;--mute3:#ddd;--mute4:#777;--line:#e0e0e0;--nav-bg:#fffffff2;--chip:#f0f0f0;--panel:#37474f;--panel-fg:#fff;--footer:#2c3a47;--hover:#37474f05;--scene:var(--brand);color-scheme:light}[data-theme=dark]{--bg:#0f161c;--logo:#fff;--fg:#e6edf3;--fg2:#b8c4cf;--mute:#8a96a3;--mute2:#66727e;--mute3:#3a4650;--mute4:#a4afba;--line:#26313a;--nav-bg:#0f161ceb;--chip:#1c2730;--panel:#1a2530;--panel-fg:#fff;--footer:#0a1015;--hover:#ffffff08;--scene:#8fa6bd;color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}.theme-anim,.theme-anim *,.theme-anim :before,.theme-anim :after{transition:background-color .5s,color .5s,border-color .5s,fill .5s,stroke .5s!important}html{scroll-behavior:smooth}body{color:var(--fg);background:var(--bg);flex-direction:column;min-height:100vh;font-family:Noto Sans JP,sans-serif;line-height:1.8;transition:background .3s,color .3s;display:flex;overflow-x:hidden}main{flex:1;padding-top:56px}a{color:inherit;text-decoration:none}.section-label{letter-spacing:5px;color:var(--brand);text-transform:uppercase;margin-bottom:12px;font-size:11px;display:block}.serif{color:var(--fg);font-family:Playfair Display,serif;font-weight:700}.nav{z-index:100;background:var(--nav-bg);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);width:100%;transition:box-shadow .3s;position:fixed;top:0}.nav-scrolled{box-shadow:0 2px 20px #0000001f}.nav-right{align-items:center;gap:16px;display:flex}.nav-inner{justify-content:space-between;align-items:center;max-width:1200px;height:56px;margin:0 auto;padding:0 32px;display:flex}.nav-logo{color:var(--fg);align-items:baseline;gap:6px;font-family:Playfair Display,serif;font-size:24px;font-weight:700;display:inline-flex}.logo-mask,.logo-img,.hero-logo,.footer-logo{background:var(--logo);transition:background .3s;display:inline-block;-webkit-mask:url(/logo-mark.png) 50%/contain no-repeat;mask:url(/logo-mark.png) 50%/contain no-repeat}.nav-logo .logo-img{width:28px;height:28px;transform:translateY(4px)}.nav-links{gap:28px;list-style:none;display:flex}.nav-links a{letter-spacing:2px;color:#aaa;padding-bottom:4px;font-size:11px;transition:color .2s;position:relative}.nav-links a:after{content:"";background:var(--brand);transform-origin:0;height:1px;transition:transform .25s;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.nav-links a:hover:after{transform:scaleX(1)}.nav-links a:hover{color:var(--brand)}.hero-wrap{overflow:hidden}.hero,.hero-wrap{position:relative}.hero{z-index:1;align-items:center;max-width:1000px;min-height:100vh;margin:0 auto;padding:0;display:flex}.hero-content{grid-template-columns:1fr 1fr;align-items:stretch;width:100%;min-height:100vh;display:grid}.hero-left{flex-direction:column;gap:24px;padding:120px 32px}.hero-left,.hero-right-fill{justify-content:center;display:flex}.hero-right-fill{background:color-mix(in srgb,var(--brand-base) 55%,#0b1510);align-items:center;position:relative;overflow:hidden}.hero-canvas{position:absolute;inset:0}.hero-brand{z-index:1;flex-direction:column;align-items:center;gap:24px;width:46%;max-width:220px;display:flex;position:relative}.hero-logo-wrap{filter:drop-shadow(0 10px #000000b8)drop-shadow(0 26px 34px #0006);width:100%;display:block}.hero-logo{aspect-ratio:1;background:#fff;width:100%;display:block}.hero-wordmark{letter-spacing:.12em;color:#fff;white-space:nowrap;text-shadow:0 4px #000000b8,0 14px 24px #0006;font-family:Playfair Display,serif;font-size:clamp(22px,2.4vw,32px);line-height:1}.hero-eyecatch{color:var(--fg);letter-spacing:-2px;font-family:Playfair Display,serif;font-size:clamp(48px,10vw,120px);font-weight:700;line-height:.92}.hero-eyecatch .dot{color:var(--brand)}.hero-divider{background:var(--brand);transform-origin:0;width:100%;height:2px}.hero-bottom{justify-content:space-between;align-items:flex-end;display:flex}.hero-desc{color:var(--mute);max-width:360px;font-size:14px;line-height:1.8}.hero-tag{letter-spacing:4px;color:var(--brand);writing-mode:vertical-rl;font-size:11px}.anim-slide-up{animation:.8s cubic-bezier(.16,1,.3,1) both slideUp}.anim-expand{animation:1s cubic-bezier(.16,1,.3,1) .4s both expandLine}.anim-fade-up{animation:.8s cubic-bezier(.16,1,.3,1) .6s both fadeUp}@keyframes slideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}@keyframes expandLine{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}.about-section{max-width:1000px;margin:0 auto;padding:140px 32px 120px}.about-message h2{color:var(--fg);margin-bottom:24px;padding-top:20px;font-family:Playfair Display,serif;font-size:clamp(24px,3.5vw,36px);font-weight:700;line-height:1.8;position:relative}.about-message h2:before{content:"";background:var(--brand);width:48px;height:3px;position:absolute;top:0;left:0}.about-desc p{color:var(--mute);max-width:640px;font-size:14px;line-height:2.2}.photo-full{max-width:1000px;margin:0 auto;padding:0 32px}.photo-full img{object-fit:cover;border-top:4px solid var(--brand);width:100%;height:400px;display:block}.services-section{max-width:1000px;margin:0 auto;padding:120px 32px}.services-heading{color:var(--fg);align-items:center;gap:16px;margin-bottom:56px;font-family:Playfair Display,serif;font-size:32px;font-weight:700;display:flex}.services-heading:after{content:"";background:linear-gradient(90deg,var(--brand),transparent);flex:1;height:1px}.services-list{flex-direction:column;display:flex}.service-row{border-bottom:1px solid var(--line);cursor:pointer;align-items:center;gap:32px;padding:36px 0;transition:padding-left .3s;display:flex}.service-row:hover{border-bottom-color:var(--brand);padding-left:12px}.service-num{color:color-mix(in srgb,var(--brand) 45%,transparent);flex-shrink:0;width:64px;font-family:Playfair Display,serif;font-size:36px;transition:color .3s}.service-row:hover .service-num{color:var(--brand)}.service-body{flex:1}.service-subtitle{letter-spacing:3px;color:var(--brand);text-transform:uppercase;margin-bottom:4px;font-size:11px}.service-body h3{color:var(--fg);margin-bottom:6px;font-size:18px;font-weight:700}.service-body p{color:var(--mute);font-size:13px;line-height:1.8}.service-arrow{color:var(--mute3);flex-shrink:0;font-size:20px;transition:all .3s}.service-row:hover .service-arrow{color:var(--brand);transform:translate(4px)}.photo-grid{grid-template-rows:1fr 1fr;grid-template-columns:1.2fr 1fr;gap:8px;max-width:1000px;margin:0 auto;padding:80px 32px;display:grid}.photo-grid img{object-fit:cover;width:100%;height:100%;display:block}.photo-grid .photo-tall{grid-row:span 2}.photo-grid img{transition:filter .3s}.photo-grid img:hover{filter:sepia(.3)hue-rotate(60deg)saturate(.8)}.company-section{border-top:2px solid var(--brand);max-width:1000px;margin:0 auto;padding:120px 32px}.company-inner{grid-template-columns:1fr 2fr;gap:64px;display:grid}.company-left h2{color:var(--fg);font-family:Playfair Display,serif;font-size:28px;font-weight:700}.company-left h2:after{content:"";background:var(--brand);width:32px;height:2px;margin-top:16px;display:block}.c-table{border-collapse:collapse;width:100%}.c-table tr{border-bottom:1px solid var(--line);transition:background .2s}.c-table tr:hover{background:var(--hover)}.c-table th{text-align:left;color:var(--brand);letter-spacing:1px;vertical-align:top;width:120px;padding:18px 0;font-size:12px;font-weight:600}.c-table td{color:var(--mute4);padding:18px 0;font-size:14px}.cta-section{background:color-mix(in srgb,var(--brand-base) 62%,#0b1510);text-align:center;padding:120px 32px}.cta-inner{max-width:1000px;margin:0 auto}.cta-label{color:#ffffff8c}.cta-section h2{color:var(--panel-fg);margin-bottom:16px;font-family:Playfair Display,serif;font-size:36px}.cta-section p{color:#ffffff80;margin-bottom:36px;font-size:14px;line-height:2}.cta-section--sm{padding:80px 32px}.cta-section--sm h2{font-size:28px}.btn-cta{border:1px solid var(--panel-fg);color:var(--panel-fg);letter-spacing:3px;cursor:pointer;background:0 0;border-radius:40px;padding:16px 48px;font-size:12px;transition:all .3s;display:inline-block}.btn-cta:hover{color:color-mix(in srgb,var(--brand-base) 70%,#000);background:#fff;border-color:#fff;transform:translateY(-2px);box-shadow:0 4px 16px #0003}.footer{border-top:3px solid var(--brand);background:color-mix(in srgb,var(--brand-base) 28%,#0a100d);padding:60px 32px 40px}.footer-inner{text-align:center;max-width:1000px;margin:0 auto}.footer-logo{opacity:.9;background:#fff;width:40px;height:40px;margin:0 auto 20px;display:block}.footer-links{justify-content:center;gap:24px;margin-bottom:24px;display:flex}.footer-links a{letter-spacing:2px;color:#ffffff4d;font-size:11px;transition:color .2s}.footer-links a:hover{color:var(--brand)}.footer-address{letter-spacing:1px;color:#ffffff73;margin-bottom:14px;font-size:11px;font-style:normal;line-height:1.9}.footer-copy{color:#fff3;letter-spacing:1px;font-size:10px}::selection{background:var(--brand);color:#fff}.fade{opacity:0;transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);transform:translateY(24px)}.fade.visible{opacity:1;transform:none}.hamburger{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:8px;display:none}.hamburger-line{background:var(--fg);width:22px;height:2px;transition:all .3s;display:block}.hamburger-line.open:first-child{transform:rotate(45deg)translate(5px,5px)}.hamburger-line.open:nth-child(2){opacity:0}.hamburger-line.open:nth-child(3){transform:rotate(-45deg)translate(5px,-5px)}.mobile-menu{background:var(--nav-bg);backdrop-filter:blur(12px);z-index:99;flex-direction:column;justify-content:center;align-items:center;gap:32px;animation:.2s menuFadeIn;display:none;position:fixed;inset:56px 0 0}.mobile-menu.open{display:flex}.mobile-menu a{letter-spacing:3px;color:var(--fg);font-size:16px;font-weight:600;transition:color .2s}.mobile-menu a:hover{color:var(--brand)}@keyframes menuFadeIn{0%{opacity:0}to{opacity:1}}.page-title{color:var(--fg);margin-bottom:24px;font-family:Playfair Display,serif;font-size:clamp(32px,5vw,48px);font-weight:700}.page-title:after{content:"";background:var(--brand);width:56px;height:3px;margin-top:16px;display:block}.page-lead{color:var(--mute);max-width:640px;margin-bottom:56px;font-size:14px;line-height:2.2}.sub-section{max-width:1000px;margin:0 auto;padding:0 32px 120px}.sub-heading{color:var(--fg);border-left:3px solid var(--brand);margin-bottom:24px;padding-left:16px;font-family:Playfair Display,serif;font-size:28px;font-weight:700}.quote{color:var(--fg2);border-left:3px solid var(--brand);max-width:640px;padding-left:24px;font-size:16px;font-style:italic;line-height:2.4}.quote-by{color:var(--mute);margin-top:16px;font-size:13px}.news-item{border-bottom:1px solid var(--line);padding:28px 0;transition:padding-left .3s;display:block}.news-item:hover{border-bottom-color:var(--brand);padding-left:12px}.news-item:hover h2{color:var(--brand)}.news-meta{align-items:baseline;gap:16px;margin-bottom:8px;display:flex}.news-meta time{color:var(--brand);letter-spacing:1px;flex-shrink:0;font-size:12px;font-weight:500}.chip{letter-spacing:2px;color:var(--brand);background:var(--brand-soft);border-radius:2px;padding:2px 8px;font-size:10px}.news-item h2{color:var(--fg);margin-bottom:4px;font-size:17px;font-weight:600}.news-item p{color:var(--mute);font-size:13px}.article{max-width:1000px;margin:0 auto;padding:0 32px 120px}.article-body{max-width:640px;color:var(--mute4);font-size:14px;line-height:2.2}.article-body p{margin-bottom:1.5em}.article-back{letter-spacing:3px;color:#aaa;margin-top:40px;font-size:11px;transition:color .2s;display:inline-block}.article-back:hover{color:var(--brand)}.position{border-bottom:1px solid var(--line);padding:32px 0}.position-meta{align-items:center;gap:12px;margin-bottom:8px;display:flex}.position-meta .en{letter-spacing:2px;color:var(--brand);font-size:11px}.position h3{color:var(--fg);margin-bottom:8px;font-size:18px;font-weight:700;transition:color .2s}.position:hover h3{color:var(--brand)}.position:hover{border-bottom-color:var(--brand)}.position p{color:var(--mute);font-size:13px;line-height:1.8}.form-section{max-width:640px;margin:0 auto;padding:0 32px 120px}.form{flex-direction:column;gap:24px;display:flex}.form label{color:var(--brand);letter-spacing:1px;margin-bottom:8px;font-size:12px;font-weight:600;display:block}.form input,.form textarea{border:1px solid var(--line);background:var(--bg);width:100%;color:var(--fg);border-radius:4px;outline:none;padding:12px 16px;font-family:inherit;font-size:14px;transition:border .2s}.form input:focus,.form textarea:focus{border-color:var(--brand)}.form textarea{resize:vertical}.form button{background:var(--brand);color:var(--on-brand);letter-spacing:2px;cursor:pointer;border:none;border-radius:40px;align-self:flex-start;padding:16px 48px;font-family:inherit;font-size:13px;transition:all .3s}.form button:hover{opacity:.85;transform:translateY(-2px)}.form-note{color:var(--mute2);margin-top:-8px;font-size:11px}@media (width<=768px){.nav-links{display:none}.hamburger{display:flex}.hero-content{grid-template-columns:1fr}.hero-right-fill{display:none}.hero-left{padding:100px 24px}.hero-bottom{flex-direction:column;gap:16px}.hero-tag{writing-mode:horizontal-tb}.about-section,.services-section{padding:80px 24px}.service-row{flex-direction:column;align-items:flex-start;gap:8px}.service-num{width:auto}.service-arrow{display:none}.photo-grid{grid-template-rows:auto;grid-template-columns:1fr}.photo-grid .photo-tall{grid-row:auto}.company-inner{grid-template-columns:1fr;gap:32px}.c-table td,.c-table th{padding:4px 0;display:block}.c-table th{padding-top:14px}.footer-links{flex-wrap:wrap;gap:16px}.sub-section,.form-section,.article{padding:0 24px 80px}}
