:root{--ink:#112b40;--muted:#536777;--blue:#286080;--accent:#c5b18d;--line:#d7e0e5;--surface:#f0f4f6;--serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;color:var(--ink);background:#fff;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;line-height:1.8}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #9b855d;outline-offset:6px}a:hover{color:var(--blue)}.skip{position:fixed;top:-80px;left:20px;padding:12px 20px;background:white;z-index:20}.skip:focus{top:10px}.header{min-height:104px;padding:24px 5%;display:flex;align-items:center;justify-content:space-between;gap:24px;background:#fff;position:relative;z-index:5}.brand{display:flex;align-items:center;gap:14px;font-family:Arial,sans-serif;font-size:30px;font-weight:500;letter-spacing:-1.2px;line-height:1.2}.brand svg{width:38px;fill:none;stroke:var(--ink);stroke-width:1.5}.brand small{display:block;font-family:"Yu Gothic",Meiryo,sans-serif;font-size:12px;font-weight:500;letter-spacing:.16em;margin-top:9px}.header nav{display:flex;gap:32px;align-items:center;font-size:14px;font-weight:500}.header nav>a{position:relative}.header nav>a:not(.nav-contact):after{content:"";height:1px;background:var(--blue);position:absolute;bottom:-8px;left:0;right:100%;transition:right .25s}.header nav>a:hover:after{right:0}.nav-contact{background:var(--ink);color:white;padding:13px 24px}.nav-contact:hover{background:#244a65;color:white}.nav-contact span{margin-left:22px}.menu{display:none}.mobile-nav[hidden]{display:none}.hero{position:relative;isolation:isolate;overflow:hidden;background:var(--ink);color:white;min-height:760px;padding:80px 8% 120px}.hero:before{content:"";position:absolute;z-index:-1;inset:32px 4% 73px;border:1px solid #ffffff12;pointer-events:none}.hero-lines{position:absolute;z-index:-1;width:66%;height:100%;right:-9%;top:0;color:#9cbacb;opacity:.6;pointer-events:none;transform:rotate(-8deg)}.hero-lines svg{width:100%;height:100%}.hero-lines:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#112b40,transparent 35%)}.hero-art-caption{position:absolute;right:8%;top:74px;bottom:115px;width:28%;display:flex;flex-direction:column;justify-content:space-between;font-family:Georgia,serif;color:#b5c4cf;font-size:20px;letter-spacing:.02em;line-height:1.5;pointer-events:none}.hero-art-caption>span:last-child{font-family:Arial,sans-serif;font-size:12px;letter-spacing:.35em;align-self:flex-end;writing-mode:vertical-rl}.hero-content{position:relative;max-width:100%;width:max-content}.eyebrow{display:block;font-family:Arial,sans-serif;font-size:12px;font-weight:500;letter-spacing:.2em;color:var(--blue)}.hero .eyebrow{color:var(--accent);margin:0 0 34px;display:flex;align-items:center;gap:15px}.hero .eyebrow:before{content:"";height:1px;width:28px;background:var(--accent)}.hero h1{font-family:var(--serif);font-size:clamp(70px,7.5vw,116px);line-height:1.38;letter-spacing:.13em;font-weight:400;margin:0 0 32px}.period{color:var(--accent)}.hero-lead{font-family:var(--serif);font-size:22px;letter-spacing:.11em;font-weight:400;margin:0 0 16px}.hero-description{font-size:16px;line-height:2;color:#c5d1da;margin:0}.text-link{display:inline-flex;align-items:center;gap:35px;font-size:14px;margin-top:32px;padding:5px 0}.text-link span{border:1px solid #8c9caa;border-radius:50%;width:38px;height:38px;display:grid;place-items:center;transition:background .25s,transform .25s}.text-link:hover{color:white}.text-link:hover span{background:#ffffff15;transform:translateY(3px)}.hero-bottom{position:absolute;bottom:27px;left:5%;right:5%;display:flex;justify-content:space-between;gap:20px;font-family:Arial,sans-serif;font-size:12px;letter-spacing:.12em;color:#b1c0cc}.hero-bottom a span{margin-left:15px}.hero-bottom a:hover{color:white}.section{padding:125px 8%;scroll-margin-top:0}.section-label h2{font-size:24px;letter-spacing:.07em;margin:15px 0 0;font-weight:500}.about,.company{display:grid;grid-template-columns:1fr 1.55fr;gap:8%}.section-English{font-family:Georgia,serif;font-size:clamp(42px,5vw,68px);line-height:1.15;letter-spacing:-.04em;color:#9caeb9;margin:62px 0 0;font-weight:400}.about-body h3{font-family:var(--serif);font-size:clamp(30px,3vw,44px);line-height:1.65;letter-spacing:.08em;font-weight:400;margin:0 0 30px}.about-body p{font-size:16px;line-height:2.2;margin:24px 0}.about-body .about-intro{font-size:18px;font-weight:500;line-height:1.9;margin:30px 0}.about-sign{display:flex;gap:20px;align-items:center;font-size:14px;margin-top:38px;color:var(--blue);letter-spacing:.04em}.about-sign span{height:1px;width:48px;background:#9f8f72}.services{background:var(--surface);position:relative}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:60px}.section-heading>p{font-family:var(--serif);font-size:21px;line-height:1.9;letter-spacing:.04em;margin:0}.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:8%}.service{position:relative;border-top:1px solid #bdcdd7;padding:30px 0 36px;display:flex;flex-direction:column;min-width:0}.service-top{display:flex;align-items:center;gap:18px;font-family:Arial,sans-serif;font-size:12px;letter-spacing:.14em;color:var(--muted)}.service-top span:first-child{font-family:Georgia,serif;font-size:36px;font-weight:400;color:#7892a4;letter-spacing:0;line-height:1.3}.service h3{font-size:23px;margin:22px 0 18px;font-weight:500;letter-spacing:.025em}.service p{font-size:16px;color:var(--muted);line-height:2;margin:0 0 24px}.service-tags{font-size:13px;letter-spacing:.03em;color:#4c6576;padding:0 0 0 14px;border-left:2px solid #a5b7c3;margin-top:auto}.company{background:#fff}.company-wordmark{font-family:Arial,sans-serif;font-size:clamp(28px,3vw,40px);letter-spacing:-.04em;margin:65px 0 0;padding-top:25px;border-top:1px solid var(--line)}.company-wordmark span{display:block;font-family:var(--serif);font-size:16px;letter-spacing:.15em;margin-top:12px}.company-table{margin:0;border-top:1px solid var(--ink)}.company-table>div{display:grid;grid-template-columns:100px minmax(0,1fr);border-bottom:1px solid var(--line);padding:27px 0;gap:24px}.company-table dt{font-size:14px;color:var(--muted)}.company-table dd{margin:0;font-size:16px;overflow-wrap:anywhere;line-height:1.95}.company-table small{font-family:Arial,sans-serif;font-size:13px;display:block;color:var(--muted);margin-top:5px}.company-table a span{margin-left:10px;color:var(--blue)}.contact{background:var(--ink);color:white;display:grid;grid-template-columns:1fr 1.55fr;gap:8%;align-items:center;padding-top:85px;padding-bottom:70px;position:relative}.contact:before{content:"";position:absolute;top:0;left:8%;width:75px;height:3px;background:var(--accent)}.contact .eyebrow{color:var(--accent)}.contact h2{font-family:var(--serif);font-size:32px;font-weight:400;letter-spacing:.08em;margin:15px 0 25px}.contact p{font-size:16px;color:#c8d5df;line-height:2}.contact-action{min-width:0}.email{font-family:Arial,sans-serif;font-size:clamp(18px,2.2vw,31px);display:flex;align-items:center;justify-content:space-between;gap:15px;padding:24px 0;border-bottom:1px solid #6d8292;overflow-wrap:anywhere}.email span{flex:none;font-size:24px}.email:hover{color:#c8ddeb}.contact-note{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;font-size:12px;color:#c3d3e0}.contact-note button{border:0;border-bottom:1px solid #a8bac9;background:none;color:#e6eef4;padding:9px 0;font-size:14px;min-height:44px}.contact-action #copy-status{font-size:13px;min-height:26px;margin:5px 0 0}footer{padding:34px 5%;display:flex;justify-content:space-between;align-items:center;gap:24px}.footer-brand{font-size:25px}footer>span{font-family:Arial,sans-serif;font-size:12px;color:var(--muted)}.back-top{border:1px solid var(--line);width:44px;height:44px;display:grid;place-items:center;flex:none;transition:background .25s}.back-top:hover{background:var(--surface)}
@media(min-width:1600px){.section{padding-left:max(8%,calc((100vw - 1320px)/2));padding-right:max(8%,calc((100vw - 1320px)/2))}.hero{padding-left:max(8%,calc((100vw - 1320px)/2))}}@media(max-width:1100px){.header{padding-left:4%;padding-right:4%}.header nav{gap:22px}.nav-contact{padding:12px 16px}.hero{padding-left:7%;padding-top:76px}.hero-art-caption{right:7%;width:26%}.hero-art-caption>span:first-child{font-size:17px}.section{padding:95px 7%}.about,.company,.contact{gap:6%;grid-template-columns:1fr 1.55fr}.company-table>div{grid-template-columns:75px minmax(0,1fr);gap:16px}.email{font-size:23px}.contact{padding-top:72px;padding-bottom:60px}}@media(max-width:850px){.header nav{gap:15px;font-size:13px}.brand{font-size:26px}.brand svg{width:32px}.nav-contact span{margin-left:12px}.hero-art-caption{width:24%}.hero-art-caption>span:first-child{font-size:15px}.company-table>div{grid-template-columns:1fr;gap:8px}.contact{grid-template-columns:1fr;gap:20px}.email{font-size:28px}.section-English{font-size:44px}}@media(max-width:760px){html{scroll-padding-top:28px}.header{min-height:86px;padding:18px 6%}.brand{font-size:26px;gap:12px}.brand small{font-size:12px;letter-spacing:.1em}.header nav{display:none}.menu{display:flex;flex-direction:column;justify-content:center;gap:7px;width:44px;height:44px;background:none;border:1px solid var(--line);padding:11px;flex:none}.menu span{height:1px;background:var(--ink);width:20px}.mobile-nav{position:absolute;top:86px;left:0;right:0;background:#fff;z-index:4;padding:15px 6% 25px;border-bottom:1px solid var(--line);box-shadow:0 12px 20px #142d4610}.mobile-nav a{display:block;padding:13px 0;font-size:16px}.hero{min-height:710px;padding:58px 8% 108px}.hero:before{inset:20px 4% 65px}.hero .eyebrow{font-size:12px;letter-spacing:.1em;margin-bottom:34px;gap:10px}.hero .eyebrow:before{width:15px}.hero h1{font-size:clamp(58px,14vw,85px);line-height:1.5;letter-spacing:.1em;margin-bottom:25px}.hero-lead{font-size:18px;letter-spacing:.05em}.hero-description{font-size:14px;line-height:2}.hero-lines{width:130%;height:90%;right:-70%;top:8%;opacity:.28}.hero-art-caption{display:none}.hero-bottom{left:8%;right:8%;font-size:12px;letter-spacing:.1em;bottom:24px}.hero-bottom>span:nth-child(2){display:none}.text-link{margin-top:25px}.section{padding:72px 8%}.about,.company,.contact{grid-template-columns:1fr;gap:35px}.section-label h2{font-size:24px;margin-top:10px}.section-English{display:none}.about-body h3{font-size:31px;margin-bottom:25px}.about-body p{font-size:16px;line-height:2.1}.about-body .about-intro{font-size:18px;margin-top:24px}.desktop-break{display:none}.about-sign{margin-top:30px;gap:14px}.about-sign span{width:28px}.section-heading{display:block;margin-bottom:34px}.section-heading>p{font-size:19px;margin-top:26px;line-height:1.9}.service-grid{grid-template-columns:1fr}.service{padding:25px 0 30px}.service h3{font-size:22px;margin-top:18px}.service-top{font-size:12px;letter-spacing:.08em}.service-top span:first-child{font-size:32px}.service p{margin-bottom:22px}.company-wordmark{display:none}.company-table>div{grid-template-columns:76px minmax(0,1fr);gap:16px;padding:23px 0}.company-table dd{font-size:16px}.company-table dt{font-size:14px}.company-table a span{margin-left:4px}.contact{gap:15px}.contact h2{font-size:29px}.email{font-size:clamp(16px,4.3vw,27px);gap:8px}.contact-note{font-size:12px}.contact-note button{font-size:14px}footer{padding:30px 8%;flex-wrap:wrap;gap:25px 16px}.footer-brand{font-size:24px}footer>span{font-size:12px;order:3;flex-basis:100%}.back-top{margin-left:auto}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
