:root{--paper:#f6f5ef;--ink:#203b32;--muted:#64736b;--gold:#b49456;--line:#d6dcd1}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Noto Sans JP',sans-serif;line-height:1.85}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid var(--gold);outline-offset:6px}header{height:100px;display:flex;align-items:center;justify-content:space-between;padding:0 6%;border-bottom:1px solid var(--line);background:var(--paper)}.brand{display:flex;align-items:center;gap:12px;font-size:20px;font-weight:600;line-height:1.35}.brand small{display:block;font-size:10px;letter-spacing:.26em;font-weight:500;margin-top:5px}nav{display:flex;align-items:center;gap:32px;font-size:12px;font-weight:500}.nav-contact{border-bottom:1px solid var(--ink);padding:10px 0}.nav-contact span{margin-left:22px}.hero{padding:0 6%;position:relative;display:grid;grid-template-columns:1fr 1fr;min-height:650px}.hero-copy{padding:76px 0 60px;z-index:1}.eyebrow{font-size:11px;letter-spacing:.22em;font-weight:600;margin:0 0 34px}h1{font-size:clamp(48px,5.5vw,84px);font-weight:500;line-height:1.4;letter-spacing:.025em;margin:0 0 30px}.lead{font-size:15px;line-height:2.1;color:var(--muted)}.text-link{display:inline-flex;gap:70px;align-items:center;font-size:13px;border-bottom:1px solid var(--ink);padding:18px 0 12px;margin-top:10px}.hero-art{position:relative;overflow:hidden;background:#dce3d6;margin:40px 0 40px 30px;min-height:480px}.arch{position:absolute;border:1px solid rgba(255,255,255,.65);border-radius:50% 50% 0 0}.arch-one{width:75%;height:110%;left:20%;top:16%;background:linear-gradient(135deg,#53715b,#203b32 70%);box-shadow:-25px 25px 50px #203b3220}.arch-two{width:49%;height:80%;left:48%;top:44%;background:linear-gradient(140deg,#d0b77c,#95763e);transform:rotate(17deg)}.sun{position:absolute;left:12%;top:12%;width:75px;height:75px;border-radius:50%;border:1px solid #ad965f}.art-label{position:absolute;left:28px;bottom:20px;z-index:2;color:#fff;font-size:24px;font-weight:400;letter-spacing:.22em}.art-label span{display:block;font-size:8px;letter-spacing:.15em;margin-top:8px}.art-rule{position:absolute;left:0;top:40%;width:100%;height:1px;background:#ffffff40;transform:rotate(-38deg)}.hero-foot{grid-column:1/-1;display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:20px 0;font-size:10px;letter-spacing:.15em}.section{padding:105px 8%;display:grid;grid-template-columns:27% 1fr;gap:5%;border-top:1px solid var(--line)}.section-label{font-size:10px;letter-spacing:.16em;display:flex;gap:22px;padding-top:9px}.section-label span{color:var(--gold)}h2{font-size:38px;font-weight:500;line-height:1.6;letter-spacing:.03em;margin:0 0 32px}.intro p{font-size:14px;color:var(--muted);max-width:620px;margin:22px 0;line-height:2.2}.business{background:#e9ede4}.section-note{font-size:12px;color:var(--muted);max-width:650px;margin-bottom:40px}.business article{display:grid;grid-template-columns:34px 1fr;gap:12px;border-top:1px solid #c8d1c3;padding:28px 0}.number{font-size:11px;color:var(--muted);padding-top:5px}h3{font-size:20px;font-weight:500;margin:0 0 12px}.business article p{font-size:13px;color:var(--muted);line-height:2;max-width:590px;margin:0}.category{grid-column:2;font-size:9px;letter-spacing:.2em;color:var(--muted);margin-top:5px}dl{margin:0}dl>div{display:grid;grid-template-columns:140px 1fr;border-top:1px solid var(--line);padding:22px 0;font-size:13px}dt{color:var(--muted)}dd{margin:0}dd a{border-bottom:1px solid var(--line)}.contact{padding:90px 8%;display:grid;grid-template-columns:27% 1fr;gap:5%;background:var(--ink);color:var(--paper)}.contact h2{font-size:52px;margin:0 0 20px}.contact .eyebrow{color:#c1b486;margin-bottom:25px}.contact p{font-size:13px;color:#c2cfc4}.email{display:flex;align-items:center;justify-content:space-between;font-size:clamp(23px,3.5vw,43px);border-bottom:1px solid #7f9586;max-width:620px;padding:10px 0 20px;margin-top:25px}.email span{color:#c1b486}.contact .contact-note{font-size:10px;margin-top:20px}footer{padding:35px 6%;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:10px;color:var(--muted)}footer .brand{font-size:14px;color:var(--ink)}footer .brand small{margin:0;font-size:8px}.legal{max-width:800px;margin:auto;padding:75px 24px 100px}.legal h1{font-size:36px}.legal h2{font-size:21px;margin:38px 0 12px}.legal p{font-size:14px;color:var(--muted)}@media(max-width:760px){header{height:82px;padding:0 6%}nav{gap:17px;font-size:10px}nav a:first-child,nav a:nth-child(2){display:none}.brand{font-size:16px}.hero{grid-template-columns:1fr}.hero-copy{padding:48px 0 20px}.hero-art{margin:15px 0 30px;min-height:340px}.hero-foot{font-size:8px;gap:12px}.hero-foot>span:first-child{display:none}.section,.contact{padding:60px 7%;grid-template-columns:1fr;gap:30px}h2{font-size:30px}.contact h2{font-size:42px}dl>div{grid-template-columns:95px 1fr;font-size:12px}footer{flex-wrap:wrap;padding:28px 7%}footer .brand{width:100%}.eyebrow{margin-bottom:24px}h1{font-size:51px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.process article{border-top:1px solid var(--line);padding:24px 0}.process .eyebrow{display:block;font-size:9px;color:var(--gold);margin-bottom:12px}.process p{font-size:13px;color:var(--muted);margin:0}

header{gap:24px}.main-nav{margin-left:auto}.language-switch{gap:10px;font-size:11px;white-space:nowrap}.language-switch a{padding:6px 3px;color:var(--muted)}.language-switch [aria-current=page]{color:var(--ink);border-bottom:2px solid var(--gold)}.company-intro{font-size:15px;color:var(--muted);max-width:650px;margin:0 0 40px;line-height:2}.hero{min-height:620px}html[lang=en] h1{font-size:clamp(60px,7vw,100px);line-height:1.12;letter-spacing:-.045em}html[lang=zh-Hans] h1{font-size:clamp(42px,5vw,72px)}@media(max-width:760px){header{height:auto;min-height:104px;flex-wrap:wrap;padding:18px 6%;gap:18px 12px}.main-nav{order:3;width:100%;justify-content:space-between}.main-nav a:first-child,.main-nav a:nth-child(2){display:block}.language-switch{margin-left:auto;gap:10px}.language-switch a:first-child,.language-switch a:nth-child(2){display:block}.hero{min-height:0}.hero-copy{padding-top:40px}html[lang=en] h1{font-size:66px}html[lang=zh-Hans] h1{font-size:42px}.contact h2{font-size:36px}nav{font-size:12px}}

