    @font-face{font-family:ZenKaku;src:url('../fonts/ZenKakuGothicNew-Regular.woff2') format('woff2');font-weight:400;font-display:swap}
    @font-face{font-family:ZenKaku;src:url('../fonts/ZenKakuGothicNew-Medium.woff2') format('woff2');font-weight:500;font-display:swap}
    @font-face{font-family:ZenKaku;src:url('../fonts/ZenKakuGothicNew-Bold.woff2') format('woff2');font-weight:700;font-display:swap}
    @font-face{font-family:Outfit;src:url('../fonts/Outfit-600.woff2') format('woff2');font-weight:600;font-display:swap}
    :root{
      --green:#83cf38;
      --green-deep:#4c971b;
      --ink:#17191b;
      --ink-soft:#62686a;
      --paper:#f4f6f5;
      --white:#fff;
      --dark:#171b1d;
      --line:#d9ddda;
      --shell:min(1240px,calc(100vw - 96px));
      --section:clamp(112px,9vw,160px);
      --ease:cubic-bezier(.22,1,.36,1);
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth;overflow-x:clip}
    body{margin:0;overflow-x:clip;background:var(--white);color:var(--ink);font-family:ZenKaku,"Hiragino Kaku Gothic ProN",sans-serif;line-height:1.8}
    a{color:inherit;text-decoration:none}
    img{display:block;width:100%}
    .shell{width:var(--shell);margin-inline:auto}
    .hero{min-height:650px;background:var(--paper);position:relative;overflow:hidden;border-bottom:1px solid var(--line)}
    .hero::before{content:"SERVICE";position:absolute;right:-.04em;bottom:-.23em;font:600 clamp(180px,24vw,360px)/.8 Outfit,sans-serif;color:rgba(255,255,255,.9);letter-spacing:.02em}
    .hero-grid{min-height:650px;display:grid;grid-template-columns:45% 55%;align-items:stretch}
    .hero-copy{display:flex;flex-direction:column;justify-content:center;padding-right:9vw;position:relative;z-index:1}
    .eyebrow{margin:0 0 22px;font:600 12px/1.2 Outfit,sans-serif;letter-spacing:.17em;color:var(--green-deep);text-transform:uppercase}
    h1,h2,h3,p{margin-top:0}
    h1{font-size:clamp(54px,5.2vw,82px);line-height:1.1;letter-spacing:0;margin-bottom:34px}
    .hero-art{position:relative;border-left:1px solid var(--line);overflow:hidden}
    .hero-art .field{position:absolute;inset:0;background:var(--white)}
    .hero-art .axis{position:absolute;left:16%;right:8%;top:50%;height:1px;background:var(--ink)}
    .hero-art .green-path{position:absolute;left:40%;top:-12%;width:6px;height:125%;background:var(--green);transform:rotate(20deg);transform-origin:center}
    .hero-art .word{position:absolute;right:4%;bottom:-2%;font:600 clamp(230px,26vw,390px)/.8 Outfit,sans-serif;color:var(--paper)}
    .hero-art .label{position:absolute;left:14%;top:16%;font:600 12px/1 Outfit,sans-serif;letter-spacing:.16em;writing-mode:vertical-rl}
    .hero-art .mark{position:absolute;left:42%;top:42%;width:15px;height:15px;border:4px solid var(--green);background:var(--white);transform:rotate(45deg)}
    .reason{padding:var(--section) 0;background:var(--dark);color:var(--white);position:relative;overflow:hidden}
    .reason::after{content:"WHY";position:absolute;right:-.05em;top:-.1em;font:600 clamp(190px,27vw,410px)/1 Outfit,sans-serif;color:rgba(255,255,255,.035)}
    .reason-grid{position:relative;z-index:1}
    .reason h2{font-size:clamp(42px,4.6vw,70px);line-height:1.42;letter-spacing:0;margin-bottom:78px;max-width:18em}
    .reason h2 > span{display:block}
    .reason h2 em{color:var(--green);font-style:normal}
    .two-fields{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #69706d;border-bottom:1px solid #69706d;position:relative}
    .two-fields::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:#69706d}
    .field-item{min-height:290px;padding:48px 56px 48px 0;position:relative}
    .field-item:last-child{padding-left:56px;padding-right:0}
    .field-item::after{content:"01";position:absolute;right:46px;top:34px;font:600 94px/1 Outfit,sans-serif;color:rgba(255,255,255,.045)}
    .field-item:last-child::after{content:"02";right:0}
    .field-item span{display:block;font:600 12px/1 Outfit,sans-serif;color:var(--green);letter-spacing:.16em;margin-bottom:32px}
    .field-item strong{display:block;font-size:clamp(28px,2.8vw,42px);line-height:1.45;margin-bottom:22px;max-width:12em}
    .field-item p{font-size:16px;line-height:2;color:#c4cac6;margin-bottom:0;max-width:26em}
    .domains{background:var(--white)}
    .domain{padding:var(--section) 0}
    .domain + .domain{border-top:1px solid var(--line);background:var(--paper)}
    .domain-head{display:grid;grid-template-columns:32% 68%;gap:7vw;margin-bottom:82px;align-items:end}
    .domain-index{font:600 clamp(92px,10vw,150px)/.78 Outfit,sans-serif;color:transparent;-webkit-text-stroke:1px var(--line);letter-spacing:.02em}
    .domain-heading h2{font-size:clamp(34px,3.4vw,52px);line-height:1.4;margin-bottom:26px;letter-spacing:0}
    .domain-keys{display:flex;align-items:center;gap:18px;font:600 14px/1.4 Outfit,ZenKaku,sans-serif;color:var(--ink-soft);letter-spacing:.08em}
    .domain-keys i{width:28px;height:1px;background:var(--green);display:block}
    .services{border-top:1px solid var(--ink)}
    .service-row{min-height:510px;display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line)}
    .service-media{height:540px;overflow:hidden;position:relative}
    .service-media img{height:100%;object-fit:cover;transition:transform .8s var(--ease)}
    .service-row:hover .service-media img{transform:scale(1.025)}
    .service-copy{padding:64px 68px;display:flex;flex-direction:column;justify-content:space-between;background:var(--white)}
    .domain-business .service-copy{background:var(--paper)}
    .service-row:nth-child(even) .service-media{order:2}
    .service-row:nth-child(even) .service-copy{order:1}
    .service-no{font:600 14px/1 Outfit,sans-serif;letter-spacing:.14em;color:var(--green-deep);margin-bottom:50px}
    .service-copy h3{font-size:clamp(28px,2.7vw,42px);line-height:1.35;margin-bottom:24px}
    .service-logo{display:block;width:min(360px,90%);height:auto;max-height:78px;object-fit:contain;object-position:left center;margin-bottom:30px}
    .service-copy p{color:var(--ink-soft);font-size:15px;line-height:2;max-width:35em}
    .service-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}
    .service-badges span{border:1px solid var(--line);padding:7px 10px;font-size:11px;line-height:1.3;color:var(--ink-soft);background:var(--white)}
    .domain-business .service-badges span{background:transparent}
    .service-link{display:inline-flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--ink);padding:14px 0;font-size:14px;font-weight:700;width:min(260px,100%)}
    .service-link::after{content:"";width:18px;height:18px;background-color:currentColor;-webkit-mask:var(--icon-arrow-up-right) center/contain no-repeat;mask:var(--icon-arrow-up-right) center/contain no-repeat;transition:transform .25s var(--ease)}
    .service-link:hover::after{transform:translate(4px,-3px)}
    .closing{padding:132px 0;background:var(--white);text-align:center}
    .closing h2{font-size:clamp(34px,4vw,56px);line-height:1.5;margin-bottom:24px}
    .mobile-break{display:inline}
    .closing p{color:var(--ink-soft);margin-bottom:38px}
    .contact-link{display:inline-flex;align-items:center;gap:64px;background:var(--green);padding:18px 28px;font-weight:700;min-width:310px;justify-content:space-between}
    .contact-link::after{content:"→";font:600 22px/1 Outfit,sans-serif}
    .site-footer{background:var(--dark);color:var(--white);padding:72px 0 34px}
    .footer-top{display:grid;grid-template-columns:34% 1fr 1fr 1fr;gap:54px;padding-bottom:64px;border-bottom:1px solid #3c4240}
    .footer-logo img{width:134px;margin-bottom:26px}
    .footer-brand p{color:#9fa6a2;font-size:13px}
    .footer-col strong{display:block;color:var(--green);font:600 11px/1 Outfit,sans-serif;letter-spacing:.15em;margin-bottom:22px}
    .footer-col a{display:block;color:#c1c6c3;font-size:13px;margin-bottom:9px}
    .copyright{padding-top:28px;color:#818784;font-size:12px;text-align:right}
    a:focus-visible{outline:3px solid var(--green);outline-offset:5px}
    @media(max-width:800px){
      :root{--shell:calc(100vw - 40px);--section:82px}
      .hero,.hero-grid{min-height:640px}.hero-grid{grid-template-columns:1fr}.hero-copy{padding:82px 0 70px}.hero-art{min-height:250px;border-left:0;border-top:1px solid var(--line)}
      h1{font-size:48px}.hero::before{font-size:160px}
      .domain-head{grid-template-columns:1fr;gap:42px}.reason h2{font-size:36px;margin-bottom:54px;line-break:strict;word-break:normal}.reason h2 > span{display:inline}
      .two-fields{grid-template-columns:1fr}.two-fields::before{display:none}.field-item,.field-item:last-child{min-height:0;padding:34px 0 38px}.field-item + .field-item{border-top:1px solid #69706d}.field-item::after,.field-item:last-child::after{right:0;top:28px;font-size:72px}.field-item strong{font-size:29px}.field-item p{font-size:15px}
      .domain-head{margin-bottom:54px}.domain-index{font-size:88px}.domain-heading h2{font-size:31px}
      .service-row{grid-template-columns:1fr;min-height:0}.service-media,.service-row:nth-child(even) .service-media{order:1;height:290px}.service-copy,.service-row:nth-child(even) .service-copy{order:2;padding:36px 28px 44px;min-height:440px}.service-logo{width:min(290px,92%);max-height:60px}
      .service-no{margin-bottom:36px}.service-copy h3{font-size:28px}.closing{padding:94px 0}.closing h2{font-size:31px}.mobile-break{display:block}
      .footer-top{grid-template-columns:1fr 1fr;gap:42px}.footer-brand{grid-column:1/-1}.copyright{text-align:left}
    }
    @media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
